JP2022539608A - オーディオストリーム内のメタデータのコーディングのためおよびオーディオストリームのコーディングへの効率的なビットレートの割り当てのための方法およびシステム - Google Patents

オーディオストリーム内のメタデータのコーディングのためおよびオーディオストリームのコーディングへの効率的なビットレートの割り当てのための方法およびシステム Download PDF

Info

Publication number
JP2022539608A
JP2022539608A JP2022500962A JP2022500962A JP2022539608A JP 2022539608 A JP2022539608 A JP 2022539608A JP 2022500962 A JP2022500962 A JP 2022500962A JP 2022500962 A JP2022500962 A JP 2022500962A JP 2022539608 A JP2022539608 A JP 2022539608A
Authority
JP
Japan
Prior art keywords
audio
ism
audio stream
bit
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022500962A
Other languages
English (en)
Other versions
JPWO2021003570A5 (ja
Inventor
ヴァーツラフ・エクスラー
Original Assignee
ヴォイスエイジ・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヴォイスエイジ・コーポレーション filed Critical ヴォイスエイジ・コーポレーション
Publication of JP2022539608A publication Critical patent/JP2022539608A/ja
Publication of JPWO2021003570A5 publication Critical patent/JPWO2021003570A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

システムおよび方法が、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを含むオブジェクトベースのオーディオ信号をコーディングする。システムおよび方法においては、メタデータプロセッサが、メタデータをコーディングし、オーディオオブジェクトのメタデータのコーディングのためのビットバジェットについての情報を生成する。エンコーダが、オーディオストリームをコーディングし、一方、ビットバジェットアロケータが、エンコーダによるオーディオストリームのコーディングのためのビットレートを割り当てるために、メタデータプロセッサからのオーディオオブジェクトのメタデータのコーディングのためのビットバジェットについての情報に応答する。

Description

本開示は、音声コーディングに関し、より詳細には、たとえば、人の声、音楽、または全般的なオーディオ音声など、オブジェクトベースのオーディオをデジタルでコーディングするための技術に関する。特に、本開示は、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクト(audio object)を含むオブジェクトベースのオーディオ信号をコーディングするためのシステムおよび方法ならびに復号するためのシステムおよび方法に関する。
本開示および添付の請求項において、
(a)用語「オブジェクトベースのオーディオ」は、複雑なオーディオの聴覚的シーン(auditory scene)を、オーディオオブジェクトとしても知られる個々の要素の集合として表すように意図される。また、本明細書において上で示されたように、「オブジェクトベースのオーディオ」は、たとえば、人の声、音楽、または全般的なオーディオ音声を含んでよい。
(b)用語「オーディオオブジェクト」は、関連するメタデータを有するオーディオストリームを指すように意図される。たとえば、本開示において、「オーディオオブジェクト」は、メタデータ付き独立オーディオストリーム(ISm: independent audio stream with metadata)と呼ばれる。
(c)用語「オーディオストリーム」は、人の声、音楽、または全般的なオーディオ音声などのオーディオ波形をビットストリーム内で表すように意図されており、1つのチャネル(モノ(mono))からなる場合があるが、2つのチャネル(ステレオ)も考慮される可能性がある。「モノ」は「モノフォニック(monophonic)」の略であり、「ステレオ」は、「ステレオフォニック(stereophonic)」の略である。
(d)用語「メタデータ」は、元のまたはコーディングされたオーディオオブジェクトを再生システムに伝えるために使用される、オーディオストリームおよび芸術的意図を説明する1組の情報を表すように意図される。通常、メタデータは、位置、向き、体積、幅などのそれぞれの個々のオーディオオブジェクトの空間的な特性を説明する。本開示の文脈では、メタデータの2つの組が考慮される。
- 入力メタデータ: コーデックの入力として使用される量子化されていないメタデータ表現。本開示は、特定のフォーマットの入力メタデータに限定されない。および
- コーディングされたメタデータ: エンコーダからデコーダに送信されるビットストリームの一部を形成する、量子化され、コーディングされたメタデータ。
(e)用語「オーディオフォーマット」は、没入型オーディオ体験を実現するための手法を指すように意図される。
(f)用語「再生システム」は、たとえば、ただし、これに限定されず、再生側で、送信されたメタデータおよび芸術的意図を使用して聞き手の周囲の3D(3次元)オーディオ空間内にオーディオオブジェクトをレンダリングすることができるデコーダ内の要素を指すように意図される。レンダリングは、目標のラウドスピーカのレイアウト(たとえば、5.1サラウンド)またはヘッドフォンに対して実行されることが可能であり、一方、メタデータは、たとえば、ヘッドトラッキングデバイスのフィードバックに応じて動的に修正されることが可能である。その他の種類のレンダリングが、想定される可能性がある。
ここ数年、オーディオの生成、記録、表現、コーディング、送信、および再生は、聞き手のための強化された、インタラクティブな没入型の体験へと向かっている。没入型の体験は、たとえば、すべての方向から音声が聞こえてくる中で、音声シーンに深く関わり、参加している状態として説明され得る。没入型オーディオ(3Dオーディオとも呼ばれる)においては、音色(timbre)、指向性、残響(reverberation)、透明感、および(聴覚的な)広がりの正確さのような幅広い音の特性を考慮して、音像が、聞き手の周囲の3次元すべてにおいて再生される。没入型オーディオは、所与の再生システム、すなわち、ラウドスピーカ構成、一体型再生システム(サウンドバー)、またはヘッドフォン用に生成される。そのとき、オーディオ再生システムのインタラクティブ性は、たとえば、音声のレベルを調整する、音声の位置を変更する、または再生のために異なる言語を選択する能力を含み得る。
没入型オーディオ体験を実現するための3つの基本的な手法(以降、オーディオフォーマットとも呼ばれる)が、存在する。
第1の手法は、複数の離間されたマイクが異なる方向からの音声をキャプチャするために使用される、一方、1つのマイクが特定のラウドスピーカのレイアウトにおいて1つのオーディオチャネルに対応するチャネルベースのオーディオである。それぞれの記録されたチャネルが、特定の位置のラウドスピーカに供給される。チャネルベースのオーディオの例は、たとえば、ステレオ、5.1サラウンド、5.1.4などを含む。
第2の手法は、局所化された空間上の所望の音場を、次元成分の組合せによって時間の関数として表現するシーンベースのオーディオである。シーンベースのオーディオを表す信号が、音源の位置に依存しない一方、音場は、レンダリング再生システムにおいて選択されたラウドスピーカのレイアウトに変換されなければならない。シーンベースのオーディオの例は、アンビソニックスである。
最後の第3の没入型オーディオの手法は、個々のオーディオ要素(たとえば、歌手、ドラム、ギター)が再生システムにおいてそれらのオーディオ要素の意図された位置にレンダリングされ得るように、たとえば、オーディオシーン内のそれらのオーディオ要素の位置についての情報をともなうそれらのオーディオ要素の組として聴覚的シーンを表現するオブジェクトベースのオーディオである。これは、各オブジェクトが別々に保たれ、個々に操作され得るので、オブジェクトベースのオーディオに高い柔軟性およびインタラクティブ性を与える。
上述のオーディオフォーマットの各々は、それぞれの長所および短所を有する。したがって、1つの特定のフォーマットがオーディオシステムにおいて使用されるだけでなく、没入感のある聴覚的シーンを生成するためにそれらが複合的なオーディオシステムに組み合わされる可能性があるのが普通である。例は、シーンベースまたはチャネルベースのオーディオをオブジェクトベースのオーディオと組み合わせる、たとえば、アンビソニックスを数個の別々のオーディオオブジェクトと組み合わせるシステムであることが可能である。
PCT特許出願PCT/CA2018/51175
3GPP仕様TS 26.445: 「Codec for Enhanced Voice Services (EVS). Detailed Algorithmic Description」、v.12.0.0、2014年9月
本開示は、以下の説明において、オブジェクトベースのオーディオを符号化および復号するためのフレームワークを提示する。そのようなフレームワークは、オブジェクトベースのオーディオフォーマットのコーディングのための独立したシステムであることが可能であり、またはその他のオーディオフォーマットおよび/もしくはそれらの組合せのコーディングを含む場合がある複合的な没入型コーデックの一部を形成する可能性がある。
第1の態様によれば、本開示は、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを含むオブジェクトベースのオーディオ信号をコーディングするためのシステムであって、メタデータをコーディングするためのメタデータプロセッサであって、オーディオオブジェクトのメタデータのコーディングのためのビットバジェット(bit-budget)についての情報を生成する、メタデータプロセッサを含む、システムを提供する。エンコーダが、オーディオストリームをコーディングし、ビットバジェットアロケータが、エンコーダによるオーディオストリームのコーディングのためのビットレートを割り当てるために、メタデータプロセッサからのオーディオオブジェクトのメタデータのコーディングのためのビットバジェットについての情報に応答する。
本開示は、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを含むオブジェクトベースのオーディオ信号をコーディングするための方法であって、メタデータをコーディングするステップと、オーディオオブジェクトのメタデータのコーディングのためのビットバジェットについての情報を生成するステップと、オーディオストリームを符号化するステップと、オーディオオブジェクトのメタデータのコーディングのためのビットバジェットについての情報に応じて、オーディオストリームのコーディングのためのビットレートを割り当てるステップとを含む、方法も提供する。
第3の態様によれば、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステムであって、オーディオオブジェクトのメタデータを復号するため、およびオーディオオブジェクトのメタデータのそれぞれのビットバジェットについての情報を供給するためのメタデータプロセッサと、オーディオストリームのコアデコーダ(core-decoder)のビットレートを決定するための、オーディオオブジェクトのメタデータのビットバジェットに応答するビットバジェットアロケータと、ビットバジェットアロケータにおいて決定されたコアデコーダのビットレートを使用するオーディオストリームのデコーダとを含む、システムが提供される。
本開示は、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するための方法であって、オーディオオブジェクトのメタデータを復号し、オーディオオブジェクトのメタデータのそれぞれのビットバジェットについて情報を供給するステップと、オーディオオブジェクトのメタデータのビットバジェットを使用してオーディオストリームのコアデコーダのビットレートを決定するステップと、決定されたコアデコーダのビットレートを使用してオーディオストリームを復号するステップとを含む、方法をさらに提供する。
オブジェクトベースのオーディオ信号をコーディングするためのシステムおよび方法ならびにオブジェクトベースのオーディオ信号を復号するためのシステムおよび方法の上述のおよびその他の目的、利点、および特徴は、添付の図面を参照して例としてのみ与えられるそれらのシステムおよび方法の例示的な実施形態の以下の非限定的な説明を読むとより明らかになるであろう。
オブジェクトベースのオーディオ信号をコーディングするためのシステムと、オブジェクトベースのオーディオ信号をコーディングするための対応する方法とを同時に示す概略的なブロック図である。 1つのメタデータパラメータのビットストリームのコーディングの異なるシナリオを示す図である。 a)オブジェクト間のメタデータのコーディング論理を使用しない場合の3つのオーディオオブジェクトのメタデータパラメータに関する絶対コーディング(absolute coding)フラグflagabsの値を示すグラフであり、矢印は、いくつかの絶対コーディングフラグの値が1に等しいフレームを示す。b)オブジェクト間のメタデータのコーディング論理を使用する場合の3つのオーディオオブジェクトのメタデータパラメータに関する絶対コーディングフラグflagabsの値を示すグラフである。 3つのコアエンコーダ(core-encoder)に関するビットレートの適応の例を示すグラフである。 ISm(メタデータ付き独立オーディオストリーム)重要度論理に基づくビットレートの適応の例を示すグラフである。 図1のコーディングシステムから図7の復号システムに送信されるビットストリームの構造を示す概略図である。 関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステムと、オーディオオブジェクトを復号するための対応する方法とを同時に示す概略的なブロック図である。 オブジェクトベースのオーディオ信号をコーディングするためのシステムおよび方法と、オブジェクトベースのオーディオ信号を復号するためのシステムおよび方法とを実装するハードウェア構成要素の例示的な構成の簡略化されたブロック図である。
本開示は、メタデータをコーディングするためのメカニズムの例を提供する。また、本開示は、柔軟なオブジェクト内およびオブジェクト間のビットレートの適応のためのメカニズム、すなわち、利用可能なビットレートを可能な限り効率的に分配するメカニズムを提供する。本開示においては、さらに、ビットレートが固定(一定)であることが考慮される。しかし、たとえば、(a)適応的なビットレートベースのコーデックにおける、または(b)固定の合計ビットレートでその他の方法でコーディングされたオーディオフォーマットの組合せをコーディングした結果としての適応的なビットレートを同様に考慮することは、本開示の範囲内である。
本開示においては、オーディオストリームがいわゆる「コアエンコーダ」において実際にどのようにコーディングされるかについての説明はない。概して、1つのオーディオストリームをコーディングするためのコアエンコーダは、適応ビットレートコーディングを用いる任意のモノコーデックであることが可能である。例は、たとえば、参考文献[2]に記載されているようにコアエンコーダのモジュール間に柔軟および効率的に分配される変動するビットバジェットを用いる、参考文献[1]に記載されているEVSコーデックに基づくコーデックである。参考文献[1]および[2]の内容の全体は、参照により本明細書に組み込まれる。
1. オーディオオブジェクトのコーディングのためのフレームワーク
非限定的な例として、本開示は、関連するメタデータを有するオーディオストリームを含むオーディオオブジェクトをコーディングするためにism_total_brateと呼ばれる決まった一定のISmの合計ビットレートが考慮されながら、いくつかのオーディオオブジェクト(たとえば、最大16個のオーディオオブジェクト)の同時コーディングをサポートするフレームワークを考える。たとえば、物語世界外の(non-diegetic)内容の場合、オーディオオブジェクトの少なくとも一部に関して、メタデータは必ずしも送信されないことに留意されたい。映画、テレビ番組、およびその他のビデオにおける物語世界外の音声とは、登場人物が聞き得ない音声である。サウンドトラックは、音楽を聴くのが視聴者だけなので、物語世界外の音声の例である。
フレームワークにおいてオーディオフォーマットの組合せをコーディングする場合、たとえば、2つのオーディオオブジェクトとのアンビソニックスオーディオフォーマットの組合せの場合、codec_total_brateと呼ばれる一定の合計コーデックビットレートが、アンビソニックスオーディオフォーマットのビットレート(すなわち、アンビソニックスオーディオフォーマットを符号化するためのビットレート)と、ISmの合計ビットレートism_total_brate(すなわち、オーディオオブジェクト、すなわち、関連するメタデータを有するオーディオストリームをコーディングするためのビットレートの合計)との合計を表す。
本開示は、各オブジェクトに関してオーディオフレーム毎に記憶される2つのパラメータ、すなわち、方位角(azimuth)および仰角(elevation)からなる入力メタデータの基本的で非限定的な例を考える。この例においては、方位角の範囲[-180°, 180°]、仰角の範囲[-90°, 90°]が考慮される。しかし、1つだけのまたは2つより多いメタデータパラメータを考慮することは、本開示の範囲内である。
2. オブジェクトベースのコーディング
図1は、オブジェクトベースのオーディオ信号をコーディングするための、いくつかの処理ブロックを含むシステム100と、オブジェクトベースのオーディオ信号をコーディングするための対応する方法150とを同時に示す概略的なブロック図である。
2.1 入力のバッファリング
図1を参照すると、オブジェクトベースのオーディオ信号をコーディングするための方法150は、入力のバッファリングの動作151を含む。入力のバッファリングの動作151を実行するために、オブジェクトベースのオーディオ信号をコーディングするためのシステム100は、入力バッファ101を含む。
入力バッファ101は、N個の入力オーディオオブジェクト102、すなわち、関連するそれぞれのN個のメタデータを有するN個のオーディオストリームをバッファリングする。N個のオーディオストリームおよびこれらN個のオーディオストリームの各々に関連するN個のメタデータを含むN個の入力オーディオオブジェクト102が、1フレーム、たとえば、20msの長さのフレームのためにバッファリングされる。音声信号処理の分野でよく知られているように、音声信号は、所与のサンプリング周波数でサンプリングされ、それぞれがいくつかの「サブフレーム」に分割される「フレーム」と呼ばれるこれらのサンプルの連続したブロック毎に処理される。
2.2 オーディオストリームの分析および前方前処理(front pre-processing)
引き続き図1を参照すると、オブジェクトベースのオーディオ信号をコーディングするための方法150は、N個のオーディオストリームの分析および前方前処理の動作153を含む。動作153を実行するために、オブジェクトベースのオーディオ信号をコーディングするためのシステム100は、それぞれ、N個のトランスポートチャネル104を介して入力バッファ101からオーディオストリームプロセッサ103に送信されたバッファリングされたN個のオーディオストリームを、たとえば、並行して分析し、前処理するためのオーディオストリームプロセッサ103を含む。
音声ストリームプロセッサ103によって実行される分析および前方前処理動作153は、たとえば、以下の下位動作、すなわち、時間領域のトランジェント(transient)検出、スペクトル分析、長期予測分析、ピッチトラッキングおよび発声(voicing)分析、ボイスアクティビティ検出/サウンドアクティビティ検出(VAD: voice activity detection/SAD: sound activity detection)、帯域幅検出、雑音推定、ならびに信号分類(これは、非限定な実施形態において、(a)たとえば、ACELPコアエンコーダ、TCXコアエンコーダ、HQコアエンコーダなどからのコアエンコーダの選択、(b)非アクティブ(inactive)コアエンコーダタイプ、無声(unvoiced)コアエンコーダタイプ、有声(voiced)コアエンコーダタイプ、汎用コアエンコーダタイプ、遷移(transition)コアエンコーダタイプ、およびオーディオコアエンコーダタイプなどの信号タイプの分類、(c)人の声/音楽の分類などを含む場合がある)のうちの少なくとも1つを含んでよい。分析および前方前処理動作153から得られた情報は、回線121を介して構成および判断プロセッサ106に供給される。上述の下位動作の例は、EVSコーデックに関連して参考文献[1]に記載されており、したがって、本開示においてさらに説明されない。
2.3 メタデータの分析、量子化、およびコーディング
オブジェクトベースのオーディオ信号をコーディングするための図1の方法150は、メタデータの分析、量子化、およびコーディングの動作155を含む。動作155を実行するために、オブジェクトベースのオーディオ信号をコーディングするためのシステム100は、メタデータプロセッサ105を含む。
2.3.1 メタデータの分析
オーディオストリームプロセッサ103からの信号分類情報120(たとえば、EVSコーデックにおいて使用されるVADまたはlocalVADフラグ(参考文献[1]参照))が、メタデータプロセッサ105に供給される。メタデータプロセッサ105は、現在のフレームがこの特定のオーディオオブジェクトに関して非アクティブ(たとえば、VAD = 0)であるのかまたはアクティブ(たとえば、VAC≠0)であるのかを判定するための、N個のオーディオオブジェクトの各々のメタデータの分析器(図示せず)を含む。非アクティブなフレームにおいては、メタデータが、そのオブジェクトに関連してメタデータプロセッサ105によってコーディングされない。アクティブなフレームにおいては、メタデータが、可変ビットレートを使用してこのオーディオオブジェクトに関して量子化され、コーディングされる。メタデータの量子化およびコーディングについてのさらなる詳細は、以下の2.3.2項および2.3.3項において与えられる。
2.3.2 メタデータの量子化
図1のメタデータプロセッサ105は、説明される非制限的な例示的実施形態においては、ループで順にN個のオーディオオブジェクトのメタデータを量子化し、コーディングし、一方、オーディオオブジェクトの量子化とこれらのオーディオオブジェクトのメタデータパラメータとの間で特定の依存関係が使用され得る。
本明細書において上で示されたように、本開示では、2つのメタデータパラメータ、(N個の入力メタデータに含まれる)方位角および仰角が考慮される。非限定的な例として、メタデータプロセッサ105は、使用されるビット数を減らすために、以下の例示的な分解能を使用する以下のメタデータパラメータのインデックスの量子化器(図示せず)を含む。
- 方位角パラメータ: 入力メタデータのファイルからの12ビットの方位角パラメータのインデックスがBazビットのインデックス(たとえば、Baz = 7)に量子化される。最小方位角限度および最大方位角限度(-180°および+180°)を与えると、(Baz = 7)ビットの均一スカラ量子化器の量子化ステップは、2.835°となる。
- 仰角パラメータ: 入力メタデータファイルからの12ビットの仰角パラメータのインデックスがBelビットのインデックス(たとえば、Bel = 6)に量子化される。最小仰角限度および最大最仰角限度(-90°および+90°)を与えると、(Bel = 6)ビットの均一スカラ量子化器の量子化ステップは、2.857°となる。
N個のメタデータをコーディングするための合計のメタデータのビットバジェットおよびメタデータパラメータのインデックスを量子化するための量子化ビットの総数(すなわち、量子化インデックスの粒度およびしたがって分解能)は、ビットレートcodec_total_brate、ism_total_brate、および/またはelement_brate(最後のものは1つのオーディオオブジェクトに関連するメタデータのビットバジェットおよび/またはコアエンコーダのビットバジェットの合計から生じる)に従属させられる場合がある。
方位角および仰角パラメータは、たとえば、球面上の点によって1つのパラメータとして表され得る。そのような場合、2つ以上のパラメータを含む異なるメタデータを実装することは、本開示の範囲内である。
2.3.3 メタデータのコーディング
方位角のインデックスと仰角のインデックスとの両方は、量子化されると、絶対コーディングかまたは差分コーディング(differential coding)かのどちらかを使用してメタデータプロセッサ105のメタデータエンコーダ(図示せず)によってコーディングされ得る。知られているように、絶対コーディングは、パラメータの現在の値がコーディングされることを意味する。差分コーディングは、パラメータの現在の値と前の値と間の差がコーディングされることを意味する。方位角パラメータおよび仰角のパラメータのインデックスは、通常、滑らかに発展する(evolve)(つまり、方位角または仰角の位置の変化は、連続的で滑らかであると考えられ得る)ので、デフォルトで差分コーディングが使用される。しかし、たとえば、以下の場合には、絶対コーディングが使用される場合がある。
- パラメータのインデックスの現在の値と以前の値との間の差が大きすぎ、それが、絶対コーディングを使用するのに比べて差分コーディングを使用するためのビット数がより多くなるかまたは等しくなる結果をもたらす(例外的に発生する可能性がある)。
- 前のフレームにおいて、メタデータがコーディングされず、送信されなかった。
- 差分コーディングを用いる連続したフレームが多すぎた。雑音のあるチャネルにおける復号を制御するため(不良フレームインジケータ(Bad Frame Indicator)、BFI = 1)。たとえば、メタデータエンコーダは、差分を使用してコーディングされる連続したフレームの数が、差分コーディングを使用してコーディングされる連続したフレームの最大数を超えている場合、絶対コーディングを使用してメタデータパラメータのインデックスをコーディングする。連続したフレームの最大数は、βに設定される。非限定的な説明のための例においては、β= 10フレームである。
メタデータエンコーダは、絶対コーディングと差分コーディングとを区別するために、1ビットの絶対コーディングフラグflagabsを生成する。
絶対コーディングの場合、コーディングフラグflagabsは、1に設定され、その後に、絶対コーディングを使用してコーディングされたBazビット(またはBelビット)のインデックスが続き、BazおよびBelは、それぞれ、コーディングされる方位角および仰角パラメータの上述のインデックスを指す。
差分コーディングの場合、1ビットのコーディングフラグflagabsは、0に設定され、その後に、0に等しい、現在のフレームおよび前のフレームにおけるBazビットのインデックス(またはBelビットのインデックス)の間の差Δをシグナリングする1ビットのゼロコーディングフラグflagzeroが続く。差Δが0に等しくない場合、メタデータエンコーダは、たとえば、差Δの値を示す単進符号(unary code)の形式の、ビット数が適応的である差分インデックスが後に続く、1ビットの符号フラグflagsignを生成することによってコーディングを継続する。
図2は、1つのメタデータパラメータのビットストリームのコーディングの異なるシナリオを示す図である。
図2を参照すると、すべてのメタデータパラメータがあらゆるフレームにおいて常に送信されるわけではないことが留意される。一部は、yフレーム毎にしか送信されない可能性があり、一部は、たとえば、それらが発展しないか、それらが重要でないか、または利用可能なビットバジェットが少ないときにはまったく送信されない。図2を参照すると、たとえば、
- 絶対コーディングの場合(図2の1行目)、絶対コーディングフラグflagabsおよびBazビットのインデックス(またはBelビットのインデックス)が、送信される。
- 現在のフレームおよび前のフレームにおけるBazビットのインデックス(またはBelビットのインデックス)の間の差Δが0に等しい差分コーディングの場合(図2の2行目)、絶対コーディングフラグflagabs=0およびゼロコーディングフラグflagzero=1が、送信される。
- 現在のフレームおよび前のフレームにおけるBazビットのインデックス(またはBelビットのインデックス)の間に正の差Δがある差分コーディングの場合(図2の3行目)、絶対コーディングフラグflagabs=0、ゼロコーディングフラグflagzero=0、符号フラグflagsign=0、および差分インデックス(1から(Baz-3)ビットのインデックス(または1から(Bel-3)ビットのインデックス))が、送信される。ならびに
- 現在のフレームおよび前のフレームにおけるBazビットのインデックス(またはBelビットのインデックス)の間に負の差Δがある差分コーディングの場合(図2の最終行)、絶対コーディングフラグflagabs=0、ゼロコーディングフラグflagzero=0、符号フラグflagsign=1、および差分インデックス(1から(Baz-3)ビットのインデックス(または1から(Bel-3)ビットのインデックス))が、送信される。
2.3.3.1 オブジェクト内のメタデータのコーディング論理
絶対コーディングまたは差分コーディングを設定するために使用される論理は、オブジェクト内のメタデータのコーディング論理によってさらに拡張されてよい。特に、フレーム間のメタデータのコーディングのビットバジェットの変動の幅を制限し、したがって、コアエンコーダ109に残されたビットバジェットが少なくなりすぎることを防止するために、メタデータエンコーダは、所与のフレームにおける絶対コーディングを、1つのまたは概して可能な限り少ない数のメタデータパラメータに制限する。
方位角および仰角メタデータパラメータのコーディングの非限定的な例において、メタデータエンコーダは、方位角のインデックスが同じフレームにおいて既に絶対コーディングを使用してコーディングされた場合、所定のフレームにおいて仰角のインデックスの絶対コーディングを避ける論理を使用する。言い換えると、1つのオーディオオブジェクトの方位角および仰角パラメータが、同じフレームにおいて両方とも絶対コーディングを使用してコーディングされることは(実質的に)ない。結果として、方位角パラメータに関する絶対コーディングフラグflagabs.aziが1に等しい場合、仰角パラメータに関する絶対コーディングフラグflagabs.eleは、オーディオオブジェクトのビットストリーム内で送信されない。
オブジェクト内のメタデータのコーディング論理をビットレートに依存させることも、本開示の範囲内である。たとえば、ビットレートが十分に高い場合、仰角パラメータに関する絶対コーディングフラグflagabs.eleと方位角パラメータに関する絶対コーディングフラグflagabs.aziとの両方が、同じフレームにおいて送信され得る。
2.3.3.2 オブジェクト間のメタデータのコーディング論理
メタデータエンコーダは、異なるオーディオオブジェクトのメタデータのコーディングに同様の論理を適用してよい。実施されるオブジェクト間のメタデータのコーディング論理は、現在のフレームにおいて絶対コーディングを使用してコーディングされる異なるオーディオオブジェクトのメタデータパラメータの数を最小化する。これは、主に、堅牢性を目的として選択され、パラメータβによって表される、絶対コーディングを使用してコーディングされるメタデータパラメータのフレームカウンタ(frame counter)を制御することによってメタデータエンコーダにより実現される。非限定的な例として、オーディオオブジェクトのメタデータパラメータがゆっくりと滑らかに発展するシナリオが、考察される。βフレーム毎に絶対コーディングを使用してインデックスがコーディングされる雑音のあるチャネルにおける復号を制御するために、オーディオオブジェクト#1の方位角のBazビットのインデックスが、フレームMにおいて絶対コーディングを使用してコーディングされ、オーディオオブジェクト#1の仰角のBelビットのインデックスが、フレームM+1において絶対コーディングを使用してコーディングされ、オーディオオブジェクト#2の方位角のBazビットのインデックスが、フレームM+2において絶対コーディングを使用して符号化され、オブジェクト#2の仰角のBelビットのインデックスが、フレームM+3において絶対コーディングを使用してコーディングされ、以下同様である。
図3aは、オブジェクト間のメタデータのコーディング論理を使用しない場合の3つのオーディオオブジェクトのメタデータパラメータに関する絶対コーディングフラグflagabsの値を示すグラフであり、図3bは、オブジェクト間のメタデータのコーディング論理を使用する場合の3つのオーディオオブジェクトのメタデータパラメータに関する絶対コーディングフラグflagabsの値を示すグラフである。図3aにおいて、矢印は、いくつかの絶対コーディングフラグの値が1に等しいフレームを示す。
より詳細には、図3aは、オブジェクト間のメタデータのコーディングを使用しない場合の、オーディオオブジェクトの2つのメタデータパラメータ(この特定の例においては方位角および仰角)に関する絶対コーディングフラグflagabsの値を示し、図3bは、同じ値を示すが、オブジェクト間のメタデータのコーディング論理が実施される。図3aおよび図3bのグラフは、(上から下に向かって)以下に対応する。
- オーディオオブジェクト#1のオーディオストリーム、
- オーディオオブジェクト#2のオーディオストリーム、
- オーディオオブジェクト#3のオーディオストリーム、
- オーディオオブジェクト#1の方位角パラメータに関する絶対コーディングフラグflagabs,azi
- オーディオオブジェクト#1の仰角パラメータに関する絶対コーディングフラグflagabs,ele
- オーディオオブジェクト#2の方位角パラメータに関する絶対コーディングフラグflagabs,azi
- オーディオオブジェクト#2の仰角パラメータに関する絶対コーディングフラグflagabs,ele
- オーディオオブジェクト#3の方位角パラメータに関する絶対コーディングフラグflagabs,azi、および
- オーディオオブジェクト#3の仰角パラメータに関する絶対コーディングフラグflagabs,ele
オブジェクト間のメタデータのコーディング論理が使用されないときは、同一フレームにおいていくつかのflagabsが1に等しい値を持つ場合がある(矢印参照)ことが、図3aからわかる。対照的に、図3bは、オブジェクト間のメタデータのコーディング論理が使用されるとき、所与のフレームにおいて1つの絶対フラグflagabsのみが1に等しい値を持つ場合があることを示す。
また、オブジェクト間のメタデータのコーディング論理は、ビットレートに依存させられてもよい。この場合、たとえば、ビットレートが十分に大きい場合には、たとえオブジェクト間のメタデータのコーディング論理が使用されるときでも、所与のフレームにおいて2つ以上の絶対フラグflagabsが1に等しい値を持つ場合がある。
オブジェクト間のメタデータのコーディング論理およびオブジェクト内のメタデータのコーディングの技術的利点は、フレーム間のメタデータのコーディングのビットバジェットの変動の範囲を制限することである。別の技術的利点は、雑音のあるチャネルにおけるコーデックの堅牢性を高めることであり、フレームが失われるとき、絶対コーディングを使用してコーディングされたオーディオオブジェクトからの限られた数のメタデータパラメータだけが、失われる。そのため、失われたフレームから伝搬されるいかなるエラーも、オーディオオブジェクト全体の少数のメタデータパラメータのみに影響を与え、したがって、オーディオシーン全体(またはいくつかの異なるチャネル)に影響を与えない。
メタデータをオーディオストリームとは別に分析し、量子化し、コーディングすることの全体的な技術的利点は、上述のように、メタデータに特別に適応され、メタデータのコーディングのビットレート、メタデータのコーディングのビットバジェットの変動、雑音のあるチャネルにおける堅牢性、および失われたフレームが原因であるエラーの伝搬の点でより効率的な処理を可能にすることである。
メタデータプロセッサ105からの量子化され、コーディングされたメタデータ112は、遠方のデコーダ700(図7)に送信される出力ビットストリーム111に挿入するためにマルチプレクサ110に供給される。
N個のオーディオオブジェクトのメタデータが分析され、量子化され、符号化されると、メタデータプロセッサ105から、オーディオオブジェクト毎のメタデータのコーディングのためのビットバジェットについての、メタデータプロセッサ105からの情報107が、次の2.4節でより詳細に説明される構成および判断プロセッサ106(ビットバジェットアロケータ)に供給される。プロセッサ106(ビットバジェットアロケータ)においてオーディオストリーム間の構成およびビットレートの分配が完了すると、コーディングは、後述されるさらなる前処理158によって継続する。最後に、N個のオーディオストリームは、たとえば、モノコアエンコーダなどのN個の変動ビットレートコアエンコーダ109を含むエンコーダを使用して符号化される。
2.4 チャネル毎のビットレートの構成および判断
オブジェクトベースのオーディオ信号をコーディングするための図1の方法150は、トランスポートチャネル104毎のビットレートについての構成および判断の動作156を含む。動作156を実行するために、オブジェクトベースのオーディオ信号をコーディングするためのシステム100は、ビットバジェットアロケータを形成する構成および判断プロセッサ106を含む。
構成および判断プロセッサ106(以降、ビットバジェットアロケータ106)は、ビットレート適応アルゴリズムを使用して、N個のトランスポートチャネル104においてN個のオーディオストリームをコア符号化する(core-encode)ための利用可能なビットバジェットを分配する。
構成および判断動作156のビットレート適応アルゴリズムは、ビットバジェットアロケータ106によって実行される以下の下位動作1~6を含む。
1. フレーム毎のISmの合計ビットバジェットbitsismは、ISmの合計ビットレートism_total_brate(またはオーディオオブジェクトのみがコーディングされる場合は、コーデックの合計ビットレートcodec_total_brate)から、たとえば、次の関係式を使用して計算される。
Figure 2022539608000002
分母の50は、20msの長さのフレームを仮定すると、1秒あたりのフレーム数に対応する。フレームの大きさが20msと異なる場合、値50は異なる。
2. N個のオーディオオブジェクトに関して定義された(1つのオーディオオブジェクトに関連するメタデータのビットバジェットとコアエンコーダのビットバジェットとの合計の結果として得られる)上で定義された要素のビットレートelement_brateが、所与のコーデックの合計ビットレートにおいてセッション中一定であり、N個のオーディオオブジェクトに関してほぼ同じであると想定される。「セッション」は、たとえば、電話またはオーディオファイルのオフライン圧縮として定義される。対応する要素のビットバジェットbitselementが、オーディオストリームのオブジェクトn = 0, ..., N-1に関して、たとえば、次の関係式
Figure 2022539608000003
を使用して計算され、式中、
Figure 2022539608000004
は、x以下の最も大きな整数を示す。利用可能なISmの合計ビットバジェットbitsismをすべて使うために、たとえば、最後のオーディオオブジェクトの要素のビットバジェットbitselementが、最終的に、次の関係式
Figure 2022539608000005
を使用して調整され、式中、「mod」は、剰余のモジュロ演算を示す。最後に、N個のオーディオオブジェクトの要素のビットバジェットbitselementが、オーディオオブジェクトn = 0, ..., N-1に関する値element_brateを、たとえば、次の関係式
element_brate[n] = bitselement[n]*50
を使用して設定するために使用され、式中、数字50は、上述のように、20msの長さのフレームを仮定すると、1秒あたりのフレーム数に対応する。
3. N個のオーディオオブジェクトのフレーム毎のメタデータのビットバジェットbitsmetaが、次の関係式
Figure 2022539608000006
を使用して合計され、結果として得られる値bitsmeta_allが、ISm共通シグナリング(common signaling)のビットバジェットbitsIsm_signallingに加算され、コーデックのサイドビットバジェット(side bit-budget)
bitsside = bitsmeta_all + bitsISm_signalling
をもたらす。
4. フレーム毎のコーデックのサイドビットバジェットbitssideが、N個のオーディオオブジェクトの間に均等に分けられ、N個のオーディオストリームの各々に関するコアエンコーダのビットバジェットbitsCoreCoderを、たとえば、次の関係式
Figure 2022539608000007
を使用して計算するために使用され、一方、たとえば、最後のオーディオストリームのコアエンコーダのビットバジェットは、最終的に、利用可能なコア符号化のビットバジェットをすべて使うように、たとえば、次の関係式
Figure 2022539608000008
を使用して調整されてよい。それから、対応する合計ビットレートtotal_brate、すなわち、コアエンコーダにおいて1つのオーディオストリームをコーディングするためのビットレートが、n = 0, ..., N-1に関して、たとえば、次の関係式
total_brate[n] = bitsCoreCoder[n]*50
を使用して得られ、式中、数字50は、やはり、20msの長さのフレームを仮定すると、1秒あたりのフレーム数に対応する。
5. 非アクティブなフレーム(または非常に低いエネルギーを有するか、もしくはそうでなければ意味のある内容を持たないフレーム)における合計ビットレートtotal_brateが、関連するオーディオストリームにおいて引き下げられ、一定値に設定されてよい。そして、そのようにして節約されたビットバジェットが、フレーム内のアクティブな内容を有するオーディオストリームの間に均等に再分配される。ビットバジェットのそのような再分配は、次の2.4.1項においてさらに説明される。
6. アクティブなフレーム内の(アクティブな内容を有する)オーディオストリームにおける合計ビットレートtotal_brateが、ISmの重要度分類に基づいてこれらのオーディオストリームの間でさらに調整される。そのようなビットレートの調整は、以下の2.4.2項でさらに説明される。
オーディオストリームがすべて非アクティブなセグメント内にある(または意味のある内容を持たない)とき、上述の最後の2つの下位動作5および6は、省かれてよい。したがって、以下の2.4.1項および2.4.2項において説明されるビットレート適応アルゴリズムは、少なくとも1つのオーディオストリームがアクティブな内容を有するときに使用される。
2.4.1 信号アクティビティ(signal activity)に基づくビットレートの適応
非アクティブなフレーム(VAD = 0)においては、合計ビットレートtotal_brateが引き下げられ、節約されたビットバジェットが、アクティブなフレーム(VAD≠0)のオーディオストリームの間に、たとえば、均等に再分配される。前提として、非アクティブとして分類されるフレームにおけるオーディオストリームの波形のコーディングは、必要とされず、オーディオオブジェクトは、ミュートされてよい。あらゆるフレームで使用される論理は、以下の下位動作1~3によって表現され得る。
1. 特定のフレームに関して、非アクティブな内容を有するあらゆるオーディオストリームnにより小さなコアエンコーダのビットバジェットを設定し、
bitsCoreCoder'[n] = BVAD0 VAD=0である∀n
式中、BVAD0は、非アクティブなフレームにおいて設定されるより低い一定のコアエンコーダのビットバジェットであり、たとえば、BVAD0 = 140(20msのフレームに関して7kbpsに相当する)またはBVAD0 = 49(20msのフレームに関して2.45kbpsに相当する)である。
2. 次に、節約されたビットバジェットが、たとえば、次の関係式
Figure 2022539608000009
を使用して計算される。
3. 最後に、節約されたビットバジェットが、たとえば、所与のフレーム内のアクティブな内容を有するオーディオストリームのコアエンコーダのビットバジェットの間に、次の関係式、
Figure 2022539608000010
を使用して均等に再分配され、式中、NVAD1は、アクティブな内容を有するオーディオストリームの数である。アクティブな内容を有する最初のオーディオストリームのコアエンコーダのビットバジェットが、たとえば、次の関係式、
Figure 2022539608000011
を使用して最終的に増やされる。最後に、対応するコアエンコーダの合計ビットレートtotal_brateが、各オーディオストリームn = 0, ..., N-1に関して、以下の通り得られる。
total_brate'[n] = bitsCoreCoder'[n]*50
図4は、3つのコアエンコーダに関するビットレートの適応の例を示すグラフである。特に、図4において、1行目は、オーディオストリーム#1に関するコアエンコーダの合計ビットレートtotal_brateを示し、2行目は、オーディオストリーム#2に関するコアエンコーダの合計ビットレートtotal_brateを示し、3行目は、オーディオストリーム#3に関するコアエンコーダの合計ビットレートtotal_brateを示し、4行目は、オーディオストリーム#1であり、5行目は、オーディオストリーム#2であり、6行目は、オーディオストリーム#3である。
図4の例において、3つのコアエンコーダの合計ビットレートtotal_brateの適応は、VADアクティビティ(アクティブ/非アクティブなフレーム)に基づく。図4からわかるように、ほとんどの場合、変動するサイドビットバジェットbitssideの結果として、コアエンコーダの合計ビットレートtotal_brateの小さな変動がある。そして、VADアクティビティの結果として、コアエンコーダの合計ビットレートtotal_brateのまれに起こる大幅な変化が存在する。
たとえば、図4を参照すると、事例A)は、オーディオストリーム#1のVADアクティビティが1(アクティブ)から0(非アクティブ)に変化するフレームに対応する。この論理によれば、最小のコアエンコーダの合計ビットレートtotal_brateが、オーディオオブジェクト#1に割り振られ、一方、アクティブなオーディオオブジェクト#2および#3に関するコアエンコーダのトータルビットレートtotal_brateは、増やされる。事例B)は、オーディオストリーム#3のVADアクティビティが1(アクティブ)から0(非アクティブ)に変化する一方、オーディオストリーム#1のVADアクティビティが0のままであるフレームに対応する。論理によれば、最小のコアエンコーダの合計ビットレートtotal_brateが、オーディオストリーム#1および#3に割り振られ、一方、アクティブなオーディオストリーム#2のコアエンコーダの合計ビットレートtotal_brateは、さらに増やされる。
2.4.1項の上述の論理は、合計ビットレートism_total_brateに依存させられ得る。たとえば、上述の下位動作1におけるビットバジェットBVAD0が、より高い合計ビットレートism_total_brateに対してより高く設定され、より低い合計ビットレートism_total_brateに対してより低く設定され得る。
2.4.2 ISmの重要度に基づくビットレートの適応
前の2.4.1項において説明された論理は、所与のフレーム内のアクティブな内容を有する(VAD = 1)あらゆるオーディオストリームにおいてほぼ同じコアエンコーダのビットレートをもたらす。しかし、ISmの重要度の分類(またはより広く、復号された合成(decoded synthesis)の所与の(満足のゆく)品質を得るための現在のフレームにおける特定のオーディオオブジェクトのコーディングがどれだけ重要であるかを示す指標)に基づくオブジェクト間のコアエンコーダのビットレートの適応を導入することが、有益である場合がある。
ISmの重要度の分類は、いくつかのパラメータおよび/またはパラメータの組合せ、たとえば、コアエンコーダタイプ(coder_type)、FEC(前方誤り訂正)、音声信号の分類(class)、人の声/音楽の分類の判断、および/または参考文献[1]に記載されている開ループACELP/TCX(代数符号励振線形予測/変換符号化励振)コア判断モジュール(core decision module)からのSNR(信号対雑音比)推定値(snr_celp、snr_tcx)に基づき得る。その他のパラメータが、ISmの重要度の分類を決定するために使用され得る可能性がある。
非制限的な例においては、参考文献[1]で定義されているコアエンコーダタイプに基づくISmの重要度の単純な分類が、実施される。その目的のために、図1のビットバジェットアロケータ106は、特定のISmストリームの重要度を評価するための分類器(図示せず)を含む。結果として、4つの異なるISm重要度クラスclassISmが、定義される。
- 無メタデータクラスISM_NO_META: メタデータのコーディングのないフレーム、たとえば、VAD=0の非アクティブなフレーム
- 低重要度クラスISM_LOW_IMP: coder_type = UNVOICEDまたはINACTIVEであるフレーム
- 中重要度クラスISM_MEDIUM_IMP: coder_type = VOICEDであるフレーム
- 高重要度クラスISM_HIGH_IMP: coder_type = GENERICであるフレーム
そのとき、ISm重要度クラスは、より高いISmの重要度を有するオーディオストリームにより大きなビットバジェットを割り振り、より低いISmの重要度を有するオーディオストリームにより低いビットバジェットを割り振るためにビットレート適応アルゴリズム(上の2.4節の下位動作6参照)においてビットバジェットアロケータ106によって使用される。したがって、あらゆるオーディオストリームn、n = 0, ..., N-1に関して、ビットバジェットアロケータ106によって以下のビットレート適応アルゴリズムが使用される。
1. classISm = ISM_NO_METAとして分類されたフレームにおいては、一定の低いビットレートBVAD0が割り振られる。
2. classISm = ISM_LOW_IMPとして分類されたフレームにおいては、合計ビットレートtotal_brateが、たとえば、
total_bratenew[n] = max(αlow*total_brate[n], Blow)
のように引き下げられ、式中、定数αlowは、1.0未満の値、たとえば、0.6に設定される。そして、定数Blowは、特定の構成のためにコーデックによってサポートされる最小ビットレートの閾値を表し、この最小ビットレートの閾値は、たとえば、コーデックの内部サンプリングレート、コーディングされるオーディオの帯域幅などに依存する場合がある(これらの値についてのさらなる詳細に関しては参考文献[1]を参照されたい)。
3. classISm = ISM_MEDIUM_IMPとして分類されたフレームにおいては、コアエンコーダの合計ビットレートtotal_brateが、たとえば、
total_bratenew[n] = max(αmed*total_brate[n], Blow)
のように引き下げられ、式中、定数αmedは、1.0未満であるが、αlow、たとえば0.8よりも大きい値に設定される。
4. classISm = ISM_HIGH_IMPとして分類されたフレームにおいては、ビットレートの適応が使用されない。
5. 最後に、節約されたビットバジェット(古い合計ビットレート(total_brate)と新しい合計ビットレート(total_bratenew)との間の差の合計)が、フレーム内のアクティブな内容を有するオーディオストリームの間に均等に再分配される。2.4.1項の下位動作2および3で説明されたのと同じビットバジェット再分配論理が、使用されてよい。
図5は、ISm重要度論理に基づくビットレートの適応の例を示すグラフである。上から下に向かって、図5のグラフは、以下を同期的に示す。
- オーディオオブジェクト#1に関するオーディオストリームのアクティブなスピーチセグメント、
- オーディオオブジェクト#2に関するオーディオストリームのアクティブなスピーチセグメント、
- ビットレート適応アルゴリズムを使用しない場合のオーディオオブジェクト#1に関するオーディオストリームの合計ビットレートtotal_brate、
- ビットレート適応アルゴリズムを使用しない場合のオーディオオブジェクト#2に関するオーディオストリームの合計ビットレートtotal_brate、
- ビットレート適応アルゴリズムが使用されるときのオーディオオブジェクト#1に関するオーディオストリームの合計ビットレートtotal_brate、および
- ビットレート適応アルゴリズムが使用されるときのオーディオオブジェクト#2に関するオーディオストリームの合計ビットレートtotal_brate。
図5の非限定的な例において、2つのオーディオオブジェクト(N=2)と、48kbpsに等しい決まった一定の合計ビットレートism_total_brateとを用いると、オーディオオブジェクト#1のアクティブなフレームにおけるコアエンコーダの合計ビットレートtotal_brateは、ビットレート適応アルゴリズムが使用されないときは23.45kbpsから23.65kbpsまでの間で変動する一方、ビットレート適応アルゴリズムが使用されるときは19.15kbpsから28.05kbpsまでの間で変動する。同様に、オーディオオブジェクト#2のアクティブなフレームにおけるコアエンコーダの合計ビットレートtotal_brateは、ビットレート適応アルゴリズムを使用しない場合は23.40kbpsから23.65kbpsまでの間で変動し、ビットレート適応アルゴリズムを使用する場合は19.10kbpsから28.05kbpsまでの間で変動する。それによって、オーディオストリーム間の利用可能なビットバジェットのより良く、より効率的な分配が得られる。
2.5 前処理
図1を参照すると、オブジェクトベースのオーディオ信号をコーディングするための方法150は、構成および判断プロセッサ106(ビットバジェットアロケータ)からN個のトランスポートチャネル104を介して運ばれたN個のオーディオストリームの前処理の動作158を含む。動作158を実行するために、オブジェクトベースのオーディオ信号をコーディングするためのシステム100は、プリプロセッサ108を含む。
N個のオーディオストリームの間の構成およびビットレートの分配が構成および判断プロセッサ106(ビットバジェットアロケータ)によって完了されると、プリプロセッサ108は、N個のオーディオストリームの各々に関して、逐次的なさらなる前処理158を実行する。そのような前処理158は、たとえば、さらなる信号の分類、さらなるコアエンコーダの選択(たとえば、ACELPコア、TCXコア、およびHQコアからの選択)、コアエンコーダのために使用されるビットレートに適応された異なる内部サンプリング周波数Fsでのその他の再サンプリングなどを含んでよい。そのような前処理の例は、たとえば、EVSコーデックに関連して参考文献[1]に見つけることが可能であり、したがって、本開示においてさらに説明されない。
2.6 コア符号化
図1を参照すると、オブジェクトベースのオーディオ信号をコーディングするための方法150は、コア符号化の動作159を含む。動作159を実行するために、オブジェクトベースのオーディオ信号をコーディングするためのシステム100は、たとえば、プリプロセッサ108からN個のトランスポートチャネル104を介して運ばれたN個のオーディオストリームをそれぞれコーディングするためのN個のコアエンコーダ109を含むN個のオーディオストリームの上述のエンコーダを含む。
特に、N個のオーディオストリームは、N個の変動ビットレートコアエンコーダ109、たとえば、モノコアエンコーダを使用して符号化される。N個のコアエンコーダの各々によって使用されるビットレートは、対応するオーディオストリームのために構成および判断プロセッサ106(ビットバジェットアロケータ)によって選択されたビットレートである。たとえば、参考文献[1]に記載されているコアエンコーダが、コアエンコーダ109として使用され得る。
3.0 ビットストリームの構造
図1を参照すると、オブジェクトベースのオーディオ信号をコーディングするための方法150は、多重化の動作160を含む。動作160を実行するために、オブジェクトベースのオーディオ信号をコーディングするためのシステム100は、マルチプレクサ110を含む。
図6は、マルチプレクサ110によって生成され、図1のコーディングシステム100から図7の復号システム700に送信されるビットストリーム111の構造を、フレームに関して示す概略図である。メタデータが存在し、送信されるか否かにかかわらず、ビットストリーム111の構造は、図6に示されるように組み立てられてよい。
図6を参照すると、マルチプレクサ110が、N個のオーディオストリームのインデックスをビットストリーム111の始めから書き込む一方、構成および判断プロセッサ106(ビットバジェットアロケータ)からのISm共通シグナリング113およびメタデータプロセッサ105からのメタデータ112のインデックスが、ビットストリーム111の終わりから書き込まれる。
3.1 ISm共通シグナリング
マルチプレクサは、ビットストリーム111の終わりからISm共通シグナリング113を書き込む。ISm共通シグナリングは、構成および判断プロセッサ106(ビットバジェットアロケータ)によって生成され、以下を表す可変数のビットを含む。
(a)オーディオオブジェクトの数N: ビットストリーム111に存在するコーディングされたオーディオオブジェクトの数Nに関するシグナリングは、たとえば、ストップビットを有する単進符号の形態である(たとえば、N = 3個のオーディオオブジェクトに関して、ISm共通シグナリングの最初の3ビットは「110」となる)。
(b)メタデータ存在フラグflagmeta: フラグflagmetaは、2.4.1項において説明された信号アクティビティに基づくビットレートの適応が使用されるときに存在し、その特定のオーディオオブジェクトのメタデータがビットストリーム111内に存在する(flagmeta = 1)のかもしくは存在しない(flagmeta = 0)のかを示すためにオーディオオブジェクト毎に1ビットを含む、または(c)ISm重要度クラス: このシグナリングは、2.4.2項において説明されたISMの重要度に基づくビットレートの適応が使用されるときに存在し、2.4.2項において定義されたISm重要度クラスclassISm(ISM_NO_META、ISM_LOW_IMP、ISM_MEDIUM_IMP、ISM_HIGH_IMP)を示すためにオーディオオブジェクト毎に2ビットを含む。
(d)ISm VADフラグflagVAD: ISm VADフラグは、flagmeta = 0またはclassISm = ISM_NO_METAであるときに送信され、以下の2つの場合を区別する。
1)入力メタデータが存在しないか、またはメタデータがコーディングされず、したがって、オーディオストリームがアクティブコーディングモードによってコーディングされる必要がある(flagVAD = 1)、および
2)入力メタデータが存在し、送信され、したがって、オーディオストリームが非アクティブコーディングモードでコーディングされ得る(flagVAD = 0)。
3.2 コーディングされたメタデータのペイロード
マルチプレクサ110は、メタデータプロセッサ105からコーディングされたメタデータ112を供給され、現在のフレームにおいてメタデータがコーディングされている(flagmeta = 1またはclassISm≠ISM_NO_META)オーディオオブジェクトに関するビットストリームの終わりから順にメタデータのペイロードを書き込む。各オーディオオブジェクトのためのメタデータのビットバジェットは、一定ではなく、むしろ、オブジェクト間およびフレーム間で適応的である。異なるメタデータフォーマットのシナリオが、図2に示される。
メタデータがN個のオーディオオブジェクトの少なくとも一部に関して存在しないかまたは送信されない場合、これらのオーディオオブジェクトに関して、メタデータフラグは0に設定され、つまり、flagmeta = 0であるか、またはclassISm = ISM_NO_METAである。そのとき、メタデータのインデックスは、それらのオーディオオブジェクトに関連して送信されず、つまり、bitsmeta[n] = 0である。
3.3 オーディオストリームのペイロード
マルチプレクサ110は、N個のトランスポートチャネル104を介してN個のコアエンコーダ109によってコーディングされたN個のオーディオストリーム114を受信し、オーディオストリームのペイロードをビットストリーム111の始めから時系列でN個のオーディオストリームに関して順に書き込む(図6参照)。N個のオーディオストリームのそれぞれのビットバジェットは、2.4節で説明されたビットレート適応アルゴリズムの結果として変動している。
4.0 オーディオオブジェクトの復号
図7は、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステム700と、オーディオオブジェクトを復号するための対応する方法750とを同時に示す概略的なブロック図である。
4.1 多重分離
図7を参照すると、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するための方法750は、多重分離の動作755を含む。動作755を実行するために、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステム700は、デマルチプレクサ705を含む。
デマルチプレクサは、図1のコーディングシステム100から図7の復号システム700に送信されたビットストリーム701を受信する。特に、図7のビットストリーム701は、図1のビットストリーム111に対応する。
デマルチプレクサ110は、ビットストリーム701から、(a)コーディングされたN個のオーディオストリーム114、(b)N個のオーディオオブジェクトに関するコーディングされたメタデータ112、および(c)受信されたビットストリーム701の終わりから読み出されたISm共通シグナリング113を抽出する。
4.2 メタデータの復号および逆量子化
図7を参照すると、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するための方法750は、メタデータの復号および逆量子化の動作756を含む。動作756を実行するために、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステム700は、メタデータ復号および逆量子化プロセッサ706を含む。
メタデータ復号および逆量子化プロセッサ706は、送信されたオーディオオブジェクトに関するコーディングされたメタデータ112、ISm共通シグナリング113、およびアクティブな内容を有するオーディオストリーム/オブジェクトに関するメタデータを復号し、逆量子化するための出力設定709を供給される。出力設定709は、コーディングされたオーディオオブジェクト/トランスポートチャネルの数Nに等しいかまたは異なることが可能である、復号されたオーディオオブジェクト/トランスポートチャネルおよび/またはオーディオフォーマットの数Mについてのコマンドラインパラメータである。メタデータ復号および逆量子化プロセッサ706は、M個のオーディオオブジェクト/トランスポートチャネルに関する復号されたメタデータ704を生成し、M個の復号されたメタデータのためのそれぞれのビットバジェットについての情報を回線708上で供給する。明らかに、プロセッサ706によって実行される復号および逆量子化は、図1のメタデータプロセッサ105によって実行される量子化およびコーディングの逆である。
4.3 ビットレートについての構成および判断
図7を参照すると、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するための方法750は、チャネル毎のビットレートについての構成および判断の動作757を含む。動作757を実行するために、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステム700は、構成および判断プロセッサ707(ビットバジェットアロケータ)を含む。
ビットバジェットアロケータ707は、(a)回線708上のM個の復号されたメタデータのためのそれぞれのビットバジェットについての情報と、(b)共通シグナリング113からのISm重要度クラスclassISmとを受信し、オーディオストリーム毎のコアデコーダのビットレートtotal_brate[n]を決定する。ビットバジェットアロケータ707は、図1のビットバジェットアロケータ106と同じ手順を使用してコアデコーダのビットレートを決定する(2.4節参照)。
4.4 コア復号(core-decoding)
図7を参照すると、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するための方法750は、コア復号の動作760を含む。操作760を実行するために、関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステム700は、N個のコアデコーダ710、たとえば、N個の変動ビットレートコアデコーダを含むN個のオーディオストリーム114のデコーダを含む。
デマルチプレクサ705からのN個のオーディオストリーム114が、復号され、たとえば、N個の変動ビットレートコアデコーダ710において、ビットバジェットアロケータ707によって決定されたそれらのそれぞれのコアデコーダのビットレートで順に復号される。出力設定709によって要求された復号されたオーディオオブジェクトの数Mがトランスポートチャネルの数よりも少ない、つまり、M < Nである場合、より少ない数のコアデコーダが使用される。同様に、そのような場合、すべてのメタデータのペイロードが復号されるとは限らない可能性がある。
デマルチプレクサ705からのN個のオーディオストリーム114、ビットバジェットアロケータ707によって決定されたコアデコーダのビットレート、および出力設定709に応じて、コアデコーダ710は、それぞれのM個のトランスポートチャネル上でM個の復号されたオーディオストリーム703を生成する。
5.0 オーディオチャネルのレンダリング
オーディオチャネルのレンダリングの動作761においては、オーディオオブジェクトのレンダラ711が、生成される出力オーディオチャネルの数および内容を示す出力設定712を考慮して、M個の復号されたメタデータ704およびM個の復号されたオーディオストリーム703をいくつかの出力オーディオチャネル702に変換する。やはり、出力オーディオチャネル702の数は、数Mと等しいかまたは異なっていてよい。
レンダラ711は、所望の出力オーディオチャネルを得るために様々な異なる構造で設計されてよい。そのため、レンダラは、本開示においてさらに説明されない。
6.0 ソースコード
非限定的な例示的実施形態によれば、上述の説明において開示されたオブジェクトベースのオーディオ信号をコーディングするためのシステムおよび方法は、追加的な開示としてこの下に与えられた(Cコードで表現された)以下のソースコードによって実装されてよい。
void ism_metadata_enc(
const long ism_total_brate, /* i : ISmの合計ビットレート */
const short n_ISms, /* i : オブジェクトの数 */
ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISMメタデータのハンドル */
ENC_HANDLE hSCE[], /* i/o: 要素エンコーダのハンドル */
BSTR_ENC_HANDLE hBstr, /* i/o: ビットストリームのハンドル */
short nb_bits_metadata[], /* o : メタデータのビット数 */
short localVAD[]
)
{
short i, ch, nb_bits_start, diff;
short idx_azimuth, idx_azimuth_abs, flag_abs_azimuth[MAX_NUM_OBJECTS], nbits_diff_azimuth;
short idx_elevation, idx_elevation_abs, flag_abs_elevation[MAX_NUM_OBJECTS], nbits_diff_elevation;
float valQ;
ISM_METADATA_HANDLE hIsmMetaData;
long element_brate[MAX_NUM_OBJECTS], total_brate[MAX_NUM_OBJECTS];
short ism_metadata_flag_global;
short ism_imp[MAX_NUM_OBJECTS];

/* 初期化 */
ism_metadata_flag_global = 0;
set_s( nb_bits_metadata, 0, n_ISms );
set_s( flag_abs_azimuth, 0, n_ISms );
set_s( flag_abs_elevation, 0, n_ISms );

/*----------------------------------------------------------------*
* メタデータ存在/重要度フラグを設定する
*----------------------------------------------------------------*/

for( ch = 0; ch < n_ISms; ch++ )
{
if( hIsmMeta[ch]->ism_metadata_flag )
{
hIsmMeta[ch]->ism_metadata_flag = localVAD[ch];
}
else
{
hIsmMeta[ch]->ism_metadata_flag = 0;
}

if ( hSCE[ch]->hCoreCoder[0]->tcxonly )
{
/* 最高ビットレートで(TCXコアのみを用いて)、メタデータがあらゆるフレームにおいて送信される */
hIsmMeta[ch]->ism_metadata_flag = 1;
}
}

rate_ism_importance( n_ISms, hIsmMeta, hSCE, ism_imp );

/*----------------------------------------------------------------*
* ISm共通シグナリングを書き込む
*----------------------------------------------------------------*/

/* いくつかのオブジェクトを書き込む - 単進符号化 */
for( ch = 1; ch < n_ISms; ch++ )
{
push_indice( hBstr, IND_ISM_NUM_OBJECTS, 1, 1 );
}
push_indice( hBstr, IND_ISM_NUM_OBJECTS, 0, 1 );


/* ISmメタデータフラグを書き込む(オブジェクト毎に1つ) */
for( ch = 0; ch < n_ISms; ch++ )
{
push_indice( hBstr, IND_ISM_METADATA_FLAG, ism_imp[ch], ISM_METADATA_FLAG_BITS );

ism_metadata_flag_global |= hIsmMeta[ch]->ism_metadata_flag;
}

/* VADフラグを書き込む */
for( ch = 0; ch < n_ISms; ch++ )
{
if( hIsmMeta[ch]->ism_metadata_flag == 0 )
{
push_indice( hBstr, IND_ISM_VAD_FLAG, localVAD[ch], VAD_FLAG_BITS );
}
}

if( ism_metadata_flag_global )
{
/*----------------------------------------------------------------*
* メタデータの量子化およびコーディング。すべてのオブジェクトにわたってループする
*----------------------------------------------------------------*/

for( ch = 0; ch < n_ISms; ch++ )
{
hIsmMetaData = hIsmMeta[ch];
nb_bits_start = hBstr->nb_bits_tot;

if( hIsmMeta[ch]->ism_metadata_flag )
{
/*----------------------------------------------------------------*
* 方位角の量子化および符号化
*----------------------------------------------------------------*/

/* 方位角の量子化 */
idx_azimuth_abs = usquant( hIsmMetaData->azimuth, &valQ, ISM_AZIMUTH_MIN, ISM_AZIMUTH_DELTA, (1 << ISM_AZIMUTH_NBITS) );
idx_azimuth = idx_azimuth_abs;

nbits_diff_azimuth = 0;

flag_abs_azimuth[ch] = 0; /* デフォルトで差分コーディング */
if( hIsmMetaData->azimuth_diff_cnt == ISM_FEC_MAX /* (FECにおいて復号を制御するために)最大でISM_FEC_MAX個の連続したフレームにおいて差分符号化を行う */
|| hIsmMetaData->last_ism_metadata_flag == 0 /* 最後のフレームがメタデータをコーディングしなかった場合、差分コーディングを使用しない */
)
{
flag_abs_azimuth[ch] = 1;
}

/* 差分コーディングを試みる */
if( flag_abs_azimuth[ch] == 0 )
{
diff = idx_azimuth_abs - hIsmMetaData->last_azimuth_idx;

if( diff == 0 )
{
idx_azimuth = 0;
nbits_diff_azimuth = 1;
}
else if( ABSVAL( diff ) < ISM_MAX_AZIMUTH_DIFF_IDX ) /* diffビット >= absビットであるとき、absを優先する */
{
idx_azimuth = 1 << 1;
nbits_diff_azimuth = 1;

if( diff < 0 )
{
idx_azimuth += 1; /* 負号 */
diff *= -1;
}
else
{
idx_azimuth += 0; /* 正号 */
}

idx_azimuth = idx_azimuth << diff;
nbits_diff_azimuth++;

/* 「diff」の単進符号化 */
idx_azimuth += ((1<<diff) - 1);
nbits_diff_azimuth += diff;

if( nbits_diff_azimuth < ISM_AZIMUTH_NBITS - 1 )
{
/* ストップビットを追加する - ISM_AZIMUTH_NBITSよりも短い符号語に関してのみ */
idx_azimuth = idx_azimuth << 1;
nbits_diff_azimuth++;
}
}
else
{
flag_abs_azimuth[ch] = 1;
}
}

/* カウンタを更新する */
if( flag_abs_azimuth[ch] == 0 )
{
hIsmMetaData->azimuth_diff_cnt++;
hIsmMetaData->elevation_diff_cnt = min( hIsmMetaData->elevation_diff_cnt, ISM_FEC_MAX );
}
else
{
hIsmMetaData->azimuth_diff_cnt = 0;
}

/* 方位角を書き込む */
push_indice( hBstr, IND_ISM_AZIMUTH_DIFF_FLAG, flag_abs_azimuth[ch], 1 );

if( flag_abs_azimuth[ch] )
{
push_indice( hBstr, IND_ISM_AZIMUTH, idx_azimuth, ISM_AZIMUTH_NBITS );
}
else
{
push_indice( hBstr, IND_ISM_AZIMUTH, idx_azimuth, nbits_diff_azimuth );
}

/*----------------------------------------------------------------*
* 仰角の量子化および符号化
*----------------------------------------------------------------*/

/* 仰角の量子化 */
idx_elevation_abs = usquant( hIsmMetaData->elevation, &valQ, ISM_ELEVATION_MIN, ISM_ELEVATION_DELTA, (1 << ISM_ELEVATION_NBITS) );
idx_elevation = idx_elevation_abs;

nbits_diff_elevation = 0;

flag_abs_elevation[ch] = 0; /* デフォルトで差分コーディング */
if( hIsmMetaData->elevation_diff_cnt == ISM_FEC_MAX /* (FECにおいて復号を制御するために)最大でISM_FEC_MAX個の連続したフレームにおいて差分符号化を行う */
|| hIsmMetaData->last_ism_metadata_flag == 0 /* 最後のフレームがメタデータをコーディングしなかった場合、差分コーディングを使用しない */
)
{
flag_abs_elevation[ch] = 1;
}

/* 注: 仰角は2番目のフレーム以降でのみコーディングされる(それはinit_frameにおいて意味を持たない) */
if( hSCE[0]->hCoreCoder[0]->ini_frame == 0 )
{
flag_abs_elevation[ch] = 1;
hIsmMetaData->last_elevation_idx = idx_elevation_abs;
}

diff = idx_elevation_abs - hIsmMetaData->last_elevation_idx;

/* 絶対コーディングが方位角のために既に使用された場合、仰角の絶対コーディングを避ける */
if( flag_abs_azimuth[ch] == 1 )
{
flag_abs_elevation[ch] = 0;

if( diff >= 0 )
{
diff = min( diff, ISM_MAX_ELEVATION_DIFF_IDX );
}
else
{
diff = -1 * min( -diff, ISM_MAX_ELEVATION_DIFF_IDX );
}
}

/* 差分コーディングを試みる */
if( flag_abs_elevation[ch] == 0 )
{
if( diff == 0 )
{
idx_elevation = 0;
nbits_diff_elevation = 1;
}
else if( ABSVAL( diff ) < ISM_MAX_ELEVATION_DIFF_IDX ) /* diffビット >= absビットであるとき、absを優先する */
{
idx_elevation = 1 << 1;
nbits_diff_elevation = 1;

if( diff < 0 )
{
idx_elevation += 1; /* 負号 */
diff *= -1;
}
else
{
idx_elevation += 0; /* 正号 */
}

idx_elevation = idx_elevation << diff;
nbits_diff_elevation++;

/* 「diff」の単進符号化 */
idx_elevation += ((1 << diff) - 1);
nbits_diff_elevation += diff;

if( nbits_diff_elevation < ISM_ELEVATION_NBITS - 1 )
{
/* ストップビットを追加する */
idx_elevation = idx_elevation << 1;
nbits_diff_elevation++;
}
}
else
{
flag_abs_elevation[ch] = 1;
}
}

/* カウンタを更新する */
if( flag_abs_elevation[ch] == 0 )
{
hIsmMetaData->elevation_diff_cnt++;
hIsmMetaData->elevation_diff_cnt = min( hIsmMetaData->elevation_diff_cnt, ISM_FEC_MAX );
}
else
{
hIsmMetaData->elevation_diff_cnt = 0;
}

/* 仰角を書き込む */
if( flag_abs_azimuth[ch] == 0 ) /* 「flag_abs_azimuth == 1」である場合、「flag_abs_elevation」を書き込まない */ /* VE: VAD 0->1に関してTBV */
{
push_indice( hBstr, IND_ISM_ELEVATION_DIFF_FLAG, flag_abs_elevation[ch], 1 );
}

if( flag_abs_elevation[ch] )
{
push_indice( hBstr, IND_ISM_ELEVATION, idx_elevation, ISM_ELEVATION_NBITS );
}
else
{
push_indice( hBstr, IND_ISM_ELEVATION, idx_elevation, nbits_diff_elevation );
}

/*----------------------------------------------------------------*
* 更新
*----------------------------------------------------------------*/

hIsmMetaData->last_azimuth_idx = idx_azimuth_abs;
hIsmMetaData->last_elevation_idx = idx_elevation_abs;

/* 書き込まれたメタデータのビット数を保存する */
nb_bits_metadata[ch] = hBstr->nb_bits_tot - nb_bits_start;
}
}

/*----------------------------------------------------------------*

*同じフレームにおけるいくつかの絶対コーディングされたインデックスの使用を最小化するオブジェクト間論理
*----------------------------------------------------------------*/

i = 0;
while( i == 0 || i < n_ISms / INTER_OBJECT_PARAM_CHECK )
{
short num, abs_num, abs_first, abs_next, pos_zero;
short abs_matrice[INTER_OBJECT_PARAM_CHECK * 2];

num = min( INTER_OBJECT_PARAM_CHECK, n_ISms - i * INTER_OBJECT_PARAM_CHECK );
i++;

set_s( abs_matrice, 0, INTER_OBJECT_PARAM_CHECK * ISM_NUM_PARAM );

for( ch = 0; ch < num; ch++ )
{
if( flag_abs_azimuth[ch] == 1 )
{
abs_matrice[ch*ISM_NUM_PARAM] = 1;
}

if( flag_abs_elevation[ch] == 1 )
{
abs_matrice[ch*ISM_NUM_PARAM + 1] = 1;
}
}
abs_num = sum_s( abs_matrice, INTER_OBJECT_PARAM_CHECK * ISM_NUM_PARAM );

abs_first = 0;
while( abs_num > 1 )
{
/* 最初の「1」のエントリを見つける */
while( abs_matrice[abs_first] == 0 )
{
abs_first++;
}

/* 次の「1」のエントリを見つける */
abs_next = abs_first + 1;
while( abs_matrice[abs_next] == 0 )
{
abs_next++;
}

/* 「0」の位置を見つける */
pos_zero = 0;
while( abs_matrice[pos_zero] == 1 )
{
pos_zero++;
}

ch = abs_next / ISM_NUM_PARAM;

if( abs_next % ISM_NUM_PARAM == 0 )
{
hIsmMeta[ch]->azimuth_diff_cnt = abs_num - 1;
}

if( abs_next % ISM_NUM_PARAM == 1 )
{
hIsmMeta[ch]->elevation_diff_cnt = abs_num - 1;
/*hIsmMeta[ch]->elevation_diff_cnt = min( hIsmMeta[ch]->elevation_diff_cnt, ISM_FEC_MAX );*/
}

abs_first++;
abs_num--;
}
}
}


/*----------------------------------------------------------------*
* チャネル毎のビットレートについての構成および判断
*----------------------------------------------------------------*/

ism_config( ism_total_brate, n_ISms, hIsmMeta, localVAD, ism_imp, element_brate, total_brate, nb_bits_metadata );

for( ch = 0; ch < n_ISms; ch++ )
{
hIsmMeta[ch]->last_ism_metadata_flag = hIsmMeta[ch]->ism_metadata_flag;

hSCE[ch]->hCoreCoder[0]->low_rate_mode = 0;
if ( hIsmMeta[ch]->ism_metadata_flag == 0 && localVAD[ch][0] == 0 && ism_metadata_flag_global )
{
hSCE[ch]->hCoreCoder[0]->low_rate_mode = 1;
}

hSCE[ch]->element_brate = element_brate[ch];
hSCE[ch]->hCoreCoder[0]->total_brate = total_brate[ch];

/* アクティブなフレームにおいてのみメタデータを書き込む */
if( hSCE[0]->hCoreCoder[0]->core_brate > SID_2k40 )
{
reset_indices_enc( hSCE[ch]->hMetaData, MAX_BITS_METADATA );
}
}

return;
}


