ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel...

61
ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez

Transcript of ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel...

Page 1: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS

Edison Manuel HernándezRicardo Andrés Velásquez

Page 2: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

OBJETIVOS• Estudiar el estándar de codificación de video MPEG-4

especialmente las partes 2 y 10 que tratan los temas de video natural, identificando los puntos clave de su implementación en hardware.

• Seleccionar el perfil y nivel de MPEG-4 más adecuado para ser implementado en el ambiente de una red inalámbrica.

• Diseñar una arquitectura de hardware para la parte visual de un decodificador MPEG-4.

• Hacer la implementación de un decodificador MPEG-4 (Parte visual) en una FPGA.

• Modelamiento a alto nivel del decodificador de video MPEG-4 en SystemC.

• Completar los requisitos para obtener el titulo de Ingeniero Electrónico.

Page 3: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

ANTECEDENTES

• Auge de las Aplicaciones de streaming de video en todo tipo de redes, entre ellas las redes inalámbricas.

• Proyecto de Acompañantes Móviles Digitales que actualmente desarrolla el Grupo Electrónica y control.

• No existía una experiencia previa del grupo en el área de compresión de video.

• Deseo de apropiar la tecnología de compresión de video y de asumir los desafíos que las redes inalámbricas imponen a la transmisión de video.

Page 4: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Características de las comunicaciones inalámbricas

Las conexiones inalámbricas tienen una calidadmenor a las conexiones alambradas: menorancho de banda, menor estabilidad en laconexión, tasas de error más altas, etc.

Existen tres problemas claves en la transmisiónmultimedia inalámbrica:

• La necesidad de mantener la calidad de servicio.• Operar con recursos limitados de energía.• Operar en ambientes heterogéneos.

Page 5: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Características Deseables para la Transmisión de Video en Redes

InalámbricasResiliencia al error

Debido a la pérdida de bits por desvanecimiento se afecta el bitstream.

Escalabilidad

Variar la potencia de procesamiento (enviando a cada usuario sólo lo necesario).

Baja Complejidad

Un CODEC de menor complejidad, implica menores recursos de software y hardware, y por lo tanto menor consumo de potencia.

Page 6: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

• La tasa de bits más baja es de 5 kbps.

• Las técnicas de codificación de video escalable,

• Herramientas para la resiliencia de error.

• Codificación basada en objetos.

• Animación Facial para reducir el consumo de ancho de banda.

¿Por qué Utilizar MPEG-4?

Page 7: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

¿Por Qué Comprimir Video?Dejemos que el siguiente ejemplo responda la pregunta …Se tiene una secuencia de video con las siguientes características: resolución QCIF, formato de color YCbCr, formato de muestreo 4:2:0, 8 bit por cada componente de color y 15 fps.

N. Píxeles por frame = 176 x 144(Y) + 88 x 72(Cb) + 88 x 72(Cr)= 38016

N. Bits por frame = 38.016 x 8bits= 304.128

N. Bits por segundo = 304.128 x 15= 4’561.920 bps

Page 8: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

CODECLa compresión involucra dos sistemas complementarios:

• Por un lado esta el compresor o codificador (encoder), el cual convierte los datos originales a una forma comprimida que puede almacenarse o transmitirse.

• Del otro lado esta el decodificador (decoder) que se encarga de convertir la forma comprimida de los datos a su representación original.

Este par de sistemas se conocen normalmente como CODEC.

Page 9: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Tipos de CompresiónSin perdidas:• Los datos de salida del decodificador son una copia perfecta

de los originales.• Se utiliza sobre datos que contienen redundancia estadística• La compresión sin perdidas de un video o imagen solo

alcanza niveles de compresión moderados (reduce de 3 a 4 veces el tamaño original).

Con perdidas:• Los datos que salen del decodificador NO son iguales a los

datos originales.• Porcentaje de compresión superior a expensas de perdida en

la calidad de la imagen (puede reducir hasta más de 70 veces el tamaño original).

Page 10: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Modelo Temporal• El objetivo del modelo temporal es reducir la

redundancia entre frames.

• Esto se consigue formando una predicción del frame actual a partir de uno o mas frames anteriores o futuros.

• El método más sencillo de predicción temporal es usar el frame anterior como predicción del actual.

• La exactitud de la predicción puede mejorarse cuando se utilizan técnicas de estimación y compensación de movimiento entre el frame referencia y el frame actual.

Page 11: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Modelo Espacial• La objetivo del modelo espacial es decorrelacionar los

datos ya sea de la imagen original o de la imagen residual y convertirlos a una forma tal que puedan ser comprimidos eficientemente usando un decodificador de entropía.

