(57)【特許請求の範囲】
【請求項１】
オーディオ信号のビットを割り当てる方法であって、
オーディオ信号のフレームの周波数バンドを複数のサブバンドに分割するステップと、
前記複数のサブバンドのそれぞれの量子化された正規化係数を取得するステップと、
前記複数のサブバンドを複数のグループに分割するステップと、
前記複数のグループのそれぞれの量子化された正規化係数の平均を取得するステップであり、ただし、グループの量子化された正規化係数の平均は、前記グループの全てのサブバンドの前記量子化された正規化係数に基づいて取得されるステップと、
前記複数のグループのそれぞれの初期割り当てビット数を決定するために、前記複数のグループのそれぞれの量子化された正規化係数の前記平均に少なくとも基づいて、前記複数のグループの初期ビット割り当てを実行するステップと、
前記フレームの符号化ビットを前記複数のグループのうち少なくとも１つのグループに割り当てるために、前記複数のグループのそれぞれの前記初期割り当てビット数に少なくとも基づいて２次ビット割り当てを実行するステップと、
前記少なくとも１つのグループに割り当てられた前記符号化ビットを前記少なくとも１つのグループ内のサブバンドに割り当てるステップと
を有する方法。
【請求項２】
前記２次ビット割り当ては、飽和アルゴリズムに基づいて実行される、請求項１に記載の方法。
【請求項３】
前記２次ビット割り当てを実行するステップは、
前記複数のグループのそれぞれの飽和ビット数を決定するステップと、
前記飽和ビット数及び前記初期ビット数に基づいて、ビット飽和したグループと前記ビット飽和したグループの余剰ビット数とを決定するステップであり、ただし、前記ビット飽和したグループの余剰ビット数は、前記ビット飽和したグループの前記初期割り当てビット数と前記ビット飽和したグループの前記飽和ビット数との差であるステップと、
前記余剰ビットを前記ビット飽和したグループを除く前記複数のグループのうち少なくとも１つに割り当てるステップと
を有する、請求項２に記載の方法。
【請求項４】
前記余剰ビットを前記ビット飽和したグループを除く前記複数のグループのうち少なくとも１つに割り当てるステップは、
前記余剰ビットを前記ビット飽和したグループを除く前記複数のグループのうち前記少なくとも１つに均等に割り当てるステップを有する、請求項３に記載の方法。
【請求項５】
前記初期ビット割り当ての後且つ前記２次ビット割り当ての前に、
取得された連続する平均の差を計算するステップと、
前記計算された差及び／又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するステップと、
を更に有し、
ビット割り当てのために飽和アルゴリズムが使用されるべきであると決定された場合、ビット割り当てのために飽和アルゴリズムが前記２次ビット割り当てを実行するために使用され、
ビット割り当てのために飽和アルゴリズムが使用されるべきでないと決定された場合、前記飽和アルゴリズムを除くアルゴリズムが前記２次ビット割り当てを実行するために使用される、請求項１ないし４のうちいずれか１項に記載の方法。
【請求項６】
前記２次ビット割り当ては、重み付けアルゴリズムに基づいて実行される、請求項１又は５に記載の方法。
【請求項７】
前記２次ビット割り当てを実行するステップは、
前記複数のグループのそれぞれの前記量子化された正規化係数の加重平均を取得するために、前記複数のグループのそれぞれの前記量子化された正規化係数の前記平均を重み付けするステップと、
前記複数のグループのそれぞれの前記量子化された正規化係数の前記加重平均に少なくとも基づいて前記２次ビット割り当てを実行するステップと
を有する、請求項６に記載の方法。
【請求項８】
前記量子化された正規化係数は、
前記複数のサブバンドのそれぞれの正規化係数を取得し、
前記複数のサブバンドのそれぞれの前記取得された正規化係数を量子化する
ことにより取得される、請求項１ないし７のうちいずれか１項に記載の方法。
【請求項９】
前記正規化係数は、
【数９】
0006351783.tif 000010
に従って取得され、ただし、Norm(p)はサブバンドpの前記正規化係数を示し、Lpはサブバンドpの係数の数を示し、spはサブバンドpの開始点を示し、epはサブバンドpの終了点を示し、Pは前記複数のサブバンドの数を示し、y(k)はサブバンドpの第kの係数を示す、請求項１ないし８のうちいずれか１項に記載の方法。
【請求項１０】
前記グループ内の前記サブバンドは連続する、請求項１ないし９のうちいずれか１項に記載の方法。
【請求項１１】
前記グループの量子化された正規化係数の前記平均は、
【数１０】
0006351783.tif 000011
に従って取得され、ただし、group_avgは前記グループの量子化された正規化係数の前記平均を示し、Eは前記グループの終了サブバンドのインデックスを示し、Sは前記グループの開始サブバンドのインデックスを示し、group_wnormは前記グループ内の全てのサブバンドの量子化された正規化係数の和であり、
【数１１】
0006351783.tif 000012
に従って取得され、ただし、wnorm[b]は前記グループ内の第bのサブバンドの前記量子化された正規化係数を示す、請求項１ないし１０のうちいずれか１項に記載の方法。
【請求項１２】
オーディオ信号のビットを割り当てる装置であって、
オーディオ信号のフレームの周波数バンドを複数のサブバンドに分割し、前記複数のサブバンドのそれぞれの量子化された正規化係数を取得するように構成されたサブバンド量子化ユニットと、
前記複数のサブバンドを複数のグループに分割し、前記複数のグループのそれぞれの量子化された正規化係数の平均を取得するように構成されたグループ化ユニットであり、ただし、グループの量子化された正規化係数の平均は、前記グループ内の全てのサブバンドの前記量子化された正規化係数に基づいて取得されるグループ化ユニットと、
前記複数のグループのそれぞれの初期割り当てビット数を決定するために、前記複数のグループのそれぞれの量子化された正規化係数の前記平均に少なくとも基づいて、前記複数のグループの初期ビット割り当てを実行するように構成された第１の割り当てユニットと、
前記フレームの符号化ビットを前記複数のグループのうち少なくとも１つのグループに割り当てるために、前記複数のグループのそれぞれの前記初期割り当てビット数に少なくとも基づいて２次ビット割り当てを実行するように構成された第２の割り当てユニットと、
前記少なくとも１つのグループに割り当てられた前記符号化ビットを前記少なくとも１つのグループ内のサブバンドに割り当てるように構成された第３の割り当てユニットと
を有する装置。
【請求項１３】
前記２次ビット割り当ては、飽和アルゴリズムに基づいて実行される、請求項１２に記載の装置。
【請求項１４】
前記第２の割り当てユニットは、
前記複数のグループのそれぞれの飽和ビット数を決定するように構成された第１の決定モジュールと、
前記飽和ビット数及び前記初期ビット数に基づいて、ビット飽和したグループと前記ビット飽和したグループの余剰ビット数とを決定するように構成された第２の決定モジュールであり、ただし、前記ビット飽和したグループの余剰ビット数は、前記ビット飽和したグループの前記初期割り当てビット数と前記ビット飽和したグループの前記飽和ビット数との差である第２の決定モジュールと、
前記余剰ビットを前記ビット飽和したグループを除く前記複数のグループのうち少なくとも１つに割り当てるように構成された割り当てモジュールと、
を有する、請求項１３に記載の装置。
【請求項１５】
前記割り当てモジュールは、前記余剰ビットを前記ビット飽和したグループを除く前記複数のグループのうち前記少なくとも１つに均等に割り当てるように構成される、請求項１４に記載の装置。
【請求項１６】
取得された連続する平均の差を計算し、前記計算された差及び／又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するように構成された決定ユニットを更に有し、
ビット割り当てのために飽和アルゴリズムが使用されるべきであると決定された場合、ビット割り当てのために飽和アルゴリズムが前記２次ビット割り当てを実行するために使用され、ビット割り当てのために飽和アルゴリズムが使用されるべきでないと決定された場合、前記飽和アルゴリズムを除くアルゴリズムが前記２次ビット割り当てを実行するために使用される、請求項１２ないし１５のうちいずれか１項に記載の装置。
【請求項１７】
前記２次ビット割り当ては、重み付けアルゴリズムに基づいて実行される、請求項１２又は１６に記載の装置。
【請求項１８】
前記第２の割り当てユニットは、前記複数のグループのそれぞれの前記量子化された正規化係数の加重平均を取得するために、前記複数のグループのそれぞれの前記量子化された正規化係数の前記平均を重み付けするように構成された重み付けモジュールを更に有し、
前記割り当てモジュールは、前記複数のグループのそれぞれの前記量子化された正規化係数の前記加重平均に少なくとも基づいて前記２次ビット割り当てを実行するように構成される、請求項１７に記載の装置。
【請求項１９】
サブバンド量子化ユニットは、
前記複数のサブバンドのそれぞれの正規化係数を取得し、
前記複数のサブバンドのそれぞれの前記取得された正規化係数を量子化する
ことにより、前記量子化された正規化係数を取得するように更に構成される、請求項１２ないし１８のうちいずれか１項に記載の装置。
【請求項２０】
サブバンド量子化ユニットは、
【数１２】
0006351783.tif 000013
に従って前記正規化係数を取得するように更に構成され、ただし、Norm(p)はサブバンドpの前記正規化係数を示し、Lpはサブバンドpの係数の数を示し、spはサブバンドpの開始点を示し、epはサブバンドpの終了点を示し、Pは前記複数のサブバンドの数を示し、y(k)はサブバンドpの第kの係数を示す、請求項１２ないし１９のうちいずれか１項に記載の装置。
【請求項２１】
前記グループ内の前記サブバンドは連続する、請求項１２ないし２０のうちいずれか１項に記載の装置。
【請求項２２】
グループ化ユニットは、
【数１３】
0006351783.tif 000014
に従って前記グループの量子化された正規化係数の前記平均を取得するように更に構成され、ただし、group_avgは前記グループの量子化された正規化係数の前記平均を示し、Eは前記グループの終了サブバンドのインデックスを示し、Sは前記グループの開始サブバンドのインデックスを示し、group_wnormは前記グループ内の全てのサブバンドの量子化された正規化係数の和であり、
【数１４】
0006351783.tif 000015
に従って取得され、ただし、wnorm[b]は前記グループ内の第bのサブバンドの前記量子化された正規化係数を示す、請求項１２ないし２１のうちいずれか１項に記載の装置。
【請求項２３】
請求項１ないし１１のうちいずれか１項に記載の方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、“METHOD  AND  APPARATUS  FOR  ALLOCATING  BITS  OF  AUDIO  SIGNAL”という題で2012年10月26日に中国専利局に出願された中国特許出願第201210415253.6号の優先権を主張し、この全内容を援用する。
【０００２】
本発明の実施例は、オーディオ技術の分野に関し、特にオーディオ信号のビットを割り当てる方法及び装置に関する。
【背景技術】
【０００３】
現在では、通信の送信においてオーディオの品質に対してますます注目されているため、符号化及び復号化の間に、音声の品質の確保を前提として、できるだけ音楽の品質が改善されることが求められている。音楽信号の情報は豊富であるため、従来の音声のためのCELP（code-excited  linear  prediction）符号化モードは使用できず、通常は、音楽信号の符号化品質を改善するため、周波数ドメインにおいて音声信号を処理するために変換符号化方法が使用される。しかし、現在では、情報を効率的に符号化するために、どのように限られた符号化ビットを有効に使用するかが、オーディオ符号化における主な研究対象となっている。
【０００４】
現在のオーディオ符号化技術では、時間ドメインの信号を周波数ドメインの信号に変換するために、通常ではFFT（fast  Fourier  transform）又はMDCT（modified  discrete  cosine  transform）が使用され、周波数ドメインの信号が符号化される。通常では、変換符号化では、バンド分割が周波数ドメインの係数で実行され、各バンドの正規化されたエネルギーが取得され、バンド内係数エネルギーが正規化され、ビット割り当てが実行され、最終的に各バンドに割り当てられたビットに従ってバンド内係数が量子化される。ここで、ビット割り当ては重要な部分である。ビット割り当ては、周波数スペクトル係数を量子化する処理の間に、周波数スペクトル係数を量子化するために使用されるオーディオ信号のビットが周波数スペクトルのサブバンド特徴に従ってサブバンドに割り当てられることを示す。
【０００５】
特に、既存のビット割り当て処理は、周波数スペクトル信号のバンド分割を実行し、例えば、臨界周波数バンド理論（critical  frequency  band  theory）に従って低周波数から高周波数にバンド幅を次第に増加させ、周波数スペクトルをバンドに分割し、各サブバンドの正規化されたエネルギーノルムを取得し、サブバンド正規化係数wnormを取得するためにノルムを正規化し、これらのサブバンド正規化係数wnormの値に従って降順にサブバンドをソートし、ビット割り当てを実行すること（例えば、サブバンド正規化係数wnormの値に従ってサブバンド毎に反復してビット数を割り当てること）を含む。反復のビット割り当ては、更に以下のステップに分割されてもよい。ステップ１．各サブバンドのビット数及び反復係数facを初期化する。ステップ２．最大のサブバンド正規化係数wnormに対応するバンドを見つける。ステップ３．バンド幅の値をこのバンドに割り当てられたビット数に加算し、サブバンド正規化係数wnormの値から反復係数facを減算する。ステップ４．全てのビットが割り当てられるまでステップ２及びステップ３を繰り返す。
【０００６】
従来技術では、毎回割り当てられるビットの最小単位はバンド幅の値であるが、量子化の間に必要な最小のビット数はバンド幅の値未満であることが分かる。このことは、ビットレートが低いときに、このような全体のビット割り当ての低い効率を生じ、多くのバンドがビットを割り当てられず他のバンドが多すぎるビットを割り当てられる。ビットは全周波数バンドで反復して割り当てられるため、反復パラメータは異なるバンド幅を有するサブバンドで同じになり、これは、ランダムな割り当て結果、比較的分散した量子化、及び前のフレームと次のフレームとの不連続性を生じる。
【０００７】
ビットレートが低い場合、ビット割り当てはかなり性能に影響を与えることが分かる。通常では、ビット割り当ては各サブバンドの正規化されたエネルギーの大きさに従って全周波数バンドで主に実行され、ビットレートが不十分である場合、このような割り当てはランダムになり、また、比較的分散される。このことは時間ドメインにおいて不連続な量子化の現象を生じる。
【発明の概要】
【０００８】
本発明の実施例は、低及び中ビットレートの場合に既存のビット割り当て方法により生じる時間ドメインにおけるランダムな分散した割り当て及び不連続な量子化の問題を解決することができる、オーディオ信号のビットを割り当てる方法及び装置を提供する。
【０００９】
第１の態様によれば、オーディオ信号のビットを割り当てる方法が提供され、オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数を量子化し、複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得し、ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和であり、各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行し、オーディオ信号の符号化ビットを少なくとも１つのグループに割り当てるために、各グループの初期ビット数に基づいて２次グループ間ビット割り当てを実行し、ただし、少なくとも１つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットの数であり、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てることを含む。
【００１０】
第１の態様を参照して、第１の態様の第１の実装方法では、２次グループ間ビット割り当てを実行することは、ビット割り当てのために飽和アルゴリズムを使用することにより２次グループ間ビット割り当てを実行することを含む。
【００１１】
第１の態様の第１の実装方法を参照して、第１の態様の第２の実装方法では、ビット割り当てのために飽和アルゴリズムを使用することにより２次グループ間ビット割り当てを実行することは、各グループの飽和ビット数を決定し、各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループとビット飽和したグループの余剰ビット数とを決定し、ただし、ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数であり、余剰ビット数をビット飽和していないグループに割り当てることを含み、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。
【００１２】
第１の態様の第２の実装方法を参照して、第１の態様の第３の実装方法では、余剰ビット数をビット飽和していないグループに割り当てることは、余剰ビット数をビット飽和していないグループに均等に割り当てることを含む。
【００１３】
第１の態様の第１の実装方法、第２の実装方法及び第３の実装方法を参照して、第１の態様の第４の実装方法では、初期グループ間ビット割り当ての後且つ２次グループ間ビット割り当ての前に、この方法は、グループ内サブバンド正規化係数の平均値の間の差及び／又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定し、ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であり、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値である場合、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定し、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値でない場合、重み付けアルゴリズムが使用されるべきであることを決定することを更に含む。
【００１４】
第１の態様及び第１の態様の第４の実装方法を参照して、第１の態様の第５の実装法方では、２次グループ間ビット割り当てを実行することは、重み付けアルゴリズムを使用することにより２次グループ間ビット割り当てを実行することを更に含んでもよい。
【００１５】
第１の態様の第５の実装方法を参照して、第１の態様の第６の実装方法では、重み付けアルゴリズムを使用することにより２次グループ間ビット割り当てを実行することは、各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けし、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数で２次グループ間ビット割り当てを実行することを含む。
【００１６】
第１の態様及び第１の態様の前述の実装方法を参照して、第１の態様の第７の実装方法では、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てることは、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けし、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当て、ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択されることを含む。
【００１７】
第１の態様及び第１の態様の前述の実装方法を参照して、第１の態様の第８の実装方法では、複数のサブバンドを複数のグループに分類することは、複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを１つのグループに分類すること、又は複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを１つのグループに分類することを含む。
【００１８】
第１の態様の第８の実装方法を参照して、第１の態様の第９の実装方法では、各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有する。
【００１９】
第２の態様によれば、オーディオ信号のビットを割り当てる装置が提供され、オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数を量子化するように構成されたサブバンド量子化ユニットと、複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得するように構成されたグループ化ユニットであり、ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和であるグループ化ユニットと、各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行するように構成された第１の割り当てユニットと、オーディオ信号の符号化ビットを少なくとも１つのグループに割り当てるために、各グループの初期ビット数に基づいて２次グループ間ビット割り当てを実行するように構成された第２の割り当てユニットであり、ただし、少なくとも１つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットである第２の割り当てユニットと、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てるように構成された第３の割り当てユニットとを含む。
【００２０】
第２の態様を参照して、第２の態様の第１の実装方法では、第２の割り当てユニットは、ビット割り当てのために飽和アルゴリズムを使用することにより２次グループ間ビット割り当てを実行するように特に構成される。
【００２１】
第２の態様の第１の実装方法を参照して、第２の態様の第２の実装方法では、第２の割り当てユニットは、各グループの飽和ビット数を決定するように構成された第１の決定モジュールと、各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループとビット飽和したグループの余剰ビット数とを決定するように構成された第２の決定モジュールであり、ただし、ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数である第２の決定モジュールと、余剰ビット数をビット飽和していないグループに割り当てるように構成された割り当てモジュールとを含み、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。
【００２２】
第２の態様の第２の実装方法を参照して、第２の態様の第３の実装方法では、割り当てモジュールは、余剰ビット数をビット飽和していないグループに均等に割り当てるように特に構成される。
【００２３】
第２の態様の第１の実装方法、第２の実装方法及び第３の実装方法を参照して、第２の態様の第４の実装方法では、オーディオ信号のビットを割り当てる装置は、初期グループ間ビット割り当ての後且つ２次グループ間ビット割り当ての前に、グループ内サブバンド正規化係数の平均値の間の差及び／又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するように構成された決定ユニットであり、ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であり、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値である場合、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定し、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値でない場合、重み付けアルゴリズムが使用されるべきであることを決定するように特に構成された決定ユニットを更に含む。
【００２４】
第２の態様及び第２の態様の第４の実装方法を参照して、第２の態様の第５の実装法方では、第２の割り当てユニットは、重み付けアルゴリズムを使用することにより２次グループ間ビット割り当てを実行するように更に構成される。
【００２５】
第２の態様の第５の実装方法を参照して、第２の態様の第６の実装方法では、第２の割り当てユニットは、各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けするように構成された重み付けモジュールを更に含み、割り当てモジュールは、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数で２次グループ間ビット割り当てを実行するように構成される。
【００２６】
第２の態様及び第２の態様の前述の実装方法を参照して、第２の態様の第７の実装方法では、第３の割り当てユニットは、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けするように構成された重み付けモジュールと、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当てるように構成された割り当てモジュールであり、ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択される割り当てモジュールとを含む。
【００２７】
第２の態様及び第２の態様の前述の実装方法を参照して、第２の態様の第８の実装方法では、グループ化ユニットは、複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを１つのグループに分類するように特に構成され、又は複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを１つのグループに分類するように特に構成される。
【００２８】
第２の態様の第８の実装方法を参照して、第２の態様の第９の実装方法では、各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有する。
【００２９】
本発明の実施例は、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、低及び中ビットレートの場合に局所不連続性におけるグローバルな割り当ての影響を低減することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施例によるオーディオ信号のビットを割り当てる方法のフローチャート
【図２】本発明の実施例によるオーディオ信号のビットを割り当てる装置の概略構成図
【図３】本発明の実施例によるオーディオ信号のビットを割り当てる装置における第２の割り当てユニットの概略構成図
【図４】本発明の実施例によるオーディオ信号のビットを割り当てる装置の他の概略構成図
【図５】本発明の実施例のよるオーディオ信号のビットを割り当てる装置における第３の割り当てユニットの概略構成図
【図６】本発明の実施例によるオーディオ信号のビットを割り当てる装置の更に他の概略構成図
【発明を実施するための形態】
【００３１】
本発明の実施例における技術的対策を明瞭に説明するために、実施例又は従来技術を説明するために必要な添付図面について以下に簡単に紹介する。明らかに、以下の説明において、添付図面は単なる本発明の単にいくつかの実施例を示しているに過ぎず、当業者は、創造的取り組みを行うことなく、これらの添付図面から他の図面を導くことができる。
以下では、本発明の実施例の添付図面を参照して本発明の実施例の技術的対策を明瞭且つ完全に説明する。明らかに、説明する実施例は本発明の実施例の全てではなく、一部である。創造的取り組みを行うことなく本発明の実施例に基づいて当業者により得られる全ての他の実施例は、本発明の保護範囲内に入るものとする。
【００３２】
符号化の技術的対策及び復号化の技術的対策は、様々な電子デバイス（例えば、移動電話、無線装置、パーソナルデジタルアシスタント（PDA：personal  data  assistant）、ハンドヘルド又はポータブルコンピュータ、GPS受信機／ナビゲータ、カメラ、オーディオ／ビデオプレイヤ、ビデオカメラ、ビデオテープレコーダ、監視デバイス）に広く適用されている。一般的に、このような電子デバイスは、オーディオエンコーダ（符号化器）又はオーディオデコーダ（復号化器）を含み、オーディオエンコーダ又はデコーダは、デジタル回路又はチップ（例えば、デジタルシグナルプロセッサ（DSP：digital  signal  processor））により直接実現されてもよく、ソフトウェアコードの処理を実行するようにプロセッサを駆動するソフトウェアコードにより実現されてもよい。
【００３３】
一例として、オーディオ符号化技術の対策では、まず、時間ドメインのオーディオ信号が周波数ドメインの信号に変換され、符号化ビットが符号化のために周波数ドメインのオーディオ信号に割り当てられ、符号化された信号が通信システムを通じてデコーダに送信され、デコーダが符号化された信号を復号化及び復元する。
【００３４】
本発明では、ビット割り当ては、グループ化理論及び信号特性に従って実行される。まず、バンドがグループ化され、グループ内エネルギーが各グループの特性に従って重み付けされ、重み付けされたエネルギーに従ってビット割り当てがグループ毎に実行され、グループ間信号特性に従ってビットが各バンドに割り当てられる。まず、割り当ては全体グループについて実行されるため、不連続な割り当ての現象は回避され、これにより、異なる信号の符号化品質を改善する。更に、割り当てがグループ内で実行されるときに信号特性が考慮されるため、限られたビットが知覚に影響する重要なオーディオバンドに割り当てられることが可能になる。
【００３５】
図１は、本発明の実施例によるオーディオ信号のビットを割り当てる方法のフローチャートである。
【００３６】
101.オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数（sub-band  normalization  factor）を量子化する。
【００３７】
以下では、一例としてMDCT変換を使用することにより説明される。まず、MDCT変換が入力オーディオ信号で実行され、周波数ドメインの係数を取得する。ここでのMDCT変換は、ウィンドウ化、時間ドメインのエイリアシング（aliasing）及び離散DCT変換のような複数の処理を含んでもよい。
【００３８】
例えば、サインウィンドウが入力の時間ドメインの信号x(n)に追加される。
【数１】
0006351783.tif 000002
ただし、Lは信号のフレーム長である。
【００３９】
次のウィンドウ化された信号が取得される。
【数２】
0006351783.tif 000003
【００４０】
次に、時間ドメインのエイリアシング動作が実行される。
【数３】
0006351783.tif 000004
【００４１】
ただし、IL/2及びJL/2は、L/2のオーダーの体格行列としてそれぞれ表される。
【数４】
0006351783.tif 000005
【００４２】
離散DCT変換は、時間ドメインのエイリアシングされた信号で実行され、最終的に周波数ドメインのMDCT係数を取得する。
【数５】
0006351783.tif 000006
【００４３】
次に、MDCT係数から周波数エンベロープが抽出され、量子化される。全体の周波数バンドは、異なる周波数ドメインの分解能を有するいくつかのサブグループに分割され、各サブバンドの正規化係数が抽出され、サブバンド正規化係数が量子化される。
【００４４】
例えば、16kHzでサンプリングされたオーディオ信号は、8kHzのバンド幅を有する周波数バンドに対応し、フレーム長が20msであり、合計で3,200の周波数スペクトル係数が存在する場合、バンドは以下の26個のサブバンドに分割されてもよい。
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,24,24
【００４５】
まず、複数のグループが分割により取得され、グループのサブバンドは更に分割により取得される。各サブグループの正規化係数は以下のように定義されてもよい。
【数６】
0006351783.tif 000007
【００４６】
ただし、Lpはサブバンドの係数の数であり、spはサブバンドの開始点であり、epはサブバンドの終了点であり、Pはサブバンドの総数である。
【００４７】
取得された後に、正規化係数は対数ドメインで量子化され、量子化されたサブバンド正規化係数wnormを取得してもよい。
【００４８】
102.複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得する。ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和である。
【００４９】
すなわち、全てのサブバンドは複数のグループに分割され、各グループのグループパラメータが取得される。ただし、グループパラメータは、このグループの信号特性及びエネルギー属性を表すために使用されるグループ内サブバンド正規化係数の和でもよい。
【００５０】
ここで、同様の特徴及びエネルギーを有するサブバンドが１つのグループに分類されることを考慮する。例えば、同じバンド幅を有するサブバンドは１つのグループに分類されてもよく、隣接しており同じバンド幅を有するサブバンドは１つのグループに分類されることが好ましい。例えば、全てのサブバンドは３つのグループに分類されてもよい。従って、ビットレートが低い場合、最初の１つのグループ又は２つのグループのみが使用されてもよく、残りのグループについてビット割り当てが実行されない。
【００５１】
或いは、グループ化は、サブバンドの正規化されたエネルギーノルムの間の関係に従って実行されてもよい。すなわち、近いサブバンド正規化係数wnormを有するサブバンドは１つのグループに分類されてもよい。例えば、サブバンドのサブバンド正規化係数が近いか否かは、以下の方法を使用することにより決定されてもよい。サブバンドのサブバンド正規化係数wnorm[i](i=1,...,P-1、Pはサブバンドの総数)と、所定の閾値Kとを比較する。wnorm[i]が所定の閾値Kより大きい場合、サブバンドのシーケンス番号iが記録され、最終的に、サブバンド正規化係数wnorm[i]が所定の閾値Kより大きいサブバンドは１つのグループに分類され、残りのサブバンドは他のグループに分類される。更に多くのグループが取得されるように、複数の所定の閾値が異なる要件に従って設定されてもよいことが分かる。
【００５２】
任意選択で、近いサブバンド正規化係数を有する隣接するサブバンドも１つのグループに分類されてもよい。例えば、隣接するサブバンドのサブバンド正規化係数が近いか否かは、以下の方法を使用することにより決定されてもよい。まず、隣接するサブバンドのサブバンド正規化係数の差wnorm_diff[i]が計算される。ただし、wnorm_diff[i]=abs(wnorm[i]-wnorm[i-1])、i=1,...,P-1であり、Pはサブバンドの総数である。wnorm_diff[i]が所定の閾値K’未満である場合、これは隣接するサブバンドのサブバンド正規化係数が近いことを示し、これにより、１つのグループに分類され得る隣接するサブバンドのシーケンス番号が決定される。
【００５３】
サブバンドのグループ化が完了すると、グループのエネルギー属性を表すための、各グループのグループパラメータが取得されてもよい。一般的に、グループパラメータは、group_wnorm（グループ内サブバンド正規化係数の和）及びgroup_sharp（グループ内サブバンド正規化係数のピーク対平均比）のうち１つ以上を含んでもよい。
【００５４】
特に、group_wnorm（グループ内サブバンド正規化係数の和）は、グループ内の全てのサブバンドのサブバンド正規化係数の和であり、すなわち、
【数７】
0006351783.tif 000008
であり、ただし、Siは第iのグループの開始サブバンドであり、Eiは第１のグループの終了サブバンドである。
【００５５】
グループ内サブバンド正規化係数の平均値group_avgは、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であり、すなわち、
【数８】
0006351783.tif 000009
であり、ただし、group_wnorm[i]は第１のグループのグループ内サブバンド正規化係数の和であり、Siは第iのグループの開始サブバンドであり、Eiは第１のグループの終了サブバンドである。
【００５６】
103.各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行する。
【００５７】
前述のグループパラメータは、グループのエネルギー属性を表し、これにより、オーディオ信号のビットがグループパラメータに従って各グループに割り当てられてもよい。このように、ビットレートが不十分である場合、グループ化理論が使用され、グループのエネルギー属性が考慮され、これにより、オーディオ信号のビットの割り当てが更に収束し、フレーム間のビット割り当てが更に連続的になる。グループパラメータは、ここに記載の複数の種類に限定されず、グループのエネルギー属性を表し得る他のパラメータでもよいことが分かる。
【００５８】
一実施例では、ビットレートが不十分である場合、ビットは、グループの一部のみに割り当てられてもよい。例えば、グループ内サブバンド正規化係数の和が0であるグループでは、ビットはこのグループに割り当てられない。他の例では、ビット数が小さい場合、ビットが割り当てられないグループが存在してもよい。すなわち、前述のグループパラメータが取得されることに基づいて、符号化ビットは、各グループのグループ内サブバンド正規化係数の和のみに従って、少なくとも１つのグループについて割り当てられてもよい。ただし、少なくとも１つのグループに割り当てられるビットの和は、オーディオ信号のビットである。
【００５９】
各グループのgroup_wnorm[i]に従って、各グループに割り当てられる初期ビット数が取得される。最も簡単な方法は、グループの全てのサブバンドの正規化されたエネルギーに対する各グループのグループ内サブバンド正規化係数の比に従ってビット数を割り当てることである。すなわち、第iのグループの初期ビット数は、Bi=sum_bits*group_wnorm[i]/sum_normであり、ただし、sum_bitsは割り当てられるビットの総数であり、sum_normは全てのサブバンドの正規化されたエネルギーである。
【００６０】
104.オーディオ信号の符号化ビットを少なくとも１つのグループに割り当てるために、各グループの初期ビット数に基づいて２次グループ間ビット割り当てを実行する。ただし、少なくとも１つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットである。或いは、少なくとも１つのグループに割り当てられるビットの和は、オーディオ信号の量子化ビットの数であり、量子化ビットは、周波数スペクトル係数を量子化するビットである。
【００６１】
各グループの初期ビット数が決定された後に、２次グループ間ビット割り当てが決定されてもよい。
【００６２】
例えば、２次グループ間ビット割り当ては、ビット割り当てのために飽和アルゴリズム（saturation  algorithm）を使用することにより実行されてもよい。
【００６３】
まず、各グループの飽和ビット数が決定される。ただし、一般的に、飽和ビット数は、例えば、周波数スペクトル係数毎に平均で1〜2ビットの実験値（経験値）である。更に、飽和ビット数は、符号化レート及び信号特性に更に関係してもよい。次に、各グループの飽和ビット数及び各グループの前述の初期ビット数に従って、ビット飽和したグループ及びビット飽和したグループの余剰ビット数が決定され、最後に、余剰ビット数がビット飽和していないグループに割り当てられる。例えば、余剰ビット数は、ビット飽和していないグループに均等に割り当てられてもよい。ここで、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数である。
【００６４】
或いは、例えば、２次グループ間ビット割り当ては、重み付けアルゴリズムを使用することにより実行されてもよい。
【００６５】
すなわち、各グループへのオーディオ信号のビットの割り当て結果は、グループパラメータを調整することにより最適化される。例えば、異なる重みは、限られたビット数が適切なグループに割り当てられるように、異なる割り当て要件に従って異なるグループのグループパラメータに割り当てられ、次に、ビット割り当てがもはや分散しないように、ビットがグループ内で割り当てられる。このことは、オーディオ信号の符号化を容易にする。
【００６６】
実装方法は、以下に例示的に与えられる。例えば、各グループのグループ内サブバンド正規化係数の和が重み付けられ、各グループのグループ内サブバンド正規化係数の加重和が取得される。２次グループ間ビット割り当ては、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数について実行される。
【００６７】
他の実装方法は、以下に例示的に与えられる。例えば、group_wnorm（各グループのグループ内サブバンド正規化係数の和）及びgroup_sharp（各グループのグループ内サブバンド正規化係数のピーク対平均比）が取得された後に、group_wnorm（グループ内サブバンド正規化係数の和）がgroup_sharp（グループ内サブバンド正規化係数のピーク対平均比）に従って重み付けられ、group_wnorm_w（グループ内サブバンド正規化係数の加重和）が取得されてもよい。
【００６８】
特に、２つの隣接するグループ（例えば、第１のグループ及び第２のグループ）が、低周波数から高周波数までのグループから連続的に選択される。第１のグループのグループ内サブバンド正規化係数のピーク対平均比group_sharp[i]は、第２のグループのグループ内サブバンド正規化係数のピーク対平均比group_sharp[i-1]と比較される。第２のグループのグループ内サブバンド正規化係数のピーク対平均比に対する第１のグループのグループ内サブバンド正規化係数のピーク対平均比の差が第１の閾値より大きい場合、第１のグループのグループ内サブバンド正規化係数の和は、第１の重み付け係数に従って調整され、第２のグループのグループ内サブバンド正規化係数の和は、第２の重み付け係数に従って調整される。第１のグループのグループ内サブバンド正規化係数のピーク対平均比に対する第２のグループのグループ内サブバンド正規化係数のピーク対平均比の差が第２の閾値より大きい場合、第２のグループのグループ内サブバンド正規化係数の和は、第１の重み付け係数に従って調整され、第１のグループのグループ内サブバンド正規化係数の和は、第２の重み付け係数に従って調整される。
【００６９】
例えば、group_sharp[i]-group_sharp[i-1]>aである場合、group_wnorm_w[i-1]=b*group_wnorm[i-1]且つgroup_wnorm_w[i]=(b-1)*group_wnorm[i]である。或いは、group_sharp[i-1]-group_sharp[i]>cである場合、group_wnorm_w[i]=b*group_wnorm[i]且つgroup_wnorm[i-1]=(b-1)*group_wnorm[i-1]である。ただし、グループシーケンス番号i=1,...,P-1であり、Pはサブバンドの総数であり、bは重みであり、aは第１の閾値であり、cは第２の閾値である。a、b及びcの選択は、ビット割り当てによる要求によって実行されてもよい。
【００７０】
ここでは、簡単な重み付け方法のみが例示的に記載される。当業者は、異なる重み付け係数を使用することによりサブバンドの重みを調整するために、他の重み付け方法も容易に理解することができる。例えば、多くの信号ビットを割り当てられる必要があるサブバンドの重みは増加してもよく、ビットを割り当てられる必要がないサブバンドの重み又は少ない信号ビットを割り当てられる必要があるサブバンドの重みは減少する。
【００７１】
次に、オーディオ信号のビットは、グループ内サブバンド正規化係数の加重和に従って各グループに割り当てられる。例えば、グループのグループビット数は、sum_wnorm（全てのサブバンドのサブバンド正規化係数の和）に対するgroup_wnorm[i]（グループ内サブバンド正規化係数の加重和）の比に従って決定され、オーディオ信号のビットは、決定されたグループビット数に従ってグループに割り当てられる。各グループのビットの総数group_bitsは、group_bits[i]=sum_bits*group_wnorm[i]/sum_wnormの式に従って決定される。ただし、sum_bitsは割り当てられる必要があるオーディオ信号のビットの総数であり、sum_wnormは全てのサブバンドのサブバンド正規化係数の和である。
【００７２】
前述の２次グループ間ビット割り当ての処理は、更に最適化されてもよい。例えば、ビットレート及び／又はグループ内サブバンド正規化係数の平均値の間の差に従って、飽和アルゴリズム及び重み付けアルゴリズムのような異なる２次グループ間ビット割り当ての対策が使用される。
【００７３】
例えば、ビット割り当てに飽和アルゴリズムが使用されるか重み付けアルゴリズムが使用されるかは、グループ内サブバンド正規化係数の平均値の間の差及び／又はビットレートに従って決定される。ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値である。
【００７４】
ビットがグループに割り当てらた後に、各グループに割り当てられたビットは、グループのサブバンドに更に割り当てられてもよい。
【００７５】
105.グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てる。
【００７６】
ビット割り当ては、既存の反復割り当て方法を使用することにより、グループ内のサブバンドについて実行されてもよいことが分かる。しかし、反復割り当て方法は、依然としてグループ内のビット割り当てのランダムな結果を生じ、前のフレームと次のフレームとの間の不連続性を生じる。従って、グループに割り当てられたオーディオ信号のビットは、グループ内のサブバンドのサブバンド正規化係数に従って、異なるオーディオ信号の信号特性（すなわち、異なる信号種別）を参照してグループ内のサブバンドに割り当てられてもよい。
【００７７】
１つの実装方法は、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けし、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当てることである。ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択される。
【００７８】
グループに割り当てられたオーディオ信号のビットが重み付けされたサブバンド正規化係数に従ってグループ内の全てのサブバンドに割り当てられる典型的な実装方法は、全てのサブバンドの重み付けされたサブバンド正規化係数を決定した後に、グループ内の全てのサブバンドの重み付けされたサブバンド正規化係数の和を取得するように計算し、全てのサブバンドの重み付けされたサブバンド正規化係数の和に対する、ビットを割り当てられる必要があるサブバンドの重み付けされたサブバンド正規化係数の比に従って、グループに割り当てられたビットを特定のサブバンドに割り当てることである。
【００７９】
グループに割り当てられたオーディオ信号のビットが重み付けされたサブバンド正規化係数に従ってグループ内のサブバンドの一部に割り当てらる典型的な実装方法は、グループ内の全てのサブバンドの重み付けされたサブバンド正規化係数を、例えば降順にソートし、重み付けされたサブバンド正規化係数のソートに従って、高いランクの重み付けされたサブバンド正規化係数に対応するサブバンドの一部を選択し、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部に割り当てることである。
【００８０】
例えば、まず、グループ内のサブバンドのサブバンド正規化係数wnormの重み付けパラメータfactor[0]及びfactor[1]が決定され、wnorm_index[i]を取得するためにグループ内のサブバンドのサブバンド正規化係数wnormがソートされ、wnorm_index[i]が重み付けパラメータを使用することにより重み付けされ、最終的に、重み付けされたwnorm_index[i]に従ってグループ内のサブバンドについてビット割り当てが実行される。
【００８１】
前述のことから、本発明のこの実施例におけるオーディオ信号のビットを割り当てる方法に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができ、飽和したサブバンドの余剰ビットが２次割り当てにより有効に使用され、これにより、ビット割り当てが更に合理的になることが分かる。
【００８２】
以下は、特定の実施例においてプログラミング言語を参照して、どのようにビットレート及び／又はグループ内サブバンド正規化係数の平均値の間の差に従って異なる２次グループ間ビット割り当てを使用し、グループ内のサブバンドのビット割り当てを実行するかについて詳細に説明する。
【００８３】
まず、オーディオ信号の複数のサブバンドは、複数のグループに分類され、各グループに割り当てられる初期ビット数は、group_wnorm[i]（各グループのサブバンド正規化係数の和）に従って取得される。例えば、全てのサブバンドは３つのグループに分類される。
第１のグループの初期ビット数B1=sum_bits*group_wnorm[0]/sum_norm
第２のグループの初期ビット数B2=sum_bits*group_wnorm[1]/sum_norm
第３のグループの初期ビット数B3=sum_bits*group_wnorm[2]/sum_norm
ただし、sum_bitsは割り当てられるビットの総数であり、従って、B3=sumbits-B1-B2であり、sum_norm=group_wnorm[0]+group_wnorm[1]+group_wnorm[2]である。
【００８４】
次に、ビットレート（bit_rate）及びグループ内サブバンド正規化係数の平均値の間の差（avg_diff）に従って、異なる２次グループ間ビット割り当ての対策が使用される。
【００８５】
ステップ1.グループ内サブバンド正規化係数の平均値の間の差を計算する。
avg_diff[0]=group_avg[0]-group_avg[1]
avg_diff[1]=group_avg[1]-group_avg[2]
【００８６】
ステップ2.２次グループ間ビット割り当ての対策を選択する。例えば、２つの条件（すなわち、グループ内サブバンド正規化係数の平均値の間の差及び／又はビットレート）に従って、ビット割り当てのために飽和アルゴリズム又は重み付けアルゴリズムが使用されるかを決定する。
if(bit_rate>a&&avg_diff[0]<b&&avg_diff[1]<c)
{
飽和アルゴリズム
}
else
{
重み付けアルゴリズム
}
ただし、a、b及びcは実験的係数である。
【００８７】
ステップ3.後処理アルゴリズム：最も高いサブバンドのgroup_wnorm[2]が特定の値未満である場合、グループに割り当てられたビットを低いサブバンドのグループに割り当てる。例えば、group_wnorm[2]が閾値d未満である場合、最も高いサブバンドに割り当てられたビットは、次に高いサブバンドに割り当てられ、最も高いサブバンドに割り当てられるビット数はゼロに設定される。
【００８８】
飽和アルゴリズムの場合：原理は、グループに割り当てられたビットが飽和に近い場合、余剰ビットが他のグループに割り当てられるというものである。例えば、
【００８９】
1)まず、グループの飽和ビット数をそれぞれB1_UP、B2_UP及びB3_UPに設定する。
【００９０】
2)余剰ビットを計算する。
B_saved=0;
if(B1>B1_UP)
{
B_saved=B_saved+(B1-B1_UP);
B1=B1_UP;
}
if  (B2>B2_UP)
{
B_saved=B_saved+(B2-B2_UP);
B2=B2_UP;
}
if(B3>B3_UP)
{
B_saved=B_saved+(B3-B3_UP);
B3=B3_UP;
}
ただし、B1_UP、B2_UP及びB3_UPは実験的係数であり、それぞれ288、256及び96でもよい。
【００９１】
3)２回目に余剰ビットを割り当てる。例えば、第１のグループに割り当てられたビットが飽和に近い場合、B_savedは、他のグループに均等に割り当てられる。第１のグループに割り当てられたビットが飽和していない場合、B_savedの半分がB1に追加され、第２のグループに割り当てられたビットが飽和しているか否かが決定される。第１のグループに割り当てられたビットが飽和していない場合、B2はsum_bits-B1-B3に設定される、或いは、B3はsum_bits-B1-B2に設定される。アルゴリズムの擬似コードは以下のようになる。
if  (B_saved>0)
{
if(B1==B1_UP)
{
B2=B2+B_saved/2;
B3=sum_bits-B1-B2;
}
else
{
B1=B1+B_saved/2;
if(B2==B2_UP)
{
B3=sum_bits-B1-B2;
}
else
{
B2=sum_bits-B1-B3;
}
}
}
【００９２】
重み付けアルゴリズムの場合：
B1’=a1*B1
B2’=a2*B2
B3’=sum_bits-B1’-B2’
ただし、sum_bitsはビットの総数であり、sum_norm=group_wnorm[0]+group_wnorm[1]+group_wnorm[2]であり、a1及びは重み付け係数であり、例えば、ここではa1=1.0及びa2=0.92に設定されてもよい。
【００９３】
最後に、グループに割り当てられたビットは、以下の方法を使用することにより、グループ内のサブバンドに割り当てられる。
【００９４】
ステップ1.各グループのサブバンドのサブバンド正規化係数wnormの重み付けパラメータfactor[]を決定する。例えば、factor[0]=FAC1及びfactor[1]=  FAC2であり、FAC1、FAC2は実験的係数であり、それぞれ2.0及び1.5、2.0及び3.0等でもよい。
【００９５】
ステップ2.wnorm_index(i)を取得するために、グループ内の全てのサブバンド正規化係数を降順にソートする。
【００９６】
ステップ3.重み付けパラメータfactor[]に従って、ソート後のwnorm_index(i)の値で以下の重み付け処理を実行する。
wnorm_index[i]=wnorm_index[i]*(α-β*i),0≦i<band_num
ただし、band_numはグループ内に含まれるサブバンドの数であり、α及びβは、条件に従って設定されてもよい。例えば、異なるグループによって異なる値が設定されてもよい。第１のグループの低周波数成分の場合、α=factor[0]及びβ=1/band_numに設定されてもよく、第１のグループより高い周波数を有するグループの場合、α=factor[1]及びβ=1/band_numに設定されてもよい。
【００９７】
ステップ4.ソート後のwnorm_index(i)の値に従って、グループに割り当てられたビットをグループ内のサブバンドに再び割り当てる。
【００９８】
ステップ4.1.グループ内のビットの総数Bxを閾値Thrで分割し、BitBand_num（グループに最初に割り当てられたサブバンドの数）を取得する。
【００９９】
ステップ4.2.BitBand_num（グループに最初に割り当てられたサブバンドの数）と、sumBand_num（グループ内のサブバンドの総数）との関係に従って、ビット割り当てのためのサブバンド数Nを決定する。例えば、BitBand_numがk*sumBand_numより大きく、ただし、kが0.75又は0.8のような係数である場合、NはsumBand_numに等しい。そうでない場合、NはBitBand_numに等しい。
【０１００】
ステップ4.3.第１のN個のサブバンドを選択する。ただし、Nは、ビット割り当てが実行されるグループ内のサブバンド数である。
【０１０１】
ステップ4.4.N個のサブバンドのビット数を1に初期化し、反復数jを0に初期化する。
【０１０２】
ステップ4.5.N個のサブバンドの中でサブバンド正規化係数が0より大きいband_wnrom（サブバンドのサブバンド正規化係数の和）を決定する。
【０１０３】
ステップ4.6.N個のサブバンドの中でサブバンド正規化係数が0より大きいサブバンドにビット数を割り当てる。
band_bits[i]=Bx*wnorm_index(i)/band_wnorm
ただし、Bxは各グループに割り当てられたビット数であり、例えば、前述の実施例では、３つのグループのビット数は、それぞれB1、B2及びB3である。
【０１０４】
ステップ4.7.N個のサブバンドの最後のサブバンドに割り当てられたビット数が固定の閾値fac未満であるか否かを決定し、固定の閾値fac未満である場合、サブバンドに割り当てられるビット数をゼロに設定する。fac以上である場合、ステップ4.9に進み、そうでない場合、ステップ4.8に進む。
【０１０５】
ステップ4.8.反復数jに1を追加し、反復数jがNに等しくなるまでステップ4.5からステップ4.8を繰り返す。
【０１０６】
ステップ4.9.グループ内の全てのサブバンドの初期の元のソートを復元させる。すなわち、全てのサブバンドのソートを、各サブバンドのサブバンド正規化係数が量子化される前のものに復元させる。
【０１０７】
本発明のこの実施例によるグループのビット割り当てのための方法は、ステップ4.1〜4.9に記載の前述の例に限定されないことが分かる。
【０１０８】
本発明のこの実施例のグループ化方法を使用することにより、前のフレーム及び次のフレームにおいて比較的安定した割り当てが確保され、異なる強調（emphases）を有するビット割り当てが信号特性に従ってグループ内で実行される。これにより、割り当てられたビットは、全て重要な周波数スペクトル情報を量子化するために使用されることにより、オーディオ信号の符号化品質を改善する。
【０１０９】
前述のことから、本発明のこの実施例におけるオーディオ信号のビットを割り当てる方法に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができることが分かる。更に、異なる閾値パラメータが各グループのビット割り当てのために設定されてもよく、これにより、ビット割り当てが更に適応的になる。更に、異なる強調を有するビット割り当てが周波数スペクトル信号特性に従ってグループ内で実行される。例えば、集中した周波数スペクトルを有する準高調波信号（quasi-harmonic  signal）では、ビットは主に高いエネルギーを有するサブバンドに割り当てられ、高調波の間のサブバンドに多くのビットを割り当てる必要がなくなる。比較的平坦な周波数スペクトルを有する信号では、サブバンドの間の平滑度がビット割り当て中にできるだけ確保され、これにより、割り当てられたビットが全て重要な周波数スペクトル情報を量子化するために使用される。
【０１１０】
図２を参照して、以下に、本発明の実施例によるオーディオ信号のビットを割り当てる装置の概略構成を説明する。
【０１１１】
図２では、オーディオ信号のビットを割り当てる装置20は、サブバンド量子化ユニット21と、グループ化ユニット22と、第１の割り当てユニット23と、第２の割り当てユニット24と、第３の割り当てユニット25とを含む。
【０１１２】
サブバンド量子化ユニット21は、オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数を量子化するように構成される。
【０１１３】
グループ化ユニット22は、複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得するように構成される。ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和である。
【０１１４】
任意選択で、グループ化ユニット22は、複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを１つのグループに分類するように特に構成される。或いは、複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを１つのグループに分類するように特に構成される。各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有することが好ましい。
【０１１５】
第１の割り当てユニット23は、各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行するように構成される。
【０１１６】
第２の割り当てユニット24は、オーディオ信号の符号化ビットを少なくとも１つのグループに割り当てるために、各グループの初期ビット数に基づいて２次グループ間ビット割り当てを実行するように構成される。ただし、少なくとも１つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットである。
【０１１７】
任意選択で、第２の割り当てユニット24は、ビット割り当てのために飽和アルゴリズムを使用することにより２次グループ間ビット割り当てを実行するように特に構成される。例えば、図３に示すように、第２の割り当てユニット24は、第１の決定モジュール241と、第２の決定モジュール242と、割り当てモジュール243とを含んでもよい。第１の決定モジュール241は、各グループの飽和ビット数を決定するように構成される。第２の決定モジュール242は、各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループとビット飽和したグループの余剰ビット数とを決定するように構成される。ただし、ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数である。割り当てモジュール243は、余剰ビット数をビット飽和していないグループに割り当てるように構成される。ただし、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。任意選択で、割り当てモジュール243は、余剰ビット数をビット飽和していないグループに均等に割り当てるように特に構成されてもよい。
【０１１８】
或いは、任意選択で、第２の割り当てユニットは、重み付けアルゴリズムを使用することにより２次グループ間ビット割り当てを実行するように更に構成されてもよい。例えば、第２の割り当てユニット24は、重み付けモジュール244と割り当てモジュール243とを更に含んでもよい。重み付けモジュール244は、各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けするように構成される。割り当てモジュール243は、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数で２次グループ間ビット割り当てを実行するように構成される。
【０１１９】
オーディオ信号のビットを割り当てる装置20は、初期グループ間ビット割り当ての後且つ２次グループ間ビット割り当ての前に、グループ内サブバンド正規化係数の平均値の間の差及び／又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するように構成された決定ユニット26を更に含んでもよいことが分かる。ただし、グループ内のサブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値である。ビット割り当てのために飽和アルゴリズムが使用される場合、決定ユニット26は、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定する。そうでない場合、決定ユニット26は、重み付けアルゴリズムが使用されるべきであることを決定する。図４に示すように、第３の割り当てユニット25は、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てるように構成される。
【０１２０】
例えば、図５に示すように、第３の割り当てユニット25は、重み付けモジュール251と、割り当てモジュール252とを含んでもよい。重み付けモジュール251は、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けするように構成される。割り当てモジュール252は、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当てるように構成される。ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択される。
【０１２１】
前述のことから、本発明のこの実施例におけるオーディオ信号のビットを割り当てる装置に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができることが分かる。従って、本発明のこの実施例のグループ化方法を使用することにより、前のフレーム及び次のフレームにおいて比較的安定した割り当てが確保され、異なる強調を有するビット割り当てが信号特性に従ってグループ内で実行され、これにより、割り当てられたビットが全て重要な周波数スペクトル情報を量子化するために使用されることで、オーディオ信号の符号化品質を改善する。
【０１２２】
更に、図６において、本発明の実施例は、オーディオ信号のビットを割り当てる他の装置60を更に提供する。装置は、メモリ61とプロセッサ62とを含む。メモリ61は、前述の方法の実施例のステップを実現するコードを格納するように構成され、プロセッサ62は、メモリに格納されたコードを処理するように構成される。
【０１２３】
本発明のこの実施例におけるオーディオ信号のビットを割り当てる装置に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができることが分かる。更に、異なる閾値パラメータが各グループのビット割り当てのために設定されてもよく、これにより、ビット割り当てが更に適応的になる。更に、異なる強調を有するビット割り当てが周波数スペクトル信号特性に従ってグループ内で実行される。例えば、集中した周波数スペクトルを有する準高調波信号（quasi-harmonic  signal）では、ビットは主に高いエネルギーを有するサブバンドに割り当てられ、高調波の間のサブバンドに多くのビットを割り当てる必要がなくなる。比較的平坦な周波数スペクトルを有する信号では、サブバンドの間の平滑度がビット割り当て中にできるだけ確保され、これにより、割り当てられたビットが全て重要な周波数スペクトル情報を量子化するために使用される。
【０１２４】
当業者は、この明細書に開示された実施例に記載の例と組み合わせて、ユニット及びアルゴリズムのステップが電子ハードウェアにより実現されてもよく、コンピュータソフトウェアと電子ハードウェアとの組み合わせにより実現されてもよいことを認識し得る。機能がハードウェアにより実行されるかソフトウェアにより実行されるかは、技術的対策の特定の用途及び設計上の制約条件に依存する。当業者は、特定の用途毎に記載の機能を実施するための異なる方法を使用し得るが、その実施は本発明の範囲を超えるものと考えられるべきではない。
【０１２５】
便宜的及び簡潔な説明の目的で、前述のシステム、装置及びユニットの詳細な動作処理は、前述の方法の実施例の対応する処理を参照し、詳細はここでは再び繰り返されないことが、当業者により明確に分かる。
【０１２６】
この出願で提供される複数の実施例において、開示のシステム、装置及び方法は、他の方法で実現されてもよいことが分かる。例えば、記載の装置の実施例は単に例示的なものである。例えば、ユニットの分割は単に論理的な機能分割であり、実際の実装では他の分割でもよい。例えば、複数のユニット又は構成要素は、組み合わされてもよく、他のシステムに統合されてもよく、又は、ある機能は無視されてもよく、実行されなくてもよい。更に、表示又は記載した相互結合若しくは直接結合又は通信接続は、いくつかのインタフェースを通じて実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電気的、機械的又は他の形式で実現されてもよい。
【０１２７】
別々の部分として記載されたユニットは、物理的に別々でもよく、物理的に別々でなくてもよい。ユニットとして表示された部分は、物理的ユニットでもよく、物理的ユニットでなくてもよく、１つの位置に配置されてもよく、複数のネットワークユニットに分散されてもよい。いくつかのユニット又は全てのユニットは、実施例の対策の目的を実現するために実際のニーズに従って選択されてもよい。
【０１２８】
更に、本発明の実施例の機能ユニットは、１つの処理ユニットに統合されてもよく、それぞれのユニットが物理的に単独で存在してもよく、２つ以上のユニットが１つのユニットに統合されてもよい。
【０１２９】
機能がソフトウェア機能ユニットの形式で実現され、独立したプロダクトとして販売又は使用される場合、機能は、コンピュータ読み取り可能媒体に格納されてもよい。このような理解に基づいて、基本的に又は部分的に従来技術に寄与する本発明の技術的対策は、ソフトウェアプロダクトの形式で実現されてもよい。ソフトウェアプロダクトは、記憶媒体に格納され、コンピュータデバイス（パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい）に対して本発明の実施例に記載の方法のステップの一部又は全部を実行するように命令する複数の命令を含んでもよい。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ（ROM：Read-Only  Memory）、ランダムアクセスメモリ（RAM：Random  Access  Memory）、磁気ディスク又は光ディスクのようなプログラムコードを格納し得るいずれかの媒体を含む。
【０１３０】
前述の説明は本発明の単に特定の実現方法に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明に開示された技術的範囲内で当業者により容易に認識されるいかなる変更又は置換も、本発明の保護範囲内に入るものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【図１】
0006351783.tif 000016
【図２】
0006351783.tif 000017
【図３】
0006351783.tif 000018
【図４】
0006351783.tif 000019
【図５】
0006351783.tif 000020
【図６】
0006351783.tif 000021