ES2642352T3 - Control de búfer de fluctuación, decodificador de audio, método y programa informático - Google Patents

Control de búfer de fluctuación, decodificador de audio, método y programa informático Download PDF

Info

Publication number
ES2642352T3
ES2642352T3 ES14731262.3T ES14731262T ES2642352T3 ES 2642352 T3 ES2642352 T3 ES 2642352T3 ES 14731262 T ES14731262 T ES 14731262T ES 2642352 T3 ES2642352 T3 ES 2642352T3
Authority
ES
Spain
Prior art keywords
time
time scale
fluctuation buffer
frame
audio
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
ES14731262.3T
Other languages
English (en)
Inventor
Stefan REUSCHL
Stefan DÖHLA
Jérémie Lecomte
Manuel Jander
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 ES2642352T3 publication Critical patent/ES2642352T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • 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
    • 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/012Comfort noise or silence coding
    • 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/04Speech 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 predictive techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Soundproofing, Sound Blocking, And Sound Damping (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Noise Elimination (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

DESCRIPCION
Control de bufer de fluctuacion, decodificador de audio, metodo y programa informatico 5 1. Campo tecnico
[0001] Las realizaciones de acuerdo con la invencion se refieren a un control de bufer de fluctuacion para el
control de una provision de un contenido de audio decodificado sobre la base de un contenido de audio de entrada.
10 [0002] Otras formas de realizacion de acuerdo con la invencion se refieren a un decodificador de audio para
la provision de un contenido de audio decodificado sobre la base de un contenido de audio de entrada.
[0003] Las realizaciones adicionales de acuerdo con la invencion se refieren a un metodo para el control de una provision de un contenido de audio decodificado sobre la base de un contenido de audio de entrada.
15
[0004] Las realizaciones adicionales de acuerdo con la invencion se refieren a un programa informatico para la realizacion de dicho metodo.
2. Antecedentes de la invencion
20
[0005] El almacenamiento y la transmision de contenido de audio (que incluye contenido de audio general, como contenido de musica, contenido de habla y contenido mixto general de audio/habla) son un importante campo tecnico. Un desaflo particular es causado por el hecho de que un oyente espera una reproduccion continua de contenidos de audio, sin ninguna interrupcion, y, ademas, sin ningun artefacto audible causado por el
25 almacenamiento y/o la transmision del contenido de audio. Al mismo tiempo, se desea mantener los requisitos con respecto al medio de almacenamiento y el medio de transmision de datos tan bajos como sea posible, a fin de mantener los costes dentro de un llmite aceptable.
[0006] Surgen problemas, por ejemplo, si una lectura de un medio de almacenamiento es temporalmente 30 interrumpida o retrasada, o si una transmision entre una fuente de datos y un colector de datos se interrumpe o se
retrasa temporalmente. Por ejemplo, una transmision a traves de Internet no es altamente fiable, ya que pueden perderse los paquetes TCP/lP, y debido a que el retardo de transmision sobre Internet puede variar, por ejemplo, dependiendo de la situacion de carga variable de los nodos de Internet.
35 [0007] Sin embargo, se requiere, a fin de obtener una satisfactoria experiencia de usuario, que haya una
reproduccion continua de un contenido de audio, sin "espacios" audibles o artefactos audibles. Ademas, es deseable evitar retardos sustanciales que se causaran por un bufer de una gran cantidad de informacion de audio.
[0008] En vista de la description anterior, se reconoce que existe la necesidad de un concepto que 40 proporcione una buena calidad de audio, incluso en el caso de una provision discontinua de una informacion de
audio. El documento [AHEVS-044] representa la tecnica anterior mas cercana y se analiza al final de la descripcion, vease all! la section de Referencias.
3. Resumen de la invencion 45
[0009] Una realizacion de acuerdo con la invencion crea un control de bufer de fluctuacion para el control de una provision de un contenido de audio decodificado sobre la base de un contenido de audio de entrada. El control de bufer de fluctuacion esta configurado para seleccionar una escala de tiempo basada en la trama o una escala de tiempo basada en la muestra, de una manera adaptativa a la senal.
50
[0010] Esta realizacion de acuerdo con la invencion se basa en el hallazgo de que el uso de una escala de tiempo permite proporcionar un continuo contenido de audio decodificado, con buena, o al menos aceptable calidad, incluso cuando el contenido de audio de entrada comprenda una fluctuacion sustancial, o incluso en el caso de que se pierdan porciones (por ejemplo, tramas) del contenido de audio de entrada. Ademas, esta realizacion de acuerdo
55 con la invencion se basa en el hallazgo de que una escala de tiempo basada en la trama es computacionalmente eficiente, y proporciona buenos resultados en algunos casos, mientras que una escala de tiempo basada en la muestra, que tlpicamente es computacionalmente mas compleja, es recomendable (o incluso requerida) a fin de evitar artefactos audibles del contenido de audio decodificado en algunas situaciones. Ademas, se ha encontrado que pueden obtenerse resultados particularmente buenos mediante la selection de la escala de tiempo basada en la
trama y la escala de tiempo basada en la muestra de una manera adaptativa a la senal, ya que, de esta manera, puede usarse el tipo mas apropiado de escala de tiempo. Por consiguiente, esta realizacion de acuerdo con la invention proporciona un buen equilibrio entre la calidad de audio, el retardo y la complejidad computacional.
5 [0011] En una realizacion preferida, las tramas de audio son excluidas o insertadas para controlar una
profundidad de un bufer de fluctuation, cuando se usa la escala de tiempo basada en la trama. Ademas, se realiza una superposicion y adicion con desfase de tiempo, de porciones de senal de audio cuando se usa la escala de tiempo basada en la muestra. Por consiguiente, es posible el uso de enfoques computacionalmente muy eficientes como, por ejemplo, por exclusion o la insertion de tramas de audio, cuando la senal de audio permite dicho enfoque 10 sin causar distorsiones de audio inaceptables. Por otra parte, se usa un enfoque mas elaborado y de ajuste mas fino, concretamente una superposition y adicion con desfase de tiempo de porciones de senal de audio, cuando un enfoque computacionalmente menos complejo (por ejemplo, la exclusion o la insercion de tramas de audio) no (o probablemente no, en vista de una evaluation o analisis del contenido de audio) dara como resultado una calidad de audio satisfactoria. Por consiguiente, puede lograrse un bueno compromiso entre la complejidad computacional y la 15 calidad de audio.
[0012] En una realizacion preferida, el control de bufer de fluctuacion se configura para el cambio entre una escala de tiempo basada en la trama, una escala de tiempo basada en la muestra, y una desactivacion de una escala de tiempo de manera adaptativa a la senal. Mediante el uso de este enfoque, es posible (al menos de forma
20 temporal) evitar una operation de escala de tiempo cuando se encuentra que una operation de escala de tiempo (incluso una operacion de escala de tiempo basada en la muestra) dara como resultado una degradacion inaceptable del contenido de audio.
[0013] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para seleccionar la 25 escala de tiempo basada la trama o la escala de tiempo basada en la muestra a fin de controlar una profundidad de
un bufer de elimination de fluctuacion (que tambien puede designarse brevemente como "bufer de fluctuacion"). Por consiguiente, es posible mantener una "profundidad" (o plenitud) del bufer de eliminacion de fluctuacion (o bufer de fluctuacion) dentro de un intervalo deseado, lo que permite abordar la fluctuacion sin degradar sustancialmente la calidad del audio y, a la vez, mantener aun el retardo (que tlpicamente corresponde a la profundidad del bufer de 30 eliminacion de fluctuacion) razonablemente pequena.
[0014] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para seleccionar una insercion de ruido de confort, o una eliminacion de ruido de confort, si una trama previa estaba "inactiva". Este concepto se basa en el hallazgo de que es suficiente la generation de ruido de confort si una trama (por ejemplo,
35 una trama previa) esta inactiva, por ejemplo, cuando no hay discurso durante un cierto periodo de tiempo debido a que un "hablante" unicamente esta escuchando. Sin embargo, se ha encontrado que puede realizarse una escala de tiempo sin degradar gravemente una impresion auditiva, mediante la insercion de ruido de confort adicional (por ejemplo, una trama entera de ruido de confort) en un contenido de audio, debido a que un periodo extendido de ruido de confort no sera percibido como un artefacto sustancial por un ser humano. De manera similar, la eliminacion 40 de ruido de confort (por ejemplo, una trama de ruido de confort) no degrada sustancialmente una impresion auditiva, ya que un ser humano no "perdera" una trama de ruido de confort. Por consiguiente, una escala de tiempo basada la trama muy eficiente (mediante la insercion de una trama de ruido de confort o la eliminacion de una trama de ruido de confort) puede realizarse si la trama previa estaba inactiva (por ejemplo, una trama de ruido de confort). Por consiguiente, la selection adaptativa a la senal, de la escala de tiempo basada la trama si la trama previa estaba 45 inactiva acarrea una buena eficiencia de la escala de tiempo (mientras que una escala de tiempo basada la trama no es tlpicamente adecuada para porciones "activas" del contenido de audio, a menos que haya circunstancias especlficas, por ejemplo, un bufer vaclo).
[0015] En una realizacion preferida, la insercion de ruido de confort da como resultado una insercion de una 50 trama de ruido de confort en un bufer de eliminacion de fluctuacion (tambien designado brevemente como bufer de
fluctuacion). Ademas, la eliminacion del ruido de confort da como resultado preferiblemente una eliminacion de una trama de ruido de confort del bufer de eliminacion de fluctuacion. Por consiguiente, puede realizarse una escala de tiempo muy eficiente, ya que puede generarse una trama de ruido de confort facilmente (en la que la trama de ruido de confort tlpicamente unicamente comprende una information de serialization apropiada para la serialization de 55 que debe generarse un ruido de confort).
[0016] En una realizacion preferida, una respectiva trama se considera inactiva cuando la respectiva trama lleva una informacion de senalizacion que indica una generacion de un ruido de confort. Por lo tanto, la seleccion adaptativa a la senal del modo de escala de tiempo (escala de tiempo basada la trama o escala de tiempo basada
en la muestra) puede realizarse con poco esfuerzo.
[0017] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para realizar una
superposicion y adicion con desfase de tiempo, de porciones de senal de audio si una trama previa estaba "activa".
5 Este concepto se basa en el hallazgo de que una superposicion y adicion, con desfase de tiempo, de porciones de senal de audio reduce (o incluso evita) artefactos audibles en el caso de una trama activa (por ejemplo, una trama que comprende un contenido de audio, en lugar de una informacion de senalizacion que indica una generacion de ruido de confort).
10 [0018] En una realizacion preferida, la superposicion y adicion, con desfase de tiempo, de porciones de senal
de audio, se adapta para permitir un ajuste de un cambio de tiempo entre bloques de muestras de audio obtenidas sobre la base de una unica trama, o sobre la base de tramas posteriores del contenido de audio de entrada con una resolution menor que una longitud del bloque de tramas de audio (o menor que una longitud de una trama), que es menor que un cuarto de una longitud de los bloques de muestras de audio (o menor que un cuarto de la longitud de 15 la trama), o que es menor o igual que dos muestras de audio. En otras palabras, cuando se usa la superposicion y adicion, con desfase de tiempo, de porciones de senal de audio, el desfase de tiempo puede ser ajustado con una resolucion muy fina, que puede ser tan pequena como una unica muestra de audio. Por consiguiente, el desfase de tiempo puede ajustarse de modo tal que puede realizarse una superposicion y adicion (entre bloques de muestras de audio posteriores) de una manera que se adapta bien a las porciones de senal (en la que la superposicion y adicion 20 tlpicamente se realiza entre porciones de senal que tienen una similitud comparativamente alta, lo que, a su vez, evita artefactos).
[0019] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para determinar si un bloque de muestras de audio representa una portion de senal de audio activa pero latente (por ejemplo, una portion
25 de senal de audio que se considera "activa", debido a que no hay generacion de ruido de confort, pero se considera "latente", porque la energla de dicha porcion de senal de audio es menor o igual que un cierto valor de umbral de energla, o incluso, igual a cero), y seleccionar un modo de superposicion y adicion, en el cual un desfase de tiempo entre el bloque de muestras de audio que representan una porcion de senal de audio latente y un posterior bloque de muestras de audio se establece en un valor maximo predeterminado, para un bloque de muestras de audio que 30 representan una porcion de senal de audio "latente" (pero "activa"). Por consiguiente, se realiza una maxima escala de tiempo para dichas porciones de senal de audio que son "activas" pero "latentes", por ejemplo, de acuerdo con las definiciones mencionadas anteriormente. Como consecuencia, una maxima escala de tiempo se logra para una porcion de senal de audio para la cual la escala de tiempo no causa artefactos audibles sustanciales, ya que las porciones de senal de audio "latentes" pueden ser sometidas a escala de tiempo con pocas o ninguna distorsion 35 audible. Ademas, mediante la aplicacion de una maxima escala de tiempo a porciones de senal de audio "latentes", es suficiente solo la aplicacion de una escala de tiempo comparativamente menor a porciones de senal de audio "no latentes" (por ejemplo, porciones de senal de audio "activas" que comprenden una energla que es mayor o igual que un valor de umbral de energla), que, de nuevo, ayuda a reducir o incluso evitar distorsiones audibles (ya que una menor escala de tiempo, cuando es aplicada a porciones de senal de audio no latentes, tlpicamente logra menores 40 distorsiones en comparacion con una mayor escala de tiempo).
[0020] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para determinar si un bloque de muestras de audio representa una porcion de senal de audio activa y no latente, y seleccionar un modo de superposicion y adicion, en el cual el cambio de tiempo entre bloques de muestras de audio (que se superponen y se
45 agregan de una manera de cambio de tiempo, con desfase de tiempo con respecto a una position temporal original) se determina de manera adaptativa a la senal. Se ha encontrado que la determination del desfase de tiempo entre (posteriores) bloques de muestras de audio de manera adaptativa a la senal se adapta bien para la realizacion de la superposicion y adicion en el caso de que un bloque de muestras de audio (o posteriores bloques de muestras de audio) represente una porcion de senal de audio activa y no latente, ya que los artefactos audibles, que podrlan 50 surgir de una escala de tiempo de una porcion de senal de audio activa y no latente, se reducen (o incluso, se evitan) por medio de la determinacion adaptativa a la senal, del desfase de tiempo a aplicar para la operation de superposicion y adicion.
[0021] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para seleccionar una 55 insertion de una trama oculta en respuesta a una determinacion de que se requiere un estiramiento de tiempo y de
que un bufer de fluctuacion esta vaclo. Por consiguiente, el control de bufer de fluctuacion puede realizar una manipulation especlfica en el caso de un bufer de fluctuacion vaclo, ya que otros conceptos de escala de tiempo tlpicamente no traen buenos resultados en el caso de un bufer de fluctuacion vaclo. Por ejemplo, la trama oculta puede comprender un contenido de audio que es similar al contenido de audio de la trama anterior (por ejemplo, la
ultima trama obtenida antes del vaciado del bufer de fluctuacion). Sin embargo, en el caso de que una trama previa, antes del vaciado del bufer de fluctuacion, lleve information de senalizacion que indique una generation de ruido de confort, la trama oculta ademas puede comprender tal informacion de senalizacion que indica la generacion de ruido de confort.
5
[0022] En una realization preferida, el control de bufer de fluctuacion esta configurado para seleccionar la escala de tiempo basada la trama o la escala de tiempo basada en la muestra, dependiendo de si se usa actualmente una transmision discontinua junto con la generacion de ruido de confort (o, de manera equivalente, si se ha usado para una trama anterior). Este concepto se base en el hallazgo de que es ineficiente el uso de una escala
10 de tiempo basada en la muestra si se usa actualmente una transmision discontinua junto con la generacion de ruido de confort (o si se uso para una trama anterior). Por consiguiente, el control de bufer de fluctuacion puede utilizar la informacion sobre si se usa actualmente una transmision discontinua (tambien designada con DTX) junto con la generacion de ruido de confort (tambien designada con CNG) (o el uso para una trama previa), a fin de facilitar el cambio entre la escala de tiempo basada la trama y la escala de tiempo basada en la muestra.
15
[0023] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para seleccionar una escala de tiempo basada la trama si se usa actualmente la generacion de ruido de confort (o, de manera equivalente, se ha usado para una trama anterior), y seleccionar una escala de tiempo basada en la muestra si la generacion de ruido de confort no se usa actualmente (o, de manera equivalente, no se ha usado para una trama
20 anterior). Por consiguiente, el modo de escala de tiempo se adapta bien a la senal (incluso pueda usarse tambien una "escala de tiempo" basada en la trama, usando una trama oculta, con la condition excepcional de un bufer de fluctuacion vaclo).
[0024] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para seleccionar la 25 insertion de ruido de confort o una elimination de ruido de confort para una escala de tiempo, si se usa actualmente
una transmision discontinua junto con la generacion de ruido de confort (o, de manera equivalente, se ha usado para una trama anterior), para seleccionar una operation de superposition y adicion, usando un cambio de tiempo predeterminado para una escala de tiempo si una portion de senal de audio actual (o, de manera equivalente, una portion de senal de audio previa) esta activa (por ejemplo, no usa una generacion de ruido de confort), pero 30 comprende una energla de senal que es menor o igual que un valor de umbral de energla (porcion de senal de audio "latente"), y, si un bufer de fluctuacion no esta vaclo, seleccionar una operacion de superposicion y adicion usando un cambio de tiempo adaptativo a la senal para una escala de tiempo si una porcion de senal de audio actual (o, de manera equivalente, una porcion de senal de audio anterior) esta activa (por ejemplo, no comprende la generacion de ruido de confort) y comprende una energla de senal que es mayor o igual que el valor de umbral de energla, y si 35 el bufer de fluctuacion no esta vaclo, seleccionar una insercion de una trama oculta para una escala de tiempo si una porcion de senal de audio actual (o, de manera equivalente, una porcion de senal de audio previa) esta activa y el bufer de fluctuacion esta vaclo. Por consiguiente, puede seleccionarse un modo apropiado de escala de tiempo, de una manera computacionalmente eficiente, para cada porcion (o trama) de una senal de audio.
40 [0025] En una realizacion preferida, el control de bufer de fluctuacion esta configurado para seleccionar una
operacion de superposicion y adicion usando un cambio de tiempo adaptativo a la senal y un mecanismo de control de calidad para una escala de tiempo, si una porcion de senal de audio actual (o, de manera equivalente, una porcion de senal de audio previa) esta activa (por ejemplo, no comprende la generacion de ruido de confort) y comprende una energla de senal que es mayor o igual que el valor de umbral de energla, y si el bufer de fluctuacion 45 no esta vaclo. El uso de una operacion de superposicion y adicion utilizando el cambio de tiempo adaptativo a la senal y un mecanismo de control de calidad tiene la ventaja de la posibilidad de evitar artefactos audibles intolerables usando el mecanismo de control de calidad. Por lo tanto, el mecanismo de control de calidad puede evitar, por ejemplo, la aplicacion de una escala de tiempo, incluso si la porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor o igual que el valor de umbral de energla, e incluso si un cambio de 50 tiempo es requerido por un control logico.
[0026] Una realizacion de acuerdo con la invention crea un decodificador de audio para proporcionar un
contenido de audio decodificado en base a un contenido de audio de entrada. El decodificador de audio comprende un bufer de fluctuacion configurado para el bufer de una pluralidad de tramas de audio que representan bloques de 55 muestras de audio. El decodificador de audio ademas comprende un nucleo de decodificador configurado para proporcionar bloques de muestras de audio sobre la base de tramas de audio recibidas del bufer de fluctuacion. El decodificador de audio ademas comprende un escalador de tiempo basado en la muestra, en el que el escalador de tiempo basado en la muestra esta configurado para proporcionar bloques de muestras de audio con escala de tiempo sobre la base de muestras de audio proporcionadas por el nucleo de decodificador. Ademas, el decodificador
de audio comprende un control de bufer de fluctuacion, como se ha descrito anteriormente. El control de bufer de fluctuacion esta configurado para seleccionar una escala de tiempo basada la trama, que se realiza por el bufer de fluctuacion, o una escala de tiempo basada en la muestra, que se realiza por el escalador de tiempo basado en la muestra, de manera adaptativa a la senal. Por consiguiente, se seleccionan dos conceptos de escala de tiempo 5 sustancialmente diferentes, por el control de bufer de fluctuacion, en los que la escala de tiempo basada la trama se realiza antes del ingreso de las tramas de audio en el nucleo del decodificador (por ejemplo, mediante la adicion o eliminacion de tramas de audio enteras), y en donde la escala de tiempo basada en la muestra se realiza basandose en bloques de muestras de audio proporcionados por el nucleo de decodificador. Por lo tanto, se realiza una seleccion entre dos enfoques sustancialmente diferentes de escala de tiempo de manera adaptativa a la senal, lo 10 que permite una adaptacion del modo de escala de tiempo a la senal, y que, en consecuencia, acarrea una buena eficiencia, y a la vez, evita excesivos artefactos audibles (o distorsiones).
[0027] En una realizacion preferida, el bufer de fluctuacion esta configurado para excluir o insertar tramas de audio a fin de realizar una escala de tiempo basada la trama. Por consiguiente, la escala de tiempo puede realizarse
15 de una manera particularmente eficiente. Las tramas de tiempo excluidas, por ejemplo, pueden ser tramas de tiempo que comprenden una informacion de senalizacion que indica una generacion de ruido de confort (y, posiblemente, ademas, que indica "latencia"). Ademas, las tramas de tiempo insertadas, por ejemplo, pueden ser tramas de tiempo que comprenden una informacion de senalizacion que indica que debe generarse un ruido de confort. Dichas tramas de tiempo pueden ser facilmente insertadas o excluidas, donde, tlpicamente no hay casi ninguna (o ninguna) 20 distorsion audible si la trama excluida, o una trama previa que precede la trama insertada, comprende una informacion de senalizacion que indica la generacion de un ruido de confort.
[0028] En una realizacion preferida, el nucleo de decodificador de audio esta configurado para realizar una generacion de ruido de confort en respuesta a una trama que porta una informacion de senalizacion que indica una
25 generacion de ruido de confort. Ademas, el nucleo de decodificador, preferiblemente, esta configurado para realizar una ocultacion en respuesta a un bufer de fluctuacion vaclo. El uso de un nucleo de decodificador configurado para realizar una generacion de ruido de confort permite una eficiente transmision de un contenido de audio, y, ademas, permite una eficiente escala de tiempo. Ademas, el uso de un nucleo de decodificador que esta configurado para realizar una ocultacion en respuesta a un bufer de fluctuacion vaclo evita el problema de la interruption de una 30 reproduction de un contenido de audio en el caso de un bufer de fluctuacion vaclo, sin la funcionalidad de ocultacion. Por lo tanto, el uso del nucleo de decodificador descrito permite una eficiente y fiable provision del contenido de audio decodificado.
[0029] En una realizacion preferida, el escalador de tiempo basado en la muestra esta configurado para 35 realizar la escala de tiempo de la senal de audio de entrada de acuerdo con el computo o la estimation de la calidad
de la version con escala de tiempo de la senal de audio de entrada que se obtiene por medio de la escala de tiempo. Por consiguiente, se introduce un mecanismo adicional que reduce o incluso evita la generacion de artefactos audibles en una segunda etapa, es decir, despues de que se ha tomado la decision de usar la escala de tiempo basada en la muestra. En otras palabras, la seleccion entre la escala de tiempo basada la trama y la escala de 40 tiempo basada en la muestra se realiza en una primera fase de manera adaptativa a la senal, y el control de calidad (estimacion computacional de la calidad de la version con escala de tiempo de la senal de audio que se obtiene por la escala de tiempo basada en la muestra) se realiza en una segunda fase, lo que permite omitir una escala de tiempo (basada en la muestra) si la escala de tiempo degrada sustancialmente el contenido de audio, de tal forma que la calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por medio de la 45 escala de tiempo es mala.
[0030] Una realizacion de acuerdo con la invention crea un metodo para una provision de un contenido de audio decodificado sobre la base de un contenido de audio de entrada. El metodo comprende la seleccion de una escala de tiempo basada la trama o una escala de tiempo basada en la muestra de manera adaptativa a la senal.
50 Este metodo se basa en las mismas consideraciones que el control de bufer de fluctuacion descrito anteriormente, y que el decodificador de audio descrito anteriormente.
[0031] Aun otra realizacion de acuerdo con la invencion crea un programa informatico para realizar dicho metodo cuando el programa informatico se ejecuta en el ordenador. El programa informatico se basa en las mismas
55 consideraciones que el mencionado metodo mencionado anteriormente.
4. Breve description de las figuras
[0032] Las realizaciones de acuerdo con la invencion se describiran posteriormente con referencia a las
figuras adjuntas, en las que:
La Fig. 1 muestra un diagrama esquematico de bloques de un control de bufer de fluctuacion, de acuerdo con una realizacion de la presente invencion;
5 La Fig. 2 muestra un diagrama esquematico de bloques de un escalador de tiempo, de acuerdo con una realizacion de la presente invencion;
la Fig. 3 muestra un diagrama esquematico de bloques de un decodificador de audio, de acuerdo con una realizacion de la presente invencion;
la Fig. 4 muestra un diagrama esquematico de bloques de un decodificador de audio de acuerdo con otra realizacion 10 de la presente invencion, en la que se muestra un resumen sobre una gestion de bufer de fluctuacion (JBM); la Fig. 5 muestra un pseudocodigo de programa de un algoritmo para el control de un nivel de bufer PCM; la Fig. 6 muestra un pseudocodigo de programa de un algoritmo para calcular un valor de retardo y un valor de desfase de un tiempo de recepcion y una fecha RTP de un paquete RTP;
la Fig. 7 muestra un pseudocodigo de programa de un algoritmo para el computo de valores de retardo objetivo;
15 la Fig. 8 muestra un diagrama de flujo de una logica de control de gestion de bufer de fluctuacion;
la Fig. 9 muestra una representation de diagrama esquematico de bloques de un WSOLA modificado con control de calidad;
las Figs. 10 y 10b muestran un diagrama de flujo de un metodo para el control de un escalador de tiempo; la Fig. 11 muestra un pseudocodigo de programa de un algoritmo para el control de calidad para la escala de tiempo; 20 la Fig. 12 muestra una representacion grafica de un retardo objetivo y de un retardo de transmision, que se obtiene por medio de una realizacion de acuerdo con la presente invencion;
la Fig. 13 muestra una representacion grafica de una escala de tiempo, que se realiza en la realizacion de acuerdo con la presente invencion;
la Fig. 14 muestra un diagrama de flujo de un metodo para el control de una provision de un contenido de audio 25 decodificado sobre la base de un contenido de audio de entrada; y
la Fig. 15 muestra un diagrama de flujo de un metodo para proporcionar una version con escala de tiempo de una senal de audio de entrada, de acuerdo con una realizacion de la presente invencion.
5. Description detallada de las realizaciones 30
5.1. Control de bufer de fluctuacion de acuerdo con la Fig. 1
[0033] La Fig. 1 muestra un diagrama esquematico de bloques de un control de bufer de fluctuacion, de acuerdo con una realizacion de la presente invencion. El control de bufer de fluctuacion 100 para el control de una
35 provision de un contenido de audio decodificado sobre la base de un contenido de audio de entrada recibe una senal de audio 110 o una information acerca de una senal de audio (cuya information puede describir una o mas caracterlsticas de la senal de audio, o de tramas u otras porciones de senal de la senal de audio).
[0034] Ademas, el control de bufer de fluctuacion 100 proporciona una informacion de control (por ejemplo,
40 una senal de control) 112 para una escala sobre la base de la trama. Por ejemplo, la informacion de control 112
puede comprender una senal de activation (para la escala de tiempo basada la trama) y/o una informacion de control cuantitativa (para la escala de tiempo basada la trama).
[0035] Ademas, el control de bufer de fluctuacion 100 proporciona una informacion de control (por ejemplo,
45 una senal de control) 114 para la escala de tiempo basada en la muestra. La informacion de control 114, por
ejemplo, puede comprender una senal de activacion y/o una informacion de control cuantitativa para la escala de tiempo basada en la muestra.
[0036] El control de bufer de fluctuacion 100 esta configurado para seleccionar una escala de tiempo basada 50 en la trama o una escala de tiempo basada en la muestra, de una manera adaptativa a la senal. Por consiguiente, el
control de bufer de fluctuacion puede estar configurado para evaluar la senal de audio o la informacion acerca de la senal de audio 110 y para proporcionar, basandose en la misma, la informacion de control 112 y/o la informacion de control 114. Por consiguiente, la decision del uso de una escala de tiempo basada la trama o una escala de tiempo basada en la muestra puede adaptarse a las caracterlsticas de la senal de audio, por ejemplo, de manera tal que se 55 usa la escala de tiempo basada la trama computacionalmente simple si se espera (o se estima), basandose en la base de la senal de audio y/o basandose en la base de la informacion acerca de una o mas caracterlsticas de la senal de audio, que la escala de tiempo basada la trama no logra la degradation sustancial del contenido de audio. En contraste, el control de bufer de fluctuacion tlpicamente decide el uso de la escala de tiempo basada en la muestra si se espera o se estima (por el control de bufer de fluctuacion), sobre la base de una evaluation de las
caracterlsticas de la senal de audio 110, que se requiere una escala de tiempo basada en la muestra a fin de evitar artefactos audibles cuando se realiza una escala de tiempo.
[0037] Ademas, debe observarse que el control de bufer de fluctuacion 110 puede naturalmente recibir 5 tambien informacion de control adicional, por ejemplo, informacion de control que indica si debe realizarse una
escala de tiempo o no debe realizarse.
[0038] A continuacion, se describiran algunos detalles opcionales del control de bufer de fluctuacion 100. Por ejemplo, el control de bufer de fluctuacion 100 puede proporcionar la informacion de control 112, 114, de modo que
10 las tramas de audio son excluidas o insertadas para el control de una profundidad de un bufer de fluctuacion cuando debe usarse la escala de tiempo basada la trama, y de modo tal que se realiza una superposicion y adicion de porciones de senal de audio con desfase de tiempo cuando se usa la escala de tiempo basada en la muestra. En otras palabras, el control de bufer de fluctuacion 100 puede cooperar, por ejemplo, con un bufer de fluctuacion (tambien designado como bufer de eliminacion de fluctuacion, en algunos casos) y el control del bufer de fluctuacion 15 para realizar la escala de tiempo basada la trama. En este caso, la profundidad del bufer de fluctuacion puede ser controlada por la exclusion de tramas del bufer de fluctuacion, o por la insercion de tramas (por ejemplo, tramas simples que comprenden una senalizacion de que una trama esta "inactiva" y de que debe usarse una generation de ruido de confort) en el bufer de fluctuacion. Ademas, el control de bufer de fluctuacion 100 puede controlar un escalador de tiempo (por ejemplo, un escalador de tiempo basado en la muestra) para realizar una superposicion y 20 adicion, con desfase de tiempo, de porciones de senal de audio.
[0039] El control de bufer de fluctuacion 100 puede estar configurado para cambiar entre una escala de
tiempo basada la trama, una escala de tiempo basada en la muestra y una desactivacion de la escala de tiempo de una manera adaptativa a la senal. En otras palabras, el control de bufer de fluctuacion tlpicamente no solo distingue
25 entre una escala de tiempo basada la trama y una escala de tiempo basada en la muestra, sino que, ademas,
selecciona un estado en el cual no hay escala de tiempo ninguna. Por ejemplo, este ultimo estado puede ser seleccionado si no hay necesidad de una escala de tiempo debido a que la profundidad del bufer de fluctuacion se encuentra dentro de un rango aceptable. En otras palabras, la escala de tiempo basada la trama y la escala de tiempo basada en la muestra tlpicamente no son los unicos dos modos de operation que pueden seleccionarse por 30 el control de bufer de fluctuacion.
[0040] El control de bufer de fluctuacion 100 puede ademas considerar una informacion acerca de una profundidad de un bufer de fluctuacion para decidir el modo de operacion (por ejemplo, escala de tiempo basada la trama, escala de tiempo basada en la muestra o sin escala de tiempo) que debe usarse. Por ejemplo, el control de
35 bufer de fluctuacion puede comparar un valor objetivo que describe una profundidad deseada del bufer de
fluctuacion (tambien designado como bufer de eliminacion de fluctuacion) y un valor real que describe una
profundidad real del bufer de fluctuacion, y seleccionar el modo de operacion (escala de tiempo basada la trama, escala de tiempo basada en la muestra, o sin escala de tiempo) de acuerdo con dicha comparacion, de manera tal que la escala de tiempo basada la trama o la escala de tiempo basada en la muestra se seleccionan a fin de 40 controlar una profundidad del bufer de fluctuacion.
[0041] El control de bufer de fluctuacion 100, por ejemplo, puede configurarse para seleccionar una insercion de ruido de confort o una eliminacion de ruido de confort si una trama previa estaba inactiva (que, por ejemplo, puede reconocerse sobre la base de la senal de audio 110 en si misma, o sobre la base de una informacion acerca
45 de la senal de audio, por ejemplo, una marca de identificador de silencio SID en el caso de un modo de transmision discontinua). Por consiguiente, el control de bufer de fluctuacion 100 puede senalizar a un bufer de fluctuacion (tambien designado como bufer de eliminacion de fluctuacion) 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) esta inactiva. Ademas, el control de bufer de fluctuacion 100 puede instruir al bufer de fluctuacion (o bufer de eliminacion de fluctuacion) para la 50 eliminacion de una trama de ruido de confort (por ejemplo, una trama que comprende una informacion de senalizacion que indica que debe realizarse una generacion de ruido de confort) si se desea realizar una reduccion de tiempo y la trama previa estaba inactiva (o la trama actual esta inactiva). Ha de apreciarse que una respectiva trama puede considerarse inactiva cuando la respectiva trama lleva una informacion de senalizacion que indica una generacion de un ruido de confort (y tlpicamente no comprende contenido de audio codificado adicional). Tal 55 informacion de senalizacion, por ejemplo, puede adoptar la forma de una marca de indication de silencio (indicador SID) en el caso de un modo de transmision discontinua.
[0042] En contraste, el control de bufer de fluctuacion 100 esta configurado preferiblemente para seleccionar en superposicion y adicion, con desfase de tiempo, de porciones de senal de audio, si una trama previa fue activa
(por ejemplo, si la trama previa no comprendio informacion de senalizacion que indica que debe generarse un ruido de confort). Tal superposicion y adicion con desfase de tiempo, de porciones de senal de audio tipicamente permite un ajuste de un cambio de tiempo entre bloques de muestras de audio obtenidos sobre la base de posteriores tramas de la informacion de audio de entrada con una resolucion comparativamente alta (por ejemplo, con una 5 resolucion 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 audio, o que es tan pequena como una sola muestra de audio). Por consiguiente, la selection de la escala de tiempo basada en la muestra permite una escala de tiempo muy adaptada, lo que ayuda a evitar artefactos audibles para tramas activas.
10 [0043] En el caso de que el control de bufer de fluctuation seleccione una escala de tiempo basada en la
muestra, el control de bufer de fluctuacion puede ademas proporcionar informacion de control adicional para ajustar, o adaptar, la escala de tiempo basada en la muestra. Por ejemplo, el control de bufer de fluctuacion 100 puede estar configurado para determinar si un bloque de muestras de audio representa una portion de senal de audio activa, pero "latente", por ejemplo, una porcion de senal de audio que comprende una energia comparativamente pequena. 15 En este caso, es decir, si la porcion de senal de audio esta "activa" (por ejemplo, no una porcion de senal de audio para la cual se usa una generacion de ruido de confort en el decodificador de audio, en lugar de una decodificacion mas detallada de un contenido de audio) pero "latente" (por ejemplo, en terminos de que la energia de senal esta debajo de un cierto valor de umbral de energia, o incluso, es igual a cero), el control de bufer de fluctuacion puede proporcionar la informacion de control 114 para seleccionar un modo de superposicion y adicion, en el cual un 20 desfase de tiempo entre un bloque de muestras de audio que representa la porcion de senal de audio "latente" (pero activa) y un posterior bloque de muestras de audio se establece en un valor maximo predeterminado. Por consiguiente, un escalador de tiempo basado en la muestra no debe necesariamente identificar una cantidad apropiada de escala de tiempo sobre la base de una comparacion detallada de posteriores bloques de muestras de audio, sino que, simplemente, puede utilizar el valor maximo predeterminado para el cambio de tiempo. Puede 25 entenderse que una porcion de senal de audio "latente" tipicamente no causara sustanciales artefactos en una operacion de superposicion y adicion, sin consideracion de la eleccion real del cambio de tiempo. En consecuencia, la informacion de control 114 proporcionada por el control de bufer de fluctuacion puede simplificar el procesamiento a realizar por el escalador de tiempo basado en la muestra.
30 [0044] En contraste, si el control de bufer de fluctuacion 110 halla que un bloque de muestras de audio
representa una porcion de senal de audio "activa" y no latente (por ejemplo, una porcion de senal de audio para la cual no hay generation de ruido de confort, y que ademas comprende una energia de senal que es superior a un cierto valor de umbral), el control de bufer de fluctuacion proporciona la informacion de control 114 para de esa manera seleccionar un modo de superposicion y adicion en el cual el cambio de tiempo entre bloques de muestras 35 de audio es determinado de manera adaptativa a la senal (por ejemplo, por el escalador de tiempo basado en la muestra y usando una determination de similitudes entre bloques posteriores de muestras de audio).
[0045] Ademas, el control de bufer de fluctuacion 100 puede ademas recibir una informacion sobre la plenitud
de un bufer actual. El control de bufer de fluctuacion 100 puede seleccionar una insertion de una trama oculta (es 40 decir, una trama que es generada usando un mecanismo de recuperation de perdida de paquete, por ejemplo, usando una prediction sobre la base de tramas previamente decodificadas) en respuesta a una determinacion de que se requiere un estiramiento de tiempo y de que un bufer de fluctuacion esta vacio. En otras palabras, el control de bufer de fluctuacion puede iniciar una manipulation excepcional para un caso en el cual, basicamente, se desea una escala de tiempo basada en la muestra (debido a que la trama previa, o la trama actual, esta "activa"), pero 45 donde una escala de tiempo basada en la muestra (por ejemplo, usando una superposicion y adicion) no puede realizarse apropiadamente debido a que el bufer de fluctuacion (o bufer de elimination de fluctuacion) esta vacio. Por lo tanto, el control de bufer de fluctuacion 100 puede estar configurado para proporcionar apropiada informacion de control 112, 114, incluso para casos excepcionales.
50 [0046] A fin de simplificar la operation del control de bufer de fluctuacion 100, el control de bufer de
fluctuacion 100 puede estar configurado para seleccionar la escala de tiempo basada la trama o la escala de tiempo basada en la muestra, de acuerdo con el uso actual de una transmision discontinua (tambien designada brevemente como "DTX") junto con la generacion de ruido de confort (tambien designada brevemente como "CNG"). En otras palabras, el control de bufer de fluctuacion 100, por ejemplo, puede seleccionar la escala de tiempo basada la trama 55 si se reconoce, sobre la base de la senal de audio o sobre la base de una informacion acerca de la senal de audio, que una trama previa (o una trama actual) es una trama "inactiva", para la cual debe usarse una generacion de ruido de confort. Esto puede determinarse, por ejemplo, mediante la evaluation de una informacion de senalizacion (por ejemplo, una marca, como la denominada marca "SID"), que se incluye en una representation codificada de la senal de audio. Por consiguiente, el control de bufer de fluctuacion puede decidir que la escala de tiempo basada la trama
debe usarse si se usa actualmente una transmision discontinua junto con una generacion de ruido de confort, ya que puede esperarse que solo sea causada una pequena distorsion audible, o ninguna distorsion audible, por dicha escala de tiempo, en este caso. En contraste, la escala de tiempo basada en la muestra puede usarse de otro modo (por ejemplo, si una transmision discontinua en conjunto con una generacion de ruido de confort no es actualmente 5 usada), a menos que haya alguna circunstancia excepcional (por ejemplo, un bufer de fluctuacion vaclo).
[0047] Preferiblemente, el control de bufer de fluctuacion 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 bufer de fluctuacion puede estar configurado para seleccionar una insercion de ruido de confort o una eliminacion de ruido de confort para una
10 escala de tiempo si se usa actualmente una transmision discontinua en conjunto con una generacion de ruido de confort. Ademas, el control de bufer de fluctuacion puede estar configurado para seleccionar una operacion de superposicion y adicion usando un cambio de tiempo predeterminado para una escala de tiempo si una porcion de senal de audio actual esta activa, pero comprende una energla de senal que es menor o igual que un valor de umbral de energla, y si un bufer de fluctuacion no esta vaclo. Ademas, el control de bufer de fluctuacion puede estar 15 configurado para seleccionar una operacion de superposicion y adicion usando un cambio de tiempo adaptativo a la senal para una escala de tiempo si una porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor o igual que el valor de umbral de energla y si el bufer de fluctuacion no esta vaclo. Finalmente, el control de bufer de fluctuacion puede estar configurado para seleccionar una insercion de una trama oculta para una escala de tiempo si una porcion de senal de audio actual esta activa y si el bufer de fluctuacion esta vaclo. Por 20 consiguiente, puede observarse que el control de bufer de fluctuacion puede estar configurado para seleccionar una escala de tiempo basada en la trama o una escala de tiempo basada en la muestra, de una manera adaptativa a la senal.
[0048] Ademas, debe apreciarse que el control de bufer de fluctuacion puede estar configurado para 25 seleccionar una operacion de superposicion y adicion usando un cambio de tiempo adaptativo a la senal y un
mecanismo de control de calidad para una escala de tiempo si una porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor o igual que el valor de umbral de energla, y si el bufer de fluctuacion no esta vaclo. En otras palabras, puede haber un mecanismo de control de calidad adicional para la escala de tiempo basada en la muestra, que suplemente la seleccion adaptativa a la senal, entre una escala de tiempo basada 30 la trama y una escala de tiempo basada en la muestra, que es realizada por el control de bufer de fluctuacion. Por lo tanto, puede usarse un concepto jerarquico, en el que el bufer de fluctuacion realiza la seleccion inicial entre la escala de tiempo basada la trama y la escala de tiempo basada en la muestra, y en el que se implementa un mecanismo de control de calidad adicional a fin de garantizar que la escala de tiempo basada en la muestra no obtenga una degradation inaceptable de la calidad del audio.
35
[0049] Como conclusion, se ha explicado una funcionalidad fundamental del control de bufer de fluctuacion 100, y se han explicado ademas mejoras opcionales del mismo. Ademas, ha de apreciarse que el control de bufer de fluctuacion 100 puede complementarse por cualquiera de las caracterlsticas y funcionalidades que se describen en el presente documento.
40
5.2. Escalador de tiempo de acuerdo con la Fig. 2
[0050] La Fig. 2 muestra un diagrama esquematico de bloques de un escalador de tiempo 200 de acuerdo con una realization de la presente invention. El escalador de tiempo 200 esta configurado para recibir una senal de
45 audio de entrada 210 (por ejemplo, en la forma de una secuencia de muestras proporcionada por un nucleo de decodificador) y proporciona, sobre la base del mismo, una version con escala de tiempo 212 de la senal de audio de entrada. El escalador de tiempo 200 esta configurado para computar o estimar una calidad de una version con escala de tiempo de la senal de audio de entrada que se obtiene por una escala de tiempo de la senal de audio de entrada. Esta funcionalidad puede realizarse, por ejemplo, por una unidad de computation. Ademas, el escalador de 50 tiempo 200 esta configurado para realizar una escala de tiempo de la senal de audio de entrada 210 de acuerdo con el computo o la estimation de la calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo, a fin de obtener as! la version con escala de tiempo de la senal de audio de entrada 212. Esta funcionalidad, por ejemplo, puede realizarse por una unidad de escala de tiempo.
55 [0051] Por consiguiente, el escalador de tiempo puede realizar un control de calidad a fin de garantizar que
se evitan excesivas degradaciones de la calidad de un audio cuando se realiza la escala de tiempo. Por ejemplo, el escalador de tiempo puede estar configurado para predecir (o estimar), sobre la base de la senal de audio de entrada, si se espera que una operacion de escala de tiempo contemplada como, por ejemplo, una operacion de superposicion y adicion 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 estar configurado para computar o estimar la calidad (esperada) de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo de la senal de audio de entrada antes de que la escala de tiempo de la senal de audio de entrada se ejecute realmente. Para este fin, el escalador de tiempo, por ejemplo, puede comparar 5 porciones de la senal de audio de entrada que estan involucradas en la operacion de escala de tiempo (por ejemplo, en terminos de que dichas porciones de la senal de audio de entrada deben ser superpuestas y agregadas a fin de efectuar la escala de tiempo). Para concluir, el escalador de tiempo 200 esta tlpicamente configurado para verificar si puede esperarse que una escala de tiempo contemplada logre una calidad de audio suficiente de la version con escala de tiempo de la senal de audio de entrada, y decidir si realizar la escala de tiempo en base del mismo. Como 10 alternativa, el escalador de tiempo puede adaptar cualquiera de los parametros de escala de tiempo (por ejemplo, un cambio de tiempo entre bloques de muestras por ser superpuestos y anadidos) dependiendo de un resultado de la estimacion computacional de la calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo de la senal de audio de entrada.
15 [0052] A continuacion, se describiran mejoras opcionales del escalador de tiempo 200.
[0053] En una realization preferida, el escalador de tiempo esta configurado para realizar una operacion de superposition y adicion usando un primer bloque de muestras de la senal de audio de entrada y un segundo bloque de muestras de la senal de audio de entrada. En este caso, el escalador de tiempo esta configurado para cambiar el
20 tiempo del segundo bloque de muestras con respecto al primer bloque de muestras, y realizar la superposicion y adicion del primer bloque de muestras y el segundo bloque de muestras con desfase de tiempo, a fin de obtener la version con escala de tiempo de la senal de audio de entrada. Por ejemplo, si se desea una reduction de tiempo, el escalador de tiempo puede ingresar un primer numero de muestras de la senal de audio de entrada y proporcionar, en base al mismo, un segundo numero de muestras de la version con escala de tiempo de la senal de audio de 25 entrada, en el que el segundo numero de muestras es menor que el primer numero de muestras. A fin de lograr una reduccion del numero de muestras, el primer numero de muestras puede separarse en al menos un primer bloque de muestras 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 cambiarse temporalmente juntos, de manera que las versiones temporalmente cambiadas del primer bloque de 30 muestras y del segundo bloque de muestras se superponen. En la region de superposicion entre las versiones cambiadas del primer bloque de muestras y del segundo bloque de muestras, se aplica una operacion de superposicion y adicion. Tal operacion de superposicion y adicion puede aplicarse sin causar sustanciales distorsiones audibles si el primer bloque de muestras y el segundo bloque de muestras son "suficientemente" similares en la region de superposicion (en la que se realiza la operacion de superposicion y adicion), y 35 preferiblemente, ademas en un entorno de la region de superposicion. Por lo tanto, mediante la superposicion y adicion de las porciones de senal que originalmente no se superponlan temporalmente, se logra una reduccion de tiempo, ya que se reduce un numero total de muestras por una cantidad de muestras que originalmente no se superponlan (en la senal de audio de entrada 210), pero que se superponen en la version con escala de tiempo 212 de la senal de audio de entrada.
40
[0054] En contraste, puede lograrse ademas un estiramiento de tiempo usando dicha operacion de superposicion y adicion. Por ejemplo, un primer bloque de muestras y un segundo bloque de muestras pueden seleccionarse para ser superpuestos y pueden comprender una primera extension temporal general. Posteriormente, el segundo bloque de muestras puede desplazarse en el tiempo con respecto al primer bloque de muestras, de
45 manera que la superposicion entre el primer bloque de muestras y el segundo bloque de muestras se reduce. Si el segundo bloque de muestras con desfase de tiempo se adapta bien al primer bloque de muestras, puede realizarse una superposicion y adicion, en la que la region de superposicion entre el primer bloque de muestras y la version del segundo bloque de muestras con desfase de tiempo puede ser mas corta, tanto en terminos de una cantidad de muestras como en terminos de un tiempo, en comparacion con la region de superposicion original entre el primer 50 bloque de muestras y el segundo bloque de muestras. Por consiguiente, el resultado de la operacion de superposicion y adicion usando el primer bloque de muestras y la version del segundo bloque de muestras con desfase de tiempo puede comprender una extension temporal mayor (tanto en terminos de tiempo como en terminos de una cantidad de muestras) que la extension total del primer bloque de muestras y del segundo bloque de muestras en su forma original.
55
[0055] Por consiguiente, es evidente que tanto una reduccion de tiempo como un estiramiento de tiempo pueden obtenerse usando una operacion de superposicion y adicion empleando un primer bloque de muestras de la senal de audio de entrada y un segundo bloque de muestras de las senales de audio de entrada, en el que el segundo bloque de muestras se desfasa en el tiempo con respecto al primer bloque de muestras (o en el que tanto
el primer bloque de muestras como el segundo bloque de muestras son cambiados en tiempo entre si).
[0056] Preferiblemente, el escalador de tiempo 200 esta configurado para computar o estimar una calidad de la operation de superposition y adicion entre el primer bloque de muestras y la version del segundo bloque de
5 muestras con desfase de tiempo, a fin de computar o estimar la calidad (esperada) de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo. Debe observarse que tlpicamente no hay ningun artefacto audible si la operacion de superposicion y adicion se realiza para porciones de los bloques de muestras que son suficientemente similares. En otras palabras, la calidad de la operacion de superposicion y adicion afecta sustancialmente la calidad (esperada) de la version con escala de tiempo de las senales de audio de entrada. 10 Por lo tanto, la estimation (o computation) de la calidad de la operacion de superposicion y adicion proporciona una estimation confiable (o computacion) de la calidad de la version con escala de tiempo de la senal de audio de entrada.
[0057] Preferiblemente, el escalador de tiempo 200 esta configurado para determinar el cambio de tiempo del 15 segundo bloque de muestras con respecto al primer bloque de muestras de acuerdo con la determination del nivel
de similitud entre el primer bloque de muestras, o una portion (por ejemplo, la portion derecha) del primer bloque de muestras, y el segundo bloque de muestras con desfase de tiempo, o una porcion (por ejemplo, la porcion izquierda) del segundo bloque de muestras con desfase de tiempo. En otras palabras, el escalador de tiempo puede estar configurado para determinar el cambio de tiempo entre el primer bloque de muestras y el segundo bloque de 20 muestras mas apropiado a fin de obtener un resultado suficientemente bueno de superposicion y adicion (o al menos el mejor resultado posible de superposicion y adicion). 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 bloque de muestras realmente acarrea un resultado suficientemente bueno de superposicion y adicion (o se espera que acarree un resultado suficientemente bueno de superposicion y adicion).
25
[0058] Preferiblemente, el escalador de tiempo determina information acerca de un nivel de similitud entre el primer bloque de muestras, o una porcion (por ejemplo, la porcion derecha) del primer bloque de muestras, y el segundo bloque de muestras, o una porcion (por ejemplo, la porcion izquierda) del segundo bloque de muestras, para una pluralidad de diferentes desfases de tiempo entre el primer bloque de muestras y el segundo bloque de
30 muestras, y determina un desfase de tiempo (candidato) para ser usado para la operacion de superposicion y adicion sobre la base de la informacion acerca del nivel de similitud para la pluralidad de diferentes cambios de tiempo. En otras palabras, puede realizarse una busqueda de una mejor coincidencia, en la que la informacion acerca del nivel de 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.
35
[0059] Preferiblemente, el escalador de tiempo esta configurado para determinar el cambio de tiempo del segundo bloque de muestras con respecto al primer bloque de muestras, cuyo dicho desfase de tiempo se usara para la operacion de superposicion y adicion, dependiendo de una informacion de desfase de tiempo objetivo. En otras palabras, puede considerarse (tenerse en cuenta) una informacion de desfase de tiempo objetivo, que, por
40 ejemplo, puede obtenerse sobre la base de una evaluation de una plenitud de bufer, una fluctuation, y posiblemente, otros criterios adicionales, cuando se determina el desfase de tiempo por usar (por ejemplo, como un desfase de tiempo candidato) para la operacion de superposicion y adicion. Por lo tanto, la superposicion y adicion se adapta a los requisitos del sistema.
45 [0060] En algunas realizaciones, el escalador de tiempo puede estar configurado para computar o estimar
una calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por una escala de tiempo de la senal de audio de entrada sobre la base de una informacion acerca de un nivel de similitud entre el primer bloque de muestras, o una porcion (por ejemplo, la porcion derecha) del primer bloque de muestras, y el segundo bloque de muestras, con desfase de tiempo por el cambio de tiempo determinado (candidato), o una 50 porcion (por ejemplo, la porcion izquierda) del segundo bloque de muestras, con desfase de tiempo por el cambio de tiempo determinado (candidato). Dicha informacion acerca del nivel de similitud proporciona una informacion acerca de la calidad (esperada) de la operacion de superposicion y adicion, y, en consecuencia, ademas proporciona una informacion (al menos una estimacion) acerca de la calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo. En algunos casos, la informacion computada o estimada acerca 55 de la calidad de la version con escala de tiempo de la senal 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 puede ser pospuesta, en el ultimo caso). En otras palabras, el escalador de tiempo puede estar configurado para decidir, sobre la base de la informacion acerca del nivel de similitud entre el primer bloque de muestras, o una porcion (por ejemplo, la porcion derecha) del primer bloque de muestras, y el segundo bloque de muestras, con
desfase de tiempo por el cambio de tiempo determinado (candidato), o una porcion (por ejemplo, la porcion izquierda) del segundo bloque de muestras, con desfase de tiempo por el cambio de tiempo determinado (candidato), si se realiza realmente una escala de tiempo (o no). Por lo tanto, el mecanismo de control de calidad, que evalua la informacion, computada o estimada, sobre la calidad de la version con escala de tiempo de la senal de 5 audio de entrada que se obtiene por la escala de tiempo, puede, en realidad, producir la omision 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 degradacion de un contenido de audio por la escala de tiempo.
[0061] En algunas realizaciones, pueden usarse diferentes medidas de similitud para la determinacion inicial 10 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 estar configurado para el cambio de tiempo de un segundo bloque de muestras con respecto al primer bloque de muestras, y para la superposicion y adicion del primer bloque de muestras y el segundo bloque de muestras con desfase de tiempo, para de ese modo obtener la version con escala de tiempo de la senal de audio de entrada, si el computo o la 15 estimacion de la calidad de la version con escala de tiempo de la senal 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 estar configurado para determinar un cambio de tiempo del segundo bloque de muestras (candidato) con respecto al primer bloque de muestras dependiendo de una determinacion de un nivel de similitud, evaluado usando una primera medida de similitud, entre el primer bloque de muestras, o una porcion (por ejemplo la porcion derecha) del 20 primer bloque de muestras, y el segundo bloque de muestras, o una porcion (por ejemplo, la porcion izquierda) del segundo bloque de muestras. Ademas, el escalador de tiempo puede estar configurado para computar o estimar una calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por una escala de tiempo de la senal de audio de entrada sobre la base de una informacion acerca de un nivel de similitud, evaluada usando una segunda medida de similitud, entre el primer bloque de muestras, o una porcion (por ejemplo, la porcion 25 derecha) del primer bloque de muestras, y el segundo bloque de muestras, con desfase de tiempo por el cambio de tiempo determinado (candidato), o una porcion (por ejemplo, la porcion izquierda) del segundo bloque de muestras, con desfase de tiempo por el cambio de tiempo determinado (candidato). Por ejemplo, la segunda medida de similitud puede ser computacionalmente mas compleja que la primera medida de similitud. Tal concepto es util, ya que es tlpicamente necesario computar la primera medida de similitud multiples veces por operacion de escala de 30 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 tlpicamente solo necesita ser computada una vez por operacion de cambio de tiempo, por ejemplo, como una verificacion de calidad "final", de si puede esperarse que el cambio de tiempo "candidato" determinado usando la primera medida de calidad 35 (computacionalmente menos compleja) logre una calidad de audio suficientemente buena. En consecuencia, es posible aun evitar la ejecucion de una superposicion y adicion, si la primera medida de similitud indica una similitud razonablemente buena (o al menos suficiente) entre el primer bloque de muestras (o una porcion de este) y el segundo bloque de muestras con desfase de tiempo (o una porcion de este) para el cambio de tiempo "candidato", pero la segunda medida de similitud (y tlpicamente mas significativa o precisa) indica que la escala de tiempo no 40 lograrla una calidad de audio suficientemente buena. Por lo tanto, la aplicacion del control de calidad (usando la segunda medida de similitud) ayuda a evitar distorsiones audibles en la escala de tiempo.
[0062] Por ejemplo, la primera medida de similitud puede ser una correlacion cruzada o una correlation cruzada normalizada, o una funcion de diferencia de magnitud promedio, o una suma de errores cuadrados. Dichas
45 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 porcion de este) y el segundo bloque de muestras (con desfase de tiempo) (o una porcion de este), es decir, para determinar el cambio de tiempo "candidato". En contraste, la segunda medida de similitud puede, por ejemplo, ser una combination de valores de correlacion cruzada o valores de correlacion cruzada normalizada para una pluralidad de diferentes cambios de 50 tiempos. Tal medida de similitud proporciona mas exactitud, y ayuda a considerar componentes de senal adicionales (como, por ejemplo, armonicos) o una estacionalidad de la senal de audio cuando se evalua la calidad (esperada) de la escala de tiempo. Sin embargo, la segunda medida de similitud es computacionalmente mas demandante que la primera medida de similitud, de manera que serla computacionalmente ineficiente aplicar la segunda medida de similitud cuando se busca un cambio de tiempo "candidato".
55
[0063] A continuation, se describiran algunas opciones para una determinacion de la segunda medida de similitud. En algunas realizaciones, la segunda medida de similitud puede ser una combinacion de correlaciones cruzadas para al menos cuatro diferentes cambios de tiempo. Por ejemplo, la segunda medida de similitud puede ser una combinacion de un primer valor de correlacion cruzada y de un segundo valor de correlacion cruzada, que se
obtienen para cambios de tiempo que estan espaciados por un multiplo de numero entero de una duration de periodo de una frecuencia fundamental de un contenido de audio del primer bloque de muestras o del segundo bloque de muestras, y de un tercer valor de correlation cruzada y un cuarto valor de correlation cruzada, que se obtienen para cambios de tiempo que estan espaciados por un multiplo de numero entero de la duration de periodo 5 de la frecuencia fundamental del contenido de audio. Un cambio de tiempo para el cual se obtiene el primer valor de correlation cruzada puede estar espaciado de un cambio de tiempo para el cual se obtiene el tercer valor de correlation cruzada, por un multiplo impar de la mitad de la duration de periodo de la frecuencia fundamental del contenido de audio. Si el contenido de audio (representado por la senal de audio de entrada) es sustancialmente estacionario, y dominado por la frecuencia fundamental, puede esperarse que el primer valor de correlation cruzada 10 y el segundo valor de correlation cruzada que, por ejemplo, pueden ser normalizados, sean ambos cercanos a uno. Sin embargo, debido a que el tercer valor de correlation cruzada y el cuarto valor de correlation cruzada se obtienen ambos para cambios de tiempo que estan espaciados, por un multiplo impar de la mitad de la duration de periodo de la frecuencia fundamental, de los cambios de tiempo para los cuales se obtienen el primer valor de correlation cruzada y el segundo valor de correlation cruzada, puede esperarse que le tercer valor de correlation cruzada y el 15 cuarto valor de correlation cruzada sean opuestos con respecto al primer valor de correlation cruzada y el segundo valor de correlation cruzada en el caso de que el contenido de audio sea sustancialmente estacionario y dominado por la frecuencia fundamental. Por consiguiente, puede formarse una combination significativa sobre la base del primer valor de correlation cruzada, el segundo valor de correlation cruzada, el tercer valor de correlation cruzada y el cuarto valor de correlation cruzada, que indica si la senal de audio es suficientemente estacionaria y dominada 20 por una frecuencia fundamental en una region (candidata) de superposition y adicion.
[0064] Debe observarse que pueden obtenerse medidas de similitud particularmente significativas mediante
el computo de la medida de similitud q de acuerdo con:
imagen1
o de acuerdo con
imagen2
30
[0065] En lo anterior, c(p) es un valor de correlation cruzada entre un primer bloque de muestras (o una portion del mismo) y un segundo bloque de muestras (o una portion del mismo), que se desfasan en el tiempo (por ejemplo, con respecto a una position temporal original dentro del contenido de audio de entrada) por una duration de periodo p de una frecuencia fundamental de un contenido de audio del primer bloque de muestras y/o del
35 segundo bloque de muestras (en el que la frecuencia fundamental del contenido de audio es tfpicamente sustancialmente identica en el primer bloque de muestras y en el segundo bloque de muestras). En otras palabras, se computa un valor de correlation 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 si, por la duration de periodo p de la frecuencia fundamental del contenido de audio de entrada (en el que la duration de periodo p de la frecuencia 40 fundamental puede obtenerse, por ejemplo, sobre la base de una estimation de frecuencia fundamental, una autocorrelation, o similares). Asimismo, c(2*p) es un valor de correlation cruzada entre un primer bloque de muestras (o una portion del mismo) y un segundo bloque de muestras (o una portion del mismo) que tienen cambio de tiempo por 2 * p. Se aplican definiciones similares tambien a c(3/2*p), c(1/2*p), c(-p) y c(-1/2*p), donde el argumento de c(.) designa el cambio de tiempo.
45
[0066] En lo que sigue, se explicaran 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 implementation, el escalador de tiempo 200 puede estar configurado para comparar un valor de calidad, que se basa en un computo o la estimation de la calidad (esperada) de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la
50 escala de tiempo, con un valor de umbral variable, a fin de decidir si debe realizarse una escala de tiempo. Por consiguiente, la decision de si realizar la escala de tiempo tambien puede hacerse dependiendo de las circunstancias, por ejemplo, un historial que represente escalas de tiempo anteriores.
[0067] Por ejemplo, el escalador de tiempo puede estar configurado para reducir el valor de umbral variable, 55 para reducir asf 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 mas bloques de 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 causarfa un desbordamiento de bufer o un subdesbordamiento de bufer. Ademas, el escalador de tiempo puede estar configurado para aumentar el valor de umbral variable, a fin de aumentar un
requerimiento 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 mas bloques o muestras anteriores. Por consiguiente, puede evitarse que demasiados bloques o muestras posteriores sean sometidos a la escala de tiempo, a menos que pueda obtenerse una muy buena calidad (mayor con respecto a un requerimiento de calidad normal) de la escala de 5 tiempo. Por lo tanto, pueden evitarse artefactos que seran causados si las condiciones para una calidad de la escala de tiempo fueran demasiado bajas.
[0068] En algunas realizaciones, el escalador de tiempo puede comprender un primer contador con limitation
de rango, para el recuento de una cantidad de bloques de muestras o de una cantidad de tramas que han sido
10 sometidas a la escala de tiempo, debido a que se ha alcanzado el respectivo requerimiento de calidad de la version de la senal de audio de entrada sometida a la escala de tiempo, que se obtiene por la escala de tiempo. Ademas, el escalador de tiempo puede comprender tambien un segundo contador con limitacion 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 requerimiento de calidad de la version de la senal de audio de
15 entrada sometida a escala de tiempo que se obtiene por la escala de tiempo. En este caso, el escalador de tiempo puede estar configurado para computar el valor de umbral variable de acuerdo con un valor del primer contador y de acuerdo con un valor del segundo contador. Por consiguiente, el "historial" de la escala de tiempo (y, ademas, el historial de "calidad") puede considerarse con moderado esfuerzo computacional.
20 [0069] Por ejemplo, el escalador de tiempo puede estar 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.
[0070] A continuation, se resumiran algunas funcionalidades importantes, que pueden proporcionarse en
25 algunas realizaciones del escalador de tiempo 200. Sin embargo, ha de apreciarse que las funcionalidades que se
describen a continuacion no son funcionalidades esenciales del escalador de tiempo 200.
[0071] En una implementation, el escalador de tiempo puede estar configurado para realizar la escala de tiempo de la senal de audio de entrada de acuerdo con el computo o la estimation de la calidad de la version con
30 escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo. En este caso, el computo o la estimacion de la calidad de la version con escala de tiempo de la senal de audio de entrada comprende un computo o la estimacion de los artefactos en la version con escala de tiempo de la senal de audio de entrada que serlan causados por la escala de tiempo. Sin embargo, debe apreciarse que el computo o la estimacion de artefactos puede realizarse de una manera indirecta, por ejemplo, mediante el computo de la calidad de una
35 operation de superposition y adicion. En otras palabras, el computo o la estimacion de la calidad de la version con escala de tiempo de la senal de audio de entrada puede comprender un computo o una estimacion de artefactos en la version con escala de tiempo de la senal de audio de entrada que serlan causados por una operacion de superposicion y adicion de posteriores bloques de muestras de la senal de audio de entrada (en donde, naturalmente, puede aplicarse cierto cambio de tiempo a los posteriores bloques de muestras).
40
[0072] Por ejemplo, el escalador de tiempo puede estar configurado para computar o estimar la calidad de una version con escala de tiempo de la senal de audio de entrada que se obtiene por una escala de tiempo de la senal de audio de entrada de acuerdo con un nivel de similitud de los posteriores (y posiblemente superpuestos) bloques de muestras de la senal de audio de entrada.
45
[0073] En una realization preferida, el escalador de tiempo puede estar configurado para computar o estimar si hay artefactos audibles en una version con escala de tiempo de la senal de audio de entrada que se obtiene por una escala de tiempo de la senal de audio de entrada. La estimacion de artefactos audibles puede realizarse de una manera indirecta, como se menciona con anterioridad.
50
[0074] 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 estar configurado para posponer una escala de tiempo a una trama posterior o a un bloque posterior de muestras, si el computo o la estimacion de la calidad de la version con
55 escala de tiempo de la senal 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 mas adecuado para la escala de tiempo, de modo de generar menos artefactos (en particular, artefactos audibles). En otras palabras, el escalador de tiempo puede estar configurado para posponer una escala de tiempo hasta un momento cuando la escala de tiempo es menos audible,
si el computo o la estimacion de la calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo indica una calidad insuficiente.
[0075] Como conclusion, el escalador de tiempo 200 puede ser mejorado de una cantidad de maneras 5 diferentes, como se ha analizado anteriormente.
[0076] Ademas, debe observarse que el escalador de tiempo 200 puede ser opcionalmente combinado con el control de bufer de fluctuacion 100, donde el control de bufer de fluctuacion 100 puede decidir si debe usarse la escala de tiempo basada en la muestra, que es tlpicamente realizada por el escalador de tiempo 200, o si debe
10 usarse una escala de tiempo basada la trama.
5.3. Decodificador de audio de acuerdo con la Fig. 3
[0077] La Fig. 3 muestra un diagrama esquematico de bloques de un decodificador de audio 300, de acuerdo 15 con una realizacion de la presente invention.
[0078] El decodificador de audio 300 esta configurado para recibir un contenido de audio de entrada 310, que puede considerarse una representation de audio de entrada, y que, por ejemplo, puede ser representado en la forma de tramas de audio. Ademas, el decodificador de audio 300 proporciona, sobre la base del mismo, un
20 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 bufer de fluctuacion 320, que esta configurado para recibir el contenido de audio de entrada 310, por ejemplo, en la forma de tramas de audio. El bufer de fluctuacion 320 esta configurado para el bufer de una pluralidad de tramas de audio que representan bloques de muestras de audio (en donde una sola trama puede representar uno o mas bloques de muestras de audio, y en 25 donde las muestras de audio representadas por una sola trama pueden ser logicamente subdivididas en una pluralidad de bloques de muestras de audio de superposition o de no superposition). Ademas, el bufer de fluctuacion 320 proporciona tramas de audio en "bufer" 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 bufer de fluctuacion (como, por ejemplo, tramas de audio "inactivas" que comprenden una 30 information de serialization que senala la generation de ruido de confort). El decodificador de audio 300 adicionalmente comprende un nucleo de decodificador 330, que recibe las tramas de audio con bufer 322 desde el bufer de fluctuacion 320 y que 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 bufer de fluctuacion. Ademas, el decodificador de audio 300 comprende un escalador de tiempo basado en la muestra 340, que esta 35 configurado para recibir las muestras de audio 332 proporcionadas por el nucleo de decodificador 330, y para proporcionar, sobre la base del mismo, muestras de audio con escala de tiempo 342, que constituyen el contenido de audio decodificado 312. El escalador de tiempo basado en la muestra 340 esta 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 proporcionados por el 40 nucleo de decodificador). Ademas, el decodificador de audio puede comprender un control opcional 350. El control de bufer de fluctuacion 350, que se usa en el decodificador de audio 300, por ejemplo, puede ser identico al control de bufer de fluctuacion 100 de acuerdo con la Fig. 1. En otras palabras, el control de bufer de fluctuacion 350 puede estar configurado para seleccionar una escala de tiempo basada la trama, que se realiza por el bufer de fluctuacion 320, o una escala de tiempo basada en la muestra, que se realiza por el escalador de tiempo basado en la muestra 45 340 de manera adaptativa a la senal. Por consiguiente, el control de bufer de fluctuacion 350 puede recibir el contenido de audio de entrada 310, o una informacion acerca del contenido de audio de entrada 310 como la senal de audio 110, o como la informacion acerca de la senal de audio 110. Ademas, el control de bufer de fluctuacion 350 puede proporcionar la informacion de control 112 (como se describe con respecto al control de bufer de fluctuacion 100) al bufer de fluctuacion 320, y el control de bufer de fluctuacion 350 puede proporcionar la informacion de control 50 114, como se describe con respecto al control de bufer de fluctuacion 100, al escalador de tiempo basado en la muestra 140. Por consiguiente, el bufer de fluctuacion 320 puede estar configurado para excluir o insertar tramas de audio a fin de realizar una escala de tiempo basada la trama. Ademas, el nucleo de decodificador 330 puede estar configurado para realizar una generacion de ruido de confort en respuesta a una trama que porta una informacion de senalizacion que indica la generacion de un ruido de confort. Por consiguiente, un ruido de confort puede ser 55 generado por el nucleo de decodificador 330 en respuesta a la insertion de una trama "inactiva" (que comprende una informacion de senalizacion que indica que debe generarse un ruido de confort) en el bufer de fluctuacion 320. En otras palabras, una forma simple de una escala de tiempo basada la trama puede lograr eficazmente la generacion de una trama que comprende ruido de confort, que se desencadena por la insercion de una trama "inactiva" en el bufer de fluctuacion (que puede realizarse en respuesta a la informacion de control 112
proporcionada por el control de bufer de fluctuacion). Ademas, el nucleo de decodificador puede estar configurado para realizar una "ocultacion" en respuesta a un bufer de fluctuacion vacio. Tal ocultacion puede comprender la generacion de una information de audio para una trama "perdida" (bufer de fluctuacion vacio) sobre la base de una information de audio de una o mas tramas que preceden la trama de audio perdida. Por ejemplo, puede usarse una 5 prediction, asumiendo que el contenido de audio de la trama de audio perdida es una "continuation" del contenido de audio de una o mas tramas de audio que preceden la trama de audio perdida. Sin embargo, cualquiera de los conceptos de ocultacion de perdida de trama conocidos en la tecnica puede ser usado por el nucleo de decodificador. En consecuencia, el control de bufer de fluctuacion 350 puede instruir al bufer de fluctuacion 320 (o al nucleo de decodificador 330) para la initiation de una ocultacion en el caso de que el bufer de fluctuacion 320 se 10 vacie. Sin embargo, el nucleo de decodificador puede realizar la ocultacion incluso sin una senal de control explicita, sobre la base de una inteligencia propia.
[0079] Ademas, debe apreciarse que el escalador de tiempo basado en la muestra 340 puede ser igual al
escalador de tiempo 200 descrito con respecto a la Fig. 2. Por consiguiente, la senal de audio de entrada 210 puede 15 corresponder a las muestras de audio 332, y la version con escala de tiempo 212 de la senal de audio de entrada puede corresponder a las muestras de audio con escala de tiempo 342. Por consiguiente, el escalador de tiempo 340 puede estar configurado para realizar la escala de tiempo de la senal de audio de entrada dependiendo de un computo o una estimation de la calidad de la version de la senal de audio de entrada con escala de tiempo que se obtiene por la escala de tiempo. El escalador de tiempo basado en la muestra 340 puede ser controlado por el 20 control de bufer de fluctuacion 350, en el que una informacion de control 114 proporcionada por el control de bufer de fluctuacion al escalador de tiempo basado en la muestra 340 puede indicar si debe ser realizada una escala de tiempo basada en la muestra. Ademas, la informacion de control 114, por ejemplo, puede indicar una cantidad deseada de escala de tiempo a realizarse por el escalador de tiempo basado en la muestra 340.
25 [0080] Debe apreciarse 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 bufer de fluctuacion 100 y/o con respecto al escalador de tiempo 200. Ademas, el decodificador de audio 300 puede ademas ser suplementado por cualquier otra caracteristica y funcionalidades descritas en el presente documento, por ejemplo, con respecto a las Figs. 4 a 15.
30 5.4. Decodificador de audio de acuerdo con la Fig. 4
[0081] La Fig. 4 muestra un diagrama esquematico de bloques de un decodificador de audio 400, de acuerdo
con una realization de la presente invention. El decodificador de audio 400 esta configurado para recibir paquetes 410, que pueden comprender una representation empaquetada de una o mas tramas de audio. Ademas, el 35 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 modulation por impulsos codificados, por ejemplo, en la forma de una secuencia de valores digitales que representan muestras de una forma de onda de audio).
40 [0082] El decodificador de audio 400 comprende a desempaquetador 420, que esta configurado para recibir
los paquetes 410 y proporcionar, sobre su base, tramas desempaquetadas 422. Ademas, el desempaquetador esta configurado para extraer, de los paquetes 410, una denominada "marca SID", que senala una trama de audio "inactiva" (es decir, una trama de audio para la cual debe usarse una generacion de ruido de confort, en lugar de una decodificacion detallada "normal" de un contenido de audio). La informacion de marca SID se designa con 424. 45 Ademas, el desempaquetador proporciona un sello de tiempo de protocolo de transporte en tiempo real (tambien designado como "RTP TS") y un sello de tiempo de llegada (tambien designado como "TS" de llegada). La informacion de sello de tiempo se designa con 426. Ademas, el decodificador de audio 400 comprende un bufer de elimination de fluctuacion 430 (tambien designado en resumen como bufer de fluctuacion 430), que recibe las tramas desempaquetadas 422 del desempaquetador 420, y que proporciona tramas con bufer 432 (y posiblemente 50 tambien tramas insertadas) a un nucleo de decodificador 440. Ademas, el bufer de eliminacion de fluctuacion 430 recibe una informacion de control 434 para una escala (de tiempo) sobre la base de la trama, desde una logica de control. Ademas, el bufer de eliminacion de fluctuacion 430 proporciona una informacion de retroalimentacion de escala 436 a una estimacion de retardo de transmision. El decodificador de audio 400 ademas comprende un escalador de tiempo (tambien designado como "TSM") 450, que recibe muestras de audio decodificadas 442 (por 55 ejemplo, en la forma de datos con modulacion por impulsos codificados) del nucleo de decodificador 440, donde el nucleo de decodificador 440 proporciona las muestras de audio decodificadas 442 sobre la base de las tramas con bufer o insertadas 432 recibidas del bufer de eliminacion de fluctuacion 430. El escalador de tiempo 450 ademas recibe una informacion de control 444 para una escala (de tiempo) sobre la base de la muestra, desde una logica de control, y proporciona una informacion de retroalimentacion de escala 446 a una estimacion de retardo de
transmision. El escalador de tiempo 450 ademas proporciona muestras con escala de tiempo 4 48, que pueden representar contenido de audio con escala de tiempo en una forma modulada por impulsos codificados. El decodificador de audio 400 ademas comprende un bufer PCM 4 60, que recibe las muestras con escala de tiempo 448 y almacena temporalmente los datos de las muestras con escala de tiempo 448. Ademas, el bufer PCM 460 5 proporciona una version con bufer, de muestras con escala de tiempo 448 como una representacion del contenido de audio decodificado 412. Ademas, el bufer PCM 460 puede proporcionar una informacion de retardo 462 a una logica de control.
[0083] El decodificador de audio 400 ademas comprende una estimacion de retardo objetivo 470, que recibe
10 la informacion 424 (por ejemplo, la marca SID) al igual que la informacion de sello de tiempo 426 que comprende el sello de tiempo RTP y el sello de tiempo de llegada. Sobre la base de esta informacion, la estimacion de retardo objetivo 470 proporciona una informacion de retardo objetivo 472, que describe un retardo deseable, por ejemplo, un retardo deseable que deberla ser causado por el bufer de eliminacion de fluctuacion 430, el decodificador 440, el escalador de tiempo 450 y el bufer PCM 460. Por ejemplo, la estimacion de retardo objetivo 470 puede computar o 15 estimar la informacion de retardo objetivo 472, de manera que el retardo no se escoja innecesariamente grande, sino suficiente para compensar cierta fluctuacion de los paquetes 410. Ademas, el decodificador de audio 400 comprende una estimacion de retardo de transmision 480, que esta configurada para recibir la informacion de retroalimentacion de escala 436 desde el bufer de eliminacion de fluctuacion 430 y la informacion de retroalimentacion de escala 446 desde el escalador de tiempo 460. Por ejemplo, la informacion de retroalimentacion de escala 436 puede describir 20 una escala de tiempo que es realizada por el bufer de eliminacion de fluctuacion. Ademas, la informacion de retroalimentacion de escala 446 describe una escala de tiempo que se realiza por el escalador de tiempo 450. Con respecto a la informacion de retroalimentacion de escala 44 6, debe observarse que la escala de tiempo realizada por el escalador de tiempo 450 es tlpicamente adaptativa a la senal, de modo tal que una escala de tiempo real que se describe por la informacion de retroalimentacion de escala 446 puede ser diferente de una escala de tiempo 25 deseada que puede ser descrita por la informacion de escala basada en la muestra 444. Como conclusion, la informacion de retroalimentacion de escala 436 y la informacion de retroalimentacion 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 senal proporcionada de acuerdo con algunos aspectos de la presente invencion.
30 [0084] Ademas, el decodificador de audio 400 ademas comprende una logica de control 490, que realiza un
control (primario) del decodificador de audio. La logica de control 490 recibe la informacion 424 (por ejemplo, la marca SID) del desempaquetador 420. Ademas, la logica de control 490 recibe la informacion de retardo objetivo 472 desde la estimacion de retardo objetivo 470, la informacion de retardo de transmision 482, desde la estimacion de retardo de transmision 480 (donde la informacion de retardo de transmision 482 describe un retardo real, que se 35 deriva por la estimacion de retardo de transmision 480 sobre la base de la informacion de retroalimentacion de escala 436 y la informacion de retroalimentacion de escala 446). Ademas, la logica de control 490 (opcionalmente) recibe la informacion de retardo 462 desde el bufer PCM 460 (en el que, como alternativa, la informacion de retardo del bufer PCM puede ser una cantidad predeterminada). Sobre la base de la informacion recibida, la logica de control 490 proporciona la informacion de escala basada en la trama 434 y la informacion de escala basada en la 40 muestra 442 al bufer de eliminacion de fluctuacion 430 y al escalador de tiempo 450. Por consiguiente, la logica de control establece la informacion de escala basada en la trama 434 y la informacion de escala basada en la muestra 442 de acuerdo con la informacion de retardo objetivo 472 y la informacion de retardo de transmision 482 de una manera adaptativa a la senal, considerando una o mas caracterlsticas del contenido de audio (como, por ejemplo, la cuestion de si hay una trama "inactiva" para la cual debe realizarse una generation de ruido de confort de acuerdo 45 con la serialization portada por la marca SID).
[0085] Debe apreciarse aqul que la logica de control 490 puede realizar parte o la totalidad de las funcionalidades del control de bufer de fluctuacion 100, en el que la informacion 424 puede corresponder a la informacion 110 acerca de la senal de audio, en la que la informacion de control 112 puede corresponder a la
50 informacion de escala basada en la trama 434, y en la que la informacion de control 114 puede corresponder a la informacion de escala basada en la muestra 444. Ademas, ha de apreciarse que el escalador de tiempo 450 puede realizar parte o la totalidad de las funcionalidades del escalador de tiempo 200 (o viceversa), en el que la senal de audio de entrada 210 corresponde a las muestras de audio decodificadas 442, y en el que la version con escala de tiempo 212 de la senal de audio de entrada corresponde a las muestras de audio con escala de tiempo 448.
55
[0086] Ademas, se ha de apreciar que el decodificador de audio 400 corresponde al decodificador de audio 300, de manera tal 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 bufer de fluctuacion 320 corresponde al bufer de eliminacion de fluctuacion 430, el nucleo de decodificador 330 corresponde al decodificador 440, y el escalador
de tiempo 340 corresponde al escalador de tiempo 450. El control 350 corresponds a la logica de control 490.
[0087] A continuacion, se proporcionaran algunos detalles adicionales respecto de la funcionalidad del decodificador de audio 400. En particular, se describira la gestion propuesta del bufer de fluctuacion (JBM).
5
[0088] Se describe una solucion de gestion de bufer de fluctuacion (JBM), que puede usarse para alimentar paquetes 410 recibidos con tramas, que contienen discurso codificado o datos de audio, en un decodificador 440, mientras que se mantiene una transmision continua. En comunicaciones basadas en paquetes, por ejemplo, voz sobre protocolo de Internet (VoIP), los paquetes (por ejemplo, paquetes 410) tlpicamente son sometidos a diversos
10 tiempos de transmision y se pierden durante la transmision, lo que conduce a la fluctuacion 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 gestion de bufer de fluctuacion y la ocultacion de perdida de paquetes a fin de permitir una senal de salida continua sin tartamudeo.
15 [0089] A continuacion, se proporcionara un resumen de solucion. En el caso de la gestion de bufer de
fluctuacion 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 bufer de eliminacion de fluctuacion (por ejemplo, bufer de eliminacion de fluctuacion 430). Cuando 20 se requieren nuevos datos con modulacion por impulsos codificados (datos PCM) para la transmision, es necesario que el decodificador los haga disponibles (por ejemplo, el decodificador 440). Para este proposito, se extraen tramas (por ejemplo, tramas 432) del bufer de eliminacion de fluctuacion (por ejemplo, del bufer de eliminacion de fluctuacion 430). Mediante el uso del bufer de eliminacion de fluctuacion, las fluctuaciones en el tiempo de llegada pueden compensarse. A fin de controlar la profundidad del bufer, se aplica la modificacion de escala de tiempo 25 (TSM) (en la que la modificacion de escala de tiempo es tambien designada en resumen como escala de tiempo). La modificacion de escala de tiempo puede suceder sobre una base de trama codificada (por ejemplo, dentro del bufer de eliminacion de fluctuacion 430), o en un modulo separado (por ejemplo, dentro del escalador de tiempo 450), permitiendo adaptaciones granulares mas finas de la senal de salida PCM (por ejemplo, de la senal de salida PCM 448 o de la senal de salida PCM 412).
30
[0090] El concepto descrito anteriormente se ilustra, por ejemplo, en la Fig. 4, que muestra un resumen de gestion de bufer de fluctuacion. A fin de controlar la profundidad del bufer de eliminacion de fluctuacion (por ejemplo, bufer de eliminacion de fluctuacion 430), y por lo tanto, ademas, los niveles de escala de tiempo dentro del bufer de eliminacion de fluctuacion (por ejemplo, bufer de eliminacion de fluctuacion 430) y/o el modulo TSM (por ejemplo,
35 dentro del escalador de tiempo 4 50), se usa una logica de control (por ejemplo, la logica de control 490, que es soportada por la estimacion de retardo objetivo 470 y la estimacion de retardo de transmision 480). Esta logica emplea information sobre el retardo objetivo (por ejemplo, information 472) y retardo de transmision a redes de transmision (por ejemplo, informacion 482) y si se usa actualmente la transmision discontinua (DTX) junto con la generation de ruido de confort (CNG) (por ejemplo, informacion 424). Los valores de retardo son generados, por 40 ejemplo, a partir de modulos separados (por ejemplo, modulos 470 y 480) para la estimacion de retardo de transmision a redes de transmision y objetivo, y se proporciona un bit activo/inactivo (marca SID), por ejemplo, por medio del modulo desempaquetador (por ejemplo, desempaquetador 420).
5.4.1. Desempaquetador 45
[0091] A continuacion, se describira el desempaquetador 420. El modulo desempaquetador divide paquetes RTP 410 en tramas individuales (unidades de acceso) 422. Ademas, calcula el sello de tiempo RTP para todas las tramas que no son la unica o primera trama en un paquete. Por ejemplo, el sello de tiempo contenido en el paquete RTP es asignado a su primera trama. En el caso de agregacion (es decir, para paquetes RTP que contienen mas de
50 una trama individual), el sello de tiempo para las siguientes tramas se aumenta por la duration de la trama dividido por la escala de los sellos de tiempo RTP. Ademas del sello de tiempo RTP, cada trama es tambien etiquetada con el tiempo del sistema en el cual se recibio el paquete RTP ("sello de tiempo de llegada"). Como puede observarse, la informacion de sello de tiempo RTP y la informacion de sello de tiempo de llegada 426 pueden proporcionarse, por ejemplo, a la estimacion de retardo objetivo 470. El modulo desempaquetador ademas determina si una trama esta 55 activa o contiene un descriptor de insertion de silencio (SID). Ha de apreciarse que, dentro de perlodos no activos, solamente las tramas SID son recibidas en algunos casos. Por consiguiente, la informacion 424, que, por ejemplo, puede comprender la marca SID, se proporciona a la logica de control 490.
5.4.2. Bufer de eliminacion de fluctuacion
[0092] El modulo de bufer de eliminacion de fluctuation 430 almacena tramas 422 recibidas por la red (por ejemplo, por medio de una red de tipo TCP/IP) hasta la decodificacion (por ejemplo, por el decodificador 440). Las tramas 422 se insertan en una cola clasificada en orden de sello de tiempo RTP ascendente a fin de deshacer el
5 reordenamiento que podrla haber tenido lugar en la red. Una trama en el frente de la cola puede ser alimentada al decodificador 440 y luego es eliminada (por ejemplo, del bufer de eliminacion de fluctuacion 430). Si la cola esta vacla o falta una trama, de acuerdo con la diferencia de sello de tiempo de la trama en el frente (de la cola) y la trama previamente lelda, se devuelve una trama vacla (por ejemplo, del bufer de eliminacion de fluctuacion 430 al decodificador 440) para activar la ocultacion de la perdida de paquetes (si una ultima trama estaba activa) o la 10 generation de ruido de confort (si una ultima trama era "SID" o estaba inactiva) en el modulo decodificador 440.
[0093] En otras palabras, el decodificador 440 puede estar configurado para generar un ruido de confort en el caso de que este senalizado, en una trama, que debera usarse un ruido de confort, por ejemplo, usando una marca "SID" activa. Por otra parte, el decodificador puede ademas ser configurado para realizar la ocultacion de perdida de
15 paquete, por ejemplo, mediante la provision de muestras de audio predichas (o extrapoladas) en el caso de que una trama previa (ultima) fue activa (es decir, la generacion de ruido de confort desactivada) y el bufer de fluctuacion se vacla (de manera que una trama vacla es proporcionada al decodificador 440 por el bufer de fluctuacion 430).
[0094] El modulo de bufer de eliminacion de fluctuacion 430 ademas soporta la escala de tiempo basada la 20 trama mediante la adicion de una trama vacla al frente (por ejemplo, de la cola del bufer de fluctuacion) para el
estiramiento de tiempo, o la exclusion de la trama en el frente (por ejemplo, de la cola del bufer de fluctuacion), para la reduction de tiempo. En el caso de periodos no activos, el bufer de eliminacion de fluctuacion puede comportarse como si se anadieron o excluyeran tramas "NO_DATA".
25 5.4.3. Modification de escala de tiempo (TSM)
[0095] A continuation, se describira la modificacion de escala de tiempo (TSM), que es tambien designada en resumen como escalador de tiempo o escalador de tiempo basado en la muestra en el presente documento. Un algoritmo de WSOLA (superposition y adicion en base a la similitud de forma de onda) basado en el paquete
30 modificado (conferir, por ejemplo, [LiaO1]) con control de calidad incorporado se usa para realizar la modificacion de escala de tiempo (brevemente designada como escala de tiempo) de la senal. Algunos detalles pueden observarse, por ejemplo, en la Fig. 9, que se explicara a continuacion. Un nivel de escala de tiempo es dependiente de la senal; las senales que crearan severos artefactos cuando son sometidas a la escala son detectadas por un control de calidad, y las senales de bajo nivel, que estan cercanas al silencio, son sometidas a escala por un alcance mas 35 posible. Las senales que son bien sometidas a la escala de tiempo, como senales periodicas, son sometidas a la escala por un cambio derivado internamente. El cambio es derivado de una medida de similitud, tal como una correlation cruzada normalizada. Con una superposicion y adicion (OLA), el final de una trama actual (tambien designada como "segundo bloque de muestras" en el presente documento) es cambiado (por ejemplo, con respecto a un comienzo de una trama actual, que es tambien designada como "primer bloque de muestras" en el presente 40 documento) o bien para acortar o para alargar la trama.
[0096] Como ya se ha mencionado, se describiran a continuacion detalles adicionales con respecto a la modificacion de escala de tiempo (TSM), con referencia a la Fig. 9, que muestra una WSOLA modificada con control de calidad, y, ademas, con referencia a las Figs. 10a y 10b y 11.
45
5.4.4. Bufer PCM
[0097] A continuacion, se describira el bufer PCM. El modulo de modificacion de escala de tiempo 450 cambia una duration de tramas PCM que sale del modulo decodificador con una escala de variation de tiempo. Por
50 ejemplo, pueden transmitirse 1024 muestras (o 2048 muestras) por el decodificador 440 por trama de audio 432. En contraste, pueden transmitirse varias muestras de audio por el escalador de tiempo 450 por trama de audio 432, debido a la escala de tiempo basada en la muestra. En contraste, una tarjeta de sonido de altavoz (o, generalmente, un dispositivo de salida de sonido) tlpicamente espera una trama fijada, por ejemplo, 20 ms. Por lo tanto, un bufer adicional con comportamiento de primera entrada, primera salida se usa para aplicar una trama fijada sobre las 55 muestras de salida del escalador de tiempo 448.
[0098] Cuando se observa la cadena completa, este bufer PCM 460 no crea un retardo adicional. En cambio, el retardo es solo compartido entre el bufer de eliminacion de fluctuacion 430 y el bufer PCM 460. Sin embargo, es una meta mantener el numero de muestras almacenadas en el bufer PCM 460 lo mas bajo posible, ya que esto
aumenta un numero de tramas almacenadas en el bufer de eliminacion de fluctuacion 430 y, en consecuencia, reduce una probabilidad de perdida tardla (en donde el decodificador oculta una trama perdida que es recibida mas tarde).
5 [0099] El pseudocodigo de programa que se muestra en la Fig. 5 muestra un algoritmo para el control del
nivel de bufer PCM. Como puede observarse a partir del pseudocodigo de programa de la Fig. 5, se computa un tamano de trama de tarjeta de sonido ("soundCardFrameSize") sobre la base de una tasa de muestra ("sampleRate"), donde se asume, como ejemplo, que una duracion de trama es de 20 ms. Por consiguiente, se conoce una cantidad de muestras por trama de tarjeta de sonido. Posteriormente, el bufer PCM se llena mediante la 10 decodificacion de tramas de audio 432 (tambien designada como "accessUnit") hasta que una cantidad de muestras en el bufer PCM ("pcmBuffer_nReadabteSamples()") ya no es menor que el numero de muestras por trama de tarjeta de sonido ("soundCardFrameSize"). Primero, una trama (tambien designada como "accessUnit") se obtiene (o se solicita) del bufer de eliminacion de fluctuacion 430, como se muestra en el numero de referencia 510. Posteriormente, una "trama" de muestras de audio se obtiene mediante la decodificacion de la trama 432 solicitada 15 del bufer de eliminacion de fluctuacion, como puede observarse en la referencia 512. Por lo tanto, se obtiene una trama de muestras de audio decodificadas (por ejemplo, designadas con 442). Posteriormente, se aplica la modificacion 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 numero de referencia 514. Ha de apreciarse que la trama de muestras con escala de tiempo de audio puede comprender una mayor cantidad de 20 muestras de audio o una menor cantidad de muestras de audio que la trama de muestras de audio decodificadas 442 ingresada en el escalador de tiempo 450. Posteriormente, la trama de muestras con escala de tiempo de audio 448 se inserta en el bufer PCM 460, como puede observarse en el numero de referencia 516.
[0100] Este procedimiento se repite, hasta que una cantidad suficiente de muestras de audio (con escala de 25 tiempo) esta disponible en el bufer PCM 460. Tan pronto como una cantidad suficiente de muestras (con escala de
tiempo) esta disponible en el bufer PCM, una "trama" de muestras con escala de tiempo de audio (que tiene una longitud trama segun lo requerido por un dispositivo de reproduccion de sonido, como una tarjeta de sonio) se lee del bufer PCM 460, y se transmite al dispositivo de reproduccion de sonido (por ejemplo, a la tarjeta de sonido), como se muestra en los numeros de referencia 520 y 522.
30
5.4.5. Estimacion de retardo objetivo
[0101] A continuacion, se describira la estimacion de retardo objetivo, que puede realizarse por el estimador de retardo objetivo 470. El retardo objetivo especifica el retardo de bufer deseado entre el tiempo cuando una trama
35 anterior se reprodujo y el tiempo en que esta trama podrla haber sido recibida si hubiera tenido el menor retardo de transmision sobre la red, en comparacion con todas las tramas actualmente contenidas en un historial del modulo de estimacion de retardo objetivo 470. A fin de estimar el retardo objetivo, se usan dos estimadores de fluctuacion diferentes, un estimador de fluctuacion a largo plazo y uno a corto plazo.
40 Estimacion de fluctuacion a largo plazo
[0102] A fin de calcular una fluctuacion a largo plazo, puede usarse una estructura de datos FIFO. Un lapso de tiempo almacenado en la FIFO podrla ser diferente del numero de entradas almacenadas si se usa DTX (modo de transmision discontinua). Por esa razon, el tamano de la ventana de la FIFO es limitado de dos maneras. Puede
45 contener como maximo 500 entradas (igual a 10 segundos a 50 paquetes por segundo) y como maximo un lapso de tiempo (diferencia de sello de tiempo RTP entre el paquete mas nuevo y el mas antiguo) de 10 segundos. Si deben almacenarse mas entradas, la entrada mas antigua es eliminada. Para cada paquete RTP recibido en la red, se anadira una entrada a la FIFO. Una entrada contiene tres valores: retardo, desvlo y sello de tiempo RTP. Estos valores se calculan a partir del tiempo de recepcion (por ejemplo, representado por el sello de tiempo de llegada) y el 50 sello de tiempo RTP del paquete RTP, como se muestra en el pseudocodigo de la Fig. 6.
[0103] Como puede observarse en los numeros de referencia 610 y 612, se computa una diferencia de tiempo entre los sellos de tiempo RTP de dos paquetes (por ejemplo, paquetes posteriores) (produciendo "rtpTimeDiff"), y se computa una diferencia entre los sellos de tiempo de recepcion de dos paquetes (por ejemplo,
55 paquetes posteriores) (produciendo "rcvTimeDiff"). Ademas, el sello de tiempo RTP es convertido de una base de tiempo de un dispositivo de transmision, a una base de tiempo del dispositivo receptor, como puede observarse en el numero de referencia 614, produciendo "rtpTimeTicks". De manera similar, las diferencias de tiempo RTP (diferencia entre sellos de tiempo RTP) son convertidas en una escala de tiempo de receptor/base de tiempo del dispositivo receptor), como puede observarse en el numero de referencia 616, produciendo "rtpTimeDiff'.
[0104] Posteriormente, una information de retardo ("retardo") se actualiza sobre la base de una information
de retardo anterior, como puede observarse en el numero de referencia 618. Por ejemplo, si una diferencia de tiempo de reception (es decir, una diferencia en los tiempos cuando los paquetes se han recibido) es mayor que una 5 diferencia de tiempo RTP (es decir, una diferencia entre los tiempos en los cuales los paquetes se han enviado), puede concluirse que el retardo ha aumentado. Ademas, una information de tiempo de desvfo ("desvfo") se computa, como puede observarse en el numero de referencia 620, en la que la information de tiempo de desvfo representa la diferencia entre un tiempo de reception (es decir, un tiempo en el cual se ha recibido un paquete) y un tiempo en el cual un paquete se ha enviado (como se define por el sello de tiempo RTP, convertido en la escala de 10 tiempo de receptor). Ademas, la information de retardo, la information de desvfo y una information de sello de tiempo RTP (convertida en la escala de tiempo de receptor) se anaden a la FIFO de largo plazo, como puede observarse en el numero de referencia 622.
[0105] Posteriormente, se almacena la information actual como information "anterior" para una posterior
15 iteration, como puede observarse en el numero de referencia 624.
[0106] Una fluctuation a largo plazo puede calcularse como una diferencia entre un valor de retardo maxima
actualmente almacenada en la FIFO y un valor de retardo minima:
longTerm Jitter = longTermFifo_getMaxDelay() - longTermFifojgetMinDelayQ;
Estimation de fluctuation a corto plazo
25
30
[0107] A continuation, se describira la estimation de fluctuation a corto plazo. La estimation de fluctuation a
corto plazo se realiza, por ejemplo, en dos etapas. En una primera etapa, se usa el mismo calculo de fluctuation que el realizado para la estimation de largo plazo, con las siguientes modificaciones: el tamano de la ventana de la FIFO es limitada a como maximo 50 entradas, y como maximo, un lapso de tiempo de 1 segundo. El resultante valor de fluctuation se calcula como la diferencia entre el valor de 94 % de percentil de retardo actualmente almacenado en la FIFO (los tres valores mas altos se ignoran) y el mfnimo valor de retardo:
shortTermJitterTmp = shortTermFifo1_getPercentileDelay(94) -
shortTermFifol jgetMinDelayQ;
35
[0108] En una segunda etapa, primero se compensan los diferentes desvfos entre las FIFO a corto plazo y a
largo plazo, para este resultado:
shortTermJitterTmp += shortTermFifol _getMinOffset();
shortTermJitterTmp -= longTermFifo_getMinOffset();
40 [0109] Este resultado se anade a otra FIFO con un tamano de ventana de como maximo 200 entradas, y un
lapso de tiempo de como maximo cuatro segundos. Finalmente, el maximo valor almacenado en la FIFO se aumenta a un multiplicador de numero entero del tamano de trama, y se usa como fluctuation a corto plazo:
45
shortTermFifo2_add( shortTermJitterTmp); shortTermJitter = ceil( shortTermFifo2_getMax() / 20.f) * 20;
Estimation de retardo objetivo por una combination de estimation de fluctuation a largo/corto plazo.
50 [0110] A fin de calcular el retardo objetivo (por ejemplo, la information de retardo objetivo 472), las
estimaciones de fluctuation a largo plazo y a corto plazo (por ejemplo, como se define anteriormente como "longTermJitter" y "shortTermJitter") se combinan de diferentes maneras de acuerdo con el estado actual. Para senales activas (o porciones de senal, para las cuales no se usa una generation de ruido de confort), se usa un rango (por ejemplo, definido por "targetMin" y "targetMax") como retardo objetivo. Durante DTX y para el arranque 55 despues de dTx, se calculan dos valores diferentes como retardo objetivo (por ejemplo, "targetDtx" y "targetStartUp").
[0111] Los detalles sobre la manera en que diferentes valores de retardo objetivo pueden ser computados pueden observarse, por ejemplo, en la Fig. 7. Como puede observarse, en los numeros de referencia 710 y 712, los valores "targetMin" y "targetMax", que asignan un rango para senales activas, se computan sobre la base de la
5 fluctuation a corto plazo ("shortTermJitter") y la fluctuation a largo plazo ("longTermJitter"). El computo del retardo objetivo durante DTX ("targetDtx") se muestra en el numero de referencia 714, y el calculo del valor de retardo objetivo para un arranque (por ejemplo, luego de DTX) ("targetStartUp") se muestra en el numero de referencia 716.
5.4.6. Estimation de retardo de transmision
10
[0112] A continuation, se describira la estimacion de retardo de transmision, que puede ser realizada por el estimador de retardo de transmision 480. El retardo de transmision especifica el retardo de bufer entre el tiempo cuando la trama anterior se reprodujo y el tiempo en que esta trama pudo haber sido recibida si hubiera tenido el menor posible retardo de transmision sobre la red, en comparacion con todas las tramas actualmente contenidas en
15 el historial del modulo de estimacion de retardo objetivo. Se calcula en milisegundos usando la siguiente formula:
piayoutDelay = prevPlayoutOffset - longTermF'rfo_getMinOffset() +
pcmBufferDelay;
[0113] La variable "prevPlayoutOffset" se recalcula cada vez que una trama recibida aparece del modulo de 20 bufer de elimination de fluctuacion 430 usando el tiempo de sistema actual en milisegundos y el sello de tiempo RTP
de la trama convertido en milisegundos:
prevPlayoutOffset = sysTime - rtpTimestamp
25 [0114] A fin de evitar que "prevPlayoutOffset" se desactualice si una trama no esta disponible, la variable es
actualizada en el caso de la escala de tiempo basada la trama. Para el estiramiento de tiempo sobre la base de la trama, "prevPlayoutOffset" se aumenta por medio de la duration de la trama, y para una reduction de tiempo sobre la base de la trama, "prevPlayoutOffset" se disminuye por medio de la duracion de la trama. La variable "pcmBufferDelay" describe la duracion de tiempo con bufer en el modulo de bufer PCM.
30
5.4.7 Logica de control
[0115] A continuacion, se describira en detalle el control (por ejemplo, la logica de control 490). Sin embargo, debe observarse que la logica de control 800 de acuerdo con la Fig. 8 puede ser complementada por cualquiera de
35 los rasgos y las funcionalidades que se describen con respecto al control de bufer de fluctuacion 100, viceversa. Ademas, debe observarse que la logica de control 800 puede tomar el lugar de la logica de control 490 de acuerdo con la Fig. 4, si bien, opcionalmente, puede comprender caracterfsticas y funcionalidades adicionales. Ademas, no se requiera que todas las caracterfsticas y las funcionalidades que se describen con anterioridad con respecto a la Fig. 4 esten tambien presentes en la logica de control 800 de acuerdo con la Fig. 8, y viceversa.
40
[0116] La Fig. 8 muestra un cuadro de flujo de una logica de control 800, que puede ser naturalmente implementada tambien en hardware.
[0117] La logica de control 800 comprende la extraction 810 de una trama para la decodificacion. En otras 45 palabras, se selecciona una trama para la decodificacion, y se determina en lo que sigue la manera en que esta
decodificacion debe realizarse. En una verification 814, se verifica si una trama previa (por ejemplo, una trama previa que precede la trama extrafda para la decodificacion en la etapa 810) fue activa o no fue activa. Si se halla en la verificacion 814 que la trama previa fue inactiva, se selecciona una primera via de decision (ramification) 820 que se usa para adaptar una senal inactiva. En contraste, si se encuentra en la verificacion 814 que la trama anterior 50 estaba activa, se selecciona una segunda via de decision (ramificacion) 830, que se usa para adaptar una senal activa. La primera via de decision 820 comprende la determination de un valor de "espacio" en una etapa 840, donde el valor de espacio describe una diferencia entre un retardo de transmision y un retardo objetivo. Ademas, la primera via de decision 820 comprende la decision 850 sobre una operation de escala de tiempo por ser realizada sobre la base del valor de espacio. La segunda via de decision 830 comprende la selection 860 de una escala de 55 tiempo de acuerdo con si un retardo de transmision real se encuentra dentro de un intervalo de retardo objetivo.
[0118] A continuacion, se describiran detalles adicionales respecto de la primera via de decision 820 y la
segunda via de decision 830.
[0119] En la etapa 840 de la primera via de decision 820, se realiza una verificacion 842 acerca de si una siguiente trama esta activa. Por ejemplo, la verificacion 842 puede verificar si la trama extralda para la decodificacion
5 en la etapa 810 esta activa o no. Como alternativa, la verificacion 842 puede verificar si la trama que sigue a la trama extralda para la decodificacion en la etapa 810 esta activa o no. Si se encuentra, en la verificacion 842, que la siguiente trama no esta activa, o que la siguiente trama aun no esta disponible, se establece la variable "espacio", en una etapa 844, como una diferencia entre un retardo de transmision real (definida por una variable "playoutDelay") y un retardo objetivo DTX (representada por la variable "targetDtx"), como se describe anteriormente en la "Estimacion 10 de retardo objetivo". En contraste, si se encuentra en la verificacion 840 que la siguiente trama esta activa, se establece la variable "espacio" a una diferencia entre el retardo de transmision (representada por la variable "playoutDelay") y el retardo objetivo de arranque (como se define por la variable "targetStartUp") en la etapa 846.
[0120] En la etapa 850, se verifica primero si una magnitud de la variable "espacio" es mayor (o igual) que un 15 umbral. Esto se hace en una verificacion 852. Si se encuentra 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 encuentra en la verificacion 852 que la magnitud de la variable "espacio" es mayor que el umbral (o igual que los valores de umbral, de acuerdo con la implementacion), se decide que es necesaria una escala. En otra verificacion 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 encuentra que el 20 valor de la variable "espacio" no es mayor que cero (es decir, negativo), se inserta una trama en el bufer de eliminacion de fluctuacion (estiramiento de tiempo sobre la base de la trama en la etapa 856), de manera que se realiza una escala de tiempo basada la trama. Esto puede ser senalizado, por ejemplo, por la informacion de escala sobre la base de la trama 434. En contraste, si se encuentra en la verificacion 854, que el valor de la variable "espacio" es mayor que cero, es decir, positivo, se excluye una trama del bufer de eliminacion de fluctuacion 25 (reduccion de tiempo sobre la base de la trama en la etapa 856), de manera que se realiza una escala de tiempo basada la trama. Esto puede ser senalizado usando la informacion de escala sobre la base de la trama 434.
[0121] A continuacion, se describira la segunda ramificacion de decision 860. En una verificacion 862, se verifica si el retardo de transmision es mayor (o igual) al valor objetivo maximo (es decir, un llmite superior de un
30 intervalo objetivo), lo que se describe, por ejemplo, por medio de una variable "targetMax"). Si se encuentra que el retardo de transmision es mayor (o igual) que el valor objetivo maximo, se realiza una reduccion de tiempo por medio del escalador de tiempo 450 (etapa 866, reduccion de tiempo sobre la base de la muestra usando el TSM), de manera que se realiza una escala de tiempo basada en la muestra. Esto puede senalizarse, por ejemplo, por la informacion de escala sobre la base de la muestra 444. Sin embargo, si se encuentra en la verificacion 862 que el 35 retardo de transmision es menor (o igual) al retardo objetivo maximo, se realiza una verificacion 864, en la cual se verifica si el retardo de transmision es menor (o igual) que un retardo objetivo minima, lo que se describe, por ejemplo, por la variable "targetMin". Si se encuentra que el retardo de transmision es menor (o igual) que el retardo objetivo mlnimo, se realiza un estiramiento de tiempo por el escalador de tiempo 450 (etapa 866, estiramiento de tiempo basado en la muestra usando el TSM), de manera que se realiza una escala de tiempo basada en la 40 muestra. Esto puede senalizarse, por ejemplo, por la informacion de escala basada en la muestra 444. Sin embargo, si se encuentra en la verificacion 864 que el retardo de transmision no es menor (o igual) que el retardo objetivo mlnimo, no se realiza escala de tiempo.
[0122] Como conclusion, el modulo de logica de control (tambien designado como logica de control de 45 gestion de bufer de fluctuacion) que se muestra en la Fig. 8 compara el retardo real (retardo de transmision) con el
retardo deseado (retardo objetivo). En el caso de una diferencia significativa, dispara la escala de tiempo. Durante el ruido de confort (por ejemplo, cuando la marca SID esta activa), se disparara la escala de tiempo basada la trama y sera ejecutada por el modulo de bufer de eliminacion de fluctuacion. Durante perlodos activos, la escala de tiempo basada en la muestra se activa y se ejecuta por el modulo TSM.
50
[0123] La Fig. 12 muestra un ejemplo para la estimacion de retardo objetivo y de transmision. Una abscisa 1210 de la representacion grafica 1200 describe un tiempo, y una ordenada 1212 de la representacion grafica 1200 describe un retardo en milisegundos. La serie "targetMin" y "targetMax" crea un rango de retardo deseado por el modulo de estimacion de retardo objetivo despues de la fluctuacion de red ventaneada. El retardo de transmision
55 "playoutDelay" tlpicamente se mantiene dentro del rango, si bien la adaptacion podrla ser levemente demorada debido a la modificacion de escala de tiempo adaptativa a la senal.
[0124] La Fig. 13 muestra las operaciones de escala de tiempo ejecutadas en el trazado de la Fig. 12. Una
abscisa 1310 de la representacion grafica 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, reduccion de tiempo, en la representacion grafica 1300. Durante la rafaga, ambos buferes se vaclan de una vez, y se inserta una trama oculta para el estiramiento (mas 20 milisegundos a 35 segundos). Para todas las otras adaptaciones, puede usarse el metodo de escala de tiempo basada en la muestra de mas alta calidad, que logra 5 diversas escalas debido al enfoque de adaptation de senal.
[0125] Como conclusion, el retardo objetivo esta dinamicamente adaptado en respuesta a un aumento de la
fluctuation (y, ademas, en respuesta a una disminucion de la fluctuation) sobre una cierta ventana. Cuando el retardo objetivo aumenta o disminuye, se realiza tlpicamente una escala de tiempo, donde se toma una decision
10 acerca del tipo de escala de tiempo de manera adaptativa a la senal. Siempre que la trama actual (o la trama previa) sea activa, se realiza una escala de tiempo basada en la muestra, donde el retardo real de la escala de tiempo basada en la muestra se adapta de manera adaptativa a la senal a fin de reducir artefactos. Por consiguiente, tlpicamente no hay una cantidad establecida de escala de tiempo cuando se aplica la escala de tiempo basada en la muestra. Sin embargo, cuando el bufer de fluctuacion se vacla, es necesario (o recomendable) - como una
15 manipulation excepcional - insertar una trama oculta (que constituye una escala de tiempo basada la trama) aun cuando una trama anterior (o una trama actual) sea activa.
5.8. Modification de escala de tiempo de acuerdo con la Fig. 9
20 [0126] A continuation, se describiran detalles respecto de la modificacion de escala de tiempo con referencia
a la Fig. 9. Ha de apreciarse que la modificacion de escala de tiempo se ha descrito en resumen en la section 5.4.3. Sin embargo, la modificacion de escala de tiempo, que puede realizarse, por ejemplo, por el escalador de tiempo 150, se describira en mas detalle a continuacion.
25 [0127] La Fig. 9 muestra un cuadro de flujo de una WSOLA modificada, con control de calidad, de acuerdo
con una realizacion de la presente invencion. Ha de apreciarse que la escala de tiempo 900 de acuerdo con la Fig. 9 puede ser complementada por cualquiera de las caracterlsticas y las funcionalidades que se describen con respecto al escalador de tiempo 200 de acuerdo con la Fig. 2, y viceversa. Ademas, debe observarse que la escala de tiempo 900 de acuerdo con la Fig. 9 puede corresponder al escalador de tiempo basado en la muestra 340 de acuerdo con
30 la Fig. 3, y al escalador de tiempo 450 de acuerdo con la Fig. 4. Ademas, la escala de tiempo 900 de acuerdo con la Fig. 9 puede tomar el lugar de la escala de tiempo basada en la muestra 866.
[0128] 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
35 muestras decodificadas 910 pueden corresponder a las muestras decodificadas 442, a las muestras de audio 332 o a la senal de audio de entrada 210. Ademas, el escalador de tiempo 900 recibe una information de control 912, que, por ejemplo, puede corresponder a la informacion de escala sobre la base de la muestra 444. La informacion de control 912, por ejemplo, puede describir una escala objetivo y/o un tamano de trama mlnimo (por ejemplo, un numero mlnimo de muestras de una trama de muestras de audio 448 a proporcionarse al bufer PCM 460). El
40 escalador de tiempo 900 comprende un conmutador (o una selection) 920, donde se decide, sobre la base de la informacion acerca de la escala objetivo, si debe realizarse una reduccion de tiempo, si debe realizarse un estiramiento de tiempo o si no debe realizarse una escala de tiempo. Por ejemplo, la conmutacion (o verification, o seleccion) 920 puede basarse sobre la informacion de escala sobre la base de la muestra 444 recibida desde la logica de control 490.
45
[0129] Si se halla, sobre la base de la informacion de escala objetivo, que no debe realizarse escala, las muestras decodificada recibidas 910 son transmitidas de una forma no modificada como una salida del escalador de tiempo 900. Por ejemplo, las muestras decodificadas 910 se transmiten, de una forma no modificada, al bufer PCM 460 como las muestras "con escala de tiempo" 448.
50
[0130] A continuacion, se describira un flujo de procesamiento para el caso de que deba realizarse una reduccion de tiempo (que puede encontrarse por la verificacion 920, sobre la base de la informacion de escala objetivo 912). En el caso de que se desee una reduccion de tiempo, se realiza un calculo de energla 930. En este calculo de energla 930, se calcula una energla de un bloque de muestras (por ejemplo, de una trama que
55 comprende una cantidad determinada de muestras). Tras el calculo de energla 930, se realiza una seleccion (o conmutacion, o verificacion) 936. Si se encuentra que un valor de energla 932 proporcionado por el calculo de energla 930 es mayor (o igual) que un valor de umbral de energla (por ejemplo, un valor de umbral de energla Y), se selecciona una primera via de procesamiento 940, que comprende una determination adaptativa a la senal, de una cantidad de escala de tiempo dentro de una escala de tiempo basada en la muestra. En contraste, si se encuentra
que el valor de energla 932 proporcionado por el calculo de energla 930 es menor (o igual) que el valor de umbral (por ejemplo, el valor de umbral Y), se selecciona una segunda via de procesamiento 960, donde se aplica una cantidad establecida de cambio de tiempo en una escala de tiempo basada en la muestra. En la primera via de procesamiento 940, en la cual se determina una cantidad de cambio de tiempo de una manera adaptativa a la senal, 5 se realiza una estimacion de similitud 942 basada en las muestras de audio. La estimacion de similitud 942 puede considerar una informacion de tamano de trama mlnimo 944 y puede proporcionar una informacion 946 acerca de la mas alta similitud (o acerca de una posicion de mas alta similitud). En otras palabras, la estimacion de similitud 942 puede determinar la posicion (por ejemplo, la posicion de muestras dentro de un bloque de muestras) que es mas adecuada para una operacion de reduccion de tiempo de superposicion y adicion. La informacion 946 acerca de la 10 mas alta similitud es avanzada a un control de calidad 950, que computa o estima si una operacion de superposicion y adicion usando la informacion 946 acerca de la mas alta similitud lograra 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 encuentra, mediante el control de calidad 950, que la calidad de una operacion de superposicion y adicion (o de manera equivalente, de una version con escala de tiempo de la senal de audio de entrada que se obtiene por la operacion de 15 superposicion y adicion) sera 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 encuentra, mediante el control de calidad 950, que la calidad de una operacion de superposicion y adicion usando la informacion 946 acerca de la mas alta similitud (o acerca de la posicion de mas alta similitud) sera mayor o igual que el valor de umbral de calidad X, se realiza una operacion de superposicion y adicion 954, donde un cambio, que se aplica en la operacion 20 de superposicion y adicion, se describe por la informacion 946 acerca de la mas alta similitud (o acerca de la posicion de la mas alta similitud). Por consiguiente, un bloque (o trama) con escala de muestras de audio se proporciona por la operacion de superposicion y adicion.
[0131] El bloque (o la trama) de muestras con escala de tiempo de audio 956, por ejemplo, puede
25 corresponder a las muestras con escala de tiempo 448. De manera similar, un bloque (o trama) de muestras de audio sin escala 952, que se proporcionan si el control de calidad 950 encuentra que una calidad de obtencion sera menor o igual que el valor de umbral de calidad X, puede ademas corresponder a las muestras "con escala de tiempo" 448 (donde en realidad no hay escala de tiempo en este caso).
30 [0132] En contraste, si se encuentra en la seleccion 936 que la energla de un bloque (o una trama) de
muestras de audio de entrada 910 es menor (o igual) que el valor de umbral de energla Y, se realiza una operacion de superposicion y adicion 962, en la que un cambio, que se usa en la operacion de superposicion y adicion, es definido por el tamano de trama mlnimo (descrito por una informacion de tamano de trama mlnimo), y donde se obtiene un bloque (o una trama) de muestras de audio con escala 964, que puede corresponder a las muestras con 35 escala de tiempo 448.
[0133] Ademas, debe observarse que un procesamiento, que es realizado en el caso de un estiramiento de tiempo, es analogo a un procesamiento efectuado en la reduccion de tiempo con una estimacion de similitud modificada y superposicion y adicion.
40
[0134] Como conclusion, debe observarse que se distinguen tres diferentes casos en la escala de tiempo basada en la muestra adaptativa a la senal, cuando se selecciona una reduccion de tiempo o un estiramiento de tiempo. Si una energla de un bloque (o una trama) de muestras de audio de entrada comprende una energla comparativamente pequena (por ejemplo, menor (o igual) al valor de umbral de energla Y), se realiza una operacion
45 de superposicion y adicion de reduccion de tiempo o de estiramiento de tiempo con un cambio de tiempo establecido (es decir, con una cantidad establecida de reduccion de tiempo o estiramiento de tiempo). En contraste, si la energla del bloque (o trama) de muestras de audio de entrada es mayor (o igual) al valor de umbral de energla Y, se determina una cantidad "optima" (ademas, a veces designada como "candidata" en el presente documento) de reduccion de tiempo o de estiramiento de tiempo, por medio de la estimacion de similitud (estimacion de similitud 50 942). En una posterior etapa de control de calidad, se determina si se obtendra una suficiente calidad por medio de dicha operacion de superposicion y adicion usando la previamente determinada cantidad "optima" de reduccion de tiempo o estiramiento de tiempo. Si se encuentra que podrla lograrse una calidad suficiente, se realiza la operacion de superposicion y adicion usando la cantidad determinada "optima" de reduccion de tiempo o estiramiento de tiempo. Si, en contraste, se encuentra que no puede alcanzarse una calidad suficiente usando una operacion de 55 superposicion y adicion utilizando la previamente determinada cantidad "optima" de reduccion de tiempo o estiramiento de tiempo, se omite la reduccion de tiempo o el estiramiento de tiempo (o se pospone hasta un punto posterior en el tiempo, por ejemplo, hasta una trama posterior).
[0135] A continuacion, se describiran algunos detalles adicionales respecto de 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 metodos de escala de tiempo usando superposition y adicion (OLA) estan ampliamente disponibles, si bien, en general, no realizan resultados de escala de tiempo adaptativa a la senal. En la solution descrita, que puede usarse en los escaladores de tiempo que se describen en el 5 presente documento, la cantidad de escala de tiempo no solo depende de la position extrafda por la estimation de similitud (por ejemplo, por la estimacion de similitud 942), que parece optima para una escala de tiempo de alta calidad, sino, ademas, de una calidad esperada de la superposicion y adicion (por ejemplo, de la superposicion y adicion 954). Por lo tanto, se introducen dos etapas de control de calidad en el modulo de escala de tiempo (por ejemplo, en el escalador de tiempo 900, o en los otros escaladores de tiempo que se describen en el presente 10 documento), a fin de decidir si la escala de tiempo producira artefactos audibles. En el caso de potenciales artefactos, la escala de tiempo se pospone hasta un punto en el tiempo donde sera menos audible.
[0136] Una primera etapa de control de calidad calcula una medida de calidad objetivo usando la posicion p
extrafda por la medida de similitud (por ejemplo, por la estimacion de similitud 942) como entrada. En el caso de una 15 senal periodica, p sera la frecuencia fundamental de la trama actual. La correlation 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) podrfa ser positivo o negativo. Para senales armonicas, el signo de c(2p) ademas debe ser positivo, y el signo de c(3/2*p) debe ser igual al signo de c(1/2*p). Esta relation puede usarse para crear una medida de calidad objetivo q:
imagen3
[0137] El rango de valores para q es [-2; +2]. Un signo armonico ideal lograra q = 2, mientras que las senales muy dinamicas y de banda ancha que podrfan crear artefactos audibles durante la escala de tiempo produciran un valor menor. Debido a que la escala de tiempo se realiza sobre una base de trama por trama, la senal entera para
25 calcular c(2*p) y c(3/2*p) podrfa no estar aun disponible. Sin embargo, la evaluation ademas puede realizarse mediante la observation 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).
[0138] Una segunda etapa de control de calidad compara el valor actual de la medida de calidad objetivo q 30 con un valor de calidad mfnimo dinamico qMin (que puede corresponder al valor de umbral de calidad X) a fin de
determinar si debe aplicarse la escala de tiempo a la trama actual.
[0139] Existen diferentes intenciones para tener un valor de calidad mfnimo dinamico: si q tiene un valor bajo
debido a que la senal es evaluada como mala para la escala durante un largo periodo, qMin debe reducirse 35 lentamente, a fin de garantizar que la escala esperada aun sea ejecutada en cierto punto en el tiempo con una menor calidad esperada. Por otra parte, las senales con un alto valor para q no deberfan lograr la escala de muchas tramas en una fila, lo que reducira la calidad respecto de las caracterfsticas de senal a largo plazo (por ejemplo, ritmo).
40 [0140] Por lo tanto, se usa la siguiente formula para calcular la calidad minima dinamica qMin (que, por
ejemplo, puede ser equivalente al valor de umbral de calidad X):
qMin = qMinlnitial - (nNotScaled * 0.1) + (nScaled * 0.2)
45 qMinlnitial es un valor de configuration para optimizar entre una cierta calidad y el retardo hasta que una trama pueda ser sometida a escala con la calidad requerida, de la cual un valor de 1 es un buen compromiso. nNotScaled es un contador de tramas que no se han sometido a la escala debido a la insuficiente calidad (q < qMin). nScaled cuenta el numero de tramas que se han sometido a la escala debido a que se alcanzo el requerimiento de calidad (q >= qMin). El rango de ambos contadores es limitado: no seran reducidos a valores negativos, y no seran 50 aumentados por encima de un valor designado, que se establece para ser 4 por defecto (por ejemplo).
[0141] La trama actual sera sometida a la escala de tiempo por la posicion p si q >= qMin; de otro modo, la escala de tiempo sera pospuesta hasta una siguiente trama donde se cumpla esta condition. El pseudocodigo de la Fig. 11 ilustra el control de calidad para la escala de tiempo.
55
[0142] Como puede observarse, el valor inicial para qMin se establece en 1, en el que dicho valor inicial se designa con "qMinlnitial" (conferir numero de referencia 1110). De manera similar, un valor de contador maximo de nScaled (designado como variable "qualityRise") es inicializado en 4, como puede observarse en el numero de referencia 1112. Un valor maximo de contador nNotScaled es inicializado en 4 (variable "qualityRed"), conferir
numero de referenda 1114. Posteriormente, se extrae la informacion de posicion p por medio de una medida de similitud, como puede observarse en el numero de referencia 1116. Posteriormente, se computa un valor de calidad q para la posicion descrita por el valor de posicion p de acuerdo con la ecuacion que puede observarse en el numero de referencia 1116. Un valor de umbral de calidad qMin es computado de acuerdo con la variable qMinInitial, y, 5 ademas, de acuerdo con los valores del contador nNotScaled y nScaled, como puede observarse en el numero de referencia 1118. Como puede observarse, el valor inicial qMinInitial para el valor de umbral de calidad qMin es reducido por un valor que es proporcional al valor del contador nNotScaled, y es aumentado por un valor que es proporcional al valor nScaled. Como puede observarse, los valores maximos para los valores de contador nNotScaled y nScaled ademas determinan un maximo aumento del valor de umbral de calidad qMin y una maxima 10 disminucion del valor de umbral de calidad qMin. Posteriormente, se realiza una verificacion de si el valor de calidad q es mayor o igual que el valor de umbral de calidad qMin, como puede observarse en el numero de referencia 1120.
[0143] Si este es el caso, se ejecuta una operacion de superposicion y adicion, como puede observarse en el numero de referencia 1122. Ademas, la variable del contador nNotScaled se reduce, donde se garantiza que dicha
15 variable de contador no se vuelva negativa. Ademas, la variable de contador nScaled se aumenta, donde se garantiza que nScaled no exceda el llmite superior definido por la variable (o constante) qualityRise. Una adaptacion de las variables de contador puede observarse en los numeros de referencia 1124 y 1126.
[0144] En contraste, si se encuentra en la comparacion expuesta en el numero de referencia 1120 que el 20 valor de calidad q es menor que el umbral de calidad qMin, se omite la ejecucion de la operacion de superposicion y
adicion, la variable de contador nNotScaled se aumenta, teniendo en cuenta que la variable de contador nNotScaled no exceda un umbral definido por la variable (o constante) qualityRed, y la variable de contador nScaled se reduce, teniendo en cuenta que la variable de contador nScaled no se torne negativa. La adaptacion de las variables de contador para el caso en que la calidad sea insuficiente se muestra en los numeros de referencia 1128 y 1130.
25
5.9. Escalador de tiempo de acuerdo con las Figs. 10a y 10b
[0145] A continuacion, se explicara un escalador de tiempo adaptativo a la senal con referencia a las Figs. 10 y 10b. Las Figs. 10 y 10b muestran un diagrama de flujo de una escala de tiempo adaptativa a la senal. Ha de
30 apreciarse que la escala de tiempo adaptativa a la senal, 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.
[0146] El escalador de tiempo 1000 de acuerdo con las Figs. 10a y 10b, comprende un calculo de energla 35 1010, donde se computa una energla de una trama (o una porcion, o un bloque) de muestras de audio. Por ejemplo,
el calculo de energla 1010 puede corresponder al calculo de energla 930. Posteriormente, se realiza una verificacion 1014, donde se verifica si el valor de energla obtenido en el calculo de energla 1010 es mayor (o igual) a un valor de umbral de energla (que, por ejemplo, puede ser un valor de umbral de energla establecido). Si se encuentra, en la verificacion 1014, que el valor de energla obtenido en el calculo de energla 1010 es menor (o igual) que el valor de 40 umbral de energla, puede asumirse que puede obtenerse una suficiente calidad por medio de una operacion de superposicion y adicion, y se realiza la operacion de superposicion y adicion con un maximo cambio de tiempo (a fin de obtener una maxima escala de tiempo) en una etapa 1018. En contraste, si se encuentra en la verificacion 1014 que el valor de energla obtenido en el calculo de energla 1010 no es menor (o igual) al valor de umbral de energla, se realiza una busqueda para una mejor coincidencia de un segmento de patron dentro de una region de busqueda, 45 usando una medida de similitud. Por ejemplo, la medida de similitud puede ser una correlacion cruzada, una correlacion cruzada normalizada, una funcion de diferencia de magnitud promedio o una suma de errores cuadrados. A continuacion, se describiran algunos detalles referidos a esta busqueda de una mejor coincidencia, y se explicara ademas la manera en que puede obtenerse un estiramiento de tiempo o una reduccion de tiempo.
50 [0147] Se hace referencia ahora a una representacion grafica en el numero de referencia 1040. Una primera
representacion 1042 muestra un bloque (o trama) de muestras que se inicia en el tiempo t1 y que termina en el tiempo t2. Como puede observarse, el bloque de muestras que se inicia en t1 y que termina en el tiempo t2 puede dividirse logicamente 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 55 segundo bloque de muestras es luego sometido a cambio de tiempo con respecto al primer bloque de muestras, lo que puede observarse en el numero de referencia 1044. Por ejemplo, como consecuencia de un primer cambio de tiempo, el segundo bloque de muestras con desfase de tiempo se inicia en el tiempo t4' y termina en el tiempo t2'. Por consiguiente, hay una superposicion temporal entre el primer bloque de muestras y el segundo bloque de muestras con desfase 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 version del segundo bloque de muestras con desfase de tiempo, por ejemplo, en la region de superposicion entre los tiempos t4' y t3 (o dentro de una porcion de dicha region de superposicion 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 numero de referencia 5 1044, y determinar una medida de similitud para la region de superposicion (o para una parte de la region de superposicion) entre los tiempos t4' y t3. Ademas, el escalador de tiempo puede ademas aplicar un cambio de tiempo adicional al segundo bloque de muestras, como se exhibe en el numero de referencia 1046, de manera tal que la version 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 forma similar t4" > t4' > t4). El escalador de tiempo puede ademas 10 determinar una informacion de similitud (cuantitativa) que representa una similitud entre el primer bloque de muestras y la version del segundo bloque de muestras con dos cambios, por ejemplo, entre los tiempos t4'' y t3 (o, por ejemplo, dentro de una porcion entre los tiempos t4'' y t3). Por consiguiente, el escalador de tiempo evalua para cual cambio de tiempo de la version con desfase de tiempo, del segundo bloque de muestras, la similitud, en la region de superposicion con el primer bloque de muestras, se maximiza (o es al menos mayor que un valor de 15 umbral). Por consiguiente, puede determinarse un cambio de tiempo que logra una "mejor coincidencia" ya que la similitud entre el primer bloque de muestras y la version con desfase de tiempo, del segundo bloque de muestras, se maximiza (o es al menos suficientemente grande). Por consiguiente, si hay una suficiente similitud entre el primer bloque de muestras y la version con dos veces de cambio de tiempo, del segundo bloque de muestras, dentro de la region de superposicion temporal (por ejemplo, entre los tiempos t4'' y t3), puede esperarse, con una confiabilidad 20 determinada por la medida utilizada de similitud, que una operacion de superposicion y adicion que superpone y agrega el primer bloque de muestras y la version con dos veces de cambio de tiempo del segundo bloque de muestras, logre una senal de audio sin sustanciales artefactos audibles. Ademas, debe observarse que una superposicion y adicion entre el primer bloque de muestras y la version con dos veces de cambio de tiempo del segundo bloque de muestras logra una porcion de senal de audio que tiene una extension temporal entre los 25 tiempos t1 y t2'', que es mayor que la "original" senal de audio, que se extiende desde el tiempo ti hasta el tiempo t2. Por consiguiente, puede lograrse un estiramiento de tiempo mediante la superposicion y adicion del primer bloque de muestras y la version con dos veces cambio de tiempo del segundo bloque de muestras.
[0148] De manera similar, puede lograrse una reduction de tiempo, como se explicara con referencia a la
30 representation grafica en el numero de referencia 1050. Como puede observarse en el numero 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 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 numero de 35 referencia 1054. En consecuencia, la version con cambio de tiempo (una vez), del segundo bloque de muestras se inicia en el tiempo t13' y termina en el tiempo t12'. Ademas, hay una superposicion temporal entre el primer bloque de muestras y la version 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 informacion de similitud (cuantitativa) que representa una similitud del primer bloque de muestras y de la version con cambio de tiempo (una vez) del segundo 40 bloque de muestras entre los tiempos t13' y t13 (o para una porcion del tiempo entre los tiempos t13' y t13), y encontrar que la similitud no es particularmente buena. Ademas, el escalador de tiempo puede adicionalmente someter a cambio de tiempo el segundo bloque de muestras, a fin de obtener una version con dos veces cambio de tiempo, de los segundos bloques de muestras, lo que se muestra en el numero de referencia 1056, y que se inicia en el tiempo t13'' y termina en el tiempo t12''. Por lo tanto, hay una superposicion entre el primer bloque de muestras y 45 la version con cambio de tiempo (dos veces), del segundo bloque de muestras, entre los tiempos t13'' y t13. Puede encontrarse, mediante el escalador de tiempo, que una informacion de similitud (cuantitativa) indica una alta similitud entre el primer bloque de muestras y la version con dos veces cambio de tiempo del segundo bloque de muestras entre los tiempos t13'' y t13. Por consiguiente, puede concluirse que, mediante el escalador de tiempo, puede realizarse una operacion de superposicion y adicion con buena calidad y menos artefactos audibles entre el primer 50 bloque de muestras y la version con dos veces cambio de tiempo del segundo bloque de muestras (al menos con la fiabilidad proporcionada por la medida de similitud utilizada). Ademas, puede considerarse tambien una version del segundo bloque de muestras con tres veces de cambio de tiempo, que se muestra en el numero de referencia 1058. La version 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 version de tres veces de cambio de tiempo del segundo bloque de 55 muestras puede no comprender una buena similitud con el primer bloque de muestras en la region de superposicion entre los tiempos t13''' y t13, debido a que el cambio de tiempo no fue apropiado. En consecuencia, el escalador de tiempo puede hallar que la version de dos veces de cambio de tiempo del segundo bloque de muestras comprende una mejor coincidencia (mejor similitud en la region de superposicion, y/o en un entorno de la region de superposicion, y/o en una porcion de la region de superposicion) con el primer bloque de muestras. Por
consiguiente, el escalador de tiempo puede realizar la superposicion y adicion del primer bloque de muestras y de la version de dos veces de cambio de tiempo del segundo bloque de muestras, siempre que una verificacion de calidad adicional (que puede basarse en una segunda medida mas significativa de similitud) indique una calidad suficiente. Como consecuencia de la operacion de superposicion y adicion, se obtiene un bloque de muestras combinado, que 5 se extiende desde el tiempo t11 hasta el tiempo t12'', y que es temporalmente mas corto que el bloque original de muestras desde el tiempo t11 hasta el tiempo t12. Por consiguiente, puede realizarse una reduccion de tiempo.
[0149] Debe apreciarse que las anteriores funcionalidades, que se han descrito con referencia a las representaciones graficas en los numeros de referencia 1040 y 1050, pueden ser realizadas por la busqueda 1030,
10 en las que se proporciona una informacion acerca de la posicion de mas alta similitud como consecuencia de la busqueda para una mejor coincidencia (donde la informacion o el valor que describe la posicion de la mas alta similitud se designa ademas con p en el presente documento). La similitud entre el primer bloque de muestras la version con desfase de tiempo del segundo bloque de muestras dentro de las respectivas regiones de superposicion puede ser determinada usando una correlacion cruzada, usando una correlation cruzada normalizada, usando una 15 funcion de diferencia de magnitud promedio o usando una suma de errores cuadrados.
[0150] Una vez que se determina la informacion acerca de la posicion de mas alta similitud (p), se realiza un calculo 1060 de una calidad de coincidencia para la posicion identificada (p) de mas alta similitud. Este calculo puede realizarse, por ejemplo, como se muestra en el numero de referencia 1116 en la Fig. 11. En otras palabras, la
20 informacion (cuantitativa) acerca de la calidad de coincidencia (que, por ejemplo, puede ser designada con q) puede ser calculada usando la combinacion de cuatro valores de correlacion, que pueden obtenerse para diferentes cambios de tiempo (por ejemplo, cambios de tiempo p, 2*p, 3/2*p y 1/2*p). Por consiguiente, puede obtenerse la informacion (cuantitativa) (q) que representa la calidad de coincidencia.
25 [0151] Con referencia ahora a la Fig. 10B, se realiza una verificacion 1064, en la cual se compara la
informacion cuantitativa q que describe la calidad de coincidencia, con un valor de umbral de calidad qMin. Esta verificacion o comparacion 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 encuentra en la verificacion 1064 que la calidad de coincidencia es suficiente (es decir, mayor o igual que la variable de valor de umbral de calidad), se aplica 30 una operacion de superposicion y adicion (etapa 1068) usando la posicion de mas alta similitud (que se describe, por ejemplo, mediante la variable p). Por consiguiente, se realiza una operacion de superposicion y adicion, por ejemplo, entre el primer bloque de muestras y la version con desfase de tiempo del segundo bloque de muestras, que logra una "mejor coincidencia" (es decir, en un valor mas alto de informacion de similitud). Para los detalles, se hace referencia, por ejemplo, a las explicaciones efectuadas con respecto a las representaciones graficas 1040 y 1050. La 35 aplicacion de la superposicion y adicion se muestra ademas en el numero de referencia 1122 en la Fig. 11. Ademas, una actualization de un contador de tramas se realiza en la etapa 1072. Por ejemplo, una variable de contador "nNotScaled" y una variable de contador "nScaled" se actualizan, por ejemplo, como se describe con referencia a la Fig. 11 en los numeros de referencia 1124 y 1126. En contraste, si se encuentra en la verificacion 1064 que la calidad de coincidencia es insuficiente (por ejemplo, menor (o igual) que la variable de valor de umbral de calidad 40 qmin), se evita la operacion de superposicion y adicion (por ejemplo, se pospone), lo que se indica en el numero de referencia 1076. En este caso, los contadores de trama son ademas actualizados, como se muestra en la etapa 1080. La actualizacion de los contadores de trama puede realizarse, por ejemplo, como se muestra en los numeros de referencia 1128 y 1130 en la Fig. 11. Ademas, el escalador de tiempo descrito con referencia a las Figs. 10a y 10b puede ademas computar la variable de valor de umbral de calidad qMin, que se muestra en el numero de 45 referencia 1084. El computo de la variable de valor de umbral de calidad qMin puede efectuarse, por ejemplo, como se muestra en el numero de referencia 1118 en la Fig. 11.
[0152] Como conclusion, el escalador de tiempo 1000, cuya funcionalidad ha sido descrita con referencia a las Figs. 10a y 10b en la forma de un diagrama de flujo, puede realizar una escala de tiempo basada en la muestra
50 usando un mecanismo de control de calidad (etapas 1060 a 1084).
5.10. Metodo de acuerdo con la Fig. 14
[0153] La Fig. 14 muestra un diagrama de flujo para un metodo para el control de una provision de un 55 contenido de audio decodificado sobre la base de un contenido de audio de entrada. El metodo 1400 de acuerdo con
la Fig. 14 comprende la selection 1410 de una escala de tiempo basada la trama o una escala de tiempo basada en la muestra de manera adaptativa a la senal.
[0154] Ademas, debe observarse que el metodo 1400 puede complementarse por cualquiera de las
caracterlsticas y las funcionalidades que se describen en el presente documento, por ejemplo, con respecto al control de bufer de fluctuacion.
5.11. Metodo de acuerdo con la Fig. 15 5
[0155] La Fig. 15 muestra un diagrama esquematico de bloques de un metodo 1500 para proporcionar una version con escala de tiempo de una senal de audio de entrada. El metodo comprende el computo o la estimacion 1510 de una calidad de una version con escala de tiempo de la senal de audio de entrada que se obtiene por una escala de tiempo de la senal de audio de entrada. Ademas, el metodo 1500 comprende la realizacion 1520 de la
10 escala de tiempo de la senal de audio de entrada de acuerdo con el computo o la estimacion de la calidad de la version con escala de tiempo de la senal de audio de entrada que se obtiene por la escala de tiempo.
[0156] El metodo 1500 puede complementarse por cualquiera de las caracterlsticas y las funcionalidades que se describen en el presente documento, por ejemplo, con referencia al escalador de tiempo.
15
6. Conclusiones
[0157] Como conclusion, las realizaciones de acuerdo con la invencion crean un metodo de gestion de bufer de fluctuacion y un aparato para la comunicacion de audio y habla de alta calidad. El metodo y el aparato pueden
20 usarse junto con codecs de comunicacion, tales como MPEG ELD, AMR-WB, o futuros codecs. En otras palabras, las realizaciones de acuerdo con la invencion crean un metodo y un aparato para la compensacion de la fluctuacion inter-llegada en la comunicacion basada en paquetes.
[0158] Las realizaciones de la invencion pueden aplicarse, por ejemplo, en la tecnologla denominada "3GPP 25 EVS".
[0159] A continuacion, se describiran brevemente aspectos de las realizaciones de acuerdo con la invencion.
[0160] La solucion de gestion del bufer de fluctuacion que se describe en el presente documento crea un 30 sistema, en el que varios modulos descritos estan disponibles y se combinan de la manera descrita con anterioridad.
Ademas, ha de apreciarse que los aspectos de la invencion ademas se refieren a caracterlsticas de los propios modulos.
[0161] Un importante aspecto de la presente invencion es una seleccion adaptativa a la senal de un metodo 35 de escala de tiempo para la gestion del bufer de fluctuacion adaptativo. La solucion descrita combina la escala de
tiempo basada la trama y la escala de tiempo basada en la muestra en la logica de control, de manera que las ventajas de ambos metodos se combinen. Los metodos disponibles de escala de tiempo son:
- Insercion/eliminacion de ruido de confort en DTX
40 - Superposicion y adicion (OLA) sin correlacion en baja energla de senal (por ejemplo, para tramas que tienen baja energla de senal);
- WSOLA para senales activas;
- Insercion de trama oculta para el estiramiento en el caso de bufer de fluctuacion vaclo.
45 [0162] La solucion descrita en el presente documento describe un mecanismo para combinar metodos
basados en la trama (insercion y eliminacion de ruido de confort, e insercion de tramas ocultas para el estiramiento) con metodos basados en la muestra (WSOLA para senales activas, y superposicion y adicion no sincronizadas (OLA), para senales de baja energla). En la Fig. 8, se ilustra la logica de control que selecciona la tecnologla optima para la modificacion de escala de tiempo de acuerdo con una realizacion de la invencion.
50
[0163] De acuerdo con un aspecto adicional que se describe en el presente documento, se usan multiples objetivos para la gestion del bufer de fluctuacion adaptativo. En la solucion descrita, la estimacion de retardo objetivo emplea diferentes criterios de optimization para el calculo de un unico retardo objetivo de transmision. Estos criterios logran diferentes objetivos en primer lugar, optimizados para alta calidad o bajo retardo.
55
[0164] Los multiples objetivos para el calculo del retardo objetivo de transmision son:
- Calidad: evitar perdida tardla (evalua fluctuacion);
- Retardo: limitar retardo (evalua fluctuacion).
[0165] Es un aspecto (opcional) de la solucion descrita la optimizacion de la estimacion de retardo objetivo de manera que el retardo sea limitado, si bien, ademas, sean evitadas las perdidas tardlas, y adicionalmente, se mantenga una pequena reserva en el bufer de fluctuation a fin de aumentar la probabilidad de interpolation para
5 permitir la ocultacion de error de alta calidad para el decodificador.
[0166] Otro aspecto (opcional) se refiere a la recuperation de la ocultacion TCX con tramas tardlas. Las tramas que llegan tarde se desechan por la mayorla de las soluciones de gestion de bufer de fluctuacion hasta la fecha. Se han descrito mecanismos para el uso de las tramas tardlas en decodificadores basados en ACELP [Lef03].
10 De acuerdo con un aspecto, dicho mecanismo es ademas utilizado para tramas diferentes de tramas ACELP, por ejemplo, tramas codificadas por dominio de frecuencia como TCX, para facilitar la recuperacion del estado del decodificador en general. Por lo tanto, las tramas que son recibidas mas tarde y que ya estan ocultas son aun alimentadas al decodificador con la finalidad de mejorar la recuperacion del estado del decodificador.
15 [0167] Otro aspecto importante de acuerdo con la presente invention es la escala de tiempo adaptativa a la
calidad, que se ha descrito anteriormente.
[0168] Como conclusion adicional, las realizaciones de acuerdo con la presente invencion crean una solucion
de gestion de bufer de fluctuacion completo, que puede usarse para la experiencia del usuario mejorada en 20 comunicaciones sobre la base de paquetes. Se observo que las soluciones presentadas tienen un comportamiento superior a cualquier otra solucion conocida de gestion de bufer de fluctuacion, conocida por los inventores.
7. Alternativas de implementation
25 [0169] Si bien se han descrito algunos aspectos en el contexto de un aparato, es evidente que estos
aspectos ademas representan una description del correspondiente metodo, donde un bloque o dispositivo corresponde a una etapa de metodo o una caracterlstica de una etapa de metodo. De manera analoga, los aspectos descritos en el contexto de una etapa de metodo ademas representan una descripcion de un bloque o artlculo o caracterlstica correspondiente de un correspondiente aparato. Algunas o la totalidad de las etapas de metodo 30 pueden ejecutarse por medio de (o usando) un aparato de hardware, como, por ejemplo, un microprocesador, un ordenador programable o un circuito electronico. En algunas realizaciones, algunas de una o mas de las etapas de metodo mas importantes pueden ejecutarse por dicho aparato.
[0170] La senal de audio codificada de la invencion puede ser almacenada en un medio de almacenamiento 35 digital, o puede ser transmitida en un medio de transmision tal como un medio de transmision inalambrico o un
medio de transmision cableado, tal como Internet.
[0171] De acuerdo con ciertos requisitos de implementacion, las realizaciones de la invencion pueden implementarse en hardware o software. La implementacion puede realizarse usando un medio de almacenamiento
40 digital, por ejemplo, un disquete, un DVD, un Blu-Ray, un cD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene senales de control electronicamente legibles almacenadas en el mismo, que cooperan (o son capaces de cooperar) con un sistema de ordenador programable de manera tal de llevar a cabo el respectivo metodo. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
45 [0172] Algunas realizaciones de acuerdo con la invencion comprenden un portador de datos que tiene
senales de control electronicamente legibles, que son capaces de cooperar con un sistema de ordenador programable, de tal forma que se realiza uno de los metodos descritos en el presente documento.
[0173] En general, las realizaciones de la presente invencion pueden ser implementadas como un producto 50 de programa informatico con un codigo de programa, estando el codigo de programa operativo para realizar uno de
los metodos cuando se ejecuta el producto de programa informatico en un ordenador. El codigo de programa puede ser almacenado, por ejemplo, en un portador legible por maquina.
[0174] Otras realizaciones comprenden el programa informatico para llevar a cabo uno de los metodos que 55 se describen en el presente documento, almacenado en un portador legible por maquina.
[0175] En otras palabras, una realization del metodo de la invencion, por lo tanto, es un programa informatico que tiene un codigo de programa para la realizacion de uno de los metodos que se describen en el presente documento, cuando se ejecuta el programa informatico en un ordenador.
[0176] Una realizacion adicional de los metodos de la invention es, por lo tanto, un portador de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, almacenado en el mismo, el programa informatico para realizar uno de los metodos que se describen en el presente documento. El portador de
5 datos, el medio de almacenamiento digital o el medio grabado son tlpicamente tangibles y/o no transitorios.
[0177] Una realizacion adicional del metodo de la invencion es, por lo tanto, un flujo de datos o una secuencia de senales que representan el programa informatico para realizar uno de los metodos que se describen en el presente documento. El flujo de datos o la secuencia de senales, por ejemplo, puede configurarse para transferirse
10 por medio de una conexion de comunicacion de datos, por ejemplo, por medio de la Internet.
[0178] Una realizacion adicional comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo logico programable, configurado o adaptado para realizar uno de los metodos que se describen en el presente documento.
15
[0179] Una realizacion adicional comprende un ordenador que tiene instalado en el mismo el programa informatico para realizar uno de los metodos que se describen en el presente documento.
[0180] Una realizacion adicional de acuerdo con la invencion comprende un aparato o un sistema configurado 20 para transferir (por ejemplo, electronica u opticamente) un programa informatico para llevar a cabo uno de los
metodos que se describen en el presente documento a un receptor. El receptor, por ejemplo, puede ser un ordenador, un dispositivo movil, un dispositivo de memoria o similares. El aparato o el sistema, por ejemplo, puede comprender un servidor de archivos para la transferencia del programa informatico al receptor.
25 [0181] En algunas realizaciones, puede usarse un dispositivo logico programable (por ejemplo, una matriz de
puertas programables de campo) para realizar algunas o la totalidad de las funcionalidades de los metodos que se describen en el presente documento. En algunas realizaciones, una matriz de puertas programables de campo puede cooperar con un microprocesador a fin de llevar a cabo uno de los metodos que se describen en el presente documento. En general, los metodos se realizan, preferiblemente, por cualquier aparato de hardware.
30
[0182] El aparato que se describe en el presente documento puede implementarse usando un aparato de hardware, o usando un ordenador, o usando una combination de un aparato de hardware y un ordenador.
[0183] Los metodos que se describen en el presente documento pueden realizarse usando un aparato de 35 hardware, o usando un ordenador, o usando una combinacion de un aparato de hardware y un ordenador.
[0184] Las realizaciones descritas anteriormente son meramente ilustrativas de los principios de la presente invencion. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles que se describen en el presente documento seran evidentes para los expertos en la tecnica. Por lo tanto, se tiene la intention de limitarse
40 solamente por el alcance de las reivindicaciones de patente inminentes, y no por los detalles especlficos presentados a modo de descripcion y explicacion de las realizaciones del presente documento.
Referencias
45 [0185]
[Lia01] Y. J. Liang, N. Faerber, B. Girod: "Adaptive playout scheduling using time-scale modification in packet voice communications", 2001
[Lef03] P. Gournay, F. Rousseau, R. Lefebvre: "Improved packet loss recovery using late frames for prediction-based 50 speech coders", 2003
[AHEVS-044]: FRAUNHOFER GESELLSCHAFT: "On Jitter Buffer Management in the Design Constraints", 3GPP DRAFT; AHEVS-044, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE; 650, ROUTE DES LUCIOLES; F-06921 SOPHIA-ANTIPOLIS CEDEX; FRANCE, vol. SA WG4, n.° San Diego; 10 May 201, XP050527151, divulga un control de bufer de fluctuation para controlar una provision de un contenido de 55 audio decodificado. Este documento divulga una unidad de adaptation que considera el estado del bufer y la entrada de un analizador de red para controlar la escala de tiempo. La escala de tiempo se puede realizar como escala de tiempo basada en la trama o como escala de tiempo basada en la muestra.

Claims (17)

  1. REIVINDICACIONES
    1. Un control de bufer de fluctuacion (100; 350; 490) para controlar una provision de un contenido de audio decodificado (312; 412) sobre la base de un contenido de audio de entrada (310; 410),
    5 en el que el control de bufer de fluctuacion esta configurado para seleccionar a escala de tiempo basada en la trama o una escala de tiempo basada en la muestra de una manera adaptativa a la senal, de tal forma que una decision de si se usa una escala de tiempo basada en la trama o una escala de tiempo basada en la muestra esta adaptada a las caracterlsticas de la senal de audio.
    10 2. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 1, en el que las
    tramas de audio se excluyen o se insertan para controlar una profundidad de un bufer de fluctuacion (320; 430) cuando se usa la escala de tiempo basada en la trama, y en el que se realiza una superposicion y adicion con desfase en el tiempo (954;1068) de porciones de senal de audio cuando se usa la escala de tiempo basada en la muestra.
    15
  2. 3. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 1 o la reivindicacion
    2, en el que el control de bufer de fluctuacion esta configurado para cambiar entre una escala de tiempo basada en la trama, una escala de tiempo basada en la muestra y una desactivacion de una escala de tiempo de una manera adaptativa a la senal.
    20
  3. 4. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 3, en
    el que el control de bufer de fluctuacion esta configurado para seleccionar la escala de tiempo basada en la trama o la escala de tiempo basada en la muestra con el fin de control una profundidad de un bufer de fluctuacion (320; 430).
    25 5. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 4, en
    el que el control de bufer de fluctuacion esta configurado para seleccionar una insercion de ruido de confort o una eliminacion de ruido de confort (856) si una trama anterior estaba inactiva.
  4. 6. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 5, en el que una 30 insercion de ruido de confort da como resultado una insercion de una trama de ruido de confort en un bufer de
    fluctuacion (320; 430), y en el que una eliminacion de ruido de confort da como resultado una eliminacion de una trama de ruido de confort del bufer de fluctuacion.
  5. 7. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 5 o la reivindicacion 35 6, en el que una trama respectiva se considera inactiva cuando la trama respectiva lleva una informacion de
    senalizacion que indica una generacion de ruido de confort.
  6. 8. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 7, en
    el que el control de bufer de fluctuacion esta configurado para seleccionar una superposicion y adicion con desfase
    40 en el tiempo (954; 1068) de porciones de senal de audio si una trama anterior estaba activa.
  7. 9. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 8, en el que la
    superposicion y adicion con desfase en el tiempo (954; 1068) de porciones de senal de audio se adapta para permitir un ajuste de un desfase de tiempo entre bloques de muestras de audio obtenidas sobre la base de tramas
    45 posteriores del contenido de audio de entrada con una resolucion 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 menor que o igual a dos muestras de audio.
  8. 10. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 8 o la reivindicacion 50 9, en el que el control de bufer de fluctuacion esta configurado para determinar (930, 936; 1010, 1014) si un bloque
    de muestras de audio representa una porcion de senal de audio activa pero latente, y en el que el control de bufer de fluctuacion esta configurado para seleccionar un modo de superposicion y adicion (962;1018), en el que un desfase de tiempo entre el bloque de muestras de audio que representa una porcion de senal de audio latente y un bloque anterior o posterior de muestras de audio se ajusta a un valor maximo predeterminado, para un bloque de muestras 55 de audio que representa una porcion de senal de audio latente.
  9. 11. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 8 a 10, en el que el control de bufer de fluctuacion esta configurado para determinar (930, 936; 1010, 1014) si un bloque de muestras de audio representa una porcion de senal de audio activa y no latente, y seleccionar un modo de
    superposicion y adicion (942, 950, 954; 1030, 1060, 1064, 1068), en el que el desfase de tiempo entre bloques de muestras de audio determinadas sobre la base de tramas posteriores del contenido de audio de entrada se determina de una manera adaptativa a la senal.
    5 12. El control de bufer de fluctuation (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 11,
    en el que el control de bufer de fluctuacion esta configurado para seleccionar una insertion de una trama oculta en respuesta a una determination de que se requiere un estiramiento de tiempo y de que un bufer de fluctuacion esta vaclo.
    10 13. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 12,
    en el que el control de bufer de fluctuacion esta configurado para seleccionar la escala de tiempo basada en la trama o la escala de tiempo basada en la muestra dependiendo de si una transmision discontinua junto con la generation de ruido de confort se usa actualmente o se uso durante una trama anterior.
    15 14. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 13,
    en el que el control de bufer de fluctuacion esta configurado para seleccionar una escala de tiempo basada en la trama si una generacion de ruido de confort se usa actualmente o se uso para una trama anterior y para seleccionar una escala de tiempo basada en la muestra si no se usa actualmente o no se uso una generacion de ruido de confort para una trama anterior.
    20
  10. 15. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 14, en el que el control de bufer de fluctuacion esta configurado para seleccionar una insercion de ruido de confort basada en la trama o una elimination de ruido de confort basada en la trama (856) para una escala de tiempo si se usa actualmente o se uso una transmision discontinua junto con la generacion de ruido de confort para una trama
    25 anterior,
    en el que el control de bufer de fluctuacion esta configurado para seleccionar una operation de superposicion- adicion usando un desfase de tiempo predeterminado (962, 1018) para una escala de tiempo si una portion de senal de audio actual esta activa pero comprende una energla de senal que es menor que o igual a un valor umbral de energla, y si un bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa pero
    30 comprende una energla de senal que es menor que o igual al valor umbral de energla, y si el bufer de fluctuacion no esta vaclo;
    en el que el control de bufer de fluctuacion esta configurado para seleccionar una operacion de superposicion- adicion usando un desfase de tiempo adaptativo a la senal (954; 1068) para una escala de tiempo si una porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor que o igual al valor umbral de
    35 energla y si el bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo; y en el que el control de bufer de fluctuacion esta configurado para seleccionar una insercion de una trama oculta para una escala de tiempo si una porcion de senal de audio actual esta activa y si el bufer de fluctuacion esta vaclo, o si una porcion de senal de audio anterior estaba inactiva, y si el bufer de fluctuacion esta
    40 vaclo.
  11. 16. El control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 15, en el que el control de bufer de fluctuacion esta configurado para seleccionar una operacion de superposicion- adicion (942, 950, 954; 1030, 1060, 1064, 1068, 1072, 1084) usando un desfase de tiempo adaptativo a la senal y un
    45 mecanismo de control de calidad (950; 1060, 1064, 1072, 1084) para una escala de tiempo si una porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo.
    50 17. Un decodificador de audio (300;400) para proporciona un contenido de audio decodificado (312;412)
    sobre la base de un contenido de audio de entrada (310; 410), comprendiendo el decodificador de audio:
    un bufer de fluctuacion (320; 430) configurado para almacenar una pluralidad de tramas de audio que representan bloques de muestras de audio;
    55 un nucleo de decodificador (330;440) configurado para proporcionar bloques (332; 442) de muestras de audio sobre la base de tramas de audio (322; 432) recibidas del bufer de fluctuacion;
    un escalador del tiempo basado en muestras (340; 450), en el que el escalador de tiempo basado en muestras esta configurado para proporcionar bloques con escala de tiempo de muestras de audio (342; 448) sobre la base de bloques de muestras de audio proporcionadas por el nucleo de decodificador; y
    un control de bufer de fluctuacion (100; 350; 490) de acuerdo con una de las reivindicaciones 1 a 16.
  12. 18. El decodificador de audio (300; 400) de acuerdo con la reivindicacion 17, en el que el bufer de fluctuacion (320; 430) esta configurado para excluir o insertar tramas de audio para realizar una escala de tiempo
    5 basada en tramas.
  13. 19. El decodificador de audio de acuerdo con la reivindicacion 17 o la reivindicacion 18, en el que el nucleo de decodificador (330; 440) esta configurado para realizar una generacion de ruido de confort en respuesta a una trama que lleva una information de senalizacion que indica una generation de ruido de confort, y en el que el
    10 nucleo de decodificador esta configurado para realizar una ocultacion en respuesta a un bufer de fluctuacion vaclo.
  14. 20. El decodificador de audio (300; 400) de acuerdo con una de las reivindicaciones 17 a 19, en el que el escalador de tiempo basado en muestras (340; 450) esta configurado para realizar la escala de tiempo de la senal de audio de entrada dependiendo de una computation o una estimation (950; 1060) de la calidad de la version con
    15 escala de tiempo de la senal de audio de entrada que puede obtenerse por la escala de tiempo.
  15. 21. Un metodo (1400) para controlar una provision de un contenido de audio decodificado sobre la base de un contenido de audio de entrada,
    20 en el que el metodo comprende seleccionar (1410) una escala de tiempo basada en la trama o una escala de tiempo basada en la muestra de una manera adaptativa a la senal, de tal forma que una decision de si se usa una escala de tiempo basada en la trama o una escala de tiempo basada en la muestra esta adaptada a las caracterlsticas de la senal de audio.
    25 22. Un programa informatico para realizar el metodo de acuerdo con la reivindicacion 21 cuando el
    programa informatico se ejecuta en un ordenador.
  16. 23. Un control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 2,
    30 en el que el control de bufer de fluctuacion esta configurado para seleccionar una insertion de ruido de confort basada en la trama o una elimination de ruido de confort basada en la trama (856) para una escala de tiempo si se usa actualmente o se uso una transmision discontinua junto con la generacion de ruido de confort para una trama anterior,
    en el que el control de bufer de fluctuacion esta configurado para seleccionar una operation de superposicion- 35 adicion usando un desfase de tiempo predeterminado (962, 1018) para una escala de tiempo si una portion de senal de audio actual esta activa pero comprende una energla de senal que es menor que o igual a un valor umbral de energla, y si un bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa pero comprende una energla de senal que es menor que o igual al valor umbral de energla, y si el bufer de fluctuacion no esta vaclo;
    40 en el que el control de bufer de fluctuacion esta configurado para seleccionar una operacion de superposicion- adicion usando un desfase de tiempo adaptativo a la senal (954; 1068) para una escala de tiempo si una porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no 45 esta vaclo; y en el que el control de bufer de fluctuacion esta configurado para seleccionar una insercion de una
    trama oculta para una escala de tiempo si una porcion de senal de audio actual esta activa y si el bufer de
    fluctuacion esta vaclo, o si una porcion de senal de audio anterior estaba inactiva, y si el bufer de fluctuacion esta vaclo.
    50 24. Un control de bufer de fluctuacion (100; 350; 490) de acuerdo con la reivindicacion 2,
    en el que el control de bufer de fluctuacion esta configurado para seleccionar una operacion de superposition y
    adicion (942, 950, 954; 1030, 1060, 1064, 1068, 1072, 1084) usando un desfase de tiempo adaptativo a la senal y un mecanismo de control de calidad (950; 1060, 1064, 1072, 1084) para una escala de tiempo si una porcion de senal 55 de audio actual esta activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo.
  17. 25. Un metodo (1400) de acuerdo con la reivindicacion 21,
    en el que el metodo comprende seleccionar (1410) una escala de tiempo basada en la trama o una escala de tiempo basada en la muestra de una manera adaptativa a la senal;
    en el que las tramas de audio se excluyen o se insertan para controlar una profundidad de un bufer de fluctuacion 5 (320; 430) cuando se usa la escala de tiempo basada en la trama, y en el que se realiza una superposicion y adicion con desfase en el tiempo (954;1068) de porciones de senal de audio cuando se usa la escala de tiempo basada en la muestra;
    en el que el metodo comprende seleccionar una insercion de ruido de confort basada en la trama o una eliminacion de ruido de confort basada en la trama (856) para una escala de tiempo si una transmision discontinua junto con la 10 generacion de ruido de confort se usa actualmente o se uso para una trama anterior,
    seleccionar una operacion de superposicion-adicion usando un desfase de tiempo predeterminado (962, 1018) para una escala de tiempo si una porcion de senal de audio actual esta activa pero comprende una energla de senal que es menor que o igual a un valor umbral de energla, y si un bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa pero comprende una energla de senal que es menor que o igual al valor umbral 15 de energla, y si el bufer de fluctuacion no esta vaclo;
    seleccionar una operacion de superposicion-adicion usando un desfase de tiempo adaptativo a la senal (954; 1068) para una escala de tiempo si una porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa y comprende una energla de senal que es mayor que o igual al valor umbral de 20 energla y si el bufer de fluctuacion no esta vaclo; y
    seleccionar una insercion de una trama oculta para una escala de tiempo si una porcion de senal de audio actual esta activa y si el bufer de fluctuacion esta vaclo, o si una porcion de senal de audio anterior estaba activa y si el bufer de fluctuacion esta vaclo.
    25 26. Un metodo (1400) de acuerdo con la reivindicacion 21,
    en el que el metodo comprende seleccionar (1410) una escala de tiempo basada en la trama o una escala de tiempo basada en la muestra de una manera adaptativa a la senal;
    en el que las tramas de audio se excluyen o se insertan para controlar una profundidad de un bufer de fluctuacion 30 (320; 430) cuando se usa la escala de tiempo basada en la trama, y en el que se realiza una superposicion y adicion con desfase en el tiempo (954; 1068) de porciones de senal de audio se realiza cuando se usa la escala de tiempo basada en la muestra;
    en el que el metodo comprende seleccionar una operacion de superposicion y adicion (942, 950, 954; 1030, 1060, 1064, 1068, 1072, 1084) usando un desfase de tiempo adaptativo a la senal y un mecanismo de control de calidad 35 (950; 1060, 1064, 1072, 1084) para una escala de tiempo si una porcion de senal de audio actual esta activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo, o si una porcion de senal de audio anterior estaba activa y comprende una energla de senal que es mayor que o igual al valor umbral de energla y si el bufer de fluctuacion no esta vaclo.
    40 27. Un programa informatico para realizar el metodo de acuerdo con la reivindicacion 25 o la
    reivindicacion 26 cuando el programa informatico se ejecuta en un ordenador.
ES14731262.3T 2013-06-21 2014-06-18 Control de búfer de fluctuación, decodificador de audio, método y programa informático Active ES2642352T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP13173159 2013-06-21
EP13173159 2013-06-21
EP14167061 2014-05-05
EP14167061 2014-05-05
PCT/EP2014/062789 WO2014202647A1 (en) 2013-06-21 2014-06-18 Jitter buffer control, audio decoder, method and computer program

Publications (1)

Publication Number Publication Date
ES2642352T3 true ES2642352T3 (es) 2017-11-16

Family

ID=50976647

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14731262.3T Active ES2642352T3 (es) 2013-06-21 2014-06-18 Control de búfer de fluctuación, decodificador de audio, método y programa informático

Country Status (18)

Country Link
US (3) US9997167B2 (es)
EP (1) EP3011692B1 (es)
JP (1) JP6251464B2 (es)
KR (1) KR101953613B1 (es)
CN (1) CN105518778B (es)
AU (1) AU2014283320B2 (es)
BR (1) BR112015031825B1 (es)
CA (3) CA2916121C (es)
ES (1) ES2642352T3 (es)
HK (1) HK1224447A1 (es)
MX (1) MX352748B (es)
MY (1) MY170699A (es)
PL (1) PL3011692T3 (es)
PT (1) PT3011692T (es)
RU (1) RU2663361C2 (es)
SG (1) SG11201510459YA (es)
TW (1) TWI582759B (es)
WO (1) WO2014202647A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103888381A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
EP3321935B1 (en) 2013-06-21 2019-05-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time scaler, audio decoder, method and a computer program using a quality control
AU2014283320B2 (en) * 2013-06-21 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Jitter buffer control, audio decoder, method and computer program
CN105099949A (zh) 2014-04-16 2015-11-25 杜比实验室特许公司 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
US10679673B2 (en) * 2015-01-28 2020-06-09 Roku, Inc. Synchronization in audio playback network independent of system clock
US9948578B2 (en) * 2015-04-14 2018-04-17 Qualcomm Incorporated De-jitter buffer update
KR102422794B1 (ko) * 2015-09-04 2022-07-20 삼성전자주식회사 재생지연 조절 방법 및 장치와 시간축 변형방법 및 장치
US9929928B1 (en) * 2015-12-24 2018-03-27 Microsemi Solutions (U.S.), Inc. Packet transmitter and method for timestamping packets
WO2017129270A1 (en) * 2016-01-29 2017-08-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for improving a transition from a concealed audio signal portion to a succeeding audio signal portion of an audio signal
EP3382702A1 (en) * 2017-03-31 2018-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for determining a predetermined characteristic related to an artificial bandwidth limitation processing of an audio signal
US11595316B2 (en) * 2018-06-01 2023-02-28 Apple Inc. Adaptive and seamless playback buffer adjustment for streaming content
CN109062537B (zh) * 2018-08-30 2021-07-30 倪兴炜 一种音频延迟的降低方法、装置、介质及设备
CN110113270B (zh) * 2019-04-11 2021-04-23 北京达佳互联信息技术有限公司 网络通信的抖动控制方法、装置、终端及存储介质
US10665231B1 (en) * 2019-09-06 2020-05-26 Verbit Software Ltd. Real time machine learning-based indication of whether audio quality is suitable for transcription
CN110659776B (zh) * 2019-09-25 2022-04-19 南京国电南自维美德自动化有限公司 具有自适应时间尺度的新能源发电功率预测方法及系统
EP3805924A1 (en) 2019-10-11 2021-04-14 Unify Patente GmbH & Co. KG Method of scheduling an additional new processing task to be executed by a processor, scheduler, and central processing unit
CN111787268B (zh) * 2020-07-01 2022-04-22 广州视源电子科技股份有限公司 音频信号的处理方法、装置、电子设备及存储介质

Family Cites Families (85)

* 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
US7010073B2 (en) * 2001-01-19 2006-03-07 Qualcomm, Incorporated Delay lock loops for wireless communication systems
EP1377967B1 (en) 2001-04-13 2013-04-10 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
EP1536582B1 (en) * 2001-04-24 2009-02-11 Nokia Corporation Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder
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
CN100346391C (zh) 2002-08-08 2007-10-31 科斯莫坦股份有限公司 使用可变长度合成和简化互相关计算的音频信号时间缩放比例修改方法
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
WO2005089158A2 (en) * 2004-03-16 2005-09-29 Snowshore Networks, Inc. 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
MX2007002483A (es) * 2004-08-30 2007-05-11 Qualcomm Inc Memoria intermedia sin oscilacion adaptiva para voz sobre ip.
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
CN101305417B (zh) * 2005-11-07 2011-08-10 艾利森电话股份有限公司 移动电信网络中的方法和装置
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 杜比实验室特许公司 音频信号的感知响度和/或感知频谱平衡的计算和调整
CA2650419A1 (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
JP2008042889A (ja) 2006-06-16 2008-02-21 Ericsson Ab インテリジェント音声制限方法、システム及びノード
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
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
EP2410522B1 (en) 2008-07-11 2017-10-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio signal encoder, method for encoding an audio signal and computer program
AU2009267531B2 (en) 2008-07-11 2013-01-10 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. An apparatus and a method for decoding an encoded audio signal
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
EP2302845B1 (en) * 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
SG182466A1 (en) 2010-01-12 2012-08-30 Fraunhofer Ges Forschung Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a modification of a number representation of a numeric previous context value
AU2011226143B9 (en) 2010-03-10 2015-03-19 Dolby International Ab Audio signal decoder, audio signal encoder, method for decoding an audio signal, method for encoding an audio signal and computer program using a pitch-dependent adaptation of a coding context
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
CN103250206B (zh) 2010-10-07 2015-07-15 弗朗霍夫应用科学研究促进协会 用于比特流域中的编码音频帧的强度估计的装置及方法
TWI425502B (zh) * 2011-03-15 2014-02-01 Mstar Semiconductor Inc 音訊的時間伸縮方法與相關裝置
WO2012167479A1 (en) * 2011-07-15 2012-12-13 Huawei Technologies Co., Ltd. Method and apparatus for processing a multi-channel audio signal
WO2013026203A1 (en) * 2011-08-24 2013-02-28 Huawei Technologies Co., Ltd. Audio or voice signal processor
US9324336B2 (en) * 2011-10-20 2016-04-26 Lg Electronics Inc. Method of managing a jitter buffer, and jitter buffer using same
GB2520866B (en) * 2011-10-25 2016-05-18 Skype Ltd 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
AU2014283320B2 (en) * 2013-06-21 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Jitter buffer control, audio decoder, method and computer program
EP3321935B1 (en) * 2013-06-21 2019-05-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time scaler, audio decoder, method and a computer program using a quality control

Also Published As

Publication number Publication date
BR112015031825B1 (pt) 2021-12-28
TW201517026A (zh) 2015-05-01
RU2663361C2 (ru) 2018-08-03
US10714106B2 (en) 2020-07-14
KR20160021886A (ko) 2016-02-26
JP2016527540A (ja) 2016-09-08
US9997167B2 (en) 2018-06-12
RU2016101339A (ru) 2017-07-26
MX352748B (es) 2017-12-06
EP3011692A1 (en) 2016-04-27
CN105518778B (zh) 2019-09-13
EP3011692B1 (en) 2017-06-14
JP6251464B2 (ja) 2017-12-20
CA2964368A1 (en) 2014-12-24
US20160180857A1 (en) 2016-06-23
TWI582759B (zh) 2017-05-11
PT3011692T (pt) 2017-09-22
CA2964362A1 (en) 2014-12-24
SG11201510459YA (en) 2016-01-28
PL3011692T3 (pl) 2017-11-30
CN105518778A (zh) 2016-04-20
CA2964368C (en) 2020-03-31
MX2015017364A (es) 2016-04-06
KR101953613B1 (ko) 2019-03-04
CA2916121C (en) 2019-01-29
WO2014202647A1 (en) 2014-12-24
BR112015031825A2 (pt) 2020-06-16
CA2964362C (en) 2020-03-31
US11580997B2 (en) 2023-02-14
HK1224447A1 (zh) 2017-08-18
US20200321014A1 (en) 2020-10-08
MY170699A (en) 2019-08-26
AU2014283320B2 (en) 2016-09-15
CA2916121A1 (en) 2014-12-24
US20180190302A1 (en) 2018-07-05
AU2014283320A1 (en) 2016-02-11

Similar Documents

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