• Los modelos espaciales tienen tres componentes principales: transformación, cuantización y reordenación.

• La transformada es el corazón de la mayoría de los estándares y sistemas de codificación de video.

• La etapa de cuantización introduce las perdidas en la compresión de video.

Page 12: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Estándares de Codificación de Video

Evolución histórica estándares de codificación de video

Page 13: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Estándares de Codificación de VideoEstándares de la ITU

• H.261 Primer estándar de compresión y decompresión de video para videoconferencia. Ratas de bits de 64kbps a 2Mbps

• H.263 Mejora la rata de compresión y la calidad de imagen comparado con H.261

• H.264 También conocido como MPEG-4 part 10 ó AVC. Mas que un importante avance H.264 incluye una gran variedad de herramientas para mejorar el desempeño

Estándares de la ISO/IEC

MPEG1 Desarrollado para el almacenamiento y distribución de audio y video. Utilizado en los primeros Video CDs VCD.

MPEG2 Extiende las aplicaciones de MPEG-1 principalmente en lo que se refiere a disusión de TV, TV digital y HDTV. Ratas de bits 1.5Mbps a 60 Mbps

MPEG4 MPEG-4 busca mayor flexibilidad, interactividad, soporte sobre nuevas redes, etc. Actualmente consiste de 19 partes.

Otros

VC1 Basado en el Microsoft Windows Media Video 9. Representa un competidor importante para H.264. Esta siendo desarrollado por SMPTE.

Page 14: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Eficiencia: Calidad vs. Tasa de Bits

Page 15: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Eficiencia: Calidad vs. Tasa de Bits

Page 16: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Eficiencia: Calidad vs. Tasa de Bits

Page 17: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Complejidad Computacional

• Hay algo claro, herramientas más sofisticadas de compresión, traen consigo un incremento en la complejidad computacional de codificadores y decodificadores.

• Algunos estudios muestran que H.264 tiene una complejidad de 2 a 3 veces superior que MPEG-4 Visual perfil simple.

• De otro lado se estima que VC-1 tiene una complejidad de 1.5 veces la de MPEG-4 perfil simple.

Page 18: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

MPEG-4• MPEG 4 actualmente esta dividido en 18

partes:

Systems – ISO/IEC 14496-1 Visual – ISO/IEC 14496-2 Audio – ISO/IEC 14496-3 Conformance Testing – ISO/IEC 14496-4 Reference Software – ISO/IEC 14496-5 DMFI – ISO/IEC 14496-6 Reference Software – ISO/IEC 14496-7 Carriage over IP networks – ISO/IEC 14496-8 Reference hardware – ISO/IEC 14496-9

Scene description – ISO/IEC 14496-10 ISO file format – ISO/IEC 14496-11 IPMP extensions – ISO/IEC 14496-12 MP4 file format – ISO/IEC 14496-13 H.264 file format – ISO/IEC 14496-14 Animation extensión – ISO/IEC 14496-15 Streaming text format – ISO/IEC 14496-16 Font compression – ISO/IEC 14496-17 Synthesize texture stream – ISO/IEC 14496-18

Page 19: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

MPEG-4 Visual

Page 20: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

¿Por qué MPEG-4 Visual?• Es un estándar más maduro, bien documentado y

ampliamente utilizado en la actualidad.• Cuenta con una amplia variedad de perfiles,

muchos de los cuales son aptos para redes inalámbricas y dispositivos portátiles.

• Herramientas de codificación más simples, y por lo tanto CODECs de menor complejidad.

• Eficiencia de codificación intermedia, soporte para tasas de bits iguales o inferiores a los 64kbps.

Page 21: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Características de MPEG-4 Visual

• Codificación basada en objetos en lugar de frames.• Uso de objetos Naturales o sintéticos a partir de los

cuales se puede realizar la composición de una escena.

• Soporte para interactividad.• MPEG-4 es mas rehusable y flexible, con mayores

capacidades de protección de contenido.• Las bajas ratas de bits soportadas dan la

capacidad de disfrutar el contenido interactivo sobre redes DSL, inalámbricas y móviles.

Page 22: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Codificación Basada en Objetos

Page 23: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Escena MPEG-4 Visual

Page 24: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Objetos, Perfiles y Niveles• Los objetos visuales (CODECS de video) usan

combinaciones específicas de herramientas para representar eficientemente diferentes tipos de objetos visuales.

• Los perfiles usan combinaciones específicas de tipos de objetos visuales para servir eficientemente a un segmento específico del mercado.

