IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ディーティーエス・インコーポレイテッドの特許一覧

特許7389651デジタルオーディオ信号における可変アルファベットサイズ
<>
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図1
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図2
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図3
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図4
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図5
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図6
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図7
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図8
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図9
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図10
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図11
  • 特許-デジタルオーディオ信号における可変アルファベットサイズ 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-21
(45)【発行日】2023-11-30
(54)【発明の名称】デジタルオーディオ信号における可変アルファベットサイズ
(51)【国際特許分類】
   G10L 19/035 20130101AFI20231122BHJP
   G10L 19/022 20130101ALI20231122BHJP
【FI】
G10L19/035 B
G10L19/022
【請求項の数】 20
(21)【出願番号】P 2019558590
(86)(22)【出願日】2018-04-24
(65)【公表番号】
(43)【公表日】2020-06-18
(86)【国際出願番号】 US2018028987
(87)【国際公開番号】W WO2018200426
(87)【国際公開日】2018-11-01
【審査請求日】2021-03-05
(31)【優先権主張番号】62/489,867
(32)【優先日】2017-04-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/926,089
(32)【優先日】2018-03-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503206684
【氏名又は名称】ディーティーエス・インコーポレイテッド
【氏名又は名称原語表記】DTS,Inc.
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】チョウ アルバート
(72)【発明者】
【氏名】カルカー アントニウス
(72)【発明者】
【氏名】セルーシ ガディエル
【審査官】佐久 聖子
(56)【参考文献】
【文献】米国特許出願公開第2012/0069898(US,A1)
【文献】米国特許出願公開第2007/0016412(US,A1)
【文献】国際公開第2014/128275(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/00-19/26
(57)【特許請求の範囲】
【請求項1】
プロセッサと、
前記プロセッサによって実行可能な命令を格納するメモリデバイスであって、前記命令が、オーディオ信号を符号化するための方法を実行するように前記プロセッサによって実行可能である、メモリデバイスと、
を備える符号化システムにおいて、
前記方法は、
デジタルオーディオ信号を受け取るステップと、
前記デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにするステップと、
前記各フレームの前記オーディオサンプルの変換を行って、前記各フレームに関する複数の周波数領域係数を生成するステップと、
各フレームに関する複数の周波数領域係数を前記各フレームに関する複数の帯域に分割するステップであって、各帯域が前記変換の後の時間分解能及び周波数分解能のデフォルト値を有し、各帯域が調整された時間分解能及び調整された周波数分解能を表す再形成パラメータを有し、前記再形成パラメータが時間分解能及び周波数分解能の前記調整された値に対する時間分解能及び周波数分解能の前記調整された値への時間分解能及び周波数分解能の前記デフォルト値からの変化を示す値である、ステップと、
前記構文解析され、変換され、分割されたデジタルオーディオ信号を符号化して、前記各帯域の再形成パラメータを含むビットストリームにするステップであって、第1の帯域に関する前記再形成パラメータは、第1のアルファベットサイズを使用して符号化され、前記第1の帯域と異なる第2の帯域に関する前記再形成パラメータは、前記第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して符号化される、ステップと、
前記ビットストリームを出力するステップと、
を含む、
ことを特徴とする符号化システム。
【請求項2】
前記方法は更に、
前記各フレームの各帯域の時間分解能及び周波数分解能を調整するステップを含み、第1の前記時間分解能及び第1の前記周波数分解能は、複数の指定された範囲の整数のうちの1つから選択された整数である値を有する前記再形成パラメータによって記述された大きさによって補完的に調整され、
前記第1のアルファベットサイズは、前記複数の指定された範囲の整数のうちの第1の指定された範囲の整数における整数の数に等しく、
前記第2のアルファベットサイズは、前記複数の指定された範囲の整数のうちの第2の指定された範囲の整数における整数の数に等しい、請求項1に記載の符号化システム。
【請求項3】
前記第1のアルファベットサイズが4であり、前記第2のアルファベットサイズが5である、請求項2に記載の符号化システム。
【請求項4】
前記調整の前、前記第1の帯域の前記時間分解能は、8つのオーディオサンプルに等しく、前記第2の帯域の前記時間分解能は、1つのオーディオサンプルに等しい、請求項2に記載の符号化システム。
【請求項5】
各帯域は、前記帯域の前記時間分解能と前記帯域の前記周波数分解能との積に等しいサイズを有し、
前記帯域の前記時間分解能及び前記帯域の前記周波数分解能は、前記帯域のサイズが変化することなく補完的に調整される、請求項2に記載の符号化システム。
【請求項6】
前記時間分解能は2cの倍数だけ調整され、前記周波数分解能は2-cの倍数だけ変化し、量cは前記再形成パラメータである、請求項5に記載の符号化システム。
【請求項7】
前記方法は更に、
各帯域に関する前記再形成パラメータを記述する、各フレームに関する再形成シーケンスを形成するステップと、
各再形成シーケンス内の各エントリを、前記エントリの可能性のある値の範囲に正規化するステップと、
を含み、前記可能性のある値の各範囲は、前記帯域に関する前記指定された範囲の整数に対応する、請求項2から6の何れかに記載の符号化システム。
【請求項8】
前記方法は更に、
単進符号を使用して、各帯域に関する前記再形成パラメータを表すシーケンスとして前記フレームに関する前記再形成パラメータを記述する、各フレームに関する第1のシーケンスを形成するステップと、
準一様符号を使用して、各帯域に関する前記再形成パラメータを表すシーケンスとして前記フレームに関する前記再形成パラメータを記述する、各フレームに関する第2のシーケンスを形成するステップと、
単進符号を使用して、隣接する帯域間の前記再形成パラメータの差分を表すシーケンスとして前記フレームに関する前記再形成パラメータを記述する、各フレームに関する第3のシーケンスを形成するステップと、
準一様符号を使用して、隣接する帯域間の前記再形成パラメータの差分を表すシーケンスとして前記フレームに関する前記再形成パラメータを記述する、各フレームに関する第4のシーケンスを形成するステップと、
前記第1のシーケンス、前記第2のシーケンス、前記第3のシーケンス、及び前記第4のシーケンスのうちの最小数の要素を含むシーケンスである最短シーケンスを選択するステップと、
各フレームに対して、前記選択された最短シーケンスを前記ビットストリームに埋め込むステップと、
各フレームに対して、前記4つのシーケンスのうちのどれが前記ビットストリームに含まれるかを示すインジケータを表すデータを前記ビットストリームに埋め込むステップと、
を含む、請求項1に記載の符号化システム。
【請求項9】
前記変換は修正離散コサイン変換である、請求項1に記載の符号化システム。
【請求項10】
前記各フレームは、正確に1024個のサンプルを含む、請求項1に記載の符号化システム。
【請求項11】
前記それぞれの複数の周波数領域係数における周波数領域係数の数は、前記各フレーム内のオーディオサンプルの前記指定された数に等しい、請求項1に記載の符号化システム。
【請求項12】
前記各フレームに関する前記複数の周波数領域係数は、正確に1024個の周波数領域係数を含む、請求項1に記載の符号化システム。
【請求項13】
前記各フレームに関する前記複数の帯域は、正確に22個の帯域を含む、請求項1に記載の符号化システム。
【請求項14】
前記符号化システムは、コーデックに含まれる、請求項1に記載の符号化システム。
【請求項15】
プロセッサと、
前記プロセッサによって実行可能な命令を格納するメモリデバイスであって、前記命令が、符号化されたオーディオ信号を復号するための方法を実行するように前記プロセッサによって実行可能である、メモリデバイスと、
を備える復号システムであって、
前記方法は、
複数の帯域に各々が分割された複数のフレームを含むビットストリームを受け取るステップと、
前記各フレームの各帯域に対して、前記帯域に関する調整された時間分解能及び調整された周波数分解能を表す再形成パラメータを前記ビットストリームから抽出するステップであって、前記再形成パラメータが時間分解能及び周波数分解能の前記調整された値への時間分解能及び周波数分解能のデフォルト値からの変化を示す値であり、第1の帯域に関する前記再形成パラメータは、第1のアルファベットサイズを使用して前記ビットストリームに埋め込まれ、前記第1の帯域と異なる第2の帯域に関する前記再形成パラメータは、前記第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して前記ビットストリームに埋め込まれる、ステップと、
前記再形成パラメータを使用して前記ビットストリームを復号して、復号されたデジタルオーディオ信号を生成するステップと、
を含み、
前記復号することは、各フレームの各帯域の前記調整された時間分解能及び前記調整された周波数分解能を調整すること及びその後に逆変換を適用することを含み、前記調整された時間分解能及び前記調整された周波数分解能が、第1の時間分解能及び第1の周波数分解能の一方を増加させ、かつ、他方を減少させるか、又は、両方を変化させないように前記再形成パラメータを用いて調整される、ことを特徴とする復号システム。
【請求項16】
前記方法は更に、
前記各フレームの各帯域に対して、
前記ビットストリーム内の前記再形成パラメータが単進符号として表されているか又は準一様符号として表されているか、及び
前記ビットストリーム内の前記再形成パラメータが、前記各帯域に関する前記再形成パラメータを表すシーケンスとして表されているか、又は隣接する前記帯域間の前記再形成パラメータの差分を表すシーケンスとして表されているか、
を示すデータを抽出するステップを含む、請求項15に記載の復号システム。
【請求項17】
前記復号システムは、コーデックに含まれる、請求項15又は16に記載の復号システム。
【請求項18】
符号化システムであって、
デジタルオーディオ信号を受け取るための受信器回路と、
前記デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにするためのフレーマ回路と、
前記各フレームの前記オーディオサンプルの変換を行って、前記各フレームに関する複数の周波数領域係数を生成するための変換器回路と、
前記各フレームに関する前記複数の周波数領域係数を前記各フレームに関する複数の帯域に分割するための周波数帯域分割器回路であって、前記各帯域が調整された時間分解能及び調整された周波数分解能を表す再形成パラメータを有し、前記再形成パラメータが時間分解能及び周波数分解能の前記調整された値に対する時間分解能及び周波数分解能の前記調整された値への時間分解能及び周波数分解能のデフォルト値からの変化を示す値である、周波数帯域分割器回路と、
前記構文解析され、変換され、分割されたデジタルオーディオ信号を符号化して、各帯域の再形成パラメータを含むビットストリームにするためのエンコーダ回路であって、第1の帯域に関する前記再形成パラメータは、第1のアルファベットサイズを使用して符号化され、前記第1の帯域と異なる第2の帯域に関する前記再形成パラメータは、前記第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して符号化される、エンコーダ回路と、
前記ビットストリームを出力するための出力回路と、
を備える、ことを特徴とする符号化システム。
【請求項19】
前記各フレームの各帯域の時間分解能及び周波数分解能を調整するための分解能調整回路を更に備え、第1の前記時間分解能及び第1の前記周波数分解能は、複数の指定された範囲の整数のうちの1つから選択された整数である値を有する前記再形成パラメータによって記述された大きさによって補完的に調整され、
前記第1のアルファベットサイズは、前記複数の指定された範囲の整数のうちの第1の指定された範囲の整数における整数の数に等しく、
前記第2のアルファベットサイズは、前記複数の指定された範囲の整数のうちの第2の指定された範囲の整数における整数の数に等しい、請求項18に記載の符号化システム。
【請求項20】
前記時間分解能は2cの倍数だけ調整され、前記周波数分解能は2-cの倍数だけ変化し、量cは前記再形成パラメータである、請求項19に記載の符号化システム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2017年4月25日出願の米国仮特許出願第62/489,867号の利益を主張する2018年3月20日出願の米国特許出願第15/926,089号に対し優先権を主張するものであり、これらの開示内容全体は、引用により本明細書に組み込まれる。
【0002】
本開示は、オーディオ信号の符号化又は復号に関する。
【背景技術】
【0003】
オーディオコーデックは、時間領域オーディオ信号をデジタルファイル又はデジタルストリームに符号化して、デジタルファイル又はデジタルストリームを時間領域オーディオ信号に復号することができる。符号化されたファイル又はストリームのサイズを小さくすることなど、オーディオコーデックを改良する継続的な取り組みが行われている。
【発明の概要】
【課題を解決するための手段】
【0004】
符号化システムの1つの実施例は、プロセッサと、該プロセッサによって実行可能な命令を格納するメモリデバイスであって、上記命令が、オーディオ信号を符号化するための方法を実行するように上記プロセッサによって実行可能であるメモリデバイスと、を含むことができ、上記方法は、デジタルオーディオ信号を受け取るステップと、該デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにするステップと、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成するステップと、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割するステップであって、各帯域が時間分解能及び周波数分解能を表す再形成パラメータを有するステップと、デジタルオーディオ信号を符号化して、再形成パラメータを含むビットストリームにするステップであって、第1の帯域に関する再形成パラメータは、第1のアルファベットサイズを使用して符号化され、該第1の帯域と異なる第2帯域に関する再形成パラメータは、該第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して符号化されるステップと、ビットストリームを出力するステップと、を含む。
【0005】
復号システムの1つの実施例は、プロセッサと、プロセッサによって実行可能な命令を格納するメモリデバイスであって、上記命令が、符号化されたオーディオ信号を復号するための方法を実行するようにプロセッサによって実行可能である、メモリデバイスと、を含むことができ、上記方法は、複数の帯域に各々が分割された複数のフレームを含むビットストリームを受け取るステップと、各フレームの各帯域に対して、帯域に関する時間分解能及び周波数分解能を表す再形成パラメータをビットストリームから抽出するステップであって、第1の帯域に関する再形成パラメータは、第1のアルファベットサイズを使用してビットストリームに埋め込まれており、該第1の帯域と異なる第2帯域に関する再形成パラメータは、該第1のアルファベットサイズと異なる第2のアルファベットサイズを使用してビットストリームに埋め込まれているステップと、再形成パラメータを使用してビットストリームを復号して、復号されたデジタルオーディオ信号を生成するステップと、を含む。
【0006】
符号化システムの別の実施例は、デジタルオーディオ信号を受け取るための受信器回路と、デジタルオーディオ信号を構文解析して、指定された数のオーディオサンプルを各々が含む複数のフレームにするためのフレーマ回路と、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成するための変換器回路と、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割するための周波数帯域分割器回路であって、各帯域が時間分解能及び周波数分解能を表す再形成パラメータを有する、周波数帯域分割器回路と、デジタルオーディオ信号を符号化して、各帯域の再形成パラメータを含むビットストリームにするためのエンコーダ回路であって、第1の帯域に関する再形成パラメータは、第1のアルファベットサイズを使用して符号化され、該第1の帯域と異なる第2帯域に関する再形成パラメータは、該第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して符号化されるエンコーダ回路と、ビットストリームを出力するための出力回路と、を含むことができる。
【図面の簡単な説明】
【0007】
図1】幾つかの実施例による符号化システムの1つの実施例のブロック図を示す。
図2】幾つかの実施例による符号化システムの別の実施例のブロック図を示す。
図3】幾つかの実施例による復号システムの1つの実施例のブロック図を示す。
図4】幾つかの実施例による復号システムの別の実施例のブロック図を示す。
図5】幾つかの実施例による、デジタルオーディオ信号の符号化と関連する量のうちの幾つかを示す。
図6】幾つかの実施例による、オーディオ信号を符号化するための方法の1つの実施例のフローチャートを示す。
図7】幾つかの実施例による、符号化されたオーディオ信号を復号するための方法の1つの実施例のフローチャートを示す。
図8】幾つかの実施例による、オーディオ信号を符号化及び復号するための擬似コードの実施例を示す。
図9】幾つかの実施例による、オーディオ信号を符号化及び復号するための擬似コードの実施例を示す。
図10】幾つかの実施例による、オーディオ信号を符号化及び復号するための擬似コードの実施例を示す。
図11】幾つかの実施例による、オーディオ信号を符号化及び復号するための擬似コードの実施例を示す。
図12】幾つかの実施例による符号化システムの1つの実施例のブロック図を示す。
【発明を実施するための形態】
【0008】
対応する参照符号は、幾つかの図全体にわたって対応する要素を示す。図面中の要素は、必ずしも縮尺どおりに描かれていない。図面に示された構成は、単なる例証に過ぎず、どのようにしても本発明の範囲を限定するものではないと解釈されたい。
【0009】
コーデックなどのオーディオ符号化及び/又は復号システムにおいて、異なる帯域における再形成パラメータは、異なるサイズを有するアルファベットを使用して符号化することができる。異なるアルファベットサイズを使用することは、以下でより詳細に説明するように、ビットストリーム(例えば、符号化されたデジタルオーディオ信号)においてよりコンパクトな圧縮を可能にすることができる。
【0010】
図1は、幾つかの実施例による符号化システム100の1つの実施例のブロック図を示している。図1の構成は、符号化システムの一例に過ぎず、他の好適な構成も使用できる。
【0011】
符号化システム100は、入力としてデジタルオーディオ信号102を受け取り、ビットストリーム104を出力することができる。入力信号102及び出力信号104は、各々、ローカルに又はアクセス可能なサーバ上に保存された1又は2以上の個別ファイル及び/又はローカルで又はアクセス可能なサーバ上で生成された1又は2以上のオーディオストリームを含むことができる。
【0012】
符号化システム100は、プロセッサ106を含むことができる。符号化システム100は更に、プロセッサ106により実行可能な命令110を格納するメモリデバイス108を含むことができる。プロセッサ106が、オーディオ信号を符号化するための方法を実行するように命令110を実行することができる。オーディオ信号を符号化するためのこのような方法の1つの実施例が以下で詳細に説明される。
【0013】
図1の構成では、符号化は、ソフトウェアで実行され、典型的には、コンピューティングデバイスにおいて追加のタスクも実行できるプロセッサによって実行される。別の方法として、符号化はまた、符号化を実行するようにハードウェアに組み込まれた専用チップ又は専用プロセッサなどによって、ハードウェアで実行することもできる。このようなハードウェアベースのエンコーダの実施例が図2に示されている。
【0014】
図2は、幾つかの実施例による符号化システム200の別の実施例のブロック図を示している。図2の構成は、符号化システムの一例に過ぎず、他の好適な構成も使用できる。
【0015】
符号化システム200は、入力としてデジタルオーディオ信号202を受け取り、ビットストリーム204を出力することができる。符号化システム200は、専用符号化プロセッサ206を含むことができ、特定の符号化方法を実行するようにハードウェアに組み込まれたチップを含むことができる。オーディオ信号を符号化するためのこのような方法の実施例は、以下で詳細に説明される。
【0016】
図1及び図2の実施例は、それぞれソフトウェア及びハードウェアで動作できる符号化システムを示している。以下の図3及び4は、それぞれソフトウェア及びハードウェアで動作できる同等の復号システムを示している。
【0017】
図3は、幾つかの実施例による復号システムの1つの実施例のブロック図を示している。図3の構成は、復号システムの一例に過ぎず、他の好適な構成も使用できる。
【0018】
復号システム300は、入力としてビットストリーム302を受け取り、復号されたデジタルオーディオ信号304を出力することができる。入力信号302及び出力信号304は、各々、ローカルに又はアクセス可能なサーバ上に保存された1又は2以上の個別ファイル及び/又はローカルで又はアクセス可能なサーバ上で生成された1又は2以上のオーディオストリームを含むことができる。
【0019】
復号システム300は、プロセッサ306を含むことができる。復号システム300は更に、プロセッサ306により実行可能な命令310を格納するメモリデバイス308を含むことができる。プロセッサ306が、オーディオ信号を復号するための方法を実行するように命令310を実行することができる。オーディオ信号を復号するためのこのような方法の実施例は、以下で詳細に説明される。
【0020】
図3の構成では、復号は、ソフトウェアで実行され、典型的には、コンピューティングデバイスにおいて追加のタスクも実行できるプロセッサによって実行される。別の方法として、復号はまた、符号化を実行するようにハードウェアに組み込まれた専用チップ又は専用プロセッサなどによって、ハードウェアで実行することもできる。このようなハードウェアベースのデコーダの実施例が図4に示されている。
【0021】
図4は、幾つかの実施例による復号システム400の別の実施例のブロック図を示している。図4の構成は、復号システムの一例に過ぎず、他の好適な構成も使用できる。
【0022】
復号システム400は、入力としてビットストリーム402を受け取り、復号されたデジタルオーディオ信号404を出力することができる。復号システム400は、専用復号プロセッサ406を含むことができ、特定の復号方法を実行するようにハードウェアに組み込まれたチップを含むことができる。オーディオ信号を復号するためのこのような方法の実施例は、以下で詳細に説明される。
【0023】
図5は、幾つかの実施例による、デジタルオーディオ信号の符号化と関連する量のうちの幾つかを示している。ビットストリームの復号は、一般に、ビットストリームの符号化と同じ量を伴うが、数学演算が逆に行われる量を伴う。図5に示されている量は、このような量の一例に過ぎず、他の好適な量が、同様に使用できる。図5に示されている量の各々は、図1から4に示されているエンコーダ又はデコーダの何れかと共に使用できる。
【0024】
エンコーダは、デジタルオーディオ信号502を受け取ることができる。デジタルオーディオ信号502は、時間領域にあり、時間と共に展開するオーディオ信号振幅を表す一連の整数又は浮動小数点数を含むことができる。デジタルオーディオ信号502は、スタジオからの生放送などのストリーム(例えば、指定された開始及び/又は終了のない)の形態とすることができる。代替的に、デジタルオーディオ信号502は、サーバ上のオーディオファイル、コンパクトディスクからリッピングされた非圧縮オーディオファイル、又は非圧縮形式の曲のミックスダウンファイルなどの個別ファイル(例えば、開始及び終了と、指定された継続時間とを有する)とすることができる。
【0025】
エンコーダは、デジタルオーディオ信号502を構文解析して複数のフレーム504にすることができ、ここで、各フレーム504は、指定された数のオーディオサンプル506を含む。例えば、フレーム504は、1024個のサンプル506又は別の好適な値を含むことができる。一般に、デジタルオーディオ信号502をフレーム504にグループ化することにより、エンコーダは、明確に規定された数のサンプル506にエンコーダの処理を効率的に適用することができるようになる。幾つかの実施例において、このような処理は、各フレームが他のフレームと独立して処理されるように、フレームごとに異なるものとすることができる。
【0026】
エンコーダは、各フレーム504のオーディオサンプル506の変換508を実行することができる。幾つかの実施例において、この変換は、修正離散コサイン変換とすることができる。フーリエ、ラプラスなどの他の好適な変換が使用できる。変換508は、フレーム504内のサンプル506などの時間領域量を、フレーム504に関する周波数領域係数510などの周波数領域量に変換する。変換508は、各フレーム504に関する複数の周波数領域係数510を生成することができる。幾つかの実施例において、変換508によって生成される周波数領域係数510の数は、1024などのフレーム内のサンプル506の数に等しいとすることができる。周波数領域係数510は、特定の周波数の信号がフレーム内にどの程度存在するかを記述するものである。
【0027】
幾つかの実施例において、時間領域フレームは、連続したサンプルからなるサブブロックに更に分割することができ、変換は、各サブブロックに適用することができる。例えば、1024個のサンプルからなるフレームは、それぞれ128個のサンプルからなる8つのサブブロックに分割することができ、このような各サブブロックは、128個の周波数係数からなるブロックに変換することができる。フレームがサブブロックに分割される例に関する変換は、短変換と呼ばれることがある。フレームがサブブロックに分割されない例の場合には、変換は、長変換と呼ばれることがある。
【0028】
エンコーダは、各フレーム504に関する複数の周波数領域係数510を各フレーム504に関する複数の帯域512に分割することができる。幾つかの実施例において、フレームあたり22個の帯域512が存在することができるが、別の値が、同様に使用できる。各帯域512は、フレーム504内の周波数510の範囲を表して、全ての周波数範囲を連結したものが、フレーム504内で表される全ての周波数を含むことができるようになる。短変換を使用する例では、結果として生じる周波数係数の各ブロックは、長変換に使用される帯域と1対1で対応できる同じ数の帯域に分割することができる。短変換を使用する例では、ブロック内の所与の帯域の係数の数は、長変換の場合のその所与の帯域の係数の数と比較して比例的により少なくなる。例えば、フレームは、8つのサブブロックに分割でき、短変換ブロックにおける帯域は、長変換における対応する帯域における係数の数の8分の1を有する。長変換における帯域は、32個の係数を有することができ、短変換では、同じ帯域が、8つの周波数ブロックの各々に4つの係数を有することができる。短変換における帯域は、時間領域で8つ、周波数領域で4つの分解能を有する8×4行列に関連することができる。長変換における帯域は、時間領域で1つ、周波数領域で32個の分解能を有する1×32行列に関連することができる。従って、各帯域512は、時間分解能514及び周波数分解能516を表す再形成パラメータ518を含むことができる。幾つかの実施例において、再形成パラメータ518は、時間分解能514及び周波数分解能516のデフォルト値からの変化の値を提供することにより時間分解能514及び周波数分解能516を表すことができる。
【0029】
一般に、コーデックの目標は、符号化されたファイルの特定のデータ転送速度又はビットレートによって支配される限定量のデータを使用して、特定のフレームの周波数領域表現が、このフレームの時間領域表現を可能な限り正確に表すことを保証することである。例えば、データ転送速度は、1411kbps(キロビット毎秒)、320kbps、256kbps、192kbps、160kbps、128kbps、又はその他の値を含むことができる。一般に、データ転送速度が高いほど、フレームの表現は、より正確になる。
【0030】
限定されたデータ転送速度のみを使用して精度を高めるという目標を追求することにおいて、コーデックは、各帯域に関する時間分解能と周波数分解能との間でトレードオフすることができる。例えば、コーデックは、特定の帯域の時間分解能を2倍にし、その一方、その帯域の周波数分解能を半分にすることができる。このような演算の実行(例えば、時間分解能の周波数分解能への交換、又はその逆)は、帯域の時間周波数構造の再形成と呼ばれることがある。一般に、初期変換では、全ての帯域の時間分解能は同じであり得るが、再形成後、フレーム内の1つの帯域の時間周波数構造は、このフレーム内の他の帯域の時間周波数構造と無関係であり得るので、各帯域は、他の帯域と無関係に再形成することができる。
【0031】
幾つかの実施例において、各帯域は、この帯域の時間分解能514と帯域の周波数分解能516との積に等しいサイズを有することができる。幾つかの実施例において、1つの帯域の時間分解能514は、8つのオーディオサンプルに等しく、別の帯域の時間分解能514は、1つのオーディオサンプルに等しいとすることができる。他の好適な時間分解能514が、同様に使用できる。
【0032】
幾つかの実施例において、エンコーダは、帯域のサイズが変化することなく(例えば、時間分解能514と周波数分解能516との積が変化することなく)、各フレームの各帯域の時間分解能514及び周波数分解能516を補完的に調整することができる。エンコーダは、再形成パラメータを用いてこの調整を定量化することができる。
【0033】
再形成パラメータは、選択された整数とすることができる。例えば、再形成パラメータが3である場合に、時間分解能は、量23を乗算でき、周波数分解能は、量2-3を乗算することができる。他の好適な整数が使用でき、これらの整数は、正の整数(時間分解能514が増加し、周波数分解能516が減少することを意味する)、負の整数(時間分解能が減少し、周波数分解能が増加することを意味する)、及びゼロ(時間分解能514及び周波数分解能516が変化しない、例えば、量20を乗算することを意味する)を含む。
【0034】
幾つかの実施例において、許容される再形成パラメータ値の数は、有限数の整数に制限することができる。特定の実施例として、許容される再形成パラメータ値は、0、1、2、及び3を含み、合計4つの整数とすることができる。別の特定の実施例として、許容される再形成パラメータ値は、0、1、2、3、及び4を含み、合計5つの整数とすることができる。別の特定の実施例として、許容される再形成パラメータ値は、0、-1、-2、-3、及び-4を含み、合計5つの整数とすることができる。別の特定の実施例として、許容される再形成パラメータ値は、0、-1、-2、及び-3を含み、合計4つの整数とすることができる。これらの実施例において、これらの指定された整数範囲を記述する用語は、アルファベットサイズである。具体的には、ある範囲の整数に関するアルファベットサイズは、この範囲内の許容値の数である。上記の4つの実施例において、アルファベットサイズは4又は5である。
【0035】
幾つかの実施例において、単一のフレームは、第1のアルファベットサイズを使用して符号化できる再形成パラメータを有する1又は2以上の帯域を含むことができ、更に、第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して符号化できる再形成パラメータを有する1又は2以上の帯域を含むことができる。このようにして異なるアルファベットサイズを使用することは、より圧縮されたビットストリーム圧縮を可能にすることができる。
【0036】
エンコーダは、各帯域に関する再形成パラメータを表すデータをビットストリームに符号化することができる。再形成パラメータのビットストリームへの符号化は、デコーダが、逆変換適用前に時間/周波数再形成を逆にすることを可能にすることができる。1つの単純な手法は、再形成シーケンスの各要素がフレーム内の帯域に関する再形成パラメータである状態で各フレームに関する再形成シーケンスを形成することとすることができる。22個の帯域を有するフレームの場合に、この手法は、22個の再形成パラメータで構成された再形成シーケンスを生成することになる。各フレームに関する再形成シーケンスは、各帯域に関する再形成パラメータを記述することができる。幾つかの実施例において、エンコーダは、各再形成シーケンスにおける各エントリをこのエントリに関する可能性のある値の範囲に正規化でき、可能性のある値の各範囲は、帯域に関する再形成パラメータの指定された範囲に対応する。
【0037】
この単純な手法に対する改良策として、エンコーダは、これら22個の整数を完全に記述するのに必要なデータのサイズを削減することができる。この改良された手法では、エンコーダは、4つのシーケンスの長さ(例えば、4つのシーケンスの各々におけるビット又は整数の数)を計算して、4つのシーケンスのうちの最短シーケンスを選択して、この最短シーケンスを表すデータをビットストリームに埋め込むことができる。最短シーケンスは、最小ビット数を含むシーケンス、すなわち、22個の整数を最も簡潔に記述するシーケンスである。4つのシーケンスについて以下に説明する。
【0038】
エンコーダは、単進(unary)符号を使用して、各帯域に関する再形成パラメータを表すシーケンスとしてフレームに関する再形成パラメータを記述する、各フレームに関する第1のシーケンスを形成することができる。エンコーダは、準一様符号を使用して、各帯域に関する再形成パラメータを表すシーケンスとしてフレームに関する再形成パラメータを記述する、各フレームに関する第2のシーケンスを形成することができる。エンコーダは、単進符号を使用して、隣接する帯域間の再形成パラメータの差分を表すシーケンスとしてフレームに関する再形成パラメータを記述する、各フレームに関する第3のシーケンスを形成することができる。エンコーダは、準一様符号を使用して、隣接する帯域間の再形成パラメータの差分を表すシーケンスとしてフレームに関する再形成パラメータを記述する、各フレームに関する第4のシーケンスを形成することができる。
【0039】
エンコーダは、第1のシーケンス、第2のシーケンス、第3のシーケンス、第4のシーケンスのうちの最短シーケンスを選択することができる。エンコーダは、各フレームに対して、選択された最短シーケンスをビットストリームに埋め込むことができる。エンコーダは更に、各フレームに対して、インジケータを表すデータをビットストリームに埋め込むことができ、このインジケータは、4つのシーケンスのうちのどれがビットストリームに含まれるかを示す。
【0040】
以下の付録は、上述した量の厳密な数学的定義を提示するものである。
【0041】
図6は、幾つかの実施例による、オーディオ信号を符号化するための方法600の実施例のフローチャートを示している。方法600は、図1又は図2の符号化システム100又は200によって、或いは任意の他の好適な符号化システムによって実行することができる。方法600は、オーディオ信号を符号化するための方法の一例に過ぎず、他の好適な符号化方法が、同様に使用できる。
【0042】
動作602において、符号化システムは、デジタルオーディオ信号を受け取ることができる。
【0043】
動作604において、符号化システムは、デジタルオーディオ信号を構文解析して複数のフレームにすることができ、各フレームは、指定された数のオーディオサンプルを含む。
【0044】
動作606において、符号化システムは、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成することができる。
【0045】
動作608において、符号化システムは、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割することができ、各帯域は、時間分解能及び周波数分解能を表す再形成パラメータを有する。
【0046】
動作610において、符号化システムは、デジタルオーディオ信号を符号化して、再形成パラメータを含むビットストリームにすることができる。第1の帯域に関する再形成パラメータは、第1のアルファベットサイズを使用して符号化することができる。第1の帯域と異なる第2帯域に関する再形成パラメータは、第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して符号化することができる。
【0047】
動作612において、符号化システムは、ビットストリームを出力することができる。
【0048】
図7は、幾つかの実施例による、符号化されたオーディオ信号を復号するための方法700の実施例のフローチャートを示している。方法700は、図3又は図4の復号システム300又は400によって、或いは任意の他の好適な符号化システムによって実行することができる。方法700は、符号化されたオーディオ信号を復号するためのほんの一方法であり、他の好適な符号化方法が、同様に使用できる。
【0049】
動作702において、復号システムは、複数の帯域に各々が分割された複数のフレームを含むビットストリームを受け取ることができる。
【0050】
動作704において、復号システムは、各フレームの各帯域に対して、ビットストリームから再成形パラメータを抽出することができ、この再成形パラメータは、帯域に関する時間分解能及び周波数分解能を表す。第1の帯域に関する再形成パラメータは、第1のアルファベットサイズを使用して、ビットストリームに埋め込むことができる。第1の帯域と異なる第2の帯域に関する再形成パラメータは、第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して、ビットストリームに埋め込むことができる。
【0051】
動作706において、復号システムは、再形成パラメータを使用してビットストリームを復号して、復号されたデジタルオーディオ信号を生成することができる。
【0052】
図12は、幾つかの実施例による符号化システム1200の1つの実施例のブロック図を示している。
【0053】
受信器回路1202は、デジタルオーディオ信号を受け取ることができる。
【0054】
フレーマ回路1304は、デジタルオーディオ信号を構文解析して複数のフレームにすることができ、各フレームは、指定された数のオーディオサンプルを含む。
【0055】
変換器回路1206は、各フレームのオーディオサンプルの変換を行って、各フレームに関する複数の周波数領域係数を生成することができる。
【0056】
周波数帯域分割器回路1208は、各フレームに関する複数の周波数領域係数を各フレームに関する複数の帯域に分割することができ、各帯域は、時間分解能及び周波数分解能を表す再形成パラメータを有する。
【0057】
エンコーダ回路120は、デジタルオーディオ信号を符号化して、各帯域の再形成パラメータを含むビットストリームにすることができる。第1の帯域に関する再形成パラメータは、第1のアルファベットサイズを使用して符号化することができる。第1の帯域と異なる第2の帯域に関する再形成パラメータは、第1のアルファベットサイズと異なる第2のアルファベットサイズを使用して符号化することができる。
【0058】
出力回路1212は、ビットストリームを出力することができる。
【0059】
本明細書で説明するもの以外の多くの他の変形形態は、本明細書から明らかであろう。例えば、実施形態によっては、本明細書で説明した何らかの方法及びアルゴリズムの特定の動作、事象、又は機能は、異なる順序で実行することができ、追加、統合、又は完全に省略することができる(従って、ここで説明する全ての動作又は事象が、本方法及びアルゴリズムの実施に必要であるとは限らない)。更に、特定の実施形態において、動作又は事象は、連続的にではなく同時に、例えば、マルチスレッド処理、割り込み処理、又はマルチプロセッサ若しくはプロセッサコアによって、或いは他の並列アーキテクチャ上で実行することができる。加えて、様々なタスク又は処理は、一緒に機能することができる異なるマシン及びコンピューティングシステムによって実行することができる。
【0060】
本明細書に開示する実施形態に関連して説明した様々な例示的論理ブロック、モジュール、方法、及びアルゴリズムの処理及び順序は、電子ハードウェア、コンピュータソフトウェア、又はこれら両方の組み合わせとして実装することができる。ハードウェアとソフトウェアとのこの互換性を明確に説明するために、様々な例示的コンポーネント、ブロック、モジュール、及び処理の動作は、上記では一般的にこれらの機能性に関して説明されている。このような機能性がハードウェアとして実装されるか又はソフトウェアとして実装されるかは、特定の用途、及びシステム全体に課された設計上の制約条件に依存する。説明した機能性は、特定の用途の各々に関して異なる方法で実施できるが、このような実施の決定が、本明細書の範囲からの逸脱を生じさせると解釈すべきでない。
【0061】
本明細書に開示する実施形態に関連して説明する様々な例示的論理ブロック及びモジュールは、汎用プロセッサ、処理デバイス、1又は2以上の処理デバイスを有するコンピューティングデバイス、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は他のプログラム可能な論理デバイス、離散ゲート若しくはトランジスタ論理回路、離散ハードウェアコンポーネント、又は本明細書に記載の機能を実行するように設計されたこれらの任意の組み合わせなどのマシンによって実装又は実行することができる。汎用プロセッサ及び処理デバイスは、マイクロプロセッサとすることができるが、代替形態では、プロセッサは、コントローラ、マイクロコントローラ、ステートマシン、これらの組み合わせ、又は同様のものとすることができる。プロセッサは、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連動する1又は2以上のマイクロプロセッサ、又は他の任意のこのような構成などの、コンピューティングデバイスの組み合わせとして実装することもできる。
【0062】
本明細書に記載のシステム及び方法の実施形態は、多くのタイプの汎用又は専用コンピューティングシステム環境又は構成内で動作可能である。一般に、コンピューティング環境は、幾つかの実施例を挙げると、限定されるものではないが、1又は2以上のマイクロプロセッサ、メインフレームコンピュータ、デジタル信号プロセッサ、携帯用コンピューティングデバイス、パーソナルオーガナイザ、デバイスコントローラ、電気製品内部の計算エンジン、携帯電話、デスクトップコンピュータ、モバイルコンピュータ、タブレットコンピュータ、スマートフォン、及び組込型コンピュータを備えた電気製品に基づくコンピュータシステムを含む任意のタイプのコンピュータシステムを含むことができる。
【0063】
このようなコンピューティングデバイスは、通常、限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドコンピューティングデバイス、ラップトップ又はモバイルコンピュータ、携帯電話及びPDAなどの通信デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、オーディオ又はビデオメディアプレーヤなどを含む、少なくとも何らかの最低限の計算能力を有するデバイスに見つけることができる。幾つかの実施形態において、コンピューティングデバイスは、1又は2以上のプロセッサを含むことになる。各プロセッサは、デジタル信号プロセッサ(DSP)、超長命令語(VLIW)、又は他のマイクロコントローラなどの特殊なマイクロプロセッサとすること、或いは、マルチコアCPU内の特殊なグラフィックス処理ユニット(GPU)ベースのコアを含む、1又は2以上の処理コアを有する従来型中央処理ユニット(CPU)とすることができる。
【0064】
本明細書に開示する実施形態に関連して説明した方法、処理、又はアルゴリズムの処理動作は、ハードウェアで直接、プロセッサによって実行されるソフトウェアモジュールで、又はこれら2つの何れかの組み合わせで具現化することができる。ソフトウェアは、コンピューティングデバイスがアクセスできるコンピュータ可読媒体に含めることができる。コンピュータ可読媒体は、取り外し可能、取り外し不可能の何れかである揮発性媒体及び不揮発性媒体の両方、又はこれらの何れかの組み合わせを含む。コンピュータ可読媒体は、コンピュータ可読命令又はコンピュータ実行可能命令、データ構造、プログラムモジュール、又は他のデータなどの情報を格納するのに使用される。コンピュータ可読媒体は、限定されるものではなく例として、コンピュータ記憶媒体及び通信媒体を含むことができる。
【0065】
コンピュータストレージ媒体は、限定されるものではないが、Bluray(登録商標)ディスク(BD)、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、フロッピーディスク、テープドライブ、ハードドライブ、光学ドライブ、ソリッドステートメモリデバイス、RAMメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、フラッシュメモリ、又は他のメモリ技術、磁気カセット、磁気テープ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、或いは所望の情報を格納するのに使用可能で1又は2以上のコンピューティングデバイスによってアクセス可能な何らかの他のデバイスなどの、コンピュータ可読媒体又はマシン可読媒体又はストレージデバイスを含む。
【0066】
ソフトウェアは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CDROM、或いは当該技術で公知の非一時的コンピュータ可読ストレージ媒体、メディア、又は物理コンピュータストレージの何らかの他の形態に存在することができる。例示的なストレージ媒体は、プロセッサがストレージ媒体から情報を読み出してそれに情報を書き込むことができるように、プロセッサに結合することができる。代替例では、ストレージ媒体は、プロセッサと一体化することができる。プロセッサ及びストレージ媒体は、特定用途向け集積回路(ASIC)に存在することができる。ASICは、ユーザ端末内に存在することができる。代替的に、プロセッサ及びストレージ媒体は、ユーザ端末内の個別コンポーネントとして存在することができる。
【0067】
本明細書で使用される「非一時的」という語句は、「永続的又は長寿命」を意味する。「非一時的コンピュータ可読媒体」という語句は、任意の及び全てのコンピュータ可読媒体を含み、唯一の実施例外は、一時的な伝搬信号である。この語句は、限定されるものではなく例として、レジスタメモリ、プロセッサキャッシュ、及びランダムアクセスメモリ(RAM)などの非一時的コンピュータ可読媒体を含む。
【0068】
「オーディオ信号」という語句は、物理的な音を表す信号である。
【0069】
また、コンピュータ可読命令又はコンピュータ実行可能命令、データ構造、プログラムモジュールなどのような情報の保持は、1又は2以上の変調データ信号、電磁波(搬送波など)、又は他の伝送機構若しくは通信プロトコルを符号化するための様々な通信媒体を使用して実現することもでき、何らかの有線又は無線情報配信機構を含む。一般に、これらの通信媒体は、情報又は命令を信号内に符号化するような方法で設定又は変更される信号特性のうちの1又は2以上を有する信号を参照する。例えば、通信媒体は、1又は2以上の変調データ信号を搬送する有線ネットワーク又は直接有線接続などの有線媒体と、音響、無線周波数(RF)、赤外線、レーザなどの無線媒体と、1又は2以上の変調データ信号又は電磁波を送信、受信、又は送受信するための他の無線媒体とを含む。上記の何れかの組み合わせは、同様に、通信媒体の範囲内に含まれるはずである。
【0070】
更に、本明細書に記載の符号化及び復号システム及び方法の様々な実施形態の一部又は全部を具現化するソフトウェア、プログラム、コンピュータプログラム製品のうちの1つ又は何れかの組み合わせ、或いはこれの一部分は、コンピュータ実行可能命令又は他のデータ構造の形式で、コンピュータ可読媒体又はマシン可読媒体又はストレージデバイス及び通信媒体の任意の所望の組み合わせに格納、受信、送信、又はこれらから読み出すことができる。
【0071】
本明細書に記載のシステム及び方法の実施形態は更に、コンピューティングデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令という一般的状況で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。また、本明細書に記載の実施形態は、1又は2以上のリモート処理デバイスによって、又は1又は2以上のデバイスからなるクラウド内でタスクが実行される分散コンピューティング環境で実施することもでき、これらのデバイスは、1又は2以上の通信ネットワークを介してリンクされている。分散コンピューティング環境では、プログラムモジュールは、メディアストレージデバイスを含む、ローカル及びリモート両方のコンピュータストレージ媒体内に配置することができる。更に、上述した命令は、プロセッサを含むことがあるか又はプロセッサを含まないこともあるハードウェア論理回路として部分的に又は全体的に実装することができる。
【0072】
本明細書で使用される条件語、とりわけ、「できる(can)」、「してよい(might)」、「できる(may)」、「例えば(e.g.)」、及び同様のものは、別途明確に言及されていない限り、又は使用される文脈内でそれ以外の意味で理解されない限り、一般に、特定の実施形態が、特定の特徴、要素、及び/又は状態を含むが、他の実施形態は、これらを含まないことを伝えることを意図している。従って、このような条件語は、一般に、特徴、要素、及び/又は状態が、1又は2以上の実施形態に必ず必要であることを示唆するものでなく、作成者の入力又は指示があってもなくても、何れかの特定の実施形態において、これらの特徴、要素、及び/又は状態が含まれるか又は実行されるか否かを決定するためのロジックを、1又は2以上の実施形態が必ず含むことを示唆するものでもない。「備える(comprising)」、「含む(including)」、「有する(having)」という用語、及び同様のものは、同義であり、包括的にオープンエンド方式で使用され、追加の要素、特徴、動作、操作などを除外するものではない。また、「又は」という用語は、その包括的な意味で(その排他的意味ではなく)使用され、従って、例えば、要素のリストを結び付けるのに使用される際に、「又は」という用語は、リスト内の要素の1つ、一部、又は全てを意味する。
【0073】
上記の詳細な説明は、様々な実施形態に適用される新規性のある特徴を示し、説明し、指摘しているが、本開示の趣旨から逸脱することなく、様々な省略、置換、及び変更が、例証されたデバイス又はアルゴリズムの形態及び詳細において実施できることが理解されるであろう。認識されるように、一部の特徴は、他の特徴から切り離して使用又は実施することができるので、本明細書で説明する本発明の特定の実施形態は、本明細書に示した特徴及び利点の全てを提供するとは限らない形態の範囲内で具現化することができる。
【0074】
更に、本主題は、構造的特徴及び方法論的動作に特有の用語で説明されているが、添付の請求項で規定される主題は、上述した特定の特徴又は動作に必ずしも限定されるものではないことを理解されたい。そうではなく、上述した特定の特徴及び動作は、請求項を実施する例示的な形態として開示される。
【0075】
(付録)
【0076】
本明細書で説明する時間周波数変更シーケンスコーデック及び方法の実施形態は、時間周波数再形成シーケンスを記述するシーケンスを効率的に符号化及び復号するための技法を含む。本コーデック及び方法の実施形態は、異種アルファベット上のシーケンスの効率的な符号化及び復号に対処する。
【0077】
幾つかのコーデックは、既存のコーデックで通常使用されるシーケンスよりもはるかに複雑なシーケンスを生成する。この複雑性は、これらのシーケンスが、可能性のある時間周波数再形成変換のより豊富なセットを記述するという事実に起因する。幾つかの実施形態では、この複雑性の原因は、シーケンスの要素が、異なるサイズ又は範囲(座標に応じた)のものである4つの異なるアルファベットから、かつオーディオフレームが処理される状況に基づいて得られる可能性があることである。これらのシーケンスの単純な符号化は、コストのかかるものであり、より豊富なセットの利点を無効にする。
【0078】
本コーデック及び方法の実施形態は、様々なアルファベット変換により異種アルファベットの一様処理を可能にして、符号化パラメータを最適にして、可能性のある最短記述が得られる非常に効率的な方法を説明する。本コーデック及び方法の実施形態の幾つかの特徴は、異種アルファベットの一様処理と、複数の符号化様式の定義と、符号化の長さを最小にする様式の選択とを含む。これらの特徴は、より豊富な時間周波数変換セットの使用を可能にすることを含む、本コーデック及び方法の実施形態の利点のうちの幾つかを提供するものの一部である。
【0079】
セクション1:シーケンスの定義
【0080】
修正離散コサイン変換(MDCT)変換エンジンは、現在、2つのモード、すなわち、長変換(デフォルトでほとんどのフレームで使用される)及び短変換(一時的なものを含むとみなされるフレームで使用される)で動作する。所与の帯域におけるMDCT係数の数が量Nである場合に、長変換モードでは、これらの係数は、N個の周波数スロット(1×N)を含む1つの時間スロットとして構成される。短変換モードでは、係数は、各スロットがN/8個の周波数スロットを含む8つの時間スロット(8×N/8)として構成される。
【0081】
時間周波数変更シーケンス又はベクトルは、フレームに有効な有効帯域の数までの、帯域ごとに1つの整数シーケンスである。各整数は、変換によって規定された元の時間/周波数構造が、対応する帯域に対してどのように変更されるかを示す。帯域に関する元の構造が、T×F(T個の時間スロット、F個の周波数スロット)であり、変更値がcである場合には、適切なローカル変換の適用により、この構造は、2cT×2-cFに変更される。cの許容値の範囲は、元のモードが長変換であるか又は短変換であるか、及び帯域のサイズに依存する整数制約条件によって、並びにサポートされる時間周波数構成の数に対する制限によって決定される。
【0082】
帯域は、そのサイズが16MDCTビンより小さい場合に、狭帯域と呼ばれる。それ以外の場合には、帯域は、広帯域と呼ばれる。全ての帯域サイズは、8の倍数とすることができ、現在の実装形態では、48kHzのサンプリングレートにおいて、0から7で番号付けされた帯域は、狭帯域であり、8から21で番号付けされた帯域は、広帯域とすることができ、44kHzのサンプリングレートでは、0から5で番号付けされた帯域は、狭帯域であり、6から21で番号付けされた帯域は、広帯域とすることができる。
【0083】
次の段落は、長変換対短変換と狭帯域対広帯域との全ての組み合わせに対して可能性のある変更値cのセットを示している。
【0084】
狭帯域かつ長変換の場合、{0、1、2、3}である。
【0085】
広帯域かつ長変換の場合、{0、1、2、3、4}である。
【0086】
狭帯域かつ短変換の場合、{-3、-2、-1、0}である。
【0087】
広帯域かつ短変換の場合、{-3、-2、-1、0、1}である。
【0088】
セクション2:シーケンス符号化
【0089】
セクション2.1:基本要素
【0090】
符号化処理への入力は、シーケンス又はベクトルc=[c0、c1、...、cM-1]であり、ここで、量Mは、有効帯域の数であり、値ciは、上記の段落からの適切な範囲にある。
【0091】
シーケンスcから、第1の差分シーケンス又はベクトルd=[d0、d1、...、dM-1]を導出でき、ここで、d0=c0であり、di=ci-ci-l、0<i<Mである。符号化のパラメータdが規定され、このパラメータは、どのシーケンスがビットストリームに符号化されるか、すなわち、パラメータdが0である場合に、シーケンスc、パラメータdがlである場合に、シーケンスdを信号で伝えるものである。パラメータdがどのようにして決定されるかについての説明は、以下に従う。
【0092】
シーケンス又はベクトルs=[s0、s1、...、sM-1]が与えられた場合に、シーケンスc又はシーケンスdのどちらであり得るかを符号化するために、以下が規定される。
【0093】
【0094】
量head(s)は、最初の座標から最後の非ゼロ座標まで延びるシーケンスsのサブシーケンスの長さである。このサブシーケンスは、sのヘッドと呼ばれる。シーケンスsが全てゼロのシーケンスである場合でその場合にのみ、head(s)=0であることに留意されたい。
【0095】
量head(s)は、以下のように符号化される。量head(s)がゼロに等しい場合に、エンコーダは、ゼロビットを書き込んで停止する。この場合、ゼロビットは、全てゼロである再形成ベクトル全体を表すので、更なる符号化は必要ない。量head(s)がゼロより大きい場合には、エンコーダは、サイズMのアルファベット上の準一様符号を使用して量head(s)-1を符号化する。
【0096】
サイズαのアルファベット上の準一様符号は、以下のようにL1=[log2 α]ビット又はL2=[log2 α]ビットの何れかを使用して{0、1、...、α-1}における整数を符号化する。
【0097】
【0098】
0<=x<n1であるシンボルxは、L1ビットにおけるこれらのバイナリ表現で符号化される。
【0099】
1<=x<n1+n2であるシンボルx、は、L2ビットにおけるx+n1のバイナリ表現で符号化される。
【0100】
sのヘッドでのシンボルは、シンボルごとに符号化される。符号化の前に、各シンボルは、パラメータd、長変換対短変換、及び狭帯域対広帯域の選択に依存するマッピングを使用してマッピングされる。このマッピングは、図8に示されている擬似コード関数MapTFSymbolで規定される。入力シンボルシーケンスs、変数d、ブール量is_long及びis_narrowが、パラメータとして与えられていると仮定する。
【0101】
図8は、全ての場合において、範囲[0、α)内の非負整数(すなわち、{0、1、...、α-1})をもたらすマッピングを示しており、ここで、量αは、狭帯域の場合に4であり、広帯域の場合に5である。マッピングされたシンボルに対する2つのコード選択肢が存在し、これらのシンボルは、バイナリフラグkを用いてパラメータ化される。
【0102】
k=0:サイズαのアルファベット上の単進符号である。この単進符号は、{0、1、...、α-2}における整数iを、i個の「0」に続く、符号化の終了を示す「1」からなるシーケンスで符号化する。整数α-1は、終端の「1」を伴わずにα-1個の「0」からなるシーケンスで符号化される。
【0103】
k=l:サイズαのアルファベット上の準一様符号である。
【0104】
バイナリフラグkがどのようにして決定されるかについて以下で説明する。
【0105】
セクション2.2:符号化
【0106】
パラメータd及びkは既知であると仮定する。ペア(d、k)は、図9に示されているように得られる1つのシンボルとして符号化される。結果として生じるシンボルは、Golombコードを用いて符号化され、置換配列map_dk_pairは、(d=1、k=0)が最も可能性が高く最短の符号語を受け取る状態で、ペア(d、k)の出現確率の降順でインデックスを割り当てる。
【0107】
符号化手順は、図10の擬似コードに要約されている。変数seqは、入力シーケンスcを表す。帯域の数は、グローバル変数num_bandsで利用可能である。
【0108】
セクション2.3:パラメータ最適化
【0109】
パラメータd及びkを決定するために、エンコーダは、バイナリ値の4つの組み合わせの全てを試行し、最短符号長を与える1つを選択する。このことは、実際の符号化を必要としない符号長関数を使用して行われる。
【0110】
セクション3:シーケンス復号
【0111】
デコーダは、エンコーダのステップを単に逆にしたものであり、例外は、デコーダがビットストリームからパラメータd及びkを読み取り、これらのパラメータを最適にする必要がない点である。復号手順は、図11の擬似コードに要約されており、この図において、量num_bandsは、既知の帯域数である。
【符号の説明】
【0112】
100 符号化システム
102 デジタルオーディオ信号
104 ビットストリーム
106 プロセッサ
108 メモリデバイス
110 命令
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12