ES2805849T3 - Sistemas y procedimientos de comunicación de información de trama redundante - Google Patents

Sistemas y procedimientos de comunicación de información de trama redundante Download PDF

Info

Publication number
ES2805849T3
ES2805849T3 ES14789469T ES14789469T ES2805849T3 ES 2805849 T3 ES2805849 T3 ES 2805849T3 ES 14789469 T ES14789469 T ES 14789469T ES 14789469 T ES14789469 T ES 14789469T ES 2805849 T3 ES2805849 T3 ES 2805849T3
Authority
ES
Spain
Prior art keywords
frame
audio frame
audio
bits
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14789469T
Other languages
English (en)
Inventor
Venkatraman S Atti
Vivek Rajendran
Venkatesh Krishnan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2805849T3 publication Critical patent/ES2805849T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un procedimiento de codificación de una trama, comprendiendo el procedimiento: codificar (902) una primera trama de audio (132) de una señal de audio en un codificador de un primer dispositivo informático, teniendo la primera trama de audio (132) un tipo de trama que clasifica la primera trama de audio (132) en una de una pluralidad de clases que incluyen una trama de voz sonora, una trama no sonora, una trama de transición de audio y una trama de modo mixto que incluye información del libro de códigos adaptativo e información de libro de códigos fijo; transmitir (902) la primera trama de audio (132) desde el primer dispositivo informático a un segundo dispositivo informático; determinar (904), basándose en cuál de la pluralidad de clases que el tipo de trama de la primera trama de audio (132) clasifica la primera trama de audio (132), un primer número de bits de una segunda trama de audio (134) para asignar a la información de codificación primaria asociada con la segunda trama de audio (134) y un segundo número de bits de la segunda trama de audio (134) para asignar a la información de codificación redundante asociada con la primera trama de audio (132), en el que la segunda trama de audio (134) sigue a la primera trama de audio (132) en la señal de audio; codificar (906) la segunda trama de audio (134), en el que la segunda trama de audio (134) incluye el primer número de bits de información de codificación primaria, el segundo número de bits de información de codificación redundante y un indicador (215) del tipo de trama de la primera trama de audio; y transmitir (916) la segunda trama de audio (134) desde el primer dispositivo informático al segundo dispositivo informático.

Description