• Los niveles especifican la cantidad de memoria, la tasa de bits y las limitaciones de complejidad dentro de un perfil para asegurar interoperabilidad.

Page 25: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Objetos, Perfiles y Niveles

MPEG-4 Visual proporciona soporte a las diversas aplicaciones a través de una estructura jerárquica conformada por Perfiles, Objetos, niveles, y las herramientas de codificación asociados a estos.

PERFIL

Objetotipo_1

Objetotipo_2

Objetotipo_n

Niveles

Herram

ienta 1

Herram

ienta 2

Herram

ienta 3

Herram

ienta 4 …

Herram

ienta n

Page 26: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Objetos Visuales de Interés• Simple

Es un objeto natural, de video rectangular de relación

arbitraria alto/ancho, desarrollado para baja rata de bits,

soporta las herramientas de resiliencia al error.

• Simple Escalable

Es una extensión escalable del tipo anterior, el cual da una

escalabilidad temporal y espacial, usando el tipo Simple como

capa base.

Page 27: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

• Simple Avanzado de Tiempo RealEs un objeto de tipo simple al que se le han agregado dosherramientas para mejorar la resiliencia al error y flexibilidadde codificación: NEWPRED y Conversión dinámica de resolución

• Objeto Simple AvanzadoEs un objetos simple que solo soportan objetos rectangulares, al que se le ha agregado algunas herramientas para hacer la codificación mas eficiente. Entreestas herramientas tenemos: B-VOP, compensación demovimiento QPEL y compensación de movimiento global(GMC).

Objetos Visuales de Interés

Page 28: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

• Objetos Escalables de Granularidad Fina Puede usar por encima de 8 capas de Escalabilidad paraque así la calidad de la imagen sea fácilmente adaptable aLas circunstancias de transmisión y decodificación.

Objetos Visuales de Interés

Page 29: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Visual Tools

Visual Object Types

SimpleSimple

ScalableAdvanced Real

Time SimpleAdvanced

SimpleFine Granularity

Scalable

Basic : I-VOP, P-VOP, Predicción AC/DC, 4-MV, Unresticted MV

X X X X X

Resiliencia al error: puntos de resincronización, particionamiento de datos, VLCs Reversibles

X X X X X

Short Header X   X X X

B-VOP   X   X X

Cuantización métodos 1 y 2       X X

Entrelazado       X X

Escalabilidad Temporal (Rectangular)   X      

Escalabilidad Espacial (Rectangular)   X      

Conversión dinámica de resolución     X    

NEWPRED     X    

Compensación de movimiento global       X  

Compensación de movimiento QPEL       X  

Escalabilidad de Granularidad Fina (FGS)         X

Escalabilidad Temporal FGS         X

Page 30: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

• SimpleSolo acepta objetos de tipo simple y fue creado para aplicaciones de baja complejidad. Existen 4 niveles para elperfil simple con tasas de bits que van desde 64 hasta 384kbits/seg.

• Simple EscalablePuede proveer las herramientas de escalabilidad temporal y espacial en el mismo ambiente operacional previsto para el Perfil Simple.

Perfiles

Page 31: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

• Simple Avanzado de Tiempo Real

Pensado para aplicaciones de Video Streaming para redes

como Internet, proporciona codificación robusta al error y

adaptable a las condiciones cambiantes de la red.

• Simple Avanzado

Es una versión mejorada del perfil simple, pensada para el

mismo rango de aplicaciones.

Perfiles

Page 32: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

• Escalable de Granularidad Fina

Fue creado pensando en aplicaciones de video para correr

sobre Internet y multimedia inalámbrica. Posee objetos de

tipo simple, avanzado simple y FGS.

Perfiles

Page 33: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Bitstream

Marca de sincronismo

Numero de Macrobloque

Quant_scale HEC Información DC y de cabecera

Marca DC Información de Textura

Marca de sincronismo

CabeceraSecuencia Visual

de Objeto

CabeceraObjeto Visual

CabeceraCapa de Objeto

de VideoStream Elemental

Marca de sincronismo

Numero de Macrobloque

Quant_scale HEC Información de movimiento y

cabeceras

Marca de Movimiento

Información de Testuras

Marca de sincronismo

Page 34: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

¿Por qué utilizar MPEG-4 Visual Perfil Simple?

• El perfil simple, a pesar de ser el perfil más básico, cuenta con las características necesarias para ser utilizado en aplicaciones inalámbricas y dispositivos móviles.

• Su baja complejidad respecto a los otros perfiles lo convierte en la elección predilecta de la industria.

