(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-29
(45)【発行日】2023-10-10
(54)【発明の名称】エラー隠蔽モードを選択するデコーダおよび復号方法、ならびに、エンコーダおよび符号化方法
(51)【国際特許分類】
G10L 19/005 20130101AFI20231002BHJP
G10L 19/00 20130101ALI20231002BHJP
【FI】
G10L19/005
G10L19/00 330B
(21)【出願番号】P 2021547398
(86)(22)【出願日】2020-02-12
(86)【国際出願番号】 EP2020053618
(87)【国際公開番号】W WO2020165263
(87)【国際公開日】2020-08-20
【審査請求日】2021-10-11
(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/065209
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065205
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065172
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【氏名又は名称】岡田 全啓
(74)【代理人】
【識別番号】100167966
【氏名又は名称】扇谷 一
(72)【発明者】
【氏名】トマセク エイドリアン
(72)【発明者】
【氏名】スペルシュナイダー ラルフ
(72)【発明者】
【氏名】ビューテ ヤン
(72)【発明者】
【氏名】ベンドルフ コンラート
(72)【発明者】
【氏名】ディーツ マルティーン
(72)【発明者】
【氏名】シュネル マルクス
(72)【発明者】
【氏名】シュレーゲル マキシミリアン
【審査官】山下 剛史
(56)【参考文献】
【文献】特開平10-22937(JP,A)
【文献】特開2009-276890(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/00-25/93
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
信号の信号部を再構成するためにフレームを復号するためのデコーダ(100)であって、前記信号部は前記フレーム内に符号化されており、前記フレームはビットストリームペイロードおよび2つ以上の冗長ビットを含み、前記ビットストリームペイロードは複数のペイロードビットを含み、前記ペイロードビットの各々は前記ビットストリームペイロード内での位置を示し、前記デコーダ(100)は、
前記ビットストリームペイロードが、歪んでいるまたは歪んでいる可能性が高い1つ以上の前記ペイロードビットである1つ以上の破損ビットを含んでいるか否かを、前記2つ以上の冗長ビットに依存して検出するように構成される、チャネル復号モジュール(110)と、
ソース復号モジュール(120)と、
を含み、
前記チャネル復号モジュール(110)が前記ビットストリームペイロード内に破損ビットを一切検出しなかった場合、前記ソース復号モジュール(120)は、エラー隠蔽を実行することなく前記ビットストリームペイロードを復号して前記信号部を再構成するように構成され、
前記チャネル復号モジュール(110)が前記ビットストリームペイロード内に前記1つ以上の破損ビットを検出した場合、前記ソース復号モジュール(120)は、前記1つ以上の破損ビットのうちの少なくとも1つの破損ビットの前記ビットストリームペイロード内での前記位置に応じて、かつ、前記信号の前記信号部の信号特性に応じて、2つ以上のエラー隠蔽モードのうちの選択されたエラー隠蔽モードを選択するように構成され、前記選択されたエラー隠蔽モードに応じてエラー隠蔽を実行して前記信号部を再構成するように構成される、
デコーダ(100)。
【請求項2】
前記チャネル復号モジュール(110)は、前記ビットストリームペイロードが前記1つ以上の破損ビットを含むか否かを検出する前に、前記ビットストリームペイロードに対してエラー訂正を実行するように構成されるエラー検出・エラー訂正モジュールである、
請求項1に記載のデコーダ(100)。
【請求項3】
前記2つ以上のエラー隠蔽モードのうちの第1のエラー隠蔽モードは、完全フレーム損失隠蔽モードであり、
前記ビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記選択されたエラー隠蔽モードが前記完全フレーム損失隠蔽モードである場合、前記ソース復号モジュール(120)は前記ビットストリームペイロードを使用せずにエラー隠蔽を実行するように構成される、
請求項1または2に記載のデコーダ(100)。
【請求項4】
前記2つ以上のエラー隠蔽モードのうちの第2のエラー隠蔽モードは部分的フレーム損失隠蔽モードであり、
前記ビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記選択されたエラー隠蔽モードが前記部分的フレーム損失隠蔽モードである場合、前記ソース復号モジュール(120)は、前記チャネル復号モジュール(110)が前記1つ以上の破損ビットであると示していない前記ペイロードビットの他のビットを前記他のビットに対してエラー隠蔽を実行せずに復号することによって、かつ、前記チャネル復号モジュール(110)が前記1つ以上の破損ビットであると示す前記1つ以上の前記ペイロードビットにエラー隠蔽を実行することによって、復号された信号を得るように構成される、
請求項3に記載のデコーダ(100)。
【請求項5】
前記2つ以上のエラー隠蔽モードは厳密に2つのエラー隠蔽モードを含み、
前記厳密に2つのエラー隠蔽モードのうちの第1のエラー隠蔽モードは前記完全フレーム損失隠蔽モードであり、
前記厳密に2つのエラー隠蔽モードのうちの第2のエラー隠蔽モードは前記部分的フレーム損失隠蔽モードである、
請求項4に記載のデコーダ(100)。
【請求項6】
前記ビットストリームペイロードは、前記ビットストリームペイロードの複数の前記ペイロードビットのうちの第1の部分と、前記ビットストリームペイロードの複数の前記ペイロードビットのうちの第2の部分とに区分化され、
前記ビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記ビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットのうちの少なくとも1つを含む場合、前記ソース復号モジュール(120)は、前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成され、
前記ビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記ビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含まない場合、前記ソース復号モジュール(120)は、前記信号の前記信号部の前記信号特性に応じて、前記選択されたエラー隠蔽モードを選択するように構成される、
請求項4または5に記載のデコーダ(100)。
【請求項7】
前記フレームは現在のフレームであり、前記ビットストリームペイロードは現在のビットストリームペイロードであり、前記複数のペイロードビットは複数の現在のペイロードビットであり、前記信号の前記信号部は前記信号の現在の信号部であり、前記信号特性は現在の信号特性であり、
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、前記ソース復号モジュール(120)は、前記現在のフレームの前記複数の現在のペイロードビットによって符号化される前記信号の前記現在の信号部の前記現在の信号特性に応じて、および、前のフレームの前のビットストリームペイロードの複数の前のペイロードビットによって符号化される前記信号の前の信号部の前の信号特性に応じて、2つ以上のエラー隠蔽モードのうちの前記選択されたエラー隠蔽モードを選択するように構成される、
請求項6に記載のデコーダ(100)。
【請求項8】
前記デコーダ(100)はオーディオデコーダであり、
前記現在のビットストリームペイロードの前記複数の現在のペイロードビットによって符号化される前記信号の前記現在の信号部は、オーディオ信号の現在のオーディオ信号部であり、
前記前のビットストリームペイロードの前記複数の前のペイロードビットによって符号化される前記信号の前記前の信号部は前記オーディオ信号の前のオーディオ信号部であり、
前記現在のビットストリームペイロードは前記現在のオーディオ信号部の複数のスペクトル線を符号化する、
請求項7に記載のデコーダ(100)。
【請求項9】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、前記前のフレームが完全フレーム損失隠蔽を使用して隠蔽された場合、前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成される、
請求項8に記載のデコーダ(100)。
【請求項10】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、前記現在のオーディオ信号部の前記複数のスペクトル線のうち最も高いスペクトル線が示す周波数が閾周波数以下の場合、前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成される、
請求項8に記載のデコーダ(100)。
【請求項11】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、安定係数が既定の閾値より小さい場合、前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成され、前記安定係数は、前記現在のオーディオ信号部の安定性および前記前のオーディオ信号部の安定性を示す、
請求項8に記載のデコーダ(100)。
【請求項12】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、
前記前のフレームが完全フレーム損失隠蔽を使用して隠蔽された場合、または、
前記現在のオーディオ信号部の安定性および前記前のオーディオ信号部の安定性を示す
安定係数が既定の閾値よりも小さい場合、
前記選択されたエラー隠蔽モードとして、前記完全フレーム損失隠蔽モードを選択するように構成される、
請求項8に記載のデコーダ(100)。
【請求項13】
前記既定の閾値は0.5に等しい、請求項11または12に記載のデコーダ。
【請求項14】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、
前記現在のオーディオ信号部の前記複数のスペクトル線のうち前記最も高いスペクトル線が示す周波数が前記閾周波数以下の場合、かつ、
前記現在のビットストリームペイロードの前記第1の部分が、トーナルまたは高調波な信号成分を符号化する場合、かつ、
前記前の信号部が、ピーク閾値よりも大きく、前記現在のオーディオ信号部の前記複数のスペクトル線が示すすべての周波数よりも大きい周波数に対応する、前記オーディオ信号の少なくとも1つのピークを符号化する場合に、
前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成される、
請求項10に記載のデコーダ(100)。
【請求項15】
前記オーディオ信号のピッチはピッチ周波数を示し、
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、
前記現在のオーディオ信号部の前記複数のスペクトル線のうち前記最も高いスペクトル線が示す前記周波数が前記閾周波数以下の場合、かつ、
前記現在のビットストリームペイロードの前記第1の部分が、トーナルまたは高調波な信号成分を符号化する場合、かつ、
前記現在のオーディオ信号部の前記複数のスペクトル線が示すすべての周波数が、前記ピッチ周波数よりも小さい場合、
前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成される、または、
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、
前記現在のオーディオ信号部の前記複数のスペクトル線のうち前記最も高いスペクトル線が示す前記周波数が前記閾周波数以下の場合、かつ、
前記現在のビットストリームペイロードの前記第1の部分が、トーナルまたは高調波な信号成分を符号化する場合、かつ、
前記現在のオーディオ信号部の前記複数のスペクトル線が示すすべての周波数が、サポートされた最大のピッチ周波数よりも小さい場合、
前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成される、
請求項14に記載のデコーダ(100)。
【請求項16】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、前記現在のオーディオ信号部の前記複数のスペクトル線のうち前記最も高いスペクトル線が示す前記周波数が前記閾周波数以下の場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が
トーナルまたは高調波な前記オーディオ信号の信号成分を符号化しない場合、かつ、前記前のオーディオ信号の前記前の量子化済みスペクトルの0から
周波数ビンk
be-1までの
エネルギーと、前記前のオーディオ信号の前記前の量子化済みスペクトルの0から頂点までの
エネルギーとの比が、比の閾値よりも小さく、ここでk
beは回復することのできない最初のスペクトルビンである場合、
前記選択されたエラー隠蔽モードとして前記完全フレーム損失隠蔽モードを選択するように構成される、
請求項15に記載のデコーダ(100)。
【請求項17】
前記比の閾値は0.3である、請求項16に記載のデコーダ(100)。
【請求項18】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、
前記前のフレームが完全フレーム損失隠蔽を使用して隠蔽されなかった場合、かつ、
前記現在のオーディオ信号部の前記複数のスペクトル線のうちの前記最も高いスペクトル線が示す周波数が前記閾周波数よりも大きい場合に、
前記選択されたエラー隠蔽モードとして前記部分的フレーム損失隠蔽モードを選択するように構成される、
請求項16または17に記載のデコーダ(100)。
【請求項19】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、
前記前のフレームが完全フレーム損失隠蔽を使用して隠蔽されなかった場合、かつ、
前記現在のオーディオ信号部の前記複数のスペクトル線のうちの前記最も高いスペクトル線が示す前記周波数が前記閾周波数よりも大きい場合、かつ、
前記現在のオーディオ信号部の安定性および前記前のオーディオ信号部の安定性を示す安定係数が
既定の閾値以上の場合、かつ、
前記現在のビットストリームペイロードの前記第1の部分が、トーナルまたは高調波な前記オーディオ信号の信号成分を符号化せず、かつ、前記前のオーディオ信号の前記前の量子化済みスペクトルの0から前記周波数ビンk
be-1までの前記エネルギーと、前記前のオーディオ信号の前記前の量子化済みスペクトルの0から頂点までの前記エネルギーとの前記比が、前記比の閾値以上の場合に、
前記選択されたエラー隠蔽モードとして前記部分的フレーム損失隠蔽モードを選択するように構成される、
請求項18に記載のデコーダ(100)。
【請求項20】
前記現在のビットストリームペイロードが前記1つ以上の破損ビットを含むと前記チャネル復号モジュール(110)が示す場合、かつ、前記現在のビットストリームペイロードの前記第1の部分が前記1つ以上の破損ビットを一切含んでいない場合、前記ソース復号モジュール(120)は、
前記前のフレームが完全フレーム損失隠蔽を使用して隠蔽されなかった場合、かつ、
前記現在のオーディオ信号部の前記複数のスペクトル線のうちの前記最も高いスペクトル線が示す前記周波数が前記閾周波数よりも大きい場合、かつ、
前記現在のオーディオ信号部の安定性および前記前のオーディオ信号部の安定性を示す安定係数が
既定の閾値以上の場合、かつ、
前記現在のビットストリームペイロードの前記第1の部分が、トーナルまたは高調波な信号成分を符号化し、かつ、前記現在のオーディオ信号部の前記複数のスペクトル線のうちの前記最も高いスペクトル線が前記ピッチ周波数よりも大きい周波数を示し、かつ、前記前の信号部が、前記ピーク閾値よりも大きく、前記現在のオーディオ信号部の前記複数のスペクトル線が示すすべての周波数よりも大きい前記周波数に相当する前記オーディオ信号のピークを一切符号化しない場合に、
前記選択されたエラー隠蔽モードとして前記部分的フレーム損失隠蔽モードを選択するように構成される、
請求項18または19に記載のデコーダ(100)。
【請求項21】
前記選択されたエラー隠蔽モードが前記部分的フレーム損失隠蔽モードである場合、前記ソース復号モジュール(120)は、前記ビットストリームペイロードの前記第2の部分の複数の符号語のうちの各符号語について、前記符号語の修正されたシンボル数に応じて、前記現在のオーディオ信号部の前記複数のスペクトル線のうちの前記符号語が表すものに対してエラー隠蔽を実行するか否かを決定し、前記現在のオーディオ信号部の前記複数のスペクトル線のうちの前記ソース復号モジュール(120)がエラー隠蔽を実行すると決定しているものに対してエラー隠蔽を実行するように構成される、
請求項8ないし20のいずれか1項に記載のデコーダ(100)。
【請求項22】
前記ビットストリームペイロードの前記第2の部分の複数の符号語の各符号語について、前記ソース復号モジュール(120)は、前記符号語が破損している確率の近似値を示すリスク値を決定し、前記リスク値がリスク閾値よりも大きいか否かを決定するように構成される、
請求項21に記載のデコーダ(100)。
【請求項23】
前記リスク値が前記リスク閾値よりも大きい場合、前記ソース復号モジュール(120)は、前記現在のオーディオ信号部の前記複数のスペクトル線のうちの前記符号語によって表されるものに対してエラー隠蔽を行うように構成される、
請求項22に記載のデコーダ(100)。
【請求項24】
前記リスク閾値が2
-16である、請求項23に記載のデコーダ(100)。
【請求項25】
前記ソース復号モジュール(120)は、前記符号語に対して前記エラー隠蔽を前記部分的フレーム損失隠蔽モードで実行するように構成される、
請求項21ないし24のいずれか1項に記載のデコーダ(100)。
【請求項26】
前記チャネル復号モジュール(110)が前記ビットストリームペイロード内で訂正不能な符号語に遭遇した場合、および/または、
前記チャネル復号モジュール(110)が前記ビットストリームペイロードの複数の符号語に対してエラー訂正を行った後に、前記エラー訂正後の前記複数の符号語に依存する、受信したハッシュ値と異なる再計算されたハッシュ値を決定する場合、
前記チャネル復号モジュール(110)は、前記ビットストリームペイロードが1つ以上の破損ビットを含むと検出するように構成される、
請求項1ないし25のいずれか1項に記載のデコーダ(100)。
【請求項27】
フレーム内の信号の信号部を符号化するためのエンコーダ(150)であって、前記エンコーダ(150)は、前記フレームがビットストリームペイロードおよび2つ以上の冗長ビットを含むように前記フレームを生成するように構成され、前記ビットストリームペイロードは複数のペイロードビットを含み、前記ペイロードビットの各々は前記ビットストリームペイロード内の位置を示す、エンコーダ(150)と、
請求項1ないし26のいずれか1項に記載のデコーダ(100)と、
を含む、システム(190)。
【請求項28】
フレーム内の信号の信号部を符号化するためのソース符号化モジュール(160)であって、前記ソース符号化モジュール(160)は、前記フレームがビットストリームペイロードおよび2つ以上の冗長ビットを含むように前記フレームを生成するように構成され、前記ビットストリームペイロードは複数のペイロードビットを含み、前記ペイロードビットの各々は前記ビットストリームペイロード内の位置を示し、前記ソース符号化モジュール(160)が生成する前記フレームは、請求項1ないし26のいずれかに1項に記載のデコーダ(100)による処理に適する、ソース符号化モジュール(160)と、
前記ビットストリームペイロードに応じて前記2つ以上の冗長ビットを生成するように構成されるチャネル符号化モジュール(170)と、
を含む、エンコーダ(150)。
【請求項29】
信号の信号部を再構成するためにフレームを復号するための方法であって、前記信号部は前記フレーム内に符号化されており、前記フレームはビットストリームペイロードおよび2つ以上の冗長ビットを含み、前記ビットストリームペイロードは複数のペイロードビットを含み、前記ペイロードビットの各々は前記ビットストリームペイロード内での位置を示す、方法であって、
前記ビットストリームペイロードが、歪んでいるまたは歪んでいる可能性が高い1つ以上の前記ペイロードビットである1つ以上の破損ビットを含んでいるか否かを、前記2つ以上の冗長ビットに依存して、検出するステップと、
前記ビットストリームペイロード内に破損ビットが検出されなかった場合、エラー隠蔽を実行することなく前記ビットストリームペイロードを復号して前記信号部を再構成するステップと、
前記ビットストリームペイロード内に1つ以上の破損ビットが検出された場合、前記1つ以上の破損ビットのうちの少なくとも1つの破損ビットの前記ビットストリームペイロード内での前記位置に応じて、かつ、前記信号の前記信号部の信号特性に応じて、2つ以上のエラー隠蔽モードのうちの選択されたエラー隠蔽モードを選択し、前記選択されたエラー隠蔽モードに応じてエラー隠蔽を実行して前記信号部を再構成するステップと、
を含む、方法。
【請求項30】
フレーム内の信号の信号部を符号化するステップであって、前記フレームはビットストリームペイロードおよび2つ以上の冗長ビットを含むように生成され、前記ビットストリームペイロードは複数のペイロードビットを含み、前記ペイロードビットの各々は前記ビットストリームペイロード内の位置を示す、前記信号部を符号化するステップと、
前記フレームを用いて請求項29に記載の復号するための方法を実行するステップと、
を含む、方法。
【請求項31】
フレーム内の信号の信号部を符号化する方法であって、
前記フレームがビットストリームペイロードおよび2つ以上の冗長ビットを含むように前記フレームを生成するステップであって、前記ビットストリームペイロードは複数のペイロードビットを含み、前記ペイロードビットの各々は前記ビットストリームペイロード内の位置を示し、前記フレームは請求項29に記載の方法による復号に適する、前記フレームを生成するステップと、
前記ビットストリームペイロードに応じて前記2つ以上の冗長ビットを生成するステップと、
を含む、方法。
【請求項32】
コンピュータまたは信号プロセッサ上で実行されているときに、請求項29ないし31のうちのいずれか1つの方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エラー隠蔽モードを選択するデコーダおよび復号方法、ならびに、エンコーダおよび符号化方法に関する。
【背景技術】
【0002】
ビットエラーは、エンコーダとデコーダとの間の伝送経路で発生する。未処理のビットエラーは不快なアーチファクトを導く可能性がある;それ故に、このフレーム内にビットエラーが検出された場合、多くのオーディオデコーダは、後で完全フレーム損失隠蔽(FFLC)と呼ばれる完全なフレームでフレームロス/パケットロス隠蔽(PLC)を引き起こすだけである。通常、特に信号が定常である場合は、これが良好なオーディオ品質を実現する。
【0003】
MPEG-4 Part3 Audio[1]では、AACのビットストリームペイロードについてエラー感度カテゴリを定義している(表 4.94);表1は、AACメインデータのカテゴリを示す。特に、表1は、AACのエラー感度カテゴリを示す。
【0004】
【0005】
歪んだクラスに応じて、表2に示すように、個々の隠蔽戦略が選択される。表2は、AACのエラー感度カテゴリに対する隠蔽戦略を示す。
【0006】
【0007】
MPEG-4 Part3 Audioでは、レイヤー数が多いきめ細かなスケーラビリティが可能なビットスライス算術符号化(BSAC)も規定されている。エラー復元性を向上させるために、複数のレイヤーをセグメントにまとめたセグメントバイナリ算術(SBA)符号化が導入された。算術符号化は各セグメントの先頭で再初期化され、エラーの伝播を回避する。
【0008】
時間領域または周波数領域の隠蔽の適応的な選択が[3]で提案されている。[3]では、3つのエラー検出方法が説明されている。
【0009】
第1のエラー検出方法は、巡回冗長検査(CRC)を使用する。
【0010】
第2のエラー検出方法は、エンコーダから送信されたビットストリームペイロードの長さと、デコーダに与えられたビットストリームペイロードの長さとを比較する。
【0011】
第3のエラー検出方法は、エンコーダから送信されたビットストリームペイロードの長さと、ビットストリームペイロードの復号処理時に消費されたビットの長さとを比較する:BSACでは、算術復号化の特性上、32の追加ビットまたはそれ以下を復号することができる。それ故に、ビット差が32ビットよりも多い場合は、エラーが発生していると判断される。
【0012】
つぎに[3]では、複数のエラー位置決め方法が説明されている:
【0013】
[3]の第1のエラー位置決め方法によれば、現在のフレームのスペクトルエネルギーと前のフレームのスペクトルエネルギーとの比較が行われる。
【0014】
[3]の第2のエラー位置決め方法によれば、算術デコーダによって消費されたビット数に関連して、復号されたビットストリームペイロードの各層に割り当てられたビットの検査が行われる。ある層にエラーが発生している場合、ほとんどのビットが算術復号に使用される可能性がある。それ故に、ほとんどのビットを使用する層は、この層や前の層でエラーが発生している可能性が高いことを示す。
【0015】
この位置に関して追加して、異なる隠蔽戦略が[3]で提案されている:検出された位置が第1の重要な位置の前にある場合、時間領域隠蔽が適用される。検出された位置が第1の重要な位置の後であるが第2の重要な位置の前である場合、周波数領域隠蔽が適用される。検出された位置が第2の重要な位置の後にある場合、隠蔽は適用されない。
【0016】
周波数領域で利用可能な様々なフレーム損失隠蔽技術が[4]で議論されている。特に、ミュート,反復,ノイズ置換および予測が、[4]で述べられている。
【発明の概要】
【発明が解決しようとする課題】
【0017】
本発明の目的は、エラー隠蔽のための改良された概念を提供することである。本発明の目的は、請求項1に記載のデコーダによって、請求項28に記載のエンコーダによって、請求項29に記載の方法によって、請求項30に記載の方法によって、請求項31に記載の方法によって、請求項32に記載のコンピュータプログラムによって、請求項33に記載のフレームによって解決される。
【課題を解決するための手段】
【0018】
信号の信号部を再構成するためにフレームを復号するためのデコーダが提供される。信号部はフレーム内に符号化されており、フレームはビットストリームペイロードおよび2つ以上の冗長ビットを含み、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内での位置を示す。デコーダはチャネル復号モジュールを含み、チャネル復号モジュールはビットストリームペイロードが、歪んでいるまたは歪んでいる可能性が高い1つ以上のペイロードビットである1つ以上の破損ビットを含んでいるか否かを、2つ以上の冗長ビットに依存して検出するように構成される。さらに、デコーダは、ソース復号モジュールを含む。チャネル復号モジュールがビットストリームペイロード内に破損ビットを一切検出しなかった場合、ソース復号モジュールは、エラー隠蔽を実行することなくビットストリームペイロードを復号して信号部を再構成するように構成される。チャネル復号モジュールがビットストリームペイロード内に1つ以上の破損ビットを検出した場合、ソース復号モジュールは、1つ以上の破損ビットのうちの少なくとも1つの破損ビットのビットストリームペイロード内での位置に応じて、かつ、信号の信号部の信号特性に応じて、2つ以上のエラー隠蔽モードのうちの選択されたエラー隠蔽モードを選択するように構成され、選択されたエラー隠蔽モードに応じてエラー隠蔽を実行して信号部を再構成するように構成される。
【0019】
また、エンコーダが提供される。エンコーダは、フレーム内の信号の信号部を符号化するためのソース符号化モジュールを含み、ソース符号化モジュールは、フレームがビットストリームペイロードおよび2つ以上の冗長ビットを含むようにフレームを生成するように構成され、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内の位置を示し、ソース符号化モジュールが生成するフレームは、上記記載のデコーダによる処理に適する。さらに、エンコーダは、ビットストリームペイロードに応じて2つ以上の冗長ビットを生成するように構成されるチャネル符号化モジュールを含む。
【0020】
さらに、信号の信号部を再構成するためにフレームを復号するための方法が提供される。信号部はフレーム内に符号化されており、フレームはビットストリームペイロードおよび2つ以上の冗長ビットを含み、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内での位置を示す。方法は以下を含む:
-ビットストリームペイロードが、歪んでいるまたは歪んでいる可能性が高い1つ以上のペイロードビットである1つ以上の破損ビットを含んでいるか否かを、2つ以上の冗長ビットに依存して、検出するステップ。
-ビットストリームペイロード内に破損ビットが検出されなかった場合、エラー隠蔽を実行することなくビットストリームペイロードを復号して信号部を再構成するステップ。および、
-ビットストリームペイロード内に1つ以上の破損ビットが検出された場合、1つ以上の破損ビットのうちの少なくとも1つの破損ビットのビットストリームペイロード内での位置に応じて、かつ、信号の信号部の信号特性に応じて、2つ以上のエラー隠蔽モードのうちの選択されたエラー隠蔽モードを選択し、選択されたエラー隠蔽モードに応じてエラー隠蔽を実行して信号部を再構成するステップ。
【0021】
また、他の方法が提供される。方法は以下を含む:
-フレーム内の信号の信号部を符号化するステップであって、フレームはビットストリームペイロードおよび2つ以上の冗長ビットを含むように生成され、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内の位置を示す、信号部を符号化するステップ。および:
-フレームを用いて上記記載の復号するための方法を実行するステップ。
【0022】
さらに、フレーム内の信号の信号部を符号化するための方法が提供される。方法は以下を含む:
-フレームがビットストリームペイロードおよび2つ以上の冗長ビットを含むようにフレームを生成するステップであって、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内の位置を示し、フレームは上記記載の方法による復号に適する、フレームを生成するステップ。および:
-ビットストリームペイロードに応じて2つ以上の冗長ビットを生成するステップ。
【0023】
また、前記方法がコンピュータまたは信号プロセッサ上で実行されているときに、上記記載の方法の1つを実行するためのコンピュータプログラムが提供される。
【0024】
さらに、フレーム内の信号の信号部を符号化するための上記記載の方法によって生成されるフレームが提供される。
【0025】
以下では、本発明の実施形態を図を参照してより詳細に説明する:
【図面の簡単な説明】
【0026】
【
図1】
図1は、一実施形態に係る信号の信号部を再構成するためにフレームを復号するためのデコーダを示す。
【
図2】
図2は、一実施形態に係るエンコーダを示す。
【
図4】
図4は、一実施形態に係る符号語のペイロードデータを分析するための例を示す。
【0027】
図1は、一実施形態に係る信号の信号部を再構成するためにフレームを復号するためのデコーダ100を示す。
【0028】
信号部はフレーム内に符号化されており、フレームはビットストリームペイロードおよび2つ以上の冗長ビットを含み、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内での位置を示す。
【0029】
デコーダ100は、ビットストリームペイロードが、歪んでいるまたは歪んでいる可能性が高い1つ以上のペイロードビットである1つ以上の破損ビットを含んでいるか否かを、2つ以上の冗長ビットに依存して検出するように構成される、チャネル復号モジュール110を含む。
【0030】
さらに、デコーダ100はソース復号モジュール120を含む。
【0031】
チャネル復号モジュール110がビットストリームペイロード内に破損ビットを一切検出しなかった場合、ソース復号モジュール120は、エラー隠蔽を実行することなくビットストリームペイロードを復号して信号部を再構成するように構成される。
【0032】
チャネル復号モジュール110がビットストリームペイロード内に1つ以上の破損ビットを検出した場合、ソース復号モジュール120は、1つ以上の破損ビットのうちの少なくとも1つの破損ビットのビットストリームペイロード内での位置に応じて、かつ、信号の信号部の信号特性に応じて、2つ以上のエラー隠蔽モードのうちの選択されたエラー隠蔽モードを選択するように構成され、選択されたエラー隠蔽モードに応じてエラー隠蔽を実行して信号部を再構成するように構成される。
【0033】
一実施形態によれば、チャネル復号モジュールは、例えば、ビットストリームペイロードが1つ以上の破損ビットを含むか否かを検出する前に、ビットストリームペイロードに対してエラー訂正を実行するように構成されるエラー検出・エラー訂正モジュールであってもよい。
【0034】
一実施形態では、ビットストリームペイロードにエラー訂正を正常に行うことができないとチャネル復号モジュール110が判断した場合、チャネル復号モジュール110は、例えば、ビットストリームペイロード内の前記1つ以上の破損ビットを決定するように構成されてもよい。
【0035】
一実施形態によれば、2つ以上のエラー隠蔽モードのうちの第1のエラー隠蔽モードは、例えば、完全フレーム損失隠蔽モードであってもよい。ビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、選択されたエラー隠蔽モードが完全フレーム損失隠蔽モードである場合、ソース復号モジュール120は、例えば、ビットストリームペイロードを使用せずにエラー隠蔽を実行するように構成されてもよい。
【0036】
一実施形態では、2つ以上のエラー隠蔽モードのうちの第2のエラー隠蔽モードは、例えば、部分的フレーム損失隠蔽モードであってもよい。ビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、選択されたエラー隠蔽モードが部分的フレーム損失隠蔽モードである場合、ソース復号モジュール120は、例えば、チャネル復号モジュール110が1つ以上の破損ビットであると示していないペイロードビットの他のビットを他のビットに対してエラー隠蔽を実行せずに復号することによって、かつ、チャネル復号モジュール110が1つ以上の破損ビットであると示す1つ以上のペイロードビットにエラー隠蔽を実行することによって、復号された信号を得るように構成されてもよい。
【0037】
一実施形態によれば、2つ以上のエラー隠蔽モードは、例えば、厳密に2つのエラー隠蔽モードを含んでいてもよく、厳密に2つのエラー隠蔽モードのうちの第1のエラー隠蔽モードは、例えば、完全フレーム損失隠蔽モードであってもよく、厳密に2つのエラー隠蔽モードのうちの第2のエラー隠蔽モードは、部分的フレーム損失隠蔽モードであってもよい。
【0038】
一実施形態では、ビットストリームペイロードは、例えば、ビットストリームペイロードの複数のペイロードビットのうちの第1の部分と、ビットストリームペイロードの複数のペイロードビットのうちの第2の部分とに区分化されてもよい。ビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、ビットストリームペイロードの第1の部分が1つ以上の破損ビットのうちの少なくとも1つを含む場合、ソース復号モジュール120は、例えば、選択されたエラー隠蔽モードとして完全フレーム損失隠蔽モードを選択するように構成されてもよい。ビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、ビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含まない場合、ソース復号モジュール120は、例えば、信号の信号部の信号特性に応じて、選択されたエラー隠蔽モードを選択するように構成されてもよい。
【0039】
一実施形態によれば、フレームは現在のフレームであり、ビットストリームペイロードは現在のビットストリームペイロードであり、複数のペイロードビットは複数の現在のペイロードビットであり、信号の信号部は信号の現在の信号部であり、信号特性は現在の信号特性である。現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、ソース復号モジュール120は、例えば、現在のフレームの複数の現在のペイロードビットによって符号化される信号の現在の信号部の現在の信号特性に応じて、および、前のフレームの前のビットストリームペイロードの複数の前のペイロードビットによって符号化される信号の前の信号部の前の信号特性に応じて、2つ以上のエラー隠蔽モードのうちの選択されたエラー隠蔽モードを選択するように構成されてもよい。
【0040】
一実施形態では、現在のビットストリームペイロードの複数の現在のペイロードビットによって符号化される信号の現在の信号部は、例えば、オーディオ信号の現在のオーディオ信号部であってもよく、前のビットストリームペイロードの複数の前のペイロードビットによって符号化される信号の前の信号部は、例えば、オーディオ信号の前のオーディオ信号部であってもよい。現在のビットストリームペイロードは、例えば、現在のオーディオ信号部の複数のスペクトル線を符号化してもよい。
【0041】
一実施形態では、破損ビットが残余ビットにのみ影響を与える場合、エラー隠蔽を行わずに、フレームが破損した残余ビットを考慮することなく通常のフレームとして復号される。
【0042】
安定係数は、2つの信号間の類似度、例えば、現在の信号と過去の信号との間の類似度を表す。例えば、安定係数は、[0:1]に限定されることがある。1または1に近い安定係数は、例えば、両方の信号が非常に類似していることを意味し、0または0に近い安定係数は、例えば、両方の信号が全く異なることを意味してもよい。類似度は、例えば、2つのオーディオ信号のスペクトルエンベロープで計算されてもよい。
【0043】
一実施形態では、安定係数が閾値よりも低い場合、例えば閾値0.5よりも低い場合、完全フレーム損失隠蔽が実行される。
【0044】
一実施形態によれば、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、前のフレームが完全フレーム損失隠蔽を使用して隠蔽された場合、選択されたエラー隠蔽モードとして完全フレーム損失隠蔽モードを選択するように構成されてもよい。
【0045】
一実施形態では、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、現在のオーディオ信号部の複数のスペクトル線のうち最も高いスペクトル線が示す周波数が閾周波数(threshold frequency)以下の場合、選択されたエラー隠蔽モードとして完全フレーム損失隠蔽モードを選択するように構成されてもよい。
【0046】
一実施形態によれば、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、安定係数が既定の閾値より小さい場合、選択されたエラー隠蔽モードとして完全フレーム損失隠蔽モードを選択するように構成されてもよく、ここで、前記安定係数は、現在のオーディオ信号部の安定性および前のオーディオ信号部の安定性を示す。例えば、既定の閾値は、例えば0.5に等しくてもよい。
【0047】
一実施形態によれば、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、前のフレームが完全フレーム損失隠蔽を使用して隠蔽された場合、または、現在のオーディオ信号部の安定性および前のオーディオ信号部の安定性を示す安定係数が既定の閾値よりも小さい場合、選択されたエラー隠蔽モードとして、完全フレーム損失隠蔽モードを選択するように構成されてもよく、ここで、前記安定係数は、現在のオーディオ信号部の安定性および前のオーディオ信号部の安定性を示す。例えば、既定の閾値は、例えば0.5に等しくてもよい。
【0048】
一実施形態では、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、現在のオーディオ信号部の複数のスペクトル線のうち最も高いスペクトル線が示す周波数が閾周波数以下の場合、かつ、現在のビットストリームペイロードの第1の部分が、トーナル(tonal)または高調波な信号成分を符号化する場合、かつ、前の信号部が、ピーク閾値よりも大きく、現在のオーディオ信号部の複数のスペクトル線が示すすべての周波数よりも大きい周波数に対応する、オーディオ信号の少なくとも1つのピークを符号化する場合に、選択されたエラー隠蔽モードとして完全フレーム損失隠蔽モードを選択するように構成されてもよい。
【0049】
他の実施形態では、オーディオ信号のピッチは、例えば、ピッチ周波数を示す。現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、現在のオーディオ信号部の複数のスペクトル線のうち最も高いスペクトル線が示す周波数が閾周波数以下の場合、かつ、現在のビットストリームペイロードの第1の部分が、トーナルまたは高調波な信号成分を符号化する場合、かつ、現在のオーディオ信号部の複数のスペクトル線が示すすべての周波数が、サポートされた最大のピッチ周波数よりも小さい場合、選択されたエラー隠蔽モードとして完全フレーム損失隠蔽モードを選択するように構成されてもよい。
【0050】
一実施形態では、安定係数が閾値以上である場合、例えば閾値0.5以上である場合、かつ、ビットストリームペイロードがトーナルまたは高調波なオーディオ信号の信号成分を符号化していない場合、かつ、前のオーディオ信号の前の量子化済みスペクトルの0から周波数ビンkbe-1までのエネルギーと、前のオーディオ信号の前の量子化済みスペクトルの0から頂点までのエネルギーとの比が、第2の閾値よりも低い場合、例えば第2の閾値0.3よりも低い場合に、完全フレーム損失隠蔽が実行される。
【0051】
一実施形態によれば、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、前のフレームが完全フレーム損失隠蔽を使用して隠蔽されておらず、現在のオーディオ信号部の複数のスペクトル線のうち最も高いスペクトル線が示す周波数が前記閾周波数よりも大きい場合、選択されたエラー隠蔽モードとして、部分的フレーム損失隠蔽モードを選択するように構成されてもよい。
【0052】
一実施形態では、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、前のフレームが完全フレーム損失隠蔽を使用して隠蔽されなかった場合、かつ、現在のオーディオ信号部の複数のスペクトル線のうち最も高いスペクトル線が示す周波数が前記閾周波数よりも大きい場合、かつ、安定係数が前記既定の閾値以上の場合、かつ、現在のビットストリームペイロードの第1の部分が、トーナルまたは高調波なオーディオ信号の信号成分を符号化せず、かつ、前のオーディオ信号の前の量子化済みスペクトルの0から周波数ビンkbe-1までのエネルギーと、前のオーディオ信号の前の量子化済みスペクトルの0から頂点までのエネルギーとの比が、前記比の閾値以上である場合、選択されたエラー隠蔽モードとして部分的フレーム損失隠蔽モードを選択するように構成されてもよい。
【0053】
一実施形態によれば、現在のビットストリームペイロードが1つ以上の破損ビットを含むとチャネル復号モジュール110が示す場合、かつ、現在のビットストリームペイロードの第1の部分が1つ以上の破損ビットを一切含んでいない場合、ソース復号モジュール120は、例えば、前のフレームが完全フレーム損失隠蔽を使用して隠蔽されなかった場合、かつ、現在のオーディオ信号部の複数のスペクトル線のうちの最も高いスペクトル線が示す周波数が前記閾周波数よりも大きい場合、かつ、安定係数が既定の閾値以上の場合、かつ、現在のビットストリームペイロードの第1の部分が、トーナルまたは高調波な信号成分を符号化し、かつ、現在のオーディオ信号部の複数のスペクトル線のうちの最も高いスペクトル線がピッチ周波数よりも大きい周波数を示し、かつ、前の信号部がピーク閾値よりも大きく、現在のオーディオ信号部の複数のスペクトル線が示すすべての周波数よりも大きい前記周波数に相当するオーディオ信号のピークを一切符号化しない場合に、選択されたエラー隠蔽モードとして部分的フレーム損失隠蔽モードを選択するように構成されてもよい。
【0054】
一実施形態では、選択されたエラー隠蔽モードが部分的フレーム損失隠蔽モードである場合、ソース復号モジュール120は、例えば、ビットストリームペイロードの第2の部分の複数の符号語のうちの各符号語について、前記符号語の修正されたシンボル数に応じて、現在のオーディオ信号部の複数のスペクトル線のうちの符号語が表すものに対してエラー隠蔽を実行するか否かを決定し、現在のオーディオ信号部の複数のスペクトル線のうちのソース復号モジュール120がエラー隠蔽を実行すると決定しているものに対してエラー隠蔽を実行するように構成されてもよい。
【0055】
一実施形態によれば、ビットストリームペイロードの第2の部分の複数の符号語の各符号語について、ソース復号モジュール120は、例えば、符号語が破損している確率の近似値を示すリスク値を決定し、前記リスク値がリスク閾値よりも大きいか否かを決定するように構成されてもよい。
【0056】
一実施形態では、ソース復号モジュール120は、例えば、さらに、前方誤り訂正符号化モードに応じて、リスク値を決定するように構成されてもよい。
【0057】
一実施形態によれば、リスク閾値は例えば2-16であってもよい。
【0058】
他の実施形態では、他のリスク閾値を採用することができ、例えば2-12、または例えば2-18、または例えば2-20である。
【0059】
【0060】
上記の式は、例えば、m=2,3,4、かつ、τ=0,...,m-1の場合に有効である。
【0061】
他の実施形態では、ソース復号モジュール120は、例えば、ルックアップテーブルを採用して、シンボルエラー数(例えば、修正されたシンボル数)に応じて、および、epmode(例えば、前方誤り訂正符号化モード)に応じて、リスク値を決定するように構成されてもよい。
【0062】
【0063】
上記の例では、例えば2-16のリスク閾値が採用された場合、epmode3ではエラーが許容されず、epmode4では最大で1回のエラーが許容されることを示す。
【0064】
他の実施形態では、ルックアップテーブルは、リスク値、epmode、およびエラー数に対して異なる値を使用してもよい(例えば、さらに多くのエラー4、5、6などを考慮したり、より少ないエラーのみを考慮したりする)。
【0065】
他の実施形態では、リスク値は、例えば、符号語の長さによって、または別の方法で決定されてもよい。
【0066】
【0067】
さらに、別の実施形態は、例えば、シンボルエラー数にのみ依存し、前方誤り訂正符号化モードには依存しないようにしてもよい。
【0068】
【0069】
一実施形態において、前記リスク値が前記リスク閾値よりも大きい場合、ソース復号モジュール120は、例えば、現在のオーディオ信号部の複数のスペクトル線のうちの前記符号語によって表されるものに対してエラー隠蔽を実行するように構成されてもよい。
【0070】
一実施形態では、ソース復号モジュール120は、前記符号語に対して前記エラー隠蔽を部分的フレーム損失隠蔽モードで実行するように構成される。
【0071】
一実施形態において、チャネル復号モジュール110が、ビットストリームペイロード内で訂正不能な符号語に遭遇した場合、および/または、チャネル復号モジュール110がビットストリームペイロードの複数の符号語に対してエラー訂正を行った後に、エラー訂正後の前記複数の符号語に依存する、受信したハッシュ値と異なる再計算されたハッシュ値を決定する場合、チャネル復号モジュール110は、例えば、ビットストリームペイロードが1つ以上の破損ビットを含むと検出するように構成されてもよい。
【0072】
【0073】
エンコーダ150はフレーム内の信号の信号部を符号化するためのソース符号化モジュール160を含み、ソース符号化モジュール160はフレームがビットストリームペイロードおよび2つ以上の冗長ビットを含むようにフレームを生成するように構成され、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内の位置を示し、ソース符号化モジュール160が生成するフレームは、上記記載のデコーダ100による処理に適する。
【0074】
さらに、エンコーダ150はビットストリームペイロードに応じて2つ以上の冗長ビットを生成するように構成されるチャネル符号化モジュール170を含む。
【0075】
【0076】
システム190は、フレーム内の信号の信号部を符号化するための
図2のエンコーダ150を含み、エンコーダ150は、フレームがビットストリームペイロードおよび2つ以上の冗長ビットを含むようにフレームを生成するように構成され、ビットストリームペイロードは複数のペイロードビットを含み、ペイロードビットの各々はビットストリームペイロード内の位置を示す。
【0077】
さらに、システム190は
図1のデコーダ100を含む。
【0078】
以下では、実施形態に係るモード決定概念について説明する。特に、モード決定とビットエラー隠蔽の概念の適用について説明する。
【0079】
いくつかの実施形態は、信号が非定常で、ビットエラーが音響心理的に重要でない信号データにのみ現れる場合、完全フレーム損失隠蔽を採用する代わりに、部分的フレーム損失隠蔽(PFLC)、すなわち歪んだデータのみを隠蔽することが望ましく、コンシールメントアーチファクトが音響心理的に重要でない部分にのみ現れ、より良いオーディオ品質につながるという知見に基づく。
【0080】
いくつかの実施形態では、ビットエラーが発生した伝送で最高のオーディオ品質を実現するために、FFLCとPFLCとの間で選択するモード決定が考案されている。この決定は、音響心理的により重要な信号データ内のエラーの可能性と、直前のフレームと現在のフレームの信号特性に依存する。
【0081】
完全フレーム損失隠蔽を適用するか部分的フレーム損失隠蔽を適用するかの決定は、チャネルコーディングとソースコーディングの合同決定である:
【0082】
チャネル復号モジュールは、以下を適用することを提案する:
ビットストリームペイロードのより感度の高い部分のビットが破損している可能性が高い場合、ビットストリームペイロードの感度の低い部分にエラーがある可能性に関わらず、完全フレーム損失隠蔽を適用する。
ビットストリームのより感度の高い部分のビットは正しい可能性が高いが、ビットストリームペイロードのより感度の低い部分のビットが破損している可能性が高い場合、部分的フレーム損失隠蔽を適用する。
【0083】
ビットストリームの特定の部分が破損している可能性は、チャネル復号モジュールによって提供される。チャネルコーディングは、ブロックコードを使用して実行される。エラー訂正機能の他に、明確なエラー検出機能も提供される。さらに、ビットストリームの感度のより高い部分とより低い部分に対して個別のハッシュが導出される。これらのハッシュの評価は、前述の可能性に関するさらなる確実性を提供する。
【0084】
例えば、チャネルコーディングが部分的フレーム損失隠蔽を選択する場合、ソースコーディングは以下のように説明される。
【0085】
一実施形態では、ソース復号モジュール120は、例えば、以下の場合に、完全フレーム損失隠蔽を適用することを選択するように構成されてもよい。
●前のフレームが完全フレーム損失隠蔽で隠蔽された場合、または、
●量子化済みスペクトルにおける最も高いスペクトル線が示す周波数が閾周波数(すなわち、2kHz)以下の場合、かつ、
●現在の信号および直前の信号の安定性が既定の閾値よりも低い場合、または、
●ピッチが(より感度の高いビットストリームペイロードに)送信され、かつ、
●量子化済みスペクトルの中で最も高い利用可能なスペクトル線が、ピッチ周波数よりも小さい周波数を表す場合、もしくは、
●前の復号されたスペクトル部分に上述の最も高い利用可能なスペクトル線に関連するピークがある場合、
または、
●ピッチが(より感度の高いビットストリームペイロードに)送信されておらず、十分なスペクトル線が量子化済みスペクトルに利用可能でない場合。
【0086】
対照的に、ソース復号モジュール120は、例えば、以下の場合に、部分的フレーム損失隠蔽を適用することを選択するように構成されてもよい。
●前のフレームが完全フレーム損失隠蔽で隠蔽されなかった場合、かつ、
●量子化済みスペクトル内の最も高いスペクトル線が示す周波数が閾周波数(すなわち、2kHz)よりも高い場合、または、
●現在の信号および直前の信号の安定性が既定の閾値以上の場合、かつ、
●ピッチが送信されておらず、量子化済みスペクトルに少なくとも特定量のスペクトル線が利用可能である場合、または、
●ピッチが送信され、
量子化済みスペクトルの中で最も高い利用可能なスペクトル線がピッチ周波数よりも高い周波数を表しており、
前の復号されたスペクトル部分に上述の最も高い利用可能なスペクトル線に関連するピークがない場合。
【0087】
このような実施形態は、時間領域隠蔽と同様に、例えば、信号が定常かつ単音であり(利用可能なピッチによって示される)、かつ、取り出されたスペクトルが典型的でない(上述の2つの基準のうち少なくとも1つによって示される)場合に完全フレームピッチベース隠蔽を適用することができ、そのような条件下では、一般的に部分的フレーム損失隠蔽よりも良い結果が得られるという知見に基づく。
【0088】
例えば、信号が非定常または多音(ピッチがないことによって示される)の場合、または、信号が定常かつ単音(利用可能なピッチによって示される)で、取り出されたスペクトルが典型的である(上述の2つの基準によって示される)場合に、部分的フレーム損失隠蔽を適用することができ、そのような条件下では、一般的にいずれの完全フレーム損失隠蔽よりも良い結果が得られるという知見に基づく。
【0089】
以下では、いくつかの実施形態に係るモード決定概念をより詳細に説明する。
【0090】
いくつかの実施形態では、部分的フレーム損失隠蔽のために指定されたビットストリームの部分は、例えば、複数の符号語で符号化され、さらに、例えば、ビットストリームとともにチャネル復号モジュールに送信することができるハッシュ値によって、全体として保護されてもよい。各コードは、例えば、特定のエラー訂正機能を有していてもよい。実施形態では、チャネル復号モジュールは、例えば、最初に、指定された符号語に対してエラー訂正を行うことを試み、それによって、それぞれの符号語について修正されたシンボル数を追跡することができる。
【0091】
このような実施形態では、すべてのエラーが訂正されなかった場合、または、すべてのエラーが訂正されなかった可能性が高い場合、適切なエラー隠蔽モードが選択され、選択されたエラー隠蔽モードに応じてエラー隠蔽が実行される。
【0092】
いくつかの実施形態では、部分的フレーム損失隠蔽は、例えば、訂正不能な符号語に遭遇した場合、または、すべての符号語が訂正され、再計算されたハッシュ値が受信したハッシュ値と一致しない場合にトリガされてもよい。
【0093】
後者は、例えば、チャネル復号モジュールが受信した符号語を誤って訂正し、その符号語が基礎となるコードによって提供されるエラー訂正機能の限界を超えて損傷してしまった場合である。
【0094】
これらのケースの1つが発生した場合、個々の符号語の分析を以下のように行う:
【0095】
各符号語の修正されたシンボル数を評価することによって、部分的フレーム損失隠蔽のために指定されているビットストリームの部分のサブパートがまだ信頼できるか否かが決定される。そのため、既定の修正されたシンボル数を有する有効な符号語に訂正可能なランダムワードを得る確率が評価される(これは、例えば、リスク値と呼ばれることがある)。この確率が特定の閾値(例えば2^{-16})(これは、例えば、リスク閾値と呼ばれることがある)以上であれば、対応するビットストリーム領域は破損しているとマークされ、そうでなければ正しいものとして扱われる。これは、部分的フレーム損失隠蔽で隠蔽されたことを示す部分(破損とマークされた符号語)が縮小されることを意味する。部分的フレーム損失隠蔽のために指定されたビットストリームの部分の正しいとマークされたビットを、音響心理的により重要な信号データを表すビットストリームのビットとともに、デコーダ100が使用することができるので、これはより良いオーディオ品質につながる。
【0096】
図4は、一実施形態に係る符号語のペイロードデータを分析するための例を示す。
【0097】
図4の例では、16の符号語が表示されており(番号1ないし16)、十字型のブロック210および230はビットストリームのより感度の高い部分に対応し、一方で、他のブロック(ブロック220,222,223)は、部分的フレーム損失隠蔽に指定される、より感度の低い部分に対応する。図示された符号語7ないし12の中には、修正されたシンボル数が表示されている。
【0098】
“1”までの修正されたシンボル数はエラー検出確率が閾値よりも低くなり、“1”よりも大きい修正されたシンボル数はエラー検出確率が閾値よりも高くなると仮定してもよい。
【0099】
図4の例では、数字が“1”以下の符号語は正しいとマークされ(符号語7,8,9および12:左下から右上の形状)、残りの符号語、すなわち数字が“1”より大きいの符号語は破損しているとマークされる(符号語:10および11:左上から右下の形状)、
図4を参照。
図4の例では、符号語7,8,9および12の中に符号化された信号部はまだ復号可能であり、符号語10および11の中に符号化された信号部のみを部分的フレーム損失隠蔽によって隠蔽する必要があることを意味する。
【0100】
一実施形態では、デコーダ100は、例えば、前のフレームがフレーム損失隠蔽で隠蔽された場合、または、以下の5つのイベント(イベント1ないしイベント5)の場合に、完全フレーム損失隠蔽(FFLC)を適用してもよい:
【0101】
イベント1:ビットストリームペイロードのより感度の高い部分におけるビットが破損している可能性がある場合。
【0102】
【0103】
イベント3:安定係数が0.5以上であり、より感度の高いビットストリームペイロードで送信されるピッチと、量子化済みスペクトルの中で最も高い利用可能なスペクトル線が、(採用された実施形態に応じて):最大の可能なピッチ周波数;または:より感度の高いビットストリームペイロードで送信されるピッチ周波数よりも小さい周波数を表す場合。
【0104】
イベント4:安定係数が0.5以上であり、かつ、より感度の高いビットストリームペイロードで送信されるピッチ、および、より感度の低いビットストリームペイロードで回復することのできない最初のスペクトルビンであるkbeが、計算されたスペクトルビンインデックスkpeakよりも低い場合。
【0105】
【0106】
【0107】
5つのイベントがいずれも発生しなかった場合、または、前のフレームが完全フレーム損失隠蔽で隠蔽されず、回復することができない最初のスペクトルビンが閾値(例えば、2kHzの周波数を表す)よりも高い場合、部分的フレーム損失隠蔽(PFLC)を適用する必要がある。
【0108】
【0109】
以下では、ソースコーディングに応じて、隠蔽方法を選択するためのカルノー図を説明する。
【0110】
どの隠蔽方法を適用すべきかをまとめて決定する5つの条件がある。続いて、それらは以下のような論理変数に割り当てられる。
a=“現在のビットストリームペイロードの第1の部分がトーナルまたは高調波な信号成分を符号化していない”
b=“前の量子化済みスペクトルの0から周波数ビンkbe-1までのエネルギーと、前の量子化済みスペクトルの0から頂点までのエネルギーとの比が、閾値以上である”
c=“安定係数が閾値以上である”
d=“すべての周波数がピッチ周波数またはサポートされた最大のピッチ周波数よりも小さい”
e=“前の信号部が、ピーク閾値よりも大きいオーディオ信号の少なくとも1つのピークを符号化する”
【0111】
これらの変数を使用して、表3に示すような32(=25)セルのKマップが作成される。
【0112】
【0113】
表3は、いずれかの隠蔽方法をトリガーするロジックを図示する32セルのKマップを示す。
【0114】
対応するブール方程式は以下の通りである。
PFLC (1) = a'cd'e' + abc = c (a'd'e' + ab)
FFLC (0) = ab' + c' + a'e + a'd = ab'+ c' + a'(e+d)
【0115】
いくつかの態様が装置の文脈において記載されてきたが、これらの態様は対応する方法の記述も表すことは明らかであり、ブロックまたはデバイスは方法ステップまたは方法ステップの機能に対応する。同様に、方法ステップの文脈において記載された態様は、対応する装置の対応するブロックまたはアイテムまたは機能の記述も表す。方法ステップの一部または全部は、例えば、マイクロプロセッサ、プログラマブルコンピュータまたは電子回路のようなハードウェア装置によって(または使用して)実行されてもよい。いくつかの実施形態では、最も重要な方法ステップの1つまたは複数が、そのような装置によって実行されてもよい。
【0116】
特定の実現要求に応じて、本発明の実施形態は、ハードウェアにおいてまたはソフトウェアにおいてまたは少なくとも部分的にハードウェアにおいてまたは少なくとも部分的にソフトウェアにおいて、実施することができる。実施は、その上に記憶された電子的に読取可能な制御信号を有し、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する(または協働することができる)、デジタル記憶媒体、例えばフロッピー(登録商標)ディスク、DVD、ブルーレイ(登録商標)、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを用いて実行することができる。それ故に、デジタル記憶媒体は、コンピュータが読取可能なものであってもよい。
【0117】
本発明に係るいくつかの実施形態は、本願明細書に記載された方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる電子的に読取可能な制御信号を有するデータキャリアを備える。
【0118】
一般に、本発明の実施形態は、コンピュータプログラム製品がコンピュータ上で動作するとき、方法の1つを実行するように動作可能であるプログラムコードによるコンピュータプログラム製品として実施することができる。プログラムコードは、例えば機械読取可能なキャリアに記憶することができる。
【0119】
他の実施形態は、機械読取可能なキャリアに記憶された、本願明細書に記載された方法の1つを実行するためのコンピュータプログラムを備える。
【0120】
言い換えれば、本発明の方法の一実施形態は、それ故に、コンピュータプログラムがコンピュータ上で動作するとき、本願明細書に記載された方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0121】
本発明の方法の更なる実施形態は、それ故に、その上に記録され、本願明細書に記載された方法の1つを実行するためのコンピュータプログラムを備えるデータキャリア(またはデジタル記憶媒体またはコンピュータ読取可能媒体)である。データキャリア、デジタル記憶媒体または記録媒体は、通常、有形および/または非一時的なものである。
【0122】
本発明の方法の更なる実施形態は、それ故に、本願明細書に記載された方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続、例えばインターネットによって転送されるように構成することができる。
【0123】
更なる実施形態は、本願明細書に記載された方法の1つを実行するように構成されたまたは適合された処理手段、例えばコンピュータまたはプログラマブルロジックデバイスを備える。
【0124】
更なる実施形態は、本願明細書に記載された方法の1つを実行するためのコンピュータプログラムがその上にインストールされたコンピュータを備える。
【0125】
本発明による更なる実施形態は、本明細書に記載された方法の1つを実行するためのコンピュータプログラムを受信機に(例えば、電子的または光学的に)転送するように構成された装置またはシステムを備える。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであってもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを含んでいてもよい。
【0126】
いくつかの実施形態において、本願明細書に記載された方法のいくつかまたは全ての機能を実行するために、プログラマブルロジックデバイス(例えばフィールドプログラマブルゲートアレイ)を用いることができる。いくつかの実施形態において、フィールドプログラマブルゲートアレイは、本願明細書に記載された方法の1つを実行するために、マイクロプロセッサと協働することができる。一般に、方法は、好ましくはいかなるハードウェア装置によっても実行される。
【0127】
本明細書に記載の装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置およびコンピュータの組み合わせを使用して、実施されてもよい。
【0128】
本明細書に記載の方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置およびコンピュータの組み合わせを使用して、実行されてもよい。
【0129】
上記の実施形態は、単に本発明の原理に対して説明したものである。本願明細書に記載された構成および詳細の修正および変更は、当業者にとって明らかであると理解される。それ故に、本発明は、間近に迫った特許請求の範囲のスコープのみによって制限され、本願明細書の実施形態の記載および説明の方法によって表された特定の詳細によって制限されないことが意図される。
【0130】
参考文献
[1] "ISO/IEC14496-3 MPEG-4 Information technology - Coding of audio-visual objects - Part 3: Audio," 2009.
[2] R. Sperschneider, D. Homm and L.-H. Chambat, "Error Resilient Source Coding with Differential Variable Length Codes and its Application to MPEG Advance Audio Coding," in Audio Engineering Societey, Munich, 2002.
[3] E.-m. Oh, H.-s. Sung, K.-h. Choo and J.-h. Kim, "Method and apparatus to conceal error in decoded audio signal". Patent US8,798,172 B2, 22 Nov. 2007.
[4] P. Lauber and R. Sperschneider, "Error Concealment for Compressed Digital Audio," in Audio Engineering Society, 2001.