void rate_ism_importance(
const short n_ISms, /* i : オブジェクトの数 */
ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISMメタデータのハンドル */
ENC_HANDLE hSCE[], /* i/o: 要素エンコーダのハンドル */
short ism_imp[] /* o : ISM重要度フラグ */
)
{
short ch, ctype;

for( ch = 0; ch < n_ISms; ch++ )
{
ctype = hSCE[ch]->hCoreCoder[0]->coder_type_raw;

if( hIsmMeta[ch]->ism_metadata_flag == 0 )
{
ism_imp[ch] = ISM_NO_META;
}
else if( ctype == INACTIVE || ctype == UNVOICED )
{
ism_imp[ch] = ISM_LOW_IMP;
}
else if( ctype == VOICED )
{
ism_imp[ch] = ISM_MEDIUM_IMP;
}
else /* GENERIC */
{
ism_imp[ch] = ISM_HIGH_IMP;
}
}

return;
}


void ism_config(
const long ism_total_brate, /* i : ISmの合計ビットレート */
const short n_ISms, /* i : オブジェクトの数 */
ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISMメタデータのハンドル */
short localVAD[],
const short ism_imp[], /* i : ISM重要度フラグ */
long element_brate[], /* o : オブジェクト毎の要素のビットレート */
long total_brate[], /* o : オブジェクト毎の合計ビットレート */
short nb_bits_metadata[] /* i/o: メタデータのビット数 */
)
{
short ch;
short bits_element[MAX_NUM_OBJECTS], bits_CoreCoder[MAX_NUM_OBJECTS];
short bits_ism, bits_side;
long tmpL;
short ism_metadata_flag_global;

/* 初期化 */
ism_metadata_flag_global = 0;
bits_side = 0;
if( hIsmMeta != NULL )
{
for( ch = 0; ch < n_ISms; ch++ )
{
ism_metadata_flag_global |= hIsmMeta[ch]->ism_metadata_flag;
}
}

/* チャネル毎のビットレートについての判断 - セッション中は(1つのism_total_brateで)一定 */
bits_ism = ism_total_brate / FRMS_PER_SECOND;
set_s( bits_element, bits_ism / n_ISms, n_ISms );
bits_element[n_ISms - 1] += bits_ism % n_ISms;
bitbudget_to_brate( bits_element, element_brate, n_ISms );

/* ISm共通シグナリングのビットをカウントする */
if( hIsmMeta != NULL )
{
nb_bits_metadata[0] += n_ISms * ISM_METADATA_FLAG_BITS + n_ISms;

for( ch = 0; ch < n_ISms; ch++ )
{
if( hIsmMeta[ch]->ism_metadata_flag == 0 )
{
nb_bits_metadata[0] += ISM_METADATA_VAD_FLAG_BITS;
}
}
}

/* メタデータのビットバジェットをチャネルの間に均等に分ける */
if( nb_bits_metadata != NULL )
{
bits_side = sum_s( nb_bits_metadata, n_ISms );
set_s( nb_bits_metadata, bits_side / n_ISms, n_ISms );
nb_bits_metadata[n_ISms - 1] += bits_side % n_ISms;
v_sub_s( bits_element, nb_bits_metadata, bits_CoreCoder, n_ISms );
bitbudget_to_brate( bits_CoreCoder, total_brate, n_ISms );

mvs2s( nb_bits_metadata, nb_bits_metadata, n_ISms );
}

/* 非アクティブなストリームにより少ないCoreCoderのビットバジェットを割り振る(少なくとも1つのストリームがアクティブでなければならない) */
if( ism_metadata_flag_global )
{
long diff;
short n_higher, flag_higher[MAX_NUM_OBJECTS];

set_s( flag_higher, 1, MAX_NUM_OBJECTS );

diff = 0;
for( ch = 0; ch < n_ISms; ch++ )
{
if( hIsmMeta[ch]->ism_metadata_flag == 0 && localVAD[ch] == 0 )
{
diff += bits_CoreCoder[ch] - BITS_ISM_INACTIVE;
bits_CoreCoder[ch] = BITS_ISM_INACTIVE;
flag_higher[ch] = 0;
}
}

n_higher = sum_s( flag_higher, n_ISms );

if( diff > 0 && n_higher > 0 )
{
tmpL = diff / n_higher;
for( ch = 0; ch < n_ISms; ch++ )
{
if( flag_higher[ch] )
{
bits_CoreCoder[ch] += tmpL;
}
}

tmpL = diff % n_higher;
ch = 0;
while( flag_higher[ch] == 0 )
{
ch++;
}
bits_CoreCoder[ch] += tmpL;
}

bitbudget_to_brate( bits_CoreCoder, total_brate, n_ISms );

diff = 0;
for( ch = 0; ch < n_ISms; ch++ )
{
long limit;

limit = MIN_BRATE_SWB_BWE / FRMS_PER_SECOND;
if( element_brate[ch] < MIN_BRATE_SWB_STEREO )
{
limit = MIN_BRATE_WB_BWE / FRMS_PER_SECOND;
}
else if( element_brate[ch] >= SCE_CORE_16k_LOW_LIMIT )
{
/*限度(limit) = SCE_CORE_16k_LOW_LIMIT;*/
limit = (ACELP_16k_LOW_LIMIT + SWB_TBE_1k6) / FRMS_PER_SECOND;
}

if( ism_imp[ch] == ISM_NO_META && localVAD[ch] == 0 )
{
tmpL = BITS_ISM_INACTIVE;
}
else if( ism_imp[ch] == ISM_LOW_IMP )
{
tmpL = BETA_ISM_LOW_IMP * bits_CoreCoder[ch];
tmpL = max( limit, bits_CoreCoder[ch] - tmpL );
}
else if( ism_imp[ch] == ISM_MEDIUM_IMP )
{
tmpL = BETA_ISM_MEDIUM_IMP * bits_CoreCoder[ch];
tmpL = max( limit, bits_CoreCoder[ch] - tmpL );
}
else /* ism_imp[ch] == ISM_HIGH_IMP */
{
tmpL = bits_CoreCoder[ch];
}

diff += bits_CoreCoder[ch] - tmpL;
bits_CoreCoder[ch] = tmpL;
}

if( diff > 0 && n_higher > 0 )
{
tmpL = diff / n_higher;
for( ch = 0; ch < n_ISms; ch++ )
{
if( flag_higher[ch] )
{
bits_CoreCoder[ch] += tmpL;
}
}

tmpL = diff % n_higher;
ch = 0;
while( flag_higher[ch] == 0 )
{
ch++;
}
bits_CoreCoder[ch] += tmpL;
}

/* 最大ビットレート@12.8kHzコアに関して検証する */
diff = 0;
for ( ch = 0; ch < n_ISms; ch++ )
{
limit_high = STEREO_512k / FRMS_PER_SECOND;
if ( element_brate[ch] < SCE_CORE_16k_LOW_LIMIT ) /* 関数set_ACELP_flag()を再現する -> オブジェクト内でACELPの内部サンプリングレートを切り替えることは意図されていない */
{
limit_high = ACELP_12k8_HIGH_LIMIT / FRMS_PER_SECOND;
}

tmpL = min( bits_CoreCoder[ch], limit_high );

diff += bits_CoreCoder[ch] - tmpL;
bits_CoreCoder[ch] = tmpL;
}

if ( diff > 0 )
{
ch = 0;
for ( ch = 0; ch < n_ISms; ch++ )
{
if ( flag_higher[ch] == 0 )
{
if ( diff > limit_high )
{
diff += bits_CoreCoder[ch] - limit_high;
bits_CoreCoder[ch] = limit_high;
}
else
{
bits_CoreCoder[ch] += diff;
break;
}
}
}
}

bitbudget_to_brate( bits_CoreCoder, total_brate, n_ISms );
}


return;
}
7.0 ハードウェアの実装
図8は、上述のコーディングおよび復号システムおよび方法を形成するハードウェア構成要素の例示的な構成の簡略化されたブロック図である。
コーディングおよび復号システムの各々は、モバイル端末の一部として、ポータブルメディアプレイヤーの一部として、または任意の同様のデバイスに実装されてよい。(図8の1200として特定される)コーディングおよび復号システムの各々は、入力1202、出力1204、プロセッサ1206、およびメモリ1208を含む。
入力1202は、入力信号、たとえば、図1のN個のオーディオオブジェクト102(対応するN個のメタデータを有するN個のオーディオストリーム)または図7のビットストリーム701をデジタルまたはアナログ形式で受信するように構成される。出力1204は、出力信号、たとえば、図1のビットストリーム111、または図7のM個の復号されたオーディオチャネル703およびM個の復号されたメタデータ704を供給するように構成される。入力1202および出力1204は、共通のモジュール、たとえば、シリアル入力/出力デバイスに実装されてよい。
プロセッサ1206は、入力1202、出力1204、およびメモリ1208に動作可能なように接続される。プロセッサ1206は、図1および図7の様々なプロセッサおよびその他のモジュールの機能を支援してコード命令を実行するための1つまたは複数のプロセッサとして実現される。
メモリ1208は、プロセッサ1206によって実行可能なコード命令を記憶するための非一時的なメモリ、特に、実行されるときにプロセッサに本開示において説明されたようにコーディングおよび復号システムおよび方法の動作およびプロセッサ/モジュールを実施させる非一時的な命令を含むプロセッサ可読メモリを含んでよい。メモリ1208は、プロセッサ1206によって実行される様々な機能からの中間処理データを記憶するためのランダムアクセスメモリまたはバッファも含んでよい。
当業者は、コーディングおよび復号システムおよび方法の説明が例示的であるに過ぎず、限定的であるようにまったく意図されていないことを認めるであろう。その他の実施形態は、本開示の恩恵を受けるそのような当業者がたやすく思いつくであろう。さらに、開示されるコーディングおよび復号システムおよび方法は、音声を符号化および復号する既存のニーズおよび問題に対する価値ある解決策を提供するためにカスタマイズされてよい。
明瞭にするために、コーディングおよび復号システムおよび方法の実装の決まり切った特徴のすべてが示され、説明されているわけではない。もちろん、コーディングおよび復号システムおよび方法のいずれのそのような実際の実装の開発においても、アプリケーション、システム、ネットワーク、およびビジネスに関連する制約に準拠することなどの開発者の特定の目的を実現するために数多くの実装に固有の判断がなされる必要がある可能性があり、これらの特定の目的が実装毎および開発者毎に変わることは、理解されるであろう。さらに、開発の努力は複雑で、時間がかかる可能性があるが、それでもなお、本開示の恩恵を受ける音声処理の分野の通常の技術を有する者にとっては工学技術の日常的な仕事であることが、理解されるであろう。
本開示によれば、本明細書において説明されたプロセッサ/モジュール、処理動作、および/またはデータ構造は、様々な種類のオペレーティングシステム、計算プラットフォーム、ネットワークデバイス、コンピュータプログラム、および/または汎用機械を使用して実装されてよい。加えて、当業者は、配線されたデバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)などのより汎用目的の性質の少ないデバイスも使用される可能性があることを認めるであろう。一連の動作および下位動作を含む方法がプロセッサ、コンピュータ、またはマシンによって実施され、それらの動作および下位動作がプロセッサ、コンピュータ、またはマシンによって読み取り可能な一連の非一時的なコード命令として記憶されてよい場合、それらの動作および下位動作は、有形のおよび/または非一時的な媒体に記憶される場合がある。
本明細書において説明されたコーディングおよび復号システムおよび方法は、本明細書において説明された目的に好適なソフトウェア、ファームウェア、ハードウェア、またはソフトウェア、ファームウェア、もしくはハードウェアの任意の組合せを使用してよい。
本明細書において説明されたコーディングおよび復号システムおよび方法において、様々な動作および下位動作は、様々な順序で実行される可能性があり、動作および下位動作の一部は、任意選択である可能性がある。
本開示は本開示の非限定的な例示的実施形態を通じて上で説明されたが、これらの実施形態は、本開示の精神および本質を逸脱することなく添付の請求項の範囲内で随意に修正されてよい。
8.0 参考文献
以下の参考文献は、本開示において参照され、それらの参考文献のすべての内容は、参照により本明細書に組み込まれる。
[1] 3GPP仕様TS 26.445: 「Codec for Enhanced Voice Services (EVS). Detailed Algorithmic Description」、v.12.0.0、2014年9月
[2] V. Eksler、「Method and Device for Allocating a Bit-budget Between Sub-frames in a CELP Codec」、PCT特許出願PCT/CA2018/51175
9.0 さらなる実施形態
以下の実施の形態(実施の形態1から83)は、本発明に関連する本開示の一部である。
実施形態1. 関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを含むオブジェクトベースのオーディオ信号をコーディングするためのシステムであって、
オーディオストリームを分析するためのオーディオストリームプロセッサと、
入力オーディオストリームのメタデータを符号化するための、オーディオストリームプロセッサによる分析からのオーディオストリームに関する情報に応答するメタデータプロセッサとを含む、システム。
実施形態2. メタデータプロセッサが、オーディオオブジェクトのメタデータのビットバジェットについての情報を出力し、システムが、オーディオストリームにビットレートを割り当てるための、メタデータプロセッサからのオーディオオブジェクトのメタデータのビットバジェットに関する情報に応答するビットバジェットアロケータをさらに含む実施形態1のシステム。
実施形態3. コーディングされたメタデータを含むオーディオストリームのエンコーダを含む実施形態1または2のシステム。
実施形態4. エンコーダが、ビットバジェットアロケータによってオーディオストリームに割り当てられたビットレートを使用するいくつかのコアコーダ(Core-Coder)を含む実施形態1から3のいずれか1つのシステム。
実施形態5. オブジェクトベースのオーディオ信号が、人の声、音楽、および全般的なオーディオ音声のうちの少なくとも1つを含む実施形態1から4のいずれか1つのシステム。
実施形態6. オブジェクトベースのオーディオ信号が、複雑なオーディオの聴覚的シーンを個々の要素、前記オーディオオブジェクトの集合として表現するかまたは符号化する実施形態1から5のいずれか1つのシステム。
実施形態7. 各オーディオオブジェクトが、関連するメタデータを有するオーディオストリームを含む実施形態1から6のいずれか1つのシステム。
実施形態8. オーディオストリームが、メタデータを有する独立したストリームである実施形態1から7のいずれか1つのシステム。
実施形態9. オーディオストリームが、オーディオ波形を表し、通常、1つまたは2つのチャネルを含む実施形態1から8のいずれか1つのシステム。
実施形態10. メタデータが、元のまたはコーディングされたオーディオオブジェクトを最終的な再生システムに伝えるために使用される、オーディオストリームおよび芸術的意図を説明する1組の情報である実施形態1から9のいずれか1つのシステム。
実施形態11. メタデータが、通常、各オーディオオブジェクトの空間的な特性を説明する実施形態1から10のいずれか1つのシステム。
実施形態12. 空間的な特性が、オーディオオブジェクトの位置、向き、体積、幅のうち1つまたは複数を含む実施形態1から11のいずれか1つのシステム。
実施形態13. 各オーディオオブジェクトが、コーデックへの入力として使用される量子化されていないメタデータ表現として定義される、入力メタデータと呼ばれる1組のメタデータを含む実施形態1から12のいずれか1つのシステム。
実施形態14. 各オーディオオブジェクトが、エンコーダからデコーダに送信されるビットストリームの一部である量子化され、コーディングされたメタデータとして定義される、コーディングされたメタデータと呼ばれる1組のメタデータを含む実施形態1から13のいずれか1つのシステム。
実施形態15. 再生システムが、再生側において、送信されたメタデータおよび芸術的意図を使用して聞き手の周囲の3Dオーディオ空間内にオーディオオブジェクトをレンダリングするために組み立てられる実施形態1から14のいずれか1つのシステム。
実施形態16. 再生システムが、オーディオオブジェクトのレンダリング中にメタデータを動的に修正するためのヘッドトラッキングデバイスを含む実施形態1から15のいずれか1つのシステム。
実施形態17. いくつかのオーディオオブジェクトの同時コーディングのためのフレームワークを含む実施形態1から16のいずれか1つのシステム。
実施形態18. いくつかのオーディオオブジェクトの同時コーディングが、オーディオオブジェクトを符号化するために決まった一定の全体のビットレートを使用する実施形態1から17のいずれか1つのシステム。
実施形態19. オーディオオブジェクトの一部またはすべてを送信するため送信機を含む実施形態1から18のいずれか1つのシステム。
実施形態20. フレームワークにおいてオーディオフォーマットの組合せをコーディングする場合、一定の全体のビットレートが、フォーマットのビットレートの合計を表す実施形態1から19のいずれか1つのシステム。
実施形態21. メタデータが、方位角および仰角を含む2つのパラメータを含む実施形態1から20のいずれか1つのシステム。
実施形態22. 方位角パラメータおよび仰角パラメータが、各オーディオオブジェクトに関して各オーディオフレーム毎に記憶される実施形態1から21のいずれか1つのシステム。
実施形態23. 少なくとも1つの入力オーディオストリームおよびオーディオストリームに関連付けられた入力メタデータをバッファリングするための入力バッファを含む実施形態1から22のいずれか1つのシステム。
実施形態24. 入力バッファが、1フレームのための各オーディオストリームをバッファリングする実施形態1から23のいずれか1つのシステム。
実施形態25. オーディオストリームプロセッサが、オーディオストリームを分析し、処理する実施形態1から24のいずれか1つのシステム。
実施形態26. オーディオストリームプロセッサが、以下の要素、すなわち、時間領域のトランジェント検出器、スペクトル分析器、長期予測分析器、ピッチトラッカーおよび発声分析器、ボイス/サウンドアクティビティ検出器、帯域幅検出器、ノイズ推定器、ならびに信号分類器のうちの少なくとも1つを含む実施形態1から25のいずれか1つのシステム。
実施形態27. 信号分類器が、コーダタイプの選択、信号の分類、および人の声/音楽の分類のうち少なくとも1つを実行する実施形態1から26のいずれか1つのシステム。
実施形態28. メタデータプロセッサが、オーディオストリームのメタデータを分析し、量子化し、符号化する実施形態1から27のいずれか1つのシステム。
実施形態29. 非アクティブなフレームにおいて、メタデータが、メタデータプロセッサによって符号化されず、対応するオーディオオブジェクトのビットストリーム内でシステムによって送信されない実施形態1から28のいずれか1つのシステム。
実施形態30. アクティブなフレームにおいて、メタデータが、可変ビットレートを使用して対応するオブジェクトのためにメタデータプロセッサによって符号化される実施形態1から29のいずれか1つのシステム。
実施形態31. ビットバジェットアロケータが、オーディオオブジェクトのメタデータのビットバジェットを合計し、オーディオストリームにビットレートを割り当てるために、シグナリングのビットバジェットにビットバジェットの合計を足す請求項1から30のいずれか1つのシステム。
実施形態32. オーディオストリームの間の構成およびビットレートの分配が行われたときにオーディオストリームをさらに処理するためのプリプロセッサを含む実施形態1から31のいずれか1つのシステム。
実施形態33. プリプロセッサが、オーディオストリームのさらなる分類、コアエンコーダの選択、および再サンプリングのうち少なくとも1つを実行する実施形態1から32のいずれか1つのシステム。
実施形態34. エンコーダが、オーディオストリームを順に符号化する実施形態1から33のいずれか1つのシステム。
実施形態35. エンコーダが、いくつかの変動ビットレートコアコーダを使用してオーディオストリームを順に符号化する実施形態1から34のいずれか1つのシステム。
実施形態36. メタデータプロセッサが、オーディオオブジェクトの量子化とオーディオオブジェクトのメタデータパラメータとの間の依存関係を用いてループで順にメタデータを符号化する実施形態1から35のいずれか1つのシステム。
実施形態37. メタデータプロセッサが、メタデータパラメータを符号化するために、量子化ステップを使用してメタデータパラメータのインデックスを量子化する実施形態1から36のいずれか1つのシステム。
実施形態38. メタデータプロセッサが、方位角パラメータを符号化するために、量子化ステップを使用して方位角のインデックスを量子化し、仰角パラメータを符号化するために、量子化ステップを使用して仰角のインデックスを量子化する実施形態1から37のいずれか1つのシステム。
実施形態39. 合計のメタデータのビットバジェットおよび量子化ビット数が、1つのオーディオオブジェクトに関連するコーデックの合計ビットレート、メタデータの合計ビットレート、またはメタデータのビットバジェットとコアコーダのビットバジェットとの合計に依存する実施形態1から38のいずれか1つのシステム。
実施形態40. 方位角パラメータおよび仰角パラメータが、1つのパラメータとして表される実施形態1から39のいずれか1つのシステム。
実施形態41. メタデータプロセッサが、メタデータパラメータのインデックスを絶対的にかまたは示差的に(differentially)かのどちらかで符号化する実施形態1から40のいずれか1つのシステム。
実施形態42. メタデータプロセッサが、現在のパラメータのインデックスと前のパラメータのインデックスとの間に、差分コーディングのために必要とされるビット数が絶対コーディングのために必要とされるビット数以上になる結果をもたらす差が存在するとき、絶対コーディングを使用してメタデータパラメータのインデックスを符号化する実施形態1から41のいずれか1つのシステム。
実施形態43. メタデータプロセッサが、前のフレームにメタデータが存在しなかったとき、絶対コーディングを使用してメタデータパラメータのインデックスを符号化する実施形態1から42のいずれか1つのシステム。
実施形態44. メタデータプロセッサが、差分コーディングを使用する連続したフレームの数が、差分コーディングを使用してコーディングされる最大の連続したフレームの数よりも多いとき、絶対コーディングを使用してメタデータパラメータのインデックスを符号化する実施形態1から43のいずれか1つのシステム。
実施形態45. メタデータプロセッサが、メタデータパラメータのインデックスを絶対コーディングを使用して符号化するとき、メタデータパラメータの絶対コーディングされたインデックスに続いて、絶対コーディングと差分コーディングとを区別する絶対コーディングフラグを書き込む実施形態1から44のいずれか1つのシステム。
実施形態46. メタデータプロセッサが、差分コーディングを使用してメタデータパラメータのインデックスを符号化するとき、絶対コーディングフラグを0に設定し、絶対コーディングフラグに続いて、現在のフレームのインデックスと前のフレームのインデックスとの間の差が0であるかどうかをシグナリングするゼロコーディングフラグを書き込む実施形態1から45のいずれか1つのシステム。
実施形態47. 現在のフレームのインデックスと前のフレームのインデックスと間の差が0に等しくない場合、メタデータプロセッサが、符号フラグと、その後に続く適応ビット差分インデックス(adaptive-bits difference index)とを書き込むことによってコーディングを継続する実施形態1から46のいずれか1つのシステム。
実施形態48. メタデータプロセッサが、フレーム間のメタデータのビットバジェットの変動の範囲を制限し、コアコーディングのために残されたビットバジェットが少なくなりすぎることを防止するためのオブジェクト内のメタデータのコーディング論理を使用する実施形態1から47のいずれか1つのシステム。
実施形態49. メタデータプロセッサが、オブジェクト内のメタデータのコーディング論理に従って、所与のフレームにおける絶対コーディングの使用を、1つのメタデータパラメータのみ、または可能な限り少ない数のメタデータパラメータに制限する実施形態1から48のいずれか1つのシステム。
実施形態50. メタデータプロセッサが、オブジェクト内のメタデータのコーディング論理に従って、1つのメタデータのコーディング論理のインデックスが同じフレーム内で絶対コーディングを使用して既にコーディングされた場合、別のメタデータパラメータのインデックスの絶対コーディングを避ける実施形態1から49のいずれか1つのシステム。
実施形態51. オブジェクト内のメタデータのコーディング論理が、ビットレートに依存する実施形態1から50のいずれか1つのシステム。
実施形態52. メタデータプロセッサが、現在のフレームにおける異なるオーディオオブジェクトの絶対コーディングされるメタデータパラメータの数を最小化するために異なるオブジェクトのメタデータのコーディングの間で使用されるオブジェクト間のメタデータのコーディング論理を使用する実施形態1から51のいずれか1つのシステム。
実施形態53. メタデータプロセッサが、オブジェクト間のメタデータのコーディング論理を使用して、絶対コーディングされるメタデータパラメータのフレームカウンタを制御する実施形態1から52のいずれか1つのシステム。
実施形態54. メタデータプロセッサが、オブジェクト間のメタデータのコーディング論理を使用して、オーディオオブジェクトのメタデータパラメータがゆっくりと滑らかに発展するときに、(a)フレームMにおいて絶対コーディングを使用して第1のオーディオオブジェクトの第1のメタデータパラメータのインデックスをコーディングし、(b)フレームM+1において絶対コーディングを使用して第1のオーディオオブジェクトの第2のメタデータパラメータのインデックスをコーディングし、(c)フレームM+2において絶対コーディングを使用して第2のオーディオオブジェクトの第1のメタデータパラメータのインデックスをコーディングし、(d)フレームM+3において絶対コーディングを使用して第2のオーディオオブジェクトの第2のメタデータパラメータのインデックスをコーディングする実施形態1から53のいずれか1つのシステム。
実施形態55. オブジェクト間のメタデータのコーディング論理が、ビットレートに依存する実施形態1から54のいずれか1つのシステム。
実施形態56. ビットバジェットアロケータが、オーディオストリームを符号化するためのビットバジェットを分配するためのビットレート適応アルゴリズムを使用する実施形態1から55のいずれか1つのシステム。
実施形態57. ビットバジェットアロケータが、ビットレート適応アルゴリズムを使用して、メタデータの合計ビットレートまたはコーデックの合計ビットレートからメタデータの合計ビットバジェットを得る実施形態1から56のいずれか1つのシステム。
実施形態58. ビットバジェットアロケータが、ビットレート適応アルゴリズムを使用して、メタデータの合計ビットバジェットをオーディオストリームの数で割ることによって要素のビットバジェットを計算する実施形態1から57のいずれか1つのシステム。
実施形態59. ビットバジェットアロケータが、ビットレート適応アルゴリズムを使用して、利用可能なメタデータのビットバジェットをすべて使うために最後のオーディオストリームの要素のビットバジェットを調整する実施形態1から58のいずれか1つのシステム。
実施形態60. ビットバジェットアロケータが、ビットレート適応アルゴリズムを使用して、すべてのオーディオオブジェクトのメタデータのビットバジェットを合計し、前記合計を、メタデータ共通シグナリングのビットバジェットに足し、コアコーダのサイドビットバジェットを生じる実施形態1から59のいずれか1つのシステム。
実施形態61. ビットバジェットアロケータが、ビットレート適応アルゴリズムを使用して、(a)コアコーダのサイドビットバジェットをオーディオオブジェクトの間に均等に分け、(b)分けられたコアコーダのサイドビットバジェットおよび要素のビットバジェットを使用して、各オーディオストリームのためのコアコーダのビットバジェットを計算する実施形態1から60のいずれか1つのシステム。
実施形態62. ビットバジェットアロケータが、ビットレート適応アルゴリズムを使用して、利用可能なコアコーダのビットバジェットをすべて使うために最後のオーディオストリームのコアコーダのビットバジェットを調整する実施形態1から61のいずれか1つのシステム。
実施形態63. ビットバジェットアロケータが、ビットレート適応アルゴリズムを使用して、コアコーダのビットバジェットを使用してコアコーダにおいて1つのオーディオストリームを符号化するためのビットレートを計算する実施形態1から62のいずれか1つのシステム。
実施形態64. ビットバジェットアロケータが、非アクティブなフレームまたは低いエネルギーを有するフレームにおいてビットレート適応アルゴリズムを使用して、コアコーダにおいて1つのオーディオストリームを符号化するためのビットレートを引き下げ、一定値に設定し、節約されたビットバジェットをアクティブなフレームのオーディオストリームの間に再分配するシステム実施形態1から63のいずれか1つのシステム。
実施形態65. ビットバジェットアロケータが、アクティブなフレームにおいてビットレート適応アルゴリズムを使用して、メタデータの重要度分類に基づいてコアコーダにおいて1つのオーディオストリームを符号化するためのビットレートを調整する実施形態1から64のいずれか1つのシステム。
実施形態66. ビットバジェットアロケータが、非アクティブなフレーム(VAD = 0)において、コアコーダにおいて1つのオーディオストリームを符号化するためのビットレートを引き下げ、前記ビットレートの引き下げによって節約されたビットバジェットを、アクティブとして分類されたフレームのオーディオストリームの間に再分配する実施形態1から65のいずれか1つのシステム。
実施形態67. ビットバジェットアロケータが、フレームにおいて、(a)非アクティブな内容を有するあらゆるオーディオストリームに、より低い一定のコアコーダのビットバジェットを設定し、(b)節約されたビットバジェットを、より低い一定のコアコーダのビットバジェットとコアコーダのビットバジェットとの間の差として計算し、(c)節約されたビットバジェットをアクティブなフレームのオーディオストリームのコアコーダのビットバジェットの間に再分配する実施形態1から66のいずれか1つのシステム。
実施形態68. より低い一定のビットバジェットが、メタデータの合計ビットレートに依存する実施形態1から67のいずれか1つのシステム。
実施形態69. ビットバジェットアロケータが、より低い一定のコアコーダのビットバジェットを使用してコアコーダにおいて1つのオーディオストリームを符号化するためのビットレートを計算する実施形態1から68のいずれか1つのシステム。
実施形態70. ビットバジェットアロケータが、メタデータの重要度の分類に基づいて、オブジェクト間のコアコーダのビットレートの適応を使用する実施形態1から69のいずれか1つのシステム。
実施形態71. メタデータの重要度が、復号された合成の満足のゆく品質を得るための現在のフレームにおける特定のオーディオオブジェクトのコーディングがどれだけ重要であるかを示す指標に基づく実施形態1から70のいずれか1つのシステム。
実施形態72. ビットバジェットアロケータが、メタデータの重要度の分類を、以下のパラメータ、すなわち、コーダタイプ(coder_type)、FEC信号分類(class)、人の声/音楽の分類の判断、および開ループACELP/TCXコア判断モジュールからのSNR推定値(snr_celp、snr_tcx)のうちの少なくとも1つに基づいて行う実施形態1から71のいずれか1つのシステム。
実施形態73. ビットバジェットアロケータが、メタデータの重要度の分類をコーダタイプ(coder_type)に基づいて行う実施形態1から72のいずれか1つのシステム。
実施形態74. ビットバジェットアロケータが、以下の4つの異なるメタデータの重要度クラス(classISm)、すなわち、
- 無メタデータクラスISM_NO_META: メタデータのコーディングのないフレーム、たとえば、VAD = 0である非アクティブなフレーム
- 低重要度クラスISM_LOW_IMP: coder_type = UNVOICEDまたはINACTIVEであるフレーム
- 中重要度クラスISM_MEDIUM_IMP: coder_type = VOICEDであるフレーム
- 高重要度クラスISM_HIGH_IMP: coder_type = GENERICであるフレーム
を定義する実施形態1から73のいずれか1つのシステム。
実施形態75. ビットバジェットアロケータが、より高い重要度を有するオーディオストリームにより多くのビットバジェットを割り振り、より低い重要度を有するオーディオストリームにより少ないビットバジェットを割り振るために、ビットレート適応アルゴリズムにおいてメタデータの重要度クラスを使用する実施形態1から74のいずれか1つのシステム。
実施形態76. ビットバジェットアロケータが、フレームにおいて以下の論理、すなわち、
1. classISm = ISM_NO_METAのフレーム: より低い一定のコアコーダのビットレートが割り振られる。
2. classISm = ISM_LOW_IMPのフレーム: コアコーダにおいて1つのオーディオストリームを符号化するためのビットレート(total_brate)が
[数]total_bratenew[n] = max(αlow*total_brate[n], Blow)
のように引き下げられ、式中、定数αlowは、1.0未満の値に設定され、定数Blowは、コアコーダによってサポートされる最小ビットレートの閾値である。
3. classISm = ISM_MEDIUM_IMPのフレーム: コアコーダにおいて1つのオーディオストリームを符号化するためのビットレート(total_brate)が、
[数]total_bratenew[n] = max(αmed*total_brate[n], Blow)
のように引き下げられ、式中、定数αmedは、1.0未満であるが、値αlowよりも大きい値に設定される。
4. classISm = ISM_HIGH_IMPのフレーム: ビットレートの適応が使用されない
を使用する実施形態1から75のいずれか1つのシステム。
実施形態77. ビットバジェットアロケータが、アクティブとして分類されたフレームのオーディオストリームの間に、前のビットレートtotal_brateと新しいビットレートtotal_brateとの間の差の合計として表される節約されたビットバジェットを再分配する実施形態1から76のいずれか1つのシステム。
実施形態78. 関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステムであって、
アクティブな内容を有するオーディオストリームのメタデータを復号するためのメタデータプロセッサと、
オーディオストリームのコアコーダのビットレートを決定するための、復号されたメタデータおよびオーディオオブジェクトのそれぞれのビットバジェットに応答するビットバジェットアロケータと、
ビットバジェットアローケータにおいて決定されたコアコーダのビットレートを使用するオーディオストリームのデコーダとを含む、システム。
実施形態79. メタデータプロセッサが、受信されたビットストリームの終わりから読み出されたメタデータ共通シグナリングに応答する実施形態78のシステム。
実施形態80. デコーダが、オーディオストリームを復号するためのコアデコーダを含む実施形態78または79のシステム。
実施形態81. コアデコーダが、それぞれの自身のコアコーダのビットレートでオーディオストリームを順に復号するための変動ビットレートコアデコーダを含む実施形態78から80のいずれか1つのシステム。
実施形態82. 復号されるオーディオオブジェクトの数が、コアデコーダの数よりも少ない実施形態78から81のいずれか1つのシステム。
実施形態83. 復号されたオーディオストリームおよび復号されたメタデータに応答するオーディオオブジェクトのレンダラを含む実施形態78から83のいずれか1つのシステム。
実施形態78から83の要素をさらに説明する実施形態2から77のいずれも、これらの実施形態78から83のいずれかにおいて実施され得る。例として、復号システムにおけるオーディオストリーム毎のコアコーダのビットレートは、コーディングシステムと同じ手順を使用して決定される。
本発明は、コーディングの方法および復号の方法にも関する。この点において、システムの実施形態1から83は、システムの実施形態の要素がそのような要素によって実行される動作によって置き換えられる方法の実施形態として起草され得る。
100 システム
101 入力バッファ
102 入力オーディオオブジェクト
103 オーディオストリームプロセッサ
104 トランスポートチャネル
105 メタデータプロセッサ
106 構成および判断プロセッサ
107 情報
108 プリプロセッサ
109 コアエンコーダ
110 マルチプレクサ
111 出力ビットストリーム
112 量子化され、符号化されたメタデータ
113 ISm共通シグナリング
114 N個のオーディオストリーム
120 信号分類情報
121 回線
150 方法
151 入力をバッファリングする動作
153 分析および前方前処理の動作
155 メタデータの分析、量子化、およびコーディングの動作
156 構成および判断の動作
158 さらなる前処理;前処理の動作
159 コア符号化の動作
160 多重化の動作
700 デコーダ;復号システム
701 ビットストリーム
702 出力オーディオチャネル
703 復号されたオーディオストリーム
704 復号されたメタデータ
705 デマルチプレクサ
706 メタデータ復号および逆量子化プロセッサ
707 構成および判断プロセッサ
708 回線
709 出力設定
710 コアデコーダ
711 レンダラ
712 出力設定
750 方法
755 多重分離の動作
756 メタデータの復号および逆量子化の動作
757 チャネル毎のビットレートについての構成および判断の動作
760 コア復号の動作
761 オーディオチャネルのレンダリングの動作
1200 コーディングおよび復号システム
1202 入力
1204 出力
1206 プロセッサ
1208 メモリ

