マルチメディアは、SoCtronicsが注力する重要な専門分野の一つです。同社は20年近くにわたり、オーディオ、スピーチ、ビデオ技術に深く関わっており、この分野で高い経験を持つチームを擁しています。また当社は、家電、自動車、放送などの分野で多くのトップクラスの企業と協力し、リッチなマルチメディアソリューションを実現しています。
お客様の声
- 米国に拠点を置く某CPUプロセッサー会社のハンドヘルド部門ディレクター様
-米国に本社を置くプロセッサー、IP、EDAソリューションのMNC、ソフトウェア 生産エンジニアリング担当シニア・マネジャー様
-放送用エンコーダ・デコーダ製品に携わる米国系スタートアップ企業のCEO様
マルチメディア・アルゴリズムとIP
SoCtronicsは、マルチメディア・コーデックとアルゴリズムIPの両方を提供するとともに、それらの開発のためのサービスも提供しています。 SoCtronicsは、オーディオ、スピーチ、ビデオ、イメージングの各領域において、様々なマルチメディア・アルゴリズムとコーデックを手がけてきました。SoCtronicsのオーディオ/ビデオコーデックは、最適なアルゴリズムと慎重に微調整された技術により、クラス最高の品質と性能を達成しています。
オーディオ/スピーチ/画像/ビデオに関する専門知識

Parametric equalizer
実例紹介
View more
人は、聞こえる音の周波数によって、感度が異なることがあります。補聴器は、この問題を解決するために様々な技術を使用します。ゲイン調整やイコライジングは、特定の周波数帯域を増幅する技術の一つです。 SoCtronicsのパラメトリック・イコライザーは、特定の周波数帯域のゲインを調整・変更するために使用される高精度なイコライザーです。
100Hzから16KHzまでの10バンドをサポートするように設計されています。バンドゲインは-40dBから+40dBまで幅広く対応しています。またピーキングフィルタをカスケード接続し、10バンド・イコライザーを構成しています。このイコライザーは、帯域間の相互作用による利得のオーバーシュートの問題に対処するように設計されています。最適な利得は、全帯域の望ましい利得と各フィルターの周波数応答から、最小二乗法を用いて導き出されます。ゲインが調整されるたびにピーキングフィルターが作られ、そのフィルター係数がイコライザーに渡され、与えられた入力にフィルターをかけ、目的のイコライズ出力を得ます。この設計は、任意のチャンネル数に拡張可能であり、各チャンネルに異なるゲインを適用することができます。

スピーカー保護アルゴリズムの開発
事例紹介
View more
携帯電話は携帯音楽プレーヤーとして普及しているため、音楽再生には内蔵のマイクロスピーカーが使用されます。そのため、機器メーカーはスピーカーから再生される音量を最大にしようとしまう。ところが音量が大きくなると、スピーカー膜の動きによるオーバーエクスカーションや、スピーカーへの電力供給が多くなることによるコイルの過熱により、スピーカーにダメージを与えてしまいます。それらから内蔵されたマイクロスピーカーを保護する必要があります。 そこで、スピーカーアンプからのフィードバック信号であるVMONとIMONを用いて、スピーカーをオーバーエクスカーションやコイルの発熱から保護するアルゴリズムを開発しました。
アルゴリズムは、まずVMONとIMONをもとにスピーカーのインピーダンスをモデル化します。スピーカインピーダンスモデルから抽出されたパラメータは、エクスカージョンモデルの構築とコイルの温度推定に使用されます。予測された温度に基づいて音声信号を減衰させ、信号のオーバーエクスカーションを監視します。スピーカーにダメージを与える可能性のあるオーバーエクスカーションが観測された場合、エクスカーションのレベルに応じて信号を制限します。 SoCtronicsは、さまざまなお客様のスピーカー保護アルゴリズムの開発および移植に携わりました。複数のバージョンのアルゴリズムがQDSP、Cortex-A53、Cirrus DSPなどのプロセッサーに移植されました。これらのアルゴリズムは、さまざまなプラットフォームやスピーカー用にチューニングされ、リアルタイムでの問題に対処しました。

