ES2741506T3 - Método y aparato de codificación de audio - Google Patents

Método y aparato de codificación de audio Download PDF

Info

Publication number
ES2741506T3
ES2741506T3 ES15711107T ES15711107T ES2741506T3 ES 2741506 T3 ES2741506 T3 ES 2741506T3 ES 15711107 T ES15711107 T ES 15711107T ES 15711107 T ES15711107 T ES 15711107T ES 2741506 T3 ES2741506 T3 ES 2741506T3
Authority
ES
Spain
Prior art keywords
region
band
energy
peak
encode
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
ES15711107T
Other languages
English (en)
Inventor
Erik Norvell
Volodya Grancharov
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2741506T3 publication Critical patent/ES2741506T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/028Noise substitution, i.e. substituting non-tonal spectral components by noisy source
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Telephone Function (AREA)

Abstract

Un método para codificar una señal de audio, en el que un espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, en el que al menos la segunda región comprende varias bandas, y en el que los picos espectrales en la primera región son codificados por un primer método de codificación, y en el que cada segmento de pico espectral comprende un pico y un número determinado de depósitos MDCT vecinos, comprendiendo el método: para un segmento de la señal de audio: - determinar (301) una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región; - determinar (302) una relación entre la energía de la banda en la segunda región y una energía de bandas vecinas en la segunda región; - determinar (303, 305) si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región; y cuando las relaciones cumplen un respectivo criterio predeterminado (304) y el número de bits es suficiente (305): - codificar (306) la banda en la segunda región y al menos dicho segmento no pico de la primera región usando un segundo método de codificación que es diferente del primer método de codificación y, de lo contrario: - someter (307) la banda en la segunda región a la extensión de ancho de banda BWE o relleno de ruido.

Description

