Representaci - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Representaci

Description:

Representaci n RUNS. conversiones entre representaciones ... los alrededores, por lo que resulta inevitable tener que transformar de nuevo a matriz simple ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 29
Provided by: Gasp6
Category:

less

Transcript and Presenter's Notes

Title: Representaci


1
Representación RUNS
  • conversiones entre representaciones matriz
    binaria y secuencia
  • Juan Manuel García Sánchez
  • Pablo de la Torre Moreno

2
Objetivos
  • Características de representación
  • Operaciones
  • Características de compresión

3
Representación en secuencia
Características de representación
  • Ejemplo de matriz simple
  • 101111111111100
  • 000011101110000
  • 000000111000000
  • 000011101110000
  • 001110000011100
  • Ejemplo de correspondencia runs
  • 1 1 1 11 2
  • 0 4 3 1 3 4
  • 0 6 3 6
  • 0 4 3 1 3 4
  • 0 2 3 5 3 2

4
Algoritmo de paso a Runs (I)
Características de representación
  • Definición del tipo ArrayRuns como array de
    enteros sin signo
  • Estructura de ArrayRuns
  • número filas y columnas de la matriz original
  • primer bit de la primera fila
  • frecuencias de la fila
  • separador de filas (0)
  • primer bit de la segunda fila
  • ...

5
Algoritmo de paso a Runs (II)
Características de representación
  • Ejemplo de matriz Runs
  • 1 1 1 11 2
  • 0 4 3 1 3 4
  • 0 6 3 6
  • 0 4 3 1 3 4
  • 0 2 3 5 3 2
  • Ejemplo de correspondencia ArrayRuns
  • 5 15 1 1 1 11 2 0
  • 0 4 3 1 3 4 0 0 6
  • 3 6 0 0 4 3 1 3 4
  • 0 0 2 3 5 3 2 0

6
Algoritmo de paso a Runs (III)
Características de representación
  • Pasos del algoritmo
  • leer matriz en representación simple (obtención
    de número de filas y columnas)
  • codificar matriz a ArrayRuns
  • codificar ArrayRuns a bits

7
Algoritmo de paso a Runs (IV)
Características de representación
  • Pasos de la codificación a bits
  • codificar cada elemento en tantos bits como los
    necesarios para codificar el número de columnas
    (existen codificaciones mucho más eficientes)
  • utilizar un TAD adecuado para trabajar con bits
  • se necesita guardar el número de filas y columnas
    de la matriz original

8
Algoritmo de paso a Runs (V)
Características de representación
  • Ejemplo de secuencia ArrayRuns
  • 5 15 1 1 1 11 2 0
  • 0 4 3 1 3 4 0 0 6
  • 3 6 0 0 4 3 1 3 4
  • 0 0 2 3 5 3 2 0
  • Ejemplo de correspondencia en bits (sólo datos)
  • 1 0001 0001 1011 0010
  • 0 0100 0011 0001 0011
  • 0100 0 0110 0011 0110
  • 0 0100 0011 0001 0011
  • 0100 0 0010 0011 0101
  • 0011 0010

9
Algoritmo inverso
Características de representación
  • Pasos del algoritmo
  • tomar el conjunto de bits Runs y la información
    del número de filas y columnas
  • con el número de columnas, calcular el número de
    bits con el que se codifica cada número y
    decodificar las frecuencias
  • codificar de bits a ArrayRuns
  • codificar de ArrayRuns a representación simple

10
Esquema de representación (resumen)
Características de representación
  • Ejemplo de matriz simple
  • 101111111111100
  • 000011101110000
  • 000000111000000
  • 000011101110000
  • 001110000011100
  • Ejemplo de correspondencia Runs en bits (sólo
    datos)
  • 1 0001 0001 1011 0010
  • 0 0100 0011 0001 0011
  • 0100 0 0110 0011 0110
  • 0 0100 0011 0001 0011
  • 0100 0 0010 0011 0101
  • 0011 0010

11
Operaciones
Operaciones
  • Complementaria
  • Unión
  • Intersección
  • Diferencia
  • Rotación
  • Traslación
  • Otras transformaciones

12
Complementaria (I)
Operaciones
  • Algoritmo en representación simple
  • para cada bit de la matriz, invertirlo
  • es necesario recorrer toda la matriz
  • Algoritmo en representación Runs
  • por cada fila de la matriz, invertir el primer
    bit
  • muy eficiente

13
Complementaria (II)
Operaciones
  • Ejemplo de matriz en representación simple
  • 101111111111100
  • 000011101110000
  • 000000111000000
  • 000011101110000
  • 001110000011100
  • Ejemplo complementaria
  • 010000000000011
  • 111100010001111
  • 111111000111111
  • 111100010001111
  • 110001111100011

14
Complementaria (III)
Operaciones
  • Ejemplo de matriz en representación Runs
  • 1 1 1 11 2
  • 0 4 3 1 3 4
  • 0 6 3 6
  • 0 4 3 1 3 4
  • 0 2 3 5 3 2
  • Ejemplo complementaria
  • 0 1 1 11 2
  • 1 4 3 1 3 4
  • 1 6 3 6
  • 1 4 3 1 3 4
  • 1 2 3 5 3 2

