ES2853936T3 - Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo - Google Patents

Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo Download PDF

Info

Publication number
ES2853936T3
ES2853936T3 ES18700161T ES18700161T ES2853936T3 ES 2853936 T3 ES2853936 T3 ES 2853936T3 ES 18700161 T ES18700161 T ES 18700161T ES 18700161 T ES18700161 T ES 18700161T ES 2853936 T3 ES2853936 T3 ES 2853936T3
Authority
ES
Spain
Prior art keywords
audio
configuration
information
stream
frames
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
ES18700161T
Other languages
English (en)
Inventor
Max Neuendorf
Matthias Felix
Matthias Hildenbrand
Lukas Schuster
Ingo Hofmann
Bernd Herrmann
Nikolaus Rettelbach
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 ES2853936T3 publication Critical patent/ES2853936T3/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/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • 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
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • 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
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

Decodificador de audio (100; 200) para proporcionar una representación de señal de audio decodificada (112; 212) basándose en una representación de señal de audio codificada (110; 210; 312;412;550; 600;700;800), en el que el decodificador de audio está configurado para ajustar parámetros de decodificación en función de una información de configuración (110a;222c;332;424; 1010, 1030), en el que el decodificador de audio está configurado para decodificar una o más tramas de audio usando una información de configuración actual (140;240), y en el que el decodificador de audio está configurado para comparar una información de configuración (110a;222c;332;424; 1010, 1030) en una estructura de configuración asociada a una o más tramas (222) que han de decodificarse, con la información de configuración actual (140;240), y para efectuar una transición para realizar una decodificación empleando la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse como nueva información de configuración si la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, o una parte relevante (1020a,1020b,1022a,1024a,1024b,1026a,1050a) de la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, es diferente de la información de configuración actual; en el que el decodificador de audio está configurado para tener en cuenta la información del identificador de flujo (230; streamID, 1050a, streamIdentifier) en la estructura de configuración al comparar la información de configuración, de manera que una diferencia entre un identificador de flujo adquirido anteriormente por el decodificador de audio y un identificador de flujo representado por la información del identificador de flujo en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse provoca la realización de la transición.

Description