DESCRIPCIÓN
Método y aparato de codificación de audio
Campo técnico
La tecnología propuesta se refiere en general a codificadores y métodos para la codificación de audio.
Las realizaciones en el presente documento se refieren en general a la codificación de audio donde partes del espectro no pueden codificarse debido a restricciones de velocidad de bits. En particular, se relaciona con las tecnologías de extensión de ancho de banda donde se reconstruye una banda perceptualmente menos importante, por ejemplo, una representación paramétrica y aproximaciones de una banda codificada perceptualmente más importante.
Antecedentes
La mayoría de los sistemas de telecomunicaciones existentes funcionan con un ancho de banda de audio limitado. Como consecuencia de las limitaciones de los sistemas de telefonía terrestre, la mayoría de los servicios de voz están limitados a transmitir solo el extremo inferior del espectro. Aunque el ancho de banda de audio limitado es suficiente para la mayoría de las conversaciones, existe el deseo de aumentar el ancho de banda de audio para mejorar la inteligibilidad y la sensación de presencia. Aunque la capacidad de las redes de telecomunicaciones aumenta continuamente, sigue siendo de gran interés limitar el ancho de banda requerido por canal de comunicación. En las redes móviles, los anchos de banda de transmisión más pequeños para cada llamada producen un menor consumo de potencia tanto en el dispositivo móvil como en la estación base. Esto se traduce en ahorro de energía y costos para el operador móvil, mientras que el usuario final experimentará una duración prolongada de la batería y un mayor tiempo de conversación. Además, con menos ancho de banda consumido por usuario, la red móvil puede dar servicio a un mayor número de usuarios en paralelo.
Una propiedad del sistema auditivo humano es que la percepción depende de la frecuencia. En particular, nuestra audición es menos precisa para frecuencias más altas. Esto ha inspirado las denominadas técnicas de extensión de ancho de banda (BWE), donde una banda de alta frecuencia se reconstruye a partir de una banda de baja frecuencia usando un número bajo de parámetros transmitidos.
La BWE convencional usa una representación paramétrica de la señal de banda alta, como la envolvente espectral y la envolvente temporal, y reproduce la estructura espectral fina de la señal mediante el uso de ruido generado o una versión modificada de la señal de banda baja. Si la envolvente de banda alta está representada por un filtro, la señal de estructura fina a menudo se denomina señal de excitación. Una representación precisa de la envolvente de banda alta es perceptualmente más importante que la estructura fina. En consecuencia, es común que los recursos disponibles en términos de bits se gasten en la representación de la envolvente, mientras que la estructura fina se reconstruye a partir de la señal de banda baja codificada sin información lateral adicional.
La tecnología de BWE se ha aplicado en una variedad de sistemas de codificación de audio. Por ejemplo, el 3GPP AMR-WB+ usa una BWE de dominio del tiempo basándose en un codificador de banda baja que conmuta entre la codificación de voz del predictor lineal excitado por código (CELP) y la codificación residual codificada por transformada (TCX). Otro ejemplo es el códec de audio basado en la transformada 3GPP eAAC, que realiza la variante del dominio de transformada de BWE, denominada réplica de banda espectral (SBR).
Aunque la división en una banda baja y una banda alta a menudo está motivada perceptualmente, puede ser menos adecuada para ciertos tipos de señales. Como ejemplo, si la banda alta de una señal particular es perceptualmente más importante que la banda inferior, la mayoría de los bits gastados en la banda inferior se desperdiciarán mientras que la banda superior se representará con poca precisión. En general, si una porción del espectro se fija para ser codificada mientras otras partes no son codificadas, siempre puede haber señales que no se ajusten a la suposición a priori. El peor escenario sería que toda la energía de la señal esté contenida en la parte no codificada, lo que produciría un rendimiento muy bajo.
El documento US 2013/290003 A1 divulga un sistema de codificación para codificar componentes de alta frecuencia y baja frecuencia de una señal de audio que hace uso, entre otros, de MDCT, extensión de ancho de banda, relleno de ruido, codificación de pulso factorial y controlada por el tipo de señal de audio.
Sumario
Es un objeto proporcionar esquemas de codificación de audio más flexibles. Este y otros objetos se encuentran en las realizaciones de la tecnología propuesta.
La tecnología propuesta se relaciona con la adición de la lógica de decisión para incluir una banda o bandas, que a priori supuestamente no es importante, en la codificación de estructura fina. La lógica de decisión está diseñada para mantener el comportamiento "convencional" para señales donde la suposición a priori para los límites de las regiones codificadas y BWE es válida, mientras que incluye partes de la región BWE supuestas a priori como no importantes en la región codificada para señales que caen fuera de este grupo.
Una ventaja de la tecnología propuesta es mantener la estructura beneficiosa de una banda parcialmente codificada basándose en un conocimiento a priori mientras se extiende para manejar casos específicos de señales.
Otras ventajas serán apreciadas al leer la descripción detallada.
De acuerdo con un primer aspecto, se proporciona un método para codificar una señal de audio, donde un espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, donde al menos la segunda región comprende varias bandas. Además, los picos espectrales en la primera región son codificados por un primer método de codificación. El método proporcionado en el presente documento comprende: para un segmento de la señal de audio: determinar una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región. El método comprende además determinar una relación entre la energía de la banda en la segunda región y una energía de bandas vecinas en la segunda región. El método comprende además determinar si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región. Además, cuando las relaciones cumplen un criterio predeterminado respectivo y el número de bits es suficiente, la banda en la segunda región y al menos dicho segmento de la primera región se codifican usando un segundo método de codificación. De lo contrario, la banda en la segunda región está sujeta a BWE o relleno de ruido.
De acuerdo con un segundo aspecto, se proporciona un codificador para codificar una señal de audio, donde un espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, donde al menos la segunda región comprende varias bandas. El codificador está configurado para codificar picos espectrales en la primera región usando un primer método de codificación. El codificador está además configurado para: para un segmento de la señal de audio: determinar una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región; para determinar una relación entre la energía de la banda en la segunda región y una energía de las bandas vecinas en la segunda región; para determinar si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región. El codificador está además configurado para: cuando las relaciones cumplen un criterio predeterminado respectivo y el número de bits es suficiente: codificar la banda en la segunda región y al menos dicho segmento de la primera región usando un segundo método de codificación y, de lo contrario, someter la banda en la segunda región a extensión BWE o relleno de ruido.
De acuerdo con un tercer aspecto, se proporciona un dispositivo de comunicación, que comprende un codificador de acuerdo con el segundo aspecto.
De acuerdo con un cuarto aspecto, se proporciona un programa informático, que comprende instrucciones que, cuando se ejecutan en al menos un procesador, hacen que al menos un procesador lleve a cabo el método de acuerdo con el primer y/o segundo aspecto.
De acuerdo con un quinto aspecto, se proporciona una portadora, que contiene el programa informático del cuarto aspecto.
Breve descripción de los dibujos
Los anteriores y otros objetos, características y ventajas de la tecnología divulgados en el presente documento serán evidentes a partir de la siguiente descripción más particular de las realizaciones, como se ilustra en los dibujos adjuntos. Los dibujos no están necesariamente a escala, sino que se hace hincapié en ilustrar los principios de la tecnología que se divulgan en el presente documento.
La figura 1 es un ejemplo de espectro armónico dirigido por el concepto de codificación presentado. A modo de comparación, la figura inferior ilustra el espectro de audio con envolvente espectral que varía lentamente;
la figura 2a es una vista estructural de los cuatro tipos diferentes de regiones de codificación del espectro MDCT; la figura 2b es un ejemplo de región codificada en LF que modela el espacio entre picos espectrales;
la figura 3 es un diagrama de flujo que ilustra un método de acuerdo con una realización de ejemplo;
la figura 4 ilustra una introducción de una banda codificada en la región BWE;
las figuras 5a-c ilustran implementaciones de un codificador de acuerdo con realizaciones de ejemplo;
la figura 6 ilustra una realización de un codificador;
la figura 7 ilustra una realización de una implementación informática de un codificador;
la figura 8 es un diagrama de bloques esquemático que ilustra una realización de un codificador que comprende un grupo de módulos de funciones; y
la figura 9 ilustra una realización de un método de codificación.
Descripción detallada
Se pretende que la tecnología propuesta se implemente en un códec, es decir, un codificador y un decodificador correspondiente (a menudo abreviado como un códec). Una señal de audio es recibida y codificada por el codificador. La señal codificada resultante se emite y, se transmite típicamente a un receptor, donde se decodifica mediante un decodificador correspondiente. En algunos casos, la señal codificada se almacena en una memoria para su posterior recuperación.
La tecnología propuesta puede aplicarse a un codificador y/o decodificador, por ejemplo, de un terminal de usuario o equipo de usuario, que puede ser un dispositivo con cable o inalámbrico. Todos los dispositivos y nodos alternativos descritos en el presente documento se resumen en el término "dispositivo de comunicación", en el que se podría aplicar la solución descrita en el presente documento.
Tal como se usa en el presente documento, los términos no limitativos "equipo de usuario" y "dispositivo inalámbrico" pueden referirse a un teléfono móvil, un teléfono celular, un asistente digital personal, PDA, equipados con capacidades de comunicación por radio, un teléfono inteligente, un portátil u ordenador personal, PC, equipados con un módem de banda ancha móvil interno o externo, una tableta PC con capacidades de comunicación por radio, un dispositivo de destino, un UE dispositivo a dispositivo, un UE o UE tipo máquina capaz de comunicación máquina a máquina, iPAD, equipo en las instalaciones del cliente, CPE, equipo integrado para ordenador portátil, LEE, equipo montado en ordenador portátil, LME, dispositivo USB, un dispositivo de comunicación por radio electrónico, un dispositivo de sensor equipado con capacidades de comunicación por radio o similares. En particular, el término "UE" y el término "dispositivo inalámbrico" deben interpretarse como términos no limitativos que comprenden cualquier tipo de dispositivo inalámbrico que se comunique con un nodo de red de radio en un sistema de comunicación celular o móvil o cualquier dispositivo equipado con circuitería de radio para comunicación inalámbrica de acuerdo con cualquier norma relevante para la comunicación dentro de un sistema de comunicación celular o móvil.
Como se usa en el presente documento, el término "dispositivo con cable" puede referirse a cualquier dispositivo configurado o preparado para la conexión con cable a una red. En particular, el dispositivo con cable puede ser al menos alguno de los dispositivos anteriores, con o sin capacidad de comunicación por radio, cuando está configurado para la conexión con cable.
La tecnología propuesta también puede aplicarse a un codificador y/o decodificador de un nodo de red de radio. Como se usa en el presente documento, el término no limitativo "nodo de red de radio" puede referirse a estaciones base, nodos de control de red tales como controladores de red, controladores de red de radio, controladores de estación base y similares. En particular, el término "estación base" puede abarcar diferentes tipos de estaciones base de radio, incluidas las estaciones base estandarizadas, tales como los Nodos B, o los Nodos B evolucionados, los eNB, y también estaciones base de radio macro/micro/pico, estaciones base domésticas, también conocidas como estaciones base femto, nodos repetidores, repetidores, puntos de acceso de radio, estaciones transceptoras base, BTS e incluso nodos de control de radio que controlan una o más unidades de radio remotas, RRU, o similar. Con respecto a la terminología relacionada con el espectro de frecuencia de la señal de audio que se va a codificar, trataremos de explicar algunos de los términos usados. Como se describió anteriormente, las frecuencias de audio a menudo se dividen en una llamada "banda baja", (LB) o " banda de baja frecuencia ", (LF); y una llamada" banda alta", (HB), o "banda de alta frecuencia"(HF). Típicamente, la banda alta no se codifica de la misma manera que la banda baja, sino que se somete a BWE. La BWE puede comprender la codificación de una envolvente espectral y temporal, como se describe anteriormente. Sin embargo, una banda alta extendida de ancho de banda todavía puede denominarse no codificada en el presente documento. En otras palabras, una "banda alta no codificada" todavía puede estar asociada con alguna codificación de, por ejemplo, envolventes, pero se puede suponer que esta codificación está asociada con muchos menos bits que la codificación en las regiones codificadas.
En el presente documento, se usará la terminología "una primera región" y "una segunda región", en referencia a partes del espectro de audio. En una realización preferida, puede suponerse que la primera región es la banda baja y la segunda región puede suponerse que es la banda alta, como en la codificación de audio convencional que usa BWE. Sin embargo, puede haber más de dos regiones, y las regiones pueden configurarse de manera diferente. La tecnología propuesta está integrada en el contexto de un códec de audio que está dirigido a señales con un fuerte contenido armónico. Una ilustración de las señales de audio se presenta en la figura 1. El espectro de audio superior en la figura 1 es un ejemplo de un espectro armónico, es decir, un ejemplo de un espectro de una señal de audio con un contenido armónico fuerte. A modo de comparación, el espectro inferior de la figura 1 ilustra un espectro de audio con una envolvente espectral que varía lentamente.
En una realización de ejemplo, la codificación y la decodificación se realizan en un dominio transformado de frecuencia usando la transformada de coseno discreta modificada (MDCT). La estructura armónica se modela usando un método específico de codificación de picos en la llamada "banda baja", que se complementa con un cuantificador vectorial (VQ) que se dirige a los coeficientes de baja frecuencia (LF) importantes del espectro MDCT y una región BWE donde las frecuencias más altas se generan a partir de la síntesis de banda baja. En la figura 2a y 2b se muestra una descripción general de este sistema.
La figura 2a muestra una vista estructural de los cuatro tipos diferentes de regiones de codificación de un espectro MDCT. En la banda baja, los picos espectrales se codifican usando un método de codificación basado en picos. En la banda alta, se aplica BWE (línea de puntos), que puede implicar la codificación, es decir, alguna representación paramétrica, de la información relacionada con la envolvente espectral y la envolvente temporal. La región marcada como "LF codificada" en la figura 2a (línea doble) se codifica usando un método de codificación de forma de ganancia, es decir, no es el mismo método de codificación que el usado para los picos. La región LF codificada es dinámica en el sentido de que depende de la cantidad restante de bits, fuera de un balance de bits, que están disponibles para la codificación cuando se han codificado los picos. En la figura 2b, se pueden ver las mismas regiones que en la figura 2a, pero aquí también se puede ver que la región LF codificada se extiende entre los picos codificados. En otras palabras, también se pueden modelar partes del espectro de banda baja ubicado entre picos mediante el método de codificación de la forma de ganancia, dependiendo de las posiciones de los picos del espectro de destino y el número disponible de bits. Las partes del espectro que comprenden los picos codificados se excluyen de la codificación de forma de ganancia de la región de frecuencia inferior, es decir, de la región LF codificada. Las partes de la banda baja que permanecen sin codificar cuando los bits disponibles se gastan en la codificación de picos y la codificación LF se someten a relleno de ruido (línea discontinua en la figura 1).
Suponiendo la estructura anterior, es decir, una primera región donde se codifican los picos y las partes/coeficientes no pico importantes, y una segunda región, también posiblemente designada como región BWE, de la cual existe una suposición a priori de que no comprende información importante perceptualmente como la primera región, se propone una técnica novedosa para agregar codificación de componentes espectrales en la región BWE. La idea es introducir una banda codificada en la región BWE (véase figura 3) si se cumplen ciertos requisitos. Más de una banda codificada también podría introducirse cuando sea apropiado.
Dado que es un objetivo mantener una estructura de una región codificada, como una parte del espectro de baja frecuencia, y una segunda región, como una parte del espectro de alta frecuencia que se extiende por el ancho de banda para la mayoría de las señales, una banda codificada en la segunda región debe, en una realización, solo introducirse si se cumplen ciertas condiciones con respecto a la banda. Las condiciones, o criterios, para una banda candidata, en una segunda región, evaluados para la codificación se pueden formular de la siguiente manera:
1. La energía en la banda candidata, por ejemplo, una banda de frecuencia en una parte de alta frecuencia del espectro debe ser relativamente alta en comparación con una estimación de energía de una región codificada de pico, por ejemplo, en la parte inferior del espectro de frecuencia. Esta relación de energía indica una banda audible, y por lo tanto perceptualmente relevante, en la segunda región.
2. La banda candidata debe tener una energía relativamente alta en comparación con las bandas vecinas en la segunda región. Esto indica una estructura de pico en la segunda región que puede no estar bien modelada con la técnica BWE.
3. Los recursos, es decir, los bits, para codificar la banda candidata no deben competir con componentes más importantes (cf. LF codificada en las figuras 2a y 2b) en la codificación de partes de la región codificada.
Realizaciones de ejemplo
A continuación, se describirán realizaciones de ejemplo relacionadas con un método para codificar una señal de audio con referencia a la figura 3. El espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, donde al menos la segunda región comprende varias bandas, y donde los picos espectrales en la primera región son codificados por un primer método de codificación. El método debe ser realizado por un codificador con un método correspondiente en el decodificador. El codificador y el decodificador pueden configurarse para cumplir con uno o más estándares de codificación y decodificación de audio. El método comprende, para un segmento de la señal de audio:
- determinar 301 una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región;
- determinar 302 una relación entre la energía de la banda en la segunda región y una energía de bandas vecinas en la segunda región;
- determinar 303, 305 si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región; y, cuando las relaciones cumplen 304 un criterio predeterminado respectivo y el número de bits es suficiente 305:
- codificar 306 la banda en la segunda región y que al menos dicho segmento de la primera región use un segundo método de codificación; y, de lo contrario:
- someter 307 la banda en la segunda región a BWE o relleno de ruido.
La primera región sería típicamente una parte inferior del espectro de frecuencia que la segunda región. La primera región puede, como se mencionó anteriormente, ser la llamada banda baja, y la segunda región puede ser la llamada banda alta. Las regiones no se superponen, y pueden ser adyacentes. También son posibles otras regiones, que pueden, por ejemplo, separar la primera y la segunda región.
Al menos dicho segmento de la primera región, cf. parte de "LF codificada" en la figura 2a y 2b, y la banda candidata seleccionada para la codificación en la segunda región se codifican usando el mismo segundo método de codificación. Este segundo método de codificación puede comprender la cuantificación vectorial o la cuantificación vectorial piramidal. Dado que la envolvente de energía o las ganancias de las bandas en la segunda región ya están codificadas para ayudar a la tecnología BWE, es beneficioso complementar esta codificación con un cuantificador de forma aplicado a la estructura fina de la banda candidata seleccionada. De esta manera, se logra una codificación en forma de ganancia de la banda candidata seleccionada. En algunas realizaciones preferidas, los picos espectrales en la primera región son codificados por un primer método de codificación, como se mencionó anteriormente. El primer método de codificación es preferiblemente un método de codificación basado en picos, tal como se describe, por ejemplo, en 3GPP TS 26.445, sección 5.3.4.2.5. Un segundo método de codificación se ejemplifica en el mismo documento en la sección 5.3.4.2.7.
La figura 4 ilustra un posible resultado de aplicar una realización del método descrito anteriormente. En la figura 4, una banda, Bhb, en la segunda región se codifica en lugar de estar sujeta a BWE (como en las figuras 2a y 2b), lo que habría sido el caso si no se hubiera aplicado una realización del método. La banda Bhb se codifica usando el mismo método de codificación que se usa para las partes marcadas como "LF codificada" en la figura 4. Sin embargo, los picos en la primera región, marcados como "pico codificado", se codifican usando otro método de codificación, que preferiblemente se basa en el pico. Téngase en cuenta que dado que el contenido de la segunda región no está poblado estrictamente usando BWE u otras técnicas de relleno espectral, la suposición a priori de una banda codificada y una banda no codificada ya no es cierta. Por esta razón, puede ser más apropiado llamar a la estrategia de llenado un relleno de ruido. El término relleno de ruido se usa más a menudo para el relleno espectral en regiones que pueden aparecer en cualquier parte del espectro y/o entre las partes codificadas del espectro. La determinación de las relaciones entre las energías y la suficiencia de un número de bits disponibles para la codificación corresponde a las tres condiciones, numeradas 1 -3, descritas anteriormente. Los ejemplos de cómo se puede realizar la determinación se describirán a continuación. La evaluación se describe para una banda candidata en la segunda región.
Evaluación de condición 1
La primera condición se refiere a que la energía en la banda candidata debe tener una cierta relación con una estimación de energía de una región codificada de pico. Esta relación se describe en el presente documento como que la energía de la banda candidata debe ser relativamente alta en comparación con la estimación de energía de la primera región.
Suponiendo, como ejemplo, que la codificación se realiza en un dominio transformado de frecuencia usando la transformada de coseno discreta modificada, donde los coeficientes MDCT se calculan como:
Figure imgf000006_0001
donde x(n) denota una trama de muestras de audio de entrada con índice de trama. Aquí, n, es un índice de muestras de dominio del tiempo, y k el índice de los coeficientes de dominio de la frecuencia. Para simplificar la notación, el índice de trama i se omitirá cuando todos los cálculos se realicen dentro de la misma trama. En general, debe entenderse que todos los cálculos derivados de la trama de audio de entrada x(n) se ejecutarán por trama y que todas las variables siguientes se pueden denotar con un índice i.
Las energías de registro de banda E(j) de la segunda región, por ejemplo, la región de banda alta, se puede definir como:
Figure imgf000007_0001
donde bj es el primer coeficiente en la banda j y Nj se refiere al número de coeficientes MDCT en la banda. Un número típico para una región de alta frecuencia es de 24 a 64 coeficientes por banda. Cabe señalar que el 2log2 (■) es simplemente un ejemplo que se encontró adecuado en el sistema de codificación de audio de destino y que se pueden usar otras bases de registro y factores de escalado. El uso de otras bases de registro y factores de escalado darían valores de energía de registro absolutos diferentes y requerirían valores de umbral diferentes, pero el método en otros aspectos seguirá siendo el mismo.
Como se describió anteriormente, los picos espectrales en la primera región se codifican preferiblemente usando un método de codificación basado en picos. Los picos codificados de la primera región, por ejemplo, la región de frecuencia inferior, en este ejemplo se modelan usando la posición de pico p(m), una amplitud, incluido el signo, G(m) que se configura para coincidir con el depósito MDCT en la posición dada Y(p(m)), y un vector de forma V(m) que representa los picos vecinos, por ejemplo, los cuatro depósitos MDCT vecinos, donde m = 1..Npeaks y Npeaks es el número de picos usados en la representación de la primera región.
Para evaluar el cumplimiento de la condición 1 anterior, nos gustaría hacer una estimación de la energía en la primera región, para compararla con la energía de banda candidata. Suponiendo que la mayor parte de la energía en la primera región está contenida dentro de los picos modelados, una estimación de la energía en la primera región, Epeak (i), de la trama puede derivarse como:
Figure imgf000007_0002
Ahora, la condición 1 se puede evaluar estableciendo un umbral para la energía de envolvente E(j) de la banda candidata j, como:
E( j ) ~ Epejjk(i) > 7; (5)
donde T1 es una energía de registro de umbral para pasar, es decir, cumplir, la condición 1. Debido a la complejidad computacional de la función de registro, se puede usar la siguiente alternativa matemáticamente equivalente:
Figure imgf000007_0003
( 6)
o
2 £U )/2 ^ ^Epea¡í( i ) l 1 ^75/2
(7)
El valor de umbral debe establecerse de modo que corresponda a la importancia perceptual de la banda. El valor real puede depender de la estructura de la banda. En una realización de ejemplo, se encontró que un valor adecuado para 2T1/2 era 10-5.
Evaluación de condición 2
La segunda condición se refiere a que la energía en la banda candidata debe tener una cierta relación con la energía de las bandas vecinas en la segunda región. Esta relación se expresa en el presente documento, ya que la banda candidata debe tener una energía relativamente alta en comparación con las bandas vecinas en la segunda región.
Un ejemplo de cómo evaluar el cumplimiento de la condición 2 es comparar la energía de registro de la banda candidata con la energía de registro promedio de la segunda región completa, por ejemplo, banda alta. Primero, la energía de registro promedio de la segunda región se puede definir como:
Figure imgf000008_0001
Luego, una expresión para la condición 2 se puede formular como:
Ei j ) E > T 2 O)
donde T2 denota el umbral de energía de registro para pasar la condición 2. De manera equivalente, en cuanto a la condición 1, esto puede formularse en el dominio de energía en lugar del dominio de registro, cf. la ecuación (6), si esto se ve como beneficioso desde un aspecto de complejidad computacional. En una realización de ejemplo, se encontró que un valor adecuado para T2 era 3. Como una alternativa al uso de la energía de registro promedio de la segunda región completa, solo se pueden usar partes de la segunda región, por ejemplo, una serie de bandas que rodean la banda candidata.
Evaluación de condición 3
La tercera condición se refiere a si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región. De lo contrario, la banda en la segunda región no debe estar codificada. La condición 3 se relaciona con el método de codificación de destino, indicado anteriormente como "segundo método de codificación", que es una codificación de ganancia de forma. El VQ general dirigido a la región LF codificada, es decir, las partes no pico de la primera región, está de acuerdo con una realización configurada para cubrir también bandas seleccionadas en la segunda región, por ejemplo, la región de alta frecuencia. Sin embargo, dado que la primera región, típicamente una región de baja frecuencia, es sensible para la codificación del dominio MDCT, se debe garantizar que algunos recursos, bits, se asignen para codificar al menos parte de este rango de frecuencia. Dado que el cuantificador de vector de pirámide (PVQ) general preferido está dirigido a la codificación de partes no pico de la primera región (cf. "LF codificada" en las figuras 2a y 2b) opera en un espectro de destino dividido en bandas, este requisito se cumple asegurando que al menos una banda se asigna para la primera región, es decir:
Figure imgf000008_0002
donde Nband denota el número de bandas en la señal de destino para la parte de LF codificada. Estas bandas no son el mismo tipo de banda que las bandas en la segunda región. La banda Nband aquí es una banda con un ancho dado por el codificador, y la banda comprende una parte de la primera región que no está codificada por un método de codificación de picos.
En caso de que haya suficientes bits disponibles para codificar al menos una parte no pico de la primera región, y una banda seleccionada, que cumpla con las condiciones 1 -2 anteriores, la banda seleccionada puede codificarse junto con la al menos una parte de la primera región usando el segundo método de codificación (forma de ganancia). Otra condición útil para evitar el desperdicio de recursos es asegurar que la velocidad de bits para la banda seleccionada sea lo suficientemente alta como para representar la banda con una calidad aceptable. Si no, los bits gastados en la codificación de la banda seleccionada se desperdiciarán, y se gastarían mejor en la codificación de la parte de baja frecuencia de la primera región (cf. más LF codificada en la figura 2a). En una realización de ejemplo, la codificación de una parte no pico de la primera región se maneja usando PVQ, que tiene una relación explícita entre el número de pulsos, la longitud del vector y la velocidad de bits requerida definida por la función pulses2bits(Wj, Pmin), donde Wj denota el ancho de banda de la banda seleccionada y Pmin es el número mínimo de pulsos que deben representarse. Supongamos que Blast denota el número de bits asignados para la última banda en el vector de destino para el codificador PVQ, luego la condición para evitar el desperdicio de recursos puede escribirse como:
Bia„ > pulses2bitsCW) ,P„„) (11)
El número mínimo de pulsos Pmin es un parámetro de sintonización, pero debe ser al menos Pmin > 1. Las ecuaciones (10) y (11) juntas cumplen la condición 3 en una realización de ejemplo.
Una parte novedosa de las realizaciones descritas en el presente documento es una lógica de decisión para evaluar si codificar una banda en una región BWE o no. Por región BWE se entiende aquí una región, definida, por ejemplo, en frecuencia, que un codificador sin la funcionalidad sugerida en el presente documento se habría sometido a BWE. Por ejemplo, la región BWE podría ser de frecuencias superiores a 5,6 kHz o superiores a 8 kHz.
Las realizaciones de ejemplo descritas anteriormente sugieren una estructura donde la llamada "banda baja" está codificada y la llamada "banda alta" se extiende desde la banda baja. Los términos "banda baja" y "banda alta" se refieren a partes de un espectro de frecuencia que se divide a una cierta frecuencia. Es decir, un espectro de frecuencia dividido en una parte inferior, una "banda baja" y una parte superior, una "banda alta" a una cierta frecuencia, por ejemplo, 5,6 u 8 kHz. Sin embargo, la solución descrita en el presente documento no se limita a dicha partición de frecuencia, sino que también puede aplicarse a otras distribuciones de regiones codificadas y no codificadas, es decir, estimadas, en las que las regiones o partes codificadas y estimadas se deciden, por ejemplo. basándose en el conocimiento a priori sobre la fuente y la importancia perceptual a de la señal en cuestión.
Una realización de ejemplo de un método para codificar una señal de audio comprende recibir una señal de audio y analizar adicionalmente al menos una parte de la señal de audio. El método comprende además determinar, basándose en el análisis, si codificar una región de banda alta de un espectro de frecuencia de la señal de audio junto con una región de banda baja del espectro de frecuencia. El método de ejemplo comprende además la codificación de la señal de audio para su transmisión a través de un enlace en una red de comunicación basándose en la determinación de si se debe codificar la región de banda alta.
El análisis descrito anteriormente también se puede realizar en los parámetros cuantificados y reconstruidos en el codificador. Las energías de registro E(j) en ese caso serían sustituidas con su contraparte cuantificada E(j) en la ecuación (8) y las ganancias pico G(m) serían reemplazadas con las ganancias pico cuantificadas ®(m)en la ecuación (3). El uso de los parámetros cuantificados permite que el método descrito anteriormente se implemente de la misma manera en el codificador y el decodificador correspondiente, ya que los parámetros cuantificados están disponibles para ambos. Es decir, el método descrito anteriormente también se realiza en el decodificador, para determinar cómo decodificar y reconstruir la señal de audio. El beneficio de esta configuración es que no es necesario transmitir información adicional desde el codificador al decodificador, lo que indica si una banda en la segunda región se ha codificado o no. También es posible una solución donde se transmite información, que indica si una banda en la segunda región está codificada o no.
A continuación se describirá un método para decodificar una señal de audio, correspondiente al método para codificar una señal de audio que se describe anteriormente. Como antes, un espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, donde al menos la segunda región comprende varias bandas, y donde los picos espectrales en la primera región se decodifican usando un primer método de codificación. El método, que debe ser realizado por un decodificador, comprende un segmento de la señal de audio:
- determinar una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región;
- determinar una relación entre la energía de la banda en la segunda región y una energía de las bandas vecinas en la segunda región;
- determinar si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región.
El método comprende además:
cuando las relaciones cumplen un criterio predeterminado respectivo (304) y el número de bits es suficiente:
- decodificar una banda en la segunda región y al menos dicho segmento de la primera región usando un segundo método de codificación; y, de lo contrario,
- reconstruir la banda en la segunda región basándose en BWE o relleno de ruido.
IMPLEMENTACIONES
El método y las técnicas descritas anteriormente pueden implementarse en codificadores y/o decodificadores, que pueden ser parte de, por ejemplo, dispositivos de comunicación.
Codificador, figuras 5a-5c
Una realización de ejemplo de un codificador se ilustra de manera general en la figura 5a. Por codificador se hace referencia a un codificador configurado para la codificación de señales de audio. El codificador posiblemente podría configurarse para codificar otros tipos de señales. El codificador 500 está configurado para realizar al menos una de las realizaciones del método descritas anteriormente con referencia, por ejemplo, a la figura 3. El codificador 500 está asociado con las mismas características técnicas, objetos y ventajas que los métodos de realización descritos anteriormente. El codificador puede configurarse para cumplir con uno o más estándares de codificación de audio. El codificador se describirá brevemente para evitar repeticiones innecesarias.
El codificador puede implementarse y/o describirse como sigue:
El codificador 500 está configurado para codificar una señal de audio, donde un espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, donde al menos la segunda región comprende varias bandas, y donde los picos espectrales en la primera región son codificados por un primer método de codificación. El codificador 500 comprende circuitería de procesamiento, o medios 501 de procesamiento y una interfaz 502 de comunicación. La circuitería 501 de procesamiento está configurada para hacer que el codificador 500, para un segmento de la señal de audio: determine una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región. La circuitería 501 de procesamiento está además configurada para hacer que el codificador determine una relación entre la energía de la banda en la segunda región y una energía de bandas vecinas en la segunda región. La circuitería 501 de procesamiento está configurada además para hacer que el codificador determine si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región. La circuitería 501 de procesamiento está además configurada para hacer que el codificador, cuando las relaciones cumplan con un criterio predeterminado respectivo y el número de bits sea suficiente, codifique la banda en la segunda región y al menos dicho segmento de la primera región usando una segunda método de codificación. De lo contrario, cuando al menos una de las relaciones no cumple el criterio predeterminado y/o cuando el número de bits no es suficiente, la banda en la segunda región se somete a BWE o relleno de ruido. La interfaz 502 de comunicación, que también se puede denotar, por ejemplo, la interfaz de entrada/salida (I/O), incluye una interfaz para enviar y recibir datos de otras entidades o módulos.
La circuitería 501 de procesamiento podría, como se ilustra en la figura 5b, comprender medios de procesamiento, tales como un procesador 503, por ejemplo, una CPU y una memoria 504 para almacenar o guardar instrucciones. La memoria entonces comprendería instrucciones, por ejemplo, en forma de un programa informático 505, que cuando se ejecuta mediante los medios 503 de procesamiento hace que el codificador 500 realice las acciones descritas anteriormente.
Una implementación alternativa de la circuitería 501 de procesamiento se muestra en la figura 5c. La circuitería de procesamiento aquí comprende una primera unidad 506 de determinación, configurada para hacer que el codificador 500: determine una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región. La circuitería de procesamiento comprende además una segunda unidad 507 de determinación configurada para hacer que el codificador determine una relación entre la energía de la banda en la segunda región y una energía de bandas vecinas en la segunda región; la circuitería de procesamiento comprende además una tercera unidad 508 de determinación, configurada para hacer que el codificador determine si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región. La circuitería de procesamiento comprende además una unidad de codificación, configurada para hacer que el codificador, cuando las relaciones cumplan un criterio predeterminado respectivo y el número de bits sea suficiente, codifique la banda en la segunda región y al menos dicho segmento de la primera región use un primer método de codificación. La circuitería 501 de procesamiento podría comprender más unidades, como una unidad de decisión configurada para hacer que el codificador decida si las relaciones determinadas cumplen o no los criterios. Esta tarea podría ser realizada alternativamente por una o más de las otras unidades.
Los codificadores, o códecs, descritos anteriormente podrían configurarse para las diferentes realizaciones del método descritas en el presente documento, como usar diferentes métodos de codificación de formas de ganancia como el segundo método de codificación; diferentes métodos de codificación de picos para codificar los picos en la primera región, operar en diferentes dominios de transformada, etc.
Puede suponerse que el codificador 500 comprende una funcionalidad adicional, para llevar a cabo funciones de codificador regulares.
La figura 6 ilustra una realización de un codificador. Se recibe una señal de audio y se codifican las bandas de una primera región, típicamente la región de baja frecuencia. Además, al menos una banda de una segunda región, típicamente la región de alta frecuencia, exclusiva de la primera región, está codificada. Dependiendo de las condiciones explicadas más arriba, se puede decidir si la codificación de la banda en la segunda región se incluye o no en la señal codificada final. La señal codificada final se proporciona típicamente a una parte receptora, donde la señal codificada se decodifica en una señal de audio. El UE o nodo de red también puede incluir circuitería de radio para la comunicación con uno o más nodos, incluida la transmisión y/o recepción de información.
A continuación, se describirá un ejemplo de una implementación informática con referencia a la figura 7. El codificador comprende circuitería de procesamiento, como uno o más procesadores y una memoria. En este ejemplo particular, al menos algunos de los pasos, funciones, procedimientos, módulos y/o bloques descritos en el presente documento se implementan en un programa informático, que se carga en la memoria para ser ejecutado por la circuitería de procesamiento. La circuitería de procesamiento y la memoria están interconectadas entre sí para permitir la ejecución normal del software. Un dispositivo de entrada/salida opcional también puede estar interconectado a la circuitería de procesamiento y/o la memoria para permitir la entrada y/o salida de datos relevantes, como el parámetro o parámetros de entrada y/o el parámetro o parámetros de salida resultantes. Un codificador podría implementarse alternativamente usando módulos de funciones, como se ilustra en la figura 8. Una realización de ejemplo de un codificador para codificar una señal de audio podría describirse de la siguiente manera:
El codificador comprende un procesador; y una memoria para almacenar instrucciones que, cuando son ejecutadas por el procesador, hacen que el codificador: reciba una señal de audio; analice al menos una parte de la señal de audio; y para: basándose en el análisis, determinar si codificar una región de banda alta de un espectro de frecuencia de la señal de audio junto con una región de banda baja del espectro de frecuencia; y además: basándose en la determinación de si codificar la región de banda alta, para codificar la señal de audio para la transmisión a través de un enlace en una red de comunicación.
El codificador podría estar comprendido en un equipo de usuario para operar en una red de comunicación inalámbrica.
El término "ordenador" debe interpretarse en un sentido general como cualquier sistema o dispositivo capaz de ejecutar código de programa o instrucciones de programa informático para realizar una tarea particular de procesamiento, determinación o cálculo.
En una realización particular, el programa informático comprende instrucciones, que cuando se ejecutan al menos por un procesador, hacen que el procesador o los procesadores codifiquen las bandas de una primera región de frecuencia, que codifiquen al menos una banda de una segunda región, y dependiendo de las condiciones especificadas que decidan si la codificación de la banda en la segunda región se incluirá o no en la señal codificada final.
Se apreciará que los métodos y dispositivos descritos en el presente documento pueden combinarse y reorganizarse de varias maneras. Por ejemplo, las realizaciones pueden implementarse en hardware, o en software para ejecución mediante circuitería de procesamiento adecuada, o una combinación de los mismos.
Los pasos, funciones, procedimientos, módulos y/o bloques descritos en el presente documento pueden implementarse en hardware usando cualquier tecnología convencional, como tecnología de circuito discreto o de circuito integrado, que incluye circuitería electrónica de propósito general y circuitería específica de aplicación. Los ejemplos particulares incluyen uno o más procesadores de señal digital configurados adecuadamente y otros circuitos electrónicos conocidos, por ejemplo, pasarelas de lógica discretas interconectadas para realizar una función especializada, o circuitos integrados de aplicación específica (ASIC).
Alternativamente, al menos algunos de los pasos, funciones, procedimientos, módulos y/o bloques descritos en el presente documento pueden implementarse en un software tal como un programa informático para la ejecución mediante circuitería de procesamiento adecuada, como uno o más procesadores o unidades de procesamiento. El diagrama de flujo o los diagramas presentados en el presente documento pueden considerarse, por lo tanto, como un diagrama o diagramas de flujo informáticos, cuando son realizados por uno o más procesadores. Un aparato correspondiente puede definirse como un grupo de módulos de funciones, donde cada paso realizado por el procesador corresponde a un módulo de funciones. En este caso, los módulos de funciones se implementan como un programa informático que se ejecuta en el procesador.
También se debe tener en cuenta que en algunas implementaciones alternativas, las funciones/actos anotados en los bloques pueden ocurrir fuera del orden anotado en los diagramas de flujo. Por ejemplo, dos bloques que se muestran en sucesión pueden ejecutarse de manera substancialmente concurrente o los bloques a veces pueden ejecutarse en el orden inverso, dependiendo de la funcionalidad/actos involucrados. Además, la funcionalidad de un bloque dado de los diagramas de flujo y/o los diagramas de bloques puede separarse en múltiples bloques y/o la funcionalidad de dos o más bloques de los diagramas de flujo y/o los diagramas de bloques pueden estar integrados al menos parcialmente. Finalmente, se pueden agregar/insertar otros bloques entre los bloques que se ilustran, y/o se pueden omitir bloques/operaciones sin apartarse del alcance de los conceptos inventivos.
Debe entenderse que la elección de unidades interactivas, así como la denominación de las unidades dentro de esta divulgación son solo con fines de ejemplo, y los nodos adecuados para ejecutar cualquiera de los métodos descritos anteriormente pueden configurarse en una pluralidad de formas alternativas para poder ejecutar las acciones de procedimiento sugeridas.
También se debe tener en cuenta que las unidades descritas en esta divulgación deben considerarse como entidades lógicas y no necesariamente como entidades físicas separadas.
Los ejemplos de circuitería de procesamiento incluyen, entre otros, uno o más microprocesadores, uno o más procesadores de señal digital, DSP, una o más unidades centrales de procesamiento, CPU, hardware de aceleración de video y/o cualquier otra circuitería lógica programable adecuada, como una o más matrices de puertas programables de campo, FPGA, o uno o más controladores lógicos programables, PLC.
También debe entenderse que puede ser posible reutilizar las capacidades de procesamiento generales de cualquier dispositivo o unidad convencional en la que se implemente la tecnología propuesta. También puede ser posible reutilizar el software existente, por ejemplo, por reprogramación del software existente o agregando nuevos componentes de software.
La tecnología propuesta proporciona un codificador utilizable en un UE o nodo de red configurado para codificar señales de audio, en el que el codificador está configurado para realizar las funciones necesarias.
En un ejemplo particular, el codificador comprende un procesador y una memoria, comprendiendo la memoria instrucciones ejecutables por el procesador, por lo que el aparato/procesador es operativo para realizar los pasos de codificación y decisión.
La tecnología propuesta también proporciona una portadora que comprende el programa informático, en el que la portadora es una de una señal electrónica, una señal óptica, una señal electromagnética, una señal magnética, una señal eléctrica, una señal de radio, una señal de microondas o un medio de almacenamiento legible por ordenador. El software o el programa informático se pueden realizar como un producto de programa informático, que normalmente se transporta o almacena en un medio legible por ordenador. El medio legible por ordenador puede incluir uno o más dispositivos de memoria extraíbles o no extraíbles que incluyen, entre otros, una memoria de solo lectura, ROM, una memoria de acceso aleatorio, RAM, un disco compacto, CD, un disco versátil digital, DVD, un disco Blueray, un bus universal en serie, USB, memoria, unidad de disco duro, dispositivo de almacenamiento en disco duro, memoria flash, cinta magnética o cualquier otro dispositivo de memoria convencional. De este modo, el programa informático puede cargarse en la memoria operativa de un ordenador o dispositivo de procesamiento equivalente para su ejecución por la circuitería de procesamiento del mismo. Es decir, el software podría ser transportado por una portadora, como una señal electrónica, una señal óptica, una señal de radio o un medio de almacenamiento legible por ordenador antes y/o durante el uso del programa informático en los nodos de red.
Por ejemplo, el programa informático almacenado en la memoria incluye instrucciones de programa ejecutables por la circuitería de procesamiento, por lo que la circuitería de procesamiento es capaz u operativa para ejecutar los pasos, funciones, procedimientos y/o bloques descritos anteriormente. De este modo, el codificador está configurado para realizar, al ejecutar el programa informático, tareas de procesamiento bien definidas, como las que se describen en el presente documento. El ordenador o la circuitería de procesamiento no tienen que estar dedicados solo a ejecutar los pasos, funciones, procedimientos y/o bloques descritos anteriormente, sino que también pueden ejecutar otras tareas.
Como se indica en el presente documento, el codificador puede definirse alternativamente como un grupo de módulos de función, donde los módulos de función se implementan como un programa informático que se ejecuta en al menos un procesador. La figura 8 es un diagrama de bloques esquemático que ilustra un ejemplo de un codificador que comprende un procesador y una memoria asociada. El programa informático que reside en la memoria puede organizarse así como módulos de función apropiados configurados para realizar, cuando son ejecutados por el procesador, al menos parte de los pasos y/o tareas descritas en el presente documento. Un ejemplo de tales módulos de funciones se ilustra en la figura 6.
La figura 8 es un diagrama de bloques esquemático que ilustra un ejemplo de un codificador que comprende un grupo de módulos de funciones.
Las realizaciones descritas anteriormente se dan simplemente como ejemplos, y debe entenderse que la tecnología propuesta no está limitada a las mismas. Los expertos en la técnica entenderán que pueden realizarse diversas modificaciones, combinaciones y cambios en las realizaciones sin apartarse del alcance actual como se define en las reivindicaciones adjuntas. En particular, diferentes soluciones parciales en las diferentes realizaciones pueden combinarse en otras configuraciones, cuando sea técnicamente posible.

