RU2459282C2 - Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра - Google Patents

Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра Download PDF

Info

Publication number
RU2459282C2
RU2459282C2 RU2010120678/08A RU2010120678A RU2459282C2 RU 2459282 C2 RU2459282 C2 RU 2459282C2 RU 2010120678/08 A RU2010120678/08 A RU 2010120678/08A RU 2010120678 A RU2010120678 A RU 2010120678A RU 2459282 C2 RU2459282 C2 RU 2459282C2
Authority
RU
Russia
Prior art keywords
spectral lines
signal
layer
spectrum
coding
Prior art date
Application number
RU2010120678/08A
Other languages
English (en)
Other versions
RU2010120678A (ru
Inventor
Юрий РЕЗНИК (US)
Юрий РЕЗНИК
Пэнцзюнь ХУАН (US)
Пэнцзюнь ХУАН
Original Assignee
Квэлкомм Инкорпорейтед
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 Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2010120678A publication Critical patent/RU2010120678A/ru
Application granted granted Critical
Publication of RU2459282C2 publication Critical patent/RU2459282C2/ru

Links

Images

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/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/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • 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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

Landscapes

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

Abstract

Изобретение относится к кодерам и декодерам, в частности к эффективному способу кодирования спектра модифицированного дискретного косинусного преобразования (MDCT) как части масштабируемого речевого и аудиокодека. Техническим результатом является уменьшение размера хранимой или передаваемой информации при эффективной реализации кодирования MDCT-спектра. Указанный результат достигается тем, что в способе для кодирования в масштабируемом речевом и аудиокодеке, имеющем несколько слоев, получают остаточный сигнал из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом и аудиокодеке и при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала, преобразуют остаточный сигнал из предыдущего слоя в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий, и кодируют спектральные линии спектра преобразования с использованием технологии комбинаторного позиционного кодирования. 10 н. и 30 з.п. ф-лы, 13 ил., 1 табл.

Description

Настоящая заявка на патент испрашивает приоритет согласно предварительной заявке США №60/981814, озаглавленной "Low-Complexity Technique for Encoding/Decoding of Quantized MDCT Spectrum in Scalable Speech+Audio Codecs", поданной 22 октября 2007 года, переуступленной правопреемнику настоящей заявки и явно включенной в состав данного документа посредством ссылки.
Область техники, к которой относится изобретение
Последующее описание в общем относится к кодерам и декодерам и в частности к эффективному способу кодирования спектра модифицированного дискретного косинусного преобразования (MDCT) как части масштабируемого речевого и аудиокодека.
Уровень техники
Одна цель кодирования аудио состоит в том, чтобы сжимать аудиосигнал в требуемый ограниченный объем информации при сохранении максимально возможного исходного качества звука. В процессе кодирования аудиосигнал во временной области преобразуется в частотную область.
Технологии перцепционного кодирования аудио, такие как MPEG Layer-3 (MP3), MPEG-2 и MPEG-4, используют свойства маскирования сигналов человеческого уха, чтобы уменьшать объем данных. За счет этого шум квантования распределяется по полосам частот таким образом, что он маскируется посредством доминирующего полного сигнала, т.е. он остается неслышимым. Значительное уменьшение емкости для хранения возможно при небольших или отсутствии воспринимаемых потерь качества звучания. Технологии перцепционного кодирования аудио зачастую являются масштабируемыми и формируют многослойный поток битов, имеющий основной или базовый слой и, по меньшей мере, один улучшающий слой. Это обеспечивает масштабируемость скорости передачи битов, т.е. декодирование при различных уровнях качества звучания на стороне декодера или уменьшение скорости передачи битов в сети посредством формирования или согласования трафика.
Линейное прогнозирование с возбуждением по коду (CELP) является классом алгоритмов, включающих в себя алгебраическое CELP (ACELP), ослабленное CELP (RCELP), с низкой задержкой (LD-CELP) и линейное прогнозирование с возбуждением по векторной сумме (VSELP), которые широко используются для кодирования речи. Один принцип в основе CELP называется анализом через синтез (AbS) и означает, что кодирование (анализ) выполняется посредством перцепционной оптимизации декодированного (синтез) сигнала в замкнутом контуре. В теории лучший поток CELP должен формироваться посредством опробования всех возможных наборов двоичных знаков и выбора того из них, который формирует оптимально звучащий декодированный сигнал. Очевидно, что это невозможно на практике по двум причинам: его очень сложно реализовать и критерий выбора "оптимального звучания" подразумевает слушателя-человека. Чтобы достигать кодирования в реальном времени с использованием ограниченных вычислительных ресурсов, поиск CELP подразделяется на меньшие, более управляемые, последовательные поиски с использованием перцепционной весовой функции. Как правило, кодирование включает в себя: (a) вычисление и/или квантование (обычно как пар спектральных линий) коэффициентов кодирования с линейным прогнозированием для входного аудиосигнала, (b) использование таблиц кодирования, чтобы выполнять поиск наилучшего совпадения, чтобы формировать кодированный сигнал, (c) формирование сигнала ошибки, который является разностью между кодированным сигналом и действительным входным сигналом, и (d) дополнительное кодирование такого сигнала ошибки (обычно в MDCT-спектре) в одном или более слоев, чтобы повышать качество восстановленного или синтезированного сигнала.
Множество различных технологий доступно для того, чтобы реализовывать речевые и аудиокодеки на основе алгоритмов CELP. В некоторых из этих технологий формируется сигнал ошибки, который затем преобразуется (обычно с помощью DCT, MDCT или аналогичного преобразования) и кодируется, чтобы дополнительно повышать качество кодированного сигнала. Тем не менее, вследствие ограничений по обработке и полосе пропускания многих мобильных устройств и сетей желательна эффективная реализация такого кодирования MDCT-спектра, чтобы уменьшать размер хранимой или передаваемой информации.
Раскрытие изобретения
Далее представлено упрощенное раскрытие сущности одного или более вариантов осуществления изобретения, для того чтобы предоставить базовое понимание некоторых вариантов осуществления. Эта сущность не является всесторонним обзором всех рассматриваемых вариантов осуществления, и она не имеет намерением ни то, чтобы определять ключевые или важнейшие элементы всех вариантов осуществления, ни то, чтобы обрисовывать область применения каких-либо или всех вариантов осуществления. Ее единственная цель - представлять некоторые понятия одного или более вариантов осуществления в упрощенной форме в качестве вступления в более подробное описание, которое представлено далее.
Предоставляется эффективная технология для кодирования/декодирования спектра MDCT (или аналогичного основанного на преобразовании) в алгоритмах масштабируемого сжатия аудио и речи. Эта технология использует свойство разреженности перцепционно квантованного MDCT-спектра при задании структуры кода, который включает в себя элемент, описывающий позиции ненулевых спектральных линий в кодированной полосе частот, и использует технологии комбинаторного перечисления, чтобы вычислять этот элемент.
В одном примере предоставляется способ для кодирования MDCT-спектра в масштабируемом речевом и аудиокодеке. Такое кодирование спектра преобразования может выполняться посредством аппаратных средств кодера, программного обеспечения для кодирования и/или комбинации означенного и может быть осуществлено в процессоре, схеме обработки и/или машиночитаемом носителе. Остаточный сигнал получается из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом остаточный сигнал - это разность между исходным аудиосигналом и восстановленной версией исходного аудиосигнала. Восстановленная версия исходного аудиосигнала может получаться посредством следующего: (a) синтезирование кодированной версии исходного аудиосигнала из слоя кодирования на основе CELP, чтобы получать синтезированный сигнал, (b) повторный ввод предыскажений в синтезированный сигнал и/или (c) повышающая дискретизация сигнала после повторного ввода предыскажений, чтобы получать восстановленную версию исходного аудиосигнала.
Остаточный сигнал преобразуется в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий. Слой преобразования DCT-типа может быть слоем модифицированного дискретного косинусного преобразования (MDCT), и спектр преобразования - это MDCT-спектр.
Спектральные линии спектра преобразования кодируются с использованием технологии комбинаторного позиционного кодирования. Кодирование спектральных линий спектра преобразования может включать в себя кодирование позиций выбранного поднабора спектральных линий на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий. В некоторых реализациях набор спектральных линий может отбрасываться, чтобы сократить число спектральных линий, перед кодированием. В другом примере технология комбинаторного позиционного кодирования может включать в себя формирование лексикографического индекса для выбранного поднабора спектральных линий, при этом каждый лексикографический индекс представляет одну из множества возможных двоичных строк, представляющих позиции выбранного поднабора спектральных линий. Лексикографический индекс может представлять спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки.
В другом примере технология комбинаторного позиционного кодирования может включать в себя формирование индекса, представляющего позиции спектральных линий в рамках двоичной строки, причем позиции спектральных линий кодируются на основе комбинаторной формулы:
Figure 00000001
где n - длина двоичной строки, k - число выбранных спектральных линий, которые должны быть кодированы, и wj представляет отдельные биты двоичной строки.
В некоторых реализациях множество спектральных линий может быть разбито на множество подполос и последовательные подполосы могут группироваться в области. Основной импульс, выбираемый из множества спектральных линий для каждой из подполос в области, может быть кодирован, при этом выбранный поднабор спектральных линий в области исключает основной импульс для каждой из подполос. Дополнительно, позиции выбранного поднабора спектральных линий в рамках области могут быть кодированы на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий. Выбранный поднабор спектральных линий в области может исключать основной импульс для каждой из подполос. Кодирование спектральных линий спектра преобразования может включать в себя формирование матрицы на основе позиций выбранного поднабора спектральных линий из всех возможных двоичных строк длины, равной всем позициям в области. Области могут перекрываться, и каждая область может включать в себя множество последовательных подполос.
В другом примере предоставляется способ для декодирования спектра преобразования в масштабируемом речевом и аудиокодеке. Такое декодирование спектра преобразования может выполняться посредством аппаратных средств декодера, программного обеспечения для декодирования и/или комбинации означенного и может быть осуществлено в процессоре, схеме обработки и/или машиночитаемом носителе. Индекс, представляющий множество спектральных линий спектра преобразования остаточного сигнала, получается, при этом остаточный сигнал - это разность между исходным аудиосигналом и восстановленной версией исходного аудиосигнала из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP). Индекс может представлять ненулевые спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки. В одном примере полученный индекс может представлять позиции спектральных линий в рамках двоичной строки, причем позиции спектральных линий кодируются на основе комбинаторной формулы:
Figure 00000002
где n - длина двоичной строки, k - число выбранных спектральных линий, которые должны быть кодированы и wj представляет отдельные биты двоичной строки.
Индекс декодируется посредством выполнения в обратном порядке технологии комбинаторного позиционного кодирования, используемой для того, чтобы кодировать множество спектральных линий спектра преобразования. Версия остаточного сигнала синтезируется с использованием декодированного множества спектральных линий спектра преобразования в слое обратного преобразования типа обратного дискретного косинусного преобразования (IDCT). Синтезирование версии остаточного сигнала может включать в себя применение обратного преобразования DCT-типа к спектральным линиям спектра преобразования, чтобы формировать версию остаточного сигнала во временной области. Декодирование спектральных линий спектра преобразования может включать в себя декодирование позиций выбранного поднабора спектральных линий на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий. Слой обратного преобразования DCT-типа может быть слоем обратного модифицированного дискретного косинусного преобразования (IMDCT), и спектр преобразования - это MDCT-спектр.
Дополнительно, может приниматься CELP-кодированный сигнал, кодирующий исходный аудиосигнал. CELP-кодированный сигнал может быть декодирован, чтобы сформировать декодированный сигнал. Декодированный сигнал может быть комбинирован с синтезированной версией остаточного сигнала, чтобы получать восстановленную версию (с более высокой точностью воспроизведения) исходного аудиосигнала.
Краткое описание чертежей
Различные признаки, характер и преимущества могут стать очевидными из нижеизложенного подробного описания при рассмотрении вместе с чертежами, на которых аналогичные ссылки с номером идентифицируются соответствующим образом по всему документу.
Фиг.1 является блок-схемой, иллюстрирующей систему связи, в которой могут реализовываться один или более признаков кодирования.
Фиг.2 является блок-схемой, иллюстрирующей передающее устройство, которое может быть выполнено с возможностью осуществлять эффективное кодирование аудио согласно одному примеру.
Фиг.3 является блок-схемой, иллюстрирующей приемное устройство, которое может быть выполнено с возможностью осуществлять эффективное декодирование аудио согласно одному примеру.
Фиг.4 является блок-схемой масштабируемого кодера согласно одному примеру.
Фиг.5 является блок-схемой, иллюстрирующей процесс кодирования MDCT-спектра, который может реализовываться посредством кодера.
Фиг.6 является схемой, иллюстрирующей один пример того, как кадр может выбираться и разделяться на области и подполосы, чтобы упрощать кодирование MDCT-спектра.
Фиг.7 иллюстрирует общий подход для кодирования аудиокадра эффективным способом.
Фиг.8 является блок-схемой, иллюстрирующей кодер, который может эффективно кодировать импульсы в MDCT-аудиокадре.
Фиг.9 является блок-схемой последовательности операций, иллюстрирующей способ для получения вектора формы для кадра.
Фиг.10 является блок-схемой, иллюстрирующей способ для кодирования спектра преобразования в масштабируемом речевом и аудиокодеке.
Фиг.11 является блок-схемой, иллюстрирующей пример видеодекодера.
Фиг.12 является блок-схемой, иллюстрирующей способ для кодирования спектра преобразования в масштабируемом речевом и аудиокодеке.
Фиг.13 является блок-схемой, иллюстрирующей способ для декодирования спектра преобразования в масштабируемом речевом и аудиокодеке.
Осуществление изобретения
Далее описываются различные варианты осуществления со ссылками на чертежи, на которых одинаковые номера ссылок используются для того, чтобы ссылаться на одинаковые элементы. В последующем описании с целью пояснения многие конкретные детали изложены для того, чтобы предоставлять полное понимание одного или более вариантов осуществления. Тем не менее, может быть очевидным, что эти варианты осуществления могут применяться на практике без данных конкретных деталей. В других случаях распространенные структуры и устройства показаны в форме блок-схем для того, чтобы упрощать описание одного или более вариантов осуществления.
Обзор
В масштабируемом кодеке для кодирования/декодирования аудиосигналов, в котором несколько слоев кодирования используются для того, чтобы итеративно кодировать аудиосигнал, модифицированное дискретное косинусное преобразование может использоваться в одном или более слоев кодирования, где остатки аудиосигнала преобразуются (к примеру, в MDCT-домен) для кодирования. В MDCT-домене кадр спектральных линий может быть разделен на подполосы и задаются области перекрывающихся подполос. Для каждой подполосы в области может выбираться основной импульс (т.е. самая сильная спектральная линия или группа спектральных линий в подполосе). Позиция основных импульсов может быть кодирована посредством использования целого числа, чтобы представлять ее позицию в рамках каждой из подполос. Амплитуда/величина каждого из основных импульсов может быть отдельно кодирована. Дополнительно, выбирается множество (к примеру, четыре) субимпульсов (к примеру, оставшиеся спектральные линии) в области, исключая уже выбранные основные импульсы. Выбранные субимпульсы кодируются на основе их полной позиции в рамках области. Позиции этих субимпульсов могут кодироваться с использованием технологии комбинаторного позиционного кодирования, чтобы формировать лексикографические индексы, которые могут представляться в меньшем числе битов, чем по всей длине области. Посредством представления основных импульсов и субимпульсов таким образом они могут быть кодированы с использованием относительно небольшого числа битов для хранения и/или передачи.
Система связи
Фиг.1 является блок-схемой, иллюстрирующей систему связи, в которой могут реализовываться один или более признаков кодирования. Кодер 102 принимает поступающий входной аудиосигнал 104 и формирует и кодированный аудиосигнал 106. Кодированный аудиосигнал 106 может быть передан по каналу передачи (к примеру, беспроводному или проводному) в декодер 108. Декодер 108 пытается восстанавливать входной аудиосигнал 104 на основе кодированного аудиосигнала 106, чтобы формировать восстановленный выходной аудиосигнал 110. В целях иллюстрации, кодер 102 может работать в передающем устройстве, тогда как устройство декодера может работать в приемном устройстве. Тем не менее, должно быть очевидным, что все такие устройства могут включать в себя как кодер, так и декодер.
Фиг.2 является блок-схемой, иллюстрирующей передающее устройство 202, которое может быть выполнено с возможностью осуществлять эффективное кодирование аудио согласно одному примеру. Входной аудиосигнал 204 захватывается посредством микрофона 206, усиливается посредством усилителя 208 и преобразуется посредством аналого-цифрового преобразователя 210 в цифровой сигнал, который отправляется в модуль 212 кодирования речи. Модуль 212 кодирования речи выполнен с возможностью осуществлять многослойное (масштабированное) кодирование входного сигнала, где, по меньшей мере, один такой слой заключает в себе кодирование остатка (сигнала ошибки) в MDCT-спектре. Модуль 212 кодирования речи может выполнять кодирование, как поясняется в связи с фиг.4, 5, 6, 7, 8, 9 и 10. Выходные сигналы из модуля 212 кодирования речи могут отправляться в модуль 214 кодирования тракта передачи, где канальное декодирование выполняется и результирующие выходные сигналы отправляются в схему 216 модуляции и модулируются, чтобы отправляться через цифроаналоговый преобразователь 218 и RF-усилитель 220 в антенну 222 для передачи кодированного аудиосигнала 224.
Фиг.3 является блок-схемой, иллюстрирующей приемное устройство 302, которое может быть выполнено с возможностью осуществлять эффективное декодирование аудио согласно одному примеру. Кодированный аудиосигнал 304 принимается посредством антенны 306 и усиливается посредством RF-усилителя 308 и отправляется через аналого-цифровой преобразователь 310 в схему 312 демодуляции так, что демодулированные сигналы предоставляются в модуль 314 декодирования тракта передачи. Выходной сигнал из модуля 314 декодирования тракта передачи отправляется в модуль 316 декодирования речи, выполненный с возможностью осуществлять многослойное (масштабированное) декодирование входного сигнала, где, по меньшей мере, один такой слой заключает в себе декодирование остатка (сигнала ошибки) в IMDCT-спектре. Модуль 316 декодирования речи может выполнять декодирование сигналов, как поясняется в связи с фиг.11, 12 и 13. Выходные сигналы из модуля 316 декодирования речи отправляются в цифроаналоговый преобразователь 318. Аналоговый речевой сигнал из цифроаналогового преобразователя 318 отправляется через усилитель 320 на динамик 322, чтобы предоставлять восстановленный выходной аудиосигнал 324.
Архитектура масштабируемого аудиокодека
Кодер 102 (фиг.1), декодер 108 (фиг.1), модуль 212 кодирования речи/аудио (фиг.2) и/или модуль 316 декодирования речи/аудио (фиг.3) могут реализовываться как масштабируемый аудиокодек. Такой масштабируемый аудиокодек может реализовываться, чтобы предоставлять высокопроизводительное широкополосное кодирование речи для подверженных ошибкам каналов передачи данных, с высоким качеством доставляемых кодированных узкополосных речевых сигналов или широкополосных аудио/музыкальных сигналов. Один подход к масштабируемому аудиокодеку состоит в том, чтобы предоставлять итерационные слои кодирования, где сигнал ошибки (остаток) из одного слоя кодируется в последующем слое, чтобы дополнительно улучшать аудиосигнал, кодированный в предыдущих слоях. Например, линейное прогнозирование с возбуждением по таблице кодирования (CELP) основано на принципе кодирования с линейным прогнозированием, в котором таблица кодирования различных сигналов возбуждения поддерживается в кодере и декодере. Кодер находит самый подходящий сигнал возбуждения и отправляет его соответствующий индекс (из фиксированной, алгебраической и/или адаптивной таблицы кодирования) в декодер, который затем использует его, чтобы воспроизводить сигнал (на основе таблицы кодирования). Кодер выполняет анализ через синтез посредством кодирования и последующего декодирования аудиосигнала, чтобы формировать восстановленный или синтезированный аудиосигнал. Кодер затем находит параметры, которые минимизируют энергию сигнала ошибки, т.е. разность между исходным аудиосигналом и восстановленным или синтезированным аудиосигналом. Выходная скорость передачи битов может регулироваться посредством использования большего или меньшего числа слоев кодирования, чтобы удовлетворять требованиям канала и требуемому качеству звучания. Такой масштабируемый аудиокодек может включать в себя несколько слоев, где потоки битов верхнего слоя могут быть отброшены без влияния на декодирование нижних слоев.
Примеры существующих масштабируемых кодеков, которые используют такую многослойную архитектуру, включают в себя ITU-T Recommendation ITU-T и выходящий стандарт ITU-T под кодовым названием G.EV-VBR. Например, кодек со встроенной переменной скоростью передачи битов (EV-VBR) может реализовываться как несколько слоев от L1 (базовый слой) до LX (где X - номер наивысшего расширяющего слоя). Такой кодек может принимать как широкополосные (WB) сигналы, дискретизированные при 16 кГц, так и узкополосные (NB) сигналы, дискретизированные при 8 кГц. Аналогично, вывод кодека может быть широкополосным или узкополосным.
Пример структуры слоев для кодека (к примеру, EV-VBR-кодека) показан в таблице 1, содержащей пять слоев: от L1 (базовый слой) до L5 (наивысший расширяющий слой). Более низкие два слоя (L1 и L2) могут быть основаны на алгоритме линейного прогнозирования с возбуждением по коду (CELP). Базовый слой L1 может извлекаться из алгоритма кодирования речи на основе широкополосного кодека с переменным многоскоростным кодированием (VMR-WB) и может содержать несколько режимов кодирования, оптимизированных для различных входных сигналов. Таким образом, базовый слой L1 может классифицировать входные сигналы, чтобы лучше моделировать аудиосигнал. Ошибка кодирования (остаток) из базового слоя L1 кодируется посредством улучшающего или расширяющего слоя L2 на основе адаптивной таблицы кодирования и фиксированной алгебраической таблицы кодирования. Сигнал ошибки (остаток) из слоя L2 дополнительно может кодироваться посредством верхних слоев (L3-L5) в области преобразования с использованием модифицированного дискретного косинусного преобразования (MDCT). Вспомогательная информация может отправляться в слое L3, чтобы улучшать маскирование стирания кадров (FEC).
Таблица 1
Слой Скорость передачи битов, кбит/сек Технология Частота дискретизации, кГц
L1 8 Базовый слой CELP (классификация) 12,8
L2 +4 Слой алгебраической таблицы кодирования (улучшающий) 12,8
L3 +4 FEC MDCT 12,8 16
L4 +8 MDCT 16
L5 +8 MDCT 16
Кодек базового слоя L1, по существу, является кодеком на основе CELP и может быть совместимым с одним из ряда известных узкополосных или широкополосных вокодеров, таких как кодек с адаптивным многоскоростным кодированием (AMR), широкополосный AMR-кодек (AMR-WB), широкополосный кодек с переменным многоскоростным кодированием (VMR-WB), усовершенствованный кодек с переменной скоростью (EVRC) или широкополосный EVR-кодек (EVRC-WB).
Слой 2 в масштабируемом кодеке может использовать таблицы кодирования, чтобы дополнительно минимизировать ошибку кодирования с перцепционным взвешиванием (остаток) из базового слоя L1. Чтобы улучшить маскирование стирания кадров (FEC) кодека, вспомогательная информация может вычисляться и передаваться в последующем слое L3. Независимо от режима кодирования базового слоя вспомогательная информация может включать в себя классификацию сигналов.
Допускается, что для широкополосного вывода взвешенный сигнал ошибки после кодирования слоя L2 кодируется с использованием кодирования с преобразованием на основе добавления с перекрытием на основе модифицированного дискретного косинусного преобразования (MDCT) или аналогичного типа преобразования. Таким образом, для кодированных слоев L3, L4 и/или L5 сигнал может быть кодирован в MDCT-спектре. Следовательно, предоставляется эффективный способ кодирования сигнала в MDCT-спектре.
Пример кодера
Фиг.4 является блок-схемой масштабируемого кодера 402 согласно одному примеру. На стадии предварительной обработки до кодирования входной сигнал 404 фильтруется по верхним частотам 406, чтобы подавлять нежелательные низкочастотные компоненты, чтобы формировать фильтрованный входной сигнал SHP(n). Например, фильтр 406 верхних частот может иметь отсечку в 25 Гц для широкополосного входного сигнала и 100 Гц для узкополосного входного сигнала. Фильтрованный входной сигнал SHP(n) затем повторно дискретизируется посредством модуля 408 повторной дискретизации, чтобы формировать повторно дискретизированный входной сигнал S12,8(n). Например, исходный входной сигнал 404 может дискретизироваться при 16 кГц и повторно дискретизируется до 12,8 кГц, что может быть внутренней частотой, используемой для кодирования слоя L1 и/или L2. Модуль 410 ввода предыскажений затем применяет фильтр верхних частот первого порядка, чтобы вводить предыскажения в верхние частоты (и ослаблять низкие частоты) повторно дискретизированного входного сигнала S12,8(n). Результирующий сигнал затем передается в модуль 412 кодера/декодера, который может выполнять кодирование слоя L1 и/или L2 на базе алгоритма на основе линейного прогнозирования с возбуждением по коду (CELP), где речевой сигнал моделируется посредством сигнала возбуждения, проходящего через синтезирующий фильтр с линейным прогнозированием (LP), представляющего спектральную огибающую. Энергия сигнала может вычисляться для каждой перцепционной критической полосы частот и использоваться как часть кодирования слоев L1 и L2. Дополнительно, кодированный модуль 412 кодера/декодера также может синтезировать (восстанавливать) версию входного сигнала. Таким образом, после того как модуль 412 кодера/декодера кодирует входной сигнал, он декодирует его и модуль 416 коррекции предыскажений и модуль 418 повторной дискретизации воссоздают версию
Figure 00000003
входного сигнала 404. Остаточный сигнал x2(n) формируется посредством подсчета разности 420 между исходным сигналом SHP(n) и воссозданным сигналом
Figure 00000004
(т.е. x2(n)=SHP(n)--
Figure 00000005
). Остаточный сигнал x2(n) затем перцепционно взвешивается посредством модуля 424 взвешивания и преобразуется посредством MDCT-модуля 428 в MDCT-спектр или домен, чтобы формировать остаточный сигнал X2(k). Остаточный сигнал X2(k) затем предоставляется в комбинаторный кодер 432 спектра, который кодирует остаточный сигнал X2(k), чтобы формировать кодированные параметры для слоев L3, L4 и/или L5. В одном примере комбинаторный кодер 432 спектра формирует индекс, представляющий ненулевые спектральные линии (импульсы) в остаточном сигнале X2(k). Например, индекс может представлять одну из множества возможных двоичных строк, представляющих позиции ненулевых спектральных линий. Вследствие комбинаторной технологии индекс может представлять ненулевые спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки.
Параметры из слоев L1-L5 затем могут выступать в качестве выходного потока битов 436 и далее могут использоваться для того, чтобы восстанавливать или синтезировать версию исходного входного сигнала 404 в декодере.
Слой 1 - кодирование классификации: Базовый слой L1 может реализовываться в модуле 412 кодера/декодера и может использовать классификацию сигналов и четыре различных режима кодирования, чтобы повышать производительность кодирования. В одном примере эти четыре различных класса сигналов, которые могут рассматриваться для различного кодирования каждого кадра, могут включать в себя: (1) невокализованное кодирование (UC) для невокализованных речевых кадров, (2) вокализованное кодирование (VC), оптимизированное для квазипериодических сегментов с гладким изменением основного тона, (3) переходный режим (TC) для кадров после вокализованных вступлений, выполненный с возможностью минимизировать распространение ошибки в случае стираний кадров, и (4) общее кодирование (GC) для других кадров. При невокализованном кодировании (UC) адаптивная таблица кодирования не используется и возбуждение выбирается из гауссовой таблицы кодирования. Квазипериодические сегменты кодируются с помощью режима вокализованного кодирования (VC). Выбор вокализованного кодирования обусловливается посредством гладкого изменения основного тона. Режим вокализованного кодирования может использовать технологию ACELP. В кадре после переходного кодирования (TC) адаптивная таблица кодирования в субкадре, содержащем гортанный импульс первого периода основного тона, заменяется фиксированной таблицей кодирования.
В базовом слое L1 сигнал может моделироваться с использованием парадигмы на основе CELP посредством сигнала возбуждения, проходящего через синтезирующий фильтр с линейным прогнозированием (LP), представляющего спектральную огибающую. LP-фильтр может квантоваться в домене спектральных частот иммитанса (ISF) с использованием подхода "страховочной сетки" и многостадийного векторного квантования (MSVQ) для режимов общего и вокализованного кодирования. Анализ основного тона с разомкнутым контуром (OL) выполняется посредством алгоритма отслеживания основного тона, чтобы обеспечивать гладкий контур основного тона. Тем не менее, чтобы повышать устойчивость оценки основного тона, два параллельных контура изменения основного тона могут сравниваться и выбирается дорожка, которая дает в результате более плавный контур.
Два набора параметров LPC оцениваются и кодируются в расчете на каждый кадр в большинстве режимов с использованием окна анализа в 20 мс, один для конца кадра и один для середины кадра. ISF середины кадра кодируются с помощью интерполяционного раздельного VQ с обнаружением коэффициента линейной интерполяции для каждой ISF-подгруппы, так что разность между оцененными и интерполированными квантованными ISF минимизируется. В одном примере, чтобы квантовать ISF-представление LP-коэффициентов, поиск может осуществляться в двух наборах таблиц кодирования (соответствующих слабому и сильному прогнозированию), могут искаться параллельно, чтобы находить прогнозирующий параметр и запись таблицы кодирования, которые минимизируют искажение оцененной спектральной огибающей. Основная причина для этого подхода "страховочной сетки" состоит в том, чтобы уменьшать распространение ошибки, когда стирания кадров совпадают с сегментами, где спектральная огибающая быстро изменяется. Чтобы предоставлять дополнительную устойчивость к ошибкам, слабый прогнозирующий параметр иногда задается равным нулю, что приводит к квантованию без прогнозирования. Тракт без прогнозирования может всегда выбираться, когда его искажение квантования достаточно близко к искажению с прогнозированием или когда его искажение квантования является достаточно небольшим, чтобы предоставлять прозрачное кодирование. Помимо этого в сильно прогнозирующем поиске таблицы кодирования субоптимальный кодовый вектор выбирается, если это не влияет на производительность чистого канала, но ожидаемо понижает распространение ошибки при наличии стираний кадров. ISF UC- и TC-кадров дополнительно систематически квантуются без прогнозирования. Для UC-кадров достаточно битов доступно для того, чтобы предоставлять возможность очень хорошего спектрального квантования даже без прогнозирования. TC-кадры считаются слишком чувствительными к стираниям кадров для прогнозирования, которое должно использоваться несмотря на потенциальное уменьшение производительности чистого канала.
Для узкополосных (NB) сигналов оценка основного тона выполняется с использованием возбуждения L2, сформированного с неквантованными оптимальными усилениями. Этот подход удаляет эффекты квантования усиления и улучшает оценку запаздывания основного тона в слоях. Для широкополосных (WB) сигналов используется стандартная оценка основного тона (возбуждение L1 с квантованными усилениями).
Слой 2 - улучшающее кодирование: В слое L2 модуль 412 кодера/декодера может кодировать ошибку квантования из базового слоя L1 снова с использованием алгебраических таблиц кодирования. В слое L2 кодер дополнительно модифицирует адаптивную таблицу кодирования так, чтобы включать в себя не только предыдущую долю L1, но также и предыдущую долю L2. Адаптивное запаздывание основного тона является одинаковым в L1 и L2, чтобы поддерживать временную синхронизацию между слоями. Усиления адаптивных и алгебраических таблиц кодирования, соответствующие L1 и L2, затем повторно оптимизируются, чтобы минимизировать ошибку кодирования с перцепционным взвешиванием. Обновленные усиления L1 и усиления L2 прогнозным образом векторно квантуются относительно усилений, уже квантованных в L1. Слои CELP (L1 и L2) могут работать на внутренней (к примеру, 12,8 кГц) частоте дискретизации. Вывод из слоя L2 тем самым включает в себя синтезированный сигнал, кодированный в полосе частот на 0-6,4 кГц. Для широкополосного вывода расширение полосы пропускания AMR-WB может использоваться для того, чтобы формировать пропущенную полосу пропускания на 6,4-7 кГц.
Слой 3 - маскирование стирания кадров: Чтобы повышать производительность в условиях стирания кадров (FEC), модуль 414 маскирования ошибок по кадрам может получать вспомогательную информацию из модуля 412 кодера/декодера и использовать ее для того, чтобы формировать параметры слоя L3. Вспомогательная информация может включать в себя информацию класса для всех режимов кодирования. Информация спектральной огибающей предыдущего кадра также может быть передана для переходного кодирования базового слоя. Для других режимов кодирования базового слоя также могут отправляться информация фазы и синхронная по основному тону энергия синтезированного сигнала.
Слои 3, 4, 5 - кодирование с преобразованием: Остаточный сигнал X2(k), вытекающий из CELP-кодирования второй стадии в слое L2, может квантоваться в слоях L3, L4 и L5 с использованием MDCT или аналогичного преобразования со структурой добавления с перекрытием. Таким образом, сигнал остатка или "ошибки" из предыдущего слоя используется посредством последующего слоя, чтобы формировать его параметры (которые направлены на то, чтобы эффективно представлять такую ошибку для передачи в декодер).
MDCT-коэффициенты могут квантоваться посредством использования нескольких технологий. В некоторых случаях MDCT-коэффициенты квантуются с использованием масштабируемого алгебраического векторного квантования. MDCT может вычисляться каждые 20 миллисекунд (мс), и его спектральные коэффициенты квантуются в 8-мерных блоках. Применяется модуль очистки звука (фильтр ограничения шума MDCT-домена), извлекаемый из спектра исходного сигнала. Глобальные усиления передаются в слое L3. Дополнительно, несколько битов используются для высокочастотной компенсации. Оставшиеся биты слоя L3 используются для квантования MDCT-коэффициентов. Биты слоев L4 и L5 используются так, что производительность максимизируется независимо в слоях L5 и слоях L4.
В некоторых реализациях MDCT-коэффициенты могут квантоваться по-другому для речевого и музыкального доминирующего аудиосодержимого. Различение между речевым и музыкальным содержимым основано на оценке эффективности CELP-модели посредством сравнения MDCT-компонентов взвешенного синтеза L2 с соответствующими компонентами входного сигнала. Для речевого доминирующего содержимого масштабируемое алгебраическое векторное квантование (AVQ) используется в L3 и L4 со спектральными коэффициентами, квантованными в 8-мерных блоках. Глобальное усиление передается в L3, и несколько битов используются для высокочастотной компенсации. Оставшиеся биты L3 и L4 используются для квантования MDCT-коэффициентов. Способ квантования - многоскоростное решетчатое VQ (MRLVQ). Новый алгоритм на основе многоуровневых перестановок использован для того, чтобы уменьшать сложность и затраты по запоминающему устройству процедуры индексации. Вычисление ранга выполняется в несколько этапов. Во-первых, входной вектор разлагается на вектор знака и вектор абсолютных значений. Во-вторых, вектор абсолютных значений дополнительно разлагается на несколько уровней. Вектор наивысшего уровня - это исходный вектор абсолютных значений. Каждый вектор нижнего уровня получается посредством удаления самого частого элемента из вектора верхнего уровня. Параметр позиции каждого вектора нижнего уровня, связанного с вектором верхнего уровня, индексируется на основе функции перестановок и комбинирования. Наконец, индекс всех нижних уровней и знак компонуются в выходной индекс.
Для музыкального доминирующего содержимого избирательное по полосе частот векторное квантование усиления формы (VQ усиления формы) может использоваться в слое L3 и дополнительный векторный квантователь позиции импульса может применяться к слою L4. В слое L3 выбор полосы частот может выполняться посредством вычисления сначала энергии MDCT-коэффициентов. Затем MDCT-коэффициенты в выбранной полосе частот квантуются с использованием многоимпульсной таблицы кодирования. Векторный квантователь используется для того, чтобы квантовать подполосные усиления для MDCT-коэффициентов. Для слоя L4 вся полоса пропускания может кодироваться с использованием технологии позиционирования импульсов. Когда речевая модель формирует нежелательный шум вследствие несовпадения в модели аудиоисточника, определенные частоты вывода слоя L2 могут быть ослаблены, чтобы давать возможность более активного кодирования MDCT-коэффициентов. Это осуществляется способом с замкнутым контуром посредством минимизации квадратической ошибки между MDCT входного сигнала и MDCT кодированного аудиосигнала через слой L4. Величина применяемого ослабления может составлять вплоть до 6 дБ, что может передаваться посредством использования 2 или меньшего числа битов. Слой L5 может использовать дополнительную технологию позиционного кодирования импульсов.
Кодирование MDCT-спектра
Поскольку слои L3, L4 и L5 выполняют кодирование в MDCT-спектре (к примеру, MDCT-коэффициенты, представляющие остаток для предыдущего слоя), желательно для такого кодирования MDCT-спектра быть эффективным. Следовательно, предоставляется эффективный способ кодирования MDCT-спектра.
Входными данными в этот процесс является либо готовый MDCT-спектр сигнала ошибки (остатка) после базы CELP (слои L1 и/или L2), либо остаточный MDCT-спектр после предыдущего слоя. Таким образом, в слое L3 готовый MDCT-спектр принимается и частично кодируется. Затем в слое L4 остаточный MDCT-спектр кодированного сигнала в слое L3 кодируется. Этот процесс может повторяться для слоя L5 и других последующих слоев.
Фиг.5 является блок-схемой, иллюстрирующей примерный процесс кодирования MDCT-спектра, который может реализовываться в верхних слоях кодера. Кодер 502 получает MDCT-спектр остаточного сигнала 504 из предыдущих слоев. Такой остаточный сигнал 504 может быть разностью между исходным сигналом и восстановленной версией исходного сигнала (к примеру, восстановленной из кодированной версии исходного сигнала). MDCT-коэффициенты остаточного сигнала могут квантоваться, чтобы формировать спектральные линии для данного аудиокадра.
В одном примере модуль 508 выбора подполосы/области может разделять остаточный сигнал 504 на множество (к примеру, 17) однородных подполос. Например, при условии аудиокадра с трехсот двадцатью (320) спектральными линиями первые и последние двадцать четыре (24) точки (спектральные линии) могут отбрасываться и оставшиеся двести семьдесят две (272) спектральных линии могут быть разделены на семнадцать (17) подполос по шестнадцать (16) спектральных линий каждая. Следует понимать, что в различных реализациях различное число подполос может использоваться, число первых и последних точек, которые могут отбрасываться, может варьироваться, и/или число спектральных линий, которые могут быть разбиваться в расчете на подполосу или кадр, также может варьироваться.
Фиг.6 является схемой, иллюстрирующей один пример того, как аудиокадр 602 может выбираться и разделяться на области и подполосы, чтобы упрощать кодирование MDCT-спектра. Согласно этому примеру множеству областей (к примеру, 8) может быть задано, состоящих из множества (к примеру, 5) последовательных или смежных подполос 604 (к примеру, область может покрывать 5 подполос×16 спектральных линий/подполоса=80 спектральных линий). Множество областей 606 может быть выполнено с возможностью перекрываться с каждой соседней областью и покрывать полную полосу пропускания (к примеру, 7 кГц). Информация об области может быть сформирована для кодирования.
Как только область выбрана, MDCT-спектр в области квантуется посредством квантователя формы 510 и квантователя усиления 512 с использованием квантования усиления формы, в котором последовательно квантуется форма (синонимично с определением местоположения и знаком) и усиление целевого вектора. Формирование может содержать формирование определения местоположения, знака спектральных линий, соответствующих основному импульсу и множеству субимпульсов в расчете на подполосу наряду с величиной для основных импульсов и субимпульсов. В примере, проиллюстрированном на фиг.6, восемьдесят (80) спектральных линий в рамках области 606 могут представляться посредством вектора формы, состоящего из 5 основных импульсов (один основной импульс для каждой из 5 последовательных подполос 604a, 604b, 604c, 604d и 604e) и 4 дополнительных субимпульсов в расчете на каждую область. Таким образом, для каждой подполосы 604 выбирается основной импульс (т.е. самый сильный импульс в рамках этих 16 спектральных линий в этой подполосе). Дополнительно, для каждой области 606 выбираются дополнительные 4 субимпульса (т.е. следующие самые сильные импульсы спектральной линии в рамках этих 80 спектральных линий). Как проиллюстрировано на фиг.6, в одном примере комбинация позиций и знаков основных импульсов и субимпульсов может быть кодирована с помощью 50 битов, где:
- 20 битов для индексов для 5 основных импульсов (один основной импульс в расчете на подполосу);
- 5 битов для знаков 5 основных импульсов;
- 21 бит для индексов 4 субимпульсов в любом месте в рамках области в 80 спектральных линий;
- 4 бита для знаков 4 субимпульсов.
Каждый основной импульс может представляться посредством его позиции в рамках подполосы в 16 спектральных линий с использованием 4 битов (к примеру, число 0-16, представленное посредством 4 битов). Следовательно, для пяти (5) основных импульсов в области это отнимает всего 20 битов. Знак каждого основного импульса и/или субимпульса может представляться посредством одного бита (к примеру, 0 или 1 для положительного или отрицательного). Позиция каждого из четырех (4) выбранных субимпульсов в рамках области может кодироваться с использованием технологии комбинаторного позиционного кодирования (с использованием биномиальных коэффициентов для того, чтобы представлять позицию каждого выбранного субимпульса), чтобы формировать лексикографические индексы, так что общее число битов, используемых для того, чтобы представлять позицию этих четырех субимпульсов в рамках области, меньше длины области.
Следует отметить, что дополнительные биты могут быть использованы для кодирования амплитуды и/или величины основных импульсов и/или субимпульсов. В некоторых реализациях амплитуда/величина импульса может быть кодирована с использованием двух битов (т.е. 00 - нет импульса, 01 - субимпульс и/или 10 - основной импульс). После квантования формы квантование усиления выполняется для вычисленных подполосных усилений. Поскольку область содержит 5 подполос, 5 усилений получаются для области, которая может быть вектором, квантованным с помощью 10 битов. Векторное квантование использует переключаемую схему прогнозирования. Следует отметить, что выходной остаточный сигнал 516 может получаться (посредством вычитания 514 квантованного остаточного сигнала Squant из исходного входного остаточного сигнала 504), который может использоваться в качестве входных данных для следующего слоя кодирования.
Фиг.7 иллюстрирует общий подход для кодирования аудиокадра эффективным способом. Область 702 из N спектральных линий могут быть задана из множества последовательных или смежных подполос, где каждая подполоса 704 имеет L спектральных линий. Область 702 и/или подполосы 704 могут быть предназначены для остаточного сигнала аудиокадра.
Для каждой подполосы основной импульс выбирается 706. Например, самый сильный импульс в рамках L спектральных линий подполосы выбирается как основной импульс для этой подполосы. Самый сильный импульс может выбираться как импульс, который имеет наибольшую амплитуду или величину в подполосе. Например, первый основной импульс PA выбирается для подполосы A 704a, второй основной импульс PB выбирается для подполосы B 704b и т.д. для каждой из подполос 704. Следует отметить, что, поскольку область 702 имеет N спектральных линий, позиция каждой спектральной линии в рамках области 702 может обозначаться посредством ci (для 1≤i≤N). В одном примере первый основной импульс PA может находиться в позиции c3, второй основной импульс PB может находиться в позиции c24, третий основной импульс PC может находиться в позиции c41, четвертый основной импульс PD может находиться в позиции c59, пятый основной импульс PE может находиться в позиции c79. Эти основные импульсы могут быть кодированы посредством использования целого числа, чтобы представлять их позицию в рамках соответствующей подполосы. Следовательно, для спектральных линий L=16 позиция каждого основного импульса может быть представлена посредством использования четырех (4) битов.
Строка w формируется из оставшихся спектральных линий или импульсов в области 708. Чтобы формировать строку, выбранные основные импульсы удаляются из строки w и оставшиеся импульсы w1, …, wN-p остаются в строке (где p - число основных импульсов в области). Следует отметить, что строка может представляться посредством нулей "0" и "1", где "0" представляет, что импульс отсутствует в конкретной позиции, а "1" представляет, что импульс присутствует в конкретной позиции.
Множество субимпульсов выбирается из строки w на основе мощности импульса 710. Например, четыре (4) субимпульса S1, S2, S3 и S4 могут выбираться на основе их интенсивности (амплитуда/величина) (т.е. самые сильные 4 импульса, остающиеся в строке w, выбираются). В одном примере первый субимпульс S1 может находиться позиции w20, второй субимпульс S2 может находиться позиции w29, третий субимпульс S3 может находиться позиции w51 и четвертый импульс S4 может находиться позиции w69. Позиция каждого из выбранных субимпульсов затем кодируется с использованием лексикографического индекса 712 на основе биномиальных коэффициентов так, что лексикографический индекс i(w) основан на комбинации выбранных позиций субимпульса, i(w)=w20+w29+w51+w69.
Фиг.8 является блок-схемой, иллюстрирующей кодер, который может эффективно кодировать импульсы в MDCT-аудиокадре. Кодер 802 может включать в себя формирователь 802 подполос, который делит принимаемый аудиокадр MDCT-спектра 801 на несколько полос частот, имеющих множество спектральных линий. Формирователь 806 областей затем формирует множество перекрывающихся областей, где каждая область состоит из множества смежных подполос. Модуль 808 выбора основного импульса затем выбирает основной импульс из каждой из подполос в области. Основной импульс может быть импульсом (одной или более спектральных линий или точек), имеющим наибольшую амплитуду/величину в рамках подполосы. Выбранный основной импульс для каждой подполосы в области затем кодируется посредством кодера 810 знака, кодера 812 позиции, кодера 814 усиления и кодера 816 амплитуды, чтобы формировать соответствующие кодированные биты для каждого основного импульса. Аналогично, модуль 809 выбора субимпульсов затем выбирает множество (к примеру, четыре) субимпульсов из всей области (т.е. безотносительно того, какой подполосе субимпульсы принадлежат). Субимпульсы могут выбираться из оставшихся импульсов в области (т.е. исключая уже выбранные основные импульсы), имеющих наибольшую амплитуду/величину в рамках подполосы. Выбранные субимпульсы для области затем кодируются посредством кодера 818 знака, кодера 820 позиции, кодера 822 усиления и кодера 822 амплитуды, чтобы формировать соответствующие кодированные биты для субимпульса. Кодер 820 позиции может быть выполнен с возможностью осуществлять технологию комбинаторного позиционного кодирования, чтобы формировать лексикографический индекс, который уменьшает полный размер битов, которые используются для того, чтобы кодировать позицию субимпульсов. В частности, если только несколько из импульсов во всей области должны быть кодированы, более эффективно представлять несколько субимпульсов как лексикографический индекс, чем представлять полную длину области.
Фиг.9 является блок-схемой последовательности операций, иллюстрирующей способ для получения вектора формы для кадра. Как указано ранее, вектор формы состоит из 5 основных и 4 субимпульсов (спектральных линий), причем эти определения местоположения (в рамках области в 80 линий) и знаки должны передаваться посредством использования наименьшего возможного числа битов.
Для этого примера делаются несколько допущений по характеристикам основных и субимпульсов. Во-первых, допускается, что величина основных импульсов выше величины субимпульсов, и это отношение может быть предварительно установленной константой (к примеру, 0,8). Это означает, что предложенная технология квантования может назначать один из трех возможных уровней (величин) восстановления MDCT-спектру в каждой подполосе: нуль (0), уровень субимпульса (к примеру, 0,8) и уровень основного импульса (к примеру, 1). Во-вторых, допускается, что каждая 16-точечная (с 16 спектральными линиями) подполоса имеет ровно один основной импульс (с выделенным усилением, которое также передается один раз в расчете на подполосу). Следовательно, основной импульс присутствует для каждой подполосы в области. В-третьих, оставшиеся четыре (4) (или менее) субимпульса могут быть введены в любой подполосе в области в 80 линий, но они не должны смещать ни один из выбранных основных импульсов. Субимпульс может представлять максимальное число битов, используемое для того, чтобы представлять спектральные линии в подполосе. Например, четыре (4) субимпульса в подполосе могут представлять 16 спектральных линий в любой подполосе, таким образом, максимальное число битов, используемое для того, чтобы представлять 16 спектральных линий в подполосе, составляет 4.
На основе вышеприведенного описания способ кодирования для импульсов может извлекаться следующим образом. Кадр (имеющий множество спектральных линий) делится на множество подполос 902. Множество перекрывающихся областей может быть задано, где каждая область включает в себя множество последовательных/смежных подполос 904. Основной импульс выбирается в каждой подполосе в области на основе амплитуды/величины импульса 906. Индекс позиции кодируется для каждого выбранного основного импульса 908. В одном примере, поскольку основной импульс может попадать в любое место в рамках подполосы, имеющей 16 спектральных линий, его позиция может представляться посредством 4 битов (к примеру, целочисленное значение в 0…15). Аналогично, знак, амплитуда и/или усиление могут быть кодированы для каждого из основных импульсов 910. Знак может представляться посредством 1 бита (1 или 0). Поскольку каждый индекс для основного импульса занимает 4 бита, 20 битов могут использоваться для того, чтобы представлять пять индексов основного импульса (к примеру, 5 подполос), и 5 битов для знаков основных импульсов, в дополнение к битам, используемым для кодирования усиления и амплитуды для каждого основного импульса.
Для кодирования субимпульсов двоичная строка создается из выбранного множества субимпульсов из оставшихся импульсов в области, где выбранные основные импульсы удалены 912. "Выбранное множество субимпульсов" может быть числом k импульсов, имеющих наибольшую величину/амплитуду из оставшихся импульсов. Кроме того, для области, имеющей 80 спектральных линий, если все 5 основных импульсов удалены, это оставляет 80-5=75 позиций для рассматриваемых субимпульсов. Следовательно, может быть создана 75-битовая двоичная строка w, состоящая из следующего:
- 0: указывает отсутствие субимпульса,
- 1: указывает наличие выбранного субимпульса в позиции.
Лексикографический индекс затем вычисляется этой двоичной строки w для набора всех возможных двоичных строк с множеством k ненулевых битов 914. Знак, амплитуда и/или усиление также могут быть кодированы для каждого из выбранных субимпульсов 916.
Формирование лексикографического индекса
Лексикографический индекс, представляющий выбранные субимпульсы, может быть сформирован с использованием технологии комбинаторного позиционного кодирования на основе биномиальных коэффициентов. Например, двоичная строка w может вычисляться для набора всех возможных
Figure 00000006
двоичных строк длины n с k ненулевыми битами (каждый ненулевой бит в строке w указывает позицию импульса, который должен кодироваться). В одном примере следующая комбинаторная формула может использоваться для того, чтобы формировать индекс, который кодирует позицию всех k импульсов в рамках двоичной строки w:
Figure 00000001
где n - длина двоичной строки (к примеру, n=75), k - число выбранных субимпульсов (к примеру, k=4), wj представляет отдельные биты двоичной строки w, и допускается, что
Figure 00000007
=0 для всех k>n. Для примера, где k=4 и n=75, полный диапазон значений, занимаемых посредством индексов всех возможных векторов субимпульса, следовательно, следующий:
Figure 00000008
Следовательно, это может представляться как log21285826≈20,294... битов. Использование ближайшего целого числа должно приводить к использованию 21 бита. Следует отметить, что это меньше 75 битов для двоичной строки или битов, остающихся в 80-битовой области.
Пример формирования лексикографического индекса из строки
Согласно одному примеру лексикографический индекс для двоичной строки, представляющей позиции выбранных субимпульсов, может вычисляться на основе биномиальных коэффициентов, которые в одной возможной реализации могут предварительно вычисляться и сохраняться в треугольной матрице (треугольник Паскаля) следующим образом:
Figure 00000009
Следовательно, биномиальный коэффициент может вычисляться для двоичной строки w, представляющей множество субимпульсов (к примеру, двоичное значение "1") в различных позициях двоичной строки w.
С использованием этой матрицы биномиальных коэффициентов вычисление лексикографического индекса (i) может реализовываться следующим образом:
Figure 00000010
Примерный способ кодирования
Фиг.10 является блок-схемой, иллюстрирующей способ для кодирования спектра преобразования в масштабируемом речевом и аудиокодеке. Остаточный сигнал получается из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом остаточный сигнал - это разность между исходным аудиосигналом и восстановленной версией исходного аудиосигнала 1002. Восстановленная версия исходного аудиосигнала может получаться посредством следующего: (a) синтезирование кодированной версии исходного аудиосигнала из слоя кодирования на основе CELP, чтобы получать синтезированный сигнал, (b) повторный ввод предыскажений в синтезированный сигнал и/или (c) повышающая дискретизация сигнала после повторного ввода предыскажений, чтобы получать восстановленную версию исходного аудиосигнала.
Остаточный сигнал преобразуется в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий 1004. Слой преобразования DCT-типа может быть слоем модифицированного дискретного косинусного преобразования (MDCT), и спектр преобразования - это MDCT-спектр.
Спектральные линии спектра преобразования кодируются с использованием технологии комбинаторного позиционного кодирования 1006. Кодирование спектральных линий спектра преобразования может включать в себя кодирование позиций выбранного поднабора спектральных линий на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий. В некоторых реализациях набор спектральных линий может отбрасываться, чтобы сократить число спектральных линий, перед кодированием. В другом примере технология комбинаторного позиционного кодирования может включать в себя формирование лексикографического индекса для выбранного поднабора спектральных линий, при этом каждый лексикографический индекс представляет одну из множества возможных двоичных строк, представляющих позиции выбранного поднабора спектральных линий. Лексикографический индекс может представлять спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки.
В другом примере технология комбинаторного позиционного кодирования может включать в себя формирование индекса, представляющего позиции спектральных линий в рамках двоичной строки, причем позиции спектральных линий кодируются на основе комбинаторной формулы:
Figure 00000001
где n - длина двоичной строки, k - число выбранных спектральных линий, которые должны быть кодированы, и wj представляет отдельные биты двоичной строки.
В одном примере множество спектральных линий может быть разбито на множество подполос и последовательные подполосы могут группироваться в области. Основной импульс, выбираемый из множества спектральных линий для каждой из подполос в области, может быть кодирован, при этом выбранный поднабор спектральных линий в области исключает основной импульс для каждой из подполос. Дополнительно, позиции выбранного поднабора спектральных линий в рамках области могут быть кодированы на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий. Выбранный поднабор спектральных линий в области может исключать основной импульс для каждой из подполос. Кодирование спектральных линий спектра преобразования может включать в себя формирование матрицы на основе позиций выбранного поднабора спектральных линий из всех возможных двоичных строк длины, равной всем позициям в области. Области могут перекрываться, и каждая область может включать в себя множество последовательных подполос.
Процесс декодирования лексикографического индекса, чтобы синтезировать кодированные импульсы, является просто инверсией операций, описанных для кодирования.
Декодирование MDCT-спектра
Фиг.11 является блок-схемой, иллюстрирующей пример видеодекодера. В каждом аудиокадре (к примеру, 20-миллисекундном кадре) декодер 1102 может принимать входной поток битов 1104, содержащий информацию одного или более слоев. Принимаемые слои могут колебаться от слоя 1 до слоя 5, что может соответствовать скоростям передачи битов от 8 кбит/с до 32 кбит/с. Это означает, что работа декодера обусловливается посредством числа битов (слоев), принимаемых в каждом кадре. В этом примере допускается, что выходной сигнал 1132 является WB и что все слои корректно приняты в декодере 1102. Базовый слой (слой 1) и улучшающий слой ACELP (слой 2) сначала декодируются посредством модуля 1106 декодера, и выполняется синтез сигналов. В синтезированном сигнале затем корректируются предыскажения посредством модуля 1108 коррекции предыскажений, и он повторно дискретизируется до 16 кГц посредством модуля 1110 повторной дискретизации, чтобы формировать сигнал. Модуль постобработки дополнительно обрабатывает сигнал
Figure 00000011
, чтобы формировать синтезированный сигнал
Figure 00000012
слоя 1 или слоя 2.
Верхние слои (слои 3, 4, 5) затем декодируются посредством модуля 1116 комбинаторного декодера спектра, чтобы получать сигнал MDCT-спектра
Figure 00000013
. Сигнал MDCT-спектра
Figure 00000014
обратно преобразуется посредством модуля 1120 обратного MDCT, и результирующий сигнал
Figure 00000015
добавляется к перцепционно взвешенному синтезированному сигналу
Figure 00000016
слоев 1 и 2. Временное ограничение шума затем применяется посредством формирующего модуля 1122. Взвешенный синтезированный сигнал
Figure 00000017
предыдущего кадра, перекрывающегося с текущим кадром, затем добавляется к синтезу. Обратное перцепционное взвешивание 1124 затем применяется, чтобы восстанавливать синтезированный WB-сигнал. Наконец, постфильтр 1126 основного тона применяется для восстановленного сигнала, после чего следует фильтр 1128 верхних частот. Постфильтр 1126 использует дополнительную задержку декодера, вводимую посредством синтеза на основе добавления с перекрытием MDCT (слои 3, 4, 5). Он комбинирует оптимальным способом два сигнала постфильтра основного тона. Сигнал является высококачественным сигналом постфильтра основного тона
Figure 00000018
вывода декодера слоя 1 или слоя 2, который формируется посредством использования дополнительной задержки декодера. Другой сигнал - это сигнал постфильтра основного тона с низкой задержкой
Figure 00000019
для синтезирующего сигнала верхних слоев (слоев 3, 4, 5). Фильтрованный синтезированный сигнал
Figure 00000020
затем выводится посредством порогового шумоподавителя 1130.
Фиг.12 является блок-схемой, иллюстрирующей декодер, который может эффективно декодировать импульсы аудиокадра MDCT-спектра. Принимается множество кодированных входных битов, включающих в себя знак, позицию, амплитуду и/или усиление для основных и/или субимпульсов в MDCT-спектре для аудиокадра. Биты для одного или более основных импульсов декодируются посредством декодера основных импульсов, который может включать в себя декодер 1210 знака, декодер 1212 позиции, декодер 1214 усиления и/или декодер 1216 амплитуды. Синтезатор 1208 основных импульсов затем восстанавливает один или более основных импульсов с использованием декодированной информации. Аналогично, биты для одного или более субимпульсов могут быть декодированы в декодере субимпульсов, который включает в себя декодер 1218 знака, декодер 1220 позиции, декодер 1222 усиления и/или декодер 1224 амплитуды. Следует отметить, что позиция субимпульсов может быть кодирована с использованием лексикографического индекса на основе технологии комбинаторного позиционного кодирования. Следовательно, декодер 1220 позиции может быть комбинаторным декодером спектра. Синтезатор 1209 субимпульсов затем восстанавливает один или более субимпульсов с использованием декодированной информации. Повторный формирователь 1206 областей затем восстанавливает множество перекрывающихся областей на основе субимпульсов, причем каждая область состоит из множества смежных подполос. Повторный формирователь субимпульсов 1204 затем восстанавливает подполосы с использованием основных импульсов и/или субимпульсов, что приводит к восстановленному MDCT-спектру для аудиокадра 1201.
Пример формирования строки из лексикографического индекса
Чтобы декодировать принимаемый лексикографический индекс, представляющий позицию субимпульсов, обратный процесс может выполняться для того, чтобы получать последовательность или двоичную строку на основе данного лексикографического индекса. Один пример такого обратного процесса может реализовываться следующим образом:
Figure 00000021
В случае длинной последовательности (к примеру, где n=75) только с несколькими наборами битов (к примеру, где k=4) эта процедура дополнительно может модифицироваться, чтобы делать их более практичными. Например, вместо выполнения поиска в последовательности битов индексы ненулевых битов могут передаваться для кодирования, так что функция index() становится равной:
Figure 00000022
Figure 00000023
Следует отметить, что используются только первые 4 столбца биномиальной матрицы. Следовательно, только 75·4=300 слов запоминающего устройства используются для того, чтобы сохранять ее.
В одном примере процесс декодирования может быть выполнен посредством следующего алгоритма:
Figure 00000024
Это развернутый цикл с n итерациями только с поисками и сравнениями, используемыми на каждом этапе.
Примерный способ кодирования
Фиг.13 является блок-схемой, иллюстрирующей способ для декодирования спектра преобразования в масштабируемом речевом и аудиокодеке. Индекс, представляющий множество спектральных линий спектра преобразования остаточного сигнала, получается, при этом остаточный сигнал - это разность между исходным аудиосигналом и восстановленной версией исходного аудиосигнала из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP) 1302. Индекс может представлять ненулевые спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки. В одном примере полученный индекс может представлять позиции спектральных линий в рамках двоичной строки, причем позиции спектральных линий кодируются на основе комбинаторной формулы:
Figure 00000001
где n - длина двоичной строки, k - число выбранных спектральных линий, которые должны быть кодированы, и wj представляет отдельные биты двоичной строки.
Индекс декодируется посредством выполнения в обратном порядке технологии комбинаторного позиционного кодирования, используемой для того, чтобы кодировать множество спектральных линий спектра преобразования 1304. Версия остаточного сигнала синтезируется c использованием декодированного множества спектральных линий спектра преобразования в слое обратного преобразования типа обратного дискретного косинусного преобразования (IDCT) 1306. Синтезирование версии остаточного сигнала может включать в себя применение обратного преобразования DCT-типа к спектральным линиям спектра преобразования, чтобы формировать версию остаточного сигнала во временной области. Декодирование спектральных линий спектра преобразования может включать в себя декодирование позиций выбранного поднабора спектральных линий на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий. Слой обратного преобразования DCT-типа может быть слоем обратного модифицированного дискретного косинусного преобразования (IMDCT), и спектр преобразования - это MDCT-спектр.
Дополнительно, CELP-кодированный сигнал, кодирующий исходный аудиосигнал, может приниматься 1308. CELP-кодированный сигнал может быть декодирован, чтобы формировать декодированный сигнал 1310. Декодированный сигнал может быть комбинирован с синтезированной версией остаточного сигнала, чтобы получать восстановленную версию (с более высокой точностью воспроизведения) исходного аудиосигнала 1312.
Различные иллюстративные логические блоки, модули и схемы и этапы алгоритма, описанные в данном документе, могут реализовываться или выполняться как электронные аппаратные средства, программное обеспечение или комбинации означенного. Чтобы понятно иллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы описаны выше в общем на основе функциональности. Реализована эта функциональность в качестве аппаратных средств или программного обеспечения, зависит от конкретного варианта применения и проектных ограничений, накладываемых на систему в целом. Следует отметить, что конфигурации могут описываться как процесс, который иллюстрируется как блок-схема последовательности операций способа, блок-схема, структурная схема или блок-схема. Хотя блок-схема последовательности операций способа может описывать операции как последовательный процесс, многие операции могут выполняться параллельно или одновременно. Помимо этого порядок операций может быть переопределен. Процесс завершается, когда его операции закончены. Процесс может соответствовать способу, функции, процедуре, подпрограмме, подпрограмме и т.д. Когда процесс соответствует функции, ее завершение соответствует возврату функции в вызывающую функцию или основную функцию.
При реализации в аппаратных средствах различные примеры могут использовать процессор общего назначения, процессор цифровых сигналов (DSP), специализированную интегральную схему (ASIC), сигнал программируемой пользователем вентильной матрицы (FPGA) или другое программируемое логическое устройство, дискретный логический вентиль или транзисторную логику, дискретные аппаратные компоненты либо любую комбинацию вышеозначенного, предназначенную для того, чтобы выполнять функции, описанные в данном документе. Процессором общего назначения может быть микропроцессор, но в альтернативном варианте процессором может быть любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть реализован как комбинация вычислительных устройств, к примеру, комбинация DSP и микропроцессора, множество микропроцессоров, один или более микропроцессоров вместе с ядром DSP либо любая другая аналогичная конфигурация.
При реализации в программном обеспечении различные примеры могут использовать микропрограммное обеспечение, промежуточное программное обеспечение или микрокод. Программный код или сегменты кода для того, чтобы выполнять требуемые задачи, могут сохраняться в машиночитаемом носителе, таком как носитель хранения данных или другое устройство(а) хранения. Процессор может выполнять требуемые задачи. Сегмент кода может представлять процедуру, функцию, подпрограмму, программу, стандартную процедуру, вложенную процедуру, модуль, комплект программного обеспечения, класс или любое сочетание инструкций, структур данных или операторов программы. Сегмент кода может быть связан с другим сегментом кода или аппаратной схемой посредством передачи и/или приема информации, данных, аргументов, параметров или содержимого памяти. Информация, аргументы, параметры, данные и т.д. могут быть переданы, переадресованы или пересланы посредством любого надлежащего средства, в том числе совместного использования памяти, передачи сообщений, эстафетной передачи данных, передачи по сети и т.д.
При использовании в данной заявке термины "компонент", "модуль", "система" и т.п. имеют намерение ссылаться на связанный с компьютером объект, будь то аппаратные средства, микропрограммное обеспечение, комбинация аппаратных средств и программного обеспечения, программное обеспечение или программное обеспечение в ходе исполнения. Например, компонент может быть, но не только, процессом, запущенным на процессоре, процессором, объектом, исполняемым файлом, потоком исполнения, программой и/или компьютером. В качестве иллюстрации, и приложение, запущенное на вычислительном устройстве, и вычислительное устройство может быть компонентом. Один или более компонентов могут постоянно размещаться внутри процесса и/или потока исполнения, и компонент может быть локализован на компьютере и/или распределен между двумя и более компьютерами. Кроме того, эти компоненты могут выполняться с различных машиночитаемых носителей, сохраняющих различные структуры данных. Компоненты могут обмениваться данными посредством локальных и/или удаленных процессов, например, в соответствии с сигналом, имеющим один или более пакетов данных (к примеру, данных из одного компонента, взаимодействующего с другим компонентом в локальной системе, распределенной системе и/или по сети, например, по Интернету с другими системами посредством сигнала).
В одном или более примеров в данном документе, описанные функции могут быть реализованы в аппаратных средствах, программном обеспечении, микропрограммном обеспечении или любой комбинации вышеозначенного. Если реализованы в программном обеспечении, функции могут быть сохранены или переданы как одна или более инструкций или код на машиночитаемом носителе. Машиночитаемые носители включают в себя как компьютерные носители хранения данных, так и среду связи, включающую в себя любую передающую среду, которая упрощает перемещение компьютерной программы из одного места в другое. Носителями хранения могут быть любые доступные носители, к которым можно осуществлять доступ посредством компьютера. В качестве примера, но не ограничения, эти машиночитаемые носители могут содержать RAM, ROM, EEPROM, CD-ROM или другое устройство хранения на оптических дисках, устройство хранения на магнитных дисках или другие магнитные устройства хранения либо любой другой носитель, который может быть использован для того, чтобы переносить или сохранять требуемый программный код в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера. Также любое подключение корректно называть машиночитаемым носителем. Например, если программное обеспечение передается из веб-узла, сервера или другого удаленного источника с помощью коаксиального кабеля, оптоволоконного кабеля, "витой пары", цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасные, радиопередающие и микроволновые среды, то коаксиальный кабель, оптоволоконный кабель, "витая пара", DSL или беспроводные технологии, такие как инфракрасные, радиопередающие и микроволновые среды, включены в определение носителя. Диск (disk) и диск (disc) при использовании в данном документе включают в себя компакт-диск (CD), лазерный диск, оптический диск, универсальный цифровой диск (DVD), гибкий диск и диск Blu-Ray, при этом диски (disk) обычно воспроизводят данные магнитно, тогда как диски (disc) обычно воспроизводят данные оптически с помощью лазеров. Комбинации вышеперечисленного также следует включать в число машиночитаемых носителей. Программное обеспечение может содержать одну инструкцию или множество инструкций и может быть распределено по нескольким различным сегментам кода, по различным программам и по нескольким носителям хранения данных. Примерный носитель хранения данных может быть соединен с процессором так, что процессор может считывать информацию и записывать информацию на носитель хранения данных. В альтернативном варианте, носитель хранения данных может быть встроен в процессор.
Способы, раскрытые в данном документе, содержат один или более этапов или действий для осуществления описанного способа. Этапы и/или действия способа могут меняться друг с другом без отступления от объема формулы изобретения. Другими словами, если конкретный порядок этапов или действий не требуется для надлежащей работы варианта осуществления, который описывается, порядок и/или применение конкретных этапов и/или действий может модифицироваться без отступления от объема формулы изобретения.
Один или более из компонентов, этапов и/или функций, проиллюстрированных на фиг.1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 и/или 13, могут быть перегруппированы и/или комбинированы в один компонент, этап или функцию или осуществлен в нескольких компонентах, этапах или функциях. Дополнительные элементы, компоненты, этапы и/или функции также могут добавляться. Устройство, устройства и/или компоненты, проиллюстрированные на фиг.1, 2, 3, 4, 5, 8, 11 и 12, могут быть выполнены с возможностью или приспособлены осуществлять один или более из способов, признаков или этапов, описанных на фиг.6-7 и 10-13. Алгоритмы, описанные в данном документе, могут эффективно реализовываться в программном обеспечении и/или встроенных аппаратных средствах.
Следует отметить, что предшествующие конфигурации являются просто примерами и не должны рассматриваться как ограничивающие формулу изобретения. Описание конфигураций имеет намерение быть иллюстративным и не ограничивать объем формулы изобретения. По сути, настоящие технологии могут быть легко применены к другим типам устройств, и множество альтернатив, модификаций и вариаций должно быть очевидным специалистам в данной области техники.

