instituto universitario de microelectrónica aplicada víctor reyes suárez [email protected] 1...

30
Víctor Reyes Suárez [email protected] 1 Instituto Universitario de Microelectrónica Aplicada CAMELLIA: Core for Ambient and Mobile intELLigent Imaging Applications Curso de doctorado: Diseño de Procesadores para Multimedia Profesor: Antonio Núñez Junio 2004

Upload: ricardo-miguelez-parra

Post on 02-Feb-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

1

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Applications

Curso de doctorado: Diseño de Procesadores para MultimediaProfesor: Antonio NúñezJunio 2004

Page 2: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

2

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

AgendaAgenda

1. Introducción2. Objetivos3. Campo de aplicación4. Arquitectura del sistema5. Smart Imaging Copro6. Estimador de Movimiento7. Soporte software8. Conclusiones

Page 3: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

3

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

IntroducciónIntroducción

Motivación: crecimiento de la demanda en las áreas de aplicación de las “Smart Cameras”

“Smart Imaging” combina:

o Captura de imágenes y video

o Procesamiento e interpretación del contenido de las escenas

Nace el proyecto CAMELLIA IST-2001-34410

Incrementar la competitividad europea frente a USA

Page 4: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

4

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

ObjetivosObjetivos

Desarrollar un “Smart Imaging” SoC que pueda ser embebido en una cámara

Basado en una existente plataforma de compresión de video MPEG

“Low-cost” y “Low-power”

Alta potencia de procesamiento – Ejecución en tiempo real

Máxima Flexibilidad: cubrir un amplio abanico de aplicaciones tipo “Smart Imaging”

Page 5: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

5

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Campo de aplicaciónCampo de aplicación Aplicaciones de automoción y de comunicaciones móviles

Detección de objetos a baja velocidad

Detección de peatones

Detección y seguimiento de caras

Estabilización de imagen

Solución flexible para cualquier otro tipo de aplicación de “Smart Imaging”

Page 6: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

6

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Estructura de las aplicaciones (ejemplo)Estructura de las aplicaciones (ejemplo)

Detección de objetos a baja velocidad:– Algoritmo de alto nivel: Filtro de partículas

(probabilidades)– Algoritmos de nivel medio:

• Segmentación de movimiento• Detección de sombras• Detección de luces• Detección de bordes• Detección de simetría

– Algoritmos de bajo nivel: Escalado, Operaciones aritméticas, Operaciones morfológicas, Filtrado lineal, Filtrado de media, Histograma, Sumatoria horizontal/vertical

Page 7: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

7

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada Detección de sombras:

– Busca áreas de oscuridad en la carretera– Utiliza: Histograma, Thresholding, Erosión,

Etiquetado+Blob

Road Histogram

020406080

100120140160180

1 21 41 61 81 101 121 141 161 181 201 221 241

Pixel value

Nu

m o

f P

ixel

s

Series1

Estructura de las aplicaciones (ejemplo)Estructura de las aplicaciones (ejemplo)

Page 8: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

8

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Estructura de las aplicaciones (ejemplo)Estructura de las aplicaciones (ejemplo)

Detección de bordes verticales:– Se basa en el cálculo la sumatoria vertical de

algunas zonas de la imagen. Normalmente primero se realiza un filtrado lineal para la detección de los bordes.

Page 9: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

9

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Arquitectura del sistemaArquitectura del sistema

VideoI/O

Core Architecture

MemoryCtrl

SystemMemory

InternalMemory

ARM9CPU

I/OCtrl

Camera

Display

Ext. Peripherals

Video Compression

Bus Infrastructure (Data, Ctrl, Sync)

Control del sistema y

algoritmos de medio y alto

nivel

ME TC BSG SmartImaging

ME

Coprocessors for core algorithmsCoprocesadores para procesamiento de bajo nivel

Plataforma base: Codificador de Vídeo MPEG4 de Philips

Page 10: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

10

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Mapeado de las aplicacionesMapeado de las aplicaciones

MLA 1 MLA 3 ( Motiondetection )

ParticleFiltering

Output stage

MLA 2 MLA 4

on ARM-CPUincluding likelihood functions

on ARM-CPU

LLALLALLA LLALLALLA LLALLALLA LLALLALLA