サンプルレート・コンバーター
事例紹介
View more
サンプルレート・コンバーターの目的は、あるサンプルレートのデジタルオーディオ信号を、可能な限り歪みを抑えて別のサンプルレートに変換することです。設計が不十分なリサンプラーは、出力信号にエイリアシングやイメージを発生させ、元の信号を誤認させることになります。
SoCtronicsのSRCは、出力信号の品質を維持しながら、MIPSとメモリの面で最適化されたソリューションです。フィルターは、必要な周波数をロスなく通過させるために非常にシャープな遷移帯域を持ち、画像やエイリアシングを除去するために停止帯域で最も高い減衰を持つように設計されています。このステレオSRCは、8-192KHzの全てのオーディオサンプルレートで動作します。このSRCは、ARMとシーラス社のDSPチップセットに移植されています。

オーディオ処理サブシステム (APS)
事例紹介
View more
Audio Processing Subsystem (APS) は、すべてのオーディオ/スピーチコーデックとポストプロセッシングアルゴリズムを高速化することができる強力なオーディオエンジンです。これにより、アプリケーションプロセッサやホストCPUからオーディオ処理の負荷を軽減し、システム全体のパフォーマンスとレスポンスを向上させることができます。
スピーチストリームを並行して処理し、必要なサンプリングレート変換とミキシング処理を実行して直接レンダリングするか、処理したデータをレンダリングのためにホストに提供する機能を持っています。 このサブシステムは、システム設計者が性能、消費電力、ダイサイズの観点からスイートスポットを選択でき、高度なコンフィギュレーションを設定できるように設計されています。

ポーティングと実装
SoCtronicsのマルチメディア・チームは、様々なRISC/DSPプラットフォームに関する膨大な専門知識を有しています。一般的なDSPやRISCプラットフォームに携わってきたチームは、豊富な知識により、あらゆるアルゴリズムをあらゆるプロセッサー上で最適な形で実現することができます。SoCtronicsのエンジニアは、各種コンパイラやツールチェーン、最適なコードを実現するための各種オプションに精通しているだけでなく、プロセッサーのリソースを最も効率的に活用するためのCレベルの最適化およびアセンブリプログラミングのエキスパートでもあります。また、複数のRISCコアやDSPコアにソフトウェアを分割し、慎重にパイプライン化することで高度な並列処理を実現した実績もございます。 また、ビデオ処理における並列計算の一部をGPUでオフロードするOpenCLの分野でも豊富な経験を有しています。
プラットフォームに関する専門知識

Cirrus smart codecを使ったヘッドセット・サラウンド・サウンド
事例紹介
View more
オーディオOEMのお客様が開発したヘッドセット製品にサラウンドサウンドの実装を行いました。オリジナルのステレオ・サラウンド・アルゴリズムの実装は、複雑な高次フィルターを使用した浮動小数点実装として開発されました。 SoCtronicsチームは、これを7つのDSPコアを持つCirrus smart codecに実装することを担当しました。このアルゴリズムは複雑で、より多くのメモリを必要とするため、複数のDSPコアに分割して実装する必要がありました。
以下は、その主な内容です
- アルゴリズムを複数のステージに分割し、各ステージを異なるDSPコアに実装するハードウェア・ソフトウェア設計 - 並列処理とパイプラインによる実装を含む
- 浮動小数点から24ビット固定小数点への実装
- コンパイラ指令によるコードの最適化
- シーラスDSP SDK/フレームワークとの統合
- コア間通信、同期、遅延処理を含むマルチコアのインプリメンテーション
- シミュレーション(ChessIDE)および実ハードウェア(リアルタイム・テスト)でのテスト
- Samsung Galaxy S6向けにサラウンドの有効/無効を選択できるAndroidベースのメディア・プレーヤー・アプリケーションをカスタマイズして開発し、Cirrus smart codecで動作するオーディオ・エンハンスメントのデモを実施しました。