Claims (40)

1. Способ для кодирования в масштабируемом речевом и аудиокодеке, имеющем несколько слоев, содержащий этапы, на которых:
- получают остаточный сигнал из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом и аудиокодеке, и при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала;
- преобразуют остаточный сигнал из предыдущего слоя в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий; и
- кодируют спектральные линии спектра преобразования с использованием технологии комбинаторного позиционного кодирования.
2. Способ по п.1, в котором слой преобразования DCT-типа является слоем модифицированного дискретного косинусного преобразования (MDCT), и спектр преобразования является MDCT-спектром.
3. Способ по п.1, в котором кодирование спектральных линий спектра преобразования включает в себя этап, на котором:
- кодируют позиции выбранного поднабора спектральных линий на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий.
4. Способ по п.1, дополнительно содержащий этапы, на которых:
- разбивают множество спектральных линий на множество подполос; и
- группируют последовательные подполосы в области.
5. Способ по п.4, дополнительно содержащий этап, на котором:
- кодируют основной импульс, выбранный из множества спектральных линий для каждой из подполос в области.
6. Способ по п.4, дополнительно содержащий этап, на котором:
- кодируют позиции выбранного поднабора спектральных линий в рамках области на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий;
- при этом кодирование спектральных линий спектра преобразования включает в себя этап, на котором формируют матрицу, на основе позиций выбранного поднабора спектральных линий, из всех возможных двоичных строк длины, равной всем позициям в области.
7. Способ по п.4, в котором области перекрываются, и каждая область включает в себя множество последовательных подполос.
8. Способ по п.1, в котором технология комбинаторного позиционного кодирования включает в себя этап, на котором:
- формируют лексикографический индекс для выбранного поднабора спектральных линий, при этом каждый лексикографический индекс представляет одну из множества возможных двоичных строк, представляющих позиции выбранного поднабора спектральных линий.
9. Способ по п.8, в котором лексикографический индекс представляет ненулевые спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки.
10. Способ по п.1, в котором технология комбинаторного позиционного кодирования включает в себя этап, на котором:
- формируют индекс, представляющий позиции спектральных линий в рамках двоичной строки, причем позиции спектральных линий кодируются на основе комбинаторной формулы
Figure 00000025