Claims (100)

  1. 関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを含むオブジェクトベースのオーディオ信号をコーディングするためのシステムであって、
    前記メタデータをコーディングするためのメタデータプロセッサであって、前記オーディオオブジェクトの前記メタデータの前記コーディングのためのビットバジェットについての情報を生成する、メタデータプロセッサと、
    前記オーディオストリームをコーディングするエンコーダと、
    前記エンコーダによる前記オーディオストリームのコーディングのためのビットレートを割り当てるための、前記メタデータプロセッサからの前記オーディオオブジェクトの前記メタデータの前記コーディングのための前記ビットバジェットに関する前記情報に応答するビットバジェットアロケータとを含む、システム。
  2. 前記オーディオストリームを分析し、前記オーディオストリームに関する情報を前記メタデータプロセッサおよび前記ビットバジェットアロケータに提供するためのオーディオストリームプロセッサを含む請求項1に記載のシステム。
  3. 前記オーディオストリームプロセッサが、前記オーディオストリームを並列に分析する請求項2に記載のシステム。
  4. 前記ビットバジェットアロケータが、前記オーディオストリームをコーディングするための利用可能なビットバジェットを分配するためのビットレート適応アルゴリズムを使用する請求項1から3のいずれか一項に記載のシステム。
  5. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームおよび前記関連するメタデータをコーディングするためのオーディオストリームおよびメタデータ(ISm)の合計ビットレートまたはコーデックの合計ビットレートからISmの合計ビットバジェットを計算する請求項4に記載のシステム。
  6. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記ISmの合計ビットバジェットを前記オーディオストリームの数で割ることによって要素のビットバジェットを計算する請求項5に記載のシステム。
  7. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記ISmの合計ビットバジェットをすべて使うために最後のオーディオオブジェクトの前記要素のビットバジェットを調整する請求項6に記載のシステム。
  8. 前記要素のビットバジェットが、1つのISmの合計ビットバジェットにおいて一定である請求項6に記載のシステム。
  9. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記オーディオオブジェクトの前記メタデータの前記コーディングのための前記ビットバジェットを合計し、前記合計を、ISm共通シグナリングのビットバジェットに足し、コーデックのサイドビットバジェットを生じる請求項6から8のいずれか一項に記載のシステム。
  10. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、(a)前記コーデックのサイドビットバジェットを前記オーディオオブジェクトの間に均等に分け、(b)前記分けられたコーデックのサイドビットバジェットおよび前記要素のビットバジェットを使用して、各オーディオストリームのための符号化のビットバジェットを計算する請求項9に記載のシステム。
  11. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、利用可能な符号化のビットバジェットをすべて使うために最後のオーディオストリームの前記符号化のビットバジェットを調整する請求項10に記載のシステム。
  12. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームのための前記符号化のビットバジェットを使用して前記オーディオストリームのうちの1つをコーディングするためのビットレートを計算する請求項10または11に記載のシステム。
  13. 前記ビットバジェットアロケータが、非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームのうちの1つをコーディングするためのビットレートの値を引き下げ、節約されたビットバジェットをアクティブな内容を有する前記オーディオストリームの間に再分配する請求項4から12のいずれか一項に記載のシステム。
  14. 前記ビットバジェットアロケータが、アクティブな内容を有するオーディオストリームとともに前記ビットレート適応アルゴリズムを使用して、オーディオストリームおよびメタデータ(ISm)の重要度分類に基づいて、前記オーディオストリームのうちの1つをコーディングするためのビットレートを調整する請求項4から13のいずれか一項に記載のシステム。
  15. 前記ビットバジェットアロケータが、非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームをコーディングするためのビットバジェットを引き下げ、一定値に設定する請求項13に記載のシステム。
  16. 前記ビットバジェットアロケータが、前記節約されたビットバジェットを、前記オーディオストリームをコーディングするための前記ビットバジェットの引き引き下げられた値と、前記オーディオストリームをコーディングするための前記ビットバジェットの引き引き下げられていない値との間の差として計算する請求項13または15に記載のシステム。
  17. 前記ビットバジェットアロケータが、前記ビットバジェットの前記引き引き下げられた値を使用して前記オーディオストリームをコーディングするためのビットレートを計算する請求項15または16に記載のシステム。
  18. 前記ビットバジェットアロケータが、復号された合成の所与の品質を得るためのオーディオオブジェクトのコーディングがどれだけ重要であるかを示す指標に基づいて前記ISmの重要度を分類する請求項14に記載のシステム。
  19. 前記ビットバジェットアロケータが、以下のパラメータ、すなわち、オーディオストリームのエンコーダタイプ、FEC(前方誤り訂正)、音声信号の分類、人の声/音楽の分類、およびSNR(信号対雑音比)推定値のうちの少なくとも1つに基づいて前記ISmの重要度を分類する請求項14または18に記載のシステム。
  20. 前記ビットバジェットアロケータが、前記オーディオストリームのエンコーダタイプ(coder_type)に基づいて前記ISmの重要度を分類する請求項19に記載のシステム。
  21. 前記ビットバジェットアロケータが、以下のISmの重要度クラス(classISm)、すなわち、
    - 無メタデータクラスISM_NO_META: メタデータのコーディングのないフレーム、
    - 低重要度クラスISM_LOW_IMP: coder_type = UNVOICEDまたはINACTIVEであるフレーム、
    - 中重要度クラスISM_MEDIUM_IMP: coder_type = VOICEDであるフレーム、および
    - 高重要度クラスISM_HIGH_IMP: coder_type = GENERICであるフレーム
    を定義する請求項20に記載のシステム。
  22. 前記ビットバジェットアロケータが、より高いISmの重要度を有するオーディオストリームの前記コーディングのための前記ビットバジェットを増やし、より低いISmの重要度を有するオーディオストリームの前記コーディングのための前記ビットバジェットを減らすために、前記ビットレート適応アルゴリズムにおいて前記ISmの重要度分類を使用する請求項14および18から21のいずれか一項に記載のシステム。
  23. 前記ビットバジェットアロケータが、フレーム内の各オーディオストリームに関して、以下の論理、すなわち、
    1. classISm = ISM_NO_METAのフレーム: 一定の低いビットレートが前記オーディオストリームをコーディングするために割り振られる、
    2. classISm = ISM_LOW_IMPまたはclassISm = ISM_MEDIUM_IMPのフレーム: 前記オーディオストリームをコーディングするための前記ビットレートが所与の関係を使用して引き下げられる、および
    3. classISm = ISM_HIGH_IMPのフレーム: ビットレートの適応が使用されない
    を使用する請求項21に記載のシステム。
  24. 前記ビットバジェットアロケータが、前記フレームにおいて、節約されたビットバジェットを、アクティブな内容を有する前記オーディオストリームの間に再分配する請求項14および18から21のいずれか一項に記載のシステム。
  25. 前記オーディオストリームの間に前記ビットバジェットアロケータによるビットレートの分配が完了すると前記オーディオストリームをさらに処理するためのプリプロセッサを含む請求項1から24のいずれか一項に記載のシステム。
  26. 前記プリプロセッサが、前記オーディオストリームのさらなる分類、コアエンコーダの選択、および再サンプリングのうち少なくとも1つを実行する請求項25に記載のシステム。
  27. 前記オーディオストリームの前記エンコーダが、前記オーディオストリームをコーディングするためのいくつかのコアエンコーダを含む請求項1から26のいずれか一項に記載のシステム。
  28. 前記コアエンコーダが、前記オーディオストリームを順にコーディングする変動ビットレートコアエンコーダである請求項27に記載のシステム。
  29. 関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを含むオブジェクトベースのオーディオ信号をコーディングするための方法であって、
    前記メタデータをコーディングするステップと、
    前記オーディオオブジェクトの前記メタデータの前記コーディングのためのビットバジェットについての情報を生成するステップと、
    前記オーディオストリームを符号化するステップと、
    前記オーディオオブジェクトの前記メタデータの前記コーディングのための前記ビットバジェットについての前記情報に応じて、前記オーディオストリームの前記符号化のためのビットレートを割り当てるステップとを含む、方法。
  30. 前記オーディオストリームを分析し、前記メタデータの前記コーディングおよび前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てのための前記オーディオストリームに関する情報を提供するステップを含む請求項29に記載の方法。
  31. 前記オーディオストリームが、並列に分析される請求項30に記載の方法。
  32. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記オーディオストリームをコーディングするための利用可能なビットバジェットを分配するためのビットレート適応アルゴリズムを使用することを含む請求項29から31のいずれか一項に記載の方法。
  33. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記オーディオストリームおよび前記関連するメタデータをコーディングするためのオーディオストリームおよびメタデータ(ISm)の合計ビットレートまたはコーデックの合計ビットレートからISmの合計ビットバジェットを計算することを含む請求項32に記載の方法。
  34. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記ISmの合計ビットバジェットを前記オーディオストリームの数で割ることによって要素のビットバジェットを計算することを含む請求項33に記載の方法。
  35. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記ISmの合計ビットバジェットをすべて使うために最後のオーディオオブジェクトの前記要素のビットバジェットを調整することを含む請求項34に記載の方法。
  36. 前記要素のビットバジェットが、1つのISmの合計ビットバジェットにおいて一定である請求項34に記載の方法。
  37. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記オーディオオブジェクトの前記メタデータの前記コーディングのための前記ビットバジェットを合計し、前記合計を、ISm共通シグナリングのビットバジェットに足し、コーデックのサイドビットバジェットを生じることを含む請求項34から36のいずれか一項に記載の方法。
  38. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、(a)前記コーデックのサイドビットバジェットを前記オーディオオブジェクトの間に均等に分けること、ならびに(b)前記分けられたコーデックのサイドビットバジェットおよび前記要素のビットバジェットを使用して、各オーディオストリームのための符号化のビットバジェットを計算することを含む請求項37に記載の方法。
  39. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、利用可能な符号化のビットバジェットをすべて使うために最後のオーディオストリームの前記符号化のビットバジェットを調整することを含む請求項38に記載の方法。
  40. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記オーディオストリームのための前記符号化のビットバジェットを使用して前記オーディオストリームのうちの1つをコーディングするためのビットレートを計算することを含む請求項38または39に記載の方法。
  41. 非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記オーディオストリームのうちの1つをコーディングするためのビットレートの値を引き下げ、節約されたビットバジェットをアクティブな内容を有する前記オーディオストリームの間に再分配することを含む請求項32から40のいずれか一項に記載の方法。
  42. アクティブな内容を有するオーディオストリームとともに前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、オーディオストリームおよびメタデータ(ISm)の重要度分類に基づいて、前記オーディオストリームのうちの1つをコーディングするためのビットレートを調整することを含む請求項32から41のいずれか一項に記載の方法。
  43. 非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記オーディオストリームをコーディングするためのビットバジェットを引き下げ、一定値に設定することを含む請求項41に記載の方法。
  44. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記節約されたビットバジェットを、前記オーディオストリームをコーディングするための前記ビットバジェットの引き引き下げられた値と、前記オーディオストリームをコーディングするための前記ビットバジェットの引き引き下げられていない値との間の差として計算することを含む請求項41または43に記載の方法。
  45. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記ビットバジェットの前記引き引き下げられた値を使用して前記オーディオストリームをコーディングするためのビットレートを計算することを含む請求項43または44に記載の方法。
  46. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、復号された合成の所与の品質を得るためのオーディオオブジェクトのコーディングがどれだけ重要であるかを示す指標に基づいて前記ISmの重要度を分類することを含む請求項42に記載の方法。
  47. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、以下のパラメータ、すなわち、オーディオストリームのエンコーダタイプ、FEC(前方誤り訂正)、音声信号の分類、人の声/音楽の分類、およびSNR(信号対雑音比)推定値のうちの少なくとも1つに基づいて前記ISmの重要度を分類することを含む請求項42または46に記載の方法。
  48. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記オーディオストリームのエンコーダタイプ(coder_type)に基づいて前記ISmの重要度を分類することを含む請求項47に記載の方法。
  49. 前記ISmの重要度を分類することが、以下のISmの重要度クラス(classISm)、すなわち、
    - 無メタデータクラスISM_NO_META: メタデータのコーディングのないフレーム、
    - 低重要度クラスISM_LOW_IMP: coder_type = UNVOICEDまたはINACTIVEであるフレーム、
    - 中重要度クラスISM_MEDIUM_IMP: coder_type = VOICEDであるフレーム、および
    - 高重要度クラスISM_HIGH_IMP: coder_type = GENERICであるフレーム
    を定義することを含む請求項48に記載の方法。
  50. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、より高いISmの重要度を有するオーディオストリームの前記コーディングのための前記ビットバジェットを増やし、より低いISmの重要度を有するオーディオストリームの前記コーディングのための前記ビットバジェットを減らすために、前記ビットレート適応アルゴリズムにおいて前記ISmの重要度分類を使用することを含む請求項42および46から49のいずれか一項に記載の方法。
  51. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、フレーム内の各オーディオストリームに関して、以下の論理、すなわち、
    1. classISm = ISM_NO_METAのフレーム: 一定の低いビットレートが前記オーディオストリームをコーディングするために割り振られる、
    2. classISm = ISM_LOW_IMPまたはclassISm = ISM_MEDIUM_IMPのフレーム: 前記オーディオストリームをコーディングするための前記ビットレートが所与の関係を使用して引き下げられる、および
    3. classISm = ISM_HIGH_IMPのフレーム: ビットレートの適応が使用されない
    を使用することを含む請求項49に記載の方法。
  52. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てが、前記フレームにおいて、節約されたビットバジェットを、アクティブな内容を有する前記オーディオストリームの間に再分配することを含む請求項42および46から49のいずれか一項に記載の方法。
  53. 前記オーディオストリームの前記コーディングのためのビットレートの前記割り当てにより前記オーディオストリームの間にビットレートの分配が完了すると前記オーディオストリームを前処理するステップを含む請求項29から52のいずれか一項に記載の方法。
  54. 前記前処理が、前記オーディオストリームのさらなる分類、コアエンコーダの選択、および再サンプリングのうち少なくとも1つを実行することを含む請求項53に記載の方法。
  55. 前記オーディオストリームを符号化するステップが、前記オーディオストリームをコーディングするためのいくつかのコアエンコーダを使用することを含む請求項29から54のいずれか一項に記載の方法。
  56. 前記コアエンコーダが、前記オーディオストリームを順にコーディングする変動ビットレートコアエンコーダである請求項55に記載の方法。
  57. 関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するためのシステムであって、
    前記オーディオオブジェクトのメタデータを復号するため、および前記オーディオオブジェクトの前記メタデータのそれぞれのビットバジェットについての情報を供給するためのメタデータプロセッサと、
    前記オーディオストリームのコアデコーダのビットレートを決定するための、前記オーディオオブジェクトの前記メタデータのビットバジェットに応答するビットバジェットアロケータと、
    前記ビットバジェットアロケータにおいて決定された前記コアデコーダのビットレートを使用する前記オーディオストリームのデコーダとを含む、システム。
  58. 前記メタデータプロセッサが、受信されたビットビットストリームから読み出された共通シグナリングに応答する請求項57に記載のシステム。
  59. 前記デコーダが、前記オーディオストリームを復号するためのいくつかのコアデコーダを含む請求項57または58に記載のシステム。
  60. 前記コアデコーダが、それぞれの自身のコアデコーダのビットレートで前記オーディオストリームを順に復号するための変動ビットレートコアデコーダを含む請求項59に記載のシステム。
  61. 前記ビットバジェットアロケータが、前記オーディオストリームを復号するための利用可能なビットバジェットを分配するためのビットレート適応アルゴリズムを使用する請求項57から60のいずれか一項に記載のシステム。
  62. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームおよび前記関連するメタデータを復号するためのオーディオストリームおよびメタデータ(ISm)の合計ビットレートまたはコーデックの合計ビットレートからISmの合計ビットバジェットを計算する請求項61に記載のシステム。
  63. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記ISmの合計ビットバジェットを前記オーディオストリームの数で割ることによって要素のビットバジェットを計算する請求項62に記載のシステム。
  64. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記ISmの合計ビットバジェットをすべて使うために最後のオーディオオブジェクトの前記要素のビットバジェットを調整する請求項63に記載のシステム。
  65. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記オーディオオブジェクトの前記メタデータの前記復号のための前記ビットバジェットを合計し、前記合計を、ISm共通シグナリングのビットバジェットに足し、コーデックのサイドビットバジェットを生じる請求項63または64に記載のシステム。
  66. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、(a)前記コーデックのサイドビットバジェットを前記オーディオオブジェクトの間に均等に分け、(b)前記分けられたコーデックのサイドビットバジェットおよび前記要素のビットバジェットを使用して、各オーディオストリームのための復号のビットバジェットを計算する請求項65に記載のシステム。
  67. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、利用可能な復号のビットバジェットをすべて使うために最後のオーディオストリームの前記復号のビットバジェットを調整する請求項66に記載のシステム。
  68. 前記ビットバジェットアロケータが、前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームのための前記復号のビットバジェットを使用して前記オーディオストリームのうちの1つを復号するためのビットレートを計算する請求項66または67に記載のシステム。
  69. 前記ビットバジェットアロケータが、非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームのうちの1つを復号するためのビットレートの値を引き下げ、節約されたビットバジェットをアクティブな内容を有する前記オーディオストリームの間に再分配する請求項61から68のいずれか一項に記載のシステム。
  70. 前記ビットバジェットアロケータが、アクティブな内容を有するオーディオストリームとともに前記ビットレート適応アルゴリズムを使用して、オーディオストリームおよびメタデータ(ISm)の重要度分類に基づいて、前記オーディオストリームのうちの1つを復号するためのビットレートを調整する請求項61から69のいずれか一項に記載のシステム。
  71. 前記ビットバジェットアロケータが、非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用して、前記オーディオストリームを復号するためのビットバジェットを引き下げ、一定値に設定する請求項70に記載のシステム。
  72. 前記ビットバジェットアロケータが、前記節約されたビットバジェットを、前記オーディオストリームを復号するための前記ビットバジェットの引き引き下げられた値と、前記オーディオストリームを復号するための前記ビットバジェットの引き引き下げられていない値との間の差として計算する請求項69または71に記載のシステム。
  73. 前記ビットバジェットアロケータが、前記ビットバジェットの前記引き引き下げられた値を使用して前記オーディオストリームを復号するためのビットレートを計算する請求項71または72に記載のシステム。
  74. 前記ビットバジェットアロケータが、復号された合成の所与の品質を得るためのオーディオオブジェクトの復号がどれだけ重要であるかを示すために、受信されたビットストリーム内の共通シグナリングから読み出されたオーディオストリームおよびメタデータ(ISm)の重要度を使用する請求項57から73のいずれか一項に記載のシステム。
  75. 前記ビットバジェットアロケータが、以下のISmの重要度クラス(classISm)、すなわち、
    - 無メタデータクラスISM_NO_META: メタデータのコーディングのないフレーム、
    - 低重要度クラスISM_LOW_IMP: オーディオストリームのデコーダタイプ(coder_type) = UNVOICEDまたはINACTIVEであるフレーム、
    - 中重要度クラスISM_MEDIUM_IMP: coder_type = VOICEDであるフレーム、および
    - 高重要度クラスISM_HIGH_IMP: coder_type = GENERICであるフレーム
    を定義する請求項74に記載のシステム。
  76. 前記ビットバジェットアロケータが、より高いISmの重要度を有するオーディオストリームの前記復号のための前記ビットバジェットを増やし、より低いISmの重要度を有するオーディオストリームの前記復号のための前記ビットバジェットを減らすために、前記ビットレート適応アルゴリズムにおいて前記ISmの重要度分類を使用する請求項70、74、および75のいずれか一項に記載のシステム。
  77. 前記ビットバジェットアロケータが、フレーム内の各オーディオストリームに関して、以下の論理、すなわち、
    1. classISm = ISM_NO_METAのフレーム: 一定の低いビットレートが前記オーディオストリームを復号するために割り振られる、
    2. classISm = ISM_LOW_IMPまたはclassISm = ISM_MEDIUM_IMPのフレーム: 前記オーディオストリームを復号するための前記ビットレートが所与の関係を使用して引き下げられる、および
    3. classISm = ISM_HIGH_IMPのフレーム: ビットレートの適応が使用されない
    を使用する請求項75に記載のシステム。
  78. 前記ビットバジェットアロケータが、前記フレームにおいて、節約されたビットバジェットを、アクティブな内容を有する前記オーディオストリームの間に再分配する請求項70および74から77のいずれか一項に記載のシステム。
  79. 関連するメタデータを有するオーディオストリームに応じてオーディオオブジェクトを復号するための方法であって、
    前記オーディオオブジェクトのメタデータを復号し、前記オーディオオブジェクトの前記メタデータのそれぞれのビットバジェットについての情報を供給するステップと、
    前記オーディオオブジェクトの前記メタデータのビットバジェットを使用して前記オーディオストリームのコアデコーダのビットレートを決定するステップと、
    前記決定されたコアデコーダのビットレートを使用して前記オーディオストリームを復号するステップとを含む、方法。
  80. 前記オーディオオブジェクトの前記メタデータを復号するステップが、受信されたビットビットストリームから読み出された共通シグナリングに応答する請求項79に記載の方法。
  81. 前記オーディオストリームを復号するステップが、前記オーディオストリームを復号するためのいくつかのコアデコーダを使用することを含む請求項79または80に記載の方法。
  82. 前記オーディオストリームを復号するステップが、それぞれの自身のコアデコーダのビットレートで前記オーディオストリームを順に復号するための変動ビットレートコアデコーダをコアデコーダとして使用することを含む請求項81に記載の方法。
  83. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記オーディオストリームを復号するための利用可能なビットバジェットを分配するためのビットレート適応アルゴリズムを使用することを含む請求項79から82のいずれか一項に記載の方法。
  84. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記オーディオストリームおよび前記関連するメタデータを復号するためのオーディオストリームおよびメタデータ(ISm)の合計ビットレートまたはコーデックの合計ビットレートからISmの合計ビットバジェットを計算することを含む請求項83に記載の方法。
  85. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記ISmの合計ビットバジェットを前記オーディオストリームの数で割ることによって要素のビットバジェットを計算することを含む請求項84に記載の方法。
  86. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記ISmの合計ビットバジェットをすべて使うために最後のオーディオオブジェクトの前記要素のビットバジェットを調整することを含む請求項85に記載の方法。
  87. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記オーディオオブジェクトの前記メタデータの前記復号のための前記ビットバジェットを合計し、前記合計を、ISm共通シグナリングのビットバジェットに足し、コーデックのサイドビットバジェットを生じることを含む請求項85または86に記載の方法。
  88. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、(a)前記コーデックのサイドビットバジェットを前記オーディオオブジェクトの間に均等に分けること、ならびに(b)前記分けられたコーデックのサイドビットバジェットおよび前記要素のビットバジェットを使用して、各オーディオストリームのための復号のビットバジェットを計算することを含む請求項87に記載の方法。
  89. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、利用可能な復号のビットバジェットをすべて使うために最後のオーディオストリームの前記復号のビットバジェットを調整することを含む請求項88に記載の方法。
  90. 前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記オーディオストリームのための前記復号のビットバジェットを使用して前記オーディオストリームのうちの1つを復号するためのビットレートを計算することを含む請求項88または89に記載の方法。
  91. 非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記オーディオストリームのうちの1つを復号するためのビットレートの値を引き下げ、節約されたビットバジェットをアクティブな内容を有する前記オーディオストリームの間に再分配することを含む請求項83から90のいずれか一項に記載の方法。
  92. アクティブな内容を有するオーディオストリームとともに前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、オーディオストリームおよびメタデータ(ISm)の重要度分類に基づいて、前記オーディオストリームのうちの1つを復号するためのビットレートを調整することを含む請求項83から91のいずれか一項に記載の方法。
  93. 非アクティブな内容を有するかまたは意味のある内容を持たないオーディオストリームとともに前記ビットレート適応アルゴリズムを使用する、前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記オーディオストリームを復号するためのビットバジェットを引き下げ、一定値に設定することを含む請求項92に記載の方法。
  94. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記節約されたビットバジェットを、前記オーディオストリームを復号するための前記ビットバジェットの引き引き下げられた値と、前記オーディオストリームを復号するための前記ビットバジェットの引き引き下げられていない値との間の差として計算することを含む請求項91または93に記載の方法。
  95. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記ビットバジェットの前記引き引き下げられた値を使用して前記オーディオストリームを復号するためのビットレートを計算することを含む請求項93または94に記載の方法。
  96. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、復号された合成の所与の品質を得るためのオーディオオブジェクトの復号がどれだけ重要であるかを示すために、受信されたビットストリーム内の共通シグナリングから読み出されたオーディオストリームおよびメタデータ(ISm)の重要度を使用することを含む請求項80に記載の方法。
  97. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、以下のISmの重要度クラス(classISm)、すなわち、
    - 無メタデータクラスISM_NO_META: メタデータのコーディングのないフレーム、
    - 低重要度クラスISM_LOW_IMP: オーディオストリームのデコーダタイプ(coder_type) = UNVOICEDまたはINACTIVEであるフレーム、
    - 中重要度クラスISM_MEDIUM_IMP: coder_type = VOICEDであるフレーム、および
    - 高重要度クラスISM_HIGH_IMP: coder_type = GENERICであるフレーム
    を定義することを含む請求項96に記載の方法。
  98. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、より高いISmの重要度を有するオーディオストリームの前記復号のための前記ビットバジェットを増やし、より低いISmの重要度を有するオーディオストリームの前記復号のための前記ビットバジェットを減らすために、前記ビットレート適応アルゴリズムにおいてISmの重要度分類を使用することを含む請求項92、96、および97のいずれか一項に記載の方法。
  99. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、フレーム内の各オーディオストリームに関して、以下の論理、すなわち、
    1. classISm = ISM_NO_METAのフレーム: 一定の低いビットレートが前記オーディオストリームを復号するために割り振られる、
    2. classISm = ISM_LOW_IMPまたはclassISm = ISM_MEDIUM_IMPのフレーム: 前記オーディオストリームを復号するための前記ビットレートが所与の関係を使用して引き下げられる、および
    3. classISm = ISM_HIGH_IMPのフレーム: ビットレートの適応が使用されない
    を含む請求項97に記載の方法。
  100. 前記オーディオストリームのコアデコーダのビットレートを決定するステップが、前記フレームにおいて、節約されたビットバジェットを、アクティブな内容を有する前記オーディオストリームの間に再分配することを含む請求項92および96から99のいずれか一項に記載の方法。
