(57)【特許請求の範囲】
【請求項１】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
送信器で予定されたレートでデータフレームを発生させ、
前記予定されたレートで状態ベクトルを増加し、
前記状態ベクトルを暗号化モジュールに供給し、
少なくとも前記状態ベクトルを使用して前記暗号化モジュールからコードブックを発生させ、前記コードブックは前記データフレームの少なくとも１つを暗号化するためにあり、
前記データフレームの送信における遅れを検出し、
前記フレームの１つ以上を落とし、
落とされた前記データフレームの各々について増加することから前記状態ベクトルをディスエイブルし、前記データフレームの１つ以上を落とすことが、
通信チャネル待ち時間を決定し、
前記通信チャネル待ち時間に従って前記データフレームを可変レートで落とし、
前記データフレームを可変レートで落とすことが、
前記通信チャンネル待ち時間が少なくとも１つの予定された閾値以下になるとき前記レートを減少させ、
前記通信チャンネル待ち時間が少なくとも１つの他の予定された閾値を越えるとき前記レートを増加させることを含む方法。
【請求項２】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
送信器において予定のレートでデータフレームを発生させ、
前記予定されたレートで状態ベクトルを増加し、
前記状態ベクトルを暗号化モジュールに供給し、
少なくとも前記状態ベクトルを使用して前記暗号化モジュールからコードブックを発生させ、前記コードブックは前記データフレームの少なくとも１つを暗号化するためにあり、
前記データフレームの送信における遅れを検出し、
前記フレームの１つ以上を落とし、
落とされた前記データフレームの各々について増加することから前記状態ベクトルをディスエイブルし、
前記データフレームを落とすことが、
通信チャネル待ち時間を決定し、
前記通信チャンネル待ち時間が予定された閾値以下になるとき、第１の予定された固定レートで前記データフレームを落とし、
前記通信チャンネル待ち時間が前記予定された閾値を越えるとき、第２の予定された固定レートで前記データフレームを落とすことを含む方法。
【請求項３】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
送信器において予定のレートでデータフレームを発生させ、
前記予定されたレートで状態ベクトルを増加し、
前記状態ベクトルを暗号化モジュールに供給し、
少なくとも前記状態ベクトルを使用して前記暗号化モジュールからコードブックを発生させ、前記コードブックは前記データフレームの少なくとも１つを暗号化するためにあり、
前記データフレームの送信における遅れを検出し、
前記フレームの１つ以上を落とし、
落とされた前記データフレームの各々について増加することから前記状態ベクトルをディスエイブルし、
前記データフレームの１つ以上を落とすことが、
通信チャネル待ち時間を決定し、
前記通信チャンネル待ち時間が予定された閾値を越えるとき、第1のコード化レートに等しいコード化されたレートを有する前記データフレームの各々を落とし、
前記通信チャンネル待ち時間が第２の予定された閾値を越えるとき、前記第１のコード化レートおよび第２のコード化レートに等しいコード化されたレートを有する前記データフレームの各々を落とすことを含む方法。
【請求項４】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
受信器でデータフレームを受信し、
前記データフレームを待ち行列の順番で記憶し、
前記記憶されたデータフレームを順番に解読モジュールへ供給し、
予定されたレートで状態ベクトルを増加し、
前記状態ベクトルを前記解読モジュールに供給し、
少なくとも前記状態ベクトルを使用して前記解読モジュールからコードブックを発生させ、前記コードブックは少なくとも１つの前記データフレームを解読するためにあり、
待ち行列におけるデータフレームが限界を越えることを検出し、
前記待ち行列で前記データフレーム１つ以上を落とし、
落とされた前記１つ以上のデータフレームの各々について前記状態ベクトルを調整し、前記状態ベクトルを調整することが、
落とされたデータフレームの数を決定し、
前記落されたフレームの数に比例して前記状態ベクトルを進め、
前記状態ベクトルを進めることが、前記１つ以上の落とされたフレームの各々について１の値だけ前記状態ベクトルを調整することを含む方法。
【請求項５】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
受信器でデータフレームを受信し、
前記データフレームを待ち行列の順番で記憶し、
前記記憶されたデータフレームを順番に解読モジュールへ供給し、
予定されたレートで状態ベクトルを増加し、
前記状態ベクトルを前記解読モジュールに供給し、
少なくとも前記状態ベクトルを使用して前記解読モジュールからコードブックを発生させ、前記コードブックは少なくとも１つの前記データフレームを解読するためにあり、
待ち行列におけるデータフレームが限界を越えることを検出し、
前記待ち行列で前記データフレーム１つ以上を落とし、
落とされた前記１つ以上のデータフレームの各々について前記状態ベクトルを調整し、前記データフレームの１つ以上を落とすことが、
通信チャネル待ち時間を決定し、
前記通信チャネル待ち時間に従って前記１つ以上のデータフレームを可変レートで落とし、
前記データフレームの１つ以上を可変レートで落とすことが、
前記通信チャンネル待ち時間が少なくとも１つの予定された閾値以下になるとき前記レートを減少させ、
前記通信チャンネル待ち時間が少なくとも１つの他の予定された閾値を越えるとき前記レートを増加させることを含む方法。
【請求項６】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
受信器でデータフレームを受信し、
前記データフレームを待ち行列の順番で記憶し、
前記記憶されたデータフレームを順番に解読モジュールへ供給し、
予定されたレートで状態ベクトルを増加し、
前記状態ベクトルを前記解読モジュールに供給し、
少なくとも前記状態ベクトルを使用して前記解読モジュールからコードブックを発生させ、前記コードブックは少なくとも１つの前記データフレームを解読するためにあり、
待ち行列におけるデータフレームが限界を越えることを検出し、
前記待ち行列で前記データフレーム１つ以上を落とし、
落とされた前記１つ以上のデータフレームの各々について前記状態ベクトルを調整し、前記データフレームの１つ以上を落とすことが、
通信チャネル待ち時間を決定し、
前記通信チャネル待ち時間が予定された閾値以下になるとき、第1の予定された固定レートで前記データフレームを落とし、
前記通信チャンネル待ち時間が前記予定された閾値を越えるとき、第２の予定された固定レートで前記データフレームを落とすことを含む方法。
【請求項７】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
受信器でデータフレームを受信し、
前記データフレームを待ち行列の順番で記憶し、
前記記憶されたデータフレームを順番に解読モジュールへ供給し、
予定されたレートで状態ベクトルを増加し、
前記状態ベクトルを前記解読モジュールに供給し、
少なくとも前記状態ベクトルを使用して前記解読モジュールからコードブックを発生させ、前記コードブックは少なくとも１つの前記データフレームを解読するためにあり、
待ち行列におけるデータフレームが限界を越えることを検出し、
前記待ち行列で前記データフレーム１つ以上を落とし、
落とされた前記１つ以上のデータフレームの各々について前記状態ベクトルを調整し、前記データフレームの１つ以上を落とすことが、
通信チャネル待ち時間を決定し、
前記通信チャンネル待ち時間が予定された閾値を越えるとき、第1のコード化レートに等しいコード化されたレートを有する前記データフレームの各々を落とし、
前記通信チャンネル待ち時間が第２の予定された閾値を越えるとき、前記第１のコード化レートおよび第２のコード化レートに等しいコード化されたレートを有する前記データフレームの１つ以上を落とすことを含む方法。
【請求項８】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成するための方法において、
受信器でデータフレームを受信し、
前記データフレームを待ち行列に記憶し、
前記待ち行列において利用可能であるとき、前記待ち行列から解読モジュールへ前記データフレームの少なくとも１つを供給し、
前記解読モジュールに予定されたレートで増加される状態ベクトルを供給し、
少なくとも前記状態ベクトルを使用して前記解読モジュールからコードブックを発生させ、前記コードブックは少なくとも１つの前記データフレームを解読するためにあり、
データフレームが解読のために前記待ち行列に利用可能でないことを検出し、
データフレームが解読のために前記待ち行列に利用可能でないとき前記状態ベクトルをディスエイブルし、前記状態ベクトルをディスエイブルすることが、
解読のために前記待ち行列に利用可能な前記データフレームが何もないことを決定し、
前記状態ベクトルをディスエイブルし、
前記データフレームの少なくとも１つが解読のために前記待ち行列に利用可能であることを決定し、
前記状態ベクトルをエネーブルし、
前記状態ベクトルを１の値だけ増加することを含む方法。
【請求項９】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成する送信器において、
予定されたレートでデータフレームを発生させる手段と、
前記予定されたレートで増加される状態ベクトル発生させる手段と、
少なくとも前記状態ベクトルから、前記データフレームの少なくとも１つを暗号化するコードブックを発生させるように適用された暗号化モジュールと、
前記データフレームの送信における遅れを検出し、前記データフレームの１つ以上を落し、落された前記データフレームの各々について前記状態ベクトルをディスエイブルするように適用され、前記データフレームが可変レートで落とされるプロセッサとを含み、
前記プロセッサはさらに通信チャネル待ち時間を決定し、
前記通信チャネル待ち時間が少なくとも１つの予定された閾値を越えるとき、前記データフレームが減少されたレートで落とされ、
前記通信チャネル待ち時間が少なくとも１つの他の予定された閾値以下になるとき、前記データフレームが増加されたレートで落とされる送信器。
【請求項１０】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成する送信器において、
予定されたレートでデータフレームを発生させる手段と、
前記予定されたレートで増加される状態ベクトル発生させる手段と、
少なくとも前記状態ベクトルから、前記データフレームの少なくとも１つを暗号化するコードブックを発生させるように適用された暗号化モジュールと、
前記データフレームの送信における遅れを検出し、前記データフレームの１つ以上を落し、落された前記データフレームの各々について前記状態ベクトルをディスエイブルするように適用され、さらに通信チャネル待ち時間を決定し、前記通信チャネル待ち時間が予定された閾値を越えるとき、第1のコード化レートに等しいコード化されたレートを有する前記データフレームの各々を落とすプロセッサとを含み、
前記プロセッサはさらに、前記通信チャネル待ち時間が第２の予定された閾値を越えるとき、第1のコード化レートおよび第２のコード化レートに等しいコード化されたレートを有する前記データフレームの各々を落とす送信器。
【請求項１１】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成する受信器において、
データフレームを受信する手段と、
前記データフレームを記憶するように適用された待ち行列と、
予定されたレートで増加される状態ベクトル発生させる手段と、
少なくとも前記状態ベクトルから、前記データフレームの少なくとも１つを解読するコードブックを発生させるように適用された解読モジュールと、
前記データフレームの解読における遅れを検出し、前記待ち行列における前記データフレームの１つ以上を落とし、落とされた前記データフレームの各々について前記状態ベクトルを調整するように適用されたプロセッサとを含み、
前記プロセッサは落とされたデータフレームの数を決定し、前記落とされたデータフレームの数に比例して前記状態ベクトルを調整することにより、前記状態ベクトルを調整し、
前記状態ベクトルは前記落とされたデータフレームの各々について１の値だけ進められる受信器。
【請求項１２】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成する受信器において、
データフレームを受信する手段と、
前記データフレームを記憶するように適用された待ち行列と、
予定されたレートで増加される状態ベクトル発生させる手段と、
少なくとも前記状態ベクトルから、前記データフレームの少なくとも１つを解読するコードブックを発生させるように適用された解読モジュールと、
前記データフレームの解読における遅れを検出し、前記待ち行列における前記データフレームの１つ以上を落とし、落とされた前記データフレームの各々について前記状態ベクトルを調整するように適用されたプロセッサとを含み、
前記プロセッサはさらに通信チャネル待ち時間を決定し、前記通信チャネル待ち時間に従って可変レートで前記１つ以上のデータフレームを落とし、
前記プロセッサは、前記通信チャネル待ち時間が少なくとも１つの予定された閾値以下になるとき、前記レートを減少し、
前記通信チャネル待ち時間が少なくとも１つの他の予定された閾値を越えるとき、前記レートを増加する受信器。
【請求項１３】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成する受信器において、
データフレームを受信する手段と、
前記データフレームを記憶するように適用された待ち行列と、
予定されたレートで増加される状態ベクトル発生させる手段と、
少なくとも前記状態ベクトルから、前記データフレームの少なくとも１つを解読するコードブックを発生させるように適用された解読モジュールと、
前記データフレームの解読における遅れを検出し、前記待ち行列における前記データフレームの１つ以上を落とし、落とされた前記データフレームの各々について前記状態ベクトルを調整するように適用されたプロセッサとを含み、
前記プロセッサはさらに通信チャネル待ち時間を決定し、
前記通信チャネル待ち時間が予定された閾値以下になるとき、第１の予定された固定レートで前記１つ以上のデータフレームを落とし、
前記通信チャネル待ち時間が前記予定された閾値を越えるとき、第２の予定された固定レートで前記１つ以上のデータフレームを落とす受信器。
【請求項１４】
送信器と受信器がそれぞれ暗号方式の安全能力を有するパケットデータ通信システムにおける暗号-同期を達成する受信器において、
データフレームを受信する手段と、
前記データフレームを記憶するように適用された待ち行列と、
予定されたレートで増加される状態ベクトル発生させる手段と、
少なくとも前記状態ベクトルから、前記データフレームの少なくとも１つを解読するコードブックを発生させるように適用された解読モジュールと、
前記データフレームの解読における遅れを検出し、前記待ち行列における前記データフレームの１つ以上を落とし、落とされた前記データフレームの各々について前記状態ベクトルを調整するように適用されたプロセッサとを含み、
前記プロセッサはさらに通信チャネル待ち時間を決定し、
前記通信チャネル待ち時間が予定された閾値を越えるとき、第１のコード化レートに等しいコード化されたレートを有する前記１つ以上のデータフレームの各々を落とし、
前記通信チャネル待ち時間が第２の予定された閾値を越えるとき、前記第１のコード化レートおよび第２のコード化レートに等しいコード化されたレートを有する前記１つ以上のデータフレームを落とす受信器。
【発明の詳細な説明】
【０００１】
発明の背景
Ｉ．発明の分野
本発明は一般に保護情報のために暗号技術を採用するパケットデータ通信の分野に属し、特にかかる通信システムにおける暗号-同期を達成する方法および装置を提供することに関する。
【０００２】
II．背景
パケットデータ通信の分野はインターネットの人気で広い受諾を得た。最初に、パケットデータ通信は電線により接続された種々の通信構成要素を有して有線で行われた。より最近は、パケットデータの無線伝送を要求する応用が無線電話および無線モデムのような他の無線通信装置の形で現れた。最近、ある伝送が意図しない相手により傍受されないことを確保する技術を採用するこれらの無線通信装置が必要になった。かかる保護技術はしばしば暗号技術を採用し、軍隊、警察のような応用、および他の安全応用に有用である。
【０００３】
無線通信装置において暗号技術を使用する１つの技術は、アナログ信号をディスクリートデータパケットまたはフレームにデジタル化し、各フレームのためにランダム符号を発生し、その中に含まれる情報を暗号化するため各フレームに符号を適用する。この技術により発生されるランダム符合は、その暗号情報がパブリックキー、即ち符号を使用し、かつ私的キーを使用してその情報を解読するよく知られたパブリックキー暗号技術を使用して引出されることができる。
【０００４】
上記暗号技術はＴＣＰまたはＩＰのような多くのデータ伝送プロトコルの特質により、データ通信システムに使用するに特に適する。このようなシステムにおいて、データはディスクリートセグメントとして、または各フレームが一般に情報ビットの予め決定された数を含んでいるデータフレームとして伝送される。代わりに、他のデータフレームは各フレーム内に情報ビットの可変数を含んでいる予め決定された時間持続により定義される。そのようなデータ通信システムは、電子メール、データファイルのような時間-臨界的でない情報、およびインターネットウェブサイト情報を伝送するために伝統的に使用されている。
【０００５】
最近、データ通信システムは人間のスピーチなどのオーディオ情報、およびビデオ情報を含む時間-臨界的な情報も伝送するのに使用されている。そのようなシステムでは、時間-臨界的な情報はデジタル情報に、しばしば上述されたようなデータフレームに変換される。そして、データフレームはＴＣＰおよびＩＰなどの周知のデータ伝送プロトコルを使用して、インターネットなどのコンピュータネットワークの上に伝送される。
【０００６】
データプロトコルを使用する時間-臨界的な情報を伝送する一次的な問題の１つは伝送過程に関連した遅れである。データセグメントが適切に受信されないならば、多くのデータプロトコルが再伝送過程を使用する。再伝送の過程は次に伝送されたデータフレームに遅れ、または待ち時間を導入し、それは時間-臨界的なデータに不利に影響する。例えば、スピーチにおける数１００ミリセカンド以上の遅れは容認できない音声品質をもたらすことができる。
【０００７】
データ通信システムを使用して時間-臨界的な情報を伝送するときの待ち時間の問題を減少させる１つの解決策は、待ち時間が予定された閾値を越えると、送信器か受信器のどちらかでデータフレームを落すことである。送信器では、フレームは、伝送に利用可能なフレームの総数の少部分だけを伝送することにより落される。受信器においては、フレームは受信されたフレームの総数の少部分を無視することにより落される。
【０００８】
データフレームを落すことが待ち時間の問題を減少するが、それは上で説明された暗号方式の技術を採用する通信システムに別の問題を導入する。すなわち、フレームが送信器で落されるならば、各フレームの連続した付番、結果として暗号の過程が中断されるので、受信器におけるその後のフレームの解読は可能でなくなる。フレームが送信器において暗号の過程によって発生されるので、解読の過程は連続して付番されたフレームの流れに依存する。したがって、フレームが送信器で暗号化の前に落されるとき、解読の過程によって受信されたフレームはもはや暗号の過程に同期せず、間違って解読されるフレームをもたらす。
【０００９】
発明の概要
本発明は送信器と受信器の間のパケットデータ通信システムの暗号-同期を達成するための方法および装置である。送信器では、情報はデータフレームにデジタル化されて、次に、ボコーダフレームを発生させるボコーダに提供される。ボコーダフレームはメモリに格納され、その時、伝送の前に各ボコーダフレームを暗号化する暗号化モジュールに提供される。ボコーダフレームは暗号化モジュールによって発生される唯一の符号、即ちコードブックで各フレームを結合することによって暗号化される。コードブックは少なくとも状態ベクトルを使用して発生され、状態ベクトルは予定されたレート、一般にボコーダフレームが発生されるレートの倍数で増加される連続したカウントである。
【００１０】
フレームが送信器で落とされるとき、しばしば伝送待ち時間を減少させるために状態ベクトルは落とされるフレームの数に比例する時間ディスエイブルされる。したがって、フレームが落とされるとき状態ベクトルは増加されない。フレームの所望の数が落とされたとき、状態ベクトルはもう一度エネーブルされ、予定されたレートで増加することを再開する。
【００１１】
フレームドロップの期間中状態ベクトルを中断させる効果は、暗号化モジュールに提供される各フレームに連続した暗号を許容する。受信器の解読の過程が暗号の過程に連動するのを確実にしている間、この技術はフレームの任意の数が暗号化の前に送信器で落されることを許容し、一方受信器では、解読過程が暗号化過程に同期されることを確保する。
【００１２】
受信器においては、フレームは受信され待ち行列に格納される。解読されたボコーダフレームを発生させるようにフレームが解読モジュールに提供される。受信器の中に位置した状態ベクトル発生器は予定されたレートで増加される。各フレームが解読モジュールに提供されるとき、それは現在の状態ベクトルから引出されたコードブックを使用して解読される。
【００１３】
待ち行列の中に格納されたフレームの数がアンダーフロー状態として知られている解読に利用可能などんなフレームもないポイントに減少するならば、消去フレームは直接ボコーダに提供され、状態ベクトル発生器はディスエイブルされ、状態ベクトルが増加することを防ぐ。後にフレームが待ち行列で解読のため利用可能になるとき、状態ベクトル発生器はエネーブルされ、その結果状態ベクトルを増加すること、連続した状態ベクトルを解読モジュールへ提供すること、および暗号化過程と暗号-同期を維持することを許容する。
【００１４】
多くのフレームが与えられた時間に解読に先だって待ち行列に格納されるならば、遅れ、即ち待ち時間が結果として生じる。電話通信中、待ち時間はユーザが送信器に話すときとスピーチが受け手によって聞かれるときとの時間の煩わしい遅れを引き起こす。待ち時間の問題を減少させるために、待ち行列に格納されたフレームのいくつかが解読モジュール、または受信器のいかなる他の要素によっても処理されない。これはフレームドロップとして知られている。
【００１５】
フレームが待ち行列から落とされるとき、状態ベクトルはその後のフレームの暗号-同期が維持されるように調整される。これを達成するために、状態ベクトルは連続して落されたフレームプラス１の数によって調整される。
【００１６】
好ましい実施例の詳細な記述
ここに説明される実施例はIS-95、IS-707、およびIS-99暫定標準のCDMA信号処理技術の使用に従って作動する無線通信システムに関する。本発明はこのような通信システム内で使用するのに特に好都合であるが、本発明がデータパケット、データフレーム、または単にフレームとして別の方法で知られているディスクリートパケットで情報を伝送する、無線および有線通信システムの両方、および衛星ベースの通信システムを含んでいる、種々の他の型の通信システムに採用されてもよいことが理解されるであろう。さらに、記述を通して様々な周知のシステムはブロック形式で示される。これは明快の目的のために行われる。
【００１７】
暗号方式安全技術を採用する無線送信器100の機能的なブロックダイアグラムが図１に示される。声などのオーディオ情報は通常マイクロホンである変換器 102により音響エネルギーから電気エネルギーに変換される。変換器 102は代わりに、光エネルギーを捕らえて光エネルギーを電気信号に変換する、例えばデジタルカメラまたはビデオレコーダのようなビデオ装置を含む。変換器 102によって発生された電気エネルギーはボコーダ104に提供され、それは一般に、オーディオ情報を伝送するのに必要な帯域幅を減少させる。代わりに、変換器の型に適した処理装置が変換器 102として使用されるカメラの場合におけるビデオ処理装置のように、ボコーダ104の適所に使用される。一般的にボコーダ104はオリジナルのオーディオ情報を表している、一定の固定されたレートでデータフレームを発生させる。代わりに、ボコーダ104は可変レートでデータフレームを発生させる。一般に各データフレームはミリセカンドで測定される長さで固定される。データフレームは例示的実施例においてメモリ106に提供され、データフレームは暗号化に先だって簡単に格納され、送信器100の他の機能的な要素によりさらに処理される。例示的実施例では、メモリ106は一度に１つのボコーダフレームだけを格納する。別の実施例では、メモリ106はそれらがボコーダ104によって生成されるときボコーダフレームを格納するために使用されない。むしろフレームは直接暗号化モジュール108に提供される。
【００１８】
ボコーダ104は、それが生成するデータフレームの中に可変データレートを提供することによってさらに機能アップされてもよい。可変レートボコーダのような例は、本発明の譲受人に譲渡され、ここに引用文献として組み込まれた、「VARIABLE RATE VOCODER」と題する米国特許番号5,414,796（'796特許）で見出される。小さいまたは無い情報が利用可能であるときに、可変レートボコーダは減少されたデータレートでデータフレームを生成し、無線通信システムの伝送容量を増加させる。'796特許により記述される可変レートボコーダにおいて、データフレームは通信システムで使用される最高のデータレートの全、１／２、１／４、１／８のデータレートの何れかのデータを含む。
【００１９】
暗号化モジュール108は唯一の符号、即ちコードブックでそれぞれのデータフレームを暗号化するために応答可能である。一般にボコーダ104によってフレームが発生されるのと同じレートで、コードブックは暗号化されるべき各データフレームについて発生される。したがって、一般に１つのコードブックが暗号化されるべき各データフレームについて利用可能である。他の技術は１つのコードブックで２つのデータフレームを暗号化することを許容し、コードブックは１つのデータフレームとして２倍のビットを持っている。
【００２０】
コードブックはいくつかの周知の技術の１つを使用して作成される。それらの中に、データ暗号化規格(DES)、FEAL、および国際データ暗号化アルゴリズム(IDEA)がある。本発明の例示的実施例では、図１に示されるように１つ以上の暗号キーを伴う状態ベクトルを使用して、DESがコードブックを作成するのに使用される。その最も簡単なフォームでは、状態ベクトルは予定されたレートで増加し、一般にデータフレームがボコーダ104で発生されるレートの倍数に等しい係数数列である。状態ベクトルは、ディスクリート電子コンポーネント、または一組のソフトウェア指示と組み合わせてデジタルマイクロプロセッサなどのようなよく知られている技術を使用して、状態ベクトル発生器110により発生される。また、当業者によく知られている他の技術も熟考される。
【００２１】
状態ベクトル発生器110が増加されているときはいつも、暗号化モジュール108は１つのコードブックを生成する。暗号化モジュール108に提供される各データフレームあたり１つの暗号化されたデータフレームを生成するために、生成された各コードブックは、一般にデータフレームがメモリ106に格納されるのでメモリ106に格納された１つのデータフレームとデジタル的に結合される。コードブックはモジュル-２の演算を使用して１つのデータフレームを１つのコードブックに加算するような周知の技術を使用してデータフレームに結合される。別の実施例では、２つのデータフレームが単一のコードブックに加算され、この実施例のコードブックは単一のデータフレームとして２倍のビット数を持っている。
【００２２】
本発明では、ボコーダ104で発生されるすべてのボコーダフレームが受信器に伝送されるわけではない。いくつかのフレームが暗号化モジュール108によって暗号化される前に排除、即ち“ドロップ”される。フレームは待ち時間の影響、即ち送信器と受信器との間の遅れを減少させるために落とされる。誤りなしで受信されたフレームの高い割合を確実にするためデータプロトコルが一般にフレーム再伝送を求めるので、待ち時間はデータプロトコルを使用している情報をリアルタイムまたはリアルタイムに近い状態で伝送するとき問題になる。フレーム再伝送は伝送されるべきフレームの数に支援を引き起こし、それは増加する待ち時間をもたらす。伝送されるべきフレームの総数を減少させることによって、待ち時間は減少または除去される。
【００２３】
図１を参照すると、プロセッサ120は一般に送信器100内の多くの他の処理と同様にフレームドロップ処理を制御する。プロセッサ120は任意のよく知られたマイクロコンピュータ、DSP、またはカスタマ集積ASICなどのデジタル処理装置を含む。フレームはいろいろな方法で落とされるかもしれない。例えば、フレームは単一の固定レート、２つの固定レート、可変レートまたはこれらの技術の何れかの組み合わせで落とされるかもしれない。
【００２４】
フレームドロップの単一、固定レートを使用するとき、データフレームは予定された固定レートでプロセッサ120によって落とされる。例示的実施例では、レートはボコーダ104で発生される１００個のフレームにつき１つのフレームで落とされ、即ち１％のレートである。プロセッサ120はボコーダ104で発生されるフレームの数を計数する。１００番目のフレームが発生されるとき、プロセッサ120は、そのようなメモリが使用されるならばそれをメモリ106に格納しないことによってフレームを落す。メモリ106が使用されていないならば、１００番目のフレームは単に暗号化モジュール108に提供されない。ボコーダ104によって発生された次のフレーム、１０１番目のフレームは各場合にしたがってメモリ106、または直接暗号化モジュール108に提供される。代わりに、他の予定された固定レートが使用されることができるが、テストは、１０パーセント以上のフレームを落すと受信器において劣った音声品質を導くことを示した。
【００２５】
単一の固定レートフレームドロップ案の場合では、送信器と受信器との間にどれくらい多くの、またはどれくらい少ない通信チャネル待ち時間が存在しているかを考慮することなくフレームが落とされる。しかしながら、別の実施例では、プロセッサ120は通信チャネル待ち時間を監視し、通信チャネル待ち時間が予定された閾値を越える場合にだけ、固定レートフレームドロップ技術を実行する。通信チャネル待ち時間は一般に通信チャネル品質を監視することにより決定される。通信チャネル品質は技術でよく知られている方法によって決定して、以下で説明される。通信チャネル待ち時間が予定された閾値より下に低下するならば、プロセッサ120はフレームドロップ処理を停止する。
【００２６】
また、フレームドロップは２つの固定レートアプローチを使用して実行することができる。この方法で、通信チャネル待ち時間によって、フレームは２つの固定レートのどちらか１つで落とされる。第1のレートは、通信チャネル待ち時間が予定された閾値よりも小さいときにフレームを落すのに使用される。通信チャネル待ち時間が予定された閾値を越えるとき、第２の固定レートはフレームを落すのに使用される。再び一般に、通信チャネル待ち時間は通信チャネル品質から得られ、それは順次チャンネル誤り率に依存する。
【００２７】
しばしば、通信チャネル品質、その結果、通信チャネル待ち時間がチャンネル誤り率、即ち与えられた期間に伝送されたフレームの総数によって割られた受信器によって間違って受信されたフレームの数で言い表される。２つの固定レートドロップ方法における典型的な予定された閾値は７％に等しく、これは伝送されたフレームの７パーセント以上が間違って受信されたなら、一般にチャンネル状態の低下により、フレームが第２のレートで落とされることを意味する。第２のレートは一般に第1のレートよりも大きい。チャンネル品質が良いならば、一般に誤り率は予定されたレートよりも小さく、したがってフレームは第1のレートを使用して落とされ、典型的に１から４パーセントの間に等しい。
【００２８】
実際には、第1のフレームドロップレートは１パーセントに等しく、第２のフレームドロップレートは８パーセントに等しいかもしれない。予定された閾値は受信器によって間違って受信されたフレームの割合で言い表される低下されたチャンネル品質を示すレベルに設定される。現在の例では、７パーセントの誤り率が予定された閾値として選ばれる。プロセッサ120は技術でよく知られているいくつかの方法の１つでチャンネル品質を決定することができる。例えば、プロセッサ120は送信器100によって受信されたNAKの数を数えることができる。NAKは“否定的受信通知”を意味する共通の産業用語である。NAKは送信器100からデータを受け取るとき、それが誤りを検出すると、受信器によって送られる。NAKが送信器100により受信されるとき、１つ以上の以前に伝送されたフレームが再伝送され、そのフレームはNAKで確認される。NAKのより大きな数は劣ったチャンネル品質を示し、より多くのフレーム再伝送が劣ったチャンネル状態を克服するために必要である。伝送されたフレームのパワーレベルはプロセッサ120がチャンネル品質を決定するのに使用することができる別の指標である。代わりに、プロセッサ120はメモリ106のような伝送待ち行列に格納されたフレームの数に基づいてチャンネル品質を単に決定することができる。劣ったチャンネル状態のもとでは、フレームバックアップが多数のフレーム再伝送によりメモリ106内に起こり、メモリ106に格納されたフレームの数が増加することを引き起こす。チャンネル状態が良いときに、メモリ106に格納されるフレームの数は比較的少ない。
【００２９】
チャンネル品質が増加するならば、フレームは第1のレートで落とされる。チャンネル品質が減少するならば、フレームは第２のより高いレートで落とされる。
【００３０】
チャンネル品質が劣っているときフレームがより高いレートで落とされる理由は、メモリ106で伝送されるのを待つフレームのバックアップを引き起こして、より多くのフレーム再伝送が劣ったチャンネル状態の間に起こるからである。劣ったチャンネル状態の間に受信器において、受信器バッファは受信された誤りのないフレームの不足により最初にアンダーフローし、次にチャンネル状態が向上するとオーバーフローする。受信バッファがアンダーフローするとき、消去フレームはユーザに音声品質の崩壊を最小にするために音声デコーダに提供される。受信バッファがオーバ−フローするなら、または比較的大きくなるなら、待ち時間は増加される。したがって、通信チャネル品質が低下するようになるとき、メモリ106も受信器バッファも堪え難いレベルの待ち時間を増加させるほど大きくなり過ぎないように、送信器100で増加するレートでフレームを落すことが望ましい。
【００３１】
通信チャネル待ち時間によって、送信器100でフレームを落す別の方法は可変レートでフレームを落すことである。この実施例では、プロセッサ120は、上で説明された技術の１つを使用することで通信チャネルの品質を決定する。フレームが落とされるレートは通信チャネル品質に逆比例している。チャンネル品質がチャンネル誤り率によって決定されるならば、フレームが落とされるレートはチャンネル誤り率に正比例している。
【００３２】
送信器100でフレームを落すもう１つの方法は、データフレームがボコーダ104によってコード化されたレートに応じてフレームを落すことである。この実施例では、ボコーダ104は上で説明されたように可変レートボコーダを含む。ボコーダ104は可変データレート、例示的実施例では４つのレート、即ち全レート、１／２レート、１／４レート、１／８レートでオーディオ情報をデータフレームにコード化する。送信器内に位置したプロセッサ120は上で議論した技術の１つを使用して通信チャネル品質を決定することにより、一般に通信チャネル待ち時間を決定する。通信チャネルが予定された閾値を超えて低下するようになったことをプロセッサ120が決定するならば、ボコーダ104で発生させる最も低いコード化されたレートを有するデータフレームの割合が落される。例示的実施例では、通信チャネルが予定された閾値以上で低下されるようになるならば、１／８フレーム割合が落とされる。通信チャネルが第２の予定された閾値を超えてさらに低下するようになったことをプロセッサ120が決定するならば、ボコーダ104で発生される第２の最も低いコード化レートを有するデータフレームの割合が最も低いコード化レートを持っているフレームに加えて落とされる。例示的実施例では、通信チャネルがボコーダ104で発生されるような第２の予定された閾値以上に低下するようになるならば、１／４レートフレームと１／８レートフレームの両方の割合が落される。同様に、通信チャネルがさらに低下するならば、１／２レートおよび全レートフレームの割合が落される。関連する実施例では、通信チャネルが第２の予定された閾値を超えて低下するようになるならば、第２の最も低いコード化レートのコード化レートを有するデータフレームの割合のみが落とされ、一方最も低いコード化レートに等しいコード化レートを有するデータフレームは落されない。
【００３３】
上のシナリオのいずれかで落とされるフレームの割合は一般に予め決定された固定数であり、各フレームコード化レートについて同じであるか、または異なっているかもしれない。例えば、最も低いレートフレームが落とされるならば、予定された割合は６０％であるかもしれない。第２の最も低いおよび最も低いフレームがともに落とされるなら、予定された割合が６０％に等しいかもしれないか、またはそれはより小さな割合、例えば３０％に等しいかもしれない。
【００３４】
暗号化されたデータフレームが暗号化モジュール108によって発生した後に、それらはメモリ106、または代わりに他の処理要素により必要になるまで第２のメモリ(示されない)に格納される。例えば、データプロトコルが暗号化されたデータフレームを伝送するのに使用されるなら、プロセッサ112をフォーマットすることが、周知のTCPデータプロトコルのような、使用中に特定のデータプロトコルに従ってデータセグメントを構成するためにメモリ106に格納された暗号化されたデータフレームを使用するであろう。さらに代わりに、プロセッサ112をフォーマットすることは、主としてCDMA通信システムで使用される周知のRLPデータプロトコルのような１つ以上の他のデータプロトコルを使用してもよい。
【００３５】
フォーマットされたフレームは次に変調器114に供給される。変調器114は無線通信システムの予定された変調技術を使用してフォーマットされたフレームを変調する。異なった変調技術の例は時分割多元接続(TDMA)、符号分割多元接続(CDMA)、および周波数分割多元接続(FDMA)を含んでいる。
【００３６】
データセグメントが一旦変調されると、それらはトランシーバー116によって上方変換されて伝送される。上方変換信号は受信器に無線送信のためにアンテナ118に供給される。
【００３７】
上で説明されたようにフレームドロップ方法と関連して暗号化方法を使用する１つの問題は、フレームドロップ過程が暗号化モジュール108によって発生される暗号化フレームに不連続を引き起こすことである。不連続は状態ベクトル発生器110により発生される状態ベクトルを、ボコーダフレームがフレームドロップ過程により暗号化される利用可能でない時に増加することをもたらす。これは図２Ａ、２Ｂおよび２Ｃに最も良く示される。
【００３８】
図２Ａは１から６に付番されたボコーダフレームの連続したシリーズと、各ボコーダフレームに対応している状態ベクトル発生器108で発生させた状態ベクトルの値とを示す。例示的実施例では、ボコーダフレームはボコーダ104により２０ミリセカンド毎に１つのフレームの一定のレートで発生される。それぞれのボコーダフレームは暗号化モジュール108によって使用するに先だってメモリ106に簡潔に格納されてもよい。代替の実施例では、ボコーダフレームは直接暗号化モジュール108に供給される。どちらかの場合において、ボコーダフレームはボコーダ104がボコーダフレームを生成する同じレート、例示的実施例では２０ミリセカンド毎に暗号化モジュール108に供給される。状態ベクトル発生器110は予定されたレート、一般にボコーダフレームがボコーダ104で発生されるレートの倍数で増加される。
【００３９】
図２Ａにおいて、ボコーダフレーム１は状態ベクトル１から引出されたコードブックを使用して暗号化モジュール108によってコード化される。次にフレーム２は状態ベクトル２から引出されるコードブックを使用してコード化される。次にフレーム３は状態ベクトル３から引出されるコードブックを使用してコード化され、以下そのように行われる。受信器では、暗号化されたボコーダフレームは、送信器100で暗号化されるフレームに同期される状態ベクトルを使用して解読される。言い換えれば、状態ベクトル１から引出されたコードブックを使用して暗号化されたボコーダフレーム１は、１に等しい状態ベクトルから引出されたコードブックを使用して解読される。ボコーダフレーム２は、２に等しい状態ベクトルから引出されたコードブックを使用して解読され、以下同様に行われる。
【００４０】
図２Ｂはフレームが送信器100で落とされるときの図２Ａの暗号処理の問題を示す。前述のように、１から６のボコーダフレームはボコーダ104により発生されるような数列を示す。最初にボコーダフレーム１が発生され、状態ベクトル１から引出されたコードブックを使用して暗号化モジュール108(メモリ106の使用のあるなしにかかわらず)によりコード化される。次にボコーダフレーム２はボコーダ104で発生され、状態ベクトル２から引出されたコードブックを使用して暗号化される。次にフレーム３がボコーダ104により発生されるが、プロセッサ120は少なくとも１つのフレームが落されるべきであると決定する。したがって、フレーム３は暗号化モジュール108に供給されない。その間に状態ベクトル発生器110は状態ベクトル３を暗号化モジュール108に供給して増加し続ける。状態ベクトル３からもたらされるコードブックが発生されるが、ボコーダフレーム３が落されているので、それは使用されない。次にボコーダフレーム４が発生され、状態ベクトル４から引出されたコードブックを使用して暗号化される。
【００４１】
受信器では、ボコーダフレーム１が受信され、状態ベクトル１から引出されたコードブックを使用して解読される。次にボコーダフレーム２が状態ベクトル２から得られるコードブックを使用することで解読される。ボコーダフレーム３が落とされたので、次に受信されるフレームはボコーダフレーム4である。ボコーダフレーム４が状態ベクトル３から引出されるコードブックを使用して解読され、ボコーダフレーム４が３に等しい状態ベクトルから引出されたコードブックを使用して解読されねばならないので、それは理解できないデータをもたらす。
【００４２】
ボコーダフレームが送信器100で落とされるとき、本発明を使用して、フレームが落とされる期間中状態ベクトルが増加されないので、状態ベクトル発生器110はディスエイブルされる。これは図２Ｃに示される。図２Ｃに示されるように、ボコーダフレーム１から６がボコーダ104で発生される。しかしながら、この例のボコーダフレーム３、４、および５はプロセッサ120によって落される。ボコーダフレーム１は、状態ベクトル１から得られるコードブックを使用してコード化される。ボコーダフレーム２は、状態ベクトル２から引出されるコードブックを使用してコード化される。ボコーダフレーム３、４、および５はプロセッサ120によって落とされる。プロセッサ120は状態ベクトル発生器110へ命令を送り、落された３つのフレームについて状態ベクトルが増加されるのを防止する。十分な数のフレームが落されたとき、プロセッサ120は数列の次のフレーム、この例ではボコーダフレーム６が暗号化モジュール110によって暗号化されることを許容する。プロセッサ120によってまた命令が状態ベクトル発生器110に送られ、それは状態ベクトルを次の値、この例では３の値に増加する。したがって、ボコーダフレーム６は状態ベクトル３から引出されたコードブックを使用してコード化される。
【００４３】
受信器では、ボコーダフレーム１が受信され、１に等しい状態ベクトルから引出されたコードブックを使用して解読される。ボコーダフレーム２は２に等しい状態ベクトルから引出されたコードブックを使用して解読される。ボコーダフレーム３、４、および５が送信器100で落とされたので、次に受信されるべきフレームはボコーダフレーム６である。ボコーダフレーム６は、送信器100でこのフレームをコード化するのに使用された状態ベクトルである、３に等しい状態ベクトルから引出されたコードブックを使用して解読される。見られる通り、この方法は送信器100と受信器の間の暗号-同期を保存する。
【００４４】
図３は送信器100によって送信された情報を受信するために使用された受信器300の機能的なブロックダイアグラムである。図３で上方変換信号は当業者によく知られた技術を使用しているRF受信器302によって受信される。上方変換された信号は下方変換されて次に復調器304に提供され、そこで下方変換された信号はデータフレームに変換される。例示的実施例では、データフレームは各フレームが２０ミリセカンドの持続時間であるRLPフレームを含む。
【００４５】
次にRLPフレームはフォーマットプロセッサ308により使用のために受信バッファ306に記憶される。フォーマットプロセッサ308はオリジナルのデータフレーム、この例ではボコーダフレームを再構成するためにバッファ306からのフレームを使用する。例えばTCPとRLPのような多重データプロトコルが情報を送信するために使用されたなら、フォーマットプロセッサ308はボコーダフレームを発生させるために両方のプロトコルに対応する。フォーマットプロセッサ308で発生されるボコーダフレームは一般に連続した方法で待ち行列312に記憶される。待ち行列312はフレームが解読モジュール314によって使用される前に多重ボコーダフレームを格納することを可能にする。
【００４６】
解読モジュール314は上で議論されたようにデータフレームを暗号化するために使用された技術と同様に、唯一のコードブックで待ち行列312に格納された各データフレームを解読するために応答可能である。一般にそのフレームが送信器100でボコーダ104により発生されたのと同じレートで、一般に１つのコードブックが解読されるべき各データフレームについて発生される。したがって、一般に１つのコードブックが解読されるべき各データフレームのために利用可能である。他の技術は１つのコードブックで２つのボコーダフレームを解読することを許容し、コードブックは１つのボコーダフレームとして２倍のビットを持っている。
【００４７】
コードブックは、上で説明されたようにいくつかの周知の技術の１つを使用して作成される。本発明の例示的実施例では、図３に見られるように、状態ベクトルが１つ以上の解読キーと共にコードブックを発生させるのに使用される。図３の状態ベクトルは、送信器100の状態ベクトルと同様に、送信器100の状態ベクトルと同じ予定のレートで増加している計数数列である。状態ベクトルは、ディスクリート電子コンポーネント、または一組のソフトウェア指示と組み合わせたデジタルマイクロプロセッサなどのよく知られている技術を使用して、状態ベクトル発生器316で発生される。当業者には他の技術がまた考えられる。
【００４８】
解読モジュール314は状態ベクトル発生器316からそれに提供される各状態ベクトルあたり１つのコードブックを生成する。待ち行列312に格納されたボコーダフレームは次々と解読モジュール314に提供され、そこでは、現在の状態ベクトルから引出された唯一のコードブックが解読されたボコーダフレームを生成するため各ボコーダフレームとデジタル的に結合される。コードブックは、モジューロ２の演算を使用して１つのデータフレームを１つのコードブックに加えるような、周知の技術を使用してデータフレームと結合される。別の実施例では、データフレームは単一コードブックと結合され、この実施例のコードブックは単一のボコーダフレームとしてデータビットの数の２倍を有している。
【００４９】
解読されたボコーダフレームが解読モジュール314によって発生された後に、ボコーダ318により必要になるまで、それらは待ち行列312、または別のメモリ素子に格納される。ボコーダ318は、送信器100によって伝送されたオリジナルのデータを正確に再生させるためにボコーダフレームの一定の流れを必要とする。送信器100から送信されたオリジナルの信号のデジタル化されたレプリカを発生するために、ボコーダ318は待ち行列312に格納されたボコーダフレームを使用する。オリジナルオーディオ情報を忠実に再生するために、ボコーダ318は一般に待ち行列312からのボコーダフレームの一定の流れを必要とする。ボコーダ318はデジタル化された出力信号をデジタル−アナログ変換器D/A 320に供給する。D/A 320はボコーダ318からのデジタル化された信号をアナログ信号に変換する。そして、アナログの信号は出力変換器322に送られ、そこでアナログ信号はリスナーが聞くのに適した音響信号に変換される。勿論、代わりに出力変換器322は、スチール画像またはビデオを見るのに適するビデオモニター、あるいは手で適用するに適する任意の他の装置を含むことができる。
【００５０】
一般に、上記処理のコーディネートはプロセッサ324によって扱われる。プロセッサ324は、ディスクリートプロセッサまたはカスタムASICに集積されたプロセッサを含む技術でよく知られている方法の１つで実施されることができる。代わりに、それぞれの上のブロック要素は各ブロックの特定の機能を達成するため個々のプロセッサを持つことができ、そこではプロセッサ324はブロック間の活動を整合するのに使用されるであろう。
【００５１】
以前に言及されたように、ボコーダ318は一般に歪みなしにオリジナルのオーディオ情報を再構成するためにボコーダフレームの一定の流れを必要とする。ボコーダフレームの一定の流れを達成するために、待ち行列312が使用されている。フォーマットプロセッサ308で発生するボコーダフレームは、通信チャネルの品質と可変レートボコーダが可変コード化レートでボコーダフレームを発生している送信器100でしばしば使用されることとにより、一般に一定のレートで生成されない。待ち行列312はボコーダ318へのボコーダフレームの一定の流れを確実にしている間、フォーマットプロセッサ308によりボコーダフレーム発生レートに変化を許容する。待ち行列312の使用の１つの潜在する問題は、例えば電話の会話において、送信器100と受信器300の間でオーディオ情報の伝送中、それが遅れ、即ち待ち時間を引き起すことである。
【００５２】
待ち行列312の１つの目的は、フォーマットプロセッサ308による低フレーム発生の期間中ボコーダフレームをボコーダ318に供給するため十分なボコーダフレームを維持するが(その結果、待ち行列312のアンダーフローを防ぐ)、このような状況で生成された待ち時間増加のためあまりにも多くのフレームを維持しないことである。
【００５３】
アンダーフロー状態では、プロセッサ324は、実際のボコーダフレームよりむしろ1つ以上の“消去”フレームを使用するようにボコーダ318に指示する。消去フレームは当業者によく知られており、それはデータを含まないが、ボコーダ318が崩壊なしに後の情報を処理し続けることを許容するフレームを説明する。アンダーフロー状態において、ボコーダフレームが待ち行列312で使用するに利用可能でない各期間、例示的実施例では２０ミリセカンド毎に１つの消去フレームがボコーダ318によって使用される。
【００５４】
他方では、待ち行列312に格納されたボコーダフレームの数が比較的大きくなると、待ち時間が問題になる。待ち時間は情報が送信器に入れられる時および情報が受信器で使用のため利用可能である時の間の時間遅れとして定義される。受信器300において、待ち行列312に格納されたボコーダフレームの数が増加するとき、音声待ち時間は待ち行列312に格納されたフレームの数に比例して増加する。例えば、待ち行列312に格納されたフレームの数が50に等しいならば、待ち時間は50掛ける20のミリセカンド(例示的実施例において各フレームの長さ)、即ち1秒に等しくなり、それはほとんどのオーディオ通信に容認できないであろう。
【００５５】
待ち時間の問題と戦うために、ボコーダフレームは究極的にボコーダ318で処理されるボコーダフレームの数を減少するために、待ち行列312から取り除かれ、即ちドロップされる。待ち行列312でボコーダフレームを落すことによって、待ち時間の問題は減少する。しかしながら、フレームは最小の量のひずみがオーディオ情報に導入されるように落とされなければならない。
【００５６】
技術で知られている多くの方法の１つにしたがって、フレームは落とされるかもしれない。例えば、フレームは単一の固定されたレート、２つ以上の固定レート、可変レート、またはこれらの方法のどれかの組み合わせで落とされるかもしれない。さらに、可変レートボコーダ104が送信器100で使用されるならば、フレームはフレームがボコーダ104によってコード化されたレートに基づいて落されるかもしれない。
【００５７】
一般に、フレームを落す時の決定は通信チャネル品質により決定されるような通信チャネル待ち時間に基づき、それは順次待ち行列312のサイズから引出されることができる。待ち行列312のサイズが予定された閾値を超えて増加するとき、待ち時間は所望しないレベルに増加する。したがって、待ち行列312のサイズが予定された閾値を越えるとき、プロセッサ324は上で説明された方法の１つを使用して、待ち行列312からフレームを落とし始める。待ち行列312のサイズが予定された閾値を通して減少するとき、フレームドロップはプロセッサ324によって止められる。例えば、待ち行列312のサイズが２つのフレームまで減少するならば、待ち時間はもはや問題でなく、プロセッサ324はフレームドロップの処理を止める。
【００５８】
２つ以上の固定レート案がフレームを落すのに使用されるならば、２つ以上の予定された閾値が各固定レートを使用する時を決定するために使用される。例えば、待ち行列312のサイズが第１の予定された閾値よりも大きく増加するならば、プロセッサ324は１パーセントなどの第1の予定されたレートでフレームを落とし始める。待ち行列312のサイズが大きくなり続け、待ち行列312のサイズが第２の予定されたサイズを超えて増加するならば、プロセッサ324は第２の予定されたレートでフレームを落とし始める。待ち行列312のサイズが第２の閾値以下まで減少するとき、プロセッサ324は第２の予定されたレートでフレームを落すことを止め、第1の予定されたレートでフレームをよりゆっくり落とし始める。待ち行列312がさらに第１の予定された閾値またはサイズを通して減少するとき、プロセッサ324は待ち行列312のサイズが適切なレベルに増加することができるように、完全にフレームドロップを止める。
【００５９】
可変フレームドロップ案が使用されるならば、プロセッサ324は連続または連続に近い基準で待ち行列312のサイズを決定し、従ってフレームドロップのレートを調整する。待ち行列312のサイズが増加するとき、フレームが落ちるレートは同様に増加する。待ち行列312のサイズが減少するとき、フレームが落されるレートは減少する。再び、待ち行列312のサイズが予定された閾値以下に下がるならば、プロセッサ324はフレームドロップ処理を完全に止める。
【００６０】
また、ボコーダ104が可変レートボコーダであるならば、フレーム待ち行列312に格納されたフレームの数とフレームがボコーダ104によってコード化されたレートにしたがって落されるかもしれない。待ち行列312のサイズが第1の予定された閾値、またはサイズを越えるならば、最も低いコード化されたレートでコード化レートを有するボコーダフレームが落される。待ち行列312のサイズが第２の予定された閾値を越えるならば、第２の最も低いコード化レートと最も低いコード化レートでコード化レートを有するボコーダフレームが落される。多分、待ち行列312に格納されたフレームの数が第３の予定された閾値を上回るならば、第３の最も低いコード化レートでコード化されたフレームプラス第２の最も低いおよび最も低いコード化レートフレームが落されることができる。再び、待ち行列312に格納されたフレームの数が予定された閾値を通して減少するとき、プロセッサ324は各閾値が通過されるときのコード化されたレートに応じてフレームを落す。
【００６１】
上で説明されたように、フレームドロップは受信器300、または送信器100で起こることができる。しかしながら、別の実施例において、フレームドロップは送信器100および受信器300の両方で起こることができる。上述されたこれらのフレームドロップの技術の任意の組み合わせがこのような場合に使用することができる。
【００６２】
受信器300では、アンダーフローまたはフレームドロップの期間中、送信器100と受信器300の間の暗号-同期は崩壊させられることができる。崩壊は、第２の状態ベクトルから引出されるコードブックによって解読される第1の状態ベクトルから引出されるコードブックでコード化されるボコーダフレームによって引き起こされる。これはボコーダフレームが間違って解読されることをもたらす。
【００６３】
本発明はアンダーフロー状態中増加から状態ベクトルをディスエイブルし、フレームドロップ状態中状態ベクトルを進める。アンダーフロー状態において、消去フレームがボコーダ318に提供されるので、プロセッサ324は増加から状態ベクトル発生器316をディスエイブルにする。フレームが待ち行列312で再び解読に利用可能になるとき、状態ベクトル発生器316はエネーブルにされる。
【００６４】
図４Ａはこのポイントを示す。図４Ａに示されるように、時間の経過は時間期間T1、T2、T3のように表わされ、T1時間において最初に発生する。それぞれの時間の期間はボコーダフレームが送信器100のボコーダ104で発生されるレートと等しく、例示的実施例では２０ミリセカンドである。T1では、フレームは解読モジュール314による解読のため待ち行列312で利用可能である。
【００６５】
状態ベクトル発生器316からの状態ベクトルは２０５に等しく、それを解読するため待ち行列312でフレームに適用される。T2では、状態ベクトルは増加される。別のフレームが待ち行列312における解読のため利用可能であるように起り、そこで２０６の状態ベクトルがそれを解読するためにフレームに適用される。T3では、どんなフレームも待ち行列312における解読のために利用可能でない。したがって、プロセッサ324は増加から状態ベクトル発生器316をディスエイブルにし、結果として状態ベクトル発生器が２０６の値のまま残る。T4で再び、どんなフレームも待ち行列312で解読のために利用可能でないので、状態ベクトル発生器316は状態ベクトルを増加することからディスエイブルされたまま残る。T5では、フレームが待ち行列312で利用可能になるので、ベクトル発生器316がエネーブルにされて、次の値に増加することが許され、それは２０７である。待ち行列312におけるフレームは、次に解読モジュール314に提供されて、２０７の値を有する状態ベクトルから引出されたコードブックを使用して解読される。T6では、どんなフレームも待ち行列312における解読のために利用可能でないので、プロセッサ324は増加から状態ベクトル発生器316をディスエイブルにし、２０７の状態ベクトル値をもたらす。
【００６６】
フレームドロップ状態の間、プロセッサ324は解読モジュール314による解読に先だって待ち行列312からフレームを落す。落とされる各フレームについて、プロセッサ324は落とされたフレームを補うために状態ベクトルのカウントを進めなければならない。
【００６７】
図４Ｂおよび４Ｃはこの点を示す。図４Ｂに示されるように、フレーム１で始まってフレーム７を越えて続くフレームがフォーマットプロセッサ308から利用可能になるとき、ボコーダフレームは待ち行列312に格納される。フレームはボコーダフレームがボコーダ104によって発生されるレートによって定義される予め決められたレートで解読モジュール314に提供される。図４Ｃは状態ベクトル発生器316がフレームドロップの間どのように影響を及ぼすかを示す。時間T1のときに、状態ベクトル発生器は解読モジュール314に２０５の値を有する状態ベクトルを提供し、そこでコードブックがフレーム１を解読するため発生される。時間T2のときに、状態ベクトルは２０６まで増加され、それはフレーム２を解読するためのコードブック発生に使用するため解読モジュール314に提供される。時間T3のときに、プロセッサ324はフレーム３とフレーム４を落す。代りの実施例では、プロセッサ324は、待ち行列312に格納されたどのフレームが落とされるかに先立って選択する。どちらの場合でも、時間T3のとき、プロセッサ324は次の落されないフレームを解読モジュール314に提供し、この場合それはフレーム５である。プロセッサ324はまた、落とされたフレームの数に基づいて状態ベクトルを発生させるため状態ベクトル発生器316に指示する。この場合、２つのフレームが落とされ、したがってプロセッサ324は２０９に等しい状態ベクトルを発生するように状態ベクトル発生器316に指示し、それは状態ベクトルが通常なら（２０７）である値に２つの落されたフレームを補償するためプラス２に等しい。
【００６８】
時間T4のときにフレーム６が解読に利用可能であり、したがってそれは解読モジュール314に提供され、その状態ベクトルは１だけ増加され、この場合２１０の値である。時間T5のときに、フレーム７はプロセッサ324によって落とされ、フレーム８は解読に利用可能である。したがって、時間T5のときに、プロセッサ324は状態ベクトルを２だけ増加して２１２にするよう状態ベクトル発生器に指示し(正常な増加のための１と落とされた１つのフレームを補償するための１)、フレーム8を解読モジュール314に提供する。
【００６９】
アンダーフローの場合およびフレームドロップの場合の何れにおいても、プロセッサ324は状態ベクトルがフレームを暗号化した状態ベクトルに同期したままで残るように状態ベクトル発生器316が状態ベクトルを調整するよう指示する。
【００７０】
図５は送信器100で使用される本発明の方法を示すフローチャートである。ステップ500では、データフレームはボコーダ104から一般に一定のレートで発生される。代りの実施例では、データフレームはボコーダ104から発生されないが、ビデオカメラ、コンピュータ、またはデジタルカメラなどの任意の他のデータ生成装置から発生される。例示的実施例では、フレームは２０ミリセカンド毎に１つのフレームのレートで発生する。
【００７１】
ステップ502では、ボコーダ104からのフレームは一時記憶装置としてのメモリ106に格納される。例示的実施例では、１つのフレームだけがいかなる１つの時間にメモリ106に格納される。しかしながら他の実施例では、交互の数のフレームがメモリ106に格納されることができる。まだ別の実施例において、フレームはメモリ106の必要性なしに直接ボコーダ104から暗号化モジュール108へ提供される。
【００７２】
ステップ504では、プロセッサ120は伝送待ち時間などの１つ以上の評価基準に基づいてフレームを落すかどうか決める。プロセッサ120がフレームを落すべきであると決定するならば、プロセッサ120はステップ506で状態ベクトル発生器110をディスエイブルにして、その結果状態ベクトルが増加されるのを防ぐ。ステップ508では、プロセッサ120は現在暗号化モジュール108によって処理される準備ができているフレームを落す。例示的実施例では、プロセッサ120はメモリ106に記憶された現在のボコーダフレームを暗号化モジュール108へ提供しない。
【００７３】
ステップ510では、プロセッサ120は、次のフレームが連続して落とされるべきであるかどうか決定する。そうだとすれば、処理はステップ508に続いて戻り、そこでは、メモリ106に格納された次のフレームが落とされて、状態ベクトル発生器110はディスエイブルにされ続ける。次のフレームが落とされるべきでないならば、処理はステップ510に続く。
【００７４】
ステップ504に戻って、プロセッサ120は現在のフレームが落とされるべきでないことを決定するならば、処理はステップ510に続き、そこでは、状態ベクトル発生器110はエネーブルにされ(それが前のステップでディスエイブルされていたなら)、それにより状態ベクトルを増加する。
【００７５】
ステップ512では、メモリ106に格納される現在のフレームが暗号化モジュール108に提供され、状態ベクトルの現在の値から引出されたコードブックを使用して暗号化される。この処理の結果は、たとえ１つ以上のフレームがプロセッサ120によって暗号化の前に落されても、連続した状態ベクトルを使用してフレームが暗号化されることである。
【００７６】
図６はアンダーフロー状態の間に受信器300で使用される本発明の方法を示すフローチャートである。ステップ600において、プロセッサ324はどんなフレームが待ち行列312における解読に利用可能であるかどうか決定する。少なくとも１つのフレームが解読に利用可能であるならば、状態ベクトルがステップ602で増加される。次に、ステップ604において、少なくとも１つのフレームが解読モジュール314に提供され、それは状態ベクトル発生器316から得られる状態ベクトルの現在の値から引出されたコードブックを使用することで解読される。適切に解読されるために、一般にフレームは、送信器100でフレームを暗号化するのに使用した同じ状態ベクトルに合致した状態ベクトルから引出されたコードブックによって解読されなければならない。フレームが解読された後に、処理はステップ600に戻り、プロセッサ324は別のフレームが解読に利用可能であるかどうか決定する。
【００７７】
どんなフレームもステップ600で解読に利用可能でないならば、処理はステップ606に続く、そこでプロセッサ324は状態ベクトルの値をその現在の状態に凍結して、状態ベクトル発生器316をディスエイブルにする。次にプロセッサ324は処理がとぎれないように消去フレームをボコーダ318に提供する。処理はステップ600に戻って続き、プロセッサ324はフレームが解読に利用可能であるかどうか再び決定する。利用可能なフレームがないなら、プロセッサ324は別の消去フレームをボコーダ318に提供する。状態ベクトル発生器316が以前にすでにディスエイブルされたので、ステップ606はこの状況を繰り返されない。
【００７８】
上記の処理は、それらが不規則な間隔で解読モジュール314に提供されてもフレームが適切に解読されることを確実にする。
【００７９】
図７はフレームドロップ状態の間に受信器300で使用される本発明の方法を詳しく述べるフローチャートである。以前に言及したように、任意の与えられた時間に待ち行列312に格納されたフレームの数によってしばしば判断される待ち時間が過度になるとき、フレームドロップが受信器300で起こる。処理はステップ700で始まり、そこで待ち行列312に格納されたフレームは解読モジュール314に提供される。ステップ702では、プロセッサ324は現在のフレームの前に落とされた連続したフレームの数を決定する。落とされた前の連続したフレームがないならば、処理はステップ704に続き、そこで状態ベクトルは予め決められた量、例示的実施例において１だけ増加される。
【００８０】
ステップ702に戻って、前のフレームが落とされたならば、処理はステップ706に続く。通常、フレームが待ち行列312に格納されるとき、フレームは待ち行列312から解読モジュール314へ連続して提供される。しかしながら、１つ以上のフレームが落とされる必要があるとプロセッサ324が決定するとき、落とされる１つ以上のフレームは解読モジュール314に提供されない。むしろ、落されたフレームの後の待ち行列312における次のフレームが解読モジュール314に提供される。ステップ706では、プロセッサ324はいかに多くの連続したフレームが現在のフレームの前に落とされたかを決定する。状態ベクトルが落されたフレームの数と関連して比例している量を増加される。例えば、２つのフレームが現在のフレームの前に落とされたならば、状態ベクトルは３だけ増加され、その１つは正常な増加であり、２つは落とされた２つのフレームを補うためである。この処理は１つ以上のフレームが解読の前に落とされてもフレームが適切に解読されることを確実にする。
【００８１】
ステップ708では、現在のフレームは状態ベクトルの現在の値から引出されるコードブックを使用して解読される。
【００８２】
この処理は１つ以上のフレームが解読の前に落とされてもフレームが適切に解読されることを確実にする。
【００８３】
好ましい実施例の前の記述は、技術に熟練したどんな人も本発明を作りまたは使用することを可能にするために提供される。これらの実施例に対する様々な変更は容易に技術に熟練した者に明らかであり、ここに定義される一般的な原則は発明の才能を使用することなく他の実施例に適用されるかもしれない。したがって、本発明はここに示された実施例に限定されることを意図せず、ここに開示された原則と新規な特徴を有する最も広い範囲と一致されるべきである。
【図面の簡単な説明】
【図１】  本発明で使用される暗号方式安全技術を採用している無線送信器の機能的なブロックダイアグラムを示す。
【図２Ａ】  図１の送信器で使用されるボコーダフレームと状態ベクトルとの関係を示す。
【図２Ｂ】  図１の送信器で使用されるボコーダフレームと状態ベクトルとの関係を示す。
【図２Ｃ】  図１の送信器で使用されるボコーダフレームと状態ベクトルとの関係を示す。
【図３】  本発明で使用される暗号方式安全技術を採用している無線送信器の機能的なブロックダイアグラムを示す。
【図４Ａ】  図３の受信機で使用されるボコーダフレームと状態ベクトルとの関係を示す。
【図４Ｂ】  図３の受信機で使用されるボコーダフレームと状態ベクトルとの関係を示す。
【図４Ｃ】  図３の受信機で使用されるボコーダフレームと状態ベクトルとの関係を示す。
【図５】  図１の送信器で使用される本発明の方法を示すフローチャートである。
【図６】  アンダーフロー状態中、図３の受信器で使用される本発明の方法を示すフローチャートである。
【図７】  フレームドロップ状態中、図３の受信器で使用される本発明の方法を示すフローチャートである。
【符号の説明】
100…送信器  300…受信器
【図１】
0004694079.tif 000002
【図２Ａ】
0004694079.tif 000003
【図２Ｂ】
0004694079.tif 000004
【図２Ｃ】
0004694079.tif 000005
【図３】
0004694079.tif 000006
【図４Ａ】
0004694079.tif 000007
【図４Ｂ】
0004694079.tif 000008
【図４Ｃ】
0004694079.tif 000009
【図５】
0004694079.tif 000010
【図６】
0004694079.tif 000011
【図７】
0004694079.tif 000012