JP4369140B2 - Audio high-efficiency encoding apparatus, audio high-efficiency encoding method, audio high-efficiency encoding program, and recording medium therefor - Google Patents
Audio high-efficiency encoding apparatus, audio high-efficiency encoding method, audio high-efficiency encoding program, and recording medium therefor Download PDFInfo
- Publication number
- JP4369140B2 JP4369140B2 JP2003037702A JP2003037702A JP4369140B2 JP 4369140 B2 JP4369140 B2 JP 4369140B2 JP 2003037702 A JP2003037702 A JP 2003037702A JP 2003037702 A JP2003037702 A JP 2003037702A JP 4369140 B2 JP4369140 B2 JP 4369140B2
- Authority
- JP
- Japan
- Prior art keywords
- band
- zero
- scale factor
- data
- difference
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、オーディオ信号をスペクトルデータに変換し、可変長符号化を用いてスペクトルデータを高能率符号化するオーディオ高能率符号化装置、オーディオ高能率符号化方法、オーディオ高能率符号化プログラム及びその記録媒体に関する。
【0002】
【従来の技術】
近年、オーディオ信号をスペクトルデータに変換し、可変長符号化を用いてスペクトルデータを符号化することにより、符号化効率を改善したオーディオ高能率符号化方法が提案されている。
【0003】
このようなオーディオ高能率符号化方法としては、MPEG−2 AAC(Advanced Audio Coding)の規格書(非特許文献1参照)に記載されたものが知られている。以下では、前記非特許文献1記載のMPEG−2 AAC(以下AACと略す)のローコンプレキシティプロファイル(Low Complexity Profile)を例にとって、可変長符号化を用いてスペクトルデータを高能率符号化する従来の技術について説明する。
【0004】
図13は、従来のAACエンコーダの構成を示すブロック図である。このAACエンコーダには、フィルタバンク101、102、インテンシティステレオデータ生成部110、ミッドサイド(M/S)ステレオデータ生成部120、量子化部130、符号化部140が設けられている。このような構成のAACエンコーダの動作について説明する
【0005】
フィルタバンク101に入力された左チャンネル(Lch)の時間軸のオーディオ信号は、所定の時間サンプル、即ち長変換ブロックの場合2048サンプルで、短変換ブロックの場合256サンプルからなる変換ブロックに分割される。そして、MDCT(Modified Discrete Cosine Transform,変形離散コサイン変換)によりスペクトルデータ(MDCT係数)に変換される。この変換は変換ブロックを50%ずつオーバーラップして実行し、長変換ブロックの場合には2048サンプルを1024本のスペクトルデータに変換する。また、短変換ブロックの場合には256サンプルを128本のスペクトルデータに変換する。
【0006】
8個連続で短変換ブロックを変換することにより、短変換ブロックの出力スペクトルデータの本数を8×128=1024本として、長変換ブロックと一致させる。このチャンネル当り1024本のスペクトルデータが符号化の単位である。次に、1024本のスペクトルデータは、人間の耳の臨界帯域特性を模擬したスケールファクタバンドと呼ばれるバンド単位にグループ化される。
【0007】
同様に、フィルタバンク102に入力された右チャンネル(Rch)の時間軸のオーディオ信号は、変換ブロックに分割され、MDCTにより1024本のスペクトルデータに変換される。次に、1024本のスペクトルデータはスケールファクタバンド単位にグループ化される。
【0008】
インテンシティステレオデータ生成部110は、スケールファクタバンド単位でインテンシティステレオ処理の有無情報を出力すると共に、インテンシティステレオ処理を行うスケールファクタバンドに対しては、左チャンネルのインテンシティステレオ処理されたスペクトルデータと、2つのチャンネルの位相関係を示す情報と、左チャンネルに対する右チャンネルの指向性ゲインを示すインテンシティステレオポジションとを算出して出力する。またインテンシティステレオデータ生成部110は、インテンシティステレオ処理を行わないスケールファクタバンドに対しては、左右のチャンネルのスペクトルデータをそのまま出力する。
【0009】
左チャンネルのインテンシティステレオ処理されたスペクトルデータは、左チャンネルと右チャンネルのスペクトルデータの和(2つのチャンネルの位相関係が同相の場合)、あるいは差(2つのチャンネルの位相関係が逆相の場合)を、そのパワーレベルが左チャンネルの元のパワーレベルと一致するようにゲインを補正することにより生成される。そして右チャンネルのスペクトルデータは零に設定される。なお、この零スペクトルデータは符号化データとしては伝送されない。
【0010】
ミッドサイドステレオデータ生成部(M/Sステレオデータ生成部)120は、スケールファクタバンド単位でミッドサイドステレオ処理の有無情報と、ミッドサイドステレオ処理ありの場合にはミッドサイドステレオ処理されたミッドスペクトルデータ及びサイドスペクトルデータとを生成する。ミッドスペクトルデータは左チャンネルと右チャンネルのスペクトルデータの和の1/2で生成され、左チャンネルのスペクトルデータとして出力される。また、サイドスペクトルデータは左チャンネルと右チャンネルのスペクトルデータの差の1/2で生成され、右チャンネルのスペクトルデータとして出力される。インテンシティステレオ処理とミッドサイドステレオ処理を共に行わないスケールファクタバンドの場合、左右のチャンネルにおける元のスペクトルデータがそのまま出力される。なお、インテンシティステレオ処理とミッドサイドステレオ処理とは排他的な関係にあり、一方の処理を選択すると他方の処理を選択することはできない。
【0011】
量子化部130は、スケールファクタバンド単位でスペクトルデータのゲインを示すスケールファクタと、前記ゲインで正規化されたスペクトルデータとの量子化を行う。左右のチャンネルのスペクトルデータをスケールファクタバンド毎に、聴覚モデルに基づいてスペクトルデータのマスキングレベル、すなわち許容量子化ノイズレベルを算出し、算出された許容量子化ノイズレベルに基づいてスケールファクタと正規化されたスペクトルデータとの量子化を行う。
【0012】
符号化部140では、量子化されたデータに対してハフマンコードによる可変長符号化を用いて符号化処理を行い、符号化データを生成して出力する。量子化部130と符号化部140の処理は、符号化データに必要なビット数を利用可能なビット数以下に調整するため、動作を繰り返して行うことにより実行される。
【0013】
以下、符号化部140で生成する符号化データのフォーマットについて説明する。ステレオオーディオ信号の場合、符号化データは、2つのチャンネルで共通のデータとチャンネル毎に固有のデータとからなる。最初にチャンネル毎のデータについて説明する。チャンネル毎の主要な符号化データとしては、セクションデータ、スケールファクタデータ、符号化スペクトルデータの3つのデータがあげられる。
【0014】
最初にセクションデータ(非特許文献1のsection_data())について説明する。セクションとは、同一のコードブックを使用するスケールファクタバンドの集合のことである。セクションデータは、セクションで使用するコードブック番号と、スケールファクタバンドを単位とするセクションの長さとからなるセクション毎のデータを、すべてのセクションに対して繰り返したものである。
【0015】
AACでは、量子化されたスペクトルデータの符号化にコードブック番号1から11の11種類のハフマンコードブックを用いる。また、特別なコードブック番号として、スケールファクタバンド内の量子化されたスペクトルデータがすべて零データであることを表すコードブック番号0、インテンシティステレオ処理で2つのチャンネルの位相関係が同相であることを表すコードブック番号15、インテンシティステレオ処理で2つのチャンネルの位相関係が逆相であることを表すコードブック番号14の3つのコードブック番号がある。
【0016】
AACでは、符号化効率を改善するため、零データを表すコードブック番号0のセクションのスケールファクタと量子化されたスペクトルデータは符号化データとして伝送されない。
【0017】
上記したセクションデータのフォーマットから明らかなように、セクションの数が多いほどセクションデータに必要なビット数は増加する。したがって、複数のハフマンコードブックが選択可能な場合、セクションデータと符号化スペクトルデータとを合わせた合計の符号化データビット数が小さくなるようにコードブックを選択してセクションを形成する。このようにセクションを形成する処理をセクショニングと呼ぶ。セクショニングにより、スケールファクタバンド内のすべての量子化されたスペクトルデータが零でもコードブック番号0を使わない場合が発生する。
【0018】
スケールファクタデータ(非特許文献1のscale_factor_data())は、すべてのスケールファクタバンドに対してスケールファクタを符号化したデータと、インテンシティステレオポジションを符号化したデータとからなる。
【0019】
スケールファクタはスケールファクタバンドの1.5dB単位のゲインを表し、スケールファクタの符号化は、スケールファクタバンド間のスケールファクタの差分をハフマンコードで可変長符号化することによってなされる。スケールファクタの符号化データは、初期値と可変長符号化されたスケールファクタの差分とからなる。可変長符号化するときのスケールファクタの差分は±60以内である。
【0020】
図14及び図15はスケールファクタの差分の可変長符号化に用いられるハフマンコードの符号長を示したものである。図14及び図15において、indexはハフマンコードブックを参照する時のアドレスを表し、スケールファクタの差分に60を加算した値である。またdsfはスケールファクタの差分を表わし、lengthはハフマンコードの符号長(単位はビット)を表す。図14はindexが0〜59までの、図15はindexが60〜120までのdsfとlengthとを示す。図15に示すように、ハフマンコードの符号長が最も短いときの差分(dsf)は0で、符号長(length)は1ビットである。
【0021】
インテンシティステレオ処理されたスケールファクタバンドの右チャンネルでは、スケ−ルファクタデータとして、スケールファクタの代わりにインテンシティステレオポジションを伝送する。
【0022】
インテンシティステレオポジションは、左チャンネルに対する右チャンネルの1.5dB単位の指向性ゲインを表す。インテンシティステレオポジションの符号化は、スケールファクタの符号化と同様な方法でなされる。すなわち、隣接するインテンシティステレオ処理されたスケールファクタバンドのインテンシティステレオポジションの差分を、スケールファクタと同一のハフマンコードブックを使って可変長符号化する。ただし、スケールファクタの差分の初期値は符号化データとして伝送されるのに対し、インテンシティステレオポジションの差分の初期値は常に0であり、伝送されない。
【0023】
符号化スペクトルデータ(非特許文献1のspectral_data())は、セクションとして選択したハフマンコードブックを使って量子化されたスペクトルデータを符号化したデータである。ハフマンコードブック番号が零データを表す0、あるいはインテンシティステレオ処理を表す14、15の場合には、スペクトルデータは伝送されない。
【0024】
次に2つのチャンネルで共通な符号化データとして、M/S有無・IS位相反転フラグ(非特許文献1のms_used)と、MSマスク(非特許文献1のms_mask_present)とについて以下に説明する。
【0025】
M/S有無・IS位相反転フラグは、ミッドサイドステレオ処理の有無、あるいはインテンシティステレオ(IS)処理の位相反転の有無を表すフラグで、スケールファクタバンド当り1ビットのフラグである。具体的には次の状態を表す。
1)M/S有無・IS位相反転フラグ=0
M/S処理なし、あるいはIS処理の位相反転なし
2)M/S有無・IS位相反転フラグ=1
M/S処理あり、あるいはIS処理の位相反転あり
【0026】
本フラグが、M/S処理の有無を表すか、IS処理の位相反転の有無を表すかは、右チャンネルのコードブック番号によって決定される。前記コードブック番号がインテンシティステレオ処理を表す場合はIS処理の位相反転の有無を、そうでない場合はM/S処理の有無を表す。
【0027】
MSマスクは、M/S有無・IS位相反転フラグの符号化方法を表し、次の状態を表す。
1)MSマスク=0
すべてのM/S有無・IS位相反転フラグの値は0
2)MSマスク=1
バンド単位のM/S有無・IS位相反転フラグを伝送して指定
3)MSマスク=2
すべてのM/S有無フラグの値は1(IS位相反転フラグの値は0)
MSマスクの値が0あるいは2の場合には、M/S有無・IS位相反転フラグは符号化データとして伝送されない。
【0028】
図16は、インテンシティステレオ処理された符号化データの例で、符号化データを説明するための図である。簡単のため、スケールファクタバンドの数は6としている。同図で、dsfはスケールファクタの差分(スケールファクタの差分の初期値は省略)、dispはインテンシティステレオポジションの差分、sdはスペクトルデータを表わす。また、「−」は該当するデータが伝送されないことを表す。
【0029】
最初に左チャンネルのデータ(Lchデータ)について説明する。この例では、セクションの数は3である。セクションデータを(コードブック番号,長さ)で表すと、セクションデータは(3,3),(0,1),(1,2)である。左チャンネルのスケールファクタバンド番号3のコードブック番号は0であり、スケールファクタデータの差分とスペクトルデータは伝送されない。
【0030】
次に右チャンネルのデータ(Rchデータ)について説明する。この例では、右チャンネルのセクションの数は3であり、セクションデータは、(3,2),(2,2)(15,2)である。右チャンネルのスケールファクタバンド番号4と5のコードブック番号は15で、インテンシティステレオ処理されていることを表す。インテンシティステレオ処理されたスケールファクタバンドでは、スケールファクタの差分の代わりにインテンシティステレオポジションの差分が伝送され、スペクトルデータは伝送されない。
【0031】
左右のチャンネルの共通データについて説明する。この例では、MSマスクの値が1であり、M/S有無・IS位相反転フラグが伝送される。右チャンネルのデータのコードブック番号から、スケールファクタバンド番号0から3のM/S有無・IS位相反転フラグはM/S処理の有無を表し、スケールファクタバンド番号4と5の前記フラグはIS位相反転の有無を表す。
【0032】
【非特許文献1】
ISO/IEC JTC1/SC29/WG11 N1650, "IS ISO/IEC 13818-7 (MPEG-2 Advanced Audio Coding, AAC)", 1997年4月, p.14-20, p.33-38, p.51-62, p.92-93, ANNEX B Informative Part p.57-68
【0033】
【発明が解決しようとする課題】
しかしながら、上記従来の符号化方法では、バンド内の量子化されたスペクトルデータがすべて零であることを検出し、前記検出結果に基づいてデータを置き換えることにより、より少ないビット数で符号化データを生成するための部を備えていない。このため制限されたビットレートの環境下では符号化効率が劣化し、音質が劣化することがあるという課題があった。
【0034】
本発明は上記問題点を解決するもので、符号化効率が向上した符号化データを生成することのできるオーディオ高能率符号化装置及びその方法を実現することを目的とする。すなわち、より少ないビット数で従来と同一の復号結果を得ることが可能な符号化データを生成すると共に、削減したビットを音質に寄与する他のデータに割り当て、音質を向上することのできるオーディオ高能率符号化装置、オーディオ高能率符号化方法、オーディオ高能率符号化プログラム及びその記録媒体を実現することを目的とする。
【0035】
【課題を解決するための手段】
第1の発明は、スペクトルデータを、バンド単位のゲインを示すスケールファクタと前記ゲインで正規化されて量子化されたスペクトルデータとで表し、隣接するバンドのスケールファクタの差分を可変長符号化する符号化装置であって、バンド内のすべての前記量子化されたスペクトルデータが零であるか否かを検出する零検出部と、前記零であることが検出されたバンドのスケールファクタを、差分可変長符号化後に最も短い符号長となる値に置き換えるデータ置換部と、を備えたことを特徴とするオーディオ高能率符号化装置及びその方法である。
【0036】
又第2の発明は、スペクトルデータを、バンド単位のゲインを示すスケールファクタと前記ゲインで正規化されて量子化されたスペクトルデータとで表し、隣接するバンドのスケールファクタの差分を可変長符号化する符号化装置であって、バンド内のすべての前記量子化されたスペクトルデータが零であるか否かを検出する零検出部と、前記零であることが検出されたバンドと隣接するバンドとのスケールファクタの差分が可変長符号化の最も短い符号長の値となるように、前記零であることが検出されたバンドのスケールファクタを別の値に置き換えるデータ置換部と、を備えたことを特徴とするオーディオ高能率符号化装置及びその方法である。
【0039】
ここで可変長符号化の最も短い符号長の値を零とすることとしてもよい。
【0042】
又第3の発明は、請求項4又は5記載のオーディオ高能率符号化方法を、コンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムである。
【0043】
更に第4の発明は、請求項4又は5記載のオーディオ高能率符号化方法を、コンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0044】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。各実施の形態の説明では、本発明のオーディオ高能率符号化方法をAACエンコーダに適用した場合を例として説明する。
【0045】
最初に本発明の各実施の形態におけるオーディオ高能率符号化方法に共通で、特徴的なポイントについてまとめて説明し、次に各実施の形態について固有の特徴的なポイントについて個々に説明する。
【0046】
図1は、本発明の実施の形態におけるオーディオ高能率符号化方法によるAACエンコーダの構成を示すブロック図である。図1に示すAACエンコーダは、フィルタバンク101、102、インテンシティステレオデータ生成部110、ミッドサイド(M/S)ステレオデータ生成部120、量子化部130、符号化部140、零検出部151、152、データ置換部160を含んで構成される。なお、図1において図13と同じ構成要素については同じ符号を用い、説明を省略する。
【0047】
以下、本発明の特徴的なポイントである零検出部151、152とデータ置換部160とについて、その動作を説明する。零検出部151は、量子化部130からの左チャンネルの量子化されたスペクトルデータを用いて、スケールファクタバンド内の量子化されたスペクトルデータがすべて零であるか否かを検出し、検出結果をデータ置換部160に出力する。
【0048】
同様に、零検出部152は量子化部130からの右チャンネルの量子化されたスペクトルデータがスケールファクタバンド内ですべて零であるか否かを検出し、検出結果をデータ置換部160に出力する。インテンシティステレオ処理された右チャンネルのスケールファクタバンドに関しては、零検出部152での零検出処理は不要である。
【0049】
以下、零検出部151、152で零であることが検出されたスケールファクタバンドを零検出バンドと呼び、また、零であることが検出されなかったスケールファクタバンドを非零検出バンドと呼ぶことにする。
【0050】
データ置換部160は、零検出部151、152からの零検出結果に基づいて零検出バンドのデータを置き換えて符号化部140に出力する。インテンシティステレオ処理されたスケールファクタバンドの場合、右チャンネルの復号は左チャンネルの復号結果に基づいて行われるので、左チャンネルの零検出部151からの検出結果に基づいて、対応する右チャンネルのスケールファクタバンドのインテンシティステレオポジションやコードブック番号を置き換える。
【0051】
符号化部140は、データ置換部160で置換されたデータを用いて符号化を行い、符号化データを生成して出力する。
【0052】
(実施の形態1)
図2は、実施の形態1のオーディオ高能率符号化装置において、データ置換部160Aの構成を示すブロック図である。このデータ置換部160Aには、非零バンド間スケールファクタ差分算出部211、212、零バンドスケールファクタ差分算出部221、222、零バンドスケールファクタ置換部231、232が設けられている。図2の上段における非零バンド間スケールファクタ差分算出部211、零バンドスケールファクタ差分算出部221、零バンドスケールファクタ置換部231は、左チャンネルのデータ用である。下段における非零バンド間スケールファクタ差分算出部212、零バンドスケールファクタ差分算出部222、零バンドスケールファクタ置換部232は右チャンネルのデータ用である。左チャンネルと右チャンネルの動作は同一であるので、以下では左チャンネルの動作について説明し、右チャンネルの動作については説明を省略する。
【0053】
非零バンド間スケールファクタ差分算出部211は、零検出部151で非零検出バンドと検出されたスケールファクタバンド間のスケールファクタの差分を算出する。
【0054】
零バンドスケールファクタ差分算出部221は、非零検出バンド間スケールファクタ差分算出部211からの非零検出バンド間のスケールファクタの差分を用いて、非零検出バンド間のスケールファクタの差分を変えることなく、零検出バンドと隣接するスケールファクタバンドのスケールファクタの差分を可変長符号化後に最も短い符号長にする値を算出する。
【0055】
iをスケールファクタバンドの番号とし、sf(i)をiのスケールファクタとする。ここでiとi+2を非零検出バンドとし、i+1を零検出バンドとする場合を考える。sf(i+2)−sf(i)の値を用いて、表を参照することにより、図14及び図15のハフマンコードによる可変長符号化後の符号長を最小にする差分sf(i+1)−sf(i)の値を算出する。
【0056】
図3〜図6は、図14及び図15のハフマンコードを用いて、2つの差分dsf1とdsf2の和が一定という条件で、dsf1とdsf2の合計の符号長を最小にするdsf1とdsf2の値と、そのときの合計の符号長lengthを示す表である。ここでdsf1とdsf2の値は入れ替えてもよい。なお、図3はdsf1+dsf2の値が−120〜−61までのdsf1、dsf2、lengthを示す。また図4はdsf1+dsf2の値が−60〜−1までの値を示し、図5はdsf1+dsf2の値が0〜59までの値を示し、図6はdsf1+dsf2の値が60〜120までの値を示す。
【0057】
非零検出バンド間のスケールファクタの差分sf(i+2)−sf(i)が、例えば−4の場合を考える。図3〜図6において、dsf1+dsf2が−4となる行を参照すると、図4に示すように可変長符号化後の符号長を最小にするsf(i+1)−sf(i)の値は−4(dsf1)か0(dsf2)であり、このときのsf(i+2)−sf(i+1)の値はそれぞれ0、−4であることが算出できる。
【0058】
零検出バンドがk個(ただし、kは正整数)連続する場合には、所定の差分を(k+1)個の差分の和として表した同様な表を参照することにより、可変長符号化後の符号長を最小とする差分を算出することができる。
【0059】
零バンドスケールファクタ置換部231では、零検出バンドの1つ前のスケールファクタバンドにおけるスケールファクタに対して、零バンドスケールファクタ差分算出部221で算出した差分を加算した値を算出し、零検出バンドのスケールファクタを置き換える。零検出バンドでは、すべての量子化されたスペクトルデータは零なので、ゲインを表すスケールファクタの値を変化させても同一の復号結果を得ることができる。
【0060】
なお、スケールファクタの符号化時にはスケールファクタの差分を算出することが必要であり、図7に示すような構成として、零バンドスケールファクタ差分算出部221、222で算出された零検出バンドのスケールファクタの差分を直接出力し、符号化部140では、前記スケールファクタの差分を直接可変長符号化するようにしてもよい。この場合、零バンドスケールファクタ差分算出部221、222では、零検出バンドと隣接する2つのスケールファクタバンドとの2つのスケールファクタの差分を算出して出力する必要がある。すなわち、上記した例では、sf(i+1)−sf(i)とsf(i+2)−sf(i+1)の2つの差分を算出して出力することが必要である。
【0061】
実施の形態1によれば、スケールファクタの伝送が必要なコードブック番号が1から11のスケールファクタバンドに対して、スケールファクタデータの符号化に必要なビット数を削減することが可能である。しかしながら、コードブック番号が0のスケールファクタバンドでは、スケールファクタを伝送する必要がないので、スケールファクタデータのビット数を削減することはできない。
【0062】
以上のように実施の形態1では、零検出部151、152からの零検出バンド/非零検出バンドの検出結果に基づいて、零検出バンドのスケールファクタを差分可変長符号化後に最も短い符号長となる値に零バンドスケールファクタ置換部231、232で置き換えることにより、より少ないビット数で従来と同一の復号結果を得ることができ、符号化効率が向上した符号化データを生成することができる。さらに、削減したビットを音質に寄与する他のデータに割り当てることにより、音質を向上させることができる。
【0063】
(実施の形態2)
次に本発明の実施の形態2におけるオーディオ高能率符号化装置について説明する。図8は実施の形態2のオーディオ高能率符号化装置におけるデータ置換部160Bの構成を示すブロック図である。図8において、図2と同じ構成要素については同じ符号を用いる。このデータ置換部160Bには、非零バンド間スケールファクタ差分算出部211、212、差分範囲判定部241、242、零バンドスケールファクタ差分設定部251、252、零バンドスケールファクタ置換部231、232が設けられる。
【0064】
図8の上段において、非零バンド間スケールファクタ差分算出部211、差分範囲判定部241、零バンドスケールファクタ差分設定部251、零バンドスケールファクタ置換部231は、左チャンネルのデータ用である。下段の非零バンド間スケールファクタ差分算出部212、差分範囲判定部242、零バンドスケールファクタ差分設定部252、零バンドスケールファクタ置換部232は、右チャンネルのデータ用である。左チャンネルと右チャンネルの動作は同一であるので、以下では左チャンネルの動作について説明し、右チャンネルの動作については説明を省略する。
【0065】
非零バンド間スケールファクタ差分算出部211は、図1の零検出部151で非零検出バンドとして検出されたスケールファクタバンド間のスケールファクタの差分を算出する。
【0066】
差分範囲判定部241は、非零バンド間スケールファクタ差分算出部211からの非零検出バンド間のスケールファクタの差分が所定の範囲内にあるか否か、本実施の形態では±60以内にあるか否かを判定し、判定結果を出力する。
【0067】
零バンドスケールファクタ差分設定部251は、差分範囲判定部241からの出力に基づいて、非零検出バンド間のスケールファクタの差分が±60以内にあるときには、零検出バンドと隣接するスケールファクタバンドのスケールファクタの差分を、可変長符号化の最も短い符号長である値に設定する。本実施の形態では、可変長符号化に図14及び図15のハフマンコードを用いる。最も短い符号長は1ビットであり、このときの値は0である。
【0068】
iをスケールファクタバンドの番号、sf(i)をiのスケールファクタ、iとi+2を非零検出バンドで、i+1を零検出バンドとした場合、sf(i+2)−sf(i)が±60以内のとき、差分sf(i+1)−sf(i)の値を0に設定する。
【0069】
零検出バンドが2つ以上続く場合には、すべての零検出バンドに対して隣接するスケールファクタバンドとのスケールファクタの差分を0に設定する。零バンドスケールファクタ置換部231は、零検出バンドの1つ前のスケールファクタバンドにおけるスケールファクタに、零バンドスケールファクタ差分設定部251で設定した差分を加算した値を算出し、零検出バンドのスケールファクタを置き換える。本実施の形態では差分は0に設定されているので、sf(i+1)はsf(i)と同一の値に置き換えられる。
【0070】
零検出バンドでは、すべての量子化されたスペクトルデータは零なので、ゲインを表すスケールファクタの値を変化させても同一の復号結果を得ることができる。
【0071】
実施の形態2では、零検出バンドと隣接するスケールファクタバンドのスケールファクタの差分を固定値に設定すれば良いので、実施の形態1で用いた図3〜図6の表は不要である。
【0072】
また、実施の形態2では、実施の形態1と比較して、非零検出バンド間のスケールファクタにおける差分の範囲が±60以内の条件(非零検出バンド間のスケールファクタの差分を変えないための条件)が必要である。しかし、スケールファクタの±60は、±90dB(=±60×1.5dB)のゲインに対応し、ほとんどの場合この条件を満足するので、実質的に制約条件とはならない。
【0073】
また、スケールファクタの差分可変長符号化後の符号長に関しても、実施の形態2で対応可能な121個(±60の範囲内における整数の個数)の差分の内、120個の差分で最小の値であり、残りの1個も最小より1ビット長いだけという、ほぼ最適な可変長符号化を実現できる。すなわち、図3〜図6におけるdsf1+dsf2が±60の範囲内で、dsf1+dsf2が31の場合を除いて、dsf1、あるいはdsf2の値は0としている。また、dsf1が0(1ビット)、dsf2が31(19ビット)でdsf1+dsf2が31の場合の符号長は20(=1+19)ビットであり、これは図5に示す最小時の19ビットより1ビット長い。
【0074】
なお、スケールファクタの符号化時にはスケールファクタの差分を算出することが必要なので、実施の形態1で説明したのと同様に、零バンドスケールファクタ差分設定部251で算出された零検出バンドのスケールファクタの差分を出力し、符号化部140が前記スケールファクタの差分を直接可変長符号化するようにしてもよい。
【0075】
実施の形態2によれば、スケールファクタの伝送に必要なコードブック番号が1から11のスケールファクタバンドでは、スケールファクタデータの符号化に必要なビット数を削減することが可能である。しかしながら、コードブック番号が0のスケールファクタバンドでは、スケールファクタを伝送する必要がないので、スケールファクタデータのビット数を削減することはできない。
【0076】
以上のように実施の形態2では、零検出部151、152からの零検出バンド/非零検出バンドの検出結果に基づいて、零検出バンドと隣接するスケールファクタバンドのスケールファクタの差分が可変長符号化の最も短い符号長の値となるように、零検出バンドのスケールファクタを零バンドスケールファクタ置換部231、232で置き換える。このような簡単な処理により、少ないビット数で従来と同一の復号結果を得ることができ、符号化効率が向上した符号化データを生成することができる。さらに、削減したビットを音質に寄与する他のデータに割り当てることにより、音質を向上させることができる。
【0077】
なお、実施の形態2では、非零検出バンド間のスケールファクタの差分が所定の範囲内(±60以内)である場合にのみ、零検出バンドのスケールファクタの置き換えを行った。しかし、零検出バンドのスケールファクタの置き換えを常に行い、非零検出バンド間のスケールファクタの差分が所定の範囲外となるときには、所定の範囲内となるように非零検出バンド間のスケールファクタの差分を制限するようにしてもよい。スケールファクタの差分が±60(±90dB)の範囲外となる場合はほとんどないので、このようにしても実施の形態2とほぼ同じ結果を得ることができる。
【0078】
(実施の形態3)
次に本発明の実施の形態3におけるオーディオ高能率符号化装置について説明する。図9は実施の形態3のオーディオ高能率符号化装置におけるデータ置換部160Cの構成を示すブロック図である。このデータ置換部160Cには、非零バンド間ISポジション差分算出部310、零バンドISポジション差分算出部320、零バンドISポジション置換部330が設けられている。
【0079】
非零バンド間ISポジション差分算出部310では、インテンシティステレオ処理されて左チャンネルの零検出部151で非零検出バンドと検出された場合、スケールファクタバンド間の右チャンネルのインテンシティステレオ(IS)ポジションの差分を算出する。
【0080】
零バンドISポジション差分算出部320では、非零バンド間ISポジション差分算出部310からの非零検出バンド間のインテンシティステレオポジションの差分を用いて、非零検出バンド間のインテンシティステレオポジションの差分を変えることなく、零検出バンドと隣接するスケールファクタバンドのインテンシティステレオポジションの差分を可変長符号化後に最も短い符号長にする値を算出する。
【0081】
iをスケールファクタバンドの番号、isp(i)をiのインテンシティステレオポジション、iとi+2を非零検出バンドとし、i+1を零検出バンドとした場合、isp(i+2)−isp(i)の値を用いて、図3〜図6に示す表を参照することにより、図14及び図15のハフマンコードによる可変長符号化後の符号長を最小にする差分isp(i+1)−isp(i)の値を算出する。
【0082】
インテンシティステレオポジションの差分の可変長符号化に用いるハフマンコードは、スケールファクタの差分の可変長符号化に用いるハフマンコードと同一なので、実施の形態1で用いた表をそのまま使用することができる。
【0083】
例えば、非零検出バンド間のインテンシティステレオポジションの差分isp(i+2)−isp(i)が0の場合、図3〜6の可変長符号化後の符号長を最小にするsf(i+1)−sf(i)の値は0であり、このときのisp(i+2)−isp(i+1)の値も0である。
【0084】
零バンドISポジション置換部330は、零検出バンドの1つ前のスケールファクタバンドにおけるインテンシティステレオポジションに、零バンドISポジション差分算出部320で算出した差分を加算した値を算出し、零検出バンドの右チャンネルのインテンシティステレオポジションを置き換える。
【0085】
例えば、置き換え前のインテンシティステレオポジションの値をisp(i)=4、isp(i+1)=−4、isp(i+2)=4とし、iとi+2とを非零検出バンドとし、i+1を零検出バンドとした場合、isp(i+1)=4に置き換える。この結果、置き換え前はisp(i+1)−isp(i)=−8(8ビット)と、isp(i+2)−isp(i+1)=8(8ビット)で合わせて符号化に16(=8+8)ビットが必要であった。これに対し、置き換え後は、isp(i+1)−isp(i)=0(1ビット)となり、isp(i+2)−isp(i+1)=0(1ビット)となり、計2(=1+1)ビットでよいので、符号化に必要なビット数を14(=16−2)ビット削減できる。
【0086】
零検出バンドでは、すべての量子化されたスペクトルデータは零なので、左チャンネルに対する右チャンネルの指向性ゲインを表すインテンシティステレオポジションの値を変化させても、同一の復号結果を得ることができる。
【0087】
なお、インテンシティステレオポジションの符号化時にはインテンシティステレオポジションの差分を算出することが必要なので、データ置換部を図10に示すような構成として、零バンドISポジション差分算出部320で算出された零検出バンドの右チャンネルにおけるインテンシティステレオポジションの差分を出力し、図1の符号化部140が前記インテンシティステレオポジションの差分を直接可変長符号化するようにしてもよい。この場合、零バンドISポジション差分算出部320では、零検出バンドと隣接する2つのスケールファクタバンドとの2つのインテンシティステレオポジションの差分を設定する必要がある。すなわち、上記した例では、isp(i+1)−isp(i)と、isp(i+2)−isp(i+1)との2つの差分を算出して出力することが必要である。
【0088】
実施の形態3によれば、右チャンネルのコードブック番号がインテンシティステレオ処理を表す14か15の場合、スケールファクタデータ中のインテンシティステレオポジションの符号化に必要なビット数を、その最小のビット数まで削減することが可能である。
【0089】
以上のように実施の形態3では、零検出部151からの零検出バンド/非零検出バンドの検出結果に基づいて、零検出バンドのインテンシティステレオポジションを、差分可変長符号化後に最も短い符号長となる値に零バンドISポジション置換部330で置き換えることにより、より少ないビット数で従来と同一の復号結果を得ることができ、符号化効率が向上した符号化データを生成することができる。さらに、削減したビットを音質に寄与する他のデータに割り当てることにより、音質を向上させることができる。
【0090】
(実施の形態4)
次に本発明の実施の形態4におけるオーディオ高能率符号化装置について説明する。図11は実施の形態4のオーディオ高能率符号化方法におけるデータ置換部160Dの構成を示すブロック図である。図9と同じ構成要素については同じ符号を用いる。このデータ置換部160Dには、非零バンド間ISポジション差分算出部310、差分範囲判定部340、零バンドISポジション差分設定部350、零バンドISポジション置換部330が設けられている。
【0091】
非零バンド間ISポジション差分算出部310は、インテンシティステレオ処理されて左チャンネルの零検出部151で非零検出バンドと検出されたスケールファクタバンド間の右チャンネルにおけるインテンシティステレオポジションの差分を算出する。
【0092】
差分範囲判定部340は、非零バンド間ISポジション差分算出部310からの非零検出バンド間のインテンシティステレオポジションの差分が所定の範囲内、即ち本実施の形態では±60以内にあるか否かを判定し、判定結果を出力する。
【0093】
零バンドISポジション差分設定部350は、差分範囲判定部340からの出力に基づいて、非零検出バンド間のインテンシティステレオポジションの差分が±60以内にあるときには、零検出バンドと隣接するスケールファクタバンドのインテンシティステレオポジションの差分を、可変長符号化の最も短い符号長である値に設定する。本実施の形態では可変長符号化に図14及び図15のハフマンコードを用いるので、最も短い符号長は1ビットで値は0である。
【0094】
iをスケールファクタバンドの番号、isp(i)をiのインテンシティステレオポジション、iとi+2を非零検出バンドとし、i+1を零検出バンドとした場合、isp(i+2)−isp(i)が±60以内のとき、差分isp(i+1)−isp(i)の値を0に設定する。
【0095】
零検出バンドが2つ以上続く場合には、すべての零検出バンドに対して隣接するスケールファクタバンドとのインテンシティステレオポジションの差分を0に設定する。
【0096】
零バンドISポジション置換部330では、零検出バンドの1つ前のスケールファクタバンドにおけるインテンシティステレオポジションに、零バンドISポジション差分設定部350で設定した差分を加算した値を算出し、零検出バンドのインテンシティステレオポジションを置き換える。本実施の形態では差分は0に設定されているので、isp(i+1)はisp(i)と同一の値に置き換えられる。
【0097】
零検出バンドでは、すべての量子化されたスペクトルデータは零なので、指向性ゲインを表すインテンシティステレオポジションの値を変化させても、同一の復号結果を得ることができる。
【0098】
実施の形態4では、零検出バンドと隣接するスケールファクタバンドのスケールファクタの差分を固定値に設定すれば良いので、実施の形態3で必要であった図3〜図6の表が不要になる。
【0099】
また、実施の形態4では、実施の形態3と比較して、非零検出バンド間のインテンシティステレオポジションにおける差分の範囲が±60以内の条件(非零検出バンド間のインテンシティステレオポジションの差分を変えないための条件)が必要であるが、インテンシティステレオポジションの±60は±90dB(=±60×1.5dB)のゲインに対応し、ほとんどの場合この条件を満足するので、実質的に制約条件とはならない。
【0100】
また、インテンシティステレオポジションの差分可変長符号化後の符号長に関しても、実施の形態3で対応可能な121個の差分の内、120個が差分で最小の値であり、残りの1個も最小より1ビット長いだけである。このため、ほぼ最適な可変長符号化を実現できる。
【0101】
なお、インテンシティステレオポジションの符号化時には、インテンシティステレオポジションの差分を算出することが必要なので、実施の形態3で説明したのと同様に、零バンドISポジション差分設定部350で算出された零検出バンドのインテンシティステレオポジションの差分を出力し、符号化部140では、前記インテンシティステレオポジションの差分を直接可変長符号化するようにしてもよい。
【0102】
実施の形態4によれば、右チャンネルのコードブック番号がインテンシティステレオ処理を表す14か15の場合、スケールファクタデータの中のインテンシティステレオポジションにおける符号化に必要なビット数を、ほとんどの場合その最小のビット数まで削減することが可能である。
【0103】
以上のように実施の形態4では、零検出部151からの零検出バンド/非零検出バンドの検出結果に基づいて、零検出バンドと隣接するスケールファクタバンドのインテンシティステレオポジションの差分が、可変長符号化の最も短い符号長の値となるように、零検出バンドのインテンシティステレオポジションを零バンドISポジション置換部330で置き換える。このような簡単な処理により、少ないビット数で従来と同一の復号結果を得ることができ、符号化効率が向上した符号化データを生成することができる。さらに、削減したビットを音質に寄与する他のデータに割り当てることにより、音質を向上させることができる。
【0104】
なお、実施の形態4では、非零検出バンド間のインテンシティステレオポジションの差分が所定の範囲内(±60以内)である場合にのみ、零検出バンドのインテンシティステレオポジションの置き換えを行った。しかし、零検出バンドのインテンシティステレオポジションの置き換えを常に行い、非零検出バンド間のインテンシティステレオポジションの差分が所定の範囲外となるときには、所定の範囲内となるように非零検出バンド間のインテンシティステレオポジションの差分を制限するようにしてもよい。インテンシティステレオポジションの差分が±60(±90dB)の範囲外となる場合はほとんどないので、このようにしても実施の形態4とほぼ同じ結果を得ることができる。
【0105】
(実施の形態5)
実施の形態5は、インテンシティステレオ処理されたスケールファクタバンドに関し、零検出バンドの右チャンネルハフマンコードブック番号をデータ置換部160で置き換えることを特徴とするものである。
【0106】
図1の左チャンネルの零検出部151は、インテンシティステレオ処理されたスケールファクタバンド内の量子化されたスペクトルデータがすべて零であるか否かを検出し、データ置換部160に出力する。
【0107】
データ置換部160は、インテンシティステレオ処理されたスケールファクタバンドに関し、以下の処理を行う。最初に非零検出バンド間の右チャンネルにおけるインテンシティステレオポジションの差分が±60以内にあるかを判定する。±60以内にあれば、零検出バンドのインテンシティステレオポジションを省いても、非零検出バンド間のインテンシティステレオポジションの差分を維持することができる。
【0108】
次に、前記差分が±60以内にあるときには、非零検出バンドの間にある零検出バンドの右チャンネルのインテンシティステレオを表すコードブック番号(14あるいは15)を、零データを表すコードブック番号(0)に変更したときと変更しないとき、右チャンネルのセクションデータとスケールファクタデータの符号化に必要なビット数を算出する。変更したときの方が必要なビット数が少ないときには、インテンシティステレオを表す右チャンネルのコードブック番号を、零データを表すコードブック番号に置き換える。
【0109】
零データを表すコードブック番号の場合、スケールファクタを伝送する必要がないので、スケールファクタデータに必要なビット数は減少する。しかしながらコードブック番号を変更することにより、セクションの数が増加し、セクションデータに必要なビット数が増加することもある。このため、スケールファクタデータとセクションデータの符号化に必要なビット数が小さくなるときのみ、右チャンネルのコードブック番号を変更する。
【0110】
零検出バンドでは、インテンシティステレオ処理されて量子化されたスペクトルデータはすべて零なので、右チャンネルのコードブック番号を、インテンシティステレオ処理を表す番号(14、あるいは15)から零データを表すコードブック番号(0)に変化させても、同一の復号結果を得ることができる。
【0111】
以上のように実施の形態5では、零検出部151からの零検出バンド/非零検出バンドの検出結果に基づいて、データ置換部160で、インテンシティステレオ処理された零検出バンドの右チャンネルのコードブックック番号を、インテンシティステレオ処理を表すコードブック番号から零データを表すコードブック番号に変更したときの方が符号化に必要なビット数が小さいときに、前記右チャンネルのコードブック番号を置き換える。こうすることにより、より少ないビット数で従来と同一の復号結果を得ることができ、符号化効率が向上した符号化データを生成することができる。さらに、削減したビットを音質に寄与する他のデータに割り当てることにより、音質を向上させることができる。
【0112】
(実施の形態6)
次に本発明の実施の形態6におけるオーディオ高能率符号化方法について説明する。図12は実施の形態6のオーディオ高能率符号化方法におけるデータ置換部160Eの構成を示すブロック図である。このデータ置換部160Eには、非零バンドM/S・IS位相反転フラグ同一判定部410、MSマスク設定部420が設けられている。
【0113】
非零バンドM/S・IS位相反転フラグ同一判定部410は、インテンシティステレオ処理されて、左チャンネルの零検出部151で零検出バンドと検出されたスケールファクタバンドを除いたスケールファクタバンドのMS有無・IS位相反転フラグが、すべて同一の値であるかどうかを判定し、判定結果を出力する。
【0114】
非零バンドM/S・IS位相反転フラグ同一判定部410で、MS有無・IS位相反転フラグが同一の値であると判定されたときには、MSマスク設定部420はバンド全体のフラグであるMSマスクの値を、同一の値に対応する値に置き換えて出力する。すなわち、同一の値が0の場合にはMSマスクの値を0に置き換え、同一の値が1の場合にはMSマスクの値を2に置き換える。
【0115】
インテンシティステレオ処理された零検出バンドでは、すべての量子化されたスペクトルデータは零なので、2つのチャンネルの位相関係を表すフラグの値を反転しても同一の復号結果を得ることができる。
【0116】
前述したようにMSマスクの値が1以外の場合には、MS有無・IS位相反転フラグを符号化データとして伝送する必要がない。従って置き換える前のMSマスクの値が1の場合、0あるいは2に置き換えることによって、MS有無・IS位相反転フラグビットを伝送する必要がなくなり、符号化に必要なビットを削減することができる。MS有無・IS位相反転フラグはスケールファクタバンド毎に1ビット必要なので、例えば、スケールファクタバンドの数が49の場合、49ビット削減することができる。
【0117】
以上のように実施の形態6では、零検出部151からの零検出バンド/非零ゼ検出バンドの検出結果に基づいて、インテンシティステレオ処理された零検出バンドを除いたスケールファクタバンドのステレオ処理の状態を表すMS有無・IS位相反転フラグの値がすべて同一の場合、バンド全体のフラグの状態を表すMSマスクの値をMSマスク設定部420で置き換えることにより、スケールファクタバンド単位の前記フラグの伝送を不要とし、符号化効率が向上した符号化データを生成することができる。さらに、削減したビットを音質に寄与する他のデータに割り当てることにより、音質を向上させることができる。
【0118】
なお、上記の各実施の形態におけるオーディオ高能率符号化方法は、零検出バンドとそれに関連するデータを、より短い符号長のデータとなるように置き換えることにより、符号化効率の向上を実現している。このため、零スペクトルデータが発生しやすい低ビットレートの符号化や狭帯域信号の符号化に対して特に有効である。
【0119】
なお、上記の各実施の形態を組み合わせて実施することも可能であり、例えば、実施の形態1、実施の形態3、実施の形態5、実施の形態6を組み合わせて実施することもできる。ただし、同じデータを異なった形態で置き換える実施の形態1と実施の形態2、あるいは実施の形態3と実施の形態4は、同時に実施することはできない。
【0120】
なお、上記の各実施の形態では、オーディオ高能率符号化方法をAACエンコーダに適用した例を示した。しかし本発明は、同様な符号化フォーマットを有する他の符号化方式にも適用可能である。
【0121】
なお、上記の各実施の形態におけるオーディオ高能率符号化方法は、コンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムとして実現することができ、これをコンピュータ読み取り可能な記録媒体に記録してもよい。
【0122】
【発明の効果】
以上のように本発明によれば、符号化効率が向上した符号化データを生成することができる。すなわち、より少ないビット数で従来と同一の復号結果を得る符号化データを生成することができる。
【0123】
また本発明によれば、削減したビットを音質に寄与する他のデータに割り当てることにより、音質を向上させることができる。
【0124】
本発明は特に零スペクトルデータが発生しやすい低ビットレートの符号化や狭帯域信号の符号化に対して有効である。
【図面の簡単な説明】
【図1】本発明の各実施の形態によるオーディオ高能率符号化方法において、AACエンコーダの構成を示すブロック図である。
【図2】本発明の実施の形態1におけるデータ置換部の構成を示すブロック図である。
【図3】2つの差分の和が一定という条件で、可変長符号化後の符号長を最小にする差分を示す表(その1)である。
【図4】2つの差分の和が一定という条件で、可変長符号化後の符号長を最小にする差分を示す表(その2)である。
【図5】2つの差分の和が一定という条件で、可変長符号化後の符号長を最小にする差分を示す表(その3)である。
【図6】2つの差分の和が一定という条件で、可変長符号化後の符号長を最小にする差分を示す表(その4)である。
【図7】本発明の実施の形態1におけるデータ置換部の別の構成を示すブロック図である。
【図8】本発明の実施の形態2におけるデータ置換部の構成を示すブロック図である。
【図9】本発明の実施の形態3におけるデータ置換部の構成を示すブロック図である。
【図10】本発明の実施の形態3におけるデータ置換部の別の構成を示すブロック図である。
【図11】本発明の実施の形態4におけるデータ置換部の構成を示すブロック図である。
【図12】本発明の実施の形態6におけるデータ置換部の構成を示すブロック図である。
【図13】従来のAACエンコーダの構成を示すブロック図である。
【図14】スケールファクタとインテンシティステレオポジションの差分可変長符号化に用いられるハフマンコードの符号長を示す表(その1)である。
【図15】スケールファクタとインテンシティステレオポジションの差分可変長符号化に用いられるハフマンコードの符号長を示す表(その2)である。
【図16】インテンシティステレオ処理された符号化データの例を説明するための図である。
【符号の説明】
101,102 フィルタバンク
110 インテンシティステレオデータ生成部
120 M/Sステレオデータ生成部
130 量子化部
140 符号化部
151,152 零検出部
160,160A,160B,160C,160D,160E データ置換部
211,212 非零バンド間スケールファクタ差分算出部
221,222 零バンドスケールファクタ差分算出部
231,232 零バンドスケールファクタ置換部
241,242 差分範囲判定部
251,252 零バンドスケールファクタ差分設定部
310 非零バンド間ISポジション差分算出部
320 零バンドISポジション差分算出部
330 零バンドISポジション置換部
340 差分範囲判定部
350 零バンドISポジション差分設定部
410 非零バンドM/S・IS位相反転フラグ同一判定部
420 MSマスク設定部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an audio high-efficiency encoding apparatus, an audio high-efficiency encoding method, an audio high-efficiency encoding program, and an audio high-efficiency encoding program that convert audio signals into spectral data and perform high-efficiency encoding of spectral data using variable-length encoding. The present invention relates to a recording medium.
[0002]
[Prior art]
In recent years, an audio high-efficiency encoding method has been proposed in which encoding efficiency is improved by converting an audio signal into spectrum data and encoding the spectrum data using variable length encoding.
[0003]
As such an audio high-efficiency encoding method, one described in the MPEG-2 AAC (Advanced Audio Coding) standard (see Non-Patent Document 1) is known. In the following, the MPEG-2 AAC (hereinafter abbreviated as AAC) Low Complexity Profile described in Non-Patent
[0004]
FIG. 13 is a block diagram showing a configuration of a conventional AAC encoder. This AAC encoder includes
[0005]
The left channel (Lch) time axis audio signal input to the
[0006]
By converting the short transform blocks in succession, the number of output spectrum data of the short transform blocks is set to 8 × 128 = 1024 to match the long transform block. The 1024 pieces of spectral data per channel are the encoding unit. Next, 1024 pieces of spectral data are grouped into band units called scale factor bands that simulate the critical band characteristics of the human ear.
[0007]
Similarly, the right-channel (Rch) time axis audio signal input to the
[0008]
The intensity stereo
[0009]
Spectral data after intensity stereo processing of the left channel is the sum of the spectral data of the left and right channels (when the phase relationship between the two channels is in phase) or the difference (when the phase relationship between the two channels is opposite) ) By correcting the gain so that its power level matches the original power level of the left channel. The spectral data of the right channel is set to zero. This zero spectrum data is not transmitted as encoded data.
[0010]
The mid-side stereo data generation unit (M / S stereo data generation unit) 120 is information on the presence / absence of mid-side stereo processing in units of scale factor bands, and in the case of mid-side stereo processing, mid-spectral data that has been subjected to mid-side stereo processing. And side spectrum data. The mid spectrum data is generated by a half of the sum of the left channel and right channel spectrum data, and is output as the left channel spectrum data. The side spectrum data is generated by a half of the difference between the left channel and right channel spectrum data, and is output as the right channel spectrum data. In the case of a scale factor band in which neither intensity stereo processing nor mid-side stereo processing is performed, the original spectral data in the left and right channels is output as it is. Intensity stereo processing and mid-side stereo processing are in an exclusive relationship, and if one of the processes is selected, the other process cannot be selected.
[0011]
The
[0012]
The
[0013]
Hereinafter, the format of the encoded data generated by the
[0014]
First, section data (section_data () of Non-Patent Document 1) will be described. A section is a set of scale factor bands that use the same codebook. The section data is obtained by repeating data for each section including a codebook number used in the section and a section length in units of scale factor bands for all sections.
[0015]
In AAC, 11 types of Huffman codebooks with
[0016]
In AAC, in order to improve the encoding efficiency, the scale factor of the section of
[0017]
As is clear from the section data format described above, the number of bits required for section data increases as the number of sections increases. Therefore, when a plurality of Huffman codebooks can be selected, a codebook is selected to form a section so that the total number of encoded data bits including the section data and the encoded spectrum data is reduced. The process of forming a section in this way is called sectioning. Due to the sectioning, there is a case where
[0018]
The scale factor data (scale_factor_data () of Non-Patent Document 1) includes data obtained by encoding scale factors for all scale factor bands and data obtained by encoding intensity stereo positions.
[0019]
The scale factor represents a gain of 1.5 dB unit of the scale factor band, and the scale factor is encoded by variable-length encoding the difference of the scale factor between the scale factor bands with a Huffman code. The encoded data of the scale factor consists of an initial value and a difference between the scale factor that has been subjected to variable length encoding. The difference in scale factor when performing variable length coding is within ± 60.
[0020]
14 and 15 show the code lengths of the Huffman codes used for variable length coding of scale factor differences. 14 and 15, index represents an address when referring to the Huffman codebook, and is a value obtained by adding 60 to the difference of the scale factor. Dsf represents the difference in scale factor, and length represents the code length (in bits) of the Huffman code. FIG. 14 shows dsf and length with an index ranging from 0 to 59, and FIG. 15 showing an index ranging from 60 to 120. As shown in FIG. 15, the difference (dsf) when the code length of the Huffman code is the shortest is 0, and the code length (length) is 1 bit.
[0021]
In the right channel of the scale factor band subjected to intensity stereo processing, intensity stereo position is transmitted as scale factor data instead of the scale factor.
[0022]
The intensity stereo position represents a directivity gain of 1.5 dB unit of the right channel with respect to the left channel. The intensity stereo position is encoded in the same manner as the scale factor encoding. That is, the difference in intensity stereo positions of adjacent scale factor bands subjected to intensity stereo processing is variable-length encoded using the same Huffman codebook as the scale factor. However, the initial value of the difference in scale factor is transmitted as encoded data, whereas the initial value of the difference in intensity stereo position is always 0 and is not transmitted.
[0023]
The encoded spectral data (spectral_data () of Non-Patent Document 1) is data obtained by encoding spectral data quantized using a Huffman codebook selected as a section. If the Huffman codebook number is 0 representing zero data, or 14 or 15 representing intensity stereo processing, spectrum data is not transmitted.
[0024]
Next, the M / S presence / absence / IS phase inversion flag (ms_used in Non-Patent Document 1) and the MS mask (ms_mask_present in Non-Patent Document 1) as encoded data common to the two channels will be described below.
[0025]
The presence / absence of the M / S / IS phase inversion flag is a flag indicating the presence / absence of mid-side stereo processing or the presence / absence of phase inversion of intensity stereo (IS) processing, and is a 1-bit flag per scale factor band. Specifically, it represents the following state.
1) Presence / absence of M / S / IS phase inversion flag = 0
No M / S processing or phase inversion of IS processing
2) Presence / absence of M / S / IS phase inversion flag = 1
With M / S processing or with IS processing phase inversion
[0026]
Whether this flag indicates the presence or absence of M / S processing or the presence or absence of phase inversion of IS processing is determined by the codebook number of the right channel. If the code book number represents intensity stereo processing, it indicates whether phase inversion of IS processing is present, and otherwise indicates whether M / S processing is performed.
[0027]
The MS mask represents the encoding method of the M / S presence / absence / IS phase inversion flag, and represents the following state.
1) MS mask = 0
All M / S existence / IS phase inversion flag values are 0
2) MS mask = 1
Specify M / S existence / IS phase inversion flag in band unit
3) MS mask = 2
All M / S presence / absence flag values are 1 (IS phase inversion flag value is 0)
When the value of the MS mask is 0 or 2, the M / S presence / absence / IS phase inversion flag is not transmitted as encoded data.
[0028]
FIG. 16 is an example of encoded data that has been subjected to intensity stereo processing, and is a diagram for describing the encoded data. For simplicity, the number of scale factor bands is six. In the figure, dsf represents a difference in scale factor (initial value of the difference in scale factor is omitted), disp represents a difference in intensity stereo position, and sd represents spectrum data. “-” Indicates that the corresponding data is not transmitted.
[0029]
First, left channel data (Lch data) will be described. In this example, the number of sections is three. When section data is represented by (codebook number, length), section data is (3, 3), (0, 1), (1, 2). The codebook number of scale
[0030]
Next, the right channel data (Rch data) will be described. In this example, the number of sections in the right channel is 3, and the section data is (3, 2), (2, 2) (15, 2). The code factor number of scale
[0031]
The common data for the left and right channels will be described. In this example, the MS mask value is 1, and the M / S presence / absence / IS phase inversion flag is transmitted. From the codebook number of the right channel data, the M / S presence / absence / IS phase inversion flag of scale
[0032]
[Non-Patent Document 1]
ISO / IEC JTC1 / SC29 / WG11 N1650, "IS ISO / IEC 13818-7 (MPEG-2 Advanced Audio Coding, AAC)", April 1997, p.14-20, p.33-38, p.51 -62, p.92-93, ANNEX B Informative Part p.57-68
[0033]
[Problems to be solved by the invention]
However, in the above conventional encoding method, it is detected that the quantized spectral data in the band is all zero, and the data is replaced based on the detection result, thereby encoding the encoded data with a smaller number of bits. It does not have a section for generating. For this reason, there has been a problem in that the encoding efficiency deteriorates and the sound quality may deteriorate under a limited bit rate environment.
[0034]
SUMMARY OF THE INVENTION The present invention solves the above-described problems, and an object thereof is to realize an audio high-efficiency encoding apparatus and method that can generate encoded data with improved encoding efficiency. In other words, encoded data that can obtain the same decoding result as before with a smaller number of bits is generated, and the reduced bit is assigned to other data that contributes to sound quality, so that the audio quality can be improved. An object is to realize an efficiency encoding device, an audio high efficiency encoding method, an audio high efficiency encoding program, and a recording medium thereof.
[0035]
[Means for Solving the Problems]
According to a first aspect of the present invention, spectrum data is represented by a scale factor indicating a gain in band units and spectrum data normalized and quantized by the gain, and a difference between scale factors of adjacent bands is variable-length encoded. A coding device, a zero detector for detecting whether all the quantized spectral data in a band are zero, and a scale factor of the band detected to be zero, as a difference An audio high-efficiency encoding apparatus and method, comprising: a data replacement unit that replaces a value with the shortest code length after variable-length encoding.
[0036]
According to a second aspect of the present invention, spectrum data is represented by a scale factor indicating a gain in band units and spectrum data normalized by the gain and quantized, and the difference between the scale factors of adjacent bands is variable-length encoded. A zero detector for detecting whether all the quantized spectral data in a band are zero, a band adjacent to the band detected to be zero, A data replacement unit that replaces the scale factor of the band detected to be zero with another value so that the difference of the scale factor of the band becomes the shortest code length value of the variable length coding An audio high-efficiency encoding apparatus and a method thereof.
[0039]
Here, the value of the shortest code length of variable length coding may be set to zero.
[0042]
Second 3 The invention of
[0043]
In
[0044]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the description of each embodiment, a case where the audio high efficiency encoding method of the present invention is applied to an AAC encoder will be described as an example.
[0045]
First, characteristic points common to the audio high-efficiency encoding method in each embodiment of the present invention will be described together, and then characteristic points specific to each embodiment will be individually described.
[0046]
FIG. 1 is a block diagram showing a configuration of an AAC encoder according to an audio high efficiency encoding method according to an embodiment of the present invention. The AAC encoder shown in FIG. 1 includes
[0047]
Hereinafter, the operations of the zero
[0048]
Similarly, the zero
[0049]
Hereinafter, the scale factor band detected as being zero by the zero
[0050]
The
[0051]
The
[0052]
(Embodiment 1)
FIG. 2 is a block diagram showing a configuration of
[0053]
A non-zero band scale factor
[0054]
The zero band scale factor
[0055]
Let i be the scale factor band number and sf (i) be the scale factor of i. Here, consider a case where i and i + 2 are non-zero detection bands and i + 1 is a zero detection band. Difference sf (i + 1) −sf that minimizes the code length after variable length coding by the Huffman code of FIGS. 14 and 15 by referring to the table using the value of sf (i + 2) −sf (i) The value of (i) is calculated.
[0056]
3 to 6 show values of dsf1 and dsf2 that minimize the total code length of dsf1 and dsf2 under the condition that the sum of the two differences dsf1 and dsf2 is constant, using the Huffman codes of FIGS. And the total code length length at that time. Here, the values of dsf1 and dsf2 may be interchanged. FIG. 3 shows dsf1, dsf2, and length in which the value of dsf1 + dsf2 is −120 to −61. 4 shows values of dsf1 + dsf2 from −60 to −1, FIG. 5 shows values of dsf1 + dsf2 from 0 to 59, and FIG. 6 shows values of dsf1 + dsf2 from 60 to Values up to 120 are shown.
[0057]
Consider a case where the difference sf (i + 2) −sf (i) of the scale factor between non-zero detection bands is −4, for example. 3 to 6, referring to the row where dsf1 + dsf2 is −4, as shown in FIG. 4, the value of sf (i + 1) −sf (i) that minimizes the code length after variable length coding is −4 (Dsf1) or 0 (dsf2), and the values of sf (i + 2) −sf (i + 1) at this time can be calculated to be 0 and −4, respectively.
[0058]
When k zero detection bands are continuous (where k is a positive integer), by referring to a similar table in which a predetermined difference is expressed as a sum of (k + 1) differences, The difference that minimizes the code length can be calculated.
[0059]
The zero band scale
[0060]
Note that it is necessary to calculate the scale factor difference when encoding the scale factor, and the scale factor of the zero detection band calculated by the zero band scale factor
[0061]
According to the first embodiment, it is possible to reduce the number of bits necessary for encoding scale factor data for a scale factor band having
[0062]
As described above, in the first embodiment, based on the detection result of the zero detection band / non-zero detection band from the zero
[0063]
(Embodiment 2)
Next, an audio high efficiency coding apparatus according to
[0064]
In the upper part of FIG. 8, the non-zero band scale factor
[0065]
The non-zero band scale factor
[0066]
The difference
[0067]
Based on the output from the difference
[0068]
When i is a scale factor band number, sf (i) is a scale factor of i, i and i + 2 are non-zero detection bands, and i + 1 is a zero detection band, sf (i + 2) −sf (i) is within ± 60 In this case, the value of the difference sf (i + 1) −sf (i) is set to 0.
[0069]
When two or more zero detection bands continue, the difference in scale factor from the adjacent scale factor bands is set to 0 for all zero detection bands. The zero band scale
[0070]
In the zero detection band, since all quantized spectral data is zero, the same decoding result can be obtained even if the value of the scale factor representing the gain is changed.
[0071]
In the second embodiment, since the difference between the scale factor bands of the zero detection band and the adjacent scale factor band may be set to a fixed value, the tables of FIGS. 3 to 6 used in the first embodiment are not necessary.
[0072]
Further, in the second embodiment, as compared with the first embodiment, the range of the difference in the scale factor between the non-zero detection bands is within ± 60 (because the difference in the scale factor between the non-zero detection bands is not changed). Is required). However, the scale factor of ± 60 corresponds to a gain of ± 90 dB (= ± 60 × 1.5 dB) and satisfies this condition in most cases, so it is not substantially a constraint condition.
[0073]
Also, with respect to the code length after the scale factor difference variable length coding, the smallest of the 120 differences among the 121 differences (number of integers in the range of ± 60) that can be handled in the second embodiment. It is a value, and it is possible to realize a substantially optimum variable length coding in which the remaining one is only one bit longer than the minimum. That is, the value of dsf1 or dsf2 is 0 except in the case where dsf1 + dsf2 in the range of ± 60 in FIGS. 3 to 6 and dsf1 + dsf2 is 31. Also, when dsf1 is 0 (1 bit), dsf2 is 31 (19 bits) and dsf1 + dsf2 is 31, the code length is 20 (= 1 + 19) bits, which is 1 bit from the minimum 19 bits shown in FIG. long.
[0074]
Since it is necessary to calculate the scale factor difference when encoding the scale factor, the scale factor of the zero detection band calculated by the zero band scale factor
[0075]
According to the second embodiment, it is possible to reduce the number of bits necessary for encoding scale factor data in the scale factor band having
[0076]
As described above, in the second embodiment, based on the detection result of the zero detection band / non-zero detection band from the zero
[0077]
In the second embodiment, the scale factor of the zero detection band is replaced only when the scale factor difference between the non-zero detection bands is within a predetermined range (within ± 60). However, the scale factor of the zero detection band is always replaced, and when the difference in the scale factor between the non-zero detection bands is outside the predetermined range, the scale factor between the non-zero detection bands is set to be within the predetermined range. The difference may be limited. Since there is almost no case where the difference in scale factor is outside the range of ± 60 (± 90 dB), even in this way, almost the same result as in the second embodiment can be obtained.
[0078]
(Embodiment 3)
Next, an audio high efficiency coding apparatus according to
[0079]
In the non-zero band IS position
[0080]
The zero-band IS position
[0081]
The value of isp (i + 2) -isp (i) where i is the scale factor band number, isp (i) is the intensity stereo position of i, i and i + 2 are non-zero detection bands, and i + 1 is the zero detection band. 3 to 6, the difference isp (i + 1) −isp (i) that minimizes the code length after the variable length coding by the Huffman code in FIGS. 14 and 15 is obtained. Calculate the value.
[0082]
Since the Huffman code used for variable length coding of intensity stereo position difference is the same as the Huffman code used for variable length coding of scale factor difference, the table used in
[0083]
For example, when the difference isp (i + 2) −isp (i) of the intensity stereo position between the non-zero detection bands is 0, sf (i + 1) − that minimizes the code length after the variable length coding of FIGS. The value of sf (i) is 0, and the value of isp (i + 2) −isp (i + 1) at this time is also 0.
[0084]
The zero band IS
[0085]
For example, the intensity stereo position values before replacement are isp (i) = 4, isp (i + 1) =-4, isp (i + 2) = 4, i and i + 2 are non-zero detection bands, and i + 1 is zero detection If it is a band, it is replaced with isp (i + 1) = 4. As a result, before replacement, isp (i + 1) −isp (i) = − 8 (8 bits) and isp (i + 2) −isp (i + 1) = 8 (8 bits) are combined into 16 (= 8 + 8) for encoding. A bit was needed. On the other hand, after replacement, isp (i + 1) −isp (i) = 0 (1 bit), isp (i + 2) −isp (i + 1) = 0 (1 bit), and 2 (= 1 + 1) bits in total. Since it is good, the number of bits required for encoding can be reduced by 14 (= 16-2) bits.
[0086]
In the zero detection band, since all quantized spectral data is zero, the same decoding result can be obtained even if the intensity stereo position value representing the directivity gain of the right channel with respect to the left channel is changed.
[0087]
Since it is necessary to calculate the intensity stereo position difference when encoding the intensity stereo position, the data replacement unit is configured as shown in FIG. 10 and the zero band IS position
[0088]
According to
[0089]
As described above, in
[0090]
(Embodiment 4)
Next, an audio high efficiency coding apparatus according to
[0091]
The non-zero band IS position
[0092]
The difference
[0093]
Based on the output from the difference
[0094]
If i is the scale factor band number, isp (i) is the intensity stereo position of i, i and i + 2 are non-zero detection bands, and i + 1 is the zero detection band, isp (i + 2) −isp (i) is ± If it is within 60, the value of the difference isp (i + 1) −isp (i) is set to 0.
[0095]
When two or more zero detection bands continue, the difference in intensity stereo position between all the zero detection bands and the adjacent scale factor band is set to zero.
[0096]
The zero band IS
[0097]
In the zero detection band, since all quantized spectral data is zero, the same decoding result can be obtained even if the intensity stereo position value representing the directivity gain is changed.
[0098]
In the fourth embodiment, since the difference between the scale factor bands of the zero detection band and the adjacent scale factor band may be set to a fixed value, the tables shown in FIGS. 3 to 6 required in the third embodiment are not necessary. .
[0099]
Further, in the fourth embodiment, as compared with the third embodiment, the range of the difference in intensity stereo position between non-zero detection bands is within ± 60 (difference in intensity stereo position between non-zero detection bands). Intensity stereo position ± 60 corresponds to a gain of ± 90 dB (= ± 60 × 1.5 dB), and in most cases this condition is satisfied. It is not a constraint condition.
[0100]
Also, regarding the code length after differential variable length coding of intensity stereo positions, out of 121 differences that can be handled in the third embodiment, 120 is the smallest difference value, and the remaining one is also It is only one bit longer than the minimum. For this reason, almost optimal variable length coding can be realized.
[0101]
In addition, since it is necessary to calculate the difference of the intensity stereo position when encoding the intensity stereo position, the zero calculated by the zero band IS position
[0102]
According to the fourth embodiment, when the codebook number of the right channel is 14 or 15 representing intensity stereo processing, the number of bits required for encoding at the intensity stereo position in the scale factor data is almost always It is possible to reduce to the minimum number of bits.
[0103]
As described above, in the fourth embodiment, based on the detection result of the zero detection band / non-zero detection band from the zero
[0104]
In the fourth embodiment, the intensity stereo position of the zero detection band is replaced only when the difference in intensity stereo position between the non-zero detection bands is within a predetermined range (within ± 60). However, the intensity stereo position of the zero detection band is always replaced, and when the difference in intensity stereo position between the non-zero detection bands is outside the predetermined range, the non-zero detection band is set to be within the predetermined range. The difference in intensity stereo position may be limited. Since there is almost no case where the difference in intensity stereo position is outside the range of ± 60 (± 90 dB), even in this way, almost the same result as in the fourth embodiment can be obtained.
[0105]
(Embodiment 5)
The fifth embodiment is characterized in that the data
[0106]
1 detects whether the quantized spectral data in the scale factor band subjected to intensity stereo processing is all zero, and outputs the detected data to the
[0107]
The
[0108]
Next, when the difference is within ± 60, the code book number (14 or 15) representing the intensity stereo of the right channel of the zero detection band between the non-zero detection bands is represented as the code book number representing the zero data. When changing to (0) and not changing, the number of bits necessary for encoding the right channel section data and scale factor data is calculated. When the number of bits required is smaller when the change is made, the codebook number of the right channel representing intensity stereo is replaced with the codebook number representing zero data.
[0109]
In the case of a codebook number representing zero data, there is no need to transmit the scale factor, so the number of bits required for the scale factor data is reduced. However, changing the codebook number increases the number of sections and may increase the number of bits required for section data. Therefore, the codebook number of the right channel is changed only when the number of bits necessary for encoding the scale factor data and the section data is small.
[0110]
In the zero detection band, spectrum data quantized by intensity stereo processing and quantized are all zero, so the code book number of the right channel is changed from the number (14 or 15) indicating intensity stereo processing to the code book indicating zero data. Even if the number is changed to (0), the same decoding result can be obtained.
[0111]
As described above, in the fifth embodiment, based on the detection result of the zero detection band / non-zero detection band from the zero
[0112]
(Embodiment 6)
Next, an audio high efficiency encoding method according to
[0113]
The non-zero band M / S / IS phase inversion flag
[0114]
When the non-zero band M / S / IS phase inversion flag
[0115]
In the zero detection band subjected to intensity stereo processing, all quantized spectral data is zero, and therefore the same decoding result can be obtained even if the value of the flag representing the phase relationship between the two channels is inverted.
[0116]
As described above, when the MS mask value is other than 1, it is not necessary to transmit the MS presence / IS phase inversion flag as encoded data. Accordingly, when the value of the MS mask before replacement is 1, by replacing it with 0 or 2, it is not necessary to transmit the MS presence / absence / IS phase inversion flag bit, and the bits necessary for encoding can be reduced. Since the MS presence / absence / IS phase inversion flag requires one bit for each scale factor band, for example, when the number of scale factor bands is 49, 49 bits can be reduced.
[0117]
As described above, in the sixth embodiment, the stereo processing of the scale factor band excluding the zero detection band subjected to the intensity stereo processing based on the detection result of the zero detection band / non-zero detection band from the zero
[0118]
Note that the audio high-efficiency encoding method in each of the above embodiments realizes improvement in encoding efficiency by replacing the zero detection band and the data related thereto with data having a shorter code length. Yes. For this reason, it is particularly effective for low bit rate encoding and narrowband signal encoding in which zero spectrum data is likely to be generated.
[0119]
In addition, it is also possible to implement combining said each embodiment, For example,
[0120]
In each of the above embodiments, an example in which the audio high-efficiency encoding method is applied to an AAC encoder has been described. However, the present invention can also be applied to other encoding methods having similar encoding formats.
[0121]
Note that the audio high-efficiency encoding method in each of the above embodiments can be realized as a program to be executed by a computer or a digital signal processor, and may be recorded on a computer-readable recording medium.
[0122]
【The invention's effect】
As described above, according to the present invention, encoded data with improved encoding efficiency can be generated. That is, encoded data that obtains the same decoding result as before can be generated with a smaller number of bits.
[0123]
In addition, according to the present invention, sound quality can be improved by assigning the reduced bits to other data that contributes to sound quality.
[0124]
The present invention is particularly effective for low bit rate encoding and narrowband signal encoding, which are likely to generate zero spectrum data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an AAC encoder in an audio high-efficiency encoding method according to each embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a data replacement unit in
FIG. 3 is a table (No. 1) showing a difference that minimizes the code length after variable length coding under the condition that the sum of two differences is constant.
FIG. 4 is a table (No. 2) showing a difference that minimizes the code length after variable length coding under the condition that the sum of two differences is constant.
FIG. 5 is a table (No. 3) showing a difference that minimizes the code length after variable length coding under the condition that the sum of two differences is constant.
FIG. 6 is a table (No. 4) showing a difference that minimizes the code length after variable length coding on condition that the sum of two differences is constant;
FIG. 7 is a block diagram showing another configuration of the data replacement unit in the first embodiment of the present invention.
FIG. 8 is a block diagram showing a configuration of a data replacement unit in
FIG. 9 is a block diagram showing a configuration of a data replacement unit in
FIG. 10 is a block diagram showing another configuration of the data replacement unit in the third embodiment of the present invention.
FIG. 11 is a block diagram showing a configuration of a data replacement unit in
FIG. 12 is a block diagram showing a configuration of a data replacement unit in
FIG. 13 is a block diagram showing a configuration of a conventional AAC encoder.
FIG. 14 is a table (part 1) showing a code length of a Huffman code used for differential variable length coding of a scale factor and intensity stereo position.
FIG. 15 is a table (No. 2) showing a code length of a Huffman code used for differential variable length coding of a scale factor and intensity stereo position.
FIG. 16 is a diagram for describing an example of encoded data subjected to intensity stereo processing;
[Explanation of symbols]
101,102 Filter bank
110 Intensity stereo data generator
120 M / S stereo data generator
130 Quantizer
140 Encoding unit
151,152 Zero detector
160, 160A, 160B, 160C, 160D, 160E Data replacement unit
211,212 Scale factor difference calculation unit between non-zero bands
221, 222 Zero band scale factor difference calculation unit
231,232 Zero band scale factor replacement unit
241,242 Difference range determination unit
251,252 Zero band scale factor difference setting unit
310 IS position difference calculation unit between non-zero bands
320 Zero band IS position difference calculator
330 Zero band IS position replacement
340 Difference range determination unit
350 Zero band IS position difference setting section
410 Non-zero band M / S / IS phase inversion flag identity determination unit
420 MS mask setting part
Claims (8)
バンド内のすべての前記量子化されたスペクトルデータが零であるか否かを検出する零検出部と、
前記零であることが検出されたバンドのスケールファクタを、差分可変長符号化後に最も短い符号長となる値に置き換えるデータ置換部と、を備えたことを特徴とするオーディオ高能率符号化装置。An encoding device that represents spectrum data by a scale factor indicating a gain in band units and spectrum data normalized and quantized by the gain and variable-length-encoding the difference between the scale factors of adjacent bands. ,
A zero detector for detecting whether all the quantized spectral data in the band are zero;
A high-efficiency audio encoding device comprising: a data replacement unit that replaces a scale factor of a band detected to be zero with a value that becomes the shortest code length after differential variable-length encoding.
バンド内のすべての前記量子化されたスペクトルデータが零であるか否かを検出する零検出部と、
前記零であることが検出されたバンドと隣接するバンドとのスケールファクタの差分が可変長符号化の最も短い符号長の値となるように、前記零であることが検出されたバンドのスケールファクタを別の値に置き換えるデータ置換部と、を備えたことを特徴とするオーディオ高能率符号化装置。An encoding device that represents spectrum data by a scale factor indicating a gain in band units and spectrum data normalized and quantized by the gain and variable-length-encoding the difference between the scale factors of adjacent bands. ,
A zero detector for detecting whether all the quantized spectral data in the band are zero;
The scale factor of the band detected to be zero so that the difference in scale factor between the band detected to be zero and the adjacent band becomes the value of the shortest code length of the variable length coding A high-efficiency audio encoding device comprising: a data replacement unit that replaces a value with another value.
バンド内のすべての前記量子化されたスペクトルデータが零であるか否かを検し、
前記零であることが検出されたバンドのスケールファクタを、差分可変長符号化後に最も短い符号長となる値に置き換えることを特徴とするオーディオ高能率符号化方法。An encoding method for representing spectral data by a scale factor indicating a gain in band units and spectral data normalized and quantized by the gain and variable-length encoding a difference between scale factors of adjacent bands. ,
Check if all the quantized spectral data in the band are zero,
A high-efficiency audio encoding method, characterized in that a scale factor of a band detected to be zero is replaced with a value that becomes the shortest code length after differential variable-length encoding.
バンド内のすべての前記量子化されたスペクトルデータが零であるか否かを検出し、
前記零であることが検出されたバンドと隣接するバンドのスケールファクタとの差分が可変長符号化の最も短い符号長の値となるように、前記零であることが検出されたバンドのスケールファクタを別の値に置き換えることを特徴とするオーディオ高能率符号化方法。An encoding method for representing spectral data by a scale factor indicating a gain in band units and spectral data normalized and quantized by the gain and variable-length encoding a difference between scale factors of adjacent bands. ,
Detect if all the quantized spectral data in the band are zero,
The scale factor of the band detected to be zero so that the difference between the scale factor of the band detected to be zero and the adjacent band is the shortest code length value of the variable length coding A high-efficiency audio encoding method characterized by substituting for another value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003037702A JP4369140B2 (en) | 2003-02-17 | 2003-02-17 | Audio high-efficiency encoding apparatus, audio high-efficiency encoding method, audio high-efficiency encoding program, and recording medium therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003037702A JP4369140B2 (en) | 2003-02-17 | 2003-02-17 | Audio high-efficiency encoding apparatus, audio high-efficiency encoding method, audio high-efficiency encoding program, and recording medium therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004246224A JP2004246224A (en) | 2004-09-02 |
JP4369140B2 true JP4369140B2 (en) | 2009-11-18 |
Family
ID=33022416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003037702A Expired - Fee Related JP4369140B2 (en) | 2003-02-17 | 2003-02-17 | Audio high-efficiency encoding apparatus, audio high-efficiency encoding method, audio high-efficiency encoding program, and recording medium therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4369140B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005010057A1 (en) | 2005-03-04 | 2006-09-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating a coded stereo signal of an audio piece or audio data stream |
US7991610B2 (en) | 2005-04-13 | 2011-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Adaptive grouping of parameters for enhanced coding efficiency |
US7788106B2 (en) * | 2005-04-13 | 2010-08-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Entropy coding with compact codebooks |
US8064608B2 (en) * | 2006-03-02 | 2011-11-22 | Qualcomm Incorporated | Audio decoding techniques for mid-side stereo |
CN104485111B (en) * | 2011-04-20 | 2018-08-24 | 松下电器(美国)知识产权公司 | Audio/speech code device, audio/speech decoding apparatus and its method |
EP3067885A1 (en) * | 2015-03-09 | 2016-09-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding or decoding a multi-channel signal |
-
2003
- 2003-02-17 JP JP2003037702A patent/JP4369140B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004246224A (en) | 2004-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2368074C2 (en) | Adaptive grouping of parametres for improved efficiency of coding | |
KR101967122B1 (en) | Signal processing apparatus and method, and program | |
CN1905010B (en) | Apparatus and method for encoding audio data, and apparatus and method for decoding audio data | |
JP5688861B2 (en) | Entropy coding to adapt coding between level mode and run length / level mode | |
CA2601821A1 (en) | Planar multiband antenna | |
EP1854218B1 (en) | Lossless encoding of information with guaranteed maximum bitrate | |
JP2011059714A (en) | Signal encoding device and method, signal decoding device and method, and program and recording medium | |
JP4685165B2 (en) | Interchannel level difference quantization and inverse quantization method based on virtual sound source position information | |
JP4369140B2 (en) | Audio high-efficiency encoding apparatus, audio high-efficiency encoding method, audio high-efficiency encoding program, and recording medium therefor | |
KR20160120713A (en) | Decoding device, encoding device, decoding method, encoding method, terminal device, and base station device | |
KR100952065B1 (en) | Coding method, apparatus, decoding method, and apparatus | |
JP2004325633A (en) | Method and program for encoding signal, and recording medium therefor | |
JP2006003580A (en) | Device and method for coding audio signal | |
JP2003316394A (en) | System, method, and program for decoding sound | |
JP4062971B2 (en) | Audio signal encoding method | |
JP2005004119A (en) | Sound signal encoding device and sound signal decoding device | |
JP2006047561A (en) | Audio signal encoding device and audio signal decoding device | |
JP4273062B2 (en) | Encoding method, encoding apparatus, decoding method, and decoding apparatus | |
JP4635400B2 (en) | Audio signal encoding method | |
JP4195598B2 (en) | Encoding method, decoding method, encoding device, decoding device, encoding program, decoding program | |
JPH0918348A (en) | Acoustic signal encoding device and acoustic signal decoding device | |
JP4993992B2 (en) | Signal processing method, signal processing apparatus, and program | |
KR101644883B1 (en) | A method and an apparatus for processing an audio signal | |
JP2006211243A (en) | Device and method for digital signal encoding | |
JP2003271199A (en) | Encoding method and encoding system for audio signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090713 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090804 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090827 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120904 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130904 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |