Коррекция потери кадров путем внедрения взвешенного шума - RU2647634C2

Код документа: RU2647634C2

Чертежи

Показать все 11 чертежа(ей)

Описание

Настоящее изобретение относится к коррекции сигнала, в частности, в декодере, когда имеет место потеря кадров в сигнале, принятом декодером.

Сигнал представлен в виде последовательности отсчетов, разделенных на последовательные кадры, где термин "кадр" означает сегмент сигнала, составленный по меньшей мере из одного отсчета (если кадр содержит один отсчет, то он просто соответствует сигналу в виде последовательности отсчетов).

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

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

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

В случае кодирования речевого сигнала на основе технологии CELP ("линейное предсказание с кодированием") при коррекции потери кадров применяют модель CELP. Например, при кодировании в соответствии с Рекомендацией G722.2, решение для замены потерянного кадра (или "пакета") заключается в том, чтобы продлить использование коэффициента передачи долгосрочного предсказания (LTP) путем его затухания, а также продлить использование каждого из ISF параметров ("иммитанс спектральной частоты"), приводя их к соответствующим средним. Период основного тона речевого сигнала (обозначенного "LTP-Lag") также повторяется. Кроме того, на декодер подают случайные величины для параметров, характеризующих "нововведение" (возмущение в кодировании CELP).

Следует ответить, что применение этого типа способа для кодирования с преобразованием или для РСМ кодирования ("импульсно-кодовой модуляции") требует CELP кодирования в декодере, что вводит дополнительную сложность.

В Рекомендации G.711 ITU-T для кодера, воспроизводящего форму сигнала, коррекция потери кадров (приведенная в качестве примера в приложении I к этой рекомендации) находит период основного тона в уже декодированном речевом сигнале и повторяет последний период основного тона, выполняя добавление с перекрытием между уже декодированным сигналом и повторенным сигналом. Такая обработка "стирает" звуковые артефакты, но требует дополнительных затрат времени в декодере (времени, соответствующего длительности перекрытия).

Наиболее часто используемая технология для коррекции потери кадров в кодировании с преобразованием состоит в повторении спектра, декодированного в последнем принятом кадре. Например, в случае кодирования в соответствии с Рекомендацией G.722.1 MLT-преобразование ("modulated lapped transform"), эквивалентное модифицированному дискретному косинусному преобразованию (MDCT) и перекрытием 50% и синусоидальными окнами, гарантирует переход (между последней потерей кадра и повторенным кадром), который является достаточно медленным, чтобы стереть артефакты, благодаря простому повтору кадра.

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

Тем не менее, она имеет недостаток, связанный с временной нестыковкой между сигналом непосредственно перед потерей кадра и повторенным сигналом. Это приводит к слышимому скачку фазы, что может создать существенные звуковые артефакты, если перекрытие между двумя кадрами небольшое (как в случае, когда применяют MCDT-окна с "малой задержкой"). Эта ситуация с коротким перекрытием показана на фиг. 1В для случая MLT-преобразования с малой задержкой для сравнения с ситуацией, показанной на фиг. 1А, где используют длинные синусоидальные окна в соответствии с Рекомендацией G.722.1 (где предлагается длинный период перекрытия ZRA с очень постепенной модуляцией). Видно, что модуляция с окном с низкой задержкой производит слышимый сдвиг фазы из-за короткой области перекрытия ZRB, как показано на фиг. 1В.

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

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

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

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

Например, со ссылкой на фиг. 1С, сигнал S0 повторяют 7 раз в окнах от F1 до F7. Так как временные характеристики (время от v1 до v7 начала окна и длительность окна от L0 до L7) окон идентичны, то вносится периодичность.

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

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

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

причем способ содержит следующие этапы:

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

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

- извлекают блоки из остаточного сигнала.

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

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

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

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

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

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

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

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

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

- время начала записи внедренного блока, и

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

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

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

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

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

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

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

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

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

В одном варианте по меньшей мере один внедренный блок является обращенным во времени.

