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