КОДЕР И ДЕКОДЕР АУДИОСИГНАЛА, ИСПОЛЬЗУЮЩИЕ ПРОЦЕССОР ЧАСТОТНОЙ ОБЛАСТИ С ЗАПОЛНЕНИЕМ ПРОМЕЖУТКА В ПОЛНОЙ ПОЛОСЕ И ПРОЦЕССОР ВРЕМЕННОЙ ОБЛАСТИ
AUDIO ENCODER AND DECODER USING FREQUENCY DOMAIN PROCESSOR WITH FULL-BAND GAP FILLING AND TIME DOMAIN PROCESSOR

ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к кодированию и декодированию аудиосигнала и, в частности, к обработке аудиосигнала с использованием параллельных процессоров кодера/декодера частотной области и временной области.
Перцептивное кодирование аудиосигналов в целях уменьшения объема данных для эффективного хранения или передачи этих сигналов широко используется на практике. В частности, когда необходимо достичь самых низких битовых скоростей, применяемое кодирование приводит к снижению качества аудиосигнала, которое часто, в основном, обусловлено ограничением полосы аудиосигнала, подлежащего передаче на стороне кодера. При этом аудиосигнал обычно подвергается низкочастотной фильтрации, благодаря чему, не остается никакого спектрального содержания формы волны выше некоторой заранее определенной частоты среза.
В современных кодеках существуют общеизвестные способы восстановления сигнала на стороне декодера посредством расширения полосы (BWE) аудиосигнала, например, копирования спектральной полосы (SBR), которое действует в частотной области или так называемого расширения полосы временной области (TD-BWE), которое реализовано в речевых кодерах в виде постпроцессора, который действует во временной области.
Дополнительно, существует несколько объединенных принципов кодирования во временной области/частотной области, например, принципы, известные под названием AMR-WB+ или USAC.
Все эти объединенные принципы кодирования во временной области/частотной области имеют общие черты, состоящие в том, что кодер частотной области опирается на технологии расширения полосы, которые вносят ограничение полосы во входной аудиосигнал и участок выше частоты перехода или граничной частоты кодируется по принципу кодирования с низким разрешением и синтезируется на стороне декодера. Поэтому такие принципы, в основном, опираются на препроцессорную технологию на стороне кодера и соответствующую функциональную возможность постобработки на стороне декодера.
Обычно кодер временной области выбирается для кодирования полезных сигналов во временной области, например, речевых сигналов, и кодер частотной области выбирается для неречевых сигналов, музыкальных сигналов и т.д. Однако, конкретно для неречевых сигналов, имеющих преобладающие гармоники в верхней полосе частот, традиционные кодеры частотной области имеют сниженную точность и, таким образом, сниженное качество аудиосигнала ввиду того, что такие преобладающие гармоники можно параметрически кодировать только по отдельности или вовсе исключать в процессе кодирования/декодирования.
Кроме того, существуют принципы, в которых ветвь кодирования/декодирования временной области дополнительно опирается на расширение полосы, которое также параметрически кодирует верхний диапазон частот, тогда как нижний диапазон частот обычно кодируется с использованием ACELP или любого другого кодера, связанного CELP, например, речевого кодера. Эта функциональная возможность расширения полосы повышает эффективность по битовой скорости но, с другой стороны, вносит дополнительную негибкость ввиду того, что обе ветви кодирования, т.е. ветвь кодирования частотной области и ветвь кодирования временной области ограничены по полосе вследствие процедуры расширения полосы или процедуры копирования спектральной полосы, действующих выше некоторой частоты перехода, существенно более низкой, чем максимальная частота, включенная в входной аудиосигнал.
Соответствующие темы в уровне техники содержат
- SBR в качестве постпроцессора для декодирования формы волны [1-3]
- основное переключение MPEG-D USAC [4]
- MPEG-H 3D IGF [5]
В следующих статьях и патентах описаны способы, которые рассматриваются как составляющие уровень техники для заявки:
[1] M. Dietz, L. Liljeryd, K. Kjörling и O. Kunz, ʺSpectral Band Replication, a novel approach in audio codingʺ в 112-ой конвенции AES, Мюнхен, Германия, 2002 г.
[2] S. Meltzer, R. Böhm и F. Henn, ʺSBR enhanced audio codecs for digital broadcasting such as ʺDigital Radio Mondialeʺ (DRM)ʺ в 112-ой конвенции AES, Мюнхен, Германия, 2002 г.
[3] T. Ziegler, A. Ehret, P. Ekstrand и M. Lutzky, ʺEnhancing mp3 with SBR: Features and Capabilities of the new mp3PRO Algorithmʺ в 112-ой конвенции AES, Мюнхен, Германия, 2002 г.
[4] Стандарт MPEG-D USAC.
[5] PCT/EP2014/065109.
В MPEG-D USAC описан переключаемый основной кодер. Однако, в USAC, ограниченная по полосе основа вынуждена всегда передавать фильтрованный низкочастотный сигнал. Таким образом, некоторые музыкальные сигналы, которые содержат преобладающее высокочастотное содержание, например, полнополосные свипы, треугольные звуки и т.д., не могут верно воспроизводиться.
Задачей настоящего изобретения является обеспечение усовершенствованного принципа аудиокодирования.
Эта задача решается посредством кодера аудиокодера по п. 1, аудиодекодера по п. 11, способа аудиокодирования по п. 20, способа аудиодекодирования по п. 21 или компьютерной программы по п. 22.
Настоящее изобретение базируется на понимании того, что процессор кодирования/декодирования временной области можно объединить с процессором кодирования/декодирования частотной области, имеющим функциональную возможность заполнения промежутка, но эта функциональная возможность заполнения промежутка для заполнения спектральных дыр осуществляется по всей полосе аудиосигнала или, по меньшей мере, выше некоторой частоты заполнения промежутка. Что важно, процессор кодирования/декодирования частотной области, в частности, выполнен с возможностью осуществления точного кодирования/декодирования формы волны или спектрального значения вплоть до максимальной частоты, а не только до частоты перехода. Кроме того, полнополосная способность кодера частотной области для кодирования с высоким разрешением позволяет интегрировать функциональную возможность заполнения промежутка в кодер частотной области.
Поэтому, в соответствии с настоящим изобретением, за счет использования спектрального кодера/декодера полной полосы процессора, проблемы, связанные с разделением расширения полосы с одной стороны, и основным кодированием с другой стороны, можно решать и преодолевать путем осуществления расширения полосы в той же в спектральной области, в которой действует основной декодер. Таким образом, предусмотрен полноскоростной основной декодер, который кодирует и декодирует полный диапазон аудиосигнала. Для этого не требуется понижающий дискретизатор на стороне кодера и повышающий дискретизатор на стороне декодера. Вместо этого, вся обработка осуществляется в области полной частоты дискретизации или полной полосы. Для получения высокого коэффициента усиления кодирования, аудиосигнал анализируется для нахождения первого набора первых спектральных участков, который подлежит кодированию с высоким разрешением, где этот первый набор первых спектральных участков может включать в себя, согласно варианту осуществления, тональные участки аудиосигнала. С другой стороны, нетональные или шумовые компоненты в аудиосигнале, образующие второй набор вторых спектральных участков параметрически кодируются с низким спектральным разрешением. Затем кодированный аудиосигнал требует только первого набора первых спектральных участков, кодированных в режиме сохранения формы волны с высоким спектральным разрешением и, дополнительно, второго набора вторых спектральных участков, параметрически кодированного с низким разрешением с использованием частотных ʺмозаичных элементовʺ, происходящих из первого набора. На стороне декодера, основной декодер, который является декодером полной полосы, реконструирует первый набор первых спектральных участков в режиме сохранения формы волны, т.е. ничего не зная о какой-либо дополнительной частотной регенерации. Однако сгенерированный таким образом спектр имеет много спектральных промежутков. Затем эти промежутки заполняются согласно технологии интеллектуального заполнении промежутка (IGF), отвечающей изобретению, за счет использования частотной регенерации с применением параметрических данных с одной стороны и с использованием исходного спектрального диапазона, т.е. первых спектральных участков, реконструированных полноскоростным аудиодекодером с другой стороны.
В дополнительных вариантах осуществления, спектральные участки, которые реконструируются только путем шумозаполнения, а не копирования полосы или заполнения частотного мозаичного элемента, составляют третий набор третьих спектральных участков. Ввиду того, что принцип кодирования действует в единой области для основного кодирования/декодирования с одной стороны и частотной регенерации с другой стороны, IGF не ограничивается только заполнением верхнего диапазона частот, но может заполнять нижние диапазоны частот, либо путем шумозаполнения без частотной регенерации, либо путем частотной регенерации с использованием частотного мозаичного элемента в другом диапазоне частот.
Кроме того, следует подчеркнуть, что информация о спектральных энергиях, информация об индивидуальных энергиях или информация индивидуальных энергий, информация об энергии выживания или информация энергии выживания, информация об энергии мозаичного элемента или информация энергии мозаичного элемента или информация о недостающей энергии или информация недостающей энергии может содержать не только значение энергии, но также (например, абсолютный) значение амплитуды, значение уровня или любое другое значение, из которого можно вывести окончательное значение энергии. Поэтому информация об энергии может, например, содержать само значение энергии и/или значение уровня и/или амплитуды и/или абсолютной амплитуды.
Дополнительный аспект базируется на понимании того, что корреляционная ситуация важна не только для исходного диапазона, но также важна для целевого диапазона. Кроме того, настоящее изобретение подтверждает ситуацию, что другие корреляционные ситуации могут возникать в исходном диапазоне и целевом диапазоне. Например, при рассмотрении речевого сигнала с высокочастотным шумом, ситуация может состоять в том, что нижняя полоса частот, содержащая речевой сигнал с малым количеством обертонов, сильно коррелируют в левом канале и правом канале, когда громкоговоритель располагается посередине. Однако высокочастотный участок может быть сильно раскоррелирован ввиду того, что может существовать другой высокочастотный шум на левой стороне по сравнению с другим высокочастотным шумом или не существовать высокочастотный шум на правой стороне. Таким образом, когда будет осуществляться прямая операция заполнения промежутка, которая игнорирует эту ситуацию, высокочастотный участок также будет коррелировать, и это может порождать серьезные артефакты пространственной сегрегации в реконструированном сигнале. Для решения этой проблемы, параметрические данные для полосы реконструкции или, в общем случае, для второго набора вторых спектральных участков, которые подлежат реконструкции с использованием первого набора первых спектральных участков, вычисляются для идентификации первого или второго двухканального представления для второго спектрального участка или, другими словами, для полосы реконструкции. Таким образом, на стороне кодера, двухканальная идентификация вычисляется для вторых спектральных участков, т.е. для участков, для которых, дополнительно, вычисляется информация энергии для полос реконструкции. Затем частотный регенератор на стороне декодера регенерирует второй спектральный участок в зависимости от первого участка первого набора первых спектральных участков, т.е. исходного диапазона и параметрических данных для второго участка, например, спектральной информации огибающей энергии или любых других данных спектральной огибающей и, дополнительно, в зависимости от двухканальной идентификации для второго участка, т.е. для этой рассматриваемой полосы реконструкции.
Двухканальная идентификация, предпочтительно, передается как флаг для каждой полосы реконструкции, и эти данные передаются с кодера на декодер, и затем декодер декодирует основной сигнал, как указано предпочтительно вычисленными флагами для основных полос. Затем, в реализации, основной сигнал сохраняется в обоих стерео-представлениях (например, левом/правом и средней/боковом) и, для заполнения частотного мозаичного элемента IGF, представление исходного мозаичного элемента выбирается для согласования представления целевого мозаичного элемента, как указано флагами двухканальной идентификации для полос интеллектуального заполнения промежутка или реконструкции, т.е. для целевого диапазона.
Следует подчеркнуть, что эта процедура работает не только для стереосигналов, т.е. для левого канала и правого канала, но и действует для многоканальных сигналов. В случае многоканальных сигналов, несколько пар разных каналов можно обрабатывать таким образом, например, левый и правый канал как первую пару, левый канал окружения и правый канал окружения как вторую пару и центральный канал и канал LFE как третью пару. Другие системы образования пар можно определять для более высоких форматов выходных каналов, например, 7.1, 11.1 и т.д.
Дополнительный аспект базируется на понимании того, что качество аудиосигнала реконструированного сигнала можно повысить посредством IGF, поскольку весь спектр доступен основному кодеру, что, например, позволяет кодированный перцепционно важные тональные участки в верхнем спектральном диапазоне основным кодером, а не параметрическим замещением. Дополнительно, осуществляется операция заполнения промежутка с использованием частотных мозаичных элементов из первого набора первых спектральных участков, который является, например, набором тональных участков, обычно из нижнего диапазона частот, а также, при наличии, из верхнего диапазона частот. Однако, для регулировки спектральной огибающей на стороне декодера, спектральные участки из первого набора спектральных участков, расположенные в полосе реконструкции, не подвергаются дополнительной постобработке, например, посредством регулировки спектральной огибающей. Только оставшиеся спектральные значения в полосе реконструкции, которые не исходят из основного декодера, подлежат регулировке огибающей с использованием информации огибающей. Предпочтительно, информация огибающей представляет собой информацию огибающей полной полосы с учетом энергии первого набора первых спектральных участков в полосе реконструкции и второго набора вторых спектральных участков в той же полосе реконструкции, где последние спектральные значения во втором наборе вторых спектральных участков указаны как нулевые, и, таким образом, не кодируются основным кодером, но параметрически кодируются информацией энергии низкого разрешения.
Было установлено, что абсолютные значения энергии, либо нормализованные относительно ширины полосы соответствующей полосы, либо не нормализованные, полезны и очень эффективны при применении на стороне декодера. Это, в частности, применяется, когда коэффициенты усиления нужно вычислять на основании остаточной энергии в полосе реконструкции, недостающей энергии в полосе реконструкции и информации частотного мозаичного элемента в полосе реконструкции.
Кроме того, предпочтительно, чтобы кодированный битовый поток покрывал не только информацию энергии для полос реконструкции, но и масштабные коэффициенты для полос масштабного коэффициента, проходящих вплоть до максимальной частоты. Это гарантирует, что для каждой полосы реконструкции, для которой доступен некоторый тональный участок, т.е. первый спектральный участок, этот первый набор первого спектрального участка фактически можно декодировать с правой амплитудой. Кроме того, помимо масштабного коэффициента для каждой полосы реконструкции, энергия для этой полосы реконструкции генерируется в кодере и передается на декодер. Кроме того, предпочтительно, чтобы полосы реконструкции совпадали с полосами масштабного коэффициента или в случае группирования энергии, по меньшей мере, границы полосы реконструкции совпадали с границами полос масштабного коэффициента.
Дополнительный аспект базируется на понимании того, что некоторое снижение качества аудиосигнала можно исправить путем применения к сигналу схемы адаптивного заполнения частотного мозаичного элемента. Для этого осуществляется анализ на стороне кодера для нахождения кандидата на роль исходной области наилучшего совпадения для определенной целевой области. Информация совпадения, идентифицирующая целевую область определенная исходная область, в необязательном порядке, совместно с некоторой дополнительной информацией, генерируется и передается как побочная информация на декодер. Затем декодер применяет операцию заполнения частотного мозаичного элемента с использованием информации совпадения. Для этого декодер считывает информацию совпадения из передаваемого потока данных или файла данных и осуществляет доступ к исходной области, идентифицированной для некоторой полосы реконструкции и, если указано в информации совпадения, дополнительно осуществляет некоторую обработку этих данных исходной области для генерации первичных спектральных данных для полосы реконструкции. Затем у этого результата операции заполнения частотного мозаичного элемента, т.е. первичных спектральных данных для полосы реконструкции, задается форма с использованием информации спектральной огибающей для окончательного получения полосы реконструкции, которая также содержит первые спектральные участки, например, тональные участки. Эти тональные участки, однако, не генерируются схемой адаптивного заполнения мозаичного элемента, но эти первые спектральные участки выводятся аудиодекодером или непосредственно основным декодером.
Схема адаптивного выбора спектрального мозаичного элемента может действовать с низкой дискретностью. В этой реализации, исходная область обычно делится на перекрывающиеся исходные области, и целевая область или полосы реконструкции задаются неперекрывающимися частотными целевыми областями. Затем, степени подобия между каждой исходной областью и каждой целевой областью определяются на стороне кодера, и пара наилучшего совпадения исходной области и целевой области идентифицируется информацией совпадения, и на стороне декодера исходная область, идентифицированная в информации совпадения, используется для генерирования первичных спектральных данных для полосы реконструкции.
С целью получения более высокой дискретности, каждую исходную область можно сдвигать для получения некоторого отставания, при котором степени подобия максимальны. Это отставание может быть величиной с частотный бин и допускает еще лучшее совпадение между исходной областью и целевой областью.
Кроме того, помимо только идентификации пары наилучшего совпадения, это отставание корреляции также может передаваться с информацией совпадения и, дополнительно, может передаваться даже знак. Когда на стороне кодера определяется отрицательный знак, соответствующий флаг знака также передается в информации совпадения и, на стороне декодера, спектральные значения исходной области умножаются на ʺ-1ʺ или, в комплексном представлении, ʺповорачиваютсяʺ на 180 градусов.
Дополнительная реализация этого изобретения применяет операцию отбеливания мозаичных элементов. Отбеливание спектра удаляет грубую информацию спектральной огибающей и выделяет тонкую спектральную структуру, которая представляет наибольший интерес для оценки подобие мозаичных элементов. Таким образом, частотный мозаичный элемент с одной стороны и/или исходный сигнал с другой стороны отбеливаются до вычисления меры кросс-корреляции. Когда мозаичный элемент отбеливается только с использованием заранее заданной процедуры, передается флаг отбеливания, указывающий декодеру, что тот же заранее заданный процесс отбеливания должен применяться к частотному мозаичному элементу в IGF.
В отношении выбора мозаичного элемента, предпочтительно использовать отставание корреляции для спектрального сдвига регенерированного спектра на целое число бинов преобразования. В зависимости от лежащего в основе преобразования, спектральный сдвиг может требовать коррекции сложения. В случае нечетных отставаний, мозаичный элемент дополнительно модулируется посредством умножения на перемежающуюся временную последовательность -1/1 для компенсации обращенного по частоте представления каждой второй полосы в MDCT. Кроме того, знак результата корреляции применяется при генерации частотного мозаичного элемента.
Кроме того, предпочтительно использовать обрезку и стабилизацию мозаичных элементов, чтобы гарантированно избежать формирования артефактов за счет быстрого изменения исходных областей для одной и той же области реконструкции или целевой области. Для этого осуществляется анализ подобия между разными идентифицированными исходными областями, и когда исходный мозаичный элемент подобен другим исходным мозаичным элементам с подобием выше порога, этот исходный мозаичный элемент можно исключить из набора потенциальных исходных мозаичных элементов, поскольку он сильно коррелирует с другими исходными мозаичными элементами. Кроме того, в качестве разновидности стабилизации выбора мозаичного элемента, предпочтительно сохранять порядок мозаичных элементов из предыдущего кадра, если ни один из исходных мозаичных элементов в текущем кадре не коррелирует (лучше данного порога) с целевыми мозаичными элементами в текущем кадре.
Дополнительный аспект базируется на понимании того, что повышение качества и снижение битовой скорости, в частности, для сигналов, содержащих переходные участки, которые очень часто возникают в аудиосигналах, достигается путем объединения технологии временного формирования шума (TNS) или временного формирования мозаичного элемента (TTS) с реконструкцией высокой частоты. Обработка TNS/TTS на стороне кодера, реализованная предсказанием по частоте, реконструирует временную огибающую аудиосигнала. В зависимости от реализации, т.е. когда фильтр временного формирования шума определяется в диапазоне частот, охватывающем не только исходный диапазон частот, но и целевой диапазон частот, подлежащий реконструкции в декодере частотной регенерации, временная огибающая применяется не только к основному аудиосигналу вплоть до начальной частоты заполнения промежутка, но и к спектральным диапазонам реконструированных вторых спектральных участков. Таким образом, опережающие эхо или запаздывающие эхо, которые возникали бы в отсутствие временного формирования мозаичного элемента, уменьшаются или устраняются. Это осуществляется путем применения обратного предсказания по частоте не только в основном диапазоне частот вплоть до некоторой начальной частоты заполнения промежутка, но и в диапазоне частот выше основного диапазона частот. Для этого, частотная регенерация или генерация частотных мозаичных элементов осуществляется на стороне декодера до применения предсказания по частоте. Однако предсказание по частоте может применяться либо до, либо после формирования спектральной огибающей в зависимости от того, было ли вычисление информации энергии осуществлено на остаточных спектральных значениях после фильтрации или на (полных) спектральных значениях до формирования огибающей.
Обработка TTS на одном или более частотных мозаичных элементах дополнительно обеспечивает непрерывность корреляции между исходным диапазоном и диапазоном реконструкции или в двух соседних диапазонах реконструкции или частотных мозаичных элементах.
В реализации, предпочтительно использовать комплексную фильтрацию TNS/TTS. Это позволяет избегать артефактов (временного) наложения спектров критически дискретизированного действительного представления, например MDCT. Комплексный фильтр TNS можно вычислять на стороне кодера путем применения не только модифицированного дискретного косинусного преобразования, но и модифицированного дискретного синусного преобразования помимо получения комплексного модифицированного преобразования. Тем не менее, передаются только значения модифицированного дискретного косинусного преобразования, т.е. действительная часть комплексного преобразования. Однако, на стороне декодера, можно оценивать мнимую часть преобразования с использованием спектров MDCT предшествующих или последующих кадров, что позволяет, на стороне декодера, снова применять комплексный фильтр в обратном предсказании по частоте и, в частности, предсказании по границе между исходным диапазоном и диапазоном реконструкции и также по границе между соседствующими по частоте частотными мозаичными элементами в диапазоне реконструкции.
Система аудиокодирования, отвечающая изобретению, эффективно кодирует произвольные аудиосигналы в широком диапазоне битовых скоростей. В то время как, для высоких битовых скоростей, система, отвечающая изобретению, сходится к прозрачности, для низких битовых скоростей перцептивное раздражение минимизируется. Таким образом, главная часть доступной битовой скорости используется для кодирования формой волны наиболее перцепционно подходящей структуры сигнала в кодере, и результирующие спектральные промежутки заполняются в декодере содержанием сигнала, которое грубо аппроксимирует исходный спектр. Очень ограниченный битовый бюджет расходуется для управления параметром, определяемым так называемым интеллектуальным заполнением спектрального промежутка (IGF) посредством специальной побочной информации, передаваемой с кодера на декодер.
В дополнительных вариантах осуществления, процессор кодирования/декодирования временной области опирается на более низкую частоту дискретизации и соответствующую функциональную возможность расширения полосы.
В дополнительных вариантах осуществления, предусмотрен кросспроцессор для инициализации кодера/декодера временной области данными инициализации, выведенными из обработанного на данный момент сигнала кодера/декодера частотной области. Благодаря этому, когда обработанный на данный момент участок аудиосигнала обрабатывается кодером частотной области, параллельный кодер временной области инициализируется таким образом, что, когда происходит переключение от кодера частотной области к кодеру временной области, этот кодер временной области может начинать обработку, поскольку все данные инициализации, относящиеся к более ранним сигналам, уже имеются благодаря кросспроцессору. Этот кросспроцессор, предпочтительно, применяется на стороне кодера и, дополнительно, на стороне декодера и, предпочтительно, использует частотно-временное преобразование, которое дополнительно осуществляет очень эффективную понижающую дискретизацию от более высокой выходной или входной частоты дискретизации к более низкой частоте дискретизации основного кодера временной области путем выбора лишь некоторого участка нижней полосы сигнала области совместно с некоторым уменьшенным размером преобразования. Таким образом, преобразование частоты дискретизации от высокой частоты дискретизации к низкой частоте дискретизации осуществляется очень эффективно, и затем этот сигнал, полученный посредством преобразования с уменьшенным размером преобразования можно использовать для инициализации кодера/декодера временной области таким образом, что кодер/декодер временной области готов немедленно осуществлять кодирование временной области, когда эта ситуация сигнализируется контроллером, и непосредственно предшествующий участок аудиосигнала кодирован в частотной области.
Поэтому предпочтительные варианты осуществления настоящего изобретения допускают плавное переключение перцептивного аудиокодера, содержащего заполнение спектрального промежутка, и кодера временной области с расширением полосы или без него.
Поэтому настоящее изобретение опирается на способы, которые не ограничиваются удалением высокочастотного содержания выше частоты среза в кодере частотной области из аудиосигнала, но зато в зависимости от сигнала удаляет спектральные области полосы пропускания, оставляя спектральные промежутки в кодере, и затем реконструирует эти спектральные промежутки в декодере. Предпочтительно использовать такое интегрированное решение, как интеллектуальное заполнение промежутка, которое эффективно объединяет полнополосное аудиокодирование и заполнение спектрального промежутка, в частности, в области преобразования MDCT.
Поэтому настоящее изобретение предусматривает усовершенствованный принцип для объединения кодирования речи и последующего расширения полосы временной области с полнополосным декодированием формы волны, содержащим заполнение спектрального промежутка, в переключаемый перцептивный кодер/декодер.
Поэтому, в отличие от существующих способов, новый принцип использует полнополосное кодирование формы волны аудиосигнала в кодере области преобразования и одновременно допускает плавное переключение на речевой кодер, предпочтительно, сопровождаемое расширением полосы временной области.
Дополнительные варианты осуществления настоящего изобретения избегают вышеописанных проблем, которые возникают вследствие фиксированного ограничения полосы. Принцип допускает переключаемое объединение полнополосного кодера форма волны в частотной области, снабженного заполнением спектрального промежутка, и речевого кодера с более низкой частотой дискретизации и расширением полосы временной области. Такой кодер способен кодировать форму волны вышеупомянутых проблематичных сигналов, обеспечивая полную полосу аудиосигнала вплоть до частоты Найквиста входного аудиосигнала. Тем не менее, плавное переключение между двумя стратегиями кодирования гарантируется, в частности, вариантами осуществления, имеющими кросспроцессор. Для этого плавного переключения кросспроцессор представляет перекрестное соединение на кодере и декодере между полнополосным полноскоростным (входная частота дискретизации) кодером частотной области и низкоскоростным кодером ACELP, имеющим более низкую частоту дискретизации, для правильной инициализации параметров ACELP и буферов, в частности, в адаптивной кодовой книге, фильтре LPC или ступени повторной дискретизации, при переключении с кодера частотной области, например TCX, на кодер временной области, например ACELP.
Далее настоящее изобретение рассмотрено со ссылкой на прилагаемые чертежи, в которых:
фиг. 1a демонстрирует устройство для кодирования аудиосигнала;
фиг. 1b демонстрирует декодер для декодирования кодированного аудиосигнала, согласующийся с кодером, показанным на фиг. 1a;
фиг. 2a демонстрирует предпочтительную реализацию декодера;
фиг. 2b демонстрирует предпочтительную реализацию кодера;
фиг. 3a демонстрирует схематическое представление спектра, сгенерированного декодером спектральной области, показанным на фиг. 1b;
фиг. 3b демонстрирует таблицу, указывающую соотношение между масштабными коэффициентами для полос масштабного коэффициента и энергиями для полос реконструкции и информацией шумозаполнения для полосы шумозаполнения;
фиг. 4a демонстрирует функциональную возможность кодера спектральной области для применения выбора спектральных участков к первому и второму наборам спектральных участков;
фиг. 4b демонстрирует реализацию функциональной возможности, показанной на фиг. 4a;
фиг. 5a демонстрирует функциональную возможность кодера MDCT;
фиг. 5b демонстрирует функциональную возможность декодера с технологией MDCT;
фиг. 5c демонстрирует реализацию частотного регенератора;
фиг. 6 демонстрирует реализацию аудиокодера;
фиг. 7a демонстрирует кросспроцессор в аудиокодере;
фиг. 7b демонстрирует реализацию обратного или частотно-временного преобразования, дополнительно обеспечивающего снижение частоты дискретизации в кросспроцессоре;
фиг. 8 демонстрирует предпочтительную реализацию контроллера, показанного на фиг. 6;
фиг. 9 демонстрирует дополнительный вариант осуществления кодера временной области, имеющего функциональные возможности расширение полосы;
фиг. 10 демонстрирует предпочтительное использование препроцессора;
фиг. 11a демонстрирует схематическую реализацию аудиодекодера;
фиг. 11b демонстрирует кросспроцессор в декодере для обеспечения данных инициализации для декодера временной области;
фиг. 12 демонстрирует предпочтительную реализацию процессора декодирования временной области, показанного на фиг. 11a;
фиг. 13 демонстрирует дополнительную реализацию расширения полосы временной области;
фиг. 14a демонстрирует предпочтительную реализацию аудиокодера;
фиг. 14b демонстрирует предпочтительную реализацию аудиодекодера;
фиг. 14c демонстрирует отвечающую изобретению реализацию декодера временной области с преобразованием частоты дискретизации и расширением полосы.
Фиг. 6 демонстрирует аудиокодер для кодирования аудиосигнала, содержащий первый процессор 600 кодирования для кодирования первого участка аудиосигнала в частотной области. Первый процессор 600 кодирования содержит временно-частотный преобразователь 602 для преобразования первого участка входного аудиосигнала в представление в частотной области, имеющее спектральные линии вплоть до максимальной частоты входного сигнала. Кроме того, первый процессор 600 кодирования содержит анализатор 604 для анализа представления в частотной области вплоть до максимальной частоты для определения первых спектральных областей, подлежащих кодированию первым спектральным представлением, и для определения вторых спектральных областей, подлежащих кодированию со вторым спектральным разрешением, более низким, чем первое спектральное разрешение. В частности, анализатор 604 полной полосы определяет, какие частотные линии или спектральные значения в спектре временно-частотного преобразователя подлежат кодированию по спектральным линиям, и какие другие спектральные участки подлежат параметрическому кодированию, и затем эти последние спектральные значения реконструируются на стороне декодера посредством процедуры заполнения промежутка. Фактическая операция кодирования осуществляется спектральным кодером 606 для кодирования первых спектральных областей или спектральных участков с первым разрешением и для параметрического кодирования вторых спектральных областей или участков со вторым спектральным разрешением.
Аудиокодер, показанный на фиг. 6, дополнительно содержит второй процессор 610 кодирования для кодирования участка аудиосигнала во временной области. Дополнительно, аудиокодер содержит контроллер 620, выполненный с возможностью анализа аудиосигнала на входе 601 аудиосигнала и для определения, какой участок аудиосигнала является первым участком аудиосигнала, кодированным в частотной области, и какой участок аудиосигнала является вторым участком аудиосигнала, кодированным во временной области. Кроме того, предусмотрен формирователь 630 кодированного сигнала, который может быть реализован, например, в виде мультиплексора битовых потоков, который выполнен с возможностью формирования кодированного аудиосигнала, содержащего первый кодированный участок сигнала для первого участка аудиосигнала и второй кодированный участок сигнала для второго участка аудиосигнала. Что важно, кодированный сигнал имеет только либо представление в частотной области, либо представление во временной области из одного и того же участка аудиосигнала.
Поэтому контроллер 620 гарантирует, что для единичного участка аудиосигнала в кодированном сигнале присутствует только представление временной области или представление в частотной области. Контроллер 620 можно осуществлять это разными способами. Один способ состоит в том, что, для одного и того же участка аудиосигнала, оба представления поступают на блок 630, и контроллер 620 управляет формирователем 630 кодированного сигнала, чтобы вносить в кодированный сигнал только одно из обоих представлений. Однако, альтернативно, контроллер 620 может управлять вводом в первый процессор кодирования и вводом во второй процессор кодирования таким образом, что, на основании анализа соответствующего участка сигнала, только один из блоков 600 и 610 активируется для фактического осуществления полной операции кодирования, и другой блок деактивируется.
Эта деактивация может быть деактивацией или, как показано со ссылкой, например, на фиг. 7a, является лишь разновидностью режима ʺинициализацииʺ, где другой процессор кодирования активен только для приема и обработки данных инициализации для инициализации внутренних блоков памяти, но никакая конкретная операция кодирования вовсе не осуществляется. Эта активация может осуществляться посредством некоторого переключения на входе, который не представлен на фиг. 6, или, предпочтительно, посредством управления линиями 621 и 622. Поэтому, в этом варианте осуществления, второй процессор 610 кодирования ничего не выводит, когда контроллер 620 определяет, что текущий участок аудиосигнала должен кодироваться первым процессором кодирования, но, тем не менее, второй процессор кодирования снабжается данными инициализации для активации для мгновенного переключения в будущем. С другой стороны, первый процессор кодирования сконфигурирован не требовать никаких данных из прошлого для обновления каких-либо внутренних блоков памяти и, таким образом, когда текущий участок аудиосигнала подлежит кодированию вторым процессором 610 кодирования, контроллер 620 может управлять первым процессором 600 кодирования окончания по линии 621 управления для полной деактивации. Это означает, что первый процессор 600 кодирования не обязан находиться в состоянии инициализации или состоянии ожидания, но может находиться в состоянии полной деактивации. Это предпочтительно, в частности, для мобильных устройств, где энергопотребление и, таким образом, время работы батареи является проблемой.
В дополнительной конкретной реализации второго процессора кодирования, действующего во временной области, второй процессор кодирования содержит понижающий дискретизатор 900 или преобразователь частоты дискретизации для преобразования участка аудиосигнала в представление с более низкой частотой дискретизации, причем более низкая частота дискретизации ниже, чем частота дискретизации на входе первого процессора кодирования. Это проиллюстрировано на фиг. 9. В частности, когда входной аудиосигнал содержит нижнюю полосу и верхнюю полосу, предпочтительно, чтобы представление с более низкой частотой дискретизации на выходе блока 900 имел только нижнюю полосу участка входного аудиосигнала, и затем эта нижняя полоса кодируется кодером 910 нижней полосы временной области, который выполнен с возможностью кодирования временной области представления с более низкой частотой дискретизации, обеспеченного блоком 900. Кроме того, предусмотрен кодер 920 с расширением полосы временной области для параметрического кодирования верхней полосы. Для этого, кодер 920 с расширением полосы временной области принимает, по меньшей мере, верхнюю полосу входного аудиосигнала или нижнюю полосу и верхнюю полосу входного аудиосигнала.
В дополнительном варианте осуществления настоящего изобретения аудиокодер дополнительно содержит, хотя это не представлено на фиг. 6, но представлено на фиг. 10, препроцессор 1000, выполненный с возможностью предобработки первого участка аудиосигнала и второго участка аудиосигнала. Согласно варианту осуществления, этот препроцессор содержит анализатор предсказания для определения коэффициентов предсказания. Этот анализатор предсказания можно реализовать как анализатор LPC (кодирования с линейным предсказанием) для определения коэффициентов LPC. Однако можно также реализовать другие анализаторы. Кроме того, препроцессор, который также представлен на фиг. 14a, содержит квантователь 1010 коэффициентов предсказания, причем это устройство, представленное на фиг. 14a, принимает данные коэффициентов предсказания от анализатора предсказания, также представленного на фиг. 14a позицией 1002.
Кроме того, препроцессор дополнительно содержит энтропийный кодер для генерации кодированной версии квантованных коэффициентов предсказания. Важно отметить, что формирователь 630 кодированного сигнала или конкретная реализация, т.е. мультиплексор 613 битовых потоков, гарантирует, что кодированная версия квантованных коэффициентов предсказания включена в кодированный аудиосигнал 632. Предпочтительно, коэффициенты LPC напрямую не квантуются, но преобразуются, например, в ISF или любое другое представление, более пригодное для квантования. Это преобразование, предпочтительно, либо осуществляется блоком 1002 определения коэффициентов LPC, либо осуществляется в блоке 1010 для квантования коэффициентов LPC.
Кроме того, препроцессор может содержать блок 1004 повторной дискретизации для повторной дискретизации входного аудиосигнала на входной частоте дискретизации к более низкой частоте дискретизации для кодера временной области. Когда кодер временной области является кодером ACELP, имеющим некоторую частоту дискретизации ACELP, понижающая дискретизация осуществляется, предпочтительно, до 12,8 кГц или 16 кГц. Входная частота дискретизации может быть любой из конкретного количества частот дискретизации, например, 32 кГц или еще более высокой частоты дискретизации. С другой стороны, частота дискретизации кодера временной области будет заранее определяться некоторыми ограничениями, и блок 1004 повторной дискретизации осуществляет эту повторную дискретизацию и выводит представление с более низкой частотой дискретизации входного сигнала. Поэтому блок 1004 повторной дискретизации может осуществлять аналогичную функциональную возможность и даже может быть таким же элементом, как понижающий дискретизатор 900, проиллюстрированный в контексте фиг. 9.
Кроме того, предпочтительно применять введение предыскажений на блоке 1005 введения предыскажений, показанном на фиг. 14a. Обработка введения предыскажений общеизвестна в технике кодирования временной области и описана в литературе, относящейся к обработке AMR-WB+, и введение предыскажений, в частности, сконфигурировано для компенсации наклона спектра и, таким образом, позволяет лучше вычислять параметры LPC при данном порядке LPC.
Кроме того, препроцессор может дополнительно содержать выделение параметров TCX-LTP для управления пост-фильтром LTP, проиллюстрированным на 1420 на фиг. 14b. Этот блок обозначен 1006 на фиг. 14a. Кроме того, препроцессор может дополнительно содержать другие функциональные возможности, проиллюстрированные на 1007, и эти другие функциональные возможности могут содержать функциональную возможность поиска основного тона, функциональную возможность обнаружения речевой активности (VAD) или любые другие функциональные возможности, известны в технике кодирования временной области или речи.
Как показано, результат блока 1006 вводится в кодированный сигнал, т.е., согласно варианту осуществления, показанному на фиг. 14a, поступает на мультиплексор 630 битовых потоков. Кроме того, при необходимости, данные из блока 1007 также могут вводиться в мультиплексор битовых потоков или, альтернативно, могут использоваться в целях кодирования временной области в кодере временной области.
Поэтому, в итоге, общей для обоих трактов является операция 1000 предобработки, в которой осуществляются широко используемые операции обработки сигнала. Они содержат повторную дискретизацию к частоте дискретизации ACELP (12,8 или 16 кГц) для одного параллельного тракта и эта повторная дискретизация всегда осуществляется. Кроме того, осуществляется выделение параметра TCX LTP, проиллюстрированное на блоке 1006, и, дополнительно, осуществляется введение предыскажений и определение коэффициентов LPC. Как изложено, введение предыскажений компенсирует наклон спектра и, таким образом, позволяет более эффективно вычислять параметры LPC при данном порядке LPC.
Теперь обратимся к фиг. 8 для иллюстрации предпочтительной реализации контроллера 620. Контроллер принимает, на входе, рассматриваемый участок аудиосигнала. Предпочтительно, как показано на фиг. 14a, контроллер принимает любой сигнал, доступный в препроцессоре 1000, который может представлять собой либо исходный входной сигнал на входной частоте дискретизации, либо повторно дискретизированную версию на более низкой частоте дискретизации кодера временной области, либо сигнал, полученный после обработки введения предыскажений на блоке 1005.
На основании этого участка аудиосигнала, контроллер 620 обращается к имитатору 621 кодера частотной области и к имитатору 622 кодера временной области для вычисления для каждой возможности кодера оценочного отношения сигнал-шум. Затем блок 623 выбора выбирает кодер, обеспечивший лучшее отношение сигнал-шум, естественно с учетом заранее заданной битовой скорости. Затем блок выбора идентифицирует соответствующий кодер через выходной сигнал управления. Когда определено, что рассматриваемый участок аудиосигнала подлежит кодированию с использованием кодера частотной области, кодер временной области устанавливается в состояние инициализации или, в других вариантах осуществления, не требующих очень быстрого переключения, в полностью деактивированное состояние. Однако, когда определено, что рассматриваемый участок аудиосигнала подлежит кодированию кодером временной области, кодер частотной области деактивируется.
Далее проиллюстрирована предпочтительная реализация контроллера, представленного на фиг. 8. Решение, следует ли выбрать тракт ACELP или TCX, принимается в решении на переключение путем имитации кодера ACELP и TCX и переключения на лучшую ветвь осуществления. Для этого, SNR ветвей ACELP и TCX оцениваются на основании имитации кодера/декодера ACELP и TCX. Имитация кодера/декодера TCX осуществляется без анализа TNS/TTS, кодера IGF, цикла квантования/арифметического кодера или без какого-либо декодера TCX, вместо этого, SNR TCX оценивается с использованием оценки искажения квантователя в области MDCT с заданной формой. Имитация кодера/декодера ACELP осуществляется с использованием только имитации адаптивной кодовой книги и инновационной кодовой книги. SNR ACELP оценивается просто путем вычисления искажения, вносимого фильтром LTP в области взвешенного сигнала (адаптивная кодовая книга), и масштабирования этого искажения с постоянным коэффициентом (инновационная кодовая книга). Таким образом, сложность значительно снижается по сравнению с подходом, согласно которому кодирование TCX и ACELP выполняется параллельно. Для последующего полного прохода кодирования выбирается ветвь с более высоким SNR.
В случае выбора ветви TCX, декодер TCX действует в каждом кадре, который выводит сигнал на частоте дискретизации ACELP. Это используется для обновления блоков памяти, используемых для тракта кодирования ACELT (остаток LPC, Mem w0, устранение предыскажений памяти), для обеспечения мгновенного переключения с TCX на ACELP. Обновление памяти осуществляется на каждом тракте TCX.
Альтернативно, может осуществляться полный процесс анализа через синтез, т.е. оба имитатора 621, 622 кодера реализуют фактические операции кодирования и результаты сравниваются блоком 623 выбора. Альтернативно, опять же, полное упреждающее вычисление может осуществляться путем осуществления анализа сигнала. Например, когда классификатор сигнала определяет, что сигнал является речевым сигналом, выбирается кодер временной области, и когда определено, что сигнал является музыкальным сигналом, выбирается кодер частотной области. Также можно применять другие процедуры для различения между этими кодерами на основании анализа сигнала рассматриваемого участка аудиосигнала.
Предпочтительно, аудиокодер дополнительно содержит кросспроцессор 700 представленный на фиг. 7a. Когда кодер 600 частотной области активен, кросспроцессор 700 выдает данные инициализации на кодер 610 временной области таким образом, что кодер временной области готов к плавному переключению в будущем участке сигнала. Другими словами, когда определено, что текущий участок сигнала подлежит кодированию с использованием кодера частотной области, и если контроллер определяет, что непосредственно следующий участок аудиосигнала подлежит кодированию кодером 610 временной области, то, без кросспроцессора, такое непосредственное плавное переключение будет невозможно. Однако кросспроцессор обеспечивает сигнал, выведенный из кодера 600 частотной области, на кодер 610 временной области в целях инициализации блоков памяти в кодере временной области, поскольку кодер 610 временной области имеет зависимость текущего кадра от входного или кодированного сигнала непосредственно предшествующего по времени кадра.
Поэтому кодер 610 временной области выполнен с возможностью инициализации данными инициализации для эффективного кодирования участка аудиосигнала, следующего за более ранним участком аудиосигнала, кодированным кодером 600 частотной области.
В частности, кросспроцессор содержит временной преобразователь для преобразования представления частотной области в представление временной области, которое может пересылаться на кодер временной области напрямую или после некоторой дополнительной обработки. Этот преобразователь представлен на фиг. 14a как блок IMDCT (обратного модифицированного дискретного косинусного преобразования). Однако этот блок 702 имеет другой размер преобразования по сравнению с блоком 602 временно-частотный преобразователя, указанным на фиг. 14a (блоком модифицированного дискретного косинусного преобразования). Как указано на блоке 602, временно-частотный преобразователь 602 действует на входной частоте дискретизации, и обратное модифицированное дискретное косинусное преобразование 702 действует на более низкой частоте дискретизации ACELP.
Отношение частоты дискретизации кодера временной области или частоты дискретизации ACELP и частоты дискретизации кодера частотной области или входной частоты дискретизации может вычисляться и является коэффициентом понижающей дискретизации DS, представленным на фиг. 7b.
Блок 602 имеет большой размер преобразования, и блок 702 IMDCT имеет малый размер преобразования. Как показано на фиг. 7b, блок 702 IMDCT, таким образом, содержит блок 726 выбора для выбора нижнего спектрального участка на входе блока 702 IMDCT. Участок спектра полной полосы задается коэффициентом понижающей дискретизации DS. Например, когда более низкая частота дискретизации равна 16 кГц, и входная частота дискретизации равна 32 кГц, коэффициент понижающей дискретизации равен 0,5, и, таким образом, блок 726 выбора выбирает нижнюю половину спектра полной полосы. Когда спектр имеет, например, 1024 линии MDCT, блок выбора выбирает 512 нижних линий MDCT.
Этот низкочастотный участок спектра полной полосы поступает на блок 720 преобразования малого размера и раскладки, как показано на фиг. 7b. Размер преобразования также выбирается в соответствии с коэффициентом понижающей дискретизации и составляет 50% размера преобразования на блоке 602. Затем осуществляется формирование окна для синтеза с помощью функции окна с малым количеством коэффициентов. Количество коэффициентов функции окна для синтеза равно коэффициенту понижающей дискретизации, умноженного на количество коэффициентов функции окна для анализа, используемой блоком 602. Наконец, операция перекрытия-сложения осуществляется с меньшим количеством операций на блок, и количество операций на блок, опять же, равно количеству операций на блок в полноскоростной реализации MDCT, умноженному на коэффициент понижающей дискретизации.
Таким образом, можно применять очень эффективную операцию понижающей дискретизации, поскольку понижающая дискретизация включена в реализацию IMDCT. В этом контексте, следует подчеркнуть, что блок 702 можно реализовать посредством IMDCT, но можно также реализовать посредством любого другого преобразования или реализации банка фильтров, которому можно придать надлежащий размер в ядре фактического преобразования и других операциях, связанных с преобразованием.
В дополнительном варианте осуществления, представленном на фиг. 14a, временно-частотный преобразователь содержит дополнительные функциональные возможности помимо анализатора. Анализатор 604, показанный на фиг. 6, может содержать согласно варианту осуществления, показанному на фиг. 14a, блок 604a анализа временного формирования шума/ временного формирования мозаичного элемента, действующий как рассмотренный в контексте фиг. 2b блок 222 для блока 604a анализа TNS/TTS и проиллюстрированный со ссылкой на фиг. 2b для тональной маски 226, которая соответствует кодеру IGF 604b на фиг. 14a.
Кроме того, кодер частотной области, предпочтительно, содержит блок 606a формирования шума. Блок 606a формирования шума управляется квантованными коэффициентами LPC, сгенерированными блоком 1010. Квантованные коэффициенты LPC, используемые для формирования 606a шума, осуществляют спектральное формирование спектральных значений высокого разрешения или спектральные линии, напрямую кодированные (а не параметрически кодированные), и результат блока 606a подобен спектру сигнала после ступени фильтрации LPC, действующей во временной области, например, блока 704 анализирующей фильтрации LPC, описанного ниже. Кроме того, результат блока 606a формирования шума затем подвергается квантованию и энтропийному кодированию, как указано блоком 606b. Результат блока 606b соответствует кодированному первому участку аудиосигнала или кодированный участок аудиосигнала частотной области (совместно с другой побочной информацией).
Кросспроцессор 700 содержит спектральный декодер для вычисления декодированной версии первого кодированного участка сигнала. Согласно варианту осуществления, показанному на фиг. 14a, спектральный декодер 701 содержит блок 703 обратной формирования шума, декодер 704 с заполнением промежутка, блок 705 синтеза TNS/TTS и блок 702 IMDCT рассмотренный выше. Эти блоки отменяют конкретные операции, осуществляемые блоками 602-606b. В частности, блок 703 формирования шума отменяет формирование шума, осуществляемое блоком 606a на основании квантованных коэффициентов 1010 LPC. Декодер 704 IGF действует, как рассмотрено со ссылкой на фиг. 2A, блоки 202 и 206 и блок 705 синтеза TNS/TTS действуют, как рассмотрено в контексте блока 210, показанного на фиг. 2A, и спектральный декодер дополнительно содержит блок 702 IMDCT. Кроме того, кросспроцессор 700 на фиг. 14a, дополнительно или альтернативно, содержит ступень 707 задержки для подачи задержанной версии декодированной версии, полученной спектральным декодером 701 на ступени 617 устранения предыскажений второго процессора кодирования в целях инициализации ступени 617 устранения предыскажений.
Кроме того, кросспроцессор 17 может содержать, дополнительно или альтернативно, ступень 708 взвешенной анализирующей фильтрации коэффициентов предсказания для фильтрации декодированной версии и для подачи фильтрованной декодированной версии на определитель 613 кодовой книги, указанный как ʺMMSEʺ на фиг. 14a, второго процессора кодирования для инициализации этого блока. Дополнительно или альтернативно, кросспроцессор содержит ступень анализирующей фильтрации LPC для фильтрации декодированной версии первого кодированного участка сигнала, выводимой спектральным декодером 700, на ступень 712 адаптивной кодовой книги для инициализации блока 612. Дополнительно или альтернативно, кросспроцессор также содержит ступень 709 введения предыскажений для осуществления обработки введения предыскажений в декодированную версию, выводимую спектральным декодером 701, до фильтрации LPC. Выходной сигнал ступени введения предыскажений также может поступать на дополнительную ступень 710 задержки в целях инициализации блока 616 синтезирующей фильтрации LPC в кодере 610 временной области с целью инициализации этого блока 611 анализирующей фильтрации LPC.
Процессор 610 кодер временной области содержит, как показано на фиг. 14a, введение предыскажений, действующее на более низкой частоте дискретизации ACELP. Как показано, это введение предыскажений является введением предыскажений, осуществляемым на ступени 1000 предобработки, и имеет ссылочную позицию 1005. Данные введения предыскажений поступают на ступень 611 анализирующей фильтрации LPC, действующую во временной области, и этот фильтр управляется квантованными коэффициентами 1010 LPC, полученными ступенью 1000 предобработки. Как известно из AMR-WB+ или USAC или других кодеров CELP, остаточный сигнал, генерируемый блоком 611, поступает на адаптивную кодовую книгу 612 и, кроме того, адаптивная кодовая книга 612 подключена к ступени 614 инновационной кодовой книги, и данные кодовой книги из адаптивной кодовой книги 612 и из инновационной кодовой книги поступают на мультиплексор битовых потоков, как показано.
Кроме того, ступень 612 усиления/кодирования ACELP предусмотрена после ступени 614 инновационной кодовой книги, и результат этого блока поступает на определитель 613 кодовой книги, указанный как MMSE на фиг. 14a. Этот блок взаимодействует с блоком 614 инновационной кодовой книги. Кроме того, кодер временной области дополнительно содержит участок декодера, имеющий блок 616 синтезирующей фильтрации LPC, блок 617 устранения предыскажений и ступень 618 адаптивного пост-фильтра басов для вычисления параметров для адаптивного пост-фильтра басов, который, однако, применяется на стороне декодера. В отсутствие какой-либо адаптивной постфильтрации басов на стороне декодера, блоки 616, 617, 618 не потребуются для кодера 610 временной области.
Как показано, несколько блоков декодера временной области зависят от предыдущих сигналов, и этими блоками являются блок адаптивной кодовой книги, определитель 613 кодовой книги, блок 616 синтезирующей фильтрации LPC и блок 617 устранения предыскажений. Эти блоки получают от кросспроцессора данные, выведенные из данных процессора кодирования частотной области для инициализации этих блоков в целях приготовления к мгновенному переключению с кодера частотной области на кодер временной области. Как также следует фиг. 14a, никакая зависимость от более ранних данных не требуется для кодера частотной области. Таким образом, кросспроцессор 700 не обеспечивает никаких данных инициализации памяти с кодера временной области на кодер частотной области. Однако, для других реализаций кодера частотной области, где существуют зависимости от прошлого и где требуются данные инициализации памяти, кросспроцессор 700 выполнен с возможностью действовать в обоих направлениях.
Таким образом, предпочтительный вариант осуществления аудиокодера содержит следующие части:
Ниже описан предпочтительный аудиодекодер. Часть декодера формы волны состоит из тракта декодера полной полосы TCX с IGF, оба из которых действуют на входной частоте дискретизации кодека. Параллельно, существует альтернативный тракт декодера ACELP на более низкой частоте дискретизации, который дополнительно усиливается в направлении прохождения сигнала за счет TD-BWE.
Для инициализации ACELP при переключении с TCX на ACELP, существует перекрестный тракт (состоящий из совместно используемого входного каскада декодера TCX, но дополнительно обеспечивающий выходной сигнал на более низкой частоте дискретизации и некоторую постобработку), который осуществляет инициализацию ACELP согласно изобретению. Совместное использование одних и тех же частоты дискретизации и порядка фильтра между TCX и ACELP в LPC позволяет легче и эффективнее инициализировать ACELP.
Для визуализации переключения, два переключателя изображены на фиг. 14b. Пока второй переключатель в направлении прохождения сигнала выбирает между выходами TCX/IGF и ACELP/TD-BWE, первый переключатель либо предварительно обновляет буферы на ступени повторной дискретизации QMF после тракта ACELP выходным сигналом перекрестного тракта, либо просто пропускает выходной сигнал ACELP.
Теперь рассмотрим реализации аудиодекодера в соответствии с аспектами настоящего изобретения в контексте фиг. 11a-14c.
Аудиодекодер для декодирования кодированного аудиосигнала 1101 содержит первый процессор 1120 декодирования для декодирования первого кодированного участка аудиосигнала в частотной области. Первый процессор 1120 декодирования содержит спектральный декодер 1122 для декодирования первых спектральных областей с высоким спектральным разрешением и для синтеза вторых спектральных областей с использованием параметрического представления вторых спектральных областей и, по меньшей мере, декодированной первой спектральной области для получения декодированного спектрального представления. Декодированное спектральное представление является декодированным спектральным представлением полной полосы, как рассмотрено в контексте фиг. 6 и также, как рассмотрено в контексте фиг. 1a. В общем случае, первый процессор декодирования, таким образом, содержит реализацию полной полосы с процедурой заполнения промежутка в частотной области. Кроме того, первый процессор 1120 декодирования содержит частотно-временной преобразователь 1124 для преобразования декодированного спектрального представления во временную область для получения декодированного первого участка аудиосигнала.
Кроме того, аудиодекодер содержит второй процессор 1140 декодирования для декодирования второго кодированного участка аудиосигнала во временной области для получения декодированного второго участка сигнала. Кроме того, аудиодекодер содержит объединитель 1160 для объединения декодированного первого участка сигнала и декодированного второго участка сигнала для получения декодированного аудиосигнала. Участки декодированного сигнала объединяются в последовательности, которая также представлена на фиг. 14b реализацией 1160 переключателя, представляющей вариант осуществления объединителя 1160, показанного на фиг. 11a.
Предпочтительно, второй процессор 1140 декодирования представляет собой процессор расширения полосы временной области и содержит, как показано на фиг. 12, декодер 1200 нижней полосы временной области для декодирования сигнала нижней полосы временной области. Кроме того, эта реализация содержит повышающий дискретизатор 1210 для повышающей дискретизации сигнала нижней полосы временной области. Дополнительно, предусмотрен декодер 1220 с расширением полосы временной области для синтеза верхней полосы выходного аудиосигнала. Кроме того, предусмотрен микшер 1230 для микширования синтезированной верхней полосы выходного сигнала временной области и повышенно дискретизированный сигнал нижней полосы временной области для получения выходного сигнала кодера временной области. Поэтому блок 1140, показанный на фиг. 11a, можно реализовать посредством функциональной возможности, показанной на фиг. 12, в предпочтительном варианте осуществления.
Фиг. 13 демонстрирует предпочтительный вариант осуществления декодера 1220 с расширением полосы временной области, показанного на фиг. 12. Предпочтительно, предусмотрен повышающий дискретизатор 1221 временной области, который принимает, в качестве входного сигнала, остаточный сигнал LPC от декодера нижней полосы временной области, включенного в блок 1140 и проиллюстрированного на 1200 на фиг. 12 и дополнительно проиллюстрированного в контексте фиг. 14b. Повышающий дискретизатор 1221 временной области генерирует повышенно дискретизированную версию остаточного сигнала LPC. Затем эта версия поступает на блок 1222 устранения нелинейных искажений, который генерирует, на основании своего входного сигнала, выходной сигнал, имеющий более высокие значения частоты. Устранение нелинейных искажений может представлять собой улучшающее копирование, зеркалирование, частотный сдвиг или нелинейное устройство, например, диод или транзистор, работающий в нелинейной области. Выходной сигнал блока 1222 поступает на блок 1223 синтезирующей фильтрации LPC, который управляется данными LPC, также используемыми для декодера нижней полосы, или конкретными данными огибающей, сгенерированными блоком 920 расширения полосы временной области на стороне кодера, показанным, например, на фиг 14a. Затем выходной сигнал блока синтеза LPC поступает на полосовой или высокочастотный фильтр 1224 для окончательного получения верхней полосы, которая затем поступает на микшер 1230, как показано на фиг. 12.
Далее рассмотрена предпочтительная реализация повышающего дискретизатора 1210, показанного на фиг. 12, в контексте фиг. 14b. Повышающий дискретизатор, предпочтительно, содержит банк анализирующих фильтров, действующий на первом декодере нижней полосы временной области частота дискретизации. Конкретная реализация такого банка анализирующих фильтров является банк 1471 анализирующих фильтров QMF, представленный на фиг. 14b. Кроме того, повышающий дискретизатор содержит банк 1473 синтезирующих фильтров, действующий на второй выходной частоте дискретизации, которая выше первой частоты нижней полосы дискретизации временной области. Поэтому банк 1473 синтезирующих фильтров QMF, который является предпочтительной реализации общего банка фильтров, действует на выходной частоте дискретизации. Когда коэффициент понижающей дискретизации T, как рассмотрено в контексте фиг. 7b, равен 0,5, банк 1471 анализирующих фильтров QMF имеет, например, только 32 канала банка фильтров, и банк 1473 синтезирующих фильтров QMF имеет, например, 64 канала QMF, но верхняя половина каналов банка фильтров, т.е. верхние 32 канала банка фильтров поступают с нулями или шумом, тогда как нижние 32 канала банка фильтров поступают с соответствующими сигналами, обеспеченными банком 1471 анализирующих фильтров QMF. Предпочтительно, однако, полосовая фильтрация 1472 осуществляется в области банка фильтров QMF, чтобы гарантировать, что выходной сигнал 1473 синтеза QMF является повышенно дискретизированной версией выходного сигнала декодера ACELP, но без каких-либо артефактов выше максимальной частоты декодера ACELP.
Дополнительные операции обработки могут осуществляться в области QMF помимо или вместо полосовой фильтрации 1472. Если обработка вовсе не осуществляется, то анализ QMF и синтез QMF составляют эффективный повышающий дискретизатор 1210.
Далее более подробно рассмотрена конструкция отдельных элементов, показанных на фиг. 14b.
Декодер 1120 полной полосы частотной области содержит первый блок 1122a декодирования для декодирования спектральных коэффициентов высокого разрешения и для дополнительного осуществления шумозаполнения на участке нижней полосы, как известно, например, из технологии USAC. Кроме того, декодер полной полосы содержит процессор 1122b IGF для заполнения спектральных дыр с использованием синтезированных спектральных значений, которые кодировались только параметрически и, таким образом, с низким разрешением на стороне кодера. Затем, на блоке 1122c, осуществляется обратное формирование шума, и результат поступает на блок 705 синтеза TNS/TTS, который обеспечивает, в качестве окончательного выходного сигнала, входной сигнал на частотно-временной преобразователь 1124, который, предпочтительно, реализован в виде обратного модифицированного дискретного косинусного преобразования, действующего на выходе, т.е. высокую частоту дискретизации.
Кроме того, используется постфильтр гармоник или LTP, который управляется данными, полученными блоком 1006 выделения параметра TCX LTP на фиг. 14b. Затем результат является декодированным первым участком аудиосигнала на выходной частоте дискретизации и, как можно видеть из фиг. 14b, эти данные имеют высокую частоту дискретизации и, таким образом, никакого дополнительного расширения частоты не требуется ввиду того, что процессор декодирования является декодером полной полосы частотной области, предпочтительно, действующим с использованием технологии интеллектуального заполнения промежутка, рассмотренной в контексте фиг. 1a-5C.
Некоторые элементы, показанные на фиг. 14b, весьма аналогичны соответствующим блокам в кросспроцессоре 700, показанном на фиг. 14a, в частности в отношении декодера 704 IGF, соответствующего обработке 1122b IGF, и операция обратного формирования шума, управляемая квантованными коэффициентами 1145 LPC, соответствует обратного формирования 703 шума, показанной на фиг. 14a, и блок 705 синтеза TNS/TTS, показанный на фиг. 14b, соответствует блоку 705 синтеза TNS/TTS, показанному на фиг. 14a. Важно, однако, что блок 1124 IMDCT, показанный на фиг. 14b, действует на высокой частоте дискретизации, тогда как блок 702 IMDCT, показанный на фиг. 14a, действует на низкой частоте дискретизации. Поэтому блок 1124, показанный на фиг. 14b, содержит блок 710 преобразования большого размера и раскладки, функцию окна для синтеза на блоке 712 и ступень 714 перекрытия-сложения с соответствующим большим количеством операций, большое количество коэффициентов функции окна и большой размер преобразования по сравнению с соответствующими признаками 720, 722, 724, которые действуют на блоке 702, и также, как будет изложено далее, на блоке 1171 кросспроцессора 1170 на фиг. 14b.
Процессор 1140 декодирования временной области предпочтительно содержит декодер 1200 ACELP или нижней полосы временной области, содержащий ступень 1149 декодера ACELP для получения декодированных коэффициентов усиления и информации инновационной кодовой книги. Дополнительно, предусмотрена ступень 1141 адаптивной кодовой книги ACELP и последующая ступень 1142 постобработки ACELP и окончательный синтезирующий фильтр, например, синтезирующий фильтр 1143 LPC, который, опять же, управляется квантованными коэффициентами 1145 LPC, полученными от демультиплексора 1100 битового потока, соответствующего анализатора 1100 кодированного сигнала, показанного на фиг. 11a. Выходной сигнал синтезирующего фильтра 1143 LPC поступает на ступень 1144 устранения предыскажений для отмены обработки, осуществляемой ступенью 1005 введения предыскажений препроцессора 1000, показанного фиг. 14a. Результатом является выходной сигнал временной области на низкой частоте дискретизации и в нижней полосе, и в случае, когда требуется выходной сигнал в частотной области, переключатель 1480 находится в указанной позиции, и выходной сигнал ступени 1144 устранения предыскажений вводится в повышающий дискретизатор 1210 и затем смешивается с высокими полосами от декодера 1220 с расширением полосы временной области.
В соответствии с вариантами осуществления настоящего изобретения, аудиодекодер дополнительно содержит кросспроцессор 1170, представленный на фиг. 11b и на фиг. 14b для вычисления, из декодированного спектрального представления первого кодированного участка аудиосигнала, данных инициализации второго процессора декодирования таким образом, что второй процессор декодирования инициализируется для декодирования кодированного второго участка аудиосигнала, следующего во времени за первым участком аудиосигнала в кодированном аудиосигнале, т.е. таким образом, что процессор 1140 декодирования временной области готово к мгновенному переключению от одного участка аудиосигнала к следующему без какой-либо потери качества или эффективности.
Предпочтительно, кросспроцессор 1170 содержит дополнительный частотно-временной преобразователь 1171, действующий на более низкой частоте дискретизации, чем частотно-временной преобразователь первого процессора декодирования, для получения дополнительного декодированного первого участка сигнала во временной области, подлежащего использованию в качестве сигнала инициализации, или для которого можно вывести любые данные инициализации. Предпочтительно, этот IMDCT или частотно-временной преобразователь низкой частоты дискретизации реализуется в виде, представленном на фиг. 7b, элемент 726 (блок выбора), элемент 720 (преобразование малого размера и раскладка), формирование окна для синтеза с меньшим количеством коэффициентов функции окна, как указано в 722, и ступень перекрытия-сложения с меньшим количеством операций как указано на 724. Поэтому блок 1124 IMDCT в декодере полной полосы частотной области реализован, как указано блоком 710, 712, 714, и блок IMDCT 1171 реализован, как указано на фиг. 7b, блоком 726, 720, 722, 724. Опять же, коэффициент понижающей дискретизации является отношением между частотой дискретизации кодера временной области или низкой частотой дискретизации и более высокой частотой дискретизации частотной области или выходной частотой дискретизации, и этот коэффициент понижающей дискретизации меньше 1 и может быть любым числом от 0 до 1.
Как показано на фиг. 14b, кросспроцессор 1170 дополнительно содержит, отделено или помимо других элементов, ступень 1172 задержки для задержки дополнительного декодированного первого участка сигнала и для подачи задержанного декодированного первого участка сигнала на ступень 1144 устранения предыскажений второго процессора декодирования для инициализации. Кроме того, кросспроцессор содержит, дополнительно или альтернативно, фильтр 1173 введения предыскажений и ступень 1175 задержки для фильтрации и задержки дополнительного декодированного первого участка сигнала и для подачи задержанного выходного сигнала блока 1175 на ступень 1143 синтезирующей фильтрации LPC декодера ACELP в целях инициализации.
Кроме того, кросспроцессор может содержать, альтернативно или помимо других упомянутых элементов, анализирующий фильтр 1174 LPC для генерации остаточного сигнала предсказания из дополнительного декодированного первого участка сигнала или дополнительного декодированного первого участка сигнала с введенными предыскажениями и для подачи данных на синтезатор кодовой книги второго процессора декодирования и, предпочтительно, на ступень 1141 адаптивной кодовой книги. Кроме того, выходной сигнал частотно-временного преобразователя 1171 с низкой частотой дискретизации также поступает на ступень 1471 анализа QMF повышающего дискретизатора 1210 в целях инициализации, т.е., когда декодируемый на данный момент участок аудиосигнала доставляется декодером 1120 полной полосы частотной области.
Ниже описан предпочтительный аудиодекодер. Часть декодера формы волны состоит из тракта декодера полной полосы TCX с IGF, оба из которых действуют на входной частоте дискретизации кодека. Параллельно, существует альтернативный тракт декодера ACELP на более низкой частоте дискретизации, который дополнительно усиливается в направлении прохождения сигнала за счет TD-BWE.
Для инициализации ACELP при переключении с TCX на ACELP, существует перекрестный тракт (состоящий из совместно используемого входного каскада декодера TCX, но дополнительно обеспечивающий выходной сигнал на более низкой частоте дискретизации и некоторую постобработку), который осуществляет инициализацию ACELP согласно изобретению. Совместное использование одних и тех же частоты дискретизации и порядка фильтра между TCX и ACELP в LPC позволяет легче и эффективнее инициализировать ACELP.
Для визуализации переключения, два переключателя изображены на фиг. 14b. Пока второй переключатель в направлении прохождения сигнала выбирает между выходами TCX/IGF и ACELP/TD-BWE, первый переключатель либо предварительно обновляет буферы на ступени повторной дискретизации QMF после тракта ACELP выходным сигналом перекрестного тракта, либо просто пропускает выходной сигнал ACELP.
В итоге, предпочтительные аспекты изобретения, которые можно использовать отдельно или совместно, относятся к объединению кодера ACELP и TD-BWE с полнополосной технологией TCX/IGF, предпочтительно, связанной с использованием перекрестного сигнала.
Дополнительным конкретным признаком является тракт перекрестного сигнала для инициализации ACELP для обеспечения плавного переключения.
Дополнительный аспект состоит в том, что короткое IMDCT поступает с нижней частью коэффициентов высокоскоростного длинного MDCT для эффективной реализации преобразования частоты дискретизации в перекрестном тракте.
Дополнительным признаком является эффективная реализация перекрестного тракта, частично совместно используемого с TCX/IGF полной полосы в декодере.
Дополнительным признаком является тракт перекрестного сигнала для инициализации QMF для обеспечения плавного переключения с TCX на ACELP.
Дополнительным признаком является тракт перекрестного сигнала к QMF. позволяющий компенсировать промежуток задержки между повторно дискретизированным выходным сигналом ACELP и выходным сигналом TCX/IGF банка фильтров при переключении от ACELP к TCX.
Дополнительный аспект состоит в том, что LPC обеспечивается как для кодера TCX, так и для кодера ACELP при одних и тех же частоте дискретизации и порядке фильтра, хотя кодер/декодер TCX/IGF является полнополосным.
Далее фиг. 14c рассматривается как предпочтительная реализация декодера временной области, действующего либо как автономный декодер, либо совместно с полнополосным декодером частотной области.
В общем случае, декодер временной области содержит декодер ACELP, последовательно соединенный блок повторной дискретизации или повышающий дискретизатор и функциональную возможность расширения полосы временной области. В частности, декодер ACELP содержит ступень декодирования ACELP для восстановления коэффициентов усиления и инновационной кодовой книги 1149, ступень 1141 адаптивной кодовой книги ACELP, постпроцессор 1142 ACELP, синтезирующий фильтр 1143 LPC, управляемый квантованными коэффициентами LPC от демультиплексора битового потока или анализатора кодированного сигнала и последовательно соединенную ступень 1144 устранения предыскажений. Предпочтительно, остаточный сигнал временной области, на частоте дискретизации ACELP, поступает на декодер 1220 с расширением полосы временной области, который обеспечивает верхнюю полосу в выходных сигналах.
Для повышения частоты дискретизации выходного сигнала блока 1144 устранения предыскажений, предусмотрен повышающий дискретизатор, содержащий блок 1471 анализа QMF и блок 1473 синтеза QMF. В области банка фильтров, заданном блоками 1471 и 1473, предпочтительно применять полосовой фильтр. В частности, как рассмотрено выше, также можно использовать те же функциональные возможности, которые были рассмотрены со ссылкой на те же ссылочные позиции. Кроме того, декодер 1220 с расширением полосы временной области может быть реализован, как показано на фиг. 13, и, в общем случае, содержит повышающую дискретизацию остаточного сигнала ACELP или остаточного сигнала временной области на частоте дискретизации ACELP окончательно до выходной частоты дискретизации сигнала расширенной полосы.
Теперь рассмотрим дополнительные детали в отношении полнополосных кодера и декодера частотной области со ссылкой на фиг. 1A-5C.
Фиг. 1a демонстрирует устройство для кодирования аудиосигнала 99. Аудиосигнал 99 поступает на временно-спектральный преобразователь 100 для преобразования аудиосигнала, имеющего частоту дискретизации, в спектральное представление 101, выводимое временно-спектральным преобразователем. Спектр 101 поступает на спектральный анализатор 102 для анализа спектрального представления 101. Спектральный анализатор 101 выполнен с возможностью определения первого набора первых спектральных участков 103, подлежащих кодированию с первым спектральным разрешением и другого второго набора вторых спектральных участков 105, подлежащих кодированию со вторым спектральным разрешением. Второе спектральное разрешение меньше первого спектрального разрешения. Второй набор вторых спектральных участков 105 поступает на калькулятор параметров или параметрический кодер 104 для вычисления информации спектральной огибающей, имеющей второе спектральное разрешение. Кроме того, предусмотрен аудиокодер 106 спектральной области для генерации первого кодированного представления 107 первого набора первых спектральных участков, имеющих первое спектральное разрешение. Кроме того, калькулятор параметров /параметрический кодер 104 выполнен с возможностью генерации второго кодированного представления 109 второго набора вторых спектральных участков. Первое кодированное представление 107 и второе кодированное представление 109 поступают на мультиплексор битовых потоков или формирователь 108 битовый поток, и, наконец, блок 108 выводит кодированный аудиосигнал для передачи или сохранения на запоминающем устройстве.
Обычно, первый спектральный участок, например 306 на фиг. 3a, будет окружен двумя вторыми спектральными участками, например 307a, 307b. Это не так в HE AAC, где диапазон частот основного кодера ограничен по полосе.
Фиг. 1b демонстрирует декодер, согласующийся с кодером, показанным на фиг. 1a. Первое кодированное представление 107 поступает на аудиодекодер 112 спектральной области для генерации первого декодированного представления первого набора первых спектральных участков, причем декодированное представление имеет первое спектральное разрешение. Кроме того, второе кодированное представление 109 поступает на параметрический декодер 114 для генерации второго декодированного представления второго набора вторых спектральных участков, имеющего второе спектральное разрешение, более низкое, чем первое спектральное разрешение.
Декодер дополнительно содержит частотный регенератор 116 для регенерации реконструированного второго спектрального участка, имеющего первое спектральное разрешение, с использованием первого спектрального участка. Частотный регенератор 116 осуществляет операцию заполнения мозаичного элемента, т.е. использует мозаичный элемент или участок первого набора первых спектральных участков и копирует этот первый набор первых спектральных участков в диапазон реконструкции или полосу реконструкции, имеющую второй спектральный участок, и обычно осуществляет спектральное формирование огибающей или другую операцию, как указано декодированным вторым представлением, выводимым параметрическим декодером 114, т.е. за счет использования информации о втором наборе вторых спектральных участков. Декодированный первый набор первых спектральных участков и реконструированный второй набор спектральных участков, как указано на выходе частотного регенератора 116 на линии 117 поступает на спектрально-временной преобразователь 118, выполненный с возможностью преобразования первого декодированного представления и реконструированного второго спектрального участка во временное представление 119, причем временное представление имеет некоторую высокую частоту дискретизации.
Фиг. 2b демонстрирует реализацию кодера, показанного на фиг. 1a. Входной аудиосигнал 99 поступает на банк 220 анализирующих фильтров, соответствующий временно-спектральному преобразователю 100, показанному на фиг. 1a. Затем операция временного формирования шума осуществляется на блоке 222 TNS. Таким образом, входной сигнал спектрального анализатора 102, показанного на фиг. 1a, соответствующего блочной тональной маски 226, показанной на фиг. 2b, может представлять собой либо полные спектральные значения, когда операция временного формирования шума/ временного формирования мозаичного элемента не применяется, либо остаточные спектральные значения, когда применяется операция TNS, как показано на блоке 222, показанном на фиг. 2b. Для двухканальных сигналов или многоканальных сигналов, может дополнительно осуществляться кодирование 228 сведенных каналов, таким образом, что кодер 106 спектральной области, показанный на фиг. 1a, может содержать блок 228 кодирования сведенных каналов. Кроме того, предусмотрен энтропийный кодер 232 для осуществления беспотерьного сжатия данных, который также является участком кодера 106 спектральной области, показанного на фиг. 1a.
Спектральный анализатор/ тональная маска 226 разделяет выходной сигнал блока 222 TNS на основную полосу и тональные компоненты, соответствующие первому набору первых спектральных участков 103, и остаточные компоненты, соответствующие второму набору вторых спектральных участков 105, показанных на фиг. 1a. Блок 224, указанный как выделение и кодирование параметров IGF, соответствует параметрическому кодеру 104, показанному на фиг. 1a, и мультиплексор 230 битовых потоков соответствует мультиплексору 108 битовых потоков, показанному на фиг. 1a.
Предпочтительно, банк 222 анализирующих фильтров реализуется в виде MDCT (банка фильтров модифицированного дискретного косинусного преобразования), и MDCT используется для преобразования сигнал 99 во временно-частотную область с помощью модифицированного дискретного косинусного преобразования, действующего как инструмент частотного анализа.
Спектральный анализатор 226, предпочтительно, применяет маску тональности. Эта ступень оценки маски тональности используется для отделения тональных компонент от шумоподобных компонент в сигнале. Это позволяет основному кодеру 228 кодировать все тональные компоненты с помощью психоакустического модуля. Ступень оценки маски тональности можно реализовать разнообразными способами и предпочтительно реализовать как функциональный блок, аналогичный ступени оценки синусоидальной дорожки, используемой в моделировании синусоиды и шума для речевого/аудио-кодирования [8, 9] или аудиокодера на основе модели HILN, описанного в [10]. Предпочтительно использовать реализацию, которую легко реализовать без необходимости поддерживать траектории рождаемости-смертности, но также можно использовать любой другой детектор тональности или шума.
Модуль IGF вычисляет подобие, которое существует между исходной областью и целевой областью. Целевая область будет представлена спектром из исходной области. Изменение подобия между исходными и целевыми областями осуществляется с использованием кросс-корреляционного подхода. Целевая область делится на  неперекрывающихся частотных мозаичных элементов. Для каждого мозаичного элемента в целевой области,  исходных мозаичных элементов создается из фиксированной начальной частоты. Эти исходные мозаичные элементы перекрываются с коэффициентом от 0 до 1, где 0 означает перекрытие 0%, и 1 означает перекрытие 100%. Вычисляется корреляция каждого из этих исходных мозаичных элементов с целевым мозаичным элементом при различных отставаниях для нахождения исходного мозаичного элемента, наиболее совпадающего с целевым мозаичным элементом. Номер мозаичного элемента наилучшего совпадения хранится в , отставание, при котором он наилучшим образом коррелирует с целевым, хранится в , и знак корреляции хранится в . В случае, когда корреляция имеет большое отрицательное значение, исходный мозаичный элемент необходимо умножать на -1 до осуществления процесса заполнения мозаичного элемента на декодере. Модуль IGF также следит, чтобы тональные компоненты в спектре не перезаписывались, поскольку тональные компоненты сохраняются с использованием маски тональности. Параметр энергии по всей полосе используется для сохранения энергии целевой области, что позволяет точно реконструировать спектр.
Этот способ имеет некоторые преимущества над классическим SBR [1] в том, что гармоническая решетка мультитонального сигнала сохраняется основным кодером, тогда как только промежутки между синусоидами заполняются наиболее согласованным ʺшумом с заданной формойʺ из исходной области. Другое преимущество этой системы по сравнению с ASR (точной спектральной замены) [2-4] состоит в отсутствии ступени синтеза сигнала, которая создает важные участки сигнала на декодере. Вместо нее, эту задачу решает основной кодер, что позволяет сохранять важные компоненты спектра. Еще одним преимуществом предложенной системы является непрерывная масштабируемость, которую предлагают признаки. Просто использование  и , для каждого мозаичного элемента называется совпадением с грубой дискретностью и может использоваться для низких битовых скоростей, тогда как использование переменной  для каждого мозаичного элемента обеспечивает лучшее совпадение целевого и исходного спектров.
Кроме того, предложен метод стабилизации выбора мозаичного элемента, который удаляет такие артефакты частотной области, как вибрирующее звучание и музыкальный шум.
В случае пар стереоканалов применяется дополнительная обработка сведенного стерео. Это необходимо, поскольку для некоторого диапазона назначения сигнал может хорошо коррелировать с панорамированным источником звука. В случае, когда исходные области, выбранные для этой конкретной области, не сильно коррелируют, хотя энергии согласуются для областей назначения, пространственное изображение может страдать вследствие недостаточной корреляции исходных областей. Кодер анализирует полосу энергии каждой области назначения, обычно осуществляя кросс-корреляцию спектральных значений, и в случае превышения некоторого порога, устанавливает флаг сведения для этой полосы энергии. В декодере полосы энергии левого и правого каналов обрабатываются по отдельности, если этот флаг сведенного стерео не установлен. В случае, когда флаг сведенного стерео установлен, и энергии, и патчирование осуществляются в области сведенного стерео. Информация сведенного стерео для областей IGF сигнализируется аналогично информации сведенного стерео для основного кодирования, включая флаг, указывающий, в случае предсказания, направлено ли предсказание от понижающего микширования к остатку или наоборот.
Энергии можно вычислять из передаваемых энергий в области L/R.
где  - частотный индекс в области преобразования.
Другое решение предусматривает вычисление и передачу энергий непосредственно в области сведенного стерео для полос, где сведенное стерео активно, поэтому на стороне декодера не требуется никакого дополнительного преобразования энергии.
Исходные мозаичные элементы всегда создаются согласно средне-боковой матрице:
Регулировка энергии:
сведенное стерео -> преобразование LR:
Если не кодируются никакие дополнительные параметры предсказания:
Если кодируется дополнительный параметр предсказания, и если сигнализируется направление от середины вбок:
Если сигнализируется направление сбоку к середине:
Эта обработка гарантирует, что из мозаичных элементов, используемых для регенерации хорошо коррелирующих областей назначения и панорамированных областей назначения, результирующие левый и правый каналы по-прежнему представляют коррелированный и панорамированный источник звука, даже если исходные области не коррелируют, сохраняя стерео-изображение для таких областей.
Другими словами, в битовом потоке, передаются флаги сведенного стерео, которые указывают, следует ли использовать L/R или M/S в качестве примера общего кодирования сведенного стерео. В декодере сначала основной сигнал декодируется, как указано флагами сведенного стерео для основных полос. Затем основной сигнал сохраняется в обоих представлениях L/R и M/S. Для заполнения мозаичного элемента IGF, представление исходного мозаичного элемента выбирается для согласования представления целевого мозаичного элемента, как указано информацией сведенного стерео для полос IGF.
Временное формирование шума (TNS) является стандартным методом и частью AAC [11-13]. TNS можно рассматривать как расширение основной схемы перцептивного кодера, вставление необязательного этапа обработки между банком фильтров и ступенью квантования. Главной задачей модуля TNS является сокрытие вырабатываемого шума квантования в области временного маскирования переходных сигналов, что приводит к более эффективной схеме кодирования. Сначала TNS вычисляет набор коэффициентов предсказания с использованием ʺпрямого предсказанияʺ в области преобразования, например MDCT. Затем эти коэффициенты используются для уплощения временной огибающей сигнала. Поскольку квантование влияет на фильтрованный спектр TNS, шум квантования также является плоским по времени. Благодаря применению обратной фильтрации TNS на стороне декодера, шуму квантования придается форма согласно временной огибающей фильтра TNS, и, таким образом, шум квантования маскируется переходом.
IGF базируется на представлении MDCT. Для эффективного кодирования предпочтительно использовать блоки длиной приблизительно 20 мс. Если сигнал в таком длинном блоке содержит переходы, в спектральных полосах IGF, вследствие заполнения мозаичного элемента, возникают слышимые упреждающие и запаздывающие эхо. На фиг. 7c показан типичный эффект упреждающего эха до переходного прихода вследствие IGF. В левой стороне показана спектрограмма исходного сигнала, и в правой стороне показана спектрограмма сигнала расширенной полосы без фильтрации TNS.
Этот эффект упреждающего эхо уменьшается за счет использования TNS в контексте IGF. При этом TNS используется как инструмент временного формирования мозаичного элемента (TTS), поскольку спектральная регенерация в декодере осуществляется на остаточном сигнале TNS. Необходимые коэффициенты предсказания TTS вычисляются и применяются с использованием полного спектра на стороне кодера, как обычно. TNS/TTS Начальная частота IGF  инструмента IGF не влияет на начальную и конечную частоты. По сравнению с традиционной TNS, конечная частота TTS увеличивается до конечной частоты инструмента IGF, которая выше . На стороне декодера коэффициенты TNS/TTS снова применяются на полном спектре, т.е. основном спектре плюс регенерированный спектр плюс тональные компоненты из карты тональности (см. фиг. 7e). Применение TTS необходимо для формирования временной огибающей регенерированного спектра для повторного согласования огибающей исходного сигнала. Поэтому показанные опережающие эхо снижаются. Кроме того, это все еще формирует шум квантования в сигнале ниже , как обычно с помощью TNS.
В традиционных декодерах, спектральное патчирование на аудиосигнале повреждает спектральную корреляцию на границах патча и, таким образом, нарушает временную огибающую аудиосигнала за счет внесения дисперсии. Поэтому еще одно преимущество осуществления заполнения мозаичного элемента IGF на остаточном сигнале состоит в том, что, после применения формирующего фильтра, границы мозаичных элементов плавно коррелируются, что приводит к более верному временному воспроизведению сигнала.
В отвечающий изобретению кодере, спектр, подвергнутый фильтрации TNS/TTS, обработке маски тональности и оценке параметров IGF, избавляется от любого сигнала выше начальной частоты IGF за исключением тональных компонентов. Этот разреженный спектр кодируется основным кодером с использованием принципов арифметического кодирования и кодирования с предсказанием. Эти кодированные компоненты совместно с битами сигнализации образуют битовый поток аудиосигнала.
Фиг. 2a демонстрирует реализацию соответствующего декодера. Битовый поток, показанный на фиг. 2a, соответствующий кодированному аудиосигналу, поступает на демультиплексор/декодер, который будет подключен, согласно фиг. 1b, к блокам 112 и 114. Демультиплексор битового потока разделяет входной аудиосигнал на первое кодированное представление 107, показанное на фиг. 1b, и второе кодированное представление 109, показанное на фиг. 1b. Первое кодированное представление, имеющее первый набор первых спектральных участков, поступает на блок 204 декодирования сведенных каналов, соответствующий декодеру 112 спектральной области, показанному на фиг. 1b. Второе кодированное представление поступает на параметрический декодер 114, не представленный на фиг. 2a, и затем поступает на блок 202 IGF, соответствующий частотному регенератору 116, показанному на фиг. 1b. Первый набор первых спектральных участков, необходимых для частотной регенерации, поступает на блок 202 IGF по линии 203. Кроме того, после декодирование 204 сведенных каналов конкретное основное декодирование применяется на блоке 206 тональной маски таким образом, что выходной сигнал тональной маски 206 соответствует выходному сигналу декодера 112 спектральной области. Затем объединитель 208 осуществляет объединение, т.е. построение кадра, причем выходной сигнал объединителя 208 имеет спектр полного диапазона, но все же в области фильтрации TNS/TTS. Затем, на блоке 210, операция обратной TNS/TTS осуществляется с использованием информации фильтра TNS/TTS, поступающей по линии 109, т.е. побочную информацию TTS предпочтительно включать в первое кодированное представление, сгенерированное кодером 106 спектральной области, который может быть, например, основным кодером прямого AAC или USAC, или также включать во второе кодированное представление. На выходе блока 210 обеспечивается полный спектр вплоть до максимальной частоты, которая является частотой полного диапазона, заданной частотой дискретизации исходного входного сигнала. Затем в банке 212 синтезирующих фильтров осуществляется спектральное/временное преобразование для окончательного получения выходного аудиосигнала.
Фиг. 3a демонстрирует схематическое представление спектра. Спектр подразделяется на полосы масштабного коэффициента SCB, причем в примере, проиллюстрированном на фиг. 3a, существует семь полос масштабного коэффициента SCB1 - SCB7. Полосы масштабного коэффициента могут быть полосами масштабного коэффициента AAC, заданными в стандарте AAC и иметь увеличение ширины полосы до более высоких частот, как схематически показано на фиг. 3a. Предпочтительно осуществлять интеллектуальное заполнение промежутка не с самого начала спектра, т.е. на низких частотах, но начинать операцию IGF на начальной частоте IGF, проиллюстрированной на 309. Таким образом, основная полоса частот проходит от самой низкой частоты до начальной частоты IGF. Выше начальной частоты IGF, анализ спектра применяется для отделения спектральных компонент высокого разрешения 304, 305, 306, 307 (первого набора первых спектральных участков) от компонент низкого разрешения, представленных вторым набором вторых спектральных участков. Фиг. 3a демонстрирует спектр, который, в порядке примера, поступает на кодер 106 спектральной области или кодер 228 сведенных каналов, т.е. основной кодер действует в полном диапазоне, но кодирует значительное количество нулевых спектральных значений, т.е. эти нулевые спектральные значения квантуются до нуля или обнуляются до квантования или после квантования. Так или иначе, основной кодер действует в полном диапазоне, т.е. как если бы спектр выглядел, как показано, т.е. основному декодеру не обязательно знать какое-либо интеллектуальное заполнение промежутка или кодирование второго набора вторых спектральных участков с более низким спектральным разрешением.
Предпочтительно, высокое разрешение задается кодированием по линиям спектральных линий, например, линий MDCT, тогда как второе разрешение или низкое разрешение задается, например, вычислением одного-единственного спектрального значения на полосу масштабного коэффициента, причем полоса масштабного коэффициента охватывает несколько частотных линий. Таким образом, второе, низкое разрешение, по отношению к своему спектральному разрешению, гораздо ниже, чем первое или высокое разрешение, заданное кодированием по линиям, обычно применяемым основным кодером, например, основным кодером AAC или USAC.
s
1
2
3
4
В отношении вычисления масштабного коэффициента или энергии, ситуация представлена на фиг. 3b. Ввиду того, что кодер является основным кодером, и ввиду того, что в каждой полосе могут присутствовать, но не обязательно, компоненты первого набора спектральных участков, основной кодер вычисляет масштабный коэффициент для каждой полосы не только в основном диапазоне ниже начальной частоты 309 IGF, но и выше начальной частоты IGF вплоть до максимальной частоты , которая меньше или равна половине частоты дискретизации, т.е. f/2. Таким образом, кодированные тональные участки 302, 304, 305, 306, 307, показанные на фиг. 3a, и, в этом варианте осуществления, совместно с масштабными коэффициентами SCB1 - SCB7, соответствуют спектральным данным высокого разрешения. Спектральные данные низкого разрешения вычисляются, начиная с начальной частоты IGF и соответствуют значениям информации энергии E, E, E, E, которые передаются совместно с масштабными коэффициентами SF4 - SF7.
2
1
2
3
4
В частности, когда основной кодер находится в условиях низкой битовой скорости, можно также применять дополнительную операцию шумозаполнения в основной полосе, т.е. на частотах, более низких, чем начальная частота IGF, т.е. в полосах масштабного коэффициента SCB1 - SCB3. При шумозаполнении, существует несколько соседних спектральных линий, квантованных до нуля. На стороне декодера, эти квантованные до нуля спектральные значения повторно синтезируются, и повторно синтезированный спектральные значения регулируются по величине с использованием энергии шумозаполнения, например, NF, проиллюстрированной на 308 на фиг. 3b. Энергия шумозаполнения, которая может быть выражена в абсолютных величинах или в относительных величинах, в частности, относительно масштабного коэффициента, как в USAC, соответствует энергии набора спектральных значений, квантованных до нуля. Эти спектральные линии шумозаполнения также можно рассматривать как третий набор третьих спектральных участков, которые регенерируются прямым синтезом шумозаполнения без какой-либо операции IGF, опирающейся на частотную регенерацию с использованием частотных мозаичных элементов из других частот для реконструкции частотных мозаичных элементов с использованием спектральных значений из исходного диапазона и информации энергии E, E, E, E.
Предпочтительно, полосы, для которых вычисляется информация энергии, совпадают с полосами масштабного коэффициента. В других вариантах осуществления, группирование значений информации энергии применяется таким образом, что, например, для полос масштабного коэффициента 4 и 5, передается одно-единственное значение информации энергии, но даже в этом варианте осуществления, границы сгруппированных полос реконструкции совпадают с границами полос масштабного коэффициента. Если применяются другие разделения полосы, то можно применять некоторые повторные вычисления или вычисления синхронизации, и это может иметь смысл в зависимости от некоторой реализации.
Предпочтительно, кодер 106 спектральной области, показанный на фиг. 1a, является кодером с психоакустическим возбуждением, как показано на фиг. 4a. Обычно, как проиллюстрировано, например, в стандарте AAC MPEG2/4 или стандарте MPEG1/2, уровень 3, подлежащий кодированию аудиосигнал, преобразованный в спектральный диапазон (401 на фиг. 4a) пересылается на калькулятор 400 масштабных коэффициентов. Калькулятор масштабных коэффициентов управляется психоакустической моделью, дополнительно принимающей аудиосигнал, подлежащий квантованию, или принимающей, как в стандарте MPEG1/2 уровень 3 или AAC MPEG, комплексное спектральное представление аудиосигнала. Психоакустическая модель вычисляет, для каждой полосы масштабного коэффициента, масштабный коэффициент, представляющий психоакустический порог. Дополнительно, масштабные коэффициенты затем, путем кооперации общеизвестных внутренних и внешних циклов итерации или посредством любой другой подходящей процедуры кодирования, регулируются таким образом, что выполняются некоторые условия битовой скорости. Затем квантованные спектральные значения, подлежащие квантованию, с одной стороны, и вычисленные масштабные коэффициенты с другой стороны, поступают на процессор 404 квантователя. В прямой операции аудиокодера, квантованные спектральные значения, подлежащие квантованию, взвешиваются масштабными коэффициентами и затем взвешенные спектральные значения поступают на фиксированный квантователь, обычно имеющий функциональную возможность сжатия до верхних диапазонов амплитуды. Тогда, на выходе процессора квантователя образуются индексы квантования, которые затем пересылаются на энтропийный кодер, обычно имеющий конкретное и очень эффективное кодирование для набора нулевых индексов квантования для соседних значений частоты или, как также именуется в технике, ʺсерииʺ нулевых значений.
Однако в аудиокодере, показанном на фиг. 1a, процессор квантователя обычно принимает информацию о вторых спектральных участках от спектрального анализатора. Таким образом, процессор 404 квантователя гарантирует, что, на выходе процессора 404 квантователя, вторые спектральные участки, идентифицированные спектральным анализатором 102, являются нулевыми или имеют представление, подтвержденное кодером или декодером как нулевое представление, которое можно очень эффективно кодировать, в частности, при наличии в спектре ʺсерииʺ нулевых значений.
Фиг. 4b демонстрирует реализацию процессора квантователя. Спектральные значения MDCT могут поступать на блок 410 обнуления. В этом случае, вторые спектральные участки уже обнулены до осуществления взвешивания масштабными коэффициентами на блоке 412. В дополнительной реализации, блок 410 не предусмотрен, но кооперация обнуления осуществляется на блоке 418 после блока 412 взвешивания. В еще одной дополнительной реализации, операция обнуления также может осуществляться на блоке 422 обнуления после квантования на блоке 420 квантователя. В этой реализации, блоки 410 и 418 не будут присутствовать. В общем случае, предусмотрен, по меньшей мере, один из блоков 410, 418, 422 в зависимости от конкретной реализации.
Затем на выходе блока 422 получается квантованный спектр, соответствующий представленному на фиг. 3a. Затем этот квантованный спектр поступает на энтропийный кодер, например 232 на фиг. 2b, который может быть кодером Хаффмана или арифметическим кодером, например, заданный в стандарте USAC.
Блоки 410, 418, 422 обнуления, которые предусмотрены альтернативно друг другу или параллельно, управляются спектральным анализатором 424. Спектральный анализатор, предпочтительно, содержит любую реализацию общеизвестного детектора тональности или содержит любую другую разновидность детектора, действующего для разделения спектра на компоненты, подлежащие кодированию с высоким разрешением, и компоненты, подлежащие кодированию с низким разрешением. Другие подобные алгоритмы, реализованные в спектральном анализаторе, могут быть детектором речевой активности, детектором шума, речевым детектором или любым другим детектором, принимающим решение, в зависимости от спектральной информации или соответствующих метаданных по требованиям к разрешению для различных спектральных участков.
Фиг. 5a демонстрирует предпочтительную реализацию временно-спектрального преобразователя 100, показанного на фиг. 1a, например, реализованного в AAC или USAC. Временно-спектральный преобразователь 100 содержит блок 502 формирования окна, управляемый детектором 504 перехода. Когда детектор 504 перехода обнаруживает переход, переход от длинных функций окна к коротким функциям окна сигнализируется блоку формирования окна. Затем блок 502 формирования окна вычисляет, для перекрывающихся блоков, кадры, обработанные функцией окна, где каждый кадр, обработанный функцией окна, обычно имеет два N значений, например, 2048 значений. Затем осуществляется преобразование с помощью блочного преобразователя 506, и этот блочный преобразователь обычно дополнительно обеспечивает прореживание, благодаря чему, объединенные прореживание/преобразование осуществляется для получения спектрального кадра с N значениями, например, спектральными значениями MDCT. Таким образом, для операции длинной функции окна, кадр на входе блока 506 содержит два N значений, например 2048 значений, и спектральный кадр имеет 1024 значения. Однако затем осуществляется переключение на короткие блоки, когда осуществляется восемь коротких блоков, где каждый короткий блок имеет 1/8 значений, обработанных функцией окна, временной области по сравнению с длинной функцией окна, и каждый спектральный блок имеет 1/8 спектральных значений по сравнению с длинным блоком. Таким образом, когда это прореживание объединяется с операцией 50%-ого перекрытия блока формирования окна, спектр является критически дискретизированной версией аудиосигнала 99 временной области.
3
Теперь обратимся к фиг. 5b, демонстрирующей конкретную реализацию частотного регенератора 116 и спектрально-временного преобразователя 118, показанных на фиг. 1b, или объединенную операцию блоков 208, 212, показанных на фиг. 2a. На фиг. 5b рассматривается конкретная полоса реконструкции, например, полоса 6 масштабного коэффициента, показанная на фиг. 3a. Первый спектральный участок в этой полосе реконструкции, т.е. первый спектральный участок 306, показанный на фиг. 3a, поступает на блок 510 построения/регулировки кадров. Кроме того, реконструированный второй спектральный участок для полосы 6 масштабного коэффициента поступает также на построитель/регулятор 510 кадров. Кроме того, информация энергии, например E, показанная на фиг. 3b, для полосы 6 масштабного коэффициента также поступает на блок 510. Реконструированный второй спектральный участок в полосе реконструкции уже был сгенерирован путем заполнения частотного мозаичного элемента с использованием исходного диапазона, и в этом случае полоса реконструкции соответствует целевому диапазону. Затем осуществляется регулировка энергии кадра, чтобы, наконец, получить полный реконструированный кадр, имеющий N значений, полученный, например, на выходе объединителя 208, полученного на фиг. 2a. Затем, на блоке 512, осуществляется обратное преобразование/интерполяция блоков для получения 2048 значений временной области, например, для 1024 спектральных значений на входе блока 512. Затем, операция формирования окна для синтеза осуществляется на блоке 514, который, опять же, управляется указанием длинной функции окна /короткой функции окна, передаваемой в качестве побочной информации в кодированном аудиосигнале. Затем на блоке 516 осуществляется операция перекрытия-сложения с предыдущим временным кадром. Предпочтительно, MDCT применяет 50%-ое перекрытие таким образом, что, для каждого нового временного кадра 2N значений, наконец, выводятся N значений временной области. 50%-ое перекрытие весьма предпочтительно ввиду того, что оно обеспечивает критическую дискретизацию и непрерывный переход от одного кадра к следующему кадру вследствие операции перекрытия-сложения на блоке 516.
Как показано на 301 на фиг. 3a, операция шумозаполнения может дополнительно применяться не только ниже начальной частоты IGF, но и выше начальной частоты IGF, например, для рассматриваемой полосе реконструкции, совпадающей с полосой 6 масштабного коэффициента, показанной на фиг. 3a. Затем спектральные значения шумозаполнения также могут поступать на построитель/регулятор 510 кадров, и регулировка спектральных значений шумозаполнения также может применять на этом блоке, или спектральные значения шумозаполнения могут заранее регулироваться с использованием энергии шумозаполнения до поступления на построитель/регулятор 510 кадров.
Предпочтительно, операция IGF, т.е. операция заполнения частотного мозаичного элемента с использованием спектральных значений из других участков можно применять в полном спектре. Таким образом, операция заполнения спектрального мозаичного элемента может применяться не только в верхней полосе выше начальной частоты IGF, но также может применяться в нижней полосе. Кроме того, шумозаполнение без заполнения частотного мозаичного элемента также можно применять не только ниже начальной частоты IGF, но и выше начальной частоты IGF. Однако было установлено, что высококачественное и высокоэффективное аудиокодирование можно получить, когда операция шумозаполнения ограничена диапазоном частот ниже начальной частоты IGF, и когда операция заполнения частотного мозаичного элемента ограничена диапазоном частот выше начальной частоты IGF, как показано на фиг. 3a.
Предпочтительно, целевые мозаичные элементы (TT) (имеющие частоты, большие, чем начальная частота IGF) привязаны к границам полосы масштабного коэффициента полноскоростного кодера. Исходные мозаичные элементы (ST), из которых берется информация, т.е. для частот, более низких, чем начальная частота IGF, не связаны границами полосы масштабного коэффициента. Размер ST должен соответствовать размеру соответствующего TT. Это проиллюстрировано с использованием следующего примера. TT[0] имеет длину 10 бинов MDCT. Это в точности соответствует длине двух последующих SCB (например, 4+6). В этом случае, все возможные ST, которые должны коррелировать с TT[0], тоже имеют длину 10 бинов. Второй целевой мозаичный элемент TT[1], соседствующий с TT[0], имеет длину 15 бинов l (SCB, имеющий длину 7+8). В этом случае, ST для него имеют длину 15 бинов, а не 10 бины, как для TT[0].
В случае, когда не удается найти TT для ST с длиной целевого мозаичного элемента (например, когда длина TT больше доступного исходного диапазона), корреляция не вычисляется, и исходный диапазон копируется несколько раз в этот TT (копирование осуществляется повторно таким образом, что линия частоты для самой низкой частоты второй копии непосредственно следует - по частоте - за линией частоты для самой высокой частоты первой копии), пока целевой мозаичный элемент TT не будет до конца наполнен.
Теперь обратимся к фиг. 5c, демонстрирующей дополнительный предпочтительный вариант осуществления частотного регенератора 116, показанного на фиг. 1b, или блока 202 IGF, показанного на фиг. 2a. Блок 522 является генератором частотного мозаичного элемента, принимающим не только ID целевой полосы, но дополнительно принимающим ID исходной полосы. В порядке примера, на стороне кодера определено, что полоса 3 масштабного коэффициента, показанная на фиг. 3a, весьма пригодна для реконструкции полосы 7 масштабного коэффициента. Таким образом, ID исходной полосы будет равен 2, и ID целевой полосы будет равен 7. На основании этой информации, генератор 522 частотного мозаичного элемента применяет улучшающее копирование или гармоническую операцию заполнения мозаичного элемента или любую другую операцию заполнения мозаичного элемента для генерации первичного второго участка спектральных компонент 523. Первичный второй участок спектральных компонент имеет частотное разрешение, идентичное частотному разрешению, включенному в первый набор первых спектральных участков.
4
Затем первый спектральный участок полосы реконструкции, например 307 на фиг. 3a, поступает на построитель 524 кадров, и первичный второй участок 523 также поступает на построитель 524 кадров. Затем реконструированный кадр регулируется регулятором 526 с использованием коэффициента усиления для полосы реконструкции, вычисленного калькулятором 528 коэффициента усиления. Однако важно, что регулятор 526 не влияет на первый спектральный участок в кадре, но регулятор 526 влияет только на первичный второй участок для кадра реконструкции. Для этого, калькулятор 528 коэффициента усиления анализирует исходную полосу или первичный второй участок 523 и дополнительно анализирует первый спектральный участок в полосе реконструкции для окончательного нахождения правильного коэффициента усиления 527 таким образом, что энергия отрегулированного кадра, выводимого регулятором 526, имеет энергию E при рассмотрении полосы 7 масштабного коэффициента.
В этом контексте, очень важно оценивать точность реконструкции высоких частот настоящего изобретения по сравнению с HE-AAC. Это объяснено в отношении полосы 7 масштабного коэффициента на фиг. 3a. Предполагается, что традиционный кодер, например, представленный на фиг. 13a, обнаруживает спектральный участок 307, подлежащий кодированию с высоким разрешением, как ʺпотерянные гармоникиʺ. В этом случае, энергия этой спектральной компоненты передается совместно с информацией спектральной огибающей для полосы реконструкции, например, полосы 7 масштабного коэффициента, на декодер. Затем декодер воссоздает потерянную гармонику. Однако спектральное значение, при котором потерянная гармоника 307 будет реконструироваться традиционным декодером, показанным на фиг. 13b, находится посередине полосы 7 на частоте, указанной частотой 390 реконструкции. Таким образом, настоящее изобретение позволяет избежать частотной ошибки 391, вносимой традиционным декодером, показанным на фиг. 13d.
В реализации, спектральный анализатор также реализован для вычисления степеней подобия между первыми спектральными участками и вторыми спектральными участками и для определения, на основании вычисленных степеней подобия, для второго спектрального участка в диапазоне реконструкции первого спектрального участка максимально возможного совпадения со вторым спектральным участком. Затем, в этой реализации переменного исходного диапазона/ диапазона назначения, параметрический кодер дополнительно вносит во второе кодированное представление информацию совпадения, указывающую для каждого диапазона назначения совпадение с исходным диапазоном. На стороне декодера, эта информация будет использоваться генератором 522 частотного мозаичного элемента, показанным фиг. 5c, иллюстрирующей генерацию первичного второго участка 523 на основании ID исходной полосы и ID целевой полосы.
Кроме того, как показано на фиг. 3a, спектральный анализатор выполнен с возможностью анализа спектрального представления вплоть до максимальной частоты анализа, которая лишь чуть ниже половины частоты дискретизации и, предпочтительно, составляет, по меньшей мере, четверть частоты дискретизации или обычно выше.
Как показано, кодер действует без понижающей дискретизации и декодер действует без повышающей дискретизации. Другими словами, аудиокодер спектральной области выполнен с возможностью генерации спектрального представления, имеющего частоту Найквиста, заданную частотой дискретизации первоначально введенного аудиосигнала.
Кроме того, как показано на фиг. 3a, спектральный анализатор выполнен с возможностью анализа спектрального представления, начиная с начальной частоты заполнения промежутка и заканчивая максимальной частотой, представленной максимальной частотой, включенной в спектральное представление, причем спектральный участок, проходящий от минимальной частоты до начальной частоты заполнения промежутка, принадлежит первому набору спектральных участков, и при этом дополнительный спектральный участок, например 304, 305, 306, 307, имеющий значения частоты выше частоты заполнения промежутка, дополнительно включен в первый набор первых спектральных участков.
Как изложено, аудиодекодер 112 спектральной области выполнен таким образом, что максимальная частота, представленная спектральным значением в первом декодированном представлении, равна максимальной частоте, включенной во временное представление, имеющее частоту дискретизации, причем спектральное значение для максимальной частоты в первом наборе первых спектральных участков равно нулю или отлично от нуля. Так или иначе, для этой максимальной частоты в первом наборе спектральных компонент существует масштабный коэффициент для полосы масштабного коэффициента, который генерируется и передается независимо от того, все ли спектральные значения в этой полосе масштабного коэффициента обнулены, как рассмотрено в контексте фиг. 3a и 3b.
Таким образом, изобретение имеет преимущество над другими параметрическими методами для повышения эффективности сжатия, например, шумозамещением и шумозаполнением (эти методы исключительны для эффективного представления шумоподобного локального содержания сигнала), изобретение позволяет точно воспроизводить частоту тональных компонент. В настоящее время, ни один традиционный метод не допускает эффективного параметрического представления произвольного содержания сигнала путем заполнения спектрального промежутка без ограничения фиксированного априорного разделения в нижней полосе (LF) и верхней полосе (HF).
Варианты осуществления системы, отвечающей изобретению, усовершенствуют традиционные подходы и, таким образом, обеспечивают высокое эффективность сжатия, не вызывают или вызывают лишь небольшое перцептивное раздражение и обеспечивают полную полосу аудиосигнала даже для низких битовых скоростей.
Система в целом состоит из
- основного кодирования в полной полосе
- интеллектуального заполнения промежутка (заполнения мозаичного элемента или шумозаполнения)
- разреженных тональных частей в основе, выбранных с помощью тональной маски
- кодирования сведенной стерео-пары для полной полосы, включая заполнение мозаичного элемента
- TNS на мозаичном элементе
- спектрального отбеливания в диапазоне IGF
Первый шаг к более эффективной системе состоит в устранении необходимости в преобразовании спектральных данных во вторую область преобразования, отличную от области преобразования основного кодера. Поскольку большинство аудиокодеков, например, AAC, используют MDCT в качестве базового преобразования, полезно также осуществлять BWE в области MDCT. Вторым требованием к системе BWE является необходимость в сохранении тональной сетки, благодаря чему, сохраняются даже HF тональные компоненты, и, таким образом, качество кодированного аудиосигнала оказывается выше, чем в существующих системах. Для удовлетворения обоим вышеупомянутым требованиям к схеме BWE, предложена новая система, именуемая интеллектуальным заполнением промежутка (IGF). На фиг. 2b показана блок-схема предложенной системы на стороне кодера и на фиг. 2a показана система на стороне декодера.
Далее, рассмотрим и определим дополнительные необязательные признаки первого процессора кодирования полной полосы частотной области и процессора декодирования полной полосы частотной области, включающие в себя операцию заполнения промежутка, которые можно реализовать по отдельности или совместно.
В частности, декодер 112 спектральной области, соответствующий блоку 1122a, выполнен с возможностью вывода последовательности декодированных кадров спектральных значений, причем декодированный кадр является первым декодированным представлением, причем кадр содержит спектральные значения для первого набора спектральных участков и указания нуля для вторых спектральных участков. Кроме того, устройство для декодирования содержит объединитель 208. Спектральные значения генерируются частотным регенератором для второго набора вторых спектральных участков, причем объединитель и частотный регенератор включены в блок 1122b. Таким образом, путем объединения вторых спектральных участков и первых спектральных участков, получается реконструированный спектральный кадр, содержащий спектральные значения для первого набора первых спектральных участков и второго набора спектральных участков, и затем спектрально-временной преобразователь 118 соответствующий блоку 1124 IMDCT, показанному на фиг. 14b, преобразует реконструированный спектральный кадр во временное представление.
Как изложено, спектрально-временной преобразователь 118 или 1124 выполнен с возможностью осуществления обратного модифицированного дискретного косинусного преобразования 512, 514 и дополнительно содержит ступень 516 перекрытия-сложения для перекрытия и суммирования последующих кадров временной области.
В частности, аудиодекодер 1122a спектральной области выполнен с возможностью генерации первого декодированного представления таким образом, что первое декодированное представление имеет частоту Найквиста, задающую частоту дискретизации, равную частоте дискретизации временного представления, сгенерированного спектрально-временным преобразователем 1124.
Кроме того, декодер 1112 или 1122a выполнен с возможностью генерации первого декодированного представления таким образом, что первый спектральный участок 306 располагается относительно частоты между двумя вторыми спектральными участками 307a, 307b.
В дополнительном варианте осуществления, максимальная частота, представленная спектральным значением для максимальной частоты в первом декодированном представлении, равна максимальной частоте, включенной во временное представление, сгенерированное спектрально-временным преобразователем, причем спектральное значение для максимальной частоты в первом представлении равно нулю или отлично от нуля.
Кроме того, как показано на фиг. 3, кодированный первый участок аудиосигнала дополнительно содержит кодированное представление третьего набора третьих спектральных участков, подлежащих реконструкции путем шумозаполнения, и первый процессор 1120 декодирования дополнительно включает в себя шумозаполнитель, включенный в блок 1122b для выделения информации 308 шумозаполнения из кодированного представления третьего набора третьих спектральных участков и для применения операции шумозаполнения в третьем наборе третьих спектральных участков без использования первого спектрального участка в другом диапазоне частот.
Кроме того, аудиодекодер 112 спектральной области выполнен с возможностью генерации первого декодированного представления, имеющего первые спектральные участки со значениями частоты, большими, чем частота, равная частоте посередине диапазона частот, покрытого временным представлением, выводимым спектрально-временным преобразователем 118 или 1124.
Кроме того, спектральный анализатор или анализатор 604 полной полосы выполнен с возможностью анализа представления, сгенерированного временно-частотным преобразователем 602 для определения первого набора первых спектральных участков, подлежащих кодированию с первым высоким спектральным разрешением и другого второго набора вторых спектральных участков, подлежащих кодированию со вторым спектральным разрешением, которое ниже, чем первое спектральное разрешение и, посредством спектрального анализатора, первый спектральный участок 306 определяется, относительно частоты, между двумя вторыми спектральными участками на фиг. 3 на 307a и 307b.
В частности, спектральный анализатор выполнен с возможностью анализа спектрального представления вплоть до максимальной частоты анализа составляет, по меньшей мере, четверть частоты дискретизации аудиосигнала.
В частности, аудиокодер спектральной области выполнен с возможностью обработки последовательности кадров спектральных значений для квантования и энтропийного кодирования, причем, в кадре обнуляются спектральные значения второго набора вторых участков, или, в кадре присутствуют спектральные значения первого набора первых спектральных участков и второго набора вторых спектральных участков и при этом, при последующей обработке, спектральные значения во втором наборе спектральных участков обнуляются, как проиллюстрировано в порядке примера на 410, 418, 422.
Аудиокодер спектральной области выполнен с возможностью генерации спектрального представления, имеющего частоту Найквиста, заданную частотой дискретизации входного аудиосигнала или первого участка аудиосигнала, обработанного первым процессором кодирования, действующим в частотной области.
Аудиокодер 606 спектральной области дополнительно выполнен с возможностью обеспечения первого кодированного представления таким образом, что, для кадра дискретизированного аудиосигнала, кодированное представление содержит первый набор первых спектральных участков и второй набор вторых спектральных участков, причем спектральные значения во втором наборе спектральных участков кодируются как нулевые или шумовые значения.
max
Анализатор 604 или 102 полной полосы выполнен с возможностью анализа спектрального представления, начиная с начальной частоты 209 заполнения промежутка и заканчивая максимальной частотой f, представленной максимальной частотой, включенной в спектральное представление и спектральный участок, проходящий от минимальной частоты до начальной частоты 309 заполнения промежутка, принадлежит первому набору первых спектральных участков.
В частности, анализатор выполнен с возможностью применения обработки тональной маски, по меньшей мере, участка спектрального представления таким образом, что тональные компоненты и нетональные компоненты отделяются друг от друга, причем первый набор первых спектральных участков содержит тональные компоненты, и при этом второй набор вторых спектральных участков содержит нетональные компоненты.
Хотя настоящее изобретение описано в контексте блок-схем, где блоки представляют фактические или логические аппаратные компоненты, настоящее изобретение можно также реализовать посредством компьютерно-реализуемого способа. В последнем случае, блоки представляют соответствующие этапы способа, где эти этапы представляют функциональные возможности, осуществляемые соответствующими логическими или физическими аппаратными блоками.
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствует этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента или признака соответствующего устройства. Некоторые или все из этапов способа могут выполняться посредством (или с использованием) аппаратного устройства, например, микропроцессора, программируемого компьютера или электронной схемы. В некоторых вариантах осуществления, некоторые один или более из наиболее важных этапов способа могут выполняться таким устройством.
Передаваемый или кодированный сигнал, согласно изобретению, может храниться на цифровом носителе данных или может передаваться в среде передачи, например, беспроводной среде передачи или проводной среде передачи, например, интернете.
В зависимости от некоторых требований к реализации, варианты осуществления изобретения можно реализовать в оборудовании или в программном обеспечении. Реализация может осуществляться с использованием цифрового носителя данных, например, флоппи-диска, DVD, Blu-Ray, CD, ROM, PROM и EPROM, EEPROM или флеш-памяти, где хранятся электронно-считываемые сигналы управления, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой, благодаря чему, осуществляется соответствующий способ. Таким образом, цифровой носитель данных может быть компьютерно-считываемым.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронно-считываемые сигналы управления, которые способны взаимодействовать с программируемой компьютерной системой, благодаря чему, осуществляется один из описанных здесь способов.
В общем случае, варианты осуществления настоящего изобретения могут быть реализованы в виде компьютерного программного продукта с программным кодом, причем программный код пригоден для осуществления одного из способов при выполнении компьютерного программного продукта на компьютере. Программный код может, например, храниться на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из описанных здесь способов, хранящуюся на машиночитаемом носителе.
Другими словами, вариант осуществления способа, отвечающего изобретению, таким образом, являются компьютерной программой, имеющей программный код для осуществления одного из описанных здесь способов, при выполнении компьютерной программы на компьютере.
Дополнительный вариант осуществления способа, отвечающего изобретению, таким образом, представляет собой носитель данных (или нетранзиторный носитель данных, например, цифровой носитель данных или компьютерно-считываемый носитель), на котором записана компьютерная программа для осуществления одного из описанных здесь способов. Носитель данных, цифровой носитель данных или носитель записи обычно является вещественным и/или нетранзиторным.
Таким образом, дополнительный вариант осуществления изобретения способа представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из описанных здесь способов. Поток данных или последовательность сигналов может, например, быть выполнен с возможностью переноса через соединение для передачи данных, например, через интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное с возможностью, или адаптированное для, осуществления одного из описанных здесь способов.
Дополнительный вариант осуществления содержит компьютер, на котором установлена компьютерная программа для осуществления одного из описанных здесь способов.
Дополнительный вариант осуществления согласно изобретению содержит устройство или систему, выполненный с возможностью переноса (например, электронного или оптического) компьютерной программы для осуществления одного из описанных здесь способов на приемник. Приемником, например, может быть компьютер, мобильное устройство, запоминающее устройство и т.п. Устройство или система может, например, содержать файловый сервер для переноса компьютерной программы на приемник.
В некоторых вариантах осуществления, программируемое логическое устройство (например, вентильная матрица, программируемая пользователем) может использоваться для осуществления некоторых или всех из функциональных возможностей описанных здесь способов. В некоторых вариантах осуществления, вентильная матрица, программируемая пользователем, может взаимодействовать с микропроцессором для осуществления одного из описанных здесь способов. В общем случае, способы, предпочтительно, осуществляются любым аппаратным устройством.
Вышеописанные варианты осуществления лишь иллюстрируют принципы настоящего изобретения. Следует понимать, что специалисты в данной области техники могут предложить модификации и вариации описанных здесь конфигураций и деталей. Таким образом, следует ограничиваться только объемом нижеследующей формулы изобретения, а не конкретными деталями, представленными посредством описания и объяснения рассмотренных здесь вариантов осуществления.