Следует понимать, что выражение "обращенный во времени" означает, что к блоку b, зависящему от времени t во взвешивающем окне [DF; FF] применяют формулу: b(t)=b(FF+DF-t). Таким образом, в сигнал замены вводят новые несоответствия.

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

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

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

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

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

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

- извлечения блоков из остаточного сигнала,

- внедрения блоков в структуру,

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

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

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

- на фиг. 1А показано перекрытие с обычными окнами в MLT-преобразовании,

- на фиг. 1В показано перекрытие с окнами с низкой задержкой для сравнения с представлением на фиг. 1А,

- на фиг. 1С показано периодическое повторение шумового сигнала,

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

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

- на фиг. 4 показан пример общего процесса изобретения,

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

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

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

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

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

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

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

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

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

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

Следует понимать, что термин "кадр" означает блок, состоящий по меньшей мере из одного отсчета. В большинстве кодеков эти кадры состоят из нескольких отсчетов. Тем не менее, в некоторых кодеках, таких как РСМ (импульсно-кодовая модуляция), например, в соответствии с Рекомендацией G.711, сигнал просто состоит из последовательности отсчетов (тогда "кадр" в понимании изобретения содержит только один отсчет). Тогда изобретение также можно применить к кодеку этого типа.

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

На первом этапе S1 процесса, показанного на фиг. 2, N звуковых отсчетов последовательно сохраняют в буфере (например, в буфере FIFO). Эти отсчеты соответствуют уже декодированным отсчетам и, таким образом, при обработке потерь кадров к ним можно обратиться. Если первый отсчет, который необходимо синтезировать, является отсчетом с временным индексом N (одного или нескольких последовательных потерянных кадров), то аудиобуфер b(n) соответствует N предыдущим отсчетам с временными индексами от 0 до Ν-1.

Затем, на этапе S2 фильтрации аудиобуфер b(n) разделяют на две полосы частот, полосу ВВ низких частот и полосу ВН высоких частот, при этом частота разделения обозначена ниже через Fc, где, например, Fc=4 кГц.

Тогда, этап S3 применительно к полосе низких частот состоит в поиске точки закольцовывания и сегмента длины Р, соответствующего основному периоду в буфере b(n), из которого берут повторную выборку с частотой Fc. Основной период соответствует, например, периоду основного тона в случае сигнала вокализированной речи (величина обратная к основной частоте сигнала). Тем не менее, сигнал также может исходить от музыкального сигнала, например, имеющего общий тон, который связан с основной частотой и основным периодом, который может соответствовать упомянутому периоду повторения.

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

Далее, этап S4 состоит в разбиении сегмента р(n) на сумму двух синусов.

На этапе S5 на фиг. 2 синусоидальные компоненты выбирают так, что остаются только наиболее важные компоненты.

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

Чтобы предусмотреть повторную выборку кадра (длина отсчетов обозначена через LF), число отсчетов, которые надо синтезировать, можно увеличить на половину размера фильтра повторной выборки (LF). Синтезированный сигнал s(n) вычисляют как сумму выбранных синусоидальных компонент:

где k - индекс K компонент, выбранных на этапе S5. Имеется несколько возможных обычных способов выполнения этого синтеза синусоидальных компонент.

Этап S7 на фиг. 2 состоит во внедрении шума, чтобы компенсировать потерю энергии из-за пропуска определенных частотных компонент в полосе низких частот.

Теперь уже можно описать один простой вариант осуществления изобретения со ссылкой на фиг. 5. Он состоит в вычислении на этапе S5 остаточного сигнала r(n)=p(n)-s(n) между блоком р(n) сигнала, соответствующим тону, извлеченному на этапе Р1, и синтезированным сигналом s(n), выработанным на этапе Р3 на основе анализа синусоидальных компонент, выполненного на этапе S4, где: n∈[0; Р-1].

Этот остаток преобразуют на этапе Р6, так что он достигает размера, чтобы стать сигналом b(n) на этапе Р7.