• Proporciona una plataforma de partida para implementar perfiles más avanzados, como el avanzado simples, simple de tiempo real, etc.

• Muchos de los procesadores modernos de orientación a ambientes inalámbricos cuentan codificadores de perfil simple.

Page 35: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Arquitectura Decodificador

Compensación de Movimiento

VOPs PreviosDecodificación

Texturas

Decodificador Vectores

de Movimiento

PROCESAMIENTO BITSTREAM

Inform

ación

Te

xtura

Información

Movimiento

Reconstrucción de Movimiento

Post procesamiento

LCD

Unidad de contro

l

Compensación de Movimiento

Compensación de Movimiento

VOPs PreviosVOPs PreviosDecodificación

Texturas

Decodificador Vectores

de Movimiento

PROCESAMIENTO BITSTREAMPROCESAMIENTO BITSTREAM

Inform

ación

Te

xtura

Información

Movimiento

Reconstrucción de Movimiento

Reconstrucción de Movimiento

Post procesamientoPost procesamiento

LCDLCD

Unidad de contro

l

Page 36: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Procesamiento de Bitstream

Info

rmac

ión

Mov

imie

nto

Otros

VLCs

VLC

Decodificador

Movimiento

VLC

Decodificador

textura

Registros

Configuración

y Banderas

INTERPRETE BITSTREAM

Info

rmac

ión

Tex

tura

RVLC

Decodificador

Textura

Buffer

Bitstream

DEMUX

Info

rmac

ión

Mov

imie

nto

Otros

VLCs

VLC

Decodificador

Movimiento

VLC

Decodificador

textura

Registros

Configuración

y Banderas

Registros

Configuración

y Banderas

INTERPRETE BITSTREAM

Info

rmac

ión

Tex

tura

RVLC

Decodificador

Textura

RVLC

Decodificador

Textura

Buffer

Bitstream

DEMUX

Page 37: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Decodificador de Entropía

Shift

Register

Unidad

de búsqueda

VLCs

uno o

más bits

datos

errorbitstream

Page 38: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Decodificación Texturas

o

Decodificador

Last-Run-Level

Escaneo

Inverso

Predicción

DC y AC

Inversa Cuantización

Inversa

Cuantización

Inversa IDCT

PQF[v][u]QFS[n] QF[v][u] F[v][u]

Intra MBs

o

o

o

f[i][j]

o

Decodificador

Last-Run-Level

Escaneo

Inverso

Escaneo

Inverso

Predicción

DC y AC

Inversa Cuantización

Inversa

Cuantización

Inversa

Cuantización

Inversa IDCT

PQF[v][u]QFS[n] QF[v][u] F[v][u]

Intra MBs

o

o

o

f[i][j]

Page 39: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Decodificación Run-Level

M

U

X

UNIDAD DE

CONTROLContador Módulo 64

Datos

QFS[n]

Last

Run

Level

0

M

U

X

UNIDAD DE

CONTROLContador Módulo 64Contador Módulo 64

Datos

QFS[n]

Last

Run

Level

0

Page 40: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Escaneo Inverso

vop_type

Dirección arreglo

bidimensional

Entada arreglo

unidimensional

Dirección datos

salida

SCAN

ROM

Unidad de

ControlRAM

8x8

Buffer

Doble

ac_pred_flag

Dirección

arreglo

unidimensional

salida datos

en filas

vop_type

Dirección arreglo

bidimensional

Entada arreglo

unidimensional

Dirección datos

salida

SCAN

ROM

Unidad de

ControlRAM

8x8

Buffer

Doble

ac_pred_flag

Dirección

arreglo

unidimensional

salida datos

en filas

Page 41: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Cuantización Tipo 1

quant_type

+

x xROM

Cuantizador

Unidad de

Control

Saturación

>> 4

<< 1

QF[v][u]

K

quantize_scaler

Dire

cció

n

dc_scaler

M

U

X

M

U

X

M

U

X

short_video

quantizer_scaler

vop_type

quant_type

++

xx xxROM

Cuantizador

ROM

Cuantizador

Unidad de

Control

SaturaciónSaturación

>> 4

<< 1

QF[v][u]

K

quantize_scaler

Dire

cció

n

dc_scaler

M

U

X

M

U

X

M

U

X

short_video

quantizer_scaler

vop_type

Page 42: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Cuantización Tipo 2

quantizer_scaler

M

U

X

+

x

dc_scaler

Unidad de

Control

Saturación -1

<< 1

QF[v][u]

K

M

U

XM

U

X

quantizer_scaler

Quant_type

