MAGAZINE ARTICLES

Features

単体DSPは主役を降板? 「デジタル信号処理」が迎えた転換期

[issued: 2010年4月号]

「デジタル化」の大きな流れの中、デジタル信号処理を利用する用途は着実に増加している。従来の例に倣えば、その処理を担うのは単体のDSP製品であるはずだった。しかし、現在ではその役割はマイクロプロセッサなどに移行しつつある。なぜ、このような状況の変化が起きたのだろうか。そして、デジタル信号処理の実現手法はどのように変貌してきているのだろうか。

by Robert Cravotta

1 2 Img_Page  page 1/2

拡大する選択肢

 DSP単体を製品化したICは、消え行く運命なのだろうか。完全になくなることはないかもしれないが、DSPは、かつてのように最先端に位置するものでもなければ、システムの中心に位置するものでもなくなった。米EDN誌は毎年発行している『DSP Directory』におけるDSPの意味を、2006年から「Digital Signal Processor」から「Digital Signal-Processing」に変更した*1)。このわずかな変更は、デジタル信号処理を行うための選択肢が、DSPのようなソフトウエアベースのプログラマブルプロセッサの枠を超え、プログラマブルファブリックやIP(Intellectual Property)ブロック、ミックスドシグナル処理SoC(System on Chip)などへと拡大したことに対応した結果だ。このようなデジタル信号処理に対する各種アプローチは、それぞれ異なる制約を持ち、互いに補完したり、競合したりするものである*2)

 そもそも、デジタル信号処理には、フィルタリングやフーリエ変換、圧縮、伸張、合成、認識、強調(エンハンスメント)、符号化、復号化などの種類がある。いずれも、算術演算によって、データ群や信号ストリームに対する変換処理を施すというものだ。今日では、デジタル信号処理へのニーズは高くなる一方である。しかしながら、その処理に必ずしも単体のDSPをIC製品化したもの(以下、単体DSP)を用いる必要はない。例えば、プロセッサに組み込まれたマルチメディア命令などの特殊な演算を用いてもよい。あるいは、最近ではマイクロプロセッサとDSPを集積したSoCなども存在するので、そのDSPを用いてもよい。ますます進化して多数のロジックを組み込めるようになったマイクロプロセッサ/SoCが存在することから、単体DSPは使用されなくなりつつあるのだ。

 デジタル信号処理の実現手段としては、DSP以外に、FPGAやマイクロプロセッサを用いる方法がある。

■FPGA
 この数年間で、デジタル信号処理をFPGAで行うのか、それともDSPで行うのかという議論は姿を消した。両者はそれぞれ異なる種類の問題解決に適しており、1つの設計においてFPGAとプロセッサを並べて使用するのが合理的であるという結論に達したからだ。システム内で、FPGAはハードウエアアクセラレーションブロックとして機能し、多種多様な信号処理アルゴリズムに対応する。信号処理アルゴリズムの並列性が十分に高く、単体DSPに存在するのよりも多くの処理ユニットや高速の入出力が必要で、それらを効率的に利用可能であるケースでは、FPGAを用いることにメリットがある。その一方、ユーザーにとってFPGAのハードウエア設計フローは複雑であるため、使用するのに経験を要するという欠点もある。

 だが、そのFPGAの欠点も解消されようとしている。米Xilinx社のDSPソリューション担当シニアマーケティングマネジャを務めるTom Hill氏によれば、同社は「FPGAにおける設計の容易化に取り組んでいる」という。具体的には、C言語をベースとした設計フローや合成ツールを導入し、設計プロセスの複雑さを抽象化することによって容易化を実現しようとしている。

■マイクロプロセッサ
 マイクロプロセッサがムーアの法則に従い続ける限り、改良が施されたバスアーキテクチャや、階層化されたメモリー、乗算器などを搭載することによって、演算性能を向上させることができる。特に今日のマイクロプロセッサの中には、優れた演算性能とエネルギー効率、低いコストを実現しているものがある。これらの要素が十分に高いレベルにあれば、そのチップ上にデジタル信号処理機能を追加することが可能である。言い換えれば、マイクロプロセッサにデジタル信号処理専用の乗算器などを組み込んだデバイスは、必ずしも最高の演算性能と最小のコスト、最大のエネルギー効率を実現するわけではない。しかし、BOM(Bill of Material)コストを低減できることや、慣れ親しんだ設計フローを使用できるといったシステムレベルの利点があることから、単体DSPに勝る選択肢となり得るのである。