DESCRIPCIÓN
Sistemas y procedimientos de comunicación de información de trama redundante
CAMPO
[0001] La presente divulgación se refiere, en general, a la comunicación de información de trama redundante.
DESCRIPCIÓN DE LA TÉCNICA RELACIONADA
[0002] Los avances en la tecnología han dado como resultado dispositivos informáticos más pequeños y más potentes. Por ejemplo, existe actualmente una variedad de dispositivos informáticos personales portátiles, incluyendo dispositivos informáticos inalámbricos, tales como teléfonos inalámbricos portátiles, asistentes digitales personales (PDA) y dispositivos de paginación que son pequeños, ligeros y fáciles de transportar por los usuarios. Más específicamente, los teléfonos inalámbricos portátiles, tales como los teléfonos móviles y los teléfonos de Protocolo de Internet (IP), pueden transmitir paquetes de voz y datos a través de redes inalámbricas. Además, muchos de dichos teléfonos inalámbricos incluyen otros tipos de dispositivos que están incorporados en los mismos. Por ejemplo, un teléfono inalámbrico también puede incluir una cámara fotográfica digital, una cámara de vídeo digital, un grabador digital y un reproductor de archivos de audio.
[0003] Los dispositivos electrónicos, tal como los teléfonos inalámbricos, pueden enviar y recibir datos a través de redes. Por ejemplo, los datos de audio pueden enviarse y recibirse a través de una red de circuitos conmutados (por ejemplo, la red telefónica pública conmutada (PSTN), un sistema global para redes de comunicaciones móviles (GSM), etc.) o una red de paquetes conmutados (por ejemplo, una red de voz sobre protocolo de Internet (VoIP), una red de voz sobre evolución a largo plazo (VoLTE), etc.). En una red de paquetes conmutados, los paquetes de audio pueden enrutarse individualmente desde un dispositivo de origen a un dispositivo de destino. Debido a las condiciones de red, los paquetes de audio pueden llegar fuera de servicio. El dispositivo de destino puede almacenar los paquetes recibidos en una memoria intermedia de eliminación de fluctuación y puede redisponer los paquetes recibidos si es necesario.
[0004] Se pueden usar diversos esquemas de codificación al comunicar datos de audio. Por ejemplo, dependiendo del tipo de trama de audio, se puede usar un enfoque de predicción lineal con excitación por código (CELP) o una transformada de coseno discreta modificada basada en dominio de frecuencia (MDCT) para representar de forma compacta la voz y el audio. Para mejorar la eficiencia de la codificación a bajas velocidades de bits (por ejemplo, 13,2 kilobits por segundo (kbps), 24,4 kbps, etc.) al codificar anchos de banda más grandes, por ejemplo, hasta 8 kilohercios (kHz) de banda ancha (WB), 16 kHz de banda superancha (SWB), o 20 kHz de banda completa, el núcleo de la banda inferior (por ejemplo, hasta 6,4 kHz o hasta 8 kHz) se codifica en general usando técnicas de codificación de coincidencia de forma de onda tales como CELP o MDCT. Se realiza una extensión de ancho de banda (BWE) que modela la banda alta (por ejemplo, > 6,4 kHz o > 8 kHz) y codifica "información lateral" (por ejemplo, asociada con parámetros de banda alta). La información lateral de banda alta puede incluir coeficientes de filtro de predicción lineal (LP) y parámetros de ganancia que modelan la evolución temporal fina y gruesa. Un codificador o un dispositivo fuente puede enviar la información lateral junto con la parte de baja frecuencia al dispositivo de destino de modo que el dispositivo de destino pueda sintetizar la parte de alta frecuencia de la trama de audio en el dispositivo de destino para una reconstrucción de alta calidad.
[0005] En el documento US 2013/0185062 A1, los sistemas, procedimientos y aparatos divulgados en el presente documento pueden implementarse para ajustar los umbrales de criticidad para las tramas de voz, basándose en las condiciones de canal. Dicho umbral puede usarse para controlar la frecuencia de retransmisión en respuesta a cambios en el estado del canal.
[0006] En el documento US 2013/0191121 A1, se describe un procedimiento para la codificación de trama redundante por un dispositivo electrónico. El procedimiento incluye determinar una energía del libro de códigos adaptativo y una energía del libro de códigos fijo basándose en una trama. El procedimiento también incluye codificar una versión redundante de la trama basándose en la energía del libro de códigos adaptativo y en la energía del libro de códigos fijo. El procedimiento incluye además enviar una trama posterior.
[0007] En el documento US 6.801.499 B1, se divulga un proceso de envío de paquetes de información en tiempo real, comprendiendo el proceso: recibir voz audible; convertir la voz audible en información digital que representa la voz audible, incluyendo el análisis de la voz en diversas tramas de 10 milisegundos cada una, con cada trama incluyendo dos subtramas de 5 milisegundos cada uno; transmitir primero en un sistema de información de paquetes un primer paquete de datos digitales para una primera trama de voz, incluyendo la primera transmisión colocar en el primer paquete los primeros datos para la primera trama; y la segunda transmisión en el sistema de información de paquetes de un segundo paquete de datos digitales para la primera trama de voz, incluyendo la segunda transmisión la colocación en el segundo paquete de segundos datos para la primera trama.
[0008] En el documento US 2010/0312552 A1, se describe un procedimiento para evitar la pérdida de información dentro de una trama de voz. Se selecciona una primera trama de voz para su codificación. Se determina si una segunda trama de voz es o no una trama de voz crítica basándose en la información dentro de la segunda trama de voz y de una o más tramas de voz adyacentes. Al menos una parte de una versión codificada de la segunda trama de voz se crea de acuerdo con un modo de corrección de errores hacia adelante (FEC) seleccionado si la segunda trama de voz es una trama de voz crítica. Se transmiten la primera trama de voz y la al menos una parte de la versión codificada de la segunda trama de voz.
BREVE EXPLICACIÓN
[0009] Debido a que las redes de paquetes conmutados pueden llegar fuera de servicio, es posible que, aunque un paquete en particular (por ejemplo, correspondiente a la trama de audio N) esté dañado o perdido, un paquete posterior (por ejemplo, correspondiente a la trama de audio N+2) puede estar libre de errores y disponible en la memoria intermedia de eliminación de fluctuación. Por tanto, puede ser útil incluir, en la trama posterior (por ejemplo, la trama N+2), información de codificación redundante (por ejemplo, información de corrección de errores) que puede usarse para reconstruir la trama anterior (por ejemplo, trama N).
[0010] La presente divulgación describe sistemas y procedimientos para comunicar información de trama redundante. De acuerdo con las técnicas descritas, cuando se usa un esquema de extensión de ancho de banda (BWE), una trama de audio puede incluir cuatro tipos de datos: un núcleo codificado de banda baja, información lateral de banda alta, información de codificación redundante asociada con una parte de banda baja de una trama anterior, e información de codificación redundante asociada con parámetros de banda alta de la trama anterior. El núcleo de banda baja y la información lateral de banda alta para una trama actual se pueden denominar colectivamente codificación "primaria". La información de codificación redundante para la banda baja y la banda alta de una trama de anterior se puede denominar colectivamente "copia parcial". Por tanto, una trama puede incluir bits de codificación primaria para sus propias banda baja y banda alta, y la trama también puede incluir bits de copia parcial para banda baja y banda alta de una trama anterior.
[0011] Cuando se produce una condición de borrado de trama (por ejemplo, la trama anterior no se recibe o está dañada debido a un error de red), la información de codificación redundante se puede usar por un receptor para reconstruir la trama anterior. Además, el número de bits asignados a cada uno de los cuatro tipos de datos, es decir, núcleo de banda baja, información lateral de banda alta, copia parcial del núcleo de banda baja de la trama anterior y copia parcial de la banda alta de la trama anterior, puede ajustarse dinámicamente basándose en las propiedades de una señal de audio que se transmita. Incluso cuando la trama anterior se recibe con éxito (por ejemplo, en condiciones de canal limpio), un decodificador puede separar los bits de codificación primaria de los bits de copia parcial antes de decodificar los bits de codificación primaria.
[0012] En un aspecto particular, se proporciona un procedimiento de codificación de una trama de acuerdo con la reivindicación 1.
[0013] En otro aspecto particular, se proporciona un aparato como se menciona en la reivindicación 8.
[0014] La invención está definida y limitada por el alcance de las reivindicaciones adjuntas. En la siguiente descripción, cualquier modo de realización al que se haga referencia y que no se encuentre dentro del alcance de las reivindicaciones adjuntas es meramente un ejemplo útil para comprender la invención.
[0015] Las ventajas particulares proporcionadas por al menos uno de los modos de realización descritos incluyen la capacidad de proporcionar información de codificación redundante para una trama anterior de un flujo de audio en una trama posterior del flujo de audio. La información de codificación redundante incluida en la trama posterior puede permitir la reconstrucción de la trama anterior, tal como cuando la trama anterior está dañada o se pierde debido a un error de red. Otros aspectos, ventajas y rasgos característicos de la presente divulgación resultarán evidentes después de revisar la solicitud completa, incluyendo las siguientes secciones: Breve descripción de los dibujos, Descripción detallada y Reivindicaciones.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0016]
La FIG. 1 es un diagrama para ilustrar un modo de realización particular de un sistema que es operativo para comunicar información de trama redundante;
la FIG. 2 es un diagrama para ilustrar un modo de realización particular de una trama de audio que incluye información de codificación redundante para otra trama de audio;
la FIG. 3 es un diagrama para ilustrar otro modo de realización particular de una trama de audio que incluye información de codificación redundante para otra trama de audio;
la FIG. 4 es un diagrama para ilustrar un modo de realización particular de un libro de códigos de trama de ganancia de banda alta;
la FIG. 5 es un diagrama para ilustrar un modo de realización particular de un codificador de ruta paralela configurado para codificar información de trama redundante;
la FIG. 6 es un diagrama para ilustrar un modo de realización particular de un decodificador de ruta única configurado para decodificar información de trama redundante;
la FIG. 7 y la FIG. 8 representan colectivamente un diagrama de flujo para ilustrar un modo de realización particular de un procedimiento de decodificación de una trama basándose en la información de codificación redundante incluida en una trama posterior;
la FIG. 9 es un diagrama de flujo para ilustrar un modo de realización particular de codificación de información de codificación redundante para una trama en una trama posterior; y
la FIG. 10 es un diagrama de bloques de un dispositivo inalámbrico que funciona para realizar operaciones de acuerdo con los sistemas y procedimientos de las FIGS. 1-9.
DESCRIPCIÓN DETALLADA
[0017] A continuación, se describen unos modos de realización particulares de la presente divulgación con referencia a los dibujos. En la descripción y en los dibujos, los rasgos característicos comunes se designan mediante números de referencia comunes para mayor claridad de los modos de realización representados y descritos.
[0018] En referencia a la FIG. 1, se muestra y se designa en general con 100 un modo de realización particular de un sistema que es operativo para comunicar información de trama redundante. El sistema 100 incluye un primer dispositivo informático 110 y un segundo dispositivo informático 120. El primer dispositivo informático 110 y el segundo dispositivo informático 120 pueden configurarse para comunicar datos, tales como tramas de audio, a través de una red de paquetes conmutados. Por ejemplo la red de paquetes conmutados puede incluir una red VoIP, una red VoLTE u otra red de paquetes conmutados. En un modo de realización ilustrativo, el primer dispositivo informático 110 y el segundo dispositivo informático 120 incluyen cada uno un teléfono móvil, un dispositivo informático (por ejemplo, un ordenador portátil, un ordenador de escritorio, una tablet, un ordenador servidor, etc.), un medio reproductor, un dispositivo de videojuegos, un dispositivo decodificador, un dispositivo de navegación, un componente de una red de paquetes conmutados, otro dispositivo configurado para comunicar datos de audio, o cualquier combinación de los mismos.
[0019] El primer dispositivo 110 puede incluir un procesador 112 (por ejemplo, una unidad central de procesamiento (CPU), un procesador de señales digitales (DSP), etc.), y una memoria 114. En un modo de realización particular, la memoria 114 almacena instrucciones ejecutables por el procesador 112 para realizar diversas operaciones descritas en el presente documento. El primer dispositivo informático 110 también puede incluir un codificador 116 y un transmisor 118. El codificador 116 puede codificar tramas de audio que se transmitan por el transmisor 118 (por ejemplo, a través de una red de paquetes conmutados). En modos de realización alternativos, el primer dispositivo informático 110 puede incluir un receptor además del transmisor 118, o puede incluir un transceptor configurado para transmitir y recibir datos. El codificador 116 puede codificar una secuencia de tramas de audio, incluyendo tramas de audio 131, 132, 133 y 134 ilustrativas. En la FIG. 1, las tramas de audio 131, 132, 133 y 134 son cuatro tramas sucesivas de una señal de audio y se designan como una (N-1). 8 trama, una N. 8 trama, una (N+1). 8 trama y una (N+2). 8 trama, respectivamente. Para facilitar la lectura, estas tramas se denominan en el presente documento tramaN-1, tramaN, tramaN+1 y tramaN+2, respectivamente. Cabe destacar que, aunque las tramas de audio 131-134 se ilustran en la FIG. 1 en orden de izquierda a derecha, esto no debe interpretarse como que implica que las tramas de audio 131-134 se reciben en dicho orden por el segundo dispositivo informático 120. Como se describe además en el presente documento, las tramas de audio pueden llegar a un dispositivo de destino fuera de servicio o pueden perderse debido a un error de red.
[0020] Cada una de las tramas de audio 131 -134 puede incluir una señal codificada de banda baja ("Núcleo LB") y parámetros de banda alta ("Parám. HB"). El núcleo LB y los parámetros HB de una trama pueden denominarse colectivamente codificación primaria de la trama. En un modo de realización particular, cada una de las tramas de audio 131 -134 tiene un tamaño fijo, y la cantidad de ancho de banda (por ejemplo, número de bits de una trama) asignada al núcleo de banda baja codificado y a los parámetros de banda alta puede ajustarse dinámicamente de trama a trama, como se describe en detalle en el presente documento. Para mejorar el rendimiento de decodificación de audio en presencia de errores de red, una o más de las tramas de audio 131 -134 pueden incluir información de codificación redundante de una trama anterior. La información de codificación redundante puede incluir información de codificación redundante de banda baja y/o información de codificación redundante de parámetros de banda alta. La información de codificación redundante para la banda baja y la banda alta de una trama anterior se puede denominar colectivamente "copia parcial" de la trama anterior. En una implementación particular, la cantidad de ancho de banda (número de bits de una trama) asignada a la información de codificación redundante de banda baja y a la información de codificación redundante de banda alta puede ajustarse dinámicamente de trama a trama, como se describe en detalle en el presente documento.
[0021] Por ejemplo, el codificador 116 puede codificar información de codificación redundante para la tramaN 132 en una tramaN+DESPLAZAMIENTO posterior, donde el DESPLAZAMIENTO es un número entero mayor o igual a 1. Cuando las tramas se comunican a través de una red de paquetes conmutados, cada paquete puede enrutarse individualmente a un dispositivo de destino y las tramas pueden llegar fuera de servicio. Por tanto, aunque la tramaN 132 (o una parte de la misma) puede estar dañada o puede no llegar al segundo dispositivo informático 120 (denominado colectivamente en el presente documento condición de "borrado de la trama" con respecto a la tramaN 132), la tramaN+DESPLAZAMIENTO puede llegar (o puede que ya haya llegado) al segundo dispositivo informático 120 intacto. La información de codificación redundante en la tramaN+DESPLAZAMIENTO puede usarse por el segundo dispositivo informático 120 para reconstruir la tramaN 132 (o una parte de la misma) o detener una propagación severa de error de introducción de artefactos.
[0022] En el ejemplo de la FIG. 1, el DESPLAZAMIENTO es mayor que 2. Por tanto, la información de codificación redundante para la tramaN-1 de la trama 131 se añade a la tramaN+1 133, la información de codificación redundante para la tramaN 132 se añade a la tramaN+2 134, etc. En modos de realización alternativos, el parámetro DESPLAZAMIENTO puede tener un valor distinto de 2. El valor del parámetro de DESPLAZAMIENTO puede definirse por una norma industrial (por ejemplo, una norma de servicios de voz mejorados (EVS)), se puede negociar por los dispositivos informáticos 110 y 120, y/o puede determinarse basándose en errores de red medidos o estimados. En un modo de realización ilustrativo, el primer dispositivo informático 110 puede configurarse para determinar si se envía o no información de codificación redundante. Por ejemplo, el primer dispositivo informático 110 puede determinar si se envía o no información de trama redundante para la tramaN 132 en la tramaN+2 134 basándose en un parámetro de "criticidad" asociado con la tramaN 132, donde el parámetro de criticidad indica una importancia relativa de la tramaN 132 al reducir o minimizar los artefactos en una señal de audio en caso de que la tramaN 132 se pierda durante la transmisión. Por tanto, la comunicación de información de trama redundante puede realizarse, dependiendo de los parámetros controlados por la fuente, así como basándose en las condiciones de red o del canal, por trama.
[0023] En un modo de realización particular, la cantidad de espacio (por ejemplo, el número de bits) ocupado en una trama por el núcleo LB, los parámetros HB, la información de codificación redundante HB y la información de codificación redundante LB se ajusta dinámicamente por el codificador 116. Por ejemplo, como se muestra en la FIG. 1, la relación de información de codificación redundante HB a LB es menor en la tramaN+1 133 que en la tramaN+2 134. En un modo de realización particular, la información de codificación redundante de HB a LB varía entre una división [25 %, 75 %] y una división [5 %, 95 %]. Como otro ejemplo, como se muestra en la FIG. 1, la relación de los parámetros HB con respecto al núcleo LB es menor en la tramaN-1 131 que en la tramaN+1 133, y la relación de los parámetros HB con respecto al núcleo LB es menor en la tramaN+1 133 que en la tramaN 132 y en la tramaN+2 134.
[0024] Como ejemplo, la velocidad de bits de codificación nominal para una trama de audio puede ser de 13,2 kbps cuando no se incluya información de codificación redundante en la trama de audio. Para alojar la información de codificación redundante, la velocidad de codificación para el núcleo LB y los parámetros HB de la trama de audio puede reducirse a 9,6 kbps. El ancho de banda restante de 3,6 kbps se puede usar para codificar la información de codificación redundante HB y LB para una trama anterior, donde la división entre la información de codificación redundante HB y LB puede variar de forma dinámica de una trama a otra trama entre una división [25 %, 75 %] y una división [5 %, 95 %]. Cabe destacar que las tasas de bits y las divisiones descritas son solo por ejemplo. En modos de realización alternativos, las técnicas descritas pueden usarse con diferentes velocidades de bits y diferentes divisiones. En otro modo de realización particular, la relación de bits distribuidos entre la trama redundante y la trama primaria puede ser adaptativa. Por ejemplo, la codificación primaria puede usar 11,6 kbps mientras que la trama redundante puede usar 1,6 kbps del total de 13,2 kbps. En otro ejemplo, la codificación primaria puede usar 12,6 kbps mientras que la trama redundante puede usar 0,6 kbps del total de 13,2 kbps. Basándose en un parámetro de "criticidad", esta asignación dinámica de bits puede lograrse y puede limitar la degradación de la calidad de trama primaria en ausencia de errores de red o en condiciones de canal limpio cuando se usen algunos bits para la codificación de trama redundante.
[0025] Al determinar cuánto espacio asignar a la información de codificación redundante HB y a la información de codificación redundante LB en una trama particular (por ejemplo, la tramaN+2 134), el codificador 116 puede tener en cuenta las propiedades de la red de paquetes conmutados que se esté usando, la trama particular y/o la trama anterior para la cual se transmita información de codificación redundante (por ejemplo, la tramaN 132). Los ejemplos de información de codificación redundante y el ajuste dinámico de cuánto espacio se asigna a dicha información de codificación redundante dentro de una trama de audio se describen en detalle con referencia a las FIGS. 2-9.
[0026] El segundo dispositivo informático 120 incluye un procesador 122 y una memoria 124. En un modo de realización particular, la memoria 124 almacena instrucciones ejecutables por el procesador 122 para realizar diversas operaciones descritas en el presente documento. El segundo dispositivo informático 120 puede incluir un decodificador 126 y un receptor 128. El decodificador 126 puede decodificar las tramas de audio que recibe el receptor 128 (por ejemplo, a través de una red de paquetes conmutados), tales como las tramas de audio 131, 132, 133 y/o 134. En modos de realización alternativos, el segundo dispositivo informático 120 puede incluir un transmisor además del receptor 128, o puede incluir un transceptor configurado para transmitir y recibir datos.
[0027] En un modo de realización particular, el dispositivo informático 120 incluye una memoria intermedia, que se ilustra en la FIG. 1 como una memoria intermedia de eliminación de fluctuación 129. El receptor 128 puede almacenar los paquetes recibidos (por ejemplo, tramas de audio) en la memoria intermedia de eliminación de fluctuación 129. Debido a que los paquetes transmitidos a través de redes de paquetes conmutados pueden llegar fuera de servicio, la memoria intermedia de eliminación de fluctuación 129 puede usarse para almacenar y reordenar los paquetes recibidos basándose en, por ejemplo una marca de tiempo de paquetes. En presencia de errores de red, el decodificador 126 puede ser incapaz de decodificar todo o parte de uno o más paquetes, porque los paquetes (o parte(s) de los mismos) pueden estar dañados o perdidos (por ejemplo, no recibidos). Por ejemplo, durante la transmisión de las tramas de audio 131 -134, se puede perder la tramaN 132. El decodificador 126 puede reconstruir la tramaN 132 perdida a partir de la información de codificación redundante en la tramaN+2 134. Los ejemplos de información de codificación redundante y la reconstrucción de una trama de audio perdida se describen en detalle con referencia a las FIGS. 2-9.
[0028] Durante el funcionamiento, el primer dispositivo informático 110 puede codificar y transmitir las tramas de audio 131-134 al segundo dispositivo informático 120 a través de una red de paquetes conmutados. El segundo dispositivo informático 120 puede almacenar en memoria intermedia las tramas de audio recibidas en la memoria intermedia de eliminación de fluctuación 129. El decodificador 126 puede recuperar tramas de audio almacenadas de la memoria intermedia de eliminación de fluctuación 129 y decodificar las tramas de audio. Cuando el decodificador 126 determina que no puede decodificar una trama de audio particular (o parte de la misma) (por ejemplo, porque la trama o parte de la misma está dañada o no se recibe), el decodificador 126 puede verificar la disponibilidad de la memoria intermedia de eliminación de fluctuación 129 para la disponibilidad de una trama que incluya información de codificación redundante para la trama dañada/perdida (por ejemplo, una trama "futura" que siga a la trama dañada/perdida en un flujo de audio). Si dicha trama futura está disponible, el decodificador 126 puede usar información de codificación redundante de la trama futura para reconstruir y decodificar la trama de audio particular (o parte de la misma). El sistema 100 de la FIG. 1 puede permitir por tanto la comunicación de información de trama redundante que puede usarse para mejorar el rendimiento de la decodificación de audio en presencia de condiciones de red adversas.
[0029] Cabe destacar que, en la descripción anterior, se indica que diversas funciones realizadas por el sistema 100 de la FIG. 1 se describen como realizadas por determinados componentes o módulos. Sin embargo, esta división de componentes y módulos es solo a título ilustrativo. En un modo de realización alternativo, una función realizada por un componente o módulo particular se puede dividir, en su lugar, entre múltiples componentes o módulos. Además, en un modo de realización alternativo, dos o más componentes o módulos de la FIG. 1 pueden estar integrados en un único componente o módulo. Cada componente o módulo ilustrado en la FIG. 1 se puede implementar usando hardware (por ejemplo, un dispositivo de matriz de puertas programables por campo (FPGA), un circuito integrado específico de la aplicación (ASIC), un DSP, un controlador, etc.), software (por ejemplo, instrucciones ejecutables por un procesador), o una combinación de los mismos.
[0030] En referencia a la FIG. 2 y a la FIG. 3, se muestran modos de realización ilustrativos de la trama de audio 134. La trama de audio 134 puede incluir una parte LB codificada, designada "núcleo LB". La parte LB codificada puede incluir filtro de predicción lineal LB e información de excitación. Por ejemplo, la parte LB codificada puede incluir índice(s) de par espectral de línea (LSP) LB y excitación LB 201. En modos de realización alternativos, el núcleo LB de una trama de audio puede incluir información diferente. La trama de audio 134 también puede incluir parámetros HB, denominados "Parám. HB". Los parámetros HB ocupan menos espacio que el núcleo LB codificado e incluyen un conjunto de parámetros que puede usar un decodificador, de acuerdo con un modelo de codificación de señal de audio, para reconstruir una parte HB de una trama de audio. En el ejemplo de la FIG. 2, los parámetros HB pueden incluir una excitación LB transformada 202, una forma de ganancia HB 203, una trama de ganancia HB 204, e índice(s) LSP HB 205. En modos de realización alternativos, una trama de audio puede incluir diferentes parámetros HB.
[0031] En un modo de realización particular, el(los) índice(s) LSP LB y la excitación LB 201, la excitación LB transformada 202, la forma de ganancia HB 203, la trama de ganancia HB 204 y el(los) índice(s) LSP HB 205 se generan durante el análisis de audio en un codificador (por ejemplo, el codificador 116 de la FIG. 1 o un codificador 500 descrito con referencia a la FIG. 5). Por ejemplo, una señal de audio puede pasarse a través de un banco de filtros de análisis que separe la señal de audio en una señal LB y en una seña1HB. Las señales LB y HB pueden superponerse o no. La señal LB puede introducirse en un módulo de análisis LP que codifica un envolvente espectral de la señal LB como un conjunto de coeficientes LP (LPC). Un módulo de transformada puede transformar los LPC en LSP, que pueden denominarse de forma alternativa pares espectrales de línea (LSP). Un cuantificador puede cuantificar los LSP identificando una entrada de un libro de códigos LSP LB que esté "más cerca" de los LSP. El cuantificador puede emitir el índice de la entrada en el libro de códigos como el(los) índice(s) LSP LB en 201. El módulo de análisis LB también puede generar la excitación LB mostrada en 201 y la excitación LB transformada 202. Por ejemplo, la excitación LB puede ser una señal codificada que se genera cuantificando una señal residual LP generada durante el proceso LP realizado por el módulo de análisis LP. La señal residual LP puede representar un error de predicción.
[0032] Un módulo de análisis HB puede recibir la señal HB del banco de filtros de análisis y la señal de excitación de banda baja del módulo de análisis LB. El módulo de análisis HB puede generar los índices LSP HB 205 usando un proceso de codificación, transformada y cuantificación LPC similar al proceso descrito para generar el(los) índice(s) LSP LB y la información de excitación LB 201. El(los) índice(s) LSP LB 205 puede(n) ocupar menos bits que el(los) índice(s) LSP LB. El módulo de análisis HB también puede generar la forma de ganancia HB 203 y la trama de ganancia HB 204. La forma de ganancia HB 203 y la trama de ganancia HB 204 pueden habilitar un decodificador (por ejemplo, el decodificador 126 de la FIG. 1 o un decodificador descrito con referencia a la FIG.
6) para ajustar la forma de ganancia HB y la ganancia de trama para reproducir con mayor precisión la seña1HB.
[0033] Cuando se habilita la comunicación de información de codificación de trama redundante, la trama de audio 134 incluye además información de codificación redundante LB 214 e información de codificación redundante HB 210 para otra trama de audio. La trama de audio 134 también puede incluir un indicador de tipo de trama 215. Como se describe en detalle con referencia a las FIGS. 5-6, en un modo de realización ilustrativo, el indicador de tipo de trama 215 es un indicador de 3 bits que indica un tipo de trama de la otra trama de audio e indica cuántos bits de la trama de audio 134 se asignan a la información de codificación redundante LB 214 y a la información de codificación redundante HB 210. En un modo de realización particular, la información de codificación redundante LB 214 o la información de codificación redundante HB 210 puede ser opcional. La información de codificación redundante HB 210 puede incluir un indicador de forma de ganancia HB 211, un indicador de trama de ganancia HB 212 y un indicador LSP HB 213, como se muestra en la FIG. 2. En modos de realización alternativos, la información de codificación HB 210 puede incluir un indicador diferente o una combinación de indicadores. Por ejemplo, el indicador LSP HB 213 puede incluirse en la información de codificación redundante HB 210 para la comunicación de banda superancha, pero puede omitirse para la comunicación de banda ancha. Como otro ejemplo, el indicador de forma de ganancia HB 211 y/o el indicador de trama de ganancia HB 212 pueden omitirse para determinados tipos de tramas.
[0034] En un modo de realización particular, el indicador de forma de ganancia HB 211 puede ser un indicador de un solo bit que está asociado con una forma de ganancia HB de una trama de audio anterior (por ejemplo, la tramaN 132). El codificador puede establecer un valor del indicador de forma de ganancia HB 211 basándose en una correlación entre las partes HB de la tramaN 132 y de la tramaN+2134. Por ejemplo, una correlación HB normalizada entre tramas entre la tramaN 132 y la tramaN+2134 puede estimarse basándose en la fórmula:
Figure imgf000007_0001
donde Xn (K) es un k.° valor de forma de ganancia para la N. 8 trama. En un ejemplo, se puede usar una ventana móvil de una o más subtramas para determinar cuatro valores de forma de ganancia por trama (por ejemplo, k varía de 1 a 4). Si el valor de correlación es mayor que un umbral (por ejemplo, 0,75), el codificador establece entonces el valor del indicador de forma de ganancia Hb 211 en un primer valor (por ejemplo, GS_bit=1). Cuando el indicador de forma de ganancia de HB 211 tiene el primer valor, el decodificador puede reutilizar la forma de ganancia HB 203 de la tramaN+2 134 como una forma de ganancia HB estimada de la tramaN 132 durante la decodificación/reconstrucción de trama redundante de la tramaN 132. Si el valor de correlación es menor que el umbral, entonces el codificador establece el valor del indicador de forma de ganancia HB 211 en un segundo valor (por ejemplo, GS_bit=0). Cuando el indicador de forma de ganancia HB 211 tiene el segundo valor, el decodificador puede usar una forma de ganancia constante como la forma de ganancia estimada, o puede realizar algún(os) otro(s) procedimiento(s) de predicción para estimar la forma de ganancia de la tramaN 132.
[0035] En un modo de realización particular, el codificador puede determinar el valor del indicador de forma de ganancia HB 211 basándose en la distancia del índice de libro de códigos en lugar de, o además de, la correlación de forma de ganancia de HB. Por ejemplo, el codificador puede mantener o tener acceso a un libro de códigos de forma de ganancia HB que se use para cuantificar la información de forma de ganancia HB 203. El codificador puede determinar un primer índice de libro de códigos asociado con la forma de ganancia HB de la tramaN 132 y un segundo índice de libro de códigos asociado con la forma de ganancia HB de la tramaN+2 134. El codificador puede establecer el valor del indicador de forma de ganancia HB 211 (por ejemplo, GS_bit=1 o GS_bit=0) basándose en una distancia (por ejemplo, una distancia mínima de error cuadrático medio) entre los índices de libro de códigos.
[0036] El indicador de trama de ganancia HB 212 puede ser un indicador de un solo bit o un indicador de múltiples bits. En un modo de realización particular, el codificador ajusta dinámicamente un tamaño del indicador de trama de ganancia HB 212. Por ejemplo, una red de paquetes conmutados puede usarse para transmitir diversos tipos de tramas de audio, incluyendo tramas de audio sonoras, tramas de audio genéricas, tramas de audio de transición y tramas de audio no sonoras. Puede ser útil usar un rango dinámico más amplio para la cuantificación de tramas de ganancia de tramas no sonoras que para tramas sonoras/genéricas/de transición. La cuantificación de trama de ganancia más gruesa puede ser suficiente para representar efectivamente la relación de ganancia de HB a LB para tramas sonoras/genéricas/de transición. Por tanto, si la tramaN 132 es una trama no sonora, el codificador puede asignar un primer número mayor de bits (por ejemplo, de 3 a 6 bits) al indicador de trama de ganancia HB 212. Si la tramaN 132 no es una trama no sonora, el codificador puede asignar un segundo número menor de bits (por ejemplo, 1 a 2 bits) al indicador de trama de ganancia HB 212.
[0037] En el ejemplo mostrado en la FIG. 2, el indicador de trama de ganancia HB 212 tiene asignado un número mayor de bits (por ejemplo, 3-6 bits). En contraste, la FIG. 3 ilustra un ejemplo en el cual un indicador de trama de ganancia HB 312 tiene asignado un número menor de bits (por ejemplo, 1-2 bits) que el indicador de trama de ganancia HB 212 de la FIG. 2. Debido a que al indicador de trama de ganancia HB 312 se le asigna un número menor de bits, pueden estar disponibles bits adicionales para su uso para representar la información de codificación redundante LB 314, que es más grande que la información de codificación redundante LB 214 de la FIG. 2. De forma alternativa, los bits adicionales pueden asignarse al núcleo LB o a los parámetros HB de la tramaN+2134. En las FIGS. 2-3, esta flexibilidad en la asignación de bits se ilustra usando tres líneas divisorias 250, 260 y 270. La primera línea divisoria 250 separa la información de codificación primaria de la información de codificación redundante y puede ajustarse a la izquierda y a la derecha a medida que un codificador ajusta dinámicamente la relación de bits de codificación primaria a bits de codificación redundantes. La segunda línea divisoria 260 separa el núcleo LB y los parámetros HB dentro de la información de codificación primaria y puede ajustarse hacia arriba y hacia abajo a medida que un codificador ajusta dinámicamente la relación de bits de núcleo LB a bits de parámetros HB dentro de la información de codificación primaria. La tercera línea divisoria 270 separa la información de codificación redundante LB y la información de codificación redundante HB y puede ajustarse hacia arriba y hacia abajo a medida que un codificador ajusta dinámicamente la relación de bits redundantes HB a la de bits redundantes LB.
[0038] En un modo de realización particular, el codificador puede ajustar dinámicamente el número de bits asignados a cada una de las cuatro partes de la trama (por ejemplo, "mover" dinámicamente las líneas divisorias 250, 260 y/o 270) basándose en una "criticidad" y/o en tipo de trama de la tramaN 132 y/o de la tramaN+2134. Para ilustrar, las asignaciones de bits entre las cuatro partes de la trama pueden basarse en el equilibrio de la criticidad de una trama anterior (para la cual se incluirá información de codificación redundante en la trama) y la degradación de audio resultante de tener menos bits de la trama disponibles para representar información de codificación primaria para la trama. La incapacidad de decodificar un determinado tipo de trama puede ser más notoria para un oyente que la incapacidad de decodificar otro tipo de trama. Por tanto, determinadas tramas de una señal de audio pueden considerarse más "críticas" que otras tramas. Por ejemplo, una primera trama de un flujo de audio puede tener una "criticidad" mayor que una segunda trama del flujo de audio cuando es más probable que la decodificación errónea de la primera trama cause artefactos de decodificación notables que la decodificación errónea de la segunda trama. Se pueden asignar más bits a la información de codificación redundante para una trama crítica que los asignados a la información de codificación redundante para una trama no crítica. De forma alternativa, o además, se pueden asignar menos bits de una trama crítica a la información de codificación redundante que los asignados en una trama no crítica.
[0039] Por ejemplo, las tramas de voz pueden clasificarse en tipos de trama " predictivas", "predicción lineal excitada por el ruido (NELP)", "genéricas" y "no predictivas". Las tramas predictivas pueden corresponder a la voz sonora y pueden constituir el 50 % o más de las tramas activas en una señal de audio correspondiente a la comunicación basada en la voz. Las tramas NELP pueden corresponder a datos no sonoros y pueden constituir del 10 % al 20 % de las tramas. El 30 %-40 % restante de las tramas pueden ser tramas genéricas o tramas no predictivas. Las tramas genéricas pueden ser tramas de modo mixto que incluyan tanto información de libro de códigos adaptativo (ACB) como información de libro de códigos fijo (FCB), tal como los índices de libro de códigos. Las tramas no predictivas pueden corresponder a transiciones de audio y pueden incluir información FCB. Las tramas genéricas y no predictivas pueden estar más "autocontenidas" que las tramas predictivas y NELP. En consecuencia, si una trama genérica o no predictiva no está dañada o no se recibe, un decodificador puede ser menos capaz de confiar en otras tramas para regenerar la trama. En consecuencia, las tramas genéricas y no predictivas pueden considerarse más críticas, mientras que las tramas predictivas y NELP pueden considerarse menos críticas para esa trama en particular (el impacto de las tramas predictivas y NELP puede ser diferente para una trama futura).
[0040] En el ejemplo de la FIG. 2, la tramaN+2 134 incluye información de codificación redundante para la tramaN 132. Si la tramaN 132 se considera crítica, se pueden asignar bits adicionales a la información de codificación redundante (por ejemplo, la primera línea divisoria 250 se puede ajustar a la izquierda). Si la tramaN+2 134 se considera crítica, se pueden asignar menos bits a la información de codificación redundante (por ejemplo, la primera línea divisoria 250 se puede ajustar a la derecha), de modo que se pueda reducir la degradación de la calidad de la tramaN+2 134. Por tanto, en modos de realización donde la tramaN+2 134 se considera crítica y la tramaN 132 no se considera crítica, se pueden asignar pocos o cero bits para la información de codificación redundante. A la inversa, en modos de realización donde la tramaN+2 134 no se considera crítica y la tramaN 132 se considera crítica, se puede asignar un gran número de bits para la información de codificación redundante. En consecuencia, el número de bits asignados a los parámetros HB, al núcleo LB, a la información de codificación redundante LB y/o a la información de codificación redundante HB puede determinarse basándose en un tipo de trama de la tramaN 132 y/o en un tipo de trama de la tramaN+2134.
[0041] En un modo de realización particular, cuando al indicador de trama de ganancia HB 212 se le asigna el primer número de bits (por ejemplo, 3-6 bits), el primer número de bits se usa para representar un índice de libro de códigos. Cuando al indicador de trama de ganancia HB 212 se le asigna el segundo número de bits (por ejemplo, 1 bit), el segundo número de bits se usa para indicar qué mitad del libro de códigos corresponde a la trama de ganancia HB de la tramaN 132.
[0042] Como ejemplo, en referencia a la FIG. 4, las tramas de audio 131-134 pueden tener los valores de trama de ganancia HB 1,6, 3,6, 1,6 y 1,0, respectivamente, y el libro de códigos de trama de ganancia HB puede incluir 8 índices. Si la tramaN 132 es una trama no sonora, al indicador de trama de ganancia HB 212 se le asignan tres bits que se establecen en el valor "100", es decir, que es la representación binaria del índice de libro de códigos 4 correspondiente al valor de trama de ganancia HB de 3,6. De lo contrario, al indicador de trama de ganancia HB 212 se le asigna un bit que se establece en "1", lo que indica que el valor de trama de ganancia HB de 3,6 está en una primera parte (por ejemplo, la mitad superior, correspondiente a los índices 4-7) del libro de códigos. El valor se establecería en "0" si el valor de trama de ganancia HB estuviera en una segunda parte (por ejemplo, la mitad inferior, correspondiente a los índices 0-3) del libro de códigos. El decodificador puede usar un valor de trama de ganancia HB para una trama anterior (por ejemplo, tramaN-1) junto con la información de que el valor de trama de ganancia HB para la tramaN está en la mitad superior del libro de códigos para estimar un valor de trama de ganancia HB para la tramaN.
[0043] Por tanto, en un modo de realización particular, el indicador de trama de ganancia HB 212 se puede asignar y establecer por un codificador de acuerdo con el siguiente pseudocódigo de estilo C:
/* Si el tipo de trama redundante es NELP */
if (st-> rf_frame_type == RF_NELP)
{
/* Ganancia de trama; potencialmente codificada usando 5 bits para las tramas NELP * /
Paso 1: Descuantificar el índice de ganancia de HB de trama redundante;
Paso 2: convertir la ganancia del dominio log en el valor real (es decir, 10Again) si es necesario;
}
Else /* Si el tipo de trama redundante es ALL_PRED o GENERIC o NO_PRED */
{
smoothFactor = 0.0f;
/* Ganancia de trama */
switch (gainIndex) /* codificado con 2 bits */
{
caso 0:
GainFrame = 0.5f; /* si el índice de ganancia es 0 */
if (ganancia de la trama anterior <= 1.25) {smoothFactor = 0.8f; }
break;
caso 1:
GainFrame = 2.0f ;/* si el índice de ganancia es 1 * /
if (ganancia de la trama anterior > 1.25 && <= 3) {smoothFactor = 0.8f; }
break;
caso 2:
GainFrame = 4.0f; /* si el índice de ganancia es 2 */
if (ganancia de la trama anterior > 3 && <= 6) {smoothFactor = 0.8f; }
salto;
caso 3:
GainFrame = 8.0f; /* si el índice de ganancia es 3 */
if (ganancia de la trama anterior > 6 && <= 16) {smoothFactor = 0.8f; }
break;
}
GainFrame = (1 -smoothFactor) * GainFrame+smoothFactor* (ganancia de la trama anterior);
}
[0044] El indicador LSP HB 213 puede ser un indicador de un solo bit que informe a un receptor sobre cómo derivar LSP HB de la tramaN 132. Para determinar el valor del indicador LSP HB 213, el codificador puede estimar una variación LSP HB entre tramas usando una métrica de distorsión espectral entre la tramaN 132 y la tramaN+2 134. De forma alternativa, o además, puede usarse una distancia del índice de libro de códigos entre el(los) índices LSP HB de las tramas de audio. Cuando la variación espectral entre la tramaN y la tramaN+2 es menor que un umbral particular (por ejemplo, 2 decibelios (dB)), el codificador puede establecer el indicador LSP HB 213 en un primer valor (por ejemplo, HBLSP_bit = 0). Cuando el indicador LSP HB 213 tiene el primer valor, el decodificador puede usar el(los) índice(s) LSP HB 205 de la tramaN+2 como índice(s) LSP HB estimado(s) de la tramaN. Cuando la variación espectral es mayor o igual al umbral particular (por ejemplo, 2 dB), el codificador puede establecer el indicador LSP HB 213 en un segundo valor (por ejemplo, HBLSP_bit = 1). Cuando el indicador LSP HB 213 tiene el segundo valor, el decodificador puede derivar el(los) índice(s) LSP HB para la tramaN por interpolación o extrapolación. Por ejemplo, si la variación espectral está dentro de un rango de umbral (por ejemplo, 2 dB < variación < 4 dB), el decodificador puede derivar el(los) índice(s) LSP HB para la tramaN interpolando LSP HB desde la tramaN-1 a la tramaN+2. Si la variación espectral está fuera del rango de umbral (por ejemplo, >= 4 dB), el decodificador puede derivar el(los) índice(s) LSP HB para la tramaN extrapolando a partir de tramas anteriores (por ejemplo, la tramaN-1 y la tramaN-2).
[0045] En un modo de realización alternativo, para establecer un valor del indicador LSP HB 213, un codificador puede determinar una diferencia (por ejemplo, delta) entre los LSP HB de la tramaN y la tramaN+2. El codificador puede establecer el valor del indicador LSP HB 213 basándose en la diferencia, y el decodificador puede usar el valor del indicador LSP HB 213 para derivar los LSP HB de la tramaN a partir de los LSP HB de la tramaN+2. En un modo de realización alternativo, el indicador LSP HB 123 no está incluido en la información de codificación redundante.
[0046] Por tanto, como se describe con referencia a las FIGS. 2-4, un codificador puede ajustar de forma dinámica cuánto espacio ocupa la información de codificación redundante HB 210 y puede establecer valores de la información de codificación redundante HB 210 para permitir que un decodificador reconstruya una trama perdida (o una parte de la misma).
[0047] En referencia a la FIG. 5, se muestra un modo de realización particular de un codificador 500. En un aspecto ilustrativo, el codificador 500 corresponde al codificador 116 de la FIG. 1. El codificador 500 incluye dos rutas de codificación que funcionan en paralelo: una ruta de codificación primaria 510 y una ruta de codificación redundante 520 (denominada de forma alternativa "copia parcial"). Las rutas de codificación 510, 520 están acopladas a un entramador (o multiplexor de bits) 540. En la FIG. 5, las rutas de codificación 510, 520 están configuradas para comunicarse a través de una memoria compartida 530. La memoria compartida 530 puede corresponder a una memoria basada en memoria caché, a una memoria basada en registro o a otra memoria de un procesador (por ejemplo, un DSP). En modos de realización alternativos, las rutas de codificación 510, 520 pueden comunicarse usando otro mecanismo.
[0048] Durante el funcionamiento, los datos de trama para cada trama de audio que se vaya a codificar pueden proporcionarse tanto a la ruta de codificación primaria 510 como a la ruta de codificación redundante 520. Por ejemplo, la FIG. 5 ilustra que los datos de trama 501,502, 503 y 504 para la tramaN-2551, la tramaN 132, la tramaN+2 134 y la tramaN+4 554, respectivamente, se proporcionan a ambas rutas de codificación 510, 520. Los datos de trama para tramas intermedias (por ejemplo, la tramaN-1 131, la tramaN+1 133 y la tramaN+3) no se muestran para facilitar la ilustración. La ruta de codificación primaria 510 puede generar información de codificación primaria para tramas de audio y la ruta de codificación redundante 520 puede generar información redundante para tramas de audio. El multiplexor de bits o el entramador 540 puede concatenar los bits recibidos de las rutas de codificación 510, 520 para generar tramas de audio codificadas. En el ejemplo de la FIG. 5, el entramador 540 genera la tramaN-2 551, la tramaN 132, la tramaN+2 134 y la tramaN+4 554, cada una de las cuales se proporciona a un sistema de paquetización y transporte para la comunicación a un dispositivo de destino.
[0049] Las operaciones de codificación realizadas por la ruta de codificación primaria 510 pueden depender de las operaciones de codificación realizadas por la ruta de codificación redundante 520, y viceversa. Para ilustrar, el codificador 500 puede codificar tramas de audio a una tasa de bits de 13,2 kbps y cada trama puede incluir 264 bits (en modos de realización alternativos, se puede usar una tasa de bits diferente y un número diferente de bits). La ruta de codificación primaria 510 puede determinar cuántos de los 264 bits están disponibles para codificar la información de codificación primaria (por ejemplo, el núcleo LB y los parámetros HB) de una trama basándose en cuántos bits usó la ruta de codificación redundante 520 para codificar información de codificación redundante para una trama anterior. La ruta de codificación redundante 520 puede codificar información de codificación redundante para una trama basándose en parámetros determinados por la ruta de codificación primaria 510 durante la codificación primaria de la trama. Por tanto, como se muestra usando la memoria compartida 530 de la FIG. 5, la ruta de codificación primaria 510 puede comunicar los parámetros LB/HB a la ruta de codificación redundante 520, y la ruta de codificación redundante 520 puede comunicar el número de bits usados para realizar la codificación redundante de una trama a la ruta de codificación primaria 510.
[0050] Cuando la ruta de codificación primaria 510 recibe los datos de trama 501 para la tramaN-2551, la ruta de codificación primaria 510 puede determinar cuántos bits usó la ruta de codificación redundante 520 para realizar la codificación redundante de la tramaN-4 (no mostrada). En el ejemplo de la FIG. 5, no se realizó codificación redundante para la tramaN-4. Por tanto, la ruta de codificación primaria 510 puede asignar los 264 bits disponibles a la información de codificación primaria generada a partir de los datos de trama 501, y la tramaN-2 551 puede incluir los 264 bits codificados recibidos desde la ruta de codificación primaria 510. Para ilustrar, como se describe con referencia a las FIGS. 2-3, los 264 bits pueden incluir índices LSP, información ACB, información FCB, información de excitación, información de excitación transformada, información de forma de ganancia y/o información de trama de ganancia, entre otras alternativas. En paralelo con las operaciones realizadas por la ruta de codificación primaria 510 para los datos de trama 501, la ruta de codificación redundante 520 puede determinar cuántos bits usar para la codificación redundante de la tramaN-2551. En el ejemplo de la FIG. 5, no se realiza la codificación redundante de la tramaN-2551 (por ejemplo, se determina que la tramaN-2551 es "no crítica"). En un modo de realización ilustrativo, la ruta de codificación redundante 520 determina cuántos bits usar para la codificación redundante de una trama basándose en un tipo de trama de la trama. Por ejemplo, se pueden usar 41 bits para la codificación redundante de una trama NELP, se pueden usar 58 bits para la codificación redundante de una trama predictiva y se pueden usar 72 bits para la codificación redundante de una trama genérica (en modos de realización alternativos, un número diferente de bits puede usarse para diversos tipos de trama). La información de trama redundante LB/HB particular que se representa cuando se usan 41 bits, cuando se usan 58 bits, cuando se usan 72 bits, etc. puede especificarse en una norma industrial (por ejemplo, la norma EVS del Proyecto de Colaboración de 3." Generación (3GPP)).
[0051] Cuando la ruta de codificación primaria 510 recibe los datos de trama 502 para la tramaN 132, la ruta de codificación primaria 510 puede determinar cuántos bits usó la ruta de codificación redundante 520 para realizar la codificación redundante de la trama de la tramaN-2551. Debido a que no se realizó una codificación redundante para la tramaN-2 551, la ruta de codificación primaria 510 puede usar los 264 bits disponibles para representar el núcleo LB y los parámetros HB derivados de los datos de trama 502, y la tramaN 132 emitidos por el entramador 540 puede incluir los 264 bits codificados recibidos de la ruta de codificación primaria 510. La ruta de codificación redundante 520 puede usar 41 bits para realizar codificación redundante para la tramaN 132 (por ejemplo, la tramaN 132 puede ser una trama NELP). En particular, los 41 bits pueden usarse para representar determinados parámetros LB/HB "críticos" que están determinados por la ruta de codificación primaria 510 durante la codificación primaria para la tramaN 132. Para ilustrar, como se describe con referencia a las FIGS. 2-3, la información de codificación redundante puede incluir información de forma de ganancia, información de trama de ganancia y/o información LSP, entre otras alternativas. La codificación redundante de 41 bits para la tramaN 132 puede almacenarse (por ejemplo, en la memoria compartida 530) para su uso posterior.
[0052] Cuando la ruta de codificación primaria 510 recibe los datos de trama 503 para la tramaN+2134, la ruta de codificación primaria 510 puede determinar (por ejemplo, en base a los datos almacenados en la memoria compartida 530) que se usaron 41 bits para la codificación redundante de la tramaN 132. Por tanto, la ruta de codificación primaria 510 puede usar 264-41=223 bits para codificar la información del núcleo LB y del parámetro HP para la tramaN+2 134. La ruta de codificación redundante 520 puede determinar el uso de 72 bits para realizar la codificación redundante para la tramaN+2 134 (por ejemplo, la tramaN+2 134 puede ser una trama genérica). La codificación redundante de 72 bits para la tramaN+2134, que puede representar parámetros seleccionados para la tramaN+2 134 que están determinados por la ruta de codificación primaria 510, puede almacenarse para su uso posterior. El entramador 540 puede concatenar la codificación primaria de 223 bits recibida de la ruta de codificación primaria 510 con la codificación redundante de 41 bits previamente almacenada para la tramaN 132 para generar la tramaN+2 134, como se muestra.
[0053] Cuando la ruta de codificación primaria 510 recibe los datos de trama 504 para la tramaN+4554, la ruta de codificación primaria 510 puede determinar que se usaron 72 bits para la codificación redundante de la tramaN+2 134. Por tanto, la ruta de codificación primaria 510 puede usar 264-72=192 bits para codificar la información del núcleo LB y del parámetro HP para la tramaN+4 554. En paralelo, la ruta de codificación redundante 520 puede realizar codificación redundante para la tramaN+4554. El entramador 540 puede concatenar la codificación primaria de 192 bits recibida de la ruta de codificación primaria 510 con la codificación redundante de 72 bits previamente almacenada para la tramaN+2 134 para generar la tramaN+4554, como se muestra.
[0054] En un modo de realización particular, los últimos tres bits de una trama codificada representan un indicador de tipo de trama para los datos de codificación redundante incluidos en la trama. Por ejemplo, debido a que la tramaN-2 551 y la tramaN 132 codificada no incluyen ninguna información de codificación redundante para otra trama, los últimos tres bits de la tramaN-2 551 y la tramaN 132 pueden tener un primer valor (por ejemplo, 000). Como la tramaN+2 134 incluye 41 bits de información de codificación redundante y la tramaN es una trama NELP, los últimos tres bits de la tramaN+2 134 pueden tener un segundo valor (por ejemplo, 001 u otro valor único de 3 bits). Como la tramaN+4 554 incluye 72 bits de información de codificación redundante y la tramaN+2 134 es una trama genérica, los últimos tres bits de la tramaN+4554 pueden tener un tercer valor (por ejemplo, 010 u otro valor único de 3 bits). Se pueden usar valores adicionales del indicador de tipo de trama de 3 bits para indicar otros tipos de trama y para señalar otra información (por ejemplo, copias parciales en el dominio de frecuencia). Por tanto, en el ejemplo descrito, los últimos tres bits de cada trama indican un tipo de trama de una trama anterior y cuántos bits de información de codificación redundante para la trama anterior se incluyen en la trama. En consecuencia, 261 bits de los 264 bits pueden compartirse entre la ruta de codificación primaria 510 y la ruta de codificación redundante 520, y los 3 bits restantes pueden reservarse para el indicador de tipo de trama redundante.
[0055] Las tramas de audio codificadas pueden transmitirse por un dispositivo fuente (por ejemplo, el primer dispositivo informático 110 de la FIG. 1) a un dispositivo de destino (por ejemplo, el segundo dispositivo informático 120 de la FIG. 1), que puede decodificar las tramas de audio recibidas. Por ejemplo, la FIG. 6 ilustra un modo de realización particular de un decodificador 600 que es operable para decodificar tramas de audio recibidas. El decodificador 600 puede corresponder al decodificador 126 de la FIG. 1. El decodificador 600 incluye una memoria intermedia de eliminación de fluctuación 610 (por ejemplo, correspondiente a la memoria intermedia de eliminación de fluctuación 129 de la FIG. 1). Mientras que el codificador 500 incluye rutas de codificación paralelas 510-520, el decodificador 600 incluye una única ruta de decodificación 620.
[0056] Como las tramas de audio se reciben por un receptor, las tramas de audio pueden almacenarse en la memoria intermedia de eliminación de fluctuación 610. Como se describe con referencia a la FIG. 1, debido a las condiciones de red, los paquetes enviados por un dispositivo fuente a un dispositivo de destino pueden llegar fuera de servicio, pueden estar dañados o pueden no llegar en absoluto. La ruta de decodificación 620 puede recuperar tramas de la memoria intermedia de eliminación de fluctuación 610 de acuerdo con una secuencia de tramas (por ejemplo, basándose en los números de secuencia de tramas o en otra información de secuencia incluida en las tramas de audio). Por ejemplo, la ruta de decodificación 620 puede intentar recuperar y decodificar la tramaN-2551 antes de la tramaN 132, la tramaN 132 antes de la tramaN+2 134 y la tramaN+2 134 antes de la tramaN+4554. Para facilitar la ilustración, la decodificación de tramas intermedias (por ejemplo, la tramaN-1 131, la tramaN+1 133 y la tramaN+3) no se muestra en la FIG. 6.
[0057] Para iniciar la decodificación de la tramaN-2551, la ruta de decodificación 620 puede verificar si la tramaN-2 551 está disponible en la memoria intermedia de eliminación de fluctuación 610. En el ejemplo de la FIG. 6, la tramaN-2551 está disponible en la memoria intermedia de eliminación de fluctuación 610. La ruta de decodificación 620 puede determinar cuántos bits de la tramaN-2 551 se están usando para la información de codificación redundante de otra trama. Por ejemplo, basándose en los últimos tres bits de la tramaN-2 134 que tienen el valor 000 (como se describe con referencia a la FIG. 5), la ruta de decodificación 620 puede determinar que ningún bit de la tramaN-2 134 represente información de trama redundante. Por tanto, la ruta de decodificación 620 puede recuperar todos los 261 bits de la tramaN-2 551, como se muestra en 651, y puede generar datos decodificados 601. Los datos decodificados 601 pueden proporcionarse a un dispositivo de salida (por ejemplo, un altavoz) para su reproducción. Se apreciará que, dependiendo de la calidad de la codificación realizada en el codificador 500 y de la calidad de la decodificación realizada en el decodificador 600, los datos 601 pueden ser idénticos o una aproximación de los datos 501 de la FIG. 5. Durante la decodificación de la tramaN-2551 basándose en los 261 bits primarios, los valores de parámetros de decodificación particulares pueden almacenarse en una memoria de decodificación primaria 622 para su uso durante la decodificación de una trama posterior.
[0058] En el ejemplo de la FIG. 6, la tramaN 132 no está disponible en la memoria intermedia de eliminación de fluctuación 610. De forma alternativa, la ruta de decodificación 620 puede determinar que la tramaN 132 está disponible en la memoria intermedia de eliminación de fluctuación 610, pero puede producirse un error durante la decodificación de los bits primarios de la tramaN 132. En cualquier caso, la ruta de decodificación 620 puede verificar si la información de trama redundante para la tramaN 132 está disponible en la memoria intermedia de eliminación de fluctuación 610. Por ejemplo, basándose en un desplazamiento conocido de 2 tramas entre la información de codificación primaria y la información de codificación redundante (se pueden usar otros desplazamientos, por ejemplo, 3 o 5 o 7 en otros modos de realización), la ruta de decodificación 620 puede verificar si la tramaN+2 134 está disponible en la memoria intermedia de eliminación de fluctuación 610. Si la tramaN+2 134 tampoco está disponible, la ruta de decodificación 620 puede iniciar un procedimiento de ocultación de errores para generar datos decodificados 602 para la tramaN 132. En el ejemplo de la FIG. 6, sin embargo, la tramaN+2134 está disponible en la memoria intermedia de eliminación de fluctuación 610. Basándose en los últimos tres bits de la tramaN+2 134 que tienen el valor 001 (como se describe con referencia a la FIG. 5), la ruta de decodificación 620 puede determinar que 41 bits de la tramaN+2 134 representan información de codificación redundante para la tramaN 132. La ruta de decodificación 620 puede recuperar los 41 bits de codificación redundantes para la tramaN 132, como se muestra en 652, y puede generar los datos 602. Por tanto, la ruta de decodificación 620 puede determinar cuántos bits de codificación redundante están disponibles y recuperar los bits de codificación redundante basándose en el número determinado (por ejemplo, cuando hay disponibles X bits de codificación redundante, la ruta de decodificación 620 puede recuperar los últimos X bits de una trama o paquete que se almacene en la memoria intermedia de eliminación de fluctuación 610 asociada con un número de secuencia de paquete determinado por el DESPLAZAMIENTO). En la FIG. 6, los datos decodificados generados a partir de la información de trama redundante (por ejemplo, los datos 602) se muestran usando un patrón sombreado. Durante la decodificación de la tramaN 132 basándose en los 41 bits de información de codificación redundante, los valores de determinados parámetros pueden almacenarse en una memoria de decodificación redundante 624 para su uso posterior. En un modo de realización alternativo, la memoria de decodificación redundante 624 y la memoria de decodificación primaria 622 pueden solaparse o pueden ser las mismas.
[0059] Por tanto, la ruta de decodificación 620 puede mantener memorias separadas para la decodificación basándose en bits primarios y para la decodificación basándose en bits redundantes. En un modo de realización particular, los datos en la memoria de decodificación primaria 622 pueden usarse durante la decodificación de otros bits primarios pero no durante la decodificación de bits redundantes. De forma similar, los datos de la memoria de decodificación redundante 624 pueden usarse durante la decodificación de bits redundantes, pero no durante la decodificación de bits primarios. En un modo de realización alternativo, los datos de la memoria de decodificación primaria 622 pueden usarse durante la decodificación de bits redundantes y/o los datos de la memoria de decodificación redundante 624 pueden usarse durante la decodificación de bits primarios. Por ejemplo, los parámetros de múltiples tramas previamente decodificadas pueden usarse durante la interpolación y/o la predicción de un parámetro para una trama "actual".
[0060] La ruta de decodificación 620 puede decodificar la tramaN+2 134 y la tramaN+4554, que están disponibles en la memoria intermedia de eliminación de fluctuación 610, como se describe para la tramaN-2 551. Basándose en los últimos tres bits de la tramaN+2134 que tienen el valor 001 (como se describe con referencia a la FIG. 5), la ruta de decodificación 620 puede recuperar 264-41=223 bits primarios de la tramaN+2 134, como se muestra en 653, para generar los datos decodificados 603. Basándose en los últimos tres bits de la tramaN+4554 que tienen el valor 010 (como se describe con referencia a la FIG. 5), la ruta de decodificación 620 puede recuperar 264-72=192 bits primarios de la tramaN+4 134, como se muestra en 653, para generar los datos decodificados 604.
[0061] Cabe destacar que el decodificador 600 también puede usar un indicador de tipo de trama de copia parcial cuando realice operaciones de decodificación en condiciones de "canal limpio". Por ejemplo, cuando la tramaN 132 se recibe en la memoria intermedia de eliminación de fluctuación 610, puede no existir una condición de borrado de trama para la tramaN 132. No obstante, el decodificador 600 puede evaluar el indicador de tipo de trama para determinar cuántos bits de la tramaN+2 134 son bits de codificación primaria y cuántos bits de la tramaN+2 134 son bits de copia parcial para la tramaN 132. La ruta de decodificación 620 puede decodificar la tramaN+2134 basándose en los bits de codificación primaria. Los bits de copia parcial para la tramaN 132 pueden descartarse, porque la tramaN 132 puede haberse recibido y decodificado con éxito antes de la decodificación de la tramaN+2 134. Por tanto, el decodificador 600 puede procesar información de trama redundante en condiciones de canal ruidosas (durante las cuales se puede descartar y reconstruir una trama) así como en condiciones de canal limpio.
[0062] Cabe destacar que, para facilitar la explicación, las rutas de codificación 510, 520 de la FIG. 5 y la ruta de decodificación 620 de la FIG. 6 se ilustran como componentes de bloque. Sin embargo, debe entenderse que la ruta de codificación primaria 510, la ruta de codificación redundante 520 y/o la ruta de decodificación 620 pueden incluir subcomponentes que son operables para realizar las operaciones de codificación y/o decodificación descritas con referencia a las FIGS. 1-4. Por ejemplo, una o más de las rutas 510, 520 o 620 pueden incluir un banco de filtros de análisis, un módulo de análisis LP, un módulo de transformada, un cuantificador, un módulo de análisis HB, ACB, FCB, etc. En modos de realización particulares, una o ambas rutas de codificación 510-520 pueden incluir componentes de decodificación que también estén incluidos en la ruta de decodificación 620 (por ejemplo, como un "decodificador local" del codificador 500).
[0063] Las FIGS. 5-6 ilustran por tanto ejemplos de un codificador 500 y un decodificador 600 que pueden usarse para codificar y decodificar información de trama redundante. La comunicación de bits de codificación redundantes para una trama en una trama posterior puede mejorar la reconstrucción de audio (por ejemplo, síntesis) en un dispositivo de destino en presencia de condiciones de red adversas. Por ejemplo, los bits de codificación redundantes pueden usarse para reconstruir una trama cuando la trama no se reciba en un dispositivo de destino. Como otro ejemplo, cuando se produce un error al decodificar bits primarios para una trama, los bits de codificación redundantes para la trama pueden recuperarse de otra trama y pueden usarse en lugar de, o en conjunción con, los bits primarios.
[0064] Con referencia a las FIGS. 7-8, se muestra un diagrama de flujo de un modo de realización particular de un procedimiento de decodificación de una trama basándose en la información de codificación redundante incluida en una trama posterior y en general se designa con 700. En un modo de realización ilustrativo, el procedimiento 700 puede realizarse en un dispositivo de destino (por ejemplo, el segundo dispositivo informático 120 de la FIG.
1) y/o en un decodificador (por ejemplo, el decodificador 600 de la FIG. 6).
[0065] El procedimiento 700 incluye recibir una segunda trama de audio en un decodificador (por ejemplo, a través de una red de paquetes conmutados), en 702. La segunda trama de audio sigue a una primera trama de audio en una señal de audio. La segunda trama de audio incluye un primer número de bits asignados a la información de codificación primaria asociada con la segunda trama de audio, un segundo número de bits asignados a la información de codificación redundante asociada con la primera trama de audio, y un indicador de un tipo de trama de la primera trama de audio. Por ejemplo, en la FIG. 6, el decodificador 600 puede recibir la tramaN-2 134, que sigue a la tramaN 132 en una señal de audio.
[0066] El procedimiento 700 también incluye almacenar la segunda trama de audio en una memoria intermedia de eliminación de fluctuación, en 704. Por ejemplo, en la FIG. 6, la tramaN+2134 puede almacenarse en la memoria intermedia de eliminación de fluctuación 610. El procedimiento 700 incluye determinar si una condición de borrado de trama está asociada con la primera trama de audio, en 706. En respuesta a la determinación de que una condición de borrado de trama está asociada con la primera trama de audio (por ejemplo, la primera trama de audio se cayó o se dañó debido a malas condiciones de canal), el procedimiento 700 incluye además determinar, basándose en el indicador, el segundo número de bits de la segunda trama de audio que se asignan a la información de codificación redundante asociada con la primera trama de audio, en 708. Por ejemplo, en la FIG.
6, la ruta de decodificación 620 puede determinar que la tramaN 132 no está disponible en la memoria intermedia de eliminación de fluctuación 610 y puede determinar, basándose en un indicador de tipo de trama en la tramaN+2 134, que 41 bits de tramaN+2 134 representan información de codificación redundante para la tramaN 132.
[0067] El procedimiento 700 incluye la decodificación de la primera trama de audio basándose en la información de codificación redundante, en 710. Por ejemplo, en la FIG. 6, la ruta de decodificación 620 puede decodificar la tramaN 132 restante, o una aproximación de la misma, basándose en los 41 bits de información de codificación redundante incluida en la tramaN+2 134.
[0068] Cuando una condición de borrado de trama no está asociada con la primera trama de audio, el procedimiento 700 incluye decodificar la primera trama de audio basándose en la información de codificación primaria en la primera trama de audio, en 712. Por ejemplo, en condiciones de canal limpio, la tramaN 132 puede haberse recibido y almacenado previamente en la memoria intermedia de eliminación de fluctuación 610, y la ruta de decodificación 620 puede decodificar la tramaN 132 basándose en los bits de codificación primaria de la tramaN 132.
[0069] Independientemente de si la primera trama de audio se decodifica usando información de codificación redundante o información de codificación primaria, el procedimiento 700 puede incluir determinar, basándose en el indicador, el primer número de bits de la segunda trama de audio que se asignan a la información de codificación primaria asociada con la segunda trama de audio, en 714. El procedimiento 700 también puede incluir decodificar la segunda trama basándose en la información de codificación primaria, en 716.
[0070] Se describe en detalle un ejemplo particular de una o más operaciones que se pueden realizar durante la decodificación de la primera trama de audio (por ejemplo, la tramaN 132) basándose en la información de codificación redundante incluida en la segunda trama de audio (por ejemplo, la tramaN+2 134) con referencia a la FIG. 8. Por tanto, una o más operaciones ilustradas en la FIG. 8 puede realizarse como parte de la operación 710 de la FIG. 7. En otros modos de realización, pueden omitirse una o más operaciones de la FIG. 8. Cabe destacar que la FIG. 8 ilustra la decodificación HB basándose en la información de trama redundante. Aunque no se muestra en la FIG. 8, la decodificación LB basándose en la información de trama redundante también puede realizarse en un decodificador durante la operación 710 de la FIG. 7.
[0071] El decodificador puede determinar un valor de un indicador de forma de ganancia incluido en la información de codificación redundante, en 810. Cuando el indicador de forma de ganancia tiene un primer valor, el decodificador puede usar la forma de ganancia de banda alta de la segunda trama de audio como la forma de ganancia estimada de la primera trama de audio, en 812. Por ejemplo, en referencia a las FIGS. 2-3, el aparato puede ser la forma de ganancia HB 203. Cuando el indicador de forma de ganancia tiene un segundo valor, el decodificador puede usar una forma de ganancia constante como la forma de ganancia estimada o algún(os) otro(s) procedimiento(s) de predicción para estimar la forma de ganancia de la primera trama de audio, en 814.
[0072] El decodificador también puede determinar cuántos bits se asignan a un indicador de trama de ganancia HB en la información de codificación redundante, en 820. Cuando se asigna un primer número (por ejemplo, mayor) de bits, el decodificador puede determinar una trama de ganancia HB de la primera trama de audio usando el indicador de trama de ganancia HB como índice de libro de códigos, en 822. Cuando se asigna un segundo número (por ejemplo, menor) de bits, tal como un solo bit, el decodificador puede determinar la trama de ganancia HB de la primera trama de audio accediendo a una parte indicada (por ejemplo, la mitad superior o inferior) del libro de códigos, en 824.
[0073] El decodificador puede determinar además un valor de un indicador LSP HB, en 830. Cuando el indicador LSP HB tiene un primer valor, el decodificador puede usar los índices LSP HB (o LSP HB) de la segunda trama de audio como índice(s) LSP HB estimado(s) (o LSP HB) de la primera trama de audio, en 832. Cuando el indicador LSP HB tiene un segundo valor, el decodificador puede determinar si una distorsión espectral entre las primera y segunda tramas de audio está dentro de un rango de umbral, en 834. Cuando la distorsión espectral está dentro del rango de umbral, el decodificador puede determinar índice(s) LSP HB (o LSP HB) de la primera trama de audio mediante interpolación (por ejemplo, interpolando entre la tramaN-1 131 y la tramaN+2 134), en 836. Cuando la distorsión espectral está fuera del rango de umbral, el decodificador puede determinar el(los) índice(s) LSP HB (o LSP HB) de la primera trama de audio mediante extrapolación (por ejemplo, extrapolando desde la tramaN-2551 y la tramaN-1 131), en 838.
[0074] En modos de realización particulares, el procedimiento 700 ilustrado en las FIGS. 7-8 puede implementarse mediante hardware (por ejemplo, un dispositivo FPGA, un ASIC, etc.) de una unidad de procesamiento, tal como una CPU, un DSP o un controlador, por medio de un dispositivo de firmware, o cualquier combinación de los mismos. Como ejemplo, un procesador que ejecuta instrucciones puede realizar el procedimiento 700 de las FIGS.
7-8, como se describe con respecto a la FIG. 10.
[0075] Con referencia a la FIG. 9, se muestra un diagrama de flujo de un modo de realización particular de un procedimiento de codificación de información de codificación redundante para una trama en una trama posterior y en general se designa con 900. En un modo de realización ilustrativo, el procedimiento 900 puede realizarse en un dispositivo fuente (por ejemplo, el primer dispositivo informático 110 de la FIG. 1) y/o un codificador (por ejemplo, el codificador 500 de la FIG. 5).
[0076] El procedimiento 900 incluye codificar y transmitir una primera trama de audio de una señal de audio, en 902. Por ejemplo, en la FIG. 5, el codificador 500 puede codificar y transmitir la tramaN 132. El procedimiento 900 también incluye determinar, basándose en un tipo de trama de la primera trama de audio, un primer número de bits de una segunda trama de audio para asignar a la información de codificación primaria asociada con la segunda trama de audio, en 904. La segunda trama de audio sigue a la primera trama de audio en la señal de audio. También se determina un segundo número de bits de la segunda trama de audio para asignar a la información de codificación redundante asociada con la primera trama de audio. Por ejemplo, como se muestra en la FIG. 5, el codificador puede determinar, basándose en un tipo de trama de la tramaN 132, que se asignarán 41 bits de la tramaN+2 134 a la información de codificación redundante para la trama de la tramaN 132 y que 223 bits de la tramaN+2134 se asignarán a la información de codificación primaria para la tramaN+2134.
[0077] El procedimiento 900 incluye codificar la segunda trama de audio, en 906. La segunda trama de audio incluye el primer número de bits de información de codificación primaria, el segundo número de bits de información de codificación redundante y un indicador del tipo de trama de la primera trama de audio.
[0078] Por ejemplo, un codificador puede establecer un valor de un indicador de forma de ganancia de un solo bit, en 908. El valor puede establecerse basándose en una correlación entre las partes HB de las primera y segunda tramas de audio y/o una distancia entre los índices de libro de códigos asociados con las formas de ganancia HB de las primera y segunda tramas de audio.
[0079] El codificador puede asignar un número particular de bits a un indicador de trama de ganancia HB, en 910. El número particular de bits puede determinarse basándose en si la primera trama de audio es una trama no sonora. El codificador también puede establecer los bits asignados a un valor particular basándose en un libro de códigos (por ejemplo, el libro de códigos de trama de ganancia HB mostrado en la FIG. 4).
[0080] El codificador puede establecer un valor de un indicador LSP HB de un solo bit basándose en una distorsión espectral entre las primera y segunda tramas de audio y/o una distancia entre los índices de libro de códigos asociados con los LSP HB de las primera y segunda tramas de audio, en 912. De forma alternativa, el codificador puede determinar una diferencia (por ejemplo, delta) entre los LSP de banda alta de las primera y segunda tramas de audio y establecer un valor del indicador LSP HB basándose en la diferencia, en 914. En modos de realización alternativos, el codificador puede determinar información de codificación redundante diferente. Además, cabe destacar que los ejemplos mencionados anteriormente de determinados tipos de indicadores que son de un solo bit o de múltiples bits son solo por ejemplo, y no deben considerarse limitantes. En modos de realización alternativos, se pueden representar diferentes tipos de información de codificación primaria y/o redundante usando un número diferente de bits.
[0081] El procedimiento 900 incluye además filtrar la señal de audio, en 916. Por ejemplo, en la FIG. 1, el transmisor 118 puede transmitir la tramaN+2 134 al receptor 128, donde la tramaN+2 134 incluye información de codificación redundante para la tramaN 132.
[0082] En aspectos particulares, el procedimiento 900 ilustrado en la FIG. 9 puede implementarse mediante hardware (por ejemplo, un dispositivo FPGA, un ASIC, etc.) de una unidad de procesamiento, tal como una CPU, un DSP o un controlador, mediante un dispositivo de firmware, o cualquier combinación de los mismos. Como ejemplo, un procesador que ejecute instrucciones puede realizar el procedimiento 900 de la FIG. 9, como se describe con respecto a la FIG. 10.
[0083] Cabe destacar que el orden de operaciones ilustradas en las FIGS. 7-9 es solo para fines ilustrativos y no debe considerarse limitante. En modos de realización alternativos, determinadas operaciones pueden realizarse en un orden diferente y/o pueden realizarse simultáneamente entre sí (o al menos parcialmente simultáneamente).
[0084] En referencia a la FIG. 10, se representa y se designa en general con 1000 un diagrama de bloques de un modo de realización ilustrativo particular de un dispositivo de comunicación inalámbrica. El dispositivo 1000 incluye un primer procesador 1010 (por ejemplo, una CPU), acoplado a una memoria 1032 (por ejemplo, un dispositivo de almacenamiento legible por ordenador). El dispositivo 1000 también incluye un segundo procesador 1080 (por ejemplo, un DSP). La memoria 1032 puede incluir instrucciones 1060 ejecutables por el primer procesador 1010 y/o el segundo procesador 1080, para realizar procedimientos y procesos divulgados en el presente documento, tales como los procedimientos de las FIGS 7-9.
[0085] El segundo procesador 1080 puede incluir un codificador de voz 1087, un decodificador de voz 1088 y una memoria 1085 que almacene uno o más libros de códigos 1086 (por ejemplo, un libro de códigos LSP LB, un libro de códigos LSP HB, un libro de códigos de forma de ganancia HB, un libro de códigos de trama de ganancia HB, etc.). El uno o más libros de códigos 1086 pueden incluir ACB, FCB o ambos. En un modo de realización ilustrativo, el codificador de voz 1087 es el codificador 116 de la FIG. 1 y/o el codificador 500 de la FIG. 5, el decodificador de voz 1088 es el decodificador 126 de la FIG. 1 y/o el decodificador 600 de la FIG. 6, y la memoria 1085 incluye la memoria intermedia de eliminación de fluctuación 129 de la FIG. 1, la memoria compartida 530 de la FIG. 6, y/o la memoria intermedia de eliminación de fluctuación 610 de la FIG. 6. En modos de realización alternativos, el codificador de voz 1087 y/o el decodificador de voz 1088 pueden ser externos al segundo procesador 1088 (por ejemplo, pueden estar incluidos en el primer procesador 1010 o en un procesador o bloque de hardware diferente). El codificador de voz 1087 y/o el decodificador de voz 1088 pueden implementarse mediante hardware dedicado (por ejemplo, circuitos), mediante un procesador que ejecuta instrucciones para realizar una o más tareas, o una combinación de los mismos. Como ejemplo, la memoria 1032 o una memoria 1085 puede ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una MRAM por transferencia de par de espín (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), unos registros, un disco duro, un disco extraíble o una memoria de disco óptico (por ejemplo, una memoria de solo lectura de disco compacto (CD-ROM), un disco de vídeo digital (DVD), disco blu-ray, etc.). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 1060) que, cuando se ejecutan por un ordenador (por ejemplo, el primer procesador 1010 y/o el segundo procesador 1080), causan que el ordenador realice diversas operaciones descritas en el presente documento.
[0086] La FIG. 10 también muestra un controlador de pantalla 1026 que está acoplado al primer procesador 1010 y a una pantalla 1028. Un codificador/decodificador (CÓDEC) 1034 puede acoplarse al primer procesador 1010 y al segundo procesador 1080, como se muestra. Un altavoz 1036 y un micrófono 1038 pueden acoplarse al CÓDEC 1034. En un modo de realización particular, el CÓDEC 1034 es un componente de extremo frontal de procesamiento de audio analógico. Por ejemplo, el CÓDEC 1034 puede realizar un ajuste de ganancia analógico y un establecimiento de parámetros para señales recibidas desde el micrófono 1038 y señales transmitidas al altavoz 1036. El CÓDEC 1034 también puede incluir conversores analógico-digital (A/D) y digital-analógico (D/A). En un ejemplo particular, el CÓDEC 1034 también incluye uno o más moduladores y filtros de procesamiento de señales. En modos de realización seleccionados, el CÓDEC 1034 incluye una memoria para almacenar en memoria intermedia los datos de entrada recibidos desde el micrófono 1038 y para almacenar en memoria intermedia los datos de salida que se proporcionarán al altavoz 1036.
[0087] La FIG. 10 también indica que un controlador inalámbrico 1040 puede acoplarse al primer procesador 1010 y a una antena 1042. En un modo de realización particular, el primer procesador 1010, el segundo procesador 1080, el controlador de pantalla 1026, la memoria 1032, el CÓDEC 1034 y el controlador inalámbrico 1040 están incluidos en un dispositivo de sistema en paquete o de sistema en chip (por ejemplo, un módem de estación móvil (MSM)) 1022. En un modo de realización particular, un dispositivo de entrada 1030, tal como una pantalla táctil y/o un teclado, y una fuente de alimentación 1044 están acoplados al dispositivo de sistema en chip 1022. Además, en un modo de realización particular, como se ilustra en la FIG. 10, la pantalla 1028, el dispositivo de entrada 1030, el altavoz 1036, el micrófono 1038, la antena 1042 y la fuente de alimentación 1044 son externos al dispositivo de sistema en chip 1022. Sin embargo, cada uno de la pantalla 1028, del dispositivo de entrada 1030, del altavoz 1036, del micrófono 1038, de la antena 1042 y de la fuente de alimentación 1044 se pueden acoplar a un componente del dispositivo de sistema en chip 1022, tal como una interfaz o un controlador.
[0088] Junto con los modos de realización descritos, se divulga un aparato que incluye medios para recibir una segunda trama de audio, donde la segunda trama de audio sigue a una primera trama de audio en una señal de audio. La segunda trama de audio incluye un primer número de bits asignados a la información de codificación primaria asociada con la segunda trama de audio, un segundo número de bits asignados a la información de codificación redundante asociada con la primera trama de audio, y un indicador de un tipo de trama de la primera trama de audio. Por ejemplo, los medios para recibir pueden incluir el receptor 128 de la FIG. 1, la antena 1042 de la FIG. 10, el controlador inalámbrico 1040 de la FIG. 10, uno o más dispositivos configurados para recibir una trama de audio, o cualquier combinación de las mismas. El aparato también puede incluir medios para determinar, basándose en el indicador, el segundo número de bits de la segunda trama de audio que se asignan a la información de codificación redundante asociada con la primera trama de audio. Por ejemplo, los medios para determinar pueden incluir el procesador 122 de la FIG. 1, el decodificador 126 de la FIG. 1, el decodificador 600 de la FIG. 6, el primer procesador 1010 de la FIG. 10, el segundo procesador 1080 de la FIG. 10, el decodificador de voz 1088 de la FIG. 10, uno o más dispositivos configurados para determinar un número de bits asignados a la información de codificación redundante, o cualquier combinación de los mismos. El aparato también puede incluir medios para decodificar la primera trama de audio basándose en la información de codificación redundante. Por ejemplo, los medios para decodificar pueden incluir el decodificador 126 de la FIG. 1, el decodificador 600 de la FIG. 6, el primer procesador 1010 de la FIG. 10, el segundo procesador 1080 de la FIG. 10, el decodificador de voz 1088 de la FIG. 10, uno o más dispositivos configurados para decodificar una trama de audio basándose en la información de codificación redundante, o cualquier combinación de los mismos.
[0089] Se divulga un segundo aparato que incluye medios para codificar una primera trama de audio y una segunda trama de audio de una señal de audio, donde la segunda trama de audio sigue a una primera trama de audio en una señal de audio. Por ejemplo, los medios para codificar pueden incluir el codificador 116 de la FIG. 1, el codificador 500 de la FIG. 5, el primer procesador 1010 de la FIG. 10, el segundo procesador 1080 de la FIG.
10, el codificador de voz 1087 de la FIG. 10, uno o más dispositivos configurados para codificar una trama de audio, o cualquier combinación de los mismos. El aparato también puede incluir medios para determinar, basándose en un tipo de trama de la primera trama de audio, un primer número de bits de la segunda trama de audio para asignar a la información de codificación primaria asociada con la segunda trama de audio y un segundo número de bits de la segunda trama de audio para asignar a la información de codificación redundante asociada con la primera trama de audio. Por ejemplo, los medios para determinar pueden incluir el procesador 112 de la FIG. 1, el codificador 116 de la FIG. 1, el codificador 500 de la FIG. 1, el primer procesador 1010 de la FIG. 10, el segundo procesador 1080 de la FIG. 10, el codificador de voz 1087 de la FIG. 10, uno o más dispositivos configurados para determinar los bits asignados a la información de codificación primaria y a la información de codificación redundante, o cualquier combinación de los mismos. El aparato también puede incluir medios para transmitir la primera trama de audio y la segunda trama de audio a un dispositivo de destino. La segunda trama de audio incluye el primer número de bits de información de codificación primaria, el segundo número de bits de información de codificación redundante y un indicador del tipo de trama de la primera trama de audio. Por ejemplo, los medios para transmitir pueden incluir el transmisor 118 de la FIG. 1, la antena 1042 de la FIG. 10, el controlador inalámbrico 1040 de la FIG. 10, uno o más dispositivos configurados para transmitir una trama de audio, o cualquier combinación de las mismas.
[0090] Los expertos en la técnica apreciarían además que los diversos bloques lógicos, configuraciones, módulos, circuitos y etapas de algoritmo ilustrativos descritos en relación con los modos de realización divulgados en el presente documento pueden implementarse como hardware electrónico, software informático ejecutado por un dispositivo de procesamiento, tal como un procesador de hardware, o combinaciones de los mismos. Se han descrito anteriormente diversos componentes, bloques, configuraciones, módulos, circuitos y etapas ilustrativos, en general en términos de su funcionalidad. Que dicha funcionalidad se implemente como hardware o software ejecutable depende de la solicitud en particular y de las restricciones de diseño impuestas al sistema global. Los expertos en la técnica pueden implementar la funcionalidad descrita de distintas formas para cada solicitud en particular, pero no se debe interpretar que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0091] Las etapas de un procedimiento o algoritmo descrito en relación con los modos de realización divulgados en el presente documento se pueden realizar directamente en el hardware, en un módulo de software ejecutado por un procesador o en una combinación de ambos. Un módulo de software puede residir en un dispositivo de memoria (por ejemplo, un dispositivo de almacenamiento legible por ordenador o legible por procesador), tal como RAM, MRAM, St T-MRAM, memoria flash, ROM, PROM, Ep Ro M, EEPROM, registros, disco duro, un disco extraíble o una memoria de disco óptico. Un dispositivo de memoria ejemplar está acoplado al procesador de modo que el procesador puede leer información de, y escribir información en, el dispositivo de memoria. De forma alternativa, el dispositivo de memoria puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en un dispositivo informático o en un terminal de usuario. De forma alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o en un terminal de usuario. Un dispositivo legible por ordenador o legible por procesador no es una señal.
[0092] La descripción anterior de los modos de realización divulgados se proporciona para permitir a un experto en la técnica crear o usar los modos de realización divulgados. Diversas modificaciones de estos modos de realización resultarán fácilmente evidentes para los expertos en la técnica, y los principios definidos en el presente documento se pueden aplicar a otros modos de realización sin apartarse del alcance de la divulgación. Por tanto, la presente divulgación no pretende limitarse a los modos de realización mostrados en el presente documento, sino que debe reconocerse el alcance más amplio posible consecuente con los principios y rasgos característicos novedosos como se define en las reivindicaciones siguientes.