где n - длина двоичной строки, k - число выбранных спектральных линий, которые должны быть кодированы, и wj представляет отдельные биты двоичной строки.
11. Способ по п.1, дополнительно содержащий этап, на котором:
- отбрасывают набор спектральных линий, чтобы сократить число спектральных линий, перед кодированием.
12. Способ по п.1, в котором восстановленная версия исходного аудиосигнала получается посредством этапов, на которых:
- синтезируют кодированную версию исходного аудиосигнала из слоя кодирования на основе CELP, чтобы получать синтезированный сигнал;
- повторно вводят предыскажения в синтезированный сигнал; и
- выполняют повышающую дискретизацию сигнала после повторного ввода предыскажений, чтобы получить восстановленную версию исходного аудиосигнала.
13. Устройство масштабируемого речевого и аудиокодера, содержащее:
- модуль слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), выполненный с возможностью формировать остаточный сигнал, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала;
- модуль слоя преобразования типа дискретного косинусного преобразования (DCT), выполненный с возможностью:
- получать остаточный сигнал из модуля слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом модуль слоя кодирования на основе CELP содержит слой кодирования на основе CELP, имеющий один или два предыдущих слоя в масштабируемом речевом и аудиокодеке; и
- преобразовывать остаточный сигнал из предыдущего слоя в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий; и
- комбинаторный кодер спектра, выполненный с возможностью кодировать спектральные линии спектра преобразования с использованием технологии комбинаторного позиционного кодирования.
14. Устройство по п.13, в котором модуль слоя преобразования DCT-типа является модулем слоя модифицированного дискретного косинусного преобразования (MDCT), и спектр преобразования является MDCT-спектром.
15. Устройство по п.13, в котором кодирование спектральных линий спектра преобразования включает в себя:
- кодирование позиций выбранного поднабора спектральных линий на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий.
16. Устройство по п.13, дополнительно содержащее:
- формирователь подполос, выполненный с возможностью разбивать множество спектральных линий на множество подполос; и
- формирователь областей, выполненный с возможностью группировать последовательные подполосы в области.
17. Устройство по п.16, дополнительно содержащее:
- кодер основных импульсов, выполненный с возможностью кодировать основной импульс, выбираемый из множества спектральных линий для каждой из подполос в области.
18. Устройство по п.16, дополнительно содержащее:
- кодер субимпульсов, выполненный с возможностью кодировать позиции выбранного поднабора спектральных линий в рамках области на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий;
- при этом кодирование спектральных линий спектра преобразования включает в себя формирование матрицы на основе позиций выбранного поднабора спектральных линий из всех возможных двоичных строк длины, равной всем позициям в области.
19. Устройство по п.16, в котором области перекрываются, и каждая область включает в себя множество последовательных подполос.
20. Устройство по п.13, в котором технология комбинаторного позиционного кодирования включает в себя:
- формирование лексикографического индекса для выбранного поднабора спектральных линий, при этом каждый лексикографический индекс представляет одну из множества возможных двоичных строк, представляющих позиции выбранного поднабора спектральных линий.
21. Устройство по п.20, в котором лексикографический индекс представляет ненулевые спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки.
22. Устройство по п.13, в котором комбинаторный кодер спектра выполнен с возможностью формировать индекс, представляющий позиции спектральных линий в рамках двоичной строки, причем позиции спектральных линий кодируются на основе комбинаторной формулы
Figure 00000026

