イメージ・ビデオ処理

次世代のイメージング・ビデオの要件に合わせて作られました

今日のアプリケーションプロセッサは、モバイルハンドセットやタブレット、デジタルTV、車載機器、ビデオゲーム、コンピュータビジョンといったアプリケーションで必要とされる、イメージおよびビデオの複雑な信号処理を扱うようにはできていません。

テンシリカのIVPは、消費電力やパフォーマンスの点で既存の製品からの大きなブレークスルーを果たすものです。それは、従来のプログラマブルデバイスでは実現できなかったアプリケーションを可能にします。

video thumbnail

Tensilica's New IVP Imaging/Video DSP (音声なし)

IVP DSPは、革新的なマルチフレーム画像キャプチャやビデオの前処理/後処理、ビデオの手ぶれ補正やハイダイナミックレンジ(HDR)イメージ、物体や顔の認識およびトラッキング、ローライト画像補正、デジタルズーム、ジェスチャー認識といった複雑なアルゴリズムを処理できるように特別に設計されました。

Did You Know?

The LTE/HSPA/3G baseband chip in NTT Docomo’s newest mobile phones use multiple Tensilica DPUs, including the HiFi Audio DSP and the 'ConnX BBE Baseband DSP.

他にはない特徴

マルチコア構成のホストCPUであっても、このような性能要求のアプリケーションの処理ができないことは、近年明らかになりました。1.5GHzで動作する4コアでも、高解像度のビデオ処理の消費電力は3Wに到達します。さらに、この中にはOSやその他の機能など、同時に処理しなければならないものの消費電力は含まれていません。将来の複雑なイメージング機能のサポートはもちろんのこと、今日についても、全くエネルギー効率の点で不足しています。

これらの機能のいくつかは、ハードウェアアクセラレータにオフロードされてきました。しかし、これらのハードウェア実装は柔軟性を欠くために、実質的にプログラムするのは不可能であり、それゆえに固定セットの機能への適用と限定されてしまいます。新たなアルゴリズム、拡張されたアルゴリズムが開発された場合には、それらのハードウェアブロックは再設計を余儀なくされます。そして、全てのありえるイメージおよびビデオエンハンスメントアルゴリズムに対して、ハードウェアブロックで対応しようとすると、その数は単に増加して行きます。

別のオプションとしては、イメージングアルゴリズムをGPUヘオフロードすることです。しかしながら、GPUは通常、3Dグラフィックのアルゴリズムに特化して設計された浮動小数点パイプラインからなります。ここまでの機能はイメージやビデオ処理アプリケーションには必要とされないか、または効率が非常に悪いものとなります。また、ほとんどのGPUのプログラミングはやや難しいという問題もあります。

ここに、テンシリカのIVPのようなプログラマブルソリューションの機会が開けます。それは、消費電力やパフォーマンスの点で既存の製品からの大きなブレークスルーを果たすものです。また、従来のプログラマブルデバイスでは実現できなかったアプリケーションを可能にします。今、イメージングおよびビデオアルゴリズムは、ピクセル演算に特に最適化して設計されたプロセッサベースのDSPで実行できるようになったのです。

イメージ・ビデオ処理の完全なプラットフォーム

IVPは論理合成可能なサブシステムで、優れた開発ツールと豊富なソフトウェアライブラリにサポートされています。その命令セットやメモリシステム、データ型は全て、8ビット、16ビット、32ビットのピクセル処理で高いスループットを達成できるように最適化されています。 

IVPは単なるプロセッサコアではありません。それは、イメージ・ビデオ処理の完全なプラットフォームです。

IVPサブシステム 

IVPプラットフォーム

プラットフォームの詳細

micro-DMA転送エンジン


μDMAエンジンは、インターリーブした3D転送をサポートしたDMAエンジンです。また、IVPコアに密結合されており、DMAのプログラミングやDMAの転送終了待ちのオーバーヘッドを削減しています。また、512ビット/サイクルでローカルデータメモリにアクセスするのと独立に、AXIバスに128ビット/サイクルで同時にアクセスします。ロードストアに対するメモリのレイテンシを消去します。最大で10ギガバイト/秒のスループットにより、解像度やフレームレートが要求する高速アクセスに追従することができます。

Direct RTLインターフェース


レガシーのRTLブロックと接続可能なオプションのポートにより、IVPコアとRTLブロックの間でメモリを経由することなく、ストリームデータや制御コマンドをやりとりできます。

Memory/Networkインターフェース


Memory/Networkインターフェースは、IVPコアとμDMAのトランザクションをまとめて、クラスタを構成することができます。

高いエネルギー効率


IVPは、16ビットピクセル処理(例えば、絶対値の差分や乗加算、シフトして飽和などの演算)では、CPUやGPUに比べてエネルギー効率が非常に高いコアです。例えば、IVPを自動的な論理合成/P&Rフローを用いて28nm HPMプロセス(regular Vt)に実装した場合、1080p30に対して16ビットピクセルデータで32ビットのインテグラルイメージ(integral image)の計算に10.8mWしか消費しません。インテグラルイメージは、顔認識や物体認識、ジェスチャー認識といったアプリケーションで一般的に使用されています。