on SI coprocessor

on ME

Page 11: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

11

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Smart-Imaging CoproSmart-Imaging Copro Cada aplicación pueden ejecutar distintos LLAs y en distinto orden

Se requiere un mínimo de flexibilidad en el diseño

Arquitectura posicionada entre un ASIC y DSP

Ventajas:

- Equilibrio entre flexibilidad y eficiencia

- Flexibilidad de un DSP no se alcanza completamente, pero..

- .. casi se alcanza la eficiencia de un ASIC por medio de compartir recursos en el datapath

Page 12: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

12

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Diseño del coprocesador SI Diseño del coprocesador SI Desarrollar un único tipo de coprocesador que cubra todas las

aplicaciones

– Se busca compartir recursos (control, memoria, unidades funcionales)

– Se requiere una cierta programabilidad

– Se analizan los LLAs que se van a mapear en el coprocesador

– Se identifican y se clasifican las funciones y operaciones básicas de cada algoritmo

– Se extraen las operaciones aritméticas comunes Se obtienen los requerimientos para el data path Se define el conjunto de microinstrucciones

– Control del data path

Page 13: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

13

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Ejemplo de MicroinstrucciónEjemplo de Microinstrucción Condición Especial Máxima

– Aceleración de la operación morfológica Dilación– Encuentra el máximo valor en una segmento de imagen con

forma arbitraria

MAX MAX MAXMAX

REG REG REG REG

8 8 8 8

8 8 8 8

condition

4

Operands

Structuring Element

Entry

Page 14: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

14

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Controlando el coprocesador de SIControlando el coprocesador de SI Se elige un control jerárquico

- Para limitar la comunicación entre la CPU y el coprocesador

- Para simplificar la interfaz SW/HW

Level 1: Microinstrucciones (dentro del coprocesador)

- Para controlar el núcleo del coprocesador

Level 2: Macroinstrucciones (interfaz con el sistema)

- Para controlar el SI copro desde la CPU

- Para iniciar la ejecución de secuencia de microinstrucciones

- Para iniciar operaciones de transferencia de datos

Beneficio: Reducir la comunicación entre la CPU y el coprocesador, pero manteniendo la flexibilidad

Page 15: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

15

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Arquitectura del SI coproArquitectura del SI copro

Memory

Data path

Copro

cess

or

Contr

ol U

nit

Data I/O

RegFile Data RAM 1(a/b)

Data Ram 2(a/b)

Data Ram 3

Data IF

Macr

oin

stru

ctio

n

IF

SI Core

Arithmetic 1

Arithmetic 2

Accu Regs

RLE Unit

Syst

em

Contr

ol In

terf

ace

Contr

ol

IF

Page 16: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

16

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Datapath: Arithmetic 1Datapath: Arithmetic 1

ADD/SUB INV 2 x MUL THRESH SHIFT/ROTL

ABS

Pipeline Register

AND/OR/XOR

MIN/MAX HISTO LUT ADD/SUB

Indirectmemoryaccess

Accu Regs

Operands from local Memory

ControlWord (A1_INS)

Pipeline Register

to Arithmetic 2

EXE 1

EXE 2

Page 17: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

17

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Datapath: Arithmetic 2Datapath: Arithmetic 2

SEL/CLIP/ABS SUM MAX/MIN

SHIFT

from Arithmetic 1

ControlWord (A2_INS)

Pipeline Register

to local Memory

EXE 3

Page 18: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

18

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Ejemplos de operación: FilterEjemplos de operación: Filter

-1 0 1

-2 0 2

-1 0 1

Filtrado lineal utiliza distintos filtros de gradiente (kernel) para detectar cosas diferentes. Ejemplo: Detección de bordes verticales utiliza un kernel tipo Sobel_3x3_V

Sobel_3x3_VPixel

i-1,j-1

Pixel

I,j-1

Pixel

i+1,j-1

Pixel

i-1,j

Pixel

i,j

Pixel

i+1,j

Pixel

i-1,j+1

Pixel

i.j+1

Pixel

i+1,j+1

Bloque de entrada MxN

Bloque de salida M-(Ksize/2)xN-(Ksize/2)

Out_pixel i,j = In_pixel i-1,j-1 * k0,0 +

