Системы и способы для изменения окна с кадром, ассоциированным с аудио сигналом
Иллюстрации
Показать всеИзобретение относится к технологии обработки речевых сигналов, в частности система и способы относятся к изменению окна с кадром, ассоциированным с аудио сигналом. Описывается способ формирования окна, которое используется для кодирования аудио сигнала, содержащий этапы, на которых: принимают аудио сигнал; разделяют аудио сигнал на множество кадров; определяют, ассоциирован ли кадр в множестве кадров с неречевым сигналом; применяют оконную функцию измененного модифицированного косинусного преобразования (MDCT) к кадру для формирования окна, если было определено, что кадр ассоциирован с неречевым сигналом, при этом первая область заполнения нулями и вторая область заполнения нулями формируются как часть окна; и кодируют кадр. Технический результат - поддержание воспринимаемого качества восстановленного речевого сигнала при передаче по каналу минимального количества информации. 6 н. и 16 з.п. ф-лы, 12 ил.
Реферат
Настоящая заявка на патент испрашивает приоритет предварительной заявки №60/834,674, озаглавленной "Windowing for Perfect Reconstruction in MDCT with Less than 50 % Frame Overlap", зарегистрированной 31 июля 2006 г. и переуступленной правопреемнику этой заявки и настоящим явно включенной в настоящий документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
Настоящие системы и способы в целом относятся к технологии обработки речевых сигналов. Точнее говоря, настоящие системы и способы относятся к изменению окна с кадром, ассоциированным с аудио сигналом.
УРОВЕНЬ ТЕХНИКИ
Передача речи с помощью цифровых методов стала широко распространенной, особенно в цифровых радиотелефонных приложениях дальней (международной) связи, передаче видео-сообщений с использованием компьютеров и т.д. Это, в свою очередь, породило интерес к определению минимального количества информации, которая может быть отправлена по каналу при поддержании воспринимаемого качества восстановленного речевого сигнала. Устройства для сжатия речевого сигнала нашли применение во многих областях дальней связи. Одним примером дальней связи является беспроводная связь. Другим примером является связь через компьютерную сеть, например Интернет. Область связи обладает множеством применений, включая, например, компьютеры, переносные компьютеры, персональные цифровые помощники (PDA), беспроводные телефоны, пейджеры, беспроводные абонентские линии, беспроводную телефонию, например сотовые системы телефонной связи и системы телефонной связи с переносной системой связи (PCS), телефонию по мобильному Интернет-протоколу (IP) и спутниковые системы связи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 иллюстрирует одну конфигурацию системы беспроводной связи.
Фиг.2 - блок-схема, иллюстрирующая одну конфигурацию вычислительной среды.
Фиг.3 - блок-схема, иллюстрирующая одну конфигурацию среды передачи сигнала.
Фиг.4А - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для изменения окна с кадром, ассоциированным с аудио сигналом.
Фиг.4В - блок-схема, иллюстрирующая конфигурацию кодера для изменения окна с кадром, ассоциированным с аудио сигналом, и декодер.
Фиг.5 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для восстановления кодированного кадра аудио сигнала.
Фиг.6 - блок-схема, иллюстрирующая одну конфигурацию многорежимного кодера, осуществляющего связь с многорежимным декодером.
Фиг.7 - блок-схема алгоритма, иллюстрирующая один пример способа кодирования аудио сигнала.
Фиг.8 - блок-схема, иллюстрирующая одну конфигурацию множества кадров, после того как к каждому кадру применена оконная функция.
Фиг.9 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для применения оконной функции к кадру, ассоциированному с неречевым сигналом.
Фиг.10 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для восстановления кадра, который был изменен оконной функцией.
Фиг.11 - блок-схема некоторых компонентов в одной конфигурации устройства связи/вычислительного устройства.
ПОДРОБНОЕ ОПИСАНИЕ
Описывается способ для изменения окна с кадром, ассоциированным с аудио сигналом. Принимается сигнал. Сигнал разделяется на множество кадров. Выполняется определение, ассоциирован ли кадр в множестве кадров с неречевым сигналом. Оконная функция измененного дискретного косинусного преобразования (MDCT) применяется к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом. Кадр кодируется.
Также описывается устройство для изменения окна с кадром, ассоциированным с аудио сигналом. Устройство включает в себя процессор и запоминающее устройство в электронной связи с процессором. Команды хранятся в запоминающем устройстве. Команды являются исполняемыми, чтобы принимать сигнал; разделять сигнал на множество кадров; определять, ассоциирован ли кадр в множестве кадров с неречевым сигналом; применять оконную функцию измененного дискретного косинусного преобразования (MDCT) к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом; и кодировать кадр.
Также описывается система, которая конфигурируется для изменения окна с кадром, ассоциированным с аудио сигналом. Система включает в себя средство для обработки и средство для приема сигнала. Система также включает в себя средство для разделения сигнала на множество кадров и средство для определения, ассоциирован ли кадр в множестве кадров с неречевым сигналом. Система дополнительно включает в себя средство для применения оконной функции измененного дискретного косинусного преобразования (MDCT) к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом, и средство для кодирования кадра.
Также описывается машиночитаемый носитель, сконфигурированный для хранения набора команд. Команды являются исполняемыми, чтобы принимать сигнал; разделять сигнал на множество кадров; определять, ассоциирован ли кадр в множестве кадров с неречевым сигналом; применять оконную функцию измененного дискретного косинусного преобразования (MDCT) к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом; и кодировать кадр.
Также описывается способ для выбора оконной функции, которую нужно использовать в вычислении измененного дискретного косинусного преобразования (MDCT) кадра. Предоставляется алгоритм для выбора оконной функции, которая должна использоваться в вычислении MDCT кадра. Выбранная оконная функция применяется к кадру. Кадр кодируется с помощью режима кодирования MDCT на основе ограничений, наложенных на режим кодирования MDCT дополнительными режимами кодирования, где ограничения содержат длину кадра, длину опережения и задержку.
Также описывается способ для восстановления кодированного кадра аудио сигнала. Принимается пакет. Пакет разбирается для извлечения кодированного кадра. Синтезируются выборки кадра, которые располагаются между первой областью заполнения нулями и первой областью. Область перекрытия первой длины складывается с длиной опережения предыдущего кадра. Сохраняется опережение первой длины кадра. Выводится восстановленный кадр.
Ниже описываются различные конфигурации систем и способов со ссылкой на чертежи, где одинаковые ссылочные позиции обозначают идентичные или подобные функционально похожие элементы. Признаки настоящих систем и способов, которые в целом описываются и иллюстрируются на чертежах в этом документе, могли бы быть скомпонованы и спроектированы в широком спектре разных конфигураций. Таким образом, подробное описание ниже не предназначено для ограничения объема систем и способов, которые заявлены, но оно является лишь представляющим конфигурации систем и способов.
Многие признаки конфигураций, раскрытые в этом документе, могут быть реализованы в виде компьютерного программного обеспечения, электронных аппаратных средств или их сочетаний. Для понятной иллюстрации этой взаимозаменяемости аппаратных средств и программного обеспечения различные компоненты будут описываться, как правило, в терминах их функциональных возможностей. Реализованы ли такие функциональные возможности как аппаратные средства или как программное обеспечение, зависит от конкретного применения и конструктивных ограничений, налагаемых на всю систему. Квалифицированные специалисты могут реализовать описанные функциональные возможности различными путями для каждого отдельного применения, но такие решения по реализации не должны интерпретироваться как вызывающие отклонение от объема настоящих систем и способов.
Если описанные функциональные возможности реализуются в виде компьютерного программного обеспечения, такое программное обеспечение может включать в себя любой тип компьютерной команды или исполняемого компьютером кода, находящегося в запоминающем устройстве и/или переданного в виде электронных сигналов по системной шине или сети. Программное обеспечение, которое реализует функциональные возможности, ассоциированные с описанными в этом документе компонентами, может содержать одну команду или много команд и может распределяться по нескольким разным кодовым сегментам среди разных программ и по нескольким запоминающим устройствам.
Использованные в данном документе термины "конфигурация", "конфигурации", "одна или несколько конфигураций", "некоторые конфигурации", "определенные конфигурации", "одна конфигурация", "другая конфигурация" и т.п. означают "одна или несколько (но необязательно все) конфигураций раскрытых систем и способов", пока иное не указано явно.
Термин "определение" (и его грамматические варианты) используется в очень широком смысле. Термин "определение" включает в себя широкий спектр действий, и поэтому "определение" может включать в себя расчет, вычисление, обработку, извлечение, исследование, поиск (например, поиск в таблице, базе данных или другой структуре данных), установление и т.п. Также "определение" может включать в себя прием (например, прием информации), обращение (например, обращение к данным в запоминающем устройстве) и т.п. Также "определение" может включать в себя решение, отбор, выбор, установление и т.п.
Фраза "на основе" не означает "только на основе", пока явно не указано иное. Другими словами, фраза "на основе" описывает как "только на основе" и "на основе по меньшей мере…". Вообще, фраза "аудио сигнал" может использоваться для ссылки на сигнал, который может прослушиваться. Примеры аудио сигналов могут включать представление человеческой речи, инструментальной и вокальной музыки, тональных звуков и т.д.
Фиг.1 иллюстрирует систему 100 беспроводной телефонной связи с множественным доступом с кодовым разделением (CDMA), которая может включать в себя множество мобильных станций 102, множество базовых станций 104, контроллер 106 базовой станции (BSC) и центр 108 коммутации мобильной связи (MSC). MSC 108 может быть сконфигурирован для взаимодействия с коммутируемой телефонной сетью 110 общего пользования (PSTN). MSC 108 также может быть сконфигурирован для взаимодействия с BSC 106. В системе 100 может быть больше одного BSC 106. Каждая базовая станция 104 может включать в себя по меньшей мере один сектор (не показан), где каждый сектор может иметь ненаправленную антенну или антенну, указывающую в конкретном направлении радиально от базовых станций 104. В качестве альтернативы, каждый сектор может включать в себя две антенны для разнесенного приема. Каждая базовая станция 104 может быть спроектирована для поддержки множества назначений частот. Пересечение сектора и назначения частот может называться каналом CDMA. Мобильные станции 102 могут включать в себя сотовые телефоны или телефоны переносной системы связи (PCS).
Во время работы системы 100 сотовой телефонии базовые станции 104 могут принимать наборы сигналов обратной линии связи от множества мобильных станций 102. Мобильные станции 102 могут выполнять телефонные вызовы или другие передачи. Каждый сигнал обратной линии связи, принятый заданной базовой станцией 104, может быть обработан в этой базовой станции 104. Результирующие данные могут быть перенаправлены к BSC 106. BSC 106 может обеспечивать функциональные возможности распределения ресурсов вызовов и управления мобильностью, включая управление "мягкой" передачей обслуживания между базовыми станциями 104. BSC 106 может также направлять принятые данные к MSC 108, который предоставляет дополнительные услуги маршрутизации для взаимодействия с PSTN 110. Аналогичным образом, PSTN 18 может взаимодействовать с MSC 108, и MSC 108 может взаимодействовать с BSC 106, который в свою очередь может управлять базовыми станциями 104 для передачи наборов сигналов прямой линии связи к наборам мобильных станций 102.
Фиг.2 изображает одну конфигурацию вычислительной среды 200, включающей вычислительное устройство-источник 202, приемное вычислительное устройство 204 и приемное мобильное вычислительное устройство 206. Вычислительное устройство-источник 202 может осуществлять связь с приемными вычислительными устройствами 204, 206 по сети 210. Сеть 210 может быть неким типом вычислительной сети, включая, но не ограничиваясь, Интернет, локальную сеть (LAN), университетскую сеть (CAN), региональную сеть (MAN), глобальную сеть (WAN), кольцевую сеть, звездообразную сеть, кольцевую сеть с маркерным доступом и т.д.
В одной конфигурации вычислительное устройство-источник 202 может кодировать и передавать аудио сигналы 212 к приемным вычислительным устройствам 204, 206 по сети 210. Аудио сигналы 212 могут включать в себя речевые сигналы, музыкальные сигналы, тоны, сигналы фонового шума и т.д. При использовании в данном документе "речевые сигналы" могут относиться к сигналам, сформированным системой человеческой речи, а "неречевые сигналы" могут относиться к сигналам, не сформированным системой человеческой речи (то есть музыка, фоновый шум и т.д.). Вычислительное устройство-источник 202 может быть мобильным телефоном, персональным цифровым помощником (PDA), переносным компьютером, персональным компьютером или любым другим вычислительным устройством с процессором. Приемное вычислительное устройство 204 может быть персональным компьютером, телефоном и т.д. Приемное мобильное вычислительное устройство 206 может быть мобильным телефоном, PDA, переносным компьютером или любым другим мобильным вычислительным устройством с процессором.
Фиг.3 изображает среду 300 передачи сигнала, включающую в себя кодер 302, декодер 304 и передающую среду 306. Кодер 302 может быть реализован внутри мобильной станции 102 или вычислительного устройства-источника 202. Декодер 304 может быть реализован в базовой станции 104, в мобильной станции 102, в приемном вычислительном устройстве 204 или в приемном мобильном вычислительном устройстве 206. Кодер 302 может кодировать аудио сигнал s(n) 310 для формирования кодированного аудио сигнала Senc(n) 312. Кодированный аудио сигнал 312 может быть передан декодеру 304 по передающей среде 306. Передающая среда 306 может обеспечивать возможность кодеру 302 передавать кодированный аудио сигнал 312 к декодеру по беспроводной связи, или она может обеспечивать возможность кодеру 302 передавать кодированный сигнал 312 по проводному соединению между кодером 302 и декодером 304. Декодер 304 может декодировать senc(n) 312, посредством этого формируя синтезированный аудио сигнал ŝ(n) 316.
Термин "кодирование" при использовании в данном документе может относиться, как правило, к способам, включающим в себя как кодирование, так и декодирование. Как правило, системы, способы и устройства кодирования стремятся минимизировать число разрядов, переданных через передающую среду 306 (то есть минимизировать полосу пропускания у senc(n) 312), поддерживая при этом приемлемое воспроизведение сигнала (то есть s(n) 310 ≈ ŝ(n) 316). Состав кодированного аудио сигнала 312 может варьироваться в соответствии с конкретным режимом кодирования, используемым кодером 302. Различные режимы кодирования описываются ниже.
Компоненты кодера 302 и декодера 304, описанные ниже, могут быть реализованы в виде электронных аппаратных средств, в виде компьютерного программного обеспечения или их сочетания. Эти компоненты описываются ниже в терминах их функциональных возможностей. Реализованы ли такие функциональные возможности как аппаратные средства или как программное обеспечение, может зависеть от конкретного применения и конструктивных ограничений, налагаемых на всю систему. Передающая среда 306 может представлять собой многочисленные разные передающие среды, включая, но не ограничиваясь, наземную линию связи, линию между базовой станцией и спутником, беспроводную связь между сотовым телефоном и базовой станцией, между сотовым телефоном и спутником или связь между вычислительными устройствами.
Каждая сторона при коммуникации может передавать данные, а также принимать данные. Каждая сторона может использовать кодер 302 и декодер 304. Однако среда 300 передачи сигнала будет описываться ниже как включающая кодер 302 на одном конце передающей среды 306 и декодер 304 на другом.
В одной конфигурации s(n) 310 может включать в себя речевой сигнал в цифровой форме, полученный во время обычного разговора, включая разные голосовые звуки и периоды тишины. Речевой сигнал s(n) 310 может быть разделен на кадры, и каждый кадр может быть дополнительно разделен на субкадры. Эти произвольно выбранные границы кадра/субкадра могут использоваться, где выполняется некоторая блочная обработка. Операции, описываемые как выполняемые на кадрах, также могли бы выполняться в этом смысле на субкадрах; кадр и субкадр в этом документе используются взаимозаменяемо. Также один или более кадров могут включаться в окно, которое может иллюстрировать размещение и временные характеристики для различных кадров.
В другой конфигурации s(n) 310 может включать в себя неречевой сигнал, например музыкальный сигнал. Неречевой сигнал может быть разделен на кадры. Один или более кадров могут включаться в окно, которое может иллюстрировать размещение и временные характеристики различных кадров. Выбор окна может зависеть от методов кодирования, реализованных для кодирования сигнала, и ограничений по задержке, которые могут быть наложены на систему. Настоящие системы и способы описывают способ для выбора формы окна, применяемой в кодировании и декодировании неречевых сигналов с помощью метода кодирования на основе модифицированного дискретного косинусного преобразования (MDCT) и обратного модифицированного дискретного косинусного преобразования (IMDCT) в системе, которая допускает кодирование как речевых, так и неречевых сигналов. Система может накладывать ограничения на то, насколько большая кадровая задержка и опережение может использоваться кодером на основе MDCT для получения возможности формирования кодированной информации на постоянной скорости.
В одной конфигурации кодер 302 включает в себя модуль 308 форматирования окна, который может форматировать окно, которое включает в себя кадры, ассоциированные с неречевыми сигналами. Кадры, включенные в форматированное окно, могут кодироваться, и декодер может восстанавливать кодированные кадры с помощью применения модуля 314 восстановления кадра. Модуль 314 восстановления кадра может синтезировать кодированные кадры таким образом, что кадры имеют сходство с предварительно кодированными кадрами речевого сигнала 310.
Фиг.4 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа 400 для изменения окна с кадром, ассоциированным с аудио сигналом. Способ 400 может быть реализован с помощью кодера 302. В одной конфигурации принимается сигнал (этап 402). Сигнал может быть аудио сигналом, который описывался ранее. Сигнал может быть разделен (этап 404) на множество кадров. Может быть применена оконная функция (этап 408) для формирования окна, и могут быть сформированы первая область заполнения нулями и вторая область заполнения нулями как часть окна для вычисления модифицированного дискретного косинусного преобразования (MDCT). Другими словами, значение начальных и конечных частей окна может быть нулевым. В одном аспекте длина первой области заполнения нулями и длина второй области заполнения нулями может быть функцией ограничений по задержке кодера 302.
Функция MDCT может использоваться в нескольких стандартах аудио кодирования для преобразования выборок сигналов с импульсно-кодовой модуляцией (РСМ), или их обработанных версий, в эквивалентное представление в частотной области. MDCT может быть аналогично дискретному косинусному преобразованию (DCT) типа IV с дополнительным свойством кадров, перекрывающих друг друга. Другими словами, последовательные кадры сигнала, которые преобразуются с помощью MDCT, могут перекрывать друг друга на 50%.
Более того, для каждого кадра из 2М выборок MDCT может создавать М коэффициентов преобразования. MDCT может соответствовать критически дискретизированной гребенкой фильтров с восстановлением без потерь. Чтобы обеспечить восстановление без потерь, коэффициенты MDCT X(k), для k = 0, 1,…M, полученные из кадра сигнала x(n), для n= 0, 1 , … 2M, могут быть заданы с помощью
(1)
где
(2)
для k = 0, 1,…,М , и w(n) является окном, которое может удовлетворять условию Принсена-Брэдли (Princen-Bradley), которое утверждает:
(3)
B декодере М кодированных коэффициентов могут быть преобразованы обратно во временную область с использованием обратного MDCT (IMDCT). Если , для k=0,1,2…М, являются принятыми коэффициентами MDCT, то соответствующий декодер IMDCT формирует восстановленный аудио сигнал путем получения сначала IMDCT принятых коэффициентов для получения 2М выборок, согласно
для n=0,1,…,2М-1 (4)
где hk(n) задается уравнением (2), затем перекрытия и сложения первых М выборок из текущего кадра с последними М выборками из результата IMDCT предыдущего кадра и первыми М выборками из результата IMDCT следующего кадра. Таким образом, если декодированные коэффициенты MDCT, соответствующие следующему кадру, недоступны в данное время, то только М аудио выборок из текущего кадра может быть восстановлено полностью.
Система MDCT может использовать опережение из М выборок. Система MDCT может включать в себя кодер, который получает MDCT либо аудио сигнала, либо его фильтрованных версий, используя заранее установленное окно, и декодер, который включает в себя функцию IMDCT, которая использует то же окно, что использует кодер. Система MDCT также может включать в себя модуль перекрытия и сложения. Например, фиг.4В иллюстрирует кодер 401 MDCT. Входной аудио сигнал 403 принимается препроцессором 405. Препроцессор 405 реализует предварительную обработку, фильтрацию кодированием с линейным предсказанием (LPC) и другие типы фильтрации. Обработанный аудио сигнал 407 выводится из препроцессора 405. Функция 409 MDCT применяется к 2М выборкам сигнала, которые были соответственно обработаны оконным способом. В одной конфигурации квантователь 411 квантует и кодирует М коэффициентов 413, и М кодированных коэффициентов передаются к декодеру 429 MDCT.
Декодер 429 принимает М кодированных коэффициентов 413. IMDCT 415 применяется к М принятым коэффициентам 413 с использованием того же окна, что и в кодере 401. 2М значений 417 сигнала могут быть классифицированы как набор 423 из первых М выборок, и последние М выборок 419 могут быть сохранены. Последние М выборок 419 могут быть дополнительно замедлены на один кадр с помощью устройства 421 задержки. Первые М выборок 423 и замедленные последние М выборок 419 могут быть сложены с помощью сумматора 425. Суммированные выборки могут использоваться для создания восстановленных М выборок 427 аудио сигнала.
Как правило, в системах MDCT 2М сигналов может быть получено из М выборок текущего кадра и М выборок будущего кадра. Однако, если доступно только L выборок из будущего кадра, то может выбираться окно, которое реализует L выборок из будущего кадра.
В системе речевой связи реального масштаба времени, работающей по сети с коммутацией каналов, длина опережающих выборок может ограничиваться максимально возможной задержкой кодирования. Может предполагаться, что доступна длина опережения, равная L. L может быть меньше либо равна М. При этом условии все еще может быть желательно использовать MDCT с перекрытием между последовательными кадрами, являющимися L выборками, в то же время сохраняя свойство восстановления без потерь.
Настоящие системы и способы могут относиться, в частности, к двусторонним системам связи реального масштаба времени, где предполагается, что кодер формирует информацию для передачи с постоянным интервалом независимо от выбора режима кодирования. Система может не допускать дрожания в формировании такой информации кодером, или такое дрожание в формировании такой информации может быть нежелательным.
В одной конфигурации функция модифицированного дискретного косинусного преобразования (MDCT) применяется (этап 410) к кадру. Применение оконной функции может быть этапом в вычислении MDCT кадра. В одной конфигурации функция MDCT обрабатывает 2М входных выборок для формирования М коэффициентов, которые затем могут быть квантованы и переданы.
В одной конфигурации кадр может кодироваться (этап 410). В одном аспекте могут кодироваться коэффициенты кадра (этап 410). Кадр может кодироваться с использованием различных режимов кодирования, которые будут обсуждаться более подробно ниже. Кадр может быть отформатирован (этап 412) в пакет, и пакет может быть передан (этап 414). В одной конфигурации пакет передается (этап 414) декодеру.
Фиг.5 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа 500 для восстановления кодированного кадра аудиосигнала. В одной конфигурации способ 500 может быть реализован с помощью декодера 304. Пакет может быть принят (этап 502). Пакет может быть принят (этап 502) от кодера 302. Пакет может быть разобран (этап 504), чтобы извлечь кадр. В одной конфигурации кадр может декодироваться (этап 506). Кадр может быть восстановлен (этап 508). В одном примере модуль 314 восстановления кадра восстанавливает кадр, подобный предварительно кодированному кадру аудиосигнала. Восстановленный кадр может быть выведен (этап 510). Выведенный кадр может быть объединен с дополнительными выведенными кадрами, чтобы воспроизвести аудиосигнал.
Фиг.6 - блок-схема, иллюстрирующая одну конфигурацию многорежимного кодера 602, обменивающегося информацией с многорежимным декодером 604 по каналу 606 связи. Система, которая включает в себя многорежимный кодер 602 и многорежимный декодер 604, может быть системой кодирования, которая включает в себя несколько разных схем кодирования для кодирования разных типов аудио сигналов. Канал 606 связи может включать в себя радиочастотный (RF) интерфейс. Кодер 602 может включать в себя ассоциированный декодер (не показан). Кодер 602 и его ассоциированный декодер могут составлять первый кодер. Декодер 604 может включать в себя ассоциированный кодер (не показан). Декодер 604 и его ассоциированный кодер могут составлять второй кодер.
Кодер 602 может включать в себя модуль 618 вычисления начальных параметров, модуль 622 классификации режимов, множество режимов 624, 626, 628 кодирования и модуль 630 форматирования пакета. Количество режимов 624, 626, 628 кодирования показано в виде N, что может означать любое количество режимов 624, 626, 628 кодирования. Для простоты показаны три режима 624, 626, 628 кодирования, причем пунктирная линия указывает наличие других режимов кодирования.
Декодер 604 может включать в себя модуль 632 разбора пакета, множество режимов 634, 636, 638 декодирования, модуль 640 восстановления кадра и постфильтр 642. Количество режимов 634, 636, 638 декодирования показано в виде N, что может означать любое количество режимов 634, 636, 638 декодирования. Для простоты показаны три режима 634, 636, 638 декодирования, причем пунктирная линия указывает наличие других режимов декодирования.
Аудио сигнал s(n) 610 может предоставляться модулю 618 вычисления начальных параметров и модулю 622 классификации режимов. Сигнал 610 может разделяться на блоки выборок, называемые кадрами. Значение n может указывать номер кадра, либо значение n может указывать номер выборки в кадре. В альтернативной конфигурации вместо аудио сигнала 610 может использоваться сигнал остаточной ошибки линейного предсказания (LP). Сигнал остаточной ошибки линейного предсказания может использоваться речевыми кодерами, например кодером линейного предсказания с кодовым возбуждением (CELP).
Модуль 618 вычисления начальных параметров может выводить различные параметры на основе текущего кадра. В одном аспекте эти параметры включают в себя по меньшей мере одно из следующего: коэффициенты фильтра кодирования с линейным предсказанием (LPC), коэффициенты пары спектральных линий (LSP), нормированные автокорреляционные функции (NACF), запаздывание разомкнутого контура, частоты переходов через нуль, энергии диапазона и формантный остаточный сигнал. В другом аспекте модуль 618 вычисления начальных параметров может предварительно обрабатывать сигнал 610 путем фильтрации сигнала 610, вычисления основного тона и т.д.
Модуль 618 вычисления начальных параметров может быть соединен с модулем 622 классификации режимов. Модуль 622 классификации режимов может динамически переключаться между режимами 624, 626, 628 кодирования. Модуль 618 вычисления начальных параметров может предоставлять параметры модулю 622 классификации режимов относительно текущего кадра. Модуль 622 классификации режимов может быть соединен с динамическим переключателем между режимами 624, 626, 628 кодирования на покадровой основе, чтобы выбрать подходящий режим 624, 626, 628 кодирования для текущего кадра. Модуль 622 классификации режимов может выбрать конкретный режим 624, 626, 628 кодирования для текущего кадра путем сравнения параметров с предопределенной пороговой величиной и/или предельными значениями. Например, ассоциированный с неречевым сигналом кадр может кодироваться с использованием схем кодирования MDCT. Схема кодирования MDCT может принимать кадр и применять определенный формат окна MDCT к кадру. Пример определенного формата окна MDCT описывается ниже в отношении фиг.8.
Модуль 622 классификации режимов может классифицировать речевой кадр как речь или неактивная речь (например, тишина, фоновый шум или паузы между словами). На основе периодичности кадров модуль 622 классификации режимов может классифицировать речевые кадры как конкретный тип речи, например вокализованная, невокализованная или переходная.
Вокализованная речь может включать в себя речь, которая проявляет относительно высокую степень периодичности. Период основного тона может быть компонентом речевого кадра, который может использоваться для анализа и восстановления содержимого кадра. Невокализованная речь может включать в себя согласные звуки. Переходные речевые кадры могут включаться в себя переходы между вокализованной и невокализованной речью. Кадры, которые не классифицируются как вокализованная или невокализованная речь, классифицируются как переходная речь.
Классифицирование кадров на речевые или неречевые может сделать возможным использование разных режимов 624, 626, 628 кодирования для кодирования разных типов кадров, приводя к более эффективному использованию полосы пропускания совместно используемого канала, например канала 606 связи.
Модуль 622 классификации режимов может выбрать режимы 624, 626, 628 кодирования для текущего кадра на основе классификации кадра. Различные режимы 624, 626, 628 кодирования могут соединяться параллельно. Один или несколько режимов 624, 626, 628 кодирования могут быть задействованы в любое заданное время. В одной конфигурации один из режимов 624, 626, 628 кодирования выбирается в соответствии с классификацией текущего кадра.
Разные режимы 624, 626, 628 кодирования могут работать согласно разным битовым скоростям кодирования, разным схемам кодирования или разным сочетаниям битовой скорости кодирования и схемы кодирования. Разные режимы 624, 626, 628 кодирования также могут применять разную оконную функцию к кадру. Различные используемые кодовые скорости могут быть полной скоростью, половинной скоростью, четвертной скоростью и/или скоростью в одну восьмую. Различные используемые режимы 624, 626, 628 кодирования могут быть кодированием MDCT, кодированием методом линейного предсказания с кодовым возбуждением (CELP), кодированием прототипом периода основного тона (РРР) (или кодированием с интерполяцией формы волны (WI)) и/или кодированием методом линейного предсказания с шумовым возбуждением (NELP). Таким образом, например, конкретный режим 624, 626, 628 кодирования может быть схемой кодирования MDCT, другой режим кодирования может быть CELP на полной скорости, другой режим кодирования 624, 626, 628 может быть CELP на половинной скорости, другой режим 624, 626, 628 кодирования может быть PPP на полной скорости и другой режим 624, 626, 628 кодирования может быть NELP.
В соответствии со схемой кодирования MDCT, которая использует традиционное окно для кодирования, передачи, приема и восстановления на декодере М выборок из аудио сигнала, схема кодирования MDCT использует 2М выборок из входного сигнала на кодере. Другими словами, в дополнение к М выборкам текущего кадра аудио сигнала кодер может ждать, пока соберутся дополнительные М выборок, перед тем как может начаться кодирование. В системе многорежимного кодирования, где схема кодирования MDCT сосуществует с другими режимами кодирования, например CELP, использование традиционных форматов окна для вычисления MDCT может повлиять на общий размер кадра и длины опережения во всей системе кодирования. Настоящие системы и способы обеспечивают проектирование и выбор форматов окна для вычислений MDCT для любого заданного размера кадра и длины опережения, чтобы схема кодирования MDCT не задавала ограничения на систему многорежимного кодирования.
В соответствии с режимом кодирования CELP может возбуждаться модель речевого тракта с линейным предсказанием с квантованной версией линейно предсказанного остаточного сигнала. В режиме кодирования CELP может квантоваться текущий кадр. Режим кодирования CELP может использоваться для кодирования кадров, классифицированных как переходная речь.
В соответствии с режимом кодирования NELP фильтрованный, псевдослучайный шумовой сигнал может использоваться для моделирования линейно предсказанного остаточного сигнала. Режим кодирования NELP может быть относительно простым методом, который достигает низкой битовой скорости. Режим кодирования NELP может использоваться для кодирования кадров, классифицированных как невокализованная речь.
В соответствии с режимом кодирования PPP может кодироваться подмножество периодов основного тона в каждом кадре. Оставшиеся периоды речевого сигнала могут быть восстановлены с помощью интерполяции между этими прототипными периодами. В реализации кодирования PPP во временной области может вычисляться первый набор параметров, который описывает, как изменить предыдущий прототипный период для приближения к текущему прототипному периоду. Могут быть выбраны один или несколько кодовых векторов, которые при суммировании приближают разницу между текущим прототипным периодом и измененным предыдущим прототипным периодом. Второй набор параметров описывает эти выбранные кодовые векторы. В реализации кодирования PPP в частотной области может вычисляться набор параметров для описания амплитудных и фазовых спектров прототипа. В соответствии с реализацией кодирования PPP декодер 604 может синтезировать выходной аудио сигнал 616 путем восстановления текущего прототипа на основе наборов параметров, описывающих амплитуду и фазу. Речевой сигнал может быть интерполирован на область между текущим восстановленным прототипным периодом и предыдущим восстановленным прототипным периодом. Прототип может включать в себя часть текущего кадра, который будет линейно интерполирован с помощью прототипов из предыдущих кадров, которые были аналогичным образом размещены внутри кадра, чтобы восстановить аудио сигнал 610 или линейно предсказанный остаточный сигнал на декодере 604 (то есть прошлый прототипный период используется в качестве прогнозирующего параметра у текущего прототипного периода).
Кодирование прототипного периода вместо всего кадра может снизить битовую скорость кодирования. Кадры, классифицированные как вокализованная речь, могут кодироваться с помощью режима кодирования PPP. С помощью использования периодичности вокализованной речи режим кодирования PPP может достичь более низкой битовой скорости, чем режим кодирования CELP.
Выбранный режим 624, 626, 628 кодирования может быть соединен с модулем 630 форматирования пакета. Выбранный режим 624, 626, 628 кодирования может кодировать, или квантовать, текущий кадр и предоставлять параметры 612 квантованного кадра модулю 630 форматирования пакет