(57)【特許請求の範囲】
【請求項１】
第１の語長を持つ第１のディジタル信号及び前記第１の語長よりも長い第２の語長を持つ第２のディジタル信号をそれぞれ演算処理するディジタル信号処理回路において、
主演算処理回路と、この主演算処理回路に接続される専用演算処理回路とを具備し、
前記主演算処理回路は、
前記第１の語長に対応する演算処理機能を有する主演算部と、
単位記憶領域の記憶容量が前記第１の語長に対応して構成された第１のメモリと、
この第１のメモリに前記第１のディジタル信号を記憶する場合には、その１語長を第１のメモリの単位記憶領域に記憶し、前記第２のディジタル信号を記憶する場合には、その１語長を区切って前記第１のメモリの複数の単位記憶領域に渡り詰めて記憶するディジタル信号記憶制御手段と、
前記第１のメモリに記憶された第１及び第２のディジタル信号のうち、第１のディジタル信号については前記主演算部に供給して演算処理を行わせ、第２のディジタル信号については前記専用演算処理回路に転送する演算制御手段とを備え、
前記専用演算処理回路は、
前記第２の語長に対応する演算処理機能を有する専用演算部と、
前記主演算処理回路から転送された第２のディジタル信号を前記専用演算部に供給して演算処理を行わせ、その演算処理結果を前記主演算処理回路に転送する専用演算制御手段と、
単位記憶領域の記憶容量が前記第２の語長に対応して構成され、前記主演算処理回路から転送された第２のディジタル信号及び前記専用演算部により得られた演算処理結果を一時保持する第２のメモリとを備えたことを特徴とするディジタル信号処理回路。
【請求項２】
前記主演算処理回路及び専用演算処理回路の少なくとも一方は、第２のディジタル信号を転送する際にその語長を第１の語長と第２の語長との間で変換する語長変換手段を、さらに備えたことを特徴とする請求項１記載のディジタル信号処理回路。
【請求項３】
前記主演算処理回路及び専用演算処理回路の少なくとも一方は、第２のディジタル信号を転送する際に、専用演算部における処理内容に応じてそのデータ順序を変換するデータ順序変換手段を、さらに備えたことを特徴とする請求項１記載のディジタル信号処理回路。
【請求項４】
前記主演算処理回路は、前記専用演算処理回路へ第２のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、別の処理を実行することを特徴とする請求項１記載のディジタル信号処理回路。
【請求項５】
前記主演算処理回路は、前記専用演算処理回路へ第２のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、自己を動作休止状態に設定することを特徴とする請求項１記載のディジタル信号処理回路。
【請求項６】
ディジタル信号に対し伝送のための所定の信号処理を施し、この処理されたディジタル信号を通信回線を介して伝送する通信装置において、
主演算処理回路及びこの主演算処理回路に接続される専用演算処理回路を備え、第１の語長を持つ第１のディジタル信号及び前記第１の語長よりも長い第２の語長を持つ第２のディジタル信号に対しそれぞれ前記伝送のための演算処理を行うディジタル信号処理回路を具備し、
前記主演算処理回路は、
前記第１の語長に対応する演算処理機能を有する主演算部と、
単位記憶領域の記憶容量が前記第１の語長に対応して構成された第１のメモリと、
この第１のメモリに前記第１のディジタル信号を記憶する場合には、その１語長を第１のメモリの単位記憶領域に記憶し、前記第２のディジタル信号を記憶する場合には、その１語長を区切って前記第１のメモリの複数の単位記憶領域に渡り詰めて記憶するディジタル信号記憶制御手段と、
前記第１のメモリに記憶された第１及び第２のディジタル信号のうち、第１のディジタル信号については前記主演算部に供給して演算処理を行わせ、第２のディジタル信号については前記専用演算処理回路に転送する演算制御手段とを備え、
前記専用演算処理回路は、
前記第２の語長に対応する演算処理機能を有する専用演算部と、
前記主演算処理回路から転送された第２のディジタル信号を前記専用演算部に供給して演算処理を行わせ、その演算処理結果を前記主演算処理回路に転送する専用演算制御手段と、
単位記憶領域の記憶容量が前記第２の語長に対応して構成され、前記主演算処理回路から転送された第２のディジタル信号及び前記専用演算部により得られた演算処理結果を一時保持する第２のデータメモリとを備えたことを特徴とするディジタル信号処理回路を備えた通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えば映像信号や音声信号の符号化及び復号処理を行うディジタル信号処理回路と、この回路を備えた携帯情報端末や携帯電話機、車載情報通信端末等の通信装置に関する。
【０００２】
【従来の技術】
ＭＰＥＧ（Moving Picture Coding Experts Group）等をはじめとするディジタル・コンテンツの普及につれ、ディジタル信号処理技術の重要性が一層増している。この様なディジタル信号処理を携帯情報端末や携帯電話機等の通信装置において実現する場合には、ＤＳＰ（Digital Signal Processor）やＲＩＳＣ（Reduced Instruction Set Computer）等のプロセッサを使用するのが一般的である。
【０００３】
ところで、これらのプロセッサを使用してディジタル信号処理を行う際には、ディジタル信号の語長が演算精度に直接関係する。語長が短ければ演算器のビット幅やメモリ容量等のハードウエア・リソースが少なくて済む。しかし、信号処理の内容によっては品質に与える影響が大きくなり、特にビデオ信号やオーディオ信号を取り扱うマルチメディア信号処理を行う場合には、語長が足りないと十分な品質が得られなくなる。そこで、品質を確保するために、ディジタル信号の語長を要求される品質を満足する最短の語長に合わせる手法と、語長の不足をソフトウエア処理により補って演算精度を確保する手法が検討されている。
【０００４】
【発明が解決しようとする課題】
しかし、ディジタル信号処理の中で品質に大きな影響を及ぼすものは、演算結果に対しさらに演算を行うことで誤差が蓄積されるような場合であり、この様な演算処理は処理全体のごく一部であることが多い。このため、一部の演算処理に合わせてすべての演算処理について最大語長を与えることは、演算器のビット幅やメモリ容量等のハードウエア・リソースの面で回路規模の大型化やコストの増加を招き好ましくない。
【０００５】
一方、語長の不足をソフトウエア処理で補う手法は、ハードウエア・リソースの面で効果があるが、処理遅延を生じ易いためリアルタイム性が要求される信号処理には不向きである。また、処理量の増加は消費電力の増加を招くため、特に携帯情報端末や携帯電話機等のバッテリ駆動型の通信装置においては非常に好ましくない。
【０００６】
例えば、リアルタイム性が要求されるマルチメディア信号処理では、フィルタ演算や相関演算等の定型の演算処理を高速に行う必要がある。しかも、この種の演算処理は有限語長による演算誤差が蓄積され易いため、高精度の演算処理が求められる。しかし、この種の演算処理を行う際に、ＲＩＳＣではアドレッシング等のオーバヘッドが大きく効率的な演算が困難である。
【０００７】
一方ＤＳＰでは、フィルタ演算等の定型演算を高速演算することが可能であるが、演算の種類が限られているため不定形の演算処理を高速に行うことは苦手であり、また通常の処理についても高級言語でロジックを記述することが難しく、開発効率に問題がある。
【０００８】
この発明は上記事情に着目してなされたもので、その目的とするところは、メモリ容量を減らしてハードウエア・リソースを小型かつ安価にし、かつ語長の異なる複数種のディジタル信号に対し高精度の演算処理を可能にしたディジタル信号処理回路とこの回路を備えた通信装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するためにこの発明は、第１の語長を持つ第１のディジタル信号及び上記第１の語長よりも長い第２の語長を持つ第２のディジタル信号をそれぞれ演算処理するディジタル信号処理回路において、主演算処理回路と、この主演算処理回路に接続される専用演算処理回路とを設け、
上記主演算処理回路に、上記第１の語長に対応する演算処理機能を有する主演算部と、単位記憶領域の記憶容量が上記第１の語長に対応して構成された第１のメモリと、ディジタル信号記憶制御手段と、演算制御手段とを備え、第１のメモリに上記第１のディジタル信号を記憶する場合にはその１語長を第１のメモリの単位記憶領域に記憶し、第２のディジタル信号を記憶する場合にはその１語長を区切って前記第１のメモリの複数の単位記憶領域に渡り詰めて記憶する。そして、第１のディジタル信号については上記主演算部に供給して演算処理を行わせ、第２のディジタル信号については上記専用演算処理回路に転送する。
【００１０】
一方上記専用演算処理回路には、上記第２の語長に対応する演算処理機能を有する専用演算部と、単位記憶領域の記憶容量が上記第２の語長に対応して構成された第２のメモリと、専用演算制御手段とを備える。そして、この専用演算制御手段により、上記専用演算部及び第２のメモリを使用することで、上記主演算処理回路から転送された第２のディジタル信号を専用演算部に供給して演算処理を行わせ、その演算処理結果を上記主演算処理回路に返送するようにしたものである。
【００１１】
したがってこの発明によれば、例えば通常語長の第１のディジタル信号については主演算処理回路で演算処理され、これに対し語長の長い第２のディジタル信号については専用演算処理回路に転送されて演算処理される。このため、主演算処理回路は通常語長のディジタル信号処理のみを行えばよいことになり、これにより演算部及びメモリに第２のディジタル信号の語長に対応したものを用意する必要がなくなって、その分主演算処理回路のハードウエア・リソースを小型で安価なものにすることができる。またソフトウエアの面では、語長の不足をソフトウエアで補う必要がないため、リアルタイムで高品質の処理が可能となる。
【００１２】
また、専用演算処理回路に必要なメモリは、主演算処理回路から転送される少数ワードのディジタル信号を一時記憶できる程度でよいので比較的小容量で済み、また演算部は定型の演算処理に対応したものでよいため比較的小規模で済む。このため、専用演算処理回路の構成についても比較的小規模に抑えることができる。
【００１３】
さらにこの発明では、第２のディジタル信号を主演算処理回路のメモリに記憶する際に、その語長を区切って複数の単位記憶領域に渡り詰めて記憶するようにしているので、メモリを無駄な余剰記憶領域を発生させずに効率良く使用できる利点がある。
【００１４】
またこの発明は、上記主演算処理回路及び専用演算処理回路の少なくとも一方に語長変換手段を設け、この語長変換手段により、第２のディジタル信号を転送する際にその語長を第１の語長と第２の語長との間で変換することも特徴としている。
【００１５】
このように構成することで、主演算処理回路の第１のメモリにおいて、第２のディジタル信号がその語長を区切って複数の単位記憶領域に渡り詰めて記憶されていても、第２のディジタル信号の転送時に語長変換されるため、主演算処理回路では上記第２のディジタル信号のデータ順の入れ替え処理が不要となり、これにより多くのメモリアクセス回数やシフト演算処理が不要となってオーバヘッドの発生を低減することができる。
【００１６】
さらにこの発明は、上記主演算処理回路及び専用演算処理回路の少なくとも一方にデータ順序変換手段を設け、このデータ順序変換手段により、第２のディジタル信号を転送する際に専用演算部における処理内容に応じてそのデータ順序を変換するように構成することも特徴としている。
このように構成することで、専用演算処理回路の演算部における演算処理ステップ数を減らして演算処理の効率を高めることができる。
【００１７】
さらにこの発明は、専用演算処理回路へ第２のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、主演算処理回路において別の処理を実行することも特徴としている。
このように構成することで、主演算処理回路と専用演算処理回路とを並列に動作させることができ、これにより回路全体として信号処理効率を高めることができる。
【００１８】
さらにこの発明は、専用演算処理回路へ第２のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、主演算処理回路が自己の動作状態を休止状態に設定することも特徴としている。
このように構成することで、主演算処理回路を常時動作させる場合に比べ、主演算処理回路の消費電力を低減して回路全体の省電力化を図ることができる。
【００１９】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１は、この発明に係わる通信装置の一実施形態を示すもので、マルチメディア移動通信端末装置の回路ブロック図である。
【００２０】
先ず受信系は次のように構成される。すなわち、図示しない基地局或いは中継局から到来した無線周波信号は、アンテナ１で受信されたのち無線部２に入力され、ここで周波数変換とディジタル復調処理が行われる。ベースバンド処理部３では、上記無線部２から出力された復調ディジタル信号に対し誤り訂正復号処理やデ・インタリーブ処理等の受信ベースバンド処理が行われ、この処理後の受信ディジタル信号は多重分離部４に入力される。多重分離部４では、上記受信ディジタル信号から、そのヘッダ情報の内容に従いオーディオ・データ、ビデオ・データ及びコンピュータ・データが分離され、それぞれオーディオ信号処理部５、ビデオ信号処理部６及びデータ処理部７に入力される。
【００２１】
オーディオ信号処理部５は、音声コーデックを構成するディジタル信号処理回路を備え、上記受信オーディオ・データに対し音声復号処理を行う。そして、復号したオーディオ信号をスピーカ５１から拡声出力する。
【００２２】
ビデオ信号処理部６は、上記受信ビデオ・データに対し例えばＭＰＥＧ４に規定される映像復号処理を行い、これにより再生したビデオ信号を表示制御部８に供給する。
【００２３】
データ処理部７は、上記受信したコンピュータ・データを表示可能な形態に変換して表示制御部８に入力する。表示制御部８は、上記ビデオ信号及びコンピュータ・データを選択的に液晶表示部（ＬＣＤ）９に表示する。
【００２４】
一方、送信系は次のように構成される。すなわち、マイクロホン５２から入力された音声信号はオーディオ信号処理部５に入力され、ここで音声コーデックにより符号化される。またカメラ６１の撮像により得られたビデオ信号は、ビデオ信号処理部６でＭＰＥＧ４に規定される符号化方式により符号化される。さらに、入力部１４から入力されるか又は記憶部１３から読み出された文書ファイル等のコンピュータ・データは、主制御部１０からデータ処理部７に入力され、ここで必要に応じて送信のための処理が行われたのち多重分離部４に入力される。
【００２５】
多重分離部４は、上記オーディオ信号処理部５から出力された送信オーディオ・データ、ビデオ信号処理部６から出力された送信ビデオ・データ及びデータ処理部７から出力されたコンピュータ・データを、所定のフォーマットに従い多重化して、例えば送信パケットを生成する。
【００２６】
ベースバンド処理部３は、上記送信パケットに対し誤り訂正符号化やインタリーブ等の送信ベースバンド信号処理を行い、この処理後の送信パケットを無線部２に入力する。無線部２では、上記送信パケットに対しディジタル変調処理、無線伝送周波数への周波数変換及び送信電力レベルの制御がそれぞれ行われ、これにより生成された無線周波信号はアンテナ１から基地局又は中継局に向け送信される。
【００２７】
なお、図中１２は電源回路部であり、バッテリ１１の出力電圧をもとに所定の動作電圧Ｖccを生成して装置内の各回路モジュールに供給する。
【００２８】
ところで、前記オーディオ信号処理部５やビデオ信号処理部６には、この発明に係わるディジタル信号処理回路が設けられている。なお、ここではオーディオ信号処理部５に設けられるディジタル信号処理回路を例にとって説明する。
【００２９】
図２は、オーディオ信号処理用のディジタル信号処理回路の概略構成を示すブロック図である。このディジタル信号処理回路は、メインプロセッサ２０と、このメインプロセッサ２０に対し制御信号線６０を介して接続された専用エンジン３０と、ＤＭＡ（Direct Memory Access）コントローラ４０と、外部インタフェース（Ｉ／Ｆ）回路５０とから構成される。
【００３０】
メインプロセッサ２０は、演算コア２１と、この演算コア２１に信号処理を実行させるための命令（プログラム）を格納した命令メモリ（ＩＭＥＭ）２２と、処理対象のディジタル信号を格納するデータメモリ（ＤＭＥＭ）２３とを備えている。演算コア２１は、演算幅等が、通常精度のディジタル信号、例えば１６bit を１ワードとしたオーディオ・データに対応して構成される。データメモリ２３も、上記通常精度のディジタル信号に対応して、１アドレスで指定できる記憶領域が１６bit に設定されている。
【００３１】
これに対し専用エンジン３０は、高精度演算コア３１と、データメモリ（ＤＭＥＭ）３２とを備えている。高精度演算コア３１は、演算幅等が、上記通常精度のディジタル信号より語長の長い高精度のディジタル信号、例えば２４bit のオーディオ・データに対応して構成される。またデータメモリ３２は、前記メインプロセッサ２０から転送された高精度のディジタル信号と、演算終了後にメインプロセッサ２０に返送するデータとをそれぞれ格納するもので、上記高精度のディジタル信号に対応して、１アドレスで指定できる記憶領域が２４bit に設定されている。
【００３２】
ところで、メインプロセッサ２０の演算コア２１は、次のように構成される。図３はその構成を示す回路ブロック図である。
すなわち、デコード回路２１４は、命令メモリ２２からプログラム・カウンタ（ＰＣ）２１２が示すアドレスの記憶領域に格納されている命令を命令メモリインタフェース（ＩＭＥＭ  ＩＦ）２１３を介して読み出し、この命令をデコードして制御回路２１１に与える。なお、プログラム・カウンタ２１２の値は、制御回路２１１により更新されない限り、順次インクリメントされて次に読み出すべきアドレスを示す。
【００３３】
制御回路２１１は、上記命令のデコード結果に基づいて、データメモリ２３からデータメモリインタフェース（ＤＭＥＭ  ＩＦ）２１７を介して１６bit ワードのレジスタファイル２１５にデータをロードしたり、逆にレジスタファイル２１５からデータメモリ２３にデータをストアしたり、レジスタファイル２１５のデータを演算器２１６に渡して演算させたり、さらにはプログラムカウンタ２１２の値を制御するというように、各モジュールを制御する。演算器２１６は、加減算器と乗算器とから構成される。
【００３４】
制御回路２１１はまた、ＤＭＡコントローラ４０とのインタフェース機能を有し、外部インタフェース５０や専用エンジン３０へデータをＤＭＡ転送する際のアドレスやサイズを指定する。制御回路２１１はさらに、専用エンジン３０との間のインタフェース機能を有し、制御信号線６０を介して専用エンジン３０に対し演算内容（ＣＡＬＣ  ＭＯＤＥ）の指定、データメモリ２３から専用エンジン３０のデータメモリにデータ転送する際のデータ入替順序（ＤＭＡ  ＭＯＤＥ）の指定、及び演算開始の指示を行う。
【００３５】
制御回路２１１はまた、専用エンジン３０から演算の状態を示すｂｕｓｙ信号を受け取る機能も有し、このｂｕｓｙ信号より専用エンジン３０の演算状態を判定する。そして、この判定結果に基づいて、専用エンジン３０がビジー状態、つまり演算動作を行っている期間中に、メインプロセッサ２０自身の動作を制御する。
【００３６】
例えば、専用エンジン３０の演算結果に依存しない処理を実行可能な場合には、その命令を実行する。すなわち、専用エンジン３０と並列動作を行う。また専用エンジン３０の演算結果に依存し処理が継続できない場合には、クロック制御回路（ＣＬＫ制御回路）２１８に指示を出すことで各モジュールへのクロックの供給を止め、これにより専用エンジン３０の演算が終了するまでメインプロセッサ２０をスリープ状態に設定する。
【００３７】
一方、専用エンジン３０の高精度演算コア３１は次のように構成される。図４はその構成を示す回路ブロック図である。
【００３８】
すなわち、ＤＭＡ  ＭＯＤＥレジスタ３１６には、ＤＭＡコントローラ４０を介してＤＭＡ転送するデータの並べ替え順序を表すモードが格納され、このモードはメインプロセッサ２０により設定される。アドレス変換回路３１５は、ＤＭＡ  ＭＯＤＥレジスタ３１６に記憶されたモードに従って、高精度のディジタル信号の順序を入れ替える処理を行う。そして、この入替処理後のデータを、データメモリ・インタフェース（データメモリＩ／Ｆ）３１４を介してデータメモリ３２の所定アドレス領域に格納するように制御する。
【００３９】
データメモリ３２は、演算のための係数を格納するテーブル領域３２１と、２read２writeタイプのデータ領域３２２とから構成される。このデータ領域３２２は、例えば１アドレス領域が２４bit により構成され、２４bit １ワードの高精度ディジタル信号及びその演算結果のデータをそのまま１アドレス領域に格納可能となっている。
【００４０】
ＣＡＬＣ  ＭＯＤＥレジスタ３１３には、メインプロセッサ２０から指定された高精度演算器３１１の演算内容を示すモードが記憶される。演算制御回路３１２は、メインプロセッサ２０から演算開始の信号を受けると、上記ＣＡＬＣ  ＭＯＤＥレジスタ３１３に記憶されているモードに従って、高精度演算器３１１及びデータメモリ３２を制御する。
【００４１】
高精度演算器３１１は、２個の乗算器と２個の加減算器とを備え、これらの演算器により例えば４ポイントの複素高速フーリエ変換（ＦＦＴ）演算を行う。図５にその構成の一例を示す。
【００４２】
次に、以上のように構成されたディジタル信号処理回路の動作を説明する。
例えば、多重分離部４から出力されたオーディオ・データは、オーディオ信号処理部５に入力されると、外部インタフェース回路５０からＤＭＡコントローラ４０を介してメインプロセッサ２０に取り込まれ、データメモリ２３に格納される。格納されたオーディオ・データに対して復号処理を行う際に、復号過程の中間データとして、演算精度が再生品質にセンシティブでないものは通常精度(16bit)で処理する。つまり、１ワードずつそのままデータメモリ２３の各アドレス領域に格納される。
【００４３】
これに対し演算精度が再生品質にセンシティブな演算は、中間データとして高精度(24bit)な演算およびデータの保持が必要になる。この場合、高精度ディジタル信号は１ワードのサイズがデータメモリ２３の１アドレス領域のサイズ（１６bit ）よりも大きいため、そのままでは格納できない。そこで、２４bit １ワードからなる高精度ディジタル信号をＭＳＢ側の１６bit とＬＳＢ側の８bit とに分割し、ＭＳＢ側の１６bit をデータメモリ２３の１アドレス領域に格納し、ＬＳＢ側の８bit を次のアドレス領域又は一つ前のアドレス領域に格納する。
【００４４】
すなわち、各高精度ディジタル信号のＬＳＢ側の８bit は、データメモリ２３の空き領域に詰められて格納される。図６はその格納状態の一例を示すものである。この様にすることで、データメモリ２３に無駄な空き領域を生じさせることなく高精度ディジタルデータを効率良く格納できる。
【００４５】
さて、この状態でメインプロセッサ２０が命令メモリ２２に格納された命令に従い演算処理を開始すると、データメモリ２３に格納された通常精度ディジタル信号および高精度ディジタル信号にアクセスする必要がある。この場合、通常精度のデータであれば、制御回路２１１は、演算器２１６に供給して演算を行わせる。
【００４６】
これに対し高精度ディジタル信号の場合には、メインプロセッサ２０からＤＭＡコントローラ４０を介して専用エンジン３０に転送され、この専用エンジン３０において演算される。
【００４７】
すなわち、メインプロセッサ２０の制御回路２１１は、先ず専用エンジン３０に対し、転送データのアドレス及びサイズ及びデータの入替順序を指定するモード情報と、演算内容を指定するモード情報をそれぞれ制御信号線６０を介して通知する。専用エンジン３０は、これらの情報をそれぞれＤＭＡ  ＭＯＤＥレジスタ３１６及びＣＡＬＣ  ＭＯＤＥレジスタ３１３に記憶する。続いてメインプロセッサ２０は、データメモリ２３に格納された高精度ディジタル信号を順次ＤＭＡコントローラ４０により専用エンジン３０へ転送する。
【００４８】
専用エンジン３０は、上記ＤＭＡコントローラ４０によりメインプロセッサ２０から高精度ディジタル信号が転送されると、先に通知された転送データのアドレスやサイズ、入替順序を指定するモード情報に従い、アドレス変換回路３１５においてデータの入れ替え処理を行う。
【００４９】
例えば、いま高精度ディジタル信号は、データメモリ２３において図６に示すように１ワードが分割されたうえ空き領域に詰めた状態で格納されていたため、その格納ルールに従い、アドレス１，４，７，…にそれぞれ格納されていた２個のＬＳＢ側８bit データを分割し、この分割された２個のＬＳＢ側８bit データをそれぞれ対応する１バイト前のＭＳＢ側１６bit データ及び１バイト後のＭＳＢ側１６bit データに付加し、これにより２４bit １ワードの高精度ディジタル信号を構成する。
【００５０】
またそれと同時にアドレス変換回路３１５は、先に通知された高精度演算の指定内容に応じ、高精度演算を効率良く行うためのデータ入れ替え処理も行う。例えば、いま高精度演算の処理内容が後述する高速フーリエ変換（ＦＦＴ）だとすると、図７に示すようにデータ[5]，データ[13]，…の順序をそれぞれデータ[7]，データ[15]，…の次に位置するように入れ替える。
【００５１】
そうしてデータ順序の入れ替えが行われた高精度ディジタル信号は、データメモリインタフェース３１４を介してデータメモリ３２内のデータ領域３２２に順次格納される。
【００５２】
次に専用エンジン３０は、高精度演算器３１１において、上記データメモリ３２に格納された高精度ディジタル信号に対し、先にメインプロセッサ２０から指定された内容の演算処理を実行する。
【００５３】
以下、４ポイントの複素ＦＦＴ演算を行う場合を例にとって説明する。図８はその演算処理のデータフローを示すものである。
同図において、データａ，ｂ，ｃ，ｄはそれぞれ複素データであり、実部（xxx.re）と虚部（xxx.im）を持つ。ｊは虚数単位、Ｗは複素係数である。高精度演算器３１１では、データメモリ３２のデータ領域３２２に格納されているデータａ，ｂ，ｃ，ｄに対し、図８に示すデータフローの▲１▼〜▲７▼の順に、バタフライ演算と、テーブル領域３２１に格納されている複素係数Ｗとの複素乗算とが、インプレイス演算により繰り返し行われる。
【００５４】
すなわち、先ずバタフライ演算は、
(x+jy)＋(u+jv)＝(x+u)＋j(y+v)
(x+jy)−(u+jv)＝(x-u)＋j(y-v)
が計算できればよい。各データｘ，ｙ，ｕ，ｖはデータメモリ３２に格納されている２４bit １ワードのデータである。
【００５５】
先ずデータメモリ３２から、図５に示すポートＰ0 及びＰ1 を介してラッチ回路部３１１１の対応するラッチＬ0 ，Ｌ1 にそれぞれデータｘ，ｕを取り込む。次に、セレクタ３１１２，３１１５をそれぞれ制御して、上記ラッチＬ0 のデータＸを加算器３１１６及び減算器３１１７にそれぞれ入力すると共に、上記ラッチＬ1 のデータｕを加算器３１１６及び減算器３１１７にそれぞれ入力して、それぞれ加算及び減算を行う。そして、その加算出力(x+u)及び減算出力(x-u)をそれぞれラッチ３１１８，３１１９で一旦ラッチしたのち、セレクタ３１２０によりポートＰ4 ，Ｐ5 を介してデータメモリ３２へ出力し、前記データｘ，ｕが格納されていたアドレス領域に格納する。以後、データｙ，ｖについても同様の演算を行う。かくして、バタフライ演算がなされる。
【００５６】
次に複素乗算は、
(x+jy)×(u-jv)＝(xu+yv)＋(yu-xv)
が計算できればよい。ここで、左辺の第２項の虚部がマイナスになっている理由は、途中の演算を少なくするためである。なお、上記左辺の第２項はデータメモリ３２のテーブル領域３２１に格納されている係数データＷであるため、予めマイナス値を用意しておけば演算上問題はない。
【００５７】
先ずデータメモリ３２から、ポートＰ0 ，Ｐ1 ，Ｐ2 ，Ｐ3 を介してラッチＬ0 ，Ｌ1 ，Ｌ2 ，Ｌ3 にそれぞれデータｘ，ｙ，ｕ，ｖを取り込む。次に、セレクタ３１１２を制御して、ラッチＬ0 のデータｘを乗算器３１１３に、またラッチＬ2 のデータｕを乗算器３１１３，３１１４にそれぞれ入力し、さらにラッチＬ1 のデータｙを乗算器３１１４に入力し、これにより各乗算器３１１３，３１１４に乗算を行わせる。そして、セレクタ３１１５を制御して、乗算器３１１３の乗算出力(x×u)を加算器３１１６に入力すると共に、乗算器３１１４の乗算出力(y×u)を減算器３１１７に入力し、さらにこれらの加算器３１１６及び減算器３１１７の他方の入力端には“０”値を入力して、それぞれ加算及び減算を行わせる。これらの加算器３１１６及び減算器３１１７の加算出力(x×u)及び減算出力(y×u)はそれぞれラッチ３１１８，３１１９にラッチされる。
【００５８】
次に、セレクタ３１１２を制御して、ラッチＬ1 のデータｙを乗算器３１１３に、またラッチＬ0 のデータｘを乗算器３１１４にそれぞれ入力し、さらにラッチＬ3 のデータｖを乗算器３１１３，３１１４にそれぞれ入力し、これにより各乗算器３１１３，３１１４に乗算を行わせる。そして、セレクタ３１１５，３１２０を制御して、乗算器３１１３の乗算出力(y×v)を加算器３１１６に入力すると共に、乗算器３１１４の乗算出力(x×v)を加算器３１１６に入力し、さらに先に算出したラッチ３１１９のデータ(y×u)を減算器３１１７に、またラッチ３１１８のデータ(x×u)を加算器３１１６にそれぞれ帰還入力して、加算器３１１６及び減算器３１１７にそれぞれ加算及び減算を行わせる。この結果、加算器３１１６及び減算器３１１７からはそれぞれ(y×v)＋(x×u)及び(y×u)−(x×v)が出力され、これらの値はそれぞれラッチ３１１８，３１１９でラッチされる。
【００５９】
そして、これらのラッチ３１１８，３１１９でラッチされた(y×v)＋(x×u)及び(y×u)−(x×v)は、セレクタ３１２０によりポートＰ4 ，Ｐ5 を介してデータメモリ３２へ出力され、前記データｘ，ｕが格納されていたアドレス領域に格納される。かくして、複素乗算演算がなされる。
【００６０】
そうして、得られた演算データは、データメモリ３２のデータ領域３２２から読み出されてアドレス変換回路３１５で１ワード２４bit のデータを１ワード１６bit のデータに語長変換されたのち、ＤＭＡコントローラ４０によりメインプロセッサ２０へ転送されてそのデータメモリ２３に格納される。
【００６１】
一方、専用エンジン３０において上記した演算処理が行われている状態では、専用エンジン３０からメインプロセッサ２０に対しビジー状態を表す信号が通知されている。メインプロセッサ２０は、このｂｕｓｙ信号により専用エンジン３０がビジー状態であることを検出すると、専用エンジン３０の演算結果に依存せずに他の処理を実行可能であるか否かを判定する。そして、実行可能な処理がある場合には、当該処理を実行する。
【００６２】
これに対し他の処理を実行不可能な場合には、制御回路２１１以外の各モジュールに対するクロックの供給を断って、メインプロセッサ２０をスリープ状態に設定する。なお、この場合、制御回路２１１以外の各モジュールに対する動作電源電圧Ｖccの供給を断つようにしてもよい。
この様にすることで、回路全体の処理効率を高めることができ、さらには低消費電力化を図ることができる。
【００６３】
以上述べたようにこの実施形態では、メインプロセッサ２０に加えて専用エンジン３０を設け、通常精度のディジタルデータについてはメインプロセッサ２０内の演算器２１６で演算を行い、高精度のディジタルデータについてはメインプロセッサ２０のデータメモリ２３から専用エンジン３０へＤＭＡコントローラ４０により転送して、専用エンジン３０の高精度演算器３１１により演算を行わせるようにし、しかもメインプロセッサ２０のデータメモリ２３に高精度ディジタル信号を格納する際には、１ワードを分割して空き領域に詰めた状態で格納するようにしている。
【００６４】
従ってこの実施形態によれば、高精度ディジタル信号の演算はそれ専用に構成された専用エンジン３０で行われるため、常に高品質の演算結果を得ることができる。また、メインプロセッサ２０において語長不足を補うためのソフトウエア演算処理を行う必要がなくなるので、これにより処理遅延の発生を防止して信号処理のリアルタイム性を保持することができる。
【００６５】
また、メインプロセッサ２０では高精度のディジタルデータの演算処理を行う必要がないので、メインプロセッサ２０の演算器２１６のサイズ、及びデータメモリ２３の１アドレス領域のサイズを通常精度のディジタルデータに対応するサイズに限定することができる。しかも、データメモリ２３において高精度ディジタル信号は詰めた状態で格納されるので、無駄な空き領域は発生せず高密度の記憶が可能となる。従って、データメモリ２３の小容量化を図ることが可能となり、これによりメインプロセッサ２０の回路規模及び価格を低く抑えることができる。
【００６６】
ただし、本実施形態では専用エンジン３０を追加したことで全体の回路規模の大型化が懸念されるが、専用エンジン３０の高精度演算器３１１はＦＦＴ演算等の定型演算を専用に行うべく構成されるので比較的小規模な回路にすることができ、さらにデータメモリ３２についても第２のディジタルデータを少数バイト分格納できれば十分であり、小容量のものを用いることができる。このため、専用エンジン３０を追加したとしても、全体のハードウエアの大型化を最小限度に止めることが可能である。
【００６７】
またこの実施形態では、専用エンジン３０にアドレス変換回路３１５を設け、メインプロセッサ２０のデータメモリ２３に格納されている高精度ディジタル信号をそのまま専用エンジン３０にＤＭＡ転送し、上記アドレス変換回路３１５でデータ順序の変換を行ったのち専用エンジン３０内のデータメモリ３２に格納するようにしている。このため、メインプロセッサ２０では高精度ディジタル信号のデータ順序を変換する必要がなく、このため複数のアドレッシング等によるオーバヘッドの発生を防止することができる。
【００６８】
さらにこの実施形態では、専用エンジン３０がビジー状態（演算中）の期間において、メインプロセッサ２０が専用エンジン３０の演算結果に依存しない処理を実行可能なときには当該処理を実行し、一方専用エンジン３０の演算結果に依存する処理を実行せざるを得ない場合には、メインプロセッサ２０をスリープ状態に設定するようにしている。このため、回路全体の処理効率の向上及び低消費電力化を図ることができる。
【００６９】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では専用エンジン３０に設けたアドレス変換回路３１５においてデータ順序の入れ替えを行うようにしたが、ＤＭＡコントローラ４０にアドレス変換回路を設けてここでアドレス変換を行うように構成してもよい。
【００７０】
また前記実施形態では、専用エンジンでＦＦＴ演算を行う場合を例にとって説明したが、他にフィルタリング処理や窓掛け処理、オーディオ信号の符号化処理で必要なＭＤＣＴ（Modified Discrete Cosine Transform）演算、ＩＭＤＣＴ（Inverse ＭＤＣＴ）演算を行うようにしてもよい。
【００７１】
例えば窓掛け処理の場合には、被乗算データをデータメモリ３２のデータ領域３２２に、乗算係数をテーブル領域３２１にそれぞれ格納する。そして、これらのデータを順次読み出して乗算を行い、加算及び減算処理をスルーして上記乗算結果のデータをデータ領域３２２のもとの領域に格納することで、実現可能である。
【００７２】
なお、窓掛け処理は、乗算係数として例えば図9に示すような左右対称な窓係数を持つことが多い(例えばsinデータ等)。この場合には、メインプロセッサ２０から専用エンジン３０への係数データ転送時に、前半部分は通常どおり転送して(データ転送順序A)窓掛け処理を行い、後半部分は前半部分の逆順(データ転送順序B)で転送して窓掛け処理を行なえば、保持しておかなければいけない係数データが半分で済む。また、専用エンジンの演算制御回路において、係数データの取り込み時に逆順に読み込むモードを追加して処理すれば、データ転送回数も削減可能である。
【００７３】
なお、メインプロセッサ及び専用エンジンの回路構成や、データ転送手段の構成（ＤＭＡ転送に限らない）、通信装置の種類とその構成等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００７４】
【発明の効果】
以上詳述したようにこの発明では、通常語長の第１の語長に対応する主演算処理回路に加え、長語長の第２の語長に対応する専用演算処理回路を設け、第１のディジタル信号については主演算処理回路の演算部に供給して演算処理を行わせ、第２のディジタル信号については専用演算処理回路に転送して演算処理を行わせるようにし、かつ上記主演算処理回路の第１のメモリに第１のディジタル信号を記憶する場合にはその１語長を第１のメモリの単位記憶領域に記憶し、第２のディジタル信号を記憶する場合にはその１語長を区切って第１のメモリの複数の単位記憶領域に渡り詰めて記憶するように構成している。
【００７５】
したがってこの発明によれば、メモリ容量を減らしてハードウエアリソースを小型かつ安価に保持し、かつ語長の異なる複数種のディジタル信号に対し高精度の演算処理を可能にしたディジタル信号処理回路とこの回路を備えた通信装置を提供することができる。
【図面の簡単な説明】
【図１】  この発明に係わる通信装置の一実施形態を示すもので、マルチメディア移動通信端末装置の回路ブロック図。
【図２】  オーディオ信号処理用のディジタル信号処理回路の概略構成を示すブロック図。
【図３】  メインプロセッサの演算コアの構成を示す回路ブロック図。
【図４】  専用エンジンの高精度演算コアの構成を示す回路ブロック図。
【図５】  ４ポイントの複素高速フーリエ変換（ＦＦＴ）演算を行う高精度演算器の構成例を示す回路ブロック図。
【図６】  メインプロセッサのデータメモリにおける高精度ディジタル信号の格納状態の一例を示す図。
【図７】  高精度ディジタル信号のデータ順序を入れ替えるときの一例を示す図。
【図８】  ４ポイントの複素ＦＦＴ演算を行う場合の演算処理のデータフローを示す図。
【図９】  特性が左右対称なフィルタリング演算を行う場合のデータ反転転送動作を説明するための図。
【符号の説明】
１…アンテナ
２…無線部
３…ベースバンド処理部
４…多重分離部
５…オーディオ信号処理部
６…ビデオ信号処理部
７…データ処理部
８…表示制御部
９…液晶表示器（ＬＣＤ）
１０…主制御部
１０…多重分離部
１１…バッテリ
１２…電源回路部
１３…記憶部
１４…入力部
２０…メインプロセッサ
２１…演算コア
２２…命令メモリ（ＩＭＥＭ）
２３…データメモリ（ＤＭＥＭ）
３０…専用エンジン
３１…高精度演算コア
３２…データメモリ（ＤＭＥＭ）
４０…ＤＭＡコントローラ
５０…外部インタフェース回路
５１…スピーカ
５２…マイクロホン
６０…制御信号線
６１…カメラ
２１１…制御回路
２１２…プログラムカウンタ（ＰＣ）
２１３…命令メモリインタフェース（ＩＭＥＭ  ＩＦ）
２１４…デコード回路
２１５…レジスタファイル
２１６…演算器
３１１…高精度演算器
３１２…演算制御回路
３１３…ＣＡＬＣ  ＭＯＤＥレジスタ
３１４…データメモリインタフェース
３１５…アドレス変換回路
３１６…ＤＭＡ  ＭＯＤＥレジスタ
３２１…テーブル領域
３２２…データ領域
３１１１…ラッチ回路部
３１１２，３１１５，３１２０…セレクタ
３１１３，３１１４…乗算器
３１１６…加算器
３１１７…減算器
３１１８，３１１９…ラッチ
【図１】
0003737660.tif 000002
【図２】
0003737660.tif 000003
【図３】
0003737660.tif 000004
【図４】
0003737660.tif 000005
【図５】
0003737660.tif 000006
【図６】
0003737660.tif 000007
【図７】
0003737660.tif 000008
【図８】
0003737660.tif 000009
【図９】
0003737660.tif 000010