где n - длина двоичной строки, k - число выбранных спектральных линий, которые должны быть кодированы, и wj представляет отдельные биты двоичной строки.
23. Устройство по п.13, в котором восстановленная версия исходного аудиосигнала получается посредством следующего:
- синтезирование кодированной версии исходного аудиосигнала из слоя кодирования на основе CELP, чтобы получать синтезированный сигнал;
- повторный ввод предыскажений в синтезированный сигнал; и
- повышающая дискретизация сигнала после повторного ввода предыскажений, чтобы получать восстановленную версию исходного аудиосигнала.
24. Устройство масштабируемого речевого и аудиокодера, содержащее:
- средство для получения остаточного сигнала из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом речевом и аудиокодеке, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала;
- средство для преобразования остаточного сигнала из предыдущего слоя в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий; и
- средство для кодирования спектральных линий спектра преобразования с использованием технологии комбинаторного позиционного кодирования.
25. Процессор, включающий в себя схему масштабируемого кодирования речи и аудио, выполненную с возможностью:
- получать остаточный сигнал из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в речевом и аудиокодеке, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала;
- преобразовывать остаточный сигнал из предыдущего слоя в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий; и
- кодировать спектральные линии спектра преобразования с использованием технологии комбинаторного позиционного кодирования.
26. Машиночитаемый носитель, содержащий инструкции, применяемые для масштабируемого кодирования речи и аудио, которые, когда выполняются посредством одного или более процессоров, побуждают процессоры:
- получать остаточный сигнал из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом речевом и аудиокодеке, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала;
- преобразовывать остаточный сигнал из предыдущего слоя в слое преобразования типа дискретного косинусного преобразования (DCT), чтобы получать соответствующий спектр преобразования, имеющий множество спектральных линий; и
- кодировать спектральные линии спектра преобразования с использованием технологии комбинаторного позиционного кодирования.
27. Способ для декодирования в масштабируемом речевом и аудиокодеке, имеющем несколько слоев, содержащий этапы, на которых:
- получают индекс, представляющий множество спектральных линий спектра преобразования остаточного сигнала, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом речевом и аудиокодеке;
- декодируют индекс в верхнем слое посредством выполнения в обратном порядке технологии комбинаторного позиционного кодирования, используемой для того, чтобы кодировать множество спектральных линий спектра преобразования; и
- синтезируют версию остаточного сигнала с использованием декодированного множества спектральных линий спектра преобразования в слое обратного преобразования типа обратного дискретного косинусного преобразования (IDCT).
28. Способ по п.27, дополнительно содержащий этапы, на которых:
- принимают CELP-кодированный сигнал, кодирующий исходный аудиосигнал;
- декодируют CELP-кодированный сигнал, чтобы формировать декодированный сигнал; и
- комбинируют декодированный сигнал с синтезированной версией остаточного сигнала, чтобы получать восстановленную версию исходного аудиосигнала.
29. Способ по п.27, в котором синтезирование версии остаточного сигнала включает в себя этап, на котором:
- применяют обратное преобразование DCT-типа к спектральным линиям спектра преобразования, чтобы сформировать версию остаточного сигнала во временной области.
30. Способ по п.27, в котором декодирование спектральных линий спектра преобразования включает в себя этап, на котором:
- декодируют позиции выбранного поднабора спектральных линий на основе представления позиций спектральных линий с использованием технологии комбинаторного позиционного кодирования для позиций ненулевых спектральных линий.
31. Способ по п.27, в котором индекс представляет ненулевые спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки.
32. Способ по п.27, в котором слой обратного преобразования DCT-типа является слоем обратного модифицированного дискретного косинусного преобразования (IMDCT), и спектр преобразования является MDCT-спектром.
33. Способ по п.27, в котором полученный индекс представляет позиции спектральных линий в рамках двоичной строки, причем позиции спектральных линий кодируются на основе комбинаторной формулы
Figure 00000027

