УСТРОЙСТВО КОДИРОВАНИЯ РЕЧИ-АУДИО, УСТРОЙСТВО ДЕКОДИРОВАНИЯ РЕЧИ-АУДИО, СПОСОБ КОДИРОВАНИЯ РЕЧИ-АУДИО И СПОСОБ ДЕКОДИРОВАНИЯ РЕЧИ-АУДИО
SPEECH-AUDIO ENCODING DEVICE, SPEECH-AUDIO DECODING DEVICE, SPEECH-AUDIO ENCODING METHOD AND SPEECH-AUDIO DECODING METHOD

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству кодирования речи/аудио, устройству декодирования речи/аудио, способу кодирования речи/аудио и способу декодирования речи/аудио с использованием схемы кодирования с преобразованием.
Уровень техники
В качестве схемы, посредством которой можно эффективно кодировать речевой сигнал или музыкальный сигнал в сверхширокой полосе (SWB: Super-Wide-Band) 0,05-14 кГц, существуют способы, раскрытые в Непатентной Литературе (далее в этом документе, называемой "NPL") 1 и NPL 2, стандартизированные в ITU-T (Сектор стандартизации телекоммуникаций Международного союза электросвязи). Согласно этим способам, полоса до 7 кГц кодируется узлом базового кодирования, а полоса 7 кГц или выше (далее в этом документе называемая "расширенная полоса") кодируется узлом расширенного кодирования.
Узел базового кодирования выполняет кодирование с использованием линейного предсказания с кодовым возбуждением (CELP), преобразовывает остаточный сигнал, который не может быть закодирован посредством CELP, в частотную область посредством MDCT (Modified Discrete Cosine Transform, Модифицированное дискретное косинусное преобразование), и затем кодирует этот преобразованный остаточный сигнал посредством кодирования с преобразованием, например, FPC (Factorial Pulse Coding, факториальное импульсное кодирование) или AVQ (Algebraic Vector Quantization, алгебраическое векторное квантование). Узел расширенного кодирования выполняет кодирование с использованием способа поиска полосы, имеющей большую корреляцию со спектром нижней полосы, до 7 кГц, в расширенной полосе, 7 кГц или выше, и использованием полосы, имеющей самую большую упомянутую корреляцию, для кодирования упомянутой расширенной полосы. Согласно NPL 1 и NPL 2, количество кодируемых битов является предопределенным соответственно для стороны нижней полосы, до 7 кГц, и стороны верхней полосы, 7 кГц или выше, и сторона нижней полосы и сторона верхней полосы кодируются посредством этого соответственно определенного количества кодируемых битов.
В NPL 3 также раскрыто то, что схема для кодирования SWB является стандартизированной в ITU-T. Устройство кодирования, согласно NPL 3, преобразовывает входной сигнал в частотную область посредством MDCT, делит этот входной сигнал на подполосы и выполняет кодирование на основе подполосы. Более конкретно, это устройство кодирования сначала вычисляет энергию каждой подполосы и выполняет кодирование. Далее, для кодирования тонкой структуры частоты устройство кодирования распределяет кодируемые биты для кодирования тонкой структуры частоты каждой подполосе на основе энергии подполосы. Тонкая структура частоты кодируется с использованием решетчатого векторного квантования. Как и в случае FPC или AVQ, решетчатое векторное квантование также является своего рода кодированием с преобразованием, подходящим для кодирования спектра. Так как в решетчатом векторном квантовании кодируемые биты не распределяются в достаточном количестве, то может существовать большое рассогласование между энергией декодированного спектра и энергией подполосы. В этом случае кодирование выполняется посредством обработки заполнения этого рассогласования между энергией подполосы и энергией декодированного спектра вектором шума.
В NPL 4 раскрыт способ кодирования с использованием AAC (Advanced Audio Coding, Усовершенствованное Аудиокодирование), в AAC вычисляется порог маскировки на основе перцепционной модели, из цели кодирования исключаются коэффициенты MDCT, которые меньше или равны этому порогу маскировки, и, посредством этого, кодирование выполняется эффективно.
Список ссылок
Непатентная литература
NPL 1
ITU-T Standard G.718 AnnexB, 2010
NPL 2
ITU-T Standard G729.1 AnnexE, 2010
NPL 3
ITU-T Standard G719, 2008
NPL 4
MP3 AND AAC explained, AES 17th International Conference on High Quality Audio Coding, 1999
Сущность изобретения
Техническая проблема
Согласно NPL 1 и NPL 2, стороне нижней полосы, которая должна быть закодирована узлом базового кодирования, и стороне верхней полосы, которая должна быть закодирована узлом расширенного кодирования, распределяется фиксированное количество битов, и не существует возможности надлежащего распределения кодируемых битов нижней полосе и верхней полосе согласно характеристикам сигналов. Поэтому существует проблема, заключающаяся в том, что нельзя получить достаточную производительность в зависимости от характеристик входных сигналов.
При этом, согласно NPL 3 обеспечен механизм для адаптивного распределения битов от нижней полосы верхней полосе согласно энергии подполос, но с концентрацией внимания на перцепционной характеристике в том смысле, что чем выше полоса, тем ниже чувствительность к спектральной ошибке, существует проблема, заключающаяся в том, что верхней полосе вероятно будет распределено битов больше, чем это необходимо. Эти проблемы будут описаны ниже.
В процессе кодирования количество битов, необходимое для каждой подполосы, вычисляется так, что чем больше энергия подполосы, вычисляемая для каждой подполосы, тем распределяется большее количество битов. Однако, в случае кодирования с преобразованием, согласно сущности алгоритма, даже когда количество распределенных кодируемых битов увеличивается на один бит, производительность кодирования может не улучшаться, и результат кодирования может не изменяться до тех пор, пока не будет распределено некоторое значительное количество битов. Поэтому может быть удобно, если биты распределяются не бит за битом, а в блоках, состоящих из некоторого значительного количества битов. Такой блок битов, необходимых для кодирования, далее в этом документе называют "блоком". Чем больше количество распределенных блоков, тем более точно могут быть выражены форма и амплитуда спектра. То, что большая ширина полосы берется для подполос в более высокой полосе, чем в более низкой полосе, является обычной практикой, вследствие перцепционных характеристик, но чем шире ширина полосы, тем большее количество битов необходимо для одного блока, и, следовательно, количество битов для каждого блока изменяется согласно ширине полосы.
В кодировании с преобразованием, рассматриваемом в настоящем изобретении, так как спектр аппроксимируется небольшим количеством последовательностей импульсов в частотной области, используются кодируемые биты, распределяемые на поблочной основе для информации об амплитуде и информации о позиции.
Кроме того, согласно NPL 4 кодирование выполняется эффективно посредством исключения коэффициентов MDCT, которые не являются важными в отношении перцепционных характеристик, из целей кодирования, но точно выражается информация о позиции отдельных спектров, которые должны быть закодированы. Поэтому чем шире ширина полосы подполосы, тем большее количество битов должно быть использовано для выражения позиций отдельных спектров.
Однако по мере повышения полосы перцепционная чувствительность к спектральной позиции ухудшается, и, если основная спектральная амплитуда и энергия подполосы могут быть выражены, перцепционное ухудшение почти не воспринимается. При этом, согласно NPL 3 и NPL 4, большее количество битов также используется в верхней полосе так, что позиции отдельных спектров могут быть выражены точно. Соответственно, существует проблема, заключающаяся в том, что для точного выражения спектральных позиций используется большее количество кодируемых битов, чем это необходимо.
Целью настоящего изобретения является обеспечение устройства кодирования речи/аудио, устройства декодирования речи/аудио, способа кодирования речи/аудио и способа декодирования речи/аудио, которые обеспечивают возможность сокращения количества кодируемых битов, которые должны быть распределены для кодирования спектра расширенной полосы, наряду с предотвращением ухудшения качества звука в расширенной полосе.
Решение проблемы
Устройство кодирования речи/аудио согласно настоящему изобретению включает в себя: узел преобразования время-частота, который преобразовывает входной сигнал временной области в спектр частотной области, узел деления, который делит упомянутый спектр на подполосы, узел сжатия полосы, который делит спектр в подполосе в пределах расширенной полосы на комбинации из множества выборок в порядке от стороны нижней полосы или стороны верхней полосы, который выбирает спектры, имеющие большие абсолютные значения амплитуды, из упомянутых комбинаций, который плотно размещает выбранные спектры в частотной области, и который сжимает полосу упомянутой подполосы, и узел кодирования с преобразованием, который кодирует спектр подполосы, более низкой, чем расширенная полоса, и спектр сжатой полосы посредством кодирования с преобразованием.
Устройство декодирования речи/аудио согласно настоящему изобретению включает в себя: узел декодирования кодирования с преобразованием, который декодирует кодированные данные, получающиеся в результате кодирования с преобразованием, как спектра в полосе подполосы, полученной посредством деления спектра подполосы в пределах расширенной полосы на комбинации из множества выборок в порядке от стороны нижней полосы или стороны верхней полосы, выбора спектров, имеющих большие абсолютные значения амплитуды, из упомянутых комбинаций, плотного размещения выбранных спектров в частотной области и сжатия полосы упомянутой подполосы, так и спектра подполосы, более низкой, чем расширенная полоса, узел расширения полосы, который расширяет ширину полосы сжатой подполосы до ширины полосы исходной подполосы, узел интеграции подполос, который интегрирует спектр подполосы, более низкой, чем декодированная расширенная полоса, и спектр подполосы в пределах расширенной полосы в один вектор, и узел преобразования частота-время, который преобразовывает интегрированный спектр частотной области в сигнал временной области.
Способ кодирования речи/аудио согласно настоящему изобретению включает в себя: преобразование входного сигнала временной области в спектр частотной области, деление упомянутого спектра на подполосы, деление спектра в подполосе в пределах расширенной полосы на комбинации из множества выборок в порядке от стороны нижней полосы или стороны верхней полосы, выбор спектров, имеющих большие абсолютные значения амплитуды, из упомянутых комбинаций, плотное размещение выбранных спектров в частотной области и сжатие полосы упомянутой подполосы, и кодирование спектра подполосы, более низкой, чем расширенная полоса, и спектра сжатой полосы посредством кодирования с преобразованием.
Способ декодирования речи/аудио согласно настоящему изобретению включает в себя: декодирование кодированных данных, получающихся в результате кодирования с преобразованием, как спектра в полосе подполосы, полученной посредством деления спектра подполосы в пределах расширенной полосы на комбинации из множества выборок в порядке от стороны нижней полосы или стороны верхней полосы, выбора спектров, имеющих большие абсолютные значения амплитуды, из упомянутых комбинаций, плотного размещения выбранных спектров в частотной области и сжатия полосы упомянутой подполосы, так и спектра подполосы, более низкой, чем расширенная полоса, расширение ширины полосы сжатой подполосы до ширины полосы исходной подполосы, интеграцию спектра подполосы, более низкой, чем декодированная расширенная полоса, и спектра подполосы в пределах расширенной полосы в один вектор, и преобразование интегрированного спектра частотной области в сигнал временной области.
Полезные эффекты изобретения
Согласно настоящему изобретению, возможно сокращение количества кодируемых битов, которые должны быть распределены для кодирования спектра расширенной полосы, наряду с предотвращением ухудшения качества звука в расширенной полосе.
Краткое описание чертежей
Фиг. 1 - структурная схема, иллюстрирующая конфигурацию устройства кодирования речи/аудио согласно Вариантам 1, 3 и 5 осуществления настоящего изобретения.
Фиг. 2A - Фиг. 2C - схемы, обеспеченные для описания сжатия полосы.
Фиг. 3 - схема, обеспеченная для описания операции узла повторного вычисления количества блоков.
Фиг. 4 - структурная схема, иллюстрирующая конфигурацию устройства декодирования речи/аудио согласно Вариантам 1, 3 и 5 осуществления настоящего изобретения.
Фиг. 5 - схема, обеспеченная для описания расширения полосы.
Фиг. 6 - структурная схема, иллюстрирующая еще одну конфигурацию устройства кодирования речи/аудио согласно Варианту 1 осуществления настоящего изобретения.
Фиг. 7 - структурная схема, иллюстрирующая еще одну конфигурацию устройства декодирования речи/аудио согласно Варианту 1 осуществления настоящего изобретения.
Фиг. 8 - структурная схема, иллюстрирующая конфигурацию устройства кодирования речи/аудио согласно Варианту 2 осуществления настоящего изобретения.
Фиг. 9 - структурная схема, иллюстрирующая конфигурацию устройства декодирования речи/аудио согласно Варианту 2 осуществления настоящего изобретения.
Фиг. 10 - схема, иллюстрирующая полосу, расширенную на основе информации о коррекции позиции.
Фиг. 11 - структурная схема, иллюстрирующая конфигурацию устройства кодирования речи/аудио согласно Варианту 4 осуществления настоящего изобретения.
Фиг. 12A - Фиг. 12D - схемы, обеспеченные для описания разнесения.
Фиг. 13 - структурная схема, иллюстрирующая конфигурацию устройства декодирования речи/аудио согласно Варианту 4 осуществления настоящего изобретения.
Фиг. 14 - схема, иллюстрирующая пример сжатия полосы.
Фиг. 15 - схема, иллюстрирующая пример расширения полосы.
Фиг. 16 - структурная схема, иллюстрирующая конфигурацию устройства кодирования речи/аудио согласно Варианту 6 осуществления настоящего изобретения.
Фиг. 17 - схема, иллюстрирующая пример кодирования с преобразованием, не сопровождаемого ограничением полосы.
Фиг. 18 - схема, иллюстрирующая пример кодирования с преобразованием, сопровождаемого ограничением полосы.
Фиг. 19 - структурная схема, иллюстрирующая конфигурацию устройства декодирования речи/аудио согласно Варианту 6 осуществления настоящего изобретения.
Описание вариантов осуществления
Далее будут подробно описаны варианты осуществления настоящего изобретения согласно прилагаемым чертежам. При этом используется сквозная нумерация, и повторяющиеся описания будут опущены.
(Вариант осуществления 1)
Фиг. 1 является структурной схемой, иллюстрирующей конфигурацию устройства 100 кодирования речи/аудио согласно Варианту 1 осуществления настоящего изобретения. Далее, с использованием Фиг. 1, будет описана конфигурация устройства 100 кодирования речи/аудио.
Узел 101 преобразования время-частота получает входной сигнал, преобразовывает полученный входной сигнал временной области в сигнал частотной области, и выводит сигнал частотной области в узел 102 деления на подполосы как спектр входного сигнала. Заметим, что, в этом варианте осуществления, в качестве примера преобразования время-частота будет описано MDCT, но также может быть использовано ортогональное преобразование, например, FFT (Fast Fourier Transform, быстрое преобразование Фурье) или DCT (Discrete Cosine Transform, дискретное косинусное преобразование).
Узел 102 деления на подполосы делит спектр входного сигнала, выводимый из узла 101 преобразования время-частота, на M подполос, и выводит этот спектр подполос в узел 103 вычисления энергии подполосы и узел 105 сжатия полосы. С учетом перцепционных характеристик человека, обычно выполняется неравномерное деление так, что чем ниже полоса, тем ширина полосы становится уже, и чем выше полоса, тем ширина полосы становится шире. Настоящий вариант осуществления будет также описан на основе этого предположения. Предположим, что длина подполосы n-й подполосы представлена посредством W[n], и вектор спектра подполосы представлен посредством Sn. В каждом Sn хранится W[n] спектров. Предположим, что имеет место отношение W[k-l]≤W[k]. Примером схемы кодирования, которая выполняет неравномерное деление, является G.719 ITU-T. G.719 осуществляет преобразование время-частота входного сигнала с частотой выборки 48 кГц. После этого G.719 делит спектр на подполосы через каждые 8 точек в частотной области в самой нижней полосе, и делит спектр на подполосы через каждые 32 точки в самой верхней полосе. Заметим, что G.719 является схемой кодирования, которая может использовать много кодируемых битов, от 32 Кбит/с до 128 Кбит/с, но для того, чтобы дополнительно снизить битрейт, полезно увеличивать длину каждой подполосы и увеличивать длину подполосы для верхних полос, в частности.
Узел 103 вычисления энергии подполосы вычисляет энергию для каждой подполосы исходя из спектра подполосы, выводимого из узла 102 деления на подполосы, выводит квантованную энергию подполосы в узел 104 вычисления количества блоков, и выводит кодированные данные энергии подполосы, получаемые посредством кодирования энергии подполосы, в узел 108 мультиплексирования. При этом предположим, что энергией подполосы является энергия спектра, включенного в подполосу, выражаемая логарифмом по основанию 2. Уравнение вычисления энергии подполосы представлено в нижеследующем уравнении 1.
[1]
При этом n представляет количество подполос, E[n] представляет энергию подполосы для подполосы n, W[n] представляет длину подполосы для подполосы n и Sn[i] представляет i-й спектр n-й подполосы. Предположим, что длина подполосы регистрируется заранее в узле 103 вычисления энергии подполосы.
Узел 104 вычисления количества блоков вычисляет предварительное количество распределяемых битов, которые должны быть распределены подполосе, на основе квантованной энергии подполосы, выводимой из узла 103 вычисления энергии подполосы, и выводит это предварительное количество распределенных битов вместе с вычисленным количеством блоков в узел 106 повторного вычисления количества блоков. Как и в случае узла 103 вычисления энергии подполосы, предположим, что длина подполосы регистрируется заранее в узле 104 вычисления количества блоков. В основном, чем больше энергия E[n] подполосы, тем большее количество кодируемых битов распределяется. Однако кодируемые биты распределяются на поблочной основе, и количество битов для каждого блока зависит от длины подполосы. Поэтому для оптимального распределения необходимо включение распределения битов в других подполосах. Узел 104 вычисления количества блоков будет подробно описан ниже.
Узел 105 сжатия полосы сжимает каждую подполосу в расширенной полосе с использованием спектра подполосы, выводимого из узла 102 деления на подполосы, и выводит подполосу со стороны нижней полосы и спектр сжатой подполосы, включающий в себя сжатую подполосу, в узел 107 кодирования с преобразованием. Целью сжатия полосы является удаление информации о позиции спектра наряду с тем, что основной спектр остается целью кодирования, и, посредством этого, сокращение количества кодируемых битов, требуемых для кодирования с преобразованием. Узел 105 сжатия полосы будет подробно описан ниже.
Узел 106 повторного вычисления количества блоков перераспределяет биты, сокращенные в подполосе сжатой полосы, нижней полосе за пределами расширенной полосы, на основе предварительного количества распределенных битов и количества блоков, выводимых из узла 104 вычисления количества блоков. Узел 106 повторного вычисления количества блоков перераспределяет упомянутое количество блоков на основе перераспределенных битов, и выводит количество перераспределенных блоков в узел 107 кодирования с преобразованием. Узел 106 повторного вычисления количества блоков будет подробно описан ниже.
Узел 107 кодирования с преобразованием кодирует спектр сжатой подполосы, выводимый из узла 105 сжатия полосы, посредством кодирования с преобразованием, и выводит данные, кодированные с преобразованием, в узел 108 мультиплексирования. В качестве схемы кодирования с преобразованием, используется схема кодирования с преобразованием, например, FPC, AVQ или LVQ. Узел 107 кодирования с преобразованием кодирует введенный спектр сжатой подполосы с использованием кодируемых битов, определяемых количеством перераспределенных блоков, выводимых из узла 106 повторного вычисления количества блоков. Так как количество перераспределенных блоков увеличивается, то можно увеличить количество импульсов для аппроксимации спектра, или сделать его значение амплитуды более точным. То, увеличивать количество импульсов или улучшать точность амплитуды, определяется с использованием искажения между введенным спектром, который должен быть закодирован, и декодированным спектром в качестве опоры.
Узел 108 мультиплексирования мультиплексирует кодированные данные энергии подполосы, выводимые из узла 103 вычисления энергии подполосы, и данные, кодированные с преобразованием, выводимые из узла 107 кодирования с преобразованием, и выводит мультиплексированные данные как кодированные данные.
Далее, посредством конкретного примера, будет описан способ распределения количества блоков в узле 104 вычисления количества блоков, представленном на Фиг. 1. Сначала узел 104 вычисления количества блоков вычисляет количество битов, распределяемых каждой подполосе, на основе энергия подполосы, выводимой из узла 103 вычисления энергии подполосы. Далее в этом документе, упомянутое количество вычисленных битов называется “предварительное количество распределенных битов”. Например, когда общее количество кодируемых битов, предоставленных для кодирования тонкой структуры спектра, равно 320 битам, и общая энергия подполос соответствующих подполос, вычисленная согласно уравнению 1, и после этого квантованная, равна 160, так как 320/160=2,0, то можно предположить, что энергия каждой подполосы, умноженная на 2,0, является предварительным количеством распределенных битов.
Далее, узел 104 вычисления количества блоков определяет биты, которые должны быть фактически распределены каждой подполосе (далее в этом документе называемые “количество распределенных битов”), но так как при кодировании с преобразованием кодируемые биты распределяются на поблочной основе, то нельзя предполагать, что предварительное количество распределенных битов является количеством распределенных битов без изменения. Например, когда предварительное количество распределенных битов равно 30, и один блок составляет 7 битов, если количество распределенных битов не превышает предварительного количества распределенных битов, то количество блоков равно 4, количество распределенных битов равно 28, и 2 бита являются избыточными битами относительно предварительного количества распределенных битов.
Соответственно, когда количество распределенных битов последовательно вычисляется для каждой подполосы, то в момент времени, когда вычисление заканчивается для всех подполос, может иметь место избыток или недостаток количества кодируемых битов. Поэтому необходимо найти способ эффективного распределения кодируемых битов. Например, посредством добавления избыточных битов, генерируемых в некоторой подполосе, к предварительному количеству распределенных битов в следующей подполосе, биты могут быть распределены без избытка или недостатка.
Это будет описано с использованием конкретного примера. Далее, в качестве примера будет описан случай, когда для аппроксимации спектра кодируется только информация о позиции импульса, и предположим, что эта информация о позиции просто добавляется каждый раз, когда количество кодируемых импульсов увеличивается. Например, если длина подполосы равна 32, так как 32 равно 2, возведенное в степень 5, то для того, чтобы сделать все спектральные позиции в пределах этой подполосы целями кодирования, необходим минимум в 5 битов. Соответственно, один блок в этой подполосе равен 5 битам.
Если предварительное количество распределенных битов, вычисляемое исходя из энергии подполосы, равно 33, то количество распределенных блоков равно 6, количество распределенных битов равно 30, и избыточными битами являются 3 бита. Однако если в предыдущей подполосе сгенерированы два избыточных бита, то к предварительному количеству распределенных битов этой подполосы добавляются два избыточных бита предыдущей подполосы, и предварительное количество распределенных битов становится равным 35. В результате количество блоков равно 7, и количество распределенных битов равно 35. Соответственно, избыточными битами являются 0 битов. С повторением этого процесса последовательно для всех подполос, возможно эффективное распределение блоков.
Далее будет описан способ сжатия полосы в узле 105 сжатия полосы, представленном на Фиг. 1. В качестве способа сжатия полосы, будет описан случай в виде примера, в котором создаются комбинации из двух выборок в порядке от стороны нижней полосы подполосы, подверженной сжатию полосы, и оставляют некоторую выборку из каждой комбинации, имеющую амплитуду с большим абсолютным значением.
Фиг. 2A - Фиг. 2C являются схемами, обеспеченными для описания сжатия полосы. Фиг. 2A - Фиг. 2C иллюстрируют ситуацию, в которой в расширенной полосе выделяется подполоса n, подверженная сжатию полосы, и предположим, что длиной этой подполосы является W(n), горизонтальная ось представляет частоту, и вертикальная ось представляет абсолютное значение амплитуды спектра.
На Фиг. 2A иллюстрируется спектр подполосы до сжатия полосы. В этом примере, предположим, что шириной полосы до сжатия полосы является W(n)=8. Узел 105 сжатия полосы создает комбинации из двух выборок в порядке от стороны нижней полосы из спектров подполосы, выводимых из узла 102 деления на подполосы, и из каждой комбинации оставляет спектр, имеющий большее абсолютное значение амплитуды. В примере на Фиг. 2A, из комбинации спектров, расположенных в первой и второй позициях, выбирается второй спектр, а первый спектр отбрасывается. Аналогично узел 105 сжатия полосы выбирает больший спектр из комбинации третьей и четвертой позиций, комбинации пятой и шестой позиций и комбинации седьмой и восьмой позиций соответственно. Результаты выбора представлены на Фиг. 2B, и выбраны четыре спектра, во второй, четвертой, пятой и восьмой позициях.
После этого узел 105 сжатия полосы осуществляет сжатие полосы выбранных спектров. Сжатие полосы выполняется посредством плотного размещения выбранных спектров на стороне нижней полосы в частотной области. В результате, спектры подполосы сжатой полосы изображены на Фиг. 2C, и ширина полосы после сжатия полосы становится равной половине ширины полосы до сжатия. Когда также рассматривается случай, когда ширина полосы до сжатия является нечетным числом, ширина W’(n) подполосы после сжатия полосы может быть выражена нижеследующим уравнением 2.
’
[2] W(n)=(int)(W(n)/2)+W(n)%2 ...(Уравнение 2)
В уравнении 2, (int) обозначает функцию, которая отбрасывает все разряды справа от десятичной запятой, чтобы получилось целое число, % обозначает оператор вычисления остатка.
Соответственно, в расширенной полосе, в случае, когда каждая подполоса подвергается сжатию полосы, возможно сокращение ширины полосы наполовину, при этом, из комбинаций из двух выборок в порядке от стороны нижней полосы, оставляют спектры, имеющие большее абсолютное значение амплитуды.
Далее будет описан способ повторного вычисления количества блоков в узле 106 повторного вычисления количества блоков, представленном на Фиг. 1. Узел 106 повторного вычисления количества блоков является аналогичным узлу 104 вычисления количества блоков в том смысле, что он вычисляет количество распределенных битов так, чтобы приблизиться к предварительному количеству распределенных битов, но он отличается тем, что он сохраняет количество блоков, вычисленных в узле 104 вычисления количества блоков, в подполосе, подверженной сжатию полосы, и что он перераспределяет биты, сокращенные в подполосе, подверженной сжатию полосы, нижней полосе.
Для перераспределения битов, сокращенных в подполосе, подверженной сжатию полосы, нижней полосе, узел 106 повторного вычисления количества блоков сначала подтверждает количество распределенных битов подполосы, подверженной сжатию полосы. Так как количество блоков является фиксированным, и длина подполосы сокращается посредством сжатия полосы, то количество распределенных битов может быть сокращено. При этом, так как описан случай, когда посредством сжатия полосы длина подполосы сокращается наполовину, то количество битов для каждого блока сокращается на 1. Когда общее количество блоков подполосы, подверженной сжатию полосы, равно 10, количество битов может быть сокращено на 10.
Посредством добавления битов, которые были успешно сокращены, к предварительному количеству распределенных битов в подполосах нижней полосы, подполосам нижней полосы может быть распределено большее количество блоков. При этом для простоты предположим, что сокращенные биты добавляются к предварительному количеству распределенных битов в самой нижней подполосе. В результате, в самой нижней подполосе полосы, предварительное количество распределенных битов увеличивается, и, следовательно, можно ожидать, что количество распределенных блоков увеличится.
Далее в этом документе, избыточные биты, сгенерированные в этой подполосе, последовательно добавляются к предварительному количеству распределенных битов в подполосах на стороне верхней полосы, и блоки перераспределяются. Посредством повторения этого до подполосы, находящейся непосредственно перед подполосой, подверженной сжатию полосы, возможно перераспределение блоков всем подполосам после сжатия полосы.
На Фиг. 3 представлена схема, обеспечиваемая для описания операции узла 106 повторного вычисления количества блоков. В верхней строке на Фиг. 3 (строка, отмеченная как "подполоса") представлено изображение деления подполосы. Предположим, что полоса разделена на подполосы от 1 до M, причем подполоса 1 является подполосой со стороны самой нижней полосы, а подполоса M является подполосой со стороны самой верхней полосы. Предположим, что подполосы от 1 до (kh-1) соответствуют стороне нижней полосы, не подверженной сжатию полосы, и подполосы от kh до M соответствуют подполосам, подверженным сжатию полосы.
В средней строке (строка, отмеченная как “выходные данные узла вычисления количества блоков”) представлено количество блоков, выводимых из узла 104 вычисления количества блоков. Предположим, что, в качестве количества блоков, узлом 104 вычисления количества блоков подполосе k назначается u(k).
Узел 106 повторного вычисления количества блоков, для подполос от kh до M, использует u(k), вычисленное в узле 104 вычисления количества блоков, без изменения. Это подразумевается для того, чтобы сохранить количество импульсов для аппроксимации спектра даже после сжатия ширины полосы. Ширина полосы, посредством этого, сжимается наряду с тем, что сохраняется характеристика аппроксимации спектра в подполосах сжатой полосы, и, посредством этого, возможно сокращение количества кодируемых битов и превращение сокращенных битов в избыточные биты.
На Фиг. 3, в нижней строке (строка, отмеченная как “выходные данные узла повторного вычисления количества блоков”) представлено изображение выходных данных узла 106 повторного вычисления количества блоков. Так как узел 106 повторного вычисления количества блоков, для подполос от kh до M, использует выходные данные узла 104 вычисления количества блоков "как есть", то количество блоков остается равным u(k). Узел 106 повторного вычисления количества блоков может использовать избыточные биты для подполос на стороне нижней полосы и заново вычислить u’(k). Это обеспечивает возможность увеличения точности кодирования спектров нижней полосы, которые являются важными для восприятия, и может, посредством этого, улучшать общее качество звука.
Выше описан пример для случая, когда все биты, сокращенные в подполосах сжатой полосы, добавляются к предварительному количеству распределенных битов подполосы со стороны самой нижней полосы, но также возможно равномерное распределение этого количества сокращенных распределенных битов подполосам, количество распределенных битов которых еще не вычислено, и добавление их к предварительному количеству распределенных битов этих подполос. В качестве альтернативы, большее количество битов может быть добавлено к подполосе, имеющей большую энергию подполосы. Обработка не обязательно должна всегда выполняться в порядке возрастания со стороны нижней полосы по направлению к стороне верхней полосы.
С вышеописанной конфигурацией, устройство 100 кодирования речи/аудио осуществляет сжатие полосы каждой подполосы в расширенной полосе, сокращает кодируемые биты, перераспределяет эти сокращенные кодируемые биты нижней полосе как избыточные биты, и может, посредством этого, улучшать качество звука.
Фиг. 4 является структурной схемой, иллюстрирующей конфигурацию устройства 200 декодирования речи/аудио согласно Варианту 1 осуществления настоящего изобретения. Количество блоков или количество битов для каждого блока не передается, и, следовательно, это количество должно быть вычислено на стороне устройства декодирования. Поэтому в устройстве 200 декодирования речи/аудио обеспечен узел вычисления количества блоков и узел повторного вычисления количества блоков, как и в случае устройства кодирования. Конфигурация устройства 200 декодирования речи/аудио описана ниже с использованием Фиг. 4.
Узел 201 демультиплексирования кода принимает кодированные данные, демультиплексирует принятые кодированные данные в данные, кодированные с преобразованием, и кодированные данные энергии подполосы, выводит кодированные данных энергии подполосы в узел 202 декодирования энергии подполосы, а данные, кодированные с преобразованием, в узел 205 кодирования/декодирования с преобразованием.
Узел 202 декодирования энергии подполосы декодирует кодированные данные энергии подполосы, выводимые из узла 201 демультиплексирования кода, и выводит квантованную энергию подполосы, полученную посредством декодирования, в узел 203 вычисления количества блоков.
Узел 203 вычисления количества блоков, с использованием квантованной энергии подполосы, выводимой из узла 202 декодирования энергии подполосы, вычисляет предварительное количество распределенных битов и количество блоков, и выводит вычисленные предварительное количество распределенных битов и количество блоков в узел 204 повторного вычисления количества блоков. Заметим, что узел 203 вычисления количества блоков является идентичным узлу 104 вычисления количества блоков устройства 100 кодирования речи/аудио, и, следовательно, его подробное описание опущено.
Узел 204 повторного вычисления количества блоков вычисляет количество перераспределенных блоков на основе предварительного количества распределенных битов и количества блоков, выводимых из узла 203 вычисления количества блоков, и выводит вычисленное количество перераспределенных блоков в узел 205 кодирования/декодирования с преобразованием. Узел 204 повторного вычисления количества блоков является идентичным узлу 106 повторного вычисления количества блоков устройства 100 кодирования речи/аудио, и, следовательно, его подробное описание опущено.
Узел 205 кодирования/декодирования с преобразованием выводит результат декодирования для каждой подполосы в узел 206 расширения полосы как спектр сжатой подполосы на основе данных, кодированных с преобразованием, выводимых из узла 201 демультиплексирования кода, и количества перераспределенных блоков, выводимого из узла 204 повторного вычисления количества блоков. Узел 205 кодирования/декодирования с преобразованием получает количество кодируемых битов, требуемых для кодирования, исходя из количества перераспределенных блоков, и декодирует данные, кодированные с преобразованием.
В подполосе, не подверженной сжатию полосы, из спектров сжатой подполосы, выводимых из узла 205 кодирования/декодирования с преобразованием, узел 206 расширения полосы выводит спектр сжатой подполосы "как есть" в узел 207 интеграции подполос в качестве спектра подполосы. В подполосе, подверженной сжатию полосы, из спектров сжатой подполосы, выводимых из узла 205 кодирования/декодирования с преобразованием, узел 206 расширения полосы расширяет спектр сжатой подполосы до ширины этой подполосы, и выводит расширенный спектр в узел 207 интеграции подполос как спектр подполосы.
Согласно настоящему варианту осуществления, узел 105 сжатия полосы устройства 100 кодирования речи/аудио выполняет сжатие полосы с использованием способа создания комбинаций из двух выборок в порядке от стороны нижней полосы подполосы сжатой полосы и оставления выборки с большим абсолютным значением амплитуды из каждой комбинации, и, следовательно, узел 206 расширения полосы сохраняет каждый второй декодированный спектр по адресу с четным номером или по адресу с нечетным номером, и может, посредством этого, получать спектр, расширенный до исходной ширины полосы (ширина полосы до сжатия). В этом случае, отклонение позиции декодированного спектра подполосы является максимум одна выборка. Узел 206 расширения полосы будет подробно описан ниже.
Узел 207 интеграции подполос плотно размещает спектры подполосы, выводимые из узла 206 расширения полосы со стороны нижней полосы, интегрирует их в один вектор, и выводит интегрированный вектор в узел 208 преобразования частота-время как спектр декодированного сигнала.
Узел 208 преобразования частота-время преобразовывает спектр декодированного сигнала, который является сигналом частотной области, выводимым из узла 207 интеграции подполосы, в сигнал временной области, и выводит декодированный сигнал.
Далее будет описан способ расширения полосы в узле 206 расширения полосы, представленном на Фиг. 4. На Фиг. 5 представлена схема, обеспеченная для описания расширения полосы. Однако на Фиг. 5, как и в случае Фиг. 2, предположим, что длиной подполосы является W(n), горизонтальная ось представляет частоту, вертикальная ось представляет абсолютное значение амплитуды спектра, и будет описан случай, когда расширяется спектр сжатой подполосы, представленный на Фиг. 2C.
Спектр сжатой подполосы, расположенный в позиции 1 после сжатия полосы, до сжатия находился в позиции 1 или позиции 2. Аналогично, спектр сжатой подполосы, расположенный в позиции 2 после сжатия полосы, до сжатия находился в позиции 3 или позиции 4. Аналогично, спектры сжатой подполосы, находящиеся в позиции 3 и позиции 4 после сжатия полосы, находились соответственно в позиции 5 или позиции 6 и позиции 7 или позиции 8.
Так как узел 206 расширения полосы не может знать то, в какой позиции спектр, после сжатия полосы, находился до сжатия полосы, то узел 206 расширения полосы расширяет спектр, после сжатия полосы, посредством помещения этого спектра в любую позицию. В примере на Фиг. 5, спектр сжатой подполосы в позиции 1 после сжатия полосы помещается в позиции 1 после расширения, спектр сжатой подполосы в позиции 2 после сжатия полосы помещается в позицию 3 после расширения, и так далее, то есть спектры сжатой подполосы последовательно помещаются по адресам с нечетным номером. В результате, только спектр, расположенный в позиции 5 спектра, после расширения помещается в правильную позицию, а другие спектры помещаются в позиции с отклонением на одну выборку.
С вышеописанной конфигурацией, кодированные данные могут быть декодированы устройством 200 декодирования речи/аудио.
Следовательно, согласно Варианту 1 осуществления, устройство 100 кодирования речи/аудио создает комбинации из двух выборок спектров подполосы в порядке от стороны нижней полосы в подполосе, подверженной сжатию полосы, выбирает спектр, имеющий большее абсолютное значение амплитуды, из каждой комбинации, плотно размещает выбранные спектры со стороны нижней полосы в частотной области, и может посредством этого сократить незначительные для восприятия спектры, и сжать полосу. Кроме того, посредством этого, возможно сокращение количества распределенных битов, необходимых для кодирования спектра с преобразованием.
Согласно Варианту 1 осуществления, количество распределенных битов, сокращенных в подполосе, подверженной сжатию полосы, перераспределяется для кодирования с преобразованием спектров в полосе, более низкой, чем расширенная полоса, и, посредством этого, можно выражать важные для восприятия спектры более точно, и, посредством этого, улучшать качество звука.
В настоящем варианте осуществления описан случай, когда в устройстве 100 кодирования речи/аудио узел 104 вычисления количества блоков вычисляет количество блоков, а узел 106 повторного вычисления количества блоков вычисляет количество перераспределенных блоков. Однако в настоящем изобретении, как представлено на Фиг. 6, функции узла 104 вычисления количества блоков и узла 106 повторного вычисления количества блоков, как в устройстве 110 кодирования речи/аудио, могут быть интегрированы в узел 111 вычисления количества блоков.
В настоящем варианте осуществления описан случай, когда в устройстве 200 декодирования речи/аудио узел 203 вычисления количества блоков вычисляет количество блоков, а узел 204 повторного вычисления количества блоков вычисляет количество перераспределенных блоков. Однако в настоящем изобретении, как представлено на Фиг. 7, функции узла 203 вычисления количества блоков и узла 204 повторного вычисления количества блоков, как в устройстве 210 декодирования речи/аудио, могут быть интегрированы в узел 211 вычисления количества блоков.
В настоящем варианте осуществления описан случай, когда, в качестве способа сжатия полосы, создаются комбинации из двух выборок в порядке от стороны нижней полосы подполосы, подверженной сжатию полосы, и из каждой комбинации оставляют выборку, имеющую большее абсолютное значение амплитуды, но также могут быть использованы другие способы сжатия полосы. Например, без ограничения комбинациями из двух выборок, могут быть созданы комбинации из трех или большего количества выборок, и из каждой комбинации может быть оставлена выборка, имеющая наибольшее абсолютное значение амплитуды. В этом случае, можно увеличить количество битов, которые могут быть сокращены посредством сжатия полосы.
Кроме того, чем выше полоса, тем большее количество выборок может быть объединено. Вместо создания комбинаций в порядке от стороны нижней полосы, комбинации также могут быть созданы в порядке от стороны верхней полосы.
(Вариант осуществления 2)
Фиг. 8 является структурной схемой, иллюстрирующей конфигурацию устройства 120 кодирования речи/аудио согласно Варианту 2 осуществления настоящего изобретения. Конфигурация устройства 120 кодирования речи/аудио описана ниже с использованием Фиг. 8. Фиг. 8 отличается от Фиг. 1 тем, что удален узел 106 повторного вычисления количества блоков, узел 104 вычисления количества блоков заменен на узел 111 вычисления количества блоков, и добавлен узел 121 уменьшения энергии подполосы.
Узел 121 уменьшения энергии подполосы вызывает уменьшение энергии подполосы для подполосы, подверженной сжатию полосы квантованной энергии подполосы, выводимой из узла 103 вычисления энергии подполосы, и выводит уменьшенную энергию подполосы в узел 111 вычисления количества блоков.
Далее будет описана причина, по которой вызывается уменьшение энергии подполосы для подполосы, подверженной сжатию полосы. Если не вызывать уменьшение энергии подполосы, как описано в Варианте 1 осуществления, то биты предварительного распределения определяются узлом 111 вычисления количества блоков на основе энергии этой подполосы, но если посредством сжатия полосы полосу сокращают, например, наполовину, то количество битов блока сокращается на один бит, и, следовательно, генерируются избыточные биты. Однако, так как отсутствует узел 106 повторного вычисления количества блоков, избыточные биты не всегда могут быть должным образом перераспределены от подполосы на стороне верхней полосы подполосе на стороне нижней полосы, и могут быть использованы непроизводительно.
Соответственно, узел 121 уменьшения энергии подполосы вызывает уменьшение энергии подполосы в отношении подполосы, подверженной сжатию полосы, и, посредством этого, предотвращает генерацию бесполезных избыточных битов. Однако даже когда длина подполосы посредством сжатия полосы сокращается наполовину, оставляют основные спектры, и, следовательно, снижение энергии подполосы наполовину может в результате привести к чрезмерному уменьшению. Соответственно, узел 121 уменьшения энергии подполосы может, например, умножать энергию подполосы на фиксированный коэффициент, например 0,8, или вычитать константу, например 3,0, из энергии подполосы.
Фиг. 9 является структурной схемой, иллюстрирующей конфигурацию устройства 220 декодирования речи/аудио согласно Варианту 2 осуществления настоящего изобретения. Далее, с использованием Фиг. 9, будет описана конфигурация устройства 220 кодирования речи/аудио. Фиг. 9 отличается от Фиг. 4 тем, что удален узел 204 повторного вычисления количества блоков, узел 104 вычисления количества блоков заменен на узел 211 вычисления количества блоков, и добавлен узел 221 уменьшения энергии подполосы.
Узел 221 уменьшения энергии подполосы вызывает уменьшение энергии подполосы для подполосы, подверженной сжатию полосы энергии подполосы, выводимой из узла 202 декодирования энергии подполосы, и выводит уменьшенную энергию подполосы в узел 211 вычисления количества блоков. Однако узел 221 уменьшения энергии подполосы выполняет уменьшение при условии, идентичном условию узла 121 уменьшения энергии подполосы устройства 120 кодирования речи/аудио.
Соответственно, согласно Варианту 2 осуществления, устройство 120 кодирования речи/аудио вызывает уменьшение энергии подполосы для подполосы, подверженной сжатию полосы, так, чтобы биты предварительного распределения имели значения, идентичные значениям на стороне кодирования.
(Вариант осуществления 3)
Согласно Варианту 1 осуществления, позиция спектра подполосы, подверженной сжатию полосы, после расширения может измениться относительно позиции этой подполосы до сжатия полосы. Соответственно, для, по меньшей мере, спектра, абсолютное значение амплитуды, которая оказывает большое влияние на восприятие, которого в пределах подполосы является максимальным спектром (далее в этом документе называемым “спектр с максимальной амплитудой”), позиция спектра может быть адаптирована так, чтобы не изменяться до и после сжатия полосы.
В Варианте 3 осуществления настоящего изобретения будет описан случай, когда корректируется позиция спектра с максимальной амплитудой после декодирования в подполосе, подверженной сжатию полосы.
Конфигурации устройства кодирования речи/аудио и устройства декодирования речи/аудио согласно Варианту 3 осуществления настоящего изобретения являются аналогичными конфигурациям, представленным в Варианте 1 осуществления на Фиг. 1 и Фиг. 4, и отличаются только функциями узла 105 сжатия полосы и узла 206 расширения полосы, и, следовательно, будут описаны только отличающиеся функции со ссылкой на Фиг. 1 и Фиг. 4. Кроме того, эти конфигурации будут описаны ниже с использованием Фиг. 2A, Фиг. 2B и Фиг. 5.
Со ссылкой на Фиг. 1, узел 105 сжатия полосы производит поиск спектра с максимальной амплитудой из спектров подполосы, выводимых из узла 102 деления на подполосы. Узел 105 сжатия полосы вычисляет информацию о коррекции позиции, которая, как предполагается, равна 0, если спектр с максимальной амплитудой расположен по адресу с нечетным номером, и равна 1, если спектр с максимальной амплитудой расположен по адресу с четным номером, и выводит информацию о коррекции позиции в узел 107 кодирования с преобразованием. На Фиг. 2B, так как спектр с максимальной амплитудой является спектром, расположенным в позиции 2 (адрес с четным номером), то узел 105 сжатия полосы вычисляет информацию о коррекции позиции как 1. Вычисленная информация о коррекции позиции кодируется узлом 107 кодирования с преобразованием и передается в устройство 200 декодирования речи/аудио.
Со ссылкой на Фиг. 4, в подполосе, не подверженной сжатию полосы, из спектров сжатой подполосы, выводимых из узла 205 кодирования/декодирования с преобразованием, узел 206 расширения полосы предполагает, что спектр сжатой подполосы является спектром подполосы "как есть", и выводит спектр сжатой подполосы в узел 207 интеграции подполос. В подполосе, подверженной сжатию полосы, из спектров сжатой подполосы, выводимых из узла 205 кодирования/декодирования с преобразованием, узел 206 расширения полосы размещает спектр с максимальной амплитудой на основе декодированной информации о коррекции позиции, расширяет оставшиеся спектры сжатой подполосы до ширины подполосы, и выводит расширенный спектр сжатой подполосы в узел 207 интеграции подполос как спектры подполосы. При этом, так как информацией о коррекции позиции является 1, то спектр с максимальной амплитудой размещается по адресу с четным номером. Этот результат представлен на Фиг. 10. При сравнении с Фиг. 2A видно, что спектр с максимальной амплитудой, расположенный в позиции 2, расположен в правильной позиции. Отметим, что спектры, отличные от спектра с максимальной амплитудой, могут быть сдвинуты максимум на одну выборку.
Соответственно, посредством размещения спектра с максимальной амплитудой на основе информации о коррекции позиции, возможно сохранение позиции спектра для спектра с максимальной амплитудой до и после сжатия полосы.
Отметим, что, когда полоса сокращается наполовину, один бит должен быть распределен информации о коррекции позиции, и, следовательно, когда количество блоков равно 5, окончательное количество битов, которое должно быть сокращено, равно 4 из пяти сокращенных битов, и причем один бит, соответствующий информации о коррекции позиции, должен быть прибавлен. Когда полоса сжимается до 1/4, и количество блоков равно 5, окончательное количество битов, которое должно быть сокращено, равно 8 из десяти сокращенных битов, и причем два бита, соответствующие информации о коррекции позиции, должны быть прибавлены.
Соответственно, согласно Варианту 3 осуществления, устройство 100 кодирования речи/аудио вычисляет 0, если спектр с максимальной амплитудой подполосы, подверженной сжатию полосы, расположен по адресу с нечетным номером, и вычисляет 1, если спектр с максимальной амплитудой подполосы, подверженной сжатию полосы, расположен по адресу с четным номером, передает результат вычисления в устройство 200 декодирования речи/аудио, и устройство 200 декодирования речи/аудио размещает спектр с максимальной амплитудой на основе информации о коррекции позиции, и может, соответственно, сохранять позицию спектра для спектра с максимальной амплитудой, который имеет большое влияние на восприятие, в пределах подполосы до и после сжатия полосы.
В настоящем варианте осуществления описано такое вычисление, что информация о коррекции позиции по предположению равна 0, если спектр с максимальной амплитудой расположен по адресу с нечетным номером, и по предположению равна 1, если спектр с максимальной амплитудой расположен по адресу с четным номером, но настоящее изобретение не ограничивается этим. Например, может предполагаться, что информация о коррекции позиции равна 1, если спектр с максимальной амплитудой расположен по адресу с нечетным номером, и равна 0, если спектр с максимальной амплитудой расположен по адресу с четным номером. Когда подполоса, подверженная сжатию полосы, сжимается до 1/3, 1/4 и т.п., вычисляется информация о коррекции позиции, ассоциированная с ней.
(Вариант осуществления 4)
В Варианте 1 осуществления описан случай, когда, в качестве способа сжатия полосы, создаются комбинации из двух выборок в порядке от стороны нижней полосы подполосы, подверженной сжатию полосы, и из каждой комбинации оставляют выборку, имеющую большее абсолютное значение амплитуды. Однако, в случае, когда спектр, имеющий следующую самую большую амплитуду после спектра с максимальной амплитудой (далее в этом документе называемый “следующим самым большим спектром”), является смежным со спектром с максимальной амплитудой, этот следующий самый большой спектр может быть исключен из целей кодирования. Статистические наблюдения подтверждают, что в расширенной полосе существует большая вероятность того, что следующий самый большой спектр является смежным со спектром с максимальной амплитудой.
Соответственно, в Варианте 4 осуществления настоящего изобретение будет описан случай, когда размещение спектров подполосы, подверженной сжатию полосы, изменяется согласно предопределенной процедуре (далее в этом документе называемой "разнесение") так, чтобы спектр с максимальной амплитудой и следующий самый большой спектр не были смежными друг с другом.
Фиг. 11 является структурной схемой, иллюстрирующей конфигурацию устройства 130 кодирования речи/аудио согласно Варианту 4 осуществления настоящего изобретения. Далее, с использованием Фиг. 11, будет описана конфигурация устройства 130 кодирования речи/аудио. Однако Фиг. 11 отличается от Фиг. 6 тем, что добавлено средство 131 разнесения.
Средство 131 разнесения разносит размещение спектров подполосы, выводимых из узла 102 деления на подполосы, и выводит разнесенные спектры подполосы в узел 105 сжатия полосы.
На Фиг. 12A - Фиг. 12D представлена схема, обеспеченная для описания разнесения. На Фиг. 12A - Фиг. 12D представлена ситуация, в которой выделена подполоса n, подверженная сжатию полосы, и предположим, что длина подполосы представлена посредством W(n), на горизонтальной оси представлена частота, и на вертикальной оси представлено абсолютное значение амплитуды спектра.
На Фиг. 12A представлен спектр до сжатия полосы, и предположим, что спектр в позиции 2 является спектром с максимальной амплитудой, и спектр в позиции 1 является следующим самым большим спектром. При этом, если спектр выбирается с использованием способа, представленного в Варианте 1 осуществления, то выбирается спектр в позиции 2, как представлено на Фиг. 12B, а следующий самый большой спектр в позиции 1 исключается из целей кодирования.
На Фиг. 12C изображены спектры после разнесения. Более конкретно, на Фиг. 12C изображена ситуация, в которой адреса с нечетными номерами переставляются на сторону нижней полосы спектров, а адреса с четными номерами переставляются на сторону верхней полосы спектров. Op(x) (x=1-8) на фигуре указывает то, что позиция спектра подполосы до разнесения равна x.
Соответственно, средство 131 разнесения разносит размещение спектров в подполосах, подверженных сжатию полосы, посредством чего, позиция спектра с максимальной амплитудой становится равной 5, позиция следующего самого большого спектра становится равной 1, и оба спектра являются отделенными друг от друга. Поэтому, даже когда сжатие полосы выполняется с использованием способа, представленного в Варианте 1 осуществления, спектр с максимальной амплитудой и следующий самый большой спектр могут являться целями кодирования, как представлено на Фиг. 12D. Однако в этом примере сдвиг позиций спектра после декодирования становится равным максимум две выборки.
Фиг. 13 является структурной схемой, иллюстрирующей конфигурацию устройства 230 декодирования речи/аудио согласно Варианту 4 осуществления настоящего изобретения. Далее, с использованием Фиг. 13, будет описана конфигурация устройства 230 декодирования речи/аудио. Однако Фиг. 13 отличается от Фиг. 7 тем, что добавлено средство 231 устранения разнесения.
В подполосе, подверженной сжатию полосы отделенных спектров подполосы, для каждой подполосы, выводимой из узла 206 расширения полосы, средство 231 устранения разнесения устраняет разнесение размещения спектров подполосы, и выводит эти спектры подполосы в размещении с устраненным разнесением в узел 207 интеграции подполос.
Соответственно, в Варианте 4 осуществления, устройство 130 кодирования речи/аудио разносит размещение спектров подполосы, подверженной сжатию полосы, выполняет сжатие полосы, и, посредством этого, может отделять оба спектра друг от друга, даже когда следующий самый большой спектр является смежным со спектром с максимальной амплитудой, и предотвращать исключение следующего самого большого спектра посредством сжатия полосы.
Отметим, что настоящий вариант осуществления может быть по выбору объединен с одним из Вариантов 1-3 осуществления. В связи с этим, когда способ кодирования информации о коррекции позиции относительно спектра с максимальной амплитудой Варианта 3 осуществления объединяют с настоящим вариантом осуществления, то возможно точное кодирование позиции спектра с максимальной амплитудой, даже когда выполняется разнесение.
(Вариант осуществления 5)
В варианте 4 осуществления описан способ предотвращения исключения следующего самого большого спектра из целей кодирования, когда разнесение вызывает то, что спектр с максимальной амплитудой и следующий самый большой спектр являются смежными друг с другом. В Варианте 5 осуществления настоящего изобретения приведено описание способа предотвращения исключения следующего самого большого спектра из целей кодирования посредством исключения окрестности спектра с максимальной амплитудой из целей сжатия полосы.
Конфигурации устройства кодирования речи/аудио и устройства декодирования речи/аудио согласно Варианту 5 осуществления настоящего изобретения являются аналогичными конфигурациям, представленным в Варианте 1 осуществления на Фиг. 1 и Фиг. 4, и отличаются только функциями узла 105 сжатия полосы и узла 206 расширения полосы, и, следовательно, отличающиеся функции будут описаны с использованием Фиг. 1 и Фиг. 4.
Со ссылкой на Фиг. 1, узел 105 сжатия полосы производит поиск спектра с максимальной амплитудой из спектров подполосы, выводимых из узла 102 деления на подполосы. Когда существует множество спектров с максимальной амплитудой, в качестве спектра с максимальной амплитудой объявляется спектр на стороне нижней полосы. Узел 105 сжатия полосы извлекает найденный спектр с максимальной амплитудой и спектры в его окрестности, и объявляет их спектрами, не подверженными сжатию полосы, то есть, некоторыми из спектров сжатой подполосы. Например, предположим, что из целей сжатия полосы исключаются по одной выборке до и после спектра с максимальной амплитудой, то есть три выборки.
Узел 105 сжатия полосы выполняет сжатие полосы в отношении спектров, находящихся ближе к стороне нижней полосы, чем спектры, не подверженные сжатию полосы, и размещает результат сжатия полосы со стороны нижней полосы спектров сжатой подполосы. Узел 105 сжатия полосы размещает спектры, не подверженные сжатию полосы, в дополнение к стороне верхней полосы спектров сжатой подполосы. Далее, узел 105 сжатия полосы выполняет сжатие полосы в отношении спектров, находящихся ближе к стороне верхней полосы, чем спектры, не подверженные сжатию полосы, и размещает результат сжатия полосы в дополнение к стороне верхней полосы спектров сжатой подполосы.
Выполнение такой обработки узлом 105 сжатия полосы позволяет получать спектр сжатой подполосы с окрестностью спектра с максимальной амплитудой, исключенной из цели сжатия полосы, и сделать спектр с максимальной амплитудой и следующий самый большой спектр в качестве целей кодирования. Если позиция спектра с максимальной амплитудой после расширения не выражается точно, то не существует информации, которая должна быть конкретно отправлена в устройство 200 декодирования речи/аудио, в отношении этого способа сжатия полосы.
Со ссылкой на Фиг. 4, узел 206 расширения полосы производит поиск максимального значения амплитуды спектра сжатой подполосы, выводимого из узла 205 кодирования/декодирования с преобразованием. Когда обнаружено множество максимальных значений амплитуды, спектр со стороны нижней полосы объявляется спектром с максимальной амплитудой, как и в случае устройства 100 кодирования речи/аудио. В результате, узел 206 расширения полосы объявляет спектры в окрестности спектра с максимальной амплитудой спектрами, не подверженными сжатию полосы. При этом в качестве спектров, не подверженных сжатию полосы, выделяются спектр с максимальной амплитудой и по одной выборке до и после этого спектра, то есть в общей сложности три выборки.
Далее, узел 206 расширения полосы расширяет спектры сжатой подполосы, находящиеся ближе к стороне нижней полосы, чем спектры, не подверженные сжатию полосы. Расширение выполняется посредством последовательного размещения спектров со стороны нижней полосы спектров сжатой подполосы по адресам с нечетным номером и повторения этого размещения до непосредственно перед спектрами, не подверженными сжатию полосы. Узел 206 расширения полосы размещает спектры, не подверженные сжатию полосы, в дополнение к стороне верхней полосы спектров расширяемой подполосы со стороны нижней полосы. После этого, узел 206 расширения полосы расширяет спектры сжатой подполосы, находящиеся ближе к стороне верхней полосы, чем спектр, не подверженный сжатию полосы, и размещает эти расширяемые спектры подполосы со стороны верхней полосы спектра, не подверженного сжатию полосы.
Выполнение такой обработки узлом 206 расширения полосы позволяет расширять спектры сжатой подполосы с окрестностью спектра с максимальной амплитудой, исключенной из целей сжатия полосы.
Далее описывается способ сжатия полосы вышеупомянутым узлом 105 сжатия полосы. На Фиг. 14 проиллюстрирован пример сжатия полосы. При этом предположим, что длина подполосы равна 10, и значения амплитуды равны 8, 3, 6, 2, 10, 9, 5, 7, 4 и 1 со стороны нижней полосы.
Узел 105 сжатия полосы сначала производит поиск спектра с максимальной амплитудой из спектров подполосы, и извлекает спектр с максимальной амплитудой и по одной выборке до и после спектра с максимальной амплитудой, в общей сложности три выборки, как спектры, не подверженные сжатию полосы. В этом примере, так как спектр в позиции 5 является максимумом, спектры в позициях 4, 5 и 6 являются спектрами, не подверженными сжатию полосы. Соответственно, спектры в позициях 1, 2 и 3 на стороне нижней полосы и спектры в позициях 7, 8, 9 и 10 на стороне верхней полосы являются спектрами, подверженными сжатию полосы. В результате выбираются спектры в позициях 1 и 3, спектры в позициях 4, 5 и 6, которые отличаются от целей сжатия полосы, размещаются в дополнение к ним, спектры в позициях 8 и 10 выбираются в дополнение к ним, и, посредством этого, формируется спектр сжатой подполосы, как представлено на Фиг. 14.
Далее будет описан способ расширения полосы вышеупомянутым узлом 206 расширения полосы. На Фиг. 15 проиллюстрирован пример расширения полосы. Узел 206 расширения полосы производит поиск максимального значения амплитуды спектра сжатой подполосы. В этом примере, спектр в позиции 4 является спектром с максимальной амплитудой, и, следовательно, спектры в позициях 3, 4 и 5 являются спектрами, не подверженными сжатию полосы. Соответственно, можно заметить, что спектры в позициях 1 и 2 со стороны нижней полосы и спектры в позициях 6 и 7 со стороны верхней полосы являются спектрами сжатой полосы.
Узел 206 расширения полосы размещает спектры сжатой подполосы в позициях 1 и 2 соответственно в позициях 1 и 3 спектров подполосы. Затем, узел 206 расширения полосы размещает спектры, не подверженные сжатию полосы, в позициях 5, 6 и 7 спектров подполосы в дополнение к ним. Кроме того, узел 206 расширения полосы размещает спектры сжатой подполосы в позициях 6 и 7 в позициях 8 и 10 спектров подполосы. Посредством такой процедуры можно расширять спектр сжатой подполосы, подвергшийся сжатию полосы посредством исключения спектра с максимальной амплитудой и его окрестности из целей сжатия полосы.
Соответственно, согласно Варианту 5 осуществления, устройство 100 кодирования речи/аудио исключает спектр с максимальной амплитудой и спектры в его окрестности в подполосе, подверженной сжатию полосы, из целей сжатия полосы, и осуществляет сжатие полосы других спектров, и может посредством этого предотвращать, даже когда следующий самый большой спектр является смежным со спектром с максимальной амплитудой, исключение следующего самого большого спектра посредством сжатия полосы.
В настоящем варианте осуществления, позиция спектра с максимальной амплитудой после расширения может не являться точной позицией, но существует возможность размещения спектра с максимальной амплитудой в точной позиции посредством кодирования и передачи информации о коррекции позиции, описанной в Варианте 2 осуществления.
(Вариант осуществления 6)
Обычно часто имеет место то, что важный для восприятия спектр имеет большую амплитуду и генерируется последовательно на по существу идентичной частоте в течение длительного периода времени, который является предопределенным временем или дольше. Это свойство имеет гласный звук в человеческой речи, и это свойство может наблюдаться во многих случаях с верхней полосой, генерируемой музыкальными инструментами, отличными от речи, хотя и не сопоставимой с гласным звуком. С использованием преимущества этого свойства, при выделении субъективно важных спектров в предыдущем кадре и исключительном кодировании только полос, периферийных по отношению к упомянутому спектру, как целей кодирования в текущем кадре, возможно эффективное кодирование важных для восприятия спектров.
В спектре подполосы, который является исходным сигналом, количество кодируемых битов спектра, которое постоянно выводилось для нескольких кадров, может колебаться по отдельным кадрам вместе с колебанием энергии подполосы, что вызывает явление, заключающееся в том, что кодирование достигает цели или терпит неудачу по отдельным кадрам. В этом случае, ясность декодированной речи может ухудшаться, и в речи появляются помехи.
Соответственно, в Варианте 6 осуществления настоящего изобретения, дано описание конфигурации, посредством которой может быть реализовано более эффективное кодирование посредством не назначения в качестве целей кодирования всех спектров подполосы в расширенной полосе, а назначения в качестве целей кодирования только периферийных полос важного для восприятия спектра.
Фиг. 16 является структурной схемой, иллюстрирующей конфигурацию устройства 140 кодирования речи/аудио согласно Варианту 6 осуществления настоящего изобретения. Далее, с использованием Фиг. 16, будет описана конфигурация устройства 140 кодирования речи/аудио. Однако Фиг. 16 отличается от Фиг. 1 тем, что удалены узел 106 повторного вычисления количества блоков и узел 105 сжатия полосы, узел 104 вычисления количества блоков заменен на узел 141 вычисления количества блоков, узел 107 кодирования с преобразованием заменен на узел 142 кодирования с преобразованием, узел 108 мультиплексирования заменен на узел 145 мультиплексирования, и добавлены узел 143 хранения результата кодирования с преобразованием и узел 144 установки целевой полосы.
Узел 141 вычисления количества блоков вычисляет предварительное количество распределенных битов, которые распределяются каждой подполосе на основе энергии подполосы, выводимой из узла 103 вычисления энергии подполосы. Узел 141 вычисления количества блоков получает длину подполосы целевой полосы кодирования для кодирования с преобразованием на основе информации о подполосе с ограниченной полосой, выводимой из узла 144 установки целевой полосы, который будет описан ниже. Так как количество блоков может быть вычислено исходя из полученной длины подполосы, узел 141 вычисления количества блоков вычисляет количество кодируемых битов так, чтобы приблизиться к предварительному количеству распределенных битов. Узел 141 вычисления количества блоков выводит информацию, эквивалентную вычисленному количеству кодируемых битов, в узел 142 кодирования с преобразованием в виде количества блоков. Биты в основном распределены так, что чем больше энергия E[n] подполосы, тем большее количество битов распределено. Однако биты распределяются на поблочной основе, и количество битов, требуемое для блока, зависит от длины подполосы. Соответственно, даже когда предварительное количество распределенных битов является идентичным, если длина подполосы является небольшой, то количество битов, необходимых для блока является небольшим, и может использоваться большее количество блоков. Когда может быть использовано большее количество блоков, может быть закодировано больше спектров, или может быть увеличена точность амплитуды.
Узел 142 кодирования с преобразованием кодирует спектр подполосы, выводимый из узла 102 деления на подполосы, посредством кодирования с преобразованием с использованием количества блоков, выводимого из узла 141 вычисления количества блоков, и информации о подполосе с ограниченной полосой, выводимой из узла 144 установки целевой полосы, который будет описан ниже. Кодированные данные, кодированные с преобразованием, выводятся в узел 145 мультиплексирования. Узел 142 кодирования с преобразованием декодирует данные, кодированные с преобразованием, и выводит декодированный спектр в узел 143 хранения результата кодирования с преобразованием как декодированный спектр подполосы. Во время кодирования узел 142 кодирования с преобразованием получает начальную позицию спектра, конечную позицию спектра и длину подполосы или подобное полосы, которая должна быть закодирована, исходя из количества блоков, выводимых из узла 141 вычисления количества блоков, и информации о подполосе с ограниченной полосой, выводимой из узла 144 установки целевой полосы, и выполняет кодирование с преобразованием. Далее в этом документе, целевая подполоса кодирования, которая короче обычной длины подполосы, устанавливаемая узлом 144 установки целевой полосы, называется "ограниченной полосой", и когда все спектры в пределах подполосы являются целями кодирования, эти спектры называются “всей полосой”. Эффективное кодирование является возможным, когда в качестве схемы кодирования с преобразованием используются такая схема кодирования с преобразованием, как FPC, AVQ или LVQ. Отметим, что спектры за пределами ограниченной полосы исключаются из целей кодирования, и поэтому они не кодируются посредством кодирования с преобразованием. При этом, предполагается, что амплитуда всех спектров за пределами ограниченной полосы в декодированных спектрах подполосы равна 0.
Узел 143 хранения результата кодирования с преобразованием сохраняет декодированную информацию о спектре подполосы, выводимую из узла 142 кодирования с преобразованием. При этом, для простоты описания, предположим, что узел 143 хранения результата кодирования с преобразованием сохраняет только информацию по спектру с максимальной амплитудой в подполосе (спектр с максимальным абсолютным значением амплитуды). Узел 143 хранения результата кодирования с преобразованием предполагает, что сохраненная позиция спектра является информацией о спектре из предыдущего кадра, и выводит сохраненную позицию спектра в узел 144 установки целевой полосы в кадре, следующем за сохраненным кадром. Отметим, что, когда существует мало битов, и количество блоков становится равным 0, и когда кодирование с преобразованием не выполняется, создается информация о спектре для указания того, что спектры не сохраняются. Например, информация о спектре в предыдущем кадре может быть установлена в -1.
Узел 144 установки целевой полосы генерирует информацию о подполосе с ограниченной полосой с использованием информации о спектре в отношении предыдущего кадра, выводимого из узла 143 хранения результата кодирования с преобразованием, и спектра подполосы, выводимого из узла 102 деления на подполосы, и выводит информацию о подполосе с ограниченной полосой в узел 141 вычисления количества блоков и узел 142 кодирования с преобразованием. Информация о подполосе с ограниченной полосой может быть любой информацией, которая, по меньшей мере, идентифицирует начальную позицию спектра и конечную позицию спектра полосы, которая должна быть закодирована, и длину подполосы полосы, которая должна быть закодирована.
Узел 144 установки целевой полосы выводит флаг ограничения полосы, указывающий, ограничивать ли полосу подполосы, в узел 145 мультиплексирования. При этом, предположим, что ограничение полосы выполняется тогда, когда флаг ограничения полосы равен 1, и предполагается, что вся полоса является целью кодирования, когда флаг ограничения полосы равен 0.
Узел 145 мультиплексирования мультиплексирует кодированные данные энергии подполосы, выводимые из узла 103 вычисления энергии подполосы, данные, кодированные с преобразованием, выводимые из узла 142 кодирования с преобразованием, и флаг ограничения полосы, выводимый из узла 144 установки целевой полосы, и выводит результат мультиплексирования как кодированные данные.
С вышеописанной конфигурацией, устройство 140 кодирования речи/аудио может генерировать данные, кодированные с ограничением полосы, с использованием результата кодирования с преобразованием в предыдущем кадре.
Далее, будет описан способ установки целевой полосы узлом 144 установки целевой полосы, представленным на Фиг. 16.
Узел 144 установки целевой полосы определяет, должны ли все спектры, включенные в подполосу, которая должна быть закодирована, являться целями кодирования с преобразованием, или целями кодирования с преобразованием должны являться спектры, включенные в полосу ограниченную периферией важного для восприятия спектра. Способ определения того, является ли спектр важным для восприятия спектром, будет проиллюстрирован ниже с использованием простого способа.
Из спектров подполосы, предполагается, что спектр с максимальной амплитудой является важным для восприятия. В текущем кадре, если спектр с максимальной амплитудой из спектров подполосы находится в пределах полосы около спектра с максимальной амплитудой в предыдущем кадре, то можно определить, что важный для восприятия спектр является непрерывным во времени. В таком случае, диапазон кодирования может быть сужен до только полосы, периферийной по отношению к важному для восприятия спектру в предыдущем кадре.
Например, в n-й подполосе, предположим, что позицией важного для восприятия спектра в предыдущем кадре является P[t-1,n]. Когда шириной полосы после ограничения целей кодирования является WL[n], начальная позиция спектра целевой полосы кодирования после ограничения полосы выражается посредством P[t-1,n]-(int)(WL[n]/2), и конечная позиция спектра выражается посредством P[t-1,n]+(int)(WL[n])/2). Однако предположим, что здесь WL[n] представляет нечетное число, и (int) представляет процесс отбрасывания десятичной запятой. При этом, если длина W[n] подполосы равна 100, и WL[n] равна 31, то минимальное количество битов, необходимое для выражения позиции одного спектра, может быть сокращено с 7 до 5.
В нижеследующем описании WL[n] является предопределенной для каждой подполосы, но может также являться переменной согласно свойству спектра подполосы. Например, существует способ, который увеличивает WL[n], когда энергия подполосы является большой, и уменьшает WL[n], когда изменение энергии подполосы в кадре t-1 и энергии подполосы в кадре t является небольшим.
Несмотря на то, что для длины W[n] подполосы существует отношение W[n-l]≤W[n], нет необходимости ограничивать таким отношением ограниченную ширину WL[n] полосы. Когда начальная позиция спектра или конечная позиция спектра ограниченной полосы находится за пределами диапазона исходной подполосы, начальной позицией спектра исходной подполосы может быть начальная позиция спектра ограниченной полосы, или конечной позицией спектра исходной подполосы может быть конечная позиция спектра ограниченной полосы, и WL[n] может не изменяться.
Когда ограниченная полоса определяется только результатом кодирования с преобразованием в предыдущем кадре, если субъективно важный спектр перемещается за пределы ограниченной полосы, то существует риск того, что этот спектр может не закодироваться, а некоторая субъективно незначительная полоса может продолжать кодироваться как ограниченная полоса. Однако, как описано в настоящем примере, посредством определения, существует ли спектр с максимальной амплитудой текущей подполосы в ограниченной полосе, можно узнать, существует ли какой-либо субъективно важный спектр за пределами этой ограниченной полосы. В этом случае, предполагая, что вся полоса является целью кодирования, можно оказать содействие последующему кодированию субъективно важных спектров.
В качестве примера описан случай, когда узел 144 установки целевой полосы вычисляет важную для восприятия полосу исходя из позиций спектров с максимальной амплитудой в предыдущем кадре и текущем кадре, но также можно оценивать гармоническую структуру спектра верхней полосы исходя из гармонической структуры спектра нижней полосы, и вычислять важную для восприятия полосу. Гармоническая структура является структурой, в которой спектры нижней полосы являются по существу одинаково разнесенными также на стороне верхней полосы. Следовательно, можно оценивать гармоническую структуру исходя из спектра нижней полосы, а также оценивать гармоническую структуру в верхней полосе. Периферия оцененной полосы также может быть закодирована как ограниченная полоса. В этом случае, если сначала кодируются спектры нижней полосы, а спектры верхней полосы кодируются с использованием результата кодирования, то между устройством кодирования речи/аудио и устройством декодирования речи/аудио можно получать идентичную информацию о подполосе с ограниченной полосой.
Далее будет описана последовательность операций вышеупомянутого устройства 140 кодирования речи/аудио.
Сначала, с использованием Фиг. 17, будет описано кодирование расширенной полосы без ограничения полосы. На Фиг. 17 представлены две подполосы: подполоса n-1 и подполоса n, и горизонтальная ось представляют частоту, а вертикальная ось представляет абсолютное значение амплитуды спектра. В каждой подполосе спектр представляет только спектр с максимальной амплитудой. По порядку сверху представлены три непрерывных во времени кадра t-1, t и t+1. Предположим, что позиция спектра с максимальной амплитудой кадра t, подполосы n-1, представляется посредством P[t,n-1].
На основе энергии подполосы, вычисляемой узлом 103 вычисления энергии подполосы, предположим, что предварительное количество распределенных битов для кадра t-1, подполосы n-1, равно 7, а предварительное количество распределенных битов для подполосы n равно 5. Далее в этом документе, предположим, что предварительные количества распределенных битов составляют 5 битов и 7 битов для кадра t, и 7 битов и 5 битов для кадра t+1.
Предположим, что длина W[n-1] подполосы у подполосы n-1 равна 100, а длина W[n] подполосы равна 110, и так как обе меньше 2 в седьмой степени, то блок делают целым, равным 7 битам, для простоты. В кадре t-1, предварительное количество распределенных битов подполосы n-1 превышает упомянутый блок, и, следовательно, может быть закодирован один спектр. При этом, предварительное количество распределенных битов подполосы n не превышает упомянутый блок, и, следовательно, спектр не кодируется. В кадре t, так как предварительные количества распределенных битов равны 5 и 7, то спектр кодируется только с подполосой n, и в кадре t+1, предварительные количества распределенных битов равны 7 и 5, и, следовательно, предположим, что спектр подполосы n-1 кодируется с преобразованием.
В таком случае, когда фокус помещается на подполосе n-1, несмотря на то, что спектры последовательно существовали в пределах близлежащей полосы во входном спектре, предварительное количество распределенных битов тем или иным образом является недостаточным, и, следовательно, спектр не кодируется в кадре t, и не кодируется последовательно во времени от t-1 до t+1. При отсутствии непрерывности, как в случае с настоящим примером, ясность декодированного сигнала ухудшается, с созданием впечатления шума.
Далее, с использованием Фиг. 18 будет описано кодирование расширенной полосы с ограниченной полосой. Основная конфигурация на Фиг. 18 аналогична конфигурации на Фиг. 17. Предположим, что кадр t-1 является полностью идентичным кадру t-1 в примере, изображенном на Фиг. 17.
Сначала будет описана подполоса n в кадре t. Посредством кодирования с преобразованием подполоса n в кадре t-1 не кодируется, и, следовательно, в кадре t информация о спектре предыдущего кадра выводится как -1 в узел 144 установки целевой полосы из узла 143 хранения результата кодирования с преобразованием. Соответственно, в подполосе n в кадре t, ограничение полосы не применяется, и все спектры в пределах этой подполосы подвергаются кодированию с преобразованием. В подполосе n флаг ограничения полосы устанавливается в 0. В случае настоящего примера, так как предварительное количество распределенных битов равно 7, кодируется один спектр.
Далее будет описана подполоса n-1 в кадре t. В кадре t-1, в подполосе n-1 выполняется кодирование с преобразованием, и, следовательно, информация о спектре P[t-1,n-1] предыдущего кадра выводится из узла 143 хранения результата кодирования с преобразованием в узел 144 установки целевой полосы. Узел 144 установки целевой полосы устанавливает ограниченную полосу в диапазон от P[t-1,n-1]-(int)(WL[n-1]/2) до P[t-1,n-1]+(int)(WL[n-1]/2). Далее производится поиск спектра с максимальной амплитудой P[t, n-1] из введенных спектров подполосы. В настоящем примере, так как P[t,n-1] существует в пределах ограниченной полосы, то флаг ограничения полосы подполосы n-1 устанавливается в 1. Кроме того, узел 144 установки целевой полосы выводит начальную позицию спектра ограниченной полосы P[t-1,n-1]-(int)(WL[n-1]/2), конечную позицию спектра P[t-1,n-1]+(int)(WL[n-1]/2) и ограниченную ширину WL[n-1] полосы в качестве информации о подполосе с ограниченной полосой.
Так как в узле 141 вычисления количества блоков длина подполосы сокращена с W[n-1] до WL[n-1], то количество блоков, скорее всего, увеличится.
Узел 142 кодирования с преобразованием из спектров подполосы, выводимых из узла 102 деления на подполосы, кодирует только спектры в пределах ограниченной полосы, задаваемой информацией о подполосе с ограниченной полосой, выводимой из узла 144 установки целевой полосы. Если WL[n-1] равна 31, так как 31 меньше, чем 2 в пятой степени, то блок выражается посредством 5, для простоты. В этом примере, так как предварительное количество распределенных битов равно 5, то может быть кодирован один спектр. Далее в этом документе, в кадре t+1, кодирование также возможно с использованием процедуры, аналогичной процедуре в кадре t.
Выше описано то, что посредством выполнения кодирования с преобразованием исключительно в отношении полосы, периферийной по отношению к важному спектру, когда фокус помещается на подполосе n-1, можно выполнять кодирование непрерывно от кадра t-1 до кадра t+1 посредством кодирования с преобразованием. Соответственно, так как важные для восприятия спектры могут быть закодированы непрерывно во времени, то можно получать декодированную речь с высокой степенью ясности с меньшим количеством шума.
Фиг. 19 является структурной схемой, иллюстрирующей конфигурацию устройства 240 декодирования речи/аудио согласно Варианту 6 осуществления настоящего изобретения. Далее, с использованием Фиг. 19, будет описана конфигурация устройства 240 декодирования речи/аудио. Однако Фиг. 19 отличается от Фиг. 7 тем, что узел 201 демультиплексирования кода заменен на узел 241 демультиплексирования кода, узел 211 вычисления количества блоков заменен на узел 242 вычисления количества блоков, узел 205 кодирования/декодирования с преобразованием заменен на узел 243 кодирования/декодирования с преобразованием, узел 207 интеграции подполос заменен на узел 246 интеграции подполос, и добавлены узел 244 хранения результата кодирования с преобразованием и узел 245 декодирования целевой полосы.
Узел 241 демультиплексирования кода принимает кодированные данные и демультиплексирует принятые кодированные данные в кодированные данные энергии подполосы, данные, кодированные с преобразованием, и флаг ограничения полосы, выводит кодированные данные энергии подполосы в узел 202 декодирования энергии подполосы, выводит данные, кодированные с преобразованием, в узел 243 кодирования/декодирования с преобразованием, и выводит флаг ограничения полосы в узел 245 декодирования целевой полосы.
Узел 242 вычисления количества блоков является идентичным узлу 141 вычисления количества блоков устройства 140 кодирования речи/аудио, и, следовательно, его подробное описание опущено.
Узел 243 кодирования/декодирования с преобразованием выводит результат декодирования для каждой подполосы в узел 246 интеграции подполос как декодированный спектр подполосы на основе данных, кодированных с преобразованием, выводимых из узла 241 демультиплексирования кода, количества блоков, выводимых из узла 242 вычисления количества блоков, и информации о подполосе с ограниченной полосой, выводимой из узла 245 декодирования целевой полосы. Отметим, что, когда данные, кодированные с ограничением полосы, декодируются, амплитуда всех спектров, находящихся за пределами ограниченной полосы, устанавливается в 0, и длина подполосы, которая должна быть выведена, выводится как спектр длины W[n] подполосы до ограничения полосы.
Узел 244 хранения результата кодирования с преобразованием имеет функции, по существу идентичные функциям узла 143 хранения результата кодирования с преобразованием устройства 140 кодирования речи/аудио. Однако при приеме влияний ошибок каналов связи, например, разрушение кадра, потеря пакетов, декодированные спектры подполосы не могут быть сохранены в узле 244 хранения результата кодирования с преобразованием, и, следовательно, информация о спектре предыдущего кадра устанавливается, например, в -1.
Узел 245 декодирования целевой полосы выводит информацию о подполосе с ограниченной полосой в узел 242 вычисления количества блоков и узел 243 кодирования/декодирования с преобразованием на основе флага ограничения полосы, выводимого из узла 241 демультиплексирования кода, и информации о спектре предыдущего кадра, выводимой из узла 244 хранения результата кодирования с преобразованием. Узел 245 декодирования целевой полосы определяет то, выполнять ли ограничение полосы, в зависимости от значения флага ограничения полосы. При этом, когда флаг ограничения полосы равен 1, узел 245 декодирования целевой полосы выполняет ограничение полосы и выводит информацию о подполосе с ограниченной полосой, указывающую ограничение полосы. С другой стороны, когда флаг ограничения полосы равен 0, узел 245 декодирования целевой полосы не выполняет ограничение полосы и выводит информацию о подполосе с ограниченной полосой, указывающую, что все спектры подполосы являются целями кодирования. Однако, даже когда информация о спектре предыдущего кадра, выводимая из узла 244 хранения результата кодирования с преобразованием, равна -1, если флаг ограничения полосы равен 1, то узел 245 декодирования целевой полосы вычисляет информацию о подполосе с ограниченной полосой, указывающую ограничение полосы. Причиной этого является то, что, когда данные, кодируемые с преобразованием, не декодируют в предыдущем кадре из-за разрушения кадра и т.п., информация о спектре предыдущего кадра становится равной -1, но так как устройство 140 кодирования речи/аудио выполняет кодирование с преобразованием, сопровождаемое ограничением полосы, то необходимо декодировать данные, кодированные с преобразованием, на основе предположения об ограничении полосы.
Узел 246 интеграции подполос плотно размещает декодированные спектры подполосы, выводимые из узла 243 кодирования/декодирования с преобразованием, со стороны нижней полосы, интегрирует их в один вектор, и выводит интегрированный вектор в узел 208 преобразования частота-время как спектр декодированного сигнала.
Далее, с использованием Фиг. 18, будет описана последовательность операций вышеупомянутого устройства 240 декодирования речи/аудио.
При этом предположим, что в кадре t-1 подполоса n-1 кодируется с преобразованием, а подполоса n не кодируется посредством кодирования с преобразованием. Предположим, что в кадре t подполоса n-1 и подполоса n кодируются с преобразованием, и подполоса n-1 кодируется посредством ограничения полосы.
Сначала будет описан кадр t. Узел 245 декодирования целевой полосы может знать, исходя из флага ограничения полосы, выводимого из узла 241 демультиплексирования кода, является ли каждая подполоса подполосой, кодированной с преобразованием без ограничения полосы, или подполосой, кодированной с преобразованием после ограничения полосы. Подполоса, кодированная с преобразованием без ограничения полосы, здесь подполоса n, декодируется как все цели кодирования спектра. Узел 243 кодирования/декодирования с преобразованием может декодировать кодированные данные, выводимые из узла 241 демультиплексирования кода, с использованием длины W[n] подполосы, выводимой из узла 245 декодирования целевой полосы, и количества блоков, выводимого из узла 242 вычисления количества блоков.
С другой стороны, узел 245 декодирования целевой полосы может знать, исходя из флага ограничения полосы, что подполоса n-1 кодирована в состоянии с ограниченной полосой. По этой причине, узел 243 кодирования/декодирования с преобразованием может декодировать кодированные данные, выводимые из узла 241 демультиплексирования кода, с использованием длины WL[n-1] подполосы с ограниченной полосой подполосы n-1, выводимой из узла 245 декодирования целевой полосы, и количества блоков, выводимого из узла 242 вычисления количества блоков.
Однако, если ситуация остается идентичной, то узел 243 кодирования/декодирования с преобразованием не может идентифицировать точное местоположение декодированного спектра подполосы, и, следовательно, узел 243 кодирования/декодирования с преобразованием идентифицирует точное местоположение с использованием результата декодирования подполосы n-1 в предыдущем кадре. Предположим, что в узле 244 хранения результата кодирования с преобразованием хранится P[t-1,n-1]. Узел 245 декодирования целевой полосы устанавливает информацию о подполосе с ограниченной полосой так, чтобы ширина подполосы стала равной WL[n-1] с центром в позиции P[t-1,n-1], выводимой из узла 244 хранения результата кодирования с преобразованием. Более конкретно, предполагается, что начальной позицией спектра подполосы ограничения полосы является P[t-1,n-1]-(int)(WL[n-1]/2), и предполагается, что конечной позицией спектра является P[t-1,n-1]+(int)(WL[n-1]/2). Информация о подполосе с ограниченной полосой, вычисляемая таким способом, выводится в узел 243 кодирования/декодирования с преобразованием.
Соответственно, сегмент 243 кодирования/декодирования с преобразованием может располагать декодированные спектры подполосы в точных позициях. Для спектров, находящихся за пределами ограниченной полосы, указываемой информацией о подполосе с ограниченной полосой, амплитуда спектров устанавливается в 0.
После неудачной попытки приема кадра t-1 из-за влияний канала связи и неудачной попытки декодирования его, узел 244 хранения результата кодирования с преобразованием не может сохранить правильный результат декодирования. Поэтому в случае подполосы, закодированной посредством ограничения полосы в кадре t, декодированные спектры подполосы не могут быть размещены в правильных позициях. В этом случае, начальная позиция спектра и конечная позиция спектра информации о подполосе с ограниченной полосой могут, например, являться фиксированными и находится близко к центру подполосы. Узел 244 хранения результата кодирования с преобразованием может их оценивать с использованием прошлых результатов декодирования. Узел 243 кодирования/декодирования с преобразованием может вычислять гармоническую структуру исходя из спектра нижней полосы, оценивать гармоническую структуру в подполосе, и оценивать позицию спектра с максимальной амплитудой.
Посредством последовательности вышеописанных операций устройство 240 декодирования речи/аудио может декодировать кодированные данные, кодируемые при ограничении полосы.
Устройство 140 кодирования речи/аудио, описанное выше, может эффективно кодировать спектр с высокой непрерывностью во времени в верхней полосе, и устройство 240 декодирования речи/аудио может получать декодированный сигнал с высокой степенью ясности.
Соответственно, в Варианте 6 осуществления кодируются только полосы, периферийные по отношению к субъективно важному спектру в предыдущем кадре, и целевая полоса может кодироваться с меньшим количеством битов, и, посредством этого, может улучшаться возможность последовательного во времени кодирования важных для восприятия спектров. В результате, существует возможность получения декодированного сигнала с высокой степенью ясности.
Раскрытия в описании, реферате и на чертежах в японской патентной заявке № 2012-243707, поданной 5 ноября 2012 г., и японской патентной заявке № 2013-115917, поданной 31 мая 2013 г., полностью включено в этот документ по ссылке.
Промышленная применимость
Устройство кодирования речи/аудио, устройство декодирования речи/аудио, способ кодирования речи/аудио и способ декодирования речи/аудио согласно настоящему изобретению можно применять для устройства связи, которое выполняет речевой вызов и т.п.
Список ссылочных позиций
101 Узел преобразования время-частота
102 Узел деления на подполосы
103 Узел вычисления энергии подполосы
104, 203, 111, 141, 211, 242 Узел вычисления количества блоков
105 Узел сжатия полосы
106, 204 Узел повторного вычисления количества блоков
107, 142 Узел кодирования с преобразованием
108, 145 Узел мультиплексирования
121, 221 Узел уменьшения энергии подполосы
131 Средство разнесения
143, 244 Узел хранения результата кодирования с преобразованием
144 Узел установки целевой полосы
201, 241 Узел демультиплексирования кода
202 Узел декодирования энергии подполосы
205, 243 Узел кодирования/декодирования с преобразованием
206 Узел расширения полосы
207, 246 Узел интеграции подполос
208 Узел преобразования частота-время
231 Средство устранения разнесения
245 Узел декодирования целевой полосы.