ВЫБОР ЗАДЕРЖКИ ОСНОВНОГО ТОНА
SELECTION OF PITCH DELAY

В настоящей заявке представлены примеры способов и устройств, которые допускают выполнение несложной процедуры определения основного тона, например, для долговременной постфильтрации (LTPF), кодирования.
Например, примеры способны выбирать задержку основного тона для информационного сигнала, например, аудиосигнала, например, для выполнения LTPF.
1.1. Уровень техники изобретения
Аудиокодеки на основе преобразования обычно вносят межгармонический шум, при обработке гармонических аудиосигналов, в частности, с малой задержкой и низким битрейтом. Этот межгармонический шум обычно воспринимается в форме очень раздражающего артефакта, значительно сокращая качество функционирования аудиокодека на основе преобразования, при субъективной оценке на высокотональном аудиоматериале.
Долговременная постфильтрация (LTPF) является инструментальным средством для аудиокодирования на основе преобразования, которое способствует подавлению упомянутого межгармонического шума. Она основана на постфильтре, который применяется к сигналу во временной области после декодирования с преобразованием. Упомянутый постфильтр является, по существу, фильтром с бесконечной импульсной характеристикой (БИХ-фильтром) с гребенчатой частотной характеристикой, управляемым двумя параметрами: задержкой основного тона и усилением.
Для повышения устойчивости, параметры постфильтра (задержка основного тона и/или усиление на кадр) оцениваются на кодирующей стороне и кодируются в поток битов, когда усиление не равно нулю. Случай нулевого усиления сигнализируется одним битом и соответствует неактивному постфильтру, используемому, когда сигнал не содержит гармонической части.
LTPF впервые применена в стандарте 3GPP EVS [1] и позднее интегрирована в стандарт MPEG-H 3D-Audio [2]. Соответствующими патентами являются [3] и [4].
Алгоритм определения основного тона оценивает одну задержку основного тона на кадр. Он выполняется, обычно, с низкой частотой дискретизации (например 6,4 кГц), чтобы снизить сложность. Алгоритм должен, в идеале, обеспечивать точное, стабильное и непрерывное оценивание.
При использовании для кодирования с LTPF, наиболее важно получение непрерывного контура основного тона, иначе в выходном сигнале после LTPF можно услышать некоторые, обусловленные нестабильностью артефакты. Отсутствие истинной основной частоты (например, вследствие наличия нескольких частот) имеет меньшую значимость, так как это не приводит к сильным артефактам, а имеет следствием небольшое ухудшение характеристики LTPF.
Другой важной характеристикой алгоритма определения основного тона является его вычислительная сложность. При реализации в аудиокодеке, предназначенном для устройств малой мощности или даже сверхмалой мощности, его вычислительная сложность должна быть как можно ниже.
1.2. Известный уровень техники
Известен пример кодера с LTPF, который можно найти в опубликованной литературе. Такой кодер описан в стандарте 3GPP EVS [1]. Эта реализация использует алгоритм определения основного тона, описанный в разделе 5.1.10 описания стандарта. Упомянутый алгоритм определения основного тона имеет высокую эффективность и очень хорошо работает с LTPF, так как он выдает очень стабильный и непрерывный контур основного тона. Однако его основным недостатком является относительно высокая сложность.
Другие существующие алгоритмы определения основного тона, даже никогда не применявшиеся для кодирования с LTPF, можно использовать, теоретически, для LTPF. Одним примером является YIN [6], алгоритм определения основного тона, часто считающийся одним из наиболее точных. Однако YIN является очень сложным, даже значительно более сложным, чем алгоритм, описанный в [1].
Другим примером, стоящим упоминания, является алгоритм определения основного тона, используемый в стандарте 3GPP AMR-WB [7], который имеет значительно меньшую сложность, чем алгоритм, описанный в [1], но, при этом, худшую эффективность, в частности, он дает менее стабильный и непрерывный контур основного тона. Известный уровень техники раскрывается в следующих публикациях:
[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] De Cheveigné, Alain, and Hideki Kawahara. "YIN, a fundamental frequency estimator for speech and music." The Journal of the Acoustical Society of America 111.4 (2002): 1917-1930.
[7] 3GPP TS 26.190; Speech codec speech processing functions; Adaptive Multi-Rate - Wideband (AMR-WB) speech codec; Transcoding functions.
Однако существуют несколько случаев, для которых следует улучшить оценивание задержки основного тона.
Текущие алгоритмы определения основного тона низкой сложности (подобные алгоритму, описанному в [7]) имеют эффективность, которая не удовлетворительна для LTPF, в частности, при сложных сигналах, подобных полифонической музыке. Контур основного тона может быть очень нестабильным, даже во время устойчивых тонов. Это обусловлено скачками между локальными максимумами взвешенной автокорреляционной функции.
Следовательно, существует потребность в получении оценок задержки основного тона, которые лучше подходят к комплексным сигналам, с такой же или меньшей сложностью, чем в известном уровне техники.
2. Сущность изобретения
В соответствии с примерами предлагается устройство для кодирования информационного сигнала, включающего в себя множество кадров, при этом устройство содержит:
первый блок оценки, выполненный с возможностью получения первой оценки, причем первая оценка является оценкой задержки основного тона для текущего кадра;
второй блок оценки, выполненный с возможностью получения второй оценки, причем вторая оценка является другой оценкой задержки основного тона для текущего кадра,
селектор, выполненный с возможностью отбора выбранного значения, посредством выполнения выбора между первой оценкой и второй оценкой, на основе первого и второго корреляционных измерений,
причем второй блок оценки согласован с задержкой основного тона, выбранной в предыдущем кадре, с тем чтобы получить вторую оценку для текущего кадра,
отличающееся тем, что селектор выполнен с возможностью:
выполнения сравнения между:
уменьшенной версией первого корреляционного измерения, относящегося к текущему кадру и полученного при задержке, соответствующей первой оценке; и
вторым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей второй оценке,
чтобы выбрать первую оценку, когда второе корреляционное измерение меньше, чем уменьшенная версия первого корреляционного измерения, и/или
выбрать вторую оценку, когда второе корреляционное измерение больше, чем уменьшенная версия первого корреляционного измерения,
причем, по меньшей мере, одно из первого и второго корреляционных измерений является автокорреляционным измерением и/или нормированным автокорреляционным измерением.
В соответствии с примерами предлагается устройство для кодирования информационного сигнала в поток битов (63), включающий в себя множество кадров, при этом устройство (60a) содержит:
блок определения, содержащий:
первый блок оценки, выполненный с возможностью получения первой оценки, причем первая оценка является оценкой задержки основного тона для текущего кадра;
второй блок оценки, выполненный с возможностью получения второй оценки, причем вторая оценка является другой оценкой задержки основного тона для текущего кадра, причем второй блок оценки согласован с задержкой основного тона, выбранной в предыдущем кадре, с тем чтобы получить вторую оценку для текущего кадра;
селектор, выполненный с возможностью отбора выбранного значения посредством выполнения выбора между первой оценкой и второй оценкой, на основе, по меньшей мере, одного корреляционного измерения, причем селектор выполнен с возможностью выполнения сравнения между:
вторым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей второй оценке; и
порогом выбора задержки основного тона,
чтобы выбрать вторую оценку, когда второе корреляционное измерение выше порога выбора задержки основного тона; и/или
выбрать первую оценку, когда второе корреляционное измерение ниже порога выбора задержки основного тона; и
инструментальное средство долговременной постфильтрации (LTPF), выполненное с возможностью кодирования данных, используемых для выполнения LTPF в декодере, причем данные, используемые для выполнения LTPF, включают в себя выбранное значение.
В соответствии с примерами предлагается устройство для кодирования информационного сигнала, включающего в себя множество кадров, при этом устройство содержит:
первый блок оценки, выполненный с возможностью получения первой оценки, причем первая оценка является оценкой задержки основного тона для текущего кадра;
второй блок оценки, выполненный с возможностью получения второй оценки, причем вторая оценка является другой оценкой задержки основного тона для текущего кадра,
селектор, выполненный с возможностью отбора выбранного значения посредством выполнения выбора между первой оценкой и второй оценкой, на основе, по меньшей мере, одного корреляционного измерения,
причем второй блок оценки согласован с задержкой основного тона, выбранной в предыдущем кадре, чтобы получить вторую оценку для текущего кадра.
В соответствии примерами, селектор выполнен с возможностью выполнения сравнения между:
вторым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей второй оценке; и
порогом выбора задержки основного тона,
чтобы выбрать вторую оценку, когда второе корреляционное измерение выше порога выбора задержки основного тона; и/или
выбрать первую оценку, когда второе корреляционное измерение ниже порога выбора задержки основного тона.
В соответствии с примерами, селектор выполнен с возможностью выполнения сравнения между:
первым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей первой оценке; и
вторым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей второй оценке,
чтобы выбрать первую оценку, когда первое корреляционное измерение, по меньшей мере, больше, чем второе корреляционное измерение, и/или
выбрать вторую оценку, когда первое корреляционное измерение, по меньшей мере, меньше, чем второе корреляционное измерение.
В соответствии с примерами, селектор выполнен с возможностью:
выполнения сравнения между:
уменьшенной версией первого корреляционного измерения, относящегося к текущему кадру и полученного при задержке, соответствующей первой оценке; и
вторым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей второй оценке,
чтобы выбрать первую оценку, когда второе корреляционное измерение меньше, чем уменьшенная версия первого корреляционного измерения, и/или
выбрать вторую оценку, когда второе корреляционное измерение больше, чем уменьшенная версия первого корреляционного измерения.
В соответствии с примерами, по меньшей мере, одно из первого и второго корреляционных измерений является автокорреляционным измерением и/или нормированным автокорреляционным измерением.
Может быть реализован кодер преобразования для формирования представления информационного сигнала или его обработанной версии.
В соответствии с примерами, второй блок оценки выполнен с возможностью:
получения второй оценки посредством поиска задержки, которая максимизирует вторую корреляционную функцию во втором подынтервале, который содержит задержку основного тона, выбранную для предыдущего кадра.
В соответствии с примерами, второй подынтервал содержит задержки в пределах расстояния меньше, чем предварительно заданный порог числа задержек от задержки основного тона, выбранной для предыдущего кадра.
В соответствии с примерами, второй блок оценки выполнен с возможностью:
поиска максимального значения среди значений второй корреляционной функции, чтобы поставить вторую оценку в соответствие с задержкой, относящейся к максимальному значению среди значений второй корреляционной функции.
В соответствии с примерами, первый блок оценки выполнен с возможностью:
получения первой оценки в виде задержки, которая максимизирует первую корреляционную функцию, относящуюся к текущему кадру.
В соответствии с примерами, первая корреляционная функция ограничена задержками в первом подынтервале.
В соответствии с примерами, первый подынтервал содержит число задержек больше, чем второй подынтервал, и/или, по меньшей мере, некоторые из задержек во втором подынтервале содержатся в первом подынтервале.
В соответствии с примерами, первый блок оценки выполнен с возможностью:
присвоения весовых коэффициентов значениям корреляционных измерений первой корреляционной функции с использованием монотонно убывающей весовой функции перед поиском задержки, которая максимизирует первую корреляционную функцию.
В соответствии с примерами, по меньшей мере, одна из второй и первой корреляционных функций является автокорреляционной функцией и/или нормированной автокорреляционной функцией.
В соответствии с примерами, первый блок оценки выполнен с возможностью получения первой оценки  посредством выполнения, по меньшей мере, некоторых из следующих операций:
где  является весовой функцией,  и  относятся к минимальной задержке и максимальной задержке,  является значением автокорреляционного измерения, оцененным на основе информационного сигнала или его обработанной версии, и N является длиной кадра.
В соответствии с примерами, второй блок оценки выполнен с возможностью получения второй оценки  посредством выполнения следующей операции:
где , ,  является выбранной оценкой в предыдущем кадре, и  является расстоянием от ,  и  относятся к минимальной задержке и максимальной задержке.
В соответствии с примерами, селектор выполнен с возможностью выполнения выбора оценки  задержки основного тона следующим образом:
где  является первой оценкой,  является второй оценкой,  является значением информационного сигнала или его обработанной версией,  является нормированным корреляционным измерением сигнала  длительностью , при задержке ,  является коэффициент уменьшения.
В соответствии с примерами предлагается, после селектора, инструментальное средство долговременной постфильтрации (LTPF) для управления долговременным постфильтром в устройстве декодирования.
В соответствии с примерами, информационный сигнал является аудиосигналом.
В соответствии с примерами, устройство выполнено с возможностью получения первого корреляционного измерения в виде измерения гармоничности текущего кадра и второго корреляционного измерения в виде измерения гармоничности текущего кадра, ограниченного подынтервалом, заданным для предыдущего кадра.
В соответствии с примерами, устройство выполнено с возможностью получения первого и второго корреляционных измерений с использованием одной и той же корреляционной функции вплоть до весовой функции.
В соответствии с примерами, устройство выполнено с возможностью получения первого корреляционного измерения в виде нормированной версии первой оценки вплоть до весовой функции.
В соответствии с примерами, устройство выполнено с возможностью получения второго корреляционного измерения в виде нормированной версии второй оценки.
В соответствии с примерами предлагается система, содержащая кодирующую сторону и декодирующую сторону, при этом кодирующая сторона является такой, как описано выше, декодирующая сторона содержит инструментальное средство долговременной постфильтрации, управляемое на основе оценки задержки основного тона выбранной селектором.
В соответствии с примерами предлагается способ для определения задержки основного тона для сигнала, разделенного на кадры, содержащий следующие этапы:
выполняется первое оценивание для текущего кадра;
выполняется второе оценивание для текущего кадра; и
выполняется выбор между первой оценкой, полученной при первом оценивании, и второй оценкой, полученной при втором оценивании, на основе, по меньшей мере, одного корреляционного измерения,
при этом выполнение второго оценивания достигается на основе результата этапа выбора, выполненного в предыдущем кадре.
В соответствии с примерами, способ может содержать использование выбранной задержки для долговременной постфильтрации (LTPF).
В соответствии с примерами, способ может содержать использование выбранной задержки для маскирования потери пакетов (PLC).
В соответствии с примерами предлагается способ для определения задержки основного тона для сигнала, разделенного на кадры, содержащий следующие этапы:
выполняется первое оценивание для текущего кадра;
выполняется второе оценивание для текущего кадра; и
выполняется выбор между первой оценкой, полученной при первом оценивании, и второй оценкой, полученной при втором оценивании, на основе корреляционных измерений,
при этом выполнение второго оценивания достигается на основе результата этапа выбора, выполненного в предыдущем кадре,
отличающийся тем, что выполнение выбора включает в себя выполнение сравнения между:
уменьшенной версией первого корреляционного измерения, относящегося к текущему кадру и полученного при задержке, соответствующей первой оценке; и
вторым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей второй оценке; и
выбор первой оценки, когда второе корреляционное измерение меньше, чем уменьшенная версия первого корреляционного измерения, и/или выбор второй оценки, когда второе корреляционное измерение больше, чем уменьшенная версия первого корреляционного измерения,
причем, по меньшей мере, одно из первого и второго корреляционных измерений является автокорреляционным измерением и/или нормированным автокорреляционным измерением.
В соответствии с примерами, предлагается способ для кодирования потока битов для сигнала, разделенного на кадры, содержащий следующие этапы:
выполняется первое оценивание для текущего кадра;
выполняется второе оценивание для текущего кадра; и
выполняется выбор между первой оценкой, полученной при первом оценивании, и второй оценкой, полученной при втором оценивании, на основе, по меньшей мере, одного корреляционного измерения,
при этом выполнение второго оценивания достигается на основе результата этапа выбора, выполненного в предыдущем кадре,
причем выполнение выбора включает в себя выполнение сравнения между:
вторым корреляционным измерением, относящимся к текущему кадру и полученным при задержке, соответствующей второй оценке; и
порогом выбора задержки основного тона,
выбор второй оценки, когда второе корреляционное измерение выше порога выбора задержки основного тона, и/или выбор первой оценки, когда второе корреляционное измерение ниже порога выбора задержки основного тона; и
способ дополнительно содержит кодирование данных, используемых для выполнения LTPF в декодере, выбранного значения.
В соответствии с примерами предлагается программа, содержащая инструкции, которые, при их исполнении процессором, предписывают процессору выполнять любой из выше- или нижеописанных способов.
3. Описание чертежей
Фиг. 1a и 2 - схемы устройств в соответствии с примерами.
Фиг. 1b - способ в соответствии с примером.
Фиг. 3 и 4 - способы в соответствии с примерами.
Фиг. 5 и 5(1)-5(4) - графики корреляционных функций.
Фиг. 6 - система в соответствии с изобретением.
Фиг. 7 и 8 - устройства в соответствии с изобретением.
Фиг. 9 - примерная схема работы декодера.
5. Примеры выборов и оценивания
Далее раскрываются примеры процедур, систем и устройств выделения основного тона, имеющих низкую сложность, например, для кодирования и/или декодирования с LTPF.
Информационный сигнал может быть описан во временной области (TD) в виде последовательности отсчетов (например, x(n)), полученных в разные дискретные моменты времени (n). Представление TD может содержать множество кадров, каждый из которых соответствует множеству отсчетов. Кадры могут появляться в последовательности один за другим таким образом, что текущий кадр предшествует во времени последующему кадру и следует во времени после предыдущего кадра. Создается возможность циклической работы, чтобы операции, выполненные с предыдущим кадром, повторялись для текущего кадра.
В ходе цикла, относящегося к текущему кадру, можно выполнить, по меньшей мере, некоторые операции (например, вторую оценку), которые согласуются с (обусловлены) выбором, выполненным в предыдущем цикле, относящемся к предыдущему кадру. Следовательно, график сигнала в предыдущем кадре учитывается, например, при выборе задержки основного тона, подлежащей использованию декодером для выполнения долговременной постфильтрации (LTPF).
5.1 Общее устройство и функционирование в соответствии с примерами
1
2
best
Фиг. 1a представляет участок устройства 10 для кодирования информационного сигнала. Устройство 10 может содержать первый блок 11 оценки, выполненный с возможностью выполнения процесса первого оценивания, чтобы получить первую оценку 14 (T) для текущего кадра 13. Устройство 10 может содержать второй блок 12 оценки, выполненный с возможностью выполнения процесса второго оценивания, чтобы получить вторую оценку 16 (T) для текущего кадра 13. Устройство 10 может содержать селектор 17, выполненный с возможностью выполнения выбора 18 между первой оценкой 14 и второй оценкой 16, на основе, по меньшей мере, одного корреляционного измерения (элемент, представленный переключателем 17a, управляется элементом 17). Выходная (окончательная) оценка 19 (T) выбирается между первой оценкой 14 и второй оценкой 16 и может, например, подаваться в декодер, например, для выполнения LTPF. Выходная (окончательная) оценка 19 будет использоваться как задержка основного тона для LTPF.
prev
Окончательная оценка (выбранное значение) 19 может также подаваться на вход регистра 19’ и использоваться, при выполнении цикла на последующем кадре, в качестве входных данных 19” (T) во второй блок 12 оценки, касающихся ранее выполненного выбора. Для каждого кадра 13, второй блок 12 оценки получает вторую оценку 16, на основе предыдущей окончательной оценки 19” для предыдущего кадра.
Фиг. 1b представляет способ 100 (например, для определения задержки основного тона, подлежащей использованию для LPTF) для сигнала, разделенного на кадры. Способ содержит выполнение первого оценивания (оценивание задержки основного тона) для текущего кадра на этапе S101. Способ содержит выполнение второго оценивания для текущего кадра на этапе S102, при этом второе оценивание основано на выборе, выполненным в предыдущем кадре, (например, окончательной задержке основного тона, выбранной для LTPF в предыдущем кадре). Способ содержит выполнение выбора между первой оценкой 14 и второй оценкой 16, на основе, по меньшей мере, одного корреляционного измерения на этапе S103.
Затем, на этапе S104, кадры обновляются: кадр, который был «текущим кадром», становится «предыдущим кадром», а новый (последующий) кадр становится новым «текущим кадром». После обновления, способ можно повторить.
1
2
1
2
best
2
best
1
1
Фиг. 2 представляет участок устройства 10 (который может быть таким же, как на фиг. 1a) для кодирования информационного сигнала. В селекторе 17, первый измерительный блок 21 может измерять первую корреляцию (например, нормированную корреляцию) 23, относящуюся к текущему кадру 13, (например, нормированную автокорреляцию первой оценки T). Второй измерительный блок 22 может измерять вторую корреляцию (например, нормированную корреляцию) 25, относящуюся к текущему кадру 13, (например, нормированную автокорреляцию второй оценки T). Первая нормированная корреляция 23 может быть уменьшена в масштабе в преобразователе 26 масштаба посредством умножения на предварительно заданную величину α, которая может иметь значение, например, 0,8-0,9, в частности 0,84-0,86, и которая может быть равной 0,85. Вторая корреляция (например, нормированная корреляция) 25, относящаяся к текущему кадру 13, может сравниваться, например, с масштабированной первой корреляцией 24 (в примерах, преобразователь 26 масштаба является необязательным, и первая корреляция не масштабируется). Выбор 18 между первой оценкой 14 (T) и второй оценкой 16 (T) основан на сравнении, выполняемом в блоке 27 сравнения. Когда вторая корреляция 25 превышает уменьшенную в масштабе первую корреляцию 24, в качестве информации о задержке основного тона выбирается вторая оценка 16 как выбранная выходная оценка 19 (T=T), подлежащая представлению в декодер (например, подлежащая использованию в качестве задержки основного тона для LTPF). Когда вторая корреляция 25 меньше уменьшенной в масштабе первой корреляции 24, в качестве информации 19 о задержке основного тона (T=T) выбирается первая оценка 14 (T) для представления в декодер.
5.2 Первое оценивание
Далее описаны операции первого блока 11 оценки, которые можно использовать, например, для обеспечения первой оценки 14, на основе текущего кадра 13. Способ 30 представлен на фиг. 3.
Этап 1. 1-я стадия повторной дискретизации (этап S31)
Входной сигнал  с частотой дискретизации  повторно дискретизируется до более низкой частоты дискретизации  (например, ). Повторная дискретизация может выполняться с использованием, например, классического подхода: повышающая дискретизация+низкочастотная фильтрация+понижающая дискретизация. Данный этап является необязательным в некоторых примерах.
Этап 2. Высокочастотная фильтрация (этап S32)
Повторно дискретизированный сигнал подвергается затем высокочастотной фильтрации с использованием, например, БИХ-фильтра 2-го порядка с 3-дБ граничной частотой 50 Гц. Полученный сигнал обозначается . Данный этап является необязательным в некоторых примерах.
Этап 3. 2-я стадия повторной дискретизации (этап S33)
Сигнал  дополнительно подвергается понижающей дискретизации на 2 с использованием низкочастотного фильтра с конечной импульсной характеристикой (КИХ-фильтра) 4-го порядка с последующим прореживателем. Полученный сигнал с частотой дискретизации , (например, ) обозначается . Данный этап является необязательным в некоторых примерах.
Этап 4. Вычисление автокорреляции (этап S34)
Возможно выполнение процесса автокорреляции. Например, автокорреляция может выполняться для  по формуле
где  является размером кадра.  и  являются минимальным и максимальным значениями при выборе задержки основного тона (например,  и ). Следовательно,  и  могут быть крайними точками первого интервала, в котором следует искать первую оценку (задержку основного тона текущего кадра).
Этап 5. Весовая обработка автокорреляции (этап S35)
Автокорреляция может подвергаться весовой обработке для предыскажения меньших задержек основного тона
где  является убывающей функцией (например, монотонно убывающей функцией), заданной, например, выражением
Этап 6. Первое оценивание (этап S36)
Первая оценка  является значением, которое максимизирует взвешенную автокорреляцию:
Первая оценка  может обеспечиваться как выход 14 первого блока 11 оценки. Это может быть оценка задержки основного тона для текущего кадра.
1
Функция  (или ее взвешенная версия ) является примером первой корреляционной функции, максимальное значение которой относится к первой оценке 14 задержки основного тона (T).
5.3 Второе оценивание
Далее описаны операции второго блока 12 оценки (и/или этап S102), которые можно использовать, в примерах, для обеспечения второй оценки 16, на основе текущего кадра 13 и ранее выбранной (выходной) оценки 19” (задержки основного тона, полученной для предыдущего кадра). Способ 40 представлен на фиг. 4. Вторая оценка 16 может отличаться от первой оценки 14. Кроме того, оцененная задержка основного тона может отличаться, в некоторых примерах, от ранее оцененной задержки основного тона.
Как показано на фиг. 5, в соответствии с примерами, на этапе S41, поиск ограничен ограниченной группой задержек, которые находятся в пределах конкретного второго подынтервала 52. Поиск базируется на задержке 51, которая соответствует (ранее) выбранному значению 19”. Поиск ограничивается задержками во втором подынтервале 52, которые находятся в пределах значения δ (которое может быть выбрано, например, из 2, 3, 4, 5, 6, 7, 8, 9, 10 или другого положительного натурального числа; в некоторых примерах, δ можно выражать в процентах длины кадра, так что, если кадр содержит N отсчетов, то δ равно процентной доле от 1% до 30%, в частности, от 15% до 25%, от N). Значение δ может быть предварительно заданным порогом числа задержек или предварительно заданным процентным значением.
В соответствии с примерами, на этапе S42, вторым измерительным блоком 22 вычисляются значения автокорреляции, например, в подынтервале 52.
В соответствии с примерами, на этапе S42 отыскивается максимальное значение из результатов автокорреляции. Вторая оценка  является значением, которое максимизирует автокорреляцию в окрестности задержки основного тона текущего кадра, среди задержек во втором подынтервале с центром в ранее выбранном значении 19”, например:
где  является окончательной задержкой 51 (19”) основного тона, ранее выбранной (селектором 17), и  является постоянной (например, ), которая определяет подынтервал 52. В качестве выходного значения 16 второго блока 12 оценки может обеспечиваться значение .
Следует отметить, что первая оценка 14 и вторая оценка 16 могут значительно отличаться друг от друга.
prev
prev
2
Функция  (область которой ограничена в данном случае между T-δ и T+δ) является примером второй корреляционной функции, максимальное значение которой относится ко второй оценке задержки основного тона 16 (T).
5.4 Первое и второе корреляционные измерения
Измерительный блок 21 и/или второй измерительный блок 22 могут выполнять корреляционные измерения корреляционные измерения. Измерительный блок 21 и/или второй измерительный блок 22 могут выполнять автокорреляционные измерения. Корреляционные и/или автокорреляционные измерения могут нормироваться. Например, здесь это обеспечивается.
Функция  может быть нормированной корреляцией сигнала  при задержке основного тона
1
1
2
2
Поэтому, первым корреляционным измерением 23 может быть  normcorr(T), где T является первой оценкой 14, и вторым корреляционным измерением 25 может быть normcorr(T), где T является второй оценкой 16.
1
w
1
2
Следует отметить, что первое корреляционное измерение 23 составляет нормированное значение R(T) (или R(T)), тогда как второе корреляционное измерение 25 составляет нормированное значение R(T).
5.5 Сравнение с порогом
Далее можно привести пример того, как сравнивать корреляцию для выполнения выбора. Пример дан в виде следующей формулы:
1
2
можно считать порогом 24 выбора задержки основного тона: если , то селектор выбирает , в ином случае селектор выбирает . Следовательно, значение  (или информация, относящаяся к нему) может быть выбранным выходным значением 19 (T или T) и подаваться в декодер (например, для LTPF), и которое будет использоваться как 19” вторым блоком 12 оценки для получения второй оценки 16.
5.6 Способ 40
Способ 40, связанный со способом 30, повышает характеристики методики, основанной только на способе 30.
При небольшом дополнительном усложнении, эффективность можно значительно повысить посредством обеспечения большей стабильности и непрерывности контура основного тона.
Способ 40 находит второй максимум для автокорреляционной функции. Это не глобальный максимум, как в способе 30, а локальный максимум в окрестности задержки основного тона предыдущего кадра. Эта вторая задержка основного тона, при выборе, создает гладкий и непрерывный контур основного тона. Однако данная вторая задержка основного тона выбирается не во всех случаях. Если, например, ожидается изменение основной частоты, то лучше сохранить глобальный максимум.
Окончательный выбор состоит в том, выбрать ли первую задержку (14) основного тона , найденную способом 30, или вторую задержку (16) основного тона , найденную способом 40. Это решение принимается на основе степени периодичности. В качестве степени периодичности принимается нормированная корреляция. Она равна 1, если сигнал является идеально периодическим, и 0, если сигнал является апериодическим. Тогда выбирается вторая задержка  основного тона, если ее соответствующая нормированная корреляция выше нормированной корреляции первой задержки  основного тона, умноженной на параметр . Параметр  делает решение еще более гладким, при выборе  (16), даже когда его нормированная корреляция немного ниже нормированной корреляции первой задержки  (14) основного тона.
5.7 Особенности методики
Смотри фиг. 5(1)-5(4).
Пример первого оценивания представлен на фиг. 5(1): здесь выбирается задержка основного хода, которая соответствует максимуму автокорреляционной функции.
Выбор основан на том, что автокорреляция гармонического сигнала (с некоторым заданным основным тоном) содержит пики в положении задержки основного тона и всех кратных чисел данной задержки основного тона.
Чтобы исключить выбор пика, соответствующего кратному числу задержки основного тона, автокорреляционная функция подвергается весовой обработке, как на фиг. 5(2), вносящей меньшие предыскажения в более продолжительные задержки основного тона. Это применяется, например, в [7].
Затем допускается, что глобальный максимум взвешенной автокорреляции соответствует задержке основного тона сигнала.
В общем, только первое оценивание уже работает удовлетворительно: оно дает точный основной тон в большинстве кадров.
Первое оценивание имеет также преимущество относительно низкой сложности, если число задержек автокорреляционной функции (первый подынтервал) относительно мало.
Фиг. 5(1) показывает (невзвешенную) автокорреляцию выходного сигнала.
Имеется пять пиков: первый пик 53 соответствует задержке основного тона, и другие пики соответствуют кратным числам 53’ этой задержке основного тона.
Выбор глобального максимума (невзвешенной) автокорреляции будет давать в этом случае неверную задержку основного тона: лучше выбрать кратное число данного числа, в этом случае 4-кратное является корректной задержкой основного тона.
Однако, глобальный максимум взвешенной автокорреляции (фигура 5(2)) является корректной задержкой основного тона.
Первое оценивание работает в ряде случаев. Однако, имеется несколько случаев, когда оно дает нестабильную оценку.
Один из этих случаев является полифоническим музыкальным сигналом, который содержит смесь нескольких тонов с разными основными тонами. В данном случае сложно выделить единственный основной тон из многотонального сигнала. В этом случае первый блок 11 оценки может оценить в одном кадре основной тон одного из тональных сигналов (или даже, возможно, нескольких из них), и в следующем кадре, возможно, может оценить основной тон другого тонального сигнала (или нескольких из них). Поэтому, даже если сигнал является стабильным (основной тон разных тональных сигналов не изменяется от кадра к кадру), основной тон, обнаруженный первым оцениванием, может быть нестабильным (изменения основного тона значительно отличаются от кадра к кадру).
Такое нестабильное поведение системы является основной проблемой для LTPF. Когда основной тон используется для LTPF, наиболее важно получить непрерывный контур основного тона, иначе в выходном сигнале после LTPF можно услышать некоторые артефакты.
Фигуры 5(3) и 5(4) иллюстрируют эту проблему.
Фигура 5(3) представляет взвешенную автокорреляцию и ее максимум в кадре стабильного сигнала с несколькими основными тонами. Задержка основного тона 19” правильно выбирается в точке «20» в соответствии с пиком 54.
Фигура 5(4) показывает то же самое в последующем кадре.
В этом случае, первые три пика 54’, 54” и 54’” имеют очень близкие амплитуды. Поэтому очень малые изменения между двумя последовательными кадрами могут значительно изменить глобальный максимум и оцененную задержку основного тона.
Решение, принятое в настоящем изобретении, решает упомянутые проблемы нестабильности.
Настоящее решение выбирает, кроме задержки основного тона, относящейся к пику в кадре, задержку основного тона, которая близка к задержке основного тона предыдущего кадра.
prev
Например, фигура 5(3) соответствует предыдущему кадру, и фигура 5(4) соответствует текущему кадру. Предполагается проверять, предпочтительно ли выбрать в текущем кадре задержку основного тона около 20 (т.е. задержку основного тона 19” или T предыдущего кадра), а не задержку основного тона 40, выданную первым блоком 11 оценки.
2
prev
prev
2
2
prev
prev
2
prev
2
Для этого выполняется второе оценивание (например, вторым блоком 12 оценки) посредством оценивания второй задержки T основного тона, которая максимизирует автокорреляционную функцию около задержки основного тона предыдущего кадра в подынтервале 52 (T-δ, T+δ). В случае, показанном на фигуре 5(4), данная вторая задержка T основного тона будет равна 20 (первая задержка основного тона равна 40). (Даже в случае T=T, это не является общим правилом. В общем, T-δ≤T≤T+δ). Следует отметить, что, в примерах, чтобы оценить T, автокорреляция не подвергается весовой обработке.
2
1
2
Однако, во всех случаях не требуется выбирать упомянутую вторую задержку T основного тона. Первую задержку T основного тона или вторую задержку T основного тона требуется выбирать, на основе некоторых критериев. Эти критерии базируются на нормированной корреляции (NC), например, измеренной селектором 17, которая обычно считается удовлетворительным показателем того, насколько периодическим является сигнал при некоторой конкретной задержке основного тона (NC, равная 0, означает совершенное отсутствие периодичности, NC, равная 1, означает идеальную периодичность).
При этом существует несколько случаев:
2
1
2
2
- Если NC второй оценки T превосходит NC первой оценки T: можно быть уверенным, что вторая оценка T лучше первой оценки T1, так как вторая оценка T имеет более подходящую NC, и она дает стабильное решение (основной тон предыдущего кадра и основной тон текущего кадра являются очень близкими), поэтому ее можно безопасно выбрать.
2
2
1
- Если NC второй оценки T намного ниже, чем NC первой оценки: это указывает, что основной тон 19” предыдущего кадра не соответствует никакой периодичности в текущем кадре, сигнал является нестабильным, и основной тон изменился, поэтому не имеет смысла сохранять основной тон 19” предыдущего кадра и пробовать получить стабильное решение. В этом случае, вторая оценка T игнорируется, и выбирается первая оценка T.
2
1
1
2
2
2
1
2
- Если NC второй оценки T немного ниже, чем NC первой оценки T: NC обеих оценок T и T близко совпадают, и в этом случае целесообразно выбирать оценку, которая дает стабильное решение (т.е. вторую оценку T), даже если она имеет NC немного хуже. Параметр α (α<1) используется для такого случая: он допускает выбор второй оценки T, даже если она имеет NC немного меньше. Настройка данного параметра α позволяет сместить выбор к первой оценке T или второй оценке T: меньшее значение означает, что вторая оценка будет выбираться чаще (т.е. решение будет более стабильным). Значение 0,85 (или значение в диапазоне 0,8-0,9) является удовлетворительным компромиссом: оно выбирает вторую оценку T2 достаточно часто, так что решение является достаточно стабильным для LTPF.
Дополнительные этапы, обеспечиваемые сверх первого оценивания (второе оценивание и выбор) имеют очень низкую сложность. Следовательно, предлагаемое изобретение характеризуется низкой сложностью.
6. Примеры систем кодирования/декодирования
Фиг. 6 представляет блок-схему, связанную с операциями кодирования/декодирования. Схема представляет систему 60, содержащую кодер 60a (который может содержать устройство 10) и декодер 60b. Кодер 60a получает входной информационный сигнал 61 (который может быть аудиосигналом и/или может быть распределен между кадрами, например, текущим кадром 13 и предыдущим кадром) и подготавливает поток 63 битов. Декодер 60b получает поток 63 битов (например, беспроводным способом, например, с использованием Bluetooth), чтобы сформировать выходной сигнал 68 (например, аудиосигнал).
Кодер 60a, с использованием кодера 62 преобразования, может формировать представление 63a в частотной области (или его обработанную версию) информационного сигнала 61 и представлять его в декодер 60b в потоке 63 битов. Декодер 60b может содержать декодер преобразования для получения выходного сигнала 64a.
Кодер 60a может формировать, с использованием блока 65 определения, данные, используемые для выполнения LTPF в декодере 60b. Эти данные могут содержать оценку задержки основного тона (например, 19) и/или информацию об усилении. Эти данные могут быть закодированы в потоке 63 битов в форме данных 63b в полях управления. Данные 63b (которые могут содержать окончательную оценку 19 задержки основного тона) могут подготавливаться кодером 66 с LTPF (который, в некоторых примерах, может решать, кодировать ли данные 63b). Эти данные могут использоваться декодером 67 с LTPF, который может применять их к выходному сигналу 64a из декодера 64 с преобразованием, чтобы получить выходной сигнал 68.
7. Примеры, например, для LTPF
7.1 Параметры (например, параметры LTPF) в кодере
Далее представлены примеры вычислений параметров LTPF (или параметров другого типа).
Пример для подготовки информации для LTPF приведен в следующих подразделах.
7.2.1. Повторная дискретизация
Далее описан пример (необязательной) методики повторной дискретизации (можно использовать другие методики).
Входной сигнал с частотой дискретизации  можно повторно дискретизировать до фиксированной частоты дискретизации 12,8 кГц. Повторная дискретизация выполняется с использованием подхода: повышающая дискретизация+низкочастотная фильтрация+понижающая дискретизация, который может быть выражен следующей формулой
где  означает целую часть значения (округление до меньшего целого),  является входным сигналом,  является повторно дискретизированным сигналом при 12,8 кГц,  является коэффициентом повышающей дискретизации, и  является импульсной характеристикой низкочастотного КИХ-фильтра, заданного формулой
Пример tab_resamp_filter приведен в следующей таблице:
double tab_resamp_filter[239] = {
-2,043055832879108e-05, -4,463458936757081e-05, -7,163663994481459e-05,
-1,001011132655914e-04, -1,283728480660395e-04, -1,545438297704662e-04,
-1,765445671257668e-04, -1,922569599584802e-04, -1,996438192500382e-04,
-1,968886856400547e-04, -1,825383318834690e-04, -1,556394266046803e-04,
-1,158603651792638e-04, -6,358930335348977e-05, +2,810064795067786e-19,
+7,292180213001337e-05, +1,523970757644272e-04, +2,349207769898906e-04,
+3,163786496265269e-04, +3,922117380894736e-04, +4,576238491064392e-04,
+5,078242936704864e-04, +5,382955231045915e-04, +5,450729176175875e-04,
+5,250221548270982e-04, +4,760984242947349e-04, +3,975713799264791e-04,
+2,902002172907180e-04, +1,563446669975615e-04, -5,818801416923580e-19,
-1,732527127898052e-04, -3,563859653300760e-04, -5,411552308801147e-04,
-7,184140229675020e-04, -8,785052315963854e-04, -1,011714513697282e-03,
-1,108767055632304e-03, -1,161345220483996e-03, -1,162601694464620e-03,
-1,107640974148221e-03, -9,939415631563015e-04, -8,216921898513225e-04,
-5,940177657925908e-04, -3,170746535382728e-04, +9,746950818779534e-19,
+3,452937604228947e-04, +7,044808705458705e-04, +1,061334465662964e-03,
+1,398374734488549e-03, +1,697630799350524e-03, +1,941486748731660e-03,
+2,113575906669355e-03, +2,199682452179964e-03, +2,188606246517629e-03,
+2,072945458973295e-03, +1,849752491313908e-03, +1,521021876908738e-03,
+1,093974255016849e-03, +5,811080624426164e-04, -1,422482656398999e-18,
-6,271537303228204e-04, -1,274251404913447e-03, -1,912238389850182e-03,
-2,510269249380764e-03, -3,037038298629825e-03, -3,462226871101535e-03,
-3,758006719596473e-03, -3,900532466948409e-03, -3,871352309895838e-03,
-3,658665583679722e-03, -3,258358512646846e-03, -2,674755551508349e-03,
-1,921033054368456e-03, -1,019254326838640e-03, +1,869623690895593e-18,
+1,098415446732263e-03, +2,231131973532823e-03, +3,348309272768835e-03,
+4,397022774386510e-03, +5,323426722644900e-03, +6,075105310368700e-03,
+6,603520247552113e-03, +6,866453987193027e-03, +6,830342695906946e-03,
+6,472392343549424e-03, +5,782375213956374e-03, +4,764012726389739e-03,
+3,435863514113467e-03, +1,831652835406657e-03, -2,251898372838663e-18,
-1,996476188279370e-03, -4,082668858919100e-03, -6,173080374929424e-03,
-8,174448945974208e-03, -9,988823864332691e-03, -1,151698705819990e-02,
-1,266210056063963e-02, -1,333344579518481e-02, -1,345011199343934e-02,
-1,294448809639154e-02, -1,176541543002924e-02, -9,880867320401294e-03,
-7,280036402392082e-03, -3,974730209151807e-03, +2,509617777250391e-18,
+4,586044219717467e-03, +9,703248998383679e-03, +1,525124770818010e-02,
+2,111205854013017e-02, +2,715337236094137e-02, +3,323242450843114e-02,
+3,920032029020130e-02, +4,490666443426786e-02, +5,020433088017846e-02,
+5,495420172681558e-02, +5,902970324375908e-02, +6,232097270672976e-02,
+6,473850225260731e-02, +6,621612450840858e-02, +6,671322871619612e-02,
+6,621612450840858e-02, +6,473850225260731e-02, +6,232097270672976e-02,
+5,902970324375908e-02, +5,495420172681558e-02, +5,020433088017846e-02,
+4,490666443426786e-02, +3,920032029020130e-02, +3,323242450843114e-02,
+2,715337236094137e-02, +2,111205854013017e-02, +1,525124770818010e-02,
+9,703248998383679e-03, +4,586044219717467e-03, +2,509617777250391e-18,
-3,974730209151807e-03, -7,280036402392082e-03, -9,880867320401294e-03,
-1,176541543002924e-02, -1,294448809639154e-02, -1,345011199343934e-02,
-1,333344579518481e-02, -1,266210056063963e-02, -1,151698705819990e-02,
-9,988823864332691e-03, -8,174448945974208e-03, -6,173080374929424e-03,
-4,082668858919100e-03, -1,996476188279370e-03, -2,251898372838663e-18,
+1,831652835406657e-03, +3,435863514113467e-03, +4,764012726389739e-03,
+5,782375213956374e-03, +6,472392343549424e-03, +6,830342695906946e-03,
+6,866453987193027e-03, +6,603520247552113e-03, +6,075105310368700e-03,
+5,323426722644900e-03, +4,397022774386510e-03, +3,348309272768835e-03,
+2,231131973532823e-03, +1,098415446732263e-03, +1,869623690895593e-18,
-1,019254326838640e-03, -1,921033054368456e-03, -2,674755551508349e-03,
-3,258358512646846e-03, -3,658665583679722e-03, -3,871352309895838e-03,
-3,900532466948409e-03, -3,758006719596473e-03, -3,462226871101535e-03,
-3,037038298629825e-03, -2,510269249380764e-03, -1,912238389850182e-03,
-1,274251404913447e-03, -6,271537303228204e-04, -1,422482656398999e-18,
+5,811080624426164e-04, +1,093974255016849e-03, +1,521021876908738e-03,
+1,849752491313908e-03, +2,072945458973295e-03, +2,188606246517629e-03,
+2,199682452179964e-03, +2,113575906669355e-03, +1,941486748731660e-03,
+1,697630799350524e-03, +1,398374734488549e-03, +1,061334465662964e-03,
+7,044808705458705e-04, +3,452937604228947e-04, +9,746950818779534e-19,
-3,170746535382728e-04, -5,940177657925908e-04, -8,216921898513225e-04,
-9,939415631563015e-04, -1,107640974148221e-03, -1,162601694464620e-03,
-1,161345220483996e-03, -1,108767055632304e-03, -1,011714513697282e-03,
-8,785052315963854e-04, -7,184140229675020e-04, -5,411552308801147e-04,
-3,563859653300760e-04, -1,732527127898052e-04, -5,818801416923580e-19,
+1,563446669975615e-04, +2,902002172907180e-04, +3,975713799264791e-04,
+4,760984242947349e-04, +5,250221548270982e-04, +5,450729176175875e-04,
+5,382955231045915e-04, +5,078242936704864e-04, +4,576238491064392e-04,
+3,922117380894736e-04, +3,163786496265269e-04, +2,349207769898906e-04,
+1,523970757644272e-04, +7,292180213001337e-05, +2,810064795067786e-19,
-6,358930335348977e-05, -1,158603651792638e-04, -1,556394266046803e-04,
-1,825383318834690e-04, -1,968886856400547e-04, -1,996438192500382e-04,
-1,922569599584802e-04, -1,765445671257668e-04, -1,545438297704662e-04,
-1,283728480660395e-04, -1,001011132655914e-04, -7,163663994481459e-05,
-4,463458936757081e-05, -2,043055832879108e-05};
7.2.2. Высокочастотная фильтрация
Далее описан пример (необязательной) методики высокочастотной фильтрации (можно использовать другие методики).
Повторно дискретизированный сигнал может обрабатываться низкочастотным фильтром с использованием БИХ-фильтра 2-го порядка, передаточная функция которого может выражаться формулой
7.2.3. Выделение основного тона
Далее описан пример методики выделения основного тона (можно использовать другие методики).
Сигнал  может подвергаться (необязательно) понижающей дискретизации на 2
где  = {0,1236796411180537, 0,2353512128364889, 0,2819382920909148, 0,2353512128364889, 0,1236796411180537}.
Автокорреляция of  может вычисляться по формуле
где  и  являются минимальной и максимальной задержки, которые задают первый подынтервал (для  и  можно обеспечить другие значения).
Автокорреляция может подвергаться весовой обработке по формуле
где  задается формулой
Первая оценка 14 задержки  основного тона может быть задержкой, которая максимизирует взвешенную автокорреляцию
Вторая оценка 16 задержки  основного тона может быть задержкой, которая максимизирует невзвешенную автокорреляцию в окрестности задержки (19”) основного тона, оцененной в предыдущем кадре
где , , и  является окончательной задержкой основного тона, оцененной в предыдущем кадре (и, следовательно, ее выбор согласован с ранее выбранной задержкой основного тона).
В таком случае, окончательная оценка 19 задержки основного тона в текущем кадре 13 может определяться из формулы
где  является нормированной корреляцией сигнала  длиной , при задержке
Каждая нормированная корреляция 23 или 25 может быть, по меньшей мере, одним из измерений, полученных первым или вторым блоком 21 или 22 измерения сигнала.
7.2.4. Поток битов с LTPF
В некоторых примерах, первый бит потока битов с LTPF сигнализирует о присутствии параметра задержки основного тона в потоке битов. Его получают следующим образом
(Вместо 0,6, можно использовать другой порог, например, в диапазоне 0,4-0,8 или 0,5-0,7, или 0,55-0,65.)
Если pitch_present равно 0, то больше никаких бит не кодируется, что дает поток битов с LTPF только из одного бита.
Если pitch_present равно 1, то кодируется еще два параметра, один параметр задержки основного тона кодируется 9 битами, и один бит служит для сигнализации активации LTPF. В этом случае, поток битов с LTPF составлен 11 битами.
7.2.5. Параметры задержки основного тона LTPF
Далее описан пример получения параметров задержки основного тона LTPF (можно использовать другие методики).
Целая часть параметра задержки основного тона LTPF может быть задана следующим образом
где
и , .
Тогда дробную часть задержки основного тона LTPF можно выразить как
где
и  является импульсным откликом низкочастотного КИХ-фильтра, заданным в виде
может иметь вид, например:
double tab_ltpf_interp_R[31] = {
-2,874561161519444e-03, -3,001251025861499e-03, +2,745471654059321e-03
+1,535727698935322e-02, +2,868234046665657e-02, +2,950385026557377e-02
+4,598334491135473e-03, -4,729632459043440e-02, -1,058359163062837e-01
-1,303050213607112e-01, -7,544046357555201e-02, +8,357885725250529e-02
+3,301825710764459e-01, +6,032970076366158e-01, +8,174886856243178e-01
+8,986382851273982e-01, +8,174886856243178e-01, +6,032970076366158e-01
+3,301825710764459e-01, +8,357885725250529e-02, -7,544046357555201e-02
-1,303050213607112e-01, -1,058359163062837e-01, -4,729632459043440e-02
+4,598334491135473e-03, +2,950385026557377e-02, +2,868234046665657e-02
+1,535727698935322e-02, +2,745471654059321e-03, -3,001251025861499e-03
-2,874561161519444e-03};
Если , то как , так и  модифицируются в соответствии с
И наконец, индекс параметра задержки основного тона задается в виде
7.2.6 Бит активации LTPF
Сначала вычисляется нормированная корреляция следующим образом
где
и  является импульсным откликом низкочастотного КИХ-фильтра, заданным в виде
где  задается следующим образом:
double tab_ltpf_interp_x12k8[15] = {
+6,698858366939680e-03, +3,967114782344967e-02, +1,069991860896389e-01
+2,098804630681809e-01, +3,356906254147840e-01, +4,592209296082350e-01
+5,500750019177116e-01, +5,835275754221211e-01, +5,500750019177116e-01
+4,592209296082350e-01, +3,356906254147840e-01, +2,098804630681809e-01
+1,069991860896389e-01, +3,967114782344967e-02, +6,698858366939680e-03};
Затем бит активации LTPF устанавливается в соответствии с:
if (
(mem_ltpf_active==0 && mem_nc>0,94 && nc>0.94) ||
(mem_ltpf_active==1 && nc>0,9) ||
(mem_ltpf_active==1 && abs(pitch-mem_pitch)<2 && (nc-mem_nc)>-0,1 && nc>0.84)
)
{
ltpf_active=1;
}
else
{
ltpf_active=0;
}
где mem_ltpf_active является значением ltpf_active в предыдущем кадре (оно равно 0, если pitch_present=0 в предыдущем кадре), mem_nc является значением nc в предыдущем кадре (оно равно 0, если pitch_present=0 в предыдущем кадре), pitch=pitch_int+pitch_fr/4, и mem_pitch является значением основного тона в предыдущем кадре (оно равно 0, если pitch_present=0 в предыдущем кадре).
7.3 LTPF в декодере
Декодированный сигнал в частотной области (FD), например, после синтеза с помощью MDCT (модифицированного дискретного косинусного преобразования), синтеза с помощью MDST (модифицированного дискретного синусного преобразования) или синтеза на основе другого преобразования, может подвергаться постфильтрации во временной области с использованием БИХ-фильтра, параметры которого могут зависеть от данных «pitch_index» и «ltpf_active» потока битов с LTPF. Для устранения разрывов непрерывности, когда параметры изменяются от кадра к кадру, на первой четверти текущего кадра можно применить механизм перехода.
В примерах, БИХ-фильтр LTPF можно реализовать с использованием
где  является входным сигналом фильтра (т.е. декодированным сигналом после синтеза с помощью MDCT), и  является выходным сигналом фильтра.
Целая часть  и дробная часть  задержки основного тона LTPF могут вычисляться следующим образом. Сначала выделяется задержка основного тона при 12,8 кГц с использованием
Затем задержка основного тона может изменяться в масштабе до выходной частоты  дискретизации и преобразуется в целую и дробные части с использованием
где  является частотой дискретизации.
Коэффициенты фильтра  и  могут вычисляться следующим образом
где
и  и  могут быть получены в соответствии
fs_idx=min(4,( <img file="00000061.jpg" he="5" wi="4" img-content="undefined" img-format="jpg" /> /8000-1));
if (nbits < 320+fs_idx*80)
{
gain_ltpf=0.4;
gain_ind=0;
}
else if (nbits < 400+fs_idx*80)
{
gain_ltpf=0.35;
gain_ind=1;
}
else if (nbits < 480+fs_idx*80)
{
gain_ltpf=0.3;
gain_ind=2;
}
else if (nbits < 560+fs_idx*80)
{
gain_ltpf=0.25;
gain_ind=3;
}
else
{
gain_ltpf=0;
}
И таблицы  и  являются предварительно заданными.
Примеры  представлены ниже (вместо «fs» указана частота дискретизации):
double tab_ltpf_num_8000[4][3] = {
{6,023618207009578e-01,4,197609261363617e-01,-1,883424527883687e-02},
{5,994768582584314e-01,4,197609261363620e-01,-1,594928283631041e-02},
{5,967764663733787e-01,4,197609261363617e-01,-1,324889095125780e-02},
{5,942410120098895e-01,4,197609261363618e-01,-1,071343658776831e-02}};
double tab_ltpf_num_16000[4][3] = {
{6,023618207009578e-01,4,197609261363617e-01,-1,883424527883687e-02},
{5,994768582584314e-01,4,197609261363620e-01,-1,594928283631041e-02},
{5,967764663733787e-01,4,197609261363617e-01,-1,324889095125780e-02},
{5,942410120098895e-01,4,197609261363618e-01,-1,071343658776831e-02}};
double tab_ltpf_num_24000[4][5] = {
{3,989695588963494e-01,5,142508607708275e-01,1,004382966157454e-01,-1,278893956818042e-02,-1,572280075461383e-03},
{3,948634911286333e-01,5,123819208048688e-01,1,043194926386267e-01,-1,091999960222166e-02,-1,347408330627317e-03},
{3,909844475885914e-01,5,106053522688359e-01,1,079832524685944e-01,-9,143431066188848e-03,-1,132124620551895e-03},
{3,873093888199928e-01,5,089122083363975e-01,1,114517380217371e-01,-7,450287133750717e-03,-9,255514050963111e-04}};
double tab_ltpf_num_32000[4][7] = {
{2,982379446702096e-01,4,652809203721290e-01,2,105997428614279e-01,3,766780380806063e-02,-1,015696155796564e-02,-2,535880996101096e-03,-3,182946168719958e-04},
{2,943834154510240e-01,4,619294002718798e-01,2,129465770091844e-01,4,066175002688857e-02,-8,693272297010050e-03,-2,178307114679820e-03,-2,742888063983188e-04},
{2,907439213122688e-01,4,587461910960279e-01,2,151456974108970e-01,4,350104772529774e-02,-7,295495347716925e-03,-1,834395637237086e-03,-2,316920186482416e-04},
{2,872975852589158e-01,4,557148886861379e-01,2,172126950911401e-01,4,620088878229615e-02,-5,957463802125952e-03,-1,502934284345198e-03,-1,903851911308866e-04}};
double tab_ltpf_num_48000[4][11] = {
{1,981363739883217e-01,3,524494903964904e-01,2,513695269649414e-01,1,424146237314458e-01,5,704731023952599e-02,9,293366241586384e-03,-7,226025368953745e-03,-3,172679890356356e-03,-1,121835963567014e-03,-2,902957238400140e-04,-4,270815593769240e-05},
{1,950709426598375e-01,3,484660408341632e-01,2,509988459466574e-01,1,441167412482088e-01,5,928947317677285e-02,1,108923827452231e-02,-6,192908108653504e-03,-2,726705509251737e-03,-9,667125826217151e-04,-2,508100923165204e-04,-3,699938766131869e-05},
{1,921810055196015e-01,3,446945561091513e-01,2,506220094626024e-01,1,457102447664837e-01,6,141132133664525e-02,1,279941396562798e-02,-5,203721087886321e-03,-2,297324511109085e-03,-8,165608133217555e-04,-2,123855748277408e-04,-3,141271330981649e-05},
{1,894485314175868e-01,3,411139251108252e-01,2,502406876894361e-01,1,472065631098081e-01,6,342477229539051e-02,1,443203434150312e-02,-4,254449144657098e-03,-1,883081472613493e-03,-6,709619060722140e-04,-1,749363341966872e-04,-2,593864735284285e-05}};
Примеры  представлены ниже (вместо «fs» указана частота дискретизации):
double_tab_ltpf_den_8000[4][5] = {
{0,000000000000000e+00, 2,098804630681809e-01, 5,835275754221211e-01, 2,098804630681809e-01, 0,000000000000000e+00},
{0,000000000000000e+00, 1,069991860896389e-01, 5,500750019177116e-01, 3,356906254147840e-01, 6,698858366939680e-03},
{0,000000000000000e+00, 3,967114782344967e-02, 4,592209296082350e-01, 4,592209296082350e-01, 3,967114782344967e-02},
{0,000000000000000e+00, 6,698858366939680e-03, 3,356906254147840e-01, 5,500750019177116e-01, 1,069991860896389e-01}};
double_tab_ltpf_den_16000[4][5] = {
{0,000000000000000e+00, 2,098804630681809e-01, 5,835275754221211e-01, 2,098804630681809e-01, 0,000000000000000e+00},
{0,000000000000000e+00, 1,069991860896389e-01, 5,500750019177116e-01, 3,356906254147840e-01, 6,698858366939680e-03},
{0,000000000000000e+00, 3,967114782344967e-02, 4,592209296082350e-01, 4,592209296082350e-01, 3,967114782344967e-02},
{0,000000000000000e+00, 6,698858366939680e-03, 3,356906254147840e-01, 5,500750019177116e-01, 1,069991860896389e-01}};
double_tab_ltpf_den_24000[4][7] = {
{0,000000000000000e+00, 6,322231627323796e-02, 2,507309606013235e-01, 3,713909428901578e-01, 2,507309606013235e-01, 6,322231627323796e-02, 0,000000000000000e+00},
{0,000000000000000e+00, 3,459272174099855e-02, 1,986515602645028e-01, 3,626411726581452e-01, 2,986750548992179e-01, 1,013092873505928e-01, 4,263543712369752e-03},
{0,000000000000000e+00, 1,535746784963907e-02, 1,474344878058222e-01, 3,374259553990717e-01, 3,374259553990717e-01, 1,474344878058222e-01, 1,535746784963907e-02},
{0,000000000000000e+00, 4,263543712369752e-03, 1,013092873505928e-01, 2,986750548992179e-01, 3,626411726581452e-01, 1,986515602645028e-01, 3,459272174099855e-02}};
double_tab_ltpf_den_32000[4][9] = {
{0,000000000000000e+00, 2,900401878228730e-02, 1,129857420560927e-01, 2,212024028097570e-01, 2,723909472446145e-01, 2,212024028097570e-01, 1,129857420560927e-01, 2,900401878228730e-02, 0,000000000000000e+00},
{0,000000000000000e+00, 1,703153418385261e-02, 8,722503785537784e-02, 1,961407762232199e-01, 2,689237982237257e-01, 2,424999102756389e-01, 1,405773364650031e-01, 4,474877169485788e-02, 3,127030243100724e-03},
{0,000000000000000e+00, 8,563673748488349e-03, 6,426222944493845e-02, 1,687676705918012e-01, 2,587445937795505e-01, 2,587445937795505e-01, 1,687676705918012e-01, 6,426222944493845e-02, 8,563673748488349e-03},
{0,000000000000000e+00, 3,127030243100724e-03, 4,474877169485788e-02, 1,405773364650031e-01, 2,424999102756389e-01, 2,689237982237257e-01, 1,961407762232199e-01, 8,722503785537784e-02, 1,703153418385261e-02}};
double_tab_ltpf_den_48000[4][13] = {
{0,000000000000000e+00, 1,082359386659387e-02, 3,608969221303979e-02, 7,676401468099964e-02, 1,241530577501703e-01, 1,627596438300696e-01, 1,776771417779109e-01, 1,627596438300696e-01, 1,241530577501703e-01, 7,676401468099964e-02, 3,608969221303979e-02, 1,082359386659387e-02, 0,000000000000000e+00},
{0,000000000000000e+00, 7,041404930459358e-03, 2,819702319820420e-02, 6,547044935127551e-02, 1,124647986743299e-01, 1,548418956489015e-01, 1,767122381341857e-01, 1,691507213057663e-01, 1,352901577989766e-01, 8,851425011427483e-02, 4,499353848562444e-02, 1,557613714732002e-02, 2,039721956502016e-03},
{0,000000000000000e+00, 4,146998467444788e-03, 2,135757310741917e-02, 5,482735584552816e-02, 1,004971444643720e-01, 1,456060342830002e-01, 1,738439838565869e-01, 1,738439838565869e-01, 1,456060342830002e-01, 1,004971444643720e-01, 5,482735584552816e-02, 2,135757310741917e-02, 4,146998467444788e-03},
{0,000000000000000e+00, 2,039721956502016e-03, 1,557613714732002e-02, 4,499353848562444e-02, 8,851425011427483e-02, 1,352901577989766e-01, 1,691507213057663e-01, 1,767122381341857e-01, 1,548418956489015e-01, 1,124647986743299e-01, 6,547044935127551e-02, 2,819702319820420e-02, 7,041404930459358e-03}}
В отношении обработки перехода рассматриваются пять разных случаев.
Первый случай: ltpf_active=0, и mem_ltpf_active=0
Второй случай: ltpf_active=1, и mem_ltpf_active=0
Третий случай: ltpf_active=0, и mem_ ltpf_active=1
где , ,  и  являются параметрами фильтра, вычисленного в предыдущем кадре.
Четвертый случай: ltpf_active=1, и mem_ltpf_active=1, и , и
Пятый случай: ltpf_active=1, и mem_ltpf_active=1, и ( или )
где Nf является числом отсчетов в одном кадре.
7.4 Дополнительные преимущества
Как можно понять, решения в соответствии с вышеприведенными примерами являются прозрачными для декодера. Отсутствует потребность в сигнализации для декодера, например, о том, что выбрана первая оценка или вторая оценка.
Соответственно, информационное наполнение в потоке битов 63 не увеличивается.
Кроме того, отсутствует потребность в модификации декодеров для приспособления к новой обработке, выполняемой в кодере. Декодер не обязан знать, что реализовано настоящее изобретение. Поэтому, изобретение допускает повышение степени совместимости с существующими системами.
8. Маскирование потери пакетов
best
Задержка основного тона T (19), полученная вышеупомянутым устройством 10, 60a или 110 может использоваться в декодере (например, 60b) для реализации маскирования потери пакетов (PLC) (известно также как маскирование ошибок). PLC используется в аудиокодеках для маскирования потерянных или поврежденных пакетов во время передачи из кодера в декодер. В известном уровне техники, PLC может выполняться на декодирующей стороне и экстраполирует декодированный сигнал либо в области преобразования, либо во временной области.
Задержка основного тона может быть главным параметром, используемым в PLC с учетом основного тона. Этот параметр может оцениваться на кодирующей стороне и кодироваться в поток битов. В таком случае, задержка основного тона последних неповрежденных кадров используется для маскирования текущего потерянного кадра.
Поврежденный кадр не обеспечивает корректного слышимого выходного сигнала и должен отвергаться.
Для каждого декодируемого кадра в декодере может проверяться его допустимость. Например, каждый кадр может содержать поле, несущее циклический избыточный код (CRC), который проверяется выполнением предварительно заданных операций, обеспечиваемых предварительно заданным алгоритмом. Процедура может повторяться для проверки того, соответствует ли результат вычисления значению в поле CRC. Если кадр декодировался ненадлежащим образом (например, из-за помех при передаче), то принимается, что какие-то ошибки повредили кадр. Поэтому, если проверка дает результат некорректного декодирования, то кадр считается ненадлежаще декодированным (недопустимым, поврежденным).
Когда подтверждается, что кадр декодирован ненадлежащим образом, можно использовать стратегию маскирования, чтобы обеспечить слышимый выходной сигнал: иначе, можно услышать нечто, похожее на раздражающий перерыв в звучании. Поэтому, необходимо найти некоторую форму кадра, которая «заполняет пропуск», оставленный ненадлежаще декодированным кадром. Цель маскирования потерянного кадра состоит в том, чтобы маскировать эффект любого отсутствующего или поврежденного кадра для декодирования.
8.1 Стратегии маскирования
Процедура маскирования потерянных кадров может содержать способы маскирования для сигналов различных типов. Наибольшая эффективность кодека в ситуациях, подверженных ошибкам потерь кадров, может быть получена путем выбора наиболее подходящего способа. Один из способов маскирования потери пакетов может быть, например, маскированием во временной области в режиме 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 эквидистантных частотных полосах. В энергию вносятся предыскажения с постоянным коэффициентом  предыскажения
<img file="00000061.jpg" he="5" wi="4" img-content="undefined" img-format="jpg" />
<img file="00000150.jpg" he="5" wi="2" img-content="undefined" img-format="jpg" />
8000
0,62
16000
0,72
24000
0,82
32000
0,92
48000
0,92
Автокорреляционная функция обрабатывается оконной функцией с задержкой с использованием следующего окна
перед тем, как она преобразуется во временную область с использованием обратного ДПФ с равномерным распределением. И наконец, можно использовать операцию Левинсона-Дурбина, чтобы получить LP-фильтр, , для маскированного кадра. Пример приведен ниже:
<img file="00000153.jpg" he="5" wi="17" img-content="undefined" img-format="jpg" /><img file="00000154.jpg" he="5" wi="17" img-content="undefined" img-format="jpg" /><img file="00000155.jpg" he="5" wi="31" img-content="undefined" img-format="jpg" /><img file="00000156.jpg" he="10" wi="41" img-content="undefined" img-format="jpg" /><img file="00000157.jpg" he="5" wi="17" img-content="undefined" img-format="jpg" /><img file="00000158.jpg" he="5" wi="36" img-content="undefined" img-format="jpg" /><img file="00000159.jpg" he="5" wi="61" img-content="undefined" img-format="jpg" /><img file="00000160.jpg" he="5" wi="19" img-content="undefined" img-format="jpg" /><img file="00000161.jpg" he="6" wi="25" img-content="undefined" img-format="jpg" />
LP-фильтр может вычисляться в первом потерянном кадре после неповрежденного кадра и остается в последующих потерянных кадрах.
8.2.2 Построение периодической части возбуждения
Последние  декодированных временных отсчетов первыми подвергаются предыскажению с коэффициентом предыскажения из раздела 8.2.1, с использованием фильтра
чтобы получить сигнал , где  является значением задержки основного тона  или , если . Значения  и  являются значениями задержки основного тона, переданными в потоке битов.
Сигнал с предыскажениями, , дополнительно фильтруется вычисленным обратным LP-фильтром, чтобы получить предшествующий сигнал возбуждения, . Для построения сигнала возбуждения, , для текущего потерянного кадра,  многократно копируется с  следующим образом
где  соответствует последнему отсчету в . Если коэффициент стабильности  ниже, чем 1, то первый цикл основного тока сигнала  сначала подвергается низкочастотной фильтрации с помощью 11-отводного линейного фазового КИХ-фильтра (с конечной импульсной характеристикой), описанного в нижеприведенной таблице
<img file="00000061.jpg" he="5" wi="4" img-content="undefined" img-format="jpg" />
<img file="00000175.jpg" he="5" wi="94" img-content="undefined" img-format="jpg" />
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}
Усиление основного тона, , может быть вычислено следующим образом
Если , то . В ином случае, второе усиление основного тона, , может быть вычислено следующим образом
и . Если , то  уменьшается на единицу для дальнейшей обработки. И наконец,  ограничивается неравенством .
Сформированное периодическое возбуждение,  ослабляется по отсчетам на протяжении кадра, начиная с единицы и заканчивая коэффициентом ослабления, , чтобы получить . Усиление основного тона вычисляется только в первом потерянном кадре после неповрежденного кадра и устанавливается равным  для следующих далее потерь кадров.
8.2.3 Построение случайной части возбуждения
Случайная часть возбуждения может формироваться генератором случайных импульсов с приблизительно равномерным распределением следующим образом
где  инициализируется значением 24607 для самого первого кадра, маскируемого настоящим способом, и  выделяет 16 младших битов значения. Для дальнейших кадров,  сохраняется и используется как следующее .
Для сдвига шума в сторону более высоких частот, сигнал возбуждения подвергается высокочастотной фильтрации с помощью 11-отводного линейного фазового КИХ-фильтра (с конечной импульсной характеристикой), описанного в нижеприведенной таблице, чтобы получить .
<img file="00000061.jpg" he="5" wi="4" img-content="undefined" img-format="jpg" />
<img file="00000194.jpg" he="5" wi="97" img-content="undefined" img-format="jpg" />
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}
Чтобы обеспечить затухание шума до шума в полной полосе частот со скоростью ослабления в зависимости от коэффициента ослабления , случайную часть возбуждения, , составляют методику линейной интерполяции между версиями для полной полосы, , и версией, прошедшей высокочастотную фильтрацию, , по следующей формуле
где  для первого потерянного кадра после неповрежденного кадра и
-1
для второго и дальнейших последующих потерянных кадров, где β равно  предыдущего маскированного кадра.
Для регулировки уровня шума, усиление шума, , вычисляется следующим образом
Если  в соответствии с разделом 8.2.2, то . Иначе говоря, второе усиление шума, , вычисляется как в вышеприведенном уравнении, но с , равным . Следовательно, .
Для дальнейшей обработки,  сначала нормируется и затем умножается на , чтобы получить .
Сформированное случайное возбуждение,  равномерно ослабляется с  от первого отсчета до пятого отсчета и далее отсчет за отсчетом по всему кадру, начиная с  и заканчивая , чтобы получить . Усиление шума, , вычисляется только в первом потерянном кадре после неповрежденного кадра и устанавливается равным  для последующих потерь кадров.
8.2.4 Построение общего возбуждения, синтез и последующая обработка
Случайное возбуждение, , добавляется к периодическому возбуждению, , чтобы сформировать общий сигнал возбуждения, . Окончательный синтезированный сигнал маскированного кадра получается фильтрацией общего возбуждения с помощью LP-фильтра в соответствии с разделом 8.2.1 и последующей обработки с помощью фильтра компенсации предыскажений.
8.2.5 Подавление помех во временной области
Для достижения надлежащего перекрытия с суммированием в случае, если следующий кадр является неповрежденным кадром, можно формировать часть подавления помех во временной области part, . Для этого, создаются  дополнительных отсчетов, как описано выше, чтобы получить сигнал . Часть подавления помех во временной области формируется в следующей последовательности:
Заполнение нулями синтезированного буфера  во временной области
Оконная обработка  окном MDCT
Изменение формы с 2N до N
Изменение формы с N до 2N
Оконная обработка  окном  MDCT (модифицированного дискретного косинусного преобразования) (или MDST (модифицированного дискретного косинусного преобразования) (в других примерах) с зеркальным отображением
8.2.6 Обработка множественных потерянных кадров
Синтезированный сигнал ослабляется до нуля. Скорость ослабления регулируется коэффициентом ослабления, , который зависит от предыдущего коэффициента ослабления, , усиления основного тона, , вычисленного по последнему корректно принятому файлу, числа последующих стертых кадров, , и коэффициента стабильности, . Для вычисления коэффициента ослабления, , можно использовать следующую процедуру
if (<img file="00000229.jpg" he="5" wi="23" img-content="undefined" img-format="jpg" /> == 1)
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = <img file="00000230.jpg" he="6" wi="7" img-content="undefined" img-format="jpg" />
if (<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> > 0.98)
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = 0.98
else if (<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> < 0.925)
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = 0.925
else if (<img file="00000229.jpg" he="5" wi="23" img-content="undefined" img-format="jpg" /> == 2)
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = (0.63+0.35 <img file="00000231.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />) <img file="00000232.jpg" he="5" wi="10" img-content="undefined" img-format="jpg" />
if <img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> < 0.919
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = 0.919;
else if (<img file="00000229.jpg" he="5" wi="23" img-content="undefined" img-format="jpg" /> == 3)
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = (0.652+0.328 <img file="00000231.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />) <img file="00000233.jpg" he="5" wi="11" img-content="undefined" img-format="jpg" />
else if (<img file="00000229.jpg" he="5" wi="23" img-content="undefined" img-format="jpg" /> == 4)
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = (0.674+0.3 <img file="00000231.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />) <img file="00000233.jpg" he="5" wi="11" img-content="undefined" img-format="jpg" />
else if (<img file="00000229.jpg" he="5" wi="23" img-content="undefined" img-format="jpg" /> == 5) {
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = (0.696+0.266 <img file="00000231.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />) <img file="00000233.jpg" he="5" wi="11" img-content="undefined" img-format="jpg" />
else
<img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" /> = (0.725+0.225 <img file="00000231.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />) <img file="00000233.jpg" he="5" wi="11" img-content="undefined" img-format="jpg" />
<img file="00000234.jpg" he="5" wi="4" img-content="undefined" img-format="jpg" /> = <img file="00000024.jpg" he="5" wi="3" img-content="undefined" img-format="jpg" />
Можно получить коэффициент  (стабильность последних двух соседних векторов масштабных множителей  и ), например, по формуле:
где  и  являются векторами масштабных множителей последних двух соседних кадров. Множитель  ограничен неравенством , при этом большие значения  соответствуют более стабильным сигналам. Это ограничивает флуктуации энергии и огибающей спектра. В отсутствие двух соседних векторов масштабных множителей, множитель  устанавливается равным 0,8.
Для предотвращения быстрого повышения энергии, спектр подвергается низкочастотной фильтрации с  и .
9. LTPF и PLC с одинаковой информацией о задержке основного тона
best
1
2
Фиг. 9 представляет общий пример способа 100’, который можно использовать для управления декодером 60b. На этапе S101’, кодированная версия сигнала может декодироваться. В примерах, кадр может быть принят (например, по соединению Bluetooth) и/или получен из запоминающего устройства. Задержка основного тона T (выбранная из T и T, как описано выше) может использоваться как для PLC, так и для LTPF.
На этапе S102’ проверяется допустимость кадра (например, с помощью CRC, проверки на четность и т.д.). Если подтверждается допустимость кадра, выполняется маскирование (смотри ниже).
В ином случае, если кадр признается допустимым, на этапе S103’ проверяется, кодирована ли в кадре информации об основном тоне. В некоторых примерах, информация об основном тоне кодируется, если только подтверждается, что гармоничность превышает конкретный порог (что может указывать, например, на достаточно высокую гармоничность для выполнения LTPF и/или PLC, например).
Если на этапе S103’ подтверждается, информация о гармоничности действительно закодирована, то информация о гармоничности декодируется и сохраняется на этапе S104’. Иначе, цикл заканчивается, и новый кадр может декодироваться на этапе S101’.
Затем, на этапе S105’ проверяется, активизирована ли LTPF. Если проверка показывает, что LTPF активизирована, то LTPF выполняется на этапе S106. Иначе, LTPF пропускается; цикл заканчивается; и новый кадр может декодироваться на этапе S101’.
Что касается маскирования, оно может делиться на этапы. На этапе S107’ проверяется, хранится ли в памяти (т.е. имеется ли) информация об основном тоне предыдущего кадра (или информация об основном тоне одного из предыдущих кадров).
Если проверка указывает, что искомая информация об основном тоне хранится, то на этапе S108 может выполняться маскирование ошибок. Возможно выполнение повторного разложения кадра посредством MDCT (или MDST) с кодированием сигнала и/или маскирования во временной области в режиме, и/или способа фазового ECU.
В ином случае, если проверка на этапе S107’ показывает, никакой новой информации об основном тоне не хранится (вследствие того, что декодер не передал задержки основного тона, например), то на этапе S109’ можно использовать другой хорошо известная методика маскирования, не предусматривающий использования информации об основном тоне, обеспечиваемой кодером. Некоторые из этих методик могут базироваться на оценивании информации об основном тоне и/или другой информации о гармоничности в декодере. В некоторых примерах, в данном случае можно не выполнять никакой методики маскирования.
После выполнения маскирования, цикл заканчивается, и на этапе S101’ может декодироваться новый кадр.
best
1
2
Следует отметить, что задержка основного тона, используемая методикой PLC, имеет значение 19 (t), подготовленное устройством 10 и/или 60b на основании выбора между оценками T и T, как описано выше.
10. Другие примеры
Фиг. 7 представляет устройство 110, которое может реализовать устройство 10 и/или 60a и выполнять, по меньшей мере, некоторые этапы вышеописанных способов. Устройство 110 может содержать процессор 111 и блок 112 долговременной памяти, хранящий инструкции (например, программу), которые, при их исполнении процессором 111, могут назначать процессору 111 выполнение первого оценивания 112a (например, чтобы реализовать первый блок 11 оценки), второе оценивание 112b (например, чтобы реализовать второй блок 12 оценки), и/или выбор 112c (например, чтобы реализовать селектор 18). Устройство 110 может содержать блок 116 ввода, который может получать входной информационный сигнал (например, аудиосигнал). Устройство может сохранять поток битов, например в пространстве 118 для хранения данных.
Фиг. 8 представляет устройство 120, которое может реализовать декодер 60b и/или выполнять, например, LTPF. Устройство 120 может содержать процессор 121 и блок 122 долговременной памяти, хранящий инструкции 122a (например, программу), которые, при их исполнении процессором 121, могут назначать процессору 121 выполнение, помимо прочего, операции LTPF, например, на основании параметра, получаемого из кодера. Устройство 120 может содержать блок 126 ввода, который может получать декодированное представление информационного сигнала (например, аудиосигнала). Поэтому процессор 121 может выполнять процедуры для получения декодированного представления информационного сигнала. Это декодированное представление может передаваться во внешние блоки с использованием блока 127 вывода. Блок 127 вывода может содержать, например, блок связи для связи с внешними устройствами (например, с помощью такой беспроводной связи, как Bluetooth) и/или внешними пространствами для хранения данных. Процессор 121 может сохранять декодированное представление аудиосигнала в локальном пространстве 128 для хранения данных.
В примерах, системы 110 и 120 могут представлять собой одно устройство.
В зависимости от некоторых требований к реализации, примеры могут быть реализованы аппаратурно. Реализацию можно осуществить с использованием носителя цифровых данных, например, гибкого диска, a цифрового универсального диска (DVD), диска Blu-Ray, компакт-диска (CD), постоянной памяти (ROM), программируемой постоянной памяти (PROM), стираемой программируемой постоянной памяти (EPROM), и электрически стираемой программируемой постоянной памяти (EEPROM) или флэш-памяти, содержащего электронно-считываемые сигналы управления, записанные на нем, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой таким образом, что выполняется соответствующий способ. Следовательно, цифровой носитель данных может быть компьютерно-читаемым.
В общем, примеры могут быть реализованы в виде компьютерного программного продукта с программными инструкциями, при этом программные инструкции функционально предназначены для выполнения одного из способов, при выполнении компьютерного программного продукта в компьютере. Программные инструкции могут, например, храниться на машиночитаемом носителе.
Другие примеры содержат компьютерную программу для выполнения одного из способов, описанных в настоящей заявке, хранимую на машиночитаемом носителе. Иначе говоря, следовательно, примером способа является компьютерная программа, содержащая программные инструкции для исполнения одного из способов, описанных в настоящей заявке, когда компьютерная программа выполняется в компьютере.
Дополнительным примером способов является, следовательно, носитель данных (или носитель цифровых данных или компьютерно-читаемый носитель), содержащий записанную на нем компьютерную программу для выполнения одного из способов, описанных в настоящей заявке. Носитель данных, носитель цифровых данных или среда для записи являются материальным и/или долговременным, а не сигналами, которые являются нематериальными и кратковременными.
Дополнительный пример содержит устройство для обработки данных, например, компьютер или программируемое логическое устройство, выполняющее один из способов, описанных в настоящей заявке.
Дополнительный пример содержит компьютер, содержащий установленную на нем компьютерную программу для выполнения одного из способов, описанных в настоящей заявке.
Дополнительный пример содержит устройство или систему, передающую (например, электронным или оптическим способом) компьютерную программу для выполнения одного из способов, описанных в настоящей заявке в приемник. Приемник может, например, представлять собой компьютер, мобильное устройство, запоминающее устройство или что-то подобное. Устройство или система может, например, содержать сервер файлов для передачи компьютерной программы в приемник.
В некоторых примерах может применяться программируемое логическое устройство (например, программируемая вентильная матрица) для выполнения некоторых или всех функций способов, описанных в настоящей заявке. В некоторых примерах, программируемая вентильная матрица может взаимодействовать с микропроцессором, чтобы выполнять один из способов, описанных в настоящей заявке. В общем, способы могут выполняться любым подходящим аппаратным устройством.
Вышеописанные примеры наглядно поясняют изложенные принципы. Следует понимать, что в будущем станут очевидны модификации и варианты схем и особенностей, описанных в настоящей заявке. Следовательно, предполагается, что модификации и варианты должны ограничиваться объемом притязаний последующей формулы изобретения, а не конкретными особенностями, представленными в описании и пояснении примеров настоящей заявки.