(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023175750
(43)【公開日】2023-12-12
(54)【発明の名称】オーディオ送信プロセッサ、オーディオ受信プロセッサ、および関連方法ならびにコンピュータプログラム
(51)【国際特許分類】
G10L 19/005 20130101AFI20231205BHJP
【FI】
G10L19/005
【審査請求】有
【請求項の数】23
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023145005
(22)【出願日】2023-09-07
(62)【分割の表示】P 2021547400の分割
【原出願日】2020-02-12
(31)【優先権主張番号】19157036.5
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】19156997.9
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】19157042.3
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】19157047.2
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065205
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065209
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/EP2019/065172
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】591037214
【氏名又は名称】フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ
(74)【代理人】
【識別番号】100079577
【弁理士】
【氏名又は名称】岡田 全啓
(72)【発明者】
【氏名】トマセク エイドリアン
(72)【発明者】
【氏名】スペルシュナイダー ラルフ
(72)【発明者】
【氏名】ビューテ ヤン
(72)【発明者】
【氏名】チェカリンスキー アレクサンダー
(72)【発明者】
【氏名】ルツキー マンフレッド
(57)【要約】 (修正有)
【課題】符号化済みオーディオデータを使用してエラー保護済みフレームを効率的に生成するオーディオ送信器プロセッサ、方法及びプログラムを提供する。
【解決手段】オーディオ送信器プロセッサにおいて、オーディオフレームのための符号化済みオーディオデータは、第1、第2の量の情報ユニットを含み、既定の合計数の符号語について基準位置を定義する符号語ラスタを有する符号語フレームを構築するために、前記符号語の第1の既定のサブセットの基準位置から始まる第1の量の情報ユニットを書き込み、前記符号語の第2の既定のサブセットの基準位置から始まる第2の量の情報ユニットを書き込み、第2の量の情報ユニットの始まりが符号語境界と一致するように、第1の量の情報ユニットと第2の量の情報ユニットとの間の境界を決定するフレームビルダー506と、誤り保護済みのフレームを表す複数の処理済み符号語を得るエラー保護コーダ508と、を含む。
【選択図】
図13
【特許請求の範囲】
【請求項1】
オーディオフレームの符号化済みオーディオデータを使用してエラー保護済みフレームを生成するためのオーディオ送信プロセッサであって、前記オーディオフレームのための前記符号化済みオーディオデータは第1の量の情報ユニットと第2の量の情報ユニットとを含み、前記オーディオ送信プロセッサは、
既定の合計数の符号語について基準位置を定義する符号語ラスタを有する符号語フレームを構築するためのフレームビルダー(506)であって、前記フレームビルダー(506)は、
前記符号語の第1の既定のサブセットの基準位置から始まる前記第1の量の情報ユニットを書き込み、
前記符号語の第2の既定のサブセットの基準位置から始まる前記第2の量の情報ユニットを書き込む
ように構成され、
前記フレームビルダー(506)は、前記第2の量の情報ユニットの始まりが符号語境界と一致するように、前記第1の量の情報ユニットと前記第2の量の情報ユニットとの間の境界を決定するように構成される、
フレームビルダー(506)と、
前記符号語の前記第1の既定のサブセットの前記符号語のうちの1つ以上を処理して第1の処理結果を得るための、または前記符号語の前記第2の既定のサブセットの前記符号語のうちの1つ以上を処理して第2の処理結果を得て、前記第1の処理結果または前記第2の処理結果を前記既定の数の符号語に加算して前記エラー保護済みフレームを表す複数の処理済み符号語を得るための、または、
前記符号語の前記第1の既定のサブセットまたは前記符号語の前記第2の既定のサブセットの符号語を個別に処理して、前記エラー保護済みフレームを表す複数の処理済符号語を得るための、
エラー保護コーダ(508)と、
を備えるオーディオ送信プロセッサ。
【請求項2】
前記フレームビルダー(506)は、前記符号語の前記第2の既定のサブセットの情報容量が前記第2の量の情報ユニットの情報ユニットの量と等しくなるように、前記第2の既定のサブセットの前記情報容量に基づいて、前記第1の量の情報ユニットと前記第2の量の情報ユニットとの間の境界を定義する(601)ように構成される、請求項1に記載のオーディオ送信プロセッサ。
【請求項3】
オーディオ信号の既定の時間部分を使用して前記第1および前記第2の量の情報ユニットを生成するためのソースエンコーダ(500)であって、前記情報ユニットはいくつかの必須情報ユニットと可変数の残余情報ユニットを含み、前記ソースエンコーダ(500)は、前記既定の時間部分について信号に依存して決まる数の前記必須情報ユニットをもたらす可変長符号化規則(60)を使用するように構成される、ソースエンコーダ(500)をさらに備え、
前記フレームビルダー(506)は、前記符号語フレームが固定サイズの情報ユニットを有するように前記符号語フレームを構築するように構成され、
前記オーディオエンコーダは、前記可変数の残余情報ユニットを、前記符号語フレームのための前記固定サイズの情報ユニットおよび前記必須情報ユニットの数から導出された差分に等しい情報量として決定するように構成される、
請求項1または請求項2に記載のオーディオ送信プロセッサ。
【請求項4】
前記フレームビルダー(506)は、前記第1の量の情報ユニットと前記第2の量の情報ユニットとの間の境界を符号語フレームごとに信号適応的に決定して、符号語フレームの前記オーディオ信号に応じて、前記境界が前記符号語フレームの異なるオーディオ情報に関連する、あるいはオーディオデコーダが異なった解釈をする、符号化済み情報ユニットを表すように構成される、請求項1ないし請求項3のいずれかに記載のオーディオ送信プロセッサ。
【請求項5】
前記フレームビルダー(506)は、前記符号語の前記第2のサブセットとして、前記符号化済みオーディオデータの前記符号語フレームの一方の端で隣接する第2の規定数の符号語を使用し、前記符号語の前記第1の既定のサブセットとして、前記符号化済みオーディオデータの符号語フレームの別の端で隣接する第1の規定数の符号語を使用するように構成され、前記第1の規定数と前記第2の規定数の合計は符号語の前記既定の合計数に等しく、
前記符号語の前記第2の既定のサブセットの少なくとも1つの符号語は、前記符号語の前記第1の既定のサブセットの2つの符号語の間に位置する、または前記符号語の前記第1の既定のサブセットの少なくとも1つの符号語は、前記符号語の前記第2の既定のセットの2つの符号語の間に位置する、
請求項1ないし請求項4のいずれかに記載のオーディオ送信プロセッサ。
【請求項6】
前記フレームビルダー(506)は、
前記符号語の前記第1の既定のサブセットの基準位置を使用して、前記第1の量の情報ユニットを前記符号語の前記第1の既定のサブセットに書き込み、
前記符号語の前記第1の既定のサブセットが満杯になる(601)とすぐに、前記符号語の前記第2の既定のサブセットの基準位置を使用して、前記第2の量の情報ユニットを書き込む(602)
ように構成され、
前記フレームビルダー(506)は、前記境界(601)を前記符号語の前記第1の既定のサブセットの最後の符号語に書き込まれた情報ユニットとして、または前記符号語の前記第2の既定のサブセットの最初の符号語の基準位置に書き込まれた最初の情報ユニットとして決定するように構成される、
請求項1ないし請求項5のいずれかに記載のオーディオ送信プロセッサ。
【請求項7】
前記フレームビルダー(506)は、前記第1の量の情報ユニットの前記情報ユニットを、前記第1の規定数の符号語の少なくとも2つの符号語の基準位置をスタートとして第1の書き込み方向に、そして前記第1の規定数の符号語の少なくとも2つの別の符号語の基準位置をスタートとして第2の逆方向に書き込むように構成され、
前記フレームビルダー(506)は、前記第2の量の情報ユニットの前記情報ユニットを、前記第2の規定数の符号語の少なくとも2つの符号語の基準位置をスタートとして第1の書き込み方向に、そして前記第2の規定数の符号語の少なくとも2つの別の符号語の基準位置をスタートとして第2の逆方向に書き込むように構成される、
請求項1ないし請求項6のいずれかに記載のオーディオ送信プロセッサ。
【請求項8】
前記フレームビルダー(506)は、前記第1の量の情報ユニットと前記第2の量の情報ユニットを書き込むように構成され、前記第1の量の情報ユニットの前記情報ユニットの少なくとも過半数は、前記第2の量の情報ユニットの前記情報ユニットの過半数よりも心理音響的により重要性が高い、または、
前記第2の量の情報ユニット内の情報ユニットのみが損傷していると判定された場合、オーディオ受信プロセッサにおいては部分的フレーム損失隠蔽のみが想定され、前記第1の量の情報ユニット内の情報ユニットが損傷していると判定された場合には、前記オーディオ受信プロセッサにおいて完全フレーム損失隠蔽が想定される、
請求項1ないし請求項7のいずれかに記載のオーディオ送信プロセッサ。
【請求項9】
少なくとも2つのカテゴリーの情報ユニットを生成するためのソースエンコーダ(500)であって、前記少なくとも2つのカテゴリーは、固定長サイド情報、可変長サイド情報、時間ノイズ整形情報、スペクトルの第1周波数部分の1つ以上の最上位ビット、前記第1周波数部分よりも周波数が高い第2周波数部分の1つ以上の最上位ビット、第1周波数部分の1つ以上の最下位ビットまたは符号ビット、前記第1周波数部分よりも周波数が高い第2周波数部分の1つ以上の最下位ビットまたは符号ビット、および残余ビットから成るグループから選択される、ソースエンコーダ(500)をさらに備え、
前記固定長サイド情報、前記可変長サイド情報、前記時間ノイズ整形情報、前記第1周波数部分のスペクトルの前記1つ以上の最上位ビット、および第1周波数部分の前記最下位ビットまたは符号ビットは、前記ソースエンコーダ(500)によってカテゴリーとして生成された場合には、前記第1の量の情報ユニット内に配置され、前記第2の周波数部分の前記1つ以上の最上位ビット、第2周波数部分の前記1つ以上の最下位ビットまたは符号ビット、および前記残余ビットのうちの少なくとも1つは、前記ソースエンコーダ(500)によってカテゴリーとして生成された場合には、前記第2の量の情報ユニット内に配置される、
請求項1ないし請求項8のいずれかに記載のオーディオ送信プロセッサ。
【請求項10】
前記フレームビルダー(506)は、第1書き込みポインタ(810)および第2書き込みポインタ(812)を使用するように構成され、
前記フレームビルダー(506)は、前記符号語フレーム内のより低い情報ユニット位置から前記符号語フレーム内のより高い情報ユニット位置に向かう方向に、前記第1書き込みポインタ(810)を増分させるように構成され、
前記フレームビルダー(506)は、前記符号語フレーム内のより高い情報ユニット位置から前記符号語フレーム内のより低い情報位置に向かう方向に、前記第2書き込みポインタ(812)を減分させるように構成され、
前記フレームビルダー(506)は、前記符号語の前記第1の既定のサブセットの既定の符号語シーケンス内の最初の符号語の始まりを示す基準位置から前記第1書き込みポインタ(810)をスタートさせるように構成され、
前記フレームビルダー(506)は、前記符号語の前記第1の既定のセットの前記既定の第1符号語シーケンス内の最後の符号語の末尾を示す基準位置から前記第2書き込みポインタ(812)をスタートさせるように構成され、
前記フレームビルダー(506)は、前記第1書き込みポインタ(810)が示す位置の前記第1の量の情報ユニットから、情報ユニットの第1カテゴリーの1つ以上に属する情報ユニットを書き込むように構成され、
前記フレームビルダー(506)は、前記第2書き込みポインタ(812)が示す位置の前記第1の量の情報ユニットから、情報ユニットの第2カテゴリーの1つ以上に属する情報ユニットを、前記第1および第2の書き込みポインタ(810、812)が遭遇情報ユニット位置で互いに遭遇するまで書き込むように構成され、
前記遭遇情報ユニット位置の前記情報ユニットは、前記第1の量の情報ユニットと前記第2の量の情報ユニットとの間の境界を表す、
請求項1ないし請求項9のいずれかに記載のオーディオ送信プロセッサ。
【請求項11】
前記フレームビルダー(506)は
前記第1ポインタ(810)を、前記符号語の前記第2の既定のサブセットの第2の既定の符号語シーケンスの最初の符号語の始まりを示す基準位置にセットし、
前記第2書き込みポインタ(812)を、前記符号語の前記第2の既定のサブセットの前記第2の既定の符号語シーケンスの最後の符号語の末尾を示す基準位置にセットし、
前記第1書き込みポインタ(810)を使用して前記第2の量の情報ユニットから情報ユニットの第3カテゴリーの1つ以上を書き込み、前記第2書き込みポインタ(812)を使用して、前記第2の量の情報ユニットから情報ユニットの第4カテゴリーの1つ以上を書き込む、
ように構成される、請求項10に記載のオーディオ送信プロセッサ。
【請求項12】
前記情報ユニットの第1カテゴリーの1つ以上は、時間ノイズ整形情報および/または第1周波数部分のスペクトルの1つ以上の最上位ビットのうちの少なくとも1つを含み、
前記情報ユニットの第2カテゴリーの1つ以上は、固定長サイド情報、可変長サイド情報および前記第1周波数部分の最下位ビットまたは符号ビットのうちの少なくとも1つを含み、
前記情報ユニットの第3カテゴリーの1つ以上は、第2周波数部分の最上位ビットのうちの少なくとも1つを含み、
前記情報ユニットの第4カテゴリーの1つ以上は、前記第2周波数部分の最下位ビットまたは符号ビット、および残余データのうちの少なくとも1つを含む、
請求項10または請求項11に記載のオーディオ送信プロセッサ。
【請求項13】
前記フレームビルダー(506)は、
前記第1カテゴリーの1つ以上として、周波数に関して昇順に順序付けられた、前記遭遇情報ユニットのスペクトル値またはスペクトル値の組み合わせまでのスペクトル値から導出された最上位ビットを使用し、
前記第2カテゴリーの1つ以上として、前記遭遇情報ユニットのスペクトル値またはスペクトル値の組み合わせまでのスペクトル値から導出された最下位ビットまたは符号ビットを使用し、
前記第3カテゴリーの1つ以上として、前記遭遇情報ユニットにおける値以上の周波数に関連付けられた1つ以上の最上位ビットを使用し、
前記第4のカテゴリーとして、前記遭遇情報ユニットに関連付けられた周波数値以上の周波数に関連付けられた最下位ビットまたは符号ビットを使用する、
ように構成される、請求項10ないし請求項12のいずれかに記載のオーディオ送信プロセッサ。
【請求項14】
前記フレームビルダー(506)は、前記第1カテゴリーの1つ以上と前記第2カテゴリーの1つ以上、あるいは前記第3カテゴリーの1つ以上と前記第4カテゴリーの1つ以上を互いに同期させて書き込み、スペクトル値またはスペクトル値の組み合わせの前記少なくとも1つ以上の最上位ビットは前記第1書き込みポインタ(810)によって書き込まれ、同じ前記スペクトル値または同じ前記スペクトル値の組み合わせの前記1つ以上の最下位ビットまたは符号ビットは、別のスペクトル値または別のスペクトル値の組み合わせからの情報ユニットが前記書き込みポインタ(810、812)によって書き込まれる前に書き込まれるように構成される、請求項13に記載のオーディオ送信プロセッサ。
【請求項15】
前記符号化済みオーディオデータをスタート位置から終了位置まで伸張する中間表現で生成するためのソースエンコーダ(500)をさらに備え、前記フレームビルダー(506)は前記中間表現の前記符号化済みオーディオデータを前記符号語の前記第1および第2の既定のサブセットに表される順番で並び替える(502)ように構成される、請求項1ないし請求項14のいずれかに記載のオーディオ送信プロセッサ。
【請求項16】
前記フレームビルダー(506)は、
前記符号語の前記第1の既定のサブセットの容量によって表される既定の情報ユニット量が得られるまで、前記スタート位置から前記終了位置まで読み込みおよび構文解析(202)を行い、
前記読み込みおよび構文解析済みの情報ユニットを前記符号語の前記第1の既定のサブセットに書き込み(206)、前記容量によって定められる前記既定の情報ユニット量が読み込み・構文解析された時に得られる前記中間情報ユニットの間の残りの情報ユニットを前記符号語の前記第2の既定のサブセットに書き込む、
ように構成される、請求項15に記載のオーディオ送信プロセッサ。
【請求項17】
符号化された時間ノイズ整形データ、サイド情報データおよび前記最上位データ部分および前記最下位データ部分が読み込まれて前記符号語の前記第1の既定のサブセットに書き込まれ、特定の周波数を越えるスペクトル値の最上位データ部分および最下位データ部分、ならびに残余データは、前記符号語の前記第2の既定のサブセットに書き込まれる、請求項16に記載のオーディオ送信プロセッサ。
【請求項18】
前記符号語の前記第2の既定のサブセットのいくつかの符号語は、前記エラー保護コードの特性および/または前記複数の処理済み符号語の総サイズから導出される、請求項1ないし請求項17のいずれかに記載のオーディオ送信プロセッサ。
【請求項19】
前記エラー保護コーダ(508)は、
前記第1の処理結果を第1のハッシュ値として計算(210)し、
前記第2の処理結果を第2のハッシュ値として計算(212)し、
前記第1のハッシュ値を前記符号語の前記第1の既定のサブセットに加算(214)し、前記第2のハッシュ値を前記符号語の前記第2の既定のサブセットに加算(214)し、
符号語単位のブロックコードを適用して前記エラー保護済み符号語を取得するように構成される、請求項1ないし請求項18のいずれかに記載のオーディオ送信プロセッサ。
【請求項20】
最小サイズのデータ部分を情報ユニットの第1粒度で生成する算術エンコーダ(60)を有するオーディオエンコーダ(500)をさらに備え、
前記エラー保護コーダ(508)は情報ユニットの第2粒度で動作するように構成され、
前記第1粒度は前記第2粒度と異なる、
請求項1ないし請求項19のいずれかに記載のオーディオ送信プロセッサ。
【請求項21】
前記第1粒度は前記第2粒度よりも大きく、
前記第1粒度及び前記第2粒度の間の粒度差分に相当する適応した量の情報ユニットが、前記第1の既定のサブセットの最初の符号語の基準位置に存在する、
請求項20に記載のオーディオ送信プロセッサ。
【請求項22】
前記第1粒度は前記第2粒度より整数倍大きく、前記適応した量の情報ユニットは、前記符号語の前記第2の既定のサブセットの符号語の基準位置に位置するデータとともに、前記算術エンコーダ(60)が出力する前記最小サイズのデータ部分を表す、請求項21に記載のオーディオ送信プロセッサ。
【請求項23】
エラー保護済みフレームを処理するためのオーディオ受信プロセッサであって、
前記エラー保護済みフレームを受信して、受信したエラー保護済みフレームを得るための受信インターフェース(300)と、
前記受信したエラー保護済みフレームを処理して符号化済みオーディオフレームを得るためのエラー保護プロセッサ(302)であって、前記エラー保護プロセッサは前記符号化済みオーディオフレームの符号語の第1の既定のサブセットの符号語がエラーを含むかをチェックするように構成される、エラー保護プロセッサ(302)と、
前記符号語の前記第1の既定のサブセット内にエラーが検出された時に、フレーム損失隠蔽動作を実行する、またはフレーム損失隠蔽指示を生成するように構成される、エラー隠蔽器またはエラー隠蔽指示器(304)と、
を備える、オーディオ受信プロセッサ。
【請求項24】
前記エラー保護プロセッサ(302)は、前記符号化済みオーディオフレームの符号語の第2の既定のサブセットがエラーを含むかをチェックする(406)ように構成され、
前記エラー隠蔽器または前記エラー隠蔽指示器(304)は、前記符号語の前記第2の既定のサブセット内のエラーを隠蔽するために、部分的フレーム損失隠蔽動作(410)を実行するまたは部分的フレーム損失隠蔽指示を生成するように構成される、
請求項23に記載のオーディオ受信プロセッサ。
【請求項25】
前記符号語の前記第1の既定のサブセットに含まれる前記符号化済みオーディオデータを復号化するためのオーディオデコーダ(308)をさらに備え、前記オーディオデコーダ(308)は、前記エラー保護プロセッサ(302)が前記符号語の前記第1の既定のサブセット内にエラーを検知しなかったときに復号化を実行するように前記エラー保護プロセッサ(302)によって制御されるように構成される、請求項23または請求項24に記載のオーディオ受信プロセッサ。
【請求項26】
前記エラー保護プロセッサ(302)は前記受信したエラー保護済みフレームにブロック復号化動作を適用して、復号化された前記符号語の既定の第1のサブセットおよび復号化された前記符号語の第2の既定のサブセットを得るように構成され、
前記ブロック復号化動作によってエラーの存在がシグナリングされなかった場合、前記エラー保護プロセッサは、
前記符号語の前記第1の既定のサブセットから第1のハッシュ値を算出し(402)、
前記第1のハッシュ値を受信した第1のハッシュ値と比較する(404、406)
ように構成され、
前記エラー保護プロセッサは、前記第1のハッシュ値と前記受信した第1のハッシュ値が互いに一致しなかった場合には、前記符号語の前記第1の既定のサブセット内にエラーが存在すると判定する、または前記第1のハッシュ値と前記受信した第1のハッシュ値が一致する場合には、前記符号語の前記第1の既定のサブセットにエラーはないと判定するように構成される、
請求項23ないし請求項25のいずれかに記載のオーディオ受信プロセッサ。
【請求項27】
前記エラー保護プロセッサ(302)は前記受信したエラー保護済みフレームにブロック復号化動作を適用して、復号化された前記符号語の第1の既定のサブセットおよび復号化された前記符号語の第2の既定のサブセットを得るように構成され、
前記ブロック復号化動作によってエラーの存在がシグナリングされなかった場合、前記エラー保護プロセッサは、
前記符号語の前記第2の既定のサブセットから第2のハッシュ値を算出し(406)、
前記第2のハッシュ値を受信した第2のハッシュ値と比較する(404、406)
ように構成され、
前記エラー保護プロセッサは、前記第2のハッシュ値と前記受信した第2のハッシュ値が互いに一致しなかった場合には、前記符号語の前記第2の既定のサブセット内にエラーが存在すると判定する、または前記第2のハッシュ値と前記受信した第2のハッシュ値が一致する場合には、前記符号語の前記第2の既定のサブセットにエラーはないと判定するように構成される、
請求項23ないし請求項26のいずれかに記載のオーディオ受信プロセッサ。
【請求項28】
前記ブロック復号化動作はリード・ソロモン復号化動作を含む、請求項26または請求項27に記載のオーディオ受信プロセッサ。
【請求項29】
前記エラー保護プロセッサ(302)は、前記符号語の前記第1の既定のサブセットのチェックによってエラーが検出されなかった場合にのみ、前記符号語の前記第2の既定のサブセットがエラーを含むかをチェックするように構成される、請求項23ないし請求項28のいずれかに記載のオーディオ受信プロセッサ。
【請求項30】
前記エラー保護プロセッサ(302)は、前記符号語の前記第2の既定のサブセットのうち1つ以上の特定の符号語がエラーを含むか、そして前記符号語の前記第2の既定のサブセットのうち任意の符号語がエラーのない符号語であるかを検出するように構成され、
前記エラー隠蔽器(403)は前記1つ以上の特定の符号語のための代替データまたはエラー隠蔽指示を生成するように構成され、
前記オーディオ受信プロセッサは、前記符号語の前記第1の既定のサブセットに含まれるオーディオデータおよび前記符号語の前記第2の既定のサブセットのうちのエラーのない符号語のうちの1つ以上に含まれるオーディオデータ、ならびに前記1つ以上の特定の符号語(428)のための前記代替データを復号化するためのオーディオデコーダ(308)を備える、または、
前記オーディオ受信プロセッサは、前記符号語の前記第1の既定のサブセットに含まれるオーディオデータおよび前記符号語の前記第2の既定のサブセットのうちの前記エラーのない符号語のうちの1つ以上に含まれるオーディオデータを復号化するためのオーディオデコーダ(308)を備え、前記オーディオデコーダ(308)は前記エラー隠蔽指示を受信して、前記エラー隠蔽指示に応答してエラー隠蔽措置を講じるように構成される、
請求項23ないし請求項29のいずれかに記載のオーディオ受信プロセッサ。
【請求項31】
前記符号語の前記第1の既定のサブセットおよび前記符号語の前記第2の既定のサブセットを識別する既定のフレーム読み込み手順に従って前記符号化済みオーディオフレームを読み込むためのフレーム読み込み器(306)をさらに備える、請求項23ないし請求項30のいずれかに記載のオーディオ受信プロセッサ。
【請求項32】
前記フレーム読み込み器(306)は、
前記符号語の前記第1の既定のサブセットの全ての符号語からの情報ユニットが読み込まれるまで、前記符号語の前記第1の既定のサブセットの符号語の基準点からスタートする第1の量の情報ユニットの情報ユニットを読み込み、
前記符号語の前記第2の既定のサブセットの符号語の基準点からスタートする第2の量の情報ユニットの情報ユニットを読み込む
ように構成され、
前記オーディオ受信プロセッサはオーディオデコーダをさらに含み、前記オーディオデコーダ(308)は前記符号化済みオーディオフレームのための復号化済みオーディオデータを得るために、前記第1の量の情報ユニットと前記第2の量の情報ユニットの連結を復号化するように構成される、
請求項31に記載のオーディオ受信プロセッサ。
【請求項33】
前記フレーム読み込み器(306)は、前記符号語の前記第2のサブセットとして、前記符号化済みオーディオデータの前記符号語フレームの一方の端にある、第2の規定数の隣接符号語の数を使用し、前記符号語の前記第1の既定のサブセットとして、前記符号化済みオーディオデータの前記符号語フレームのもう一方の端にある、第1の規定数の隣接符号語を使用するように構成され、前記第1の規定数と前記第2の規定数の合計は符号語の前記既定の総数に等しい、または、
前記符号語の前記第2の既定のサブセットの少なくとも1つの符号語は、前記符号語の前記第1の既定のサブセットの2つの符号語の間に位置する、または前記符号語の前記第1の既定のサブセットの少なくとも1つの符号語は、前記符号語の前記第2の既定のサブセットの2つの符号語の間に位置する、
請求項31または請求項32に記載のオーディオ受信プロセッサ。
【請求項34】
前記フレーム読み込み器(306)は前記第1の量の情報ユニットの情報ユニットを、前記第1の規定数の符号語のうちの少なくとも2つの符号語の基準位置からスタートして第1の読み込み方向に、そして前記第1の規定数の符号語のうちの少なくとも2つの別の符号語の基準位置からスタートして第2の逆の読み込み方向に、読み込むように構成される、または、
前記フレーム読み込み器(306)は前記第2の量の情報ユニットの情報ユニットを、前記第2の規定数の符号語のうちの少なくとも2つの符号語の基準位置からスタートして第1の読み込み方向に、そして前記第2の規定数の符号語のうちの少なくとも2つの別の符号語の基準位置からスタートして第2の逆の読み込み方向に、読み込むように構成される、請求項31ないし請求項33のいずれかに記載のオーディオ受信プロセッサ。
【請求項35】
前記フレーム読み込み器(306)は、前記第1の量の情報ユニットおよび前記第2の量の情報ユニットの情報ユニットを読み込むように構成され、前記第1の量の情報ユニットの少なくとも過半数の前記情報ユニットは、前記第2の量の情報ユニットの過半数の情報ユニットよりも心理音響的により重要性が高い、または、
前記第2の量の情報ユニット内の情報ユニットのみが損傷していると判定された場合には、部分的フレーム損失隠蔽のみが前記エラー隠蔽器によって実行され、前記第1の量の情報ユニット内の情報ユニットが損傷していると判定された場合には、完全フレーム損失隠蔽が前記エラー隠蔽器によって実行される、
請求項31ないし請求項34のいずれかに記載のオーディオ受信プロセッサ。
【請求項36】
少なくとも2つのカテゴリーの情報ユニットを復号化するためのソースデコーダ(308)であって、前記少なくとも2つのカテゴリーは、固定長サイド情報、可変長サイド情報、時間ノイズ整形情報、スペクトルの第1周波数部分のスペクトルの1つ以上の最上位ビット、前記第1周波数部分よりも周波数が高い第2周波数部分の1つ以上の最上位ビット、第1周波数部分の1つ以上の最下位ビットまたは符号ビット、前記第1周波数部分よりも周波数が高い第2周波数部分の1つ以上の最下位ビットまたは符号ビット、および残余ビットから成るグループから選択される、ソースデコーダ(308)をさらに備え、
前記ソースデコーダ(308)によってカテゴリーとして復号化に利用可能な場合には、前記固定長サイド情報、前記可変長サイド情報、前記時間ノイズ整形情報、前記第1周波数部分のスペクトルの前記1つ以上の最上位ビット、および第1周波数部分の前記最下位ビットまたは符号ビットは、前記第1の量の情報ユニット内にあり、前記ソースデコーダ(308)によってカテゴリーとして復号化に利用可能な場合には、前記第2の周波数部分の前記1つ以上の最上位ビット、第2周波数部分の前記1つ以上の最下位ビットまたは符号ビット、および前記残余ビットのうちの少なくとも1つは、前記第2の量の情報ユニット内にある、
請求項31ないし請求項35のいずれかに記載のオーディオ受信プロセッサ。
【請求項37】
前記フレーム読み込み器(306)は、
第1読み込みポインタ(444)および第2読み込みポインタ(446)を使用し、
前記符号語フレーム内のより低い情報ユニット位置から前記符号語フレーム内のより高い情報ユニット位置に向かう方向に、前記第1読み込みポインタ(444)を増分させ、
前記符号語フレーム内のより高い情報位置から前記符号語フレーム内のより低い情報位置に向かう方向に、前記第2読み込みポインタ(446)を減分させ、
前記符号語の前記第1の既定のサブセットの既定の符号語シーケンス内の最初の符号語の始まりを示す基準位置から前記第1読み込みポインタ(444)をスタートさせ、
前記符号語の前記第1の既定のセットの前記既定の第1符号語シーケンス内の最後の符号語の末尾を示す基準位置から前記第2読み込みポインタ(446)をスタートさせ、
前記第1読み込みポインタ(444)が示す位置の前記第1の量の情報ユニットから、情報ユニットの第1カテゴリーの1つ以上に属する情報ユニットを読み込み、
前記第2読み込みポインタ(446)が示す位置の前記第1の量の情報ユニットから、情報ユニットの第2カテゴリーの1つ以上に属する情報ユニットを、前記第1および第2の読み込みポインタ(444、446)が遭遇情報ユニット位置で互いに遭遇するまで読み込む
ように構成され、
前記遭遇情報ユニット位置の前記情報ユニットは、前記第1の量の情報ユニットと前記第2の量の情報ユニットとの間の境界を表す、
請求項31ないし請求項36のいずれかに記載のオーディオ受信プロセッサ。
【請求項38】
前記フレーム読み込み器(306)は
前記第1読み込みポインタ(444)を、前記符号語の前記第2の既定のサブセットの第2の既定の符号語シーケンスの最初の符号語の始まりを示す基準位置にセットし、
前記第2読み込みポインタ(446)を、前記符号語の前記第2の既定のサブセットの前記第2の既定の符号語シーケンスの最後の符号語の末尾を示す基準位置にセットし、
前記第1読み込みポインタ(444)を使用して前記第2の量の情報ユニットから情報ユニットの第3カテゴリーの1つ以上を読み込み、前記第2読み込みポインタ(446)を使用して、前記第2の量の情報ユニットから情報ユニットの第4カテゴリーの1つ以上を読み込む
ように構成される、請求項37に記載のオーディオ受信プロセッサ。
【請求項39】
前記フレーム読み込み器(306)は、
前記第1カテゴリーの1つ以上として、周波数に関して昇順に順序付けられた、前記遭遇情報ユニットのスペクトル値またはスペクトル値の組み合わせまでのスペクトル値から導出された最上位ビットを使用し、
前記第2カテゴリーの1つ以上として、前記遭遇情報ユニットのスペクトル値またはスペクトル値の組み合わせまでのスペクトル値から導出された最下位ビットまたは符号ビットを使用し、
前記第3カテゴリーの1つ以上として、前記遭遇情報ユニットにおける値以上の周波数に関連付けられた1つ以上の最上位ビットを使用し、
前記第4のカテゴリーとして、前記遭遇情報ユニットに関連付けられた周波数値以上の周波数に関連付けられた最下位ビットまたは符号ビットを使用する
ように構成される、請求項37または請求項38に記載のオーディオ受信プロセッサ。
【請求項40】
前記フレーム読み込み器(306)は、前記第1カテゴリーの1つ以上と前記第2カテゴリーの1つ以上、あるいは前記第3カテゴリーの1つ以上と前記第4カテゴリーの1つ以上を互いに同期させて読み込んで、スペクトル値またはスペクトル値の組み合わせの前記少なくとも1つ以上の最上位ビットは前記第1読み込みポインタ(444)によって読み込まれ、同じ前記スペクトル値または同じ前記スペクトル値の組み合わせの前記1つ以上の最下位ビットまたは符号ビットは、別のスペクトル値または別のスペクトル値の組み合わせからの情報ユニットが前記読み込みポインタ(444、446)によって読み込まれる前に読み込まれるように構成される、請求項39に記載のオーディオ受信プロセッサ。
【請求項41】
前記フレーム読み込み器(306)は第1読み込み方向で第1読み込みポインタ(444)を使用し、第2読み込み方向で第2ポインタ(446)を使用するように構成され、前記符号化済みオーディオフレームはフレーム開始位置およびフレーム終了位置を備え、前記フレーム読み込み器(306)は前記第1ポインタを、前記符号語の前記第2の既定のサブセットに含まれるいくつかの情報ユニットから導出される第1ポインタスタート位置にセットし、前記第2ポインタ(446)を前記フレーム終了位置に設定するように構成され、前記符号語の前記第1の既定のサブセットはすべて、前記符号化済みオーディオフレームの前記フレーム終了位置を有する側に配置され、
前記フレーム読み込み器(306)は、
対応する読み込み方向に前記第1読み込みポインタ(444)を増分し、前記第2読み込みポインタ(446)を減分して読み込み、
前記第1および第2読み込みポインタ(444、446)が遭遇位置で互いに遭遇したときに停止し、
前記フレーム開始位置と前記第1ポインタスタート位置との間の情報ユニットを、前記第1ポインタスタート位置と前記遭遇位置との間の情報ユニットと交換して、並び替えられた符号化済みオーディオフレームが、前記並び替え済みオーディオフレームの冒頭から、前記第1ポインタスタート位置と前記遭遇位置との間で読み込まれた情報ユニット、前記フレーム開始位置と前記第1ポインタスタート位置との間の前記符号化済みオーディオフレームの情報ユニット、および前記遭遇位置と前記フレーム終了位置との間の前記符号化済みオーディオフレームの情報ユニットを、上記の順番で含むようにする
ように構成され、
前記並べ替えられた符号化済みオーディオフレームの順番で前記符号化済みオーディオデータを有する前記並べ替えられた符号化済みオーディオフレームを復号化するようにあらかじめ設定されたオーディオデコーダ(308)をさらに備える、または
前記並び替えられた符号化済みオーディオフレームを離れた場所に送信するための送信デバイスをさらに備える、
請求項31ないし請求項40のいずれかに記載のオーディオ受信プロセッサ。
【請求項42】
前記フレーム読み込み器(306)は第1読み込み方向で第1読み込みポインタ(444)を使用し、第2読み込み方向で第2ポインタ(446)を使用するように構成され、前記符号化済みオーディオフレームはフレーム開始位置及びフレーム終了位置を備え、前記フレーム読み込み器(306)は前記第2ポインタ(446)を、前記符号語の前記第2の既述のサブセットに含まれるいくつかの情報ユニットおよび前記符号化済みフレームの情報ユニットの総数から導出される第2ポインタスタート位置にセットし、前記第1読み込みポインタ(444)を前記フレーム開始位置に設定するように構成され、前記符号語の前記第1の既定のサブセットはすべて、前記符号化済みオーディオフレームの前記フレーム開始位置を有する側に配置され、
前記フレーム読み込み器(306)は、
対応する読み込み方向に前記第1読み込みポインタ(444)を増分し、前記第2読み込みポインタ(446)を減分して読み込み、
前記第1および第2読み込みポインタ(444、446)が遭遇位置で互いに遭遇したときに停止し、
前記フレーム終了位置と前記第2ポインタスタート位置との間の情報ユニットを、前記第2ポインタスタート位置と前記遭遇位置との間の情報ユニットと交換して、並び替えられた符号化済みオーディオフレームが、前記フレーム開始位置と前記遭遇位置との間の情報ユニット、前記フレーム終了位置と前記第2ポインタスタート位置との間の前記符号化済みオーディオフレームの情報ユニット、および前記遭遇位置と前記第2ポインタスタート位置との間の前記符号化済みオーディオフレームの情報ユニットを、前記並び替えられた符号化済みオーディオフレームの冒頭から上記の順番で含むようにする
ように構成される、
請求項31ないし請求項40のいずれかに記載のオーディオ受信プロセッサ。
【請求項43】
最小データサイズ部分を情報ユニットの第1粒度で受信する算術デコーダ(72)を有するオーディオデコーダ(308)をさらに備え、
前記エラー保護プロセッサ(302)は第2粒度で動作するように構成され、前記第1粒度は前記第2粒度よりも大きく、
前記第1粒度及び前記第2粒度の間の粒度差分に相当する適応した量の情報ユニットが、前記符号語の前記第1の既定のサブセットの最初の符号語の基準位置に存在し、
前記適応した量の情報ユニットは、前記第2の既定のサブセットの符号語の基準位置に位置するデータとともに、前記算術デコーダ(72)に入力される前記最小データサイズ部分を形成し、
前記フレーム読み込み器(306)は、前記符号語の前記第1の既定のサブセットについて、前記最初の符号語の前記基準位置によって決定される前記最初の符号語内の位置に前記適応した量の大きさを加えた場所から情報ユニットの読み込みを開始するように構成される、
請求項23ないし請求項42のいずれかに記載のオーディオ受信プロセッサ。
【請求項44】
オーディオフレームの符号化済みオーディオデータを使用してエラー保護済みフレームを生成するための方法であって、前記オーディオフレームのための前記符号化済みオーディオデータは第1の量の情報ユニットと第2の量の情報ユニットとを含み、前記方法は、
既定の合計数の符号語について基準位置を定義する符号語ラスタを有する符号語フレームを構築するためのステップであって、
前記符号語の第1の既定のサブセットの基準位置から始まる前記第1の量の情報ユニットを書き込むステップと、
前記符号語の第2の既定のサブセットの基準位置から始まる前記第2の量の情報ユニットを書き込むステップと、
前記第2の量の情報ユニットの始まりの情報ユニットが符号語境界と一致するように、前記第1の量の情報ユニットと前記第2の量の情報ユニットとの間の境界を決定するステップと、
を含む、構築するステップ、および
前記符号語の前記第1の既定のサブセットの前記符号語のうちの1つ以上を処理して第1の処理結果を得る、または前記符号語の前記第2の既定のサブセットの前記符号語のうちの1つ以上を処理して第2の処理結果を得て、前記第1の処理結果または前記第2の処理結果を前記既定の数の符号語に加算して前記エラー保護済みフレームを表す複数の処理済み符号語を得るステップ、または
前記符号語の前記第1の既定のサブセットまたは前記符号語の前記第2の既定のサブセットの符号語を個別に処理して、前記エラー保護済みフレームを表す複数の処理済符号語を得るステップ
を含む、エラー保護処理を実行するステップ
を含む方法。
【請求項45】
エラー保護済みフレームを処理する方法であって、
前記エラー保護済みフレームを受信して、受信したエラー保護済みフレームを得るステップと、
前記受信したエラー保護済みフレームでエラー保護処理を実行して符号化済みオーディオフレームを得るステップであって、前記エラー保護処理は、前記符号化済みオーディオフレームの符号語の第1の既定のサブセットの符号語がエラーを含んでいるかをチェックするステップを含む、エラー保護処理を実行するステップと、
前記符号語の前記第1の既定のサブセットにエラーが検出された場合にフレーム損失隠蔽動作を実行するステップと、
を含む方法。
【請求項46】
コンピュータまたはプロセッサ上で実行された時に、請求項44または請求項45に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、オーディオ処理、とりわけ、ワイヤレスチャンネル等、エラーを起こしやすい送信チャンネルの文脈において有用なオーディオ処理の応用に関する。
【背景技術】
【0002】
米国特許第5852469号は、動画符号化および/または復号化システムと、可変長符号化および/または復号化システムとを開示している。符号化装置は、符号化装置が供給したコードストリームを複数の符号列に分割する分割手段と、複数の符号列のうちの少なくとも1つを頭から終わりへの順方向に、そして他の符号列のうちの少なくとも1つを終わりから頭への逆方向に整列させるための並べ替え手段とを備える。可変長符号化システムは、複数の符号語を格納し、符号語がソースシンボルに対応するようにするための符号語テーブルを含む。また、符号化装置は、符号語テーブルから入力されたソースシンボルに相当する符号語を選択し、選択した符号語を符号化済みデータとして出力する。複数の符号語が、順方向または逆方向のいずれかで復号化することができる。複数の符号語は、コード間の休止を符号語の既定の重み、バイナリコードの場合には符号語内の数字「1」または「0」によって検出することができるように構成されている。
【0003】
欧州特許第1155498号は、多数のラスタポイントを基準点として含むデータストリームを生成または読み込むための概念を開示しており、第1のセットの符号語のそれぞれの少なくとも一部がセグメントのラスタポイントから始まる第1の書き込み方向で書かれており、第2のセットの符号語のうちの符号語の少なくとも一部が、セグメントの第2ラスタポイントから始まる、第1の書き込み方向とは逆の第2の書き込み方向で、データストリームに書き込まれている。第2のセットの符号語がセグメントにフィットしない、または完全にはフィットしない場合、割り当てられたセグメントにフィットしないこの符号語の少なくとも一部またはこの符号語の剰余部分の一部は、既定のルールに従って、別の完全に満杯にはなっていないセグメントに書き込まれる。
【0004】
この処理手順により、エラー伝播は確実に2つのラスタポイント間の空間に限定されることになる。
【0005】
MPEG-4 Part 3 Audio[1]は、心理音響的な関連性がオーディオフレームにわたって線形に減少する、ビットスライス算術符号化を使用するBSACを定義する。
【0006】
MPEG-4 Part 3 Audio[1]は、AACのビットストリームペイロードについてのエラー感度カテゴリーを定義する([1]の表4.94)
【0007】
次いで、関連データが対応するエラー感度クラスのインスタンスに記憶され、ER AACペイロードが形成される。これは後に、前方誤り訂正または検出手段を使用し個別に保護されることがある。データ要素のカテゴリーへの固定割り当てが明記される。エントロピー符号化により、これが可変長のクラスへとつながる。これらの長さは、ER AACペイロードを復号化できるようにするために送信する必要があるが、これによって追加のオーバーヘッドが生じる。
【0008】
DRM[2]は、AACのビットストリームペイロードのための不均等なエラー保護を可能にするためのスーパーフレームを定義する(aac_super_frame)。スーパーフレームは既定の数(5個または10個)のAACフレームから成る。心理音響的により重要性の高いAACフレームのビットはビットストリームペイロードの冒頭で得られると想定されている。したがって、最初のN個のビット(例えば200個のビット)は各フレームからカットされ、スーパーフレームの冒頭に連続的に記憶される。これらのビットは次いでCRCによって保護される。これらのフレームの残りのビットはその後、保護なしで記憶される。常に固定量のデータが高感度であるとして処理されるため、保護されたペイロードを復号化するために長さの情報が送信される必要はない(もちろん、スーパーフレームの個々のフレームの長さの情報は必要だが、現在の考察の範囲には含まれない)。
【0009】
MPEG-4 Part 3 Audioに記載されるBSACによって生成されるフレームは、心理音響的関連性によって既にソートされて、もたらされる。最も重要性の高いビットから始まり、最も重要性の低いビットで終わる。これは、スペクトル線の全てのビットの算術符号化/復号化のための計算の複雑性がより高いことによるコストによるものである。
【0010】
MPEG-4 Part 3に記載の通り、AACのアプローチの性質上、種々のエラー感度カテゴリーのインスタンスは可変長である。これは畳み込み符号にとっては問題とはならないが、固定量のデータの保護が必要となるブロックコードには不適切である。
【0011】
DRMのアプローチは、ビットストリームペイロードが既に個々のビットの心理音響的重要性に基づいて並べられている場合にしか機能しない。
【発明の概要】
【発明が解決しようとする課題】
【0012】
本願発明は、エラー保護済みフレームを生成するため、または受信したエラー保護済みフレームを処理するための、より良好且つ効率的な概念を提供することを目的とする。
【課題を解決するための手段】
【0013】
この目的は、請求項1に記載のオーディオ送信プロセッサ、請求項23に記載のオーディオ受信プロセッサ、請求項44に記載のオーディオ送信処理方法、請求項45に記載のオーディオ受信処理方法、または請求項46に記載のコンピュータプログラムによって達成される。
【発明を実施するための形態】
【0014】
エラー保護済みフレームを生成するためのオーディオ送信プロセッサは、オーディオフレームに対応する符号化済みオーディオデータを使用し、この符号化済みオーディオデータはビットやバイト等第1の量の情報ユニットと第2の量の情報ユニットを含む。フレームビルダーが既定の総量の符号語について基準位置を定める符号語ラスタを有するフレームを構築し、フレームビルダーは、第1の量の情報ユニットの情報ユニットを符号語の第1の既定のサブセットの基準位置から書き込み、第2の量の情報ユニットの情報ユニットを符号語の第2の既定のサブセットの基準位置から書き込むように構成され、フレームビルダーは、第2の量の情報ユニットの最初の情報ユニットが符号語の境界と一致するように、第1の量の情報ユニットと第2の量の情報ユニットとの間に境界を定める。オーディオ送信プロセッサは、既定の総量の符号語を個別に処理してエラー保護済みフレームを表す複数の処理済み符号語を得るため、および/または1つ以上の第1の既定のサブセットの符号語を処理して第1の処理結果を得る、および/または1つ以上の第2の既定のサブセットの符号語を処理して第2の処理結果を得て、既定の数の符号語に第1の処理結果または第2の処理結果を加算して複数の処理済み符号語を得るためのエラー保護コーダを備える。
【0015】
受信側では、受信したエラー保護済みフレームを処理するためのオーディオ受信プロセッサは、エラー保護済みフレームを受信するための受信インターフェースを備える。オーディオ受信プロセッサは、エラー保護済みフレームを処理して符号化済みオーディオフレームを得るためのエラー保護プロセッサを備える。とりわけ、エラー保護プロセッサは、符号化済みオーディオフレームの符号語の第1の既定のサブセットがエラーを含んでいるかをチェックするように構成される。オーディオ受信プロセッサは、符号語の第1の既定のサブセットにエラーが検出された場合に(完全)フレーム損失隠蔽動作を実行する、または離れた場所でフレーム損失隠蔽動作の実行を指示するエラー隠蔽指示を生成・送信するように構成される、エラー隠蔽装置またはエラー隠蔽指示装置を備える。
【0016】
符号語の第1の既定のサブセットと符号語の第2の既定のサブセットとを別個に処理すること、および受信側で符号語の第1の既定のサブセットに関する情報を使用することで、エラー保護済みフレームの生成に関する極めて効率的な処理およびエラーチェックに関する処理が得られる。第1のセットの符号語の既定のサブセットは予め定められており、ひいては、フレーム毎の信号伝達ビット等特定の追加の信号伝達なしでもデコーダにとって既知だからである。これは必須ではない。むしろ、エンコーダは第1の量の情報ユニットを書き込むのに第1の符号語の既定のサブセットを使用し、且つ受信またはオーディオ受信プロセッサはこの事前定義に依拠しているため、効率的なエラー保護と効率的なエラーチェックが利用可能となる。
【0017】
好ましくは、受信側でのエラー保護処理は、符号語の第1のサブセットのうちの2つ以上についてのハッシュ値等の処理結果の個別の算出を許容するが、第2のセットからの符号語については一切なく、また同時に、ハッシュ値の確認のためにはすべての符号語ではなく所定の量の符号語のみを使用しなければならないため、符号語の第2の既定のサブセットの符号語のみからで第1のセットの符号語を含まないハッシュ値の計算によって、復号側で効率的なエラーチェック処理が可能になる。受信の処理の極めて初期において、重大なエラーがフレーム内で生じて最終的には完全フレーム損失隠蔽動作が必要になるのか、あるいは送信エラーの影響を受けたのは比較的重要性の低いオーディオデータだけでこの種のエラーに対処するために必要なのは品質がはるかに高い部分的フレーム損失隠蔽動作のみであるのか、または隠蔽動作が一切必要なくなったのかを決定することができる。
【0018】
本願発明がオーディオ符号化とエラー保護処理との間に具体的なフレーム構築動作を介した架け橋を形成することにより、第1の量のデータを有する符号語の第1の既定のサブセットと第2の量のデータを有する符号語の第2の既定のサブセットについて別個にエラー保護処理を行うことによって、デコーダ側に対して極めて有効で極めて高品質且つ高性能なエラー処理手順を適用することができる。好ましくは、第1の量のデータは心理音響的により重要性の高いデータである、あるいはサイド情報および任意のTNSデータおよび低スペクトル値の最上位または最下位ビットである一方、第2の量のデータは典型的に、心理音響的視点からはオーディオ知覚にとってはそれほど決定的でない、より高い周波数の最上位ビットおよび最下位ビットを含む。典型的に第2の量の情報ユニットに含まれるさらなる情報ユニットは、算術エンコーダによるビット消費が利用可能なビット予算を全て消費していない限り生成される、剰余データである。
【0019】
とりわけ、第1の量の情報ユニットと第2の量の情報ユニットを、第1の量の情報ユニットと第2の量の情報ユニットとの境界が符号語境界に配置されている第1および第2の既定のサブセットに書き込むことで、より重要性の高い符号語、すなわち符号語の第2の既定のサブセット等のより重要性の低い符号語と比較して符号語の第1の既定のサブセットとの間での明確な分離が確実に得られることになる。オーディオコーダが適用する符号化動作が、最終的に、例えば符号化動作を制御し追加の残余ビットを算出することで固定フレームラスタに適合されたフレームのためのオーディオデータが可変長という結果をもたらす信号依存符号化動作であるシナリオにおいては、第1の量の情報ユニットと第2の量の情報ユニットの間の境界はフレーム毎に動的に変化する。それでも、低周波データ等心理音響的により重要性の高いデータは第1の既定のサブセットに含められ、従って送信側では符号語の第1の既定のサブセットをチェックするだけで完全フレーム損失隠蔽が実行される一方で、受信側では符号語の第1の既定のサブセットが一切のエラーなしで受信されたと判定された後でないと符号語の第2の既定のサブセットのチェック等のさらなる処理が実行されないという状況になる。したがって、符号語の第1の既定のサブセットにエラーがあれば、以前のフレームの反復または先行するフレームの修正反復あるいはそれに類するもの等の完全フレーム損失隠蔽動作が、受信したエラーのあるフレームをさらに処理するためにそれ以上のリソースを費やすことなく、実行される。
【0020】
受信プロセッサは、符号語の第1の既定のサブセットおよび符号語の第2の既定のサブセットを識別する既定のフレーム読み込み手順に従って符号化済みオーディオフレームを読み取るためのフレームリーダーを備える。エンコーダ側のフレームビルダーによって適用されたオーディオデータ処理の順番は、実行しない/並び変えられることができる、あるいは、直接読み込み手順のためにデコーダに既知となって、第1の既定のサブセットについて無エラー状態が検出された場合には少なくとも第1の既定のサブセットについて、そして第2の既定のサブセットについても無エラー状態が判定された場合には第2の既定のサブセットについても、受信したフレームを構文解析できるようにすることができる。
【0021】
フレームリーダーは典型的に、符号語の第1の既定のサブセットが無エラーの状態であることが判定された後にしか作動させないようにしなければならない。エラー保護プロセッサは、エラー保護プロセッサが出力したデータフレームにおける符号語の第1の既定のサブセットの位置を知らなければならないが、エラーチェックの目的においては、符号語が表す対応する位置において任意のデータがどの方向に書き込まれたかを知る必要はない。
【0022】
好ましくは、心理音響的により重要性の低いデータはフレームの左側の境界またはフレームの右側の境界、またはフレーム内の既定数の符号語/基準位置でありうる、フレーム内の特定の位置に配置される。心理音響的により重要性の高いデータと心理音響的により重要性の低いデータを分離することが望ましい、あるいは心理音響的により重要性の高いデータと心理音響的により重要性の低いデータをオーディオフレーム内で並べ替えることが要求される。
【0023】
並べ替えは例えば、符号化済みオーディオデータのフレームが未だ所定のエラー保護プロセッサと協働するようにカスタマイズされていない既定の標準化済みオーディオデコーダによって生成されている場合に、データを所定のエラー保護・検出スキームに並べるときに必要となる。この並べ替えにより、心理音響的により重要性の高いデータと心理音響的により重要性の低いデータの利用可能性に応じて、個々のフレーム損失隠蔽処理手順が可能になる。
【0024】
本願発明の好ましい実施態様を、添付の図面に関連して、下記に論じる。
【図面の簡単な説明】
【0025】
【
図1】
図1は、元のLC3ビットストリームペイロードの例を図示したものである。
【
図2】
図2は、
図1に表されるLC3ビットストリームペイロードの例の心理音響的関連性に基づくビット分布を図示したものである。
【
図3】
図3は、LC3ビットストリームペイロードを並べ替えたものの例を図示している。
【
図4】
図4は、バイト粒度に作用する算術エンコーダ/デコーダによりLC3ビットストリームペイロードを並べ替えた別の例を図示している。
【
図5】
図5は、オーディオ送信プロセッサの好ましい実施態様を図示したものである。
【
図6】
図6は、フレーム構築を実施するための手順を図示したものである。
【
図7】
図7は、
図5のフレームビルダーが実行する好ましい手順を図示したものである。
【
図8】
図8は、フレームビルダーの好ましい手順を示したものである。
【
図9a】
図9aは、符号語の第1の既定のサブセットと符号語の第2の既定のサブセットの、
図5のフレームビルダーが構築したフレーム内での位置の略図を図示したものである。
【
図9b】
図9bは、符号語の第1の既定のサブセットと符号語の第2の既定のサブセットの、
図5のフレームビルダーが構築したフレーム内での位置の略図を図示したものである。
【
図9c】
図9cは、符号語の第1の既定のサブセットと符号語の第2の既定のサブセットの、
図5のフレームビルダーが構築したフレーム内での位置の略図を図示したものである。
【
図10】
図10は、フレームビルダーによるフレームの直接書き込みの好ましい実施態様を図示したものである。
【
図11】
図11は、
図5のフレームビルダーの並べ替え処理手順の好ましい実施態様を図示したものである。
【
図12】
図12は、
図5のエラー保護コーダの好ましい実施態様を図示したものである。
【
図13】
図13は、本願発明に係るオーディオ受信プロセッサの好ましい実施態様を図示したものである。
【
図14】
図14は、エラー保護プロセッサおよびエラー隠蔽器の好ましい手順を図示したものである。
【
図15】
図15は、エラー保護プロセッサおよびエラー隠蔽器の別の好ましい実施態様を図示したものである。
【
図16】
図16は、部分的フレーム損失隠蔽の隠蔽スペクトル範囲の略図を図示したものである。
【
図17】
図17は、部分的フレーム損失隠蔽の別の実施態様を図示したものである。
【
図19】
図19は、標準化オーディオデコーダ等特定の基準によって要求されるフレームフォーマットへの受信したデータの並べ替えを実行するためのフレームリーダーの好ましい実施態様を図示したものである。
【
図20】
図20は、フレームリーダーがエラー保護済みフレームのオーディオデータの直接読み込みのために行う好ましい手順を図示したものである。
【
図21】
図21は、
図5のオーディオエンコーダの好ましい実施態様を図示したものである。
【0026】
次に、所定の文脈における本願発明の好ましい実施態様について論じる。
【0027】
ビットは符号化プロセス中に、心理音響的関連性に基づいて経時的に、しかし非空間的に書き込まれる。最も重要性の高いデータが最初に書き込まれ、最も重要性の低いデータが最後に書き込まれる。しかしながら、「通常の」オーディオフレーム内の心理音響的により重要性の低いビットの位置は、基調となる符号化済みデータに依存して、フレーム毎に変動することがある。これは例えば、一方からは算術的に符号化されたデータが書き込まれ、反対側から別の方法で符号化されたデータが同時に書き込まれ、データをフレームに両側から書き込んでいることによるものである場合がある。このようなアプローチの例がLC3コーデックである。
【0028】
2つのクラスのビットを伴うシステムが想定される。2つのクラスへのビットストリームペイロードの細分は、出力に対する関連性に基づいて行われる。
・ 歪んでいても部分的フレーム損失隠蔽が可能な、心理音響的により重要性の低いビットは、1つのクラスにまとめられる。
・ 歪んでいると完全フレーム損失隠蔽が必要とされる、心理音響的により重要性の高いビットは、別のクラスにまとめられる。
【0029】
こうする理由は、2つのクラスの利用可能性に応じて、異なる隠蔽戦略を想定できるようにするためである。これら2つの異なる隠蔽戦略は、以下、完全フレーム損失隠蔽および部分的フレーム損失隠蔽と呼ばれる。
・ 完全フレーム損失隠蔽は、心理音響的により重要性の高いビットをカバーするクラスが喪失された場合に実行される。心理音響的により重要性の低いビットをカバーするクラスが利用できるかどうかは問題とはならず、データは評価されない。この場合、現在のフレームのデータは利用できず、よってフレームは最後に受信したフレームに基づいて完全に合成される。
・ 部分的フレーム損失隠蔽は、心理音響的により重要性の高いビットをカバーするクラスは利用可能だが、心理音響的により重要性の低いデータをカバーするクラスが失われている場合に実行されることがある。この場合、心理音響的により重要性の高いデータは利用可能であり、フレームを再構築するために使用することができる。心理音響的により重要性の低いデータのみを最後に完全に受信したフレームに基づいて合成する必要がある。部分的フレーム損失隠蔽は、多くの状況下において完全フレーム損失隠蔽よりもより良い品質(例えば、より少ないアーチファクトなど)を提供することを意図している。
【0030】
2つのクラスの大きさは、例えばチャンネルコーダによって予め定められている。
【0031】
前方誤り検出・訂正スキームは、好ましくはリード・ソロモン符号を利用し、符号語粒度で作用するところ、各符号語は複数のニブル(4ビット、半オクテットとも言う)から成る。本ケース(LC3)においては、1つの符号語は13~15ニブルから成る。好ましい実施態様において、このような前方誤り検出・訂正スキームは、消費されるオーバーヘッドに依存して様々な度合いのエラー検出・訂正を提供し、例えば
・ 符号語あたり4ニブルのオーバーヘッドによって、2ニブルの訂正が可能になり(エラー保護モード3)、
・ 符号語あたり6ニブルのオーバーヘッドによって、3ニブルの訂正が可能になる(エラー保護モード4)。
【0032】
所定のビットレート総計に対し、正味のビットレートは選択されたエラー保護モードによって変わる。エラー検出・訂正能力が高いほど、利用可能な正味ビットレートは少なくなる。
【0033】
両クラスについて個別のエラー検出が必要となる。所定のチャンネル符号化構成を考えると、1つのクラスの全てのビットを所定数の符号語に記憶させ、もう一方のクラスの全てのビットを残りの符号語の数に記憶させることが望ましい。
【0034】
ビットストリーム内のビットのクラスへの細分は、常に所定数の符号語が1つのクラスのビットを含み、残りの数の符号語がもう一方のクラスのビットを含むように、行われる。
【0035】
上記の通り、心理音響的により重要性の低いビットの位置は、基調にある符号化済みデータに応じてフレーム毎に変化する可能性がある。
【0036】
しかしながら、目的は、所定数の心理音響的により重要性の低いビットを分離して並べ替えすることである(これにより、チャンネルコーデックが提供する固定の符号語サイズと位置との組合せで個別のエラー保護・検出が可能になる)。
【0037】
並べ替えは、フレーム毎のベースで適応的に行わなければならない。このような並べ替えのためには、並べ替えを元に戻す、または並べ替えたビットストリームペイロードを復号化するために、追加のサイド情報(例えば長さ情報など)が要求されないものとする。
【0038】
ビットストリームペイロードは通常、書き込みおよび読み込みルーティンが効率的に実施できるように、書き込まれる。心理音響的な重要性は通常何かの役割を果たすことはなく、ひいては心理音響的により重要性の低いビットと心理音響的により重要性の高いビットとが混在するビットストリームペイロードとなることができる。上記の所定の条件を背景として効率的な前方エラー保護を可能にするためには、このようなビットストリームペイロードは準最適であり、並べ替えが必要となる。
【0039】
心理音響的により重要性の低いビットの位置は、基調にある符号化済みデータに基づいてフレーム毎に変化する可能性があるため、固定の符号語サイズと位置での直接のマッピングは不可能である。したがって、直截的なアプローチにおいては、関連するビットは次のように並べ替えられる。
・ 心理音響的により重要性の低いビットは事前ソートされたビットストリームペイロードの一端に記憶される。
・ 心理音響的により重要性の高いビットは事前ソートされたビットストリームペイロードのもう一方の端に記憶される。
【0040】
心理音響的により重要性の低いビットの数は、エラー保護モードおよびチャンネル符号化済みフレームの大きさに基づいて、統計的に導出される。
【0041】
しかしながら、心理音響的により重要性の低いビットの配置は動的に導出される。適応的に並べ替えルールが事前に定められていて、デコーダ側で並べ替えを無効にするために追加のサイド情報が必要とならないようになっている。適応ルールによって、心理音響的に重要性がより低いビットは確実に、常にビットストリームの選択された側の遠端に記憶されるようになっており、同時に、確実にデコーダが元のビットストリームペイロードをどのように再現するかを正確に知っていることとなる。
【0042】
一方で、このような並べ替えは、エンコーダが「通常の」ビットストリームペイロードを完全に書き込んだ後のポスト処理工程で、且つデコーダが残りの「通常の」ペイロードを読み込む前に(並べ替えの一部では決してない)サイド情報を復号化した後の前処理工程として実行できる。
【0043】
他方で、このような並べ替えは符号化済みのビットを直接適切な位置に書き込む符号化プロセス中に、および適切な位置からビットを直接読み込む復号化プロセス中に実行することもできる。
【0044】
心理音響的により重要性の低いビットおよびより重要性の高いビットを専用の符号語に割り当てることは可能であることが指摘される。心理音響的により重要性の低いビットを最も左の符号語に割り当て、心理音響的により重要性の高いビットを最も右の符号語に割り当てることは、単に1つの好ましい実施態様である。したがって、選択した割り当てに依存して、並べ替えを異なる形で行うこともできる。唯一の必要条件は、割り当てが事前に定められていて、デコーダがビットストリーム内の追加情報なしでプロセスを逆行させることができるようになっているということである。
【0045】
以下の適用シナリオが考えられる。
【0046】
1. オーディオフレームは、心理音響的により重要性の低いビットがビットストリームの一方の端に集められるように書き込まれる。
a. より重要性の高いビットに対して設けられた領域に両側から書き込みを開始する。
b. 2つの書き込みポインタが互いに遭遇したときに停止する。
c. より重要性の低いビットに対して設けられた領域に両側から書き込みを続ける。
【0047】
2. オーディオフレームは「通常の」方法で書き込まれるが、心理音響的により重要性の低いビットがビットストリームの一方の端に集められるように並べ替えられる。
a. フレームの読み込みと構文解析を両側から開始する。
b. より重要性の高いビットに対して規定されたビット量が読み込まれたら停止する。ここで、心理音響的により重要性の低いビットは2つの読み込みポインタの間の残りのビットとなる。
c. 左のポインタまでのデータを2つのポインタ間のデータと交換する。
【0048】
3. オーディオフレームは、心理音響的により重要性の低いビットがビットストリームの一方の端に集められるが、「通常の方法で」並べ替えられるように、書き込まれる。
a. フレームの読み込みを両側から開始する。心理音響的により重要性の低いビットがビットストリームの左側に記憶されるのであれば、心理音響的により重要性の高いビットを左側から読み込み始めるための開始ポイントは、心理音響的により重要性の低いビットに対して規定されたビットの数から導出できる(同じであることを意味する)。心理音響的により重要性の低いビットがビットストリームの右側に記憶されるのであれば、心理音響的により重要性の高いビットを右側から読み込むための開始ポイントは、心理音響的により重要性の低いビットに対して規定されたビット数および総ビット数から導出することができる。
b. 2つの書き込みポインタが互いに遭遇すれば、停止する。
c. 心理音響的により重要性の高いビットを読み込むための開始ポイント(a.参照)までのデータと、この開始ポイントと2つのポインタの遭遇点の間のデータとを交換する。
【0049】
4. 心理音響的により重要性の低いビットがビットストリームの一方の端に集められるように書かれたオーディオフレームは、以下の通り読み込まれる。
a. フレームの読み込みを両側から開始する。心理音響的により重要性の低いビットがビットストリームの左側に記憶される場合、心理音響的により重要性の高いビットを左側から読み込むための開始ポイントは、心理音響的により重要性の低いビットのために規定されたビットの数から導出することができる。心理音響的により重要性の低いビットがビットストリームの右側に記憶されるのであれば、心理音響的により重要性の高いビットを右側から読み込むための開始ポイントは、心理音響的により重要性の低いビットに対して規定されたビット数および総ビット数から導出することができる。
b. 2つの書き込みポインタが互いに遭遇すれば、停止する。
c. フレームの残りの部分の読み込みを両側から継続する。心理音響的により重要性の低いビットを右側から読み込むための開始ポイントは、心理音響的により重要性の高いビットを左側から読み込むための開始ポイント(a.参照)と同じである。
【0050】
図5は、本願発明の好ましい実施態様にかかるオーディオ送信プロセッサを図示している。オーディオ送信プロセッサは好ましくは、フレームビルダー506とエラー保護コーダ508を備える。
【0051】
オーディオ送信プロセッサへの入力は、典型的には可変長オーディオエンコーダであるオーディオエンコーダ500に入力されたオーディオデータのフレームから導出される、いくつかのオーディオデータ等の符号化済みオーディオデータである。オーディオエンコーダが要求するビット量は符号化される信号によって異なるが、好ましい実施例においては、オーディオデータの出力は、典型的には符号化済みオーディオデータのフレームの形態で、固定長フレームである。従って、オーディオエンコーダは、典型的には符号化が困難な符号化されるオーディオデータのフレームが、最終的に、より低い品質の表現される一方で、符号化が容易な、すなわち、ある品質レベルに対してより低いビット数で符号化され得る符号化されるオーディオデータのフレームが最終的により高い品質の表現によってオーディオエンコーダ500の出力において表現されるように、可変品質で符号化する。
【0052】
典型的には、オーディオデータのある特定の、例えば時間領域部分についてのオーディオエンコーダの出力は、第1の量の情報ユニットと第2の量の情報ユニットを含む。重畳加算状態が50%の場合には、時間領域部分はフレームのサイズの2倍、すなわちエンコーダに新たに入力された、あるいはデコーダの重畳加算ステージから出力されたオーディオサンプルの数となる。
【0053】
例えば、並べ替え器502および次いで接続されたフレーム書き込み器504を備えることがある、あるいは、例えば、中間表現が問題にならない場合にのみフレーム書き込み器から成る、
図5のフレームビルダー506は、当該フレームの既定の符号語の総数についての基準位置を定義する符号語ラスタを有するフレームを構築するように構成される。このようなフレームは、例えば、
図9a、9bおよび9cに関して図示されており、例えば異なる符号語の配置がもたらされ、また、例えば既定の符号語の基準位置が垂直線で示され、これらの基準位置は符号語の冒頭または末尾またはその両方である。これらの基準位置またはラスタポイントは特殊な情報ユニットを一切必要とせず、いくつかのデータが書き込まれている所定のビットまたはバイト位置によってもたらされる。よって、基準位置またはラスタポイントは、オーバーヘッドを一切伴わず、典型的にはエラー保護プロセッサのための符号語の冒頭または末尾をマークする。
【0054】
本願発明によれば、フレームビルダーは第1の量の情報ユニットのうち、符号語の第1の既定のサブセットの基準点から始まる第1の量の情報ユニットの情報ユニットを書き込むように構成される。
【0055】
第2の量の情報ユニットの情報ユニットは、符号語の第2の既定のサブセットの基準位置からスタートして書き込まれる。とりわけ、フレームビルダー506は、第2の量の情報ユニットの始まりとなる情報ユニットが符号語の境界と一致するように、第1の量の情報ユニットと第2の量の情報ユニットとの間の境界を決定するように構成される。こうして、第1の量の情報ユニットと第2の量の情報ユニットとの間の明確な分離、および送信側と受信側とに対応して関連付けられたエラー保護処理手順が得られる。
【0056】
オーディオ送信プロセッサは、既定の数の符号語を個別に処理してエラー保護済みフレームを表す複数の処理済み符号語を得るための、エラー保護コーダ508をさらに備える。この処理手順のためには、エラー保護コーダは、リード・ソロモンエンコーダ等のエントロピー加算エンコーダまたはブロックエンコーダを備えることがある。あるいは、またはそれに加えて、エラー保護コーダは、第1の既定のサブセットの1つ以上の符号語を処理して第1のハッシュ値等の第1の処理結果を得る、または第2の既定のサブセットの1つ以上の符号語を処理して第2のハッシュ値等の第2の処理結果を得て、処理結果または第1または第2の処理結果の一方を既定の数の符号語に加算して複数の処理済み符号語を得るCRCまたはハッシュ値プロセッサ等符号語を個別に処理しない別の装置を備えることがある。第1の処理結果は第1の既定のサブセットからしか導出されず、第2の処理結果は第2の既定のサブセットからしか導出されない。好ましくは、エラー保護処理の順序は、第1および第2の処理結果が、リード・ソロモンその他のエラー保護ブロックエンコーダの入力における符号語等、まだエラー冗長性処理にかけられていない符号語から算出される。好ましくは、第1および第2の処理結果は、別個の追加の符号語として第1または第2の既定の符号語のセットに、あるいは第1または第2のセットのいずれかにおいてまだ利用可能な空きスペースのいずれかに加算され、符号語とハッシュ値等の処理結果とはリード・ソロモン符号化プロセッサによって保護される。
【0057】
図5のエラー保護コーダ508によって得られたエラー保護済みフレームは、DECT(デジタル強化コードレス電話)規格準拠デバイス等、好ましくはワイヤレス送信に転送される。したがってこの送信510は、エラー保護済みフレームをエラー率の高い(ワイヤレスの)チャンネルに送信する。
【0058】
好ましくは、フレームビルダー506は第1の量の情報ユニットと第2の量の情報ユニットとの間の境界を、第2の既定のサブセットの情報容量が第2の量の情報ユニットの情報ユニット量と等しくなるように、第2の既定のサブセットの情報容量に基づいて決定するように構成される。フレーム書き込み器504がフレーム全体のデータ総量から第2の既定のサブセットの容量を除いたのと等しいデータ量を書き込むとすぐに、オーディオフレームの第1の量のデータは完了し、符号語の第2の既定のサブセットの最初の符号語の冒頭から第2の量のデータが始まる。
【0059】
第1および第2の量の情報ユニットを生成するためのオーディオエンコーダ500またはソースエンコーダは、フレーム毎処理に依拠し、オーディオ信号の既定の時間部分を使用する。情報ユニットは、算術エンコーダまたは一般的には可変長エンコーダによって生成されたデータ等の必須情報ユニットのセットを含んでいる。情報ユニットは、オーディオ信号の時間部分の高品質表現を提供する可変数の残余情報ユニットを有し、ビット予算が算術エンコーダによって満杯になっていない場合に、このデータはビットストリームに書き込まれる。ソースエンコーダ500は、既定の時間部分について、信号に依存する数の情報ユニットをもたらす、可変長符号化規則を使用するように構成される。フレームビルダーは、符号化済みオーディオフレームが符号化済み情報ユニットにおいてサイズが固定されるように、符号化済みオーディオフレームを構築するように構成され、またオーディオエンコーダ500は、可変数の残余情報ユニットを既定のフレームサイズと必須ビットの数との差分として決定するように構成される。
【0060】
好ましくは、フレームビルダー504は第1の量の情報ユニットと第2の量の情報ユニットとの境界をフレーム毎に信号適応的に決定し、境界が、フレームのためのオーディオ信号に応じて、そのフレームの別のオーディオ情報に関連する、またはオーディオデコーダによって別の解釈をされる、境界情報ユニットを表すように構成される。好ましくは、境界情報ユニットは、好ましくはオーディオエンコーダ500内で使用され、エンコーダについては
図21、デコーダについては
図22で後述するスペクトル領域オーディオコーダにおける特定のスペクトル値またはスペクトル値の特定の組合せを参照し、表現する。
【0061】
本願発明の好ましい実施態様において、フレーム書き込み器504、あるいは一般的にはフレームビルダー506は、第1の量の情報ユニットを
図6の600に示される第1の既定のサブセットに書き込むように構成される。ステップ601において、第1のサブセットが情報ユニットで満杯になるとすぐに、第1の量の情報ユニットと第2の量の情報ユニット間の境界が決定される。アイテム602に記される通り、第2の量の情報ユニットが符号語の第2の既定のサブセットに書き込まれる。
【0062】
好ましくは、
図7に図示されるとおり、符号語の第1の既定のサブセットは、符号語の順番と特定の基準位置を有する。同じく好ましくは符号語の順番と基準位置を有する符号語の第2の既定のサブセットについても同様である。
【0063】
図9aは符号語のフレーム内で符号語の既定のサブセットを並べる第1の可能性を図示している。
図9aの実施態様において、符号語の第1のサブセットは符号語4、5、6、7であり、符号語の第2のサブセットは符号語1、2、3である。
【0064】
好ましくは心理音響的により重要性の低いオーディオデータである第2の量の情報ユニットを受信する、符号語の第2のサブセットの符号語はすべて、互いに隣接してフレーム開始位置に配置される。好ましくは心理音響的により重要性の高いオーディオデータである第1の量の情報ユニットを受信する、符号語の第1のサブセットの符号語はすべて、互いに隣接してフレーム終了位置に配置される。
【0065】
符号語の第1の既定のサブセットは、フレーム内の4番目の符号語によって、および符号語4から符号語5まで、符号語5から符号語6まで、符号語6から符号語7までの符号語の順番またはシーケンスによって事前に定められている。第1の既定のサブセットは、符号語および書き込み方向に対する符号語の順番を識別する。フレームビルダーは、好ましい実施態様において、符号語の第1のサブセットすなわち符号語の基準位置から始まる矢印に示される符号語4、5、6、7を書き込むように構成される。左から右への書き込み動作は、4番目の符号語の始まりを基準位置として開始され、反対方向への書き込みは7番目の符号語の終わりを基準位置として、すなわちフレーム終了位置から開始される。第2の既定のサブセットも同じく符号語および書き込み方向に対する符号語の順序に相応して特定する。
【0066】
符号語の第2の既定のサブセットは、フレーム内の最初の符号語によって、および最初の符号語から2番目の符号語までと2番目の符号語から3番目の符号語までの順序またはシーケンスによって事前に定められている。符号語またはサブセットがすべて互いに隣接している場合、順番またはシーケンス情報は書き込みまたは読み込み方向から黙示的にもたらされる。ここでも、左から右への左方向での書き込みは、最初の符号語のフレーム開始位置からであり、第2のサブセットの右端すなわち符号語3からの書き込みは、3番目の符号語の末尾からフレーム開始位置の方向に向けてスタートする。
【0067】
当然、第1のサブセットおよび第2のサブセットにおける符号語の数は自由に選択可能であり、第2のサブセットの符号語の数が多いほど、完全フレーム損失隠蔽の必要は少なくなる。しかしながら、
図13に図示されるオーディオ受信プロセッサが検出できる通り、第2のサブセットの全ての符号語、あるいは例えば
図9aの実施様態における第2のサブセットの符号語1および3がエラーである場合、許容できる品質での部分的フレーム損失隠蔽が可能なように、第1のサブセットの符号語の数は確実に、十分大きな数でなければならない。
【0068】
図9bは、第1の既定のサブセットおよび第2の既定のサブセットの別の実施態様を図示している。ここでも、いずれのサブセットも互いに隣接する符号語を定義しているが、第1の既定のサブセットはフレーム開始位置に並べられており、符号語の第2の既定のサブセットはフレーム終了位置に並べられている。
【0069】
図9cは第1のサブセットと第2のサブセットとが互いに隣接せずに、つまり第2のサブセットの符号語すなわち符号語2が、第1の既定のサブセットの2つの符号語すなわち符号語1と符号語3との間に散在して並べられている、別の選択肢を図示している。
図9cはここでも個々の符号語の書き込み方向を示しており、例えば符号語番号5は両側から書き込まれ、該当する場合には、符号語の第2のサブセットを書き込むための書き込みポインタは符号語番号5内のどこかで互いに遭遇することになることが明らかになっている。
【0070】
図9a~9cの実施態様においては、符号語表現の上側の矢印は、
図8に関連して下記に論じられる、2つの書き込みポインタの好ましい実施態様が適用された場合の書き込み方向を示している。とりわけ、
図9a~9cに関して論じたとおり、フレームビルダー506は、例えば
図9aに図示されるような符号化済みオーディオデータのフレームの片側にある既定の数の隣接する符号語を符号語の第2のサブセットとして使用する、あるいは、例えば
図9aまたは
図9bに関連して図示されるような符号化済みオーディオデータのフレームのもう片側にある第1の既定数の隣接する符号語を符号語の第1のサブセットとして使用するように構成され、ここで符号語の第1の既定数と符号語の第2の既定数の合計は符号語の総既定数に等しい。あるいは、
図9cに図示されるように、第1のサブセットの少なくとも1つの符号語は第2のサブセットの2つの符号語の間に配置される、あるいは第2のサブセットの少なくとも1つの符号語は第1のサブセットの2つの符号語の間に配置される。
【0071】
好ましくは、フレームビルダー506は、符号語の第1のサブセットの基準位置を使用して、第1の量の情報ユニットを第1の既定のサブセットに書き込むように構成され、第1の既定のサブセットが満杯になったらすぐに、第2の量の情報ユニットが第2の既定のサブセットの基準位置に書き込まれ、フレームビルダー506は第1の既定のサブセットの最後の符号語に書き込まれた最後の情報ユニットまたは第2の既定のサブセットの最初の符号語の基準位置に書き込まれた最初の情報ユニットとして境界を決定するように構成される。好ましくは、第1および第2の量の情報ユニットは、第1の量の情報ユニットの全てまたは少なくとも過半数の情報ユニットが、第2の量の情報ユニットの過半数またはすべての情報ユニットよりも心理音響的により重要性が高くなるように選択される。
【0072】
あるいは、またはさらに、また送信側についても論じたように、第2の量の情報ユニット内の情報ユニットのみの破損が検出された場合には、オーディオ受信プロセッサにおいて部分的フレーム損失隠蔽のみが想定され、第1の量の情報ユニット内で情報ユニットが破損していることが検出された場合には、オーディオ受信プロセッサにおいて完全フレーム損失隠蔽が想定される。
【0073】
図1または
図2に関して後述されるとおり、符号化済み情報ユニットは、固定長サイド情報、可変長サイド情報、時間ノイズ整形情報、スペクトルの第1周波数部分の1つ以上の最上位ビット、スペクトルの第1周波数部分より高い第2周波数部分の1つ以上の最上位ビット、第1周波数部分の1つ以上の最下位ビットまたは符号ビット、第2周波数部分の1つ以上の最下位ビットまたは符号ビットおよび残余ビットから成るカテゴリーグループから選択された少なくとも2つのカテゴリーから成り、固定長サイド情報、可変長サイド情報、時間ノイズ整形情報、第1周波数部分のスペクトルの1つ以上の最上位ビット、および第1周波数部分の1つ以上の最下位ビットまたは符号ビットは、オーディオエンコーダによって生成されれば、情報ユニットの第1合計のカテゴリーとして使用され、第2周波数部分の最上位ビット、第2周波数部分の1つ以上の最下位ビットまたは符号情報ユニットまたは残余ビットは、情報ユニットの第2合計のカテゴリーとして使用される。
【0074】
図8に図示される好ましい実施態様において、2つの書き込みポインタ810、812が使用されている。第1書き込みポインタ810は第1の書き込み方向で動作して書き込むように構成され、第2書き込みポインタ812は第1の書き込み方向とは反対の第2の書き込み方向で動作して書き込むように構成される。第1書き込みポインタのためのデータは第1制御入力によって得られ、例えば、オーディオエンコーダ出力データが考えられるあらゆるフォーマットで存在する、あるいは例えば
図1に関してLC3(低複雑性コミュニケーションコーデック)オーディオエンコーダについて論じた標準化フォーマット等、特定の中間フォーマットが存在する、例えば入力バッファ802から取り込まれる。
【0075】
最初の例のケースでは、入力バッファ内のデータはエンコーダから直接もたらされる。この場合、データはエンコーダから来た時のまま取り込まれる。この最初の例のケースのある例においては、エンコーダは、スペクトル線または第1制御入力804のスペクトル線タプルのLSBおよび符号、ならびに第2制御入力806の同じスペクトル線またはスペクトル線タプルのMSBを書き込む。
【0076】
2番目の例のケースでは、データは既に書き込まれているフレームに由来する。そのうえで、コントローラがビットストリームまたはフレームを読み込み、制御入力にデータを読み込み/構文解析順で提供するビットストリームまたはフレーム構文解析器を適用する。この第2の例のケースのある例においては、構文解析器はスペクトル線またはスペクトル線タプルのLSBおよび符号を読み込んでこのデータを第1制御入力804に提供し、構文解析器は同じスペクトル線またはスペクトル線タプルのMSBを読み込んでこのデータを第2の制御入力806に提供する。
【0077】
同じく入力バッファ802にアクセスし、第2の(反対の)方向に書き込むように構成される第2の書き込みポインタ812にデータを供給する、第2の制御入力806も存在する。コントローラ800は、少なくとも第1および第2の書き込みポインタ810、812および好ましくはさらに入力804、806を制御するように構成される。コントローラは、入力として、第2のセットの符号語の数、またはそれに対応して、より重要性の低い情報ユニットの数すなわち符号語の第2の既定のサブセットの符号語の容量を受信する。コントローラは好ましくは、第1および第2の既定のサブセットならびに関連する順番についての情報、すなわちフレーム内の符号語の数/位置および/またはそれぞれのサブセットについての符号語の順番に関する情報を記憶している。
【0078】
コントローラ800は入力804、806を制御する。コントローラはさらに、第1の量の情報ユニットについて、第1および第2ポインタをフレーム内のスタート位置/アドレスにセットする。ポインタ810は増分され、ポインタ812は同期して減分されていく。
【0079】
コントローラ800は、第1のサブセットの全ての符号語が出力バッファに書き込まれたことを検出し、コントローラは第2の量の情報ユニットについて第1および第2ポインタのスタート位置/アドレスを設定し、そのうえで、さらに第2の量の情報ユニットの書き込みを追加で実行するために書き込みポインタを同期させて増分/減分させていく。好ましくは、コントローラ800が行う処理手順の順番は
図8に示されるものだが、異なった順番でも実行することができる。しかしながら、第1の量の情報ユニットがいつ書き込まれたのかに基づいて第2の量の情報ユニットのスタートを決定することは、オーディオエンコーダがオーディオ信号に依存して動作していても、第1および第2の量の情報ユニットをフレーム毎に決定するための機械的かつ低効率で複雑性も低い方法である。
【0080】
図10および
図11に関して論じられている通り、フレームビルダーにはいくつかのアプリケーションが存在する。とりわけ、
図10は直接書き込みが実行される処理手順を図示している。ステップ100において、フレームビルダーはオーディオエンコーダから符号化済みオーディオデータを受信し、符号語の第1の既定のサブセットを決定する。書き込みは両側から行われ、101に示される通り書き込みポインタが互いに遭遇したときに書き込みが停止される。書き込みは、すべての情報ユニットが書き込まれるまで符号語の第2の既定のサブセットへと継続される。とりわけ、102に示されるとおり、書き込みは少なくとも1つの書き込みポインタに関しては、第2の既定のサブセットについてフレームの冒頭または末尾において継続される。
【0081】
フレームビルダーは、LC3ビットストリームフォーマット等既存のビットストリームを並べ替えるのにも使用することができる。この手順においては、符号化されたオーディオフレームは、例えば第1のセットのための全ての符号語または第2のセットのための全ての符号語は、最終的に並べ替えられるフレームの左側または右側に互いに隣接して配置されている、特定の/標準化された中間フォーマットで存在している。
【0082】
ステップ200において、第1の既定のサブセットが決定される。ステップ202において、中間フォーマットが両側から読み込まれ、構文解析される。ステップ204では、第1の既定のサブセット内の情報ユニットの容量が読み込まれたときに、読み込みと構文解析が停止される。ステップ206では、例えば詳細を後述する
図3に図示されるような特定の実施態様において、左のポインタまでのデータをポインタ間のデータと交換することで、フレームの書き込みが行われる。
図11の実施態様における書き込み動作はステップ206でしか行われない。というのも、ステップ202ないし204は読み込み、構文解析およびその他の処理手順を行うことにしか関連していないためである。書き込みは必ずしも、
図10に関連して論じた直接書き込みにおいてと同様に増分または減分書き込みである必要はなく、書き込みは所定の連続した量の情報ユニットを交換することで行われる。
【0083】
図12は、
図5に図示されるエラー保護コーダ508の好ましい実施態様を図示している。最初のステップ210では、エラー保護プロセッサ508は、符号語の第2のサブセットからの符号語なしで、符号語の第1の既定のサブセットのみから第1のハッシュ値を算出する。ステップ212において、第2の既定のサブセットのみからすなわち第1の既定のサブセットからの符号語なしで、第2のハッシュ値が計算される。
【0084】
ステップ214では、第1および第2のハッシュ値は214に示される通りフレームのサブセットに追加される。ステップ216では、例えばDECT準拠送信である好ましくはワイヤレスの送信510に転送されるエラー保護済みフレームを得るために、リード・ソロモン符号化等のブロック符号化がサブセットおよびハッシュ値に対して行われる。
【0085】
図21はオーディオエンコーダ500等の典型的なオーディオエンコーダまたはソースエンコーダを図示しているが、オーディオエンコーダ500は、可変長に動作する、すなわちオーディオ信号の時間部分について、品質が一定に保たれているときにフレーム毎に変動する所定の量のビットを生成する他の任意のオーディオエンコーダによって実施することもできる。
【0086】
オーディオ信号は、好ましくは重畳して動作する、すなわちウィンドウの時間長よりも低い時刻進行値を有する分析ウィンドウ52に入力される。このデータはフレームの(ウィンドウ化された)時間部分であり、好ましくはMDCT(修正離散コサイン変換)として実施される時間周波数変換54に入力される。
【0087】
ブロック56において、周波数に対する予測から成る任意の時間ノイズ整形動作が行われる。TNSステージ56の出力は予測残差値であり、さらにTNSサイド情報が算術コーダ等可変長エントロピーコーダであるエントロピーコーダ60に好ましくは出力される。MDCT出力スペクトル値またはTNSスペクトル残差値は心理音響的な制御を受けることも受けないこともある量子化器58によって量子化され、量子化されたデータは算術コーダ等可変長エントロピーコーダに入力される。オーディオエンコーダは、可変長エントロピーコーダが利用可能なビット予算を完全には消費しなかった場合にフレームを追加ビットで満たすために必要な剰余ビットを生成するための剰余コーダをさらに備える。その他使用できるまたはできない可能性のある特徴としては、ノイズ充填、グローバルゲイン適用またはスペクトルノイズ整形がある。ブロック60の出力において、MSB、LSB、符号またはその他のデータであり得るデータをブロック60から受信するビットストリームマルチプレクサが配置される。
【0088】
図22に図示されるデコーダ側には、例えばここでも算術デコーダである可変長エントロピーデコーダがある。可変長エントロピーデコーダの成果が逆量子化器74に入力され、逆量子化器74の出力は、TNS処理が利用可能な時には逆TNSプロセッサによって処理され、あるいはTNS処理が実行されないときには、逆量子化器74の出力は、例えば
図22の78に示される逆MDCT変換であり得る逆周波数時間変換に転送される。ブロック78の出力は、最終的に時間領域復号化済みオーディオ信号を得る合成ウィンドウ化器および重畳/加算プロセッサ80に送信される。逆TNSプロセッサ74が使用するTNSデータは典型的にビットストリームから導出され、さらに好ましくは可変長エントロピーデコーダから導出されるが、データを符号化・処理・送信するための他の方法も同様に使用することができる。
【0089】
次に、
図1~
図4に関連して本願発明の好ましい実施を論じる。この実施態様は
図9aに図示される符号語の第1及び第2の既定のサブセットの順番および並びに依拠しているが、他の配置にも同様に適用することができる。以下の実施様態は、ビットレベルに至るまで明確に詳細を与えているが、当然具体的な数字は単なる実施態様であり、他の詳細な数字/数も同様に使用することができることは明らかである。
【0090】
本セクションにおける主眼は、データを所与のエラー保護・検出スキームに並べて、心理音響的により重要性の高いデータおよび心理音響的により重要性の低いデータの利用可能性に依存した個々のフレーム損失隠蔽手順を可能にする並べ替えシナリオについて例示的なものである。
【0091】
好ましい実施態様はLC3ビットストリームペイロードに基づいて説明する。このビットストリームペイロードは大まかに以下のカテゴリー(前記参照)に細分することができる。
1. サイド情報、固定部分(赤塗りつぶし)および可変部分(赤白対角斜線)
2. 算術的に符号化されたTNS(TNSarith)
3. 算術的に符号化された、スペクトルのMSB(MSB Specarith)
4. スペクトルのLSBおよび符号(LSB-Sign Spec)
5. 残余
【0092】
スペクトルはスペクトルタプルで符号化され、各タプルは2つの後続のスペクトル線を示すことに留意されたい。
【0093】
矢印は、書き込み・読み込み方向を示す。書き込み/読み込み順序は以下の通りとなる。
1. サイド情報の固定部分が右から左に書き込まれる。
2. サイド情報の可変部分が右から左に書き込まれる。
3. 算術的に符号化されたTNSデータが左から右に書き込まれる。
4. 算術的に符号化されたスペクトルのMSBならびにスペクトルのLSBおよび符号が同期して(スペクトル線毎に、最低周波数を表すスペクトル線から)書き込まれ、算術的に符号化されたMSBは左から右に書き込まれ、LSBおよび符号(算術的に符号化されていない)は右から左に書き込まれる。
5. これら2つのデータ部分の間にまだ残っているビットがある場合には、残余ビットは右から左に書き込まれる。
【0094】
カテゴリー1および2は常に心理音響的に重要性が高いものとされ、カテゴリー3~5は概して心理音響的により重要性が低いものとされる。しかし、この領域内の全てのビットについて関連性は一定ではない。
・ 残余を表すビットは最も重要性が低い。
・ カバーされるスペクトル線が表す周波数が高いほど、スペクトルタプルを表すビットは心理音響的により重要性が低い、すなわち
・ 周波数がより高いスペクトル線をカバーするスペクトルタプルを表すビットはより重要性が低い。
・ 周波数がより低いスペクトル線をカバーするスペクトルタプルを表すビットはより重要性が高い。
【0095】
図1および
図2は、心理音響的関連性に基づくビット分布を示している。赤は関連性が高いことを示す。緑は関連性が低いことを示す。移行フェーズが2つあり、いずれもフレーム毎のベースで動的に変化する。
【0096】
ビットストリーム内で最後に書き込まれたビットは心理音響的により重要性の低いビットである。その配置は可変である。ビットストリームを書き込んでいるまたは読み込んでいる(および構文解析している)間に、心理音響的により重要性が低いとされる所与のビット数が残るまでチェックすることで、直接決定することができる。この所与の数は残余と所定数のスペクトル線のビット(MSBならびにLSBおよび符号)をカバーする。スペクトルの適用範囲は最も高い周波数を表す線から始まる。より重要性の低いビットの所与の数が大きいほど、これらのより重要性の低いビットが歪められた場合に復号化を成功させることができる、上側周波数は低くなる。
【0097】
心理音響的により重要性が低いとされる符号語の数N
pccwと、心理音響的により重要性が低いとされるビットの量は同調パラメータである。この同調パラメータは、好ましくはエラー保護コードの特性から決定される。LC3における1つの実施態様について、最適サイズは実験的に、チャネル符号化済みフレームのサイズ、すなわち総フレームサイズをバイトで明示するエラー保護コードの特性の例としての保護強度(エラー保護モードm)およびスロットのサイズNsに依存して導出された。このことは、以下の数式に具現化されている。
【0098】
図3は、並べ替え前後のオーディオフレームならびにチャンネルコーデックが提供する符号語の割り当ての例を示している。また、デコーダ側の並べ替えたビットストリームペイロードの構文解析も示している。
【0099】
この例における総ビットレートは10msのフレーミングで76800ビット/秒であり、その結果フレームあたり96バイトとなる。このフレーム長に対し、チャンネルコーデックは13の符号語を提供する。3つの符号語は総サイズ7バイトで、10個の符号語は総サイズ7.5バイトである。エラー保護モード4(=オーバーヘッドで3バイトの保護)では、fec(前方誤り訂正)のオーバーヘッドは39バイトであり、ペイロードに57バイトが残され、正味サイズ4バイトの3つの符号語と正味サイズ4.5バイトの10個の符号語にわたって分割(3)される。
【0100】
図3Aは、57バイトのパケットに分離され、その結果総ビット数456[0:455]となったフレームのビットストリームペイロードを示している。赤いブロックは静的サイド情報に相当し、赤白の斜線領域は、符号化されたデータに依存してフレーム毎に変化する可能性のある、動的サイド情報に相当する。
【0101】
より重要性が低いとされるビットは青で示され、ビット境界b_leftとb_rightとで境界を画定されている(与えられている例では、b_left=184、b_right=315)。この領域は残余ビットと重複し、さらに「MSB Specarith」および最高周波数から始まる「LSB+Sign Spec」からのビットをさらにカバーする。「MSB Specarith」からのビット数は通常「LSB+Sign Spec」からのビット数よりも多い。通常、LSBおよび符号を符号化するよりもMSBを符号化する方が、スペクトル線当たりの消費するビットがより多いからである。
【0102】
b_leftまでの「MSB Specarith」(左から右に書き込まれ、緑で表されている)とb_rightまでの「LSB+Sign Spec」(右から左に書き込まれ、白で表されている)は併せて、ゼロヘルツからその時点で符号化された最高周波数までにスペクトルタプルを表す。心理音響的により重要性が低いと見なされるスペクトルタプルがもう1つ多ければ、少なくとも1つの境界が外側に動く。心理音響的により重要性が高いとみなされるスペクトルタプルがもう1つ多ければ、少なくとも1つの境界が内側に動く。
【0103】
図3Bは、並べ替えた後のフレームを示している。青い部分[184:315]は緑色の部分[0:183]と交換されている。青い部分は緑の部分よりも小さくても等しくても、大きくても良いことが指摘される。
【0104】
図3Cはチャンネルコーデックに入力された13の符号語のペイロードを表示している。
【0105】
図3Dは受信したビットストリームペイロードを示している。例示的に2つの歪んだ符号語を示している。
【0106】
図3Eは復号化プロセスを示している。例示的に、2つのビット境界be_bp_leftとbe_bep_rightに囲まれた、歪んだビットを示している。この範囲内のビットによって表わされるスペクトルタプルの周波数ビンは部分的フレーム損失隠蔽によって合成されるものとする。
【0107】
当然、ビットストリームペイロード内のビットの2つの想定しているクラスへの割り当ては、チャンネルコーダによって提供された符号語を直接マッピングするものではない。
【0108】
示されている例においては、
図3Aのb_leftからb_rightの間の部分[184:315]は第2クラスに割り当てられ、他のビット[0:183]および[316:455]は第1クラスに割り当てられる。ここで、
図3Aで第2クラスに割り当てられるビット[184:315]は第2クラスのための符号語の数を増大させない限り、
図3Cの符号語構造には当てはまらない。第2クラスは符号語6[184:203]に部分的に、符号語7~9[204:311]には全面的に、そして符号語10[312:315]には部分的に存在することになる。よって、
図3Bに示されるような並べ替えが必要となる。こうすれば第2クラス[0:131]は完全に最初の4つの符号語1~4に当てはまることになる。
【0109】
示されている例においては、4つの符号語が第2クラスに属し、9つの符号語が第1クラスに属している。いずれかのクラスに記憶されるビット数はこのクラスの符号語によって提供されるペイロードビットの量によって限定される。示されている例においては、符号語1~3はそれぞれ、4バイトのペイロードを提供しているが、符号語4~13はそれぞれ4.5バイトのペイロードを提供している。その結果、
・ 心理音響的により重要性の低いビットについては3×4バイト+1×4.5バイト=16.5バイト、
・ 心理音響的により重要性の高いビットについては9×4.5バイト=40.5バイト
となる。
【0110】
心理音響的により重要性の低いビットの数(block_size)は予め定められているが、境界(b_leftおよびb_right)の位置はフレーム毎のベースで変動する。並べ替えの後、これらのビットは常に同じスポットに配置され、そのことによって効率的なチャンネル符号化が可能となる。
【0111】
エンコーダ側では、ビットストリームbs_encは以下のように並べ替えられる。
【0112】
ここで、lenはビット単位でのフレームの正味サイズであり、block_sizeはより重要性の低いビットの数である。
【0113】
デコーダ側では、「1.MSB Spec
arith」と「1.LSB+「SignSpec」を読み込む2つのポインタが互いにぶつかる(
図3E参照)境界である境界b_rightは、ビットストリームを復号化している間に決定される。心理音響的により重要性の低いビットの数は前方エラー保護構成(エラー保護モードおよび符号語数N
pccw)から既知である。デコーダ側のフレームの並べ替えbs_rearrangedは以下のように行われる。
【0114】
bs_rearrangedフレームにビットエラーが適用されていなければ、bs_encはbs_decと等しくなる。
【0115】
前記の通り、並べ替えは後処理工程で行っても、または書き込み/読み込みプロセス中に直接行っても良い。
【0116】
【0117】
エンコーダ側では、各フレームについて以下を行う必要がある。
1. ビットストリームペイロードの右端から始まるサイド情報の固定部分を右から左に書き込む。
2. サイド情報の固定部分の左端から始まるサイド情報の可変部分を右から左に書き込む。
3. TNSデータ、ビットストリームペイロードの左端の最初のblock_sizeを左から右に書き込む。
4. TNSデータの右端から始まるスペクトルデータの複数のMSB「1.MSB Spec
arith」を左から右に、b_left+block_size-1=b_rightまで書き込み、サイド情報の左端から始まるスペクトルデータのLSBおよび符号「1.LSB+Sign Spec」を右から左に、b_left+block_sizeまで書き込む。ちなみに、b_leftおよびb_rightは事前にはわかっていない点に注意されたい。
5. 「1.MSB Spec
arith」および「1.LSB+Sign Spec」を読み込む2つのポインタが互いに遭遇したときに境界b_left+block_size-1=b_rightが決定される(
図3Eの矢印参照のこと)。
6. ビットストリームペイロードの左側境界から始まるスペクトルデータの複数のMSB「2.MSB Spec
arith」の左から右への書き込みを継続する。またblock_size-1から始まるスペクトルデータのLSBおよび符号「2.LSB+Sign Spec」の右から左への書き込みを継続する。
7. スペクトルデータのLSBおよび符号の左端から始まる残余を右から左に書き込む。
【0118】
デコーダ側の読み込みは、記載したエンコーダ側の書き込みと同様に行うことができる。
【0119】
図3は並べ替えたビットストリームペイロードを書き込むまたは読み込むこのプロセスを図示したものである。
図3Aは「通常の」ビットストリームペイロードを示し、
図3Bは並べ替えたビットストリームペイロードを示している。上記の通り、この並べ替えたビットストリームペイロードは即刻書き込むまたは読み込むことが可能である。あるいは並べ替えはエンコーダ側の事後プロセスまたはデコーダ側の事前プロセスとして行うこともできる。しかし、この並べ替えプロセスのためには、ビットストリームは次のように構文解析する必要がある。
・ 元の順番→並べ替えた順番:b_leftおよびb_rightは書き込まれる残りのビットを数えることで探さなければならない。この数がblock_sizeに等しくなれば、境界に達したことになる。
・ 並べ替えた順番→元の順番:b_rightは「1.MSB Spec
arith」および「1.LSB+SignSpec」を読み込むポインタを観測して探さなければならない。両ポインタが互いに遭遇したときに、境界に達したことになる。
【0120】
心理音響的により重要性の低いビットを表すビット範囲はチャンネルコーデックによってあらかじめ定められているが、b_leftおよびb_rightは任意のビット位置にあっても良い。
【0121】
ある好ましい実施態様において、算術エンコーダ/デコーダはバイト粒度で動作する。この例においては、b_leftはすでにバイト境界に該当している。このことはb_left=184である
図3Aに反映されている。
【0122】
しかし、基調となるチャンネルコーダ(
図3C)はニブル(4ビット)粒度で動作するため、block_sizeはバイトの倍数ではない場合があり、よってb_rightもバイト境界に該当しない場合もある。この場合、上記に記載した並べ替えの後にミスマッチが起こる可能性がある。示された例においては、このようなミスマッチがバイト17[128:135](
図3E)に見られる。ここでは算術デコーダはバイト境界ではないビット位置132から復号化を始めなければならない。
【0123】
これに対処するために、block_sizeは
として導出される。
【0124】
図4は、この実施態様の例を、
図3におけるのと同じパラメータを想定して示している。ここでは、block_size=136ビットすなわちb_rightはここでは同じくバイト境界にあり、この結果算術デコーダのスタート地点はビット136となり、ひいては整数バイト位置17となる(
図4Eでは、算術デコーダはTNS
arithを復号化することから始める)。バイト17の右側ニブル[132:135](青白の斜線で表示)はここでは、心理音響的により重要性の高いデータをカバーすることを意図している符号語を与えられているが、心理音響的により重要性が低いとされるビットを含んでいる。このことは以下の効果をもたらす。
・ 符号語5に修正不能なビットエラーがあった場合、エラーがバイト17の右側のニブル、すなわちビット[132:135]のみに影響するとしても、フレーム全体を完全フレーム損失隠蔽で合成することになる。
・ 符号語5~13が良好で、符号語4内に訂正不可能なビットエラーがある場合、それはバイト17の左ニブルのみ、すなわちビット[128:132]に位置している場合、バイト17の右ニブルはエラーのない符号語5で符号化されているので、依然、復号化することができる。
【0125】
以下が指摘される。
・ b_leftは、
図3に示される例のように既にバイト境界にある場合でなければ、次の左のバイト境界に多少ずらすことができる。
・ 心理音響的により重要性の低いデータに属するスペクトルタプルの数は多少増やすことができるが、心理音響的により重要性の高いデータに属するスペクトルタプルの数はそれに対応して多少減少することがある。したがって、損傷のある一部の状況においては、復号化できる周波数タプルの数がニブル/ビット粒度未満となる可能性もある。ただし、品質に関しては、影響はわずかであり、その一方で算術エンコーダ/デコーダのより効率的な実施が可能になる。
【0126】
上記の例は粒度が互いに整数関係にある状況に対処するものであるが、粒度が非整数関係にある時または算術エンコーダの粒度がエラー保護粒度よりも低いときにも、同様の処理が使用される。
【0127】
2つのビットストリーム書き込み器はビットストリームに同時に書き込む、または2つのビットストリーム読み込み器はビットストリームから同時に読み込む(本ケースでは異なる方向に)ため、ビットストリームの並べ替え(心理音響的により重要性の低いビットと心理音響的により重要性の高いビットとの分離)の好ましいアプローチの特徴は、オーディオエンコーダ/デコーダがビットを空間的にではなく経時的に、重要性の高いビットから始まり重要性の低いビットで終了するように書き込むまたは読み込むこと、および、可変長符号化のため、所定の量のデータが書き込みまたは読み込まれた時にこれらの2つの書き込みまたは読み込みポインタがどこにあるかという事前情報が提供されないことである。これらの位置は、所定の量のデータが書き込まれまたは読み込まれたこと、あるいは2つのポインタが書き込みまたは読み込みの間に互いに遭遇したことを理由に、この量のデータが書き込まれた後、あるいはこの量のデータが構文解析された(すなわち読み込まれ評価された)後のいずれにしかわからない。
【0128】
符号化工程の後または復号化工程の前に事後処理または事前処理としての並べ替えは可能だが、並べ替えは追加の構文解析工程を必要とするため、並べ替えたビットストリームの直接書き込みまたは読み込みが好ましい。
【0129】
次に、デコーダまたは受信側に関連する本願発明の好ましい実施態様を
図13~20に関連して論じる。
【0130】
図13は、受信したエラー保護済みフレームを処理するためのオーディオ受信プロセッサを図示している。オーディオ受信プロセッサは、エラー保護済みフレームを受信し、エラー保護済みフレームをエラー保護プロセッサ302に出力するための受信インターフェース300を備える。エラー保護プロセッサ302はエラー保護済みフレームを処理して符号化済みオーディオフレームを得るように構成される。とりわけ、エラー保護プロセッサは第1および第2の既定のサブセット、好ましくは第1の既定のサブセットのみ、さらには第1の既定のサブセットに属する符号語のみについての情報を受信する。この情報は、エラー保護プロセッサ302から導出された符号化済みオーディオフレームの符号語の既定のサブセットがエラーを含むかどうかをエラー保護プロセッサ302がチェックするのに十分である。
【0131】
エラー保護プロセッサ302はエラー保護済みフレームを処理し、符号語を伴うフレームを出力し、さらに、典型的には固定長フレームである符号語を伴うフレームが符号語の第1の既定のサブセット内にエラーを含んでいるかについての情報を生成する。
【0132】
この文脈において、
図5のオーディオ送信プロセッサのエラー保護コーダ508に入力される符号語またはオーディオ受信プロセッサのエラー保護プロセッサ302が出力する符号語が、同じくペイロード符号語と見なされ得ること、およびオーディオ受信プロセッサのエラー保護プロセッサ302から出力される符号語または
図5のオーディオ送信プロセッサのエラー保護コーダ508に入力される符号語が適正(just)符号語と呼ばれることを指摘しておく。
【0133】
オーディオ受信プロセッサは、符号語の第1の既定のサブセット内にエラーが検出された場合にフレーム損失隠蔽操作を行う、または例えば離れた場所でかかる隠蔽操作を行わなければならないことの指示を生成するように構成された、エラー隠蔽器またはエラー隠蔽指示器304を備える。
【0134】
オーディオ受信プロセッサは、フレーム読み込み器306と、続いて接続されているオーディオデコーダ308とを備える。フレーム読み込み器306は、エラー保護プロセッサ302またはエラー隠蔽器またはエラー隠蔽指示器304によって制御できる。とりわけ、エラー保護プロセッサ302が符号語の第1の既定のサブセット内にエラーがあると判定し、その結果典型的な完全フレーム損失隠蔽が行われる場合、フレーム読み込み器306およびオーディオデコーダ308は、これらのブロックがこれ以上このフレームに対して動作を行わなくても済むように、制御することができる。
【0135】
エラー保護プロセッサ302が符号語の第1の既定のサブセットではなく符号語の第2オ既定のサブセット内にエラーがあると判定した場合、フレーム読み込み器306は符号語の第1の既定のサブセットを読み込むが、エラーが検出されたために符号語の第2の既定のサブセットの読み込みをスキップすることができるように、あるいは符号語の第2の既定のサブセットの全ての符号語がエラーではない場合、少なくともエラーが検出された所定の符号語の読み込みをスキップすることができるように、制御される。
【0136】
エラー保護プロセッサ302がいずれの符号語のサブセットもエラーがない、すなわちエラー保護プロセッサの処理手順によって修正されたエラーを含まないと決定した場合、フレームリーダー306は第1および第2の既定のサブセットについての既定の情報を用いて第1および第2の既定のサブセット内の符号化済みオーディオデータを読み込むように構成され、フレームリーダー306は読み込み済みオーディオデータをオーディオデコーダ308による処理のために、任意の形でまたは特定の中間フォーマットで出力することができる。
【0137】
エラー隠蔽器またはエラー隠蔽指示器304はエラー保護プロセッサ302によって制御され、部分的フレーム損失隠蔽を実行し、エラー隠蔽器は合成オーディオデータを生成し、合成オーディオデータをオーディオデコーダ308に転送して、オーディオデコーダが送信されたが第2の符号語の第2のセット内のエラーの影響を受けたオーディオデータの代わりに、より高いスペクトル値や残余データ等のこの隠蔽データを使用することができるようにしている。実施方法に応じて、
図13のエラー隠蔽器またはエラー隠蔽指示器304、あるいはフレーム損失隠蔽器は、1つ以上の先行するフレームからのデータを使用し、隠蔽器304は互いの機能が互いに統合されるように、オーディオデコーダに組込まれることがある。エラー隠蔽指示器の場合には、隠蔽はエラー保護プロセッサから離れた場所で行われ、オーディオデコーダは装置304から隠蔽の実行の指示を受信する。
【0138】
好ましくは、エラー保護済みフレームは2つのエラー保護工程を有する。最初のエラー保護工程は送信側のリード・ソロモンエンコーダ等のブロックコーダから導入された冗長性である。更なる2番目の保護の系統は、符号語の第1の既定のサブセットおよび符号語の第2の既定のサブセットに対する1つ以上のハッシュコードの算出である。
【0139】
エラー保護プロセッサ、およびとりわけエラー保護プロセッサが適用するリード・ソロモン符号等のブロックコードは、いくつかのエラーを検出・修正することはできるが、いくつかのエラーは検出または修正されることなくリード・ソロモン復号化を生き残ることができる、またはエラー修正がエラーを間違った方向で「修正」したということが起こりうる。これらのエラーも見つけるためには、リード・ソロモン復号化動作で出力された転送済みハッシュと、この転送済みハッシュ値と復号化済みの符号語の第1(または第2)の既定のサブセットから導出されたハッシュ値とを用いたハッシュ確認が実行される。
【0140】
好ましい実施が
図14に図示されている。ステップ400において、エラー検出/訂正を伴うリード・ソロモン復号化が実行される。この処理手順により、符号語を伴う復号化済みフレームおよび好ましくはハッシュ値として実施される送信された第1および第2の結果値がもたらされる。ステップ402では、第1のハッシュ値が第1の既定のサブセットから計算され、ステップ404では計算された第1のハッシュ値が、送信された第1のハッシュ値と比較される。両ハッシュ値が等しい場合には、ステップ406の手順に進むことになる。ただし、両ハッシュ値が等しくない場合には、エラーが検出されて処理が停止され、ステップ408に記される通り完全フレーム損失隠蔽が開始される。
【0141】
しかしながら、第1のハッシュ値と送信された第1のハッシュ値が互いに等しいと判定されると、第2のハッシュ値が計算され送信された第2のハッシュ値と比較される、ステップ406が実行される。両ハッシュ値が等しくない場合には、ステップ410に示される処理手順が適用される、すなわち部分的フレーム損失隠蔽が実行される。ただし、符号語の第2の既定のサブセットに対する両ハッシュ値が等しいと判定された場合、フレームリーダーおよびオーディオデコーダは、無エラー復号化動作を実行するように制御される。
図14に図示される処理手順は好ましくはエラー隠蔽器またはエラー隠蔽指示器304、および/またはエラー保護プロセッサ302によって実装される。
【0142】
図15は、
図14のブロック410に図示される部分的フレーム損失隠蔽の好ましい実施を図示している。ステップ420において、符号語の第2の既定のサブセットの全ての符号語のうち、符号語1つだけ、あるいはそれ以上がエラーなのかが決定される。このために、リード・ソロモンデコーダ等のブロックデコーダまたは符号語毎のCRCチェックから情報を受信することになる。典型的には、リード・ソロモンデコーダは符号語の第2の既定のサブセットの符号語がエラーであること、あるいは符号語の第2の既定のサブセットのどの符号語がエラーであるかを示す。例えば、ブロック420によって、1つまたは2つの符号語のみがエラーであって、符号語の第2の既定のサブセットの他の符号語は正しいことが示される。これらの損傷していない他の符号語のデータは可能な限り通常の復号化または部分的隠蔽に用いられる。ステップ422において、第2の既定のサブセットのエラーでない1つ以上のブロックまたは符号語が読み込まれる。
【0143】
ステップ424において、エラーである1つ以上の符号語がスペクトル範囲や残余データ等のどの意味を反映するかが決定される。このためには、符号語の第2の既定のサブセットの符号語の順序および基準位置に関する情報が有用となってくる。ステップ424はエラーの符号語の意味を決定して、ステップ426において、ブロック424が決定したスペクトル範囲等、エラーであるブロックのための隠蔽データを合成できるようにする。あるいは、ある種のエラー隠蔽は、損傷していると表示された残余データが単純にスキップされて、残余データのみが損傷している問題のない状況におけるエラー隠蔽処理手順の一種として、残余の復号化とエラーのない符号語の場合には得られるはずの対応する品質向上が単純に行われないことになる。
【0144】
しかしながら、所定のスペクトル範囲が損傷していると判定された場合には、このスペクトル範囲のための隠蔽データがブロック426によって生成される。
【0145】
ブロック428では、部分的フレーム損失隠蔽処理手順から生じるオーディオ信号の時間部分(フレーム)のための復号化済みオーディオ信号を最終的に得るために、第1の既定のサブセットから読み込まれたデータおよび第2の既定のサブセットの符号語からの正確なデータならびに隠蔽データが結合されて復号化される。
【0146】
図16はブロック424が実行する処理手順の概要を図示したものである。隠蔽スペクトル範囲を得るために、エラーであるデータを伴うビットストリームを構文解析することで、これらのデータがスペクトル値を表すデータの意味が決定される。しかしながら、これらのデータの実際値は、エラーであるとされているため、使用されることはない。ステップ424および426に続く処理手順の結果は、隠蔽境界までエラーのないスペクトル範囲データが得られ、隠蔽境界と最大周波数との間のスペクトル範囲について、合成/隠蔽データによって置き換えられるエラーのあるスペクトルデータが存在するということになる。しかしながら、他の実施態様においては、隠蔽スペクトル範囲が最大範囲まで完全には伸張せず、隠蔽境界とオーディオデコーダが要求する最大周波数よりも低い別の境界との間の所定のスペクトル範囲しかカバーしない場合もある。オーディオデコーダはそれでも、隠蔽境界と最大周波数の間は正しく受信されたデータを受信する。
【0147】
ある実施態様において、エラー隠蔽器またはエラー隠蔽指示器304は代替データを生成するように構成され、このデータはその後復号化される、あるいは概してエラーの無いデータと共にデコーダによって用いられる。別の実施態様においては、エラー隠蔽器またはエラー隠蔽指示器304はエラー隠蔽指示を生成するだけで、この指示は、ブロック304と308を接続する線によって示されるように、
図13のデコーダ308等のオーディオデコーダによって評価され、この接続線がエラー隠蔽指示を伝搬する。そのうえでオーディオデコーダが必要なエラー隠蔽措置を、(一般には、エラー隠蔽指示は「復号化」または解釈されるが)先行するフレームからのデータの使用やヒューリスティック処理手順やその他の関連する処理手順等の特定のオーディオ復号化動作なしで、講じる。
【0148】
図17は
図1、2、3または4について論じたデータまたは
図21のオーディオエンコーダによって得られたデータが使用される状況を図示したものである。ステップ430において、正しい最上位ビットに対応する最高周波数が隠蔽境界として決定される。あるいは、MSBおよびLSB/符号ビットの最高周波数のうちの上限が隠蔽境界として決定434される。
【0149】
ステップ432において、より高い周波数値は完全にあるいはおそらく得られたであろうLSBまたは符号ビットを使用して合成される。より高い周波数のMSBビットは損傷していても、損傷したMSBビットに対応するスペクトル値についてはLSBまたは符号ビットは未だ使用することができる。ステップ436において、エラーのあるデータが隠蔽境界よりも低い周波数値のLSBまたは符号ビットをカバーする際は、エラーのあるデータも同じく合成される。合成処理手順の出力は、
図16に概略的に図示される隠蔽スペクトル範囲のためのスペクトル値の形での合成/隠蔽データである。
【0150】
図18は
図13のフレーム読み込み器306の好ましい実施を図示している。フレーム読み込み器は好ましくは、入力バッファ442と出力バッファ452またはオーディオデコーダへの直接出力を備える。フレーム読み込み器306はコントローラ440、第1の読み込み方向に動作する第1制御入力ポインタ444、および第2の読み込み方向に動作する第2制御入力ポインタ446を備える。第1制御入力ポインタ444は第1書き込みポインタ448にデータを送り、第2制御入力ポインタ446は第2書き込みポインタ450にデータを送ることができる。
【0151】
図8に800で図示されるエンコーダ側の対応するコントローラとして、受信側の実施としてのポインタのコントローラ440も第2の既定のサブセット内の符号語の数についての情報または心理音響的により重要性の低い情報ユニットの総数または容量に関する情報も受信する。
【0152】
さらに、符号語の第2の既定のサブセットからのデータが
図17について論じたとおりに可能な限り最大限に使用された場合、コントローラ440は、エラー保護プロセッサからの第2のサブセットのエラーである符号語の指示を受けることがある。これに該当しない場合、そして符号語の第2の既定のサブセットの少なくとも1つの符号語がエラーであり、ひいては、符号語の第2の既定のサブセットがカバーするすべてのスペクトルデータが合成または隠蔽データとしてエラー隠蔽動作から生成されると決定された場合、エラー保護プロセッサからコントローラ440への制御は一切必要ない。
【0153】
それでも、コントローラ440の処理手順は
図8のコントローラ800と同じだが、書き込みと読み込みの概念が入れ替わっている。とりわけ、
図18のコントローラ440は例えばデータ交換のためあるいは増分での書き込みによって書き込みポイントを制御する。データ交換は
図19の文脈で論じられるような並びの場合に行われ、一方増分/減分処理手順は
図20に図示される直接復号化について行われる。
【0154】
コントローラ440は第1の量の情報ユニットについて第1および第2ポインタのスタート位置/アドレスをフレーム内に設定し、そのうえで入力(読み込み)ポインタを同期させて増分/減分させる。コントローラ440は第1のサブセットの全ての符号語が入力バッファから読み込まれたことを検出し、そのうえで第2の量の情報ユニットのための第1および第2ポインタのスタート位置/アドレスを設定し、残りのデータがすべて読み込まれるまで、読み込みポインタを同期させて増分/減分させる。
【0155】
第1の例において、出力バッファ452に書き込まれたデータの要求はデコーダからしか行われない。デコーダ、とりわけエントロピーデコーダおよび/または残差デコーダのみが、どのポインタからどれだけの情報ユニットまたはビットが必要なのかをわかっているからである。ある例においては、デコーダはスペクトル線またはスペクトル線のタプルのためのLSBおよび符号を第1書き込みポインタ448から、この同じスペクトル線またはスペクトル線タプルのためのMSBを第2書き込みポインタ450から、エントロピーデコーダが要求する通りに受信する。
【0156】
第2の例においては、データは所定のフレームに書き込まれる。そのうえで、所定のフレーム構文に基づいて入力バッファ442からポインタ444、446を介してビットを読み込むための構文制御ビットストリームまたはフレーム読み込み器をコントローラが適用し、そのうえでデータが出力バッファ452またはブロック448および450を介して送信デバイスに書き込まれる。ある例においては、構文制御ビットストリームまたはフレーム読み込み器は、例えばポインタ446を介してスペクトル線またはスペクトル線タプルのためのLSBおよび符号を読み込み、読み込まれたデータはブロック450を介してバッファ452に書き込まれ、構文制御ビットストリームまたはフレームリーダーは例えばポインタ448を介して同じスペクトル線またはスペクトル線タプルのためのMSBを読み込み、読み込まれたデータはブロック448を介して出力バッファ452に書き込まれる。
【0157】
このように、好ましい実施態様においては、
図13のオーディオデコーダ308は典型的に、パーサおよびレンダラを備える。パーサは
図22のブロック71および72から成り、レンダラは
図22の残りのブロックを含むことになる。というのもこの実施態様においては、算術または一般エントロピー復号化無しで、例えばスペクトル線またはスペクトル線タプルのMSB部分またはスペクトル線またはスペクトル線タプルのためのMSB/符号部分のためにはどれだけの符号化済みビットが必要なのかを決定することができないからである。トランスコーディング動作の場合には、トランスコーディング動作は入力フレームと比べると異なる構文で書き込まれたフレームを出力するため、パーサは後続のレンダラなしで使用される。
【0158】
図19は、例えばコントローラ440または一般的には
図13のフレーム読み込み器306が並べ替え動作を行うときの好ましい実施を図示している。ステップ456において、入力(読み込み)ポインタのスタート位置が、符号語の第1の既定のサブセットが読み込まれるように、決定される。この処理手順においては、例えば符号語の第2のサブセットがフレームの冒頭または末尾で隣接する符号語とまとめられるケースがこれにあたる。ステップ456は入力として、2番目の符号語の数または第2の量の情報ユニットを受信する。さらに、符号語の第2の既定のサブセットがフレームの末尾に位置する場合、フレームあたりの情報ユニットの総数もステップ456に要求されることとなる。
【0159】
ステップ458では、読み込みポインタが互いに遭遇すれば処理手順は停止され、この時フレーム内での遭遇位置が決定される。ステップ460では、読み込みスタート位置までのデータがこの位置と遭遇位置との間のデータと交換される。
【0160】
ブロック460の出力で、特定/標準化中間フレームフォーマットが得られる。
【0161】
図20は直接復号化のためのフレームリーダー306の処理手順を図示している。ステップ470はここでも第2の符号語の数または第2の量の情報ユニットを受信する。ステップ470はフレーム当たりの情報ユニットの総数を要求することがある。そのうえで、第1の既定のサブセットを読み込むための入力(読み込み)ポインタのスタート位置が決定される。ステップ470ならびにステップ456は読み込みポインタ444、446を制御する。ステップ472において、読み込みポインタが互いに遭遇し、遭遇位置が得られた時に処理手順は停止する。ステップ474において、残りの部分に対する読み込みが両側から継続され、反対方向に読み込むためのスタート位置は最初の工程で決定された開始点である。ブロック474の出力において、直接復号化アプリケーション用のオーディオデコーダのためのデータを得ることになる。
【0162】
一部の側面は装置の文脈で記載されているが、これらの側面は、ブロックまたは装置が方法工程または方法工程の特徴に相当する対応する方法の記載も表すことは明らかである。同様に、方法工程の文脈で記載された側面は対応するブロックまたはアイテム、あるいは対応する装置の特徴の記載も表す。
【0163】
所定の実施要件によっては、本願発明の実施態様はハードウェアまたはソフトウェアで実施することができる。実施は、例えばそれぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する(または協働することが可能な)、電子的に可読な制御信号を記憶したデジタル記憶媒体、例えばフロッピーディスク、DVD、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して行うことができる。
【0164】
本願発明にかかる一部の実施態様は、本明細書に記載の方法の1つが実行できるようにプログラム可能なコンピュータシステムと協働することができる、電子的に可読な制御信号を有するデータキャリアを備える。
【0165】
該して、本願発明の実施態様はプログラムコードを有するコンピュータプログラム製品として実施することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されると方法の1つを実行するように働く。プログラムコードは例えば機械可読キャリアに記憶されていても良い。
【0166】
他の実施態様は、機械可読キャリアまたは非一時的記憶媒体に記憶された、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを備える。
【0167】
換言すれば、本願発明の方法の実施態様はしたがって、コンピュータプログラムがコンピュータで実行された時に本明細書に記載の方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0168】
したがって、本願発明の方法の別の実施態様は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを記録して含む、データキャリア(またはデジタル記憶媒体またはコンピュータ可読媒体)である。
【0169】
したがって、本願発明の方法の別の実施態様は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号シーケンスである。データストリームまたは信号シーケンスは、データ通信接続、例えばインターネットを介して送信されるように構成されても良い。
【0170】
別の実施態様は、本明細書に記載の方法の1つを実行するように構成されたまたは適応された処理手段、例えばコンピュータまたはプログラム可能な論理装置を含む。
【0171】
別の実施態様は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムをインストールしたコンピュータを含む。
【0172】
一部の実施態様において、本明細書に記載の方法の機能の一部または全部を実行するためにプログラム可能な論理装置(例えばフィールドプログラマブルゲートアレイ)が使用されることがある。一部の実施態様において、フィールドプログラマブルゲートアレイは本明細書に記載の方法の1つを実行するためにマイクロプロセッサと協働することがある。概して、方法は任意のハードウェア装置で実行されることが好ましい。
【0173】
上記の実施態様は、本願発明の原理を単に説明するものである。本明細書に記載の構成および詳細の修正および改変は当業者にとって明確だと理解されるものとする。したがって、本明細書の実施態様の記載および説明に示される具体的な詳細ではなく、特許請求の範囲によってのみ限定されることを意図するものである。
【0174】
・参考文献目録
[1] "ISO/IEC14496-3 MPEG-4 Information technology ? Coding of audio-visual obje cts - Part 3: Audio," 2009.
[2] "ETSI ES 201 980 Digital Radio Mondiale; System Specification," 2014.
[3] "ETSI TR 103 590 V1.1.1 (2018-09) "Digital Enhanced Cordless Telecommunicati ons (DECT); Study of Super Wideband Codec in DECT for narrowband, wideband and super-wideband audio communication including options of low delay audio conne ctions (lower than 10 ms framing)".
【手続補正書】
【提出日】2023-10-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
エラー保護済みフレームを処理するためのオーディオ受信プロセッサであって、
前記エラー保護済みフレームを受信して、受信したエラー保護済みフレームを得るための受信インターフェース(300)と、
前記受信したエラー保護済みフレームを処理して符号化済みオーディオフレームを得るためのエラー保護プロセッサ(302)であって、前記エラー保護プロセッサは前記符号化済みオーディオフレームの符号語の第1の既定のサブセットの符号語がエラーを含んでいるかをチェックするように構成される、エラー保護プロセッサ(302)と、
前記符号語の前記第1の既定のサブセット内にエラーが検出された時に、フレーム損失隠蔽動作を実行する、またはフレーム損失隠蔽指示を生成するように構成される、エラー隠蔽器またはエラー隠蔽指示器(304)と、
を備える、オーディオ受信プロセッサ。
【請求項2】
前記エラー保護プロセッサ(302)は、前記符号化済みオーディオフレームの符号語の第2の既定のサブセットがエラーを含んでいるかをチェックする(406)ように構成され、
前記エラー隠蔽器または前記エラー隠蔽指示器(304)は、前記符号語の前記第2の既定のサブセット内のエラーを隠蔽するために、部分的フレーム損失隠蔽動作(410)を実行するまたは部分的フレーム損失隠蔽指示を生成するように構成される、
請求項1に記載のオーディオ受信プロセッサ。
【請求項3】
前記符号語の前記第1の既定のサブセットに含まれる前記符号化済みオーディオデータを復号化するためのオーディオデコーダ(308)をさらに備え、前記オーディオデコーダ(308)は、前記エラー保護プロセッサ(302)が前記符号語の前記第1の既定のサブセット内にエラーを検知しなかったときに復号化を実行するように前記エラー保護プロセッサ(302)によって制御されるように構成される、請求項1に記載のオーディオ受信プロセッサ。
【請求項4】
前記エラー保護プロセッサ(302)は前記受信したエラー保護済みフレームにブロック復号化動作を適用して、前記符号語の復号化された既定の第1のサブセットおよび前記符号語の復号化された第2の既定のサブセットを得るように構成され、
前記ブロック復号化動作によってエラーの存在がシグナリングされなかった場合、前記エラー保護プロセッサは、
前記符号語の前記第1の既定のサブセットから第1のハッシュ値を算出し(402)、
前記第1のハッシュ値を受信した第1のハッシュ値と比較する(404、406)
ように構成され、
前記エラー保護プロセッサは、前記第1のハッシュ値と前記受信した第1のハッシュ値が互いに一致しなかった場合には、前記符号語の前記第1の既定のサブセット内にエラーが存在すると判定する、または前記第1のハッシュ値と前記受信した第1のハッシュ値が一致する場合には、前記符号語の前記第1の既定のサブセットにエラーはないと判定するように構成される、
請求項1に記載のオーディオ受信プロセッサ。
【請求項5】
前記エラー保護プロセッサ(302)は前記受信したエラー保護済みフレームにブロック復号化動作を適用して、前記符号語の復号化された第1の既定のサブセットおよび前記符号語の復号化された第2の既定のサブセットを得るように構成され、
前記ブロック復号化動作によってエラーの存在がシグナリングされなかった場合、前記エラー保護プロセッサは、
前記符号語の前記第2の既定のサブセットから第2のハッシュ値を算出し(406)、
前記第2のハッシュ値を受信した第2のハッシュ値と比較する(404、406)
ように構成され、
前記エラー保護プロセッサは、前記第2のハッシュ値と前記受信した第2のハッシュ値が互いに一致しなかった場合には、前記符号語の前記第2の既定のサブセット内にエラーが存在すると判定する、または前記第2のハッシュ値と前記受信した第2のハッシュ値が一致する場合には、前記符号語の前記第2の既定のサブセットにエラーはないと判定するように構成される、
請求項1に記載のオーディオ受信プロセッサ。
【請求項6】
前記ブロック復号化動作はリード・ソロモン復号化動作を含む、請求項4に記載のオーディオ受信プロセッサ。
【請求項7】
前記エラー保護プロセッサ(302)は、前記符号語の前記第1の既定のサブセットのチェックによってエラーが検出されなかった場合にのみ、前記符号語の第2の既定のサブセットがエラーを含んでいるかをチェックするように構成される、請求項1に記載のオーディオ受信プロセッサ。
【請求項8】
前記エラー保護プロセッサ(302)は、前記符号語の第2の既定のサブセットのうちの1つ以上の特定の符号語がエラーを含んでいるか、そして前記符号語の前記第2の既定のサブセットのうちの任意の符号語がエラーのない符号語であるかを検出するように構成され、
前記エラー隠蔽器(403)は前記1つ以上の特定の符号語のための代替データまたはエラー隠蔽指示を生成するように構成され、
前記オーディオ受信プロセッサは、前記符号語の前記第1の既定のサブセットに含まれるオーディオデータおよび前記符号語の第2の既定のサブセットのうちのエラーのない符号語のうちの1つ以上に含まれるオーディオデータ、ならびに前記1つ以上の特定の符号語(428)のための前記代替データを復号化するためのオーディオデコーダ(308)を備える、または、
前記オーディオ受信プロセッサは、前記符号語の前記第1の既定のサブセットに含まれるオーディオデータおよび前記符号語の第2の既定のサブセットのうちの前記エラーのない符号語のうちの1つ以上に含まれるオーディオデータを復号化するためのオーディオデコーダ(308)を備え、前記オーディオデコーダ(308)は前記エラー隠蔽指示を受信して、前記エラー隠蔽指示に応答してエラー隠蔽措置を講じるように構成される、
請求項1に記載のオーディオ受信プロセッサ。
【請求項9】
前記符号語の前記第1の既定のサブセットおよび前記符号語の第2の既定のサブセットを識別する既定のフレーム読み込み手順に従って前記符号化済みオーディオフレームを読み込むためのフレーム読み込み器(306)をさらに備える、請求項1に記載のオーディオ受信プロセッサ。
【請求項10】
フレーム読み込み器(306)は、
第1の量の情報ユニットを、前記符号語の前記第1の既定のサブセットの符号語の基準点からスタートして前記符号語の前記第1の既定のサブセットの全ての符号語からの情報ユニットが読み込まれるまで読み込み、
前記符号語の第2の既定のサブセットの符号語の基準点からスタートする第2の量の情報ユニットの情報ユニットを読み込む
ように構成され、
前記オーディオ受信プロセッサはオーディオデコーダをさらに含み、前記オーディオデコーダ(308)は前記符号化済みオーディオフレームのための復号化済みオーディオデータを得るために、前記第1の量の情報ユニットと前記第2の量の情報ユニットとの連結を復号化するように構成される、
請求項1に記載のオーディオ受信プロセッサ。
【請求項11】
前記フレーム読み込み器(306)は、前記符号語の第2のサブセットとして、前記符号化済みオーディオデータの符号語フレームの一方の側にある、第2の既定数の隣接する符号語の数を使用し、前記符号語の前記第1の既定のサブセットとして、前記符号化済みオーディオデータの符号語フレームのもう一方の側にある、第1の既定数の隣接する符号語を使用するように構成され、前記第1の既定数と前記第2の既定数との合計は符号語の前記既定の総数に等しい、または、
前記符号語の前記第2の既定のサブセットの少なくとも1つの符号語は、前記符号語の前記第1の既定のサブセットの2つの符号語の間に位置する、または前記符号語の前記第1の既定のサブセットの少なくとも1つの符号語は、前記符号語の前記第2の既定のサブセットの2つの符号語の間に位置する、
請求項9に記載のオーディオ受信プロセッサ。
【請求項12】
前記フレーム読み込み器(306)は第1の量の情報ユニットの情報ユニットを、第1の既定数の符号語のうちの少なくとも2つの符号語の基準位置からスタートして第1の読み込み方向に、そして第1の既定数の符号語のうちの少なくとも2つの別の符号語の基準位置からスタートして第2の逆の読み込み方向に、読み込むように構成される、または、
前記フレーム読み込み器(306)は第2の量の情報ユニットの情報ユニットを、第2の既定数の符号語のうちの少なくとも2つの符号語の基準位置からスタートして第1の読み込み方向に、そして第2の既定数の符号語のうちの少なくとも2つの別の符号語の基準位置からスタートして第2の逆の読み込み方向に、読み込むように構成される、請求項9に記載のオーディオ受信プロセッサ。
【請求項13】
前記フレーム読み込み器(306)は、第1の量の情報ユニットおよび第2の量の情報ユニットの情報ユニットを読み込むように構成され、第1の量の情報ユニットの少なくとも過半数の前記情報ユニットは、第2の量の情報ユニットの過半数の情報ユニットよりも心理音響的により重要性が高い、または、
第2の量の情報ユニット内の情報ユニットのみが損傷していると判定された場合には、部分的フレーム損失隠蔽のみが前記エラー隠蔽器によって実行され、第1の量の情報ユニット内の情報ユニットが損傷していると判定された場合には、完全フレーム損失隠蔽が前記エラー隠蔽器によって実行される、
請求項9に記載のオーディオ受信プロセッサ。
【請求項14】
少なくとも2つのカテゴリーの情報ユニットを復号化するためのソースデコーダ(308)であって、前記少なくとも2つのカテゴリーは、固定長サイド情報、可変長サイド情報、時間ノイズ整形情報、スペクトルの第1周波数部分のスペクトルの1つ以上の最上位ビット、前記第1周波数部分よりも周波数が高い第2周波数部分の1つ以上の最上位ビット、第1周波数部分の1つ以上の最下位ビットまたは符号ビット、前記第1周波数部分よりも周波数が高い第2周波数部分の1つ以上の最下位ビットまたは符号ビット、および残余ビットから成るグループから選択される、ソースデコーダ(308)をさらに備え、
前記ソースデコーダ(308)によってカテゴリーとして復号化に利用可能な場合には、前記固定長サイド情報、前記可変長サイド情報、前記時間ノイズ整形情報、前記第1周波数部分のスペクトルの前記1つ以上の最上位ビット、および第1周波数部分の前記最下位ビットまたは符号ビットは、第1の量の情報ユニット内にあり、前記ソースデコーダ(308)によってカテゴリーとして復号化に利用可能な場合には、第2の周波数部分の前記1つ以上の最上位ビット、第2周波数部分の前記1つ以上の最下位ビットまたは符号ビット、および前記残余ビットのうちの少なくとも1つは、第2の量の情報ユニット内にある、
請求項9に記載のオーディオ受信プロセッサ。
【請求項15】
前記フレーム読み込み器(306)は、
第1読み込みポインタ(444)および第2読み込みポインタ(446)を使用し、
前記符号語フレーム内のより低い情報ユニット位置から前記符号語フレーム内のより高い情報ユニット位置に向かう方向に、前記第1読み込みポインタ(444)を増分させ、
前記符号語フレーム内のより高い情報位置から前記符号語フレーム内のより低い情報位置に向かう方向に、前記第2読み込みポインタ(446)を減分させ、
前記符号語の前記第1の既定のサブセットの既定の符号語シーケンス内の最初の符号語の始まりを示す基準位置から前記第1読み込みポインタ(444)をスタートさせ、
前記符号語の前記第1の既定のセットの前記既定の第1符号語シーケンス内の最後の符号語の末尾を示す基準位置から前記第2読み込みポインタ(446)をスタートさせ、
前記第1読み込みポインタ(444)が示す位置の第1の量の情報ユニットから、1つ以上の情報ユニットの第1カテゴリーに属する情報ユニットを読み込み、
前記第2読み込みポインタ(446)が示す位置の第1の量の情報ユニットから、1つ以上の情報ユニットの第2カテゴリーに属する情報ユニットを、前記第1および第2の読み込みポインタ(444、446)が遭遇情報ユニット位置で互いに遭遇するまで読み込む
ように構成され、
前記遭遇情報ユニット位置の前記情報ユニットは、第1の量の情報ユニットと第2の量の情報ユニットとの間の境界を表す、
請求項9に記載のオーディオ受信プロセッサ。
【請求項16】
前記フレーム読み込み器(306)は
前記第1読み込みポインタ(444)を、前記符号語の前記第2の既定のサブセットの第2の既定の符号語シーケンスの最初の符号語の始まりを示す基準位置にセットし、
前記第2読み込みポインタ(446)を、前記符号語の前記第2の既定のサブセットの前記第2の既定の符号語シーケンスの最後の符号語の末尾を示す基準位置にセットし、
前記第1読み込みポインタ(444)を使用して前記第2の量の情報ユニットから1つ以上の情報ユニットの第3カテゴリーを読み込み、前記第2読み込みポインタ(446)を使用して、前記第2の量の情報ユニットから1つ以上の情報ユニットの第4カテゴリーを読み込む
ように構成される、請求項15に記載のオーディオ受信プロセッサ。
【請求項17】
前記フレーム読み込み器(306)は、
前記1つ以上の第1カテゴリーとして、前記遭遇情報ユニットのスペクトル値またはスペクトル値の組み合わせまでの、周波数に関して昇順に順序付けられたスペクトル値から導出された最上位ビットを使用し、
前記1つ以上の第2カテゴリーとして、前記遭遇情報ユニットのスペクトル値またはスペクトル値の組み合わせまでのスペクトル値から導出された最下位ビットまたは符号ビットを使用し、
前記1つ以上の第3カテゴリーとして、前記遭遇情報ユニットにおける値以上の周波数に関連付けられた1つ以上の最上位ビットを使用し、
前記第4のカテゴリーとして、前記遭遇情報ユニットに関連付けられた周波数値以上の周波数に関連付けられた最下位ビットまたは符号ビットを使用する
ように構成される、請求項15に記載のオーディオ受信プロセッサ。
【請求項18】
前記フレーム読み込み器(306)は、前記1つ以上の第1カテゴリーと前記1つ以上の第2カテゴリー、あるいは前記1つ以上の第3カテゴリーと前記1つ以上の第4カテゴリーを互いに同期させて読み込んで、スペクトル値またはスペクトル値の組み合わせの前記少なくとも1つ以上の最上位ビットは前記第1読み込みポインタ(444)によって読み込まれ、同じスペクトル値または同じスペクトル値の組み合わせの前記1つ以上の最下位ビットまたは符号ビットは、別のスペクトル値または別のスペクトル値の組み合わせからの情報ユニットが読み込みポインタ(444、446)によって読み込まれる前に読み込まれるように構成される、請求項17に記載のオーディオ受信プロセッサ。
【請求項19】
前記フレーム読み込み器(306)は第1読み込み方向で第1読み込みポインタ(444)を使用し、第2読み込み方向で第2ポインタ(446)を使用するように構成され、前記符号化済みオーディオフレームはフレーム開始位置およびフレーム終了位置を備え、前記フレーム読み込み器(306)は第1ポインタを、前記符号語の前記第2の既定のサブセットに含まれるいくつかの情報ユニットから導出される第1ポインタスタート位置にセットし、前記第2ポインタ(446)を前記フレーム終了位置にセットするように構成され、前記符号語の前記第1の既定のサブセットはすべて、前記符号化済みオーディオフレームの前記フレーム終了位置がある側に配置され、
前記フレーム読み込み器(306)は、
対応する読み込み方向に前記第1読み込みポインタ(444)を増分し、第2読み込みポインタ(446)を減分して読み込み、
前記第1および前記第2読み込みポインタ(444、446)が遭遇位置で互いに遭遇したときに停止し、
前記フレーム開始位置と前記第1ポインタスタート位置との間の情報ユニットを、前記第1ポインタスタート位置と前記遭遇位置との間の情報ユニットと交換して、並び替えられた符号化済みオーディオフレームが、前記並び替え済みオーディオフレームの冒頭から、前記第1ポインタスタート位置と前記遭遇位置との間で読み込まれた情報ユニット、前記フレーム開始位置と前記第1ポインタスタート位置との間の前記符号化済みオーディオフレームの情報ユニット、および前記遭遇位置と前記フレーム終了位置との間の前記符号化済みオーディオフレームの情報ユニットを、上記の順番で含むようにする
ように構成され、
前記並べ替えられた符号化済みオーディオフレームの順番で前記符号化済みオーディオデータを有する前記並べ替えられた符号化済みオーディオフレームを復号化するようにあらかじめ設定されたオーディオデコーダ(308)をさらに備える、または
前記並び替えられた符号化済みオーディオフレームを離れた場所に送信するための送信デバイスをさらに備える、
請求項9に記載のオーディオ受信プロセッサ。
【請求項20】
前記フレーム読み込み器(306)は第1読み込み方向で第1読み込みポインタ(444)を使用し、第2読み込み方向で第2ポインタ(446)を使用するように構成され、前記符号化済みオーディオフレームはフレーム開始位置及びフレーム終了位置を備え、前記フレーム読み込み器(306)は前記第2ポインタ(446)を、前記符号語の前記第2の既定のサブセットに含まれるいくつかの情報ユニットおよび前記符号化済みオーディオフレームの情報ユニットの総数から導出される第2ポインタスタート位置にセットし、前記第1読み込みポインタ(444)を前記フレーム開始位置にセットするように構成され、前記符号語の前記第1の既定のサブセットはすべて、前記符号化済みオーディオフレームの前記フレーム開始位置がある側に配置され、
前記フレーム読み込み器(306)は、
対応する読み込み方向に前記第1読み込みポインタ(444)を増分し、第2読み込みポインタ(446)を減分して読み込み、
前記第1および前記第2読み込みポインタ(444、446)が遭遇位置で互いに遭遇したときに停止し、
前記フレーム終了位置と前記第2ポインタスタート位置との間の情報ユニットを、前記第2ポインタスタート位置と前記遭遇位置との間の情報ユニットと交換して、並び替えられた符号化済みオーディオフレームが、前記並び替えられた符号化済みオーディオフレームの冒頭から、前記フレーム開始位置と前記遭遇位置との間の情報ユニット、前記フレーム終了位置と前記第2ポインタスタート位置との間の前記符号化済みオーディオフレームの情報ユニット、および前記遭遇位置と前記第2ポインタスタート位置との間の前記符号化済みオーディオフレームの情報ユニットを、上記の順番で含むようにする
ように構成される、
請求項9に記載のオーディオ受信プロセッサ。
【請求項21】
最小データサイズ部分を情報ユニットの第1粒度で受信する算術デコーダ(72)を有するオーディオデコーダ(308)をさらに備え、
前記エラー保護プロセッサ(302)は第2粒度で動作するように構成され、前記第1粒度は前記第2粒度よりも大きく、
前記符号語の前記第1の既定のサブセットの最初の符号語の基準位置には、前記第1粒度及び前記第2粒度の間の粒度差分に相当する適応した量の情報ユニットが存在し、
前記適応した量の情報ユニットは、第2の既定のサブセットの符号語の基準位置に位置するデータとともに、前記算術デコーダ(72)に入力される前記最小データサイズ部分を形成し、
フレーム読み込み器(306)は、前記符号語の前記第1の既定のサブセットについて、前記最初の符号語の前記基準位置によって決定される前記最初の符号語内の位置に前記適応した量の大きさを加えた場所から情報ユニットの読み込みを開始するように構成される、
請求項1に記載のオーディオ受信プロセッサ。
【請求項22】
エラー保護済みフレームを処理する方法であって、
前記エラー保護済みフレームを受信して、受信したエラー保護済みフレームを得るステップと、
前記受信したエラー保護済みフレームでエラー保護処理を実行して符号化済みオーディオフレームを得るステップであって、前記エラー保護処理は、前記符号化済みオーディオフレームの符号語の第1の既定のサブセットの符号語がエラーを含んでいるかをチェックするステップを含む、エラー保護処理を実行するステップと、
前記符号語の前記第1の既定のサブセットにエラーが検出された場合にフレーム損失隠蔽動作を実行するステップと、
を含む方法。
【請求項23】
コンピュータまたはプロセッサ上で実行された時に、請求項2に記載の方法を実行するためのコンピュータプログラム。
【外国語明細書】