Claims (15)

  1. REIVINDICACIONES
    1 Un método para codificar una señal de audio, en el que un espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, en el que al menos la segunda región comprende varias bandas, y en el que los picos espectrales en la primera región son codificados por un primer método de codificación, y en el que cada segmento de pico espectral comprende un pico y un número determinado de depósitos MDCT vecinos, comprendiendo el método:
    para un segmento de la señal de audio:
    - determinar (301) una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región;
    - determinar (302) una relación entre la energía de la banda en la segunda región y una energía de bandas vecinas en la segunda región;
    - determinar (303, 305) si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región; y
    cuando las relaciones cumplen un respectivo criterio predeterminado (304) y el número de bits es suficiente (305): - codificar (306) la banda en la segunda región y al menos dicho segmento no pico de la primera región usando un segundo método de codificación que es diferente del primer método de codificación y, de lo contrario:
    - someter (307) la banda en la segunda región a la extensión de ancho de banda BWE o relleno de ruido.
  2. 2. - El método de acuerdo con la reivindicación 1, en el que el primer método de codificación es un método de codificación basado en picos que comprende la codificación de una posición de picos, una amplitud y señal de un pico, y un vector de forma que representa depósitos MDCT vecinos.
  3. 3. - El método de acuerdo con la reivindicación 1 o 2, en el que la estimación de energía de la primera región se basa en las energías de los picos espectrales en la primera región.
  4. 4. - El método de acuerdo con cualquiera de las reivindicaciones precedentes, en el que la determinación de si el número de bits es suficiente (305) aplica una prioridad para codificar la región perceptualmente más relevante.
  5. 5. - El método de acuerdo con cualquiera de las reivindicaciones precedentes, en el que la determinación de si el número de bits es suficiente para codificar la banda en la segunda región considera el número mínimo de bits necesarios para codificar al menos un coeficiente de la banda en la segunda región.
  6. 6. - El método de acuerdo con cualquiera de las reivindicaciones precedentes, en el que el segundo método de codificación comprende la cuantificación vectorial o la cuantificación vectorial piramidal.
  7. 7. - Un codificador para codificar una señal de audio, en el que un espectro de frecuencia de la señal de audio se divide en al menos unas regiones primera y segunda, en el que al menos la segunda región comprende varias bandas, estando el codificador configurado para codificar picos espectrales en la primera región usando un primer método de codificación, en el que cada segmento de pico espectral comprende un pico y un número determinado de depósitos MDCT vecinos y estando configurado el codificador además para:
    para un segmento de la señal de audio:
    - determinar una relación entre una energía de una banda en la segunda región y una estimación de energía de la primera región;
    - determinar una relación entre la energía de la banda en la segunda región y una energía de las bandas vecinas en la segunda región;
    - determinar si un número disponible de bits es suficiente para codificar al menos un segmento no pico de la primera región y la banda en la segunda región; y
    cuando las relaciones cumplen un respectivo criterio predeterminado y el número de bits sea suficiente:
    - codificar la banda en la segunda región y al menos un segmento no pico de la primera región usando un segundo método de codificación que es diferente del primer método de codificación; y, de lo contrario:
    - someter la banda en la segunda región a la extensión de ancho de banda BWE o al relleno de ruido.
  8. 8. - El codificador de acuerdo con la reivindicación 7, en el que el primer método de codificación es un método de codificación basado en picos que comprende la codificación de una posición de pico, una amplitud y señal de un pico, y un vector de forma que represente depósitos MDCT vecinos.
  9. 9. - El codificador de acuerdo con la reivindicación 7 o 8, en el que la estimación de energía de la primera región se basa en las energías de los picos espectrales en la primera región.
  10. 10. - El codificador de acuerdo con cualquiera de las reivindicaciones 7 a 9, en el que la determinación de si el número de bits es suficiente (305) aplica una prioridad para codificar la región perceptualmente más relevante.
  11. 11. - El codificador de acuerdo con cualquiera de las reivindicaciones 7 a 10, en el que la determinación de si el número de bits es suficiente para codificar la banda en la segunda región considera el número mínimo de bits necesarios para codificar al menos un coeficiente de la banda en la segunda región.
  12. 12. - El codificador de acuerdo con cualquiera de las reivindicaciones 7 a 11, en el que el segundo método de codificación comprende la cuantificación vectorial o la cuantificación vectorial piramidal.
  13. 13. - Dispositivo de comunicación que comprende un codificador de acuerdo con cualquiera de las reivindicaciones 7 a 12.
  14. 14. - Programa informático, que comprende instrucciones que, cuando se ejecutan en al menos un procesador, hacen que al menos dicho procesador lleve a cabo el método de acuerdo con cualquiera de las reivindicaciones 1 a 6.
  15. 15. - Una portadora que contiene el programa informático de la reivindicación anterior, en la que la portadora es una de una señal electrónica, una señal óptica, una señal de radio o un medio de almacenamiento legible por ordenador y que, cuando se ejecuta en al menos un procesador, hace que al menos dicho procesador lleve a cabo el método de acuerdo con cualquiera de las reivindicaciones 1 a 6.
