СПОСОБЫ И СИСТЕМЫ ДЛЯ ЭФФЕКТИВНОГО ВОССТАНОВЛЕНИЯ ВЫСОКОЧАСТОТНОГО АУДИОКОНТЕНТА
METHODS AND SYSTEMS FOR EFFICIENT RECOVERY OF HIGH FREQUENCY AUDIO CONTENT

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ
По настоящей заявке испрашивается приоритет на основании заявки на европейский патент №12156631.9, поданной 23 февраля 2012 года, и предварительной заявки на патент США №61/680805, поданной 08 августа 2012 года, содержание которых в полном объеме включено в настоящий документ путем ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящий документ относится к области кодирования, декодирования и обработки аудиосигналов. В частности, он относится к способам восстановления высокочастотного контента аудиосигнала из низкочастотного контента того же аудиосигнала эффективным образом.
УРОВЕНЬ ТЕХНИКИ
Эффективное кодирование и декодирование аудиосигналов часто сопровождается сокращением объема аудиоданных, подлежащих кодированию, передаче и/или декодированию на основании психоакустических принципов. Это включает в себя, например, отбрасывание так называемого «маскированного» аудиоконтента, который присутствует в аудиосигнале, но не воспринимается слушателем. В качестве дополнения или альтернативы ширина полосы пропускания аудиосигнала, подлежащего кодированию, может быть ограничена при сохранении только соответствующих вычислений некоторой информации о контенте на более высоких частотах без реального кодирования упомянутого контента на более высоких частотах. Затем сигнал с ограниченной полосой пропускания кодируют и передают (или сохраняют) вместе с упомянутой информацией, относящейся к более высоким частотам, причем последний вариант требует меньше ресурсов, чем непосредственное кодирование контента, относящегося к более высоким частотам.
Система с репликацией спектральных полос (SBR) в HE-AAC (высокоэффективное усовершенствованное аудиокодирование) и система со спектральным расширением (SPX) в Dolby Digital Plus являются двумя примерами систем аудиокодирования, которые аппроксимируют или восстанавливают высокочастотную компоненту аудиосигнала на основании низкочастотной компоненты того же аудиосигнала и на основании дополнительной информации (также называемой информацией, относящейся к более высоким частотам). В дальнейшем описании используются ссылки на схему SPX в системе Dolby Digital Plus. Однако следует заметить, что способы и системы, описанные в настоящем документе, можно использовать в методиках высокочастотного восстановления в целом, включая SBR в HE-AAC.
Определение упомянутой дополнительной информации в устройстве аудиокодирования на основе SPX, как правило, связано со значительной сложностью вычислений. Например, определение дополнительной информации может потребовать около 50% общих вычислительных ресурсов устройства аудиокодирования. В настоящем документе описаны способы и системы, позволяющие уменьшить сложность вычислений для устройств аудиокодирования на основе SPX. В частности, в настоящем документе описаны способы и системы, позволяющие упростить вычисления, связанные с расчетами тональностей в контексте устройств аудиокодирования на основе SPX (где на вычисления тональностей может уходить порядка 80% объема сложных вычислений, используемых для определения упомянутой дополнительной информации).
В публикации US2010/0094638A1 описаны устройство и способ определения адаптивного уровня шума для расширения полосы пропускания.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Согласно одному аспекту описан способ определения первого значения полосовой тональности для первой частотной субполосы аудиосигнала. Аудиосигнал может представлять собой аудиосигнал канала многоканального аудиосигнала (например, стерео, многоканальный сигнал 5.1 или 7.1). Аудиосигнал может иметь ширину полосы пропускания в диапазоне от низкой частоты сигнала до высокой частоты сигнала. Упомянутая ширина полосы пропускания может содержать низкочастотную полосу и высокочастотную полосу. Первая частотная субполоса может находиться в границах низкочастотной или в границах высокочастотной полосы. Первое значение полосовой тональности может указывать тональность аудиосигнала в первой частотной полосе. Можно считать, что аудиосигнал имеет относительно высокую тональность в частотной субполосе, если эта частотная субполоса содержит относительно высокую долю стабильного синусоидального контента. С другой стороны, можно считать, что аудиосигнал имеет низкую тональность в данной частотной субполосе, если эта частотная субполоса содержит относительно высокую долю шума. Первое значение полосовой тональности может зависеть от дисперсии фазы аудиосигнала в первой частотной субполосе.
Способ определения первого значения полосовой тональности можно использовать в контексте устройства кодирования аудиосигнала. Устройство кодирования может использовать методики высокочастотного восстановления, такие как репликация спектральных полос (SBR) (как это используется, например, в контексте высокоэффективного усовершенствованного аудиокодера, (HE-AAC)) или спектральное расширение (SPX) (используемое, например, в контексте устройства кодирования Dolby Digital Plus). Первое значение полосовой тональности можно использовать для аппроксимации высокочастотной компоненты (в высокочастотной полосе) аудиосигнала на основании низкочастотной компоненты (в низкочастотной полосе) аудиосигнала. В частотности, первое значение полосовой тональности можно использовать для определения дополнительной информации, которая может быть использована соответствующим устройством аудиодекодирования для восстановления высокочастотной компоненты аудиосигнала на основании принятой (декодированной) низкочастотной компоненты аудиосигнала. Упомянутая дополнительная информация может, например, задавать уровень шума, добавляемый к перенесенным частотным субполосам низкочастотной компоненты, чтобы аппроксимировать частотную субполосу высокочастотной компоненты.
Способ может содержать определение набора коэффициентов преобразования в соответствующем наборе частотных бинов на основании блока выборок аудиосигнала. Последовательность выборок аудиосигнала может быть сгруппирована в последовательность кадров, каждый из которых содержит заданное количество выборок. Кадр из упомянутой последовательности кадров может быть разбит на один или более блоков выборок. Соседние блоки кадра могут перекрываться (например, до 50%). Блок выборок может быть преобразован из временной области в частотную область с использованием преобразования из временной области в частотную область, такого как модифицированное дискретное косинусное преобразование (MDCT) и/или модифицированное дискретное синусное преобразование (MDST), в результате которого получают набор коэффициентов преобразования. Применяя MDST и MDCT к блоку выборок, можно получить набор комплексных коэффициентов преобразования. Как правило, количество N коэффициентов преобразования (и количество N частотных бинов) соответствует количеству N выборок в блоке (например, N=128 или N=256). Первая частотная субполоса может содержать множество из N частотных бинов. Другими словами, N частотных бинов (имеющих относительно высокое разрешение по частоте) можно сгруппировать в одну или более частотных субполос (имеющих относительно низкое разрешение по частоте). В результате можно обеспечить сокращение количества частотных субполос (что, как правило, выгодно в связи с пониженными скоростями передачи данных кодированного аудиосигнала), где частотные субполосы имеют относительно высокую частотную избирательность в отношении друг друга (благодаря тому, что эти частотные субполосы получают посредством группирования множества частотных бинов с высоким разрешением).
Способ может дополнительно содержать определение набора значений тональности элементов для набора частотных бинов с использованием, соответственно, набора коэффициентов преобразования. Значения тональности элементов, как правило, определяют для отдельного частотного бина (с использованием коэффициента преобразования этого отдельного частотного бина). Фактически, значение тональности элемента указывает тональность аудиосигнала в отдельном частотном бине. Например, значение тональности элемента зависит от дисперсии фазы коэффициента преобразования в соответствующем отдельном частотном бине.
Способ может дополнительно содержать формирование первого поднабора из двух или более значений тональности элементов для двух или более соответствующих соседних частотных бинов из набора частотных бинов, лежащих в первой частотной субполосе, в результате чего получают первое значение полосовой тональности для первой частотной субполосы. Другими словами, первое значение полосовой тональности можно определить путем формирования двух или более значений тональностей элементов для двух или более частотных бинов, лежащих в первой частотной субполосе. Формирование первого поднабора из двух или более значений тональности элементов из соответствующего набора значений может содержать усреднение двух или более значений тональности элементов и/или суммирование двух или более значений тональности элементов. Например, первое значение полосовой тональности можно определить на основании суммы значений тональности частотных бинов, лежащих в первой частотной субполосе.
По существу способ определения первого значения полосовой тональности задает определение первого значения полосовой тональности в первой частотной субполосе (содержащей множество частотных бинов) на основании значений тональности частотных бинов, лежащих в первой частотной субполосе. Другими словами, предлагается двухэтапное определение первого значения полосовой тональности, где на первом этапе получают набор значений тональности элементов, а на втором этапе формируют (по меньшей мере частично) набор значений тональности элементов для получения значения тональности первой полосы. В результате такого двухэтапного подхода можно определить разные значения полосовых тональностей разных полос (для разных структур субполос) на основании одного и того же набора значений тональности элементов, в результате чего упрощаются вычисления, выполняемые устройством аудиокодирования, которое использует значения тональности разных полос.
В одном варианте способ, кроме того, содержит определение второго значения полосовой тональности во второй частотной субполосе путем объединения второго поднабора из двух или более значений из набора значений тональности элемента для двух или более соответствующих соседних частотных бинов из набора частотных бинов, лежащих во второй частотной субполосе. Первая и вторая частотные субполосы могут содержать по меньшей мере один общий частотный бин, а первый и второй поднаборы могут содержать по меньшей мере одно общее значение тональности элемента. Другими словами, значения тональности первой и второй полос можно определить на основании по меньшей мере одного общего значения тональности элемента, в результате чего можно упростить расчеты, связанные с определением значений тональности полос. Например, первая и вторая частотные субполосы могут находиться в высокочастотной полосе аудиосигнала. Первая частотная субполоса может быть уже второй частотной субполосы и может находиться в границах второй частотной субполосы. Первое значение тональности можно использовать в контексте значительного затухания дисперсии устройства кодирования на основе SPX, а второе значение тональности можно использовать в контексте шумового смешения устройства кодирования на основе SPX.
Как указывалось выше, описанные здесь способы, как правило, используют в контексте устройства аудиокодирования, использующего методики высокочастотного восстановления (HFR). Упомянутые методики HFR, как правило, преобразуют один или более частотных бинов из низкочастотной полосы аудиосигнала в один или более частотных бинов из высокочастотной полосы, чтобы аппроксимировать высокочастотную компоненту аудиосигнала. Фактически, аппроксимация высокочастотной компоненты аудиосигнала на основании низкочастотной компоненты этого же аудиосигнала может содержать копирование одного или более низкочастотных коэффициентов преобразования одного или более частотных бинов из низкочастотной полосы, соответствующей низкочастотной компоненте, в высокочастотную полосу, соответствующую высокочастотной компоненте аудиосигнала. Этот заданный процесс копирования может быть учтен при определении значений тональности полос. В частности, можно учесть, что значения тональности элементов, как правило, не претерпевают изменений в процессе копирования, что позволяет использовать значения тональностей элементов, которые были определены для частотного бина в низкочастотной полосе, для соответствующих скопированных частотных бинов в высокочастотной полосе.
В одном варианте первая частотная субполоса находится в низкочастотной полосе, а вторая частотная субполоса находится в высокочастотной полосе. Способ может дополнительно содержать определение значения тональности второй полосы во второй частотной субполосе путем формирования второго набора из двух или более значений из набора значений тональности элементов для двух или более соответствующих частотных бинов, которые были скопированы во вторую частотную субполосу. Другими словами, значение тональности второй полосы (для второй частотной субполосы, находящейся в высокочастотной полосе) можно определить на основании значения тональности частотных бинов, которые были скопированы в высокочастотную полосу. Вторая частотная субполоса может содержать по меньшей мере один частотный бин, который был скопирован из частотного бина, находящегося в первой частотной полосе. По существу первый и второй поднаборы могут содержать соответствующее по меньшей мере одно общее значение тональности элемента, что упрощает вычисления, связанные с определением значений тональности полос.
Как указано выше, аудиосигнал, как правило, группируют в последовательность блоков (содержащих, например, N выборок каждый). Способ может содержать определение последовательности наборов коэффициентов преобразования на основании соответствующей последовательности блоков аудиосигнала. В результате, для каждого частотного бина можно определить последовательность коэффициентов преобразования. Другими словами, для конкретного частотного бина последовательность наборов коэффициентов преобразования может содержать последовательность конкретных коэффициентов преобразования. Последовательность конкретных коэффициентов преобразования можно использовать для определения последовательности значений тональности элементов для конкретного частотного бина для упомянутой последовательности блоков аудиосигнала.
Определение значения тональности для конкретного частотного бина может содержать определение последовательности фаз на основании последовательности конкретных коэффициентов преобразования и определение фазового ускорения на основании последовательности фаз. Значение тональности для конкретного частотного бина, как правило, зависит от фазового ускорения. Например, значение тональности элемента для текущего блока аудиосигнала можно определить на основании текущего фазового ускорения. Текущее фазовое ускорение можно определить на основании текущей фазы (определенной на основании коэффициента преобразования текущего блока) и на основании двух или более предыдущих фаз (определенных на основании двух или более коэффициентов преобразования двух или более предыдущих блоков). Как было указано выше, значение тональности для конкретного частотного бина, как правило, определяется только на основании коэффициентов преобразования того же самого конкретного частотного бина. Другими словами, значение тональности для частотного бина, как правило, не зависит от значений тональности других частотных бинов.
Как уже отмечалось выше, первое значение полосовой тональности можно использовать для аппроксимации высокочастотной компоненты аудиосигнала на основании низкочастотной компоненты того же аудиосигнала с использованием схемы спектрального расширения (SPX). Первое значение полосовой тональности можно использовать для определения стратегии повторной отправки координат SPX, коэффициента шумового смешения и/или значительного затухания дисперсии.
Согласно другому аспекту описан способ определения коэффициента шумового смешения. Следует заметить, что описанные в настоящем документе различные аспекты и способы можно произвольным образом комбинировать друг с другом. Коэффициент шумового смешения можно использовать для аппроксимации высокочастотной компоненты аудиосигнала на основании низкочастотной компоненты того же сигнала. Как отмечалось выше, высокочастотная компонента, как правило, содержит компоненты аудиосигнала в высокочастотной полосе. Высокочастотную полосу можно разбить на одну или более высокочастотных субполос (например, вышеописанные первая и/или вторая частотная субполоса). Компонента аудиосигнала в высокочастотной подобласти может называться сигналом высокочастотной субполосы. Аналогичным образом, низкочастотная компонента, как правило, содержит компоненты аудиосигнала в низкочастотной полосе, и низкочастотную полосу можно разбить на одну или более низкочастотных субполос (например, вышеописанные первая и/или вторая частотные субполосы). Компонента аудиосигнала в низкочастотной субполосе может называться сигналом низкочастотной субполосы. Другими словами, высокочастотная компонента может содержать один или более (исходных) сигналов высокочастотной субполосы в высокочастотной полосе, а низкочастотная компонента может содержать один или более сигналов низкочастотной субполосы в низкочастотной полосе.
Как подчеркивалось выше, аппроксимация высокочастотной компоненты может содержать копирование одного или более сигналов низкочастотной субполосы в высокочастотную полосу, что порождает один или более аппроксимируемых сигналов высокочастотной субполосы. Для указания уровня шума, который должен быть добавлен к одному или более аппроксимированным сигналам высокочастотной субполосы, можно использовать шумовое смешение, чтобы выровнять тональность аппроксимированных сигналов высокочастотной субполосы с тональностью исходного сигнала высокочастотной субполосы аудиосигнала. Другими словами, коэффициент шумового смешения может указывать уровень шума, добавляемый к одному или более аппроксимированным сигналам высокочастотной субполосы для аппроксимации (исходной высокочастотной компоненты аудиосигнала).
Способ может содержать определение значения тональности целевой полосы на основании одного или более (исходных сигналов высокочастотной субполосы). Кроме того, способ может содержать определение значения полосовой тональности источника сигнала на основании одного или более аппроксимированных сигналов высокочастотной субполосы. Значения тональности могут указывать на изменение фазы сигналов соответствующей субполосы. Кроме того, значения тональности можно определить, как это описано в настоящем изобретении. В частности, значения полосовой тональности можно определить на основании двухэтапного подхода, предложенного в настоящем изобретении, то есть значения полосовой тональности можно определить на основании набора значений тональности частотного бина.
Способ может, кроме того, содержать определение коэффициента шумового смешения на основании целевого значения полосовой тональности и значения полосовой тональности источника сигнала. В частности, способ может содержать определение коэффициента шумового смешения на основании значения полосовой тональности источника сигнала, если ширина полосы пропускания высокочастотной компоненты, подлежащий аппроксимации, меньше ширины полосы пропускания низкочастотной компоненты, которую используют для аппроксимации высокочастотной компоненты. В результате можно упростить вычисления, необходимые для определения коэффициента шумового смешения, по сравнению со способом, в котором коэффициент шумового смешения определяют на основании значения полосовой тональности, которое получают из низкочастотной компоненты аудиосигнала.
В одном варианте низкочастотная полоса содержит стартовую полосу (указанную, например, параметром spxstart в случае использования устройства кодирования на основе SPX), которая указывает низкочастотную субполосу, имеющую самую низкую частоту среди низкочастотных субполос, которые доступны для копирования. Кроме того, высокочастотная полоса может содержать начальную полосу (указанную, например, параметром spxbegin в случае использования устройства кодирования на основе SPX), которая указывает высокочастотную субполосу, содержащую минимальную частоту высокочастотной субполосы, которая не должна аппроксимироваться. Вдобавок, высокочастотная полоса может содержать концевую полосу (указанную, например, параметром spxend в случае использования устройства кодирования на основе SPX), которая указывает высокочастотную субполосу, имеющую максимальную частоту среди высокочастотных субполос, которые подлежат аппроксимации.
Способ может содержать определение первой ширины полосы между стартовой полосой (например, параметр spxstart) и начальной полосой (например, параметр spxbegin). Кроме того, способ может содержать определение второй ширины полосы пропускания между начальной полосой (например, параметр spxbegin) и концевой полосой (например, параметр spxend). Способ может содержать определение коэффициента шумового смешения на основании целевого значения полосовой тональности и значения полосовой тональности источника, если первая ширина полосы частот больше второй ширины полосы частот. В частности, если первая ширина полосы частот больше или равна второй ширине полосы частот, значение полосовой тональности источника можно определить на основании одного или более сигналов низкочастотной субполосы, находящейся между стартовой полосой и стартовой полосой плюс вторая ширина полосы частот. Как правило, эти сигналы низкочастотной субполосы являются сигналами низкочастотной субполосы, скопированными в высокочастотную полосу. В результате можно упростить вычисления в ситуациях, когда упомянутая первая ширина полосы частот больше или равна упомянутой второй ширине полосы частот.
С другой стороны, способ может содержать определение значения тональности низкочастотной полосы на основании одного или более сигналов низкочастотной субполосы между стартовой полосой и начальной полосой и определение коэффициента шумового смешения на основании целевого значения полосовой тональности и значения тональности низкочастотной полос, если первая ширина полосы частот меньше, чем вторая ширина полосы частот. Сравнение упомянутых первой и второй ширины поможет обеспечить определение коэффициента шумового смешения (и значений полосовой тональности) на минимальном количестве субполос (независимо от упомянутых первой и второй ширины полосы частот), что упростит вычисления.
Коэффициент шумового смешения можно определить на основании дисперсии целевого значения полосовой тональности и значения полосовой тональности источника (либо целевого значения полосовой тональности и значения тональности низкочастотной полосы). В частности, коэффициент b шумового смешения можно определить как
copy
high
где  - дисперсия значения T тональности источника сигнала (или значения тональности низкочастотной полосы) и целевого значения T полосовой тональности.
Как было указано выше, значения полосовой тональности (источника, целевой или низкочастотной) можно определить, используя двухэтапный подход, описанный в настоящем документе. В частности, значение тональности частотной субполосы можно определить путем определения набора коэффициентов преобразования в соответствующем наборе частотных бинов на основании блока выборок аудиосигнала. Затем, используя набор коэффициентов преобразования, можно определить набор значений тональности для набора частотных бинов. Затем можно определить значение тональности частотной субполосы путем формирования первого поднабора из двух или более значений тональности из набора значений для двух или более соответствующих бинов набора частотных бинов, находящихся в границах данной частотной субполосы.
Согласно еще одному аспекту описан способ для определения значения тональности для первого частотного бина аудиосигнала. Значение тональности первого бина можно определить в соответствии с принципами, описанными в настоящем документе. В частности, значение тональности первого бина можно определить на основании дисперсии фазы коэффициента преобразования первого частотного бина. Кроме того, как подчеркивалось в настоящем документе, значение тональности первого бина можно использовать для аппроксимации высокочастотной компоненты аудиосигнала на основании низкочастотной компоненты аудиосигнала. Способ для определения значения тональности первого бина фактически можно использовать в контексте устройства аудиокодирования, использующего методики HFR.
Способ может содержать обеспечение последовательности коэффициентов преобразования в первом частотном бине для соответствующей последовательности блоков выборок аудиосигнала. Последовательность коэффициентов преобразования можно определить, применив преобразование из временной области в частотную область для последовательности блоков выборок (как было описано выше). Кроме того, способ может содержать определение последовательности фаз на основании последовательности коэффициентов преобразования. Коэффициент преобразования может представлять собой комплексную величину, а фазу коэффициента преобразования можно определить на основании функции арктангенса, применяемой к действительной и мнимой части комплексного коэффициента преобразования. Кроме того, способ может содержать определение фазового ускорения на основании последовательности фаз. Например, текущее фазовое ускорение для текущего коэффициента преобразования для текущего блока выборок можно определить на основании текущей фазы и на основании двух или более предыдущих фаз. Вдобавок, способ может содержать определение мощности бина на основании текущего коэффициента преобразования из последовательности коэффициентов преобразования. Мощность текущего коэффициента преобразования можно определить на основании квадрата величины текущего коэффициента преобразования.
Способ, кроме того, содержит аппроксимацию весового коэффициента, указывающего корень четвертой степени отношения мощности последовательных коэффициентов преобразования, с использованием логарифмической аппроксимации. Затем согласно данному способу выполняется взвешивание фазового ускорения с использованием аппроксимированного весового коэффициента и/или мощности текущего коэффициента преобразования для получения значения тональности первого бина. В результате аппроксимации весового коэффициента с использованием логарифмической аппроксимации можно обеспечить высококачественную аппроксимацию весового коэффициента одновременно со значительным упрощением расчетов по сравнению с тем случаем, когда определяют точный весовой коэффициент, что включает извлечение корня четвертой степени из отношения мощностей последовательных коэффициентов преобразования. Логарифмическая аппроксимация может содержать аппроксимацию логарифмической функции линейной функцией и/или полиномом (например, порядка 1, 2, 3, 4 или 5).
Последовательность коэффициентов преобразования может содержать текущий коэффициент преобразования (для текущего блока выборок) и непосредственно предыдущий коэффициент преобразования (для непосредственно предыдущего блока выборок). Весовой коэффициент может указывать корень четвертой степени отношения мощностей текущего коэффициента преобразования и непосредственно предшествующего коэффициента преобразования. Кроме того, как было указано выше, коэффициенты преобразования могут представлять собой комплексные числа, содержащие действительную часть и мнимую часть. Мощность текущего (предшествующего) коэффициента преобразования можно определить на основании квадрата действительной части и квадрата мнимой части текущего (предшествующего) коэффициента преобразования. Вдобавок, можно определить текущую (предшествующую) фазу на основании функции арктангенса действительной части и мнимой части текущего (предшествующего) коэффициента преобразования. На основании фазы текущего коэффициента преобразования и на основании фаз двух или более непосредственно предшествующих коэффициентов преобразования можно определить текущее фазовое ускорение.
Аппроксимация весового коэффициента может содержать получение текущей мантиссы и текущего показателя степени, представляющих текущий коэффициент преобразования из последовательности предшествующих коэффициентов преобразования. Кроме того, аппроксимация весового коэффициента может содержать определение значения индекса для заданной справочной таблицы на основании текущей мантиссы и текущего показателя степени. Справочная таблица, как правило, представляет взаимосвязь между множеством значений индекса и соответствующим множеством значений показателя степени для множества значений индекса. По существу, такая справочная таблица может обеспечить эффективное средство для аппроксимации показательной функции. В одном варианте справочная таблица содержит 64 или менее записей (то есть пар, состоящих из значения индекса и значения показателя степени). Аппроксимированный весовой коэффициент можно определить, используя значение индекса и данную справочную таблицу.
В частности, способ может содержать определение вещественного значения индекса на основании мантиссы и показателя степени. Затем можно определить значение индекса (в виде целочисленной оценки) путем усечения и/или округления вещественного значения индекса. В результате систематического выполнения операции усечения или округления в процесс аппроксимации можно ввести систематическое смещение. Упомянутое систематическое смещение может оказаться полезным в отношении воспринимаемого качества аудиосигнала, который кодируют с использованием способа определения значения тональности частотного бина, описанного в настоящем документе.
<mrow><mo stretchy="false">(</mo><msub><mi>е</mi><mi>y</mi></msub><mo>−</mo><msub><mi>e</mi><mi>z</mi></msub><mo>+</mo><mn>2</mn><mo>⋅</mo><msub><mi>m</mi><mi>y</mi></msub><mo>−</mo><mn>2</mn><mo>⋅</mo><msub><mi>m</mi><mi>z</mi></msub><mo stretchy="false">)</mo></mrow>
y
z
y
z
Аппроксимация весового коэффициента может, кроме того, содержать обеспечение предшествующей мантиссы и предшествующего показателя степени, представляющих коэффициент преобразования, предшествующий текущему коэффициенту преобразования. Затем можно определить значение индекса на основании однократного или многократного применения операции суммирования и/или операции вычитания к текущей мантиссе, предшествующей мантиссе, текущему показателю степени и предшествующему показателю степени. В частности, значение индекса можно определить, выполнив операцию взятия по модулю для
, где e - текущая мантисса, e - предшествующая мантисса, m - текущий показатель степени и m - предшествующий показатель степени.
Как было указано выше, способы, описанные в настоящем документе, можно применить к многоканальным аудиосигналам. В частности, эти способы применимы к каналу многоканального аудиосигнала. В устройствах аудиокодирования для многоканальных аудиосигналов, как правило, применяется методика кодирования, называемая «связыванием каналов» (или сокращенно «связыванием»), для совместного кодирования множества каналов многоканального аудиосигнала. В этой связи согласно одному аспекту изобретения описан способ определения множества значений тональности для множества сопряженных каналов многоканального аудиосигнала.
Способ может содержать определение первой последовательности коэффициентов преобразования для соответствующей последовательности блоков выборок первого канала из множества связанных каналов. В качестве альтернативы, первую последовательность коэффициентов преобразования можно определить на основании последовательности блоков выборок связанного канала, полученного из множества связанных каналов. Способ может далее определять первое значение тональности для первого канала (или для связанного канала). С этой целью способ может содержать определение первой последовательности фаз на основании последовательности первых коэффициентов преобразования и определение первого фазового ускорения на основании последовательности первых фаз. Затем можно определить первое значение тональности для первого канала (или для связанного канала) на основании фазового ускорения для первой фазы. Кроме того, можно определить значение тональности для второго канала из множества связанных каналов на основании фазового ускорения для первой фазы. По существу, значения тональности для множества связанных каналов можно определить на основании фазового ускорения, определенного, исходя только из одного из связанных каналов, в результате чего упрощаются вычисления, связанные с определением тональности. Это возможно благодаря тому, что в результате связывания наблюдается выравнивание фаз множества связанных каналов.
Согласно другому аспекту описан способ определения значения полосовой тональности для первого канала многоканального аудиосигнала в устройстве кодирования на основе спектрального расширения (SPX). Устройство кодирования на основе SPX может быть выполнено с возможностью аппроксимации высокочастотной компоненты первого канала из низкочастотной компоненты первого канала. С этой целью устройство кодирования на основе SPX может использовать значение полосовой тональности. В частности, устройство кодирования на основе SPX может использовать значение полосовой тональности для определения коэффициента шумового смешивания, указывающего уровень шума, добавляемого к аппроксимированной высокочастотной компоненте. По существу значение полосовой тональности может указать тональность аппроксимированной высокочастотной компоненты перед шумовым смешением. Первый канал может быть связан устройством кодирования на основе SPX с одним или более другими каналами многоканального аудиосигнала.
Способ может содержать обеспечение множества коэффициентов преобразования на основании первого канала до связывания каналов. Кроме того, способ может содержать определение значения полосовой тональности на основании множества коэффициентов преобразования. Фактически, коэффициент шумового смешения можно определить на основании множества коэффициентов преобразования исходного первого канала, а не на основании связанного/несвязанного первого канала. Это может быть выгодным, так как это позволяет упростить вычисления, связанные с определением тональности в устройстве аудиокодирования на основе SPX.
Как подчеркивалось выше, множество коэффициентов преобразования, которые были определены на основании первого канала до связывания (то есть на основании исходного первого канала), можно использовать для определения значений тональности бинов и/или значений полосовой тональности, которые используют для определения стратегии повторной отправки координат SPX и/или для определения значительного затухания дисперсии (LVA) устройства кодирования на основе SPX. Используя вышеупомянутый подход к определению коэффициента шумового смешения первого канала на основании исходного первого канала (а не на основании связанного/несвязанного первого канала), можно повторно использовать значения тональности бинов, которые были определены для стратегии повторной отправки координаты SPX и/или для значительного затухания дисперсии (LVA), что позволяет уменьшить сложность вычислений, выполняемых устройством кодирования на основе SPX.
Согласно другому аспекту описана система, выполненная с возможностью определения первого значения полосовой тональности для первой частотной субполосы аудиосигнала. Первое значение полосовой тональности можно использовать для аппроксимации высокочастотной компоненты аудиосигнала на основании низкочастотной компоненты аудиосигнала. Система может быть выполнена с возможностью определения набора коэффициентов преобразования в соответствующем наборе частотных бинов на основании блока выборок аудиосигнала. Кроме того, система может быть выполнена с возможностью определения набора значений тональности для набора частотных бинов с использованием набора коэффициентов преобразования соответственно. Вдобавок, система может быть выполнена с возможностью формирования первого поднабора из двух или более значений тональности бинов для двух или более соответствующих соседних частотных бинов из набора частотных бинов, находящихся в первой частотной субполосе, в результате чего получают значение тональности для первой частотной субполосы.
Согласно другому аспекту описана система, выполненная с возможностью определения коэффициента шумового смешения. Коэффициент шумового смешения можно использовать для аппроксимации высокочастотной компоненты аудиосигнала на основании низкочастотной компоненты того же аудиосигнала. Высокочастотная компонента, как правило, содержит один или более сигналов высокочастотной субполосы в высокочастотной полосе, а низкочастотная компонента, как правило, содержит один или более сигналов низкочастотной субполосы в низкочастотной полосе. Аппроксимация высокочастотной компоненты может содержать копирование одного или более сигналов низкочастотной субполосы в высокочастотную полосу, в результате чего получают один или более аппроксимированных сигналов высокочастотной субполосы. Система может быть выполнена с возможностью определения целевого значения полосовой тональности на основании одного или более сигналов высокочастотной субполосы. Кроме того, система может быть выполнена с возможностью определения значения полосовой тональности источника на основании одного или более аппроксимированных сигналов высокочастотной субполосы. Вдобавок, система может быть выполнена с возможностью определения коэффициента шумового смешения на основании целевого значения (322) полосовой тональности и значения (323) полосовой тональности источника. Согласно дополнительному аспекту описана система, выполненная с возможностью определения значения тональности для первого частотного бина аудиосигнала. Первое значение полосовой тональности можно использовать для аппроксимации высокочастотной компоненты аудиосигнала на основании низкочастотной компоненты того же аудиосигнала. Система может быть выполнена с возможностью обеспечения последовательности коэффициентов преобразования в первом частотном бине для соответствующей последовательности блоков выборок аудиосигнала. Кроме того, система может быть выполнена с возможностью определения последовательности фаз на основании последовательности коэффициентов преобразования и для определения фазового ускорения на основании последовательности фаз. Кроме того, система может быть выполнена с возможностью аппроксимации весового коэффициента, указывающего корень четвертой степени из отношения мощностей последовательных коэффициентов преобразования, с использованием логарифмической аппроксимации и для взвешивания фазового ускорения с помощью аппроксимированного весового коэффициента для получения значения тональности первого бина.
Согласно еще одному аспекту описано устройство аудиокодирования (например, устройство аудиокодирования на основе HFR, в частности, устройство аудиокодирования на основе SPX), выполненное с возможностью кодирования аудиосигнала с использованием высокочастотного восстановления. Устройство аудиокодирования может содержать одну или более систем, описанных в настоящем документе. В качестве альтернативы или вдобавок к описанному, устройство аудиокодирования может быть выполнено с возможностью выполнения любого одного или более способов, описанных в настоящем документе.
Согласно следующему аспекту описана компьютерная программа. Эта программа может быть выполнена с возможностью исполнения в процессоре и выполнения этапов способа, представленных в настоящем документе, при исполнении упомянутой программы в процессоре.
Согласно другому аспекту описан носитель информации. Этот носитель информации может содержать программу, выполненную с возможностью исполнения в процессоре и выполнения этапов способа, представленных в настоящем документе, при исполнении этой программы в процессоре.
Согласно следующему аспекту описан компьютерный программный продукт. Компьютерная программа может содержать исполняемые команды для выполнения этапов способа, изложенных в настоящем документе, при исполнении данной программы на компьютере.
Следует заметить, что способы и системы, включая предпочтительные варианты их осуществления, которые изложены в настоящей заявке на патент, можно использовать автономно или в сочетании с другими способами и системами, раскрытыми в этом документе. Кроме того, все аспекты способов и систем, изложенные в настоящей заявке на патент, можно комбинировать произвольным образом. В частности, признаки формулы изобретения можно комбинировать друг с другом произвольным образом.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Далее изобретение будет объяснено на примерах со ссылкой на сопровождающие чертежи, на которых:
фиг. 1а, 1b, 1с и 1d иллюстрируют примерную схему SPX;
фиг. 2а, 2b, 2с и 2d иллюстрируют использование тональности на различных ступенях устройства кодирования на основе SPX;
фиг. 3а, 3b, 3с и 3d иллюстрируют примерные схемы, предназначенные для сокращения объема вычислений, связанных с вычислением значений тональности;
фиг. 4 иллюстрирует примерные результаты теста прослушивания в сравнении с определением тональности на основании исходного аудиосигнала и определением тональности на основании несвязанного аудиосигнала;
фиг. 5а иллюстрирует примерные результаты теста прослушивания в сравнении с различными схемами для определения весового коэффициента, используемого для вычисления значений тональности; и
фиг. 5b иллюстрирует примерные степени приближения весового коэффициента, используемого для вычисления тональности.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
На фиг. 1а, 1b, 1с и 1d показаны примерные этапы, выполняемые устройством аудиокодирования на основе SPX. На фиг. 1а показан частотный спектр 100 примерного аудиосигнала, где частотный спектр 100 содержит основную полосу 101 частот (также называемую низкочастотной полосой 101) и высокочастотную полосу 102. В показанном примере высокочастотная полоса 102 содержит множество субполос, а именно, полоса 1 SE - полоса 5 SE (где SE - спектральное расширение). Основная полоса 101 частот содержит более низкие частоты вплоть до граничной частоты 103 основной полосы частот, а высокочастотная полоса 102 содержит высокие частоты, начиная от граничной частоты 103 основной полосы частот до частоты 104 полосы аудиосигнала. Основная полоса 101 частот соответствует спектру низкочастотной компоненты аудиосигнала, а высокочастотная полоса 102 соответствует спектру высокочастотной компоненты того же аудиосигнала. Другими словами, низкочастотная компонента аудиосигнала содержит частоты в основной полосе 101 частот, а высокочастотная компонента аудиосигнала содержит частоты в высокочастотной полосе 102.
Устройство аудиокодирования, как правило, использует преобразование «временная область-частотная область» (например, модифицированное дискретное косинусное преобразование (MDCT) и/или модифицированное дискретное синусное преобразование (MDST)), чтобы определить спектр 100 из аудиосигнала во временной области. Аудиосигнал во временной области можно разбить на последовательность аудиокадров, содержащих соответствующие последовательности выборок аудиосигнала. Каждый аудиокадр можно разбить на множество блоков (например, до шести блоков), где каждый блок содержит, например, N или 2N выборок аудиосигнала. Множество блоков кадра может перекрываться (например, на 50%), то есть второй блок может содержать некоторое количество выборок с его начала, которые идентичны выборкам в конце непосредственно предшествующего первого блока. Например, второй блок из 2N выборок может содержать базовый раздел из N выборок и задний/передний разделы из N/2 выборок, которые перекрываются с базовой секцией непосредственно предшествующего первого блока и непосредственно следующего третьего блока соответственно. Преобразование «временная область-частотная область» блока из N (или 2N) выборок аудиосигнала во временной области, как правило, обеспечивает набор из N коэффициентов (TC) преобразования для соответствующего набора частотных бинов (например, N=256). Например, преобразование «временная область - частотная область» (например, MDCT или MDST) блока из 2N выборок, имеющих базовый раздел из N выборок и перекрывающиеся задний/передний разделы из N/2 выборок, может обеспечить набор, состоящий из N коэффициентов TC. Фактически перекрытие в 50% может привести в среднем к соотношению 1:1 выборок во временной области и коэффициентов TC, что порождает критически дискретную систему. Субполосы высокочастотной полосы 102, показанные на фиг. 1а, можно получить, сгруппировав M частотных бинов для формирования субполосы (например, M=12). Другими словами, субполоса высокочастотной полосы 102 может содержать или охватывать M частотных бинов. Спектральную энергию субполосы можно определить на основании коэффициентов преобразования M частотных бинов, образующих данную субполосу. Например, спектральную энергию субполосы можно определить на основании суммы квадратов коэффициентов преобразования M частотных бинов, образующих данную субполосу (например, на основании среднего значения квадрата коэффициентов преобразования M частотных бинов, образующих данную субполосу). В частности, сумма квадратов коэффициентов преобразования M частотных бинов, образующих данную субполосу, позволяет получить мощность субполосы, а разделив мощность субполосы на количество M частотных бинов, можно получить спектральную плотность мощности (PSD). Фактически, основная полоса 101 частот или высокочастотная полоса 102 может содержать множество субполос, причем эти субполосы получают из множества частотных бинов соответственно.
Как было указано выше, устройство кодирования на основе SPX аппроксимирует высокочастотную полосу 102 аудиосигнала, используя основную полосу 101 частот аудиосигнала. С этой целью устройство кодирования на основе SPX определяет дополнительную информацию, позволяющую соответствующему устройству декодирования восстановить высокочастотную полосу 102 из кодированной и декодированной основной полосы 101 частот аудиосигнала. Эта дополнительная информация, как правило, содержит индикаторы спектральной энергии одной или более субполос высокочастотной полосы 102 (например, одно или более отношений энергий для одной или более субполос высокочастотной полосы 102 соответственно). Кроме того, дополнительная информация, как правило, содержит индикаторы уровня шума, который необходимо добавить в одну или более субполос высокочастотной полосы 102 (так называемое шумовое смешение). Упомянутые индикаторы, как правило, относятся к тональности одной или более субполос высокочастотной полосы 102. Другими словами, индикаторы уровня шума, который должен быть добавлен к одной или более субполосам высокочастотной полосы 102, как правило, используются для вычисления значений тональности одной или более субполос высокочастотной полосы 102.
На фиг. 1b, 1с и 1d показаны примерные этапы аппроксимации высокочастотной полосы 102 на основании основной полосы 101 частот. На фиг. 1b показан спектр 110 низкочастотной компоненты аудиосигнала, содержащий только основную полосу 101 частот. На фиг. 1с показан спектральный перенос одной или более субполос 121, 122 основной полосы 101 частот в частоты высокочастотной полосы 102. Это можно видеть из спектра 120, субполосы 121, 122 которого копируются на соответствующие частотные полосы 123, 124, 125, 126, 127 и 128 высокочастотной полосы 102. В показанном примере субполосы 121, 122 копируются трижды, чтобы заполнить высокочастотную полосу 102. На фиг. 1d показано, каким образом исходная высокочастотная полоса 102 аудиосигнала (см. фиг. 1а) аппроксимируется на основании скопированных (или перенесенных) субполос 123, 124, 125, 126, 127 и 128. Устройство аудиокодирования на основе SPX может ввести случайный шум в скопированные субполосы с тем, чтобы тональность аппроксимированных субполос 133, 134, 135, 136, 137 и 138 соответствовала тональности исходных субполос высокочастотной полосы 102. Этого можно добиться путем определения соответствующих подходящих индикаторов тональности. Кроме того, можно изменить энергию скопированных субполос 123, 124, 125, 126, 127 и 128 (после выполнения шумового смешения) с тем, чтобы энергия аппроксимированных субполос 133, 134, 135, 136, 137 и 138 соответствовала энергии исходных субполос высокочастотной полосы 102. Этого можно достичь, определив подходящие соответствующие индикаторы энергии. Из фиг. 1d можно видеть, что в результате спектр 130 аппроксимирует спектр 100 исходного аудиосигнала, показанный на фиг. 1а.
Как было указано выше, определение индикаторов, используемых для шумового смешения (для которых, как правило, потребуется определить тональность субполос), главным образом предопределяет сложность вычислительных ресурсов устройства аудиокодирования на основе SPX. В частности, значения тональности различных сигнальных сегментов (частотных субполос) могут понадобиться для разных целей на разных ступенях процесса кодирования с SPX. На фиг. 2а, 2b, 2с и 2d показаны ступени, необходимые, как правило, для определения значений тональности.
На фиг. 2а, 2b, 2с и 2d показаны частоты (в виде субполос SPX 0-16) по горизонтальной оси с отметками для стартовой полосы 201 (или стартовой частоты SPX) (под названием spxstart), для начальной полосы 202 (или начальной частоты SPX) (под названием spxbegin) и для концевой полосы 203 (или концевой частоты SPX) (под названием spxend). Как правило, начальная частота 202 SPX соответствует граничной частоте 103. Концевая частота 203 SPX может соответствовать ширине 104 полосы исходного аудиосигнала или частоте, меньшей, чем значение ширины 104 полосы аудиосигнала (как показано на фиг. 2а, 2b, 2c и 2d). После кодирования ширина полосы пропускания кодированного/декодированного аудиосигнала, как правило, соответствует концевой частоте 203 SPX. В одном варианте стартовая частота 201 SPX соответствует частотному бину №25, а концевая частота 203 SPX соответствует частотному бину №229. Субполосы аудиосигнала показаны на трех различных ступенях процесса кодирования с SPX: спектр 200 (например, спектр MDCT) исходного аудиосигнала (фиг. 2а, верхняя часть, и фиг. 2b) и спектр 210 аудиосигнала после кодирования/декодирования низкочастотной компоненты аудиосигнала (средняя часть фиг. 2а, также фиг. 2с). Кодирование/декодирование низкочастотной компоненты аудиосигнала может, например, содержать матрицирование и дематрицирование низкочастотной компоненты и/или связывание/устранение связей низкочастотной компоненты. Кроме того, показан спектр 220 после спектрального переноса субполос основной полосы 101 частот в высокочастотную полосу 102 (см. нижнюю часть фиг. 2а и фиг. 2d). Спектр 200 исходных частей аудиосигнала показан на фиг. 2а на линии «исходный сигнал» (например, частотные субполосы 0-16); спектр 210 частей сигнала, модифицированных путем связывания/матрицирования на фиг. 2а, - по линии «дематрицированная/несвязанная низкочастотная полоса» (то есть частотные полосы 2-6 в показанном примере); а спектр 220 частей сигнала, модифицированных посредством спектрального переноса, показан на фиг. 2а по линии «перенесенная высокочастотная полоса» (то есть частотные субполосы 7-14 в показанном примере). Субполосы 206, модифицированные посредством их обработки устройством кодирования на основе SPX, показаны зачерненными, в то время как субполосы 205, которые не подверглись модификации со стороны устройства кодирования на основе SPX, выделены редкой штриховкой.
Скобки 231, 232, 233 под субполосами и/или под группами субполос SPX указывают, для каких субполос или для каких групп субполос вычисляются значения тональности (показатели тональности). Кроме того, указано, с какой целью используются значения тональности или показатели тональности. Значения 231 тональности (то есть значения тональности для одной субполосы или группы субполос) исходного входного сигнала между начальной полосой (spxstart) 201 и концевой полосой (spxend) 203 SPX, как правило, используют для принятия решения устройством кодирования о том, требуется ли передача новых координат SPX («стратегия повторной отправки»). Координаты SPX, как правило, содержат информацию об огибающей спектра исходного аудиосигнала в виде коэффициентов усиления для каждой полосы SPX. Стратегия повторной отправки SPX может указывать, следует ли передать новые координаты SPX для нового блока выборок аудиосигнала или можно ли повторно использовать координаты SPX для (непосредственно) предшествующего блока выборок. Кроме того, значения 231 тональности для полос SPX, частоты которых выше spxbegin 202, можно использовать в качестве входных данных для вычислений значительного затухания дисперсии (LVA), как показано на фиг. 2а и фиг. 2b. Значительное затухание дисперсии - это средство устройства кодирования, которое можно использовать для подавления потенциальных ошибок из-за спектрального переноса. Сильные спектральные компоненты в полосе расширения, которые не имеют соответствующей компоненты в основой полосе (и наоборот), можно рассматривать как ошибки расширения. Механизм LVA можно использовать для подавления упомянутых ошибок расширения. Как можно видеть по скобкам на фиг. 2b, значения 231 тональности могут быть вычислены для отдельных субполос (например, субполосы 0, 1, 2…) и/или для групп субполос (например, для группы, содержащей субполосы 11 и 12).
Как было указано выше, тональность сигнала играет важную роль в определении объема шумового смешения, применяемого к восстановленным субполосам в высокочастотной полосе 102. Как показано на фиг. 2с, значения 232 тональности вычисляют отдельно для декодированной (например, дематрицированной/несвязанной) низкочастотной полосы и для исходной высокочастотной полосы. Декодирование в этом контексте означает, что ранее использованные этапы кодирования (например, этапы матрицирования и связывания) устройства кодирования отменяются таким же путем, как это делается в устройстве декодирования. Другими словами, упомянутый механизм устройства декодирования смоделирован уже в устройстве кодирования. Таким образом, низкочастотная полоса, содержащая субполосы 0-6 спектра 210, представляет собой модель спектра, который будет воссоздавать устройство декодирования. На фиг. 2с, кроме того, показано, что тональность вычисляется в этом случае только для двух больших полос, в отличие от тональности исходного сигнала, которая вычисляется для каждой субполосы SPX (которая охватывает множество из 12 коэффициентов преобразования (TC)) или для каждой группы субполос SPX. Как указано скобками на фиг. 2с, значения 232 тональности вычисляют для группы субполос в основной полосе 101 частот (содержащей, например, субполосы 0-6) и для группы субполос в высокочастотной полосе 102 (содержащей, например, субполосы 7-14).
Вдобавок к вышесказанному, вычисления значительного затухания дисперсии, как правило, требуют других входных данных по тональности, которые вычисляют на основании перенесенных коэффициентов (TC) преобразования. Тональность измеряют для той же спектральной области, которая показана на фиг. 2а, но на других данных, то есть на перенесенных субполосах низкочастотной полосы, а не на исходных субполосах. Это показано в спектре 220 на фиг. 2d. Здесь можно видеть, что значения 233 тональности определяют для субполос и/или групп субполос в высокочастотной полосе 102 на основании перенесенных субполос.
Из рассмотренных фигур можно видеть, что примерное устройство кодирования на основе SPX определяет значения 231, 232, 233 тональности на различных субполосах 205, 206 или группах субполос исходного аудиосигнала и/или сигналов, полученных из исходного аудиосигнала в ходе процесса кодирования/декодирования. В частности, значения 231, 232, 233 тональности можно определить для субполос или групп субполос исходного аудиосигнала, кодированной/декодированной низкочастотной компоненты аудиосигнала и/или аппроксимированной высокочастотной компоненты аудиосигнала. Как подчеркивалось выше, определение значений 231, 232, 233 тональности, как правило, занимает значительную часть всего объема вычислений, выполняемого устройством кодирования на основе SPX. Ниже описаны способы и системы, которые позволяют значительно сократить объем вычислений, связанных с определением значений 231, 232, 233 тональности, что упрощает вычисления, выполняемые устройством кодирования на основе SPX.
q
Значение тональности субполосы 205, 206 можно определить, проанализировав изменение угловой скорости ω(t) субполос 205, 206 в зависимости от времени t. Угловая скорость ω(t) может представлять изменение угла или фазы φ во времени. Затем можно определить угловое ускорение как изменение угловой скорости ω(t) во времени, то есть первую производную угловой скорости ω(t) или вторую производную фазы φ. Если угловая скорость ω(t) постоянна во времени, то субполоса 205, 206 является тональной, а если угловая скорость ω(t) изменяется во времени, то субполоса 205, 206 является тональной в меньшей степени. Таким образом, индикатором тональности является темп изменения угловой скорости ω(t) (то есть угловое ускорение). Например, значения T 231, 232, 233 тональности субполосы q или группы субполос q можно определить, как
.
q
n
q
n
q
q
В настоящем документе предложено разделить определение значений T 231, 232, 233 тональности субполосы q или группы субполос q (которые также называют значениями полосовой тональности) на определение значений T тональности для разных коэффициентов преобразования (то есть для разных частотных бинов n), полученных с помощью преобразования «временная область-частотная область» (также называемых значениями тональности бина), и на последующее определение значений T 231, 232, 233 полосовой тональности на основании значений T тональности бина. Как показано ниже, такое двухэтапное определение значений T 231, 232, 233 полосовой тональности позволяет значительно сократить объем вычислений, связанный с расчетом значений T 231, 232, 233 полосовой тональности.
n,k
В дискретной временной области значение T для коэффициента преобразования (TC) частотного бина n и в блоке (или в дискретный момент времени) k может быть определено, например, на основании формулы
n,k
n,k-1
n,k-2
<mrow><msup><mrow><mrow><mo>|</mo><mrow><mi>T</mi><msub><mi>C</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><msup><mrow /><mrow /></msup></mrow><mo>|</mo></mrow></mrow><mn>2</mn></msup></mrow>
<mrow><mi>w</mi><mmultiscripts><mrow /><mprescripts /><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow><none /></mmultiscripts></mrow>
где φ, φ и φ - фазы коэффициента преобразования (TC) частотного бина n в моменты времени k, k-1 и k-2 соответственно, где
- возведенная в квадрат величина коэффициента преобразования частотного бина n в момент времени k, и где
- весовой коэффициент для частотного бина n в момент времени k. Функция «anglenorm» нормализует свой аргумент в диапазоне (-π; π] c помощью повторного сложения/вычитания 2π. Функция «anglenorm» задана в таблице 1.
<img file="00000008.tif" he="48" wi="72" img-content="undefined" img-format="tif" />
<img file="00000009.tif" he="45" wi="71" img-content="undefined" img-format="tif" />
q,k
n,k
n,k
Значение T 231, 232, 233 тональности субполосы q 205, 206 или группы субполос q 205, 206 в момент времени k (или для блока k) можно определить на основании значений T тональности частотных бинов n в момент времени k (или для блока k), содержащихся в субполосе q 205, 206 или в группе субполос q 205, 206 (например, на основании суммы значений T тональности или их среднего значения). В настоящем документе временной индекс (или индекс блока) k и/или индекс n бина/индекс q субполосы можно опустить из соображений краткости изложения.
k
k
Фазу φ (для конкретного бина n) можно определить из действительной и мнимой частей комплексного коэффициента TC. Комплексные коэффициенты TC могут определяться на стороне устройства кодирования, например, посредством выполнения преобразования MDST и MDCT блока из N выборок аудиосигнала, в результате которого получают действительную часть и мнимую часть комплексных коэффициентов TC соответственно. Можно использовать альтернативные комплексные преобразования из временной области в частотную область, в результате которых получают комплексные коэффициенты преобразования (TC). Затем можно определить фазу φ как
<mrow><mi>y</mi><mo>=</mo><mi>Im</mi><mo>{</mo><mi>T</mi><msub><mi>C</mi><mi>k</mi></msub><mo>}</mo><mtext></mtext><mtext></mtext><mtext></mtext></mrow>
<mrow><mi>x</mi><mo>=</mo><mi>Re</mi><mo>{</mo><mi>T</mi><msub><mi>C</mi><mi>k</mi></msub><mo>}</mo></mrow>
<mrow><mi>y</mi><mo>=</mo><mi>Im</mi><mo>{</mo><mi>T</mi><msub><mi>C</mi><mi>k</mi></msub><mo>}</mo><mtext></mtext><mtext></mtext><mtext></mtext></mrow>
<mrow><mi>x</mi><mo>=</mo><mi>Re</mi><mo>{</mo><mi>T</mi><msub><mi>C</mi><mi>k</mi></msub><mo>}</mo></mrow>
Определение функции atan2 приведено, например, по Интернет-ссылке http://de.wikipedia.org/wiki/Atan2#atan2. В принципе, функция atan2 может быть представлена как функция арктангенса отношения
и
, которая учитывает отрицательные значения
и/или
. Как подчеркивалось в контексте фиг. 2a, 2b, 2c и 2d, возможно потребуется определить значения 231, 232, 233 тональности разных полос на основании разных спектральных данных 200, 210, 220, полученных из исходного аудиосигнала. Авторы изобретения на основании общего вида, показанного на фиг. 2а, обнаружили, что вычисления тональности разных полос в действительности основаны на одних и тех же данных, в частности, на одних и тех же коэффициентах преобразования (TC):
n
1. Для определения стратегии повторной отправки координат SPX и LVA используют тональность коэффициентов TC исходной высокочастотной полосы, которую также используют для вычисления коэффициента b шумового смешения. Другими словами, для определения значений 231 полосовой тональности и значения 232 полосовой тональности в высокочастотной полосе 102 можно использовать значения T тональности коэффициентов TC исходной высокочастотной полосы 102.
n
n
2. Для определения коэффициента b шумового смешения используют тональность дематрицированных/несвязанных низкочастотных коэффициентов TC, и, после переноса в высокочастотную полосу, ее используют в вычислениях LVA. Другими словами, значения T тональности бинов, определенных на основании коэффициентов TC кодированной/декодированной низкочастотной компоненты аудиосигнала (спектр 210), используют для определения значения 232 тональности в основной полосе 101 частот и для определения значений 233 тональности в высокочастотной полосе 102. Это возможно благодаря тому, что коэффициенты TC субполос в высокочастотной полосе 102 спектра 220 получают путем переноса одной или более кодированных/декодированных субполос в основной полосе 101 частот на одну или более субполос в высокочастотной полосе 102. Этот процесс переноса не влияет на тональность скопированных коэффициентов TC, что позволяет повторно использовать значения T тональности бинов, которые определяют на основании коэффициентов TC кодированной/декодированной низкочастотной компоненты аудиосигнала (спектр 210).
3. Дематрицированные/несвязанные низкочастотные коэффициенты TC, как правило, отличаются от исходных коэффициентов TC только в области связывания (если предположить, что матрицирование является полностью обратимым, то есть предположить, что операция дематрицирования воспроизводит исходные коэффициенты преобразования). Вычисления тональности для субполос (и для коэффициентов TC) между стартовой частотой 201 SPX и связанной начальной (cplbegin) частотой (в предположении, что она находится в субполосе 2 в показанном здесь примере) основаны на не модифицированных исходных коэффициентах TC и, следовательно, совпадают для дематрицированных/несвязанных низкочастотных коэффициентов TC и для исходных коэффициентов TC (как показано на фиг. 2а редкой штриховкой субполос 0 и 1 в спектре 210).
Наблюдения, обсужденные выше, предполагают, что не обязательно повторять некоторые из вычислений тональности или по меньшей мере не обязательно их выполнять полностью, поскольку можно повторно использовать ранее вычисленные промежуточные результаты. Таким образом, во многих случаях можно повторно использовать вычисленные ранее значения, что значительно сокращает затраты на вычисления. Далее описываются различные предложения, позволяющие сократить затраты на вычисления, относящиеся к определению тональности в кодере на основе SPX.
Как можно видеть из спектров 200 и 210 на фиг. 2а, субполосы 7-14 высокочастотной полосы 102 одинаковы в спектрах 200 и 210. По существу, можно повторно использовать значения 231 тональности для высокочастотной полосы 102 также и для значения 232 полосовой тональности. К сожалению, просмотр фиг. 2а показывает, что тональность в обоих случаях вычисляется для другой структуры полос, хотя лежащие в основе расчета коэффициенты преобразования те же самые. Поэтому, чтобы иметь возможность повторно использовать значения тональности, предлагается разбить вычисление тональности на две части, где выходные данные первой части можно использовать для вычисления значений 231 и 232 полосовой тональности.
q
n
n
q
q
n
n
q
n
n
q
q
Как уже подчеркивалось выше, вычисление тональностей T полосы может быть разделено на вычисление тональности T по каждому бину для каждого коэффициента TC (этап 1) и последующий процесс сглаживания и группирования значений T тональности бинов в полосы (этап 2), в результате чего получают соответствующие значения T 231, 232, 233 тональности полос. Значения T 231, 232, 233 тональности полос можно определить на основании суммы значений T тональности бинов, содержащихся в полосе или субполосе данного значения тональности, например, на основании взвешенной суммы значений T тональности бинов. Например, значение T полосовой тональности можно определить на основании суммы соответствующих значений T тональности бинов, деленной на сумму соответствующих весовых коэффициентов w. Кроме того, определение значений T полосовой тональности может содержать растягивание и/или отображение (взвешенной) суммы на заданный диапазон значений (например [0,1]). Из результата, полученного на этапе 1, можно получить произвольные значения T полосовой тональности. Следует заметить, что основной объем сложных вычислений приходится в основном на этап 1, что повышает эффективность этого двухэтапного подхода.
q
n
n
q
q
q
q
Двухэтапный подход для определения значений T полосовой тональности показан на фиг. 3b для субполос 7-14 высокочастотной полосы 102. Из показанного примера можно видеть, что каждая субполоса построена из 12 коэффициентов TC в 12 соответствующих частотных бинах. На первом этапе (этап 1) определяют значения T 341 тональности бина для частотных бинов субполос 7-14. На втором этапе (этап 2) значения T 341 тональности бинов группируют различными способами, чтобы определить значения T 312 полосовой тональности (которые соответствуют значениям T 231 тональности в высокочастотной полосе 102), и для того, чтобы определить значение T 322 полосовой тональности (которое соответствует значениям T 232 тональности в высокочастотной полосе 102).
q
q
В результате можно почти на 50% уменьшить сложность вычислений для определения значения 322 полосовой тональности и значений 312 полосовой тональности, так как для значений 312, 322 полосовой тональности используются одни и те же значения 341 тональности бина. Это показано на фиг. 3а, из которой видно, что благодаря использованию тональности высокочастотной полосы исходного сигнала также и для шумового смешения и последующего исключения дополнительных вычислений (ссылочная позиция 302), объем вычислений тональности может быть сокращен. Вышесказанное применимо к значениям 341 тональности бина для субполос 0, 1, лежащих ниже связанной начальной (cplbegin) частоты 303. Эти значения 341 тональности бина можно использовать для определения значений 311 полосовой тональности (которые соответствуют значениям T 231 тональности в основной полосе 101 частот), и их можно повторно использовать для определения значения 321 полосовой тональности (которое соответствует значениям T 232 в основной полосе 101 частот).
Следует заметить, что двухэтапный подход к определению значений полосовой тональности является прозрачным по отношению к выходу устройства кодирования. Другими словами, значения 311, 312, 321 и 322 полосовой тональности не зависят от упомянутого двухэтапного вычисления, и, следовательно, они идентичны значениям 231, 232 полосовой тональности, которые определяют в процессе одноэтапного вычисления.
n
n
n
n
q
q
Повторное использование значений 341 тональности бина можно также реализовать в контексте спектрального переноса. Упомянутый сценарий повторного использования, как правило, включает использование дематрицированных/несвязанных субполос из основной полосы 101 частот спектра 210. Значение 321 тональности этих субполос вычисляют при определении коэффициента b шумового смешения (см. фиг. 3а). Опять же, по меньшей мере некоторые из тех же самых коэффициентов TC, используемых для определения значения 321 полосовой тональности, используют для вычисления значений 233 полосовой тональности, которые регулируют значительное затухание дисперсии (LVA). Отличие от первого сценария повторного использования, отмеченное в контексте фиг. 3а и 3b, состоит в том, что перед использованием коэффициентов преобразования (TC) для вычисления значений 233 тональности для LVA эти коэффициенты подвергаются спектральному переносу. Однако можно показать, что тональность T 341 одного бина не зависит от тональности соседних бинов. Поэтому, значения T 341 тональности для каждого бина можно перенести на частоту таким же образом, как это делается для коэффициентов TC (см. фиг. 3d). Это позволяет повторно использовать значения T 341 тональности бина, вычисленные в основной полосе 101 частот для шумового смешения, в вычислениях LVA в высокочастотной полосе 102. Это иллюстрируется фиг. 3с, на которой показано, каким образом получают субполосы в восстановленной высокочастотной полосе 102 из субполос 0-5 основной полосы 101 частот спектра 210. В соответствии с процессом спектрального переноса значения T 341 тональности частотных бинов, содержащихся в субполосах 0-5 основной полосы 101 частот, можно повторно использовать для определения значений T 233 полосовой тональности. В результате значительно сокращается объем вычислений, необходимых для определения значений T 233 полосовой тональности, как показано под ссылочной позицией 303. Опять же следует заметить, что этот модифицированный способ получения тональности 233 растянутой полосы не влияет на выход устройства кодирования.
q
n
q
n
q
n
q
В общем было показано, что благодаря разбиению определения значений T полосовой тональности на два этапа, причем первый этап включает в себя определение значений T тональности для каждого бина, а последующий второй этап содержит определение значений T полосовой тональности, исходя из значений T тональности для каждого бина, можно уменьшить общую сложность вычислений, относящихся к вычислению значений T полосовой тональности. В частности, было показано, что двухэтапный подход позволяет повторно использовать значения T тональности для каждого бита с целью определения множества значений T полосовой тональности (как показано под ссылочными позициями 301, 302, 303, которые указывают возможности повторного использования), в результате чего уменьшается сложность вычислений в целом.
Улучшение рабочих характеристик, являющееся результатом двухэтапного подхода и повторного использования значений тональности бина, можно представить в численном виде, сравнив количество бинов, для которых тональность вычисляется типовым образом. Исходная схема вычисляет значение тональности для
частотных бинов (где 6 дополнительных значений тональности используют для конфигурирования специальных узкополосных режекторных фильтров в устройстве кодирования на основе SPX). В результате повторного использования вычисленных значений тональности (как было описано выше) количество бинов, для которых определяют значение тональности, сокращается до
(где 3 дополнительных значения тональности используют для конфигурирования специальных узкополосных режекторных фильтров в устройстве кодирования на основе SPX). Отношение бинов, для которых вычисляют тональность до и после оптимизации, приводит к улучшению рабочих характеристик (и уменьшению сложности) алгоритма определения тональности. Следует заметить, что двухэтапный подход, как правило, является чуть более сложным, чем прямое вычисление значений полосовой тональности. Улучшение рабочих характеристик (то есть уменьшение сложности) для полного вычисления тональности получается чуть меньшим, чем отношение бинов с вычисленной тональностью, которое можно найти в таблице 2 для разных скоростей передачи данных.
Таблица 2
Скорость передачи данных (кбит/с)
Доля бинов с вычисленной тональностью после/до
128
0,50
192
0,52
256
0,45
320
0,41
Из таблицы 2 следует, что можно добиться уменьшения сложности вычислений для вычисления значений тональности на 50% и более.
Как подчеркивалось ранее, двухэтапный подход не влияет на выход устройства кодирования. Ниже описаны дополнительные средства для уменьшения сложности вычислений, выполняемых устройством кодирования на основе SPX, которые могут влиять на выход устройства кодирования. Однако тесты на восприятие показали, что в среднем эти дополнительные средства не влияют на качество восприятия кодированного аудиосигнала. Описанные ниже средства можно использовать в качестве альтернативы или вдобавок к другим средствам, описанным в настоящем документе.
low
high
Как показано, например, в контексте фиг. 3с, значения T 321 и T 322 являются основой для вычисления коэффициента b шумового смешения. Тональность можно интерпретировать как свойство, которое в большей или меньшей степени является величиной, обратной уровню шума, содержащегося в аудиосигнале (то есть чем больше шум,  тем меньше тональность и наоборот). Коэффициент b шумового смешения можно вычислить как
low
high
low
high
где T 321 - тональность низкочастотной полосы смоделированного устройства декодирования, T 322 - тональность исходной высокочастотной полосы, а  - дисперсия двух значений T 321 и T 322 тональности.
low
copy
copy
Целью шумового смешения является ввод в восстановленную высокочастотную полосу столько шума, сколько необходимо для того, чтобы восстановленный звук высокочастотной полосы был похож на звук исходной высокочастотной полосы. При определении желаемого целевого уровня шума следует учитывать значение тональности источника сигнала (отражающее тональность перенесенных субполос в высокочастотной полосе 102) и целевое значение тональности (отражающее тональность субполос в исходной высокочастотной полосе 102). Авторы изобретения обнаружили, что действительную тональность источника некорректно описывать значением T 321 тональности низкочастотной полосы смоделированного устройства декодирования; правильнее ее описывать значением T 323 тональности перенесенной копии высокочастотной полосы (см. фиг. 3с). Значение T 323 тональности можно определить на основании субполос, которые аппроксимируют исходные субполосы 7-14 высокочастотной полосы 102, как показано скобкой на фиг. 3с. Упомянутое шумовое смешение выполняется именно на перенесенной высокочастотной полосе, и, следовательно, на уровень добавляемого шума должна влиять только тональность коэффициентов преобразования (TC) низкочастотной полосы, которые действительно скопированы в высокочастотную область.
low
Как следует из вышеприведенной формулы, в качестве оценки истинной тональности источника используют текущее значение T 321 тональности из низкочастотной полосы. На точность этой оценки могут повлиять два обстоятельства:
1. Низкочастотная полоса, используемая для аппроксимации высокочастотной полосы, меньше или равна высокочастотной полосе, и устройство кодирования не сталкивается с циклическим возвратом в середину полосы (то есть целевая полоса больше доступных полос источника в конце области копирования (то есть области между spxstart и spxbegin)). Устройство кодирования, как правило, старается избежать упомянутых ситуаций с циклическим возвратом в целевой полосе SPX. Это показано на фиг. 3с, где за перенесенной субполосой 5 следуют субполосы 0 и 1 (чтобы избежать ситуации циклического возврата для субполосы 6, следующей за субполосой 0 в целевой полосе SPX). В этом случае низкочастотная полоса, как правило, копируется полностью, возможно несколько раз, на высокочастотную полосу. Поскольку копируются все коэффициенты преобразования, оценка тональности для низкочастотной полосы должна быть достаточно близка к оценке тональности перенесенной высокочастотной полосы.
low
copy
low
2. Низкочастотная полоса больше высокочастотной полосы. В этом случае на высокочастотную полосу копируется только нижняя часть низкочастотной полосы. Поскольку значение T 321 тональности вычисляется для всех коэффициентов преобразования (TC) низкочастотной полосы, значение T 323 тональности перенесенной высокочастотной полосы может отклоняться от значения T 321 тональности в зависимости от свойств сигнала и в зависимости от соотношения размеров низкочастотной полосы и высокочастотной полосы.
low
low
copy
low
По существу, использование значения T 321 тональности может привести к неточному определению коэффициента b шумового смешения, особенно в тех случаях, когда на высокочастотную полосу 102 переносятся не все субполосы 0-6, использованные для определения значения T 321 тональности (как в случае, показанном в качестве примера на фиг. 3с). Значительные ошибки могут появиться в случаях, когда субполосы, не скопированные на высокочастотную область 102 (например, субполоса 6 на фиг. 3с), содержат значительный тональный контент. В результате предлагается определять коэффициент b шумового смешения на основании значения T 323 тональности перенесенной высокочастотной полосы (а не на основании значения T 321 тональности низкочастотной полосы смоделированного устройства декодирования, идущей от стартовой частоты 201 SPX до начальной частоты 202 SPX). В частности, коэффициент b шумового смешения можно определить как
copy
high
где  - дисперсия значений T 323 и T 322.
copy
low
Вдобавок к возможному повышению качества кодера на основе SPX, использование значения T 323 перенесенной высокочастотной полосы (вместо значения T 321 тональности низкочастотной полосы смоделированного устройства декодирования) может привести к уменьшению сложности вычислений, выполняемых устройством аудиокодирования на основе SPX. Это особенно верно для вышеупомянутого случая 2, где перенесенная высокочастотная полоса уже низкочастотной полосы. Этот выигрыш растет с увеличением несоразмерности низкочастотной полосы и высокочастотной полосы. Количество полос, для которых вычисляется тональность источника, может составить
min{spxbegin-spxstart, spxend-spxbegin},
low
copy
low
copy
где значение (spxbegin-spxstart) применяется в том случае, если коэффициент b шумового смешения определяют на основании значения T 321 тональности низкочастотной полосы смоделированного устройства декодирования, и где количество (spxend-spxbegin) применяется в том случае, если коэффициент b шумового смешения определяют на основании значения T 323 тональности перенесенной высокочастотной полосы. В одном варианте устройство кодирования на основе SPX фактически может быть выполнено с возможностью выбора режима определения коэффициента b шумового смешения (первый режим на основании значения T 321 полосовой тональности и второй режим на основании значения T 323 полосовой тональности) в зависимости от минимального значения (spxbegin-spxstart) и (spxend-spxbegin), что позволяет уменьшить сложность вычислений (особенно в тех случаях, где (spxend-spxbegin) меньше, чем (spxbegin-spxstart)).
copy
high
copy
n
copy
n
copy
n
copy
copy
Следует заметить, что модифицированная схема для определения коэффициента b шумового смешения может сочетаться с двухэтапным подходом к определению значений T 323 и/или T 322 полосовой тональности. В этом случае значение T 323 полосовой тональности определяют на основании значений T 341 тональности частотных бинов, которые были перенесены на высокочастотную полосу 102. Частотные бины, которые вносят вклад в восстановленную высокочастотную полосу 102, находятся между spxstart 201 и spxbegin 202. В худшем случае, в смысле сложности вычислений, все частотные бины между spxstart 201 и spxbegin 202 вносят свой вклад в восстановленную высокочастотную полосу 102. С другой стороны, во множестве других случаев (как показано, например, на фиг. 3с) в восстановленную высокочастотную полосу 102 копируют только поднабор частотных бинов между spxstart 201 и spxbegin 202. В этой связи в одном варианте коэффициент b шумового смешения определяют на основании значения T 323 полосовой тональности, используя значения T 341 тональности бина, то есть, используя вышеупомянутый двухэтапный подход для определения значения T 323 полосовой тональности. Использование двухэтапного подхода гарантирует, что даже в тех случаях, когда (spxbegin-spxstart) меньше, чем (spxend-spxbegin), сложность вычислений ограничена сложностью вычислений, необходимых для определения значений T 341 тональности бинов в частотном диапазоне между spxstart 201 и spxbegin 202. Другими словами, двухэтапный подход гарантирует, что даже в тех случаях, где (spxbegin-spxstart) меньше, чем (spxend-spxbegin), сложность вычислений для определения значения T 323 полосовой тональности ограничена количеством коэффициентов TC, содержащихся между (spxbegin-spxstart). По существу, коэффициент b шумового смешения можно непротиворечиво определить на основании значения T 323 полосовой тональности. Тем не менее, возможно окажется выгодным определить минимум (spxbegin-spxstart) и (spxend-spxbegin), чтобы определить субполосы в области связывания (от cplbegin до spxbegin), для которых следует определить значения тональности. Например, если (spxbegin-spxstart) больше, чем (spxend-spxbegin), то не требуется определять значения тональности по меньшей мере для некоторых субполос в частотной области (spxbegin-spxstart), что уменьшает сложность вычислений.
Как можно видеть из фиг. 3с, двухэтапный подход к определению значений полосовой тональности из значений тональности бина позволяет многократно использовать значения тональности бина, что уменьшает сложность вычислений. Определение значений тональности в основном сводится к определению значений тональности бинов на основании спектра 200 исходного аудиосигнала. Однако в случае связывания возможно потребуется определить значения тональности бинов на основании связанного/несвязанного спектра 210 для некоторых или всех частотных бинов между cplbegin 303 и spxbegin 202 (для частотных бинов зачерненных субполос 2-6 на фиг. 3с). Другими словами, после использования вышеупомянутых средств многократного использования ранее вычисленной тональности каждого бина возможно потребуется повторное вычисление тональности только для тех полос, которые затронуты связыванием (см. фиг. 3с).
Связывание обычно устраняет различия в фазах между каналами многоканального сигнала (например, стереосигнала или многоканального сигнала 5.1), которые затронуты связыванием. Совместное использование частотной и временной области связанных координат дополнительно увеличивает корреляцию между связанными каналами. Как подчеркивалось выше, определение значений тональности основано на значениях фаз и энергий текущего блока выборок (в момент времени k) и одного или более предшествующих блоков выборок (например, в моменты времени k-1, k-2). Поскольку фазовые углы всех связанных каналов одинаковы (в результате связывания), значения тональности этих каналов коррелированны сильнее, чем значения тональности исходного сигнала.
Устройство декодирования, соответствующее устройству кодирования на основе SPX, имеет доступ только к несвязанному сигналу, который создается устройством декодирования из принятого битового потока, содержащего кодированные аудиоданные. Средства кодирования типа шумового смешения и значительного затухания дисперсии (LVA) на стороне устройства кодирования, как правило, это учитывают при вычислении соотношений, которые предназначены для воспроизведения исходного высокочастотного сигнала из транспонированного низкочастотного несвязанного сигнала. Другими словами, устройство аудиокодирования на основе SPX, как правило, учитывает, что соответствующее устройство декодирования имеет доступ только к кодированным данным (представляющим несвязанный аудиосигнал). Поэтому тональность источника для шумового смешения и LVA, как правило, вычисляют, исходя из несвязанного сигнала в кодере на основе SPX (как показано, например, в спектре 210 по фиг. 2а). Однако, хотя концептуально имеет смысл вычислять тональность на основании несвязанного сигнала (то есть на основании спектра 210), последствия (в отношении восприятия звука) вычисления тональности, исходя из исходного сигнала, не так ясны. Кроме того, сложность вычислений можно дополнительно уменьшить, если удастся избежать дополнительных повторных вычислений значений тональности на основании несвязанного сигнала.
С этой целью был проведен эксперимент по прослушиванию для оценки того, как влияет использование тональности исходного сигнала вместо несвязанного сигнала (для определения значений 321 и 233 полосовой тональности) на восприятие звука. Результаты эксперимента по прослушиванию приведены на фиг. 4. Для множества различных аудиосигналов были выполнены тесты MUSHRA. Для каждого из множества разных аудиосигналов на полосах 401 (слева) показаны результаты, полученные при определении значений тональности на основании несвязанного сигнала (с использованием спектра 210), а на полосах 402 (справа) показаны результаты, полученные при определении значений тональности на основании исходного сигнала (с использованием спектра 200). Как можно видеть из этой фигуры, качество аудиосигнала, полученное при использовании исходного аудиосигнала для определения значений тональности для шумового смешения и для LVA, в среднем идентично качеству, которое достигается при использовании несвязанного аудиосигнала для определения значений тональности.
Результаты эксперимента по прослушиванию, показанные на фиг. 4, свидетельствуют о том, что сложность вычислений для определения значений тональности можно дополнительно уменьшить путем повторного использования значений 341 тональности бинов исходного аудиосигнала для определения значения 321 полосовой тональности и/или значения 323 полосовой тональности (используемого для шумового смешения) и значений 233 полосовой тональности (используемых для LVA). Таким образом, можно дополнительно уменьшить сложность вычислений, выполняемых устройством кодирования на основе SPX, не в ущерб (в среднем) качеству восприятия кодированных аудиосигналов.
k
Даже в том случае, когда значения 321 и 233 полосовой тональности определяют на основании связанного аудиосигнала (то есть на основании зачерненных субполос 2-6 спектра 210 по фиг. 3с), для уменьшения сложности вычислений, связанных с определением тональности, можно использовать выравнивание фаз из-за связывания. Другими словами, даже в том случае, когда нельзя избежать повторного вычисления тональности для связанных полос, несвязанный сигнал проявляет особое свойство, которое можно использовать для упрощения регулярного вычисления тональности. Это особое свойство состоит в том, что все связанные (и, следовательно, несвязанные каналы) совпадают по фазе. Поскольку все связанные каналы имеют одну и ту же фазу φ для связанных полос, эту фаза φ необходимо вычислить только один раз для одного канала, а затем ее можно многократно использовать при вычислениях тональности других связанных каналов. В частности, это означает, что выполнение вышеупомянутой операции «atan2» для определения фазы φ в момент времени k потребуется только один раз для всех каналов многоканального сигнала, которые имеют взаимные связи.
С точки зрения вычислений возможно окажется выгодным использовать для вычисления фазы сам связующий канал (вместо одного из несвязанных каналов связей), поскольку связанный канал представляет усреднение по всем каналам, затронутым связыванием. Повторное использование фазы для связанных каналов было реализовано в устройстве кодирования SPX. В выходе устройства кодирования ничего не меняется из-за многократного использования значений фазы. При скорости передачи данных, составляющей 256 кбит/с, выигрыш (с точки зрения объема вычислений, выполняемых устройством кодирования на основе SPX) для принятой конфигурации составил порядка 3%, но можно ожидать, что этот выигрыш увеличится для более низких скоростей передачи данных, когда область связывания начинается ближе к стартовой частоте 201 SPX, то есть когда начальная связанная частота 303 находится ближе к стартовой частоте 201 SPX.
n,k
Далее описывается еще один подход, обеспечивающий уменьшение сложности вычислений, связанных с определением тональности. Этот подход можно использовать в качестве альтернативы или вдобавок к другим способам, описанным в настоящем документе. В отличие от ранее представленных вариантов оптимизации, которые сфокусированы на сокращении количества необходимых вычислений тональности, нижеследующий подход направлен на увеличение скорости самих вычислений тональности. В частности, этот подход направлен на уменьшение сложности вычислений для определения значения T тональности частотного бина n для блока k (индекс k соответствует, например, моменту времени k).
n,k
Значение T тональности SPX для бина n в блоке k можно вычислить по формуле
,
где
n,k
n,k
n,k
n,k
- мощность бина n и блока k, w - весовой коэффициент и  - фазовый угол бина n и блока k. Приведенная выше формула для значения T тональности бина указывает ускорение фазового угла (в контексте формул для значения T тональности бина, приведенных выше). Следует заметить, что можно использовать и другие формулы для определения значения T тональности бина. Увеличение скорости вычислений тональности (то есть уменьшение сложности вычислений) направлено в основном на уменьшение сложности вычислений, связанных с определением весового коэффициента w.
Весовой коэффициент w можно определить как
Весовой коэффициент w можно аппроксимировать, заменив корень четвертой степени квадратным корнем, с использованием первой итерации вавилонского метода/метода Герона, то есть
Хотя операция исключения одного квадратного корня увеличивает эффективность вычислений, все еще остается одна операция вычисления квадратного корня и одна операция деления для каждого блока, каждого канала и каждого частотного бина. Другой вариант, более эффективный с вычислительной точки зрения, аппроксимации можно получить в логарифмической области, переписав весовой коэффициент w в виде:
.
<mrow />
<mrow><mrow><mo>(</mo><mrow><msub><mi>Y</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>≤</mo><msub><mi>Y</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>)</mo></mrow></mrow>
<mrow><mrow><mo>(</mo><mrow><msub><mi>Y</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi></mrow></msub><mo>></mo><msub><mi>Y</mi><mrow><mi>n</mi><mo>,</mo><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mo>)</mo></mrow></mrow>
Можно отказаться различать эти случаи, если учесть, что разность в логарифмической области всегда является отрицательной, независимо от того
или
, в результате чего
n,k
n,k-1
Для удобства записи индексы здесь пропущены, а Y и Y заменены на y и z соответственно:
y
z
y
z
Переменные y и z можно теперь ввести в e, e и нормализованную мантиссу m, m соответственно, в результате чего получим
y
z
2
<mrow><msub><mrow><mi>log</mi></mrow><mn>2</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>≈</mo><mn>2</mn><mo>⋅</mo><mi>x</mi><mo>−</mo><mn>2</mn></mrow>
Если предположить, что особый случай, когда мантисса содержит только нули, обрабатывается отдельно, то нормализованные мантиссы m, m будут находиться в интервале [0,5; 1]. Функцию log(x) в этом интервале можно аппроксимировать линейной функцией
с максимальной ошибкой, составляющей 0,0861, и средней ошибкой 0,0573. Следует заметить, что возможны другие варианты аппроксимации (например, полиномиальная аппроксимация) в зависимости от требуемой точности аппроксимации и/или сложности вычислений. Использование вышеупомянутой аппроксимации приводит к
Аппроксимации мантиссы отличаются тем, что максимальная абсолютная ошибка остается равной 0,0861, но средняя ошибка равна нулю, так что максимальная ошибка изменяется от [0; 0,0861] (с положительным смещением) до [-0,0861; 0,0861].
Разделив результат деления на 4 на целую часть и остаток, получим
где операция int{…} возвращает целую часть своего операнда путем усечения и где операция mode{a,b} возвращает остаток a/b. В вышеуказанной аппроксимации весового коэффициента w первое выражение
транслируется в операцию простого сдвига вправо на
в архитектуре с фиксированной точкой. Второе выражение
можно вычислить с использованием заданной справочной таблицы, содержащей показатели степени 2. Эта справочная таблица может содержать заданное количество записей, чтобы обеспечить заданную ошибку аппроксимации.
Для построения подходящей справочной таблицы полезно уменьшить ошибку аппроксимации мантисс. Ошибка, обусловленная квантованием справочной таблицы, не обязательно будет значительно меньше, чем средняя абсолютная ошибка аппроксимации мантисс, которая составляет 0,0573, деленное на 4. Это приводит к тому, что желаемая ошибка квантования составит менее 0,0143. Справочная таблица с 64 записями, где используется линейное квантование, дает подходящую ошибку квантования, составляющую 1/128=0,0078. Фактически, заданная справочная таблица может содержать всего 64 записи. В общем случае количество записей в заданной справочной таблице необходимо согласовать с выбранной аппроксимацией логарифмической функции. В частности, точность квантования, обеспечиваемая справочной таблицей, должна соответствовать точности аппроксимации упомянутой логарифмической функции.
Перцептуальная оценка приведенного выше способа аппроксимации показала, что качество кодированного сигнала в целом повышается, когда оценка ошибки значений тональности бинов имеет положительное смещение, то есть когда аппроксимация, скорее всего, приводит к переоценке весового коэффициента (и результирующих значений тональности), чем к недооценке весового коэффициента.
Чтобы достичь упомянутой переоценки, в справочную таблицу, например, можно добавить смещение на половину шага квантования. Смещение на половину шага квантования можно реализовать путем усечения индекса в справочной таблице вместо округления индекса. Может оказаться выгодным ограничение весового коэффициента до 0,5 для согласования с результатами аппроксимации, полученными вавилонским методом/методом Герона.
Аппроксимация 503 весового коэффициента w на основании функции аппроксимации в логарифмической области показана на фиг. 5а вместе с границами среднего значения и максимальной ошибки. На фиг. 5а также показан точный весовой коэффициент 501 с использованием корня четвертой степени и весовой коэффициент 502, определенный с использованием вавилонской аппроксимации. Перцептуальное качество аппроксимации в логарифмической области было проверено с помощью теста прослушивания с использованием схемы тестирования MUSHRA. Из фиг. 5b можно видеть, что воспринятое качество при использовании логарифмической аппроксимации (полосы 511 слева) в среднем подобно воспринимаемому качеству с использованием вавилонской аппроксимации (средние полосы 512) и с использованием извлечения корня четвертой степени (полосы 513 справа). С другой стороны, благодаря использованию логарифмической аппроксимации сложность вычислений всех тональностей может быть уменьшена примерно на 28%.
В настоящем документе были описаны различные схемы для уменьшения сложности вычислений, выполняемых устройством аудиокодирования на основе SPX. Было установлено, что вычисления тональностей вносят основной вклад в сложность вычислений, выполняемых устройством аудиокодирования на основе SPX. Описанные здесь способы позволяют многократно использовать уже вычисленные значения тональности, в результате чего уменьшается общая сложность вычислений. Многократное использование уже вычисленных значений тональности, как правило, не влияет на выход устройства аудиокодирования на основе SPX. Кроме того, были описаны альтернативные варианты определения коэффициента b шумового смешения, которые позволяют дополнительно уменьшить сложность вычислений. Вдобавок, была описана эффективная схема аппроксимации для весового коэффициента тональности по каждому бину, которая может быть использована для уменьшения сложности самого вычисления тональности без воздействия на качество восприятия аудиосигнала. В результате использования схем, описанных в настоящем документе, можно ожидать общего уменьшения сложности вычислений для устройства аудиокодирования на основе SPX в диапазоне 50% и более, в зависимости от конфигурации и скорости передачи данных.
Способы и системы, описанные в настоящем документе, можно реализовать в виде программно-аппаратных и/или аппаратных средств. Некоторые компоненты можно реализовать, например, в виде программного обеспечения, выполняемого на цифровом процессоре сигналов или микропроцессоре. Другие компоненты можно реализовать, например, аппаратными средствами и/или в виде прикладных специализированных интегральных схем. Сигналы, о которых идет речь в описанных способах и системах, могут сохраняться на носителе, таком как память с произвольным доступом или оптический носитель информации. Они могут передаваться через сети, такие как радиосети, спутниковые сети, беспроводные сети или проводные сети, например, Интернет. Типовыми устройствами, использующими способы и системы, описанные в настоящем документе, являются портативные электронные устройства или другое пользовательское оборудование, которое используют для сохранения и/или воспроизведения аудиосигналов.
Специалисты в данной области техники без труда смогут применить сформулированные выше различные концепции для создания дополнительных вариантов осуществления изобретения, специально адаптированных к текущим требованиям к аудиокодированию.