КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ АУДИОСИГНАЛОВ
AUDIO SIGNALS ENCODING AND DECODING

1. Область техники, к которой относится изобретение
Примеры относятся к способам и устройствам для кодирования/декодирования информации аудиосигнала.
2. Уровень техники
Уровень техники содержит следующие публикации:
[1] 3GPP TS 26.445; Codec for Enhanced Voice Services (EVS); Detailed algorithmic description.
[2] ISO/IEC 23008-3:2015; Information technology -- High efficiency coding and media delivery in heterogeneous environments -- Part 3: 3D audio.
[3] Ravelli et al. "Apparatus and method for processing an audio signal using a harmonic post-filter." U.S. Patent Application No. 2017/0140769 A1. 18 May. 2017.
[4] Markovic et al. "Harmonicity-dependent controlling of a harmonic filter tool." U.S. Patent Application No. 2017/0133029 A1. 11 May. 2017.
[5] ITU-T G.718: Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s.
[6] ITU-T G.711 Appendix I: A high quality low-complexity algorithm for packet loss concealment with G.711.
[7] 3GPP TS 26.447; Codec for Enhanced Voice Services (EVS); Error concealment of lost packets.
Аудиокодеки на основе преобразования в общем случае вносят промежуточный гармонический шум при обработке гармонических аудиосигналов, в частности при низкой задержке и низкой скорости передачи битов. Этот промежуточный гармонический шум в общем случае воспринимается как очень раздражающий дефект, существенно уменьшающий производительность аудиокодека на основе преобразования при субъективной оценке на высокотональном аудиоматериале.
Долговременная постфильтрация (LTPF) является инструментом для кодирования аудио на основе преобразования, который помогает в уменьшении этого промежуточного гармонического шума. Он полагается на постфильтр, который применяется к сигналу временной области после декодирования с преобразованием. Этот постфильтр является в сущности фильтром бесконечного импульсного отклика (IIR) с гребнеобразным частотным откликом, управляемым параметрами, такими как информация основного тона (например, запаздывание основного тона).
Для лучшей устойчивости параметры постфильтра (запаздывание основного тона и, в некоторых примерах, усиление на кадр) оцениваются на стороне кодера и кодируются в битовом потоке, например, когда усиление является ненулевым. В примерах случай, когда усиление равно нулю, сигнализируется одним битом и соответствует неактивному постфильтру, используемому, когда сигнал не содержит гармонической части.
LTPF была впервые представлена в стандарте EVS 3GPP [1] и позже интегрирована в стандарт 3D-аудио MPEG-H [2]. Соответствующими патентами являются [3] и [4].
В уровне техники другие функции в декодере могут использовать информацию основного тона. Примером является маскировка потери пакетов (PLC) или маскировка ошибки. PLC используется в аудиокодеках для маскировки потерянных или поврежденных пакетов в процессе передачи от кодера к декодеру. В уровне техники PLC может выполняться на стороне декодера и экстраполировать декодированный сигнал либо в области преобразования, либо во временной области. В идеальном случае сигнал маскировки должен быть без дефектов и должен иметь те же самые спектральные характеристики, что и отсутствующий сигнал. Этой цели, в частности, сложно достичь, когда сигнал, который нужно маскировать, содержит гармоническую структуру.
В этом случае методики PLC на основе основного тона могут производить приемлемые результаты. Эти подходы предполагают, что сигнал локально стационарен, и восстанавливают потерянный сигнал путем синтезирования периодического сигнала с использованием экстраполированного периода основного тона. Эти методики могут быть использованы в кодировании речи на основе CELP (см., например, ITU-T G.718 [5]). Они также могут быть использованы для кодирования PCM (ITU-T G.711 [6]). И в последнее время они применялись к кодированию аудио на основе MDCT, лучшим примером чего является маскировка временной области TCX (TD-PLC TCX) в стандарте EVS 3GPP [7].
Информация основного тона (которой может быть запаздывание основного тона) является главным параметром, используемым в PLC на основе основного тона. Этот параметр может оцениваться на стороне кодера и кодироваться в битовый поток. В этом случае запаздывание основного тона последних хороших кадров используется для маскировки текущего потерянного кадра (как, например, в [5] и [7]). Если нет запаздывания основного тона в битовом потоке, оно может оцениваться на стороне декодера путем осуществления алгоритма обнаружения основного тона над декодированным сигналом (как, например, в [6]).
В стандарте EVS 3GPP (см. [1] и [7]) оба из LTPF и PLC на основе основного тона используются в одном и том же аудиокодеке TCX на основе MDCT. Оба инструмента совместно используют один и тот же параметр запаздывания основного тона. Кодер LTPF оценивает и кодирует параметр запаздывания основного тона. Это запаздывание основного тона присутствует в битовом потоке, когда усиление является ненулевым. На стороне декодера декодер использует эту информацию, чтобы фильтровать декодированный сигнал. В случае потери пакетов, PLC на основе основного тона используется, когда усиление LTPF последнего хорошего кадра выше конкретного порогового значения, и другие условия выполнены (см. [7] для подробностей). В таком случае запаздывание основного тона присутствует в битовом потоке, и оно может непосредственно быть использовано модулем PLC.
Синтаксис битового потока из уровня техники выглядит следующим образом
Однако возникают некоторые проблемы.
Параметр запаздывания основного тона не кодируется в битовом потоке для каждого кадра. Когда усиление равно нулю в кадре (LTPF неактивна), никакая информация запаздывания основного тона не присутствует в битовом потоке. Это может происходить, когда гармоническое содержимое сигнала не доминантно и/или не стабильно в достаточной мере.
Соответственно, при различении кодирования запаздывания основного тона на основе усиления никакое запаздывание основного тона не может быть получено другими функциями (например, PLC).
Например, есть кадры, где сигнал в какой-то мере гармонический, недостаточно для LTPF, но достаточно для использования PLC на основе основного тона. В таком случае параметр запаздывания основного тона будет требоваться на стороне декодера, несмотря на то, что он не присутствует в битовом потоке.
Одно решение будет состоять в добавлении второго средства обнаружения основного тона на стороне декодера, но это добавит существенное количество сложности, что является проблемой для аудиокодеков, предназначенных для устройств малой мощности.
3. Раскрытие изобретения
Согласно примерам, предложено устройство для декодирования информации аудиосигнала, ассоциированной с аудиосигналом, разделенным на последовательность кадров, содержащее:
средство считывания битового потока, выполненное с возможностью считывания кодированной информации аудиосигнала, имеющей:
кодированное представление аудиосигнала для первого кадра и второго кадра;
первую информацию основного тона для первого кадра и первый элемент управляющих данных, имеющий первое значение; и
вторую информацию основного тона для второго кадра и второй элемент управляющих данных, имеющий второе значение, отличное от первого значения; и
средство управления, выполненное с возможностью управления долговременным постфильтром, LTPF, для:
фильтрации декодированного представления аудиосигнала во втором кадре с использованием второй информации основного тона, когда второй элемент управляющих данных имеет второе значение; и
деактивации LTPF для первого кадра, когда первый элемент управляющих данных имеет первое значение.
Соответственно, у устройства есть возможность проводить различие между кадрами, подходящими для LTPF, и кадрами, не подходящими для LTPF, при этом используя кадры для маскировки ошибки, даже если LTPF не подходит. Например, в случае более высокой гармоничности устройство может использовать информацию основного тона (например, запаздывание основного тона) для LTPF. В случае более низкой гармоничности устройство может избежать использования информации основного тона для LTPF, но может использовать информацию основного тона для других функций (например, маскировки).
Согласно примерам, средство считывания битового потока выполнено с возможностью считывания третьего кадра, причем третий кадр имеет элемент управляющих данных, указывающий на наличие или отсутствие первой информации основного тона и/или второй информации основного тона.
Согласно примерам, третий кадр имеет формат, в котором отсутствует первая информация основного тона, первый элемент управляющих данных, вторая информация основного тона и второй элемент управляющих данных.
Согласно примерам, третий элемент управляющих данных кодирован в одном единственном бите, имеющем значение, которое отличает третий кадр от первого и второго кадра.
Согласно примерам, в кодированной информации аудиосигнала для первого кадра один единственный бит резервируется для первого элемента управляющих данных, и фиксированное поле данных резервируется для первой информации основного тона.
Согласно примерам, в кодированной информации аудиосигнала для второго кадра один единственный бит резервируется для второго элемента управляющих данных, и фиксированное поле данных резервируется для второй информации основного тона.
Согласно примерам, первый элемент управляющих данных и второй элемент управляющих данных кодируются в одной и той же части или поле данных в кодированной информации аудиосигнала.
Согласно примерам, кодированная информация аудиосигнала содержит один первый сигнализирующий бит, кодирующий третий элемент управляющих данных; и, в случае значения третьего элемента (18e) управляющих данных, указывающего на наличие первой информации (16b) основного тона и/или второй информации (17b) основного тона, второй сигнализирующий бит, кодирующий первый элемент (16c) управляющих данных и второй элемент (17c) управляющих данных.
Согласно примерам, устройство может дополнительно содержать блок маскировки, выполненный с возможностью использования первой и/или второй информации основного тона для маскировки последующего некорректно декодированного аудиокадра.
Согласно примерам, блок маскировки может быть выполнен с возможностью, в случае определения декодирования недействительного кадра, проверки, сохраняется ли информация основного тона, относящаяся к ранее верно декодированному кадру, для маскировки некорректно декодированного кадра посредством кадра, полученного с использованием сохраненной информация основного тона.
Соответственно, существует возможность получить хорошую маскировку каждый раз, когда аудиосигнал подходит для маскировки, и не только тогда, когда аудиосигнал подходит для LTPF. Когда информация основного тона получается, нет необходимости в оценке запаздывания основного тона, благодаря чему уменьшается сложность.
Согласно примерам, предложено устройство для кодирования аудиосигналов, содержащее:
средство оценки основного тона, выполненное с возможностью получения информации основного тона, ассоциированной с основным тоном аудиосигнала;
анализатор сигнала, выполненный с возможностью получения информации гармоничности, ассоциированную с гармоничностью аудиосигнала; и
средство формирования битового потока, выполненное с возможностью подготовки кодированной информации аудиосигнала, кодирующей кадры, для включения в битовый поток:
кодированного представления аудиосигнала для первого кадра, второго кадра и третьего кадра;
первой информации основного тона для первого кадра и первого элемента управляющих данных, имеющего первое значение;
второй информации основного тона для второго кадра и второго элемента управляющих данных, имеющего второе значение, отличное от первого значения; и
третьего элемента управляющих данных для первого, второго и третьего кадров,
причем первое значение и второе значение зависят от второго критерия, ассоциированного с информацией гармоничности, и
первое значение указывает на несоответствие второму критерию для гармоничности аудиосигнала в первом кадре, и
второе значение указывает на соответствие второму критерию для гармоничности аудиосигнала во втором кадре,
причем второй критерий содержит по меньшей мере условие, которое выполняется, когда по меньшей мере одно второе измерение гармоничности больше по меньшей мере одного второго порогового значения,
третий элемент управляющих данных кодирован в одном единственном бите, имеющем значение, которое отличает третий кадр от первого и второго кадров, причем третий кадр кодируется в случае несоответствия первому критерию, и первый и второй кадры кодируются в случае соответствия первому критерию, причем первый критерий содержит по меньшей мере условие, которое выполняется, когда по меньшей мере одно первое измерение гармоничности больше по меньшей мере одного первого порогового значения,
причем в битовом потоке для первого кадра один единственный бит резервируется для первого элемента управляющих данных, и фиксированное поле данных резервируется для первой информации основного тона,
причем в битовом потоке для второго кадра один единственный бит резервируется для второго элемента управляющих данных, и фиксированное поле данных резервируется для второй информации основного тона, и
причем в битовом потоке для третьего кадра никакой бит не резервируется для фиксированного поля данных и/или для первого и второго управляющего элемента.
Соответственно, у декодера есть возможность проводить различие между кадрами, полезными для LTPF, кадрами, полезными только для PLC, и кадрами, бесполезными для обоих LTPF и PLC.
Согласно примерам, второй критерий содержит дополнительное условие, которое выполняется, когда по меньшей мере одно измерение гармоничности предыдущего кадра больше по меньшей мере одного второго порогового значения.
Согласно примерам, анализатор сигнала выполнен с возможностью определения, стабилен ли сигнал между двумя последовательными кадрами, в качестве условия для второго критерия.
Соответственно, у декодера есть возможность проводить различие, например, между стабильным сигналом и нестабильным сигналом. В случае нестабильного сигнала декодер может избежать использование информации основного тона для LTPF, но может использовать информацию основного тона для других функций (например, маскировки).
Согласно примерам, первое и второе измерения гармоничности получаются на различных частотах дискретизации.
Согласно примерам, информация основного тона содержит информацию запаздывания основного тона или ее обработанную версию.
Согласно примерам, информация гармоничности содержит по меньшей мере одно из значения автокорреляции, и/или нормализованного значения автокорреляции, и/или его обработанной версии.
Согласно примерам, предложен способ для декодирования информации аудиосигнала, ассоциированной с аудиосигналом, разделенным на последовательность кадров, содержащий этапы, на которых:
считывают кодированную информацию аудиосигнала, содержащую:
кодированное представление аудиосигнала для первого кадра и второго кадра;
первую информацию основного тона для первого кадра и первый элемент (16c) управляющих данных, имеющий первое значение;
вторую информацию основного тона для второго кадра и второй элемент управляющих данных, имеющий второе значение, отличное от первого значения,
при определении, что первый элемент управляющих данных имеет первое значение, используют первую информацию основного тона для долговременного постфильтра, LTPF, и
при определении второго значения второго элемента (17c) управляющих данных деактивируют LTPF.
Согласно примерам, способ дополнительно содержит этап, на котором, при определении, что первый или второй элементы управляющих данных имеют первое или второе значение, используют первую или вторую информацию основного тона для функции маскировки ошибки.
Согласно примерам, предложен способ для кодирования информация аудиосигнала, ассоциированной с сигналом, разделенным на кадры, содержащий этапы, на которых:
получают измерения из аудиосигнала;
подтверждают соответствие второму критерию, причем второй критерий основан на измерениях и содержит по меньшей мере одно условие, которое выполняется, когда по меньшей мере одно второе измерение гармоничности больше второго порогового значения;
формируют кодированную информацию аудиосигнала, имеющую кадры, включающие в себя:
кодированное представление аудиосигнала для первого кадра, второго кадра и третьего кадра;
первую информацию основного тона для первого кадра и первый элемент управляющих данных, имеющий первое значение, и третий элемент управляющих данных;
вторую информацию основного тона для второго кадра и второй элемент управляющих данных, имеющий второе значение, отличное от первого значения, и третий элемент управляющих данных,
причем первое значение и второе значение зависят от второго критерия, и первое значение указывает на несоответствие второму критерию на основании гармоничности аудиосигнала в первом кадре, и второе значение указывает на соответствие второму критерию на основании гармоничности аудиосигнала во втором кадре,
третий элемент управляющих данных является одним единственным битом, имеющим значение, которое отличает третий кадр от первого и второго кадров в ассоциации с соответствием первому критерию, для идентификации третьего кадра, когда третий элемент управляющих данных указывает на несоответствие первому критерию на основании по меньшей мере одного условия, которое выполняется, когда по меньшей мере одно первое измерение гармоничности выше по меньшей мере одного первого порогового значения,
причем кодированная информация аудиосигнала формируется таким обраом, что для первого кадра один единственный бит резервируется для первого элемента управляющих данных и фиксированного поля данных для первой информации основного тона, и
причем кодированная информация аудиосигнала формируется таким образом, что для второго кадра один единственный бит резервируется для второго элемента управляющих данных и фиксированного поля данных для второй информации основного тона, и
причем кодированная информация аудиосигнала формируется таким образом, что для третьего кадра никакой бит не резервируется для фиксированного поля данных и никакой бит не резервируется для первого элемента управляющих данных и второго элемента управляющих данных.
Согласно примерам, предложен способ, содержащий этапы, на которых:
кодируют аудиосигнал;
передают кодированную информацию аудиосигнала декодеру или сохраняют кодированную информацию аудиосигнала;
декодируют информацию аудиосигнала.
Согласно примерам, предложен способ кодирования/декодирования аудиосигналов, содержащий этапы, на которых:
кодируют в кодере аудиосигнал и получают информацию гармоничности и/или информацию основного тона;
определяют в кодере, подходит ли информация гармоничности и/или информация основного тона для по меньшей мере LTPF и/или функции маскировки ошибки;
передают от декодера к кодеру и/или сохраняют в памяти битовый поток, включающий в себя цифровое представление аудиосигнала и информацию, ассоциированную с гармоничностью и сигнализацией того, приспособлена ли информация основного тона для LTPF и/или маскировки ошибки;
декодируют в декодере цифровое представление аудиосигнала и используют информацию основного тона для LTPF и/или маскировки ошибки согласно сигнализации от кодера.
В примерах кодер соответствует любому из примеров выше или ниже, и/или декодер соответствует любому из примеров выше или ниже, и/или кодирование соответствует примерам выше или ниже, и/или декодирование соответствует примерам выше или ниже.
Согласно примерам, предложен постоянный блок памяти, хранящий команды, которые при выполнении процессором выполняют способ, описанный выше или ниже.
Таким образом, кодер может определять, полезен ли кадр сигнала для долговременной постфильтрации (LTPF) и/или маскировки потерянных пакетов (PLC), и может кодировать информацию в соответствии с результатами определения. Декодер может применять LTPF и/или PLC в соответствии с информацией, полученной от кодера.
4. Краткое описание чертежей
Фиг.1 и 2 изображают устройство для кодирования информации аудиосигнала.
Фиг.3-5 изображают форматы кодированной информации сигнала, которая может быть кодирована устройством с фиг.1 или 2.
Фиг.6a и 6b изображают способы для кодирования информации аудиосигнала.
Фиг.7 изображает устройство для декодирования информации аудиосигнала.
Фиг.8a и 8b изображают форматы кодированной информации аудиосигнала.
Фиг.9 изображает устройство для декодирования информации аудиосигнала.
Фиг.10 изображает способ для декодирования информации аудиосигнала.
Фиг.11 и 12 изображают системы для кодирования/декодирования информации аудиосигнала.
Фиг.13 изображает способ кодирования/декодирования.
5. Сторона кодера
Фиг.1 изображает устройство 10. Устройство 10 может быть предназначено для кодирования сигналов (кодер). Например, устройство 10 может кодировать аудиосигналы 11, чтобы генерировать кодированную информацию аудиосигнала (например, информацию 12, 12', 12", с терминологией, используемой ниже).
Устройство 10 может включать в себя (не показанный) компонент, чтобы получить (например, путем дискретизации исходного аудиосигнала) цифровое представление аудиосигнала для того, чтобы обрабатывать его в цифровой форме. Аудиосигнал может разделяться на кадры (например, соответствующие последовательности временных интервалов) или подкадры (которые могут быть подразделениями кадров). Например, каждый интервал может быть 20 мс в длину (подкадр может быть 10 мс в длину). Каждый кадр может содержать конечное количество выборок (например, 1024 или 2048 выборок для кадра в 20 мс) во временной области (TD). В примерах кадр, или его копия, или его обработанная версия могут быть преобразованы (частично или полностью) в представление частотной области (FD). Кодированная информация аудиосигнала может иметь, например, тип линейного предсказания с кодовым возбуждением (CELP), или алгебраического CELP (ACELP), и/или тип TCX. В примерах устройство 10 может включать в себя (не показанное) средство понижающей дискретизации, чтобы уменьшить количество выборок на кадр. В примерах устройство 10 может включать в себя средство повторной дискретизации (которое может иметь тип средства повышающей дискретизации, фильтра низких частот и средства повышающей дискретизации).
В примерах устройство 10 может обеспечивать кодированную информацию аудиосигнала блоку связи. Блок связи может содержать аппаратные средства (например, по меньшей мере с одной антенной) для связи с другими устройствами (например, чтобы передавать кодированную информацию аудиосигнала другим устройствам). Блок связи может осуществлять связь согласно конкретному протоколу. Связь может быть беспроводной. Передача может выполняться по стандарту Bluetooth. В примерах устройство 10 может содержать (или сохранять кодированную информацию аудиосигнала в) устройство хранения.
Устройство 10 может содержать средство 13 оценки основного тона, которое может оценивать и обеспечивать в выходных данных информацию 13a основного тона для аудиосигнала 11 в кадре (например, в течение интервала времени). Информация 13a основного тона может содержать запаздывание основного тона или его обработанную версию. Информация 13a основного тона может быть получена, например, путем вычисления автокорреляции аудиосигнала 11. Информация 13a основного тона может быть представлена в поле двоичных данных (здесь указанного как "ltpf_pitch_lag"), которое может быть представлено, в примерах, некоторым количеством битов, содержащимся между 7 и 11 (например, 9 бит).
Устройство 10 может содержать анализатор 14 сигнала, который может анализировать аудиосигнал 11 для кадра (например, в течение интервала времени). Анализатор 14 сигнала может, например, получать информацию 14a гармоничности, ассоциированную с аудиосигналом 11. Информация гармоничности может содержать или основываться на, например, по меньшей мере одной или комбинации информации корреляции (например, информации автокорреляции), информации усиления (например, информации усиления постфильтра), информации периодичности, информация предсказуемости и т. д. По меньшей мере одно из этих значений может быть нормализовано или обработано, например.
В примерах информация 14a гармоничности может содержать информацию, которая может быть кодирована в одном бите (здесь указанном как "ltpf_active"). Информация 14a гармоничности может переносить информацию гармоничности сигнала. Информация 14a гармоничности может основываться на соответствии сигнала критерию («второму критерию»). Информация 14a гармоничности может проводить различие, например, между соответствием второму критерию (которое может быть ассоциировано с более высокой периодичностью и/или более высокой предсказуемостью и/или стабильностью сигнала) и несоответствием второму критерию (которое может быть ассоциировано с более низкой гармоничностью и/или более низкой предсказуемостью и/или нестабильностью сигнала). Более низкая гармоничность в общем случае ассоциирована с шумом. По меньшей мере одни из данных в информации 14a гармоничности могут основываться на подтверждении второго критерия и/или подтверждении по меньшей мере одного из условий, установленных вторым критерием. Например, второй критерий может содержать сравнение по меньшей мере одного относящегося к гармоничности измерения (например, одного или сочетания из автокорреляции, гармоничности, усиления, предсказуемости, периодичности и т.д., которые могут также быть нормализованы и/или обработаны), или его обработанной версии, с по меньшей мере одним пороговым значением. Например, пороговое значение может быть «вторым пороговым значением» (возможно более одного порогового значения). В некоторых примерах второй критерий содержит подтверждение условий в предыдущем кадре (например, в кадре, непосредственно предшествующем текущему кадру). В некоторых примерах информация 14a гармоничности может быть кодирована в одном бите. В некоторых других примерах, это может быть последовательность битов (например, один бит для "ltpf_active" и некоторые другие биты, например, для кодирования информации усиления или другой информации гармоничности).
Как указано средством 26 выбора, выходная информация 21a гармоничности может управлять фактическим кодированием информации 13a основного тона. Например, в случае чрезвычайно низкой гармоничности для информации 13a основного тона может быть предотвращено кодирование в битовом потоке.
Как указано средством 25 выбора, значение выходной информации 21a гармоничности ("ltpf_pitch_lag_present") может управлять фактическим кодированием информации 14a гармоничности. Таким образом, в случае обнаружения чрезвычайно низкой гармоничности (например, на основании критерия, отличного от второго критерия) для информации 14a гармоничности может быть предотвращено кодирование в битовом потоке.
Устройство 10 может содержать средство 15 формирования битового потока. Средство 15 формирования битового потока может обеспечивать кодированную информацию аудиосигнала (указанную как 12, 12' или 12") для аудиосигнала 11 (например, в интервале времени). В частности, средство 15 формирования битового потока может формировать битовый поток, содержащий по меньшей мере цифровую версию аудиосигнала 11, информацию 13a основного тона (например, "ltpf_pitch_lag") и информацию 14a гармоничности (например, "ltpf_active"). Кодированная информация аудиосигнала может быть обеспечена декодеру. Кодированная информация аудиосигнала может быть битовым потоком, который может быть, например, сохранен и/или передан приемнику (который в свою очередь может декодировать аудиоинформацию, кодированную устройством 10).
Информация 13a основного тона в кодированной информации аудиосигнала может быть использована, на стороне декодера, для долговременного постфильтра (LTPF). LTPF может оперировать в TD. В примерах, когда информация 14a гармоничности указывает более высокую гармоничность, LTPF будет активирован на стороне декодера (например, с использованием информации 13a основного тона). Когда информация 14a гармоничности указывает более низкую (промежуточную) гармоничность (или в любом случае гармоничность, не подходящую для LTPF), LTPF будет деактивирован или ослаблен на стороне декодера (например, без использования информации 13a основного тона, даже если информация основного тона все еще кодируется в битовом потоке). Когда информация 14a гармоничности содержит поле "ltpf_active" (которое может быть кодировано в одном бите), ltpf_active=0 может означать "не использовать LTPF в декодере", в то время как ltpf_active=1 может означать «использовать LTPF в декодере»). Например, ltpf_active=0 может быть ассоциировано с гармоничностью, которая ниже гармоничности, ассоциированной с ltpf_active=1, например, после сравнения измерения гармоничности со вторым пороговым значением. В то время как, согласно соответствиям в этом документе, ltpf_active=0 указывает на гармоничность ниже гармоничности, ассоциированной с ltpf_active=1, может быть предусмотрено другое соответствие (например, на основании различных двоичных значений). Для определения значения ltpf_active могут быть использованы дополнительные или альтернативные критерии и/или условия. Например, для того, чтобы установить ltpf_active=1, может также быть проверено, стабилен ли сигнал (например, путем проверки также измерения гармоничности, ассоциированного с предыдущим кадром).
В качестве дополнения к функции LTPF, информация 13a основного тона может быть использована, например, для выполнения операции маскировки потери пакетов (PLC) в декодере. В примерах, независимо от информации 14a гармоничности (например, даже если ltpf_active=0), несмотря на это PLC будет осуществляться. Таким образом, в примерах, в то время как информация 13a основного тона всегда будет использоваться функцией PLC от декодера, та же самая информация 13a основного тона будет использоваться функцией LTPF в декодере только при условии, установленном информацией 14a гармоничности.
Также возможно подтвердить соответствие или несоответствие «первому критерию» (который может быть отличным от второго критерия), например, для определения, будет ли передача информации 13a гармоничности ценной информацией для декодера.
В примерах, когда анализатор 14 сигнала обнаруживает, что гармоничность (например, в частности, измерение гармоничности) не соответствует первому критерию (условием соответствия первому критерию является, например, гармоничность и, в частности, измерения гармоничности выше конкретного «первого порогового значения»), то устройством 10 может быть сделан выбор не кодировать никакую информацию 13a основного тона. В таком случае, например, декодер не будет использовать данные в кодированном кадре ни для функции LTPF, ни для функции PLC (по меньшей мере, в некоторых примерах, декодер будет использовать стратегию маскировки не на основе информации основного тона, а с использованием других методик маскировки, таких как оценки на основе декодера, методики маскировки FD или другие методики).
Первое и второе пороговые значения, рассмотренные выше, могут быть выбраны в некоторых примерах таким образом, что:
- первое пороговое значение и/или первый критерий проводят различие между аудиосигналом, подходящим для PLC, и аудиосигналом, не подходящим для PLC; и
- второе пороговое значение и/или второй критерий проводят различие между аудиосигналом, подходящим для LTPF, и аудиосигналом, не подходящим для LTPF.
В примерах первое и второе пороговые значения могут быть выбраны таким образом, что, предполагая, что измерения гармоничности, которые сравниваются с первым и вторым пороговыми значениями, имеют значение между 0 и 1 (где 0 означает: не гармонический сигнал; и 1 означает: идеально гармонический сигнал), тогда значение первого порогового значения ниже значения второго порогового значения (например, гармоничность, ассоциированная с первым пороговым значением, ниже гармоничности, ассоциированной со вторым пороговым значением).
Среди условий, установленных для второго критерия, также возможно проверить, является ли временное развитие аудиосигнала 11 таковым, что существует возможность использовать сигнал для LTPF. Например, может быть возможность проверить, было ли достигнуто для предыдущего кадра подобное (или то же самое) пороговое значение. В примерах комбинации (или взвешенные комбинации) измерений гармоничности (или их обработанных версий) могут сравниваться с одним или более пороговыми значениями. Различные измерения гармоничности (например, полученные на различных частотах дискретизации) могут быть использованы.
Фиг.5 изображает примеры кадров 12" (или частей кадров) кодированной информации аудиосигнала, которая может быть подготовлена устройством 10. Кадры 12" могут отличаться между первыми кадрами 16", вторыми кадрами 17" и третьими кадрами 18". Во временном развитии аудиосигнала 11 первые кадры 16" могут заменяться вторыми кадрами 17" и/или третьими кадрами, и наоборот, например, согласно признакам (например, гармоничности) аудиосигнала в конкретных интервалах времени (например, на основании соответствия или несоответствия сигнала первому и/или второму критерию, и/или гармоничности, которая больше или меньше первого порогового значения и/или второго порогового значения).
Первый кадр 16" может быть кадром, ассоциированным с гармоничностью, которая поддерживается подходящей для PLC, но не обязательно для LTPF (соответствие первому критерию, несоответствие второму критерию). Например, измерение гармоничности может быть ниже второго порогового значения, или другие условия не выполняются (например, сигнал не был стабильным между предыдущим кадром и текущим кадром). Первый кадр 16" может содержать кодированное представление 16a аудиосигнала 11. Первый кадр 16" может содержать первую информацию 16b основного тона (например, "ltpf_pitch_lag"). Первая информация 16b основного тона может кодировать или основываться на, например, информации 13a основного тона, полученной средством 13 оценки основного тона. Первый кадр 16" может содержать первый элемент 16c управляющих данных (например, "ltpf_active" со значением «0» согласно настоящему соответствию), который может содержать или основываться на, например, информации 14a гармоничности, полученной анализатором 14 сигнала. Этот первый кадр 16" может содержать (в поле 16a) достаточно информации для декодирования, на стороне декодера, аудиосигнала и, кроме того, для использования информации 13a основного тона (кодированной в 16b) для PLC в случае необходимости. В примерах декодер не будет использовать информацию 13a основного тона для LTPF, по причине того, что гармоничность не соответствует второму критерию (например, низкое измерение гармоничности сигнала и/или нестабильный сигнал между двумя последовательными кадрами).
Второй кадр 17" может быть кадром, ассоциированным с гармоничностью, которая удерживается достаточной для LTPF (например, она соответствует второму критерию, например, гармоничность, согласно измерению, выше второго порогового значения и/или предыдущий кадр также больше по меньшей мере конкретного порогового значения). Второй кадр 17" может содержать кодированное представление 17a аудиосигнала 11. Второй кадр 17" может содержать вторую информацию 17b основного тона (например, "ltpf_pitch_lag"). Вторая информация 17b основного тона может кодировать или основываться на, например, информации 13a основного тона, полученной средством 13 оценки основного тона. Второй кадр 17" может содержать второй элемент 17c управляющих данных (например, "ltpf_active" со значением «1» согласно настоящему соответствию), который может содержать, например, информацию 14a гармоничности, полученной анализатором 14 сигнала или может быть основан на ней. Этот второй кадр 17" может содержать достаточно информации, чтобы, на стороне декодера, аудиосигнал 11 декодировался и, кроме того, информация 17b основного тона (из выходных данных 13a средства оценки основного тона) могла быть использована для PLC в случае необходимости. Кроме того, декодер будет использовать информацию 17b (13a) основного тона для LTPF по причине соответствия второму критерию на основании, в частности, высокой гармоничности сигнала (как указано значением ltpf_active=1 согласно настоящему соответствию).
В примерах первые кадры 16" и вторые кадры 17" идентифицированы значением элементов 16c и 17c управляющих данных (например, двоичным значением "ltpf_active").
В примерах, при кодировании в битовом потоке первый и второй кадры присутствуют для первой и второй информации (16b, 17b) основного тона и для первого и второго элементов (16c, 17c) управляющих данных, причем формат является таким, что:
- один единственный бит резервируется для кодирования первого и второго элементов 16c и 17c управляющих данных; и
- фиксированное поле данных резервируется для каждой из первой и второй информации 16b и 17b основного тона.
Соответственно, один единственный элемент 16c первых данных может отличаться от одного единственного элемента 17c вторых данных посредством значения бита в конкретной (например, фиксированной) части в кадре. Также первая и вторая информация основного тона может быть вставлена в одном фиксированном количестве битов в зарезервированном положении (например, в фиксированном положении).
В примерах (например, изображенных на фиг.4 и/или 5) информация 14a гармоничности не просто проводит различие между соответствием и несоответствием второму критерию, например, не просто различает более высокую гармоничность и более низкую гармоничность. В некоторых случаях информация гармоничности может содержать дополнительную информацию гармоничности, такую как информация усиления (например, усиление постфильтра) и/или информация корреляции (автокорреляции, нормализованной корреляции), и/или ее обработанную версию. В некоторых случаях ссылка здесь делается на то, что усиление или другая информация гармоничности может быть кодирована в 1-4 битах (например, 2 бита) и может ссылаться на усиление постфильтра, полученное анализатором 14 сигнала.
В примерах, в которых дополнительная информация гармоничности кодируется, декодер путем распознавания ltpf_active=1 (например, второй кадр 17' или 17") может понять, что последующее поле второго кадра 17' или 17" кодирует дополнительную информацию 17d. И наоборот, путем идентификации ltpf_active=0 (например, первый кадр 16' или 16") декодер может понять, что никакое дополнительное поле информации гармоничности 17d не кодируется в кадре 17' или 17".
В примерах (например, фиг.5) третий кадр 18" может кодироваться в битовом потоке. Третий кадр 18" может быть определен для того, чтобы иметь формат, в котором отсутствует информация основного тона и информация гармоничности. Его структура данных не обеспечивает никаких битов для кодирования данных 16b, 16c, 17b, 17c. Однако третий кадр 18" может все еще содержать кодированное представление 18a аудиосигнала и/или другие управляющие данные, полезные для кодера.
В примерах третий кадр 18" отличается от первого и второго кадров посредством третьих управляющих данных 18e ("ltpf_pitch_lag_present"), которые могут иметь значение в третьем кадре, отличные от значения в первом и втором кадрах 16" и 17". Например, третий элемент 18e управляющих данных может быть «0» для идентификации третьего кадра 18" и «1» для идентификации первого и второго кадров 16" и 17".
В примерах третий кадр 18" может быть кодирован, когда информационный сигнал не будет полезным для LTPF и для PLC (например, ввиду очень низкой гармоничности, например, когда шум преобладает). Следовательно, элемент 18e управляющих данных ("ltpf_pitch_lag_present") может быть «0», чтобы сигнализировать декодеру, что не будет никакой ценной информации в запаздывании основного тона и что, соответственно, нет смысла кодировать его. Это может быть результатом процесса верификации на основании первого критерия.
Согласно настоящему соответствию, когда третий элемент 18e управляющих данных является «0», измерения гармоничности могут быть ниже первого порогового значения, ассоциированного с низкой гармоничностью (это может быть одной методикой для подтверждения соответствия первому критерию).
Фиг.3 и 4 изображают примеры первого кадра 16, 16' и второго кадра 17, 17', для которых третий управляющий элемент 18e не предусмотрен (второй кадр 17' кодирует дополнительную информацию гармоничности, что может быть факультативным в некоторых примерах). В некоторых примерах эти кадры не используются. При этом, однако, в некоторых примерах, помимо отсутствия третьего управляющего элемента 18e, кадры 16, 16', 17, 17' имеют те же самые поля, что и кадры 16" и 17" с фиг.5.
Фиг.2 изображает пример устройства 10', которое может быть конкретным осуществлением устройства 10. Свойства устройства 10 (признаки сигнала, коды, признаки передач/сохранения, осуществление Bluetooth и т. д.), таким образом, здесь не повторяются. Устройство 10' может подготавливать кодированную информацию аудиосигнала (например, кадры 12, 12', 12") для аудиосигнала 11. Устройство 10' может содержать средство 13 оценки основного тона, анализатор 14 сигнала и средство 15 формирования битового потока, которые могут быть такими же (или очень подобными), как в устройстве 10. Устройство 10' может также содержать компоненты для дискретизации, повторной дискретизации и фильтрации, как устройство 10.
Средство 13 оценки основного тона может выводить информацию 13a основного тона (например, запаздывание основного тона, такое как "ltpf_pitch_lag").
Анализатор 14 сигнала может выводить информацию 24c (14a) гармоничности, которая в некоторых примерах может формироваться множеством значений (например, вектором, состоящим из множества значений). Анализатор 14 сигнала может содержать средство 24 измерения гармоничности, которое может выводить измерения 24a гармоничности. Измерения 24a гармоничности могут содержать нормализованную или не нормализованную информацию корреляции/автокорреляции, информацию усиления (например, усиления постфильтра), информацию периодичности, информацию предсказуемости, информацию, относящуюся к стабильности и/или развитию сигнала, ее обработанную версию и т. д. Позиционное обозначение 24a может ссылаться на множество значений, по меньшей мере некоторые (или все) из которых, однако, могут быть одними и теми же или могут быть различными, и/или обработанными версиями одного и того же значения, и/или полученными на различных частотах дискретизации.
В примерах измерения 24a гармоничности могут содержать первое измерение 24a' гармоничности (которое может быть измерено на первой частоте дискретизации, например 6,4 КГц) и второе измерение 24a" гармоничности (которое может быть измерено на второй частоте дискретизации, например 12,8 КГц). В других примерах может быть использовано то же самое измерение.
На блоке 21 подтверждается, соответствуют ли измерения 24a гармоничности (например, первое измерение 24a' гармоничности) первому критерию, например, превышают ли они первое пороговое значение, которое может сохраняться в элементе 23 памяти.
Например, по меньшей мере одно измерение 24a гармоничности (например, первое измерение 24a' гармоничности) может сравниваться с первым пороговым значением. Первое пороговое значение может сохраняться, например, в элементе 23 памяти (например, в постоянном элементе памяти). Блок 21 (который может рассматриваться как средство сравнения первого измерения 24a' гармоничности с первым пороговым значением) может выводить информацию 21a гармоничности, указывающую, выше ли гармоничность аудиосигнала 11, чем первое пороговое значение (и в частности, выше ли первое измерение 24a' гармоничности, чем первое пороговое значение).
В примерах ltpf_pitch_present может быть, например, таким:
x
N
T
x, L
T
x
L
T
6.4
6.4
6.4
где  - аудиосигнал на частоте дискретизации 6,4 кГц,  - длина текущего кадра, и  - запаздывание основного тона, полученное средством оценки основного тона для текущего кадра, и "normcorr"(,) - нормализованная корреляция сигнала  длины  при запаздывании
В некоторых примерах другие частоты дискретизации или другие корреляции могут быть использованы. В примерах первое пороговое значение может быть 0,6. Было замечено к тому же, что для измерений гармоничности выше 0,6, PLC может надежно выполняться. Однако это не всегда гарантирует то, что, даже для значений немного выше 0,6, LTPF может надежно выполняться.
Выходными данными 21a из блока 21 может, таким образом, быть двоичное значение (например, "ltpf_pitch_lag_present"), которое может быть "1", если гармоничность выше первого порогового значения (например, если первое измерение гармоничности 24a' выше первого порогового значения), и может быть "0", если гармоничность ниже первого порогового значения. Информация 21a гармоничности (например, "ltpf_pitch_lag_present") может управлять фактическим кодированием выходных данных 13a: если (например, с первым измерением 24a', как показано выше) гармоничность ниже первого порогового значения (ltpf_pitch_lag_present=0), или при несоответствии первому критерию, никакая информация 13a основного тона не кодируется; если гармоничность выше первого порогового значения (ltpf_pitch_lag_present=1), или при соответствии первому критерию, информация основного тона фактически кодируется. Выходные данные 21a ("ltpf_pitch_lag_present") могут быть кодированы. Следовательно, выходные данные 21a могут быть кодированы в качестве третьего управляющего элемента 18e (например, для кодирования третьего кадра 18", когда выходными данными 21a является "0", и второго или третьего кадра, когда выходными данными 21a является "1").
Средство 24 измерения гармоничности может при необходимости выводить измерение 24b гармоничности, которое может быть, например, информацией усиления (например, "ltpf_gain"), которая может быть кодирована в кодированной информации 12, 12', 12" аудиосигнала средством 15 формирования битового потока. Могут быть предусмотрены другие параметры. В некоторых примерах для LTPF на стороне декодера может быть использована другая информация 24b гармоничности,.
Как указано блоком 22, подтверждение соответствия второму критерию может выполняться на основании по меньшей мере одного измерения 24a гармоничности (например, второго измерения 24a" гармоничности).
Одно условие, на котором основан второй критерий, может быть сравнением по меньшей мере одного измерения 24a гармоничности (например, второго измерения 24a" гармоничности) со вторым пороговым значением. Второе пороговое значение может сохраняться, например, в элементе 23 памяти (например, в местоположении памяти, отличном от хранящего первое пороговое значение).
Второй критерий также может быть основан на других условиях (например, на одновременном выполнении двух различных условий). Одно дополнительное условие может, например, быть основано на предыдущем кадре. Например, существует возможность сравнения по меньшей мере одного измерения 24a гармоничности (например, второго измерения 24a" гармоничности) с пороговым значением.
Соответственно, блок 22 может выводить информацию 22a гармоничности, которая может основываться на по меньшей мере одном условии или на множестве условий (например, одно условие на текущем кадре и одно условие на предыдущем кадре).
Блок 22 может выводить (например, в результате процесса подтверждения второго критерия) информацию 22a гармоничности, указывающую, превышает ли гармоничность аудиосигнала 11 (для текущего кадра и/или для предыдущего кадра) второе пороговое значение (и, например, превышает ли второе измерение 24a" гармоничности второе пороговое значение). Информация 22a гармоничности может быть двоичным значением (например, "ltpf_active"), которое может быть «1», если гармоничность выше второго порогового значения (например, второе измерение 24a" гармоничности выше второго порогового значения), и может быть «0», если гармоничность (текущего кадра и/или предыдущего кадра) ниже второго порогового значения (например, второе измерение 24a" гармоничности ниже второго порогового значения).
Информация 22a гармоничности (например, "ltpf_active") может управлять (когда она предусмотрена) фактическим кодированием значения 24b (в примерах, в которых фактически предусмотрено значение 24b): если гармоничность (например, второе измерение 24a" гармоничности) не соответствует второму критерию (например, если гармоничность ниже второго порогового значения и ltpf_active=0), никакая дальнейшая информация 24b гармоничности (например, никакая дополнительная информация гармоничности) не кодируется; если гармоничность (например, второе измерение 24a" гармоничности) соответствует второму критерию (например, она выше второго порогового значения и ltpf_active=1), дополнительная информация 24b гармоничности фактически кодируется.
При этом второй критерий может быть основан на других и/или дополнительных условиях. Например, существует возможность подтвердить, стабилен ли сигнал по времени (например, если нормализованная корреляция имеет схожее поведение в двух последовательных кадрах).
Второй порог(и) может быть определен для того, чтобы быть ассоциированным с гармоническим содержимым, которое выше гармонического содержимого, ассоциированного с первым пороговым значением. В примерах первое и второе пороговые значения могут быть выбраны таким образом, что, предполагая, что измерения гармоничности, которые сравниваются с первым и вторым пороговыми значениями, имеют значение между 0 и 1 (где 0 означает: негармонический сигнал; и 1 означает: идеально гармонический сигнал), значение первого порогового значения ниже значения второго порогового значения (например, гармоничность, ассоциированная с первым пороговым значением, ниже гармоничности, ассоциированной со вторым пороговым значением).
Значение 22a (например, "ltpf_active") может быть кодировано, например, чтобы стать первым или вторым элементом 16c или 17c управляющих данных (фиг.4). Фактическим кодированием значения 22a может управлять значение 21a (например, с использованием средства 25 выбора): например, "ltpf_active" может быть кодировано, только если ltpf_pitch_lag_present=1, в то время как "ltpf_active" не обеспечивается средству 15 формирования битового потока, когда ltpf_pitch_lag_present=0 (чтобы кодировать третий кадр 18"). В таком случае не является необходимым обеспечивать информацию основного тона декодеру: гармоничность может быть настолько низкой, что декодер не будет использовать информацию основного тона ни для PLC, ни для LTPF. Также информация гармоничности, такая как "ltpf_active", может быть бесполезной в таком случае: поскольку никакая информация основного тона не обеспечивается декодеру, нет возможности того, что декодер будет пытаться выполнять LTPF.
Здесь приведён пример для получения значения (16c, 17c, 22a) ltpf_active. Другие альтернативные стратегии могут выполняться.
Нормализованная корреляция может сначала быть вычислена следующим образом
где pitch_int - целая часть запаздывания основного тона, pitch_fr - дробная часть запаздывания основного тона, и
12.8
i
где x - повторно дискретизированный входной сигнал на 12,8 КГц (например), и h - импульсный отклик фильтра низких частот FIR, получаемый как
где tab_ltpf_interp_x12k8 выбирается, например, из следующих значений:
Бит активации LTPF ("ltpf_active") может затем быть получен согласно следующей процедуре:
где mem_ltpf_active - значение ltpf_active в предыдущем кадре (оно равно 0, если ltpf_pitch_present=0 в предыдущем кадре), mem_nc - значение nc в предыдущем кадре (оно равно 0, если ltpf_pitch_present=0 в предыдущем кадре), pit=pitch_int+pitch_fr/4, и mem_pit - значение pit в предыдущем кадре (оно равно 0, если ltpf_pitch_present=0 в предыдущем кадре). Эта процедура показана, например, на фиг.6b (см. также ниже).
Важно заметить, что схематизация с фиг.2 лишь иллюстративна. Вместо блоков 21, 22 и средств выбора различные аппаратные и/или программные блоки могут быть использованы. В примерах по меньшей мере два из компонентов, таких как блоки 21 и 22, средство оценки основного тона, анализатор сигнала, и/или средство измерения гармоничности, и/или средство формирования битового потока, может осуществляться один единственный элемент.
На основании выполняемых измерений существует возможность проводить различие между:
- третьим состоянием, в котором:
○ имеет место несоответствие первому критерию;
○ оба вывода 21a и 22a из блока 21 и блока 22 равны «0»;
○ выводы 13a (например, "ltpf_pitch_lag"), 24b (например, при необходимости, дополнительная информация гармоничности) и 22a (например, "ltpf_active") не кодируются;
○ кодируется только значение "0" (например, "ltpf_pitch_lag_present") вывода 21a;
○ третий кадр 18" кодируется с третьим управляющим элементом «0» (например, из "ltpf_pitch_lag_present") и сигнальным представлением аудиосигнала, но без какого-либо бита, кодирующего информацию основного тона и/или первый и второй управляющий элемент;
○ соответственно, декодер поймет, что никакая информация основного тона и информация гармоничности не может быть использована для LTPF и PLC (например, ввиду чрезвычайно низкой гармоничности);
- первым состоянием, в котором:
○ имеет место соответствие первому критерию и несоответствие второму критерию;
○ вывод 21a из блока 21 равен «1» (например, ввиду соответствия первому критерию, например, ввиду того, что первое измерение 24a' больше первого порогового значения), в то время как вывод 22a из блока 22 равен «0» (например, ввиду несоответствия второму критерию, например, ввиду того, что второе измерение 24a" для текущего или предыдущего кадра ниже второго порогового значения);
○ значение «1» вывода 21a (например, "ltpf_pitch_lag_present") кодируется в 18e;
○ вывод 13a (например, "ltpf_pitch_lag") кодируется в 16b;
○ значение «0» вывода 22a (например, "ltpf_active") кодируется в 16c;
○ при необходимости вывод 24b (например, дополнительная информация гармоничности) не кодируется;
○ первый кадр 16" кодируется с третьим элементом управляющих данных, равным «1» (например, из "ltpf_pitch_lag_present" 18e), с одним единственным битом, кодирующим первый элемент управляющих данных, равный "0" (например, из "ltpf_active" 16c), и фиксированным количеством битов (например, в фиксированном положении), чтобы кодировать первую информацию 16b основного тона (например, взятую из "ltpf_pitch_lag");
○ соответственно, декодер поймет, что будет использовать информацию 13a основного тона (например, запаздывание основного тона, кодированное в 16b) только для PLC, но никакая информация основного тона или информация гармоничности не будет использована для LTPF;
- вторым состоянием, в котором:
○ имеет место соответствие первому и второму критериям;
○ оба вывода 21a и 22a из блока 21 и блока 22 равны «1» (например, ввиду соответствия первому критерию, например, ввиду того, что первое измерение 24a' больше второго порогового значения, и второе измерение 24a" соответствует второму критерию, например, второе измерение 24a" больше в текущем кадре или в предыдущем кадре, чем второе пороговое значение);
○ кодируется значение «1» вывода 21a (например, "ltpf_pitch_lag_present");
○ кодируется вывод 13a ("например, "ltpf_pitch_lag");
○ кодируется значение «1» вывода 22a (например, "ltpf_active");
○ второй кадр 17" кодируется с третьим элементом управляющих данных, равным 1 (например, из "ltpf_pitch_lag_present" в 18e), с одним единственным битом, кодирующим второй элемент управляющих данных, равный «1» (например, из "ltpf_active" в 17c), фиксированным количеством битов (например, в фиксированном положении), чтобы кодировать вторую информацию основного тона (например, взятую из "ltpf_pitch_lag") в 17b, и, при необходимости, дополнительной информацией (такой как дополнительная информация гармоничности) в 17d;
○ соответственно, декодер будет использовать информацию 13a основного тона (например, запаздывание основного тона) для PLC и будет также использовать информацию основного тона и (в некотором случае) дополнительную информацию гармоничности для LTPF (например, предполагая, что гармоничности достаточно для обоих LTPF и PLC).
Таким образом, со ссылками на фиг.5, изображены кадры 12", которые могут быть обеспечены средством 15 формирования битового потока, например, в устройстве 10'. В частности могут быть кодированы:
- в случае третьего состояния третий кадр 18" с полями:
○ третий элемент 18e управляющих данных (например, "ltpf_pitch_lag_present", полученный из 21a) со значением "0"; и
○ кодированное представление 18a аудиосигнала 11;
- в случае первого состояния первый кадр 16" с полями:
○ третий элемент 18e управляющих данных (например, "ltpf_pitch_lag_present", полученный из 21a) со значением «1»;
○ кодированное представление 16a аудиосигнала 11;
○ первая информация 16b основного тона (например, "ltpf_pitch_lag", полученная из 13a) в фиксированном поле данных первого кадра 16"; и
○ первый элемент 16c управляющих данных (например, "ltpf_active", полученный из 22a) со значением «0»; и
- в случае второго состояния второй кадр 17" с полями:
○ третий элемент 18e управляющих данных (например, "ltpf_pitch_lag_present", полученный из 21a) со значением «1»;
○ кодированное представление 17a аудиосигнала 11;
○ вторая информация 17b основного тона (например, "ltpf_pitch_lag", полученная из 13a) второго кадра 17";
○ второй элемент 17c управляющих данных (например, "ltpf_active", полученный из 22a) со значением «1»; и
○ где она предусмотрена, (при необходимости) информация 17d гармоничности (например, полученная из 24b).
В примерах третий кадр 18" не представляет фиксированное поле данных для первой или второй информации основного тона и не представляет какой-либо бит, кодирующий первый элемент управляющих данных и второй элемент управляющих данных.
Из третьего элемента 18e управляющих данных и первого и второго элементов 16c и 17c управляющих данных декодер поймет, если:
- декодер не будет осуществлять LTPF и PLC с информацией основного тона и информацией гармоничности в случае третьего состояния,
- декодер не будет осуществлять LTPF, но будет осуществлять PLC с информацией основного тона только в случае первого состояния, и
- декодер будет выполнять оба LTPF с использованием обеих информаций основного тона и PLC с использованием информации основного тона в случае второго состояния.
Как можно увидеть по фиг.5, в некоторых примерах:
- третий кадр 18 может иметь формат, в котором отсутствуют первая информация 16b основного тона, первый элемент 16c управляющих данных, вторая информация 17b основного тона и второй элемент 17c управляющих данных;
- третий элемент 18e управляющих данных может быть кодирован в одном единственном бите, имеющем значение, которое отличает третий кадр 18" от первого и второго кадра 16", 17"; и/или
- в кодированной информации аудиосигнала для первого кадра 16" один единственный бит может резервироваться для первого элемента 16c управляющих данных, и фиксированное поле данных 16b может резервироваться для первой информации основного тона; и/или
- в кодированной информации аудиосигнала для второго кадра 17" один единственный бит может резервироваться для второго элемента 17c управляющих данных, и фиксированное поле 17b данных может резервироваться для второй информации основного тона; и/или
- первый элемент 16c управляющих данных и второй элемент 17c управляющих данных могут быть кодированы в одной и той же части или поле данных в кодированной информации аудиосигнала; и/или
- кодированная информация аудиосигнала может содержать один первый сигнализирующий бит, кодирующий третий элемент 18e управляющих данных; и/или в случае, когда значение третьего элемента управляющих данных указывает на наличие первой информации основного тона и/или второй информации основного тона, второй сигнализирующий бит, кодирующий первый элемент управляющих данных и второй элемент управляющих данных.
Фиг.6a изображает способ 60 согласно примерам. Для способа может осуществляться операция, например, с использованием устройства 10 или 10'. Способ может кодировать кадры 16", 17", 18", например, как объяснено выше.
Способ 60 может содержать этап S60, на котором получают (с конкретным интервалом времени) измерение(-я) гармоничности (например, 24a) из аудиосигнала 11, например, с использованием анализатора 14 сигнала и, в частности, средства 24 измерения гармоничности. Измерения гармоничности (информация гармоничности) могут содержать, например, по меньшей мере одно или сочетание из информации корреляции (например, информации автокорреляции), информации усиления (например, информации усиления постфильтра), информации периодичности, информации предсказуемости, применяемых к аудиосигналу 11 (например, для интервала времени), или могут быть основаны на них. В примерах первое измерение 24a' гармоничности может быть получено (например, на 6,4 КГц) и второе измерение 24a" гармоничности может быть получено (например, на 12,8 КГц). В различных примерах одни и те же измерения гармоничности могут быть использованы.
Способ может содержать подтверждение соответствия первому критерию, например, с использованием блока 21. Например, сравнение измерения(-й) гармоничности с первым пороговым значением может выполняться. Если на S61 имеет место несоответствие первому критерию (например, гармоничность ниже первого порогового значения, например, когда первое измерение 24a' ниже первого порогового значения), на S62 третий кадр 18" может быть кодирован, причем третий кадр 18" указывает значение "0" в третьем элементе 18e управляющих данных (например, "ltpf_pitch_lag_present"), например, без резервирования какого-либо бита для кодирования значений, таких как информация основного тона и дополнительная информация гармоничности. Таким образом, декодер не будет выполнять ни LTPF, ни PLC на основе информации основного тона и информации гармоничности, обеспеченных кодером.
Если на S61 определяется, что имеет место соответствие первому критерию (например, что гармоничность больше первого порогового значения и, таким образом, не на более низком уровне гармоничности), на этапах S63 и S65 проверяется, имеет ли место соответствие второму критерию. Второй критерий может содержать, например, сравнение измерения гармоничности для текущего кадра с по меньшей мере одним пороговым значением.
Например, на этапе S63 гармоничность (например, второе измерение 24a" гармоничности) сравнивается со вторым пороговым значением (в некоторых примерах второе пороговое значение устанавливается таким образом, что оно ассоциировано с гармоническим содержимым, большим, чем гармоническое содержимое, ассоциированное с первым пороговым значением, например, при предположении, что измерение гармоничности находится между значением 0, ассоциированным с полностью негармоническим сигналом, и значением 1, ассоциированным с идеально гармоническим сигналом).
Если на S63 определяется, что гармоничность не больше второго порогового значения (что, например, в некоторых случаях может быть ассоциировано с промежуточным уровнем гармоничности), на S64 первый кадр 16, 16', 16" кодируется. Первый кадр (указывающий промежуточную гармоничность) может быть кодирован, чтобы содержать третий элемент 18e управляющих данных (например, "ltpf_pitch_lag_present"), который может быть «1», первый элемент 16b управляющих данных (например, "ltpf_active"), который может быть «0», и значение первой информации 16b основного тона, такой как запаздывание основного тона ("ltpf_pitch_lag"). Таким образом, при приеме первого кадра 16, 16', 16" декодер будет использовать первую информацию 16b основного тона для PLC, но не будет использовать первую информацию 16b основного тона для LTPF.
При этом сравнение, выполняемое на S61 и на S62, может основываться на различных измерениях гармоничности, которые могут, например, быть получены на различных частотах дискретизации.
Если на S63 определяется, что гармоничность больше второго порогового значения (например, второе измерение гармоничности выше второго порогового значения), на этапе S65 можно проверить, является ли аудиосигнал неустойчивым сигналом, например, если временная структура аудиосигнала 11 изменялась (или если выполняется другое условие в предыдущем кадре). Например, существует возможность проверить, соответствовал ли также предыдущий кадр условию того, чтобы он превышал второе пороговое значение. Если также условие на предыдущем кадре выполняется (нет неустойчивости), то сигнал считается стабильным, и существует возможность инициировать этап S66. Иначе способ продолжается этапом S64, чтобы кодировать первый кадр 16, 16' или 16" (см. выше).
На этапе S66 второй кадр 17, 17', 17" может быть кодирован. Второй кадр 17" может содержать третий элемент 18e управляющих данных (например, "ltpf_pitch_lag_present") со значением "1" и второй элемент 17c управляющих данных (например, "ltpf_active"), который может быть равным "1". Соответственно, информация 17b основного тона (такая как "pitch_lag" и, при необходимости, также дополнительная информация 17d гармоничности) может быть кодирована. Декодер поймет, что могут быть использованы оба из PLC с информацией основного тона и LTPF с информацией основного тона (и, при необходимости, также информацией гармоничности).
На S67 кодированный кадр может передаваться декодеру (например, через соединение Bluetooth), сохраняться в памяти или использоваться иным образом.
На этапах S63 и S64 измерение нормализованной корреляции nc (второе измерение 24a") может быть измерением нормализованной корреляции nc, полученным на 12,8 КГц (см. также выше и ниже). На этапе S61 нормализованная корреляция (первое измерение 24a') может быть нормализованной корреляцией на 6,4 КГц (см. также выше и ниже).
Фиг.6b изображает способ 60b, который также может быть использован. Фиг.6b явным образом изображает примеры второго критерия 600, который может быть использован для определения значения ltpf_active.
Как можно увидеть, этапы S60, S61 и S62 являются такими же, как в способе 60, и, таким образом, не повторяются.
На этапе S610 может быть проверено, если:
- для предыдущего кадра было получено ltpf_active=0 (указанное mem_ltpf_active=0); и
- для предыдущего кадра измерение нормализованной корреляции nc (24a") было больше третьего порогового значения (например, значения между 0,92 и 0,96, такого как 0,94); и
- для текущего кадра измерение нормализованной корреляции nc (24a") больше третьего порогового значения (например, значения между 0,92 и 0,96, такого как 0,94).
Если результат положителен, ltpf_active устанавливается как 1 на S614, и этапы S66 (кодирование второго кадра 17, 17', 17") и S67 (передача или сохранение кодированного кадра) инициируются.
Если условие, установленное на этапе S610, не подтверждается, может быть проверено на этапе S611, если:
- для предыдущего кадра было получено ltpf_active=1 (указанное mem_ltpf_active=1);
- для текущего кадра измерение нормализованной корреляции nc (24a") больше четвертого порогового значения (например, значения между 0,85 и 0,95, например 0,9).
Если результат положителен, ltpf_active устанавливается как 1 на S614, и этапы S66 (кодирование второго кадра 17, 17', 17") и S67 (передача или сохранение кодированного кадра) инициируются.
Если условие, установленное на этапе S611, не подтверждается, может проверяться, на этапе S612, если:
- для предыдущего кадра было получено ltpf_active=0 (указанное mem_ltpf_active=0);
- для текущего кадра расстояние между текущим основным тоном и предыдущим основным тоном меньше пятого порогового значения (например, значения между 1,8 и 2,2, такого как 2); и
- разница между измерением нормализованной корреляции nc (24a") текущего кадра и измерением нормализованной корреляции mem_nc предыдущего кадра больше шестого порогового значения (например, значения между -0,15 и -0,05, такого как -0,1); и
- для текущего кадра измерение нормализованной корреляции nc (24a") больше седьмого порогового значения (например, значения между 0,82 и 0,86, такого как 0,84).
(В некоторых примерах этапов S610-S612 некоторые из условий выше могут избегаться, в то время как некоторые могут поддерживаться.)
Если результат проверки на S612 положителен, ltpf_active устанавливается как 1 на S614, и этапы S66 (кодирование второго кадра 17, 17', 17") и S67 (передача или сохранение кодированного кадра) инициируются.
Иначе, если ни одна из проверок на S610-S612 не подтверждается, ltpf_active устанавливается как 0 для настоящего кадра на S613, и этап S64 инициируется для того, чтобы кодировать первый кадр 16, 16', 16".
На этапах S610-S612 измерение нормализованной корреляции nc (второе измерение 24a") может быть измерением нормализованной корреляции, полученным на 12,8 КГц (см. выше). На этапе S61 нормализованная корреляция (первое измерение 24a') может быть нормализованной корреляцией на 6,4 КГц (см. выше).
Как можно увидеть, несколько метрик, относящихся к текущему кадру и/или предыдущему кадру, может приниматься в расчет. Соответствие второму критерию может, таким образом, быть подтверждено проверкой, является ли несколько измерений (например, ассоциированных с текущим и/или предыдущим кадром), соответственно, выше или ниже нескольких пороговых значений (например, по меньшей мере некоторых из третьего-седьмого пороговых значений с этапов S610-S612).
Некоторые примеры того, как получить параметры для LTPF на стороне кодера, приведены здесь.
Здесь рассматривается пример методики повторной дискретизации (могут быть использованы другие методики).
f
s
Входной сигнал на частоте дискретизации  повторно дискретизируется с фиксированной частотой дискретизации 12,8 КГц. Повторная дискретизация выполняется с использованием подхода «повышающая дискретизация+фильтрация низких частот+понижающая дискретизация», который может быть выражен следующей формулой
12.8
6.4
где x(n) - входной сигнал, x(n) - повторно дискретизированный сигнал на 12,8 КГц,  - коэффициент повышающей дискретизации, и h - импульсный отклик фильтра низких частот FIR, представленный как
Пример tab_resamp_filter приведён здесь:
Здесь рассматривается пример методики фильтра высоких частот (другие методики могут быть использованы).
Повторно дискретизированный сигнал может фильтроваться фильтром высоких частот с использованием фильтра IIR второго порядка, переходная функция которого может быть получена как
Здесь рассматривается пример методики обнаружения основного тона (другие методики могут быть использованы).
12.8
Сигнал x(n) может быть дискретизирован с понижением с коэффициентом 2 с использованием
2
где h={0,1236796411180537, 0,2353512128364889, 0,2819382920909148, 0,2353512128364889, 0,1236796411180537}.
6.4
Автокорреляция x(n) может быть вычислена как
min
max
где k=17 и k=114 - минимальное и максимальное запаздывания.
Автокорреляция может быть взвешена с использованием
где w(k) определено следующим образом
1
Первая оценка запаздывания основного тона T может быть запаздыванием, которое максимизирует взвешенную автокорреляцию
2
Вторая оценка запаздывания основного тона T может быть запаздыванием, которое максимизирует невзвешенную автокорреляцию в окрестности запаздывания основного тона, оцененного в предыдущем кадре
min
min
prev
max
max
prev
prev
где k'=max(k, T-4), k'=min(k, T+4), и T - окончательное запаздывание основного тона, оцененное в предыдущем кадре.
Окончательная оценка запаздывания основного тона в текущем кадре затем может быть получена как
где normcorr(x, L,T) - нормализованная корреляция сигнала x длины L при запаздывании T
Нормализованная корреляция может быть по меньшей мере одним из измерений гармоничности, полученных анализатором 14 сигнала и/или средством 24 измерения гармоничности. Это одно из измерений гармоничности, которые могут быть использованы, например, для сравнения с первым пороговым значением.
Здесь рассматривается пример для получения методики битового потока LTPF (другие методики могут быть использованы).
Первый бит битового потока LTPF сигнализирует наличие параметра запаздывания основного тона в битовом потоке. Он получается как
Если ltpf_pitch_present равно 0, больше никакие биты не кодируются, в результате чего получается битовый поток LTPF только из одного бита (см. третий кадр 18").
Если ltpf_pitch_present равно 1, еще два параметра кодируются: один параметр запаздывания основного тона (например, кодированный в 9 битах) и один бит, чтобы сигнализировать активацию LTPF (см. кадры 16" и 17"). В таком случае битовый поток LTPF (кадр) может быть составлен 11 битами.
Параметр запаздывания основного тона и бит активации получаются так, как описано в следующих разделах.
Эти данные могут быть кодированы в кадрах 12, 12', 12" согласно методикам, рассмотренным выше.
Здесь рассматривается пример для получения параметров запаздывания основного тона LTPF (другие методики могут быть использованы).
Целая часть параметра запаздывания основного тона LTPF может быть получена как
где
и  ,  .
Дробная часть запаздывания основного тона LTPF может затем быть получена как
где
4
и h - импульсный отклик фильтра низких частот FIR, получаемый как
Значения tab_ltpf_interp_R могут быть, например, такими:
Если pitch_fr<0, то оба pitch_int и pitch_fr модифицируются согласно
Наконец, индекс параметра запаздывания основного тона получается как
Нормализованная корреляция может сначала быть вычислена следующим образом
где
i
и h - импульсный отклик фильтра низких частот FIR, получаемый как
где tab_ltpf_interp_x12k8 выбирается, например, из следующих значений:
Бит активации LTPF ("ltpf_active") может затем быть установлен согласно
где mem_ltpf_active - значение ltpf_active в предыдущем кадре (оно равно 0, если pitch_present=0 в предыдущем кадре), mem_nc - значение nc в предыдущем кадре (оно равно 0, если pitch_present=0 в предыдущем кадре), pit=pitch_int+pitch_fr/4, и mem_pit - значение pit в предыдущем кадре (оно равно 0, если pitch_present=0 в предыдущем кадре).
6. Сторона декодера
Фиг.7 изображает устройство 70. Устройство 70 может быть декодером. Устройство 70 может получать данные, такие как кодированная информация 12, 12', 12" аудиосигнала. Устройство 70 может выполнять операции, описанные выше и/или ниже. Кодированная информация 12, 12', 12" аудиосигнала могла быть сгенерирована, например, кодером, таким как устройство 10 или 10', или путем осуществления способа 60. В примерах кодированная информация 12, 12', 12" аудиосигнала могла быть сгенерирована, например, кодером, который отличен от устройства 10 или 10' или который не осуществляет способ 60. Устройство 70 может генерировать фильтрованную декодированную информацию 76 аудиосигнала.
Устройство 70 может содержать (или принимать данные от) блок связи (например, с использованием антенны) для получения кодированной информации аудиосигнала. Связь Bluetooth может выполняться. Устройство 70 может содержать (или принимать данные от) блок хранения (например, с использованием памяти) для получения кодированной информации аудиосигнала. Устройство 70 может содержать оборудование, оперирующее в TD и/или FD.
Устройство 70 может содержать средство 71 считывания битового потока (или «анализатор битового потока», или «средство деформатирования битового потока», или «синтаксический анализатор битового потока»), которое может декодировать кодированную информацию 12, 12', 12" аудиосигнала. Средство 71 считывания битового потока может содержать, например, машину состояний, чтобы интерпретировать данные, полученные в форме битового потока. Средство 71 считывания битового потока может выводить декодированное представление 71a аудиосигнала 11.
Декодированное представление 71a может быть подвергнуто одной или более методикам обработки позже средства считывания битового потока (что здесь не показано для простоты).
Устройство 70 может содержать LTPF 73, который может в свою очередь обеспечивать фильтрованную декодированную информацию 73' аудиосигнала.
Устройство 70 может содержать средство 72 управления фильтра, которое может управлять LTPF 73.
В частности, LTPF 73 может управлять дополнительная информация гармоничности (например, информация усиления), когда она обеспечена средством 71 считывания битового потока (в частности, когда она представлена в поле 17d, "ltpf_gain", в кадре 17' или 17").
В качестве дополнения или альтернативы, LTPF 73 может управлять информация основного тона (например, запаздывание основного тона). Информация основного тона может быть представлена в полях 16b или 17b кадров 16, 16', 16", 17, 17', 17". Однако, как указано средством 78 выбора, информация основного тона не всегда используется для управления LTPF: когда элемент 16c управляющих данных ("ltpf_active") равен «0», информация основного тона не используется для LTPF (ввиду того, что гармоничность слишком низка для LTPF).
Устройство 70 может содержать блок 75 маскировки для выполнения функции PLC, чтобы обеспечивать аудиоинформацию 76. Когда она представлена в декодированном кадре, информация основного тона может быть использована для PLC.
Пример LTPF в устройстве 70 рассматривается в следующих абзацах.
Фиг.8a и 8b изображают примеры синтаксиса для кадров, которые могут быть использованы. Различные поля также указаны.
Как изображено на фиг.8a, средство 71 считывания битового потока может искать первое значение в конкретной позиции (поле) кадра, который кодируется (при гипотезе, что кадр является одним из кадров 16", 17" и 18" с фиг.5). Конкретная позиция может интерпретироваться, например, как позиция, ассоциированная с третьим управляющим элементом 18e в кадре 18" (например, "ltpf_pitch_lag_present").
Если значение "ltpf_pitch_lag_present" 18e равно «0», средство 71 считывания битового потока понимает, что нет другой информации для LTPF и PLC (например, нет "ltpf_active", "ltpf_pitch_lag", "ltpf_gain").
Если значение "ltpf_pitch_lag_present" 18e равно «1», средство 71 считывания может искать поле (например, 1-битное поле), содержащее управляющие данные 16c или 17c (например, "ltpf_active"), указывающие на информацию гармоничности (например, 14a, 22a). Например, если "ltpf_active" равно «0», понятно, что кадр является первым кадром 16", указывающим на гармоничность, которая не считается ценной для LTPF, но может быть использована для PLC. Если "ltpf_active" равно «1», понятно, что кадр является вторым кадром 17", который может переносить ценную информацию для обоих LTPF и PLC.
Средство 71 считывания также выполняет поиск поля (например, 9-битного поля), содержащего информацию 16b или 17b основного тона (например, "ltpf_pitch_lag"). Эта информация основного тона может быть обеспечена блоку 75 маскировки (для PLC). Эта информация основного тона может быть обеспечена средству 72 управления фильтра/LTPF 73, но только если "ltpf_active" равно «1» (например, более высокая гармоничность), как указано на фиг.7 средством 78 выбора.
Подобная операция выполняется в примере с фиг.8b, в котором, кроме того, может быть при необходимости кодировано усиление 17dкод.
7. Пример LTPF на стороне декодера
Декодированный сигнал после синтеза MDCT (модифицированного дискретного косинусного преобразования), синтеза MDST (модифицированного дискретного синусного преобразования) или синтеза на основе другого преобразования может быть постфильтрован во временной области с использованием фильтра IIR, параметры которого могут зависеть от данных LTPF битового потока "pitch_index" и "ltpf_active". Чтобы избежать нарушения непрерывности, когда параметры изменяются между одним кадром и следующим кадром, механизм перехода может применяться над первой четвертью текущего кадра.
В примерах фильтр IIR LTPF может осуществляться с использованием
где  - входной сигнал фильтра (т. е. декодированный сигнал после синтеза MDCT), и  - выходной сигнал фильтра.
int
fr
Целая часть p и дробная часть p запаздывания основного тона LTPF могут быть вычислены следующим образом. Сначала запаздывание основного тона на 12,8 КГц восстанавливается с использованием
s
Запаздывание основного тона затем может быть масштабировано для выходной частоты дискретизации f и преобразовано в целую и дробную части с использованием
s
где f - частота дискретизации.
num
den
fr
Коэффициенты фильтра c(k) и c(k, p) могут быть вычислены следующим образом
где
и gain_ltpf и gain_ind могут быть получены согласно
и таблицы tab_ltpf_num_fs[gain_ind][k] и tab_ltpf_den_fs[p_fr][k] заданы.
Примеры tab_ltpf_num_fs[gain_ind][k] приведены здесь (вместо "fs" указывается частота дискретизации):
fr
Примеры tab_ltpf_den_fs[p][k] приведены здесь (вместо "fs" указывается частота дискретизации):
Со ссылками на обработку преобразования рассматриваются пять различных случаев.
Первый случай: ltpf_active=0 и mem_ltpf_active=0
Второй случай: ltpf_active=1 и mem_ltpf_active=0
Третий случай: ltpf_active=0 и mem_ltpf_active=1
где  ,  ,  and  - параметры фильтра, вычисленные в предыдущем кадре.
Четвертый случай: ltpf_active=1, и mem_ltpf_active=1, и  и
Пятый случай: ltpf_active=1, и mem_ltpf_active=1, и (  или  )
8. Маскировка потерянных пакетов
Здесь приведены примеры маскировки потерянных пакетов (PLC) или маскировки ошибки.
8.1. Общая информация
Поврежденный кадр не обеспечивает верного звукового вывода и должен быть отвергнут.
Для каждого декодированного кадра его действительность может быть подтверждена. Например, каждый кадр может иметь поле, переносящее циклический избыточный код (CRC), который подтверждается путем выполнения заданных операций, обеспеченных заданным алгоритмом. Средство 71 считывания (или другой логический компонент, такой как блок 75 маскировки) может повторять алгоритм и подтверждать, соответствует ли вычисленный результат значению в поле CRC. Если кадр не был корректно декодирован, предполагается, что на него повлияли некоторые ошибки. Таким образом, если подтверждение обеспечивает результат неверного декодирования, кадр считается неправильно декодированным (недействительным, поврежденным).
Когда кадр определяется как неправильно декодированный, стратегия маскировки может быть использована, чтобы обеспечить звуковой вывод: иначе может быть услышано что-то вроде раздражающей звуковой дыры. Таким образом, необходимо найти некоторую форму кадра, которая «заполняет промежуток», который остался открыт неправильно декодированным кадром. Цель процедуры маскировки потери кадра состоит в маскировке эффекта любого недоступного или поврежденного кадра для декодирования.
Процедура маскировки потери кадра может содержать способы маскировки для различных типов сигнала. Наилучшая возможная производительность кодека в ситуациях, подверженных ошибкам с потерей кадров, может быть получена посредством выбора наиболее подходящего способа. Одним из способов маскировки потери пакета может быть, например, маскировка временной области TCX.
8.2. Маскировка временной области TCX
Способ маскировки временной области TCX является основанной на основном тоне методикой PLC, оперирующей во временной области. Она является наиболее подходящей для сигналов с доминантной гармонической структурой. Пример процедуры является следующим: синтезированный сигнал последних декодированных кадров подвергается обратному фильтрованию посредством фильтра LP, как описано в разделе 8.2.1, чтобы получить периодический сигнал, как описано в разделе 8.2.2. Случайный сигнал генерируется случайным генератором с приблизительно однородным распределением в разделе 8.2.3. Два сигнала возбуждения суммируются, чтобы сформировать полный сигнал возбуждения, как описано в разделе 8.2.4, который адаптивным образом затухает с коэффициентом ослабления, описанным в разделе 8.2.6, и, наконец, он фильтруется посредством фильтра LP, чтобы получить синтезированный временной сигнал маскировки. Если LTPF был активен в последнем хорошем кадре, LTPF также применяется к синтезированному временному сигналу маскировки, как описано в разделе 8.3. Чтобы получить надлежащее наложение с первым хорошим кадром после потерянного кадра, сигнал подавления искажений временной области генерируется в разделе 8.2.5.
8.2.1. Вычисление параметра LPC
Способ маскировки временной области TCX оперирует в области возбуждения. Автокорреляционная функция может быть вычислена на 80 равноудаленных полосах частотной области. Энергия предыскажается с фиксированным коэффициентом предыскажения μ.
<i>f</i><sub><i>s</i></sub>
<i>μ</i>
8000
0.62
16000
0.72
24000
0.82
32000
0.92
48000
0.92
Для автокорреляционной функции осуществляется кадрирование запаздывания с использованием следующего окна
c
перед тем, как она преобразуется во временную область с использованием обратного DFT с равномерным помещением в стек. Наконец, операция Левинсона-Дурбина может быть использована, чтобы получить фильтр LP, a(k), для кадра маскировки. Пример приведён ниже:
Фильтр LP вычисляется только в первом потерянном кадре после хорошего кадра и остается в последующих потерянных кадрах.
8.2.2. Построение периодической части возбуждения
Последние  декодированных временных выборок сначала предыскажаются с коэффициентом предыскажения из раздела 8.2.1 с использованием фильтра
pre
c
чтобы получить сигнал x(k), где T - значение запаздывания основного тона pitch_int или pitch_int+1, если pitch_fr>0. Значения pitch_int и pitch_fr - значения запаздывания основного тона, переданные в битовом потоке.
pre
p
p
p
c
Предыскаженный сигнал, x(k), дополнительно фильтруется с вычисленным обратным фильтром LP, чтобы получить ранний сигнал возбуждения exc'(k). Чтобы построить сигнал возбуждения, exc(k), для текущего потерянного кадра exc'(k) многократно копируется с T следующим образом
p
p
где E соответствует последней выборке в exc'(k). Если коэффициент стабильности θ ниже 1, первый цикл основного тона exc'(k) сначала фильтруется с пропусканием низких частот посредством 11-коэффициентного фильтра линейной фазы FIR, описанного в таблице ниже
<i>f</i><sub><i>s</i></sub>
<i>Коэффициенты фильтра FIR низких частот</i>
8000-16000
{0.0053, 0.0000, -0.0440, 0.0000, 0.2637, 0.5500, 0.2637, 0.0000, -0.0440, 0.0000, 0.0053}
24000-48000
{-0.0053, -0.0037, -0.0140, 0.0180, 0.2668, 0.4991, 0.2668, 0.0180, -0.0140, -0.0037, -0.0053}
p
Усиление основного тона, g', вычисляется следующим образом
p
p
p
Если pitch_fr=0, то g=g'. Иначе второе усиление основного тона, g", вычисляется следующим образом
p
p
p
p
p
c
и g=max(g', g"). Если g">g', то T уменьшается на единицу для дальнейшей обработки.
p
p
Наконец, g ограничивается как 0≤g≤1.
p
Формируемое периодическое возбуждение, exc(k), затухает от выборки к выборке на протяжении кадра, начиная с единицы и заканчивая коэффициентом ослабления, α, чтобы получить  . Усиление основного тона вычисляется только в первом потерянном кадре после хорошего кадра и устанавливается как α для дальнейших последовательных потерь кадров.
8.2.3. Построение случайной части возбуждения
Случайная часть возбуждения может генерироваться посредством случайного генератора с приблизительно однородным распределением следующим образом
n, FB
n, FB
n, FB
где exc(-1) инициализируется как 24607 для самого первого кадра, маскируемого этим способом, и extract() извлекает 16 LSB значения. Для дальнейших кадров exc(N-1) сохраняется и используется в качестве следующего exc(-1).
n, HP
Чтобы сместить шум ближе к более высоким частотам, сигнал возбуждения фильтруется с пропусканием высоких частот посредством 11-коэффициентного фильтра FIR линейной фазы, описанного в таблице ниже, чтобы получить exc(k).
<i>f</i><sub><i>s</i></sub>
<i>Коэффициенты фильтра FIR высоких частот</i>
8000-16000
{0, -0.0205, -0.0651, -0.1256, -0.1792, 0.8028, -0.1792, -0.1256, -0.0651, -0.0205, 0}
24000-48000
{-0.0517, -0.0587, -0.0820, -0.1024, -0.1164, 0.8786, -0.1164, -0.1024, -0.0820, -0.0587, -0.0517}
n
n, FB
n, HP
Чтобы удостовериться, что шум может затухать к шуму в полной полосе со скоростью затухания в зависимости от коэффициента ослабления α, случайная часть возбуждения, exc(k), составляется посредством линейной интерполяции между полной полосой, exc(k), и фильтрованной с пропусканием высоких частот версией, exc(k), как
где β=1 для первого потерянного кадра после хорошего кадра, и
-1
для второго и дальнейших последовательных потерь кадров, где β - β предыдущего кадра маскировки.
n
Для регулирования уровня шума усиление шума, g', вычисляется как
c
n
n
n
c
n
n
n
Если T=pitch_int после раздела 8.2.2, то g=g'. Иначе второе усиление шума, g", вычисляется, как в уравнении выше, но с T равным pitch_int . Далее g=min(g', g").
n
p
Для дополнительной обработки g сначала нормализуется и затем умножается на (1,1-0,75g), чтобы получить  .
n
n
n
Формируемое случайное возбуждение, exc(k), ослабляется однородно с  от первой выборки до пятой выборки и следует от выборки к выборке на протяжении кадра, начиная с  и заканчивая на ⋅α, чтобы получить  (k). Усиление шума, g, вычисляется только в первом потерянном кадре после хорошего кадра и устанавливается как g⋅α для дальнейших последовательных потерь кадров.
8.2.4. Построение полного возбуждения, синтез и постобработка
t
Случайное возбуждение,  , добавляется к периодическому возбуждению,  , чтобы сформировать полный сигнал возбуждения exc(k). Окончательный синтезированный сигнал для кадра маскировки получается путем фильтрации полного возбуждения фильтром LP из раздела 8.2.1 и постобрабатывается обратным фильтром искажения.
8.2.5. Подавление искажений временной области
TDAC
Чтобы получить надлежащее наложение с добавлением в случае, когда следующий кадр является хорошим кадром, часть подавления искажений временной области, x(k), может генерироваться. Для этого N-Z дополнительных выборок создается так же, как описано выше, чтобы получить сигнал x(k) для k=0...2N-Z. При этом часть подавления искажений временной области создается посредством этапов, на которых:
Заполняют нулями синтезированный буфер временной области x(k)
N
Осуществляют кадрирование  посредством окна MDCT w(k)
Восстанавливают форму из 2N в N
Восстанавливают форму из N в 2N
N
Осуществляют кадрирование  посредством отраженного окна MDCT w(k)
8.2.6. Обработка множества потерь кадров
-1
p
Построенный сигнал затухает к нулю. Скоростью затухания управляет коэффициент ослабления, α, который зависит от предыдущего коэффициента ослабления, α, усиления основного тона, g, вычисленного над последним верно принятым кадром, количества последовательных стертых кадров, nbLostCmpt, и стабильности, θ. Следующая процедура может быть использована, чтобы вычислить коэффициент ослабления, α
scf
k
scf
-2
-1
Коэффициент Ɵ (стабильность последних двух смежных векторов коэффициентов масштабирования () и (k)) может быть получен, например, как:
scf
scf
-2
-1
где (k) и (k) - вектора коэффициентов масштабирования последних двух смежных кадров. Коэффициент θ ограничен как 0≤θ≤1, где большие значения θ соответствуют более стабильным сигналам. Это ограничивает флуктуации энергии и спектральной огибающей. Если два смежных вектора коэффициентов масштабирования отсутствуют, коэффициент θ устанавливается как 0,8.
X
X
X
X
s
s
s
s
Чтобы предотвратить быстрое увеличение высокой энергии, спектр фильтруется с пропусканием низких частот как (0)=(0)⋅0,2 и (1)=(1)⋅0,5.
8.3. Операция сокрытия, относящаяся к LTPF
Если mem_ltpf_active=1 в кадре маскировки, ltpf_active устанавливается как 1, если способом маскировки является повтор кадра MDCT с кодированием сигнала или маскировка временной области TCX. Таким образом, долговременный постфильтр применяется к синтезированному сигналу временной области, как описано в разделе 5, но при
где gain_ltpf_past - усиление LTPF предыдущего кадра, и α - коэффициент ослабления. Значения основного тона pitch_int и pitch_fr, которые используются для LTPF, используются повторно из предыдущего кадра.
9. Декодер с фиг.9
Фиг.9 изображает структурное схематичное представление аудиодекодера 300 согласно одному примеру (который может, например, быть осуществлением устройства 70).
Аудиодекодер 300 может быть выполнен с возможностью приёма кодированной информации 310 аудиосигнала (которая может, например, быть кодированной информацией 12, 12', 12" аудиосигнала) и обеспечения на ее основе декодированной аудиоинформации 312).
Аудиодекодер 300 может содержать анализатор 320 битового потока (который может также быть обозначен как «средство деформатирования битового потока» или «синтаксический анализатор битового потока»), который может соответствовать средству 71 считывания битового потока. Анализатор 320 битового потока может принимать кодированную информацию 310 аудиосигнала и обеспечивать на ее основе представление 322 в частотной области и управляющую информацию 324.
Управляющая информация 324 может содержать информацию 16b, 17b основного тона (например, "ltpf_pitch_lag") и дополнительную информацию гармоничности, такую как дополнительная информация гармоничности или информация усиления (например, "ltpf_gain"), а также элементы управляющих данных, такие как 16c, 17c, 18c, ассоциированные с гармоничностью аудиосигнала 11 в декодере.
Управляющая информация 324 может также содержать элементы управления данных (например, 16c, 17c). Средство 325 выбора (например, соответствующее средству 78 выбора с фиг.7) показывает, что информация основного тона обеспечивается компоненту 376 LTPF под управлением управляющих элементов (которыми в свою очередь управляет информация гармоничности, полученная в кодере): если гармоничность кодированной информации 310 аудиосигнала слишком низка (например, ниже второго порогового значения, рассмотренного выше), компонент 376 LTPF не принимает информацию основного тона.
Представление 322 в частотной области может, например, содержать кодированные спектральные значения 326, кодированные коэффициенты 328 масштабирования и, при необходимости, дополнительную побочную информацию 330, которая может, например, управлять конкретными этапами обработки, как, например, заполнение шума, промежуточная обработка или постобработка. Аудиодекодер 300 может также содержать компонент 340 декодирования спектральных значений, который может быть выполнен с возможностью приёма кодированных спектральных значений 326 и обеспечения на их основе набора декодированных спектральных значений 342. Аудиодекодер 300 может также содержать компонент 350 декодирования коэффициентов масштабирования, который может быть выполнен с возможностью приёма кодированных коэффициентов 328 масштабирования и обеспечения на их основе набора декодированных коэффициентов 352 масштабирования.
В качестве альтернативы к декодированию коэффициентов масштабирования, компонент 354 преобразования из LPC в коэффициент масштабирования может быть использован, например, в случае, когда кодированная аудиоинформация содержит кодированную информацию LPC вместо информации коэффициента масштабирования. Однако в некоторых режимах кодирования (например, в режиме декодирования TCX аудиодекодера USAC или в аудиодекодере EVS) набор коэффициентов LPC может быть использован, чтобы найти набор коэффициентов масштабирования на стороне аудиодекодера. Эти функциональные возможности могут достигаться компонентом 354 преобразования из LPC в коэффициент масштабирования.
Аудиодекодер 300 может также содержать факультативный обрабатывающий блок 366 для выполнения факультативной обработки сигналов (такой как, например, заполнение шума; и/или формирование временного шума; TNS и так далее), которая может применяться к декодированным спектральным значениям 342. Обработанная версия 366' декодированных спектральных значений 342 может выводиться обрабатывающим блоком 366.
Аудиодекодер 300 может также содержать средство 360 масштабирования, которое может быть выполнено с возможностью применения набора масштабированных коэффициентов 352 к набору спектральных значений 342 (или их обработанных версий 366'), чтобы тем самым получить набор масштабированных значений 362. Например, первая полоса частот, содержащая множество декодированных спектральных значений 342 (или их обработанных версий 366'), может быть масштабирована с использованием первого коэффициента масштабирования, и вторая полоса частот, содержащая множество декодированных спектральных значений 342, может быть масштабирована с использованием второго коэффициента масштабирования. Соответственно, получается набор масштабированных значений 362.
Аудиодекодер 300 может также содержать преобразование 370 из частотной области во временную область, которое может быть выполнено с возможностью приёма масштабированных значений 362 и обеспечения представления 372 временной области, ассоциированного с набором масштабированных значений 362. Например, преобразование 370 из частотной области во временную область может обеспечивать представление 372 временной области, которое ассоциировано с кадром или подкадром аудиосодержимого. Например, преобразование из частотной области во временную область может принимать набор коэффициентов MDCT (или MDST) (которые могут рассматриваться как масштабированные декодированные спектральные значения) и обеспечивать на их основе блок выборок временной области, которые могут формировать представление 372 временной области.
Аудиодекодер 300 также содержит компонент 376 LTPF, который может соответствовать средству 72 управления фильтра и LTPF 73. Компонент 376 LTPF может принимать представление 372 временной области и в некоторой степени модифицировать представление 372 временной области, чтобы тем самым получить постобработанную версию 378 представления 372 временной области.
Аудиодекодер 300 может также содержать компонент 380 маскировки ошибки, который может, например, соответствовать блоку 75 маскировки (для выполнения функции PLC). Компонент 380 маскировки ошибки может, например, принимать представление 372 временной области от преобразования 370 из частотной области во временную область, и может, например, обеспечивать аудиоинформацию 382 маскировки ошибки для одного или более потерянных аудиокадров. Иными словами, если аудиокадр потерян, так, что, например, никакие кодированные спектральные значения 326 не доступны для упомянутого аудиокадра (или аудиоподкадра), компонент 380 маскировки ошибки может обеспечивать аудиоинформацию маскировки ошибки на основе представления 372 временной области, ассоциированного с одним или более аудиокадрами, предшествующими потерянному аудиокадру. Аудиоинформация маскировки ошибки может обычно быть представлением временной области аудиосодержимого.
В отношении маскировки ошибки следует заметить, что сокрытие ошибки не происходит в то же время, что и декодирование кадра. Например, если кадр n хороший, то мы осуществляем обычное декодирование, и в конце мы сохраняем некоторые переменные, которые помогут, если будет необходимость маскировать следующий кадр, тогда, если n+1 потерян, мы вызываем функцию маскировки, обеспечивая переменные, происходящие из предыдущего хорошего кадра. Мы также будем обновлять некоторые переменные для помощи в следующей потере кадра или в восстановлении до следующего хорошего кадра.
Таким образом, компонент 380 маскировки ошибки может быть соединен с компонентом 327 хранения, в котором значения 16b, 17b, 17d сохраняются в реальном времени для будущего использования. Они будет использованы, только если последующие кадры будут распознаны как нечисто декодированные. Иначе значения, сохраненные в компоненте 327 хранения, будут обновляться в реальном времени с новыми значениями 16b, 17b, 17d.
В примерах компонент 380 маскировки ошибки может выполнять повтор разрешения кадра MDCT (или MDST) с кодированием сигнала, и/или маскировку временной области TCX, и/или ECU фазы. В примерах существует возможность активно распознавать предпочитаемую методику динамически и использовать ее.
Аудиодекодер 300 может также содержать компонент 390 комбинации сигналов, который может быть сконфигурирован с возможностью приёма фильтрованного (постобработанного) представления 378 временной области. Комбинация 390 сигналов может принимать аудиоинформацию 382 маскировки ошибки, которая также может быть представлением временной области аудиосигнала маскировки ошибки, предусмотренного для потерянного аудиокадра. Комбинация 390 сигналов может, например, комбинировать представления временной области, ассоциированные с последующими аудиокадрами. В случае, если существуют последующие корректно декодированные аудиокадры, комбинация 390 сигналов может комбинировать (например, путем наложения с добавлением) представления временной области, ассоциированные с этими последующими корректно декодированными аудиокадрами. Однако если аудиокадр потерян, комбинация 390 сигналов может комбинировать (например, путем наложения с добавлением) представление временной области, ассоциированное с корректно декодированным аудиокадром, предшествующим потерянному аудиокадру, и аудиоинформацию маскировки ошибки, ассоциированную с потерянным аудиокадром, чтобы тем самым иметь плавный переход между корректно принятым аудиокадром и потерянным аудиокадром. Подобным образом, комбинация 390 сигналов может быть выполнена с возможностью объединения (например, путем наложения с добавлением) аудиоинформации маскировки ошибки, ассоциированной с потерянным аудиокадром, и представления временной области, ассоциированного с другим корректно декодированным аудиокадром, следующим за потерянным аудиокадром (или другой аудиоинформации маскировки ошибки, ассоциированной с другим потерянным аудиокадром в случае, если потеряно множество последовательных аудиокадров).
Соответственно, комбинация 390 сигналов может обеспечивать декодированную аудиоинформацию 312 таким образом, что представление 372 временной области, или его постобработанная версия 378, обеспечивается для корректно декодированных аудиокадров, и таким образом, что для потерянных аудиокадров обеспечивается аудиоинформация 382 маскировки ошибки, причем операция наложения с добавлением может выполняться между аудиоинформацией (независимо от того, обеспечена ли она преобразованием 370 из частотной области во временную область или же компонентом 380 маскировки ошибки) последующих аудиокадров. Поскольку некоторые кодеки имеют некоторые искажения в части наложения с добавлением, которые должны быть подавлены, при необходимости мы можем создать некоторые искусственные искажения на половине кадра, который мы создали, чтобы выполнить наложение с добавлением.
При этом компонент 380 маскировки может принимать на входе информацию основного тона и/или информацию усиления (16b, 17b, 17d), даже если последняя не обеспечена компоненту LTPF: это так, поскольку компонент 380 маскировки может оперировать с гармоничностью ниже, чем гармоничность, на которой компонент 370 LTPF должен оперировать. Как объяснено выше, когда гармоничность выше первого порогового значения, но ниже второго порогового значения, функция маскировки может быть активна, даже если функция LTPF деактивирована или уменьшена.
При этом другие осуществления могут быть выбраны. В частности, компоненты, отличные от компонентов 340, 350, 354, 360 и 370, могут быть использованы.
При этом в примерах, в которых предусмотрено, что может быть использован третий кадр 18" (например, без полей 16b, 17b, 16c, 17c), когда третий кадр 18" получается, никакая информация от третьего кадра 18" не используется для компонента 376 LTPF и для компонента 380 маскировки ошибки.
10. Способ с фиг.10
Способ 100 показан на фиг.10. На этапе S101 кадр (12, 12', 12") может декодироваться средством (71, 320) считывания. В примерах кадр может приниматься (например, через соединение Bluetooth) и/или получаться из блока хранения.
На этапе S102 действительность кадра проверяется (например посредством CRC, контроля по четности и т. д.). Если недействительность кадра подтверждена, выполняется маскировка (см. ниже).
Иначе, если кадр сохраняет действительность, на этапе S103 проверяется, кодирована ли информация основного тона в кадре. Например, значение поля 18e ("ltpf_pitch_lag_present") в кадре 12" проверяется. В примерах информация основного тона кодируется, только если гармоничность была подтверждена как превосходящая первое пороговое значение (например, блоком 21 и/или на этапе S61). Однако декодер не выполняет сравнение.
Если на S103 подтверждается, что информация основного тона фактически кодирована (например, ltpf_pitch_lag_present=1 по настоящему соглашению), то информация основного тона декодируется (например, из поля, кодирующего информацию 16b или 17b основного тона, "ltpf_pitch_lag") и сохраняется на этапе S104. Иначе цикл заканчивается, и новый кадр может декодироваться на S101.
После этого на этапе S105 проверяется, предусмотрена ли возможность LTPF, т.е. существует ли возможность использовать информацию основного тона для LTPF. Это подтверждение может выполняться путем проверки соответственного управляющего элемента (например, 16c, 17c, "ltpf_active"). Это может означать, что гармоничность выше второго порогового значения (например, как распознано блоком 22 и/или на этапе S63) и/или что временное развитие не является чрезвычайно сложным (сигнал достаточно плоский на интервале времени). Однако сравнение(-я) не осуществляется(-ются) декодером.
Если подтверждается, что LTPF активен, то LTPF выполняется на этапе S106. Иначе LTPF пропускается. Цикл заканчивается. Новый кадр может декодироваться на S101.
Что касается маскировки, последняя может подразделяться на этапы. На этапе S107 подтверждается, сохранена ли информация основного тона предыдущего кадра (или информация основного тона одного из предыдущих кадров) в памяти (т.е. она в нашем распоряжении).
Если подтверждается, что искомая информация основного тона сохранена, то маскировка ошибки может выполняться (например, компонентом 75 или 380) на этапе S108. Может выполняться повтор разрешения кадра MDCT (или MDST) с кодированием сигнала, и/или маскировка временной области TCX, и/или ECU фазы.
Иначе, если на S107 подтверждается, что никакой свежей информации основного тона не сохранено (как следствие того, что предыдущие кадры были ассоциированы с чрезвычайно низкой гармоничностью или чрезвычайно высокой вариацией сигнала), на этапе S109 может быть использована другая методика маскировки, по существу известная и не подразумевающая использование информации основного тона, обеспеченной кодером, . Некоторые из этих методик могут основываться на оценке информации основного тона и/или другой информации гармоничности в декодере. В некоторых примерах никакая методика маскировки может не выполняться в этом случае.
После выполнения маскировки цикл заканчивается, и новый кадр может декодироваться на S101.
11. Рассмотрение решения
Предлагаемое решение может рассматриваться как сохранение только одного средства обнаружения основного тона на стороне кодера и посылание параметра запаздывания основного тона всегда, когда LTPF или PLC нуждаются в этой информации. Один бит используется, чтобы сигнализировать, присутствует ли информация основного тона в битовом потоке. Один дополнительный бит используется, чтобы сигнализировать, активен ли LTPF.
Путем использования двух бит сигнализации вместо одного предлагаемое решение имеет возможность непосредственно обеспечить информацию запаздывания основного тона обоим модулям без какой-либо дополнительной сложности даже в случае, когда PLC на основе основного тона активно, а LTPF нет.
Соответственно, комбинация низкой сложности LTPF и PLC на основе основного тона может быть получена.
11.1. Кодер
a. Одно запаздывание основного тона на кадр оценивается с использованием алгоритма обнаружения основного тона. Это может быть осуществлено в 3 этапа, чтобы уменьшить сложность и улучшить точность. Первое запаздывание основного тона грубо оценивается с использованием «анализа основного тона разомкнутой системы» при уменьшенной частоте дискретизации (см., например, [1] или [5]). Целая часть запаздывания основного тона затем уточняется путем максимизации корреляционной функции на более высокой частоте дискретизации. Третий этап состоит в том, чтобы оценить дробную часть запаздывания основного тона путем, например, максимизации интерполированной корреляционной функции.
ltpf_pitch_lag_present
ltpf_pitch_lag
ltpf_pitch_lag_present
b. Решение принимается, кодировать или нет запаздывание основного тона в битовом потоке. Мера гармоничности сигнала может быть использована, такая как, например, нормализованная корреляция. Бит  затем устанавливается как 1, если гармоничность сигнала выше порогового значения, и 0 в остальных случаях. Запаздывание основного тона  кодируется в битовом потоке, если  равно 1.
ltpf_pitch_lag_present
ltpf_active
c. В случае, когда  равно 1, второе решение принимается, активировать или нет инструмент LTPF в текущем кадре. Это решение может также основываться на гармоничности сигнала, такой как, например, нормализованная корреляция, но с более высоким пороговым значением и дополнительно с механизмом неоднозначной зависимости для того, чтобы обеспечить стабильное решение. Это решение устанавливает бит .
ltpf_active
d. (при необходимости) В случае, когда  равно 1, усиление LTPF оценивается и кодируется в битовом потоке. Усиление LTPF может оцениваться с использованием функции на основе корреляции и квантоваться с использованием однородного квантования.
11.2. Битовый поток
Синтаксис битового потока изображен на фиг.8a и 8b согласно примерам.
11.3. Декодер
Если декодер верно принимает неповрежденный кадр:
a. Данные LTPF декодируются из битового потока
ltpf_pitch_lag_present
ltpf_active
b. Если  равно 0 или  равно 0, то декодер LTPF вызывается с усилением LTPF 0 (нет запаздывания основного тона в таком случае).
ltpf_pitch_lag_present
ltpf_active
c. Если  равно 1 и  равно 1, то декодер LTPF вызывается с декодированным запаздыванием основного тона и декодированным усилением.
Если декодер принимает поврежденный кадр или если кадр потерян:
a. Решение принимается, использовать ли PLC на основе основного тона для маскировки потерянного/поврежденного кадра. Это решение основано на данных LTPF последнего хорошего кадра плюс, возможно, другой информации.
ltpf_pitch_lag_present
b. Если  последнего хорошего кадра равно 0, то PLC на основе основного тона не используется. Другой способ PLC используется в таком случае, такой как, например, повтор кадра с кодированием сигнала (см. [7]).
ltpf_pitch_lag_present
ltpf_pitch_lag
c. Если  последнего хорошего кадра равно 1 и, возможно, другие условия выполняются, то PLC на основе основного тона используется для маскировки потерянного/поврежденного кадра. Модуль PLC использует запаздывание основного тона , декодированное из битового потока последнего хорошего кадра.
12. Дополнительные примеры
Фиг.11 изображает систему 110, которая может осуществлять устройство 10 или 10' кодирования и/или выполнять способ 60. Система 110 может содержать процессор 111 и постоянный блок 112 памяти, хранящий команды, которые при выполнении процессором 111 могут побуждать процессор 111 выполнять оценку 113 основного тона (например, осуществлять средство 13 оценки основного тона), анализ 114 сигнала (например, осуществлять анализатор 14 сигнала и/или средство 24 измерения гармоничности) и формирование 115 битового потока (например, осуществлять средство 15 формирования битового потока и/или этапы S62, S64 и/или S66). Система 110 может содержать блок 116 ввода, который может получать аудиосигнал (например, аудиосигнал 11). Процессор 111 может, таким образом, выполнять процессы, чтобы получить кодированное представление (например, в формате кадров 12, 12', 12") аудиосигнала. Это кодированное представление может быть обеспечено внешним блокам с использованием блока 117 вывода. Блок 117 вывода может содержать, например, блок связи, чтобы осуществлять связь с внешними устройствами (например, с использованием беспроводной связи, такой как Bluetooth) и/или внешними местами хранения. Процессор 111 может сохранять кодированное представление аудиосигнала в локальном месте 118 хранения.
Фиг.12 изображает систему 120, которая может осуществлять устройство 70 или 300 декодирования и/или выполнять способ 100. Система 120 может содержать процессор 121 и постоянный блок 122 памяти, хранящий команды, которые при выполнении процессором 121 могут побуждать процессор 121 выполнять считывание 123 битового потока (например, осуществлять средство 71 и/или 320 считывания основного тона, и/или этап S101 блока 75 или 380, и/или этапы S107-S109), управление 124 фильтром (например, осуществлять LTPF 73 или 376 и/или этап S106) и маскировку 125 (например, для осуществления). Система 120 может содержать блок 126 ввода, который может получать декодированное представление аудиосигнала (например, в форме кадров 12, 12', 12"). Процессор 121 может, таким образом, выполнять процессы, чтобы получить декодированное представление аудиосигнала. Это декодированное представление может быть обеспечено внешним блокам с использованием блока 127 вывода. Блок 127 вывода может содержать, например, блок связи, чтобы осуществлять связь со внешними устройствами (например, с использованием беспроводной связи, такой как Bluetooth) и/или внешними местами хранения. Процессор 121 может сохранять декодированное представление аудиосигнала в локальном месте 128 хранения.
В примерах системы 110 и 120 могут быть одним и тем же устройством.
Фиг.13 изображает способ 1300 согласно одному примеру. На стороне кодера на этапе S130 способ может обеспечивать кодирование аудиосигнала (например, согласно любому из способов выше или с использованием по меньшей мере некоторых из устройств, рассмотренных выше) и получать информацию гармоничности и/или информацию основного тона.
На стороне кодера на этапе S131 способ может обеспечивать определение (например, на основе информации гармоничности, такой как измерения гармоничности), подходит ли информация основного тона для по меньшей мере LTPF и/или функции маскировки ошибки для операции на стороне декодера.
На стороне кодера на этапе S132 способ может обеспечивать передачу от кодера (например, беспроводным образом, например, с использованием Bluetooth) и/или сохранение в памяти битового потока, включающего в себя цифровое представление аудиосигнала и информацию, ассоциированную с гармоничностью. Этап может также обеспечивать сигнализацию декодеру о том, приспособлена ли информация основного тона к LTPF и/или маскировке ошибки. Например, третий управляющий элемент 18e ("ltpf_pitch_lag_present") может сигнализировать, что информация основного тона (кодированная в битовом потоке) приспособлена или не приспособлена по меньшей мере к маскировке ошибки согласно значению, кодированному в третьем управляющем элементе 18e. Например, первый управляющий элемент 16a (ltpf_active=0) может сигнализировать, что информация основного тона (кодированная в битовом потоке как "ltpf_pitch_lag") приспособлена к маскировке ошибки, но не приспособлена к LTPF (например, ввиду ее промежуточной гармоничности). Например, второй управляющий элемент 17a (ltpf_active=1) может сигнализировать, что информация основного тона (кодированная в битовом потоке как "ltpf_pitch_lag") приспособлена как к маскировке ошибки, так и к LTPF (например, ввиду ее более высокой гармоничности).
На стороне декодера способ может обеспечивать на этапе S134 декодирование цифрового представления аудиосигнала и использование информации основного тона LTPF и/или маскировку ошибки согласно сигнализации от кодера.
В зависимости от конкретных требований осуществления, примеры могут осуществляться в аппаратных средствах. Осуществление может выполняться с использованием цифрового носителя данных, например гибкого диска, универсального цифрового диска (DVD), диска Blu-Ray, компакт-диска (CD), постоянного запоминающего устройства (ROM), программируемого постоянного запоминающего устройства (PROM), стираемого и программируемого постоянного запоминающего устройства (EPROM), электрически стираемого программируемого постоянного запоминающего устройства (EEPROM) или флэш-памяти, имеющего электронно читаемые управляющие сигналы, сохраненные на нем, которые взаимодействуют (или имеют возможность взаимодействия) с программируемой компьютерной системой так, чтобы выполнялся соответственный способ. Таким образом, цифровой носитель данных может быть машиночитаемым.
В общем случае примеры могут осуществляться в качестве компьютерного программного продукта с программными командами, причем программные команды имеют возможность оперировать для выполнения одного из способов, когда компьютерный программный продукт выполняется на компьютере. Программные команды могут, например, сохраняться на машиночитаемом носителе.
Другие примеры содержат компьютерную программу для выполнения одного из способов, описанных здесь, сохраненную на машиночитаемом носителе. Иными словами, пример способа является, таким образом, компьютерной программой, имеющей программные команды для выполнения одного из способов, описанных здесь, когда компьютерная программа выполняется на компьютере.
Дополнительный пример способов, таким образом, представляет собой носитель данных (или цифровой носитель данных, или машиночитаемый носитель), содержащий записанную на нем компьютерную программу для выполнения одного из способов, описанных здесь. Носитель данных, цифровой носитель данных или носитель записи являются физическими и/или постоянными, а не сигналами, которые не являются физическими носителями и не являются постоянными.
Дополнительный пример содержит блок обработки, например компьютер, или программируемое логическое устройство, выполняющее один из способов, описанных здесь.
Дополнительный пример содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных здесь.
Дополнительный пример содержит устройство или систему, переносящую (например, электронным или оптическим образом) компьютерную программу для выполнения одного из способов, описанных здесь, к приемнику. Приемник может, например, быть компьютером, мобильным устройством, устройством памяти или подобным. Устройство или система может, например, содержать файловый сервер для переноса компьютерной программы к приемнику.
В некоторых примерах может быть использовано программируемое логическое устройство (например, программируемая пользователем вентильная матрица) для выполнения некоторых или всех из функциональных возможностей способов, описанных здесь. В некоторых примерах программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для выполнения одного из способов, описанных здесь. В общем случае способы могут выполняться любым надлежащим аппаратным устройством.
Вышеописанные примеры являются иллюстрацией принципов, рассмотренных выше. Следует понимать, что будут очевидны модификации и вариации конфигураций и подробностей, описанных здесь,. Таким образом, подразумевается, что изобретение ограничено объемом нижеприведённой формулы изобретения, а не конкретными подробностями, представленными здесь в качестве описания и пояснения примеров.