ES15711107T 2014-03-14 2015-03-13 Método y aparato de codificación de audio Active ES2741506T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461953331P 2014-03-14 2014-03-14
PCT/EP2015/055306 WO2015136078A1 (en) 2014-03-14 2015-03-13 Audio coding method and apparatus

Publications (1)

Publication Number Publication Date
ES2741506T3 true ES2741506T3 (es) 2020-02-11

Family

ID=52697386

Family Applications (2)

Application Number Title Priority Date Filing Date
ES15711107T Active ES2741506T3 (es) 2014-03-14 2015-03-13 Método y aparato de codificación de audio
ES19162514T Active ES2930366T3 (es) 2014-03-14 2015-03-13 Método y aparato de codificación de audio

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES19162514T Active ES2930366T3 (es) 2014-03-14 2015-03-13 Método y aparato de codificación de audio

Country Status (12)

Country Link
US (4) US9741349B2 (es)
EP (3) EP3518237B1 (es)
CN (3) CN110619884B (es)
AR (2) AR099761A1 (es)
BR (1) BR112016020988B1 (es)
DK (1) DK3518237T3 (es)
ES (2) ES2741506T3 (es)
IL (3) IL247337A0 (es)
MX (3) MX369614B (es)
PL (1) PL3117432T3 (es)
TR (1) TR201907596T4 (es)
WO (1) WO2015136078A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2980795A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
EP2980794A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10573331B2 (en) * 2018-05-01 2020-02-25 Qualcomm Incorporated Cooperative pyramid vector quantizers for scalable audio coding
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
CN113192517B (zh) * 2020-01-13 2024-04-26 华为技术有限公司 一种音频编解码方法和音频编解码设备
CN113539281A (zh) * 2020-04-21 2021-10-22 华为技术有限公司 音频信号编码方法和装置
CN118053437A (zh) * 2022-11-17 2024-05-17 抖音视界有限公司 音频编码方法、解码方法、装置、设备及存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US126445A (en) * 1872-05-07 Improvement in door-checks
US5263119A (en) * 1989-06-29 1993-11-16 Fujitsu Limited Gain-shape vector quantization method and apparatus
US7027391B2 (en) * 2001-04-26 2006-04-11 Mitsubishi Electric Research Laboratories, Inc. Adaptive bandwidth allocation by wavelet decomposition and energy analysis of network traffic
ES2237706T3 (es) 2001-11-29 2005-08-01 Coding Technologies Ab Reconstruccion de componentes de alta frecuencia.
US20070147518A1 (en) * 2005-02-18 2007-06-28 Bruno Bessette Methods and devices for low-frequency emphasis during audio compression based on ACELP/TCX
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
CN101202042A (zh) * 2006-12-14 2008-06-18 中兴通讯股份有限公司 可扩展的数字音频编码框架及其扩展方法
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
WO2009157824A1 (en) * 2008-06-24 2009-12-30 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode scheme for improved coding of audio
ES2642906T3 (es) * 2008-07-11 2017-11-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador de audio, procedimientos para proporcionar un flujo de audio y programa de ordenador
US8463599B2 (en) * 2009-02-04 2013-06-11 Motorola Mobility Llc Bandwidth extension method and apparatus for a modified discrete cosine transform audio coder
ES2458354T3 (es) * 2010-03-10 2014-05-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodificador de señales de audio, codificador de señales de audio, métodos y programa de ordenador que utiliza tasa de muestreo dependiente de la codificación del contorno de distorsión en el tiempo
ES2935911T3 (es) * 2010-04-09 2023-03-13 Dolby Int Ab Descodificación estéreo de predicción compleja basada en MDCT
US9236063B2 (en) * 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
KR101826331B1 (ko) * 2010-09-15 2018-03-22 삼성전자주식회사 고주파수 대역폭 확장을 위한 부호화/복호화 장치 및 방법
AU2011358654B2 (en) * 2011-02-09 2017-01-05 Telefonaktiebolaget L M Ericsson (Publ) Efficient encoding/decoding of audio signals
CN102800317B (zh) * 2011-05-25 2014-09-17 华为技术有限公司 信号分类方法及设备、编解码方法及设备
US9546924B2 (en) * 2011-06-30 2017-01-17 Telefonaktiebolaget Lm Ericsson (Publ) Transform audio codec and methods for encoding and decoding a time segment of an audio signal
CN102208188B (zh) * 2011-07-13 2013-04-17 华为技术有限公司 音频信号编解码方法和设备
US9384749B2 (en) * 2011-09-09 2016-07-05 Panasonic Intellectual Property Corporation Of America Encoding device, decoding device, encoding method and decoding method
CN103035248B (zh) * 2011-10-08 2015-01-21 华为技术有限公司 音频信号编码方法和装置
CN107025909B (zh) * 2011-10-21 2020-12-29 三星电子株式会社 能量无损编码方法和设备以及能量无损解码方法和设备
TWI591620B (zh) 2012-03-21 2017-07-11 三星電子股份有限公司 產生高頻雜訊的方法
KR102123770B1 (ko) * 2012-03-29 2020-06-16 텔레폰악티에볼라겟엘엠에릭슨(펍) 하모닉 오디오 신호의 변환 인코딩/디코딩
RU2725416C1 (ru) * 2012-03-29 2020-07-02 Телефонактиеболагет Лм Эрикссон (Пабл) Расширение полосы частот гармонического аудиосигнала
CN103516440B (zh) * 2012-06-29 2015-07-08 华为技术有限公司 语音频信号处理方法和编码装置
CN106941004B (zh) * 2012-07-13 2021-05-18 华为技术有限公司 音频信号的比特分配的方法和装置
EP2830065A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decoding an encoded audio signal using a cross-over filter around a transition frequency
US10410645B2 (en) * 2014-03-03 2019-09-10 Samsung Electronics Co., Ltd. Method and apparatus for high frequency decoding for bandwidth extension

