(58)【調査した分野】(Int.Cl.,DB名)
前記指示されたスペクトルピーク位置符号化法がスパースなスペクトルピーク位置分布に適した符号化法である場合、前記符号化されたスペクトルピーク位置は、グループビットベクトル及び該グループビットベクトルによって示される圧縮されたノンゼロビットグループの形式で受信されることを特徴とする請求項10に記載の方法。
前記グループビットベクトルにおけるそれぞれの位置は、連続する同サイズグループを表し、スペクトルピークを含む同サイズグループすなわちノンゼロビットグループは、前記グループビットベクトルにおいて、スペクトルピークを含まない同サイズグループとは異なるように示されることを特徴とする請求項11に記載の方法。
前記指示されたスペクトルピーク位置符号化法が周期的又は概周期的なスペクトルピーク位置分布に適した符号化法である場合、前記ピーク位置の復号化は、ハフマン復号化及びデルタ復号化を含むことを特徴とする請求項10乃至13のいずれか1項に記載の方法。
前記指示されたスペクトルピーク位置符号化法がスパースなスペクトルピーク位置分布に適した符号化法である場合、前記符号化されたスペクトルピーク位置を、グループビットベクトル及び該グループビットベクトルによって示される圧縮されたノンゼロビットグループの形式で受信することを特徴とする請求項16に記載のオーディオ信号セグメント復号化装置。
前記グループビットベクトルにおけるそれぞれの位置は、連続する同サイズグループを表し、スペクトルピークを含む同サイズグループすなわちノンゼロビットグループは、前記グループビットベクトルにおいて、スペクトルピークを含まない同サイズグループとは異なるように示されることを特徴とする請求項17に記載のオーディオ信号セグメント復号化装置。
前記指示されたスペクトルピーク位置符号化法が周期的又は概周期的なスペクトルピーク位置分布に適した符号化法である場合、ハフマン復号化及びデルタ復号化によりピーク位置を復号化することを特徴とする請求項16乃至19のいずれか1項に記載のオーディオ信号セグメント復号化装置。
【発明を実施するための形態】
【0014】
図面において、同じ構成要素には同じ参照符号を使用する。
【0015】
提案する技術は、オーディオ信号の例えば10〜40msの短時間セグメントから抽出されるスペクトルピーク位置のロスレス符号化に関する。
【0016】
発明者らは、オーディオ信号のピーク位置がその分布において急に変わりうるため、スペクトルピーク位置を符号化するための従来方法においては、単一の符号化法ではピーク位置を符号化するには非効率的であると考えるに至った。スペクトルは概周期的である場合があり、この場合には差分符号化またはデルタ符号化が大変効率的である。その他の場合には、スペクトルピークが偏って出現し、大きなスパース(sparse)な領域が出現しうる。
【0017】
提案する手法の主なコンセプトは、異なるピーク位置分布にそれぞれ専用の符号化法を用い、クローズドループ方式で符号化法を切り替えるというものである。それぞれの符号化法は、特定のピーク位置分布に好適なものであるべきである。好適とは、例えば、その符号化法があるタイプのスペクトルピーク分布にとりわけ効率的であるということをいう。符号化法Aがピーク分布Cに好適であり、符号化法Bがピーク分布Dに好適である場合を考える。この場合、符号化法Aは一般にはピーク分布Cに対しては符号化法Bよりも効率がよく、符号化法Bは一般にはピーク分布Dに対しては符号化法Aよりも効率がよいと考えられる。
【0018】
ロスレスな方法で圧縮され送信されるべきN個のスペクトルピーク位置のセット {P
1,P
2,P
3,…P
N} を考える。スペクトルピーク位置の数及びその分布は時間により変化する。スペクトルピーク位置のセットの2つの例を、
図1a及び
図1bに示す。
【0019】
図1aは、周期的に近いスペクトルピーク分布を示している。この場合には、例えば後述するデルタ符号化によって効率的に処理される。
【0020】
図1bは、スパースなスペクトルピーク分布を示しており、隣接する2つのピークの距離が大きい。この場合、ピーク間でのデルタが大きいため、デルタ符号化で処理するのは困難である。
【0021】
発明者らは、ピークの数およびその分布の大きな変動に対しては、圧縮方法、符号化方法を切り替えて使用するのが有利であることを見出した。以下では、2つの例示的な符号化法としてデルタ符号化 (delta coding) とスパース符号化 (sparse coding) に焦点を当てて説明する。デルタ符号化は、周期性符号化 (periodic coding) と呼んでもよい。ただし、異なるスペクトルピーク位置分布に対して2つより多い符号化法を用いるようにしてもよい。
【0022】
(デルタ符号化)
この符号化法は、
図1aに示されるような、周期的又は概周期的又は周期的に近い、ピーク分布に対して好適である。デルタ符号化のコンセプトは、オーディオ信号セグメントにおける連続するスペクトルピーク位置P
jあるいは {P
1,P
2,P
3,…P
N} の間の、dまたはΔで表される差分を形成することである。これは次式で表される。
【0023】
d
1=P
1-P
0
d
2=P
2-P
1
…
d
N=P
N-P
N-1 (1)
【0024】
このデルタともよばれる差分が好適な符号化法で符号化される。差分の好適な符号化法は、ハフマン(Huffman)符号化である。ここで、M個の異なるサイズのデルタを考える。これらは、例えば以下のような、異なる長さのコードワードにマッピングされる。
【0025】
{d(1),d(2),d(3),...,d(M)} → {0,10,11,...,111110} (2)
【0026】
ここで、d(1)は、最も多く現れ、そのため最短のコードワード"0"にマッピングされる差分またはステップサイズd
jであり、他方、d(M)はめったに現れず、そのため最長のコードワード"111110"にマッピングされる。この例において、最長のコードワードは6ビット必要であるが、短いコードワードと長いコードワードの両方とも実現可能である。最頻出のデルタを最短のコードワードにマッピングし、めったに現れないデルタを最長のコードワードにマッピングすることにより、デルタの符号化に使用されるビット数を最小化できる。この符号化法は、出現するステップサイズが多すぎることがないかぎり、効率的である。しかし、ステップサイズが多くコードワードが長く、長いコードワードにマッピングされるステップサイズが数多く出現する場合には、この符号化法の効率は低下する。
【0027】
ハフマンコードワードは、復号化器へ送信され、復号化器で、対応するデルタが抽出される。d
jおよびP
j-1を知ることにより、復号化器は繰り返しによってP
jを再構成できる。
【0028】
デルタに加えて、復号化器は初期位置P
0を知る必要がある。ピーク間の最小距離に与えられた制約により、P
0は特別な場合と考えられる。例えば、2つの隣り合うピークには少なくとも2つの空の位置だけ離れていなければならないという制限がありうる。この場合、3よりも短いデルタはないので、残りのセグメントまたはフレームにおけるそのようなデルタのための、ハフマンコードワードは必要ない。しかし、オーディオ信号セグメントにおけるまさに最初のピークP
0は、3よりも小さい値である0からのオフセットで、(スペクトルの)スケールの最初に出現しうる。これら出現可能性のある3より小さいデルタに対するハフマンコードワードを付加する必要なしにこの問題を回避するために、0から求められるオフセットの代わりに、−3から求められるオフセットが用いられる。したがって、P
0が例えば位置1にある場合、Δ=4のコードワードが用いられる。このようなシンプルな操作の結果、ハフマンコードワードの数を制限することが可能になる。このことは、一般にはハフマンコードワードが少なければハフマンコードワードは短くなるので、使用されるハフマンコードワードの長さを最小化できる。
【0029】
(スパース符号化)
この符号化法は、
図1bに示されるようなスパースな構造のピーク分布に好適である。スパースとは、連続するピークの距離が大きく、ピークは必ずしも周期的ではないことを表す。“1”がピークありを表し、“0”がピークなしを表すこととして、スペクトルピーク位置ベクトルが以下のようであるとする。
【0030】
{01000000000000000100} (3)
【0031】
これは、デルタ符号化においては、{P
1=2 and P
2=18}となる。上記のピーク位置ベクトルの例は、より実際的なベクトル例においては距離が16というのはそれほど遠く離れているということはないのだが、他のピーク差分に関してはスペクトルピーク同士が非常に遠く離れているということになる。
【0032】
このスパース符号化法の第1のステップは、次のように、例えば5ビットの等サイズグループを形成することである。
【0033】
{01000, 00000, 00000, 00100} (4)
【0034】
次に、各グループは、例えば、当該グループにおける要素の論理和をとることにより、ノンゼロ要素について検査される。その結果は第2のビットベクトルに保存される。これは5倍短くなる。以下では、このビットベクトルは判りやすくするためにボールド体で表される。
【0036】
本実施形態において、復号化器に送信されるべきビットストリームは次のように表される。
【0038】
復号化器は、ビットストリームからシグナリングレイヤ "1001"を導出する。この4ビットは、ビットストリームにおいて第1及び第4グループに記述があり、第2及び第3グループは0で埋められていることを表す。
【0039】
上記した、連続するピーク間の最小許容距離 (minimum allowed distance) の制約により、上記符号化法は、ロスレスのまま圧縮ゲインをより高めるように修正することができる。各5次元のベクトルに対しては可能なレベルは8レベルだけであるから、ピーク同士が少なくとも2つの位置で分離されるべきであるから、これらのベクトルは3ビットだけでインデクス化できる。下の表1(Table 1)を参照されたい。この例におけるビットストリームは以下のとおりである。
【0041】
上記した例のように5ビットではなく、各ノンゼロビットグループを特定するのに必要なのは3ビットだけである。
【0042】
表1:5次元ベクトルのインデクシング。ビットストリームから3ビットインデックスが抽出され、上記し、及び、表において示される、対応する5次元ベクトルが再構成される。
【0044】
あるいは、ロスレス・スパーススペクトルピーク位置符号化法は、非特許文献1のようにビットの論理和をとる論理演算に基づくものであってもよい。
【0045】
上述した符号化法はそれぞれ、あるピーク位置分布に関して問題がある。
・スパース符号化法の問題は、入力が十分にスパースでないと、出た量が増加する場合があること。
・デルタ符号化の問題は、距離の多くが小さい場合で、例えば非常に大きなデルタ距離等の外れ値があるために、非常に非効率になること。
【0046】
しかし、上述の2つの符号化法は互いに補完しあうことができ、発明者らは、それらの長所を組み合わせることで非常に効率のよい符号化システムを実現できることを見出した。クローズドループ決定ロジックの例を以下に示す。
【0048】
ここで、L
dは、デルタ符号化法で使用されるトータルのビット数、L
sは、スパース符号化法で使用されるトータルのビット数である。
【0049】
決定ロジック(8)は、両方の符号化法を実際に実行できることを要する。いくつかの場合において、連続する2つのピークの間の最大距離d
maxが、あらかじめ記憶されたハフマンテーブルに基づいてデルタ符号に対してとりうる最大距離Tよりも大きい場合、デルタ符号化法によって使用されるトータルのビット数L
dは明確には計算できない。このような場合を補うため、決定ロジック(8)を少し変更して以下のようにすることができる。
【0051】
距離d
max>Tであれば、デルタ符号化法は明らかに行う必要はないから、決定ロジック(9)のOR文における第1項は、ショートカットとして考えられる。表現の違いは、オーディオ信号セグメント又はフレームに対して尺度d
max>Tが成り立つ場合、デルタ符号化は行うべきではなく、両方の符号化法からの結果を比較するまでもなくスパース符号化を使用することに決定できる。これは、この場合、デフォルトでL
dがL
sより大きいと考えられ、スパース符号化だけを実行する必要があると考えてよい。
【0052】
図2及び
図3は、少なくとも1つの実施形態に係る提案技術の方法を示すフローチャートである。方法は、オーディオ信号セグメントを符号化するように動作するオーディオ符号化器(audio coder)(オーディオエンコーダ(audio encoder)ともよばれる)によって実行されうる。本実施形態においては、決定ロジック(9)が実行され、ロスレス符号化法の数の例は2つであるとする。方法は、2つのロスレス・スペクトルピーク位置符号化法のうちどちらが、オーディオ信号セグメントのスペクトルピーク位置を符号化するために最小ビット数となるかの判定を行い(201)、オーディオ信号セグメントのスペクトルピーク位置を符号化するために最小ビット数となるスペクトルピーク位置符号化法を選択する(202)ことを含む。
図3を参照して、この実施形態を詳しく説明する。ステップ301において、d
max(Δ
maxとも表記されうる)がTより大きいか否か(d
max>T)が判定される。当然のことながら、この条件は、例えばd
max>T'のように変更可能である。d
maxがTより大きい場合、スパース符号化が選択され(304)、スパース符号化法によりスペクトルピーク位置が符号化される。これは、d
max>Tの場合、スペクトルピーク位置を符号化する前に、どちらの符号化法を使用するかを決定することが可能ということである。デルタ符号化は、Tより小さいデルタを効率よく符号化するように構成されており、Tより大きいデルタを扱う必要はない。すなわち、ハフマンテーブルにおいてあるサイズよりも大きいデルタが表現されないことによりそのようなデルタに対するスパース符号化法の効率が利用されるように、ハフマンテーブルのサイズはスペクトルピーク位置符号化法とともに最適化されうる。この最適化により、ハフマンテーブルの全体のコードワードサイズを短くでき、符号化効率のために大変有益である。スパース符号化法は、d
max>Tの場合の最小ビット数で済む符号化法である。
【0053】
d
maxがTより大きくない場合、すなわち、条件301を満たさない場合は、ステップ302で、スペクトルピーク位置は両方の符号化法を用いて符号化される。これは、デルタ符号化とスパース符号化でそれぞれスペクトルピーク位置を符号化して2つの結果を得るということである。それぞれの符号化法には、現在のスペクトルピーク位置のセットを符号化するのに、一定のビット数(上記したL
d、L
sを参照。)を要する。これらのビット数を観測して比較し、現在のピーク分布に対して効率がよいのはどちらの符号化法かを判断する。ステップ302では、両方の方法に要するビット数に基づいて、現在のスペクトルピーク位置を符号化するために最小ビット数を要するのはどちらの符号化法かを判断し、最小ビット数で済む符号化法を選択する。この判断、すなわちこの場合に要するビット数を比較することは、ステップ303またはステップ302で組み合わせて行うことができる。ステップ304またはステップ303で選択された符号化法は、ステップ306で、符号化されたスペクトルピーク位置と関連付けて復号化器に送られる。すなわち、選択された符号化法を用いて符号化されたスペクトルピーク位置のバージョンの送信に関連付けて選択された符号化法が送信される。他方の選択されなかった符号化法の符号化されたバージョンは使用されずに破棄される。
【0054】
2つのロスレス・スペクトルピーク位置符号化法のうちの第1の符号化法であるデルタ符号化法は、周期的又は概周期的なスペクトルピーク位置分布の符号化に好適であり、2つのロスレス・スペクトルピーク位置符号化法のうちの第2の符号化法であるスパース符号化法は、スパースなスペクトルピーク位置分布に好適である。デルタ符号化は、好ましくは、上記したように、ピーク位置のデルタ符号化とデルタ符号のハフマン符号化を含む。このことから、デルタ・ハフマン符号化とよんでもよい。
【0055】
スパース・スペクトルピーク位置符号化法は、上記したように、スペクトルピーク位置を表すビットベクトルを連続する同じサイズのビットグループに分割し(式(4)参照)、各ビットグループのビットの論理和をとってグループビットベクトルを形成し(式(5)参照)、2つの連続するピークの間の最小許容距離の制約を利用することにより、ノンゼロビットグループを圧縮し(式(6)及び表1参照)、前記グループビットベクトルと前記圧縮されたノンゼロビットグループとを連結することにより、圧縮されたビットベクトルを形成する(式(7)参照)。「論理和をとる(OR-ing)」とは、グループ内のビットを検査して1があるかを探す操作であり、グループ内に1が1つでもあれば論理和の結果は同じ1である。例えば、グループ内のビットが1つ1つ検査されて1が検出された場合、そのグループはノンゼロビットグループと判定される。
【0056】
図4は、少なくとも上記した決定ロジック(8)を実行する実施形態に係る提案技術の方法を示すフローチャートである。ステップ401では、異なるスペクトルピーク位置分布に適した少なくとも2つのロスレス・スペクトルピーク位置符号化法に従って、オーディオ信号セグメントのスペクトルピーク位置を符号化する。ステップ402では、オーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小のビット数で済むスペクトルピーク位置符号化法を選択する。ステップ401及び402は、
図3のステップ302及び303と同じである。
【0057】
本明細書において記述されるステップ、機能、手順、モジュール、ユニット、及び/又はブロックは、汎用電子回路および特定用途向け回路の双方を含むディスクリート回路技術、集積回路技術等の、何らかの従来技術によりハードウェアで実現可能である。
【0058】
特定の例は、1つ又は複数の好適なデジタル信号プロセッサや、例えば特定機能を実行するために相互接続されたディスクリート論理ゲートあるいは特定用途向け集積回路(ASIC)等のその他の公知の電子回路を含む。
【0059】
あるいは、上記したステップ、機能、手順、モジュール、ユニット、及び/又はブロックのうちの少なくとも一部は、1つ又は複数の処理ユニットを含む好適な処理回路によって実行されるコンピュータプログラムのようなソフトウェアで実現されうる。
【0060】
本明細書で提供されたフローチャート又はフロー図は、1又は複数のプロセッサによって実行されるときのコンピュータのフローチャート又はフロー図とみなしてよい。対応する装置が、機能モジュールのグループとして、定義されうる。ここで、プロセッサによって実行される各ステップが機能モジュールに対応する。この場合、機能モジュールはプロセッサで実行されるコンピュータプログラムとして実現される。
【0061】
処理回路の例には、1又は複数のマイクロプロセッサ、1又は複数のデジタル信号プロセッサ(DSP)、1又は複数の中央処理装置(CPU)、ビデオアクセラレーション・ハードウェア、及び/又は、1又は複数のフィールド・プログラマブル・ゲートアレイ(FPGA))あるいは1又は複数のプログラマブル・ロジック・コントローラ(PLC)等の、何らかの好適なプログラマブルロジック回路が含まれる。
【0062】
上記提案技術が実現される何らかの従来のデバイス又はユニットの一般処理能力を再利用することが可能であると理解すべきである。また、例えば、既存のソフトウェアの再プログラミングにより、あるいは、新たなソフトウェアコンポーネントを追加することにより、既存のソフトウェアを再利用することも可能である。
【0063】
本明細書に記載の実施形態は、オーディオ信号を符号化する符号化装置にも関連する。符号化装置は、上述した符号化器によって実行される方法の少なくとも1つの実施形態を実施する。符号化器は、先に説明しかつ例えば
図3に示した方法と同じ技術的特徴、目的、利点に関連付けられている。符号化装置については、同じ説明を繰り返すを避けるため、簡単に説明する。
【0064】
以下、
図5を参照して、上述したスペクトルピーク位置を符号化するための方法を実施可能な例示の符号化装置500を説明する。符号化装置は、ユーザ端末において実現されうるものであり、あるいはゲートウェイなどのネットワークノードにおいて実現されうるものである。符号化装置500は、上述した2つのロスレス・スペクトルピーク位置符号化法を実行する機能を有する。
【0065】
図5は、提案する符号化器10の実施形態を示すブロック図である。この実施形態は、プロセッサ22で実現される処理手段とメモリ24とを含む。メモリは、例えば、処理手段によって実行されるときに、2つのロスレス・スペクトルピーク位置符号化法のうちどちらが、オーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小のビット数で済むかを符号化器10に判定させるコンピュータプログラムのかたちの命令を含む。符号化器10は、上述した決定ロジック(9)をを適用するように構成されることが好ましい。これにより、パラメータd
maxがしきい値を超えるか判定し、もし超えなければ、双方の符号化法でスペクトルピーク位置を符号化した後、スペクトルピーク位置の符号化するために2つの符号化法が要するビット数を比較することが行われうる。この命令の実行によって、符号化器10は、オーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小ビット数を要するスペクトルピーク位置符号化法を選択する。符号化器10は、2つの符号化法を含む。2つの符号化法は、メモリ24に記憶された命令の一部であってもよいし、あるいは、符号化器のその他の一部(不図示)に格納または実装されてもよい。前述のとおり、2つのロスレス・スペクトルピーク位置符号化法のうちの第1の符号化法は、周期的又は概周期的スペクトルピーク位置分布に好適であり、2つのロスレス・スペクトルピーク位置符号化のうちの第2の符号化法は、スパースなスペクトルピーク位置分布に好適である。これは、符号化器10が2つの異なる符号化モードでスペクトルピークを符号化するように動作するものとして説明することもできる。
【0066】
命令は、コンピュータ読み取り可能な媒体(一時的でない有形の媒体(tangible non-transitory medium))にコンピュータプログラム製品として格納され、
図5の左側に破線矢印にて示されるようにメモリ24に送信されうる。オーディオ信号セグメントは、入力部INを介してプロセッサ22へと送られ、符号化されたスペクトルピーク位置は、出力部OUTを介して復号化器へと送られる。選択された符号化法は、明示的な信号伝送によって、
図5の破線矢印にて示されるように復号化器に送られる。あるいは、選択された符号化法は、可能な復号化モードで受信したビットストリームを試験的に復号化し成功した1つを選択することによって復号化器で検出されてもよい。第1の代替手法は、簡単であるが、帯域幅を余計に必要とする。第2の代替手法は、帯域幅は少なくて済むが複雑である。以下では、他の実施形態に適用される代替手法を説明する。
【0067】
図6に、符号化器10の別の実施形態を示す。
図6は、オーディオ信号を符号化するように動作する符号化器10を示している。符号化器10は、2つのロスレス・スペクトルピーク位置符号化法のうちどちらがオーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小ビット数で済むかを判定する決定部603を有する。符号化器10は更に、オーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小ビット数で済むスペクトルピーク位置符号化法を選択する選択部602を有する。
【0068】
図7は、提案する符号化器10の一実施形態を示すブロック図である。符号化器10は、少なくとも上述した決定ロジック(8)を実行するスペクトルピーク位置の符号化のための方法を実行する。オーディオ信号セグメントは、符号化のために当該セグメントを分析する信号分析部16に送られる。この分析により抽出される特徴の1つは、スペクトルピーク位置のセットである。この分析は、好適な従来技術により行われうる。これらのスペクトルピーク位置はスペクトルピーク位置符号化部12に送られる。スペクトルピーク位置符号化部12は、異なるスペクトルピーク位置分布に適した少なくとも2つのロスレス・スペクトルピーク位置符号化法に従うオーディオ信号セグメントのスペクトルピーク位置を符号化する。各符号化法の全ビット数、すなわちスペクトルピーク位置を符号化するための各方法に必要なビット数は、符号化法選択部14に送られる。符号化法選択部14は、オーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小ビット数で済むスペクトルピーク位置符号化法を選択する。選択された符号化されたスペクトルピーク位置は出力部18に送られるとともに復号化器に送られる。
【0069】
図8は、提案する符号化器10の他の実施形態を示すブロック図である。スペクトルピーク位置のセットは符号化器10に送られる。符号化器10は、異なるスペクトルピーク位置分布に適した少なくとも2つのロスレス・スペクトルピーク位置符号化法に従いオーディオ信号セグメントのスペクトルピーク位置を符号化するスペクトルピーク位置符号化モジュール12を含む。符号化器はまた、オーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小ビット数で済むスペクトルピーク位置符号化法を選択する符号化法選択モジュール14を含む。選択された符号化されたスペクトルピーク位置は復号化器に送られる。上記したように、選択された符号化法も復号化器に指示される。
【0070】
符号化器10が上記した決定ロジック(9)をサポートする場合、符号化法選択モジュール14は、更に2つの連続するピーク位置の間の最大距離に関する尺度にも依存して、少なくとも2つのロスレス・スペクトルピーク位置符号化法のうちスペクトルピーク位置を符号化するのに最小ビット数で済む符号化法を選択する。すなわち、符号化法選択モジュール14は、スペクトルピーク位置の符号化の前に、最大距離d
maxが所定のしきい値を超えるか否かを判定し、その結果に従い動作するように構成されるべきである(
図3参照)。
【0071】
図9は、提案する符号化器10の別の実施形態を示すブロック図である。この実施形態は、オーディオ信号セグメントのスペクトルピーク位置を符号化するためのコンピュータプログラム30を実行する、マイクロプセッサ等のプロセッサ22に基づく。コンピュータプログラムは、メモリ24に記憶される。プロセッサ22は、システムバスを介してメモリと通信する。入力されたオーディオ信号セグメントは、プロセッサ22及びメモリ24が接続される入力/出力(I/O)バスを制御するI/Oコントローラ26により受信される。ソフトウェア30から得られる符号化されたスペクトルピーク位置は、I/Oコントローラ26によりメモリ24からI/Oバスを介して出力される。コンピュータプログラム30は、異なるスペクトルピーク位置分布に適した2つのロスレス・スペクトルピーク位置符号化法に従いオーディオ信号セグメントのスペクトルピーク位置を符号化する符号処理部32と、オーディオ信号セグメントのスペクトルピーク位置を符号化するのに最小ビット数で済むスペクトルピーク位置符号化法を決定し選択する符号処理ユニット34とを含む。
【0072】
メモリに含まれるコンピュータプログラムは、プロセッサにより実行されるときに上述のステップ及び/又はタスクの少なくとも一部を実行する、好適な関数モジュールとして構成されうる。このような機能モジュールの例が、
図8に示される。ソフトウェア又はコンピュータプログラムは、通常コンピュータ読み取り可能な媒体(一時的でない有形の媒体)に伝送され記憶されたコンピュータプログラム製品として実現されうる。コンピュータ読み取り可能な媒体には、1つ又は複数のリムーバブル又は非リムーバブルのメモリ装置が含まれる。そのようなメモリ装置には、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、コンパクトディスク(CD)、DVD、ユニバーサル・シリアルバス(USB)メモリ、ハードディスクドライブ(HDD)記憶装置、フラッシュメモリ、その他の既存のメモリ装置が含まれる。したがってコンピュータプログラムは、これらの処理回路で実行するため、コンピュータの動作メモリ又は同等の処理デバイスにロードされうる。
【0073】
例えば、コンピュータプログラムは、処理回路で実行可能な命令を含み、これにより処理回路は、本明細書に記載のステップ、機能、手順、及び/又はブロックを実行するように動作しうる。コンピュータ又は処理回路は、本明細書に記載のステップ、機能、手順、及び/又はブロックだけを専ら実行するものである必要はなく、その他のタスクを実行するように構成されていてもよい。
【0074】
提案する技術は、上記したようなオーディオ信号セグメント符号化器を含むユーザ端末も含む。ユーザ端末は有線装置でも無線装置でもよい。
【0075】
以下で使用する「無線装置」の用語は、ユーザ装置(UE)、移動電話、セルラ電話、携帯情報端末(PDA)、無線通信機能付き装置、スマートホン、ラップトップもしくはパーソナル・コンピュータ(PC)、内蔵もしくは外付けの移動ブロードバンドモデム付きの装置、無線通信機能付きのタブレットPC、ポータブル電子無線通信装置、無線通信機能付きのセンサ装置等をいう。とくに、用語「UE」は、何らかの関連する通信標準規格に従う無線通信のための無線回路を備えたデバイスと限定的に解釈すべきではない。
【0076】
以下では、「有線装置」の用語は、無線通信機能を有する有しないに関わらず、ネットワークに有線接続された、例えばPCのような上記した装置の少なくともいくつかをいう。
【0077】
図10は、提案するユーザ端末50の実施形態を示すブロック図である。この例はUEを示している。マイクロホンからのアナログ信号は、アナログ/デジタル変換器A/Dに送られ、符号化器10により、提案する技術に従いデジタル信号が処理される。特に、符号化器10は、上述のようにオーディオ信号セグメントのスペクトルピーク位置を符号化する(典型的には、符号化器は、オーディオ信号セグメントの周波数領域変換、セグメントを表す他のパラメータの符号化等、その他のタスクも実行しうる。ただし、それらのタスクは周知技術であり、かつ、提案する技術の本質をなすものでもないので、それらのタスクについては説明を省略する。)。符号化されたスペクトルピーク位置(およびその他のパラメータ)は、復号化器へ送信するために無線部40に送られる。オプションとして、上記したように、選択された符号化法も復号化器に送信されうる。
【0078】
本明細書に記載の実施形態は、スペクトルピーク位置の復号化のためのオーディオ信号セグメント復号化方法にも関する。方法は、上述の符号化方法に対応する方法である。
【0079】
図11は、提案する技術の復号化方法の実施形態を示すフローチャートである。ステップ1101において、オーディオ信号セグメントの符号化されたスペクトルピーク位置が受信される。ステップ1102において、スペクトルピーク位置を符号化するために選択された符号化法の指示が受信される。ステップ1103において、指示された符号化法に対応する復号化モードでスペクトルピーク位置が復号化される。これは、指示された符号化法に従い、すなわち、指示された符号化法に対応する復号化法を用いて、スペクトルピーク位置が復号化される。指示される復号化法は、2つのロスレス・スペクトルピーク位置符号化法のうちのいずれかであり、上記したように、2つのロスレス・スペクトルピーク位置符号化法のうちの第1の符号化法は、周期的又は概周期的なスペクトルピーク位置分布に適した符号化法であり、2つのロスレス・スペクトルピーク位置符号化法のうちの第2の符号化法は、スパースなスペクトルピーク位置分布に適した符号化法である。
【0080】
スパースなスペクトルピーク位置分布に適した符号化法が指示された場合、符号化されたスペクトルピーク位置は、グループビットベクトル及び該グループビットベクトルによって指示される圧縮されたノンゼロビットグループのかたちで受信されうる。これは、上述したようなスパース符号化法に対応する。グループビットベクトルにおけるそれぞれの位置は、連続する同じサイズのビットのグループを表す。さらに、スペクトルピークを含む同サイズグループは、スペクトルピークを有しない同サイズグループから分離できるものである。スペクトルピークを有する同サイズグループはノンゼロビットグループと表記されうるものであり、グループビットベクトルにおいて、スペクトルピークを有しない同サイズグループとは異なる指示がされる。例えば、上述の式(5)〜(7)のように、グループビットベクトルにおいて、ノンゼロビットグループは、“1”で指示され、スペクトルピークを有しないグループは“0”で指示されうる。
【0081】
グループビットベクトルにおいて何らかの指示がされると、ノンゼロビットグループは、2つの連続するピークの間の最小許容距離の制約に基づいて復元されうる。これは、上記した表1のようなテーブルを用いてデマッピングすることにより、圧縮されたかたちでグループビットベクトルに連結されうるノンゼロビットグループが復元されうる。ピーク間の最小許容距離に関する制約又は制限のため、ノンゼロビットグループの全ての系列に対して可能であるわけではなく、先述したように、可能な系列が短い系列にマッピングされて圧縮される。
【0082】
グループビットベクトルにおいて何らかの指示がされると、「ゼロビット」グループ、すなわちスペクトルピークがないグループは、0の系列を生成することで復元されうる。各グループは同じサイズであるべきであるから、このような0の系列は、復元されたノンゼロビットグループと同じサイズであるべきである。グループビットベクトルで指示されたゼロビットグループにより、スパース符号化法又はモードが、スパースなスペクトルピーク位置分布に適用される。
【0083】
指示されたスペクトルピーク位置符号化法が周期的又は概周期的なスペクトルピーク位置分布に適した符号化法である場合、受信したスペクトルピーク位置の復号化は、前述した符号化に対応するハフマン復号化及びデルタ復号化を含みうる。ハフマン復号化に使用されるハフマンテーブルのサイズは、前述したように、第2のスペクトルピーク位置符号化法とともに最適化されうる。
【0084】
代替の実施形態において、符号化器が復号化器に選択された符号化法を指示しない場合、提案する技術の復号化方法は、異なるスペクトルピーク位置分布に適した2つのスペクトルピーク位置復号化モードにおけるスペクトルピーク位置のトライアル復号化と呼ばれる技術を含みうる。スペクトルピーク位置の正しく復号化されたセットが得られる復号化法又はモードが、選択された符号化法に対応すると想定される。
【0085】
実施形態は、オーディオ信号を復号化するように動作する復号化器にも関する。復号化器は、上述したスペクトルピーク位置を復号化するオーディオ信号セグメント復号化方法の少なくとも1つの実施形態を実施するように構成される。復号化器は、上述したスペクトルピーク位置の符号化及び復号化のための対応する符号化器及び方法と同様の技術的特徴、目的、利点を有する。復号化器については重複した説明を避けるため簡単に説明する。
【0086】
図12は、提案するオーディオ信号セグメント復号化器110の実施形態を示すブロック図である。入力部116は、符号化されたスペクトルピーク位置及び符号化法指示を受信する。復号化器110は、異なるスペクトルピーク位置分布に適した2つのスペクトルピーク位置符号化法のうちの指示された1つの符号化法に対応する復号化モードでスペクトルピーク位置を復号化する復号化部112を有する。出力部118は、復号化されたスペクトルピーク位置を出力する。ある「復号化モード」で復号化することは、受信した符号化されたスペクトルピーク位置を復号化するために指示された符号化法に対応する復号化法で表現されてもよい。
【0087】
スペクトルピーク位置復号化器112の1つの実施形態は、オーディオ信号セグメントの符号化されたスペクトルピーク位置を受信することと、前記指示された符号化法に従いスペクトルピーク位置を復号化することを含む。後者は、指示された符号化法に基づいてスペクトルピーク位置を復号化する、あるいは、指示された符号化法に応じてスペクトルピーク位置を復号化する、と言い換えてもよい。
図13は、提案するオーディオ信号セグメント復号化器110の他の実施形態を示すブロック図である。符号化されたスペクトルピーク位置と符号化法指示がスペクトルピーク位置復号化モジュール112に送信され、スペクトルピーク位置復号化モジュール112は復号化されたスペクトルピーク位置を出力する。
【0088】
図13の復号化器110の1つの実施形態は、受信したオーディオ信号セグメントの符号化されたスペクトルピーク位置を、スペクトルピーク位置を符号化するために選択されあ符号化法の受信した指示に対応する復号化モードでスペクトルピーク位置に復号化するためのスペクトルピーク位置復号化モジュール112を含む。
【0089】
図13の復号化器110の他の実施形態においては、異なるスペクトルピーク位置分布に適した少なくとも2つのスペクトルピーク位置復号化モードでオーディオ信号セグメントの受信した符号化されたスペクトルピーク位置をスペクトルピーク位置に試験的に復号化しスペクトルピーク位置が正しく復号化されたセットを出力するスペクトルピーク位置復号化モジュール112を含む。
【0090】
図14は、提案する復号化器の実施形態を示すブロック図である。この実施形態は、プロセッサ22と該プロセッサが実行可能な命令を含むメモリ24とを有する。命令の実行により、復号化器110は、異なるスペクトルピーク位置分布に適した少なくとも2つのスペクトルピーク位置符号化モードに対応する復号化モードでスペクトルピーク位置を復号化するよう動作する。命令は、コンピュータ読み取り可能な媒体にコンピュータプログラム製品として格納され、
図14の右側の破線矢印にて示されるように、メモリ24に転送される。符号化されたスペクトルピーク位置及び符号化法は入力部INを介してプロセッサ22に転送され、復号化されたスペクトルピーク位置は出力部OUTを介して出力される。
【0091】
一実施形態において、プロセッサによる命令の実行は、オーディオ信号セグメントの符号化されたスペクトルピーク位置を受信し、スペクトルピーク位置を符号化するために選択された符号化法の指示を受信し、指示された符号化法に対応する復号化モードでスペクトルピーク位置を復号化するように動作する
図14の復号化器を実現する。
【0092】
図15は、提案する復号化器110の他の実施形態を示すブロック図である。この実施形態は、オーディオ信号セグメントのスペクトルピーク位置を復号化するためのコンピュータプログラム130lを実行する、マイクロプロセッサ等のプロセッサ22に基づく。コンピュータプログラムはメモリ24に記憶される。プロセッサ22は、システムバスを介してメモリと通信する。入力された符号化されたスペクトルピーク位置及び符号化法指示は、プロセッサ22及びメモリ24が接続されるI/Oバスを制御するI/Oコントローラ26によって受信される。ソフトウェア130から得られた(復号化された)スペクトルピーク位置は、I/Oコントローラ26によって、I/Oバスを介して、メモリ24から出力される。コンピュータプログラム130は、オーディオ信号セグメントの符号化されたスペクトルピーク位置を受信する符号処理部132と、スペクトルピーク位置を符号化するために選択された符号化法の指示を受信する符号処理部134と、指示された符号化法に対応する復号化モードでスペクトルピーク位置を復号化する符号処理部136とを含む。符号処理部136は、指示された符号化法に応じてスペクトルピーク位置を復号化する、と言い換えてもよい。
【0093】
メモリに含まれるコンピュータプログラムは、プロセッサにより実行されるときに上述のステップ及び/又はタスクの少なくとも一部を実行する、好適な関数モジュールとして構成されうる。このような機能モジュールの例が、
図15に示される。
【0094】
図16は、提案するユーザ端末の実施形態を示すブロック図である。この例はUEを示している。アンテナからの無線信号は、無線部160に送られ、無線部からのデジタル信号は、復号化器110によって提案する技術に従い処理される。特に、復号化器110は、上述したように、オーディオ信号セグメントの符号化されたスペクトルピーク位置を復号化する(典型的には、復号化器は、セグメントを表す他のパラメータの復号化等、その他のタスクも実行しうる。ただし、それらのタスクは周知技術であり、かつ、提案する技術の本質をなすものでもないので、それらのタスクについては説明を省略する。)。復号化されたスペクトルピーク位置(及びその他のパラメータ)は、スピーカに接続された信号再構成部142へ送られる。上記したように、選択された符号化法も復号化器で受信されうる。
【0095】
上述した実施形態は例示にすぎないものであり、提案した技術はそれらの実施形態に限定されるものと理解すべきではない。実施形態に対しては、本発明の範囲から逸脱することなしに、種々の改良、組み合わせ、変更を行いうることは、当業者には理解されよう。特に、異なる実施形態におけるソリューションの異なる部分は、技術的に可能な範囲で他の構成と組み合わせることが可能である。
【0096】
(略語の説明)
ASIC 特定用途向け集積回路(Application Specific Integrated Circuit)
CPU 中央処理装置(Central Processing Unit)
DSP デジタル信号プロセッサ(Digital Signal Processor)
FPGA フィールド・プログラマブル・ゲートアレイ(Field Programmable Gate Array)
PLC プログラマブル・ロジック・コントローラ(Programmable Logic Controller)