(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-09
(45)【発行日】2024-07-18
(54)【発明の名称】信号依存的な数および精度制御を伴うオーディオエンコーダ、オーディオデコーダ、ならびに関連する方法およびコンピュータプログラム
(51)【国際特許分類】
G10L 19/035 20130101AFI20240710BHJP
【FI】
G10L19/035 Z
(21)【出願番号】P 2021574961
(86)(22)【出願日】2020-06-10
(86)【国際出願番号】 EP2020066088
(87)【国際公開番号】W WO2020254168
(87)【国際公開日】2020-12-24
【審査請求日】2022-02-15
(31)【優先権主張番号】PCT/EP2019/065897
(32)【優先日】2019-06-17
(33)【優先権主張国・地域又は機関】EP
【前置審査】
(73)【特許権者】
【識別番号】500341779
【氏名又は名称】フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン
(74)【代理人】
【識別番号】100134119
【氏名又は名称】奥町 哲行
(72)【発明者】
【氏名】ブーテ・ヤン
(72)【発明者】
【氏名】シュネル・マーカス
(72)【発明者】
【氏名】ドーラ・ステファン
(72)【発明者】
【氏名】グリル・ベルンハルト
(72)【発明者】
【氏名】ディーツ・マーティン
【審査官】中村 天真
(56)【参考文献】
【文献】特表2019-514065(JP,A)
【文献】特開平07-273659(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/00-19/26
(57)【特許請求の範囲】
【請求項1】
オーディオ入力データ(11)を符号化するためのオーディオエンコーダであって、
符号化されるオーディオデータを取得するために前記オーディオ入力データ(11)を前処理するためのプリプロセッサ(10)と、
前記符号化されるオーディオデータを符号化するコーダプロセッサ(15)と、
前記符号化されるオーディオデータの第1のフレームの第1の信号特性に応じて、前記第1のフレームに対して前記コーダプロセッサ(15)によって前記符号化されるオーディオデータのオーディオデータ項目の数が、第2のフレームの第2の信号特性と比較して低減され、前記第1のフレーム用の前記低減された数のオーディオデータ項目を符号化するために使用される情報ユニットの第1の数が、前記第2のフレームの情報ユニットの第2の数と比較してより強力に増強されるように、前記コーダプロセッサ(15)を制御するためのコントローラ(20)であって、前記第1の信号特性は、前記第2の信号特性よりも高い調性に対応する、コントローラ(20)と
を含む、オーディオエンコーダ。
【請求項2】
前記コーダプロセッサ(15)は、初期符号化段階(151)および洗練化符号化段階(152)を含み、
前記コントローラ(20)は、前記第1のフレームについて前記初期符号化段階(151)によって符号化されるオーディオデータ項目の前記数を減らすように構成され、
前記初期符号化段階(151)は、情報ユニットの第1のフレームの初期数を使用して前記第1のフレームの前記低減された数のオーディオデータ項目を符号化するように構成され、
前記洗練化符号化段階(152)は、前記第1のフレームの前記低減された数のオーディオデータ項目のための洗練化符号化のために情報ユニットの第1のフレームの残数を使用するように構成され、情報ユニットの前記第1のフレームの残数に追加された情報ユニットの前記第1のフレームの初期数は、前記第1のフレームのための所定の数の情報ユニットをもたらす、請求項1に記載のオーディオエンコーダ。
【請求項3】
前記コントローラ(20)は、前記第2のフレームの前記初期符号化段階(151)によって符号化されたオーディオデータ項目の前記数を、前記第1のフレームと比較してより多い数のオーディオデータ項目に低減するように構成され、
前記初期符号化段階(151)は、情報ユニットの第2のフレームの初期数を用いて前記第2のフレームの前記低減された数のオーディオデータ項目を符号化するように構成されており、情報ユニットの前記第2のフレームの初期数は情報ユニットの前記第1のフレームの初期数よりも多く、
前記洗練化符号化段階(152)は、前記第2のフレームの前記低減された数のオーディオデータ項目のための洗練化符号化のために情報ユニットの第2のフレームの残数を使用するように構成され、情報ユニットの前記第2のフレームの残数に追加された情報ユニットの前記第2のフレームの初期数は、前記第1のフレームのための前記所定の数の情報ユニットをもたらす、請求項2に記載のオーディオエンコーダ。
【請求項4】
前記コーダプロセッサ(15)は、初期符号化段階(151)および洗練化符号化段階(152)を含み、
前記初期符号化段階(151)は、情報ユニットの第1のフレームの初期数を使用して前記第1のフレームの前記低減された数のオーディオデータ項目を符号化するように構成されており、
前記洗練化符号化段階(152)は、前記第1のフレームの前記低減された数のオーディオデータ項目のための洗練化符号化のために情報ユニットの第1のフレームの残数を使用するように構成され、情報ユニットの前記第1のフレームの残数に追加された情報ユニットの前記第1のフレームの初期数は、前記第1のフレームのための所定の数の情報ユニットをもたらし、
前記コントローラ(20)は、前記洗練化符号化段階(152)が少なくとも2つの情報ユニットを使用して前記第1のフレームの前記低減された数のオーディオデータ項目のうちの少なくとも1つの洗練化符号化を実行するように、または前記洗練化符号化段階(152)が各オーディオデータ項目について少なくとも2つの情報ユニットを使用して前記低減された数のオーディオデータ項目の50パーセントを超える洗練化符号化を実行するように、前記コーダプロセッサ(15)を制御するように構成され、または
前記コントローラ(20)は、前記洗練化符号化段階(152)が、2つ未満の情報ユニットを使用して前記第2のフレームのすべてのオーディオデータ項目の洗練化符号化を実行するように、または前記洗練化符号化段階(152)が、各オーディオデータ項目について少なくとも2つの情報ユニットを使用して、前記低減された数のオーディオデータ項目の50パーセント未満の洗練化符号化を実行するように、前記コーダプロセッサ(15)を制御するように構成される、請求項
1に記載のオーディオエンコーダ。
【請求項5】
前記コーダプロセッサ(15)は、初期符号化段階(151)および洗練化符号化段階(152)を含み、
前記初期符号化段階(151)は、情報ユニットの第1のフレームの初期数を使用して前記第1のフレームの前記低減された数のオーディオデータ項目を符号化するように構成され、
前記洗練化符号化段階(152)は、前記第1のフレームの前記低減された数のオーディオデータ項目のための洗練化符号化のために情報ユニットの第1のフレームの残数を使用するように構成され、
前記洗練化符号化段階(152)は、少なくとも2回の順次実行される反復において、情報ユニットの前記第1のフレームの残数を、前記低減された数のオーディオデータ項目に反復的に割り当て(300、302)、前記少なくとも2回の順次実行される反復について、前記割り当てられた情報ユニットの値を計算し(304、308、312)、前記少なくとも2回の順次実行される反復について、前記情報ユニットの前記計算された値を、所定の順序で、符号化出力フレームに導入する(316、318、320)ように構成される、請求項
1に記載のオーディオエンコーダ。
【請求項6】
前記洗練化符号化段階(152)は、第1の反復において、前記第1のフレームの前記低減された数のオーディオデータ項目の各オーディオデータ項目について、前記オーディオデータ項目についての低周波数情報から前記オーディオデータ項目についての高周波数情報までの順序で、順次情報ユニットを計算する(304)ように構成され、
前記洗練化符号化段階(152)は、第2の反復において、前記第1のフレームの前記低減された数のオーディオデータ項目の各オーディオデータ項目について、前記オーディオデータ項目についての低周波情報から前記オーディオデータ項目についての高周波情報への順序で、情報ユニットを順次計算する(308)ように構成され、
前記洗練化符号化段階(152)は、既に割り当てられた情報ユニットの数が情報ユニットの前記第1のフレームの初期数よりも少ない前記第1のフレームの所定の数の情報ユニットよりも少ないかどうかを確認し(314)、否定の確認結果の場合、前記第2の反復を停止して、または肯定の確認結果の場合、否定の確認結果が得られるまで、さらなる反復数を実行する(312)ように構成され、さらなる反復数は少なくとも1であり、または
前記洗練化符号化段階(152)は、ゼロ以外のオーディオ項目の数をカウントし、前記ゼロ以外のオーディオ項目の前記数と、情報ユニットの前記第1のフレームの初期数よりも少ない前記第1のフレームの所定の数の情報ユニットとから、反復の前記数を決定するように構成される、請求項5に記載のオーディオエンコーダ。
【請求項7】
前記コーダプロセッサ(15)は、初期符号化段階(151)および洗練化符号化段階(152)を含み、
前記初期符号化段階(151)は、情報ユニットの第1のフレームの初期数を使用して、前記第1のフレームの前記低減された数のオーディオデータ項目の各オーディオデータ項目についてのいくつかの最上位情報ユニットを符号化するように構成され、符号化する最上位情報ユニットの数は、1より大きく、
前記洗練化符号化段階(152)は、前記第1のフレームの前記低減された数のオーディオデータ項目の各オーディオデータ項目についていくつかの最下位の情報ユニットを符号化するために、情報ユニットの第1のフレームの残数を使用するように構成され、符号化する最下位情報ユニットの数は、前記第1のフレームの前記低減された数のオーディオデータ項目のうちの少なくとも1つのオーディオデータ項目について1より大きい、請求項
1に記載のオーディオエンコーダ。
【請求項8】
前記第1の信号特性は第1の音調性値であり、前記第2の信号特性は第2の音調性値であり、前記第1の音調性値は前記第2の音調性値よりも高い音調性を示し、
前記コントローラ(20)は、前記第1のフレームのオーディオデータ項目の前記数を前記第2のフレームのオーディオデータ項目の前記数よりも少ない第1の数に低減し、前記低減された前記第1のフレームのオーディオデータ項目の数の各オーディオデータ項目の符号化に用いられる情報ユニットの平均数を増加して、前記低減された前記第2のフレームのオーディオデータ項目の数の各オーディオデータ項目の符号化に用いられる情報ユニットの平均数よりも多くするように構成されている、請求項1から7のいずれか一項に記載のオーディオエンコーダ。
【請求項9】
前記コーダプロセッサ(15)は、
前記第1のフレームの前記オーディオデータを量子化して前記第1のフレームの量子化オーディオデータを得て、前記第2のフレームの前記オーディオデータを量子化して前記第2のフレームの量子化オーディオデータを得るための可変量子化器(150)と、
前記第1のフレームまたは前記第2のフレームの前記量子化されたオーディオデータを符号化するための初期符号化段階(151)と、
前記第1のフレームおよび前記第2のフレームの残余データを符号化するための洗練化符号化段階(152)とを含み、
前記コントローラ(20)は、前記第1のフレームの前記可変量子化器(150)の第1の制御値(21)を決定するために前記第1のフレームの前記オーディオデータを解析し(26、28)、前記第2のフレームの前記可変量子化器(150)の第2の制御値を決定するために前記第2のフレームの前記オーディオデータを解析し(26、28)、前記第2の制御値は前記第1の制御値(21)とは異なり、
前記コントローラ(20)は、前記第1のフレームまたは前記第2のフレーム、または、前記第1の制御値(21)または前記第2の制御値を決定するための前記オーディオデータに応じて、前記第1のフレームまたは前記第2のフレームの前記オーディオデータから導出された振幅に関連する値の前記オーディオデータの操作を実行する(23、24)ように構成され、前記可変量子化器(150)は、前記操作なしで前記第1のフレームまたは前記第2のフレームの前記オーディオデータを量子化するように構成される、請求項
1に記載のオーディオエンコーダ。
【請求項10】
前記コーダプロセッサ(15)は、
前記第1のフレームの前記オーディオデータを量子化して前記第1のフレームの量子化オーディオデータを得て、前記第2のフレームの前記オーディオデータを量子化して前記第2のフレームの量子化オーディオデータを得るための可変量子化器(150)と、
前記第1のフレームまたは前記第2のフレームの前記量子化されたオーディオデータを符号化するための初期符号化段階(151)と、
前記第1のフレームおよび前記第2のフレームの残余データを符号化するための洗練化符号化段階(152)とを含み、
前記コントローラ(20)は、前記第1のフレームの前記オーディオデータを分析して、前記可変量子化器(150)、前記初期符号化段階(151)、または前記第1のフレームのオーディオデータ項目低減器(150)の第1の制御値(21)を決定し、前記第2のフレームの前記オーディオデータを分析して、前記可変量子化器(150)、前記初期符号化段階(151)、または前記第2のフレームのオーディオデータ項目低減器(150)の第2の制御値を決定するように構成され、前記第2の制御値は前記第1の制御値(21)とは異なり、
前記コントローラ(20)は、前記第1の制御値(21)を決定するために前記第1の信号特性として第1の音調性特性を決定し、前記第2の制御値を決定するために前記第2の信号特性として第2の音調性特性を決定するように構成されており(201)、その結果、第1の音調性特性の場合、前記洗練化符号化段階(152)のためのビットバジェットは、第2の音調性特性の場合の前記洗練化符号化段階(152)のための前記ビットバジェットと比較して増加し、前記第1の音調性特性は、前記第2の音調性特性よりも大きい音調性を示す、請求項
1に記載のオーディオエンコーダ。
【請求項11】
前記初期符号化段階(151)はエントロピー符号化のためのエントロピー符号化段階であり、または前記洗練化符号化段階(152)は、前記第1のフレームおよび前記第2のフレームの残余データを符号化するための残余符号化段階またはバイナリ符号化段階である、請求項9または10に記載のオーディオエンコーダ。
【請求項12】
前記コントローラ(20)は、前記初期符号化段階(151)の情報ユニットの第1のバジェットが所定の値以下になるように前記第1の制御値(21)または前記第2の制御値を決定するように構成されており、前記コントローラ(20)は、情報ユニットの前記第1のバジェットと前記第1または第2のフレームまたは前記所定の値の情報ユニットの最大数とを用いて前記洗練化符号化段階(152)の情報ユニットの第2のバジェットを導出するように構成されている、請求項9から11のいずれか一項に記載のオーディオエンコーダ。
【請求項13】
前記コントローラ(20)は、
前記振幅に関連する値を、前記オーディオデータの1つまたは複数のオーディオ値から導出される複数のパワーの値として計算し(22)、前記複数のパワーの値のすべてのパワーの値へ
の操作値の加算を使用して前記パワーの値を操作する(24)ように構成され、または、
前記コントローラ(20)は、
前記フレームに含まれる複数のオーディオ値のすべてのオーディオ値に対して
、操作値をランダムに加算または減算すること(24)、または
操作値
の大きさによって得られた値を加算または減算すること、または
操作値の
計算された複素数または実数の大きさを使用してスケーリングされた正規化確率分布から、サンプルとして得られた値を加算または減算することに対して構成され、あるいは
前記コントローラ(20)は、前記振幅に関連する値を、前記第1もしくは前記第2のフレームの前記オーディオデータ、または前記第1もしくは前記第2のフレームのダウンサンプリングされたオーディオデータの指数値による指数化を使用して計算する(22)ように構成され、前記指数値は1より大きい、請求項9に記載のオーディオエンコーダ。
【請求項14】
前記コントローラ(20)は、前記複数のオーディオデータもしくは前記振幅に関連する値の最大値(26)を使用して、または前記第1もしくは第2のフレームに対する複数のダウンサンプルされたオーディオデータもしくは複数のダウンサンプルされた振幅に関連する値の最大値を使用して、前記操作のための操作値を計算する(23)ように構成される、請求項9に記載のオーディオエンコーダ。
【請求項15】
前記コントローラ(20)は、信号に依存しない重み付け値(27)をさらに使用して、前記操作のための操作値を計算する(23)ように構成され、前記信号に依存しない重み付け値は、前記第1または第2のフレームのビットレート、フレーム持続時間、およびサンプリング周波数のうちの少なくとも1つに依存する、請求項9に記載のオーディオエンコーダ。
【請求項16】
前記コントローラ(20)は、前記フレーム内の前記オーディオデータまたはダウンサンプルされたオーディオデータの大きさの第1の和、各大きさに関連するインデックスを乗算した前記フレーム内の前記オーディオデータまたは前記ダウンサンプルされたオーディオデータの大きさの第2の和、および前記第2の和と前記第1の和との商のうちの少なくとも1つから導出される信号依存重み値を使用して、前記操作のための操作値を計算する(23、29)ように構成される、請求項9に記載のオーディオエンコーダ。
【請求項17】
前記コントローラ(20)は、以下の式
に基づいて、前記操作のための
操作値を算出する(29)ように構成され、
式中、kは周波数インデックスであり、X
f(k)は量子化前の前記周波数インデックスkのオーディオデータ値であり、maxは最大関数であり、regBitsは第1の信号独立重み値であり、lowBitsは第2の信号依存重み値である、請求項
9に記載のオーディオエンコーダ。
【請求項18】
前記プリプロセッサ(10)は、
時間領域オーディオデータを前記フレームのスペクトル値に変換するための時間-周波数変換器(14)と、
前記スペクトル値のスペクトル包絡線よりも平坦なスペクトル包絡線を有する修正されたスペクトル値を計算するためのスペクトルプロセッサ(15)であって、前記修正されたスペクトル値は、前記コーダプロセッサ(15)によって符号化される前記第1または前記第2のフレームの前記オーディオデータを表す、スペクトルプロセッサ(15)と
をさらに含む、請求項1から17のいずれか一項に記載のオーディオエンコーダ。
【請求項19】
前記スペクトルプロセッサ(15)は、時間的ノイズ形成動作、スペクトルノイズ形成動作、およびスペクトルホワイトニング動作のうちの少なくとも1つを実行するように構成されている、請求項18に記載のオーディオエンコーダ。
【請求項20】
前記コントローラ(20)は、前記フレームの前記振幅に関連する値として複数のエネルギーの値を使用して前記第1の制御値(21)または前記第2の制御値を計算するように構成され、
前記複数のエネルギーの値の各エネルギーの値は、
前記フレームの前記振幅に関連する値の振幅に関連する値としてのパワーの値および前記操作のための信号依存操作値から導出される(22、23、24)、請求項
9に記載のオーディオエンコーダ。
【請求項21】
前記コントローラ(20)は、
前記エネルギーの値および前記第1の制御値(21)または前記第2の制御値の候補値に応じて
前記複数のエネルギーの値の各エネルギーの値の必要なビット推定値を計算し、
前記複数のエネルギーの値の前記エネルギーの値のための前記必要なビット推定値および前記第1の制御値(21)または前記第2の制御値のための前記候補値を蓄積し、
前記第1の制御値(21)または前記第2の制御値の前記候補値の蓄積ビット推定値が許容されたビット消費基準を満たすかどうかを確認し、
許容されたビット消費基準が満たされない場合に前記制御値の前記候補値を修正し、前記第1の制御値(21)または前記第2の制御値の修正された候補値の前記許容されたビット消費基準の達成が見出されるまで、前記必要なビット推定値の計算、前記ビット推定値の蓄積、および前記確認を繰り返すこと
に対して構成される、請求項20に記載のオーディオエンコーダ。
【請求項22】
前記コントローラ(20)は、以下の式に基づいて前記複数のエネルギーの値を計算するように構成され、
式中、E(k)はインデックスkの
前記複数のエネルギーの値のエネルギーの値であり、PX
lp(k)は前記振幅に関連する値としてのインデックスkのパワーの値であり、N(X
f)は前記信号依存操作値である、請求項20または21に記載のオーディオエンコーダ。
【請求項23】
前記コントローラ(20)は、各々の操作されたオーディオデータの値または操作された振幅に関連する値に対して必要とされる蓄積情報ユニットの推定に基づいて、前記第1の制御値(21)または前記第2の制御値を計算するように構成される、請求項9から17、または20から22のいずれか一項に記載のオーディオエンコーダ。
【請求項24】
前記コントローラ(20)は、操作により、前記初期符号化段階(151)のためのビットバジェットが増加されるか、または前記洗練化符号化段階(152)のためのビットバジェットが減少されるように操作するように構成される、請求項9または10に記載のオーディオエンコーダ。
【請求項25】
前記コントローラ(20)は、前記操作が、第2の音調性を有する信号と比較して、第1の音調性を有する信号の前記洗練化符号化段階(152)のより高いビットバジェットをもたらすように操作するように構成されており、前記第2の音調性は前記第1の音調性よりも低い、請求項9に記載のオーディオエンコーダ。
【請求項26】
前記コントローラ(20)は、前記初期符号化段階(151)のビットバジェットが計算される前記オーディオデータのエネルギーが、前記可変量子化器(150)によって量子化される前記オーディオデータのエネルギーに対して増加するように操作するように構成される、請求項9または10に記載のオーディオエンコーダ。
【請求項27】
前記コーダプロセッサ(15)は、前記第1のフレームの前記オーディオデータを量子化して前記第1のフレームの量子化オーディオデータを取得し、前記第2のフレームの前記オーディオデータを量子化して前記第2のフレームの量子化オーディオデータを取得するための可変量子化器(150)を備え、
前記コントローラ(20)は、前記第1または前記第2のフレームのグローバルゲインを計算するように構成されており、
前記可変量子化器(150)は、前記グローバルゲインで重み付けする重み付け器(155)、および固定された量子化ステップサイズを有する量子化器コア(157)を備える、請求項1から8のいずれか一項に記載のオーディオエンコーダ。
【請求項28】
前記洗練化符号化段階(152)は、複数の反復において量子化オーディオ値の洗練化ビットを計算するように構成され、各反復において、洗練化ビットは異なる量を示し、または
下位反復における洗練化ビットが、より上位の反復における洗練化ビットよりも高い量を示し、または
前記量は、前記第1の制御値(21)または前記第2の制御値によって示される量子化器ステップサイズの一部分である部分的な量である、請求項
9に記載のオーディオエンコーダ。
【請求項29】
前記洗練化符号化段階(152)は、
少なくとも2回の反復を有する反復処理を実行し、
量子化されたオーディオ値、または、第1の反復における前記量子化されたオーディオ値のための洗練化ビットに関連付けられる潜在的な第1の量と共になっている前記量子化されたオーディオ値が、グローバルゲインによって重み付けされたときに前記第2の反復のための第2の量に加算または減算されて、非量子化オーディオ値よりも大きいか小さいかを確認し、
前記確認の結果に応じて、前記第2の反復のための洗練化ビットを設定するように構成(304、308、312)されている、請求項6に記載のオーディオエンコーダ。
【請求項30】
前記コーダプロセッサ(15)は、可変量子化器(150)および洗練化符号化段階(152)を備え、前記洗練化符号化段階(152)は、前記可変量子化器(150)によってゼロに量子化されないオーディオ値に対してのみ洗練化ビットを計算するように構成される、請求項1から8のいずれか一項に記載のオーディオエンコーダ。
【請求項31】
前記コーダプロセッサ(15)は、初期符号化段階(151)を含み、
前記コントローラ(20)は、より低い周波数に重心を有する前記オーディオデータに対する操作の影響を低減するように構成され、
前記初期符号化段階(151)は、前記第1または前記第2のフレームのビットバジェットが前記フレームの量子化されたオーディオデータを符号化するのに十分でないと判定された場合に、前記オーディオデータから高周波スペクトル値を除去するように構成される、請求項
1に記載のオーディオエンコーダ。
【請求項32】
前記コントローラ(20)は、前記第1
のフレームまたは前記第2のフレームの操作された振幅に関連する値として前記第1
のフレームまたは前記第2のフレームの操作されたスペクトルエネルギーの値を個別に使用して各フレームの二分探索を実行するように構成されている、請求項1から31のいずれか一項に記載のオーディオエンコーダ。
【請求項33】
オーディオ入力データを符号化するための方法であって、
符号化されるオーディオデータを取得するために前記オーディオ入力データ(11)を前処理すること、
前記符号化されるオーディオデータを符号化すること、および
前記符号化されるオーディオデータの第1のフレームの第1の信号特性に応じて、前記第1のフレームに対して前記符号化される前記オーディオデータのオーディオデータ項目の数が、第2のフレームの第2の信号特性と比較して低減され、前記第1のフレーム用の前記低減された数のオーディオデータ項目を符号化するために使用される情報ユニットの第1の数が、前記第2のフレームの情報ユニットの第2の数と比較してより強力に強化されるように、前記符号化を制御することであって、前記第1の信号特性は、前記第2の信号特性よりも高い調性に対応する、前記符号化を制御すること
を含む、方法。
【請求項34】
前記符号化が、
量子化されたオーディオデータを得るためにフレームのオーディオデータを可変量子化すること、
前記フレームの前記量子化オーディオデータをエントロピー符号化すること、および
前記フレームの残余データを符号化することを含み、
前記制御することは、前記可変量子化のための制御値を決定することを含み、前記決定することは、前記第1または前記第2のフレームの前記オーディオデータを分析すること、および前記第1もしくは前記第2のフレームの前記オーディオデータ、または前記制御値を決定するための前記オーディオデータに応じて、前記第1もしくは前記第2のフレームの前記オーディオデータから導出された振幅に関連する値の操作を実行することを含み、前記可変量子化することは、前記操作なしで前記フレームの前記オーディオデータを量子化し、または
前記制御することは、前記オーディオデータの第1または第2の音調性特性を決定することと、前記第1の音調性特性の場合に、前記第2の音調性特性の場合の前記残余データの前記符号化のためのビットバジェットと比較して、前記残余データの前記符号化のための前記ビットバジェットが増加するように、前記制御値を決定することを含み、前記第1の音調性特性は、前記第2の音調性特性よりも大きい音調性を示す、請求項33に記載の方法。
【請求項35】
コンピュータまたはプロセッサで実行されると、請求項33または請求項34に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーディオ信号処理に関し、特に、信号依存的な数および精度の制御を適用するオーディオエンコーダ/デコーダに関する。
【背景技術】
【0002】
現代の変換ベースのオーディオコーダは、オーディオセグメント(フレーム)のスペクトル表現に一連の心理音響的に動機付けされた処理を適用して、残余スペクトルを取得する。この残余スペクトルは量子化され、係数はエントロピー符号化を使用して符号化される。
【0003】
このプロセスでは、通常はグローバルゲインを介して制御される量子化ステップサイズは、エントロピーコーダのビット消費に直接影響を及ぼし、通常は制限され、多くの場合固定されるビットバジェットが満たされるように選択される必要がある。エントロピーコーダ、特に算術コーダのビット消費量は符号化の前に正確にはわからないため、最適なグローバルゲインの計算は、量子化および符号化の閉ループでの反復でのみ行うことができる。しかし、これは、算術符号化にかなりの計算の複雑度を伴うため、特定の複雑度の制約下では実現不可能である。
【0004】
したがって、3GPP EVSコーデックに見られるような最先端のコーダは、通常、第1のグローバルゲイン推定値を導出するためのビット消費推定器を特徴とし、これは通常、残余信号のパワースペクトルで動作する。複雑さの制約に応じて、これは、第1の推定値を洗練化するためのレートループが続き得る。そのような推定値を単独で、または組み合わせて使用すると、非常に限られた補正容量は複雑さを低減するが、精度も低減して、ビット消費の大幅な過小評価または過大評価につながる。
【0005】
ビット消費の過大評価は、第1の符号化段階の後に過剰なビットをもたらす。最新技術のエンコーダは、これらを使用して、残余符号化と呼ばれる第2の符号化段階で符号化係数の量子化を洗練化する。残余符号化は、ビット粒度で機能し、したがっていずれのエントロピー符号化を組み込まないため、第1の符号化段階とは根本的に異なる。さらに、残余符号化は、通常、0に等しくない量子化値を有する周波数でのみ適用され、それ以上改善されない不感帯を残す。
【0006】
一方、ビット消費の過小評価は、必然的にスペクトル係数、通常は最高周波数の部分的損失をもたらす。最新技術のエンコーダでは、この効果は、デコーダでノイズ置換を適用することによって緩和され、これは、高周波数コンテンツに通常ノイズが多いという仮定に基づく。
【0007】
この設定では、エントロピー符号化を使用し、したがって残余符号化ステップよりも効率的である第1の符号化ステップにおいて可能な限り多くの信号を符号化することが望ましいことが明らかである。したがって、可能な限り利用可能なビットバジェットに近いビット推定値でグローバルゲインを選択することが望まれる。パワースペクトルベースの推定器は、ほとんどのオーディオコンテンツに対して良好に機能するが、高音調信号の問題を引き起こす可能性があり、第1の段階の推定は、フィルタバンクの周波数分解の無関係なサイドローブに主に基づくが、重要な成分はビット消費の過小評価のために失われる。
【発明の概要】
【0008】
依然として効率的であり、良好なオーディオの質を得る、オーディオの符号化または復号用の改善された概念を提供することが、本発明の目的である。
【0009】
この目的は、請求項1に記載のオーディオエンコーダ、請求項33に記載のオーディオ入力データを符号化する方法、および請求項35に記載のオーディオデコーダ、請求項41に記載の符号化されたオーディオデータを復号する方法、または請求項42に記載のコンピュータプログラムによって達成される。
【0010】
本発明は、一方では特にビットレートに関して効率を向上させ、他方ではオーディオの質を向上させるために、心理音響的考察によって得られる典型的な状況に関して信号依存変化が必要であるという知見に基づいている。典型的な心理音響モデルまたは心理音響的考察は、平均的な結果が企図される場合、平均的にすべての信号のクラスについて、すなわち、それらの信号特性に関係なくすべてのオーディオ信号フレームについて、低ビットレートで良好なオーディオの質をもたらす。
【発明が解決しようとする課題】
【0011】
しかし、特定の信号クラスについて、または非常に調性のある信号などの特定の信号特性を有する信号について、エンコーダの単純な心理音響モデルまたは単純な心理音響制御は、オーディオの質に関して(ビットレートが一定に保たれている場合)、またはビットレートに関して(オーディオの質が一定に保たれている場合)準最適な結果しかもたらさないことが分かっている。
【課題を解決するための手段】
【0012】
したがって、典型的な心理音響的考察のこの欠点に対処するために、本発明は、オーディオエンコーダが符号化されるオーディオデータを得るためにオーディオ入力データを前処理するためのプリプロセッサと、符号化されるオーディオデータを符号化するためのコーダプロセッサとを伴う状況において、フレームの特定の信号特性に応じて、コーダプロセッサによって符号化されるオーディオデータのオーディオデータ項目の数が、最新技術の心理音響的考察によって得られる典型的な単純化された結果と比較して低減されるように、コーダプロセッサを制御するためのコントローラを提供する。さらに、オーディオデータ項目の数のこの低減は、特定の第1の信号特性を有するフレームについて、第1のフレームに由来する信号特性とは異なる別の信号特性を有する別のフレームの数よりも数が強力に低減されるように、信号依存方式で行われる。このオーディオデータ項目の数の減少は、絶対数の減少または相対数の減少と考えることができるが、これは決定的ではない。しかし、オーディオデータ項目の数を意図的に減らすことで「セーブされる」情報ユニットは、単純に失われるのではなく、データ項目の残数、すなわちオーディオデータの数を意図的に減らすことで解消されなかったデータ項目をより正確に符号化するために用いられることが特徴である。
【0013】
本発明に従うと、コントローラは、符号化されるオーディオデータの第1のフレームの第1の信号特性に応じて、第1のフレームに対してコーダプロセッサによって符号化されるオーディオデータのオーディオデータ項目の数が、第2のフレームの第2の信号特性と比較して低減されると同時に、低減された数の第1のフレームのオーディオデータ項目を符号化するために使用される情報ユニットの第1の数が、第2のフレームの情報ユニットの第2の数と比較して、より強力に増強されるように、コーダプロセッサを制御するためのコントローラが動作する。
【0014】
好ましい実施形態では、低減は、より調性の高い信号フレームに対して、より強い低減が実行されると同時に、個々のラインのビット数が、より調性の低い、すなわちよりノイズの多いフレームと比較してより強力に強化されるように行われる。この場合には、このように高度に数が低減されることはなく、それに対応して、低調なオーディオデータの符号化に使用される情報ユニットの数はあまり増加しない。
【0015】
本発明は、信号依存的に、典型的に提供される心理音響的考察が多かれ少なかれ侵害されるフレームワークを提供する。しかし、一方で、この侵害は、通常のエンコーダのようには扱われず、心理音響的考慮事項の侵害は、例えば、必要なビットレートを維持するために、より高い周波数部分が0に設定される状況などの緊急事態において行われる。代わりに、本発明によれば、そのような通常の心理音響的考慮事項の侵害は、いかなる緊急事態にも関係なく行われ、「セーブされた」情報ユニットは、「残存している」オーディオデータ項目をさらに洗練化するために適用される。
【0016】
好ましい実施形態では、初期符号化段階として、例えば算術エンコーダなどのエントロピーエンコーダ、またはハフマンコーダなどの可変長エンコーダを有する2段階のコーダプロセッサが使用される。第2の符号化段階は洗練化段階として機能し、この第2のコーダは、典型的には、好ましい実施形態では、例えば、情報ユニットの第1の値の場合に特定の定義されたオフセットを加算するか、または情報ユニットの反対の値の場合にオフセットを減算することによって実施することができるビット粒度で動作する残余コーダまたはビットコーダとして実施される。実施形態では、この洗練化コーダは、好ましくは、第1のビット値の場合にはオフセットを加算し、第2のビット値の場合にはオフセットを減算する残余コーダとして実装される。好ましい実施形態では、オーディオデータ項目の数の低減は、初期符号化段階が洗練化符号化段階よりも低いビットバジェットを受信するように、典型的な固定のフレームレートのシナリオにおける利用可能なビットの分布が変更される状況をもたらす。これまで、パラダイムは、算術符号化段階などの初期符号化段階が最も高い効率を有し、したがってエントロピーの観点から残余符号化段階よりもはるかに良好に符号化すると考えられていたため、初期符号化段階は信号特性に関係なく可能な限り高いビットバジェットを受け取ることであった。しかし、本発明によれば、このパラダイムは、例えばより高い音調性を有する信号などの特定の信号について、算術コーダなどのエントロピーコーダの効率は、ビットコーダなどの続いて接続された残余コーダによって得られる効率ほど高くないことが分かっているため、取り除かれる。しかし、エントロピー符号化段階は平均してオーディオ信号に対して非常に効率的であることは確かであるが、本発明は、平均に着目するのではなく、信号依存的に、好ましくは音調信号部分に対する初期符号化段階のビットバジェットを低減することによって、今やこの問題に対処する。
【0017】
好ましい実施形態では、入力データの信号特性に基づく初期符号化段階から洗練化符号化段階へのビットバジェットのシフトは、少なくとも2つの洗練化情報ユニットが、少なくとも1つ、好ましくは50%、さらにより好ましくはデータ項目の数の低減から残存しているすべてのオーディオデータ項目に利用可能であるように行われる。さらに、エンコーダ側でこれらの洗練化情報ユニットを計算し、デコーダ側でこれらの洗練化情報ユニットを適用するための特に効率的な手順は、低周波数から高周波数などの特定の順序で、洗練化符号化段階のためのビットバジェットからの残りのビットが次々に消費される反復手順であることが分かっている。残存しているオーディオデータ項目の数に応じて、および洗練化符号化段階の情報ユニットの数に応じて、反復回数は2よりも大幅に大きくなり得、強い音調の信号フレームの場合、反復回数は4、5、またはそれより多くなり得ることが分かっている。
【0018】
好ましい実施形態では、コントローラによる制御値の決定は、間接的に、すなわち信号特性の明示的な決定なしに行われる。この目的のために、制御値は、操作された入力データに基づいて計算され、この操作された入力データは、例えば、量子化される入力データまたは量子化されるデータから導出された振幅に関連するデータである。コーダプロセッサの制御値は、操作されたデータに基づいて決定されるが、実際の量子化・符号化は、この操作なしに行われる。このようにして、信号依存手順は、特定の信号特性を明示的に知ることなしに、この操作がオーディオデータ項目の数の取得された減少に、多かれ少なかれ影響を及ぼす信号依存的な方法で、操作のための操作値を決定することによって、取得される。
【0019】
別の実施態様では、直接モードを適用することができ、特定の信号特性が直接推定され、この信号分析の結果に応じて、データ項目の数の特定の減少が実行されて、残存するデータ項目のより高い精度が得られる。
【0020】
さらなる実施態様では、オーディオデータ項目を低減する目的で、分離された手順を適用することができる。分離された手順では、典型的には心理音響的に駆動される量子化器の制御によって制御される量子化によってデータ項目の特定の数が得られ、入力オーディオ信号に基づいて、既に量子化されているオーディオデータ項目は、それらの数に関して低減され、好ましくは、この低減は、それらの振幅、それらのエネルギー、またはそれらのパワーに関して最小のオーディオデータ項目を排除することによって行われる。低減のための制御は、ここでも、直接/明示的な信号特性決定によって、または間接的もしくは非明示的な信号制御によって得ることができる。
【0021】
さらに好ましい実施形態では、統合された手順が適用され、可変量子化器は、単一の量子化を実行するが、操作されたデータに基づいて制御され、同時に、操作されていないデータが量子化される。グローバルゲインなどの量子化器制御値は、信号依存の操作されたデータを使用して計算され、一方でこの操作のないデータは量子化され、量子化の結果は、利用可能なすべての情報ユニットを使用して符号化され、その結果、2段階符号化の場合、洗練化符号化段階のための典型的には大量の情報ユニットが残る。
【0022】
実施形態は、エントロピーコーダのビット消費量を推定するために使用されるパワースペクトルの修正に基づく、高音調コンテンツの質の損失の問題に対する解決策を提供する。この修正は、平坦な残余スペクトルを有する一般的なオーディオコンテンツの推定値を実質的に不変に保つ一方で、高音調コンテンツのビットバジェット推定値を増加させる信号適応ノイズフロア加算器について、存在する。この修正の効果は2倍である。第1に、これにより、フィルタバンクノイズ、およびノイズフロアによってオーバーレイされる高調波成分の無関係なサイドローブが0に量子化される。第2に、第1の符号化段階から残余符号化段階にビットをシフトする。このようなシフトは、ほとんどの信号にとって望ましくないが、高調波成分の量子化精度を高めるためにビットが使用されるため、高音調信号にとっては完全に効率的である。これは、それらが、通常は一様な分布に従う、したがってバイナリ表現で完全に効率的に符号化される、低い重要度のビットを符号化するために使用されることを意味する。さらに、この手順は計算的に安価であり、前述の問題を解決するための非常に効果的なツールとなる。
次に、本発明の好適な実施形態を、後続的に、添付の図面を参照して開示する。
【図面の簡単な説明】
【0023】
【
図2】
図1のコーダプロセッサの好ましい実施態様を示す。
【
図3】洗練化符号化段階の好ましい実施態様を示す。
【
図4a】反復洗練化ビットでの第1または第2のフレームの例示的なフレーム構文を示す。
【
図4b】可変量子化器としてのオーディオデータ項目低減器の好ましい実施態様を示す。
【
図5】スペクトルプリプロセッサを備えたオーディオエンコーダの好ましい実施態様を示す。
【
図6】時間ポストプロセッサを有するオーディオデコーダの好ましい実施形態を示す。
【
図7】
図6のオーディオデコーダのコーダプロセッサの実施態様を示す。
【
図8】
図7の洗練化復号化段階の好ましい実施態様を示す。
【
図9】制御値の計算のための間接モードの実施態様を示す。
【
図10】
図9の操作値計算器の好ましい実施態様を示す。
【
図12】分離式のオーディオデータ項目低減の実施態様を示す。
【
図13】統合式のオーディオデータ項目低減の実施態様を示す。
【発明を実施するための形態】
【0024】
図1は、オーディオ入力データ11を符号化するためのオーディオエンコーダを示す。オーディオエンコーダは、プリプロセッサ10、コーダプロセッサ15、およびコントローラ20を備える。プリプロセッサ10は、項目12に示されているフレームごとのオーディオデータまたは符号化されるオーディオデータを取得するために、オーディオ入力データ11を前処理する。符号化されるオーディオデータは、符号化されるオーディオデータを符号化するコーダプロセッサ15に入力され、コーダプロセッサは、符号化されたオーディオデータを出力する。コントローラ20は、その入力に関して、プリプロセッサのフレームごとのオーディオデータに接続されているが、代わりに、コントローラは、いかなる前処理もなしで、オーディオ入力データを受信するように、接続することもできる。コントローラは、フレームの信号に応じてフレーム当たりのオーディオデータ項目の数を減らすように構成され、同時に、コントローラは、フレームの信号に応じて、情報ユニットの数、または好ましくは低減させた数のオーディオデータ項目のビットを増やす。コントローラは、符号化されるオーディオデータの第1のフレームの第1の信号特性に応じて、第1のフレームに対してコーダプロセッサによって符号化されるオーディオデータのオーディオデータ項目の数が、第2のフレームの第2の信号特性と比較して低減され、第1のフレーム用の低減された数のオーディオデータ項目を符号化するために使用される情報ユニットの数が、第2のフレーム用の情報ユニットの第2の数と比較して、より強く増強されるように、コーダプロセッサ15を制御するように構成される。
【0025】
図2は、コーダプロセッサの好ましい実施態様を示す。コーダプロセッサは、初期符号化段階151および洗練化符号化段階152を含む。実施態様では、初期符号化段階は、算術エンコーダまたはハフマンエンコーダなどのエントロピーエンコーダを含む。別の実施形態では、洗練化符号化段階152は、ビットまたは情報ユニットの粒度で動作するビットエンコーダまたは残余エンコーダを備える。さらに、オーディオデータ項目の数の低減に関する機能は、
図2において、例えば、
図13に示す統合的低減モードでは可変量子化器として、あるいは、分離低減モード902に示すように既に量子化されたオーディオデータ項目で動作する別個の要素として実装することができるオーディオデータ項目低減器150によって具体化され、さらに図示されていない実施形態では、オーディオデータ項目低減器はまた、そのような非量子化要素を0に設定することによって、またはそのようなオーディオデータ項目が0に量子化され、したがって、その後に接続される量子化器で排除されるように、排除されるべきデータ項目を特定の重み付け数で重み付けすることによって、非量子化要素で動作することもできる。
図2のオーディオデータ項目低減器150は、分離された低減手順で非量子化または量子化データ要素に対して動作してもよいし、
図13の統合的低減モードに示すように、信号依存制御値によって特に制御される可変量子化器によって実装されてもよい。
【0026】
図1のコントローラ20は、第1のフレームの初期符号化段階151によって符号化されたオーディオデータ項目の数を減らすように構成され、初期符号化段階151は、情報ユニットの第1の初期フレーム数を使用して第1のフレームの低減された数のオーディオデータ項目を符号化するように構成され、情報ユニットの初期の数の計算されたビット/ユニットは、
図2の項目151に示すように、ブロック151によって出力される。
【0027】
さらに、洗練化符号化段階152は、第1のフレームに対する低減された数のオーディオデータ項目のための洗練化符号化のために情報ユニットの第1のフレームの残数を使用するように構成されており、情報ユニットの第1のフレームの残数に追加された情報ユニットの第1の初期フレーム数は、第1のフレームのための所定の数の情報ユニットをもたらす。特に、洗練化符号化段階152は、第1のフレームの残りの数のビットおよび第2のフレーム残りの数のビットを出力し、少なくとも1つ、または好ましくは少なくとも50%、またはさらにより好ましくはすべてのゼロ以外のオーディオデータ項目、すなわち、オーディオデータ項目の低減後も残存する、初期符号化段階151によって初期に符号化されるオーディオデータ項目に対して少なくとも2つの洗練化ビットが存在する。
【0028】
好ましくは、第1のフレームの所定の数の情報ユニットは、第2のフレームの所定の数の情報ユニットに等しいか、または第2のフレームの所定の数の情報ユニットに非常に近く、オーディオエンコーダの一定または実質的に一定のビットレート動作が得られる。
【0029】
図2に示すように、オーディオデータ項目低減器150は、心理音響的に駆動される数を超えるオーディオデータ項目を、信号依存的に低減する。したがって、第1の信号特性の場合、数は、心理音響的に駆動される数を超えるようわずかにしか減少せず、第2の信号特性を有するフレームでは、例えば、数は、心理音響的に駆動される数を超えるよう大幅に減少する。また、好ましくは、オーディオデータ項目低減器は、最小の振幅/パワー/エネルギーを有するデータ項目を排除し、この動作は、好ましくは、統合モードで得られた間接的な選択を介して実行され、オーディオデータ項目の低減は、特定のオーディオデータ項目をゼロに量子化することによって行われる。実施形態では、初期符号化段階は、ゼロに量子化されていないオーディオデータ項目のみを符号化し、洗練化符号化段階152は、初期符号化段階によって既に処理されているオーディオデータ項目、すなわち、
図2のオーディオデータ項目低減器150によってゼロに量子化されていないオーディオデータ項目のみを洗練する。
【0030】
好ましい実施形態では、洗練化符号化段階は、少なくとも2回の順次実行される反復において、第1のフレームの低減された数のオーディオデータ項目に情報ユニットの第1のフレームの残数を反復的に割り当てるように構成される。特に、少なくとも2回の順次実行される反復のための割り当てられた情報ユニットの値が計算され、少なくとも2回の順次実行される反復のための情報ユニットの計算された値が、所定の順序で符号化出力フレームに導入される。特に、洗練化符号化段階は、第1の反復において、第1のフレームの低減された数のオーディオデータ項目の各々のオーディオデータ項目についての情報ユニットを、オーディオデータ項目についての低周波の情報から、オーディオデータ項目についての高周波の情報までの順序で、順次割り当てるように構成される。特に、オーディオデータ項目は、時間/スペクトル変換によって得られた個々のスペクトル値であってもよい。あるいは、オーディオデータ項目は、典型的にはスペクトル内で互いに隣接している2つ以上のスペクトルラインのタプルであってもよい。ビット値の計算は、低周波数の情報を有する特定の開始値から、最高周波数の情報を有する特定の終了値まで行われ、さらなる反復では、同じ手順が実行され、すなわち、ここでも低スペクトル情報値/タプルから、高スペクトル情報値/タプルへの処理が実行される。特に、洗練化符号化段階152は、既に割り当てられている情報ユニットの数が、情報ユニットの第1の初期フレーム数よりも少ない第1のフレームの所定の数の情報ユニットよりも少ないかどうか、洗練化符号化段階はまた、否定の確認結果の場合、第2の反復を停止するように構成され、または肯定的なチェック結果の場合、否定の確認結果が得られるまで、さらなる反復回数を実行し、さらなる反復回数は、1、2...と構成される。好ましくは、最大数の反復は、10から30の間の値、好ましくは20の反復などの2桁の数で制限される。代替的な実施形態では、ゼロ以外のスペクトル線が最初にカウントされ、残余ビットの数が各反復または手順全体について、状態に応じて調整された場合、最大数の反復の確認を省くことができる。したがって、例えば、20個の残存スペクトルタプルおよび50個の残余ビットが存在するとき、エンコーダまたはデコーダにおける手順でのいずれの確認もなしで、反復数が3であり、3回目の反復において、洗練化ビットが計算されるべきであるか、または最初の10個のスペクトルライン/タプルについて、ビットストリームにて利用可能であると決定することができる。したがって、エンコーダまたはデコーダの初期段階の処理に続いて、ゼロ以外または残存しているオーディオ項目の数に関する情報が分かっているので、この代替案は反復処理中に確認を必要としない。
【0031】
図3は、他の手順とは対照的に、フレームのための洗練化ビットの数が、そのような特定のフレームのためのオーディオデータ項目の対応する減少に起因して特定のフレームについて著しく増加しているという事実に起因して可能にされる、
図2の洗練化符号化段階152によって実行される反復手順の好ましい実施態様を示す。
【0032】
ステップ300において、残存しているオーディオデータ項目が決定される。この決定は、
図2の初期符号化段階151によって既に処理されているオーディオデータ項目を動作させることによって自動的に実行することができる。ステップ302において、手順の開始は、スペクトル情報が最も低いオーディオデータ項目などの所定のオーディオデータ項目において行われる。ステップ304において、所定のシーケンスの各オーディオデータ項目のビット値が計算され、この所定のシーケンスは、例えば、低いスペクトル値/タプルから高いスペクトル値/タプルまでのシーケンスである。ステップ304における計算は、開始オフセット305を使用して行われ、洗練化ビットが依然として利用可能であるという制御下314にある。項目316において、第1の反復洗練化情報ユニットが出力され、すなわち、ビットが、オフセット、すなわち開始オフセット305が加算されるべきか、または減算されるべきか、あるいは開始オフセットが追加されるべきか、または追加されるべきでないかを示す、各々の残存しているオーディオデータ項目についての1つのビットを示すビットパターンが出力される。
【0033】
ステップ306において、オフセットが所定の規則で低減される。この所定の規則は、例えば、オフセットが半分にされること、すなわち、新しいオフセットが元のオフセットの半分であることであってもよい。しかし、0.5の重み付けとは異なる他のオフセット低減規則も同様に適用することができる。
【0034】
ステップ308において、所定のシーケンスの各項目のビット値が再び計算されるが、ここでは2回目の反復である。第2の反復への入力として、307で示される第1の反復後の洗練化された項目が入力される。したがって、ステップ314における計算のために、第1の反復洗練化情報ユニットによって表される洗練化が既に適用されており、ステップ314に示すように洗練化ビットが依然として利用可能であるという前提条件の下で、第2の反復洗練化情報ユニットが計算され、318で出力される。
【0035】
ステップ310において、オフセットは、第3の反復の準備ができるように所定の規則で再び低減され、第3の反復は、309で示される第2の反復の後の洗練化された項目に再び依存し、314で示されるように、やはり洗練化ビットが依然として利用可能であるという前提の下で、第3の反復洗練化情報ユニットが、320で計算されて出力される。
【0036】
図4aは、第1のフレームまたは第2のフレームの情報ユニットまたはビットを有する例示的なフレーム構文を示す。フレームのビットデータの一部は、初期ビット数、すなわち項目400によって構成される。さらに、第1の反復洗練化ビット316、第2の反復洗練化ビット318、および第3の反復洗練化ビット320もフレームに含まれる。特に、フレームの構文に従って、デコーダは、フレームのどのビットが初期の数のビットであるか、どのビットが第1、第2、または第3の反復洗練化ビット316、318、320であるか、およびフレームのどのビットが任意の他のビット402であるかを識別する位置にあり、例えば、コントローラ200によって直接計算することができる、または、例えば、コントローラ出力情報21によってコントローラによって影響を受ける可能性がある、例えばグローバルゲイン(gg)の符号化表現も含むことができる任意のサイド情報などである。セクション316、318、320内には、個々の情報ユニットの特定のシーケンスが示されている。このシーケンスは、好ましくは、ビットシーケンスにおけるビットが復号されるべき初期に復号されるオーディオデータ項目に適用されるようになっている。ビットレートの要件に関して、第1、第2、および第3の反復洗練化ビットに関する何かを明示的にシグナリングすることは有用ではないため、ブロック316、318、320内の個々のビットの順序は、残存しているオーディオデータ項目の対応する順序と同じであるべきである。それを考慮して、
図3に示すエンコーダ側および
図8に示すデコーダ側で、同じ反復手順を使用することが好ましい。少なくともブロック316から320において、任意の特定のビット割り当てまたはビット関連付けをシグナリングする必要はない。
【0037】
さらに、一方のビットの初期の数および他方のビットの残数は単なる例示である。典型的には、スペクトル値またはスペクトル値のタプルなどのオーディオデータ項目の最上位ビット部分を典型的に符号化するビットの初期の数は、「残存している」オーディオデータ項目の最下位部分を表す反復洗練化ビットよりも大きい。さらに、初期の数のビット400は、通常、エントロピーコーダまたは算術エンコーダによって決定されるが、反復洗練化ビットは、情報ユニット粒度で動作する残余またはビットエンコーダを使用して決定される。洗練化符号化段階はいずれのエントロピー符号化なども実行しないが、それでもなお、オーディオデータ項目の最下位ビット部分の符号化は、洗練化符号化段階によって、より効率的に行われる。これは、スペクトル値などのオーディオデータ項目の最下位ビット部分が均等に分布しており、したがって、可変の長さのコードまたは特定のコンテキストを伴う算術コードによるいずれかのエントロピー符号化が、いかなる追加の利点をもたらさず、逆に追加のオーバーヘッドさえもたらすと仮定することができるためである。
【0038】
言い換えれば、オーディオデータ項目の最下位のビット部分の場合、算術コーダの使用は、ビットエンコーダの使用ほどは効率的ではない。これは、ビットエンコーダが特定のコンテキストのいずれかのビットレートを必要としないためである。コントローラによって誘発されるオーディオデータ項目の意図的な低減は、支配的なスペクトルラインまたはラインタプルの精度を高めるだけでなく、さらに、算術または可変の長さのコードによって表されるこれらのオーディオデータ項目のMSBの部分を洗練化する目的で、非常に効率的な符号化動作をもたらす。
【0039】
そのことを考慮して、
図2に示すような
図1のコーダプロセッサ15の実装によって、一方では初期符号化段階151、他方では洗練化符号化段階152を用いて、いくつかの、例えば以下の利点が得られる。
単一ビット(非エントロピー)符号化に基づく第1のエントロピー符号化段階および第2の残余符号化段階を含む、効率的な2段階符号化方式が提案される。
【0040】
この方式は、信号適応ノイズフロア加算器を特徴とする第1の符号化段階のためのエネルギーベースのビット消費推定器を組み込んだ低複雑度グローバルゲイン推定器を採用する。
【0041】
ノイズフロア加算器は、他の信号タイプの推定値を変更せずに残しながら、高音調信号について第1の符号化段階から第2の符号化段階にビットを効果的に転送する。エントロピー符号化段階から非エントロピー符号化段階へのビットのこのシフトは、高音調信号に対して完全に効率的である。
【0042】
図4bは、例えば、好ましくは
図13に関して示される統合的低減モードで制御された方法でオーディオデータ項目の低減を実行するように実施され得る可変量子化器の好ましい実施態様を示す。この目的のために、可変量子化器は、ライン12に示されている符号化される(操作されていない)オーディオデータを受信する重み付け器155を備える。このデータはコントローラ20にも入力され、コントローラは、グローバルゲイン21を計算するように構成されるが、重み付け器155への入力としての非操作データに基づき、信号依存の操作を使用する。グローバルゲイン21は、重み付け器155に適用され、重み付け器の出力は、固定された量子化ステップサイズに依存する量子化器コア157に入力される。可変量子化器150は、制御された重み付け器として実装され、制御は、グローバルゲイン(gg)21および続いて接続される固定の量子化ステップサイズ量子化器コア157を使用して行われる。しかし、コントローラ20の出力値によって制御される可変量子化ステップサイズを有する量子化器コアなどの他の実施態様も実行することができる。
【0043】
図5は、オーディオエンコーダの好ましい実施態様、特に、
図1のプリプロセッサ10の特定の実施態様を示す。好ましくは、プリプロセッサは、オーディオ入力データ11から、例えば余弦枠であり得る特定の分析枠を使用して枠付きの時間領域オーディオデータのフレームを生成するウィンドア13を備える。時間領域オーディオデータのフレームは、修正離散コサイン変換(MDCT)またはFFTもしくはMDSTなどの任意の他の変換または任意の他の時間スペクトル変換を実行するように実装され得るスペクトル変換器14に入力される。好ましくは、ウィンドアは、重複するフレームの生成が行われるように特定の事前制御で動作する。50%のオーバーラップの場合、ウィンドアの進行値は、ウィンドア13によって適用される分析枠のサイズの半分である。スペクトル変換器によって出力されたスペクトル値の(非量子化の)フレームは、スペクトルプロセッサ15に入力され、スペクトルプロセッサ15は、時間的ノイズ形成動作、スペクトルノイズ形成動作、またはスペクトルホワイトニング動作などの他の任意の動作を実行するなどの何らかの種のスペクトル処理を実行するように実装され、それによって、スペクトルプロセッサによって生成された修正スペクトル値は、スペクトルプロセッサ15による処理前のスペクトル値のスペクトル包絡線よりも平坦なスペクトル包絡線を有する。(フレームごとの)符号化されるオーディオデータは、ライン12を介してコーダプロセッサ15およびコントローラ20に転送され、コントローラ20は、ライン21を介して制御情報をコーダプロセッサ15に提供する。コーダプロセッサは、そのデータを、例えばビットストリームマルチプレクサとして実装されているビットストリームライタ30に出力し、符号化されたフレームはライン35で出力される。
【0044】
デコーダ側の処理に関して、
図6を参照する。ブロック30によって出力されたビットストリームは、例えば、何らかの種類の記憶または送信に続いてビットストリームリーダ40に直接入力されてもよい。もちろん、DECTプロトコルまたはBluetoothプロトコルなどの無線伝送プロトコル、または任意の他の無線伝送プロトコルによる伝送処理など、エンコーダとデコーダとの間で任意の他の処理が実行されてもよい。
図6に示すオーディオデコーダに入力されたデータは、ビットストリームリーダ40に入力される。ビットストリームリーダ40は、データを読み取り、コントローラ60によって制御されるコーダプロセッサ50にデータを転送する。特に、ビットストリームリーダは、符号化されたデータを受信し、符号化されたオーディオデータは、フレームについて、情報ユニットの初期フレーム数および情報ユニットのフレーム残数を含む。コーダプロセッサ50は、符号化されたオーディオデータを処理し、コーダプロセッサ50は、両方ともコントローラ60によって制御される、初期復号化段階のための項目51、および洗練化復号化段階のための項目52に対して、
図7に示すような初期復号化段階および洗練化復号化段階を含む。コントローラ60は、
図7の初期復号化段階51によって出力された初期に復号されるデータ項目を洗練化するときに、1つの同じ初期に復号されるデータ項目を洗練化するための情報ユニットの残数のうちの少なくとも2つの情報ユニットを使用するように、洗練化復号化段階52を制御するように構成される。さらに、コントローラ60は、初期復号化段階が
図7のブロック51および52を接続するラインで初期に符号化されるデータ項目を取得するために情報ユニットの初期フレーム数を使用するようにコーダプロセッサを制御するように構成され、好ましくは、コントローラ60は、
図6または
図7のブロック60への入力ラインによって示されるように、一方で情報ユニットの初期フレーム数、および情報ユニットのフレームの初期の残数の指示をビットストリームリーダ40から受信する。ポストプロセッサ70は、ポストプロセッサ70の出力において、復号されたオーディオデータ80を得るために、洗練化されたオーディオデータ項目を処理する。
【0045】
図5のオーディオエンコーダに対応するオーディオデコーダの好ましい実装形態では、ポストプロセッサ70は、入力段階として、逆時間ノイズ形成動作、または逆スペクトルノイズ形成動作、または逆スペクトルホワイトニング動作、または
図5のスペクトルプロセッサ15によって適用される何らかの種類の処理を低減する任意の他の動作を実行するスペクトルプロセッサ71を備える。スペクトルプロセッサの出力は、スペクトル領域から時間領域への変換を実行するように動作する時間変換器72に入力され、好ましくは、時間変換器72は
図5のスペクトル変換器14と一致する。時間変換器72の出力は、復号されたオーディオデータ80を得るために、少なくとも2つのオーバーラップするフレームなどのオーバーラップするフレームの数に対してオーバーラップ/加算動作を実行するオーバーラップ加算段階73に入力される。好ましくは、オーバーラップ加算段階73は、時間変換器72の出力に合成枠を適用し、この合成枠は、分析ウィンドア13によって適用される分析枠と一致する。さらに、ブロック73によって実行されるオーバーラップ動作は、
図5のウィンドア13によって実行されるブロック前進動作と一致する。
【0046】
図4aに示すように、情報ユニットのフレーム残数は、所定の順序での少なくとも2回の連続した反復のための情報ユニット316、318、320の計算値を含み、
図4aの実施形態では、3回の反復も示されている。さらに、コントローラ60は、洗練化復号化段階52を、第1の反復のために、所定の順序に従って第1の反復のためのブロック316などの計算値を使用し、第2の反復のために、所定の順序で第2の反復のためのブロック318からの計算値を使用するように制御するように構成される。
【0047】
続いて、コントローラ60の制御下での洗練化復号化段階の好ましい実施態様が
図8に関して示されている。ステップ800において、
図7のコントローラまたは洗練化復号化段階52は、洗練化されるオーディオデータ項目を決定する。これらのオーディオデータ項目は、通常、
図7のブロック51によって出力されるすべてのオーディオデータ項目である。ステップ802に示されるように、最低スペクトル情報などの所定のオーディオデータ項目における開始が実行される。開始オフセット805を使用して、ビットストリームまたはコントローラ16から受信した第1の反復洗練化情報ユニット、例えば、
図4aのブロック316のデータは、所定のシーケンスの各項目に適用され804、所定のシーケンスは、低いスペクトル値/スペクトルタプル/スペクトル情報から高いスペクトル値/スペクトルタプル/スペクトル情報まで延びる。結果は、ライン807によって示されるように、第1の反復後の洗練化されたオーディオデータ項目である。ステップ808において、事前定義されたシーケンス内の各項目のビット値が適用され、ビット値は、818に示すように第2の反復洗練化情報ユニットからもたらされ、これらのビットは、具体的な実装に応じてビットストリームリーダまたはコントローラ60から受信される。ステップ808の結果は、第2の反復後の洗練化項目である。再び、ステップ810において、オフセットは、ブロック806において既に適用されている所定のオフセット低減規則に従って低減される。低減されたオフセットを用いて、事前定義されたシーケンス内の各項目のビット値は、例えばビットストリームまたはコントローラ60から受信した第3の反復洗練化情報ユニットを使用して、812に示すように適用される。第3の反復洗練化情報ユニットは、
図4aの項目320においてビットストリームに書き込まれる。ブロック812の手順の結果は、821に示すように、第3の反復後に洗練化された項目である。
【0048】
この手順は、フレームのビットストリームに含まれるすべての反復洗練化ビットが処理されるまで継続される。これは、制御ライン814を介してコントローラ60によって確認され、制御ライン814は、好ましくは各反復についてであるが、少なくともブロック808、812で処理される第2および第3の反復について、洗練化ビットの残りの利用可能性を制御する。各反復において、コントローラ60は、既に読み取られている情報ユニットの数が、否定的な確認結果の場合に第2の反復を停止するためのフレーム用のフレーム残り情報ユニット内の情報ユニットの数よりも少ないかどうかを確認するように、または肯定的な確認結果の場合には、否定的な確認結果が得られるまでさらなる反復回数を実行するように、洗練化復号化段階を制御する。さらなる反復回数は少なくとも1回である。
図3の状況で説明したエンコーダ側および
図8で概説したデコーダ側に同様の手順を適用するため、いずれの特定のシグナリングも不要である。代わりに、多重反復洗練化処理は、いずれの特定のオーバーヘッドなしに非常に効率的な方法で行われる。代替の実施形態では、非ゼロスペクトル線が最初にカウントされ、残余ビットの数が反復ごとにそれに応じて調整された場合、最大反復回数の確認を省くことができる。
【0049】
好ましい実施態様では、洗練化復号化段階52は、情報ユニットのフレーム残数の読み出し情報データユニットが第1の値を有する場合、初期に符号化されるデータ項目にオフセットを加え、情報ユニットのフレーム残数の読み出し情報データユニットが第2の値を有する場合、初期に符号化される項目からオフセットを減算するように構成されている。このオフセットは、第1の反復では、
図8の開始オフセット805である。
図8の808に示すように、第2の反復では、ブロック806によって生成された低減されたオフセットは、情報ユニットのフレーム残数の読み出し情報データユニットが第1の値を有する場合、第1の反復の結果に低減または第2のオフセットを加算するために使用され、情報ユニットのフレーム残数の読み出し情報データユニットが第2の値を有する場合、第1の反復の結果から第2のオフセットを減算するために使用される。一般に、第2のオフセットは第1のオフセットよりも低く、好適には、第2のオフセットは第1のオフセットの0.4から0.6倍の間、最も好ましくは第1のオフセットの0.5倍である。
【0050】
図9に示す間接モードを使用する本発明の好ましい実施態様では、明示的な信号特性決定は不要である。代わりに、好ましくは
図9に示す実施形態を使用して操作値が計算される。間接モードの場合、コントローラ20は
図9に示すように実装される。特に、コントローラは、制御プリプロセッサ22と、操作値計算器23と、結合器24と、最終的に、
図4bに示す可変量子化器として実装される
図2のオーディオデータ項目低減器150のグローバルゲインを計算するグローバルゲイン計算器25とを備える。特に、コントローラ20は、第1のフレームのオーディオデータを分析して、第1のフレームの可変量子化器の第1の制御値を決定し、第2のフレームのオーディオデータを分析して、第2のフレームの可変量子化器の第2の制御値を決定するように構成され、第2の制御値は第1の制御値とは異なる。フレームのオーディオデータの解析は、操作値計算器23により行われる。コントローラ20は、第1のフレームのオーディオデータの操作を行うように構成される。この動作では、
図9に示す制御プリプロセッサ20は存在せず、したがって、ブロック22のバイパスラインがアクティブである。
【0051】
しかし、第1のフレームまたは第2のフレームのオーディオデータに対して操作が行われず、第1のフレームまたは第2のフレームのオーディオデータから導出された振幅に関連する値に対して操作が行われた場合、制御プリプロセッサ22は存在し、バイパスラインは存在しない。実際の操作は、あるフレームのオーディオデータから導出された振幅に関連する値に、ブロック23から出力された操作値を合成する結合器24によって行われる。結合器24の出力には操作された(好ましくはエネルギー)データが存在し、これらの操作されたデータに基づいて、グローバルゲイン計算器25は、404で示されるグローバルゲインまたは少なくともグローバルゲインの制御値を計算する。グローバルゲイン計算器25は、フレームに許容される特定のデータレートまたは特定の数の情報ユニットが得られるように、スペクトルの許容されるビットバジェットに対して制限を適用する必要がある。
【0052】
図11に示す直接モードでは、コントローラ20は、フレームごとの信号特性決定のための分析器201を備え、分析器208は、例えば音調性情報などの定量的信号特性情報を出力し、この好ましくは定量的であるデータを使用して制御値計算器202を制御する。フレームの音調性を計算するための1つの手順は、フレームのスペクトル平坦性尺度(SFM)を計算することである。任意の他の音調性決定手順または任意の他の信号特性判定手順をブロック201によって実行することができ、フレーム用のオーディオデータ項目の数の意図された減少を得るために、特定の信号特性値から特定の制御値への変換が実行されるべきである。
図11の直接モード用の制御値計算器202の出力は、可変量子化器などのコーダプロセッサへの、あるいは初期符号化段階への制御値とすることができる。可変量子化器に制御値が与えられると、統合的低減モードが実行され、初期符号化段階に制御値が与えられると、分離された低減が実行される。分離された低減の別の実施態様は、実際の量子化の前に存在する具体的に選択された非量子化オーディオデータ項目を除去するかそれに影響を及ぼし、その結果、特定の量子化器によって、そのような影響を受けたオーディオデータ項目が0に量子化され、したがって、エントロピー符号化およびその後の洗練化符号化の目的のために排除されることである。
【0053】
図9の間接モードは、統合的な低減、すなわち、グローバルゲイン計算器25が可変グローバルゲインを計算するように構成されていること、と共に示されているが、結合器24によって出力された操作データはまた、最小の量子化データ項目などの任意の特定の量子化オーディオデータ項目を除去するように初期符号化段階を直接制御するために使用することもでき、あるいは、制御値はまた、いずれのデータ操作もなしで決定された可変量子化制御値を使用して実際の量子化の前にオーディオデータに影響を及ぼす、図示されていないオーディオデータ影響段階に送信することもでき、したがって、典型的には、本発明の手順によって意図的に侵害される心理音響規則に従う。
【0054】
直接モードについて
図11に示すように、コントローラは、第1の音調性特性を第1の信号特性として決定し、第2の音調性特性を第2の信号特性として決定するように構成されており、そのため、第2の音調性特性の場合の洗練化符号化段階のビットバジェットと比較して、第1の音調性特性の場合、洗練化符号化段階のビットバジェットが増加するようにし、第1の音調性特性は、第2の音調性特性よりも大きい音調性を示す。
【0055】
本発明は、より大きなグローバルゲインを適用することによって通常得られるより粗い量子化をもたらさない。代わりに、信号依存の操作されたデータに基づくグローバルゲインのこの計算は、より小さいビットバジェットを受信する初期符号化段階から、より高いビットバジェットを受信する洗練化復号化段階へのビットバジェットのシフトのみをもたらすが、このビットバジェットのシフトは信号依存の方法で行われ、音調性がより高い信号部分ではより大きい。
【0056】
好ましくは、
図9の制御プリプロセッサ22は、オーディオデータの1つまたは複数のオーディオ値から導出された複数のパワーの値として、振幅に関連する値を計算する。詳細には、これらのパワーの値は、結合器24によって同一の操作値の加算を用いて操作され、操作値計算器23によって決定されたこの同一の操作値は、フレームの複数のパワーの値のすべてのパワーの値と結合される。
【0057】
あるいは、バイパスラインによって示されるように、ブロック23によって計算された同じ大きさの操作値であるが、好ましくはランダム化された符号を用いて得られた値、および/または同じ大きさ(ただし、好ましくはランダム化された符号を用いて)もしくは複素数の操作値からわずかに異なる項の減算によって得られた値、またはより一般には、操作値の計算された複素数または実数の大きさを用いてスケーリングされた特定の正規化された確率分布からのサンプルとして得られた値が、フレームに含まれる複数のオーディオ値のすべてのオーディオ値に加算される。パワースペクトルの計算およびダウンサンプリングなどの制御プリプロセッサ22によって実行される手順は、グローバルゲイン計算器25内に含まれ得る。したがって、好ましくは、ノイズフロアは、スペクトルオーディオ値に直接付加されるか、あるいはフレームごとのオーディオデータ、すなわち制御プリプロセッサ22の出力から導出された振幅に関連する値に付加される。好ましくは、コントローラプリプロセッサは、指数の値が2に等しい累乗の使用法に対応する、ダウンサンプリングされたパワースペクトルを計算する。しかし、代替的に、1より大きい異なる指数の値を使用することができる。例えば、3に等しい指数の値は、パワーではなく音量を表す。しかし、より小さいまたはより大きい指数の値などの他の指数の値も同様に使用することができる。
【0058】
図10に示す好ましい実施態様では、操作値計算器23は、フレーム内の最大スペクトル値を探索するための探索器26と、
図10の項目27によって示される信号に依存しない寄与の計算、または
図10のブロック28によって示されるようにフレームごとに1つまたは複数のモーメントを計算するための計算器の少なくとも1つとを含む。基本的に、フレームの操作値に信号依存の影響を与えるために、ブロック26またはブロック28のいずれかが存在する。具体的には、探索器26は、複数のオーディオデータ項目または振幅に関連する値の最大値を探索するように、または対応するフレームの複数のダウンサンプルされたオーディオデータまたは複数のダウンサンプルされた振幅に関連する値の最大値を探索するように構成される。実際の計算は、ブロック26、27、および28の出力を使用してブロック29によって行われ、ブロック26、28は実際に信号分析を表す。
【0059】
好ましくは、信号に依存しない寄与は、実際のエンコーダセッションのビットレート、フレーム持続時間、または実際のエンコーダセッションのサンプリング周波数によって決定される。さらに、フレーム当たりの1または複数のモーメントを計算するための計算器28は、フレーム内のオーディオデータまたはダウンサンプルされたオーディオデータの大きさの第1の和、各大きさに関連するインデックスを乗算したフレーム内のオーディオデータまたはダウンサンプルされたオーディオデータの大きさの第2の和、および第2の和と第1の和との商のうちの少なくとも1つから導出される信号依存重み値を計算するように構成される。
【0060】
図9のグローバルゲイン計算器25によって実行される好ましい実施態様では、エネルギーの値および実際の制御値の候補の値に応じて、各エネルギーの値に対して必要なビット推定値が計算される。エネルギーの値のための必要なビット推定値および制御値のための候補の値が蓄積され、制御値のための候補の値のための蓄積されたビット推定値が、例えば、グローバルゲイン計算器25に導入されるスペクトルのためのビットバジェットとして
図9に示されるような許容されるビット消費基準を満たすかどうかが確認される。許容されたビット消費基準が満たされない場合、制御値の候補の値が修正され、必要なビット推定値の計算、必要なビットレートの蓄積、および制御値の修正された候補値の許容されたビット消費基準の達成の確認が繰り返される。そのような最適な制御値が見つかるとすぐに、この値は
図9のライン404で出力される。
【0061】
続いて、好ましい実施形態が例示される。
エンコーダの詳細な説明(例えば、
図5)
表記
でHz単位の基礎となるサンプリング周波数を、
でミリ秒単位の基礎となるフレーム持続時間を、
によってビット/秒の基礎となるビットレートを示す。
残余スペクトルの導出(例えば、プリプロセッサ10)
この実施形態は、典型的には、MDCTのような時間周波数変換と、それに続く時間構造を除去するための時間ノイズ形成(TNS)およびスペクトル構造を除去するためのスペクトルノイズ形成(SNS)のような心理音響的に動機付けられた修正とによって導出される実際の残余スペクトル
に対して動作する。したがって、ゆっくりと変化するスペクトル包絡線を有するオーディオコンテンツの場合、残余スペクトル
の包絡線は平坦である。
【0062】
グローバルゲイン推定(例えば、
図9)
スペクトルの量子化は、以下を介してグローバルゲイン
によって制御される。
4倍のダウンサンプリング後のパワースペクトル
から導出された初期グローバルゲイン推定値(
図9の項目22)、
および以下によって与えられる信号適応ノイズフロア
、
(例えば、
図9の項目23)
パラメータ
は、ビットレート、フレーム持続時間およびサンプリング周波数に依存し、以下のように計算される。
(例えば、
図10の項目27)
以下の表に明記されているように
を伴う。
【0063】
【0064】
パラメータ
は、残余スペクトルの絶対値の質量中心に依存し、次のように計算される。
(例えば、
図10の項目28)
式中、
および
は、絶対スペクトルのモーメントである。
【0065】
グローバルゲインは、以下の形式で推定される。
値から
(例えば、
図9の結合器24の出力)
式中、
はビットレートおよびサンプリング周波数に依存するオフセットである。
ノイズフロア項
を
に加算すると、パワースペクトルを計算する前に、対応するノイズフロアを残余スペクトル
に加算する、例えばランダムに項
を各スペクトルラインに加算または減算する予想の結果が得られることに留意されたい。
推定値ベースの純粋なパワースペクトルは、例えば3GPP EVSコーデック(3GPP TS 26.445、セクション5.3.3.2.8.1)で既に見つけることができる。実施形態では、ノイズフロア
の追加が行われる。ノイズフロアは、2つの方法で信号適応性がある。
【0066】
第1に、それは
の最大振幅でスケーリングする。そのため、すべての振幅が最大振幅に近いフラットスペクトルのエネルギーへの影響が非常に小さい。しかし、スペクトルおよびひいては残余スペクトルがいくつかの強いピークを特徴とする非常に調性の高い信号の場合、以下に概説するように、全体的なエネルギーが大幅に増加し、グローバルゲインの計算におけるビット推定値が増加する。
【0067】
第2に、スペクトルが低い質量中心を示す場合、パラメータ
を通じてノイズフロアが低下する。この場合、低周波成分が支配的であり、高周波成分の損失は、高音成分ほど重要ではない可能性が高い。
グローバルゲインの実際の推定は、以下のCコードに概説されているように、低複雑度の二分探索によって(例えば、
図9のブロック25)実行され、これにおいて
は、スペクトルを符号化するためのビットバジェットを示す。ビット消費の推定値(変数tmpに蓄積される)は、ステージ1の符号化に使用される算術エンコーダにおけるコンテキスト依存性を考慮したエネルギーの値
に基づく。
【0068】
fac = 256;
= 255;
for (iter = 0; iter < 8; iter++)
{
fac >>= 1;
-= fac;
tmp = 0;
iszero = 1;
for (i =
/4-1; i >= 0; i--)
{
if (E[i]*28/20 < (
+
))
{
if (iszero == 0)
{
tmp += 2.7*28/20;
}
}
else
{
if ((
+
) < E[i]*28/20 - 43*28/20)
{
tmp += 2*E[i]*28/20 - 2*(
+
) - 36*28/20;
}
else
{
tmp += E[i]*28/20 - (
+
) + 7*28/20;
}
iszero = 0;
}
}
if (tmp >
*1.4*28/20 && iszero == 0)
{
+= fac;
}
}
【0069】
残余符号化(例えば、
図3)
残余符号化は、量子化スペクトル
の算術符号化後に利用可能な超過ビットを使用する。
を超過ビット数とし、
を符号化されたゼロ以外の係数
の数とする。さらに、
を、最低周波数から最高周波数までのこれらのゼロ以外の係数を列挙したものとする。係数
の残余ビット
(0および1の値をとる)が、誤差が最小になるように計算される。
これは、
であるかどうかを検証して反復的な様式でなされ得る。
【0070】
(1)が真である場合、係数
の第
の残余ビット
は0に設定され、そうでない場合は1に設定される。残余ビットの計算は、すべての
についての第1の残余ビットを計算し、次に、すべての残余ビットが消費されるか、または最大反復回数
が実行されるまで、第2のビットなどを計算することによって実行される。これにより、係数
の
残余ビットが残る。この残余符号化方式は、ゼロ以外の係数あたり最大1ビットを費やす3GPP EVSコーデックに適用される残余符号化方式を改善する。
での残余ビットの計算は、以下の擬似コードによって示され、ここで、ggはグローバルゲインを表す。
【0071】
iter = 0;
nbits_residual = 0;
offset = 0.25;
while (nbits_residual < nbits_residual_max && iter < 20)
{
k = 0;
while (k <
&& nbits_residual < nbits_residual_max)
{
if (
[k] != 0)
{
if (
[k] >=
[k]*gg)
{
res_bits[nbits_residual] = 1;
[k] -= offset * gg;
}
else
{
res_bits[nbits_residual] = 0;
[k] += offset * gg;
}
nbits_residual++;
}
k++;
}
iter++;
offset /= 2;
}
【0072】
デコーダの説明(例えば、
図6)
デコーダにおいて、エントロピー符号化されたスペクトル
は、エントロピー復号化によって得られる。残余ビットは、以下の擬似コード(
図8も参照されたい)によって示されるように、このスペクトルを洗練化するために使用される。
iter = n = 0;
offset = 0.25;
while (iter <
&& n < nResBits)
{
k = 0;
while (k <
&& n < nResBits)
{
if (
[k] != 0)
{
if (resBits[n++] == 0)
{
[k] -= offset;
}
else
{
[k] +=offset;
}
}
k++;
}
iter ++;
offset /= 2;
}
復号残余スペクトルは次式で与えられる。
【0073】
結論
・単一ビット(非エントロピー)符号化に基づく第1のエントロピー符号化段階および第2の残余符号化段階を含む、効率的な2段階符号化方式が提案される。
・この方式は、信号適応ノイズフロア加算器を特徴とする第1の符号化段階のためのエネルギーベースのビット消費推定器を組み込んだ低複雑度グローバルゲイン推定器を採用する。
・ノイズフロア加算器は、他の信号タイプの推定値を変更せずに残しながら、高音調信号について第1の符号化段階から第2の符号化段階にビットを効果的に転送する。エントロピー符号化段階から非エントロピー符号化段階へのビットのこのシフトは、高音調信号に対して完全に効率的であると論じられる。
【0074】
図12は、分離された低減を使用して信号依存的にオーディオデータ項目の数を低減するための手順を示す。ステップ901において、いずれの操作もなされていない信号データから計算されたグローバルゲインなどの、操作されていない情報を使用して、量子化が実行される。この目的のために、オーディオデータ項目の(合計)ビットバジェットが必要であり、ブロック901の出力において、量子化データ項目を取得する。ブロック902において、信号依存制御値に基づいて、好ましくは最小のオーディオデータ項目の(制御された)量を排除することによって、オーディオデータ項目の数が低減される。ブロック902の出力において、低減された数のデータ項目が得られ、ブロック903において、初期符号化段階が適用され、制御された低減に起因して残っている残余ビットのためのビットバジェットを用いて、904に示すように、洗練化符号化段階が適用される。
【0075】
図12の手順の代わりに、低減ブロック902はまた、グローバルゲイン値、または一
般に、操作されていないオーディオデータを使用して決定された特定の量子化器ステップサイズを使用して、実際の量子化の前に実行することができる。したがって、オーディオデータ項目のこの低減はまた、特定の好ましくは小さい値を0に設定することによって、または最終的に0に量子化される値をもたらす重み付け係数で特定の値を重み付けすることによって、非量子化領域で実行することができる。分離低減実施態様では、一方では明示的な量子化ステップが実行され、他方では明示的な低減ステップが実行され、特定の量子化のための制御はデータの操作なしで実行される。
【0076】
これとは対照的に、
図13は、本発明の実施形態による統合的低減モードを示す。ブロック911において、操作された情報は、例えば、
図9のブロック25の出力に示されるグローバルゲインなど、コントローラ20によって決定される。ブロック912において、操作されていないオーディオデータの量子化は、操作されたグローバルゲイン、または一般に、ブロック911において計算された操作された情報を使用して実行される。ブロック912の量子化手順の出力において、ブロック903において初期に符号化され、ブロック904において洗練化符号化される低減された数のオーディオデータ項目が得られる。オーディオデータ項目の信号依存性の低減により、少なくとも1回の完全な反復および第2の反復の少なくとも一部、好ましくはさらに3回以上の反復の残余ビットが残る。初期符号化段階から洗練化符号化段階へのビットバジェットのシフトは、本発明に従って、信号依存の方法で実行される。
【0077】
本発明は、少なくとも4つの異なるモードで実施することができる。制御値の決定は、明示的な信号特性決定を伴う直接モードで、または明示的な信号特性決定を伴わないが、操作の例としてオーディオデータまたは導出されたオーディオデータに信号依存ノイズフロアを追加する間接モードで、行うことができる。同時に、オーディオデータ項目の低減は、統合された方法または分離された方法で行われる。間接的な決定および統合的な低減、または制御値の間接的な生成および分離された低減も、実行することができる。さらに、統合的な低減を伴う直接的な決定、および、分離された低減を伴う制御値の直接的な決定も、同様に実行することができる。低効率を目的として、オーディオデータ項目の統合的な低減とともに、制御値の間接的な決定が好ましい。
【0078】
本明細書では、前述のすべての代替形態または態様、および以下の特許請求の範囲における独立請求項によって定義されるすべての態様は、個別に、すなわち、企図される代替形態、目的または独立請求項以外の代替形態または目的なしに使用することができることに、言及すべきである。しかし、他の実施形態では、2つ以上の代替形態または態様または独立請求項を互いに組み合わせることができ、他の実施形態では、すべての態様または代替形態およびすべての独立請求項を互いに組み合わせることができる。
【0079】
本発明の符号化されたオーディオ信号は、デジタル記憶媒体または非一時的記憶媒体に記憶することができ、あるいは無線伝送媒体または有線伝送媒体、例えばインターネットなどの伝送媒体で、伝送することができる。
【0080】
いくつかの態様が装置の文脈で説明されたが、これらの態様は、対応する方法の説明も表すことは明らかであり、ブロックまたはデバイスは、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明された態様は、対応する装置の対応するブロックまたはアイテムまたは機能の説明も表す。
【0081】
特定の実装要件に応じて、本発明の実施形態は、ハードウェアまたはソフトウェアで実装することができる。実装は、フロッピーディスク、DVD、CD、ROM、PROM、EPROM、EEPROM、フラッシュメモリなどのデジタル記憶媒体を使用して実行でき、電子的に読み取り可能な制御信号が格納されており、それぞれの方法が実行されるように、プログラム可能なコンピュータシステムと協働する(または協働することができる)。
【0082】
本発明によるいくつかの実施形態は、本明細書に記載の方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる電子的に読み取り可能な制御信号を有するデータキャリアを含む。
【0083】
一般に、本発明の実施形態は、プログラムコードを伴うコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータで実行されるときに方法の1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリアに格納されてもよい。
【0084】
他の実施形態は、機械可読キャリア、または非一時的記憶媒体に格納された、本明細書に記載された方法の1つを実行するためのコンピュータプログラムを含む。
言い換えれば、本発明の方法の実施形態は、したがって、コンピュータプログラムがコンピュータで実行されるときに、本明細書で説明される方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0085】
したがって、本発明の方法のさらなる実施形態は、記録される本明細書に記載の方法の1つを実行するためのコンピュータプログラムを含むデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。
したがって、本発明の方法のさらなる実施形態は、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは一連の信号である。データストリームまたは一連の信号は、例えば、インターネットなどのデータ通信接続を介して転送されるように構成されてもよい。
【0086】
さらなる実施形態は、本明細書に記載された方法の1つを実行するように構成または適合された処理手段、例えば、コンピュータまたはプログラマブル論理デバイスを含む。
さらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムがインストールされているコンピュータを含む。
【0087】
いくつかの実施形態では、プログラマブル論理デバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載されている方法の機能の一部またはすべてを実行することができる。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書で説明される方法の1つを実行するために、マイクロプロセッサと協働し得る。一般に、方法は、好ましくは、任意のハードウェア装置によって実行される。
【0088】
上記の実施形態は、本発明の原理を単に例示するものである。本明細書に記載の配置および細部の修正および変形は、当業者には明らかであることが理解される。したがって、本明細書の実施形態の記載および説明として提示される特定の細部によってではなく、直近の特許クレームの範囲によってのみ制限されることが意図されている。