Intra_coded

short_video

Page 43: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

DCT_2D

C0 C0 C0 C0 C0 C0 C0 C0

C1 C3 C4 C6 -C6 -C4 -C3 -C1

C2 C5 -C5 -C2 -C2 -C5 C5 C2

C3 -C6 -C1 -C4 C4 C1 C6 -C3

C0 -C0 -C0 C0 C0 -C0 -C0 C0

C4 -C1 C6 C3 C3 -C6 C1 -C4

C5 -C2 C2 C5 C5 C2 -C2 C5

C6 -C4 C3 -C1 C1 -C3 C4 -C6

C0

C0

C0

C0

C0

C0

C0

C0

C1

C3

C4

C6

-C6

-C4

-C3

-C1

C2

C5

-C5

-C2

-C2

-C5

C5

C2

C3

-C6

-C1

-C4

C4

C1

C6

-C3

C0

-C0

-C0

C0

C0

-C0

-C0

C0

C4

-C1

C6

C3

C3

-C6

C1

-C4

C5

-C2

C2

C5

C5

C2

-C2

C5

C6

-C4

C3

-C1

C1

-C3

C4

-C6

Z00 Z01 Z02 Z03 Z04 Z05 Z06 Z07

Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17

Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27

Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37

Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47

Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57

Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67

Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77

Y00 Y01 Y02 Y03 Y04 Y05 Y06 Y07

Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17

Y20 Y21 Y22 Y23 Y24 Y25 Y26 Y27

Y30 Y31 Y32 Y33 Y34 Y35 Y36 Y37

Y40 Y41 Y42 Y43 Y44 Y45 Y46 Y47

Y50 Y51 Y52 Y53 Y54 Y55 Y56 Y57

Y60 Y61 Y62 Y63 Y64 Y65 Y66 Y67

Y70 Y71 Y72 Y73 Y74 Y75 Y76 Y77

Y A Z

Z00 Z01 Z02 Z03 Z04 Z05 Z06 Z07

Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17

Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27

Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37

Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47

Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57

Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67

Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77

ZA

X00 X01 X02 X03 X04 X05 X06 X07

X10 X11 X12 X13 X14 X15 X16 X17

X20 X21 X22 X23 X24 X25 X26 X27

X30 X31 X32 X33 X34 X35 X36 X37

X40 X41 X42 X43 X44 X45 X46 X47

X50 X51 X52 X53 X54 X55 X56 X57

X60 X61 X62 X63 X64 X65 X66 X67

X70 X71 X72 X73 X74 X75 X76 X77

T

X

C0 C0 C0 C0 C0 C0 C0 C0

C1 C3 C4 C6 -C6 -C4 -C3 -C1

C2 C5 -C5 -C2 -C2 -C5 C5 C2

C3 -C6 -C1 -C4 C4 C1 C6 -C3

C0 -C0 -C0 C0 C0 -C0 -C0 C0

C4 -C1 C6 C3 C3 -C6 C1 -C4

C5 -C2 C2 C5 C5 C2 -C2 C5

C6 -C4 C3 -C1 C1 -C3 C4 -C6

C0 C0 C0 C0 C0 C0 C0 C0

C1 C3 C4 C6 -C6 -C4 -C3 -C1

C2 C5 -C5 -C2 -C2 -C5 C5 C2

C3 -C6 -C1 -C4 C4 C1 C6 -C3

C0 -C0 -C0 C0 C0 -C0 -C0 C0

C4 -C1 C6 C3 C3 -C6 C1 -C4

C5 -C2 C2 C5 C5 C2 -C2 C5

C6 -C4 C3 -C1 C1 -C3 C4 -C6

C0

C0

C0

C0

C0

C0

C0

C0

C1

C3

C4

C6

-C6

-C4

-C3

-C1

C2

C5

-C5

-C2

-C2

-C5

C5

C2

C3

-C6

-C1

-C4

C4

C1

C6

-C3

C0

-C0

-C0

C0

C0

-C0

-C0

C0

C4

-C1

C6

C3

C3

-C6

C1

-C4

C5

-C2

C2

C5

C5

C2

-C2

C5

C6

-C4

C3

-C1

C1

-C3

C4

-C6

C0

C0

C0

C0

C0

C0

C0

C0

C1

C3

C4

C6

-C6

-C4

-C3

-C1

C2

C5

-C5

-C2

-C2

-C5

C5

C2

C3

-C6

-C1

-C4

C4

C1

C6

-C3

C0

-C0

-C0

C0

C0

-C0

-C0

C0

C4

-C1

C6

C3

C3

-C6

C1

-C4

