КОДЕР, ДЕКОДЕР, СПОСОБ КОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ
CODER, DECODER, CODING METHOD AND DECODING METHOD

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству кодирования, устройству декодирования, способу кодирования и способу декодирования для кодирования/декодирования речевых сигналов, аудиосигналов и пр.
Описание уровня техники
Для эффективного использования радиоресурсов в системах мобильной связи необходимо сжимать речевые сигналы на низкой битовой скорости. С другой стороны, пользователь ожидает повышение качества передаваемой речи и реализации услуг связи с высокой точностью. Чтобы реализовать это, предпочтительно не только повышать качество речевых сигналов, но также иметь возможность кодировать сигналы, отличные от речевых, например аудиосигналы, имеющие более широкий диапазон, с высоким качеством.
С учетом таких противоречивых требований подход иерархического включения совокупности методов кодирования выглядит многообещающим. В частности, пригодна конфигурация, объединяющая на многослойной основе блок кодирования первого уровня, который кодирует входной сигнал с использованием низкой битовой скорости с использованием модели, подходящей для речевого сигнала, и блок кодирования второго уровня, который кодирует сигнал остатка между входным сигналом и декодированным сигналом первого слоя с использованием модели, подходящей для общих сигналов, в том числе речевого сигнала. Схемы кодирования, имеющие такую многослойную структуру, обладают масштабируемостью (способны получать декодированные сигналы даже из частичной информации битовых потоков) в битовых потоках, полученных блоком кодирования, и поэтому такие схемы называются масштабируемым кодированием. Особенностью масштабируемого кодирования является дополнительная способность гибко поддерживать связь между сетями, имеющими разные битовые скорости. Эта особенность полезна для сетевого окружения будущего, где различные сети будут объединены IP-протоколом.
В качестве традиционного масштабируемого кодирования можно привести пример масштабируемого кодирования, раскрытого в непатентном документе 1, в этом документе раскрыт способ, согласно которому масштабируемое кодирование осуществляется с использованием метода, заданного в MPEG-4 (Moving Picture Experts Group phase-4) [Экспертная группа по вопросам движущегося изображения фаза 4]. В частности, на первом слое (базовом слое) речевой сигнал (исходный сигнал) кодируется с использованием CELP (Code Excited Linear Prediction) [возбуждаемое кодом линейное предсказание], и на втором слое (слое расширения) сигнал остатка кодируется с использованием кодирования преобразования, например, ACC (Advanced Audio Coder) [усовершенствованный аудиокодер] и TwinVQ (Transform Domain Weighted Interleave Vector Quantization). Здесь, сигнал остатка - это сигнал, полученный вычитанием сигнала (декодированного сигнала первого слоя), полученного декодированием кодированного кода, полученного на первом слое, из исходного сигнала.
Непатентный документ 1: “Everything for MPEG-4”, составленный Мики Сукеичи (Miki Sukeichi), опубликовый Kogyo Chosakai Publishing, Inc., 30 сентября 1998, стр.126 - 127.
Сущность изобретения
Проблемы, стоящие перед изобретением
Однако, согласно вышеописанному методу, отвечающему уровню техники, кодирование преобразования на втором слое осуществляется на сигнале остатка, полученном вычитанием декодированного сигнала первого слоя из исходного сигнала. В результате часть главной информации, содержащейся в исходном сигнале, удаляется через первый слой. В этом случае характеристика сигнала остатка близка к шумовой последовательности. Поэтому, когда кодирование преобразования, призванное эффективно кодировать музыкальные сигналы, например AAC и TwinVQ, используется для второго слоя, чтобы кодировать сигнал остатка, имеющий вышеописанную характеристику, и добиться высокого качества декодированного сигнала, необходимо выделять большое количество битов. Это значит, что битовая скорость возрастает.
Поэтому задачей настоящего изобретения, исходя из этих проблем, является обеспечение устройства кодирования, устройства декодирования, способа кодирования и способа декодирования, позволяющих получать высококачественные декодированные сигналы, даже когда кодирование осуществляется на низкой битовой скорости на втором слое или на слоях выше второго слоя.
Средство решения проблемы
Устройство кодирования, отвечающее настоящему изобретению, генерирует информацию кодирования низкочастотного диапазона и информацию кодирования высокочастотного диапазона из исходного сигнала и имеет конфигурацию, включающую в себя: блок вычисления первого спектра, который вычисляет первый спектр низкочастотного диапазона из декодированного сигнала информации кодирования низкочастотного диапазона; блок вычисления второго спектра, который вычисляет второй спектр из исходного сигнала; блок вычисления первого параметра, который вычисляет первый параметр, указывающий степень подобия между первым спектром и высокочастотным диапазоном второго спектра; блок вычисления второго параметра, который вычисляет второй параметр, указывающий компонент флуктуации между первым спектром и высокочастотным диапазоном второго спектра; и блок кодирования, который кодирует вычисленные первый параметр и второй параметр как информацию кодирования высокочастотного диапазона.
Устройство кодирования, отвечающее настоящему изобретению, генерирует информацию кодирования низкочастотного диапазона и информацию кодирования высокочастотного диапазона из исходного сигнала и имеет конфигурацию, включающую в себя: блок вычисления первого спектра, который вычисляет первый спектр низкочастотного диапазона из декодированного сигнала информации кодирования низкочастотного диапазона; блок вычисления второго спектра, который вычисляет второй спектр из исходного сигнала; блок вычисления параметра, который вычисляет параметр, указывающий степень подобия между первым спектром и высокочастотным диапазоном второго спектра; блок кодирования параметра, который кодирует вычисленный параметр как информацию кодирования высокочастотного диапазона; и блок кодирования остаточного компонента, который кодирует остаточный компонент между первым спектром и низкочастотным диапазоном второго спектра, в котором блок вычисления параметра вычисляет параметр после повышения качества первого спектра с использованием остаточного компонента, закодированного блоком кодирования остаточного компонента.
Устройство декодирования, отвечающее настоящему изобретению, имеет конфигурацию, включающую в себя: блок получения спектра, который получает первый спектр, соответствующий низкочастотному диапазону; блок получения параметра, который соответственно получает первый параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает степень подобия между первым спектром и высокочастотным диапазоном второго спектра, соответствующим исходному сигналу, и второй параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает компонент флуктуации между первым спектром и высокочастотным диапазоном второго спектра; и блок декодирования, который декодирует второй спектр с использованием полученных первого параметра и второго параметра.
Способ кодирования настоящего изобретения, для генерации информации кодирования низкочастотного диапазона и информации кодирования высокочастотного диапазона на основании исходного сигнала, имеет конфигурацию, включающую в себя: этап вычисления первого спектра, на котором вычисляют первый спектр низкочастотного диапазона из декодированного сигнала информации кодирования низкочастотного диапазона; этап вычисления второго спектра, на котором вычисляют второй спектр из исходного сигнала; этап вычисления первого параметра, на котором вычисляют первый параметр, указывающий степень подобия между первым спектром и высокочастотным диапазоном второго спектра; этап вычисления второго параметра, на котором вычисляют второй параметр, указывающий компонент флуктуации между первым спектром и высокочастотным диапазоном; и этап кодирования, на котором кодируют вычисленные первый параметр и второй параметр как информацию кодирования высокочастотного диапазона.
Способ декодирования настоящего изобретения имеет конфигурацию, включающую в себя: этап получения спектра, на котором получают первый спектр, соответствующий низкочастотному диапазону; этап получения параметра, на котором соответственно получают первый параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает степень подобия между первым спектром и высокочастотным диапазоном второго спектра, соответствующим исходному сигналу, и второй параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает компонент флуктуации между первым спектром и высокочастотным диапазоном второго спектра; и этап декодирования, на котором декодируют второй спектр с использованием полученных первого параметра и второго параметра.
Преимущества изобретения
Согласно настоящему изобретению можно получить высококачественный декодированный сигнал, осуществляя кодирование на низкой битовой скорости на втором слое или на слоях выше второго слоя.
Краткое описание чертежей
Фиг.1 - блок-схема, демонстрирующая конфигурацию устройства кодирования согласно варианту осуществления 1 настоящего изобретения;
фиг.2 - блок-схема, демонстрирующая конфигурацию блока кодирования второго уровня согласно варианту осуществления 1 настоящего изобретения;
фиг.3 - блок-схема, демонстрирующая конфигурацию блока кодирования диапазона расширения согласно варианту осуществления 1 настоящего изобретения;
фиг.4 - схема, демонстрирующая буфер генерации спектра, обрабатываемый на блоке фильтрации блока кодирования диапазона расширения согласно варианту осуществления 1 настоящего изобретения;
фиг.5 - схема, демонстрирующая содержимое битового потока, выведенного из блока мультиплексирования устройства кодирования согласно варианту осуществления 1 настоящего изобретения;
фиг.6 - блок-схема, демонстрирующая конфигурацию устройства декодирования согласно варианту осуществления 1 настоящего изобретения;
фиг.7 - блок-схема, демонстрирующая конфигурацию блока декодирования второго уровня согласно варианту осуществления 1 настоящего изобретения;
фиг.8 - блок-схема, демонстрирующая конфигурацию блока декодирования диапазона расширения согласно варианту осуществления 1 настоящего изобретения;
фиг.9 - блок-схема, демонстрирующая конфигурацию блока кодирования второго уровня согласно варианту осуществления 2 настоящего изобретения;
фиг.10 - блок-схема, демонстрирующая конфигурацию блока кодирования первого спектра согласно варианту осуществления 2 настоящего изобретения;
фиг.11 - блок-схема, демонстрирующая конфигурацию блока декодирования второго уровня согласно варианту осуществления 2 настоящего изобретения;
фиг.12 - блок-схема, демонстрирующая конфигурацию блока декодирования первого спектра согласно варианту осуществления 2 настоящего изобретения;
фиг.13 - блок-схема, демонстрирующая конфигурацию блока кодирования диапазона расширения согласно варианту осуществления 2 настоящего изобретения;
фиг.14 - блок-схема, демонстрирующая конфигурацию блока декодирования диапазона расширения согласно варианту осуществления 2 настоящего изобретения;
фиг.15 - блок-схема, демонстрирующая конфигурацию блока кодирования второго уровня согласно варианту осуществления 3 настоящего изобретения;
фиг.16 - блок-схема, демонстрирующая конфигурацию блока кодирования второго спектра согласно варианту осуществления 3 настоящего изобретения;
фиг.17 - блок-схема, демонстрирующая видоизмененный пример конфигурации блока кодирования второго спектра согласно варианту осуществления 3 настоящего изобретения;
фиг.18 - блок-схема, демонстрирующая конфигурацию блока декодирования второго уровня согласно варианту осуществления 3 настоящего изобретения;
фиг.19 - блок-схема, демонстрирующая видоизмененный пример конфигурации блока декодирования второго спектра согласно варианту осуществления 3 настоящего изобретения;
фиг.20 - блок-схема, демонстрирующая видоизмененный пример конфигурации блока кодирования второго уровня согласно варианту осуществления 3 настоящего изобретения; и
фиг.21 - блок-схема, демонстрирующая видоизмененный пример конфигурации блока декодирования второго уровня согласно варианту осуществления 3 настоящего изобретения.
Предпочтительные варианты осуществления изобретения
Настоящее изобретение относится к кодированию преобразования, пригодному для слоев расширения в масштабируемом кодировании, и, в частности, к способу эффективного кодирования спектра при кодировании преобразования.
Одна основная особенность состоит в том, что обработка фильтрацией осуществляется с использованием фильтра, принимающего спектр (декодированный спектр первого слоя), полученный благодаря осуществлению частотного анализа на декодированном сигнале первого слоя в качестве внутреннего состояния (состояния фильтра), и этот выходной сигнал принимается как оценочное значение для высокочастотного диапазона исходного спектра. Здесь, исходный спектр - это спектр, полученный осуществлением частотного анализа на исходном сигнале с регулировкой задержки. Информация фильтра, когда сгенерированный выходной сигнал в основном является аналоговым в высокочастотном диапазоне исходного спектра, кодируется и передается на блок декодирования. Кодировать необходимо только информацию фильтра, что позволяет добиться низкой битовой скорости.
Согласно одному варианту осуществления настоящего изобретения при осуществлении обработки фильтрацией остаток спектра поступает на фильтр с использованием кодовой книги формы остатка спектра, в которой записана совокупность кандидатов остатка спектра. Согласно другому варианту осуществления компонент ошибки декодированного спектра первого слоя кодируется до того, как декодированный спектр первого слоя сохраняется в качестве внутреннего состояния фильтра, и после повышения качества декодированного спектра первого слоя высокочастотный диапазон исходного спектра оценивается путем обработки фильтрацией. Кроме того, согласно еще одному варианту осуществления, компонент ошибки декодированного спектра первого слоя кодируется так, чтобы эффективность кодирования декодированного спектра первого слоя и эффективность оценивания спектра высокочастотного диапазона с использованием декодированного спектра первого слоя возрастали после кодирования компонента ошибки декодированного спектра первого слоя.
Перейдем к подробному описанию вариантов осуществления настоящего изобретения со ссылкой на прилагаемые чертежи. В каждом из вариантов осуществления осуществляется масштабируемое кодирование, имеющее многослойную структуру, образованную совокупностью слоев. Кроме того, в каждом варианте осуществления, для примера, считается, что (1) многослойная структура масштабируемого кодирования состоит из двух слоев, а именно первого слоя (базового слоя или нижнего слоя) и второго слоя, который является более высоким слоем, чем первый слой (слоем расширения или слоем развития), (2) кодирование (кодирование преобразования) осуществляется в частотной области при кодировании второго слоя, (3) MDCT (Modified Discrete Cosine Transform) [модифицированное дискретное косинусное преобразование] используется как схема преобразования при кодировании второго слоя, (4) при кодировании второго слоя, когда полный диапазон делится на совокупность поддиапазонов, полный диапазон делится на регулярные интервалы с использованием шкалы Барка, и тогда каждый поддиапазон соответствует каждому критическому диапазону, и (5) соотношение, состоящее в том, что F2 больше или равен F1 (F1≤F2) справедливо между частотой дискретизации (F1) входного сигнала для первого слоя и частотой дискретизации (F2) входного сигнала для второго слоя.
Вариант осуществления 1
На фиг.1 показана блок-схема, демонстрирующая конфигурацию устройства 100 кодирования, представляющего собой, например, устройство кодирования речи. Устройство 100 кодирования имеет блок 101 понижающей дискретизации, блок 102 кодирования первого уровня, блок 103 декодирования первого уровня, блок 104 мультиплексирования, блок 105 кодирования второго уровня и блок 106 задержки.
Согласно фиг.1, речевой сигнал и аудиосигнал (исходный сигнал) с частотой дискретизации F2 поступают на блок 101 понижающей дискретизации, обработка преобразованием дискретизации осуществляется на блоке 101 понижающей дискретизации, и сигнал с частотой дискретизации F1 генерируется и поступает на блок 102 кодирования первого уровня. Затем блок 102 кодирования первого уровня выводит кодированный код, полученный кодированием сигнала с частотой дискретизации F1, на блок 103 декодирования первого уровня и блок 104 мультиплексирования.
Затем блок 103 декодирования первого уровня генерирует декодированный сигнал первого слоя из кодированного кода, выведенного из блока 102 кодирования первого уровня, и выводит декодированный сигнал первого слоя на блок 105 кодирования второго уровня.
Блок задержки 106 вносит задержку заранее определенной длительности в исходный сигнал и выводит результат на блок 105 кодирования второго уровня. Эта задержка нужна для регулировки задержки по времени, возникающей на блоке 101 понижающей дискретизации, блоке 102 кодирования первого уровня и блоке 103 декодирования первого уровня.
Блок 105 кодирования второго уровня кодирует исходный сигнал, выведенный из блока 106 задержки, с использованием декодированного сигнала первого слоя, выведенного из блока 103 декодирования первого уровня. Затем кодированный код, полученный в результате этого кодирования, выводится на блок мультиплексирования 104.
Затем блок 104 мультиплексирования мультиплексирует кодированный код, выведенный из блока 102 кодирования первого уровня, и кодированный код, выведенный из блока 105 кодирования второго уровня, и выводит результат как битовый поток.
Перейдем к более подробному описанию блока 105 кодирования второго уровня. Конфигурация блока 105 кодирования второго уровня показана на фиг.2. Блок 105 кодирования второго уровня имеет блок 201 преобразования частотной области, блок 202 кодирования диапазона расширения, блок 203 преобразования частотной области и блок 204 вычисления перцепционного маскирования.
Согласно фиг.2, блок 201 преобразования частотной области осуществляет частотный анализ на декодированном сигнале первого слоя, выведенном из блока 103 декодирования первого уровня, для вычисления коэффициентов MDCT (декодированного спектра первого слоя). Затем декодированный спектр первого слоя выводится на блок 202 кодирования диапазона расширения.
Блок 203 преобразования частотной области вычисляет коэффициенты MDCT (исходный спектр) путем частотного анализа исходного сигнала, выведенного из блока 106 задержки, с использованием преобразования MDCT. Затем исходный спектр выводится на блок 202 кодирования диапазона расширения.
Затем блок 204 вычисления перцепционного маскирования вычисляет перцепционное маскирование для каждого диапазона с использованием исходного сигнала, выведенного из блока 106 задержки, и передает это перцепционное маскирование на блок 202 кодирования диапазона расширения.
Здесь, перцепционное восприятие человека имеет характеристики перцепционного маскирования, которые, когда данный сигнал слышен, даже если звук, имеющий частоту, близкую к частоте этого сигнала, достигает уха, звук трудно расслышать. Перцепционное маскирование используется для реализации эффективного кодирования спектра. При этом кодировании спектра, искажение квантования, которое допустимо с перцепционной точки зрения, количественно оценивается с использованием характеристик перцепционного маскирования человека, и применяется способ кодирования, отвечающий допустимому искажению квантования.
Согласно фиг.3, блок 202 кодирования диапазона расширения имеет блок 301 регулировки амплитуды, блок 302 задания состояния фильтра, блок 303 фильтрации, блок 304 задания отставания, кодовую книгу 305 формы остатка спектра, блок 306 поиска, кодовую книгу 307 коэффициента усиления остатка спектра, умножитель 308, блок 309 декодирования спектра расширения и блок 310 кодирования масштабных коэффициентов.
Декодированный спектр первого слоя {S1(k);0≤k<Nn} из блока 201 преобразования частотной области и исходный спектр {S2(k);0≤k<Nw} из блока 203 преобразования частотной области поступают на блок 301 регулировки амплитуды. Здесь, выполняется соотношение Nn<Nw, где количество точек спектра для декодированного спектра первого слоя обозначено Nn и количество точек спектра для исходного спектра обозначено Nw.
Блок 301 регулировки амплитуды регулирует амплитуду так, чтобы отношение (динамический диапазон) между спектром максимальной амплитуды декодированного спектра первого слоя {S1(k);0≤k<Nn} и спектром минимальной амплитуды достигало динамического диапазона для высокочастотного диапазона исходного спектра {S2(k);0≤k<Nw}. В частности, согласно нижеследующему уравнению 1, берется мощность спектра амплитуды.
<img file="00000001.tif" he="8" wi="58" img-content="undefined" img-format="tif" />
(Уравнение 1)
Здесь, sign() - это функция, возвращающая положительный знак/отрицательный знак, и γ - действительное число в пределах 0≤γ≤1. Блок 301 регулировки амплитуды выбирает γ (коэффициент регулировки амплитуды), в случае, когда динамический диапазон декодированного спектра первого слоя с регулировкой амплитуды наиболее близок к динамическому диапазону для высокочастотного диапазона исходного спектра {S2(k);0≤k<Nw}, из совокупности кандидатов, подготовленных заранее, и выводит кодированный код на блок 104 мультиплексирования.
Блок 302 задания состояния фильтра задает декодированный спектр первого слоя с регулировкой амплитуды {S1'(k);0≤k<Nn} как внутреннее состояние фильтра основного тона, описанное ниже. В частности, декодированный спектр первого слоя с регулировкой амплитуды {S1(k);0≤k<Nn} выделяется в буфере генерации спектра {S(k);0≤k<Nn} и выводится на блок 303 фильтрации. Здесь, буфер генерации спектра S(k) является матричной переменной, определенной в пределах 0≤k<Nw. Кандидаты для оценочного значения исходного спектра (ниже именуемого “оценочным исходным спектром”) в точке (Nw-Nn), генерируются с использованием обработки фильтрацией, описанной ниже.
Блок 304 задания отставания последовательно выводит отставание T на блок 303 фильтрации, постепенно изменяя отставание T в диапазоне поиска от TMIN до TMAX, заданном заранее в соответствии с командой от блока 306 поиска.
В кодовой книге 305 формы остатка спектра хранится совокупность кандидатов вектора формы остатка спектра. Кроме того, векторы формы остатка спектра последовательно выводятся из всех кандидатов или из заранее ограниченного числа кандидатов, в соответствии с командой от блока 306 поиска.
Аналогично, в кодовой книге 307 коэффициента усиления остатка спектра хранится совокупность кандидатских коэффициентов усиления остатка спектра. Кроме того, коэффициенты усиления остатка спектра последовательно выводятся из всех кандидатов или из заранее ограниченного числа кандидатов, в соответствии с командой от блока 306 поиска.
Затем умножитель 308 умножает векторы формы остатка спектра, выведенные из кодовой книги 305 формы остатка спектра, и коэффициент усиления остатка спектра, выведенный из кодовой книги 307 коэффициента усиления остатка спектра, и регулирует коэффициент усиления векторов формы остатка спектра. Затем векторы формы остатка спектра с регулировкой коэффициента усиления выводятся на блок 303 фильтрации.
Затем блок 303 фильтрации осуществляет обработку фильтрацией с использованием внутреннего состояния фильтра основного тона, заданного на блоке 302 задания состояния фильтра, отставания T, выведенного из блока 304 задания отставания, и векторов формы остатка спектра с регулировкой коэффициента усиления, и вычисляет оценочный исходный спектр. Передаточную функцию фильтра основного тона можно выразить нижеследующим уравнением 2. Кроме того, эту обработку фильтрацией можно выразить нижеследующим уравнением 3.
<img file="00000002.tif" he="11" wi="29" img-content="undefined" img-format="tif" />
(Уравнение 2)
<img file="00000003.tif" he="5" wi="94" img-content="undefined" img-format="tif" />
(Уравнение 3)
Здесь, C(i, k) - i-й вектор формы остатка спектра, и g(j) - j-й коэффициент усиления формы остатка. Буфер генерации спектра S(k), содержащийся в пределах Nn≤k<Nw, выводится на блок поиска 306 как выходной сигнал (т.е. оценочный исходный спектр) блока 303 фильтрации. Корреляция между буфером генерации спектра, декодированным спектром первого слоя с регулировкой амплитуды и выходным сигналом блока 303 фильтрации показана на фиг.4.
Блок поиска 306 предписывает блоку 304 задания отставания, кодовой книге 305 формы остатка спектра и кодовой книге 307 коэффициента усиления остатка спектра выводить отставание, форму остатка спектра и коэффициент усиления остатка спектра, соответственно.
Кроме того, блок 306 поиска вычисляет искажение E между высокочастотным диапазоном исходного спектра {S2(k); Nn≤k<Nw} и выходным сигналом блока 303 фильтрации {S(k); Nn≤k<Nw}. Затем определяется комбинация отставания, вектора формы остатка спектра и коэффициента усиления остатка спектра в случае, когда искажение минимально с использованием AbS (анализ через синтез). При этом, комбинация, перцепционное искажение которой минимально, выбирается с использованием перцепционного маскирования, выведенного из блока 204 вычисления перцепционного маскирования. Когда это искажение принимается равным E, искажение E выражается уравнением 4 с использованием весового коэффициента w(k), определенного с использованием, например, перцепционного маскирования. Здесь, весовой коэффициент w(k) оказывается малой величиной на частоте, на которой перцепционное маскирование существенно (искажение трудно расслышать) и оказывается большой величиной на частоте, на которой перцепционное маскирование мало (искажение легко расслышать).
<img file="00000004.tif" he="13" wi="56" img-content="undefined" img-format="tif" />
(Уравнение 4)
Кодированный код для отставания, определенного блоком 306 поиска, кодированный код для векторов формы остатка спектра и кодированный код для коэффициента усиления остатка спектра выводятся на блок 104 мультиплексирования и блок 309 декодирования спектра расширения.
Согласно вышеописанному способу определения кодированного кода с использованием AbS можно определять вектор формы остатка спектра и коэффициент усиления остатка спектра одновременно, или последовательно определять каждый параметр (например, в порядке отставания, вектора формы остатка спектра и коэффициента усиления остатка спектра) для снижения объема вычислений.
Блок 309 декодирования спектра расширения декодирует кодированный код для отставания, выведенный из блока 306 поиска, совместно с кодированным кодом для коэффициента регулировки амплитуды, кодированным кодом для векторов формы остатка спектра и кодированным кодом для коэффициента усиления остатка спектра, выведенным из блока 301 регулировки амплитуды, и генерирует оценочное значение для исходного спектра (оценочный исходный спектр).
В частности, во-первых, регулировка амплитуды декодированного спектра первого слоя {S1(k); 0≤k<Nn} осуществляется в соответствии с вышеприведенным уравнением 1 с использованием декодированного коэффициента регулировки амплитуды γ. Затем, декодированный спектр первого слоя с регулировкой амплитуды используется как внутреннее состояние фильтра, обработка фильтрацией осуществляется в соответствии с вышеприведенным уравнением 3 с использованием декодированного отставания, вектора формы остатка спектра и коэффициента усиления остатка спектра, и генерируется оценочный исходный спектр {S(k); Nn≤k<Nw}. Затем сгенерированный оценочный исходный спектр выводится на блок 310 кодирования масштабных коэффициентов.
Затем блок 310 кодирования масштабных коэффициентов кодирует масштабный коэффициент (масштабные коэффициенты) оценочного исходного спектра, которые наиболее пригодны с перцепционной точки зрения, применяя перцепционное маскирование с использованием высокочастотного диапазона исходного спектра {S2(k); Nn≤k<Nw}, выведенного из блока 203 преобразования частотной области, и оценочного исходного спектра {S(k); Nn≤k<Nw}, выведенного из блока 309 декодирования спектра расширения, и выводит кодированный код на блок 104 мультиплексирования.
Конкретно, кодированный код второго слоя состоит из комбинации кодированного кода (коэффициента регулировки амплитуды), выведенного из блока 301 регулировки амплитуды, кодированного кода (отставания, вектора формы остатка спектра, коэффициента усиления остатка спектра), выведенного из блока 306 поиска, и кодированного кода (масштабного коэффициента), выведенного из блока 310 кодирования масштабных коэффициентов.
Согласно этому варианту осуществления, была описана конфигурация, где один набор кодированных кодов (коэффициент регулировки амплитуды, отставание, вектор формы остатка спектра, коэффициент усиления остатка спектра и масштабный коэффициент) определяется с применением блока 202 кодирования диапазона расширения к диапазонам Nn-Nw, но также возможна конфигурация, где диапазоны Nn-Nw делятся на совокупность диапазонов и блок 202 кодирования диапазона расширения применяется к каждому диапазону. В этом случае, кодированные коды (коэффициент регулировки амплитуды, отставание, вектор остатка спектра, коэффициент усиления остатка спектра и масштабный коэффициент) определяются для каждого диапазона и выводятся на блок 104 мультиплексирования. Например, когда диапазоны Nn-Nw делятся на M диапазонов, и блок 202 кодирования диапазона расширения применяется к каждому диапазону, и затем получаются M наборов кодированных кодов (коэффициент регулировки амплитуды, отставание, вектор формы остатка спектра, коэффициент усиления остатка спектра и масштабный коэффициент).
Кроме того, можно также совместно использовать части кодированных кодов между соседними диапазонами, не передавая кодированные коды независимо для совокупности диапазонов. Например, когда диапазоны Nn-Nw делятся на M диапазонов, и когда используется коэффициент регулировки амплитуды, общий для соседних диапазонов, количество кодированных кодов для коэффициентов регулировки амплитуды равно M/2, и количество кодированных кодов для других равно M.
Согласно этому варианту осуществления, описан случай использования фильтра основного тона AR-типа первого порядка. Однако фильтры, к которым применимо настоящее изобретение, никоим образом не ограничиваются фильтром основного тона AR-типа первого порядка, и настоящее изобретение применимо также к фильтру с передаточной функцией, которую можно выразить с использованием нижеследующего уравнения 5. Используя фильтр основного тона с увеличенными параметрами L и M, определяющими порядок фильтра, можно выразить самые разнообразные характеристики и повысить качество. Однако, в соответствии с увеличением порядка, необходимо выделять большое количество битов кодирования для коэффициентов фильтра, и поэтому необходимо определять передаточную функцию соответствующего фильтра основного тона на основании практического выделения битов.
<img file="00000005.tif" he="27" wi="45" img-content="undefined" img-format="tif" />
(Уравнение 5)
Согласно этому варианту осуществления, предполагается использование перцепционного маскирования, но возможна конфигурация, где перцепционное маскирование не используется. В этом случае, уже не нужно обеспечивать блок 204 вычисления перцепционного маскирования, показанный на фиг.2, в блоке 105 кодирования второго уровня, что позволяет сократить объем вычислений для устройства в целом.
Опишем конфигурацию битового потока, выведенного из блока 104 мультиплексирования, со ссылкой на фиг.5. Кодированный код первого слоя и кодированный код второго слоя сохраняются по порядку от MSB (старшего бита) битового потока. Кроме того, кодированный код второго слоя сохраняется в порядке масштабного коэффициента, коэффициента регулировки амплитуды, отставания, коэффициента усиления остатка спектра и вектора формы остатка спектра, и информация для последнего размещается в позициях, более близких к LSB (младшему биту). Конфигурация этого битового потока такова, что в отношении чувствительности к потере кода каждого кодированного кода (степени ухудшения качества декодированного сигнала при потере кодированного кода) части битового потока, где чувствительность к ошибкам кодирования выше (ухудшение велико), размещаются в позициях, более близких к MSB. Согласно этой конфигурации, можно минимизировать ухудшение, обусловленное отбрасыванием, отбрасывая по порядку от LSB, когда битовый поток частично отбрасывается на канале связи. В иллюстративной конфигурации сети, где битовый поток отбрасывается в порядке приоритета от LSB, каждый кодированный код, разделенный на секции, как показано на фиг.5, передается с использованием отдельных пакетов, каждому пакету назначается приоритет, и используется сеть с коммутацией пакетов, способная к управлению приоритетами. Конфигурация сети никоим образом не ограничена вышеописанной.
Кроме того, в конфигурации битового потока, где кодированные параметры с более высокой чувствительностью к ошибкам кодирования, согласно фиг.5, размещаются в позициях, более близких к MSB, путем применения канального кодирования, в результате чего обнаружение ошибок и исправление ошибок применяются более строго к битам, более близким к MSB, можно минимизировать ухудшение качества декодирование. Например, в качестве методов обнаружения ошибок и исправления ошибок можно применять кодирование CRC и кодирование RS.
На фиг.6 показана блок-схема, демонстрирующая конфигурацию устройства 600 декодирования, например устройства декодирования речи.
Устройство 600 декодирования содержит блок 601 разделения, который разделяет битовый поток, выведенный из устройства 100 кодирования, на кодированный код первого слоя и кодированный код второго слоя, блок 602 декодирования первого уровня, который декодирует кодированный код первого слоя, и блок 603 декодирования второго уровня, который декодирует кодированный код второго слоя.
Блок 601 разделения принимает битовый поток, передаваемый из устройства 100 кодирования, разделяет битовый поток на кодированный код первого слоя и кодированный код второго слоя и выводит результаты на блок 602 декодирования первого уровня и блок 603 декодирования второго уровня.
Затем блок 602 декодирования первого уровня генерирует декодированный сигнал первого слоя из кодированного кода первого слоя и выводит сигнал на блок 603 декодирования второго уровня. Далее, при необходимости, сгенерированный декодированный сигнал первого слоя выводится как декодированный сигнал (декодированный сигнал первого слоя), гарантируя минимальное качество.
Затем блок 603 декодирования второго уровня генерирует высококачественный декодированный сигнал (именуемый здесь “декодированным сигналом второго слоя”) с использованием декодированного сигнала первого слоя и кодированного кода второго слоя и, при необходимости, выводит этот декодированный сигнал.
Таким образом, гарантируется минимальное качество воспроизведения речи с использованием декодированного сигнала первого слоя, и качество воспроизведения речи можно повышать с использованием декодированного сигнала второго слоя. Кроме того, какой из декодированного сигнала первого слоя и декодированного сигнала второго слоя принимается как выходной сигнал, зависит от того, можно ли получить кодированный код второго слоя, в соответствии с сетевым окружением (например, возникновение потери пакетов) и зависит от применения и пользовательских настроек.
Теперь опишем более подробно конфигурацию блока 603 декодирования второго уровня со ссылкой на фиг.7. Согласно фиг.7, блок 603 декодирования второго уровня содержит блок 701 декодирования диапазона расширения, блок 702 преобразования частотной области и блок 703 преобразования временной области.
Блок 702 преобразования частотной области преобразует декодированный сигнал первого слоя, введенный из блока 602 декодирования первого уровня, в параметры (например, коэффициенты MDCT) для частотной области и выводит параметры на блок 701 декодирования диапазона расширения в качестве декодированного спектра первого слоя для точки спектра Nn.
Блок 701 декодирования диапазона расширения декодирует каждый из различных параметров (коэффициент регулировки амплитуды, отставание, вектор формы остатка спектра, коэффициент усиления остатка спектра и масштабный коэффициент) из кодированного кода второго слоя (то же, что кодированный код диапазона расширения в этой конфигурации), введенного из блока 601 разделения. Кроме того, второй спектр точки спектра Nw, который является вторым декодированным спектром диапазона расширения, генерируется с использованием каждого из различных декодированных параметров и декодированного спектра первого слоя, выведенного из блока 702 преобразования частотной области. Затем второй декодированный спектр выводится на блок 703 преобразования временной области.
Блок 703 преобразования временной области, при необходимости, осуществляет обработку, например, надлежащее взвешивание с помощью финитной функции и суммирование с наложением, после преобразования второго декодированного спектра в сигнал временной области, устраняет разрывы, возникающие между кадрами, и выводит декодированный сигнал второго слоя.
Теперь опишем более подробно блок 701 декодирования диапазона расширения со ссылкой на фиг.8. Согласно фиг.8, блок 701 декодирования диапазона расширения содержит блок 801 разделения, блок 802 регулировки амплитуды, блок 803 задания состояния фильтра, блок 804 фильтрации, кодовую книгу 805 формы остатка спектра, кодовую книгу 806 коэффициента усиления остатка спектра, умножитель 807, блок 808 декодирования масштабных коэффициентов, блок 809 масштабирования и блок 810 синтеза спектра.
Блок 801 разделения разделяет кодированный код диапазона расширения, введенный из блока 601 разделения, на кодированный код коэффициента регулировки амплитуды, кодированный код отставания, кодированный код формы остатка, кодированный код коэффициента усиления остатка и кодированный код масштабного коэффициента. Кроме того, кодированный код коэффициент регулировки амплитуды выводится на блок 802 регулировки амплитуды, кодированный код отставание выводится на блок 804 фильтрации, кодированный код формы остатка выводится в кодовую книгу 805 формы остатка спектра, кодированный код коэффициента усиления остатка выводится в кодовую книгу 806 коэффициента усиления остатка спектра, и кодированный код масштабного коэффициента выводится на блок 808 декодирования масштабных коэффициентов.
Блок 802 регулировки амплитуды декодирует кодированный код коэффициента регулировки амплитуды, введенный из блока 801 разделения, регулирует амплитуду декодированного спектра первого слоя, отдельно введенную из блока 702 преобразования частотной области, и выводит декодированный спектр первого слоя с регулировкой амплитуды на блок 803 задания состояния фильтра. Регулировка амплитуды осуществляется с использованием метода, показанного в вышеприведенном уравнении 1. Здесь, S1(k) - это декодированный спектр первого слоя, и S1'(k) - это декодированный спектр первого слоя с регулировкой амплитуды.
Блок 803 задания состояния фильтра задает декодированный спектр первого слоя с регулировкой амплитуды как состояние фильтра для фильтра основного тона с передаточной функцией, выраженной в вышеприведенном уравнении 2. В частности, декодированный спектр первого слоя с регулировкой амплитуды {S1'(k); 0≤k<Nn} присваивается буферу генерации спектра S(k) и выводится на блок 804 фильтрации. Здесь T - это отставание фильтра основного тона. Кроме того, буфер генерации спектра S(k) - это матричная переменная, определенная в пределах от k=0 до Nw-1, и спектр точки (Nw-Nn) генерируется посредством этой обработки фильтрацией.
Блок 804 фильтрации осуществляет обработку фильтрацией с использованием буфера генерации спектра S(k), введенного из блока 803 задания состояния фильтра, и декодированного отставания T, сгенерированного кодированным кодом отставания из блока 801 разделения. В частности, выходной спектр {S(k); Nn≤k<Nw} генерируется методом, показанным в вышеприведенном уравнении 3. Здесь, g(j) - это коэффициент усиления остатка спектра, выраженный кодированным кодом коэффициента усиления остатка j, C(i, k) выражают векторы формы остатка спектра, выраженные кодированным кодом формы остатка i, соответственно g(j)·C(i, k) вводится из умножителя 807. Сгенерированный выходной спектр {S(k); Nn≤k<Nw} блока 804 фильтрации выводится на блок 809 масштабирования.
Кодовая книга 805 формы остатка спектра декодирует кодированный код формы остатка, введенный из блока 801 разделения, и выводит вектор формы остатка спектра C(i, k), соответствующий результату декодирования, на умножитель 807.
Кодовая книга 806 коэффициента усиления остатка спектра декодирует кодированный код коэффициента усиления остатка, введенный из блока 801 разделения, и выводит коэффициент усиления остатка спектра g(j), соответствующий результату декодирования, на умножитель 807.
Умножитель 807 выводит результат умножения вектора формы остатка спектра C(i, k), введенного из кодовой книги 805 формы остатка спектра, на коэффициент усиления остатка спектра g(j), введенный из кодовой книги 806 коэффициента усиления остатка спектра, на блок 804 фильтрации.
Блок 808 декодирования масштабных коэффициентов декодирует кодированный код масштабного коэффициента, введенный из блока 801 разделения, и выводит декодированный масштабный коэффициент на блок 809 масштабирования.
Блок 809 масштабирования умножает масштабный коэффициент, введенный из блока 808 декодирования масштабных коэффициентов, на выходной спектр {S(k); Nn≤k<Nw}, поступающий от блока 804 фильтрации, и выводит результат умножения на блок 810 синтеза спектра.
Затем блок 810 синтеза спектра выводит спектр, полученный объединением декодированного спектра первого слоя {S(k);0≤k<Nn}, обеспеченного блоком 702 преобразования частотной области, и высокочастотного диапазона {S(k); Nn≤k<Nw} буфера генерации спектра после масштабирования, выведенного из блока 809 масштабирования на блок 703 преобразования временной области, как второй декодированный спектр.
Вариант осуществления 2
На фиг.9 показана конфигурация блока 105 кодирования второго уровня согласно варианту осуществления 2 настоящего изобретения. На фиг.9, блоки, имеющие те же названия, что и на фиг.2, имеют такую же функцию, и потому их описание здесь опущено. Разница между фиг.2 и фиг.9 состоит в наличии блока 901 кодирования первого спектра между блоком 201 преобразования частотной области и блоком 202 кодирования диапазона расширения. Блок 901 кодирования первого спектра повышает качество декодированного спектра первого слоя, выведенного из блока 201 преобразования частотной области, при этом выводит кодированный код (кодированный код первого спектра) на блок 104 мультиплексирования, и выдает декодированный спектр первого слоя (первый декодированный спектр) повышенного качества на блок 202 кодирования диапазона расширения. Блок 202 кодирования диапазона расширения осуществляет обработку с использованием первого декодированного спектра и выводит кодированный код диапазона расширения в качестве результата. Конкретно, кодированный код второго слоя в этом варианте осуществления является комбинацией кодированного кода диапазона расширения и кодированного кода первого спектра. Поэтому, согласно этому варианту осуществления, блок 104 мультиплексирования мультиплексирует кодированный код первого слоя, кодированный код диапазона расширения и кодированный код первого спектра и генерирует битовый поток.
Перейдем к подробному описанию блока 901 кодирования первого спектра со ссылкой на фиг.10. Блок 901 кодирования первого спектра содержит блок 1001 кодирования масштабных коэффициентов, блок 1002 декодирования масштабных коэффициентов, блок 1003 кодирования спектра высокого разрешения, блок 1004 мультиплексирования, блок 1005 декодирования спектра высокого разрешения, блок нормализации 1006, вычитатель 1007 и сумматор 1008.
Вычитатель 1007 вычитает декодированный спектр первого слоя из исходного спектра для генерации остаточного спектра и выводит результат на блок 1001 кодирования масштабных коэффициентов и блок 1006 нормализации. Блок 1001 кодирования масштабных коэффициентов вычисляет масштабные коэффициенты, выражающие огибающую спектра для остаточного спектра, кодирует масштабные коэффициенты и выводит кодированный код на блок 1004 мультиплексирования и блок 1002 декодирования масштабных коэффициентов.
При кодировании масштабных коэффициентов предпочтительно использовать перцепционное маскирование. Например, выделение битов, необходимое для кодирования масштабных коэффициентов, определяется с использованием перцепционного маскирования, и кодирование осуществляется на основании информации этого выделения битов. При этом, когда имеются диапазоны, где не выделено ни одного бита, масштабные коэффициенты для такого диапазона не кодируются. Это позволяет эффективно кодировать масштабные коэффициенты.
Блок 1002 декодирования масштабных коэффициентов декодирует масштабные коэффициенты из введенного кодированного кода масштабного коэффициента и выводит декодированные масштабные коэффициенты на блок 1006 нормализации, блок 1003 кодирования спектра высокого разрешения и блок 1005 декодирования спектра высокого разрешения.
Затем блок 1006 нормализации нормализует остаточный спектр, поступающий от вычитателя 1007, с использованием масштабных коэффициентов, поступающих от блока 1002 декодирования масштабных коэффициентов, и выводит нормализованный остаточный спектр на блок 1003 кодирования спектра высокого разрешения.
Блок 1003 кодирования спектра высокого разрешения вычисляет перцепционное взвешивание для каждого диапазона с использованием масштабных коэффициентов, введенных из блока 1002 декодирования масштабных коэффициентов, получает количество битов, выделенных каждому диапазону, и кодирует нормализованный остаточный спектр (спектр высокого разрешения) на основании количества битов. Кодированный код спектра высокого разрешения, полученный с использованием этого кодирования, затем выводится на блок 1004 мультиплексирования и блок 1005 декодирования спектра высокого разрешения.
Можно также осуществлять кодирование таким образом, чтобы перцепционное искажение было малым, с использованием перцепционного маскирования после кодирования нормализованного остаточного спектра. Можно также использовать декодированный спектр первого слоя информация при вычислении перцепционного взвешивания. В этом случае, возможна конфигурация, где декодированный спектр первого слоя вводится в блок 1003 кодирования спектра высокого разрешения.
Кодированные коды, выведенные из блока 1001 кодирования масштабных коэффициентов и блока 1003 кодирования спектра высокого разрешения, перемножаются на блоке 1004 мультиплексирования и выводятся на блок мультиплексирования 104 как кодированный код первого спектра.
Затем блок 1005 декодирования спектра высокого разрешения вычисляет перцепционное взвешивание для каждого диапазона с использованием масштабных коэффициентов, введенных из блока 1002 декодирования масштабных коэффициентов, получает количество битов, выделенных каждому диапазону, декодирует остаточный спектр для каждого диапазона из масштабных коэффициентов и кодированного кода спектра высокого разрешения, введенного из блока 1003 кодирования спектра высокого разрешения, и выводит декодированный остаточный спектр на сумматор 1008. Можно также использовать декодированный спектр первого слоя информация при вычислении перцепционного взвешивания. В этом случае, возможна конфигурация, где декодированный спектр первого слоя вводится в блок 1005 декодирования спектра высокого разрешения.
Затем сумматор 1008 суммирует декодированный остаточный спектр и декодированный спектр первого слоя для генерации первого декодированного спектра и выводит сгенерированный первый декодированный спектр на блок 202 кодирования диапазона расширения.
Согласно этому варианту осуществления, можно повысить качество декодированный сигнал диапазона расширения путем генерации спектра для высокочастотного диапазона (Nn≤k<Nw) на блоке 202 кодирования диапазона расширения с использованием спектра повышенного качества после повышения качества декодированного спектра первого слоя, т.е. с использованием первого спектра.
Перейдем к подробному описанию конфигурации блока 603 декодирования второго уровня согласно этому варианту осуществления со ссылкой на фиг.11. На фиг.11, блоки, имеющие те же названия, что и на фиг.7, имеют такую же функцию, и потому их описание опущено. Согласно фиг.11, блок 603 декодирования второго уровня содержит блок 1101 разделения, блок 1102 декодирования первого спектра, блок 701 декодирования диапазона расширения, блок 702 преобразования частотной области и блок 703 преобразования временной области.
Блок 1101 разделения разделяет кодированный код второго слоя на кодированный код первого спектра и кодированный код диапазона расширения, выводит кодированный код первого спектра на блок 1102 декодирования первого спектра и выводит кодированный код диапазона расширения на блок 701 декодирования диапазона расширения.
Блок 702 преобразования частотной области преобразует декодированный сигнал первого слоя, введенный из блока 602 декодирования первого уровня, в параметры (например, коэффициенты MDCT) в частотной области и выводит параметры на блок 1102 декодирования первого спектра в качестве декодированного спектра первого слоя.
Блок 1102 декодирования первого спектра суммирует квантованный спектр ошибок кодирования первого слоя, полученный декодированием кодированного кода первого спектра, введенного из блока 1101 разделения, с декодированным спектром первого слоя, введенным из блока 702 преобразования частотной области. Результат суммирования выводится на блок 701 декодирования диапазона расширения как первый декодированный спектр.
Опишем блок 1102 декодирования первого спектра со ссылкой на фиг.12. Блок 1102 декодирования первого спектра имеет блок 1201 разделения, блок 1202 декодирования масштабных коэффициентов, блок 1203декодирования спектра высокого разрешения и блок 1204 декодирования спектра.
Блок 1201 разделения разделяет кодированный код, указывающий масштабные коэффициенты, и кодированный код, указывающий спектр высокого разрешения (тонкую структуру спектра) из введенного кодированного кода первого спектра, выводит кодированный код масштабного коэффициента на блок 1202 декодирования масштабных коэффициентов и выводит кодированный код спектра высокого разрешения на блок 1203 декодирования спектра высокого разрешения.
Блок 1202 декодирования масштабных коэффициентов декодирует масштабные коэффициенты из введенного кодированного кода масштабного коэффициента и выводит декодированные масштабные коэффициенты на блок 1204 декодирования спектра и блок 1203 декодирования спектра высокого разрешения.
Блок 1203 декодирования спектра высокого разрешения вычисляет перцепционное взвешивание для каждого диапазона с использованием масштабных коэффициентов, введенных из блока 1202 декодирования масштабных коэффициентов, и получает количество битов, выделенных спектру высокого разрешения каждого диапазона. Кроме того, спектр высокого разрешения для каждого диапазона декодируется из кодированного кода спектра высокого разрешения, введенного из блока 1201 разделения, и декодированный спектр высокого разрешения выводится на блок 1204 декодирования спектра.
Можно также использовать декодированный спектр первого слоя информация при вычислении перцепционного взвешивания. В этом случае, возможна конфигурация, где декодированный спектр первого слоя вводится в блок 1203 декодирования спектра высокого разрешения.
Блок 1204 декодирования спектра декодирует первый декодированный спектр из декодированного спектра первого слоя, поступающего от блока 702 преобразования частотной области, масштабных коэффициентов, введенных из блока 1202 декодирования масштабных коэффициентов, и спектра высокого разрешения, введенного из блока 1203 декодирования спектра высокого разрешения, и выводит этот декодированный спектр на блок 701 декодирования диапазона расширения.
Согласно этому варианту осуществления, не обязательно обеспечивать кодовую книгу 305 формы остатка спектра и кодовую книгу 307 коэффициента усиления остатка спектра на блоке 202 кодирования диапазона расширения. Конфигурация блока 202 кодирования диапазона расширения в этом случае показана на фиг.13. Ее обязательно обеспечивать кодовую книгу 805 формы остатка спектра и кодовую книгу 806 коэффициента усиления остатка спектра на блоке 701 декодирования диапазона расширения. Конфигурация блока 701 декодирования диапазона расширения в этом случае показана на фиг.14. Выходные сигналы блоков 1301 и 1401 фильтрации, соответственно показанные на фиг.13 и фиг.14, выражаются нижеследующим уравнением 6.
<img file="00000006.tif" he="5" wi="64" img-content="undefined" img-format="tif" />
(Уравнение 6)
Согласно этому варианту осуществления, после повышения качества декодированного спектра первого слоя спектр высокочастотного диапазона (Nn≤k<Nw) генерируется на блоке 202 кодирования диапазона расширения с использованием этого спектра повышенного качества. Согласно этой конфигурации, можно повысить качество декодированного сигнала. Этого преимущества можно достигнуть независимо от наличия или отсутствия кодовой книги формы остатка спектра или кодовой книги коэффициента усиления остатка спектра.
Можно также кодировать спектр низкочастотного диапазона (0≤k<Nn) так, чтобы искажение кодирования полного диапазона (0≤k<Nw) было минимальным, когда спектр низкочастотного диапазона (0≤k<Nn) кодируется на блоке 901 кодирования первого спектра. В этом случае, на блоке 202 кодирования диапазона расширения кодирование осуществляется для высокочастотного диапазона (Nn≤k<Nw). Кроме того, в этом случае кодирование низкочастотного диапазона осуществляется на блоке 901 кодирования первого спектра с учетом влияния результатов кодирования низкочастотного диапазона на кодирование высокочастотного диапазона. Поэтому спектр низкочастотного диапазона кодируется так, что спектр полного диапазона оптимизируется, что позволяет добиться повышения качества.
Вариант осуществления 3
На фиг.15 показана конфигурация блока 105 кодирования второго уровня согласно варианту осуществления 3 настоящего изобретения. На фиг.15 блоки, имеющие те же названия, что и на фиг.9, имеют такую же функцию, и потому их описание здесь опущено.
Отличие от фиг.9 состоит в том, что обеспечены блок 1501 кодирования диапазона расширения, который имеет функцию декодирования и получает кодированный код диапазона расширения, и блок 1502 кодирования второго спектра, который кодирует спектр ошибки, полученный при генерации второго декодированного спектра с использованием этого кодированного кода диапазона расширения и вычитании второго декодированного спектра из исходного спектра. Можно генерировать декодированный спектр с более высоким качеством путем кодирования вышеописанного спектра ошибки на блоке 1502 кодирования второго спектра и повысить качество декодированных сигналов, полученных с использованием устройства декодирования.
Блок 1501 кодирования диапазона расширения генерирует и выводит кодированный код диапазона расширения таким же образом, как блок 202 кодирования диапазона расширения, показанный на фиг.3. Кроме того, блок 1501 кодирования диапазона расширения имеет такую же конфигурацию, как блок 701 декодирования диапазона расширения, показанный на фиг.8, и генерирует второй декодированный спектр таким же образом, как блок декодирования диапазона расширения 701. Этот второй декодированный спектр выводится на блок 1502 кодирования второго спектра. Конкретно, кодированный код второго слоя, согласно этому варианту осуществления, состоит из кодированного кода диапазона расширения, кодированного кода первого спектра и кодированного кода второго спектра.
В конфигурации блока 1501 кодирования диапазона расширения можно также совместно использовать блоки, имеющие общие названия на фиг.3 и фиг.8.
Согласно фиг.16, блок 1502 кодирования второго спектра содержит блок 1601 кодирования масштабных коэффициентов, блок 1602 декодирования масштабных коэффициентов, блок 1603 кодирования спектра высокого разрешения, блок 1604 мультиплексирования, блок 1605 нормализации и вычитатель 1606.
Вычитатель 1606 вычитает второй декодированный спектр из исходного спектра для генерации остаточного спектра и выводит остаточный спектр на блок 1601 кодирования масштабных коэффициентов и блок 1605 нормализации. Блок 1601 кодирования масштабных коэффициентов вычисляет масштабные коэффициенты, указывающие огибающую спектра для остаточного спектра, кодирует масштабные коэффициенты и выводит кодированный код масштабного коэффициента на блок 1604 мультиплексирования и блок 1602 декодирования масштабных коэффициентов.
Здесь, можно также эффективно кодировать масштабные коэффициенты с использованием перцепционного маскирования. Например, выделение битов, необходимое для кодирования масштабных коэффициентов, определяется с использованием перцепционного маскирования, и кодирование осуществляется на основании информации этого выделения битов. При этом, когда имеются диапазоны, где не выделено ни одного бита, масштабные коэффициенты для такого диапазона не кодируются.
Блок 1602 декодирования масштабных коэффициентов декодирует масштабные коэффициенты из введенного кодированного кода масштабного коэффициента и выводит декодированные масштабные коэффициенты на блок 1605 нормализации и блок 1603 кодирования спектра высокого разрешения.
Затем блок 1605 нормализации нормализует остаточный спектр, поступающий от вычитателя 1606, с использованием масштабных коэффициентов, поступающих от блока 1602 декодирования масштабных коэффициентов, и выводит нормализованный остаточный спектр на блок 1603 кодирования спектра высокого разрешения.
Блок 1603 кодирования спектра высокого разрешения вычисляет перцепционное взвешивание для каждого диапазона с использованием масштабные коэффициенты декодирования, введенных из блока 1602 декодирования масштабных коэффициентов, получает количество битов, выделенных каждому диапазону, и кодирует нормализованный остаточный спектр (спектр высокого разрешения) на основании условия количества битов. Затем кодированный код, полученный в результате этого кодирования, выводится на блок 1604 мультиплексирования.
Можно также осуществлять кодирование таким образом, чтобы перцепционное искажение было малым, с использованием перцепционного маскирования после кодирования нормализованного остаточного спектра. Можно также использовать информацию декодированного спектра второго слоя при вычислении перцепционного взвешивания. В этом случае возможна конфигурация, где декодированный спектр второго слоя вводится в блок 1603 кодирования спектра высокого разрешения.
Кодированные коды, выведенные из блока 1601 кодирования масштабных коэффициентов и блока 1603 кодирования спектра высокого разрешения, перемножаются на блоке 1604 мультиплексирования и выводятся как кодированный код второго спектра.
На фиг.17 показан видоизмененный пример конфигурации блока 1502 кодирования второго спектра. На фиг.17 блоки, имеющие те же названия, что и на фиг.16, имеют такую же функцию, и потому их описание опущено.
В этой конфигурации блок 1502 кодирования второго спектра непосредственно кодирует остаточный спектр, поступающий от вычитателя 1606. Конкретно, остаточный спектр не нормализован. В результате, в этой конфигурации, блок 1601 кодирования масштабных коэффициентов, блок 1602 декодирования масштабных коэффициентов и блок 1605 нормализации, показанные на фиг.16, не предусмотрены. Согласно этой конфигурации, не требуется выделять биты масштабным коэффициентам на блоке 1502 кодирования второго спектра, что позволяет снизить битовую скорость.
Блок 1701 вычисления перцепционного взвешивания и выделения битов получает перцепционное взвешивание для каждого диапазона из второго декодированного спектра и получает выделение битов для каждого диапазона, определенное согласно перцепционному взвешиванию. Полученные перцепционное взвешивание и выделение битов выводятся на блок 1603 кодирования спектра высокого разрешения.
Блок 1603 кодирования спектра высокого разрешения кодирует остаточный спектр на основании перцепционного взвешивания и выделения битов, введенных из блока 1701 вычисления перцепционного взвешивания и выделения битов. Затем кодированный код, полученный в результате этого кодирования, выводится на блок 104 мультиплексирования как кодированный код второго спектра. Можно также осуществлять кодирование так, чтобы перцепционное искажение было малым, с использованием перцепционного маскирования после кодирования остаточного спектра.
Конфигурация блока 603 декодирования второго уровня согласно этому варианту осуществления показана на фиг.18. Блок 603 декодирования второго уровня содержит блок 701 декодирования диапазона расширения, блок 702 преобразования частотной области, блок 703 преобразования временной области, блок 1101 разделения, блок 1102 декодирования первого спектра и блок 1801 декодирования второго спектра. На фиг.18 блоки, имеющие те же названия, что и на фиг.11, имеют такую же функцию, и потому их описание опущено.
Блок 1801 декодирования второго спектра суммирует спектр, в котором ошибки кодирования второго декодированного спектра, полученного декодированием кодированного кода второго спектра, введенного из блока 1101 разделения, квантованы, со вторым декодированным спектром, введенным из блока 701 декодирования диапазона расширения. Результат суммирования выводится на блок 703 преобразования временной области как третий декодированный спектр.
Блок 1801 декодирования второго спектра имеет такую же конфигурацию, как на фиг.12, где блок 1502 кодирования второго спектра имеет конфигурацию, показанную на фиг.16. Кодированный код первого спектра, декодированный спектр первого слоя и первый декодированный спектр, показанные на фиг.12, заменяются на кодированный код второго спектра, второй декодированный спектр и третий декодированный спектр соответственно.
Согласно этому варианту осуществления, описан иллюстративный случай, когда блок 1502 кодирования второго спектра имеет конфигурацию, показанную на фиг.16 в конфигурации блока 1801 декодирования второго спектра, но когда блок 1502 кодирования второго спектра имеет конфигурацию, показанную на фиг.17, конфигурация блока 1801 декодирования второго спектра оказывается такой, как показано на фиг.19.
Конкретно, на фиг.19 показана конфигурация блока 1801 декодирования второго спектра, соответствующего блоку 1502 кодирования второго спектра, который не использует масштабные коэффициенты. Блок 1801 декодирования второго спектра содержит блок 1901 вычисления перцепционного взвешивания и выделения битов, блок 1902 декодирования спектра высокого разрешения и блок 1903 декодирования спектра.
Согласно фиг.19, блок 1901 вычисления перцепционного взвешивания и выделения битов получает перцепционное взвешивание для каждого диапазона из второго декодированного спектра, введенного из блока 701 декодирования диапазона расширения, и получает выделение битов для каждого диапазона, определенного согласно перцепционному взвешиванию. Полученные перцепционное взвешивание и выделение битов выводятся на блок 1902 декодирования спектра высокого разрешения.
Блок 1902 декодирования спектра высокого разрешения декодирует кодированный код спектра высокого разрешения, введенный как кодированный код второго спектра из блока 1101 разделения, на основании перцепционного взвешивания и выделения битов, введенных из блока 1901 вычисления перцепционного взвешивания и выделения битов, и выводит результат декодирования (спектр высокого разрешения для каждого диапазона) на блок 1903 декодирования спектра.
Блок 1903 декодирования спектра суммирует спектр высокого разрешения, введенный из блока 1902 декодирования спектра высокого разрешения, со вторым декодированным спектром, введенным из блока 701 декодирования диапазона расширения, и выводит результат суммирования как третий декодированный спектр.
Согласно этому варианту осуществления, была описана иллюстративная конфигурация, содержащая блок 901 кодирования первого спектра и блок 1101 декодирования первого спектра, но полезные эффекты этого варианта осуществления можно также реализовать без блока 901 кодирования первого спектра и блока 1102 декодирования первого спектра. Конфигурация блока 105 кодирования второго уровня в этом случае показана на фиг.20, и конфигурация блока 603 декодирования второго уровня показана на фиг.21.
Были описаны варианты осуществления устройства масштабируемого декодирования и устройства масштабируемого кодирования, отвечающих настоящему изобретению.
Согласно вышеописанным вариантам осуществления, MDCT используется как схема преобразования, но это ни в коем случае не является ограничением, и настоящее изобретение также можно применять с использованием других схем преобразования, например преобразования Фурье, косинусного преобразования и преобразования волновых пакетов.
Согласно вышеописанным вариантам осуществления, описание приведено на основании количества слоев, равного двум, но это ни в коем случае не является ограничением, и возможно применение к масштабируемому кодированию/декодированию, имеющему два или более слоев.
Устройство кодирования и устройство декодирования, отвечающие настоящему изобретению, никоим образом не ограничиваются вышеописанными вариантами осуществления 1 - 3, и возможны различные их модификации. Например, варианты осуществления можно надлежащим образом комбинировать.
Устройство кодирования и устройство декодирования, отвечающие настоящему изобретению, могут быть обеспечены на оконечных устройствах связи и на устройстве базовой станции в системе мобильной связи, чтобы было возможно обеспечить оконечное устройство связи и устройство базовой станции, имеющие такие же результаты работы, как описано выше.
Кроме того, был описан случай случай, когда настоящее изобретение реализовано аппаратно, однако настоящее изобретение можно реализовать программными средствами.
Кроме того, каждый функциональный блок, используемый для объяснения вышеописанных вариантов осуществления, обычно реализуется посредством БИС, образованной интегральной схемой. Это могут быть отдельные микросхемы или могут частично или полностью содержаться в единой микросхеме.
Здесь, каждый функциональный блок описан как БИС, но также может называться “ИС”, “системная БИС”, “супер-БИС”, “ультра-БИС” в зависимости от степени интеграции.
Кроме того, метод интеграции схем не ограничивается БИС, и возможна реализация с использованием специализированной схемы или процессоров общего назначения. После изготовления БИС возможно применение программируемой FPGA (вентильной матрицы, программируемой пользователем) или перестраиваемого процессора, в котором соединения и настройки ячеек схемы в БИС можно перестраивать.
Кроме того, при возникновении технологии интегральных схем, заменяющей БИС, в результате развития полупроводниковой технологии или как ответвления другой технологии, естественно, интеграцию функциональных блоков можно осуществлять с использованием этой технологии. Возможно также применение биотехнологии.
Конкретно, устройство масштабируемого кодирования согласно вышеописанным вариантам осуществления генерирует информацию кодирования низкочастотного диапазона и информацию кодирования высокочастотного диапазона из исходного сигнала и имеет конфигурацию, включающую в себя: блок вычисления первого спектра, который вычисляет первый спектр низкочастотного диапазона из декодированного сигнала информации кодирования низкочастотного диапазона; блок вычисления второго спектра, который вычисляет второй спектр из исходного сигнала; блок вычисления первого параметра, который вычисляет первый параметр, указывающий степень подобия между первым спектром и высокочастотным диапазоном второго спектра; блок вычисления второго параметра, который вычисляет второй параметр, указывающий компонент флуктуации между первым спектром и высокочастотным диапазоном второго спектра; и блок кодирования, который кодирует вычисленные первый параметр и второй параметр как информацию кодирования высокочастотного диапазона.
Кроме того, устройство масштабируемого кодирования согласно вышеописанным вариантам осуществления имеет конфигурацию, в которой блок вычисления первого параметра выводит параметр, указывающий характеристику фильтра, как первый параметр с использованием фильтра, имеющего первый спектр в качестве внутреннего состояния.
Кроме того, устройство масштабируемого кодирования согласно вышеописанным вариантам осуществления имеет конфигурацию, в которой, согласно вышеописанной конфигурации, блок вычисления второго параметра имеет кодовую книгу формы остатка спектра, в которой записана совокупность кандидатов остатка спектра, и выводит код остатка спектра как второй параметр.
Кроме того, устройство масштабируемого кодирования согласно вышеописанным вариантам осуществления, согласно вышеописанной конфигурации, дополнительно включает в себя блок кодирования остаточного компонента, кодирующий остаточный компонент между первым спектром и низкочастотным диапазоном второго спектра, в котором блок вычисления первого параметра и блок вычисления второго параметра вычисляют первый параметр и второй параметр после повышения качества первого спектра с использованием остаточного компонента, закодированного блоком кодирования остаточного компонента.
Кроме того, устройство масштабируемого кодирования согласно вышеописанным вариантам осуществления, согласно вышеописанной конфигурации, имеет конфигурацию, в которой блок кодирования остаточного компонента повышает качество низкочастотного диапазона первого спектра и качество высокочастотного диапазона декодированного спектра, полученного из первого параметра и второго параметра, закодированных блоком кодирования.
Кроме того, устройство масштабируемого кодирования согласно вышеописанным вариантам осуществления, согласно вышеописанной конфигурации, имеет конфигурацию, в которой: первый параметр содержит отставание; второй параметр содержит остаток спектра; и устройство кодирования дополнительно включает в себя блок конфигурирования, который конфигурирует битовый поток, размещенный в порядке отставания и остатка спектра.
Устройство масштабируемого кодирования согласно вышеописанным вариантам осуществления генерирует информацию кодирования низкочастотного диапазона и информацию кодирования высокочастотного диапазона из исходного сигнала и имеет конфигурацию, включающую в себя: блок вычисления первого спектра, который вычисляет первый спектр низкочастотного диапазона из декодированного сигнала информации кодирования низкочастотного диапазона; блок вычисления второго спектра, который вычисляет второй спектр из исходного сигнала; блок вычисления параметра, который вычисляет параметр, указывающий степень подобия между первым спектром и высокочастотным диапазоном второго спектра; блок кодирования параметра, который кодирует вычисленный параметр как информацию кодирования высокочастотного диапазона; и блок кодирования остаточного компонента, который кодирует остаточный компонент между первым спектром и низкочастотным диапазоном второго спектра, в котором блок вычисления параметра вычисляет параметр после повышения качества первого спектра с использованием остаточного компонента, закодированного блоком кодирования остаточного компонента.
Устройство масштабируемого декодирования согласно вышеописанным вариантам осуществления имеет конфигурацию, включающую в себя: блок получения спектра, который получает первый спектр, соответствующий низкочастотному диапазону; блок получения параметра, который соответственно получает первый параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает степень подобия между первым спектром и высокочастотным диапазоном второго спектра, соответствующим исходному сигналу, и второй параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает компонент флуктуации между первым спектром и высокочастотным диапазоном второго спектра; и блок декодирования, который декодирует второй спектр с использованием полученных первого параметра и второго параметра.
Способ масштабируемого кодирования согласно вышеописанным вариантам осуществления для генерации информации кодирования низкочастотного диапазона и информации кодирования высокочастотного диапазона из исходного сигнала имеет конфигурацию, включающую в себя: этап вычисления первого спектра, на котором вычисляют первый спектр низкочастотного диапазона из декодированного сигнала информации кодирования низкочастотного диапазона; этап вычисления второго спектра, на котором вычисляют второй спектр из исходного сигнала; этап вычисления первого параметра, на котором вычисляют первый параметр, указывающий степень подобия между первым спектром и высокочастотным диапазоном второго спектра; этап вычисления второго параметра, на котором вычисляют второй параметр, указывающий компонент флуктуации между первым спектром и высокочастотным диапазоном второго спектра; и этап кодирования, на котором кодируют вычисленные первый параметр и второй параметр как информацию кодирования высокочастотного диапазона.
Кроме того, способ масштабируемого декодирования согласно вышеописанным вариантам осуществления имеет конфигурацию, включающую в себя: этап получения спектра, на котором получают первый спектр, соответствующий низкочастотному диапазону; этап получения параметра, на котором соответственно получают первый параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает степень подобия между первым спектром и высокочастотным диапазоном второго спектра, соответствующим исходному сигналу, и второй параметр, который закодирован в качестве информации кодирования высокочастотного диапазона и указывает компонент флуктуации между первым спектром и высокочастотным диапазоном второго спектра; и этап декодирования, на котором декодируют второй спектр с использованием полученных первого параметра и второго параметра.
В частности, первое устройство масштабируемого кодирования, отвечающее настоящему изобретению, оценивает высокочастотный диапазон второго спектра с использованием фильтра, имеющего первый спектр в качестве внутреннего состояния, и на устройстве кодирования спектра, которое кодирует информацию фильтра для передачи, обеспечена кодовая книга формы остатка спектра, в которой записана совокупность кандидатов остатка спектра, и высокочастотный диапазон второго спектра оценивается путем обеспечения остатка спектра в качестве входного сигнала для фильтра и осуществления фильтрации, что позволяет кодировать компоненты высокочастотного диапазона второго спектра, которые нельзя выразить путем изменения первого спектра с использованием остатка спектра, что позволяет повысить эффективность оценки высокочастотного диапазона второго спектра.
Кроме того, второе устройство масштабируемого кодирования, отвечающее настоящему изобретению, оценивает высокочастотный диапазон второго спектра с использованием фильтра, имеющего первый спектр в качестве внутреннего состояния, по достижении высокого качества первого спектра за счет кодирования компонента ошибки между низкочастотным диапазоном второго спектра и первым спектром, что позволяет добиться высокого качества изображения посредством повышения эффективности оценки за счет оценивания высокочастотного диапазона второго спектра с использованием первого спектра повышенного качества после повышения качества первого спектра по отношению к низкочастотному диапазону второго спектра.
Кроме того, третье устройство масштабируемого кодирования, отвечающее настоящему изобретению, кодирует компонент ошибки между низкочастотным диапазоном второго спектра и первым спектром, так чтобы компонент ошибки между оценочным спектром, сгенерированным путем оценки высокочастотного диапазона второго спектра с использованием фильтра, имеющего первый спектр в качестве внутреннего состояния, и высокочастотным диапазоном второго спектра, равно как и компонент ошибки между низкочастотным диапазоном второго спектра и первым спектром были малы. Это значит, что можно добиться высокого качества, поскольку первый спектр кодируется с повышением качества, как первого спектра, так и оценочного спектра для высокочастотного диапазона второго спектра, одновременно с кодированием компонентов ошибки между первым спектром и низкочастотным диапазоном второго спектра.
Кроме того, в вышеописанных устройствах масштабируемого кодирования с первого по третье, после генерации битового потока, передаваемого на устройство декодирования в устройстве кодирования, битовый поток содержит, по меньшей мере, масштабный коэффициент, коэффициент регулировки динамического диапазона и отставание, и битовый поток конфигурируется в этом порядке. В результате получается конфигурация битового потока, в которой параметры, сильнее влияющие на качество, размещены ближе к MSB (старшему биту) битового потока, что позволяет получить эффект, состоящий в снижении вероятности ухудшения качества, даже если биты в произвольных битовых позициях исключены от LSB (младшего бита) битового потока.
Настоящая заявка опирается на патентную заявку Японии №2004-322959, поданную 5 ноября 2004 г., все содержимое которой в явном виде включено сюда посредством ссылки.
Промышленная применимость
Устройство кодирования, устройство декодирования, способ кодирования и способ декодирования, отвечающие настоящему изобретению, можно применять к масштабируемому кодированию/декодированию и пр.