Claims (13)

REIVINDICACIONES
1. Un procedimiento de codificación de una trama, comprendiendo el procedimiento:
codificar (902) una primera trama de audio (132) de una señal de audio en un codificador de un primer dispositivo informático, teniendo la primera trama de audio (132) un tipo de trama que clasifica la primera trama de audio (132) en una de una pluralidad de clases que incluyen una trama de voz sonora, una trama no sonora, una trama de transición de audio y una trama de modo mixto que incluye información del libro de códigos adaptativo e información de libro de códigos fijo;
transmitir (902) la primera trama de audio (132) desde el primer dispositivo informático a un segundo dispositivo informático;
determinar (904), basándose en cuál de la pluralidad de clases que el tipo de trama de la primera trama de audio (132) clasifica la primera trama de audio (132), un primer número de bits de una segunda trama de audio (134) para asignar a la información de codificación primaria asociada con la segunda trama de audio (134) y un segundo número de bits de la segunda trama de audio (134) para asignar a la información de codificación redundante asociada con la primera trama de audio (132), en el que la segunda trama de audio (134) sigue a la primera trama de audio (132) en la señal de audio;
codificar (906) la segunda trama de audio (134), en el que la segunda trama de audio (134) incluye el primer número de bits de información de codificación primaria, el segundo número de bits de información de codificación redundante y un indicador (215) del tipo de trama de la primera trama de audio; y
transmitir (916) la segunda trama de audio (134) desde el primer dispositivo informático al segundo dispositivo informático.
2. El procedimiento de la reivindicación 1, en el que el indicador (215) del tipo de trama de la primera trama de audio (132) está incluido en los últimos tres bits de la segunda trama de audio (134).
3. El procedimiento de la reivindicación 1 o de la reivindicación 2, en el que la información de codificación redundante incluye un indicador de forma de ganancia (211) asociado con una forma de ganancia de banda alta de la primera trama de audio (132), y el procedimiento comprende además establecer (908) un valor del indicador de forma de ganancia (211) basándose en uno o más de:
i) una correlación entre una parte de banda alta de la primera trama de audio (132) y una parte de banda alta de la segunda trama de audio (134); y
ii) una distancia entre un primer índice de libro de códigos asociado con la forma de ganancia de banda alta de la primera trama de audio (132) y un segundo índice de libro de códigos asociado con una forma de ganancia de banda alta de la segunda trama de audio (134).
4. El procedimiento de cualquier reivindicación precedente, en el que la información de codificación redundante incluye un indicador de trama de ganancia de banda alta (212) asociado con una trama de ganancia de banda alta de la primera trama de audio.
5. El procedimiento de la reivindicación 4, que comprende además al menos uno de:
i) cuando la primera trama de audio es una trama no sonora, establecer (910) el indicador de trama de ganancia de banda alta (212) en un índice de libro de códigos; y
ii) cuando la primera trama de audio no es una trama no sonora, establecer el indicador de trama de ganancia de banda alta (212) en un valor que indique si la trama de ganancia de banda alta de la primera trama de audio (132) corresponde a un índice de libro de códigos en una primera parte de un libro de códigos correspondiente a altos índices de libro de códigos o en una segunda parte del libro de códigos correspondiente a bajos índices de libro de códigos.
6. El procedimiento de cualquier reivindicación precedente, en el que la información de codificación redundante incluye un indicador de par espectral de línea de banda alta - LSP -(213) asociado con LSP de banda alta de la primera trama de audio (132), comprendiendo el procedimiento además establecer (912) un valor del indicador LSP de banda alta basándose en uno o más de:
una distorsión espectral entre la primera trama de audio (132) y la segunda trama de audio (134); y una distancia entre un primer índice de libro de códigos asociado con los LSP de banda alta de la primera trama de audio (132) y un segundo índice de libro de códigos asociado con LSP de banda alta de la segunda trama de audio (134).
7. El procedimiento de cualquiera de las reivindicaciones 1 a 5, en el que la información de codificación redundante incluye un indicador de par espectral de línea de banda alta - LSP - (213) asociado con LSP de banda alta de la primera trama de audio (132), comprendiendo el procedimiento además:
determinar (914) una diferencia entre los LSP de banda alta de la primera trama de audio (132) y los LSP de banda alta de la segunda trama de audio (134); y
establecer (914) un valor del indicador LSP de banda alta basándose en la diferencia.
8. Un aparato, que comprende:
un codificador configurado para:
codificar (902) una primera trama de audio (132) de una señal de audio, teniendo la primera trama de audio (132) un tipo de trama que clasifica la primera trama de audio (132) en una de una pluralidad de clases que incluyen una trama de voz sonora, una trama no sonora, una trama de transición de audio y una trama de modo mixto que incluye tanto información de libro de códigos adaptativo como información de libro de códigos fijo;
determinar (904), basándose en la clase particular de la pluralidad de clases, en las cuales el tipo de trama de la primera trama de audio (132) clasifica la primera trama de audio (132), un primer número de bits de una segunda trama de audio (134) para asignar a la información de codificación primaria asociada con la segunda trama de audio (134) y un segundo número de bits de la segunda trama de audio (134) para asignar a la información de codificación redundante asociada con la primera trama de audio (132), en el que la segunda trama de audio (134) sigue a la primera trama de audio (132) en la señal de audio; y
codificar (906) la segunda trama de audio (134), en el que la segunda trama de audio (134) incluye el primer número de bits de información de codificación primaria, el segundo número de bits de información de codificación redundante y un indicador (215) del tipo de trama de la primera trama de audio; y
un transmisor configurado para transmitir (902, 916) la primera trama de audio (132) y la segunda trama de audio (134) a un dispositivo de destino.
9. El aparato de la reivindicación 8, en el que:
el codificador comprende dos rutas de codificación que funcionan en paralelo, incluyendo las dos rutas de codificación una ruta de codificación primaria (510) y una ruta de codificación redundante (520), y
el primer número de bits de información de codificación primaria se genera por la ruta de codificación primaria (510) , y
el segundo número de bits de información de codificación redundante se genera por la ruta de codificación redundante (520).
10. El aparato de la reivindicación 8 o la reivindicación 9, en el que el indicador (215) del tipo de trama de la primera trama de audio (132) está incluido en los últimos tres bits de la segunda trama de audio (134).
11. El aparato de cualquiera de las reivindicaciones 8 a 10, en el que la información de codificación redundante incluye un indicador de forma de ganancia (211) asociado con una forma de ganancia de banda alta de la primera trama de audio (132), y el aparato está configurado además para establecer (908) un valor del indicador de forma de ganancia (211) basándose en uno o más de:
i) una correlación entre una parte de banda alta de la primera trama de audio (132) y una parte de banda alta de la segunda trama de audio (134), y
ii) una distancia entre un primer índice de libro de códigos asociado con la forma de ganancia de banda alta de la primera trama de audio (132) y un segundo índice de libro de códigos asociado con una forma de ganancia de banda alta de la segunda trama de audio (134).
12. El aparato de cualquiera de las reivindicaciones 8 a 13, en el que la información de codificación redundante incluye un indicador de trama de ganancia de banda alta (212) asociado con una trama de ganancia de banda alta de la primera trama de audio (132).
13. Un medio de almacenamiento legible por ordenador que tiene instrucciones almacenadas en el mismo que, cuando se ejecutan por un ordenador, causan que el ordenador lleve a cabo un procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 7.
ES14789469T 2013-10-11 2014-10-09 Sistemas y procedimientos de comunicación de información de trama redundante Active ES2805849T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361890092P 2013-10-11 2013-10-11
US14/509,817 US10614816B2 (en) 2013-10-11 2014-10-08 Systems and methods of communicating redundant frame information
PCT/US2014/059931 WO2015054512A1 (en) 2013-10-11 2014-10-09 Systems and methods of communicating redundant frame information