C5

-C2

C2

C5

C5

C2

-C2

C5

C6

-C4

C3

-C1

C1

-C3

C4

-C6

Z00 Z01 Z02 Z03 Z04 Z05 Z06 Z07

Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17

Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27

Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37

Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47

Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57

Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67

Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77

Z00 Z01 Z02 Z03 Z04 Z05 Z06 Z07

Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17

Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27

Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37

Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47

Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57

Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67

Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77

Y00 Y01 Y02 Y03 Y04 Y05 Y06 Y07

Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17

Y20 Y21 Y22 Y23 Y24 Y25 Y26 Y27

Y30 Y31 Y32 Y33 Y34 Y35 Y36 Y37

Y40 Y41 Y42 Y43 Y44 Y45 Y46 Y47

Y50 Y51 Y52 Y53 Y54 Y55 Y56 Y57

Y60 Y61 Y62 Y63 Y64 Y65 Y66 Y67

Y70 Y71 Y72 Y73 Y74 Y75 Y76 Y77

Y00 Y01 Y02 Y03 Y04 Y05 Y06 Y07

Y10 Y11 Y12 Y13 Y14 Y15 Y16 Y17

Y20 Y21 Y22 Y23 Y24 Y25 Y26 Y27

Y30 Y31 Y32 Y33 Y34 Y35 Y36 Y37

Y40 Y41 Y42 Y43 Y44 Y45 Y46 Y47

Y50 Y51 Y52 Y53 Y54 Y55 Y56 Y57

Y60 Y61 Y62 Y63 Y64 Y65 Y66 Y67

Y70 Y71 Y72 Y73 Y74 Y75 Y76 Y77

Y A Z

Z00 Z01 Z02 Z03 Z04 Z05 Z06 Z07

Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17

Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27

Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37

Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47

Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57

Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67

Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77

Z00 Z01 Z02 Z03 Z04 Z05 Z06 Z07

Z10 Z11 Z12 Z13 Z14 Z15 Z16 Z17

Z20 Z21 Z22 Z23 Z24 Z25 Z26 Z27

Z30 Z31 Z32 Z33 Z34 Z35 Z36 Z37

Z40 Z41 Z42 Z43 Z44 Z45 Z46 Z47

Z50 Z51 Z52 Z53 Z54 Z55 Z56 Z57

Z60 Z61 Z62 Z63 Z64 Z65 Z66 Z67

Z70 Z71 Z72 Z73 Z74 Z75 Z76 Z77

ZA

X00 X01 X02 X03 X04 X05 X06 X07

X10 X11 X12 X13 X14 X15 X16 X17

X20 X21 X22 X23 X24 X25 X26 X27

X30 X31 X32 X33 X34 X35 X36 X37

X40 X41 X42 X43 X44 X45 X46 X47

X50 X51 X52 X53 X54 X55 X56 X57

X60 X61 X62 X63 X64 X65 X66 X67

X70 X71 X72 X73 X74 X75 X76 X77

X00 X01 X02 X03 X04 X05 X06 X07

X10 X11 X12 X13 X14 X15 X16 X17

X20 X21 X22 X23 X24 X25 X26 X27

X30 X31 X32 X33 X34 X35 X36 X37

X40 X41 X42 X43 X44 X45 X46 X47

X50 X51 X52 X53 X54 X55 X56 X57

X60 X61 X62 X63 X64 X65 X66 X67

X70 X71 X72 X73 X74 X75 X76 X77

T

X

Page 44: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

DCT_2DBuffer

entrada

ROM

8x8

Constantes

AT

Unidad de Control

ROM

8x8

Constantes

A

Buffer

Doble IDCT_1D

IDCT_1DBuffer

Doble

Page 45: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

IDCT_1D

C0 C0 C0 C0 C0 C0 C0 C0

C1 C3 C4 C6 –C6 –C4 –C3 –C1

C2 C5 –C5 –C2 –C2 –C5 C5 C2

C3 –C6 –C1 –C4 C4 C1 C6 –C3

C0 –C0 –C0 C0 C0 –C0 –C0 C0

C4 –C1 C6 C3 C3 –C6 C1 –C4

C5 –C2 C2 C5 C5 C2 –C2 C5

C6 –C4 C3 –C1 –C1 –C3 C4 –C6

ADDER

YK0

YK1

YK2

YK3

YK4

YK5

YK6

YK7

ZK (0 a 7)

C0 C0 C0 C0 C0 C0 C0 C0

C1 C3 C4 C6 –C6 –C4 –C3 –C1

C2 C5 –C5 –C2 –C2 –C5 C5 C2

