маскирование ошибки передачи в цифровом аудиосигнале в иерархической структуре декодирования

Классы МПК:G10L19/12 определение или кодирование кода возбуждения например в вокодерах с кодами, возбуждаемыми линейным прогнозированием (CELP)
Автор(ы):, ,
Патентообладатель(и):ФРАНС ТЕЛЕКОМ (FR)
Приоритеты:
подача заявки:
2009-03-20
публикация патента:

Изобретение относится к обработке цифровых сигналов, например сигналов речи, музыки, в области телекоммуникаций. Объектом изобретения является способ маскирования ошибки передачи в цифровом сигнале, разбитом на множество последовательных фреймов, связанных с различными временными интервалами, в котором при приеме сигнал может содержать стертые фреймы и нормальные фреймы, при этом нормальные фреймы содержат информацию (inf), связанную с маскированием потери фрейма. Способ применяют во время иерархического декодирования с использованием основного декодирования и декодирования по трансформанте, используя окна с короткой задержкой с введением временной задержки, меньшей одного фрейма по сравнению с основным кодированием. Для замены, по меньшей мере, одного последнего фрейма, стертого перед нормальным фреймом, способ содержит: этап (23) маскирования первого набора недостающих выборок для стертого фрейма, применяемый в первом временном интервале; этап (25) маскирования второго набора недостающих выборок для стертого фрейма, учитывающий данные указанного нормального фрейма и применяемый во втором временном интервале, и этап (29) перехода между первым набором недостающих выборок и вторым набором недостающих выборок для получения, по меньшей мере, части недостающего фрейма. Технический результат - улучшение качества декодированных сигналов при потерях блоков данных путем повышения качества маскирования стертых фреймов в системе иерархического кодирования с короткой задержкой. 3 н. и 7.з.п. ф-лы, 7 ил. маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156

маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156 маскирование ошибки передачи в цифровом аудиосигнале в иерархической   структуре декодирования, патент № 2496156

Формула изобретения

1. Способ маскирования ошибки передачи в цифровом сигнале, разбитом на множество последовательных фреймов, связанных с различными временными интервалами, в котором при приеме сигнал может содержать стертые фреймы и нормальные фреймы, при этом нормальные фреймы содержат информацию (inf.), связанную с маскированием потери фрейма, отличающийся тем, что его применяют во время иерархического декодирования с использованием основного декодирования и декодирования по трансформанте, используя окна с короткой задержкой с введением временной задержки, меньшей одного фрейма по сравнению с основным кодированием, и тем, что для замены, по меньшей мере, последнего фрейма, стертого перед нормальным фреймом, при этом способ содержит:

- этап (23) маскирования первого набора недостающих выборок для стертого фрейма, применяемый в первом временном интервале, соответствующем стертому фрейму;

- этан (25) маскирования второго набора недостающих выборок для стертого фрейма, учитывающий данные указанного нормального фрейма и применяемый во втором временном интервале, соответствующем нормальному фрейму; и

- этап (29) перехода между первым набором недостающих выборок и вторым набором недостающих выборок для получения, по меньшей мере, части выборок недостающего фрейма.

2. Способ по п.1, отличающийся тем, что этап перехода между первым набором недостающих выборок и вторым набором недостающих выборок обеспечивают при помощи этапа сложения с перекрыванием.

3. Способ по п.1, отличающийся тем, что этап перехода между первым набором недостающих выборок и вторым набором недостающих выборок обеспечивают при помощи этапа фильтрования синтеза с линейным предсказанием, на котором для генерирования второго набора недостающих выборок используют данные фильтра в точке перехода, записанные в память во время первого этапа маскирования.

4. Способ по п.1, отличающийся тем, что первый набор выборок представляет собой всю совокупность недостающих выборок стертого фрейма, а второй набор выборок является частью недостающих выборок стертого фрейма.

5. Способ по п.1, отличающийся тем, что информацией, присутствующей в нормальном фрейме, являются, например, данные о классификации сигнала и/или о спектральной огибающей сигнала.

6. Способ по п.1, отличающийся тем, что на этапе маскирования второго набора недостающих выборок используют информацию о классификации сигнала для адаптации соответствующих коэффициентов усиления гармонической части сигнала возбуждения и произвольной части сигнала возбуждения для сигнала, соответствующего стертому фрейму.

7. Способ по п.1, отличающийся тем, что поскольку первый временной интервал связан с указанным стертым фреймом, а второй временной интервал связан с указанным нормальным фреймом в первом временном интервале применяют этап подготовки этапа маскирования второго набора недостающих выборок, на котором не производят никаких недостающих выборок.

8. Способ по п.7, отличающийся тем, что этап подготовки содержит этап генерирования гармонической части сигнала возбуждения и этап генерирования произвольной части сигнала возбуждения для сигнала, соответствующего стертому фрейму.

9. Устройство маскирования ошибки передачи в цифровом сигнале, разбитом на множество последовательных фреймов, связанных с различными временными интервалами, в котором при приеме сигнал может содержать стертые фреймы и нормальные фреймы, при этом нормальные фреймы содержат информацию (inf.), связанную с маскированием потери фрейма, отличающееся тем, что его применяют во время иерархического декодирования с использованием основного декодирования и декодирования по трансформанте, используя окна с короткой задержкой с введением временной задержки, меньшей одного фрейма по сравнению с основным кодированием, и тем, что оно содержит:

