Resumen (castellano) La compresión de imágenes es de vital importancia en sistemas y aplicaciones multimedia, ya que reduce drásticamente tanto el ancho de banda necesario para transmitir imágenes como la cantidad de memoria que hace falta para almacenarlas. Aunque los primeros estándares de compresión de imagen estaban basados en la transformada discreta del coseno, recientemente ha surgido una nueva herramienta matemática denominada transformada discreta wavelet que se considera más eficiente para la compresión de imágenes. A pesar de las mejoras en eficiencia, los compresores de imagen basados en esta transformada necesitan mucha más memoria e incrementan considerablemente su complejidad temporal si los comparamos con aquellos basados en la transformada discreta del coseno. Una razón fundamental que provoca estos elevados requerimientos de memoria es que el algoritmo empleado comúnmente para calcular la transformada wavelet necesita que la imagen entera esté en memoria. Aunque existen algunas propuestas que reducen el uso de memoria, éstas presentan varios problemas que dificultan su implementación. Además, determinados codificadores wavelet, como SPIHT (que se ha convertido en un referente para la codificación de imagen usando wavelets), también necesitan mantener toda la imagen en memoria para realizar el posterior proceso de codificación. Respecto a la complejidad temporal de los codificadores, SPIHT es bastante complejo debido al procesamiento por capas de bits con múltiples pasadas de la imagen que realiza. El estándar JPEG 2000, también basado en la transformada wavelet, es todavía más complejo porque mejora la compresión por medio de costosas técnicas, como por ejemplo un algoritmo iterativo de optimización basado en el método de multiplicadores de Lagrange, y el uso de un modelado de contextos de alto orden. En esta tesis, pretendemos reducir el uso de memoria y la complejidad en la codificación de imagen basada en wavelets, sin afectar por ello sus prestaciones en compresión. Con este objetivo, proponemos un codificador wavelet basado en codificación run-length y otro basado en árboles. Además, presentamos un nuevo algoritmo para calcular la transformada wavelet de forma eficiente. Este algoritmo reduce el uso de memoria por medio de un procesamiento línea a línea, y usa recursividad para establecer de forma automática el orden en el que la transformada se calcula, resolviendo de esta manera algunos problemas de sincronismo que no habían sido abordados en otras propuestas previas. Por otra parte, los codificadores presentados en esta tesis realizan un procesamiento directo de los coeficientes sin necesidad de memoria adicional o complejas estructuras de datos. Además, se evita el uso de métodos costosos (como por ejemplo, algoritmos iterativos, modelado de contextos de alto orden o codificación por capas de bits) para reducir así la complejidad temporal. Finalmente, con el mismo objetivo, también se muestra la importancia de agrupar coeficientes usando estructuras de árboles.