АУДИОКОДЕК С ПРЕОБРАЗОВАНИЕМ И СПОСОБЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВРЕМЕННОГО СЕГМЕНТА АУДИОСИГНАЛА
TRANSFORM AUDIO CODEC AND METHODS FOR ENCODING AND DECODING TIME SEGMENT OF AUDIO SIGNAL

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[01] Данное изобретение относится к кодированию и декодированию временного сегмента аудиосигнала, и в частности, к кодированию и декодированию в аудиокодеке с преобразованием.
УРОВЕНЬ ТЕХНИКИ
[02] Ранее известно использование схем кодирования области преобразования, например, как схема, описанная в [1]. Ниже будет дан общий обзор таких схем кодирования области преобразования.
[03] Колебательный сигнал, который должен быть кодирован, преобразуется на поблочной основе в частотную область. Одним широко используемым преобразованием, используемым для этой цели, является так называемое Модифицированное дискретное косинусное преобразование (MDCT). Полученный таким образом вектор преобразования частотной области разделяется на огибающую спектра (медленно изменяющаяся энергия) и остаток спектра. Остаток спектра получается посредством нормализации полученного вектора частотной области с помощью вышеуказанной огибающей спектра. Огибающая спектра квантуется, и индексы квантования передаются декодеру. Далее, квантованная огибающая спектра используется в качестве входного сигнала для алгоритма распределения битов, и биты для кодирования остаточных векторов распределяются на основе характеристик огибающей спектра. В качестве результата этого этапа, определенное число битов назначается разным частям остатка (остаточным векторам или "подвекторам"). Некоторые остаточные векторы не принимают никакие биты и должны быть заполнены шумом или расширены в полосе пропускания, что проиллюстрировано, например, на Фиг. 1. Обычно, кодирование остаточных векторов является двухэтапной процедурой; сначала кодируются амплитуды элементов вектора, и затем кодируется знак (который не следует путать с "фазой", которая ассоциирована, например, с преобразованиями Фурье) ненулевых элементов, что проиллюстрировано, например, на Фиг. 2. Индексы квантования для амплитуды и знака остатка передаются декодеру, где остаток и огибающая спектра объединяются, и в итоге преобразуются обратно во временную область.
[04] Однако, когда число битов, доступных для кодирования, ограничено, как например, при низких или умеренных скоростях передачи битов, результат кодирования может быть неудовлетворительным.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[05] Было бы желательно достигнуть улучшенной схемы кодирования области преобразования. Целью данного изобретения является обеспечение возможности эффективного кодирования в аудиокодере с преобразованием и соответствующего декодирования в аудиодекодере с преобразованием.
[06] Согласно первому аспекту, предоставлен способ кодирования временного сегмента аудиосигнала в аудиокодере с преобразованием. Способ содержит этапы, на которых выводят указатель, z, положения на частотной шкале остаточного вектора, ассоциированного с временным сегментом аудиосигнала, и выводят показатель, Φ, относящийся к величине структуры остаточного вектора. Способ дополнительно содержит этап, на котором определяют, удовлетворен ли предварительно заданный критерий, предусматривающий показатель Φ, указатель z и предварительно заданный порог θ, что соответствует оценке, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала. Кодируется соответствующая амплитуда коэффициентов остаточного вектора, и знаки коэффициентов остаточного вектора кодируются, только когда определено, что критерий удовлетворен и, таким образом, что изменение знака будет слышно.
[07] Согласно второму аспекту, предоставлен аудиокодер с преобразованием для кодирования временного сегмента аудиосигнала. Аудиокодер с преобразованием содержит функциональный блок, который выполнен для вывода указателя, z, положения на частотной шкале остаточного вектора, ассоциированного с временным сегментом аудиосигнала, и вывода показателя, Φ, который относится к величине структуры остаточного вектора. Аудиокодер с преобразованием дополнительно содержит функциональный блок, который выполнен для определения, удовлетворен ли критерий, предусматривающий показатель Φ, указатель z, предварительно заданный порог θ. Аудиокодер с преобразованием дополнительно содержит функциональный блок, который выполнен для кодирования амплитуды коэффициентов остаточного вектора и кодирования соответствующего знака коэффициентов остаточного вектора, только когда определено, что критерий удовлетворен.
[08] Вышеприведенный способ и аудиокодер с преобразованием могут быть использованы для обеспечения возможности эффективного кодирования с преобразованием аудиосигналов. При применении вышеописанного способа и аудиокодера с преобразованием, для кодирования аудиосигнала может требоваться меньше битов по сравнению с тем, когда используются ранее известные аудиокодеры с преобразованием. Даже если для кодирования используются меньше битов, воспринимаемое качество реконструированного аудиосигнала не ухудшается по сравнению с тем, когда используются известные ранее аудиокодеры с преобразованием. И наоборот, биты, которые были сбережены, могут вместо этого быть использованы для кодирования частей аудиосигнала, воспринимаемое качество которого могло бы быть улучшено, когда имеется доступ к увеличенному запасу битов для кодирования. Таким образом, вышеприведенный способ и компоновка обеспечивают возможность более эффективной схемы распределения битов для аудиокодеков области преобразования, так как биты могут быть сдвинуты к параметрам сигнала в аудиосигнале, которые более критичны к воспринимаемому качеству реконструированного сигнала. Таким образом, может быть достигнуто общее улучшение качества, в то же время сохраняя определенный запас битов.
[09] Согласно третьему варианту осуществления, предоставлен способ декодирования кодированного временного сегмента аудиосигнала в аудиодекодере с преобразованием. Способ содержит этап, на котором декодируют амплитуды коэффициентов остаточного вектора сегмента вектора преобразования, ассоциированного с временным сегментом аудиосигнала. Способ дополнительно содержит этапы, на которых выводят указатель, z, положения на частотной шкале остаточного вектора и выводят показатель, Φ, относящийся к величине структуры остаточного вектора. Способ дополнительно содержит этап, на котором определяют, удовлетворен ли предварительно заданный критерий, предусматривающий показатель Φ, указатель z и предварительно заданный порог θ, что соответствует оценке, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала. Когда определено, что критерий удовлетворен, что соответствует тому, что изменение знака будет слышно в реконструированном аудиосигнале, кодируются знаки коэффициентов остаточного вектора. Когда определено, что критерий не удовлетворен, и таким образом, что изменение знака будет не слышно в реконструированном аудиосигнале, генерируется соответствующий произвольный знак для ненулевых коэффициентов остаточного вектора.
[010] Согласно четвертому варианту осуществления, предоставлен аудиодекодер с преобразованием для декодирования кодированного временного сегмента аудиосигнала. Аудиодекодер с преобразованием содержит функциональный блок, который выполнен для декодирования соответствующей амплитуды коэффициентов остаточного вектора сегмента вектора преобразования, ассоциированного с временным сегментом аудиосигнала. Аудиодекодер с преобразованием содержит функциональный блок, который выполнен для вывода указателя, z, положения на частотной шкале остаточного вектора и вывода показателя, Φ, относящегося к величине структуры остаточного вектора. Аудиодекодер с преобразованием дополнительно содержит функциональный блок, который выполнен для определения, удовлетворен ли критерий, предусматривающий показатель Φ, указатель z и предварительно заданный порог θ. Аудиодекодер с преобразованием дополнительно выполнен для декодирования знака ненулевых коэффициентов остаточного вектора, только когда определено, что критерий удовлетворен. Аудиодекодер с преобразованием дополнительно содержит функциональный блок, который выполнен для генерирования соответствующего произвольного знака для ненулевых коэффициентов остаточного вектора, когда определено, что критерий не удовлетворен.
[011] Вышеприведенный способ в декодере и аудиодекодере/кодеке с преобразованием мог бы быть использован для декодирования аудиосигналов, которые кодированы с использованием способа и аудиокодера с преобразованием, описанными выше, и таким образом обеспечивает возможность эффективного кодирования и улучшенного распределения битов, рассмотренного выше.
[012] Вышеприведенные способы и аудиокодер/аудиодекодер, или кодек, с преобразованием могут быть реализованы в разных вариантах осуществления. В некоторых вариантах осуществления, показатель, Φ, является так называемым показателем спектральной неравномерности. Предварительно заданный критерий может быть сформулирован как
1
2
1
2
1
2
ωΦ+ωz≤θ(b), где ω и ω являются коэффициентами масштабирования; и θ является порогом, который зависит от скорости передачи битов кодека (кодера/декодера), ω, ω и θ могут быть, по меньшей мере частично, выведены из эмпирических данных восприятия.
[013] К тому же, порог θ может быть выполнен с возможностью увеличения при увеличенной скорости передачи битов кодека. Это дает преимущество того, что кодирование адаптировано для количества битов, которые доступны для кодирования. Например, при высоких скоростях передачи битов, запас битов может обеспечить возможность кодирования знаков ненулевых коэффициентов большинства или даже всех остаточных векторов. Если порог θ выполнен с возможностью увеличения при увеличенной скорости передачи битов (и таким образом запасе битов), порог θ может быть сконфигурирован так, чтобы критерий был удовлетворен для большинства (или всех) остаточных векторов при высоких скоростях передачи битов, тогда как для более низких скоростей передачи битов (и таким образом, ограниченного запаса битов), больше остаточных векторов будут с кодированной амплитудой, но в декодере будут назначены произвольные знаки.
c
[014] К тому же, показатель, Φ, мог бы быть выведен, только когда указатель, z, указывает, что остаточный вектор размещен в частотах выше предварительно заданной переходной частоты Z, которая зависит от скорости передачи битов кодека (кодера/декодера). Тем самым, можно было бы избежать довольно сложного вычисления Φ для остаточных векторов, изменение знака некоторых коэффициентов которых было бы вероятно слышно в реконструированном аудиосигнале. Таким образом, можно сберечь вычислительные ресурсы. Переходная частота, которая увеличивается при увеличенной скорости передачи битов и запасе битов, обеспечивает, что знаки одного или более остаточных векторов с кодированной амплитудой будут кодированы, когда запас битов обеспечит возможность для этого.
FPC
[015] В вариантах осуществления изобретения, где для кодирования остаточного вектора используется схема факториального импульсного кодирования, FPC, показатель Φ мог бы быть выведен очень эффективным с точки зрения низкой сложности вычислений образом, а именно:
NZP
TP
где N является числом ненулевых положений в остаточном векторе, и N является суммарным числом импульсов в остаточном векторе.
[016] Вышеприведенные варианты осуществления в основном были описаны в том, что касается способа. Однако, вышеприведенное описание также предназначено для охвата вариантов осуществления аудиокодера и декодера с преобразованием, выполненных для обеспечения возможности выполнения вышеописанных признаков. Разные признаки вышеприведенных примерных вариантов осуществления могут быть скомбинированы разным образом согласно необходимости, требованиям или предпочтению.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[017] Теперь данное изобретение будет более подробно описано в качестве примера и со ссылкой на приложенные чертежи, на которых:
Фиг. 1 является схематичной диаграммой, иллюстрирующей огибающую спектра и кодирование соответствующего остатка, согласно известному уровню техники.
Фиг. 2 является диаграммой, иллюстрирующей две стадии квантования остатка. График сверху иллюстрирует результат первой стадии квантования остатка, где амплитуда каждого элемента вектора кодируется независимо от знака. График снизу иллюстрирует второй этап квантования, где знак добавляется к уже кодированной амплитуде. Добавление знака является эквивалентным умножению на +1 или -1.
Фиг. 3 является схематичной диаграммой, иллюстрирующей огибающую спектра и соответствующий остаток, согласно приведенному в качестве примера варианту осуществления данного изобретения.
Фиг. 4 является схемой последовательности операций, иллюстрирующей действия в процедуре в аудиокодере с преобразованием, согласно приведенному в качестве примера варианту осуществления.
Фиг. 5 является блок-схемой, иллюстрирующей аудиокодер с преобразованием, согласно приведенному в качестве примера варианту осуществления.
Фиг. 6 является схемой последовательности операций, иллюстрирующей действия в процедуре в аудиодекодере с преобразованием, согласно приведенному в качестве примера варианту осуществления.
Фиг. 7 является блок-схемой, иллюстрирующей аудиодекодер с преобразованием, согласно приведенному в качестве примера варианту осуществления.
Фиг. 8 является блок-схемой, иллюстрирующей компоновку в аудиокодере с преобразованием, согласно приведенному в качестве примера варианту осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[018] В традиционных схемах, изложенных выше, распределение битов для разных остаточных векторов полностью основано на огибающей спектра. Новая схема для кодирования с преобразованием, описанная в настоящем документе, обеспечивает возможность сбережения битов на основе анализа остаточных векторов, и данная схема может быть применена в схемах кодирования области преобразования, где последовательно кодируются амплитуда и знак, относящиеся к остаточным векторам. Новая схема обеспечивает возможность более эффективного кодирования определенных участков аудиосигналов, по сравнению с традиционными способами, посредством обеспечения возможности сбережения битов, которые были ранее потрачены на кодирование характеристик, в частности остаточных векторов, характеристики которых, фактически, не слышны в первоначальном и/или реконструированном аудиосигнале.
[019] "Остаточный вектор" в настоящем документе означает часть или сегмент остатка вектора преобразования, относящегося к временному сегменту аудиосигнала. Таким образом, остаточный вектор мог бы быть обозначен как "остаточный подвектор", или аналогично.
[020] Термин "аудиокодек с преобразованием" или "кодек с преобразованием" охватывает пару кодер-декодер и является термином, который обычно используется в данной области техники. В рамках этого раскрытия, термины "аудиокодер с преобразованием" и "аудиодекодер с преобразованием" используются для того, чтобы по отдельности описать функции/части кодека с преобразованием. Термины "аудиокодер с преобразованием" и "аудиодекодер с преобразованием" могли бы таким образом быть заменены на, или интерпретированы как, термин "аудиокодек с преобразованием" или "кодек с преобразованием". Кодер и декодер работают с одинаковой скоростью передачи битов. Таким образом, выражения "скорость передачи битов кодера" и "скорость передачи битов декодера" могли бы быть заменены на, или интерпретированы как, "скорость передачи битов кодека".
[021] Фиг. 1 иллюстрирует огибающую спектра вектора преобразования, соответствующего временному сегменту аудиосигнала. К тому же, на Фиг. 1, кодирование соответствующего остатка проиллюстрировано линией 102. Сплошные части линии иллюстрируют остаточные векторы, которые кодированы, и пунктирные части линии иллюстрируют остаточные векторы, которые не кодированы, но которые вместо этого заполнены шумом или расширены в полосе пропускания. Секции, которые заполнены шумом или расширены в полосе пропускания, обычно являются остаточными векторами низкой энергии. Биты не тратятся на кодирование этих остаточных векторов, но вместо этого приемник/декодер, например, заполняет "промежуток" шумом, или копирует другой, например соседний, остаточный вектор (или подвектор), который используется вместо некодированного или "пропущенного" остаточного вектора.
[022] Фиг. 2 иллюстрирует кодирование квантованного остаточного вектора, содержащего восемь элементов или элементов разрешения по частоте. Верхний график показывает амплитуду элементов остаточного вектора, который кодирован на первом этапе кодирования. Нижний график показывает амплитуду и также знак восьми элементов. Знак каждого элемента кодируется на втором этапе кодирования. "Остаточный вектор" мог содержать разное количество элементов, в зависимости от того, например, какой кодек используется, или размещения в частоте остаточного вектора.
[023] Как упоминалось ранее, есть участки аудиосигналов, которые могут быть кодированы более эффективно, и таким образом, можно было бы сберечь биты, которые могли бы быть лучше использованы где-либо еще. Однако, для того, чтобы обработать эти участки особым образом, они должны быть идентифицированы, что не является тривиальной проблемой. Ниже будет описана схема для идентификации или выбора таких участков в аудиосигнале и для кодирования этих участков эффективным образом. Чем больше участков, которые могут быть кодированы более эффективно, тем больше битов можно сберечь. Однако, предпочтительно сберегать биты, не вызывая воспринимаемое ухудшение реконструированного аудиосигнала.
[024] Человеческая слуховая система очень развита и имеет определенные свойства, которые все еще не объяснены, несмотря на многочисленные попытки, сделанные исследователями, например, в области восприятия, чтобы найди объяснение, например, посредством выполнения различных фундаментальных тестов на прослушивание. Одним таким еще не объясненным свойством является значение фазы в аудиосигналах. Однако, фундаментальные тесты на прослушивание, где разные реконструированные аудиостимулы с переменной фазой были представлены слушателям, дали в результате некоторое базовое знание. Например, одним признаком человеческой слуховой системы является то, что "шумоподобные" сегменты сигнала звучат одинаково для слушателя, даже если первоначальная фаза сегментов сигнала изменена. Другими словами, очень трудно для слушателя-человека воспринять разницу между разными реализациями шума. К тому же, чем выше частота сегмента аудиосигнала, тем человеческая слуховая система менее чувствительна к разностям фаз, которые таким образом становятся менее слышны при увеличенной частоте.
[025] В предложенной в настоящем документе схеме для улучшения эффективности аудиокодирования с преобразованием, вышеописанные свойства человеческой слуховой системы эксплуатируются и используются для кодирования аудиосигнала. В аудиокодировании с преобразованием, знак коэффициентов преобразования относится к фазе аудиосигнала. Данные свойства используются посредством того, что кодируется только амплитуда, а не знак ненулевых элементов или коэффициентов в остаточном векторе, когда ожидается, что изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора не будет слышно после реконструкции временного сегмента аудиосигнала. Это могло быть также выражено, как если кодируются и амплитуда, и знак ненулевых элементов или коэффициентов в остаточном векторе, когда ожидается, что изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора будет слышно после реконструкции временного сегмента аудиосигнала.
[026] Идентификация и выбор остаточных векторов, для которых кодирование знака может быть опущено без воспринимаемого ухудшения реконструированного аудиосигнала, и таким образом, у которых амплитуда остаточных векторов, но не знак, должна быть кодирована, основаны на двух параметрах:
- показателе, Φ, который отражает "структуру" остаточного вектора, например, так называемом "показателе неравномерности" (где "неравномерность" относится к распределению энергии по частоте). Предпочтительно, должно быть возможно вычислить или вывести показатель Φ на основе остаточного вектора "с кодированной амплитудой" в декодере, так чтобы не требовалось тратить биты на сигнализирование этого показателя от кодера к декодеру. В этом описании, показатель Φ является значением между 0 и 1 (Φ∈(0,1)), где шумоподобные сегменты сигнала, имеющие низкую величину структуры, такую как, например, в белом шуме, воспроизводят значение ближе к Φ=1, и сегменты сигнала, имеющие большую величину структуры, такую как, например, в сигнале, содержащем тоны (синусоиды) в нескольких частотах, воспроизводят значения ближе к Φ=0.
i
i
i
- индексе частоты, z, конкретного остаточного вектора i. Индекс z частоты должен указывать, где на частотной шкале расположен остаточный вектор i. В следующем описании предполагается, что остаточные векторы упорядочены, например так, что: вектор с индексом z=1 занимает, например, частоты 1-200 Гц, вектор с индексом z=2 занимает, например, частоты 201-400 Гц и вектор с индексом z=3 занимает, например, частоты 401-600 Гц, и т.д. Итак, здесь, большее значение индекса z частоты соответствует остаточному вектору i, который расположен по центру более высоких частот (чем остаточный вектор, имеющий более низкий индекс частоты).
Эти параметры, Φ и z, отражают два свойства человеческой слуховой системы, рассмотренные выше, в том, что:
Φ указывает, насколько шумоподобным является сигнал, что отражает свойство, что "шумоподобные" сегменты сигнала звучат одинаково, даже если их первоначальная фаза заменена;
z указывает положение на частотной шкале, которое отражает свойство, что разницы фаз менее слышны при более высоких частотах.
[027] Так называемый показатель (1) неравномерности относится к распределению энергии по частоте и к величине структуры остаточного вектора и задан как:
n
где x является остаточным вектором с кодированной амплитудой (т.е. знак не нужен, см. первый график на Фиг. 2) с размерностью N=8. Из определения показателя неравномерности следует, что Φ∈(0,1), и Φ→0, когда величина структуры увеличивается.
[028] Так как знак становится более важным с уменьшением Φ (в сторону большей величины структуры) и уменьшением z (в сторону менее слышимых частот), и наоборот, решение, кодировать ли знак или нет, может быть принято на повекторной основе, например, согласно (2), так что знак кодируется, когда удовлетворен определенный критерий, и знак не кодируется, когда определенный критерий не удовлетворен (или наоборот, в зависимости от того, как сформулирован критерий):
1
2
Здесь ω и ω являются коэффициентами масштабирования, которые были найдены эмпирически. Порог θ(b), который также найден эмпирически, здесь зависит от скорости передачи битов кодека, b, где b, например, может принимать значения b ∈ {24,32,64,96,128} кбит/с. Когда θ(b) спроектирован для увеличения со скоростью передачи битов, несколько векторов будут кодированы с произвольной фазой (т.е. кодированная амплитуда, но не знак) с более высокими скоростями передачи битов.
c
c
[029] Знак является ощутимо важным при низких частотах, и вследствие этого, на практике, знак будет почти без исключения кодирован ниже некоторой определенной частоты. Следовательно, уменьшение сложности может быть достигнуто посредством введения правила, указывающего, что показатель Φ неравномерности не должен вычисляться для остаточных векторов ниже определенной частоты, Z. Например, логика в (2) может быть использована только для остаточных векторов выше предварительно заданной "переходной" частоты Z(b); тогда как для остаточных векторов ниже "переходной" частоты Z(b), фаза "всегда" кодируется без вычисления Φ. Это может быть сформулировано в псевдокоде как:
[030] В случае использования схемы факториального импульсного кодирования (FPC), описанной, например, в [2], для кодирования остатка, возможно вычисление Φ c низкой сложностью, по меньшей мере для низких и умеренных скоростей передачи битов кодека. Так как в FPC остаточный вектор с кодированной амплитудой состоит из единичных импульсов, добавленных к определенным положениям или элементам разрешения по частоте/частотам (возможно поверх друг друга), величина структуры в таком остаточном векторе может быть измерена как:
NZP
TP
NZP
TP
где N является числом ненулевых положений в векторе, и N является суммарным числом импульсов в векторе. Исполнение (4) предусматривает очень низкую сложность, так как все требуемые параметры (N и N) легко доступны в традиционном FPC-кодировании. Эта "аппроксимация" или вычисление Φ c низкой сложностью является действительным, когда остаточному вектору назначено умеренное число импульсов.
[031] Таким образом, для каждого остаточного вектора, для которого кодируется только амплитуда, а не знак, можно сберечь столько битов, сколько ненулевых коэффициентов в векторе, по сравнению с традиционными способами. Сбереженные биты могли бы быть распределены для использования, например, в кодировании остаточных векторов, которое извлекло бы пользу из увеличенного "запаса битов кодирования", в соответствии с известными схемами распределения битов. Фактическая схема для распределения битов не является частью данного изобретения.
[032] На Фиг. 3, остаточные векторы, для которых амплитуда, но не знак, кодируется в соответствии с приведенным в качестве примера вариантом осуществления, проиллюстрированы двойной линией. Одиночная линия и пунктирная линия представляет такое же кодирование, как на Фиг. 1, т.е. кодирование как амплитуды, так и знака (одиночная линия), и отсутствие кодирования вообще (пунктирная линия). Таким образом, может быть видно из Фиг. 3, что использование предложенной схемы для улучшенного кодирования остаточных векторов приводит к сбережению битов по сравнению с кодированием, проиллюстрированным на Фиг. 1.
[033] Приведенный в качестве примера вариант осуществления процедуры для кодирования временного сегмента аудиосигнала будет описан ниже, со ссылкой на Фиг. 4. Процедура подходит для использования в аудиокодере с преобразованием, таком как, например, MDCT-кодере, или другом кодере, где амплитуда и знак остаточного вектора кодируются по отдельности или последовательно. В первую очередь подразумевается, что аудиосигнал содержит речь, но может также, или в качестве альтернативы, содержать, например, музыку.
[034] Изначально, остаточный вектор получают в действии 402. Остаточный вектор выводят с использованием любого вследствие этого подходящего способа, например, способа, который используется в традиционных MDCT-кодеках, и выводят из сегмента вектора преобразования, ассоциированного с временным сегментом аудиосигнала. Заранее известно, как вывести остаточный вектор.
[035] Затем, указатель, z, положения на частотной шкале остаточного вектора выводят в действии 404. Как описано ранее, z может быть целочисленным, где большее значение z указывает, что остаточный вектор содержит более высокие частоты, так например, z=1 указывает частоты 1-200 Гц; z=2 указывает частоты 201-400 Гц и т.д. Другие альтернативные варианты индексации также возможны, альтернативные варианты которой будут, возможно, требовать соответствующее регулирование других параметров, описанных ниже, для того, чтобы обеспечить возможность корректной идентификации остаточных векторов, для которых должна быть кодирована амплитуда, но не знак.
c
c
c
c
[036] К тому же, показатель структуры, Φ, выводят в действии 410. Φ мог бы быть выведен как так называемый показатель неравномерности, который задан в уравнении (1) выше. В случае FPC, Φ мог бы быть выведен, как задано в уравнении (4) выше. При применении переходной частоты Z, ниже которой должны быть кодированы и амплитуда, и знак, в действии 406 может быть определено, указывает ли индекс z остаточного вектора частоты ниже переходной частоты Z или нет, и это действие может быть предпринято в соответствии с результатом действия 406. Когда обнаружено, что z указывает частоты ниже переходной частоты Z, в действии 408 кодируют и амплитуду, и знак остаточного вектора; и когда обнаружено, что z указывает частоты выше переходной частоты Z, в действии 410 выводят показатель Φ.
[037] К тому же, когда Φ был выведен, в действии 412 определяют, удовлетворен ли критерий, предусматривающий показатель Φ, указатель z, предварительно заданный порог θ. Критерий должен быть сформулирован таким образом, чтобы определение, удовлетворен ли критерий, соответствовало оценке, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала.
[038] Таким образом, когда определено, что критерий удовлетворен, и таким образом, что изменение знака будет слышно, амплитуду и знак кодируют в действии 408. Когда определено, что критерий не удовлетворен, в действии 412 кодируется амплитуда, но не знак. Критерий может в качестве альтернативы быть сформулирован так, что амплитуда и знак должны быть кодированы, когда критерий не удовлетворен, и когда критерий удовлетворен, должна быть кодирована амплитуда, но не знак. Этот альтернативный вариант проиллюстрирован оператором и альтернативными результатами в круглых скобках применительно к действию 412 на Фиг. 4. Считается, что эта альтернативная формулировка критерия должна быть охвачена формулировкой независимых пунктов формулы изобретения, даже если они, по причине разборчивости и ясности, направлены на первый альтернативный вариант.
1
2
1
2
[039] Критерий может быть сформулирован как: ωΦ + ωz ≤ θ, где ω и ω являются коэффициентами масштабирования; и θ является порогом, который может зависеть от скорости b передачи битов кодера/кодека. Порог θ предпочтительно выполнен с возможностью увеличения при увеличении скорости передачи битов, как описано ранее.
1
2
1
2
1
2
1
2
[040] Коэффициенты ω и ω масштабирования могут быть найдены эмпирически посредством выполнения тестов на прослушивание. В тестах на прослушивание, слушателям может быть дана инструкция указывать, как воспринимается тестовый аудиосигнал, например, воспринимается ли какое-либо ухудшение сигнала, с использованием тестовых сигналов, выведенных для разных значений ω и ω. Порог θ может быть выведен аналогичным образом в спроектированных вследствие этого тестах на прослушивание, генерирующих эмпирические данные восприятия. В конкретной реализации, где Φ и z отмасштабированы, чтобы быть между 0 и 1, примерными значениями ω и ω могут быть, например, ω=0,2 и ω=0,8; и θ может быть значением между 0<θ<2.
[041] Ниже будет описан приведенный в качестве примера аудиокодер с преобразованием, выполненный для выполнения вышеописанной процедуры для кодирования временного сегмента аудиосигнала, со ссылкой на Фиг. 5. Аудиокодер с преобразованием может, например, быть MDCT-кодером, или другим кодером, где амплитуда и знак остаточного вектора кодируются по отдельности или последовательно.
[042] Аудиокодер 501 с преобразованием проиллюстрирован как осуществляющий связь с другими объектами через блок 502 связи, который может считаться содержащим традиционные средства для осуществления ввода данных и осуществления вывода данных. Часть аудиокодера с преобразованием, которая выполнена для обеспечения возможности выполнения вышеописанной процедуры, проиллюстрирована как компоновка 500, окруженная штриховой линией. Аудиокодер с преобразованием может дополнительно содержать другие функциональные блоки 514, такие как, например, функциональные блоки, предоставляющие функции обычного кодера, и могут дополнительно содержать один или более запоминающих блоков 512.
[043] Аудиокодер 501 с преобразованием, и/или компоновка 500, может быть реализован, например, посредством одного из: процессора или микропроцессора и соответствующего программного обеспечения, программируемого логического устройства (PLD) или другого электронного компонента(ов).
[044] Аудиокодер с преобразованием содержит блок 504 получения, который выполнен для вывода, приема или извлечения остаточного вектора сегмента вектора преобразования, ассоциированного с временным сегментом аудиосигнала. К тому же, аудиокодер с преобразованием содержит блок 506 вывода, который выполнен для вывода указателя, z, положения на частотной шкале остаточного вектора и показателя, Φ, относящегося к величине структуры остаточного вектора. Аудиокодер с преобразованием дополнительно содержит блок 508 определения, который выполнен для определения, удовлетворен ли предварительно заданный критерий, предусматривающий показатель Φ, указатель z и предварительно заданный порог θ, таким образом оценивая, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала, как описано ранее. К тому же, аудиокодер с преобразованием содержит блок 510 кодирования, выполненный для кодирования амплитуды коэффициентов остаточного вектора и для кодирования знака коэффициентов остаточного вектора, только когда определено, что критерий удовлетворен и, таким образом, что изменение знака будет слышно.
[045] Аудиокодер с преобразованием может быть выполнен так, чтобы мог быть выполнен один из альтернативных вариантов процедуры, описанной выше. Например, аудиокодер с преобразованием может быть выполнен для вывода показателя, Φ, в качестве так называемого показателя спектральной неравномерности, например, как
или, в случае FPC, как:  как описано ранее.
c
c
[046] Аудиокодер с преобразованием может дополнительно быть выполнен для вывода показателя, Φ, только когда указатель, z, указывает, что остаточный вектор ассоциирован с частотами выше предварительно заданной переходной частоты Z. Переходная частота Z может зависеть от скорости b передачи битов кодера/кодека.
1
2
1
2
[047] Аудиокодер с преобразованием может дополнительно быть выполнен для применения предварительно заданного критерия ωΦ + ωz ≤ θ(b) для оценки, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала, где ω и ω являются коэффициентами масштабирования, которые могут быть основаны на эмпирических экспериментальных результатах; и θ является порогом, который зависит от скорости передачи битов кодера/кодека.
Декодер
[048] Соответствующий приведенный в качестве примера вариант осуществления процедуры для декодирования кодированного временного сегмента аудиосигнала будет описан ниже, со ссылкой на Фиг. 6. Процедура подходит для использования в аудиодекодере с преобразованием, таком как, например, MDCT-кодере, или другом кодере, где амплитуда и знак остаточного вектора кодируются по отдельности или последовательно.
[049] Процедура в аудиодекодере с преобразованием является аналогичной процедуре в аудиокодере с преобразованием, но выполненной для декодирования в нескольких аспектах. Предполагается, что аудиодекодер с преобразованием принимает кодированный аудиосигнал, который был кодирован аудиокодером с преобразованием. Кодированный остаточный вектор сегмента вектора преобразования, ассоциированного с временным сегментом аудиосигнала, получают в действии 602. (Это действие также выполняется в традиционных аудиодекодерах с преобразованием). Соответствующую амплитуду коэффициентов остаточного вектора декодируют в действии 603 (но еще не знак).
[050] Указатель, z, положения на частотной шкале остаточного вектора выводят в действии 604; показатель, Φ, относящийся к величине структуры остаточного вектора выводят в действии 610; и в действии 612 определяют, удовлетворен ли предварительно заданный критерий, предусматривающий показатель Φ, указатель z и предварительно заданный порог θ, таким образом оценивая, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала. Действия 604, 610 и 612 соответствуют ранее описанным действиям 404, 410 и 412 в кодере, но в декодере эти действия выполняются для того, чтобы определить, был ли кодирован знак коэффициентов или нет.
c
c
c
[051] В соответствии с действием 406 в кодере, в действии 606 может быть определено, указывает ли индекс z остаточного вектора частоты ниже переходной частоты Z или нет. Когда обнаружено, что z указывает частоты ниже переходной частоты Z, в действии 608 декодируют знаки ненулевых коэффициентов в остаточном векторе; и когда обнаружено, что z указывает частоты выше переходной частоты Z, в действии 610 выводят показатель Φ.
[052] Когда определено в действии 612, что критерий удовлетворен, и таким образом определено, что изменение знака будет слышно, знаки ненулевых коэффициентов остаточного вектора декодируют в действии 608. Когда определено в действии 612, что критерий не удовлетворен, и таким образом определено, что изменение знака не будет слышно, в действии 614 генерируют соответствующий произвольный знак для ненулевых коэффициентов остаточного вектора.
[053] Ниже будет описан приведенный в качестве примера аудиодекодер с преобразованием, выполненный для выполнения вышеописанной процедуры для декодирования временного сегмента аудиосигнала, со ссылкой на Фиг. 7. Аудиодекодер с преобразованием может, например, быть MDCT-декодером, или другим декодером, где амплитуда и знак остаточного вектора декодируются по отдельности или последовательно.
[054] Аудиодекодер 701 с преобразованием проиллюстрирован как осуществляющий связь с другими объектами через блок 702 связи, который может считаться содержащим традиционные средства для осуществления ввода данных и осуществления вывода данных. Часть аудиодекодера с преобразованием, которая выполнена для обеспечения возможности выполнения вышеописанной процедуры, проиллюстрирована как компоновка 700, окруженная штриховой линией. Аудиодекодер с преобразованием может дополнительно содержать другие функциональные блоки 716, такие как, например, функциональные блоки, предоставляющие функции обычного декодера, и может дополнительно содержать один или более запоминающих блоков 714.
[055] Аудиодекодер 701 с преобразованием, и/или компоновка 700, может быть реализован, например, посредством одного из: процессора или микропроцессора и соответствующего программного обеспечения, программируемого логического устройства (PLD) или другого электронного компонента(ов).
[056] Аудиодекодер с преобразованием содержит блок 704 получения, который выполнен для приема или извлечения кодированного остаточного вектора сегмента вектора преобразования, ассоциированного с временным сегментом аудиосигнала. К тому же, аудиодекодер с преобразованием содержит блок 710 декодирования, который выполнен для декодирования соответствующей амплитуды коэффициентов остаточного вектора.
К тому же, аудиодекодер с преобразованием содержит блок 706 вывода, который выполнен для вывода указателя, z, положения на частотной шкале остаточного вектора и вывода показателя, Φ, относящегося к величине структуры остаточного вектора. Аудиодекодер с преобразованием дополнительно содержит блок 708 определения, который выполнен для определения, удовлетворен ли предварительно заданный критерий, предусматривающий показатель Φ, указатель z и предварительно заданный порог θ, таким образом оценивая, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала, как описано ранее. Блок 710 декодирования дополнительно выполнен для декодирования соответствующего знака ненулевых коэффициентов остаточного вектора, когда определено, что критерий удовлетворен и, таким образом, что изменение знака будет слышно.
[058] Аудиодекодер с преобразованием дополнительно содержит генератор 712 знаков, который выполнен для генерирования соответствующего произвольного знака для ненулевых коэффициентов остаточного вектора, когда определено, что критерий, описанный выше, не удовлетворен, и таким образом, что изменение знака будет не слышно.
[059] Аудиодекодер с преобразованием может быть выполнен так, чтобы мог быть выполнен один из альтернативных вариантов процедуры, описанной выше. Например, аудиокодер с преобразованием может быть выполнен для вывода показателя, Φ, в качестве так называемого показателя спектральной неравномерности, например, как
или, в случае FPC, как:  как описано ранее.
c
c
[060] Аудиодекодер с преобразованием может дополнительно быть выполнен для вывода показателя, Φ, только когда указатель, z, указывает, что остаточный вектор ассоциирован с частотами выше предварительно заданной переходной частоты Z. Переходная частота Z может зависеть от скорости b передачи битов декодера/кодека.
1
2
1
2
[061] Аудиодекодер с преобразованием может дополнительно быть выполнен для применения предварительно заданного критерия ωΦ+ωz≤θ(b) для оценки, будет ли слышно изменение знака по меньшей мере некоторых из ненулевых коэффициентов остаточного вектора после реконструкции временного сегмента аудиосигнала, где ω и ω являются коэффициентами масштабирования, которые могут быть основаны на эмпирических экспериментальных результатах; и θ является порогом, который зависит от скорости передачи битов декодера/кодека.
[062] Фиг. 8 схематично показывает вариант осуществления компоновки 800, подходящей для использования в аудиокодере с преобразованием, который также может быть альтернативным способом раскрытия варианта осуществления компоновки для использования в аудиокодере с преобразованием, проиллюстрированном на Фиг. 5. В компоновке 800 здесь содержатся блок 806 обработки, например, с DSP (процессором цифровых сигналов). Блок 806 обработки может быть одиночным блоком или множеством блоков для выполнения разных этапов процедур, описанных в настоящем документе. Компоновка 800 также содержит входной блок 802 для приема сигналов, таких как опорный сигнал в чистой и ухудшенной версии, и выходной блок 804 для осуществления вывода сигнала(ов), таких как оценка качества. Входной блок 802 и выходной блок 804 могут быть скомпонованы как одно целое в аппаратных средствах данной компоновки.
[063] К тому же компоновка 800 содержит по меньшей мере один компьютерный программный продукт 808 в виде энергонезависимой памяти, например, EEPROM, флэш-памяти и жесткого диска. Компьютерный программный продукт 808 содержит компьютерную программу 810, которая содержит кодовое средство, которое при запуске в блоке 806 обработки в компоновке 800 предписывает компоновке и/или аудиокодеру с преобразованием выполнять действия процедуры, описанной ранее применительно к Фиг. 4.
[064] Следовательно, в приведенных в качестве примера описанных вариантах осуществления, кодовое средство в компьютерной программе 810 компоновки 800 может содержать модуль 810a получения для получения остаточного вектора, ассоциированного с временным сегментом аудиосигнала. Компьютерная программа содержит модуль 810b вывода для вывода указателя, z, положения на частотной шкале остаточного вектора и для вывода показателя, Φ, относящегося к величине структуры остаточного вектора. Компьютерная программа дополнительно содержит модуль 810c определения для определения, удовлетворен ли критерий, предусматривающий показатель Φ, указатель z, предварительно заданный порог θ. К тому же, компьютерная программа содержит модуль 810d кодирования для кодирования соответствующей амплитуды коэффициентов остаточного вектора и для кодирования соответствующего знака коэффициентов остаточного вектора, только когда определено, что критерий удовлетворен.
[065] Компьютерная программа 810 находится в виде компьютерного программного кода, структурированного в компьютерных программных модулях. Модули 810a-d по существу выполняют действия процесса, проиллюстрированного на Фиг. 4, чтобы эмулировать компоновку 500, проиллюстрированную на Фиг. 5. Другими словами, когда разные модули 810a-d запущены на блоке 806 обработки, они соответствуют блокам 504-510 по фиг. 5.
[066] Хотя кодовые средства в варианте осуществления, раскрытом выше применительно к Фиг. 8, реализованы как компьютерные программные модули, которые при запуске на блоке обработки предписывают компоновке и/или аудиокодеру с преобразованием выполнять этапы, описанные выше применительно к фигурам, упомянутым выше, по меньшей мере одно из кодовых средств может в альтернативных вариантах осуществления быть реализовано по меньшей мере частично как аппаратные схемы.
[067] Аналогичным образом, приведенный в качестве примера вариант осуществления, содержащий компьютерные программные модули, может быть описан для соответствующей компоновки в аудиодекодере с преобразованием, проиллюстрированным на Фиг. 7.
[068] Хотя данное изобретение было описано со ссылкой на конкретные примерные варианты осуществления, данное описание в основном только предназначено для иллюстрации изобретательского замысла и не должно считаться ограничивающим объем данного изобретения. Разные признаки приведенных выше в качестве примера вариантов осуществления могут быть скомбинированы разным образом согласно необходимости, требованиям или предпочтению.
ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА
[1] ITU-T Rec. G.719, "Low-complexity full-band audio coding for high-quality conversational applications", 2008
[2] Mittal, J. Ashley, E. Cruz-Zeno, "Low Complexity Factorial Pulse Coding of MDCT Coefficients using Approximation of Combinatorial Functions", ICASSP 2007
СОКРАЩЕНИЯ
FPC факториальное импульсное кодирование
MDCT модифицированное дискретное косинусное преобразование