Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPatricia Duarte Acuña Modificado hace 10 años
2
Representación RUNS conversiones entre representaciones matriz binaria y secuencia Juan Manuel García Sánchez Pablo de la Torre Moreno
3
Objetivos Características de representación Operaciones Características de compresión
4
Representación en secuencia 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 Características de representación
5
Algoritmo de paso a Runs (I) 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... Características de representación
6
Algoritmo de paso a Runs (II) 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 Características de representación
7
Algoritmo de paso a Runs (III) 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 Características de representación
8
Algoritmo de paso a Runs (IV) 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 Características de representación
9
Algoritmo de paso a Runs (V) 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 Características de representación
10
Algoritmo inverso 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 Características de representación
11
Esquema de representación (resumen) Ejemplo de matriz simple 101111111111100 000011101110000 000000111000000 000011101110000 001110000011100 Características de representación 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
12
Operaciones Complementaria Unión Intersección Diferencia Rotación Traslación Otras transformaciones Operaciones
13
Complementaria (I) 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 Operaciones
14
Complementaria (II) Ejemplo de matriz en representación simple 101111111111100 000011101110000 000000111000000 000011101110000 001110000011100 Ejemplo complementaria 010000000000011 111100010001111 111111000111111 111100010001111 110001111100011 Operaciones
15
Complementaria (III) 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 Operaciones
16
Unión (I) 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 Operaciones
17
Unión (II) Ejemplo de matrices, representación simple 101111111111100 000011101110000 000000111000000 Ejemplo unión 101111111111100 000011111110000 Operaciones
18
Unión (III) Ejemplo de matrices, representación Runs 1 : 1 1 11 2 0 : 4 3 1 3 4 0 : 6 3 6 Ejemplo unión 1 : 1 1 11 2 0 : 4 7 4 Operaciones
19
Intersección (I) 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 Operaciones
20
Intersección (II) Ejemplo de matrices, representación simple 101111111111100 000011101110000 000000111000000 Ejemplo intersección 000011101110000 000000101000000 Operaciones
21
Intersección (III) Ejemplo de matrices, representación Runs 1 : 1 1 11 2 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 Operaciones
22
Diferencia (I) 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 Operaciones
23
Diferencia (II) Ejemplo de matrices, representación simple 101111111111100 000011101110000 000000111000000 Ejemplo diferencia 101100010001100 000011000110000 Operaciones
24
Diferencia (III) Ejemplo de matrices, representación Runs 1 : 1 1 11 2 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 Operaciones
25
Rotación 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 Operaciones
26
Traslación (I) 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 Operaciones
27
Traslación (II) Ejemplo de matrices, representación simple 101111111111100 000011101110000 000000111000000 000011101110000 001110000011100 Ejemplo traslación (1 abajo, 2 izquierda) 111000001110000 111111111110010 001110111000000 000011100000000 001110111000000 Operaciones
28
Traslación (III) 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 Operaciones
29
Otras transformaciones 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 Operaciones
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.