I. ЗАЯВЛЕНИЕ ОБ УСТАНОВЛЕНИИ ПРИОРИТЕТА
[0001] Настоящая заявка испрашивает приоритет заявки США № 14/671,757, поданной 27 марта 2015, которая озаглавлена “SYSTEMS AND METHODS OF SWITCHING CODING TECHNOLOGIES AT A DEVICE”, и предварительной заявки США № 61/973,028, поданной 31 марта 2014, которая озаглавлена “SYSTEMS AND METHODS OF SWITCHING CODING TECHNOLOGIES AT A DEVICE”, содержание которых включено в настоящий документ посредством ссылки в полном объеме.
II. ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее раскрытие в целом относится к переключению технологий кодирования в устройстве.
III. ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
[0003] Достижения в технологии привели к созданию меньших по габаритам и более мощных вычислительных устройств. Например, в настоящее время существует множество портативных персональных вычислительных устройств, включая беспроводные вычислительные устройства, такие как портативные беспроводные телефоны, персональные цифровые помощники (PDA) и пейджинговые устройства, которые являются малогабаритными, легкими и легко носимыми пользователями. Более конкретно, портативные беспроводные телефоны, такие как сотовые телефоны и телефоны Интернет-протокола (IP), могут передавать голос и пакеты данных по беспроводным сетям. Кроме того, многие такие беспроводные телефоны включают в себя другие типы устройств, которые встроены в них. Например, беспроводной телефон может также включать в себя цифровой фотоаппарат, цифровую видеокамеру, цифровой диктофон и проигрыватель аудио файлов.
[0004] Беспроводные телефоны отправляют и принимают сигналы, представляющие человеческий голос (например, речь). Передача голоса цифровыми методами широко распространена, особенно в междугородных и цифровых радио телефонных приложениях. Там может иметься заинтересованность в определении наименьшего количества информации, которая может отправляться по каналу, при сохранении воспринимаемого качества восстановленной речи. Если речь передается посредством дискретизации и оцифровки, скорость передачи данных порядка шестидесяти четыре килобит в секунду (кбит/с) может быть использована для достижения качества речи аналогового телефона. С использованием анализа речи с последующим кодированием, передачей и повторным синтезом в приемнике может быть достигнуто значительное снижение скорости передачи данных.
[0005] Устройства для сжатия речи могут найти применение во многих областях телекоммуникаций. Примером может служить область беспроводной связи. Область беспроводной связи имеет много применений, включая, например, беспроводные телефоны, пейджинг, беспроводные локальные шлейфы, беспроводную телефонию, включая сотовые телефонные системы и телефонные системы служб персональной связи (PCS), мобильную IP-телефонию и системы спутниковой связи. Конкретным применением является беспроводная телефония для мобильных абонентов.
[0006] Различные радиоинтерфейсы были разработаны для систем беспроводной связи, включая, например, множественный доступ с частотным разделением (FDMA), множественный доступ с временным разделением (TDMA), множественный доступ с кодовым разделением (CDMA) и CDMA с синхронным временным разделением (TD-SCDMA). В связи с этим были установлены различные внутренние и международные стандарты, в том числе, например, Развитая мобильная телефонная служба (AMPS), Глобальная система мобильной связи (GSM) и Временный стандарт 95 (IS-95). Примером системы беспроводной телефонной связи является система CDMA. Стандарт IS-95 и его производные, IS-95A, стандарт Американского национального института стандартов (ANSI) J-STD-008 и IS-95B (совместно упоминаемые здесь как IS-95), опубликованы Ассоциацией промышленности средств связи (TIA) и другими органами по стандартизации для специфицирования использования радиоинтерфейса CDMA для сотовых или PCS систем телефонной связи.
[0007] Стандарт IS-95 впоследствии эволюционировал в системы “3G”, такие как cdma2000 и широкополосный CDMA (WCDMA), которые обеспечивают больше возможностей и услуг пакетной передачи данных с высокой скоростью. Два варианта cdma2000 представлены документами IS-2000 (cdma2000 1xRTT) и IS-856 (cdma2000 1xEV-DO), которые выпущены TIA. Система связи cdma2000 1xRTT предлагает пиковую скорость передачи данных 153 кбит/с, в то время как система связи cdma2000 1xEV-DO определяет набор скоростей передачи данных в пределах от 38,4 Кбит/с до 2,4 Мбит/с. Стандарт WCDMA воплощен в Проекте партнерства 3-го поколения “3GPP”, документы № 3G TS 25.211, 3G TS 25.212, 3G TS 25.213 и 3G TS 25.214. Спецификация International Mobile Telecommunications Advanced (IMT-Advanced) устанавливает стандарты “4G”. Спецификация IMT-Advanced устанавливает пиковую скорость передачи данных для службы 4G на 100 мегабит в секунду (Мбит/с) для связи высокой мобильности (например, из поездов и автомобилей) и 1 гигабит в секунду (Гбит/с) для связи низкой мобильности (например, от пешеходов и стационарных пользователей).
[0008] Устройства, которые используют методы для сжатия речи посредством извлечения параметров, которые относятся к модели генерации человеческой речи, называются речевыми кодерами. Речевые кодеры могут включать в себя кодер и декодер. Кодер разделяет входящий речевой сигнал на временные блоки или кадры анализа. Длительность каждого сегмента во времени (или “кадра”) может быть выбрана, чтобы быть достаточно короткой, чтобы можно было ожидать, что спектральная огибающая сигнала останется относительно стационарной. Например, длина одного кадра составляет двадцать миллисекунд, что соответствует 160 выборкам при частоте дискретизации восемь килогерц (кГц), хотя любая длина кадра или частота дискретизации, считающаяся подходящей для конкретного приложения, может быть использована.
[0009] Кодер анализирует входящий речевой кадр, чтобы извлечь некоторые релевантные параметры, и затем выполняет квантование параметров в двоичное представление, например, в набор битов или пакет двоичных данных. Эти пакеты данных передаются по каналу связи (например, соединению проводной и/или беспроводной сети) к приемнику и декодеру. Декодер обрабатывает пакеты данных, деквантует обрабатываемые пакеты данных для получения параметров и повторно синтезирует речевые кадры, используя деквантованные параметры.
[0010] Функция речевого кодера заключается в сжатии оцифрованного речевого сигнала в сигнал низкой битовой скорости путем удаления естественных избыточностей, присущих речи. Цифровое сжатие может быть достигнуто путем представления входного речевого кадра набором параметров и использования квантования для представления параметров набором битов. Если входной речевой кадр имеет количество битов Ni, и пакет данных, сформированный речевым кодером, имеет количество битов No, коэффициент сжатия, реализуемый речевым кодером, равен Cr=Ni/No. Проблема заключается в том, чтобы сохранить высокое качество декодированной речи при достижении целевого коэффициента сжатия. Производительность речевого кодера зависит от следующего: (1) насколько хорошо выполняется речевая модель или комбинация процесса анализа и синтеза, описанного выше, и (2) насколько хорошо выполняется процесс квантования параметров на целевой битовой скорости No битов на кадр. Целью речевой модели является, таким образом, получить сущность речевого сигнала или целевое качество голоса при небольшом наборе параметров для каждого кадра.
[0011] Речевые кодеры обычно используют набор параметров (включая вектора) для описания речевого сигнала. Хороший набор параметров идеально обеспечивает низкую системную ширину полосы для восстановления перцептивно точного речевого сигнала. Основной тон, мощность сигнала, спектральная огибающая (или форманты), амплитудный и фазовый спектры являются примерами параметров речевого кодирования.
[0012] Речевые кодеры могут быть реализованы как кодеры временной области, которые пытаются фиксировать речевую форму сигнала временной области с использованием обработки высокого временного разрешения для кодирования малых сегментов речи (например, 5-миллисекундных (мс) подкадров) единовременно. Для каждого подкадра, высокоточный представитель из пространства кодовой книги может быть найден с помощью алгоритма поиска. В качестве альтернативы, речевые кодеры могут быть реализованы как кодеры частотной области, которые пытаются фиксировать кратковременный речевой спектр входного речевого кадра с набором параметров (анализа) и используют соответствующий процесс синтеза для воссоздания речевого сигнала из спектральных параметров. Квантователь параметров сохраняет параметры, представляя их с сохраненными представлениями кодовых векторов в соответствии с известными методами квантования.
[0013] Одним речевым кодером временной области является кодер линейного предсказания с кодовым возбуждением (CELP). В CELP-кодере, кратковременные корреляции, или избыточности, в речевом сигнале удаляются с помощью анализа линейного предсказания (LP), который находит коэффициенты фильтра кратковременных формант. Применение фильтра кратковременного предсказания к входящему речевому кадру генерирует LP остаточный сигнал, который дополнительно моделируется и квантуется с параметрами фильтра долговременного предсказания и последующей стохастической кодовой книги. Таким образом, CELP-кодирование разделяет задачу кодирования речевого сигнала временной области на отдельные задачи кодирования LP кратковременных коэффициентов фильтрации и кодирования LP остатка. Кодирование временной области может быть выполнено с фиксированной скоростью (например, с использованием одного и того же количества битов, No, для каждого кадра) или с переменной скоростью (когда различные битовые скорости используются для различных типов содержаний кадров). Кодеры переменной скорости пытаются использовать количество битов, необходимых для кодирования параметров кодека до адекватного уровня для получения целевого качества.
[0014] Кодеры временной области, такие как CELP-кодер, могут рассчитывать на большое число битов, N0, на кадр, чтобы сохранить точность речевого сигнала временной области. Такие кодеры могут обеспечивать отличное голосовое качество при условии, что число битов, No, на кадр является относительно большим (например, 8 кбит/с или выше). При низких битовых скоростях (например, 4 кбит/с и ниже), кодеры временной области могут не обеспечить сохранение высокого качества и устойчивой производительности из-за ограниченного количества доступных битов. При низких битовых скоростях, ограниченное пространство кодовой книги ограничивает способность согласования волновой формы кодеров временной области, которые применяются в высокоскоростных коммерческих приложениях. Таким образом, несмотря на усовершенствования во времени, многие системы CELP-кодирования, работающие при низких битовых скоростях, страдают от перцептивно значительного искажения, характеризуемого как шум.
[0015] Альтернативой CELP-кодерам при низких битовых скоростях является кодер “линейного предсказания с шумовым возбуждением” (NELP), который работает в соответствии с принципами, сходными с CELP-кодером. NELP-кодеры используют отфильтрованный псевдослучайный шумовой сигнал для моделирования речи, вместо кодовой книги. Так как NELP использует более простую модель для кодированной речи, NELP достигает более низкой битовой скорости, чем CELP. NELP может быть использовано для сжатия или представления невокализированной речи или паузы.
[0016] Системы кодирования, которые работают со скоростями порядка 2,4 кбит/с, как правило, имеют параметрический характер. То есть, такие системы кодирования работают путем передачи параметров, описывающих период основного тона и спектральную огибающую (или форманты) речевого сигнала с регулярными интервалами. Примером этих так называемых параметрических кодеров является система LP-вокодера.
[0017] LP-вокодеры моделируют вокализованный речевой сигнал с одним импульсом на период основного тона. Этот базовый метод может быть расширен, чтобы включать в себя передачу информации о спектральной огибающей, помимо прочего. Хотя LP-вокодеры обеспечивают достаточную производительность, как правило, они могут вводить перцептивно значительное искажение, характеризуемое как гудение.
[0018] В последние годы появились кодеры, которые являются гибридами кодеров волновой формы и параметрических кодеров. Примером этих так называемых гибридных кодеров является система кодирования речевого сигнала с интерполяцией волновых форм-прототипов (PWI). PWI-система кодирования может быть также известна как речевой кодер с периодом основного тона-прототипа (PPP). PWI-система кодирования обеспечивает эффективный способ для кодирования вокализованной речи. Основная концепция PWI заключается в извлечении репрезентативного цикла основного тона (волновой формы-прототипа) с фиксированными интервалами, чтобы передать его описание, и в восстановлении речевого сигнала путем интерполяции между волновыми формами-прототипами. PWI-метод может работать либо на LP-остаточном сигнале, либо на речевом сигнале.
[0019] Устройство связи может принимать речевой сигнал с более низким, чем оптимальное, качеством голоса. Чтобы проиллюстрировать это, устройство связи может принимать речевой сигнал от другого устройства связи во время голосового вызова. Качество голосового вызова может ухудшаться из-за различных причин, таких как шум окружающей среды (например, ветер, уличный шум), ограничения интерфейсов устройств связи, обработка сигналов устройством связи, потеря пакетов, ограничения ширины полосы, ограничения битовой скорости и т.д.
[0020] В традиционных телефонных системах (например, коммутируемых телефонных сетях общего пользования (PSTN)), ширина полосы сигнала ограничена диапазоном частот от 300 герц (Гц) до 3,4 кГц. В широкополосных (WB) приложениях, таких как сотовая телефония и передача голоса по Интернет-протоколу (VoIP), ширина полосы сигнала может охватывать диапазон частот от 50 Гц до 7 кГц. Сверхширокополосные (SWB) методы кодирования поддерживают ширину полосы, которая простирается примерно до 16 кГц. Расширение ширины полосы сигнала от узкополосной телефонии на частоте 3,4 кГц до SWB телефонии при 16 кГц может повысить качество восстановления сигнала, разборчивость и естественность.
[0021] Одним методом WB/SWB-кодирования является расширение ширины полосы (BWE), которое включает в себя кодирование и передачу части нижних частот сигнала (например, от 0 Гц до 6,4 кГц, также называемой “низкой полосой”). Например, низкая полоса может быть представлена с использованием параметров фильтра и/или сигнала возбуждения низкой полосы. Однако, в целях повышения эффективности кодирования, часть верхних частот сигнала (например, от 6,4 кГц до 16 кГц, также называемая “высокой полосой”) может не полностью кодироваться и передаваться. Вместо этого, приемник может использовать моделирование сигнала для предсказания высокой полосы. В некоторых реализациях, данные, ассоциированные с высокой полосой, могут быть предоставлены приемнику, чтобы способствовать предсказанию. Такие данные могут упоминаться как “побочная информация” и могут включать в себя информацию усиления, линейные спектральные частоты (LSF, также упоминаемые как линейные спектральные пары (LSP)) и т.д.
[0022] В некоторых беспроводных телефонах доступны различные технологии кодирования. Например, различные технологии кодирования могут быть использованы для кодирования различных типов аудио сигнала (например, речевых сигналов против музыкальных сигналов). Когда беспроводной телефон переключается от использования первой технологии кодирования для кодирования аудио сигнала на использование второй технологии кодирования для кодирования аудио сигнала, слышимые артефакты могут быть сгенерированы на границах кадров аудио сигнала вследствие сброса буферов памяти в кодерах.
IV. СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0023] Раскрыты системы и способы сокращения артефактов на границах кадров и несогласованностей энергии при переключении технологий кодирования в устройстве. Например, устройство может использовать первый кодер, такой как кодер модифицированного дискретного косинусного преобразования (MDCT), чтобы кодировать кадр аудио сигнала, который содержит существенные высокочастотные компоненты. Например, кадр может содержать фоновый шум, зашумленную речь или музыку. Устройство может использовать второй кодер, такой как кодер линейного предсказания с возбуждением алгебраическим кодом (ACELP), чтобы кодировать речевой кадр, который не содержит существенных высокочастотных компонентов. Один или оба из кодеров могут применять метод BWE. При переключении между MDCT-кодером и ACELP-кодером, буферы памяти, используемые для BWE, могут быть сброшены (например, заполнены нулями), и состояния фильтра могут быть сброшены, что может привести к артефактам на границах кадров и несогласованностям энергии.
[0024] В соответствии с описанными методами, вместо сброса (или “обнуления”) буфера и сброса фильтра, один кодер может заполнять буфер и определять настройки фильтра на основе информации от другого кодера. Например, при кодировании первого кадра аудио сигнала, MDCT-кодер может генерировать сигнал базовой полосы, который соответствует “цели” высокой полосы, а ACELP-кодер может использовать сигнал базовой полосы для заполнения буфера целевого сигнала и генерировать параметры высокой полосы для второго кадра аудио сигнала. В качестве другого примера, буфер целевого сигнала может быть заполнен на основании синтезированного выхода MDCT-кодера. В качестве еще одного примера, ACELP-кодер может оценивать часть первого кадра с использованием методов экстраполяции, энергии сигнала, информации о типе кадра (например, является ли второй кадр и/или первый кадр невокализованным кадром, вокализованным кадром, переходным кадром или обобщенным кадром) и т.д.
[0025] Во время синтеза сигнала, декодеры могут также выполнять операции, чтобы уменьшать артефакты на границах кадров и несогласованностей энергии вследствие переключения технологий кодирования. Например, устройство может включать в себя MDCT- декодер и ACELP-декодер. Когда ACELP-декодер декодирует первый кадр аудио сигнала, ACELP-декодер может генерировать набор выборок “перекрытия”, соответствующих второму (т.е., следующему) кадру аудио сигнала. Если переключение технологии кодирования происходит на границе кадров между первым и вторым кадрами, MDCT-декодер может выполнять операцию сглаживания (например, перекрестного слияния) при декодировании второго кадра на основе выборок перекрытия с ACELP-декодера, чтобы повысить воспринимаемую непрерывность сигнала на границе кадров.
[0026] В конкретном аспекте, способ включает в себя кодирование первого кадра аудио сигнала с использованием первого кодера. Способ также включает в себя формирование, при кодировании первого кадра, сигнала базовой полосы, который включает в себя содержание, соответствующее части высокой полосы аудио сигнала. Способ дополнительно включает в кодирование второго кадра аудио сигнала с использованием второго кодера, причем кодирование второго кадра включает в себя обработку сигнала базовой полосы для генерации параметров высокой полосы, ассоциированных со вторым кадром.
[0027] В другом конкретном аспекте, способ включает в себя декодирование, в устройстве, которое включает в себя первый декодер и второй декодер, первого кадра аудио сигнала с использованием второго декодера. Второй декодер генерирует данные перекрытия, соответствующие начальной части второго кадра аудио сигнала. Способ также включает в себя декодирование второго кадра с использованием первого декодера. Декодирование второго кадра включает в себя применение операции сглаживания с использованием данных перекрытия от второго декодера.
[0028] В другом конкретном аспекте, устройство включает в себя первый кодер, сконфигурированный, чтобы кодировать первый кадр аудио сигнала и генерировать, при кодировании первого кадра, сигнал базовой полосы, который включает в себя содержание, соответствующее части высокой полосы аудио сигнала. Устройство также включает в себя второй кодер, сконфигурированный, чтобы кодировать второй кадр аудио сигнала. Кодирование второго кадра включает в себя обработку сигнала базовой полосы для генерации параметров высокой полосы, ассоциированных со вторым кадром.
[0029] В другом конкретном аспекте, устройство включает в себя первый кодер, сконфигурированный, чтобы кодировать первый кадр аудио сигнала. Устройство также включает в себя второй кодер, сконфигурированный, чтобы, при кодировании второго кадра аудио сигнала, оценивать первую часть первого кадра. Второй кодер также сконфигурирован, чтобы заполнять буфер второго кодера на основе первой части первого кадра и второго кадра и генерировать параметры высокой полосы, ассоциированные со вторым кадром.
[0030] В другом конкретном аспекте, устройство включает в себя первый декодер и второй декодер. Второй декодер сконфигурирован, чтобы декодировать первый кадр аудио сигнала и генерировать данные перекрытия, соответствующие части второго кадра аудио сигнала. Первый декодер сконфигурирован, чтобы, при декодировании второго кадра, применить операцию сглаживания с использованием данных перекрытия от второго декодера.
[0031] В другом конкретном аспекте, считываемое компьютером устройство хранения данных хранит инструкции, которые, при исполнении процессором, побуждают процессор выполнять операции, включающие в себя кодирование первого кадра аудио сигнала с использованием первого кодера. Операции также включают в себя генерацию, при кодировании первого кадра, сигнала базовой полосы, который включает в себя содержание, соответствующее части высокой полосы аудио сигнала. Операции дополнительно включают в себя кодирование второго кадра аудио сигнала с использованием второго кодера. Кодирование второго кадра включает в себя обработку сигнала базовой полосы для генерации параметров высокой полосы, ассоциированных со вторым кадром.
[0032] Конкретные преимущества, обеспечиваемые по меньшей мере одним из раскрытых примеров, включают в себя способность уменьшать артефакты на границах кадров и несогласованностей энергии при переключении между кодерами или декодерами в устройстве. Например, одна или более памятей, таких как буферы или состояния фильтров одного кодера или декодера могут быть определены на основе операции другого кодера или декодера. Другие аспекты, преимущества и признаки настоящего раскрытия станут очевидными на основе рассмотрения всей заявки, в том числе разделов, содержащих краткое описание чертежей, детальное описание, и формулы изобретения.
V. КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0033] Фиг. 1 - блок-схема для иллюстрации конкретного примера системы, которая выполнена с возможностью поддерживать переключение между кодерами с уменьшением артефактов на границах кадров и несогласованностей энергии;
[0034] Фиг. 2 - блок-схема для иллюстрации конкретного примера системы ACELP-кодирования;
[0035] Фиг. 3 - блок-схема для иллюстрации конкретного примера системы, которая выполнена с возможностью поддерживать переключение между декодерами с уменьшением артефактов на границах кадров и несогласованностей энергии;
[0036] Фиг. 4 - блок-схема последовательности операций для иллюстрации конкретного примера способа работы в устройстве кодера;
[0037] Фиг. 5 - блок-схема последовательности операций для иллюстрации другого конкретного примера способа работы в устройстве кодера;
[0038] Фиг. 6 - блок-схема последовательности операций для иллюстрации другого конкретного примера способа работы в устройстве кодера;
[0039] Фиг. 7 - блок-схема последовательности операций для иллюстрации конкретного примера способа работы в устройстве декодера; и
[0040] Фиг. 8 - блок-схема беспроводного устройства, выполненного с возможностью выполнения операций в соответствии с системами и способами согласно фиг. 1-7.
VI. ДЕТАЛЬНОЕ ОПИСАНИЕ
[0041] На фиг. 1 изображен конкретный пример системы, которая выполнена с возможностью переключения кодеров (например, технологий кодирования) при уменьшении артефактов на границах кадров и несогласованностей энергии, и обозначена в целом 100. В иллюстративном примере, система 100 встроена в электронное устройство, такое как беспроводный телефон, планшетный компьютер и т.д. Система 100 включает в себя селектор 110 кодера, кодер, основанный на преобразовании (например, MDCT-кодер 120), и кодер, основанный на LP (например, ACELP-кодер 150). В альтернативном примере, различные типы технологий кодирования могут быть реализованы в системе 100.
[0042] В последующем описании, различные функции, выполняемые системой 100 согласно фиг. 1, описаны как выполняемые отдельными компонентами или модулями. Однако это разделение компонентов и модулей приведено только для иллюстрации. В альтернативном примере функция, выполняемая конкретным компонентом или модулем, может вместо этого быть разделена между несколькими компонентами или модулями. К тому же, в альтернативном примере, два или более компонентов или модулей, показанных на фиг. 1, могут быть интегрированы в единый компонент или модуль. Каждый компонент или модуль, иллюстрируемый на фиг. 1, может быть реализован с использованием аппаратных средств (например, специализированной интегральной схемы (ASIC), процессора цифровых сигналов (DSP), контроллера, устройства на программируемой пользователем вентильной матрицы (FPGA) и т.д.), программного обеспечения (например, инструкций, выполняемых процессором) или любой их комбинации.
[0043] Кроме того, следует отметить, что, хотя фиг. 1 иллюстрирует отдельный MDCT-кодер 120 и ACELP-кодер 150, это не следует рассматривать как ограничение. В альтернативных примерах, один кодер электронного устройства может включать в себя компоненты, соответствующие MDCT-кодеру 120 и ACELP-кодеру 150. Например, кодер может включать в себя один или более модулей “ядра” низкой полосы (LB) (например, MDCT-ядро и ACELP-ядро) и один или более модулей высокой полосы (HB)/BWE. Часть низкой полосы каждого кадра аудио сигнала 102 может быть предоставлена на конкретный модуль ядра низкой полосы для кодирования в зависимости от характеристик кадра (например, содержит ли кадр речь, шум, музыку и т.д.). Часть высокой полосы каждого кадра может быть предоставлена на конкретный модуль HB/BWE.
[0044] Селектор 110 кодера может быть сконфигурирован, чтобы принимать аудио сигнал 102. Аудио сигнал 102 может включать в себя речевые данные, неречевые данные (например, музыку или фоновый шум) или и то и другое. В иллюстративном примере, аудио сигнал 102 представляет собой SWB-сигнал. Например, аудио сигнал 102 может занимать полосу частот приблизительно от 0 Гц до 16 кГц. Аудио сигнал 102 может включать в себя множество кадров, где каждый кадр имеет конкретную длительность. В иллюстративном примере, каждый кадр имеет длительность 20 мс, хотя в альтернативных примерах могут быть использованы различные длительности кадров. Селектор 110 кодера может определять, должен ли каждый кадр аудио сигнала 102 кодироваться MDCT-кодером 120 или ACELP-кодером 150. Например, селектор 110 кодера может классифицировать кадры аудио сигнала 102 на основе спектрального анализа кадров. В конкретном примере, селектор 110 кодера отправляет кадры, которые включают в себя существенные высокочастотные компоненты, в MDCT-кодер 120. Например, такие кадры могут включать в себя фоновый шум, зашумленную речь или музыкальные сигналы. Селектор 110 кодера может отправлять кадры, которые не включают в себя существенные высокочастотные составляющие, в ACELP-кодер 150. Например, такие кадры могут включать в себя речевые сигналы.
[0045] Таким образом, во время работы системы 100, кодирование аудио сигнала 102 может переключаться от MDCT-кодера 120 на ACELP-кодер 150 и наоборот. MDCT-кодер 120 и ACELP-кодер 150 могут генерировать выходной битовый поток 199, соответствующий кодированным кадрам. Для простоты иллюстрации, кадры, которые должны кодироваться ACELP-кодером 150, показаны заштрихованными, а кадры, которые должны кодироваться MDCT- кодером 120, показаны без штриховки. В примере, показанном на фиг. 1, переход от ACELP-кодирования к MDCT-кодированию происходит на границе кадров между кадрами 108 и 109. Переход от MDCT-кодирования к ACELP-кодированию происходит на границе кадров между кадрами 104 и 106.
[0046] MDCT-кодер 120 включает в себя модуль 121 MDCT-анализа, который выполняет кодирование в частотной области. Если MDCT-кодер 120 не выполняет BWE, модуль 121 MDCT-анализа может включать в себя “полный” MDCT-модуль 122. “Полный” MDCT-модуль 122 может кодировать кадры аудио сигнала 102 на основе анализа всего диапазона частот аудио сигнала 102 (например, от 0 Гц до 16 кГц). С другой стороны, если MDCT-кодер 120 выполняет BWE, данные LB и данные высокой HB могут обрабатываться отдельно. Модуль 123 низкой полосы может генерировать кодированное представление части низкой полосы аудио сигнала 102, а модуль 124 высокой полосы может генерировать параметры высокой полосы, которые должны использоваться декодером, чтобы восстанавливать часть высокой полосы (например, от 8 кГц до 16 кГц) аудио сигнала 102. MDCT-кодер 120 может также включать в себя локальный декодер 126 для оценки замкнутого контура. В иллюстративном примере, локальный декодер 126 используется для синтеза представления аудио сигнала 102 (или его части, такой как часть высокой полосы). Синтезированный сигнал может быть сохранен в буфере синтеза и может быть использован модулем 124 высокой полосы при определении параметров высокой полосы.
[0047] ACELP-кодер 150 может включать в себя модуль 159 ACELP-анализа временной области. В примере, показанном на фиг. 1, ACELP-кодер 150 выполняет расширение ширины полосы и включает в себя модуль 160 анализа низкой полосы и отдельный модуль 161 анализа высокой полосы. Модуль 160 анализа низкой полосы может кодировать часть низкой полосы аудио сигнала 102. В качестве иллюстративного примера, часть низкой полосы аудио сигнала 102 занимает диапазон частот шириной приблизительно 0 Гц до 6,4 кГц. В альтернативных примерах, другая частота кроссовера может отделять части низкой полосы и высокой полосы, и/или части могут перекрывать друг друга, как описано далее со ссылкой на фиг. 2. В конкретном примере, модуль 160 анализа низкой полосы кодирует часть низкой полосы аудио сигнала 102 путем квантования LSP, которые сгенерированы из LP-анализа части низкой полосы. Квантование может быть основано на кодовой книге низкой полосы. ACELP-анализ низкой полосы дополнительно описан со ссылкой на фиг. 2.
[0048] Генератор 155 целевого сигнала ACELP-кодера 150 может генерировать целевой сигнал, который соответствует версии базовой полосы части высокой полосы аудио сигнала 102. В качестве иллюстрации, модуль 156 вычисления может генерировать целевой сигнал посредством выполнения одной или более операций зеркального отображения, прореживания (децимации), фильтрации высокого порядка, понижающего микширования и/или понижающей дискретизации на аудио сигнале 102. Когда целевой сигнал сформирован, целевой сигнал может быть использован для заполнения буфера 151 целевого сигнала. В конкретном примере, буфер 151 целевого сигнала хранит данные длиной 1,5 кадра и включает в себя первую часть 152, вторую часть 153 и третью часть 154. Таким образом, когда кадры имеют длительность 20 мс, буфер 151 целевого сигнала представляет данные высокой полосы для 30 мс аудио сигнала. Первая часть 152 может представлять данные высокой полосы в 1-10 мс, вторая часть 153 может представлять данные высокой полосы в 11-20 мс, и третья часть 154 может представлять данные высокой полосы в 21-30 мс.
[0049] Модуль 161 анализа высокой полосы может генерировать параметры высокой полосы, которые могут использоваться декодером, чтобы реконструировать часть высокой полосы аудио сигнала 102. Например, часть высокой полосы аудио сигнала 102 может занимать диапазон частот шириной приблизительно от 6,4 кГц до 16 кГц. В иллюстративном примере, модуль 161 анализа высокой полосы квантует (например, на основании кодовой книги) LSP, которые сгенерированы из LP-анализа части высокой полосы. Модуль 161 анализа высокой полосы также может принимать сигнал возбуждения низкой полосы из модуля 160 анализа низкой полосы. Модуль 161 анализа высокой полосы может генерировать сигнал возбуждения высокой полосы из сигнала возбуждения низкой полосы. Сигнал возбуждения высокой полосы может быть предоставлен на локальный декодер 158, который генерирует синтезированную часть высокой полосы. Модуль 161 анализа высокой полосы может определять параметры высокой полосы, такие как усиление кадра, коэффициент усиления и т.д., на основе цели высокой полосы в буфере 151 целевого сигнала и/или синтезированной части высокой полосы из локального декодера 158. ACELP-анализ высокой полосы дополнительно описан со ссылкой на фиг. 2.
[0050] После того как кодирование аудио сигнала 102 переключается с MDCT-кодера 120 на ACELP-кодер 150 на границе кадров между кадрами 104 и 106, буфер 151 целевого сигнала может быть пустым, может быть сброшен или может включать в себя данные высокой полосы из нескольких кадров в прошлом (например, кадра 108). Кроме того, состояния фильтров в ACELP-кодере, такие как состояния фильтров в модуле 156 вычисления, модуле 160 LB-анализа и/или модуле 161 HB-анализа, могут отражать операции из нескольких кадров в прошлом. Если такой сброс или “устаревшая” информация используется при ACELP-кодировании, на границе кадров между первым кадром 104 и вторым кадром 106 могут генерироваться раздражающие артефакты (например, звуки щелчков). Далее, несогласованность энергии может восприниматься слушателем (например, внезапное увеличение или уменьшение громкости или другой аудио характеристики). В соответствии с описанными методами, вместо сброса или использования старых состояний фильтров и целевых данных, буфер 151 целевого сигнала может быть заполнен и состояния фильтров могут быть определены на основании данных, ассоциированных с первым кадром 104 (то есть, последним кадром, кодированным MDCT-кодером 120 перед переключением на ACELP-кодер 150).
[0051] В конкретном аспекте, буфер 151 целевого сигнала заполняется на основании “облегченного” (минимального) целевого сигнала, генерируемого MDCT-кодером 120. Например, MDCT-кодер 120 может включать в себя генератор 125 “облегченного” целевого сигнала. Генератор 125 “облегченного” целевого сигнала может генерировать сигнал 130 базовой полосы, который представляет собой оценку выходного сигнала для использования в ACELP-кодере 150. В конкретном аспекте, сигнал 130 базовой полосы генерируется посредством выполнения операции зеркального отображения и прореживания на аудио сигнале 102. В одном примере, генератор 125 “облегченного” целевого сигнала работает непрерывно во время работы MDCT-кодера 120. Чтобы уменьшить вычислительную сложность, генератор 125 “облегченного” целевого сигнала может генерировать сигнал 130 базовой полосы без выполнения операции фильтрации высокого порядка или операции понижающего микширования. Сигнал 130 базовой полосы может быть использован для заполнения, по меньшей мере, части буфера 151 целевого сигнала. Например, первая часть 152 может быть заполнена на основе сигнала 130 базовой полосы, а вторая часть 153 и третья часть 154 могут быть заполнены на основе части высокой полосы в 20 мс, представленных вторым кадром 106.
[0052] В конкретном примере, часть буфера 151 целевого сигнала (например, первая часть 152) может быть заполнена на основании выхода локального MDCT-декодера 126 (например, последние 10 мс синтезированного выхода) вместо выхода генератора 125 “облегченного” целевого сигнала. В этом примере, сигнал 130 базовой полосы может соответствовать синтезированной версии аудио сигнала 102. В качестве иллюстрации, сигнал 130 базовой полосы может быть получен из буфера синтеза локального MDCT-декодера 126. Если модуль 121 MDCT-анализа выполняет “полное” MDCT, локальный декодер 126 может выполнять “полное” обратное MDCT (IMDCT) (0 Гц-16 кГц), и сигнал 130 базовой полосы может соответствовать части высокой полосы аудио сигнала 102, а также дополнительной части (например, части низкой полосы) аудио сигнала. В этом примере синтезированный выход и/или сигнал 130 базовой полосы может быть отфильтрован (например, с помощью фильтра верхних частот (HPF), операции зеркального отображения и прореживания и т.д.) для получения результирующего сигнала, который аппроксимирует (например, включает в себя) данные высокой полосы (например, в полосе 8 кГц-16 кГц).
[0053] Если MDCT-кодер 120 выполняет BWE, локальный декодер 126 может включать IMDCT высокой полосы (8 кГц - 16 кГц), чтобы синтезировать сигнал только высокой полосы. В этом примере сигнал 130 базовой полосы может представлять синтезированный сигнал только высокой полосы и может быть скопирован в первую часть 152 буфера 151 целевого сигнала. В этом примере, первая часть 152 буфера 151 целевого сигнала заполняется без использования операций фильтрации, а только посредством операции копирования данных. Вторая часть 153 и третья часть 154 буфера 151 целевого сигнала могут заполняться на основе части высокой полосы из 20 мс, представленных вторым кадром 106.
[0055] Таким образом, в некоторых аспектах, буфер 151 целевого сигнала может быть заполнен на основе сигнала 130 базовой полосы, который представляет целевой или синтезированный сигнал данных, который был бы сгенерирован генератором 155 целевого сигнала или локальным декодером 158, если бы первый кадр 104 кодировался ACELP-кодером 150 вместо MDCT-кодера 120. Другие элементы памяти, такие как состояния фильтров (например, состояния LP-фильтров, состояния прореживателя т.д.) в ACELP- кодере 150, также могут быть определены на основании сигнала 130 базовой полосы вместо того, чтобы сбрасываться в ответ на переключение кодера. Путем использования аппроксимации данных целевого или синтезированного сигнала, артефакты на границах кадров и несогласованности энергии могут быть уменьшены по сравнению со случаем сброса буфера 151 целевого сигнала. Кроме того, фильтры в ACELP-кодере 150 могут достигать “стационарного” состояния (например, сходятся) быстрее.
[0055] В конкретном аспекте, данные, соответствующие первому кадру 104, могут быть оценены с помощью ACELP-кодера 150. Например, генератор 155 целевого сигнала может включать в себя блок оценки (оценщик) 157, сконфигурированный, чтобы оценивать часть первого кадра 104 для заполнения части буфера 151 целевого сигнала. В конкретном аспекте, блок оценки 157 выполняет операцию экстраполяции на основе данных второго кадра 106. Например, данные, представляющие часть высокой полосы второго кадра 106, могут храниться во второй и третьей частях 153, 154 буфера 151 целевого сигнала. Блок оценки 157 может хранить в первой части 152 данные, которые генерируются путем экстраполяции (альтернативно упоминается как “обратное распространение”) данных, сохраненных во второй части 153 и, опционально, третьей части 154. В качестве другого примера, блок оценки 157 может выполнить обратное LP на основании второго кадра 106 для оценки первого кадра 104 или его части (например, последних 10 мс или 5 мс первого кадра 104).
[0056] В конкретном аспекте, блок оценки 157 оценивает часть первого кадра 104 на основании информации 140 об энергии, указывающей энергию, ассоциированную с первым кадром 104. Например, часть первого кадра 104 может оцениваться на основе энергии, ассоциированной с локально декодированной (например, в локальном MDCT-декодере 126) части низкой полосы первого кадра 104, локально декодированной (например, в локальном MDCT-декодере 126) части высокой полосы первого кадра 104, или обоими способами. Принимая во внимание информацию 140 об энергии, блок оценки 157 может способствовать уменьшению несогласованностей энергии на границах кадров, например провалов в форме усиления, при переключении от MDCT-кодера 120 на ACELP-кодер 150. В иллюстративном примере, информация 140 об энергии определяется на основании энергии, ассоциированной с буфером в MDCT-кодере, таком как буфер MDCT-синтеза. Энергия всего диапазона частот буфера синтеза (например, 0 Гц-16 кГц) или энергия только части высокой полосы буфера синтеза (например, 8 кГц-16 кГц) может быть использована блоком оценки 157. Блок оценки 157 может применять операцию постепенного ослабления на данных в первой части 152 на основе оцененной энергии первого кадра 104. Постепенное ослабление может уменьшить несогласованности энергии на границах кадров, например, в тех случаях, когда происходит переход между “неактивным” кадром или кадром низкой энергии и “активным” кадром или кадром высокой энергии. Постепенное ослабление, применяемое блоком оценки 157 к первой части 152, может быть линейным или может быть основано на другой математической функции.
[0057] В конкретном аспекте, блок оценки 157 оценивает часть первого кадра 104, основываясь, по меньшей мере частично, на типе кадра для первого кадра 104. Например, блок оценки 157 может оценивать часть первого кадра 104, основываясь на типе кадра для первого кадра 104 и/или типе кадра для второго кадра 106 (альтернативно упоминаемом как “тип кодирования”). Типы кадров могут включать в себя вокализованный тип кадра, невокализованный тип кадра, переходный тип кадра и обобщенный тип кадра. В зависимости от типа(ов) кадра(ов), блок оценки 157 может применить отличающуюся операцию постепенного ослабления (например, использовать различные коэффициенты постепенного ослабления) на данных в первой части 152.
[0058] Таким образом, в некоторых аспектах, буфер 151 целевого сигнала может быть заполнен на основе оценки сигнала и/или энергии, ассоциированной с первым кадром 104 или его частью. В качестве альтернативы или в дополнение, тип кадра первого кадра 104 и/или второго кадра 106 может быть использован в процессе оценки, например, для постепенного ослабления. Другие элементы памяти, такие как состояния фильтров (например, состояния LP-фильтров, состояния прореживателя и т.д.) в ACELP-кодере 150, также могут быть определены на основании оценки вместо того, чтобы сбрасываться в ответ на переключение кодера, в результате чего состояния фильтров могут достичь “стационарного” состояния (например, сходимости) быстрее.
[0059] Система 100 согласно фиг. 1 может обрабатывать обновления памяти при переключении между первым режимом кодирования или кодером (например, MDCT-кодером 120) и вторым режимом кодирования или кодером (например, ACELP-кодером 150) таким способом, который уменьшает артефакты на границах кадров и несогласованности энергии. Использование системы 100 согласно фиг. 1 может привести к улучшению качества кодирования сигнала, а также улучшению пользовательского опыта.
[0060] На фиг. 2 изображен конкретный пример системы 200 ACELP-кодирования, обозначенной в целом 200. Один или более компонентов системы 200 могут соответствовать одному или более компонентам системы 100 согласно фиг. 1, как далее описано здесь. В иллюстративном примере, система 200 встроена в электронное устройство, такое как беспроводный телефон, планшетный компьютер и т.д.
[0061] В последующем описании, различные функции, выполняемые системой 200 согласно фиг. 2, описаны как выполняемые отдельными компонентами или модулями. Однако это разделение компонентов и модулей приведено только для иллюстрации. В альтернативном примере, функция, выполняемая конкретным компонентом или модулем, может вместо этого быть разделена между несколькими компонентами или модулями. К тому же, в альтернативном примере, два или более компонентов или модулей, показанных на фиг. 2, могут быть объединены в один компонент или модуль. Каждый компонент или модуль, иллюстрируемый на фиг. 2, может быть реализован с использованием аппаратных средств (например, ASIC, DSP, контроллера, устройства FPGA и т.д.), программного обеспечения (например, инструкций, исполняемых процессором) или любой их комбинации.
[0062] Система 200 включает в себя банк 210 фильтров анализа, который сконфигурирован для приема входного аудио сигнала 202. Например, входной аудио сигнал 202 может быть обеспечен с помощью микрофона или другого устройства ввода. В иллюстративном примере, входной аудио сигнал 202 может соответствовать аудио сигналу 102 согласно фиг. 1, если селектор 110 кодера согласно фиг. 1 определяет, что аудиосигнал 102 должен кодироваться с помощью ACELP-кодера 150 согласно фиг. 1. Входной аудио сигнал 202 может быть сверхширокополосным сигналом (SWB), который включает в себя данные в диапазоне частот примерно от 0 Гц до 16 кГц. Банк 210 фильтров анализа может фильтровать входной аудио сигнал 202 во множество частей в зависимости от частоты. Например, банк 210 фильтров анализа может включать в себя фильтр нижних частот (LPF) и фильтр верхних частот (HPF), чтобы генерировать сигнал 222 низкой полосы и сигнал 224 высокой полосы. Сигнал 222 низкой полосы и сигнал 224 высокой полосы могут иметь равные или неравные ширины полос и могут быть перекрывающимися или неперекрывающимися. Когда сигнал 222 низкой полосы и сигнал 224 высокой полосы перекрываются, фильтр нижних частот и фильтр верхних частот банка 210 фильтров анализа могут иметь плавный спад частотной характеристики, что может упростить проектирование и снизить стоимость фильтра нижних частот и фильтра верхних частот. Перекрытие сигнала 222 низкой полосы и сигнала 224 высокой полосы также может обеспечивать плавное смешивание нижнего сигналов низкой полосы и высокой полосы в приемнике, что может привести к меньшему количеству слышимых артефактов.
[0063] Следует отметить, что, хотя некоторые примеры описаны здесь в контексте обработки SWB-сигнала, это приведено только для иллюстрации. В альтернативном примере, описанные методы могут быть использованы для обработки WB-сигнала, имеющего диапазон частот приблизительно от 0 Гц до 8 кГц. В таком примере, сигнал 222 низкой полосы может соответствовать диапазону частот приблизительно от 0 Гц до 6,4 кГц, и сигнал 224 высокой полосы может соответствовать диапазону частот приблизительно от 6,4 кГц до 8 кГц.
[0064] Система 200 может включать в себя модуль 230 анализа низкой полосы, сконфигурированный для приема сигнала 222 низкой полосы. В конкретном аспекте, модуль 230 анализа низкой полосы может представлять собой пример ACELP-кодера. Например, модуль 230 анализа низкой полосы может соответствовать модулю 160 анализа низкой полосы согласно фиг. 1. Модуль 230 анализа низкой полосы может включать в себя модуль 232 LP-анализа и кодирования, модуль 234 преобразования коэффициентов линейного предсказания (LPC) в линейные спектральные пары (LSP) и квантователь 236. LSP также могут упоминаться как LSF, и эти два термина могут быть использованы в настоящем описании взаимозаменяемо. Модуль 232 LP-анализа и кодирования может кодировать спектральную огибающую сигнала 222 низкой полосы как набор LPC. LPC могут быть сгенерированы для каждого кадра аудио (например, 20 мс аудио, соответствующих 320 выборкам при частоте дискретизации 16 кГц), каждого подкадра аудио (например, 5 мс аудио) или любой их комбинации. Число LPC, генерируемых для каждого кадра или подкадра, может определяться “порядком” выполняемого LP-анализа. В конкретном аспекте, модуль 232 LP-анализа и кодирования может генерировать набор из одиннадцати LPC, соответствующих LP-анализу десятого порядка.
[0065] Модуль 234 преобразования может преобразовать набор LPC, сгенерированный модулем 232 LP-анализа и кодирования, в соответствующий набор LSP (например, с использованием преобразования “один к одному”). Альтернативно, набор LPC может быть однозначно преобразован в соответствующий набор коэффициентов частичной автокорреляции (parcor), значений логарифмов отношения площадей, спектральных пар иммитанса (ISP) или спектральных частот иммитанса (ISF). Преобразование между набором LPC и набором LSP может быть обратимым без ошибок.
[0066] Квантователь 236 может квантовать набор LSP, генерируемых модулем 234 преобразования. Например, квантователь 236 может включать в себя или может быть связан с множеством кодовых книг, которые включают в себя множество записей (например, векторов). Чтобы квантовать набор LSP, квантователь 236 может идентифицировать записи кодовых книг, которые являются “ближайшими к” (например, на основании меры искажения, такой как наименьшая квадратичная или среднеквадратичная погрешность) набору LSP. Квантователь 236 может вывести значение индекса или ряд значений индексов, соответствующих местоположению идентифицированных записей в кодовых книгах. Выход квантователя 236 может, таким образом, представлять параметры фильтра низкой полосы, которые включены в битовый поток 242 низкой полосы.
[0067] Модуль 230 анализа низкой полосы может также генерировать сигнал 244 возбуждения низкой полосы. Например, сигнал 244 возбуждения низкой полосы может быть кодированным сигналом, который генерируется путем квантования остаточного сигнала LP, который генерируется в течение процесса LP, выполняемого модулем 230 анализа низкой полосы. Остаточный сигнал LP может представлять собой ошибку предсказания.
[0068] Система 200 может дополнительно включать в себя модуль 250 анализа высокой полосы, сконфигурированный для приема сигнала 224 высокой полосы из банка 210 фильтров анализа и сигнала 244 возбуждения низкой полосы из модуля 230 анализа низкой полосы. Например, модуль 250 анализа высокой полосы может соответствовать модулю 161 анализа высокой полосы согласно фиг. 1. Модуль 250 анализа высокой полосы может генерировать параметры 272 высокой полосы на основе сигнала 224 высокой полосы и сигнала 244 возбуждения низкой полосы. Например, параметры 272 высокой полосы могут включать в себя LSP высокой полосы и/или информацию усиления (например, на основе по меньшей мере отношения энергии высокой полосы к энергии низкой полосы), как описано далее.
[0069] Модуль 250 анализа высокой полосы может включать в себя генератор 260 возбуждения высокой полосы. Генератор 260 возбуждения высокой полосы может генерировать сигнал возбуждения высокой полосы путем расширения спектра сигнала 244 возбуждения низкой полосы в диапазон частот высокой полосы (например, 8 кГц-16 кГц). Сигнал возбуждения высокой полосы может быть использован для определения одного или более параметров усиления высокой полосы, которые включены в параметры 272 высокой полосы. Как показано на чертеже, модуль 250 анализа высокой полосы также может включать в себя модуль 252 LP-анализа и кодирования, модуль 254 преобразования LPC в LSP и квантователь 256. Каждый из модуля 252 LP-анализа и кодирования, модуля 254 преобразования и квантователя 256 может функционировать, как описано выше со ссылками на соответствующие компоненты модуля 230 анализа низкой полосы, но при сравнительно низком разрешении (например, с использованием меньшего количества битов для каждого коэффициента, LSP и т.д.). Модуль 252 LP-анализа и кодирования может генерировать набор LPC, которые преобразуются в LSP модулем 254 преобразования и квантуются квантователем 256 на основе кодовой книги 263. Например, модуль 252 LP-анализа и кодирования, модуль 254 преобразования и квантователь 256 могут использовать сигнал 224 высокой полосы для определения информации фильтра высокой полосы (например, LSP высокой полосы), которая включена в параметры 272 высокой полосы. В конкретном аспекте, параметры 272 высокой полосы могут включать в себя LSP высокой полосы, а также параметры усиления высокой полосы.
[0070] Модуль 250 анализа высокой полосы также может включать в себя локальный декодер 262 и генератор 264 целевого сигнала. Например, локальный декодер 262 может соответствовать локальному декодеру 158 согласно фиг. 1 и генератор 264 целевого сигнала может соответствовать генератору 155 целевого сигнала согласно фиг. 1. Модуль 250 анализа высокой полосы может дополнительно получать MDCT-информацию 266 из MDCT-кодера. Например, MDCT-информация 266 может включать в себя сигнал 130 базовой полосы согласно фиг. 1 и/или информацию 140 об энергии согласно фиг. 1 и может быть использована для уменьшения артефактов на границах кадров и несогласованностей энергии, когда переключение с MDCT-кодирования на ACELP-кодирование, выполняется системой 200 согласно фиг. 2.
[0071] Битовый поток 242 низкой полосы и параметры 272 высокой полосы могут мультиплексироваться мультиплексором (MUX) 280 для генерации выходного битового потока 299. Выходной битовый поток 299 может представлять собой кодированный аудио сигнал, соответствующий входному аудио сигналу 202. Например, выходной битовый поток 299 может передаваться передатчиком 298 (например, по проводному, беспроводному или оптическому каналу) и/или сохраняться. В устройстве приемника, обратные операции могут выполняться демультиплексором (DEMUX), декодером низкой полосы, декодером высокой полосы и банком фильтров для генерации синтезированного аудио сигнала (например, восстановленной версии входного аудио сигнала 202, которая подается на динамик или другое устройство вывода). Количество битов, используемых для представления битового потока 242 низкой полосы, может быть существенно больше, чем количество битов, используемых для представления параметров 272 высокой полосы. Таким образом, большинство из битов в выходном битовом потоке 299 может представлять данные низкой полосы. Параметры 272 высокой полосы могут быть использованы в приемнике для восстановления сигнала возбуждения высокой полосы из данных низкой полосы в соответствии с моделью сигнала. Например, модель сигнала может представлять собой ожидаемый набор отношений или корреляций между данными низкой полосы (например, сигналом 222 низкой полосы) и данными высокой полосы (например, сигналом 224 высокой полосы). Таким образом, различные модели сигналов могут быть использованы для различных типов аудиоданных, и конкретная модель сигнала, которая находится в использовании, может быть согласована передатчиком и приемником (или определяется отраслевым стандартом) до передачи кодированных аудиоданных. С помощью модели сигнала, модуль 250 анализа высокой полосы в передатчике может генерировать параметры 272 высокой полосы таким образом, что соответствующий модуль анализа высокой полосы в приемнике может использовать модель сигнала для восстановления сигнала 224 высокой полосы из выходного битового потока 299.
[0072] Фиг. 2, таким образом, иллюстрирует систему 200 ACELP-кодирования, которая использует MDCT-информацию 266 из MDCT-кодера при кодировании входного аудио сигнала 202. С использованием MDCT-информации 266, артефакты на границах кадров и несогласованности энергии могут быть уменьшены. Например, MDCT-информация 266 может быть использована для выполнения оценки целевого сигнала, обратного распространения, плавного ослабления и т.д.
[0073] На фиг. 3 показан конкретный пример системы, которая сконфигурирована для поддержки переключения между декодерами с уменьшением артефактов на границах кадров и несогласованностей энергии и обозначена в целом 300. В иллюстративном примере, система 300 встроена в электронное устройство, такое как беспроводный телефон, планшетный компьютер и т.д.
[0074] Система 300 включает в себя приемник 301, селектор 310 декодера, декодер, основанный на преобразовании (например, MDCT-декодер 320), и декодер, основанный на LP (например, ACELP-декодер 350). Таким образом, хотя не показано, MDCT-декодер 320 и ACELP-декодер 350 могут включать в себя один или более компонентов, которые выполняют обратные операции по отношению к тем, которые описаны со ссылкой на один или более компонентов MDCT-кодера 120 согласно фиг. 1 и ACELP-кодера 150 согласно фиг. 1, соответственно. Кроме того, одна или более операций, описанных как выполняемые MDCT-декодером 320, также могут выполняться локальным MDCT-декодером 126 согласно фиг. 1, и одна или более операций, описанных как выполняемые ACELP-декодером 350, также могут выполняться локальным ACELP-декодером 158 согласно фиг. 1.
[0075] В процессе работы, приемник 301 может принимать и предоставлять битовый поток 302 на селектор 310 декодера. В иллюстративном примере, битовый поток 302 соответствует выходному битовому потоку 199 согласно фиг. 1 или выходному битовому потоку 299 согласно фиг. 2. Селектор 310 декодера может определять, основываясь на характеристиках битового потока 302, следует ли использовать MDCT-декодер 320 или ACELP-декодер для декодирования битового потока 302, чтобы генерировать синтезированный аудио сигнал 399.
[0077] Когда выбран ACELP-декодер 350, модуль 352 LPC-синтеза может обрабатывать битовый поток 302 или его часть. Например, модуль 352 LPC-синтеза может декодировать данные, соответствующие первому кадру аудио сигнала. Во время декодирования, модуль 352 LPC-синтеза может генерировать данные 340 перекрытия, соответствующие второму (например, следующему) кадру аудио сигнала. В качестве иллюстративного примера, данные 340 перекрытия могут включать в себя 20 аудио выборок.
[0077] Когда селектор 310 декодера переключает декодирование с ACELP-декодера 350 на MDCT-декодер 320, модуль 322 сглаживания может использовать данные 340 перекрытия для выполнения функции сглаживания. Функция сглаживания может сглаживать прерывистость границ кадров вследствие сброса памятей фильтров и буферов синтеза в MDCT-декодере 320 в ответ на переключение с ACELP-декодера 350 на MDCT-декодер 320. В иллюстративном, не ограничивающем примере, модуль 322 сглаживания может выполнить операцию перекрестного слияния, основываясь на данных 340 перекрытия, так что переход между синтезированным выходом на основе данных 340 перекрытия и синтезированным выходом для второго кадра аудиосигнала воспринимается слушателем как более непрерывный.
[0078] Система 300 на фиг. 3, таким образом, может обрабатывать обновления памяти фильтров и буферов при переключении между первым режимом декодирования или декодером (например, ACELP-декодером 350) и вторым режимом декодирования или декодером (например, MDCT-декодером 320) таким способом, который уменьшает прерывистость на границах кадров. Использование системы 300 согласно фиг. 3 может привести к улучшению качества восстановления сигнала, а также улучшению пользовательского опыта.
[0079] Один или более из систем, показанных на фиг. 1-3, таким образом, может модифицировать памяти фильтров и буферы предсказания и выполнять обратное предсказание аудио выборок границ кадров “предыдущего” синтеза ядра для комбинации с “текущим” синтезом ядра. Например, вместо того, чтобы сбросить буфер ACELP-предсказания в нуль, содержимое в буфере может быть предсказано из буфера MDCT-синтеза или “облегченного” целевого сигнала, как описано со ссылкой на фиг. 1. В качестве альтернативы, обратное предсказание выборок границ кадров может быть выполнено, как описано со ссылкой на фиг. 1-2. Дополнительная информация, например, MDCT-информация об энергии (например, информация 140 об энергии согласно фиг. 1), тип кадра и т.п. может дополнительно использоваться. Кроме того, чтобы ограничить временные разрывы, определенный выход синтеза, такой как ACELP-выборки перекрытия, могут быть плавно смешаны на границе кадров во время MDCT-декодирования, как описано со ссылкой на фиг. 3. В конкретном примере, последние несколько выборок “предыдущего” синтеза могут быть использованы при вычислении усиления кадра и других параметров расширения ширины полосы.
[0081] На фиг. 4 изображен конкретный пример способа работы в устройстве кодера, обозначенный в целом 400. В иллюстративном примере, способ 400 может выполняться в системе 100 согласно фиг. 1.
[0081] Способ 400 может включать в себя кодирование первого кадра аудио сигнала с использованием первого кодера, на этапе 402. Первый кодер может быть MDCT-кодером. Например, на фиг. 1, MDCT-кодер 120 может кодировать первый кадр 104 аудио сигнала 102.
[0082] Способ 400 может также включать в себя генерирование, при кодировании первого кадра, сигнала базовой полосы, который включает в себя содержание, соответствующее части высокой полосы аудио сигнала, на этапе 404. Сигнал базовой полосы может соответствовать оценке целевого сигнала на основе генерации “облегченного” MDCT-целевого сигнала или выхода MDCT-синтеза. Например, на фиг. 1, MDCT-кодер 120 может генерировать сигнал 130 базовой полосы на основе “облегченного” целевого сигнала, генерируемого генератором 125 “облегченного” целевого сигнала, или на основе синтезированного выхода локального декодера 126.
[0083] Способ 400 дополнительно может включать в себя кодирование второго (например, следующего) кадра аудио сигнала с использованием второго кодера, на этапе 406. Второй кодер может быть ACELP-кодером, и кодирование второго кадра может включать в себя обработку сигнала базовой полосы для генерации параметров высокой полосы, ассоциированных со вторым кадром. Например, на фиг. 1, ACELP-кодер 150 может генерировать параметры высокой полосы на основе обработки сигнала 130 базовой полосы, чтобы заполнить по меньшей мере часть буфера 151 целевого сигнала. В иллюстративном примере, параметры высокой полосы могут генерироваться, как описано со ссылкой на параметры 272 высокой полосы согласно фиг. 2.
[0084] На фиг. 5 показан другой конкретный пример способа работы в устройстве кодера, обозначенный в целом 500. Способ 500 может быть выполнен в системе 100 согласно фиг. 1. В конкретной реализации, способ 500 может соответствовать этапу 404 на фиг. 4.
[0085] Способ 500 включает в себя выполнение операций зеркального отображения и прореживания на сигнале базовой полосы, чтобы генерировать результирующий сигнал, который аппроксимирует часть высокой полосы аудио сигнала, на этапе 502. Сигнал базовой полосы может соответствовать части высокой полосы аудио сигнала и дополнительной части аудио сигнала. Например, сигнал 130 базовой полосы согласно фиг. 1 может быть получен из буфера синтеза локального MDCT-декодера 126, как описано со ссылкой на фиг. 1. В качестве иллюстрации, MDCT-кодер 120 может генерировать сигнал 130 базовой полосы на основе синтезированного выхода локального MDCT-декодера 126. Сигнал 130 базовой полосы может соответствовать части высокой полосы аудио сигнала 120, а также дополнительной части (например, низкой полосы) аудио сигнала 120. Операция зеркального отображения и операция прореживания может быть выполнена на сигнале 130 базовой полосы, чтобы сформировать результирующий сигнал, который включает в себя данные высокой полосы, как описано со ссылкой на фиг. 1. Например, ACELP-кодер 150 может выполнять операцию зеркального отображения и операцию прореживания на сигнале 130 базовой полосы для получения результирующего сигнала.
[0086] Способ 500 также включает в себя заполнение буфера целевого сигнала второго кодера на основе результирующего сигнала, на этапе 504. Например, буфер 151 целевого сигнала ACELP-кодера 150 на фиг. 1 может быть заполнен на основе результирующего сигнала, как описано со ссылкой на фиг. 1. В качестве иллюстрации, ACELP-кодер 150 может заполнять буфер 151 целевого сигнала на основе результирующего сигнала. ACELP-кодер 150 может генерировать часть высокой полосы второго кадра 106 на основе данных, сохраненных в буфере 151 целевого сигнала, как описано со ссылкой на фиг. 1.
[0087] На фиг. 6 изображен другой конкретный пример способа работы в устройстве кодера, обозначенный в целом 600. В иллюстративном примере, способ 600 может выполняться в системе 100 согласно фиг. 1.
[0088] Способ 600 может включать в себя кодирование первого кадра аудио сигнала с использованием первого кодера, на этапе 602, и кодирование второго кадра аудио сигнала с использованием второго кодера, на этапе 604. Первый кодер может быть MDCT-кодером, таким как MDCT-кодер 120 на фиг. 1, а второй кодер может быть ACELP-кодером, таким как ACELP-кодер 150 на фиг. 1. Второй кадр может последовательно следовать за первым кадром.
[0089] Кодирование второго кадра может включать в себя оценку, во втором кодере, первой части первого кадра, на этапе 606. Например, со ссылкой на фиг. 1, блок оценки 157 может оценивать часть (например, последние 10 мс) первого кадра 104 на основе экстраполяции, линейного предсказания, MDCT-энергии (например, информации 140 об энергии), типа(ов) кадра(ов) и т.д.
[0090] Кодирование второго кадра может также включать в себя заполнение второго буфера на основе первой части первого кадра и второго кадра, на этапе 608. Например, со ссылкой на фиг. 1, первая часть 152 буфера 151 целевого сигнала может быть заполнена на основе оцененной части первого кадра 104, а вторая и третья части 153, 154 буфера 151 целевого сигнала могут быть заполнены на основе второго кадра 106.
[0091] Кодирование второго кадра может дополнительно включать в себя генерацию параметров высокой полосы, ассоциированных со вторым кадром, на этапе 610. Например, на фиг. 1, ACELP-кодер 150 может генерировать параметры высокой полосы, ассоциированные со вторым кадром 106. В иллюстративном примере, параметры высокой полосы могут генерироваться, как описано со ссылкой на параметры 272 высокой полосы согласно фиг. 2.
[0092] На фиг. 7 изображен конкретный пример способа работы в устройстве декодера, обозначенный в целом 700. В иллюстративном примере, способ 700 может выполняться в системе 300 согласно фиг. 3.
[0093] Способ 700 может включать в себя декодирование, в устройстве, которое включает в себя первый декодер и второй декодер, первого кадра аудио сигнала с использованием второго декодера, на этапе 702. Второй декодер может быть ACELP-декодером и может генерировать данные перекрытия, соответствующие части второго кадра аудио сигнала. Например, со ссылкой на фиг. 3, ACELP-декодер 350 может декодировать первый кадр и генерировать данные 340 перекрытия (например, 20 аудио выборок).
[0094] Способ 700 может также включать в себя декодирование второго кадра с использованием первого декодера, на этапе 704. Первый декодер может быть MDCT-декодером, и декодирование второго кадра может включать в себя применение операции сглаживания (например, перекрестного слияния) с использованием данных перекрытия от второго декодера. Например, со ссылкой на фиг. 1, MDCT-декодер 320 может декодировать второй кадр и применять операцию сглаживания с использованием данных 340 перекрытия.
[0095] В конкретных аспектах, один или более способов согласно фиг. 4-7 могут быть реализованы с помощью аппаратных средств (например, устройства FPGA, ASIC и т.д.) блока обработки, такого как центральный процессор (CPU), DSP или контроллер, с помощью устройства с встроенным программным обеспечением или любой их комбинации. В качестве примера, один или более способов согласно фиг. 4-7 могут быть выполнены с помощью процессора, который исполняет инструкции, как описано со ссылкой на фиг. 8.
[0096] На фиг. 8 показана блок-схема конкретного иллюстративного примера устройства (например, устройства беспроводной связи), обозначенного в целом 800. В различных примерах, устройство 800 может иметь меньше или больше компонентов, чем показано на фиг. 8. В иллюстративном примере, устройство 800 может соответствовать одной или более из систем, показанных на фиг. 1-3. В иллюстративном примере, устройство 800 может работать в соответствии с одним или более из способов, показанных на фиг. 4-7.
[0097] В конкретном аспекте, устройство 800 включает в себя процессор 806 (например, CPU). Устройство 800 может включать в себя один или более дополнительных процессоров 810 (например, один или более DSP). Процессоры 810 могут включать в себя кодер-декодер (CODEC, кодек) 808 речи и музыки и эхо-компенсатор 812. Кодек 808 речи и музыки может включать в себя кодер 836 вокодера, декодер 838 вокодера или их оба.
[0098] В конкретном аспекте, кодер 836 вокодера может включать в себя MDCT-кодер 860 и ACELP-кодер 862. MDCT-кодер 860 может соответствовать MDCT-кодеру 120 на фиг. 1, а ACELP-кодер 862 может соответствовать ACELP-кодеру 150 на фиг. 1 или одному или более компонентам системы 200 ACELP-кодирования согласно фиг. 2. Кодер 836 вокодера может также включать в себя селектор 864 кодера (например, соответствующий селектору 110 кодера согласно фиг. 1). Декодер 838 вокодера может включать в себя MDCT-декодер 870 и ACELP-декодер 872. MDCT-декодер 870 может соответствовать MDCT-декодеру 320 согласно фиг. 3, а ACELP-декодер 872 может соответствовать ACELP-декодеру 350 согласно фиг. 1. Декодер 838 вокодера может также включать в себя селектор 874 декодера (например, соответствующий селектору 310 декодера согласно фиг. 3). Хотя кодек 808 речи и музыки проиллюстрирован как компонент процессоров 810, в других примерах один или более компонентов кодека 808 речи и музыки может быть включен в процессор 806, кодек 834, другой компонент обработки или их комбинацию.
[0099] Устройство 800 может включать в себя память 832 и беспроводной контроллер 840, связанный с антенной 842 через приемопередатчик 850. Устройство 800 может включать в себя дисплей 828, связанный с контроллером 826 дисплея. Динамик 848, микрофон 846 или оба из них могут быть связаны с кодеком 834. Кодек 834 может включать в себя цифро-аналоговый преобразователь (DAC) 802 и аналого-цифровой преобразователь (ADC) 804.
[0100] В конкретном аспекте, кодек 834 может принимать аналоговые сигналы от микрофона 846, преобразовывать аналоговые сигналы в цифровые сигналы с помощью аналого-цифрового преобразователя 804 и предоставлять цифровые сигналы в кодек 808 речи и музыки, например, в формате кодово-импульсной модуляции (PCM). Кодек 808 речи и музыки может обрабатывать цифровые сигналы. В конкретном аспекте, кодек 808 речи и музыки может предоставлять цифровые сигналы в кодек 834. Кодек 834 может преобразовывать цифровые сигналы в аналоговые сигналы с помощью цифро-аналогового преобразователя 802 и может выдавать аналоговые сигналы на динамик 848.
[0101] Память 832 может включать в себя инструкции 856, исполняемые процессором 806, процессорами 810, кодеком 834, другим блоком обработки устройства 800 или их комбинацией, для выполнения способов и процессов, раскрытых в настоящем документе, таких как один или более способов согласно фиг. 4-7. Один или более компонентов систем, показанных на фиг. 1-3, могут быть реализованы с помощью специальных аппаратных средств (например, схем), с помощью процессора, исполняющего инструкции (например, инструкции 856) для выполнения одной или более задач, или их комбинации. В качестве примера, память 832 или один или более компонентов процессора 806, процессоров 810 и/или кодека 834 могут быть устройством памяти, таким как оперативная память (RAM), магниторезистивная оперативная память (MRAM), MRAM с переносом спинового момента (STT-MRAM), флэш-память, постоянная память (ROM), программируемая постоянная память (EPROM), стираемая программируемая постоянная память (EPROM), электрически стираемая программируемая постоянная память (EEPROM), регистры, жесткий диск, съемный диск или постоянная память на компакт-диске (CD-ROM). Устройство памяти может включать в себя инструкции (например, инструкции 856), которые при выполнении компьютером (например, процессором в кодеке 834, процессором 806 и/или процессорами 810) может побуждать компьютер выполнять по меньшей мере часть одного или более способов согласно фиг. 4-7. В качестве примера, память 832 или один или более компонентов процессора 806, процессоров 810, кодека 834 может быть не-временным (нетранзиторным) считываемым компьютером носителем, который содержит инструкции (например, инструкции 856), которые при исполнении компьютером (например, процессором в кодеке 834, процессором 806 и/или процессорами 810) побуждают компьютер выполнять по меньшей мере часть одного или более способов согласно фиг. 4-7.
[0102] В конкретном аспекте, устройство 800 может быть включено в устройство 822 корпусированной системы или однокристальной системы, такое как модем мобильной станции (МСМ). В конкретном аспекте, процессор 806, процессоры 810, контроллер 826 дисплея, память 832, кодек 834, беспроводной контроллер 840 и приемопередатчик 850 включены в устройство 822 корпусированной системы или однокристальной системы. В конкретном аспекте, устройство 830 ввода, такое как сенсорный экран и/или клавиатура, и источник питания 844 соединены с устройством 822 однокристальной системы. Кроме того, в конкретном аспекте, как показано на фиг. 8, дисплей 828, устройство 830 ввода, динамик 848, микрофон 846, антенна 842 и источник питания 844 являются внешними по отношению к устройству 822 однокристальной системы. Однако каждое из дисплея 828, устройства 830 ввода, динамика 848, микрофона 846, антенны 842 и источника питания 844 может быть соединено с компонентом устройства 822 однокристальной системы, таким как интерфейс или контроллер. В качестве иллюстративного примера, устройство 800 соответствует устройству мобильной связи, смартфону, сотовому телефону, портативному компьютеру, компьютеру, планшетному компьютеру, персональному цифровому помощнику, устройству отображения, телевизору, игровой консоли, музыкальному плееру, радио, цифровому видео плееру, плееру на оптическом диске, тюнеру, камере, навигационному устройству, системе декодера, системе кодера или любой их комбинации.
[0103] В иллюстративном аспекте, процессоры 810 могут приводиться в действие для выполнения операций кодирования и декодирования сигналов в соответствии с описанными методами. Например, микрофон 846 может получать аудио сигнал (например, аудио сигнал 102 на фиг. 1). ADC 804 может преобразовывать полученный аудио сигнал из аналоговой формы в цифровую форму, которая включает в себя цифровые аудио выборки. Процессоры 810 могут обрабатывать цифровые аудио выборки. Эхо-компенсатор 812 может уменьшать эхо, которое может создаваться выходным сигналом динамика 848, попадающим в микрофон 846.
[0104] Кодер 836 вокодера может сжимать цифровые аудио выборки, соответствующие обработанному речевому сигналу, и может формировать пакет передачи (например, представление сжатых битов цифровых аудио выборок). Например, пакет передачи может соответствовать по меньшей мере части выходного битового потока 199 согласно фиг. 1 или выходного битового потока 299 согласно фиг. 2. Пакет передачи может храниться в памяти 832. Приемопередатчик 850 может модулировать в некоторой форме пакет передачи (например, другая информация может быть добавлена к пакету передачи) и может передавать модулированные данные через антенну 842.
[0105] В качестве дополнительного примера, антенна может принимать 842 входящие пакеты, которые включают в себя пакет приема. Пакет приема может быть отправлен другим устройством через сеть. Например, пакет приема может соответствовать по меньшей мере части битового потока 302 согласно фиг. 3. Декодер 838 вокодера может распаковывать и декодировать пакет приема для генерации восстановленных аудио выборок (например, соответствующий синтезированный аудио сигнал 399). Эхо-компенсатор 812 может удалять эхо из восстановленных аудио выборок. DAC 802 может преобразовывать выходной сигнал декодера 838 вокодера из цифровой формы в аналоговую форму сигнала и может подавать преобразованный сигнал на динамик 848 для вывода.
[0106] В связи с описанными аспектами, раскрыто устройство, которое содержит первое средство для кодирования первого кадра аудио сигнала. Например, первое средство для кодирования может включать в себя MDCT-кодер 120 согласно фиг. 1, процессор 806, процессоры 810, MDCT-кодер 860 согласно фиг. 8, одно или более устройств, сконфигурированных для кодирования первого кадра аудио сигнала (например, процессор, исполняющий инструкции, сохраненные на считываемом компьютером устройстве памяти), или любую их комбинацию. Первое средство для кодирования может быть сконфигурировано для генерации, при кодировании первого кадра, сигнала базовой полосы, который включает в себя содержание, соответствующее части высокой полосы аудио сигнала.
[0107] Устройство также включает в себя второе средство для кодирования второго кадра аудио сигнала. Например, второе средство для кодирования может включать в себя ACELP-кодер 150 согласно фиг. 1, процессор 806, процессоры 810, ACELP-кодер 862 согласно фиг. 8, одно или более устройств, сконфигурированных для кодирования второго кадра аудио сигнала (например, процессор, исполняющий инструкции, сохраненные в считываемом компьютером устройстве памяти), или любую их комбинацию. Кодирование второго кадра может включать в себя обработку сигнала базовой полосы для генерации параметров высокой полосы, ассоциированных со вторым кадром.
[0108] Специалистам также должно быть понятно, что различные иллюстративные логические блоки, конфигурации, модули, схемы и этапы алгоритма, описанные в связи с аспектами, раскрытыми в данном документе, могут быть реализованы в виде электронных аппаратных средств, компьютерного программного обеспечения, исполняемого устройством обработки, таким как аппаратный процессор, или их комбинацией. Различные иллюстративные компоненты, блоки, конфигурации, модули, схемы и этапы были описаны выше в целом в терминах их функциональности. То, реализована ли эта функциональность в виде аппаратных средств или исполняемого программного обеспечения, зависит от конкретного применения и конструктивных ограничений, наложенных на систему в целом. Специалисты в данной области техники смогут реализовать описанные функциональности различными способами для каждого конкретного применения, но такие решения по реализации не должны интерпретироваться как вызывающие отклонение от объема настоящего изобретения.
[0109] Этапы способа или алгоритма, описанного в связи с аспектами, раскрытыми в данном документе, могут быть воплощены непосредственно в аппаратных средствах, в программном модуле, исполняемом процессором, или в комбинации того и другого. Программный модуль может находиться в устройстве памяти, таком как RAM, MRAM, STT-MRAM, флэш-память, ROM, PROM, EPROM, EEPROM, регистры, жесткий диск, съемный диск или CD-ROM. Примерное устройство памяти связано с процессором таким образом, что процессор может считывать с него информацию и записывать информацию на устройство памяти. В альтернативном варианте устройство памяти может быть одним целым с процессором. Процессор и носитель хранения данных могут находиться в ASIC. ASIC может находиться в вычислительном устройстве или пользовательском терминале. В качестве альтернативы, процессор и носитель хранения данных могут постоянно находиться в качестве дискретных компонентов в вычислительном устройстве или пользовательском терминале.
[0110] Предшествующее описание раскрытых примеров предоставлено, чтобы дать возможность специалисту в данной области техники создавать или использовать раскрытые примеры. Различные модификации этих примеров будут легко понятны специалистам в данной области техники, и принципы, определенные здесь, могут быть применены к другим примерам без отклонения от объема раскрытия. Таким образом, настоящее раскрытие не подразумевается ограниченным показанными в данном документе аспектами, а должно соответствовать самому широкому объему, совместимому с принципами и новыми признаками, как определено в прилагаемой формуле изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СХЕМА АУДИОКОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ С ПЕРЕКЛЮЧЕНИЕМ БАЙПАС | 2009 |
|
RU2483364C2 |
МАСШТАБИРУЕМОЕ КОДИРОВАНИЕ РЕЧИ И АУДИО С ИСПОЛЬЗОВАНИЕМ КОМБИНАТОРНОГО КОДИРОВАНИЯ MDCT-СПЕКТРА | 2008 |
|
RU2459282C2 |
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ АУДИОСИГНАЛА С ИСПОЛЬЗОВАНИЕМ ВЫРОВНЕННОЙ ЧАСТИ ОПЕРЕЖАЮЩЕГО ПРОСМОТРА | 2012 |
|
RU2574849C2 |
СПОСОБ И УСТРОЙСТВО ЭФФЕКТИВНОЙ МАСКИРОВКИ СТИРАНИЯ КАДРОВ В РЕЧЕВЫХ КОДЕКАХ | 2006 |
|
RU2419891C2 |
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ МНОГОКАНАЛЬНОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ ПОВТОРНОЙ ДИСКРЕТИЗАЦИИ СПЕКТРАЛЬНОЙ ОБЛАСТИ | 2017 |
|
RU2693648C2 |
УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ КОДИРОВАННОГО ЗВУКОВОГО СИГНАЛА | 2009 |
|
RU2483366C2 |
КОДЕР АУДИО И ДЕКОДЕР, ИМЕЮЩИЙ ГИБКИЕ ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ КОНФИГУРАЦИИ | 2012 |
|
RU2575390C2 |
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ МНОГОКАНАЛЬНОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ СИХРОНИЗАЦИИ УПРАВЛЕНИЯ КАДРАМИ | 2017 |
|
RU2705007C1 |
СХЕМА КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ АУДИО СИГНАЛОВ С НИЗКИМ БИТРЕЙТОМ С ПРИМЕНЕНИЕМ КАСКАДНЫХ ПЕРЕКЛЮЧЕНИЙ | 2009 |
|
RU2485606C2 |
КОДЕР И ДЕКОДЕР АУДИОСИГНАЛА, ИСПОЛЬЗУЮЩИЕ ПРОЦЕССОР ЧАСТОТНОЙ ОБЛАСТИ С ЗАПОЛНЕНИЕМ ПРОМЕЖУТКА В ПОЛНОЙ ПОЛОСЕ И ПРОЦЕССОР ВРЕМЕННОЙ ОБЛАСТИ | 2015 |
|
RU2671997C2 |
Изобретение относится к средствам для переключения технологии кодирования при кодировании аудиосигнала. Технический результат заключается в сокращении артефактов на границах кадров и несогласованностей энергии при переключении технологии кодирования. Кодируют первый кадр аудиосигнала с использованием анализа первой области в первом кодере. Генерируют, при кодировании первого кадра, сигнал базовой полосы, соответствующий оценке высокой полосы аудиосигнала или синтезированной версии по меньшей мере части аудиосигнала. Кодируют второй кадр аудиосигнала с использованием анализа второй области во втором кодере посредством обработки первых данных, представляющих сигнал базовой полосы, и вторых данных, представляющих часть высокой полосы второго кадра, для генерирования параметров высокой полосы, ассоциированных со вторым кадром. 7 н. и 33 з.п. ф-лы, 8 ил.
1. Способ кодирования аудио сигнала, содержащий:
кодирование первого кадра аудио сигнала с использованием анализа первой области в первом кодере;
генерирование, при кодировании первого кадра, сигнала базовой полосы, соответствующего оценке высокой полосы аудио сигнала или синтезированной версии по меньшей мере части аудио сигнала; и
кодирование второго кадра аудио сигнала с использованием анализа второй области во втором кодере посредством обработки первых данных, представляющих сигнал базовой полосы, и вторых данных, представляющих часть высокой полосы второго кадра, для генерирования параметров высокой полосы, ассоциированных со вторым кадром.
2. Способ по п. 1, в котором анализ первой области и анализ второй области содержат анализ частотной области и анализ временной области соответственно, и при этом второй кадр последовательно следует за первым кадром в аудио сигнале.
3. Способ по п. 1, в котором первый кадр кодирован с использованием кодера, основанного на преобразовании.
4. Способ по п. 1, в котором первый кадр кодирован с использованием кодера модифицированного дискретного косинусного преобразования (MDCT).
5. Способ по п. 1, в котором второй кадр кодирован с использованием кодера, основанного на линейном предсказании (LP), который хранит первые данные и вторые данные в буфере целевого сигнала.
6. Способ по п. 1, в котором второй кадр кодирован с использованием кодера линейного предсказания с возбуждением алгебраическим кодом (ACELP), сконфигурированного для выполнения расширения ширины полосы.
7. Способ по п. 1, в котором генерирование сигнала базовой полосы включает в себя выполнение операции зеркального отображения и операции прореживания.
8. Способ по п. 1, в котором генерирование сигнала базовой полосы не включает в себя выполнение операции фильтрации высокого порядка и не включает в себя выполнение операции понижающего микширования.
9. Способ по п. 1, в котором второй кодер хранит первые данные в первой части буфера целевого сигнала второго кодера и хранит вторые данные во второй части буфера целевого сигнала.
10. Способ по п. 1, в котором первый кодер кодирует первый кадр в устройстве мобильной связи, и при этом второй кодер кодирует второй кадр в упомянутом устройстве мобильной связи.
11. Способ по п. 1, в котором генерирование сигнала базовой полосы содержит использование локального декодера первого кодера и дополнительно содержит копирование первых данных в буфер целевого сигнала второго кодера.
12. Способ по п. 1, дополнительно содержащий:
выполнение операции зеркального отображения и операции прореживания на сигнале базовой полосы для генерирования результирующего сигнала, который аппроксимирует часть высокой полосы аудио сигнала; и
заполнение буфера целевого сигнала второго кодера на основании результирующего сигнала.
13. Способ декодирования аудио сигнала, содержащий:
прием битового потока вторых битов, основанных на втором кадре аудио сигнала, кодированном с использованием анализа первой области в первом кодере, и первых битов, основанных на первом кадре аудио сигнала, кодированном с использованием анализа второй области во втором кодере, причем первый кадр кодирован посредством обработки первых данных, представляющих сигнал базовой полосы, и вторых данных, представляющих часть высокой полосы первого кадра, причем сигнал базовой полосы произведен посредством первого кодера на основе оценки высокой полосы третьего кадра или на основе синтезированной версии по меньшей мере части третьего кадра;
декодирование в устройстве, которое включает в себя первый декодер и второй декодер, кодированной версии первого кадра с использованием второго декодера и первых битов, причем второй декодер генерирует данные перекрытия, которые соответствуют части второго кадра; и
декодирование кодированной версии второго кадра с использованием первого декодера и вторых битов, причем декодирование включает в себя применение операции сглаживания с использованием данных перекрытия от второго декодера.
14. Способ по п. 13, в котором первый декодер содержит декодер модифицированного дискретного косинусного преобразования (MDCT), причем второй декодер содержит декодер линейного предсказания с возбуждением алгебраическим кодом (ACELP), который выполняет вычисления на основе параметров расширения ширины полосы, и при этом данные перекрытия содержат данные, соответствующие 20 аудио выборкам второго кадра.
15. Способ по п. 13, в котором анализ первой области и анализ второй области содержат анализ частотной области и анализ временной области соответственно.
16. Способ по п. 13, в котором операция сглаживания включает в себя операцию перекрестного слияния, и при этом первый декодер и второй декодер включены в состав устройства мобильной связи.
17. Устройство кодирования аудио сигнала, содержащее:
антенну;
первый кодер, сконфигурированный, чтобы:
кодировать первый кадр аудио сигнала на основе анализа первой области и
генерировать, во время кодирования первого кадра, сигнал базовой полосы, соответствующий оценке высокой полосы аудио сигнала или синтезированной версии по меньшей мере части аудио сигнала;
второй кодер, сконфигурированный, чтобы кодировать второй кадр аудио сигнала на основе:
анализа второй области и
первых данных, представляющих сигнал базовой полосы, и вторых данных, представляющих часть высокой полосы второго кадра, причем второй кодер дополнительно сконфигурирован, чтобы генерировать параметры высокой полосы, ассоциированные со вторым кадром; и
передатчик, подсоединенный к упомянутой антенне и сконфигурированный, чтобы передавать кодированный аудио сигнал, ассоциированный с сигналом базовой полосы.
18. Устройство по п. 17, в котором анализ первой области и анализ второй области содержат анализ частотной области и анализ временной области соответственно, и при этом второй кадр последовательно следует за первым кадром в аудио сигнале.
19. Устройство по п. 17, в котором:
первый кодер содержит кодер модифицированного дискретного косинусного преобразования (MDCT),
второй кодер содержит кодер линейного предсказания с возбуждением алгебраическим кодом (ACELP), сконфигурированный, чтобы хранить по меньшей мере одни из первых данных или вторых данных в буфере целевого сигнала и выполнять расширение ширины полосы, и
причем первый кодер и второй кодер интегрированы в устройство мобильной связи.
20. Устройство по п. 17, в котором первый кодер дополнительно сконфигурирован, чтобы генерировать сигнал базовой полосы с использованием операции зеркального отображения и использованием операции прореживания без выполнения операции фильтрации высокого порядка и без выполнения операции понижающего микширования.
21. Устройство кодирования аудио сигнала, содержащее:
антенну;
первый кодер, сконфигурированный, чтобы кодировать первый кадр аудио сигнала на основе анализа первой области; и
второй кодер, сконфигурированный, чтобы:
во время кодирования второго кадра аудио сигнала на основе анализа второй области генерировать оценку сигнала первой части первого кадра;
заполнять буфер второго кодера первыми данными на основе оценки сигнала и вторыми данными, представляющими часть высокой полосы второго кадра; и
генерировать параметры высокой полосы, ассоциированные с вторым кадром, на основе первых данных и вторых данных, сохраненных в буфере; и
передатчик, подсоединенный к упомянутой антенне и сконфигурированный, чтобы передавать кодированный аудио сигнал, ассоциированный с аудио сигналом.
22. Устройство по п. 21, в котором оценка сигнала основана на операции экстраполяции, причем операция экстраполяции основана на данных второго кадра.
23. Устройство по п. 21, в котором оценка сигнала основана на обратном линейном предсказании.
24. Устройство по п. 21, в котором оценка сигнала основана на информации об энергии, указывающей энергию, ассоциированную с первым кадром.
25. Устройство по п. 24, дополнительно содержащее первый буфер, подсоединенный к первому кодеру, причем энергия, ассоциированная с первым кадром, определяется на основе первой энергии, ассоциированной с первым буфером, при этом энергия, ассоциированная с первым кадром, определяется на основе второй энергии, ассоциированной с частью высокой полосы первого буфера.
26. Устройство по п. 21, дополнительно содержащее модулятор, сконфигурированный, чтобы модулировать кодированный аудио сигнал.
27. Устройство по п. 26, в котором антенна, передатчик и модулятор интегрированы в устройство мобильной связи.
28. Устройство по п. 21, в котором анализ первой области и анализ второй области содержат анализ частотной области и анализ временной области соответственно, причем оценка сигнала основана по меньшей мере частично на первом типе кадра первого кадра и втором типе кадра второго кадра или на обоих, причем первый тип кадра содержит вокализованный тип кадра, невокализованный тип кадра, переходный тип кадра или обобщенный тип кадра, и при этом второй тип кадра содержит вокализованный тип кадра, невокализованный тип кадра, переходный тип кадра или обобщенный тип кадра.
29. Устройство по п. 21, в котором первая часть первого кадра имеет длительность приблизительно 5 миллисекунд и в котором второй кадр имеет длительность приблизительно 20 миллисекунд.
30. Устройство по п. 21, в котором оценка сигнала основана на энергии, ассоциированной с локально декодированной частью низкой полосы первого кадра, локально декодированной частью высокой полосы первого кадра или ими обеими.
31. Устройство декодирования аудио сигнала, содержащее:
приемник, сконфигурированный, чтобы принимать битовый поток вторых битов, соответствующих второму кадру аудио сигнала, кодированного посредством анализа первой области в первом кодере и первых битов, соответствующих первому кадру аудио сигнала, кодированного посредством анализа второй области во втором кодере, причем первый кадр кодирован посредством обработки первых данных, представляющих сигнал базовой полосы, и вторых данных, представляющих часть высокой полосы первого кадра, причем сигнал базовой полосы произведен посредством первого кодера на основе оценки высокой полосы третьего кадра или на основе синтезированной версии по меньшей мере части третьего кадра;
первый декодер, сконфигурированный, чтобы во время декодирования кодированной версии второго кадра на основе вторых битов применять операцию сглаживания с использованием данных перекрытия, которые соответствуют части второго кадра; и
второй декодер, сконфигурированный, чтобы декодировать кодированную версию первого кадра и генерировать данные перекрытия.
32. Устройство по п. 31, дополнительно содержащее антенну, подсоединенную к приемнику, в котором анализ первой области и анализ второй области содержат анализ частотной области и анализ временной области соответственно, причем операция сглаживания включает в себя операцию перекрестного слияния, и при этом антенна, приемник, первый декодер и второй декодер интегрированы в устройство мобильной связи.
33. Считываемое компьютером устройство хранения данных, хранящее инструкции, которые, при исполнении процессором, побуждают процессор выполнять операции кодирования аудио сигнала, содержащие:
кодирование первого кадра аудио сигнала с использованием анализа первой области в первом кодере;
генерирование, во время кодирования первого кадра, сигнала базовой полосы, соответствующего оценке высокой полосы аудио сигнала, или синтезированной версии по меньшей мере части аудио сигнала; и
кодирование второго кадра аудио сигнала с использованием анализа второй области во втором кодере, при этом кодирование второго кадра включает в себя:
обработку первых данных, представляющих сигнал базовой полосы, и вторых данных, представляющих часть высокой полосы второго кадра, для генерирования параметров высокой полосы, ассоциированных со вторым кадром.
34. Считываемое компьютером устройство хранения данных по п. 33, причем первый кодер содержит кодер, основанный на преобразовании, и причем второй кодер содержит кодер, основанный на линейном предсказании (LP).
35. Считываемое компьютером устройство хранения данных по п. 33, причем сигнал базовой полосы генерируют посредством выполнения операции зеркального отображения и операции прореживания и причем упомянутые операции дополнительно содержат заполнение первой части буфера целевого сигнала второго кодера на основе по меньшей мере частично первых данных и заполнение второй части буфера целевого сигнала на основе по меньшей мере частично вторых данных.
36. Считываемое компьютером устройство хранения данных по п. 33, причем сигнал базовой полосы генерируется с использованием локального декодера первого кодера.
37. Устройство кодирования аудио сигнала, содержащее:
первое средство для кодирования первого кадра аудио сигнала на основе анализа первой области, причем первое средство для кодирования сконфигурировано, чтобы генерировать, во время кодирования первого кадра, сигнал базовой полосы, соответствующий оценке высокой полосы аудио сигнала или синтезированной версии по меньшей мере части аудио сигнала;
второе средство для кодирования, на основе анализа второй области, второго кадра аудио сигнала на основе обработки первых данных, представляющих сигнал базовой полосы, и вторых данных, представляющих часть высокой полосы второго кадра, для генерирования параметров высокой полосы, ассоциированных со вторым кадром; и
средство для передачи кодированного аудио сигнала, ассоциированного с аудио сигналом.
38. Устройство по п. 37, в котором анализ первой области и анализ второй области содержат анализ частотной области и анализ временной области соответственно, и при этом первое средство для кодирования, второе средство для кодирования и средство для передачи интегрированы в по меньшей мере одно из устройства мобильной связи, смартфона, сотового телефона, портативного компьютера, компьютера, планшетного компьютера, персонального цифрового помощника, устройства отображения, телевизора, игровой консоли, музыкального плеера, радио, цифрового видео плеера, плеера на оптическом диске, тюнера, камеры, навигационного устройства, системы декодера или системы кодера.
39. Устройство по п. 37, в котором первое средство для кодирования дополнительно сконфигурировано для генерирования сигнала базовой полосы посредством выполнения операции зеркального отображения и операции прореживания и в котором второе средство для кодирования сконфигурировано для хранения первых данных и вторых данных в буфере целевого сигнала.
40. Устройство по п. 37, в котором первое средство для кодирования дополнительно сконфигурировано для генерирования сигнала базовой полосы с использованием локального декодера.
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
US 6012024 A1, 04.01.2000 | |||
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ КОДИРОВАННОГО ЗВУКОВОГО СИГНАЛА | 2009 |
|
RU2483366C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ СИНХРОНИЗАЦИИ СИЛЬНО СЖАТЫХ ДАННЫХ УЛУЧШАЮЩЕГО СЛОЯ | 2009 |
|
RU2510918C2 |
Авторы
Даты
2018-09-25—Публикация
2015-03-30—Подача