Publications (1)

Publication Number Publication Date
ES2805849T3 true ES2805849T3 (es) 2021-02-15

Family

ID=52810405

Family Applications (2)

Application Number Title Priority Date Filing Date
ES14789469T Active ES2805849T3 (es) 2013-10-11 2014-10-09 Sistemas y procedimientos de comunicación de información de trama redundante
ES20168837T Active ES2967136T3 (es) 2013-10-11 2014-10-09 Sistemas y procedimientos de comunicación de información de trama redundante

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES20168837T Active ES2967136T3 (es) 2013-10-11 2014-10-09 Sistemas y procedimientos de comunicación de información de trama redundante

Country Status (21)

Country Link
US (2) US10614816B2 (es)
EP (2) EP3700111B1 (es)
JP (2) JP6553025B2 (es)
KR (1) KR102229487B1 (es)
CN (1) CN105594148B (es)
AU (1) AU2014331824B2 (es)
BR (1) BR112016007940B1 (es)
CA (1) CA2925582C (es)
CL (1) CL2016000833A1 (es)
DK (1) DK3055939T3 (es)
ES (2) ES2805849T3 (es)
HK (1) HK1219582A1 (es)
HU (1) HUE049089T2 (es)
MX (1) MX365608B (es)
MY (1) MY179633A (es)
PH (1) PH12016500652A1 (es)
RU (1) RU2673847C2 (es)
SA (1) SA516370874B1 (es)
SG (1) SG11201601782VA (es)
WO (1) WO2015054512A1 (es)
ZA (1) ZA201602114B (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2527365B (en) * 2014-06-20 2018-09-12 Starleaf Ltd A telecommunication end-point device data transmission controller
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
US9948578B2 (en) * 2015-04-14 2018-04-17 Qualcomm Incorporated De-jitter buffer update
WO2017000117A1 (zh) 2015-06-29 2017-01-05 华为技术有限公司 数据处理的方法及接收设备
US10504525B2 (en) * 2015-10-10 2019-12-10 Dolby Laboratories Licensing Corporation Adaptive forward error correction redundant payload generation
US10049681B2 (en) * 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
US10049682B2 (en) * 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
JP6409812B2 (ja) * 2016-04-01 2018-10-24 横河電機株式会社 冗長化装置、冗長化システム、及び冗長化方法
CN108011686B (zh) * 2016-10-31 2020-07-14 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
CN106710606B (zh) * 2016-12-29 2019-11-08 百度在线网络技术(北京)有限公司 基于人工智能的语音处理方法及装置
US20190051286A1 (en) * 2017-08-14 2019-02-14 Microsoft Technology Licensing, Llc Normalization of high band signals in network telephony communications
CN111133510B (zh) * 2017-09-20 2023-08-22 沃伊斯亚吉公司 用于在celp编解码器中高效地分配比特预算的方法和设备
US10475456B1 (en) * 2018-06-04 2019-11-12 Qualcomm Incorporated Smart coding mode switching in audio rate adaptation
EP4035288A1 (en) 2019-09-25 2022-08-03 Mixhalo Corp. Packet payload mapping for robust transmission of data
US11811686B2 (en) * 2020-12-08 2023-11-07 Mediatek Inc. Packet reordering method of sound bar
CN112735446B (zh) * 2020-12-30 2022-05-17 北京百瑞互联技术有限公司 在lc3音频码流中添加额外信息的方法、系统及介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141638A (en) 1998-05-28 2000-10-31 Motorola, Inc. Method and apparatus for coding an information signal
US7117146B2 (en) 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
GB2342829B (en) 1998-10-13 2003-03-26 Nokia Mobile Phones Ltd Postfilter
CA2252170A1 (en) 1998-10-27 2000-04-27 Bruno Bessette A method and device for high quality coding of wideband speech and audio signals
US6449313B1 (en) 1999-04-28 2002-09-10 Lucent Technologies Inc. Shaped fixed codebook search for celp speech coding
US6704701B1 (en) 1999-07-02 2004-03-09 Mindspeed Technologies, Inc. Bi-directional pitch enhancement in speech coding systems
US6801499B1 (en) 1999-08-10 2004-10-05 Texas Instruments Incorporated Diversity schemes for packet communications
AU2001241475A1 (en) 2000-02-11 2001-08-20 Comsat Corporation Background noise reduction in sinusoidal based speech coding systems
US6757654B1 (en) 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
US6760698B2 (en) 2000-09-15 2004-07-06 Mindspeed Technologies Inc. System for coding speech information using an adaptive codebook with enhanced variable resolution scheme
AU2001287970A1 (en) 2000-09-15 2002-03-26 Conexant Systems, Inc. Short-term enhancement in celp speech coding
US6804218B2 (en) * 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
US6766289B2 (en) 2001-06-04 2004-07-20 Qualcomm Incorporated Fast code-vector searching
JP3457293B2 (ja) 2001-06-06 2003-10-14 三菱電機株式会社 雑音抑圧装置及び雑音抑圧方法
US6993207B1 (en) 2001-10-05 2006-01-31 Micron Technology, Inc. Method and apparatus for electronic image processing
US7146313B2 (en) 2001-12-14 2006-12-05 Microsoft Corporation Techniques for measurement of perceptual audio quality
US7047188B2 (en) 2002-11-08 2006-05-16 Motorola, Inc. Method and apparatus for improvement coding of the subframe gain in a speech coding system
US20070013873A9 (en) * 2004-04-29 2007-01-18 Jacobson Joseph M Low cost portable computing device
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
US7788091B2 (en) 2004-09-22 2010-08-31 Texas Instruments Incorporated Methods, devices and systems for improved pitch enhancement and autocorrelation in voice codecs
JP2006197391A (ja) 2005-01-14 2006-07-27 Toshiba Corp 音声ミクシング処理装置及び音声ミクシング処理方法
KR100612889B1 (ko) * 2005-02-05 2006-08-14 삼성전자주식회사 선스펙트럼 쌍 파라미터 복원 방법 및 장치와 그 음성복호화 장치
US8280730B2 (en) 2005-05-25 2012-10-02 Motorola Mobility Llc Method and apparatus of increasing speech intelligibility in noisy environments
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
DE102006022346B4 (de) 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
US8682652B2 (en) 2006-06-30 2014-03-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
PT2102619T (pt) * 2006-10-24 2017-05-25 Voiceage Corp Método e dispositivo para codificação de tramas de transição em sinais de voz
US9009032B2 (en) 2006-11-09 2015-04-14 Broadcom Corporation Method and system for performing sample rate conversion
US20100332223A1 (en) 2006-12-13 2010-12-30 Panasonic Corporation Audio decoding device and power adjusting method
US20080208575A1 (en) 2007-02-27 2008-08-28 Nokia Corporation Split-band encoding and decoding of an audio signal
EP2381580A1 (en) 2007-04-13 2011-10-26 Global IP Solutions (GIPS) AB Adaptive, scalable packet loss recovery
US8352252B2 (en) 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
US8428938B2 (en) * 2009-06-04 2013-04-23 Qualcomm Incorporated Systems and methods for reconstructing an erased speech frame
US8484020B2 (en) 2009-10-23 2013-07-09 Qualcomm Incorporated Determining an upperband signal from a narrowband signal
JP5812998B2 (ja) 2009-11-19 2015-11-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) オーディオコーデックにおけるラウドネスおよびシャープネスの補償のための方法および装置
US8600737B2 (en) 2010-06-01 2013-12-03 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for wideband speech coding
US8738385B2 (en) 2010-10-20 2014-05-27 Broadcom Corporation Pitch-based pre-filtering and post-filtering for compression of audio signals
US9026434B2 (en) * 2011-04-11 2015-05-05 Samsung Electronic Co., Ltd. Frame erasure concealment for a multi rate speech and audio codec
WO2012158157A1 (en) 2011-05-16 2012-11-22 Google Inc. Method for super-wideband noise supression
CN102802112B (zh) 2011-05-24 2014-08-13 鸿富锦精密工业(深圳)有限公司 具有音频文件格式转换功能的电子装置
US9047863B2 (en) 2012-01-12 2015-06-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US9275644B2 (en) 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding

Also Published As

Publication number Publication date
WO2015054512A1 (en) 2015-04-16
AU2014331824B2 (en) 2018-12-06
EP3700111C0 (en) 2023-11-22
MX365608B (es) 2019-06-07
CN105594148B (zh) 2019-07-05
SA516370874B1 (ar) 2020-09-21
RU2016116793A (ru) 2017-11-16
CN105594148A (zh) 2016-05-18
EP3055939A1 (en) 2016-08-17
US10614816B2 (en) 2020-04-07
ES2967136T3 (es) 2024-04-26
PH12016500652A1 (en) 2016-05-30
ZA201602114B (en) 2020-09-30
JP2019215545A (ja) 2019-12-19
JP6553025B2 (ja) 2019-07-31
KR20160072145A (ko) 2016-06-22
JP2016539536A (ja) 2016-12-15
BR112016007940A2 (es) 2017-08-01
CA2925582C (en) 2022-01-04
AU2014331824A1 (en) 2016-03-31
EP3700111A1 (en) 2020-08-26
CA2925582A1 (en) 2015-04-16
DK3055939T3 (da) 2020-05-18
KR102229487B1 (ko) 2021-03-17
MX2016004529A (es) 2016-07-22
EP3055939B1 (en) 2020-04-15
MY179633A (en) 2020-11-11
JP6768886B2 (ja) 2020-10-14
EP3700111B1 (en) 2023-11-22
NZ717780A (en) 2021-05-28
HK1219582A1 (zh) 2017-04-07
US20200194010A1 (en) 2020-06-18
US20150106106A1 (en) 2015-04-16
HUE049089T2 (hu) 2020-09-28
RU2673847C2 (ru) 2018-11-30
SG11201601782VA (en) 2016-04-28
RU2016116793A3 (es) 2018-06-20
BR112016007940B1 (pt) 2023-03-07
CL2016000833A1 (es) 2016-11-25