15
Unión (I)
Operaciones
  • Algoritmo en representación simple
  • para cada bit de la primera matriz, realizar la
    operación or con el equivalente de la segunda
  • es necesario recorrer toda la matriz
  • Algoritmo en representación Runs
  • se procesa de igual manera, pero tan sólo las
    diferencias de frecuencias
  • más eficiente, puesto que recorre frecuencias, no
    bits
  • difícil de comprobar visualmente

16
Unión (II)
Operaciones
  • Ejemplo de matrices, representación simple
  • 101111111111100
  • 000011101110000
  • 000011101110000
  • 000000111000000
  • Ejemplo unión
  • 101111111111100
  • 000011111110000

?
17
Unión (III)
Operaciones
  • Ejemplo de matrices, representación Runs
  • 1 1 1 11 2
  • 0 4 3 1 3 4
  • 0 4 3 1 3 4
  • 0 6 3 6
  • Ejemplo unión
  • 1 1 1 11 2
  • 0 4 7 4

?
18
Intersección (I)
Operaciones
  • Algoritmo en representación simple
  • para cada bit de la primera matriz, realizar la
    operación and con el equivalente de la segunda
  • es necesario recorrer toda la matriz
  • Algoritmo en representación Runs
  • se procesa de igual manera, pero tan sólo las
    diferencias de frecuencias
  • más eficiente, puesto que recorre frecuencias, no
    bits
  • difícil de comprobar visualmente

19
Intersección (II)
Operaciones
  • Ejemplo de matrices, representación simple
  • 101111111111100
  • 000011101110000
  • 000011101110000
  • 000000111000000
  • Ejemplo intersección
  • 000011101110000
  • 000000101000000

?
20
Intersección (III)
Operaciones
  • Ejemplo de matrices, representación Runs
  • 1 1 1 11 2
  • 0 4 3 1 3 4
  • 0 4 3 1 3 4
  • 0 6 3 6
  • Ejemplo intersección
  • 0 4 3 1 3 4
  • 0 6 1 1 1 6

?
21
Diferencia (I)
Operaciones
  • Algoritmo en representación simple
  • para cada bit de la primera matriz, realizar la
    diferencia con el equivalente de la segunda
  • es necesario recorrer toda la matriz
  • Algoritmo en representación Runs
  • se procesa de igual manera, pero tan sólo las
    diferencias de frecuencias
  • más eficiente, puesto que recorre frecuencias, no
    bits
  • difícil de comprobar visualmente

22
Diferencia (II)
Operaciones
  • Ejemplo de matrices, representación simple
  • 101111111111100
  • 000011101110000
  • 000011101110000
  • 000000111000000
  • Ejemplo diferencia
  • 101100010001100
  • 000011000110000

?
23
Diferencia (III)
Operaciones
  • Ejemplo de matrices, representación Runs
  • 1 1 1 11 2
  • 0 4 3 1 3 4
  • 0 4 3 1 3 4
  • 0 6 3 6
  • Ejemplo diferencia
  • 1 1 1 2 3 1 3 2 2
  • 0 4 2 3 2 4

?
24
Rotación
Operaciones
  • Algoritmo en representación simple
  • para cada bit de la matriz, existen
    transformaciones matemáticas que modifican su
    posición
  • pueden ser funciones muy complejas
  • Algoritmo en representación Runs
  • es necesario conocer exactamente los bits de los
    alrededores, por lo que resulta inevitable tener
    que transformar de nuevo a matriz simple

25
Traslación (I)
Operaciones
  • Algoritmo en representación simple
  • dependiendo de la dirección, se coloca la fila o
    columna primera tras la última o viceversa
  • muy eficiente, pues sólo hay que modificar los
    índices
  • Algoritmo en representación Runs
  • se procesa de igual manera al trasladar filas
    con las columnas deben modificarse las
    frecuencias iniciales y finales de cada fila
  • igual de eficiente en las filas, menos en las
    columnas

26
Traslación (II)
Operaciones
  • Ejemplo de matrices, representación simple
  • 101111111111100
  • 000011101110000
  • 000000111000000
  • 000011101110000
  • 001110000011100
  • Ejemplo traslación (1 abajo, 2 izquierda)
  • 111000001110000
  • 111111111110010
  • 001110111000000
  • 000011100000000
  • 001110111000000

27
Traslación (III)
Operaciones
  • Ejemplo de matriz en representación Runs
  • 1 1 1 11 2
  • 0 4 3 1 3 4
  • 0 6 3 6
  • 0 4 3 1 3 4
  • 0 2 3 5 3 2
  • Ejemplo traslación (1 abajo, 2 izquierda)
  • 1 3 5 3 4
  • 1 11 2 1 1
  • 0 2 3 1 3 6
  • 0 4 3 8
  • 0 2 3 1 3 6

28
Otras transformaciones
Operaciones
  • Algoritmo en representación simple
  • para cada grupos de bit de la matriz, se aplican
    las transformaciones matemáticas dadas
  • pueden ser funciones muy complejas
  • Algoritmo en representación Runs
  • para cualquier grupo de bits, salvo en
    transformaciones lineales muy simples de un solo
    elemento, es necesario transformar de nuevo a
    matriz simple
Write a Comment
User Comments (0)
About PowerShow.com