JP2022500962A 2019-07-08 2020-07-07 オーディオストリーム内のメタデータのコーディングのためおよびオーディオストリームのコーディングへの効率的なビットレートの割り当てのための方法およびシステム Pending JP2022539608A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962871253P 2019-07-08 2019-07-08
US62/871,253 2019-07-08
PCT/CA2020/050944 WO2021003570A1 (en) 2019-07-08 2020-07-07 Method and system for coding metadata in audio streams and for efficient bitrate allocation to audio streams coding

Publications (2)

Publication Number Publication Date
JP2022539608A true JP2022539608A (ja) 2022-09-12
JPWO2021003570A5 JPWO2021003570A5 (ja) 2023-07-13

Family

ID=74113835

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022500962A Pending JP2022539608A (ja) 2019-07-08 2020-07-07 オーディオストリーム内のメタデータのコーディングのためおよびオーディオストリームのコーディングへの効率的なビットレートの割り当てのための方法およびシステム
JP2022500960A Pending JP2022539884A (ja) 2019-07-08 2020-07-07 オーディオストリーム内のメタデータのコーディングのためならびに柔軟なオブジェクト内およびオブジェクト間のビットレートの適応のための方法およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022500960A Pending JP2022539884A (ja) 2019-07-08 2020-07-07 オーディオストリーム内のメタデータのコーディングのためならびに柔軟なオブジェクト内およびオブジェクト間のビットレートの適応のための方法およびシステム