Затем, на этапе Р8, сигнал b(n) внедряют в сигнал s(n), выработанный на этапе Р2, продолжительностью N, соответствующей продолжительности сигнала, который надо заменить.

Этот сигнал f(n) замены затем смешивают с достоверным сигналом на этапе Р9. Смешивание, например, может включать в себя добавление с перекрытием RECOV на интервале RO перекрытия.

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

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

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

На этапе S601 сигнал s(n) вырабатывают в результате синтеза синусоидальных компонент на этапе S6 (также указанного на фиг. 2) в течение периода времени, соответствующего длительности блока р(n), извлеченного на этапе S602.

Остаточный сигнал r(n) получают путем вычитания SUB сигнала s(n) из сигнала р(n). В результате на этапе S603 получаем r(n)=p(n)-s(n).

На этапе S604 счетчиковую переменную к инициализируют значением 0, а сигнал b(n,k) инициализируют так, что b(n,k)=0.

На этапе S605 блок r(n,k) извлекают из сигнала r(n). В одном варианте осуществления временные характеристики (время ik начала блока и продолжительность Lk блока) при этом извлечении выбирают псевдослучайно. В другом варианте осуществления могут быть наложены условия на это извлечение. Например, сумма значения времени начала блока и значения продолжительности должна быть меньше, чем значение продолжительности, соответствующей продолжительности блока р(n), извлеченного на этапе S602.

На этапе S606 передают продолжительность Lk извлеченного блока r(n,k) для этапа S608 конфигурирования окна.

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

На этапе S608 взвешивающее окно выбирают и конфигурируют так, что на этапе MULT его можно умножить на блок r(n,k). Параметры окна включают в себя продолжительность Lk, подходящую для блока r(n,k).

Тогда, блок wk.r(n,k) добавляют с перекрытием к сигналу b(n,k-1), соответствующему (k-1) уже добавленным блокам, так что b(n,k)=wk.r(n,k)+b(n,k-1). В одном варианте осуществления добавление с перекрытием выполняют с фиксированной степенью перекрытия 50%.

Во время проверки Т609 проверяют, что длина уже выработанного сигнала b(n,k) не больше, чем значение N, соответствующее длительности сигнала, который надо заменить.

Если это так, то сигал b(n,k) усекают, так что временная продолжительность b(n,k) становится равной значению N, соответствующему продолжительности сигнала, который надо заменить на этапе S612, усеченное значение обозначено через TQ. На этапе S613 шумовой сигнал Y, который надо ввести в сигнал замены для потерянных кадров, устанавливают равным TQ и внедряют на этапе S7 (также показанном на фиг. 2).

Если это не так, то значение b(n,k) сохраняют в рабочей памяти MEM (со ссылкой на фиг. 3), чтобы впоследствии прибавить его к следующему блоку r(n,k+1). На этапе S611 счетчиковую переменную к увеличивают, и процедура возвращается к этапу S605.

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

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

сигнала, полученного путем добавления с перекрытием из остаточного сигнала r(n).

На итерации к считываемый блок определяют посредством начального индекса ik блока и длины блока, а способ внедрения этого участка остаточного сигнала в целевой интервал времени задают путем определения возможного преобразования Tk, индекса jk записи (начало копирования блока в интервал времени, который надо заполнить) и окна wk(n) добавления с перекрытием.

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

Инициализация:

b(n)=0, 0≤n≤N

k=0

jo=0

Итерации, пока jk+Lk=N:

1) выбирают ik и Lk, так что ik+Lk≤P и ik+Lk≤N, и извлекают блок P(k),

2) выбирают преобразование Tk, чтобы получить S(k), соответствующий

Это преобразование описано ниже.

3) если jk+Lkk+1≤jk+Lk (и предпочтительно jk+1≥jk-1+Lk-1, чтобы ограничить одновременное максимальное перекрытие двух блоков, например, S(k) и S(k+1)), и извлекают блок Р(k+1),

4) определяют взвешивающее окно wk(n) на основе каких-либо перекрытий с соседними блоками,

5) вставляют