DESCRIPCIÓN
Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo
Campo técnico
Las realizaciones según la invención están relacionadas con un decodificador de audio para proporcionar una representación de señal de audio decodificada basándose en una representación de señal de audio codificada. Realizaciones adicionales según la invención están relacionadas con un codificador de audio para proporcionar una representación de señal de audio codificada.
Realizaciones adicionales según la invención están relacionadas con un método para proporcionar una representación de señal de audio decodificada.
Realizaciones adicionales según la invención están relacionadas con un método para proporcionar una representación de señal de audio codificada.
Realizaciones adicionales según la invención están relacionadas con un flujo de audio.
Realizaciones adicionales según la invención están relacionadas con un proveedor de flujos de audio.
Realizaciones adicionales según la invención están relacionadas con un programa informático para realizar uno de los métodos.
Antecedentes de la invención
A continuación, se describirán problemas subyacentes a los aspectos de la invención y posibles situaciones de uso para las realizaciones según la invención.
Hay situaciones en las cuales existen transiciones entre diferentes flujos de audio o entre diferentes secuencias de tramas de audio codificadas. Por ejemplo, diferentes secuencias de tramas de audio pueden comprender diferentes contenidos de audio, entre los cuales debe efectuarse la transición. Se conocen métodos para tener en cuenta el cambio de configuraciones de codificador/decodificador de audio dentro de flujo de audio, por ejemplo, a partir de la solicitud de patente europea EP2863386, Daniel Fischer et al., "Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder", 22.04.2015.
Por ejemplo, cuando se emplea MPEG-D USAC (ISO/IEC 23003-3 Amd.1 Amd.2 Amd.3) en un caso de uso de transmisión en tiempo real adaptativa, puede producirse una situación en la que dos flujos dentro de un denominado conjunto de adaptación (que puede agrupar, por ejemplo, dos o más flujos entre los cuales puede conmutar un usuario) tienen estructuras de configuración exactamente idénticas aunque sus tasas de bits sean diferentes. Esto puede ocurrir, por ejemplo, si el codificador simplemente opta por hacer funcionar el codificador exactamente con la misma herramienta de codificación establecida para ambas tasas de bits. Por ejemplo, un codificador de audio puede utilizar la misma configuración fundamental de codificación (que también se comunica por señales a un decodificador de audio), pero puede proporcionar de todas maneras diferentes representaciones de los valores de audio. Por ejemplo, el codificador de audio puede usar una cuantificación más gruesa de valores espectrales, lo que da como resultado una menor demanda de bits, cuando se desea lograr una tasa de bits más baja, aunque la configuración fundamental del codificador o la configuración del decodificador se mantenga sin cambios. Sin embargo, esto (por ejemplo, la existencia de una situación en la cual dos flujos dentro de un conjunto de adaptación tienen estructuras de configuración exactamente idénticas, aunque sus tasas de bits sean diferentes) no es problemático en sí.
Sin embargo, se ha descubierto que, en un caso de uso de transmisión en tiempo real adaptativa, el decodificador debe saber si las unidades (o “tramas”) de acceso recibidas posteriormente provienen del mismo flujo o si se ha producido un cambio de flujo.
Se ha descubierto que, si se ha detectado un cambio de flujos, en algunos casos un decodificador de audio examinará una secuencia específica de etapas operativas que garantizan lo siguiente:
• Una instancia de decodificador está correctamente apagada y se alimentan partes de la señal decodificada almacenadas internamente de manera temporal a la salida del decodificador - un procedimiento denominado vaciado.
• El decodificador volverá a ejemplificarse y configurarse a sí mismo utilizando la información de configuración asociada al flujo cambiado.
• El decodificador someterá a silenciado previo a las unidades de acceso integradas que están en cascada en una trama de emisión inmediata (IPF). Este silenciado previo de las unidades de acceso pone al decodificador en un estado completamente inicializado, de manera que la salida de la decodificación de la primera trama dé como resultado una señal de audio decodificada totalmente compatible.
• Opcionalmente, por ejemplo, dependiendo de un elemento de señalización del flujo de bits correspondiente, la salida de audio del procedimiento de vaciado del decodificador y la salida de la decodificación de la primera unidad de acceso del decodificador reconfigurado son sometidas a un fundido encadenado durante un período de tiempo muy breve.
Todas las etapas anteriores pueden ejecutarse, por ejemplo, para lograr el único fin de obtener una transición “sin fisuras” desde el audio decodificado de un flujo hasta el audio decodificado de otro flujo. “Sin fisuras” significa que no hay errores ni interferencias audibles producidos por las propias transiciones de flujo. La transición de flujo puede ser, de hecho, perceptualmente distinguible debido, por ejemplo, a una variación de la calidad de codificación general o el ancho de banda de audio o timbre. Sin embargo, un punto real (en el tiempo) de la transición no provoca una impresión auditiva por sí mismo. En otras palabras, no hay “chasquidos” ni “estallidos de ruido” ni sonidos molestos similares en el punto de transición.
Se ha descubierto que puede obtenerse una información acerca de si se ha producido o no un cambio de flujo a partir del análisis de una estructura de configuración que está integrada en una trama de emisión inmediata y de la comparación de la misma con la configuración del flujo decodificado actualmente. Por ejemplo, un decodificador de audio puede asumir un cambio de flujo solo en el caso de que la configuración recibida difiera de la actual.
Por ejemplo, si un decodificador recibe una trama de emisión inmediata (IPF) de un flujo con una tasa de bits variable, detecta la presencia de una carga útil de extensión de silenciado previo de audio, extrae la estructura de configuración y lleva a cabo una comparación entre esta nueva configuración y la actual. Para más detalles, consulte también ISO/IEC 23003-3:2012/Amd.3, subcláusula "Bitrate adaption".
Sin embargo, se ha encontrado que si ambas estructuras de configuración, la actual y la nueva, son idénticas, el decodificador no podrá reconocer que está recibiendo unidades de acceso de un flujo diferente del anterior y, por consiguiente, no reconfigurará el decodificador ni decodificará el silenciado previo de audio que reside en la carga útil de extensión de la IPF.
Por el contrario, el decodificador tratará de continuar decodificando como si hubiera recibido unidades de acceso continuadas del flujo activo anterior. Esto llevará (por ejemplo, en un caso convencional en el cual no se utiliza ni se evalúa una ID de flujo) a la probable situación en la que los límites de ventana y los modos de codificación de la última trama decodificada y la nueva trama del nuevo flujo no corresponden, lo que a su vez da lugar a errores audibles tales como chasquidos o estallidos de ruido. Esto frustrará el propósito principal de las IPF y la idea de transmisión en tiempo real adaptativa de audio, que se basa en el concepto de transiciones sin fisuras entre flujos.
A continuación, se describirán algunos enfoques convencionales.
Debe observarse que, para la codificación unificada de voz y audio (USAC), no se conoce una solución.
En el audio 3D MPEG-H (ISO/IEC 23008-3 todas las enmiendas) el problema puede solucionarse si los datos de audio se transmiten por medio del formato de flujo empaquetado de Flujo de audio MPEG-H ("MHAS"). Los paquetes MHAS contienen un identificador de paquete que puede ser diferente entre flujos y, por lo tanto, puede cumplir una función de diferenciación entre configuraciones. Sin embargo, no se especifica el formato MHAS para MPEG-D USAC.
En MPEG-4 HE-AAC (ISO/IEC 14496-3 todas las enmiendas) existe una solución alternativa que requiere un codificador para garantizar que, en los posibles puntos de transición (denominados puntos de acceso de flujo (SAP)), todos los flujos tienen formas de ventana y secuencias de ventana idénticas y restricciones adicionales con respecto a la herramienta de procesamiento de señales empleada. Esto puede tener efectos perjudiciales en la calidad de audio obtenida. La IPF mencionada anteriormente se diseñó exactamente para liberar a un nuevo códec de todas estas restricciones.
Para concluir, se exige un concepto que permita una conmutación entre diferentes flujos de audio y que proporcione un compromiso mejorado entre una cantidad de sobrecarga y una facilidad de implementación.
Sumario de la invención
Una realización según la invención crea un decodificador de audio para proporcionar una representación de señal de audio decodificada basándose en una representación de señal de audio codificada. El decodificador de audio está configurado para ajustar parámetros de decodificación en función de una información de configuración. El decodificador de audio está configurado para decodificar una o más tramas de audio usando una configuración actual (por ejemplo, empleando una información de configuración actualmente activa). Además, el decodificador de audio está configurado para comparar una información de configuración en una estructura de configuración asociada a una o más tramas que han de decodificarse, con la información de configuración actual, y para efectuar una transición para realizar una decodificación usando la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse como nueva información de configuración si la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, o una parte relevante (por ejemplo, hasta e incluyendo el identificador de flujo) de la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, es diferente de la información de configuración actual. El decodificador de audio está configurado para tener en cuenta una información del identificador de flujo incluida en la estructura de configuración al comparar la información de configuración, de manera que una diferencia entre un identificador de flujo adquirido anteriormente por el decodificador de audio y un identificador de flujo representado por la información del identificador de flujo en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse provoque la realización de la transición.
Esta realización según la invención se basa en la idea de que la presencia y evaluación de la información del identificador de flujo, que está incluida en la estructura de configuración, permiten una distinción de diferentes flujos del lado de un decodificador de audio y, en consecuencia, la ejecución de una transición, incluso en el caso de que la configuración de decodificación real (que puede describir, por ejemplo, el resto de la información de configuración en la estructura de configuración), es idéntica en ambos flujos. En consecuencia, puede emplearse el identificador de flujo como criterio para distinguir entre diferentes flujos entre los cuales puede efectuarse una transición. Dado que la información del identificador de flujo está incluida en la estructura de configuración (por ejemplo, junto con otra información de configuración que ajusta parámetros de decodificación del decodificador de audio) no es necesario evaluar información alguna de una capa de protocolo diferente al decidir si debe efectuarse una transición. Por ejemplo, la información del identificador de flujo está incluida en una subestructura de datos de una estructura de datos que define los parámetros de decodificación (la “estructura de configuración”), de manera que no resulta necesario enviar información alguna desde un nivel de paquete hasta el propio decodificador de audio. Mediante la inclusión en la estructura de configuración de la información del identificador de flujo, lo que permite que el decodificador de audio reconozca una transición de un primer flujo a un segundo flujo, pero que no tiene impacto alguno sobre los parámetros de decodificación al decodificar una parte contigua de un único flujo, es posible reconocer, del lado del decodificador de audio, una conmutación entre flujos diferentes sin acceder a información de un nivel de protocolo diferente en una situación en la cual se utilizan parámetros de decodificación idénticos en flujos diferentes. Además, tampoco es necesario utilizar parámetros de decodificación iguales en flujos diferentes en posiciones en las que es admisible una conmutación entre flujos diferentes.
Para concluir, el concepto tal como se define por la reivindicación independiente 1 permite un reconocimiento de una conmutación entre flujos diferentes con moderada complejidad de implementación (por ejemplo, sin extraer información de señalización especializada de un nivel de protocolo diferente y enviarla al decodificador de audio) evitando a la vez la necesidad de adoptar configuraciones de codificación/decodificación específicas (tales como una elección de ventanas y así sucesivamente) en los puntos de transición. Por consiguiente, también puede evitarse la excesiva sobrecarga y la degradación de la calidad de audio.
En una realización preferida, el decodificador de audio está configurado para verificar si la estructura de configuración comprende la información del identificador de flujo, y para tener en cuenta de manera selectiva la información del identificador de flujo en la comparación si la información del identificador de flujo está incluida en la estructura de configuración. En consecuencia no es necesario incluir la información del identificador de flujo en cada estructura de configuración. Por el contrario, es posible omitir el identificador de flujo en las estructuras de configuración de tramas de audio en las cuales no se requiere una posibilidad de conmutación entre flujos diferentes. En consecuencia, pueden ahorrarse algunos bits, y puede evitarse la evaluación de la información del identificador de flujo en puntos en los cuales no es admisible una conmutación entre flujos diferentes.
En una realización preferida, el decodificador de audio está configurado para comprobar si la estructura de configuración comprende una estructura de extensión de configuración y para comprobar si la estructura de extensión de configuración comprende el identificador de flujo. El decodificador de audio puede estar configurado para tener en cuenta de manera selectiva la información del identificador de flujo en la comparación si la información del identificador de flujo está incluida en la estructura de extensión de configuración.
En consecuencia, el identificador de flujo puede localizarse en una estructura de extensión de configuración, la presencia de la cual es opcional, en la que la presencia de la información del identificador de flujo puede incluso considerarse opcional aunque la estructura de extensión de configuración esté presente. En consecuencia, el decodificador de audio puede reconocer con flexibilidad si la información del identificador de flujo está presente o no, lo que brinda a un codificador de audio la posibilidad de evitar la inclusión de información innecesaria. La localización del identificador de flujo en una estructura de datos que puede activarse y desactivarse (por ejemplo, mediante una bandera en la parte fija (siempre presente) de la estructura de configuración), la información del identificador de flujo puede localizarse exactamente donde sea necesaria y ahorrar bits a la vez si no es necesaria la información del identificador de flujo. Esto es ventajoso, ya que no es necesario que cada trama a la que corresponde una estructura de configuración incluya además una información del identificador de flujo, puesto que normalmente solo es posible una conmutación entre flujos en momentos específicos.
En una realización preferida, el decodificador de audio está configurado para aceptar una disposición variable de elementos de información de configuración en la estructura de extensión de configuración. Por ejemplo, el decodificador de audio está configurado para tener en cuenta elementos de información de configuración (por ejemplo, extensiones de configuración) dispuestos en la estructura de extensión de configuración antes de la información del identificador de flujo (por ejemplo, antes del elemento denominado “streamID”) (por ejemplo, así como la información del identificador de flujo) al comparar la información de configuración en la estructura de configuración asociada a una o más tramas que han de decodificarse con la información de configuración actual. Además, el decodificador de audio puede estar configurado para dejar elementos de información de configuración (por ejemplo, extensiones de configuración) dispuestos en la estructura de extensión de configuración (por ejemplo, “UsacConfigExtension()”) después de la información del identificador de flujo no considerada al comparar la información de configuración en la estructura de configuración asociada a una o más tramas que han de decodificarse con la información de configuración actual.
Utilizando un concepto de este tipo, puede realizarse una detección de transiciones entre flujos diferentes de manera muy flexible. Por ejemplo, pueden ubicarse todos los elementos de información de configuración de este tipo que indican cambios “significativos” de un flujo de audio en la estructura de extensión de configuración antes de la información del identificador de flujo, de manera que un cambio de estos parámetros desencadene una transición de un flujo a otro flujo. Por otra parte, dejando de considerar algunos elementos de información de configuración al comparar la información en la estructura de configuración asociada a una o más tramas que han de decodificarse con la información de configuración actual, es posible cambiar parámetros de configuración “subordinados” para el decodificador de audio sin desencadenar una “transición”, es decir, una conmutación de un flujo a otro flujo, lo que puede conectarse con una reinicialización. En otras palabras, solo evaluando elementos de información de configuración dispuestos en la estructura de extensión de configuración antes de la información del identificador de flujo, y de la propia información del identificador de flujo, en la comparación, puede evitarse que cualquier cambio de un parámetro de decodificación “subordinado” desencadene una “transición”. Por el contrario, es posible que un codificador de audio coloque tales elementos de información de configuración “subordinados” (que están relacionadas con parámetros de decodificación subordinados) detrás de la información del identificador de flujo en la estructura de extensión de configuración. Entonces, el codificador de audio puede cambiar tales elementos de información de configuración “subordinados” dentro de un flujo, sin desencadenar una “transición” (o una reinicialización) con cada uno de los cambios. Por otro lado, esos elementos de información de configuración que permanecen sin cambios durante un flujo pueden ubicarse antes de la información del identificador de flujo en la estructura de extensión de configuración, y un cambio de un elemento de información de configuración “sumamente relevante” de este tipo (que puede indicar, por ejemplo, un cambio “significativo” del flujo de audio) daría como resultado una “transición” (y normalmente una reinicialización del decodificador de audio). Dado que el decodificador de audio puede aceptar asimismo una disposición variable de elementos de información de configuración en la estructura de extensión de configuración, un codificador de audio puede decidir, en función de las características de señal o dependiendo de otros criterios, un cambio de qué elementos de información de configuración debería desencadenar una “transición” o una reinicialización de un decodificador de audio y un cambio de qué elementos de información de configuración serían posibles dentro de un flujo sin desencadenar una “transición” o una reinicialización del decodificador de audio.
En una realización preferida, el decodificador de audio está configurado para identificar uno o más elementos de información de configuración en la estructura de extensión de configuración basándose en uno o más identificadores del tipo de extensión de configuración que preceden a los respectivos elementos de información de configuración. Usando tales identificadores de tipo de extensión de configuración es posible implementar la disposición variable de elementos de información de configuración.
En una realización preferida, la estructura de extensión de configuración es una subestructura de datos de la estructura de configuración, en la que una presencia de la estructura de extensión de configuración está indicada por un bit de la estructura de configuración que es evaluado por el decodificador de audio. La información del identificador de flujo es un subelemento de datos de la estructura de extensión de configuración, en el que una presencia de la información del identificador de flujo está indicada por un identificador de tipo de extensión de configuración asociado a la información del identificador de flujo que es evaluada por el decodificador de audio. En consecuencia, es posible decidir con flexibilidad cuándo debe agregarse una información del identificador de flujo a un flujo de audio, y el decodificador de audio puede determinar fácilmente cuándo está disponible una información del identificador de flujo de este tipo. Por consiguiente, es suficiente incluir la información del identificador de flujo (que requiere un número de bits) de un flujo de audio en puntos en los cuales puede haber una conmutación entre flujos diferentes. No es necesario que las tramas de emisión inmediata (IPF) dentro de un flujo de audio contiguo, en una posición en la que no hay posibilidad de conmutar entre flujos diferentes, lleve la información del identificador de flujo, lo que ahorra tasa de bits.
En una realización preferida, el decodificador de audio está configurado para obtener y procesar una representación de trama de audio (por ejemplo, una trama de emisión inmediata, IPF) que comprende una información de acceso aleatorio (por ejemplo, una “carga útil de extensión de silenciado previo de audio”, también designada “AudioPreRoll()”). La información de acceso aleatorio comprende una estructura de configuración (por ejemplo, designada “Config()”) e información (por ejemplo, designada “AccessUnit()”) para llevar un estado de una cadena de procesamiento del decodificador de audio a un estado deseado. El decodificador de audio está configurado para el fundido encadenado entre una información de audio representada por una trama de audio procesada (decodificada) antes de llegar a la representación de trama de audio que comprende la información de acceso aleatorio (por ejemplo, la trama de emisión inmediata, IPF) y una información de audio derivada basándose en la representación de trama de audio que comprende la información de acceso aleatorio después de una inicialización del decodificador de audio usando la estructura de configuración de la información de acceso aleatorio y después de ajustar un estado del decodificador de audio usando la información para llevar un estado de una cadena de procesamiento a un estado deseado si el decodificador de audio encuentra que la información de configuración en la estructura de configuración y (por ejemplo, “Config()”) de la información de acceso aleatorio, o una parte relevante de la información de configuración en la estructura de configuración de la información de acceso aleatorio, es diferente de la información de configuración actual. Por ejemplo, si un valor "numPreRollFrames" es cero, puede omitirse una decodificación de las tramas sometidas a silenciado previo.
En otras palabras, evaluando la información de configuración en la estructura de configuración, o una parte relevante de la misma (por ejemplo, hasta e incluyendo una información del identificador de flujo), el decodificador de audio puede reconocer si hay una transición entre flujos diferentes o no, y en el caso de una transición entre flujos diferentes, el decodificador de audio puede hacer uso de la información de acceso aleatorio. La información de acceso aleatorio puede contribuir a llevar la cadena de procesamiento del decodificador de audio al estado correcto (lo que normalmente, en ausencia de una transición, sería realizado por una o más tramas anteriores), para evitar así errores en la transición. Para concluir, este concepto permite una conmutación sin errores entre flujos diferentes, en la que el decodificador de audio no necesita información alguna de un nivel de protocolo diferente, excepto una secuencia de representaciones de tramas.
En una realización preferida, el decodificador de audio está configurado para continuar decodificando sin realizar una inicialización del decodificador de audio y sin usar la información para llevar un estado de la cadena de procesamiento del decodificador de audio a un estado deseado (por ejemplo, una carga útil de extensión de silenciado previo) si el decodificador de audio ha decodificado una trama de audio que precede directamente a una trama de audio representada por la representación de trama de audio que comprende la información de acceso aleatorio (por ejemplo, una trama de emisión inmediata) y si el decodificador de audio encuentra que la parte relevante de la información de configuración en la estructura de configuración de la información de acceso aleatorio es igual a la información de configuración actual. En consecuencia, si el decodificador de audio reconoce, mediante la comparación de la parte relevante de la información de configuración en la estructura de configuración con la información de configuración actual, que no hay ninguna transición entre flujos diferentes sino, más bien, una emisión contigua del mismo flujo, se evita la sobrecarga (por ejemplo, una sobrecarga de procesamiento o una sobrecarga informática) que se produciría por la realización de una inicialización del decodificador de audio. De esa manera, se obtiene un alto nivel de eficiencia y solo se realiza la inicialización del decodificador de audio cuando es necesario.
En una realización preferida, el decodificador de audio está configurado para realizar una inicialización del decodificador de audio usando la estructura de configuración de la información de acceso aleatorio y para ajustar un estado del decodificador de audio empleando la información para llevar un estado de la cadena de procesamiento a un estado deseado si el decodificador de audio no ha decodificado una trama de audio que precede directamente a una trama de audio representada por la representación de trama de audio que comprende la información de acceso aleatorio. En otras palabras, en caso de haber un verdadero “acceso aleatorio” (en el que el decodificador de audio sabe que la trama de audio anterior no ha sido decodificada) también se lleva a cabo la inicialización. Por consiguiente, la información de acceso aleatorio es utilizada en el caso de un “acceso aleatorio” real (es decir, al saltar a una determinada trama) y cuando la conmutación entre flujos diferentes (en la que puede comunicarse por señales un acceso aleatorio “real” al decodificador de audio, y en la que una conmutación entre flujos diferentes solo puede ser reconocida por el decodificador de audio mediante una evaluación de la información del identificador de flujo).
Debe observarse que el decodificador de audio tal como se comenta en el presente documento puede complementarse, opcionalmente, con cualquiera de las características, funcionalidades y detalles descritos en el presente documento, ya sea individualmente o en combinación.
Una realización según la invención crea un codificador de audio para proporcionar una representación de señal de audio codificada. El codificador de audio está configurado para codificar tramas superpuestas o no superpuestas de una señal de audio utilizando parámetros de codificación, para obtener la representación de señal de audio codificada.
El codificador de audio está configurado para proporcionar una estructura de configuración que describe los parámetros de codificación (o, de manera equivalente, parámetros de decodificación que ha de utilizar un decodificador de audio). La estructura de configuración comprende asimismo un identificador de flujo.
En consecuencia, el codificador de audio proporciona una representación de señal de audio que es muy utilizable por el decodificador de audio mencionado anteriormente. Por ejemplo, el codificador de audio puede incluir diferentes identificadores de flujo en estructuras de configuración de flujos diferentes. En consecuencia, el identificador de flujo puede consistir en una información que no describe una configuración de decodificador (o parámetro de decodificación) que ha de utilizar un decodificador de audio sino que identifica un flujo. En consecuencia, la representación de señal de audio codificada comprende un identificador de flujo, y es posible la identificación de flujos diferentes basándose en la propia información de la señal de audio codificada sin necesitar información alguna de un nivel de protocolo diferente. Por ejemplo, el uso de información que se proporciona en un nivel de paquete no es necesario, puesto que la información del identificador de flujo es una parte integral de la representación de señal de audio, o de la estructura de configuración incluida dentro de la representación de señal de audio. Por consiguiente, los decodificadores de audio, tal como se comentan en el presente documento, pueden reconocer una conmutación entre flujos diferentes, aunque los parámetros de configuración reales del decodificador permanezcan sin cambios.
En una realización preferida, el codificador de audio está configurado para incluir el identificador de flujo en una estructura de extensión de configuración de la estructura de configuración, en la que la estructura de extensión de configuración que comprende el identificador de flujo puede habilitarse e inhabilitarse por el codificador de audio. En consecuencia, es posible decidir con flexibilidad, del lado del codificador de audio, si debe incluirse o no la información del identificador de flujo. Por ejemplo, puede omitirse de manera selectiva la inclusión de la información del identificador de flujo para tramas para las que el codificador de audio sabe que no habrá conmutación entre flujos.
En una realización preferida, el codificador de audio está configurado para incluir en la estructura de extensión de configuración un identificador de tipo de extensión de configuración que designa el identificador de flujo, para comunicar por señales la presencia del identificador de flujo en la estructura de extensión de configuración. En consecuencia, es posible incluso omitir la información del identificador de flujo si hay otra información de extensión de configuración presente en la estructura de extensión de configuración. En otras palabras, no es indispensable que todas las estructuras de extensión de configuración comprendan el identificador de flujo, lo que contribuye al ahorro de bits.
En una realización preferida, el codificador de audio está configurado para proporcionar al menos una estructura de configuración que comprende el identificador de flujo y al menos una estructura de configuración que no comprende el identificador de flujo. En consecuencia, el identificador de flujo solo se incluye en la estructura de configuración si el codificador de audio reconoce que es necesario. Por ejemplo, el codificador de audio solo debe incluir el identificador de flujo en estructuras de configuración de tramas en las cuales es posible una conmutación entre flujos. Al hacerlo, puede mantenerse relativamente baja la tasa de bits.
En una realización preferida, el codificador de audio está configurado para conmutar entre una provisión de una primera información de audio codificado, que está representada por una primera secuencia de tramas de audio, y una segunda información de audio codificado, que está representada por una segunda secuencia de tramas, en la que una renderización apropiada de la primera trama de audio de la segunda secuencia de tramas de audio después de la renderización de una última trama de la primera secuencia de tramas de audio requiere una reinicialización de un decodificador de audio. En este caso, el codificador de audio está configurado para incluir, en una representación de trama de audio que representa la primera trama de la segunda secuencia de tramas de audio, una estructura de configuración que comprende un identificador de flujo asociado a la segunda secuencia de tramas de audio. Se decide que el identificador de flujo asociado a la segunda secuencia de tramas de audio es diferente de un identificador de flujo asociado a la primera secuencia de tramas. En consecuencia, un codificador de audio puede proporcionar, dentro de la estructura de configuración, una señalización que permite que un decodificador de audio distinga entre flujos diferentes y reconozca cuándo debe realizarse una reinicialización (también llamada “transición”).
En una realización preferida, el codificador de audio no proporciona ninguna otra información de señalización que indique una conmutación de la primera secuencia de tramas de audio a la segunda secuencia de tramas de audio, excepto el identificador de flujo. En consecuencia, puede mantenerse relativamente baja la tasa de bits. En particular, puede evitarse incluir la señalización en diferentes niveles de protocolo, aparte de la información de audio codificada. Además, el codificador de audio no sabe de antemano cuándo tiene lugar en realidad una conmutación de la primera secuencia de tramas de audio a la segunda secuencia de tramas de audio. Por ejemplo, un decodificador de audio puede solicitar, en primer lugar, tramas de audio de la primera secuencia de tramas de audio y, cuando el decodificador de audio reconoce cierta necesidad (por ejemplo, cuando hay un aumento o reducción de una tasa de bits disponible) el decodificador de audio (o cualquier otro dispositivo de control que controla la provisión de tramas de audio) puede decidir que las tramas de audio de un segundo flujo deben ser procesadas ahora por el decodificador de audio. Por ejemplo, en algunos casos, el decodificador de audio puede no saber por sí mismo cuándo (o cuándo exactamente) hay una conmutación entre una provisión de tramas de audio de la primera secuencia y una provisión de tramas de audio de la segunda secuencia, y solo podrá reconocer de qué secuencia de tramas de audio se originan las tramas de audio recibidas en el momento, evaluando el identificador de flujo incluido en la estructura de configuración.
En una realización preferida, el codificador de audio está configurado para proporcionar una primera secuencia de tramas de audio (por ejemplo, un primer flujo) y una segunda secuencia de tramas de audio (por ejemplo, un segundo flujo) usando tasas de bits diferentes (en la que el primer flujo y el segundo flujo pueden representar el mismo contenido de audio). Además, el codificador de audio puede estar configurado para comunicar por señales al decodificador de audio información de configuración del decodificador idéntica para la decodificación de la primera secuencia de tramas de audio y para la decodificación de la segunda secuencia de tramas de audio, excepto identificadores de flujo de bits diferentes. En otras palabras, el codificador de audio puede comunicar por señales al decodificador de audio que use parámetros del decodificador idénticos, aunque el primer flujo y el segundo flujo pueden comprender de todas maneras tasas de bits diferentes. La causa de esto puede ser, por ejemplo, el uso de diferentes resoluciones de cuantificación o diferentes modelos psicoacústicos al proporcionar el primer flujo de audio y el segundo flujo de audio. Por ejemplo, estas diferentes resoluciones de cuantificación o diferentes modelos psicoacústicos no afectan a los parámetros de decodificación que un decodificador de audio ha de utilizar, sino que solo afectan a la tasa de bits real. Por consiguiente, los diferentes identificadores de flujo de bits pueden ser la única posibilidad de que un decodificador de audio distinga si una trama de audio que ha de decodificarse procede del primer flujo o del segundo flujo, y la evaluación del identificador de flujo de bits también permite que el decodificador de audio reconozca cuándo debe efectuarse una transición (o reinicialización).
En consecuencia, el codificador de audio puede servir en entornos en los cuales pueden producirse cambios de la tasa de bits disponible, y puede mantenerse relativamente baja una sobrecarga de señalización.
Además, debe observarse que el codificador de audio comentado en el presente documento puede complementarse, opcionalmente, con cualquiera de las características y funcionalidades y detalles descritos en el presente documento.
Otra realización según la invención está relacionada con un método para proporcionar una representación de señal de audio decodificada basándose en una representación de señal de audio codificada. El método comprende ajustar parámetros de decodificación en función de una información de configuración, y el método comprende decodificar una o más tramas de audio usando una información de configuración actual (por ejemplo, una información de configuración actualmente activa). El método comprende asimismo comparar una información de configuración en una estructura de configuración asociada a una o más tramas que han de decodificarse con la información de configuración actual, y el método comprende efectuar una transición (por ejemplo, que comprende una reinicialización de la decodificación) para efectuar una decodificación empleando la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse como nueva configuración si la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, o una parte relevante (por ejemplo, hasta e incluyendo el identificador de flujo) de la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse es diferente de la información de configuración actual. El método comprende asimismo tener en cuenta una información del identificador de flujo incluida en la estructura de configuración al comparar la información de configuración, de manera que una diferencia entre un identificador de flujo adquirido anteriormente en la decodificación de audio y un identificador de flujo representado por la información del identificador de flujo en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse provoque la realización de la transición. Este método se basa en las mismas consideraciones que el decodificador de audio mencionado anteriormente.
El método puede complementarse por cualquiera de las características y funcionalidades y detalles descritos en el presente documento, ya sea individualmente o en combinación.
Otra realización según la invención crea un método para proporcionar una representación de señal de audio codificada. El método comprende codificar tramas superpuestas o no superpuestas de una señal de audio usando parámetros de codificación, para obtener la representación de señal de audio codificada. El método comprende proporcionar una estructura de configuración que describe los parámetros de codificación (o, de manera equivalente, parámetros de decodificación que ha de utilizar un decodificador de audio), en el que la estructura de configuración comprende un identificador de flujo. Este método se basa en las mismas consideraciones que el codificador de audio mencionado anteriormente.
Además, debe observarse que los métodos descritos en el presente documento pueden complementarse por cualquiera de las características y funcionalidades descritas anteriormente con respecto al decodificador de audio y el codificador de audio correspondientes. Además, los métodos pueden complementarse por cualquiera de las características, funcionalidades y detalles descritos en el presente documento, individualmente o en combinación.
Las realizaciones según la invención crean un flujo de audio. El flujo de audio comprende una representación codificada de tramas superpuestas o no superpuestas de una señal de audio. El flujo de audio comprende asimismo una estructura de configuración que describe parámetros de codificación (o, de manera equivalente, parámetros de decodificación que ha de utilizar un decodificador de audio). La estructura de configuración comprende una información del identificador de flujo que representa un identificador de flujo (por ejemplo, en forma de valor entero).
El flujo de audio se basa en las consideraciones mencionadas anteriormente. En particular, el identificador de flujo, que está incluido en la estructura de configuración del flujo de audio, que también describe parámetros de codificación (o, de manera equivalente, parámetros de decodificación que ha de utilizar un decodificador de audio) permite que un decodificador de audio distinga entre flujos diferentes, aunque se utilicen los mismos parámetros de codificación (o parámetros de decodificación).
En una realización preferida, la información del identificador de flujo está incluida en una estructura de extensión de configuración. En este caso, la estructura de extensión de configuración es, preferiblemente, una subestructura de datos de una estructura de configuración, en la que una presencia de una estructura de extensión de configuración está indicada por un bit de la estructura de configuración. Además, la información del identificador de flujo es un subelemento de datos de la estructura de extensión de configuración, en la que una presencia de la información del identificador de flujo está indicada por un identificador de tipo de extensión de configuración asociado a la información del identificador de flujo. El uso de un flujo de audio de ese tipo permite una inclusión flexible de la información del identificador de flujo siempre que sea necesario, mientras que puede omitirse la inclusión de la información del identificador de flujo en caso de que no sea necesario (por ejemplo, para tramas para las cuales no se permite la conmutación entre múltiples flujos). De esa manera, puede ahorrarse tasa de bits.
En una realización preferida, el identificador de flujo está integrado a una subestructura de datos de una representación de una trama de audio (y puede ser extraído por el decodificador de audio de dicha subestructura de datos). Mediante la integración del identificador de flujo a una subestructura de datos de una representación de una trama de audio, puede evitarse la necesidad de que un decodificador de audio use una información de un nivel de protocolo superior. Por el contrario, para decodificar una trama de audio, el decodificador de audio solo necesita la representación de una trama de audio y puede decidir si hubo una conmutación entre flujos diferentes.
En una realización preferida, el identificador de flujo solo está integrado a una subestructura de datos de una representación de una trama de audio que comprende una estructura de configuración (y puede ser extraído por el decodificador de audio de una subestructura de datos de una representación de una trama de audio que comprende una estructura de configuración). Esta idea se basa en el hallazgo de que una conmutación entre flujos (sin errores perceptibles) solo puede realizarse en tramas que comprenden una estructura de configuración. En consecuencia, se ha encontrado que basta con integrar el identificador de flujo a una subestructura de datos de una representación de una trama de audio que comprende una estructura de configuración, mientras que no haya identificadores de flujo incluidos en una representación de una trama de audio que no comprende una estructura de configuración.
Los flujos de audio descritos en el presente documento pueden complementarse por cualquier característica, funcionalidad y detalle comentados en el presente documento, individualmente o en combinación. En particular, también pueden aplicarse las características descritas con respecto a los codificadores de audio, decodificadores de audio y proveedores de flujos al flujo de audio.
Las realizaciones según la invención crean un proveedor de flujos de audio para proporcionar una representación de señal de audio codificada. El proveedor de flujos de audio está configurado para proporcionar versiones codificadas de tramas temporalmente superpuestas o no superpuestas de una señal de audio, codificadas utilizando parámetros de codificación, como parte de la representación de señal de audio codificada. El proveedor de flujos de audio está configurado para proporcionar una estructura de configuración que describe los parámetros de codificación (o, de manera equivalente, los parámetros de decodificación que ha de utilizar un decodificador de audio) como parte de la representación de señal de audio codificada, en la que la estructura de configuración comprende un identificador de flujo. Este proveedor de flujos de audio se basa en las mismas consideraciones que el codificador de audio descrito anteriormente, así como el decodificador de audio descrito anteriormente.
En una realización preferida, el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que el identificador de flujo esté incluido en una estructura de extensión de configuración de la estructura de configuración, en la que la estructura de extensión de configuración que comprende el identificador de flujo puede habilitarse e inhabilitarse por uno o más bits en la estructura de configuración. Esta realización se basa en las mismas ideas que las comentadas anteriormente con respecto al codificador de audio y también con respecto al decodificador de audio. En otras palabras, el proveedor de flujos de audio proporciona un flujo de audio que corresponde al flujo de audio proporcionado por un codificador de audio (aunque el proveedor de flujos de audio puede estar configurado para conmutar entre la provisión de flujos diferentes, por ejemplo, proporcionados por múltiples codificadores de audio que funcionan en paralelo, o proporcionado desde un medio de almacenamiento).
En la realización preferida, el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la estructura de extensión de configuración comprenda un identificador de tipo de extensión de configuración que designa el identificador de flujo para comunicar por señales la presencia del identificador de flujo en la estructura de extensión de configuración. Esta realización se basa en las mismas consideraciones mencionadas anteriormente con respecto al codificador de audio y con respecto al flujo de audio.
En una realización preferida, el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la representación de señal de audio codificada comprenda al menos una estructura de configuración que comprende el identificador de flujo y al menos una estructura de configuración que no comprende el identificador de flujo. Tal como se mencionó anteriormente, no es necesario que el identificador de flujo esté incluido en cada estructura de configuración. Por el contrario, puede haber un ajuste flexible de en qué estructuras de configuración debe incluirse el identificador de flujo. Por lo general, el identificador de flujo se incluirá en estructuras de configuración de tales tramas de audio para las cuales hay una conmutación entre flujos (o para las cuales se prevé o permite una conmutación entre flujos). Dicho de otro modo, el proveedor de flujos solo realiza una conmutación entre flujos diferentes que comprenden estructuras de configuración idénticas, excepto identificadores de flujo distintos, en tramas en las que está presente un identificador de flujo. Por consiguiente, el decodificador de audio (que recibe la representación de audio codificada del proveedor de flujos de audio) tiene la posibilidad de reconocer una conmutación entre flujos diferentes, aunque los parámetros de decodificación (que comunica por señales la estructura de configuración) son sustancialmente idénticos o incluso totalmente idénticos.
En una realización preferida, el proveedor de flujos de audio está configurado para conmutar entre una provisión de una primera parte de una información de audio codificada, que está representada por una primera secuencia de tramas de audio, y una segunda parte de la información de audio codificada, que está representada por una segunda secuencia de tramas de audio, en la que la renderización apropiada de una primera trama de audio de la segunda secuencia de tramas de audio después de la renderización de una última trama de la primera secuencia de tramas de audio requiere una reinicialización de un decodificador de audio. El proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que una representación de trama de audio que representa la primera trama de la segunda secuencia de tramas de audio incluya una estructura de configuración que comprende un identificador de flujo asociado a la segunda secuencia de tramas de audio, en la que el identificador de flujo asociado a la segunda secuencia de tramas de audio es diferente de un identificador de flujo asociado a la primera secuencia de tramas de audio. En otras palabras, el proveedor de flujos de audio conmuta entre dos flujos de audio (secuencias de tramas de audio) a los cuales están asociados identificadores de flujo diferentes. En consecuencia, un decodificador de audio normalmente conocerá al identificador de flujo asociado a la primera secuencia de tramas de audio (por ejemplo, evaluando una estructura de configuración asociada a la primera secuencia de tramas de audio), y cuando el decodificador de audio recibe la primera trama de la segunda secuencia de tramas de audio, el decodificador de audio podrá evaluar la estructura de configuración que comprende el identificador de flujo asociado a la segunda secuencia de tramas de audio, y podrá reconocer una conmutación del primer flujo al segundo flujo mediante la comparación de los identificadores de flujo (que son diferentes para los diferentes flujos). De esa manera, el proveedor de flujos de audio proporciona tramas de audio de un primer flujo y luego conmuta a una provisión de tramas de audio de un segundo flujo, y proporciona la información de señalización apropiada, es decir, el identificador de flujo, dentro de la estructura de configuración de la primera trama del segundo flujo de audio que se proporciona después de la conmutación. En consecuencia, no es necesaria una señalización adicional para comunicar por señales la conmutación entre diferentes flujos de audio.
En una realización preferida, el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la representación de señal de audio codificada no proporcione ninguna otra información de señalización que indique la conmutación de la primera secuencia de tramas de audio a la segunda secuencia de tramas de audio excepto el identificador de flujo. En consecuencia, puede obtenerse un ahorro significativo de la tasa de bits. Además, la complejidad del protocolo se mantiene baja, puesto que no es necesario incluir información alguna en diferentes niveles de protocolo y extraer tal información de niveles de protocolo diferentes del lado de un decodificador de audio.
En una realización preferida, el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la primera secuencia de tramas de audio (por ejemplo, un primer flujo) y la segunda secuencia de tramas de audio (por ejemplo, un segundo flujo) se codifiquen utilizando tasas de bits diferentes. Además, el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la representación de señal de audio codificada comunique por señales a un decodificador de audio información de configuración del decodificador idéntica (o parámetros del decodificador, o parámetros de decodificación) para la decodificación de la primera secuencia de tramas de audio y para la decodificación de la segunda secuencia de tramas de audio, excepto identificadores de flujo de bits diferentes. Por consiguiente, el proveedor de flujos de audio proporciona información de configuración muy similar para flujos diferentes (primer flujo y segundo flujo) que pueden diferir, por ejemplo, solo en los identificadores de flujo de bits. En este supuesto, el uso de los identificadores de flujo de bits es particularmente útil, puesto que estos permiten distinguir con seguridad entre diferentes flujos de bits con mínima sobrecarga de señalización.
En una realización preferida, el proveedor de flujos de audio está configurado para conmutar entre una provisión de una primera secuencia de tramas de audio (por ejemplo, un primer flujo) y una segunda secuencia de tramas de audio (por ejemplo, un segundo flujo) a un decodificador de audio, en el que la primera secuencia de tramas de audio y la segunda secuencia de tramas de audio se codifican usando tasas de bits diferentes. El proveedor de flujos de audio está configurado para conmutar de manera selectiva entre la provisión de la primera secuencia de tramas de audio y la provisión de la segunda secuencia de tramas de audio en una trama de audio para la que la representación de trama de audio (por ejemplo, una trama de emisión inmediata, IPF) comprende una información de acceso aleatorio (por ejemplo, una carga útil de extensión de silenciado previo de audio, “AudioPreRoll()”) evitando a la vez conmutar entre secuencias en tramas de audio que no comprenden una información de acceso aleatorio. El proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que se incluya un identificador de flujo en una estructura de configuración de una trama de audio que se proporciona al conmutar de la primera secuencia de tramas de audio a la segunda secuencia de tramas de audio. Por ejemplo, mediante esa configuración del proveedor de flujos de audio se garantiza que haya solo una conmutación entre una provisión de tramas de una primera secuencia de tramas de audio y una provisión de tramas de una segunda secuencia de tramas de audio cuando la primera trama de la segunda secuencia de tramas de audio comprende una estructura de configuración que tiene un identificador de flujo y también la información de acceso aleatorio. En consecuencia, un decodificador de audio puede detectar la conmutación entre los diferentes flujos de audio, y de esa manera puede reconocer que debe evaluarse la información de acceso aleatorio (aunque normalmente no se evalúa la información de acceso aleatorio cuando no hay conmutación entre flujos de audio diferentes y cuando el decodificador de audio supone que se renderiza una secuencia contigua de tramas de audio de un único flujo).
Por consiguiente, puede obtenerse una buena calidad de audio sin errores al conmutar entre flujos de audio diferentes mediante un concepto de este tipo.
En una realización adicional, el proveedor de flujos de audio está configurado para obtener una pluralidad de secuencias paralelas de tramas de audio codificadas empleando tasas de bits diferentes, y el proveedor de flujos de audio está configurado para conmutar entre una provisión de tramas de secuencias paralelas diferentes a un decodificador de audio, en el que el proveedor de flujos de audio está configurado para comunicar por señales a un decodificador de audio a cuál de las secuencias está asociada una o más tramas utilizando el identificador de flujo que está incluido en la estructura de configuración de la representación de una primera trama de audio proporcionada después de una conmutación. En consecuencia, el decodificador de audio puede reconocer una transición entre flujos diferentes con una pequeña sobrecarga y sin utilizar otra información de otras capas de protocolo.
Debe observarse que el proveedor de flujos de audio comentado en el presente documento puede complementarse por cualquiera de las características, funcionalidades y detalles descritos en el presente documento, individualmente o en combinación.
Otra realización según la invención crea un método para proporcionar una representación de señal de audio codificada. El método comprende proporcionar versiones codificadas de tramas superpuestas o no superpuestas de una señal de audio, que se codifican usando parámetros de codificación, como parte de la representación de señal de audio codificada. El método comprende proporcionar una estructura de configuración que describe los parámetros de codificación (o, de manera equivalente, los parámetros de decodificación que ha de utilizar un decodificador de audio) como parte de la representación de señal de audio codificada, en la que la estructura de configuración comprende un identificador de flujo.
Este método se basa en las mismas consideraciones que el proveedor de flujos comentado anteriormente. El método puede complementarse por cualquier otra de las características, funcionalidades y detalles descritos en el presente documento, por ejemplo, con respecto al proveedor de flujos, aunque también con respecto al codificador de audio, el decodificador de audio o el flujo de audio.
Otra realización según la invención crea un programa informático para realizar los métodos descritos en el presente documento.
Breve descripción de las figuras
A continuación se describen las realizaciones según la presente invención con referencia a las figuras adjuntas, en las que:
la figura 1 muestra un diagrama esquemático de bloques de un decodificador de audio, según una realización (sencilla) de la presente invención;
la figura 2 muestra un diagrama esquemático de bloques de un decodificador de audio, según una realización de la presente invención;
la figura 3 muestra un diagrama esquemático de bloques de un codificador de audio según una realización (sencilla) de la presente invención;
la figura 4 muestra un diagrama esquemático de bloques de un proveedor de flujos de audio según una realización (sencilla) de la presente invención;
la figura 5 muestra un diagrama esquemático de bloques de un proveedor de flujos de audio según una realización de la presente invención;
la figura 6 muestra una representación de una trama de audio que permite un acceso aleatorio y que comprende una parte de configuración con un identificador de flujo en una parte de extensión de configuración, según una realización de la presente invención;
la figura 7 muestra una representación de un flujo de audio a modo de ejemplo, según una realización de la presente invención;
la figura 8 muestra una representación de un flujo de audio a modo de ejemplo, según una realización de la presente invención;
la figura 9 muestra una representación esquemática de una posible funcionalidad del decodificador de un decodificador de audio tal como se describe en el presente documento;
la figura 10a muestra una representación de una estructura de configuración a modo de ejemplo para ser utilizada por los codificadores de audio y decodificadores de audio descritos en el presente documento; y
la figura 10b muestra una representación de una estructura de extensión de configuración a modo de ejemplo para ser utilizada por los codificadores de audio y decodificadores de audio descritos en el presente documento.
La figura 10c muestra una representación de un elemento del flujo de bits del identificador de flujo a modo de ejemplo; y
la figura 10d muestra un ejemplo de un valor de “usacConfigExtType”, que puede reemplazar opcionalmente la tabla 74 de la norma USAC;
la figura 11a muestra un diagrama de flujo de un método para proporcionar una representación de señal de audio decodificada basándose en una representación de señal de audio codificada, según una realización de la presente invención;
la figura 11b muestra un diagrama de flujo de un método para proporcionar una representación de señal de audio codificada, según una realización de la presente invención; y
la figura 11c muestra un diagrama de flujo de un método para proporcionar una representación de señal de audio codificada, según una realización de la presente invención.
Descripción detallada de las realizaciones
1. Decodificador de audio según la figura 1
La figura 1 muestra un diagrama esquemático de bloques de un decodificador de audio, según una realización (sencilla) de la presente invención.
El decodificador de audio 100 recibe una representación de señal de audio codificada 110 y proporciona, basándose en esta, una representación de señal de audio decodificada 112. Por ejemplo, la representación de señal de audio codificada 110 puede ser un flujo de audio que comprende una secuencia de tramas de codificación unificada de voz y audio (USAC). Por ejemplo, la representación de señal de audio codificada puede asumir una forma diferente y puede ser, por ejemplo, una representación de audio definida por una sintaxis del flujo de bits de cualquiera de las normas de codificación de audio conocidas. La representación de señal de audio codificada puede comprender, por ejemplo, una información de configuración 110 que puede estar incluida, por ejemplo, en una estructura de configuración y que puede comprender, por ejemplo, un identificador de flujo. El identificador de flujo puede estar incluido, por ejemplo, en la información de configuración o en la estructura de configuración. La información de configuración o la estructura de configuración puede estar asociada, por ejemplo, a una o más tramas que han de decodificarse y, por ejemplo, puede describir los parámetros de decodificación que ha de utilizar el decodificador de audio.
En el presente documento, el decodificador 100 puede comprender, por ejemplo, un núcleo del decodificador 130, que puede estar configurado para decodificar una o más tramas de audio usando una información de configuración actual (en el que la información de configuración actual puede definir, por ejemplo, parámetros de decodificación). El decodificador de audio también está configurado para ajustar los parámetros de decodificación en función de la información de configuración 110a.
Por ejemplo, el decodificador de audio está configurado para comparar una información de configuración en una estructura de configuración asociada a una o más tramas que han de decodificarse con una información de configuración actual (por ejemplo, una información de configuración utilizada para la decodificación de una o más tramas decodificadas anteriormente). Además, el decodificador de audio puede estar configurado para efectuar una transición para realizar una decodificación empleando la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse como nueva información de configuración si la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, o una parte relevante de la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, es diferente de la información de configuración actual. Al efectuar la “transición” el decodificador de audio puede reinicializar, por ejemplo, el núcleo del decodificador 130 usando una información de acceso aleatorio, que está destinada a describir un estado del núcleo del decodificador que debe utilizarse para decodificar correctamente una trama de audio (o una primera trama de audio) después de la “transición”.
En particular, el decodificador de audio está configurado para tener en cuenta un identificador de flujo, que está incluido en la estructura de configuración (es decir, dentro de la información de configuración) al comparar la información de configuración (es decir, al comparar la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse con la información de configuración actual), de manera que una diferencia entre un identificador de flujo adquirido anteriormente por el decodificador de audio y el identificador de flujo representado por la información del identificador de flujo en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse provoque la realización de la transición.
En otras palabras, el decodificador de audio puede comprender, por ejemplo, una memoria para la configuración actual (o para la información de configuración actual) que puede designarse con el número 140. El decodificador de audio 100 puede comprender asimismo un comparador (o cualquier otro medio para realizar una comparación) 150, que puede comparar al menos una parte relevante de una información de configuración actual, incluyendo un identificador de flujo, con una parte correspondiente de una información de configuración asociada a una trama (de audio) posterior que ha de decodificarse, que incluye un identificador de flujo. La parte relevante puede ser, por ejemplo, una parte hasta e incluyendo el identificador de flujo, en la que puede omitirse la información de configuración que está después del identificador de flujo en un flujo de bits que representa la información de configuración en algunas realizaciones.
Si esta comparación, que puede realizarse por el comparador 150, indica una diferencia entre la información de configuración actual (o la parte relevante de la misma) y la información de configuración asociada a la siguiente trama (de audio) que ha de decodificarse (o la parte relevante de la misma), puede reconocerse que debe realizarse una “transición”.
Hacer la transición puede comprender, por ejemplo, la reinicialización del núcleo del decodificador, aunque los parámetros de decodificación descritos por la información de configuración asociada a la siguiente trama (de audio) que ha de decodificarse es idéntica a la configuración del decodificador (parámetros de decodificación) descrita por la información de configuración actual (en la que la información de configuración asociada a la siguiente trama de audio que ha de decodificarse solo difiere de la información de configuración actual en que el identificador de flujo es diferente). Por otra parte, si la información de configuración asociada a la siguiente trama de audio que ha de decodificarse difiere de la información de configuración actual aún más, por ejemplo, al definir parámetros de decodificación diferentes, el decodificador de audio 100 naturalmente también realizará una “transición” que normalmente implica reinicializar el núcleo del decodificador 130 y cambiar los parámetros de decodificación.
Para concluir, el decodificador de audio 100 según la figura 1 puede reconocer una transición entre tramas de flujos de audio diferentes aunque los parámetros de decodificación que ha de utilizar el núcleo del decodificador 130 permanecen sin cambios mediante la evaluación de un identificador de flujo incluido en una estructura de configuración de una trama de audio, lo que elimina la necesidad de una señalización específica de una transición entre flujos de audio y/o de una condición para reinicializar el núcleo del decodificador. De esa manera, un decodificador 100 puede decodificar correctamente tramas de audio aunque haya una transición de un flujo a otro flujo, puesto que el decodificador de audio puede reconocer dicha transición y manejarla de manera apropiada, por ejemplo, reinicializando el decodificador de audio y reconfigurando el decodificador de audio con nuevos parámetros de configuración (si fuera necesario).
Debe observarse que el decodificador de audio 100 según la figura 1 puede complementarse opcionalmente con cualquiera de las características y funcionalidades y detalles descritos en el presente documento, individualmente o en combinación.
2. Decodificador de audio según la figura 2
La figura 2 muestra un diagrama esquemático de bloques de un decodificador de audio 200 según una realización de la presente invención.
El decodificador de audio 200 está configurado para recibir una representación de señal de audio codificada 210 y para proporcionar, basándose en la misma, una representación de señal de audio decodificada 212. La representación de señal de audio codificada 210 puede ser, por ejemplo, un flujo de audio que comprende una secuencia de tramas de codificación unificada de voz y audio (USAC). Sin embargo, también puede introducirse una secuencia de tramas de audio codificadas utilizando un concepto de codificación de audio diferente en el decodificador de audio 200. Por ejemplo, el decodificador de audio puede recibir una trama de audio 220 de un primer flujo y posteriormente puede recibir (como próxima trama de audio) una trama de audio 222 de un segundo flujo. Las tramas de audio 220, 222 pueden proporcionarse, por ejemplo, por un proveedor de flujos de audio. La trama de audio 220 puede comprender, por ejemplo, una representación codificada 220a de una señal de audio, por ejemplo, en forma de valores espectrales codificados y factores de escala codificados y/o en forma de valores espectrales codificados y coeficientes de codificación de predicción lineal codificados (TXC) y/o en forma de una excitación codificada y coeficientes de codificación de predicción lineal codificados. La trama de audio 222 puede comprender, además, por ejemplo, una representación codificada 222a de una señal de audio, que puede presentarse en la misma forma que la representación codificada 220a de la señal de audio incluida en la trama 220. Sin embargo, además, la trama 222 puede comprender asimismo una información de acceso aleatorio 222b, que, a su vez, puede comprender una estructura de configuración 222c y una información 222d para llevar un estado de una cadena de procesamiento (por ejemplo, de un núcleo del decodificador) a un estado deseado. Esta información 222d puede designarse, por ejemplo, "AudioPreRoll".
El decodificador de audio 200 puede extraer, por ejemplo, de la representación de señal de audio codificada 210, la estructura de configuración 222c, que también puede considerarse una información de configuración. La estructura de configuración 222c puede comprender, por ejemplo, una información o una bandera (o un bit) que indica si una estructura de extensión de configuración 226 está presente o no como parte de la estructura de configuración. Esta información o bandera o bit se designa con el número 224a.
La estructura de extensión de configuración 226 puede comprender, por ejemplo, una información o una bandera o un bit o un identificador que indica si está presente un identificador de flujo. Esta última información, bandera, bit o identificador está indicada con el número 228. Si la información o bandera o bit o identificador 228 indica la presencia de un identificador de flujo, hay también un identificador de flujo 230, que, normalmente, puede ser parte de la estructura de extensión de configuración 226.
Además, la estructura de extensión de configuración puede comprender una información de si existe otra información, como un bit o bandera o identificador apropiado, y puede comprender asimismo la otra información (en caso de aplicarse).
El decodificador de audio 100 puede comprender, por ejemplo, una memoria 240, que puede guardar una información de configuración actual (por ejemplo, una información de configuración usada para la decodificación de una trama anterior y extraída de una estructura de configuración de la trama previa o de una trama anterior). El decodificador de audio 200 comprende asimismo un comparador o comparación 250, que está configurado para comparar la información de configuración asociada a la trama de audio que ha de decodificarse con la información de configuración actual que está almacenada en la memoria 240. Por ejemplo, el comparador o comparación 250 puede estar configurado para comparar la información de configuración de la estructura de configuración 222c de la trama de audio que ha de decodificarse con la información de configuración actual almacenada en la memoria hasta e incluyendo el identificador de flujo. En otras palabras, puede compararse cualquier elemento de información de la estructura de configuración 222c hasta e incluyendo el identificador de flujo con la información de configuración actual de la memoria 240 para determinar si la información de configuración (hasta e incluyendo el identificador de flujo) en la trama 222 es idéntica a la información de configuración actual extraída de una de las tramas de audio anteriores. En esta comparación, se verifica naturalmente si la estructura de configuración 222c comprende, en realidad, la estructura de extensión de configuración 226 y el identificador de flujo 230. Si la estructura de extensión de configuración 226 no está presente, naturalmente no se la puede tener en cuenta en la comparación. Además, si el identificador de flujo 230 no está presente (por ejemplo, porque una bandera 228 indica que no está incluido en la trama 222), entonces no se evaluará naturalmente en la comparación. Asimismo, cualquier información de configuración que se encuentre después del identificador de flujo 230 en la estructura de configuración 222c es omitida normalmente en la comparación, puesto que se supone que esa información de configuración es de importancia subordinada y que el cambio de esa información de configuración, que aparece después del identificador de flujo 230 en la estructura de configuración 222c, no comunica por señales una conmutación entre flujos diferentes sino que puede producirse dentro de un único flujo.
Para concluir, la comparación 250 compara normalmente información de configuración, hasta e incluyendo un identificador de flujo (aunque preferiblemente omitiendo la configuración que está dispuesta en la estructura de extensión de configuración después del identificador de flujo) de una trama de audio que ha de decodificarse con la información de configuración actual (obtenida de una trama de audio anteriormente decodificada. En consecuencia, la comparación 250 detecta un nuevo flujo (o un subflujo) si hay una diferencia en la información de configuración encontrada en la comparación. En consecuencia, se utiliza la comparación para controlar una transición del primer flujo (o subflujo) a un segundo flujo (o subflujo).
Por ejemplo, la realización de dicha transición puede comprender vaciar una decodificación de una última trama del primer flujo, una reconfiguración, una inicialización de un estado de una cadena de procesamiento a un estado deseado, y la ejecución de un fundido encadenado, por ejemplo, entre una representación en el dominio del tiempo de una última trama del primer flujo y una primera trama del segundo flujo.
El decodificador de audio 200 comprende asimismo un núcleo del decodificador 216 que puede estar configurado para decodificar tramas de un primer flujo (o de una primera secuencia de tramas) usando una primera configuración (que puede describirse por la información de configuración actual). Además, un núcleo del decodificador 216 puede estar configurado para decodificar un segundo flujo o una segunda secuencia de tramas usando una segunda configuración (por ejemplo, usando una nueva configuración, que se describe por la información de configuración 222c de la trama de audio que ha de decodificarse). Por ejemplo, puede desencadenarse una reinicialización del núcleo del decodificador cuando la comparación 250 encuentra una diferencia entre una parte significativa de la información de configuración 222c de la trama de audio 222 que ha de decodificarse y la información de configuración actual en la memoria 240.
Por ejemplo, puede utilizarse una reinicialización del decodificador entre la decodificación de la última trama del primer flujo y la primera trama del segundo flujo. Como alternativa, puede usarse una “nueva instancia” del decodificador, por ejemplo, si el decodificador está implementado (al menos parcialmente) en software. Además, al conmutar de la decodificación del primer flujo a la decodificación del segundo flujo (“transición”), puede llevarse un estado de la cadena de procesamiento del núcleo del decodificador a un estado deseado usando cierta información secundaria. Por ejemplo, puede llevarse un estado de contexto de una decodificación aritmética a un estado deseado o puede llevarse un contenido de un filtro de tiempo discreto a un estado deseado. Esto puede realizarse empleando información específica, que también se denomina “silenciado previo de audio” a Pr . Llevar el estado de la cadena de procesamiento a un estado deseado es importante, ya que la primera trama del segundo flujo procesado (decodificado) por el decodificador de audio puede no ser la primera trama real del segundo flujo de audio. Por el contrario, la primera trama del segundo flujo de audio procesado por el decodificador de audio puede ser alguna trama durante el segundo flujo de audio cuando un proveedor de flujos de audio conmuta de una provisión de tramas de un primer flujo de audio a una provisión de tramas del segundo flujo de audio. De esa manera, la “primera trama del segundo flujo de audio” procesada por el decodificador de audio puede depender de un ajuste específico de los estados de una cadena de decodificación, lo que normalmente estaría provocado por la decodificación de tramas anteriores del segundo flujo de audio (que precede a la trama de audio que ha de decodificarse, que es la primera trama de audio del segundo flujo de audio manejada por el decodificador de audio después de la transición). Por consiguiente, al conmutar de la decodificación de tramas de audio del primer flujo de audio a la decodificación de tramas de audio del segundo flujo de audio, el ajuste perdido de los estados del decodificador de audio, que normalmente se efectuaría por una decodificación de tramas anteriores del segundo flujo de audio, se hace ahora usando la información de “silenciado previo de audio”, que define un ajuste apropiado de los estados de la decodificación de audio.
Tal como puede apreciarse en el número de referencia 270, la decodificación de la última trama del primer flujo de audio proporciona una parte decodificada 272 (también denominada “parte útil”). Opcionalmente, la decodificación de la última trama del primer flujo de audio puede proporcionar una parte decodificada aún más larga, que es parcialmente descartada. Además, al decodificar la primera trama del segundo flujo de audio, se produce una provisión de una “parte de silenciado previo” 274, durante la cual se inicializan los estados del decodificador para decodificar de manera apropiada la primera trama del segundo flujo de audio. Además, el núcleo del decodificador 260 también proporciona una parte útil 276 de la primera trama del segundo flujo de audio manejada por el decodificador 200, en el que una parte útil 276 de la primera trama del segundo flujo de audio se superpone temporalmente con la parte útil 272 de la última trama del primer flujo. En consecuencia, opcionalmente puede realizarse un fundido encadenado entre el final de la parte útil 272 de la última trama del primer flujo y el comienzo de la parte útil de la primera trama del segundo flujo. Por consiguiente, puede derivarse la señal de salida decodificada 212, en la que se proporciona una transición sin errores entre la última trama del primer flujo (procesada por el decodificador de audio 200) y la primera trama del segundo flujo (procesada por el decodificador de audio 200).
Para resumir, el decodificador de audio 200 puede reconocer cuándo un codificador de audio o un proveedor de flujos de audio conmuta de una provisión de trama de audio de un primer flujo a una provisión de tramas de audio de un segundo flujo. Para este fin, el decodificador de audio evalúa la información de configuración 222c (también denominada estructura de configuración) y realiza una comparación con una información de configuración actual almacenada en una memoria 240. Al reconocer que una trama de audio que ha de decodificarse pertenece a un flujo de audio diferente en comparación con tramas de audio decodificadas anteriormente, se realiza una reinicialización del núcleo del decodificador, que normalmente incluye llevar el estado de la cadena de procesamiento del núcleo del decodificador a un estado deseado mediante la evaluación de cierta información de “silenciado previo de audio”. En consecuencia, el decodificador de audio puede manejar correctamente situaciones en las cuales un codificador de audio, o un proveedor de flujos de audio, proporciona una trama de audio de un nuevo flujo (segundo flujo de audio) sin más notificación (excepto la provisión de la estructura de configuración 222c que incluye el identificador de flujo 230).
Debe observarse que el decodificador de audio 200 descrito en el presente documento puede complementarse con cualquiera de las características y funcionalidades y detalles descritos en el presente documento, individualmente o en combinación.
3. Codificador de audio según la figura 3
La figura 3 muestra un diagrama esquemático de bloques de un codificador de audio, según una realización de la invención.
El codificador de audio 300 recibe una señal de audio de entrada 310 (por ejemplo, en forma de una representación en el dominio del tiempo) y proporciona, basándose en la misma, una representación de señal de audio codificada 312. El codificador de audio 300 comprende un núcleo del codificador 320, que está configurado para codificar tramas superpuestas o no superpuestas de la señal de audio de entrada 310 usando parámetros de codificación, para obtener la representación de señal de audio codificada. El codificador de audio 320 puede comprender, por ejemplo, una conversión del dominio del tiempo al dominio espectral y una codificación de la representación en el dominio espectral. El procesamiento puede realizarse, por ejemplo, en forma de tramas.
Además, el codificador de audio puede comprender, por ejemplo, una provisión de estructura de configuración 330, que está configurada para proporcionar una estructura de configuración 332 que describe los parámetros de codificación (o, de manera equivalente, parámetros de decodificación que ha de utilizar un decodificador de audio). La estructura de configuración 332 puede corresponder, por ejemplo, a la estructura de configuración 222c. En particular, la estructura de configuración 332 puede comprender parámetros de codificación (por ejemplo, de forma codificada) o, de manera equivalente, parámetros de decodificación (por ejemplo, de forma codificada) que describe un ajuste que ha de utilizar un decodificador (o núcleo del decodificador) al decodificar la representación de señal de audio codificada 312. A continuación se describe un ejemplo de una estructura de configuración 332. Además, la estructura de configuración 332 comprende un identificador de flujo, que puede corresponder al identificador de flujo 230. Por ejemplo, el identificador de flujo puede designar un flujo de audio (por ejemplo, una pieza contigua de contenido de audio que se codifica de manera contigua utilizando un ajuste específico del codificador). Por ejemplo, el identificador de flujo proporcionado por la provisión de estructura de configuración 330 puede elegirse de manera que todos los flujos de audio entre los cuales debe existir la posibilidad de conmutar sin errores, y sin notificar explícitamente al decodificador de audio sobre la conmutación, deben llevar diferentes identificadores. Sin embargo, en algunos casos, puede bastar con que los flujos que tienen parámetros de codificación idénticos asociados (o, de manera equivalente, parámetros de decodificación que ha de utilizar un decodificador de audio) comprendan identificadores de flujo diferentes. En otras palabras, solo pueden requerirse identificadores de flujo diferentes para los flujos para los cuales los otros parámetros de codificación o parámetros de decodificación son idénticos.
En consecuencia, un control del codificador 340 puede controlar, por ejemplo, tanto el núcleo del codificador 320 como la provisión de estructura de configuración 330. El control del codificador 340 puede decidir, por ejemplo, sobre los parámetros de codificación que ha de utilizar el núcleo del codificador 320 (que puede corresponder, por ejemplo, al menos parcialmente, a los parámetros de decodificación que ha de utilizar un decodificador de audio) y también puede informar a la provisión de estructura de configuración 330 sobre los parámetros de codificación/parámetros de decodificación que han de incluirse en la estructura de configuración 332. En consecuencia, la representación de audio codificada 312 comprende el contenido de audio codificado y también la estructura de configuración 332. En consecuencia, un decodificador de audio (por ejemplo, el decodificador de audio 100 o el decodificador de audio 200) puede reconocer inmediatamente cuándo se proporciona un flujo de audio diferente, codificado utilizando parámetros de codificación diferentes (aunque no todos los parámetros de codificación son reflejados por los parámetros de decodificación incluidos en la estructura de configuración).
Con respecto a este asunto, cabe destacar que normalmente no es necesario comunicar por señales todos los parámetros de codificación a un decodificador de audio. Por ejemplo, solo es necesario comunicar por señales a un decodificador de audio aquellos parámetros de codificación que afectan al algoritmo de decodificación. Los parámetros de codificación que son enviados al decodificador de audio para determinar un ajuste del decodificador de audio también se denominan parámetros de decodificación. Por otra parte, normalmente algunos parámetros de codificación importantes no se comunican por señales a un decodificador de audio, sino que, en su lugar, se reflejan implícitamente en la representación de señal de audio codificada. Por ejemplo, la tasa de bits deseada puede ser un parámetro de codificación importante y puede decidir lo gruesa que es la cuantificación de los valores espectrales por un codificador de audio y/o cuántos valores espectrales se cuantifica un audio a un valor pequeño o incluso a un valor de cero. Sin embargo, para el decodificador de audio, basta con ver el resultado de la codificación, pero no es necesario que sepa la estrategia específica del codificador para mantener relativamente baja la tasa de bits. Además, puede haber enfoques diferentes del lado del codificador para obtener una tasa de bits suficientemente baja, dependiendo del tipo de contenido de audio y también en función de la tasa de bits real deseada. Estos parámetros pueden considerarse “parámetros de codificación” aunque no se reflejan en un conjunto de “parámetros de decodificación” (y no se incluirán en la representación codificada de las tramas de audio), en la que los parámetros de decodificación (y esos parámetros de codificación que se incorporan a la representación de audio codificada) solo describen, normalmente, qué ajuste debe usar un decodificador, es decir, cómo debe manejar la información codificada proporcionada por el codificador.
En consecuencia, podría existir el caso, en realidad, de que los parámetros de decodificación, que pueden estar incluidos en la estructura de configuración 332, pueden ser idénticos, aunque el núcleo del codificador utilice parámetros de codificación diferentes (por ejemplo, en términos de una tasa de bits objetivo, o en términos de parámetros que afectan a la tasa de bits objetivo, como una resolución de cuantificación o un modelo psicoacústico implicado).
En otras palabras, es posible que el codificador de audio pueda codificar, por ejemplo, un contenido de audio dado utilizando parámetros de codificación diferentes, aunque los parámetros de decodificación que ha de utilizar el decodificador (para procesar y decodificar la representación codificada del contenido de audio) puedan ser idénticos.
En tales casos, el codificador de audio puede proporcionar identificadores de flujo diferentes dentro de la estructura de configuración 332, de manera que un decodificador de audio pueda distinguir, de todas maneras, tales representaciones codificadas diferentes de un contenido de audio.
Además, debe observarse que el codificador de audio 300, según la figura 3, puede complementarse, opcionalmente, por cualquiera de las características, funcionalidades y detalles descritos en el presente documento.
4. Proveedor de flujo de audio según la figura 4
La figura 4 muestra un diagrama esquemático de bloques de un proveedor de flujos de audio, según una realización de la presente invención.
El proveedor de flujos de audio 400 está configurado para proporcionar una representación de señal de audio codificada 412. El proveedor de flujos de audio está configurado para proporcionar versiones codificadas 422 de tramas (temporalmente) superpuestas o no superpuestas de una señal de audio, codificadas utilizando parámetros de codificación, como parte de la representación de señal de audio codificada 412.
Además, el proveedor de flujos de audio está configurado para proporcionar una estructura de configuración 424 que describe los parámetros de codificación (o, de manera equivalente, parámetros de decodificación que ha de utilizar un decodificador de audio) como parte de la representación de señal de audio codificada, en el que la estructura de configuración 424 comprende un identificador de flujo.
Por ejemplo, el proveedor de flujos de audio puede comprender una provisión (o proveedor) de las versiones codificadas de tramas superpuestas o no superpuestas de la señal de audio. Además, el proveedor de flujos de audio puede comprender asimismo una provisión de estructura de configuración o proveedor de estructuras de configuración 423 para proporcionar la estructura de configuración 424.
En consecuencia, el proveedor de flujos de audio puede proporcionar, como parte de la representación de señal de audio codificada 412, partes de diferentes flujos de audio, que el proveedor de flujos de audio puede, por ejemplo, almacenar en una memoria o recibir de un codificador de audio. Al proporcionar una parte de un primer flujo de audio y luego conmutar a una provisión de una parte de un segundo flujo de audio, puede haber una estructura de configuración 424 asociada a la primera trama de audio del segundo flujo de audio que se proporciona después de conmutar del primer flujo de audio al segundo flujo de audio. La estructura de configuración 424 puede ser parte, por ejemplo, de los respectivos flujos de audio que son recibidos por el proveedor de flujos de audio de un codificador de audio o que están almacenados en una memoria del proveedor de flujos de audio. Por consiguiente, el proveedor de flujos de audio puede almacenar, por ejemplo, una secuencia contigua de tramas de audio de un primer flujo de audio y almacenar también una secuencia contigua de tramas de audio de un segundo flujo de audio. Al menos algunas de las tramas del primer flujo de audio y algunas de las tramas del segundo flujo de audio pueden tener respectivas estructuras de configuración asociadas, que describen parámetros de decodificación que ha de utilizar un decodificador de audio. Las estructuras de configuración pueden comprender asimismo respectivos identificadores de flujo, por ejemplo, números enteros que identifican un flujo de audio. Por ejemplo, el proveedor de flujos de audio puede estar configurado para proporcionar las tramas 1 a n-1 (en la que 1 a n-1 pueden ser índices de tiempo) para una primera trama de audio y las tramas n a n+x (en la que n a n+x pueden ser índices de tiempo) de un segundo flujo de audio como parte de la representación de señal de audio codificada 412, en la que las tramas 1 a n-1 del segundo flujo de audio pueden no proporcionarse como parte de la representación de señal de audio codificada 412 que se refiere a un decodificador de audio específico o a un grupo específico de decodificadores de audio. El primer flujo de audio y el segundo flujo de audio pueden representar, por ejemplo, contenido idéntico codificado con una tasa de bits diferente. En consecuencia, las tramas 1 a n-1 del contenido de audio están representadas, en la representación de señal de audio codificada 412 referida a un determinado dispositivo o grupo de dispositivos, por el primer flujo de audio, codificado a una primera tasa de bits, y las tramas n a n+x del contenido de audio están representadas por las tramas n a n+x del segundo flujo de audio, que se codifica con una segunda tasa de bits diferente de la primera tasa de bits.
Por ejemplo, el proveedor de flujos de audio 400, o algún control externo, puede asegurarse de que la primera trama n del segundo flujo de audio, que está incluido en la representación de señal de audio codificada 412, comprende una estructura de configuración. En otras palabras, puede garantizarse, por ejemplo, que la conmutación entre la provisión de tramas de audio del primer flujo de audio y la provisión de tramas de audio del segundo flujo de audio solo tenga lugar en una trama “apropiada”, que comprende una estructura de configuración y que preferiblemente comprende asimismo cierta información para inicializar un decodificador de audio (como, por ejemplo, un silenciado previo de audio).
Por consiguiente, el proveedor de flujos de audio puede proporcionar, por ejemplo, algunas partes de un contenido de audio codificado con una primera tasa de bits (por ejemplo, proporcionando las tramas 1 a n-1 del primer flujo de audio) y otras partes del flujo de audio codificadas usando una segunda tasa de bits (por ejemplo, proporcionando las tramas de audio n a n+x del segundo flujo de audio). Posiblemente las estructuras de configuración del primer flujo de audio y del segundo flujo de audio serán idénticas, excepto por el hecho de que el identificador de flujo es diferente. Esto se debe a que los parámetros de decodificación reflejados en la estructura de configuración 424 no tienen que reflejar necesariamente los parámetros de codificación diferentes (o todos los parámetros de codificación) usados para la codificación del primer flujo de audio y para la codificación del segundo flujo de audio, de manera que en realidad es (solo) el identificador de flujo, que también está incluido en la estructura de configuración, lo que permite que un decodificador de audio determine si debe efectuarse una “transición” (por ejemplo, reinicializando un núcleo del decodificador).
La decisión de si deben proporcionarse tramas de audio del primer flujo de audio o del segundo flujo de audio la puede hacer, en algunas realizaciones, el proveedor de flujos de audio (por ejemplo, basándose en el conocimiento de las condiciones de red, por ejemplo, una carga de red o una tasa de bits de red disponible de una red entre el proveedor de flujos de audio y un decodificador de audio). Como alternativa, por ejemplo, un decodificador de audio, o un dispositivo intermedio (por ejemplo, un dispositivo de gestión de redes) puede decidir qué flujo de audio debe usarse.
Sin embargo, debe tenerse en cuenta que el decodificador de audio, o al menos el núcleo del decodificador de audio, puede no ser explícitamente informado por el proveedor de flujos de audio y/o por la red intermedia de que se ha producido un cambio del flujo. En otras palabras, el decodificador de audio no recibe ninguna información adicional, excepto la estructura de configuración 424, que comunica por señales al decodificador de audio que las tramas n a n+x son del segundo flujo de audio, mientras que las tramas 1 a n-1 son del primer flujo de audio.
Para concluir, el proveedor de flujos de audio puede proporcionar con flexibilidad una representación codificada de un contenido de audio a un decodificador de audio en forma de una representación de señal de audio codificada. El proveedor de flujos de audio puede, por ejemplo, conmutar con flexibilidad entre una provisión de tramas codificadas de un primer flujo de audio y tramas codificadas de un segundo flujo de audio, en el que una conmutación entre flujos de audio se comunica por señales mediante un cambio del identificador de flujo que está incluido en la estructura de configuración 424, que forma parte de la representación de señal de audio codificada 412.
Cabe destacar en este caso que el proveedor de flujos de audio 400 puede complementarse opcionalmente por cualquiera de las características, funcionalidades y detalles descritos en el presente documento.
A continuación, se describe un ejemplo de la funcionalidad del proveedor de flujos de audio 400 con referencia a la figura 5, que muestra un diagrama esquemático de bloques de un proveedor de flujos de audio según la realización de la invención.
El proveedor de flujos de audio mostrado en la figura 5 está indicado con el número 500 y puede corresponder al proveedor de flujos de audio 400 según la figura 4. El proveedor de flujos de audio 500 está configurado para proporcionar una representación de señal de audio codificada 512, que puede corresponder a la representación de señal de audio codificada 412.
En particular, el proveedor de flujos de audio puede estar configurado para conmutar entre una provisión de tramas de un primer flujo de audio y de un segundo flujo de audio. Por ejemplo, el proveedor de flujos de audio 500 puede estar configurado para conmutar entre una provisión de tramas del primer flujo de audio y del segundo flujo de audio solo en las denominadas “tramas de emisión independiente” (también denominadas “IPF”).
El proveedor de flujos de audio 500 puede tener almacenado en una memoria, o puede recibir de un codificador de audio, un primer flujo de audio 520 y un segundo flujo de audio 530. El primer flujo de audio puede ser codificado, por ejemplo, con una primera tasa de bits y puede comprender, en estructuras de configuración (por ejemplo, de tramas de emisión inmediata), un primer identificador de flujo. El segundo flujo de audio 530 puede ser codificado con una segunda tasa de bits y puede comprender, en estructuras de configuración (por ejemplo, de tramas de emisión inmediata), un segundo identificador de flujo. Sin embargo, el primer flujo de audio y el segundo flujo de audio pueden representar, por ejemplo, un mismo contenido de audio. Sin embargo, el primer flujo de audio y el segundo flujo de audio también podrían representar contenidos de audio diferentes.
Por ejemplo, el primer flujo de audio 520 puede comprender tramas de emisión independiente en las tramas indicadas como m, n2, n3 y n4 Por ejemplo, una o más tramas “normales” de audio, que no son tramas de emisión independiente, pueden estar dispuestas entre dos tramas de emisión independiente adyacentes. Sin embargo, las tramas de emisión independiente también podrían ser adyacentes en algunas situaciones.
De manera similar, el segundo flujo de audio 530 comprende asimismo tramas de emisión independiente en las posiciones de trama m, n2, n3 y n4.
Debe tenerse en cuenta que las posiciones de las tramas de emisión independiente en los dos flujos 520, 530 pueden ser opcionalmente idénticas, aunque también podrían ser diferentes. Con el fin de simplificar, se supone en el presente documento que las posiciones de trama de las tramas de emisión independiente son idénticas en ambos flujos.
Sin embargo, en principio, es solo importante que la primera trama después de la conmutación sea una trama de emisión independiente. Por ejemplo, al conmutar de una provisión de tramas de audio del primer flujo de audio a una provisión de tramas de audio del segundo flujo de audio, el proveedor de flujos de audio 500 debe garantizar que una primera trama de una parte de las tramas proporcionadas desde el segundo flujo de audio sea una trama de emisión independiente.
Se describirá un ejemplo con referencia a una representación de señal de audio codificada mostrada con el número de referencia 550. Tal como puede apreciarse, la representación de señal de audio codificada 512 comprende, en su inicio, una parte 552 que comprende una o más tramas de un primer flujo de audio. Sin embargo, después de la provisión de una trama de audio que tiene el índice ni-1 del primer flujo de audio, el proveedor de flujos de audio 500 puede decidir (basándose en una decisión interna, o basándose en cierta información de control recibida externamente) conmutar al segundo flujo de audio. En consecuencia, se proporciona una parte 554 de tramas de audio del segundo flujo de audio dentro de la representación de señal de audio codificada 512. Por ejemplo, se proporcionan tramas que tienen los índices de trama de m a n2-1 del segundo flujo de audio en la parte 554 dentro de la representación de señal de audio codificada 512. Debe tenerse en cuenta que la primera trama de la parte 554 es una trama de emisión independiente, que tiene el índice de trama m dentro del segundo flujo de audio 530. Sin embargo, cuando se ha proporcionado una trama que tiene el índice de trama n2-1 dentro de la representación de señal de audio codificada 512, el proveedor de flujos de audio puede decidir, una vez más, volver a la provisión de tramas de audio del primer flujo de audio 520. En consecuencia, después (o inmediatamente después) puede proporcionarse la trama de audio que tiene el índice de trama n2-1 (que se basa en el segundo flujo de audio 530), una trama que tiene el índice de trama n2, que se coge del primer flujo de audio 520, dentro de la representación de señal de audio codificada. Debe tenerse en cuenta que la trama que tiene el índice n2 también es una trama de emisión independiente. En consecuencia, se coge una parte del primer flujo de audio partiendo de la trama que tiene el índice n2 y que finaliza en el índice de trama n4-1.
Para concluir, la representación de señal de audio codificada 512 es una concatenación de partes de una o más tramas, en la que se cogen algunas partes de tramas del primer flujo de audio 520 y en la que algunas partes de las tramas se cogen del segundo flujo de audio 530. La primera trama de cada parte es preferiblemente una trama de emisión independiente, lo que está garantizado preferiblemente por la operación del proveedor de flujos de audio.
Una trama de emisión independiente de este tipo comprende preferiblemente una estructura de configuración con un identificador de flujo, en la que el identificador de flujo puede estar contenido, por ejemplo, en una estructura de extensión de configuración. Por ejemplo, la información de configuración del primer flujo y del segundo flujo pueden ser idénticas, excepto el identificador de flujo (y, posiblemente, excepto la información de configuración que está contenida dentro de la estructura de extensión de configuración después del identificador de flujo).
Por ejemplo, las tramas de emisión independiente pueden corresponder a la trama 220 tal como se explicó anteriormente con respecto al decodificador de audio 200.
También para concluir, el proveedor de flujos de audio 500 puede tener la posibilidad de acceder a una pluralidad de flujos de audio (por ejemplo, el primer flujo de audio 520 y el segundo flujo de audio 530 y, opcionalmente, a otros flujos de audio) y puede seleccionar partes de tramas de estos dos o más flujos de audio para su inclusión en la representación de señal de audio codificada 512, que es enviada (por ejemplo, a través de una red de comunicaciones) a un decodificador de audio. Al seleccionar las partes de tramas que han de incluirse en la representación de señal de audio codificada 512, el proveedor de flujos de audio puede asegurarse de que la primera trama de cada parte sea una trama de emisión independiente que comprende suficiente información para la renderización (sin errores) sin haber decodificado ninguna trama anterior de dicho flujo de audio. Además, el proveedor de flujos de audio proporciona la representación de señal de audio codificada de tal manera que una conmutación entre partes de tramas de audio de flujos diferentes sea perceptible para un decodificador de audio que recibe la representación de señal de audio codificada 512 de una diferencia dentro de la parte relevante de la estructura de configuración. En el caso de algunas transiciones, las estructuras de configuración pueden diferir con respecto a parámetros de configuración del decodificador, aunque para una o más transiciones adicionales, las estructuras de configuración pueden diferir solamente en el identificador de flujo, mientras que los demás parámetros de configuración de la decodificación pueden ser idénticos.
En consecuencia, los decodificadores de audio pueden reconocer una conmutación entre diferentes flujos de audio y realizar una reinicialización (“transición”) siempre que resulte apropiado.
5. Trama de audio según la figura 6
La figura 6 muestra una representación de una trama de audio que permite un acceso aleatorio y que comprende una parte de configuración con un identificador de flujo en una parte de extensión de configuración.
Por ejemplo, la figura 6 muestra un ejemplo de una trama de audio que podría asumir el papel de la trama de audio 222 descrita con referencia a la figura 2. Por ejemplo, la trama de audio puede ser una “trama de USAC”. La trama de audio de la figura 6 puede considerarse como “punto de acceso del flujo” o “trama de emisión intermedia”.
La trama puede seguir, por ejemplo, las convenciones de sintaxis de la norma de codificación unificada de voz y audio, incluyendo las enmiendas disponibles, aunque también podría adaptarse a la sintaxis de flujo de bits de normas de audio diferentes o más nuevas.
Por ejemplo, la trama de USAC 600 puede comprender una bandera de independencia de USAC 610. Además, la trama de USAC puede comprender un elemento de extensión denominado “USAC ExtElement”. El elemento de extensión 620 puede ser un elemento de extensión con una información de configuración y con datos de silenciado previo.
Opcionalmente, puede haber una bandera “USAC ExtElementPresent” que indica la presencia de más datos. Por ejemplo, es preferible que esta bandera sea 1 en el caso de una IPF (por ejemplo, un punto de acceso del flujo). Sin embargo, puede considerarse que esta bandera es opcional. Además, puede haber, opcionalmente, una bandera “USAC ExtElementUseDefaultLength” que puede utilizarse para codificar si debe emplearse una longitud por defecto del elemento de extensión o si la longitud del elemento de extensión está codificada. Por ejemplo, es preferible (aunque no indispensable) que esta bandera tenga un valor de cero en el caso de una IPF.
Además, hay datos de segmento de elementos de extensión, que también se denominan “USACExtElementSegmentData”. Estos datos de segmentos de elementos de extensión comprenden una información de silenciado previo de audio, también denominada “AudioPreRoll()” en una enmienda de la norma USAC. El silenciado previo de audio comprende opcionalmente una información de longitud de configuración “configLen” y una información de configuración “Config()”, en la que la información de configuración puede ser idéntica a la “información de configuración USAC” que también recibe la denominación “UsacConfigQ”. Preferiblemente, aunque no necesariamente, “configLen” debe asumir un valor superior a cero si la información de configuración está presente. Por ejemplo, un valor cero de “config Len” puede indicar que la información de configuración no está presente. La información de configuración puede comprender cierta información básica de configuración, como una información acerca de una frecuencia de muestreo y una información acerca de una longitud de trama SBR y una información acerca de una configuración de canal y un número de otros elementos de configuración del decodificador (opcionales). Los otros elementos de configuración del decodificador pueden comprender, por ejemplo, uno o más, o incluso la totalidad de los elementos de configuración descritos en la definición del elemento de sintaxis “UsacDecoderConfig()” en la norma USAC.
Además, la información de configuración comprende, como subestructura de datos, una estructura de extensión de configuración. La estructura de extensión de configuración puede seguir, por ejemplo, la sintaxis del elemento de sintaxis “UsacConfigExtension()”. Por ejemplo, la estructura de extensión de configuración puede comprender una información con respecto a un número de extensiones de configuración “numConfigExtensions”. En caso de haber una extensión de configuración del tipo ID_Config_Ext_Stream_ID, que es normalmente el caso en las realizaciones según la invención, el identificador de flujo está representado por un elemento de sintaxis de flujo de bits “streamIdQ”, que puede estar representado, por ejemplo, por un valor de 16 bits.
Para concluir, la estructura de configuración, que está incluida en una trama de USAC en un elemento de extensión, comprende cierta información de configuración para configurar los parámetros del decodificador y además comprende, como extensión de configuración, un identificador de flujo, que puede estar representado como número entero de, por ejemplo, 16 bits.
La información de silenciado previo de audio comprende opcionalmente más información, como una bandera “applyCrossfade” que indica si debe aplicarse un fundido encadenado (en el que, por ejemplo, un valor cero puede indicar que no debe aplicarse un fundido encadenado), una información acerca de un número de tramas de silenciado previo y una información con respecto a las tramas de silenciado previo, que pueden denominarse “auLen” y “AccessUnitO”.
La trama de USAC comprende además, opcionalmente, elementos de extensión adicionales y normalmente comprende uno o más de un elemento de canal único, un elemento de par de canales o un elemento de efecto de menor frecuencia.
Para concluir, una trama de USAC (por ejemplo, la trama de USAC 222 o una de las tramas de emisión inmediata IPF) puede comprender, por ejemplo, un elemento de sintaxis de extensión, en el que dicho elemento de sintaxis de extensión comprende la estructura de configuración (por ejemplo, 222c) e información acerca de una o más tramas de silenciado previo, que pueden emplearse, por ejemplo, para llevar un estado de una cadena de procesamiento a un estado deseado y que puede corresponder, por ejemplo, a la información 222d. Además, la trama de USAC comprende asimismo información de audio codificada, como el elemento de canal único, el elemento de un par de canales o el elemento de efectos de baja frecuencia. Por consiguiente, es posible que un decodificador de audio reconozca un cambio de un flujo de audio basándose en el identificador de flujo “streamId()”. Además, es posible que un decodificador de audio realice una decodificación sin errores de la trama de USAC 600, ya que pueden establecerse los parámetros de decodificación basándose en la información de configuración incluida en la estructura de configuración, y porque puede establecerse un estado correcto de la decodificación de audio basándose en la información de tramas de silenciado previo. Por consiguiente, la trama de USAC descrita permite conmutar entre una decodificación de tramas de un flujo de audio diferente y también permite una detección de la conmutación por un decodificador de audio sin información de control adicional.
La trama de USAC 600 descrita en el presente documento puede corresponder a la trama de audio 222 o puede corresponder a la primera trama de un segundo flujo de audio incluida en la representación de señal de audio codificada 312 o puede corresponder a una primera trama del segundo flujo de audio incluida en la representación de señal codificada 412, o puede corresponder a una trama de emisión inmediata IPF tal como se muestra en la figura 5.
6. Flujo de audio a modo de ejemplo según la figura 7
La figura 7 muestra una representación de un flujo de audio a modo de ejemplo, que puede proporcionarse por uno de los codificadores de audio descritos en el presente documento y que puede decodificarse por uno de los decodificadores de audio descritos en el presente documento. El flujo de audio de la figura 7 también puede proporcionarse por un proveedor de flujos de audio descrito en el presente documento.
El flujo de audio 700 comprende, por ejemplo, como primer bloque de información, una información de configuración del decodificador. La información de configuración del decodificador puede comprender, por ejemplo, un elemento de flujo de bits “UsacConfigQ”, tal como se define en la norma USAC. La información de configuración del decodificador puede indicar, por ejemplo, un identificador de flujo de uno y se la puede considerar como punto de acceso del flujo que se encuentra al comienzo de un flujo.
El flujo de audio comprende asimismo una unidad de información de datos de trama de audio 720 que puede no comprender, por ejemplo, datos de silenciado previo y que también puede no comprender ninguna información del identificador de flujo. Por ejemplo, la unidad de información 720 puede ser una trama de USAC y puede corresponder, por ejemplo, al elemento de sintaxis de flujo de bits “UsacFrame()” tal como se define en la norma USAC.
Las unidades de información 710 y 720 pueden pertenecer, por ejemplo, en ambos casos, a un primer flujo de audio.
El flujo de audio 700 puede comprender asimismo la unidad de información 730, que puede representar, por ejemplo, la primera trama del segundo flujo que se incluye en el flujo de audio 700. La unidad de información 730 puede comprender, por ejemplo, datos de tramas de audio, datos de silenciado previo y una información del identificador de flujo. La información del identificador de flujo puede indicar, por ejemplo, un identificador de flujo de dos que es diferente del identificador de flujo incluido en la unidad de información 710.
Puede considerarse, por ejemplo, que la unidad de información 730 es un punto de acceso del flujo.
Por ejemplo, la unidad de información 730 puede depender de la sintaxis del elemento de flujo de bits “UsacFrame()”, tal como se define en la norma USAC. Sin embargo, la unidad de información 730 puede comprender un elemento de extensión del tipo “id_ext_ele_audiopreroll”. Este elemento de extensión puede comprender una estructura de configuración, por ejemplo, según la sintaxis de flujo de bits “UsacConfig” con una estructura de extensión de configuración, por ejemplo, según la sintaxis de flujo de bits “UsacConfigExtension”. La estructura de extensión de configuración puede comprender, por ejemplo, un elemento de extensión del tipo “ID_CONFIG_EXT_STREAM_ID” que codifica un identificador de flujo. Por consiguiente, el elemento de información o unidad de información 730 puede comprender, por ejemplo, la información de la trama de USAC 600 tal como se explicó anteriormente.
Por consiguiente, la unidad de información 730 puede representar una trama de audio del segundo flujo, y proporcionar una información de configuración completa para configurar un decodificador de audio a fin de decodificar correctamente la trama de audio. En particular, la información de configuración comprende asimismo una información de silenciado previo de audio para establecer los estados del decodificador de audio y la información de configuración comprende un identificador de flujo que le permite al decodificador de audio reconocer si la unidad de información 730 está asociada a un flujo de audio diferente en comparación con la unidad de información 700, 710.
El flujo de audio 700 comprende asimismo una unidad de información 740, que sigue a la unidad de información 700. La unidad de información 740 puede ser, por ejemplo, una trama de audio “normal” que solo comprende datos de tramas de audio, sin datos de silenciado previo, sin datos de configuración y sin un identificador de flujo. Por ejemplo, la unidad de información 740 puede seguir a la sintaxis de flujo de bits “UsacFrame()” sin hacer uso de ningún elemento de extensión.
El flujo de audio 700 puede comprender asimismo la unidad de información 750 que puede comprender, por ejemplo, datos de trama de audio y datos de silenciado previo, pero que puede no comprender un identificador de flujo. La unidad de información 750 puede ser utilizable, por lo tanto, como punto de acceso del flujo, aunque puede no permitir una detección de una conmutación entre flujos diferentes.
Por ejemplo, la unidad de información 750 puede depender de la sintaxis de flujo de bits “UsacFrame()”, con un elemento de extensión ID_ext_ele_audiopreroll”. Sin embargo, en la unidad de información 750, la información de configuración, que es parte del elemento de extensión de silenciado previo de audio, no comprende un identificador de flujo. Por consiguiente, la unidad de información 750 no puede ser utilizada con seguridad como primera unidad de información después de una conmutación entre diferentes flujos de audio. Por otra parte, la unidad de información 730 puede ser utilizada con seguridad como primera unidad de información después de una conmutación entre diferentes flujos de audio, puesto que el identificador de flujo incluido en la misma permite una detección de una conmutación entre flujos diferentes y porque la unidad de información comprende asimismo información completa para decodificar, incluyendo información de configuración e información de silenciado previo.
Para concluir, el flujo de audio 700 puede comprender “unidades de información” o tramas de audio codificadas que tienen contenido de información diferente. Puede haber tramas de audio “muy sencillas” que solo comprenden datos de audio codificado, sin datos de configuración y sin datos de silenciado previo. Asimismo, puede haber tramas de audio que comprenden información de audio codificada, como así también información de configuración, que también incluye un identificador de flujo, e información de silenciado previo. Tales tramas permiten la identificación de una conmutación entre flujos de audio diferentes y una decodificación independiente completa.
Además, también puede haber, opcionalmente, tramas que solo tienen información parcial pero que, por ejemplo, no permiten una identificación fiable de una conmutación entre flujos diferentes porque no hay información del identificador de flujo.
Debe tenerse en cuenta que los decodificadores de audio según las figuras 1 y 2 pueden emplear normalmente el flujo de audio 700 y que los codificadores de audio y proveedores de flujos de audio según las figuras 3 y 4 pueden proporcionar normalmente el flujo de audio 700 tal como se muestra en la figura 7 (por ejemplo, como representación de señal de audio codificada 312, 314).
7. Flujo de audio según la figura 8
La figura 8 muestra una representación de un flujo de audio a modo de ejemplo, según otra realización de la presente invención.
El flujo de audio según la figura 8 está designado en su totalidad con el número 800.
Debe tenerse en cuenta que las unidades de información 810a a 810e pertenecen a un primer flujo de audio. Por ejemplo, una unidad de información 810a puede comprender una configuración del decodificador y puede seguir, por ejemplo, a la sintaxis de flujo de bits “UsacConfig()” tal como se define en la norma USAC. La configuración del decodificador puede comprender, por ejemplo, una estructura de configuración que puede ser similar a la estructura de configuración 222c. Por ejemplo, la unidad de información 810 puede incluir una extensión del identificador de flujo, en la que el identificador de flujo puede estar incluido, por ejemplo, en una estructura de extensión de configuración de la estructura de configuración.
La unidad de información 810b puede comprender, por ejemplo, datos de tramas de audio (como, por ejemplo, valores espectrales codificados e información de factores de escala codificada) sin datos de silenciado previo y sin un identificador de flujo. La unidad de información 810d puede ser similar o idéntica en su estructura a la unidad de información 810b y también representar datos de tramas de audio sin datos de silenciado previo y sin un identificador de flujo.
Además, el flujo de audio puede comprender una parte 820, que sigue a la parte 810, y que está asociada a un segundo flujo de audio que es diferente del primer flujo de audio. La parte 820 comprende una unidad de información 820a, que comprende datos de tramas de audio con datos de silenciado previo, en la que los datos de silenciado previo incluyen (por ejemplo, dentro de una estructura de configuración) una extensión de identificador de flujo. Por consiguiente, la unidad de información 820a representa una trama de audio. Si un decodificador de audio encuentra, basándose en la extensión de identificador de flujo, que la trama de audio anteriormente decodificada era de otro flujo de audio, el decodificador de audio puede utilizar los datos de silenciado previo para ajustar el decodificador de audio a un estado correcto antes de decodificar los datos de trama de audio en la unidad de información 820a. De esa manera, la unidad de información 820a es muy adecuada para ser la primera unidad de información después de una conmutación entre flujos de audio diferentes.
El bloque 820 comprende asimismo una, dos o más unidades de información 820b, 820d, que comprenden datos de tramas de audio pero que no comprenden datos de silenciado previo y que tampoco comprenden un identificador de flujo.
El flujo de datos 800 comprende asimismo una parte 830, que está asociada a un tercer flujo de audio. La parte 830 comprende una unidad de información 830a, que comprende datos de tramas de audio con datos de silenciado previo y que incluye una extensión de identificador de flujo. La parte 830 comprende además una unidad de información 830b que comprende datos de tramas de audio sin datos de silenciado previo y sin un identificador de flujo. La tercera parte 830 comprende asimismo una unidad de información 830d que comprende datos de tramas de audio con datos de silenciado previo, pero sin un identificador de flujo.
Por consiguiente, puede apreciarse que el flujo de audio 800 comprende partes posteriores que se originan de flujos de audio diferentes, en las que, en cada transición de un flujo a otro, hay una unidad de información (por ejemplo, una trama de audio codificada) que comprende datos de tramas de audio con datos de silenciado previo y con un identificador de flujo. En consecuencia, dado que hay información del identificador de flujo disponible en cada conmutación de un flujo de audio a otro flujo de audio dentro de la trama de audio codificada, el decodificador de audio puede reconocer fácilmente dicha transición evaluando el identificador de flujo (por ejemplo, en términos de una comparación con un identificador de flujo almacenado obtenido anteriormente).
Debe tenerse en cuenta que el flujo de audio podría proporcionarse por el codificador de audio o por el proveedor de flujos de bits descrito en el presente documento, y que el flujo de audio 800 podría ser evaluado por el decodificador de audio descrito en el presente documento.
8. Funcionalidad del decodificador según la figura 9
La figura 9 muestra una representación esquemática de una posible funcionalidad de decodificador de un decodificador de audio tal como se describe en el presente documento.
Por ejemplo, la funcionalidad tal como se describe con referencia a la figura 9 puede ser implementada en el codificador de audio 100 según la figura 1 o en el decodificador de audio 200 según la figura 2. Por ejemplo, puede usarse la funcionalidad descrita en la figura 5 para decidir cómo continuar con la decodificación.
Por ejemplo, debe tenerse en cuenta que la funcionalidad tal como se describe con referencia a la figura 9 es solo un ejemplo y que, por ejemplo, puede cambiarse un orden de la decisión siempre que la funcionalidad general se mantenga igual. Además, es posible combinar decisiones siempre que la funcionalidad general no se modifique.
Se supone que la funcionalidad tal como se explica en la figura 9 tiene conocimiento sobre información con respecto a tramas anteriormente decodificadas y evalúa una nueva trama de audio, que puede cumplir la sintaxis descrita en el presente documento.
Por ejemplo, en una primera comprobación 110, el decodificador de audio puede comprobar si hay un “acceso aleatorio”, es decir, una operación de salto a un punto de acceso del flujo. Si se reconoce que hay un salto a un punto de acceso del flujo, en el que se cambia de manera intencionada el orden “normal” de las tramas, la funcionalidad del decodificador avanza a una etapa 920 de evaluación de los datos de configuración del punto de acceso del flujo para reinicializar el decodificador. Opcionalmente puede realizarse un fundido encadenado para evitar una conmutación abrupta. Debe tenerse en cuenta que un acceso aleatorio significa “saltar” de una primera trama a una segunda trama, en el que la segunda trama tiene un índice de trama que no está exactamente detrás del índice de trama de la trama anteriormente decodificada. En otras palabras, un acceso aleatorio es un salto de una trama que tiene un índice de trama n a una trama que tiene un índice de trama o, en el que o es diferente de n+1.
En la etapa 920, se realiza el salto, en el que el objetivo del salto es una trama que es una trama de emisión inmediata y que comprende suficiente información como para reinicializar el decodificador.
Por ejemplo, si se encuentra en la comprobación 910 que no hay un “acceso aleatorio” sino, por el contrario, una “reproducción contigua”, puede realizarse otra comprobación 930. En otras palabras, la comprobación 930 se realiza si la decodificación avanza de la trama que tiene un índice de trama n a una trama que tiene un índice de trama n+1.
En la comprobación 930, se comprueba si una configuración (relevante) definida en una estructura de configuración de un punto de acceso del flujo (o trama de emisión intermedia) sin considerar un identificador de flujo (por ejemplo, hasta pero no incluyendo el identificador de flujo) es diferente de una configuración actual. Si la configuración (relevante) descrita en una estructura de configuración del punto de acceso del flujo es diferente de la configuración actual (ruta “sí”), la decodificación puede avanzar a la etapa 940. Sin embargo, debe tenerse en cuenta que la etapa 930 solo puede ejecutarse naturalmente si la siguiente trama es un punto de acceso del flujo que comprende una estructura de configuración. Si la siguiente trama no comprende una estructura de configuración, la etapa 930 no puede ejecutarse naturalmente y no puede encontrarse diferencia alguna con la configuración actual.
Sin embargo, si se encuentra, en la etapa 930, que la configuración, en la estructura de configuración, de la siguiente trama (sin considerar el identificador de flujo) es idéntica a la configuración actual, se efectúa una comprobación posterior que se muestra en el bloque 950. En la etapa 950, se determina si el punto de acceso del flujo comprende o no (por ejemplo, dentro de la estructura de configuración) un identificador de flujo. Por ejemplo, no es indispensable que el identificador de flujo esté incluido, sino que solo se incluya en la estructura de configuración si hay una estructura de extensión de configuración y si esta estructura de extensión de configuración comprende, en realidad, un elemento de estructura de datos que es un identificador de flujo. Si se encuentra, en la comparación 950, que el punto de acceso del flujo comprende un identificador de flujo (rama “sí”), se compara el identificador de flujo incluido en el punto de acceso del flujo de la siguiente trama (trama que ha de decodificarse) con el identificador de flujo actual (almacenado). Si se encuentra que el identificador de flujo incluido en la siguiente trama (trama que ha de decodificarse) es diferente del identificador de flujo actual (rama “sí” de la decisión 960) se efectúa un salto al bloque 940. Por otra parte, si se encuentra que el identificador de flujo de la siguiente trama es idéntico al identificador de flujo almacenado, no se tiene en cuenta la información de configuración adicional (por ejemplo, extensiones de configuración) que siguen en la estructura de extensión de configuración después del identificador de flujo, para la determinación de si debe realizarse una “transición” o la inicialización inicial (rama “no” de la etapa 960).
Sin embargo, si se encuentra en la comprobación 950 que el punto de acceso del flujo (la siguiente trama que ha de decodificarse) no comprende un identificador de flujo, o si se encuentra que el identificador de flujo de la siguiente trama que ha de decodificarse es igual al identificador de flujo almacenado, el procedimiento continúa en la etapa 970.
Asimismo, debe tenerse en cuenta que la etapa 940 comprende el fundido entre una trama de audio que usa una configuración anterior y una trama de audio que usa una nueva configuración. Para la decodificación de la trama de audio que usa la nueva configuración, hay una reinicialización del decodificador de audio (que puede comprender la inicialización de una nueva instancia de decodificación). Además, la instancia anterior del decodificador es “vaciada” y se realiza un fundido encadenado.
Por otra parte, la etapa 970 comprende decodificar la siguiente trama sin reinicializar el decodificador, en el que se descarta una información de silenciado previo, que puede estar incluida en la siguiente trama (no se la tiene en cuenta).
Para concluir, hay diferentes posibilidades que pueden ejecutarse siempre que el decodificador de audio llega a una “trama de emisión intermedia”, que también puede considerarse como “punto de acceso del flujo”. Asimismo, debe tenerse en cuenta que normalmente no se realiza ningún procesamiento específico en las tramas que no son “tramas de emisión intermedia” o “puntos de acceso del flujo” porque esas tramas no permiten una reinicialización de un decodificador de audio, ya que no hay ninguna estructura de configuración y ninguna información de silenciado previo disponible en dichas tramas de audio.
Cuando un decodificador sabe que hay un “salto”, es decir, una desviación de una disposición normal de las tramas, hay, naturalmente, una reinicialización del decodificador de audio que normalmente usa la información de silenciado previo y también una nueva estructura de configuración (incluso cuando el salto es dentro del mismo flujo).
Si no se produce tal “salto”, hay diferentes casos:
Si el decodificador de audio encuentra que la información de configuración de un flujo posterior que ha de decodificarse, hasta e incluyendo el identificador de configuración, es diferente de una información almacenada, también habrá una reinicialización del decodificador de audio. Por otra parte, si el decodificador de audio encuentra que la información de configuración de la siguiente trama que ha de decodificarse, hasta e incluyendo el identificador de flujo (si está presente), es idéntica a la información almacenada obtenida de una trama anteriormente decodificada, no ha de realizarse reinicialización alguna. En todo caso, la información de configuración que se ubica después del identificador de flujo en la estructura de configuración será omitida por el decodificador de audio al decidir si debe realizar o no una reinicialización. Asimismo, si el decodificador de audio encuentra que no hay ningún identificador de flujo dentro de la estructura de configuración, naturalmente no tendrá en cuenta el identificador de flujo en la comparación con la información almacenada.
Sin embargo, para efectuar la evaluación de manera eficiente desde el punto de vista informático, el decodificador puede comprobar, en primer lugar, la información de configuración que precede al identificador de flujo con la información de configuración almacenada, después, comprobar si hay un identificador de flujo incluido en la estructura de configuración, y seguidamente proceder a una comparación del identificador de flujo (si está presente en la estructura de configuración) con un identificador de flujo almacenado. En cuanto el decodificador de audio encuentra una diferencia, puede optar por una reinicialización. Por otra parte, si el decodificador de audio no encuentra una discrepancia entre la información de configuración, hasta e incluyendo el identificador de flujo, puede optar por omitir una reinicialización.
En consecuencia, un codificador de audio puede comunicar por señales cambios menores de configuración, que no deben dar como resultado una reinicialización, después del identificador de flujo en la estructura de extensión de configuración y el decodificador de audio puede proceder, en este caso, a decodificar solo con un ligero cambio de configuración (que no requiere reinicialización).
Para concluir, puede utilizarse la funcionalidad del decodificador tal como se describe con referencia a la figura 9 en cualquiera de los decodificadores de audio descritos en el presente documento, aunque debe considerarse opcional.
9. Sintaxis de flujo de bits según las figuras 10a, 10b, 10c y 10d
A continuación, se describirá la sintaxis de flujo de bits. En particular, se describirá la sintaxis de una estructura de configuración. Como ejemplo, se describe una sintaxis de una estructura de configuración “UsacConfigO”, que puede ocupar el lugar de la estructura de configuración 222c o de la estructura de configuración 332 o de la estructura de configuración 424 o de la estructura de configuración “Config()” mostrada en la figura 6 o la estructura de configuración “UsacConfig()” tal como se muestra en la figura 7 o de la estructura de configuración “Config” mostrada en la figura 8.
La figura 10 muestra una representación de la estructura de configuración “UsacConfigO”. Tal como puede apreciarse, dicha estructura de configuración puede comprender, por ejemplo, una información de índice de frecuencia de muestreo 1020a y, opcionalmente, una información de frecuencia de muestreo 1020b. La información de índice de frecuencia de muestreo 1020a (posiblemente en combinación con la información de frecuencia de muestreo 1020b), por ejemplo, describe la frecuencia de muestreo usada por un codificador y, por lo tanto, también describe la frecuencia de muestreo que ha de utilizar un decodificador de audio.
Además, la estructura de configuración puede comprender asimismo una información de índice de longitud de trama para una replicación de la banda espectral (SBR). Por ejemplo, el índice puede determinar un número de parámetros para una replicación del ancho de banda espectral, por ejemplo, tal como se define en la norma USAC.
Además, la estructura de configuración puede comprender asimismo un índice de configuración de canales 1024a que puede determinar, por ejemplo, una configuración de canal. Una información de índice de configuración de canales puede definir, por ejemplo, un número de canales y un mapeo de altavoz asociado. Por ejemplo, la información de índice de configuración de canales puede tener el significado definido en la norma USAC. Por ejemplo, si la información de índice de configuración de canales es igual a cero, puede haber detalles con respecto a la configuración de los canales incluidos en una estructura de datos “UsacChannelConfig()”1024b.
Además, la estructura de configuración puede comprender una información de configuración del decodificador 1026a que puede describir (o enumerar), por ejemplo, elementos de información que están presentes en una estructura de datos de tramas de audio. Por ejemplo, la información de configuración del decodificador puede comprender uno o más de los elementos que se describen en la norma USAC.
Además, la estructura de configuración 1010 comprende asimismo una bandera (por ejemplo, denominada “UsacConfigExtensionPresent”) que indica la presencia de una estructura de extensión de configuración (por ejemplo, la estructura de extensión de configuración 226). La estructura de configuración 1010 comprende asimismo la estructura de extensión de configuración, a la que se denomina, por ejemplo, “UsacConfigExtension()” 1028a. La estructura de extensión de configuración es preferiblemente parte de la estructura de configuración 1010 y puede estar representada, por ejemplo, por una secuencia de bits que sigue inmediatamente a los bits que representan los otros elementos de configuración de la estructura de configuración 1010. La estructura de extensión de configuración puede llevar, por ejemplo, la información del identificador de flujo, tal como se describirá más adelante.
A continuación, se describirá una posible sintaxis de la estructura de extensión de configuración con referencia a la figura 10b, en la que la estructura de extensión de configuración se designa en su totalidad con el número 1030 y corresponde a la estructura de extensión de configuración 1028a.
La estructura de extensión de configuración (también denominada “UsacConfigExtensionO”) puede codificar, por ejemplo, un número de extensiones de configuración en un elemento de sintaxis 1040a. Debe tenerse en cuenta que el orden de los diferentes elementos de información de extensión de configuración puede ser elegido arbitrariamente, puesto que hay una información de tipo de extensión de configuración 1042a y una información de longitud de extensión de configuración 1044a para cada elemento de extensión de configuración. En consecuencia, la estructura de extensión de configuración 1030 puede llevar una pluralidad de elementos de extensión de configuración (o elementos de información de extensión de configuración) en un orden variable, en la que un codificador de audio puede determinar qué elemento de extensión de configuración se codifica en primer lugar y qué elemento de extensión de configuración se codifica después. Por ejemplo, para cada elemento de información de configuración, puede haber primero un identificador de tipo de extensión de configuración 1042a, seguido por una información de longitud de extensión de configuración 1044, y luego puede estar la “carga útil” del respectivo elemento de información de extensión de configuración. La codificación de la carga útil del respectivo elemento de información de extensión de configuración puede variar, por ejemplo, en función del tipo de elemento de información de extensión de configuración indicado por la información de tipo de extensión de configuración y la longitud de la carga útil del respectivo elemento de información de extensión de configuración puede determinarse por el valor de la respectiva información de longitud de extensión de configuración 1044a. Por ejemplo, en caso de que el elemento de información de extensión de configuración sea una información de relleno, puede haber uno o más bytes de relleno. Por otra parte, si el elemento de información de extensión de configuración es una información de sonoridad de extensión de configuración, puede haber una estructura de datos que comprende una información acerca de la sonoridad (por ejemplo, denominada “ loudnessInfoSetQ”).
Además, si el elemento de información de extensión de configuración es un identificador de flujo, puede haber una representación numérica de un identificador de flujo que se designa “streamId()”. Se muestran ejemplos de sintaxis para diferentes tipos de elementos de información de extensión de configuración en los números de referencia 1046a,1048a y 1050a.
Para concluir, la sintaxis de la estructura de extensión de configuración es tal que puede variarse el orden de diferentes elementos de información de configuración. Por ejemplo, un codificador de audio puede ubicar el elemento de información de extensión de configuración de identificador de flujo antes o después de otros elementos de información de extensión de configuración. En consecuencia, el codificador de audio puede controlar, mediante la ubicación del elemento de información de extensión de configuración de identificador de flujo dentro de la estructura de extensión de configuración, qué otros elementos de información de la estructura de extensión de configuración deben tenerse en cuenta en una comparación entre la configuración indicada por la estructura de configuración actual y una información de configuración adquirida anteriormente por un decodificador de audio. Normalmente, se tendrán en cuenta los elementos de información de configuración que preceden a la estructura de extensión de configuración y cualquier elemento de información de extensión de configuración hasta e incluyendo la información del identificador de flujo en esa comparación, mientras que todo elemento de información de extensión de configuración que se codifique en el flujo de bits después del elemento de información de extensión de configuración de identificador de flujo se omitirá en la comparación.
Por tanto, la estructura de configuración tal como se explica con respecto a las figuras 10a y 10b es muy adecuada para el concepto según la presente invención.
La figura 10 muestra una sintaxis del elemento de información (de extensión de configuración) de identificador de flujo, que también se denomina “StreamId()” (o con “streamId()”). Tal como puede apreciarse, el identificador de flujo puede estar representado por una representación en números binarios de 16 bits. En consecuencia, pueden codificarse más de 65000 valores diferentes como identificador de flujo, que normalmente es suficiente para reconocer cualquier transición entre diferentes flujos de audio.
La figura 10d muestra un ejemplo de una asignación de identificadores tipo para diferentes elementos de información de extensión de configuración. Por ejemplo, un elemento de información de extensión de configuración del tipo “ identificador de flujo” puede estar representado por un valor de siete de la información de tipo de extensión de configuración 1042a. Otros tipos de elementos de información de extensión de configuración pueden estar representados, por ejemplo, por otros valores de identificador de tipo de extensión de configuración 1042a.
En conclusión, las figuras 10a a 10d describen una posible sintaxis (o una extensión de sintaxis) de una estructura de configuración que puede utilizar un codificador de audio para codificar una información del identificador de flujo que puede utilizar un decodificador de audio para extraer una información del identificador de flujo.
Sin embargo, debe tenerse en cuenta que la estructura de configuración descrita en el presente documento solo debe tomarse como ejemplo y puede ser modificada en un amplio rango. Por ejemplo, la información de índice de frecuencia de muestreo y/o la información de frecuencia de muestreo y/o la información de índice de longitud de trama de replicación del ancho de banda espectral y/o la información de índice de configuración de canales podrían codificarse de otra manera. Además, opcionalmente, podría eliminarse uno o más de los elementos de información mencionados anteriormente. Adicionalmente, también podría omitirse el elemento de información UsacDecoderConfig.
Asimismo, podría modificarse la codificación del número de extensiones de configuración, de los tipos de extensión de configuración y de la longitud de la extensión de configuración. Igualmente, los diferentes elementos de información de extensión de configuración deben considerarse opcionales, y también podrían codificarse de manera diferente.
Además, el identificador de flujo también podría ser codificado con más o menos bits, en los que podrían utilizarse diferentes tipos de representación numérica. Además, la asignación de números de identificador a diferentes tipos de extensión de configuración debe considerarse como un ejemplo preferido, aunque no una característica esencial.
9. Conclusiones
A continuación, se describirán algunos aspectos según la invención, que pueden utilizarse individualmente o en combinación con las realizaciones descritas en el presente documento.
En particular, se describirá en el presente documento una solución según la presente invención.
Debe tenerse en cuenta que las reivindicaciones adjuntas describen los aspectos de las realizaciones según la presente invención.
Sin embargo, las realizaciones tal como se definen por las reivindicaciones pueden complementarse opcionalmente por cualquiera de las características descritas en el presente documento, individualmente o en combinación. Además, cabe señalar que cualquier definición entre paréntesis “()” o “[]” debe considerarse opcional, en particular cuando se utiliza en las reivindicaciones.
No obstante, debe tenerse en cuenta que las características de la invención descritas a continuación también pueden utilizarse al margen de las características de las reivindicaciones.
Además, las características y funcionalidades descritas en las reivindicaciones y descritas a continuación pueden combinarse opcionalmente con las características y funcionalidades descritas en la sección que describe los problemas subyacentes a los aspectos de la invención, las posibles situaciones de uso de las realizaciones y los enfoques convencionales. En particular, las características y funcionalidades descritas en el presente documento pueden utilizarse en un decodificador de audio USAC según ISO/IEC 23003-3: 2012, incluyendo la enmienda 3, subcláusula “adaptación de la tasa de bits” (por ejemplo, según lo normalizado la fecha de presentación de la solicitud de prioridad de la presente solicitud, o lo normalizado la fecha de presentación de la presente invención, aunque incluyendo también - opcionalmente -otras modificaciones futuras).
Según un aspecto de la invención, se propone la introducción (por ejemplo, en una sintaxis de flujo de bits USAC) de una nueva extensión de configuración para USAC con usacConfigExtType==ID_CONHG_EXT_STREAM_ID con una estructura de flujo de bits asociada que contiene un sencillo campo de bits de identificador universal de 16 bits. Este identificador debe ser diferente (por ejemplo, puede elegirse diferente por un codificador de audio o por un proveedor de flujos de audio) entre dos estructuras de configuración cualesquiera para todos los flujos dentro de un conjunto de flujos que están destinados a una conmutación sin errores entre ellos. Un ejemplo de un conjunto de flujos de este tipo es un denominado “conjunto de adaptación” en el caso de uso de distribución MPEG-DASH.
La extensión de configuración de ID de flujo exclusivo propuesta garantizará, por ejemplo, que en un punto de comparación de la estructura de configuración actual (o la configuración actual) con una nueva (por ejemplo, del lado de un codificador de audio o del lado de un decodificador de audio), la nueva configuración (y, por ende, el nuevo flujo) es identificado correctamente y el decodificador se ha de comportar de la manera esperada y pretendida, por ejemplo, el decodificador llevará a cabo un correcto vaciado del decodificador, silenciado previo de unidades de acceso y realización de un fundido encadenado (en caso de aplicarse).
El siguiente es un texto (modificación) de memoria descriptiva propuesta (por ejemplo, de MPEG-D USAC (ISO/IEC 23003-3+AMD.1+AMD-2+AMD.3) tal como se normalizó en la fecha de presentación de la presente solicitud o tal como se normalizó en la fecha de presentación de la solicitud de prioridad, y opcionalmente que comprende todas las modificaciones futuras).
Los pasajes mencionados en los siguientes aspectos descritos de la invención que pueden utilizarse individualmente o en combinación con un decodificador de audio USAC o dentro de otro decodificador de audio basado en tramas. Un codificador de audio puede emplear una extensión de configuración, tal como se muestra en la siguiente tabla 15, a fin de proporcionar un flujo de bits de audio y puede ser utilizada por un decodificador de audio para extraer información de un flujo de bits de audio.
Al utilizar una codificación y decodificación de audio según la norma USAC mencionada anteriormente, la tabla 15 de la sección 5.2 debe reemplazarse por la siguiente versión actualizada de la tabla 15:
Tabla 15 — Sintaxis de UsacConfigExtension()
Figure imgf000028_0002
_____________________________________________________________________________
Además, cuando se considera una codificación de audio o una decodificación de audio según la norma USAC, al final de la sección 5.2 de la norma USAC, debe agregarse una nueva tabla AMD.01 tal como sigue (en la que los detalles de codificación y número de bits son opcionales):
Tabla AMD.01 — Sintaxis de Streamld()
Figure imgf000028_0001
___________________________________
Sin embargo, en dichas tablas, los detalles de codificación y, por ejemplo, un número de bits deben considerarse opcionales.
Además, cuando se considera una codificación o decodificación según la norma USAC, debe agregarse la siguiente subcláusula 6.1.15 después de "6.1.14 UsacConfigExtension()":
"6.1.15 Identificador exclusivo de flujo (Stream ID)
6.1.15.1 Términos, definiciones y semántica
streamIdentifier
un identificador de flujo entero sin signo de dos bytes (stream ID) que ha de identificar únicamente una configuración de un flujo dentro de un conjunto de flujos asociados que están destinados a la conmutación sin fisuras entre ellos. streamIdentifier puede asumir valores desde 0 hasta 65535. (los detalles de codificación son opcionales)
EJEMPLO Cuando forman parte de un conjunto de adaptación de MPEG-DASH definido en ISO/IEC 23009, todos los ID de flujo de los flujos en ese conjunto de adaptación DASH deben distinguirse por pares.
6.1.15.2 Descripción del identificador de flujo
Las extensiones de configuración del tipo ID_CONFIG_EXT_STREAM_ID proporcionan un recipiente para la señalización de un identificador de flujo (abreviado: "stream ID"). La extensión de config stream ID permite unir un número entero exclusivo a una estructura de configuración de manera que las configuraciones de flujos de bits de audio de dos flujos puedan distinguirse incluso si el resto de la estructura de configuración es idéntica (en bits).
La usacConfigExtLength de una extensión de config del tipo ID_CONFIG_EXT_STREAM_ID ha de tener un valor de 2 (dos). (opcional, también podría ser diferente)
Ningún flujo de bits de audio dado ha de tener más de una extensión de configuración del tipo ID_CONFIG_EXT_STREAM_ID. (opcional)
Si una instancia de un decodificador en funcionamiento normal recibe una nueva estructura de configuración, por ejemplo, por medio de un Config() en una carga útil de extensión ID_EXT_ELE_AUDIOPREROLL, ha de compararse esta nueva estructura de configuración con la configuración actualmente activa (véase, por ejemplo, 7.18.3.3). Dicha comparación puede llevarse a cabo, por ejemplo, por medio de una comparación por bits de las correspondientes estructuras de configuración.
Si las estructuras de configuración contienen extensiones de configuración, entonces, por ejemplo, todas las extensiones de configuración hasta e incluyendo la extensión de configuración del tipo ID_CONFIG_EXT_STREAM_ID han de incluirse en la comparación. No han de considerarse todas las extensiones de configuración posteriores a la extensión de configuración del tipo ID_CONFIG_EXT_STREAM_ID durante la comparación. (opcional)
NOTA La regla anterior permite que un codificador controle si los cambios en extensiones de configuración particulares han de provocar una reconfiguración del decodificador o no”.
Debe tenerse en cuenta que las definiciones y detalles de este pasaje que han de agregarse a la norma pueden utilizarse opcionalmente en las realizaciones según la presente invención, tanto individualmente como en combinación, independientemente de qué. Cuando se considera una codificación o decodificación USAC, debe reemplazarse la tabla 74 de la cláusula 6 por la tabla tal como se muestra en la figura 10d.
Para concluir, se han descrito algunos cambios posibles que pueden introducirse en la norma USAC. Sin embargo, el concepto tal como se describe en el presente documento también puede utilizarse en relación con otras normas de codificación de audio. En otras palabras, también sería posible introducir en cierta estructura de configuración de cualquier norma de codificación de audio, una información del identificador de flujo, tal como se describe en el presente documento.
Las características descritas en el presente documento con respecto a la información del identificador de flujo también podrían aplicarse en combinación con otras normas de codificación. En este caso, debe adaptarse la terminología a la terminología de la respectiva norma de codificación de audio.
A continuación, se describirán algunos efectos y ventajas opcionales según la presente invención.
La extensión de configuración presentada proporciona una solución de fácil implementación para distinguir entre estructuras de configuración que por lo demás son idénticas en bits. La capacidad de distinción obtenida entre configuraciones permite, por ejemplo, la funcionalidad correcta y originalmente pretendida de transmisión en tiempo real adaptativa dinámica con transiciones sin fisuras entre flujos.
A continuación, se describirán algunas soluciones alternativas.
Por ejemplo, podría evitarse el problema mencionado anteriormente si el codificador garantizara que todos los flujos dentro de un conjunto de flujos tienen diferentes configuraciones, es decir, hacen uso de diferentes herramientas de codificación o utilizan diferentes parametrizaciones. Si las diferencias en tasa de bits de los flujos individuales son lo suficientemente grandes, esto normalmente da como resultado configuraciones que se distinguen por pares. Si es necesaria una fina cuadrícula de tasas de bits, que a menudo es el caso, la solución (convencional) no funcionará en algunos casos.
Por el contrario, utilizando un identificador de flujo, que está incluido en una parte de configuración (también denominada estructura de configuración), para distinguir flujos diferentes, pueden distinguirse flujos también si el resto de la estructura de configuración es idéntico (lo que en ocasiones es el caso si las tasas de bits son similares). Como alternativa (por ejemplo, como alternativa al uso de un identificador de flujo), podría crearse una extensión de configuración apropiada no especificada que es variable para cada flujo, aunque de alguna manera tiene estructura diferente. El efecto sería el mismo. Sin embargo, no puede garantizarse una correcta funcionalidad, puesto que no puede garantizarse que todas las implementaciones del decodificador evalúen esta extensión de configuración no especificada, al comparar las configuraciones en la situación descrita anteriormente.
Por el contrario, las realizaciones según la invención crean un concepto en el cual se especifica claramente un identificador de flujo en una estructura de configuración y permite una distinción bien definida de flujos diferentes. Debe tenerse en cuenta que la implementación del concepto de la invención puede reconocerse por un análisis de la estructura de configuración de flujos USAC. Además, las implementaciones del concepto de la invención pueden reconocerse mediante pruebas de la presencia de extensiones de configuración tal como se describió anteriormente. A continuación, se describirán algunos campos de aplicación posibles para aspectos según la invención.
Las realizaciones según la invención posibilitan la distinción de estructuras de datos por lo demás idénticas.
Las realizaciones adicionales según la invención posibilitan la distinción de estructuras de configuración de códecs de audio por lo demás idénticas.
Las realizaciones según la invención permiten una transmisión en tiempo real de audio adaptativa dinámica sin fisuras a través de cualquier red de transmisión.
A continuación, se describirán algunos aspectos adicionales, que deben considerarse opcionales.
Por ejemplo, se describirá a continuación un comportamiento de codificador de audio/proveedor de flujos de audio. A continuación, se describirán algunos detalles opcionales con respecto al codificador de audio (que también puede adoptar la forma de un proveedor de flujos de audio).
El codificador de audio habitualmente no genera un (único) flujo que cambia repentinamente su configuración, sino que el codificador o un entramado del codificador que comprende múltiples instancias del codificador genera múltiples flujos en paralelo, que respectivamente comprenden IPF (“tramas de emisión inmediata”), en posiciones sincronizadas (puntos de tiempo) dentro de los flujos.
Entonces, un entramado del decodificador selecciona, según criterios específicos y/o predeterminados, como, por ejemplo, la calidad de una conexión a Internet, uno de los flujos generados en paralelo y “pide” (o solicita) a un servidor del lado del codificador que envíe exactamente ese flujo y luego envía el flujo al decodificador. Todos los demás flujos codificados simplemente se ignoran. Entonces, solo se permite un cambio entre flujos en las IPF.
El decodificador de audio no reconoce inicialmente ese cambio y/o no está informado de ese cambio, por ejemplo, por el entramado del decodificador. Por el contrario, el decodificador de audio necesita detectar un cambio de flujo mediante una comparación de las estructuras de configuración (“Config-structures”) integradas. Desde el punto de vista del decodificador, parece que el codificador solo había generado un flujo con una configuración cambiante (“Config”). En realidad, esto no es lo que ocurre habitualmente. Por el contrario, el codificador siempre genera (de manera continua) múltiples variantes (que comprenden tasas de bits diferentes) en paralelo; solo el entramado del decodificador y el servidor del lado del codificador (o proveedor de flujos) dividen los flujos y vuelven a disponer (concatenar) partes de los flujos (o los flujos).
En las figuras se muestran detalles opcionales adicionales.
Además, debe tenerse en cuenta que los aparatos mostrados en las figuras pueden complementarse por cualquiera de las características y funcionalidades descritas en el presente documento, ya sea individualmente o en combinación. Para concluir, un codificador de audio o un proveedor de flujos de audio puede conmutar entre una provisión de flujos diferentes a un determinado decodificador de audio (o a un dispositivo de decodificación de audio), en el que la conmutación puede realizarse, por ejemplo, a petición del decodificador de audio o del dispositivo de decodificación de audio, o a petición de cualquier otro dispositivo de gestión de redes, o incluso por una decisión del codificador de audio o proveedor de flujos de audio. La conmutación entre la provisión de tramas de flujos de audio diferentes puede usarse para adaptar la tasa de bits actual a una tasa de bits disponible. La configuración del decodificador, que se comunica por señales desde un codificador de audio (o proveedor de flujos de audio) a un decodificador de audio puede ser idéntica entre flujos diferentes, aunque el identificador de flujo debe ser diferente entre flujos diferentes. En consecuencia, el decodificador de audio puede reconocer, utilizando el identificador de flujo, cuándo debe efectuarse una reinicialización del decodificador de audio utilizando la información adicional (por ejemplo, información de configuración e información de silenciado previo) incluida en una trama de emisión inmediata.
Para concluir además, el uso un identificador de flujo (“streamID”), tal como se describe en el presente documento, puede superar los problemas mencionados en la sección que describe los problemas subyacentes a los aspectos de la invención y las posibles situaciones de uso para las realizaciones.
10. Métodos
Las figuras 11a a 11c muestran diagramas de flujo de los métodos según las realizaciones de la presente invención.
Los métodos tal como se muestran en las figuras 11a a 11c pueden complementarse por cualquiera de las características y funcionalidades descritas en el presente documento.
11. Alternativas de implementación
Aunque se han descrito algunos aspectos en el contexto de un aparato, es obvio que estos aspectos también representan una descripción del método correspondiente, en el cual un bloque o dispositivo corresponde a una etapa del método o a una característica de una etapa del método. De manera análoga, los aspectos descritos en el contexto de una etapa del método también representan una descripción de un bloque o elemento o característica correspondiente de un aparato correspondiente. Algunas o todas las etapas del método pueden ejecutarse por (o utilizando) un aparato de hardware, como, por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, una o más de las etapas más importantes del método pueden ejecutarse por un aparato de este tipo.
La señal de audio codificada de la invención puede almacenarse en un medio de almacenamiento digital o puede transmitirse en un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión por cable tal como Internet.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede realizarse empleando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene almacenadas en la misma señales control legibles electrónicamente, que actúan conjuntamente (o pueden actuar conjuntamente) con un sistema informático programable de manera que se realice el método respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en el presente documento, almacenado en un portador legible por máquina.
En otras palabras, una realización del método de la invención es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los métodos descritos en el presente documento, cuando se ejecuta el programa informático en un ordenador.
Una realización adicional del método de la invención es, por lo tanto, un flujo de datos o una secuencia de señales que representa el programa informático para realizar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales puede estar configurada, por ejemplo, para ser transferida a través de una conexión de comunicación de datos, por ejemplo, a través de Internet.
El aparato descrito en el presente documento puede implementarse empleando un aparato de hardware, o utilizando un ordenador, o utilizando una combinación de un aparato de hardware y un ordenador.
El aparato descrito en el presente documento, o cualquier componente del aparato descrito en el presente documento, puede implementarse, al menos parcialmente, en hardware y/o en software.
Los métodos descritos en el presente documento pueden realizarse empleando un aparato de hardware, o utilizando un ordenador, o utilizando una combinación de un aparato de hardware y un ordenador.
Los métodos descritos en el presente documento, o cualquier componente del aparato descrito en el presente documento, puede realizarse al menos parcialmente por hardware y/o por software.
Las realizaciones descritas anteriormente son meramente ilustrativas de los principios de la presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento resultarán obvias para otros expertos en la técnica. Por lo tanto, solo se pretende quedar limitados por el alcance de las reivindicaciones de patente inminentes y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones en el presente documento.

Claims (1)

  1. REIVINDICACIONES
    i . Decodificador de audio (100; 200) para proporcionar una representación de señal de audio decodificada (112;
    212) basándose en una representación de señal de audio codificada (110; 210; 312;412;550; 600;700;800),
    en el que el decodificador de audio está configurado para ajustar parámetros de decodificación en función de una información de configuración (110a;222c;332;424; 1010, 1030),
    en el que el decodificador de audio está configurado para decodificar una o más tramas de audio usando una información de configuración actual (140;240), y
    en el que el decodificador de audio está configurado para comparar una información de configuración (110a;222c;332;424; 1010, 1030) en una estructura de configuración asociada a una o más tramas (222) que han de decodificarse, con la información de configuración actual (140;240), y para efectuar una transición para realizar una decodificación empleando la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse como nueva información de configuración si la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, o una parte relevante (1020a,1020b,1022a,1024a,1024b,1026a,1050a) de la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, es diferente de la información de configuración actual;
    en el que el decodificador de audio está configurado para tener en cuenta la información del identificador de flujo (230; streamID, 1050a, streamIdentifier) en la estructura de configuración al comparar la información de configuración, de manera que una diferencia entre un identificador de flujo adquirido anteriormente por el decodificador de audio y un identificador de flujo representado por la información del identificador de flujo en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse provoca la realización de la transición.
    2. Decodificador de audio según la reivindicación 1, en el que el decodificador de audio está configurado para verificar si la estructura de configuración comprende la información del identificador de flujo (230; streamID, 1050a, streamIdentifier), y para tener en cuenta de manera selectiva la información del identificador de flujo en la comparación si la información del identificador de flujo está incluida en la estructura de configuración (222c; 1010,1030).
    3. Decodificador de audio según la reivindicación 1 o 2, en el que el decodificador de audio está configurado para verificar si la estructura de configuración (222c; 1010,1030) comprende una estructura de extensión de configuración (226;1030), y para comprobar si la estructura de extensión de configuración comprende la información del identificador de flujo (230; streamID, 1050a, streamIdentifier), y
    en el que el decodificador de audio está configurado para tener en cuenta de manera selectiva la información del identificador de flujo en la comparación si la información del identificador de flujo está incluida en la estructura de extensión de configuración.
    4. Decodificador de audio según la reivindicación 3, en el que el decodificador de audio está configurado para aceptar una disposición variable de elementos de información de configuración (1046a,1048a,1050a) en la estructura de extensión de configuración (226;1030; UsacConfigExtension()), y
    en el que el decodificador de audio está configurado para tener en cuenta elementos de información de configuración dispuestos en la estructura de extensión de configuración antes de la información del identificador de flujo (230; streamID, 1050a, streamIdentifier) al comparar la información de configuración en la estructura de configuración asociada a una o más tramas que han de decodificarse con la información de configuración actual (140;240), y
    en el que el decodificador de audio está configurado para dejar los elementos de información de configuración dispuestos en la estructura de extensión de configuración después de la información del identificador de flujo al comparar la información de configuración en la estructura de configuración asociada a una o más tramas que han de decodificarse con la información de configuración actual.
    5. Decodificador de audio según la reivindicación 4,
    en el que el decodificador de audio está configurado para identificar uno o más elementos de información de configuración (1046a,1048a,1050a) en la estructura de extensión de configuración basándose en uno o más identificadores de tipo de extensión de configuración (1042) que preceden a los respectivos elementos de información de configuración.
    6. Decodificador de audio según una de las reivindicaciones 3 a 5, en el que la estructura de extensión de configuración (226;1030) es una subestructura de datos de la estructura de configuración (222c; 1010,1030), en el que una presencia de la estructura de extensión de configuración está indicada por un bit (UsacConfigExtensionPresent) de la estructura de configuración (222c; 1010,1030) que es evaluada por el decodificador de audio, y
    en el que la información del identificador de flujo (230; streamID, 1050a, streamIdentifier) es un subelemento de datos de la estructura de extensión de configuración,
    en el que una presencia de la información del identificador de flujo está indicada por un identificador de tipo de extensión de configuración (1042) asociado a la información del identificador de flujo que es evaluada por el decodificador de audio.
    7. Decodificador de audio según una de las reivindicaciones 1 a 6,
    en el que el decodificador de audio está configurado para obtener y procesar una representación de trama de audio que comprende una información de acceso aleatorio (222b),
    en el que la información de acceso aleatorio comprende una estructura de configuración (222c; 1010,1030)) e información (222d; AccessUnit()) para llevar un estado de una cadena de procesamiento del decodificador de audio a un estado deseado,
    en el que el decodificador de audio está configurado para realizar el fundido encadenado entre una información de audio (272) representada por una trama de audio (220) procesada antes de llegar a la representación de trama de audio que comprende la información de acceso aleatorio y una información de audio (276) derivada basándose en la representación de trama de audio (222) que comprende la información de acceso aleatorio después de una inicialización del decodificador de audio usando la estructura de configuración (222c) de la información de acceso aleatorio y después de ajustar un estado del decodificador de audio usando la información (222d) para llevar un estado de la cadena de procesamiento a un estado deseado si el decodificador de audio encuentra que la información de configuración en la estructura de configuración (222c) de la información de acceso aleatorio, o una parte relevante de la información de configuración en la estructura de configuración de la información de acceso aleatorio, es diferente de la información de configuración actual (240).
    8. Decodificador de audio según la reivindicación 7, en el que el decodificador de audio está configurado para continuar decodificando sin realizar una inicialización del decodificador de audio y sin usar la información (222d) para llevar un estado de la cadena de procesamiento del decodificador de audio a un estado deseado si el decodificador de audio ha decodificado una trama de audio que precede directamente a una trama de audio representada por la representación de trama de audio que comprende la información de acceso aleatorio y si el decodificador de audio encuentra que la parte relevante de la información de configuración (222c) en la estructura de configuración de la información de acceso aleatorio es igual a la información de configuración actual (240).
    9. Decodificador de audio según la reivindicación 7 o la reivindicación 8, en el que el decodificador de audio está configurado para realizar una inicialización del decodificador de audio usando la estructura de configuración (222c) de la información de acceso aleatorio y para ajustar un estado del decodificador de audio usando la información (222d) para llevar un estado de la cadena de procesamiento a un estado deseado si el decodificador de audio no ha decodificado una trama de audio que precede directamente a una trama de audio representada por la representación de trama de audio que comprende la información de acceso aleatorio.
    10. Codificador de audio (300) para proporcionar la representación de señal de audio codificada (110; 210;
    312;412;550; 600;700;800),
    en el que el codificador de audio está configurado para codificar tramas superpuestas o no superpuestas de una señal de audio (310) usando parámetros de codificación, para obtener la representación de señal de audio codificada,
    en el que el codificador de audio está configurado para proporcionar una estructura de configuración (110a;222c;332;424; 1010, 1030) que describe los parámetros de codificación o los parámetros de decodificación que ha de utilizar un decodificador de audio como parte de la representación de señal de audio codificada, en el que la estructura de configuración comprende un identificador de flujo (230; streamID, 1050a, streamIdentifier).
    11. Codificador de audio según la reivindicación 10, en el que el codificador de audio está configurado para incluir el identificador de flujo (230; streamID, 1050a, streamIdentifier) en una estructura de extensión de configuración (226;1030; UsacConfigExtension()) de la estructura de configuración (222c;1010), en el que la estructura de extensión de configuración que comprende el identificador de flujo puede habilitarse e inhabilitarse por el codificador de audio.
    12. Codificador de audio según la reivindicación 11, en el que el codificador de audio está configurado para incluir en la estructura de extensión de configuración (226;1030; UsacConfigExtension()) un identificador de tipo de extensión de configuración (1042) designando el identificador de flujo para comunicar por señales la presencia del identificador de flujo (230; streamID, 1050a, streamIdentifier) en la estructura de extensión de configuración.
    13. Codificador de audio según una de las reivindicaciones 10 a 12, en el que el codificador de audio está configurado para proporcionar al menos una estructura de configuración (222c;1010,1030) que comprende el identificador de flujo y al menos una estructura de configuración que no comprende el identificador de flujo.
    14. Codificador de audio según una de las reivindicaciones 10 a 13, en el que el codificador de audio está configurado para conmutar entre una provisión de una primera información de audio codificado (552; 710,720; 810) que está representada por una primera secuencia de tramas de audio, y una segunda información de audio codificado (554;730,740,750;820) que está representada por una segunda secuencia de tramas de audio,
    en el que una renderización correcta de una primera trama de audio (730;820a) de la segunda secuencia de tramas de audio después de una renderización de una última trama (720; 810e) de la primera secuencia de tramas de audio requiere una reinicialización de un decodificador de audio;
    en el que el codificador de audio está configurado para incluir en una representación de trama de audio que representa la primera trama de la segunda secuencia de tramas de audio una estructura de configuración (222c; 1010,1030) que comprende un identificador de flujo (230; streamID, 1050a, streamIdentifier) asociado a la segunda secuencia de tramas de audio,
    en el que el identificador de flujo asociado a la segunda secuencia de tramas de audio es diferente de un identificador de flujo asociado a la primera secuencia de tramas de audio.
    15. Codificador de audio según una de las reivindicaciones 10 a 14, en el que el codificador de audio no proporciona ninguna otra información de señalización que indique la conmutación de la primera secuencia de información de tramas de audio (552; 710,720; 810) a la segunda secuencia de tramas de audio (554;730,740,750;820) excepto el identificador de flujo.
    16. Codificador de audio según una de las reivindicaciones 14 o 15, en el que el codificador de audio está configurado para proporcionar la primera secuencia de tramas de audio (552; 710,720; 810) y la segunda secuencia de tramas de audio (554;730,740,750;820) usando tasas de bits diferentes, y
    en el que el codificador de audio está configurado para comunicar por señales a un decodificador de audio información de configuración del decodificador idéntica (222c;1010,1030) para la decodificación de la primera secuencia de tramas de audio y para la decodificación de la segunda secuencia de tramas de audio, excepto identificadores de flujo de bits diferentes (230; streamID, 1050a, stream Identifier).
    17. Método para proporcionar una representación de señal de audio decodificada basándose en la representación de señal de audio codificada,
    en el que el método comprende ajustar parámetros de decodificación en función de una información de configuración (110a;222c;332;424; 1010, 1030),
    en el que el método comprende decodificar una o más tramas de audio usando una información de configuración actual (140;240) y
    en el que el método comprende comparar una información de configuración (110a;222c;332;424; 1010, 1030) en una estructura de configuración asociada a una o más tramas (222) que han de decodificarse, con la información de configuración actual, y en el que el método comprende efectuar una transición para realizar una decodificación utilizando la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse como nueva información de configuración si la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, o una parte relevante (1020a,1020b,1022a,1024a,1024b,1026a,1050a) de la información de configuración en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse, es diferente de la información de configuración actual;
    en el que el método comprende tener en cuenta una información del identificador de flujo (230; streamID, 1050a, streamIdentifier) incluido en la estructura de configuración al comparar la información de configuración, de manera que una diferencia entre un identificador de flujo adquirido anteriormente en la decodificación de audio y un identificador de flujo representado por la información del identificador de flujo en la estructura de configuración asociada a dichas una o más tramas que han de decodificarse provoca la realización de la transición.
    18. Método para proporcionar una representación de señal de audio codificada (110; 210; 312;412;550;
    600;700;800),
    en el que el método comprende codificar tramas superpuestas o no superpuestas de una señal de audio (310) usando parámetros de codificación, para obtener la representación de señal de audio codificada, en el que el método comprende proporcionar una estructura de configuración (110a;222c;332;424; 1010, 1030) que describe los parámetros de codificación o los parámetros de decodificación que ha de utilizar un decodificador de audio como parte de la representación de señal de audio codificada, en el que la estructura de configuración comprende un identificador de flujo (230; streamID, 1050a, streamIdentifier).
    19. Flujo de audio (110; 210; 312;412;550; 600;700;800), que comprende:
    una representación codificada (222a) de tramas superpuestas o no superpuestas de una señal de audio; y una estructura de configuración (222c) que describe parámetros de codificación o parámetros de decodificación que ha de utilizar un decodificador de audio,
    en el que la estructura de configuración comprende una información del identificador de flujo (230; streamID, 1050a, streamIdentifier) que representa un identificador de flujo.
    20. Flujo de audio según la reivindicación 19,
    en el que la información del identificador de flujo (230; streamID, 1050a, streamIdentifier) está incluida en una estructura de extensión de configuración (226;1030; UsacConfigExtension()), y
    en el que la estructura de extensión de configuración es una subestructura de datos de una estructura de configuración (222c;1010), en el que una presencia de la estructura de extensión de configuración está indicada por un bit (UsacConfigExtensionPresent) de la estructura de configuración, y
    en el que la información del identificador de flujo (230; streamID, 1050a, streamIdentifier) es un subelemento de datos de la estructura de extensión de configuración,
    en el que una presencia de la información del identificador de flujo está indicada por un identificador de tipo de extensión de configuración (1042) asociado a la información del identificador de flujo.
    21. Flujo de audio según la reivindicación 19 o 20, en el que el identificador de flujo está integrado a una subestructura de datos (222c, 226; 1010,1030) de una representación (222) de una trama de audio.
    22. Flujo de audio según una de las reivindicaciones 19 a 21, en el que el identificador de flujo está solo integrado a una subestructura de datos de una representación de una trama de audio que comprende una estructura de configuración.
    23. Proveedor de flujos de audio (400) para proporcionar una representación de señal de audio codificada (110;
    210; 312;412;550; 600;700;800),
    en el que el proveedor de flujos de audio está configurado para proporcionar versiones codificadas (220,222; 710,720,730,740,750; 810a-810e,820a-820d,830a-830d) de tramas superpuestas o no superpuestas de una señal de audio, codificadas empleando parámetros de codificación, como parte de la representación de señal de audio codificada,
    en el que el proveedor de flujos de audio está configurado para proporcionar una estructura de configuración (220;1010,1030) que describe los parámetros de codificación o los parámetros de decodificación que ha de utilizar un decodificador de audio como parte de la representación de señal de audio codificada,
    en el que la estructura de configuración comprende un identificador de flujo (230; streamID, 1050a, streamIdentifier).
    24. Proveedor de flujos de audio según la reivindicación 23, en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que el identificador de flujo (230; streamID, 1050a, streamIdentifier) esté incluido en una estructura de extensión de configuración (222c;1030) de la estructura de configuración, en el que la estructura de extensión de configuración que comprende el identificador de flujo puede habilitarse e inhabilitarse por uno o más bits (UsacConfigExtensionPresent) en la estructura de configuración.
    25. Proveedor de flujos de audio según la reivindicación 24, en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la estructura de extensión de configuración comprenda un identificador de tipo de extensión de configuración (1042) que ordena al identificador de flujo (230; streamID, 1050a, streamIdentifier) comunicar por señales la presencia del identificador de flujo en la estructura de extensión de configuración.
    26. Proveedor de flujos de audio según una de las reivindicaciones 23 a 25, en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la representación de señal de audio codificada comprenda al menos una estructura de configuración (222c; 1010,1030) que comprende el identificador de flujo y al menos una estructura de configuración que no comprende el identificador de flujo.
    27. Proveedor de flujos de audio según una de las reivindicaciones 23 a 26, en el que el proveedor de flujos de audio está configurado para conmutar entre una provisión de una primera parte de información (552; 710,720; 810) de una información de audio codificada, que está representada por una primera secuencia de tramas de audio, y una segunda parte (554;730,740,750;820) de la información de audio codificada, que está representada por una segunda secuencia de tramas de audio,
    en el que una renderización correcta de una primera trama de audio (730;820a) de la segunda secuencia de tramas de audio después de una renderización de una última trama (720; 810e) de la primera secuencia de tramas de audio requiere una reinicialización de un decodificador de audio;
    en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que una representación de trama de audio que representa la primera trama de la segunda secuencia de tramas de audio incluya una estructura de configuración (222c;1010) que comprende un identificador de flujo (230; streamID, 1050a, streamIdentifier) asociado a la segunda secuencia de tramas de audio,
    en el que el identificador de flujo asociado a la segunda secuencia de tramas de audio es diferente de un identificador de flujo asociado a la primera secuencia de tramas de audio.
    28. Proveedor de flujos de audio según una de las reivindicaciones 23 a 27, en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la representación de señal de audio codificada no proporcione ninguna otra información de señalización que indique la conmutación de la primera secuencia de tramas de audio a la segunda secuencia de tramas de audio excepto el identificador de flujo.
    29. Proveedor de flujos de audio según una de las reivindicaciones 27 o 28, en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la primera secuencia de tramas de audio (552; 710,720; 810) y la segunda secuencia de tramas de audio (554;730,740,750;820) se codifiquen empleando tasas de bits diferentes, y
    en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que la representación de señal de audio codificada comunique por señales a un decodificador de audio información de configuración del decodificador idéntica para la decodificación de la primera secuencia de tramas de audio y para la decodificación de la segunda secuencia de tramas de audio, excepto los diferentes identificadores de flujos de bits.
    30. Proveedor de flujos de audio según una de las reivindicaciones 23 a 29, en el que el proveedor de flujos de audio está configurado para conmutar entre una provisión de una primera secuencia de tramas de audio (552; 710,720; 810) y una segunda secuencia de tramas de audio (554;730,740,750;820) a un decodificador de audio,
    en el que la primera secuencia de tramas de audio y la segunda secuencia de tramas de audio se codifican empleando tasas de bits diferentes,
    en el que el proveedor de flujos de audio está configurado para conmutar de manera selectiva entre la provisión de la primera secuencia de tramas de audio y la provisión de la segunda secuencia de tramas de audio en una trama de audio para la cual la representación de trama de audio comprende una información de acceso aleatorio (222b; AudioPreRoll() ) evitando a la vez conmutar entre secuencias en tramas de audio que no comprenden una información de acceso aleatorio,
    en el que el proveedor de flujos de audio está configurado para proporcionar la representación de señal de audio codificada de manera que un identificador de flujo esté incluido en una estructura de configuración (222c;1010,1030) de una trama de audio que se proporciona al conmutar de la primera secuencia de tramas de audio a la segunda secuencia de tramas de audio.
    Proveedor de flujos de audio según la reivindicación 30, en el que el proveedor de flujos de audio está configurado para obtener una pluralidad de secuencias paralelas (520,530) de tramas de audio codificadas empleando tasas de bits diferentes, y en el que el proveedor de flujos de audio está configurado para conmutar entre una provisión de tramas de diferentes secuencias a un decodificador de audio, en el que el proveedor de flujos de audio está configurado para comunicar por señales al decodificador de audio a cuáles de las secuencias está asociada una o más tramas usando el identificador de flujo que está incluido en la estructura de configuración de una representación de la primera trama de audio proporcionada después de una conmutación.
    Método para proporcionar una representación de señal de audio codificada,
    en el que el método comprende proporcionar versiones codificadas de tramas superpuestas o no superpuestas de una señal de audio, codificadas utilizando parámetros de codificación, como parte de la representación de señal de audio codificada,
    en el que el método comprende proporcionar una estructura de configuración que describe los parámetros de codificación o parámetros de decodificación que ha de utilizar un decodificador de audio como parte de la representación de señal de audio codificada,
    en el que la estructura de configuración comprende un identificador de flujo.
    Programa informático para realizar el método según la reivindicación 17 o la reivindicación 18 o 32, cuando el programa informático se ejecuta en un ordenador.
