УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ СИГНАЛА
SIGNAL ENCODING AND DECODING DEVICE AND METHOD

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройствам кодирования и декодирования и к способам кодирования и декодирования, и более конкретно к устройствам кодирования и декодирования и к способам кодирования и декодирования, которые могут кодировать или декодировать сигналы с оптимальной скоростью передачи битов (битрейтам) согласно характеристикам сигналов.
Предшествующий уровень техники
Общепринятые кодеры звука могут обеспечивать высококачественные звуковые сигналы с высокой скоростью передачи битов 48 Кбит/с или больше, но неэффективны для обработки речевых сигналов. С другой стороны, обычные речевые кодеры могут эффективно кодировать речевые сигналы с низкой скоростью передачи битов 12 Кбит/с или меньше, но не подходят для кодирования различных звуковых сигналов.
Раскрытие изобретения
Техническая проблема
Настоящее изобретение обеспечивает устройства кодирования и декодирования и способы кодирования и декодирования, которые могут кодировать или декодировать сигналы (например, речевые и звуковые сигналы), имеющие различные характеристики, с оптимальной скоростью передачи битов.
Техническое решение
Согласно аспекту настоящего изобретения обеспечен способ декодирования, включающий в себя извлечение множества закодированных сигналов из входного битового потока, определение, какой из множества способов декодирования должен быть использован для декодирования каждого из закодированных сигналов, декодирование закодированных сигналов с использованием определенных способов декодирования и синтезирование декодированных сигналов.
Согласно другому аспекту настоящего изобретения обеспечено устройство декодирования, включающее в себя модуль распаковки битов, который извлекает множество закодированных сигналов из входного битового потока, модуль определения декодера, который определяет, какой из множества блоков декодирования должен быть использован для декодирования каждого из закодированных сигналов, модуль декодирования, который включает в себя блоки декодирования и декодирует закодированные сигналы с использованием определенных блоков декодирования, и модуль синтезирования, который синтезирует декодированные сигналы.
Согласно другому аспекту настоящего изобретения обеспечен способ кодирования, включающий в себя разделение входного сигнала на множество разделенных сигналов, определение на основе характеристик каждого из разделенных сигналов, какой из множества способов кодирования должен быть использован для кодирования каждого из разделенных сигналов, кодирование разделенных сигналов с использованием определенных способов кодирования и формирование битового потока на основе закодированных разделенных сигналов.
Согласно другому аспекту настоящего изобретения обеспечено устройство кодирования, включающее в себя модуль разделения сигнала, который разделяет входной сигнал на множество разделенных сигналов, модуль определения кодера, который определяет на основе характеристик каждого из разделенных сигналов, какой из множества блоков кодирования должен быть использован для кодирования каждого из разделенных сигналов, модуль кодирования, который включает в себя блоки кодирования и кодирует разделенные сигналы с использованием определенных блоков кодирования, и модуль упаковки битов, который формирует битовый поток на основе закодированных разделенных сигналов.
Преимущества
Соответственно, можно кодировать сигналы, имеющие различные характеристики, с оптимальной скоростью передачи битов посредством причисления упомянутых сигналов к одному или нескольким классам согласно характеристикам этих сигналов и кодирования каждого из сигналов с использованием блока кодирования, который лучше всего подходит для класса, которому принадлежит соответствующий сигнал. Кроме того, можно эффективно кодировать различные сигналы, в том числе звуковые и речевые сигналы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема устройства кодирования согласно варианту осуществления настоящего изобретения.
Фиг.2 - блок-схема варианта осуществления модуля классификации, изображенного на фиг.1.
Фиг.3 - блок-схема варианта осуществления блока предварительной обработки, изображенного на фиг.2.
Фиг.4 - блок-схема устройства для вычисления перцепционной энтропии входного сигнала согласно варианту осуществления настоящего изобретения.
Фиг.5 - блок-схема другого варианта осуществления модуля классификации, изображенного на фиг.1.
Фиг.6 - блок-схема варианта осуществления блока разделения сигнала, изображенного на фиг.5.
Фиг.7 и фиг.8 - схемы для пояснения способов объединения множества разделенных сигналов согласно вариантам осуществления настоящего изобретения.
Фиг.9 - блок-схема другого варианта осуществления блока разделения сигнала, изображенного на фиг.5.
Фиг.10 - схема для пояснения способа разделения входного сигнала на множество разделенных сигналов согласно варианту осуществления настоящего изобретения.
Фиг.11 - блок-схема варианта осуществления блока определения, изображенного на фиг.5.
Фиг.12 - блок-схема варианта осуществления блока кодирования, изображенного на фиг.1.
Фиг.13 - блок-схема другого варианта осуществления блока кодирования, изображенного на фиг.1.
Фиг.14 - блок-схема устройства кодирования согласно другому варианту осуществления настоящего изобретения.
Фиг.15 - блок-схема устройства декодирования согласно варианту осуществления настоящего изобретения.
Фиг.16 - блок-схема варианта осуществления блока синтезирования, изображенного на фиг.15.
Предпочтительные варианты осуществления изобретения
Далее в этом документе будет более полно описано настоящее изобретение согласно прилагаемым чертежам, на которых представлены иллюстративные варианты осуществления изобретения.
Фиг.1 является блок-схемой устройства кодирования согласно варианту осуществления настоящего изобретения. Согласно фиг.1, устройство кодирования включает в себя модуль 100 классификации, модуль 200 кодирования и модуль 300 упаковки битов.
Модуль 200 кодирования включает в себя множество блоков 210 и 220 кодирования, с первого по m-ый, которые выполняют различные способы кодирования.
Модуль 100 классификации разделяет входной сигнал на множество разделенных сигналов и сопоставляет каждому из разделенных сигналов один из блоков 210 и 220 кодирования, с первого по m-ый. Некоторые из блоков 210 и 220 кодирования, с первого по m-ый, могут быть сопоставлены двум и более разделенным сигналам или вообще (не сопоставлены) ни одному разделенному сигналу.
Модуль 100 классификации может выделять количество битов для кодирования каждого из разделенных сигналов или определять порядок, в котором должны быть закодированы разделенные сигналы.
Модуль 200 кодирования кодирует каждый из разделенных сигналов с использованием того из блоков 210 и 220 кодирования, с первого по m-ый, который сопоставлен соответствующему разделенному сигналу. Модуль 100 классификации анализирует характеристики каждого из разделенных сигналов и выбирает один из блоков 210 и 220 кодирования, с первого по m-ый, который может согласно результатам анализа наиболее эффективно закодировать каждый из разделенных сигналов.
Блок кодирования, который может наиболее эффективно закодировать разделенный сигнал, можно считать способным к достижению самой высокой эффективности сжатия.
Например, разделенный сигнал, который может быть легко смоделирован в виде коэффициента и остатка, может быть эффективно закодирован речевым кодером, и разделенный сигнал, который нельзя легко смоделировать в виде коэффициента и остатка, может быть эффективно закодирован кодером звука.
Если отношение мощности остатка, полученного посредством моделирования разделенного сигнала, к мощности разделенного сигнала меньше предопределенного порога, то разделенный сигнал можно считать сигналом, который может быть легко смоделирован.
Так как разделенный сигнал, который обнаруживает высокую избыточность по оси времени, может быть хорошо смоделирован с использованием метода линейного предсказания, в котором текущий сигнал предсказывается на основе предыдущего сигнала, то он может быть наиболее эффективно закодирован речевым кодером, который использует способ кодирования на основе линейного предсказания.
Модуль 300 упаковки битов формирует передаваемый битовый поток на основе закодированных разделенных сигналов, обеспечиваемых модулем 200 кодирования, и дополнительной информации кодирования, относящейся к закодированным разделенным сигналам. Модуль 300 упаковки битов может формировать битовый поток, имеющий переменную скорость передачи битов, с использованием простого битового способа или способа арифметического кодирования с секционированием по битам.
Разделенные сигналы или диапазоны частот, которые не закодированы из-за ограничений по скорости передачи битов, могут быть восстановлены из декодированных сигналов или диапазонов частот, обеспечиваемых декодером, с использованием способа интерполяции, экстраполяции или дублирования. Кроме того, в передаваемый битовый поток может быть включена информация компенсации, относящаяся к разделенным сигналам, которые не закодированы.
Согласно фиг.1 модуль 110 классификации может включать в себя множество блоков 110 и 120 классификации, с первого по n-ый. Каждый из блоков 110 и 120 классификации, с первого по n-ый, может разделять входной сигнал на множество разделенных сигналов, преобразует область определения входного сигнала, извлекает характеристики входного сигнала, классифицирует входной сигнал согласно характеристикам входного сигнала или сопоставляет входной сигнал одному из блоков 210 и 220 кодирования, с первого по m-ый.
Один из блоков 110 и 120 классификации, с первого по n-ый, может быть блоком предварительной обработки, который выполняет операцию предварительной обработки входного сигнала, чтобы входной сигнал мог быть преобразован в сигнал, который можно эффективно закодировать. Блок предварительной обработки может разделять входной сигнал на множество компонентов, например компонент коэффициента и компонент сигнала, и может выполнять операцию предварительной обработки входного сигнала до выполнения другими блоками классификации своих операций.
Входной сигнал можно предварительно обрабатывать по выбору согласно характеристикам входного сигнала, факторам внешней окружающей среды и целевой скорости передачи битов, и можно предварительно обрабатывать по выбору только некоторые из множества разделенных сигналов, полученных из входного сигнала.
Модуль 100 классификации может классифицировать входной сигнал согласно информации перцепционной характеристики входного сигнала, обеспеченной модулем 400 психоакустического моделирования. Примеры информации перцепционной характеристики включают в себя порог маскировки, отношение сигнал-маска (SMR) и перцепционную энтропию.
Другими словами, модуль 100 классификации может разделять входной сигнал на множество разделенных сигналов или может сопоставлять каждому из разделенных сигналов один или несколько из блоков с 210 по 220 кодирования, с первого по m-ый, согласно информации перцепционной характеристики входного сигнала, например порогу маскировки и SNR входного сигнала.
Кроме того, модуль 100 классификации может принимать такую информацию, как тональность, частота переходов через нуль (ZCR) и коэффициент линейного предсказания входного сигнала, и информацию классификации предыдущих кадров и может классифицировать входной сигнал согласно принятой информации.
Согласно фиг.1 закодированная информация результата, выведенная модулем 200 кодирования, может быть возвращена в модуль 100 классификации.
После разделения модулем 100 классификации входного сигнала на множество разделенных сигналов и определения, каким из блоков 210 и 220 кодирования, с первого по m-ый, посредством какого количества битов и в каком порядке должны быть закодированы разделенные сигналы, разделенные сигналы кодируют согласно результатам определения. Количество битов, фактически используемое для кодирования каждого из разделенных сигналов, необязательно должно быть идентичным количеству битов, которое выделено модулем 100 классификации.
Информация, определяющая разность между фактически использованным количеством битов и выделенным количеством битов, может быть возвращена в модуль 100 классификации, чтобы модуль 100 классификации мог увеличить количество битов, выделяемое для других разделенных сигналов. Если фактически используемое количество битов больше, чем выделенное количество битов, то модуль 100 классификации может сократить количество битов, выделяемое для других разделенных сигналов.
Блок кодирования, который фактически кодирует разделенный сигнал, необязательно должен быть блоком кодирования, идентичным тому, который сопоставлен разделенному сигналу модулем 100 классификации. В этом случае информация может быть возвращена в модуль 100 классификации с указанием того, что блок кодирования, который фактически кодирует разделенный сигнал, отличается от блока кодирования, сопоставленного разделенному сигналу модулем 100 классификации. Далее, модуль 100 классификации может сопоставить разделенному сигналу блок кодирования, отличный от блока кодирования, ранее сопоставленного разделенному сигналу.
Модуль 100 классификации может повторно разделять входной сигнал на множество разделенных сигналов согласно закодированной информации результата, возвращенной в него. В этом случае модуль 100 классификации может получать множество разделенных сигналов, имеющих структуру, отличную от структуры ранее полученных разделенных сигналов.
Если операция кодирования, выбранная модулем 100 классификации, отличается от фактически выполненной операции кодирования, то информация, относящаяся к разности между ними, может быть возвращена в модуль 100 классификации, чтобы модуль 100 классификации мог повторно определить информацию, связанную с операцией кодирования.
Фиг.2 является блок-схемой варианта осуществления модуля 100 классификации, изображенного на фиг.1. Согласно фиг.2 первый блок классификации может быть блоком предварительной обработки, который выполняет операцию предварительной обработки входного сигнала, чтобы можно было эффективно закодировать входной сигнал.
Согласно фиг.2 блок 110 классификации может включать в себя множество препроцессоров 111 и 112, с первого по n-ый, которые выполняют различные способы предварительной обработки. Первый блок 110 классификации может использовать один из препроцессоров 111 и 112, с первого по n-ый, для выполнения предварительной обработки входного сигнала согласно характеристикам этого входного сигнала, факторам внешней окружающей среды и целевой скорости передачи битов. Кроме того, первый блок 110 классификации может выполнять две и более операции предварительной обработки входного сигнала с использованием препроцессоров 111 и 112, с первого по n-ый.
Фиг.3 является блок-схемой варианта осуществления препроцессоров 111 и 112, с первого по n-ый, изображенных на фиг.2. Согласно фиг.3 препроцессор включает в себя экстрактор 113 коэффициента и экстрактор 114 остатка.
Экстрактор 113 коэффициента анализирует входной сигнал и извлекает из входного сигнала коэффициент, представляющий характеристики входного сигнала. Экстрактор 114 остатка извлекает из входного сигнала остаток с избыточными компонентами, удаляемыми из него с использованием извлеченного коэффициента.
Препроцессор может выполнять операцию кодирования на основе линейного предсказания входного сигнала. В этом случае экстрактор 113 коэффициента извлекает коэффициент линейного предсказания из входного сигнала посредством выполнения анализа на основе линейного предсказания входного сигнала, и экстрактор 114 остатка извлекает остаток из входного сигнала с использованием коэффициента линейного предсказания, обеспеченного экстрактором 113 коэффициента. Остаток с избыточностью, удаляемой из него, может иметь формат, идентичный (формату) белому шуму.
Далее в этом документе будет подробно описан способ анализа на основе линейного предсказания согласно варианту осуществления настоящего изобретения.
Предсказанный сигнал, полученный посредством анализа на основе линейного предсказания, может состоять из линейной комбинации предыдущих входных сигналов, как показано в уравнении (1):
МатФиг.1
где p обозначает порядок линейного предсказания, с 1 по p обозначают коэффициенты линейного предсказания, которые получены посредством минимизации среднеквадратической ошибки (MSE) между входным сигналом и оцененным сигналом.
Передаточная функция P(z) для анализа на основе линейного предсказания может быть представлена уравнением (2):
МатФиг.2
-1
Согласно фиг.3 препроцессор может извлекать коэффициент линейного предсказания и остаток из входного сигнала с использованием способа кодирования на основе деформированного линейного предсказания (WLPC), который является другим видом анализа на основе линейного предсказания. Способ WLPC можно осуществить посредством подстановки фазового фильтра, имеющего передаточную функцию A(z), вместо задержки блока Z. Передаточная функция A(z) может быть представлена уравнением (3):
МатФиг.3
где обозначает фазовый коэффициент. Посредством изменения фазового коэффициента можно изменять разрешение анализируемого сигнала. Например, если анализируемый сигнал является сигналом с высокой концентрацией на определенном частотном диапазоне, например если анализируемый сигнал является звуковым сигналом, который является сигналом с высокой концентрацией на низкочастотном диапазоне, то анализируемый сигнал можно эффективно закодировать с установкой такого фазового коэффициента, чтобы можно было увеличить разрешение сигналов низкочастотного диапазона.
В способе WLPC низкочастотные сигналы анализируются с большим разрешением, чем высокочастотные сигналы. Соответственно, способ WLPC может достигать высоких характеристик предсказания для низкочастотных сигналов и может лучше моделировать низкочастотные сигналы.
Фазовый коэффициент может изменяться по оси времени согласно характеристикам входного сигнала, факторам внешней окружающей среды и целевой скорости передачи битов. Если фазовый коэффициент изменяется во времени, то звуковой сигнал, полученный декодированием, может быть значительно искажен. Соответственно, когда фазовый коэффициент изменяется, к фазовому коэффициенту можно применять способ сглаживания, чтобы фазовый коэффициент мог изменяться постепенно и чтобы можно было минимизировать искажение сигнала. Диапазон значений, который может быть определен как текущее значение фазового коэффициента, может быть определен посредством предыдущих значений фазового коэффициента.
На входе для оценки коэффициента линейного предсказания вместо исходного сигнала можно использовать порог маскировки. Более конкретно, порог маскировки можно преобразовывать в сигнал временной области, и можно выполнять WLPC с использованием сигнала временной области на входе. Также можно выполнять предсказание коэффициента линейного предсказания с использованием остатка на входе. Другими словами, анализ на основе линейного предсказания можно выполнять несколько раз, тем самым получая остаток, все более приближающийся к белому шуму.
Согласно фиг.2 первый блок 110 классификации может включать в себя первый препроцессор 111, который выполняет анализ на основе линейного предсказания, описанный выше согласно уравнениям (1) и (2), и второй препроцессор (не изображен), который выполняет WLPC. Первый блок 100 классификации может выбирать один из первого процессора 111 и второго препроцессора или может принимать решение о невыполнении анализа на основе линейного предсказания входного сигнала согласно характеристикам этого входного сигнала, факторам внешней окружающей среды и целевой скорости передачи битов.
Если значение фазового коэффициента 0, то второй препроцессор может быть идентичен первому препроцессору 111. В этом случае первый блок 110 классификации может включать в себя только второй препроцессор и выбирать один из способа анализа на основе линейного предсказания и способа WLPC согласно значению фазового коэффициента. Кроме того, первый блок 110 классификации может выполнять анализ на основе линейного предсказания или тот из способа анализа на основе линейного предсказания и способа WLPC, который выбран в блоках кадров.
Информацию, указывающую, выполнять ли анализ на основе линейного предсказания, и информацию, указывающую, какой из способа анализа на основе линейного предсказания и способов WLPC выбран, можно включать в передаваемый битовый поток.
Модуль 300 упаковки битов принимает из первого блока 110 классификации коэффициент линейного предсказания, информацию, указывающую, выполнять ли кодирование на основе линейного предсказания, и информацию, идентифицирующую кодер линейного предсказания, который фактически использован. Далее, модуль 300 упаковки битов вставляет всю принятую информацию в передаваемый битовый поток.
Количество битов, необходимое для кодирования входного сигнала в сигнал, имеющий качество звука, почти неотличимое от качества исходного входного сигнала, может быть определено посредством вычисления перцепционной энтропии входного сигнала.
Фиг.4 является блок-схемой устройства для вычисления перцепционной энтропии согласно варианту осуществления настоящего изобретения. Согласно фиг. 4, это устройство включает в себя набор 115 фильтров, блок 116 линейного предсказания, блок 117 психоакустического моделирования, первый блок 118 вычисления битов и второй блок 119 вычисления битов.
Перцепционная энтропия PE входного сигнала может быть вычислена с использованием уравнения (4):
МатФиг.4
jw
jw
где X(e) обозначает уровень мощности исходного входного сигнала и T(e) обозначает порог маскировки.
В способе WLPC, который подразумевает использование фазового фильтра, перцепционная энтропия входного сигнала может быть вычислена с использованием отношения мощности остатка входного сигнала и порога маскировки остатка. Более конкретно, устройство кодирования, которое использует способ WLPC, может вычислять перцепционную энтропию PE входного сигнала с использованием уравнения (5):
МатФиг.5
jw
jw
где R(e) обозначает мощность остатка входного сигнала, T(e) обозначает порог маскировки остатка.
jw
Порог маскировки T(e) может быть представлен уравнением (6):
МатФиг.6
jw
jw
jw
jw
jw
где T(e) обозначает порог маскировки исходного сигнала и H(e) обозначает передаточную функцию для WLPC. Блок 320 психоакустического моделирования может вычислять порог маскировки T(e) с использованием порога маскировки T(e) в области диапазона масштабного множителя и с использованием передаточной функции H(e).
Согласно фиг.4 первый блок 118 вычисления битов принимает остаток, полученный WLPC, которое выполнено блоком 116 линейного предсказания, и порог маскировки, выведенный блоком 117 психоакустического моделирования. Набор 116 фильтров может выполнять преобразование частоты исходного сигнала, и результат преобразования частоты может быть введен в блок 117 психоакустического моделирования и второй блок 119 вычисления битов. Набор 115 фильтров может выполнять преобразование Фурье исходного сигнала.
Первый блок 118 вычисления битов может вычислять перцепционную энтропию с использованием отношения порога маскировки исходного сигнала, разделенного на спектр передаточной функции фильтра синтеза WLPC, и мощности остатка.
Деформированная перцепционная энтропия WPE сигнала, который разделен на 60 и более диапазонов неравномерного разбиения с различной шириной диапазонов, может быть вычислена с использованием WLPC, как показано в уравнении (7):
МатФиг.7
res
low
high
linear
res
2
где b обозначает индекс диапазона разбиения, полученного с использованием психоакустической модели, e(b) обозначает сумму мощностей остатков в диапазоне разбиения b, w(b) и w(b) соответственно обозначают самую нижнюю и самую верхнюю частоты в диапазоне разбиения b, nb(w) обозначает порог маскировки линейно отображенного диапазона разбиения, h(w) обозначает спектр мощности кодирования на основе линейного предсказания (LPC) кадра и nb(w) обозначает порог линейной маскировки, соответствующий остатку.
sub
С другой стороны, деформированная перцепционная энтропия WPE сигнала, который разделен на 60 и более диапазонов равномерного разбиения с идентичной шириной диапазона, может быть вычислена с использованием WLPC, как показано в уравнении (8):
МатФиг.8
low
high
sub
sub
sub
где s обозначает индекс линейно разделенного поддиапазона, s(w) и s(w) соответственно обозначают самую нижнюю и самую верхнюю частоты в линейно разделенном поддиапазоне s, nb(s) обозначает порог маскировки линейно разделенного поддиапазона s и e(s) обозначает мощность линейно разделенного поддиапазона s, то есть сумму частот в линейно разделенном поддиапазоне s. Порог маскировки nb(s) является минимумом множества порогов маскировки в линейно разделенном поддиапазоне s.
sub
Перцепционная энтропия не может быть вычислена для диапазонов с идентичной шириной диапазона и с порогами выше, чем сумма входных спектров. Соответственно, деформированная перцепционная энтропия WPE уравнения (8) может быть ниже, чем деформированная перцепционная энтропия WPE уравнения (7), которая обеспечивает высокое разрешение для низкочастотных диапазонов.
sf
Деформированная перцепционная энтропия WPE может быть вычислена для диапазонов масштабного множителя с различной шириной диапазонов с использованием WLPC, как показано в уравнении (9):
МатФиг.9
sf
sf
sf
где f обозначает индекс диапазона масштабного множителя, nb(f) обозначает минимальный порог маскировки диапазона f масштабного множителя, WPE обозначает отношение входного сигнала диапазона f масштабного множителя и порога маскировки диапазона f масштабного множителя и e(s) обозначает сумму всех частот в диапазоне f масштабного множителя, то есть мощность диапазона f масштабного множителя.
Фиг.5 является блок-схемой другого варианта осуществления модуля 100 классификации, изображенного на фиг.1. Согласно фиг.5, модуль классификации включает в себя блок 121 разделения сигнала и блок 122 определения.
Более конкретно, блок 121 разделения сигнала разделяет входной сигнал на множество разделенных сигналов. Например, блок 121 разделения сигнала может разделять входной сигнал на множество частотных диапазонов с использованием фильтра поддиапазона. У частотных диапазонов может быть идентичная ширина диапазона или различная ширина диапазонов. Как описано выше, разделенный сигнал может быть закодирован отдельно от других разделенных сигналов блоком кодирования, который лучше всего подходит по характеристикам разделенного сигнала.
Блок 121 разделения сигнала может разделять входной сигнал на множество разделенных сигналов, например множество сигналов диапазона, чтобы можно было минимизировать взаимные помехи между сигналами диапазона. Блок 121 разделения сигнала может иметь двойственную структуру набора фильтров. В этом случае блок 121 разделения сигнала может также разделять каждый из разделенных сигналов.
Информация разделения, относящаяся к разделенным сигналам, полученная блоком 121 разделения сигнала, например общее количество разделенных сигналов, и информация диапазона каждого из разделенных сигналов может быть включена в передаваемый битовый поток. Устройство декодирования может декодировать разделенные сигналы отдельно и синтезировать декодированные сигналы согласно информации разделения, тем самым восстанавливая исходный входной сигнал.
Информация разделения может быть сохранена в виде таблицы. Битовый поток может включать в себя информацию идентификации таблицы, использованной для разделения исходного входного сигнала.
Можно определять важность каждого из разделенных сигналов (например, множества сигналов частотного диапазона) для качества звука, и для каждого из разделенных сигналов можно устанавливать согласно результатам определения скорость передачи битов. Более конкретно, важность разделенного сигнала может быть определена как постоянное значение или как переменное значение, которое изменяется согласно характеристикам входного сигнала для каждого кадра.
Если речевые и звуковые сигналы смешаны во входном сигнале, то блок 121 разделения сигнала может разделять входной сигнал на речевой сигнал и звуковой сигнал согласно характеристикам речевых сигналов и характеристикам звуковых сигналов.
Блок 122 определения может определять, какой из блоков 210 и 220 кодирования, с первого по m-ый, в модуле 200 кодирования может наиболее эффективно закодировать каждый из разделенных сигналов.
Блок 122 определения причисляет разделенные сигналы к нескольким группам. Например, блок 122 определения может причислять разделенные сигналы к N классам и определять, какой из блоков 210 и 220 кодирования, с первого по m-ый, должен быть использован для кодирования каждого из разделенных сигналов, с сопоставлением каждому из N классов одного из блоков 210 и 220 кодирования, с первого по m-ый.
Более конкретно, с учетом того, что модуль 200 кодирования включает в себя блоки 210 и 220 кодирования, с первого по m-ый, блок 122 определения может причислять разделенные сигналы к классам, с первого по m-ый, которые могут быть наиболее эффективно закодированы блоками 210 и 220 кодирования, с первого по m-ый, соответственно.
Для этого можно заранее определять характеристики сигналов, которые могут быть наиболее эффективно закодированы каждым из блоков 210 и 220 кодирования, с первого по m-ый, и характеристики классов, с первого по m-ый, можно определять согласно результатам определения. После этого блок 122 определения может извлекать характеристики каждого из разделенных сигналов и причислять каждый из разделенных сигналов к одному из классов, с первого по m-ый, который совместно использует характеристики, идентичные соответствующему разделенному сигналу согласно результатам извлечения.
Примеры классов, с первого по m-ый, включают в себя класс вокализированной речи, класс невокализированной речи, класс фонового шума, класс паузы, класс тонального звука, класс нетонального звука и класс смеси вокализированных речи/звука.
Блок 122 определения может определять, какой из блоков 210 и 220 кодирования, с первого по m-ый, должен быть использован для кодирования каждого из разделенных сигналов, согласно информации перцепционной характеристики, относящейся к разделенным сигналам, обеспеченным модулем 400 психоакустического моделирования, например пороги маскировки, отношения SMR или уровни перцепционной энтропии разделенных сигналов.
Блок 122 определения может определять количество битов для кодирования каждого из разделенных сигналов или определять порядок, в котором должны быть закодированы разделенные сигналы, согласно информации перцепционной характеристики, относящейся к разделенным сигналам.
Информация, полученная посредством определения, выполненного блоком 122 определения, например информация, указывающая, каким из блоков 210 и 220 кодирования, с первого по m-ый, и посредством какого количества битов должен быть закодирован каждый из разделенных сигналов, и информация, указывающая порядок, в котором должны быть закодированы разделенные сигналы, может быть включена в передаваемый битовый поток.
Фиг.6 является блок-схемой варианта осуществления блока 121 разделения сигнала, изображенного на фиг.5. Согласно фиг.6, блок разделения сигнала включает в себя и устройство разделения 123, и устройство объединения 124.
Устройство разделения 123 может разделять входной сигнал на множество разделенных сигналов. Устройство объединения 124 может объединять разделенные сигналы, имеющие сходные характеристики, в единый сигнал. Для этого устройство объединения 124 может включать в себя набор синтезирующих фильтров.
Например, устройство разделения 123 может разделять входной сигнал на 256 диапазонов. Из этих 256 диапазонов те, которые имеют сходные характеристики, могут быть объединены устройством объединения 124 в единый диапазон.
Согласно фиг.7 устройство объединения 124 может объединять множество разделенных сигналов, которые являются смежными, в единый объединенный сигнал. В этом случае устройство объединения 124 может объединять множество смежных разделенных сигналов в единый объединенный сигнал согласно предопределенному правилу без учета характеристик смежных разделенных сигналов.
В качестве альтернативы согласно фиг.8 устройство объединения 124 может объединять множество разделенных сигналов, имеющих сходные характеристики, в единый объединенный сигнал, независимо от того, являются ли разделенные сигналы смежными. В этом случае устройство объединения 124 может объединять множество разделенных сигналов, которые могут быть эффективно закодированы идентичным блоком кодирования, в единый объединенный сигнал.
Фиг.9 является блок-схемой другого варианта осуществления блока 121 разделения сигнала, изображенного на фиг.5. Согласно фиг.9 блок разделения сигнала включает в себя первое устройство разделения 125, второе устройство разделения 126 и третье устройство разделения 127.
Более конкретно, блок 121 разделения сигнала может иерархически разделять входной сигнал. Например, входной сигнал может быть разделен на два разделенных сигнала первым устройством разделения 125, один из этих двух разделенных сигналов может быть разделен на три разделенных сигнала вторым устройством разделения 126, и один из этих трех разделенных сигналов может быть разделен на три разделенных сигнала третьим устройством разделения 127. Следовательно, входной сигнал может быть разделен в общей сложности на шесть разделенных сигналов. Блок 121 разделения сигнала может иерархически разделять входной сигнал на множество диапазонов с различной шириной диапазона.
В варианте осуществления, изображенном на фиг.9, входной сигнал разделен согласно трехуровневой иерархии, но настоящее изобретение не ограничено этим. Другими словами, входной сигнал может быть разделен на множество разделенных сигналов согласно двухуровневой или четырехуровневой иерархии или иерархии с большим количеством уровней.
Одно из устройств разделения с 125 по 127, с первого по третье, в блоке 121 разделения сигнала может разделять входной сигнал на множество сигналов временной области.
На фиг.10 дано пояснение варианта осуществления разделения входного сигнала на множество разделенных сигналов блоком 121 разделения сигнала.
Речевые или звуковые сигналы в общем стационарны в течение короткого периода длины кадра. Однако иногда речевые или звуковые сигналы могут иметь нестационарные характеристики, например в течение переходного периода.
Для эффективного анализа нестационарных сигналов и увеличения эффективности кодирования таких нестационарных сигналов устройство кодирования согласно настоящему варианту осуществления может использовать способ разложения в эмпирическом виде (EMD) или вейвлет. Другими словами, устройство кодирования согласно настоящему варианту осуществления может проанализировать характеристики входного сигнала с использованием непостоянной функции преобразования. Например, блок 121 разделения сигнала может разделять входной сигнал на множество диапазонов с переменной шириной диапазона с использованием способа фильтрации переменного поддиапазона частотного диапазона.
Далее в этом документе будет подробно описан способ разделения входного сигнала на множество разделенных сигналов посредством EMD.
В способе EMD входной сигнал может быть разложен на одну или несколько функций свойственного вида (IMF). Функция IMF должна удовлетворять следующим условиям: количество экстремумов должно быть равно количеству переходов через нуль или отличаться от него самое большее на один; и среднее значение огибающей, определенной локальными максимумами, и огибающей, определенной локальными минимумами, равно нулю.
IMF представляет простой осциллирующий вид, подобный компоненту в простой гармонической функции, тем самым обеспечивая возможность эффективного разложения входного сигнала с использованием способа EMD.
Более конкретно, для извлечения IMF из входного сигнала s(t), верхняя огибающая может быть сгенерирована посредством соединения всех локальных экстремумов, определенных локальными максимумами входного сигнала s(t), с использованием способа интерполяции на базе пространственных сплайнов, и нижняя огибающая может быть сгенерирована посредством соединения всех локальных экстремумов, определенных локальными минимумами входного сигнала s(t), с использованием способа интерполяции на базе пространственных сплайнов. Все значения, которые может иметь входной сигнал s(t), могут быть между верхней огибающей и нижней огибающей.
1
После этого может быть вычислено среднее значение m(t) верхней огибающей и нижней огибающей. После этого первый компонент h(t) может быть вычислен посредством вычитания среднего значения m(t) из входного сигнала s(t), как показано в уравнении (10):
МатФиг.10
1
1
1
Если первый компонент h(t) не удовлетворяет вышеупомянутым условиям IMF, то первый компонент h(t) может быть определен как являющийся идентичным входному сигналу s(t), и можно повторно выполнять вышеупомянутую операцию, пока не будет получена первая IMF C(t), удовлетворяющая вышеупомянутым условиям IMF.
1
1
1
После получения первой IMF C(t) получают остаток r(t) посредством вычитания первой IMF C(t), как показано в уравнении (11):
МатФиг.11
1
2
2
После этого можно повторно выполнять вышеупомянутую операцию извлечения IMF с использованием остатка r(t) в качестве нового входного сигнала, тем самым получая вторые IMF C(t) и остаток r(t).
n
Если остаток r(t), полученный во время вышеупомянутой операции извлечения IMF, имеет постоянное значение или является либо монотонно возрастающей функцией или функцией с единственным периодом только с одним экстремумом или вообще без экстремума, то можно закончить вышеупомянутую операцию извлечения IMF.
0
M
m
В результате вышеупомянутой операции извлечения IMF входной сигнал s(t) может быть представлен суммой множества функций IMF с C(t) по C(t) и конечного остатка r(t), как показано в уравнении (12):
МатФиг.12
m
где М обозначает общее количество извлеченных функций IMF. Конечный остаток r(t) может отражать общие характеристики входного сигнала s(t).
На фиг.10 изображено одиннадцать функций IMF и конечный остаток, полученные посредством разложения исходного входного сигнала с использованием способа EMD. Согласно фиг.10 частота IMF, полученная из исходного входного сигнала на раннем этапе извлечения IMF, выше, чем частота IMF, полученная из исходного входного сигнала на более позднем этапе извлечения IMF.
1(k-1)
1k
Извлечение IMF может быть упрощено с использованием среднеквадратичного отклонения SD между предыдущим остатком h и текущим остатком h, как показано в уравнении (13):
МатФиг.13
1k
Если среднеквадратичное отклонение SD меньше, чем контрольное значение, например 0.3, то текущий остаток h, можно рассматривать как IMF.
В то же время сигнал x(t) может быть преобразован в аналитический сигнал посредством преобразования Гилберта, как показано в уравнении (14):
МатФиг.14
где (t) обозначает мгновенное значение, (t) обозначает мгновенную фазу и H{} обозначает преобразование Гилберта.
В результате преобразования Гилберта входной сигнал может быть преобразован в аналитический сигнал, состоящий из вещественной части и мнимой части.
С применением преобразования Гилберта к сигналу со средним 0 можно получить частотные составляющие, которые могут обеспечивать высокое разрешение и для временной и для частотной областей.
Далее в этом документе будет подробно описано, как блок 122 определения, изображенный на фиг.4, определяет, какой из множества блоков кодирования должен быть использован для кодирования каждого из множества разделенных сигналов, полученных посредством разложения входного сигнала.
Блок 122 определения может определять, какой из речевого кодера и кодера звука может более эффективно закодировать каждый из разделенных сигналов. Другими словами, блок 122 определения может принимать решение о кодировании разделенных сигналов, которые могут быть эффективно закодированы речевым кодером, с использованием того из блоков 210 и 220 кодирования, с первого по m-ый, который является речевым кодером, и принимать решение о кодировании разделенных сигналов, которые могут быть эффективно закодированы кодером звука, с использованием того из блоков 210 и 220 кодирования, с первого по m-ый, который является кодером звука.
Далее в этом документе будет подробно описано, как блок 122 определения определяет, какой из речевого кодера и кодера звука может более эффективно закодировать разделенный сигнал.
Блок 122 определения может измерять вариацию в разделенном сигнале и определять, что разделенный сигнал может быть закодирован речевым кодером более эффективно, чем кодером звука, если результат измерения больше, чем предопределенное контрольное значение.
В качестве альтернативы, блок 122 определения может измерять тональный компонент, включенный в определенную часть разделенного сигнала, и определять, что этот разделенный сигнал может быть закодирован кодером звука более эффективно, чем речевым кодером, если результат измерения больше, чем предопределенное контрольное значение.
Фиг.11 является блок-схемой варианта осуществления блока 122 определения, изображенного на фиг.5. Согласно фиг.11 блок определения включает в себя блок 500 кодирования/декодирования речи, первый набор 510 фильтров, второй набор 520 фильтров, блок 530 определения и блок 540 психоакустического моделирования.
Блок определения, изображенный на фиг.11, может определять, какой из речевого кодера и кодера звука может более эффективно закодировать каждый разделенный сигнал.
Согласно фиг.11 входной сигнал кодируется блоком 500 кодирования/декодирования речи, и закодированный сигнал декодируется блоком 500 кодирования/декодирования речи, тем самым восстанавливается исходный входной сигнал. Блок 500 кодирования/декодирования речи может включать в себя адаптивный многоскоростной широкополосный (AMR-WB) речевой кодер/декодер, и AMR-WB речевой кодер/декодер может иметь структуру линейного предсказания с кодовым возбуждением (CELP).
Входной сигнал может быть субдискретизирован до ввода его в блок 500 кодирования/декодирования речи. У сигнала, выведенного блоком 500 кодирования/декодирования речи, может быть повышена дискретизация, тем самым восстанавливается входной сигнал.
Входной сигнал может быть подвергнут преобразованию частоты посредством первого набора 510 фильтров.
Сигнал, выведенный блоком 500 кодирования/декодирования речи, преобразуется в сигнал частотной области вторым набором 520 фильтров. Первый набор 510 фильтров или второй набор 520 фильтров могут выполнять косинусное преобразование, например модифицированное дискретное преобразование (MDCT), введенного в них сигнала.
Частотная составляющая исходного входного сигнала, выведенного первым набором 510 фильтров, и частотная составляющая восстановленного входного сигнала, выведенного вторым набором 520 фильтров, обе вводятся в блок 530 определения. Блок 530 определения может определять, какой из речевого кодера и кодера звука может более эффективно закодировать входной сигнал на основе введенных в него частотных составляющих.
Более конкретно, блок 530 определения может определять, какой из речевого кодера и кодера звука может более эффективно закодировать входной сигнал на основе введенных в него частотных составляющих, посредством вычисления перцепционной энтропии PE каждой из частотных составляющих с использованием уравнения (15):
МатФиг.15
где
low(i)
high(i)
где x(j) обозначает коэффициент частотной составляющей, j обозначает индекс частотной составляющей, обозначает размер шага квантования, nint() является функцией, которая возвращает целое число, ближайшее к его аргументу, j и j являются соответственно индексом начальной частоты и индексом конечной частоты диапазона масштабного множителя.
Блок 530 определения с использованием уравнения (15) может вычислять перцепционную энтропию частотной составляющей исходного входного сигнала и перцепционную энтропию частотной составляющей восстановленного входного сигнала и на основе результатов вычисления определять, какой из кодера звука и речевого кодера более эффективен для использования при кодировании входного сигнала.
Например, если перцепционная энтропия частотной составляющей исходного входного сигнала меньше, чем перцепционная энтропия частотной составляющей восстановленного входного сигнала, то блок 530 определения может определить, что входной сигнал может быть закодирован кодером звука более эффективно, чем речевым кодером. С другой стороны, если перцепционная энтропия частотной составляющей восстановленного входного сигнала меньше, чем перцепционная энтропия частотной составляющей исходного входного сигнала, то блок 530 определения может определить, что входной сигнал может быть закодирован речевым кодером более эффективно, чем кодером звука.
Фиг.12 является блок-схемой варианта осуществления одного из блоков 210 и 220 кодирования, с первого по m-ый, изображенных на фиг.1. Блок кодирования, изображенный на фиг.12, может быть речевым кодером.
В общем, речевые кодеры могут выполнять LPC входного сигнала в блоках кадров и извлекать коэффициент LPC, например коэффициент LPC 16-го порядка, из каждого кадра входного сигнала с использованием алгоритма Левинсона-Дурбина. Сигнал возбуждения можно квантовать через поиск в адаптивной кодовой книге или поиск в фиксированной кодовой книге. Сигнал возбуждения можно квантовать с использованием способа линейного предсказания с алгебраическим кодовым возбуждением. Векторное квантование может быть выполнено на коэффициенте усиления сигнала возбуждения с использованием таблицы квантования, имеющей сопряженную структуру.
Речевой кодер, изображенный на фиг.12, включает в себя блок 600 анализа на основе линейного предсказания, блок 610 оценки основного тона, блок 620 поиска в кодовой книге, блок 630 линейной спектральной пары (LSP) и блок 640 квантования.
Блок 600 анализа на основе линейного предсказания выполняет анализ на основе линейного предсказания входного сигнала с использованием коэффициента автокорреляции, который получен с использованием асимметричного окна. Если время прогнозной оценки, то есть асимметричное окно, 30 мс, то блок 600 анализа на основе линейного предсказания может выполнять анализ на основе линейного предсказания с использованием времени прогнозной оценки 5 мс.
Коэффициент автокорреляции преобразуют в коэффициент линейного предсказания с использованием алгоритма Левинсона-Дурбина. Для квантования и линейной интерполяции, блок 630 LSP преобразует коэффициент линейного предсказания в LSP. Блок 640 квантования квантует LSP.
Блок 610 оценки основного тона оценивает основной тон (в схеме) с разомкнутой петлей для уменьшения сложности поиска в адаптивной кодовой книге. Более конкретно, блок 610 оценки основного тона оценивает период основного тона (в схеме) с разомкнутой петлей c использованием области взвешенного речевого сигнала каждого кадра. После этого формируют фильтр гармоник ограничения шума с использованием оцененного основного тона (в схеме) с разомкнутой петлей. После этого вычисляют импульсную характеристику с использованием фильтра гармоник ограничения шума, синтезирующего фильтра с линейным предсказанием и формантного перцепционного взвешивающего фильтра. Импульсную характеристику можно использовать для формирования целевого сигнала для квантования сигнала возбуждения.
Блок 620 поиска в кодовой книге выполняет поиск в адаптивной кодовой книге и поиск в фиксированной кодовой книге. Поиск в адаптивной кодовой книге может быть выполнен в блоках подкадров посредством вычисления вектора адаптивной кодовой книги через поиск основного тона (в схеме) с замкнутой петлей и через интерполяцию предыдущих сигналов возбуждения. Параметры адаптивной кодовой книги могут включить в себя период основного тона и коэффициент усиления фильтра основного тона. Сигнал возбуждения может быть сформирован синтезирующим фильтром с линейным предсказанием для упрощения поиска замкнутой петли.
Структура фиксированной кодовой книги устанавливается на основе модели перестановки чередующихся одиночных импульсов (ISSP). Вектор кодовой книги, содержащий 64 позиции, в которых соответственно расположены 64 импульса, разделен на четыре трека, причем каждый трек содержит 16 позиций. В каждом из четырех треков согласно скорости передачи может находится предопределенное количество импульсов. Так как индекс кодовой книги обозначает положение трека и знак импульса, то нет необходимости сохранять кодовую книгу, и сигнал возбуждения может быть сформирован просто с использованием индекса кодовой книги.
Речевой кодер, изображенный на фиг.12, может выполнять вышеупомянутые способы кодирования во временной области. Кроме того, если входной сигнал закодирован с использованием способа кодирования на основе линейного предсказания модулем 100 классификации, изображенным на фиг.1, то блок 600 анализа на основе линейного предсказания может быть необязательным.
Настоящее изобретение не ограничено речевым кодером, изображенным на фиг.12. Другими словами, кроме речевого кодера, изображенного на фиг.12, в рамках настоящего изобретения могут использоваться различные речевые кодеры, которые могут эффективно кодировать речевые сигналы.
Фиг.13 является блок-схемой другого варианта осуществления одного из блоков 210 и 220 кодирования, с первого по m-ый, изображенных на фиг.1. Блок кодирования, изображенный на фиг.13, может быть кодером звука.
Согласно фиг.13 кодер звука включает в себя набор 700 фильтров, блок 710 психоакустического моделирования и блок 720 квантования.
Набор 700 фильтров преобразует входной сигнал в сигнал частотной области. Набор 700 фильтров может выполнять косинусное преобразование, например модифицированное дискретное преобразование (MDCT) входного сигнала.
Блок 710 психоакустического моделирования вычисляет порог маскировки входного сигнала или SMR входного сигнала. Блок 720 квантования квантует коэффициенты MDCT, выводимые набором 700 фильтров, с использованием порога маскировки, вычисляемого блоком 710 психоакустического моделирования. В качестве альтернативы, для минимизации слышимого искажения в пределах заданного диапазона скорости передачи битов, блок 720 квантования может использовать SMR входного сигнала.
Кодер звука, изображенный на фиг.13, может выполнять вышеупомянутые способы кодирования в частотной области.
Настоящее изобретение не ограничено кодером звука, изображенным на фиг.13. Другими словами, кроме кодера звука, изображенного на фиг.13, в рамках настоящего изобретения могут использоваться различные кодеры звука (например, перспективные кодеры звука), которые могут эффективно кодировать звуковые сигналы.
Перспективные кодеры звука выполняют временное ограничение шума (TNS), интенсивность/связь, предсказание и кодирование стереофонического звука с модуляцией несущей и поднесущей соответственно суммой и разностью сигналов левого и правого каналов (середина/бок, M/S). TNS является операцией соответствующего распределения шума квантования временной области в окне набора фильтров так, чтобы шум квантования стал неслышимым. Интенсивность/связь является операцией, которая может уменьшить количество передаваемой пространственной информации посредством кодирования звукового сигнала и передачи мощности звукового сигнала только на основе того, что восприятие направления звука в диапазоне высоких частот зависит главным образом от временного масштаба мощности.
Предсказание является операцией удаления избыточности из сигнала, статистические характеристики которого не изменяются при использовании корреляции между компонентами спектра кадров. Кодирование стереофонического звука M/S является операцией передачи нормализованной суммы (то есть середины) и разности (то есть бока) стереосигнала вместо сигналов левого и правого каналов.
Сигнал, который подвергся операциям TNS, интенсивность/связь, предсказание и кодирование стереофонического звука M/S, квантуют квантователем, который выполняет анализ через синтез (AbS) с использованием SMR, полученного из психоакустической модели.
Как описано выше, так как кодер звука кодирует входной сигнал с использованием способа моделирования, например способа кодирования на основе линейного предсказания, то блок 122 определения, изображенный на фиг.5, может определять, легко ли можно смоделировать входной сигнал согласно предопределенному списку правил. После этого если определено, что входной сигнал можно легко смоделировать, то блок 122 определения может принять решение о кодировании входного сигнала с использованием речевого кодера. С другой стороны, если определено, что входной сигнал нельзя легко смоделировать, то блок 122 определения может принять решение о кодировании входного сигнала с использованием кодера звука.
Фиг.14 является блок-схемой устройства кодирования согласно другому варианту осуществления настоящего изобретения. На фиг.1 - фиг.14 подобные ссылочные позиции представляют подобные элементы, и, соответственно, их подробные описания будут опущены.
Согласно фиг.14 модуль 100 классификации разделяет входной сигнал на множество разделенных сигналов, с первого по n-ый, и определяет, какой из множества блоков 230, 240, 250, 260 и 270 кодирования должен быть использован для кодирования каждого из разделенных сигналов, с первого по n-ый.
Согласно фиг.14 блоки 230, 240, 250, 260 и 270 кодирования могут последовательно кодировать разделенные сигналы, с первого по n-ый соответственно. Кроме того, если входной сигнал разделен на множество сигналов частотного диапазона, то сигналы частотного диапазона могут быть закодированы в порядке от сигнала диапазона наименьших частот до сигнала диапазона самых высоких частот.
Если разделенные сигналы закодированы последовательно, то для кодирования текущего сигнала можно использовать ошибку кодирования предыдущего сигнала. В результате можно кодировать разделенные сигналы с использованием различных способов кодирования и, соответственно, предотвращать искажение сигнала и обеспечивать масштабируемость диапазона частот.
Согласно фиг.14 блок 230 кодирования кодирует первый разделенный сигнал, декодирует закодированный первый разделенный сигнал и выводит в блок 240 кодирования ошибку между декодированным сигналом и первым разделенным сигналом. Блок 240 кодирования кодирует второй разделенный сигнал с использованием ошибки, выведенной блоком 230 кодирования. Следовательно, разделенные сигналы, со второго по m-ый, кодируют с учетом ошибок кодирования соответствующих им предыдущих разделенных сигналов. Следовательно, можно выполнять безошибочное кодирование и увеличивать качество звука.
Устройство кодирования, изображенное на фиг.14, может восстанавливать сигнал из входного битового потока посредством выполнения в обратном порядке операций, выполняемых устройством кодирования, изображенным на фиг.1 - фиг.14.
Фиг.15 является блок-схемой устройства декодирования согласно варианту осуществления настоящего изобретения. Согласно фиг.15 устройство декодирования включает в себя модуль 800 распаковки битов, модуль 810 определения декодера, модуль 820 декодирования и модуль 830 синтезирования.
Модуль 800 распаковки битов извлекает, из входного битового потока, один или несколько закодированных сигналов и дополнительную информацию, необходимую для декодирования закодированных сигналов.
Модуль 820 декодирования включает в себя множество блоков 821 и 822 декодирования, с первого по m-ый, которые выполняют различные способы декодирования.
Модуль 810 определения декодера определяет, какой из блоков 821 и 822 декодирования, с первого по m-ый, может наиболее эффективно декодировать каждый из закодированных сигналов. Модуль 810 определения декодера может использовать способ, сходный со способом модуля 100 классификации, изображенного на фиг.1, для определения, какой из блоков 821 и 822 декодирования, с первого по m-ый, может наиболее эффективно декодировать каждый из закодированных сигналов. Другими словами, модуль 810 определения декодера может определять, какой из блоков 821 и 822 декодирования, с первого по m-ый, может декодировать наиболее эффективно каждый из закодированных сигналов, на основе характеристик каждого из закодированных сигналов. Предпочтительно, чтобы модуль 810 определения декодера мог определять, какой из блоков 821 и 822 декодирования, с первого по m-ый, может наиболее эффективно декодировать каждый из закодированных сигналов, на основе дополнительной информации, извлеченной из входного битового потока.
Дополнительная информация может включать в себя информацию о классе, идентифицирующую класс, к которому закодированный сигнал причислен устройством кодирования, информацию о блоке кодирования, идентифицирующую блок кодирования, использованный для генерации закодированного сигнала, и информацию о блоке декодирования, идентифицирующую блок декодирования, который должен быть использован для декодирования закодированного сигнала.
Например, модуль 810 определения декодера на основе дополнительной информации может определять, к какому классу принадлежит закодированный сигнал, и выбирать, для закодированного сигнала, тот из блоков 821 и 822 декодирования, с первого по m-ый, который соответствует классу закодированного сигнала. В этом случае у выбранного блока декодирования может быть такая структура, что он может наиболее эффективно декодировать сигналы, принадлежащие классу, который идентичен (классу) закодированному сигналу.
В качестве альтернативы, модуль 810 определения декодера может на основе дополнительной информации идентифицировать блок кодирования, использованный для генерации закодированного сигнала, и выбирать, для закодированного сигнала, тот из блоков 821 и 822 декодирования, с первого по m-ый, который соответствует идентифицированному блоку кодирования. Например, если закодированный сигнал был сгенерирован речевым кодером, то модуль 810 определения декодера может выбрать, для закодированного сигнала, тот из блоков 821 и 822 декодирования, с первого по m-ый, который является речевым декодером.
В качестве альтернативы, модуль 810 определения декодера может на основе дополнительной информации идентифицировать блок декодирования, который может декодировать закодированный сигнал, и выбирать, для закодированного сигнала, тот из блоков 821 и 822 декодирования, с первого по m-ый, который соответствует идентифицированному блоку декодирования.
В качестве альтернативы, модуль 810 определения декодера может получать характеристики закодированного сигнала из дополнительной информации и выбирать тот из блоков 821 и 822 декодирования, с первого по m-ый, который может наиболее эффективно декодировать сигналы, характеристики которых идентичны (характеристикам) закодированного сигнала.
Следовательно, каждый из закодированных сигналов, извлеченных из входного битового потока, кодируют тем из блоков 821 и 822 декодирования, с первого по m-ый, в отношении которого определено, что он может наиболее эффективно декодировать соответствующий закодированный сигнал. Декодированные сигналы синтезируют модулем 830 синтезирования, тем самым восстанавливая исходный сигнал.
Модуль 800 распаковки битов извлекает информацию о разделении, относящуюся к закодированным сигналам, например количество закодированных сигналов, и информацию о диапазоне каждого из закодированных сигналов, и модуль 830 синтезирования может синтезировать декодированные сигналы, обеспечиваемые модулем 820 декодирования, согласно информации о разделении.
Модуль 830 синтезирования может включать в себя множество блоков 831 и 832 синтезирования, с первого по n-ый. Каждый из блоков 831 и 832 синтезирования, с первого по n-ый, может синтезировать декодированные сигналы, обеспечиваемые модулем 820 декодирования, или выполнять преобразование области или дополнительное декодирование некоторых или всех декодированных сигналов.
Один из блоков 831 и 832 синтезирования, с первого по n-ый, может выполнять операцию постобработки синтезируемого сигнала, которая является операцией, обратной операции предварительной обработки, выполняемой устройством кодирования. Информацию, указывающую, выполнять ли операцию постобработки, и информацию о декодировании, используемую для выполнения операции постобработки, можно извлекать из входного битового потока.
Согласно фиг.16 один из блоков 831 и 832 синтезирования, с первого по n-ый, в частности второй блок 833 синтезирования, может включать в себя множество постпроцессоров 834 и 835, с первого по n-ый. Первый блок 831 синтезирования синтезирует множество декодированных сигналов в единый сигнал, и один из постпроцессоров 834 и 835, с первого по n-ый, выполняет операцию постобработки единого сигнала, полученного синтезированием.
Информация, указывающая, какой из постпроцессоров 834 и 835, с первого по n-ый, должен выполнять операцию постобработки единого сигнала, полученного синтезированием, может быть включена во входной битовый поток.
Один из синтезаторов 831 и 832, с первого по n-ый, может выполнять декодирование на основе линейного предсказания единого сигнала, полученного синтезированием с использованием коэффициента линейного предсказания, извлеченного из входного битового потока, тем самым восстанавливая исходный сигнал.
Настоящее изобретение можно осуществить в виде машиночитаемого кода, записанного на машиночитаемом носителе информации. Машиночитаемый носитель информации может быть любым типом записывающего устройства, на котором данные хранятся машиночитаемым способом. Примеры машиночитаемого носителя информации включают в себя ROM, RAM, CD-ROM, магнитную ленту, гибкий диск, оптический носитель информации и несущую (например, передачу данных через Интернет). Машиночитаемый носитель информации может быть распределен по множеству компьютерных систем, связанных с сетью, чтобы машиночитаемый код записывался на него и исполнялся с него децентрализованным способом. Специалист в данной области техники может легко рассмотреть функциональные программы, код и кодовые сегменты, необходимые для осуществления настоящего изобретения.
Несмотря на то что настоящее изобретение было, в частности, показано и описано в отношении его иллюстративных вариантов осуществления, специалистам в данной области техники будет понятно, что в нем можно сделать различные изменения по форме и в деталях, не выходя за пределы сущности и объема настоящего изобретения, как определено следующей формулой изобретения.
Промышленная применимость
Как описано выше, согласно настоящему изобретению можно кодировать сигналы, имеющие различные характеристики, с оптимальной скоростью передачи битов посредством причисления упомянутых сигналов к одному или нескольким классам согласно характеристикам этих сигналов и кодирования каждого из сигналов с использованием блока кодирования, который лучше всего подходит для класса, которому принадлежит соответствующий сигнал. Следовательно, можно эффективно кодировать различные сигналы, в том числе звуковые и речевые сигналы.