РАСПРЕДЕЛЕНИЕ БИТОВ, КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ АУДИО
BIT DISTRIBUTION, AUDIO ENCODING AND DECODING

Область техники
Устройства, приспособления и изделия в соответствии с настоящим изобретением относятся к кодированию и декодированию аудио и, в частности, к способу и устройству для эффективного распределения битов в область частот, важную для восприятия, на основании поддиапазонов, способу и устройству кодирования аудио, способу и устройству декодирования аудио, регистрирующей среде и мультимедийному устройству, в котором это используется.
Уровень техники
При кодировании или декодировании аудиосигнала требуется эффективно использовать ограниченное число битов для восстановления аудиосигнала, имеющего наилучшее качество звучания, в диапазоне ограниченного числа битов. В частности, при низкой скорости передачи требуется, чтобы метод кодирования и декодирования аудиосигнала равномерно распределял биты в спектральные компоненты важные для восприятия вместо сосредоточения битов в конкретной частотной области.
В частности, при низкой скорости передачи в тех случаях, когда кодирование выполняется с использованием битов, распределяемых каждому диапазону частот, например, поддиапазону, может образоваться спектральный провал из-за частотной компоненты, которая не кодируется ввиду недостаточного числа битов, тем самым приводя к ухудшению качества звучания.
Сущность изобретения
Техническая задача
Аспектом является создание способа и устройства для эффективного распределения битов в области частот, важной для восприятия, на основании поддиапазонов, способа и устройства кодирования аудио, способа и устройства декодирования аудио, регистрирующей среды и мультимедийного устройства, в котором это используется.
Аспектом является создание способа и устройства для эффективного распределения битов в области частот, важной для восприятия, с низкой сложностью на основании поддиапазонов, способа и устройства кодирования аудио, способа и устройства декодирования аудио, регистрирующей среды и мультимедийного устройства, в котором это используется.
Решение задачи
В соответствии с одним аспектом одного или более примерных вариантов осуществления предлагается способ распределения битов, включающий в себя: определение распределяемого числа битов в единицах с десятичной запятой на основании каждого диапазона частот таким образом, что Отношение сигнал-шум (SNR) спектра, имеющегося в заданном диапазоне частот, доводится до максимума в пределах диапазона допустимого числа битов для конкретного кадра; и корректировку распределяемого числа битов на основании каждого диапазона частот.
В соответствии с еще одним аспектом одного или более примерных вариантов осуществления предлагается устройство распределения битов, включающее в себя: блок преобразования, который преобразует аудиосигнал во временной области в спектр звуковых частот в частотной области; и блок распределения битов, который оценивает допустимое число битов в единицах с десятичной запятой путем использования порога маскирования на основании диапазонов частот, входящих в конкретный кадр в спектре звуковых частот, оценивает распределяемое число битов в единицах с десятичной запятой путем использования спектральной энергии и корректирует распределяемое число битов таким образом, чтобы оно не превышало допустимое число битов.
В соответствии с еще одним аспектом одного или более примерных вариантов осуществления предлагается устройство кодирования аудио, включающее в себя: блок преобразования, который преобразует аудиосигнал во временной области в спектр звуковых частот в частотной области; блок распределения битов, который определяет распределяемое число битов в единицах с десятичной запятой на основании каждого диапазона частот таким образом, что Отношение сигнал-шум (SNR) спектра, имеющегося в заданном диапазоне частот, доводится до максимума в пределах диапазона допустимого числа битов для конкретного кадра спектра звуковых частот, и корректирует распределяемое число битов, определяемых на основании каждого диапазона частот; и блок кодирования, который кодирует спектр звуковых частот путем использования числа битов, скорректированных на основании каждого диапазона частот и спектральной энергии.
В соответствии с еще одним аспектом одного или более примерных вариантов осуществления предлагается устройство декодирования аудио, включающее в себя: блок преобразования, который преобразует аудиосигнал во временной области в спектр звуковых частот в частотной области; блок распределения битов, который определяет распределяемое число битов в единицах с десятичной запятой на основании каждого диапазона частот таким образом, что Отношение сигнал-шум (SNR) спектра, имеющегося в заданном диапазоне частот, доводится до максимума в пределах диапазона допустимого числа битов для конкретного кадра спектра звуковых частот, и корректирует распределяемое число битов, определяемых на основании каждого диапазона частот; и блок кодирования, который кодирует спектр звуковых частот путем использования числа битов, скорректированных на основании каждого диапазона частот и спектральной энергии.
В соответствии с еще одним аспектом одного или более примерных вариантов осуществления предлагается устройство декодирования аудио, включающее в себя: блок распределения битов, который оценивает допустимое число битов в единицах с десятичной запятой путем использования порога маскирования на основании диапазонов частот, входящих в конкретный кадр, оценивает распределяемое число битов в единицах с десятичной запятой путем использования спектральной энергии и корректирует распределяемое число битов таким образом, чтобы оно не превышало допустимое число битов; блок декодирования, который декодирует спектр звуковых частот, входящий в битовый поток, путем использования числа битов, скорректированных на основании каждого диапазона частот и спектральной энергии; и блок обратного преобразования, который преобразует декодированный спектр звуковых частот в аудиосигнал во временной области.
Краткое описание чертежей
Вышеизложенные и другие варианты станут более понятными благодаря подробному описанию их примеров осуществления со ссылкой на прилагаемые чертежи, на которых:
фиг. 1 представляет собой блок-схему устройства кодирования аудио в соответствии с примерным вариантом осуществления;
фиг. 2 представляет собой блок-схему блока распределения битов в устройстве кодирования аудио на фиг. 1 в соответствии с примерным вариантом осуществления;
фиг. 3 представляет собой блок-схему блока распределения битов в устройстве кодирования аудио на фиг. 1 в соответствии с еще одним примерным вариантом осуществления;
фиг. 4 представляет собой блок-схему блока распределения битов в устройстве кодирования аудио на фиг. 1 в соответствии с еще одним примерным вариантом осуществления;
фиг. 5 представляет собой блок-схему блока кодирования в устройстве кодирования аудио на фиг. 1 в соответствии с примерным вариантом осуществления;
фиг. 6 представляет собой блок-схему устройства кодирования аудио в соответствии с еще одним примерным вариантом осуществления;
фиг. 7 представляет собой блок-схему устройства декодирования аудио в соответствии с примерным вариантом осуществления;
фиг. 8 представляет собой блок-схему блока распределения битов в устройстве декодирования аудио на фиг. 7 в соответствии с примерным вариантом осуществления;
фиг. 9 представляет собой блок-схему блока декодирования в устройстве декодирования аудио на фиг. 7 в соответствии с примерным вариантом осуществления;
фиг. 10 представляет собой блок-схему блока декодирования в устройстве декодирования аудио на фиг. 7 в соответствии с еще одним примерным вариантом осуществления;
фиг. 11 представляет собой блок-схему блока декодирования в устройстве декодирования аудио на фиг. 7 в соответствии с еще одним примерным вариантом осуществления;
фиг. 12 представляет собой блок-схему устройства декодирования аудио в соответствии с еще одним примерным вариантом осуществления;
фиг. 13 представляет собой блок-схему устройства декодирования аудио в соответствии с еще одним примерным вариантом осуществления;
фиг. 14 представляет собой структурную схему, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления;
фиг. 15 представляет собой структурную схему, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления;
фиг. 16 представляет собой структурную схему, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления;
фиг. 17 представляет собой структурную схему, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления;
фиг. 18 представляет собой блок-схему мультимедийного устройства, содержащего модуль кодирования, в соответствии с примерным вариантом осуществления;
фиг. 19 представляет собой блок-схему мультимедийного устройства, содержащего модуль декодирования, в соответствии с примерным вариантом осуществления;
фиг. 20 представляет собой блок-схему мультимедийного устройства, содержащего модуль кодирования и модуль декодирования, в соответствии с примерным вариантом осуществления.
Вариант осуществления изобретения
Настоящая идея изобретения может допускать различного рода изменения или модификации и различные изменения формы, и в описании будут проиллюстрированы на чертежах и подробно описаны конкретные примерные варианты осуществления. Однако следует понимать, что конкретные примерные варианты осуществления не ограничивают настоящую идею изобретения определенной формой описания, а включают в себя любую модифицированную, эквивалентную или замененную форму в пределах сущности и технического объема настоящей идеи изобретения. В нижеследующем описании хорошо известные функции или конструкции не описываются подробно, поскольку они могут затруднить понимание изобретения из-за ненужных деталей.
Хотя для описания различных элементов могут использоваться такие термины как «первый» и «второй», элементы не могут ограничиваться этими терминами. Эти термины могут использоваться, чтобы отличать некоторый элемент от другого элемента.
Используемая в данной заявке терминология используется лишь для описания конкретных примерных вариантов осуществления и не имеет целью ограничивать настоящую идею изобретения. Хотя общие термины, в настоящее время применяемые наиболее широко, выбраны в качестве терминов, используемых в настоящей идее изобретения на основании функций в настоящей идее изобретения, они могут варьироваться в соответствии с намерением специалистов, судебных прецедентов или появлением новой технологии. Кроме того, в отдельных случаях могут использоваться термины, специально выбираемые заявителем, и в этом случае значение терминов будет приведено в соответствующем описании изобретения. В связи с этим во всей настоящей идее изобретения термины, применяемые в настоящей идее изобретения, должны определяться не простыми названиями терминов, а значением терминов и смыслом.
Выражение в единственном числе включает в себя выражение во множественном числе кроме тех случаев, когда они явно отличаются друг от друга в некотором контексте. Следует понимать, что в данной заявке такие термины как «включать в себя» и «иметь» используются для указания на наличие реализованного признака, числа, этапа, операции, элемента, детали или их совокупности без исключения заранее возможности наличия или добавления одного или более иных признаков, чисел, этапов, операций, элементов, деталей или их совокупностей.
В дальнейшем в этом документе идея изобретения будет описываться более полно со ссылкой на прилагаемые чертежи, на которых изображены примерные варианты осуществления. Одинаковые условные обозначения на чертежах обозначают одинаковые элементы, и, следовательно, их повторное описание приводиться не будет.
Используемые в настоящем документе выражения, такие как «по меньшей мере, один из», если они предшествуют перечню элементов, изменяют весь перечень элементов и не изменяют отдельных элементов перечня.
Фиг. 1 представляет собой блок-схему устройства 100 кодирования аудио в соответствии с примерным вариантом осуществления.
Устройство 100 кодирования аудио на фиг. 1 может содержать блок 130 преобразования, блок 150 распределения битов, блок 170 кодирования и блок 190 мультиплексирования. Компоненты устройства 100 кодирования аудио могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора (например, центрального процессора (ЦП)). При этом аудио может означать аудиосигнал, речевой сигнал или сигнал, полученный путем их синтезирования, но в дальнейшем в этом документе для удобства описания аудио, как правило, означает аудиосигнал.
В соответствии с фиг. 1 блок 130 преобразования может генерировать спектр звуковых частот путем преобразования аудиосигнала во временной области в аудиосигнал в частотной области. Преобразование из временной области в частотную область может выполняться путем использования различных хорошо известных способов, таких как Дискретное косинусное преобразование (DCT).
Блок 150 распределения битов может определять порог маскирования, получаемый путем использования спектральной энергии или психоакустической модели в отношении спектра звуковых частот и числа битов, распределяемых на основании каждого поддиапазона путем использования спектральной энергии. При этом поддиапазон представляет собой блок группированных выборок спектра звуковых частот и может иметь постоянную или непостоянную длину за счет соответствия пороговому диапазону. В тех случаях, когда поддиапазоны имеют непостоянную длину, поддиапазоны могут определяться таким образом, что число выборок от начальной выборки до последней выборки, входящих в каждый поддиапазон, на кадр постепенно увеличивается. При этом число поддиапазонов или число выборок, входящих в каждый подкадр, может определяться заранее. В соответствии с другим вариантом после того, как один кадр делится на предварительно заданное число поддиапазонов, имеющих постоянную длину, постоянная длина может корректироваться в соответствии с распределением спектральных коэффициентов. Распределение спектральных коэффициентов может определяться с использованием показателя спектральной неравномерности, разности между максимальным значением и минимальным значением или дифференциальной величины максимального значения.
В соответствии с примерным вариантом осуществления блок 150 распределения битов может оценивать допустимое число битов путем использования величины Нормы, полученной на основании каждого поддиапазона, т.е. средней спектральной энергии, распределять биты на основе средней спектральной энергии и ограничивать распределяемое число битов таким образом, чтобы оно не превышало допустимое число битов.
В соответствии с примерным вариантом осуществления блок 150 распределения битов может оценивать допустимое число битов путем использования психоакустической модели на основании каждого поддиапазона, распределять биты на основе средней спектральной энергии и ограничивать распределяемое число битов таким образом, чтобы оно не превышало допустимое число битов.
Блок 170 кодирования может генерировать информацию в отношении кодированного спектра путем квантования спектра звуковых частот и его кодирования без потерь на основе распределяемого числа битов, окончательно определяемых на основании каждого поддиапазона.
Блок 190 мультиплексирования генерирует битовый поток путем мультиплексирования кодированной величины Нормы, выдаваемой с блока 150 распределения битов, и информации, относящейся к кодированному спектру, выдаваемому с блока 170 кодирования.
Устройство 100 кодирования аудио может генерировать уровень шума для факультативного поддиапазона и выдавать этот уровень шума в устройство декодирования аудио (700 на фиг. 7, 1200 на фиг. 12 или 1300 на фиг. 13).
Фиг. 2 представляет собой блок-схему блока 200 распределения битов, соответствующего блоку 150 распределения битов в устройстве 100 кодирования аудио на фиг. 1, в соответствии с примерным вариантом осуществления.
Блок 200 распределения битов на фиг. 2 может содержать блок 210 оценки Нормы, кодер 230 Нормы и блок 250 оценки и распределения битов. Компоненты блока 200 распределения битов могут быть встроены, по меньшей мере, в один модуль и реализованы, по меньшей мере, с помощью одного процессора.
В соответствии с фиг. 2, блок 210 оценки Нормы может получать величину Нормы, соответствующую средней спектральной энергии, на основании каждого поддиапазона. Например, величина Нормы может быть вычислена с помощью Уравнения 1, применяемого в ITU-T G.719, но не ограничивается им.
Мат. фиг. 1
[Мат. 1]
p
p
p
В Уравнении 1 в тех случаях, когда в одном кадре имеется Р поддиапазонов или подсекторов, N(P) означает величину Нормы р-го поддиапазона или подсектора, L означает длину р-го поддиапазона или подсектора, т.е. количество выборок или спектральных коэффициентов, s и e означают начальную выборку и последнюю выборку р-го поддиапазона соответственно, а y(k) означает размер выборки или спектральный коэффициент (т.е. энергию).
Величина Нормы, получаемая на основании каждого поддиапазона, может выдаваться в блок кодирования (170 на фиг. 1).
Кодер 230 Нормы может квантовать и кодировать без потерь величину Нормы, получаемую на основании каждого поддиапазона. Величина Нормы, квантуемая на основании каждого поддиапазона, или величина Нормы, получаемая путем деквантования квантованной величины Нормы, может выдаваться в блок 250 оценки и распределения битов. Величина Нормы, квантованная и кодированная без потерь на основании каждого поддиапазона, может выдаваться в блок мультиплексирования (190 на фиг. 1).
Блок 250 оценки и распределения битов может оценивать и распределять требуемое число битов путем использования величины Нормы. Предпочтительно деквантованная величина Нормы может использоваться таким образом, что кодирующая часть и декодирующая часть могут использовать один и тот же процесс оценки и распределения битов. В этом случае может использоваться величина Нормы, скорректированная с учетом маскирующего эффекта. Например, величина Нормы может корректироваться с помощью психоакустического взвешивания, применяемого в ITU-T G.719, как в Уравнении 2, но не ограничивается им.
Мат. фиг. 2
[Мат. 2]
В Уравнении 2
означает показатель квантованной величины Нормы р-го поддиапазона,
означает показатель скорректированной величины Нормы р-го поддиапазона, а
WSpe(p)
означает спектр смещения для корректировки величины Нормы.
Блок 250 оценки и распределения битов может вычислять порог маскирования путем использования величины Нормы на основании каждого поддиапазона и оценивать требуемое для восприятия число битов путем использования порога маскирования. С этой целью величина Нормы, получаемая на основании каждого поддиапазона, в равной степени может быть представлена в виде спектральной энергии в единицах дБ, как показано в Уравнении 3.
Мат. фиг. 3
[Мат. 3]
В качестве способа получения порога маскирования могут использоваться различные хорошо известные способы. То есть, порог маскирования является величиной, соответствующей минимальному различимому искажению (JND), при этом когда шум квантования ниже порога маскирования, перцептуальный шум не может восприниматься. Таким образом, минимальное число битов, требуемое для того, чтобы перцептуальный шум не воспринимался, может вычисляться с помощью порога маскирования. Например, Отношение сигнал-маска (SMR) может вычисляться путем использования отношения величины Нормы к порогу маскирования на основании каждого поддиапазона, а число битов, удовлетворяющее порогу маскирования, может оцениваться путем использования отношения 6,025 дБ1 бит относительно вычисленного SMR. Хотя расчетное число битов представляет собой минимальное число битов, требуемое для того, чтобы перцептуальный шум не воспринимался, поскольку с точки зрения сжатия нет необходимости в использовании числа битов, превышающего расчетное, расчетное число битов может рассматриваться как максимальное число битов, допустимое на основании каждого поддиапазона (в дальнейшем в этом документе - допустимое число битов). Допустимое число битов каждого поддиапазона может быть представлено в единицах с десятичной запятой.
Блок 250 оценки и распределения битов может выполнять распределение битов в единицах с десятичной запятой путем использования величины Нормы на основании каждого поддиапазона. В этом случае биты последовательно распределяются из поддиапазона, имеющего большую величину Нормы, чем другие, и можно скорректировать, чтобы больше битов распределялось в важный для восприятия поддиапазон путем взвешивания в соответствии с важностью для восприятия каждого поддиапазона в отношении величины Нормы на основании каждого поддиапазона. Важность для восприятия может определяться, например, посредством психоакустического взвешивания, как в ITU-T G.719.
Блок 250 оценки и распределения битов может последовательно распределять биты в выборки из поддиапазона, имеющего большую величину Нормы, чем другие. Иными словами, в первую очередь биты на выборку распределяются для поддиапазона, имеющего максимальную величину Нормы, при этом приоритет поддиапазона, имеющего максимальную величину Нормы, изменяется путем уменьшения величины Нормы поддиапазона на предварительно заданные единицы таким образом, что биты распределяются в другой поддиапазон. Этот процесс циклически выполняется до тех пор, пока не будет явно распределено общее число В битов, допустимое в конкретном кадре.
Блок 250 оценки и распределения битов может окончательно определять распределяемое число битов путем ограничения распределяемого числа битов таким образом, чтобы оно не превышало расчетное число битов, т.е. допустимое число битов для каждого поддиапазона. Для всех поддиапазонов распределяемое число битов сравнивается с расчетным числом битов, и если распределяемое число битов больше расчетного числа битов, распределяемое число битов ограничивается расчетным числом битов. Если распределяемое число битов всех поддиапазонов в конкретном кадре, которое получается в результате ограничения числа битов, меньше общего числа В битов, допустимого в конкретном кадре, число битов, соответствующее разности, может равномерно распределяться во все поддиапазоны или неравномерно распределяться в соответствии с важностью для восприятия.
Поскольку число битов, распределяемых в каждый поддиапазон, может определяться в единицах с десятичной запятой и ограничивается допустимым числом битов, общее число битов конкретного кадра может быть распределено эффективно.
В соответствии с примерным вариантом осуществления развернутый способ оценки и распределения числа битов, требуемого для каждого поддиапазона, состоит в следующем. В соответствии с этим способом ввиду того, что число битов, распределяемых в каждый поддиапазон, может определяться немедленно без повторения в течение нескольких раз, сложность может быть понижена.
Например, решение, которое может оптимизировать искажение за счет квантования и число битов, распределяемых в каждый поддиапазон, может быть получено применением функции Лагранжа, представленной Уравнением 4.
Мат. фиг. 4
[Мат. 4]
b
b
b
b
В Уравнении 4 L обозначает функцию Лагранжа, D обозначает искажение квантования, B обозначает общее число битов, допустимое в конкретном кадре, N обозначает число выборок b-го поддиапазона, а L обозначает число битов, допустимое в b-м поддиапазоне. То есть, NL обозначает число битов, распределяемых в b-й поддиапазон.
λ обозначает множитель Лагранжа, являющийся коэффициентом оптимизации.
b
Путем использования Уравнения 4 может быть определено L для минимизации разности между общим числом битов, распределяемых в поддиапазоны, входящие в конкретный кадр, и допустимым числом битов для конкретного кадра на основании искажения квантования.
Искажение D квантования может быть определено с помощью Уравнения 5.
Мат. фиг. 5
[Мат. 5]
В уравнении 5
означает входной спектр, а
означает декодированный спектр. То есть, искажение D квантования может быть определено как Среднеквадратическая ошибка (MSE) в отношении входного спектра
и декодированного спектра
в произвольном кадре.
Знаменатель в Уравнении 5 является постоянной величиной, определяемой конкретным входным спектром, и в связи с этим ввиду того, что знаменатель в Уравнении 5 не влияет на оптимизацию, Уравнение 7 можно упростить с помощью Уравнения 6.
Мат. фиг. 6
[Мат. 6]
Величина Нормы
,
которая является средней спектральной энергией b-го поддиапазона в отношении входного спектра
,
может быть определена с помощью Уравнения 7, величина Нормы
,
квантованной по логарифмической шкале, может быть определена с помощью Уравнения 8, а деквантованная величина Нормы
может быть определена с помощью Уравнения 9.
Мат. фиг. 7
[Мат. 7]
Мат. фиг. 8
[Мат. 8]
Мат. фиг. 9
[Мат. 9]
b
b
В уравнении 7 s и e обозначают начальную выборку и последнюю выборку b-го поддиапазона соответственно.
i
Нормированный спектр y генерируется делением входного спектра
,
на деквантованную величину Нормы
,
как в Уравнении 10, а декодированный спектр
генерируется умножением восстановленного нормированного спектра
на деквантованную величину Нормы
,
как в Уравнении 11.
Мат. фиг. 10
[Мат. 10]
Мат. фиг. 11
[Мат. 11]
Член искажения квантования может быть изменен с помощью Уравнения 12 путем использования Уравнений 9-11.
Мат. фиг. 12
[Мат. 12]
Обычно из соотношения между искажением квантования и распределяемым числом битов определяется, что Отношение сигнал-шум (SNR) увеличивается на 6,02 дБ всякий раз, когда добавляется 1 бит на выборку, и путем использования этого искажение квантования нормированного спектра может описываться Уравнением 13.
Мат. фиг. 13
[Мат. 13]
В случае реального кодирования аудио Уравнение 14 может быть определено применением величины С по шкале в дБ, которая может варьироваться в соответствии с характеристиками сигнала без фиксации соотношения 1 бит/выборку6,025 дБ.
Мат. фиг. 14
[Мат. 14]
В Уравнении 14 в тех случаях, когда С составляет 2, 1 бит/выборку соответствует 6,02 дБ, а когда С составляет 3, 1 бит/выборку соответствует 9,03 дБ.
Таким образом, Уравнение 6 может быть представлено Уравнением 15 по Уравнениям 12 и 14.
Мат. фиг. 15
[Мат. 15]
b
b
Для получения оптимальных L и Λ из Уравнения 15 для L и Λ выполняется частный дифференциал, как в Уравнении 16.
Мат. фиг. 16
[Мат. 16]
b
При упорядочивании членов Уравнения 16 L может быть представлено Уравнением 17.
Мат. фиг. 17
[Мат. 17]
b
Путем использования Уравнения 17 распределяемое число L битов на выборку каждого поддиапазона, которое может максимизировать SNR входного спектра, может оцениваться в диапазоне общего числа В битов, допустимого в конкретном кадре.
Распределяемое число битов на основании каждого поддиапазона, которое определяется блоком 250 оценки и распределения битов, может выдаваться в блок кодирования (170 на фиг. 1).
Фиг. 3 представляет собой блок-схему блока 300 распределения битов, соответствующего блоку 150 распределения битов в устройстве 100 кодирования аудио на фиг. 1, в соответствии с еще одним примерным вариантом осуществления.
Блок 300 распределения битов на фиг. 3 может включать в себя психоакустическую модель 310, блок 330 оценки и распределения битов, блок 350 оценки масштабного коэффициента и кодер 370 масштабного коэффициента. Компоненты блока 300 распределения битов могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
В соответствии с фиг. 3, психоакустическая модель 310 может получать порог маскирования для каждого поддиапазона путем приема спектра звуковых частот из блока преобразования (130 на фиг. 1).
Блок 330 оценки и распределения битов может оценивать требуемое для восприятия число битов путем использования порога маскирования на основании каждого поддиапазона. То есть, SMR может вычисляться на основании каждого поддиапазона, а число битов, удовлетворяющее порогу маскирования, может оцениваться путем использования отношения 6,025 дБ1 бит относительно вычисленного SMR. Хотя расчетное число битов представляет собой минимальное число битов, требуемое для того, чтобы перцептуальный шум не воспринимался, поскольку с точки зрения сжатия нет необходимости в использовании числа битов, превышающего расчетное, расчетное число битов может рассматриваться как максимальное число битов, допустимое на основании каждого поддиапазона (в дальнейшем в этом документе - допустимое число битов). Допустимое число битов каждого поддиапазона может быть представлено в единицах с десятичной запятой.
Блок 330 оценки и распределения битов может выполнять распределение битов в единицах с десятичной запятой путем использования спектральной энергии на основании каждого поддиапазона. В этом случае, например, может использоваться способ распределения битов с помощью Уравнений 7-20.
Блок 330 оценки и распределения битов сравнивает распределяемое число битов с расчетным числом битов для всех поддиапазонов, и если распределяемое число битов больше расчетного числа битов, распределяемое число битов ограничивается расчетным числом битов. Если распределяемое число битов всех поддиапазонов в конкретном кадре, которое получается в результате ограничения числа битов, меньше общего числа В битов, допустимого в конкретном кадре, число битов, соответствующее разности, может равномерно распределяться во все поддиапазоны или неравномерно распределяться в соответствии с важностью для восприятия.
Блок 350 оценки масштабного коэффициента может оценивать масштабный коэффициент путем использования распределяемого числа битов, окончательно определяемого на основании каждого поддиапазона. Масштабный коэффициент, оцениваемый на основании каждого поддиапазона, может выдаваться в блок кодирования (170 на фиг. 1).
Кодер 370 масштабного коэффициента может квантовать и без потерь кодировать масштабный коэффициент, оцениваемый на основании каждого поддиапазона. Масштабный коэффициент, кодированный на основании каждого поддиапазона, может выдаваться в блок мультиплексирования (190 на фиг. 1).
Фиг. 4 представляет собой блок-схему блока 400 распределения битов, соответствующего блоку 150 распределения битов в устройстве 100 кодирования аудио на фиг. 1, в соответствии с еще одним примерным вариантом осуществления.
Блок 400 распределения битов на фиг. 4 может содержать блок 410 оценки Нормы, блок 430 оценки и распределения битов, блок 450 оценки масштабного коэффициента и кодер 470 масштабного коэффициента. Компоненты блока 400 распределения битов могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
В соответствии с фиг. 4, блок 410 оценки Нормы может получать величину Нормы, соответствующую средней спектральной энергии, на основании каждого поддиапазона.
Блок 430 оценки и распределения битов может получать порог маскирования путем использования спектральной энергии на основании каждого поддиапазона и оценивать требуемое для восприятия число битов, т.е. допустимое число битов путем использования порога маскирования.
Блок 430 оценки и распределения битов может выполнять распределение битов в единицах с десятичной запятой путем использования спектральной энергии на основании каждого поддиапазона. В этом случае, например, может использоваться способ распределения битов с помощью Уравнений 7-20.
Блок 430 оценки и распределения битов сравнивает распределяемое число битов с расчетным числом битов для всех поддиапазонов, и если распределяемое число битов больше расчетного числа битов, распределяемое число битов ограничивается расчетным числом битов. Если распределяемое число битов всех поддиапазонов в конкретном кадре, которое получается в результате ограничения числа битов, меньше общего числа В битов, допустимого в конкретном кадре, число битов, соответствующее разности, может равномерно распределяться во все поддиапазоны или неравномерно распределяться в соответствии с важностью для восприятия.
Блок 450 оценки масштабного коэффициента может оценивать масштабный коэффициент путем использования распределяемого числа битов, окончательно определяемого на основании каждого поддиапазона. Масштабный коэффициент, оцениваемый на основании каждого поддиапазона, может выдаваться в блок кодирования (170 на фиг. 1).
Кодер 470 масштабного коэффициента может квантовать и кодировать без потерь масштабный коэффициент, оцениваемый на основании каждого поддиапазона. Масштабный коэффициент, кодированный на основании каждого поддиапазона, может выдаваться в блок мультиплексирования (190 на фиг. 1).
Фиг. 5 представляет собой блок-схему блока 500 кодирования, соответствующего блоку 170 кодирования в устройстве 100 кодирования аудио на фиг. 1, в соответствии с примерным вариантом осуществления.
Блок 500 кодирования на фиг. 5 может содержать блок 510 нормирования спектра и кодер 530 спектра. Компоненты блока 500 кодирования могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
В соответствии с фиг. 5 блок 510 нормирования спектра может нормировать спектр путем использования величины Нормы, выдаваемой с блока распределения битов (150 на фиг. 1).
Кодер 530 спектра может квантовать нормированный спектр путем использования распределяемого числа битов каждого поддиапазона и без потерь кодировать результат квантования. Например, для спектрального кодирования может использоваться факторное импульсное кодирование, но оно этим не ограничивается. В соответствии с факторным импульсным кодированием такая информация, как положение импульса, амплитуда импульса и знак импульса может быть представлена в факторной форме в пределах диапазона распределяемого числа битов.
Информация, относящаяся к спектру, кодированному с помощью кодера 530 спектра, может выдаваться в блок мультиплексирования (190 на фиг. 1).
Фиг. 6 представляет собой блок-схему устройства 600 кодирования аудио в соответствии с еще одним примерным вариантом осуществления.
Устройство 600 кодирования аудио на фиг. 6 может содержать блок 610 обнаружения переходных процессов, блок 630 преобразования, блок 650 распределения битов, блок 670 кодирования и блок 690 мультиплексирования. Компоненты блока 600 кодирования аудио могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора. Поскольку имеется отличие, состоящее в том, что при сравнении устройства 600 кодирования аудио на фиг. 6 с устройством 100 кодирования аудио на фиг. 1 устройство 600 кодирования аудио на фиг. 6 дополнительно содержит блок 610 обнаружения переходных процессов, подробное описание общих компонентов в данном случае не приводится.
В соответствии с фиг. 6 блок 610 обнаружения переходных процессов может обнаруживать интервал, указывающий характеристику переходного процесса путем анализа аудиосигнала. Для обнаружения интервала переходного процесса могут использоваться различные хорошо известные способы. Сигнальная информация о переходном процессе, выдаваемая с блока 610 обнаружения переходных процессов, может быть включена в битовый поток с помощью блока 690 мультиплексирования.
Блок 630 преобразования может определять размер окна, используемого для преобразования, в соответствии с результатом обнаружения интервала переходного процесса и выполнять преобразование из временной области в частотную область на основе определенного размера окна. Например, короткое окно может применяться к поддиапазону, из которого обнаруживается интервал переходного процесса, а длинное окно может применяться к поддиапазону, из которого интервал переходного процесса не обнаруживается.
Блок 650 распределения битов может быть реализован с помощью одного из блоков 200, 300 и 400 распределения битов на фиг. 2, 3 и 4 соответственно.
Блок 670 кодирования может определять размер окна, используемого для кодирования, в соответствии с результатом обнаружения интервала переходного процесса.
Устройство 600 кодирования аудио может генерировать уровень шума для факультативного поддиапазона и выдавать этот уровень шума в устройство декодирования аудио (700 на фиг. 7, 1200 на фиг. 12 или 1300 на фиг. 13).
Фиг. 7 представляет собой блок-схему устройства 700 декодирования аудио в соответствии с примерным вариантом осуществления.
Устройство 700 декодирования аудио на фиг. 7 может содержать блок 710 демультиплексирования, блок 730 распределения битов, блок 750 декодирования и блок 770 обратного преобразования. Компоненты устройства декодирования аудио могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
В соответствии с фиг. 7 блок 710 демультиплексирования может демультиплексировать битовый поток для извлечения квантованной и кодированной без потерь величины Нормы и информации, относящейся к кодированному спектру.
Блок 730 распределения битов может получать деквантованную величину Нормы из квантованной и кодированной без потерь величины Нормы на основании каждого поддиапазона и определять распределяемое число битов путем использования деквантованной величины Нормы. Блок 730 распределения битов может работать по существу так же, как блок 150 или 650 распределения битов устройства 100 или 600 кодирования аудио. В тех случаях, когда величина Нормы корректируется с помощью психоакустического взвешивания в устройстве 100 или 600 кодирования аудио, деквантованная величина Нормы может корректироваться с помощью устройства 700 кодирования аудио аналогичным образом.
Блок 750 декодирования может без потерь кодировать и деквантовать кодированный спектр путем использования информации, относящейся к кодированному спектру и выдаваемой с блока 710 демультиплексирования. Например, для декодирования спектра может использоваться импульсное декодирование.
Блок 770 обратного преобразования может генерировать восстановленный аудиосигнал путем преобразования декодированного спектра во временную область.
Фиг. 8 представляет собой блок-схему блока 800 распределения битов в устройстве 700 декодирования аудио на фиг. 7 в соответствии с примерным вариантом осуществления.
Блок 800 распределения битов на фиг. 8 может содержать декодер 810 Нормы и блок 830 оценки и распределения битов. Компоненты блока 800 распределения битов могут быть встроены, по меньшей мере, в один модуль и реализованы, по меньшей мере, с помощью одного процессора.
В соответствии с фиг. 8 декодер 810 Нормы может получать деквантованную величину Нормы из квантованной и кодированной без потерь величины Нормы, выдаваемой с блока демультиплексирования (710 на фиг. 7).
Блок 830 оценки и распределения битов может определять распределяемое число битов путем использования деквантованной величины Нормы. А именно, блок 830 оценки и распределения битов может получать порог маскирования путем использования спектральной энергии, т.е. величины Нормы на основании каждого поддиапазона и оценивать требуемое для восприятия число битов, т.е. допустимое число битов путем использования порога маскирования.
Блок 830 оценки и распределения битов может выполнять распределение битов в единицах с десятичной запятой путем использования спектральной энергии, т.е. величины Нормы на основании каждого поддиапазона. В этом случае, например, может использоваться способ распределения битов с помощью Уравнений 7-20.
Блок 830 оценки и распределения битов сравнивает распределяемое число битов с расчетным числом битов для всех поддиапазонов, и если распределяемое число битов больше расчетного числа битов, распределяемое число битов ограничивается расчетным числом битов. Если распределяемое число битов всех поддиапазонов в конкретном кадре, которое получается в результате ограничения числа битов, меньше общего числа В битов, допустимого в конкретном кадре, число битов, соответствующее разности, может равномерно распределяться во все поддиапазоны или неравномерно распределяться в соответствии с важностью для восприятия.
Фиг. 9 представляет собой блок-схему блока 900 декодирования, соответствующего блоку 750 декодирования в устройстве 700 декодирования аудио на фиг. 7, в соответствии с примерным вариантом осуществления.
Блок 900 декодирования на фиг. 9 может содержать декодер 910 спектра и блок 930 формирования огибающей. Компоненты блока 900 декодирования могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
В соответствии с фиг. 9 декодер 910 спектра может без потерь декодировать и деквантовать кодированный спектр путем использования информации, относящейся к кодированному спектру и выдаваемой с блока демультиплексирования (710 на фиг. 7), и распределяемого числа битов, выдаваемого с блока распределения битов (730 на фиг. 7). Декодированный спектр с декодера 910 спектра представляет собой нормированный спектр.
Блок 930 формирования огибающей может восстанавливать спектр перед нормированием посредством выполнения формирования огибающей по нормированному спектру, выдаваемому с декодера 910 спектра, путем использования деквантованной величины Нормы, выдаваемой с блока распределения битов (730 на фиг. 7).
Фиг. 10 представляет собой блок-схему блока 1000 декодирования, соответствующего блоку 750 декодирования в устройстве 700 декодирования аудио на фиг. 7 в соответствии с еще одним примерным вариантом осуществления.
Блок 1000 декодирования на фиг. 10 может содержать декодер 1010 спектра, блок 1030 формирования огибающей и блок 1050 заполнения спектра. Компоненты блока 1000 декодирования могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
В соответствии с фиг. 10 декодер 1010 спектра может без потерь декодировать и деквантовать кодированный спектр путем использования информации, относящейся к кодированному спектру и выдаваемой с блока демультиплексирования (710 на фиг. 7), и распределяемого числа битов, выдаваемого с блока распределения битов (730 на фиг. 7). Декодированный спектр с декодера 1010 спектра представляет собой нормированный спектр.
Блок 1030 формирования огибающей может восстанавливать спектр перед нормированием посредством выполнения формирования огибающей по нормированному спектру, выдаваемому с декодера 1010 спектра, путем использования деквантованной величины Нормы, выдаваемой с блока распределения битов (730 на фиг. 7).
В тех случаях, когда в спектре, выдаваемом с блока 1030 формирования огибающей, имеется поддиапазон, содержащий деквантованный до 0 элемент, блок 1050 заполнения спектра может заполнять составляющую шума в деквантованном до 0 элементе в этом поддиапазоне. В соответствии с примерным вариантом осуществления составляющая шума может генерироваться случайным образом или генерироваться путем копирования спектра поддиапазона, деквантованного до величины, не равной 0, который расположен рядом с поддиапазоном, содержащим деквантованный до 0 элемент, либо спектра поддиапазона, деквантованного до величины, не равной 0. В соответствии с еще одним примерным вариантом осуществления энергия составляющей шума может корректироваться путем генерирования составляющей шума для поддиапазона, содержащего деквантованный до 0 элемент, и с использованием отношения энергии составляющей шума к деквантованной величине Нормы, выдаваемой с блока распределения битов (730 на фиг. 7), т.е. спектральной энергии. В соответствии с еще одним примерным вариантом осуществления может генерироваться составляющая шума для поддиапазона, содержащего деквантованный до 0 элемент, при этом средняя энергия составляющей шума может корректироваться до 0.
Фиг. 11 представляет собой блок-схему блока 1100 декодирования, соответствующего блоку 750 декодирования в устройстве 700 декодирования аудио на фиг. 7, в соответствии с еще одним примерным вариантом осуществления.
Блок 1100 декодирования на фиг. 11 может содержать декодер 1110 спектра, блок 1130 заполнения спектра и блок 1150 формирования огибающей. Компоненты блока 1100 декодирования могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора. Поскольку имеется отличие, состоящее в том, что при сравнении блока 1100 декодирования на фиг. 11 с устройством 1000 декодирования на фиг. 10 компоновка блока 1130 заполнения спектра и блока 1150 формирования огибающей различаются, подробное описание общих компонентов в данном случае не приводится.
В соответствии с фиг. 11 в тех случаях, когда в нормированном спектре, выдаваемом с декодера 1110 спектра, имеется поддиапазон, содержащий деквантованный до 0 элемент, блок 1130 заполнения спектра может заполнять составляющую шума в деквантованном до 0 элементе в этом поддиапазоне. В этом случае могут использоваться различные способы заполнения шума, применимые к блоку 1050 заполнения шума на фиг. 10. Предпочтительно может генерироваться составляющая шума для поддиапазона, содержащего деквантованный до 0 элемент, при этом средняя энергия составляющей шума может корректироваться до 1.
Блок 1150 формирования огибающей может восстанавливать спектр перед нормированием для спектра, содержащего поддиапазон, в котором заполняется составляющая шума, путем использования деквантованной величины Нормы, выдаваемой с блока распределения битов (730 на фиг. 7).
Фиг. 12 представляет собой блок-схему устройства 1200 декодирования аудио в соответствии с еще одним примерным вариантом осуществления.
Устройство 1200 декодирования аудио на фиг. 12 может содержать блок 1210 демультиплексирования, декодер 1230 масштабного коэффициента, декодер 1250 спектра и блок 1270 обратного преобразования. Компоненты устройства 1200 декодирования аудио могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
В соответствии с фиг. 12 блок 1210 демультиплексирования может демультиплексировать битовый поток для извлечения квантованного и кодированного без потерь масштабного коэффициента и информации, относящейся к кодированному спектру.
Декодер 1230 масштабного коэффициента может без потерь кодировать и деквантовать квантованный и кодированный без потерь масштабный коэффициент на основании каждого поддиапазона.
Декодер 1250 спектра может без потерь декодировать и деквантовать кодированный спектр путем использования информации, относящейся к кодированному спектру, и деквантованного масштабного коэффициента, выдаваемых с блока 1210 демультиплексирования. Блок 1250 декодирования спектра может содержать те же компоненты, что и блок 1000 декодирования на фиг. 10.
Блок 1270 обратного преобразования может генерировать восстановленный аудиосигнал путем преобразования спектра, декодированного декодером 1250 спектра, во временную область.
Фиг. 13 представляет собой блок-схему устройства 1300 декодирования аудио в соответствии с еще одним примерным вариантом осуществления.
Устройство 1300 декодирования аудио на фиг. 13 может содержать блок 1310 демультиплексирования, блок 1330 распределения битов, блок 1350 декодирования и блок 1370 обратного преобразования. Компоненты устройства 1300 декодирования аудио могут быть встроены, по меньшей мере, в один модуль и реализованы с помощью, по меньшей мере, одного процессора.
Поскольку имеется отличие, состоящее в том, что при сравнении устройства 1300 декодирования аудио на фиг. 13 с устройством 700 декодирования аудио на фиг. 7 сигнальная информация о переходном процессе выдается в блок 1350 декодирования и блок 1370 обратного преобразования, подробное описание общих компонентов в данном случае не приводится.
В соответствии с фиг. 13 блок 1350 декодирования может декодировать спектр путем использования информации, относящейся к кодированному спектру и выдаваемой с блока 1310 мультиплексирования. В этом случае размер окна может варьироваться в соответствии с сигнальной информацией о переходном процессе.
Блок 1370 обратного преобразования может генерировать восстановленный аудиосигнал путем преобразования декодированного спектра во временную область. В этом случае размер окна может варьироваться в соответствии с сигнальной информацией о переходном процессе.
Фиг. 14 представляет собой блок-схему алгоритма, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления.
В соответствии с фиг. 14 при выполнении операции 1410 извлекается спектральная энергия каждого поддиапазона. Спектральная энергия может являться величиной Нормы.
При выполнении операции 1420 извлекается порог маскирования путем использования спектральной энергии на основании каждого поддиапазона.
При выполнении операции 1430 оценивается допустимое число битов в единицах с десятичной запятой путем использования порога маскирования на основании каждого поддиапазона.
При выполнении операции 1440 биты распределяются в единицах с десятичной запятой на основе спектральной энергии на основании каждого поддиапазона.
При выполнении операции 1450 допустимое число битов сравнивается с распределяемым числом битов на основании каждого поддиапазона.
При выполнении операции 1460 в том случае, если в результате сравнения при выполнении операции 1450 распределяемое число битов больше допустимого числа битов для конкретного поддиапазона, распределяемое число битов ограничивается допустимым числом битов.
При выполнении операции 1470 в том случае, если в результате сравнения при выполнении операции 1450 распределяемое число битов не больше допустимого числа битов для конкретного поддиапазона, распределяемое число битов используется, как оно есть, либо окончательное распределяемое число битов определяется для каждого поддиапазона путем использования распределяемого числа битов, ограниченного при выполнении операции 1460.
Хотя это и не показано, если сумма распределяемого числа битов, определяемого при выполнении операции 1470 для всех поддиапазонов в конкретном кадре, больше или меньше общего числа битов, допустимого в конкретном кадре, число битов, соответствующее разности, может быть равномерно распределено во все поддиапазоны или неравномерно распределено в соответствии с важностью для восприятия.
Фиг. 15 представляет собой блок-схему алгоритма, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления.
В соответствии с фиг. 15 при выполнении операции 1500 извлекается деквантованная величина Нормы каждого поддиапазона.
При выполнении операции 1510 извлекается порог маскирования путем использования деквантованной величины Нормы на основании каждого поддиапазона.
При выполнении операции 1520 извлекается SMR путем использования порога маскирования на основании каждого поддиапазона.
При выполнении операции 1530 допустимое число битов оценивается в единицах с десятичной запятой путем использования SMR на основании каждого диапазона частот.
При выполнении операции 1540 биты распределяются в единицах с десятичной запятой на основе спектральной энергии (или деквантованной величины Нормы) на основании каждого поддиапазона.
При выполнении операции 1550 допустимое число битов сравнивается с распределяемым числом битов на основании каждого поддиапазона.
При выполнении операции 1560 в том случае, если в результате сравнения при выполнении операции 1550 распределяемое число битов больше допустимого числа битов для конкретного поддиапазона, распределяемое число битов ограничивается допустимым числом битов.
При выполнении операции 1570 в том случае, если в результате сравнения при выполнении операции 1550 распределяемое число битов не больше допустимого числа битов для конкретного поддиапазона, распределяемое число битов используется, как оно есть, либо окончательное распределяемое число битов определяется для каждого поддиапазона путем использования распределяемого числа битов, ограниченного при выполнении операции 1560.
Хотя это и не показано, если сумма распределяемого числа битов, определяемого при выполнении операции 1570 для всех поддиапазонов в конкретном кадре, меньше или больше общего числа битов, допустимого в конкретном кадре, число битов, соответствующее разности, может быть равномерно распределено во все поддиапазоны или неравномерно распределено в соответствии с перцептуальной важностью.
Фиг. 16 представляет собой блок-схему алгоритма, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления.
В соответствии с фиг. 16 при выполнении операции 1610 выполняется инициализация. В качестве примера инициализации, когда распределяемое число битов для каждого поддиапазона оценивается путем использования Уравнения 20, общая сложность может быть уменьшена путем вычисления постоянной величины:
для всех поддиапазонов.
b
b
b
b
При выполнении операции 1620 распределяемое число битов для каждого поддиапазона оценивается в единицах с десятичной запятой путем использования Уравнения 17. Распределяемое число битов для каждого поддиапазона может быть получено умножением распределяемого числа L битов на выборку на число выборок на каждый поддиапазон. В тех случаях, когда распределяемое число L битов на выборку каждого поддиапазона вычисляется путем использования Уравнения 17, L может иметь значение менее 0. В этом случае 0 распределяется в число L, имеющее значение менее 0, как в Уравнении 18.
Мат. фиг. 18
[Мат. 18]
В результате сумма распределяемого числа битов, оцениваемых для всех поддиапазонов, входящих в конкретный кадр, может быть больше, чем число В битов, допустимое в конкретном кадре.
При выполнении операции 1630 сумма распределяемого числа битов, оцениваемых для всех поддиапазонов, входящих в конкретный кадр, сравнивается с числом В битов, допустимым в конкретном кадре.
При выполнении операции 1640 биты перераспределяются для каждого поддиапазона с помощью Уравнения 19 до тех пор, пока сумма распределяемого числа битов, оцениваемого для всех поддиапазонов, входящих в конкретный кадр, не будет такой же, как число В битов, допустимое в конкретном кадре.
Мат. фиг. 19
[Мат. 19]
В Уравнении 19
означает число битов, определяемое (k-1)-м повторением, а
означает число битов, определяемое k-м повторением. Число битов, определяемое каждым повторением, должно быть не менее 0, и, соответственно, операция 1640 выполняется для всех поддиапазонов, имеющих число битов, большее 0.
При выполнении операции 1650 в том случае, если в результате сравнения при выполнении операции 1630 сумма распределяемого числа битов, оцениваемого для всех поддиапазонов, входящих в конкретный кадр, является той же, что и число В битов, допустимое в конкретном кадре, распределяемое число битов каждого поддиапазона используется, как оно есть, либо окончательное распределяемое число битов определяется для каждого поддиапазона путем использования распределяемого числа битов каждого поддиапазона, которое получено в результате перераспределения при выполнении операции 1640.
Фиг. 17 представляет собой блок-схему алгоритма, иллюстрирующую способ распределения битов в соответствии с еще одним примерным вариантом осуществления.
b
b
В соответствии с фиг. 17 так же, как и при выполнении операции 1610 на фиг. 16, при выполнении операции 1710 выполняется инициализация. Так же, как и при выполнении операции 1620 на фиг. 16, при выполнении операции 1720 распределяемое число битов для каждого поддиапазона оценивается в единицах с десятичной запятой, а когда распределяемое число L битов на выборку для каждого поддиапазона меньше 0, 0 распределяется в число L, имеющее значение меньше 0, как в Уравнении 18.
При выполнении операции 1730 минимальное число битов, требуемое для каждого поддиапазона, определяется с точки зрения SNR, а распределяемое число битов при выполнении операции 1720, большее 0 и меньшее минимального числа битов, корректируется путем ограничения распределяемого числа битов минимальным числом битов. В связи с этим, благодаря ограничению распределяемого числа битов каждого поддиапазона минимальным числом битов может быть уменьшена возможность снижения качества звучания. Например, минимальное число битов, требуемое для каждого поддиапазона, определяется как минимальное число битов, требуемое для импульсного кодирования при факторном импульсном кодировании. Факторное импульсное кодирование представляет сигнал путем использования всех комбинаций положения импульса, не равного 0, амплитуды импульса и знака импульса. В этом случае случайное число N всех комбинаций, которые могут представлять импульс, может быть представлено Уравнением 20.
Мат. фиг. 20
[Мат. 20]
i
В Уравнении 20 2 означает случайное число знаков, представимое с помощью +/- для сигналов в i ненулевых положениях.
В Уравнении 20 F(n,i) может быть определено с помощью Уравнения 21 и означает случайное число для выбора i ненулевых положений для конкретных n выборок, т.е. положений.
Мат. фиг. 21
[Мат. 21]
В Уравнении 20 D(m,i) может быть представлено с помощью Уравнения 22 и означает случайное число для представления сигналов, выбираемых в i ненулевых положениях с помощью m амплитуд.
Мат. фиг. 22
[Мат. 22]
Число М битов, требуемое для представления N комбинаций, может быть представлено с помощью Уравнения 23.
Мат. фиг. 23
[Мат. 23]
2
M=[logN]
В результате минимальное число
b
битов, требуемое для кодирования не менее 1 импульса для N выборок в конкретном b-м поддиапазоне, может быть представлено Уравнением 24.
Мат. фиг. 24
[Мат. 24]
b
В этом случае число битов, используемое для передачи величины коэффициента усиления, требуемой для квантования, может быть добавлено к минимальному числу битов, требуемому при факторном импульсном кодировании, и может варьироваться в соответствии со скоростью передачи битов. Минимальное число битов, требуемое на основании каждого поддиапазона, может определяться большей величиной из минимального числа битов, требуемого при факторном импульсном кодировании, и числа N выборок конкретного поддиапазона, как в Уравнении 25. Например, минимальное число битов, требуемое на основании каждого поддиапазона, может быть установлено равным 1 биту на выборку.
Мат. фиг. 25
[Мат. 25]
В тех случаях, когда при выполнении операции 1730 используемых битов недостаточно, поскольку целевая скорость передачи битов мала, для диапазона, для которого распределяемое число битов больше 0 и меньше минимального числа битов, распределяемое число битов удаляется и устанавливается на 0. Кроме того, для поддиапазона, для которого распределяемое число битов меньше, чем в Уравнении 24, распределяемое число битов может быть удалено, а для поддиапазона, для которого распределяемое число битов больше, чем в Уравнении 24, и меньше, чем минимальное число битов в Уравнении 25, может быть распределено минимальное число битов.
При выполнении операции 1740 сумма распределяемого числа битов, оцениваемая для всех поддиапазонов в конкретном кадре, сравнивается с числом битов, допустимым в конкретном кадре.
При выполнении операции 1750 биты перераспределяются для поддиапазона, в который распределяется более чем минимальное число битов, до тех пор, пока сумма распределяемого числа битов, оцениваемых для всех поддиапазонов в конкретном кадре, не будет такой же, как число битов, допустимое в конкретном кадре.
При выполнении операции 1760 определяется, изменяется ли распределяемое число битов каждого поддиапазона между предыдущим повторением и текущим повторением для перераспределения битов. Если распределяемое число битов каждого поддиапазона не изменяется между предыдущим повторением и текущим повторением для перераспределения битов либо до тех пор, пока сумма распределяемого числа битов, оцениваемая для всех поддиапазонов в конкретном кадре, не станет такой же, как число битов, допустимое в конкретном кадре, выполняются операции 1740-1760.
При выполнении операции 1770 в том случае, если в результате определения при выполнении операции 1760 распределяемое число битов каждого поддиапазона не изменяется между предыдущим повторением и текущим повторением для перераспределения битов, биты последовательно удаляются от верхнего поддиапазона до нижнего поддиапазона, и операции 1740 - 1760 выполняются до тех пор, пока число битов, допустимое в конкретном кадре не будет приемлемым. Кроме того, если распределяемое число битов не больше минимального числа битов в Уравнении 25 для всех поддиапазонов, а сумма распределяемого числа битов больше числа битов, допустимого в конкретном кадре, распределяемое число битов может быть удалено из высокочастотного диапазона в низкочастотный диапазон.
В соответствии со способами распределения битов на фиг. 16 и 17 для распределения битов в каждый поддиапазон после того, как начальные биты распределены в каждый поддиапазон в порядке спектральной энергии или взвешенной спектральной энергии, число битов, требуемое для каждого поддиапазона, может оцениваться немедленно без повторения операции поиска спектральной энергии или взвешенной спектральной энергии в течение нескольких раз. Кроме того, благодаря перераспределению битов в каждый поддиапазон до тех пор, пока сумма распределяемого числа битов, оцениваемая для всех поддиапазонов в конкретном кадре, не станет такой же, как число битов, допустимое в конкретном кадре, возможно эффективное распределение битов. Кроме того, благодаря обеспечению минимального числа битов в произвольном поддиапазоне может быть предотвращено образование спектрального провала, возникающего из-за того, что ввиду распределения малого числа битов достаточное число спектральных выборок или импульсов не может кодироваться.
Способы на фиг. 14-17 могут программироваться и могут осуществляться с помощью, по меньшей мере, одного устройства обработки, например, центрального процессора (ЦП).
Фиг. 18 представляет собой блок-схему мультимедийного устройства, содержащего модуль кодирования, в соответствии с примерным вариантом осуществления.
В соответствии с фиг. 18 мультимедийное устройство 1800 может содержать блок 1810 связи и модуль 1830 кодирования. Кроме того, мультимедийное устройство 1800 может дополнительно содержать блок 1850 памяти для хранения битового потока аудио, получаемого в результате кодирования в соответствии с применением битового потока аудио. Кроме того, мультимедийное устройство 1800 может дополнительно содержать микрофон 1870. То есть, блок 1850 памяти и микрофон 1870 могут содержаться факультативно. Мультимедийное устройство 1800 может дополнительно содержать произвольный модуль декодирования (не показан), например, модуль декодирования для выполнения общей функции декодирования или модуль декодирования в соответствии с примерным вариантом осуществления. Модуль 1830 кодирования может быть реализован с помощью, по меньшей мере, одного процессора, например, центрального процессора (не показан) посредством объединения с другими компонентами (не показаны), входящими в состав мультимедийного устройства 1800 как единого целого.
Блок 1810 связи может принимать, по меньшей мере, один из аудиосигнала или кодированного битового потока извне или передавать, по меньшей мере, один из восстановленного аудиосигнала или кодированного битового потока, получаемого в результате кодирования с помощью модуля 1830 кодирования.
Блок 1810 связи выполнен с возможностью передачи и приема данных на внешнее мультимедийное устройство и с него с помощью беспроводной сети, такой как беспроводной Интернет, беспроводной интранет, беспроводная телефонная сеть, беспроводная Локальная сеть (LAN), Wi-Fi, Wi-Fi Direct (WFD), третье поколение (3G), четвертое поколение (4G), Bluetooth, Ассоциация по инфракрасной технологии передачи данных (IrDA), Радиочастотная идентификация (RFID), Сверхширокая полоса пропускания (UWB), Zigbee, либо Беспроводной связи ближнего радиуса действия (NFC), либо проводной сети, такой как проводная телефонная сеть или проводной Интернет.
В соответствии с примерным вариантом осуществления, модуль 1830 кодирования может генерировать битовый поток путем преобразования аудиосигнала во временной области, который создается посредством блока 1810 связи или микрофона 1870, в спектр звуковых частот в частотной области, определения распределяемого числа битов в единицах с десятичной запятой на основании диапазонов частот таким образом, что SNR спектра, имеющегося в заданном диапазоне частот, максимизируется в пределах диапазона числа битов, допустимого в конкретном кадре спектра звуковых частот, корректировки распределяемого числа битов, определяемого на основании диапазонов частот, и кодирования спектра звуковых частот путем использования числа битов, корректируемого на основании диапазонов частот и спектральной энергии.
В соответствии с примерным вариантом осуществления, модуль 1830 кодирования может генерировать битовый поток путем преобразования аудиосигнала во временной области, который создается посредством блока 1810 связи или микрофона 1870, в спектр звуковых частот в частотной области, оценки допустимого числа битов в единицах с десятичной запятой путем использования порога маскирования на основании диапазонов частот, входящих в конкретный кадр спектра звуковых частот, оценки распределяемого числа битов в единицах с десятичной запятой путем использования спектральной энергии, корректировки распределяемого числа битов таким образом, чтобы оно не превышало допустимое число битов, и кодирования спектра звуковых частот путем использования числа битов, корректируемого на основании диапазонов частот и спектральной энергии.
Блок 1850 памяти может хранить кодированный звуковой поток, генерируемый модулем 1830 кодирования. Кроме того, блок 1850 памяти может хранить различные программы, требуемые для работы мультимедийного устройства 1800.
Микрофон 1870 может выдавать аудиосигнал от пользователя или внешней среды в модуль 1830 кодирования.
Фиг. 19 представляет собой блок-схему мультимедийного устройства, содержащего модуль декодирования, в соответствии с примерным вариантом осуществления.
Мультимедийное устройство 1900 на фиг. 19 может содержать блок 1910 связи и модуль 1930 декодирования. Кроме того, в соответствии с использованием восстановленного аудиосигнала, получаемого в качестве результата декодирования, мультимедийное устройство 1900 на фиг. 19 может дополнительно содержать блок 1950 памяти для хранения восстановленного аудиосигнала. Кроме того, мультимедийное устройство 1800 может дополнительно содержать громкоговоритель 1970. То есть, блок 1950 памяти и громкоговоритель 1970 являются факультативными. Мультимедийное устройство 1900 на фиг. 19 может дополнительно содержать модуль кодирования (не показан), например, модуль кодирования для выполнения общей функции кодирования или модуль кодирования в соответствии с примерным вариантом осуществления. Модуль 1930 декодирования может быть объединен с другими компонентами (не показаны), входить в состав мультимедийного устройства 1900 и реализован с помощью, по меньшей мере, одного процессора, например, центрального процессора (ЦП).
В соответствии с фиг. 19 блок 1910 связи может принимать, по меньшей мере, один из аудиосигнала или кодированного битового потока извне или может передавать, по меньшей мере, один из восстановленного аудиосигнала, получаемого в результате декодирования модулем 1930 декодирования, или битового потока аудио, получаемого в результате кодирования. Блок 1910 связи может быть реализован по существу аналогично блоку 1810 связи на фиг. 18.
В соответствии с примерным вариантом осуществления модуль 1930 декодирования может генерировать восстановленный аудиосигнал путем приема битового потока, создаваемого посредством блока 1910 связи, определения распределяемого числа битов в единицах с десятичной запятой на основании диапазонов частот таким образом, что SNR спектра, имеющегося в каждом диапазоне частот, максимизируется в пределах диапазона допустимого числа битов в конкретном кадре, корректировки распределяемого числа битов, определяемого на основании диапазонов частот, декодирования спектра звуковых частот, входящего в битовый поток, путем использования числа битов, корректируемого на основании диапазонов частот и спектральной энергии, и преобразования декодированного спектра звуковых частот в аудиосигнал во временной области.
В соответствии с еще одним примерным вариантом осуществления, модуль 1930 декодирования может генерировать битовый поток путем приема битового потока, создаваемого посредством блока 1910 связи, оценки допустимого числа битов в единицах с десятичной запятой путем использования порога маскирования на основании диапазонов частот, входящих в конкретный кадр, оценки распределяемого числа битов в единицах с десятичной запятой путем использования спектральной энергии, корректировки распределяемого числа битов таким образом, чтобы оно не превышало допустимое число битов, декодирования спектра звуковых частот, входящего в битовый поток, путем использования числа битов, корректируемого на основании диапазонов частот и спектральной энергии, и преобразования декодированного спектра звуковых частот в аудиосигнал во временной области.
Блок 1950 памяти может хранить восстановленный аудиосигнал, генерируемый модулем 1930 декодирования. Кроме того, блок 1950 памяти может хранить различные программы, требуемые для работы мультимедийного устройства 1900.
Громкоговоритель 1970 может выдавать восстановленный аудиосигнал, генерируемый модулем 1930 декодирования, во внешнюю среду.
Фиг. 20 представляет собой блок-схему мультимедийного устройства, содержащего модуль кодирования и модуль декодирования, в соответствии с примерным вариантом осуществления.
Мультимедийное устройство 2000, изображенное на фиг. 20, может содержать блок 2010 связи, модуль 2020 кодирования и модуль 2030 декодирования. Кроме того, мультимедийное устройство 2000 может дополнительно содержать блок 2040 памяти для хранения битового потока аудио, получаемого в результате кодирования, или восстановленного аудиосигнала, получаемого в результате декодирования, в соответствии с применением битового потока аудио или восстановленного аудиосигнала. Кроме того, мультимедийное устройство 2000 может дополнительно содержать микрофон 2050 и/или громкоговоритель 2060. Модуль 2020 кодирования и модуль 2030 декодирования могут быть реализованы с помощью, по меньшей мере, одного процессора, например, центрального процессора (ЦП) (не показан) посредством объединения с другими компонентами (не показаны), входящими в состав мультимедийного устройства 2000 как единого целого.
Поскольку компоненты мультимедийного устройства 2000, изображенного на фиг. 20, соответствуют компонентам мультимедийного устройства 1800, изображенного на фиг. 18, или компонентам мультимедийного устройства 1900, изображенного на фиг. 19, их подробное описание не приводится.
Каждое из мультимедийных устройств 1800, 1900 и 2000, изображенных на фиг. 18, 19 и 20, может содержать оконечное устройство только речевой связи, такое как телефон или мобильный телефон, устройство только широковещания или передачи музыки, такое как телевизор или MP3-проигрыватель, либо гибридное оконечное устройство из оконечного устройства только речевой связи и устройства только широковещания или передачи, но не ограничивается перечисленным. Кроме того, каждое из мультимедийных устройств 1800, 1900 и 2000 может использоваться в качестве клиента, сервера или преобразователя, расположенного между клиентом и сервером.
В тех случаях, когда мультимедийное устройство 1800, 1900 или 2000 является, например, мобильным телефоном, хотя он и не показан, мультимедийное устройство 1800, 1900 или 2000 может дополнительно содержать блок ввода пользователя, такой как клавиатура, блок отображения для отображения информации, обрабатываемой пользовательским интерфейсом или мобильным телефоном, и процессор для управления функциями мобильного телефона. Кроме того, мобильный телефон может дополнительно содержать блок камеры, имеющий функцию формирования изображений, и, по меньшей мере, один компонент для выполнения функции, требуемой для мобильного телефона.
В тех случаях, когда мультимедийное устройство 1800, 1900 или 2000 является, например, телевизором, хотя он и не показан, мультимедийное устройство 1800, 1900 или 2000 может дополнительно содержать блок ввода пользователя, такой как клавиатура, блок отображения для отображения принимаемой широковещательной информации и процессор для управления всеми функциями телевизора. Кроме того, телевизор может дополнительно содержать, по меньшей мере, один компонент для выполнения функции телевизора.
Способы в соответствии с этими примерами осуществления могут быть записаны в виде компьютерных программ и могут быть реализованы в универсальных цифровых компьютерах, которые исполняют программы с помощью машиночитаемого носителя записи. Кроме того, структуры данных, программные команды или массивы данных, применимые в этих примерных вариантах осуществления, могут быть записаны на машиночитаемом носителе записи различными способами. Машиночитаемый носитель записи представляет собой любое устройство хранения данных, способное хранить данные, которые могут после этого считываться вычислительной системой. К примерам машиночитаемого носителя записи относятся магнитные носители, такие как жесткие диски, гибкие диски и магнитные ленты, оптические носители, такие как CD-ROM и DVD, и магнитооптические носители, такие как флоптические диски, и аппаратные устройства, такие как постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ) и флэш-память, в частности, выполненные с возможностью хранения и исполнения программных команд. Кроме того, машиночитаемый носитель записи может представлять собой передающую среду для передачи сигнала, в котором предусматриваются программная команда и структура данных. Программные команды могут содержать машинные коды, редактируемые компилятором, и коды на языке высокого уровня, исполнимые компьютером с помощью интерпретатора.
Несмотря на то, что настоящая идея изобретения подробно изображена и описана со ссылкой на ее примерные варианты осуществления, специалистам должно быть ясно, что в ней возможны различные изменения в форме и деталях в пределах сущности и объема настоящей идеи изобретения, определяемой нижеследующей формулой изобретения.