以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
図1は、一実施形態に係るオーディオ符号化装置を示す図である。図1に示すオーディオ符号化装置10は、入力端子In1に入力される複数のフレームのオーディオ信号を、共通のオーディオ符号化処理を使用して符号化し得るものである。図1に示すように、オーディオ符号化装置10は、複数の符号化部10a1〜10an、選択部10b、生成部10c、及び、出力部10dを備えている。ここで、nは2以上の整数である。
符号化部10a1〜10anは、互いに異なるオーディオ符号化処理を実行してオーディオ信号から符号系列を生成する。これらオーディオ符号化処理には、任意のオーディオ符号化処理を採用し得る。例えば、オーディオ符号化処理として、Modified AAC符号化処理、ACELP符号化処理、及びTCX符号化処理といった処理が使用され得る。
選択部10bは、入力端子In2に入力される入力情報に応じて、符号化部10a1〜10anのうち一つの符号化部を選択する。入力情報は、例えば、ユーザによって入力されるものである。一実施形態においては、この入力情報は、複数のフレームのオーディオ信号に共通に使用されるオーディオ符号化処理を特定する情報であり得る。選択部10bは、スイッチSWを制御して、符号化部10a1〜10anのうち入力情報によって特定されるオーディオ符号化処理を実行する符号化部と入力端子In1とを結合し得る。
生成部10cは、入力情報に基づいて長期符号化処理情報を生成する。長期符号化処理情報は、複数のフレームの符号系列の生成に共通のオーディオ符号化処理が使用されたことを示す情報である。また、長期符号化処理情報は、復号側にて識別可能なユニークワードであってもよい。また、一実施形態においては、複数のフレームの符号系列の生成に共通に使用されたオーディオ符号化処理を復号側にて特定し得る情報であってもよい。
出力部10dは、選択された符号化部によって生成された複数のフレームの符号系列、及び、生成部10cによって生成された長期符号化処理情報を含むストリームを出力する。
図2は、一実施形態に係るオーディオ符号化装置によって生成されるストリームを示す図である。図2に示すストリームは、第1〜第mの複数のフレームを含んでいる。ここで、mは、2以上の整数である。以下、ストリームにおけるフレームのことを、出力フレームということがある。各出力フレームには、入力オーディオ信号において当該出力フレームに対応するフレームのオーディオ信号から生成された符号系列が含まれている。また、ストリームの第1フレームには、パラメータ情報として、長期符号化処理情報が付加され得る。
以下、オーディオ符号化装置10の動作と、一実施形態のオーディオ符号化方法について説明する。図3は、一実施形態に係るオーディオ符号化方法を示すフローチャートである。図3に示すように、一実施形態においては、ステップS10−1において、選択部10bが、入力情報に基づいて符号化部10a1〜10anのうち一つの符号化部を選択する。
次いで、ステップS10−2において、生成部10cが、入力情報に基づいて長期符号化処理情報を生成する。続くステップS10−3において、出力部10dが、パラメータ情報として、第1フレームに長期符号化処理情報を付加する。
次いで、ステップS10−4において、選択部10bによって選択された符号化部が、現在の符号化対象のフレームのオーディオ信号を符号化して、符号系列を生成する。続くステップS10−5において、出力部10dが、符号化対象のフレームに対応するストリーム内の出力フレームに、符号化部によって生成された符号系列を含め、当該出力フレームを出力する。
続くステップS10−5においては、符号化していないフレームが存在するか否かの判定が行われる。符号化していないフレームが存在しない場合には、処理は終了する。一方、更に符号化すべきフレームが存在する場合には、符号化していないフレームを対象にステップS10−4からの一連の処理が継続される。
以上説明したオーディオ符号化装置10及び一実施形態のオーディオ符号化方法によれば、ストリームの第1フレームのみに長期符号化処理情報が含まれている。即ち、ストリームにおいて第2フレームより後のフレームには、使用されたオーディオ符号化処理を特定するための情報が含まれていない。したがって、サイズの小さい効率的なストリームが生成され得る。
以下、コンピュータをオーディオ符号化装置10として動作させるプログラムについて説明する。図4は、一実施形態に係るオーディオ符号化プログラムを示す図である。図5は、一実施形態に係るコンピュータのハードウェア構成を示す図である。図6は、一実施形態に係るコンピュータを示す斜視図である。図4に示すオーディオ符号化プログラムP10は、図5に示すコンピュータC10をオーディオ符号化装置10として動作させることができる。なお、本明細書に説明するプログラムは、図5に示すようなコンピュータに限定されず、携帯電話や、携帯情報端末といった任意の装置を、当該プログラムに従って動作させることができる。
オーディオ符号化プログラムP10は、記録媒体SMに格納されて提供され得る。なお、記録媒体SMとしては、フロッピーディスク、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。
図5に示すように、コンピュータC10は、フロッピーディスクドライブ装置、CD−ROMドライブ装置、DVDドライブ装置等の読取装置C12と、オペレーティングシステムを常駐させた作業用メモリ(RAM)C14と、記録媒体SMに記憶されたプログラムを記憶するメモリC16と、ディスプレイといった表示装置C18と、入力装置であるマウスC20及びキーボードC22と、データ等の送受を行うための通信装置C24と、プログラムの実行を制御するCPU C26と、を備え得る。
コンピュータC10は、記録媒体SMが読取装置C12に挿入されると、読取装置C12から記録媒体SMに格納されたオーディオ符号化プログラムP10にアクセス可能になり、当該プログラムP10によって、オーディオ符号化装置10として動作することが可能になる。
図6に示すように、オーディオ符号化プログラムP10は、搬送波に重畳されたコンピュータデータ信号CWとしてネットワークを介して提供されるものであってもよい。この場合、コンピュータC10は、通信装置C24によって受信したオーディオ符号化プログラムP10をメモリC16に格納し、プログラムP10を実行することができる。
図4に示すように、オーディオ符号化プログラムP10は、複数の符号化モジュールM10a1〜M10an、選択モジュールM10b、生成モジュールM10c、及び、出力モジュールM10dを備えている。
一実施形態においては、符号化モジュール部M10a1〜M10an、選択モジュールM10b、生成モジュールM10c、出力モジュールM10dは、符号化部10a1〜10an、選択部10b、生成部10c、出力部10dとそれぞれ同様の機能をコンピュータC10に実行させる。かかるオーディオ符号化プログラムP10によれば、コンピュータC10は、オーディオ符号化装置10として動作することが可能となる。
ここで、オーディオ符号化装置10の変形態様について説明する。図7は、変形態様に係るオーディオ符号化装置を示す図である。オーディオ符号化装置10では、入力情報に基づいて符号化部(符号化処理)が選択されるが、図7に示すオーディオ符号化装置10Aでは、オーディオ信号の解析結果に基づいて符号化部が選択される。そのために、オーディオ符号化装置10Aは、解析部10eを備えている。
解析部10eは、複数のフレームのオーディオ信号を解析して、当該複数のフレームのオーディ信号の符号化に適したオーディオ符号化処理を決定する。解析部10eは、決定したオーディオ符号化処理を特定する情報を、選択部10bに与えて、選択部10bに当該オーディオ符号化処理を実行する符号化部を選択させる。また、解析部10eは、決定したオーディオ符号化処理を特定する情報を、生成部10cに与えて、生成部10cに長期符号化処理情報を生成させる。
解析部10eは、例えば、オーディオ信号のトーン性、ピッチ周期、時間包絡,過渡的成分(突然の信号の立ち上がり/下がり)を解析し得る。例えば、解析部10eは、オーディオ信号のトーン性が所定のトーン性より強い場合には周波数領域の符号化を行うオーディオ符号化処理を使用するように決定をなすことができる。また、解析部10eは、例えば、オーディオ信号のピッチ周期が所定の範囲内にある場合には当該オーディオ信号の符号化に適したオーディオ符号化処理を使用するように決定をなすことができる。さらに、解析部10eは、例えば、オーディオ信号の時間包絡の変動が所定の変動より大きい場合、又は、オーディオ信号が過渡成分を含む場合には、時間領域の符号化を行うオーディオ符号化処理を使用するように決定をなすことができる。
以下、オーディオ符号化装置10によって生成されたストリームを復号し得るオーディオ復号装置について説明する。図8は、一実施形態に係るオーディオ復号装置を示す図である。図8に示すオーディオ復号装置12は、複数の復号部12a1〜12an、抽出部12b、及び、選択部12cを備えている。復号部12a1〜12anは、互いに異なるオーディオ復号処理を実行して符号系列からオーディオ信号を生成する。復号部12a1〜12anの処理は、符号化部10a1〜10anの処理とそれぞれ対称の処理である。
抽出部12bは、入力端子Inに入力されるストリームから長期符号化処理情報(図3を参照)を抽出する。抽出部12bは、抽出した長期符号化処理情報を選択部12cに与え、長期符号化処理情報を取り除いたストリームの残部をスイッチSWへと出力し得る。
選択部12cは、長期符号化処理情報に基づいてスイッチSWを制御する。選択部12cは、復号部12a1〜12anのうち、長期符号化処理情報に基づいて特定される符号化処理を実行する復号部を選択する。また、選択部12cは、ストリームに含まれる複数のフレームが選択した復号部に結合されるよう、スイッチSWを制御する。
以下、オーディオ復号装置12の動作、及び、一実施形態に係るオーディオ復号方法について説明する。図9は、一実施形態に係るオーディオ復号方法を示すフローチャートである。図9に示すように、一実施形態においては、ステップS12−1において、抽出部12bが、ストリームから長期符号化処理情報を抽出する。続くステップS12−2において、選択部12cが、抽出された長期符号化処理情報に応じて復号部12a1〜12anから一つの復号部を選択する。
続くステップS12−3において、選択された復号部が、復号対象のフレームの符号系列を復号する。次いで、ステップS12−4で復号していないフレームが存在するか否かが判定される。復号していないフレームが存在しない場合には、処理は終了する。一方、復号していないフレームが存在する場合には、当該フレームを対象に、ステップS12−2において選択された復号部を用いて、ステップS12−3からの処理が継続される。
以下、コンピュータをオーディオ復号装置12として動作させ得るオーディオ復号プログラムについて説明する。図10は、一実施形態に係るオーディオ復号プログラムを示す図である。
図10に示すオーディオ復号プログラムP12は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ復号プログラムP12は、オーディオ符号化プログラムP10と同様に提供され得る。
図10に示すように、オーディオ復号プログラムP12は、復号モジュールM12a1〜M12an、抽出モジュールM12b、及び、選択モジュールM12cを備えている。復号モジュールM12a1〜M12an、抽出モジュールM12b、選択モジュールM12cは、復号部12a1〜12an、抽出部12b、選択部12cとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、別の一実施形態に係るオーディオ符号化装置について説明する。図11は、別の一実施形態に係るオーディオ符号化装置を示す図である。図11に示すオーディオ符号化装置14は、MPEG USACの拡張において使用し得る装置である。
図12は、従来のMPEG USACに従って生成されるストリームと図11に示すオーディオ符号化装置によって生成されるストリームとを示す図である。図12に示すように、従来のMPEG USACでは、ストリームにおける各フレームに、FD(Modified AAC)が使用されたかLPD(ACELP又はTCX)が使用されたかを示す情報、即ち、1ビットのcore_modeが付加される。また、従来のMPEG USACでは、LPDが使用されるフレームは4つのフレームを含むスーパーフレーム構造を有している。LPDが使用される場合には、スーパーフレームの各フレームの符号化にACELP又はTCXの何れが使用されたかを示す情報として、4ビットのlpd_modeが、そのスーパーフレームに付加されている。
図11に示すオーディオ符号化装置14は、全てのフレームのオーディオ信号を共通のオーディオ符号化処理によって符号化し得る。また、オーディオ符号化装置14は、従来のMPEG_USACと同様に、各フレームに使用するオーディオ符号化処理を切り替えることも可能である。なお、一実施形態においては、オーディオ符号化装置は、全てのスーパーフレームにLPD、即ち、一組のオーディオ符号化処理を共通に使用してもよい。
図11に示すように、オーディオ符号化装置14は、ACELP符号化部14a1、TCX符号化部14a2、Modified AAC符号化部14a3、選択部14b、生成部14c、出力部14d、ヘッダ生成部14e、第1判定部14f、core_mode生成部14g、第2判定部14h、lpd_mode生成部14i、MPS符号化部14m、及び、SBR符号化部14nを備えている。
MPS符号化部14mは、入力端子In1に入力されるオーディオ信号を受ける。MPS符号化部14mに入力されるオーディオ信号は、2チャネル以上のマルチチャネルのオーディオ信号であり得る。MPS符号化部14mは、各フレームのマルチチャネルのオーディオ信号を、当該マルチチャネルのチャネル数より少ないチャネル数のオーディオ信号と、当該より少ないチャネル数のオーディオ信号からマルチチャネルのオーディ信号を復号するためのパラメータとで表現する。
マルチチャネルのオーディオ信号がステレオ信号である場合には、MPS符号化部14mは、当該ステレオ信号をダウンミックスすることによりモノラルのオーディオ信号を生成する。また、MPS符号化部14mは、モノラル信号からステレオ信号を復号するためのパラメータとして、モノラル信号とステレオ信号の各チャネルとの間のレベル差、位相差、及び/又は、相関値を生成する。MPS符号化部14mは、生成したモノラル信号をSBR符号化部14nへ出力し、生成したパラメータを符号化することによって得た符号化データを出力部14dに出力する。なお、ステレオ信号は、モノラル信号と残差信号、及び、パラメータによって表現されてもよい。
SBR符号化部14nは、MPS符号化部14mから各フレームのオーディオ信号を受ける。SBR符号化部14nが受けるオーディオ信号は、例えば、上述したモノラル信号であり得る。SBR符号化部14nは、入力端子In1に入力されるオーディオ信号がモノラル信号である場合には、当該オーディオ信号を受ける。SBR符号化部14nは、所定の周波数を基準として、入力されたオーディオ信号から低周波帯域のオーディオ信号及び高周波帯域のオーディオ信号を生成する。また、SBR符号化部14nは、低周波帯域のオーディオ信号から高周波帯域のオーディオ信号を生成するためのパラメータを算出する。当該パラメータとしては、例えば、所定の周波数を表す周波数情報、時間・周波数分解能情報、スペクトル包絡情報、付加雑音情報、及び、付加正弦波情報といった情報が利用され得る。SBR符号化部14nは、低周波帯域のオーディオ信号をスイッチSW1へ出力する。また、SBR符号化部14nは、算出したパラメータを符号化することによって得た符号化データを出力部14dへ出力する。
符号化部14a1は、ACELP符号化処理によりオーディオ信号を符号化して符号系列を生成する。符号化部14a2は、TCX符号化処理によりオーディオ信号を符号化して符号系列を生成する。符号化部14a3は、Modified AAC符号化処理によりオーディオ信号を符号化して符号系列を生成する。
選択部14bは、入力端子In2に入力される入力情報に応じて、スイッチSW1に入力される複数のフレームのオーディオ信号を符号化する符号化部を選択する。本実施形態では、入力情報は、ユーザによって入力され得る情報であり得る。また、入力情報は、複数のフレームを共通の一つの符号化処理により符号化するか否かを示す情報であり得る。
本実施形態では、選択部14bは、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化することを示す場合に、所定の符号化処理を実行する所定の符号化部を選択する。例えば、説明するように、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化することを示す場合に、選択部14bは、スイッチSW1を制御して、ACELP符号化部14a1を所定の符号化部として選択することができる。したがって、本実施形態では、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化することを示す場合には、ACELP符号化部14a1によって複数のフレームのオーディオ信号が符号化される。
一方、選択部14bは、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化しないことを示す場合に、スイッチSW1に入力される各フレームのオーディオ信号を、第1判定部14f等に繋がるパスへと結合する。
生成部14cは、入力情報に基づいて長期符号化処理情報を生成する。図12に示すように、長期符号化処理情報としては、1ビットのGEM_IDが用いられ得る。また、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化することを示す場合には、生成部14cは、GEM_IDの値「1」に設定し得る。一方、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化しないことを示す場合には、生成部14cは、GEM_IDの値「0」に設定し得る。
ヘッダ生成部14eは、ストリームに含めるヘッダを生成し、設定されたGEM_IDを当該ヘッダに含める。図12に示すように、このヘッダは、出力部14dから出力されるときに、第1フレームに含められ得る。
第1判定部14fは、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化しないことを示す場合に、SW1を介して符号化対象のフレームのオーディオ信号を受ける。第1判定部14fは、符号化対象のフレームのオーディオ信号を解析して、Modified AAC符号化部14a3により当該オーディオ信号を符号化すべきか否かを判定する。
第1判定部14fは、符号化対象のフレームのオーディオ信号をModified AAC符号化部14a3により符号化すべきであると判定する場合には、スイッチSW2を制御して、当該フレームをModified AAC符号化部14a3に結合する。
一方、第1判定部14fは、符号化対象のフレームのオーディオ信号をModified AAC符号化部14a3により符号化すべきでないと判定する場合には、スイッチSW2を制御して、当該フレームを第2判定部14h及びスイッチSW3に結合する。この場合に、符号化対象のフレームは、後続の処理において、4つのフレームに分割され、当該4つのフレームを含むスーパーフレームとして取り扱われる。
なお、第1判定部14fは、例えば、符号化対象のフレームのオーディ信号を解析して、当該オーディオ信号が所定量以上のトーン成分を有する場合には、Modified AAC符号化部14a3を当該フレームの音声信号用の符号化部として選択し得る。
core_mode生成部14gは、第1判定部14fの判定結果に応じて、core_modeを生成する。図12に示すように、core_modeは1ビットの情報である。core_mode生成部14gは、第1判定部14fが符号化対象のフレームのオーディオ信号をModified AAC符号化部14a3により符号化すべきであると判定した場合には、core_modeの値を「0」に設定する。一方、core_mode生成部14gは、第1判定部14fが判定対象のフレームのオーディオ信号をModified AAC符号化部14a3により符号化すべきでないと判定した場合には、core_modeの値を「1」に設定する。このcore_modeは、出力部14dから出力されるときに、符号化対象のフレームに対応するストリーム内の出力フレームにパラメータ情報として付加される。
第2判定部14hは、スイッチSW2を介して符号化対象のスーパーフレームのオーディオ信号を受ける。第2判定部14hは、符号化対象のスーパーフレームにおける各フレームのオーディオ信号をACELP符号化部14a1により符号化すべきか又はTCX符号化部14a2で符号化すべきかを判定する。
第2判定部14hは、符号化対象のフレームのオーディオ信号をACELP符号化部14a1により符号化すべきと判定する場合に、スイッチSW3を制御して当該フレームのオーディオ信号をACELP符号化部14a1に結合する。一方、第2判定部14hは、符号化対象のフレームのオーディオ信号をTCX符号化部14a2により符号化すべきと判定する場合に、スイッチSW3を制御して当該フレームのオーディオ信号をTCX符号化部14a2に結合する。
第2判定部14hは、例えば、符号化対象のフレームのオーディオ信号が強い音声成分を有する信号である場合、当該オーディオ信号の時間包絡が短時間で所定の変動より大きく変動する場合、又は、当該オーディオ信号が過渡的成分を含む場合には、当該オーディオ信号をACELP符号化部14a1により符号化すべきと判定し得る。第2判定部14hは、その他の場合には、当該オーディオ信号をTCX符号化部14a2により符号化すべきと判定し得る。なお、オーディオ信号が強い音声成分を有する信号である場合とは、当該オーディオ信号のピッチ周期が所定の範囲内にある場合、ピッチ周期のときの自己相関が所定の自己相関より強い場合、又は、ゼロクロスレートが所定のレートより小さい場合であり得る。
lpd_mode生成部14iは、第2判定部14hの判定結果に応じてlpd_modeを生成する。図12に示すようにlpd_modeは、4ビットの情報である。lpd_mode生成部14iは、第2判定部14hからのスーパーフレームにおける各フレームのオーディオ信号に対する判定結果に対応する所定の値に、lpd_modeの値を設定する。lpd_mode生成部14iによって値が設定されたlpd_modeは、出力部14dから出力されるときに、符号化対象のスーパーフレームに対応するストリーム内の出力スーパーフレームに付加される。
出力部14dは、ストリームを出力する。ストリームには、上述したGEM_IDを含むヘッダ及び対応の符号系列を有する第1フレーム、及び、対応の符号系列をそれぞれ有する第2〜第mフレーム(mは2以上の整数)が含まれる。また、出力部14dは、各出力フレームに、MPS符号化部14mによって生成されたパラメータの符号化データ及びSBR符号化部14nによって生成されたパラメータの符号化データを含める。
以下、オーディオ符号化装置14の動作、及び、別の一実施形態に係るオーディオ符号化方法について説明する。図13は、別の一実施形態に係るオーディオ符号化方法のフローチャートである。
図13に示すように、一実施形態においては、ステップS14−1において、生成部14cが、入力情報に基づいて、上述したようにGEM_IDを生成(設定)する。続くステップS14−2において、ヘッダ生成部14eが、設定されたGEM_IDを含むヘッダを生成する。
次いで、ステップS14−pに示す判定により、入力端子In1に入力されるオーディオ信号がマルチチャネル信号であると判断される場合には、ステップS14−mにおいて、MPS符号化部14mが、上述したように、入力される符号化対象のフレームのマルチチャネルのオーディオ信号から、マルチチャネルのチャネル数より少ないチャネル数のオーディオ信号と、当該より少ないチャネル数のオーディオ信号からマルチチャネルのオーディ信号を復号するためのパラメータと、を生成する。また、MPS符号化部14mが、当該パラメータの符号化データを生成する。この符号化データは、出力部14dにより、対応の出力フレームに含められる。一方、入力端子In1に入力されるオーディオ信号がモノラル信号である場合には、MPS符号化部14mは動作せず、入力端子In1に入力されるオーディオ信号は、SBR符号化部14nに入力される。
次いで、ステップS14−nにおいて、SBR符号化部14nが、上述したように、入力されるオーディオ信号から、低周波帯域のオーディオ信号と、低周波帯域のオーディオ信号から高周波帯域のオーディオ信号を生成するためのパラメータと、を生成する。また、SBR符号化部14nが、当該パラメータの符号化データを生成する。この符号化データは、出力部14dにより、対応の出力フレームに含められる。
次いで、ステップS14−3において、選択部14bが、入力情報に基づいて、複数のフレームのオーディオ信号、即ち、SBR符号化部14nから出力された複数のフレームの低周波帯域のオーディオ信号を共通のオーディオ符号化処理により符号化するか否かを判定する。
ステップS14−3において、入力情報が複数のフレームのオーディオ信号を共通のオーディオ符号化処理により符号化することを示す場合、即ち、GEM_IDの値が「1」である場合には、選択部14bは、ACELP符号化部14a1を選択する。
次いで、ステップS14−4において、選択部14bによって選択されたACELP符号化部14a1が、符号化対象のフレームのオーディオ信号を符号化して、符号系列を生成する。
次いで、ステップS14−5において、出力部14dが、フレームにヘッダを付加するか否かを判断する。ステップS14−5においては、出力部14dは、符号化対象のフレームが第1フレームである場合に、当該符号化対象のフレームに対応するストリーム内の第1フレームにヘッダを付加するものと判定し、続くステップS14−6において、第1フレームにヘッダ及び符号系列を含めて、当該第1フレームを出力する。一方、第2フレーム以降のフレームの場合には、ヘッダは付加されず、ステップS14−7において、出力部14dが、フレームに符号系列を含めて出力する。
次いで、ステップS14−8において、符号化していないフレームが存在するか否かが判断される。符号化していないフレームが存在しない場合には、処理が終了する。一方、符号化していないフレームが存在する場合には、符号化していないフレームを対象にステップS14−mからの処理が継続される。
このように、本実施形態では、GEM_IDの値が「1」である場合には、ACELP符号化部14a1が、複数のフレームのオーディオ信号の全ての符号化に継続して使用される。
ステップS14−3において、GEM_IDの値が「0」であると判断される場合、即ち、入力情報が、各フレームが個別の符号化処理方法によって処理されるべきことを示す場合には、ステップS14−9において、第1判定部14fが、符号化対象のフレームのオーディオ信号、即ち、SBR符号化部14nから出力された符号化対象のフレームの低周波帯域のオーディオ信号をModified AAC符号化部14a3により符号化すべきか否かを判定する。続くステップS14−10においては、core_mode生成部14gが、第1判定部14fによる判定結果に応じた値にcore_modeの値を設定する。
次いで、ステップS14−11において、第1判定部14fの判定結果がModified AAC符号化部14a3により符号化対象のフレームのオーディオ信号を符号化すべきことを示しているか否かが判定される。第1判定部14fの判定結果がModified AAC符号化部14a3により符号化対象のフレームのオーディオ信号を符号化すべきことを示している場合には、続くステップS14−12において、符号化対象のフレームのオーディオ信号がModified AAC符号化部14a3によって符号化される。
次いで、ステップS14−13において、出力部14dが、符号化対象のフレームに対応するストリーム内の出力フレーム(又はスーパーフレーム)にcore_modeを付加する。そして、処理は、ステップS14−5に進む。
ステップS14−11において、第1判定部14fの判定結果がModified AAC符号化部14a3により符号化対象のフレームのオーディオ信号を符号化すべきでないことを示している場合には、ステップS14−14からの処理は、符号化対象のフレームをスーパーフレームとして取り扱う。
ステップS14−14においては、第2判定部14hが、スーパーフレームにおける各フレームをACELP符号化部14a1で符号化すべきか、TCX符号化部14a2で符号化すべきかを判定する。続くステップS14−15においては、lpd_mode生成部14iが、第2判定部14hの判定結果に応じた値にlpd_modeを設定する。
次いで、ステップS14−16において、第2判定部14hの判定結果が、スーパーフレーム内の符号化対象のフレームをACELP符号化部14a1で符号化すべきことを示しているか、当該符号化対象のフレームをTCX符号化部14a2で符号化すべきことを示しているかが判定される。
第2判定部14hの判定結果が符号化対象のフレームをACELP符号化部14a1で符号化すべきことを示している場合には、ステップS14−17において、符号化対象のフレームのオーディオ信号がACELP符号化部14a1によって符号化される。一方、第2判定部14hの判定結果が符号化対象のフレームをTCX符号化部14a2で符号化すべきことを示している場合には、ステップS14−18において、符号化対象のフレームのオーディオ信号がTCX符号化部14a2によって符号化される。
次いで、ステップS14−19において、符号化対象のスーパーフレームに対応するストリーム内の出力スーパーフレームにlpd_modeが付加される。そして、処理は、ステップS14−13に進む。
以上説明したオーディオ符号化装置14及びオーディオ符号化方法によれば、「1」に設定したGEM_IDをヘッダに含めることにより、各フレームに使用されたオーディオ符号化処理を特定する情報を含めることなく、複数のフレームのオーディオ信号をACELP符号化部のみで符号化したことを復号側に通知することができる。したがって、よりサイズの小さいストリームが生成される。
以下、コンピュータをオーディオ符号化装置14として動作させるオーディオ符号化プログラムについて説明する。図14は、別の一実施形態に係るオーディオ符号化プログラムを示す図である。
図14に示すオーディオ符号化プログラムP14は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ符号化プログラムP14は、オーディオ符号化プログラムP10と同様に提供され得る。
図14に示すように、オーディオ符号化プログラムP14は、ACELP符号化モジュールM14a1、TCX符号化モジュールM14a2、Modified AAC符号化モジュールM14a3、選択モジュールM14b、生成モジュールM14c、出力モジュールM14d、ヘッダ生成モジュールM14e、第1判定モジュールM14f、core_mode生成モジュールM14g、第2判定モジュールM14h、lpd_mode生成モジュールM14i、MPS符号化モジュールM14m、及び、SBR符号化モジュール14nを備えている。
ACELP符号化モジュールM14a1、TCX符号化モジュールM14a2、Modified AAC符号化モジュールM14a3、選択モジュールM14b、生成モジュールM14c、出力モジュールM14d、ヘッダ生成モジュールM14e、第1判定モジュールM14f、core_mode生成モジュールM14g、第2判定モジュールM14h、lpd_mode生成モジュールM14i、MPS符号化モジュールM14m、及び、SBR符号化モジュール14nは、ACELP符号化部14a1、TCX符号化部14a2、Modified AAC符号化部14a3、選択部14b、生成部14c、出力部14d、ヘッダ生成部14e、第1判定部14f、core_mode生成部14g、第2判定部14h、lpd_mode生成部14i、MPS符号化部14m、SBR符号化部14nとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、オーディオ符号化装置14によって生成されたストリームを復号し得るオーディオ復号装置について説明する。図15は、別の一実施形態に係るオーディオ復号装置を示す図である。図15に示すオーディオ復号装置16は、ACELP復号部16a1、TCX復号部16a2、Modified AAC復号部16a3、抽出部16b、選択部16c、ヘッダ解析部16d、core_mode抽出部16e、第1選択部16f、lpd_mode抽出部16g、第2選択部16h、MPS復号部16m、及び、SBR復号部16nを備えている。
ACELP復号部16a1は、ACELP復号処理によりフレーム内の符号系列を復号して、オーディオ信号を生成する。TCX復号部16a2は、TCX復号処理によりフレーム内の符号系列を復号して、オーディオ信号を生成する。Modified AAC復号部16a3は、Modified AAC復号処理によりフレーム内の符号系列を復号して、オーディオ信号を生成する。一実施形態においては、これらの復号部から出力されるオーディオ信号は、オーディオ符号化装置14に関して上述した低周波帯域のオーディ信号である。
ヘッダ解析部16dは、第1フレームからヘッダを分離し得る。ヘッダ解析部16dは、分離したヘッダを抽出部16bに提供し、ヘッダが分離された第1フレーム、及び後続のフレームを、スイッチSW1、MPS復号部16m、及びSBR復号部16nへと出力する。
抽出部16bは、ヘッダからGEM_IDを抽出する。選択部16cは、抽出されたGEM_IDに応じて、複数のフレームの符号系列の復号に用いる復号部を選択する。具体的に、選択部16cは、GEM_IDの値が「1」の場合には、スイッチSW1を制御して、複数のフレームの全てをACELP復号部16a1に結合する。一方、GEM_IDの値が「0」の場合には、選択部16cは、スイッチSW1を制御して、復号対象のフレーム(又はスーパーフレーム)をcore_mode抽出部16eに結合する。
core_mode抽出部16eは、復号対象のフレーム(又はスーパーフレーム)内のcore_modeを抽出し、当該core_modeを第1選択部16fに提供する。第1選択部16fは、提供されたcore_modeの値に応じて、スイッチSW2を制御する。具体的に、core_modeの値が「0」である場合には、第1選択部16fは、スイッチSW2を制御して、復号対象のフレームをModified AAC復号部16a3に結合する。これにより、復号対象のフレームがModified AAC復号部16a3に入力される。一方、core_modeの値が「1」である場合には、第1選択部16fは、スイッチSW2を制御して、復号対象のスーパーフレームをlpd_mode抽出部16gに結合する。
lpd_mode抽出部16gは、復号対象のフレーム、即ちスーパーフレームからcore_modeを抽出する。lpd_mode抽出部16gは、抽出したcore_modeを第2選択部16hに結合する。第2選択部16hは、入力されたcore_modeに応じて、lpd_mode抽出部16gから出力される復号対象のスーパーフレーム内の各フレームを、ACELP復号部16a1又はTCX復号部16a2に結合する。
具体的に、第2選択部16hは、lpd_modeの値に関連付けられた所定のテーブルを参照して、mod[k](k=0,1,2,3)の値を設定する。そして、第2選択部16hは、mod[k]の値に応じて、スイッチSW3を制御して、復号対象のスーパーフレーム内の各フレームを、ACELP復号部16a1又はTCX復号部16a2に結合する。なお、mod[k]の値と、ACELP復号部16a1又はTCX復号部16a2の選択の関係については、後述する。
SBR復号部16nは、復号部16a1、16a2、及び16a3から低周波帯域のオーディオ信号を受ける。SBR復号部16nは、また、復号対象のフレームに含まれる符号化データを復号することにより、パラメータを復元する。SBR復号部16nは、低周波帯域のオーディオ信号及び復元したパラメータを用いて高周波帯域のオーディ信号を生成する。また、SBR復号部16nは、高周波帯域のオーディオ信号及び低周波帯域のオーディオ信号を合成することにより、オーディオ信号を生成する。
MPS復号部16mは、SBR復号部16nからオーディオ信号を受ける。このオーディオ信号は、復元すべきオーディオ信号がステレオ信号である場合には、モノラルのオーディオ信号で有り得る。MPS復号部16mは、また、復号対象のフレームに含まれる符号化データを復号することにより、パラメータを復元する。また、MPS復号部16mは、SBR復号部16nから受けたオーディオ信号と復元したパラメータを用いて、マルチチャネルのオーディオ信号を生成し、当該マルチチャネルのオーディオ信号を出力する。復元すべきオーディオ信号がモノラル信号である場合には、MPS復号部16mは動作せず、上記SBR復号部16nが生成するオーディオ信号を出力する。
以下、オーディオ復号装置16の動作と、別の一実施形態に係るオーディオ復号方法について説明する。図16は、別の一実施形態に係るオーディオ復号方法のフローチャートである。
図16に示すように、一実施形態においては、ステップS16−1において、ヘッダ解析部16dがストリームからヘッダを分離する。続くステップS16−2において、抽出部16bが、ヘッダ解析部16dから提供されるヘッダからGEM_IDを抽出する。
次いで、ステップS16−3において、選択部16cが、抽出部16bによって抽出されたGEM_IDの値に応じて、複数のフレームを復号する復号部を選択する。具体的には、GEM_IDの値が「1」の場合には、選択部16cは、ACELP復号部16a1を選択する。この場合には、ステップS16−4において、ACELP復号部16a1が、復号対象のフレーム内の符号系列を復号する。ステップS16−4により生成されるオーディオ信号は、上述した低周波帯域のオーディオ信号である。
次いで、ステップS16−nにおいて、SBR復号部16nが、復号対象のフレームに含まれる符号化データを復号することにより、パラメータを復元する。また、ステップS16−nにおいては、SBR復号部16nが、入力された低周波帯域のオーディオ信号及び復元したパラメータを用いて高周波帯域のオーディ信号を生成する。また、ステップS16−nにおいては、SBR復号部16nが、高周波帯域のオーディオ信号及び低周波帯域のオーディオ信号を合成することにより、オーディオ信号を生成する。
次いで、ステップS16−pにおける判定によりマルチチャネル信号を処理の対象としていると判断される場合には、続くステップS16−mにおいて、MPS復号部16mが、復号対象のフレームに含まれる符号化データを復号することにより、パラメータを復元する。また、ステップS16−mにおいては、MPS復号部16mが、SBR復号部16nから受けたオーディオ信号と復元したパラメータを用いて、マルチチャネルのオーディオ信号を生成し、当該マルチチャネルのオーディオ信号を出力する。一方、モノラル信号を処理の対象としていると判断される場合には、SBR復号部16nが生成するオーディオ信号を出力する。
次いで、ステップS16−5において、復号していないフレームが存在するか否かの判定が行われる。復号していないフレームが存在しない場合には、処理は終了する。一方、復号しないフレームが存在する場合には、復号していないフレームを対象にステップS16−4からの処理が継続される。これにより、GEM_IDの値が「1」である場合には、複数のフレームの符号系列が、共通の復号部、即ち、ACELP復号部16a1により復号される。
ステップS16−3に戻り、GEM_IDの値が「0」である場合には、選択部16cは、復号対象のフレームをcore_mode抽出部16eに結合する。この場合には、ステップS16−6において、core_mode抽出部16eが、復号対象のフレームからcore_modeを抽出する。
次いで、ステップS16−7において、第1選択部16fが、抽出されたcore_modeに応じて、Modified AAC復号部16a3又はlpd_mode抽出部16gを選択する。具体的には、core_modeの値が「0」である場合には、第1選択部16fは、Modified AAC復号部16a3を選択し、復号対象のフレームをModified AAC復号部16a3に結合する。この場合には、続くステップS16−8おいて、処理対象のフレーム内の符号系列がModified AAC復号部16a3によって復号される。このステップS16−8において生成されるオーディオ信号は、上述した低周波帯域のオーディオ信号である。このステップS16−8に続き、上述したSBR復号処理(ステップS16−n)及びMPS復号処理(ステップS16−m)が行われる。
次いで、ステップS16−9において、復号していないフレームが存在するか否かが判定され、復号していないフレームが存在しない場合には、処理が終了する。一方、復号していないフレームが存在する場合には、復号していないフレームを対象にステップS16−6からの処理が継続される。
ステップS16−7に戻り、core_modeの値が「1」である場合には、第1選択部16fは、lpd_mode抽出部16gを選択し、復号対象のフレームをlpd_mode抽出部16gに結合する。なお、この場合には、復号対象のフレームは、スーパーフレームとして取り扱われる。
次いで、ステップS16−10において、lpd_mode抽出部16gが、復号対象のスーパーフレームからlpd_modeを抽出する。そして、第2選択部16hが、抽出されたlpd_modeに応じてmod[k](k=0,1,2,3)を設定する。
次いで、ステップS16−11において、第2選択部16hは、kの値を「0」に設定する。続くステップS16−12において、第2選択部16hは、mod[k]の値が0より大きいか否かを判定する。mod[k]の値が0以下である場合には、第2選択部16hは、ACELP復号部16a1を選択する。一方、mod[k]の値が0より大きい場合には、第2選択部16hは、TCX復号部16a2を選択する。
そして、ACELP復号部16a1が選択された場合には、続くステップS16−13において、ACELP復号部16a1がスーパーフレーム内の復号対象のフレームの符号系列を復号する。次いで、ステップS16−14において、kの値がk+1に設定される。一方、TCX復号部16a2が選択された場合には、続くステップS16−15において、TCX復号部16a2がスーパーフレーム内の復号対象のフレームの符号系列を復号する。ついで、ステップS16−16において、kの値が、k+a(mod[k])に更新される。なお、mod[k]とa(mod[k])の関係については、図17を参照されたい。
次いで、ステップS16−17において、kの値が4より小さいか否かが判定される。kの値が4より小さい場合には、ステップS16−12からの処理がスーパーフレーム内の後続のフレームに対して継続される。一方、kの値が4以上である場合には、処理はステップS16−nに進む。
以下、コンピュータをオーディオ復号装置16として動作させるオーディオ復号プログラムについて説明する。図18は、別の一実施形態に係るオーディオ復号プログラムを示す図である。
図18に示すオーディオ復号プログラムP16は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ復号プログラムP16は、オーディオ符号化プログラムP10と同様に提供され得る。
図18に示すように、オーディオ復号プログラムP16は、ACELP復号モジュールM16a1、TCX復号モジュールM16a2、Modified AAC復号モジュールM16a3、抽出モジュールM16b、選択モジュールM16c、ヘッダ解析モジュールM16d、core_mode抽出モジュールM16e、第1選択モジュールM16f、lpd_mode抽出モジュールM16g、第2選択モジュールM16h、MPS復号モジュールM16m、及び、SBR復号モジュールM16nを備えている。
ACELP復号モジュールM16a1、TCX復号モジュールM16a2、Modified AAC復号モジュールM16a3、抽出モジュールM16b、選択モジュールM16c、ヘッダ解析モジュールM16d、core_mode抽出モジュールM16e、第1選択モジュールM16f、lpd_mode抽出モジュールM16g、第2選択モジュールM16h、MPS復号モジュールM16m、SBR復号モジュールM16nは、ACELP復号部16a1、TCX復号部16a2、Modified AAC復号部16a3、抽出部16b、選択部16c、ヘッダ解析部16d、core_mode抽出部16e、第1選択部16f、lpd_mode抽出部16g、第2選択部16h、MPS復号部16m、SBR復号部16nとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、更に別の一実施形態に係るオーディオ符号化装置について説明する。図19は、更に別の一実施形態に係るオーディオ符号化装置を示す図である。図19に示すオーディオ符号化装置18は、AMR−WB+の拡張として使用し得る装置である。
図20は、従来のAMR−WB+に従って生成されるストリームと図19に示すオーディオ符号化装置によって生成されるストリームとを示す図である。図20に示すように、AMR−WB+では、各フレームに、2ビットのMode bitsが付加されている。Mode bitsは、その値によって、ACELP符号化処理を選択するかTCX符号化処理を選択するか否かを示す情報である。
一方、図19に示すオーディオ符号化装置18は、全てのフレームのオーディオ信号を共通のオーディオ符号化処理によって符号化することができる。また、オーディオ符号化装置18は、各フレームに使用するオーディオ符号化処理を切替えることもできる。
図19に示すように、オーディオ符号化装置18は、ACELP符号化部18a1、及び、TCX符号化部18a2備えている。ACELP符号化部18a1は、ACELP符号化処理によりオーディオ信号を符号化して符号系列を生成する。TCX符号化部18a2は、TCX符号化処理によりオーディオ信号を符号化して符号系列を生成する。オーディオ符号化装置18は、更に、選択部18b、生成部18c、出力部18d、ヘッダ生成部18e、符号化処理判定部18f、Mode bits生成部18g、分析部18m、ダウンミックス部18n、高周波帯域符号化部18p、及び、ステレオ符号化部18qを備えている。
分析部18mは、所定の周波数を基準として、入力端子In1に入力される各フレームのオーディオ信号を低周波数帯域のオーディオ信号と高周波数帯域のオーディオ信号に分割する。分析部18mは、入力端子In1に入力されるオーディオ信号がモノラルのオーディオ信号である場合には、生成した低周波数帯域のオーディオ信号をスイッチSW1へ出力し、高周波数帯域のオーディオ信号を高周波数帯域符号化部18pへ出力する。一方、入力端子In1に入力されるオーディオ信号がステレオ信号である場合には、分析部18mは、生成した低周波数帯域のオーディオ信号(ステレオ信号)をダウンミックス部18nに出力する。
ダウンミックス部18nは、入力端子In1に入力されるオーディオ信号がステレオ信号である場合に、低周波数帯域のオーディオ信号(ステレオ信号)をモノラルのオーディオ信号にダウンミックスする。ダウンミックス部18nは、生成したモノラルのオーディオ信号をスイッチSW1へ出力する。ダウンミックス部18nは、低周波数帯域のオーディオ信号を所定の周波数を基準として二つの周波数帯域のオーディオ信号に分割する。ダウンミックス部18nは、二つの周波数帯域のオーディオ信号のうち低い周波数帯域のオーディオ信号(モノラル信号)と右チャネルのオーディオ信号をステレオ符号化部18qへ出力する。
高周波帯域符号化部18pは、復号側において低周波数帯域のオーディオ信号から高周波数帯域のオーディオ信号を生成するためのパラメータを算出し、当該パラメータの符号化データを生成し、当該符号化データを出力部18dに出力する。パラメータとしては、例えば、スペクトル包絡をモデル化した線形予測係数やパワー調整のためのゲインが用いられ得る。
ステレオ符号化部18qは、上記の二つの周波数帯域のオーディオ信号のうち低い周波数帯域のモノラルのオーディオ信号と右チャネルのオーディオ信号の差分信号であるサイド信号を算出する。ステレオ符号化部18qは、モノラルのオーディオ信号とサイド信号のレベル差を表すバランスファクタを算出し、当該バランスファクタと、サイド信号の波形をそれぞれ所定の方法で符号化し、符号化データを出力部18dに出力する。また、ステレオ符号化部18qは、上記二つの周波数帯域のオーディオ信号のうち低い周波数帯域のオーディオ信号から復号装置にてステレオオーディオ信号を生成するためのパラメータを算出し、当該パラメータの符号化データを出力部18dに出力する。
選択部18bは、選択部14bと同様の機能を有する。具体的には、入力情報が複数のフレームを共通の一つのオーディオ符号化処理により符号化することを示す場合には、選択部18bは、スイッチSW1を制御して、スイッチSW1に入力される全てのフレームのオーディオ信号を、ACELP符号化部18a1に結合する。一方、入力情報が複数のフレームを共通の一つの符号化処理により符号化しないことを示す場合には、選択部18bは、スイッチSW1を制御して、スイッチSW1に入力される各フレームのオーディオ信号を、符号化処理判定部18f等に繋がるパスへと結合する。
生成部18cは、生成部14cと同様にGEM_IDを設定する。ヘッダ生成部18eは、生成部18cによって生成されたGEM_IDを含むAMR−WB+対応のヘッダを生成する。このヘッダは、ストリームの先頭において、出力部18dによって出力される。本実施形態では、GEM_IDは、ヘッダのAMRWBPSampleEntry_fields内の未使用の領域に含められ得る。
符号化処理判定部18fは、入力情報が複数のフレームを共通の一つの符号化処理により符号化しないことを示す場合に、SW1を介して符号化対象のフレームのオーディオ信号を受ける。
符号化処理判定部18fは、符号化対象のフレームを、当該符号化対象のフレームを4以下のフレームに分割したスーパーフレームとして取り扱う。符号化処理判定部18fは、スーパーフレームにおける各フレームのオーディオ信号を解析して、当該オーディオ信号をACELP符号化部18a1により符号化すべきか、TCX符号化部18a2により符号化すべきかを判定する。この解析は、上述した第2判定部14hと同様の解析であってもよい。
判定部18fは、フレームのオーディオ信号をACELP符号化部18a1により符号化すべきと判定した場合には、スイッチSW2を制御して、ACELP符号化部18a1に当該フレームのオーディオ信号を結合する。一方、フレームのオーディオ信号をTCX符号化部18a2により符号化すべきと判定した場合には、スイッチSW2を制御して、TCX符号化部18a2に当該フレームのオーディオ信号を結合する。
Mode bits生成部18gは、符号化処理判定部18fの判定結果に応じた値を有するK個のMode Bits[k](k=0〜K−1)を生成する。ここで、Kの値は、4以下の整数であり、スーパーフレーム内のフレーム数に対応する数であり得る。また、Mode bits[k]は、少なくとも符号化対象のフレームのオーディオ信号の符号化にACELP符号化処理が使用されたか、又は、TCX符号化処理が使用されたかを示す2ビットの情報である。
出力部18dは、ヘッダ、及び、対応の符号系列複数のフレームを有するストリームを出力する。また、出力部18dは、GEM_IDの値が0である場合には、出力フレームにMode bits[k]を含める。さらに、出力部18dは、高周波帯域符号化部18pによって生成された符号化データ、及び、ステレオ符号化部18によって生成された符号化データを対応のフレームに含める。
以下、オーディオ符号化装置18の動作、及び、一実施形態に係るオーディオ符号化方法について説明する。図21は、更に別の一実施形態に係るオーディオ符号化方法のフローチャートである。
図21に示すように、一実施形態においては、まず、ステップS14−1と同様のステップS18−1が行われる。次いで、ステップS18−2において、ヘッダ生成部18eが、上述したように、GEM_IDを含むAMR−WB+のヘッダを生成する。続くステップS18−3では、出力部18dが、生成されたヘッダをストリームの先頭において出力する。
次いで、ステップS18−mにおいて、分析部18mが、上述したように、入力端子In1に入力される符号化対象のフレームのオーディオ信号を低周波数帯域のオーディオ信号と高周波数帯域のオーディオ信号に分割する。また、ステップS18−mにおいては、分析部18mが、入力端子In1に入力されるオーディオ信号がモノラルのオーディオ信号である場合には、生成した低周波数帯域のオーディオ信号をスイッチSW1へ出力し、高周波数帯域のオーディオ信号を高周波数帯域符号化部18pへ出力する。一方、入力端子In1に入力されるオーディオ信号がステレオ信号である場合には、分析部18mは、生成した低周波数帯域のオーディオ信号(ステレオ信号)をダウンミックス部18nに出力する。
次いで、ステップS18−rに示す判定により、入力端子In1に入力されるオーディオ信号がモノラル信号であると判断される場合には、ステップS18−pにおいて高周波帯域符号化部18pによる上述の処理が行われ、高周波帯域符号化部18pによって生成された上述の符号化データが出力部18dにより出力される。一方、入力端子In1に入力されるオーディオ信号がステレオ信号である場合には、ステップS18−nにおいてダウンミックス部18nによる上述の処理が行われ、続くステップS18−qにおいてステレオ符号化部18qによる上述の処理が行われ、ステレオ符号化部18qによって生成された上述の符号化データが出力部18dにより出力され、処理は、ステップS18−pに進む。
次いで、ステップS18−4において、選択部18bが、GEM_IDの値が「0」であるか否かを判定する。GEM_IDの値が「0」でない場合、即ち、GEM_IDの値が「1」である場合には、選択部18bは、ACELP符号化部18a1を選択する。次いで、ステップS18−5において、選択されたACELP符号化部18a1によりフレームのオーディオ信号(低周波帯域のオーディオ信号)が符号化される。続くステップS18−6において、生成された符号系列を含むフレームが出力部18dによって出力される。そして、GEM_IDの値が「1」である場合には、ステップS18−7における更に符号化すべきフレームがあるか否かの判定を経て、全てのフレームのオーディオ信号(低周波帯域のオーディオ信号)が、ACELP符号化部18a1により符号化されて、出力される。
ステップS18−4に戻り、GEM_IDの値が「0」である場合には、続くステップS18−8において、符号化処理判定部18fが、符号化対象のフレーム、即ち、スーパーフレームにおける各フレームのオーディオ信号(低周波帯域のオーディオ信号)をACELP符号化処理により符号化するか、TCX符号化処理により符号化するかを判定する。
次いで、ステップS18−9において、Mode bits生成部18gが、符号化処理判定部18fにおける判定結果に応じた値を有するMode bits[k]を生成する。
次いで、ステップS18−10において、ステップS18−8の判定結果が符号化対象のフレームのオーディオ信号をTCX符号化処理により符号化すること、即ち、TCX符号化部18a2により符号化することを示しているか否かの判定が行われる。
ステップS18−8の判定結果が符号化対象のフレームのオーディオ信号をTCX符号化部18a2により符号化することを示している場合には、続くステップS18−11において、TCX符号化部18a2により当該フレームのオーディオ信号(低周波帯域のオーディオ信号)が符号化される。一方、判定結果が符号化対象のフレームのオーディオ信号をTCX符号化部18a2により符号化することを示していない場合には、続くステップS18−12において、ACELP符号化部18a1により当該フレームのオーディオ信号(低周波帯域のオーディオ信号)が符号化される。なお、ステップS18−10〜ステップS18−12までの処理は、スーパーフレーム内の各フレームに対して行われる。
次いで、ステップS18−13において、出力部18dが、ステップS18−11又はステップS18−12において生成された符号系列にMode bits[k]を付加する。そして、処理は、ステップS18−6に進む。
以上説明したオーディオ符号化装置18及びオーディオ符号化方法においても、「1」に設定したGEM_IDをヘッダに含めることにより、複数のフレームのオーディオ信号をACELP符号化部のみで符号化したことを復号側に通知することができる。したがって、よりサイズの小さいストリームが生成される。
以下、コンピュータをオーディオ符号化装置18としで動作させるオーディオ符号化プログラムについて説明する。図22は、更に別の一実施形態に係るオーディオ符号化プログラムを示す図である。
図22に示すオーディオ符号化プログラムP18は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ符号化プログラムP18は、オーディオ符号化プログラムP10と同様に提供され得る。
オーディオ符号化プログラムP18は、ACELP符号化モジュールM18a1、TCX符号化モジュールM18a2、選択モジュールM18b、生成モジュールM18c、出力モジュールM18d、ヘッダ生成モジュールM18e、符号化処理判定モジュールM18f、Mode bits生成モジュールM18g、分析モジュールM18m、ダウンミックスモジュールM18n、高周波帯域符号化モジュールM18p、及び、ステレオ符号化モジュールM18qを備えている。
ACELP符号化モジュールM18a1、TCX符号化モジュールM18a2、選択モジュールM18b、生成モジュールM18c、出力モジュールM18d、ヘッダ生成モジュールM18e、符号化処理判定モジュールM18f、Mode bits生成モジュールM18g、分析モジュールM18m、ダウンミックスモジュールM18n、高周波帯域符号化モジュールM18p、及び、ステレオ符号化モジュールM18qは、ACELP符号化部18a1、TCX符号化部18a2、選択部18b、生成部18c、出力部18d、ヘッダ生成部18e、符号化処理判定部18f、Mode bits生成部18g、分析部18m、ダウンミックス部18n、高周波帯域符号化部18p、ステレオ符号化部18qとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、オーディオ符号化装置18によって生成されたストリームを復号し得るオーディオ復号装置について説明する。図23は、更に別の一実施形態に係るオーディオ復号装置を示す図である。図23に示すオーディオ復号装置20は、ACELP復号部20a1、及び、TCX復号部20a2を備えている。ACELP復号部20a1は、ACELP復号処理によりフレーム内の符号系列を復号して、オーディオ信号(低周波帯域のオーディオ信号)を生成する。TCX復号部20a2は、TCX復号処理によりフレーム内の符号系列を復号して、オーディオ信号(低周波帯域のオーディオ信号)を生成する。オーディオ復号装置20は、更に、抽出部20b、選択部20c、ヘッダ解析部20d、Mode bits抽出部20e、復号処理選択部20f、高周波帯域復号部20p、ステレオ復号部20q、及び、合成部20mを備えている。
ヘッダ解析部20dは、図20に示すストリームを受け、当該ストリームからヘッダを分離する。ヘッダ解析部20dは、分離したヘッダを抽出部20bに提供する。また、ヘッダ解析部20dは、ヘッダを分離したストリームにおける各フレームをスイッチSW1、高周波帯域復号部20p、及び、ステレオ復号部20qへ出力する。
抽出部20bは、ヘッダからGEM_IDを抽出する。選択部20cは、抽出されたGEM_IDの値が「1」の場合に、スイッチSW1を制御して、複数のフレームをACELP復号部20a1に結合する。これにより、GEM_IDの値が「1」である場合には、全てのフレームの符号系列がACELP復号部20a1によって復号される。
一方、GEM_IDの値が「0」である場合には、選択部20cは、スイッチSW1を制御して、各フレームをMode bits抽出部20eに結合する。Mode bits抽出部20eは、入力された各フレーム、即ちスーパーフレームにおける各フレーム用のMode bits[k]を抽出して、復号処理選択部20fに提供する。
復号処理選択部20fは、Mode bits[k]の値に応じてスイッチSW2を制御する。具体的に、復号処理選択部20fは、Mode bits[k]の値からACELP復号処理を選択すべきと判断する場合には、スイッチSW2を制御して、復号対象のフレームをACELP復号部20a1に結合する。一方、復号処理選択部20fは、Mode bits[k]の値からTCX復号処理を選択すべきと判断する場合には、スイッチSW2を制御して、復号対象のフレームをTCX復号部20a2に結合する。
高周波数帯域復号部20pは、復号対象のフレームに含まれる符号化データを復号し、上述したパラメータを復元する。高周波数帯域復号部20pは、復元したパラメータ、並びに、ACELP復号部20a1及び/又はTCX復号部20a2で復号された低周波数帯域のオーディオ信号を用いて、高周波数帯域のオーディオ信号を生成し、当該高周波帯域のオーディオ信号を合成部20mに出力する。
ステレオ復号部20qは、復号対象のフレームに含まれる符号化データを復号して、上述したパラメータ、バランスファクタ、及びサイド信号の波形を復元する。ステレオ復号部20qは、復元したパラメータ、バランスファクタ、及びサイド信号の波形、並びに、ACELP復号部20a1及び/又はTCX復号部20a2で復号された低周波数帯域のモノラルのオーディオ信号を用いて、ステレオ信号を生成する。
合成部20mは、ACELP復号部20a1及び/又はTCX復号部20a2で復元された低周波数帯域のオーディオ信号と、高周波数帯域復号部20pで生成された高周波数帯域のオーディオ信号を合成して、復号オーディオ信号を生成する。また、ステレオ信号を処理の対象としている場合には、合成部20mは、ステレオ復号部20qからの入力信号(ステレオ信号)も用いて、ステレオオーディオ信号を生成する。
以下、オーディオ復号装置20の動作と、一実施形態に係るオーディオ復号方法について説明する。図24は、更に別の一実施形態に係るオーディオ復号方法のフローチャートである。
図24に示すように、一実施形態においては、まず、ステップS20−1において、ヘッダ解析部20dが、ストリームからヘッダを分離する。
次いで、ステップS20−2において、抽出部20bが、ヘッダからGEM_IDを抽出する。続くステップS20−3においては、選択部20cが、GEM_IDの値に応じてスイッチSW1を制御する。
具体的に、GEM_IDの値が「1」である場合には、選択部20cは、スイッチSW1を制御して、ストリームにおける複数のフレームの符号系列を復号する復号部として、ACELP復号部20a1を選択する。この場合には、続くステップS20−4において、ACELP復号部20a1が、復号対象のフレームの符号系列を復号する。これにより、低周波帯域のオーディオ信号が復元される。
次いで、ステップS20−pにおいて、高周波帯域復号部20pが復号対象のフレームに含まれる符号化データからパラメータを復元する。また、ステップS20−pにおいては、高周波帯域復号部20pが、復元したパラメータ、及び、ACELP復号部20a1で復元された低周波数帯域のオーディオ信号を用いて、高周波数帯域のオーディオ信号を生成し、当該高周波帯域のオーディオ信号を合成部20mに出力する。
次いで、ステップS20−rにおける判定によりステレオ信号を処理の対象としていると判断される場合には、続くステップS20−qにおいて、ステレオ復号部20qが、復号対象のフレームに含まれる符号化データを復号して、上述したパラメータ、バランスファクタ、及びサイド信号の波形を復元する。また、ステップS20−qにおいては、ステレオ復号部20qが、復元したパラメータ、バランスファクタ、及びサイド信号の波形、並びに、ACELP復号部20a1で復元された低周波数帯域のモノラルのオーディオ信号を用いて、ステレオ信号を復元する。
次いで、ステップS20−mにおいて、合成部20mが、ACELP復号部20a1で復元された低周波数帯域のオーディオ信号と、高周波数帯域復号部20pで生成された高周波数帯域のオーディオ信号を合成して、復号オーディオ信号を生成する。また、ステレオ信号を処理の対象としている場合には、合成部20mが、ステレオ復号部20qからの入力信号(ステレオ信号)も用いて、ステレオオーディオ信号を復元する。
そして、ステップS20−5において復号していないフレームが存在しないと判定される場合には、処理は終了する。一方、復号していないフレームが存在する場合には、未処理のフレームを対象としてステップS20−4からの処理が継続される。
ステップS20−3に戻り、GEM_IDの値が「0」である場合に、選択部20cは、スイッチSW1を制御して、ストリームの各フレームをMode bits抽出部20eに結合する。この場合には、続くステップS20−6において、Mode bits抽出部20eが、復号対象のスーパーフレームからMode bits[k]を抽出する。なお、Mode bits[k]は、スーパーフレームから1度に抽出されてもよく、スーパーフレーム内の各フレームの復号時に順に抽出されてもよい。
次いで、ステップS20−7において、復号処理選択部20fが、kの値を「0」に設定する。続くステップS20−8において、復号処理選択部20fが、Mode bits[k]の値が0より大きいか否かを判定する。Mode bits[k]の値が0以下である場合には、続くステップS20−9において、スーパーフレーム内の復号対象フレームの符号系列がACELP復号部20a1によって復号される。一方、Mode bits[k]の値が0より大きい場合いは、スーパーフレーム内の復号対象フレームの符号系列がTCX復号部20a2によって復号される。
次いで、ステップS20−11において、復号処理選択部20fが、kの値がk+a(Mode bits[k])により更新される。ここで、Mode bits[k]の値とa(Mode bits[k])との関係は、図17に示したmod[k]とa(mod[k])と同様の関係を有し得る。
次いで、ステップS20−12において、復号処理選択部20fは、kの値が4より小さいか否かの判定を行う。kの値が4より小さい場合には、スーパーフレーム内の後続のフレームを対象に、ステップS20−8からの処理が継続される。一方、kの値が4以上である場合には、ステップS20−pにおいて、高周波帯域復号部20pが復号対象のフレームに含まれる符号化データからパラメータを復元する。また、ステップS20−pにおいては、高周波帯域復号部20pが、当該パラメータ、及び、復号部20a1又は復号部20a2で復元された低周波数帯域のオーディオ信号から高周波数帯域のオーディオ信号を生成し、当該高周波帯域のオーディオ信号を合成部20mに出力する。
次いで、ステップS20−rにおける判定によりステレオ信号を処理の対象としていると判断される場合には、続くステップS20−qにおいて、ステレオ復号部20qが、復号対象のフレームに含まれる符号化データを復号して、上述したパラメータ、バランスファクタ、及びサイド信号の波形を復元する。また、ステップS20−qにおいては、ステレオ復号部20qが、復元したパラメータ、バランスファクタ、及びサイド信号の波形、並びに、復号部20a1又は復号部20a2で復元された低周波数帯域のモノラルのオーディオ信号を用いて、ステレオ信号を復元する。
次いで、ステップS20−mにおいて、合成部20mが、復号部20a1又は復号部20a2で復元された低周波数帯域のオーディオ信号と、高周波数帯域復号部20pで生成された高周波数帯域のオーディオ信号を合成して、復号オーディオ信号を生成する。また、ステレオ信号を処理の対象としている場合には、合成部20mが、ステレオ復号部20qからの入力信号(ステレオ信号)も用いて、ステレオオーディオ信号を復元する。そして、処理は、ステップS20−13に進む。
ステップS20−13においては、復号していないフレームがあるか否かの判定がなされる。復号していないフレームが存在しない場合には、処理は終了する。一方、復号していないフレームが存在する場合には、当該フレーム(スーパーフレーム)を対象として、ステップS20−6からの処理が継続される。
以下、コンピュータをオーディオ復号装置20として動作させ得るオーディオ復号プログラムについて、説明する。図25は、更に別の一実施形態に係るオーディオ復号プログラムを示す図である。
図25に示すオーディオ復号プログラムP20は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ復号プログラムP20は、オーディオ符号化プログラムP10と同様に提供され得る。
オーディオ復号プログラムP20は、ACELP復号モジュールM20a1、TCX復号モジュールM20a2、抽出モジュールM20b、選択モジュールM20c、ヘッダ解析モジュールM20d、Mode bits抽出モジュールM20e、復号処理選択モジュールM20f、高周波帯域復号モジュールM20p、ステレオ復号モジュールM20q、及び、合成モジュールM20mを備えている。
ACELP復号モジュールM20a1、TCX復号モジュールM20a2、抽出モジュールM20b、選択モジュールM20c、ヘッダ解析モジュールM20d、Mode bits抽出モジュールM20e、復号処理選択モジュールM20f、高周波帯域復号モジュールM20p、ステレオ復号モジュールM20q、合成モジュールM20mは、ACELP復号部20a1、TCX復号部20a2、抽出部20b、選択部20c、ヘッダ解析部20d、Mode bits抽出部20e、復号処理選択部20f、高周波帯域復号部20p、ステレオ復号部20q、合成部20mとそれぞれ同様の機能をコンピュータに実行させる。
以下、更に別の実施形態のオーディオ符号化装置について説明する。図26は、更に別の一実施形態に係るオーディオ符号化装置を示す図である。図26に示すオーディオ符号化装置22は、第1の複数のフレームのオーディオ信号の符号化に使用するオーディオ符号化処理と、後続の第2の複数のフレームのオーディオ信号の符号化に使用するオーディオ符号化処理とを切り替えることが可能である。
オーディオ符号化装置22は、オーディオ符号化装置10と同様に、符号化部10a1〜10anを備えている。オーディオ符号化装置22は、更に、生成部22c、選択部22b、出力部22d、及び、検査部22eを備えている。
検査部22eは、入力端子In2への入力を監視し、入力端子In2に入力される入力情報を受ける。入力情報は、複数のフレームの符号化に共通に使用するオーディオ符号化処理を特定する情報である。
選択部22bは、入力情報に応じた符号化部を選択する。具体的に、選択部22bは、スイッチSWを制御して、入力情報によって特定されるオーディオ符号化処理を実行する符号化部に入力端子In1に入力されるオーディオ信号を結合する。選択部22bは、次に検査部22eに入力情報が入力されるまでの間、単一の符号化部の選択を継続する。
生成部22cは、検査部22eによって入力情報が受信される度に、当該入力情報基づいて複数のフレームに共通の符号化処理が使用されたことを示す長期符号化処理情報を生成する。
出力部22dは、生成部22cによって長期符号化処理情報が生成されると、当該長期符号化処理情報を複数のフレームに対して付加する。図27は、図26に示すオーディオ符号化装置によって生成されるストリームを示す図である。図27に示すように、長期符号化処理情報は、複数のフレームのうち先頭のフレームに付加される。図27に示す例では、第1フレームから第l−1フレームまでの複数のフレームが、共通の符号化処理によって符号化されており、第lフレームにおいて符号化処理が切り替わり、第lフレームから第mフレームまでの複数のフレームが、共通の符号化処理によって符号化されていることを示している。
以下、オーディオ符号化装置22の動作と、一実施形態に係るオーディオ符号化方法について説明する。図28は、更に別の一実施形態に係るオーディオ符号化方法のフローチャートである。
図28に示すように、一実施形態においては、ステップS22−1において、検査部22eが、入力情報の入力を監視する。入力情報が入力されると、ステップS22−2において、選択部22bが、入力情報に応じた符号化部を選択する。
次いで、ステップS22−3において、選択部22bが、入力情報に基づいて長期符号化処理情報を生成する。長期符号化処理情報は、ステップS22−4において、出力部22dにより、複数のフレームのうち先頭のフレームに付加され得る。
そして、ステップS22−5において、符号化対象のフレームのオーディオ信号が、選択された符号化部によって符号化される。なお、次に入力情報が入力されるまでの間は、ステップS22−2〜S22−4の処理を経ずに、符号化対象のフレームのオーディオ信号が符号化される。
次いで、ステップS22−6において、符号化された符号系列が、符号化対象のフレームに対応するビットストリーム内のフレームに含められて出力部22dから出力される。
次いで、ステップS22−7において、符号化していないフレームが存在するか否かが判定される。符号化していないフレームが存在しない場合には、処理が終了する。一方、符号化していないフレームが存在する場合には、ステップS22−1からの処理が継続される。
以下、コンピュータをオーディオ符号化装置22として動作させ得るオーディオ符号化プログラムについて説明する。図29は、更に別の一実施形態に係るオーディオ符号化プログラムを示す図である。
図29に示すオーディオ符号化プログラムP22は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ符号化プログラムP22は、オーディオ符号化プログラムP10と同様に提供され得る。
図29に示すように、オーディオ符号化プログラムP22は、符号化モジュールM10a1〜10an、生成モジュールM22c、選択モジュールM22b、出力モジュールM22d、及び、検査モジュールM22eを備えている。
符号化モジュールM10a1〜10an、生成モジュールM22c、選択モジュールM22b、出力モジュールM22d、検査モジュールM22eは、符号化部10a1〜10an、生成部22c、選択部22b、出力部22d、検査部22eとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、オーディオ符号化装置22によって生成されたストリームを復号し得るオーディオ復号装置について説明する。図30は、更に別の一実施形態に係るオーディオ復号装置を示す図である。
図30に示すオーディオ復号装置24は、オーディオ復号装置12と同様に、復号部12a1〜12anを備えている。オーディオ復号装置24は、更に、抽出部24b、選択部24c、検査部24dを備えている。
検査部24dは、入力端子Inに入力されるストリーム内の各フレームに長期符号化処理情報が含まれているか否かを検査する。抽出部24bは、検査部24dによってフレームに長期符号化処理情報が含まれていると判断されると、当該フレームから長期符号化処理情報を抽出する。また、抽出部24bは、長期符号化処理情報を取り除いた上で、フレームをスイッチSWに送出する。
選択部24cは、抽出部24bによって長期符号化処理情報が抽出されると、スイッチSWを制御して、当該長期符号化処理情報に基づいて特定される符号化処理に対応するオーディオ復号処理を実行する復号部を選択する。選択部24cは、検査部24dによって次に長期符号化処理情報が抽出されるまでの間、単一の復号部を継続して選択し、複数のフレームの符号系列を共通のオーディオ復号処理によって復号することを継続する。
以下、オーディオ復号装置24の動作と、一実施形態にかかるオーディオ復号方法について説明する。図31は、更に別の一実施形態に係るオーディオ復号方法のフローチャートである。
図31に示すように、一実施形態においては、ステップS24−1において、検査部24dが、入力されるフレームに長期符号化処理情報が含まれているか否かを監視する。検査部24dによって長期符号化処理情報が検出されると、続くステップS24−2において、抽出部24bが、フレームから長期符号化処理情報を抽出する。
次いで、ステップS24−3において、選択部24cが、抽出された長期符号化処理情報に基づいて適切な復号部を選択する。続くステップS24−4において、選択された復号部が、復号対象のフレームの符号系列を復号する。
そして、ステップS24−5において、復号していないフレームが存在するか否かの判定がなされる。復号していないフレームが存在しない場合には、処理が終了する。一方、復号していないフレームが存在する場合には、ステップS24−1からの処理が継続される。
本実施形態では、ステップS24−1においてフレームに長期符号化処理情報が付加されていないと判断されると、ステップS24−2〜ステップS24−3からの処理を経ずに、ステップS24−4の処理が実行される。
以下、コンピュータをオーディオ復号装置24として動作させ得るオーディオ復号プログラムについて説明する。図32は、更に別の一実施形態に係るオーディオ復号プログラムを示す図である。
図32に示すオーディオ復号プログラムP24は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ復号プログラムP24は、オーディオ符号化プログラムP10と同様に提供され得る。
図32に示すように、オーディオ復号プログラムP24は、復号モジュールM12a1〜12an、抽出モジュールM24b、選択モジュールM24c、及び、検査モジュールM24dを備えている。
復号モジュールM12a1〜12an、抽出モジュールM24b、選択モジュールM24c、検査モジュールM24dは、復号部12a1〜12an抽出部24b、選択部24c、検査部24dとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、更に別の一実施形態に係るオーディオ符号化装置について説明する。図33は、更に別の一実施形態に係るオーディオ符号化装置を示す図である。また、図34は、従来のMPEG USACに従って生成されるストリームと図33に示すオーディオ符号化装置によって生成されるストリームとを示す図である。
上述したオーディオ符号化装置14では、全フレームのオーディオ信号を単一の共通のオーディオ符号化処理によって符号化するか、各フレームのオーディオ信号を個別のオーディオ符号化処理によって符号化することができるものであった。
一方、図33に示すオーディオ符号化装置26は、複数のフレームのうち一部の複数のフレームに対して共通のオーディオ符号化処理を使用することができる。また、オーディオ符号化装置26は、全フレームのうちの一部のフレームに対して個別のオーディオ符号化処理を使用することも可能である。さらに、オーディオ符号化装置26は、全フレームのうち中間のフレームからの複数のフレームに対して共通のオーディオ符号化処理を使用することができる。
図33に示すように、オーディオ符号化装置26は、オーディオ符号化装置14と同様に、ACELP符号化部14a1、TCX符号化部14a2、Modified AAC符号化部14a3、第1判定部14f、core_mode生成部14g、第2判定部14h、lpd_mode生成部14i、MPS符号化部14m、及び、SBR符号化部14nを備えている。オーディオ符号化装置26は、更に、検査部26j、選択部26b、生成部26c、出力部26d、及び、ヘッダ生成部26eを備えている。以下、オーディオ符号化装置26の要素のうち、オーディオ符号化装置14と異なる要素について、説明する。
検査部26jは、入力端子In2に入力情報が入力されているか否かを検査する。入力情報は、複数のフレームのオーディオ信号を共通のオーディオ符号化処理により符号化するか否かを示す情報である。
選択部26bは、検査部26jによって入力情報が検出されると、スイッチSW1を制御する。具板的に、選択部26bは、検出された入力情報が複数のフレームのオーディオ信号を共通のオーディオ符号化処理により符号化することを示している場合に、スイッチSW1を制御して、スイッチSW1とACELP符号化部14a1を結合する。一方、検出された入力情報が複数のフレームのオーディオ信号を共通のオーディオ符号化処理により符号化しないことを示している場合に、選択部26bは、スイッチSW1を制御して、スイッチSW1を、第1判定部14f等を含むパスに結合する。
生成部26cは、検査部26jによって入力情報が検出されると、その時点の符号化対象フレームに対応する出力フレーム用のGEM_IDを生成する。具体的に、生成部26cは、検出された入力情報が複数のフレームのオーディオ信号を共通のオーディオ符号化処理により符号化することを示している場合に、GEM_IDの値を「1」に設定する。一方、検出された入力情報が複数のフレームのオーディオ信号を共通のオーディオ符号化処理により符号化しないことを示している場合に、生成部26cは、GEM_IDの値を「0」に設定する。
ヘッダ生成部26eは、検査部26jによって入力情報が検出されると、その時点の符号化対象フレームに対応する出力フレームのヘッダを生成して、当該ヘッダ内に生成部26cによって生成されたGEM_IDを含める。
出力部26dは、生成された符号系列を含む出力フレームを出力する。また、出力部26dは、各出力フレームに、MPS符号化部14mによって生成されたパラメータの符号化データ及びSBR符号化部14nによって生成されたパラメータの符号化データを含める。なお、出力フレームは、検査部26jによって入力情報が検出されている場合には、ヘッダ生成部26eによって生成されたヘッダを含むものである。
以下、オーディオ符号化装置26の動作と、更に別の一実施形態に係るオーディオ符号化方法について説明する。図35は、更に別の一実施形態に係るオーディオ符号化方法のフローチャートである。
図35に示すフローにおいては、ステップS14−3〜4、ステップS14−9〜19、ステップS14−m〜ステップS14−nの処理は、図13に示したものと同様である。以下、図13に示したフロート異なる処理について説明する。
図35に示すように、一実施形態においては、ステップS26−aにおいて、GEM_IDの値が初期化される。GEM_IDの値は例えば「0」に初期化され得る。ステップS26−1において、検査部26jが上述したように入力情報を監視する。入力情報が入力されたことが検出されると、続くステップS26−2において、生成部26cが当該入力情報に応じたGEM_IDを生成し、続くステップS26−3において、ヘッダ生成部26eが、生成されたGEM_IDを含むヘッダを生成する。一方、入力情報がない場合には、ステップS26−2及びS26−3の処理を経ずに、処理はステップS14−mに進む。
ステップS26−4においては、ヘッダを付加するか否かの判断がなされる。検査部26jによって入力情報が検出されると、その時点の符号化対象フレームに対応する出力フレームには、ステップS26−5において、GEM_IDを含むヘッダが付加されて、当該ヘッダを含むフレームが出力される。一方、入力情報が検出されていないときには、その時点での符号化対象フレームに対応する出力フレームは、ステップS26−6において、そのまま出力される。
次いで、ステップS26−7においては、符号化していないフレームが存在するか否かの判定がなされる。符号化していないフレームが存在しない場合には、処理が終了する。一方、符号化していないフレームが存在する場合には、符号化していないフレームを対象にステップS26−1からの処理が継続される。
以上説明したオーディオ符号化装置26及び一実施形態に係るオーディオ符号化方法によれば、複数のフレームを共通のオーディオ符号化処理により符号化し、その後、幾つかのフレームを個別のオーディオ符号化処理により符号化し、更に後続の複数のフレームを共通のオーディオ符号化処理により符号化することができる。
なお、オーディオ符号化装置26では、入力情報に基づいて複数のフレームのオーディオ信号の符号化に使用するオーディオ符号化処理を決定しているが、本発明は、各フレームのオーディオ信号の解析結果に基づいて、複数のフレームに共通に使用するオーディオ符号化処理を決定してもよい。例えば、入力端子In1とスイッチSW1との間に、各フレームのオーディオ信号を解析する解析部を含めて、この解析結果に基づいて、選択部26b及び生成部26c等を動作させてもよい。また、この解析には、上述した解析手法を使用し得る。
また、全フレームのオーディオ信号を、一旦、第1判定部14fを含むパスへと結合し、符号系列を含む出力フレームを出力部26dにおいて蓄積してもよい。この場合には、第1判定部14f及び第2判定部14hの判定結果を用いて、lpd_mode、core_mode等の設定、ヘッダの生成、付加等を各フレームに対して事後的に調整することができる。
なお、所定数のフレームの解析、又は、所定数のフレームに対する第1判定部14f及び第2判定部による判定を行って、当該所定数のフレームの解析結果又は判定結果を用いて、当該所定数のフレームを含む複数のフレームに共通に利用する符号化処理を予測してもよい。
また、複数のフレームに共通の符号化処理を用いるか、又は、個別の符号化処理を用いるかは、core_mode、lpd_mode、及びヘッダ等を含む付加情報の量が少なくなるように、決定することができる。
以下、コンピュータをオーディオ符号化装置26として動作させ得るオーディオ符号化プログラムについて説明する。図36は、更に別の一実施形態に係るオーディオ符号化プログラムを示す図である。
図36に示すオーディオ符号化プログラムP26は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ符号化プログラムP26は、オーディオ符号化プログラムP10と同様に提供され得る。
図36に示すように、オーディオ符号化プログラムP26は、ACELP符号化モジュールM14a1、TCX符号化モジュールM14a2、Modified AAC符号化モジュールM14a3、第1判定モジュールM14f、core_mode生成モジュールM14g、第2判定モジュールM14h、lpd_mode生成モジュールM14i、MPS符号化モジュールM14m、SBR符号化モジュールM14n、検査モジュールM26j、選択モジュールM26b、生成モジュールM26c、出力モジュールM26d、及び、ヘッダ生成モジュールM26eを備えている。
ACELP符号化モジュールM14a1、TCX符号化モジュールM14a2、Modified AAC符号化モジュールM14a3、第1判定モジュールM14f、core_mode生成モジュールM14g、第2判定モジュールM14h、lpd_mode生成モジュールM14i、MPS符号化モジュールM14m、SBR符号化モジュールM14n、検査モジュールM26j、選択モジュールM26b、生成モジュールM26c、出力モジュールM26d、ヘッダ生成モジュールM26eは、ACELP符号化部14a1、TCX符号化部14a2、Modified AAC符号化部14a3、第1判定部14f、core_mode生成部14g、第2判定部14h、lpd_mode生成部14i、MPS符号化部14m、SBR符号化部14n、検査部26j、選択部26b、生成部26c、出力部26d、ヘッダ生成部26eとそれぞれ同様の機能を、コンピュータC10に実行させる。
以下、オーディオ符号化装置26によって生成されたストリームを復号し得るオーディオ復号装置について説明する。図37は、更に別の一実施形態に係るオーディオ復号装置を示す図である。
図37に示すオーディオ復号装置28は、オーディオ復号装置16と同様に、ACELP復号部16a1、TCX復号部16a2、Modified AAC復号部16a3、core_mode抽出部16e、第1選択部16f、lpd_mode抽出部16g、第2選択部16h、MPS復号部16m、及びSBR復号部16nを備えている。オーディオ復号装置28は、更に、ヘッダ検査部28j、ヘッダ解析部28d、抽出部28b、及び、選択部28cを備えている。以下、オーディオ復号装置28の要素のうち、オーディオ復号装置16の要素と異なる要素について説明する。
ヘッダ検査部28jは、入力端子Inに入力される各フレームにヘッダが存在するか否かを監視する。ヘッダ解析部28dは、ヘッダ検査部28jによってフレームにヘッダが存在することが検出されると、当該ヘッダを分離する。抽出部28bは、抽出されたヘッダからGEM_IDを抽出する。
選択部28cは、抽出されたGEM_IDに応じて、スイッチSW1を制御する。具体的に、GEM_IDの値が「1」である場合に、選択部28cは、スイッチSW1を制御して、次にGEM_IDが抽出されるまでの間、ヘッダ解析部28dから送出されるフレームをACELP復号部16a1に結合させる。
一方、GEM_IDの値が「0」である場合に、選択部28cは、ヘッダ解析部28dから送出されるフレームを、core_mode抽出部16eに結合する。
以下、オーディオ復号装置28の動作と更に別の一実施形態に係るオーディオ復号方法について説明する。図38は、更に別の一実施形態に係るオーディオ復号方法のフローチャートである。
図38における「S16」を含む参照符号によって特定される処理は、図16における対応の処理と同様の処理である。以下、図38における処理のうち、図16に示す処理と異なる処理について、説明する。
図38に示すように、一実施形態においては、ステップS28−1において、ヘッダ検査部28jが入力されるフレームにヘッダが含まれるか否かを監視する。フレームにヘッダが含まれている場合には、続くステップS28−2において、ヘッダ解析部28dが当該フレームからヘッダを分離する。そして、ステップS28−3において、抽出部28bがヘッダからGEM_IDを抽出する。一方、フレームにヘッダが含まれていない場合には、ステップS28−4において、直前に抽出されたGEM_IDがコピーされて、以降、コピーされたGEM_IDが利用される。
ステップS28−5においては、復号していないフレームが存在するか否かの判定がなされる。復号していないフレームが存在しない場合には、処理が終了する。一方、復号していないフレームが存在する場合には、復号していないフレームを対象にして、ステップS26−1からの処理が継続される。
また、ステップS28−6においては、復号していないフレームが存在するか否かの判定がなされる。復号していないフレームが存在しない場合には、処理が終了する。一方、復号していないフレームが存在する場合には、復号していないフレームを対象にして、ステップS26−1からの処理が継続される。
以下、コンピュータをオーディオ復号装置28として動作させ得るオーディオ復号プログラムについて説明する。図39は、更に別の一実施形態に係るオーディオ復号プログラムを示す図である。
図39に示すオーディオ復号プログラムP28は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ復号プログラムP28は、オーディオ符号化プログラムP10と同様に提供され得る。
図39に示すように、オーディオ復号プログラムP28は、ACELP復号モジュールM16a1、TCX復号モジュールM16a2、Modified AAC復号モジュールM16a3、core_mode抽出モジュールM16e、第1選択モジュールM16f、lpd_mode抽出モジュールM16g、第2選択モジュールM16h、MPS復号モジュールM16m、SBR復号モジュールM16n、ヘッダ検査モジュールM28j、ヘッダ解析モジュールM28d、抽出モジュールM28b、及び、選択モジュールM28cを備えている。
ACELP復号モジュールM16a1、TCX復号モジュールM16a2、Modified AAC復号モジュールM16a3、core_mode抽出モジュールM16e、第1選択モジュールM16f、lpd_mode抽出モジュールM16g、第2選択モジュールM16h、MPS復号モジュールM16m、SBR復号モジュールM16n、ヘッダ検査モジュールM28j、ヘッダ解析モジュールM28d、抽出モジュールM28b、選択モジュールM28cは、ACELP復号部16a1、TCX復号部16a2、Modified AAC復号部16a3、core_mode抽出部16e、第1選択部16f、lpd_mode抽出部16g、第2選択部16h、MPS復号部16m、SBR復号部16n、ヘッダ検査部28j、ヘッダ解析部28d、抽出部28b、選択部28cとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、更に別の一実施形態に係るオーディオ符号化装置について説明する。図40は、更に別の一実施形態に係るオーディオ符号化装置を示す図である。図41は、図40に示すオーディオ符号化装置によって生成されるストリームを示す図である。
図40に示すオーディオ符号化装置30は、出力部30dを除いて、オーディオ符号化装置22の対応の要素と同様の要素を有している。即ち、オーディオ符号化装置30では、GEM_IDが生成された場合に、出力フレームは長期符号化処理情報を含む第1フレームタイプの出力フレームとして出力部30dから出力される。一方、長期符号化処理情報が生成されていない場合には、出力フレームは長期符号化処理情報を含まない第2フレームタイプの出力フレームとして出力部30dから出力される。
図42は、更に別の一実施形態に係るオーディオ符号化方法のフローチャートである。以下、図42を参照して、オーディオ符号化装置30の動作と、更に別の一実施形態に係るオーディオ符号化方法について説明する。なお、図42に示すフローは、ステップS30−1及びステップS30−2の処理以外は、図28に示したフロート同様である。したがって、以下では、ステップS30−1及びステップS30−2について説明する。
ステップS30−1では、入力情報がステップS22−1で入力されていると、出力部30dが、その時の符号化対象フレームに対応する出力フレームを、長期符号化処理情報を含み得る第1フレームタイプに設定する。一方、入力情報がステップS22−1で入力されていない場合には、ステップS30−2において、出力部30dが、その時の符号化対象フレームに対応する出力フレームを、長期符号化処理情報を含まない第2フレームタイプに設定する。なお、一実施形態においては、オーディオ信号の最初のフレームが入力される際には、入力情報が入力され、当該最初のフレームに対応する出力フレームは第1フレームタイプに設定され得る。
このように、長期符号化処理情報の有無によりフレームタイプを変更することにより、長期符号化処理情報を復号側に通知することも可能である。
以下、コンピュータをオーディオ符号化装置30として動作させ得るオーディオ符号化プログラムについて説明する。図43は、更に別の一実施形態に係るオーディオ符号化プログラムを示す図である。
図43に示すオーディオ符号化プログラムP30は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ符号化プログラムP30は、オーディオ符号化プログラムP10と同様に提供され得る。
図43に示すように、オーディオ符号化プログラムP30は、符号化モジュールM10a1〜10an、生成モジュールM22c、選択モジュールM22b、出力モジュールM30d、及び、検査モジュールM22eを備えている。
符号化モジュールM10a1〜10an、生成モジュールM22c、選択モジュールM22b、出力モジュールM30d、検査モジュールM22eは、符号化部10a1〜10an、生成部22c、選択部22b、出力部30d、検査部22eとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、オーディオ符号化装置30によって生成されたストリームを復号し得るオーディオ復号装置について説明する。図44は、更に別の一実施形態に係るオーディオ復号装置を示す図である。図44に示すオーディオ復号装置32は、抽出部32b及びフレームタイプ検査部32dを除いて、オーディオ復号装置24における対応の要素と同様の要素を有している。以下、抽出部32b及びフレームタイプ検査部32dについて説明する。
フレームタイプ検査部32dは、入力端子Inに入力されるストリームにおける各フレームのフレームタイプを検査する。具体的に、フレームタイプ検査部32dは、復号対象のフレームが第1フレームタイプのフレームである場合には、当該フレームを抽出部30b及びスイッチSW1に提供する。一方、フレームタイプ検査部32dは、復号対象のフレームが第2フレームタイプのフレームである場合には、当該フレームをスイッチSW1にのみ送出する。抽出部32bは、フレームタイプ検査部32dから受けたフレーム内から長期符号化処理情報を抽出して、当該長期符号化処理情報を選択部24cに提供する。
図45は、更に別の一実施形態に係るオーディオ復号方法のフローチャートである。以下、図45を参照して、オーディオ復号装置32の動作、及び、更に別の一実施形態に係るオーディオ復号方法について説明する。なお、図45に示すフローにおいては、「S24」を含む参照符号によって示される処理は、図31に示した対応の処理と同様の処理である。以下、図31に示した処理とは異なるステップS30−1及びステップS30−2について説明する。
ステップS32−1では、フレームタイプ検査部32dが、復号対象のフレームが第1のフレームタイプのフレームであるか否かを解析する。続くステップS30−2において、復号対象のフレームが第1フレームタイプのフレームであると判定されると、ステップS24−2において、抽出部32bによって当該フレームから長期符号化処理情報が選択される。一方、ステップS32−2の判定において、復号対象のフレームが第1フレームタイプのフレームでないと判定されると、処理はステップS24−4に進む。即ち、一旦、ステップS24−3において復号部が選択されると、次に第1フレームタイプのフレームが入力されるまでの間、共通の復号部が継続して使用される。
以下、コンピュータをオーディオ復号装置32として動作させ得るオーディオ復号プログラムについて説明する。図46は、更に別の一実施形態に係るオーディオ復号プログラムを示す図である。
図46に示すオーディオ復号プログラムP32は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ復号プログラムP32は、オーディオ符号化プログラムP10と同様に提供され得る。
図46に示すように、オーディオ復号プログラムP24は、復号モジュールM12a1〜12an、抽出モジュールM32b、選択モジュールM24c、及び、フレームタイプ検査モジュールM32dを備えている。
復号モジュールM12a1〜12an、抽出モジュールM32b、選択モジュールM24c、フレームタイプ検査モジュールM32dは、復号部12a1〜12an抽出部32b、選択部24c、フレームタイプ検査部32dとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、更に別の一実施形態のオーディオ符号化装置について説明する。図47は、更に別の一実施形態に係るオーディオ符号化装置を示す図である。図47に示すオーディオ符号化装置34は、以下に説明する点において、オーディオ符号化装置18と異なっている。即ち、オーディオ符号化装置34は、入力される複数のフレームのうち、一部の連続する複数のフレームに対して共通のオーディオ符号化処理を使用し、別の一部のフレームに対して個別のオーディオ符号化処理を使用し得る。また、オーディオ符号化装置34は、第1の複数のフレームに共通のオーディオ符号化処理を使用し、後続の一部のフレームに個別のオーディオ符号化処理を使用し、更に後続の第2の複数のフレームに共通のオーディオ符号化処理を使用し得る。図48は、従来のAMR−WB+に従って生成されるストリームと図47に示すオーディオ符号化装置によって生成されるストリームとを示す図である。図48に示すように、オーディオ符号化装置34は、GEM_IDを含む第1フレームタイプのフレーム、及び、GEM_IDを含まない第2フレームタイプのフレームを出力し得る。
図47に示すように、オーディオ符号化装置34は、オーディオ符号化装置18と同様に、ACELP符号化部18a1、TCX符号化部18a2、符号化処理判定部18f、Mode bits生成部18g、分析部18m、ダウンミックス部18n、高周波帯域符号化部18p、及び、ステレオ符号化部18qを備えている。オーディオ符号化装置34は、更に、検査部34e、選択部34b、生成部34c、及び、出力部34dを備えている。以下、オーディオ符号化装置34の要素のうち、オーディオ符号化装置18の要素と異なる要素について説明する。
検査部34eは、入力端子In2への入力情報の入力を監視する。入力情報は、複数のフレームのオーディオ信号に共通の符号化処理を使用するか否かを示す情報である。選択部34bは、検査部によって入力情報の入力が検出されると、入力情報が複数のフレームのオーディオ信号に共通の符号化処理を使用することを示しているか否かを判定する。入力情報が複数のフレームのオーディオ信号に共通の符号化処理を使用することを示している場合には、選択部34bは、スイッチSW1を制御して、スイッチSW1をACELP符号化部18a1に結合する。この結合は、次に入力情報の入力が検出されるまで維持される。一方、入力情報が、入力情報が複数のフレームのオーディオ信号に共通の符号化処理を使用することを示していない、即ち、入力情報が符号化対象のフレームに個別の符号化処理を用いることを示している場合には、選択部34bは、スイッチSW1を、符号化処理判定部18f等を含むパスへと結合する。
生成部34cは、検査部によって入力情報の入力が検出されると、入力情報に応じた値を有するGEM_IDを生成する。具板的に、入力情報が複数のフレームのオーディオ信号に共通の符号化処理を使用することを示している場合には、生成部34cは、GEM_IDの値を「1」に設定する。一方、入力情報が複数のフレームのオーディオ信号に共通の符号化処理を使用することを示していない場合には、生成部34cは、GEM_IDの値を「0」に設定する。
出力部34dは、検査部34eによって入力情報が検出された場合には、その時点の符号化対象フレームに対応する出力フレームを第1フレームタイプの出力フレームとし、当該出力フレームに、生成部34cによって生成されたGEM_IDを含め、符号化対象フレームのオーディオ信号の符号系列を含める。出力部34dは、GEM_IDの値が0である場合には、出力フレームにMode bits[k]を含める。一方、検査部34eによって入力情報が検出されていない場合には、その時点の符号化対象フレームに対応する出力フレームを第2フレームタイプの出力フレームとし、当該出力フレームに、符号化対象フレームのオーディオ信号の符号系列を含める。出力部34dは、このように生成した出力フレームを出力する。
図49は、更に別の一実施形態に係るオーディオ符号化方法のフローチャートである。以下、図49を参照して、オーディオ符号化装置34の動作と、更に別の一実施形態に係るオーディオ符号化方法について説明する。なお、図49に示すフローにおいて、「S18」を含む参照符号によって示す処理は、図21における対応の処理と同様である。以下、図49に示すフローにおける処理のうち、図21における処理と異なる処理について、説明する。
図49に示すように、一実施形態においては、ステップS34−1において、検査部34eが、入力端子In2への入力情報の入力を監視する。入力情報の入力が検出された場合には、続くステップS34−2において、符号化対象のフレームに対応する出力フレームが第1フレームタイプの出力フレームとされる。一方、入力情報の入力が検出されていない場合には、続くステップS34−3において、符号化対象のフレームに対応する出力フレームが第2フレームタイプの出力フレームとされる。
次いで、ステップS34−4において、入力情報がフレーム毎に符号化処理を指定することを示しているか否かが判定される。即ち、入力情報が複数のフレームに共通の符号化処理を用いることを示しているか否かが判定される。入力情報が複数のフレームに共通の符号化処理を用いることを示している場合には、続くステップS34−5において、GEM_IDの値が「1」に設定される。一方、入力情報が複数のフレームに共通の符号化処理を用いることを示していない場合には、続くステップS34−6において、GEM_IDの値が「0」に設定される。
ステップS34−7においては、GEM_IDを付加するか否かが判定される。具体的に、入力情報の入力が検出された時の符号化対象フレームを処理している場合には、続くステップS34−8において、GEM_IDを付加し、符号系列を含めた第1フレームタイプの出力フレームが出力される。一方、入力情報の入力が検出されていない時の符号化対象フレームを処理している場合には、続くステップS34−9において、符号系列を含めた第2フレームタイプの出力フレームが出力される。
次いで、ステップS34−10において、符号化していないフレームが存在するか否かが判定される。符号化していないフレームが存在しない場合には、処理が終了する。一方、符号化していないフレームが存在する場合には、当該フレームを対象にステップS34−1からの処理が継続される。
以下、コンピュータをオーディオ符号化装置34として動作させ得るオーディオ符号化プログラムについて説明する。図50は、更に別の一実施形態に係るオーディオ符号化プログラムを示す図である。
図50に示すオーディオ符号化プログラムP34は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ符号化プログラムP34は、オーディオ符号化プログラムP10と同様に提供され得る。
オーディオ符号化プログラムP34は、ACELP符号化モジュールM18a1、TCX符号化モジュールM18a2、選択モジュールM34b、生成モジュールM34c、出力モジュールM34d、符号化処理判定モジュールM18f、Mode bits生成モジュールM18g、分析モジュールM18m、ダウンミックスモジュールM18n、高周波帯域符号化モジュールM18p、及び、ステレオ符号化モジュールM18qを備えている。
CELP符号化モジュールM18a1、TCX符号化モジュールM18a2、選択モジュールM34b、生成モジュールM34c、出力モジュールM34d、符号化処理判定モジュールM18f、Mode bits生成モジュールM18g、分析モジュールM18m、ダウンミックスモジュールM18n、高周波帯域符号化モジュールM18p、ステレオ符号化モジュールM18qは、ACELP符号化部18a1、TCX符号化部18a2、選択部34b、生成部34c、出力部34d、符号化処理判定部18f、Mode bits生成部18g、分析部18m、ダウンミックス部18n、高周波帯域符号化部18p、ステレオ符号化部18qとそれぞれ同様の機能をコンピュータC10に実行させる。
以下、オーディオ符号化装置34によって生成されたストリームを復号し得るオーディオ復号装置について説明する。図51は、更に別の一実施形態に係るオーディオ復号装置を示す図である。
図51に示すオーディオ復号装置36は、オーディオ復号装置20と同様に、ACELP復号部20a1、TCX復号部20a2、Mode bits抽出部20e、復号処理選択部20f、高周波帯域復号部20p、ステレオ復号部20q、及び、合成部20mを備えている。オーディオ復号装置36は、更に、フレームタイプ検査部36d、抽出部36b、及び、選択部36cを備えている。以下、オーディオ復号装置36の要素のうち、オーディオ復号装置20の要素と異なる要素について説明する。
フレームタイプ検査部36dは、入力端子Inに入力されるストリーム内の各フレームのフレームタイプを検査する。フレームタイプ検査部36dは、第1フレームタイプのフレームを、抽出部36b、スイッチSW1、高周波帯域復号部20p、及び、ステレオ復号部20qに送出する。一方、フレームタイプ検査部36dは、第2フレームタイプのフレームを、スイッチSW1、高周波帯域復号部20p、及び、ステレオ復号部20qのみに送出する。
抽出部36bは、フレームタイプ検査部36dから受けたフレームからGEM_IDを抽出する。選択部36cは、抽出されたGEM_IDの値に応じてスイッチSW1を制御する。具体的には、GEM_IDの値が「1」である場合には、選択部36cは、スイッチSW1を制御して、復号対象のフレームをACELP復号部20a1に結合する。GEM_IDの値が「1」である場合には、次に第1フレームタイプのフレームが入力されるまでの間、ACELP復号部20a1が継続して選択される。一方、GEM_IDの値が「0」である場合には、選択部36cは、スイッチSW1を制御して、復号対象のフレームをMode bits抽出部20eに結合する。
図52は、更に別の一実施形態に係るオーディオ復号方法のフローチャートである。以下、図52を参照して、オーディオ復号装置36の動作と、更に別の一実施形態に係るオーディオ復号方法について説明する。なお、図52に示すフローにおける処理のうち、「S20」を含む処理は、図24に示した対応の処理と同様の処理である。以下、図52に示すフローにおける処理のうち、図24に示した処理と異なる処理について説明する。
図52に示すように、一実施形態においては、ステップS36−1において、フレームタイプ検査部36dが、復号対象のフレームが第1フレームタイプのフレームか否かを判定する。復号対象のフレームが第1フレームタイプのフレームである場合には、続くステップS36−2において、抽出部36bが、GEM_IDを抽出する。一方、復号対象のフレームが第2フレームタイプのフレームである場合には、続くステップS36−3において、既存のGEM_IDがコピーされ、当該GEM_IDが以降の処理に利用される。
ステップS36−4においては、復号していないフレームが存在するか否かが判定される。復号していないフレームが存在しない場合には、処理が終了する。一方、復号していないフレームが存在する場合には、当該フレームを対象に、ステップS36−1からの処理が継続される。
以下、コンピュータをオーディオ復号装置36として動作させ得るオーディオ復号プログラムについて説明する。図53は、更に別の一実施形態に係るオーディオ復号プログラムを示す図である。
図53に示すオーディオ復号プログラムP36は、図5及び図6に示したコンピュータにおいて使用され得るものである。また、オーディオ復号プログラムP36は、オーディオ符号化プログラムP10と同様に提供され得る。
オーディオ復号プログラムP36は、ACELP復号モジュールM20a1、TCX復号モジュールM20a2、抽出モジュールM36b、選択モジュールM36c、フレームタイプ検査モジュールM36d、Mode bits抽出モジュールM20e、復号処理選択モジュールM20f、高周波帯域復号モジュールM20p、ステレオ復号モジュールM20q、及び、合成モジュールM20mを備えている。
ACELP復号モジュールM20a1、TCX復号モジュールM20a2、抽出モジュールM36b、選択モジュールM36c、フレームタイプ検査モジュールM36d、Mode bits抽出モジュールM20e、復号処理選択モジュールM20f、高周波帯域復号モジュールM20p、ステレオ復号モジュールM20q、合成モジュールM20mは、ACELP復号部20a1、TCX復号部20a2、抽出部36b、選択部36c、フレームタイプ検査部36d、Mode bits抽出部20e、復号処理選択部20f、高周波帯域復号部20p、ステレオ復号部20q、合成部20mとそれぞれ同様の機能をコンピュータに実行させる。
以上、本発明の種々の実施形態について説明した。本発明は上述した実施形態に限定されることなく種々の変形が可能である。例えば、上述した一部の実施形態では、ACELP符号化処理及びACELP復号処理が、複数のフレームに共通に使用される符号化処理及び復号処理としてそれぞれ選択されている。しかしながら、共通に使用される符号化処理及び復号処理は、ACELP符号化処理及び復号処理に限定されず、任意のオーディオ符号化処理及びオーディオ復号処理であってもよい。また、上述したGEM_IDは、任意のビットサイズ及び値に設定されるGEM_IDであってもよい。