взвешенный посредством окна wk(n):

0≤nk, и

6) производят прибавление единицы k=k+1.

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

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

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

В одном предпочтительном варианте осуществления, со ссылкой на фиг. 7, взвешивающие окна задают так, чтобы гарантировать плавный переход между вставленными участками, а также непрерывность результирующего сигнала с точки зрения энергии сигнала. Обычно планируют так, чтобы имелось максимум два блока, которые перекрываются в какой-либо точке. Рассмотрим перекрытие между блоками S(k) и S(k+1). Рамка ZP представляет увеличение выделенной рамкой области ZM на фиг. 7.

В области перекрытия для n∈[0; lk[, где lk=jk+Lk-jk+1, результирующий сигнал равен:

В одном варианте осуществления конец wk и начало w(k+1) скомбинированы в соответствии с критерием, называемым "сохранение амплитуды":

wk(jk+1-jk+n)+wk+1(n)=1

Таким образом, достаточно выбрать функцию перекрестного затухания

обычно возрастающую и ограниченную между 0 и 1, и вывести ее для n∈[0; lk[:

-

и

-

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

В другом примере, представленном функцией

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

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

(wk(jk+1-jk+n))2+(wk+1(n))2=1

Тогда, из предложенной выше функции перекрестного затухания

для ∈[0; lk[ можно вывести:

-

и

-

Каждое взвешивающее окно обычно состоит из трех частей, слева направо:

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

- постоянная и стабильная часть (коэффициент усиления равен 1), и

- убывающая часть.

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

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

Тогда каждая итерация состоит из следующего:

- фаза вставки без перекрытия и, таким образом, без взвешивания (устранение умножения на wk(n)=1), и/или

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

и
описанных выше.

Более подробно это описано в следующей процедуре, называемой "одновременным перекрестным затуханием".

Инициализация:

- b(n)=0,0≤n

- k=0

- j0=0

- l-1=0

- Выбирают i0 и L0, такие что i0+L0≤P и j0+L0≤N

- Выбирают j1≥j0, где j1≤j0+L0, откуда выводят размер перекрытия l0=j0+L0-j1

- Выбирают преобразования Т0 и Т1

- Вычисляют

Итерации, пока не будет выполнено ik+Lk=N:

1) Если lk+1>jk+lk-1, то вставку осуществляют без перекрытия и без взвешивания:

2) В области перекрытия вставку выполняют с перекрестным затуханием:

3) Если требуется другая итерация (в частности, если jk+Lk

a) выбирают jk+1≤jk+Lk, где jk+1≥jk-1+Lk-1 (чтобы ограничить одновременное перекрытие максимум двумя блоками)

b) Выбирают ik+1 и Lk+1, так что ik+1+Lk+1≤Р и jk+1+Lk+1≤N

c) Выбирают преобразование Tk+1, чтобы получить

(см. подробности ниже)

4) Производят прибавление единицы k=k+1

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

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

Таким образом, по меньшей мере один из параметров ik, jk, Lk и Tk меняется от одной итерации к другой, чтобы предотвратить эффект периодичности и соответствующие звуковые артефакты (металлический, искусственный звук).

Можно из индексов ik, ik+1, ik+1, jk и jk+1 вывести информацию dk,k+1 о запаздывании одного вставленного блока относительно другого в заполненном интервале времени: dk,k+1=[((j)]k+1-ik+1)-(jk-ik).

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

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

Одно возможное и простое преобразование Tk состоит в изменении знака сигнала:

где σk=±1 зависит от итерации.

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

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

Хотя здесь для упрощения описания введена промежуточная переменная

рассматриваемое преобразование Tk может быть выполнено в виде определенного режима считывания цифровых отсчетов, необязательно требуя промежуточного хранения в буфере между считыванием r(n) и записью b(n),

В другом варианте осуществления k-й внедренный участок сигнала может быть получен из уже выработанного дополняющего сигнала b(n), 0≤nk-1+Lk-1, а не только из остаточного сигнала r(n).

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