Similar Documents

Publication Publication Date Title
ES2805849T3 (es) Sistemas y procedimientos de comunicación de información de trama redundante
KR101290425B1 (ko) 소거된 스피치 프레임을 복원하는 시스템 및 방법
ES2839509T3 (es) Codificador, decodificador y método para codificar y decodificar contenido de audio que utiliza parámetros para potenciar una ocultación
ES2836220T3 (es) Sistema y procedimiento de recuperación de errores de transmisión de paquetes basada en redundancia
DK2803065T3 (en) SYSTEM, PROCEDURES, DEVICE, AND COMPUTER READABLE MEDIA FOR BITAL LOCATION FOR REDUNDANT AUDIO DATA
ES2865099T3 (es) Procedimiento y aparato de ocultación de errores de trama y procedimiento y aparato de decodificación que usa los mismos
ES2844231T3 (es) Modelado de señales de banda alta
ES2775615T3 (es) Paquete llevando información de señalización indicativa de si decodificar una codificación primaria o una codificación redundante del paquete
KR101548846B1 (ko) 워터마킹된 신호의 적응적 인코딩 및 디코딩을 위한 디바이스
ES2770926T3 (es) Información de señalización de soporte de paquete indicativa de si decodificar una codificación primaria o una codificación redundante del paquete
ES2807258T3 (es) Escalado para circuitería de forma de ganancia
ES2774334T3 (es) Estimación de forma de ganancia para mejorar el rastreo de características temporales de banda alta
ES2756023T3 (es) Método y dispositivo para decodificar un flujo de bits de voz y audio
ES2688037T3 (es) Aparato y procedimientos de conmutación de tecnologías de codificación en un dispositivo
NZ717780B2 (en) Systems and methods of communicating redundant frame information
BR112017001088B1 (pt) Dispositivo e método de recuperação de erro de transmissão de pacote com base em redundância