In_pixel i,j-1 * k0,1 +

In_pixel i+1,j-1 * k0,2 +

In_pixel i-1,j * k1,0 +

In_pixel i,j * k1,1 +

In_pixel i+1,j * k1,2 +

In_pixel i-1,j+1 * k2,0 +

In_pixel i,j+1 * k2,1 +

In_pixel i+1,j+1 * k2,2

Page 19: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

19

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Ejemplos de operación: FilterEjemplos de operación: Filter

Arithmetic Unit 1 (3 Arithmetic Stages)support for processing of 4 pixels in parallel

ADD/SUB INV 2 x MUL THRESH SHIFT/ROTL

ABS

Pipeline Register

AND/OR/XOR

MIN/MAX HISTO LUT ADD/SUB

Accu RegsPipeline Register

EXE 1

EXE 2

SEL/CLIP/ABS SUM MAX/MIN

SHIFT

EXE 3

1 x MUL

Accu Regs

SEL/CLIP/ABS

SHIFT

Pipeline Register

ADD/SUB

Page 20: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

20

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Ejemplos de operación: DilationEjemplos de operación: Dilation

0 1 0

1 1 1

0 1 0

Dilación (ó dilatación) también utiliza máscaras de diversos tipos. Ejemplo: Dilación con máscara circular

Circle_3x3Pixel

i-1,j-1

Pixel

I,j-1

Pixel

i+1,j-1

Pixel

i-1,j

Pixel

i,j

Pixel

i+1,j

Pixel

i-1,j+1

Pixel

i.j+1

Pixel

i+1,j+1

Bloque de entrada MxN

Bloque de salida M-(Ksize/2)xN-(Ksize/2)

Out_pixel i,j = Máximo valor (

In_pixel i,j-1,

In_pixel i-1,j,

In_pixel i,j,

In_pixel i+1,j,

In_pixel i,j+1

)

Page 21: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

21

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Ejemplos de operación: Erosion/DilationEjemplos de operación: Erosion/Dilation

Arithmetic Unit 1 (3 Arithmetic Stages)support for processing of 4 pixels in parallel

ADD/SUB INV 2 x MUL THRESH SHIFT/ROTL

ABS

Pipeline Register

AND/OR/XOR

MIN/MAX HISTO LUT ADD/SUB

Accu RegsPipeline Register

EXE 1

EXE 2

SEL/CLIP/ABS SUM MAX/MIN

SHIFT

EXE 3

Pipeline Register

MIN/MAX

Accu Regs

SEL/CLIP/ABS

SHIFT

Page 22: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

22

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Funcionalidad del SI coproFuncionalidad del SI copro

LLAs requeridos Soportados por el coprocesador de SI

Operaciones aritméticas

Matemática morfológica (Erosión y dilación)

Etiquetado RLE en el copro, etiquetado con los valores de RLE en la CPU

Histograma

Blob analysis En la CPU

Filtrado lineal

Sumatoria Ver. & hor.

Escalado

Corrección de la imagen (como LUT)

Movimientos de memoria

Computación del momento (como la media y la desviación estándar)

Cálculo del Mínimo y Máximo

Page 23: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

23

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Estimador de MovimientoEstimador de Movimiento Arquitectura: Application Specific Instruction-set Processor (ASIP) Diseño: Uso de herramientas de síntesis de alto nivel desde C

– Herramienta A|RT de Adelante technologies• Arquitectura básica tipo VLIW

• Permite la integración de Unidades de Aplicación Específica (ASUs)

-code

FSM

I. Reg. Communication Bus/Network

Distributed Register Files

VLIW ctrl

ACU ROMRAMALUASU ASU

Application Specific Units

Default Units

Se modifica el ME original para cumplir los requerimientos de las aplicaciones de Camellia

Page 24: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

24

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Características del Estimador de MovimientoCaracterísticas del Estimador de Movimiento

Modificaciones se basan en el “Camellia Motion Segmentation Algorithm (CMSA)”

Estimación de movimiento basada en bloques 2D

– 16 x 16 pixels por bloque; Imágenes YUV 4:2:2 Modelo de movimiento con 2 coordenadas (vx,vy)