高い性能


IVPの高い性能は、動き探索(motion search)や正規化相互相関(normalized cross-correlation)といった、高精度のブロック/特徴マッチング(block/feature matching)やオプティカルフロー(optical flow)で使用される、複雑なアルゴリズムのカーネルライブラリでも発揮されます。1920x1080フレームに対して、256x16ピクセル検索レンジ、9x3ピクセルブロックサイズで16ビットデータのスマート動き探索を行った場合、IVPでは1サイクルあたり142SAD(Sum of Absolute Difference:差の絶対値の総和)のレートに到達することができます。また、16ビットピクセルデータに対する正規化相互相関関数を32ビット精度で行うと、1秒あたり8x8ブロックで100万ブロックを算出できます。


 

A 32-Element Engine, 4-Way VLIW, 16-bit Fixed Point Imaging/Video DSP

The IVP is a licensable, synthesizable subsystem with rich software tools and libraries. The instruction set, memory system and data types have all been optimized for high-throughput 8-, 16- and 32-bit pixel processing. It has an architecture that can scale by both the number of element engines as well as the number of processors.

 IVP core

The IVP Core Architecture
With Sample Memory Sizes Selected

 

Details on the Core Architecture

Summary


The IVP core is based on Tensilica’s proven Xtensa architecture. It uses a 4-way instruction issue with up to three pixel arithmetic operations per cycle (MUL, MAC, select, shift, ALU). It is capable of two 512-bit (32x16-bit) pixel data memory references per cycle.  It features a 32-way vector SIMD with 16-bit register elements. It employs 8– and 16-bit memory elements. And its instruction set is further extensible by the designer.

32-way Vector SIMD Dataset


Each SIMD slide contains a rich set of computations resources:

  • 3 independent 16-bit ALUs, 16x16 multiplier, 16-bit variable shifter
  • 3 register files per slide (pixel register file, predicate register file and shift select register file)
  • Interface to memory system that loads 8- or 16-bit data
  • Cross-element select and reduction network for arbitrary number of element swaps or reduction of operations per cycle (e.g. reduction min-max, reduction adds)
  • Memory rotator that operates at full rate on data from or to unaligned structures
  • Prediction fully supported by compiler for high utilization

4-way VLIW


The 4-way VLIW issue of vector operations gives an almost arbitrary mix of loads, stores, multiplies, and three ALU operations all taking place simultaneously across all 32 element engines.

Custom Instructions


The IVP features many imaging-specific operations to accelerate 8-, 16- and 32-pixel data types and video operation patterns.

A Highly Customizable Processor


Because the IVP is based on Tensilica’s proven Xtensa architecture, the core can be further optimized and configured using Tensilica’s automated processor generator system. Please see the Xtensa section for all of the options available. The Xtensa Processor Generator creates a complete hardware design with matching software tools, including a mature, world-class auto-vectorizing compiler, a cycle-accurate SystemC-compatible instruction set simulator (ISS) and the full industry standard GNU toolchain.
 

Our Proven, Comprehensive HW and SW Design Environment

DPU design process

 

For Processor Designers

Tensilica delivers patented, proven tools that automate the process of further customizing and delivering the IVP along with matching software tools. These tools have been proven in hundreds of designs. You get RTL, EDA scripts, and reference test bench and test cases. You also get an instruction set simulator, fast functional simulator, SystemC modeling tools, and pin-level cosimulation.

View the complete set of tools for processor designers.

Software development process

For Software Developers

Tensilica provides a comprehensive Software Developer's Toolkit with code generation and analysis tools that speed the development process. Tensilica's Eclipse-based Xtensa Xplorer Integrated Development Environment (IDE) serves as the cockpit for the entire development experience. Our C/C++ Compiler is very highly rated, and has auto-vectorization to make compiling your code onto the IVP much easier. 

View the complete set of tools for software developers.

Port your software quickly in C - no assembly porogramming is required or recommended. Even our partners port and optimize their software in C. We also provide an image processing library to speed up your software design.

IVP Board

Application Demo Platform

Running imaging/video applications in real time requires the complete pipeline from sensor to processor to video output. This FPGA-based demo platform allows for integration of imaging applications in a real-time environment.

ドキュメント

製品概要

Title File Size Last Modified
IVP Imaging/Video DSP Product Brief
The IVP imaging/video DSP includes a unique instruction set tuned for multi-frame image capture and video pre- and post-processing algorithms, as well as video stabilization, HDR for image and video, object and face recognition and tracking, low-light enhancement, digital zoom and gesture recognition.
157 KB 02/11/2013

 


Did You Know?

Did You Know?

Tensilica is the largest privately held semiconductor IP licensor?

©2017 Tensilica Inc. All rights reserved.