Country Status (10)

Country Link
US (2) US20220319524A1 (ja)
EP (2) EP3997698A4 (ja)
JP (2) JP2022539608A (ja)
KR (2) KR20220034102A (ja)
CN (2) CN114072874A (ja)
AU (2) AU2020310084A1 (ja)
BR (2) BR112021025420A2 (ja)
CA (2) CA3145047A1 (ja)
MX (2) MX2021015660A (ja)
WO (2) WO2021003569A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023061556A1 (en) * 2021-10-12 2023-04-20 Nokia Technologies Oy Delayed orientation signalling for immersive communications
CN114127844A (zh) * 2021-10-21 2022-03-01 北京小米移动软件有限公司 一种信号编解码方法、装置、编码设备、解码设备及存储介质
CN115552518A (zh) * 2021-11-02 2022-12-30 北京小米移动软件有限公司 一种信号编解码方法、装置、用户设备、网络侧设备及存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630011A (en) * 1990-12-05 1997-05-13 Digital Voice Systems, Inc. Quantization of harmonic amplitudes representing speech
US7657427B2 (en) * 2002-10-11 2010-02-02 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
US9626973B2 (en) * 2005-02-23 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Adaptive bit allocation for multi-channel audio encoding
US7840411B2 (en) * 2005-03-30 2010-11-23 Koninklijke Philips Electronics N.V. Audio encoding and decoding
EP2375409A1 (en) * 2010-04-09 2011-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
WO2014009775A1 (en) * 2012-07-12 2014-01-16 Nokia Corporation Vector quantization
BR112015014217B1 (pt) * 2012-12-21 2021-11-03 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V Adição de ruído de conforto para modelagem do ruído de fundo em baixas taxas de bits
EP2830049A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for efficient object metadata coding
EP3059732B1 (en) * 2013-10-17 2018-10-10 Socionext Inc. Audio decoding device
US9564136B2 (en) * 2014-03-06 2017-02-07 Dts, Inc. Post-encoding bitrate reduction of multiple object audio
FR3020732A1 (fr) * 2014-04-30 2015-11-06 Orange Correction de perte de trame perfectionnee avec information de voisement
SG11201701197TA (en) * 2014-07-25 2017-03-30 Panasonic Ip Corp America Audio signal coding apparatus, audio signal decoding apparatus, audio signal coding method, and audio signal decoding method
WO2016138502A1 (en) * 2015-02-27 2016-09-01 Arris Enterprises, Inc. Adaptive joint bitrate allocation
US9866596B2 (en) * 2015-05-04 2018-01-09 Qualcomm Incorporated Methods and systems for virtual conference system using personal communication devices
EP3408851B1 (en) * 2016-01-26 2019-09-11 Dolby Laboratories Licensing Corporation Adaptive quantization
US10573324B2 (en) * 2016-02-24 2020-02-25 Dolby International Ab Method and system for bit reservoir control in case of varying metadata
US10354660B2 (en) * 2017-04-28 2019-07-16 Cisco Technology, Inc. Audio frame labeling to achieve unequal error protection for audio frames of unequal importance
EP3659040A4 (en) * 2017-07-28 2020-12-02 Dolby Laboratories Licensing Corporation PROCESS AND SYSTEM FOR PROVIDING MULTIMEDIA CONTENT TO A CUSTOMER
MX2020002972A (es) * 2017-09-20 2020-07-22 Voiceage Corp Metodo y dispositivo para asignar un presupuesto de bits entre subtramas en un codec celp.
US10854209B2 (en) * 2017-10-03 2020-12-01 Qualcomm Incorporated Multi-stream audio coding
US10999693B2 (en) * 2018-06-25 2021-05-04 Qualcomm Incorporated Rendering different portions of audio data using different renderers
GB2575305A (en) * 2018-07-05 2020-01-08 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
US10359827B1 (en) * 2018-08-15 2019-07-23 Qualcomm Incorporated Systems and methods for power conservation in an audio bus