Also Published As

Publication number Publication date
US10553227B2 (en) 2020-02-04
MX2019012777A (es) 2020-01-20
US20160254004A1 (en) 2016-09-01
US20170316788A1 (en) 2017-11-02
US9741349B2 (en) 2017-08-22
BR112016020988A8 (pt) 2021-07-06
MX2016011328A (es) 2016-11-08
IL265424A (en) 2019-05-30
TR201907596T4 (tr) 2019-06-21
DK3518237T3 (da) 2022-10-03
EP3518237B1 (en) 2022-09-07
BR112016020988B1 (pt) 2022-08-30
PL3117432T3 (pl) 2019-10-31
WO2015136078A1 (en) 2015-09-17
IL268543A (en) 2019-09-26
US10147435B2 (en) 2018-12-04
CN106104685B (zh) 2019-12-03
EP4109445A1 (en) 2022-12-28
MX353200B (es) 2018-01-05
IL265424B (en) 2019-08-29
IL268543B (en) 2020-02-27
EP3117432B1 (en) 2019-05-08
US20190057707A1 (en) 2019-02-21
IL247337A0 (en) 2016-09-29
CN110619884A (zh) 2019-12-27
US20200126573A1 (en) 2020-04-23
EP3117432A1 (en) 2017-01-18
CN110808056B (zh) 2023-10-17
CN110619884B (zh) 2023-03-07
EP3518237A1 (en) 2019-07-31
BR112016020988A2 (pt) 2017-08-15
AR099761A1 (es) 2016-08-17
CN110808056A (zh) 2020-02-18
CN106104685A (zh) 2016-11-09
AR110293A2 (es) 2019-03-13
MX369614B (es) 2019-11-14
ES2930366T3 (es) 2022-12-09

Similar Documents

Publication Publication Date Title
ES2741506T3 (es) Método y aparato de codificación de audio
RU2765985C2 (ru) Классификация и кодирование аудиосигналов
ES2822607T3 (es) Método de predicción y dispositivo de codificación/decodificación para una señal de banda de alta frecuencia
US9602128B2 (en) Split gain shape vector coding