(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-03-31
(54)【発明の名称】完全フレーム損失隠蔽および部分的フレーム損失隠蔽を含む、LC3隠蔽のためのデコーダおよび復号方法
(51)【国際特許分類】
G10L 19/005 20130101AFI20220324BHJP
G10L 19/032 20130101ALI20220324BHJP
【FI】
G10L19/005
G10L19/032
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021547397
(86)(22)【出願日】2020-02-12
(85)【翻訳文提出日】2021-09-27
(86)【国際出願番号】 EP2020053620
(87)【国際公開番号】W WO2020165265
(87)【国際公開日】2020-08-20
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065172
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065205
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065209
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【氏名又は名称】岡田 全啓
(74)【代理人】
【識別番号】100167966
【氏名又は名称】扇谷 一
(72)【発明者】
【氏名】トマセク エイドリアン
(72)【発明者】
【氏名】スペルシュナイダー ラルフ
(72)【発明者】
【氏名】ビューテ ヤン
(72)【発明者】
【氏名】ベンドルフ コンラート
(72)【発明者】
【氏名】ディーツ マルティーン
(72)【発明者】
【氏名】シュネル マルクス
(72)【発明者】
【氏名】シュレーゲル マキシミリアン
(57)【要約】
図1は、ある実施の形態による、現在のフレームを復号してオーディオ信号を再構築するためのデコーダ(100)を示す。オーディオ信号は現在のフレーム内で符号化される。現在のフレームは現在のビットストリームペイロードを含む。現在のビットストリームペイロードは複数のペイロードビットを含む。複数のペイロードビットは、オーディオ信号のスペクトルの複数のスペクトル線を符号化する。ペイロードビットのそれぞれは、現在のビットストリームペイロード内の位置を表す。デコーダ(100)は、復号モジュール(110)と出力インタフェース(120)とを備える。復号モジュール(110)はオーディオ信号を再構築するように構成される。出力インタフェース(120)はオーディオ信号を出力するように構成される。復号モジュール(110)はエラー隠しモードを含み、復号モジュール(110)が前記エラー隠蔽モードになっている場合、復号モジュール(110)は、オーディオ信号のスペクトルの、周波数が敷居周波数よりも大きいスペクトル線についてエラー隠蔽を実行することによって、オーディオ信号を再構築するように構成される。および/または、復号モジュール(110)がエラー隠蔽を実行する場合、復号モジュール(110)は、現在のフレームに先行している前のフレームの前のビットストリームペイロードが、トーナルまたは高調波なオーディオ信号の信号成分を符号化するかどうかに依存して、エラー隠蔽を実行するように構成される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
オーディオ信号を再構築するように、現在のフレームをデコードするためのデコーダ(100)であって、前記オーディオ信号は、現在のフレーム内でエンコードされ、前記現在のフレームは、現在のビットストリームペイロードを含み、前記現在のビットストリームペイロードは、複数のペイロードビットを含み、前記複数のペイロードビットは、前記オーディオ信号のスペクトルの複数のスペクトル線をエンコードし、前記ペイロードビットのそれぞれは、前記現在のビットストリームペイロード内の位置を表し、
前記デコーダ(100)は、
前記オーディオ信号を再構築するように構成されたデコード化モジュール(110)と、
前記オーディオ信号を出力するように構成された出力インタフェース(120)と、を含み、
前記デコード化モジュール(110)は、エラー隠しモードを含み、仮に前記デコード化モジュール(110)が前記エラー隠しモードにあるならば、前記デコード化モジュール(110)は、閾周波数より大きい周波数を表す、前記オーディオ信号の前記スペクトルのそれらのスペクトル線のためのエラー隠しを実施することによって、前記オーディオ信号を再構築するように構成され、および/または、
仮にエラー隠しが前記デコード化モジュール(110)によって実施されるならば、前記デコード化モジュール(110)は、前記現在のフレームに先行している前のフレームの前のビットストリームペイロードが、色調または和声の前記オーディオ信号の信号構成要素をエンコードするかどうかに依存する方法で、エラー隠しを実施するように構成される、デコーダ(100)。
【請求項2】
前記エラー隠しモードは、部分的なフレーム損失隠しモードであり、仮に前記デコード化モジュール(110)が前記部分的なフレーム損失隠しモードにあるならば、前記デコード化モジュール(110)は、
前記閾周波数より小さいか、または等しい周波数を表す、前記スペクトルの前記複数のスペクトル線のうちの1つ以上の第1のスペクトル線のためのエラー隠しを実施しないで、前記オーディオ信号を再構築するように構成され、ここで、前記1つ以上の第1のスペクトル線は、前記複数のペイロードビットのうちの1つ以上の第1のグループによってエンコードされている、そして、
前記閾周波数より大きい周波数を表す、前記スペクトルの前記複数のスペクトル線のうちの1つ以上の第2のスペクトル線のためのエラー隠しを実施することによって、前記オーディオ信号を再構築するように構成され、ここで、前記1つ以上の第2のスペクトル線は、前記複数のペイロードビットのうちの1つ以上の第2のグループによってエンコードされている、請求項1に記載のデコーダ(100)。
【請求項3】
前記デコード化モジュール(110)は、前記現在のフレームが、前記閾周波数より小さいか、または等しい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第1のスペクトル線をエンコードする破損されたビットを少しも含まないかどうかを検出するように構成され、
前記デコード化モジュール(110)は、前記現在のフレームが、前記閾周波数より大きい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第2のスペクトル線をエンコードする1つ以上の破損されたビットを含むかどうかを検出するように構成され、
前記1つ以上の破損されたビットは、歪められるか、または歪められそうな1つ以上の前記ペイロードビットであり、
仮に前記現在のフレームが、前記閾周波数より小さいか、または等しい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第1のスペクトル線をエンコードする破損されたビットを少しも含まないならば、かつ、仮に前記現在のフレームが、前記閾周波数より大きい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第2のスペクトル線をエンコードする前記1つ以上の破損されたビットを含むならば、前記デコード化モジュール(110)は、前記閾周波数より大きい前記スペクトルのうちの前記1つ以上の第2のスペクトル線のためのエラー隠しを実施することによって、前記部分的なフレーム損失隠しモードにおいてエラー隠しを実施するように構成される、請求項2に記載のデコーダ(100)。
【請求項4】
仮に前記現在のフレームが、前記閾周波数より小さいか、または等しい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第1のスペクトル線をエンコードする破損されたビットを少しも含まないならば、かつ、仮に前記現在のフレームが、前記閾周波数より大きい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第2のスペクトル線をエンコードする前記1つ以上の破損されたビットを含むならば、前記デコード化モジュール(110)は、前記閾周波数より小さいか、または等しい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第1のスペクトル線をエンコードする、前記1つ以上の前記複数のペイロードビットの前記第1のグループをデコード化することによって、前記オーディオ信号を再構築するように構成される、請求項3に記載のデコーダ(100)。
【請求項5】
前記デコード化モジュール(110)は、前記現在のフレームが失われるかどうかを検出するように構成され、
仮に前記デコーダ(100)が、前記現在のフレームが失われることを検出したならば、前記デコード化モジュール(110)は、
前記閾周波数より大きい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第2のスペクトル線のためのエラー隠しを実施することによって、および、
前記閾周波数より小さいか、または等しい前記オーディオ信号の前記スペクトルのうちの1つ以上の第1の周波数のための前記1つ以上の第1のスペクトル線をエンコードする、前記1つ以上の前記複数のペイロードビットの前記第1のグループを、エラー隠しを実施しないでデコードすることによって、前記オーディオ信号を再構築するように構成され、
ここで、前記1つ以上の前記複数のペイロードビットの前記第1のグループは、前記現在のフレームと異なる冗長なフレームの1つ以上のペイロードビットである、請求項2~請求項4のいずれか1つに記載のデコーダ(100)。
【請求項6】
仮に、前記デコード化モジュール(110)が、完全なフレーム損失隠しモードにおいてエラー隠しを実施するように構成されるならば、前記デコード化モジュール(110)は、前記スペクトルの全てのスペクトル線のためのエラー隠しを実施するように構成される、請求項2~請求項5のいずれか1つに記載のデコーダ(100)。
【請求項7】
前記複数のペイロードビットは、複数の現在のペイロードビットであり、
仮に、前記デコード化モジュール(110)が、前記部分的なフレーム損失隠しモードにあるならば、前記デコード化モジュール(110)は、前記前のフレームの前記前のビットストリームペイロードの1つ以上前のペイロードビットによってエンコードされた1つ以上の記憶されたスペクトル線を使って、前記閾周波数より大きい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第2のスペクトル線のためにエラー隠しを実施するように構成される、請求項6に記載のデコーダ(100)。
【請求項8】
前記スペクトルは、現在の量子化されたスペクトルであり、
仮に、前記デコード化モジュール(110)が、前記部分的なフレーム損失隠しモードにおいてエラー隠しを実施するならば、前記デコード化モジュール(110)は、前記現在の量子化されたスペクトルの1つ以上の中間的なスペクトル線を得るために、前記閾周波数より大きい周波数を表す、前記オーディオ信号の前記スペクトルのうちの前記1つ以上の第2のスペクトル線のためにエラー隠しを実施するように構成され、前記デコード化モジュール(110)は、前記オーディオ信号を再構築するために、再スケーリングファクターを使用して前記1つ以上の中間的なスペクトル線を再縮尺するように構成される、請求項7に記載のデコーダ(100)。
【請求項9】
前記デコード化モジュール(110)は、
前記現在のビットストリームペイロード内でエンコードされるグローバル(全域にわたる)ゲイン、および、
前記前のビットストリームペイロード内でエンコードされるグローバルゲイン、および、
前記前のフレームの前の量子化されたスペクトルのエネルギー、および、前記前のフレームの前のデコードされたスペクトルのエネルギー、および、
前記現在のフレームの前記現在の量子化されたスペクトルのエネルギーの少なくとも1つに依存して、前記再スケーリングファクターを決定するように構成される、請求項8に記載のデコーダ(100)。
【請求項10】
前記デコード化モジュール(110)は、
エラー隠しを実施しないで再構築できない第1のスペクトル貯蔵箱から開始して前記スペクトルのトップにまでアップする、前記前のフレームの前記前のデコード化されたスペクトルのスペクトル貯蔵箱の平均エネルギーが、ゼロから開始してエラー隠しを実施しないで再構築できる最後のスペクトル貯蔵箱にまでアップする、前記前のフレームの前記前のデコード化されたスペクトルのスペクトル貯蔵箱の平均エネルギーより大きい、または等しいかどうかに依存して、または、
ゼロから開始してエラー隠しを実施しないで再構築できる前記最後のスペクトル貯蔵箱にまでアップする、前記現在のフレームの前記現在の量子化されたスペクトルのスペクトル貯蔵箱のエネルギーが、ゼロから開始してエラー隠しを実施しないで再構築できる前記最後のスペクトル貯蔵箱にまでアップする、前記前のフレームの前記前の量子化されたスペクトルのスペクトル貯蔵箱のエネルギーより大きい、または等しいかどうかに依存して、
前記再スケーリングファクターを決定するように構成される、請求項8または請求項9に記載のデコーダ(100)。
【請求項11】
仮に、エラー隠しを実施しないで再構築できない前記第1のスペクトル貯蔵箱から開始して前記スペクトルのトップにまでアップする、前記前のフレームの前記前のデコード化されたスペクトルの前記スペクトル貯蔵箱の前記平均エネルギーが、ゼロから開始してエラー隠しを実施しないで再構築できる前記最後のスペクトル貯蔵箱にまでアップする、前記前のフレームの前記前のデコード化されたスペクトルの前記スペクトル貯蔵箱の前記平均エネルギーより小さいならば、および、
仮に、ゼロから開始してエラー隠しを実施しないで再構築できる前記最後のスペクトル貯蔵箱にまでアップする、前記現在のフレームの前記現在の量子化されたスペクトルの前記スペクトル貯蔵箱のエネルギーが、ゼロから開始してエラー隠しを実施しないで再構築できる前記最後のスペクトル貯蔵箱にまでアップする、前記前のフレームの前記前の量子化されたスペクトルの前記スペクトル貯蔵箱のエネルギーより小さいならば、
前記デコード化モジュール(110)は、前記再スケーリングファクターが、前記現在のフレームのゲインファクターの平方と乗算された、ゼロから開始してエラー隠しを実施しないで再構築できる前記最後のスペクトル貯蔵箱にまでアップする、前記現在の量子化されたスペクトルの前記スペクトル貯蔵箱のエネルギーと、前記前のフレームのゲインファクターの平方と乗算された、ゼロから開始してエラー隠しを実施しないで再構築できる前記最後のスペクトル貯蔵箱にまでアップする、前記前の量子化されたスペクトルの前記スペクトル貯蔵箱のエネルギーとの比率の平方根に等しいように、前記再スケーリングファクターを決定するように構成される、請求項10に記載のデコーダ(100)。
【請求項12】
前記デコード化モジュール(110)は、グローバルゲイン再スケーリングファクターに依存する、全体の再スケーリングファクターである前記再スケーリングファクターを決定するように構成され、
前記デコード化モジュール(110)は、fac
gg=gg
prev/ggに従って前記グローバルゲイン再スケーリングファクターを決定するように構成され、
ggは、前記現在のビットストリームペイロード内でエンコードされる前記グローバルゲインを示し、
gg
prevは、前記前のビットストリームペイロード内でエンコードされる前記グローバルゲインを示し、
fac
ggは、前記グローバルゲイン再スケーリングファクターである、請求項9~請求項11のいずれか1つに記載のデコーダ(100)。
【請求項13】
【請求項14】
【請求項15】
【請求項16】
仮にエラー隠しが前記デコード化モジュール(110)によって実施されるならば、前記デコード化モジュール(110)は、前記オーディオ信号の前のスペクトルの複数の符号を使ってエラー隠しを実施することによって、前記オーディオ信号の現在のスペクトルを再構築するように構成され、前記複数の符号は前記前のフレーム内でエンコードされ、前記デコード化モジュール(110)は、前記前のフレームが、色調または和声である信号構成要素をエンコードするかどうかに依存する方法で、エラー隠しを実施するように構成される、請求項1~請求項15のいずれか1つに記載のデコーダ(100)。
【請求項17】
前記前のフレームは、エラー隠しを実施しないで前記デコード化モジュール(110)によってデコードされた、最後の受信されたフレームであり、または、
前記前のフレームは、完全なフレーム損失隠しモードにおいて、エラー隠しを実施しないで前記デコード化モジュール(110)によってデコードされた、最後の受信されたフレームであり、または、
前記前のフレームは、部分的なフレーム損失隠しモードまたは完全なフレーム損失隠しモードにおいて、エラー隠しを実施しないで前記デコード化モジュール(110)によってデコードされた、最後の受信されたフレームである、請求項16に記載のデコーダ(100)。
【請求項18】
仮にエラー隠しが前記デコード化モジュール(110)によって実施され、かつ、前記前のフレームの前記前のビットストリームペイロードが、色調または和声である信号構成要素をエンコードするならば、前記デコード化モジュール(110)は、前記現在のスペクトルを再構築するために、前記前のスペクトルの前記複数の符号のうちの1つ以上の符号をフリップするように構成され、前記現在のスペクトルを再構築するために前記デコード化モジュール(110)によってフリップされるべき前記前のスペクトルの前記複数の符号のうちの1つの符号のための確率を指示する、パーセンテージ値pは、0%≦p≦50%であり、前記デコード化モジュール(110)は、前記パーセンテージ値pを決定するように構成される、請求項16または請求項17に記載のデコーダ(100)。
【請求項19】
前記デコード化モジュール(110)は、後続のフレームの数に依存するパーセンテージ値pを増加させるように構成され、
前記後続のフレームの数は、いくつの後続の部分的にまたは完全に失われたフレームのために、エラー隠しが前記デコード化モジュール(110)によって実施されるかを指示する、または、前記後続のフレームの数は、いくつの後続のフレームのために、特定のエラー隠しモードにおいて、エラー隠しが前記デコード化モジュール(110)によって実施されるかを指示する、請求項18に記載のデコーダ(100)。
【請求項20】
前記デコード化モジュール(110)は、前記後続のフレームの数に依存する関数に依存しているパーセンテージ値pを決定するように構成され、前記後続のフレームの数は前記関数の独立変数である、請求項19に記載のデコーダ(100)。
【請求項21】
前記デコード化モジュール(110)は、
仮に前記後続のフレームの数が第1の閾値より小さいならば、前記パーセンテージ値pが0%であるように、および、
仮に前記後続のフレームの数が、前記第1の閾値より大きくまたは等しく、かつ、第2の閾値より小さいならば、前記パーセンテージ値pが0%≦p≦50%であるように、および、
仮に前記後続のフレームの数が前記第2の閾値より大きいならば、前記パーセンテージ値pが50%であるように、前記パーセンテージ値pを決定するように構成される、請求項20に記載のデコーダ(100)。
【請求項22】
前記デコード化モジュール(110)は、前記パーセンテージ値pが、前記後続のフレームの数に依存している前記第1の閾値と前記第2の閾値との間の範囲で、線形に増加するように、前記パーセンテージ値pを決定するように構成される、請求項21に記載のデコーダ(100)。
【請求項23】
仮にエラー隠しが前記デコード化モジュール(110)によって実施されるならば、かつ、仮に前記前のフレームの前記前のビットストリームペイロードが、色調または和声である信号構成要素をエンコードしないならば、前記デコード化モジュール(110)は、前記現在のスペクトルを再構築するために、前記前のスペクトルの前記複数の符号の50%をフリップするように構成される、請求項18~請求項22のいずれか1つに記載のデコーダ(100)。
【請求項24】
仮にエラー隠しが前記デコード化モジュール(110)によって実施されるならば、前記デコード化モジュール(110)は、前記前のフレームが、色調または和声である信号構成要素をエンコードするかどうかに依存する、前記オーディオ信号の前記前のスペクトルの複数の振幅を使ってエラー隠しを実施することによって、前記オーディオ信号の前記現在のスペクトルを再構築するように構成され、前記複数の振幅は、前記前のフレーム内でエンコードされる、請求項1~請求項23のいずれか1つに記載のデコーダ(100)。
【請求項25】
仮にエラー隠しが前記デコード化モジュール(110)によって実施されるならば、前記デコード化モジュール(110)は、前記現在のスペクトルを再構築するために、非線形の減衰特性に従って前記前のスペクトルの前記複数の振幅を減衰するように構成され、前記非線形の減衰特性は、前記前のフレームが色調または和声である信号構成要素をエンコードするかどうかに依存する、請求項24に記載のデコーダ(100)。
【請求項26】
仮にエラー隠しが前記デコード化モジュール(110)によって実施されるならば、かつ、仮に前記前のフレームの前記前のビットストリームペイロードが、色調または和声である信号構成要素をエンコードするならば、前記デコード化モジュール(110)は、安定性ファクターに依存する前記前のスペクトルの前記複数の振幅を減衰するように構成され、前記安定性ファクターは、前記現在のスペクトルと前記前のスペクトルとの間の類似点を指示し、または、前記安定性ファクターは、前記前のスペクトルと前記前のフレームに先行している前の前のフレームの前の前のスペクトルとの間の類似点を指示する、請求項24または請求項25に記載のデコーダ(100)。
【請求項27】
前記前の前のフレームは、前記前のフレームの前の、最後の受信されたフレームであり、エラー隠しを実施しないで前記デコード化モジュール(110)によってデコードされている、または、
前記前の前のフレームは、前記前のフレームの前の、最後の受信されたフレームであり、完全なフレーム損失隠しモードにおいて、エラー隠しを実施しないで前記デコード化モジュール(110)によってデコードされている、または、
前記前の前のフレームは、前記前のフレームの前の、最後の受信されたフレームであり、部分的なフレーム損失隠しモードまたは完全なフレーム損失隠しモードにおいて、エラー隠しを実施しないで前記デコード化モジュール(110)によってデコードされている、請求項26に記載のデコーダ(100)。
【請求項28】
仮に前記デコード化モジュール(110)が、部分的なフレーム損失隠しを実施するようにセットされるならば、前記安定性ファクターは、前記現在のスペクトルと前記前のスペクトルとの間の前記類似点を指示し、
仮に前記デコード化モジュール(110)が、完全なフレーム損失隠しを実施するようにセットされるならば、前記安定性ファクターは、前記前のスペクトルと前記前の前のスペクトルとの間の前記類似点を指示する、請求項26または請求項27に記載のデコーダ(100)。
【請求項29】
前記デコード化モジュール(110)は、前記前のスペクトルのスペクトル貯蔵箱のエネルギーを決定するように構成され、
前記デコード化モジュール(110)は、前記スペクトル貯蔵箱の前記エネルギーが前記エネルギー閾より小さいかどうかを決定するように構成され、
仮に前記エネルギーが前記エネルギー閾より小さいならば、前記デコード化モジュール(110)は、第1のフェードファクターを持つ前記スペクトル貯蔵箱に割り当てられている前記複数の振幅のうちの1つの振幅を減衰するように構成され、
仮に前記エネルギーが前記エネルギー閾より大きいか、または等しいならば、前記デコード化モジュール(110)は、前記第1のフェードファクターより小さい第2のフェードファクターを持つ前記スペクトル貯蔵箱に割り当てられている前記複数の振幅のうちの前記振幅を減衰するように構成され、
前記デコード化モジュール(110)は、前記複数の振幅のうちの1つの振幅の減衰のために、より小さいフェードファクターを使うことによって、前記複数の振幅のうちの前記1つの振幅の前記減衰が増加するように、減衰を実施するように構成される、請求項26~請求項28のいずれか1つに記載のデコーダ(100)。
【請求項30】
前記デコード化モジュール(110)は、前記前のスペクトルの複数のスペクトル貯蔵箱を含むスペクトル帯域のエネルギーを決定するように構成され、
前記デコード化モジュール(110)は、前記スペクトル帯域の前記エネルギーがエネルギー閾より小さいかどうかを決定するように構成され、
仮に前記エネルギーが前記エネルギー閾より小さいならば、前記デコード化モジュール(110)は、第1のフェードファクターを持つ前記スペクトル帯域の前記スペクトル貯蔵箱に割り当てられている前記複数の振幅のうちの1つの振幅を減衰するように構成され、
仮に前記エネルギーが前記エネルギー閾より大きいか、または等しいならば、前記デコード化モジュール(110)は、前記第1のフェードファクターより小さい第2のフェードファクターを持つ前記スペクトル帯域の前記スペクトル貯蔵箱に割り当てられている前記複数の振幅のうちの前記振幅を減衰するように構成され、
前記デコード化モジュール(110)は、前記複数の振幅のうちの1つの振幅の減衰のために、より小さいフェードファクターを使うことによって、前記複数の振幅のうちの前記1つの振幅の前記減衰が増加するように、減衰を実施するように構成される、請求項26~請求項28のいずれか1つに記載のデコーダ(100)。
【請求項31】
前記デコード化モジュール(110)は、前記後続のフレームの数に依存して、前記第1のフェードファクターがより小さくなるように、前記第1のフェードファクターを決定するように構成され、そして、
前記デコード化モジュール(110)は、前記後続のフレームの数に依存して、前記第2のフェードファクターがより小さくなるように、前記第2のフェードファクターを決定するように構成される、請求項30に記載し、さらに請求項19に依存するデコーダ(100)。
【請求項32】
前記デコード化モジュール(110)は、前記第1のフェードファクターおよび前記第2のフェードファクターを決定するように構成され、従って、cum_fading_slow=1、および、cum_fading_fast=1であり、
仮に前記現在のフレームが前記後続のフレームの間の第1のフレームであるならば、かつ、従って、仮に前記現在のフレームが、前記後続のフレームの間の前記第1のフレームに続いている前記フレームのうちの1つであるならば、前記第1のフェードファクターおよび前記第2のフェードファクターは、
cum_fading_slow=cum_fading_slow*slow、
cum_fading_fast=cum_fading_fast*fast
に従って、前記後続のフレームの数に依存して決定され、
前記式の右側のcum_fading_slowは、前記前のフレームの前記第1のフェードファクターであり、
前記式の左側のcum_fading_slowは、前記現在のフレームの前記第1のフェードファクターであり、
前記式の右側のcum_fading_fastは、前記前のフレームの前記第2のフェードファクターであり、
前記式の左側のcum_fading_fastは、前記現在のフレームの前記第2のフェードファクターであり、
1>slow>fast>0である、請求項31に記載のデコーダ(100)。
【請求項33】
1>slow>fast>0.3である、請求項32に記載のデコーダ(100)。
【請求項34】
前記デコード化モジュール(110)は、
仮に前記後続のフレームの数が、第3の閾値より小さいならば、前記エネルギー閾は、第1のエネルギー値に等しいように、および、
仮に前記後続のフレームの数が、前記第3の閾値より大きいか、または等しく、かつ、第4の閾値より小さいならば、前記エネルギー閾は、前記第1のエネルギー値より小さく、かつ、第2のエネルギー値より大きいように、および、
仮に前記後続のフレームの数が、前記第4の閾値より大きいならば、前記エネルギー閾は、前記第2のエネルギー値に等しいように、
前記エネルギー閾を決定するように構成される、請求項29~請求項33のいずれか1つに記載し、さらに請求項19に依存するデコーダ(100)。
【請求項35】
前記デコード化モジュール(110)は、前記エネルギー閾が、前記後続のフレームの数に依存する前記第3の閾値と前記第4の閾値との間の範囲で線形的に減少するように、前記エネルギー閾を決定するように構成される、請求項34に記載のデコーダ(100)。
【請求項36】
前記デコード化モジュール(110)は、前記オーディオ信号のデコード化されたスペクトルを記憶するために構成されたデコード化スペクトル記憶モジュール(330)を含み、前記デコード化スペクトル記憶モジュール(330)は、最後の非完全なフレーム損失隠しデコード化スペクトルを提供するように構成され、
前記デコード化モジュール(110)は、前記スペクトルのスペクトル線についてフェードアウトおよび符号のスクランブル化のために構成されたフェードアウトおよび符号のスクランブル化モジュール(340)を含む、請求項1に記載の、または、請求項15~請求項35のいずれか1つに記載のデコーダ(100)。
【請求項37】
前記デコード化モジュール(110)は、前記オーディオ信号の量子化されたスペクトルを記憶するために構成された量子化スペクトル記憶モジュール(310)を含み、前記量子化スペクトル記憶モジュール(310)は、最後の非完全なフレーム損失隠し量子化スペクトルを提供するように構成され、
前記デコード化モジュール(110)は、部分フレームの反復および再スケーリングのために構成された部分フレーム反復および再スケーリングモジュール(320)を含み、前記部分フレーム反復および再スケーリングモジュール(320)は、前記デコード化モジュール(110)によってデコード化できなかった、スペクトル線を追加することによって前記スペクトルを補足するように構成され、前記部分フレーム反復および再スケーリングモジュール(320)は、前記スペクトル線を再スケールするように構成される、請求項36に記載のデコーダ(100)。
【請求項38】
前記デコード化モジュール(110)は、前記オーディオ信号の量子化されたスペクトルを記憶するために構成された量子化スペクトル記憶モジュール(310)を含み、前記量子化スペクトル記憶モジュール(310)は、最後の非完全なフレーム損失隠し量子化スペクトルを提供するように構成され、
前記デコード化モジュール(110)は、前記オーディオ信号のデコード化されたスペクトルを記憶するために構成されたデコード化スペクトル記憶モジュール(330)を含み、前記デコード化スペクトル記憶モジュール(330)は、最後の非完全なフレーム損失隠しデコード化スペクトルを提供するように構成される、請求項2~請求項14のいずれか1つに記載のデコーダ(100)。
【請求項39】
オーディオ信号を再構築するように、現在のフレームをデコード化するための方法であって、前記オーディオ信号は、現在のフレーム内でエンコードされ、前記現在のフレームは、現在のビットストリームペイロードを含み、前記現在のビットストリームペイロードは、複数のペイロードビットを含み、前記複数のペイロードビットは、前記オーディオ信号のスペクトルの複数のスペクトル線をエンコードし、前記ペイロードビットのそれぞれは、前記現在のビットストリームペイロード内の位置を表し、
前記方法は、前記オーディオ信号を再構築すること、および、前記オーディオ信号を出力することを含み、
エラー隠しモードにおいて、前記オーディオ信号を再構築することは、閾周波数より大きい周波数を表している前記オーディオ信号のスペクトルのそれらのスペクトル線のためのエラー隠しを実施することによって、実施され、および/または、
仮にエラー隠しが実施されるならば、エラー隠しは、前記現在のフレームに先行している前のフレームの前のビットストリームペイロードが、色調または和声の前記オーディオ信号の信号構成要素をエンコードするかどうかに依存する方法で実施される、方法。
【請求項40】
コンピュータまたは信号プロセッサ上において実行されるとき、請求項39の方法を実施するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、完全フレーム損失隠蔽および部分的フレーム損失隠蔽を含む、LC3フレーム損失隠蔽のためのデコーダおよび復号方法に関連する。
【背景技術】
【0002】
変換に基づいたオーディオコーデックは、オーディオフレームのスペクトルのコード化された表現に依存している。そのようなスペクトルは複数のスペクトル線から成る。種々の理由のため、いくつかのスペクトル線または全てのスペクトル線がデコーダ側で利用できないことがある。周波数領域におけるオーディオエラー隠蔽の概念は、例えば、このようなスペクトル線の喪失によって引き起こされたアーチファクトを軽減するための手段を提供することができる。共通のアプローチは、できるだけ良いこれらの代替を見つけることである。
【0003】
従来技術において、種々のフレーム損失隠蔽技術が利用することができる。
【0004】
周波数領域におけるフレーム損失隠蔽の概念は、例えば特に消音、反復ノイズ置換、および予測に言及している非特許文献1において議論されている。これらの技術は常に、ゼロまたはある種の背景ノイズ/快適ノイズのいずれかに向けて、通常はいくつかの失われたフレームにわたって信号を減衰させる、フェードアウト処理と組合されている。
【0005】
特許文献1においては、周波数帯域のための種々の減衰係数が、これらの帯域におけるエネルギーに応じて提供されている。例えば、エネルギーが閾値より高い帯域にはより大きい減衰係数を適用することができ、エネルギーがその閾値より低い帯域にはより小さい減衰係数が適用されうる。さらに、特許文献1においては、最後の複数の良好なフレームにわたってエネルギー向上が観察され、最後の良好なフレームにおけるエネルギーが最後から2番目の良好なフレームにおいてよりも小さければ、より強い減衰が適用される。
【0006】
さらに、信号のスペクトルの形も、ある種の共通の形に向かってフェードされることがある。このアプローチは、特に線形予測符号化(LPC)に基づくコーデック、例えばEVS(拡張された音声サービス)において使われる。そこで、LPC係数は混合されて、いくつかの提供された平均係数となる。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】P. Lauber and R. Sperschneider, "Error Concealment for Compressed Digital Audio," in Audio Engineering Society, 2001.
【非特許文献2】A. Raemoe, A. Kurittu and H. Toukomaa, "EVS Channel Aware Mode Robustness to Frame Erasures," in Interspeech 2016, San Francisco, CA, USA, 2016.
【非特許文献3】A. Venkatraman, D. J. Sinder, S. Shaminda, R. Vivek, D. Duminda, C. Venkata, V. Imre, K. Venkatesh, S. Benjamin, L. Jeremie, Z. Xingtao and M. Lei, "Improved Error Resilience for VoLTE and VoIP with 3GPP EVS Channel Aware Coding," in ICASSP 2015.
【特許文献】
【0008】
【特許文献1】J. Lecomte and A. Tomasek, "ERROR CONCEALMENT UNIT, AUDIO DECODER, AND RELATED METHOD AND COMPUTER PROGRAM FADING OUT A CONCEALED AUDIO FRAME OUT ACCORDING TO DIFFERENT DAMPING FACTORS FOR DIFFERENT FREQUENCY BANDS", WO 2017/153299A2, published 2017.
【特許文献2】M. Schnabel, G. Markovic, R. Sperschneider, C. Helmrich and J. Lecomte, "Apparatus and method realizing a fading of an mdct spectrum to white noise prior to fdns application". European Patent EP 3 011 559 B1, published 2017.
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の目的は、エラー隠蔽のためのより良い概念を提供することである。
【課題を解決するための手段】
【0010】
本発明の目的は、請求項1に記載のデコーダ、請求項39に記載の方法、および請求項40に記載のコンピュータプログラムによって解決される。
【0011】
現在のフレームを復号してオーディオ信号を再構築するためのデコーダが提供される。オーディオ信号は現在のフレーム内で符号化される。現在のフレームは現在のビットストリームペイロードを含む。現在のビットストリームペイロードは複数のペイロードビットを含む。複数のペイロードビットは、オーディオ信号のスペクトルの複数のスペクトル線を符号化する。ペイロードビットのそれぞれは、現在のビットストリームペイロード内の位置を表している。デコーダは、復号モジュールと出力インタフェースとを備える。復号モジュールはオーディオ信号を再構築するように構成される。出力インタフェースはオーディオ信号を出力するように構成される。復号モジュールはエラー隠蔽モードを含み、復号モジュールが前記エラー隠蔽モードになっている場合、復号モジュールは、オーディオ信号のスペクトルの、周波数が閾周波数よりも大きいスペクトル線についてエラー隠蔽を実行することによって、オーディオ信号を再構築するように構成される。および/または、復号モジュールがエラー隠蔽を実行する場合、復号モジュールは、現在のフレームに先行する前のフレームの前のビットストリームペイロードが、トーナルまたは高調波なオーディオ信号の信号成分を符号化するかどうかに依存して、エラー隠蔽を実行するように構成される。
【0012】
さらに、現在のフレームを復号してオーディオ信号を再構築するための方法が提供される。オーディオ信号は現在のフレーム内で符号化され、現在のフレームは現在のビットストリームペイロードを含み、現在のビットストリームペイロードは複数のペイロードビットを含む。複数のペイロードビットは、オーディオ信号のスペクトルの複数のスペクトル線を符号化する。ペイロードビットのそれぞれは、現在のビットストリームペイロード内の位置を表す。方法は、オーディオ信号を再構築するステップであって、エラー隠蔽モードにおいて、オーディオ信号を再構築するステップは、オーディオ信号のスペクトルの、周波数が閾周波数より大きいスペクトル線についてエラー隠蔽を実施することによって、実行される、および/または、エラー隠蔽が実行される場合、エラー隠蔽は、現在のフレームに先行する前のフレームの前のビットストリームペイロードが、トーナルまたは高調波なオーディオ信号の信号成分を符号化するかどうかに依存して、実行される、オーディオ信号を再構築するステップと、オーディオ信号を出力するステップと、を含む。
【0013】
さらに、コンピュータまたは信号プロセッサ上において実行されるときに、前述の方法を実施するためのコンピュータプログラムが提供される。
【0014】
ある状況において、完全フレーム損失隠蔽が可能な限り最良のエラー隠蔽戦略であると考えられるならば、エラー隠蔽概念は、例えばフレーム全体が失われた、または、無効としてマークされた場合、または、スペクトルの一部が利用可能であったとしても、例えばフレーム全体に適用されることがある。
【0015】
しかし、別の状況においては、スペクトルの一部が利用可能であれば、エラー隠蔽技術は、例えばフレームの一部のみにしか適用されないこともある。
【0016】
スペクトルの一部が利用可能な状況は、例えば、スケーラブルな符号化、例えばいくつかの層は受信されるが他の層は受信されない、スケーラブルなAAC、AAC SLS、またはBSACにおいて生じる(AAC=先進的オーディオ符号化、SLS=スケーラブル・ロスレス、BSAC=ビット分割算術符号化)。
【0017】
または、スペクトルの一部は、例えば、失われたフレームの冗長な低品質コピーが利用可能である、冗長フレーム符号化において、すなわち、VoIPまたはVoLTEの文脈において利用可能であることがある(VoIPおよびVoLTEにおける堅牢さとエラー耐性についてのより詳しくは、例えば非特許文献2および非特許文献3を参照のこと。VoIP=ボイスオーバーIP/ボイスオーバーインターネットプロトコル、VoLTE=ボイスオーバーLTE/ボイスオーバーロング・ターム・エボリューション)。
【0018】
あるいは、例えば、所定のスケール係数が検出されて破損され、ひいては所定の数の破損したスペクトル線が存在することになる、スケール係数データのためのRVLC(可逆可変長符号化)を伴うAACにおいて、または、例えば、(心理音響的に重要聖が低いスペクトル範囲を表す)スペクトルの一部のコード化済み表現におけるエラーが別々に検出できる、DECT(デジタル強化無線電機通信)のためのLC3において、選択的なエラー検出が実行されるときに、スペクトルの一部が利用可能であることがある。
【発明の効果】
【0019】
本発明によれば、エラー隠蔽のためのより良い概念を提供することができる。
【0020】
本発明の実施の形態は、図を参照して以下により詳細に説明される。
【図面の簡単な説明】
【0021】
【
図1】
図1は、実施の形態に依る現在のフレームを復号し、オーディオ信号の一部を再構築するためのデコーダを示す。
【
図2】
図2は、特定の実施の形態に依る復号モジュールを示す。
【
図3】
図3は、クリーンなチャンネルの復号のための、実施の形態に依る復号モジュールの概要を示す。
【
図4】
図4は、完全フレーム損失隠蔽のための、実施の形態に依る復号モジュールの概要を示す。
【
図5】
図5は、部分的フレーム損失隠しのための、実施の形態に依る復号モジュールの概要を示す。
【
図6】
図6は、連続で失われたフレームの数に依存し、かつ、フレーム長さにさらに依存する、実施の形態に依るフェード関数を示す。
【
図7】
図7は、連続で失われたフレームの数に依存し、かつ、フレーム長さにさらに依存する、実施の形態に依る符号のスクランブル化のための閾値を示す。
【
図8】
図8は、連続で失われたフレームの数に依存し、かつ、フレーム長さにさらに依存する、実施の形態に依るエネルギー閾値係数を示す。
【
図9】
図9は、連続で失われたフレームの数に依存する、実施の形態に依る非線形減衰を示す。
【発明を実施するための形態】
【0022】
図1は、実施の形態に依る、現在のフレームを復号してオーディオ信号を再構築するためのデコーダ100を示す。
【0023】
オーディオ信号は現在のフレーム内で符号化される。現在のフレームは現在のビットストリームペイロードを含む。現在のビットストリームペイロードは複数のペイロードビットを含む。複数のペイロードビットは、オーディオ信号のスペクトルの複数のスペクトル線を符号化する。ペイロードビットのうちのそれぞれは、現在のビットストリームペイロード内の位置を表す。
【0024】
デコーダ100は、復号モジュール110および出力インタフェース120を含む。
【0025】
復号モジュール110は、オーディオ信号を再構築するように構成される。
【0026】
出力インタフェース120は、オーディオ信号を出力するように構成される。
【0027】
復号モジュール110は、エラー隠蔽モードを含み、復号モジュール110がエラー隠蔽モードになっている場合、復号モジュール110は、オーディオ信号のスペクトルの、周波数が閾周波数より大きいスペクトル線についてエラー隠蔽を実行することによって、オーディオ信号を再構築するように構成される。
【0028】
および/または、復号モジュール110がエラー隠蔽を実行する場合、復号モジュール110は、現在のフレームに先行する前のフレームの前のビットストリームペイロードが、トーナルまたは高調波なオーディオ信号の信号成分を符号化するかどうかに依存して、エラー隠蔽を実行するように構成される。
【0029】
いくつかの実施の形態において、現在のフレームの現在のビットストリームペイロードが訂正不能なエラーを含んでいたら、および/または、現在のフレームが失われていたら、復号モジュールは、例えば前記エラー隠蔽モードになっていることがある。デコーダ100がエラー訂正を実行した後にもエラーがまだ存在している場合、または、現在のビットストリームペイロードがエラーを含み、かつ、エラー訂正が一切実行されない場合に、現在のビットストリームペイロードは、例えば訂正不能なエラーを含むことがある。訂正不能なエラーを含むフレームは、例えば破損されたフレームと称されることがある。
【0030】
例えば、ある実施の形態によれば、現在のフレームに先行する前記前のフレームの前記前のビットストリームペイロードが、トーナルまたは高調波なオーディオ信号の前記信号成分を符号化するかどうかに依存して、特定のエラー隠蔽パラメータが構成されることがある。
【0031】
ある実施の形態によれば、前のフレームは、例えば、完全フレーム損失隠蔽モードにおいてエラー隠蔽を実行することなく、復号モジュール110が復号した、最後の受信済みフレームである。
【0032】
以下において、実施の形態をより詳細に説明する。
【0033】
スペクトルは、例えば、利用可能かつ使用されることになるスペクトル線と、利用可能でない、または(例えば利用可能であったとしても)使用されるべきではないスペクトル線とに細分割されると考慮されることがある。
【0034】
いくつかの実施の形態によれば、例えば以下の通りすすめることができる。
【0035】
いくつかの状況においては、全てのスペクトル線が利用可能かつ使用されることになり、従ってフレーム損失隠蔽は、例えば実行されないことがある。
【0036】
別の状況においては、所定のスペクトル線が利用可能かつ使用されることになり、部分的フレーム損失隠蔽が、例えば欠けているスペクトル線に対して実行されることがある。
【0037】
さらに別の状況においては、利用可能なスペクトル線がない、またはどのスペクトル線も使用されるべきではなく、完全フレーム損失隠蔽が、例えば実行されることがある。
【0038】
以下において、いくつかの実施の形態に依る、トーナル性に依存するエラー隠蔽を説明する。
【0039】
ある実施の形態において、復号モジュール110がエラー隠蔽を実行する場合、復号モジュール110は、例えば、オーディオ信号の前のスペクトルの複数の符号を使ってエラー隠蔽を実行することによって、オーディオ信号の現在のスペクトルを再構築するように構成されることがある。前記複数の符号は前のフレーム内で符号化され復号モジュール110は、例えば、前記前のフレームが、トーナルまたは高調波なオーディオ信号の信号成分を符号化するかどうかに依存して、エラー隠蔽を実行するように構成されることがある。例えば、エラー隠蔽のためのパラメータは、例えば、信号成分がトーナルまたは高調波であるかどうかに依存して、異なる方法で選択されることがある。
【0040】
ある実施の形態において、前記前のフレームは、例えば、復号モジュール110がエラー隠蔽を実行することなく復号した、最後に受信したフレームである場合がある。または、前記前のフレームは、例えば、復号モジュール110が完全フレーム損失隠蔽モードにおいてエラー隠蔽を実行することなく復号した、最後に受信したフレームであることがある。あるいは、前記前のフレームは、例えば、復号モジュール110が部分的フレーム損失隠蔽モードまたは完全フレーム損失隠蔽モードにおいてエラー隠蔽を実行することなく復号した、最後に受信したフレームであることがある。
【0041】
ある実施の形態によれば、復号モジュール110がエラー隠蔽を実行し、かつ、前のフレームの前のビットストリームペイロードが、トーナルまたは高調波な信号成分を符号化する場合、復号モジュール110は、例えば、前のスペクトルの複数の符号のうちの1つ以上の符号をフリップ(はじく)して現在のスペクトルを再構築するように構成されることがある。ここで、現在のスペクトルを再構築するために復号モジュール110がフリップする前のスペクトルの複数の符号のうちの1つの符号のための確率を示すパーセンテージ値pは、例えば、0%≦p≦50%であることがある。復号モジュール110は、パーセンテージ値pを決定するように構成されることがある。ある実施の形態において、復号モジュール110は、例えば、擬似乱数のシーケンスを用て、前のスペクトルの考慮された符号が実際にフリップされるかどうかをパーセンテージ値pに依存して決定することがある。
【0042】
ある実施の形態において、復号モジュール110は、後続のフレームの数に依存してパーセンテージ値pを増加させるように構成されることがある。前記後続のフレームの数は、例えば、いくつの後続の(部分的にまたは完全に)失われたフレームについて、復号モジュール110がエラー隠蔽を実行したかを示すことがある。あるいは、前記後続のフレームの数は、例えば、復号モジュール110が特定のエラー隠蔽モードにおいて、いくつの後続のフレームのためにエラー隠蔽を実行したかを示すことがある。
【0043】
ある実施の形態において、復号モジュール110は、前記後続のフレームの数に依存する関数に依存して、パーセンテージ値pを決定するように構成されることがあり、前記後続のフレームの数は前記関数の独立変数である。
【0044】
ある実施の形態によれば、復号モジュール110は、例えば、前記後続のフレームの数が第1の閾値より小さければパーセンテージ値pが0%であるように、前記後続のフレームの数が第1の閾値以上且つ第2の閾値より小さければパーセンテージ値pが0%≦p≦50%であるように、また、前記後続のフレームの数が第2の閾値より大きければパーセンテージ値pが50%であるように、パーセンテージ値pを決定するように構成されることがある。
【0045】
ある実施の形態において、復号モジュール110は、例えば、パーセンテージ値pが後続のフレームの数に依存して、第1の閾値と第2の閾値との間の範囲で線形に増加するように、パーセンテージ値pを決定するように構成されることがある。
【0046】
ある実施の形態によれば、復号モジュール110がエラー隠隠蔽を実行し、かつ、前のフレームの前のビットストリームペイロードが、トーナルまたは高調波な信号成分を符号化しない場合、復号モジュール110は、例えば、前のスペクトルの複数の符号の50%をフリップして現在のスペクトルを再構築するように構成されることがある。
【0047】
ある実施の形態において、復号モジュール110がエラーを実行する場合、復号モジュール110は、例えば、前のフレームが、トーナルまたは高調波な信号成分を符号化するかどうかに依存して、オーディオ信号の前のスペクトルの複数の振幅を使ったエラー隠蔽を実行することによって、オーディオ信号の現在のスペクトルを再構築するように構成されることがあり、ここで、前記複数の振幅は前のフレーム内で符号化される。
【0048】
ある実施の形態によれば、復号モジュール110がエラー隠蔽を実行する場合、復号モジュール110は、例えば、非線形の減衰特性に従って前のスペクトルの複数の振幅を減衰して現在のスペクトルを再構築するように構成されることがあり、ここで非線形の減衰特性は、前のフレームの前のビットストリームペイロードが、トーナルまたは高調波な信号成分を符号化するかどうかに依存する。例えば、非線形の減衰特性のためのパラメータは、例えば、信号成分がトーナルまたは高調波であるかどうかに依存して、異なる方法で選択されることがある。
【0049】
ある実施の形態において、復号モジュール110がエラー隠蔽を実行し、かつ、前のフレームの前のビットストリームペイロードが、トーナルまたは高調波な信号成分を符号化する場合、復号モジュール110は、例えば、安定係数に依存して、前のスペクトルの複数の振幅を減衰するように構成されることがある。ここで前記安定係数は、現在のスペクトルと前のスペクトルとの間の類似度を示す、または、安定係数は、前のスペクトルと前のフレームに先行する前の前のフレームの前の前のスペクトルとの間の類似度を示す。
【0050】
ある実施の形態によれば、前記前の前のフレームは、例えば、復号モジュールがエラー隠蔽を実行することなく復号した、前のフレームの前に、最後に受信したフレームであることがある。または、前記前の前のフレームは、例えば、復号モジュール110が完全フレーム損失隠蔽モードでエラー隠蔽を実行することなく復号した、前のフレームの前に、最後に受信したフレーム(例えば、最後から2番目に受信したフレーム)であることがある。または、前記前の前のフレームは、例えば、復号モジュール110が部分的なフレーム損失隠蔽モードまたは完全フレーム損失隠蔽モードにおいてエラー隠蔽を実行することなく復号した、前のフレームの前に最後に受信したフレームであることがある。
【0051】
ある実施の形態において、復号モジュール110が部分的なフレーム損失隠蔽を実行するように設定された場合、前記安定係数は、例えば、現在のスペクトルと前のスペクトルとの間の前記類似度を示すことがある。復号モジュール110が完全なフレーム損失隠蔽を実行するように設定された場合、前記安定係数は、例えば、前のスペクトルと前の前のスペクトルとの間の前記類似度を示すことがある。
【0052】
ある実施の形態によれば、復号モジュール110は、例えば、前のスペクトルのスペクトルビンのエネルギーを決定するように構成されることがある。さらに、復号モジュール110は、例えば、前記スペクトルビンの前記エネルギーがエネルギー閾値よりも小さいかどうかを決定するように構成されることがある。前記エネルギーが前記エネルギー閾値よりも小さい場合、復号モジュール110は、例えば、前記スペクトルビンに割り当てられている複数の振幅のうちの1つの振幅を第1のフェード係数で減衰するように構成されることがある。前記エネルギーが前記エネルギー閾値以上である場合、復号モジュール110は、例えば、前記スペクトルビンに割り当てられている複数の振幅のうちの前記振幅を第1のフェード係数より小さい第2のフェード係数で減衰するように構成されることがある。復号モジュール110は、例えば、複数の振幅のうちの1つの振幅の減衰についてより小さいフェード係数を使うことによって、複数の振幅のうちの前記1つの振幅の減衰が増大するように、減衰を実行するように構成されることがある。
【0053】
ある実施の形態において、復号モジュール110は、例えば、前のスペクトルの複数のスペクトルビンを含むスペクトル帯域のエネルギーを決定するように構成されることがある。復号モジュール110は、例えば、前記スペクトル帯域の前記エネルギーがエネルギー閾値より小さいかどうかを決定するように構成されることがある。前記エネルギーが前記エネルギー閾値より小さい場合、復号モジュール110は、例えば、前記スペクトル帯域の前記スペクトルビンに割り当てられている複数の振幅のうちの1つの振幅を第1のフェード係数で減衰するように構成されることがある。前記エネルギーが前記エネルギー閾値以上であれば、復号モジュール110は、例えば、前記スペクトル帯域の前記スペクトルビンに割り当てられている複数の振幅のうちの前記振幅を第1のフェード係数よりも小さい第2のフェード係数で減衰するように構成されることがある。復号モジュール110は、例えば、複数の振幅のうちの1つの振幅の減衰のためにより小さいフェード係数を使うことによって、複数の振幅のうちの前記1つの振幅の減衰が増大するように、減衰を実行するように構成されることがある。
【0054】
ある実施の形態によれば、復号モジュール110は、例えば、前記後続のフレームの数に応じて第1のフェード係数がより小さくなるように、第1のフェード係数を決定するように構成されることがある。さらに、復号モジュール110は、例えば、前記後続のフレームの数に応じて第2のフェード係数がより小さくなるように、第2のフェード係数を決定するように構成されることがある。
【0055】
ある実施の形態において、復号モジュール110は、例えば、現在のフレームが後続のフレームの間の最初のフレームである場合、
cum_fading_slow=1、且つ、
cum_fading_fast=1
であるように、また、現在のフレームが、後続のフレームのうちの最初のフレームに後続するフレームのうちの1つである場合、第1のフェード係数および前記第2のフェード係数を、例えば、
cum_fading_slow=cum_fading_slow*slow、
cum_fading_fast=cum_fading_fast*fast
に従って、前記後続のフレームの数に依存して決定することができるように、
第1のフェード係数および第2のフェード係数を決定するように構成されることがある。
ここで、式の右項のcum_fading_slowは、(例えば、最初の失われたフレームにて1で初期化された)前のフレームの第1のフェード係数であり、式の左項のcum_fading_slowは、現在のフレームの第1のフェード係数である。式の右項のcum_fading_fastは、(例えば、最初の失われたフレームにて1で初期化された)前のフレームの第2のフェード係数であり、式の左項のcum_fading_fastは、現在のフレームの第2のフェード係数である。ここで、1>slow>fast>0である。
【0056】
ある実施の形態によれば、1>slow>fast>0.3である。
【0057】
ある実施の形態において、復号モジュール110は、例えば、前記後続のフレームの数が第3の閾値より小さい場合には前記エネルギー閾値は第1のエネルギー値に等しく、前記後続のフレームの数が第3の閾値以上且つ第4の閾値より小さい場合には前記エネルギー閾値は、前記第1のエネルギー値より小さく且つ第2のエネルギー値より大きく、前記後続のフレームの数が第4の閾値より大きい場合には前記エネルギー閾値は前記第2のエネルギー値に等しくなるように、前記エネルギー閾値を決定するように構成されることがある。
【0058】
実施の形態によれば、復号モジュール110は、例えば、エネルギー閾値が後続のフレームの数に依存して、第3の閾値と第4の閾値との間の範囲で線形的に減少するように、エネルギー閾値を決定するように構成されることがある。
【0059】
利用不能または使用すべきでないスペクトル線については、前に受信した信号のトーナル性に依存して、また入手可能ならば、現在受信されている信号のトーナル性に依存して、ある程度のトーナル性が維持されていたとしても、置換が発生する。
【0060】
最後の良好な信号がトーナルであったとインジケータが示す場合、より多くのトーナル性が維持される。
【0061】
最後の良好な信号がトーナルでなかったとインジケータが示す場合、維持されるトーナル性はより少なくなる。
【0062】
トーナル性は主に、1つのフレーム内の種々のビンの間の位相の関係性、および/または、後続のフレームについての同じビンの位相の関係性によって表される。
【0063】
いくつかの実施の形態は、第1の側面、すなわち、トーナル性が主に、1つのフレーム内の種々のビンの間の位相の関係性によって表わされる、ことに焦点を合わせる。
【0064】
1つのフレーム内における種々のビンの位相は主に、符号を特徴とするが、隣接するビンの振幅の関係性をも特徴とする。よって、振幅の関係性の保存ならびに符号の保存によって、高く維持されたトーナル性がもたらされる。逆もまた同様に、後続のビンの間でより多くの振幅および/または符号の関係性が変更されるにつれて、維持されるトーナル性は少なくなる。
【0065】
いくつかの実施の形態による符号の操作をここから説明する。
【0066】
技術水準から、2つのアプローチが知られている。
【0067】
第1のアプローチによると、フレーム反復が適用される。符号は前のスペクトルから維持される。
【0068】
第2のアプローチにおいては、ノイズ置換が実行される。符号は前のスペクトルと比較してスクランブル化され、無作為に、符号の50%がフリップされる。
【0069】
無声信号については、ノイズ置換が良好な結果をもたらす。
【0070】
有声信号については、代わりにフレーム反復を使用することができるが、より長い損失については、(損失の始まりに好まれる)維持されたトーナル性が煩わしくなる。
【0071】
実施の形態は、有声信号については、フレーム反復とノイズ置換との間の変遷フェーズが望ましい、という発見に基づく。
【0072】
いくつかの実施の形態によれば、これは、例えば、フレーム毎に所定の割合の符号を無作為にはじくことによって達成される。この割合は0%と50%との間であり、経時的に増大していく。
【0073】
ここで、いくつかの実施の形態による振幅の操作を説明する。
【0074】
技術水準において最も頻繁に使用される最も簡単な方法は、全ての周波数ビンに対し所定の減衰係数を適用することである。この減衰係数は、フレームからフレームへと増大して、円滑なフェードアウトを達成する。フェードアウトスピードは固定であるか、または信号特性に依存する。このアプローチによって、隣接するビンの大きさの関係性ならびにフレーム全体のスペクトルの形が維持される。
【0075】
また、各帯域内のエネルギーに依存して異なる減衰係数を使用する帯域毎減衰が技術水準において既知である。このアプローチは、それぞれの帯域内で隣接するビンの大きさの関係性を維持している一方で、フレーム全体のスペクトルの形は平坦にされる。
【0076】
いくつかの実施の形態によれば、値がより大きいビンは、値がより小さいビンよりも強く減衰されている。このため、いくつかの実施の形態では、例えば、非線形の減衰特性を定義していることがある。この非線形の減衰特性は、そうでなければ生じる可能性があるオーバーシュートを防止する。なぜなら、オーバーラップ加算の間にエイリアス消去が一切保証されず、隣接するビンの大きさの関係性を変更し、その結果スペクトルの形はより平坦になるからである。スペクトルの形を平坦にするために、いくつかの実施の形態は、隣接するビンの大きさの比率が予め1より上であったならば1より上に維持され、比率が予め1より下であったならば1より下に維持されるべきである、という発見に基づく。
【0077】
この減衰を率直に適用するために、いくつかの実施の形態においては、非線形特性は、例えば、損失の始まりには小さく、その後に増大することがある。実施の形態において、経時的な調整は、例えば、信号のトーナル性に依存することがある。いくつかの実施の形態によれば、無声信号については、例えば、非線形性が有声信号よりも強いことがある。
【0078】
このような非線形の減衰特性は、スペクトルの形に影響する。実施の形態において、スペクトルは、例えば、時間と共により平坦になって、バースト消失の間に煩わしい合成音のアーチファクトが生じる可能性を低減する。
【0079】
以下において、いくつかの実施の形態による、部分的フレーム損失隠蔽を説明する。
【0080】
ある実施の形態によれば、前記エラー隠蔽モードは、例えば、部分的フレーム損失隠蔽モードであることがあり、復号モジュール110が部分的フレーム損失隠蔽モードになっている場合、復号モジュール110は、例えば、スペクトルの複数のスペクトル線のうちの、周波数が閾周波数以下の1つ以上の第1のスペクトル線についてエラー隠しを実行することなくオーディオ信号を再構築するように構成されることがある。ここで、前記1つ以上の第1のスペクトル線は、1つ以上の複数のペイロードビットのうちの第1のグループによって符号化されている。さらに、復号モジュール110は、例えば、スペクトルの複数のスペクトル線のうちの周波数が閾周波数よりも大きい1つ以上の第2のスペクトル線についてエラー隠蔽を実行することによってオーディオ信号を再構築するように構成されることがあり、ここで前記1つ以上の第2のスペクトル線は、1つ以上の複数のペイロードビットのうちの第2のグループによって符号化されている。
【0081】
ある実施の形態において、復号モジュール110は、例えば、現在のフレームが、オーディオ信号のスペクトルのうちの、周波数が閾周波数以下の前記1つ以上の第1のスペクトル線を符号化する破損ビットを一切含まないかどうかを検出するように構成されることがある。さらに、復号モジュール110は、例えば、現在のフレームが、オーディオ信号のスペクトルのうちの、周波数が閾周波数より大きい前記1つ以上の第2のスペクトル線を符号化する1つ以上の破損ビットを含むかどうかを検出するように構成されることがある。前記1つ以上の破損ビットは、ペイロードビットのうち、歪んだまたは歪んでいると思われる1つ以上のものである。現在のフレームが、オーディオ信号のスペクトルのうち、周波数が閾周波数以下の前記1つ以上の第1のスペクトル線を符号化する破損ビットを一切含まず、かつ、現在のフレームが、オーディオ信号のスペクトルのうちの、周波数が閾周波数より大きい前記1つ以上の第2のスペクトル線を符号化する前記1つ以上の破損ビットを含む場合、復号モジュール110は、例えば、スペクトルのうちの、閾周波数よりも大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行することによって、部分的フレーム損失隠蔽モードにおいてエラー隠蔽を実行するように構成されることがある。
【0082】
ある実施の形態によれば、現在のフレームが、オーディオ信号のスペクトルのうちの、周波数が閾周波数以下の前記1つ以上の第1のスペクトル線を符号化する破損ビットを一切含まず、かつ、現在のフレームが、オーディオ信号のスペクトルのうちの、周波数が閾周波数よりも大きい前記1つ以上の第2のスペクトル線を符号化する1つ以上の破損ビットを含む場合、復号モジュール110は、例えば、オーディオ信号のスペクトルのうちの、周波数が閾周波数より以下の前記1つ以上の第1のスペクトル線を符号化する、前記1つ以上の複数のペイロードビットの前記第1のグループを復号することによって、オーディオ信号を再構築するように構成されることがある。
【0083】
ある実施の形態において、復号モジュール110は、例えば、現在のフレームが失われているかどうかを検出するように構成され、デコーダ100が、現在のフレームが失われていることを検出した場合、復号モジュール110は、例えば、オーディオ信号のスペクトルのうちの、周波数が閾周波数よりも大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行することによって、オーディオ信号を再構築するように構成されることがある。さらに、復号モジュール110は、例えば、前記第1のグループについてエラー隠蔽を実行しないで、オーディオ信号のスペクトルのうちの、閾周波数以下の1つ以上の第1の周波数について前記1つ以上の第1のスペクトル線を符号化する、前記1つ以上の複数のペイロードビットの前記第1のグループを復号するように構成されることがある。ここで、前記1つ以上の複数のペイロードビットの前記第1のグループは、現在のフレームと異なる冗長フレームの1つ以上のペイロードビットである。
【0084】
ある実施の形態において、冗長フレームは、例えば、現在のフレームの帯域幅が限定されたバージョンであることがある。例えば、冗長フレームは、例えば、現在のフレームと同じ時間期間の間、オーディオ信号を符号化するデータ(例えば、現在のフレームに比べて限縮されたデータセット)を提供することがある。このデータは、例えば、オーディオ信号のスペクトルの、閾周波数以下の前記1つ以上の第1の周波数について前記1つ以上の第1のスペクトル線のオーディオ信号を符号化する、複数のペイロードビットについては、現在のフレームの同じ時間期間の間、スペクトルの前記第1の周波数の現在のフレームよりも少ないビットで符号化されるため、異なることがある。
【0085】
ある実施の形態において、復号モジュール110が完全フレーム損失隠蔽モードにおいてエラー隠蔽を実行するように構成される場合、復号モジュール110は、(そうでなければ現在のフレームの現在のビットストリームペイロードの全てのペイロードビットによって再構築可能な)スペクトル(全体)の全てのスペクトル線についてエラー隠蔽を実行するように構成される。
【0086】
ある実施の形態によれば、複数のペイロードビットは複数の現在のペイロードビットである。復号モジュール110が部分的フレーム損失隠蔽モードになっている場合、復号モジュール110は、例えば、前のフレームの前のビットストリームペイロードの1つ以上の前のペイロードビットによって符号化された1つ以上の記憶されたスペクトル線を使って、オーディオ信号のスペクトルのうちの周波数が閾周波数よりも大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行するように構成されることがある。
【0087】
ある実施の形態において、スペクトルは、例えば、現在の量子化済みスペクトルであることがある。復号モジュール110が部分的フレーム損失隠蔽モードにおいてエラー隠蔽を実行している場合、復号モジュール110は、例えば、オーディオ信号のスペクトルのうちの、周波数が閾周波数よりも大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行して、前記現在の量子化済みスペクトルの1つ以上の中間スペクトル線を得るように構成されることがある。
【0088】
ある実施の形態によれば、スペクトルは現在の量子化済みスペクトルである。復号モジュール110が部分的フレーム損失隠蔽モードにおいてエラー隠蔽を実行している場合、復号モジュール110は、例えば、オーディオ信号のスペクトルのうちの、周波数が閾周波数よりも大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行して、前記現在の量子化済みスペクトルの1つ以上の中間スペクトル線を得るように構成されることがある。ここで、復号モジュール110は、例えば、再スケーリング係数を使用して1つ以上の中間スペクトル線を再スケーリングしてオーディオ信号を再構築するように構成されることがある。
【0089】
ある実施の形態において、復号モジュール110は、例えば、以下のうちの少なくとも1つに依存して、再スケーリング係数を決定するように構成されることがある。
・前記現在のビットストリームペイロード内で符号化されたグローバルゲイン
・前記前のビットストリームペイロード内で符号化されたグローバルゲイン
・前記前のフレームの前の量子化済みスペクトルのエネルギー、前記前のフレームの前の復号済みスペクトルのエネルギー
・前記現在のフレームの前記現在の量子化済みスペクトルのエネルギー
【0090】
ある実施の形態によれば、復号モジュール110は、例えば、
・エラー隠蔽を実行しないと再構築することができない最初のスペクトルビンからスペクトルの頂点までの、前のフレームの前の復号済みスペクトルのスペクトルビンの平均エネルギーが、ゼロからエラー隠蔽を実行しないでも再構築することができる最後のスペクトルビンまでの、前のフレームの前の復号済みスペクトルのスペクトルビンの平均エネルギー以上かどうか、または
・ゼロからエラー隠蔽を実行しないでも再構築することのできる前記最後のスペクトルビンまでの
、現在のフレームの前記現在の量子化済みスペクトルのスペクトルビンのエネルギーが、ゼロからエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前のフレームの前の量子化済みスペクトルのスペクトルビンのエネルギー以上かどうか
に依存して、再スケーリング係数を決定するように構成されることがある。
【0091】
ある実施の形態において、
・エラー隠蔽を実行しないと再構築することができない前記最初のスペクトルビンからスペクトルの頂点までの、前のフレームの前の復号済みスペクトルのスペクトルビンの平均エネルギーが、ゼロからエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前のフレームの前の復号済みスペクトルのスペクトルビンの平均エネルギーより小さい場合、および、
・ゼロからエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、現在のフレームの前記現在の量子化済みスペクトルのスペクトルビンのエネルギーが、ゼロからエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前のフレームの前の量子化済みスペクトルのスペクトルビンのエネルギーより小さい場合、
復号モジュール110は、例えば、再スケーリング係数が、
・ゼロからエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、現在の量子化済みスペクトルのスペクトルビンのエネルギーを現在のフレームのゲイン係数の平方で乗算したものと
・ゼロからエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前の量子化されたスペクトルのスペクトルビンのエネルギーを前のフレームのゲイン係数の平方で乗算したものと、の比率の平方根に等しくなるように、再スケーリング係数を決定するように構成されることがある。
【0092】
【0093】
【0094】
【0095】
部分的フレーム損失隠蔽が適用されるシナリオにおいては、ビットストリームペイロードのより高感度なビットは、エラー無しであると想定される、または決定される。
【0096】
【0097】
【0098】
エネルギーが変化する遷移フレームにおいて高エネルギーのアーチファクトを防止するために、隠蔽されたスペクトル線は順次再スケーリングされるが、一方、結果として生じる再スケーリング係数は、例えば、(a)グローバルゲイン、および(b)スペクトルのエネルギーの少なくとも1つに依存することがある。好ましくは、結果として生じる再スケーリング係数は、例えば、グローバルゲインとスペクトルのエネルギーとの両方に依存しても良い。
【0099】
グローバルゲインに基づく再スケーリング係数は、前のグローバルゲインと現在のグローバルゲインとの比率に等しい。
【0100】
・周波数ビンkbe(エラー隠蔽を実行しなければ再構築することができない最初のスペクトルビン)からスペクトルの頂点までの、前の復号済みスペクトルのスペクトルビンの平均エネルギーが、ゼロから周波数ビンkbe-1(エラー隠蔽を実行しないでも再構築することができる最後のスペクトルビン)までの、前の復号済みスペクトルのスペクトルビンの平均エネルギー以上である場合、または、
・ゼロから周波数ビンkbe-1までの、現在の量子化済みスペクトルのスペクトルビンのエネルギーが、ゼロから周波数ビンkbe-1までの、前の量子化済みスペクトルのスペクトルビンのエネルギー以上である場合、
エネルギーに基づく再スケーリング係数は、1で初期化される(例えば、再スケーリングが実行されない/例えば再スケーリングには効果がない)。
【0101】
さもなければ、再スケーリング係数は、
・ゼロから周波数ビンkbe-1にまでの、現在の量子化済みスペクトルのスペクトルビンのエネルギーを現在のフレームのゲイン係数の平方で乗算したものと、
・ゼロから周波数ビンkbe-1にまでの、前の量子化されたスペクトルのスペクトルビンのエネルギーを前のフレームのゲイン係数の平方で乗算したものと、
の比率の平方根と等しい。
【0102】
この場合において、両方の係数を乗算するとき、ゲイン係数は互いに相殺する。従って、再スケーリング係数はその後、
・ゼロから周波数ビンkbe-1にまでの、現在の量子化済みスペクトルのスペクトルビンのエネルギーと、
・ゼロから周波数ビンkbe-1にまでの、前の量子化済みスペクトルのスペクトルビンのエネルギーと、
の比率の平方根に等しくなる。
【0103】
その後、隠蔽された量子化済みスペクトルは、例えば、エラーのない量子化済みスペクトルとして扱われることがある。これは、ノイズ充填またはノイズ整形あるいははパラメータがエラーのないビットストリームに記憶されるその他の操作等の、デコーダが追って行う操作が、例えば、後に適用されうることを意味する。従って、可能な隠蔽アーチファクトが軽減される。
【0104】
その後、上述されたのと同様のフェード肯定が、例えば、周波数ビンkbeからスペクトルの頂点までのスペクトルに適用され、例えば利用可能かもしれないトーナル特性が、例えば、フェードされてノイズになることがありおよび/または、顕著であることがあるスペクトルの形が、例えば、平坦化されることがあり、および/または、エネルギーが例えば減少されることがある。
【0105】
以下に、実施の形態を詳細に説明する。
【0106】
図2は、特定の実施の形態による復号モジュール110を示す。
【0107】
図2の復号モジュール110は、復号済みスペクトル記憶モジュール330と、任意に、量子化済みスペクトル記憶モジュール310と、部分フレーム反復・再スケーリングモジュール320と、フェードアウト・符号スクランブル化モジュール340と、を含む。
図2の具体的な復号モジュール110のこれらの(サブ)モジュールの固有の詳細は、
図3~
図5を参照して説明される。
【0108】
図3~
図5は、実施の形態による、LC3デコーダ(例示的に、本発明の方法において修正された最新の変換コーダとして使用される)のハイレベルの概要を提供する。特に、
図3~
図5は復号モジュール110のための様々な具体的な実施の形態を提供する。
【0109】
ある実施の形態において、復号モジュール110は、例えば、オーディオ信号の量子化済みスペクトルを記憶するように構成された量子化済みスペクトル記憶モジュール310を含むことがあり、量子化済みスペクトル記憶モジュール310は、最後の非完全フレーム損失隠蔽量子化済みスペクトルを提供するように構成される。さらに、復号モジュール110は、例えば、オーディオ信号の復号済みスペクトルを記憶するように構成された復号済みスペクトル記憶モジュール330を含むことがあり、復号済みスペクトル記憶モジュール330は、最後の非完全フレーム損失隠蔽復号済みスペクトルを提供するように構成される。
【0110】
図3は、クリーンチャンネルの復号のための実施の形態による、復号モジュール110の概要を示す。特に、
図3は通常のデコーダ操作を示す。完全フレーム損失隠蔽ならびに部分的フレーム損失隠蔽のために必要な処理ブロックは、処理ブロック310および330である。
【0111】
量子化済みスペクトル記憶モジュール310は、例えば、量子化済みスペクトルを記憶するように構成されることがある。量子化済みスペクトル記憶モジュール310は、部分的フレーム損失隠蔽の場合に再使用が可能になるようにするために、最後の非FFLC量子化済みスペクトルを記憶する。
【0112】
復号済みスペクトル記憶モジュール330は、(例えば、復号済みスペクトルと称される)スペクトルを記憶するように構成される。この処理ブロックは、完全フレーム損失隠蔽の場合に再使用がk能なようにするために、最後の非FFLCスペクトルを記憶する。例えば、部分的フレーム損失隠蔽の間の再スケーリングにも使用することができる。
【0113】
ある実施の形態において、復号モジュール110は、例えば、オーディオ信号の復号済みスペクトルを記憶するように構成された復号済みスペクトル記憶モジュール330を含むことがあり、復号済みスペクトル記憶モジュール330は、最後の非完全フレーム損失隠蔽復号済みスペクトルを提供するように構成される。さらに、復号モジュール110は、例えば、スペクトルのスペクトル線に対するフェードアウトおよび符号のスクランブル化を行うように構成されるフェードアウト・符号スクランブル化モジュール340を含む。
【0114】
さらに、ある実施の形態によれば、復号モジュール110は、例えば、オーディオ信号の量子化済みスペクトルを記憶するように構成された量子化済みスペクトル記憶モジュール310を含むことがあり、量子化済みスペクトル記憶モジュール310は、最後の非完全フレーム損失隠蔽量子化済みスペクトルを提供するように構成される。さらに、復号モジュール110は、例えば、部分フレームの反復および再スケーリングを実行するように構成された部分フレーム反復・再スケーリングモジュール320を含むことがあり、部分フレーム反復・再スケーリングモジュール320は、復号モジュール110が復号することができなかったスペクトル線を追加することによってスペクトルを補足するように構成され、部分フレーム反復・再スケーリングモジュール320は、前記スペクトル線を再スケーリングするように構成される。
【0115】
図4は、完全フレーム損失隠蔽のための実施の形態による、復号モジュール110の概要を示す。特に、
図4は、完全フレーム損失隠蔽を実行するように構成された実施の形態を説明する。完全フレーム損失隠蔽のために必要な処理ブロックは、処理ブロック330および340である。処理ブロック330および340は、例えば、以下のタスクを持つことがある。
【0116】
復号済みスペクトル記憶モジュール330は、例えば、スペクトル(例えば、ここでも復号済みスペクトルと称される)を記憶するように構成されることがある。この処理ブロック330は、最後の非FFLCスペクトルを提供する。
【0117】
フェードアウト・符号スクランブル化モジュール340は、例えば、フェードアウトおよび符号のスクランブル化を実行するように構成される。この処理ブロックは、下記に説明するように、最後の非FFLCフレームのスペクトル線を処理することによってスペクトルを生成するように構成される。
【0118】
図5は、部分的フレーム損失隠蔽のための実施の形態による、復号モジュール110の概要を説明する。
【0119】
特に、
図5は、部分的フレーム損失隠蔽の適用を示す。部分的フレーム損失隠蔽のために必要な処理ブロックは、処理ブロック310、320、330および340である。これらの処理ブロック310、320、330および340は、以下のタスクを持つ。
【0120】
量子化済みスペクトル記憶モジュール310は、例えば、量子化済みスペクトルを記憶するように構成される。量子化済みスペクトル記憶モジュール310は、例えば、最後の非FFLC量子化スペクトルを提供するように構成されることがある。
【0121】
部分フレーム反復・再スケーリングモジュール320は、例えば、部分フレームの反復および再スケーリングを実行するように構成されることがある。この処理ブロックは、例えば、復号することができなかったスペクトル線を追加することによって、スペクトルを補足するように構成されることがある。後に、それらのスペクトル線は、例えば、以下に説明されるように、再スケーリングされ、所定の閾値より下の値は0に量子化される。
【0122】
復号済みスペクトル記憶モジュール330は、例えば、スペクトル(例えば、ここでも復号済みスペクトルと称される)を記憶するように構成されることがある。復号済みスペクトル記憶モジュール330は、例えば、再スケーリング係数を計算するために使用されうる、最後の非FFLCスペクトルを提供するように構成されることがある。
【0123】
フェードアウト・符号スクランブル化モジュール340は、例えば、フェードアウトおよび符号のスクランブル化を実行するように構成される。フェードアウト・符号スクランブル化モジュール340は、例えば、部分的フレーム損失隠蔽によって前に提供されたスペクトル線を処理するように構成されることがある。下記に説明する。
【0124】
以下、いくつかの実施の形態による、トーナル性に依存するエラー隠蔽をより詳細に説明する。
【0125】
最初に、いくつかの実施の形態によるフェード関数が提供される。
【0126】
以下に説明されるように、符号のスクランブル化および非線形の減衰のために実施されたフェード処理のために、1から特定の値(plc_start_inFrames)まで、特定の値(plc_end_inFrames)からゼロ(0)までの、そしてplc_start_inFramesとplc_end_inFramesとの間で1とゼロとの間(1>x>0)を線形的に減少する、後続の失われたフレームの数(nbLostFramesInRow)に依存する関数が、例えば、採用されることがある。
【0127】
特定の実施の形態が、例えば、以下の通り実施されうる。
plc_duration_inFrames=plc_end_inFrames-plc_start_inFrames;
x=max(plc_start_inFrames、(min(nbLostFramesInRow、plc_end_inFrames)));
m=-1/plc_duration_inFrames;
b=-plc_end_inFrames;
linFuncStartStop=m*(x+b);
ここで、
plc_start_inFramesは、後続の失われたフレームの数であり、ここまでは、linFuncStartStopの値は1と等しい。
plc_end_inFramesは、後続の失われたフレームの数であり、ここからlinFuncStartStopの値は0と等しくなる。
linFuncStartStopは、フェード関数の値である。
【0128】
開始の値と終わりの値とは、信号の特性(例えば、有声対無声)に依存して、および、フレーム損失隠蔽(例えば、PFLC対FFLC)に依存して、異なって選択される(PFLC=部分的フレーム損失隠蔽、FFLC=完全フレーム損失隠蔽)。
【0129】
図6は、連続して失われたフレームの数(追って失われたフレームの数)に依存する、ある実施の形態によるフェード関数を示す。
【0130】
特に、
図6は、20msと60msとの間を線形的に減少するように構成されるフェード関数の一例を提供している。
【0131】
以下に、いくつかの実施の形態による符号の操作をより詳細に説明する。
【0132】
必要条件として、符号のスクランブル化のための閾値は、例えば、上に導出したように、フェード値(linFuncStartStop)に基づいて決定することができる。
randThreshold=-32768*linFuncStartStop
【0133】
図7は、連続して失われたフレームの数(追って失われたフレームの数)に依存し、さらにフレーム長さに依存する、ある実施の形態による符号のスクランブル化のための閾値を示す。
【0134】
特に、
図7は、フェード関数を使う、連続的に失われたフレームの数に依存する閾値の一例を提供する。閾値0は50%の符号フリップに相当する一方、閾値-32768は0%の符号のフリップに相当する。
【0135】
【0136】
この例において、seed(すなわち、ランダム値)は、32768と-32768との間を変化する。無声信号(pitch_present==0)については、符号逆転のための閾値はゼロであり、ひいては50%の確率となる。有声信号について、-32768(符号逆転の確率0%)とゼロ(符号逆転の確率50%)との間の可変閾値(randThreshold)が適用される。
【0137】
以下、いくつかの実施の形態による振幅の操作をより詳細に説明する。
【0138】
特定の実施の形態において、2つの減衰係数が、例えば以下に示すように、安定に関する尺度に依存して定義されうる。
slow=0.8+0.2*stabFac
fast=0.3+0.2*stabFac
ここで、stabFacは、FFLCの場合は最後のフレームと最後から2番目のフレームとの間、またはPFLCの場合は現在のフレームと最後のフレームとの間の安定性値を示す。
【0139】
例えば、安定係数は、2つの信号、例えば現在の信号と過去の信号との間の類似度を表わす。安定係数は、例えば[0:1]に限定されることがある。安定係数1または1に近い安定係数は、例えば、両信号が非常に似ていることを意味し、安定係数0または0に近い安定係数は、例えば、両信号が非常に異なっていることを意味することがある。類似度は、例えば、2つのオーディオ信号のスペクトルの包絡線について計算されうる。
【0140】
【0141】
いくつかの実施の形態において、stabFacは、例えば、FFLCに対してとPFLCに対してとで異なって使われることがある。つまり、FFLCについては安定性に応じて0と1との間の値に設定される一方、PFLCに対して1に設定されることがある。
【0142】
その後、対応する累積減衰係数(それぞれのバースト損失の開始時に1で初期化された、cum_fading_slowおよびcum_fading_fast)が導出され、例えば、フレーム毎に以下のように変化することがある。
cum_fading_slow=cum_fading_slow*slow
cum_fading_fast=cum_fading_fast*fast
ここで、cum_fading_slowは、遅い累積減衰係数を示し、cum_fading_fastは、速い累積減衰係数を示す。
【0143】
ある実施の形態において、蓄積は、例えば、FFLCについてのみ行われ、PFLCについては行われないことがある。
【0144】
さらに、ある実施の形態によれば、第1の閾(ad_ThreshFac_start)および最後の閾(ad_ThreshFac_end)のための値を、例えば、定義することがある。いくつかの実施の形態において、これらの値は、例えば、ヒューリスティックに選択されることがある。通常、いずれの値も、例えば、1より大きく、第1の閾値は最後の閾値より大きい。これらの2つの閾制限に基づき、現在のフレーム(ad_threshFac)のための閾値は、例えば、上に導出したフェード値(linFuncStartStop)に基づいて決定することができる。
ad_ThreshFac_start=10;
ad_ThreshFac_end=1.2;
ad_threshFac=(ad_ThreshFac_start-ad_ThreshFac_end)*linFuncStartStop+ad_ThreshFac_end;
ここで、ad_ThreshFac_startは、より強い減衰が適用される、エネルギーを意味する第1の係数を示し、ad_ThreshFac_stopは、より強い減衰が適用される、エネルギーを意味する最後の係数を示す。
【0145】
閾調整は、FFLCのためだけに行われ、PFLCのためには行われないこともある。この場合、閾は後続のフレームについては固定となる。
【0146】
図8は、ある実施の形態による、連続して失われたフレームの数に依存し、さらにフレーム長さに依存するエネルギー閾係数を示す。
【0147】
特に、
図8は、フェード関数を使って、連続的に失われたフレームの数に依存する閾係数の一例を提供し、ここで閾係数は、20msと60msとの間で10から1.2まで減少する。
【0148】
【0149】
elseパスにおいてnが導出されたことで、減衰曲線がより大きい値をより大きく、より小さい値をより小さく維持することが保証される。
【0150】
図9は、累積減衰が適用される一例を示す。この例における可能な入力値は、0から1000との間である。n=0は受信したフレームを表し、ある種の参照をもたらす。この例において、初期の遅い減衰係数は0.9に設定され、初期の速い減衰係数は0.4に設定されている(stabFac=0.5)。2番目のフレームにおいてこれらの値の2乗が使用されており、以下同様であって、後続の曲線がより平坦になる。同時に、閾は、例えば、減少され、ひいては連続した曲線のねじれがさらに左に移動することがある。
【0151】
【0152】
受信したフレームの間のスペクトル線の記憶および(部分的にまたは完全に)失われたフレームの間のスペクトル線の挿入は、一般に、ビットストリームにおいて提供された情報に基づくスペクトルの復号と時間領域への逆変換との間のどのような場所でも実行される。LC3を参照すると、例えばSNS復号(SNS=スペクトルノイズ整形)の前後、例えばTNS復号(TNS=時間ノイズ整形)の前後、例えばグローバルゲインの適用前後、および/または、例えばノイズ充填の前後に、特に実行されることがある。
【0153】
好ましい位置の選択は、部分的または完全に失われたフレームについての追加情報が入手可能かどうかに応じても、変わってくる。部分的に失われたフレーム(部分的フレーム損失隠蔽)の場合、例えば、以降の信号処理工程のためのパラメータが利用可能であるため、信号処理の始まりに実行されることがある。、完全に失われたフレーム(完全フレーム損失隠蔽)の場合、例えば、以降の信号処理工程のためのパラメータが一切利用できないため、より後の段階で実行されることがある。しかし、例えば、この工程によって専用のスペクトル整形が可能になるため、それでもSNS復号の前に実行することもできる。
【0154】
以下、いくつかの実施の形態による部分的フレーム損失隠蔽を、より詳細に説明する。
【0155】
【0156】
【0157】
【0158】
【0159】
【0160】
【0161】
たとえいくつかの点が装置の文脈内で説明されていても、これらの点が、ブロックまたは装置が方法の工程または方法の工程の特徴に対応する、対応する方法の説明でもあることは明らかである。同様に、方法の工程の文脈において説明された点も、対応する装置の対応するブロックまたは品目または特徴の説明でもある。方法の工程の一部または全部は、例えば、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路などのハードウェア装置によって(または、ハードウェア装置を使って)実行することができる。いくつかの実施の形態において、最も重要な方法の工程の1つ以上が、そのような装置により実行される。
【0162】
予定の実施要件によっては、本発明の実施の形態は、ハードウェアまたはソフトウェアで、あるいは少なくとも部分的にハードウェアまたはソフトウェアで実施されることがある。実施はデジタル記憶媒体、例えば、プログラム可能なコンピュータシステムと協働してそれぞれの方法が実行される(またはかかるプログラム可能なコンピュータシステムと協働可能な)電子的に読み取り可能な制御信号が記憶された、フロッピーディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使って実行することができる。それゆえ、デジタル記憶媒体は、コンピュータ読み取り可能でありうる。
【0163】
一般に、本発明の実施の形態は、プログラムコードを持つコンピュータプログラム製品として実施することができる。プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるとき、方法のうちの1つを実行するように作動する。プログラムコードは、例えば、機械可読なキャリア上に記憶されることができる。
【0164】
別の実施の形態は、機械可読なキャリア上に記憶された、ここに記載された方法のうちの1つを実行するためのコンピュータプログラムを含む。
【0165】
すなわち、本発明の実施の形態は、従って、コンピュータプログラムがコンピュータ上で作動するときに、ここに記載された方法のうちの1つを実行するためのプログラムコードを持つコンピュータプログラムである。
【0166】
本発明の方法の別の実施の形態は、従って、ここに記載された方法のうちの1つを実行するためのコンピュータプログラムが記録されたデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体または記録されたメディアは典型的に、有形および/または非一時的である。
【0167】
本発明の方法の別の実施の形態は、従って、ここに記載された方法のうちの1つを実行するためのコンピュータプログラムを表わすデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、データ通信接続、例えばインターネットを介して転送されるように構成されることがる。
【0168】
別の実施の形態は、ここに記載された方法のうちの1つを実行するように構成または適合された処理手段、例えば、コンピュータまたはプログラム可能な論理デバイスを含む。
【0169】
別の実施の形態は、ここに記載された方法のうちの1つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【0170】
発明による別の実施の形態は、ここに記載された方法のうちの1つを実行するためのコンピュータプログラムを受信機に(例えば電子的または光学的に)転送するように構成された装置またはシステムを含む。受信機は、例えばコンピュータ、モバイルデバイス、メモリーデバイス等であっても良い。装置またはシステムは例えば、コンピュータプログラムを受信機に転送するためのファイルサーバーを含むことがある。
【0171】
いくつかの実施の形態において、ここに記載された方法の機能のうちのいくつかまたは全てを実行するために、プログラム可能な論理デバイス(例えば、フィールドプログラマブルゲートアレイ)が使われることがある。いくつかの実施の形態において、フィールドプログラマバルゲートアレイは、ここに記載された方法のうちの1つを実行するために、マイクロプロセッサと協働することがある。一般に、方法は好ましくは、任意のハードウェア装置によって実行される。
【0172】
ここに記載された装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータとの組合せを使用して実施されることがある。
【0173】
ここに説明された方法は、ハードウェア装置を使うこと、またはコンピュータを使うこと、またはハードウェア装置の結合とコンピュータを使うことによって実施される。
【0174】
上記に記載した実施の形態は、本発明の原則を単に示すに過ぎない。ここに記載された構成および詳細の修正および変形は当業者に明白であると理解される。従って、当面の請求項の範囲によってのみ制限されることを意図するものであり、実施の形態の記載と説明によってここに表される特定の詳細によって制限されることを意図するものではない。
【国際調査報告】