где n - длина двоичной строки, k - число выбранных спектральных линий, которые должны быть кодированы, и wj представляет отдельные биты двоичной строки.
34. Устройство масштабируемого речевого и аудиодекодера, содержащее:
- комбинаторный декодер спектра, выполненный с возможностью:
- получать индекс, представляющий множество спектральных линий спектра преобразования остаточного сигнала, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала из модуля слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом модуль слоя кодирования на основе CELP содержит слой кодирования на основе CELP, имеющий один или два предыдущих слоя в масштабируемом речевом и аудиокодеке;
- декодировать индекс в верхнем слое посредством выполнения в обратном порядке технологии комбинаторного позиционного кодирования, используемой для того, чтобы кодировать множество спектральных линий спектра преобразования; и
- модуль слоя обратного преобразования типа обратного дискретного косинусного преобразования (IDCT), выполненный с возможностью синтезировать версию остаточного сигнала с использованием декодированного множества спектральных линий спектра преобразования.
35. Устройство по п.34, дополнительно содержащее:
- CELP-декодер, выполненный с возможностью:
- принимать CELP-кодированный сигнал, кодирующий исходный аудиосигнал;
- декодировать CELP-кодированный сигнал, чтобы формировать декодированный сигнал; и
- комбинировать декодированный сигнал с синтезированной версией остаточного сигнала, чтобы получать восстановленную версию исходного аудиосигнала.
36. Устройство по п.34, в котором при синтезировании версии остаточного сигнала модуль слоя обратного преобразования IDCT-типа выполнен с возможностью применять обратное преобразование типа DCT к спектральным линиям спектра преобразования, чтобы сформировать версию остаточного сигнала во временной области.
37. Устройство по п.34, в котором индекс представляет ненулевые спектральные линии в двоичной строке в меньшем числе битов, чем длина двоичной строки.
38. Устройство масштабируемого речевого и аудиодекодера, содержащее:
- средство для получения индекса, представляющего множество спектральных линий спектра преобразования остаточного сигнала, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом речевом и аудиокодеке;
- средство для декодирования индекса в верхнем слое посредством выполнения в обратном порядке технологии комбинаторного позиционного кодирования, используемой для того, чтобы кодировать множество спектральных линий спектра преобразования; и
- средство для синтезирования версии остаточного сигнала с использованием декодированного множества спектральных линий спектра преобразования в слое обратного преобразования типа обратного дискретного косинусного преобразования (IDCT).
39. Процессор, включающий в себя схему масштабируемого декодирования речи и аудио, выполненную с возможностью:
- получать индекс, представляющий множество спектральных линий спектра преобразования остаточного сигнала, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом речевом и аудиокодеке;
- декодировать индекс в верхнем слое посредством выполнения в обратном порядке технологии комбинаторного позиционного кодирования, используемой для того, чтобы кодировать множество спектральных линий спектра преобразования; и
- синтезировать версию остаточного сигнала с использованием декодированного множества спектральных линий спектра преобразования в слое обратного преобразования типа обратного дискретного косинусного преобразования (IDCT).
40. Машиночитаемый носитель, содержащий инструкции, применяемые для масштабируемого декодирования речи и аудио, которые, когда выполняются посредством одного или более процессоров, побуждают процессоры:
- получать индекс, представляющий множество спектральных линий спектра преобразования остаточного сигнала, при этом остаточный сигнал является разностью между исходным аудиосигналом и восстановленной версией исходного аудиосигнала из слоя кодирования на основе линейного прогнозирования с возбуждением по коду (CELP), при этом слой кодирования на основе CELP содержит один или два предыдущих слоя в масштабируемом речевом и аудиокодеке;
- декодировать индекс в верхнем слое посредством выполнения в обратном порядке технологии комбинаторного позиционного кодирования, используемой для того, чтобы кодировать множество спектральных линий спектра преобразования; и
- синтезировать версию остаточного сигнала с использованием декодированного множества спектральных линий спектра преобразования в слое обратного преобразования типа обратного дискретного косинусного преобразования (IDCT).
RU2010120678/08A 2007-10-22 2008-10-22 Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра RU2459282C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US98181407P 2007-10-22 2007-10-22
US60/981,814 2007-10-22
US12/255,604 US8527265B2 (en) 2007-10-22 2008-10-21 Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
US12/255,604 2008-10-21