- модуль маскирования (DE-DISS), выполненный с возможностью генерирования в первом временном интервале, соответствующем стертому фрейму, первого набора недостающих выборок, по меньшей мере, для последнего фрейма, стертого перед нормальным фреймом, и с возможностью генерирования во втором временном интервале, соответствующем нормальному фрейму, второго набора недостающих выборок для стертого фрейма с учетом данных указанного нормального фрейма; и

- модуль перехода (TRANS), выполненный с возможностью осуществления перехода между первым набором недостающих выборок и вторым набором недостающих выборок для получения, по меньшей мере, части выборок недостающего фрейма.

10. Декодер цифрового сигнала, отличающийся тем, что содержит устройство маскирования ошибки передачи по п.9.

Описание изобретения к патенту

Настоящее изобретение относится к обработке цифровых сигналов в области телекоммуникаций. Эти сигналы могут быть, например, сигналами речи, музыки.

Настоящее изобретение применяется в системе кодирования/декодирования, предназначенной для передачи/приема таких сигналов. В частности, настоящее изобретение касается обработки при приеме, позволяющей улучшить качество декодированных сигналов при потерях блоков данных.

Известны различные технологии для оцифровки и уплотнения цифрового аудиосигнала. Наиболее распространенными среди них являются:

- способы кодирования по форме волны, такие как кодирование ИКМ (от «Импульсно-кодовая модуляция») и АДИКМ (от «Адаптивная дифференциальная импульсно-кодовая модуляция»), называемые также "РСМ" и "ADPCM" на английском языке,

- способы параметрического кодирования путем анализа/синтеза, такие как кодирование CELP (от "Code Excited Linear Prediction" - кодирование с линейным предсказанием и с возбуждением от кода), и

- способы перцептуального субполосного кодирования или кодирования по трансформанте.

Эти технологии обрабатывают входной сигнал последовательно, выборка за выборкой (ИКМ или АДИКМ), и блоками выборок, называемыми «фреймами» (CELP и кодирование по трансформанте). Во всех этих способах кодирования кодируемые значения преобразуют впоследствии в поток битов, который передают по каналу связи.

В зависимости от качества этого канала и от типа передачи на передаваемый сигнал могут влиять помехи, которые приводят к появлению ошибок в битовом потоке, принимаемом декодером. Эти ошибки могут быть одиночными в потоке битов, однако очень часто проявляются в виде пакетов. В этом случае ошибочным или не принятым оказывается пакет битов, соответствующий полному участку сигнала. Проблема этого типа встречается, например, при передачах по мобильным сетям. Она встречается также при пакетных передачах в сетях и, в частности, в сетях типа Интернет.

Если система передачи или предназначенные для приема модули позволяют обнаружить, что принятые данные содержат значительные ошибки (например, в мобильных сетях) или что блок данных не принят или содержит ошибки на битовом уровне (например, случай систем пакетной передачи), применяют процедуры маскирования ошибок.

В этом случае текущий декодируемый фрейм объявляют стертым ("bad frame" на английском языке). Эти процедуры позволяют экстраполировать в декодере выборки недостающего сигнала на основании сигналов и данных, содержащихся в предыдущих фреймах.

Такие технологии применялись в основном в случае параметрических и предикативных кодеров (технологии компенсации/маскирования стертых фреймов). Они позволяют существенно ограничить субъективное ухудшение сигнала, воспринимаемое кодером при наличии стертых фреймов. Эти алгоритмы основаны на методе, применяемом для кодера и декодера и по сути дела являются расширением декодера. Устройства маскирования стертых фреймов выполняют функцию экстраполяции стертого фрейма на основании последнего предыдущего фрейма или последних предыдущих фреймов, которые считаются нормальными.