Инициализация:

- j1=j0=0: перекрестное затухание двух блоков применяют в момент начала заполнения

-

-

В каждой итерации

- индекс ik считывания (для k>0) указывает на начало вычисленного остаточного сегмента r(n): ik=0.

- Функции перекрестного затухания являются синусоидальными:

-

-

где

- Имеет место одновременное перекрытие двух блоков, поэтому: jk+1=jk+lk-1=jk-1+Lk-1 для k>0.

- Полный размер каждого вставленного блока соответствует сумме двух областей соединения с перекрытием Lk=lk-1+lk, и тогда представляет собой размер lk области перекрытия, который определяют на каждой итерации, из которого выводят Lk, а также jk+1. Этот параметр lk вычисляют пропорционально половине размера Р/2 доступного остаточного сигнала, так что:

при

, где
- это счетчик числа потерянных кадров, а α=[1 0.8 0.6 0.9]

- Преобразование Tk по сути состоит в случайной смене знака (обращения по времени не выполняют), показанной коэффициентом

Первые этапы описанного выше способа представлены в следующей таблице, со ссылкой на фиг. 8. Этап INIT соответствует инициализации этого способа, а этапы ST(0), ST(1) и ST(2) - первым шагам способа.

Как только для требуемого участка времени выработан дополняющий сигнал b(n), его добавляют к сигналу, выработанному посредством синтеза синусоидальных компонент s(n), n>0.

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

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

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

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

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

В другом варианте осуществления, со ссылкой на фиг. 9С, продолжительности блоков и значения начальных индексов для записи внедренных блоков определяют псевдослучайно для четных окон с постоянной степенью перекрытия. Таким образом, j0, L0, j2, L2, j4 и L4 определяют псевдослучайно, a j1, L1, j3, L3, j5 и L5 выводят из параметров, определенных псевдослучайно, и из степени перекрытия. На эти параметры могут быть наложены условия, так чтобы продолжительность сигнала, получающегося в результате наложения всех блоков, не превосходила продолжительность N, соответствующую продолжительности сигнала, который надо заменить.

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

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

На этапе S9 сигнал синтезируют путем повторной выборки из полосы низких частот с исходной частотой Fc этапа S70 и добавления его к сигналу, поступающему после этапа S8 повторения в полосе высоких частот.

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

Конечно, изобретение не ограничено описанными выше вариантами осуществления; оно распространяется на другие варианты.

Например, разделение на полосы высоких и низких частот на этапе S2 является необязательным. В альтернативном варианте осуществления сигнал из буфера (этап S1) не разделяют на два поддиапазона, а этапы S3-S10 остаются идентичными описанным выше. Тем не менее, обработка спектральных компонент в области низких частот преимущественно позволяет ограничить сложность.

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

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

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

Реферат

Изобретение относится к коррекции сигнала, в частности, в декодере, когда имеет место потеря кадров в сигнале, принятом в декодере. Технический результат – улучшение коррекции потерянных кадров. Способ содержит этапы, на которых: вырабатывают структуру сигнала для замены потерянной последовательности, причем эта структура содержит спектральные компоненты, определяемые из достоверных отсчетов, принятых во время декодирования перед последовательностью потерянных отсчетов; вырабатывают остаточный сигнал между цифровым сигналом, доступным декодеру, содержащим принятые достоверные отсчеты, и сигналом, выработанным из спектральных компонент; и извлекают блоки из остаточного сигнала, при этом взвешенные по окнам блоки внедряют в структуру, используя подход добавления с перекрытием, при этом внедренные блоки частично перекрываются по времени. 3 н. и 10 з.п. ф-лы. 15 ил.

Формула

