(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-12
(45)【発行日】2024-04-22
(54)【発明の名称】完全フレーム損失隠蔽および部分的フレーム損失隠蔽を含む、LC3隠蔽のためのデコーダおよび復号方法
(51)【国際特許分類】
G10L 19/005 20130101AFI20240415BHJP
【FI】
G10L19/005
(21)【出願番号】P 2021547397
(86)(22)【出願日】2020-02-12
(86)【国際出願番号】 EP2020053620
(87)【国際公開番号】W WO2020165265
(87)【国際公開日】2020-08-20
【審査請求日】2021-09-27
(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
【前置審査】
(73)【特許権者】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【氏名又は名称】岡田 全啓
(72)【発明者】
【氏名】トマセク エイドリアン
(72)【発明者】
【氏名】スペルシュナイダー ラルフ
(72)【発明者】
【氏名】ビューテ ヤン
(72)【発明者】
【氏名】ベンドルフ コンラート
(72)【発明者】
【氏名】ディーツ マルティーン
(72)【発明者】
【氏名】シュネル マルクス
(72)【発明者】
【氏名】シュレーゲル マキシミリアン
【審査官】中村 天真
(56)【参考文献】
【文献】特表2009-538460(JP,A)
【文献】米国特許出願公開第2019/0005967(US,A1)
【文献】米国特許出願公開第2010/0115370(US,A1)
【文献】鎌本 優ほか,VoLTE用高音質音声符号化技術の動向,日本音響学会誌,2018年02月,第74巻,第2号,p.83-92
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/005
G10L 19/02
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
現在のフレームを復号化してオーディオ信号を再構築するためのデコーダ(100)であって、前記オーディオ信号は現在のフレーム内で符号化され、前記現在のフレームは現在のビットストリームペイロードを含み、前記現在のビットストリームペイロードは複数のペイロードビットを含み、前記複数のペイロードビットは前記オーディオ信号のスペクトルの複数のスペクトル線を符号化し、前記ペイロードビットのそれぞれは前記現在のビットストリームペイロード内の位置を表し、
前記デコーダ(100)は、
前記オーディオ信号を再構築するように構成された復号モジュール(110)と、
前記オーディオ信号を出力するように構成された出力インタフェース(120)と、を含み、
前記復号モジュール(110)は部分的フレーム損失隠蔽モードを含み、前記復号モジュール(110)が前記部分的フレーム損失隠蔽モードである場合、
前記復号モジュール(110)は、前記スペクトルの前記複数のスペクトル線のうちの、周波数が閾周波数以下である1つ以上の第1のスペクトル線についてエラー隠蔽を実行することなく前記オーディオ信号を再構築するように構成され、ここで、前記1つ以上の第1のスペクトル線は、前記複数のペイロードビットのうちの1つ以上の複数のペイロードビットの第1のグループによって符号化されている、そして、
前記復号モジュール(110)は、前記スペクトルの前記複数のスペクトル線のうちの、周波数が前記閾周波数より大きい1つ以上の第2のスペクトル線についてエラー隠蔽を実行することによって前記オーディオ信号を再構築するように構成され、ここで、前記1つ以上の第2のスペクトル線は、前記複数のペイロードビットのうちの1つ以上の複数のペイロードビットの第2のグループによって符号化されている、デコーダ(100)。
【請求項2】
前記復号モジュール(110)は、前記現在のフレームが、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数以下の前記1つ以上の第1のスペクトル線を符号化している破損ビットを一切含まないかどうかを検出するように構成され、
前記復号モジュール(110)は、前記現在のフレームが、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数より大きい前記1つ以上の第2のスペクトル線を符号化している1つ以上の破損ビットを含むかどうかを検出するように構成され、
前記1つ以上の破損ビットは、前記ペイロードビットのうちの、歪んでいるまたは歪んでいると想定される1つ以上のペイロードビットであり、
前記現在のフレームが、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数以下である前記1つ以上の第1のスペクトル線を符号化している破損ビットを一切含まない場合、かつ、前記現在のフレームが、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数より大きい前記1つ以上の第2のスペクトル線を符号化している前記1つ以上の破損ビットを含む場合、前記復号モジュール(110)は、前記スペクトルのうちの、周波数が前記閾周波数より大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行することによって、前記部分的フレーム損失隠蔽モードにおいてエラー隠蔽を実行するように構成される、請求項1に記載のデコーダ(100)。
【請求項3】
前記現在のフレームが、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数以下である前記1つ以上の第1のスペクトル線を符号化している破損ビットを一切含まない場合、かつ、前記現在のフレームが、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数より大きい前記1つ以上の第2のスペクトル線を符号化している前記1つ以上の破損ビットを含む場合、前記復号モジュール(110)は、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数以下である、前記1つ以上の第1のスペクトル線を符号化している、前記複数のペイロードビットのうちの前記1つ以上の複数のペイロードビットの前記第1のグループを復号化することによって、前記オーディオ信号を再構築するように構成される、請求項2に記載のデコーダ(100)。
【請求項4】
前記復号モジュール(110)は、前記現在のフレームが失われているかどうかを検出するように構成され、
前記デコーダが、前記現在のフレームが失われていることを検出した場合、前記復号モジュール(110)は、
前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数より大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行すること、および、
前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数以下である1つ以上の第1の周波数について前記1つ以上の第1のスペクトル線を符号化する、前記複数のペイロードビットのうちの前記1つ以上の複数のペイロードビットの前記第1のグループであって、前記現在のフレームと異なる冗長なフレームの1つ以上のペイロードビットである、前記複数のペイロードビットのうちの前記1つ以上のペイロードビットの前記第1のグループを、エラー隠蔽を実行しないで復号化することによって、前記オーディオ信号を再構築するように構成される、請求項1ないし請求項3のいずれか1つに記載のデコーダ(100)。
【請求項5】
前記復号モジュール(110)が完全フレーム損失隠蔽モードにおいてエラー隠蔽を実行するように構成される場合、前記復号モジュール(110)は、前記スペクトルの全てのスペクトル線についてエラー隠蔽を実行するように構成される、請求項1ないし請求項4のいずれか1つに記載のデコーダ(100)。
【請求項6】
前記複数のペイロードビットは、複数の現在のペイロードビットであり、
前記復号モジュール(110)が前記部分的フレーム損失隠蔽モードである場合、前記復号モジュール(110)は
、前のフレーム
の前のビットストリームペイロードの1つ以上の前のペイロードビットによって符号化された1つ以上の記憶されたスペクトル線を使って、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数より大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行するように構成される、請求項5に記載のデコーダ(100)。
【請求項7】
前記スペクトルは、現在の量子化されたスペクトルであり、
前記復号モジュール(110)が前記部分的フレーム損失隠蔽モードにおいてエラー隠蔽を実行する場合、前記復号モジュール(110)は、前記オーディオ信号の前記スペクトルのうちの、周波数が前記閾周波数より大きい前記1つ以上の第2のスペクトル線についてエラー隠蔽を実行して、前記現在の量子化されたスペクトルの1つ以上の中間スペクトル線を得るように構成され、ここで前記復号モジュール(110)は、再スケーリング係数を使用して前記1つ以上の中間スペクトル線を再スケーリングして前記オーディオ信号を再構築するように構成される、請求項6に記載のデコーダ(100)。
【請求項8】
前記復号モジュール(110)は、
前記現在のビットストリームペイロード内で符号化されたグローバル(全域にわたる)ゲイン、および、
前記前のビットストリームペイロード内で符号化されたグローバルゲイン、
前記前のフレームの前の量子化済みスペクトルのエネルギー、および、前記前のフレームの前の復号化済みスペクトルのエネルギー、ならびに、
前記現在のフレームの前記現在の量子化済みスペクトルのエネルギーのうちの少なくとも1つに依存して、前記再スケーリング係数を決定するように構成される、請求項7に記載のデコーダ(100)。
【請求項9】
前記復号モジュール(110)は、
エラー隠蔽を実行しないと再構築できない最初のスペクトルビンから開始して前記スペクトルの頂点までの、前記前のフレームの前記前の復号済みスペクトルのスペクトルビンの平均エネルギーが、ゼロから開始してエラー隠蔽を実行しないでも再構築することができる最後のスペクトルビンまでの、前記前のフレームの前記前の復号済みスペクトルのスペクトルビンの平均エネルギー以上であるかどうか、または、
ゼロから開始してエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前記現在のフレームの前記現在の量子化済みスペクトルのスペクトルビンのエネルギーが、ゼロから開始してエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前記前のフレームの前記前の量子化済みスペクトルのスペクトルビンのエネルギー以上であるどうかに依存して、
前記再スケーリング係数を決定するように構成される、請求項8に記載のデコーダ(100)。
【請求項10】
エラー隠蔽を実行しないと再構築することのできない前記最初のスペクトルビンから開始して前記スペクトルの頂点までの、前記前のフレームの前記前の復号済みスペクトルの前記スペクトルビンの前記平均エネルギーが、ゼロから開始してエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前記前のフレームの前記前の復号済みスペクトルの前記スペクトルビンの前記平均エネルギーより小さい場合、および、
ゼロから開始してエラー隠蔽を実行しないでも再構築できる前記最後のスペクトルビンまでの、前記現在のフレームの前記現在の量子化済みスペクトルの前記スペクトルビンのエネルギーが、ゼロから開始してエラー隠蔽を実行しないでも再構築できる前記最後のスペクトルビンまでの、前記前のフレームの前記前の量子化済みスペクトルの前記スペクトルビンのエネルギーより小さい場合、
前記復号モジュール(110)は、前記再スケーリング係数が、ゼロから開始してエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前記現在の量子化済みスペクトルの前記スペクトルビンのエネルギーを前記現在のフレームのゲイン係数の平方で乗算したものと、ゼロから開始してエラー隠蔽を実行しないでも再構築することができる前記最後のスペクトルビンまでの、前記前の量子化済みスペクトルの前記スペクトルビンのエネルギーを前記前のフレームのゲイン係数の平方で乗算したものとの比率の平方根に等しくなるように、前記再スケーリング係数を決定するように構成される、請求項9に記載のデコーダ(100)。
【請求項11】
前記復号モジュール(110)は、グローバルゲイン再スケーリング係数に依存する、全体の再スケーリング係数である前記再スケーリング係数を決定するように構成され、
前記復号モジュール(110)は、fac
gg=gg
prev/ggに従って前記グローバルゲイン再スケーリング係数を決定するように構成され、
ggは、前記現在のビットストリームペイロード内で符号化された前記グローバルゲインを示し、
gg
prevは、前記前のビットストリームペイロード内で符号化された前記グローバルゲインを示し、
fac
ggは、前記グローバルゲイン再スケーリング係数である、請求項8ないし請求項10のいずれか1つに記載のデコーダ(100)。
【請求項12】
【請求項13】
【請求項14】
【請求項15】
前記復号モジュール(110)は、前記オーディオ信号の復号済みスペクトルを記憶するように構成された復号済みスペクトル記憶モジュール(330)を含み、前記復号済みスペクトル記憶モジュール(330)は、最後の非完全なフレーム損失隠蔽復号済みスペクトルを提供するように構成され、
前記復号モジュール(110)は、前記オーディオ信号の復号済みスペクトルを記憶するように構成された復号済みスペクトル記憶モジュール(330)を含み、前記復号済みスペクトル記憶モジュール(330)は、最後の非完全フレーム損失隠蔽復号済みスペクトルを提供するように構成される、請求項1ないし請求項13のいずれか1つに記載のデコーダ(100)。
【請求項16】
現在のフレームを復号化してオーディオ信号を再構築するための方法であって、前記オーディオ信号は現在のフレーム内で符号化され、前記現在のフレームは現在のビットストリームペイロードを含み、前記現在のビットストリームペイロードは、複数のペイロードビットを含み、前記複数のペイロードビットは、前記オーディオ信号のスペクトルの複数のスペクトル線を符号化し、前記ペイロードビットのそれぞれは、前記現在のビットストリームペイロード内の位置を表し、
前記方法は、前記オーディオ信号を再構築するステップと、前記オーディオ信号を出力するステップとを含み、
部分的フレーム損失隠蔽モードにおいて、前記オーディオ信号を再構築するステップは、前記スペクトルの前記複数のスペクトル線のうちの、周波数が閾周波数以下である1つ以上の第1のスペクトル線についてエラー隠蔽を実行することなく実行され、ここで、前記1つ以上の第1のスペクトル線は、前記複数のペイロードビットのうちの1つ以上の複数のペイロードビットの第1のグループによって符号化されていて、かつ
前記部分的フレーム損失隠蔽モードにおいて、前記オーディオ信号を再構築するステップは、前記スペクトルの前記複数のスペクトル線のうちの、周波数が前記閾周波数より大きい1つ以上の第2のスペクトル線についてエラー隠蔽を実行することによって、実行され、ここで、前記1つ以上の第2のスペクトル線は、前記複数のペイロードビットのうちの1つ以上の複数のペイロードビットの第2のグループによって符号化されている、方法。
【請求項17】
コンピュータまたは信号プロセッサ上において実行されるとき、請求項16の方法を実施するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、完全フレーム損失隠蔽および部分的フレーム損失隠蔽を含む、LC3フレーム損失隠蔽のためのデコーダおよび復号方法に関連する。
【背景技術】
【0002】
変換に基づいたオーディオコーデックは、オーディオフレームのスペクトルのコード化された表現に依存している。そのようなスペクトルは複数のスペクトル線から成る。種々の理由のため、いくつかのスペクトル線または全てのスペクトル線がデコーダ側で利用できないことがある。周波数領域におけるオーディオエラー隠蔽の概念は、例えば、このようなスペクトル線の喪失によって引き起こされたアーチファクトを軽減するための手段を提供することができる。共通のアプローチは、できるだけ良いこれらの代替を見つけることである。
【0003】
従来技術において、種々のフレーム損失隠蔽技術が利用することができる。
【0004】
周波数領域におけるフレーム損失隠蔽の概念は、例えば特に消音、反復ノイズ置換、および予測に言及している非特許文献1において議論されている。これらの技術は常に、ゼロまたはある種の背景ノイズ/快適ノイズのいずれかに向けて、通常はいくつかの失われたフレームにわたって信号を減衰させる、フェードアウト処理と組合されている。
【0005】
特許文献1においては、周波数帯域のための種々の減衰係数が、これらの帯域におけるエネルギーに応じて提供されている。例えば、エネルギーが閾値より高い帯域にはより大きい減衰係数を適用することができ、エネルギーがその閾値より低い帯域にはより小さい減衰係数が適用されうる。さらに、特許文献1においては、最後の複数の良好なフレームにわたってエネルギー向上が観察され、最後の良好なフレームにおけるエネルギーが最後から2番目の良好なフレームにおいてよりも小さければ、より強い減衰が適用される。
【0006】
さらに、信号のスペクトルの形も、ある種の共通の形に向かってフェードされることがある。このアプローチは、特に線形予測符号化(LPC)に基づくコーデック、例えばEVS(拡張された音声サービス)において使われる。そこで、LPC係数は混合されて、いくつかの提供された平均係数となる。
【先行技術文献】
【非特許文献】
【0007】
【文献】P. Lauber and R. Sperschneider, "Error Concealment for Compressed Digital Audio," in Audio Engineering Society, 2001.
【文献】A. Raemoe, A. Kurittu and H. Toukomaa, "EVS Channel Aware Mode Robustness to Frame Erasures," in Interspeech 2016, San Francisco, CA, USA, 2016.
【文献】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】
【文献】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.
【文献】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】
上記に記載した実施の形態は、本発明の原則を単に示すに過ぎない。ここに記載された構成および詳細の修正および変形は当業者に明白であると理解される。従って、当面の請求項の範囲によってのみ制限されることを意図するものであり、実施の形態の記載と説明によってここに表される特定の詳細によって制限されることを意図するものではない。