UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja
ESCUELA DE ELECTRONICA Y TELECOMUNICACIONES
ESTUDIO DE UN CÓDEC DE COMPRESIÓN DE AUDIO PARA MEJORAR LA CALIDAD DE SERVICIO DE SONIDOS ESTETOSCÓPICOS SOBRE UNA RED IP
TESIS PREVIA A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN ELECTRÓNICA Y TELECOMUNICACIONES TELECOMUNICACIONES
AUTORES: VICENTE MIGUEL MARTÍNEZ CHUQUIMARCA PEDRO DAMIÁN VÉLEZ SALAS
DIRECTORA: ING. KATTY ALEXANDRA ROHODEN JARAMILLO
LOJA – ECUADOR
2010
CERTIFICACIÓN: CERTIFICACIÓ N: ACEPTACIÓN PROYECTO DE FIN DE CARRERA
Loja, enero de 2010
Ing. Katty A. Rohoden Escuela de Electrónica y Telecomunicaciones – GESE
Dejo constancia de haber revisado y estar de acuerdo con el proyecto de fin de carrera, titulado: “Estudio de un códec de compresión de audio para mejorar la calidad de servicio de sonidos estetoscópicos sobre una red IP”.
Presentado por: Vicente Miguel Martínez Chuquimarca Pedro Damián Vélez Salas
Particular que comunico para los fines f ines legales pertinentes.
---------------------------------------Ing. Katty Alexandra Rohoden
Visto Visto Buen o Direc Direc c ión Es Esc uela F)..................................... Ing. Jorge Luis Jaramillo Pacheco DIRECTOR DE LA ESCUELA DE ELECTRÓNICA Y TELECOMUNICACIONES Ene ro d e 2010 2010
CESIÓN DE DERECHOS
Vicente Miguel Martínez Chuquimarca y Pedro Damián Vélez Salas, declaramos ser autores del presente trabajo y eximamos expresamente a la Universidad Técnica Particular de Loja y a sus representantes legales de posibles reclamos o acciones legales.
Adicionalmente declaramos declaramos conocer y aceptar la disposición del Art. 67 del Estatuto Orgánico de la Universidad Técnica Particular de Loja que en su parte pertinente textualmente dice: “Forman parte del patrimonio de la Universidad la propiedad intelectual de investigaciones, trabajos científicos o técnicos y tesis de grado que se realicen a través o con el apoyo financiero, académico o institucional (operativo) de la Universidad”. Universidad”.
Los Autores
…………………………
………………………
Vicente M. Martínez
Pedro D. Vélez
iii
AUTORÍA
Las ideas, opiniones, conclusiones, recomendaciones y más contenidos expuestos en el presente informe de tesis son de absoluta responsabilidad de los autores.
Vicente Miguel Martínez Chuquimarca Pedro Damián Vélez Salas
iv
INTRODUCCIÓN
Para aplicaciones en telemedicina, como realizar un diagnóstico remoto, es importante tener en cuenta cómo se van a transmitir los datos. El propósito de este proyecto de investigación es realizar un análisis de códecs de compresión de audio ya disponibles, para determinar cuál es el más apropiado en cuanto a la transmisión de sonidos estetoscópicos en tiempo real. Además, se ha realizado un estudio que abarca la determinación de características técnicas de los diferentes sonidos tanto cardíacos como respiratorios, teniendo en cuenta varias anomalías posibles que se presentan comúnmente en pacientes, con el afán de determinar los rangos de frecuencias en que se encuentran localizados estos sonidos y su ancho de banda dentro del espectro de frecuencias auditivas. Una vez realizado este estudio, se analizaron varios códecs de audio utilizados actualmente en transmisión de tiempo real, para poder escoger el más adecuado en este tipo de aplicación, teniendo siempre en cuenta el óptimo uso de lo que podría ser un canal de transmisión, evitando elegir algún códec que pueda significar un desperdicio de ancho de banda. Después de seleccionar el códec de compresión, se procedió a analizarlo para tener especificaciones de lo que significa utilizar este códec.
El presente trabajo servirá como referencia para futuras investigaciones que se dediquen al análisis de sonidos transmitidos en enlaces, tanto guiados o no guiados, pudiendo servir como base del procedimiento a seguir en caso que se requieran realizar investigaciones similares a esta. El esquema mostrado en el Anexo A presenta de forma general la aplicación sobre la cual se utilizará el compresor de audio. Una vez seleccionado el códec de compresión para este tipo de sonidos, se puede tener la pauta para las especificaciones técnicas que la red de telemedicina deberá tener en lo que se refiere a los protocolos de transmisión a utilizar. Como en este proyecto ya se define un códec recomendable para la transmisión de sonidos estetoscópicos, es posible implementar un sistema de videoconferencia que utilice un estándar que incluya al códec seleccionado, dando paso a que el proyecto se expanda en varios tipos de interfaces.
v
La manera en que se llevó a cabo este estudio involucró la recolección de dieciocho archivos de sonidos en formato digital, tanto cardíacos como respiratorios. Se procuró que cada uno de estos sonidos no haya sido comprimido mediante métodos que contienen pérdidas, como lo es MP3, porque eso podría omitir información importante para el análisis. Cada archivo de sonido fue analizado utilizando la herramienta MATLAB, obteniendo su forma de onda (amplitud en función del tiempo), su espectrograma (frecuencia en función del tiempo) y su densidad de potencia espectral (potencia en función de la frecuencia). Estos tipos de análisis permitieron, de manera gráfica, apreciar cómo es el comportamiento de cada sonido, pudiendo ver los componentes de las anomalías en cada caso y así tomar un criterio de en qué tipo de frecuencias se encuentra cada sonido. Una vez realizado todo este análisis, se procedió a recrear una tabla comparativa que contiene todos los datos técnicos recolectados para determinar frecuencias máximas y mínimas del peor de los casos posibles, llegando a conclusiones que en los sonidos respiratorios se pueden encontrar frecuencias más altas que en los sonidos cardíacos. Con la ayuda de los datos de esta tabla se propuso las características de un códec ideal que serviría para comprimir los datos de los sonidos en estudio de manera que no se atenúen frecuencias que contengan información importante. Esto permite hacer una comparación con códecs ya existentes y seleccionar el más apropiado a esta aplicación.
Este proyecto empieza con la descripción técnica de los sonidos, contenidos en cada muestra, tratando de obviar la descripción médica de cada uno de ellos, puesto que no influye a los resultados de este proyecto de investigación. Luego, se describe cómo funciona la compresión de datos de forma general, para entender cómo afecta a una señal cuando es sometida a este procedimiento. Es importante entender estos conceptos y así poder realizar una correcta elección del códec. Después, se menciona brevemente el funcionamiento de la transmisión de datos en tiempo real en una red de datos, incluyendo conceptos básicos de cómo funcionan los protocolos que permiten este tipo de aplicación y partiendo de los aspectos tomados en cuenta en aplicaciones ya existentes como Voz sobre IP (VoIP) para establecer las recomendaciones que una red de esta índole debe tener, haciendo básicamente un enfoque en lo que concierne a la transmisión de sonidos, ignorando la transmisión de vídeo. Dentro de la comparación de los códecs de compresión considerados, se ha incluido información relevante a este proyecto como el ancho
vi
de banda, la frecuencia máxima que cada uno abarca, el índice de retardo que este tiene en una transmisión en tiempo real y su tasa de bits por segundo (bits/s). Finalmente, en base al códec ideal propuesto, en referencia a las conclusiones obtenidas en esta investigación, se seleccionó un códec de compresión de los analizados, recomendado para esta aplicación, seguido por las conclusiones y recomendaciones.
vii
OBJETIVOS
OBJETIVO GENERAL
Estudiar un códec de compresión de audio que mejore la calidad de servicio de los sonidos estetoscópicos para ser transmitidos sobre una red IP.
OBJETIVOS ESPECÍFICOS
•
Estudiar los valores de tiempo, frecuencia y potencia de sonidos estetoscópicos.
•
Describir el funcionamiento de una red IP orientada a la transmisión de sonido en tiempo real.
•
Estudiar los conceptos básicos de compresión de audio.
•
Recopilar y comparar diferentes códecs de compresión de audio utilizados en transmisión en tiempo real.
•
Seleccionar y analizar un códec de compresión para la transmisión de sonidos estetoscópicos en tiempo real.
viii
TABLA DE CONTENIDO
Cesión de derechos…………………………………………………………....……… iii Autoría…………..……………………………………………………………………… iv Introducción……………..……………………………………………………………… v Objetivos……………………………….……………………………………………….
viii
Tabla de contenido……………………………………………………………………. ix Lista de figuras…………………………………………………………………………. xi Lista de tablas………………………………………………………………………….. xiii
1 Auscultación………………………………………………………………………….. 1 1.1 Auscultación cardíaca…………………………………………………………….. 1 1.1.1 Ruidos normales………………………………………………………………… 1 1.1.2 Ruidos normales alterados…………………………….……………………….. 3 1.1.3 Ruidos anormales………………………………………………….……………. 3 1.2 Auscultación pulmonar………………………………………………………….... 10 1.2.1 Sonidos normales……………………………………………………………….. 12 1.2.2 Sonidos adventicios……………………………………………………….……. 16
2 Compresión de datos……………………………………………………………….. 23 2.1 Algunas mediciones………………………………………………...……………. 24 2.2 Compresión de audio……………………………………………………………... 25 2.2.1 El sonido…………………………………………………………………………. 25 2.2.2 Digitalización del sonido……………………………………………………….... 26 2.2.3 El oído humano……………………………………………………………….…. 26 2.2.4 Métodos convencionales de compresión……………………………………… 28 2.2.5 Compresión de audio con pérdidas…………………………………………… 29
3 Transmisión de sonido en tiempo real sobre una red IP………………………… 30 3.1 Criterios para evaluar el servicio VoIP………………………………………..… 31 3.1.1 Requisito de servicio antes de los intentos de llamada………………..……. 31 3.1.2 Requisito de servicio durante la llamada……………………………….…….. 31 3.1.3 Requisito de servicio al finalizar la llamada…………………………...……… 33 3.2 Protocolos para la transmisión de audio en tiempo real………………...…….. 33 3.2.1 Protocolo de transporte en tiempo real (RTP)……………………………..… 34
ix
4 Códecs de compresión de audio………………………………………………..…. 36 4.1 Códec ideal………………………………………………………………………… 36 4.2 Algunos códecs considerados…………………………………………………… 37 4.2.1 G.711…………………………………………………………………………….
38
4.2.2 G.711.1………………………………………………………………………….. 38 4.2.3 G.722…………………………………………………………………………….
39
4.2.4 G.723.1………………………………………………………………………….. 39 4.2.5 G.726…………………………………………………………………………….
40
4.2.6 G.728…………………………………………………………………………….
40
4.2.7 G.729…………………………………………………………………………….
41
4.2.8 Speex……………………………………………………………………………. 41 4.2.9 Vorbis I……………………………………………………………………………. 42 4.3 Comparación de las características de los códecs de compresión considerados para la transmisión de sonido en tiempo real………………………. 42
5 Códec de compresión Vorbis I…………………………………………………….. 45 5.1 Descripción general……………………………………………… ………………. 45 5.2 Funcionamiento……………………………………………………………………. 46 5.3 Comparación de sonidos estetoscópicos utilizando formatos wav y ogg……. 47
Conclusiones…………………………………………………………………………… 53 Recomendaciones…………………………………… ……………………………….. 54 Bibliografía y referencias……………………………………………………………… 55 Glosario de términos médicos………………………………………………………... 58 Anexos………………………………………………………………………………….
x
60
LISTA DE FIGURAS
Figura 1.1 Válvulas del corazón y la dirección en que fluye la sangre en las fases diástole y sístole………………………………………………………………… 2 Figura 1.2 Forma de onda del sonido de un corazón normal…………………….. 3 Figura 1.3 Niveles de potencia del sonido de un corazón normal………………... 4 Figura 1.4 Espectrograma de un corazón normal………………………………….. 4 Figura 1.5 Ruidos cardíacos anormales…………………………………………….. 5 Figura 1.6 Forma de onda del ruido anormal clic de eyección…………………… 5 Figura 1.7 Niveles de potencia del ruido anormal clic de eyección……………… 6 Figura 1.8 Espectrograma del ruido anormal clic de eyección…………………… 6 Figura 1.9 Forma de onda del ruido anormal chasquido de apertura…………….. 7 Figura 1.10 Niveles de potencia del ruido anormal chasquido de apertura……… 8 Figura 1.11 Espectrograma del ruido anormal chasquido de apertura…………… 8 Figura 1.12 Forma de onda del ruido anormal estenosis mitral…………………… 9 Figura 1.13 Niveles de potencia del ruido anormal estenosis mitral……………… 9 Figura 1.14 Espectrograma del ruido anormal estenosis mitral…………………… 10 Figura 1.15 Forma de onda del ruido anormal defecto septal atrial………………. 11 Figura 1.16 Niveles de potencia del ruido anormal defecto septal atrial…………. 11 Figura 1.17 Espectrograma del ruido anormal defecto septal atrial………………. 12 Figura 1.18 Niveles de potencia del sonido normal bronquial…………………...... 13 Figura 1.19 Espectrograma del sonido normal bronquial………………………….. 14 Figura 1.20 Niveles de potencia del sonido normal traqueal………………………. 15 Figura 1.21 Espectrograma del sonido normal traqueal…………………………… 15 Figura 1.22 Niveles de potencia del sonido adventicio crujido……………………. 17 Figura 1.23 Espectrograma del sonido adventicio crujido…………………………. 17 Figura 1.24 Niveles de potencia del sonido adventicio chillido……………………. 18 Figura 1.25 Espectrograma del sonido adventicio chillido…………………………. 19 Figura 1.26 Niveles de potencia del sonido adventicio silbido…………………….. 20 Figura 1.27 Espectrograma del sonido adventicio silbido………………………….. 21 Figura 1.28 Niveles de potencia del sonido adventicio estridor de un bebé……...21 Figura 1.29 Espectrograma del sonido adventicio estridor de un bebé………...... 22 Figura 2.1 (a) Umbral de sensibilidad del oído humano en un ambiente silencioso. (b) Umbral de sensibilidad debido al efecto de enmascaramiento……………….. 27
xi
Figura 3.1 Protocolos para la transmisión de audio en tiempo real, según el modelo TCP/IP…………………………………………………………………………. 34 Figura 4.1 Diagrama de bloques del códec ideal…………………………………… 39 Figura 5.1 Diagrama de bloques del algoritmo de Vorbis I………………………… 46 Figura 5.2 Comparación de formas de onda de un corazón normal, utilizando formatos wav y ogg a 8 kbits/s………………………………………………………... 48 Figura 5.3 Comparación de formas de onda de un corazón normal, utilizando formatos wav y ogg a 16 kbits/s………………………………………………………. 49 Figura 5.4 Comparación de formas de onda de un corazón normal, utilizando formatos wav y ogg a 24 kbits/s………………………………………………………. 49 Figura 5.5 Comparación de formas de onda del ruido anormal clic de eyección, utilizando formatos wav y ogg a 8 kbits/s…………………………………………..... 50 Figura 5.6 Comparación de formas de onda del ruido anormal clic de eyección, utilizando formatos wav y ogg a 16 kbits/s…………………………………………... 50 Figura 5.7 Comparación de formas de onda del ruido anormal clic de eyección, utilizando formatos wav y ogg a 24 kbits/s…………………………………………... 51 Figura 5.8 Comparación de densidad de potencia espectral de un corazón normal, utilizando formatos wav y ogg a 8, 6 y 24 kbits/s………………………….. 51 Figura 5.9 Comparación de densidad de potencia espectral del ruido anormal clic de eyección, utilizando formatos wav y ogg a 8, 6 y 24 kbits/s………………..52 Figura 5.10 Comparación de densidad de potencia espectral del sonido normal traqueal, utilizando formatos wav y ogg a 8, 6 y 24 kbits/s…………………………52 Figura A.1 Esquema de la aplicación de telemedicina, utilizando un códec de compresión de sonido………………………………………………………………….. 60
xii
LISTA DE TABLAS
Tabla 4.1 Comparación de las características relevantes de los códecs de compresión de audio para transmisión en tiempo real…………………………….. 43 Tabla C.1 Comparación de las características de los sonidos cardíacos……….. 64 Tabla C.2 Comparación de las características de los sonidos pulmonares……… 65
xiii
1
CAPÍTULO 1: AUSCULTACIÓN La auscultación es un método utilizado para escuchar los ruidos o sonidos generados por cierta parte del cuerpo que se desee examinar [1,2,4]. En principio, la auscultación se puede realizar directamente con el oído, pero habitualmente se utiliza un estetoscopio o fonendoscopio, el cual se compone básicamente de una membrana y una campana, que permiten amplificar los sonidos agudos y graves, respectivamente [2].
Los ruidos o sonidos corporales son generados por el flujo sanguíneo o flujo de aire, cuya interpretación puede contener información de mucha importancia en el diagnóstico del estado de un paciente. De esta forma, se puede clasificar dos principales tipos de auscultación: auscultación cardíaca, y auscultación pulmonar [3].
En cada parte del cuerpo a examinar, existen los llamados focos de auscultación, los cuales son puntos principales donde se deben analizar los ruidos corporales [2]. A continuación, se detallan dichos ruidos, analizando características afines a su procesamiento digital, como la frecuencia, amplitud, y tiempo de duración.
1.1 AUSCULTACIÓN CARDÍACA
1.1.1 RUIDOS NORMALES Los ruidos o sonidos cardíacos son generados por el cierre de las válvulas del corazón. Estos ruidos conforman lo que comúnmente se conoce por latido del corazón. El corazón está compuesto por cuatro válvulas (tricúspide, mitral, pulmonar y aórtica) y cuatro cavidades (dos aurículas y dos ventrículos), mostradas en la Figura 1.1. Un latido del corazón se compone de dos fases, llamadas diástole y sístole, que producen los dos ruidos cardíacos normales R1 y R2 respectivamente [3,5]. El proceso es el siguiente:
2
Diástole: las aurículas se llenan de sangre y se contraen, impulsando la sangre hacia los ventrículos a través de las válvulas tricúspide y mitral. El cierre de estas dos válvulas genera el primer ruido cardíaco normal R1 [2].
Figura 1.1 Válvulas del corazón y la dirección en que fluye la sangre en las fases diástole y sís tole [2].
Sístole: el ventrículo derecho impulsa sangre a los pulmones para oxigenarlos, regresa por la aurícula izquierda, pasa al ventrículo izquierdo y luego se distribuye hacia el corazón y otras partes del cuerpo a través de las válvulas pulmonar y aórtica, respectivamente. El cierre de estas dos válvulas genera el segundo ruido cardíaco normal R2 [2].
En la Figura 1.2 se puede observar la gráfica de la forma de onda del sonido producido por un corazón normal 1. Fácilmente se identifican dos componentes principales, que serán detallados posteriormente, además de dos ruidos adicionales de pequeña amplitud en relación a los dos primeros.
En las Figuras 1.3 y 1.4 es posible comprobar de forma gráfica que las componentes principales de frecuencia de este sonido se encuentran por debajo de los 500 Hz, teniendo picos prominentes en el rango de 100-300 Hz. Las frecuencias por debajo de -75 dB/Hz (detallado con línea verde) no son perceptibles al oído, de acuerdo a varias pruebas realizadas en Matlab.
1
•
Rango de frecuencias del sonido cardíaco normal: 50-300 Hz
•
Variación de potencia entre el rango de frecuencia: -55 hasta -75 dB/Hz
Las Figuras desde la 1.2 hasta la 1.29, exceptuando a la Figura 1.5, son gráficas obtenidas utilizando Matlab, analizando sonidos pregrabados con extensión wav [10]. El código utilizado se encuentra en el Anexo B.
3
1.1.2 RUIDOS NORMALES ALTERADOS Las alteraciones de los ruidos cardíacos normales generan un cambio en la intensidad de los ruidos, debido al instante en el cual se cierran las válvulas o a la velocidad con que se cierran. En el segundo ruido cardíaco R2 también se puede generar un desdoblamiento, que es la separación de los ruidos generados por las válvulas pulmonar y aórtica, pero mantienen su rango de frecuencia y su tiempo de duración [3].
Figura 1.2 Forma de onda del sonido de un corazón normal [6].
1.1.3 RUIDOS ANORMALES Los ruidos anormales son los siguientes:
Ruidos de llenado ventricular. Tercer ruido R3 y cuarto ruido R4: el tercer ruido es un ruido de baja frecuencia localizado después del segundo ruido normal R2. El cuarto ruido es un ruido de baja frecuencia localizado justo antes del primer ruido normal R1 [5]. Se pueden apreciar en la Figura. 1.5.
4
Figura 1.3 Niveles de potencia del sonido de un corazón normal [6].
Figura 1.4 Espectrograma de un corazón normal [6].
5
Clics sistólicos de eyección. Aórtico y pulmonar: son ruidos de alta frecuencia tipo metálicos que aparecen después del primer ruido R1 (Figuras 1.6, 1.7, 1.8).
Figura 1.5 Ruidos cardíacos anormales 2 [5].
Figura 1.6 Forma de onda del ruido anormal clic de eyección [6].
En este tipo de anomalía se presentan componentes de frecuencias más altas que en las de los latidos de un corazón normal. En la Figura 1.7 en el rango de 100-200 Hz es posible ver componentes de potencia mayores que el resto del espectro, habiendo un rango de frecuencia de 50-400 Hz de acuerdo al espectrograma de la Figura 1.8. 2
Los ruidos R1, R2, R3, y R4 también son denotados como S1, S2, S3, y S4, respectivamente.
6
Figura1.7. Niveles de potencia del ruido anormal clic de eyección [6].
Figura 1.8 Espectrograma del ruido anormal clic de eyección [6].
7
•
Rango de frecuencias del ruido anormal clic de eyección: 0-400 Hz
•
Variación de potencia entre el rango de frecuencia: -42 hasta -75 dB/Hz
Chasquidos de apertura de las válvulas A-V: mitral y tricúspide: posee ruidos de alta frecuencia que aparecen inmediatamente después del segundo ruido (Figuras 1.9, 1.10, 1.11).
•
Rango de frecuencias del ruido anormal chasquido de apertura: 0-500 Hz
•
Variación de potencia entre el rango de frecuencia: -32 hasta -75 dB/Hz
Figura 1.9 Forma de onda del ruido anormal chasquido de apertura [6].
Estenosis mitral: este tipo de patología presenta componentes de alta frecuencia antes del primer ruido incrementando su frecuencia hasta R1 (Figuras 1.12, 1.13, 1.14). Además se presentan componentes de gran amplitud en el ruido R3. En las Figuras 1.13 y 1.14 se puede observar que el rango de frecuencias que cubre este tipo de sonido va desde 50 hasta 500 Hz.
8
Figura 1.10 Niveles de potencia del ruido anormal chasquido de apertura [6].
Figura 1.11 Espectrograma de ruido anormal chasquido de apertura [6].
9
Figura 1.12 Forma de onda del ruido anormal estenosis mitral [6].
Figura 1.13 Niveles de potencia del ruido anormal estenosis mitral [6].
10
Figura 1.14 Espectrograma del ruido anormal estenosis mitral [6]. •
Rango de frecuencias del ruido anormal estenosis mitral: 50-500 Hz
•
Variación de potencia entre el rango de frecuencia: -50 hasta -75 dB/Hz
Defecto septal atrial: en este caso, existen componentes de frecuencia altas entre el sonido R4 y el primer sonido R1, además se puede apreciar un incremento en las componentes de frecuencia de la apertura de los dos sonidos principales (Figuras 1.15, 1.16, 1.17). En las Figuras 1.16 y 1.17 es posible ver que el rango de frecuencias se encuentra entre 50 y 350 Hz.
•
Rango de frecuencias del ruido anormal defecto septal atrial: 50-350 Hz
•
Variación de potencia entre el rango de frecuencia: -48 hasta -75 dB/Hz
1.2 AUSCULTACIÓN PULMONAR Dentro de los sonidos obtenidos utilizando un estetoscopio con propósitos de medir la condición de un paciente relacionado a su salud respiratoria se pueden clasificar en sonidos normales y adventicios.
11
Figura 1.15 Forma de onda del ruido anormal defecto septal atrial [6].
Figura 1.16 Niveles de potencia del ruido anormal defecto septal atrial [6].
12
Figura 1.17 Espectrograma de ruido anormal defecto septal atrial [6].
1.2.1 SONIDOS NORMALES Las características de los sonidos normales dependen del lugar en donde se esté ubicando el diafragma del estetoscopio, ya que debido a la composición anatómica de la parte torácica, el sonido que viaja a través de los pulmones hacia la superficie del cuerpo puede ser afectado por las capas que forman los tejidos, músculos, cartílagos y huesos, creando una alteración como lo haría un filtro. Es por esto que para realizar un diagnóstico de la condición respiratoria de una persona se toman muestras desde la superficie de la caja torácica al igual que en la tráquea [8].
Sonidos normales pulmonares: para que un sonido obtenido desde el área donde se encuentran ubicados los pulmones sea diagnosticado normal es necesario que se encuentre dentro de la banda de 100-1000 Hz [7]. Las componentes bajas de este sonido se dan debido a la ausencia de niveles acústicos agudos. Una muestra tomada desde esta área es afectada por las paredes del pecho y los tejidos, actuando como un filtro pasa bajas con una frecuencia de corte de aproximadamente 1500 Hz, y la energía sonora cae rápidamente entre los 100 y
13
200 Hz, como se puede observar en la Figura 1.18. Dentro de este rango también se encuentran los sonidos producidos por los músculos respiratorios y por el corazón, a frecuencias entre 200 y 250 Hz, los mismos que no pueden ser apreciados con facilidad en las gráficas junto a componentes de sonidos respiratorios, ya que se sobreponen debido a su mayor potencia. Además, existe un retraso de fase complicado por un número de factores como lo pueden ser las resonancias torácicas, las cuales indican reflexiones internas en frecuencias bajas y el potencial de caminos de propagación múltiples [8].
Utilizando sonidos de muestra para el análisis de la teoría, se puede observar que un sonido normal bronquial tomado en el área donde se encuentra ubicados los pulmones, posee niveles significativos de potencia en un rango de frecuencias desde 0 hasta 1000 Hz. Como se puede observar en las Figuras 1.18 y 1.19, los niveles de potencia empiezan a ser imperceptibles a partir de los 1000 Hz.
•
Rango de frecuencias del sonido normal bronquial: 0-1000 Hz
•
Variación de potencia entre el rango de frecuencia: -42 hasta -90 dB/Hz
Figura 1.18 Niveles de potencia del sonido normal bronquial [6].
14
Figura 1.19 Espectrograma del sonido normal bronquial [6].
Sonidos normales traqueales: cuando el sonido es escuchado desde la tráquea es menos filtrado y además se puede notar un aumento en el espectro de hasta 1200 Hz [9], permitiendo un rango desde menos de 100 hasta 3000 Hz. Debido a que el número de capas y obstáculos que se encuentran entre el pasaje de la tráquea y la superficie del cuerpo es menor, la información que se puede recolectar en esta área es de mayor detalle y nitidez. La principal energía de los sonidos traqueales se extiende desde 50 Hz hasta 1000 Hz, con una caída de potencia pronunciada por una frecuencia de corte de 850 Hz [8], la cual es mayor en contraste al rango de 100-250 Hz que se encuentra en los sonidos pulmonares. Este lugar de medición es ideal para poder localizar la presencia de ronquidos.
En las Figuras 1.20 y 1.21 se puede observar un cambio en el rango de frecuencias de un sonido normal tomado desde la ubicación de la tráquea, obteniendo un rango de frecuencias desde 0 hasta 1600 Hz. Los niveles de potencia ya no son perceptibles a partir de los 1600 Hz.
15
Figura 1.20 Niveles de potencia del sonido normal traqueal [6].
Figura 1.21 Espectrograma del sonido normal traqueal [6].
16
•
Rango de frecuencias del sonido normal traqueal: 0-1600 Hz
•
Variación de potencia entre el rango de frecuencia: -35 hasta -85 dB/Hz
1.2.2 SONIDOS ADVENTICIOS Los sonidos adventicios son los caracterizados por contener componentes que no están dentro de los rangos normales. Serían conocidos como los sonidos producidos a raíz de la presencia de infecciones, bloqueos y enfermedades respiratorias relacionadas. Estos sonidos muestran componentes con mayor energía en frecuencias fuera del rango normal. Estos sonidos son conocidos como crujidos, chillidos, silbidos, ronquidos y estridor. Cada uno con características diferentes en el espectro de frecuencia, lo que da paso a que un análisis computacional de estos sonidos sea una forma acertada de identificación de la enfermedad [6,7,8].
Por ejemplo, la presencia de asma en un paciente genera un incremento de componentes en altas frecuencias en los llamados sonidos bronquiales, los cuales tienen componentes de hasta 600-1000 Hz [9]. Un paciente con enfisema presenta un decremento y variabilidad más largo de la amplitud de transmisión en frecuencias bajas. Una edema pulmonar cardiogénica incrementa la amplitud del sonido transmitido en las paredes del pecho en una forma lineal [8].
Crujidos: son sonidos que se encuentran frecuentemente en enfermedades cardiorespiratorias. Su duración es menor a 20 ms y su espectro de frecuencias va desde 100 hasta 2000 Hz [9]. Pansterkamp [8] describe estos sonidos como explosiones miniaturas escuchadas más en la inhalación que en la exhalación. La parte inferior de los pulmones es la fuente más rica en este sonido.
En las Figuras 1.22 y 1.23 se obtienen rangos de frecuencias desde 0 hasta 1500 Hz. Los niveles de potencia empiezan a ser imperceptibles a partir de los 1500 Hz.
•
Rango de frecuencias del sonido adventicio crujido: 0-1500 Hz
•
Variación de potencia entre el rango de frecuencia: -25 hasta -90 dB/Hz
17
Figura 1.22 Niveles de potencia del sonido adventicio crujido [6].
Figura 1.23 Espectrograma del sonido adventicio crujido [6].
18
Chillido: es un silbido corto en la inhalación que ocurre en enfermedades pulmonares restrictivas. Este sonido aparece ocurrir siempre junto con los crujidos. Estos sonidos raramente exceden los 400 ms de duración [9].
En las Figuras 1.24 y 1.25 se obtiene un rango de frecuencias desde 0 hasta 1100 Hz. Los niveles de potencia empiezan a caer a partir de los 1100 Hz. En la Figura 1.25 es posible ver las componentes en donde se encuentran los chillidos antes del segundo 2 y después del segundo 4.
•
Rango de frecuencias del sonido adventicio chillido: 0-1100 Hz
•
Variación de potencia entre el rango de frecuencia: -40 hasta -90 dB/Hz
Figura 1.24 Niveles de potencia del sonido adventicio chillido [6].
Silbido: es un ruido que ocurre cuando existe una obstrucción de las vías respiratorias, y es un parámetro para medir la severidad de asma. Son sonidos pulmonares musicales, también llamados continuos, debido a que su duración es más larga que la de los crujidos. Estos sonidos no se extienden más que 250 ms. Su forma es una sinusoide de rango de frecuencias se extiende desde menos que 100 Hz hasta más de 1000 Hz [8]. Pasterkamp sugiere que el silbido produce
19
componentes en frecuencias entre 350-950 Hz y en cambio, Gavriely menciona que las componentes de este sonido se encuentran entre 80-1600 Hz. Su frecuencia dominante se encuentra por encima de los 100 Hz alrededor de los 400 Hz [9]. Este tipo de ruido se encuentra presente en el asma, estenosis y en la aspiración de un cuerpo extraño.
Figura 1.25 Espectrograma de sonido adventicio chillido [6].
En las Figuras 1.26 y 1.27 se tienen resultados de un paciente infante con silbidos, se observa un rango de frecuencias de 0-1200 Hz, con una duración de 250 ms por silbido. Los niveles de potencia ya no son perceptibles a partir de los 1200 Hz.
•
Rango de frecuencias del sonido adventicio silbido: 0-1200 Hz
•
Variación de potencia entre el rango de frecuencia: -40 hasta -90 dB/Hz
Ronquido: los ronquidos son ruidos comúnmente escuchados al dormir. Se sugiere que son producidos por vibraciones en las paredes de la orofaringe. Estos demuestran una intensidad mayor a -50 dB y contienen una frecuencia fundamental entre 30 y 250 Hz [9]. Son repeticiones de estructuras sonoras que están relacionadas a secreciones y colapsos en las vías respiratorias [8]. Descritos
20
temporalmente, son series de sinusoides atenuadas rápidamente con una duración menor a 100 ms.
Figura 1.26 Niveles de potencia del sonido adventicio silbido [6]. •
Rango de frecuencias de los sonidos adventicios ronquido: 0-1000 Hz
Estridor: son silbidos de larga duración usualmente producidos por la obstrucción de la laringe o la tráquea. Tienen un pico prominente en 1000 Hz. Este sonido puede ser escuchado cerca del paciente sin la necesidad de utilizar un estetoscopio. La envolvente del pico y la complejidad del espectro dependen de la enfermedad. Una obstrucción fija generará un pico constante y una obstrucción dinámica modulará el pico en frecuencia.
En las Figuras 1.28 y 1.29 es posible observar un caso diferente a los sonidos previos, la muestra se habría tomado a un paciente infante de pocos meses de edad. Las componentes de frecuencia se encuentran en un rango mucho más amplio de lo mencionado en otros casos siendo desde 100-1300 Hz con una componente prominente en 1000 Hz. Cada componente de esta enfermedad tiene una duración de 700 ms.
21
Figura 1.27 Espectrograma del sonido adventicio silbido [6].
Figura 1.28 Niveles de potencia del sonido adventicio estridor de un bebé [6].
22
Figura 1.29 Espectrograma de sonido adventicio estridor de un bebé [6]. •
Rango de frecuencias de los sonidos adventicios estridor: 0-1300 Hz
•
Variación de potencia entre el rango de frecuencia: -35 hasta -90 dB/Hz
El Anexo C muestra las Tablas C.1 y C.2, las cuales brindan una comparación de las
características
de
interés
de
los
sonidos
cardíacos
y
pulmonares,
respectivamente. No comprenden todas las anomalías que se pueden presentar en un paciente, pero constan las más comunes.
Como resultado de esta comparación, se obtienen los valores máximos y mínimos de sus componentes en frecuencia, su ancho de banda y su tiempo de duración. En la Tabla C.2 se han añadido valores como el tiempo de respiración.
23
CAPÍTULO 2: COMPRESIÓN DE DATOS Aunque el tema de compresión de datos parezca netamente técnico, en realidad nace de una necesidad del ser humano. Desde hace ya más de 3 siglos, el hombre ha intentado transmitir información ahorrando recursos, como es el caso de Samuel Morse y su conocida Clave Morse. Otro ejemplo de compresión de datos es el alfabeto Braille, ideado por el francés Louis Braille y pensado para personas ciegas [16]. De esta manera, se puede observar a la compresión de datos como una necesidad natural del hombre interesado en las comunicaciones.
Se define a la compresión de datos como el proceso de convertir los datos de entrada en datos de salida de menor tamaño. Los datos de entrada se conocen como datos fuente o datos originales, y los datos de salida como datos comprimidos o simplemente salida [16].
Actualmente existe una infinidad de métodos para comprimir datos, y de acuerdo al tipo de datos, se utilizan distintos códecs de compresión que brindan diferentes resultados, pero todos los códecs se basan en el mismo principio: remover la redundancia de los datos originales [16].
Existen muchos algoritmos que comprimen los datos de forma eficaz, pero si se analizan estos algoritmos, y se descubre una forma de comprimir aun más a la información, muchas de las veces se llega a un aumento considerable de procesamiento, lo cual se ve reflejado en más ciclos de máquina y afecta al tiempo de compresión [16], dando un salto hacia atrás en lo que respecta a la optimización de la compresión de datos.
Debido a que la compresión de datos se basa en la eliminación de redundancia, existe un límite hasta donde un archivo puede ser comprimido, esto ocurre cuando todas las redundancias posibles han sido removidas.
Existen algunos métodos de compresión que eliminan información para obtener una mejor compresión. Cuando se descomprime, el resultado no es igual a los datos originales, pero si la pérdida de información es pequeña, ésta será imperceptible. Este tipo de compresión se utiliza especialmente en imágenes, vídeos o sonidos. La
24
compresión sin pérdidas es muy utilizada en archivos de texto o programas de computación, donde no se pueden eliminar bits de información [12,16].
Cuando se utiliza el mismo algoritmo para la codificación y decodificación de datos, se conoce como compresión simétrica. Se utiliza compresión asimétrica cuando tanto la codificación como la decodificación tienen diferentes prioridades [16], como por ejemplo en archivos de audio, donde el decodificador debe ser muy rápido, capaz de descomprimir el archivo y reproducirlo en tiempo real.
2.1 ALGUNAS MEDICIONES Para evaluar el rendimiento de un compresor de datos, hay que definir algunas mediciones.
Relación de compresión: es la relación entre el tamaño de los datos de salida y el tamaño de los datos de entrada.
ó ó
ñ
(2.1)
ñ
Un valor de 1 significa que los datos de salida son idénticos a los datos de entrada, y no se ha encontrado redundancia en los datos de entrada. Un valor de 0.7 significa que el archivo comprimido ocupa el 70% del tamaño que ocupaba el archivo original [16].
Factor de compresión: es el inverso de la relación de compresión.
ó
ñ
(2.2)
ñ
En este caso, un valor superior a 1 significa que el archivo ha sido comprimido. Este valor es más familiar para los usuarios debido a que mientras el factor de compresión es mayor, significa que los datos tienen mejor compresión [16].
25
2.2 COMPRESIÓN DE AUDIO Existen dos características importantes en el momento de analizar la compresión de audio: (1) puede ser con pérdidas, y (2) necesita un decodificador muy rápido [16].
Un archivo de audio, al igual que un archivo de imagen o vídeo, puede perder un poco de información sin degradar significativamente su calidad, de modo que existen códecs de audio con pérdidas y sin pérdidas. Pero a diferencia de un archivo de texto, un usuario muchas veces querrá acceder a un archivo de audio sin necesidad de descomprimirlo y almacenarlo nuevamente. Esta es la razón de que la mayoría de códecs de audio sean asimétricos. El audio a menudo es almacenado en su forma codificada, y debe ser decodificado en tiempo real para que un usuario pueda acceder a él [16].
2.2.1 EL SONIDO Al sonido se lo puede definir desde dos puntos de vista: intuitivamente y científicamente. Intuitivamente se puede decir que el sonido es la sensación que detecta nuestros oídos y que es interpretada por nuestro cerebro. Científicamente el sonido es una perturbación física dada en un medio, y se propaga a través del medio gracias al movimiento de los átomos y moléculas [16].
Como cualquier otra señal, el sonido tiene tres características principales: velocidad, amplitud y frecuencia. La velocidad del sonido depende del medio y la temperatura por donde se propaga. La velocidad del sonido de 343.8 m/seg se da cuando el sonido se propaga en el aire, a nivel del mar y a una temperatura de 20°C [16].
La amplitud es lo que se percibe como sonidos fuertes o débiles. Se experimenta el sonido cuando las moléculas de aire golpean el diafragma del oído y aplican presión sobre él. La sensibilidad del oído humano hacia el nivel de sonido depende también de la frecuencia [12,16].
26
2.2.2 DIGITALIZACIÓN DEL SONIDO El proceso de digitalización del sonido consta de tres etapas principales: muestreo, cuantificación y codificación [11]. Mientras se toman más muestras del sonido original, la calidad del sonido digital será mayor, pero así mismo el archivo será mayor. La solución a este problema la da la frecuencia de Nyquist, que es el doble de la frecuencia máxima del sonido [16].
Debido a que el oído humano es sensible en los rangos desde 16-20 Hz hasta 20000-22000 Hz [16], un sonido digital de alta fidelidad deberá ser muestreada a una frecuencia un poco mayor al doble de 22000 Hz, es decir 44100 Hz [12,16]. Si algún sonido es muestreado a una frecuencia menor a la mencionada, el resultado estará distorsionado, mientras que al utilizar una frecuencia mayor, su reconstrucción no genera ninguna mejora en el sonido [16].
Ya que se tiene el número de muestras a tomar de un sonido, es necesario establecer el tamaño de cada muestra (cuantificación). En la práctica, se utilizan tamaños de 8-bits y 16 bits, y algunas tarjetas de sonido de alta calidad utilizan muestras de hasta 32-bits [16].
La diferencia se puede identificar en el siguiente ejemplo. Supóngase que el sonido de mayor amplitud genera 1 voltio. Al utilizar 8-bits se tendría 256 niveles de voltaje, y cada nivel tendría 0.004 voltios aproximadamente. Esto quiere decir que cualquier sonido que esté por debajo de este nivel se procesará como silencio. A diferencia de si se utilizan 16-bits, el nivel más bajo sería 15 microvoltios aproximadamente, lo cual permitiría distinguir sonidos mucho más bajos que 4 milivoltios. Utilizando 16bits se mejora la calidad del sonido, pero se estaría utilizando el doble del tamaño de lo que se podría comprimir con 8-bits. Sin embargo, utilizando 8-bits se obtendría una señal reconstruida de baja calidad [16].
2.2.3 EL OÍDO HUMANO La sensibilidad del oído humano no es uniforme, lo cual permite establecer un umbral de sensibilidad del oído [12,16]. La Figura 2.1 (a) muestra este umbral de
27
sensibilidad. Cabe señalar que la voz humana tiende a estar en el rango de 600 Hz a 6000 Hz [12].
Figura 2.1 (a) Umbral de sensibilidad del oído humano en un ambiente silencioso. (b) Umbral de sensibilidad debido al efecto de enmascaramiento [12].
La existencia de un umbral de sensibilidad permite intuir en un códec de compresión con pérdidas. Básicamente se tendría que eliminar el sonido por debajo del umbral. Ya que se habla de la frecuencia, el codificador debe analizar el espectro del sonido a ser comprimido en cada instante. Si la frecuencia está por debajo del umbral, el dato puede ser eliminado [12].
Además de esta característica, un compresor de audio debe considerar el enmascaramiento de frecuencia y el enmascaramiento temporal, lo que se conoce como codificación perceptual [12,16].
El enmascaramiento de frecuencia se da cuando un sonido que normalmente se podría escuchar, es enmascarado por otro sonido más fuerte, a una frecuencia cercana. Un buen códec de compresión debe ser capaz de identificar este tipo de casos, y eliminar los sonidos que se encuentran enmascarados, ya que de todas formas no se escucharían [12,16].
El enmascaramiento temporal ocurre cuando un sonido fuerte es precedido o seguido por otro sonido débil a una frecuencia igual o cercana. Si el intervalo de tiempo entre estos dos sonidos es corto, el sonido débil no va a ser audible. En este caso el sonido débil podría ser eliminado [12,16].
28
2.2.4 MÉTODOS CONVENCIONALES DE COMPRESIÓN Existen varios métodos convencionales de compresión de audio. Algunos códecs sin pérdidas pueden ser útiles, pero depende del tipo de sonido a comprimir. Los métodos que se analizarán brevemente son los métodos RLE (run-length encoding), métodos estadísticos y métodos basados en diccionario [16].
Un método RLE se basa en el principio de que si un dato x ocurre n veces consecutivas, se almacenará como xn. Aplicado a los sonidos, podría ser eficiente al comprimir un sonido uniforme y repetitivo si se utilizan 8-bits por muestra, ya que la variación entre muestra y muestra sería de 4 milivoltios. Sin embargo, al utilizar 16-bits, este método se tornaría ineficiente, ya que no se encontrarían muchos datos consecutivos repetidos [16].
Un método estadístico asigna distintos tamaños de código a cada caracter (en este caso a cada muestra). Los caracteres que tengan mayor probabilidad de ocurrencia son asignados por código de menor longitud, y los caracteres que tengan menor probabilidad de ocurrencia son asignados con código de mayor longitud, de manera que se optimice el número de bits en cada caracter [18]. Un archivo de audio extenso por lo general tendrá una distribución plana, de modo que es poco probable que existan muestras cuya probabilidad varíe significativamente frente a las otras muestras [16], de modo que este método no siempre sería eficiente aplicándolo a un archivo de audio.
Un método basado en diccionario busca frases repetidas dentro del archivo a comprimir. Este método es poco eficiente al comprimir audio, debido a que, existirán frases repetidas cuyas muestras varíen analógicamente en muy poco voltaje, y debido a la resolución del ADC (conversor análogo-digital), pertenezcan a diferentes niveles de cuantificación [16]. Esto reduciría notoriamente la capacidad de compresión del códec.
29
2.2.5 COMPRESIÓN DE AUDIO CON PÉRDIDAS Frente a los métodos previamente expuestos, es mucho más eficaz utilizar métodos con pérdidas al comprimir sonidos, eliminando datos que el oído humano no pueda percibir. Estos métodos se basan en que una señal analógica, al ser digitalizada, pierde información. Si cuidadosamente se elimina más datos, al ser reproducido y comparado con el archivo original, la diferencia no se distinguiría [12,16].
Existen dos métodos propuestos para este tipo de compresión: compresión de silencio y companding (compressing/expanding).
La compresión de silencio es una adaptación del método RLE al sonido. Este método se basa en que existen archivos de audio que contienen largos períodos de sonido con volumen bajo, que responderán eficazmente a la compresión de silencio. Este método requiere un parámetro controlado por usuario que especifique la muestra de mayor tamaño a ser eliminada. Además, se requieren dos parámetros adicionales, que no necesariamente deben ser controlados por el usuario. El primero especifica el número mínimo de muestras consecutivas a eliminar, y el segundo especifica el número mínimo de muestras consecutivas audibles que determinarán la finalización del silencio [16].
Companding utiliza el hecho de que se necesita más precisión de muestras en los sonidos suaves (de baja amplitud) que en los sonidos fuertes (de mayor amplitud). Normalmente, un ADC convierte el voltaje analógico en varios niveles de voltaje de igual magnitud, es decir lo hace de forma lineal. Un método de compresión basado en companding examina cada muestra de sonido y aplica una ecuación no lineal para determinar los niveles de voltaje y asignar bits. Este método no está basado solamente en ecuaciones, sino que pueden ser distribuciones logarítmicas, como es el caso de las leyes A y µ, que son estándares internacionales [16].
30
CAPÍTULO 3: TRANSMISIÓN DE SONIDO EN TIEMPO REAL SOBRE UNA RED IP En el momento que se quiere realizar la transmisión de datos que contenga información acerca de sonidos, se puede optar por dos caminos: enviar los datos previamente almacenados y recibirlos luego de una espera larga en relación al instante en que se inició la transmisión; o transmitir y recibir los paquetes con una demora relativamente baja, haciendo la recepción instantánea o también llamado transmisión en tiempo real.
En el caso de la transmisión de los sonidos estetoscópicos, se concibe la idea de que existe una transmisión en tiempo real, la cual permite dar un diagnóstico inmediato luego de que se esté analizando la condición del paciente mediante el respectivo examen. Lo más importante en este tipo de aplicación es, en el mejor de los casos, recibir la información completa del examen auditivo, pero como eso no es muy común en la realidad por causa de fenómenos que alteran la calidad y contenido de la información, es importante tomar en cuenta los parámetros que puedan presentar problemas en la recepción de la información, para decidir el tipo de compresor que se puede utilizar y que pueda ayudar de manera eficiente a dar un diagnóstico adecuado.
Una aplicación recientemente utilizada y que se encuentra en auge, es la transmisión de Voz sobre IP, o también llamado VoIP. El principio de esta aplicación consiste en la capacidad de establecer una conversación telefónica sobre una red IP con similares características y calidad a una conversación realizada sobre los circuitos de una central telefónica.
Este proyecto se puede familiarizar con el presente tema, teniendo en cuenta el ancho de banda, tasa de muestreo y calidad de servicio. Se inicia con las consideraciones ya establecidas para este sistema y su adaptación para la aplicación de transmisión de sonidos estetoscópicos sobre una red IP, basándose en las características técnicas de sonidos cardíacos y respiratorios tratados en el capítulo 1.
31
3.1 CRITERIOS PARA EVALUAR EL SERVICIO VOIP Según Khasnabish, los parámetros y criterios para poder calificar una conversación de Voz sobre IP se enmarcan en: requisitos de servicio antes de los intentos de llamada, requisitos de servicio durante la llamada y requisitos de servicio al finalizar la llamada [17].
3.1.1 REQUISITOS DE SERVICIO ANTES DE LOS INTENTOS DE LLAMADA Antes de empezar una llamada se debe contar con la disponibilidad de recursos de cómputo y de red para dar cabida a los pedidos de llamada. Esto incluye recolectar información en la identificación de las partes, y procesar esta información para determinar la mejor ruta para iniciar una sesión, utilizando el Protocolo de Tiempo Real (RTP), el Protocolo de Datagrama de Usuario (UDP) y el Protocolo de Internet (IP). El tiempo total que toma establecer una llamada es medido desde el momento en que el último dígito de la parte inicial se ha terminado de ingresar.
De acuerdo a las recomendaciones de la UIT-T E.721 (Unión Internacional de Telecomunicaciones), el retraso de la señal de contestación deberá ser 750 ms para llamadas locales, 1.5 segundos para llamadas de larga distancia y 8 segundos para llamadas de larga distancia internacional. Este tipo de requerimientos están presentes para poder simular un ambiente de llamada similar al que se tiene cuando se utiliza el teléfono conectado a la red de telefonía pública. No necesariamente serían estos aplicables al ambiente requerido para la transmisión de sonidos estetoscópicos.
3.1.2 REQUISITOS DE SERVICIO DURANTE LA LLAMADA Una vez que se ha establecido una sesión VoIP, la señal puesta en paquetes deberá ser entregada desde la fuente al destino en tiempo real sin comprometer la integridad de la señal. Esto es hablando en un sistema ideal, puesto que existen varios factores que pueden alterar la señal y el desempeño de la transmisión. Los
32
parámetros relevantes de interés son la codificación de voz, procesamiento, retraso por envolvente, pérdida de paquetes, buffering y estrategias de reconstrucción. Todos estos parámetros contribuyen a un valor agregado a los problemas que pueden existir dentro de una comunicación. Es por esto que es necesario entender a qué clase de comunicación se va a enfrentar para priorizar los parámetros que se quiere que afecten menos a la señal.
Dentro de las consideraciones y estándares, por ejemplo, para la codificación G.711 en ambos extremos, el retraso por codificación y procesamiento no deberá exceder el 15% del retraso de boca-a-oído. Cuando se utilizan mecanismos de codificación avanzados, por ejemplo para G.723 y G.729, el retraso en la red receptora o emisora puede ser tan alto como el 30% de los 150 ms, y el presupuesto de retraso para la red de transporte es reducido a 60 ms. Estos tipos de escenarios requieren enlaces de alta velocidad en la red de trasporte y operarlos a tasas de utilización bajas.
El tiempo requerido para transmitir un paquete de VoIP de 128 bytes (o una muestra de 7 ms de G.711 o PCM (modulación por pulsos codificados), de voz codificada) en un enlace IP pasivo en una red WAN es [(128x8)/(128x10 5)] u 8 ms. Este valor de retraso puede ser 15 ms cuando el enlace se vuelve moderadamente utilizado, y 50 ms cuando el enlace se vuelve altamente utilizado.
Para aliviar este problema, cualquiera de las siguientes técnicas pueden ser usadas: (a) reducir el tamaño de los paquetes VoIP usando una muestra más pequeña de voz y/o comprimir los encabezados RTP/UDP/IP utilizando las recomendaciones sugeridas en RFC 2008 de IETF (Grupo de Trabajo en Ingeniería de Internet); (b) usar IntServ de IETF para ofrecer una prioridad mayor de emisión para paquetes de voz; (c) usar los enlaces IP WAN moderadamente rápidos para aplicaciones VoIP, y periódicamente monitorear la utilización de este enlace para poder enrutar las llamadas de VoIP por la ruta menos utilizada; y (d) utilizar enlaces de capacidad alta cuando información de tráfico de tiempo real y tiempo no real es transmitida sobre el mismo enlace.
El retraso de la propagación de la señal depende de la distancia física entre las dos partes y del medio de transmisión. El estándar G.114 de la UIT-T establece que el
33
retraso en el transporte de voz de una vía debe de ser por debajo de 150 ms para una comunicación de buena calidad en tiempo real [11].
3.1.3 REQUISITOS DE SERVICIO AL FINALIZAR LA LLAMADA Después de que una sesión VoIP es completada, la Bitácora de Llamada y el Récord Detallado de Llamada (CDR) deben ser mantenidos. El CDR debe capturar y guardar correctamente la anatomía de la llamada.
Estas recomendaciones pueden ser adaptadas para la transmisión de sonido sobre IP. El envío de sonidos estetoscópicos no demandaría un retraso bajo en la transmisión, pero sí una calidad de recepción superior a la que se puede concebir en la transmisión de Voz sobre IP. En el caso que se pierda un segmento del sonido en una conversación de voz, se pueden implementar técnicas de interpolación para poder reconstruir ese sonido, o rellenarlo de tal forma que solo se perciba una baja insignificante en la calidad de sonido. Sin embargo, en la transmisión de sonidos estetoscópicos, el relleno o retransmisión de la información debe ser analizado cuidadosamente, de forma que no cause confusión en el momento del análisis de los sonidos, y que se puede reflejar en un mal diagnóstico.
3.2 PROTOCOLOS PARA TRANSMISIÓN DE AUDIO EN TIEMPO REAL El servicio de VoIP utiliza protocolos RTP/UDP/IP [11]. El protocolo TCP (Protocolo de Control de Transmisión) es raramente utilizado en transmisión de audio en tiempo real, porque un error en un paquete y una retransmisión del mismo podrían introducir un espacio demasiado grande en el sonido [12]. En la Figura 3.1 se resumen los protocolos a utilizar, según el modelo TCP/IP.
34
Figura 3.1 Protocolos para la transmisión de audio en tiempo real, según el modelo TC P/IP.
3.2.1 PROTOCOLO DE TRANSPORTE EN TIEMPO REAL (RTP) Este tipo de protocolo es utilizado en aplicaciones tanto de audio como de videoconferencia. Su función es el de multiplexar varios flujos de datos en tiempo real en un sólo flujo de paquetes UDP. La cabecera de cada datagrama RTP contiene una marca de tiempo (timestamp) que determina el orden en el cual la carga útil debe de ser reorganizada en el receptor. Además, esta cabecera determina el tipo de codificación del sonido para este caso.
En la acumulación de información, dos tercios de cada datagrama es información de cabecera. Se concluye así, que el consumo real de ancho de banda es mayor de lo que parece.
Para poder calcular el tamaño de la carga útil se puede utilizar la siguiente fórmula que relaciona la velocidad del códec, el retardo en datagrama y el tamaño de la carga útil.
ñ ú ó 1000 8
(3.1)
Por ejemplo, a 64 kbit/s, un datagrama de voz a 20 ms implica que el lado del emisor produzca un datagrama de 160 bytes de carga útil cada 20 ms [12]. En el caso del sonido analizado correspondiente a un corazón normal, su tiempo de
35
duración es de 500 ms y si se toma una tasa de transmisión de 64 kbits/s se tendría como resultado un datagrama de 4000 bytes de carga útil cada 500 ms. Para el caso del sonido respiratorio normal bronquial, con un tiempo de 1000 ms, se obtiene como resultado 8000 bytes de carga útil cada 1 segundo.
También existe el Protocolo de Control de Transporte en Tiempo Real (RTCP), el cual va de la mano con el RTP, a diferencia que este segundo maneja retroalimentación, sincronización e interfaz de usuario, pero no porta ningún tipo de datos.
36
CAPÍTULO 4: CÓDECS DE COMPRESIÓN DE AUDIO Cuando se habla de transmisión de sonido sobre una red IP, es necesario vincular este tema con la compresión y codificación del sonido a transmitirse. Esto es porque el tamaño del sonido debe ser reducido para que sea más fácil de transmitir, cancelando las componentes que no son necesarias, como por ejemplo el ruido blanco, y poder determinar la mejor forma de enviarlo por medio de datagramas sin tener pérdidas significativas.
4.1 CÓDEC IDEAL Con la descripción de los capítulos anteriores, es posible reunir algunas características que determinarían a un códec ideal para la transmisión de sonidos estetoscópicos sobre una red IP. En base a estas características se realizará la elección del códec, el cual debe satisfacer de mejor forma las necesidades expuestas a continuación. El diagrama de bloques del códec ideal se muestra en la Figura 4.1.
•
El códec debe procesar hasta una frecuencia de 2000 Hz, debido a los datos observados en los sonidos respiratorios (los cardíacos son de menor frecuencia).
•
El códec debe soportar una tasa de muestreo mínima de 4 kHz (frecuencia de Nyquist).
•
Con una frecuencia de muestreo de 4 kHz se obtendrán 4000 muestras por cada segundo, es decir, se va a tomar muestras cada 250 µs.
•
El algoritmo utilizado por el códec deberá realizar una transformación a sus componentes en frecuencia, debido a que la información se concentra en intervalos de frecuencia cortos, permitiendo la eliminación de armónicas imperceptibles por el oído humano.
•
Si se utilizan 8 bits por muestra, se obtendrían 4000 x 8 = 32000 bits/s.
37
•
El mayor tiempo de duración se presenta en los sonidos respiratorios, siendo 1800 ms, lo cual sería representado por 7200 muestras, que equivaldrían a 7200 x 8 = 57600 bits/s.
•
Si se utilizan 16 bits por muestra, se obtendrían 4000 x 16 = 64000 bits/s.
•
Para los 1800 ms, se necesitarían 7200 x 16 = 115200 bits/s.
•
El retraso permitido por el códec no debe superar significativamente los 150 ms, en base al estándar G.114 de la UIT-T.
Figura 4.1 Diagrama de bloques del códec ideal.
4.2 ALGUNOS CÓDECS CONSIDERADOS Existen muchos tipos de códecs de compresión para sonido, pero solo algunos se han considerado como una opción debido a que deben ser aplicables a la transmisión en tiempo real. Dentro de los estándares de la UIT se pueden observar recomendaciones como G.711, G.723.1, G.728, etc. que son muy utilizados y serán expuestos brevemente. Además, se han considerado dos códecs de compresión basados en código abierto, cuya flexibilidad de parametrización los hace interesantes para su análisis.
38
4.2.1 G.711 El códec G.711 es un códec de compresión de audio para señales de frecuencias que caracterizan a la voz. Este códec fue lanzado en 1972 y es todavía aplicado en estándares de videoconferencia como H.320 y H.232. Debido a que utiliza 8 bits por muestra, es suficiente para poder ser utilizado en aplicaciones de telefonía. Este códec utiliza técnicas de modulación por pulsos codificados (PCM) junto con dos algoritmos de compresión logarítmicos, la Ley-µ utilizado en Norte América y Japón, y la Ley-A utilizado en Europa y el resto del mundo [19].
•
Frecuencia de Muestreo: 8 kHz
•
Frecuencia máxima de la señal: 4000 Hz
•
Tasa de bits: 64 kbits/s
•
Latencia (Retraso): 1 ms
4.2.2 G.711.1 El códec G.711.1 es una extensión del códec G.711 lanzada en 2008, permitiendo muestrear señales a 16 kHz, denominado como banda ancha y siendo también compatible con 8 kHz, denominado como banda angosta. Este códec utiliza una estructura de codificación de tres capas: modulación por codificación de pulso (PCM) de la banda inferior incluyendo la retroalimentación de ruido, extensión embebida de PCM con asignación adaptativa de bits para mejorar la calidad de la capa basada en la banda inferior (0-4000 Hz), y codificación de cuantificación de vector para la banda superior (4000-8000 Hz) basado en la transformación discreta de coseno modificada (MDCT) [20].
•
Frecuencia de Muestreo: 16 kHz, 8 kHz
•
Frecuencia máxima de la señal: 8000 Hz, 4000 Hz
•
Tasa de bits: 80 y 90 kbits/s (para 16kHz), 64 y 80 kbits/s (para 8 kHz)
•
Latencia (Retraso): 11.87 ms
39
4.2.3 G.722 El códec G.722, lanzado en 1988, es utilizado para aplicaciones de voz de banda ancha con frecuencias desde 50 hasta 7000 Hz, y ofrece mayor calidad y claridad en audio a coste del ancho de banda. Este códec es útil en aplicaciones en una red de VoIP fija, donde el ancho de banda no es limitado. Este códec de compresión utiliza el método de Modulación por Pulsos Codificados Diferencial Adaptativo (ADPCM), el cual cambia el tamaño de la etapa de cuantificación, teniendo un factor adaptativo de escala [21].
•
Frecuencia de Muestreo: 16 KHz
•
Frecuencia máxima de la señal: 7000 Hz
•
Tasa de bits: 64 kbits/s
•
Latencia (Retraso): 4 ms
4.2.4 G.723.1 El códec G.723.1 es un códec de compresión de audio utilizado para el transporte de señales de voz, el cual las comprime en frames de 30 ms. Este códec toma un bloque de 240 muestras y utiliza la codificación predictiva (ACELP) para reducirlo ya sea a 24 o a 20 bytes [12]. Es utilizado en aplicaciones de VoIP debido a su bajo requisito de ancho de banda, pero no es capaz de transportar de forma óptima tonos de música o tonos de fax, debido a su baja tasa de bits. Posee un algoritmo de look-ahead de 7.5 ms lo que crea un retardo total de 37.4 ms [22].
•
Frecuencia de Muestreo: 8 KHz
•
Frecuencia máxima de la señal: 4000 Hz
•
Tasa de bits: 6.4 kbits/s, 5.3 kbits/s
•
Latencia (Retraso): 37.4 ms
40
4.2.5 G.726 El códec G.726 es un códec de compresión de audio que fue lanzado en 1990 para señales de voz que utiliza el método de ADPCM (PCM Diferencial Adaptativo). Este fue elaborado para reemplazar los estándares G.721 y G723. Se introdujo una nueva tasa de bits a 16 kbits/s. Utiliza 2 (16 kbits/s), 3 (24 kbits/s), 4 (32 kbits/s) y 5 (40 kbits/s) bits por muestra. La aplicación principal a 24 y 26 kbits/s es para canales de sobrecarga que transportan señal vocal en Equipos de Multiplicación de Circuitos Digitales (DCME). La aplicación a 40 kbits/s es la del transporte de señales de módem de datos en DCME. Este códec es utilizado en troncales internacionales y redes de telefonía [23].
•
Frecuencia de Muestreo: 8 KHz
•
Frecuencia máxima de la señal: 4000 Hz
•
Tasa de bits: 40 kbits/s
•
Latencia (Retraso): 0.125 ms
4.2.6 G.728 El códec G.728 es un códec para señales de voz que utiliza un algoritmo de Predicción Lineal con Excitación por Código de Bajo Retardo (LD-CELP) para la codificación a 16 kbits/s. Este códec fue lanzado en 1992 [24].
•
Frecuencia de Muestreo: 8 KHz
•
Frecuencia máxima de la señal: 4000 Hz
•
Tasa de bits: 16 kbits/s
•
Latencia (Retraso): 0.625 ms
41
4.2.7 G.729 El códec G.729 utiliza el algoritmo de compresión de datos de audio CS-ACELP que comprime la voz digitalizada en paquetes de duración de 10 ms. Es usado en redes VoIP donde se debe preservar el ancho de banda. Originalmente opera a 8 kbits/s pero existen extensiones que permite que este opere a 6.4 kbits/s y 11.8 kbits/s. Los tonos de fax y de audio de alta calidad no pueden ser transportados óptimamente usando este estándar [25].
•
Frecuencia de Muestreo: 8 KHz
•
Frecuencia máxima de la señal: 4000 Hz
•
Tasa de bits: 8 kbits/s
•
Latencia (Retraso): 15 ms
4.2.8 SPEEX El códec Speex es un códec de compresión de código abierto diseñado para aplicaciones de VoIP y transmisiones de voz. El algoritmo utilizado es el Speech Encoding. Soporta una amplia calidad de voz y valores de tasa de bits. Tiene un funcionamiento dinámico de tasa de bits pudiendo ajustarse desde 2.15 kbits/s hasta 44 kbits/s. Además presenta una gran robustez a pérdidas de paquetes en una transmisión de datos [26].
•
Frecuencia de Muestreo: 8 kHz, 16 kHz, 32 kHz
•
Frecuencia máxima de la señal: 4000 Hz, 8000 Hz, 16000 Hz
•
Tasa de bits: 2.15 – 44 kbits/s
•
Latencia (Retraso): 30 ms (8 kHz), 34 ms (16 kHz)
42
4.2.9 VORBIS I Vorbis I es un códec de compresión de sonido libre de patentes y regalías que soporta tasas de muestreo de desde 8 kHz hasta 192 kHz. Además es usado para la representación de varios rangos de canales (monoaural, polifónico, estéreo, cuadrafónico, 5.1, hasta 255 canales discretos). Se puede configurar a varias tasas de bits desde 16 hasta 128 kbits/s por canal. Utiliza el método de transformación discreta de coseno modificada (MDCT) [27].
•
Frecuencia de Muestreo: 8 – 192 kHz
•
Frecuencia máxima de la señal: 4000 – 95000 Hz
•
Tasa de bits: 45 - 500 kbits/s
•
Latencia (Retraso): >100 ms
4.3 COMPARACIÓN DE LAS CARACTERÍSTICAS DE LOS CÓDECS DE COMPRESIÓN CONSIDERADOS PARA LA TRANSMISIÓN DE SONIDO EN TIEMPO REAL La Tabla 4.1 realiza una comparación de las características más relevantes de los códecs de compresión mencionados con anterioridad. Además, se incluyen los valores de relación de compresión y factor de compresión a cada códec.
Al realizar una comparación entre las características del códec ideal y las características de los códecs resumidos en la Tabla 4.1, se puede concluir que el códec de compresión Vorbis I es el que más se asemeja al códec ideal propuesto, debido a las siguientes razones:
•
Su algoritmo de compresión, método de transformación discreta de coseno modificada, se basa en la transformada de Fourier, lo que permite trabajar en el dominio de la frecuencia.
43
Tabla 4.1 Comparación de las características relevantes de los códecs de compresión de sonido para transmisión en tiempo real.
Códec
Algoritmo
G.711
PCM, ley‐A, ley‐µ
Frecuencia de Muestreo [kHz]
Retraso [ms]
Tasa de bits por segundo [kbits/s]
Relación de compresión [%]
Factor de compresión [X:1]
8
1
64
50
2
G.711.1
MDCT, ley‐A, ley‐µ
8
11,87
64
50
2
16
11,87
96
38
2,67
G.722
ADPCM
16
4
64
25
4
G.723.1
ACELP
8
1
5,3
4
24,15
6,4
5
20,00
G.726
ADPCM
8
0,125
40
31
3,20
G.728
CELP
8
0,625
16
13
8
G.729
CS‐ACELP
8
15
8
6
16
2,15
2
59,53
SPEEX
Speech Encoding
24,6
9
10,41
44,2
9
11,58
45
35
2,84
64
50
2
80
63
1,60
96
75
1,33
8 16 32
VORBIS I
•
MDCT
8 ‐ 192
30 32
>100
Su frecuencia de muestreo puede ser configurable a 8 kHz, siendo esta la frecuencia de muestreo más baja registrada por la mayoría de los códecs analizados.
•
Pese a que Vorbis I maneja retrasos superiores a 100 ms, este valor es considerado dentro del rango sugerido por el estándar G.114 de la UIT-T para una transmisión aceptable en tiempo real.
•
Su tasa de bits es variable, lo cual permite flexibilidad para codificar sonido utilizando menos bits en porciones de señal con escasa información, y más bits en porciones que contienen mayor información.
•
Vorbis I registra factores de compresión bajos en relación al resto de códecs analizados. Sin embargo, puede llegar a tener similar factor de compresión que
44
el estándar G.711, que es el requerido por la mayoría de protocolos de transmisión en tiempo real. •
La mayoría de estándares propuestos por la UIT-T se basan en el análisis de señales de voz, donde prevalecen las amplitudes pequeñas. Estos algoritmos utilizan distribuciones logarítmicas como la ley-A y la ley-µ, los cuales no son eficaces con sonidos estetoscópicos, debido a que, tanto las amplitudes grandes como las pequeñas tienen igual probabilidad de ocurrencia.
45
CAPÍTULO 5: CÓDEC DE COMPRESIÓN VORBIS I
5.1 DESCRIPCIÓN GENERAL Vorbis I es un códec de compresión de sonido de código abierto desarrollado por la fundación Xiph.org, empezado en 1993 por Chris Montgomery [27].
Este códec compresor se puede adaptar a un rango de muestreo de 8 kHz hasta 192 kHz y tasas de bits desde 45 kbits/s hasta 500 kbits/s. Puede ser utilizado con una amplia gama de canales desde los monoaurales hasta 255 canales discretos. Es posible utilizar una tasa de muestreo de 44 kHz a 56 kbits/s para así poder realizar transmisiones en tiempo real a velocidades de Dial-up [27]. Todo esto se lo puede realizar con la parametrización en el código fuente provisto en la página web de esta fundación, http://www.xiph.org.
La organización auspiciante de este código menciona una mejor calidad de sonido en el momento de la reproducción que la que proporciona MP3 [27]. Para dar soporte a sus aseveraciones, han dejado al público del internet una sección donde se pueden hacer comparaciones auditivas de diferentes archivos codificados utilizando los dos códecs de compresión.
Su algoritmo de compresión está basado en la transformada de Fourier, utilizando el tipo IV de la transformada de coseno discreta modificada (MDCT), la cual expresa una secuencia finita de puntos de datos en términos de la suma de funciones de coseno oscilando a frecuencias distintas. Fue creado en 1987 por Princen, Johnson, y Bradley. Está diseñado para aplicaciones que contienen series de bloques consecutivos en donde bloques subsecuentes son solapados de manera que la última mitad de un bloque coincida con la primera mitad del siguiente bloque. Además, la MDTC evita que los artefactos de compresión, producidos por compresiones de alto índice, ocurran de las fronteras entre bloques, haciendo que este algoritmo sea atractivo para aplicaciones de compresión de señales en tiempo real [28].
46
En el caso de un enlace en tiempo real, es posible configurar este códec junto con el protocolo RTP. Para poder identificar como se debe de proceder en el momento de la decodificación, Vorbis I presenta un encabezado en donde se detalla la forma en cómo fue codificada la señal original. Toda esta información va después del encabezado RTP [27]. Es posible encontrar toda la información necesaria en el sitio web de la fundación.
Cuando se habla de los sonidos estetoscópicos, los valores máximos de frecuencia superior registrados fueron de 1600 Hz por lo que el uso de una frecuencia de muestreo de 8 kHz sería utilizada ya que es la más baja que se puede utilizar con este codificador. Con una tasa de muestreo de 45 kbits/s, se puede llegar a niveles de calidad iguales que G.711 a 64 kbits/s. Esto significaría una tasa de compresión más alta que la demostrada por G.711. Además sin olvidar que Vorbis permite una variación de tasa de bits según se vea conveniente.
5.2 FUNCIONAMIENTO En la Figura 5.1 se puede ver el diagrama de bloques del algoritmo de Vorbis I. Este se basa en la cuantización vectorial (VQ) y la transformación con ventanas solapadas, conocido como la Transformada Discreta de Coseno Modificada. Las ventanas pueden tener una de las longitudes específicas de 2048 o 512 muestras. La más corta se utiliza sólo cuando se codifica una señal de sonido crítica con cambios repentinos en el dominio del tiempo [29].
Figura 5.1 Diagrama de bloques del algoritmo de Vorbis I [29].
Después de la transformación al dominio de la frecuencia, la señal es analizada por un modelo psicoacústico y la parte inaudible del espectro es removida. Luego un vector de piso es generado para cada uno de los canales. Este vector es una
47
representación de baja resolución del espectro de audio para el canal dado en ese tiempo. El piso representa la curva como una representación linear interpolada en una escala de amplitud en dB y una escala de frecuencia lineal [29].
El siguiente paso en el proceso de codificación es la eliminación de la curva de piso del espectro de audio. Se mantiene la información restante llamada residuo. Los vectores de residuos de los canales son transformados de una representación cartesiana a polar. Este proceso es llamado acoplamiento de canal. Siguiente a eso, la información es codificada por cuantización de vectores en cascada. Los resultados son codificados con el algoritmo de Huffman para eliminar más redundancia. El producto final de todo este proceso es el paquete de Vorbis. Finalmente esos paquetes son encapsulados en un contenedor universal Ogg y el contenido incluido está listo para la distribución [29].
5.3
COMPARACIÓN
DE
SONIDOS
ESTETOSCÓPICOS
UTILIZANDO
FORMATOS WAV Y OGG
En el momento de aplicación del códec Vorbis I, se puede hacer un análisis de las características en tiempo, amplitud y frecuencia de los sonidos comprimidos y contenidos en la extensión ogg, que es el contenedor que utiliza Vorbis I para sus archivos. Se considera la frecuencia de muestreo de 8000 Hz para la aplicación, siendo ésta la más baja que se puede utilizar. Adicionalmente se crean distintas versiones de las nuevas muestras de sonido a diferentes tasas de muestreo: 8, 16, 24 kbits/s, siendo las únicas posibles cuando se utiliza la frecuencia de muestreo mencionada. Esta aplicación se ha realizado en los sonidos: cardíaco normal, cardíaco clic de eyección y respiratorio normal traqueal. La finalidad de esta comparación es observar el comportamiento de discriminación y similitud de Vorbis I en razón a los sonidos en su formato wav sin compresión.
En las Figuras 5.2 a la 5.7, se puede observar la comparación de los sonidos con respecto a su original en extensión wav1. En las gráficas de forma de onda, tanto de los sonidos cardiacos normal (Figuras 5.2, 5.3 y 5.4) y clic de eyección (Figuras 5.5, 1
Las Figuras desde la 5.2 hasta la 5.10 son gráficas obtenidas utilizando Matlab, analizando sonidos pregrabados con extensión wav [10] y convirtiéndolos a extensión ogg utilizando el programa ACEHIGH MP3 WAV WMA OGG Converter [30]. El c ódigo utilizado se encuentra en el Anexo B.
48
5.6 y 5.7), se puede ver que la señal no es alterada radicalmente a pesar de las tasas bajas de bits. Esto es un aspecto positivo para la elección de Vorbis I, puesto que no se presenta un cambio de fase significativo en la señal comprimida.
En lo que concierne a la densidad espectral, como se puede apreciar en las Figuras 5.8, 5.9 y 5.10, es posible observar que la concentración de potencia en las frecuencias significativas para cada caso se mantiene con pocas variaciones de la señal original; además, se muestra una variación de potencia baja a frecuencias altas siendo positivo para la eliminación de componentes correspondiente a interferencia o ruido en este rango. En el caso de la compresión a una tasa de bits de 8kbits/s, existe una caída de potencia considerable a partir de los 3000 Hz aproximadamente, debido a que esta frecuencia se acerca a la frecuencia máxima de estas características de compresión. En el resto de casos se puede ver que a esa misma frecuencia de 3000 Hz es donde se empieza a estabilizar la variación de potencia, lo cual se debe al comportamiento de Vorbis I de eliminar sonidos que son inaudibles.
Figura 5.2 Comparación de formas de onda de un corazón normal, utilizando formatos wav y ogg a 8 kbits/s [31].
49
Figura 5.3 Comparación de formas de onda de un corazón normal, utilizando formatos wav y ogg a 16 kbits/s [31].
Figura 5.4 Comparación de formas de onda de un corazón normal, utilizando formatos wav y ogg a 24 kbits/s [31].
50
Figura 5.5 Comparación de formas de onda del ruido anormal clic de eyección, utilizando formatos wav y ogg a 8 kbits/s [31].
Figura 5.6 Comparación de formas de onda del ruido anormal clic de eyección, utilizando formatos wav y ogg a 16 kbits/s [31].
51
Figura 5.7 Comparación de formas de onda del ruido anormal clic de eyección, utilizando formatos wav y ogg a 24 kbits/s [31].
Figura 5.8 Comparación de densidad de potencia espectral de un corazón normal, utilizando formatos wav y ogg a 8, 16 y 24 kbits/s [31].
52
Figura 5.9 Comparación de densidad de potencia espectral del ruido anormal clic de eyección, utilizando formatos wav y ogg a 8, 16 y 24 kbits/s [31].
Figura 5.10 Comparación de densidad de potencia espectral del sonido normal traqueal, utilizando formatos wav y ogg a 8, 16 y 24 kbits/s [31].
53
CONCLUSIONES •
Los métodos de compresión de audio con pérdidas son eficaces al comprimir sonidos estetoscópicos, debido a la existencia de un umbral de sensibilidad del oído humano.
•
Los sonidos estetoscópicos concentran mayor información en rangos cortos de frecuencia, lo cual permite realizar un mejor proceso de codificación en las componentes espectrales de cada sonido, debido a que se puede asignar un mayor número de bits a las bandas donde exista mayor concentración de potencia espectral.
•
El protocolo a considerar en una transmisión en tiempo real es el protocolo RTP/UDP, debido a que es no orientado a la conexión, es decir, no realiza retransmisiones en caso de fallos en la transmisión de sonidos estetoscópicos, como lo hace el protocolo TCP, sacrificando confiabilidad a cambio de velocidad, lo que se prioriza en la transmisión de sonidos estetoscópicos.
•
Un códec ideal para la compresión de sonidos estetoscópicos debe contener las siguientes características mínimas: 4 kHz de frecuencia de muestreo, 8 bits por muestra y 32 kbits/s de tasa de bits.
•
Los códecs de compresión de voz no son eficaces para la compresión de sonidos estetoscópicos, debido a que son desarrollados para amplitudes y frecuencias específicamente de voz, cuyos rangos varían notoriamente a los establecidos en los sonidos estetoscópicos.
•
El códec de compresión Vorbis I presenta la mejor opción para la transmisión de sonidos estetoscópicos en tiempo real, debido a su flexibilidad de parametrización de frecuencia de muestreo y tasa de bits.
54
RECOMENDACIONES •
Para el análisis de muestras de sonidos estetoscópicos es importante tomar en cuenta que por lo general, las enfermedades hacen que se generen señales altamente no estacionarias, por lo que es necesario analizarlas en frecuencia y en tiempo simultáneamente.
•
Al realizar el análisis de sonidos, es recomendable utilizar sonidos que no hayan sido previamente comprimidos por algún otro tipo de códec, como por ejemplo MP3, debido a que su calidad disminuye.
•
Las gráficas de forma de onda, espectrograma, y densidad de potencia espectral obtenidas en Matlab son importantes para obtener los parámetros necesarios de evaluación ya que están expresadas en función de la frecuencia, tiempo y potencia.
•
Se recomienda utilizar códecs de compresión que sean configurables, debido al constante incremento de demanda hacia el uso de aplicaciones de telemedicina sobre redes IP.
•
A más de las características técnicas del códec de compresión Vorbis, cabe resaltar que éste es de código abierto y no posee limitaciones de patentes y licencias, lo cual lo hace de libre uso para el público.
55
BIBLIOGRAFÍA Y REFERENCIAS [1] J. S. Osorio, L. F. Cuesta, F. Gómez, “Diseño y construcción de un fonocardiógrafo digital con visualización en LabVIEW”, Revista Ingeniería Biomédica, vol. 1, pp. 42-46, mayo 2007. [2] DALCAME, Fonocardiograma, http://dalcame.com/fono.htm, septiembre 2005.
[3] J.G. Glez, M. Pérez, J. A. Pelayo, C. H. Esparza, Electrofonógrafo, V Exposición de Diseños de Sistemas Electrónicos, de Computación y de Informática Septiembre de 1998, pp. 1-3, México D.F., noviembre 2001. [4] V. Kudriavtsev, V. Polyshchuk, D. L. Roy, “Heart energy signature spectrogram for cardiovascular diagnosis”, BioMedical Engineering OnLine, 6:16, pp. 1-14, 4 mayo 2007. [5] J. D. Echeverry, A. F. López, J. F. López, “Reconocimiento de valvulopatías cardíacas en señales de fonocardiografía empleando la transformada Gabor”, Scientia Et Technica, año/vol. XIII, núm. 034, pp. 139-143, mayo 2007. [6] Matlab™
Signal
Processing
Toolbox,
Version
7.7.0.471
(R2008b),
The
MathWorks, Inc., 3 Apple Hill Drive, Natick MA 01760-2098, 2008. [7] L. Lores, Análisis acústico del sonido respiratorio traqueal durante las maniobras de espiración forzada. Comparación entre sujetos sanos y pacientes afectos de asma bronquial durante la prueba broncodilatadora, pp. 29-52, Barcelona, 11 octubre 2002. [8] H. Pansterkamp, S. S. Kraman, G. R. Wodicka, “Respiratory Sounds. Advances Beyond the Stethoscope”, American Journal of Respiratory and Critical Care Medicine, vol. 156, pp. 974-984, 1997. [9] A. R. A. Sovijärvi, L. P. Malmberg, G. Charbonneau, J. Vanderschoot, F. Dalmasso, C. Sacco, M. Rossi, J. E. Earis, “Characteristics of breath sounds and adventitious respiratory sounds”, European Respiratory Review, 10:77, pp. 591595, 2000. [10] 3M™
Littman®
Estetoscopios,
Sonidos
de
corazón
y
pulmón,
http://solutions.3m.com.ar/wps/portal/3M/es_AR/Littmann/stethoscope/education/h eart-lung-sounds/, 2009. [11] J. M. Huidrobo, R. Conesa, Sistemas de Telefonía, Paraninfo, Thomson, pp. 294297, 2006. [12] A. S. Tanenbaum, Redes de Computadoras, Pearson, Prentice Hall, pp. 680-683, 2003. [13] F. Ohrtman, Voice over 802.11, Artech House, pp. 28-29, 2004.
56 [14] Recomendaciones UIT-T, Sistemas y equipos terminales videotelefónicos de banda estrecha, UIT- T H.320, pp. 1-3, Ginebra, marzo 2004. [15] Recomendaciones UIT-T, Sistemas de comunicación multimedia basados en paquetes, UIT-T H.323, pp. 1-30, Ginebra, junio 2006. [16] D. Salomon, Data compression: The Complete Reference, Springer, pp. 1-13, 719734, 2007. [17] B. Khasnabish, Implementing Voice over IP, John Wiley & Sons Inc., pp. 49-58, 2003. [18] N. Abramson, Teoría de la Información y Codificación, Paraninfo, pp. 15-56, 1981. [19] Recomendaciones UIT-T, Modulación por impulsos codificados (MIC) de frecuencias vocales, UIT-T G.711, Ginebra, noviembre 1988. [20] Recomendaciones UIT-T, Extensión incorporada de banda ancha para la modulación por impulsos codificados, UIT-T G.711.1, Ginebra, marzo 2008. [21] Recomendaciones UIT-T, Codificación de audio de 7 kHz dentro de 64 kbit/s, UITT G.722, Ginebra, noviembre 1988. [22] Recomendaciones UIT-T, Códec de voz de doble velocidad para la transmisión en comunicaciones multimedios a 5,3 y 6,3 kbit/s, UIT-T G.723.1, Ginebra, mayo 2006. [23] Recomendaciones UIT-T, Modulación por impulsos codificados diferencial adaptativa (MICDA) a 40, 32, 24, 16 kbit/s, UIT-T G.726, Ginebra, diciembre 1990. [24] Recomendaciones UIT-T, Codificación de señales vocales a 16 kbit/s utilizando predicción lineal con excitación por código de bajo retardo, UIT-T G.728, Ginebra, octubre 1992. [25] Recomendaciones UIT-T, Codificación de la voz a 8 kbit/s mediante predicción lineal con excitación por código algebraico de estructura conjugada, UIT-T G.729, Ginebra, enero 2007. [26] J. M. Valin, “The Speex Codec Manual”, 2007. [27] Xiph Org. Foundation, “Vorbis I Specification”, 2 junio 2009. [28] Wikipedia,
Modified
discrete
cosine
transform,
http://en.wikipedia.org/wiki/Modified_discrete_cosine_transform, noviembre 2009. [29] CESNET,
Ogg
Vorbis:
Subjective
assessment
of
sound
quality,
http://www.cesnet.cz/doc/techzpravy/2006/vorbis/, diciembre 2006. [30] ACE-HIGH MP3 WAV WMA OGG Converter, Trial version, Version 3.20, http://www.audio-converter.com/, 2003. [31] A. Fernandez, Vorbis ogg audio encoding/decoding, Matlab 6.0 Toolbox, febrero 2006.
57 [32] Instituto de Investigación y Desarrollo Químico-Biológico IQM, Medciclopedia, http://www.iqb.es/diccio/diccio1.htm, 2007.
58
GLOSARIO DE TÉRMINOS MÉDICOS Asma: desorden inflamatorio crónico de las vías respiratorias en el cual muchas células y elementos celulares juegan diversos papeles, en particular los mastocitos, eosinófilos, linfocitos T, neutrófilos y células epiteliales. En los sujetos susceptibles, esta inflamación causa episodios recurrentes de jadeos, dificultades respiratorias, opresión en el pecho y tos, en particular por la noche y por la mañana temprano. Estos episodios están usualmente asociados a una obstrucción amplia pero variable de las vías respiratorias, a menudo reversible espontáneamente o con un tratamiento. Esta inflamación también ocasiona un aumento asociado de hipersusceptibilidad bronquial a una variedad de estímulos [32].
Aurícula: cada una de las dos cavidades superiores del corazón, aurícula derecha y aurícula izquierda que reciben la sangre de las venas [32].
Chasquido: ruido breve, seco y súbito. Puede ser articular, valvular, rítmico, dentario, etc. [32].
Coartación
aórtica:
malformación
cardíaca
congénita
caracterizada
por
un
estrechamiento localizado de la aorta que produce un aumento de la presión en la zona proximal al defecto y una disminución de la presión en la zona distal a éste [32].
Crujido: ruido producido cuando dos cuerpos rozan uno con el otro [32].
Defecto septal: problema cardíaco congénito en el cual existe un hoyo en la pared que separa las cámaras del corazón [32].
Desdoblamiento (de los ruidos cardíacos): falta de sincronismo en los ruidos producidos por las válvulas en ambos lados del corazón [32].
Edema pulmonar: infiltración de serosidad en el tejido pulmonar; enfermedad frecuentemente mortal, caracterizada por la expectoración espumosa rosada, descenso considerable de la tensión sanguínea y asistolia aguda. Se observa generalmente como complicación de la enfermedad de Bright y de la insuficiencia cardíaca, y en algunas intoxicaciones [32].
59 Enfisema: estado de un tejido distendido debido a la presencia de aire en el tejido celular subcutáneo o pulmonar [32].
Estenosis: estrechez patológica congénita o adquirida de un vaso, orificio o conducto [32].
Estridor: sonido agudo parecido a un silbido [32].
Eyección: expulsión forzada de algo, en particular la sangre desde un ventrículo del corazón [32].
Insuficiencia aórtica: trastorno caracterizado por el flujo retrógrado de la sangre desde la aorta al ventrículo izquierdo [32].
Orofaringe: porción bucal de la faringe o garganta; es la región anatómica posterior de la boca, se extiende desde el paladar blando hasta el hueso hioides e incluye el tercio posterior de la lengua [32].
Regurgitación: flujo retrógrado de la sangre de una válvula cardíaca defectuosa [32].
Ronquido: ruido producido por la vibración del velo del paladar durante el sueño, en particular durante la inspiración [32].
Silbido: ruido que hace el aire al pasar por un conducto estrecho [32].
Válvulas cardíacas: son cinco, cuatro en la parte superior: la válvula mitral entre la aurícula y el ventrículo izquierdo; la tricúspide entre la aurícula y el ventrículo derecho; la aórtica a la entrada de la aorta; y la pulmonar de la arteria pulmonar (estas dos últimas se llaman también válvulas sigmoideas o semi-lunares); y la válvula de Eustaquio entre el borde anterior de la vena cava inferior y el orificio auriculoventricular derecho [32].
Ventrículo: vientre o cavidad pequeña [32].
60
ANEXOS
ANEXO A: ESQUEMA DE LA APLICACIÓN DE TELEMEDICINA, UTILIZANDO UN CÓDEC DE COMPRESIÓN DE SONIDO.
Figura A.1 Esquema de la aplicación de telemedicina, utilizando un códec de compresión de sonido 1.
1
Gráficos tomados de:
http://www.win-health.com/actinic/acatalog/electronic_stethoscopes.html http://es.wikipedia.org/wiki/Archivo:Computer-aj_aj_ashton_01.svg
61
ANEXO B: CÓDIGOS EN MATLAB
B.1 CÓDIGO EN MATLAB PARA EL ANÁLISIS GRÁFICO DE SONIDOS ESTETOSCÓPICOS El código utilizado para el análisis de los sonidos estetoscópicos pregrabados lee un archivo de formato wav y grafica su forma de onda, espectrograma y densidad de potencia espectral. El siguiente código es el utilizado para analizar el sonido de la anomalía chasquido de apertura. Para el análisis de los sonidos respiratorios se obvió la gráfica de forma de onda debido a que no proporciona información fácilmente apreciable.
Código: [6]
%Lectura del sonido de extensión .wav FILEWAV = 'Chasquido de apertura.wav' apertura.wav'; ; [resp, Fs] = wavread(FILEWAV wavread(FILEWAV); ); %Figuras figure (1) t=(1:length(resp))/Fs; plot(t,real(resp)) axis('tight' axis('tight') ) xlim([0.7 1.4]) xlabel('Tiempo xlabel('Tiempo [seg]') [seg]') ylabel('Amplitud' ylabel('Amplitud') ) title('Ruido title('Ruido Anormal Chasquido de Apertura') Apertura') figure (2) [S,F,T,P] = spectrogram(resp,512,256,512 spectrogram(resp,512,256,512,Fs, ,Fs,'yaxis' 'yaxis'); ); surf(T,F,10*log10(abs(P)),'edgecolor' 'edgecolor', ,'none' 'none') ) colormap(jet); colormap(jet); axis tight tight; ; ylim([0 1000]); xlim([0.7 1.4]) view(0,90); xlabel('Tiempo xlabel('Tiempo [seg]') [seg]') ylabel('Frecuencia ylabel('Frecuencia [Hz]') [Hz]') title('Espectrogram title('Espectrograma a Ruido Anormal Chasquido de Apertura' Apertura') ) figure (3) periodogram(resp,[],'twosided' periodogram(resp,[], 'twosided',512,Fs); ,512,Fs); xlim([0 4]) title('Densidad title('Densidad de potencia espectral Ruido Anormal Chasquido de Apertura') Apertura' ) xlabel('Frecuencia xlabel('Frecuencia [kHz]') [kHz]') ylabel('Potencia ylabel('Potencia [dB/Hz]') [dB/Hz]') clear all
62
B.2 CÓDIGO EN MATLAB PARA LA COMPARACIÓN GRÁFICA DE SONIDOS ESTETOSCÓPICOS UTILIZANDO FORMATOS WAV Y OGG El código utilizado para la comparación entre los sonidos estetoscópicos pregrabados de formato wav y ogg, grafica sus forma de onda, y densidad de potencia espectral. El siguiente código es el utilizado para comparar el sonido de un corazón normal. Para el análisis del sonido respiratorio normal traqueal se obvió la gráfica de forma de onda debido a que no proporciona información fácilmente apreciable.
Código: [6,31]
%Lectura del sonido de extensión .wav FILEWAV = 'normal.wav' 'normal.wav'; ; [resp, Fs] = wavread(FILEWAV wavread(FILEWAV); ); %Lectura del sonido de extensión .ogg FILE = 'normal1' 'normal1'; ;%lectura del sonido de 8kbits/s [Y1,FS1,NBITS,encoding_info, [Y1,FS1,NBITS,encoding_info,tag_info] tag_info] = FILE = 'normal2' 'normal2'; ;%lectura del sonido de 16kbits/s [Y2,FS2,NBITS,encoding_info, [Y2,FS2,NBITS,encoding_info,tag_info] tag_info] = FILE = 'normal3' 'normal3'; ;%lectura del sonido de 24kbits/s [Y3,FS3,NBITS,encoding_info, [Y3,FS3,NBITS,encoding_info,tag_info] tag_info] =
extensión .ogg fs=8000Hz OGGREAD(FILE); extensión .ogg fs=8000Hz OGGREAD(FILE); extensión .ogg fs=8000Hz OGGREAD(FILE);
%Figuras figure (1) t=(1:length(resp))/Fs; plot(t,real(resp), 'b-' 'b-') ) hold on on; ; t2=(1:length(Y1))/FS1; plot(t2,real(Y1), 'r-' 'r-') ) axis('tight' axis('tight') ) xlim([0.1 0.6]) xlabel('Tiempo xlabel('Tiempo [seg]') [seg]') ylabel('Amplitud' ylabel('Amplitud') ) title('Corazón title('Corazón Normal') Normal') figure (2) [S,F,T,P] = spectrogram(resp1,512,256,51 spectrogram(resp1,512,256,512,Fs, 2,Fs,'yaxis' 'yaxis'); ); surf(T,F,10*log10(abs(P)),'edgecolor' 'edgecolor', ,'none' 'none') ) colormap(jet); colormap(jet); axis tight tight; ; xlim ([0.8 1.5]); ylim([0 4000]) view(0,90); xlabel('Tiempo xlabel('Tiempo [seg]') [seg]') ylabel('Frecuencia ylabel('Frecuencia [Hz]') [Hz]') title('Espectrogram title('Espectrograma a Corazón Normal' Normal') ) figure (3) periodogram(resp,[],'twosided' periodogram(resp,[], 'twosided',512,Fs); ,512,Fs); hold on periodogram(Y1,[],'twosided' periodogram(Y1,[], 'twosided',512,FS1); ,512,FS1); hold on
63 periodogram(Y2,[],'twosided',512,FS2); hold on periodogram(Y3,[],'twosided',512,FS3); xlim([0 4]) title('Densidad de potencia espectral Corazón Normal') xlabel('Frecuencia [kHz]') ylabel('Potencia [dB/Hz]') clear all
64
ANEXO C: COMPARACIÓN DE LAS CARACTERÍSTICAS DE SONIDOS CARDÍACOS Y PULMONARES Tabla C.1 Comparación de las características de los sonidos cardíacos Sonido
Frecuencia inicial (Hz)
Frecuencia final (Hz)
Ancho de banda (Hz)
Tiempo inicial (ms)
Tiempo final (ms)
Duración de anomalía (ms)
Clic de Eyección
0
400
400
10
600
590
Chasquido de Apertura
0
500
500
500
1000
500
Coartación aórtica
50
375
325
5
510
505
Estenosis Mitral
50
500
450
10
900
890
Estenosis Aórtica
50
250
200
700
1300
600
Estenosis Pulmonar
50
225
175
5
560
555
Insuficiencia Aórtica
50
230
180
10
800
790
Corazón Normal
50
250
200
100
600
500
Regurgitación Mitral
50
200
150
20
800
780
Regurgitación Tricuspídea
50
250
200
300
1000
700
Defecto Septal Atrial
50
350
300
0
670
670
Defecto Septal Ventricular
50
230
180
49
411
362
500
500
Valores máximos
890