СПОСОБ КОДИРОВАНИЯ, КОДЕР, СПОСОБ ОПРЕДЕЛЕНИЯ ВЕЛИЧИНЫ ПЕРИОДИЧЕСКОГО ПРИЗНАКА, УСТРОЙСТВО ОПРЕДЕЛЕНИЯ ВЕЛИЧИНЫ ПЕРИОДИЧЕСКОГО ПРИЗНАКА, ПРОГРАММА И НОСИТЕЛЬ ЗАПИСИ
ENCODING METHOD, ENCODER, METHOD OF DETERMINING PERIODIC FEATURE VALUE, DEVICE FOR DETERMINING PERIODIC FEATURE VALUE, PROGRAMME AND RECORDING MEDIUM

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к методу кодирования аудиосигнала и, в частности, к кодированию последовательностей отсчетов в частотной области, которые получаются посредством преобразования аудиосигнала в частотную область, и к методу определения величины периодического признака (например, основной частоты или периода основного тона), которая может использоваться в качестве индикатора для переупорядочения последовательностей отсчетов при кодировании.
УРОВЕНЬ ТЕХНИКИ
Адаптивное кодирование, которое кодирует коэффициенты ортогональных полиномов, такие как коэффициенты дискретного преобразования Фурье (DFT) и модифицированного дискретного косинусного преобразования (MDCT), известно в качестве способа кодирования речевых сигналов и аудиосигналов при низких битовых скоростях передачи (например, около 10-20 кбит/с). Например, усовершенствованный широкополосный многоскоростной адаптивный кодек (AMR-WB+), который является стандартным методом, имеет режим кодирования с преобразованием кодированного возбуждения (TCX), в котором коэффициенты DFT нормализуются и выполняется векторное квантование каждые 8 отсчетов.
При взвешивающем векторном квантовании с перемежением и преобразованием областей (TwinVQ) все коэффициенты MDCT переупорядочиваются в соответствии с фиксированным правилом, и результирующая совокупность отсчетов объединяется в векторы и кодируется. В некоторых случаях TwinVQ используется способ, в котором большие составляющие выводятся из коэффициентов MDCT, например, каждый период основного тона, информация, соответствующая периоду основного тона, кодируется, оставшиеся последовательности коэффициентов MDCT после извлечения больших составляющих в каждом периоде основного тона переупорядочиваются, и выполняется векторное квантование переупорядоченных последовательностей коэффициентов MDCT через каждое предварительно определенное количество отсчетов. Примеры ссылок на TwinVQ включают в себя непатентную литературу 1 и 2.
Примером метода для извлечения отсчетов с регулярными интервалами для кодирования является метод, описанный в патентной литературе 1.
ЛИТЕРАТУРА ИЗВЕСТНОГО УРОВНЯ ТЕХНИКИ
[Патентная литература]
Патентная литература 1: выложенная заявка на патент Японии № 2009-156971.
[Непатентная литература]
Непатентная литература 1: T. Moriya, N.Iwakami, A. Jin, K. Ikeda, and S. Miki, “A Design of Transform Coder for Both Speech and Audio Signals at 1 bit/sample,” Proc. ICASSP '97, pp.1371-1384, 1997.
th
Непатентная литература 2: J. Herre, E. Allamanche, K. Brandenburg, M. Dietz, B. Teichmann, B. Grill, A. Jin, T. Moriya, N. Iwakami, T. Norimatsu, M.Tsushima, T. Ishikawa, “The Integrated Filterbank Based Scalable MPEG-4, Audio Coder,” 105 Convention Audio Engineering Society, 4810, 1998.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[Проблема, решаемая изобретением]
Так как кодирование, основанное на TCX, такое как AMR-WB+, не учитывает изменений амплитуды коэффициентов частотной области, основанных на периодичности, уменьшается эффективность кодирования, когда изменяющиеся амплитуды кодируются вместе. Имеются изменения квантования и кодирования, основанные на TCX. В данном случае, рассматривается пример, в котором энтропийное кодирование применяется к последовательности коэффициентов MDCT, которые представляют собой дискретные значения, полученные квантованием и расположенные в возрастающем порядке частоты для достижения сжатия. В данном случае, множество отсчетов обрабатываются как один символ (блок кодирования), и назначаемый символу код адаптивно управляется в зависимости от символа, непосредственно предшествующего этому символу. Как правило, более короткие коды назначаются символам с меньшими амплитудами, и более длинные коды назначаются символам с большими амплитудами. Так как назначаемые коды адаптивно управляются в зависимости от непосредственно предшествующего символа, назначаются все более короткие коды, когда в последовательности встречаются значения с малыми амплитудами. Когда отсчет со значительно большей амплитудой неожиданно появляется после отсчета с малой амплитудой, этому отсчету назначается очень длинный код.
Обычный TwinVQ был разработан с предположением, что используется векторное квантование с кодом фиксированной длины, где коды с одинаковой длиной назначаются каждому вектору, составленному из данных отсчетов, и предполагалось, что он не будет использоваться для кодирования коэффициентов MDCT посредством кодирования с переменной длиной.
В свете вышеописанного технического объяснения задачей настоящего изобретения является обеспечение метода кодирования, который повышает качество дискретных сигналов, особенно цифровых сигналов речи/аудио, кодированных посредством низкоскоростного кодирования с малым объемом вычислений, и обеспечение метода определения величины периодического признака, которая может использоваться в качестве индикатора для переупорядочения последовательностей отсчетов при кодировании.
[Средства для решения проблем]
2
2
Согласно методу кодирования настоящего изобретения способ кодирования для кодирования последовательности отсчетов в частотной области, которые выводятся из аудиосигналов в кадрах, включает в себя этап определения интервала для определения интервала T между отсчетами, которые соответствуют периодичности аудиосигнала или целому кратному основной частоты аудиосигнала из набора S возможных вариантов для интервала T, этап генерирования дополнительной информации для кодирования интервала T, определенного на этапе определения интервала, для получения дополнительной информации, и этап кодирования последовательности отсчетов для кодирования переупорядоченной последовательности отсчетов для получения кодовой последовательности, причем переупорядоченная последовательность отсчетов (1) включает в себя все отсчеты в последовательности отсчетов и (2) представляет собой последовательность отсчетов, в которой по меньшей мере некоторые из последовательностей отсчетов переупорядочиваются так, что все или некоторые из одного или множества последовательных отсчетов, включающих в себя отсчет, соответствующий периодичности или основной частоте аудиосигнала в последовательности отсчетов, и один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий целому кратному периодичности или основной частоте аудиосигнала в последовательности отсчетов, собираются вместе в кластер на основе интервала T, определяемого этапом определения интервала. На этапе определения интервала интервал T определяется из набора S, составленного из Y возможных вариантов (где Y<Z), из числа Z возможных вариантов для интервала T, представляемого с дополнительной информацией, причем Y возможных вариантов включают в себя Z возможных вариантов (где Z<Z), выбранных без зависимости от возможного варианта, подвергаемого этапу определения интервала в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром, и включают в себя возможный вариант, подвергаемый этапу определения интервала в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром.
Этап определения интервала может дополнительно включать в себя этап добавления для добавления к набору S значения, соседнего возможному варианту, подвергаемому этапу определения интервала, в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром, и/или значения, имеющего предварительно определенное отличие от возможного варианта.
1
2
2
1
Этап определения интервала может дополнительно включать в себя этап предварительного выбора для выбора некоторых из Z возможных вариантов из числа Z возможных вариантов для интервала T, представляемого с дополнительной информацией, в качестве Z возможных вариантов на основе индикатора, получаемого из аудиосигнала и/или последовательности отсчетов в текущем кадре, где Z<Z.
1
2
Этап определения интервала может дополнительно включать в себя этап предварительного выбора для выбора некоторых из Z возможных вариантов из числа Z возможных вариантов для интервала T, представляемого с дополнительной информацией, на основе индикатора, получаемого из аудиосигнала и/или последовательности отсчетов в текущем кадре, и второй этап добавления для выбора, в качестве Z возможных вариантов, набора из возможного варианта, выбранного на этапе предварительного выбора, и значения, соседнего для возможного варианта, выбранного на этапе предварительного выбора, и/или значения, имеющего предварительно определенное отличие от возможного варианта, выбранного на этапе предварительного выбора.
Этап определения интервала может включать в себя второй этап предварительного выбора для выбора некоторых из возможных вариантов для интервала T, которые включены в набор S, на основе индикатора, получаемого из аудиосигнала и/или последовательности отсчетов в текущем кадре, и этап окончательного выбора для определения интервала T из набора, составленного из некоторых из возможных вариантов, выбранных на втором этапе предварительного выбора.
Также возможна конфигурация, где чем больше индикатор, указывающий степень стационарности аудиосигнала в текущем кадре, тем больше доля возможных вариантов, подвергаемых этапу определения интервала в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром, в наборе S.
2
Также возможна конфигурация, где, когда индикатор, указывающий степень стационарности аудиосигнала в текущем кадре, меньше предварительно определенного порога, только Z возможных вариантов включается в набор S.
Индикатор, указывающий степень стационарности аудиосигнала в текущем кадре, увеличивается, когда выполняется по меньшей мере одно из нижеследующих условий:
(a-1) увеличивается «коэффициент усиления предсказания аудиосигнала в текущем кадре»,
(a-2) увеличивается «оцененный коэффициент усиления предсказания аудиосигнала в текущем кадре»,
(b-1) уменьшается разность между «коэффициентом усиления предсказания аудиосигнала в кадре, непосредственно предшествующем текущему кадру», и «коэффициентом усиления предсказания аудиосигнала в текущем кадре»,
(b-2) уменьшается разность между «оцененным коэффициентом усиления предсказания в непосредственно предшествующем кадре» и «оцененным коэффициентом усиления предсказания в текущем кадре»,
(c-1) увеличивается «сумма амплитуд отсчетов аудиосигнала, включенных в текущий кадр»,
(c-2) увеличивается «сумма амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в текущий кадр, в частотную область»,
(d-1) уменьшается разность между «суммой амплитуд отсчетов аудиосигнала, включенных в непосредственно предшествующий кадр» и «суммой амплитуд отсчетов аудиосигнала, включенных в текущий кадр»,
(d-2) уменьшается разность между «суммой амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в непосредственно предшествующий кадр, в частотную область», и «суммой амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в текущий кадр, в частотную область»,
(e-1) увеличивается «мощность аудиосигнала в текущем кадре»,
(e-2) увеличивается «мощность последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в текущем кадре, в частотную область»,
(f-1) уменьшается разность между «мощностью аудиосигнала в непосредственно предшествующем кадре» и «мощностью аудиосигнала в текущем кадре», и
(f-2) уменьшается разность между «мощностью последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в непосредственно предшествующем кадре, в частотную область», и «мощностью последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в текущем кадре, в частотную область».
Этап кодирования последовательности отсчетов может включать в себя этап вывода кодовой последовательности, полученной посредством кодирования последовательности отсчетов перед выполнением переупорядочения, или кодовой последовательности, полученной посредством кодирования переупорядоченной последовательности отсчетов и дополнительной информации, которая имеет меньшую величину кода.
Этап кодирования последовательности отсчетов может выводить кодовую последовательность, полученную посредством кодирования переупорядоченной последовательности отсчетов и дополнительной информации, когда сумма величины кода или оцененного значения величины кода кодовой последовательности, полученной посредством кодирования переупорядоченной последовательности отсчетов, и величины кода дополнительной информации меньше величины кода или оцененного значения величины кода кодовой последовательности, полученной посредством кодирования последовательности отсчетов перед выполнением переупорядочения, и может выводить кодовую последовательность, полученную посредством кодирования последовательности отсчетов перед выполнением переупорядочения, когда величина кода или оцененное значение величины кода кодовой последовательности, полученной посредством кодирования последовательности отсчетов перед выполнением переупорядочения, меньше суммы величины кода или оцененного значения величины кода кодовой последовательности, полученной посредством кодирования переупорядоченной последовательности отсчетов, и величины кода дополнительной информации.
Доля возможных вариантов, подвергаемых этапу определения интервала в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром, в наборе S может быть больше, когда кодовая последовательность, выводимая в непосредственно предшествующем кадре, представляет собой кодовую последовательность, полученную посредством кодирования переупорядоченной последовательности отсчетов, чем, когда кодовая последовательность, выводимая в непосредственно предшествующем кадре, представляет собой кодовую последовательность, полученную посредством кодирования последовательности отсчетов перед выполнением переупорядочения.
2
Также возможна конфигурация, где, когда кодовая последовательность, выводимая в непосредственно предшествующем кадре, представляет собой кодовую последовательность, полученную посредством кодирования переупорядочиваемой последовательности отсчетов, набор S включает в себя только Z возможных вариантов.
2
Также возможна конфигурация, где, когда текущим кадром является временно первый кадр, или когда непосредственно предшествующий кадр кодируется посредством способа кодирования, отличного от способа кодирования настоящего изобретения, или когда кодовая последовательность, выводимая в непосредственно предшествующем кадре, представляет собой кодовую последовательность, полученную посредством кодирования переупорядочиваемой последовательности отсчетов, набор S включает в себя только Z возможных вариантов.
2
2
Способ определения величины периодического признака аудиосигнала в кадрах согласно настоящему изобретению включает в себя этап определения величины периодического признака для определения величины периодического признака аудиосигнала из набора возможных вариантов для величины периодического признака на покадровой основе, и этап генерирования дополнительной информации для кодирования величины периодического признака, полученной на этапе определения величины периодического признака, с целью получения дополнительной информации. На этапе определения величины периодического признака определяется величина периодического признака из набора S, составленного из Y возможных вариантов (где Y<Z) из числа Z возможных вариантов для величины периодического признака, представляемой с дополнительной информацией, причем Y возможных вариантов включают в себя Z возможных вариантов (где Z<Z), выбранных без зависимости от возможного варианта, подвергаемого этапу определения величины периодического признака в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром, и включают в себя возможный вариант, подвергаемый этапу определения величины периодического признака в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром.
Этап определения величины периодического признака может дополнительно включать в себя этап добавления для добавления к набору S значения, соседнего возможному варианту, подвергаемому этапу определения величины периодического признака в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром, и/или значения, имеющего предварительно определенное отличие от возможного варианта.
Также возможна конфигурация, где, чем больше индикатор, указывающий степень стационарности аудиосигнала в текущем кадре, тем больше доля возможных вариантов, подвергаемых этапу определения величины периодического признака в кадре, предшествующем предварительно определенному количеству кадров перед текущим кадром, в наборе S.
2
Также возможна конфигурация, где, когда индикатор, указывающий степень стационарности аудиосигнала в текущем кадре, меньше предварительно определенного порога, только Z возможных вариантов включены в набор S.
Индикатор, указывающий степень стационарности аудиосигнала в текущем кадре, увеличивается, когда выполняется по меньшей мере одно из условий:
(a-1) увеличивается «коэффициент усиления предсказания аудиосигнала в текущем кадре»,
(a-2) увеличивается «оцененный коэффициент усиления предсказания аудиосигнала в текущем кадре»,
(b-1) уменьшается разность между «коэффициентом усиления предсказания аудиосигнала в кадре, непосредственно предшествующем текущему кадру», и «коэффициентом усиления предсказания аудиосигнала в текущем кадре»,
(b-2) уменьшается разность между «оцененным коэффициентом усиления предсказания в непосредственно предшествующем кадре» и «оцененным коэффициентом усиления предсказания в текущем кадре»,
(c-1) увеличивается «сумма амплитуд отсчетов аудиосигнала, включенных в текущий кадр»,
(c-2) увеличивается «сумма амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в текущий кадр, в частотную область»,
(d-1) уменьшается разность между «суммой амплитуд отсчетов аудиосигнала, включенных в непосредственно предшествующий кадр» и «суммой амплитуд отсчетов аудиосигнала, включенных в текущий кадр»,
(d-2) уменьшается разность между «суммой амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в непосредственно предшествующий кадр, в частотную область», и «суммой амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в текущий кадр, в частотную область»,
(e-1) увеличивается «мощность аудиосигнала в текущем кадре»,
(e-2) увеличивается «мощность последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в текущем кадре, в частотную область»,
(f-1) уменьшается разность между «мощностью аудиосигнала в непосредственно предшествующем кадре» и «мощностью аудиосигнала в текущем кадре», и
(f-2) уменьшается разность между «мощностью последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в непосредственно предшествующем кадре, в частотную область», и «мощностью последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в текущем кадре, в частотную область».
ТЕХНИЧЕСКИЙ РЕЗУЛЬТАТ ИЗОБРЕТЕНИЯ
Согласно настоящему изобретению по меньшей мере некоторые из отсчетов, включенных в последовательность отсчетов в частотной области, которые выводятся из аудиосигнала, например, переупорядочиваются так, что объединяются в кластер один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий периодичности или основной частоте аудиосигнала, и один или множество последовательных отсчетов, включающих в себя отсчеты, соответствующие целым кратным периодичности или основной частоте аудиосигнала. Эта обработка может выполняться с малым объемом вычислений переупорядочения отсчетов, имеющих равные или почти равные индикаторы, которые отражают величины отсчетов, собираются вместе в кластер, и, таким образом, улучшается эффективность кодирования, и уменьшаются искажения квантования. Кроме того, может эффективно определяться величина периодического признака текущего кадра или интервал, так как возможный вариант для величины периодического признака или интервала, который рассматривался в предшествующем кадре, принимается во внимание на основе сущности аудиосигнала в периоде, где аудиосигнал находится в стационарном состоянии.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 представляет собой схему, иллюстрирующую примерную функциональную конфигурацию варианта осуществления кодера;
фиг. 2 представляет собой схему, иллюстрирующую процедуру процесса варианта осуществления способа кодирования;
фиг. 3 представляет собой примерную схему, иллюстрирующую пример переупорядочения отсчетов, включенных в последовательность отсчетов;
фиг. 4 представляет собой примерную схему, иллюстрирующую пример переупорядочения отсчетов, включенных в последовательность отсчетов;
фиг. 5 представляет собой схему, иллюстрирующую примерную функциональную конфигурацию варианта осуществления декодера;
фиг. 6 представляет собой схему, иллюстрирующую процедуру процесса варианта осуществления способа декодирования;
фиг. 7 представляет собой схему, иллюстрирующую пример функции процесса для определения интервала T;
фиг. 8 представляет собой схему, иллюстрирующую пример процедуры процесса для определения интервала T;
фиг. 9 представляет собой схему, иллюстрирующую модификацию процедуры процесса для определения интервала T; и
фиг. 10 представляет собой схему, иллюстрирующую модификацию варианта осуществления кодера.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Варианты осуществления настоящего изобретения описываются со ссылкой на чертежи. Одинаковым элементам присвоены одинаковые ссылочные позиции, и опускается повторное описание этих элементов.
Одним из признаков настоящего изобретения является улучшение кодирования с целью снижения искажений квантования посредством переупорядочения отсчетов, основываясь на признаке отсчетов частотной области и снижения величины кода посредством использования кодирования с переменной длиной в инфраструктуре квантования последовательностей отсчетов частотной области, выводимых из аудиосигнала в данном периоде времени. Данный период времени ниже в данном документе упоминается как кадр. Кодирование может улучшаться посредством переупорядочения отсчетов в кадре, в котором основная периодичность, например, является относительно очевидной в соответствии с периодичностью для сбора отсчетов, имеющих большие амплитуды, вместе в кластер. Примеры отсчетов в частотной области, которые выводятся из аудиосигнала, включают в себя последовательности коэффициентов DFT и последовательности коэффициентов MDCT, полученные посредством преобразования цифрового сигнала речи/аудио в кадрах во временной области в частотную область, и последовательности коэффициентов, полученные посредством применения нормализации, взвешивания и квантования к этим последовательностям коэффициентов. Варианты осуществления настоящего изобретения описываются ниже с последовательностями коэффициентов MDCT в качестве примера.
[Варианты осуществления]
Процесс кодирования
Процесс кодирования описывается сначала со ссылкой на фиг. 1-4. Процесс кодирования настоящего изобретения выполняется кодером 100 на фиг. 1, который включает в себя блок 1 преобразования частотной области, блок 2 нормализации взвешенной огибающей, блок 3 вычисления нормализованного коэффициента усиления, блок 4 квантования, блок 5 переупорядочения и блок 6 кодирования, или кодером 100a на фиг. 10, который включает в себя блок 1 преобразования частотной области, блок 2 нормализации взвешенной огибающей, блок 3 вычисления нормализованного коэффициента усиления, блок 4 квантования, блок 5 переупорядочения, блок 6 кодирования, блок 7 определения интервала и блок 8 генерирования дополнительной информации. Однако кодер 100 или 100a необязательно должен включать в себя блок 1 преобразования частотной области, блок 2 нормализации взвешенной огибающей, блок 3 вычисления нормализованного коэффициента усиления и блок 4 квантования. Например, кодер 100 может состоять из блока 5 переупорядочения и блока 6 кодирования; кодер 100a может состоять из блока 5 переупорядочения, блока 6 кодирования, блока 7 определения интервала и блока 8 генерирования дополнительной информации. Хотя в кодере 100a, изображенным на фиг.10, блок 7 определения интервала включает в себя блок 5 переупорядочения, блок 6 кодирования и блок 8 генерирования дополнительной информации, кодер не ограничивается этой конфигурацией.
Блок 1 преобразования частотной области
Сначала блок 1 преобразования частотной области преобразует цифровой сигнал речи/аудио в последовательность коэффициентов MDCT в N точках в частотной области на покадровой основе (этап S1).
Как правило, кодирующая сторона квантует последовательности коэффициентов MDCT, кодирует квантованные последовательности коэффициентов MDCT и передает результирующие кодовые последовательности на декодирующую сторону; декодирующая сторона может восстанавливать квантованные последовательности коэффициентов MDCT из кодовых последовательностей и может дополнительно восстанавливать цифровой сигнал речи/аудио временной области посредством обратного преобразования MDCT. Амплитуда коэффициентов MDCT имеет приблизительно такую же огибающую амплитуды (огибающую спектра мощности) что и спектр мощности обычного DFT. Следовательно, информационное назначение, которое является пропорциональным значению логарифма огибающей амплитуды, может равномерно рассредоточивать искажение квантования (ошибку квантования) коэффициентов MDCT по всем полосам частот, уменьшать общее искажение квантования и сжимать информацию. Следует отметить, что огибающая спектра мощности может эффективно оцениваться посредством использования коэффициента линейного предсказания, полученного посредством анализа на основе линейного предсказания. Способы управления ошибкой квантования включают в себя способ адаптивного назначения битов квантования коэффициентов MDCT (сглаживание амплитуды и затем корректировка размер шага квантования) и способ адаптивного назначения весового коэффициента посредством взвешенного векторного квантования для определения кодов. Необходимо отметить, что, хотя в данном документе описывается один пример способа квантования, выполняемого в варианте осуществления настоящего изобретения, настоящее изобретение не ограничивается описанным способом квантования.
Блок 2 нормализации взвешенной огибающей
Блок 2 нормализации взвешенной огибающей нормализует коэффициенты входной последовательности коэффициентов MDCT посредством использования последовательности коэффициентов огибающей спектра мощности цифрового сигнала речи/аудио, оцениваемого с использованием коэффициента линейного предсказания, полученного анализом на основе линейного предсказания цифрового сигнала речи/аудио в кадре, и выводит взвешенную нормализованную последовательность коэффициентов MDCT (этап S2). В данном случае, чтобы достичь квантования, которое зрительно минимизирует искажения, блок 2 нормализации взвешенной огибающей использует взвешенную последовательность коэффициентов огибающей спектра мощности, полученную посредством ослабления огибающей спектра мощности для нормализации коэффициентов в последовательностях коэффициентов MDCT на покадровой основе. В результате, взвешенная нормализованная последовательность коэффициентов MDCT не имеет завала амплитуды или больших изменений амплитуды по сравнению с входной последовательностью коэффициентов MDCT, но имеет изменения по величине, подобные изменениям последовательности коэффициентов огибающей спектра мощности цифрового сигнала речи/аудио, т.е. взвешенная нормализованная последовательность коэффициентов MDCT имеет в некоторой степени большие амплитуды в области коэффициентов, соответствующих низким частотам, и имеет плавную структуру вследствие периода основного тона.
[Пример процесса нормализации взвешенной огибающей]
1
p
2
Коэффициенты W(1), …, W(N) последовательности коэффициентов огибающей спектра мощности, которые соответствуют коэффициентам X(1), …, X(N) последовательности коэффициентов MDCT в N точках, могут быть получены посредством преобразования коэффициентов линейного преобразования в частотную область. Например, в соответствии с авторегрессионным процессом p-порядка, который представляет собой модель с одними полюсами, временной сигнал x(t) в момент t времени может быть выражен уравнением (1) с предшествующими значениями x(t-1), …, x(t-p) самого временного сигнала в предшествующие p моментов времени, остатками e(t) предсказания и коэффициентами α, …, α линейного предсказания. Тогда коэффициенты W(n)[1≤n≤N] последовательности коэффициентов огибающей спектра мощности могут быть выражены уравнением (2), где exp(·) представляет собой экспоненциальную функцию с основанием константы Напьера, j представляет собой мнимую единицу, и σ представляет собой энергию остатка предсказания
<mtable columnalign="left"><mtr><mtd><mi>x</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>+</mo><msub><mi>α</mi><mn>1</mn></msub><mi>x</mi><mo stretchy="false">(</mo><mi>t</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>+</mo><mo>⋯</mo><mo>+</mo><msub><mi>α</mi><mi>p</mi></msub><mi>x</mi><mo stretchy="false">(</mo><mi>t</mi><mo>−</mo><mi>p</mi><mo stretchy="false">)</mo><mo>=</mo><mi>e</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mtext> </mtext><mn>1</mn><mo stretchy="false">)</mo></mtd></mtr><mtr><mtd><mi>W</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><msup><mi>σ</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><mfrac><mn>1</mn><mrow><msup><mrow><mrow><mo>|</mo><mrow><mn>1</mn><mo>+</mo><msub><mi>α</mi><mn>1</mn></msub><mi>exp</mi><mo stretchy="false">(</mo><mo>−</mo><mi>j</mi><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><msub><mi>α</mi><mn>2</mn></msub><mi>exp</mi><mo stretchy="false">(</mo><mo>−</mo><mn>2</mn><mi>j</mi><mi>n</mi><mo stretchy="false">)</mo><mo>+</mo><mo>⋯</mo><mo>+</mo><msub><mi>α</mi><mi>p</mi></msub><mi>exp</mi><mo stretchy="false">(</mo><mo>−</mo><mi>p</mi><mi>j</mi><mi>n</mi><mo stretchy="false">)</mo></mrow><mo>|</mo></mrow></mrow><mn>2</mn></msup></mrow></mfrac><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mtd></mtr></mtable>
Коэффициенты линейного предсказания могут быть получены при помощи анализа на основе линейного предсказания блоком 2 нормализации взвешенной огибающей цифрового сигнала речи/аудио в блоке 1 преобразования частотной области или могут быть получены при помощи анализа на основе линейного предсказания цифрового сигнала речи/аудио другими неописанными средствами в кодере 100 или 100a. В этом случае, блок 2 нормализации взвешенной огибающей получает коэффициенты W(1), …, W(N) в последовательности коэффициентов огибающей спектра мощности посредством использования коэффициента линейного предсказания. Если коэффициенты W(1), …, W(N) в последовательности коэффициентов огибающей спектра мощности уже были получены другими средствами (блоком 9 вычисления последовательности коэффициентов огибающей спектра мощности) в кодере 100 или 100a, блок 2 нормализации взвешенной огибающей может использовать коэффициенты W(1), …, W(N) в последовательности коэффициентов огибающей спектра мощности. Следует отметить, что, так как декодеру 200, который описан ниже, необходимо получать эти же значения, полученные в кодере 100 или 100a, используются квантованные коэффициенты линейного предсказания и/или последовательности коэффициентов огибающей спектра мощности. Ниже в данном документе термин «коэффициент линейного предсказания» или «последовательность коэффициентов огибающей спектра мощности» означает квантованный коэффициент линейного предсказания или квантованную последовательность коэффициентов огибающей спектра мощности, если не указано иначе. Коэффициенты линейного предсказания кодируются с использованием обычного метода кодирования, и коды коэффициентов предсказания затем передаются на декодирующую сторону. Обычным методом кодирования может быть метод кодирования, который обеспечивает коды, соответствующие самим коэффициентам линейного предсказания в качестве кодов коэффициентов предсказания, метод кодирования, который преобразует коэффициенты линейного предсказания в параметры LSP и обеспечивает коды, соответствующие параметрам LSP в качестве кодов коэффициентов предсказания, или метод кодирования, который преобразует коэффициенты линейного предсказания в коэффициенты PARCOR и обеспечивает коды, соответствующие коэффициентам PARCOR, например, в качестве кодов коэффициентов предсказания. Если последовательности коэффициентов огибающей спектра мощности получаются другими средствами, обеспечиваемыми в кодере 100 или 100a, другие средства в кодере 100 или 100a кодируют коэффициенты линейного предсказания посредством обычного метода кодирования и передают коды коэффициентов предсказания на декодирующую сторону.
Хотя ниже в данном документе приведены два примера процесса нормализации взвешенной огибающей, настоящее изобретение не ограничивается этими примерами.
<Пример 1>
γ
γ
γ
γ
γ
Блок 2 нормализации взвешенной огибающей делит коэффициенты X(1), …, X(N) в последовательности коэффициентов MDCT на значения W(1), …, W(N) модификации коэффициентов в последовательности коэффициентов огибающей спектра мощности, которые соответствуют коэффициентам для получения коэффициентов X(1)/W(1), …, X(N)/W(N) во взвешенной нормализованной последовательности коэффициентов MDCT. Значения W(n)[1≤n≤N] модификации определяются по уравнению (3), где γ представляет собой положительную константу, которая меньше или равна 1, и ослабляет коэффициенты спектра мощности.
<Пример 2>
β
β
β
β
Блок 2 нормализации взвешенной огибающей делит коэффициенты X(1), …, X(N) в последовательности коэффициентов MDCT на возведенные в степень значения W(1), …, W(N), которые получаются возведением коэффициентов в последовательности коэффициентов огибающей спектра мощности, которые соответствуют коэффициентам X(1), …, X(N), в β-степень (0<β<1) для получения коэффициентов X(1)/W(1), …, X(N)/W(N) во взвешенной нормализованной последовательности коэффициентов MDCT.
В результате получается взвешенная нормализованная последовательность коэффициентов MDCT в кадре. Взвешенная нормализованная последовательность коэффициентов MDCT не имеет завала амплитуды или большие изменения амплитуды по сравнению с входной последовательностью коэффициентов MDCT, но имеет изменения по величине, подобные изменениям огибающей спектра мощности входной последовательности коэффициентов MDCT, т.е. взвешенная нормализованная последовательность коэффициентов MDCT имеет в некоторой степени большие амплитуды в области коэффициентов, соответствующих низким частотам, и имеет плавную структуру вследствие периода основного тона.
Следует отметить, что поскольку процесс, обратный процессу нормализации взвешенной огибающей, т.е. процессу для восстановления последовательности коэффициентов MDCT из взвешенной нормализованной последовательности коэффициентов MDCT, выполняется на декодирующей стороне, то установки для способа вычисления взвешенных последовательностей коэффициентов огибающей спектра мощности из последовательностей коэффициентов огибающей спектра мощности должны быть общими между кодирующей и декодирующей сторонами.
Блок 3 вычисления нормализованного коэффициента усиления
Затем блок 3 вычисления нормализованного коэффициента усиления определяет размер шага квантования посредством использования суммы значений амплитуды или значения энергии по всем частотам, так что коэффициенты во взвешенной нормализованной последовательности коэффициентов MDCT в каждом кадре могут квантоваться данным общим количеством битов, и получает коэффициент (ниже в данном документе упоминаемый как коэффициент усиления), посредством которого делятся коэффициенты во взвешенной нормализованной последовательности коэффициентов MDCT, так что обеспечивается определенный размер шага квантования (этап S3). Информация, представляющая коэффициент усиления, передается на декодирующую сторону в виде информации о коэффициенте усиления. Блок 3 вычисления нормализованного коэффициента усиления нормализует (делит) коэффициенты во взвешенной нормализованной последовательности коэффициентов MDCT в каждом кадре на коэффициент усиления.
Блок 4 квантования
Затем блок 4 квантования использует размер шага квантования, определенный в процессе на этапе S3, для квантования коэффициентов во взвешенной нормализованной последовательности коэффициентов MDCT, нормализованных по коэффициенту усиления на покадровой основе (этап S4).
Блок 5 переупорядочения
Квантованная последовательность коэффициентов MDCT в каждом кадре, полученная посредством процесса на этапе S4, вводится в блок 5 переупорядочения, который является предметной частью настоящего варианта осуществления. Ввод в блок 5 переупорядочения не ограничивается последовательностями коэффициентов, полученными посредством процессов на этапах S1-S4. Например, вводом может быть последовательность коэффициентов, которая не нормализуется блоком 2 нормализации взвешенной огибающей, или последовательность коэффициентов, которая не квантуется блоком 4 квантования. Чтобы обеспечить ясное понимание этого, ввод в блок 5 переупорядочения ниже в данном документе упоминается как «последовательность отсчетов частотной области» или просто упоминается как «последовательность отсчетов». В данном варианте осуществления квантованная последовательность коэффициентов MDCT, полученная в процессе на этапе S4, эквивалентна «последовательности отсчетов частотной области», и, в данном случае, отсчеты, составляющие последовательность отсчетов частотной области, эквивалентны коэффициентам в квантованной последовательности коэффициентов MDCT.
Блок 5 переупорядочения переупорядочивает на покадровой основе по меньшей мере некоторые из отсчетов, включенных в последовательность отсчетов частотной области, так что (1) включаются все отсчеты в последовательности отсчетов частотной области, и (2) отсчеты, которые имеют равные или почти равные индикаторы, которые отражают величины отсчетов, собираются вместе в кластер, и выводит переупорядоченную последовательность отсчетов (этап S5). В данном случае, примеры «индикаторов, которые отражают величину отсчетов» включают в себя, но не ограничиваются ими, абсолютные значения амплитуд отсчетов или мощность (квадратичные значения) отсчетов.
[Подробности процесса переупорядочения]
Ниже описывается пример процесса переупорядочения. Например, блок 5 переупорядочения переупорядочивает по меньшей мере некоторые из отсчетов, включенных в последовательность отсчетов, так что (1) включаются все отсчеты в последовательности отсчетов, и (2) все или некоторые из одного или множества последовательных отсчетов в последовательности отсчетов, включающих в себя отсчет, который соответствует периодичности или основной частоте аудиосигнала, и одного или множества последовательных отсчетов в последовательности отсчетов, включающих в себя отсчет, который соответствует целому кратному периодичности или основной частоте аудиосигнала, собираются вместе в кластер, и выводит переупорядоченную последовательность отсчетов. Т.е. переупорядочиваются по меньшей мере некоторые из отсчетов, включенных во входную последовательность отсчетов, так что один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий периодичности или основной частоте аудиосигнала, и один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий целому кратному периодичности или основной частоте аудиосигнала, собираются вместе в кластер.
Это основывается на той отличительной особенности аудиосигналов, особенно речи и музыки, что абсолютные значения амплитуд отсчетов и мощность отсчетов, которые соответствуют основной частоте и гармоникам (частоте, которая представляет собой целое кратное основной частоты), и отсчеты около этих отсчетов больше абсолютных значений амплитуд отсчетов и мощности отсчетов, которые соответствуют полосам частот, кроме основной частоты и гармоник. Аудиосигналы также имеют особенность, что, так как величина периодического признака (например, период основного тона) аудиосигнала, которая извлекается из аудиосигнала, такого как речь и музыка, эквивалентна основной частоте, абсолютные значения и амплитуды отсчетов и мощность отсчетов, которые соответствуют величине периодического признака (например, периоду основного тона) аудиосигнала и целым кратным и абсолютные значения амплитуд отсчетов и мощность отсчетов около этих отсчетов больше абсолютных значений амплитуд отсчетов и мощности отсчетов, которые соответствуют полосам частот кроме величины периодического признака и целых кратных величины периодического признака.
Один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий периодичности или основной частоте аудиосигнала, и один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий целому кратному периодичности или основной частоте аудиосигнала, собираются вместе в один кластер на низкочастотной стороне. Интервал между отсчетом, соответствующим периодичности или основной частоте аудиосигнала, и отсчетом, соответствующим целому кратному периодичности или основной частоте аудиосигнала, (ниже в данном документе упоминаемым просто как интервал) ниже в данном документе обозначается как T.
В конкретном примере, блок 5 переупорядочения выбирает три отсчета, а именно отсчет F(nT), соответствующий целому кратному интервала T, отсчет, предшествующий отсчету F(nT), и отсчет, последующий отсчету F(nT), F(nT-1), F(nT) и F(nT+1), из входной последовательности отсчетов. F(j) представляет собой отсчет, соответствующий идентификационному номеру j, представляющему индекс отсчета, соответствующий частоте. В данном случае, n является целым числом в диапазоне от 1 до значения такого, что nT+1 не превышает предварительно определенный верхний предел N отсчетов, подлежащих переупорядочению. n=1 соответствует основной частоте, и n>1 соответствует гармонике. Максимальное значение идентификационного номера j, представляющего индекс отсчета, соответствующий частоте, обозначается как jmax. Набор отсчетов, выбранных в соответствии с n, упоминается как группа отсчетов. Верхний предел N может быть равен jmax. Однако N может быть меньше jmax, чтобы собирать отсчеты, имеющие большие индикаторы, вместе в кластер на низкочастотной стороне для повышения эффективности кодирования, как описано ниже, так как индикаторы отсчетов в полосе высоких частот аудиосигнала, такого как речь и музыка, являются обычно достаточно малыми. Например, N может составлять около половины значения jmax. Пусть nmax обозначает максимальное значение n, которое определяется на основе верхнего предела N, тогда отсчеты, соответствующие частотам в диапазоне от самой низкой частоты до первой предварительно определенной частоты nmax*T+1, из числа отсчетов во входной последовательности отсчетов представляют собой отсчеты, подлежащие переупорядочению. В данном случае, символ * представляет умножение.
Блок 5 переупорядочения размещает выбранные отсчеты F(j) по порядку от начала последовательности отсчетов, в то же время сохраняя первоначальный порядок идентификационных номеров j для генерирования последовательности A отсчетов. Например, если n представляет целое число в диапазоне от 1 до 5, блок 5 переупорядочения размещает первую группу отсчетов F(T-1), F(T) и F(T+1), вторую группу отсчетов F(2T-1), F(2T) и F(2T+1), третью группу отсчетов F(3T-1), F(3T) и F(3T+1), четвертую группу отсчетов F(4T-1), F(4T) и F(4T+1) и пятую группу отсчетов F(5T-1), F(5T) и F(5T+1) по порядку с начала последовательности отсчетов. Т.е. 15 отсчетов F(T-1), F(T), F(T+1), F(2T-1), F(2T), F(2T+1), F(3T-1), F(3T), F(3T+1), F(4T-1), F(4T), F(4T+1), F(5T-1), F(5T) и F(5T+1) размещаются в данном порядке с начала последовательности отсчетов, и 15 отсчетов составляют последовательность A отсчетов.
Блок 5 переупорядочения дополнительно размещает отсчеты F(j), которые не были выбраны, по порядку от конца последовательности A отсчетов, в то же время сохраняя первоначальный порядок идентификационных номеров j. Отсчеты F(j), которые не были выбраны, располагаются между группами отсчетов, которые составляют последовательность A отсчетов. Кластер таких последовательных отсчетов упоминается как набор отсчетов. Т.е. в вышеописанном примере первый набор отсчетов F(1), …, F(T-2), второй набор отсчетов F(T+2), …, F(2T-2), третий набор отсчетов F(2T+2), …, F(3T-2), четвертый набор отсчетов F(3T+2), …, F(4T-2), пятый набор отсчетов F(4T+2), …, F(5T-2) и шестой набор отсчетов F(5T+2), …, F(jmax) размещаются по порядку от конца последовательности A отсчетов, и эти отсчеты составляют последовательность B отсчетов.
Вкратце, входная последовательность отсчетов F(j)(1≤j≤jmax) в данном примере переупорядочивается как F(T-1), F(T), F(T+1), F(2T-1), F(2T), F(2T+1), F(3T-1), F(3T), F(3T+1), F(4T-1), F(4T), F(4T+1), F(5T-1), F(5T), F(5T+1), F(1), …, F(T-2), F(T+2), …, F(2T-2), F(2T+2), …, F(3T-2), F(3T+2), …, F(4T-2), F(4T+2), …, F(5T-2), F(5T+2), …, F(jmax) (см. фиг. 3).
Следует отметить, что в полосе низких частот отсчеты, кроме отсчетов, соответствующих периодичности или основной частоте аудиосигнала, и отсчетов, соответствующих их целым кратным, часто имеют большие амплитуды и значения мощности. Поэтому, отсчеты в диапазоне от самой низкой частоты до предварительно определенной частоты f могут быть исключены из переупорядочения. Например, если предварительно определенная частота f равна nT+α, исходные отсчеты F(1), …, F(nT+α) не переупорядочиваются, но переупорядочиваются исходные отсчеты F(nT+α+1) и последующие отсчеты, где α предварительно устанавливается на целое число, которое больше или равно 0, и несколько меньше T (например, целое число меньше T/2). В данном случае, n может быть целое число, большее или равное 2. Альтернативно, исходные P последовательных отсчетов F(1), …, F(P) от отсчета, соответствующего самой низкой частоте, могут быть исключены из переупорядочения, и могут переупорядочиваться исходный отсчет F(P+1) и последующие отсчеты. В данном случае, предварительно определенной частотой f является P. Совокупность отсчетов, подлежащих переупорядочению, переупорядочивается в соответствии с вышеописанным правилом. Следует отметить, что, если первая предварительно определенная частота была установлена, предварительно определенная частота f (вторая предварительно определенная частота) является меньше первой предварительно определенной частоты.
Если исходные отсчеты F(1), …, F(T+1), например, не переупорядочиваются, исходный отсчет F(T+2) и последующие отсчеты должны переупорядочиваться, входная последовательность отсчетов F(j)(1≤j≤jmax) переупорядочивается как F(1), …, F(T+1), F(2T-1), F(2T), F(2T+1), F(3T-1), F(3T), F(3T+1), F(4T-1), F(4T), F(4T+1), F(5T-1), F(5T), F(5T+1), F(T+2), …, F(2T-2), F(2T+2), …, F(3T-2), F(3T+2), …, F(4T-2), F(4T+2), …, F(5T-2), F(5T+2), …, F(jmax) в соответствии с вышеописанным правилом переупорядочения (см. фиг. 4). Следует отметить, что, хотя все отсчеты, включенные в последовательность отсчета в частотной области, изображены как имеющие значение, большее или равное 0 на фиг. 3 и 4, они так изображаются, чтобы ясно показать, что отсчеты, которые имеют большие амплитуды, появляются на стороне более низких частот в результате переупорядочения отсчетов. Отсчеты, включенные в последовательность отсчетов в частотной области, могут принимать положительные или отрицательные значения или нуль в некоторых случаях; переупорядочение, описанное выше, или переупорядочение, описанное ниже, могут выполняться для любого из этих случаев.
Другие верхние пределы N или другие первые предварительно определенные частоты, которые определяют максимальное значение идентификационных номеров j, подлежащих переупорядочению, могут устанавливаться для разных кадров, вместо установки верхнего предела N или первой предварительно определенной частоты, которая является общей для всех кадров. В данном случае, информация, задающая верхний предел N или первую предварительно определенную частоту для каждого кадра, может передаваться на декодирующую сторону. Кроме того, количество групп отсчетов, подлежащих переупорядочению, может задаваться вместо задания максимального значения идентификационных номеров j, подлежащих переупорядочению. В данном случае, количество групп отсчетов может устанавливаться для каждого кадра, и информация, задающая количество групп отсчетов, может передаваться на декодирующую сторону. Конечно, количество групп отсчетов, подлежащих переупорядочению, может быть общим для всех кадров. Разные вторые предварительно определенные частоты f могут устанавливаться для разных кадров вместо установки второго предварительно определенного значения, которое является общим для всех кадров. В данном случае, информация, задающая вторую предварительно определенную частоту для каждого кадра, может передаваться на декодирующую сторону.
Огибающая индикаторов отсчетов в последовательности отсчетов, переупорядоченной таким образом, снижается с увеличением частоты, когда частоты и индикаторы отсчетов нанесены на график в виде абсциссы и ординаты, соответственно. Причина заключается в том, что последовательности отсчетов аудиосигнала, особенно последовательности отсчетов речевых и музыкальных сигналов в частотной области, как правило, содержат меньшее количество высокочастотных составляющих. Другими словами, блок 5 переупорядочения переупорядочивает по меньшей мере некоторые из отсчетов, содержащихся во входной последовательности отсчетов, так что огибающая индикаторов отсчетов снижается с увеличением частоты.
Хотя переупорядочение в данном варианте осуществления собирает один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий периодичности или основной частоте, и один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий целому кратному периодичности или основной частоте, вместе в один кластер на низкочастотной стороне, может выполняться переупорядочение, которое собирает один или множество последовательных отсчетов, включающих в себя отсчет, соответствующий периодичности или основной частоте, и один или множество последовательных отсчетов, включающих в себя отсчеты, соответствующие целому кратному периодичности или основной частоте, вместе в один кластер на высокочастотной стороне. В данном случае, группы отсчетов в последовательности A отсчетов размещаются в обратном порядке, наборы отсчетов в последовательности B отсчетов размещаются в обратном порядке, последовательность B отсчетов размещается на низкочастотной стороне, последовательность A отсчетов придерживается последовательности B отсчетов. Т.е. отсчеты в примере, описанном выше, переупорядочиваются в следующий порядок от низкочастотной стороны: шестой набор отсчетов F(5T+2), …, F(jmax), пятый набор отсчетов F(4T+2), …, F(5T-2), четвертый набор отсчетов F(3T+2), …, F(4T-2), третий набор отсчетов F(2T+2), …, F(3T-2), второй набор отсчетов F(T+2), …, F(2T-2), первый набор отсчетов F(1), …, F(T-2), пятая группа отсчетов F(5T-1), F(5T), F(5T+1), четвертая группа отсчетов F(4T-1), F(4T), F(4T+1), третья группа отсчетов F(3T-1), F(3T), F(3T+1), вторая группа отсчетов F(2T-1), F(2T), F(2T+1) и первая группа отсчетов F(T-1), F(T), F(T+1). Огибающая индикаторов отсчетов в последовательности отсчетов, переупорядоченной таким образом, повышается с увеличением частоты, когда частоты и индикаторы отсчетов наносятся на график в виде абсциссы и ординаты, соответственно. Другими словами, блок 5 переупорядочения переупорядочивает по меньшей мере некоторые из отсчетов, включенных во входную последовательность отсчетов, так что огибающая отсчетов повышается с увеличением частоты.
Интервалом T может быть дробное значение (например, 5,0, 5,25, 5,5 или 5,75) вместо целого числа. В этом случае, выбираются F(R(nT-1)), F(R(nT)) и F(R(nT+1)), где R(nT) представляет значение nT, округленное до целого числа.
Блок 6 кодирования
Блок 6 кодирования кодирует входную переупорядоченную последовательность отсчетов и выводит результирующую кодовую последовательность (этап S6). Блок 6 кодирования изменяет кодирование с переменной длинной в соответствии с определением местоположения амплитуд отсчетов, включенных во входную переупорядоченную последовательность отсчетов, и кодирует последовательность отсчетов. Т.е., так как отсчеты, имеющие большие амплитуды, собираются вместе в кластер на низкочастотной (или высокочастотной) стороне в кадре посредством переупорядочения, блок 6 кодирования выполняет кодирование с переменной длиной, пригодное для определения местоположения. Если отсчеты, имеющие равные или почти равные амплитуды, собираются вместе в кластер в каждой локальной области, подобно переупорядоченной последовательности отсчетов, средняя величина кода может уменьшаться, например, посредством кодирования Райса, использующего разные параметры Райса для разных областей. Описывается пример, в котором отсчеты, имеющие большие амплитуды, собираются вместе в кластер на низкочастотной стороне в кадре (сторона, которая ближе к началу кадра).
[Пример кодирования]
Блок 6 кодирования применяет кодирование Райса (также называемое кодирование Голомба-Райса) к каждому отсчету в области, где отсчеты с индикаторами, соответствующими большим амплитудам, собираются вместе в кластер.
В области кроме этой области блок 6 кодирования применяет энтропийное кодирование (такое как кодирование Хаффмана или арифметическое кодирование) к множеству отсчетов в качестве блока. Для применения кодирования Райса параметр Райса и область, к которой применяется кодирование Райса, могут быть фиксированными, или может обеспечиваться множество разных комбинаций области, к которой применяется кодирование Райса, и параметра Райса, так что одна комбинация может быть выбрана из комбинаций. Когда выбирается одна из множества комбинаций, последующие коды с переменной длиной (двоичные коды, заключенные в кавычки « »), например, могут использоваться в качестве информации выбора, указывающей выбор для кодирования Райса, и блок 6 кодирования выводит кодовую последовательность, включающую в себя информацию выбора, указывающую выбор.
«1»: Кодирование Райса не применяется.
«01»: Кодирование Райса применяется к первой 1/32 области последовательности с параметром 1 Райса.
«001»: Кодирование Райса применяется к первой 1/32 области последовательности с параметром 2 Райса.
«0001»: Кодирование Райса применяется к первой 1/16 области последовательности с параметром 1 Райса.
«00001»: Кодирование Райса применяется к первой 1/16 области последовательности с параметром 2 Райса.
«00000»: Кодирование Райса применяется к первой 1/32 области последовательности с параметром 3 Райса.
Способом выбора одной из этих альтернатив может быть сравнение величин кода кодовых последовательностей, соответствующих разным альтернативам для кодирования Райса, которые получаются посредством кодирования для выбора альтернативы с наименьшей величиной кода.
Когда область, где отсчеты, имеющие амплитуду 0, происходят в длинной последовательности, появляется в переупорядоченной последовательности отсчетов, средняя величина кода может уменьшаться посредством кодирования длины серий, например, количества последовательных отсчетов, имеющих амплитуду 0. В таком случае, блок 6 кодирования (1) применяет кодирование Райса к каждому отсчету в области, где отсчеты, имеющие индикаторы, соответствующие большим амплитудам, собираются вместе в кластер, и (2) в областях, кроме этой области, (a) применяет кодирование, которое выводит коды, которые представляют количество последовательных отсчетов, имеющих амплитуду 0, в область, где отсчеты, имеющие амплитуду 0, появляются в последовательности, (b) применяет энтропийное кодирование (такое как кодирование Хаффмана или арифметическое кодирование) к множеству отсчетов в виде блока в оставшихся областях. Снова, может быть сделан выбор среди альтернатив кодирования Райса, описанных выше. В этом случае, информацию, указывающую области, где было применено кодирование длины серий, необходимо посылать на декодирующую сторону. Эта информация может быть включена, например, в кодовую последовательность. Дополнительно, если множество типов способов энтропийного кодирования обеспечивается в качестве альтернатив, информацию, идентифицирующую, какой из типов кодирования был выбран, необходимо посылать на декодирующую сторону. Информация может быть включена, например, в кодовую последовательность.
[Способы для определения интервала T]
1
2
Z
i
i
i
Описываются способы для определения интервала T. В примере простого способа заранее обеспечивается Z возможных вариантов для интервала T, T, T, …, T, блок 5 переупорядочения переупорядочивает отсчеты, включенные в последовательность отсчетов посредством использования каждого из возможных вариантов T(i=1, 2, …, Z), блок 6 кодирования, который описывается ниже, получает величину кода кодовой последовательности, соответствующей последовательности отсчетов, полученной на основе каждого из возможных вариантов T, и выбирает возможный вариант T, который обеспечивает наименьшую величину кода, в качестве интервала T. Блок 6 кодирования выводит дополнительную информацию, которая идентифицирует переупорядочение отсчетов, включенных в последовательность отсчетов, например, код, полученный посредством кодирования интервала T.
j
j
Y
Y
Чтобы определить подходящий интервал T, желательно, чтобы Z было достаточно большим. Однако, если Z является достаточно большим, требуется существенно больший объем вычислений для вычисления фактических величин кода для всех возможных вариантов, что может быть проблематичным с точки зрения эффективности. С этой точки зрения, чтобы уменьшить объем вычислений, процесс предварительного выбора может применяться к Z возможным вариантам для уменьшения количества возможных вариантов до Y. Процесс предварительного выбора, в данном случае, представляет собой процесс для выбора возможных вариантов для процесса окончательного выбора посредством приближенного вычисления величины кода (вычисления оцененной величины кода) кодовой последовательности, соответствующей переупорядоченной последовательности отсчетов (в зависимости от условий, исходной последовательности отсчетов, которая не была переупорядочена), полученной на основе каждого возможного варианта, или посредством получения индикатора, отражающего величину кода кодовой последовательности, или индикатора, который относится к величине кода кодовой последовательности (в данном случае, индикатор отличается от «величины кода»). Процесс окончательного выбора выбирает интервал T на основе фактических величин кода кодовой последовательности, соответствующей последовательности отсчетов. Хотя возможны различные виды процессов предварительного выбора, величина кода кодовой последовательности, соответствующей последовательности отсчетов, фактически вычисляется для каждого из Y возможных вариантов, полученных любым процессом предварительного выбора, и возможный вариант T, который выдает наименьшую величину кода, выбирается в качестве интервала T (T є S, где S представляет собой набор из Y возможных вариантов). Y должен удовлетворять по меньшей мере Y<Z. С целью существенного уменьшения объема вычислений Y предпочтительно устанавливается на значение, существенно меньшее Z, так что, например, выполняется Y≤Z/2. Как правило, процесс вычисления величин кода требует очень большого объема вычислений. Пусть A обозначает количество данного вычисления. Предполагая, что объем A вычислений для процесса предварительного выбора составляет около 1/10 данного объема вычислений, т.е. A/10, тогда объем вычислений, требуемый для вычисления величин кода для всех Z возможных вариантов, равен ZA. С другой стороны, объем вычислений, требуемый для выполнения процесса предварительного выбора, примененного ко всем Z возможным вариантам, и затем вычисления величин кода для Y возможных вариантов, выбранных процессом предварительного выбора, равен (ZA/10+YA). Понятно, что, если Y<9Z/10, способ, использующий процесс предварительного выбора, требует меньшего объема вычислений для определения интервала T.
Настоящее изобретение также обеспечивает способ определения интервала T с меньшим объемом вычислений. Перед описанием варианта осуществления способа описывается принцип определения интервала T с малым объемом вычислений.
t-1
t-1
t
t
t
t-1
t-1
t
t
t-1
t-1
t
t
t-1
t-1
Величина периодического признака аудиосигнала, такого как речь и музыка, как правило, часто постепенно изменяется по множеству кадров в периоде, где аудиосигнал находится в стационарном состоянии. Следовательно, учитывая интервал T, определенный в кадре X, непосредственно предшествующем данному кадру X, может эффективно определяться интервал T в кадре X. Однако интервал T, определенный в кадре X, не является обязательно интервалом T, подходящим для кадра X. Поэтому, предпочтительно, чтобы возможный вариант для интервала T, используемый для определения интервала T в кадре X, был включен в возможные варианты для интервала T для определения интервала T в кадре X, вместо учета только интервала T, определенного в кадре X.
t
t
t-1
t-1
t
t
t-1
t-1
С другой стороны, в периоде сигнала по множеству кадров, где аудиосигнал находится в нестационарном состоянии, трудно ожидать непрерывности величины периодического признака аудиосигнала по соседним кадрам. Поэтому, если определение в отношении того, является ли или нет период сигнала по кадрам периодом, где сигнал находится в стационарном состоянии, не выполняется другими средствами, которые не показаны, стратегия «нахождения интервала T в кадре X из числа возможных вариантов для интервала T, используемых для определения интервала T в кадре X» не обязательно обеспечивает предпочтительный результат. Т.е. в такой ситуации, желательно, чтобы допускалось, чтобы интервал T обнаруживался из числа возможных вариантов для интервала T в кадре X, которые не зависят от возможных вариантов для интервала T, используемых для определения интервала T в кадре X.
Далее подробно описывается вариант осуществления, основанный на принципе изобретения (см. фиг. 7 и 8). В этом варианте осуществления блок 7 определения интервала обеспечивается в кодере 100a, как показано на фиг. 10, и блок 5 переупорядочения, блок 6 кодирования и блок 8 генерирования дополнительной информации обеспечиваются в блоке 7 определения интервала.
(A) Процесс предварительного выбора (этап S71)
1
1
2
Z
1
1
2
Z
1
1
2
Z
1
1
2
Z
1
2
Z
1
Z
Z
1
2
Z
1
Z1
Возможные варианты для интервала T, которые могут быть представлены дополнительной информацией, идентифицирующей переупорядочение отсчетов в последовательности отсчетов, предварительно определяются по ассоциации со способом кодирования дополнительной информации, который описывается ниже, такого как кодирование с фиксированной длиной или кодирование с переменной длиной. Блок 7 определения интервала сохраняет Z возможных вариантов T, T, …, T, выбранных заранее из Z предварительно определенных разных возможных вариантов для интервала T(Z<Z). Целью этого является уменьшение количества возможных вариантов, подвергаемых процессу предварительного выбора. Желательно, чтобы возможные варианты, подвергаемые процессу предварительного выбора, включали в себя максимальное количество интервалов, которые являются предпочтительными, в качестве интервала T для кадра из числа T, T, …, T. В действительности, однако, предпочтительность является неизвестной перед процессом предварительного выбора. Поэтому, Z возможных вариантов выбираются из Z возможных вариантов T, T, …, T в четных интервалах, например, в качестве возможных интервалов, подвергаемых процессу предварительного выбора. Например, Z возможных вариантов, подвергаемых процессу предварительного выбора, могут выбираться из Z возможных вариантов T, T, …, T в соответствии с политикой «выбора возможных вариантов в нечетных положениях из числа Z возможных вариантов T, T, …, T в качестве возможных вариантов, подвергаемых процессу предварительного выбора» (где Z=ceil(Z/2) и ceil(·) представляет собой функцию округления до ближайшего большего целого). Набор из Z возможных вариантов обозначается как S(S={T, T, …, T}, и набор из Z возможных вариантов обозначается как S.
1
2
2
Блок 7 определения интервала выполняет процесс выбора, описанный выше, над Z возможными вариантами, подвергаемыми процессу предварительного выбора. Количество возможных вариантов, уменьшенное посредством этого выбора, обозначается как Z. Возможны различные виды процессов предварительного выбора, как изложено выше. Может быть способ, основанный на индикаторе, относящемся к величинам кода кодовой последовательности, соответствующей переупорядоченной последовательности отсчетов, для выбора Z возможных вариантов на основе степени концентрации индикаторов отсчетов в низкочастотной области или на основе количества последовательных отсчетов, которые имеют амплитуду нуля по оси частот от самой большой частоты к низкочастотной стороне.
2
2
2
Конкретно, если значение Z не установлено предварительно, выполняется следующий процесс предварительного выбора. Блок 7 определения интервала выполняет переупорядочение, описанное выше, над последовательностью отсчетов на основе каждого возможного варианта для каждого из возможных вариантов, вычисляет сумму абсолютных значений амплитуд отсчетов, содержащихся в первой ¼ области, например, от низкочастотной стороны переупорядоченной последовательности отсчетов в качестве индикатора, относящегося к величинам кода кодовой последовательности, соответствующей последовательности отсчетов, и выбирает этот возможный вариант, если сумма больше предварительно определенного порога. Альтернативно, блок 7 определения интервала переупорядочивает последовательность отсчетов, как описано выше, на основе каждого возможного варианта, получает количество последовательных отсчетов, имеющих амплитуду нуля, от самой большой частоты к низкочастотной стороне в качестве индикатора, относящегося к величине кода кодовой последовательности, соответствующей последовательности отсчетов, и выбирает этот возможный вариант, если количество последовательных отсчетов больше предварительно определенного порога. Переупорядочение выполняется блоком 5 переупорядочения. В данном случае, количество выбранных возможных вариантов равно Z, и значение Z может изменяться от кадра к кадру.
2
1
2
2
1
2
2
2
1
2
2
Z2
Если значение Z установлено предварительно, выполняется следующий процесс предварительного выбора. Блок 7 определения интервала выполняет переупорядочение, описанное выше, над последовательностью отсчетов на основе каждого возможного варианта для каждого из Z возможных вариантов, вычисляет сумму абсолютных значений амплитуд отсчетов, содержащихся в первой ¼ области, например, от низкочастотной стороны последовательности переупорядоченных отсчетов в качестве индикатора, относящегося к величине кода кодовой последовательности, соответствующей последовательности отсчетов, и выбирает Z возможных вариантов, которые выдают Z наибольшие суммы. Альтернативно, блок 7 определения интервала выполняет переупорядочение, описанное выше, над последовательностью отсчетов на основе каждого возможного варианта для каждого из Z возможных вариантов, получает количество последовательных отсчетов, имеющих амплитуду нуля, в переупорядоченной последовательности отсчетов от самой большой частоты к низкочастотной стороне в качестве индикатора, относящегося к величинам кода кодовой последовательности, соответствующей последовательности отсчетов, и выбирает Z возможных вариантов, которые выдают Z наибольших количеств последовательных отсчетов. Переупорядочение последовательности отсчетов выполняется блоком 5 переупорядочения. Значения Z являются одинаковыми в каждом кадре. Конечно, выполняется по меньшей мере зависимость Z>Z>Z. Набор из Z возможных вариантов обозначается как S.
(B) Процесс добавления (этап S72)
Z2
2
2
2
2
Z2
Z2
Z2
2
2
1
k-1
k+1
k
Z2
k-1
k+1
Z
k
k
1
2
Z
Z
1
2
Z
k-1
k+1
1
k-1
k+1
Z1
k-1
k+1
Z2
k-1
k+1
Z
k
Z2
k
k
Z
k
k
Z
k
k
Z2
k
k
2
Z3
Затем блок 7 определения интервала выполняет процесс добавления одного или более возможных вариантов к набору S возможных вариантов, полученных процессом предварительного выбора в (A). Целью данного процесса добавления является предотвращение того, чтобы значение Z становилось очень малым для нахождения интервала T при вышеописанном окончательном выборе, когда значение Z может изменяться от кадра к кадру, или увеличение вероятности выбора подходящего интервала T при окончательном выборе максимально возможной, даже если Z становится относительно большим. Так как целью способа определения интервала T в настоящем изобретении является уменьшение объема вычислений по сравнению с объемом вычислений обычных методов, количество Q добавляемых возможных вариантов должно удовлетворять неравенству Z+Q<Z, где количество |S| элементов (возможных вариантов) набора S равно |S|=Z. Более предпочтительным условием является то, что Q удовлетворяет неравенству Z+Q<Z. Добавленными возможными вариантами могут быть возможные варианты T и T, предшествующие и последующие за возможным вариантом T, включенным в набор S, например, где T,T є S (где возможные варианты, «предшествующие и последующие» за возможным вариантом T, представляют собой возможные варианты, предшествующие и последующие за T в порядке T<T<…<T, основываясь на величине значения, введенного в набор S={T, T, …, T}). Причина заключается в том, что существует вероятность, что возможные варианты T и T не включены в Z возможных вариантов, подвергаемых процессу предварительного выбора. Однако, если возможные варианты T, T є S, и возможные варианты T и T не включены в набор S, возможные варианты T и T необязательно нужно добавлять. Необходимо только выбрать возможные варианты для добавления из набора S. Например, для возможного варианта T, включенного в набор S, T-α (где T-α є S) и/или T+β (где T+β є S) могут быть добавлены в качестве нового возможного варианта. В данном случае, α и β представляют собой заданные положительные действительные числа, например, α может быть равен β. Если T-α и/или T+β перекрывают другой возможный вариант, включенный в набор S, T-α и/или T+β не добавляются (так как нет смысла в их добавлении). Набор из Z+Q возможных вариантов обозначается как S. Затем выполняется процесс в (D1) или (D2).
(D) Процесс предварительного выбора (этап S73)
2
Z3
2
(D1 - этап S731) Если кадр, для которого должен быть определен интервал T, является временно первым кадром, блок 7 определения интервала выполняет процесс предварительного выбора, описанный выше для Z+Q возможных вариантов, включенных в набор S. Количество возможных вариантов, уменьшенное процессом предварительного выбора, обозначается Y, которое удовлетворяет Y<Z+Q.
2
2
Z3
Возможны различные виды процессов предварительного выбора, как изложено ранее. Например, тот же самый процесс, что и предварительный выбор в (A) может выполняться (количество выводимых возможных вариантов отличается, т.е. Y≠Z). Необходимо отметить, что в данном случае значение Y может изменяться от кадра к кадру. В процессе предварительного выбора, отличном от процесса предварительного выбора в (A), описанного выше, описанное выше переупорядочение выполняется над последовательностью отсчетов для каждого из Z+Q возможных вариантов, включенных в набор S, например, и предварительно определенное уравнение приближенного вычисления для приближенного вычисления величины кода кодовой последовательности, полученной посредством кодирования переупорядоченной последовательности отсчетов, используется для получения приближенной величины кода (оцененной величины кода). Переупорядочение последовательности отсчетов выполняется блоком 5 переупорядочения. Для возможных вариантов, для которых была получена переупорядоченная последовательность отсчетов в процессе предварительного выбора в (A), может использоваться переупорядоченная последовательность отсчетов, полученная в процессе предварительного выбора в (A). В данном случае, если значение Y не установлено предварительно, возможные варианты, которые выдают приближенные величины кода, которые меньше или равны предварительно определенному порогу, могут выбираться в качестве возможных вариантов, подвергаемых (E) процессу вычисления величины кода, который описывается ниже (в данном случае, количество выбранных возможных вариантов равно Y); если значение Y предварительно устанавливается, Y возможных вариантов, которые выдают наименьшие приближенные величины кода, могут выбираться в качестве возможных вариантов, подвергаемых (E) процессу окончательного выбора, который описывается ниже. Y возможных вариантов сохраняется в памяти и используются в процессе в (C) или (D2), который описывается ниже, для определения интервала T во временно втором кадре. После процесса в (D1) выполняется процесс окончательного выбора в (E).
Если этот же процесс предварительного выбора, что и процесс предварительного выбора в (A) выполняется в (D1), и возможные варианты выбираются посредством сравнения между индикатором, относящимся к величине кода кодовой последовательности, полученной посредством кодирования переупорядоченной последовательности отсчетов в процессе предварительного выбора в (A), и порогом, возможные варианты, выбранные в процессе предварительного выбора в (A), всегда выбираются в процессе предварительного выбора в (D1). Поэтому, процесс сравнения индикатора с порогом для выбора возможных вариантов должен выполняться только для возможных вариантов, добавленных в процессе (B) добавления, и возможные варианты, выбранные в данном случае, и возможные варианты, выбранные в процессе (A) предварительного выбора, подвергаются процессу окончательного выбора в (E). Однако является предпочтительным, чтобы значение Y было фиксированным на предварительно установленном значении в процессе предварительного выбора в (D1), и Y возможных вариантов, которые выдают наименьшие приближенные величины кода, выбирались бы в качестве возможных вариантов, подвергаемых процессу окончательного выбора в (E), так как является большим объем вычислений (E) процесса окончательного выбора.
2
Z3
P
P
Z3
P
t
t
t-1
Z3
t
Z3
2
P
Y
t-1
W
Y
Y
Y
W
Z3
P
2
Z3
P
Z3
P
2
2
Z3
P
(D2 - этап S732) Если кадр, для которого должен быть определен интервал T, не является временно первым кадром, блок 7 определения интервала выполняет процесс предварительного выбора, описанный выше, над максимум Z+Q+Y+W возможными вариантами, включенными в объединение S∪S (где |S|=Y+W). Здесь описывается объединение S∪S. Кадр, для которого должен быть определен интервал T, обозначается посредством X, и кадр, временно непосредственно предшествующий кадру X, обозначается посредством X. Набор S представляет собой набор возможных вариантов в кадре X, полученных в процессах (A)-(B), описанных выше, и количество возможных вариантов, включенных в набор S, равно Z+Q. Набор S представляет собой объединение набора S возможных вариантов, выбранных в качестве возможных вариантов, подвергаемых процессу окончательного выбора в (E), который описывается ниже, когда интервал T определяется в кадре X, и набор S возможных вариантов, подлежащих добавлению к набору S процессом добавления в (C), который описывается ниже. Набор S был сохранен в памяти. В данном случае, |S|=Y и |S|=W, и должно удовлетворяться по меньшей мере |S∪S|<Z. Описанный выше процесс предварительного выбора выполняется над максимум Z+Q+Y+W возможными вариантами, включенными в объединение S∪S. Количество возможных вариантов, уменьшенное процессом предварительного выбора, равно Y, и Y удовлетворяет Y<|S∪S|≤Z+Q+Y+W. Возможны различные виды процессов предварительного выбора, как изложено ранее. Например, может выполняться этот же процесс, что и описанный выше процесс предварительного выбора в (B), (количество выводимых возможных вариантов различается (т.е. Y≠Z)). Необходимо отметить, что в данном случае значение Y может изменяться от кадра к кадру. В процессе предварительного выбора, отличного от описанного выше процесса предварительного выбора в (B), описанное выше переупорядочение выполняется над последовательностью отсчетов на основе каждого из |S∪S| возможных вариантов, например, и предварительно определенное уравнение приближенного вычисления для приближенного вычисления величины коды кодовой последовательности, полученной посредством кодирования переупорядоченной последовательности отсчетов, используется для получения приближенной величины кода (оцененных величин кода). Переупорядочение последовательности отсчетов выполняется блоком 5 переупорядочения. Для возможных вариантов, для которых была получена переупорядоченная последовательность отсчетов в процессе предварительного выбора в (A), может использоваться переупорядоченная последовательность отсчетов, полученная в процессе предварительного выбора в (A). В данном случае, если значение Y не устанавливается предварительно, возможные варианты, которые выдают приближенные величины кода, которые меньше или равны предварительно определенному порогу, могут выбираться в качестве возможных вариантов, подвергаемых (E) процессу окончательного выбора, который описывается ниже (в данном случае, количество выбранных возможных вариантов равно Y); если значение Y устанавливается предварительно, Y возможных вариантов, которые выдают наименьшие приближенные величины кода, могут быть выбраны в качестве возможных вариантов, подвергаемых (E) процессу окончательного выбора, который описывается ниже. Y возможных вариантов сохраняются в памяти и используются в процессе в (D2), который выполняется при определении интервала T во временно следующем кадре. После процесса в (D2) выполняется процесс окончательного выбора в (E).
t-1
Если этот же процесс предварительного выбора, что и процесс предварительного выбора в (A), выполняется в (D2), и возможные варианты выбираются посредством сравнения между индикатором, относящимся к величине кода кодовой последовательности, полученной посредством кодирования переупорядоченной последовательности отсчетов в процессе предварительного выбора в (A), и порогом, возможные варианты, выбранные в процессе предварительного выбора в (A) всегда выбираются в процессе предварительного выбора в (D2). Поэтому, процесс сравнения индикатора с порогом для выбора возможных вариантов должен выполняться только для возможных вариантов, добавленных в процессе добавления (B), возможные варианты, подвергаемые процессу окончательного выбора в (E), который описывается ниже, когда интервал T определяется в кадре X, и возможные варианты, добавленные в процессе добавления в (C), и возможные варианты, выбранные в данном случае, и возможные варианты, выбранные в процессе (A) предварительного выбора, подвергаются процессу окончательного выбора в (E). Однако является предпочтительным, чтобы значение Y фиксировалось на предварительно установленном значении в процессе предварительного выбора в (D2), и Y возможных вариантов, которые выдают наименьшие приближенные величины кода, выбиралось бы в качестве возможных вариантов, подвергаемых процессу окончательного выбора в (E), так как является большим объем вычислений (E) процесса окончательного выбора.
(C) Процесс добавления (этап S74)
Y
t-1
Y
m-1
m+1
m
Y
m-1
m+1
Z
m
1
2
Z
Z
1
2
Z
Z
m
Y
m-γ
m
Z
m
m
Z
m
m
Y
m
m
Блок 7 определения интервала выполняет процесс добавления одного или более возможных вариантов в набор S, подвергаемый процессу окончательного выбора в (E), который описывается ниже, когда интервал T определяется в кадре X. Возможными вариантами, добавленными в набор S, могут быть возможные варианты T и T предшествующего и последующего за возможным вариантом T, включенным в набор S, например, где T, T є S (в данном случае, возможными вариантами, «предшествующего и последующего» за возможным вариантом T, являются возможные варианты, предшествующие и последующие за Tm в порядке T<T<…<T, основываясь на величине значения, введенного в набор S={T, T, …, T}). Необходимо только выбрать возможные варианты, подлежащие добавлению, из набора S. Например, для возможного варианта T, включенного в набор S, T (где T-γ є S) и/или T+η (где T+η є S), может добавляться в качестве новых возможных вариантов. В данном случае, γ и η представляют собой предварительно определенные положительные действительные числа, например, и γ может быть равен η. Если T-γ и/или T+η перекрывают другой возможный вариант, включенный в набор S, T-γ и/или T+η не добавляется (так как нет смысла в их добавлении). Затем выполняется процесс в (D2).
(E) Процесс окончательного выбора (этап S75)
Блок 7 определения интервала переупорядочивает последовательность отсчетов на основе каждого из Y возможных вариантов, как описано выше, кодирует переупорядоченную последовательность отсчетов для получения кодовой последовательности, получает фактические величины кода и выбирает возможный вариант, который выдает наименьшую величину кода, в качестве интервала T. Переупорядочение выполняется блоком 5 переупорядочения, и кодирование переупорядоченной последовательности отсчетов выполняется блоком 6 кодирования. Для возможных вариантов, для которых была получена переупорядоченная последовательность отсчетов в процессе предварительного выбора в (A) или (D), переупорядоченная последовательность отсчетов, полученная в процессе предварительного выбора, может быть введена в блок 6 кодирования и может кодироваться блоком 6 кодирования.
Z3
Z3
Z3
2
2
Z3
2
Z3
P
Следует отметить, что процесс добавления в (B), процесс добавления в (C) и процесс предварительного выбора в (D) не являются существенными, и по меньшей мере любой из процессов может быть опущен. Если опускается процесс добавления в (B), тогда количество |S| элементов (возможных вариантов) набора S равно |S|=Z, так как Q=0. Если опускается процесс предварительного выбора в (D), тогда максимум Z+Q возможных вариантов, включенных в набор S (если кадр, для которого должен быть определен интервал T, является временно первым кадром), или максимум Z+Q+Y+W возможных вариантов, включенных в объединение S∪S (если кадр, для которого должен быть определен интервал T, не является временно первым кадром), подвергаются процессу окончательного выбора в (E).
Хотя «первый кадр» является «временно первым кадром» в описании определения интервала T, первый кадр не ограничивается этим. «Первым кадром» может быть любой кадр кроме кадров, которые удовлетворяют условиям (1)-(3), перечисленным в Условиях A ниже (см. фиг. 9).
<Условия A>
Для кадра:
(1) кадр не является временно первым кадром,
(2) предшествующий кадр был кодирован в соответствии со способом кодирования настоящего изобретения, и
(3) предшествующий кадр подвергался процессу переупорядочения, описанному выше.
Y
t-1
Y
Y
t-1
t-1
t-2
t-2
t-m
t-m
Y
t-1
t-2
t-m
1
2
Хотя набор S в процессе в (D2) является «набором возможных вариантов, подвергаемых процессу окончательного выбора в (E), описанному ниже, когда интервал T определяется в предшествующем кадре X» в вышеупомянутом описании, набор S может представлять собой «объединение наборов возможных вариантов, подвергаемых процессу окончательного выбора в (E), описанному ниже, при определении интервала T в каждом из множества кадров, предшествующем во времени кадру, для которого должен быть определен интервал T». Конкретно, набор S представляет собой объединение набора S возможных вариантов, подвергаемых процессу окончательного выбора в (E), описанному ниже, при определении интервала T в кадре X, набора S возможных вариантов, подвергаемых процессу окончательного выбора в (E), описанному ниже, при определении интервала для кадра X, …, и набора S возможных вариантов, подвергаемых процессу окончательного выбора, описанному ниже, при определении интервала T в кадре X, т.е. S=S∪S∪…∪S, где m является количеством предыдущих кадров. В данном случае, m является предпочтительно любым из 1, 2 и 3, так как большее значение m требует увеличенного объема вычислений в зависимости от значений Z, Z, Z и Q.
1
2
1
2
2
2
1
2
1
2
1
2
1
2
Предполагая, что объем A вычислений для процесса предварительного выбора составляет около 1/10 от этого объема вычислений для процесса вычисления величины кода, т.е. A/10, тогда объем вычислений, требуемый для выполнения процессов (A), (B), (C) и (D2), равен максимум ((Z+Z+Q+Y+W)A/10+YA), если Z, Z, Z, Q, W и Y предварительно устанавливаются на фиксированные значения. В данном случае, пусть Z+Q≈3Z и Y+W≈3Y, тогда объем вычислений равен ((Z+3Z+3Y)A/10+YA). Сравнение с объемом вычислений (ZA/10+YA), описанным выше, показывает, что объем вычислений может быть уменьшен посредством установки Z, Z, Z и Y, которые удовлетворяют Z>(Z+3Z+3Y). Например, установками могут быть Z=256, Z=64 и Z=Y=8.
Z
1
2
Z
Y
Y
Z3
P
Z3
P
S={T, T, …, T} может быть постоянным или может изменяться от кадра к кадру. Значение Z может быть постоянным или может изменяться от кадра к кадру. Однако количество возможных вариантов, подвергаемых процессу окончательного выбора в (E), должно быть меньше Z. Поэтому, если |S| больше или равно Z в процессе в (D2), процесс предварительного выбора выполняется над набором S, считанным из памяти, например, посредством использования индикатора, подобного индикатору, используемому в процессе предварительного выбора в (A), описанном выше, для уменьшения количества возможных вариантов, так что количество возможных вариантов, подвергаемых процессу окончательного выбора в (E), меньше Z. Если процесс предварительного выбора в (D) опускается, и |S∪S|≥Z, предварительный выбор выполняется над S∪Sпосредством использования индикатора, подобного индикатору, используемому в процессе предварительного выбора в (A), описанном выше, для уменьшения количества возможных вариантов, так что количество возможных вариантов, подвергаемых процессу окончательного выбора в (E), меньше Z.
<Модификация способа определения интервала T>
Z3
P
P
Z3
Z3
P
P
Z3
P
Z3
Z3
P
В аудиосигнале, таком как речевые и музыкальные сигналы, часто существует высокая корреляция между текущим кадром и предыдущими кадрами в периоде сигнала, где аудиосигнал находится в стационарном состоянии по множеству кадров. Воспользовавшись этим свойством стационарного сигнала, соотношение между S и S может изменяться в процессе в (D2) для дополнительного уменьшения объема вычислений, в тоже время сохраняя характеристики сжатия. Соотношение, в данном случае, может задаваться как отношение S к S или может задаваться как отношение S к S, или может задаваться как доля S в S∪S, или может задаваться как доля S в S∪S.
Определение, является ли стационарность высокой или нет в некотором сегменте сигнала, может быть сделано на основании, является ли или нет индикатор, например, указывающий степень стационарности, больше или равный порогу, или является ли или нет индикатор больше порога. Индикатором, указывающим степень стационарности, может быть индикатор, приведенный ниже. Представляющий интерес кадр, для которого определяется интервал T, ниже в данном документе упоминается как текущий кадр, и кадр, непосредственно предшествующий текущему кадру во времени, упоминается как предшествующий кадр. Индикатор степени стационарности больше, когда:
(a-1) больше «коэффициент усиления предсказания аудиосигнала в текущем кадре»,
(a-2) больше «оцененный коэффициент усиления предсказания аудиосигнала в текущем кадре»,
(b-1) меньше разность между «коэффициентом усиления предсказания аудиосигнала в предшествующем кадре» и «коэффициентом усиления предсказания аудиосигнала в текущем кадре»,
(b-2) меньше разность между «оцененным коэффициентом усиления предсказания аудиосигнала в предшествующем кадре» и «оцененным коэффициентом усиления предсказания аудиосигнала в текущем кадре»,
(c-1) больше «сумма амплитуд отсчетов аудиосигнала, включенных в текущий кадр»,
(c-2) больше «сумма амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в текущий кадр, в частотную область»,
(d-1) меньше разность между «суммой амплитуд отсчетов в аудиосигнале, включенных в предшествующий кадр» и «суммой амплитуд отсчетов аудиосигнала, включенных в текущий кадр»,
(d-2) меньше разность между «суммой амплитуд отсчетов аудиосигнала, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в предшествующий кадр, в частотную область», и «суммой амплитуд отсчетов, включенных в последовательность отсчетов, полученную посредством преобразования последовательности отсчетов аудиосигнала, включенной в текущий кадр, в частотную область»,
(e-1) больше «мощность аудиосигнала в текущем кадре»,
(e-2) больше «мощность последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в текущем кадре, в частотную область»,
(f-1) меньше разность между «мощностью аудиосигнала в предшествующем кадре» и «мощностью аудиосигнала в текущем кадре», и/или
(f-2) меньше разность между «мощностью последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в предшествующем кадре, в частотную область», и «мощностью последовательности отсчетов, полученной посредством преобразования последовательности отсчетов аудиосигнала в текущем кадре, в частотную область».
Следует отметить, что коэффициент усиления предсказания представляет собой отношение энергии исходного сигнала к энергии сигнала ошибки предсказания в кодировании с предсказанием. Значение коэффициента усиления предсказания, по существу, пропорционально отношению суммы абсолютных значений значений отсчетов, включенных в последовательность коэффициентов MDCT в кадре, выводимую из блока 1 преобразования частотной области, к сумме абсолютных значений значений отсчетов, включенных во взвешенную нормализованную последовательность коэффициентов MDCT в кадре, выводимую из блока 2 нормализации взвешенной огибающей, или отношению суммы квадратов значений отсчетов, включенных в последовательность коэффициентов MDCT в кадре, к сумме квадратов значений отсчетов, включенных во взвешенную нормализованную последовательность коэффициентов MDCT в кадре. Поэтому, любое из этих отношений может использоваться в качестве значения, величина которого эквивалентна величине «коэффициента усиления предсказания аудиосигнала в кадре».
«Коэффициент усиления предсказания аудиосигнала в кадре» равен E, определяемому следующим образом:
m
2
2
O
где k представляет собой коэффициент PARCOR m-го порядка, соответствующий коэффициенту линейного предсказания в кадре, используемому блоком 2 нормализации взвешенной огибающей. В данном случае, коэффициент PARCOR, соответствующий коэффициенту линейного предсказания, представляет собой неквантованный коэффициент PARCOR всех порядков. Если E вычисляется посредством использования неквантованного коэффициента PARCOR некоторых порядков (например, первого - P-го порядка, где P<P) или квантованного коэффициента PARCOR некоторых или всех порядков в качестве коэффициента PARCOR, соответствующего коэффициенту линейного предсказания, вычисленное E будет равно «оцененному коэффициенту предсказания аудиосигнала в кадре».
«Сумма амплитуд отсчетов аудиосигнала, включенных в кадр», представляет собой сумму абсолютных значений значений отсчетов цифрового сигнала речи/аудио, включенных в кадр, или сумму абсолютных значений значений отсчетов, включенных в последовательность отсчетов MDCT в кадре, выводимую из блока 1 преобразования частотной области.
«Мощность аудиосигнала в кадре» представляет собой сумму квадратов значений отсчетов цифрового сигнала речи/аудио, включенных в кадр, или сумму квадратов значений отсчетов, включенных в последовательность коэффициентов MDCT в кадре, выводимую из блока 1 преобразования частотной области.
off
off
off
off
off
Любой из приведенных выше (a)-(f) может использоваться для определения степени стационарности, или логическая операция ИЛИ или И двух или более из приведенных выше (a)-(f) может использоваться для определения степени стационарности. В первом случае, блок 7 определения интервала использует, например, (a) только «коэффициент усиления предсказания аудиосигнала в текущем кадре» и, если ε<G выполняется между «коэффициентом усиления предсказания аудиосигнала в текущем кадре» G и предварительно определенным порогом ε, определяет, что стационарность является высокой, или блок 7 определения интервала использует, например, только (b) разность G между «коэффициентом усиления предсказания аудиосигнала в предшествующем кадре» и «коэффициентом усиления предсказания аудиосигнала в текущем кадре» и, если G<τ выполняется между разностью G и предварительно определенным порогом τ, определяет, что стационарность является высокой. В последнем случае, блок 7 определения интервала использует, например, критерии (c) и (e), и, если ξ<Ac выполняется между «суммой амплитуд отсчетов аудиосигнала, включенных в текущий кадр» Ac и предварительно определенным порогом ξ, и δ<Pc выполняется между «мощностью аудиосигнала в текущем кадре» Pc и предварительно определенным порогом δ, определяет, что стационарность является высокой, или блок 7 определения интервала использует критерии (a), (c) и (f), и, если ε<G выполняется между «коэффициентом усиления предсказания аудиосигнала в текущем кадре» G и предварительно определенным порогом ε, или ξ<Ac выполняется между «суммой амплитуд отсчетов аудиосигнала, включенных в текущий кадр» Ac и предварительно определенным порогом ξ, и P<θ выполняется между разностью P между «мощностью аудиосигнала в предшествующем кадре» и «мощностью аудиосигнала в текущем кадре» и предварительно определенным порогом θ, определяет, что стационарность является высокой.
Z3
P
P
Z3
P
Z3
P
Z3
P
P
Z3
P
Z3
P
Z3
P
P
Z3
Z3
P
Z3
P
Z3
P
P
Z3
P
Соотношение между S и S, которое меняется в зависимости от определения степени стационарности, задается заранее в справочной таблице, например, в блоке 7 определения интервала. Обычно, когда стационарность определяется высокой, соотношение S в S∪S устанавливается на большое значение (соотношение S является относительно малым или соотношение S в S∪S больше 50%), или когда стационарность определяется невысокой, соотношение S в S∪S устанавливается на низкое значение (соотношение S является относительно высоким или соотношение S в S∪S не превышает 50%), или соотношение составляет около 50:50. Когда стационарность определяется высокой, выполняется обращение к справочной таблице для определения соотношения S (или соотношения S) в процессе в (D2), и количество возможных вариантов в наборе S уменьшается посредством выбора возможных вариантов с большими индикаторами как в процессе предварительного выбора в (A), описанном выше, например, так что количество возможных вариантов, включенных в S и S, согласуется с соотношением. С другой стороны, когда стационарность определяется невысокой, выполняется обращение к справочной таблице для определения соотношения S (или соотношения S), и количество возможных вариантов, включенных в набор S, меняется посредством выбора возможных вариантов с большими индикаторами таким же образом, как и в процессе (A), описанном выше, например, так что количество возможных вариантов, включенных в S и S, согласуются с соотношением. Таким образом, количество возможных вариантов, подвергаемых процессу в (D2), может быть уменьшено, тогда как может быть увеличено соотношение набора, в который, вероятно, включен интервал T для текущего кадра в качестве возможного варианта. Таким образом, может эффективно определяться интервал T. Следует отметить, что, если стационарность определяется невысокой, S может представлять собой пустой набор. Т.е. возможные варианты, выбранные подвергаемыми процессу окончательного выбора в (E) в предшествующем кадре, исключаются из возможных вариантов, подвергаемых процессу предварительного выбора в (D) в текущем кадре.
Z3
P
1
2
k-1
k
1
2
k-1
k
В альтернативной конфигурации могут устанавливаться разные соотношения между S и S, которые зависят от степени стационарности. Например, определение, является ли стационарность высокой или нет, выполняется посредством использования только критерия (a) «коэффициент усиления предсказания аудиосигнала в текущем кадре», множество порогов ε, ε, …, ε, ε (где ε<ε< … <ε<ε) заранее обеспечивается для «коэффициента усиления предсказания аудиосигнала в текущем кадре» G, и
1
P
Z3
P
G<ε⇒ соотношение S в S∪S: 10%
1
P
Z3
P
ε≤G<ε⇒ соотношение S в S∪S:20%
…
k-1
k
P
Z3
P
ε≤G<ε⇒ соотношение S в S∪S:80%
k
P
Z3
P
ε≤G⇒ соотношение S в S∪S: 90%
Z3
P
задаются в справочной таблице заранее. Хотя здесь был описан пример, в котором используется только критерий (a) «коэффициент усиления предсказания аудиосигнала в текущем кадре», другие соотношения между S и S в зависимости от степени стационарности могут быть установлены в справочной таблице для других критериев или логических операций ИЛИ или И двух или более критериев (a)-(f).
Z3
P
Z3
P
Z3
P
1
2
1
2
2
Z3
1
2
2
Z3
Хотя был описан примерный вариант осуществления, в котором соотношение между S и S меняется в соответствии с определением степени стационарности, после того как будут определены наборы S и S в процессе в (D2), определение, является ли степень стационарности высокой или нет, выполняется перед тем, как будут определены наборы S и S в альтернативном варианте осуществления. Например, значения Z, Z, Q и W в соответствии с определением, является ли или нет степень стационарности высокой, могут устанавливаться заранее в справочной таблице в ассоциации со значениями Y. По меньшей мере одно из значений Z, Z и Q (предпочтительно Z или Q), ассоциированное с определением, что стационарность является высокой, устанавливается малым (или W устанавливается большим), так что |S| меньше значения Y+W (где W может быть равно 0). По меньшей мере одно из значений из Z, Z и Q (предпочтительно Z или Q), ассоциированное с определением, что стационарность не является высокой, устанавливается большим (или W устанавливается малым), так что |S| больше значения Y+W (где W может быть равно 0).
Z3
P
1
2
1
2
k-1
k
1
2
k-1
k
В варианте осуществления, в котором определение, является ли стационарность высокой или нет, выполняется перед определением наборов S и S, значения Z, Z и Q согласно степени стационарности могут устанавливаться в справочной таблице. Например, если определение, является ли стационарность высокой или низкой, выполняется посредством использования только критерия (a) «коэффициент усиления предсказания аудиосигнала в текущем кадре», множество порогов ε, ε, …, ε, ε (где ε<ε<ε<ε) заранее обеспечивается для «коэффициента усиления предсказания аудиосигнала в текущем кадре» G, и
1
2
G<ε⇒ Z=16, Q=30
1
2
2
ε≤G<ε⇒ Z=12, Q=20
…
k-1
k
2
ε≤G<ε⇒ Z=4, Q=4
k
2
ε≤G ⇒ Z=2, Q=0
1
2
задаются в справочной таблице заранее. Хотя здесь был описан пример, в котором используется только критерий (a) «коэффициент усиления предсказания аудиосигнала в текущем кадре», значения Z, Z и Q, которые изменяются в зависимости от степени стационарности, могут быть установлены в справочной таблице для других критериев или логических операций ИЛИ или И двух или более критериев (a)-(f).
[Способ определения величины периодического признака]
Хотя был описан способ определения интервала T с малым объемом вычислений, параметр, подлежащий определению этим способом, не ограничивается интервалом T. Например, этот способ может использоваться для определения величины периодического признака (например, основной частоты или периода основного тона) аудиосигнала, которая представляет собой информацию для идентификации групп отсчетов при переупорядочении отсчетов. Конкретно, может быть вызвано функционирование блока 7 определения интервала в качестве устройства определения величины периодического признака для определения интервала T в качестве величины периодического признака без вывода кодовой последовательности, которая может быть получена посредством кодирования переупорядоченной последовательности отсчетов. В данном случае, термин «интервал T» в описании «Способа определения интервала T» может быть заменен термином «период основного тона», или частота дискретизации последовательности отсчетов, деленная на «интервал T», может быть заменена «основной частотой». Способ может определять основную частоту или период основного тона для переупорядочения отсчетов с малым объемом вычислений.
[Дополнительная информация, идентифицирующая переупорядочение отсчетов в последовательности отсчетов]
Блок 6 кодирования или блок 8 генерирования дополнительной информации выводит дополнительную информацию, идентифицирующую переупорядочение отсчетов, включенных в последовательность отсчетов, т.е. информацию, указывающую периодичность аудиосигнала, или информацию, указывающую основную частоту, или информацию, указывающую интервал T между отсчетом, соответствующим периодичности или основной частоте аудиосигнала, и отсчетом, соответствующим целому кратному периодичности или основной частоты аудиосигнала. Следует отметить, что, если блок 6 кодирования выводит дополнительную информацию, блок 6 кодирования может выполнять процесс для получения дополнительной информации в процессе для кодирования последовательности отсчетов или может выполнять процесс для получения дополнительной информации в качестве процесса, отдельного от процесса кодирования. Например, если интервал T определяется для каждого кадра, дополнительная информация, идентифицирующая переупорядочение отсчетов, включенных в последовательность отсчетов, выводится для каждого кадра. Дополнительная информация, которая идентифицирует переупорядочение отсчетов в последовательности отсчетов, может получаться посредством кодирования периодичности, основной частоты или интервала T на покадровой основе. Кодированием может быть кодирование с фиксированной длиной или может быть кодирование с переменной длиной для уменьшения средней величины кода. Если используется кодирование с фиксированной длиной, дополнительная информация сохраняется в ассоциации с кодом, который однозначно идентифицирует дополнительную информацию, например, и выводится код, ассоциированный с входной дополнительной информацией. Если используется кодирование с переменной длиной, разность между интервалом T в текущем кадре и интервалом T в предшествующем кадре может кодироваться посредством кодирования с переменной длиной, и результирующая информация может использоваться в качестве информации, указывающей интервал T. В данном случае, например, разность в интервале T сохраняется в ассоциации с кодом, однозначно идентифицирующим разность, и выводится код, ассоциированный с входной разностью между интервалом T в текущем кадре и интервалом T в предшествующем кадре. Аналогично, разность между основной частотой текущего кадра и основной частотой предшествующего кадра может кодироваться посредством кодирования с переменной длиной, и кодированная информация может использоваться в качестве информации, указывающей основную частоту. Кроме того, если n может выбираться из множества альтернатив, верхний предел n или верхнее предельное число N, описанное ранее, может быть включено в дополнительную информацию.
[Количество собранных отсчетов]
Хотя приводится пример в данном варианте осуществления, где количество отсчетов, включенных в каждую группу отсчетов, фиксируется на трех, а именно отсчет, соответствующий периодичности или основной частоте, или целому кратному периодичности или основной частоты (ниже в данном документе отсчет, упоминаемый как центральный отсчет), отсчет, предшествующий центральному отсчету, и отсчет, последующий за центральным отсчетом, если количество отсчетов в группе отсчетов и индексы отсчетов являются переменными, информация, указывающая одну альтернативу, выбранную из множества альтернатив, в которых комбинации количества отсчетов в группе отсчетов и индексы отсчетов являются разными, могут быть включены в дополнительную информацию.
Например, если
(1) только центральный отсчет F(nT),
(2) в сумме три отсчета, а именно центральный отсчет, отсчет, предшествующий центральному отсчету, и отсчет, последующий за центральным отсчетом, F(nT-1), F(nT), F(nT+1),
(3) в сумме три отсчета, а именно центральный отсчет и два предшествующих отсчета, F(nT-2), F(nT-1), F(nT),
(4) в сумме четыре отсчета, а именно центральный отсчет и три предшествующих отсчета, F(nT-3), F(nT-2), F(nT-1), F(nT),
(5) в сумме три отсчета, а именно центральный отсчет и два последующих отсчета, F(nT), F(nT+1), F(nT+2), и
(6) в сумме четыре отсчета, а именно центральный отсчет и три последующих отсчета, F(nT), F(nT+1), F(nT+2), F(nT+3)
устанавливаются в качестве альтернатив, и выбирается (4), информация, указывающая, что выбирается (4), включается в дополнительную информацию. Трех битов достаточно для информации, указывающей выбранную альтернативу в данном примере.
Одним способом для выбора одной из альтернатив является следующий. Блок 5 переупорядочения может выполнять переупорядочение, соответствующее каждой из этих альтернатив, и блок 6 кодирования может получать величину кода кодовой последовательности, соответствующей каждой из альтернатив. Тогда может выбираться альтернатива, которая выдает наименьшую величину кода. В данном случае, дополнительная информация, идентифицирующая переупорядочение отсчетов, включенных в последовательность отсчетов, выводится из блока 6 кодирования вместо блока 5 переупорядочения. Этот способ также применим к случаю, когда n может выбираться из множества альтернатив.
Однако может быть очень большое количество комбинаций альтернатив, таких как альтернативы, касающиеся интервала T, альтернативы, касающиеся комбинаций количества отсчетов, включенных в последовательность отсчетов, и индекса отсчета, и альтернативы, касающиеся n. Это требует огромного количества обработки для вычисления окончательной величины кода из всех комбинаций альтернатив, что может вызвать проблему с точки зрения эффективности. С этой точки зрения, предпочтительно, чтобы выполнялся следующий процесс приближенного вычисления для уменьшения количества обработки. Блок 6 кодирования получает приближенные величины кода, которые представляют собой оцененные величины кода посредством простого способа приближенного вычисления для всех комбинаций альтернатив, извлекает множество возможных вариантов, являющихся, вероятно, предпочтительными, например, посредством выбора предварительно определенного количества возможных вариантов, которые выдают наименьшие приближенные величины кода, и выбирает альтернативу, которая выдает наименьшую величину кода из числа выбранных возможных вариантов. Таким образом, может достигаться в достаточной мере малая окончательная величина кода с малым количеством обработки.
В одном примере количество отсчетов, включенных в группу отсчетов, может фиксироваться на «трех», тогда возможные варианты для интервала T уменьшаются до малого количества, количество отсчетов, включенных в группу отсчетов, объединяется с каждым возможным вариантом, и может выбираться наиболее предпочтительная альтернатива.
Альтернативно, приближенная сумма индикаторов отсчетов измеряется, и альтернатива может выбираться на основе концентрации индикаторов отсчетов в области низких частот или на основе количества последовательных отсчетов, которые имеют амплитуду нуля и проходят от самой большой частоты до стороны более низких частот по оси частот. Конкретно, может быть получена сумма абсолютных значений амплитуд переупорядоченных отсчетов в первой ¼ области с низкочастотной стороны переупорядоченной последовательности отсчетов. Если сумма больше предварительно определенного порога, может рассматриваться, что переупорядочение является предпочтительным переупорядочением. Способ выбора альтернативы, которая выдает наибольшее количество последовательных отсчетов, которые имеют амплитуду нуля от самой большой частоты до низкочастотной стороны переупорядоченного отсчета, также может рассматриваться как предпочтительное переупорядочение, так как отсчеты, имеющие большие индикаторы, концентрируются в низкочастотной области.
Когда альтернативы выбираются вышеописанным процессом приближенного вычисления, количество обработки является небольшим, но не может быть принудительно выбрано переупорядочение отсчетов в последовательности отсчетов, которое выдает наименьшую окончательную величину кода. Поэтому, множество альтернатив может выбираться вышеописанным процессом приближенного вычисления, и величины кодов для малого количества возможных вариантов могут окончательно точно вычисляться для выбора наиболее предпочтительной альтернативы (которая выдает малую величину кода).
[Модификация]
В некоторых ситуациях может не быть преимущества в переупорядочении отсчетов, включенных в последовательность отсчетов. В таком случае, необходимо кодировать исходную последовательность отсчетов. Блок 5 переупорядочения, поэтому, выводит также исходную последовательность отсчетов (последовательность отсчетов, которая не была переупорядочена). Затем блок 6 кодирования кодирует исходную последовательность отсчетов посредством кодирования с переменной длиной. Величина кода кодовой последовательности, полученной посредством кодирования с переменной длиной исходной последовательности отсчетов, сравнивается с суммой величины кода кодовой последовательности, полученной посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов, и величины кода дополнительной информации.
Если меньше величина кода кодовой последовательности, полученной посредством кодирования с переменной длиной исходной последовательности отсчетов, выводится кодовая последовательность, полученная посредством кодирования с переменной длиной исходной последовательности отсчетов.
Если меньше сумма величины кода кодовой последовательности, полученной посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов, и величины кода дополнительной информации, выводится кодовая последовательность, полученная посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов, и дополнительная информация.
Если величина кода кодовой последовательности, полученной посредством кодирования с переменной длиной исходной последовательности отсчетов, равна сумме величины кода кодовой последовательности, полученной посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов, и величины кода дополнительной информации, выводится любая одна из кодовой последовательности, полученной посредством кодирования с переменной длиной исходной последовательности отсчетов, и кодовой последовательности, полученной посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов с дополнительной информацией. Какая из них должна выводиться определяется заранее.
Дополнительно, вторая дополнительная информация, указывающая, является ли или нет последовательность отсчетов, соответствующая кодовой последовательности, переупорядоченной последовательностью отсчетов, также выводится (см. фиг.10). Одного бита достаточно для второй дополнительной информации.
Следует отметить, что, если приближенная величина кода, т.е. оцененная величина кода, кодовой последовательности, полученной посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов, получается как описано выше, приближенная величина кода кодовой последовательности, полученной посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов, может использоваться вместо величины кода кодовой последовательности, полученной посредством кодирования с переменной длиной переупорядоченной последовательности отсчетов. Аналогично, приближенная величина кода, т.е. оцененная величина кода, кодовой последовательности, полученной посредством кодирования с переменной длиной исходной последовательности отсчетов, может быть получена и использована вместе величины кода кодовой последовательности, полученной посредством кодирования с переменной длиной исходной последовательности отсчетов.
Кроме того, можно предварительно определить переупорядочение отсчетов, включенных в последовательность отсчетов, если только коэффициент усиления предсказания или оцененный коэффициент усиления предсказания больше предварительно определенного порога. Этот способ использует тот факт, что, когда коэффициент усиления предсказания в речи или музыке является высоким, колебание голосовых связок или колебание музыкального инструмента является сильным, и периодичность является высокой. Коэффициент усиления предсказания представляет собой энергию исходного звука, деленную на энергию остатка предсказания. При кодировании, которое использует коэффициенты линейного предсказания и коэффициенты PARCOR в качестве параметров, квантованные параметры могут использоваться совместно на кодере и на декодере. Поэтому, например, блок 6 кодирования может использовать квантованный коэффициент k(i) PARCOR i-го порядка, полученный другими неизображенными средствами, обеспечиваемыми в кодере 100, для вычисления оцененного коэффициента усиления предсказания, представленного обратной величиной для (1-k(i)*k(j)), умноженной для каждого порядка. Если вычисленное оцененное значение больше предварительно определенного порога, блок 6 кодирования выводит кодовую последовательность, полученную посредством кодирования с переменной длиной переупорядоченного отсчета; в противном случае, блок кодирования выводит кодовую последовательность, полученную посредством кодирования с переменной длиной исходной последовательности отсчетов. Если квантованные параметры могут использоваться совместно на кодере и на декодере как в данном примере, нет необходимости выводить вторую дополнительную информацию, указывающую, является ли или нет последовательность отсчетов, соответствующая кодовой последовательности, переупорядоченной последовательностью отсчетов. Т.е. вероятно, что переупорядочение имеет минимальный эффект в непредсказуемом шумовом сигнале или паузе, и, поэтому, переупорядочение опускается для уменьшения бесполезного использования дополнительной информации и вычислений.
В альтернативной конфигурации блок 5 переупорядочения может вычислять коэффициент усиления предсказания или оцененный коэффициент усиления предсказания. Если коэффициент усиления предсказания или оцененный коэффициент усиления предсказания больше предварительно определенного порога, блок 5 переупорядочения может переупорядочивать последовательность отсчетов и выводить переупорядоченную последовательность отсчетов на блок 6 кодирования; в противном случае, блок 5 переупорядочения может выводить последовательность отсчетов, введенную в блок 5 переупорядочения, на блок 6 кодирования без переупорядочения последовательности отсчетов. Затем блок 6 кодирования может кодировать последовательность отсчетов, выводимую с блока 5 переупорядочения, посредством кодирования с переменной длиной.
В данной конфигурации порог предварительно устанавливается в качестве значения, общего для кодирующей стороны и декодирующей стороны.
Следует отметить, что кодирование Райса, энтропийное кодирование и кодирование длины серий, взятые в качестве примера в данном документе, все являются общеизвестными и, поэтому, опускается подробное описание этих способов.
Процесс декодирования
Ниже описывается процесс декодирования со ссылкой на фиг. 5 и 6.
В декодере 200 коэффициенты MDCT восстанавливаются посредством выполнения процесса, обратного процессу кодирования кодером 100 или 100a. По меньшей мере вышеописанная информация о коэффициенте усиления, дополнительная информация и кодовые последовательности вводятся в декодер 200. Если вторая дополнительная информация выводится с кодера 100a, вторая дополнительная информация также вводится в декодер 200.
Блок 11 декодирования
Сначала блок 11 декодирования декодирует входную кодовую последовательность в соответствии с информацией о выборе и выводит последовательность отсчетов в частотной области на покадровой основе (этап S11). Конечно, выполняется способ декодирования, соответствующий способу кодирования, выполняемому для получения кодовой последовательности. Подробности процесса декодирования блоком 11 декодирования соответствуют подробностям процесса кодирования блоком 6 кодирования кодера 100. Поэтому, описание процесса кодирования включено здесь утверждением, что декодирование, соответствующее кодированию, выполняемому кодером 100, представляет собой процесс декодирования, выполняемый блоком 11 декодирования, и, таким образом, опускается подробное описание процесса декодирования. Следует отметить, что, какой тип кодирования выполнялся, может идентифицироваться информацией о выборе. Если информация о выборе включает в себя, например, информацию, идентифицирующую область, где применялось кодирование Райса, и параметры Райса, информация, указывающая область, где применялось кодирование длины серий, и информация, идентифицирующая тип энтропийного кодирования, способы декодирования, соответствующие этим способам кодирования, применяются к соответствующим областям входных последовательностей кодирования. Процесс декодирования, соответствующий кодированию Райса, процесс декодирования, соответствующий энтропийному кодированию, и процесс декодирования, соответствующий кодированию длины серий, хорошо известны и, поэтому, описание этих процессов декодирования опускается.
Блок 12 восстановления
Затем блок 12 восстановления получает последовательность исходных отсчетов из последовательности отсчетов частотной области от блока 11 декодирования на покадровой основе в соответствии с входной дополнительной информацией (этап S12). В данном случае, «последовательность исходных отсчетов» эквивалента «последовательности отсчетов частотной области», вводимой в блок 5 переупорядочения кодера 100. Хотя существуют различные способы переупорядочения, которые могут выполняться блоком 5 переупорядочения кодера 100, и различные возможные альтернативы переупорядочения, соответствующие способам переупорядочения, как изложено выше, только один тип переупорядочения, если он есть, был выполнен над последовательностью, и информация, идентифицирующая переупорядочение, включена в дополнительную информацию. Следовательно, блок 12 восстановления может переупорядочивать последовательность отсчетов частотной области, выводимую с блока 11 декодирования, в исходную последовательность отсчетов на основе дополнительной информации.
Следует отметить, что также возможна альтернативная конфигурация, в которой вводится вторая дополнительная информация, указывающая, было ли выполнено переупорядочение или нет. В данной конфигурации, если вторая дополнительная информация, указывающая, было ли выполнено переупорядочение или нет, указывает, что переупорядочение было выполнено, блок 12 восстановления переупорядочивает последовательность отсчетов частотной области, выводимую с блока 11 декодирования, в исходную последовательность отсчетов; если вторая дополнительная информация указывает, что переупорядочение не было выполнено, блок 12 восстановления выводит последовательность отсчетов частотной области, выводимую с блока 11 декодирования, без переупорядочения.
Также возможна другая альтернативная конфигурация, в которой выполняется определение на основе величины коэффициента усиления предсказания или оцененного коэффициента усиления предсказания, было ли выполнено переупорядочение или нет. В данной конфигурации блок 12 восстановления использует квантованный коэффициент k(i) PARCOR i-го порядка, вводимый от других неизображенных средств, обеспечиваемых в декодере 200, для вычисления оцененного коэффициента усиления предсказания, представляемого обратной величиной для (1-k(i)*k(j)), умноженной для каждого порядка. Если вычисленное оцененное значение больше предварительно определенного порога, блок 12 восстановления переупорядочивает последовательность отсчетов частотной области, выводимую с блока 11 декодирования, в исходную последовательность отсчетов, и выводит результирующую последовательность отсчетов; в противном случае, блок 12 восстановления выводит последовательность отсчетов, выводимую с блока 11 декодирования, без переупорядочения.
Подробности процесса восстановления, выполняемого блоком 12 восстановления, соответствуют подробностям процесса переупорядочения, выполняемого блоком 5 переупорядочения кодера 100. Поэтому, описание процесса переупорядочения включено здесь посредством утверждения, что процесс восстановления, выполняемый блоком 12 восстановления, является обратным переупорядочению, выполняемому блоком 5 переупорядочения (переупорядочения в обратном порядке), и, таким образом, опускается подробное описание процесса восстановления. Чтобы способствовать пониманию процесса, ниже описывается один пример процесса восстановления, соответствующий конкретному примеру описанного ранее процесса переупорядочения.
Например, в описанном ранее примере, в котором блок 5 переупорядочения собирает вместе группы отсчетов в кластер на низкочастотной стороне и выводит F(T-1), F(T), F(T+1), F(2T-1), F(2T), F(2T+1), F(3T-1), F(3T), F(3T+1), F(4T-1), F(4T), F(4T+1), F(5T-1), F(5T), F(5T+1), F(1), …, F(T-2), F(T+2), …, F(2T-2), F(2T+2), …, F(3T-2), F(3T+2), …, F(4T-2), F(4T+2), …, F(5T-2), F(5T+2), …, F(jmax), последовательность отсчетов частотной области F(T-1), F(T), F(T+1), F(2T-1), F(2T), F(2T+1), F(3T-1), F(3T), F(3T+1), F(4T-1), F(4T), F(4T+1), F(5T-1), F(5T), F(5T+1), F(1), …, F(T-2), F(T+2), …, F(2T-2), F(2T+2), …, F(3T-2), F(3T+2), …, F(4T-2), F(4T+2), …, F(5T-2), F(5T+2), …, F(jmax), выводимая из блока 11 декодирования, вводится в блок 12 восстановления.
Дополнительная информация включает в себя информацию, такую как информация, касающаяся интервала T, информацию, указывающую, что n является целым числом, которое больше или равно 1 и меньше или равно 5, и информацию, указывающую, что группа отсчетов содержит три отсчета. Следовательно, основываясь на дополнительной информации, блок 12 восстановления может восстанавливать входную последовательность отсчетов F(T-1), F(T), F(T+1), F(2T-1), F(2T), F(2T+1), F(3T-1), F(3T), F(3T+1), F(4T-1), F(4T), F(4T+1), F(5T-1), F(5T), F(5T+1), F(1), …, F(T-2), F(T+2), …, F(2T-2), F(2T+2), …, F(3T-2), F(3T+2), …, F(4T-2), F(4T+2), …, F(5T-2), F(5T+2), …, F(jmax) в исходную последовательность отсчетов F(j)(1≤j≤jmax).
Блок 13 обратного квантования
Затем блок 13 обратного квантования выполняет обратное квантование последовательности исходных отсчетов F(j)(1≤j≤jmax), выводимую с блока 12 восстановления на покадровой основе (этап S13). Рассматривая пример, описанный ранее, «взвешенная нормализованная последовательность коэффициентов MDCT, нормализованная по коэффициенту усиления», вводимая в блок 4 квантования кодера 100, может быть получена посредством обратного квантования.
Блок 14 умножения на коэффициент усиления
Затем блок 14 умножения на коэффициент усиления умножает на покадровой основе каждый коэффициент из «взвешенной нормализованной последовательности коэффициентов MDCT, нормализованной по коэффициенту усиления», выводимой с блока 13 обратного квантования, на коэффициент усиления, идентифицированный в информации о коэффициенте усиления, описанной выше, для получения «нормализованной взвешенной последовательности нормализованных коэффициентов MDCT» (этап S14).
Блок 15 обратной нормализации взвешенной огибающей
Затем блок 15 обратной нормализации взвешенной огибающей делит на покадровой основе каждый коэффициент «нормализованной взвешенной последовательности нормализованных коэффициентов MDCT», выводимой с блока 14 умножения на коэффициент усиления, на взвешенное значение огибающей спектра мощности для получения «последовательности коэффициентов MDCT» (этап S15).
Блок 16 преобразования временной области
Затем блок 16 преобразования временной области преобразует на покадровой основе «последовательность коэффициентов MDCT», выводимую с блока 15 обратной нормализации взвешенной огибающей, во временную область для получения цифрового сигнала речи/аудио в кадре (этап S16).
Так как процессы на этапах S13-S16 представляют собой обычные процессы, подробное описание этих процессов опускается. Такие процессы, например, подробно изложены в непатентной литературе, перечисленной выше.
Как очевидно из варианта осуществления, если, например, основная частота не вызывает сомнения, эффективное кодирование может выполняться посредством кодирования последовательности отсчетов, переупорядоченной в соответствии с основной частотой (т.е. может быть уменьшена средняя длина кода). Кроме того, так как отсчеты, имеющие равные или почти равные индикаторы, собираются вместе в кластер в локальной области посредством переупорядочения отсчетов, включенных в последовательность отсчетов, искажение квантования и величина кода могут быть уменьшены, в то же время позволяя выполнять эффективное кодирование.
<Примерная аппаратная конфигурация кодера/декодера>
Кодер/декодер согласно вышеописанным вариантам осуществления включает в себя блок ввода, к которому могут быть подключены клавиатура и т.п., блок вывода, к которому может быть подключен жидкокристаллический дисплей и т.п., центральный блок обработки (CPU) (который может включать в себя память, такую как кэш-память), запоминающие устройства, такие как оперативное запоминающее устройство (RAM) и постоянное запоминающее устройство (ROM), внешнее запоминающее устройство, которым является жесткий диск, и шину, которая соединяет между собой блок ввода, блок вывода, CPU, RAM, ROM и внешнее запоминающее устройство таким образом, что они могут обмениваться данными. Устройство (привод), способное считывать и записывать данные на носитель записи, такой как компакт-диск (CD-ROM), может обеспечиваться в кодере/декодере по мере необходимости. Физическим объектом, который включает в себя эти аппаратные ресурсы, может быть компьютер общего назначения.
Программы для выполнения кодирования/декодирования и данные, необходимые для обработки программами, хранятся на внешнем запоминающем устройстве кодера/декодера (запоминающее устройство не ограничивается внешним запоминающим устройством; например, программы могут храниться на постоянном запоминающем устройстве, таком как ROM). Данные, полученные посредством обработки программ, сохраняются в RAM или на внешнем запоминающем устройстве по мере необходимости. Запоминающее устройство, которое хранит данные и адреса своих ячеек запоминающего устройства, ниже в данном документе просто упоминается как «запоминающее устройство».
Запоминающее устройство кодера хранит программу для переупорядочения отсчетов в каждой последовательности отсчетов, включенных в частотную область, которая выводится из сигнала речи/аудио, и программу для кодирования переупорядоченных последовательностей отсчетов.
Запоминающее устройство декодера хранит программу для декодирования входных кодовых последовательностей и программу для восстановления декодированных последовательностей отсчетов в исходные последовательности отсчетов перед выполнением переупорядочения кодером.
В кодере программы, хранимые в запоминающем устройстве, и данные, необходимые для обработки программ, загружаются в RAM при необходимости и интерпретируются и исполняются или обрабатываются посредством CPU. В результате, CPU реализует данные функции (блок переупорядочения и блок кодирования) для реализации кодирования.
В декодере программы, хранимые в запоминающем устройстве, и данные, необходимые для обработки программ, загружаются в RAM при необходимости и интерпретируются и исполняются или обрабатываются посредством CPU. В результате, СЗГ реализует данные функции (блок декодирования и блок восстановления) для реализации декодирования.
<Приложение>
Настоящее изобретение не ограничивается вариантами осуществления, описанными выше, и могут быть сделаны модификации без отступления от сущности настоящего изобретения. Кроме того, процессы, описанные в вариантах осуществления, могут выполняться не только во временной последовательности, как написано, а могут выполняться параллельно друг другу или индивидуально, в зависимости от пропускной способности устройств, которые выполняют процессы, или требований.
Если функции обработки любого из аппаратных объектов (кодер/декодер), описанных в вариантах осуществления, реализуются компьютером, обработка функций, которые аппаратные объекты должны включать в себя, описывается в программах. Программа исполняется на компьютере для реализации функций обработки аппаратного объекта на компьютере.
Программы, описывающие обработку, могут быть записаны на компьютерно-читаемом носителе записи. Компьютерно-читаемым носителем записи может быть любой носитель записи, такой как устройство магнитной записи, оптический диск, носитель магнитооптической записи и полупроводниковая память. Конкретно, например, устройство жесткого диска, гибкий диск или магнитная лента могут использоваться в качестве устройства магнитной записи, цифровой многофункциональный диск (DVD), перезаписываемый DVD (DVD-RAM), компакт-диск (CD-ROM) или компакт-диск одноразовой записи (CD-R)/перезаписываемый компакт-диск (CD-RW) могут использоваться в качестве оптического диска, магнитооптический диск (MO) может использоваться в качестве магнитооптического носителя записи, и электронно-стираемое и программируемое постоянное запоминающее устройство (EEPROM) может использоваться в качестве полупроводниковой памяти.
Программа распределяется посредством продажи, пересылки или аренды съемного носителя записи, на котором записана программа, такого как DVD или CD-ROM. Программа может храниться на запоминающем устройстве серверного компьютера и пересылаться с серверного компьютера на другие компьютеры по сети, таким образом распространяя программу.
Компьютер, который исполняет программу, сначала сохраняет программу, записанную на съемном носителе записи или пересылаемую с серверного компьютера, на запоминающем устройстве компьютера. Когда компьютер исполняет процессы, компьютер считывает программу, сохраненную на носителе записи компьютера, и исполняет процессы в соответствии со считанной программной. В другом режиме исполнения программы компьютер может считывать программу непосредственно со съемного носителя записи и исполнять процессы в соответствии с программой или может исполнять процессы в соответствии с программой каждый раз, когда программа пересылается с серверного компьютера на компьютер. Альтернативно, процессы могут исполняться с использованием так называемой службы поставщика услуг приложений (ASP), в которой программа не пересылается с серверного компьютера на компьютер, но функции обработки реализуются посредством инструкций на исполнение программы и сбор результатов исполнения. Следует отметить, что программа в данном режиме охватывает информацию, которая обеспечивается для обработки электронным компьютером, и эквивалентна программе (такой как данные, которые не являются непосредственными командами для компьютера, но имеют сущность, которая определяет обработку компьютера).
Хотя аппаратные объекты конфигурируются так, чтобы вызывать исполнение компьютером предварительно определенной программы в вышеописанных вариантах осуществления, по меньшей мере некоторые из процессов могут быть реализованы аппаратными средствами.