Upload
ngocong
View
234
Download
0
Embed Size (px)
Citation preview
Overview of the OpenVG, a vector graphics API
and
Introduction to IWAYAG, an native OpenVG accelerator
December 18, 2009
Hiroshi Fujiwara
NEC System Technologies, Ltd.
© NEC Corporation 2009Page 2
Agenda
▐ Overview of the OpenVG, a vector graphics API
� Graphics models. Summary and Comparison
� OpenVG Key features, Eco-System and Market
� OpenVG Pipeline Design
� OpenVG Implementations
� OpenVG1.1
▐ Introduction to IWAYAG, a native OpenVG accelerator
� IWAYAG Features
� Implementation Examples of IWAYAG
� IWAYAG Performance
� IWAYAG Eco-System
� Loadmap
� Demonstration at Khronos booth
© NEC Corporation 2009Page 4
Summary of typical graphics models
Text Drawing Shape Drawing Image DrawingPresentation Quality
Bitmap font Lines, Circles
Bitmaps
2D Graphics
3D GraphicsConvert Bezier
curve to polygons
Polygons withAnti-Alias
TexturesVector font(Outline font)
RealisticExpression
RealisticExpression
Vector Graphics
Direct Bezier
Curve drawing
Bezier Curves with Anti-Alias
PerspectiveTransformation
Animation-typeExpression
Semi-3DExpression
Vector font(Outline font)
.
..
...
© NEC Corporation 2009Page 5
Cost-Performance comparison between models
Cost to realize rich graphics by each approach
Required CPUGraphics HW Cost Suitability
2D× High Performance
Expensive, High Power◎ Small footprint
Low Power × Poor
3D × Large footprintHigh Power
○ Over spec ?
Approach
Vector○ Low Performance,
Low cost, Low power○ Medium footprint
Low Power◎ Good overall
balance
Cost (gate size, power consumption)~500Kgate 1Mgate
Function and Performance of Graphics hardware
2D Graphics2D
Vector Graphics
VG
3D Graphics3D
Primitive
Animation
Realistic
■ Output Quality
+ Heavy CPU Processing
○ Low Performance,Low cost, Low power
© NEC Corporation 2009Page 6
OpenVG – Accelerated Vector Graphics
▐ OpenVG is the industry’s first native Bezier rendering API
� Enables a new class of hardware acceleration – Bezier primitives – not
polygons
• Smaller command/data list and no tesselation required, allowing such devices that have limited CPU/memory resources to enjoy rich graphics
▐ Primarily used to accelerate higher-level engines
such as Flash and SVG
� OpenVG is an OpenGL-style, low-level API –
but many artists prefer tools over
programming
▐ Support set of primitives to realize high quality graphics
� Gradation (A)
� Alpha Blending (B)
� Projective Transformation (C)
� Vector font (D)
� Anti-Alias (E)
Applications
2D Hardware Acceleration
SVG, Flash, Font Package etc..
© NEC Corporation 2009Page 7
OpenVG Eco Systems
Flash
Web browser
AnimationRich UIRich
ContentsDocument
Viewer
XAML WebkitCairo SVG Font
Linux WindowsCE ITRON SymbianAndroid
OpenVG
Applications
Middle Ware
OS
▐ FlashLite 3.1.5 is the most popular Open-VG app (middle ware) as well as vector fonts
▐ 2D graphics library like Cario can be ported on OpenVG, allowingWebKit to be accelerated
▐ XAML player can also take advantage of OpenVG
© NEC Corporation 2009Page 8
RichUI is becoming a MUST in Embedded Devices. OpenVG is wide-
spreading to these devices
Apple introduced iPhone featuring touch screen based rich user interface to mobile phone
User interface was recognizedas one of key success factors
Many mobile phone venders followed apple,introducing the touch screen based UI
Rich UI market is extending to car navigation devices, digital cameras, TVs, etc
OpenVG is getting widely accepted as a graphics API for the
embedded devices
Digital TVMobile Phone Digital CameraPrinter
© NEC Corporation 2009Page 9
OpenVG pipeline design
▐ Like other Khronos APIs, OpenVG has been designed to enable software to effectively use silicon
▐ Pipeline has also been architected as “silicon-ready” design
© NEC Corporation 2009Page 10
OpenVG Implementations
▐ There are a wide range of OpenVG implementations possible
� Depending on the price point and target device architecture
▐ 3D GPUs can accelerate both OpenVG and OpenGL ES APIs
� Good approach for those devices requiring true 3D and VG
▐ Dedicated VG accelerator allows higher performance rendering in lower cost
than 3D GPUs
� Good approach for those devices that do NOT require true 3D
100% Software2D Graphics
(2D blit and Image)
Dedicated VectorGraphics engines(Fully accelerate )
3D GPUs(Accelerate Bezier
Renderer usingshader language )
Very low cost Low cost High performanceBest C/P for VG only
High performancefor both of VG and 3D
© NEC Corporation 2009Page 11
OpenVG 1.1
▐ OpenVG 1.1 specification publicly released at SIGGRAPH Asia 2008� Together with open source sample implementation and full Conformance Test Suite
▐ OpenVG 1.1 Conformance Test� Comprehensive set of tests (~900 test cases)
� Conformant implementation has to pass all of them
▐ Major features� Adobe Flash 7 / Flash Lite 3 support
� Glyph API for hardware accelerated text rendering
� Multi-sampled anti-aliasing
© NEC Corporation 2009Page 13
History of Graphics products at NEC System Technologies
EXB
TADARET
CCE ZBC
GPC JAB
COA2
CDCNGPC
FIREROE3A
WBA
COA3
PEC
GA400-3
APEC
PEAR
GRAPE
WILL WAVE
3D Graphics Products3D Graphics Products
TE1 TE2 TE3 TE3VTE3A TE4TE4Pro TE5
TTL/PAL TTL/PAL
AGSDRCSPOCK2 SSK
SSP2
ICE USK3
ECA3 EMA
ELI
KOUMEI2 TPL
LIGHT
WIN
VEC
Standard GraphicsStandard Graphics
Fast2D GraphicsFast2D Graphics
Standard 2D GraphicsStandard 2D Graphics
Lowend 2D GraphicsLowend 2D Graphics
Video acceleratorVideo accelerator
LCD supportLCD support
NotebookNotebook2D Graphics Products2D Graphics Products
GCONMDGC
GA88 Series
:LSI
:Board products
Graphics IP ProductsGraphics IP Products
1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
GCONRCON GCON2
© NEC Corporation 2009Page 14
What is IWAYAG?
IWAYAG design and features
-Native OpenVG accelerator
-Architecture of IWAYAG is based on the OpenVG
pipeline stage design
-Path generation to Blending/Anti-alias stages are
implemented by hardware
-No CPU tessellation. Fill is done by hardware
using outline buffer
-Hardware bezeir rasterizer
-Extensive cache control mechanism for fast filling
-Support fast FSAA
IWAYAG is a graphics accelerator dedicated for vector graphics, consisting of
-Hardware IP core to be incorporated to the customer’s SoC
-OpenVG driver
Path generation to Blending/Anti-alias stages are implemented by hardware
© NEC Corporation 2009Page 15
Why IWAYAG ?
Requirements from the consumer devices market
-Flash support
-Many consumer device manufacturers plan to incorporate richer UI
-Flash support is a MUST to efficiently develop the rich UI
-Smooth playback of Flash contents while using low-end CPUs
-Cost and/or battery power limits CPU selection
-100Mhz CPU without FPU is common for Digital cameras.
-Long battery life
-Flash acceleration by 3D engine consumes too much battery powers
Native OpenVG graphics accelerators best meet the requirements
-Good Flash performance while using low-end CPUs
-Much lower power and die size than 3D engine
© NEC Corporation 2009Page 16
PPC440@300Mhz
Linux
FlashLite(Software Rendering)
Flash Contents
PPC440
Linux
FlashLite 3.1.5(OpenVG version)
Flash Contents
IWAYAG HW
OpenVG 1.1Driver
Software version Hardware version
-CPU is PowerPC440 @ 300MHz-Though IWAYAG has been designed to run at 200MHz clock, this implementation drives IWAYAG at 50MHz due to the limitation of the board
PowerPC 440@300MHz
CrossbarSwitch
MemoryController
128bit200MHz
GA88IWAYAG
@50MHz
128bit100MHz
DisplayController
128bit100MHz
Virtex5-FX130T FPGA
FPU@100MHz
DDR2 400DIMM
RS232C
RS232C
Flash I/FCompact
Flash
Xilinx ML510 FPGA Evaluation Board
DisplayMonitor
ControlConsole
Implementation Example of IWAYAG
(1) Xilinx ML510 (PowerPC440 based FPGA board)
Performance data demonstrated in the following pages were measured by executing Flash contents both in software renderer (disabling IWAYAG) and hardware renderer (enabling IWAYAG) on the same ML510 board
© NEC Corporation 2009Page 17
Performance Improvements on Flash Contents by IWAYAG (1)
Average execution time per frame (ms)
Average execution time per frame (ms)
Average execution time per frame (ms)
(1)002_motionTweenLine.swf
(2)003_motionTweenGradient.swf
(3)004_motionTweenBMP.swf
FlashPlayer IWAYAG Driver IWAYAG Hardware
Software
IWAYAG 50MHz
IWAYAG 200MHz
(Estimated)
Acceleration ratio = 3.0
fast
Acceleration Ratio = 3.0-7.3
Acceleration Ratio = 3.5-8.9
Acceleration Ratio = 3.8-11.5
fast
fast
Acceleration ratio = 3.8
Acceleration ratio = 3.5
Software
IWAYAG 50MHz
IWAYAG 200MHz(Estimated)
Software
IWAYAG 50MHz
IWAYAG 200MHz(Estimated)
Update
© NEC Corporation 2009Page 18
Performance Improvements on Flash Contents by IWAYAG (1)
Average execution time per frame (ms)
Average execution time per frame (ms)
Average execution time per frame (ms)
(4)005_motionTweenText.swf
(5)006_motionTweenMC.swf
(6)007_shapeTween.swf
fast
fast
fast
Acceleration Ratio = 2.9-7.8
Acceleration Ratio = 2.4-6.7
Acceleration Ratio = 3.4-9.1
Acceleration ratio = 2.9
Acceleration ratio = 2.4
Acceleration ratio = 3.4
Software
IWAYAG 50MHz
IWAYAG 200MHz(Estimated)
Software
IWAYAG 50MHz
IWAYAG 200MHz
(Estimated)
Software
IWAYAG 50MHz
IWAYAG 200MHz(Estimated)
FlashPlayer IWAYAG Driver IWAYAG Hardware
Update
© NEC Corporation 2009Page 19
Performance Improvements and CPU Usage analysis
43fps 39%
CPU
Video
Network
Graphics
I/Os
Application
- CMD/DATA Setup
CPU
Video
Network
I/Os
Application
IWAYAG
Vector Graphics Engine
Rasterizer
(w/cache control)
Clipping
Masking
Paint
Image fill
(w/image cache)
Alpha blending
Coordinate
transformation
Path
Generation
Bus controller
Software Rendering
CPU+IWAYAG
Measured by Adobe FlashLiteWith Motion_Tween_BMP.swf
Performance CPU Usage
X 3.3 △55%
3.3 times betterPerformance by
55% CPU Usage
3.3 times betterPerformance by
55% CPU Usage
94%13fps- Path generation
- CoordinatesTransformation- Rasterize
- Paint- Image
- Bledning
Graphics
- CMD/DATA Setup
Graphics processing
Offloaded to IWAYAG
© NEC Corporation 2009Page 20
0 50 100 150 200
0 50 100 150 200
Performance versus CPU clock
Average execution time per frame (ms) fast
CPU 300MHz CPU 200MHz CPU 125MHz
Average execution time per frame (ms) fast
Software
IWAYAG 50MHz
CPU 125MHz
CPU 200MHz
CPU 300MHz
CPU 125MHz
CPU 200MHz
CPU 300MHz
004_motionTweenBMP.swf Software renderer performs in direct proportion to CPU
clock
Hardware renderer is almost independent to CPU clock
↓
Enables high FPS rate with Low power CPU devices
© NEC Corporation 2009Page 21
FPGA
SiP
SoC
Device Cost
Volume
Development CostDevice CostTechnology
HighLowSoC
FairFairSiP
LowHighFPGA
Implementation Example of IWAYAG
(2) NEC EP-3 SiP (System in a Package)
IWAYAG in EP-3 is a solution for the customers to develop OpenVG-ready custom
micro controllers in much lower development cost and time than SOC.
IWAYAG in EP-3 is a solution for the customers to develop OpenVG-ready custom
micro controllers in much lower development cost and time than SOC.
The EP-3 from NEC Electronics is a latest SiP (System in a Package) device, which features a 32-bit CPU and a user logic (gate array) in single package.
With EP-3, the customer can create custom microcomputers mounted with a CPU coreand custom logic, by designing and developing only a Gate Array. Therefore the development cost and time can be drastically reduced compared with SoC design.
IWAYAG in EP-3 allows the customers to develop OpenVG-ready custom micro controllers in low development cost and time. IWAYAG in EP-3 is ideal solution for those brown goods, industrial devices and OA devices that the production volume is relatively small and life cycle is relatively short.
The EP-3 from NEC Electronics is a latest SiP (System in a Package) device, which features a 32-bit CPU and a user logic (gate array) in single package.
With EP-3, the customer can create custom microcomputers mounted with a CPU coreand custom logic, by designing and developing only a Gate Array. Therefore the development cost and time can be drastically reduced compared with SoC design.
IWAYAG in EP-3 allows the customers to develop OpenVG-ready custom micro controllers in low development cost and time. IWAYAG in EP-3 is ideal solution for those brown goods, industrial devices and OA devices that the production volume is relatively small and life cycle is relatively short.
© NEC Corporation 2009Page 22
V850E2M(266MHz)
InternalMEMC
ExternalMEMC
Peripheral
IWAYAG
Bridge
SDRAM32MB
SRAM
4MB
Flash8MB
RAM
DisplayController
To LCD
FPGA
EP-3 Evaluation Board
V850EP3
Implementation Example of IWAYAG
(2) NEC EP-3 SiP (System in a Package)
In this prototype implementation, EP-3 evaluation board which consists of
CPU and FPGA is used. IWAYAG is installed in the FPGA.
In this prototype implementation, EP-3 evaluation board which consists of
CPU and FPGA is used. IWAYAG is installed in the FPGA.
Block Diagram
V850 GateArray
© NEC Corporation 2009Page 23
IWAYAG Eco-System
Outline font, drivers
Middleware
IWAYAG Graphics IP
Hardware Driver
FlashLite Player
HTML renderer
(Planning)
Other Middleware Products
Browser(Planning)
Application Design Services
Board Design/Manufacturing Services
IWAYAG Porting/Customization Services
Other IPs
Gesture UI Engine(Planning)
XAMLPlayer
(Planning)
2D graphics library
(Planning)
The user interface design is becoming a key success factor in many devices. We are supporting these demands extending the eco-system of IWAYAG to meet
various needs from the customers.
- FlashLite and Outline font are already available- Planning to support XAML player, 2D graphics library like Cairo and HTML
renderer like Webkit- Gesture UI engine is under planning as a companion IP for the next generation UI
The user interface design is becoming a key success factor in many devices. We are supporting these demands extending the eco-system of IWAYAG to meet
various needs from the customers.
- FlashLite and Outline font are already available- Planning to support XAML player, 2D graphics library like Cairo and HTML
renderer like Webkit
- Gesture UI engine is under planning as a companion IP for the next generation UI
© NEC Corporation 2009Page 24
Loadmap
2007
2008
OpenVG1.0
OpenVG1.1
Extends the rich UI by OpenVG to wider range of the devices
2009
Lowend products- Smaller gate size- Lower power consumption- Lower IP cost Highend products
- Improved OpenVG acceleration- Support future versions of OpenVG - 3D support (OpenVG+3D hybrid)- Support variety of display devices- Easier customization
Coming Soon!
© NEC Corporation 2009Page 25
Demonstration at Khronos booth
Booth: C12-⑤
NEC
LCDLCDLCDLCD
ML510ML510ML510ML510 demo boarddemo boarddemo boarddemo board
PCPCPCPC
VirtualVirtualVirtualVirtualControlControlControlControlAreaAreaAreaAreaDemonstration EnvironmentDemonstration EnvironmentDemonstration EnvironmentDemonstration Environment