C3 –C6 –C1 –C4 C4 C1 C6 –C3

C0 –C0 –C0 C0 C0 –C0 –C0 C0

C4 –C1 C6 C3 C3 –C6 C1 –C4

C5 –C2 C2 C5 C5 C2 –C2 C5

C6 –C4 C3 –C1 –C1 –C3 C4 –C6

ADDER

YK0

YK1

YK2

YK3

YK4

YK5

YK6

YK7

ZK (0 a 7)ROM

12

Acumulador

Sumador o restador

Muestras fx

8 bits desde las entradas F

ROM

12

Acumulador

Sumador o restador

Muestras fx

8 bits desde las entradas F

Multiplicador ParaleloAritmética Distribuido

Page 46: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Decodificación de MV

RAM (MV)

N vectores

Mediana

(MV1,MV2,MV3)

escalador

escaladorhorizontal_mv_data

vertical_mv_data

horizontal_mv_residual

vertical_mv_residual+

+

vop_fcode

vop_fcode

Unidad

de Control M

U

X

MVy

MVx

RAM (MV)

N vectores

Mediana

(MV1,MV2,MV3)

escalador

escaladorhorizontal_mv_data

vertical_mv_data

horizontal_mv_residual

vertical_mv_residual+

+

vop_fcode

vop_fcode

Unidad

de Control M

U

X

MVy

MVx

Page 47: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Compensación de Movimiento

Unidad de

Generación

de Direcciones

block_num

macroblock_num

MVx

MVy

Memoria

VOPs

Reconst.

Nuevo VOP

Reconstruido

RAM

Buffer Doble

Filtrado

Bilineal

RAM

Buffer Doble

Unidad

de

control

Predicción

Unidad de

Generación

de Direcciones

block_num

macroblock_num

MVx

MVy

Memoria

VOPs

Reconst.

Nuevo VOP

Reconstruido

RAM

Buffer Doble

Filtrado

Bilineal

RAM

Buffer Doble

Unidad

de

control

Predicción

Page 48: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Resultados Preliminares

Frecuencia CLK (MHz) Potencia Estática (mW) Potencia Dinámica (mW) Total Potencia (mW)

12,5 92 18,7 110,7

25 92 32,47 124,47

50 92 74,84 166,84

IDCT_2D

Potencia consumida por el módulo IDCT_2D

,,,,,,,,,,,,13020850

,,,,,,,,,,,,6510425

118805940148514853255212,5

L3 (MB/s)L2 (MB/s)L1 (MB/s)L0 (MB/s)MB/sFrecuencia clk (MHz)

,,,,,,,,,,,,13020850

,,,,,,,,,,,,6510425

118805940148514853255212,5

L3 (MB/s)L2 (MB/s)L1 (MB/s)L0 (MB/s)MB/sFrecuencia clk (MHz)

Desempeño Módulo IDCT_2D vs. Desempeño Requerido por Perfil

Page 49: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Resultados Preliminares

Frecuencia CLK (MHz) Potencia Estática (mW) Potencia Dinámica (mW) Total Potencia (mW)

12,5 92 0,56 92,56

25 92 1,38 93,38

50 92 2,85 94,85

VLC decoder

125,8933,899250

108,6716,679225

100,018,019212,5

Total Potencia (mW)Potencia Dinámica (mW)Potencia Estática (mW)Frecuencia clk (MHz)

125,8933,899250

108,6716,679225

100,018,019212,5

Total Potencia (mW)Potencia Dinámica (mW)Potencia Estática (mW)Frecuencia clk (MHz)

Conversor RGB2YCbCr

Page 50: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

SystemC

Page 51: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Qué es SystemC ? SystemC es una librería de clases de C++, que

incluye cualquier librería, programa y encapsulación de C++

Es un lenguaje de diseño de sistemas que ha evolucionado, en respuesta a una necesidad general por un lenguaje que mejora la productividad para diseñadores de sistemas electrónicos.

Page 52: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Lenguajes como C/C++ y Java no fueron creados para كmodelar Hardware. Carencia de estos lenguajes en manejar un estilo de كmodelamiento uniforme.No existen herramientas de traducción (C/C++ a HDL) ك:Además C++ no soporta ك * Comunicación estilo Hardware (Señales, protocolos, etc.) * Noción del tiempo * Concurrencia (El hardware y los sistemas trabajan en paralelo)

¿ Por qué SystemC ?

Page 53: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Una de las ideas principales de SystemC es permitirle al programador de C/C++, realizar aquellos diseños que no son posibles con estos últimos.

