ES2667823T3 - Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad - Google Patents

Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad Download PDF

Info

Publication number
ES2667823T3
ES2667823T3 ES14733122.7T ES14733122T ES2667823T3 ES 2667823 T3 ES2667823 T3 ES 2667823T3 ES 14733122 T ES14733122 T ES 14733122T ES 2667823 T3 ES2667823 T3 ES 2667823T3
Authority
ES
Spain
Prior art keywords
time
time scale
quality
variability
samples
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
ES14733122.7T
Other languages
English (en)
Inventor
Stefan REUSCHL
Stefan DÖHLA
Jérémie Lecomte
Manuel Jander
Nikolaus FÄRBER
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2667823T3 publication Critical patent/ES2667823T3/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
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • 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
    • 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
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Data Mining & Analysis (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Escalators And Moving Walkways (AREA)
  • Electric Clocks (AREA)
  • Studio Circuits (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

Un escalador de tiempo (200; 340; 450; 866; 900; 1000) para la provisión de una versión de escala de tiempo (212; 312; 448; 956) de una señal de audio de entrada (210; 332; 442; 910), en el que el escalador de tiempo está configurado para computar o estimar (950; 1060) una calidad de una versión de escala de tiempo de la señal de audio de entrada que se puede obtener por una escala de tiempo de la señal de audio de entrada, y en el que el escalador de tiempo está configurado para llevar a cabo (954; 1068) la escala de tiempo de la señal de audio de entrada en dependencia de la computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que se puede obtener por la escala de tiempo; en el que el escalador de tiempo está configurado para comparar (1064) un valor de calidad (q), que se basa en una computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que se puede obtener por la escala de tiempo, con un valor de umbral variable (qmin), para decidir si una escala de tiempo se debería llevar a cabo o no, caracterizado porque el escalador de tiempo está configurado para incrementar el valor de umbral variable (qmin), para incrementar de ese modo un requisito de calidad, en respuesta al hecho de que una escala de tiempo se ha aplicado a uno o más bloques de muestras anteriores, de tal forma que se garantiza que la escala de tiempo de los bloques de muestras posteriores solo se modifica si se puede alcanzar un nivel de calidad comparativamente alto, más alto que un nivel de calidad normal.

Description

DESCRIPCIÓN
Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad 5
1. Campo técnico
[0001] Las realizaciones según la invención se refieren a un escalador de tiempo para el suministro de una versión de escala de tiempo de una señal de audio de entrada.
10
[0002] Realizaciones adicionales según la invención se refieren a un decodificador de audio para la provisión de un contenido de audio decodificado sobre la base de un contenido de audio de entrada.
[0003] Realizaciones adicionales según la invención se refieren a un procedimiento para el suministro de una 15 versión de escala de tiempo de una señal de audio de entrada.
[0004] Realizaciones adicionales según la invención se refieren a un programa informático para la realización de dicho procedimiento.
20 2. Antecedentes de la invención
[0005] El almacenamiento y la transmisión de contenido de audio (que incluye contenido de audio general, como contenido de música, contenido de discurso y contenido mixto general de audio/discurso) son un importante campo técnico. Un desafío particular es causado por el hecho de que un oyente espera una reproducción continua
25 de contenidos de audio, sin ninguna interrupción y, además, sin ningún artefacto audible causado por el almacenamiento y/o la transmisión del contenido de audio. Al mismo tiempo, se desea mantener los requisitos con respecto al medio de almacenamiento y el medio de transmisión de datos tan bajos como sea posible, a fin de mantener los costes dentro de un límite aceptable.
30 [0006] Surgen problemas, por ejemplo, si una lectura de un medio de almacenamiento es temporalmente
interrumpida o retrasada, o si una transmisión entre una fuente de datos y un dispositivo receptor de datos es temporalmente interrumpida o retrasada. Por ejemplo, una transmisión a través de Internet no es altamente fiable, ya que pueden perderse los paquetes TCP/IP, y debido a que el retraso de la transmisión sobre Internet puede variar, por ejemplo, según la diversa situación de carga de los nodos de Internet. Sin embargo, se requiere, a fin de obtener 35 una experiencia de usuario satisfactoria, que haya una continua reproducción de un contenido de audio, sin “espacios” audibles o artefactos audibles. Además, es deseable evitar retrasos sustanciales que serían causados por un búfer de una gran cantidad de información de audio.
En vista de la descripción anterior, se reconoce que hay una necesidad de un concepto que provea una buena calidad de audio, aun en el caso de una provisión discontinua de una información de audio.
40 [0007] En este contexto, la publicación de solicitud de patente de Estados Unidos US 2007/0260462 A1
describe la realización de la expansión de tiempo condicional o compresión de tiempo en uno o más marcos de señal leídos desde un búfer de variabilidad. Una calidad de señal esperada después del cambio de escala de tiempo se compara a un umbral de calidad con el fin de decidir si llevar a cabo la operación de cambio de escala. Este umbral varía dependiendo del estado de llenado del búfer de variabilidad.
45
3. Resumen de la invención
[0008] Una realización según la invención crea un escalador de tiempo para el suministro de una versión de
escala de tiempo de una señal de audio de entrada. El escalador de tiempo está configurado para computar o 50 estimar una calidad de una versión de escala de tiempo de la señal de audio de entrada que se puede obtener por un cambio de escala de tiempo de la señal de audio de entrada. Además, el escalador de tiempo está configurado para llevar a cabo la escala de tiempo de la señal de audio de entrada en dependencia de la computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que se puede obtener por el cambio de escala de tiempo. Esta realización según la invención se basa en la idea de que existen situaciones en 55 las que un cambio de escala de tiempo de una señal de audio de entrada resultaría en distorsiones audibles sustanciales. Además, la realización según la invención se basa en el hallazgo de que un mecanismo de control de calidad ayuda a evitar tales distorsiones audibles mediante la evaluación de si un cambio de escala de tiempo deseado proporcionaría realmente una calidad suficiente de la versión de escala de tiempo de la señal de audio de entrada. Por consiguiente, el cambio de escala de tiempo no solo está controlado por un estiramiento de tiempo o
contracción de tiempo deseado, sino también por una evaluación de la calidad que se puede obtener. Por consiguiente, es posible, por ejemplo, posponer un cambio de escala de tiempo si el cambio de escala de tiempo resultaría en una baja calidad inaceptable de la versión de escala de tiempo de la señal de audio de entrada. No obstante, la estimación computacional de la calidad (esperada) de la versión de escala de tiempo de la señal de 5 audio de entrada se puede utilizar también para ajustar cualquier otro parámetro del cambio de escala de tiempo. Para concluir, el mecanismo de control de calidad utilizado en la realización mencionada anteriormente ayuda a reducir o evitar artefactos audibles en un sistema en el que se aplique un cambio de escala de tiempo. Además, en esta realización, el escalador de tiempo está configurado para comparar un valor de calidad, que está basado en una computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que 10 se puede obtener por el cambio de escala de tiempo, con un valor de umbral variable, para decidir si un cambio de escala de tiempo se debería llevar a cabo o no. El uso de un valor de umbral variable permite adaptar el umbral para decidir si un cambio de escala se debería llevar a cabo o no en la situación. Por consiguiente, los requisitos de calidad para llevar a cabo un cambio de escala de tiempo se pueden incrementar en algunas situaciones y se pueden reducir en otras situaciones, por ejemplo, dependiendo de las operaciones de cambio de escala de tiempo 15 anteriores o cualquier otra característica de la señal. Por consiguiente, el significado de la decisión de si llevar a cabo el cambio de escala de tiempo o no se puede incrementar. Además, en esta realización, el escalador de tiempo está configurado para incrementar el valor de umbral variable, para incrementar de este modo un requisito de calidad, en respuesta al hecho de que un cambio de escala y tiempo se ha aplicado a uno o más bloques de muestras anteriores. Por consiguiente, se puede asegurar que bloques de muestras posteriores se escalan en el 20 tiempo solo si un nivel de calidad comparativamente alto (más alto que un nivel de calidad “normal”) se puede alcanzar. En contraste, un cambio de escala de tiempo de una secuencia de bloques de muestras posteriores se evita si el cambio de escala de tiempo no cumple los requisitos de calidad comparativamente altos. Esto es apropiado, dado que una aplicación de un cambio de escala de tiempo a una pluralidad de bloques de muestras posteriores resultaría de forma típica en artefactos a menos que el cambio de escala de tiempo cumpla los requisitos 25 de calidad comparativamente altos (que son típicamente más altos que los requisitos de calidad “normales” aplicables si solo se debe modificar la escala de tiempo de un único bloque de muestras, en lugar de una secuencia contigua de bloques de muestras).
[0009] Una realización según la invención crea un decodificador de audio para la provisión de un contenido
30 de audio decodificado sobre la base de un contenido de audio de entrada. El decodificador de audio comprende un búfer de variabilidad configurado para el búfer de una pluralidad de tramas de audio que representan bloques de muestras de audio. El decodificador de audio comprende también un núcleo de decodificador configurado para proporcionar bloques de muestras de audio sobre la base de tramas de audio recibidas del búfer de variabilidad. Además, el decodificador de audio comprende un escalador de tiempo sobre la base de la muestra, donde el 35 escalador de tiempo sobre la base de la muestra está configurado para proporcionar bloques de muestras de audio con escala de tiempo sobre la base de muestras de audio proporcionadas por el núcleo de decodificador. Este decodificador de audio se basa en la idea de que un escalador de tiempo, que está configurado para llevar a cabo el cambio de escala de tiempo de la señal de audio de entrada en dependencia de la computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que se puede obtener por el cambio de 40 escala de tiempo está bien adaptado para el uso en un decodificador de audio que comprende un búfer de variabilidad y un núcleo decodificador. La presencia de un búfer de variabilidad permite, por ejemplo, posponer una operación de cambio de escala de tiempo si la computación o estimación de la calidad (esperada) de la versión de escala de tiempo de la señal de audio de entrada se puede obtener por el cambio de escala de tiempo indica que se obtendría una mala calidad. De este modo, el escalador de tiempo basado en muestra, que incluye un mecanismo 45 de control de calidad, permite evitar, o al menos reducir, artefactos audibles en el decodificador de audio que comprenden el búfer de variabilidad y el núcleo de decodificador. En una realización preferida, el decodificador de audio comprende además un control de búfer de variabilidad. El control de búfer de variabilidad está configurado para proporcionar una información de control al escalador de tiempo basado en muestra, en el que la información de control indica si un cambio de escala de tiempo basado en muestra se debería llevar a cabo o no. Alternativamente o 50 además, la información de control puede indicar una cantidad deseada de cambio de escala de tiempo. Por consiguiente, el escalador de tiempo basado en muestra se puede controlar en dependencia de las solicitudes del decodificador de audio. Por ejemplo, el control de búfer de variabilidad puede llevar a cabo un control adaptativo de señal y puede seleccionar si un cambio de escala de tiempo basado en trama o un cambio de escala de tiempo basado en muestra se debería llevar a cabo de una manera adaptativa de señal. Por consiguiente, existe un grado 55 adicional de flexibilidad. No obstante, el mecanismo de control de calidad de la muestra basado en el escalador de tiempo puede, por ejemplo, anular la información de control proporcionada por el control de búfer de variabilidad, de tal forma que un cambio de escala de tiempo basado en muestra se evite (o inhabilite) incluso en un caso en que la información de control proporcionada por el control de búfer de variabilidad indique que un cambio de escala de tiempo basado en muestra se debería llevar a cabo. De este modo, el escalador de tiempo basado en muestra
"inteligente" puede anular el control de búfer de variabilidad, porque el escalador de tiempo basado en muestra es capaz de obtener más información detallada sobre una calidad que se puede obtener por el cambio de escala de tiempo. Para concluir, el escalador de tiempo basado en muestra puede ser guiado por la información de control proporcionada por el control de búfer de variabilidad, pero puede “rechazar” sin embargo el cambio de escala de 5 tiempo si la calidad se ve sustancialmente comprometida por seguir la información de control proporcionada por el control de búfer de variabilidad, que ayuda a garantizar una calidad de audio satisfactoria. Otra realización según la invención crea un procedimiento para el suministro de una versión de escala de tiempo de una señal de audio de entrada, según la reivindicación 4. Incluso otra realización según la invención crea un programa informático para llevar a cabo dicho procedimiento cuando el programa informático se ejecuta en un equipo. Dicho programa
10 informático está basado en las mismas consideraciones que el procedimiento y también que el búfer de variabilidad descrito anteriormente.
4. Breve descripción de las Figuras
15 [0010] Las realizaciones según la invención se describirán posteriormente con referencia a las figuras
adjuntas, en las que:
Fig. 1 muestra un diagrama esquemático de bloques de un control de búfer de variabilidad;
Fig. 2 muestra un diagrama esquemático de bloques de un escalador de tiempo;
Fig. 3 muestra un diagrama esquemático de bloques de un decodificador de audio;
Fig. 4 muestra un diagrama esquemático de bloques de un decodificador de audio, en el que se muestra un
resumen sobre una gestión de búfer de variabilidad (JBM, conforme a sus siglas en inglés);
Fig. 5 muestra un pseudocódigo de programa de un algoritmo para el control de un nivel de búfer PCM;
Fig. 6 muestra un pseudocódigo de programa de un algoritmo para calcular un valor de retraso y un valor de
desvío, de un tiempo de recepción y un sello horario RTP de un paquete RTP;
Fig. 7 muestra un pseudocódigo de programa de un algoritmo para el cómputo de valores de retraso
objetivo;
Fig. 8 muestra un diagrama de flujo de una lógica de control de gestión de búfer de variabilidad;
Fig. 9 muestra una representación de diagrama esquemático de bloques de un WSOLA modificado con
control de calidad;
Figs. 10a y 10b muestran un cuadro de flujo de un procedimiento para el control de un escalador de
tiempo;
Fig. 11 muestra un pseudocódigo de programa de un algoritmo para el control de calidad para el cambio de
escala de tiempo;
Fig. 12 muestra una representación gráfica de un retraso objetivo y de un retraso de transmisión a redes de transmisión, que se obtiene por medio de una realización según la presente invención;
Fig. 13 muestra una representación gráfica de un cambio de escala de tiempo, que se realiza en la realización según la presente invención;
Fig. 14 muestra un cuadro de flujo de un procedimiento para el control de una provisión de un contenido de audio decodificado sobre la base de un contenido de audio de entrada; y
Fig. 15 muestra un cuadro de flujo de un procedimiento para la provisión de una versión con escala de tiempo de una señal de audio de entrada.
5. Descripción detallada de las realizaciones 5.1. Control de búfer de variabilidad según la Fig. 1
[0011] La Fig. 1 muestra un diagrama esquemático de bloques de un control de búfer de variabilidad. El control de búfer de variabilidad 100 para el control de una provisión de un contenido de audio decodificado sobre la base de un contenido de audio de entrada recibe una señal de audio 110 o una información acerca de una señal de audio (cuya información puede describir una o más características de la señal de audio, o de tramas u otras porciones de señal de la señal de audio).
[0012] Además, el control de búfer de variabilidad 100 proporciona una información de control (por ejemplo, una señal de control) 112 para una escala sobre la base de la trama. Por ejemplo, la información de control 112 puede comprender una señal de activación (para la escala de tiempo sobre la base de la trama) y/o una información
55 de control cuantitativa (para la escala de tiempo sobre la base de la trama).
[0013] Además, el control de búfer de variabilidad 100 proporciona una información de control (por ejemplo, una señal de control) 114 para la escala de tiempo sobre la base de la muestra. La información de control 114, por ejemplo, puede comprender una señal de activación y/o una información de control cuantitativa para la escala de
20
25
30
35
40
45
50
tiempo sobre la base de la muestra.
[0014] El control de búfer de variabilidad 110 está configurado para seleccionar una escala de tiempo sobre la base de la trama o una escala de tiempo sobre la base de la muestra de manera adaptativa a la señal. Por lo
5 tanto, el control de búfer de variabilidad puede estar configurado para evaluar la señal de audio o la información acerca de la señal de audio 110 y para proporcionar, sobre su base, la información de control 112 y/o la información de control 114. En consecuencia, la decisión del uso de una escala de tiempo sobre la base de la trama o una escala de tiempo sobre la base de la muestra puede adaptarse a las características de la señal de audio, por ejemplo, de tal manera que se usa la escala de tiempo sobre la base de la trama computacionalmente simple si se 10 espera (o se estima), sobre la base de la señal de audio y/o sobre la base de la información acerca de una o más características de la señal de audio, que la escala de tiempo sobre la base de la trama no logra la sustancial degradación del contenido de audio. En contraste, el control de búfer de variabilidad típicamente decide el uso de la escala de tiempo sobre la base de la muestra si se espera o se estima (por el control de búfer de variabilidad), sobre la base de una evaluación de las características de la señal de audio 110, que se requiere una escala de tiempo 15 sobre la base de la muestra a fin de evitar artefactos audibles cuando se realiza una escala de tiempo.
[0015] Además, debe observarse que el control de búfer de variabilidad 110 puede recibir naturalmente también información de control adicional, por ejemplo, información de control que indica si debe realizarse una escala de tiempo o no debe realizarse.
20
[0016] En lo que sigue, se describirán algunos detalles opcionales del control de búfer de variabilidad 100. Por ejemplo, el control de búfer de variabilidad 100 puede proporcionar la información de control 112, 114, de modo que las tramas de audio son excluidas o insertadas para el control de una profundidad de un búfer de variabilidad cuando debe usarse la escala de tiempo sobre la base de la trama, y de tal modo que se realiza una superposición y
25 adición de porciones de señal de audio con cambio de tiempo cuando se usa la escala de tiempo sobre la base de la muestra. En otras palabras, el control de búfer de variabilidad 100 puede cooperar, por ejemplo, con un búfer de variabilidad (también designado como búfer de eliminación de variabilidad, en algunos casos) y el control del búfer de variabilidad para realizar la escala de tiempo sobre la base de la trama. En este caso, la profundidad del búfer de variabilidad puede ser controlada por la exclusión de tramas del búfer de variabilidad, o por la inserción de tramas 30 (por ejemplo, tramas simples que comprenden una señalización de que una trama es “inactiva” y de que debe usarse una generación de ruido de confort) en el búfer de variabilidad. Además, el control de búfer de variabilidad 100 puede controlar un escalador de tiempo (por ejemplo, un escalador de tiempo sobre la base de la muestra) para realizar una superposición y adición, con cambio de tiempo, de porciones de señal de audio.
35 [0017] El controlador de búfer de variabilidad 100 puede estar configurado para cambiar entre una escala de
tiempo sobre la base de la trama, una escala de tiempo sobre la base de la muestra y una desactivación de la escala de tiempo de una manera adaptativa a la señal. En otras palabras, el control de búfer de variabilidad típicamente no solo distingue entre una escala de tiempo sobre la base de la trama y una escala de tiempo sobre la base de la muestra, sino que, además, selecciona un estado en el cual no hay escala de tiempo ninguna. Por ejemplo, este 40 último estado puede ser seleccionado si no hay necesidad de una escala de tiempo debido a que la profundidad del búfer de variabilidad se encuentra dentro de un rango aceptable. En otras palabras, la escala de tiempo sobre la base de la trama y la escala de tiempo sobre la base de la muestra típicamente no son los únicos dos modos de operación que pueden ser seleccionados por el control de búfer de variabilidad.
45 [0018] El control de búfer de variabilidad 100 puede considerar además una información acerca de una
profundidad de un búfer de variabilidad para decidir el modo de operación (por ejemplo, escala de tiempo sobre la base de la trama, escala de tiempo sobre la base de la muestra o sin escala de tiempo) que debe usarse. Por ejemplo, el control de búfer de variabilidad puede comparar un valor objetivo que describe una profundidad deseada del búfer de variabilidad (también designado como búfer de eliminación de variabilidad) y un valor real que describe 50 una profundidad real del búfer de variabilidad, y seleccionar el modo de operación (escala de tiempo sobre la base de la trama, escala de tiempo sobre la base de la muestra, o sin escala de tiempo) según dicha comparación, de tal manera que la escala de tiempo sobre la base de la trama o la escala de tiempo sobre la base de la muestra se seleccionan a fin de controlar una profundidad del búfer de variabilidad.
55 [0019] El control de búfer de variabilidad 100 puede ser configurado, por ejemplo, para seleccionar una
inserción de ruido de confort o una eliminación de ruido de confort si una trama previa fue inactiva (que, por ejemplo, puede reconocerse sobre la base de la señal de audio 110 en sí misma, o sobre la base de una información acerca de la señal de audio, por ejemplo, un SID de bandera identificadora de silencio en el caso de un modo de transmisión discontinua). En otras palabras, el control de búfer de variabilidad 100 puede señalizar a un búfer de
variabilidad (también designado como búfer de eliminación de variabilidad) de que debe insertarse una trama de ruido de confort, si se desea un estiramiento de tiempo y si una trama previa (o la trama actual) es inactiva. Además, el control de búfer de variabilidad 100 puede instruir al búfer de variabilidad (o búfer de eliminación de variabilidad) para la eliminación de una trama de ruido de confort (por ejemplo, una trama que comprende una información de 5 señalización que indica que debe realizarse una generación de ruido de confort) si se desea realizar una reducción de tiempo y la trama previa fue inactiva (o la trama actual es inactiva). Debe observarse que una respectiva trama puede ser considerada inactiva cuando la respectiva trama porta una información de señalización que indica una generación de un ruido de confort (y típicamente no comprende contenido de audio codificado adicional). Dicha información de señalización, por ejemplo, puede adoptar la forma de una bandera de indicación de silencio (bandera 10 SID, conforme a sus siglas en inglés) en el caso de un modo de transmisión discontinua.
[0020] En contraste, el control de búfer de variabilidad 100 está configurado preferentemente para seleccionar en superposición y adición, con cambio de tiempo, de porciones de señal de audio, si una trama previa fue activa (por ejemplo, si la trama previa no comprendió información de señalización que indica que debe generarse
15 un ruido de confort). Dicha superposición y adición con cambio de tiempo, de porciones de señal de audio típicamente permite un ajuste de un cambio de tiempo entre bloques de muestras de audio obtenidos sobre la base de subsiguientes tramas de la información de audio de entrada con una resolución comparativamente alta (por ejemplo, con una resolución que es menor que una longitud de los bloques de muestras de audio, o que es menor que un cuarto de la longitud de los bloques de muestras de audio, o que es aun menor o igual que dos muestras de 20 audio, o que es tan pequeña como una sola muestra de audio). En consecuencia, la selección de la escala de tiempo sobre la base de la muestra permite una escala de tiempo muy adaptada, lo que ayuda a evitar artefactos audibles para tramas activas.
[0021] En el caso de que el control de búfer de variabilidad seleccione una escala de tiempo sobre la base de 25 la muestra, el control de búfer de variabilidad puede proporcionar además información de control adicional para
ajustar, o adaptar, la escala de tiempo sobre la base de la muestra. Por ejemplo, el control de búfer de variabilidad 100 puede estar configurado para determinar si un bloque de muestras de audio representa una porción de señal de audio activa, pero “latente”, por ejemplo, una porción de señal de audio que comprende una energía comparativamente pequeña. En este caso, es decir, si la porción de señal de audio es “activa” (por ejemplo, no una 30 porción de señal de audio para la cual se usa una generación de ruido de confort en el decodificador de audio, en lugar de una decodificación más detallada de un contenido de audio) pero “latente” (por ejemplo, en términos de que la energía de señal está por debajo de un cierto valor de umbral de energía, o incluso, es igual a cero), el control de búfer de variabilidad puede proporcionar la información de control 114 para seleccionar un modo de superposición y adición, en el que un cambio de tiempo entre un bloque de muestras de audio que representa la porción de señal de 35 audio “latente” (pero activa) y un subsiguiente bloque de muestras de audio se establece en un valor máximo predeterminado. En consecuencia, un escalador de tiempo sobre la base de la muestra no debe identificar necesariamente una cantidad apropiada de escala de tiempo sobre la base de una comparación detallada de subsiguientes bloques de muestras de audio, sino que, simplemente, puede utilizar el valor máximo predeterminado para el cambio de tiempo. Puede entenderse que una porción de señal de audio “latente” no causará típicamente 40 sustanciales artefactos en una operación de superposición y adición, sin consideración de la elección real del cambio de tiempo. En consecuencia, la información de control 114 proporcionada por el control de búfer de variabilidad puede simplificar el procesamiento por ser realizado por el escalador de tiempo sobre la base de la muestra.
45 [0022] En contraste, si el control de búfer de variabilidad 110 halla que un bloque de muestras de audio
representa una porción de señal de audio “activa” y no latente (por ejemplo, una porción de señal de audio para la cual no hay generación de ruido de confort, y que además comprende una energía de señal que es superior a un cierto valor de umbral), el control de búfer de variabilidad proporciona la información de control 114 para de esa manera seleccionar un modo de superposición y adición en el cual el cambio de tiempo entre bloques de muestras 50 de audio es determinado de manera adaptativa a la señal (por ejemplo, por el escalador de tiempo sobre la base de la muestra y usando una determinación de similitudes entre subsiguientes bloques de muestras de audio).
[0023] Además, el control de búfer de variabilidad 100 puede recibir además una información sobre la
plenitud de un búfer actual. El control de búfer de variabilidad 100 puede seleccionar una inserción de una trama 55 oculta (es decir, una trama que es generada usando un mecanismo de recuperación de pérdida de paquete, por ejemplo, usando una predicción sobre la base de tramas previamente decodificadas) en respuesta a una determinación de que se requiere un estiramiento de tiempo y de que un búfer de variabilidad está vacío. En otras palabras, el control de búfer de variabilidad puede iniciar una manipulación excepcional para un caso en el cual, básicamente, se desea una escala de tiempo sobre la base de la muestra (debido a que la trama previa, o la trama
actual, es “activa”), pero donde una escala de tiempo sobre la base de la muestra (por ejemplo, usando una superposición y adición) no puede realizarse apropiadamente debido a que el búfer de variabilidad (o búfer de eliminación de variabilidad) está vacío. Por lo tanto, el control de búfer de variabilidad 100 puede ser configurado para proporcionar información apropiada de control 112, 114, incluso para casos excepcionales.
5
[0024] A fin de simplificar la operación del control de búfer de variabilidad 100, el control de búfer de variabilidad 100 puede ser configurado para seleccionar la escala de tiempo sobre la base de la trama o la escala de tiempo sobre la base de la muestra, según el uso actual de una transmisión discontinua (también designada brevemente como “DTX”) en conjunto con la generación de ruido de confort (también designada brevemente como
10 “CNG”). En otras palabras, el control de búfer de variabilidad 100 puede seleccionar, por ejemplo, la escala de tiempo sobre la base de la trama si se reconoce, sobre la base de la señal de audio o sobre la base de una información acerca de la señal de audio, que una trama anterior (o una trama actual) es una trama “inactiva”, para la cual debe usarse una generación de ruido de confort. Esto puede ser determinado, por ejemplo, mediante la evaluación de una información de señalización (por ejemplo, una bandera, como la así denominada bandera “SID”), 15 que se incluye en una representación codificada de la señal de audio. En consecuencia, el control de búfer de variabilidad puede decidir que la escala de tiempo sobre la base de la trama debe usarse si una transmisión discontinua en conjunto con una generación de ruido de confort es actualmente usada, ya que puede esperarse que solo sea causada una pequeña distorsión audible, o ninguna distorsión audible, por dicha escala de tiempo, en este caso. En contraste, la escala de tiempo sobre la base de la muestra puede usarse de otro modo (por ejemplo, si una 20 transmisión discontinua en conjunto con una generación de ruido de confort no se utiliza actualmente), a menos que haya alguna circunstancia excepcional (por ejemplo, un búfer de variabilidad vacío).
[0025] Preferentemente, el control de búfer de variabilidad puede seleccionar entre uno de (al menos) cuatro modos, en el caso de que se requiera una escala de tiempo. Por ejemplo, el control de búfer de variabilidad puede
25 ser configurado para seleccionar una inserción de ruido de confort o una eliminación de ruido de confort para una escala de tiempo si se usa actualmente una transmisión discontinua en conjunto con una generación de ruido de confort. Además, el control de búfer de variabilidad puede ser configurado para seleccionar una operación de superposición y adición usando un cambio de tiempo predeterminado para una escala de tiempo si una porción de señal de audio actual es activa, pero comprende una energía de señal que es menor o igual que un valor de umbral 30 de energía, y si un búfer de variabilidad no está vacío. Además, el control de búfer de variabilidad puede ser configurado para seleccionar una operación de superposición y adición usando un cambio de tiempo adaptativo a la señal para una escala de tiempo si una porción de señal de audio actual es activa y comprende una energía de señal que es mayor o igual que el valor de umbral de energía y si el búfer de variabilidad no está vacío. Finalmente, el control de búfer de variabilidad puede ser configurado para seleccionar una inserción de una trama oculta para 35 una escala de tiempo si una porción de señal de audio actual es activa y si el búfer de variabilidad está vacío. Por lo tanto, puede observase que el control de búfer de variabilidad puede ser configurado para seleccionar una escala de tiempo sobre la base de la trama o una escala de tiempo sobre la base de la muestra de manera adaptativa a la señal.
40 [0026] Además, debe observarse que el control de búfer de variabilidad puede ser configurado para
seleccionar una operación de superposición y adición usando un cambio de tiempo adaptativo a la señal y un mecanismo de control de calidad para una escala de tiempo si una porción de señal de audio actual es activa y comprende una energía de señal que es mayor o igual que el valor de umbral de energía, y si el búfer de variabilidad no está vacío. En otras palabras, puede haber un mecanismo de control de calidad adicional para la escala de 45 tiempo sobre la base de la muestra, que suplemente la selección adaptativa a la señal, entre una escala de tiempo sobre la base de la trama y una escala de tiempo sobre la base de la muestra, que es realizada por el control de búfer de variabilidad. De este modo, puede usarse un concepto jerárquico, en el que el búfer de variabilidad realiza la selección inicial entre la escala de tiempo sobre la base de la trama y la escala de tiempo sobre la base de la muestra, y donde se implementa un mecanismo de control de calidad adicional a fin de garantizar que la escala de 50 tiempo sobre la base de la muestra no obtenga una degradación de la calidad del audio inaceptable. Como conclusión, se ha explicado una funcionalidad fundamental del control de búfer de variabilidad 100, y se han explicado además sus mejoramientos opcionales. Además, debe observarse que el control de búfer de variabilidad 100 puede ser suplementado por cualquiera de los rasgos y las funcionalidades que aquí se describen.
55 5.2. Escalador de tiempo según la Fig. 2
[0027] La Fig. 2 muestra un diagrama esquemático de bloques de un escalador de tiempo 200 según una
realización de la presente invención. El escalador de tiempo 200 está configurado para recibir una señal de audio de entrada 210 (por ejemplo, en la forma de una secuencia de muestras proporcionada por un núcleo de decodificador)
y proporciona, sobre su base, una versión con escala de tiempo 212 de la señal de audio de entrada. El escalador de tiempo 200 está configurado para computar o estimar una calidad de una versión con escala de tiempo de la señal de audio de entrada que se obtiene por una escala de tiempo de la señal de audio de entrada. Esta funcionalidad puede ser realizada, por ejemplo, por una unidad de computación. Además, el escalador de tiempo 5 200 está configurado para realizar una escala de tiempo de la señal de audio de entrada 210 según el cómputo o la estimación de la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo, a fin de obtener así la versión con escala de tiempo de la señal de audio de entrada 212. Esta funcionalidad, por ejemplo, puede ser llevada a cabo por una unidad de escala de tiempo. Por lo tanto, el escalador de tiempo puede realizar un control de calidad a fin de garantizar que se eviten excesivas degradaciones de la 10 calidad de un audio cuando se realiza la escala de tiempo. Por ejemplo, el escalador de tiempo puede ser configurado para predecir (o estimar), sobre la base de la señal de audio de entrada, si se espera que una operación de escala de tiempo contemplada (por ejemplo, una operación de superposición y adición realizada sobre la base de bloques de muestras (audio) de cambio de tiempo logre una calidad de audio suficientemente buena. En otras palabras, el escalador de tiempo puede ser configurado para computar o estimar la calidad (esperada) de la versión 15 con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo de la señal de audio de entrada antes de que la escala de tiempo de la señal de audio de entrada sea realmente ejecutada. Para este propósito, el escalador de tiempo, por ejemplo, puede comparar porciones de la señal de audio de entrada que están involucradas en la operación de escala de tiempo (por ejemplo, en términos de que dichas porciones de la señal de audio de entrada deben ser superpuestas y agregadas a fin de efectuar la escala de tiempo). Para concluir, el 20 escalador de tiempo 200 está típicamente configurado para verificar si puede esperarse que una escala de tiempo contemplada logre una calidad de audio suficiente de la versión con escala de tiempo de la señal de audio de entrada, y decidir si realizar la escala de tiempo o no, sobre su base. Alternativamente, el escalador de tiempo puede adaptar cualquiera de los parámetros de escala de tiempo (por ejemplo, un cambio de tiempo entre bloques de muestras por ser superpuestos y agregados) según un resultado de la estimación computacional de la calidad de la 25 versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo de la señal de audio de entrada.
[0028] En lo que sigue, se describirán mejoras opcionales del escalador de tiempo 200.
30 [0029] En una realización preferida, el escalador de tiempo está configurado para realizar una operación de
superposición y adición usando un primer bloque de muestras de la señal de audio de entrada y un segundo bloque de muestras de la señal de audio de entrada. En este caso, el escalador de tiempo está configurado para cambiar el tiempo del segundo bloque de muestras con respecto al primer bloque de muestras, y realizar la superposición y adición del primer bloque de muestras y el segundo bloque de muestras con cambio de tiempo, a fin de obtener la 35 versión con escala de tiempo de la señal de audio de entrada. Por ejemplo, si se desea una reducción de tiempo, el escalador de tiempo puede introducir un primer número de muestras de la señal de audio de entrada y proporcionar, sobre su base, un segundo número de muestras de la versión con escala de tiempo de la señal de audio de entrada, donde el segundo número de muestras es menor que el primer número de muestras. A fin de lograr una reducción del número de muestras, el primer número de muestras puede separarse en al menos un primer bloque de muestras 40 y un segundo bloque de muestras (donde el primer bloque de muestras y el segundo bloque de muestras pueden superponerse o no superponerse), y el primer bloque de muestras y el segundo bloque de muestras pueden ser temporalmente cambiados juntos, de manera que las versiones temporalmente cambiadas del primer bloque de muestras y del segundo bloque de muestras se superponen. En la región de superposición entre las versiones cambiadas del primer bloque de muestras y del segundo bloque de muestras, se aplica una operación de 45 superposición y adición. Dicha operación de superposición y adición puede aplicarse sin causar sustanciales distorsiones audibles si el primer bloque de muestras y el segundo bloque de muestras son “suficientemente” similares en la región de superposición (donde se realiza la operación de superposición y adición), y preferentemente, además en un entorno de la región de superposición. En consecuencia, mediante la superposición y adición de las porciones de señal que originalmente no se superponían temporalmente, se logra una reducción de 50 tiempo, ya que se reduce un número total de muestras por una cantidad de muestras que originalmente no se superponían (en la señal de audio de entrada 210), pero que se superponen en la versión con escala de tiempo 212 de la señal de audio de entrada.
[0030] En contraste, puede lograrse además un estiramiento de tiempo usando dicha operación de
55 superposición y adición. Por ejemplo, un primer bloque de muestras y un segundo bloque de muestras pueden seleccionarse para ser superpuestos y pueden comprender una primera extensión temporal general. A continuación, el segundo bloque de muestras puede someterse al cambio de tiempo con respecto al primer bloque de muestras, de manera que la superposición entre el primer bloque de muestras y el segundo bloque de muestras se reduce. Si el segundo bloque de muestras con cambio de tiempo se adapta bien al primer bloque de muestras, puede
realizarse una superposición y adición, donde la región de superposición entre el primer bloque de muestras y la versión del segundo bloque de muestras con cambio de tiempo puede ser más corta, tanto en términos de una cantidad de muestras como en términos de un tiempo, en comparación con la región de superposición original entre el primer bloque de muestras y el segundo bloque de muestras. En consecuencia, el resultado de la operación de 5 superposición y adición usando el primer bloque de muestras y la versión del segundo bloque de muestras con cambio de tiempo puede comprender una extensión temporal mayor (tanto en términos de tiempo como en términos de una cantidad de muestras) que la extensión total del primer bloque de muestras y del segundo bloque de muestras en su forma original.
10 [0031] Por lo tanto, es evidente que tanto una reducción de tiempo como un estiramiento de tiempo pueden
obtenerse usando una operación de superposición y adición empleando un primer bloque de muestras de la señal de audio de entrada y un segundo bloque de muestras de las señales de audio de entrada, donde el segundo bloque de muestras es cambiado en tiempo con respecto al primer bloque de muestras (o donde tanto el primer bloque de muestras como el segundo bloque de muestras son cambiados en tiempo entre sí).
15
[0032] Preferentemente, el escalador de tiempo 200 está configurado para computar o estimar una calidad de la operación de superposición y adición entre el primer bloque de muestras y la versión del segundo bloque de muestras con cambio de tiempo, a fin de computar o estimar la calidad (esperada) de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo. Debe observarse que típicamente no
20 hay ningún artefacto audible si la operación de superposición y adición se realiza para porciones de los bloques de muestras que son suficientemente similares. En otras palabras, la calidad de la operación de superposición y adición afecta sustancialmente la calidad (esperada) de la versión con escala de tiempo de las señales de audio de entrada. Por lo tanto, la estimación (o computación) de la calidad de la operación de superposición y adición proporciona una estimación fiable (o computación) de la calidad de la versión con escala de tiempo de la señal de audio de entrada.
25
[0033] Preferentemente, el escalador de tiempo 200 está configurado para determinar el cambio de tiempo del segundo bloque de muestras con respecto al primer bloque de muestras con respecto a una determinación del nivel de similitud entre el primer bloque de muestras, o una porción (por ejemplo, la porción derecha) del primer bloque de muestras, y el segundo bloque de muestras con cambio de tiempo, o una porción (por ejemplo, la porción
30 izquierda) del segundo bloque de muestras con cambio de tiempo. En otras palabras, el escalador de tiempo puede ser configurado para determinar el cambio de tiempo entre el primer bloque de muestras y el segundo bloque de muestras más apropiado a fin de obtener un resultado suficientemente bueno de superposición y adición (o al menos el mejor resultado posible de superposición y adición). Sin embargo, en una etapa adicional (“control de calidad”), puede verificarse si dicho cambio de tiempo determinado del segundo bloque de muestras con respecto al primer
35 bloque de muestras realmente acarrea un resultado suficientemente bueno de superposición y adición (o se espera que acarree un resultado suficientemente bueno de superposición y adición).
[0034] Preferentemente, el escalador de tiempo determina información acerca de un nivel de similitud entre el primer bloque de muestras, o una porción (por ejemplo, la porción derecha) del primer bloque de muestras, y el
40 segundo bloque de muestras, o una porción (por ejemplo, la porción izquierda) del segundo bloque de muestras, para una pluralidad de diferentes cambios de tiempo entre el primer bloque de muestras y el segundo bloque de muestras, y determina un cambio de tiempo (candidato) para ser usado para la operación de superposición y adición sobre la base de la información acerca del nivel de similitud para la pluralidad de diferentes cambios de tiempo. En otras palabras, puede realizarse una búsqueda de una mejor coincidencia, donde la información acerca del nivel de
45 similitud para diferentes cambios de tiempo puede compararse, a fin de hallar un cambio de tiempo para el cual puede alcanzarse el mejor nivel de similitud.
[0035] Preferentemente, el escalador de tiempo está configurado para determinar el cambio de tiempo del segundo bloque de muestras con respecto al primer bloque de muestras, donde dicho cambio de tiempo se usará
50 para la operación de superposición y adición, según una información de cambio de tiempo objetivo. En otras palabras, puede considerarse (tenerse en cuenta) una información de cambio de tiempo objetivo, que, por ejemplo, puede obtenerse sobre la base de una evaluación de una plenitud de búfer, una variabilidad, y posiblemente, otros criterios adicionales, cuando se determina el cambio de tiempo por usar (por ejemplo, como un cambio de tiempo candidato) para la operación de superposición y adición. En consecuencia, la superposición y adición se adapta a
55 los requisitos del sistema.
[0036] En algunas realizaciones, el escalador de tiempo puede ser configurado para computar o estimar una calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por una escala de tiempo de la señal de audio de entrada sobre la base de una información acerca de un nivel de similitud entre el primer
bloque de muestras, o una porción (por ejemplo, la porción derecha) del primer bloque de muestras, y el segundo bloque de muestras, con cambio de tiempo por el cambio de tiempo determinado (candidato), o una porción (por ejemplo, la porción izquierda) del segundo bloque de muestras, con cambio de tiempo por el cambio de tiempo determinado (candidato). Dicha información acerca del nivel de similitud proporciona una información acerca de la 5 calidad (esperada) de la operación de superposición y adición y, en consecuencia, además proporciona una información (al menos una estimación) acerca de la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo. En algunos casos, la información computada o estimada acerca de la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo puede usarse para decidir si la escala de tiempo es realmente realizada o no (donde la escala de tiempo 10 puede ser pospuesta, en el último caso). En otras palabras, el escalador de tiempo puede ser configurado para decidir, sobre la base de la información acerca del nivel de similitud entre el primer bloque de muestras, o una porción (por ejemplo, la porción derecha) del primer bloque de muestras, y el segundo bloque de muestras, con cambio de tiempo por el cambio de tiempo determinado (candidato), o una porción (por ejemplo, la porción izquierda) del segundo bloque de muestras, con cambio de tiempo por el cambio de tiempo determinado (candidato), 15 si se realiza realmente una escala de tiempo (o no). Por lo tanto, el mecanismo de control de calidad, que evalúa la información, computada o estimada, sobre la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo, puede, en realidad, producir la omisión de la escala de tiempo (al menos para un bloque o una trama de muestras de audio actual), si se espera que sea causada una excesiva degradación de un contenido de audio por la escala de tiempo.
20
[0037] En algunas realizaciones, pueden usarse diferentes medidas de similitud para la determinación inicial
del cambio de tiempo (candidato) entre el primer bloque de muestras y el segundo bloque de muestras y para el mecanismo de control de calidad final. En otras palabras, el escalador de tiempo puede ser configurado para el cambio de tiempo de un segundo bloque de muestras con respecto al primer bloque de muestras, y para la 25 superposición y adición del primer bloque de muestras y el segundo bloque de muestras con cambio de tiempo, para de ese modo obtener la versión con escala de tiempo de la señal de audio de entrada, si el cómputo o la estimación de la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo indica una calidad que es mayor o igual que un umbral de calidad. El escalador de tiempo puede ser configurado para determinar un cambio de tiempo del segundo bloque de muestras (candidato) con respecto al 30 primer bloque de muestras según una determinación de un nivel de similitud, evaluado usando una primera medida de similitud, entre el primer bloque de muestras, o una porción (por ejemplo la porción derecha) del primer bloque de muestras, y el segundo bloque de muestras, o una porción (por ejemplo, la porción izquierda) del segundo bloque de muestras. Además, el escalador de tiempo puede ser configurado para computar o estimar una calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por una escala de tiempo de la señal de audio 35 de entrada sobre la base de una información acerca de un nivel de similitud, evaluada usando una segunda medida de similitud, entre el primer bloque de muestras, o una porción (por ejemplo, la porción derecha) del primer bloque de muestras, y el segundo bloque de muestras, con cambio de tiempo por el cambio de tiempo determinado (candidato), o una porción (por ejemplo, la porción izquierda) del segundo bloque de muestras, con cambio de tiempo por el cambio de tiempo determinado (candidato). Por ejemplo, la segunda medida de similitud puede ser 40 computacionalmente más compleja que la primera medida de similitud. Tal concepto es útil, ya que es típicamente necesario computar la primera medida de similitud múltiples veces por operación de escala de tiempo (a fin de determinar el cambio de tiempo “candidato” entre el primer bloque de muestras y el segundo bloque de muestras, de una pluralidad de posibles valores de cambio de tiempo entre el primer bloque de muestras y el segundo bloque de muestras). En contraste, la segunda medida de similitud solo necesita ser computada típicamente una vez por 45 operación de cambio de tiempo, por ejemplo, como una verificación de calidad “final”, de si puede esperarse que el cambio de tiempo “candidato” determinado usando la primera medida de calidad (computacionalmente menos compleja) logre una calidad de audio suficientemente buena. En consecuencia, es posible aun evitar la ejecución de una superposición y adición, si la primera medida de similitud indica una similitud razonablemente buena (o al menos suficiente) entre el primer bloque de muestras (o una porción de este) y el segundo bloque de muestras con cambio 50 de tiempo (o una porción de este) para el cambio de tiempo “candidato”, pero la segunda medida de similitud (y típicamente más significativa o precisa) indica que la escala de tiempo no lograría una calidad de audio suficientemente buena. Por lo tanto, la aplicación del control de calidad (usando la segunda medida de similitud) ayuda a evitar distorsiones audibles en la escala de tiempo.
55 [0038] Por ejemplo, la primera medida de similitud puede ser una correlación cruzada o una correlación
cruzada normalizada, o una función de diferencia de magnitud promedio, o una suma de errores cuadrados. Tales medidas de similitud pueden obtenerse de una manera computacionalmente eficiente, y son suficientes para hallar una “mejor coincidencia” entre el primer bloque de muestras (o una porción de este) y el segundo bloque de muestras (con cambio de tiempo) (o una porción de este), es decir, para determinar el cambio de tiempo “candidato”.
En contraste, la segunda medida de similitud puede, por ejemplo, ser una combinación de valores de correlación cruzada o valores de correlación cruzada normalizada para una pluralidad de diferentes cambios de tiempos. Tal medida de similitud proporciona más exactitud, y ayuda a considerar componentes de señal adicionales (como, por ejemplo, armónicos) o una estacionalidad de la señal de audio cuando se evalúa la calidad (esperada) de la escala 5 de tiempo. Sin embargo, la segunda medida de similitud es computacionalmente más demandante que la primera medida de similitud, de manera que sería computacionalmente ineficiente aplicar la segunda medida de similitud cuando se busca un cambio de tiempo “candidato”.
[0039] En lo que sigue, se describirán algunas opciones para una determinación de la segunda medida de 10 similitud. En algunas realizaciones, la segunda medida de similitud puede ser una combinación de correlaciones
cruzadas para al menos cuatro diferentes cambios de tiempo. Por ejemplo, la segunda medida de similitud puede ser una combinación de un primer valor de correlación cruzada y de un segundo valor de correlación cruzada, que se obtienen para cambios de tiempo que están espaciados por un múltiplo de número entero de una duración de período de una frecuencia fundamental de un contenido de audio del primer bloque de muestras o del segundo 15 bloque de muestras, y de un tercer valor de correlación cruzada y un cuarto valor de correlación cruzada, que se obtienen para cambios de tiempo que están espaciados por un múltiplo de número entero de la duración de período de la frecuencia fundamental del contenido de audio. Un cambio de tiempo para el cual se obtiene el primer valor de correlación cruzada puede estar espaciado de un cambio de tiempo para el cual se obtiene el tercer valor de correlación cruzada, por un múltiplo impar de la mitad de la duración de período de la frecuencia fundamental del 20 contenido de audio. Si el contenido de audio (representado por la señal de audio de entrada) es sustancialmente estacionario, y dominado por la frecuencia fundamental, puede esperarse que el primer valor de correlación cruzada y el segundo valor de correlación cruzada que, por ejemplo, pueden ser normalizados, sean ambos cercanos a uno. Sin embargo, debido a que el tercer valor de correlación cruzada y el cuarto valor de correlación cruzada se obtienen ambos para cambios de tiempo que están espaciados, por un múltiplo impar de la mitad de la duración de período 25 de la frecuencia fundamental, de los cambios de tiempo para los cuales se obtienen el primer valor de correlación cruzada y el segundo valor de correlación cruzada, puede esperarse que el tercer valor de correlación cruzada y el cuarto valor de correlación cruzada sean opuestos con respecto al primer valor de correlación cruzada y el segundo valor de correlación cruzada en el caso de que el contenido de audio sea sustancialmente estacionario y dominado por la frecuencia fundamental. Por lo tanto, puede formarse una combinación significativa sobre la base del primer 30 valor de correlación cruzada, el segundo valor de correlación cruzada, el tercer valor de correlación cruzada y el cuarto valor de correlación cruzada, que indica si la señal de audio es suficientemente estacionaria y dominada por una frecuencia fundamental en una región (candidata) de superposición y adición.
[0040] Debe observarse que pueden obtenerse medidas de similitud particularmente significativas mediante 35 el cómputo de la medida de similitud q según:
40
45
50
o según:
q = c(p) * c(2*p) + c(3/2*p) * c(1/2*p) q = c(p) * c(-p) + c(-1/2*p) * c(1/2*p).
En lo anterior, c(p) es un valor de correlación cruzada entre un primer bloque de muestras (o una porción de este) y un segundo bloque de muestras (o una porción de este), que tienen cambio de tiempo (por ejemplo, con respecto a una posición temporal original dentro del contenido de audio de entrada) por una duración de período p de una frecuencia fundamental de un contenido de audio del primer bloque de muestras y/o del segundo bloque de muestras (donde la frecuencia fundamental del contenido de audio es típicamente sustancialmente idéntica en el primer bloque de muestras y en el segundo bloque de muestras). En otras palabras, se computa un valor de correlación cruzada sobre la base de bloques de muestras que son tomados del contenido de audio de entrada y adicionalmente son sometidos a cambio de tiempo entre sí, por la duración de período p de la frecuencia fundamental del contenido de audio de entrada (donde la duración de período p de la frecuencia fundamental puede obtenerse, por ejemplo, sobre la base de una estimación de frecuencia fundamental, una autocorrelación, o similares). Asimismo, c(2*p) es un valor de correlación cruzada entre un primer bloque de muestras (o una porción de este) y un segundo bloque de muestras (o una porción de este) que tienen cambio de tiempo por 2 * p. Se aplican definiciones similares también a c(3/2*p), c(1/2*p), c(-p) y c(-1/2*p), en las que el argumento de c(.) designa el cambio de tiempo.
En lo que sigue, se explicarán algunos mecanismos para decidir si debe realizarse o no una escala de tiempo, que pueden aplicarse opcionalmente en el escalador de tiempo 200. En una implementación, el escalador de tiempo 200 puede ser configurado para comparar un valor de calidad, que se basa en un cómputo o la estimación de la calidad (esperada) de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de
tiempo, con un valor de umbral variable, a fin de decidir si debe realizarse o no una escala de tiempo. En consecuencia, la decisión de si realizar o no la escala de tiempo también puede tomarse según las circunstancias, por ejemplo, un historial que represente escalas de tiempo previas.
5 Por ejemplo, el escalador de tiempo puede ser configurado para reducir el valor de umbral variable, para reducir de ese modo un requisito de calidad (que debe alcanzarse a fin de permitir una escala de tiempo), en respuesta a un hallazgo de que una calidad de una escala de tiempo hubiera sido insuficiente para uno o más bloques de muestras anteriores. Por lo tanto, se garantiza que una escala de tiempo no es prevenida para una larga secuencia de tramas (o bloques de muestras), lo que causaría una sobreextensión de búfer o una subextensión de búfer. Además, el 10 escalador de tiempo puede ser configurado para incrementar el valor de umbral variable, a fin de aumentar un requisito de calidad (que debe alcanzarse a fin de permitir una escala de tiempo), en respuesta al hecho de que se ha aplicado una escala de tiempo a uno o más bloques o muestras anteriores. En consecuencia, puede evitarse que demasiados bloques o muestras subsiguientes sean sometidos a la escala de tiempo, a menos que pueda obtenerse una muy buena calidad (mayor con respecto a un requisito de calidad normal) de la escala de tiempo. Por lo tanto, 15 pueden evitarse artefactos que serían causados si las condiciones para una calidad de la escala de tiempo fueran demasiado bajas.
[0041] En algunas realizaciones, el escalador de tiempo puede comprender un primer contador con limitación
de rango, para el recuento de una cantidad de bloques de muestras o de una cantidad de tramas que han sido 20 sometidas a la escala de tiempo, debido a que se ha alcanzado el respectivo requisito de calidad de la versión de la señal de audio de entrada sometida a la escala de tiempo, que se obtiene por la escala de tiempo. Además, el escalador de tiempo puede comprender también un segundo contador con limitación de rango, para el recuento de una cantidad de bloques de muestras o de una cantidad de tramas que no se han sometido a la escala de tiempo debido a que no se ha alcanzado un respectivo requisito de calidad de la versión de la señal de audio de entrada 25 sometida a escala de tiempo que se obtiene por la escala de tiempo. En este caso, el escalador de tiempo puede ser configurado para computar el valor de umbral variable según un valor del primer contador y según un valor del segundo contador. En consecuencia, el “historial” de la escala de tiempo (y, además, el historial de “calidad”) puede considerarse con moderado esfuerzo computacional.
30 [0042] Por ejemplo, el escalador de tiempo puede ser configurado para sumar un valor que es proporcional al
valor del primer contador, a un valor de umbral inicial, y sustraer de allí un valor que es proporcional al valor de un segundo contador (por ejemplo, del resultado de la suma) a fin de obtener el valor de umbral variable.
[0043] En lo que sigue, se resumirán algunas funcionalidades importantes, que pueden proporcionarse en 35 algunas realizaciones del escalador de tiempo 200. Sin embargo, debe observarse que las funcionalidades que se
describen en lo que sigue no son funcionalidades esenciales del escalador de tiempo 200.
[0044] En una implementación, el escalador de tiempo puede ser configurado para realizar la escala de
tiempo de la señal de audio de entrada según el cómputo o la estimación de la calidad de la versión con escala de
40 tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo. En este caso, el cómputo o la estimación de la calidad de la versión con escala de tiempo de la señal de audio de entrada comprende un cómputo o la estimación de los artefactos en la versión con escala de tiempo de la señal de audio de entrada que serían causados por la escala de tiempo. Sin embargo, debe observarse que el cómputo o la estimación de artefactos puede realizarse de una manera indirecta, por ejemplo, mediante el cómputo de la calidad de una operación de 45 superposición y adición. En otras palabras, el cómputo o la estimación de la calidad de la versión con escala de tiempo de la señal de audio de entrada puede comprender un cómputo o una estimación de artefactos en la versión con escala de tiempo de la señal de audio de entrada que serían causados por una operación de superposición y adición de subsiguientes bloques de muestras de la señal de audio de entrada (donde, naturalmente, puede aplicarse cierto cambio de tiempo a los subsiguientes bloques de muestras).
50
[0045] Por ejemplo, el escalador de tiempo puede ser configurado para computar o estimar la calidad de una versión con escala de tiempo de la señal de audio de entrada que se obtiene por una escala de tiempo de la señal de audio de entrada según un nivel de similitud de los subsiguientes (y posiblemente superpuestos) bloques de muestras de la señal de audio de entrada.
55
[0046] En una realización preferida, el escalador de tiempo puede ser configurado para computar o estimar si hay artefactos audibles en una versión con escala de tiempo de la señal de audio de entrada que se obtiene por una escala de tiempo de la señal de audio de entrada. La estimación de artefactos audibles puede realizarse de una manera indirecta, como se menciona con anterioridad.
[0047] Como consecuencia del control de calidad, la escala de tiempo puede realizarse en momentos muy adecuados para la escala de tiempo, y puede evitarse en momentos que no son muy adecuados para la escala de tiempo. Por ejemplo, el escalador de tiempo puede ser configurado para posponer una escala de tiempo a una trama
5 subsiguiente o a un bloque subsiguiente de muestras, si el cómputo o la estimación de la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo indica una calidad insuficiente (por ejemplo, una calidad que es inferior a un cierto valor de umbral de calidad). Por lo tanto, la escala de tiempo puede realizarse en un momento que es más adecuado para la escala de tiempo, de tal modo que se generen menos artefactos (en particular, artefactos audibles). En otras palabras, el escalador de tiempo puede ser 10 configurado para posponer una escala de tiempo hasta un momento cuando la escala de tiempo es menos audible, si el cómputo o la estimación de la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo indica una calidad insuficiente.
[0048] Como conclusión, el escalador de tiempo 200 puede ser mejorado de una cantidad de maneras 15 diferentes, como se describe con anterioridad.
[0049] Además, debe observarse que el escalador de tiempo 200 puede ser opcionalmente combinado con el control de búfer de variabilidad 100, en el que el control de búfer de variabilidad 100 puede decidir si debe usarse la escala de tiempo sobre la base de la muestra, que es típicamente realizada por el escalador de tiempo 200, o si
20 debe usarse una escala de tiempo sobre la base de la trama.
5.3. Decodificador de audio según la Fig. 3
[0050] La Fig. 3 muestra un diagrama esquemático de bloques de un decodificador de audio 300. El 25 decodificador de audio 300 está configurado para recibir un contenido de audio de entrada 310, que puede
considerarse una representación de audio de entrada, y que, por ejemplo, puede ser representado en la forma de tramas de audio. Además, el decodificador de audio 300 proporciona, sobre su base, un contenido de audio decodificado 312, que, por ejemplo, puede ser representado en la forma de muestras de audio decodificadas. El decodificador de audio 300, por ejemplo, puede comprender un búfer de variabilidad 320, que está configurado para 30 recibir el contenido de audio de entrada 310, por ejemplo, en la forma de tramas de audio. El búfer de variabilidad 320 está configurado para el búfer de una pluralidad de tramas de audio que representan bloques de muestras de audio (donde una sola trama puede representar uno o más bloques de muestras de audio, y donde las muestras de audio representadas por una sola trama pueden ser lógicamente subdivididas en una pluralidad de bloques de muestras de audio de superposición o de no superposición). Además, el búfer de variabilidad 320 proporciona 35 tramas de audio con “búfer” 322, donde las tramas de audio 322 pueden comprender tanto tramas de audio incluidas en el contenido de audio de entrada 310, como tramas de audio que son generadas o insertadas por el búfer de variabilidad (como, por ejemplo, tramas de audio “inactivas” que comprenden una información de señalización que señala la generación de ruido de confort). El decodificador de audio 300 comprende adicionalmente un núcleo de decodificador 330, que recibe las tramas de audio con búfer 322 desde el búfer de variabilidad 320 y que 40 proporciona muestras de audio 332 (por ejemplo, bloques con muestras de audio asociadas con tramas de audio) sobre la base de las tramas de audio 322 recibidas desde el búfer de variabilidad. Además, el decodificador de audio 300 comprende un escalador de tiempo sobre la base de la muestra 340, que está configurado para recibir las muestras de audio 332 provistas por el núcleo de decodificador 330, y para proporcionar, sobre su base, muestras de audio con escala de tiempo 342, que forman el contenido de audio decodificado 312. El escalador de tiempo 45 sobre la base de la muestra 340 está configurado para proporcionar las muestras de audio con escala de tiempo (por ejemplo, en la forma de bloques de muestras de audio) sobre la base de las muestras de audio 332 (es decir, sobre la base de bloques de muestras de audio provistos por el núcleo de decodificador). Además, el decodificador de audio puede comprender un control opcional 350.
50 [0051] El control de búfer de variabilidad 350, que se usa en el decodificador de audio 300, por ejemplo,
puede ser idéntico al control de búfer de variabilidad 100 según la Fig. 1. En otras palabras, el control de búfer de variabilidad 350 puede ser configurado para seleccionar una escala de tiempo sobre la base de la trama, que es realizada por el búfer de variabilidad 320, o una escala de tiempo sobre la base de la muestra, que es realizada por el escalador de tiempo sobre la base de la muestra 340 de manera adaptativa a la señal. Por consiguiente, el control 55 de búfer de variabilidad 350 puede recibir el contenido de audio de entrada 310, o una información acerca del contenido de audio de entrada 310 como la señal de audio 110, o como la información acerca de la señal de audio 110. Además, el control de búfer de variabilidad 350 puede proporcionar la información de control 112 (como se describe con respecto al control de búfer de variabilidad 100) al búfer de variabilidad 320, y el control de búfer de variabilidad 350 puede proporcionar la información de control 114, como se describe con respecto al control de búfer
de variabilidad 100, al escalador de tiempo sobre la base de la muestra 140. Por consiguiente, el búfer de variabilidad 320 puede ser configurado para excluir o insertar tramas de audio a fin de realizar una escala de tiempo sobre la base de la trama. Además, el núcleo de decodificador 330 puede ser configurado para realizar una generación de ruido de confort en respuesta a una trama que porta una información de señalización que indica la 5 generación de un ruido de confort. Por lo tanto, un ruido de confort puede ser generado por el núcleo de decodificador 330 en respuesta a la inserción de una trama “inactiva” (que comprende una información de señalización que indica que debe generarse un ruido de confort) en el búfer de variabilidad 320. En otras palabras, una forma simple de una escala de tiempo sobre la base de la trama puede lograr eficazmente la generación de una trama que comprende ruido de confort, que es disparado por la inserción de una trama “inactiva” en el búfer de 10 variabilidad (que puede realizarse en respuesta a la información de control 112 provista por el control de búfer de variabilidad). Además, el núcleo de decodificador puede ser configurado para realizar un “ocultamiento” en respuesta a un búfer de variabilidad vacío. Tal ocultamiento puede comprender la generación de una información de audio para una trama “perdida” (búfer de variabilidad vacío) sobre la base de una información de audio de una o más tramas que preceden la trama de audio perdida. Por ejemplo, puede usarse una predicción, asumiendo que el contenido de 15 audio de la trama de audio perdida es una “continuación” del contenido de audio de una o más tramas de audio que preceden la trama de audio perdida. Sin embargo, cualquiera de los conceptos de ocultamiento de pérdida de trama conocidos en la técnica puede ser usado por el núcleo de decodificador. En consecuencia, el control de búfer de variabilidad 350 puede instruir al búfer de variabilidad 320 (o al núcleo de decodificador 330) para la iniciación de un ocultamiento en el caso de que el búfer de variabilidad 320 se vacíe. Sin embargo, el núcleo de decodificador puede 20 realizar el ocultamiento incluso sin una señal de control explícita, sobre la base de una inteligencia propia.
[0052] Además, debe observarse que el escalador de tiempo sobre la base de la muestra 340 puede ser igual
al escalador de tiempo 200 descrito con respecto a la Fig. 2. En consecuencia, la señal de audio de entrada 210 puede corresponder a las muestras de audio 332, y la versión con escala de tiempo 212 de la señal de audio de 25 entrada puede corresponder a las muestras de audio con escala de tiempo 342. Por lo tanto, el escalador de tiempo 340 puede ser configurado para realizar la escala de tiempo de la señal de audio de entrada según un cómputo o una estimación de la calidad de la versión de la señal de audio de entrada con escala de tiempo que se obtiene por la escala de tiempo. El escalador de tiempo sobre la base de la muestra 340 puede ser controlado por el control de búfer de variabilidad 350, en el que una información de control 114 proporcionada por el control de búfer de 30 variabilidad al escalador de tiempo sobre la base de la muestra 340 puede indicar si debe ser realizada o no realizada una escala de tiempo sobre la base de la muestra. Además, la información de control 114, por ejemplo, puede indicar una cantidad deseada de escala de tiempo por ser realizada por el escalador de tiempo sobre la base de la muestra 340. Debe observarse que el escalador de tiempo 300 puede ser suplementado por cualquiera de los rasgos y las funcionalidades que se describen con respecto al control de búfer de variabilidad 100 y/o con respecto 35 al escalador de tiempo 200. Además, el decodificador de audio 300 puede además ser suplementado por cualquier otro rasgo y funcionalidad aquí descritos, por ejemplo, con respecto a las Figs. 4 a 15.
5.4. Decodificador de audio según la Fig. 4
40 [0053] La Fig. 4 muestra un diagrama esquemático de bloques de un decodificador de audio 400. El
decodificador de audio 400 está configurado para recibir paquetes 410, que pueden comprender una representación empaquetada de una o más tramas de audio. Además, el decodificador de audio 400 proporciona un contenido de audio decodificado 412, por ejemplo, en la forma de muestras de audio. Las muestras de audio, por ejemplo, pueden ser representadas en un formato “PCM” (es decir, en una forma de modulación por impulsos codificados, por 45 ejemplo, en la forma de una secuencia de valores digitales que representan muestras de una forma de onda de audio). El decodificador de audio 400 comprende un desempaquetador 420, que está configurado para recibir los paquetes 410 y proporcionar, sobre su base, tramas desempaquetadas 422. Además, el desempaquetador está configurado para extraer, de los paquetes 410, una así denominada “bandera SID”, que señala una trama de audio “inactiva” (es decir, una trama de audio para la cual debe usarse una generación de ruido de confort, en lugar de una 50 decodificación detallada “normal” de un contenido de audio). La información de bandera SID información se designa con 424. Además, el desempaquetador proporciona un sello horario de protocolo de transporte en tiempo real (también designado como “RTP TS”, conforme a sus siglas en inglés) y un sello horario de llegada (también designado como “TS” de llegada). La información de sello horario se designa con 426. Además, el decodificador de audio 400 comprende un búfer de eliminación de variabilidad 430 (también designado brevemente como búfer de 55 variabilidad 430), que recibe las tramas desempaquetadas 422 del desempaquetador 420, y que proporciona tramas con búfer 432 (y posiblemente también tramas insertadas) a un núcleo de decodificador 440. Además, el búfer de eliminación de variabilidad 430 recibe una información de control 434 para una escala (de tiempo) sobre la base de la trama, desde una lógica de control. Además, el búfer de eliminación de variabilidad 430 proporciona una información de retroalimentación de escala 436 a una estimación de retraso de transmisión a redes de transmisión.
El decodificador de audio 400 además comprende un escalador de tiempo (también designado como “TSM”) 450, que recibe muestras de audio decodificadas 442 (por ejemplo, en la forma de datos con modulación por impulsos codificados) del núcleo de decodificador 440, donde el núcleo de decodificador 440 proporciona las muestras de audio decodificadas 442 sobre la base de las tramas con búfer o insertadas 432 recibidas del búfer de eliminación 5 de variabilidad 430. El escalador de tiempo 450 recibe además una información de control 444 para una escala (de tiempo) sobre la base de la muestra, desde una lógica de control, y proporciona una información de retroalimentación de escala 446 a una estimación de retraso de transmisión a redes de transmisión. El escalador de tiempo 450 proporciona además muestras con escala de tiempo 448, que pueden representar contenido de audio con escala de tiempo en una forma modulada por impulsos codificados. El decodificador de audio 400 comprende 10 además un búfer PCM 460, que recibe las muestras con escala de tiempo 448 y almacena temporalmente los datos de las muestras con escala de tiempo 448. Además, el búfer PCM 460 proporciona una versión con búfer, de muestras con escala de tiempo 448 como una representación del contenido de audio decodificado 412. Además, el búfer PCM 460 puede proporcionar una información de retraso 462 a una lógica de control.
15 [0054] El decodificador de audio 400 comprende además una estimación de retraso objetivo 470, que recibe
la información 424 (por ejemplo, la bandera SID) al igual que la información de sello horario 426 que comprende el sello horario RTP y el sello horario de llegada. Sobre la base de esta información, la estimación de retraso objetivo 470 proporciona una información de retraso objetivo 472, que describe un retraso deseable, por ejemplo, un retraso deseable que debería ser causado por el búfer de eliminación de variabilidad 430, el decodificador 440, el escalador 20 de tiempo 450 y el búfer PCM 460. Por ejemplo, la estimación de retraso objetivo 470 puede computar o estimar la información de retraso objetivo 472, de tal manera que el retraso no sea seleccionado innecesariamente grande, si bien suficiente para compensar cierta variabilidad de los paquetes 410. Además, el decodificador de audio 400 comprende una estimación de retraso de transmisión a redes de transmisión 480, que está configurada para recibir la información de retroalimentación de escala 436 desde el búfer de eliminación de variabilidad 430 y la información 25 de retroalimentación de escala 446 desde el escalador de tiempo 460. Por ejemplo, la información de retroalimentación de escala 436 puede describir una escala de tiempo que es realizada por el búfer de eliminación de variabilidad. Además, la información de retroalimentación de escala 446 describe una escala de tiempo que es realizada por el escalador de tiempo 450. Respecto de la información de retroalimentación de escala 446, debe observarse que la escala de tiempo realizada por el escalador de tiempo 450 es típicamente adaptativa a la señal, 30 de tal modo que una escala de tiempo real que es descrita por la información de retroalimentación de escala 446 puede ser diferente de una escala de tiempo deseada que puede ser descrita por la información de escala sobre la base de la muestra 444. Como conclusión, la información de retroalimentación de escala 436 y la información de retroalimentación de escala 446 pueden describir una escala de tiempo real, que puede ser diferente de una escala de tiempo deseada debido a la adaptabilidad de señal proporcionada según algunos aspectos de la presente 35 invención.
[0055] Además, el decodificador de audio 400 comprende también una lógica de control 490, que realiza un
control (primario) del decodificador de audio. La lógica de control 490 recibe la información 424 (por ejemplo, la bandera SID) del desempaquetador 420. Además, la lógica de control 490 recibe la información de retraso objetivo 40 472 desde la estimación de retraso objetivo 470, la información de retraso de transmisión a redes de transmisión 482, desde la estimación de retraso de transmisión a redes de transmisión 480 (donde la información de retraso de transmisión a redes de transmisión 482 describe un retraso real, que es derivado por la estimación de retraso de transmisión a redes de transmisión 480 sobre la base de la información de retroalimentación de escala 436 y la información de retroalimentación de escala 446). Además, la lógica de control 490 (opcionalmente) recibe la 45 información de retraso 462 desde el búfer PCM 460 (donde, alternativamente, la información de retraso del búfer PCM puede ser una cantidad predeterminada). Sobre la base de la información recibida, la lógica de control 490 proporciona la información de escala sobre la base de la trama 434 y la información de escala sobre la base de la muestra 442 al búfer de eliminación de variabilidad 430 y al escalador de tiempo 450. En consecuencia, la lógica de control establece la información de escala sobre la base de la trama 434 y la información de escala sobre la base de 50 la muestra 442 según la información de retraso objetivo 472 y la información de retraso de transmisión a redes de transmisión 482 de una manera adaptativa a la señal, considerando una o más características del contenido de audio (como, por ejemplo, la cuestión de si hay una trama “inactiva” para la cual debe realizarse una generación de ruido de confort según la señalización portada por la bandera SID).
55 [0056] Debe observarse aquí que la lógica de control 490 puede realizar parte o la totalidad de las
funcionalidades del control de búfer de variabilidad 100, donde la información 424 puede corresponder a la información 110 acerca de la señal de audio, donde la información de control 112 puede corresponder a la información de escala sobre la base de la trama 434, y donde la información de control 114 puede corresponder a la información de escala sobre la base de la muestra 444. Además, debe observarse que el escalador de tiempo 450
puede realizar parte o la totalidad de las funcionalidades del escalador de tiempo 200 (o viceversa), donde la señal de audio de entrada 210 corresponde a las muestras de audio decodificadas 442, y donde la versión con escala de tiempo 212 de la señal de audio de entrada corresponde a las muestras de audio con escala de tiempo 448.
5 [0057] Además, debe observarse que el decodificador de audio 400 corresponde al decodificador de audio
300, de tal manera que el decodificador de audio 300 puede realizar parte o la totalidad de las funcionalidades descritas con respecto al decodificador de audio 400, y viceversa. El búfer de variabilidad 320 corresponde al búfer de eliminación de variabilidad 430, el núcleo de decodificador 330 corresponde al decodificador 440, y el escalador de tiempo 340 corresponde al escalador de tiempo 450. El control 350 corresponde a la lógica de control 490.
10
[0058] En lo que sigue, se proporcionarán algunos detalles adicionales con respecto a la funcionalidad del
decodificador de audio 400. En particular, se describirá la gestión propuesta del búfer de variabilidad (JBM, conforme a sus siglas en inglés).
15 [0059] Se describe una solución de gestión de búfer de variabilidad (JBM), que puede usarse para alimentar
paquetes 410 recibidos con tramas, que contiene discurso codificado o datos de audio, en un decodificador 440, mientras que se mantiene una reproducción continua. En comunicaciones sobre la base de paquetes, por ejemplo, voz sobre protocolo de Internet (VoIP, conforme a sus siglas en inglés), los paquetes (por ejemplo, paquetes 410) típicamente son sometidos a diversos tiempos de transmisión y se pierden durante la transmisión, lo que conduce a 20 la variabilidad inter-llegada y a paquetes perdidos para el receptor (por ejemplo, un receptor que comprende el decodificador de audio 400). Por lo tanto, se desean soluciones para la gestión de búfer de variabilidad y el ocultamiento de pérdida de paquetes a fin de permitir una señal de salida continua sin tartamudez.
[0060] En lo que sigue, se proporcionará un resumen de solución. En el caso de la gestión de búfer de 25 variabilidad descrita, los datos codificados dentro de los paquetes RTP recibidos (por ejemplo, paquetes 410) son
primero desempaquetados (por ejemplo, usando el desempaquetador 420) y las resultantes tramas (por ejemplo, tramas 422) con datos codificados (por ejemplo, datos de voz dentro de una trama codificada aMR-WB) son alimentados a un búfer de eliminación de variabilidad (por ejemplo, búfer de eliminación de variabilidad 430). Cuando se requieren nuevos datos con modulación por impulsos codificados (datos PCM) para la transmisión a 30 redes de transmisión, es necesario que el decodificador los haga disponibles (por ejemplo, el decodificador 440). Para este propósito, se extraen tramas (por ejemplo, tramas 432) del búfer de eliminación de variabilidad (por ejemplo, del búfer de eliminación de variabilidad 430). Mediante el uso del búfer de eliminación de variabilidad, las fluctuaciones en el tiempo de llegada pueden compensarse. A fin de controlar la profundidad del búfer, se aplica la modificación de escala de tiempo (TSM, conforme a sus siglas en inglés) (donde la modificación de escala de tiempo 35 es también designada brevemente como escala de tiempo). La modificación de escala de tiempo puede suceder sobre una base de trama codificada (por ejemplo, dentro del búfer de eliminación de variabilidad 430), o en un módulo separado (por ejemplo, dentro del escalador de tiempo 450), de manera que se permitan adaptaciones granulares más finas de la señal de salida PCM (por ejemplo, de la señal de salida pCm 448 o de la señal de salida PCM 412).
40
[0061] El concepto descrito anteriormente se ilustra, por ejemplo, en la Fig. 4, que muestra un resumen de gestión de búfer de variabilidad. A fin de controlar la profundidad del búfer de eliminación de variabilidad (por ejemplo, búfer de eliminación de variabilidad 430), y por lo tanto, además, los niveles de escala de tiempo dentro del búfer de eliminación de variabilidad (por ejemplo, búfer de eliminación de variabilidad 430) y/o el módulo TSM (por
45 ejemplo, dentro del escalador de tiempo 450), se usa una lógica de control (por ejemplo, la lógica de control 490, que es soportada por la estimación de retraso objetivo 470 y la estimación de retraso de transmisión a redes de transmisión 480). Esta lógica emplea información sobre el retraso objetivo (por ejemplo, información 472) y retraso de transmisión a redes de transmisión (por ejemplo, información 482) y si se usa actualmente la transmisión discontinua (DTX) en conjunto con la generación de ruido de confort (CNG) (por ejemplo, información 424). Los 50 valores de retraso son generados, por ejemplo, a partir de módulos separados (por ejemplo, módulos 470 y 480) para la estimación de retraso de transmisión a redes de transmisión y objetivo, y se proporciona un bit activo/inactivo (bandera SID), por ejemplo, por medio del módulo desempaquetador (por ejemplo, desempaquetador 420).
5.4.1. Desempaquetador 55
[0062] En lo que sigue, se describirá el desempaquetador 420. El módulo desempaquetador divide paquetes RTP 410 en tramas individuales (unidades de acceso) 422. Además, calcula el sello horario RTP para todas las tramas que no son la única o primera trama en un paquete. Por ejemplo, el sello horario contenido en el paquete RTP es asignado a su primera trama. En el caso de agregación (es decir, para paquetes RTP que contienen más de
una trama individual), el sello horario para las siguientes tramas es incrementado por la duración de la trama dividido por la escala de los sellos horarios RTP. Además, al sello horario RTP, cada trama es también etiquetada con el tiempo del sistema en el cual se recibió el paquete RTP (“sello horario de llegada”). Como puede observarse, la información de sello horario RTP y la información de sello horario de llegada 426 pueden proporcionarse, por 5 ejemplo, a la estimación de retraso objetivo 470. El módulo desempaquetador determina además si una trama es activa o contiene un descriptor de inserción de silencio (SID, conforme a sus siglas en inglés). Debe observarse que dentro de períodos no activos, solo las tramas SID son recibidas en algunos casos. En consecuencia, la información 424, que, por ejemplo, puede comprender la bandera SID, es proporcionada a la lógica de control 490.
10 5.4.2. Búfer de eliminación de variabilidad
[0063] El módulo de búfer de eliminación de variabilidad 430 almacena tramas 422 recibidas sobre la red (por ejemplo, por medio de una red de tipo TCP/IP) hasta la decodificación (por ejemplo, por el decodificador 440). Las tramas 422 son insertadas en una cola clasificada en orden de sello horario RTP ascendente con el fin de deshacer
15 el reordenamiento que podría haber tenido lugar en la red. Una trama en el frente de la cola puede ser alimentada al decodificador 440 y es eliminada a continuación (por ejemplo, del búfer de eliminación de variabilidad 430). Si la cola está vacía o una trama está perdida, según la diferencia de sello horario de la trama en el frente (de la cola) y la trama previamente leída, es retornada una trama vacía (por ejemplo, del búfer de eliminación de variabilidad 430 al decodificador 440) de manera que se origine el ocultamiento de la pérdida de paquetes (si una última trama fue 20 activa) o la generación de ruido de confort (si una última trama fue “SID” o inactiva) en el módulo decodificador 440.
[0064] En otras palabras, el decodificador 440 puede ser configurado para generar un ruido de confort en el caso de que esté señalizado, en una trama, que debería usarse un ruido de confort, por ejemplo, usando una bandera “SID” activa. Por otra parte, el decodificador puede ser configurado además para realizar el ocultamiento de
25 pérdida de paquete, por ejemplo, mediante la provisión de muestras de audio predichas (o extrapoladas) en el caso de que una trama anterior (última) fue activa (es decir, la generación de ruido de confort desactivada) y el búfer de variabilidad se vacía (de manera que una trama vacía es proporcionada al decodificador 440 por el búfer de variabilidad 430).
30 [0065] El módulo de búfer de eliminación de variabilidad 430 sostiene además la escala de tiempo sobre la
base de la trama mediante la adición de una trama vacía al frente (por ejemplo, de la cola del búfer de variabilidad) para el estiramiento de tiempo, o la exclusión de la trama en el frente (por ejemplo, de la cola del búfer de variabilidad), para la reducción de tiempo. En el caso de períodos no activos, el búfer de eliminación de variabilidad puede comportarse como si se agregaran o excluyeran tramas de “NO_DATOS”.
35
5.4.3. Modificación de escala de tiempo (TSM)
[0066] En lo que sigue, se describirá la modificación de escala de tiempo (TSM), que es también designada brevemente como escalador de tiempo o escalador de tiempo sobre la base de la muestra, en esta solicitud. Un
40 algoritmo de WSOLA (superposición y adición sobre la base de similitud de forma de onda) sobre la base de paquete modificado (conferir, por ejemplo, [Lia01]) con control de calidad empotrado se usa para realizar la modificación de escala de tiempo (brevemente designada como escala de tiempo) de la señal. Algunos detalles pueden observarse, por ejemplo, en la Fig. 9, que se explicará a continuación. Un nivel de escala de tiempo es dependiente de la señal; las señales que crearían severos artefactos cuando son sometidas a la escala son 45 detectadas por un control de calidad, y las señales de bajo nivel, que están cercanas al silencio, son sometidas a escala por un alcance más posible. Las señales que son bien sometidas a la escala de tiempo, como señales periódicas, son sometidas a la escala por un cambio derivado internamente. El cambio es derivado de una medida de similitud, tal como una correlación cruzada normalizada. Con una superposición y adición (OLA, conforme a sus siglas en inglés), el final de una trama actual (también designada como “segundo bloque de muestras” en esta 50 solicitud) es cambiado (por ejemplo, con respecto a un comienzo de una trama actual, que es también designada como “primer bloque de muestras” en esta solicitud) o bien para acortar o para alargar la trama.
[0067] Como ya se ha mencionado, se describirán a continuación detalles adicionales con respecto a la modificación de escala de tiempo (TSM), con referencia a la Fig. 9, que muestra una WSOLA modificada con control
55 de calidad y, además, con referencia a las Figs. 10a y 10b y 11.
5.4.4. Búfer PCM
[0068] En lo que sigue, se describirá el búfer PCM. El módulo de modificación de escala de tiempo 450
cambia una duración de tramas PCM que sale del módulo decodificador con una escala de variación de tiempo. Por ejemplo, pueden salir 1024 muestras (o 2048 muestras) del decodificador 440 por trama de audio 432. En contraste, puede salir una cantidad variada de muestras de audio del escalador de tiempo 450 por trama de audio 432, debido a la escala de tiempo sobre la base de la muestra. En contraste, una tarjeta de sonido de altavoz (o, generalmente, 5 un dispositivo de salida de sonido) típicamente espera una trama fijada, por ejemplo, 20 ms. Por lo tanto, un búfer adicional con comportamiento de primero en entrar, primero en salir se usa para la aplicación de una trama fijada sobre las muestras de salida del escalador de tiempo 448.
[0069] Cuando se observa la cadena completa, este búfer PCM 460 no crea un retraso adicional. En cambio, 10 el retraso es solo compartido entre el búfer de eliminación de variabilidad 430 y el búfer PCM 460. Sin embargo, es
una meta mantener el número de muestras almacenadas en el búfer PCM 460 lo más bajo posible, ya que esto aumenta un número de tramas almacenadas en el búfer de eliminación de variabilidad 430 y, en consecuencia, reduce una probabilidad de pérdida tardía (donde el decodificador oculta una trama perdida que es recibida más tarde).
15
[0070] El pseudocódigo de programa que se muestra en la Fig. 5 muestra un algoritmo para el control del nivel de búfer pCm. Como puede observarse a partir del pseudocódigo de programa de la Fig. 5, se computa un tamaño de trama de tarjeta de sonido (“TamañodeTramaTarjetaSonido”) sobre la base de una tasa de muestra (“TasadeMuestra”), donde se asume, como ejemplo, que una duración de trama es de 20 ms. En consecuencia, se
20 conoce una cantidad de muestras por trama de tarjeta de sonido. A continuación, el búfer PCM se llena mediante la decodificación de tramas de audio 432 (también designada como “UnidaddeAcceso”) hasta que una cantidad de muestras en el búfer PCM (“pcmBúfer_nMuestrasLegibles()”) ya no es menor que el número de muestras por trama de tarjeta de sonido (“TamañoTramaTarjetaSonido”). Primero, una trama (también designada como “UnidaddeAcceso”) se obtiene (o es requerida) del búfer de eliminación de variabilidad 430, como se muestra en el 25 número de referencia 510. Posteriormente, una “trama” de muestras de audio se obtiene mediante la decodificación de la trama 432 requerida del búfer de eliminación de variabilidad, como puede observarse en la referencia 512. Por lo tanto, se obtiene una trama de muestras de audio decodificadas (por ejemplo, designadas con 442). A continuación, se aplica la modificación de escala de tiempo a la trama de muestras de audio decodificadas 442, de modo que se obtiene una “trama” de muestras con escala de tiempo de audio 448, que puede observarse con el 30 número de referencia 514. Debe observarse que la trama de muestras con escala de tiempo de audio puede comprender una mayor cantidad de muestras de audio o una menor cantidad de muestras de audio que la trama de muestras de audio decodificadas 442 introducida en el escalador de tiempo 450. A continuación, la trama de muestras con escala de tiempo de audio 448 es insertada en el búfer PCM 460, como puede observarse en el número de referencia 516.
35
[0071] Este procedimiento se repite, hasta que una cantidad suficiente de muestras de audio (con escala de
tiempo) está disponible en el búfer PCM 460. Tan pronto como una cantidad suficiente de muestras (con escala de
tiempo) está disponible en el búfer PCM, una “trama” de muestras con escala de tiempo de audio (que tiene una
longitud trama según lo requerido por un dispositivo de reproducción de sonido, como una tarjeta de sonido) es leída
40 desde el búfer PCM 460, y es avanzada hacia el dispositivo de reproducción de sonido (por ejemplo, a la tarjeta de sonido), como se muestra en los números de referencia 520 y 522.
5.4.5. Estimación de retraso objetivo
45 [0072] En lo que sigue, se describirá la estimación de retraso objetivo, que puede ser efectuada por el
estimador de retraso objetivo 470. El retraso objetivo especifica el retraso de búfer deseado entre el tiempo cuando una trama anterior fue reproducida y el tiempo en que esta trama podría haber sido recibida si hubiera tenido el menor retraso de transmisión sobre la red, en comparación con todas las tramas actualmente contenidas en un historial del módulo de estimación de retraso objetivo 470. Con el fin de estimar el retraso objetivo, se usan dos
50 estimadores de variabilidad diferentes, un estimador de variabilidad a largo plazo y uno a corto plazo.
Estimación de variabilidad a largo plazo
[0073] Con el fin de calcular una variabilidad a largo plazo, puede usarse una estructura de datos FIFO
55 (primero en entrar, primero en salir, conforme a sus siglas en inglés). Un lapso de tiempo almacenado en la FIFO podría ser diferente del número de entradas almacenadas si se usa DTX (modo de transmisión discontinua) Por esa razón, el tamaño de la ventana de la FIFO es limitado de dos maneras. Puede contener como máximo 500 entradas (igual a 10 segundos a 50 paquetes por segundo) y como máximo un lapso de tiempo (diferencia de sello horario RTP entre el paquete más nuevo y el más antiguo) de 10 segundos. Si deben almacenarse más entradas, la entrada
más antigua es eliminada. Para cada paquete RTP recibido en la red, se agregará una entrada a la FIFO. Una entrada contiene tres valores: retraso, desvío y sello horario RTP. Estos valores se calculan a partir del tiempo de recepción (por ejemplo, representado por el sello horario de llegada) y el sello horario RTP del paquete RTP, como se muestra en el pseudocódigo de la Fig. 6.
5
[0074] Como puede observarse en los números de referencia 610 y 612, se computa una diferencia de tiempo entre los sellos horarios RTP de dos paquetes (por ejemplo, paquetes subsiguientes) (de modo que se produzca “rtpDifTiempo”), y se computa una diferencia entre los sellos horarios de recepción de dos paquetes (por ejemplo, paquetes subsiguientes) (de modo que se produzca “rcvDifTiempo”). Además, el sello horario RTP es
10 convertido de una base de tiempo de un dispositivo de transmisión, a una base de tiempo del dispositivo receptor, como puede observarse en el número de referencia 614, de modo que se produzca “rtpTicsTiempo”. De manera similar, las diferencias de tiempo RTP (diferencia entre sellos horarios RTP) son convertidas en una escala de tiempo de receptor/base de tiempo del dispositivo receptor), como puede observarse en el número de referencia 616, de modo que se produzca “rtpDifTiempo”.
15
[0075] A continuación, una información de retraso (“retraso”) es actualizada sobre la base de una información de retraso anterior, como puede observarse en el número de referencia 618. Por ejemplo, si una diferencia de tiempo de recepción (es decir, una diferencia en los tiempos cuando los paquetes se han recibido) es mayor que una diferencia de tiempo RTP (es decir, una diferencia entre los tiempos en los cuales los paquetes se han enviado),
20 puede concluirse que el retraso ha aumentado. Además, se computa una información de tiempo de desvío (“desvío”), como puede observarse en el número de referencia 620, en el que la información de tiempo de desvío representa la diferencia entre un tiempo de recepción (es decir, un tiempo en el que se ha recibido un paquete) y un tiempo en el que un paquete se ha enviado (como es definido por el sello horario RTP, convertido en la escala de tiempo de receptor). Además, la información de retraso, la información de desvío y una información de sello horario
25 RTP (convertida en la escala de tiempo de receptor) se agregan a la FIFO de largo plazo, como puede observarse en el número de referencia 622.
[0076] Posteriormente, se almacena la información actual como información “anterior” para una siguiente iteración, como puede observarse en el número de referencia 624.
30
[0077] Una variabilidad a largo plazo puede calcularse como una diferencia entre un valor de retraso máximo actualmente almacenado en la FIFO y un valor de retraso mínimo:
longTermJitter = !ongTermFifo_getMaxDelay() - longTermFifo_getMinDelay();
35 VariabilidadLargoPlazo = FifolargoPlazo_obtenerMaxRetraso() -FifoLargoPlazo_obtenerMinRetraso();
Estimación de variabilidad a corto plazo
40
45
[0078] En lo que sigue, se describirá la estimación de variabilidad a corto plazo. La estimación de variabilidad
a corto plazo se realiza, por ejemplo, en dos etapas. En una primera etapa, se usa el mismo cálculo de variabilidad que el realizado para la estimación a largo plazo, con las siguientes modificaciones: el tamaño de la ventana de la FIFO es limitada a como máximo 50 entradas, y como máximo, un lapso de tiempo de 1 segundo. El valor resultante de variabilidad se calcula como la diferencia entre el valor del 94% de percentil de retraso actualmente almacenado en la FIFO (los tres valores más altos se ignoran) y el valor mínimo de retraso:
TmpFluct.Cortoplazo = FifoCortoplazo1_obtenerPercentilRetraso(94) - FifoCortoPlazo1_obtenerMinRetraso();
[0079] En una segunda etapa, primero se compensan los diferentes desvíos entre las FIFO a corto plazo y a
50 largo plazo, para este resultado:
TmpFluctuacCortoplazo += FifoCortoplazo1_obtenerMinDesvío(); TmpFluctuacCortoplazo -= FifoLargoplazo_obtenerMinDesvío();
55 [0080] Este resultado se añade a otra FIFO con un tamaño de ventana de como máximo 200 entradas, y un
lapso de tiempo de como máximo cuatro segundos. Finalmente, el máximo valor almacenado en la FIFO se incrementa a un multiplicador de número entero del tamaño de trama, y se usa como variabilidad a corto plazo:
shortTermFifo2_add(shortTermJitterTmp); FifoCortoplazo2_añadir( TmpFluctuacCortoplazo ); FluctuacCortoplazo = techo( FifoCortoplazo2_obtenerMax() / 20.f ) * 20;
5 Estimación de retraso objetivo por una combinación de Estimación de variabilidad a largo/corto plazo
[0081] Con el fin de calcular el retraso objetivo (por ejemplo, la información de retraso objetivo 472), las estimaciones de variabilidad a largo plazo y a corto plazo (por ejemplo, como se define anteriormente como “FluctuacLargoPlazo” y “FluctuacCortoPlazo”) se combinan de diferentes maneras según el estado actual. Para
10 señales activas (o porciones de señal, para las cuales no se usa una generación de ruido de confort), se usa un rango (por ejemplo, definido por “Minobjetivo” y “Maxobjetivo”) como retraso objetivo.
[0082] Durante DTX y para el arranque a continuación de DTX, se calculan dos valores diferentes como retraso objetivo (por ejemplo, “Dtxobjetivo” y “Arranqueobjetivo”).
15
[0083] Los detalles sobre la manera en que diferentes valores de retraso objetivo pueden ser computados pueden observarse, por ejemplo, en la Fig. 7. Como puede observarse, en los números de referencia 710 y 712, los valores “Minobjetivo” y “Maxobjetivo”, que asignan un rango para señales activas, se computan sobre la base de la variabilidad a corto plazo (“FluctuacCortoPlazo”) y la variabilidad a largo plazo (“FluctuacLargoPlazo”). El cómputo
20 del retraso objetivo durante DTX (“Dtxobjetivo”) se muestra en el número de referencia 714, y el cálculo del valor del retraso objetivo para un arranque (por ejemplo, después de DTX) (“ArranqueObjetivo”) se muestra en el número de referencia 716.
5.4.6. Estimación de retraso de transmisión a redes de transmisión 25
[0084] En lo que sigue, se describirá la estimación de retraso de transmisión a redes de transmisión, que
puede ser realizada por el estimador de retraso de transmisión a redes de transmisión 480. El retraso de transmisión a redes de transmisión especifica el retraso de búfer entre el tiempo cuando la trama anterior fue reproducida y el tiempo en que esta trama pudo haber sido recibida si hubiera tenido el menor retraso posible de transmisión sobre la 30 red, en comparación con todas las tramas actualmente contenidas en el historial del módulo de estimación de retraso objetivo. Se calcula en milisegundos usando la siguiente fórmula:
35
RetrasoTransm.RedesTransm = DesvíoTransm.RedesTransm.previa - FifoLargoPlazo_obtenerMinDesvío() +
pcmRetrasoBúfer;
[0085] La variable “DesvíoTransm.RedesTransm.previa” se recalcula cada vez que una trama recibida
aparece del módulo de búfer de eliminación de variabilidad 430 usando el tiempo de sistema actual en milisegundos y el sello horario RTP de la trama convertido en milisegundos:
40
DesvíoTransm.RedesTransm.previa = TiempoSis - rtpSelloHorario
[0086] Con el fin de evitar que “DesvíoTransm.RedesTransm.previa” se desactualice si una trama no está disponible, la variable es actualizada en el caso de la escala de tiempo sobre la base de la trama. Para el estiramiento de tiempo sobre la base de la trama, “DesvíoTransm.RedesTransm.previa” se incrementa por medio de
45 la duración de la trama, y para una reducción de tiempo sobre la base de la trama,
“DesvíoTransm.RedesTransm.previa” se disminuye por medio de la duración de la trama. La variable
“pcmRetrasoBúfer” describe la duración de tiempo con búfer en el módulo de búfer PCM.
5.4.7 Lógica de control 50
[0087] En lo que sigue, se describirá en detalle el control (por ejemplo, la lógica de control 490). Sin embargo,
debe observarse que la lógica de control 800 según la Fig. 8 puede ser suplementada por cualquiera de los rasgos y
las funcionalidades que se describen con respecto al control de búfer de variabilidad 100 y viceversa. Además, debe observarse que la lógica de control 800 puede tomar el lugar de la lógica de control 490 según la Fig. 4, si bien,
55 opcionalmente, puede comprender rasgos y funcionalidades adicionales. Además, no se requiere que todos los rasgos y las funcionalidades que se describen con anterioridad con respecto a la Fig. 4 estén también presentes en la lógica de control 800 según la Fig. 8, y viceversa.
[0088] La Fig. 8 muestra un cuadro de flujo de una lógica de control 800, que puede ser naturalmente
implementada también en soporte físico.
[0089] La lógica de control 800 comprende la extracción 810 de una trama para la decodificación. En otras palabras, se selecciona una trama para la decodificación, y se determina en lo que sigue la manera en que esta
5 decodificación debe realizarse. En una verificación 814, se verifica si una trama anterior (por ejemplo, una trama anterior que precede a la trama extraída para la decodificación en la etapa 810) fue activa o no fue activa. Si se halla en la verificación 814 que la trama anterior fue inactiva, se selecciona una primera vía de decisión (ramificación) 820 que se usa para adaptar una señal inactiva. En contraste, si se halla en la verificación 814 que la trama previa fue activa, se selecciona una segunda vía de decisión (ramificación) 830, que se usa para adaptar una señal activa. La 10 primera vía de decisión 820 comprende la determinación de un valor de “espacio” en una etapa 840, en la que el valor de espacio describe una diferencia entre un retraso de transmisión a redes de transmisión y un retraso objetivo. Además, la primera vía de decisión 820 comprende la decisión 850 sobre una operación de escala de tiempo que se va a realizar sobre la base del valor de espacio. La segunda vía de decisión 830 comprende la selección 860 de una escala de tiempo según si un retraso de transmisión a redes de transmisión real se encuentra 15 dentro de un intervalo de retraso objetivo.
[0090] En lo que sigue, se describirán detalles adicionales con respecto a la primera vía de decisión 820 y la segunda vía de decisión 830.
20 [0091] En la etapa 840 de la primera vía de decisión 820, se realiza una verificación 842 acerca de si una
siguiente trama es activa. Por ejemplo, la verificación 842 puede verificar si la trama extraída para la decodificación en la etapa 810 es activa o no. Alternativamente, la verificación 842 puede verificar si la trama que sigue a la trama extraída para la decodificación en la etapa 810 es activa o no. Si se halla, en la verificación 842, que la siguiente trama no es activa, o que la siguiente trama aún no está disponible, se establece la variable “espacio”, en una etapa 25 844, como una diferencia entre un retraso de transmisión a redes de transmisión real (definida por una variable “RetrasodeTranmisiónaredesdetransmisión”) y un retraso objetivo DTX (representado por la variable “Dtxobjetivo”), como se describe con anterioridad en la “Estimación de retraso objetivo”. En contraste, si se halla en la verificación 840 que la siguiente trama es activa, se establece la variable “espacio” a una diferencia entre el retraso de transmisión a redes de transmisión (representado por la variable “RetrasodeTransmisiónaredesdetransmisión”) y el 30 retraso objetivo de arranque (como se define por la variable “Arranqueobjetivo”) en la etapa 846.
[0092] En la etapa 850, se verifica primero si una magnitud de la variable “espacio” es mayor (o igual) que un umbral. Esto se efectúa en una verificación 852. Si se halla que la magnitud de la variable “espacio” es menor (o igual) que el valor de umbral, no se realiza escala de tiempo. En contraste, si se halla en la verificación 852 que la
35 magnitud de la variable “espacio” es mayor que el umbral (o igual que los valores de umbral, según la implementación), se decide que es necesaria una escala. En otra verificación 854, se verifica si el valor de la variable “espacio” es positivo o negativo (es decir, si la variable “espacio” es mayor que cero o no). Si se halla que el valor de la variable “espacio” no es mayor que cero (es decir, negativo), se inserta una trama en el búfer de eliminación de variabilidad (estiramiento de tiempo sobre la base de la trama en la etapa 856), de manera que se realiza una escala 40 de tiempo sobre la base de la trama. Esto puede ser señalizado, por ejemplo, por la información de escala sobre la base de la trama 434. En contraste, si se halla en la verificación 854, que el valor de la variable “espacio” es mayor que cero, es decir, positivo, se excluye una trama del búfer de eliminación de variabilidad (reducción de tiempo sobre la base de la trama en la etapa 856), de manera que se realiza una escala de tiempo sobre la base de la trama. Esto puede ser señalizado usando la información de escala sobre la base de la trama 434.
45
[0093] En lo que sigue, se describirá la segunda ramificación de decisión 860. En una verificación 862, se verifica si el retraso de transmisión a redes de transmisión es mayor (o igual) al valor objetivo máximo (es decir, un límite superior de un intervalo objetivo), lo que se describe, por ejemplo, por medio de una variable “Maxobjetivo”). Si se halla que el retraso de transmisión a redes de transmisión es mayor (o igual) que el valor objetivo máximo, se
50 realiza una reducción de tiempo por medio del escalador de tiempo 450 (etapa 866, reducción de tiempo sobre la base de la muestra usando el TSM), de manera que se realiza una escala de tiempo sobre la base de la muestra. Esto puede ser señalizado, por ejemplo, por la información de escala sobre la base de la muestra 444. Sin embargo, si se halla en la verificación 862 que el retraso de transmisión a redes de transmisión es menor (o igual) al retraso objetivo máximo, se realiza una verificación 864, en la que se verifica si el retraso de transmisión a redes de 55 transmisión es menor (o igual) que un retraso objetivo mínimo, lo que se describe, por ejemplo, por la variable “Minobjetivo”. Si se halla que el retraso de transmisión a redes de transmisión es menor (o igual) que el retraso objetivo mínimo, un estiramiento de tiempo es realizado por el escalador de tiempo 450 (etapa 866, estiramiento de tiempo sobre la base de la muestra usando el TSM), de manera que se realiza una escala de tiempo sobre la base de la muestra. Esto puede ser señalizado, por ejemplo, por la información de escala sobre la base de la muestra
444. Sin embargo, si se halla en la verificación 864 que el retraso de transmisión a redes de transmisión no es menor (o igual) que el retraso objetivo mínimo, no se realiza escala de tiempo.
[0094] Como conclusión, el módulo de lógica de control (también designado como lógica de control de 5 gestión de búfer de variabilidad) que se muestra en la Fig. 8 compara el retraso real (retraso de transmisión a redes
de transmisión) con el retraso deseado (retraso objetivo). En el caso de una diferencia significativa, origina la escala de tiempo. Durante el ruido de confort (por ejemplo, cuando la bandera SID está activa), se originará la escala de tiempo sobre la base de la trama y será ejecutada por el módulo de búfer de eliminación de variabilidad. Durante períodos activos, la escala de tiempo sobre la base de la muestra es originada y ejecutada por el módulo TSM.
10
[0095] La Fig. 12 muestra un ejemplo para la estimación de retraso objetivo y de transmisión a redes de transmisión. Una abscisa 1210 de la representación gráfica 1200 describe un tiempo, y una ordenada 1212 de la representación gráfica 1200 describe un retraso en milisegundos. La serie “Minobjetivo” y “Maxobjetivo” crea un rango de retraso deseado por el módulo de estimación de retraso objetivo después de la variabilidad de red
15 ventaneada. El retraso de transmisión a redes de transmisión “RetrasodeTransmisiónaredesdetransmisión” se mantiene típicamente dentro del rango, si bien la adaptación podría ser retrasada levemente debido a la modificación de escala de tiempo adaptativa a la señal.
[0096] La Fig. 13 muestra las operaciones de escala de tiempo ejecutadas en el trazado de la Fig. 12. Una 20 abscisa 1310 de la representación gráfica 1300 describe un tiempo en segundos, y una ordenada 1312 describe una
escala de tiempo en milisegundos. Los valores positivos indican estiramiento de tiempo, los valores negativos, reducción de tiempo, en la representación gráfica 1300. Durante la ráfaga, ambos búfers se vacían de una vez, y se inserta una trama oculta para el estiramiento (más 20 milisegundos a 35 segundos). Para todas las otras adaptaciones, puede usarse el procedimiento de escala de tiempo sobre la base de la muestra de más alta calidad, 25 que logra diversas escalas debido a la estrategia de adaptación de señal.
[0097] Como conclusión, el retraso objetivo está adaptado dinámicamente en respuesta a un incremento de la variabilidad (y, además, en respuesta a una disminución de la variabilidad) sobre una cierta ventana. Cuando el retraso objetivo incrementa o disminuye, se realiza típicamente una escala de tiempo, en la que se toma una
30 decisión acerca del tipo de escala de tiempo de manera adaptativa a la señal. Siempre que la trama actual (o la trama anterior) sea activa, se realiza una escala de tiempo sobre la base de la muestra, donde el retraso real de la escala de tiempo sobre la base de la muestra se adapta de manera adaptativa a la señal con el fin de reducir artefactos. En consecuencia, no hay típicamente una cantidad establecida de escala de tiempo cuando se aplica la escala de tiempo sobre la base de la muestra. Sin embargo, cuando el búfer de variabilidad se vacía, es necesario 35 (o recomendable) - como una manipulación excepcional - insertar una trama oculta (que constituye una escala de tiempo sobre la base de la trama) incluso cuando una trama anterior (o una trama actual) sea activa.
5.8. Modificación de escala de tiempo según la Fig. 9
40 [0098] En lo que sigue, se describirán detalles con respecto a la modificación de escala de tiempo con
referencia a la Fig. 9. Debe observarse que la modificación de escala de tiempo ha sido descrita brevemente en la sección 5.4.3. Sin embargo, la modificación de escala de tiempo, que, por ejemplo, puede ser realizada por el escalador de tiempo 150, se describirá en más detalle en lo que sigue.
45 [0099] La Fig. 9 muestra un cuadro de flujo de una WSOLA modificada, con control de calidad, según una
realización de la presente invención. Debe observarse que la escala de tiempo 900 según la Fig. 9 puede ser suplementada por cualquiera de los rasgos y las funcionalidades que se describen con respecto al escalador de tiempo 200 según la Fig. 2, y viceversa. Además, debe observarse que la escala de tiempo 900 según la Fig. 9 puede corresponder al escalador de tiempo sobre la base de la muestra 340 según la Fig. 3, y al escalador de 50 tiempo 450 según la Fig. 4. Además, la escala de tiempo 900 según la Fig. 9 puede tomar el lugar de la escala de tiempo sobre la base de la muestra 866.
[0100] La escala de tiempo (o el escalador de tiempo, o el modificador de escalador de tiempo) 900 recibe
muestras (de audio) decodificadas 910, por ejemplo, en una forma modulada por impulsos codificados (PCM). Las 55 muestras decodificadas 910 pueden corresponder a las muestras decodificadas 442, a las muestras de audio 332 o a la señal de audio de entrada 210. Además, el escalador de tiempo 900 recibe una información de control 912, que, por ejemplo, puede corresponder a la información de escala sobre la base de la muestra 444. La información de control 912, por ejemplo, puede describir una escala objetivo y/o un tamaño de trama mínimo (por ejemplo, un número mínimo de muestras de una trama de muestras de audio 448 que se va a proporcionar al búfer PCM 460). El
escalador de tiempo 900 comprende un conmutador (o una selección) 920, en el que se decide, sobre la base de la información acerca de la escala objetivo, si debe realizarse una reducción de tiempo, si debe realizarse un estiramiento de tiempo o si no debe realizarse una escala de tiempo. Por ejemplo, la conmutación (o verificación, o selección) 920 puede basarse sobre la información de escala sobre la base de la muestra 444 recibida desde la 5 lógica de control 490.
[0101] Si se halla, sobre la base de la información de escala objetivo, que no debe realizarse escala, las muestras decodificadas recibidas 910 son avanzadas en una forma no modificada como una salida del escalador de tiempo 900. Por ejemplo, las muestras decodificadas 910 son avanzadas, en una forma no modificada, al búfer PCM
10 460 como las muestras “con escala de tiempo” 448.
[0102] En lo que sigue, se describirá un flujo de procesamiento para el caso de que deba realizarse una reducción de tiempo (que puede ser hallada por la verificación 920, sobre la base de la información de escala objetivo 912). En el caso de que se desee una reducción de tiempo, se realiza un cálculo de energía 930. En este
15 cálculo de energía 930, se calcula una energía de un bloque de muestras (por ejemplo, de una trama que comprende una cantidad determinada de muestras). Después del cálculo de energía 930, se realiza una selección (o conmutación, o verificación) 936. Si se halla que un valor de energía 932 proporcionado por el cálculo de energía 930 es mayor (o igual) que un valor de umbral de energía (por ejemplo, un valor de umbral de energía Y), se selecciona una primera vía de procesamiento 940, que comprende una determinación adaptativa a la señal, de una 20 cantidad de escala de tiempo dentro de una escala de tiempo sobre la base de la muestra. En contraste, si se halla que el valor de energía 932 proporcionado por el cálculo de energía 930 es menor (o igual) que el valor de umbral (por ejemplo, el valor de umbral Y), se selecciona una segunda vía de procesamiento 960, donde se aplica una cantidad establecida de cambio de tiempo en una escala de tiempo sobre la base de la muestra. En la primera vía de procesamiento 940, en la que se determina una cantidad de cambio de tiempo de una manera adaptativa a la 25 señal, se realiza una estimación de similitud 942 sobre la base de las muestras de audio. La estimación de similitud 942 puede considerar una información de tamaño de trama mínimo 944 y puede proporcionar una información 946 acerca de la más alta similitud (o acerca de una posición de más alta similitud). En otras palabras, la estimación de similitud 942 puede determinar la posición (por ejemplo, la posición de muestras dentro de un bloque de muestras) que es más adecuada para una operación de reducción de tiempo de superposición y adición. La información 946 30 acerca de la más alta similitud es avanzada a un control de calidad 950, que computa o estima si una operación de superposición y adición usando la información 946 acerca de la más alta similitud logrará una calidad de audio que es mayor (o igual) a un valor de umbral de calidad X (que puede ser constante o que puede ser variable). Si se halla, mediante el control de calidad 950, que la calidad de una operación de superposición y adición (o de manera equivalente, de una versión con escala de tiempo de la señal de audio de entrada que se obtiene por la operación de 35 superposición y adición) será menor (o igual) que el valor de umbral de calidad X, se omite una escala de tiempo, y las muestras de audio sin escala salen del escalador de tiempo 900. En contraste, si se halla, mediante el control de calidad 950, que la calidad de una operación de superposición y adición usando la información 946 acerca de la más alta similitud (o acerca de la posición de más alta similitud) será mayor o igual que el valor de umbral de calidad X, se realiza una operación de superposición y adición 954, donde un cambio, que se aplica en la operación de
40 superposición y adición, es descrito por la información 946 acerca de la más alta similitud (o acerca de la posición de
la más alta similitud). En consecuencia, un bloque (o trama) con escala de muestras de audio es proporcionado por la operación de superposición y adición.
[0103] El bloque (o la trama) de muestras con escala de tiempo de audio 956, por ejemplo, puede
45 corresponder a las muestras con escala de tiempo 448. De manera similar, un bloque (o trama) de muestras de
audio sin escala 952, que son proporcionadas si el control de calidad 950 halla que una calidad de obtención será menor o igual que el valor de umbral de calidad X, puede corresponder además a las muestras “con escala de tiempo” 448 (donde en realidad no hay escala de tiempo en este caso).
50 [0104] En contraste, si se halla en la selección 936 que la energía de un bloque (o una trama) de muestras de
audio de entrada 910 es menor (o igual) que el valor de umbral de energía Y, se realiza una operación de superposición y adición 962, en la que un cambio, que se usa en la operación de superposición y adición, es definido por el tamaño de trama mínimo (descrito por una información de tamaño de trama mínimo), y en la que se obtiene un bloque (o una trama) de muestras de audio con escala 964, que puede corresponder a las muestras con escala de 55 tiempo 448.
[0105] Además, debe observarse que un procesamiento, que es realizado en el caso de un estiramiento de
tiempo, es análogo a un procesamiento efectuado en la reducción de tiempo con una estimación de similitud modificada y superposición y adición.
[0106] Como conclusión, debe observarse que se distinguen tres casos diferentes en la escala de tiempo
sobre la base de la muestra adaptativa a la señal, cuando se selecciona una reducción de tiempo o un estiramiento de tiempo. Si una energía de un bloque (o una trama) de muestras de audio de entrada comprende una energía 5 comparativamente pequeña (por ejemplo, menor (o igual) al valor de umbral de energía Y), se realiza una operación de superposición y adición de reducción de tiempo o de estiramiento de tiempo con un cambio de tiempo establecido (es decir, con una cantidad establecida de reducción de tiempo o estiramiento de tiempo). En contraste, si la energía del bloque (o trama) de muestras de audio de entrada es mayor (o igual) al valor de umbral de energía Y, se determina una cantidad “óptima” (además, a veces designada como “candidata” en esta solicitud) de reducción de 10 tiempo o de estiramiento de tiempo, por medio de la estimación de similitud (estimación de similitud 942). En una subsiguiente etapa de control de calidad, se determina si se obtendrá una suficiente calidad por medio de dicha operación de superposición y adición usando la cantidad anteriormente determinada “óptima” de reducción de tiempo o estiramiento de tiempo. Si se halla que podría lograrse una calidad suficiente, se realiza la operación de superposición y adición usando la cantidad determinada “óptima” de reducción de tiempo o estiramiento de tiempo. 15 Si, en contraste, se halla que no puede alcanzarse una calidad suficiente usando una operación de superposición y adición utilizando la cantidad anteriormente determinada “óptima” de reducción de tiempo o estiramiento de tiempo, se omite la reducción de tiempo o el estiramiento de tiempo (o se pospone hasta un punto posterior en el tiempo, por ejemplo, hasta una trama posterior).
20 [0107] En lo que sigue, se describirán algunos detalles adicionales con respecto a la escala de tiempo
adaptativa a la calidad, que puede ser realizada por el escalador de tiempo 900 (o por el escalador de tiempo 200, o por el escalador de tiempo 340, o por el escalador de tiempo 450). Los procedimientos de escala de tiempo mediante el uso de superposición y adición (OLA) están ampliamente disponibles, si bien, en general, no realizan resultados de escala de tiempo adaptativa a la señal. En la solución descrita, que puede usarse en los escaladores 25 de tiempo que se describen en la presente solicitud, la cantidad de escala de tiempo no solo depende de la posición extraída por la estimación de similitud (por ejemplo, por la estimación de similitud 942), que parece óptima para una escala de tiempo de alta calidad, sino, además, de una calidad esperada de la superposición y adición (por ejemplo, de la superposición y adición 954). Por lo tanto, se introducen dos etapas de control de calidad en el módulo de escala de tiempo (por ejemplo, en el escalador de tiempo 900, o en los otros escaladores de tiempo que aquí se 30 describen), con el fin de decidir si la escala de tiempo producirá artefactos audibles. En el caso de potenciales artefactos, la escala de tiempo se pospone hasta un punto en el tiempo en el que será menos audible.
[0108] Una primera etapa de control de calidad calcula una medida de calidad objetivo mediante el uso de la
posición p extraída por la medida de similitud (por ejemplo, por la estimación de similitud 942) como entrada. En el 35 caso de una señal periódica, p será la frecuencia fundamental de la trama actual. La correlación cruzada normalizada c() se calcula para las posiciones p, 2*p, 3/2*p y 1/2*p. Se espera que c(p) sea un valor positivo, y c(1/2*p) podría ser positivo o negativo. Para señales armónicas, el signo de c(2p) además debe ser positivo, y el signo de c(3/2*p) debe ser igual al signo de c(1/2*p). Esta relación puede usarse para crear una medida de calidad objetivo q:
40
imagen1
[0109] El rango de valores para q es [-2; +2]. Una señal armónica ideal resultaría en q = 2, mientras que las
señales muy dinámicas y de banda ancha que podrían crear artefactos audibles durante la escala de tiempo 45 producirán un valor menor. Debido a que la escala de tiempo se realiza sobre una base de trama por trama, la señal entera para calcular c(2*p) y c(3/2*p) podría no estar aún disponible. Sin embargo, la evaluación puede realizarse también mediante la observación de muestras pasadas. Por lo tanto, c(-p) puede usarse en lugar de c(2*p), y de manera similar, c(-1/2*p) puede usarse en lugar de c(3/2*p).
50 [0110] Una segunda etapa de control de calidad compara el valor actual de la medida de calidad objetivo q
con un valor de calidad mínimo dinámico qMin (que puede corresponder al valor de umbral de calidad X) con el fin de determinar si debe aplicarse la escala de tiempo a la trama actual.
[0111] Existen diferentes intenciones para tener un valor de calidad mínimo dinámico: si q tiene un valor bajo
55 debido a que la señal es evaluada como mala para la escala durante un largo período, qMin debe reducirse lentamente, con el fin de garantizar que la escala esperada aún sea ejecutada en cierto punto en el tiempo con una menor calidad esperada. Por otra parte, las señales con un alto valor para q no deberían resultar en la escala de muchas tramas en una fila, lo que reduciría la calidad con respecto a las características de señal de largo plazo (por
ejemplo, ritmo).
[0112] Por lo tanto, se usa la siguiente fórmula para calcular la calidad mínima dinámica qMin (que, por
ejemplo, puede ser equivalente al valor de umbral de calidad X):
qMin = qMinInicial - (nSinEscala * 0,1) + (nConEscala * 0,2)
[0113] qMinInicial es un valor de configuración para optimizar entre una cierta calidad y el retraso hasta que
una trama pueda ser sometida a escala con la calidad requerida, de la cual un valor de 1 es un buen compromiso.
10 nSinEscala es un contador de tramas que no se han sometido a la escala debido a la insuficiente calidad (q < qMin). nConEscala cuenta el número de tramas que se han sometido a la escala debido a que se alcanzó el requisito de calidad (q >= qMin). El rango de ambos contadores es limitado: no serán reducidos a valores negativos, y no serán incrementados sobre un valor designado, que se establece para ser 4 por defecto (por ejemplo).
15 [0114] La trama actual será sometida a la escala de tiempo por la posición p si q >= qMin; de otro modo, la
escala de tiempo será pospuesta hasta una siguiente trama donde se cumpla esta condición. El pseudocódigo de la Fig. 11 ilustra el control de calidad para la escala de tiempo.
[0115] Como puede observarse, el valor inicial para qMin se establece en 1, donde dicho valor inicial se
20 designa con “qMinInicial” (conferir número de referencia 1110). De manera similar, un valor de contador máximo de nConEscala (designado como variable “Elevacióndecalidad”) es inicializado en 4, como puede observarse en el número de referencia 1112. Un valor máximo de contador nSinEscala es inicializado en 4 (variable “Redcalidad”), conferir número de referencia 1114. A continuación, se extrae la información de posición p por medio de una medida de similitud, como puede observarse en el número de referencia 1116. Posteriormente, se computa un valor de 25 calidad q para la posición descrita por el valor de posición p según la ecuación que puede observarse en el número de referencia 1116. Un valor de umbral de calidad qMin es computado según la variable qMinInicial y, además, según los valores del contador nSinEscala y nConEscala, como puede observarse en el número de referencia 1118. Como puede observarse, el valor inicial qMinInicial para el valor de umbral de calidad qMin es reducido por un valor que es proporcional al valor del contador nSinEscala, y es incrementado por un valor que es proporcional al valor 30 nConEscala. Como puede observarse, los valores máximos para los valores de contador nSinEscala y nConEscala además determinan un máximo incremento del valor de umbral de calidad qMin y una máxima disminución del valor de umbral de calidad qMin. Posteriormente, se realiza una verificación de si el valor de calidad q es mayor o igual que el valor de umbral de calidad qMin, como puede observarse en el número de referencia 1120.
35 [0116] Si este es el caso, se ejecuta una operación de superposición y adición, como puede observarse en el
número de referencia 1122. Además, la variable del contador nSinEscala se reduce, donde se garantiza que dicha variable de contador no sea negativa. Además, la variable de contador nConEscala se incrementa, en la que se garantiza que nConEscala no exceda el límite superior definido por la variable (o constante) Elevacióndecalidad. Una adaptación de las variables de contador puede observarse en los números de referencia 1124 y 1126.
40
[0117] En contraste, si se halla en la comparación expuesta en el número de referencia 1120 que el valor de
calidad q es menor que el umbral de calidad qMin, se omite la ejecución de la operación de superposición y adición, la variable de contador nSinEscala se incrementa, teniendo en cuenta que la variable de contador nSinEscala no exceda un umbral definido por la variable (o constante) Redcalidad, y la variable de contador nConEscala se reduce, 45 teniendo en cuenta que la variable de contador nConEscala no se torne negativa. La adaptación de las variables de contador para el caso en que la calidad sea insuficiente se muestra en los números de referencia 1128 y 1130.
5.9. Escalador de tiempo según las Figs. 10a y 10b
50 [0118] En lo que sigue, se explicará un escalador de tiempo adaptativo a la señal con referencia a las Figs.
10a y 10b. Las Figs. 10a y 10b muestran un cuadro de flujo de una escala de tiempo adaptativa a la señal. Debe observarse que la escala de tiempo adaptativa a la señal, como se muestra en las Figs. 10a y 10b, por ejemplo, puede aplicarse en el escalador de tiempo 200, en el escalador de tiempo 340, en el escalador de tiempo 450 o en el escalador de tiempo 900.
55
[0119] El escalador de tiempo 1000 según las Figs. 10a y 10b comprende un cálculo de energía 1010, en el
que se computa una energía de una trama (o una porción, o un bloque) de muestras de audio. Por ejemplo, el cálculo de energía 1010 puede corresponder al cálculo de energía 930. A continuación, se realiza una verificación 1014, en la que se verifica si el valor de energía obtenido en el cálculo de energía 1010 es mayor (o igual) a un valor
de umbral de energía (que, por ejemplo, puede ser un valor de umbral de energía establecido). Si se halla, en la verificación 1014, que el valor de energía obtenido en el cálculo de energía 1010 es menor (o igual) que el valor de umbral de energía, puede asumirse que puede obtenerse una suficiente calidad por medio de una operación de superposición y adición, y se realiza la operación de superposición y adición con un máximo cambio de tiempo (a fin 5 de obtener una máxima escala de tiempo) en una etapa 1018. En contraste, si se halla en la verificación 1014 que el valor de energía obtenido en el cálculo de energía 1010 no es menor (o igual) al valor de umbral de energía, se realiza una búsqueda para una mejor coincidencia de un segmento de patrón dentro de una región de búsqueda, usando una medida de similitud. Por ejemplo, la medida de similitud puede ser una correlación cruzada, una correlación cruzada normalizada, una función de diferencia de magnitud promedio o una suma de errores 10 cuadrados. En lo que sigue, se describirán algunos detalles referidos a esta búsqueda de una mejor coincidencia, y se explicará además la manera en que puede obtenerse un estiramiento de tiempo o una reducción de tiempo.
[0120] Se hace referencia ahora a una representación gráfica en el número de referencia 1040. Una primera representación 1042 muestra un bloque (o trama) de muestras que se inicia en el tiempo t1 y que termina en el
15 tiempo t2. Como puede observarse, el bloque de muestras que se inicia en t1 y que termina en el tiempo t2 puede dividirse lógicamente en un primer bloque de muestras, que se inicia en el tiempo t1 y que termina en el tiempo t3, y un segundo bloque de muestras, que se inicia en el tiempo t4 y que termina en el tiempo t2. Sin embargo, el segundo bloque de muestras es sometido a continuación a cambio de tiempo con respecto al primer bloque de muestras, lo que puede observarse en el número de referencia 1044. Por ejemplo, como consecuencia de un primer 20 cambio de tiempo, el segundo bloque de muestras con cambio de tiempo se inicia en el tiempo t4' y termina en el tiempo t2'. En consecuencia, hay una superposición temporal entre el primer bloque de muestras y el segundo bloque de muestras con cambio de tiempo entre los tiempos t4' y t3. Sin embargo, como puede observarse, no hay buena coincidencia (es decir, no hay alta similitud) entre el primer bloque de muestras y la versión del segundo bloque de muestras con cambio de tiempo, por ejemplo, en la región de superposición entre los tiempos t4' y t3 (o 25 dentro de una porción de dicha región de superposición entre los tiempos t4' y t3). En otras palabras, el escalador de tiempo, por ejemplo, puede cambiar en tiempo el segundo bloque de muestras, como se muestra en el número de referencia 1044, y determinar una medida de similitud para la región de superposición (o para una parte de la región de superposición) entre los tiempos t4' y t3. Además, el escalador de tiempo puede aplicar además un cambio de tiempo adicional al segundo bloque de muestras, como se exhibe en el número de referencia 1046, de tal manera 30 que la versión con (dos veces) cambio de tiempo, del segundo bloque de muestras se inicia en el tiempo t4'' y termina en el tiempo t2'' (con t2'' > t2' > t2 y, de manera similar, t4'' > t4' > t4). El escalador de tiempo puede determinar además una información de similitud (cuantitativa) que representa una similitud entre el primer bloque de muestras y la versión del segundo bloque de muestras con dos cambios, por ejemplo, entre los tiempos t4'' y t3 (o, por ejemplo, dentro de una porción entre los tiempos t4'' y t3). Por lo tanto, el escalador de tiempo evalúa para qué 35 cambio de tiempo de la versión con cambio de tiempo, del segundo bloque de muestras, la similitud, en la región de superposición con el primer bloque de muestras, se maximiza (o es al menos mayor que un valor de umbral). En consecuencia, puede determinarse un cambio de tiempo que logra una “mejor coincidencia” en términos de que la similitud entre el primer bloque de muestras y la versión con cambio de tiempo, del segundo bloque de muestras, se maximiza (o es al menos suficientemente grande). Por lo tanto, si hay una suficiente similitud entre el primer bloque 40 de muestras y la versión con dos veces de cambio de tiempo, del segundo bloque de muestras, dentro de la región de superposición temporal (por ejemplo, entre los tiempos t4'' y t3), puede esperarse, con una fiabilidad determinada por la medida utilizada de similitud, que una operación de superposición y adición que superpone y agrega el primer bloque de muestras y la versión con dos veces de cambio de tiempo del segundo bloque de muestras, logre una señal de audio sin sustanciales artefactos audibles. Además, debe observarse que una superposición y adición entre 45 el primer bloque de muestras y la versión con dos veces de cambio de tiempo del segundo bloque de muestras logra una porción de señal de audio que tiene una extensión temporal entre los tiempos t1 y t2'', que es mayor que la “original” señal de audio, que se extiende desde el tiempo t1 hasta el tiempo t2. En consecuencia, puede lograrse un estiramiento de tiempo mediante la superposición y adición del primer bloque de muestras y la versión con dos veces cambio de tiempo del segundo bloque de muestras.
50
[0121] De manera similar, puede lograrse una reducción de tiempo, como se explicará con referencia a la representación gráfica en el número de referencia 1050. Como puede observarse en el número de referencia 1052, hay un bloque original (o trama) de muestras, que se extiende entre los tiempos t11 y t12. El bloque original (o trama) de muestras puede dividirse, por ejemplo, en un primer bloque de muestras que se extiende desde el tiempo
55 t11 hasta el tiempo t13, y un segundo bloque de muestras que se extiende desde el tiempo t13 hasta el tiempo t12. El segundo bloque de muestras tiene cambio de tiempo hacia la izquierda, como puede observarse en el número de referencia 1054. En consecuencia, la versión con (una vez) cambio de tiempo, del segundo bloque de muestras se inicia en el tiempo t13' y termina en el tiempo t12'. Además, hay una superposición temporal entre el primer bloque de muestras y la versión con una vez de cambio de tiempo, del segundo bloque de muestras entre los tiempos t13' y
t13. Sin embargo, el escalador de tiempo puede determinar una información de similitud (cuantitativa) que representa una similitud del primer bloque de muestras y de la versión con (una vez) cambio de tiempo del segundo bloque de muestras entre los tiempos t13' y t13 (o para una porción del tiempo entre los tiempos t13' y t13), y hallar que la similitud no es particularmente buena. Además, el escalador de tiempo puede someter adicionalmente a 5 cambio de tiempo al segundo bloque de muestras, con el fin de obtener una versión con dos veces cambio de tiempo, de los segundos bloques de muestras, lo que se muestra en el número de referencia 1056, y que se inicia en el tiempo t13'' y termina en el tiempo t12''. Por lo tanto, hay una superposición entre el primer bloque de muestras y la versión con (dos veces) cambio de tiempo, del segundo bloque de muestras, entre los tiempos t13'' y t13. Puede hallarse, mediante el escalador de tiempo, que una información de similitud (cuantitativa) indica una alta similitud 10 entre el primer bloque de muestras y la versión con dos veces cambio de tiempo del segundo bloque de muestras entre los tiempos t13'' y t13. Por lo tanto, puede concluirse que mediante el escalador de tiempo, puede realizarse una operación de superposición y adición con buena calidad y menos artefactos audibles entre el primer bloque de muestras y la versión con dos veces cambio de tiempo del segundo bloque de muestras (al menos con la fiabilidad proporcionada por la medida de similitud utilizada). Además, puede considerarse también una versión del segundo 15 bloque de muestras con tres veces de cambio de tiempo, que se muestra en el número de referencia 1058. La versión de tres veces de cambio de tiempo del segundo bloque de muestras puede iniciarse en el tiempo t13’” y finalizar como el tiempo t12'''. Sin embargo, la versión de tres veces de cambio de tiempo del segundo bloque de muestras puede no comprender una buena similitud con el primer bloque de muestras en la región de superposición entre los tiempos t13''' y t13, debido a que el cambio de tiempo no fue apropiado. En consecuencia, el escalador de 20 tiempo puede hallar que la versión de dos veces de cambio de tiempo del segundo bloque de muestras comprende una mejor coincidencia (mejor similitud en la región de superposición, y/o en un entorno de la región de superposición, y/o en una porción de la región de superposición) con el primer bloque de muestras. Por lo tanto, el escalador de tiempo puede realizar la superposición y adición del primer bloque de muestras y de la versión de dos veces de cambio de tiempo del segundo bloque de muestras, siempre que una verificación de calidad adicional (que 25 puede sustentarse en una segunda medida más significativa de similitud) indique una calidad suficiente. Como consecuencia de la operación de superposición y adición, se obtiene un bloque de muestras combinado, que se extiende desde el tiempo t11 hasta el tiempo t12'', y que es temporalmente más corto que el bloque original de muestras desde el tiempo t11 hasta el tiempo t12. Por consiguiente, puede realizarse una reducción de tiempo.
30 [0122] Debe observarse que las anteriores funcionalidades, que se han descrito con referencia a las
representaciones gráficas en los números de referencia 1040 y 1050, pueden ser realizadas por la búsqueda 1030, en la que se proporciona una información acerca de la posición de más alta similitud como consecuencia de la búsqueda para una mejor coincidencia (en la que la información o el valor que describe la posición de la más alta similitud se designa también con p en esta solicitud). La similitud entre el primer bloque de muestras la versión con 35 cambio de tiempo del segundo bloque de muestras dentro de las respectivas regiones de superposición puede ser determinada mediante el uso de una correlación cruzada, mediante el uso de una correlación cruzada normalizada, mediante el uso de una función de diferencia de magnitud promedio o mediante el uso de una suma de errores cuadrados.
40 [0123] Una vez que se determina la información acerca de la posición de más alta similitud (p), se realiza un
cálculo 1060 de una calidad de coincidencia para la posición identificada (p) de más alta similitud. Este cálculo puede efectuarse, por ejemplo, como se muestra en el número de referencia 1116 en la Fig. 11. En otras palabras, la información (cuantitativa) acerca de la calidad de coincidencia (que, por ejemplo, puede ser designada con q) puede ser calculada mediante el uso de la combinación de cuatro valores de correlación, que pueden obtenerse 45 para diferentes cambios de tiempo (por ejemplo, cambios de tiempo p, 2*p, 3/2*p y 1/2*p). Por lo tanto, puede obtenerse la información (cuantitativa) (q) que representa la calidad de coincidencia.
[0124] Con referencia ahora a la Fig. 10b, se realiza una verificación 1064, en la que se compara la
información cuantitativa q que describe la calidad de coincidencia, con un valor de umbral de calidad qMin. Esta 50 verificación o comparación 1064 puede evaluar si la calidad de coincidencia, representada por una variable q, es mayor (o igual) que la variable de valor de umbral de calidad qMin. Si se halla en la verificación 1064 que la calidad de coincidencia es suficiente (es decir, mayor o igual que la variable de valor de umbral de calidad), se aplica una operación de superposición y adición (etapa 1068) mediante el uso de la posición de más alta similitud (que se describe, por ejemplo, mediante la variable p). En consecuencia, se realiza una operación de superposición y 55 adición, por ejemplo, entre el primer bloque de muestras y la versión con cambio de tiempo del segundo bloque de muestras, que logra una “mejor coincidencia” (es decir, en un valor más alto de información de similitud). Para los detalles, se hace referencia, por ejemplo, a las explicaciones efectuadas con respecto a las representaciones gráficas 1040 y 1050. La aplicación de la superposición y adición se muestra además en el número de referencia 1122 en la Fig. 11. Además, una actualización de un contador de tramas se realiza en la etapa 1072. Por ejemplo,
una variable de contador “nSinEscala” y una variable de contador “nConEscala” son actualizadas, por ejemplo, como se describe con referencia a la Fig. 11 en los números de referencia 1124 y 1126. En contraste, si se halla en la verificación 1064 que la calidad de coincidencia es insuficiente (por ejemplo, menor (o igual) que la variable de valor de umbral de calidad qmin), se evita la operación de superposición y adición (por ejemplo, se pospone), lo que se 5 indica en el número de referencia 1076. En este caso, los contadores de trama son además actualizados, como se muestra en la etapa 1080. La actualización de los contadores de trama puede realizarse, por ejemplo, como se muestra en los números de referencia 1128 y 1130 en la Fig. 11. Además, el escalador de tiempo descrito con referencia a las Figs. 10a y 10b puede además computar la variable de valor de umbral de calidad qMin, que se muestra en el número de referencia 1084. El cómputo de la variable de valor de umbral de calidad qMin puede 10 efectuarse, por ejemplo, como se muestra en el número de referencia 1118 en la Fig. 11.
[0125] Como conclusión, el escalador de tiempo 1000, cuya funcionalidad ha sido descrita con referencia a las Figs. 10a y 10b en la forma de un cuadro de flujo, puede realizar una escala de tiempo sobre la base de la muestra mediante el uso de un mecanismo de control de calidad (etapas 1060 a 1084).
15
5.10. Procedimiento según la Fig. 14
[0126] La Fig. 14 muestra un diagrama de flujo para un procedimiento para el control de una provisión de un contenido de audio decodificado sobre la base de un contenido de audio de entrada. El procedimiento 1400 según la
20 Fig. 14 comprende la selección 1410 de una escala de tiempo sobre la base de la trama o una escala de tiempo sobre la base de la muestra de manera adaptativa a la señal.
[0127] Además, debe observarse que el procedimiento 1400 puede ser suplementado por cualquiera de los rasgos y las funcionalidades que se describen en la presente solicitud, por ejemplo, con respecto al control de búfer
25 de variabilidad.
5.11. Procedimiento según la Fig. 15
[0128] La Fig. 15 muestra un diagrama esquemático de bloques de un procedimiento 1500 para la provisión 30 de una versión con escala de tiempo de una señal de audio de entrada. El procedimiento comprende el cómputo o la
estimación 1510 de una calidad de una versión con escala de tiempo de la señal de audio de entrada que se obtiene por una escala de tiempo de la señal de audio de entrada. Además, el procedimiento 1500 comprende la realización 1520 de la escala de tiempo de la señal de audio de entrada según el cómputo o la estimación de la calidad de la versión con escala de tiempo de la señal de audio de entrada que se obtiene por la escala de tiempo.
35
[0129] El procedimiento 1500 puede ser suplementado por cualquiera de los rasgos y las funcionalidades que se describen en la presente solicitud, por ejemplo, con referencia al escalador de tiempo.
6. Conclusiones 40
[0130] Como conclusión, las realizaciones según la invención crean un procedimiento de gestión de búfer de variabilidad y un aparato para la comunicación de audio y discurso de alta calidad. El procedimiento y el aparato pueden usarse junto con códecs [codificadores-decodificadores] de comunicación, tales como MPEG ELD [Pantalla electroluminiscente del Grupo de Expertos en Imágenes en Movimiento, conforme a sus siglas en inglés], AMR-WB
45 [Banda Ancha de Compresión Multitasa Adaptativa, conforme a sus siglas en inglés], o futuros códecs. En otras palabras, las realizaciones según la invención crean un procedimiento y un aparato para la compensación de la variabilidad inter-llegada en la comunicación sobre la base de paquetes. Las realizaciones de la invención pueden aplicarse, por ejemplo, en la tecnología denominada “3GPP EVS”.
50 [0131] En lo que sigue, se describirán brevemente algunos ejemplos adicionales. La solución de gestión del
búfer de variabilidad que se describe en la presente solicitud crea un sistema, en el que un número de módulos descritos están disponibles y se combinan de la manera descrita con anterioridad. Un ejemplo es una selección adaptativa de señal de un procedimiento de escala de tiempo para la gestión de búfer de variabilidad adaptativa. La solución descrita combina escalado de tiempo basado en trama y escalado de tiempo basado en muestra en la 55 lógica de control para que las ventajas de ambos procedimientos se combinen. Los procedimientos de escalado de tiempo disponibles son: •
• Inserción/eliminación de ruido de confort en DTX
• Superposición y adición (OLA) sin correlación en baja energía de señal (por ejemplo, para tramas que tienen baja energía de señal);
• WSOLA para señales activas;
• Inserción de trama oculta para el estiramiento en el caso de búfer de variabilidad vacío.
5
La solución que se describe en la presente solicitud describe un mecanismo para combinar procedimientos sobre la base de la trama (inserción y eliminación de ruido de confort, e inserción de tramas ocultas para el estiramiento) con procedimientos sobre la base de la muestra (WSOLA para señales activas, y superposición y adición no sincronizadas (OLA), para señales de baja energía). En la Fig. 8, se ilustra la lógica de control que selecciona la 10 tecnología óptima para la modificación de escala de tiempo según una realización de la invención.
[0132] Según un ejemplo adicional que se describe en la presente solicitud, se usan múltiples objetivos para la gestión del búfer de variabilidad adaptativo. En la solución descrita, la estimación de retraso objetivo emplea diferentes criterios de optimización para el cálculo de un solo retraso objetivo de transmisión a redes de transmisión.
15 Dichos criterios resultan en diferentes objetivos en primer lugar, optimizados para alta calidad o bajo retraso.
[0133] Los múltiples objetivos para el cálculo del retraso objetivo de transmisión a redes de transmisión son:
• Calidad: evitar pérdida tardía (evalúa variabilidad);
20 • Retraso: limitar retraso (evalúa variabilidad).
[0134] Es un ejemplo de la solución descrita la optimización de la estimación de retraso objetivo de manera que el retraso sea limitado, si bien, además, se eviten las pérdidas tardías, y adicionalmente, se mantenga una pequeña reserva en el búfer de variabilidad con el fin de incrementar la probabilidad de interpolación de modo que
25 se permita el ocultamiento de error de alta calidad para el decodificador.
[0135] Otro ejemplo se refiere a la recuperación de ocultamiento TCX con tramas tardías. Las tramas que llegan tarde son desechadas por la mayoría de las soluciones de gestión de búfer de variabilidad hasta la fecha. Se han descrito mecanismos para el uso de las tramas tardías en decodificadores sobre la base de ACELP [sigla en
30 inglés de: Predicción Lineal con Excitación de Código Algebraico] [Lef03]. Según un aspecto, dicho mecanismo es además utilizado para tramas diferentes de tramas ACELP, por ejemplo, tramas codificadas por dominio de frecuencia como TCX, con el fin de auxiliar en la recuperación del estado del decodificador en general. Por lo tanto, las tramas que son recibidas más tarde y que ya están ocultas son alimentadas aún al decodificador con la finalidad de mejorar la recuperación del estado del decodificador. Un aspecto importante según la presente invención es la 35 escala de tiempo adaptativa a la calidad, que se ha descrito con anterioridad. Como conclusión adicional, las realizaciones según la presente invención crean una solución de gestión de búfer de variabilidad completo, que puede usarse para la experiencia del usuario mejorada en comunicaciones sobre la base de paquetes. Se observó que las soluciones presentadas tienen un comportamiento superior a cualquier otra solución conocida de gestión de búfer de variabilidad, conocida por los inventores.
40
7. Alternativas de implementación
[0136] Aunque se han descripto algunos aspectos en el contexto de un aparato, está claro que estos aspectos representan además una descripción del correspondiente procedimiento, donde un bloque o dispositivo
45 corresponde a una etapa de procedimiento o un rasgo de una etapa de procedimiento. De manera análoga, los aspectos descritos en el contexto de una etapa de procedimiento representan además una descripción de un correspondiente bloque o ítem o rasgo de un aparato correspondiente. Algunas o la totalidad de las etapas de procedimiento pueden ejecutarse por medio de (o usando) un aparato de hardware, como, por ejemplo, un microprocesador, un equipo programable o un circuito electrónico. En algunas realizaciones, algunas de una o más 50 de las etapas de procedimiento más importantes pueden ser ejecutadas por tal aparato.
[0137] La señal de audio codificada de la invención puede ser almacenada en un medio de almacenamiento digital, o puede ser transmitida en un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión cableado, tal como Internet.
55
[0138] Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden ser implementadas en hardware o software. La implementación puede realizarse mediante el uso de un medio de almacenamiento digital, por ejemplo, un disquete, un DVD (disco versátil digital), un Blu-Ray, un CD (disco compacto, conforme a sus siglas en inglés), una ROM (memoria de solo lectura, conforme a sus siglas en inglés),
una PROM (memoria de solo lectura programable, conforme a sus siglas en inglés), una EPROM (memoria de solo lectura programable de borrado, conforme a sus siglas en inglés), una EEPROM (memoria de solo lectura programable de borrado electrónico, conforme a sus siglas en inglés) o una memoria FLASH, que tiene señales de control electrónicamente legibles allí almacenadas, que cooperan (o son capaces de cooperar) con un sistema de 5 equipo programable de tal manera que se lleve a cabo el respectivo procedimiento. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
[0139] Algunas realizaciones según la invención comprenden un soporte de datos que tiene señales de control electrónicamente legibles, que son capaces de cooperar con un sistema de ordenador programable, de
10 manera que se lleve a cabo uno de los procedimientos que se describen en la presente solicitud.
[0140] En general, las realizaciones de la presente invención pueden ser implementadas como un producto de programa informático con un código de programa, donde el código de programa es operativo para llevar a cabo uno de los procedimientos cuando se ejecuta el producto de programa informático en un ordenador. El código de
15 programa puede ser almacenado, por ejemplo, en un soporte legible en una máquina.
[0141] Otras realizaciones comprenden el programa informático para llevar a cabo uno de los procedimientos que se describen en la presente solicitud, almacenado en un soporte legible en una máquina.
20 [0142] En otras palabras, una realización del procedimiento de la invención, por lo tanto, es un programa
informático que tiene un código de programa para la realización de uno de los procedimientos que se describen en la presente solicitud, cuando se ejecuta el programa informático en un ordenador.
[0143] Una realización adicional de los procedimientos de la invención es, por lo tanto, un soporte de datos (o
25 un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, allí grabado, el programa
informático para llevar a cabo uno de los procedimientos que se describen en la presente solicitud. El soporte de datos, el medio de almacenamiento digital o el medio grabado son típicamente tangibles y/o no transitorios.
[0144] Una realización adicional del procedimiento de la invención es, por lo tanto, una corriente de datos o
30 una secuencia de señales que representan el programa informático para llevar a cabo uno de los procedimientos
que se describen en la presente solicitud. La corriente de datos o la secuencia de señales, por ejemplo, puede estar configurada para ser transferida por medio de una conexión de comunicación de datos, por ejemplo, por medio de Internet.
35 [0145] Una realización adicional comprende un medio de procesamiento, por ejemplo, un ordenador, o un
dispositivo lógico programable, configurado o adaptado para llevar a cabo uno de los procedimientos que se describen en la presente solicitud.
[0146] Una realización adicional comprende un equipo que tiene allí instalado el programa informático para 40 llevar a cabo uno de los procedimientos que se describen en la presente solicitud.
[0147] Una realización adicional según la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónica u ópticamente) un programa informático para llevar a cabo uno de los procedimientos que se describen en la presente solicitud a un receptor. El receptor, por ejemplo, puede ser un
45 equipo, un dispositivo móvil, un dispositivo de memoria o similares. El aparato o el sistema, por ejemplo, puede comprender un servidor de archivos para la transferencia del programa informático al receptor.
[0148] En algunas realizaciones, puede usarse un dispositivo lógico programable (por ejemplo, una matriz de puertas programables de campo) para realizar algunas o la totalidad de las funcionalidades de los procedimientos
50 que se describen en la presente solicitud. En algunas realizaciones, una matriz de puertas programables de campo puede cooperar con un microprocesador a fin de llevar a cabo uno de los procedimientos que se describen en la presente solicitud. En general, los procedimientos son llevados a cabo, preferentemente, por cualquier aparato de hardware.
55 [0149] El aparato que se describe en la presente solicitud puede ser implementado mediante el uso de un
aparato de hardware, o mediante el uso de un equipo, o mediante el uso de una combinación de un aparato de hardware y un equipo.
[0150] Los procedimientos que se describen en la presente solicitud pueden ser llevados a cabo mediante el
uso de un aparato de hardware, o mediante el uso de un equipo, o mediante el uso de una combinación de un aparato de hardware y un equipo.
[0151] Las realizaciones descritas con anterioridad son meramente ilustrativas de los principios de la
5 presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles que se describen en la presente solicitud serán evidentes para los expertos en la técnica. Por lo tanto, se tiene la intención de limitación solo por el alcance de las reivindicaciones de patente inminentes, y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones de la presente solicitud.
10 Referencias
[0152]
[Lia01] Y. J. Liang, N. Faerber, B. Girod: “Adaptive playout scheduling using time-scale modification in packet voice 15 communications”, 2001
[Lef03] P. Gournay, F. Rousseau, R. Lefebvre: “Improved packet loss recovery using late frames for prediction-based speech coders”, 2003

Claims (5)

  1. REIVINDICACIONES
    1. Un escalador de tiempo (200; 340; 450; 866; 900; 1000) para la provisión de una versión de escala de tiempo (212; 312; 448; 956) de una señal de audio de entrada (210; 332; 442; 910),
    5
    en el que el escalador de tiempo está configurado para computar o estimar (950; 1060) una calidad de una versión de escala de tiempo de la señal de audio de entrada que se puede obtener por una escala de tiempo de la señal de audio de entrada, y
    en el que el escalador de tiempo está configurado para llevar a cabo (954; 1068) la escala de tiempo de la señal de 10 audio de entrada en dependencia de la computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que se puede obtener por la escala de tiempo; en el que el escalador de tiempo está configurado para comparar (1064) un valor de calidad (q), que se basa en una computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que se puede obtener por la escala de tiempo, con un valor de umbral variable (qmin), para decidir si una escala de tiempo se debería llevar a cabo o no, 15 caracterizado porque el escalador de tiempo está configurado para incrementar el valor de umbral variable (qmin), para incrementar de ese modo un requisito de calidad, en respuesta al hecho de que una escala de tiempo se ha aplicado a uno o más bloques de muestras anteriores, de tal forma que se garantiza que la escala de tiempo de los bloques de muestras posteriores solo se modifica si se puede alcanzar un nivel de calidad comparativamente alto, más alto que un nivel de calidad normal.
    20
  2. 2. Un decodificador de audio (300) para la provisión de un contenido de audio decodificado (312) sobre la base de un contenido de audio de entrada (310), comprendiendo el decodificador de audio:
    un búfer de variabilidad (320) configurado para el almacenamiento temporal de datos de una pluralidad de tramas de 25 audio que representan bloques de muestras de audio;
    un núcleo de decodificador (330) configurado para proporcionar bloques de muestras de audio (332) sobre la base de tramas de audio (322) recibidas desde el búfer de variabilidad;
    un escalador de tiempo sobre la base de la muestra (200; 340; 450; 866; 900; 1000), según la reivindicación 1 en el que el escalador de tiempo sobre la base de la muestra está configurado para proporcionar bloques de muestras de 30 audio con escala de tiempo (342) sobre la base de bloques de muestras de audio (332) proporcionados por el núcleo de decodificador.
  3. 3. El decodificador de audio (300) según la reivindicación 2, en el que el decodificador de audio comprende además un control de búfer de variabilidad (100;350;490;800),
    35
    en el que el control de búfer de variabilidad está configurado para proporcionar una información de control (114; 444) al escalador de tiempo basado en muestra (200; 340; 450; 866; 900; 1000), en el que la información de control indica si una escala de tiempo basada en muestra se debería llevar a cabo o no y/o si la información de control indica una cantidad deseada de escala de tiempo.
    40
  4. 4. Un procedimiento (1500) para el suministro de una versión de escala de tiempo de una señal de audio de entrada,
    en el que el procedimiento comprende el cómputo o la estimación (1510) de una calidad de una versión de escala de 45 tiempo de la señal de audio de entrada que se puede obtener por una escala de tiempo de la señal de audio de entrada, y
    en el que el procedimiento comprende la realización (1520) de la escala de tiempo de la señal de audio de entrada en dependencia de la computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio 50 de entrada que se puede obtener por la escala de tiempo;
    en el que el procedimiento comprende la comparación (1064) de un valor de calidad (q), que está basado en una computación o estimación de la calidad de la versión de escala de tiempo de la señal de audio de entrada que se puede obtener por la escala de tiempo, con un valor de umbral variable (qmin), para decidir si una escala de tiempo 55 se debería llevar a cabo o no; caracterizado porque el procedimiento comprende el incremento del valor de umbral variable (qmin), para incrementar de ese modo un requisito de calidad, en respuesta al hecho de que una escala de tiempo se ha aplicado a uno o más bloques de muestras anteriores de tal forma que se garantiza que la escala de tiempo de los bloques de muestras posteriores solo se modifica si un nivel de calidad comparativamente alto, más alto que un nivel de calidad normal, se puede alcanzar.
  5. 5. Un programa informático para la realización del procedimiento según la reivindicación 4 cuando el
    programa informático se ejecuta en un equipo.
ES14733122.7T 2013-06-21 2014-06-18 Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad Active ES2667823T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP13173159 2013-06-21
EP13173159 2013-06-21
EP14167055 2014-05-05
EP14167055 2014-05-05
PCT/EP2014/062833 WO2014202672A2 (en) 2013-06-21 2014-06-18 Time scaler, audio decoder, method and a computer program using a quality control

Publications (1)

Publication Number Publication Date
ES2667823T3 true ES2667823T3 (es) 2018-05-14

Family

ID=51022305

Family Applications (2)

Application Number Title Priority Date Filing Date
ES17208464T Active ES2739481T3 (es) 2013-06-21 2014-06-18 Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad
ES14733122.7T Active ES2667823T3 (es) 2013-06-21 2014-06-18 Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES17208464T Active ES2739481T3 (es) 2013-06-21 2014-06-18 Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad

Country Status (18)

Country Link
US (3) US10204640B2 (es)
EP (3) EP3321934B1 (es)
JP (1) JP6317436B2 (es)
KR (1) KR101952192B1 (es)
CN (2) CN105474313B (es)
AU (2) AU2014283256B2 (es)
BR (1) BR112015032174B1 (es)
CA (1) CA2916126C (es)
ES (2) ES2739481T3 (es)
HK (3) HK1223727A1 (es)
MX (1) MX355850B (es)
MY (1) MY171256A (es)
PL (2) PL3321935T3 (es)
PT (2) PT3011564T (es)
RU (1) RU2662683C2 (es)
SG (2) SG11201510501YA (es)
TW (1) TWI581257B (es)
WO (1) WO2014202672A2 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2663361C2 (ru) 2013-06-21 2018-08-03 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Блок управления джиттер-буфером, аудиодекодер, способ и компьютерная программа
MY171256A (en) 2013-06-21 2019-10-07 Fraunhofer Ges Forschung Time scaler, audio decoder, method and a computer program using a quality control
US9948578B2 (en) * 2015-04-14 2018-04-17 Qualcomm Incorporated De-jitter buffer update
GB2535819B (en) * 2015-07-31 2017-05-17 Imagination Tech Ltd Monitoring network conditions
KR102422794B1 (ko) * 2015-09-04 2022-07-20 삼성전자주식회사 재생지연 조절 방법 및 장치와 시간축 변형방법 및 장치
US10878835B1 (en) * 2018-11-16 2020-12-29 Amazon Technologies, Inc System for shortening audio playback times
US20200184366A1 (en) * 2018-12-06 2020-06-11 Fujitsu Limited Scheduling task graph operations
CN110113270B (zh) * 2019-04-11 2021-04-23 北京达佳互联信息技术有限公司 网络通信的抖动控制方法、装置、终端及存储介质
CN112764709B (zh) * 2021-01-07 2021-09-21 北京创世云科技股份有限公司 一种声卡数据的处理方法、装置及电子设备
CN113242546B (zh) * 2021-06-25 2023-04-21 南京中感微电子有限公司 音频转发方法、设备和存储介质
CN117041123B (zh) * 2023-10-08 2024-02-09 广东保伦电子股份有限公司 一种双任务并发广播监听方法

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3832491A (en) * 1973-02-13 1974-08-27 Communications Satellite Corp Digital voice switch with an adaptive digitally-controlled threshold
US4052568A (en) * 1976-04-23 1977-10-04 Communications Satellite Corporation Digital voice switch
US5175769A (en) * 1991-07-23 1992-12-29 Rolm Systems Method for time-scale modification of signals
US5806023A (en) * 1996-02-23 1998-09-08 Motorola, Inc. Method and apparatus for time-scale modification of a signal
US6360271B1 (en) 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
US6549587B1 (en) 1999-09-20 2003-04-15 Broadcom Corporation Voice and data exchange over a packet based network with timing recovery
US6788651B1 (en) 1999-04-21 2004-09-07 Mindspeed Technologies, Inc. Methods and apparatus for data communications on packet networks
US6658027B1 (en) 1999-08-16 2003-12-02 Nortel Networks Limited Jitter buffer management
US6665317B1 (en) 1999-10-29 2003-12-16 Array Telecom Corporation Method, system, and computer program product for managing jitter
US6683889B1 (en) 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
SE517156C2 (sv) * 1999-12-28 2002-04-23 Global Ip Sound Ab System för överföring av ljud över paketförmedlade nät
US6700895B1 (en) 2000-03-15 2004-03-02 3Com Corporation Method and system for computationally efficient calculation of frame loss rates over an array of virtual buffers
SE518941C2 (sv) 2000-05-31 2002-12-10 Ericsson Telefon Ab L M Anordning och förfarande relaterande till kommunikation av tal
US6862298B1 (en) 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US6738916B1 (en) 2000-11-02 2004-05-18 Efficient Networks, Inc. Network clock emulation in a multiple channel environment
MXPA03009357A (es) 2001-04-13 2004-02-18 Dolby Lab Licensing Corp Escalamiento en el tiempo y escalamiento en el tono de alta calidad de senales de audio.
ES2319433T3 (es) 2001-04-24 2009-05-07 Nokia Corporation Procedimientos para cambiar el tamaño de una memoria de almacenamiento temporal de fluctuacion y para el alineamiento temporal, sistema de comunicaciones, fin de la recepcion y transcodificador.
US7006511B2 (en) 2001-07-17 2006-02-28 Avaya Technology Corp. Dynamic jitter buffering for voice-over-IP and other packet-based communication systems
US7697447B2 (en) 2001-08-10 2010-04-13 Motorola Inc. Control of jitter buffer size and depth
US6977948B1 (en) 2001-08-13 2005-12-20 Utstarcom, Inc. Jitter buffer state management system for data transmitted between synchronous and asynchronous data networks
US7170901B1 (en) 2001-10-25 2007-01-30 Lsi Logic Corporation Integer based adaptive algorithm for de-jitter buffer control
US7079486B2 (en) 2002-02-13 2006-07-18 Agere Systems Inc. Adaptive threshold based jitter buffer management for packetized data
US7496086B2 (en) 2002-04-30 2009-02-24 Alcatel-Lucent Usa Inc. Techniques for jitter buffer delay management
US20050273321A1 (en) * 2002-08-08 2005-12-08 Choi Won Y Audio signal time-scale modification method using variable length synthesis and reduced cross-correlation computations
US20040062260A1 (en) 2002-09-30 2004-04-01 Raetz Anthony E. Multi-level jitter control
US7426470B2 (en) * 2002-10-03 2008-09-16 Ntt Docomo, Inc. Energy-based nonuniform time-scale modification of audio signals
US7289451B2 (en) 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
US7394833B2 (en) 2003-02-11 2008-07-01 Nokia Corporation Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification
US20050047396A1 (en) 2003-08-29 2005-03-03 Helm David P. System and method for selecting the size of dynamic voice jitter buffer for use in a packet switched communications system
US7596488B2 (en) 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal
US7337108B2 (en) 2003-09-10 2008-02-26 Microsoft Corporation System and method for providing high-quality stretching and compression of a digital audio signal
WO2005043178A2 (en) 2003-10-29 2005-05-12 University Of Pittsburgh Of The Commonwealth System Of Higher Education Optimizing packetization for minimal end-to-end delay in voip networks
US6982377B2 (en) * 2003-12-18 2006-01-03 Texas Instruments Incorporated Time-scale modification of music signals based on polyphase filterbanks and constrained time-domain processing
US20050137729A1 (en) * 2003-12-18 2005-06-23 Atsuhiro Sakurai Time-scale modification stereo audio signals
US7359324B1 (en) 2004-03-09 2008-04-15 Nortel Networks Limited Adaptive jitter buffer control
US7499472B2 (en) 2004-03-16 2009-03-03 Dialogic Corporation Jitter buffer management
US7424026B2 (en) * 2004-04-28 2008-09-09 Nokia Corporation Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal
MY149811A (en) 2004-08-30 2013-10-14 Qualcomm Inc Method and apparatus for an adaptive de-jitter buffer
US7783482B2 (en) 2004-09-24 2010-08-24 Alcatel-Lucent Usa Inc. Method and apparatus for enhancing voice intelligibility in voice-over-IP network applications with late arriving packets
US20060187970A1 (en) 2005-02-22 2006-08-24 Minkyu Lee Method and apparatus for handling network jitter in a Voice-over IP communications network using a virtual jitter buffer and time scale modification
WO2006106466A1 (en) * 2005-04-07 2006-10-12 Koninklijke Philips Electronics N.V. Method and signal processor for modification of audio signals
US7599399B1 (en) 2005-04-27 2009-10-06 Sprint Communications Company L.P. Jitter buffer management
US7548853B2 (en) * 2005-06-17 2009-06-16 Shmunk Dmitry V Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding
US7746847B2 (en) 2005-09-20 2010-06-29 Intel Corporation Jitter buffer management in a packet-based network
US20070083377A1 (en) * 2005-10-12 2007-04-12 Steven Trautmann Time scale modification of audio using bark bands
US7720677B2 (en) * 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
WO2007051495A1 (en) * 2005-11-07 2007-05-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement in a mobile telecommunication network
US8832540B2 (en) * 2006-02-07 2014-09-09 Nokia Corporation Controlling a time-scaling of an audio signal
CN101421781A (zh) * 2006-04-04 2009-04-29 杜比实验室特许公司 音频信号的感知响度和/或感知频谱平衡的计算和调整
WO2007124582A1 (en) * 2006-04-27 2007-11-08 Technologies Humanware Canada Inc. Method for the time scaling of an audio signal
US20070263672A1 (en) * 2006-05-09 2007-11-15 Nokia Corporation Adaptive jitter management control in decoder
RU2398361C2 (ru) * 2006-06-16 2010-08-27 Эрикссон Аб Интеллектуальный способ, система и узел ограничения аудио
US8346546B2 (en) * 2006-08-15 2013-01-01 Broadcom Corporation Packet loss concealment based on forced waveform alignment after packet loss
US7573907B2 (en) 2006-08-22 2009-08-11 Nokia Corporation Discontinuous transmission of speech signals
US7647229B2 (en) 2006-10-18 2010-01-12 Nokia Corporation Time scaling of multi-channel audio signals
JP2008139631A (ja) * 2006-12-04 2008-06-19 Nippon Telegr & Teleph Corp <Ntt> 音声合成方法、装置、プログラム
EP2092679A4 (en) 2006-12-06 2011-10-26 Ericsson Telefon Ab L M MEMORY CONTROL BUFFER TRIGGER
US7899678B2 (en) * 2007-01-11 2011-03-01 Edward Theil Fast time-scale modification of digital signals using a directed search technique
US8078456B2 (en) * 2007-06-06 2011-12-13 Broadcom Corporation Audio time scale modification algorithm for dynamic playback speed control
WO2009010831A1 (en) 2007-07-18 2009-01-22 Nokia Corporation Flexible parameter update in audio/speech coded signals
US20100290454A1 (en) 2007-11-30 2010-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Play-Out Delay Estimation
JP5250255B2 (ja) 2007-12-27 2013-07-31 京セラ株式会社 無線通信装置
US7852882B2 (en) 2008-01-24 2010-12-14 Broadcom Corporation Jitter buffer adaptation based on audio content
EP2250768A1 (en) 2008-03-13 2010-11-17 Telefonaktiebolaget L M Ericsson (PUBL) Method for manually optimizing jitter, delay and synch levels in audio-video transmission
EP2141696A1 (en) * 2008-07-03 2010-01-06 Deutsche Thomson OHG Method for time scaling of a sequence of input signal values
ES2379761T3 (es) * 2008-07-11 2012-05-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Proporcinar una señal de activación de distorsión de tiempo y codificar una señal de audio con la misma
ES2396927T3 (es) * 2008-07-11 2013-03-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y procedimiento para decodificar una señal de audio codificada
JP5083097B2 (ja) 2008-07-30 2012-11-28 日本電気株式会社 ジッターバッファ制御方法と通信装置
EP2230784A1 (de) 2009-03-19 2010-09-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Übertragung einer Mehrzahl von Informationssignalen in einem flexiblen Zeitmultiplex
US8848525B2 (en) 2009-06-10 2014-09-30 Genband Us Llc Methods, systems, and computer readable media for providing adaptive jitter buffer management based on packet statistics for media gateway
US8670990B2 (en) * 2009-08-03 2014-03-11 Broadcom Corporation Dynamic time scale modification for reduced bit rate audio coding
EP2302845B1 (en) 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
CA2786944C (en) * 2010-01-12 2016-03-15 Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a hash table describing both significant state values and interval boundaries
JP5625076B2 (ja) * 2010-03-10 2014-11-12 フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. コーディングコンテキストのピッチ依存適合を用いた、オーディオ信号復号器、オーディオ信号符号化器、オーディオ信号を復号するための方法、オーディオ信号を符号化するための方法、およびコンピュータプログラム
CN102214464B (zh) * 2010-04-02 2015-02-18 飞思卡尔半导体公司 音频信号的瞬态检测方法以及基于该方法的时长调整方法
US8693355B2 (en) 2010-06-21 2014-04-08 Motorola Solutions, Inc. Jitter buffer management for power savings in a wireless communication device
JP5792821B2 (ja) * 2010-10-07 2015-10-14 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ビットストリーム・ドメインにおけるコード化オーディオフレームのレベルを推定する装置及び方法
TWI425502B (zh) 2011-03-15 2014-02-01 Mstar Semiconductor Inc 音訊的時間伸縮方法與相關裝置
JP5734517B2 (ja) 2011-07-15 2015-06-17 華為技術有限公司Huawei Technologies Co.,Ltd. 多チャンネル・オーディオ信号を処理する方法および装置
EP2748814A4 (en) * 2011-08-24 2014-07-02 Huawei Tech Co Ltd AUDIO OR LANGUAGE SIGNAL PROCESSOR
WO2013051975A1 (en) * 2011-10-07 2013-04-11 Telefonaktiebolaget L M Ericsson (Publ) Methods providing packet communications including jitter buffer emulation and related network nodes
KR102058714B1 (ko) 2011-10-20 2019-12-23 엘지전자 주식회사 지터 버퍼 관리 방법 및 이를 이용하는 지터 버퍼
GB2495927B (en) 2011-10-25 2015-07-15 Skype Jitter buffer
US9787416B2 (en) 2012-09-07 2017-10-10 Apple Inc. Adaptive jitter buffer management for networks with varying conditions
US9420475B2 (en) 2013-02-08 2016-08-16 Intel Deutschland Gmbh Radio communication devices and methods for controlling a radio communication device
MY171256A (en) 2013-06-21 2019-10-07 Fraunhofer Ges Forschung Time scaler, audio decoder, method and a computer program using a quality control
RU2663361C2 (ru) 2013-06-21 2018-08-03 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Блок управления джиттер-буфером, аудиодекодер, способ и компьютерная программа

Also Published As

Publication number Publication date
CN110211603B (zh) 2023-11-03
US20160171990A1 (en) 2016-06-16
TWI581257B (zh) 2017-05-01
US10204640B2 (en) 2019-02-12
WO2014202672A3 (en) 2015-06-18
JP6317436B2 (ja) 2018-04-25
PT3321935T (pt) 2019-09-12
RU2662683C2 (ru) 2018-07-26
HK1255429B (zh) 2020-07-17
PL3011564T3 (pl) 2018-07-31
EP3321934B1 (en) 2024-04-10
SG10201708531PA (en) 2017-12-28
ES2739481T3 (es) 2020-01-31
MY171256A (en) 2019-10-07
CA2916126C (en) 2019-07-09
EP3011564A2 (en) 2016-04-27
CN105474313B (zh) 2019-09-06
JP2016529536A (ja) 2016-09-23
AU2014283256B2 (en) 2017-09-21
US10984817B2 (en) 2021-04-20
TW201517025A (zh) 2015-05-01
EP3321935A1 (en) 2018-05-16
RU2016101580A (ru) 2017-07-26
HK1223727A1 (zh) 2017-08-04
PL3321935T3 (pl) 2019-11-29
EP3321934C0 (en) 2024-04-10
CN110211603A (zh) 2019-09-06
EP3011564B1 (en) 2018-01-31
KR101952192B1 (ko) 2019-02-26
CA2916126A1 (en) 2014-12-24
US20190147901A1 (en) 2019-05-16
CN105474313A (zh) 2016-04-06
SG11201510501YA (en) 2016-01-28
BR112015032174A2 (pt) 2017-07-25
EP3321934A1 (en) 2018-05-16
BR112015032174B1 (pt) 2021-02-23
EP3321935B1 (en) 2019-05-29
US12020721B2 (en) 2024-06-25
MX2015017831A (es) 2016-04-15
AU2017204613A1 (en) 2017-07-27
AU2017204613B2 (en) 2019-02-14
PT3011564T (pt) 2018-05-08
US20210233553A1 (en) 2021-07-29
MX355850B (es) 2018-05-02
AU2014283256A1 (en) 2016-02-11
KR20160023830A (ko) 2016-03-03
HK1255499A1 (zh) 2019-08-16
WO2014202672A2 (en) 2014-12-24

Similar Documents

Publication Publication Date Title
ES2667823T3 (es) Escalador de tiempo, decodificador de audio, procedimiento y programa informático mediante el uso de un control de calidad
ES2642352T3 (es) Control de búfer de fluctuación, decodificador de audio, método y programa informático