| 【発明の名称】 |
オーディオ符号化、復号装置及びその方法並びにその制御プログラム記録媒体 |
| 【発明者】 |
【氏名】高見沢 雄一郎
|
| 【要約】 |
【課題】オーディオ符号化・復号装置において、写像変換及び逆写像変換の演算量を低減する。
【解決手段】複数チャネルの信号を複数の時間区間に渡って符号化/復号化するオーディオ符号化装置であって、1つのSIMD型変数に2つ以上のチャネルの入力信号を格納し、2つ以上のチャネルに対する写像変換をSIMD型演算器を用いて一括して行う並列写像変換部101と、写像信号圧縮部102から構成されている。並列写像変換部101には、2チャンネル(ステレオ)のオーディオ信号が入力され、この信号はSIMD型演算器とSIMD型変数を用いて並列に写像変換が施され、生成された写像信号は、写像信号圧縮部102へ出力される。 |
【特許請求の範囲】
【請求項1】 複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化装置であって、1つのSIMD(Single Instruction Stream-Multiple Data Stream)型変数に2つ以上のチャネルの入力信号を格納し、前記2つ以上のチャネルに対する写像変換をSIMD型演算器を用いて一括して行う並列写像変換部を有することを特徴とするオーディオ符号化装置。 【請求項2】 入力信号を複数の時間区間に渡って符号化するオーディオ符号化装置であって、1つのSIMD型変数に2つ以上の時間区間の入力信号を格納し、前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行う並列写像変換部を有することを特徴とするオーディオ符号化装置。 【請求項3】 複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化装置であって、1つのSIMD型変数に2つ以上のチャネルの入力信号と2つ以上の時間区間の入力信号を格納し、前記2つ以上のチャネルの入力信号と前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行う並列写像変換部を有することを特徴とするオーディオ符号化装置。 【請求項4】 複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号装置であって、1つのSIMD型変数に2つ以上のチャネルの写像信号を格納し、前記2つ以上のチャネルに対する逆写像変換をSIMD型演算器を用いて一括して行う並列逆写像変換部を有することを特徴とするオーディオ復号装置。 【請求項5】 複数の時間区間に渡って復号するオーディオ復号装置であって、1つのSIMD型変数に2つ以上の時間区間の写像信号を格納し、前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行う並列逆写像変換部を有することを特徴とするオーディオ復号装置。 【請求項6】 複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号装置であって、1つのSIMD型変数に2つ以上のチャネルの写像信号と2つ以上の時間区間の写像信号を格納し、前記2つ以上のチャネルと前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行う並列逆写像変換部を有することを特徴とするオーディオ復号装置。 【請求項7】 複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化方法であって、1つのSIMD型変数に2つ以上のチャネルの入力信号を格納するステップと、前記2つ以上のチャネルに対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とするオーディオ符号化方法。 【請求項8】 入力信号を複数の時間区間に渡って符号化するオーディオ符号化方法であって、1つのSIMD型変数に2つ以上の時間区間の入力信号を格納するステップと、前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とするオーディオ符号化方法。 【請求項9】 複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化方法であって、1つのSIMD型変数に2つ以上のチャネルの入力信号と2つ以上の時間区間の入力信号を格納ステップステップと、前記2つ以上のチャネルの入力信号と前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とするオーディオ符号化方法。 【請求項10】 複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号方法であって、1つのSIMD型変数に2つ以上のチャネルの写像信号を格納するステップと、前記2つ以上のチャネルに対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とするオーディオ復号方法。 【請求項11】 複数の時間区間に渡って復号するオーディオ復号方法であって、1つのSIMD型変数に2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とするオーディオ復号方法。 【請求項12】 複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号方法であって、1つのSIMD型変数に2つ以上のチャネルの写像信号と2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上のチャネルと前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とするオーディオ復号方法。 【請求項13】 複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの入力信号を格納するステップと、前記2つ以上のチャネルに対する写像変換をSIMD型演算器を用いて一括して行う処理をコンピュータに実行させるステップとを有することを特徴とする記録媒体。 【請求項14】 入力信号を複数の時間区間に渡って符号化するオーディオ符号化処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上の時間区間の入力信号を格納するステップと、前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする記録媒体。 【請求項15】 複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの入力信号と2つ以上の時間区間の入力信号を格納するステップと、前記2つ以上のチャネルの入力信号と前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする記録媒体。 【請求項16】 複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの写像信号を格納するステップと、前記2つ以上のチャネルに対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする記録媒体。 【請求項17】 複数の時間区間に渡って復号するオーディオ復号処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする記録媒体。 【請求項18】 複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの写像信号と2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上のチャネルと前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする記録媒体。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明はオーディオ符号化、復号装置及びその方法並びにその方法を制御する制御プログラムを記録した記録媒体に関し、特に写像変換及び逆写像変換の演算量を低減するオーディオ符号化、復号装置及びその方法並びにその方法を制御する制御プログラムを記録した記録媒体に関するものである。 【0002】 【従来の技術】オーディオ符号化では、一般に、各チャネルの時間領域の入力オーディオ信号を予め定められたフレームと呼ばれる時間区間毎に区切り、各フレーム毎に修正離散コサイン変換(MDCT:Modified Discrete Cosine Transform)や高速フーリエ変換(FFT:Fast Fourier Transform)などの写像変換を施して周波数領域の写像信号へと変換した後で、量子化やハフマン符号化などによって写像信号を圧縮するようになっている。 【0003】また、オーディオ復号装置では、一般に、符号化とは逆の手順(逆量子化やハフマン復号)によって写像信号を生成した後で、写像信号に対して逆修正離散コサイン変換(IMDCT:Inverse MDCT)や高速逆フーリエ変換(IFFT:Inverse FFT )などの逆写像変換を施して各チャネルの時間領域の復号オーディオ信号をフレーム毎に得るものである。 【0004】このようなオーディオ符号化及び復号方式の例としては、MPEG−2(Moving Picture Experts Group Phase-2)AAC(エーエーシー)方式や、Dolby(ドルビー)AC−3(エーシースリー)方式が有名であり、これらの方式では、写像変換には修正離散コサイン変換を、逆写像変換には逆修正離散コサイン変換を、それぞれ用いている。 【0005】図4に、従来のオーディオ符号化装置のブロック図を示す。このブロック図の構成は2チャネル(ステレオ)のオーディオ信号を符号化する装置であり、2つの写像変換部401a,401bと写像信号圧縮部402とから構成されている。 【0006】この従来のオーディオ符号化装置において、2チャネルのオーディオ信号のうち、片方のチャネルのオーディオ信号は写像変換部401aへ、もう一方のチャネルのオーディオ信号は写像変換部401bへ、それぞれ入力される。写像変換部401a及び401bでは、チャネル毎、フレーム毎に、入力されたオーディオ信号に写像変換を施して写像信号を得る。写像信号圧縮部402では、2チャネルの写像信号に対して、量子化やハフマン符号化などを行って圧縮し、ビットストリームを出力する。 【0007】図5に従来のオーディオ復号装置のブロック図を示す。このブロック図の構成は2チャネル(ステレオ)のオーディオ信号を復号する装置であり、写像信号伸張部501と2つの逆写像変換部502a,502bとから構成されている。 【0008】写像信号伸張部501には、ビットストリームが入力される。写像信号伸張部501では、符号化装置の写像信号符号化部(図4の402)と逆の手順により2チャネルの写像信号を生成し、片方のチャネルの写像信号を逆写像変換部502aへ、もう一方のチャネルの写像信号を逆写像変換部502bへ、それぞれ出力する。逆写像変換部502a及び502bでは、チャネル毎、フレーム毎に、入力された写像信号に逆写像変換を施して復号オーディオ信号を得る。 【0009】一般に、写像変換(図4の401a,401b)及び逆写像変換(図5の502a,502b)は、乗算や加減算を多く含むために演算量が大きく、オーディオ符号化・復号装置を低コストで実現するためには、これらの処理の低演算量化が必要となる。この低演算量化を実現するために、近年のマイクロプロセッサは複数の乗算や加減算を一度に計算できるSIMD(Single Instruction Stream-Multiple Data Stream)型変数やSIMD型命令を備えているものが多い。 【0010】SIMD型変数とは、1つの変数に複数の値を保持できる変数である。例えば、64ビットのSIMD型変数では、上位ビットから順に16ビットずつに4分割することにより、4つの16ビット値を保持することができる。また、SIMD型演算器とは、SIMD型変数同士で乗算や加減算といった演算を行う演算器である。 【0011】例えば、AというSIMD型変数にA1、A2、A3、A4という値が保持され、BというSIMD型変数にB1、B2、B3、B4という値が保持されているとする。SIMD型の加算器を用いてAとBとの加算を行うと、A1+B1,A2+B2,A3+B3,A4+B4が一命令で計算され、結果がSIMD型変数に記録される。 【0012】乗算や減算なども同様にして行われ、一命令で複数の値(ここでは4つの値)に対する演算を実行できるため、従来のように一つずつ演算を行う場合と比較して演算量を減らすことができる。 【0013】このようなSIMD型変数やSIMD型演算器を用いて写像変換の低演算量化を行った従来例が既に発表されている。Intel社は、アプリケーション・ノートAP−533、「ユージング・エムエムエックス・インストラクションズ・トゥ・インプリメント・ア・シンセシス・サブバンド・フィルター・フォー・エムペグ・オーディオ・デコーディング」(Using MMX Instructions to Implement a Synthesis Sub-Band Filter for MPEG Audio Decoding )において、SIMD型変数及びSIMD演算器を用いて、MPEG−1 Audio方式での逆写像変換処理を高速化した例を示している。 【0014】Intel社のアプリケーション・ノートに示された、SIMD型変数とSIMD型演算器の利用方法について説明する。MPEG−1 Audioでは、逆写像変換としてサブバンド合成フィルタを用いており、その処理においては、まず入力バタフライと呼ばれる以下の演算が行われる。 【0015】ee(0)=in(0)+in(31)+in(15)+in(16) ee(1)=in(1)+in(30)+in(14)+in(17) ee(2)=in(2)+in(29)+in(13)+in(18) ee(3)=in(3)+in(28)+in(12)+in(19) ここで、in(0,…,31)は演算の入力信号であり、ee(0,…,3)は演算の出力信号である。この演算は以下に示す手順により行われる。 【0016】(1)SIMD型変数R0にin(0),in(1),in(2),in(3)の4つの値を格納する; (2)SIMD型変数R1にin(31),in(30),in(29),in(28)の4つの値を格納する; (3)SIMD型変数R2にin(15),in(14),in(13),in(12)の4つの値を格納する; (4)SIMD型変数R3にin(16),in(17),in(18),in(19)の4つの値を格納する; (5)SIMD型加算器によりR0←R0+R1を計算する; (6)SIMD型加算器によりR0←R0+R2を計算する; (7)SIMD型加算器によりR0←R0+R3を計算する。 【0017】このようにして、SIMD型変数R0にee(0),ee(1),ee(2),ee(3)が格納される。以下、このように演算結果を再びSIMD型演算器に格納し、SIMD型演算器を利用することを繰り返し、サブバンド合成処理を実現している。 【0018】このように従来法では、1つのSIMD変数に格納される4つの値は、いずれも、同一チャネルかつ同一区間の信号を表している。例えば、2チャネルのオーディオ信号を2フレーム符号化する場合の手順を図6及び以下に示す。 【0019】(ステップ601):チャネル1、フレーム1の信号をSIMD型変数とSIMD型演算器を用いて写像変換; (ステップ602):チャネル2、フレーム1の信号をSIMD型変数とSIMD型演算器を用いて写像変換; (ステップ603):フレーム1のチャネル1、2の写像信号を圧縮処理; (ステップ604):フレーム1のビットストリームを出力; (ステップ605):チャネル1、フレーム2の信号をSIMD型変数とSIMD型演算器を用いて写像変換; (ステップ606):チャネル2、フレーム2の信号をSIMD型変数とSIMD型演算器を用いて写像変換; (ステップ607):フレーム2のチャネル1、2の写像信号を圧縮処理; (ステップ608):フレーム2のビットストリームを出力。 【0020】 【発明が解決しようとする課題】しかしながら、上述した従来のシステムでは、SIMD型変数への4つの値の格納に複数の命令の実行が必要な場合があり演算量が大きいという問題点がある。その理由は、一般に、SIMD型変数に4つの値を格納する場合、それらが連続したメモリアドレスに昇順に格納された値であれば1命令でSIMD型変数に格納できるが、写像変換や逆写像変換処理においては、4つの値が連続したメモリアドレスに昇順に格納されていない場合が多く、格納順序を入れ替えるための複数命令の実行を要するためである。Intel社のアプリケーション・ノートでは、この入れ替えに7命令を必要としており、演算量増加の要因となっている。 【0021】本発明の目的は、オーディオ符号化における写像変換、オーディオ復号における逆写像変換を低演算量で実現できる手法を提供することである。 【0022】 【課題を解決するための手段】本発明によるオーディオ符号化装置は、複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化装置であって、1つのSIMD(Single Instruction Stream-Multiple Data Stream)型変数に2つ以上のチャネルの入力信号を格納し、前記2つ以上のチャネルに対する写像変換をSIMD型演算器を用いて一括して行う並列写像変換部を有することを特徴とする。 【0023】また本発明によるオーディオ符号化装置は、入力信号を複数の時間区間に渡って符号化するオーディオ符号化装置であって、1つのSIMD型変数に2つ以上の時間区間の入力信号を格納し、前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行う並列写像変換部を有することを特徴とする。 【0024】更に本発明によるオーディオ符号化装置は、複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化装置であって、1つのSIMD型変数に2つ以上のチャネルの入力信号と2つ以上の時間区間の入力信号を格納し、前記2つ以上のチャネルの入力信号と前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行う並列写像変換部を有することを特徴とする。 【0025】本発明によるオーディオ復号装置は、複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号装置であって、1つのSIMD型変数に2つ以上のチャネルの写像信号を格納し、前記2つ以上のチャネルに対する逆写像変換をSIMD型演算器を用いて一括して行う並列逆写像変換部を有することを特徴とする。 【0026】また、本発明によるオーディオ復号装置は、複数の時間区間に渡って復号するオーディオ復号装置であって、1つのSIMD型変数に2つ以上の時間区間の写像信号を格納し、前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行う並列逆写像変換部を有することを特徴とする。 【0027】更に本発明によるオーディオ復号装置は、複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号装置であって、1つのSIMD型変数に2つ以上のチャネルの写像信号と2つ以上の時間区間の写像信号を格納し、前記2つ以上のチャネルと前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行う並列逆写像変換部を有することを特徴とする。 【0028】本発明によるオーディオ符号化方法は、複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化方法であって、1つのSIMD型変数に2つ以上のチャネルの入力信号を格納するステップと、前記2つ以上のチャネルに対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0029】また、本発明によるオーディオ符号化方法は、入力信号を複数の時間区間に渡って符号化するオーディオ符号化方法であって、1つのSIMD型変数に2つ以上の時間区間の入力信号を格納するステップと、前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0030】更に本発明によるオーディオ符号化方法は、複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化方法であって、1つのSIMD型変数に2つ以上のチャネルの入力信号と2つ以上の時間区間の入力信号を格納ステップステップと、前記2つ以上のチャネルの入力信号と前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0031】本発明によるオーディオ復号方法は、複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号方法であって、1つのSIMD型変数に2つ以上のチャネルの写像信号を格納するステップと、前記2つ以上のチャネルに対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0032】また、本発明によるオーディオ復号方法は、複数の時間区間に渡って復号するオーディオ復号方法であって、1つのSIMD型変数に2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0033】更に本発明によるオーディオ復号方法は、複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号方法であって、1つのSIMD型変数に2つ以上のチャネルの写像信号と2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上のチャネルと前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0034】本発明による記録媒体は、複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの入力信号を格納するステップと、前記2つ以上のチャネルに対する写像変換をSIMD型演算器を用いて一括して行う処理をコンピュータに実行させるステップとを有することを特徴とする。 【0035】また、本発明による記録媒体は、入力信号を複数の時間区間に渡って符号化するオーディオ符号化処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上の時間区間の入力信号を格納するステップと、前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0036】更に本発明による記録媒体は、複数チャネルの入力信号を複数の時間区間に渡って符号化するオーディオ符号化処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの入力信号と2つ以上の時間区間の入力信号を格納するステップと、前記2つ以上のチャネルの入力信号と前記2つ以上の時間区間に対する写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0037】更にはまた、本発明による記録媒体は、複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの写像信号を格納するステップと、前記2つ以上のチャネルに対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0038】また、本発明による記録媒体は、複数の時間区間に渡って復号するオーディオ復号処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0039】更に本発明による記録媒体は、複数チャネルの信号を複数の時間区間に渡って復号するオーディオ復号処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、前記プログラムは、1つのSIMD型変数に2つ以上のチャネルの写像信号と2つ以上の時間区間の写像信号を格納するステップと、前記2つ以上のチャネルと前記2つ以上の時間区間に対する逆写像変換をSIMD型演算器を用いて一括して行うステップとを有することを特徴とする。 【0040】 【発明の実施の形態】次に、本発明の実施の形態について図面を参照して詳細に説明する。図1を参照すると、本発明の一実施の形態としてのオーディオ符号化装置が示されている。本発明のオーディオ符号化装置は並列写像変換部101と写像信号圧縮部102から構成される。 【0041】並列写像変換部101には、2チャネル(ステレオ)のオーディオ信号が入力される。入力されたオーディオ信号はSIMD型演算器とSIMD型変数を用いて並列に写像変換が施される。生成された写像信号は写像信号圧縮部102へ出力される。 【0042】写像信号圧縮部102では、入力された写像信号を従来の写像信号圧縮部(図4の402)と同様の手法で、量子化やハフマン符号化などの手段を用いて写像信号を圧縮してビットストリームが出力される。 【0043】図2を参照すると、本発明の一実施の形態としてのオーディオ復号装置が示されている。本発明のオーディオ復号装置は写像信号伸張部201と並列逆写像変換部202から構成される。 【0044】写像信号伸張部201では、入力されたビットストリームを従来の写像信号伸張部(図5の501)と同様の手法で、逆量子化やハフマン復号などの手段を用いて写像信号が生成され、並列逆写像変換部202へ出力される。 【0045】並列逆写像変換部202はSIMD型演算器とSIMD型変数を用いて複数の写像信号に対して並列に逆写像変換を施し、生成された復号オーディオ信号を出力する。 【0046】本発明と従来の技術と比較すると、複数の写像変換部(図4の401a,401b)の代わりに並列写像変換部(図1の101)があり、複数の逆写像変換部(図5の502a,502b)の代わりに並列逆写像変換部(図2の202)がある点で異なっている。他の部分については従来の技術と同じであり本発明とは直接関係せず、また、当業者にとってよく知られているため詳細な説明は省略する。 【0047】以下では、本発明の新規点である並列写像変換部(図1の101)及び並列逆写像変換部(図2の202)の動作について詳細に説明する。従来、写像変換は、チャネル毎、フレーム毎に独立して処理が行われていた。例えば、モノラル信号であれば、フレーム毎に写像変換処理を繰り返し実行する。また、ステレオ信号であれば、モノラル信号の処理をチャネル数分繰り返し実行する。すなわち、異なるチャネル、または異なるフレームの信号に対する写像変換処理を同時に行うことはなかった。 【0048】これに対して、本発明の並列写像変換部(図1の101)は、異なるチャネル、異なるフレームのいずれか、または両方の信号に対して同時に写像変換処理を行うことで低演算量化を図る。以下では、2つの異なるチャネルの2つの異なるフレームの信号(合計4つの信号)に対して同時に入力バタフライ演算を行う手法について説明する。 【0049】従来技術の説明でも述べたとおり、入力バタフライ演算は以下の計算を行う演算である。 【0050】ee(0)=in(0)+in(31)+in(15)+in(16) ee(1)=in(1)+in(30)+in(14)+in(17) ee(2)=in(2)+in(29)+in(13)+in(18) ee(3)=in(3)+in(28)+in(12)+in(19) ここで、in(0,…,31)は演算の入力信号であり、ee(0,…,3)は演算の出力信号である。これを2つの異なるチャネル(チャネル1、チャネル2)、2つの異なるフレーム(フレーム1、フレーム2)について同時に計算する手順を以下に示す。 【0051】(1)SIMD型変数R0にチャネル1・フレーム1のin(0)、チャネル2・フレーム1のin(0)、チャネル1・フレーム2のin(0)、チャネル2・フレーム2のin(0)の4つの値を格納する; (2)SIMD型変数R1にチャネル1・フレーム1のin(31)、チャネル2・フレーム1のin(31)、チャネル1・フレーム2のin(31)、チャネル2・フレーム2のin(31)の4つの値を格納する; (3)SIMD型変数R2にチャネル1・フレーム1のin(15)、チャネル2・フレーム1のin(15)、チャネル1・フレーム2のin(15)、チャネル2・フレーム2のin(15)の4つの値を格納する; (4)SIMD型変数R3にチャネル1・フレーム1のin(16)、チャネル2・フレーム1のin(16)、チャネル1・フレーム2のin(16)、チャネル2・フレーム2のin(16)の4つの値を格納する; (5)SIMD型加算器によりR4←R0+R1を計算する; (6)SIMD型加算器によりR4←R4+R2を計算する; (7)SIMD型加算器によりR4←R4+R3を計算する。 【0052】(8)SIMD型変数R0にチャネル1・フレーム1のin(1)、チャネル2・フレーム1のin(1)、チャネル1・フレーム2のin(1)、チャネル2・フレーム2のin(1)の4つの値を格納する; (9)SIMD型変数R1にチャネル1・フレーム1のin(30)、チャネル2・フレーム1のin(30)、チャネル1・フレーム2のin(30)、チャネル2・フレーム2のin(30)の4つの値を格納する; (10)SIMD型変数R2にチャネル1・フレーム1のin(14)、チャネル2・フレーム1のin(14)、チャネル1・フレーム2のin(14)、チャネル2・フレーム2のin(14)の4つの値を格納する; (11)SIMD型変数R3にチャネル1・フレーム1のin(17)、チャネル2・フレーム1のin(17)、チャネル1・フレーム2のin(17)、チャネル2・フレーム2のin(17)の4つの値を格納する; (12)SIMD型加算器によりR5←R0+R1を計算する; (13)SIMD型加算器によりR5←R5+R2を計算する; (14)SIMD型加算器によりR5←R5+R3を計算する。 【0053】(15)SIMD型変数R0にチャネル1・フレーム1のin(2)、チャネル2・フレーム1のin(2)、チャネル1・フレーム2のin(2)、チャネル2・フレーム2のin(2)の4つの値を格納する; (16)SIMD型変数R1にチャネル1・フレーム1のin(29)、チャネル2・フレーム1のin(29)、チャネル1・フレーム2のin(29)、チャネル2・フレーム2のin(29)の4つの値を格納する; (17)SIMD型変数R2にチャネル1・フレーム1のin(13)、チャネル2・フレーム1のin(13)、チャネル1・フレーム2のin(13)、チャネル2・フレーム2のin(13)の4つの値を格納する; (18)SIMD型変数R3にチャネル1・フレーム1のin(18)、チャネル2・フレーム1のin(18)、チャネル1・フレーム2のin(18)、チャネル2・フレーム2のin(18)の4つの値を格納する; (19)SIMD型加算器によりR6←R0+R1を計算する; (20)SIMD型加算器によりR6←R6+R2を計算する; (21)SIMD型加算器によりR6←R6+R3を計算する。 【0054】(22)SIMD型変数R0にチャネル1・フレーム1のin(3)、チャネル2・フレーム1のin(3)、チャネル1・フレーム2のin(3)、チャネル2・フレーム2のin(3)の4つの値を格納する; (23)SIMD型変数R1にチャネル1・フレーム1のin(28)、チャネル2・フレーム1のin(28)、チャネル1・フレーム2のin(28)、チャネル2・フレーム2のin(28)の4つの値を格納する; (24)SIMD型変数R2にチャネル1・フレーム1のin(12)、チャネル2・フレーム1のin(12)、チャネル1・フレーム2のin(12)、チャネル2・フレーム2のin(12)の4つの値を格納する; (25)SIMD型変数R3にチャネル1・フレーム1のin(19)、チャネル2・フレーム1のin(19)、チャネル1・フレーム2のin(19)、チャネル2・フレーム2のin(19)の4つの値を格納する; (26)SIMD型加算器によりR7←R0+R1を計算する; (27)SIMD型加算器によりR7←R7+R2を計算する; (28)SIMD型加算器によりR7←R7+R3を計算する。 【0055】このようにして、チャネル1のフレーム1、チャネル2のフレーム1、チャネル1のフレーム2、チャネル2のフレーム2におけるee(0),ee(1),ee(2),ee(3)がSIMD型変数R4,R5,R6,R7に格納される。ここで、入力信号であるin(n),n=0…31を、チャネル1・フレーム1のin(n)、チャネル2・フレーム1のin(n)、チャネル1・フレーム2のin(n)、チャネル2・フレーム2のin(n)をメモリ上に連続して格納しておけば、従来の技術で演算量増加の原因となった、格納順序の入れ替えが不要となるため、低演算量で写像変換を実現できる。 【0056】ここで、nの値が異なるin(n)については、メモリ上の配置に制限はない。したがって、従来は格納順序の入れ替えが必要であったin(1),in(3),in(5),in(7)を同時に扱うような演算も、格納順序の入れ替えなしで実現できる。 【0057】ここでは、入力バタフライ演算を並列に実行する方法について述べたが、これを修正離散コサイン変換や、逆修正離散コサイン変換など他の写像変換や逆写像変換でも利用できるよう、手法を一般化して説明する。 【0058】変数A、Bに対して演算を行うような場合、従来はメモリやレジスタにAとBの値を格納し、演算を行う命令を実行していた。本発明において、4つの信号についてAとBの演算を同時に行う場合、従来の処理実行プログラムを以下のように書き換えることで容易に並列化できる。 【0059】(1)信号1のA、信号2のA、信号3のA、信号4のAをメモリの連続したアドレス上に書き込むようにプログラムを変更する; (2)信号1のB、信号2のB、信号3のB、信号4のBをメモリの連続したアドレス上に書き込むようにプログラムを変更する; (3)変数Aを読む込む命令を、SIMD型変数A’に信号1のA、信号2のA、信号3のA、信号4のAを読み込む命令に変更する; (4)変数Bを読む込む命令を、SIMD型変数B’に信号1のB、信号2のB、信号3のB、信号4のBを読み込む命令に変更する; (5)AとBに演算を行う演算命令を、SIMD型変数A’とSIMD型変数B’に対するSIMD型演算器を用いた演算命令に変更する。 【0060】このように、従来別々に写像変換処理や逆写像変換処理していた複数の信号を、同一のSIMD型変数に格納してSIMD型演算器によって同時処理することが、本発明の特徴である。従来手法でのSIMD利用方法に比べて、信号の格納順序の入れ替えが不要となるため、低演算量で処理を実行できる。 【0061】例えば、2チャネルのオーディオ信号を2フレーム符号化する場合の手順を図3aおよび以下に示す。3フレーム以上符号化する場合はこの手順を繰り返し実行する。 【0062】(ステップ301a):チャネル1・フレーム1、チャネル1・フレーム2、チャネル2・フレーム1、チャネル2・フレーム2の信号を同一のSIMD型変数に格納し、SIMD型演算器を用いて写像変換; (ステップ302a):フレーム1のチャネル1、2の写像信号を圧縮処理(ステップ303a)フレーム1のビットストリームを出力; (ステップ304a)フレーム2のチャネル1、2の写像信号を圧縮処理; (ステップ305a)フレーム2のビットストリームを出力。 【0063】また、2チャネルのオーディオ信号を2フレーム復号する場合の手順を図3b及び以下に示す。3フレーム以上復号する場合はこの手順を繰り返し実行する。 【0064】(ステップ301b):フレーム1のチャネル1、2の写像信号を伸張処理; (ステップ302b):フレーム2のチャネル1、2の写像信号を伸張処理; (ステップ303b):チャネル1・フレーム1、チャネル1・フレーム2、チャネル2・フレーム1、チャネル2・フレーム2の信号を同一のSIMD型変数に格納し、SIMD型演算器を用いて逆写像変換; (ステップ304b):フレーム1の復号オーディオ信号を出力; (ステップ305b):フレーム2の復号オーディオ信号を出力。 【0065】なお、本実施例では、ステレオ信号を符号化・復号する場合について述べたが、チャネル数に制限はない。また、本実施例では、4つの値を格納できるSIMD型変数について述べたが、格納できる値の数についても制限はない。 【0066】例えば、4チャネルのオーディオ信号や写像信号に対して写像変換や逆写像変換を行う場合、各チャネルの信号を1つのSIMD型変数に格納すれば、4チャネル分同時に計算することができる。 【0067】また、例えば、1チャネルのオーディオ信号や写像信号に対して写像変換や逆写像変換を行う場合、4つの異なるフレームの信号を1つのSIMD型変数に格納すれば、4時間区間分同時に計算することができる。 【0068】このように、1つのSIMD型変数に格納する信号のチャネル数やフレーム数の組み合わせについては制限がない。また、写像変換および逆写像変換の手法についても制限がなく、MDCT,IMDCT,FFT,IFFTなどが利用できる。 【0069】 【発明の効果】以上説明したように、本発明においては、写像変換や逆写像変換の演算量を低減できるという効果がある。これはSIMD型変数への値の格納の命令数が低減されるためである。
|
| 【出願人】 |
【識別番号】000004237 【氏名又は名称】日本電気株式会社
|
| 【出願日】 |
平成12年12月13日(2000.12.13) |
| 【代理人】 |
【識別番号】100088812 【弁理士】 【氏名又は名称】▲柳▼川 信
|
| 【公開番号】 |
特開2002−182693(P2002−182693A) |
| 【公開日】 |
平成14年6月26日(2002.6.26) |
| 【出願番号】 |
特願2000−378230(P2000−378230) |
|