(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
過去20年間で、マイクロプロセッサの速度は数桁増加し、デジタル信号プロセッサ(DSP)が広く普及するようになった。アナログ通信からデジタル通信へ移行が実現可能になるとともに魅力的なものとなった。デジタル通信には、帯域幅をより効率的に利用することができるという大きな長所があり、エラー訂正技術の使用が可能である。このようにデジタル技術を用いて、所定の割当周波数幅によってより多くの情報を送り、より確実に情報を送ることができる。デジタル通信は、無線リンク(無線)または物理ネットワーク媒体(例えば、光ファイバー、銅線ネットワーク)を使用することができる。
【0003】
デジタル通信は、例えば、スピーチ、オーディオ、画像、ビデオ、またはテレメトリ等の異なるタイプの通信に用いることができる。デジタル通信システムは、送信装置と受信装置とを有する。双方向通信が可能なシステムでは、各々の装置には送信回路および受信回路の両方が備わっている。デジタル送信装置またはデジタル受信装置には、複数の段階的なプロセスがあり、これらのプロセスを通して信号および結果として生ずるデータが、該信号が入力(例えば、マイクロフォン、カメラ、センサ)で受信される段階とデジタル化された信号が搬送波の変調に用いられて送信される段階との間で受け渡しされる。(1)信号が入力で受信されてデジタル化された後、(2)何らかの初期雑音フィルタ処理が施されてもよく、その後に(3)ソース符号化、そして(3)最後にチャンネル符号化が施されてもよい。受信装置では、チャンネル復号化、ソース・リカバリ、そしてアナログへの変換という逆の順番でプロセスが稼働する。本発明は、後で説明されるように、ソース/符号化およびソース/リカバリ段階の両方にあてはまると考えられる。
【0004】
ソース符号化(および対応のチャネル復号化)の主な目的は、知覚品質を可能な限り維持しながらビット・レートを少なくすることである。異なる種類の媒体に対しては、異なる種類の規格が開発されている。例えば、IS−127規格がオーディオに適用される一方で、JPEG規格は静止画像に適用される。現実的には、ソース・エンコーダは、DSPレジスタ長またはDSPレジスタ長の偶数倍(例えば、128ビット)に対応するベクトル長を使用して、しばしば設計される。目下、アプリケーションごとに、割当帯域幅に対する若干の制限がある。この制限に基づいて、ソース・エンコーダ・デコーダの設計者は、符号化されている媒体の各部分のすべての自由度を鑑みて、一定の数の考え得る符号を求める。例えば、スピーチ符号化の場合、確立された一定のオーディオ・フレーム長(例えば、20ミリ秒、その間に160個のアナログ・デジタル・サンプルが取れる)があってもよい。これらのサンプルから、信号の複数の一定の態様が、1つのオーディオ・フレームについてそれらの態様を表すベクトルに転換される。このベクトルは、各々のオーディオ・フレームにおける一定の数の許容オーディオ・パルスと、該パルスに割り当てられる一定の数の全振幅量子とを含むように設計される。設計者によってなされる選択は、割当バンド幅の範囲内に留めながら、知覚品質を最大にすることを意図している。パルス・ベクトルが離散して量子化することから、サンプルが転換され得る一意的なベクトル値の合計数を挙げることができる。各フレームのベクトルに対する一意的な可能性の合計数は割当バンド幅に密接に関連している。なぜなら、それは、フレームの間中、オーディオに最も対応する1つの一意的なフレームを同定するのに十分な情報を、オーディオ・フレームの時間間隔の間、チャンネルを介して送ることが可能であるに違いないからである。
【0005】
いくつかのシステム、例えば、3rd Generation Partnership Project 2によって発表された非特許文献1やPengらに発行された特許文献1により説明されているシステムでは、チャンネル符号化の準備ができている符号語へのベクトルの符号化は、複合機能から決定される値を用いて、符号語を形成するベクトル内のパルスの符号化パルス・オフセットを求める。これらの方法は、Mittalらの特許文献2にFactorial Pulse Coding (FPC)として記載されている複合符号化の一種である。FPCは、合計Mビットを用いて、ベクトルxiを符号化し得る技術として説明されているが、これは、
【0006】
【数1】
において、ベクトルx
iの値すべてが、−m≦x
i≦m(ここで、mは一意の振幅パルスの総数、およびnはベクトル長である)となるように積分された値であると考えた場合である。複合の理論上最小数を記述する以下の式が有効であるように、合計Mビットを用いて効率的にN個の組み合わせを符号化する。
【0007】
【数2】
この式に関してF(n,d)は、以下の式によって与えられるn個の位置上のゼロ以外のベクトル要素d個の複合の数である。
【0008】
【数3】
そして、D(m,d)は、以下の式によって与えられる単位パルス総数mが与えられるd個のゼロ以外のベクトル要素の複合の数である。
【0009】
【数4】
そして、2dは、d個のゼロ以外のベクトル要素の極性(サイン)を説明するのに必要とされる複合を表す。なお、min(m,n)は、単位大きさのパルスの数mがベクトル長nを超える場合を考慮に入れている。ベクトルを符号化または復号化するための方法および装置は、先行技術において詳細に述べられている。さらにまた、この符号化方法の実用的な実装は、ベクトル長n=54および単位振幅パルスの数m=7によってM=35ビット符号語が作られる3GPP2規格C.S0014−Bに記載されている。
【発明を実施するための形態】
【0016】
当業者は、図中の要素が平易かつ明確さを目的として図示されており、正寸である必要はないことを容易に理解するであろう。例えば、本発明の実施形態の理解を容易にするために、図中の要素の一部の寸法を他の要素に比べて誇張している場合がある。
【0017】
本発明は多くの異なる形態で実施可能であるが、本開示が実施形態の一例として考えられ、図示および説明される特定の実施形態に本発明が限定されることを意図していないということを理解した上で、具体的な実施形態を図示し、本明細書で詳細に説明する。以下の説明において、同様の参照符号は、図面のいくつかの図において、同一、類似、または対応する部分を説明するために用いられている。
【0018】
本明細書では、第1および第2や上下等の関係語を、1つの実体または作用を他の実体または作用と区別するためのみに使用する場合があるが、そのような実体間または作用間でなんらかの実際の関係または順番を要求または意味することを必要としない。用語「備える」またはその用語の他のバリエーションは、列挙される複数の要素を含むプロセス、方法、物、または装置がそれらの要素のみを含むものではなく、はっきりと列挙されていない、またはそのようなプロセス、方法、物、もしくは装置にとって固有のものではない他の要素を含んでもよいように、非排他的包含を範囲とすることを意図している。「〜を備える」によって先行される要素は、その要素を含むプロセス、方法、物、または装置での追加の同一要素の存在を、より多くの制限を伴うことなく、排除するものではない。
【0019】
「一実施形態」、「特定の実施形態」、「実施形態」あるいは類似の用語は、実施形態に関する特定の機能、構造、または特徴が本発明の少なくとも1つの実施形態に含まれることを意味している。したがって、そのような句の、または、この明細書全体にわたる様々な場所での出現は、必ずしも全てが同一の実施形態に対して言及しているわけではない。さらに、特定の機能、構造、または特性は、制限されることなく任意の適切な方法で、1つ以上の実施形態で組み合わされてもよい。
【0020】
本明細書で使用される用語「または」は、全部含めて、または1つまたは任意の複合として、解釈されるものとする。したがって、「A、B、またはC」は、「A」、「B」、「C」、「AおよびB」、「AおよびC」、「BおよびC」、「A、B、およびC」のいずれかを意味する。この定義の例外は、要素、機能、ステップ、または作用の複合が何らかの方法で、本質的に相互に排他的である場合のみ、生じるものとする。
【0021】
信号に関連する作用(すなわち、単語「信号」を使用または使用せずに説明される直列電圧値または並列電圧値等の電気的値)がこの明細書で言及される場合がある。これらの作用は、「結合」、「受信」、「送信」、「使用」、「転送」、「生成」、「返信」、「伝達」等の様々の用語で種々説明される。これらの作用は、信号が作用を及ぼす、または作用が2つの実体または関数の間の信号に対して働く形態でしばしば説明される。例えば、「信号Xは関数Aから関数Bまで結合されている」、または「実体Aは、信号Xを関数Bへ転送する」などである。これらの場合、実体または関数の一方または両方かは、しばしば明示的に示されていない。例えば、「信号Xは実体Aから返信される」などである。これらの場合、実体および関数の一方であるかまたは両方であるかは、しばしば文脈によって明白に示唆されている。作用は、2つの実体または関数に加えて一実体であるメモリー内、または該実体および関数のどちらか一方の一部であるメモリー内における信号の格納および検索を含んでもよく、そしてメモリーの使用は上記した作用での遅れを加えてもよいことはいうまでもない(そのような遅れは、記述されている実施形態に適切な持続時間を有し得る)。したがって、2つの実体および関数の間に生ずる信号についての作用は、作用の一部として、メモリーに格納されることを意味することができる。このことは、実体および関数が同一の装置に組み込まれている場合に特にあてはまる。いくつかのインスタンスでは、作用と関係のある実体および関数のうちの1つは、メモリーであることが明示的に述べられる場合もあり、あるいはメモリーであることが示唆されている場合もある。結果として、上記の作用は、多くのインスタンスにおいて、信号をメモリーにまたはメモリーから「格納」または「取得」するという意味として、あるいは、最初の作用として信号をメモリーにまたはメモリーから「格納」または「取得」することを含むものとして解釈されてもよい。このことに含まれる単なる1つの例は、「信号を送信すること」であり、いくつかの実施形態では「信号を格納する」という意味で解釈される場合があり、この信号は明示的に指定されていないかもしれない実体または関数によって、後になって受信される。
【0022】
本明細書中で説明される実施形態は、オーディオ信号を符号化および復号化にすることに関係する。信号は、スピーチ、音楽等の他のオーディオ、ビデオ、画像、テレメトリ、または、デジタル情報に変換されて有線もしくは無線により通信される他の信号である。本明細書中で説明される実施形態は、扱いやすいレベルに計算複雑さとメモリー要件を維持する目的で、情報帯域幅の削減と関係がある。
【0023】
ここで、同様の符号は同様の構成要素を示している図面を見てみると、
図1は、特定の実施形態による無線電子通信装置100のブロック図である。いくつかの実施形態によれば、無線電子通信装置100は、無線システム199、ヒューマン・インターフェース・システム120および無線周波数(RF)アンテナ108を含む。符号化の操作を無線電子通信装置の例を用いて説明するが、同じ符号化が複数の有線の電子通信装置(例えば、無線信号を送受信する固定ネットワーク基地局、または、オーディオ信号を送受信する固定ネットワーク・モデム)で実行されてもよいことは、いうまでもない。
【0024】
ヒューマン・インターフェース・システム120は、処理システム、該処理システムをサポートする電子構成要素(周辺I/O回路および電力制御回線等)、およびユーザに対するインタフェースとなる電子構成要素(マイクロホン102、ディスプレイ/タッチ・キーボード104、およびスピーカ106等)を含むシステムである。処理システムは、中央処理装置(CPU)およびメモリーを含む。CPUは、メモリーに格納されているソフトウェア命令を処理するもので、このような命令は、表示/キーボード104に情報を提示すること(リスト、メニュー、グラフィックス等)、人間による入力をディスプレイ/キーボード104のタッチ面で検出すること等、主に移動通信装置100のヒューマン・インターフェースの態様に主に関する。これらの関数は、一組のヒューマン・インターフェース・アプリケーション(HIA)130として示される。HIA130は、アナログ/デジタル(1/D)コンバータ125を介してマイクロホン102からスピーチオーディオを受け取り、次にこのスピーチをオーディオ認識し、スピーチによってなされた命令に対して応答することも可能である。HIA130は、デジタル/アナログ変換器(D/A)135によって、スピーカ106に着信音のような音を送ることも可能である。ヒューマン・インターフェース・システム120は、触覚装置およびカメラ等のヒューマン・インターフェース装置(
図1では不図示)を含んでもよい。
【0025】
無線システム199は、処理システム、該処理システムをサポートする電子構成要素(周辺I/O回路および電力制御回線等)、およびアンテナに対するインタフェースとなる電子構成要素(RF増幅器およびミキサ等)を含むシステムである。処理システムは、中央処理装置(CPU)およびメモリーを含む。CPUは、メモリーに格納されているソフトウェア命令を処理するもので、該命令は、データ・パケットに符号化されたデジタル化信号を送信すること(送信機システム170として示される)やデジタル化信号に復号化されるデータ・パケットを受信すること(受信機システム140として示される)等、主に移動通信装置100の無線インタフェースの態様に主に関する。しかし、アンテナ108と受信機システム140と送信機システム170(明確にでなく、
図1に示される)の特定の無線周波数インタフェース部分を除けば、無線電子通信装置100は、多くの有線の通信装置(例えばケーブル・ノードまたはモデム)も表し得る。以下に続く実施形態は、個人通信装置である。
【0026】
受信機システム140にはアンテナ108が結合されている。アンテナ108は、デジタル的に符号化された信号があるチャネルを含む場合もあるラジオ周波数(RF)信号を遮断する。遮断された信号は、受信機システム140に結合する。この受信機システム140では、該信号が復号化され、これらの実施形態の回復されたデジタル信号がヒューマン・インターフェース・システム120に結合される。このヒューマン・インターフェース・システム120は該信号をアナログ信号に変換してスピーカを駆動させる。他の実施形態では、回復されたデジタル信号を、ヒューマン・インターフェース・システム120のディスプレイで画像またはビデオを発表するのに用いることが可能である。送信機システム170は、ヒューマン・インターフェース・システム120からデジタル化された信号126を受け入れる。この信号126は、例えば、デジタル化されたスピーチ信号、デジタル化された音楽信号、デジタル化された画像信号、またはデジタル化されたビデオ信号であってもよく、受信機システム140から結合されたり、無線電子通信装置100に格納されたり、または該電子通信装置100に結合している電子装置(不図示)から供給されるものであってもよい。送信機システム170は、デジタル化信号126を分析して符号化し、アンテナ108によってRFチャンネルに送信されるデジタル・パケットに送信する。
【0027】
送信機システム170は、いくつかの実施形態にもとづきデジタル化された信号126がスピーチ信号である場合、平均振幅、平均ピッチ、次のフレーム態様の予測、スペクトル構成要素等の態様に対して20ミリ秒フレームをベースとして、その信号を分析する信号分析機能175を含む。信号の特定の態様は、パルス・ベクトルである信号ベースの値への変換に良好な候補として、符号化システム設計の過程で選択されてもよい。いくつかの実施形態では、こうした態様が3GPP2 C.S0014−Bで説明されている。符号送信機システム170はさらに信号値ジェネレータ178を含む。この信号値ジェネレータ178は、いくつかの符号化パラダイムを含むことが可能である。これらの符号化パラダイムは、次のものを含むがそれらには限定されない、Pengらが説明しているCode−Excited Linear Prediction(CELP)スピーチ符号化や、Discrete Fourier Transform(DFT)、Discrete Cosine Transform(DCT)、およびModified Discrete Cosine Transform(MDCT)に基づく方法を含むオーディオ、画像およびビデオのためのトランスフォーム・ドメイン符号化や、ウェーブレット基盤の変換符号化や、直接時間領域パルス符号変調(PCM)や、差分PCMや、適応差分PCM(ADPCM)や、周知であるサブ・バンド符号化技術のいずれか1つが挙げられる。これらに示す多くの信号に基づく値は、本発明にもとづいて有利に処理されてもよい。一例は3GPP2について上記してあり、3GPP2は、各々がサインを有する7個のパルスを持つ、1つの54位置パルス・ベクトルである信号に基づく値を説明している。別の例は、144個の位置と28個のパルスとを持つパルス・ベクトルを使用可能であるオーディオ音楽信号分析器である。そのようなアプリケーションは、Udar Mittalらの“Low Complexity Factorial Pulse Coding of MDCT Coefficients Using Approximation of Combinatorial Functions”(第I−289〜I−292頁、ICASSP 2007)に記載されている。いくつかの実施形態において、複合関数が信号の符号化選択された態様に使用されており、ここでは選択された態様がパルス・ベクトルには変換されない。
【0028】
信号126の選択された態様は、信号分析関数175によって、信号値ジェネレータ178に結合され、該信号値ジェネレータ178は、これらの態様を、複合符号化関数181に結合している信号に基づく値179に変換する。複合関数を用いないで符号化される信号の他の態様を、別の符号化関数180に結合させる。複合符号化関数181は、複合関数にもとづいて、信号に基づく値179を帯域幅効果的な符号語に符号化する。この分析は、パルス・ベクトル全体に対する操作の代わりに、パルス・ベクトルの一部に対する操作を伴うもの、またはパルス・ベクトルに基づかないビット割り付けを求めることを要する操作を含むものであってもよい。3GPP2において、複合解析はパルス・ベクトル内でのパルスのオフセットを求めるのに用いられる。Mittalらに発行された米国特許第7,978,101号では、複合関数エンコーダからの最上位ビットを算術的符号化を用いて複合することによって、より効率的な帯域幅を達成する。この例では、所定の長さのパルス・ベクトルを符号化するためのパルスの最大値を所定の長さの符号語にすることを求める必要があり、これには複合関数の計算を必要とする。処理リソースが制限されているいくつかの電子通信装置(例えば、一部の携帯電話)で複合関数のリアルタイム計算は実際的でないので、符号語を生成するために、複合関数ジェネレータ184を複合符号化関数181に関連して使用してもよい。複合符号化関数181は信号に基づく値179を用いて操作を行なう。操作は、階乗を含む複合関数の算出を必要とする。これらの操作のために、信号に基づく値179の特徴185、例えば、信号ベクトルもしくは符号語の長さ(n)またはその一部、あるいは符号化に使用されるパルスの数(m)(例えば、一部の信号ベクトルは、パルスを用いて符号化可能であり、そのような場合、特徴はそのような符号化に用いられるパルスの数であってもよい)、あるいは、信号ベクトルの符号化に使われる符号語の最大長(ビット)を、複合符号化関数181から複合関数ジェネレータ184に結合させる。ここで、複合関数ジェネレータ184は、これらの特徴185を用い、基底関数の線形複合に基づいて、複合関数186の近似(すなわち、複合変化の数式の近似)を生成する。いくつかの実施形態では、近似は区分近似である。すなわち、近似を求める最適化プロセスは、線形複合で使用される変数の1つの複数の値からなる選択された一組に対して、解決される。近似186は、複合符号化関数181に返送された後に用いられて、パケット・ジェネレータ187に結合する符号語または符号語の一部182を生成する。パケット・ジェネレータ187は、他の符号化関数180によって生成される他の符号語とともに、これらの符号語またはその部分を使用して、アンテナ108で放射される無線信号への転換のための信号送信機190に結合するパケットを形成する。複合関数ジェネレータ184の操作については、
図3を参照してより詳細に説明する。
【0029】
図2を参照して、無線電子通信装置100の別のブロック図を示す。いくつかの実施形態にもとづいて、受信機システム140を構成するブロックを示す。受信機システム140は、送信機システム170によって符号化されたタイプの信号を復号化することができるように、概ね設計されている。アンテナ108がRFチャネルでRF信号エネルギーを妨害するとき、信号受信機260は、特定の実施形態で、RF信号エネルギーを復調してデータ・パケットを生成する。データ・パケットは、パケット・セパレータ257に結合する。そして、それはデータ・パケットが特定の無線電子通信装置100を目的とする情報信号(例えば、スピーチ、音声、画像、またはビデオ)を送信するかどうか求める。その場合は、無線電子通信装置100は、それらの型によってデータ・パケットを復号化するために、受信機システム140のパラメータ(すなわち、スピーチ、音楽、画像、ビデオ)および特定のパラメータ(例えば、符号化率)をセットする。データ・パケットはパケット・セパレータ257によって切り離される、そして、他の技術によって復号化される部分がもう一つの復号化機能250に対する符号語として結合する間、複合復号化を必要とするパケットのそれらの部分は復号化するための複合デコーダ関数251に対する符号語として結合する。複合デコーダ関数251は、符号語258で操作を行うもので、符号語258は階乗を含む複合関数の算出を必要とし、これらの操作のために、各符号語258または各符号語の一部から決定される特徴285は、これらの特徴285を用いて複合式(複合関数)の線形近似286を生成する複合関数ジェネレータ284に結合する。近似286は、複合デコーダ関数251に返送され、この複合デコーダ関数251がそれらを使用して、信号に基づく値252(例えば、パルス・ベクトルまたはパルス・ベクトルの一部)を生成するか、またはビット割り付けに基づいてパルスを見つける。信号に基づく値は、受信されている情報信号(オーディオ、スピーチ、画像、またはビデオ)の一態様または複数の態様を表す。信号ベースの値252は、信号ベースの値252を使用する信号態様関数248に結合して、信号ベースの値252により表される態様を生成する。一方、パケットからの符号語は、他のデコーダ関数250によって受信され、データ・パケットで受信される信号の他の態様に関連した値の生成に用いられる。信号に基づく値252に由来する態様と、信号の他の態様に関連した値とが信号合成関数245により用いられ、ユーザに対する提示のためのヒューマン・インターフェース・システム120に結合する情報信号246のデジタル・バージョンを生成する。複合関数ジェネレータ284は複合関数ジェネレータ184であってもよい。すなわち、それは、共有された関数であってもよい。
【0030】
いくつかの実施形態において、無線システム199の処理システムは、RFコンポーネントで実行される信号送信機190と信号受信機260の関数の一部または全てを除いて、送信機システム170と受信側システム140に示される遮断の全ての関数を実行することが可能である。本明細書中で説明される固有の関数を実行する有線電子通信装置の実施形態に関して、遮断図は、アンテナを除いて、
図1および
図2に示す遮断図と同一であってもよい。本明細書中で説明される固有の関数を実行し、かつRF信号の代わりにオーディオ信号に結合する有線電子通信装置の実施形態に関して、
図1および
図2の信号送信機190および信号受信機260は、RF信号送信機および受信機の代わりのオーディオ信号送信機および受信機である。
【0031】
図3を参照して、特定の実施形態に従って、符号語を符号化および復号化のうちの1つを実施する方法300のいくつかのステップを示す。符号語は、信号の一つ以上の態様を表す。一実施形態において、ステップ303で、例えば、信号(例えば信号126(
図1))は、例えば、信号解析関数175(
図1)によって、信号源(例えばA/D変換器125(
図1))から受信される。ステップ305において、少なくとも一部の符号語は、信号に基づく値(例えば複合関数(例えば、
図1の186)の近似を使用している信号179(
図1))から符号化される。信号に基づく値(例えば、
図1の179)は、信号126(
図1)の一つ以上の態様を表す。近似は、一組の基底関数の線形結合に基づいて、区分近似であってもよい。例えば、方程式(12)と(13)に関して、関数f(m)は基底関数であり、以下の近似、
【0032】
【数5】
は、それらの基底関数の線形結合から得られる。符号語はステップ307で送信されて、例えば複合符号化関数181によってパケット・ジェネレータ187に結合し、ここで、符号語はパケットに形成され、信号送信機190に送られて、RF変調パケットとして信号送信機によって送信される。符号語の送信は、それが読み込まれて複合符号化関数181(
図1)等の関数によって使用されるまで符号語が格納されるメモリーに対してであってもよいことは、いうまでもない。
【0033】
もう一つの実施形態において、ステップ309で、少なくとも一部の符号語(例えば、RF信号に含まれる符号語)は、信号受信機(例えば、信号受信機260(
図2))からパケット・セパレータ257(
図2)を介して、複合復号化関数251(
図2)によって受信される。符号語の受信は、それが読み込まれて複合復号化関数251(
図2)またはパケット・セパレータ257(
図2)等の関数によって使用されるまで符号語が格納されるメモリーからであってもよいことは、いうまでもない。ステップ310において、少なくとも一部の符号語は、信号に基づく値(例えば複合関数(例えば、
図2の286)の近似を使用している信号252(
図2))に復号化される。信号に基づく値252(
図2)は、信号(例えば信号246(
図2))の一つ以上の態様を表すもので、該態様は情報信号(例えばビデオ、スピーチ、画像またはオーディオ信号)を含むものであってもよい。近似は、一組の基底関数の線形結合に基づいて、区分近似であってもよい。ステップ313で、信号は、信号源(例えばD/A関数135(
図2)に信号を送る信号合成関数245(
図2))から送られる。いくつかの実施形態において、ステップ305、310の両方で使われる近似は同じ関数であってもよく、代わりのステップの両方で使われる複合関数は同じ関数であってもよい。信号を同時に受信および送信している固定ネットワーク装置で行われるとき、代わりのステップをほぼ同時に実行することが可能であることは、さらにいうまでもない。
【0034】
図4を参照して、特定の実施形態にもとづいて、符号語の符号化および復号化のうちの1つを実施する方法300の1つのステップを示すもので、
図3を参照して説明されるものが含まれる。ステップ315において、ステップ305、310の1つで使われる複合関数(例えば、
図1の186、
図2の286)の近似が、符号語の少なくとも一部の符号化または復号化に必要とするいくつかのビットを計算するために使用される。
【0035】
図5を参照して、特定の実施形態にもとづいて、符号語の符号化および復号化のうちの1つを実施する方法300のいくつかのステップを示すもので、
図3を参照して説明されるものが含まれる。
図5に表される実施形態に関して、信号に基づく値(例えば、
図1の179、
図2の252)はパルス・ベクトルである。ステップ320において、パルス・ベクトルまたはその一部を特徴づけている少なくとも1つのベクトル固有値が受信される。固有値は、パルス・カウント(mとして特定される)または符号語もしくはその一部の長さ(nとして特定される)であってもよい。ステップ325で、複合関数の区分近似は、固有値(mとnの1つ)と他の所定もしくは既知の値を使用して、符号語またはその一部の長さを測定する。いくつかの実施形態では、両方の固有値が受信される。符号語の長さは、符号語におけるビットの数と言ってもよい。いくつかの実施形態に関して、
【0036】
【数6】
が与えられる。ここで、式中、各x
iはパルス・ベクトル(またはパルス・ベクトルの一部)の整数要素である。
【0037】
図6は、特定の実施形態にもとづいて、符号語の符号化および復号化のうちの1つを実施する方法300の1つのステップを示すものであり、
図5を参照して説明されるものが含まれる。これらの実施形態のいくつかについて、パルス・ベクトルまたはその一部は、長さ(n、所定の長さ)と複合関数(例えば、
図1の186、
図2の286)の近似を有している。上記[数5]で表される近似は、ステップ330において、以下の式によって決定される。
【0039】
【数8】
は定数、各々の範囲限界m
iは正の整数(m
i+1>m
i+1)、およびlは線形複合関数f
k(m)の合計量である。線形複合関数も基底関数と呼ばれる。
【0040】
これらの実施形態のいくつかに関して、長さ(n)は所定のものではないため、以下の式になる。
【0041】
【数9】
式中、上記[数8]で表される各々の乗数は定数、各々の範囲限界m
iは、nおよびm
i+1>m
i+1の関数である正の整数である。
【0042】
いくつかの実施形態において、テイラー級数のなんらかの切断された条件は、関数f
k(m)として有効である場合がある。他の実施形態では、関数f
k(m)のうちの少なくとも2つが非定値の関数であり、関数f
k(m)のうちの少なくとも1つが、関数f
k(m)の別の1つの負ではない指数であることで、生成されなくてもよい。そのような関数群の一例は、以下の式(14)で記述される。
【0043】
図7は、特定の実施形態にもとづいて、符号語の符号化および復号化のうちの1つを実施する方法300のステップの1つを示すものであり、
図6を参照して説明されるものが含まれる。これらの実施形態のいくつかにおいて、上記[数5]で表される複合関数の近似は、以下の複合関数の近似として、ステップ335で測定される。
【0044】
【数10】
ここで、式中、F(n,d)およびF(m−1,d−1)は式(3)に示される複合関数である。
【0045】
方程式(14)の近似の生成に使用される関数f
k(m)の有用な一組は、関数{1,log
2(m),m・log
2(m),m,m
2}であるとわかった。関数のいくつかが他の正の指数でないことがわかる。いくつかの実施形態において、値log
2(m)およびm・log
2(m)は、それらが使用されるたびに計算されたものよりも表に格納された値に由来する。
【0046】
図8は、特定の実施形態にもとづいて、符号化および復号化のうちの1つを実施する方法300のステップを示すものであり、
図6を参照して説明されるものが含まれる。これらの実施形態のいくつかにおいて、上記[数8]で表される乗数および範囲限界m
iは、次式、
【0047】
【数11】
を最小化することによって与えられる制限付き最適化問題を解決することによって、ステップ340で得られる。
【0049】
【数12】
式中、εは許容誤差値である。いくつかの実施形態では、εは0.015である。他の費用関数と誤差限界は、上記[数5]で表される近似を定義するのに用いることが可能であることはいうまでもない。上記[数5]で表される関数は、特定の電子装置で使われ、かつ格納される符号体系にとって参考になるmおよびnのすべての値について最適化され得る。これは、近似を解決する相当な量の時間を用いてもよいオフライン・プロセスでの反復を含む従来の最適化手法を用いて、オフラインで実施し得る。その後、mおよびnの所定の範囲について、C
kに関する値のみを格納する必要がある。この最適化を行なう場合、mおよびnの値のいずれかを一定に保ち、他方を最適化する。別のアプローチでは、それらの一方を他方の関数として定義し、mおよびnの値を求めるために、次にそれらの他方を変えることで最適化を実行することができる。
【0050】
一例において、G´
n(m)を、nについては6〜120までの値、mについては1〜560までの値、すべてについて最適化した。各々のnに関して、領域mをp=4つの部分に分け、S={0,m
1,m
2,m
3,m
4}={0,min(2・n−4,30),min(2・n+40,120),360,560}を得た。ベクトル長n、補間部分p、および基底関数の数の値すべてに関する上記[数8]の値を計算した。この方法では、すべての値よりも少ないものが表されるように、特性(両方とも両方の整数値化特性)の1つの領域は、二つ以上の部分に分けられる。したがって、各々の特性のいくつかの値が選択され、特性の選択された範囲内において、特性の全ての値の領域が表される。上記の例において、mの4つの値が1〜560からなる選択範囲内で選ばれる。それらの値の2つがnの関数である。次に、上記[数8]の値を求める最適化を、他の特性の範囲(この例では6〜120)にわたって領域の部分の各々に対して実施する。このアプローチを本明細書では「区分近似(piecewise approximation)」と呼ぶ。両方の特性の範囲の分割まで、このアプローチを広げることができた。区分近似のこの例において、およそ120*5*4=2400のみの記憶場所が格納目的のために必要とされ、資源が限られた電子装置で複合関数ジェネレータ184、284が複合関数の値を測定することが実際的になる。比較すると、n={6:120}およびm={1:560}についてG´
n(m)を直接格納するための必要メモリーは、115*560=64,400の記憶場所と考えられる。領域が制限され得る部分の数の決定は、達成される所望の差分近似(ε)に合致するように、実験によって確定され得る。
【0051】
図9は、特定の実施形態にもとづいて、符号語の符号化および復号化のうちの1つを実施する方法300のステップの1つを示すものであり、
図6を参照して説明される態様が含まれる。これらの実施形態において、本明細書において参照されるMittelらによる米国特許公報第2009/0234642号、およびUdarMittalらによる“Low Complexity Factorial Pulse Coding of MDCT 4Coefficients Using Approximation of Combinatorial Functions”(第I−289〜I−282頁、ICASSP 2007)で説明されたような対数に基づく近似F´(x,y)は、複合関数F(x,y)=x/(y!(x−y)!)の代わりに用いられる。これらの実施形態のうちのいくつかでは、F´(x,y)は、次式で求めることができる。
【0053】
【数14】
である。これらの定義によって、P´(x)およびQ´(y)の値が計算され、処理リソースが制限された通信装置のメモリーに格納される。R´(k)≒2
kを、処理リソースが制限された通信装置の切断された値として算出してもよい。
【0054】
そして、複合関数G
n(m)の近似を、
【0055】
【数15】
として制限されたプロセッサ・リソースを用いて決定してもよい。
【0056】
いくつかの実施形態において、量G
n(m)は、m個のパルスを用いて長さnのパルス・ベクトルを複合符号化または復号化するために必要とされるビットの数であってもよい。ビットは、符号語全体または符号語の一部を形成するものであってもよく、該符号語は、パルス・ベクトルが表すシグナルの1つ以上の態様と同じ態様を表す。多くの状況下では、ビットの数が確立されており、G
n(m)がビットの確定数以下であるように、復号化にどの程度の数のパルスが使用されるかを計算することが求められる。例えば、Ashleyらによる米国特許公報第2011/0096830A1号は、そのような例を述べている。これは、様々な値のmについて、G
n(m)の計算が求められると思われる。こうした状況下では、複合関数G
n(m)を計算するためのG´
n(m)(式18)の近似である上記[数5]を表す(式13)を使用することが好まれると思われる。この場合、上記[数5]が複合関数G
n(m)を計算するための近似であると言うことができるかもしれない。なぜなら、G
n(m)は、最終的に近似されるからである。上記[数5]の近似(式13)は、1組の基底関数の線形結合に基づくと考えられ、さもなければ区分近似であると考えられる。
【0057】
上記したような実施形態において、式(18)および式(19)を参照して、上記[数8]で表される乗数および範囲限界m
iが、以下の式を最小化することによって与えられる制約最適化問題を解決することによって得られる。
【0058】
【数16】
その際の条件は以下の式である。
【0059】
【数17】
式中、εは許容誤差値である。式20のεの値が式16のεの値と同じである必要はない。関数G´
n(m)は、特定の電子装置で使われ、かつ格納される符号体系にとって参考になるmおよびnのすべての値について最適化され得る。これは、近似を解決する相当な量の時間を用いてもよいオフライン・プロセスでの反復を含む従来の最適化手法を用いて、オフラインで実施し得る。その後、mおよびnの所定の範囲について、C
kに関する値のみを格納する必要がある。この最適化を行なう場合、mおよびnの値のいずれかを一定に保って、他方を最適化する。別のアプローチでは、それらの一方を他方の関数として定義し、mおよびnの値を求めるために、次にそれらの他方を変えることで最適化を実行することができる。
【0060】
この明細書で説明されるプロセス、例えば(限定されるものではない)、
図3〜9で説明される方法のステップは、CPUのプロセッサにより読み取り可能であるコンピュータ可読媒体に含まれるプログラム命令を用いて、実行されるものであってもよい。コンピュータ可読媒体は、マイクロプロセッサにより実行される命令を格納することができる有形の媒体であってもよい。媒体は、CDディスク、DVDディスク、磁気または光ディスク、テープ、およびシリコンをベースとしたリムーバブルまたは非リムーバブル・メモリーのうちの1つであってもよく、あるいはそれらの1つ以上を含むものであってもよい。プログラミング命令もまた、パケット化または非パケット化された有線または無線送信信号の形態で運ばれることが可能である。
【0061】
以上、本発明の具体的な実施形態を説明した。しかしながら、添付の特許請求の範囲に記載される本発明の範囲から逸脱することなく、当業者であれば種々の変形および変更を加えることができる。したがって、明細書および図面は、制限を加える意味よりも例示を考えており、そのような変形の全てが本発明の範囲内に含まれることを意図している。利益、利点、問題の解決、および、利益、利点、問題の解決が生じたり、より明確になったりする要素のいずれも、特許請求の範囲のいずれかまたはすべての決定的な、必要な、もしくは必須の特徴もしくは要素として構成されるものではない。本発明は、特許請求の範囲の等価物全てを含む特許請求の範囲によってのみ定義される。