IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ノキア テクノロジーズ オサケユイチアの特許一覧

特許7621365空間音声パラメータの符号化および関連する復号
<>
  • 特許-空間音声パラメータの符号化および関連する復号 図1
  • 特許-空間音声パラメータの符号化および関連する復号 図2
  • 特許-空間音声パラメータの符号化および関連する復号 図3
  • 特許-空間音声パラメータの符号化および関連する復号 図4
  • 特許-空間音声パラメータの符号化および関連する復号 図5
  • 特許-空間音声パラメータの符号化および関連する復号 図6
  • 特許-空間音声パラメータの符号化および関連する復号 図7
  • 特許-空間音声パラメータの符号化および関連する復号 図8
  • 特許-空間音声パラメータの符号化および関連する復号 図9
  • 特許-空間音声パラメータの符号化および関連する復号 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-16
(45)【発行日】2025-01-24
(54)【発明の名称】空間音声パラメータの符号化および関連する復号
(51)【国際特許分類】
   G10L 19/035 20130101AFI20250117BHJP
   G10L 19/008 20130101ALI20250117BHJP
【FI】
G10L19/035 Z
G10L19/008 100
【請求項の数】 6
(21)【出願番号】P 2022542955
(86)(22)【出願日】2020-12-07
(65)【公表番号】
(43)【公表日】2023-03-10
(86)【国際出願番号】 FI2020050821
(87)【国際公開番号】W WO2021144498
(87)【国際公開日】2021-07-22
【審査請求日】2022-09-02
(31)【優先権主張番号】2000465.1
(32)【優先日】2020-01-13
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】515076873
【氏名又は名称】ノキア テクノロジーズ オサケユイチア
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】ヴァシラケ アドリアナ
【審査官】中村 天真
(56)【参考文献】
【文献】特表2021-503628(JP,A)
【文献】国際公開第2020/008105(WO,A1)
【文献】Nokia Corporation,Description of the IVAS MASA C Reference Software [online],3GPP TSG-SA4#106 S4-191137,2019年10月,p.1-16,[2023.10.06検索] インターネット<URL: https://www.3gpp.org/ftp/TSG_SA/WG4_CODEC/TSGS4_106_Busan/Docs/S4-191167.zip>
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/00-19/26
(57)【特許請求の範囲】
【請求項1】
装置であって、
少なくとも1つの音声信号の少なくとも2つの時間周波数タイルの各々に関連付けられた方向パラメータ値を得ることと、
コードブックに基づいて各々の方向パラメータ値を符号化することであって、前記コードブックが、第1の量子化分解能が量子化値のセットを含み、少なくとも第2の、または次の量子化分解能が量子化値のさらなるセットを含むように準備された2つ以上の量子化分解能を含み、前記量子化値のさらなるセットが、前記第1の量子化分解能の量子化値のセットを組み込む、符号化することと、
を行うように構成された手段を備え、
前記コードブックに基づいて各々の方向パラメータ値を符号化するように構成された前記手段が、
方向パラメータ値ごとに、前記第2の量子化分解能の前記量子化値のさらなるセットから最も近い量子化値を決定することと、
前記方向パラメータ値の各々について、前記最も近い量子化値のための符号語指数を生成することと、
前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数を決定することと、
前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数を、割り当てられたビット数と比較することと、
を行うように構成され、
前記符号語指数をエントロピー符号化するために必要とされるビット数が、前記割り当てビット数より大きいとき、前記装置は、
前記少なくとも2つの時間周波数タイルに関連付けられた前記方向パラメータ値に対する前記決定された最も近い量子化値の決定された角度量子化歪みに基づいて、前記少なくとも2つの時間周波数タイルを順序付けることと、
前記少なくとも2つの順序付けられた時間周波数タイルの順序で、一度に1つの順序付けられた時間周波数タイルに対して、前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数が、割り当てられたビット数以下になるまで
順序付けられた時間周波数タイルに関連付けられた方向パラメータ値の最も近い量子化値を選択するステップと、
前記選択された最も近い量子化値が、前記量子化値のさらなるセットの要素であるが、前記第1の量子化分解能の前記量子化値のセットの要素ではないかどうかを決定するステップと、
前記決定が肯定的であるとき、前記第1の量子化分解能の前記量子化値のセットを用いて、前記順序付けられた時間周波数タイルに関連付けられた前記方向パラメータ値の符号語指数を再生成し、前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数を決定するステップと、
を行うように構成された手段を備えた、装置。
【請求項2】
前記コードブックに基づいて前記方向パラメータ値を符号化するように構成された前記手段が、
前記コードブックに基づいて方位角方向パラメータ値を符号化することと、
記少なくとも2つの時間周波数タイルのための少なくとも1つの平均仰角方向パラメータ値に基づいて仰角方向パラメータ値を符号化することと、
を行うようにさらに構成されている、請求項1に記載の装置。
【請求項3】
前記手段が、前記方向パラメータ値に関連付けられたエネルギー比値の値に基づいて前記少なくとも2つの時間周波数タイルの各々に関連付けられた前記方向パラメータ値を符号化するための前記割り当てビット数を決定するようにさらに構成されている、請求項1または2に記載の装置。
【請求項4】
方法であって、
少なくとも1つの音声信号の少なくとも2つの時間周波数タイルの各々に関連付けられた方向パラメータ値を得ることと、
コードブックに基づいて各々の方向パラメータ値を符号化することであって、前記コードブックが、第1の量子化分解能が量子化値のセットを含み、少なくとも第2の、または次の量子化分解能が量子化値のさらなるセットを含むように準備された2つ以上の量子化分解能を含み、前記量子化値のさらなるセットが、前記第1の量子化分解能の量子化値のセットを組み込む、符号化することと、
を含み、
前記コードブックに基づいて各々の方向パラメータ値を符号化することが、
方向パラメータ値ごとに、前記第2の量子化分解能の前記量子化値のさらなるセットから最も近い量子化値を決定することと、
前記方向パラメータ値の各々について、前記最も近い量子化値のための符号語指数を生成することと、
を含み、
前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数を決定することと、
前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数を、割り当てられたビット数と比較することと、
を行うように構成され、
前記符号語指数をエントロピー符号化するために必要とされるビット数が、前記割り当てビット数より大きいとき、前記方法は、
前記少なくとも2つの時間周波数タイルに関連付けられた前記方向パラメータ値に対する前記決定された最も近い量子化値の決定された角度量子化歪みに基づいて、前記少なくとも2つの時間周波数タイルを順序付けることと、
前記少なくとも2つの順序付けられた時間周波数タイルの順序で、一度に1つの順序付けられた時間周波数タイルに対して、前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数が、割り当てられたビット数以下になるまで
順序付けられた時間周波数タイルに関連付けられた方向パラメータ値の最も近い量子化値を選択するステップと、
前記選択された最も近い量子化値が、前記量子化値のさらなるセットの要素であるが、前記第1の量子化分解能の前記量子化値のセットの要素ではないかどうかを決定するステップと、
前記決定が肯定的であるとき、前記第1の量子化分解能の前記量子化値のセットを用いて、前記順序付けられた時間周波数タイルに関連付けられた前記方向パラメータ値の符号語指数を再生成し、前記少なくとも2つの時間周波数タイルに関連付けられた前記符号語指数をエントロピー符号化するために必要とされるビット数を決定するステップと、
を行うこととを含む、方法。
【請求項5】
前記コードブックに基づいて前記方向パラメータ値を符号化することが、
前記コードブックに基づいて方位角方向パラメータ値を符号化することと、
記少なくとも2つの時間周波数タイルのための少なくとも1つの平均仰角方向パラメータ値に基づいて仰角方向パラメータ値を符号化することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記方向パラメータ値に関連付けられたエネルギー比値の値に基づいて前記少なくとも2つの時間周波数タイルの各々に関連付けられた前記方向パラメータ値を符号化するための前記割り当てビット数を決定することをさらに含む、請求項4または5に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、音場関連パラメータ符号化のための、ただし、音声符号器および復号器のための時間周波数領域方向関連パラメータ符号化(time-frequency domain direction related parameter encoding)のためのものに限らない、装置および方法に関する。
【背景技術】
【0002】
パラメトリック空間音声処理は、音響の空間的側面がパラメータのセットを用いて記述される音声信号処理の技術分野である。例えば、マイクロフォンアレイからのパラメトリック空間音声取り込みにおいては、マイクロフォンアレイ信号から、周波数帯域内の音響の方向、および周波数帯域内の取り込まれた音響の指向性および無指向性部分の間の比などの方向メタデータパラメータのセットを推定することが、典型的で効果的な選定である。これらのパラメータは、マイクロフォンアレイの位置において取り込まれた音響の知覚的空間特性をうまく記述することが知られている。したがって、これらのパラメータは、バイノーラル方式によるヘッドフォンのための、ラウドスピーカのための、またはアンビソニックスなどの、他の形式への、空間音響の合成において利用することができる。
【0003】
それゆえ、周波数帯域内の方向および指向性対総計エネルギー比(direct-to-total energy ratio)などの方向メタデータは、空間音声取り込みのために特に有効となるパラメータ表現である。
【0004】
周波数帯域ごとの1つまたは複数の方向値、および各方向値に関連付けられたエネルギー比パラメータから成る方向メタデータパラメータセットは、音声コーデックのための(拡散コヒーレンス(spread coherence)、方向数、距離等などの他のパラメータも含み得る)空間メタデータとして利用することもできる。方向メタデータパラメータセットは他のパラメータも含み得るか、または非指向性であると考えられる他のパラメータ(周囲コヒーレンス(surround coherence)、拡散対総計エネルギー比(diffuse-to-total energy ratio)、残余対総計エネルギー比(remainder-to-total energy ratio)など)に関連付けられ得る。例えば、これらのパラメータはマイクロフォンアレイによって取り込まれた音声信号から推定することができ、例えば、マイクロフォンアレイ信号から、空間メタデータを用いて伝達されるべきステレオ信号が生成され得る。
【0005】
一部のコーデックは、非常に低いビットレートから比較的高いビットレートに及ぶ様々なビットレートで動作することが期待されるため、動作点ごとのコーデック性能を最適化するために、様々な方略が空間メタデータの圧縮のために必要とされる。符号化されたパラメータ(メタデータ)の生ビットレートは比較的高く、したがって、特に、より低いビットレートにおいては、メタデータの最重要部分のみを符号器から復号器へ伝達することができることが期待される。
【0006】
復号器は、音声信号をPCM信号に復号し、(空間メタデータを用いて)周波数帯域内の音響を処理し、空間出力、例えば、バイノーラル出力を得ることができる。
【0007】
上述の解決策は、(例えば、携帯電話、ビデオカメラ、VRカメラ、独立型マイクロフォンアレイ内の)マイクロフォンアレイから取り込まれた空間音響を符号化するために特に適している。しかし、このような符号器が、マイクロフォンアレイによって取り込まれた信号以外の入力形式、例えば、ラウドスピーカ信号、音声オブジェクト信号、またはアンビソニックス信号も有することが望ましくなり得る。
【発明の概要】
【0008】
第1の態様によれば、少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得ることと、コードブックに基づいて、得られた方向パラメータ値を符号化することであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベル(preceding quantization level)の量子化値を含むように準備された2つ以上の量子化レベルを含む、符号化することと、を行うように構成された手段を備える装置が提供される。
【0009】
コードブックに基づいて、得られた方向パラメータ値を符号化するように構成された手段は、得られた方向パラメータ値の各々に対して、決定された量子化レベルの量子化値のセット、および前の量子化レベルの量子化値から最も近い量子化値を決定することと、関連付けられた最も近い量子化値に基づいて、得られた方向パラメータ値の各々のための符号語を生成することと、を行うようにさらに構成され得る。
【0010】
コードブックに基づいて、得られた方向パラメータ値を符号化するように構成された手段は、サブ帯域および時間ブロックを含むフレーム内のサブ帯域のための生成された符号語をエントロピー符号化するようにさらに構成され得る。
【0011】
コードブックに基づいて、得られた方向パラメータ値を符号化するように構成された手段は、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数以下になるまで、反復的に、選択された量子化レベルに基づいてサブ帯域および時間ブロックを含むフレーム内のサブ帯域のための方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数を割り当てビット数と比較することと、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数よりも大きいことに応じて、前の量子化レベルを選択し、前の量子化レベルに基づいて、得られた方向パラメータ値を再符号化することとを、を行うようにさらに構成され得る。
【0012】
コードブックに基づいて方向パラメータ値を符号化するように構成された手段は、決定された角度量子化歪み(angular quantization distortion)に基づいてサブ帯域および時間ブロックを含むフレーム内のサブ帯域のための方向パラメータ値のための決定された最も近い量子化値を順序付けることと、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数以下になるまで、反復的に、および決定された順序で、最も近い量子化値のうちの1つを選択し、選択された最も近い量子化値が前の量子化レベルの量子化値の要素であるかどうかを決定することと、前の量子化レベルの量子化値を用いて、得られた方向パラメータ値を再符号化することと、を行うようにさらに構成され得る。
【0013】
コードブックに基づいて、得られた方向パラメータ値を符号化するように構成された手段は、コードブックに基づいて方位角(azimuth)方向パラメータ値を符号化することと、サブ帯域および時間ブロックを含むフレーム内のサブ帯域のための少なくとも1つの平均仰角方向パラメータ値に基づいて仰角方向パラメータ値を符号化することと、を行うようにさらに構成され得る。
【0014】
手段は、得られた方向パラメータ値に関連付けられたエネルギー比値の値に基づいてサブ帯域および時間ブロックを含むフレーム内の各サブ帯域を符号化するための割り当てビット数を決定するようにさらに構成され得る。
【0015】
第2の態様によれば、少なくとも1つのコードブック符号化された(codebook encoded)方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得ることであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、得ることと、少なくとも1つのコードブック符号化された方向パラメータ値を復号することと、を行うように構成された手段を備える装置が提供される。
【0016】
第3の態様によれば、少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得ることと、コードブックに基づいて、得られた方向パラメータ値を符号化することであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、符号化することと、を含む方法が提供される。
【0017】
コードブックに基づいて、得られた方向パラメータ値を符号化することは、得られた方向パラメータ値の各々に対して、決定された量子化レベルの量子化値のセット、および前の量子化レベルの量子化値から最も近い量子化値を決定することと、関連付けられた最も近い量子化値に基づいて、得られた方向パラメータ値の各々のための符号語を生成することと、を含み得る。
【0018】
コードブックに基づいて、得られた方向パラメータ値を符号化することは、サブ帯域および時間ブロックを含むフレーム内のサブ帯域のための生成された符号語をエントロピー符号化することをさらに含み得る。
【0019】
コードブックに基づいて、得られた方向パラメータ値を符号化することは、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数以下になるまで、反復的に、選択された量子化レベルに基づいてサブ帯域および時間ブロックを含むフレーム内のサブ帯域のための方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数を割り当てビット数と比較することと、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数よりも大きいことに応じて、前の量子化レベルを選択し、前の量子化レベルに基づいて、得られた方向パラメータ値を再符号化することと、をさらに含み得る。
【0020】
コードブックに基づいて方向パラメータ値を符号化することは、決定された角度量子化歪みに基づいてサブ帯域および時間ブロックを含むフレーム内のサブ帯域のための方向パラメータ値のための決定された最も近い量子化値を順序付けることと、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数以下になるまで、反復的に、および決定された順序で、最も近い量子化値のうちの1つを選択し、選択された最も近い量子化値が前の量子化レベルの量子化値の要素であるかどうかを決定し、前の量子化レベルの量子化値を用いて、得られた方向パラメータ値を再符号化することと、をさらに含み得る。
【0021】
コードブックに基づいて、得られた方向パラメータ値を符号化することは、コードブックに基づいて方位角方向パラメータ値を符号化することと、サブ帯域および時間ブロックを含むフレーム内のサブ帯域のための少なくとも1つの平均仰角方向パラメータ値に基づいて仰角方向パラメータ値を符号化することと、をさらに含み得る。
【0022】
本方法は、得られた方向パラメータ値に関連付けられたエネルギー比値の値に基づいてサブ帯域および時間ブロックを含むフレーム内の各サブ帯域を符号化するための割り当てビット数を決定することをさらに含み得る。
【0023】
第4の態様によれば、少なくとも1つのコードブック符号化された方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得ることであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、得ることと、少なくとも1つのコードブック符号化された方向パラメータ値を復号することと、を含む方法が提供される。
【0024】
第5の態様によれば、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリと、を備える装置であって、少なくとも1つのメモリおよびコンピュータプログラムコードが、少なくとも1つのプロセッサを用いて、装置に、少なくとも、少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得ることと、コードブックに基づいて、得られた方向パラメータ値を符号化することであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、符号化することと、を行わせるように構成されている、装置が提供される。
【0025】
コードブックに基づいて、得られた方向パラメータ値を符号化させられる装置は、得られた方向パラメータ値の各々に対して、決定された量子化レベルの量子化値のセット、および前の量子化レベルの量子化値から最も近い量子化値を決定することと、関連付けられた最も近い量子化値に基づいて、得られた方向パラメータ値の各々のための符号語を生成することと、をさらに行わせられ得る。
【0026】
コードブックに基づいて、得られた方向パラメータ値を符号化させられる装置は、サブ帯域および時間ブロックを含むフレーム内のサブ帯域のための生成された符号語をエントロピー符号化することをさらに行わせられ得る。
【0027】
コードブックに基づいて、得られた方向パラメータ値を符号化させられる装置は、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数以下になるまで、反復的に、選択された量子化レベルに基づいてサブ帯域および時間ブロックを含むフレーム内のサブ帯域のための方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数を割り当てビット数と比較することと、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数よりも大きいことに応じて、前の量子化レベルを選択し、前の量子化レベルに基づいて、得られた方向パラメータ値を再符号化することと、をさらに行わせられ得る。
【0028】
コードブックに基づいて方向パラメータ値を符号化させられる装置は、決定された角度量子化歪みに基づいてサブ帯域および時間ブロックを含むフレーム内のサブ帯域のための方向パラメータ値のための決定された最も近い量子化値を順序付けることと、方向パラメータ値のための符号語をエントロピー符号化するために必要とされるビット数が割り当てビット数以下になるまで、反復的に、および決定された順序で、最も近い量子化値のうちの1つを選択し、選択された最も近い量子化値が前の量子化レベルの量子化値の要素であるかどうかを決定することと、前の量子化レベルの量子化値を用いて得られた方向パラメータ値を再符号化することと、をさらに行わせられ得る。
【0029】
コードブックに基づいて、得られた方向パラメータ値を符号化させられる装置は、コードブックに基づいて方位角方向パラメータ値を符号化することと、サブ帯域および時間ブロックを含むフレーム内のサブ帯域のための少なくとも1つの平均仰角方向パラメータ値に基づいて仰角方向パラメータ値を符号化することと、をさらに行わせられ得る。
【0030】
装置は、得られた方向パラメータ値に関連付けられたエネルギー比値の値に基づいてサブ帯域および時間ブロックを含むフレーム内の各サブ帯域を符号化するための割り当てビット数を決定することをさらに行わせられ得る。
【0031】
第6の態様によれば、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリと、を備える装置であって、少なくとも1つのメモリおよびコンピュータプログラムコードが、少なくとも1つのプロセッサを用いて、装置に、少なくとも1つのコードブック符号化された方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得ることであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、得ることと、少なくとも1つのコードブック符号化された方向パラメータ値を復号することと、を行わせるように構成されている、装置が提供される。
【0032】
第7の態様によれば、少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得るための手段と、コードブックに基づいて、得られた方向パラメータ値を符号化するための手段であって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、手段と、を備える装置が提供される。
【0033】
第8の態様によれば、少なくとも1つのコードブック符号化された方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得るための手段であって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、手段と、少なくとも1つのコードブック符号化された方向パラメータ値を復号するための手段と、を備える装置が提供される。
【0034】
第9の態様によれば、装置に、少なくとも以下のこと:少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得ることと、コードブックに基づいて、得られた方向パラメータ値を符号化することであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、符号化することと、を遂行させるための命令を含むコンピュータプログラム[またはプログラム命令を含むコンピュータ可読媒体]が提供される。
【0035】
第10の態様によれば、装置に、少なくとも以下のこと:少なくとも1つのコードブック符号化された方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得ることであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、得ることと、少なくとも1つのコードブック符号化された方向パラメータ値を復号することと、を遂行させるための命令を含むコンピュータプログラム[またはプログラム命令を含むコンピュータ可読媒体]が提供される。
【0036】
第11の態様によれば、装置に、少なくとも以下のこと:少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得ることと、コードブックに基づいて、得られた方向パラメータ値を符号化することであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、符号化することと、を遂行させるためのプログラム命令を含む非一時的コンピュータ可読媒体が提供される。
【0037】
第12の態様によれば、装置に、少なくとも以下のこと:少なくとも1つのコードブック符号化された方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得ることであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、得ることと、少なくとも1つのコードブック符号化された方向パラメータ値を復号することと、を遂行させるためのプログラム命令を含む非一時的コンピュータ可読媒体が提供される。
【0038】
第13の態様によれば、少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得るように構成された獲得回路機構と、コードブックに基づいて、得られた方向パラメータ値を符号化するように構成された符号化回路機構であって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、符号化回路機構と、を備える装置が提供される。
【0039】
第14の態様によれば、少なくとも1つのコードブック符号化された方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得るように構成された獲得回路機構であって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、獲得回路機構と、少なくとも1つのコードブック符号化された方向パラメータ値を復号するように構成された復号回路機構と、を備える装置が提供される。
【0040】
第15の態様によれば、装置に、少なくとも以下のこと:少なくとも1つの音声信号の少なくとも2つの時間周波数部分に関連付けられた方向パラメータ値を得ることと、コードブックに基づいて、得られた方向パラメータ値を符号化することであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、符号化することと、を遂行させるためのプログラム命令を含むコンピュータ可読媒体が提供される。
【0041】
第16の態様によれば、装置に、少なくとも以下のこと:少なくとも1つのコードブック符号化された方向パラメータ値を含む少なくとも1つの符号化されたビットストリームを得ることであって、コードブックが、第1の量子化レベルが量子化値の第1のセットを含み、第2の、または次の量子化レベルが、量子化値の第2の、またはさらなるセット、および前の量子化レベルの量子化値を含むように準備された2つ以上の量子化レベルを含む、得ることと、少なくとも1つのコードブック符号化された方向パラメータ値を復号することと、を遂行させるためのプログラム命令を含むコンピュータ可読媒体が提供される。
【0042】
上述されたとおりの方法のアクションを遂行するための手段を備える装置。
【0043】
上述されたとおりの方法のアクションを遂行するように構成された装置。
【0044】
コンピュータに、上述されたとおりの方法を遂行させるためのプログラム命令を含むコンピュータプログラム。
【0045】
媒体上に記憶されたコンピュータプログラム製品が、装置に、本明細書において説明されるとおりの方法を遂行させ得る。
【0046】
電子デバイスが、本明細書において説明されるとおりの装置を備え得る。
【0047】
チップセットが、本明細書において説明されるとおりの装置を備え得る。
【0048】
本出願の実施形態は、現況技術に付随する問題に対処することを目的とする。
【0049】
本出願のより深い理解のために、次に、添付の図面を例として参照する。
【図面の簡単な説明】
【0050】
図1】いくつかの実施形態を実施するために適した装置のシステムを概略的に示す図である。
図2】いくつかの実施形態に係る符号器を概略的に示す図である。
図3】いくつかの実施形態に係る、図2に示されるとおりの符号器の動作のフロー図を示す。
図4】いくつかの実施形態に係る、図2に示されるとおりの方向符号器を概略的に示す図である。
図5】いくつかの実施形態に係る、図4に示されるとおりの方向符号器の動作のフロー図を示す。
図6】いくつかの実施形態に係る、図2および図4に示されるとおりの方向符号器のフレキシブル境界コードブック(flexible border codebook)符号器部分を概略的に示す図である。
図7】いくつかの実施形態に係る、図6に示されるとおりのフレキシブル境界コードブック符号器部分の符号器の動作のフロー図を示す。
図8】いくつかの実施形態に係る例示的なコードブック角度割り当てを示す図である。
図9】いくつかの実施形態に係る、図6に示されるとおりの符号器のためのフレキシブル境界コードブックの選択の動作のさらなるフロー図を示す。
図10】示される装置を実施するために適した例示的なデバイスを概略的に示す図である。
【発明を実施するための形態】
【0051】
以下のことは、空間分析導出メタデータパラメータを組み合わせ、符号化することを提供するために適した装置および可能な機構をさらに詳細に説明する。以下の説明において、マルチチャンネルシステムはマルチチャンネルマイクロフォンの実装形態に関して説明される。しかし、上述されたように、入力形式は、マルチチャンネルラウドスピーカ、アンビソニックス(FOA/HOA)等などの、任意の好適な入力形式であり得る。実施形態によっては、チャンネルの場所はマイクロフォンの場所に基づくか、または仮想的な場所もしくは方向であることが理解される。
【0052】
さらに、以下の例では、例示的なシステムの出力はマルチチャンネルラウドスピーカ構成である。他の実施形態では、出力はラウドスピーカ以外の手段を介してユーザにレンダリングされてもよい。マルチチャンネルラウドスピーカ信号はまた、2つ以上の再生音声信号に一般化されてもよい。
【0053】
上述されたように、音声信号に関連付けられた方向メタデータは、時間周波数タイル(time-frequency tile)ごとに複数のパラメータ(複数の方向、および各方向に関連付けられた、指向性対総計比、距離等など)を含み得る。方向メタデータは他のパラメータも含み得るか、または非指向性であると考えられるが、方向パラメータと組み合わせられたときに、音声シーンの特性を規定するために用いられ得る他のパラメータ(周囲コヒーレンス、拡散対総計エネルギー比、残余対総計エネルギー比など)に関連付けられ得る。例えば、良質の出力を生み出すことができる合理的な設計上の選択は、方向メタデータが時間周波数サブフレームごとに2つの方向(および各方向に関連付けられた、指向性対総計比、距離値等)を含むというものであり、決定される。しかし、以上でも説明されたように、帯域幅および/または記憶の制限は、コーデックに、周波数帯域および時間サブフレームごとに方向メタデータパラメータ値を送信しないよう要求し得る。
【0054】
本提案は、メタデータの非可逆圧縮を考慮した英国特許出願第1811071.8号において開示されているものを含み、国際出願PCT/FI2019/050675号について、所与のサブ帯域のために利用可能なビット数が極めて少ないときには、ベクトル量子化のアプローチが議論された。最大9ビットのみのコードブックであっても、ベクトル量子化器のアプローチはコーデックのテーブルROMを増大させ、2、3、4、…、および9ビットの4次元コードブックのためにおよそ4kBのメモリが用いられる。
【0055】
以下の実施形態内で説明されるコンセプトは、移送音声信号(transport audio signal)および(空間)方向メタデータを有する空間音声ストリームの符号化に関し、ここでは、ベクトル量子化器を用いるのではなく、フレキシブル境界を有する埋め込みコードブックを実装する装置および方法が説明される。メモリ消費を低減するために、実施形態によっては、コードブックは1次元であり、符号語は、1ビットコードブックを形成するものが最初に現れ、それに続いて、2ビットコードブックに属するが、1ビットコードブックには属さないものが現れ、次に、3ビットコードブックに属するが、1および2ビットのものには属さないものが現れる、などのように指数付けされる。このような実施形態では、1度に1つのサブ帯域が符号化される。現在のサブ帯域のために利用可能なビット数、および量子化されていない音声方向データまでの距離に基づいて、時間周波数タイルごとの符号語が選択され、それらの指数が、好適なエントロピー符号化方法、例えばゴロムライス符号化を用いて符号化される。
【0056】
図1に関して、本出願の実施形態を実施するための例示的な装置およびシステムが示される。システム100は、「分析」部分121および「合成」部分131を有するように示されている。「分析」部分121は、マルチチャンネル信号の受信から、方向メタデータおよび移送信号の符号化までの部分であり、「合成」部分131は、符号化された方向メタデータおよび移送信号の復号から、(例えば、マルチチャンネルラウドスピーカの形態の)再生された信号の提示までの部分である。
【0057】
以下の説明において、「分析」部分121は一連の部分として説明されるが、実施形態によっては、部分は同じ機能装置または部分内の機能として実施され得る。換言すれば、実施形態によっては、「分析」部分121は、以下において説明されるとおりの移送信号生成器(transport signal generator)または分析プロセッサのうちの少なくとも一方を含む符号器である。
【0058】
システム100および「分析」部分121への入力はマルチチャンネル信号102である。「分析」部分121は、移送信号生成器103、分析プロセッサ105、および符号器107を含み得る。以下の例では、マイクロフォンチャンネル信号入力が説明されているが、他の実施形態では、任意の好適な入力(または合成マルチチャンネル)形式が実施され得る。このような実施形態では、音声信号に関連付けられた方向メタデータは別個のビットストリームとして符号器に提供されてもよい。マルチチャンネル信号は、移送信号生成器103および分析プロセッサ105に渡される。
【0059】
実施形態によっては、移送信号生成器103は、マルチチャンネル信号を受信し、符号化のための好適な音声信号形式を生成するように構成されている。移送信号生成器103は、例えば、ステレオまたはモノ音声信号を生成することができる。移送信号生成器によって生成される移送音声信号は任意の既知の形式であることができる。例えば、入力が、入力される音声信号が携帯電話マイクロフォンアレイ音声信号である入力である場合には、移送信号生成器103は、左右マイクロフォン対を選択し、自動利得制御、マイクロフォン雑音除去、風切り音除去、および等化などの、任意の好適な処理を音声信号対に適用するように構成され得る。実施形態によっては、入力が1次アンビソニック/高次アンビソニック(FOA/HOA:first order Ambisonic/higher order Ambisonic)信号であるときには、移送信号生成器は、2つの反対のカージオイド信号などの、左および右方向に向かう指向性ビーム信号を構築するように構成され得る。加えて、実施形態によっては、入力がラウドスピーカサラウンドミックスおよび/またはオブジェクトであるときには、このとき、移送信号生成器103は、左側チャンネルを左ダウンミックスチャンネルに組み合わせ、右側チャンネルを右ダウンミックスチャンネルに組み合わせた、中央チャンネルを好適な利得をもって両方の移送チャンネルに追加するダウンミックス信号を生成するように構成され得る。
【0060】
実施形態によっては、移送信号生成器は迂回される(または換言すれば、任意選択的なものである)。例えば、分析および合成が、中間処理を行うことなく、単一の処理ステップにおいて同じデバイスにおいて行われる状況によっては、移送信号の生成は存在せず、入力音声信号は処理されずに渡される。生成される移送チャンネルの数は、例えば、1つまたは2つのチャンネルではなく、任意の好適な数であることができる。
【0061】
移送信号生成器103の出力は符号器107に渡すことができる。
【0062】
実施形態によっては、分析プロセッサ105はまた、マルチチャンネル信号を受信し、信号を分析し、マルチチャンネル信号に関連付けられた、およびそれゆえ、移送信号104に関連付けられた方向メタデータ106を作成するように構成されている。
【0063】
分析プロセッサ105は、時間周波数分析間隔ごとに、少なくとも1つの方向パラメータ108および少なくとも1つのエネルギー比パラメータ110(ならびに実施形態によっては、非網羅的なリストが、方向数、周囲コヒーレンス、拡散対総計エネルギー比、残余対総計エネルギー比、拡散コヒーレンスパラメータ、および距離パラメータを含む、他のパラメータ)を含み得る方向メタデータパラメータを生成するように構成され得る。方向パラメータは、任意の好適な仕方で、例えば、方位角φ(k,n)および仰角θ(k,n)として表される球座標として、表現され得る。
【0064】
実施形態によっては、方向メタデータパラメータの数は時間周波数タイルごとに異なり得る。それゆえ、例えば、帯域Xでは、方向メタデータパラメータの全てが得られ(生成され)、伝送され、それに対して、帯域Yでは、方向メタデータパラメータのうちの1つのみが得られ、伝送され、さらに、帯域Zでは、パラメータが得られない、または伝送されない。これの実例は、最も高い周波数帯域に対応するいくつかの時間周波数タイルについては、知覚的理由のために方向メタデータパラメータのうちのいくつかが必要とされないことであり得る。方向メタデータ106は符号器107に渡され得る。
【0065】
実施形態によっては、分析プロセッサ105は、入力信号のために時間-周波数変換を適用するように構成されている。次に、例えば、時間周波数タイルにおいて、入力が携帯電話マイクロフォンアレイであるときには、分析プロセッサは、マイクロフォン間の相関を最大化するマイクロフォン対の間の遅延値を推定するように構成され得るであろう。次に、これらの遅延値に基づいて、分析プロセッサは、方向メタデータのための対応する方向値を構築するように構成され得る。さらに、分析プロセッサは、相関値に基づいて指向性対総計比パラメータを構築するように構成され得る。
【0066】
例えば、入力がFOA信号である実施形態によっては、分析プロセッサ105は、強度ベクトルを決定するように構成され得る。次に、分析プロセッサは、強度ベクトルに基づいて方向メタデータのための方向パラメータ値を決定するように構成され得る。次に、拡散対総計比を決定することができ、これから、方向メタデータのための指向性対総計比パラメータ値を決定することができる。この分析方法は文献において指向性音声符号化(DirAC:Directional Audio Coding)として知られている。
【0067】
例えば、入力がHOA信号である例によっては、分析プロセッサ105は、HOA信号を複数のセクタに分割するように構成され得、セクタの各々において上述の方法が利用される。このセクタベースの方法は文献において高次DirAC(HO-DirAC:higher order DirAC)として知られている。これらの例では、複数のセクタに対応する時間周波数タイルごとに1つを超える同時の方向パラメータ値が存在する。
【0068】
加えて、入力がラウドスピーカサラウンドミックスおよび/または音声オブジェクトベースの信号である実施形態によっては、分析プロセッサは、信号をFOA/HOA信号形式に変換し、上述のとおりの方向および指向性対総計比パラメータ値を得るように構成され得る。
【0069】
符号器107は、移送音声信号104を受信し、これらの音声信号の好適な符号化を生成するように構成された音声符号器コア109を含み得る。符号器107は、実施形態によっては、(メモリ上、および少なくとも1つのプロセッサ上に記憶された好適なソフトウェアを実行する)コンピュータ、あるいは代替的に、例えば、FPGAまたはASICを利用する特定のデバイスであることができる。音声符号化は任意の好適な方式を用いて実施され得る。
【0070】
符号器107は、方向メタデータを受信し、情報の符号化または圧縮された形態を出力するように構成された方向メタデータ符号器/量子化器111をさらに含み得る。実施形態によっては、符号器107は、方向メタデータを、図1において破線によって示される伝送または記憶の前に、さらにインタリーブするか、単一のデータストリームに多重化するか、または符号化されたダウンミックス信号内に埋め込んでもよい。多重化は任意の好適な方式を用いて実施され得る。
【0071】
実施形態によっては、移送信号生成器103および/または分析プロセッサ105は符号器107とは別個のデバイス上に配置され得る(または他の様態で別個になっている)。例えば、このような実施形態では、音声信号に関連付けられた方向メタデータ(および関連する非方向メタデータ)パラメータは別個のビットストリームとして符号器に提供されてもよい。
【0072】
実施形態によっては、移送信号生成器103および/または分析プロセッサ105は符号器107の部分であり、すなわち、符号器の内部に配置されており、同じデバイス上にあり得る。
【0073】
以下の説明において、「合成」部分131は一連の部分として説明されるが、実施形態によっては、部分は同じ機能装置または部分内の機能として実施され得る。
【0074】
復号器側において、受信または取得されたデータ(ストリーム)は復号器/デマルチプレクサ133によって受信され得る。復号器/デマルチプレクサ133は、符号化されたストリームを多重分離し、音声符号化されたストリームを、音声信号を復号し、移送音声信号を得るように構成された移送信号復号器135に渡し得る。同様に、復号器/デマルチプレクサ133は、符号化された方向メタデータ(例えば、方向パラメータ値を表現する方向指数)を受信し、方向メタデータを生成するように構成されたメタデータ抽出器137を含み得る。
【0075】
復号器/デマルチプレクサ133は、実施形態によっては、(メモリ上、および少なくとも1つのプロセッサ上に記憶された好適なソフトウェアを実行する)コンピュータ、あるいは代替的に、例えば、FPGAまたはASICを利用する特定のデバイスであることができる。
【0076】
復号されたメタデータおよび移送音声信号は合成プロセッサ139に渡され得る。
【0077】
システム100の「合成」部分131は、移送音声信号および方向メタデータを受信し、移送信号および方向メタデータに基づいて、マルチチャンネル信号110(これらは、マルチチャンネルラウドスピーカ形式、または実施形態によっては、使用事例に応じた、バイノーラルもしくはアンビソニックス信号などの任意の好適な出力形式であり得る)の形態の合成空間音声を任意の好適な形式で再現するように構成された合成プロセッサ139をさらに示す。
【0078】
それゆえ、合成プロセッサ139は、任意の好適な周知の方法に基づいて、出力音声信号、例えば、マルチチャンネルラウドスピーカ信号またはバイノーラル信号を作り出す。これはここではさらに詳細に説明されない。しかし、単純化された例として、レンダリングは以下の方法のうちの任意のものに従ってラウドスピーカ出力のために遂行され得る。例えば、移送音声信号は、指向性対総計および拡散対総計エネルギー比に基づいて指向性および周囲ストリーム(ambient stream)に分割することができる。その後、指向性ストリーム(direct stream)は、振幅パンニングを用いて方向パラメータに基づいてレンダリングすることができる。周囲ストリームは、さらに、脱相関(decorrelation)を用いてレンダリングすることができる。その後、指向性および周囲ストリームを組み合わせることができる。
【0079】
出力信号は、頭部追跡型(head-tracked)であり得るマルチチャンネルラウドスピーカ機構またはヘッドフォンを用いて再生することができる。
【0080】
図1の処理ブロックは、同じまたは異なる処理エンティティ内に配置することができることに留意されたい。例えば、実施形態によっては、モバイルデバイスからのマイクロフォン信号は、(分析プロセッサおよび移送信号生成器を包含する)空間音声取り込みシステムを用いて処理され、(例えば、MASAストリームの形態の)得られた空間メタデータおよび移送音声信号は、符号器を包含する、符号器(例えば、IVAS符号器)へ転送される。他の実施形態では、入力信号(例えば、5.1チャンネル音声信号)は、分析プロセッサ、移送信号生成器、および符号器を包含する、符号器(例えば、IVAS符号器)へ直接転送される。
【0081】
実施形態によっては、2つの(またはより多くの)入力音声信号が存在することができ、この場合、第1の音声信号は、図1に示される装置によって処理され(符号器のための入力としてのデータをもたらし)、第2の音声信号は、分析プロセッサ、移送信号生成器、および符号器を包含する、符号器(例えば、IVAS符号器)へ直接転送される。次に、音声入力信号は符号器において独立して符号化され得るか、またはそれらは、例えば、例として、MASAミキシングと呼ばれ得るものに従ってパラメトリック領域において組み合わせられ得る。
【0082】
実施形態によっては、別個の復号器および合成プロセッサエンティティまたは装置を含む合成部分が存在し得るか、あるいは合成部分は、復号器および合成プロセッサの両方を含む単一のエンティティを含むことができる。実施形態によっては、復号器ブロックは1つを超える入来データストリームを並列に処理し得る。本出願において、用語、合成プロセッサは、内部または外部レンダラとして解釈され得る。
【0083】
したがって、要約すると、まず、システム(分析部分)は、マルチチャンネル音声信号を受信するように構成されている。次に、システム(分析部分)は、(例えば、音声信号チャンネルのうちのいくつかを選択することによって)好適な移送音声信号を生成するように構成されている。次に、システムは、移送音声信号を記憶/伝送のために符号化するように構成されている。この後に、システムは、符号化された移送音声信号およびメタデータを記憶/伝送し得る。システムは、符号化された移送音声信号およびメタデータを取得/受信し得る。次に、システムは、符号化された移送音声信号およびメタデータパラメータから移送音声信号およびメタデータを抽出する、例えば、符号化された移送音声信号およびメタデータパラメータを多重分離し、復号するように構成されている。
【0084】
システム(合成部分)は、抽出された移送音声信号およびメタデータに基づいて出力マルチチャンネル音声信号を合成するように構成されている。
【0085】
図2に関して、いくつかの実施形態に係る(図1に示されるとおりの)例示的な分析プロセッサ105およびメタデータ符号器/量子化器111がさらに詳細に説明される。
【0086】
分析プロセッサ105は、実施形態によっては、時間周波数領域変換器201を含む。
【0087】
実施形態によっては、時間周波数領域変換器201は、マルチチャンネル信号102を受信し、入力時間領域信号を好適な時間周波数信号に変換するために短時間フーリエ変換(STFT:Short Time Fourier Transform)などの好適な時間-周波数領域変換を適用するように構成されている。これらの時間周波数信号は空間分析器203および信号分析器205に渡され得る。
【0088】
それゆえ、例えば、時間周波数信号202は次式によって時間周波数領域表現の形で表現され得る。
i(b,n),
ここで、bは周波数ビン指数であり、nは時間周波数ブロック(フレーム)指数であり、iはチャンネル指数である。別の式では、nは、元の時間領域信号のものよりも低いサンプリング速度を有する時間指数として考慮することができる。これらの周波数ビンは、ビンのうちの1つまたは複数を帯域指数k=0,…,K-1のサブ帯域にグループ化するサブ帯域にグループ化され得る。各サブ帯域kは最も低いビンbk,lowおよび最も高いビンbk,highを有し、サブ帯域はbk,low~bk,highの全てのビンを包含する。サブ帯域の幅は任意の好適な分布を近似することができる。例えば、等価矩形帯域幅(ERB:Equivalent rectangular bandwidth)尺度またはバーク尺度である。
【0089】
実施形態によっては、分析プロセッサ105は空間分析器203を含む。空間分析器203は、時間周波数信号202を受信し、これらの信号に基づいて方向パラメータ108を推定するように構成され得る。方向パラメータは、任意の音声ベースの「方向」決定に基づいて決定され得る。
【0090】
例えば、実施形態によっては、空間分析器203は、2つ以上の信号入力を用いて方向を推定するように構成されている。これは、「方向」を推定するための最も単純な構成を表し、さらにより多くの信号を用いてより複雑な処理が遂行されてもよい。
【0091】
それゆえ、空間分析器203は、方位角φ(k,n)および仰角θ(k,n)と表される、音声信号のフレーム内の周波数帯域および時間的時間周波数ブロックごとの少なくとも1つの方位角および仰角を提供するように構成され得る。方向パラメータ108はまた、方向指数生成器(direction index generator)205に渡され得る。
【0092】
空間分析器203はまた、エネルギー比パラメータ110を決定するように構成され得る。エネルギー比は、ある方向から到来すると考えることができる音声信号のエネルギーの決定であると考えられ得る。指向性対総計エネルギー比r(k,n)は、例えば、指向性推定の安定性尺度を用いて、あるいは任意の相関尺度、または比パラメータを得るための任意の他の好適な方法を用いて推定することができる。エネルギー比はエネルギー比符号器(energy ratio encoder)207に渡され得る。
【0093】
空間分析器203は、両方とも時間周波数領域において分析される、周囲コヒーレンス(γ(k,n))および拡散コヒーレンス(ζ(k,n))を含み得る多数のコヒーレンスパラメータ112を決定するようにさらに構成され得る。
【0094】
したがって、要約すると、分析プロセッサは、時間領域マルチチャンネル、またはマイクロフォンもしくはアンビソニック音声信号などの他の形式を受信するように構成されている。
【0095】
これに続いて、分析プロセッサは時間領域-周波数領域変換(例えば、STFT)を適用し、分析に適した時間周波数領域信号を生成し、次に、方向分析を適用し、方向およびエネルギー比パラメータを決定し得る。
【0096】
次に、分析プロセッサは、決定されたパラメータを出力するように構成され得る。
【0097】
方向、エネルギー比、およびコヒーレンスパラメータは、ここでは、時間指数nごとに表されるが、実施形態によっては、パラメータはいくつかの時間指数にわたって集約されてもよい。同じことが周波数軸について当てはまり、表されているように、いくつかの周波数ビンbの方向は、いくつかの周波数ビンbから成る帯域kにおける1つの方向パラメータによって表すことができるであろう。同じことが、本明細書において説明される空間パラメータの全てについて当てはまる。
【0098】
実施形態によっては、方向データは16個のビットを用いて表現されてもよく、これにより、各方位角パラメータは9つのビットを使って、および仰角は7つのビットを使って近似的に表現される。このような実施形態では、エネルギー比パラメータは8つのビットを使って表現され得る。フレームごとに、N個のサブ帯域(ここで、Nは1~24であり得、5に固定され得る)、M個の時間周波数(TF:time frequency)ブロック(ここで、Mの値はM=4であり得る)が存在し得る。それゆえ、本例では、フレームごとに圧縮されていない方向およびエネルギー比メタデータを記憶するために必要とされる(16+8)×M×N個のビットが存在する。
【0099】
同様に図2に示されるように、いくつかの実施形態に係る例示的なメタデータ符号器/量子化器111が示されている。
【0100】
メタデータ符号器/量子化器111は方向符号器205を含み得る。方向符号器205は、(方位角φ(k,n)および仰角θ(k,n)などの方向パラメータ108(ならびに実施形態によっては、予想されるビット割り当て)を受信し、これから、好適な符号化された出力を生成するように構成されている。実施形態によっては、符号化は、決定された量子化分解能によって規定されたルックアップテーブルによって規定された「表面(surface)」球面(sphere)上の円環内に配列された球面格子を形成する球面の配列に基づく。換言すれば、球面格子は、球面をより小さい球面で覆い、より小さい球面の中心を、ほぼ等距離の方向の格子を規定する点と考えるという思想を用いる。したがって、より小さい球面は、任意の好適な指数付けアルゴリズムに従って指数付けすることができる中心点の周りの円錐または立体角を規定する。ここでは球面量子化(spherical quantization)が説明されているが、線形または非線形の、任意の好適な量子化が用いられ得る。
【0101】
次に、量子化値は、対応する方向パラメータの仰角値が、埋め込みフレキシブル境界コードブックを採用するために十分似通っているかどうかを決定することによって、さらに組み合わせられ得る。
【0102】
次に、符号化された方向パラメータ206はコンバイナ211に渡され得る。
【0103】
メタデータ符号器/量子化器111はエネルギー比符号器207を含み得る。エネルギー比符号器207は、エネルギー比を受信し、エネルギー比をサブ帯域および時間周波数ブロックのために圧縮するために適した符号化を決定するように構成されている。例えば、実施形態によっては、エネルギー比符号器207は、各エネルギー比パラメータ値を符号化するために3ビットを用いるように構成されている。
【0104】
さらに、実施形態によっては、全てのエネルギー比値を全てのTFブロックのために伝送または記憶するのではなく、サブ帯域ごとに1つの重み付き平均値のみが伝送または記憶される。平均は、各時間ブロックの総エネルギーを考慮することによって決定され得、それゆえ、より多くのエネルギーを有するサブ帯域の値を支持する。
【0105】
このような実施形態では、量子化されたエネルギー比値208は所与のサブ帯域の全てのTFブロックについて同じである。
【0106】
実施形態によっては、エネルギー比符号器207は、量子化された(符号化された)エネルギー比値208をコンバイナ211に渡すようにさらに構成されている。
【0107】
メタデータ符号器/量子化器111はコンバイナ211を含み得る。コンバイナは、符号化された(または量子化/圧縮された)方向パラメータおよびエネルギー比パラメータを受信し、これらを組み合わせ、好適な出力(例えば、移送信号と組み合わせられるか、または移送信号とは別個に伝送もしくは記憶され得るメタデータビットストリーム)を生成するように構成されている。
【0108】
図3に関して、いくつかの実施形態に係る、図2に示されるとおりのメタデータ符号器/量子化器の例示的な動作が示される。
【0109】
最初の動作は、図3において、ステップ301によって示されるように、メタデータ(方位角値、仰角値、エネルギー比等など)を得ることである。
【0110】
次に、図3において、ステップ303によって示されるように、方向値(仰角、方位角)を(例えば、球面量子化、または任意の好適な圧縮を適用することによって)圧縮または符号化し得る。
【0111】
図3において、ステップ305によって示されるように、エネルギー比値を(例えば、サブ帯域ごとに重み付き平均を生成し、次に、これらを3ビット値として量子化することによって)圧縮または符号化する。
【0112】
次に、図3において、ステップ307によって示されるように、符号化された方向値、エネルギー比、コヒーレンス値を組み合わせ、符号化されたメタデータを生成する。
【0113】
方向符号器205が図4に関してさらに詳細に示される。
【0114】
方向符号器は、実施形態によっては、量子化決定器401を含み得る。量子化決定器は、サブ帯域ごとの符号化/量子化されたエネルギー比208を受信し、この値から、現在のサブ帯域の全ての時間ブロックのための方位角および仰角のための量子化分解能(quantization resolution)を決定するように構成されている。量子化分解能は、エネルギー比の値、bits_dir0[0:N-1][0:M-1]によって与えられる既定のビット数を許すことによって設定される。これをビット割り当てマネージャ403に出力することができる。
【0115】
方向符号器205は、エネルギー比値bits_dir0[0:N-1][0:M-1]に基づいて現在のサブ帯域の全ての時間ブロックのための方位角および仰角のために決定された量子化分解能、およびフレームの割り当てビットを受信し、割り当てビットの合計が、エネルギー比を符号化した後に残された利用可能なビットの数と等しくなるよう、割り当てビット数をbits_dir1[0:N-1][0:M-1]に低減するべく、量子化分解能を変更するように構成されたビット割り当てマネージャ403をさらに含み得る。次に、低減されたビット割り当てbits_dir1[0:N-1][0:M-1]をサブ帯域ベースの方向符号器403に渡すことができる。
【0116】
方向符号器205は、(低減された)ビット割り当てをビット割り当てマネージャ403から受信するように構成されたサブ帯域ベースの方向符号器405をさらに含み得る。サブ帯域ベースの方向符号器405はまた、方向パラメータ108を受信し、サブ帯域ごとにビット割り当てに基づいてそれらを符号化するように構成されている。
【0117】
図5に関して、図4に示されるとおりの方向符号器205の動作を示すフロー図が示される。
【0118】
最初の動作は、図5において、ステップ501によって示されるように、方向メタデータ(方位角値、仰角値等など)、符号化されたエネルギー比値、およびビット割り当てを得ることである。
【0119】
次に、図5において、ステップ503によって示されるように、エネルギー比値に基づいて量子化分解能を最初に決定する。
【0120】
次に、図5において、ステップ505によって示されるように、フレームのための割り当てビットに基づいて量子化分解能を変更することができる。
【0121】
次に、図5において、ステップ507によって示されるように、変更された量子化された分解能に基づいてサブ帯域ごとに方向パラメータを圧縮/符号化することができる。
【0122】
図6に関して、図4に示されるとおりのサブ帯域ベースの方向符号器405がさらに詳細に示される。
【0123】
サブ帯域ベースの方向符号器405は、実施形態によっては、サブ帯域ビット割り当て器601を含む。サブ帯域ビット割り当て器601は、(低減された)ビット割り当てbits_dir1[0:N-1][0:M-1]を受信し、サブ帯域のために許されたビット数を決定するように構成されている。例えば、bits_allowed=sum(bits_dir1[i][0:M-1])である。
【0124】
サブ帯域ベースの方向符号器405は、実施形態によっては、ビット限度決定器603を含む。ビット限度決定器603は、現在のサブ帯域のTFブロックごとに割り当てられた最大ビット数max_b=max(bits_dir1[i][0:M-1])を見出し、現在のサブ帯域のTFブロックごとに割り当てられた最大ビット数が、決定された限度ビット数以下であるかどうかをさらに決定するように構成されている。他においては、max_b<=LIMIT_BITS_PER_TFであるかどうかである。決定された限度ビット数LIMIT_BITS_PER_TFの値は、埋め込み量子化器を結合符号化の代わりに用いるべきであるかどうかに関する決定が行われる時間周波数(TF)タイルごとの限度ビット数である。例えば、サブ帯域においてM=4であるTFタイル(ブロック)の例示的なアレイについて、タイル内のビット数は、それぞれ、(3 2 1 3)であるか、または(3 3 3 3)もしくは(2 1 1 2)であることができ、LIMIT_BITS_PER_TF=3であるときには、このとき、本方法は、埋め込み量子化器を用いることができるかどうかをチェックすることを開始し得る。
【0125】
サブ帯域ベースの方向符号器405は、実施形態によっては、距離決定器605を含む。距離決定器605は、現在のサブ帯域のTFブロックごとに割り当てられた最大ビット数が、許されたビット以下である場合のときに、このとき、距離d1、d2が決定されるようにビット限度決定器603によって制御され得る。ここで、角距離は次式のように算出される。
【0126】
【数1】
ここで、θavは平均仰角である。d1の距離は、結合符号化を用いたときの量子化歪みの推定であり、d2の距離は、フレキシブル埋め込みコードブック(flexible embedded codebook)を用いたときの量子化歪みの推定である。
【0127】
実施形態によっては、推定は、量子化値を算出することなく、コードブックの各々における量子化されていない角度および実際の値に基づいて行われる。
【0128】
実施形態によっては、仰角の分散が、決定された値よりも大きい場合には、このとき、サブ帯域のための1つを超える仰角値が符号化されるため、仰角の分散が考慮される。これは国際出願PCT/FI2019/050675号においてさらに詳述されている。
【0129】
距離決定器605は、距離d2が距離d1未満であるかどうかを決定するように構成されている。
【0130】
サブ帯域ベースの方向符号器405は、実施形態によっては、結合仰角/方位角符号器(joint elevation/azimuth encoder)607を含む。結合仰角/方位角符号器607は、ビット限度決定器603の決定によって、現在のサブ帯域のTFブロックごとに割り当てられた最大ビット数が、許されたビットに対するのよりも多いときに、各TFブロックの仰角および方位角値を、現在のサブ帯域のために割り振られたビット数内で結合符号化するように制御され得る。
【0131】
加えて、結合仰角/方位角符号器607は、距離決定器605によって、距離d2が距離d1よりも大きいときに、各TFブロックの仰角および方位角値を、現在のサブ帯域のために割り振られたビット数内で結合符号化するように制御され得る。換言すれば、結合符号化を用いたときの量子化歪みの推定が、フレキシブル埋め込みコードブックを用いたときの量子化歪みの推定よりも小さいときに、結合符号化する。
【0132】
サブ帯域ベースの方向符号器405は、実施形態によっては、平均仰角符号器/フレキシブル境界埋め込みコードブック符号器(average elevation encoder/flexible border embedded codebook encoder)609を含む。平均仰角符号器/フレキシブル境界埋め込みコードブック符号器609は、距離および方向パラメータを受信し、距離決定器605に基づいて、(および現在のサブ帯域のTFブロックごとに割り当てられた最大ビット数が、許されたビット以下であるときに)距離d2が距離d1よりも大きいと決定するように動作可能であることができる。
【0133】
平均仰角符号器/フレキシブル境界埋め込みコードブック符号器609は、実施形態によっては、1または2ビット(1ビットは値0度のため、2ビットは+/-36度のためのもの)を用いて平均仰角値を符号化するように構成されている。加えて、平均仰角符号器/フレキシブル境界埋め込みコードブック符号器609は、考慮されるTFタイルの各々の方位角値のためのフレキシブル境界埋め込みコードブックを採用するように構成されている。
【0134】
サブ帯域ベースの方向符号器405の動作が、図7に示されるフロー図に関してさらに説明される。
【0135】
最初の動作は、図7において、ステップ701によって示されるように、変更された量子化分解能に基づいてサブ帯域ビットを割り当てることであり得る。
【0136】
次に、図7において、ステップ703によって示されるように、エネルギー比値に基づく量子化分解能ごとの最大ビットを決定し、最大ビット数が時間周波数ブロックごとのビットの限度未満であるかどうかのチェックを遂行する。
【0137】
チェックが、最大ビット数が限度よりも大きいと決定した場合には、次に、図7において、ステップ710によって示されるように、仰角および方位角値を、サブ帯域のために割り当てられたビット数以内で時間周波数ブロックごとに結合符号化する。
【0138】
チェックが、最大ビット数が限度以下であると決定した場合には、次に、距離d1およびd2を現在のサブ帯域のサブフレームのために決定する。
【0139】
次に、図7において、ステップ707によって示されるように、d2<d1であるかどうかに関するチェックがある。
【0140】
距離d2>=d1である場合には、次に、図7において、ステップ710によって示されるように、仰角および方位角値を、サブ帯域のために割り当てられたビット数以内で時間周波数ブロックごとに結合符号化する。
【0141】
距離d2<d1である場合には、次に、図7において、ステップ709によって示されるように、1または2ビット(1ビットは値0度のため、2ビットは+/-36度のためのもの)を用いて平均仰角値を符号化し、考慮されるTFタイルの各々のためにフレキシブル境界埋め込みコードブックを用いて方位角値を符号化する。
【0142】
次に、図7において、ステップ711によって示されるように、サブ符号化値を出力することができる。
【0143】
エネルギー比/方向符号化動作の例示的な擬似コード形式は以下のとおりであり得る:
1. サブ帯域i=1:Nごとに
a. 3ビットを用いて、対応するエネルギー比値を符号化する
b. 現在のサブ帯域の全ての時間ブロックのための方位角および仰角のための量子化分解能を設定する。量子化分解能は、エネルギー比の値、bits_dir0[0:N-1][0:M-1]によって与えられる既定のビット数を許すことによって設定される
2. for終了(End for)
3. 割り当てビットの合計が、エネルギー比を符号化した後に残された利用可能ビット数と等しくなるよう、割り当てビット数、bits_dir1[0:N-1][0:M-1]を低減する
4. サブ帯域i=1:Nごとに
a. 現在のサブ帯域のために許されたビットを算出する:bits_allowed=sum(bits_dir1[i][0:M-1])
b. 現在のサブ帯域のTFブロックごとに割り当てられた最大ビット数max_b=max(bits_dir1[i][0:M-1])を見出す
c. (max_b<=LIMIT_BITS_PER_TF)である場合には、
i. 現在のサブ帯域のサブフレームデータのための2つの距離d1およびd2を算出する
ii. d2<d1である場合には、
1. 1または2ビット(1ビットは値0度のため、2ビットは+/-36度のためのもの)を用いて平均仰角値を符号化する
2. 考慮されるTFタイルの各々の方位角値のためにフレキシブル境界埋め込みコードブックを用いる
iii. さもなければ
1. 各TFブロックの仰角および方位角値を、現在のサブ帯域のために割り振られたビット数以内で結合符号化する
iv. if終了(End if)
d. さもなければ
i. 各TFブロックの仰角および方位角値を、現在のサブ帯域のために割り振られたビット数以内で結合符号化する
e. if終了(End if)
5. for終了(End for)
【0144】
方位角のための埋め込みコードブックの一例が図8に関して示される。本例は、1ビットコードブック(指数0および1)が前方801および後方803の方向を占める様子を示す。2ビットコードブックは左および右方向(指数2および3)をさらに組み込む。3ビットコードブックは前方および後方方向のための中間の左および右(指数4、5、6、7)をさらに組み込む。
【0145】
どのコードブックが埋め込みコードブックに基づいて方位角値を符号化するのかの選択が、図9に示される方法例によって示され得る。
【0146】
第1の動作は、図9において、ステップ901によって示されるように、Bビットコードブックを用いて方位角φi
【数2】
に量子化する。
【0147】
次の動作は、エントロピー符号器、例えば、0次のゴロムライス符号器を用いて指数を符号化するために必要とされるビット数(nbits)を決定する動作である。次に、ビット数(nbits)を、許されたビット数(allowed_bits)に対してチェックし、図9において、ステップ903によって示される。
【0148】
nbits<=allowed_bitsである場合には、次に、図9において、ステップ904によって示されるように、指数を用いてエントロピー符号化を遂行する。
【0149】
nbits>allowed_bitsである場合には、次に、図9において、ステップ905によって示されるように、量子化仰角値を考慮した量子化値の各々のための角度量子化歪みを算出する。
【0150】
次に、図9において、ステップ907によって示されるように、時間周波数タイルをそれらの角度量子化歪みの昇順で並べ替える。
【0151】
次に、図9において、ステップ909によって示されるように、時間周波数タイルごとの、それらの角度量子化歪みの昇順によるループを開始する。
【0152】
ループは、図9において、ステップ911によって示されるように、量子化方位角がBビットコードブックにのみ属し、B-1ビットコードブックには属しない場合には、次に、それをB-1ビットコードブックにおいて再量子化し、次に、エントロピー符号器(ゴロムライス符号器など)を用いて(再量子化された)指数を符号化するために必要とされるビット数を再算出すると決定する。
【0153】
次に、図9において、ステップ913によって示されるように、ビット数(nbits)が、許されたビット以下であるかどうかを決定するためのチェックを行う。
【0154】
チェックが、ビット数(nbits)が、許されたビット以下であると決定した場合には、次に、図9において、ステップ904によって示されるように、指数を用いてエントロピー符号化を遂行する。
【0155】
チェックが、ビット数(nbits)が、許されたビットよりも多いと決定した場合には、次に、図9において、ステップ915によって示されるように、ループをチェックする。
【0156】
試験されるべきさらなるTFタイルが存在する場合には、次に、ループは次の増大する角度量子化歪み値へ戻る。
【0157】
処理されるべきさらなるTFタイルが存在しない場合には、次に、図9において、ステップ917によって示されるように、ビット数(nbits)が、許されたビット以下であるかどうかを決定するためのさらなるチェックを行う。
【0158】
チェックが、ビット数(nbits)が、許されたビット以下であると決定した場合には、次に、図9において、ステップ904によって示されるように、指数を用いてエントロピー符号化を遂行する。
【0159】
チェックが、ビット数(nbits)が、許されたビットよりも多いと決定した場合には、次に、図9において、ステップ919によって示されるように、コードブックレベルを低減し、B=B-1と設定し、新たな量子化値のための量子化値ごとに角度量子化歪みを推定する。
【0160】
これは擬似コードによって要約することができる。
1. Bビットコードブックにおいて方位角φi
【数3】
に量子化する
2. 0次のゴロムライス符号器を用いて、得られた指数を符号化するために必要とされるビット数、nbitsを算出する
3. nbits>allowed_bitsである場合には、
a. 量子化仰角値を考慮して量子化値の各々のための角度量子化歪みを算出する
b. TFタイルをそれらの角度量子化歪みの昇順で並べ替える
c. 歪みの昇順によるTFタイルごとに
i. 量子化方位角がBビットコードブックにのみ属し、B-1ビットコードブックには属さない場合には、B-1ビットコードブックにおいて再量子化する
ii. TFタイルのためのGR符号化のためのビット数を再算出する
iii. nbits<=allowed bitsである場合には、
1. 中断する
iv. if終了(End if)
d. for終了(End for)
e. nbits>allowed bitsである場合には、
i. B=B-1;
ii. 3.aへ行く
f. if終了(End if)
4. if終了(End if)
【0161】
例示的なcコードの実装形態は以下のとおりであり得る。
short truncGR0(float * data, float * data_hat, unsigned short * data_idx, short len, short bits_allowed, float * st, float * ct)

short i;
short bits;
short i_az;
short remap3b[] = { 1,6,2,4,0,5,3,7 }, remap2b[] = {1,2,0,3};
float diff[MASA_SUBFRAMES];
int indx[MASA_SUBFRAMES];


i_az = 0;

bits = 0;
set_f(data_hat, 0.0f, len);
set_f(diff, 10000.0f, len);

for (i = 0; i < len; i++)

if (data_idx[i] < MASA_NO_INDEX) /* MASA_NO_INDEXは、例えば、それがデフォルト値を有するため、指数を符号化する必要がない場合を通知する */

data_idx[i] = quantize_phi(data[i]+180, 0, &data_hat[i], 8);
data_hat[i] -= 180;
data_idx[i] = remap3b[data_idx[i]];
bits += 1 + data_idx[i];
i_az++;
diff[i] = -st[i] - ct[i]*cos(data[i] - data_hat[i]); /*(data[i] - data_hat[i])*(data[i] - data_hat[i]);*/



if (bits_allowed < i_az)

bits = bits_allowed;
for (i = 0; i < len; i++)

if (data_idx[i] < MASA_NO_INDEX)

data_idx[i] = 0;
data_hat[i] = 0.0f;


return bits;

i = 0;
if (bits > bits_allowed)

sort_desc_ind(diff, len, indx);

for (i = len-1; i >= 0; i--)

if (data_idx[indx[i]] < MASA_NO_INDEX)

if (data_idx[indx[i]] > 3)

bits -= data_idx[indx[i]];
data_idx[indx[i]] = quantize_phi(data[indx[i]] + 180, 0, &data_hat[indx[i]], 4);
data_hat[indx[i]] -= 180;
data_idx[indx[i]] = remap2b[data_idx[indx[i]]];
bits += data_idx[indx[i]];
diff[indx[i]] = -st[i] - ct[i] * cos(data[i] - data_hat[i]);

if (bits <= bits_allowed)

break;




if (bits > bits_allowed)

sort_desc_ind(diff, len, indx);
for (i = len - 1; i >= 0; i--)

if (data_idx[indx[i]] < MASA_NO_INDEX)

if (data_idx[indx[i]] > 1)

bits -= data_idx[indx[i]];
if (fabs(data[indx[i]]) <= 90)

data_idx[indx[i]] = 0;
data_hat[indx[i]] = 0;

else

data_idx[indx[i]] = 1;
data_hat[indx[i]] = -180;

bits += data_idx[indx[i]];
diff[indx[i]] = -st[i] - ct[i] * cos(data[i] - data_hat[i]);

if (bits <= bits_allowed)

break;




if (bits > bits_allowed)

sort_desc_ind(diff, len, indx);
for (i = len - 1; i >= 0; i--)

if (data_idx[indx[i]] < MASA_NO_INDEX)

if (data_idx[indx[i]] > 0)

bits -= data_idx[indx[i]];
data_idx[indx[i]] = 0;
data_hat[indx[i]] = 0;

if (bits <= bits_allowed)

break;





return bits;


short common_direction(IVAS_QDIRECTION * qdirection,
short band_idx,
short len,
short bits_allowed,
BSTR_ENC_HANDLE hMasaMetaData,
float* elevation_orig,
float * azimuth_orig


short nbits;
float av_el;
short no_th, i, id_th, k;

float theta_cb[3];
short data, bits_crt;
float dist, best_dist;
float ct[MASA_SUBFRAMES], st[MASA_SUBFRAMES];
nbits = 0;

if (bits_allowed == 0)

for (i = 0; i < len; i++)

qdirection->elevation[band_idx][i] = 0;
qdirection->azimuth[band_idx][i] = 0;


return 0;

/* 5ビット未満が利用可能である場合には、このとき、仰角は0であり、全ビットは方位角のために用いられる */
if (bits_allowed <= 5)

set_f(qdirection->elevation[band_idx], 0.0f, len);
set_f(st, 0.0f, len);
for (i = 0; i < len; i++)

ct[i] = cos(elevation_orig[i]);

nbits = truncGR0(azimuth_orig, qdirection->azimuth[band_idx], qdirection->azimuth_index[band_idx], len, bits_allowed, st, ct);
return nbits;


av_el = mean(qdirection->elevation[band_idx], len);


no_th = no_theta_masa[0] +1 ; /* thetaのために3つの値のみ */

theta_cb[0] = 0;
theta_cb[1] = delta_theta_masa[2];
theta_cb[2] = -theta_cb[1];
best_dist = 500000.0f;
id_th = 0;
for (i = 0; i < no_th; i++)

dist = 0.0f;
for (k = 0; k < len; k++)

dist += (elevation_orig[k] - theta_cb[i])* (elevation_orig[k] - theta_cb[i]);

if (dist < best_dist)

id_th = i;
best_dist = dist;


set_f(qdirection->elevation[band_idx], theta_cb[id_th], len);

for (i = 0; i < len; i++)

qdirection->elevation_index[band_idx][i] =id_th;


if (id_th == 0)

push_next_indice(hMasaMetaData, 0, 1); /* 平均のtheta指数 */
set_f(st, 0.0f, len);
for (i = 0; i < len; i++)

ct[i] = cos(elevation_orig[i]);

nbits = truncGR0(azimuth_orig, qdirection->azimuth[band_idx], qdirection->azimuth_index[band_idx], len, bits_allowed-1, st, ct) +1;

else

set_f(st, sin(theta_cb[id_th]), len);
set_f(ct, cos(theta_cb[id_th]), len);
for (i = 0; i < len; i++)

st[i] *= sin(elevation_orig[i]);
ct[i] *= cos(elevation_orig[i]);

push_next_indice(hMasaMetaData, id_th+1, 2); /* 平均のtheta指数 */
nbits = truncGR0(azimuth_orig,qdirection->azimuth[band_idx], qdirection->azimuth_index[band_idx], len, bits_allowed-2, st, ct) +2;


data = 0;
for (i = 0; i < len; i++)

if (qdirection->azimuth_index[band_idx][i] < MASA_NO_INDEX)

data = GR_data(data, 0, &bits_crt);
push_next_indice(hMasaMetaData, data, bits_crt);


return nbits;
【0162】
復号器に関して、メタデータ復号器は、平均仰角が通知されているかどうかを決定するように構成され得、このとき、平均仰角は、1または2ビット、値0のための「0」、値+36のための「10」、および値-36のための「11」を使って読み取られる。36度の代わりに、他の値を用いることもできる。さらに、実施形態によっては、平均仰角を符号化するために、1つを超えるビットが用いられ、それゆえ、-0、+/-+theta_1、+/-\theta_2から選択するべき5つの間の値を有し得、このときには、方位角のための指数は0次のゴロムライス復号器を用いて読み取られ、それらがどのコードブックに属するのかについてのさらなる通知は必要とされない。
【0163】
それゆえ、本明細書において説明されるとおりの実施形態は、方向の符号化のためのテーブルROMの大幅な低減、および最適化が角度歪み空間内で行われ、各成分が個々にチェックされるという事実によって可能にされる、生じる角度量子化歪みの最大30%の低減の双方を可能にする。
【0164】
図10に関して、分析または合成デバイスとして用いられ得る例示的な電子デバイスが示される。デバイスは任意の好適な電子デバイスまたは装置であり得る。例えば、実施形態によっては、デバイス1400は、モバイルデバイス、ユーザ機器、タブレットコンピュータ、コンピュータ、音声再生装置等である。
【0165】
実施形態によっては、デバイス1400は少なくとも1つのプロセッサまたは中央処理装置1407を備える。プロセッサ1407は、本明細書において説明されるものなどの方法などの様々なプログラムコードを実行するように構成することができる。
【0166】
実施形態によっては、デバイス1400はメモリ1411を備える。実施形態によっては、少なくとも1つのプロセッサ1407はメモリ1411に結合されている。メモリ1411は任意の好適な記憶手段であることができる。実施形態によっては、メモリ1411は、プロセッサ1407上で実施可能なプログラムコードを記憶するためのプログラムコードセクションを含む。さらに、実施形態によっては、メモリ1411は、データ、例えば、本明細書において説明されるとおりの実施形態に従って処理された、または処理される予定のデータを記憶するための記憶データセクションをさらに含むことができる。プログラムコードセクション内に記憶された実施プログラムコード、および記憶データセクション内に記憶されたデータは、プロセッサ1407によって、必要なときにいつでもメモリ-プロセッサ結合を介して取得され得る。
【0167】
実施形態によっては、デバイス1400はユーザインターフェース1405を備える。ユーザインターフェース1405は、実施形態によっては、プロセッサ1407に結合され得る。実施形態によっては、プロセッサ1407はユーザインターフェース1405の動作を制御し、ユーザインターフェース1405からの入力を受信することができる。実施形態によっては、ユーザインターフェース1405は、ユーザが、例えば、キーパッドを介して、コマンドをデバイス1400に入力することを可能にすることができる。実施形態によっては、ユーザインターフェース1405は、ユーザがデバイス1400から情報を得ることを可能にすることができる。例えば、ユーザインターフェース1405は、デバイス1400からの情報をユーザに表示するように構成されたディスプレイを含み得る。ユーザインターフェース1405は、実施形態によっては、情報がデバイス1400に入力されることを可能にすること、および情報をデバイス1400のユーザにさらに表示することの両方の能力を有するタッチスクリーンまたはタッチインターフェースを含むことができる。実施形態によっては、ユーザインターフェース1405は、本明細書において説明されるとおりの位置決定器と通信するためのユーザインターフェースであり得る。
【0168】
実施形態によっては、デバイス1400は入力/出力ポート1409を備える。入力/出力ポート1409は、実施形態によっては、送受信器を含む。このような実施形態における送受信器はプロセッサ1407に結合され、例えば、無線通信ネットワークを介して他の装置または電子デバイスとの通信を可能にするように構成することができる。送受信器、あるいは任意の好適な送受信器または伝送器および/または受信器手段は、実施形態によっては、配線または有線結合を介して他の電子デバイスまたは装置と通信するように構成することができる。
【0169】
送受信器は、任意の好適な知られた通信プロトコルによってさらなる装置と通信することができる。例えば、実施形態によっては、送受信器は、好適なユニバーサル移動体通信システム(UMTS:universal mobile telecommunications system)プロトコル、例えば、IEEE802.Xなどの、無線ローカルエリアネットワーク(WLAN:wireless local area network)プロトコル、Bluetoothなどの好適な近距離無線周波数通信プロトコル、または赤外線データ通信経路(IRDA:infrared data communication pathway)を用いることができる。
【0170】
送受信器入力/出力ポート1409は、信号を受信し、実施形態によっては、好適なコードを実行するプロセッサ1407を用いることによって本明細書において説明されるとおりのパラメータを決定するように構成され得る。
【0171】
概して、本発明の様々な実施形態は、ハードウェアまたは専用回路、ソフトウェア、論理あるいはこれらの任意の組み合わせの形態で実施され得る。例えば、いくつかの態様はハードウェアの形態で実施され得、その一方で、他の態様は、コントローラ、マイクロプロセッサまたはその他のコンピューティングデバイスによって実行され得るファームウェアまたはソフトウェアの形態で実施され得る。ただし、本発明はこれらに限定されない。本発明の様々な態様は、ブロック図、フローチャートとして、または何らかの他の図的表現を用いて図解され、説明されている場合があるが、本明細書において説明されているこれらのブロック、装置、システム、技法、または方法は、非限定例として、ハードウェア、ソフトウェア、ファームウェア、専用回路もしくは論理、汎用ハードウェアもしくはコントローラ、または他のコンピューティングデバイス、あるいはこれらの何らかの組み合わせの形態で実施され得ることは十分理解される。
【0172】
本発明の実施形態は、例えば、プロセッサエンティティ内の、モバイルデバイスのデータプロセッサによって実行可能なコンピュータソフトウェアによって、またはハードウェアによって、あるいはソフトウェアおよびハードウェアの組み合わせによって実施され得る。さらに、この点に関して、図にあるような論理フローの任意のブロックは、プログラムステップ、あるいは相互接続された論理回路、ブロック、および機能、あるいはプログラムステップ、ならびに論理回路、ブロック、および機能の組み合わせを表現し得ることに留意されたい。ソフトウェアは、メモリチップなどの物理媒体、あるいはプロセッサ内に実装されたメモリブロック、ハードディスクまたはフロッピーディスクなどの磁気媒体、ならびに例えば、DVD、およびそのデータ変種、CDなどの光媒体上に記憶され得る。
【0173】
メモリは、局所的技術環境に適した任意の種類のものであり得、半導体ベースのメモリデバイス、磁気メモリデバイスおよびシステム、光メモリデバイスおよびシステム、固定式メモリおよび着脱式メモリなどの、任意の好適なデータ記憶技術を用いて実装され得る。データプロセッサは、局所的技術環境に適した任意の種類のものであり得、非限定例として、汎用コンピュータ、専用コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ(DSP:digital signal processor)、特定用途向け集積回路(ASIC:application specific integrated circuit)、ゲートレベル回路、およびマルチコアプロセッサアーキテクチャに基づくプロセッサのうちの1つまたは複数を含み得る。
【0174】
本発明の実施形態は集積回路モジュールなどの様々な構成要素において実施され得る。集積回路の設計は、概して、高度に自動化されたプロセスである。論理レベルの設計を、半導体基板上でエッチングおよび形成される準備ができた半導体回路設計に変換するための複雑で強力なソフトウェアツールが利用可能である。
【0175】
Mountain View,CaliforniaのSynopsys,Inc.、およびSan Jose,CaliforniaのCadence Designによって提供されているものなどのプログラムは、十分に確立された設計規則、および事前に記憶された設計モジュールのライブラリを用いて、自動的に導線を配線し、半導体チップ上の構成要素の位置を決定する。半導体回路のための設計が完了すると、標準化された電子形式(例えば、Opus、GDSII、または同様のもの)による、得られた設計は製造のために半導体製造施設または「製造工場(fab)」へ伝送され得る。
【0176】
上述の説明は、例示的な非限定例を用いて、本発明の例示的な実施形態の完全で情報価値のある説明を与えた。しかし、当業者には、添付の図面および添付の請求項と併せて読むことで、上述の説明を考慮して様々な変更および適合が明らかになるであろう。しかし、本発明の教示のこのような変更および同様の変更は全て、添付の請求項において定義されるとおりの本発明の範囲に依然として含まれることになる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10