SystemC también permite modelamiento a un alto nivel de abstracción ej: protocolos de comunicación representados en interfaces y canales.

SystemC no es otro dialecto de C++, es C++.

¿ Por qué SystemC ?

Page 54: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

C/C++; Modelamiento a nivel de sistema

Resultados

VHDL/VerilogAnalisis

Síntesis

Simulación

Perfeccionar

Conversión Manual

Metodología Actual en el diseño de Sistemas

Resto del proceso

Page 55: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Modelo enSystemC

Mejoramiento

Simulación

Resto del proceso

Síntesis

Traducción con Software

Metodología con SystemC

Page 56: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Transistores

Compuertas

RTL

Test Bench

Verificación funcional

Comportamiento

Hardware/Software

Arquitectura

Requerimientos

Ve

rilo

g

VH

DL

Sys

tem

Ve

rilo

g

Ve

ra, e

Sys

tem

C

Mat

lab

SystemC en contraste con otros lenguajes

Page 57: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

CODIGO ORIGINAL CODIGO MODIFICADO

int sc_main (int, char **){ sc_signal<bool> reset; contador top(“top”);

top.reset(reset); reset.write(1); sc_start(3, SC_NS); reset.write(0); sc_start(50, SC_NS); reset.write(1); sc_start(3, SC_NS); reset.write(0); sc_start(50, SC_NS); }

SC_MODULE (new_top){ sc_signal<bool> reset; contador top; void body_main();

SC_CTOR(new_top) : reset(“reset”), top(“top”) { top.reset(reset); SC_THREAD(body_main); }};

void new_top::main_body(){ reset.write(1); wait(3, SC_NS); reset.write(0); wait(50, SC_NS); reset.write(1); wait(3, SC_NS); reset.write(0); wait(50, SC_NS);}SC_MODULE_EXPORT(new_top);

TestbenchMacro para exportar el

módulo a ModelSim

Proceso para Simulación en ModelSim

Page 58: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Módulos diseñados en SystemC

IDCT

Decodificador de Entropía.

Decodificación Run-Level.

Escaneo inverso.

Cuantización Inversa.

Page 59: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

ConclusionesLa eficiencia de un CODEC de video es una relación entre la tasa de bits que puede alcanzar y la calidad de imagen que logra a dicha tasa de bits. Un CODEC de video de alta eficiencia puede lograr tasas de bits iguales a las de uno menos eficientes pero con una calidad de imagen mucho mayor.

MPEG-4 Visual no es el estándar de codificación de video con el mejor desempeño (H.264 & VC-1), sin embargo la complejidad computacional limitada, las herramientas de resiliencia al error y escalabilidad le dan una ventaja estratégica frentes a sus competidores.

Se selecciono el perfil simple como el más adecuado para dispositivos móviles, puesto que de todos los perfiles soportados por MPEG-4 es el que más se adecua a los recursos de cómputo limitados y a las limitaciones de potencias de los mismos. Además se convierte en un muy buen primer paso para desarrollar otros perfiles más avanzados.

Page 60: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

ConclusionesSe definió una arquitectura de hardware para un decodificador MPEG-4 perfil simple que puede ser adaptada a cualquiera de los niveles del perfil. La arquitectura soporta todas las herramientas asociadas a los objetos de tipo simple.

Se definieron las arquitecturas lógicas para los diferentes módulos de la arquitectura, en algunos módulos se hicieron implementaciones buscando medir la complejidad y el consumo de potencia.

SystemC se utilizo como una herramienta de modelamiento a nivel de sistema, para comprobar el funcionamiento de los diferentes módulos. Se comprobaron las ventajas de este lenguaje en cuanto a la rapidez para modelar sistemas digitales.

Page 61: ARQUITECTURA DE DECODIFICACIÓN DE MPEG-4 PARA SISTEMAS PORTÁTILES INALÁMBRICOS Edison Manuel Hernández Ricardo Andrés Velásquez.

Conclusiones

SystemC es una herramienta adecuada para diseñar sistemas electrónicos a mucho más alto nivel que lenguajes como VHDL y Verilog. Como desventaja frente a los anteriores, SystemC no cuenta hasta ahora con herramientas de síntesis directa a dispositivos programables; teniendo que ser traducido a lenguajes como VHDL o Verilog que si cuentan con este tipo de herramientas.

Tener unos fundamentos adecuados en el lenguaje de programación C++, facilita enormemente realizar gran parte de la lógica requerida para el diseño, ya que se pueden utilizar la mayoría de la herramientas y librerías ofrecidas por C++, con la opción de realizar varios procesos en paralelo.