ES18700161T 2017-01-10 2018-01-10 Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo Active ES2853936T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17150915 2017-01-10
EP17151083 2017-01-11
PCT/EP2018/050575 WO2018130577A1 (en) 2017-01-10 2018-01-10 Audio decoder, audio encoder, method for providing a decoded audio signal, method for providing an encoded audio signal, audio stream, audio stream provider and computer program using a stream identifier

Publications (1)

Publication Number Publication Date
ES2853936T3 true ES2853936T3 (es) 2021-09-20

Family

ID=60943036

Family Applications (2)

Application Number Title Priority Date Filing Date
ES18700161T Active ES2853936T3 (es) 2017-01-10 2018-01-10 Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo
ES20206797T Active ES2953832T3 (es) 2017-01-10 2018-01-10 Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES20206797T Active ES2953832T3 (es) 2017-01-10 2018-01-10 Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo

Country Status (15)

Country Link
US (3) US11217260B2 (es)
EP (3) EP3822969B1 (es)
JP (3) JP6955029B2 (es)
KR (3) KR20230129569A (es)
CN (10) CN116631416A (es)
AU (6) AU2018208522B2 (es)
BR (1) BR112019014283A2 (es)
CA (2) CA3206050A1 (es)
ES (2) ES2853936T3 (es)
MX (6) MX2019008250A (es)
PL (2) PL3822969T3 (es)
SG (2) SG10202100336WA (es)
TW (1) TWI673708B (es)
WO (1) WO2018130577A1 (es)
ZA (1) ZA201905161B (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7455812B2 (ja) 2018-08-21 2024-03-26 ドルビー・インターナショナル・アーベー 即時再生フレーム(ipf)の生成、輸送及び処理のための方法、装置及びシステム
JP2023526627A (ja) * 2020-05-20 2023-06-22 ドルビー・インターナショナル・アーベー 音声音響統合復号の向上のための方法及び機器
CN113473170B (zh) * 2021-07-16 2023-08-25 广州繁星互娱信息科技有限公司 直播音频处理方法、装置、计算机设备及介质
CN118103906A (zh) * 2021-08-19 2024-05-28 弗劳恩霍夫应用研究促进协会 音频编码器、用于提供音频信息的编码表示的方法、计算机程序、以及使用立即播出帧的编码音频表示
US20230117444A1 (en) * 2021-10-19 2023-04-20 Microsoft Technology Licensing, Llc Ultra-low latency streaming of real-time media

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3765622B2 (ja) 1996-07-09 2006-04-12 ユナイテッド・モジュール・コーポレーション オーディオ符号化復号化システム
US6904089B1 (en) * 1998-12-28 2005-06-07 Matsushita Electric Industrial Co., Ltd. Encoding device and decoding device
EP1427252A1 (en) * 2002-12-02 2004-06-09 Deutsche Thomson-Brandt Gmbh Method and apparatus for processing audio signals from a bitstream
GB0326263D0 (en) * 2003-11-11 2003-12-17 Nokia Corp Speech codecs
CN100534155C (zh) * 2004-08-25 2009-08-26 汤姆逊许可公司 减少数字视频输入的频道变换时间的设备和方法
KR101215615B1 (ko) * 2006-01-10 2012-12-26 삼성전자주식회사 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치
US7697537B2 (en) * 2006-03-21 2010-04-13 Broadcom Corporation System and method for using generic comparators with firmware interface to assist video/audio decoders in achieving frame sync
KR101041895B1 (ko) * 2006-08-15 2011-06-16 브로드콤 코포레이션 패킷 손실 후 디코딩된 오디오 신호의 시간 워핑
WO2009063467A2 (en) * 2007-11-14 2009-05-22 Ubstream Ltd. System and method for adaptive rate shifting of video/audio streaming
WO2010005234A2 (en) * 2008-07-08 2010-01-14 Lg Electronics Inc. Transmitting/receiving system and method of processing data in the transmitting/receiving system
US8117039B2 (en) * 2008-12-15 2012-02-14 Ericsson Television, Inc. Multi-staging recursive audio frame-based resampling and time mapping
TWI501580B (zh) * 2009-08-07 2015-09-21 Dolby Int Ab 資料串流的鑑別
US8948241B2 (en) 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
KR101411780B1 (ko) 2009-10-20 2014-06-24 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 이전의 디코딩된 스펙트럼 값들의 그룹의 검출을 이용하는 오디오 인코더, 오디오 디코더, 오디오 정보를 인코딩하기 위한 방법, 오디오 정보를 디코딩하기 위한 방법 및 컴퓨터 프로그램
EA024310B1 (ru) * 2009-12-07 2016-09-30 Долби Лабораторис Лайсэнзин Корпорейшн Способ декодирования цифровых потоков кодированного многоканального аудиосигнала с использованием адаптивного гибридного преобразования
TWI557723B (zh) 2010-02-18 2016-11-11 杜比實驗室特許公司 解碼方法及系統
US8428936B2 (en) * 2010-03-05 2013-04-23 Motorola Mobility Llc Decoder for audio signal including generic audio and speech frames
WO2012026092A1 (ja) * 2010-08-23 2012-03-01 パナソニック株式会社 音声信号処理装置及び音声信号処理方法
US8711736B2 (en) * 2010-09-16 2014-04-29 Apple Inc. Audio processing in a multi-participant conference
US8613038B2 (en) * 2010-10-22 2013-12-17 Stmicroelectronics International N.V. Methods and apparatus for decoding multiple independent audio streams using a single audio decoder
JP5969513B2 (ja) * 2011-02-14 2016-08-17 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 不活性相の間のノイズ合成を用いるオーディオコーデック
KR101748760B1 (ko) * 2011-03-18 2017-06-19 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. 오디오 콘텐츠를 표현하는 비트스트림의 프레임들 내의 프레임 요소 배치
US8982942B2 (en) * 2011-06-17 2015-03-17 Microsoft Technology Licensing, Llc Adaptive codec selection
JP5856295B2 (ja) * 2011-07-01 2016-02-09 ドルビー ラボラトリーズ ライセンシング コーポレイション 適応的オーディオシステムのための同期及びスイッチオーバ方法及びシステム
US9324336B2 (en) * 2011-10-20 2016-04-26 Lg Electronics Inc. Method of managing a jitter buffer, and jitter buffer using same
US9183842B2 (en) * 2011-11-08 2015-11-10 Vixs Systems Inc. Transcoder with dynamic audio channel changing
CN103548080B (zh) * 2012-05-11 2017-03-08 松下电器产业株式会社 声音信号混合编码器、声音信号混合解码器、声音信号编码方法以及声音信号解码方法
US10171540B2 (en) * 2012-09-07 2019-01-01 High Sec Labs Ltd Method and apparatus for streaming video security
EP2720222A1 (en) * 2012-10-10 2014-04-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for efficient synthesis of sinusoids and sweeps by employing spectral patterns
MX339611B (es) 2013-01-21 2016-05-31 Dolby Laboratories Licensing Corp Codificador y decodificador de audio con metadatos de limite y sonoridad de programa.
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
EP2863386A1 (en) * 2013-10-18 2015-04-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
GB2526128A (en) * 2014-05-15 2015-11-18 Nokia Technologies Oy Audio codec mode selector
WO2015180866A1 (en) 2014-05-28 2015-12-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Data processor and transport of user control data to audio decoders and renderers
US10049684B2 (en) * 2015-04-05 2018-08-14 Qualcomm Incorporated Audio bandwidth selection
US10008214B2 (en) * 2015-09-11 2018-06-26 Electronics And Telecommunications Research Institute USAC audio signal encoding/decoding apparatus and method for digital radio services

Also Published As

Publication number Publication date
AU2020244609A1 (en) 2020-10-29
CA3049729C (en) 2023-09-05
KR102572557B1 (ko) 2023-08-30
CN110476207A (zh) 2019-11-19
PL3822969T3 (pl) 2024-01-08
US20240062768A1 (en) 2024-02-22
RU2019125257A3 (es) 2021-06-11
AU2022201458B2 (en) 2023-12-07
CN117037805A (zh) 2023-11-10
MX2022015785A (es) 2023-02-27
RU2019125257A (ru) 2021-02-12
AU2020244609B2 (en) 2022-04-07
US11837247B2 (en) 2023-12-05
KR20210129255A (ko) 2021-10-27
SG10202100336WA (en) 2021-02-25
EP3822969A1 (en) 2021-05-19
JP2022008681A (ja) 2022-01-13
CN116631415A (zh) 2023-08-22
TWI673708B (zh) 2019-10-01
CN116631413A (zh) 2023-08-22
US11217260B2 (en) 2022-01-04
TW201832225A (zh) 2018-09-01
AU2024201507A1 (en) 2024-03-28
US20190371351A1 (en) 2019-12-05
AU2018208522A1 (en) 2019-07-25
JP6955029B2 (ja) 2021-10-27
JP2023126775A (ja) 2023-09-12
AU2024201519A1 (en) 2024-03-28
EP4235662A2 (en) 2023-08-30
PL3568853T3 (pl) 2021-06-14
CA3049729A1 (en) 2018-07-19
KR20190103364A (ko) 2019-09-04
JP7295190B2 (ja) 2023-06-20
AU2022201458A1 (en) 2022-03-24
WO2018130577A1 (en) 2018-07-19
CA3206050A1 (en) 2018-07-19
EP3822969C0 (en) 2023-07-26
US20220262379A1 (en) 2022-08-18
EP3568853A1 (en) 2019-11-20
EP4235662A3 (en) 2023-10-11
MX2022015787A (es) 2023-02-27
CN116631416A (zh) 2023-08-22
MX2022015783A (es) 2023-02-27
CN116631417A (zh) 2023-08-22
KR102315774B1 (ko) 2021-10-22
MX2022015782A (es) 2023-02-27
EP3568853B1 (en) 2020-12-16
ZA201905161B (en) 2020-03-25
AU2018208522B2 (en) 2020-07-02
JP2020507131A (ja) 2020-03-05
CN117037807A (zh) 2023-11-10
SG11201906367PA (en) 2019-08-27
ES2953832T3 (es) 2023-11-16
AU2024201516A1 (en) 2024-03-28
KR20230129569A (ko) 2023-09-08
EP3822969B1 (en) 2023-07-26
CN110476207B (zh) 2023-09-01
CN117037806A (zh) 2023-11-10
BR112019014283A2 (pt) 2020-02-11
MX2022015786A (es) 2023-02-27
MX2019008250A (es) 2019-09-13
CN117037804A (zh) 2023-11-10
CN116631414A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
ES2853936T3 (es) Decodificador de audio, codificador de audio, método para proporcionar una señal de audio decodificada, método para proporcionar una señal de audio codificada, flujo de audio, proveedor de flujos de audio y programa informático que utiliza un identificador de flujo
CN105745704B (zh) 用于编码和解码音频数据的装置以及方法
KR20140128920A (ko) 코덱의 구성 설정 방법 및 이를 적용한 코덱