HiFi DSPファミリにおける圧縮アルゴリズム
事例紹介
View more
ゲーム・オーディオでは、複数のオーディオ・ストリームが並行して処理されます。この処理をメインCPUからオフロードするために、テンシリカのHiFi DSPを搭載したオーディオコプロセッサが使用されました。この作業では、1つのテンシリカDSPコアで、複数のオーディオとスピーチアルゴリズムのインスタンスを同時に実行されています。 対象となるユースケースの1つは、最大256インスタンスのMP3デコードと、Dolby Digital PlusとG.729デコーダをそれぞれ1インスタンスずつ同時にサポートすることでした。これを実現するためには、各実装をMIPSとメモリの両面から徹底的に最適化する必要がありました。SoCtronics DSPチームは、品質に妥協することなく、アルゴリズムとアーキテクチャの両レベルでこれらの実装を最適化することで、この目標の達成に貢献しました。 HiFi2に移植されたアルゴリズムには、Dolby Digital Plus、AAC-LC、MP3、g729などがあります。
主な内容は以下の通りです。
- 精度とMIPSに基づき、32ビット/24ビットが必要な関数を決定する。
- 浮動小数点/32ビット固定小数点から32/24ビット固定小数点への変換
- MIPSとメモリに対するアルゴリズム・レベルの最適化
- ビットストリーム命令や可変長エンコード/デコード命令を利用するためのコード変更
- Intrinsicsを使用したコードの最適化
- 規格に準拠したアルゴリズムのテスト
- Dolby社のコーデックでDolby社の研究所で定義されたテストベクタ解析と評価テスト
ARC600での圧縮とポスト処理アルゴリズム
事例紹介
View more
この仕事は、某半導体メーカー様の依頼で、複数の圧縮・後処理アルゴリズムの移植、ハードウェア上での統合・検証を担当したものです。アルゴリズムは、ARC600で利用可能なリソースを効率的に使用するように設計されています。ARC600アーキテクチャの主な特徴は、信号処理のワークロードを高速化するためにXYメモリを利用できることです(ロード/ストアのオーバーヘッドを回避できます)。しかし、このメモリはサイズが限られているため、アルゴリズムの実装では、バースト転送を使用してメインメモリからこれらのXYメモリに関連データをバックグラウンドで取得するように設計する必要があります。SoCtronicsチームは、これらのコンセプトを幅広く活用し、ARC600コアに高度に最適化された実装を提供しました。
以下はその主な内容です。
- 浮動小数点から32ビット固定小数点への変換
- MIPSおよびメモリに関するCコードおよびアルゴリズム・レベルの最適化
- MIPSを多く消費するファンクションを見つけ、利用可能なXYメモリのサイズに基づいてファンクションとデータの分割を行いました。
- メインメモリからXYメモリへのバースト転送の計画、バースト転送の完了チェック
- キャッシュ無効化が必要な部分の特定とその実装
- MIPS最適化をさらに進めるためのDSP拡張、イントリンシック、アセンブリコーディングの使用
- ARC metawareツールでのテストとxCAMによる性能解析
- ARCangel AA5 Hardwareプラットフォームでの検証。
マルチメディア・システム・ソフトウェア
SoCtronicsのマルチメディア・チームは、マルチメディア関連のドライバ、ミドルウェア、アプリケーション開発において豊富な経験を持っています。RTOSベースのデバイスからAndroidベースの携帯電話まで、様々なマルチメディアデバイスのソフトウェアスタックに取り組んできました。 ハードウェアレベルでは、I2C、SPI、I2Sなどのさまざまなインターフェースを使用したオーディオコーデック、アンプ、ディスプレイなどを扱っており、Linuxと各種RTOSベースのシステムの両方で、これらのデバイスやインターフェースのドライバー開発に携わっています。また、マルチメディア処理をハードウェアコプロセッサにオフロードするために、様々なハードウェアアクセラレータの統合やドライバの記述にも取り組んでいます。 SoCtronicsは、GStreamer、Stagefright、MediaFoundation、DirectShow、OpenMAX ILなど、さまざまなマルチメディアフレームワークを扱った経験があります。当社では、OpenMAX ILの独自の実装と、リソースに制約のあるデバイスに使用できるMedia Component Adaptation Layer(MCAL)という軽量な独自のフレームワークも持っています。SoCtronicsのOpenMAX IL実装は、OpenMAX IL仕様のフル機能を実現しており、ハードウェアおよびソフトウェア・アーキテクチャに応じて、マルチメディア・データ・フローを効果的に最適化するさまざまなトンネリング・モードを提供します。 私たちのチームは、様々なソフトウェアおよびハードウェアで最適化されたオーディオおよびビデオコーデックやその他のマルチメディアコンポーネントをこれらのフレームワークに統合しています。
超低消費電力SoC向けオーディオ・プレーヤースタック
事例紹介
View more
ウェアラブルおよびIoT市場向けの超低消費電力SoCのオーディオ機能全体とスタックを開発しました。この作業には、以下のようなポーティングや開発が含まれています。
- Nucleus RTOSのポーティング
- SDドライバとファイルシステム
- オーディオコーデック、ディスプレイ、MP3デコードハードウェアアクセラレータ、I2SおよびI2Cバスドライバなど、すべてのマルチメディア固有のペリフェラルとIP用のドライバ。
- リッチなユーザ体験を実現するInflexion UI
- SoCtronics独自のMCALスタックに基づくオーディオフレームワーク。
- パーサー、レンダラー、デコーダー、ミキサーなどのコンポーネント。
- オーディオ・プレーヤー・アプリケーションとGUI
- メディア情報やプレイリストを保存するための軽量化されたデータベース

