УСТРОЙСТВО И СПОСОБ ДЛЯ ГЕНЕРАЦИИ ЗНАЧЕНИЙ ПОДПОЛОС ЗВУКОВОГО СИГНАЛА И УСТРОЙСТВО И СПОСОБ ДЛЯ ГЕНЕРАЦИИ ОТСЧЕТОВ ЗВУКОВОГО СИГНАЛА ВО ВРЕМЕННОЙ ОБЛАСТИ
DEVICE AND METHOD OF GENERATING AUDIO SIGNAL SUBBAND VALUES AND DEVICE AND METHOD OF GENERATING AUDIO SIGNAL READINGS IN TIME DOMAIN

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Варианты осуществления настоящего изобретения относятся к устройству и способу для генерации значений подполос звукового сигнала, к устройству и способу для генерации отсчетов звукового сигнала во временной области и к системам, содержащим любые из указанных выше устройств, которые могут, например, воплощаться в области техники, относятся к современному кодированию звука, декодированию звука или в других применениях, связанных с передачей звука.
Современная цифровая обработка звука обычно основана на схемах кодирования, которые предоставляют возможность существенного уменьшения расхода битов (битрейта) ширины полосы пропускания для передачи и объема памяти по сравнению с непосредственной передачей или хранением соответствующих звуковых данных. Это обеспечивается с помощью кодирования звуковых данных на стороне передатчика и декодирования кодированных данных на стороне приемника перед, например, обеспечением передачи декодированных звуковых данных слушателю или для дополнительной обработки сигналов.
Такие системы цифровой обработки звука можно воплощать по отношению к широкому диапазону параметров, которые обычно влияют на качество передаваемых или иначе обрабатываемых звуковых данных, с одной стороны, и на эффективность вычислений, полосу пропускания и другие связанные с производительностью параметры, с другой стороны. Очень часто более высокое качество требует более высоких битрейтов, увеличенной вычислительной сложности и более высоких требований к памяти для передачи кодированных звуковых данных. Следовательно, в зависимости от подразумеваемого применения, такие факторы, как допустимые битрейты, приемлемая вычислительная сложность и приемлемое количество данных, должны быть сбалансированы с необходимым и обеспечиваемым качеством.
Дополнительный параметр, который особенно важен в приложениях реального времени, таких как двунаправленная или однонаправленная связь, задержка, вносимая различными схемами кодирования, может также играть важную роль. Как следствие, задержка, вносимая кодированием и декодированием звука, вводит дополнительные ограничения на основе указанных ранее параметров, когда сопоставляют потребности и затраты, связанные с различными схемами кодирования, имея в виду определенную область применения. Поскольку такие системы цифрового звука могут применяться во многих различных областях применения, простирающихся от передач с очень низким качеством до высококачественных передач, различные параметры и различные ограничения очень часто налагаются на соответствующие звуковые системы. В некоторых применениях для более низкой задержки может, например, потребоваться более высокий битрейт и, следовательно, увеличенная ширина полосы пропускания для передачи по сравнению со звуковой системой с более высокой задержкой при сопоставимом уровне качества.
Однако, во многих случаях, вероятно, придется искать компромисс между различными параметрами, такими как битрейт кодирования, вычислительная сложность, требования к памяти, качество и задержка.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Согласно одному аспекту изобретения предложено устройство для генерации комплексных значений подполос звукового сигнала в каналах подполос звукового сигнала. Данное устройство содержит модуль оконной функции анализа, предназначенный для применения оконной функции анализа к кадру входных отсчетов звукового сигнала во временной области, находящихся в последовательности времени, простирающейся от более раннего отсчета до более позднего отсчета. Модуль оконной функции анализа генерирует обработанные оконной функцией отсчеты во временной области посредством умножения значений входных отсчетов звукового сигнала во временной области на соответствующие оконные коэффициенты оконной функции анализа. Обработанные оконной функцией отсчеты упорядочиваются в кадр обработанных оконной функцией отсчетов. Оконная функция анализа содержит первую группу оконных коэффициентов, содержащую первую часть последовательности оконных коэффициентов, и вторую группу оконных коэффициентов, содержащую вторую часть последовательности оконных коэффициентов, причем первая часть содержит меньше оконных коэффициентов, чем вторая часть. Значение полной энергии, соответствующее оконным коэффициентам в первой части, выше значения полной энергии, соответствующего оконным коэффициентам второй части. Первая группа оконных коэффициентов используется для применения оконной функции к более поздним отсчетам во временной области, а вторая группа оконных коэффициентов используется для применения оконной функции к более ранним отсчетам во временной области. Предложенное устройство дополнительно содержит модуль вычислений, предназначенный для вычисления значений подполос звукового сигнала, используя кадр обработанных оконной функцией отсчетов, предоставленных модулем оконной функции анализа. Модуль вычислений выполняет преобразование время/частота с возможностью генерации значений подполос звукового сигнала таким образом, что все значения подполос, основанные на одном кадре обработанных оконной функцией отсчетов, являются спектральным представлением кадра обработанных оконной функцией отсчетов. Преобразование время/частота приспособлено для генерации комплексных значений подполос звукового сигнала.
Согласно другому аспекту настоящего изобретения предложено устройство для генерации действительных отсчетов звукового сигнала во временной области. Данное устройство содержит модуль вычислений, предназначенный для вычисления кадра последовательности промежуточных отсчетов во временной области из значений подполос звукового сигнала в каналах подполос звукового сигнала, подаваемых из блока значений подполос звукового сигнала в частотной области. Данная последовательность содержит более ранние промежуточные отсчеты во временной области и более поздние отсчеты во временной области. Модуль вычислений выполняет преобразование частота/время с возможностью генерации последовательности промежуточных отсчетов во временной области таким образом, что значения подполос звукового сигнала, подаваемые на модуль вычислений, являются спектральным представлением последовательности промежуточных отсчетов во временной области, содержащейся в блоке значений подполос звукового сигнала. Преобразование частота/время приспособлено для генерации последовательности промежуточных отсчетов во временной области, основываясь на комплексных значениях подполос звукового сигнала. Предложенное устройство дополнительно содержит связанный с модулем вычислений модуль оконной функции синтеза, предназначенный для применения оконной функции к последовательности промежуточных отсчетов во временной области. На модуль оконной функции синтеза подается кадр промежуточных отсчетов во временной области, и модуль оконной функции синтеза обрабатывает кадр промежуточных отсчетов во временной области оконной функцией посредством умножения последовательности промежуточных отсчетов во временной области кадра промежуточных отсчетов во временной области на последовательность оконных коэффициентов оконной функции синтеза для получения кадра обработанных оконной функцией промежуточных отсчетов во временной области. Оконная функция синтеза содержит первую группу оконных коэффициентов, содержащую первую часть последовательности оконных коэффициентов, и вторую группу оконных коэффициентов, содержащую вторую часть последовательности оконных коэффициентов, при этом первая часть содержит меньше оконных коэффициентов, чем вторая часть. Значение полной энергии, соответствующее оконным коэффициентам в первой части, выше значения полной энергии, соответствующей оконным коэффициентам второй части. Первая группа оконных коэффициентов используется для применения оконной функции к более поздним промежуточным отсчетам во временной области, а вторая группа оконных коэффициентов используются для применения оконной функции к более ранним промежуточным отсчетам во временной области. Предложенное устройство также содержит связанный с модулем оконной функции синтеза выходной каскад суммирования с перекрытием, на который подается кадр обработанных оконной функцией промежуточных отсчетов во временной области и который предназначен для обработки обработанных оконной функцией промежуточных отсчетов во временной области для получения отсчетов во временной области.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Варианты осуществления настоящего изобретения описаны далее со ссылкой к прилагаемым чертежам.
Фиг.1 - структурная схема одного из вариантов осуществления устройства для генерации значений подполос звукового сигнала;
фиг.2а - структурная схема одного из вариантов осуществления устройства для генерации отсчетов звукового сигнала во временной области;
фиг.2b - принцип работы в соответствии с одним из вариантов осуществления настоящего изобретения в форме устройства для генерации отсчетов во временной области;
фиг.3 - концепция интерполяции оконных коэффициентов согласно одному из вариантов осуществления настоящего изобретения;
фиг.4 - интерполяция оконных коэффициентов в случае синусной оконной функции;
фиг.5 - структурная схема варианта осуществления настоящего изобретения, содержащего декодер SBR и кодер SBR;
фиг.6 - источники задержки системы SBR;
фиг.7а - последовательность операций одного из вариантов осуществления способа генерации значений подполос звукового сигнала;
фиг.7b - этап варианта осуществления способа, показанного на фиг.7а;
фиг.7с - последовательность операций одного из вариантов осуществления способа генерации значений подполос звукового сигнала;
фиг.8а - последовательность операций варианта осуществления способа генерации отсчетов во временной области;
фиг.8b - последовательность операций варианта осуществления способа генерации отсчетов во временной области;
фиг.8с - последовательность операций дополнительного варианта осуществления способа генерации отсчетов во временной области;
фиг.8d - последовательность операций другого варианта осуществления способа генерации отсчетов во временной области;
фиг.9а - возможная реализация варианта осуществления способа генерации значений подполос звукового сигнала;
фиг.9b - возможная реализация одного из вариантов осуществления способа генерации значений подполос звукового сигнала;
фиг.10а - возможная реализация варианта осуществления способа генерации отсчетов во временной области;
фиг.10b - дополнительная возможная реализация варианта осуществления способа генерации отсчетов во временной области;
Фиг.11 показывает сравнение оконной функции синтеза согласно варианту осуществления настоящего изобретения и синусной оконной функции;
Фиг.12 показывает сравнение оконной функции синтеза согласно варианту осуществления настоящего изобретения и функции фильтра-прототипа SBR QMF;
Фиг.13 показывает различные задержки, вызванные оконной функцией и функцией фильтра-прототипа, показанной на Фиг.12;
Фиг.14a показывает таблицу, показывающую различные вклады в задержку обычного кодека AAC-LD+SBR и кодека AAC-ELD, содержащего вариант осуществления настоящего изобретения;
Фиг.14b показывает дополнительную таблицу, содержащую подробную информацию относительно задержек различных компонентов различных кодеков;
Фиг.15a показывает сравнение частотных характеристик устройств, основанных на оконной функции согласно одному из вариантов осуществления настоящего изобретения, и устройства, основанного на синусной оконной функции;
Фиг.15b показывает крупный план частотных характеристик, показанных на Фиг.15a;
Фиг.16a показывает сравнение частотных характеристик 4 различных оконных функций;
Фиг.16b показывает крупный план частотных характеристик, показанных на Фиг.16a;
Фиг.17 показывает сравнение частотных характеристик двух различных оконных функций, одной оконной функции согласно настоящему изобретению и одной оконной функции, являющейся симметричной оконной функцией; и
Фиг.18 показывает схематично общее временное маскирующее свойство человеческого уха;
Фиг.19 показывает сравнение исходного временного звукового сигнала, временного сигнала, сгенерированного на основе кодека HEAAC, и временного сигнала, основанного на кодеке, содержащем вариант осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Фиг.1-19 показывают структурные схемы и дополнительные схемы, которые описывают функциональные свойства и особенности различных вариантов осуществления устройств и способов для генерации значений подполос звукового сигнала, устройств и способов для генерации отсчетов во временной области и систем, содержащих по меньшей мере одно из указанных выше устройств или способов. Однако перед более подробным описанием первого варианта осуществления настоящего изобретения нужно отметить, что варианты осуществления настоящего изобретения можно воплощать в аппаратных средствах и в программном обеспечении. Следовательно, реализации, описанные в терминах структурных схем аппаратных реализаций соответствующих вариантов осуществления, можно также рассматривать как последовательности операций соответствующего варианта осуществления соответствующего способа. Кроме того, последовательность операций, описывающую вариант осуществления настоящего изобретения, можно рассматривать как являющуюся структурной схемой соответствующей аппаратной реализации.
В последующем будут описаны реализации наборов (банков) фильтров, которые можно воплощать как набор фильтров анализа или набор фильтров синтеза. Набор фильтров анализа является устройством для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала, основываясь на (входных) отсчетах звукового сигнала во временной области, находящихся в последовательности времени, простирающейся от более раннего отсчета к более последнему отсчету. Другими словами, термин «набор фильтров анализа» может синонимично использоваться для варианта осуществления настоящего изобретения в форме устройства для генерации значений подполос звукового сигнала. Соответственно, набор фильтров синтеза является набором фильтров для генерации отсчетов звукового сигнала во временной области из значений подполос звукового сигнала в каналах подполос звукового сигнала. Другими словами, термин «набор фильтров синтеза» может использоваться синонимично для варианта осуществления согласно настоящему изобретению в форме устройства для генерации отсчетов звукового сигнала во временной области.
И набор фильтров анализа, и набор фильтров синтеза, которые обобщенно называют наборами фильтров, можно, например, воплощать как модулированные наборы фильтров. Модулированные наборы фильтров, примеры и варианты осуществления которых описаны более подробно ниже, основаны на колебаниях, имеющих частоты, которые основаны или получены из центральных частот соответствующих подполос в частотной области. Термин «модулированный» относится в этом контексте к тому факту, что указанные выше колебания используются в контексте с оконной функцией или функцией фильтра-прототипа, в зависимости от конкретной реализации такого модулированного набора фильтров. Модулированные наборы фильтров могут, в принципе, быть основаны на действительных (действительнозначных) колебаниях, таких как гармонические колебания (синусные колебания или косинусные колебания) или соответствующих комплексных (комплексозначных) колебаниях (комплексных экспоненциальных колебаниях). Соответственно, модулированные наборы фильтров упоминаются как действительные модулированные наборы фильтров или комплексные модулированные наборы фильтров соответственно.
В последующем описании варианты осуществления настоящего изобретения в форме комплексных модулированных наборов фильтров с низкой задержкой и действительных модулированных наборов фильтров с низкой задержкой и соответствующие способы и программные реализации будут описаны более подробно. Одно из основных применений такого модулированного набора фильтров с низкой задержкой - интеграция в систему репликации спектральных полос (SBR) с низкой задержкой, которая в настоящее время основана на использовании комплексного набора фильтров QMF с симметричным фильтром-прототипом (QMF = квадратурный зеркальный фильтр).
Как будет очевидно из структуры настоящего описания, реализация наборов фильтров с низкой задержкой согласно вариантам осуществления настоящего изобретения обеспечивает преимущество улучшенного соотношения между задержкой, частотной характеристикой, временным распределением шума и качеством восстановления.
Указанное выше улучшенное соотношение, в частности между задержкой и качеством восстановления, основано на подходе использования так называемых методик с нулевой задержкой для расширения импульсной характеристики передаточной функции соответствующих наборов фильтров, не вводя дополнительную задержку. Более низкую задержку на предопределенном уровне качества, лучшее качество на предопределенном уровне задержки или одновременное улучшение и задержки, и качества, можно обеспечивать, используя набор фильтров анализа или набор фильтров синтеза согласно варианту осуществления настоящего изобретения.
Варианты осуществления настоящего изобретения основаны на обнаружении того, что эти усовершенствования можно обеспечивать, используя новую оконную функцию для любого из двух описанных наборов фильтров. Другими словами, качество и/или задержку можно улучшать в случае набора фильтров анализа, используя оконную функцию анализа, содержащую последовательность оконных коэффициентов, которая содержит первую группу, содержащую первую последовательную часть последовательности оконных коэффициентов, и вторую группу оконных коэффициентов, содержащую вторую последовательную часть последовательности оконных коэффициентов. Первая часть и вторая часть содержат все оконные коэффициенты оконной функции. Кроме того, первая часть содержит меньше оконных коэффициентов, чем вторая часть, но значение энергии оконных коэффициентов в первой части выше значения энергии оконных коэффициентов второй части. Первая группа оконных коэффициентов используется для применения оконной функции к более поздним отсчетам во временной области, а вторая группа оконных коэффициентов используются для применения оконной функции к более ранним отсчетам во временной области. Эта форма оконной функции обеспечивает возможность обработки отсчетов во временной области с помощью оконных коэффициентов, которые ранее имели более высокие значения энергии. Это является результатом описанного распределения оконных коэффициентов на две части и их применения к последовательности отсчетов звукового сигнала во временной области. Как следствие, использование такой оконной функции может уменьшать задержку, вводимую набором фильтров, при постоянном уровне качества, или обеспечивает улучшение уровня качества, основываясь на постоянном уровне задержки.
Соответственно, в случае варианта осуществления настоящего изобретения в форме устройства для генерации отсчетов звукового сигнала во временной области и соответствующего способа модуль оконной функции синтеза использует оконную функцию синтеза, которая содержит последовательность оконных коэффициентов, упорядоченных соответственно в первой (последовательной) части и второй (последовательной) части. Также в случае оконной функции синтеза, значение энергии или значение полной энергии оконных коэффициентов в первой части выше значения энергии или значения полной энергии оконных коэффициентов второй части, причем первая часть содержит меньше оконных коэффициентов, чем вторая часть. Из-за этого распределения оконных коэффициентов на две части и того факта, что модуль оконной функции синтеза использует первую часть оконных коэффициентов для применения оконной функции к более поздним отсчетам во временной области, а вторую часть оконных коэффициентов - для применения оконной функции к более ранним отсчетам во временной области, ранее описанные эффекты и преимущества также относятся к набору фильтров синтеза или соответствующему варианту осуществления способа.
Подробные описания оконных функций синтеза и оконных функций анализа, используемых в структуре вариантов осуществления настоящего изобретения, будут описаны позже более подробно. Во многих вариантах осуществления настоящего изобретения последовательность оконных коэффициентов оконной функции синтеза и/или оконной функции анализа содержит точно первую группу и вторую группу оконных коэффициентов. Кроме того, каждый из оконных коэффициентов из последовательности оконных коэффициентов принадлежит точно к одной из первой группы и второй группы оконных коэффициентов.
Каждая из этих двух групп содержит точно одну часть последовательности оконных коэффициентов, расположенных последовательно. В настоящем описании часть содержит последовательный набор оконных коэффициентов в соответствии с последовательностью оконных коэффициентов. В вариантах осуществления согласно настоящему изобретению, каждая из этих двух групп (первой и второй групп) содержит точно одну часть последовательности оконных коэффициентов, как объяснено выше. Соответствующие группы оконных коэффициентов не содержат ни одного оконного коэффициента, который не принадлежит к точно одной части соответствующей группы. Другими словами, во многих вариантах осуществления настоящего изобретения каждая из первой и второй группы оконных коэффициентов содержит только первую часть и вторую часть оконных коэффициентов, не содержа дополнительных оконных коэффициентов.
В структуре настоящего описания последовательную часть последовательности оконных коэффициентов следует понимать в математическом смысле как связанный набор оконных коэффициентов, причем в данном наборе не отсутствуют оконные коэффициенты по сравнению с последовательностью оконных коэффициентов, которая лежит в диапазоне (например, в диапазоне индексов) оконных коэффициентов соответствующей части. Как следствие, во многих вариантах осуществления настоящего изобретения последовательность оконных коэффициентов делят точно на две связанные части оконных коэффициентов, которые формируют каждую из первой или второй групп оконных коэффициентов. В этих случаях каждый оконный коэффициент, который содержится в первой группе оконных коэффициентов, упорядочивают или перед, или после каждого из оконных коэффициентов второй группы оконных коэффициентов по отношению ко всей последовательности оконных коэффициентов.
Другими словами, во многих вариантах осуществления согласно настоящему изобретению последовательность оконных коэффициентов делят точно на две группы, или части, не пропуская оконных коэффициентов. В соответствии с последовательностью оконных коэффициентов, которая также представляет их очередность, каждая из этих двух групп, или частей, содержит все оконные коэффициенты до (но не включительно) или начиная с (включительно) граничного оконного коэффициента. Например, первая часть, или первая группа, может содержать оконные коэффициенты, имеющие индексы от 0 до 95 и от 96 до 639 в случае оконной функции, содержащей 640 оконных коэффициентов (имеющих индексы от 0 до 639). В данном случае граничным оконным коэффициентом является оконный коэффициент, соответствующий индексу 96. Естественно, также возможны другие примеры (например, 0-543 и 544-639).
Подробная примерная реализация набора фильтров анализа, описанного в последующем, обеспечивает длину фильтра, охватывающую 10 блоков входных отсчетов, вызывая системную задержку только в 2 блока, что соответствует задержке, вводимой MDCT (измененным дискретным косинусным преобразованием) или MDST (измененным дискретным синусным преобразованием). Одно различие происходит из-за большей длины фильтра, охватывающей 10 блоков входных отсчетов, по сравнению с реализацией MDCT или MDST, так что перекрытие увеличивается с 1 блока в случае MDCT и MDST до перекрытия в 9 блоков. Однако можно также реализовывать дополнительные воплощения, охватывающие другое количество блоков входных отсчетов, которые также упоминаются как входные отсчеты звукового сигнала. Кроме того, можно также рассматривать и осуществлять другие соотношения.
Фиг.1 показывает структурную схему набора 100 фильтров анализа как вариант осуществления устройства для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала. Набор 100 фильтров анализа содержит модуль 110 оконной функции анализа для применения оконной функции к кадру 120 из входных отсчетов звукового сигнала во временной области. Кадр 120 содержит T блоков 130-1, …, 130-T (входных) отсчетов звукового сигнала во временной области, причем T является положительным целым числом и равно 10 в случае варианта осуществления, показанного на Фиг.1. Однако кадр 120 может также содержать другое количество блоков 130.
Оба, кадр 120 и каждый из блоков 130 содержат входные отсчеты звукового сигнала во временной области в последовательности времени, простирающейся от начального отсчета до последнего отсчета согласно временной шкале, которая обозначена стрелкой 140 на Фиг.1. Другими словами, на иллюстрации, которая показана на Фиг.1, чем дальше вправо находится отсчет звукового сигнала во временной области, который в этом случае является также входным отсчетом звукового сигнала во временной области, тем более поздним является соответствующий отсчет звукового сигнала во временной области по отношению к последовательности отсчетов звукового сигнала во временной области.
Модуль 110 оконной функции анализа генерирует, основываясь на последовательности отсчетов звукового сигнала во временной области, обработанные оконной функцией отсчеты во временной области, которые упорядочивают в кадре 150 обработанных оконной функцией отсчетов. Согласно кадру 120 входных отсчетов звукового сигнала во временной области кадр 150 обработанных оконной функцией отсчетов также содержит T блоков обработанных оконной функцией отсчетов 160-1, …, 160-T. В предпочтительных вариантах осуществления настоящего изобретения каждый из блоков обработанных оконной функцией отсчетов 160 содержит то же самое количество обработанных оконной функцией отсчетов, как количество входных отсчетов звукового сигнала во временной области каждого блока 130 входных отсчетов звукового сигнала во временной области. Следовательно, когда каждый из блоков 130 содержит N входных отсчетов звукового сигнала во временной области, каждый из кадров 120 и 150 содержит T·N отсчетов. В этом случае N является положительным целым числом, которое может, например, иметь значения 32 или 64. Для T=10 каждый из кадров 120, 150 содержит 320 и 640, соответственно, в описанном выше случае.
Модуль 110 оконной функции анализа связан с модулем 170 вычислений для вычисления значений подполос звукового сигнала, основываясь на обработанных оконной функцией отсчетах, обеспеченных модулем 110 оконной функции анализа. Значения подполос звукового сигнала обеспечиваются модулем 170 вычислений как блок 180 значений подполос звукового сигнала, причем каждое из значений подполос звукового сигнала соответствует одному каналу подполос звукового сигнала. В предпочтительном варианте осуществления блок 180 значений подполос звукового сигнала также содержит N значений подполос.
Каждый из каналов подполос звукового сигнала соответствует характеристической средней частоте. Средние частоты различных каналов подполос звукового сигнала могут, например, быть равномерно распределены или расположены на одинаковом расстоянии по отношению к диапазону частот соответствующего звукового сигнала, который описан входными отсчетами звукового сигнала во временной области, обеспеченными к набору 100 фильтров анализа.
Модуль 110 оконной функции анализа приспособлен для применения оконной функции к входным отсчетам звукового сигнала во временной области кадра 120, основываясь на оконной функции анализа, содержащей последовательность оконных коэффициентов, для получения обработанных оконной функцией отсчетов кадра 150. Модуль 110 оконной функции анализа приспособлен для применения оконной функции к кадру 120 отсчетов звукового сигнала во временной области, умножая значения отсчетов звукового сигнала во временной области на оконные коэффициенты оконной функции анализа. Другими словами, применение оконной функции содержит поэлементное умножение отсчетов звукового сигнала во временной области на соответствующие оконные коэффициенты. Поскольку и кадр 120 отсчетов звукового сигнала во временной области, и оконные коэффициенты содержат соответствующую последовательность, поэлементное умножение оконных коэффициентов и отсчетов звукового сигнала во временной области выполняют согласно соответствующим последовательностям, которые, например, обозначены индексом отсчета и индексом оконного коэффициента.
В вариантах осуществления настоящего изобретения в форме набора 100 фильтров анализа, как показано на Фиг.1, оконная функция анализа, а также оконная функция синтеза в случае набора фильтров синтеза, содержит только действительные обработанные оконной функцией коэффициенты. Другими словами, каждый из оконных коэффициентов, приписанных индексу оконного коэффициента, является действительным значением.
Оконные коэффициенты вместе формируют соответствующую оконную функцию, пример которой показан на Фиг.1, как оконную функцию 190 анализа. Как указано прежде, последовательность оконных коэффициентов, формирующих оконную функцию 190 анализа, содержит первую группу 200 и вторую группу 210 оконных коэффициентов. Первая группа 200 содержит первую последовательную и связанную часть оконных коэффициентов последовательности оконных коэффициентов, тогда как вторая группа 210 содержит вторую последовательную и связанную часть оконных коэффициентов. Вместе с первой частью в первой группе 200 они формируют целую последовательность оконных коэффициентов оконной функции 190 анализа. Кроме того, каждый оконный коэффициент последовательности оконных коэффициентов принадлежит или первой части, или второй части оконных коэффициентов так, чтобы целая оконная функция 190 анализа была составлена оконными коэффициентами первой части и второй части. Первая часть оконных коэффициентов, следовательно, идентична первой группе 200 оконных коэффициентов, а вторая часть идентична второй группе 210 оконных коэффициентов, как обозначено соответствующими стрелками 200, 210 на Фиг.1.
Количество оконных коэффициентов в первой группе 200 первой части оконных коэффициентов меньше количества оконных коэффициентов во второй группе второй части оконных коэффициентов. Однако значение энергии или значение полной энергии оконных коэффициентов в первой группе 200 выше значения энергии или значения полной энергии оконных коэффициентов во второй группе 210. Как будет описано позже, значение энергии набора оконных коэффициентов основано на сумме квадратов абсолютных значений соответствующих оконных коэффициентов.
0
0
0
0
0
В вариантах осуществления согласно настоящему изобретению оконная функция 190 анализа, а также соответствующая оконная функция синтеза, поэтому асимметрична относительно последовательности оконных коэффициентов или индекса оконного коэффициента. Основываясь на определении набора индексов оконных коэффициентов, по которым определена оконная функция 190 анализа, оконная функция 190 анализа является асимметричной, когда для всех действительных чисел n существует дополнительное действительное число n так, чтобы абсолютное значение оконного коэффициента, соответствующего оконному коэффициенту с индексом оконного коэффициента (n-n), не было равно абсолютному значению оконного коэффициента, соответствующему индексу оконного коэффициента (n+n), когда (n-n) и (n+n) принадлежат набору определения.
Кроме того, как также схематично показано на Фиг.1, оконная функция 190 анализа содержит точки изменения знака, в которых произведения двух последовательных оконных коэффициентов являются отрицательными. Более подробное описание и дополнительные особенности возможных оконных функций согласно вариантам осуществления настоящего изобретения будут обсуждаться более подробно в контексте Фиг.11-19.
Как показано ранее, кадр 150 обработанных оконной функцией отсчетов содержит аналогичную блочную конструкцию с отдельными блоками 160-1, …, 160-T, как кадр 120 из отдельных входных отсчетов во временной области. Поскольку модуль 110 оконной функции анализа приспособлен для применения оконной функции к входным отсчетам звукового сигнала во временной области с помощью умножения этих значений на оконные коэффициенты оконной функции 190 анализа, кадр 150 обработанных оконной функцией отсчетов находится также во временной области. Модуль 170 вычислений вычисляет значения подполос звукового сигнала, или точнее блок 180 значений подполос звукового сигнала, используя кадр 150 обработанных оконной функцией отсчетов, и выполняет преобразование из временной области в частотную область. Модуль 170 вычислений, как можно поэтому полагать, является модулем преобразования время/частота, который может обеспечивать блок 180 значений подполос звукового сигнала в качестве спектрального представления кадра 150 обработанных оконной функцией отсчетов.
Каждое значение подполос звукового сигнала блока 180 соответствует одной подполосе, имеющей характерную частоту. Количество значений подполос звукового сигнала, содержащихся в блоке 180, также иногда упоминается как количество диапазонов.
Во многих вариантах осуществления согласно настоящему изобретению количество значений подполос звукового сигнала в блоке 180 идентично количеству входных отсчетов звукового сигнала во временной области каждого из блоков 130 кадра 120. В случае, когда кадр 150 обработанных оконной функцией отсчетов имеет ту же самую блочную структуру, как кадр 120, так что каждый из блоков 160 обработанных оконной функцией отсчетов также содержит то же самое количество обработанных оконной функцией отсчетов, как блок 130 входных отсчетов звукового сигнала во временной области, блок 180 значений подполос звукового сигнала естественно также содержит то же самое количество, как блок 160.
Кадр 120 можно дополнительно создавать, основываясь на блоке новых входных отсчетов звукового сигнала во временной области 220, сдвигая блоки 130-1, …, 130-(T-1) на один блок в направлении, противоположном стрелке 140, указывающей направление времени. Таким образом, кадр 120 из входных отсчетов звукового сигнала во временной области, которые будут обработаны, создают, сдвигая последние блоки (T-1) непосредственно предыдущего кадра 120 из отсчетов звукового сигнала во временной области на один блок к более ранним отсчетам звукового сигнала во временной области и добавляя новый блок 220 новых отсчетов звукового сигнала во временной области, как новый блок 130-1, содержащий последние отсчеты звукового сигнала во временной области настоящего кадра 120. На Фиг.1 это также обозначено последовательностью обозначенных штриховой линией стрелок 230, указывающих сдвиг блоков 130-1, …, 130-(T-1) в направлении, противоположном стрелке 140.
Из-за этого сдвига блоков 130 в направлении, противоположном времени, которое обозначено стрелкой 140, настоящий кадр 120, который будут обрабатывать, содержит блок 130-(T-1) непосредственно предыдущего кадра 120, как новый блок 130-T. Соответственно, блоки 130-(T-1), …, 130-2 из настоящего кадра 120, которые будут обрабатывать, равны блоку 130-(T-2), …, 130-1 из непосредственно предыдущего кадра 120. Блок 130-T из непосредственно предыдущего кадра 120 отбрасывают.
Как следствие, каждый отсчет звукового сигнала во временной области нового блока 220 будет обрабатываться T раз в структуре из T последовательных обработок T последовательных кадров 120 входных отсчетов звукового сигнала во временной области. Следовательно, каждый входной отсчет звукового сигнала во временной области нового блока 220 вносит вклад не только в T различных кадров 120, но также и в T различных кадров 150 обработанных оконной функцией отсчетов и T блоков 180 значений подполос звукового сигнала. Как указано прежде, в предпочтительном варианте осуществления согласно настоящему изобретению количество T блоков в кадре 120 равно 10, так, чтобы каждый отсчет звукового сигнала во временной области, обеспеченный к набору 100 фильтров анализа, вносил вклад в 10 различных блоков 180 значений подполос звукового сигнала.
В начале, перед обработкой одного кадра 120 с помощью набора 100 фильтров анализа, кадр 120 может быть инициализирован в небольшое абсолютное значение (ниже предварительно определенного порогового значения), например в значение 0. Как будет объяснено более подробно ниже, форма оконной функции 190 анализа содержит среднюю точку, или «центр масс», которая обычно соответствует или находится между двумя индексами оконных коэффициентов первой группы 200.
Как следствие, количество новых блоков 220, которые вставляют в кадр 120, является небольшим, до того, как кадр 120 будет заполнен по меньшей мере до такого уровня, чтобы части кадра 120 были заняты неисчезающими (т.е. имеющими ненулевое значение) значениями, которые соответствуют оконным коэффициентам, имеющим существенный вклад в терминах значений их энергии. Как правило, количество блоков, которые будут вставлять в кадр 120 перед тем, как «значимая» обработка может начаться, равно 2-4 блока в зависимости от формы оконной функции 190 анализа. Следовательно, набор 100 фильтров анализа может обеспечивать блоки 180 быстрее, чем соответствующий набор фильтров, использующий, например, симметричную оконную функцию. Поскольку обычно новые блоки 220 обеспечивают к набору 100 фильтров анализа целиком, каждый из новых блоков соответствует времени регистрации или дискретизации, которое, по существу, задают с помощью длины блока 220 (т.е. количества входных отсчетов звукового сигнала во временной области, содержащихся в блоке 220) и частоты дискретизации, или частоты отсчетов. Поэтому оконная функция 190 анализа, которую внедряют в вариант осуществления настоящего изобретения, приводит к уменьшенной задержке перед первым и последующими блоками 180 значений подполос звукового сигнала, которые можно обеспечивать или выводить с помощью набора 100 фильтров.
В качестве дополнительной возможности устройство 100 может генерировать сигнал или содержать в себе информацию об оконной функции 190 анализа, используемой при генерации кадра 180, или об оконной функции синтеза, которая будет использоваться в структуре набора фильтров синтеза. Таким образом, функция 190 фильтра анализа может, например, быть обращенной во времени или с измененным порядком индексов версией оконной функции синтеза, которая будет использоваться набором фильтров синтеза.
Фиг.2a показывает структурную схему варианта осуществления устройства 300 для генерации отсчетов звукового сигнала во временной области, основываясь на блоке значений подполос звукового сигнала. Как ранее объясняется, вариант осуществления настоящего изобретения в форме устройства 300 для генерации отсчетов звукового сигнала во временной области часто также упоминается, как набор 300 фильтров синтеза, поскольку устройство способно генерировать отсчеты звукового сигнала во временной области, которые можно, в принципе, воспроизводить, основываясь на значениях подполос звукового сигнала, которые содержат спектральную информацию о звуковом сигнале. Следовательно, набор 300 фильтров синтеза может синтезировать отсчеты звукового сигнала во временной области, основываясь на значениях подполос звукового сигнала, которые могут, например, быть созданы с помощью соответствующего набора 100 фильтров анализа.
Фиг.2a показывает структурную схему набора 300 фильтров синтеза, содержащую модуль 310 вычислений, на который подают блок 320 значений подполос звукового сигнала (в частотной области). Модуль 310 вычислений может вычислять кадр 330, содержащий последовательность промежуточных отсчетов во временной области, из значений подполос звукового сигнала блока 320. Кадр 330 промежуточных отсчетов во временной области имеет во многих вариантах осуществления согласно настоящему изобретению также такую же блочную конструкцию, как кадр 150 обработанных оконной функцией отсчетов набора 100 фильтров анализа на Фиг.1. В этих случаях кадр 330 содержит блоки 340-1, …, 340-T промежуточных отсчетов во временной области.
Последовательность промежуточных отсчетов во временной области кадра 330, а также каждый блок 340 промежуточных отсчетов во временной области содержит упорядочение в соответствии со временем, которое обозначено стрелкой 350 на Фиг.2a. Как следствие, кадр 330 содержит начальный промежуточный отсчет во временной области в блоке 340-T и последний промежуточный отсчет во временной области в блоке 340-1, которые представляют первый и последний промежуточные отсчеты во временной области для кадра 330, соответственно. Также каждый из блоков 340 содержит подобное упорядочение. Как следствие, в вариантах осуществления набора фильтров синтеза термины «кадр» и «последовательность» могут часто использоваться в качестве синонимов.
Модуль 310 вычислений связан с модулем 360 оконной функции синтеза, на который подают кадр 330 промежуточных отсчетов во временной области. Модуль оконной функции синтеза приспособлен для применения оконной функции к последовательности промежуточных отсчетов во временной области, используя оконную функцию 370 синтеза, схематично изображенную на Фиг.2a. На выходе модуль 360 оконной функции синтеза обеспечивает кадр 380 промежуточных обработанных оконной функцией отсчетов во временной области, которые могут также содержать блочную структуру из блоков 390-1, …, 390-T.
Кадры 330 и 380 могут содержать T блоков 340 и 390, соответственно, причем T является положительным целым числом. В предпочтительном варианте осуществления согласно настоящему изобретению в форме набора 300 фильтров синтеза количество блоков T равно 10. Однако в различных вариантах осуществления также различное количество блоков может содержаться в одном из кадров. Точнее количество блоков T в принципе может быть больше или равно 3, или больше или равно 4, в зависимости от конкретной реализации и ранее объясненных соотношений для вариантов осуществления согласно настоящему изобретению, содержащему блочную структуру из кадров и для набора 100 фильтров синтеза, и для набора 300 фильтров синтеза.
Модуль 360 оконной функции синтеза связан с выходным каскадом 400 суммирования с перекрытием, на который подают кадр 380 промежуточных обработанных оконной функцией отсчетов во временной области. Выходной каскад 400 суммирования с перекрытием может обрабатывать промежуточные обработанные оконной функцией отсчеты во временной области для получения блока 410 отсчетов во временной области. Блок 410 (выходных) отсчетов во временной области можно затем, например, подавать на дополнительные компоненты для дополнительной обработки, хранения или преобразования в слышимые звуковые сигналы.
Модуль 310 вычислений для вычисления последовательности отсчетов во временной области, содержащихся в кадре 330, может преобразовывать данные из частотной области во временную область. Поэтому модуль 310 вычислений может содержать модуль преобразования частота/время, который может генерировать сигнал во временной области спектрального представления, содержащегося в блоке 320 значений подполос звукового сигнала. Как объясняется в контексте модуля 170 вычислений из набора 100 фильтров анализа, показанного на Фиг.1, каждое из значений подполос звукового сигнала блока 320 соответствует каналу подполос звукового сигнала, имеющему характеристическую среднюю частоту.
В отличие от этого, промежуточные отсчеты во временной области, содержащиеся в кадре 330, представляют, в принципе, информацию во временной области. Модуль 360 оконной функции синтеза можно использовать и настраивать для применения оконной функции к последовательности промежуточных отсчетов во временной области, содержащихся в кадре 330, используя оконную функцию 370 синтеза, как схематично изображено на Фиг.2a. Оконная функция 370 синтеза содержит последовательность оконных коэффициентов, которая также содержит первую группу 420 и вторую группу 430 оконных коэффициентов, как ранее объясняется в контексте оконной функции 190 с первой группой 200 и второй группой 210 оконных коэффициентов.
Первая группа 420 оконных коэффициентов оконной функции 370 синтеза содержит первую последовательную часть последовательности оконных коэффициентов. Точно так же вторая группа 430 коэффициентов также содержит вторую последовательную часть последовательности оконных коэффициентов, причем первая часть содержит меньше оконных коэффициентов, чем вторая часть, и причем значение энергии или значение полной энергии оконных коэффициентов в первой части выше соответствующего значения энергии оконных коэффициентов второй части. Дополнительные особенности и свойства оконной функции 370 синтеза могут быть подобны соответствующим особенностям и свойствам оконной функции 190 анализа, которая схематично изображена на Фиг.1. Как следствие, ссылка делается на соответствующее описание в структуре оконной функции 190 анализа и дополнительное описание оконных функций относительно Фиг.11-19, причем первая группа 200 соответствует первой группе 420, а вторая группа 210 соответствует второй группе 430.
Например, каждая из частей, содержащихся в этих двух группах 420, 430 оконных коэффициентов, обычно формирует последовательный и связанный набор оконных коэффициентов, вместе содержащих все оконные коэффициенты последовательности оконных коэффициентов оконной функции 370. Во многих вариантах осуществления согласно настоящему изобретению оконная функция 190 анализа, которая изображена на Фиг.1, и оконная функция 370 синтеза, которая изображена на Фиг.2a, основаны друг на друге. Например, оконная функция 190 анализа может быть обращенной во времени или с измененным порядком индексов версией оконной функции 370 синтеза. Однако также возможны другие соотношения между двумя оконными функциями 190, 370. Может потребоваться использовать оконную функцию 370 синтеза в структуре модуля 360 оконной функции синтеза, которая соотносится с оконной функцией 190 анализа, которая использовалась в ходе генерации (возможно, перед дополнительными модификациями) блока 320 значений подполос звукового сигнала, обеспечиваемых к набору 300 фильтров синтеза.
Как указано в контексте Фиг.1, набор 300 фильтров синтеза на Фиг.2a можно дополнительно настраивать таким образом, что входящий блок 320 может содержать дополнительные сигналы или дополнительную информацию, относящуюся к оконным функциям. В качестве примера, блок 320 может содержать информацию об оконной функции 190 анализа, используемой для генерации блока 320, или об оконной функции 370 синтеза, которая будет использоваться модулем 360 оконной функции синтеза. Следовательно, набор 300 фильтров можно настраивать для отделения соответствующей информации и для обеспечения ее к модулю 360 оконной функции синтеза.
Выходной каскад 400 суммирования с перекрытием может генерировать блок 410 отсчетов во временной области, обрабатывая промежуточные обработанные оконной функцией отсчеты во временной области, содержащиеся в кадре 380. В различных вариантах осуществления согласно настоящему изобретению выходной каскад 400 суммирования с перекрытием может содержать память для временного хранения ранее принятых кадров 380 из промежуточных обработанных оконной функцией отсчетов во временной области. В зависимости от конкретного воплощения выходной каскад 400 суммирования с перекрытием может, например, содержать T различных ячеек памяти, содержащихся в памяти, для хранения общего количества T кадров 380 промежуточных обработанных оконной функцией отсчетов во временной области. Однако другое количество ячеек памяти может также содержаться в выходном каскаде 400 суммирования с перекрытием, когда требуется. Кроме того, в различных вариантах осуществления согласно настоящему изобретению выходной каскад 400 суммирования с перекрытием может обеспечивать блок 410 отсчетов во временной области, основываясь на одном кадре 380 из одних только промежуточных отсчетов во временной области. Варианты осуществления различных наборов 300 фильтров синтеза будут объясняться более подробно позже.
Фиг.2b показывает функциональный принцип согласно варианту осуществления настоящего изобретения в форме набора 300 фильтров синтеза. Блок 320 значений подполос звукового сигнала сначала переводят из частотной области во временную область с помощью модуля 310 вычислений, что показано на Фиг.2b стрелкой 440. Результирующий кадр 320 промежуточных отсчетов во временной области, содержащий блоки 340-1, …, 340-T промежуточных отсчетов во временной области, затем обрабатывают оконной функцией с помощью модуля 360 оконной функции синтеза (не показан на Фиг.2b), умножая последовательность промежуточных отсчетов во временной области кадра 320 на последовательность оконных коэффициентов оконной функции 370 синтеза для получения кадра 380 промежуточных обработанных оконной функцией отсчетов во временной области. Кадр 380 снова содержит блоки 390-1, …, 390-T промежуточных обработанных оконной функцией отсчетов во временной области, вместе формируя кадр 380 промежуточных обработанных оконной функцией отсчетов во временной области.
В показанном на Фиг.2b варианте осуществления отвечающего изобретению набора 300 фильтров синтеза выходной каскад 400 суммирования с перекрытием затем может генерировать блок 410 выходных отсчетов во временной области, складывая для каждого значения индекса отсчетов звукового сигнала во временной области блока 410 промежуточные обработанные оконной функцией отсчеты во временной области одного блока 390 различных кадров 380. Как показано на Фиг.2b, отсчеты звукового сигнала во временной области блока 410 получают, складывая для каждого индекса отсчета звукового сигнала один промежуточный обработанный оконной функцией отсчет во временной области блока 390-1 кадра 380, обработанного модулем 360 оконной функции синтеза в текущем цикле, и, как ранее описано, соответствующий промежуточный отсчет во временной области второго блока 390-2 кадра 380-1, обработанного непосредственно перед кадром 380 и сохраненного в ячейке памяти в выходном каскаде 400 суммирования с перекрытием. Как показано на Фиг.2b, могут использоваться дальнейшие соответствующие обработанные оконной функцией промежуточные отсчеты во временной области дальнейших блоков 390 (например, блока 390-3 кадра 380-2, блока 390-4 кадра 380-3, блока 390-5 кадра 380-4), ранее обработанные набором 300 фильтров синтеза. Кадры 380-2, 380-3, 380-4 и, возможно, дальнейшие кадры 380 обработаны набором 300 фильтров синтеза в предыдущих циклах. Кадр 380-2 обработан непосредственно перед кадром 380-1 и, соответственно, кадр 380-3 создан непосредственно перед кадром 380-2 и т.д.
В данном варианте осуществления выходной каскад 400 суммирования с перекрытием может суммировать для каждого индекса блока 410 (выходных) отсчетов во временной области T различных блоков 390-1, …, 390-T из промежуточных обработанных оконной функцией отсчетов во временной области из T различных кадров 380, 380-1, …, 380-(T-1). Следовательно, кроме первых T обработанных блоков, каждый из (выходных) отсчетов во временной области блока 410 основан на T различных блоках 320 значений подполос звукового сигнала.
Как в случае варианта осуществления настоящего изобретения набора 100 фильтров анализа, описанного на Фиг.1, из-за формы оконной функции 370 синтеза, набор 300 фильтров синтеза предлагает возможность быстрого обеспечения блока 410 (выходных) отчетов во временной области. Это также является следствием формы оконной функции 370. Поскольку первая группа 420 оконных коэффициентов соответствует более высокому значению энергии и содержит меньше оконных коэффициентов, чем вторая группа 430, модуль 360 оконной функции синтеза может обеспечивать «значащие» кадры 380 обработанных оконной функцией отсчетов, когда кадр 330 промежуточных отсчетов во временной области заполняют так, чтобы по меньшей мере оконные коэффициенты первой группы 420 вносили вклад в кадр 380. Оконные коэффициенты второй группы 430 вносят меньший вклад из-за их меньшего значения энергии.
Поэтому, когда вначале набор 300 фильтров синтеза инициализируют в 0, обеспечение блоков 410 можно в принципе начинать, когда только несколько блоков 320 значений подполос звукового сигнала принимаются с помощью набора 300 фильтров синтеза. Поэтому набор 300 фильтров синтеза также обеспечивает возможность существенного сокращения задержки по сравнению с набором фильтров синтеза, имеющим, например, симметричную оконную функцию синтеза.
Как указано ранее, модули 170 и 310 вычислений из вариантов осуществления, показанных на Фиг.1 и 2a, можно воплощать как модули действительных вычислений, которые генерируют или могут обрабатывать действительные значения подполос звукового сигнала блоков 180 и 320, соответственно. В этих случаях модули вычислений можно, например, воплощать как модули действительных вычислений, основываясь на гармонических колебательных функциях, таких как синусная функция или косинусная функция. Однако модули комплексных вычислений также можно воплощать как модули 170, 310 вычислений. В этих случаях модули вычислений можно, например, воплощать на основе комплексных экспоненциальных функций или других гармонических комплексных функций. Частота действительных или комплексных колебаний обычно зависит от индекса значений подполос звукового сигнала, который иногда также упоминается как индекс полосы или индекс подполосы определенной полосы. Кроме того, частота может зависеть от средней частоты соответствующей подполосы или быть ей идентичной. Например, частоту колебаний можно умножать на постоянный коэффициент, сдвигать относительно средней частоты соответствующей подполосы, или она может зависеть от комбинации обеих модификаций.
Модуль 170, 310 комплексных вычислений можно создавать или воплощать, основываясь на модулях действительных вычислений. Например, для модуля комплексных вычислений эффективная реализация может в принципе использоваться и для косинусно-модулированной части, и для синусно-модулированной части набора фильтров, представляющих действительную и мнимую часть комплексного компонента. Это подразумевает, что можно воплощать и косинусно-модулированную часть, и синусно-модулированную часть, основываясь, например, на измененных структурах DCT-IV и DST-IV. Кроме того, дополнительные реализации могут использовать применение FFT (FFT = быстрое преобразование Фурье), которое можно осуществлять совместно и для действительной части, и для данной части комплексно-модулированных модулей вычислений, используя одно FFT, или вместо этого используя один отдельный каскад FFT для каждого преобразования.
Математическое описание
Последующие разделы описывают примеры вариантов осуществления набора фильтров анализа и набора фильтров синтеза с множеством перекрытий по 8 блоков в прошлое, которые не вызывают дополнительную задержку, как объяснено выше, и один блок в будущее, который вызывает ту же самую задержку, как структура MDCT/MDST (MDCT = измененное дискретное косинусное преобразование; MDST = измененное дискретное синусное преобразование). Другими словами, в последующем примере параметр T равен 10.
Сначала будет приведено описание модулированного комплексного набора фильтров анализа с низкой задержкой. Как показано на Фиг.1, набор фильтров 100 анализа содержит этапы преобразования оконной функции анализа, выполняемого модулем 110 оконной функции анализа, и модуляции анализа, выполняемой модулем 170 вычислений. Применение оконной функции анализа основано на уравнении:
i,n
i,n
где z - (действительный) обработанный оконной функцией отсчет, соответствующий индексу i блока и индексу n отсчета кадра 150, показанного на Фиг.1. Значение x- (действительный) входной временной отсчет, соответствующий тому же самому индексу i блока и индексу n отсчета. Оконная функция 190 анализа представлена в уравнении (1) своими действительными оконными коэффициентами w(n), причем n также является индексом оконного коэффициента в диапазоне, указанном в уравнении (1). Как уже ранее объяснялось, параметр N является количеством отсчетов в одном блоке 220, 130, 160, 180.
Из параметров оконной функции анализа w (10N-1-n) можно заметить, что оконная функция анализа представляет перевернутую версию или обращенную во времени версию оконной функции синтеза, которая фактически представлена оконным коэффициентом w(n).
Модуляция анализа, выполняемая модулем 170 вычислений в варианте осуществления, показанном на Фиг.1, основана на следующих двух уравнениях:
или
поскольку индекс спектрального коэффициента или индекс k полосы является целым числом в диапазоне:
Real, i, k
imag, i, k
0
Значения X и X представляют действительную часть и мнимую часть комплексного значения подполос звукового сигнала, соответствующего индексу i блока и индексу k спектрального коэффициента блока 180. Параметр nпредставляет вариант индекса, который равен:
Соответствующий комплексно-модулирующий набор фильтров синтеза с низкой задержкой содержит этапы преобразования модуляции синтеза, применение оконной функции синтеза и сложение с перекрытием, как будет описано.
Модуляция синтеза основана на уравнении:
i,n
0
где x' - промежуточный отсчет во временной области кадра 330, соответствующий индексу n отсчета и индексу i блока. Параметр N - также целое число, указывающее длину блока 320, 340, 390, 410, которая также упоминается как длина блока преобразования или, из-за блочной структуры кадров 330, 380, как смещение к предыдущему блоку. Также дополнительные переменные и параметры были введены выше, такие как индекс k спектрального коэффициента и смещение n.
Применение оконной функции синтеза, выполняемое модулем 360 оконной функции синтеза в варианте осуществления, показанном на Фиг.2a, основано на уравнении:
i,n
в котором z' - значение промежуточного обработанного оконной функцией отсчета во временной области, соответствующего индексу n отсчета и индексу i блока кадра 380.
Преобразование сложения с перекрытием основано на уравнении:
i,n
в котором out представляет (выходной) отчет во временной области, соответствующий индексу n отсчета и индексу i блока. Уравнение (8), следовательно, показывает операцию суммирования с перекрытием, которую выполняет выходной каскад 400 суммирования с перекрытием, который показан в нижней части Фиг.2b.
i,k
Однако варианты осуществления согласно настоящему изобретению не ограничены модулированным комплексным набором фильтров с низкой задержкой, учитывая обработку звуковых сигналов с помощью одного из этих наборов фильтров. Можно также воплощать реализацию действительных наборов фильтров с низкой задержкой для улучшенного с низкой задержкой кодирования звука. В качестве сравнения, например, уравнения (2) и (6) в терминах появления косинусной части, вклада косинусной модуляции анализа и модуляции синтеза имеют сопоставимую структуру, при рассмотрении структуры MDCT. Хотя способ разработки в принципе предоставляет возможность расширения MDCT в обоих направлениях по отношению ко времени, в данной работе применяют только расширение на E (=T-2) блоков в прошлое, где каждый из T блоков содержит N отсчетов. Частотный коэффициент x полосы k и блока i внутри N-канального или N-полосного набора фильтров анализа может быть получен в итоге с помощью:
a
для индекса k спектрального коэффициента, который определен с помощью уравнения (4). В данном случае n также является индексом отсчета, и w - оконная функция анализа.
Для завершения ранее приведенного математического описания комплексно-модулирующий набор фильтров анализа с низкой задержкой может быть приведен в той же самой форме суммирования, как уравнение (9), меняя косинусную функцию на комплексную экспоненциальную функцию. Точнее, с определением и переменными, приведенными выше, уравнения (1), (2), (3) и (5) можно суммировать и расширять согласно:
где, в отличие от уравнений (2) и (3), расширение на 8 блоков в прошлое было заменено переменной E (=8).
Этапы модуляции синтеза и применения оконной функции синтеза, как описано для комплексного случая в уравнениях (6) и (7), можно суммировать в случае действительного набора фильтров синтеза. Кадр 380 обработанных оконной функцией промежуточных отсчетов во временной области, который также упоминается как демодулированный вектор, задают с помощью:
i,n
где z' - промежуточный обработанный оконной функцией отчет во временной области, соответствующий индексу i полосы и индексу n отсчета. Индекс n отсчета является также целым числом в диапазоне:
s
a
и w(n) является оконной функцией синтеза, которая совместима с оконной функцией анализа w(n) по уравнению (9).
Этап преобразования сложения с перекрытием затем задают с помощью:
i,n
где x' - восстановленный сигнал, или скорее отсчет во временной области блока 410 в соответствии с выходным каскадом 400 суммирования с перекрытием, показанным на Фиг.2a.
Для комплексного набора 300 фильтров синтеза уравнения (6) и (7) можно суммировать и обобщать относительно расширения E (=8) блоков в прошлое согласно:
где  является мнимой единицей. Уравнение (13) представляет обобщение уравнения (8) и также правильно для комплексного случая.
s
a
Как показывает прямое сравнение уравнения (14) с уравнением (7), оконная функция w(n) по уравнению (7) является той же самой оконной функцией синтеза, как w(n) по уравнению (14). Как указано прежде, подобное сравнение уравнения (10) с коэффициентом оконной функции анализа w(n) с уравнением (1) показывает, что оконная функция анализа - обращенная во времени версия оконной функции синтеза в случае уравнения (1).
Поскольку и набор 100 фильтров анализа, который показан на Фиг.1, и набор 300 фильтров синтеза, который показан на Фиг.2a, предлагают существенное улучшение в терминах соотношения между задержкой с одной стороны и качеством обработки звука с другой стороны, наборы 100, 300 фильтров часто упоминаются как наборы фильтров с низкой задержкой. Их комплексная версия иногда упоминается как комплексный набор фильтров с низкой задержкой, сокращенно CLDFB. При некоторых обстоятельствах термин CLDFB используется не только для комплексной версии, но также и для действительной версии набора фильтров.
Как показало предыдущее обсуждение математических предпосылок, структура, используемая для осуществления предложенных наборов фильтров с низкой задержкой, использует структуру, подобную MDCT или IMDCT (IMDCT = обратное MDCT), которая известна из стандарта MPEG-4, используя расширенное перекрытие. Дополнительные области перекрытия можно прикреплять поблочно к левой, а также к правой стороне MDCT-подобной центральной части. В данном случае используется только расширение в правую сторону (для набора фильтров синтеза), которое зависит только от предыдущих отсчетов и поэтому не вызывает дополнительную задержку.
Изучение уравнений (1), (2) и (14) показывает, что данная обработка очень похожа на обработку в MDCT или IMDCT. Только с помощью небольших модификаций, содержащих измененную оконную функцию анализа и оконную функцию синтеза, соответственно, MDCT или IMDCT расширяется на модулированный набор фильтров, который может обрабатывать многочисленные перекрытия и очень хорошо настраивается по отношению к задержке. Например, уравнения (2) и (3) показывают комплексную версию, которую в принципе получают с помощью простого добавления синусной модуляции к данной косинусной модуляции.
Интерполяция
Как описано в контексте Фиг.1 и 2a, и модуль 110 оконной функции анализа, и модуль 360 оконной функции синтеза, или соответствующие наборы 100, 300 фильтров приспособлены для применения оконной функции к соответствующим кадрам отсчетов во временной области, умножая каждый из соответствующих отсчетов звукового сигнала во временной области на отдельный оконный коэффициент. Каждый из отсчетов во временной области, другими словами, умножают на (отдельный) оконный коэффициент, как, например, демонстрируют уравнения (1), (7), (9), (10), (11) и (14). Как следствие, количество оконных коэффициентов соответствующей оконной функции обычно идентично количеству соответствующих отсчетов звукового сигнала во временной области.
Однако при определенных воплощениях может быть желательно реализовать оконную функцию, имеющую большее второе количество оконных коэффициентов по сравнению с текущей оконной функцией, имеющей меньшее первое количество коэффициентов, которое фактически используется во время применения оконной функции к соответствующему кадру или последовательности отсчетов звукового сигнала во временной области. Это может, например, быть необходимо в случае, когда требования к памяти в определенной реализации могут быть важнее, чем эффективность вычислений. Дополнительный сценарий, в котором субдискретизация (понижающая дискретизация) оконных коэффициентов может стать полезной, - так называемый подход двойной скорости, который, например, используется в структуре систем SBR (SBR = репликация спектральных полос). Концепция SBR будет объяснена более подробно в контексте Фиг.5 и 6.
В таком случае модуль 110 оконной функции анализа или модуль 360 оконной функции синтеза можно дополнительно настраивать таким образом, что соответствующая оконная функция, используемая для применения оконной функции к отсчетам звукового сигнала во временной области, поданным на соответствующий модуль 110, 360 оконной функции, получается с помощью интерполяции оконных коэффициентов большей оконной функции, имеющей большее второе количество оконных коэффициентов.
Интерполяция может, например, быть линейной, полиномиальной или основанной на сплайнах интерполяцией. Например, в случае линейной интерполяции, но также и в случае полиномиальной или основанной на сплайнах интерполяции, соответствующий модуль 100, 360 оконной функции может интерполировать оконные коэффициенты оконной функции, используемые для применения оконной функции, основываясь на двух последовательных оконных коэффициентах большей оконной функции в соответствии с последовательностью оконных коэффициентов большей оконной функции для получения одного оконного коэффициента оконной функции.
Особенно в случае четного количества отсчетов звукового сигнала во временной области и оконных коэффициентов, реализация интерполяции, как ранее описано, приводит к существенному улучшению качества звука. Например, в случае четного количества N·T отсчетов звукового сигнала во временной области в одном из кадров 120, 330, неиспользование интерполяции, например, линейной интерполяции, приводит к серьезным эффектам наложения спектров во время дополнительной обработки соответствующих отсчетов звукового сигнала во временной области.
Фиг.3 показывает пример линейной интерполяции, основанной на оконной функции (оконной функции анализа или оконной функции синтеза), которую используют в контексте с кадрами, содержащими N·T/2 отсчетов звукового сигнала во временной области. Из-за ограничений памяти или других конкретных воплощений, сами оконные коэффициенты оконной функции не хранятся в памяти, но большая оконная функция, содержащая N·T оконных коэффициентов, хранится в соответствующей памяти или доступна иным образом. Фиг.3 показывает на верхнем графике соответствующие оконные коэффициенты c(n) как функцию индексов n оконных коэффициентов в диапазоне между 0 и N·T-1.
Основываясь на линейной интерполяции двух последовательных оконных коэффициентов оконной функции, имеющей большее количество оконных коэффициентов, как изображено на верхнем графике на Фиг.3, интерполированную оконную функцию вычисляют, основываясь на уравнении:
Количество интерполированных оконных коэффициентов ci(n) оконной функции, которая подлежит применению к кадру, имеющему N·T/2 отсчетов звукового сигнала во временной области, содержит половину количества оконных коэффициентов.
Чтобы показать это дополнительно, в верхней части Фиг.3 показаны оконные коэффициенты 450-0, …, 450-7, соответствующие оконным коэффициентам c(0), …, c(7). Основываясь на этих оконных коэффициентах и дополнительных оконных коэффициентах оконной функции, применение уравнения (15) приводит к оконным коэффициентам ci(n) интерполированной оконной функции, изображенной в нижней части Фиг.3. Например, основанный на оконных коэффициентах 450-2 и 450-3, оконный коэффициент 460-1 создают, основываясь на уравнении (15), как показывается стрелками 470 на Фиг.3. Соответственно, оконный коэффициент 460-2 из интерполированной оконной функции вычисляют, основываясь на оконных коэффициентах 450-4, 450-5 оконной функции, изображенной в верхней части Фиг.3. Фиг.3 показывает генерацию дополнительных оконных коэффициентов ci(n).
Чтобы показать нейтрализацию наложения спектров, обеспечиваемую с помощью интерполированной субдискретизации оконной функции, Фиг.4 показывает интерполяцию оконных коэффициентов в случае синусной оконной функции, которая может, например, использоваться в MDCT. Для простоты левую половину оконной функции и правую половину оконной функции отображают поверх друг друга. Фиг.4 показывает упрощенную версию синусной оконной функции, содержащей только 2·4 оконных коэффициентов, или точек, для MDCT, имеющей длину 8 отсчетов.
Фиг.4 показывает четыре оконных коэффициента 480-1, 480-2, 480-3 и 480-4 из первой половины синусной оконной функции и четыре оконных коэффициента 490-1, 490-2, 490-3 и 390-4 из второй половины синусной оконной функции. Оконные коэффициенты 490-1, …, 490-4 соответствуют индексам оконных коэффициентов 5, …, 8. Оконные коэффициенты 490-1, …, 490-4 соответствуют второй половине длины оконной функции, так что к приведенным индексам необходимо добавлять N'=4 для получения действительных индексов.
Для уменьшения или даже для обеспечения нейтрализации эффектов наложения спектров, как описано ранее, оконный коэффициент должен соответствовать условию
настолько хорошо, насколько возможно. Чем лучше соотношение (16) выполняется, тем лучше подавление наложения спектров или нейтрализация наложения спектров.
Предполагая ситуацию, когда новая оконная функция, имеющая половину количества оконных коэффициентов, должна быть определена для левой половины оконной функции, возникает следующая проблема. Вследствие того, что оконная функция содержит четное количество оконных коэффициентов (субдискретизация с четным количеством), не используя схему интерполяции, как показано на Фиг.3, оконные коэффициенты 480-1 и 480-3 или 480-2 и 480-4 соответствуют только одному значению наложения спектров исходной оконной функции или исходного фильтра.
1
2
Это приводит к неуравновешенному соотношению спектральной энергии и приводит к несимметричному перераспределению средней точки (центра масс) соответствующей оконной функции. Основываясь на уравнении интерполяции (15) для оконного коэффициента w(n) на Фиг.4, интерполированные значения I и I соответствуют соотношению наложения спектров (16) намного лучше и, следовательно, приводят к существенному улучшению качества обработанных звуковых данных.
Однако использование еще более сложной схемы интерполяции, например, основанной на сплайнах или другой подобной схемы интерполяции, может даже привести к оконным коэффициентам, которые соответствуют соотношению (16) еще лучше. Линейная интерполяция в большинстве случаев достаточна и допускает быструю и эффективную реализацию.
При ситуации в случае обычной системы SBR, использующей набор фильтров SBR-QMF (QMF = зеркальный квадратурный фильтр), линейная интерполяция или другая схема интерполяции не должна осуществляться, поскольку фильтр-прототип SBR-QMF содержит нечетное количество коэффициентов фильтра-прототипа. Это подразумевает, что фильтр-прототип SBR-QMF содержит максимальное значение, относительно которого можно осуществлять субдискретизацию так, чтобы симметрия фильтра-прототипа SBR-QMF оставалась неповрежденной.
На Фиг.5 и 6 описано возможное применение вариантов осуществления согласно настоящему изобретению в форме и набора фильтров анализа, и набора фильтров синтеза. Одной важной областью применения является система SBR, или инструментальное средство SBR (SBR = репликация спектральных полос). Однако дополнительные применения вариантов осуществления согласно настоящему изобретению могут исходить из других областей техники, в которых существует потребность в изменении спектра (например, изменении или выравнивании усиления), таких как пространственное кодирование звукового объекта, параметрическое стереофоническое кодирование с низкой задержкой, пространственное/окружающее кодирование с низкой задержкой, маскирование потерь кадра, подавление эха или другие соответствующие применения.
Основной идеей, лежащей в основе SBR, является наблюдение, что обычно существует сильная корреляция между характеристиками высокочастотного диапазона сигнала, который будет упоминаться как так называемый сигнал верхней полосы, и характеристиками низкочастотного диапазона, дополнительно называемого нижней полосой, или сигналами нижней полосы, того же самого сигнала. Таким образом, хорошую аппроксимацию для представления исходного входного сигнала верхней полосы можно обеспечивать с помощью преобразования из нижней полосы в верхнюю полосу.
В дополнение к преобразованию восстановление верхней полосы включает формирование огибающей спектра, что содержит регулировку усиления. Этим процессом обычно управляют с помощью передачи огибающей спектра верхней полосы исходного входного сигнала. Дополнительная управляющая информация, посылаемая от кодера, управляет дополнительными модулями синтеза, такими как модуль обратной фильтрации, добавления шума и синусоиды, для обработки звукового материала, когда одно только преобразование недостаточно. Соответствующие параметры содержат параметр «шум верхней полосы» для добавления шума и параметр «тональность верхней полосы» для добавления синусоиды. Эта направляющая информация обычно упоминается как данные SBR.
Процесс SBR можно объединять с волной любой обычной формы или с кодеком посредством предпроцесса на стороне кодера и постпроцесса на стороне декодера. SBR кодирует высокочастотную часть звукового сигнала с очень низкой стоимостью, тогда как звуковой кодек используется для кодирования низкочастотной части сигнала.
На стороне кодера исходный входной сигнал анализируют, огибающую спектра верхней полосы и ее характеристики по отношению к нижней полосе кодируют, и результирующие данные SBR мультиплексируют с битовым потоком от кодека для нижней полосы. На стороне декодера данные SBR сначала демультиплексируют. Процесс декодирования организован в общем случае поэтапно. Сначала основной декодер создает нижнюю полосу и затем декодер SBR работает в качестве постпроцессора, используя декодированные данные SBR для управления процессом репликации спектральной полосы. Затем получают выходной сигнал всего диапазона частот.
Для получения максимальной эффективности кодирования и сохранения низкой вычислительной сложности улучшенные кодеки SBR часто воплощаются как так называемые системы двойной скорости. Двойная скорость подразумевает, что с ограниченной полосой основной кодек работает на половине внешней частоты дискретизации звукового сигнала. Напротив, часть SBR обрабатывают с полной частотой дискретизации.
Фиг.5 показывает схематическую структурную схему системы 500 SBR. Система 500 SBR содержит, например, кодер 510 AAC-LD (AAC-LD = расширенный звуковой кодек с низкой задержкой) и кодер 520 SBR, на который звуковые данные, которые подлежат обработке, подаются параллельно. Кодер 520 SBR содержит набор 530 фильтров анализа, который показан на Фиг.5 как набор фильтров анализа QMF. Набор 530 фильтров анализа может обеспечивать значения подполос звукового сигнала, соответствующие подполосам, основываясь на звуковых сигналах, поданных на систему 500 SBR. Эти значения подполос звукового сигнала затем подаются на модуль 540 извлечения параметров SBR, который создает данные SBR, которые описаны ранее, например, содержащие огибающую спектра для верхней полосы, параметр шума верхней полосы и параметр тональности верхней полосы. Эти данные SBR затем подаются на кодер 510 AAC-LD.
Кодер 510 AAC-LD показан на Фиг.5 как кодер двойной скорости. Другими словами, кодер 510 работает на половине частоты отсчетов по сравнению с частотой отсчетов звуковых данных, обеспечиваемых на кодер 510. Для обеспечения этого кодер 510 AAC-LD содержит субдискретизирующий каскад 550, который дополнительно может содержать низкочастотный фильтр, чтобы избежать искажений, вызванных, например, нарушением теории Найквиста-Шэннона. Субдискретизированные звуковые данные, которые выводятся субдискретизирующим каскадом 550, затем подаются на кодер 560 (набор фильтров анализа) в форме набора фильтров MDCT. Сигналы, обеспеченные кодером 560, затем квантуют и кодируют в квантующем и кодирующем каскаде 570. Кроме того, данные SBR, которые обеспечивают с помощью модуля 540 извлечения параметров SBR, также кодируют для получения битового потока, который затем выводят с помощью кодера 510 ACC-LD. Квантующий и кодирующий каскад 570 может, например, квантовать данные согласно свойствам слуха человеческого уха.
-1
Битовый поток затем подается на декодер 580 AAC-LD, который является частью декодирующей стороны, к которой транспортируют битовый поток. Декодер AAC-LD содержит каскад 590 обратного квантования и декодирования, который извлекает данные SBR из битового потока и обратно квантованные или повторно квантованные звуковые данные в частотной области, представляющие нижнюю полосу. Данные нижней полосы затем подаются на набор 600 фильтров синтеза (набор фильтров обратного MDCT). Каскад 600 обратного MDCT (MDCT) конвертирует сигналы, подаваемые на каскад обратного MDCT, из частотной области во временную область для обеспечения временного сигнала. Этот сигнал во временной области затем подается на декодер 610 SBR, который содержит набор 620 фильтров анализа, который показан на Фиг.5 как набор фильтров анализа QMF.
Набор 620 фильтров анализа выполняет спектральный анализ временного сигнала, подаваемого на набор 620 фильтров анализа, представляющего нижнюю полосу. Эти данные затем подаются на высокочастотный генератор 630, который также упоминается как ВЧ-генератор. Основываясь на данных SBR, обеспеченных кодером 580 AAC-LD и его каскадом 590 обратного квантования и декодирования, ВЧ-генератор 630 создает сигналы верхней полосы, основываясь на сигналах нижней полосы, обеспеченных набором 620 фильтров анализа. Сигналы и нижней полосы, и верхней полосы затем подаются на набор 640 фильтров синтеза, который переносит сигналы и нижней полосы, и верхней полосы из частотной области во временную область для обеспечения звукового выходного сигнала во временной области, сформированного системой 500 SBR.
Для законченности следует отметить, что во многих случаях систему 500 SBR, которая показана на Фиг.5, не воплощают таким образом. Более точно, кодер 510 AAC-LD и кодер 520 SBR обычно воплощаются на стороне кодера, которая обычно воплощается отдельно от стороны декодера, содержащей декодер 580 AAC-LD и декодер 610 SBR. Другими словами, показанная на Фиг.5 система 500, по существу, представляет соединение двух систем, а именно кодера, содержащего указанные выше кодеры 510, 520, и декодера, содержащего указанные выше декодеры 580, 610.
Варианты осуществления согласно настоящему изобретению в форме наборов 100 фильтров анализа и наборов 300 фильтров синтеза можно, например, воплощать в системе 500, показанной на Фиг.5, как замена набора 530 фильтров анализа, набора 620 фильтров анализа и набора 640 фильтров синтеза. Другими словами, наборы фильтров синтеза или анализа компонентов системы 500 SBR можно, например, заменять соответствующими вариантами осуществления согласно настоящему изобретению. Кроме того, модуль 560 MDCT и модуль 600 обратного MDCT можно также заменять наборами фильтров с низкой задержкой анализа и синтеза соответственно. В этом случае, если все описанные замены будут осуществлены, то будет реализован так называемый улучшенный с низкой задержкой кодек (кодек = кодер-декодер) AAC.
Целью улучшенного с низкой задержкой кодека AAC (AAC-ELD) является объединение особенностей низкой задержки AAC-LD (расширенного звукового кодека с низкой задержкой) с высокой эффективностью кодирования HE-AAC (высокопроизводительного расширенного звукового кодека), используя SBR с AAC-LD. Декодер 610 SBR работает в этом сценарии в качестве постпроцессора, который обеспечивают после основного декодера 580, включающего в себя законченный набор фильтров анализа и набор 640 фильтров синтеза. Поэтому компоненты декодера 610 SBR добавляют дополнительную задержку декодирования, которая показывается на Фиг.5 с помощью штриховки компонентов 620, 630, 540.
Во многих реализациях систем 500 SBR нижняя часть частот, или нижняя полоса, располагается обычно от 0 кГц до 5-15 кГц и кодируется с использованием кодера, воспроизводящего форму сигнала, называемого основным кодеком. Основной кодек может, например, быть одним из семейства звуковых кодеков MPEG. Дополнительно, восстановление высокочастотной части, или верхней полосы, обеспечивают с помощью преобразования нижней полосы. Комбинацию SBR с основным кодером во многих случаях воплощают как систему с двойной скоростью, где указанный кодер/декодер AAC работает на половине частоты дискретизации кодера/декодера SBR.
Большинство управляющих данных используется для представления огибающей спектра, которая имеет изменяющееся разрешающую способность по времени и частоте, чтобы иметь возможность управлять наилучшим образом процессом SBR с наименьшими возможными накладными расходами по битрейту. Другие управляющие данные, главным образом, управляют отношением звукового сигнала к помехам верхней полосы.
Как показано на Фиг.5, выходная информация от основного декодера 580 AAC обычно анализируется с помощью 32-канального набора 620 фильтров QMF. Затем модуль 630 ВЧ-генератора повторно создает верхнюю полосу с помощью восстановления подполосы QMF из существующей нижней полосы в верхнюю полосу. Кроме того, обратную фильтрацию выполняют на основе подполос, основываясь на данных управления, полученных из битового потока (данных SBR). Устройство регулировки огибающей изменяет огибающую спектра восстановленной верхней полосы и добавляет дополнительные компоненты, такие как шум и синусоиды, согласно управляющим данным в битовом потоке. Так как все операции выполняют в частотной области (которая также известна, как область QMF или подполос), конечным этапом декодера 610 является синтез QMF 640, для сохранения сигнала временной области. Например, в случае, когда анализ QMF на стороне кодера выполняют в системе 32-QFM подполос для 1024 отсчетов во временной области, высокочастотное восстановление приводит к 64-QMF подполосам, на которых синтез выполняют, создавая 2048 отсчетов во временной области, так что получают повышающую дискретизацию с коэффициентом 2.
Кроме того, задержка основного кодера 510 удваивается с помощью работы на половине исходной частоты дискретизации в режиме двойной скорости, что приводит к дополнительным источникам задержки и в процессе кодера, и в процессе декодера AAC-LD в комбинации с SBR. В последующем исследуют такие источники задержки, и связанную с ними задержку минимизируют.
Фиг.6 показывает упрощенную структурную схему системы 500, показанной на Фиг.5. Фиг.6 концентрируется на источниках задержки в процессе кодера/декодера, используя SBR и наборы фильтров с низкой задержкой для кодирования. Сравнивая Фиг.6 с Фиг.5, модуль 560 MDCT и модуль 600 обратного MDCT были заменены модулями с оптимизированной задержкой, так называемыми модулем 560' MDCT с низкой задержкой (LD MDCT) и модулем 600' обратного MDCT с низкой задержкой (LD IMDCT). Кроме того, ВЧ-генератор 630 был также заменен модулем 630' с оптимизированной задержкой.
Кроме модуля 560' MDCT с низкой задержкой и модуля 600' обратного MDCT с низкой задержкой, в показанной на Фиг.6 системе используют измененное средство создания кадра SBR и измененный ВЧ-генератор 630'. Чтобы избежать задержки в различных модулях 560, 600 создания кадра основного кодера/декодера и соответствующих модулей SBR, модуль создания кадра SBR настраивают так, чтобы кадр имел длину кадра, равную 480 или 512 отсчетов AAC-LD. Кроме того, архитектура с изменяющимся временем ВЧ-генератора 630, которая подразумевает 384 отсчета задержки, ограничена относительно распространения данных SBR по смежным кадрам AAC-LD. Таким образом, единственные оставшиеся источники задержки модуля SBR - наборы 530, 620 и 640 фильтров.
Согласно ситуации, изображенной на Фиг.6, представляющей частичную реализацию кодека AAC-ELD, некоторая оптимизация задержки уже осуществлена, которая включает в себя использование набора фильтров с низкой задержкой в основном кодере AAC-LD и удаление ранее указанного перекрытия SBR. Для дополнительного уменьшения задержки необходимо исследовать остальные модули. Фиг.6 показывает источники задержки в процессе работы кодера/декодера с использованием SBR и наборов фильтров с низкой задержкой, которые называют модулями LD-MDCT и LD-IMDCT в данной работе. По сравнению с Фиг.5 на Фиг.6 каждый модуль представляет источник задержки, причем модули с оптимизированной задержкой показаны заштрихованными. Одинаковые модули пока не оптимизированы для низкой задержки.
Фиг.7a показывает последовательность операций, содержащую псевдокод языка C или C++, чтобы показать вариант осуществления согласно настоящему изобретению в форме набора фильтров анализа или соответствующего способа генерации значений подполос звукового сигнала в каналах подполос звукового сигнала. Более точно, Фиг.7a представляет последовательность операций комплексного набора фильтров анализа для 32 полос.
Как описано раньше, набор фильтров анализа используется для разбиения во временной области сигнала, например, выведенного из основного кодера, на N=32 сигналов подполос. Выход набора фильтров, отсчеты подполос или значения подполос звукового сигнала в случае комплексного набора фильтров анализа являются комплексными, и таким образом их передискретизируют с коэффициентом 2, по сравнению с действительным набором фильтров. Фильтрация вовлекает и содержит следующие этапы, причем массив x(n) содержит точно 320 отсчетов во временной области. Чем выше индекс отсчетов n в массиве, тем старше отсчеты.
После начала вариантов осуществления способа на этапе S100 сначала на этапе S110 отсчеты в массиве x(n) сдвигают на 32 позиции. На этапе S120 самые старшие 32 отсчета отбрасывают, и 32 новых отсчета сохраняют в ячейках с 31 по 0. Как показано на Фиг.7a, входные отсчеты звукового сигнала во временной области сохраняют в ячейках, соответствующих уменьшающемуся индексу n в диапазоне от 31 до 0. Это приводит к обращению во времени отсчетов, сохраненных в соответствующем кадре или векторе, так что изменение порядка индексов оконной функции для получения оконной функции анализа, основываясь на оконной функции синтеза (с одинаковой длиной), уже выполнено.
Во время этапа S130 оконные коэффициенты ci (j) получаются с помощью линейной интерполяции коэффициентов c(j), основываясь на уравнении (15). Интерполяция основана на размере блока (длине блока или количестве значений подполос) N=64 значений и основана на кадре, содержащем T=10 блоков. Следовательно, индекс оконных коэффициентов интерполированной оконной функции находится в диапазоне между 0 и 319 согласно уравнению (15). Оконные коэффициенты c(n) даны в таблице в приложении 1 описания. Однако, в зависимости от конкретного воплощения для получения оконных коэффициентов, основываясь на значениях, приведенных в таблицах в приложениях 1 и 3, нужно рассматривать дополнительные изменения знака относительно оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)).
В этих случаях оконные коэффициенты w(n) или c(n) для использования можно получать согласно:
с функцией s(n) переключения знака согласно:
table
для n=от 0 до 639, причем w(n) - значения, приведенные в таблицах в приложениях.
Однако оконные коэффициенты не требуется воплощать согласно таблице в приложении 1 для получения, например, уже описанного сокращения задержки. Для обеспечения этого сокращения задержки при поддержке уровня качества обработанных звуковых данных, или для обеспечения другого соотношения, оконные коэффициенты c(n) для индекса n оконного коэффициента в диапазоне между 0 и 639 могут соответствовать одному из наборов соотношений, которые приведены в одном из приложений 2-4. Кроме того, нужно отметить, что также другие оконные коэффициенты c(n) можно использовать в вариантах осуществления согласно настоящему изобретению. Естественно, можно воплощать также другие оконные функции, содержащие другое количество оконных коэффициентов, чем 320 или 640, хотя таблицы в приложениях 1-4 относятся только к оконным функциям, имеющим 640 оконных коэффициентов.
Линейная интерполяция согласно S130 приводит к существенному повышению качества и приводит к уменьшению или к нейтрализации наложения спектров в случае оконной функции, содержащей четное количество оконных коэффициентов. Нужно дополнительно отметить, что комплексная единица не равна j, как в уравнениях (1), (2) и (16), а обозначена с помощью i=.
На этапе S140 отсчеты массива x(n) затем умножают поэлементно на коэффициенты ci(n) интерполированной оконной функции.
На этапе S150 обработанные оконной функцией отсчеты суммируют согласно уравнению, приведенному в последовательности операций на Фиг.7a, для создания массива из 64 элементов u(n). На этапе S160 32 новых отсчета подполос или значений подполос звукового сигнала W (k, l) вычисляют согласно матричной операции Mu, причем элементы матрицы М задают с помощью:
где exp () обозначает комплексную экспоненциальную функцию и, как ранее указано, i - мнимая единица. Перед окончанием цикла последовательности операций на этапе S170 можно выводить каждое из значений подполос W (k, l) (=W [k] [l]), которое соответствует отсчету l в подполосе, имеющей индекс k. Другими словами, каждый цикл в последовательности операций, показанной на Фиг.7a, создает 32 комплексных значений подполос, каждое представляет выход от одной подполосы набора фильтров.
Фиг.7b показывает этап S150 сокращения кадра 150 обработанных оконной функцией отсчетов звукового сигнала во временной области, содержащих 10 блоков 160-1, …, 160-10 обработанных оконной функцией отсчетов звукового сигнала во временной области z(n), до вектора u(n) с помощью 5-кратного суммирования двух блоков каждого кадра 150. Сокращение или уменьшение выполняют на поэлементной основе так, что обработанные оконной функцией отсчеты звукового сигнала во временной области, соответствующие тому же самому индексу отсчета в каждом из блоков 160-1, 160-3, 160-5, 160-7 и 160-9, складывают для получения соответствующих значений в первых блоках 650-1 вектора u(n). Соответственно, основанные на блоках 160-2, 160-4, 160-6, 160-8 и 160-10 соответствующие элементы вектора u(n) в блоке 160-2 создают на этапе S150.
Дополнительный вариант осуществления согласно настоящему изобретению в форме набора фильтров анализа можно осуществлять как 64-полосный комплексный набор фильтров с низкой задержкой. Обработка этого комплексного набора фильтров с низкой задержкой как набора фильтров анализа в основном подобна набору фильтров анализа, как описано в контексте Фиг.7a. Из-за общих черт и в основном той же самой обработки, как описано в контексте Фиг.7a, различия между описанным комплексным набором фильтров анализа для 32 полос на Фиг.7a и комплексным набором фильтров анализа для 64 подполос будут описаны далее.
В отличие от набора фильтров анализа, содержащего 32 подполосы, как показано на Фиг.7a, вектор кадра x(n) содержит в случае 64-полосного набора фильтров анализа 640 элементов, имеющих индексы от 0 до 639. Следовательно, этап S110 изменяют таким образом, что отсчеты в массиве x(n) сдвигают на 64 позиции, причем самые старшие 64 отсчета отбрасывают. На этапе S120 вместо 32 новых отсчетов 64 новых отсчета сохраняют в ячейках с 63 по 0. Как показано на Фиг.7c, входящие отсчеты звукового сигнала во временной области сохраняют в ячейках, соответствующих уменьшающемуся индексу n в диапазоне от 63 до 0. Это приводит к обращению во времени отсчетов, сохраненных в соответствующем кадре, или векторе, так что изменение порядка индексов оконной функции для получения оконной функции анализа, основываясь на оконной функции синтеза (с одинаковой длиной), уже выполнено.
Поскольку последовательность оконных коэффициентов c(n), используемых для применения оконной функции к элементам вектора кадра x(n), содержит обычно 640 элементов, этап S130 линейной интерполяции оконных коэффициентов для получения интерполированных обработанных оконной функцией ci(n) может быть опущен.
Затем, во время этапа S140, отсчеты массива x(n) умножают или обрабатывают оконной функцией при помощи последовательности оконных коэффициентов c(n), которые также основаны на значениях в таблице в приложении 1. В случае, когда оконные коэффициенты c(n) являются коэффициентами оконной функции синтеза, применение оконной функции, или умножение массива x(n) на оконные коэффициенты c(n), выполняют согласно уравнению
для = 0, …, 639. Также, для обеспечения свойств с низкой задержкой оконной функции, не обязательно воплощать оконную функцию точно согласно оконным коэффициентам, основываясь на значениях, приведенных в таблице приложения 1. Для многих приложений реализация, в которой оконные коэффициенты соответствуют любому набору соотношений, которые приведены в таблицах в приложениях 2-4, будет достаточна для обеспечения приемлемого соотношения между качеством и существенным сокращением задержки. Однако, в зависимости от конкретного воплощения, для получения оконных коэффициентов, основываясь на значениях, приведенных в таблицах в приложениях 1 и 3, дополнительные изменения знака оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)), нужно рассматривать согласно уравнениям (16a) и (16b).
Этап S150 последовательности операций, показанной на Фиг.7a, затем заменяют суммированием отсчетов вектора кадра z(n) согласно уравнению:
для создания массива с 128 элементами u(n).
Этап S160 на Фиг.7a затем заменяют этапом, в котором 64 новых отсчетов подполос вычисляют согласно матричной операции Mu, причем матричные элементы матрицы М задают с помощью
где exp () обозначает комплексную экспоненциальную функцию, и i, как уже объяснялось, - мнимая единица.
r
r
Фиг.7c показывает последовательность операций согласно варианту осуществления настоящего изобретения в форме действительного набора фильтров анализа для 32 каналов подполос. Вариант осуществления, который показан на Фиг.7c, не отличается значительно от варианта осуществления, показанного на Фиг.7a. Основное различие между этими двумя вариантами осуществления - то, что этап S160 вычисления новых 32 комплексных значений подполос звукового сигнала заменяют в варианте осуществления, показанном на Фиг.7c, этапом S162, в котором 32 действительных отсчета подполос звукового сигнала вычисляют согласно матричной операции Mu, причем элементы матрицы M задают с помощью:
Как следствие, каждый цикл в последовательности операций создает 32 действительных отсчета подполос, причем W (k, l) соответствует отсчету l звукового сигнала подполосы k.
Действительный набор фильтров анализа может, например, использоваться в структуре режима с низким энергопотреблением системы SBR, как показано на Фиг.5. Режим с низким энергопотреблением инструментального средства SBR отличается от высококачественного инструментального средства SBR, главным образом, относительно факта, что используют действительные наборы фильтров. Это уменьшает сложность вычислений и объем вычислительных работ в 2 раза, так что количество операций в единицу времени, по существу, сокращается в 2 раза, поскольку не требуется вычислять мнимую часть.
Предложенные новые наборы фильтров согласно настоящему изобретению полностью совместимы с режимом с низким энергопотреблением систем SBR. Таким образом, с наборами фильтров согласно настоящему изобретению, системы SBR могут все равно работать и в обычном режиме, или в высококачественном режиме, с комплексными наборами фильтров, и в режиме с низким энергопотреблением с действительными наборами фильтров. Действительный набор фильтров можно, например, получать из комплексного набора фильтров при использовании только действительных значений (вклад косинусной модуляции) и исключении мнимых значений (вклад синусной модуляции).
Фиг.8a показывает последовательность операций согласно варианту осуществления настоящего изобретения в форме комплексного набора фильтров синтеза для 64 каналов подполос. Как описано ранее, фильтрацию синтеза обработанных SBR сигналов подполос обеспечивают с использованием 64-подполосного набора фильтров синтеза согласно варианту осуществления настоящего изобретения. Выходным сигналом из набора фильтров является блок действительных отсчетов во временной области, как описано в контексте Фиг.1. Процесс показывают с помощью последовательности операций на Фиг.8a, которая также показывает вариант осуществления настоящего изобретения в форме способа генерации отсчетов звукового сигнала во временной области.
Фильтрация синтеза содержит после начала (этап S200) следующие этапы, причем массив v содержит 1280 отсчетов. На этапе S210 отсчеты в массиве v сдвигают на 128 позиций, причем самые старшие 128 отсчетов отбрасывают. На этапе S220 64 новых комплексных значений подполос звукового сигнала умножают на матрицу N, причем элементы N(k, n) матрицы задают с помощью
где exp () обозначает комплексную экспоненциальную функцию, и i - мнимая единица. Действительную часть выхода этой операции сохраняют в ячейках 0-127 массива v, как показано на Фиг.8a.
На этапе S230 отсчеты, которые находятся теперь во временной области, извлекают из массива v согласно уравнению, приведенному на Фиг.8a, для создания массива из 640 элементов g(n). На этапе S240 действительные отсчеты во временной области из массива g умножают на оконный коэффициент c(n) для создания массива w, причем оконные коэффициенты предпочтительного варианта осуществления согласно настоящему изобретению опять являются оконными коэффициентами, основанными на значениях, приведенных в таблице в приложении 1.
Однако, как указано прежде, оконные коэффициенты не обязаны быть точно основанными на значениях, приведенных в таблице приложения 1. В различных вариантах осуществления согласно настоящему изобретению достаточно, если оконные коэффициенты соответствуют одному из наборов соотношений, которые приведены в таблицах приложений 2-4, для обеспечения требуемого свойства с низкой задержкой набора фильтров синтеза. Кроме того, как объясняется в контексте набора фильтров анализа, также другие оконные коэффициенты могут быть использованы в структуре набора фильтров синтеза. Однако, в зависимости от конкретного воплощения, для получения оконных коэффициентов, основываясь на значениях, приведенных в таблицах в приложениях 1 и 3, нужно рассматривать дополнительно изменение знака относительно оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)).
На этапе S250 64 новых выходных отчета вычисляют с помощью суммирования отсчетов из массива w(n) согласно последнему этапу и формуле, приведенной в последовательности операций на Фиг.8a, прежде, чем один цикл последовательности операций закончится на этапе S260. В последовательности операций, как показано на Фиг.8a, X [k] [l] (= X (k, l)) соответствует значению l подполосы звукового сигнала в подполосе, имеющей индекс k. Каждый новый цикл, как показано на Фиг.8a, генерирует 64 действительных отсчета звукового сигнала во временной области в качестве выходного сигнала.
Реализация, которая показана на Фиг.8a, набора фильтров комплексного анализа для 64 полос не требует буфера сложения с перекрытием, содержащего несколько ячеек памяти, как объяснено в контексте варианта осуществления, показанного на Фиг.2b. В данном случае буфер сложения с перекрытием «скрыт» в векторах v и g, которые вычисляют, основываясь на значениях, хранящихся в векторе v. Буфер сложения с перекрытием осуществляют в структуре этих векторов с индексами, которые больше 128, так что эти значения соответствуют значениям от предыдущих, или прошлых блоков.
Фиг.8b показывает последовательность операций набора фильтров действительного синтеза для 64 действительных каналов подполос звукового сигнала. Набор фильтров действительного синтеза согласно Фиг.8b можно также осуществлять в случае реализации SBR с низким энергопотреблением, как соответствующий набор фильтров SBR.
r
r
Последовательность операций на Фиг.8b отличается от последовательности операций на Фиг.8a, главным образом, по отношению к этапу S222, которым заменяют этап S220 на Фиг.8a. На этапе S222 64 новых действительных значений подполос звукового сигнала умножают на матрицу N, в которой элементы матрицы N(k, n) задают с помощью:
причем выход от этой операции еще раз сохраняют в ячейках 0-127 массива v.
Кроме этих изменений, последовательность операций, которая показана на Фиг.8b в случае действительного набора фильтров синтеза для режима SBR с низким энергопотреблением, не отличается от последовательности операций, которая показана на Фиг.8a для комплексного набора фильтров синтеза для высококачественного режима SBR.
Фиг.8c показывает последовательность операций согласно варианту осуществления настоящего изобретения в форме субдискретизированного комплексного набора фильтров синтеза и соответствующего способа, который может например, осуществляться в высококачественной реализации SBR. Точнее, набор фильтров синтеза, который описан на Фиг.8c, относится к комплексному набору фильтров синтеза, способному обрабатывать комплексные значения подполос звукового сигнала для 32 каналов подполос.
Субдискретизированную фильтрацию синтеза сигналов подполос SBR-процесса обеспечивают, используя набор фильтров синтеза с 32 каналами, как показано на Фиг.8c. Выходной сигнал набора фильтров - блок действительных отсчетов во временной области. Процесс приведен в последовательности операций на Фиг.8c. Фильтрация синтеза содержит после начала (этап S300) следующие этапы, причем массив v содержит 640 действительных отсчетов во временной области.
На этапе S310 отсчеты в массиве v сдвигают на 64 позиции, причем самые старшие 64 отсчетов отбрасывают. Затем на этапе S320 32 новых комплексных отсчета подполос или комплексных значений подполос звукового сигнала умножают на матрицу N, элементы которой задают с помощью
причем exp () обозначает комплексную экспоненциальную функцию, и i - снова мнимая единица. Действительную часть выводимой информации от этой операции затем сохраняют в ячейках 0-63 массива v.
На этапе S330 отсчеты извлекают из вектора v согласно уравнению, приведенному в последовательности операций на Фиг.8c, для создания массива g из 320 элементов. На этапе S340 оконные коэффициенты ci(n) интерполированной оконной функции получают с помощью линейной интерполяции коэффициентов c(n) в соответствии с уравнением (15), причем индекс n находится опять в диапазоне между 0 и 319 (N=64, T=10 для уравнения (15)). Как показано ранее, коэффициенты оконной функции c(n) основаны на значениях, приведенных в таблице приложения 1. Кроме того, для обеспечения свойства с низкой задержкой, как показано ранее, оконные коэффициенты c(n) не обязаны быть точно цифрами, приведенными в таблице приложения 1. Достаточно, если оконные коэффициенты c(n) соответствуют по меньшей мере одному набору соотношений, которые приведены в приложениях 2-4. Однако, в зависимости от конкретного воплощения для получения оконных коэффициентов, основываясь на значениях, приведенных в таблицах в приложениях 1 и 3, дополнительно изменение знака оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)), нужно рассматривать согласно уравнениям (16a) и (16b). Кроме того, также различные оконные функции, содержащие различные оконные коэффициенты c(n), можно, естественно, использовать в вариантах осуществления настоящего изобретения.
На этапе S350 отсчеты массива g умножают на интерполированные оконные коэффициенты ci(n) интерполированной оконной функции для получения обработанных оконной функцией отсчетов во временной области w(n).
Затем на этапе S360 32 новых выходных отсчета вычисляют с помощью суммирования отсчетов из массива w(n) согласно последнему этапу S360, перед конечным этапом S370 в последовательности операций Фиг.8c.
Как указано ранее, в последовательности операций на Фиг.8c X([k] [l]) (=x(k, l)) соответствует значению l подполос звукового сигнала в канале k подполос звукового сигнала. Кроме того, каждый новый цикл последовательности операций, как обозначено на Фиг.8c, создает 32 действительных отсчета во временной области в качестве выхода.
Фиг.8d показывает последовательность операций варианта осуществления согласно заданному изобретению в форме субдискретизированного действительного набора фильтров синтеза, который может, например, использоваться в случае набора фильтров SBR с низким энергопотреблением. Вариант осуществления и последовательность операций, показанная на Фиг.8d, отличаются от последовательности операций, показанной на Фиг.8c субдискретизированного комплексного набора фильтров синтеза только по отношению к этапу S320, который заменен в последовательности операций, показанной на Фиг.8d, этапом S322.
r
r
На этапе S322 32 новых действительных значений подполос звукового сигнала, или отсчетов подполос, умножают на матрицу N, причем элементы матрицы N задают с помощью:
причем выход от этой операции сохраняют в ячейках с 0 по 64 массива v.
Фиг.9a показывает дополнительную реализацию варианта осуществления согласно настоящему изобретению в форме способа, соответствующего комплексному набору фильтров анализа для 64 подполос. Фиг.9a показывает реализацию, как MATLAB-реализацию, которая обеспечивает в качестве выхода вектор y и вектор «state». Данную функцию, как определено в скрипте, показанном на Фиг.9a, называют LDFB80, в которой вектор x, содержащий новые отсчеты звукового сигнала, и вектор «state» обеспечивают в качестве вводимой информации. Название функции LDFB80 - сокращение для набора фильтров с низкой задержкой для 8 блоков, простирающихся в прошлое, и 0 блоков - в будущее.
В языке программирования MATLAB знак процента (%) указывает комментарии, которые не выполняются, а просто служат цели прокомментировать и показать исходный код. В последующем описании различные сегменты исходного кода будут объяснены относительно их функций.
В последовательности кода S400 буфер, который представлен вектором «state», обновляют таким образом, что содержимое вектора «state», имеющее индексы от 577 до 640, заменяют содержащим вектора x, содержащим новые входные отсчеты звукового сигнала во временной области. В последовательности кода S410 оконные коэффициенты оконной функции анализа, которые хранятся в переменной LDFB80_win, преобразовывают в вектор win_ana.
На этапе S420, который предполагает, что последние отсчеты выровнены к правой стороне буфера, выполняют фактическое применение оконной функции. На этапе S420 содержимое вектора «state» поэлементно умножают (.*) на элементы вектора win_ana, содержащего оконную функцию анализа. Выходную информацию этого умножения затем сохраняют в векторе x_win_orig.
На этапе S430 содержимое вектора x_win_orig изменяют для формирования матрицы размером 128·5 элементов, называемой x_stack. На этапе S440 выполняют изменение знака стека x_stack относительно второго и четвертого столбца матрицы x_stack.
На этапе S450 стек x_stack сокращают, или уменьшают, с помощью суммирования элементов x_stack относительно второго индекса и одновременно инвертируя порядок элементов и перемещая результат перед сохранением снова в другой x_stack.
В сегменте кода S460 преобразование из временной области в частотную область выполняют с помощью вычисления комплексного быстрого преобразования Фурье (FFT) поэлементно умноженного содержимого стека x_stack, которое умножают на комплексную экспоненциальную функцию, к которой обеспечивают параметр (-i·π·n/128), с индексами в диапазоне от 0 до -127 и мнимой единицей i.
В сегменте кода S470 постнастройку выполняют с помощью определения переменной m=(64+l)/2 и вычисляя блок, содержащий значения подполос звукового сигнала, как вектор y согласно уравнению:
Индекс k охватывает диапазон целых чисел от 1-64 в реализации, показанной на Фиг.9a. Вектор y затем выводят как вектор, или блок, содержащий значения 180 подполос звукового сигнала на Фиг.1. Полоса над вторым уравнением разложения на множители (26), а также сегмент кода S417 функции conj() на Фиг.9a относится к комплексному сопряжению параметра соответствующего комплексного числа.
В конечном сегменте кода S480 вектор «state» сдвигают на 64 элемента. Вектор «state» в его сдвинутой форме можно затем обеспечивать к функции LDFB80 в качества входной информации снова в дополнительном цикле функции.
Фиг.9b показывает MATLAB-реализацию согласно варианту осуществления настоящего изобретения в форме способа, соответствующего комплексному набору фильтров анализа для 32 подполос. Соответственно, определенная функция упоминается как LDFB80_32, указывая, что реализация представляет набор фильтров с низкой задержкой для 32 подполос, основываясь на дополнительном перекрытии 8 блоков в прошлое и 0 блоков в будущее.
Реализация по Фиг.9b отличается от реализации, показанной на Фиг.9a, только по отношению к нескольким последовательностям кода, которые описаны в последующем описании. Последовательности кода S400, S430, S460, S470 и S480 заменяют соответствующими последовательностями кода S400', S430', S460', S470' и S480', учитывая, главным образом, факт, что количество подполос, или количество значений подполос, выводимых функцией LDFB80_32, сокращено в 2 раза. Соответственно, этап S400' относится к вектору «state», обновляемому относительно 32 последних записей, соответствующих индексам 289-320, соответствующими 32 входными отсчетами звукового сигнала во временной области нового блока 220, как показано на Фиг.1.
Однако главное различие между реализациями, которые показаны на Фиг.9a и 9b, появляется в последовательности кода S410 на Фиг.9a, которая заменена последовательностью кода S412 в реализации, показанной на Фиг.9b. Последовательность кода для S412 на Фиг.9b содержит сначала копирование 640 оконных коэффициентов, содержащих оконные коэффициенты, хранящиеся в векторе LDFB80_win, в локальный вектор win_ana. Затем происходит интерполяция согласно уравнению (15), в которой два последовательных оконных коэффициента, представленных элементами вектора win_ana, складывают и делят на 2 и затем сохраняют назад в вектор win_ana.
Следующая кодовая последовательность S420 идентична кодовой последовательности S420, которая показана на Фиг.9a, которая выполняет фактическое поэлементное умножение (.*) применения оконной функции к значениям, или элементам, вектора «state» с элементами вектора win_ana, содержащими интерполированные оконные коэффициенты интерполированной оконной функции. Выход от этой операции сохраняют в векторе x_win_orig. Однако различием между последовательностью кода S420 на Фиг.9b и соответствующей последовательностью кода S420 на Фиг.9a является то, что в случае Фиг.9b, не 640, а только 320 умножений выполняют в структуре применения оконной функции.
В последовательности кода S430', заменяющей последовательность кода S430, стек x_stack подготавливают, изменяя вектор x_win_orig. Однако, поскольку вектор X_win_orig содержит только 320 элементов, по сравнению с соответствующим вектором на Фиг.9a, содержащим 640 элементов, матрица x_stack является матрицей только с 64·5 элементами.
Последовательность кода S440 изменения знака и последовательность кода S450 сокращения стека идентичны в обеих реализациях согласно Фиг.9a и 9b, кроме уменьшенного количества элементов (320 по сравнению с 640).
В последовательности кода S460', которая заменяет последовательность кода S460, выполняют нечетное комплексное быстрое преобразование Фурье (FFT) данных оконной функции, которое очень похоже на преобразование последовательности кода S460 на Фиг.9a. Однако еще раз, из-за уменьшенного количества выходных значений подполос звукового сигнала, вектор «temp» обеспечивают с помощью результата быстрого преобразования Фурье, поэлементным умножением элементов стека x_stack и комплексной экспоненциальной функцией параметра (-i·π·n/64), причем индекс n находится в диапазоне между 0 и 63.
Впоследствии, в измененной последовательности кода S470', постнастройку выполняют, определяя переменную m=(32+l)/2 и генерируя выходной вектор y согласно уравнению (26), причем индекс k охватывает только диапазон от 1 до 32, и причем число 128, появляющееся в параметре комплексной экспоненциальной функции, заменяют числом 64.
В конечной последовательности кода S480' состояние буфера сдвигают на 32 элементов в случае реализации, показанной на Фиг.9b, причем в соответствующей последовательности кода S480 буфер сдвигают на 64 элементов.
Фиг.10a показывает MATLAB-скрипт, показывающий реализацию согласно варианту осуществления настоящего изобретения в форме способа, соответствующего комплексному набору фильтров синтеза для 64 подполос. Скрипт, показанный на Фиг.10a, определяет функцию ILDFB80, для которой вектор x представляет блок 320 значений подполос звукового сигнала на Фиг.2a, и вектор «state» обеспечивает ввод параметров. Название ILDFB80 указывает, что определенная функция является инверсией набора фильтров с низкой задержкой, соответствующего 8 блокам звуковых данных из прошлого и 0 блокам из будущего. Функция обеспечивает вектор y и новый, или переопределенный вектор «state» в качестве выходной информации, причем вектор y соответствует блоку 410 отсчетов звукового сигнала во временной области на Фиг.2a.
В последовательности кода S500 выполняют преднастройку, в которой определяют переменную m=(64+l)/2, а также вектор «temp». Элементы temp(n) вектора «temp» определяют согласно уравнению
в котором полоса выше элемента вектора x(n) и функция conj() представляют комплексное сопряжение, exp () представляет комплексную экспоненциальную функцию, i представляет мнимую единицу, и n - индекс в диапазоне от 1 до 64.
В последовательности кода S510 вектор «temp» расширяют в матрицу, содержащую в первом столбце элементы вектора «temp», а во втором столбце - комплексное сопряжение вектора «temp», обратное по отношению к порядку элементов, который определяется индексами вектора. Следовательно, в последовательности кода S510 нечетную симметрию матрицы «temp» устанавливают, основываясь на векторе «temp».
В последовательности кода S520 нечетное быстрое преобразование Фурье (FFT) выполняют, основываясь на матрице «temp». В этой последовательности кода действительную часть поэлементного умножения результата обратного преобразования Фурье матрицы «temp» с экспоненциальной функцией, имеющей параметр (i·π/128), выполняют и выводят в вектор y_knl, причем индекс n находится в диапазоне от 0 до 127.
В последовательности кода S530 формируют расширение данных и изменение знака. Для обеспечения этого порядок элементов вектора y_knl изменяют на противоположный и в то же самое время выполняют изменение знака. Затем определяют матрицу «tmp», содержащую первый, третий и пятый столбец вектора y_knl, причем второй и четвертый столбец содержат вектор с измененным знаком y_knl.
В последовательности кода S540 оконные коэффициенты, которые сохраняют в векторе LDFB80_win, сначала копируют в вектор win_ana. Затем оконные коэффициенты синтеза определяют, основываясь на оконных коэффициентах анализа, которые хранятся в векторе win_ana, генерируя обращенную во времени версию оконной функции анализа согласно:
где N·T - общее количество оконных коэффициентов, и n - индекс оконных коэффициентов.
В последовательности кода S550 оконную функцию синтеза применяют к вектору «tmp» с помощью поэлементного умножения вектора на оконную функцию синтеза. В последовательности кода S560 буфер обновляют, устанавливая элементы вектора «state» с индексами 577-640 в 0 и складывая содержимое обработанного оконной функцией вектора «tmp» с вектором «state».
В последовательности кода S570 выходную информацию вектора y, содержащего отсчеты звукового сигнала во временной области, извлекают из вектора «state» с помощью извлечения элементов вектора «state» с индексами 1-64.
В последовательности кода S580, конечной последовательности кода функции, которая показана на Фиг.10a, вектор «state» сдвигают на 64 элемента так, чтобы элементы с индексами от 65 до 640 были скопированы в первые 576 элементов вектора «state».
Фиг.10b показывает MATLAB-скрипт реализации согласно варианту осуществления настоящего изобретения в форме комплексного набора фильтров синтеза для 32 значений подполос. Название функции, которая определяется скриптом, показанным на Фиг.10b, показывает ее, как определенную функцию, называемую ILDFB80_32, указывая, что определенная функция является инверсией набора фильтров с низкой задержкой для 32 полос с 8 перекрытиями блоков из прошлого и 0 перекрытиями блоков из будущего.
Как обсуждается относительно сравнения реализаций, показанных на Фиг.9a и 9b, реализация согласно скрипту на Фиг.10b также близко соотносится с реализацией набора фильтров синтеза с 64 подполосами согласно Фиг.10a. Как следствие, те же самые векторы обеспечивают к функции и выводятся функцией, которые, однако, содержат только половину набора элементов по сравнению с реализацией на Фиг.10a. Реализация набора фильтров синтеза для 32 полос отличается от версии с 64 подполосами, показанной на Фиг.10a, главным образом по отношению к двум аспектам. Последовательности кода S500, S510, S520, S530, S560, S570 и S580 заменяют последовательностями кода, в которых количество адресуемых элементов и количество дополнительных связанных с элементом параметров делят на 2. Кроме того, последовательность кода S540, которая генерирует оконную функцию синтеза, заменяют последовательностью кода S542, в которой оконную функцию синтеза создают, как линейно интерполированную оконную функцию синтеза согласно уравнению (15).
В последовательности кода S500', заменяющей последовательность кода S500, определяют, что переменная m равна m=(32+l)/2, и вектор «temp» определяют согласно уравнению (27), причем индекс n охватывает только диапазон 1-32, и причем коэффициент 1/128 заменяют коэффициентом 1/64 в параметре экспоненциальной функции.
Соответственно, в последовательности кода S510', заменяющей последовательность кода S510, диапазон индексов охватывает только индексы, содержащие 32 элементов вектора «temp». Другими словами, индекс охватывает только значения от 1 до 32. Соответственно, в последовательности кода S520', заменяющей последовательность кода S520, параметр экспоненциальной функции заменяют на (i·π·n/64), причем индекс n находится в диапазоне от 0 до 63. В структуре последовательности кода S530' диапазон индексов также уменьшают в 2 раза по сравнению с последовательностью кода S530.
Последовательность кода S542, заменяющая последовательность кода S540 на Фиг.10a, также копирует оконную функцию, которая хранится в векторе LDFB80_win, в вектор win_ana и создает обращенную во времени версию win_syn согласно уравнению (28). Однако последовательность кода S542 реализации, показанной на Фиг.10b, дополнительно содержит этап интерполяции согласно уравнению (15), в котором для каждого элемента переопределенного вектора win_syn, содержащего оконные коэффициенты оконной функции синтеза, выполняют линейную интерполяцию двух последовательных оконных коэффициентов исходной оконной функции синтеза.
Последовательность кода S550 применения оконной функции к вектору «tmp» и замены элементов «tmp» их обработанной оконной функцией версией идентична в терминах кода, как прямое сравнение соответствующих последовательностей кода на Фиг.10a и 10b. Однако, из-за меньшего размера вектора «tmp» в реализации на Фиг.10b, во время реализации выполняют только половину количества умножений.
Также в структуре последовательностей кода S560', S570' и S580', которые заменяют последовательности кода S560, S570 и S580, соответственно, индексы 640 и 64 заменяют на 320 и 32, соответственно. Поэтому эти три конечные последовательности кода отличаются от последовательностей кода реализации, показанной на Фиг.10a, только по отношению к размеру векторов «state», «tmp» и y.
Как показывают описанные варианты осуществления, модуль оконной функции анализа, а также модуль оконной функции синтеза настраивают для применения оконной функции к соответствующим отсчетам во временной области, содержащимся в соответствующих кадрах, умножая их поэлементно на оконные коэффициенты оконной функции.
Перед описанием оконной функции, которая может использоваться, например, в качестве оконной функции синтеза, а более точно - в качестве оконной функции анализа в ее обращенной во времени версии, преимущества вариантов осуществления согласно настоящему изобретению будут описаны более подробно, особенно ввиду реализации в структуре инструментального средства SBR или системы, которая показана на Фиг.5 и 6.
Среди преимуществ, варианты осуществления согласно настоящему изобретению и системы, содержащие больше одного варианта осуществления согласно настоящему изобретению, могут предлагать существенное уменьшение задержки по сравнению с другими наборами фильтров. Однако к этому свойству с низкой задержкой обращаются в контексте Фиг.13 и 14 более подробно. Одним из важных аспектов в этом контексте является то, что длина оконной функции, другими словами количество оконных коэффициентов, которые будут применять к кадру или блоку отсчетов во временной области, независима от задержки.
Кроме того, как описано в контексте Фиг.17 и 18 более подробно, в психоакустических терминах варианты осуществления согласно настоящему изобретению часто используют свойства временного маскирования человеческого уха лучше, чем множество других наборов фильтров. Кроме того, как будет более точно указано в контексте Фиг.15, 16 и 19, варианты осуществления согласно настоящему изобретению предлагают превосходную частотную характеристику.
Также во многих наборах фильтров согласно варианту осуществления настоящего изобретения обеспечивают совершенное восстановление, если набор фильтров анализа и набор фильтров синтеза взаимосвязаны. Другими словами, варианты осуществления согласно настоящему изобретению не только предлагают неразличимый на слух выходной сигнал по сравнению с входным сигналом такого взаимосвязанного комплекта из набора фильтров анализа и набора фильтров синтеза, но и (кроме ошибок квантования, вычислительных эффектов округления и других эффектов, вызванных необходимой дискретизацией) идентичный выходной сигнал по сравнению с входным сигналом.
Интеграцию в модуле SBR наборов фильтров согласно настоящему изобретению можно легко обеспечивать. Хотя обычно модули SBR работают в режиме двойной скорости, комплексные наборы фильтров с низкой задержкой согласно вариантам осуществления настоящего изобретения способны обеспечивать совершенное восстановление в режиме одинарной скорости, в то время как исходные наборы фильтров SBR QMF способны обеспечивать только почти совершенное восстановление. В режиме двойной скорости версию с 32 полосами импульсной характеристики получают с помощью линейной интерполяции, также называемой субдискретизацией, двух смежных сигналов или оконных коэффициентов импульсной характеристики с 64 полосами или оконной функции, как объяснено в контексте Фиг.3.
В случае реализации комплексного набора фильтров можно обеспечивать существенное уменьшение задержки анализа (или синтеза) для критически дискретизируемых наборов фильтров, в котором дискретизация или обработка частоты соответствуют граничной частоте согласно теории Найквиста-Шэннона. В случае реализации действительного набора фильтров эффективную реализацию можно обеспечивать, используя оптимизированные алгоритмы, что, например, показано в контексте MATLAB-реализации, показанной на Фиг.9 и 10. Эти реализации могут, например, использоваться для режима с низким энергопотреблением инструментального средства SBR, как описано в контексте Фиг.5 и 6.
Как описано в контексте Фиг.5 и 6, можно обеспечивать дополнительное уменьшение задержки в случае системы SBR при использовании комплексного с низкой задержкой набора фильтров согласно варианту осуществления настоящего изобретения. Как указано ранее, в декодере SBR 610, который показан на Фиг.5, набор 620 фильтров анализа QMF заменяют комплексным набором фильтров с низкой задержкой (CLDFB) согласно варианту осуществления настоящего изобретения. Эту замену можно делать вычислительным способом, сохраняя количество полос (64), длину импульсной характеристики (640) и при использовании комплексной модуляции. Задержку, обеспечиваемую этим инструментальным средством, минимизируют до такой степени, чтобы обеспечивать достаточно низкую полную задержку двусторонней связи, не жертвуя обеспечиваемым уровнем качества.
Если сравнивать, например, с системой, содержащей модули MDCT и MDST, для формирования комплексной MDCT-подобной системы, вариант осуществления согласно настоящему изобретению обеспечивает намного лучшую частотную характеристику. По сравнению с набором фильтров QMF, например, используемым в MPEG-4 SBR в настоящее время, система, содержащая один или большее количество наборов фильтров согласно вариантам осуществления настоящего изобретения обеспечивает значительно более низкую задержку.
Даже по сравнению с набором фильтров QMF с низкой задержкой варианты осуществления согласно настоящему изобретению предлагают преимущество совершенного восстановления, объединенного с более низкой задержкой. Преимущества, являющиеся результатом свойства совершенного восстановления в отличие от почти совершенного восстановления наборов фильтров QMF, являются следующими. Для почти совершенного восстановления высокое затухание в полосе задержки необходимо для уменьшения наложения спектров до достаточно низкого уровня. Это ограничивает возможность обеспечения очень низкой задержки при разработке фильтра. Напротив, при использовании варианта осуществления согласно настоящему изобретению теперь существует возможность независимой разработки фильтра, так что не требуется высокое затухание в полосе задержки для уменьшения наложения спектров до достаточно низкого уровня. Затухание в полосе задержки должно только быть достаточно низким для обеспечения уменьшенного наложения спектров, достаточного для требуемого приложения обработки сигналов. Таким образом, лучшее соотношение для более низкой задержки можно обеспечивать в конструкции фильтра.
Фиг.11 показывает сравнение оконной функции 700, которая может, например, использоваться в варианте осуществления согласно настоящему изобретению, с синусной оконной функцией 710. Оконная функция 700, которая также упоминается как оконная функция CMLDFB «синтеза» (CMLDFB = комплексный модулированный набор фильтров с низкой задержкой), содержит 640 оконных коэффициентов, основанных на значениях, приведенных в таблице в приложении 1. Относительно интенсивности оконных функций нужно отметить, что в последующем общие коэффициенты усиления или коэффициенты затухания для корректировки амплитуды обработанного оконной функцией сигнала не рассматривают. Оконные функции могут, например, быть нормализованы относительно значения, соответствующего центру задержки, как описано в контексте Фиг.13, или относительно значения n=N, n=N-1 или n=N+1, где N - длина блока, и n - индекс оконных коэффициентов. Для сравнения синусную оконную функцию 710 определяют только по 128 отсчетам и, например, она используется в случае модуля MDCT или MDST.
Однако, в зависимости от конкретного воплощения, для получения оконных коэффициентов, основываясь на значениях, приведенных в таблицах в приложениях 1 и 3, дополнительно изменение знака относительно оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)), нужно рассматривать согласно уравнениям (16a) и (16b).
Перед обсуждением различий двух оконных функций 700, 710 нужно отметить, что обе оконной функции содержат только действительные оконные коэффициенты. Кроме того, в обоих случаях абсолютное значение оконного коэффициента, соответствующего индексу n=0, меньше 0,1. В случае оконной функции 700 CMLDFB соответствующее значение еще меньше, чем 0,02.
0
0
0
Рассматривая две оконные функции 700, 710 относительно их наборов определения, очевидны несколько существенных различий. В то время, когда синусная оконная функция 710 симметрична, оконная функция 700 показывает асимметричное поведение. Для определения этого более ясно, синусная оконная функция симметрична, поскольку существует действительное значение n, так что относительно всех действительных чисел n оконная функция 710 определена для (n+n) и (n-n), соотношение:
0
0
выполняют до необходимой границы (ε≥0; абсолютное значение разности слагаемых на двух сторонах уравнения (29) меньше или равно ε), причем w(n) представляет оконный коэффициент, соответствующий индексу n. В случае синусной оконной функции соответствующий индекс n находится точно между двух самых верхних оконных коэффициентов. Другими словами, для синусной оконной функции 710 индекс n = 63,5. Синусную оконную функцию определяют для индексов n = 0, …, 127.
0
0
0
Напротив, оконную функцию 700 определяют по набору индексов n = 0, …, 639. Оконная функция 700 явно асимметрична в том смысле, что для всех действительных чисел n всегда существует по меньшей мере одно действительное число так, чтобы (n+n) и (n-n) принадлежали набору определения оконной функции, для который неравенство:
выполняется до (почти искусственно) определяемой границы (ε≥0; абсолютное значение разности слагаемых на двух сторонах уравнения (29) больше или равно ε), где w(n) - также оконный коэффициент, соответствующий индексу n.
Дополнительными различиями между двумя оконными функциями, которые оба относятся к размеру блока N = 64 отсчета, является то, что максимальное значение оконной функции 700 больше 1, и получают его для индексов в диапазоне:
для оконной функции синтеза. В случае оконной функции 700, показанной на Фиг.11, максимальное полученное значение больше 1,04, которое получают при индексе отсчета n = 77. Напротив, максимальные значения синусной оконной функции 710 меньше или равны 1, которые получают при n=63 и n=64.
Однако также оконная функция 700 получает значение приблизительно 1 при индексах отсчетов около n=N. Точнее абсолютное значение или само значение оконного коэффициента w (N-1), соответствующее индексу n=n-1, меньше 1, тогда как абсолютное значение или само значение оконного коэффициента w(n), соответствующего индексу n=N, больше 1. В некоторых вариантах осуществления согласно настоящему изобретению эти два оконных коэффициента соответствуют соотношениям:
что является результатом оптимизации качества звука наборов фильтров согласно вариантам осуществления настоящего изобретения. Во многих случаях желательно иметь оконный коэффициент w(0), имеющий как можно меньшее абсолютное значение. В этом случае детерминант оконных коэффициентов:
должен быть максимально возможно близко к 1 для обеспечения качества звука, которое оптимизировано относительно возможных параметров. Знак детерминанта, который задают с помощью уравнения (33), однако, можно выбирать свободно. Как следствие того, что оконный коэффициент w(0) меньше или приблизительно равен 0, произведение w (N-1)·w(n) или его абсолютное значение должно быть как можно ближе к +/-1. В этом случае оконный коэффициент w(2N-1) можно выбирать почти свободно. Уравнение (33) является результатом использования методики матриц с нулевой задержкой, которая описана в «New Framework for Modulated Perfect Reconstruction Filter Banks» by G.D.T. Schuller and M.J.T. Smith, IEEE Transactions on Signal Processing, Vol. 44, No. 8, August 1996.
Кроме того, как описано более подробно в контексте Фиг.13, оконные коэффициенты, соответствующие индексам N-1 и N, содержатся в середине центра модуляции и поэтому соответствуют отсчету, имеющему значение приблизительно 1,0 и который совпадает с задержкой набора фильтров, которая определяется функцией фильтра-прототипа или оконной функцией.
Оконная функция 700 синтеза, которая показана на Фиг.11, кроме того, показывает колебательное поведение со строго монотонно увеличивающимися оконными коэффициентами от оконного коэффициента последовательности оконных коэффициентов, соответствующего индексу (n=0), используемому для применения оконной функции к последнему отсчету звукового сигнала во временной области, до оконного коэффициента, имеющего самое высокое абсолютное значение из всех оконных коэффициентов оконной функции 700 синтеза. Естественно, в случае обращенной во времени оконной функции анализа колебательное поведение содержит строго монотонное уменьшение оконных коэффициентов от оконного коэффициента, имеющего самое высокое абсолютное значение из всех оконных коэффициентов соответствующей (обращенной во времени) оконной функции анализа, до оконного коэффициента последовательности оконных коэффициентов, соответствующего индексу (n = 639), используемого для применения оконной функции к последнему отсчету звукового сигнала во временной области.
Как следствие колебательного поведения разработка оконной функции 700 синтеза начинается с оконного коэффициента, соответствующего индексу n=0, имеющего абсолютное значение меньше 0,02, и оконного коэффициента, соответствующего индексу n=1, который меньше 0,03, получая значение приблизительно 1, соответствующее индексу n=N, получая максимальное значение больше 1,04 при индексе согласно уравнению (31), получая дальнейшее значение приблизительно 1 при индексе n=90 и 91, первое изменение знака при значениях индекса n=162 и n=163, получая минимальное значение меньше -0,1 или -0,12755 при индексе приблизительно n=3N и дальнейшее изменение знака при значениях индекса n=284 и n=285. Однако оконная функция 700 синтеза дополнительно может содержать дополнительные изменения знака при дополнительном значении индекса n. Сравнивая оконные коэффициенты со значениями, приведенными в таблицах в приложениях 1 и 3, дополнительные изменения знака оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)), нужно рассматривать согласно уравнениям (16a) и (16b).
Колебательное поведение оконной функции 700 синтеза подобно поведению сильно затухающего колебания, которое показывают с помощью максимального значения приблизительно 1,04 и минимального значения приблизительно -0,12. Как следствие, больше 50% всех оконных коэффициентов содержат абсолютные значения, которые меньше или равны 0,1. Как описано в контексте вариантов осуществления, описанных на Фиг.1 и 2a, разработка оконной функции содержит первую группу 420 (или 200) и вторую группу 430 (или 210), причем первая группа 420 содержит первую последовательную часть оконных коэффициентов, а вторая группа 430 содержит вторую последовательную часть оконных коэффициентов. Как уже указано прежде, последовательность оконных коэффициентов содержит только первую группу 420 оконных коэффициентов и вторую группу 430 оконных функций, причем первая группа 420 оконных коэффициентов содержит точно первую последовательную последовательность оконных коэффициентов, и причем вторая группа 430 содержит точно вторую последовательную часть оконных коэффициентов. Следовательно, термины первая группа 420 и первая часть оконных коэффициентов, а также термины вторая группа 430 и вторая часть оконных коэффициентов могут использоваться в качестве синонимов.
Больше 50% всех оконных коэффициентов, имеющих абсолютные значения, которые меньше или равны 0,1, содержатся во второй группе, или второй части 430 оконных коэффициентов, как следствие сильно затухающего колебательного поведения оконной функции 700. Кроме того, также больше 50% всех оконных коэффициентов, содержащихся во второй группе, или второй части 430 оконных коэффициентов, содержат абсолютные значения, которые меньше или равны 0,01.
Первая часть 420 оконных коэффициентов содержит меньше одной третьей всех оконных коэффициентов последовательности оконных коэффициентов. Соответственно, вторая часть 430 оконных коэффициентов содержит больше двух третьих оконных коэффициентов. В случае общего количества T блоков, которые будут обрабатываться в одном из кадров 120, 150, 330, 380 из более четырех блоков, первая часть обычно содержит 3/2·N оконных коэффициентов, причем N - количество отсчетов во временной области одного блока. Соответственно, вторая часть содержит остальную часть оконных коэффициентов или, точнее, (T-3/2) N оконных коэффициентов. В случае T=10 блоков в кадре, как показано на Фиг.11, первая часть содержит 3/2·N оконных коэффициентов, тогда как вторая часть 210 содержит 8,5·N оконных коэффициентов. В случае размера блока N=64 отсчетов звукового сигнала во временной области в блоке, первая часть содержит 96 оконных коэффициентов, тогда как вторая часть содержит 544 оконных коэффициентов. Оконная функция 700 синтеза, как показано на Фиг.11, получает значение приблизительно 0,96 на границе первой части и второй части при индексе приблизительно n=95 или 96.
Несмотря на количество оконных коэффициентов, содержащихся в первой части 420 и второй части 430, значение энергии или значение полной энергии соответствующих оконных коэффициентов отличаются значительно от друг друга. Значение энергии определяют с помощью:
причем w(n) - оконный коэффициент, и индекс n, по которому оценивают сумму в уравнении (34), соответствует индексам соответствующих частей 420, 430, всему набору оконных коэффициентов или любому другому набору оконных коэффициентов, которым соответствуют соответствующие значения энергии E. Несмотря на существенное различие оконных коэффициентов, значение энергии первой части 420 равно или выше 2/3 значения полной энергии всех оконных коэффициентов. Соответственно, значение энергии второй части 430 меньше или равно 1/3 значения полной энергии всех оконных коэффициентов.
Чтобы показать это, значение энергии первой части 420 оконных коэффициентов оконной функции 700 приблизительно равно 55,85, в то время как значение энергии оконных коэффициентов второй части 430 приблизительно равно 22,81. Значение полной энергии всех оконных коэффициентов оконной функции 700 приблизительно равно 78,03, так что значение энергии первой части 420 составляет приблизительно 71,6% значения полной энергии, в то время как значение энергии второй части 430 составляет приблизительно 28,4% значения полной энергии всех оконных коэффициентов.
0
0
Естественно, уравнение (34) может быть представлено в нормализованной версии с помощью деления значения E энергии на коэффициент нормализации E, который может, в принципе, быть любым значением энергии. Коэффициент нормализации E может, например, быть значением полной энергии всех оконных коэффициентов последовательности оконных коэффициентов, вычисленным согласно уравнению (34).
ca
ce
Основываясь на абсолютных значениях оконных коэффициентов или основываясь на значениях энергии соответствующих оконных коэффициентов, также можно определять среднюю точку, или «центр масс», из последовательности оконных коэффициентов. Центр масс, или средняя точка, последовательности оконных коэффициентов - действительное число и обычно находится в диапазоне индексов первой части 420 оконных коэффициентов. В случае соответствующих кадров, содержащих больше четырех блоков отсчетов звукового сигнала во временной области (T>4), центр масс n, основанный на абсолютных значениях оконных коэффициентов, или центр масс n, основанный на значениях энергии оконных коэффициентов, меньше 3/2·N. Другими словами, в случае T=10 блоков в кадре, центр масс находится в пределах области индексов первой части 200.
ca
Центр масс n, основанный на абсолютных значениях оконных коэффициентов w(n), определяют согласно:
ce
и центр масс n, учитывая значения энергии оконных коэффициентов w(n), определяют согласно:
где N и T - положительные целые числа, указывающие количество отсчетов звукового сигнала во временной области в блоке и количество блоков в кадре, соответственно. Естественно, средние точки согласно уравнениям (35) и (36) можно также вычислять по отношению к ограниченному набору оконных коэффициентов, заменяя пределы приведенных выше сумм соответствующим образом.
ca
ca
ce
ce
Для оконной функции 700, которая показана на Фиг.1, центр масс n, основанный на абсолютных значениях оконных коэффициентов w(n), равен значению n ≈ 87,75, и средняя точка, или центр масс n относительно значений энергии оконных коэффициентов w(n)-n ≈ 80,04. Поскольку первая часть 200 оконных коэффициентов оконной функции 700 содержит 96 (=3/2·N; N = 64) оконных коэффициентов, обе центральные точки находятся в пределах первой части 200 оконных коэффициентов, как ранее описано.
Оконные коэффициенты w(n) оконной функции 700 основаны на значениях, приведенных в таблице в приложении 1. Однако для обеспечения, например, свойства набора фильтров с низкой задержкой, как описано ранее, не требуется осуществлять оконную функцию точно так, как задано оконными коэффициентами в таблице приложения 1. Во многих случаях более чем достаточно, чтобы оконные коэффициенты оконной функции, содержащей 640 оконных коэффициентов, соответствовали условиям любого из соотношений или уравнений, приведенных в таблицах приложений 2-4. Оконные коэффициенты, или коэффициенты фильтра, приведенные в таблице в приложении 1, представляют предпочтительные значения, которые можно настраивать согласно уравнениям (16a) и (16b) в некоторых реализациях. Однако, как указано, например, с помощью дополнительных таблиц, приведенных в дополнительных приложениях, предпочтительные значения могут различаться от второй, третьей, четвертой, пятой цифры после десятичной точки так, чтобы у результирующих фильтров или оконных функций все еще были преимущества вариантов осуществления согласно настоящему изобретению. Однако, в зависимости от конкретного воплощения для получения оконных коэффициентов, основываясь на значениях, приведенных в таблицах в приложениях 1 и 3, дополнительно изменения знака относительно оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)), нужно рассматривать согласно уравнениям (16a) и (16b).
Естественно, дополнительные оконные функции, содержащие другое количество оконных коэффициентов, могут одинаково быть определены и использоваться в структуре вариантов осуществления согласно настоящему изобретению. В этом контексте нужно отметить, что и количество отсчетов звукового сигнала во временной области в блоке, и количество блоков в кадре, а также распределение блоков относительно прошлых отсчетов и будущих отсчетов, могут различаться по широкому диапазону параметров.
Фиг.12 показывает сравнение комплексной модулированной с низкой задержкой оконной функции набора фильтров (оконной функции 700 CMLDFB), которая показана на Фиг.11, и исходного фильтра-прототипа 720 SBR QMF, который используется, например, в инструментальном средстве SBR согласно стандартам MPEG. Как показано на Фиг.11, оконная функция 700 CMLDFB является опять оконной функцией синтеза согласно варианту осуществления настоящего изобретения.
0
0
Хотя оконная функция 700 согласно варианту осуществления настоящего изобретения явно асимметрична, как определено в контексте уравнения (30), исходный SBR QMF фильтр-прототип 720 симметричен относительно индексов n=319 и 320, поскольку и оконную функцию 700, и также фильтр-прототип 720 SBR QMF, определяют относительно 640 индексов. Другими словами, по отношению к уравнению (29) «значение индекса» n, представляющее индекс центра симметрии, задают с помощью n=319,5 в случае фильтра-прототипа 720 SBR QMF.
ca
ce
0
Кроме того, из-за симметрии фильтра-прототипа 720 SBR QMF, также средняя точка n и n согласно уравнениям (35) и (36), соответственно, идентичны центру симметрии n. Значение энергии фильтра-прототипа 720 SBR QMF равно 64,00, поскольку фильтр-прототип является ортогональным фильтром. Напротив, явно асимметричная оконная функция 700 имеет значение энергии 78,0327, как описано ранее.
В последующих разделах будут рассмотрены описания системы SBR, которая представлена в контексте Фиг.5 и 6, в которых декодер SBR 610 содержит варианты осуществления согласно настоящему изобретению в форме набора фильтров анализа, как набора 620 фильтров, и вариант осуществления согласно настоящему изобретению в форме набора фильтров синтеза для набора 640 фильтров синтеза. Как представлено более подробно, полная задержка набора фильтров анализа согласно настоящему изобретению, использующему оконную функцию 700, как показано на Фиг.11 и 12, содержит полную задержку 127 отсчетов, тогда как исходная модель SBR QMF, основанная на фильтре инструментального средства SBR, приводит к полной задержке 640 отсчетов.
Замена наборов фильтров QMF в модуле SBR, например в декодере SBR 610, комплексным набором фильтров с низкой задержкой (CLDFB) приводит к сокращению задержки с 42 мс до 31,3 мс, не вводя ухудшения качества звука или дополнительной вычислительной сложности. С новым набором фильтров поддерживаются и стандартный режим SBR (высококачественный режим), и режим с низким энергопотреблением, использующий только действительные наборы фильтров, как показано в описании вариантов осуществления согласно настоящему изобретению относительно Фиг.7-10.
Особенно в области техники телекоммуникации и -двусторонней связи, низкая задержка является очень важной. Хотя улучшенный с низкой задержкой кодек AAC уже может обеспечивать достаточно низкую задержку для приложений связи, равную 42 мс, его алгоритмическая задержка все еще выше, чем задержка основного кодека с низкой задержкой AAC, который может обеспечивать задержку до 20 мс, и задержка других кодеков средств связи. В декодере 610 SBR каскад анализа и синтеза QMF все еще вызывает задержку восстановления 12 мс. Перспективным подходом для уменьшения этой задержки является использование методики набора фильтров с низкой задержкой согласно варианту осуществления настоящего изобретения и замена текущего набора фильтров QMF соответствующей версией с низкой задержкой согласно вариантам осуществления настоящего изобретения. Другими словами, дополнительное уменьшение задержки обеспечивают с помощью простой замены обычных наборов фильтров, используемых в модуле 610 SBR, комплексным набором фильтров с низкой задержкой согласно вариантам осуществления настоящего изобретения.
Для использования в модуле 610 SBR новые наборы фильтров согласно вариантам осуществления настоящего изобретения, которые также упоминаются как CLDFB, проектируют так, чтобы они были настолько аналогичны первоначально используемым наборам фильтров QMF, насколько возможно. Это включает в себя, например, использование 64 подполос или полос равной длины импульсных характеристик и совместимости с режимом двойной скорости, как используется в системах SBR.
Фиг.13 показывает сравнение оконной функции 700 CLDFB согласно варианту осуществления настоящего изобретения и исходного фильтра-прототипа 720 SBR QMF. Кроме того, она показывает задержку модулированных наборов фильтров, которую можно определять с помощью анализа задержки перекрытия, введенную фильтром-прототипом или оконной функцией в дополнение к задержке создания кадра центра модуляции, имеющего длину N отсчетов в случае системы, основанной на DCT-IV. Ситуация, показанная на Фиг.13, относится еще раз к случаю набора фильтров синтеза. Оконная функция 700 и функция 720 фильтра-прототипа также представляют импульсные характеристики фильтров-прототипов синтеза этих двух используемых наборов фильтров.
Относительно задержки анализа и для набора фильтров SBR QMF, и для предложенного CLDFB согласно варианту осуществления настоящего изобретения, при анализе и синтезе перекрытие только с правой стороны и с левой стороны от центра модуляции, соответственно, добавляет задержку.
Для обоих наборов фильтров центр модуляции основан на DCT-IV, вводящем задержку 64 отсчетов, которая отмечена на Фиг.13, как задержка 750. В случае фильтра-прототипа 720 SBR QMF из-за симметрии задержка 750 центра модуляции симметрично упорядочена по отношению к центру масс, или к средней точке, соответствующей функции 720 фильтра-прототипа, как обозначено на Фиг.13. Причина для такого поведения состоит в том, что буфер набора фильтров SBR QMF должен быть заполнен к точке, в которой функцию 720 фильтра-прототипа, имеющую наиболее значительный вклад в терминах соответствующих значений энергии фильтра-прототипа, рассматривают при обработке. Из-за формы функции 720 фильтра-прототипа требуется, чтобы буфер был заполнен по меньшей мере к средней точке, или к центру масс, соответствующей функции фильтра-прототипа.
Чтобы показать это дополнительно, начиная с полностью инициализированного буфера соответствующего набора фильтров SBR QMF, буфер должен быть заполнен к точке, когда обработка данных приведет к обработке значительных данных, которые требуют, чтобы у соответствующей оконной функции или функции фильтра-прототипа был существенный вклад. В случае функции фильтра-прототипа SBR QMF, симметричная форма фильтра-прототипа 720 приводит к задержке, которая примерно равна центру масс, или средней точке, функции фильтра-прототипа.
Однако, поскольку задержка, введенная центром модуляции системы, основанной на DCT-IV для N=64 отсчетов, всегда присутствует, и система также содержит задержку в один блок, можно заметить, что прототип синтеза для SBR QMF вводит задержку перекрытия 288 отсчетов.
Как указано ранее, в случае наборов фильтров синтеза, к которым относится Фиг.13, это дополнительное перекрытие 760 с левой стороны вызывает задержку, в то время как перекрытие 770 с правой стороны относится к прошлым отсчетам и поэтому не вводит дополнительную задержку в случае набора фильтров синтеза.
Напротив, начиная с полностью инициализированного буфера CLDFB согласно варианту осуществления настоящего изобретения, набор фильтров синтеза, а также набор фильтров анализа может быстрее обеспечивать «значимые» данные по сравнению с набором фильтров SBR QMF из-за формы оконной функции. Другими словами, из-за формы оконной функции 700 анализа или синтеза, отсчеты, обработанные оконными функциями, которые указывают существенный вклад, могут использоваться быстрее. Как следствие, прототип синтеза или оконная функция синтеза CLDFB вводят только задержку перекрытия из 32 отсчетов, принимая во внимание задержку, уже введенную центром 750 модуляции. Первая часть 420, или первая группа 420 оконных коэффициентов оконной функции 700 согласно варианту осуществления настоящего изобретения содержит в предпочтительном варианте осуществления согласно настоящему изобретению 96 оконных коэффициентов, соответствующих задержке, вызванной перекрытием 760 с левой стороны, вместе с задержкой 750 центра модуляции.
Та же самая задержка вводится набором фильтров анализа, или функцией-прототипом анализа. Причина состоит в том, что набор фильтров анализа основан на обращенной во времени версии оконной функции синтеза или на функции-прототипе. Таким образом, задержка перекрытия, введенная на правой стороне, содержит ту же самую величину перекрытия, как набор фильтров синтеза. Следовательно, в случае исходного набора фильтров прототипа QMF также вводят задержку 288 отсчетов, в то время как для набора фильтров анализа согласно варианту осуществления настоящего изобретения только 32 отсчета вводят в качестве задержки.
Таблица, показанная на Фиг.14a, обеспечивает представление задержки с различными измененными каскадами, принимая длину кадра равной 480 отсчетов и частоту дискретизации 48 кГц. В стандартной конфигурации, содержащей кодек AAC-LD вместе со стандартным инструментальным средством SBR, наборы фильтров MDCT и IMDCT в режиме двойной скорости вызывают задержку 40 мс. Кроме того, само инструментальное средство QMF вызывает задержку 12 мс. Кроме того, из-за SBR-перекрытия создается дополнительная задержка 8 мс, так что полная задержка этого кодека находится в диапазоне 60 мс.
Для сравнения кодек AAC-ELD, содержащий версии модулей MDCT и IMDCT с низкой задержкой, создает в подходе с двойной скоростью задержку 30 мс. По сравнению с исходным набором фильтров QMF инструментального средства SBR, использование комплексного набора фильтров с низкой задержкой согласно варианту осуществления настоящего изобретения приведет к задержке только 1 мс по сравнению с 12 мс исходного инструментального средства QMF. Избегая SBR-перекрытия, можно полностью избежать дополнительного перекрытия 8 мс прямой комбинации AAC-LD и инструментального средства SBR. Поэтому улучшенный с низкой задержкой кодек AAC может обеспечивать полную алгоритмическую задержку 31 мс, а не 60 мс для ранее описанной прямой комбинации. Поэтому можно заметить, что комбинация описанных способов сокращения задержки действительно приводит к сохранению полной задержки 29 мс.
Таблица на Фиг.14b дает дополнительное представление полной задержки кодека, которая вызвана исходной и предложенной версиями набора фильтров в системе, которая показана на Фиг.5 и 6. Данные и значения, приведенные на Фиг.14b, основаны на частоте дискретизации 48 кГц и основном размере кадра кодера 480 отсчетов. Из-за подхода двойной скорости системы SBR, как показано и обсуждается на Фиг.5 и 6, основной кодер эффективно работает на частоте дискретизации 24 кГц. Так как задержка создания кадра 64 отсчетов для центра модуляции уже введена основным кодером, это может быть вычтено из автономных значений задержки этих двух наборов фильтров, как описано в контексте Фиг.13.
Таблица на Фиг.14b подчеркивает, что можно уменьшать полную задержку улучшенного с низкой задержкой кодека AAC, содержащего версии модулей MDCT и IMDCT с низкой задержкой (LD MDCT и LD IMDCT). Хотя полная алгоритмическая задержка 42 мс обеспечивается только с использованием версии модулей MDCT и IMDCT с низкой задержкой, а также исходных наборов фильтров QMF, при использовании комплексных наборов фильтров с низкой задержкой согласно вариантам осуществления настоящего изобретения вместо обычных наборов фильтров QMF полная алгоритмическая задержка может быть значительно уменьшена только до 31,3 мс.
Для оценки качества наборов фильтров согласно вариантам осуществления настоящего изобретения и систем, содержащих один или большее количество наборов фильтров, выполнены тесты прослушивания, из которых можно заключить, что наборы фильтров согласно вариантам осуществления настоящего изобретения сохраняют качество звука AAC-ELD на том же самом уровне и не вводят ухудшения ни для комплексного режима SBR, ни для действительного режима SBR с низким энергопотреблением. Таким образом, оптимизированные относительно задержки наборы фильтров согласно вариантам осуществления настоящего изобретения не приводят к ухудшению качества звука, хотя они могут сокращать задержку больше чем на 10 мс. Для переходных элементов можно даже заметить, что обеспечивают некоторое небольшое, но статистически несущественное улучшение. Указанные выше улучшения наблюдались во время тестов прослушивания кастаньет и колокольчиков.
Для дополнительной проверки, что субдискретизация в случае набора фильтров с 32 полосами согласно варианту осуществления настоящего изобретения работает одинаково хорошо для наборов фильтров согласно настоящему изобретению по сравнению с наборами фильтров QMF, была выполнена следующая оценка. Сначала проанализировали логарифмическую синусоидальную развертку с субдискретизирующим набором фильтров с 32 полосами, причем были добавлены 32 верхних полосы, инициализированные в ноль. Затем результат был синтезирован с помощью набора фильтров с 64 полосами, субдискретизированными снова, и его сравнивали с исходным сигналом. Использование обычного фильтра-прототипа SBR QMF приводит к отношению сигнал-шум (ОСШ) 59,5 дБ. Набор фильтров согласно настоящему изобретению, однако, обеспечивает значения ОСШ 78,5 дБ, что показывает, что наборы фильтров согласно вариантам осуществления настоящего изобретения также работают в субдискретизированной версии по меньшей мере так же, как исходные наборы фильтров QMF.
Чтобы показать, что этот подход несимметричного набора фильтров, оптимизированного относительно задержки, который используется в вариантах осуществления согласно настоящему изобретению, действительно обеспечивает дополнительное значение по сравнению с классическим набором фильтров с симметричным прототипом, ниже будут сравнивать асимметричные прототипы с симметричными прототипами, имеющими ту же самую задержку.
Фиг.15a показывает сравнение частотной характеристики набора фильтров согласно настоящему изобретению, использующему оконную функцию с низкой задержкой (график 800), с частотной характеристикой набора фильтров, использующего синусную оконную функцию, имеющую длину 128 сигналов (график 810). Фиг.15b показывает увеличенное изображение частотной характеристики для тех же самых наборов фильтров, использующих те же самые оконные функции, которые описаны ранее.
Прямое сравнение этих двух графиков 800, 810 показывает, что частотная характеристика набора фильтров, использующего набор фильтров с низкой задержкой согласно варианту осуществления настоящего изобретения, значительно лучше, чем соответствующая частотная характеристика набора фильтров, использующего синусную оконную функцию с 128 сигналами, имеющего ту же самую задержку.
Кроме того, Фиг.16a показывает сравнение различных оконных функций с полной задержкой 127 отсчетов. Набор фильтров (CLDFB) с 64 полосами содержит полную задержку 127 отсчетов, включающую в себя задержку создания кадра и задержку перекрытия. Модулированный набор фильтров с симметричным прототипом и той же самой задержкой, поэтому имеет прототип с длиной 128, как уже показано в контексте Фиг.15a и 15b. Для этих наборов фильтров с 50%-ным перекрытием, таких как, например, MDCT, синусная оконная функция или производная от функции Кайзера-Бесселя (KBD) оконная функция в общем случае обеспечивают хороший выбор для прототипов. Следовательно, на Фиг.16a общий вид частотной характеристики набора фильтров, использующего оконную функцию с низкой задержкой в качестве прототипа согласно варианту осуществления настоящего изобретения, сравнивают с частотными характеристиками альтернативных симметричных прототипов с той же самой задержкой. Фиг.16a показывает, кроме частотной характеристики набора фильтров согласно настоящему изобретению (график 800) и частотной характеристики набора фильтров, использующего синусную оконную функцию (график 810), как уже показано на Фиг.15a и 15b, также две KBD оконные функции, основанные на параметрах α=4 (график 820) и α=6 (график 830). И Фиг.16a, и крупный план Фиг.16a, показанный на Фиг.16b, ясно показывают, что намного лучшую частотную характеристику можно обеспечивать с помощью набора фильтров согласно варианту осуществления настоящего изобретения, имеющего несимметричную оконную функцию или функцию фильтра-прототипа с той же самой задержкой.
Для того чтобы показать это преимущество на более общей основе, на Фиг.17 сравнивают два набора фильтров-прототипов со значениями задержки, отличающимися от ранее описанного набора фильтров. Хотя набор фильтров согласно настоящему изобретению, который рассматривают на Фиг.15 и 16, имеет полную задержку 127 отсчетов, которая соответствует перекрытию 8 блоков в прошлое и 0 блоков в будущее (CLDFB 80), Фиг.17 показывает сравнение частотных характеристик двух различных наборов фильтров-прототипов с той же самой задержкой 383 отсчетов. Точнее, Фиг.17 показывает частотную характеристику несимметричного набора фильтров-прототипов (график 840) согласно варианту осуществления настоящего изобретения, которое основано на перекрытии 6 блоков отсчетов во временной области в прошлое и 2 блоков отсчетов во временной области в будущее (CLDFB 62). Кроме того, Фиг.17 также показывает частотную характеристику (график 850) соответствующей симметричной функции фильтра-прототипа, также имеющей задержку 383 отсчетов. Можно заметить, что с тем же самым значением задержки несимметричный прототип, или оконная функция, обеспечивает лучшие частотные характеристики, чем набор фильтров с симметричной оконной функцией или фильтр-прототип. Это демонстрирует возможность лучшего соотношения между задержкой и качеством, как указано ранее.
Фиг.18 показывает эффект временного маскирования человеческого уха. Когда звук, или тон, появляется в момент времени, обозначенный линией 860 на Фиг.18, эффект маскирования, относящийся к частоте тона, или звука, и к соседним частотам, возникает приблизительно за 20 мс перед фактическим началом звука. Этот эффект называют предмаскированием и он является одним из аспектов психоакустических свойств человеческого уха.
В ситуации, показанной на Фиг.18, звук остается слышимым приблизительно в течение 200 мс до момента времени, показанного линией 870. В течение этого времени средство маскирования человеческого уха активно, что также называют одновременным маскированием. После прекращения звука (показано с помощью линии 870) маскирование частоты на соседней частоте тона медленно ослабляется в течение периода времени, приблизительно равного 150 мс, как показано на Фиг.18. Этот психоакустический эффект также упоминается как постмаскирование.
Фиг.19 показывает сравнение поведения предэха обычного кодированного HE-AAC сигнала и кодированного HE-AAC сигнала, который основан на наборе фильтров, использующем набор фильтров с низкой задержкой (CMLDFB) согласно варианту осуществления настоящего изобретения. Фиг.19a показывает исходный временной сигнал кастаньет, который был обработан с помощью системы, содержащей кодек HE-AAC (HE-AAC = высокопроизводительный продвинутый звуковой кодек). Выходной сигнал системы, основанной на обычном HE-AAC, показывают на Фиг.19b. Прямое сравнение этих двух сигналов, исходного временного сигнала и выходного сигнала кодека HE-AAC, показывает, что до начала звука кастаньет в области, показанной стрелкой 880, выходной сигнал кодека HE-AAC содержит заметные эффекты предэха.
Фиг.19c показывает выходной сигнал системы, содержащей HE-AAC, основанной на наборах фильтров, имеющих оконную функцию CMLDFB согласно варианту осуществления настоящего изобретения. Те же самые исходные временные сигналы, показанные на Фиг.19a, и обработанные с использованием наборов фильтров согласно варианту осуществления настоящего изобретения показывают значительное уменьшение появления эффектов предэха непосредственно перед началом сигнала кастаньет, как обозначено стрелкой 890 на Фиг.19c. Из-за эффекта предмаскирования, который описан в контексте Фиг.18, эффект предэха, обозначенный стрелкой 890 на Фиг.19c, будет намного лучше замаскирован, чем эффект предэха, обозначенный стрелкой 880 в случае обычного кодека HE-AAC. Поэтому поведение предэха наборов фильтров согласно настоящему изобретению, что является также результатом значительно уменьшенной задержки по сравнению с обычными наборами фильтров, заставляет выходной сигнал быть намного лучше приспособленным к свойствам временного маскирования и психоакустическим свойствам человеческого уха. Как следствие, как уже было указано при описании тестов прослушивания, использование наборов фильтров согласно варианту осуществления настоящего изобретения может даже привести к улучшению качества, которое вызвано уменьшенной задержкой.
Варианты осуществления согласно настоящему изобретению не увеличивают вычислительную сложность по сравнению с обычными наборами фильтров. Наборы фильтров с низкой задержкой используют ту же самую длину фильтра и тот же самый режим модуляции, как, например, наборы фильтров QMF в случае систем SBR, так что вычислительная сложность не увеличивается. В терминах требований к памяти из-за асимметричной природы фильтров-прототипов требования к памяти ПЗУ (постоянного запоминающего устройства) для набора фильтров синтеза увеличиваются приблизительно на 320 слов в случае набора фильтров, основанного на N=64 отсчетов в блоке и T=10 блоков в кадре. Кроме того, в случае системы, связанной с SBR, требования к памяти дополнительно увеличиваются еще на 320 слов, если фильтр анализа хранится отдельно.
Однако, поскольку текущие требования к ПЗУ для основного кодека AAC-ELD приблизительно равны 2,5 килослова и для реализации SBR - еще 2,5 килослова, требования к ПЗУ только умеренно увеличиваются примерно на 10%. В качестве возможного соотношения между памятью и сложностью, если использование небольшого объема памяти является главным, то линейная интерполяция может использоваться для создания фильтра анализа из фильтра синтеза, как указано в контексте на Фиг.3 и в уравнении (15). Эта операция интерполяции увеличивает количество необходимых команд только приблизительно на 3,6%. Поэтому при замене обычных наборов фильтров QMF в структуре модулей SBR с низкой задержкой наборами фильтров согласно вариантам осуществления настоящего изобретения, задержка может быть уменьшена в некоторых вариантах осуществления более чем на 10 мс без какого-либо ухудшения качества звука или значительного увеличения сложности.
Поэтому варианты осуществления согласно настоящему изобретению относятся к оконной функции анализа или синтеза, или к устройству, или к способу применения оконной функции. Кроме того, описаны набор фильтров анализа или синтеза или способ анализа или синтеза сигнала, используя оконную функцию. Естественно, также раскрыта компьютерная программа, которая воплощает один из указанных выше способов.
Реализация согласно вариантам осуществления настоящего изобретения может быть выполнена как аппаратная реализация, программная реализация или их комбинация. Данные, векторы и переменные, сгенерированные, принятые или сохраненные иным образом для обработки, могут храниться в различных видах запоминающих устройств, таких как запоминающие устройства прямого доступа, буфера, постоянные запоминающие устройства, энергонезависимые запоминающие устройства (например, электрически стираемое программируемое ПЗУ (ЭСППЗУ), флэш-память) или другие запоминающие устройства, такие как магнитные или оптические запоминающие устройства. Ячейка памяти может, например, быть одним или большим количеством запоминающих устройств, требуемых для хранения или сохранения соответствующего количества данных, таких как переменные, параметры, векторы, матрицы, оконные коэффициенты или другая информация и данные.
Программные реализации могут работать на различных компьютерах, компьютероподобных системах, процессорах, ASIC (специализированных интегральных схемах) или других интегральных схемах (ИС).
В зависимости от конкретных требований реализации вариантов осуществления изобретенных способов варианты осуществления изобретенных способов можно осуществлять в аппаратных средствах, в программном обеспечении или в их комбинации. Реализацию можно выполнять, используя цифровой носитель данных, в частности диск CD (компакт диск), DVD (цифровой видео диск) или другой диск, хранящий на себе считываемый с помощью электроники управляющий сигнал, который взаимодействует с программируемой компьютерной системой, процессором или интегральной схемой таким образом, что выполняют вариант осуществления изобретенного способа. Таким образом, в общем случае вариантом осуществления настоящего изобретения является компьютерный программный продукт с кодом программы, хранящимся на считываемом компьютером носителе, данный код программы предназначен для выполнения варианта осуществления изобретенных способов, когда данный компьютерный программный продукт исполняется в компьютере, в процессоре или в интегральной схеме. Другими словами, вариантом осуществления изобретенных способов таким образом является компьютерная программа, имеющая код программы для выполнения по меньшей мере одного из вариантов осуществления изобретенных способов, когда данная компьютерная программа исполняется в компьютере, в процессоре или в интегральной схеме.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что первая часть оконной функции анализа содержит оконные коэффициенты, имеющие максимальное абсолютное значение, которое больше 1.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что оконная функция анализа имеет колебательное поведение.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что все оконные коэффициенты последовательности оконных коэффициентов являются действительными оконными коэффициентами.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что кадр (120) из входных отсчетов звукового сигнала во временной области содержит последовательность из T блоков (130) входных отсчетов звукового сигнала во временной области, простирающихся от начального до последнего входного отчета звукового сигнала во временной области кадра (120), каждый блок содержит N входных отсчетов звукового сигнала во временной области, причем T и N являются положительными целыми числами, и T больше 4.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что применение оконной функции содержит поэлементное умножение входных отсчетов звукового сигнала во временной области кадра (120) на оконные коэффициенты последовательности оконных коэффициентов.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что каждый входной отсчет звукового сигнала во временной области поэлементно умножают на оконный коэффициент оконной функции анализа в соответствии с последовательностью входных отсчетов звукового сигнала во временной области и с последовательностью оконных коэффициентов.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что для каждого входного отсчета звукового сигнала во временной области кадра (120) из входных отсчетов звукового сигнала во временной области создают точно один обработанный оконной функцией отсчет.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что оконный коэффициент, соответствующий индексу оконных коэффициентов n=(T-3)·N, содержит значение, которое меньше -0,1, причем индекс последовательности оконных коэффициентов - целое число в диапазоне от 0 до N·T-1, и причем оконный коэффициент, используемый для применения оконной функции к последнему входному отсчету звукового сигнала во временной области - оконный коэффициент, соответствующий индексу N·T-1.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что первая часть оконных коэффициентов содержит 3/2·N оконных коэффициентов, а вторая часть оконных коэффициентов содержит (T-3/2)·N оконных коэффициентов последовательности оконных коэффициентов.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что оконные коэффициенты c(n) соответствуют соотношениям, приведенным в таблице в приложении 3.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что оконные коэффициенты c(n) соответствуют соотношениям, приведенным в таблице в приложении 2.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа настраивают таким образом, что оконные коэффициенты c(n) содержат значения, приведенные в таблице в приложении 1.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа или устройство (100) настраивают таким образом, что оконная функция (190) анализа содержит первое количество оконных коэффициентов, полученных из большей оконной функции, содержащей последовательность большего второго количества оконных коэффициентов, причем оконные коэффициенты оконной функции получают с помощью интерполяции оконных коэффициентов большей оконной функции, и причем второе число является четным числом.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа или устройство (100) настраивают таким образом, что оконные коэффициенты оконной функции линейно интерполируют.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа или устройство (100) настраивают таким образом, что оконные коэффициенты оконной функции анализа интерполируют, основываясь на двух последовательных оконных коэффициентах большей оконной функции согласно последовательности оконных коэффициентов большей оконной функции, для получения оконного коэффициента оконной функции.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (110) оконной функции анализа или устройство (100) настраивают для получения оконных коэффициентов c(n) оконной функции анализа, основываясь на уравнении:
2
в котором n - целое число, указывающее индекс оконных коэффициентов c(n), и c(n) является оконным коэффициентом большей оконной функции.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения устройство (100) настраивают таким образом, что текущий кадр (120) из входных отсчетов звукового сигнала во временной области, который будут обрабатывать, генерируют с помощью сдвига (T-1) более поздних блоков непосредственно предыдущего кадра (120) из входных отсчетов звукового сигнала во временной области на один блок к более ранним входным отсчетам звукового сигнала во временным области и добавления одного блока (220) новых отсчетов звукового сигнала во временной области в качестве блока, содержащего самые последние входные отсчеты звукового сигнала во временной области текущего кадра (120).
prev
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения устройство (100) настраивают таким образом, что текущий кадр (120) из входных отчетов звукового сигнала во временной области x(n), который будут обрабатывать, создают, основываясь на смещении отсчетов x(n) звукового входного сигнала во временной области непосредственно предыдущего кадра (120) из входных отсчетов звукового сигнала во временной области, основываясь на уравнении:
для индекса n=32, …, 319 времени или отсчета, и причем устройство (100) дополнительно настраивают для генерации отсчетов звукового входного сигнала во временной области x(n) текущего кадра (120) входных отсчетов звукового сигнала во временной области с помощью внедрения 32 следующих входных отсчетов во временной области согласно порядку входных отсчетов звукового сигнала во временной области с уменьшением времени, или индексов n отсчетов для входных отсчетов x(n) звукового сигнала во временной области текущего кадра (120), начиная с индекса n = 31 времени или отсчета.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (170) вычислений содержит модуль преобразования время/частота, настроенный для генерации значений подполос звукового сигнала таким образом, что все значения подполос, основанные на одном кадре (150) обработанных оконной функцией отсчетов, являются спектральным представлением отсчетов обработанного оконной функцией кадра (150) обработанных оконной функцией отсчетов.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль преобразования время/частота настраивают для генерации комплексных или действительных значений подполос звукового сигнала.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (170) вычислений настраивают для вычисления одного значения подполос звукового сигнала для каждого входного отсчета звукового сигнала во временной области одного блока (130) входных отсчетов звукового сигнала во временной области, причем вычисление каждого значения подполос звукового сигнала или каждого входного отсчета звукового сигнала во временной области одного блока (130) входных отсчетов звукового сигнала во временной области основано на обработанных оконной функцией отсчетах обработанного оконной функцией кадра (150).
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (170) вычислений настраивают для вычисления значений подполос звукового сигнала, основываясь на умножении обработанных оконной функцией отсчетов (150) на гармоническую колебательную функцию для каждого значения подполос и суммирования умноженных обработанных оконной функцией отсчетов, причем частота гармонической колебательной функции основана на средней частоте соответствующей подполосы значений подполос.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (170) вычислений настраивают таким образом, что гармоническая колебательная функция является комплексной экспоненциальной функцией, синусной функцией или косинусной функцией.
kl
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (170) вычислений настраивают для вычисления значений подполос звукового сигнала w, основываясь на уравнении:
для n = 0, …, 63 и
osc
для k=0, …, 31, причем z(n) является обработанным оконной функцией отсчетом, соответствующим индексу n, причем k является индексом подполосы, причем l является индексом блока (180) значений подполос звукового сигнала, и причем f(x) является колебательной функцией, зависящей от действительной переменной x.
osc
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения модуль (170) вычислений настраивают таким образом, что колебательная функция f(x) является следующей:
или
или
где i - мнимая единица.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения устройство (100) настраивают для обработки кадра (120) из действительных входных отсчетов звукового сигнала во временной области.
В устройстве для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно вариантам осуществления настоящего изобретения устройство (100) настраивают для обеспечения сигнала, который указывает оконную функцию (370) синтеза, которая будет использоваться со значениями подполос звукового сигнала, или который указывает оконную функцию (190) анализа, используемую для генерации значений подполос звукового сигнала.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения устройство (300) настраивают для генерации блока (410) отсчетов звукового сигнала во временной области, блок (410) отсчетов звукового сигнала во временной области содержит N отсчетов звукового сигнала во временной области, причем N являются положительным целым числом.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения устройство (300) настраивают для генерации блока (410) отсчетов звукового сигнала во временной области, основываясь на блоке (320) значений подполос звукового сигнала, содержащих N значений подполос звукового сигнала, и причем модуль (310) вычислений настраивают для вычисления последовательности (330) промежуточных отсчетов звукового сигнала во временной области, содержащих T·N промежуточных отсчетов звукового сигнала во временной области, причем T является положительным целым числом.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что оконная функция синтеза асимметрична относительно последовательности оконных коэффициентов.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что первая часть содержит максимальное значение всех оконных коэффициентов оконной функции синтеза, имеющее абсолютное значение больше 1.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что оконная функция (370) синтеза имеет колебательное поведение.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения, модуль (360) оконной функции синтеза настраивают таким образом, что первая часть содержит 3/2·N оконных коэффициентов, а вторая часть оконных коэффициентов содержит (T-3/2)·N оконных коэффициентов, причем T - индекс, который больше или равен 4, указывающий количество блоков 340, содержащихся в кадре (330) промежуточных отсчетов во временной области.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что применение оконной функции к последовательности промежуточных отсчетов во временной области содержит поэлементное умножение промежуточных отсчетов во временной области на оконный коэффициент.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что каждый промежуточный отсчет во временной области поэлементно умножают на оконный коэффициент оконной функции (370) синтеза в соответствии с последовательностью промежуточных отсчетов во временной области и последовательностью оконных коэффициентов.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что оконные коэффициенты оконной функции (370) синтеза имеют действительные значения.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что оконные коэффициенты c(n) соответствуют соотношениям, приведенным в таблице в приложении 3.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что оконные коэффициенты c(n) соответствуют соотношениям, приведенным в таблице в приложении 2.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза настраивают таким образом, что оконные коэффициенты c(n) содержат значения, приведенные в таблице в приложении 1.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза или устройство (300) настраивают таким образом, что оконная функция синтеза содержит первое количество оконных коэффициентов, полученных из большей оконной функции, содержащей последовательности большего второго количества оконных коэффициентов, причем оконные коэффициенты оконной функции получают с помощью интерполяции оконных коэффициентов большей оконной функции и причем второе число является четным.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза или устройство (300) настраивают таким образом, что оконные коэффициенты оконной функции (370) синтеза линейно интерполируют.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза или устройство (300) настраивают таким образом, что оконные коэффициенты оконной функции (370) синтеза интерполируют, основываясь на двух последовательных оконных коэффициентах большей оконной функции согласно последовательности оконных коэффициентов большей оконной функции, для получения оконного коэффициента оконной функции.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (360) оконной функции синтеза или устройство (300) настраивают для получения оконных коэффициентов c(n) оконной функции синтеза, основываясь на уравнении:
2
в котором n - целое число, указывающее индекс оконных коэффициентов c(n), и c(n) является оконным коэффициентом большей оконной функции.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (310) вычислений настраивают для вычисления промежуточных отсчетов во временной области последовательности промежуточных отсчетов во временной области, основываясь на умножении значений подполос звукового сигнала на гармоническую колебательную функцию и суммировании умноженных значений подполос звукового сигнала, причем частота гармонической колебательной функции основана на средней частоте соответствующей подполосы.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (310) вычислений настраивают таким образом, что гармоническая колебательная функция является комплексной экспоненциальной функцией, синусной функцией или косинусной функцией.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (310) вычислений настраивают для вычисления действительных промежуточных отсчетов во временной области, основываясь на комплексных или действительных значениях подполос звукового сигнала.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (310) вычислений настраивают для вычислению последовательности действительных промежуточных отсчетов во временной области z(i,n), основываясь на уравнении
=
osc
для целого числа n в диапазоне от 0 до N·T-1, причем Re(x) является действительной частью комплексного числа x, π3,14… - круговое число, и f(x) является гармонической колебательной функцией, причем
когда значения подполос звукового сигнала, обеспеченные на модуль вычислений, являются комплексными значениями, причем i - мнимая единица, и причем
когда значения подполос звукового сигнала, обеспеченные на модуль (310) вычислений, являются действительными значениями.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (310) вычислений содержит модуль преобразования частота/время, настроенный для генерации последовательности промежуточных отсчетов во временной области, таким образом, что значения подполос звукового сигнала, обеспеченные на модуль (310) вычислений, являются спектральным представлением последовательности промежуточных отсчетов во временной области.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль преобразования частота/время настраивают для генерации последовательности промежуточных отсчетов во временной области, основываясь на комплексных или действительных значениях подполос звукового сигнала.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (310) вычислений настраивают для вычисления последовательности промежуточных отсчетов g(n) во временной области из значений X(k) подполос звукового сигнала, основываясь на уравнении:
для целого числа n в диапазоне от 20N-1 до 2N,
для целого числа n в диапазоне от 0 до 2N-1 и
prev
для целого числа j в диапазоне от 0 до 4 и для целого числа k в диапазоне от 0 до N-1, причем N - целое число, указывающее количество значений подполос звукового сигнала и количество отсчетов звукового сигнала во временной области, причем v - действительный вектор, причем v - действительный вектор v непосредственно предыдущей генерации отсчетов звукового сигнала во временной области, причем i - мнимая единица, и π - круговое число.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения модуль (310) вычислений настраивают для вычисления последовательности промежуточных отсчетов g(n) во временной области из значений X(k) подполос звукового сигнала, основываясь на уравнении:
для целого числа n в диапазоне от 20N-1 до 2N,
для целого числа n в диапазоне от 0 до 2N-1 и
prev
для целого числа j в диапазоне от 0 до 4 и для целого числа k в диапазоне от 0 до N-1, причем N является целым числом, указывающим количество значений подполос звукового сигнала и количество отсчетов звукового сигнала во временной области, причем v является действительным вектором, причем v является действительным вектором v непосредственно предыдущей генерации отсчетов звукового сигнала во временной области, и причем π является круговым числом.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения выходной каскад (400) суммирования с перекрытием настраивают для обработки промежуточных обработанных оконной функцией отсчетов во временной области способом с перекрытием, основываясь на T последовательно обеспеченных блоков (320) значений подполос звукового сигнала.
l
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения выходной каскад (400) суммирования с перекрытием настраивают для обеспечения отсчетов во временной области out(n), причем n - целое число, указывающее индекс блока, основанный на уравнении:
l,n
в котором z - промежуточный обработанный оконной функцией отсчет во временной области, соответствующий индексу n блока и индексу l кадра или последовательности в диапазоне от 0 до T-1, причем l=0 соответствует последнему кадру или последовательности, и меньшие значения l - ранее сгенерированным кадрам или последовательностям.
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения выходной каскад (400) суммирования с перекрытием настраивают для обеспечения отсчетов во временной области out(k), основываясь на уравнении
в котором w - вектор, содержащий промежуточные обработанные оконной функцией отсчеты во временной области, и k - целое число, указывающее индекс в диапазоне между 0 и (N-1).
В устройстве для генерации отсчетов звукового сигнала во временной области согласно вариантам осуществления настоящего изобретения устройство (300) настраивают для приема сигнала, который указывает оконную функцию (190) анализа, используемую для генерации значений подполос звукового сигнала, или который указывает оконную функцию (370) синтеза, которая будет использоваться для генерации отсчетов звукового сигнала во временной области.
Согласно вариантам осуществления настоящего изобретения кодер (510) содержит модуль (560) для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала согласно варианту осуществления настоящего изобретения.
Согласно вариантам осуществления настоящего изобретения кодер (510) дополнительно содержит квантующий и кодирующий каскад (570), связанный с модулем (560) для генерации значений подполос звукового сигнала и настроенный для квантования и кодирования значений подполос звукового сигнала, выводимых модулем (560), и для выведения квантованных кодированных значений подполос звукового сигнала.
Согласно вариантам осуществления настоящего изобретения декодер (580) содержит модуль (600) для генерации отсчетов звукового сигнала во временной области согласно варианту осуществления настоящего изобретения.
Согласно вариантам осуществления настоящего изобретения декодер (580) дополнительный содержит каскад (590) обратного квантования и декодирования, настроенный для приема кодированных и квантованных значений подполос звукового сигнала, связанные с модулем (600) для генерации отсчетов звукового сигнала во временной области, и настроенный для обеспечения к модулю (600) декодированных и обратно квантованных значений подполос звукового сигнала, как значений подполос звукового сигнала.
Согласно вариантам осуществления настоящего изобретения кодер (520) SBR содержит модуль (530) для генерации значений подполос звукового сигнала в каналах подполос звукового сигнала, основываясь на кадре входных отсчетов звукового сигнала во временной области, обеспеченных на кодер (520) SBR, и модуль (540) извлечения параметров SBR, связанный с модулем (530) для генерации значений подполос звукового сигнала и настроенный для извлечения и выведения параметров SBR, основываясь на значениях подполос звукового сигнала.
Согласно вариантам осуществления настоящего изобретения система (610) содержит модуль (620) для генерации значений подполос звукового сигнала из кадра входных отсчетов звукового сигнала во временной области, обеспеченного к системе (610); и модуль (640) для генерации отсчетов звукового сигнала во временной области, основанных на значениях подполос звукового сигнала, сгенерированных модулем (640) для генерации значений подполос звукового сигнала.
Согласно вариантам осуществления настоящего изобретения система (610) является декодером SBR.
Согласно вариантам осуществления настоящего изобретения система дополнительно содержит ВЧ-генератор (630), связывающий между собой модуль (620) для генерации значений подполос звукового сигнала и модуль (640) для генерации отсчетов звукового сигнала во временной области и настроенный для приема данных SBR, настроенный для изменения или добавления значений подполос звукового сигнала, основываясь на данных SBR и значениях подполос звукового сигнала от модуля (620) для генерации значений подполос звукового сигнала.
Относительно всех устройств и способов согласно вариантам осуществления настоящего изобретения, в зависимости от конкретных воплощений, для получения оконных коэффициентов, основанных на значениях, приведенных в таблицах в приложениях 1 и 3, дополнительное изменение знака оконных коэффициентов, соответствующих индексам 128-255 и 384-511 (умножение с коэффициентом (-1)), можно осуществлять согласно уравнениям (16a) и (16b). Другими словами, оконные коэффициенты оконной функции основаны на оконных коэффициентах, приведенных в таблице в приложении 1. Для получения оконных коэффициентов оконной функции, показанной на данных чертежах, оконные коэффициенты в таблице, соответствующие индексам 0-127, 256-383 и 512-639, необходимо умножать на (+1) (т.е. отсутствует изменение знака), а оконные коэффициенты, соответствующие индексам 128-255 и 384-511, необходимо умножать на (-1) (т.е. изменять знак) для получения оконных коэффициентов показанной оконной функции. Соответственно, соотношения, приведенные в таблице в приложении 3, должны обрабатываться соответствующим образом. Другими словами, оконные коэффициенты, которые приведены в таблицах в приложениях 1-4, можно изменять согласно уравнениям (16a) и (16b).
Следует отметить, что в структуре настоящей заявки под уравнением, основанным на уравнении, понимают введение дополнительных задержек, коэффициентов, дополнительных коэффициентов и введение другой простой функции. Дополнительно можно удалять простые константы, постоянные слагаемые и т.д. Кроме того, они также включают в себя алгебраические преобразования, эквивалентные преобразования и аппроксимации (например, аппроксимацию Тейлора), совсем или существенным способом не изменяющие результат уравнения. Другими словами случай, когда уравнение или выражение основано на уравнении или выражении, включает в себя и небольшие модификации, и преобразования, приводящие, по существу, к идентичному результату.
Хотя приведенное выше показано и описано, в частности, в отношении конкретных вариантов осуществления, специалистам будет понятно, что можно выполнять различные другие изменения во внешнем виде и деталях, не отступая от объема и сути изобретения. Следует понимать, что различные изменения можно делать при применении различных вариантов осуществления, не отступая от раскрытой более широкой концепции, которую охватывает последующая формула изобретения.