Publications (2)

Publication Number Publication Date
RU2010120678A RU2010120678A (ru) 2011-11-27
RU2459282C2 true RU2459282C2 (ru) 2012-08-20

Family

ID=40210550

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010120678/08A RU2459282C2 (ru) 2007-10-22 2008-10-22 Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра

Country Status (13)

Country Link
US (1) US8527265B2 (ru)
EP (1) EP2255358B1 (ru)
JP (2) JP2011501828A (ru)
KR (1) KR20100085994A (ru)
CN (2) CN102968998A (ru)
AU (1) AU2008316860B2 (ru)
BR (1) BRPI0818405A2 (ru)
CA (1) CA2701281A1 (ru)
IL (1) IL205131A0 (ru)
MX (1) MX2010004282A (ru)
RU (1) RU2459282C2 (ru)
TW (1) TWI407432B (ru)
WO (1) WO2009055493A1 (ru)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9570085B2 (en) 2012-10-10 2017-02-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for efficient synthesis of sinusoids and sweeps by employing spectral patterns
US9628808B2 (en) 2013-03-26 2017-04-18 Dolby Laboratories Licensing Corporation Encoding perceptually-quantized video content in multi-layer VDR coding
RU2638734C2 (ru) * 2013-10-18 2017-12-15 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Кодирование спектральных коэффициентов спектра аудиосигнала
RU2643641C2 (ru) * 2013-07-22 2018-02-02 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для декодирования и кодирования аудиосигнала с использованием адаптивного выбора спектральных фрагментов
RU2644512C1 (ru) * 2014-03-21 2018-02-12 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство декодирования битового потока речи/аудио
RU2648629C2 (ru) * 2012-11-05 2018-03-26 Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка Устройство кодирования речи-аудио, устройство декодирования речи-аудио, способ кодирования речи-аудио и способ декодирования речи-аудио
RU2666327C2 (ru) * 2013-06-21 2018-09-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для улучшенного маскирования адаптивной таблицы кодирования при acelp-образном маскировании с использованием улучшенной повторной синхронизации импульсов
US10121484B2 (en) 2013-12-31 2018-11-06 Huawei Technologies Co., Ltd. Method and apparatus for decoding speech/audio bitstream
US10381011B2 (en) 2013-06-21 2019-08-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for improved concealment of the adaptive codebook in a CELP-like concealment employing improved pitch lag estimation
RU2707727C1 (ru) * 2013-10-29 2019-11-28 Нтт Докомо, Инк. Устройство обработки аудиосигнала, способ обработки аудиосигнала и программа обработки аудиосигнала
US11227613B2 (en) 2013-02-13 2022-01-18 Telefonaktiebolaget Lm Ericsson (Publ) Frame error concealment

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100647336B1 (ko) * 2005-11-08 2006-11-23 삼성전자주식회사 적응적 시간/주파수 기반 오디오 부호화/복호화 장치 및방법
ES2529292T3 (es) 2007-04-29 2015-02-18 Huawei Technologies Co., Ltd. Método de codificación y de decodificación
KR101649376B1 (ko) 2008-10-13 2016-08-31 한국전자통신연구원 Mdct 기반 음성/오디오 통합 부호화기의 lpc 잔차신호 부호화/복호화 장치
WO2010044593A2 (ko) 2008-10-13 2010-04-22 한국전자통신연구원 Mdct 기반 음성/오디오 통합 부호화기의 lpc 잔차신호 부호화/복호화 장치
CN101931414B (zh) 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
JP5544370B2 (ja) * 2009-10-14 2014-07-09 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
CA2778325C (en) 2009-10-20 2015-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a region-dependent arithmetic coding mapping rule
US9153242B2 (en) * 2009-11-13 2015-10-06 Panasonic Intellectual Property Corporation Of America Encoder apparatus, decoder apparatus, and related methods that use plural coding layers
ES2645415T3 (es) * 2009-11-19 2017-12-05 Telefonaktiebolaget Lm Ericsson (Publ) Métodos y disposiciones para la compensación de volumen y nitidez en códecs de audio
CN102081926B (zh) * 2009-11-27 2013-06-05 中兴通讯股份有限公司 格型矢量量化音频编解码方法和***
BR122021008581B1 (pt) 2010-01-12 2022-08-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo
CN102870155B (zh) * 2010-01-15 2014-09-03 Lg电子株式会社 处理音频信号的方法和装置
KR101423737B1 (ko) * 2010-01-21 2014-07-24 한국전자통신연구원 오디오 신호의 디코딩 방법 및 장치
JP5863765B2 (ja) * 2010-03-31 2016-02-17 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 符号化方法および装置、そして、復号化方法および装置
EP2569767B1 (en) * 2010-05-11 2014-06-11 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for processing of audio signals
CN102299760B (zh) 2010-06-24 2014-03-12 华为技术有限公司 脉冲编解码方法及脉冲编解码器
CN102959873A (zh) * 2010-07-05 2013-03-06 日本电信电话株式会社 编码方法、解码方法、装置、程序及记录介质
US8924222B2 (en) 2010-07-30 2014-12-30 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for coding of harmonic signals
US8879634B2 (en) 2010-08-13 2014-11-04 Qualcomm Incorporated Coding blocks of data using one-to-one codes
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
EP2707875A4 (en) * 2011-05-13 2015-03-25 Samsung Electronics Co Ltd NOISE REDUCTION AND AUDIO CODING
EP2763137B1 (en) * 2011-09-28 2016-09-14 LG Electronics Inc. Voice signal encoding method and voice signal decoding method
EP2733699B1 (en) * 2011-10-07 2017-09-06 Panasonic Intellectual Property Corporation of America Scalable audio encoding device and scalable audio encoding method
US8924203B2 (en) 2011-10-28 2014-12-30 Electronics And Telecommunications Research Institute Apparatus and method for coding signal in a communication system
EP2673776B1 (en) * 2012-01-20 2015-06-17 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for audio encoding and decoding employing sinusoidal substitution
WO2013142650A1 (en) 2012-03-23 2013-09-26 Dolby International Ab Enabling sampling rate diversity in a voice communication system
KR101398189B1 (ko) * 2012-03-27 2014-05-22 광주과학기술원 음성수신장치 및 음성수신방법
JP6096896B2 (ja) * 2012-07-12 2017-03-15 ノキア テクノロジーズ オーユー ベクトル量子化
WO2014118136A1 (en) * 2013-01-29 2014-08-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for selecting one of a first audio encoding algorithm and a second audio encoding algorithm
PT3451334T (pt) * 2013-01-29 2020-06-29 Fraunhofer Ges Forschung Conceito de preenchimento de ruído
KR102148407B1 (ko) * 2013-02-27 2020-08-27 한국전자통신연구원 소스 필터를 이용한 주파수 스펙트럼 처리 장치 및 방법
CN110867190B (zh) 2013-09-16 2023-10-13 三星电子株式会社 信号编码方法和装置以及信号解码方法和装置
KR102315920B1 (ko) 2013-09-16 2021-10-21 삼성전자주식회사 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
ES2638201T3 (es) * 2013-10-18 2017-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Codificación de las posiciones de los picos espectrales
JP6306177B2 (ja) 2013-10-31 2018-04-04 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 時間ドメイン励振信号を修正するエラーコンシールメントを用いて、復号化されたオーディオ情報を提供する、オーディオデコーダおよび復号化されたオーディオ情報を提供する方法
PT3285255T (pt) * 2013-10-31 2019-08-02 Fraunhofer Ges Forschung Descodificador de áudio e método para fornecer uma informação de áudio descodificada utilizando uma ocultação de erro baseada num sinal de excitação no domínio de tempo
WO2015122752A1 (ko) 2014-02-17 2015-08-20 삼성전자 주식회사 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
CN110176241B (zh) * 2014-02-17 2023-10-31 三星电子株式会社 信号编码方法和设备以及信号解码方法和设备
CA2940657C (en) 2014-04-17 2021-12-21 Voiceage Corporation Methods, encoder and decoder for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates
EP2980797A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition
CN111968656B (zh) 2014-07-28 2023-11-10 三星电子株式会社 信号编码方法和装置以及信号解码方法和装置
FR3024582A1 (fr) * 2014-07-29 2016-02-05 Orange Gestion de la perte de trame dans un contexte de transition fd/lpd
EP3230980B1 (en) * 2014-12-09 2018-11-28 Dolby International AB Mdct-domain error concealment
US10504525B2 (en) * 2015-10-10 2019-12-10 Dolby Laboratories Licensing Corporation Adaptive forward error correction redundant payload generation
BR112020004883A2 (pt) 2017-09-20 2020-09-15 Voiceage Corporation método e dispositivo para alocar um bit-budget entre subquadros em um codec celp
CN112669860B (zh) * 2020-12-29 2022-12-09 北京百瑞互联技术有限公司 一种增加lc3音频编解码有效带宽的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2197776C2 (ru) * 1997-11-20 2003-01-27 Самсунг Электроникс Ко., Лтд. Способ и устройство масштабируемого кодирования-декодирования стереофонического звукового сигнала (варианты)
RU2262748C2 (ru) * 2000-05-19 2005-10-20 Конексант Системз, Инк. Многорежимное устройство кодирования
EP1750254A1 (en) * 2004-05-24 2007-02-07 Matsushita Electric Industrial Co., Ltd. Audio/music decoding device and audio/music decoding method
KR20070061818A (ko) * 2004-09-17 2007-06-14 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치, 음성 복호 장치, 통신 장치 및 음성부호화 방법
EP1806736A1 (en) * 2004-10-28 2007-07-11 Matsushita Electric Industrial Co., Ltd. Scalable encoding apparatus, scalable decoding apparatus, and methods thereof

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0969783A (ja) 1995-08-31 1997-03-11 Nippon Steel Corp オーディオデータ符号化装置
JP3849210B2 (ja) * 1996-09-24 2006-11-22 ヤマハ株式会社 音声符号化復号方式
US6263312B1 (en) * 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
US6351494B1 (en) 1999-09-24 2002-02-26 Sony Corporation Classified adaptive error recovery method and apparatus
US6662154B2 (en) * 2001-12-12 2003-12-09 Motorola, Inc. Method and system for information signal coding using combinatorial and huffman codes
EP1483759B1 (en) * 2002-03-12 2006-09-06 Nokia Corporation Scalable audio coding
CN100583241C (zh) * 2003-04-30 2010-01-20 松下电器产业株式会社 音频编码设备、音频解码设备、音频编码方法和音频解码方法
CN1898724A (zh) * 2003-12-26 2007-01-17 松下电器产业株式会社 语音/乐音编码设备及语音/乐音编码方法
WO2006082790A1 (ja) 2005-02-01 2006-08-10 Matsushita Electric Industrial Co., Ltd. スケーラブル符号化装置およびスケーラブル符号化方法
JP5058152B2 (ja) 2006-03-10 2012-10-24 パナソニック株式会社 符号化装置および符号化方法
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US7461106B2 (en) * 2006-09-12 2008-12-02 Motorola, Inc. Apparatus and method for low complexity combinatorial coding of signals
US9653088B2 (en) 2007-06-13 2017-05-16 Qualcomm Incorporated Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2197776C2 (ru) * 1997-11-20 2003-01-27 Самсунг Электроникс Ко., Лтд. Способ и устройство масштабируемого кодирования-декодирования стереофонического звукового сигнала (варианты)
RU2262748C2 (ru) * 2000-05-19 2005-10-20 Конексант Системз, Инк. Многорежимное устройство кодирования
EP1750254A1 (en) * 2004-05-24 2007-02-07 Matsushita Electric Industrial Co., Ltd. Audio/music decoding device and audio/music decoding method
KR20070061818A (ko) * 2004-09-17 2007-06-14 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치, 음성 복호 장치, 통신 장치 및 음성부호화 방법
EP1806736A1 (en) * 2004-10-28 2007-07-11 Matsushita Electric Industrial Co., Ltd. Scalable encoding apparatus, scalable decoding apparatus, and methods thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
c.c.I-289-I-292. Enhanced variable rate codec, speech service options 3, 68, and 70 for wideband spread spectrum digital systems, 3GPP2 C.S0014-C, Version 1.0, 01.2007, разд.4.13.5. *
MITTAL U. и др. Low complexity factorial pulse coding of MDCT coefficients using approximation of combinatorial functions, IEEE International Conference on Acoustics, Speech and Signal Processing, *

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2633136C2 (ru) * 2012-10-10 2017-10-11 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для эффективного синтеза синусоид и свип-синусоид с помощью использования спектральных шаблонов
US9570085B2 (en) 2012-10-10 2017-02-14 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for efficient synthesis of sinusoids and sweeps by employing spectral patterns
RU2678657C1 (ru) * 2012-11-05 2019-01-30 Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка Устройство кодирования речи-аудио, устройство декодирования речи-аудио, способ кодирования речи-аудио и способ декодирования речи-аудио
RU2701065C1 (ru) * 2012-11-05 2019-09-24 Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка Устройство кодирования речи-аудио, устройство декодирования речи-аудио, способ кодирования речи-аудио и способ декодирования речи-аудио
RU2648629C2 (ru) * 2012-11-05 2018-03-26 Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка Устройство кодирования речи-аудио, устройство декодирования речи-аудио, способ кодирования речи-аудио и способ декодирования речи-аудио
US11227613B2 (en) 2013-02-13 2022-01-18 Telefonaktiebolaget Lm Ericsson (Publ) Frame error concealment
US11837240B2 (en) 2013-02-13 2023-12-05 Telefonaktiebolaget Lm Ericsson (Publ) Frame error concealment
RU2619886C2 (ru) * 2013-03-26 2017-05-19 Долби Лабораторис Лайсэнзин Корпорейшн Кодирование перцепционно-квантованного видеоконтента в многоуровневом кодировании vdr
US9628808B2 (en) 2013-03-26 2017-04-18 Dolby Laboratories Licensing Corporation Encoding perceptually-quantized video content in multi-layer VDR coding
US11410663B2 (en) 2013-06-21 2022-08-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for improved concealment of the adaptive codebook in ACELP-like concealment employing improved pitch lag estimation
US10643624B2 (en) 2013-06-21 2020-05-05 Fraunhofer-Gesellschaft zur Föerderung der Angewandten Forschung E.V. Apparatus and method for improved concealment of the adaptive codebook in ACELP-like concealment employing improved pulse resynchronization
RU2666327C2 (ru) * 2013-06-21 2018-09-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для улучшенного маскирования адаптивной таблицы кодирования при acelp-образном маскировании с использованием улучшенной повторной синхронизации импульсов
US10381011B2 (en) 2013-06-21 2019-08-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for improved concealment of the adaptive codebook in a CELP-like concealment employing improved pitch lag estimation
US11049506B2 (en) 2013-07-22 2021-06-29 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
US11769513B2 (en) 2013-07-22 2023-09-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding or encoding an audio signal using energy information values for a reconstruction band
US10134404B2 (en) 2013-07-22 2018-11-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework
US11996106B2 (en) 2013-07-22 2024-05-28 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E. V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
US10276183B2 (en) 2013-07-22 2019-04-30 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding or encoding an audio signal using energy information values for a reconstruction band
US10311892B2 (en) 2013-07-22 2019-06-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for encoding or decoding audio signal with intelligent gap filling in the spectral domain
US10332531B2 (en) 2013-07-22 2019-06-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding or encoding an audio signal using energy information values for a reconstruction band
US10332539B2 (en) 2013-07-22 2019-06-25 Fraunhofer-Gesellscheaft zur Foerderung der angewanften Forschung e.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
US10347274B2 (en) 2013-07-22 2019-07-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
US11922956B2 (en) 2013-07-22 2024-03-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for encoding or decoding an audio signal with intelligent gap filling in the spectral domain
US11769512B2 (en) 2013-07-22 2023-09-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection
US11257505B2 (en) 2013-07-22 2022-02-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework
US10515652B2 (en) 2013-07-22 2019-12-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding an encoded audio signal using a cross-over filter around a transition frequency
US10573334B2 (en) 2013-07-22 2020-02-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for encoding or decoding an audio signal with intelligent gap filling in the spectral domain
US10593345B2 (en) 2013-07-22 2020-03-17 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus for decoding an encoded audio signal with frequency tile adaption
US10002621B2 (en) 2013-07-22 2018-06-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding an encoded audio signal using a cross-over filter around a transition frequency
US10847167B2 (en) 2013-07-22 2020-11-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework
US10147430B2 (en) 2013-07-22 2018-12-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection
US10984805B2 (en) 2013-07-22 2021-04-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection
US11735192B2 (en) 2013-07-22 2023-08-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework
RU2643641C2 (ru) * 2013-07-22 2018-02-02 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для декодирования и кодирования аудиосигнала с использованием адаптивного выбора спектральных фрагментов
US11222643B2 (en) 2013-07-22 2022-01-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus for decoding an encoded audio signal with frequency tile adaption
US11289104B2 (en) 2013-07-22 2022-03-29 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for encoding or decoding an audio signal with intelligent gap filling in the spectral domain
US11250862B2 (en) 2013-07-22 2022-02-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for decoding or encoding an audio signal using energy information values for a reconstruction band
US10847166B2 (en) 2013-10-18 2020-11-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of spectral coefficients of a spectrum of an audio signal
US9892735B2 (en) 2013-10-18 2018-02-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of spectral coefficients of a spectrum of an audio signal
US10115401B2 (en) 2013-10-18 2018-10-30 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of spectral coefficients of a spectrum of an audio signal
RU2638734C2 (ru) * 2013-10-18 2017-12-15 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Кодирование спектральных коэффициентов спектра аудиосигнала
RU2707727C1 (ru) * 2013-10-29 2019-11-28 Нтт Докомо, Инк. Устройство обработки аудиосигнала, способ обработки аудиосигнала и программа обработки аудиосигнала
US10121484B2 (en) 2013-12-31 2018-11-06 Huawei Technologies Co., Ltd. Method and apparatus for decoding speech/audio bitstream
RU2644512C1 (ru) * 2014-03-21 2018-02-12 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство декодирования битового потока речи/аудио
US11031020B2 (en) 2014-03-21 2021-06-08 Huawei Technologies Co., Ltd. Speech/audio bitstream decoding method and apparatus
US10269357B2 (en) 2014-03-21 2019-04-23 Huawei Technologies Co., Ltd. Speech/audio bitstream decoding method and apparatus