スマートホーム・デジタル・アシスタント
事例紹介
View more
ホームオートメーションの世界では、スマートアシスタントが現在のトレンドです。消費者は、Google HomeやAmazon Alexaなどのデバイスを、オーブントースター、照明、さらには入退室管理システムなどの日常的な家電製品にシームレスに統合することを望んでいます。 SoCtronicsは、音声検出とクラウドとの通信を行う遠距離音声キャプチャ・ソリューションのフルスタックを開発しました。この低消費電力ソリューションは、ホームオートメーションやハンズフリー機器など、多くのユースケースで役立ちます。
その内容は以下のようなものです。
- ALSAベースのLinuxドライバを開発し、プラットフォーム上でオーディオコーデックを使用できるようにしました。
- 遠距離音声キャプチャアルゴリズムをスマートオーディオコーデックのDSPコアにポーティング
- DSPで処理されたマイク信号をSPIインタフェースで読み出すアプリケーションを開発
- AVSとの通信
- アルゴリズムの調整と、デバイスの無線LANへの接続、AVSへのデバイスの登録などのユーザーインタフェースを容易にするためのWebコンソールアプリケーションを開発。

Android OSへのハードウェアビデオアクセラレータの統合
事例紹介
View more
最新のグラフィックカードでは、電力消費を抑え、システムの他の部分にもっと多くのリソースを使えるようにするために、ビデオのデコードとエンコードをCPUからグラフィックカードにオフロードすることが可能です。CPUと比較すると、GPUははるかに効率的に仕事をこなします。しかし、このオフロードには、ハードウェアだけでなく、ソフトウェアのサポートも必要です。 SoCtronicsは、ハードウェアビデオデコーダおよびエンコーダを有効にするために必要なアンドロイドスタックを開発しました。
その作業内容は以下の通りです。
- デコーダとエンコーダのためのOpenMAXコンポーネントの実装(AVC、HEVC、VP9など)
- OpenMAXコンポーネントをAndroidのstage-frightフレームワークにリンク
- セキュア・ビデオ・コンテンツの再生支援:DRM、Wide-wine。
- メモリとパフォーマンスの最適化
- Androidとの互換性、ベンダーのテストスーツに準拠
- ビデオ・ポスト・プロセッシング・アルゴリズムの統合。
- グラフィック・サブシステムで異なる色形式をサポート。
