特許第6121551号(P6121551)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 華為技術有限公司の特許一覧

特許6121551オーディオ信号のビットを割り当てる方法及び装置
<>
  • 特許6121551-オーディオ信号のビットを割り当てる方法及び装置 図000010
  • 特許6121551-オーディオ信号のビットを割り当てる方法及び装置 図000011
  • 特許6121551-オーディオ信号のビットを割り当てる方法及び装置 図000012
  • 特許6121551-オーディオ信号のビットを割り当てる方法及び装置 図000013
  • 特許6121551-オーディオ信号のビットを割り当てる方法及び装置 図000014
  • 特許6121551-オーディオ信号のビットを割り当てる方法及び装置 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6121551
(24)【登録日】2017年4月7日
(45)【発行日】2017年4月26日
(54)【発明の名称】オーディオ信号のビットを割り当てる方法及び装置
(51)【国際特許分類】
   G10L 19/035 20130101AFI20170417BHJP
   H03M 7/30 20060101ALI20170417BHJP
【FI】
   G10L19/035 C
   H03M7/30 A
【請求項の数】21
【全頁数】25
(21)【出願番号】特願2015-538257(P2015-538257)
(86)(22)【出願日】2013年5月29日
(65)【公表番号】特表2015-534129(P2015-534129A)
(43)【公表日】2015年11月26日
(86)【国際出願番号】CN2013076392
(87)【国際公開番号】WO2014063489
(87)【国際公開日】20140501
【審査請求日】2015年4月24日
(31)【優先権主張番号】201210415253.6
(32)【優先日】2012年10月26日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】▲齊▼ 峰岩
(72)【発明者】
【氏名】▲劉▼ ▲澤▼新
(72)【発明者】
【氏名】苗 磊
【審査官】 大野 弘
(56)【参考文献】
【文献】 特開2000−078018(JP,A)
【文献】 特開2001−044844(JP,A)
【文献】 特開2001−249699(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/035
H03M 7/30
(57)【特許請求の範囲】
【請求項1】
オーディオ信号のビットを割り当てる方法であって、
オーディオ信号の周波数バンドを複数のサブバンドに分割するステップと、
各サブバンドのサブバンド正規化係数を量子化するステップと、
前記複数のサブバンドを複数のグループに分類するステップと、
各グループのグループ内サブバンド正規化係数の和を取得するステップであり、ただし、前記グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和であるステップと、
各グループの初期ビット数を決定するために、各グループの前記グループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行するステップと、
前記オーディオ信号のビットを少なくとも1つのグループに割り当てるために、各グループの前記初期ビット数に基づいて2次グループ間ビット割り当てを実行するステップであり、ただし、前記少なくとも1つのグループに割り当てられるビットの和は、前記オーディオ信号の前記ビットの数であるステップと、
前記グループに割り当てられた前記オーディオ信号の前記ビットを前記グループ内のサブバンドに割り当てるステップと
を有する方法。
【請求項2】
次グループ間ビット割り当てを実行するステップは、
ビット割り当てのために飽和アルゴリズムを使用することにより前記2次グループ間ビット割り当てを実行するステップを有する、請求項1に記載の方法。
【請求項3】
ビット割り当てのために飽和アルゴリズムを使用することにより前記2次グループ間ビット割り当てを実行するステップは、
各グループの飽和ビット数を決定するステップと、
各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループと前記ビット飽和したグループの余剰ビット数とを決定するステップであり、ただし、前記ビット飽和したグループの余剰ビット数は、前記ビット飽和したグループの初期ビット数が前記ビット飽和したグループの飽和ビット数より大きいビット数であるステップと、
余剰ビット数をビット飽和していないグループに割り当てるステップと
を有し、
前記ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、前記ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである、請求項2に記載の方法。
【請求項4】
余剰ビット数をビット飽和していないグループに割り当てるステップは、
余剰ビット数を前記ビット飽和していないグループに均等に割り当てるステップを有する、請求項3に記載の方法。
【請求項5】
前記初期グループ間ビット割り当ての後且つ前記2次グループ間ビット割り当ての前に、
グループ内サブバンド正規化係数の平均値の間の差及び/又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するステップであり、ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であるステップと、
ビット割り当てのために飽和アルゴリズムが使用されるべきである場合、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定するステップと、
ビット割り当てのために飽和アルゴリズムが使用されるべきでない場合、重み付けアルゴリズムが使用されるべきであることを決定するステップと
を更に有する、請求項2ないし4のうちいずれか1項に記載の方法。
【請求項6】
2次グループ間ビット割り当てを実行するステップは、
重み付けアルゴリズムを使用することにより前記2次グループ間ビット割り当てを実行するステップを有する、請求項1又は5に記載の方法。
【請求項7】
重み付けアルゴリズムを使用することにより前記2次グループ間ビット割り当てを実行するステップは、
各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けするステップと、
各グループのグループ内サブバンド正規化係数の前記加重和に従って初期ビット数で前記2次グループ間ビット割り当てを実行するステップと
を有する、請求項6に記載の方法。
【請求項8】
前記グループに割り当てられた前記オーディオ信号の前記ビットを前記グループ内のサブバンドに割り当てるステップは、
重み付けされたサブバンド正規化係数を取得するために、前記サブバンド正規化係数を重み付けするステップと、
前記重み付けされたサブバンド正規化係数に従って、前記グループに割り当てられた前記オーディオ信号の前記ビットを前記グループ内の前記サブバンドの一部又は全部に割り当てるステップであり、ただし、前記サブバンドの前記一部は、前記重み付けされたサブバンド正規化係数に従って降順に前記グループ内の全てのサブバンドから選択されるステップと
を有する、請求項1ないし7のうちいずれか1項に記載の方法。
【請求項9】
前記複数のサブバンドを複数のグループに分類するステップは、
前記複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを1つのグループに分類するステップ、又は
前記複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを1つのグループに分類するステップ
を有する、請求項1ないし8のうちいずれか1項に記載の方法。
【請求項10】
各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有する、請求項9に記載の方法。
【請求項11】
オーディオ信号のビットを割り当てる装置であって、
オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数を量子化するように構成されたサブバンド量子化ユニットと、
前記複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得するように構成されたグループ化ユニットであり、ただし、前記グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和であるグループ化ユニットと、
各グループの初期ビット数を決定するために、各グループの前記グループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行するように構成された第1の割り当てユニットと、
前記オーディオ信号のビットを少なくとも1つのグループに割り当てるために、各グループの前記初期ビット数に基づいて2次グループ間ビット割り当てを実行するように構成された第2の割り当てユニットであり、ただし、前記少なくとも1つのグループに割り当てられるビットの和は、前記オーディオ信号の前記ビットの数である第2の割り当てユニットと、
前記グループに割り当てられた前記オーディオ信号の前記ビットを前記グループ内のサブバンドに割り当てるように構成された第3の割り当てユニットと
を有する装置。
【請求項12】
前記第2の割り当てユニットは、ビット割り当てのために飽和アルゴリズムを使用することにより前記2次グループ間ビット割り当てを実行するように特に構成される、請求項11に記載の装置。
【請求項13】
前記第2の割り当てユニットは、
各グループの飽和ビット数を決定するように構成された第1の決定モジュールと、
各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループと前記ビット飽和したグループの余剰ビット数とを決定するように構成された第2の決定モジュールであり、ただし、前記ビット飽和したグループの余剰ビット数は、前記ビット飽和したグループの初期ビット数が前記ビット飽和したグループの飽和ビット数より大きいビット数である第2の決定モジュールと、
余剰ビット数をビット飽和していないグループに割り当てるように構成された割り当てモジュールと、
を有し、
前記ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、前記ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである、請求項12に記載の装置。
【請求項14】
前記割り当てモジュールは、余剰ビット数を前記ビット飽和していないグループに均等に割り当てるように特に構成される、請求項13に記載の装置。
【請求項15】
前記初期グループ間ビット割り当ての後且つ前記2次グループ間ビット割り当ての前に、グループ内サブバンド正規化係数の平均値の間の差及び/又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するように構成された決定ユニットであり、ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であり、ビット割り当てのために飽和アルゴリズムが使用されるべきである場合、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定し、ビット割り当てのために飽和アルゴリズムが使用されるべきでない場合、重み付けアルゴリズムが使用されるべきであることを決定するように構成された決定ユニットを更に有する、請求項12ないし14のうちいずれか1項に記載の装置。
【請求項16】
前記第2の割り当てユニットは、重み付けアルゴリズムを使用することにより前記2次グループ間ビット割り当てを実行するように更に構成される、請求項11又は15に記載の装置。
【請求項17】
前記第2の割り当てユニットは、各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けするように構成された重み付けモジュールを更に有し、
前記割り当てモジュールは、各グループのグループ内サブバンド正規化係数の前記加重和に従って初期ビット数で前記2次グループ間ビット割り当てを実行するように構成される、請求項16に記載の装置。
【請求項18】
前記第3の割り当てユニットは、
重み付けされたサブバンド正規化係数を取得するために、前記サブバンド正規化係数を重み付けするように構成された重み付けモジュールと、
前記重み付けされたサブバンド正規化係数に従って、前記グループに割り当てられた前記オーディオ信号の前記ビットを前記グループ内の前記サブバンドの一部又は全部に割り当てるように構成された割り当てモジュールであり、ただし、前記サブバンドの前記一部は、前記重み付けされたサブバンド正規化係数に従って降順に前記グループ内の全てのサブバンドから選択される割り当てモジュールと
を有する、請求項11ないし17のうちいずれか1項に記載の装置。
【請求項19】
前記グループ化ユニットは、前記複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを1つのグループに分類するように特に構成され、又は
前記複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを1つのグループに分類するように特に構成される、請求項11ないし18のうちいずれか1項に記載の装置。
【請求項20】
各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有する、請求項19に記載の装置。
【請求項21】
請求項1ないし9のうちいずれか1項に記載の方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、“METHOD AND APPARATUS FOR ALLOCATING BITS OF AUDIO SIGNAL”という題で2012年10月26日に中国専利局に出願された中国特許出願第201210415253.6号の優先権を主張し、この全内容を援用する。
【0002】
本発明の実施例は、オーディオ技術の分野に関し、特にオーディオ信号のビットを割り当てる方法及び装置に関する。
【背景技術】
【0003】
現在では、通信の送信においてオーディオの品質に対してますます注目されているため、符号化及び復号化の間に、音声の品質の確保を前提として、できるだけ音楽の品質が改善されることが求められている。音楽信号の情報は豊富であるため、従来の音声のためのCELP(code-excited linear prediction)符号化モードは使用できず、通常は、音楽信号の符号化品質を改善するため、周波数ドメインにおいて音声信号を処理するために変換符号化方法が使用される。しかし、現在では、情報を効率的に符号化するために、どのように限られた符号化ビットを有効に使用するかが、オーディオ符号化における主な研究対象となっている。
【0004】
現在のオーディオ符号化技術では、時間ドメインの信号を周波数ドメインの信号に変換するために、通常ではFFT(fast Fourier transform)又はMDCT(modified discrete cosine transform)が使用され、周波数ドメインの信号が符号化される。通常では、変換符号化では、バンド分割が周波数ドメインの係数で実行され、各バンドの正規化されたエネルギーが取得され、バンド内係数エネルギーが正規化され、ビット割り当てが実行され、最終的に各バンドに割り当てられたビットに従ってバンド内係数が量子化される。ここで、ビット割り当ては重要な部分である。ビット割り当ては、周波数スペクトル係数を量子化する処理の間に、周波数スペクトル係数を量子化するために使用されるオーディオ信号のビットが周波数スペクトルのサブバンド特徴に従ってサブバンドに割り当てられることを示す。
【0005】
特に、既存のビット割り当て処理は、周波数スペクトル信号のバンド分割を実行し、例えば、臨界周波数バンド理論(critical frequency band theory)に従って低周波数から高周波数にバンド幅を次第に増加させ、周波数スペクトルをバンドに分割し、各サブバンドの正規化されたエネルギーノルムを取得し、サブバンド正規化係数wnormを取得するためにノルムを正規化し、これらのサブバンド正規化係数wnormの値に従って降順にサブバンドをソートし、ビット割り当てを実行すること(例えば、サブバンド正規化係数wnormの値に従ってサブバンド毎に反復してビット数を割り当てること)を含む。反復のビット割り当ては、更に以下のステップに分割されてもよい。ステップ1.各サブバンドのビット数及び反復係数facを初期化する。ステップ2.最大のサブバンド正規化係数wnormに対応するバンドを見つける。ステップ3.バンド幅の値をこのバンドに割り当てられたビット数に加算し、サブバンド正規化係数wnormの値から反復係数facを減算する。ステップ4.全てのビットが割り当てられるまでステップ2及びステップ3を繰り返す。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術では、毎回割り当てられるビットの最小単位はバンド幅の値であるが、量子化の間に必要な最小のビット数はバンド幅の値未満であることが分かる。このことは、ビットレートが低いときに、このような全体のビット割り当ての低い効率を生じ、多くのバンドがビットを割り当てられず他のバンドが多すぎるビットを割り当てられる。ビットは全周波数バンドで反復して割り当てられるため、反復パラメータは異なるバンド幅を有するサブバンドで同じになり、これは、ランダムな割り当て結果、比較的分散した量子化、及び前のフレームと次のフレームとの不連続性を生じる。
【0007】
ビットレートが低い場合、ビット割り当てはかなり性能に影響を与えることが分かる。通常では、ビット割り当ては各サブバンドの正規化されたエネルギーの大きさに従って全周波数バンドで主に実行され、ビットレートが不十分である場合、このような割り当てはランダムになり、また、比較的分散される。このことは時間ドメインにおいて不連続な量子化の現象を生じる。
【0008】
本発明の実施例は、低及び中ビットレートの場合に既存のビット割り当て方法により生じる時間ドメインにおけるランダムな分散した割り当て及び不連続な量子化の問題を解決することができる、オーディオ信号のビットを割り当てる方法及び装置を提供する。
【課題を解決するための手段】
【0009】
第1の態様によれば、オーディオ信号のビットを割り当てる方法が提供され、オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数を量子化し、複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得し、ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和であり、各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行し、オーディオ信号の符号化ビットを少なくとも1つのグループに割り当てるために、各グループの初期ビット数に基づいて2次グループ間ビット割り当てを実行し、ただし、少なくとも1つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットの数であり、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てることを含む。
【0010】
第1の態様を参照して、第1の態様の第1の実装方法では、2次グループ間ビット割り当てを実行することは、ビット割り当てのために飽和アルゴリズムを使用することにより2次グループ間ビット割り当てを実行することを含む。
【0011】
第1の態様の第1の実装方法を参照して、第1の態様の第2の実装方法では、ビット割り当てのために飽和アルゴリズムを使用することにより2次グループ間ビット割り当てを実行することは、各グループの飽和ビット数を決定し、各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループとビット飽和したグループの余剰ビット数とを決定し、ただし、ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数であり、余剰ビット数をビット飽和していないグループに割り当てることを含み、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。
【0012】
第1の態様の第2の実装方法を参照して、第1の態様の第3の実装方法では、余剰ビット数をビット飽和していないグループに割り当てることは、余剰ビット数をビット飽和していないグループに均等に割り当てることを含む。
【0013】
第1の態様の第1の実装方法、第2の実装方法及び第3の実装方法を参照して、第1の態様の第4の実装方法では、初期グループ間ビット割り当ての後且つ2次グループ間ビット割り当ての前に、この方法は、グループ内サブバンド正規化係数の平均値の間の差及び/又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定し、ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であり、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値である場合、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定し、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値でない場合、重み付けアルゴリズムが使用されるべきであることを決定することを更に含む。
【0014】
第1の態様及び第1の態様の第4の実装方法を参照して、第1の態様の第5の実装法方では、2次グループ間ビット割り当てを実行することは、重み付けアルゴリズムを使用することにより2次グループ間ビット割り当てを実行することを更に含んでもよい。
【0015】
第1の態様の第5の実装方法を参照して、第1の態様の第6の実装方法では、重み付けアルゴリズムを使用することにより2次グループ間ビット割り当てを実行することは、各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けし、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数で2次グループ間ビット割り当てを実行することを含む。
【0016】
第1の態様及び第1の態様の前述の実装方法を参照して、第1の態様の第7の実装方法では、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てることは、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けし、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当て、ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択されることを含む。
【0017】
第1の態様及び第1の態様の前述の実装方法を参照して、第1の態様の第8の実装方法では、複数のサブバンドを複数のグループに分類することは、複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを1つのグループに分類すること、又は複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを1つのグループに分類することを含む。
【0018】
第1の態様の第8の実装方法を参照して、第1の態様の第9の実装方法では、各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有する。
【0019】
第2の態様によれば、オーディオ信号のビットを割り当てる装置が提供され、オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数を量子化するように構成されたサブバンド量子化ユニットと、複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得するように構成されたグループ化ユニットであり、ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和であるグループ化ユニットと、各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行するように構成された第1の割り当てユニットと、オーディオ信号の符号化ビットを少なくとも1つのグループに割り当てるために、各グループの初期ビット数に基づいて2次グループ間ビット割り当てを実行するように構成された第2の割り当てユニットであり、ただし、少なくとも1つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットである第2の割り当てユニットと、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てるように構成された第3の割り当てユニットとを含む。
【0020】
第2の態様を参照して、第2の態様の第1の実装方法では、第2の割り当てユニットは、ビット割り当てのために飽和アルゴリズムを使用することにより2次グループ間ビット割り当てを実行するように特に構成される。
【0021】
第2の態様の第1の実装方法を参照して、第2の態様の第2の実装方法では、第2の割り当てユニットは、各グループの飽和ビット数を決定するように構成された第1の決定モジュールと、各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループとビット飽和したグループの余剰ビット数とを決定するように構成された第2の決定モジュールであり、ただし、ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数である第2の決定モジュールと、余剰ビット数をビット飽和していないグループに割り当てるように構成された割り当てモジュールとを含み、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。
【0022】
第2の態様の第2の実装方法を参照して、第2の態様の第3の実装方法では、割り当てモジュールは、余剰ビット数をビット飽和していないグループに均等に割り当てるように特に構成される。
【0023】
第2の態様の第1の実装方法、第2の実装方法及び第3の実装方法を参照して、第2の態様の第4の実装方法では、オーディオ信号のビットを割り当てる装置は、初期グループ間ビット割り当ての後且つ2次グループ間ビット割り当ての前に、グループ内サブバンド正規化係数の平均値の間の差及び/又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するように構成された決定ユニットであり、ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であり、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値である場合、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定し、グループ内サブバンド正規化係数の平均値がグループ内の全てのサブバンドのサブバンド正規化係数の平均値でない場合、重み付けアルゴリズムが使用されるべきであることを決定するように特に構成された決定ユニットを更に含む。
【0024】
第2の態様及び第2の態様の第4の実装方法を参照して、第2の態様の第5の実装法方では、第2の割り当てユニットは、重み付けアルゴリズムを使用することにより2次グループ間ビット割り当てを実行するように更に構成される。
【0025】
第2の態様の第5の実装方法を参照して、第2の態様の第6の実装方法では、第2の割り当てユニットは、各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けするように構成された重み付けモジュールを更に含み、割り当てモジュールは、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数で2次グループ間ビット割り当てを実行するように構成される。
【0026】
第2の態様及び第2の態様の前述の実装方法を参照して、第2の態様の第7の実装方法では、第3の割り当てユニットは、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けするように構成された重み付けモジュールと、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当てるように構成された割り当てモジュールであり、ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択される割り当てモジュールとを含む。
【0027】
第2の態様及び第2の態様の前述の実装方法を参照して、第2の態様の第8の実装方法では、グループ化ユニットは、複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを1つのグループに分類するように特に構成され、又は複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを1つのグループに分類するように特に構成される。
【0028】
第2の態様の第8の実装方法を参照して、第2の態様の第9の実装方法では、各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有する。
【0029】
本発明の実施例は、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、低及び中ビットレートの場合に局所不連続性におけるグローバルな割り当ての影響を低減することができる。
【図面の簡単な説明】
【0030】
図1】本発明の実施例によるオーディオ信号のビットを割り当てる方法のフローチャート
図2】本発明の実施例によるオーディオ信号のビットを割り当てる装置の概略構成図
図3】本発明の実施例によるオーディオ信号のビットを割り当てる装置における第2の割り当てユニットの概略構成図
図4】本発明の実施例によるオーディオ信号のビットを割り当てる装置の他の概略構成図
図5】本発明の実施例のよるオーディオ信号のビットを割り当てる装置における第3の割り当てユニットの概略構成図
図6】本発明の実施例によるオーディオ信号のビットを割り当てる装置の更に他の概略構成図
【発明を実施するための形態】
【0031】
本発明の実施例における技術的対策を明瞭に説明するために、実施例又は従来技術を説明するために必要な添付図面について以下に簡単に紹介する。明らかに、以下の説明において、添付図面は単なる本発明の単にいくつかの実施例を示しているに過ぎず、当業者は、創造的取り組みを行うことなく、これらの添付図面から他の図面を導くことができる。
以下では、本発明の実施例の添付図面を参照して本発明の実施例の技術的対策を明瞭且つ完全に説明する。明らかに、説明する実施例は本発明の実施例の全てではなく、一部である。創造的取り組みを行うことなく本発明の実施例に基づいて当業者により得られる全ての他の実施例は、本発明の保護範囲内に入るものとする。
【0032】
符号化の技術的対策及び復号化の技術的対策は、様々な電子デバイス(例えば、移動電話、無線装置、パーソナルデジタルアシスタント(PDA:personal data assistant)、ハンドヘルド又はポータブルコンピュータ、GPS受信機/ナビゲータ、カメラ、オーディオ/ビデオプレイヤ、ビデオカメラ、ビデオテープレコーダ、監視デバイス)に広く適用されている。一般的に、このような電子デバイスは、オーディオエンコーダ(符号化器)又はオーディオデコーダ(復号化器)を含み、オーディオエンコーダ又はデコーダは、デジタル回路又はチップ(例えば、デジタルシグナルプロセッサ(DSP:digital signal processor))により直接実現されてもよく、ソフトウェアコードの処理を実行するようにプロセッサを駆動するソフトウェアコードにより実現されてもよい。
【0033】
一例として、オーディオ符号化技術の対策では、まず、時間ドメインのオーディオ信号が周波数ドメインの信号に変換され、符号化ビットが符号化のために周波数ドメインのオーディオ信号に割り当てられ、符号化された信号が通信システムを通じてデコーダに送信され、デコーダが符号化された信号を復号化及び復元する。
【0034】
本発明では、ビット割り当ては、グループ化理論及び信号特性に従って実行される。まず、バンドがグループ化され、グループ内エネルギーが各グループの特性に従って重み付けされ、重み付けされたエネルギーに従ってビット割り当てがグループ毎に実行され、グループ間信号特性に従ってビットが各バンドに割り当てられる。まず、割り当ては全体グループについて実行されるため、不連続な割り当ての現象は回避され、これにより、異なる信号の符号化品質を改善する。更に、割り当てがグループ内で実行されるときに信号特性が考慮されるため、限られたビットが知覚に影響する重要なオーディオバンドに割り当てられることが可能になる。
【0035】
図1は、本発明の実施例によるオーディオ信号のビットを割り当てる方法のフローチャートである。
【0036】
101.オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数(sub-band normalization factor)を量子化する。
【0037】
以下では、一例としてMDCT変換を使用することにより説明される。まず、MDCT変換が入力オーディオ信号で実行され、周波数ドメインの係数を取得する。ここでのMDCT変換は、ウィンドウ化、時間ドメインのエイリアシング(aliasing)及び離散DCT変換のような複数の処理を含んでもよい。
【0038】
例えば、サインウィンドウが入力の時間ドメインの信号x(n)に追加される。
【数1】
ただし、Lは信号のフレーム長である。
【0039】
次のウィンドウ化された信号が取得される。
【数2】
【0040】
次に、時間ドメインのエイリアシング動作が実行される。
【数3】
【0041】
ただし、IL/2及びJL/2は、L/2のオーダーの体格行列としてそれぞれ表される。
【数4】
【0042】
離散DCT変換は、時間ドメインのエイリアシングされた信号で実行され、最終的に周波数ドメインのMDCT係数を取得する。
【数5】
【0043】
次に、MDCT係数から周波数エンベロープが抽出され、量子化される。全体の周波数バンドは、異なる周波数ドメインの分解能を有するいくつかのサブグループに分割され、各サブバンドの正規化係数が抽出され、サブバンド正規化係数が量子化される。
【0044】
例えば、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
【0045】
まず、複数のグループが分割により取得され、グループのサブバンドは更に分割により取得される。各サブグループの正規化係数は以下のように定義されてもよい。
【数6】
【0046】
ただし、Lpはサブバンドの係数の数であり、spはサブバンドの開始点であり、epはサブバンドの終了点であり、Pはサブバンドの総数である。
【0047】
取得された後に、正規化係数は対数ドメインで量子化され、量子化されたサブバンド正規化係数wnormを取得してもよい。
【0048】
102.複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得する。ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和である。
【0049】
すなわち、全てのサブバンドは複数のグループに分割され、各グループのグループパラメータが取得される。ただし、グループパラメータは、このグループの信号特性及びエネルギー属性を表すために使用されるグループ内サブバンド正規化係数の和でもよい。
【0050】
ここで、同様の特徴及びエネルギーを有するサブバンドが1つのグループに分類されることを考慮する。例えば、同じバンド幅を有するサブバンドは1つのグループに分類されてもよく、隣接しており同じバンド幅を有するサブバンドは1つのグループに分類されることが好ましい。例えば、全てのサブバンドは3つのグループに分類されてもよい。従って、ビットレートが低い場合、最初の1つのグループ又は2つのグループのみが使用されてもよく、残りのグループについてビット割り当てが実行されない。
【0051】
或いは、グループ化は、サブバンドの正規化されたエネルギーノルムの間の関係に従って実行されてもよい。すなわち、近いサブバンド正規化係数wnormを有するサブバンドは1つのグループに分類されてもよい。例えば、サブバンドのサブバンド正規化係数が近いか否かは、以下の方法を使用することにより決定されてもよい。サブバンドのサブバンド正規化係数wnorm[i](i=1,...,P-1、Pはサブバンドの総数)と、所定の閾値Kとを比較する。wnorm[i]が所定の閾値Kより大きい場合、サブバンドのシーケンス番号iが記録され、最終的に、サブバンド正規化係数wnorm[i]が所定の閾値Kより大きいサブバンドは1つのグループに分類され、残りのサブバンドは他のグループに分類される。更に多くのグループが取得されるように、複数の所定の閾値が異なる要件に従って設定されてもよいことが分かる。
【0052】
任意選択で、近いサブバンド正規化係数を有する隣接するサブバンドも1つのグループに分類されてもよい。例えば、隣接するサブバンドのサブバンド正規化係数が近いか否かは、以下の方法を使用することにより決定されてもよい。まず、隣接するサブバンドのサブバンド正規化係数の差wnorm_diff[i]が計算される。ただし、wnorm_diff[i]=abs(wnorm[i]-wnorm[i-1])、i=1,...,P-1であり、Pはサブバンドの総数である。wnorm_diff[i]が所定の閾値K’未満である場合、これは隣接するサブバンドのサブバンド正規化係数が近いことを示し、これにより、1つのグループに分類され得る隣接するサブバンドのシーケンス番号が決定される。
【0053】
サブバンドのグループ化が完了すると、グループのエネルギー属性を表すための、各グループのグループパラメータが取得されてもよい。一般的に、グループパラメータは、group_wnorm(グループ内サブバンド正規化係数の和)及びgroup_sharp(グループ内サブバンド正規化係数のピーク対平均比)のうち1つ以上を含んでもよい。
【0054】
特に、group_wnorm(グループ内サブバンド正規化係数の和)は、グループ内の全てのサブバンドのサブバンド正規化係数の和であり、すなわち、
【数7】
であり、ただし、Siは第iのグループの開始サブバンドであり、Eiは第1のグループの終了サブバンドである。
【0055】
グループ内サブバンド正規化係数の平均値group_avgは、グループ内の全てのサブバンドのサブバンド正規化係数の平均値であり、すなわち、
【数8】
であり、ただし、group_wnorm[i]は第1のグループのグループ内サブバンド正規化係数の和であり、Siは第iのグループの開始サブバンドであり、Eiは第1のグループの終了サブバンドである。
【0056】
103.各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行する。
【0057】
前述のグループパラメータは、グループのエネルギー属性を表し、これにより、オーディオ信号のビットがグループパラメータに従って各グループに割り当てられてもよい。このように、ビットレートが不十分である場合、グループ化理論が使用され、グループのエネルギー属性が考慮され、これにより、オーディオ信号のビットの割り当てが更に収束し、フレーム間のビット割り当てが更に連続的になる。グループパラメータは、ここに記載の複数の種類に限定されず、グループのエネルギー属性を表し得る他のパラメータでもよいことが分かる。
【0058】
一実施例では、ビットレートが不十分である場合、ビットは、グループの一部のみに割り当てられてもよい。例えば、グループ内サブバンド正規化係数の和が0であるグループでは、ビットはこのグループに割り当てられない。他の例では、ビット数が小さい場合、ビットが割り当てられないグループが存在してもよい。すなわち、前述のグループパラメータが取得されることに基づいて、符号化ビットは、各グループのグループ内サブバンド正規化係数の和のみに従って、少なくとも1つのグループについて割り当てられてもよい。ただし、少なくとも1つのグループに割り当てられるビットの和は、オーディオ信号のビットである。
【0059】
各グループのgroup_wnorm[i]に従って、各グループに割り当てられる初期ビット数が取得される。最も簡単な方法は、グループの全てのサブバンドの正規化されたエネルギーに対する各グループのグループ内サブバンド正規化係数の比に従ってビット数を割り当てることである。すなわち、第iのグループの初期ビット数は、Bi=sum_bits*group_wnorm[i]/sum_normであり、ただし、sum_bitsは割り当てられるビットの総数であり、sum_normは全てのサブバンドの正規化されたエネルギーである。
【0060】
104.オーディオ信号の符号化ビットを少なくとも1つのグループに割り当てるために、各グループの初期ビット数に基づいて2次グループ間ビット割り当てを実行する。ただし、少なくとも1つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットである。或いは、少なくとも1つのグループに割り当てられるビットの和は、オーディオ信号の量子化ビットの数であり、量子化ビットは、周波数スペクトル係数を量子化するビットである。
【0061】
各グループの初期ビット数が決定された後に、2次グループ間ビット割り当てが決定されてもよい。
【0062】
例えば、2次グループ間ビット割り当ては、ビット割り当てのために飽和アルゴリズム(saturation algorithm)を使用することにより実行されてもよい。
【0063】
まず、各グループの飽和ビット数が決定される。ただし、一般的に、飽和ビット数は、例えば、周波数スペクトル係数毎に平均で1〜2ビットの実験値(経験値)である。更に、飽和ビット数は、符号化レート及び信号特性に更に関係してもよい。次に、各グループの飽和ビット数及び各グループの前述の初期ビット数に従って、ビット飽和したグループ及びビット飽和したグループの余剰ビット数が決定され、最後に、余剰ビット数がビット飽和していないグループに割り当てられる。例えば、余剰ビット数は、ビット飽和していないグループに均等に割り当てられてもよい。ここで、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数である。
【0064】
或いは、例えば、2次グループ間ビット割り当ては、重み付けアルゴリズムを使用することにより実行されてもよい。
【0065】
すなわち、各グループへのオーディオ信号のビットの割り当て結果は、グループパラメータを調整することにより最適化される。例えば、異なる重みは、限られたビット数が適切なグループに割り当てられるように、異なる割り当て要件に従って異なるグループのグループパラメータに割り当てられ、次に、ビット割り当てがもはや分散しないように、ビットがグループ内で割り当てられる。このことは、オーディオ信号の符号化を容易にする。
【0066】
実装方法は、以下に例示的に与えられる。例えば、各グループのグループ内サブバンド正規化係数の和が重み付けられ、各グループのグループ内サブバンド正規化係数の加重和が取得される。2次グループ間ビット割り当ては、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数について実行される。
【0067】
他の実装方法は、以下に例示的に与えられる。例えば、group_wnorm(各グループのグループ内サブバンド正規化係数の和)及びgroup_sharp(各グループのグループ内サブバンド正規化係数のピーク対平均比)が取得された後に、group_wnorm(グループ内サブバンド正規化係数の和)がgroup_sharp(グループ内サブバンド正規化係数のピーク対平均比)に従って重み付けられ、group_wnorm_w(グループ内サブバンド正規化係数の加重和)が取得されてもよい。
【0068】
特に、2つの隣接するグループ(例えば、第1のグループ及び第2のグループ)が、低周波数から高周波数までのグループから連続的に選択される。第1のグループのグループ内サブバンド正規化係数のピーク対平均比group_sharp[i]は、第2のグループのグループ内サブバンド正規化係数のピーク対平均比group_sharp[i-1]と比較される。第2のグループのグループ内サブバンド正規化係数のピーク対平均比に対する第1のグループのグループ内サブバンド正規化係数のピーク対平均比の差が第1の閾値より大きい場合、第1のグループのグループ内サブバンド正規化係数の和は、第1の重み付け係数に従って調整され、第2のグループのグループ内サブバンド正規化係数の和は、第2の重み付け係数に従って調整される。第1のグループのグループ内サブバンド正規化係数のピーク対平均比に対する第2のグループのグループ内サブバンド正規化係数のピーク対平均比の差が第2の閾値より大きい場合、第2のグループのグループ内サブバンド正規化係数の和は、第1の重み付け係数に従って調整され、第1のグループのグループ内サブバンド正規化係数の和は、第2の重み付け係数に従って調整される。
【0069】
例えば、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は第1の閾値であり、cは第2の閾値である。a、b及びcの選択は、ビット割り当てによる要求によって実行されてもよい。
【0070】
ここでは、簡単な重み付け方法のみが例示的に記載される。当業者は、異なる重み付け係数を使用することによりサブバンドの重みを調整するために、他の重み付け方法も容易に理解することができる。例えば、多くの信号ビットを割り当てられる必要があるサブバンドの重みは増加してもよく、ビットを割り当てられる必要がないサブバンドの重み又は少ない信号ビットを割り当てられる必要があるサブバンドの重みは減少する。
【0071】
次に、オーディオ信号のビットは、グループ内サブバンド正規化係数の加重和に従って各グループに割り当てられる。例えば、グループのグループビット数は、sum_wnorm(全てのサブバンドのサブバンド正規化係数の和)に対するgroup_wnorm[i](グループ内サブバンド正規化係数の加重和)の比に従って決定され、オーディオ信号のビットは、決定されたグループビット数に従ってグループに割り当てられる。各グループのビットの総数group_bitsは、group_bits[i]=sum_bits*group_wnorm[i]/sum_wnormの式に従って決定される。ただし、sum_bitsは割り当てられる必要があるオーディオ信号のビットの総数であり、sum_wnormは全てのサブバンドのサブバンド正規化係数の和である。
【0072】
前述の2次グループ間ビット割り当ての処理は、更に最適化されてもよい。例えば、ビットレート及び/又はグループ内サブバンド正規化係数の平均値の間の差に従って、飽和アルゴリズム及び重み付けアルゴリズムのような異なる2次グループ間ビット割り当ての対策が使用される。
【0073】
例えば、ビット割り当てに飽和アルゴリズムが使用されるか重み付けアルゴリズムが使用されるかは、グループ内サブバンド正規化係数の平均値の間の差及び/又はビットレートに従って決定される。ただし、グループ内サブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値である。
【0074】
ビットがグループに割り当てらた後に、各グループに割り当てられたビットは、グループのサブバンドに更に割り当てられてもよい。
【0075】
105.グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てる。
【0076】
ビット割り当ては、既存の反復割り当て方法を使用することにより、グループ内のサブバンドについて実行されてもよいことが分かる。しかし、反復割り当て方法は、依然としてグループ内のビット割り当てのランダムな結果を生じ、前のフレームと次のフレームとの間の不連続性を生じる。従って、グループに割り当てられたオーディオ信号のビットは、グループ内のサブバンドのサブバンド正規化係数に従って、異なるオーディオ信号の信号特性(すなわち、異なる信号種別)を参照してグループ内のサブバンドに割り当てられてもよい。
【0077】
1つの実装方法は、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けし、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当てることである。ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択される。
【0078】
グループに割り当てられたオーディオ信号のビットが重み付けされたサブバンド正規化係数に従ってグループ内の全てのサブバンドに割り当てられる典型的な実装方法は、全てのサブバンドの重み付けされたサブバンド正規化係数を決定した後に、グループ内の全てのサブバンドの重み付けされたサブバンド正規化係数の和を取得するように計算し、全てのサブバンドの重み付けされたサブバンド正規化係数の和に対する、ビットを割り当てられる必要があるサブバンドの重み付けされたサブバンド正規化係数の比に従って、グループに割り当てられたビットを特定のサブバンドに割り当てることである。
【0079】
グループに割り当てられたオーディオ信号のビットが重み付けされたサブバンド正規化係数に従ってグループ内のサブバンドの一部に割り当てらる典型的な実装方法は、グループ内の全てのサブバンドの重み付けされたサブバンド正規化係数を、例えば降順にソートし、重み付けされたサブバンド正規化係数のソートに従って、高いランクの重み付けされたサブバンド正規化係数に対応するサブバンドの一部を選択し、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部に割り当てることである。
【0080】
例えば、まず、グループ内のサブバンドのサブバンド正規化係数wnormの重み付けパラメータfactor[0]及びfactor[1]が決定され、wnorm_index[i]を取得するためにグループ内のサブバンドのサブバンド正規化係数wnormがソートされ、wnorm_index[i]が重み付けパラメータを使用することにより重み付けされ、最終的に、重み付けされたwnorm_index[i]に従ってグループ内のサブバンドについてビット割り当てが実行される。
【0081】
前述のことから、本発明のこの実施例におけるオーディオ信号のビットを割り当てる方法に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができ、飽和したサブバンドの余剰ビットが2次割り当てにより有効に使用され、これにより、ビット割り当てが更に合理的になることが分かる。
【0082】
以下は、特定の実施例においてプログラミング言語を参照して、どのようにビットレート及び/又はグループ内サブバンド正規化係数の平均値の間の差に従って異なる2次グループ間ビット割り当てを使用し、グループ内のサブバンドのビット割り当てを実行するかについて詳細に説明する。
【0083】
まず、オーディオ信号の複数のサブバンドは、複数のグループに分類され、各グループに割り当てられる初期ビット数は、group_wnorm[i](各グループのサブバンド正規化係数の和)に従って取得される。例えば、全てのサブバンドは3つのグループに分類される。
第1のグループの初期ビット数B1=sum_bits*group_wnorm[0]/sum_norm
第2のグループの初期ビット数B2=sum_bits*group_wnorm[1]/sum_norm
第3のグループの初期ビット数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]である。
【0084】
次に、ビットレート(bit_rate)及びグループ内サブバンド正規化係数の平均値の間の差(avg_diff)に従って、異なる2次グループ間ビット割り当ての対策が使用される。
【0085】
ステップ1.グループ内サブバンド正規化係数の平均値の間の差を計算する。
avg_diff[0]=group_avg[0]-group_avg[1]
avg_diff[1]=group_avg[1]-group_avg[2]
【0086】
ステップ2.2次グループ間ビット割り当ての対策を選択する。例えば、2つの条件(すなわち、グループ内サブバンド正規化係数の平均値の間の差及び/又はビットレート)に従って、ビット割り当てのために飽和アルゴリズム又は重み付けアルゴリズムが使用されるかを決定する。
if(bit_rate>a&&avg_diff[0]<b&&avg_diff[1]<c)
{
飽和アルゴリズム
}
else
{
重み付けアルゴリズム
}
ただし、a、b及びcは実験的係数である。
【0087】
ステップ3.後処理アルゴリズム:最も高いサブバンドのgroup_wnorm[2]が特定の値未満である場合、グループに割り当てられたビットを低いサブバンドのグループに割り当てる。例えば、group_wnorm[2]が閾値d未満である場合、最も高いサブバンドに割り当てられたビットは、次に高いサブバンドに割り当てられ、最も高いサブバンドに割り当てられるビット数はゼロに設定される。
【0088】
飽和アルゴリズムの場合:原理は、グループに割り当てられたビットが飽和に近い場合、余剰ビットが他のグループに割り当てられるというものである。例えば、
【0089】
1)まず、グループの飽和ビット数をそれぞれB1_UP、B2_UP及びB3_UPに設定する。
【0090】
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でもよい。
【0091】
3)2回目に余剰ビットを割り当てる。例えば、第1のグループに割り当てられたビットが飽和に近い場合、B_savedは、他のグループに均等に割り当てられる。第1のグループに割り当てられたビットが飽和していない場合、B_savedの半分がB1に追加され、第2のグループに割り当てられたビットが飽和しているか否かが決定される。第1のグループに割り当てられたビットが飽和していない場合、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;
}
}
}
【0092】
重み付けアルゴリズムの場合:
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に設定されてもよい。
【0093】
最後に、グループに割り当てられたビットは、以下の方法を使用することにより、グループ内のサブバンドに割り当てられる。
【0094】
ステップ1.各グループのサブバンドのサブバンド正規化係数wnormの重み付けパラメータfactor[]を決定する。例えば、factor[0]=FAC1及びfactor[1]= FAC2であり、FAC1、FAC2は実験的係数であり、それぞれ2.0及び1.5、2.0及び3.0等でもよい。
【0095】
ステップ2.wnorm_index(i)を取得するために、グループ内の全てのサブバンド正規化係数を降順にソートする。
【0096】
ステップ3.重み付けパラメータfactor[]に従って、ソート後のwnorm_index(i)の値で以下の重み付け処理を実行する。
wnorm_index[i]=wnorm_index[i]*(α-β*i),0≦i<band_num
ただし、band_numはグループ内に含まれるサブバンドの数であり、α及びβは、条件に従って設定されてもよい。例えば、異なるグループによって異なる値が設定されてもよい。第1のグループの低周波数成分の場合、α=factor[0]及びβ=1/band_numに設定されてもよく、第1のグループより高い周波数を有するグループの場合、α=factor[1]及びβ=1/band_numに設定されてもよい。
【0097】
ステップ4.ソート後のwnorm_index(i)の値に従って、グループに割り当てられたビットをグループ内のサブバンドに再び割り当てる。
【0098】
ステップ4.1.グループ内のビットの総数Bxを閾値Thrで分割し、BitBand_num(グループに最初に割り当てられたサブバンドの数)を取得する。
【0099】
ステップ4.2.BitBand_num(グループに最初に割り当てられたサブバンドの数)と、sumBand_num(グループ内のサブバンドの総数)との関係に従って、ビット割り当てのためのサブバンド数Nを決定する。例えば、BitBand_numがk*sumBand_numより大きく、ただし、kが0.75又は0.8のような係数である場合、NはsumBand_numに等しい。そうでない場合、NはBitBand_numに等しい。
【0100】
ステップ4.3.第1のN個のサブバンドを選択する。ただし、Nは、ビット割り当てが実行されるグループ内のサブバンド数である。
【0101】
ステップ4.4.N個のサブバンドのビット数を1に初期化し、反復数jを0に初期化する。
【0102】
ステップ4.5.N個のサブバンドの中でサブバンド正規化係数が0より大きいband_wnrom(サブバンドのサブバンド正規化係数の和)を決定する。
【0103】
ステップ4.6.N個のサブバンドの中でサブバンド正規化係数が0より大きいサブバンドにビット数を割り当てる。
band_bits[i]=Bx*wnorm_index(i)/band_wnorm
ただし、Bxは各グループに割り当てられたビット数であり、例えば、前述の実施例では、3つのグループのビット数は、それぞれB1、B2及びB3である。
【0104】
ステップ4.7.N個のサブバンドの最後のサブバンドに割り当てられたビット数が固定の閾値fac未満であるか否かを決定し、固定の閾値fac未満である場合、サブバンドに割り当てられるビット数をゼロに設定する。fac以上である場合、ステップ4.9に進み、そうでない場合、ステップ4.8に進む。
【0105】
ステップ4.8.反復数jに1を追加し、反復数jがNに等しくなるまでステップ4.5からステップ4.8を繰り返す。
【0106】
ステップ4.9.グループ内の全てのサブバンドの初期の元のソートを復元させる。すなわち、全てのサブバンドのソートを、各サブバンドのサブバンド正規化係数が量子化される前のものに復元させる。
【0107】
本発明のこの実施例によるグループのビット割り当てのための方法は、ステップ4.1〜4.9に記載の前述の例に限定されないことが分かる。
【0108】
本発明のこの実施例のグループ化方法を使用することにより、前のフレーム及び次のフレームにおいて比較的安定した割り当てが確保され、異なる強調(emphases)を有するビット割り当てが信号特性に従ってグループ内で実行される。これにより、割り当てられたビットは、全て重要な周波数スペクトル情報を量子化するために使用されることにより、オーディオ信号の符号化品質を改善する。
【0109】
前述のことから、本発明のこの実施例におけるオーディオ信号のビットを割り当てる方法に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができることが分かる。更に、異なる閾値パラメータが各グループのビット割り当てのために設定されてもよく、これにより、ビット割り当てが更に適応的になる。更に、異なる強調を有するビット割り当てが周波数スペクトル信号特性に従ってグループ内で実行される。例えば、集中した周波数スペクトルを有する準高調波信号(quasi-harmonic signal)では、ビットは主に高いエネルギーを有するサブバンドに割り当てられ、高調波の間のサブバンドに多くのビットを割り当てる必要がなくなる。比較的平坦な周波数スペクトルを有する信号では、サブバンドの間の平滑度がビット割り当て中にできるだけ確保され、これにより、割り当てられたビットが全て重要な周波数スペクトル情報を量子化するために使用される。
【0110】
図2を参照して、以下に、本発明の実施例によるオーディオ信号のビットを割り当てる装置の概略構成を説明する。
【0111】
図2では、オーディオ信号のビットを割り当てる装置20は、サブバンド量子化ユニット21と、グループ化ユニット22と、第1の割り当てユニット23と、第2の割り当てユニット24と、第3の割り当てユニット25とを含む。
【0112】
サブバンド量子化ユニット21は、オーディオ信号の周波数バンドを複数のサブバンドに分割し、各サブバンドのサブバンド正規化係数を量子化するように構成される。
【0113】
グループ化ユニット22は、複数のサブバンドを複数のグループに分類し、各グループのグループ内サブバンド正規化係数の和を取得するように構成される。ただし、グループ内サブバンド正規化係数の和は、グループ内の全てのサブバンドのサブバンド正規化係数の和である。
【0114】
任意選択で、グループ化ユニット22は、複数のサブバンドが複数のグループに分類されるように、同じバンド幅を有するサブバンドを1つのグループに分類するように特に構成される。或いは、複数のサブバンドが複数のグループに分類されるように、近いサブバンド正規化係数を有するサブバンドを1つのグループに分類するように特に構成される。各グループのサブバンドは、同じバンド幅又は特に近いサブバンド正規化係数を有することが好ましい。
【0115】
第1の割り当てユニット23は、各グループの初期ビット数を決定するために、各グループのグループ内サブバンド正規化係数の和に従って初期グループ間ビット割り当てを実行するように構成される。
【0116】
第2の割り当てユニット24は、オーディオ信号の符号化ビットを少なくとも1つのグループに割り当てるために、各グループの初期ビット数に基づいて2次グループ間ビット割り当てを実行するように構成される。ただし、少なくとも1つのグループに割り当てられるビットの和は、オーディオ信号の符号化ビットである。
【0117】
任意選択で、第2の割り当てユニット24は、ビット割り当てのために飽和アルゴリズムを使用することにより2次グループ間ビット割り当てを実行するように特に構成される。例えば、図3に示すように、第2の割り当てユニット24は、第1の決定モジュール241と、第2の決定モジュール242と、割り当てモジュール243とを含んでもよい。第1の決定モジュール241は、各グループの飽和ビット数を決定するように構成される。第2の決定モジュール242は、各グループの飽和ビット数及び各グループの初期ビット数に従って、ビット飽和したグループとビット飽和したグループの余剰ビット数とを決定するように構成される。ただし、ビット飽和したグループの余剰ビット数は、ビット飽和したグループの初期ビット数がビット飽和したグループの飽和ビット数より大きいビット数である。割り当てモジュール243は、余剰ビット数をビット飽和していないグループに割り当てるように構成される。ただし、ビット飽和したグループは、初期ビット数が飽和ビット数より大きいグループであり、ビット飽和していないグループは、初期ビット数が飽和ビット数未満のグループである。任意選択で、割り当てモジュール243は、余剰ビット数をビット飽和していないグループに均等に割り当てるように特に構成されてもよい。
【0118】
或いは、任意選択で、第2の割り当てユニットは、重み付けアルゴリズムを使用することにより2次グループ間ビット割り当てを実行するように更に構成されてもよい。例えば、第2の割り当てユニット24は、重み付けモジュール244と割り当てモジュール243とを更に含んでもよい。重み付けモジュール244は、各グループのグループ内サブバンド正規化係数の加重和を取得するために、各グループのグループ内サブバンド正規化係数の和を重み付けするように構成される。割り当てモジュール243は、各グループのグループ内サブバンド正規化係数の加重和に従って初期ビット数で2次グループ間ビット割り当てを実行するように構成される。
【0119】
オーディオ信号のビットを割り当てる装置20は、初期グループ間ビット割り当ての後且つ2次グループ間ビット割り当ての前に、グループ内サブバンド正規化係数の平均値の間の差及び/又はビットレートに従って、ビット割り当てのために飽和アルゴリズムが使用されるべきであるか否かを決定するように構成された決定ユニット26を更に含んでもよいことが分かる。ただし、グループ内のサブバンド正規化係数の平均値は、グループ内の全てのサブバンドのサブバンド正規化係数の平均値である。ビット割り当てのために飽和アルゴリズムが使用される場合、決定ユニット26は、ビット割り当てのために飽和アルゴリズムが使用されるべきであることを決定する。そうでない場合、決定ユニット26は、重み付けアルゴリズムが使用されるべきであることを決定する。図4に示すように、第3の割り当てユニット25は、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドに割り当てるように構成される。
【0120】
例えば、図5に示すように、第3の割り当てユニット25は、重み付けモジュール251と、割り当てモジュール252とを含んでもよい。重み付けモジュール251は、重み付けされたサブバンド正規化係数を取得するために、サブバンド正規化係数を重み付けするように構成される。割り当てモジュール252は、重み付けされたサブバンド正規化係数に従って、グループに割り当てられたオーディオ信号のビットをグループ内のサブバンドの一部又は全部に割り当てるように構成される。ただし、サブバンドの一部は、重み付けされたサブバンド正規化係数に従って降順にグループ内の全てのサブバンドから選択される。
【0121】
前述のことから、本発明のこの実施例におけるオーディオ信号のビットを割り当てる装置に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができることが分かる。従って、本発明のこの実施例のグループ化方法を使用することにより、前のフレーム及び次のフレームにおいて比較的安定した割り当てが確保され、異なる強調を有するビット割り当てが信号特性に従ってグループ内で実行され、これにより、割り当てられたビットが全て重要な周波数スペクトル情報を量子化するために使用されることで、オーディオ信号の符号化品質を改善する。
【0122】
更に、図6において、本発明の実施例は、オーディオ信号のビットを割り当てる他の装置60を更に提供する。装置は、メモリ61とプロセッサ62とを含む。メモリ61は、前述の方法の実施例のステップを実現するコードを格納するように構成され、プロセッサ62は、メモリに格納されたコードを処理するように構成される。
【0123】
本発明のこの実施例におけるオーディオ信号のビットを割り当てる装置に従って、グループ化により、前のフレーム及び次のフレームにおいて比較的安定した割り当てを確保することができ、局所不連続性におけるグローバルな割り当ての影響を低減することができることが分かる。更に、異なる閾値パラメータが各グループのビット割り当てのために設定されてもよく、これにより、ビット割り当てが更に適応的になる。更に、異なる強調を有するビット割り当てが周波数スペクトル信号特性に従ってグループ内で実行される。例えば、集中した周波数スペクトルを有する準高調波信号(quasi-harmonic signal)では、ビットは主に高いエネルギーを有するサブバンドに割り当てられ、高調波の間のサブバンドに多くのビットを割り当てる必要がなくなる。比較的平坦な周波数スペクトルを有する信号では、サブバンドの間の平滑度がビット割り当て中にできるだけ確保され、これにより、割り当てられたビットが全て重要な周波数スペクトル情報を量子化するために使用される。
【0124】
当業者は、この明細書に開示された実施例に記載の例と組み合わせて、ユニット及びアルゴリズムのステップが電子ハードウェアにより実現されてもよく、コンピュータソフトウェアと電子ハードウェアとの組み合わせにより実現されてもよいことを認識し得る。機能がハードウェアにより実行されるかソフトウェアにより実行されるかは、技術的対策の特定の用途及び設計上の制約条件に依存する。当業者は、特定の用途毎に記載の機能を実施するための異なる方法を使用し得るが、その実施は本発明の範囲を超えるものと考えられるべきではない。
【0125】
便宜的及び簡潔な説明の目的で、前述のシステム、装置及びユニットの詳細な動作処理は、前述の方法の実施例の対応する処理を参照し、詳細はここでは再び繰り返されないことが、当業者により明確に分かる。
【0126】
この出願で提供される複数の実施例において、開示のシステム、装置及び方法は、他の方法で実現されてもよいことが分かる。例えば、記載の装置の実施例は単に例示的なものである。例えば、ユニットの分割は単に論理的な機能分割であり、実際の実装では他の分割でもよい。例えば、複数のユニット又は構成要素は、組み合わされてもよく、他のシステムに統合されてもよく、又は、ある機能は無視されてもよく、実行されなくてもよい。更に、表示又は記載した相互結合若しくは直接結合又は通信接続は、いくつかのインタフェースを通じて実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電気的、機械的又は他の形式で実現されてもよい。
【0127】
別々の部分として記載されたユニットは、物理的に別々でもよく、物理的に別々でなくてもよい。ユニットとして表示された部分は、物理的ユニットでもよく、物理的ユニットでなくてもよく、1つの位置に配置されてもよく、複数のネットワークユニットに分散されてもよい。いくつかのユニット又は全てのユニットは、実施例の対策の目的を実現するために実際のニーズに従って選択されてもよい。
【0128】
更に、本発明の実施例の機能ユニットは、1つの処理ユニットに統合されてもよく、それぞれのユニットが物理的に単独で存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。
【0129】
機能がソフトウェア機能ユニットの形式で実現され、独立したプロダクトとして販売又は使用される場合、機能は、コンピュータ読み取り可能媒体に格納されてもよい。このような理解に基づいて、基本的に又は部分的に従来技術に寄与する本発明の技術的対策は、ソフトウェアプロダクトの形式で実現されてもよい。ソフトウェアプロダクトは、記憶媒体に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい)に対して本発明の実施例に記載の方法のステップの一部又は全部を実行するように命令する複数の命令を含んでもよい。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスクのようなプログラムコードを格納し得るいずれかの媒体を含む。
【0130】
前述の説明は本発明の単に特定の実現方法に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明に開示された技術的範囲内で当業者により容易に認識されるいかなる変更又は置換も、本発明の保護範囲内に入るものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
図1
図2
図3
図4
図5
図6