Also Published As

Publication number Publication date
TWI407432B (zh) 2013-09-01
CN101836251A (zh) 2010-09-15
EP2255358B1 (en) 2013-07-03
AU2008316860A1 (en) 2009-04-30
JP2011501828A (ja) 2011-01-13
BRPI0818405A2 (pt) 2016-10-11
JP2013178539A (ja) 2013-09-09
EP2255358A1 (en) 2010-12-01
WO2009055493A1 (en) 2009-04-30
KR20100085994A (ko) 2010-07-29
US20090234644A1 (en) 2009-09-17
CA2701281A1 (en) 2009-04-30
MX2010004282A (es) 2010-05-05
AU2008316860B2 (en) 2011-06-16
TW200935402A (en) 2009-08-16
US8527265B2 (en) 2013-09-03
RU2010120678A (ru) 2011-11-27
CN102968998A (zh) 2013-03-13
CN101836251B (zh) 2012-12-12
IL205131A0 (en) 2010-11-30

Similar Documents

Publication Publication Date Title
RU2459282C2 (ru) Масштабируемое кодирование речи и аудио с использованием комбинаторного кодирования mdct-спектра
US8515767B2 (en) Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
JP6173288B2 (ja) マルチモードオーディオコーデックおよびそれに適応されるcelp符号化
KR101344174B1 (ko) 오디오 신호 처리 방법 및 오디오 디코더 장치
US7502734B2 (en) Method and device for robust predictive vector quantization of linear prediction parameters in sound signal coding
CA2972808C (en) Multi-reference lpc filter quantization and inverse quantization device and method
JP2010020346A (ja) 音声信号および音楽信号を符号化する方法
KR20080092823A (ko) 부호화/복호화 장치 및 방법

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20151023