(57)【要約】  オーディオエンコーダは、デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにし、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成し、各フレームに関する複数の周波数領域係数を、各帯域が該帯域に割り当てられるビット数を表すビットデータを有する、各フレームに関する複数の帯域に分割し、デジタルオーディオ信号及び差分データを符号化してビットストリーム（例えば、符号化されたデジタルオーディオ信号）にすることができる。該差分データは、ビットストリームに存在するデータから計算できる推定データと組み合わされたときに、完全なビットデータをもたらすことができる。差分データは、完全なビットデータよりも小さいサイズに圧縮でき、これによって、ビットストリームに必要なスペースを削減することができる。【選択図】図７
2020518030.tif 000002
【特許請求の範囲】
【請求項１】
符号化システムであって、
プロセッサと、
前記プロセッサによって実行可能である命令を格納するメモリデバイスであって、前記命令が、オーディオ信号を符号化するための方法を実行するように前記プロセッサによって実行可能である、メモリデバイスと、
を含み、前記方法は、
デジタルオーディオ信号を受け取るステップと、
前記デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにするステップと、
各フレームに関する複数の周波数領域係数を生成するために、各フレームの前記オーディオサンプルの変換を行うステップと、
各フレームに関する前記複数の周波数領域係数を各フレームに関する複数の帯域に分割するステップと、
各フレーム内の各帯域に対して指定されたビット数を割り当てるステップと、
各フレーム内の各帯域に対して割り当てられた前記ビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す、各フレーム内の各帯域に関する差分値を計算するステップと、
前記デジタルオーディオ信号を表すデータと前記差分値を表すデータとを含むが、各フレーム内の各帯域に対して割り当てられた前記ビット数を直接表すデータを含まないように、ビットストリームを符号化するステップと、
前記ビットストリームを出力するステップと、
を含む、符号化システム。
【請求項２】
前記方法は更に、
各フレームの各帯域の量子化されたノルムを計算するステップであって、量子化されたノルムの各々が、前記帯域における周波数領域係数から導出され複数の指定された値のうちの１つに等しくなるように量子化された値を有する、計算するステップと、
前記量子化されたノルムに基づいて、各フレーム内の各帯域に対して割り当て可能な前記推定ビット数を決定するステップと、
前記量子化されたノルムを表すデータを前記ビットストリームに符号化するステップと、
を含む、請求項１に記載の符号化システム。
【請求項３】
各フレーム内の各帯域に対して割り当てられる前記推定ビット数は、前記量子化されたノルムのみに基づいて決定される、請求項２に記載の符号化システム。
【請求項４】
特定のフレーム内の各帯域に対して割り当てられる前記推定ビット数は、前記特定のフレームに関する前記量子化されたノルムのみに基づいて決定される、請求項３に記載の符号化システム。
【請求項５】
特定のフレーム内の各帯域に対して割り当てられる前記推定ビット数は、前記デジタルオーディオ信号内の少なくとも１つの他のフレームに関する量子化されたノルムに少なくとも部分的に基づいて決定される、請求項３に記載の符号化システム。
【請求項６】
前記方法は更に、
少なくとも１つの目標パラメータを決定するステップと、
少なくとも部分的に前記少なくとも１つの目標パラメータから、各フレーム内の各帯域に対して割り当て可能な前記推定ビット数を決定するステップと、
前記少なくとも１つの目標パラメータを表すデータを前記ビットストリームに符号化するステップと、
を含む、請求項１から５のいずれか１項に記載の符号化システム。
【請求項７】
前記少なくとも１つの目標パラメータは、各帯域に対して割り当て可能な基準ビット数を含み、前記方法は更に、
前記デジタルオーディオ信号内の複数フレームに対して、各帯域に対して割り当て可能な前記基準ビット数に等しくなるように、各帯域に対して割り当て可能な前記推定ビット数を設定するステップと、
各帯域に対して割り当て可能な前記基準ビット数を表すデータを前記ビットストリームに符号化するステップと、
を含む、請求項６に記載の符号化システム。
【請求項８】
前記少なくとも１つの目標パラメータは勾配を含む、請求項６に記載の符号化システム。
【請求項９】
前記変換は修正離散コサイン変換である、請求項１に記載の符号化システム。
【請求項１０】
各フレームは、正確に１０２４個のサンプルを含む、請求項１に記載の符号化システム。
【請求項１１】
それぞれの複数の周波数領域係数における周波数領域係数の数は、各フレーム内のオーディオサンプルの前記指定された数に等しい、請求項１に記載の符号化システム。
【請求項１２】
各フレームに関する前記複数の周波数領域係数は、正確に１０２４個の周波数領域係数を含む、請求項１に記載の符号化システム。
【請求項１３】
各フレームに関する前記複数の帯域は、正確に２２個の帯域を含む、請求項１に記載の符号化システム。
【請求項１４】
前記符号化システムは、コーデックに含まれる、請求項１に記載の符号化システム。
【請求項１５】
復号システムであって、
プロセッサと、
前記プロセッサによって実行可能である命令を格納するメモリデバイスであって、前記命令が、符号化されたオーディオ信号を復号するための方法を実行するように前記プロセッサによって実行可能である、メモリデバイスと、
を含み、前記方法は、
複数の帯域に各々が分割された複数のフレームを含むビットストリームを受け取るステップと、
各フレーム内の各帯域の量子化されたノルムを前記ビットストリームから抽出するステップと、
前記抽出された量子化ノルムに基づいて、各フレーム内の各帯域に対して割り当て可能な推定ビット数を決定するステップと、
各フレームの各帯域に対して、各フレーム内の各帯域に対して割り当てられるビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す差分値を、前記ビットストリームから抽出するステップと、
各フレーム内の各帯域に対して割り当てられるビット数を決定するために、前記差分値を、各フレーム内の各帯域に対して割り当て可能な前記対応する推定ビット数と組み合わせるステップと、
各フレーム内の各帯域に対して前記決定されたビット数を割り当てるステップと、
復号されたデジタルオーディオ信号を生成するために、各フレーム内の各帯域に関する前記決定されたビット数を使用して、前記ビットストリームを復号するステップと、
を含む、復号システム。
【請求項１６】
各フレーム内の各帯域に対して割り当てられる前記推定ビット数は、前記量子化されたノルムのみに基づいて決定される、請求項１５に記載の復号システム。
【請求項１７】
特定のフレーム内の各帯域に対して割り当てられる前記推定ビット数は、前記特定のフレームに関する前記量子化されたノルムのみに基づいて決定される、請求項１５に記載の復号システム。
【請求項１８】
特定のフレーム内の各帯域に対して割り当てられる前記推定ビット数は、前記デジタルオーディオ信号内の少なくとも１つの他のフレームに関する量子化されたノルムに少なくとも部分的に基づいて決定される、請求項１５に記載の復号システム。
【請求項１９】
符号化システムであって、
デジタルオーディオ信号を受け取るための受信器回路と、
前記デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにするためのフレーマ回路と、
各フレームの前記オーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成するための変換器回路と、
各フレームに関する前記複数の周波数領域係数を各フレームに関する複数の帯域に分割するための周波数帯域分割器回路と、
各フレーム内の各帯域に対して指定されたビット数を割り当てるためのフレームビット割り当て回路と、
各フレーム内の各帯域に対して割り当てられた前記ビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す、各フレーム内の各帯域に関する差分値を計算するための差分計算回路と、
前記デジタルオーディオ信号を表すデータと前記差分値を表すデータとを含むが、各フレーム内の各帯域に対して割り当てられた前記ビット数を直接表すデータを含まないように、ビットストリームを符号化するためのエンコーダ回路と、
前記ビットストリームを出力するための出力回路と、
を含む、符号化システム。
【請求項２０】
特定のフレーム内の各帯域に対して割り当てられる前記推定ビット数は、前記特定のフレームに関する前記量子化されたノルムのみに基づいて決定される、請求項１９に記載の符号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、オーディオ信号の符号化又は復号に関する。
【０００２】
関連出願の相互参照
本出願は、２０１７年４月２５日出願の米国仮特許出願第６２／４８９，６５０号の利益を主張する２０１８年３月２９日出願の米国特許出願第１５／９３９，４７３号に対し優先権を主張するものであり、これらの開示内容全体は、引用により本明細書に組み込まれる。
【背景技術】
【０００３】
オーディオコーデックは、時間領域オーディオ信号をデジタルファイル又はデジタルストリームに符号化して、デジタルファイル又はデジタルストリームを時間領域オーディオ信号に復号することができる。符号化されたファイル又はストリームのサイズを小さくすることなど、オーディオコーデックを改良する継続的な取り組みが行われている。
【発明の概要】
【課題を解決するための手段】
【０００４】
符号化システムの例は、プロセッサと、該プロセッサによって実行可能ある命令を格納するメモリデバイスであって、前記命令が、オーディオ信号を符号化するための方法を実行するように前記プロセッサによって実行可能である、メモリデバイスと、を含むことができ、該方法は、デジタルオーディオ信号を受け取るステップと、該デジタルオーディオ信号を構文解析して(parsing)、指定された数のオーディオサンプルを各々が含む複数のフレームにするステップと、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成するステップと、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割する(partitioning)ステップと、各フレーム内の各帯域に対して指定された数のビットを割り当てるステップと、各フレーム内の各帯域に対して割り当てられたビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数(estimated number of bits)との間の差分を表す、各フレーム内の各帯域に関する差分値を計算するステップと、デジタルオーディオ信号を表すデータと該差分値を表すデータとを含むが、各フレーム内の各帯域に対して割り当てられたビット数を直接表すデータを含まないように、ビットストリームを符号化するステップと、該ビットストリームを出力するステップと、を含む。
【０００５】
復号システムの例は、プロセッサと、該プロセッサによって実行可能である命令を格納するメモリデバイスであって、前記命令が、符号化されたオーディオ信号を復号するための方法を実行するように前記プロセッサによって実行可能である、メモリデバイスと、を含むことができ、該方法は、複数の帯域に各々が分割された複数のフレームを含むビットストリームを受け取るステップと、各フレーム内の各帯域の量子化されたノルム(quantized norm)を抽出するステップと、該抽出された量子化ノルムに基づいて、各フレーム内の各帯域に対して割り当て可能な推定ビット数を決定するステップと、各フレームの各帯域に対して、各フレーム内の各帯域に対して割り当てられるビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す差分値を、ビットストリームから抽出するステップと、該差分値を、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数と組み合わせて、各フレーム内の各帯域に対して割り当てられるビット数を決定するステップと、各フレーム内の各帯域に決定された数のビットを割り当てるステップと、各フレーム内の各帯域に関する決定された数のビットを使用してビットストリームを復号して、復号されたデジタルオーディオ信号を生成するステップと、を含む。
【０００６】
符号化システムの別の例は、デジタルオーディオ信号を受け取るための受信器回路と、該デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにするフレーマ回路と、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成する変換器回路と、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割する周波数帯域分割器回路と、各フレーム内の各帯域に対して指定された数のビットを割り当てるフレームビット割り当て回路と、各フレーム内の各帯域に対して割り当てられたビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す、各フレーム内の各帯域に関する差分値を計算する差分計算回路と、デジタルオーディオ信号を表すデータと該差分値を表すデータとを含むが、各フレーム内の各帯域に対して割り当てられたビット数を直接表すデータを含まないように、ビットストリームを符号化するエンコーダ回路と、ビットストリームを出力する出力回路と、を含むことができる。
【図面の簡単な説明】
【０００７】
【図１】幾つかの実施形態による符号化システムの１つの実施例のブロック図を示す。
【図２】幾つかの実施形態による符号化システムの別の実施例のブロック図を示す。
【図３】幾つかの実施形態による復号システムの１つの実施例のブロック図を示す。
【図４】幾つかの実施形態による復号システムの別の実施例のブロック図を示す。
【図５】幾つかの実施形態による、デジタルオーディオ信号の符号化と関連する量のうちのいくつかを示す。
【図６】幾つかの実施形態による符号化／復号システムの１つの実施例のブロック図を示す。
【図７】幾つかの実施形態によるエンコーダの１つの実施例のブロック図を示す。
【図８】幾つかの実施形態によるデコーダの別の実施例のブロック図を示す。
【図９】幾つかの実施形態によるエンコーダの別の実施例のブロック図を示す。
【図１０】幾つかの実施形態によるデコーダの別の実施例のブロック図を示す。
【図１１】幾つかの実施形態による、オーディオ信号を符号化するための方法の１つの実施例のフローチャートを示す。
【図１２】幾つかの実施形態による、符号化されたオーディオ信号を復号するための方法の１つの実施例のフローチャートを示す。
【図１３】幾つかの実施形態による符号化システムの１つの実施例のブロック図を示す。
【発明を実施するための形態】
【０００８】
対応する参照符号は、幾つかの図全体にわたって対応する要素を示す。図面中の要素は、必ずしも縮尺どおりに描かれていない。図面に示された構成は、単なる例証に過ぎず、どのようにしても本発明の範囲を限定するものではないと解釈されたい。
【０００９】
コーデックなどのオーディオ符号化及び／又は復号システムでは、各帯域に対して割り当てられたビット数を表すデータは、差分データとして符号化することができる。差分データは、各帯域に対して割り当て可能な推定ビット数との差分を表すことができ、ここで、この推定数は、ビットストリームに既に存在するデータ（例えば、符号化されたデジタルオーディオ信号）から計算することができる。差分データは、ビットストリームに存在するデータから計算された推定データと組み合わされて、各帯域に関する割り当てられた数のビットを生成することができる。差分データは、完全なビットデータ（例えば、各帯域に対して割り当てられたビット数の値を明示的に符号化する）よりも小さいサイズに圧縮することができ、これによって、ビットストリームに必要なスペースを小さくすることができる。
【００１０】
図１は、幾つかの実施形態による符号化システム１００の１つの実施例のブロック図を示している。図１の構成は、符号化システムの一例に過ぎず、他の好適な構成も使用できる。
【００１１】
符号化システム１００は、入力としてデジタルオーディオ信号１０２を受け取り、ビットストリーム１０４を出力することができる。入力信号１０２及び出力信号１０４は、各々、ローカルに又はアクセス可能なサーバ上に保存された１又は２以上の個別ファイル及び／又はローカルで又はアクセス可能なサーバ上で生成された１又は２以上のオーディオストリームを含むことができる。
【００１２】
符号化システム１００は、プロセッサ１０６を含むことができる。符号化システム１００は更に、プロセッサ１０６により実行可能な命令１１０を格納するメモリデバイス１０８を含むことができる。プロセッサ１０６が、オーディオ信号を符号化するための方法を実行するように命令１１０を実行することができる。オーディオ信号を符号化するためのこのような方法の例は、以下で詳細に説明される。
【００１３】
図１の構成では、符号化は、ソフトウェアで実行され、典型的には、コンピューティングデバイスにおいて追加のタスクも実行できるプロセッサによって実行される。別の方法として、符号化はまた、符号化を実行するようにハードウェアに組み込まれた専用チップ又は専用プロセッサなどによって、ハードウェアで実行することもできる。このようなハードウェアベースのエンコーダの例が図２に示されている。
【００１４】
図２は、幾つかの実施形態による符号化システム２００の別の実施例のブロック図を示している。図２の構成は、符号化システムのほんの一例であり、他の好適な構成が、同様に使用できる。
【００１５】
符号化システム２００は、入力としてデジタルオーディオ信号２０２を受け取り、ビットストリーム２０４を出力することができる。符号化システム２００は、専用符号化プロセッサ２０６を含むことができ、特定の符号化方法を実行するようにハードウェアに組み込まれたチップを含むことができる。オーディオ信号を符号化するためのこのような方法の例は、以下で詳細に説明される。
【００１６】
図１及び図２の例は、それぞれソフトウェア及びハードウェアで動作できる符号化システムを示している。幾つかの例において、符号化システムは、ソフトウェアとハードウェアとの組み合わせを使用することができる。以下の図３及び４は、それぞれソフトウェア及びハードウェアで動作できる同等の復号システムを示している。同様に、復号システムはまた、ソフトウェアとハードウェアとの組み合わせを使用することもできる。
【００１７】
図３は、幾つかの実施形態による復号システムの１つの実施例のブロック図を示している。図３の構成は、復号システムのほんの一例であり、他の好適な構成が、同様に使用できる。
【００１８】
復号システム３００は、入力としてビットストリーム３０２を受け取り、復号されたデジタルオーディオ信号３０４を出力することができる。入力信号３０２及び出力信号３０４は、各々、ローカルに又はアクセス可能なサーバ上に保存された１又は２以上の個別ファイル及び／又はローカルで又はアクセス可能なサーバ上で生成された１又は２以上のオーディオストリームを含むことができる。
【００１９】
復号システム３００は、プロセッサ３０６を含むことができる。復号システム３００は更に、プロセッサ３０６により実行可能な命令３１０を格納するメモリデバイス３０８を含むことができる。プロセッサ３０６が、オーディオ信号を復号するための方法を実行するように命令３１０を実行することができる。オーディオ信号を復号するためのこのような方法の例は、以下で詳細に説明される。
【００２０】
図３の構成では、復号は、ソフトウェアで実行され、典型的には、コンピューティングデバイスにおいて追加のタスクも実行できるプロセッサによって実行される。別の方法として、復号はまた、符号化を実行するようにハードウェアに組み込まれた専用チップ又は専用プロセッサなどによって、ハードウェアで実行することもできる。このようなハードウェアベースのデコーダの例が図４に示されている。
【００２１】
図４は、幾つかの実施形態による復号システム４００の別の実施例のブロック図を示している。図４の構成は、復号システムのほんの一例であり、他の好適な構成が、同様に使用できる。
【００２２】
復号システム４００は、入力としてビットストリーム４０２を受け取り、復号されたデジタルオーディオ信号４０４を出力することができる。復号システム４００は、専用復号プロセッサ４０６を含むことができ、特定の復号方法を実行するようにハードウェアに組み込まれたチップを含むことができる。オーディオ信号を復号するためのこのような方法の例は、以下で詳細に説明される。
【００２３】
図５は、幾つかの実施形態による、デジタルオーディオ信号の符号化と関連する量のうちのいくつかを示している。ビットストリームの復号は、一般に、ビットストリームの符号化と同じ量を伴うが、数学演算が逆に行われる量を伴う。図５に示されている量は、このような量のほんの一例であり、他の好適な量が、同様に使用できる。図５に示されている量の各々は、図１から４に示されているエンコーダ又はデコーダの何れかと共に使用できる。
【００２４】
エンコーダは、デジタルオーディオ信号５０２を受け取ることができる。デジタルオーディオ信号５０２は、時間領域にあり、時間と共に展開するオーディオ信号振幅を表す一連の整数又は浮動小数点数を含むことができる。デジタルオーディオ信号５０２は、スタジオからの生放送などのストリーム（例えば、指定された開始及び／又は終了のない）の形態とすることができる。代替的に、デジタルオーディオ信号５０２は、サーバ上のオーディオファイル、コンパクトディスクからリッピングされた非圧縮オーディオファイル、又は非圧縮形式の曲のミックスダウンファイルなどの個別ファイル（例えば、開始及び終了と、指定された継続時間とを有する）とすることができる。
【００２５】
エンコーダは、デジタルオーディオ信号５０２を構文解析して複数のフレーム５０４にすることができ、ここで、各フレーム５０４は、指定された数のオーディオサンプル５０６を含む。例えば、フレーム５０４は、１０２４個のサンプル５０６又は別の好適な値を含むことができる。一般に、デジタルオーディオ信号５０２をフレーム５０４にグループ化することにより、エンコーダは、明確に規定された数のサンプル５０６にエンコーダの処理を効率的に適用することができるようになる。幾つかの例において、このような処理は、各フレームが他のフレームと独立して処理されるように、フレームごとに異なるものとすることができる。他の例では、処理は、隣接するフレームからのサンプルデータを含むことができる。
【００２６】
エンコーダは、各フレーム５０４のオーディオサンプル５０６の変換５０８を実行することができる。幾つかの例において、この変換は、修正離散コサイン変換(modified discrete cosine transformation)とすることができる。離散短時間フーリエ変換などの他の好適な変換が使用できる。変換５０８は、フレーム５０４内のサンプル５０６などの時間領域量を、フレーム５０４に関する周波数領域係数５１０などの周波数領域量に変換する。変換５０８は、各フレーム５０４に関する複数の周波数領域係数５１０を生成することができる。周波数領域係数５１０は、特定の周波数の信号がフレーム内にどの程度存在するかを記述するものである。
【００２７】
幾つかの例において、変換５０８によって生成される周波数領域係数５１０の数は、１０２４などのフレーム内のサンプル５０６の数に等しいとすることができる。幾つかの例において、時間領域フレームにおける重複が存在することができる。例えば、修正離散コサイン変換を計算するために、時間領域フレームは、２０４８個のサンプルのうちの１０２４個のサンプルが隣接フレームからのものある状態で合計２０４８個のサンプルを使用することができる。この特定の例では、この変換は、隣接フレームからの１０２４個の別のサンプルを使用できるにもかかわらず、フレームサイズは、１０２４サンプルとみなすことができる。
【００２８】
エンコーダは、各フレーム５０４に関する複数の周波数領域係数５１０を各フレーム５０４に関する複数の帯域５１２に分割することができる。幾つかの例において、フレーム５０４あたり２２個の帯域５１２が存在することができるが、別の値が、同様に使用できる。各帯域５１２は、フレーム５０４内の周波数５１０の範囲を表して、全ての周波数範囲を連結したものが、フレーム５０４内で表される全ての周波数を含むことができるようになる。
【００２９】
コーデックの一般的な目標は、データサイズが制限されている場合に、元の信号を最適に表することである。データサイズは、符号化されたファイルの特定のデータ転送速度又はビットレートとして表すことができる。例えば、データ転送速度は、１４１１ｋｂｐｓ（キロビット毎秒）、３２０ｋｂｐｓ、２５６ｋｂｐｓ、１９２ｋｂｐｓ、１６０ｋｂｐｓ、１２８ｋｂｐｓ、又は別の値を含むことができる。一般に、データ転送速度が高いほど、フレームの表現は、より正確になる。
【００３０】
エンコーダは、各フレーム内の各帯域に対して指定された数のビット５１４を割り当てることができる。幾つかの例において、エンコーダは、比較的大量の周波数成分が存在する帯域に対して、これらの周波数成分を表すのに比較的多くの数のビットを割り当てることができる。比較的少ない周波数成分が存在する帯域の場合には、エンコーダは、これらの周波数成分を表すのに比較的少数のビットを割り当てることができる。一般に、特定の帯域に割り当てられるビット数が多いほど、この特定の帯域における周波数の表現はより正確になる。エンコーダは、ビット割当量を増加させる精度と、フレームごとに割り当てられるビット数に上限を与えることができるデータ転送速度との間のバランスをとることができる。
【００３１】
特定のフレーム内の各帯域に対して割り当てられるビット数５１４は、ビット割り当て曲線と呼ばれることがある整数のベクトルとして表すことができる。フレーム５０４あたり２２個の帯域５１２が存在する幾つかの例において、各フレーム５０４に関するビット割り当て曲線は、２２値ベクトルとすることができる。
【００３２】
デコーダがビットストリームを適切に復号するために、デコーダは、ビットストリームから各フレームに関するビット割り当て曲線を抽出する必要がある。従って、エンコーダは、ビット割り当て曲線における情報がビットストリームに含まれていることを保証する必要がある。
【００３３】
１つの可能性は、エンコーダが、各フレームを有するオーディオ情報と共に各フレームに関するビット割り当て曲線を符号化することである。具体的には、エンコーダは、各フレーム内の各帯域に対して割り当てられたビット数を直接表すデータを含むようにビットストリームを符号化することができる。フレームあたり２２個の帯域が存在する例では、エンコーダは、特定のフレームに関するオーディオデータ内で、それに隣接して、又はその近くで、この特定のフレームに関する完全な２２個の整数値ベクトルを符号化することができる。
【００３４】
ビット割り当て曲線を直接符号化することの欠点は、これを行うことにより、比較的大量のスペースがビットストリーム内で占有される場合があることである。フレームあたり２２個の帯域が存在する例に関して、フレームごとの２２個の整数が、ビットストリーム内のスペースを占有する場合があり、それ以外の場合には、このスペースは、オーディオ信号を符号化するのに使用することができる。このような符号化及び復号システムの例が、図６に示されている。
【００３５】
ビット割り当て曲線を直接符号化することに対する改良策は、ビット割り当て曲線の完全なビットデータを直接符号化することなく、代わりに、差分データをビットストリームに符号化することである。この差分データは、ビットストリームに既に存在するデータから計算された推定データと組み合わされた場合に、完全なビットデータをもたらすことができる。差分データは、完全なビットデータよりも小さいサイズに圧縮でき、これによって、ビットストリームに必要なスペースが削減できる。幾つかの例において、差分データは、幾つかのゼロ値を含むベクトルを表すことができ、効率的に圧縮できる。これらの改良された符号化及び復号システムの例が、図７から１０に示されている。
【００３６】
推定データは、ビットストリームに既に存在するデータから形成することができる。幾つかの例において、推定データは、各フレームの各帯域の計算され量子化されたノルムから得ることができる。量子化されたノルムは、ビットストリーム内に直接符号化でき、各フレーム内の各帯域に対して割り当て可能なビット数のおおよその推定値を計算するのに使用することができる。以下に詳述するように、各量子化ノルムは、帯域における周波数領域係数から導出され複数の指定値のうちの１つに等しくなるように量子化された値を有することができる。
【００３７】
幾つかの例において、推定データは更に、ビットストリームに符号化できる１又は２以上のパラメータを含むことができる。
【００３８】
幾つかの例において、これらのパラメータは、ビット割り当て曲線の多値ベクトルと異なる構造のものとすることができる。例えば、勾配(slope)は、単一のスカラー値とすることができる。好適なパラメータの一例は、特定のフレーム内の帯域にわたる勾配（ビット単位）対周波数を含むことができる。
【００３９】
幾つかの例において、パラメータのうちの１つは、ビットストリームに直接符号化され複数のフレームに関する推定値として作用することができる基準ビット割り当て曲線( reference bit-allocation curve)を含むことができる。これらの例に関して、単一の基準ビット割り当て曲線が、一度に１つずつ複数の差分値と組み合わされて、デジタルオーディオ信号内の複数のフレームに適用される複数のビット割り当て曲線を生成することができる。１つのビット割り当て曲線（又はデジタルオーディオ信号内の所与の期間の１つのビット割り当て曲線）の符号化は、フレームごとのビット割り当て曲線の符号化よりも小さいスペースを使用することができる。
【００４０】
以下の段落は、図５に示されている様々な量をどのようにして計算するかについての詳細な例を提示する。この計算は、図１から４に示されているプロセッサの何れかによって、又は別の好適なプロセッサによって実行することができる。この計算は、ほんの一例であり、他の好適な計算が同様に実行できる。
【００４１】
エンコーダは、以下のようにビットストリーム（例えば、デジタルオーディオ信号）を符号化することができる。
【００４２】
入力信号は、各フレームが固定数のオーディオサンプルを含むフレームに分割される。幾つかの例において、オーディオサンプルは連続している。幾つかの例において、或るフレームに対する下流処理は、任意選択で、隣接フレームからのサンプルを使用することができる。
【００４３】
ビット割当量Ｃが、各フレームに割り当られ、このビット割当量は、フレームを記述するのに使用できるビット数である。このビット割当量は、フレームの相対的な重要性についてのインジケータなどの追加の考慮事項を任意選択で用いて、全体的に規定されたビットレートから少なくとも部分的に導出することができる。
【００４４】
フレームごとに、変換が適用されて、オーディオサンプルが周波数領域に変換される。好適な変換は、修正離散コサイン変換を含むことができるが、他の変換が、同様に使用できる。この変換から、以下に従って係数ｘiからなるベクトルＸが形成される。
2020518030.tif 000003
ここで、各係数ｘiは、特定の周波数でのデジタルオーディオ信号の強度を表す。
フレームごとに、ベクトルＸが、以下に従ってＭ個の帯域Ｂiに分割される。
2020518030.tif 000004
【００４５】
各帯域Ｂiは、以下のような、ＸからのＮi個の係数のサブシーケンスを含む。
2020518030.tif 000005
ここで、ｋiは、Ｎiの長さを有する帯域Ｂiの開始座標である。
【００４６】
各帯域Ｂiのユークリッド（又はＬ2）ノルムｗiが、以下に従って計算される。
2020518030.tif 000006
ノルムｗiからなるベクトルｗが、以下に従って形成される。
2020518030.tif 000007
【００４７】
各ノルムｗiが、近似値
2020518030.tif 000008
2020518030.tif 000009
【００４８】
以下に従って、残りのビット割当量Ｃ’が、この帯域にわたって分配され、ｃiビットが、帯域Ｂiに割り当てられ、ここで、ｉ＝０、１、．．．、Ｍ−１である。
2020518030.tif 000010
ビット割り当てベクトルｃが、以下に従って形成される。
2020518030.tif 000011
【００４９】
上述のように、比較的大量のスペースが、ビット割り当てベクトルｃをビットストリームに直接書き込むのに必要となる。ビット割り当てベクトルｃをビットストリームに直接書き込むことに対する改良策として、代わりに、差分ベクトルΔｃを表すデータが書き込まれる。このことは、デコーダの方法論の概要に従って、以下で詳細に説明される。
【００５０】
2020518030.tif 000012
2020518030.tif 000013
【００５１】
2020518030.tif 000014
2020518030.tif 000015
【００５２】
2020518030.tif 000016
を記述するのに最大でｃiビットを使用して、ビットストリームに符号化される。
【００５３】
デコーダは、エンコーダの順序を逆にした同様の順序でデジタルオーディオ信号を復号することができる。
2020518030.tif 000017
【００５４】
上述のように、ビット割り当てベクトル
2020518030.tif 000018
は、ビットストリームに直接書き込むことができないため、デコーダは、ビット割り当てベクトルｃをビットストリームから直接読み取ることができない。代わりに、デコーダは、デコーダの概要の完了後、以下で説明するように、ビットストリームから差分ベクトルΔｃを読み取って、この差分ベクトルΔｃからビット割り当てベクトルｃを計算することができる。
【００５５】
2020518030.tif 000019
2020518030.tif 000020
2020518030.tif 000021
【００５６】
2020518030.tif 000022
2020518030.tif 000023
【００５７】
逆変換が、周波数領域表現Ｘ’に適用されて、フレームに対して復元されたオーディオサンプルが得られる。
【００５８】
上述したように、エンコーダは、知覚的に重要なオーディオ信号部分がより多くのビットを割り当てられるように、フレーム内のビットを割り当てるが、知覚し難い部分（例えば、マスキング現象に起因）は、より少ないビットを使用して符号化することができる。ビット割り当て（ビット割り当て曲線と呼ばれる）を決定するために、エンコーダは、量子化されていないスペクトル表現Ｘ、量子化されていない帯域ノルムｗi、各帯域の内部構成に関する詳細などの、全ての利用可能な情報を使用することができる。これらの情報
2020518030.tif 000024
復号してそれを復元する前に、いくつのビットが各帯域に割り当てられているかを認識する必要がある。その結果、ビット割り当てベクトルｃは、ビットストリームに直接書き込まれないことがあるので、デコーダは、ビット割り当てベクトルｃを正確に復元するための方法を必要とする。
【００５９】
ビット割り当て曲線の符号化された記述又は表現は、圧縮されたビットストリームの一部であるため、この記述又は表現は、正規化された帯域を記述するのに利用可能なビット割当量を使い込む場合がある。エンコーダは、値ｃi自体を決定するときに、ビット割り当てベクトルｃを記述するコストを考慮することができる。従って、ビット割り当てベクトルｃの記述は、復元されたオーディオの品質に影響を与える場合がある。この記述が可能な限り効率的であり、この記述が可能な限り少ないビット数を占めることが望ましい。
【００６０】
ビット割り当てベクトルｃを直接ビットストリームに符号化することは、必要以上のビットを占める場合があるため、本明細書で説明する技法は、既にビットストリームに符号
2020518030.tif 000025
ビット割り当ての記述とは無関係にビットストリームに符号化されるため、
2020518030.tif 000026
2020518030.tif 000027
2020518030.tif 000028
自由である。
【００６１】
2020518030.tif 000029
使用して、エンコーダによるビット割り当ての計算を模擬することを試みることができる。デコーダは、エンコーダが利用できる他の情報の影響を無視することができる。このことは、真のビット割り当てｃのおおよその近似値として作用できる推定ビット割り当て
2020518030.tif 000030
をもたらすことができる。
【００６２】
デコーダが利用できる全ての情報は、エンコーダにも利用可能であるので、エンコーダは、推定ビット割り当てｃ’を生成することができる。エンコーダは、以下に従って差分ベクトルΔｃを形成することにより、真のビット割り当てｃを記述することができる。
2020518030.tif 000031
【００６３】
要約すると、エンコーダは、実際の帯域ノルムベクトルｗ及びその他の情報を使用して
2020518030.tif 000032
使用して推定ビット割り当てベクトルｃ’を計算でき、差分ベクトルΔｃ＝ｃ−ｃ’を計算してそれを符号化してそれをビットストリームに書き込むことができる。同様に、
2020518030.tif 000033
ベクトルｃ’を計算でき、ビットストリームから差分ベクトルΔｃ＝ｃ−ｃ’を読み取ってそれを復号でき、推定ビット割り当てベクトルｃ’と差分ベクトルΔｃとの和からビット割り当てベクトルｃを計算することができる。
【００６４】
推定ビット割り当てベクトルｃ’が、実際のビット割り当てベクトルｃに類似している場合には、差分ベクトルΔｃの符号化は、ビット割り当てベクトルｃの符号化よりも非常に少ないビットを利用することができる。このビットの節約は、差分ベクトルΔｃの多くのエントリがゼロ又は他の比較的小さな整数であり得るということから生じる。エンコーダ及びデコーダは、小さな大きさの整数に、より短い符号語を使用し、より大きい大きさの整数にはより長い符号語を使用することができ、これによって、差分ベクトルΔｃに対する有意の圧縮が達成できる。
【００６５】
このような符号の例は、Ｇｏｌｏｍｂ符号である。Ｇｏｌｏｍｂ符号は、整数をゼロ及び１からなるストリングとして符号化することができる。例えば、Ｇｏｌｏｍｂ符号は、値０をストリング０１として符号化し、値−１をストリング１１として符号化し、値＋１をストリング０１として符号化し、値−２をストリング１０１として符号化し、値＋２をストリング０００１として符号化し、値−３をストリング１００１として符号化し、値＋３をストリング００００１として符号化することなどが可能である。また、他の好適な符号が同様に使用できる。
【００６６】
要約すると、エンコーダは、実際の帯域ノルムベクトルｗ及びその他の情報を使用してビット割り当てベクトルｃを計算でき、量子化された帯域ノルムベクトルのみを使用して推定ビット割り当てベクトルｃ’を計算することができる。次に、エンコーダは、差分ベクトルΔｃ＝ｃ−ｃ’を計算してそれを符号化してそれをビットストリームに書き込む
2020518030.tif 000034
使用して推定ビット割り当てベクトルｃ’を計算でき、ビットストリームから差分ベクトルΔｃ＝ｃ−ｃ’を読み取ってそれを復号することができる。次に、デコーダは、推定ビット割り当てベクトルｃ’と差分ベクトルΔｃとの和からビット割り当てベクトルｃを計算することができる。幾つかの例において、エンコーダは、差分ベクトルΔｃのエントリが小さい整数である場合に、より短い符号化を使用し、これらのエントリがより大きい整数である場合に、より長い符号化を使用することができる。幾つかの例において、全てゼロのエントリを有する差分ベクトルΔｃは、１ビットのみを使用して符号化することができる。
【００６７】
任意選択の代替策として、エンコーダ及びデコーダは、ビット割り当てベクトルｃのパラメータ化された記述を使用することができる。例えば、ビット割り当てベクトルｃを明示的に符号化する代わりに、エンコーダは、パラメータ
2020518030.tif 000035
のベクトルを導出してそれを記述することができる。エンコーダ及びデコーダは、決定論的計算により、パラメータｐからビット割り当てベクトルｃを導出することができる。
2020518030.tif 000036
使用し、エンコーダのみが利用できデコーダが利用できない他の情報を無視して、推定パラメータベクトル
2020518030.tif 000037
を計算することができる。次に、エンコーダは、差分ベクトルをΔｐ＝ｐ−ｐ’として形成することができる。エンコーダは、差分ベクトルΔｐを符号化してそれをビットストリームに書き込むことができる。デコーダは、このビットストリームから差分ベクトルΔｐを復号することができる。デコーダは、推定パラメータベクトルｐ’と差分ベクトルΔｐとの和からパラメータｐを計算することができる。
【００６８】
図６は、幾つかの実施形態による符号化／復号システム６００の１つの実施例のブロック図を示している。後述するように、図６の符号化／復号システムは、領域６１６における非効率性を含む場合がある。この非効率性は、後述し図７から１０に示されている構成で改善される。
【００６９】
システム６００は、ビットストリーム６０２を中心に展開される。エンコーダ６０４は、何らかの利用可能な情報源からの、エンコーダが有する何らかの情報を使用して、デジタルオーディオ信号を符号化してビットストリーム６０２にすることができる。デコーダ６０６は、典型的に、エンコーダ６０４から切り離されており、ビットストリーム６０２に格納された情報のみを使用して、デジタルオーディオ信号を復号することができる。結果的に、エンコーダ６０４は、デコーダ６０６がデジタルオーディオ信号を適切に復号するのに必要な全ての情報をビットストリーム６０２が有することを保証する必要がある。
【００７０】
エンコーダ６０４は、帯域ノルム６０８を生成することができる。各帯域ノルム６０８は、この帯域における周波数領域係数から導出された値を有することができる。エンコーダ６０４は、帯域ノルム６０８を量子化して、量子化された帯域ノルム６１０を生成することができる。各帯域ノルムは、複数の指定値のうちの１つに等しくなるように量子化することができる。エンコーダ６０４は、量子化された帯域ノルム６１０を表すデータをビットストリーム６０２に書き込むことができる。デコーダ６０６は、量子化された帯域ノルムをビットストリーム６０２から抽出することができる。
【００７１】
エンコーダ６０４は、フレームごとに各帯域にビットを割り当てることができる。割り当てを行う際に、エンコーダは、任意選択で帯域ノルム６０８を含み、任意選択でデジタルオーディオ信号の一部分を表す周波数信号６１２を含む、何らかの利用可能な情報源からの情報を使用することができる。エンコーダは、特定のフレームに対してビット割り当て曲線６１４を形成することができ、このビット割り当て曲線は、いくつのビットが特定のフレーム内の各帯域に対して割り当てられるかを表す。
【００７２】
図６の構成では、エンコーダ６０４は、ビット割り当て曲線６１４を直接表すデータをビットストリーム６０２に書き込むことができ、デコーダ６０６は、ビット割り当て曲線６１４をビットストリーム６０２から直接抽出することができる。上述したように、ビット割り当て曲線６１４をビットストリーム６０２に直接格納することは、非効率的である場合がある。この非効率性は、図６における領域６１６として示されている。図７から１０に示されているシステム構成は、この非効率性を改善することができる。
【００７３】
エンコーダ６０４は、周波数信号６１２を正規化して量子化して、周波数信号６１２を表すデータをビットストリーム６０２に書き込むことができる。デコーダ６０６は、正規化されて量子化された周波数データをビットストリーム６０２から読み取ることができる。デコーダ６０６は、次に、周波数データを逆量子化して逆正規化し、次に、逆変換を実行して周波数データを時間領域オーディオデータに変換することができる。
【００７４】
図７は、幾つかの実施形態によるエンコーダ７００の１つの実施例のブロック図を示している。このエンコーダ７００及びその対応するデコーダ（図８）は、図６のシステムの非効率性を改善することができる。
【００７５】
エンコーダ７００は、上述したように、量子化された帯域ノルム７０４を形成することができ、やはり上述したように、この量子化された帯域ノルム７０４を表すデータをビットストリーム７０２に書き込むことができる。更に、エンコーダ７００は、ビット割り当て推定器７０６を適用して、推定ビット割り当て曲線７０８を形成することができる。デコーダ（図８）は、同じビット割り当て推定器を量子化された帯域ノルムに適用でき、従って、ビットストリーム７０２の読み取りのみから推定ビット割り当て曲線７０８を正確に再現できることに留意されたい。
【００７６】
エンコーダ７００は、心理音響モデルなどを含む何らかの利用可能な情報源７１０からのデータを使用して、ビット割り当て７１２を実行してビット割り当て曲線７１４を生成することができる。図７では、ビット割り当て曲線７１４は、エンコーダが実際にフレーム内の帯域に適用する曲線であるということから、この曲線は、「実際の」ビット割り当て曲線と呼ばれる。
【００７７】
エンコーダは、実際のビット割り当て曲線７１４と推定ビット割り当て曲線７０８との間の差分７１６を計算して、差分曲線７１８を形成することができる。上述したように、差分曲線７１８は、実際のビット割り当て曲線７１４の直接表現よりも効率的に符号化できる（例えば、ビットストリーム内のより小さいスペースを占有する）多くのゼロ又は比較的小さい整数を含むことができる。
【００７８】
図８は、幾つかの実施形態によるデコーダ８００の別の実施例のブロック図を示している。このデコーダ８００及びその対応するエンコーダ（図７）は、図６のシステムの非効率性を改善することができる。
【００７９】
デコーダ８００は、ビットストリーム８０２から、量子化された帯域ノルム８０４を抽出することができ、エンコーダで使用されるもの（図７における要素７０６）と同じビット割り当て推定器８０６を使用することができ、従って、エンコーダで使用されるもの（図７における要素７０８）と同じ推定ビット割り当て曲線８０８を正確に再現することができる。
【００８０】
デコーダ８００は、ビットストリーム８０２から差分曲線８１０を抽出することができる。デコーダ８００は、次に、推定ビット割り当て曲線８０８と差分曲線８１０とを加算８１２して、復元されたビット割り当て曲線８１４を形成でき、このビット割り当て曲線は、エンコーダ７００（図７）によって使用される実際のビット割り当て曲線７１４に正確にマッチするものである。
【００８１】
差分曲線（図７における７１８、及び図８における８１０）は、ビット割り当て曲線に対する数値の補正に対応することができる。例えば、ビット割り当て曲線が、２２個の整数からなるベクトルである場合に、差分曲線（圧縮前）は、同様に２２個の整数からなるベクトルとすることができる。
【００８２】
図７及び図８の差分曲線の代わりに又はそれに加えて使用できる代替策として、エンコーダ及びデコーダは、推定調整値を使用することができ、この推定調整値は、各々がフレーム内の複数の帯域に影響を与えることができる１又は２以上のパラメータを含むことができる。パラメータの例は、周波数単位ごとのビット単位での勾配とすることができる。このような勾配は、或る帯域に特定の数のビットを与えることができ、このビット数は、周波数の関数として帯域ごとに異なるものとすることができる。他の好適なパラメータが、同様に使用できる。
【００８３】
図９は、幾つかの実施形態によるエンコーダ９００の別の実施例のブロック図を示している。このエンコーダ９００及びその対応するデコーダ（図１０）は、図６のシステムの非効率性を改善することができる。
【００８４】
エンコーダ９００は、上述したように、量子化された帯域ノルム９０４を形成することができ、やはり上述したように、この量子化された帯域ノルム９０４を表すデータをビットストリーム９０２に書き込むことができる。更に、エンコーダ９００は、調整値推定器９０６を適用して、推定調整値９０８を形成することができる。デコーダ（図１０）は、同じ調整値推定器を量子化された帯域ノルムに適用でき、従って、ビットストリーム９０２の読み取りのみから推定調整値９０８を正確に再現できることに留意されたい。
【００８５】
エンコーダ９００は、上述したように、ビット割り当て９１０を実行して、「実際の」ビット割り当て曲線９１２を生成することができる。追加的に、エンコーダ９００は、実際のビット割り当て曲線９１２をパラメータ化して、目標（例えば、所望の）調整値９１４及び／又は勾配９１６を形成することができる。エンコーダ９００は、勾配９１６及び／又は目標調整値を表すデータをビットストリームに書き込むことができる。エンコーダ９００は、目標調整値９１４と推定調整値９０８との間の差分９１８を利用して、差分曲線９２０を形成することができる。エンコーダ９００は、この差分曲線９２０を表すデータをビットストリームに書き込むことができる。
【００８６】
図１０は、幾つかの実施形態によるデコーダ１０００の別の実施例のブロック図を示している。このデコーダ１０００及びその対応するエンコーダ（図９）は、図６のシステムの非効率性を改善することができる。
【００８７】
デコーダ１０００は、ビットストリーム１００２から、量子化された帯域ノルム１００４を抽出することができ、エンコーダで使用されるもの（図９における要素９０６）と同じ調整値推定器１００６を使用することができ、従って、エンコーダで使用されるもの（図９における要素９０８）と同じ推定調整値１００８を正確に再現することができる。
【００８８】
デコーダ１０００は、ビットストリーム１００２から差分曲線１０１０を抽出することができる。次に、デコーダ１０００は、推定調整値１００８と差分曲線１０１０とを加算１０１２して目標調整値１０１４を形成することができる。デコーダ１０００は、ビットストリーム１００２から勾配１０１６を抽出して、この勾配１０１６を目標調整値１０１４と結合１０１８して、復元されたビット割り当て曲線１０２０を形成でき、このビット割り当て曲線は、エンコーダ９００（図９）によって使用される実際のビット割り当て曲線９１２に正確にマッチするものである。
【００８９】
図１１は、幾つかの実施形態による、ビットストリーム（例えば、オーディオ信号）を符号化するための方法１１００の例のフローチャートを示している。方法１１００は、図１又は図２の符号化システム１００又は２００によって、或いは任意の他の好適な符号化システムによって実行することができる。方法１１００は、オーディオ信号を符号化するための方法のほんの一例であり、他の好適な符号化方法が、同様に使用できる。
【００９０】
動作１１０２において、符号化システムは、デジタルオーディオ信号を受け取ることができる。
【００９１】
動作１１０４において、符号化システムは、デジタルオーディオ信号を構文解析して複数のフレームにすることができ、各フレームは、指定された数のオーディオサンプルを含む。
【００９２】
動作１１０６において、符号化システムは、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成することができる。
【００９３】
動作１１０８において、符号化システムは、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割することができる。
【００９４】
動作１１１０において、符号化システムは、各フレーム内の各帯域に対して指定された数のビットを割り当てることができる。
【００９５】
動作１１１２において、符号化システムは、各フレーム内の各帯域に関する差分値を計算することができ、この差分値は、各フレーム内の各帯域に対して割り当てられたビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す。
【００９６】
動作１１１４において、符号化システムは、デジタルオーディオ信号を表すデータと差分値を表すデータとを含むが、各フレーム内の各帯域に対して割り当てられたビット数を直接表すデータを含まないように、ビットストリームを符号化することができる。
【００９７】
動作１１１６において、符号化システムは、ビットストリームを出力することができる。
【００９８】
幾つかの例において、方法１１００は更に、任意選択で、各ノルムが、帯域における周波数領域係数から導出され複数の指定された値のうちの１つに等しくなるように量子化された値を有する、各フレームの各帯域の量子化されたノルムを計算するステップと、この量子化されたノルムに基づいて、各フレーム内の各帯域に対して割り当て可能な推定ビット数を決定するステップと、量子化されたノルムを表すデータをビットストリームに符号化するステップとを含むことができる。
【００９９】
幾つかの例において、各フレーム内の各帯域に対して割り当てられる推定ビット数は、量子化されたノルムのみに基づいて決定することができる。
【０１００】
幾つかの例において、特定のフレーム内の各帯域に対して割り当てられる推定ビット数は、この特定のフレームに関する量子化されたノルムのみに基づいて決定することができる。
【０１０１】
幾つかの例において、特定のフレーム内の各帯域に対して割り当てられる推定ビット数は、デジタルオーディオ信号内の少なくとも１つの他のフレームに関する量子化されたノルムに少なくとも部分的に基づいて決定することができる。
【０１０２】
幾つかの例において、方法１１００は更に、任意選択で、少なくとも１つの目標パラメータを決定するステップと、少なくとも部分的にこの少なくとも１つの目標パラメータから、各フレーム内の各帯域に対して割り当て可能な推定ビット数を決定するステップと、少なくとも１つの目標パラメータを表すデータをビットストリームに符号化するステップと、を含むことができる。
【０１０３】
幾つかの例において、少なくとも１つの目標パラメータは、各帯域に対して割り当て可能な基準ビット数(reference number of bits)を含むことができる。幾つかの例において、方法１１００は更に、任意選択で、デジタルオーディオ信号内の複数フレームに対して、各帯域に対して割り当て可能な基準ビット数に等しくなるように、各帯域に対して割り当て可能な推定ビット数を設定するステップと、各帯域に対して割り当て可能な基準ビット数を表すデータをビットストリームに符号化するステップとを含むことができる。
【０１０４】
幾つかの例において、少なくとも１つの目標パラメータは、勾配を含む。
【０１０５】
幾つかの例において、変換は、修正離散コサイン変換である。
【０１０６】
幾つかの例において、各フレームは、正確に１０２４個のサンプルを含む。
【０１０７】
幾つかの例において、それぞれの複数の周波数領域係数における周波数領域係数の数は、各フレーム内のオーディオサンプルの指定された数に等しい。
【０１０８】
幾つかの例において、各フレームに関する複数の周波数領域係数は、正確に１０２４個の周波数領域係数を含む。
【０１０９】
幾つかの例において、各フレームに関する複数の帯域は、正確に２２個の帯域を含む。
【０１１０】
幾つかの例において、符号化システムは、コーデックに含まれる。
【０１１１】
上記の例の各々は、任意選択で、任意の組み合わせで、他の例のうちの１つ又は幾つかの他の例と組み合わせることができる。
【０１１２】
図１２は、幾つかの実施形態による、ビットストリーム（例えば、符号化されたオーディオ信号）を復号するための方法１２００の例のフローチャートを示している。方法１２００は、図３又は図４の復号システム３００又は４００によって、或いは任意の他の好適な復号システムによって実行することができる。方法１２００は、ビットストリーム（例えば、符号化されたオーディオ信号）のためのほんの一方法であり、他の好適な復号方法が、同様に使用できる。
【０１１３】
動作１２０２において、復号システムは、複数の帯域に各々が分割された複数のフレームを含むビットストリームを受け取ることができる。
【０１１４】
動作１２０４において、復号システムは、このビットストリームから、各フレーム内の各帯域の量子化されたノルムを抽出することができる。
【０１１５】
動作１２０６において、復号システムは、この抽出された量子化ノルムに基づいて、各フレーム内の各帯域に対して割り当て可能な推定ビット数を決定することができる。
【０１１６】
動作１２０８において、復号システムは、各フレームの各帯域に対して、ビットストリームから差分値を抽出することができ、この差分値は、各フレーム内の各帯域に対して割り当てられるビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す。
【０１１７】
動作１２１０において、復号システムは、差分値を、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数と組み合わせて、各フレーム内の各帯域に対して割り当てられるビット数を決定することができる。
【０１１８】
動作１２１２において、復号システムは、各フレーム内の各帯域に決定された数のビットを割り当てることができる。
【０１１９】
動作１２１４において、復号システムは、各フレーム内の各帯域に関する決定された数のビットを使用してビットストリームを復号して、周波数領域で復号されたデジタルオーディオ信号を生成することができる。復号システムは更に、任意選択で、周波数領域での復号されたデジタルオーディオ信号に逆変換を適用して、時間領域での復号されたデジタルオーディオ信号を得ることができる。
【０１２０】
幾つかの例において、各フレーム内の各帯域に対して割り当てられる推定ビット数は、量子化されたノルムのみに基づいて決定することができる。
【０１２１】
幾つかの例において、特定のフレーム内の各帯域に対して割り当てられる推定ビット数は、特定のフレームに関する量子化されたノルムのみに基づいて決定することができる。
【０１２２】
幾つかの例において、特定のフレーム内の各帯域に対して割り当てられる推定ビット数は、デジタルオーディオ信号内の少なくとも１つの他のフレームに関する量子化されたノルムに少なくとも部分的に基づいて決定される。
【０１２３】
図１３は、幾つかの実施形態による符号化システム１３００の１つの実施例のブロック図を示している。
【０１２４】
受信器回路１３０２は、デジタルオーディオ信号を受け取ることができる。
【０１２５】
フレーマ回路(framer circuit)１３０４は、デジタルオーディオ信号を構文解析して複数のフレームにすることができ、各フレームは、指定された数のオーディオサンプルを含む。
【０１２６】
変換器回路１３０６は、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成することができる。
【０１２７】
周波数帯域分割器回路(frequency band partitioner circuit)１３０８は、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割することができる。
【０１２８】
フレームビット割り当て回路１３１０は、各フレーム内の各帯域に対して指定された数のビットを割り当てることができる。
【０１２９】
差分計算回路１３１２は、各フレーム内の各帯域に関する差分値を計算することができ、この差分値は、各フレーム内の各帯域に対して割り当てられたビット数と、各フレーム内の各帯域に対して割り当て可能な対応する推定ビット数との間の差分を表す。
【０１３０】
エンコーダ回路(encoder circuit)１３１４は、デジタルオーディオ信号を表すデータと差分値を表すデータとを含むが、各フレーム内の各帯域に対して割り当てられたビット数を直接表すデータを含まないように、ビットストリームを符号化することができる。
【０１３１】
出力回路１３１６は、ビットストリームを出力することができる。
【０１３２】
本明細書で説明するもの以外の多くの他の変形形態は、本明細書から明らかであろう。例えば、実施形態によっては、本明細書で説明した何らかの方法及びアルゴリズムの特定の動作、事象、又は機能は、異なる順序で実行することができ、追加、統合、又は完全に省略することができる（従って、ここで説明する全ての動作又は事象が、本方法及びアルゴリズムの実施に必要であるとは限らない）。更に、特定の実施形態において、動作又は事象は、連続的にではなく同時に、例えば、マルチスレッド処理、割り込み処理、又はマルチプロセッサ若しくはプロセッサコアによって、或いは他の並列アーキテクチャ上で実行することができる。加えて、様々なタスク又は処理は、一緒に機能することができる異なるマシン及びコンピューティングシステムによって実行することができる。
【０１３３】
本明細書に開示する実施形態に関連して説明した様々な例示的論理ブロック、モジュール、方法、及びアルゴリズムの処理及び順序は、電子ハードウェア、コンピュータソフトウェア、又はそれら両方の組み合わせとして実装することができる。ハードウェアとソフトウェアとのこの互換性を明確に説明するために、様々な例示的コンポーネント、ブロック、モジュール、及び処理の動作は、上記では一般的にそれらの機能性に関して説明されている。このような機能性がハードウェアとして実装されるか又はソフトウェアとして実装されるかは、特定の用途、及びシステム全体に課された設計上の制約条件に依存する。説明した機能性は、特定の用途の各々に関して異なる方法で実施できるが、このような実施の決定が、本明細書の範囲からの逸脱を生じさせると解釈すべきでない。
【０１３４】
本明細書に開示する実施形態に関連して説明する様々な例示的論理ブロック及びモジュールは、汎用プロセッサ、処理デバイス、１又は２以上の処理デバイスを有するコンピューティングデバイス、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は他のプログラム可能な論理デバイス、離散ゲート若しくはトランジスタ論理回路、離散ハードウェアコンポーネント、又は本明細書に記載の機能を実行するように設計されたそれらの任意の組み合わせなどのマシンによって実装又は実行することができる。汎用プロセッサ及び処理デバイスは、マイクロプロセッサとすることができるが、代替形態では、プロセッサは、コントローラ、マイクロコントローラ、ステートマシン、これらの組み合わせ、又は同様のものとすることができる。プロセッサは、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連動する１又は２以上のマイクロプロセッサ、又は他の任意のこのような構成などの、コンピューティングデバイスの組み合わせとして実装することもできる。
【０１３５】
本明細書に記載のシステム及び方法の実施形態は、多くのタイプの汎用又は専用コンピューティングシステム環境又は構成内で動作可能である。一般に、コンピューティング環境は、幾つかの例を挙げると、限定されるものではないが、１又は２以上のマイクロプロセッサ、メインフレームコンピュータ、デジタル信号プロセッサ、携帯用コンピューティングデバイス、パーソナルオーガナイザ、デバイスコントローラ、電気製品内部の計算エンジン、携帯電話、デスクトップコンピュータ、モバイルコンピュータ、タブレットコンピュータ、スマートフォン、及び組込型コンピュータを備えた電気製品に基づくコンピュータシステムを含む任意のタイプのコンピュータシステムを含むことができる。
【０１３６】
このようなコンピューティングデバイスは、通常、限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドコンピューティングデバイス、ラップトップ又はモバイルコンピュータ、携帯電話及びＰＤＡなどの通信デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、オーディオ又はビデオメディアプレーヤなどを含む、少なくとも何らかの最低限の計算能力を有するデバイスに見つけることができる。幾つかの実施形態において、コンピューティングデバイスは、１又は２以上のプロセッサを含むことになる。各プロセッサは、デジタル信号プロセッサ（ＤＳＰ）、超長命令語（ＶＬＩＷ）、又は他のマイクロコントローラなどの特殊なマイクロプロセッサとすること、或いは、マルチコアＣＰＵ内の特殊なグラフィックス処理ユニット（ＧＰＵ）ベースのコアを含む、１又は２以上の処理コアを有する従来型中央処理ユニット（ＣＰＵ）とすることができる。
【０１３７】
本明細書に開示する実施形態に関連して説明した方法、処理、又はアルゴリズムの処理動作は、ハードウェアで直接、プロセッサによって実行されるソフトウェアモジュールで、又はこれら２つの何れかの組み合わせで具現化することができる。ソフトウェアは、コンピューティングデバイスがアクセスできるコンピュータ可読媒体に含めることができる。コンピュータ可読媒体は、取り外し可能、取り外し不可能の何れかである揮発性媒体及び不揮発性媒体の両方、又はこれらの何れかの組み合わせを含む。コンピュータ可読媒体は、コンピュータ可読命令又はコンピュータ実行可能命令、データ構造、プログラムモジュール、又は他のデータなどの情報を格納するのに使用される。コンピュータ可読媒体は、限定されるものではなく例として、コンピュータ記憶媒体及び通信媒体を含むことができる。
【０１３８】
コンピュータストレージ媒体は、限定されるものではないが、Ｂｌｕｒａｙ（登録商標）ディスク（ＢＤ）、デジタル多用途ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、フロッピーディスク、テープドライブ、ハードドライブ、光学ドライブ、ソリッドステートメモリデバイス、ＲＡＭメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、フラッシュメモリ、又は他のメモリ技術、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、或いは所望の情報を格納するのに使用可能で１又は２以上のコンピューティングデバイスによってアクセス可能な何らかの他のデバイスなどの、コンピュータ可読媒体又はマシン可読媒体又はストレージデバイスを含む。
【０１３９】
ソフトウェアは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能ディスク、ＣＤＲＯＭ、或いは当該技術で公知の非一時的コンピュータ可読ストレージ媒体、メディア、又は物理コンピュータストレージの何らかの他の形態に存在することができる。例示的なストレージ媒体は、プロセッサがストレージ媒体から情報を読み出してそれに情報を書き込むことができるように、プロセッサに結合することができる。代替例では、ストレージ媒体は、プロセッサと一体化することができる。プロセッサ及びストレージ媒体は、特定用途向け集積回路（ＡＳＩＣ）に存在することができる。ＡＳＩＣは、ユーザ端末内に存在することができる。代替的に、プロセッサ及びストレージ媒体は、ユーザ端末内の個別コンポーネントとして存在することができる。
【０１４０】
本明細書で使用される「非一時的」という語句は、「永続的又は長寿命」を意味する。「非一時的コンピュータ可読媒体」という語句は、任意の及び全てのコンピュータ可読媒体を含み、唯一の例外は、一時的な伝搬信号である。この語句は、限定されるものではなく例として、レジスタメモリ、プロセッサキャッシュ、及びランダムアクセスメモリ（ＲＡＭ）などの非一時的コンピュータ可読媒体を含む。
【０１４１】
「オーディオ信号」という語句は、物理的な音を表す信号である。
【０１４２】
また、コンピュータ可読命令又はコンピュータ実行可能命令、データ構造、プログラムモジュールなどのような情報の保持は、１又は２以上の変調データ信号、電磁波（搬送波など）、又は他の伝送機構若しくは通信プロトコルを符号化するための様々な通信媒体を使用して実現することもでき、何らかの有線又は無線情報配信機構を含む。一般に、これらの通信媒体は、情報又は命令を信号内に符号化するような方法で設定又は変更される信号特性のうちの１又は２以上を有する信号を参照する。例えば、通信媒体は、１又は２以上の変調データ信号を搬送する有線ネットワーク又は直接有線接続などの有線媒体と、音響、無線周波数（ＲＦ）、赤外線、レーザなどの無線媒体と、１又は２以上の変調データ信号又は電磁波を送信、受信、又は送受信するための他の無線媒体とを含む。上記の何れかの組み合わせは、同様に、通信媒体の範囲内に含まれるはずである。
【０１４３】
更に、本明細書に記載の符号化及び復号システム及び方法の様々な実施形態の一部又は全部を具現化するソフトウェア、プログラム、コンピュータプログラム製品のうちの１つ又は何れかの組み合わせ、或いはこれの一部分は、コンピュータ実行可能命令又は他のデータ構造の形式で、コンピュータ可読媒体又はマシン可読媒体又はストレージデバイス及び通信媒体の任意の所望の組み合わせに格納、受信、送信、又はそれらから読み出すことができる。
【０１４４】
本明細書に記載のシステム及び方法の実施形態は更に、コンピューティングデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令という一般的状況で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。また、本明細書に記載の実施形態は、１又は２以上のリモート処理デバイスによって、又は１又は２以上のデバイスからなるクラウド内でタスクが実行される分散コンピューティング環境で実施することもでき、これらのデバイスは、１又は２以上の通信ネットワークを介してリンクされている。分散コンピューティング環境では、プログラムモジュールは、メディアストレージデバイスを含む、ローカル及びリモート両方のコンピュータストレージ媒体内に配置することができる。更に、上述した命令は、プロセッサを含むことがあるか又はプロセッサを含まないこともあるハードウェア論理回路として部分的に又は全体的に実装することができる。
【０１４５】
本明細書で使用される条件語、とりわけ、「できる（ｃａｎ）」、「してよい（ｍｉｇｈｔ）」、「できる（ｍａｙ）」、「例えば（ｅ．ｇ．）」、及び同様のものは、別途明確に言及されていない限り、又は使用される文脈内でそれ以外の意味で理解されない限り、一般に、特定の実施形態が、特定の特徴、要素、及び／又は状態を含むが、他の実施形態は、これらを含まないことを伝えることを意図している。従って、このような条件語は、一般に、特徴、要素、及び／又は状態が、１又は２以上の実施形態に必ず必要であることを示唆するものでなく、作成者の入力又は指示があってもなくても、何れかの特定の実施形態において、これらの特徴、要素、及び／又は状態が含まれるか又は実行されるか否かを決定するためのロジックを、１又は２以上の実施形態が必ず含むことを示唆するものでもない。「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｖｉｎｇ）」という用語、及び同様のものは、同義であり、包括的にオープンエンド方式で使用され、追加の要素、特徴、動作、操作などを除外するものではない。また、「又は」という用語は、その包括的な意味で（その排他的意味ではなく）使用され、従って、例えば、要素のリストを結び付けるのに使用される際に、「又は」という用語は、リスト内の要素の１つ、一部、又は全てを意味する。
【０１４６】
上記の詳細な説明は、様々な実施形態に適用される新規性のある特徴を示し、説明し、指摘しているが、本開示の趣旨から逸脱することなく、様々な省略、置換、及び変更が、例証されたデバイス又はアルゴリズムの形態及び詳細において実施できることが理解されるであろう。認識されるように、一部の特徴は、他の特徴から切り離して使用又は実施することができるので、本明細書で説明する本発明の特定の実施形態は、本明細書に示した特徴及び利点の全てを提供するとは限らない形態の範囲内で具現化することができる。
【０１４７】
更に、本主題は、構造的特徴及び方法論的動作に特有の用語で説明されているが、添付の請求項で規定される主題は、上述した特定の特徴又は動作に必ずしも限定されるものではないことを理解されたい。そうではなく、上述した特定の特徴及び動作は、請求項を実施する例示的な形態として開示される。
【図１】
2020518030.tif 000038
【図２】
2020518030.tif 000039
【図３】
2020518030.tif 000040
【図４】
2020518030.tif 000041
【図５】
2020518030.tif 000042
【図６】
2020518030.tif 000043
【図７】
2020518030.tif 000044
【図８】
2020518030.tif 000045
【図９】
2020518030.tif 000046
【図１０】
2020518030.tif 000047
【図１１】
2020518030.tif 000048
【図１２】
2020518030.tif 000049
【図１３】
2020518030.tif 000050
【国際調査報告】
2020518030.tif 000051