– Tamaño máximo de las coordenadas es 8 bits, precisión de cuarto de pixel

– 15 diferentes modelos de movimiento candidatos

– 3 aleatorios, 8 espaciales y 4 temporales “Scan orders”

– LRTB, RLBT, aleatorio

Page 25: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

25

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Camellia ME vs. Video Encoding MECamellia ME vs. Video Encoding ME

Camellia Codificador de Vídeo

Componentes de vídeo Y, U , V Solo Y

Scan Order LRTB, RLBT y aleatorio

LRTB

Tamaño máximo de las coordenadas (Vx, Vy)

8 pixels Cualquier tamaño

Valores SAD 3 mejores 1 mejor

Page 26: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

26

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Unidades de aplicación específicaUnidades de aplicación específica

4 ASUs dentro del Camellia ME “Reference Block Buffer” (almacena los bloques de la imagen actual)

– 4 bancos de 16 líneas de pixels de 32 bits (2 Kbits) “Search Area Buffer” (almacena bloques de la imagen previa)

– 12 bancos de 32 líneas de pixels de 32 bits (12Kbits) “Bi-linear Interpolator”

– Soporta precisión de ¼-pixel

-code

FSM

I.Reg. Communication Bus/Network

Register Files

VLIW Ctrl

ACU MULTRAMROM

ALUSADSAbuf

RBbuf

BI

“Sum of Absolute Difference”

- Cálcula 16 pixels en paralelo

Page 27: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

27

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Ejemplo de ASUEjemplo de ASU “Search Area Buffer”

– Almacena el área de búsqueda– 12 bancos de 32 líneas de 32 bits (12Kbits)– Salida: 17 pixels/cycle

• Soporta 16 pixels en paralelo y presición de cuarto de pixel• Salida de los bancos están concatenadas y alineadas por

el módulo “filter”

bank11

filter

32

FSM

pels

c2

Q[31:0]

A[4:0]

D[31:0]

web

SRAM

Q[31:0]

A[4:0]

D[31:0]

web

SRAM

Q[31:0]

A[4:0]

D[31:0]

web

SRAM

Q[31:0]

A[4:0]

D[31:0]

web

SRAM

bank10bank1bank0

frame constants

run constants

Fetch control

filterctrl

c3c0 c1

32

c4

323232 8

webctrl

addrctrl

Page 28: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

28

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Ejemplo de ASUEjemplo de ASU “Bi-linear Interpolator”

– Interpolación de pixels hasta la resolución de cuarto de pixel• Cálculo de la media con peso de los 4 pixels vecinos• Los pesos se determinan por medio de los valores fraccionales

de Dx y Dy– La ASU registra la línea de pixels previa y en un ciclo se obtiene la

línea de salida interpolada

p

four nearest neighboursof pixel pCurrent pixel-line

Interpolated pixel-line

Previous (registered) pixel-line

D

Page 29: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

29

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

Soporte softwareSoporte software

Librería software para el desarrollo de aplicaciones “Smart Imaging” en entorno PC:

- Rutinas de bajo nivel escritas en C

- “Camellia Image Processing Library” disponible como código abierto en SourceForge

Librería software para el desarrollo de aplicaciones “Smart -Imaging” en entorno embebidos (ARM):

-Basada en macroinstrucciones y enfocada a ser ejecutada en el coprocesador de SI

- Compatibilidad con la “Camellia Image Processing Library”

Page 30: Instituto Universitario de Microelectrónica Aplicada Víctor Reyes Suárez vreyes@iuma.ulpgc.es 1 CAMELLIA: Core for Ambient and Mobile intELLigent Imaging

Víctor Reyes Suá[email protected]

30

Inst

ituto

Uni

vers

itario

de

Mic

roel

ectr

ónic

a A

plic

ada

ConclusionesConclusiones Diseño de un coprocesador enfocado a acelerar algoritmos básicos para “Smart Imaging”

- Área : 0,8 mm2 CMOS 0.12

- Frecuencia máxima : 100 MHz

- 4 MOPS

Adaptación de un coprocesador Estimador de Movimiento para aplicaciones “Smart Imaging”

Diseño de una plataforma SW/HW flexible y competitiva para el desarrollo de aplicaciones en el campo de las “Smart Cameras”