Область техники, к которой относится изобретение
Настоящее изобретение, в общем, относится к маскированию ошибки, более конкретно к методике маскирования ошибки в области частот, предназначенной для использования на стороне декодирования кодека, такого как субполосный кодек или кодек с преобразованием.
Предшествующий уровень техники
Мультимедийный кодер представляет собой устройство, схему или компьютерную программу, которая позволяет анализировать потоки информации, такие как аудиопоток, видеопоток или поток данных изображения, и выводить информационный поток, представляющий эту информацию, в закодированной форме. Полученную в результате информацию часто используют с целью передачи, сохранения и/или шифрования. С другой стороны, декодер представляет собой устройство, схему или компьютерную программу, которая позволяет выполнять операцию, обратную операции кодера, состоящую в том, что устройство принимает закодированный поток информации и выводит декодированный поток этой информации.
В большей части аудио- и видеокодеров предшествующего уровня техники каждый кадр входного сигнала анализируют в области частот. Результат этого анализа преобразуют в цифровую форму и кодируют и затем передают или сохраняют в зависимости от варианта применения. На стороне приема или при использовании сохраненного кодированного сигнала процедура декодирования, после которой следует процедура синтеза, позволяет восстановить сигнал в области времени.
Кодеки часто используют для сжатия/развертывания информации, такой как аудио- и видеоданные, для эффективной ее передачи по каналам передачи данных с ограниченной полосой частот.
Наиболее часто используемые аудио- и видеокодеки представляют собой субполосные кодеки и кодеки с преобразованием. Субполосный кодек построен на основе набора фильтров, а кодек с преобразованием обычно основан на преобразовании области времени в область частоты, таком как, например, DCT (ДКП, дискретное косинусное преобразование). Однако кодеки этих двух типов можно рассматривать как математически эквивалентные. В том смысле, что они основаны на одном и том же принципе, когда кодек преобразования можно рассматривать как субполосный кодек с большим количеством субполос.
Общая характеристика этих кодеков состоит в том, что они работают с блоками выборок - кадрами. Коэффициенты кодирования, получаемые из анализа преобразования или субполосного анализа каждого кадра, квантуют в соответствии с динамическим выделением битов, и они могут изменяться от кадра к кадру. Декодер, при приеме потока битов, рассчитывает выделение битов и декодирует кодированные коэффициенты.
При передачах данных на основе пакетов квантованные коэффициенты кодирования и/или параметры могут быть сгруппированы в пакеты. Пакет может содержать данные, соответствующие нескольким кадрам, одному кадру, или может содержать только часть данных кадра.
При неблагоприятных условиях канала в кодированной/сжатой информации после выхода из кодера могут возникать потери или она может поступать на сторону декодирования с ошибками. В общем, передача звуковых, видео- и других соответствующих данных в неблагоприятных условиях канала стала одной из самых серьезных проблем в настоящее время. Для снижения влияния ошибок, возникающих при потерях пакетов или в нарушенных в течение передачи данных, часто используют так называемое маскирование ошибки для уменьшения снижения качества звука, видео- или других данных, представленных с помощью коэффициентов кодирования.
Схемы маскирования ошибки обычно основаны на формировании замены для квантованного коэффициента (коэффициентов) кодирования потерянного пакета или, в более общем варианте, пакета с ошибками так, чтобы замена была аналогична исходному пакету. Это становится возможным, поскольку информация, такая как звук и, в частности, речь, проявляет значительную степень кратковременного самоподобия. В результате эти методики оптимально работают для относительно небольших пропорций ошибок (10%) и для малых пакетов (4-40 мс).
В области передачи информации по ненадежным каналам известна технология, представляющая собой кодирование с множеством описаний. Кодер генерирует несколько различных описаний одного и того же звукового сигнала, а декодер может формировать пригодную для использования реконструкцию исходного аудиосигнала, применяя любой поднабор кодированных описаний. Эта технология подразумевает возникновение ошибки или потерь независимо для каждого описания. Это может означать, что каждое описание должно быть передано по собственному каналу или, что описания совместно используют один и тот же канал, но смещены по времени по отношению друг к другу. В этом случае высока вероятность приема декодером достоверных данных в каждый момент времени. Потеря одного описания поэтому может быть перекрыта благодаря доступности другого описания того же сигнала. Этот способ очевидно увеличивает общую задержку передачи между передатчиком и приемником. Кроме того, для обеспечения возможности повышения избыточности необходимо жертвовать либо скоростью передачи данных, или некоторым качеством.
В случае кодеков с преобразованием, ориентированных на блок или кадр, оценка интервалов потерянных сигналов может быть выполнена в области времени, то есть на выходе декодера, или в области частот, то есть внутри по отношению к декодеру.
Несколько методик маскирования ошибки в области времени уже известны в предшествующем уровне техники. Упрощенная технология, такая как способы, построенные на основе приглушения, восстанавливает потери путем приглушения выходных сигналов в течение периода следования ошибочных данных. Ошибочные данные заменяют нулевым сигналом. Хотя этот способ является очень простым, он ведет к очень неприятным эффектам из-за воспринимаемых разрывов, которые он вводит как результат неожиданного падения энергии сигналов.
Способ повторения очень похож на методику приглушения, но вместо замены данных нулевым сигналом при возникновении ошибочных данных он повторяет часть данных, которая была принята последней. Этот способ работает лучше, чем приглушение, за счет увеличения потребления памяти. Характеристики этого способа, однако, ограничены, и при этом возникают некоторые весьма раздражающие искажения. Например, если последний принятый кадр представлял собой барабанную дробь, при повторе последней можно получить двойной удар в барабан в месте, где ожидается только один. Другие искажения могут возникать в случае, например, короткого периода повторения, в результате которого возникает жужжащий звук, генерируемый из-за эффекта гребенчатой фильтрации.
Другие более совершенные методики направлены на интерполяцию аудиосигнала, и в них используют, например, замену формы колебаний сигнала, дублирование формы сигнала на основе высоты звука или модификацию по временной шкале. Эти методики работают гораздо лучше, чем описанные выше примитивные методики. Однако они требуют существенных усложнений. Кроме того, величина задержки, требуемая для выполнения интерполяции, во многих случаях становится неприемлемой.
Хорошо известные в литературе, например [1], [2], [3], методики восстановления звука предлагают полезные подходы и фактически направлены на решение аналогичных проблем.
Маскирование ошибки в области частот анализируют в документах [4], [5]. В случае преобразования DCT (ДКП, дискретное косинусное преобразование) было определено, что простая методика маскирования состоит в нарезании больших коэффициентов DCT.
В публикации [6] используют подход замены данных с вариантами выбора спектральной энергии, регулируемыми при прослушивании. Более конкретно, в неповрежденных звуковых данных, до возникновения ошибочных данных, находят определенную структуру. Когда такая структура будет найдена, данные замены определяют на основе этой структуры.
В публикации [7] описана технология маскирования ошибки в области частот. Описанная технология является достаточно общей, и ее используют для кодеров преобразования. В ней используется прогнозирование для восстановления потерянных коэффициентов или коэффициентов с ошибками. Прогнозирование коэффициентов частотного канала/элементов кодированного сигнала с ошибками основано на предыдущих коэффициентах того же элемента кодированного сигнала/канала и, таким образом, может рассматриваться, как фаза в элементе кодированного сигнала/канале, и изменяется в течение времени при попытке сохранить так называемую горизонтальную когерентность фазы. В некоторых случаях такая методика позволяет получить достаточно удовлетворительные результаты.
Однако методика маскирования ошибки, предложенная в [7], обычно приводит к потере так называемой вертикальной когерентности фазы, что может привести к разрывам кадров и воспринимаемым искажениям.
Статья "Optimal estimation for Error Concealment in Scalable Video Coding" авторов Zhang и др. представляет собой другой пример классической схемы маскирования ошибки в области частот. В этой схеме используют статистическую модель для изменения коэффициентов преобразования во времени (от кадра к кадру) и выполняют оценку реконструированного (восстановленного) коэффициента. Потерянный коэффициент DCT реконструируют при использовании информации из текущего базового слоя и предыдущего слоя улучшения. Используя информацию об интервале квантования коэффициента DCT из базового слоя, можно определить возможный диапазон исходного коэффициента DCT. Основываясь на информации коэффициента DCT в предыдущем кадре слоя улучшения и используя диапазон исходного коэффициента DCT в качестве ограничения, можно определить наилучшую оценку для восстановления потерянного коэффициента DCT.
В публикации [8] Wiese и др. описывают методику маскирования ошибки, которая основана на переключении между несколькими стратегиями маскирования, которые включают в себя, по меньшей мере, приглушение субполосы и повтор или оценку субполосы.
Сущность изобретения
Настоящее изобретение позволяет преодолеть эти и другие недостатки устройств предшествующего уровня техники.
В общем, целью настоящего изобретения является предоставление улучшенной методики маскирования ошибок.
Другая цель изобретения состоит в предоставлении методики маскирования ошибки в области частот, которая более оптимально использует избыточность исходного информационного сигнала.
Еще одной целью изобретения является предоставление общей и эффективной методики маскирования ошибки в области частот, которую можно применять как к субполосным кодекам, так и к кодекам с преобразованием.
Также целью является получение улучшенного устройства маскирования ошибки в области частот, а также декодера и приемника, содержащих такое устройство маскирования ошибки.
Эти и другие цели достигаются с помощью изобретения в том виде, как оно определено прилагаемой патентной формулой изобретения.
Изобретение относится к методике маскирования ошибки в области частот для информации, представленной на основе кадров, используя коэффициенты кодирования. Основная идея состоит в маскировании ошибочного коэффициента кодирования путем использования корреляции коэффициентов кодирования как по времени, так и по частоте. Эту методику можно применять для любой информации, такой как данные звука, видео и изображений, сжатые в коэффициенты кодирования и переданные в неблагоприятных условиях канала. Методика маскирования ошибки, предложенная в соответствии с изобретением, имеет очевидное преимущество, состоящее в использовании избыточности исходного информационного сигнала во времени, а также по частоте. Например, она предлагает возможность использования избыточности между кадрами, а также в пределах кадров.
Существует множество возможностей использования корреляции по времени и по частоте, включая использование коэффициентов кодирования из того же кадра, в котором имеется коэффициент кодирования с ошибкой, вместе с коэффициентами из одного или больше предыдущих и/или последующих кадров, используя несколько разных коэффициентов из каждого из множества предыдущих и/или последующих кадров или даже используя диагональную структуру коэффициентов кодирования. Следует, однако, понимать, что использование коэффициентов кодирования из одного или больше последующих кадров обычно вводит задержку, которая может быть или может не быть приемлемой, в зависимости от вариантов применения.
Использование коэффициентов кодирования из того же кадра, в котором имеется коэффициент кодирования с ошибкой, иногда называется корреляцией коэффициента внутри кадра и представляет собой специальный случай более общей корреляции по частоте. Аналогично, использование коэффициентов из одного или больше предыдущих и/или последующих кадров иногда называется корреляцией между кадрами или просто корреляцией по времени.
Маскирование ошибки в соответствии с изобретением предпочтительно выполняют путем оценки нового коэффициента кодирования на основе, по меньшей мере, одного другого коэффициента кодирования в том же кадре, в котором имеется коэффициент с ошибкой, и, по меньшей мере, одного коэффициента кодирования одного или больше других кадров и замены коэффициента кодирования с ошибкой (обычно потерянного) новым коэффициентом кодирования.
Обычно в субполосных кодеках и кодеках с преобразованием информация может быть представлена коэффициентами кодирования множества частотных элементов, либо полос частот, либо компонентов частотного преобразования. В особенно предпочтительном и конкретном варианте выполнения, когда обнаруживают коэффициент кодирования с ошибкой для некоторого частотного элемента в некотором кадре, новый коэффициент кодирования этого частотного элемента можно оценить, по меньшей мере, частично на основе, по меньшей мере, одного коэффициента кодирования, по меньшей мере, одного другого частотного элемента в том же кадре и предпочтительно также на основе, по меньшей мере, одного коэффициента кодирования того же частотного элемента в одном или более других кадрах. Может быть предпочтительным также рассмотреть, по меньшей мере, один коэффициент кодирования, по меньшей мере, одного другого частотного элемента в одном или более других кадрах.
Особенно предпочтительный вариант выполнения, который не вводит дополнительной задержки, основан на оценке коэффициента с ошибкой не только из предыдущих данных частотного элемента с ошибкой или потерянного частотного элемента, но также и по текущим и/или предыдущим данным других частотных элементов.
Это означает, что используют как избыточность по времени, так и по частоте. Это в особенности справедливо для случая аудиосигнала, который состоит из суммы гармоник, частоты которых медленно изменяются с течением времени. Для этого очень часто встречающегося случая звукового сигнала места расположения пиков спектра изменяются с течением времени. Например, пик, который расположен в кадре m-1, может быть расположен в другом месте в кадре m. Использование блока оценки или блока прогнозирования, в котором применяется двойная избыточность такого типа, поэтому является очень предпочтительным.
В частности, настоящее изобретение также предполагает использование специальной методики для оценки нового коэффициента кодирования путем прогнозирования спектрального фазового компонента на основе приблизительного сопоставления групповой задержки между кадрами, используя заранее заданный критерий аппроксимации. Предпочтительно такой подход выполняют путем начальной оценки групповой задержки, по меньшей мере, из одного другого кадра с последующим расчетом спектральной фазы путем, по меньшей мере, приблизительного сопоставления групповой задержки спектрального компонента с ошибкой с оцениваемой групповой задержкой.
Компонент амплитуды спектра можно предсказывать на основе сопоставления энергии спектральных коэффициентов рассматриваемого кадра с энергией соответствующих спектральных коэффициентов, по меньшей мере, одного другого кадра.
В случае кодирования с преобразованием, когда коэффициенты кодирования представляют собой сложные спектральные коэффициенты преобразования, предпочтительно выполняют оценку нового комплексного коэффициента спектрального кодирования для некоторого частотного элемента путем прогнозирования спектральной амплитуды и фазы отдельно с последующим объединением прогнозируемой спектральной амплитуды и фазы в новый комплексный спектральный коэффициент кодирования. Сопоставление энергии спектра и сопоставление групповой задержки затем можно использовать для индивидуального прогнозирования компонента амплитуды спектра и компонента фазы спектра соответственно для комплексного коэффициента кодирования.
Следует понимать, что коэффициент кодирования с ошибкой может представлять собой коэффициент с частичной ошибкой или полностью потерянный коэффициент кодирования. В более совершенных протоколах обнаружения ошибок возможно различать ошибки в младших значимых битах от ошибок в старших значимых битах коэффициента кодирования и, таким образом, повторно использовать, по меньшей мере, часть информации.
Изобретение предлагает следующие преимущества:
- улучшенное маскирование ошибки;
- оптимальное использование избыточности исходного информационного сигнала;
- оно, в общем, применимо для любого из вариантов субполосного кодека или кодека с преобразованием.
Другие преимущества, предлагаемые в настоящем изобретении, будут понятны при чтении приведенного ниже описания вариантов выполнения изобретения.
Краткое описание чертежей
Изобретение, вместе с другими его целями и преимуществами, будет более понятно из следующего описания, которое следует рассматривать вместе с прилагаемыми чертежами, на которых:
на фиг. 1 схематично представлен обычный вариант применения кодирования источника;
на фиг. 2A-H показаны схемы, иллюстрирующие различные примерные случаи использования как корреляции по времени, так и корреляции коэффициентов кодирования по частоте;
на фиг. 3 показана схема возможного перекрытия при разделении кадров входных выборок во временной области;
на фиг. 4 показана схема примера основного кодера на основе преобразования;
на фиг. 5 показана схема примера основного декодера на основе преобразования с маскированием ошибки;
на фиг. 6 показана схема модуля маскирования ошибки в соответствии с предпочтительным вариантом выполнения изобретения;
на фиг. 7 показана схема примера основного субполосного кодера;
на фиг. 8 показана схема примера основного субполосного декодера с маскированием ошибки;
на фиг. 9A, B показаны схемы, иллюстрирующие экстраполяцию фазы на основе сопоставления групповой задержки; и
на фиг. 10 показана схема блока оценки для комплексных коэффициентов в соответствии с предпочтительным вариантом выполнения изобретения.
Подробное описание предпочтительного варианта осуществления
На чертежах одинаковые ссылочные позиции используются для обозначения соответствующих или аналогичных элементов.
Для лучшего понимания изобретения может быть полезно начать с краткого обзора общего источника применения кодирования, что подразумевает передачу кодированной информации через канал передачи данных. Как указано выше, кодек представляет собой составное устройство, схему или компьютерную программу, которая может обрабатывать информационный поток и, в общем, содержит кодирующую часть и декодирующую часть. Кодеки часто используют для сжатия/развертывания информации, такой как звуковые и видеоданные, для эффективной передачи через каналы передачи данных с ограниченной полосой пропускания.
В большинстве аудио- и видеокодеков предшествующего уровня техники каждый кадр входного сигнала анализируют в области частот. Результат этого анализа кодируют и затем передают. На приемной стороне процедура синтеза восстанавливает сигнал во временной области.
Основная концепция в кодировании в области частот состоит в разделении спектра на полосы или компоненты частот, обычно называемые частотными элементами кодированного сигнала, используя либо набор фильтров, либо расчет поблочного преобразования. После кодирования и декодирования эти частотные элементы можно использовать для повторного синтеза точной копии входного сигнала либо путем суммирования с помощью набора фильтров, либо с использованием обратного преобразования.
Два хорошо известных типа кодеков, которые принадлежат к классу кодеков области частот, представляют собой субполосные кодеки и кодеки с преобразованием. Основной принцип обоих типов кодеков состоит в разделении спектра на частотные элементы. При субполосном кодировании используют набор фильтров для разделения входного сигнала на множество относительно широких частотных полос. При кодировании с преобразованием, с другой стороны, используют способ преобразования блока для обеспечения гораздо более высокого разрешения по частоте.
Общая характеристика этих кодеков состоит в том, что они работают по блокам выборок - кадрам. Коэффициенты кодирования, получаемые в результате расчета преобразования или расчета субполос каждого кадра, квантуют, кодируют и передают. На приемной стороне кодированные и квантованные коэффициенты кодирования декодируют для восстановления исходной информации.
Как показано на фиг. 1, кодер 10 выполняет процесс кодирования для преобразования информационного потока в кодированную форму, обычно в виде квантованных и кодированных коэффициентов кодирования. Кодированную информацию затем передают в блок 20 обработки канала для перевода кодированной информации в форму, пригодную для передачи через канал передачи данных. На приемной стороне поступающий поток битов обычно обрабатывают с помощью блока 30 обработки канала, который может выполнять демультиплексирование и обнаружение ошибок. Например, при передаче данных, основанной на пакетах, можно проверять наличие битовых ошибок в пакетах, выполняя проверки CRC (контроль с помощью избыточного циклического кода) или эквивалентное обнаружение ошибки. Часто пакеты с неправильными проверочными суммами просто отбрасывают. Для снижения влияния ошибок, вводимых в пакеты в течение передачи, часто используют блок маскирования ошибки в процессе декодирования блока 40 для маскирования ошибочных или отсутствующих коэффициентов кодирования путем оценки новых заменяющих коэффициентов. Блок 40 декодирования затем выполняет процесс синтеза коэффициентов без ошибок и оцененных заменяющих коэффициентов для восстановления исходной информации.
Изобретение относится к специально разработанной методике маскирования ошибок в области частот, которая основана на идее маскирования коэффициента кодирования с ошибкой путем использования корреляции коэффициента кодирования как по времени, так и по частоте. Эту методику применяют для любой информации, такой как данные звука, видео и изображения, которые сжимают в коэффициенты кодирования и передают в неблагоприятных условиях канала. В методике маскирования ошибки, предложенной в изобретении, применяют избыточность информационного сигнала по времени и по частоте и предлагают возможность использовать избыточность между кадрами, а также в пределах кадров.
Существует множество возможностей использования временной и частотной корреляции/зависимости коэффициентов кодирования. Для оценки нового коэффициента кодирования, который можно использовать вместо коэффициента с ошибкой или потерянного коэффициента, желательно анализировать и определять, как изменяется фаза и/или амплитуда с течением времени (между кадрами), а также как фаза и/или амплитуда изменяются по отношению к частоте. Иногда такой подход также называют горизонтальной корреляцией/зависимостью и вертикальной корреляцией/зависимостью соответственно.
Например, для данного коэффициента с ошибкой возможно выполнить оценку нового коэффициента кодирования на основе коэффициентов кодирования из того же кадра, что и коэффициент кодирования с ошибкой вместе с коэффициентами из одного или больше предыдущих и/или последующих кадров. Другой возможный подход состоит в использовании множества коэффициентов из каждого из множества предыдущих и/или последующих кадров. Также можно использовать диагональные структуры зависимостей коэффициентов по времени и частоте.
Следует, однако, понимать, что при использовании коэффициентов кодирования из одного или больше последующих кадров обычно вводят задержку, которая может быть или может не быть приемлемой, в зависимости от вариантов применения. В общем, конечно, возможно использовать не только коэффициенты кодирования без ошибки, но также и полученные ранее оценки заменяющих коэффициентов.
На фиг. 2A-H показаны схемы, представляющие различные примерные случаи использования как корреляции коэффициентов кодирования по времени, так и по частоте. Следует понимать, что возможно множество других вариантов, в зависимости от конструктивного выбора, требуемой сложности расчетов и т.д.
В упрощенной схеме по фиг. 2A предполагается, что коэффициент кодирования с ошибкой (обозначен крестиком) был обнаружен для заданного частотного элемента k в данном блоке или кадре m. На фиг. 2A представлен основной пример, в котором рассматриваемый коэффициент с ошибкой заменяют на основе предыдущего коэффициента того же частотного элемента вместе с коэффициентами двух соседних элементов в пределах того же кадра, в котором имеется рассматриваемый коэффициент с ошибкой. Это представляет собой основной пример использования зависимости коэффициента как по времени, так и по частоте. Использование коэффициентов кодирования из того же кадра, что и коэффициент кодирования с ошибкой иногда называется корреляцией коэффициента внутри кадра, и этот случай представляет собой специальный случай более общей корреляции по частоте. Аналогично, использование коэффициентов из одного или больше предыдущих и/или последующих кадров называется корреляцией между кадрами или корреляцией по времени. Принцип маскирования коэффициента кодирования с ошибкой на основе корреляции коэффициентов внутри кадра и между кадрами является в особенности предпочтительным.
На фиг. 2B представлен пример последовательных коэффициентов с ошибками в одном и том же элементе. Здесь предполагается, что коэффициент с ошибкой кадра m был заменен новым оцененным коэффициентом замены, например, как показано на фиг. 2A. В следующем кадре m+1 коэффициент с ошибкой заменяют на основе коэффициента замены (обозначен пунктирным крестиком внутри кружочка) того же частотного элемента в предыдущем кадре m вместе, например, с коэффициентами двух соседних элементов в пределах одного и того же кадра в качестве рассматриваемого коэффициента с ошибкой. Может быть предпочтительным обеспечить возможность регулирования влияния оцениваемых коэффициентов замены по сравнению с коэффициентами без ошибки. Такой подход может быть выполнен путем предоставления весовых коэффициентов, которые могут изменяться в зависимости от того, являются ли коэффициенты коэффициентами, переданными без ошибок, или оцененными заменяющими коэффициентами, а также в зависимости от "расстояния" во времени (то есть количества кадров) и/или по частоте (то есть количества элементов) от рассматриваемого коэффициента с ошибкой.
На фиг. 2C представлен пример, когда несколько из коэффициентов кодирования в текущем кадре содержат ошибки. В этом случае коэффициент кодирования без ошибки в текущем кадре используют вместе с предыдущим коэффициентом того же частотного элемента, а также коэффициентами других частотных элементов из предыдущего кадра. Этот процесс обычно повторяют для каждого из коэффициентов с ошибками текущего кадра, пока все они не будут заменены новыми коэффициентами.
На фиг. 2D представлен пример, когда несколько коэффициентов кодирования из более чем одного предыдущего кадра рассматривают вместе с коэффициентами в пределах текущего кадра.
На фиг. 2E представлен еще один пример, где коэффициенты одного и того же частотного элемента из нескольких предыдущих кадров используют вместе с коэффициентами нескольких элементов в пределах текущего кадра.
На фиг. 2F представлен пример с диагональной структурой корреляции.
На фиг. 2G представлен основной пример, в котором коэффициент одного и того элемента в последующем кадре используется вместе с коэффициентами двух соседних элементов в пределах одного и того же кадра в качестве рассматриваемого коэффициента с ошибкой. Это означает, что, когда обнаруживают коэффициент с ошибкой в пределах данного кадра, алгоритм маскирования ошибки должен ожидать поступление следующего кадра для доступа к коэффициенту (коэффициентам) следующего кадра. Очевидно, что это вводит задержку в один кадр, а также подразумевает, что коэффициент одного и того же элемента в следующем кадре будет безошибочным/восстановленным коэффициентом.
На фиг. 2H представлен еще один пример с задержкой на два кадра, где количество коэффициентов в пределах одного и того же кадра, в качестве рассматриваемых коэффициентов с ошибками, используют вместе с таким количеством коэффициентов без ошибок/восстановленных коэффициентов, которое возможно в двух непосредственно следующих кадрах.
Изобретение более подробно будет описано ниже в основном со ссылкой на кодеки с преобразованием и субполосные кодеки. Более подробная информация по субполосным кодекам и кодекам с преобразованием включает в себя информацию о выделении битов, размерах этапов и прореживании, приведенную в [9].
Как показано на фиг. 3, каждый анализируемый кадр m может состоять из блоков входных выборок x(n), возможно перекрывающихся во временной области. На фиг. 4 показана блок-схема примера простого кодека с преобразованием. Как можно видеть, каждый блок x(m,n) входного сигнала умножают на взвешивающую функцию h(n) и затем преобразуют в частотную область путем использования модуля 12 FFT (БПФ, быстрого преобразования Фурье). Очевидно следует понимать, что кодер на основе FFT представляет собой всего лишь пример и что можно использовать преобразования других типов, например MDCT (МДКП, модифицированное дискретное косинусное преобразование). Полученные комплексные коэффициенты y(m,k) частотной области, индексированные по номеру k элемента, квантуют с помощью блока 14 квантования с получением квантованных комплексных коэффициентовyq(m,k). Квантованные коэффициенты затем кодируют и мультиплексируют с помощью блока 16 в мультиплексированный информационный поток. Полученный в результате разбитый на кадры битовый поток затем пакетизируют с помощью блока 18 и, наконец, передают в декодер на приемной стороне.
Как показано на фиг. 5, на приемной стороне поступающий битовый поток депакетизируют с помощью блока 32, который производит разбитый на кадры поток битов, а также указатель bfi(m) плохого кадра для каждого кадра m. Указатель плохого кадра может представлять собой результат проверки CRC или обнаружения потерянных пакетов. Разбитый на кадры битовый поток и соответствующий указатель плохого кадра передают в блок 42, который выполняет демультиплексирование и декодирование для извлечения квантованных комплексных коэффициентов преобразования. Если ошибки не обнаружены, квантованные коэффициенты просто подвергают обратному преобразованию в модуле 46 IFFT (Обратное FFT) для получения сигнала во временной области, который умножают на функцию w(n) окна, и суммируют с перекрытием в модуле 48 суммирования с перекрытием для восстановления декодированного сигнала xq(n) во временной области.
В зависимости от того, как кодированные данные были мультиплексированы и пакетизированы, данные, относящиеся к одному кадру, могут быть потеряны частично или полностью. В результате этого, по меньшей мере, часть спектральных коэффициентов может быть с ошибками. Демультиплексирование указателя bfi(m) плохого кадра определяет, какие коэффициенты кодирования имеют ошибки, формируя, таким образом, указатель bci(m,k) плохого коэффициента. В предпочтительном варианте выполнения изобретения модуль 44 (ММО, ECU) маскирования ошибки поэтому принимает указатель bci(m,k) того, какие спектральные коэффициенты содержат ошибку или отсутствуют в дополнение к извлеченным спектральным коэффициентам yq(m,k) без ошибок. На основе указателя bci(m,k) плохого коэффициента модуль 44 маскирования ошибки заменяет спектральные коэффициенты, которые указаны, как содержащие ошибки или потерянные, новыми спектральными коэффициентами.
На фиг. 6 показана блок-схема модуля 44 маскирования ошибки в соответствии с предпочтительным вариантом выполнения изобретения. Логические модули 52 и 54 работают для распознавания коэффициентов с ошибками среди коэффициентов без ошибок на основе указателя плохого коэффициента для всех элементов k в кадре m. Предпочтительно указатель bci(m,k) плохого коэффициента представляет собой Булеву функцию. В случае, когда отсутствуют ошибки в канале, указатель всегда установлен в значение FALSE (ложь), что означает, что модуль 44 маскирования ошибки просто выводит свой входной сигнал, то есть q(m,k)=yq(m,k). С другой стороны, когда обнаруживают плохой или потерянный коэффициент, указатель устанавливают в значение TRUE (истина), что означает, что коэффициент заменен на выходное значение блока 56 оценки. Иногда требуется, чтобы блок оценки постоянно работал для поддержания в обновленном состоянии своей внутренней памяти, в результате для замены требуется использовать только его выходной сигнал. Поэтому bci(m,k) служит для выбора, какие спектральные коэффициенты должны быть заменены спектральным коэффициентом, оценка которого была проведена блоком 56 оценки. Затем набор индексов k спектральных коэффициентов с ошибками в кадре m обозначают как S={k, так что bci (m,k)=TRUE}. Модуль 58 рекомбинации принимает и компонует оцененные заменяющие коэффициенты и коэффициент без ошибок кадра m для вывода.
Для общности случай субполосного кодека также будет кратко представлен со ссылкой на фиг. 7 и 8.
На фиг. 7 показана блок-схема примера базового субполосного кодера. В субполосном кодере набор фильтров 12-1 - 12-N используют для разделения входного сигнала на N полос частот, каждую из которых обычным способом переводят с использованием фильтра низкой частоты на нулевую частоту для генерирования соответствующего коэффициента кодированияyq(m,k). Полученные коэффициенты y (m,k), индексированные по номеру k элемента, затем отдельно квантуют с помощью набора блоков 14-1 - 14-N квантования с получением квантованных комплексных коэффициентов yq(m,k). Квантованные коэффициенты затем кодируют и мультиплексируют с помощью блока 16 и затем пакетизируют с помощью блока 18 перед передачей в декодер на принимающей стороне.
Как показано на фиг. 8, на принимающей стороне входящий поток битов депакетизируют с помощью блока 32, который генерирует разбитый на кадры битовый поток, а также указатель bfi(m) плохого кадра для каждого кадра m. Разбитый на кадры битовый поток и указатель плохого кадра передают в блок 42, который выполняет демультиплексирование и декодирование для извлечения квантованных комплексных коэффициентов преобразования и указателя bci(m,k) плохого коэффициента. Если ошибки не обнаружены, квантованные коэффициенты просто переводят обратно в их исходное частотное положение с помощью набора фильтров 46-1 - 46-N и суммируют вместе для получения аппроксимации xq(n) исходного сигнала. В условиях плохого канала, когда при передаче возникают ошибки, модуль 44 маскирования ошибки принимает указатель bci(m,k) спектральных коэффициентов, имеющих ошибку, в дополнение к извлеченным коэффициентам yq(m,k) без ошибок. Основываясь на указателе плохого коэффициента, модуль 44 маскирования ошибки заменяет эти коэффициенты, которые обозначены, как плохие или отсутствующие, на новые спектральные коэффициенты, аналогично тому, что было описано выше.
Без потери общности, некоторые примеры комбинированного использования корреляции по времени и частоте будут описаны ниже для случая комплексных коэффициентов кодирования. Следует, однако, понимать, что некоторые из лежащих в основе принципов использования корреляции коэффициентов по времени, а также по частоте, описанные ниже, можно также применять для однозначных коэффициентов кодирования. Кроме того, здесь в основном сделан фокус на реализациях применений в режиме реального времени, которые требуют, чтобы задержки отсутствовали или были очень малыми. Поэтому в следующих примерах для оценки новых коэффициентов кодирования рассматривают только предыдущие кадры.
Прогнозирование (предсказывание) амплитуды и фазы
В этом варианте выполнения амплитуду и фазу предпочтительно предсказывают отдельно друг от друга и затем объединяют. Амплитуду и фазу спектра связывают со спектральными коэффициентами с помощью следующих уравнений:
Блок прогнозирования затем прогнозирует амплитуду (m,k) и фазу q(m,k) и затем объединяет их для получения прогнозируемого спектрального коэффициента:
Прогнозирование амплитуды
Обычно прогнозирование амплитуды часто основывается на простом повторении предыдущей амплитуды элемента:
Такой подход имеет недостаток, состоящий в том, что, если, например, аудиосигнал имеет уменьшенную амплитуду, прогнозирование приводит к переоценке, которая может быть плохо воспринята.
В более сложной схеме, предложенной в настоящем изобретении, используется избыточность как по времени, так и по частоте, которая позволяет получить лучшее прогнозирование спектральной амплитуды. Например, прогнозируемая спектральная амплитуда может быть записана, как:
где G(m) представляет собой адаптивное усиление, полученное путем сопоставления энергии спектральных коэффициентов без ошибки/восстановленных спектральных коэффициентов текущего кадра с соответствующими спектральными коэффициентами предыдущего кадра, коэффициент γ представляет собой коэффициент ослабления, 0<γ≤1, например γ=0,9. В качестве примера сопоставления энергии можно представить расчет адаптивного усиления в следующем виде:
Другие типы мер сопоставления спектральной энергии можно использовать без отхода от основной идеи изобретения.
В другом варианте выполнения усиление G(m) можно оценивать по нескольким спектральным полосам путем группирования спектральных коэффициентов в субполосы и оценки усиления в каждой субполосе. Группирование в субполосы может быть выполнено по равномерной шкале или по барк-шкале, использование которой мотивировано психоакустическими показателями. Адаптивное усиление в субполосе l поэтому можно оценить по следующей формуле:
Прогнозируемую амплитуду спектральных коэффициентов в субполосе l частот задают следующим образом:
Оцененное усиление по каждой спектральной полосе можно значительно улучшить путем сглаживания как во временной области (сглаживание по m), так и в частотной области (сглаживание по l), используя, например, низкочастотную фильтрацию во временной и в частотной областях или подбор многочлена в частотной области и низкочастотную фильтрацию во временной области.
Вариант выполнения с субполосами является особенно полезным, если недостающие спектральные коэффициенты однородно распределены по частотной оси. В некоторых ситуациях могут быть потеряны все спектральные коэффициенты предварительно назначенной группы субполос. В этом случае можно объединить соседние группы субполос или определить усиление, связанное с субполосой, как усредненное значение усиления, оцененного в соседних субполосах. Другая стратегия затрагивает повторное использование предыдущего коэффициента усиления, то есть G(m,l)=G(m-1,l), или фильтрованную версию в частотной области, то есть . Конечно, можно использовать другие стратегии, не отступая от основной идеи.
Для случая, когда все спектральные коэффициенты потеряны, оценка адаптивного согласования усиления может быть получена либо при использовании предыдущих двух кадров, или при использовании предыдущего адаптивного согласования усиления, то есть G(m,l)=G(m-1,l).
Для прогнозирования усиления можно использовать более совершенное, но более сложное средство. Например, можно использовать линейный адаптивный блок прогноза усиления. Прогнозирование можно тогда получать по следующей формуле:
где коэффициенты Apl(m,k) прогнозированияадаптивно регулируют, например, в некотором смысле последней ошибки, например, наименьшей среднеквадратической ошибки.
Прогнозирование фазы
Прогнозирование фазы является более критичным, поскольку, если фаза прогнозируемых спектральных коэффициентов будет очень отличаться от действительной фазы, рассогласование по фазе перекрывающихся фрагментов приведет к существенным слышимым искажениям. В статье "Improved Phase Vocoder Time-Scale Modification of Audio" авторов Laroche and Dolson [10] указано, что в контексте вокодеров с растягиваемой по времени фазой одна из основных причин возникновения искажений состоит в отсутствии когерентности фазы.
В методике прогнозирования фазы, предложенной авторами настоящего изобретения, предпочтительно используют избыточность информационного сигнала одновременно по времени и по частоте. Особенно предпочтительная модель основана на приблизительном согласовании групповой задержки. На основе наблюдений в области звука был сделан вывод, что для одного постоянного тона производная фазы по отношению к частоте, то есть групповая задержка, остается приблизительно постоянной в течение времени. Это теоретически поясняется для комплексного тона с постоянной амплитудой:
где L представляет собой степень перекрытия.
Преобразование DFT (ДПФ, дискретное преобразование Фурье), реализуемое методом окна, обоих фрагментов сигнала определяется следующими формулами:
и можно легко видеть, что групповая задержка обеих фрагментов сигнала будет одинаковой
что показывает, что групповая задержка является постоянной и не зависит от m. Этот результат может быть показан, как сохраняющийся приблизительно для множества тонов, в зависимости от того, насколько хорошо была выбрана полоса отклонения окон.
Поэтому путем оценки производной фазы из предыдущего кадра (кадров) возможно получить оценку потерянных спектральных компонентов фазы путем экстраполяции.
Простой способ выполнения прогнозирования фазы, основанный на согласовании групповой задержки, состоит в том, что вначале получают оценку производной фазы в предыдущем кадре. Она может быть получена путем использования простых конечных разностей:
Конечно, можно использовать другие способы получения оценки групповой задержки. Идея затем состоит в приблизительном восстановлении той же групповой задержки для каждого отсутствующего спектрального компонента. Это может быть получено путем расчета прогнозируемых фаз так, чтобы они минимизировали функцию ошибки, например:
где неизвестные параметры представляют собой ϕ(m,k), так что k S, то есть фаза потерянных спектральных коэффициентов и W(k) представляют собой положительные весовые коэффициенты.
Предпочтительно, чтобы весовые коэффициенты были установлены пропорционально амплитуде спектра предыдущего кадра, или прогнозируемой амплитуде текущего кадра, или сглаженной спектральной огибающей. Это позволяет подчеркнуть важность спектральных пиков и отфильтровать плохие оценки фазовых производных, вводимых шумом в точках минимума спектра.
Другими словами, фазовое прогнозирование предпочтительно основано на оценке групповой задержки, по меньшей мере, из одного другого (предыдущего) кадра и определении спектральной фазы коэффициента с ошибкой так, что групповая задержка, ассоциированная с коэффициентом с ошибкой, получается насколько это возможно близкой к оцениваемой групповой задержке в соответствии с некоторым критерием аппроксимации.
Приведен пример решения для случая W(k)=1. Как показано на фиг.9A,B, потерянные коэффициенты находятся между элементом K и элементом K+N.
Критерий минимизации ошибки приводит к следующему рекурсивному решению для экстраполированной прогнозируемой фазы:
где
В этом решении вполне очевидно, что для начала рекурсии используют ϕ(m,K)=φ(m,K).
Затем для случая, когда все спектральные коэффициенты потеряны, используют вторичный блок прогнозирования фазы для обеспечения возможности инициирования указанной выше рекурсивной обработки.
Более сложные средства можно использовать для прогнозирования фазы без отхода от основной идеи согласования/сохранения групповой задержки, например путем дополнительного использования избыточности во временной области с сохранением групповой задержки.
На фиг. 10 показана блок-схема блока оценки для комплексных коэффициентов в соответствии с предпочтительным вариантом выполнения изобретения. Блок 56 оценки, в общем, содержит запоминающее устройство 60, предназначенное для сохранения коэффициентов кодирования, принадлежащих выбираемому количеству кадров, и модуль 70, предназначенный для выполнения расчетов, необходимых для оценки новых заменяющих коэффициентов. Запоминающее устройство 60 принимает извлеченные коэффициенты текущего кадра и сохраняет их вместе с не содержащими ошибку/восстановленными коэффициентами кодирования, принадлежащими одному или более из предыдущих кадров. Модуль 70 расчетов принимает информацию S, по которой оценивают (рассчитывают) коэффициенты, и рассчитывает соответствующие коэффициенты замены (заменяющие коэффициенты) на основе сохраненных коэффициентов, обращаясь к запоминающему устройству 60. В предпочтительном варианте выполнения изобретения, который адаптирован для использования комплексных коэффициентов преобразования, модуль 70 расчетов содержит модуль 72 оценки амплитуды, работа которого основана на описанных выше принципах согласования энергии, модуль 74 оценки фазы, работа которого основана на описанных выше принципах согласования групповой задержки, а также модуль 76 объединения, который предназначен для объединения компонентов оценки фазы и амплитуды с получением комплексных коэффициентов.
Однако следует понимать, что более сложные технологии оценки фазы и амплитуды, предложенные в настоящем изобретении, можно использовать независимо друг от друга. Например, оценку фазы можно выполнить на основе согласования групповой задержки, как указано выше, с использованием более простого подхода к оценке амплитуды. С другой стороны, оценку амплитуды можно выполнить на основе согласования спектральной энергии, как указано выше, с использованием более простой оценки фазы.
Непосредственное прогнозирование коэффициента
В данном варианте выполнения комплексные спектральные коэффициенты прогнозируют непосредственно. Выход q(m,k) блока прогнозирования предпочтительно зависит, по меньшей мере, от предыдущего спектрального коэффициента (коэффициентов) того же элемента, а также предыдущих и/или текущих спектральных коэффициентов других элементов.
Обычно такой подход можно представить с помощью следующей зависимой от времени адаптивной функции прогнозирования fm,k:
где k1,k2...,kp обозначают показатели спектральных коэффициентов, не содержащих ошибки. Функция прогнозирования, например, может принимать форму линейного прогнозирования.
Описанные выше варианты выполнения приведены просто в качестве примеров, и следует понимать, что настоящее изобретение не ограничивается ими. Другие модификации, изменения и улучшения, в которых сохраняются лежащие в основе раскрытые и заявленные здесь принципы, находятся в пределах объема изобретения.
Источники информации
[1] S.J. Godsill, P.J.W. Rayner, "Digital Audio Restoration", Springer, 1998.
[2]J.J.K. O Ruanaidh, W.J. Fitzgerald,"Numerical Bayesian Methods Applied to Signal Processing",Springer 1998.
[3] R. Veldhuis "Restauration of lost samples in digital signals", Prentice Hall, 1990.
[4] J. Herre, E. Eberlein, "Error Concealment in the spectral domain", 93rd AES Convention, 1992 Oct, 1-4, preprint 3364.
[5] J. Herre, E. Eberlein, "Evaluation of concealment techniques for compressed digital audio", 94th AES Convention, 1993 Oct, 1-4, preprint 3364.
[6] US-6 421 802-B1
[7] EP-0 574 288-B1
[8] US-6 351 728-B1
[9] A.M. Kondoz, "Digital Speech: Coding For Low Bit Rate Communication", Wiley (1994), pp. 123-128.
[10] J. Laroche, M. Dolson, "Improved Phase Vocoder Time-Scale Modification of Audio", IEEE transactions on speech and audio processing, 323-332, Vol.7, No 3, May 1999.
Изобретение относится к методике маскирования ошибки в области частот для информации, которая представлена на покадровой основе с помощью коэффициентов кодирования. Сущность изобретения состоит в маскировании коэффициентов кодирования с ошибками, используя корреляцию коэффициента кодирования как по времени, так и по частоте. Методику маскирования применяют к любой информации, такой как аудиоданные, видеоданные и данные изображения, которые сжаты в коэффициенты кодирования и переданы в неблагоприятных условиях канала. Маскирование ошибок осуществляют с использованием избыточности исходного информационного сигнала по времени, а также по частоте. Это создает возможность использования избыточности между кадрами (межкадровой), а также в пределах кадров (внутрикадровой). Использование коэффициентов кодирования из того же кадра, в котором содержится коэффициент кодирования с ошибкой, иногда называют корреляцией коэффициентов внутри кадра, и представляет собой специальный случай более общей корреляции по частоте. Технический результат - обеспечение эффективного маскирования ошибок в области частот, которая более оптимально использует избыточность исходного информационного сигнала. 4 н. и 34 з.п. ф-лы, 18 ил.
фазы содержит этап расчета спектральной фазы в кадре m и частотном элементе k на основе следующего рекурсивного решения:
где
, и
используется для начала рекурсии.
средство для расчета спектральной фазы с помощью согласования групповой задержки, ассоциированной с новым спектральным компонентом, с рассчитанным значением групповой задержки.
Приоритет по пунктам:
УСТРОЙСТВО И СПОСОБ МАСКИРОВАНИЯ ОШИБОК | 1994 |
|
RU2120668C1 |
ЕР 0718982 A3, 21.06.2000 | |||
US 6421802 А, 16.07.2002 | |||
US 6351728 A, 26.02.2002 | |||
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
Устройство маскирования групп ошибок в цифровом сигнале звукового вещания | 1989 |
|
SU1700753A1 |
Авторы
Даты
2008-07-10—Публикация
2004-12-15—Подача