DSP製品の変化

 DSP製品は、変化をやめてしまったというわけではない。現在も進化し続けている。従来、DSPは複雑なものだと考えられていた。初期のDSPアーキテクチャでは、算術アルゴリズムをデバイス上にいかに容易に実装できるようにするかということよりも、最大処理性能をいかに引き出すかということのほうが重要視されていた。だが、DSPの世代が進むたびに、より多くのトランジスタを使用できるようになったこともあり、種々の方法によって処理を実装できるようになってきた。C言語によるプログラミングが可能なDSPがその一例である。デジタル信号処理がより多くの分野へと拡大したことに伴い、「使いやすさ」がDSP製品の重要な要素となったのである。

 そのほかの変化として、「呼称」の変更がある。ここでは、米Texas Instruments社(以下、TI社)の製品シリーズ「TMS320C2000」を例に挙げてみよう。同社はかつてこれらのデバイスを「コントローラ機能を持つDSPである」と説明していた。しかし、数年前からこれらのプロセッサはDSC(Digital Signal Controller:デジタル信号コントローラ)として知られるようになった。さらに同社は、アーキテクチャは変更していないにもかかわらず、EDN誌の2009年度版DSP DirectoryからTMS320C2000を削除し、「リアルタイムマイクロコントローラ」と呼ぶよう要望した。つまり、明示的に変更したのは、その用途である。現在、同社は開発サポート環境をマイクロコントローラ開発者にとってより使いやすいものにすることに力を入れている。

 このような方針をとるメーカーに対して、不誠実だと感じる人もいるのかもしれない。しかし、多くのプロセッサ製品では、主なターゲットとなる用途が最も重要な要素だと考えられている。デジタル信号処理機能は、その補助機能として提供しているにすぎないのである。

 先述したように、マイクロプロセッサの進化によって、DSPの機能が取り込まれたものが、従来と同じくマイクロプロセッサとして数多く販売されている。具体例を列挙すると、米Analog Devices社の音声/映像/通信処理向けのプロセッサ「Blackfin」や、マルチメディア処理命令セット「NEON」をサポートする英ARM社のプロセッサ、「AltiVec」の拡張機能を搭載した米Freescale Semiconductor社の「Power Architecture」製品、ドイツInfineon Technologies社の車載/産業用プロセッサ「TriCore」、SSE(Streaming Single Instruction/Multiple Data Extensions)に対応した米Intel社の「Pentium」、米Microchip Technology社のモーター制御/電力変換DSC「dsPIC」、オランダNXP Semiconductors社のプロセッサ「CoolFlux」、米Tensilica社のオーディオ/ビデオエンジン「Xtensa」、TI社の「DaVinci」や「OMAP」などがある。

 これらのプロセッサは、デジタル信号処理機能を搭載しており、それがターゲットアプリケーションで利用される。多くのプロセッサベンダーは、製品の用途を絞り込み、その用途向けのアルゴリズムや信号処理ライブラリを提供している。このことによって、最終製品の開発期間を短縮するだけでなく、新しい機能に関する専門知識がなくても、開発者が自分の設計に特定用途向けの機能を容易に追加できるようにしているのである。

専門外のユーザーへの対応

 用途によるプロセッサの区別は、チップメーカーが、ハードウエアだけでなく、リファレンスデザインも提供するようになったという傾向を反映したものである。リファレンスデザインには、特定用途向けのソフトウエアコンポーネントなどが含まれる。

 今日、開発者は、オーディオ/ビデオ信号の圧縮/符号化/復号化など、ますます増大する多種多様なデジタル信号処理機能について、用途別に実装されたものを購入することができる。そのような環境であるため、開発者の着眼点は、「中核機能をどのように構築するか」から、「実装が、性能、価格、エネルギー効率、開発期間のすべての要件を満たすかどうか」に移行してきている。つまり、処理性能やエネルギー効率、アルゴリズムの柔軟性などで総合的にバランスがとれたシステムを提供することができれば、競争がますます激化する業界において、一歩先を行くことができるのだ。

 IC製品/リファレンスデザインにバンドルされるソフトウエアでは、その内部で行われる信号処理の詳細がユーザーに明らかにされていない場合が多い。例えば、タッチセンサーは非常に人気の高い機能であり、2009年には多くのプロセッサベンダーが、自社製品におけるタッチセンサーのサポートを開始したり更新したりしていた。多くの場合、そのサポートには開発キット(デモキット)の提供が含まれ、それには、プロセッサとともにソフトウエアが同梱されている。それらを用いれば、開発者は容易にタッチセンサーの活用法を習得できる。その際にソフトウエア開発者は、タッチセンサーへのアクセス方法として、複雑さを隠蔽したAPI(Application Programming Interface)を用いることになる。タッチセンサーを管理/活用するのには、膨大な量の信号処理が必要となる。特にマルチタッチ製品では、タッチ入力による位置情報の信頼性を高めるために、信号のフィルタリングや校正が行われる。プロセッサベンダーは独自のタッチセンサー技術を構築しており、フィルタリングや校正などの面倒で複雑な処理を隠蔽してくれる。このことにより、開発者はコマンドジェスチャの認識など、より高レベルのタッチ入力の解釈に専念することが可能になるのだ。

 APIを利用した隠蔽によって、デジタル信号処理は“見えない技術”へと移行しつつある。このような状況であるためか、プロセッサベンダーやサードパーティから提供される実装の詳細については、特に気にしないというソフトウエア開発者が増えているという。そうした実装では、アセンブリ/C言語で記述されたソフトウエアに対して、コンパイラ組み込み関数を多用しながら手作業で最適化することにより、基盤となるハードウエアの性能を最大限に引き出すといったことが行われている。そのようにして最適化された実装の詳細を、APIにより、開発者に対して隠蔽することができる。

 チップメーカーがソフトウエアも提供することで、信号処理の専門知識を持たないソフトウエア開発者が、アルゴリズムの実装についてゼロから習得する必要がなくなる。このことから、チップメーカーはさらに広範囲のソフトウエア開発者をターゲットとすることができる。ソフトウエア開発者はシステムの付加価値を高められる部分を、なじみ深いC言語を用いた設計フローで開発することができ、ライセンス提供される「かなり手が加えられたタイミングクリティカルなコード」については気にかける必要がない。
脚注:
  • ※1…Cravotta, Robert, "DSP Directory", http://www.edn.com/dspdirectory
  • ※2…Cravotta, Robert, "Tee up your multiprocessing options," EDN, June 11,2009, p.24, http://www.edn.com/article/CA6662624
< 前へ 1 2 次へ >
この記事の目次 :

Sponsor Links [ PR ]

関連情報  by  Supplier Showcase

EDN RESOURCE CENTERpowered by Supplier Showcase

SPECIAL CONTENTS [ PR ]

最新ニュース

このコーナーのバックナンバー

キーワードタグ一覧