Also Published As

Publication number Publication date
EP3997697A1 (en) 2022-05-18
KR20220034103A (ko) 2022-03-17
AU2020310952A1 (en) 2022-01-20
BR112021026678A2 (pt) 2022-02-15
WO2021003569A1 (en) 2021-01-14
KR20220034102A (ko) 2022-03-17
BR112021025420A2 (pt) 2022-02-01
EP3997698A1 (en) 2022-05-18
AU2020310084A1 (en) 2022-01-20
WO2021003570A1 (en) 2021-01-14
US20220238127A1 (en) 2022-07-28
CN114072874A (zh) 2022-02-18
JP2022539884A (ja) 2022-09-13
EP3997697A4 (en) 2023-09-06
MX2021015476A (es) 2022-01-24
CA3145047A1 (en) 2021-01-14
EP3997698A4 (en) 2023-07-19
US20220319524A1 (en) 2022-10-06
MX2021015660A (es) 2022-02-03
CA3145045A1 (en) 2021-01-14
CN114097028A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
JP7124170B2 (ja) セカンダリチャンネルを符号化するためにプライマリチャンネルのコーディングパラメータを使用するステレオ音声信号を符号化するための方法およびシステム
CA2607952C (en) Robust decoder
EP2849180B1 (en) Hybrid audio signal encoder, hybrid audio signal decoder, method for encoding audio signal, and method for decoding audio signal
JP2022539608A (ja) オーディオストリーム内のメタデータのコーディングのためおよびオーディオストリームのコーディングへの効率的なビットレートの割り当てのための方法およびシステム
JP7285830B2 (ja) Celpコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス
WO2024103163A1 (en) Method and device for discontinuous transmission in an object-based audio codec
WO2024051955A1 (en) Decoder and decoding method for discontinuous transmission of parametrically coded independent streams with metadata
WO2024052450A1 (en) Encoder and encoding method for discontinuous transmission of parametrically coded independent streams with metadata
TW202411984A (zh) 用於具有元資料之參數化經寫碼獨立串流之不連續傳輸的編碼器及編碼方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230705