Некоторые параметры, применяемые или кодируемые предикативными кодерами, характеризуются значительной корреляцией между фреймами (случай параметров LPC (от "Linear Predictive Coding" на английском языке - кодирование с линейным предсказанием), которые характеризуют спектральную огибающую, и параметров LTP (от "Long Term Prediction" на английском языке) долгосрочного предсказания, которые характеризует периодичность сигнала (например, для звонких звуков). С учетом этой корреляции предпочтительнее повторно использовать параметры последнего нормального фрейма для синтеза стертого фрейма, чем использовать ошибочные или случайные параметры.

В контексте декодирования CELP параметры стертого фрейма классически получают следующим образом.

Параметры LPC воссоздаваемого фрейма получают на основании параметров LPC последнего нормального фрейма путем простого копирования параметров или с введением некоторой амортизации (технология, применяемая, например, в кодере стандарта G723.1). После этого детектируют звонкость или ее отсутствие в речевом сигнале для определения степени гармоничности сигнала на уровне стертого фрейма.

Если сигнал не является звонким, сигнал возбуждения можно генерировать произвольно (путем тиражирования кодового слова прошлого возбуждения, путем небольшой амортизации коэффициента усиления прошлого возбуждения, путем произвольного выбора прошлого возбуждения или путем использования переданных кодов, которые могут быть полностью ошибочными).

Если сигнал является звонким, то, как правило, питч-периодом (называемым также «периодом LTP») является питч-период, вычисленный для предыдущего фрейма, в случае необходимости, с незначительным «дрожанием» (увеличение значения периода LTP для фреймов последовательной ошибки, при этом коэффициент усиления LTP является очень близким к 1 или равным 1). Следовательно, сигнал возбуждения ограничивается долгосрочным предсказанием, осуществляемым на основании прошлого возбуждения.

Сложность вычисления при этом типе экстраполяции стертых фреймов можно сравнить со сложностью декодирования нормального фрейма (или "good frame" на английском языке): вместо декодирования и обратного квантования параметров используют параметры, оцениваемые на основании прошлого, в случае необходимости, слегка измененные, затем воссоздаваемый сигнал синтезируют так же, как и для нормального фрейма, используя полученные таким образом параметры.

В иерархической структуре кодирования, использующей при основном кодировании технологию типа CELP и при кодировании сигнала ошибки кодирование по трансформанте, может представлять интерес применение временного смещения, генерируемого этой системой иерархического декодирования, для маскирования стертого фрейма.

На фиг.1 показаны иерархическое кодирование фреймов CELP C0-C5 и трансформанты М1-М5, применяемые для этих фреймов.

Во время передачи этих фреймов на соответствующий декодер заштрихованные фреймы С3 и С4 и трансформанты М3 и М4 оказываются стертыми.

Таким образом, на декодере, как показано на фиг.1b, линия, обозначенная позицией 10, соответствует приему фреймов, линия, обозначенная позицией 11, соответствует синтезу CELP, и линия, обозначенная позицией 12, соответствует полному синтезу после трансформанты MDCT.

Можно отметить, что во время приема фрейма 1 (кодирование CELP C1 и кодирование по трансформанте M1) декодер синтезирует фрейм CELP C1, который будет использован для вычисления сигнала полного синтеза следующего фрейма, и вычисляет сигнал полного синтеза текущего фрейма О1 (линия 12) на основании синтеза CELP C1, трансформанты МО и трансформанты M1. Эта дополнительная Задержка в полном синтезе хорошо известна в контексте кодирования по трансформанте.

В этом случае при наличии ошибок в потоке битов декодер работает следующим образом.

Во время появления первой ошибки в битовом потоке декодер содержит в памяти синтез CELP предыдущего фрейма. Таким образом, как показано на фиг.1b, если фрейм 3 (С3+М3) является ошибочным, декодер использует синтез CELP C2, декодированный на предыдущем фрейме.

Замена ошибочного фрейма (С3) необходима для генерирования следующего выходного сигнала (О4), и с этой целью используют технологию маскирования стертых фреймов, называемую также FEC (от "Frame Erasure Concealment" на английском языке) и описанную, например, в документе под названием "Method of packet errors cancellation suitable for speech and sound compression scheme", B.KOVESI и D.Massaloux, ISIVC-2004.

Это временное смещение между обнаружением ошибочного фрейма и необходимостью синтеза соответствующего сигнала позволяет использовать технологии передачи информации по коррекции ошибок для предыдущего фрейма CELP, как описано в "Efficient frame erasure concealment in predictive speech codecs using glotal pulse resynchronization", T.Vaillancourt et al, опубликовано в ICASSP 2007.

Согласно этому документу нормальный фрейм содержит данные о предыдущем фрейме для улучшения маскирования стертых фреймов и ресинхронизации между стертыми фреймами и нормальными фреймами.

Таким образом, как показано на фиг.1b, во время приема фрейма 5 (С5+М5) после обнаружения двух ошибочных фреймов (фреймы 3 и 4) декодер принимает в битовом потоке фрейма 5 информацию о характере предыдущего фрейма (например, указание на классификацию, информацию о спектральной огибающей). Под информацией о классификации следует понимать информацию о звонкости, отсутствии звонкости, наличии атак и т.д.

Этот тип информации в битовом потоке описан, например, в документе "Wideband Speech Coding Advances in VMR-WV Standard" M.Jelinek and R.Salami, IEEE Transactions on audio, speech and language processing, май 2007 г.

Таким образом, декодер синтезирует предыдущий ошибочный фрейм (фрейм 4), применяя технологию маскирования стертых фреймов, которая использует информацию, полученную вместе с фреймом 5, до синтеза сигнала CELP С5.

С другой стороны, были разработаны технологии иерархического кодирования, чтобы сократить временное смещение между двумя ступенями кодирования. Так, существуют трансформанты с короткой задержкой, которая сокращает временное смещение на половину фрейма. Например, это касается использования окна, называемого "Low-Overlap", раскрытого в документе "Real-Time Implementation of the MPEG-4 Low-Delay Advanced Audio Coding Algorithm (AAC-LD) on Motorola's DSP56300", J.Hilpert et al, опубликованном на 108-й конференции AES в феврале 2000 г.

В этих технологиях с применением трансформанты с короткой задержкой уже невозможно использовать информацию нормального текущего фрейма для генерирования недостающих выборок стертого фрейма, как в ранее описанных технологиях, поскольку временное смещение оказывается короче фрейма. Поэтому качество сигнала в случае ошибочных фреймов является более низким.

В связи с этим существует потребность в повышении качества маскирования стертых фреймов в системе иерархического кодирования с короткой задержкой, но без введения дополнительной временной задержки.

Настоящее изобретение призвано улучшить эту ситуацию.

В этой связи изобретением предлагается способ маскирования ошибки передачи в цифровом сигнале, разбитом на множество последовательных фреймов, связанных с различными временными интервалами, в котором при приеме сигнал может содержать стертые фреймы и нормальные фреймы, при этом нормальные фреймы содержат информацию (inf.), связанную с маскированием потери фрейма. Способ применяют во время иерархического декодирования с использованием основного декодирования и декодирования по трансформанте, используя окна с короткой задержкой с введением временной задержки, меньшей одного фрейма по сравнению с основным кодированием, и для замены, по меньшей мере, последнего фрейма, стертого перед нормальным фреймом, и он содержит:

- этап маскирования первого набора недостающих выборок для стертого фрейма, применяемый в первом временном интервале;

- этап маскирования второго набора недостающих выборок для стертого фрейма, учитывающий информацию указанного нормального фрейма и применяемый во втором временном интервале; и

- этап перехода между первым набором недостающих выборок и вторым набором недостающих выборок для получения, по меньшей мере, части недостающего фрейма.

Таким образом, использование данных, присутствующих в нормальном фрейме, для генерирования второго набора недостающих выборок предыдущего стертого фрейма позволяет повысить качество декодируемого аудиосигнала, наиболее оптимально адаптируя недостающие выборки. Этап перехода между первом набором недостающих выборок и вторым набором позволяет обеспечить непрерывность в получении недостающих выборок.

Этот этап перехода предпочтительно может быть этапом сложения с перекрыванием.

Во втором варианте выполнения этот этап перехода можно обеспечить при помощи этапа фильтрования синтеза с линейным предсказанием, на котором для генерирования второго набора недостающих выборок используют данные фильтра в точке перехода, записанные в память во время первого этапа маскирования.

В этом случае данные фильтрования синтеза в точке перехода записывают на первом этапе маскирования. Во время второго этапа маскирования определяют возбуждение в зависимости от полученной информации. Синтез осуществляют от точки перехода, используя, с одной стороны, полученное возбуждение и, с другой стороны, записанные в памяти данные фильтра синтеза.

В частном варианте выполнения первый набор выборок представляет собой всю совокупность недостающих выборок стертого фрейма, а второй набор выборок является частью недостающих выборок стертого фрейма.

Таким образом, распределение генерирования выборок между двумя разными временными интервалами и генерирование только части выборок во втором временном интервале позволяют снизить пик сложности, который может находиться во временном интервале, соответствующем нормальному фрейму. Действительно, в этом временном интервале декодер должен одновременно генерировать недостающие выборки предыдущего фрейма, осуществлять этап перехода и декодировать нормальный фрейм. Поэтому именно в этом временном интервале находится пик сложности декодирования.

Информацией, присутствующей в нормальном фрейме, являются, например, данные о классификации сигнала и/или о спектральной огибающей сигнала.

Информация о классификации сигнала позволяет, например, на этапе маскирования второго набора недостающих выборок адаптировать соответствующие коэффициенты усиления гармонической части сигнала возбуждения и произвольной части сигнала возбуждения для сигнала, соответствующего стертому фрейму.

Таким образом, эти данные способствуют наилучшей адаптации недостающих выборок, генерируемых на этапе маскирования.

В частном варианте выполнения, поскольку первый временной интервал связан с указанным стертым фреймом, а второй временной интервал связан с указанным нормальным фреймом, в первом временном интервале применяют этап подготовки этапа маскирования второго набора недостающих выборок, на котором не производят никаких недостающих выборок.

Таким образом, этап подготовки этапа маскирования второго набора недостающих выборок осуществляют во временном интервале, отличающемся от временного интервала, соответствующего декодированию нормального фрейма. Это позволяет распределить нагрузку вычисления на этапе маскирования второго набора выборок и, таким образом, снизить пик сложности во временном интервале, соответствующем приему первого нормального фрейма. Как было указано выше, именно в этом временном интервале, соответствующем нормальному фрейму, находится пик сложности или наихудший случай сложности декодирования.

Таким образом, распределение сложности позволяет пересмотреть в сторону уменьшения размерности процессор устройства маскирования ошибки передачи, размерность которого определяют в зависимости от наихудшего случая сложности.

В частном варианте выполнения этап подготовки содержит этап генерирования гармонической части сигнала возбуждения и этап генерирования произвольной части сигнала возбуждения для сигнала, соответствующего стертому фрейму.

Объектом настоящего изобретения является также устройство маскирования ошибки передачи в цифровом сигнале, разбитом на множество последовательных фреймов, связанных с различными временными интервалами, в котором при приеме сигнал может содержать стертые фреймы и нормальные фреймы, при этом нормальные фреймы содержат информацию (inf.), связанную с маскированием потери фрейма. Это устройство применяют во время иерархического декодирования с использованием основного декодирования и декодирования по трансформанте, используя окна с короткой задержкой с введением временной задержки, меньшей одного фрейма по сравнению с основным кодированием, и оно содержит:

- модуль маскирования, выполненный с возможностью генерирования в первом временном интервале первого набора недостающих выборок, по меньшей мере, для последнего фрейма, стертого перед нормальным фреймом, и с возможностью генерирования во втором временном интервале второго набора недостающих выборок для стертого фрейма с учетом данных указанного нормального фрейма; и

- модуль перехода, выполненный с возможностью осуществления перехода между первым набором недостающих выборок и вторым набором недостающих выборок для получения, по меньшей мере, части недостающего фрейма.

Это устройство применяет этапы описанного выше способа маскирования. Объектом настоящего изобретения является также декодер цифрового сигнала, содержащий устройство маскирования ошибки передачи в соответствии с настоящим изобретением.

Наконец, изобретение касается также компьютерной программы, предназначенной для записи в памяти устройства маскирования ошибки передачи. Эта компьютерная программа содержит кодовые команды для осуществления этапов способа маскирования ошибки в соответствии с настоящим изобретением, когда ее исполняет процессор указанного устройства маскирования ошибки передачи.

Оно касается также носителя информации, выполненного с возможностью считывания компьютером или процессором, интегрированного или не интегрированного в устройство и содержащего записанную на нем вышеуказанную компьютерную программу.

Другие преимущества и отличительные признаки настоящего изобретения будут более очевидны из нижеследующего подробного описания, представленного в качестве примера, со ссылками на прилагаемые чертежи, на которых:

Фиг.1а и 1b иллюстрируют известную технологию маскирования ошибочных фреймов в контексте иерархического кодирования.

Фиг.2 иллюстрирует способ маскирования в соответствии с настоящим изобретением в первом варианте выполнения.

Фиг.3 иллюстрирует способ маскирования в соответствии с настоящим изобретением во втором варианте выполнения.

Фиг.4а и 4b иллюстрируют синхронизацию реконструкции с использованием способа маскирования в соответствии с настоящим изобретением.

Фиг.5 иллюстрирует пример иерархического кодера, который можно использовать в рамках настоящего изобретения.

Фиг.6 иллюстрирует иерархический декодер в соответствии с настоящим изобретением.

Фиг.7 иллюстрирует устройство маскирования в соответствии с настоящим изобретением.

Далее со ссылками на фиг.2 следует описание способа маскирования ошибки передачи согласно первому варианту выполнения изобретения. В этом примере фрейм N, принятый на декодере, является стертым.

Нормальный фрейм N-1, принятый на декодере, обрабатывают на этапе 20 при помощи модуля демультиплексирования DEMUX и обычно декодируют на этапе 21 при помощи модуля декодирования DE-NO. После этого декодированный сигнал сохраняют в буферной памяти MEM во время этапа 22. По меньшей мере, часть этого сохраненного в памяти декодированного сигнала направляют в звуковую карту 30 на выходе декодера фрейма N-1, при этом декодированный сигнал, оставшийся в буферной памяти, сохраняют для направления в звуковую карту 30 после декодирования следующего фрейма.

Таким образом, при обнаружении стертого фрейма N осуществляют этап маскирования первого набора выборок для этого недостающего фрейма на этапе 23 при помощи модуля маскирования ошибок DE-DISS и с использованием декодированного сигнала предыдущего фрейма. Экстраполированный таким образом сигнал сохраняют в памяти MEM во время этапа 24.

По меньшей мере, часть этого сохраненного в памяти экстраполированного сигнала вместе с остающимся в памяти декодированным сигналом фрейма N-1 направляют в звуковую карту 30 на выходе декодера фрейма N. Остающийся в буферной памяти экстраполированный сигнал сохраняют для направления в звуковую карту после декодирования следующего фрейма.

При приеме нормального фрейма N+1 в 25 при помощи модуля маскирования ошибок DE-MISS осуществляют этап маскирования второго набора недостающих выборок для стертого фрейма N. На этом этапе используют данные, присутствующие в нормальном фрейме N+1, которые были получены во время этапа 26 демультиплексирования фрейма N+1 при помощи модуля демультиплексирования DEMUX.

Информация, присутствующая в нормальном фрейме, содержит данные о предыдущем фрейме битового потока. Именно эта информация содержит данные о классификации сигнала (звонкий сигнал, не звонкий сигнал, переходный сигнал) или данные о спектральной огибающей сигнала.

Эта информация в дальнейшем позволит наилучшим образом адаптировать этап маскирования ошибок, например, путем вычисления соответствующих коэффициентов усиления для гармонической части возбуждения и произвольной части возбуждения. Под гармоническим возбуждением следует понимать возбуждение, вычисленное на основании значения питча (число выборок в периоде, соответствующем обратному значению основной частоты) сигнала предыдущего фрейма, и, таким образом, гармоническую часть сигнала получают путем копирования прошлого возбуждения в моменты, соответствующие задержке питча. Под произвольным возбуждением следует понимать сигнал возбуждения, полученный при помощи генератора произвольного сигнала или при помощи произвольного тиражирования кодового слова из прошлого возбуждения или из словаря.

Таким образом, в случае, когда классификация сигнала указывает на звонкий фрейм, для гармонической части возбуждения вычисляют наибольший коэффициент усиления, а в случае, когда классификация сигнала указывает на не звонкий фрейм, наибольший коэффициент усиления вычисляют для произвольной части возбуждения.

С другой стороны, в случае перехода от звонкого к не звонкому фрейму часть гармонического возбуждения является полностью ошибочной. В этом случае может понадобиться несколько фреймов, чтобы декодер нашел нормальное возбуждение и, следовательно, приемлемое качество. Таким образом, можно использовать новую искусственную версию гармонического возбуждения, чтобы позволить декодеру быстрее войти в нормальный режим работы.

Информация о спектральной огибающей может быть информацией о стабильности фильтра линейного предсказания LPC. Таким образом, если эта информация указывает, что фильтр является стабильным между предыдущим фреймом и текущим (нормальным) фреймом, на этапе маскирования второго набора недостающих выборок используют фильтр линейного предсказания нормального фрейма. В противном случае используют фильтр, остающийся от прошлой операции.

Осуществляют этап 29 перехода при помощи модуля перехода TRANS. Этот модуль учитывает первый набор выборок, генерированных на этапе 23, который еще не проигрывался на звуковой карте, и второй набор выборок, генерированных на этапе 25, для получения плавного перехода между первым набором и вторым набором. В варианте выполнения этот этап перехода является этапом плавного перехода или сложения с перекрыванием, на котором постепенно уменьшат вес экстраполированного сигнала в первом наборе и постепенно увеличивают вес экстраполированного сигнала во втором наборе, чтобы получить недостающие выборки стертого фрейма.

Например, этот этап плавного перехода соответствует умножению всех выборок экстраполированного сигнала, сохраненного в памяти на фрейме N, с весовой функцией, постепенно уменьшающейся от 1 до 0, и сложению этого взвешенного сигнала с весовой функцией, дополняющей весовую функцию сохраненного в памяти сигнала. Под дополнительной весовой функцией следует понимать функцию, полученную путем вычитания единицы при помощи предыдущей весовой функции.

В версии этого варианта выполнения этот этап плавного перехода осуществляют только на части (по меньшей мере, на одной выборке) сохраненного в памяти сигнала.

В другом варианте выполнения этот этап перехода осуществляют при помощи фильтра синтеза линейного предсказания. В этом случае данные памяти фильтра синтеза в точке перехода сохраняют на первом этапе маскирования. Во время второго этапа маскирования определяют возбуждение в зависимости от полученных данных. Синтез осуществляют, начиная от точки перехода, используя, с одной стороны, полученное возбуждение и, с другой стороны, сохраненные в памяти данные фильтра синтеза.

В этом же временном интервале в 26 нормальный фрейм подвергают демультиплексированию, в 27 его обычно декодируют и декодированный сигнал сохраняют в 28 в буферной памяти MEM. Сигнал, поступающий из модуля перехода TRANS, направляют вместе с декодированным сигналом фрейма N+1 в звуковую карту 30 на выходе декодера фрейма N+1.

Сигнал, полученный звуковой картой 30, предназначен для воспроизведения средствами воспроизведения типа громкоговорителя 31.

В варианте выполнения способа в соответствии с настоящим изобретением первый набор выборок и второй набор выборок представляют собой совокупность выборок недостающего фрейма. На каждом временном интервале генерируют сигнал, соответствующий стертому фрейму, при этом плавный переход осуществляют на части двух сигналов, соответствующих второй половине стертого фрейма (полуфрейму), чтобы получить выборки недостающего фрейма. Преимуществом этого варианта выполнения является возможность более легкого использования обычных структур маскирования ошибок, которые работают на целом фрейме.

Согласно версии выполнения, во временном интервале, соответствующем стертому фрейму, на этапе маскирования генерируют все выборки недостающего фрейма (выборки понадобятся, если следующий фрейм тоже окажется стертым), тогда как во временном интервале, соответствующем декодированию нормального фрейма, на этапе маскирования генерируют только вторую часть выборок, например, вторую половину выборок недостающего фрейма. Этап сложения с перекрыванием осуществляют для обеспечения перехода на эту вторую половину выборок недостающего фрейма.

Согласно этой версии выполнения, число выборок, генерируемых для недостающего фрейма во временном интервале, соответствующем нормальному фрейму, меньше, чем в случае описанного выше первого варианта выполнения. Следовательно, уменьшается сложность декодирования в этом временном интервале.

Действительно, именно в этом временном интервале находится наихудший случай сложности. Действительно, в этом временном интервале одновременно осуществляют декодирование нормального фрейма, а также этап маскирования второго набора выборок. Сокращая число генерируемых выборок, уменьшают наихудший случай сложности и, следовательно, размерность процессора типа DSP (от "Digital Signal Processor" на английском языке).

Согласно второму варианту выполнения, осуществляют распределение сложности, что позволяет еще больше уменьшить наихудший случай сложности, не повышая при этом средней сложности.

Так, на фиг.3 показан второй вариант выполнения способа в соответствии с настоящим изобретением в случае, когда фрейм N, принятый на декодере, является стертым.

В этом примере этап маскирования второго набора выборок разбивают на два этапа. Первый этап Е1 подготовки, на котором не генерируют недостающие выборки и не используют, информацию из нормального фрейма, осуществляют в предыдущем временном интервале. Второй этап Е2, на котором генерируют недостающие выборки и используют данные из нормального фрейма, осуществляют во временном интервале, соответствующем нормальному фрейму.

Таким образом, для фрейма N-1, принятого на декодере, осуществляют те же операции, что и описанные со ссылками на фиг.2, то есть демультиплексирование 20, нормальное декодирование 21 и запись в память 22.

Во временном интервале, соответствующем стертому фрейму N, осуществляют этап подготовки Е1, обозначенный позицией 32. Этот этап подготовки является, например, этапом получения гармонической части возбуждения с использованием значения задержки LTP предыдущего фрейма и получения произвольной части возбуждения в структуре декодирования CELP.

На этом этапе подготовки используют параметры предыдущего фрейма, сохраненного в памяти MEM. Для этого этапа нет смысла использовать информацию о классификации или информацию о спектральной огибающей стертого фрейма.

В этом же временном интервале, соответствующем стертому фрейму, осуществляют также этап 23 маскирования первого набора выборок, описанный со ссылками на фиг.2. Полученный на этом этапе экстраполированный сигнал сохраняют в памяти MEM в 24. По меньшей мере, часть этого сохраненного в памяти экстраполированного сигнала вместе с декодированным сигналом, остающимся в памяти от фрейма N-1, направляют в звуковую карту 30 на выходе декодера фрейма N. Экстраполированный сигнал, остающийся в буферной памяти, сохраняют, чтобы направить его на звуковую карту после декодирования следующего фрейма.

Обозначенный позицией 33 этап Е2 маскирования, включающий экстраполяцию второго набора недостающих выборок, соответствующего стертому фрейму N, осуществляют во временном интервале, соответствующем фрейму N+1, принятому на декодере. Этот этап содержит учет данных, содержащихся в нормальном фрейме N+1 и относящихся к фрейму N.

В этом частном варианте выполнения этап маскирования соответствует вычислению коэффициентов усиления, связанных с двумя частями возбуждения и, в случае необходимости, с коррекцией фазы гармонического возбуждения, В зависимости от информации о классификации, полученной в первом нормальном фрейме, адаптируют соответствующие коэффициенты усиления двух частей возбуждения. Так, например, в зависимости от информации о классификации из последнего нормального фрейма, принятого перед стертыми фреймами, и от полученной информации о классификации на этапе маскирования адаптируют выбор возбуждений и соответствующих коэффициентов усиления, чтобы наилучшим образом отобразить класс фрейма. За счет этого повышают качество сигнала, генерируемого на этапе маскирования, используя полученную информацию.

Например, если согласно информации фрейм N является фреймом звонкого сигнала, на этапе Е2 приоритет отдается гармоническому возбуждению, полученному на этапе подготовки Е1, а не произвольному возбуждению, и наоборот для фрейма не звонкого сигнала.

В случае когда информация описывает переходный фрейм N, на этапе Е2 генерируют недостающие выборки в зависимости от точной классификации перехода (от звонкого к не звонкому сигнал или от не звонкого к звонкому).

После этого между первым набором выборок, генерируемом на этапе 23, и вторым набором выборок, генерируемом на этапе 33, осуществляют этап 29 сложения с перекрыванием или плавного перехода, как описано со ссылками на фиг.2.

Во время временного интервала, соответствующего нормальному фрейму N+1, фрейм N+1 обрабатывают при помощи модуля демультиплексирования DEMUX, декодируют в 27 и сохраняют в памяти в 28, как было описано со ссылками на фиг.2. Экстраполированный сигнал, полученный на этапе плавного перехода 29, и декодированный сигнал фрейма N+1 направляют вместе на звуковую карту 30 на выходе декодера фрейма N+1.

На фиг.4а и 4b показано выполнение этого способа и синхронизация между декодированием типа CELP и декодированием по трансформанте, для которого используют окна с короткой задержкой, показанные в виде окон, описанных в патентной заявке FR 0760258.

В этом контексте иерархического декодирования на фиг.4а показаны иерархическое кодирование фреймов CELP C0-C5 и трансформанты с короткой задержкой М1-М5, применяемые для этих фреймов.

Во время передачи этих фреймов на соответствующий декодер, заштрихованные фреймы С3 и С4 оказались стертыми.

На фиг.4b показано декодирование фреймов C0-C5. Линией 40 показан сигнал, принятый на декодере, линией 41 показан синтез CELP на первой ступени декодирования, и линией 42 показан полный синтез с использованием трансформанты (MDCT) с короткой задержкой.

Из этого примера видно, что временное смещение между двумя ступенями декодирования короче одного фрейма и из соображений упрощения оно показано здесь в виде смещения на полуфрейм.

Таким образом, для декодирования фрейма О1 (линия 42) декодера используют часть синтеза CELP предыдущего фрейма С0 и трансформанту М0, а также часть синтеза CELP текущего фрейма С1 и трансформанту M1.

Это же относится и фрейму 02, для которого используют часть синтеза CELP фрейма 1 (С1) и трансформанту M1 и часть синтеза CELP фрейма 2 (С2) и трансформанту М2.

Во время обнаружения первого стертого фрейма (С3+М3) декодер использует синтез CELP предыдущего фрейма 2 (С2) для построения сигнала полного синтеза (03). При помощи алгоритма маскирования ошибки необходимо также генерировать сигнал, соответствующий синтезу CELP фрейма 3 (С3).

Этот регенерированный сигнал на фиг.4b обозначен FEC-C3. Таким образом, выходной сигнал 03 декодера состоит из последней половины сигнала С2 и из первой половины экстраполированного сигнала FEC-C3.

Во время второго ошибочного фрейма 4 осуществляют этап маскирования для фрейма С4, чтобы генерировать выборки, соответствующие недостающему фрейму С4. Таким образом, получают первый набор выборок, обозначенный FEC1-C4, для недостающего фрейма С4.

Таким образом, фрейм 4 выходного сигнала О4 декодера строят, используя часть выборок, экстраполированных для С3, и часть первого набора выборок, экстраполированных для С4 (FEC1-C4).

Во время приема первого нормального фрейма (С5+М5) осуществляют этап маскирования второго набора выборок для фрейма С4. На этом этапе используют информацию о фрейме С4, содержащуюся в нормальном фрейме С5. Этот второй набор выборок обозначен FEC2-C4.

Этап перехода от первого набора выборок FEC1-C4 ко второму набору выборок FEC2-C4 осуществляют путем сложения с перекрыванием или плавного перехода для получения недостающих выборок FEC-C4 второй половины стертого фрейма С4.

Фрейм 5 выходного сигнала О5 декодера строят, используя часть выборок, полученных на этапе плавного перехода (FEC-C4), и часть выборок, декодированных для нормального фрейма С5.

Согласно версии этого варианта выполнения, во время этапа маскирования второго набора выборок для фрейма С4 генерируют только вторую половину недостающих выборок FEC2-C4, чтобы снизить сложность. На этой второй половине осуществляют этап плавного перехода.

Изобретение было описано для примера выполнения, в котором основным декодированием является декодирование типа CELP. Это основное декодирование может быть также декодированием любого другого типа. Например, его можно заменить декодером типа ADPCM (например, таким как кодер/декодер стандарта G.722). В этом варианте выполнения в отличие от декодирования CELP непрерывность между двумя фреймами не обязательно обеспечивается фильтрованием синтеза линейного предсказания (LPC). Так, при приеме первого нормального фрейма после стертого фрейма или стертых фреймов способ дополнительно содержит этап продолжения сигнала экстраполяции стертых фреймов и этап сложения с перекрыванием между сигналом, по меньшей мере, части первого нормального фрейма и этим продолжением сигнала экстраполяции.

Далее со ссылками на фиг.5 следует описание примера иерархического кодера со ступенью кодирования по трансформанте.

Входной сигнал S кодера фильтруют при помощи фильтра высоких частот HP 50. В первой ступени кодирования этот фильтрованный сигнал дискретизируют при помощи модуля 51 по частоте кодера ACELP (от "Algebraic Code Excited Linear Prediction" на английском языке), а затем кодируют при помощи метода кодирования ACELP. Сигнал, полученный после этой ступени кодирования, уплотняют в модуле-мультиплексоре 56. На модуль-мультиплексор поступает также информация о предыдущем фрейме (inf) для формирования потока битов Т.

Сигнал, полученный после кодирования ACELP, тоже дикретизируют по частоте дискретизации, соответствующей исходному сигналу, при помощи модуля 53. Этот дискретный сигнал извлекают из фильтрованного сигнала в 54 и направляют на вторую ступень кодирования, где в модуле 55 осуществляют трансформанту MDCT. Затем сигнал квантуют в модуле 57 и уплотняют при помощи модуля-мультиплексора MUX для формирования потока битов Т.

Далее со ссылками на фиг.6 следует описание декодера в соответствии с настоящим изобретением. Он содержит модуль 60 демультиплексирования, выполненный с возможностью обработки входящего битового потока Т. Осуществляют первую ступень декодирования ACELP 61. Декодированный сигнал дискретизируют при помощи модуля 62 по частоте сигнала. Затем его обрабатывают при помощи модуля трансформанты MDCT 63. Используемой в данном случае трансформантой является трансформанта с короткой задержкой, описанная в документе "Low-Overlap", представленном в "Real-Time Implementation of the MPEG-4 Low-Delay Advanced Audio Coding Algorithm (AAC-LP) on Motorola's DSP56300" J.Hilpert et al., опубликованном на 108-й конференции AES в феврале 2000 г., или описанная в патентной заявке FR 0760258.

Таким образом, временное смещение между первой ступенью декодирования ACELP и ступенью трансформанты соответствует полуфрейму.

На выходе модуля демультиплексирования во второй ступени декодирования сигнал подвергают деквантованию в модуле 68 и в 67 и добавляют к сигналу, полученному от трансформанты. После этого в 64 применяют обратную трансформанту. Полученный сигнал подвергают пост-обработке (PF) 65, используя сигнал, поступивший из модуля 62, затем фильтруют в 66 при помощи фильтра высоких частот, который выдает выходной сигнал Ss декодера.

Декодер содержит устройство 70 маскирования ошибки передачи, которое получает от модуля демультиплексирования информацию bfi о стертом фрейме. Это устройство содержит модуль 71 маскирования, который, согласно изобретению, во время декодирования нормального фрейма получает информацию inf. относительно маскирования потери фрейма.

В первом временном интервале этот модуль осуществляет маскирование первого набора выборок стертого фрейма, затем во временном интервале, соответствующем декодированию нормального фрейма, осуществляет маскирование второго набора выборок стертого фрейма.

Устройство 70 содержит также модуль 72 TRANS перехода, выполненный с возможностью осуществления перехода между первым набором выборок и вторым набором выборок для выдачи, по меньшей мере, части выборок стертого фрейма.

Выходной сигнал ядра иерархического декодера является либо сигналом, поступившим из декодера ACELP 61, либо сигналом, поступившим из модуля 70 маскирования. Непрерывность между двумя сигналами обеспечивается тем, что они используют общие сохраненные в памяти данные синтеза фильтра линейного предсказания LPC.

Устройство 79 маскирования ошибки передачи в соответствии с настоящим изобретением показано на фиг.7. Материально это устройство в соответствии с настоящим изобретением содержит процессор µР, взаимодействующий с блоком памяти ВМ, включающим память хранения и/или рабочую память, а также вышеупомянутую буферную память MEM в качестве средства для запоминания декодированных фреймов, направляемых с временным смещением. Это устройство принимает на входе последовательные фреймы цифрового сигнала Se и выдает синтезированный сигнал Ss, содержащий выборки стертого фрейма.

Блок памяти ВМ может содержать компьютерную программу, содержащую кодовые команды для осуществления этапов способа в соответствии с настоящим изобретением, когда эти команды исполняются процессором µР устройства, и, в частности, этапа маскирования первого набора недостающих выборок для стертого фрейма, применяемого в первом временном интервале, этапа маскирования второго набора недостающих выборок для стертого фрейма с учетом данных указанного нормального фрейма, применяемого во втором временном интервале; и этапа сложения с перекрыванием между первым набором недостающих выборок и вторым набором недостающих выборок для получения (по меньшей мере, части) недостающего фрейма.

На фиг.2 и 3 показан алгоритм такой компьютерной программы.

Это устройство маскирования в соответствии с настоящим изобретением может быть независимым или интегрированным в декодер цифрового сигнала.

Класс G10L19/12 определение или кодирование кода возбуждения например в вокодерах с кодами, возбуждаемыми линейным прогнозированием (CELP)

Наверх