1. Способ обработки цифрового сигнала, реализуемый во время декодирования упомянутого сигнала, для замены последовательности отсчетов, потерянных во время декодирования,
причем способ содержит этапы, на которых:
вырабатывают (S6) структуру сигнала для замены потерянной последовательности, причем упомянутая структура содержит спектральные компоненты, определяемые из достоверных отсчетов, принятых во время декодирования (S1) перед упомянутой последовательностью потерянных отсчетов,
вырабатывают остаточный сигнал (S603) между цифровым сигналом (S602), доступным декодеру, содержащим достоверные принятые отсчеты, и сигналом (S601), выработанным из упомянутых спектральных компонент,
извлекают (S605) блоки из упомянутого остаточного сигнала,
причем упомянутые блоки внедряют в упомянутую структуру с использованием подхода добавления с перекрытием (ADD) в соответствии со взвешивающими окнами (S608), причем упомянутые внедряемые блоки по меньшей мере частично перекрываются по времени.
2. Способ по п. 1, в котором, когда упомянутые блоки заданы временем (ik) начала извлеченного блока и длительностью (Lk) блока, по меньшей мере один параметр из упомянутого времени начала извлеченного блока и длительности упомянутого блока может меняться между по меньшей мере двумя извлеченными блоками.
3. Способ по п. 1 или 2, в котором, когда упомянутые блоки заданы временем (ik) начала извлеченного блока и длительностью (Lk) блока, по меньшей мере один параметр из времени начала упомянутого извлеченного блока и длительности упомянутого блока определяют псевдослучайно по меньшей мере для одного извлеченного блока.
4. Способ по п. 1 или 2, в котором упомянутые блоки внедряют по меньшей мере с одним параметром, который меняется между по меньшей мере двумя внедряемыми блоками, при этом меняющийся параметр является одним из следующих:
время (jk) начала записи внедренного блока и
степень перекрытия между двумя последовательными внедренными блоками.
5. Способ по п. 4, в котором упомянутый параметр меняется псевдослучайно по меньшей мере для одного внедренного блока.
6. Способ по п. 1 или 2, в котором сумма взвешивающих окон, применяемых к двум последовательным внедренным блокам, равна единице для сегмента (lk) перекрытия между этими двумя блоками.
7. Способ по п. 1 или 2, в котором сумма квадратов взвешивающих окон, применяемых к двум последовательным внедренным блокам, равна единице для сегмента (lk) перекрытия между этими двумя блоками.
8. Способ по п. 1 или 2, в котором изменяют знак по меньшей мере одного внедренного блока.
9. Способ по п. 1 или 2, в котором по меньшей мере один внедренный блок обращен во времени.
10. Способ по п. 1 или 2, в котором упомянутые блоки сначала внедряют в промежуточный шумовой сигнал, а упомянутый промежуточный шумовой сигнал затем внедряют в упомянутую структуру.
11. Способ по п. 1 или 2, в котором упомянутые блоки внедряют в упомянутую структуру в реальном времени.
12. Память, хранящая компьютерную программу, содержащую команды для реализации способа по любому из пп. 1-11 при выполнении этих команд процессором.
13. Устройство декодирования сигнала, содержащего последовательность отсчетов, разделенную на последовательные кадры, при этом устройство содержит средство (MEM, PROC) для замены по меньшей мере одного потерянного кадра сигнала, содержащее средства для:
выработки (S6) структуры сигнала для замены потерянной последовательности, причем упомянутая структура содержит спектральные компоненты, определяемые из достоверных отсчетов, принятых во время декодирования (S1) перед упомянутой последовательностью потерянных отсчетов,
выработки остаточного сигнала (S603) между цифровым сигналом (S602), доступным декодеру, содержащим достоверные принятые отсчеты, и сигналом (S601), выработанным из упомянутых спектральных компонент,
извлечения (S605) блоков из упомянутого остаточного сигнала,
внедрения упомянутых блоков в упомянутую структуру,
причем средство внедрения выполнено с возможностью использовать взвешенные по окнам блоки, используя подход добавления с перекрытием, при этом упомянутые внедряемые блоки по меньшей мере частично перекрываются по времени.

Патенты аналоги

Авторы

Патентообладатели

Заявители

СПК: G10L21/0208

Публикация: 2018-03-16

Дата подачи заявки: 2014-04-17

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам