Главная страница  |  Описание сайта  |  Контакты
СПОСОБ КОДИРОВАНИЯ СИГНАЛОВ
СПОСОБ КОДИРОВАНИЯ СИГНАЛОВ

СПОСОБ КОДИРОВАНИЯ СИГНАЛОВ

Патент Российской Федерации
Суть изобретения: Изобретение относится к способам кодирования цифровых аудиосигналов. Целью изобретения является сокращение избыточности за счет анализа соотношения частотных характеристик критических полос и ширины полосы, соответствующей длительности кодовых сигналов, что сокращает время передачи и увеличивает пропускную способность канала связи. В заявленных способах при плавающей обработке каждого из множества малых блоков сообщения, ширина полосы каждого из которых меньше ширины критической полосы, передается вместо плавающих коэффициентов каждой из соответствующих критических полос информация о допустимых шумовых уровнях каждой критической полосы и длины слов малых блоков, благодаря чему сокращается число передаваемых битов и становится возможным выполнить сильное битное сжатие. Далее, в случае выполнения плавающей обработки каждого малого блока, ширина полосы каждого из которых меньше ширины критической полосы, передается информация о длинах слов, соответствующая числу выделенных битов, и передается вместо плавающих коэффициентов информация, хранящаяся в таблице квантования и относящаяся к допустимым шумовым уровням, заданный диапазон каждого из которых смещен в направлении низких уровней на предопределенный уровень от диапазона сигнальных уровней в критической полосе, благодаря чему оказывается возможным сильное битное сжатие. 4 с. и 3 з.п. ф-лы, 4 табл., 8 ил.
Поиск по сайту

1. С помощью поисковых систем

   С помощью Google:    

2. Экспресс-поиск по номеру патента


введите номер патента (7 цифр)

3. По номеру патента и году публикации

2000000 ... 2099999   (1994-1997 гг.)

2100000 ... 2199999   (1997-2003 гг.)
Номер патента: 2090973
Класс(ы) патента: H03M7/30, H04B1/66
Номер заявки: 92016428/09
Дата подачи заявки: 28.02.1992
Дата публикации: 20.09.1997
Заявитель(и): Сони Корпорейшн (JP)
Автор(ы): Кензо Акагири[JP]
Патентообладатель(и): Сони Корпорейшн (JP)
Описание изобретения: Настоящее изобретение относится к способам для эффективного кодирования цифрового аудиосигнала, которые предназначены выполнять кодирование выходного цифрового сигнала.
Известен эффективный способ кодирования аудиосигналов или звуковых сигналов, основанный на выделении битов, при котором выполняется разбиение аудио- или звукового сигнала на сигнальные компоненты множества каналов на временной оси или частотной оси и адаптивное выделение числа битов для каждого соответствующего канала. К известным способам кодирования, основанным на названном выше выделении битов, относятся, например, следующие: полосовое делительное кодирование(подполосное кодирование SBC), при котором аудиосигнал на временной оси разделяется на сигнальные компоненты на множество частотных полос для осуществления его кодирования; адаптивное преобразовательное кодирование АТС, при котором сигнал на временной оси преобразуется в сигнал на частотной оси для разделения его на сигнальные компоненты на множестве частотных полос для выполнения адаптивного кодирования каждой из соответствующих полос; так называемое кодирование адаптивным выделением битов АРС-АВ, при котором подполосное кодирование SBC и так называемое предсказательное адаптивное кодирование APC комбинируется, чтобы разделять сигнал на временной оси на сигнальные компоненты на частотных полосах, чтобы преобразовывать сигнальные компоненты на соответствующих полосах в сигнальные компоненты на фазовых полосах (низкочастотных полосах), чтобы затем осуществить линейный предсказательный анализ для выполнения предсказательного кодирования.
При названном эффективном кодировании выполняется преобразование аудиосигнала на временной оси в сигнал на оси (частотной оси), ортогональной к временной оси, с помощью ортогонального преобразования, например, быстрого преобразования Фурье T или дискретного косинусного преобразования ДСТ, на каждой предопределенной единице времени после деления сигнала на частотной оси в сигнальные компоненты на множестве полос для кодирования коэффициентных данных в соответствующих разделенных полосах адаптивным выделением битов. Эти закодированные данные передаются.
При кодировании коэффициентных данных каждой соответствующей полосы названным выше адаптивным выделением битов часто используют деление коэффициентных данных на частотной оси на данные, разнесенные по блокам, для выполнения так называемой блочной плавающей обработки каждого блока для выполнения дальнейшего битного сжатия. По этой причине, поскольку необходима конфигурация для декодирования, используется такая системная конфигурация, которая передает коэффициентные данные, подвергнутые полосовому делению и блочной плавающей обработке на каждом блоке, и подинформацию, состоящую из плавающих коэффициентов для каждого соответствующего блока условной длины, информацию, соответствующую плавающим коэффициентам и числу выделенных битов для каждого соответствующего блока.
Однако в названном выше эффективном кодировании остается желательным еще больше повысить эффективность сжатия.
Учитывая описанные выше фактические обстоятельства, было разработано настоящее изобретение, целью которого является создание кодирующего способа для цифрового сигнала, который предназначен выполнять битовое сжатие в более высокой степени.
Кодирующий способ для цифрового сигнала, соответствующий настоящему изобретению, был разработан для достижения названной выше цели, и он является способом кодирования цифрового сигнала, который предназначен ортогонально преобразовывать входной цифровой сигнал, чтобы делить ортогонально сигнал на сигнальные компоненты на критических частотных полосах для кодирования сигнальных компонентов в соответствующих критических полосах числом битов, соответствующим уровням, характеризующим разности между допустимыми шумовыми уровнями в каждой критической полосе, определенными по энергиям в каждой критической полосе и энергиям в соответствующих критических полосах, и для деления ортогонально преобразованных сигнальных компонентов на эти блоки, чтобы осуществить блочную плавающую обработку каждого блока для передачи плавающих коэффициентов каждого блока.
При выполнении блочной плавающей обработки каждого небольшого блока, ширина полосы которого уже, чем полоса критической полосы, передается информация, относящаяся к допустимым шумовым уровням, вместо плавающих козффициентов в каждой критической полосе и передается информация о словных длинах, соответствующая числам выделенных битов для каждого небольшого блока.
Далее, в случае, когда блочная плавающая обработка выполняется для каждого большого блока, ширина полосы которого шире, чем ширина критической полосы, передается информация, относящаяся к плавающим коэффициентам каждого большого блока, и передается информация словных длин, соответствующая числам выделенных блоков для каждой критической полосы.
Далее, в случаях, когда блочная плавающая обработка выполняется над каждым небольшим блоком, ширина полосы которого уже, чем ширина критической полосы, передается информация о словной длине, соответствующая числу битов, выделенных для одного небольшого блока из небольших блоков относительно критических полос. С другой стороны, в случае выполнения блочной плавающей процедуры над каждым большим блоком, ширина полосы которого шире, чем ширина критической полосы, передается информация о словной длине в одной критической полосе из критических полос в большом блоке, и может быть передана информация, относящаяся к допустимым шумовым уровням в соответствующих критических полосах.
Дополнительно, вместо передачи информации, относящейся к плавающим коэффициентам каждой критической полосы, можно передавать информацию, относящуюся к допустимым шумовым уровням, причем у каждого заданный диапазон сдвинут в направлении более низкого уровня на предопределенный уровень от диапазона сигнального уровня в критической полосе.
В этом случае при определении числа выделенных битов желательно определять так называемую маскирующую величину по энергиям в каждой соответствующей критической полосе для учета характеристик слухового восприятия человека, чтобы определять числа выделяемых битов для соответствующих критических полос путем использования допустимых уровней с учетом маскирующей величины.
В соответствии с настоящим изобретением в случае выполнения плавающей обработки каждого малого блока, ширина полосы уже, чем ширина критической полосы, вместо плавающих коэффициентов каждой критической полосы выполняется передача информации, относящаяся к допустимым шумовым уровням каждой критической полосы, и информация о словной длине соответствующих малых блоков, чтобы сделать возможным сокращение числа битов для плавающих коэффициентов. Даже в случае выполнения блочной плавающей процедуры над каждым большим блоком, ширина полосы которого шире, чем ширина критической полосы, выполняется передача информации, относящейся к плавающим коэффициентам каждого большого блока, чтобы сделать возможным сокращение числа передаваемых битов.
Далее в случае осуществления плавающей обработки каждого малого блока, ширина полосы которого уже, чем ширина критической полосы, выполняется передача информации по словной длине одного малого блока и малых блоков в соответствующих критических полосах, чтобы сделать возможным сокращение числа битов в информации словной длины. Это позволяет выполнить сжатие в более высокой степени.
Дополнительно, в случае выполнения плавающей обработки каждого малого блока, ширина которого уже ширины критической полосы, выполняется передача информации о словных длинах, соответствующих числам битов, выделяемых для каждого малого блока, и выполняется передача вместо плавающих коэффициентов каждой критической полосы информации, относящейся к допустимым шумовым уровням, конечный диапазон каждого из которых сдвинут в сторону низкого уровня на предопределенный уровень от диапазона сигнального уровня в критических полосах, тем самым создавая возможность сокращения числа битов, используемых для передачи информации, относящейся к допустимым шумовым уровням. Поэтому можно осуществить сжатие битов в более высокой степени.
Фиг. 1 является иллюстрацией в случае, когда выполняется плавающая обработка, соответствующая настоящему изобретению, каждого блока, ширина полосы которого меньше ширины критической полосы; фиг. 2 является иллюстрацией в случае, когда плавающая обработка, соответствующая настоящему изобретению, выполняется над каждым блоком, ширина полосы которого больше ширины критической полосы; фиг. 3 является блок-схемой одного из вариантов осуществления настоящего изобретения; фиг. 4 является принципиальной схемой, иллюстрирующей в блочном виде фактическую конфигурацию, устанавливающую допустимые шумы; фиг. 5 иллюстрирует дискретный спектр; фиг. 6 иллюстрирует маскирующий спектр; фиг. 7 иллюстрирует синтез минимальной слышимости кривой и маскирующего спектра. фиг. 8 иллюстрирует уровни допустимых шумов, передаваемых для соответствующих блоков, в настоящем варианте осуществления.
Ниже описан предпочтительный вариант осуществления настоящего изобретения со ссылками на приложенные фигуры.
Способ кодирования цифрового сигнала, соответствующий настоящему изобретению, является способом кодирования цифрового сигнала, представленного на фиг. 1 и фиг. 2, который предназначен выполнять ортогональное преобразование входного сигнала с помощью, например, быстрого преобразования Фурье или дискретного косинусного преобразования, для деления ортогонально преобразованного сигнала на сигнальные компоненты в критической частотной полосе B(B1- B4) таким образом, что с повышением частоты увеличивается ширина полосы для учета характеристик слухового восприятия человека, для кодирования сигнальных компонентов в соответствующих критических полосах числом битов, соответствующих уровням, характеризующих разность между допустимым шумом уровнем NL каждой критической полосы, устанавливаемым по энергиям критических полос и энергиям соответствующих критических полос, и для деления ортогонально преобразованных сигнальных компонентов в сигнальные компоненты в блоках, чтобы выполнить блочную плавающую обработку каждого из блоков b для передачи плавающих коэффициентов Fc каждого блока b.
Другими словами, в настоящем варианте осуществления выполняется обработка, проиллюстрированная на блок-схеме фиг. 2. Во-первых, на шаге S1 ортогонально преобразованные сигнальные компоненты разбиваются на сигнальные компоненты в блоках для выполнения блочной плавающей обработки каждого из блоков, для определения таким образом плавающих коэффициентов (плавающих уровней) каждого из блоков. На шаге S2 определяются допустимые шумовые уровни для соответствующих физических полос по энергиям критических полос, о чем будет сказано. На шаге S3 определяется информация о словных длинах, соответствующих числам выделенных битов, определяемых по уровням, характеризующих разности между допустимыми шумовыми уровнями в каждой критической полосе, и энергиям соответствующих критических полос.
В настоящем варианте осуществления, например, как иллюстрирует фиг. 1, в случае выполнения блочной плавающей обработки каждого малого блока (малые блоки b1-b4), ширина полосы которого меньше ширины критической полосы B, вместо плавающих коэффициентов каждой критической полосы В передается информация, относящаяся к допустимому шумовому уровню NL, и информация о словных длинах W1-W4, соответствующих числам битов, выделенных для каждого малого блока b1 b4.
Далее, например, как иллюстрирует фиг. 2, в случае выполнения блочной плавающей обработки каждого большого блока (большой блок b), ширина полосы которого больше ширины критических полос B1 B4, выполняется передача информации, относящейся к плавающим коэффициентам каждого большого блока b, и передача информации о словных длинах W1-W4, соответствующих числу битов, выделенных каждой критической полосе B1-B4.
Надо заметить, что на фиг. 1 изображена отдельная широкая критическая полоса в области высоких частот. На фиг. 2 изображены соответствующие полосы в области низких частот. Дополнительно, на фиг. 1, поскольку разности уровней для определения числа выделенных битов и словные длины W1-W4 соответствуют друг другу, изображены только словные длины W1-W4 для простоты восприятия.
Далее в настоящем варианте осуществления, как сказано выше, выполняется декодирующая обработка для коэффициентных данных быстрого преобразования Фурье путем адаптивного выделения битов. А именно, кодирующая обработка путем адаптивного выделения битов в настоящем варианте осуществления определяет так называемую маскирующую величину с учетом характеристик слухового восприятия человека, как это будет описано ниже, по энергиям каждой соответствующей критической полосы для определения чисел выделяемых битов, соответствующих уровню, характеризующему разность между допустимым шумовым уровнем, установленным по маскирующей величине (т.е. существенно фиксированному допустимому шумовому уровню в каждой соответствующей критической полосе), и энергиями в соответствующих критических полосах, чтобы выполнить кодирование в зависимости от чисел выделенных битов для соответствующих критических полос.
Далее, множество коэффициентных данных в соответствующих критических полосах образует блоки, каждый из которых имеет фиксированное число коэффициентных данных для осуществления так называемой блочной плавающей обработки каждого соответствующего блока для выполнения битового сжатия. Соответственно, для примера, представленного фиг. 1, существует некоторое множество блоков (например, четыре малых блока b1-b4) в критической полосе B в области высоких частот, т. е. в широкой критической полосе. Далее, в случае, когда ширина полосы уже (критическая полоса в области низких частот), существует множество критических полос (например, четыре критические полосы B1 B4) в большом блоке b.
Если блочная плавающая обработка выполняется описанным способом, то для последующей декодирующей обработки потребуются плавающие коэффициенты для плавающей обработки и информация о словных длинах, соответствующих числам выделенных битов. Именно, поскольку необходимо последующее декодирование, то используется системная конфигурация, передающая информацию о плавающих коэффициентах блоков и информацию о словных длинах, соответствующих числам выделенных битов, определяемых по уровневым разностям между уровнями плавающих коэффициентов и допустимыми шумовыми уровнями критических полос. Другими словами, в ходе последующего декодирования наиболее значащий бит MSB в блочной плавающей обработке определяется по информации о плавающих коэффициентах. Аналогично, наименее значащий бит LSB определяется из информации о словной длине. Таким способом определяются допустимые шумовые уровни. Дополнительно величина (амплитуда) сигнала определяется по коэффициентным данным (основным данным) соответствующих блоков.
Обычно информацию о плавающих коэффициентах представляют шестью битами и информацию о словных длинах представляют четырьмя битами, соответственно. Надо заметить, что в том случае, когда ортогональным преобразованием является дискретное преобразование Фурье, названная выше словная информация содержит данные о величине (амплитуде) и фазе, другими словами, действительная часть и мнимая часть, которые представляются четырьмя битами. По этой причине, например, в случае, когда одна критическая полоса делится на некоторое множество плавающих блоков, число битов, передаваемых для полной критической полосы, соответствующее числу блоков (т. е. числу делений полос) при блочной плавающей обработке, можно найти по таблице 1.
В соответствии с таблицей 1, в случае, когда критическая полоса представлена единственным блоком (число делений равно 1), передаче подлежат десять битов, являющихся суммой шести битов для плавающего коэффициента, и четыре бита для словной длины. Далее, в случае, когда критическая полоса представлена двумя блоками (два деления), передаче подлежит 20 битов, которые являются суммой (6 х 2 12) битов для плавающего коэффициента и (4 х 2 8) битов для словной длины. Аналогично, в случае трех делений, передаче подлежат тридцать битов, являющихся суммой (6 х 3 18) битов для плавающего коэффициента и (4 х 3 12) битов для словной длины. Далее, в случае четырех делений (пример фиг. 1) подлежит передаче 40 битов, являющихся суммой (6 х 4 24) битов для плавающего коэффициента и 4 х 4 16 битов для словной длины. Как показано выше, увеличение числа блоков в одиночной критической полосе возрастает число подлежащих передаче битов.
В противоположность этому, для примера, представленного фиг. 1, настоящий вариант осуществления изобретения предполагает передачу информации на допустимом шумовом уровне NL, определяемом только одной критической полосой B, и информации о словных длинах W1- W4, соответствующих числу выделяемых битов, без передачи информации о плавающих коэффициентах Fc1-Fc4 соответствующих малых блоков, расположенных в критической полосе В. Именно, при выполнении последующей декодирующей обработки, если информация о допустимом шумовом уровне NL критической полосы В передается, то информация о плавающих коэффициентах Fc1- Fc4 каждого соответствующего малого блока b1-b4 может быть определена по информации о допустимом шумовом уровне NL и информация о словных длинах W1-W4 соответствующих малых блоков b1-b4. По этой причине используется такая схема, которая не передает информацию о плавающих коэффициентах Fc1-Fc4 . Это позволяет сократить число битов, необходимых для передачи четырех обязательных плавающих коэффициентов Гц1 до Гц4 для критической полосы В.
Допустимый шумовой уровень NL определяется в каждой критической полосе с учетом характеристик слухового восприятия человека. Можно предположить, что в критической полосе допустимый шумовой уровень NL остается существенно постоянным. Соответственно, аналогично можно предположить, что допустимый шумовой уровень NL остается на постоянном уровне для соответствующих блоков b1-b4 внутри критической полосы В, изображенной на фиг. 1. Надо заметить, что, когда полный динамический диапазон представляет, например, 20 дБ и плавающий коэффициент представлен шестью битами, плавающий коэффициент имеет точность около 2 дБ, и когда информация о словной длине представлена четырьмя битами, информация о словной длине имеет точность около 6 дБ. По этой причине, в соответствующих малых блоках b1-b4 (представлены на фиг. 1) при последующем декодировании допустимый шумовой уровень, определенный по информации о плавающих коэффициентах W1-W4 и словными длинами Fc1-Fc4, обладает дивиацией или сдвигом около 2 дБ, как иллюстрирует фиг. 8. Однако обычно допустимый уровень шума NL лежит внутри диапазона, существенно 13 дБ. Поэтому в настоящем варианте осуществления используется схема, при которой допустимый шумовой уровень NL представляется двухэтапным квантованием из грубого квантования, общего для критических полос, и точного квантования соответствующих малых блоков, которому подвергаются они при плавающей обработке критических блоков, что позволяет установить весьма точно общее значение допустимого шумового уровня NL. Именно, в настоящем варианте осуществления, поскольку допустимый шумовой уровень NL имеет 4-битный логарифмический уровень, то допустимый шумовой уровень NL, для которого излишне много 4-битного логарифма, весьма точно представляется 2-битным логарифмом. Поэтому в настоящем варианте осуществления выше 6 дБ делятся на четыре, что позволяет иметь для допустимого шумового уровня точность 1,5 дБ. Как сказано выше, надо обратить внимание на то, что соответственные шумовые уровни NL существенно одинаковы на множестве малых блоков при выборе высокоточного параметра из плавающих коэффициентов и допустимого уровня, что делает возможным сокращение числа битов. Способ сокращения числа битов, применительно к примеру на фиг. 1, представлен в таблице 2, сопоставимой с таблицей 1.
В соответствии с таблицей 2 в случае, когда критическая полоса В представлена одним блоком (одно деление), передаче подлежат 4 бита для допустимого шумового уровня NL и 4 бита для словной длины W. Надо заметить, что к допустимому шумовому уровню NL, описанному выше, для компенсации девиации 2 дБ добавляются 2 бита (4+2) бита). Поэтому в случае одного деления передаче подлежат 10 битов. Аналогично, в случае, когда критическая полоса представлена двумя малыми блоками (два деления), передаче подлежат 16 битов, которые являются суммой (4+2 х 2 8 битов для допустимого шумового уровня и 4 х 2 8 битов для словной длины W. Аналогично, в случае трех делений передаче подлежат 22 бита, являющихся суммой 4+2 х 3 10 битов для допустимого шумового уровня NL и 4 х 3 12 битов для словной длины W. Дополнительно, в случае четырех делений (пример на фиг. 1) передаче подлежат 28 битов, являющихся суммой 4+2х4=12 битов для допустимого шумового уровня NL и 4х4 16 для словной длины W. По этой причине, если предположить, что 100%-ными являются значения в таблице 1, и сделать сравнение со значениями в таблице 2, то при одном делении число битов оказывается 100%-ным в таблице 2, однако, с возрастанием числа делений (блоков) улучшается показатель сокращения битов; например, число передаваемых битов составляет 80% в случае двух делений, 73% в случае трех делений, 70% в случае четырех делений. Это позволяет утверждать, что способ настоящего варианта осуществления изобретения является весьма эффективным.
Надо заметить, что квантование информации словных длин W1- W4 должно быть не адаптивным, а однородным.
Далее, сравнивая со случаем выполнения плавающей обработки каждого малого блока, ширина которого меньше ширины критической полосы, как иллюстрирует фиг. 1, можно заметить, что в случае выполнения блочной плавающей обработки каждого большого блока, ширина которого больше ширины критической полосы, для последующего декодирования также обычно необходимо иметь информацию о блочных плавающих коэффициентах для каждой соответствующей критической полосы и словных длинах, определяемых соответствующими критическими полосами. И в противоположность этому, в настоящем варианте осуществления в случае выполнения блочной плавающей обработки каждого большого блока b, ширина которого больше ширины критической полосы, как это иллюстрирует фиг. 2, информация о плавающем коэффициенте Fc одного большого блока и информация о словных длинах W1- W>4, определяемых критическими полосами B1 до B4, передаются в качестве информации, относящейся к плавающему коэффициенту. Надо заметить, что информацию о допустимых шумовых уровнях NL1- NL>4 соответствующих критических полос B1 до B4 не надо передавать. Именно, поскольку плавающие коэффициенты одинаковы в критических полосах B1 до B4, возможно определять допустимые шумовые уровни NL1-NL4 по информации об одном плавающем коэффициенте Fc и информации о словных длинах W1-W4 критических полос. Поэтому посредством выполнения передачи в качестве подинформации исключительно информации о плавающем коэффициенте Fc и информации о соответствующих словных длинах W1-W4 можно еще больше сократить число битов для передачи подинформации в сравнении с обычным случаем.
Далее, применительно примеру, проиллюстрированному на фиг. 1, можно применить схему, при которой подлежит передаче лишь информация о длине слова W1 из соответствующих слов W1 и W4 в одной критической полосе В, не передавая информацию об остальных словах W2 W4. Именно, подлежит передаче лишь информация о соответствующих плавающих коэффициентах Fc1 Fc4 критической полосы B и информация о длине слова W1. Другими словами, при последующей декодирующей обработке, если передана длина одного слова, можно определить информацию о длине остальных слов W2 W4 по информации о соответствующих плавающих коэффициентах Fc1 до Fc4. В практических терминах, если допустимый шумовой уровень NL можно определять по плавающему коэффициенту Fc1 и длине слова W1, то можно найти остальные длины слов W2 W4 по допустимому шумовому уровню NL и плавающим коэффициентам Fc1 Fc4. Поэтому можно использовать эффективную упрощенную схему, при которой не передается информация об остальных словных длинах W2 - W4. Поэтому возможно сократить число битов передаваемой информации на столько битов, сколько требуется для кодирования трех словных длин W2 W4, относящихся к критической полосе B.
Способ сокращения числа битов применительно к примеру, представленному фиг. 2, иллюстрирует таблица 3, которая ниже сравнивается с таблицей 2.
Объяснения таблицы 3 даны в предположении вхождения нескольких критических полос в один блок b. В случае, когда число полос, составляющих один блок b, равно 1 (одна полоса), подлежат передаче 10 битов, являющихся суммой 6 битов информации об уровне плавающего коэффициента Fc и 4 битов длины слова W. Аналогично, в случае, когда число критических полос равно 2 (две полосы), то передаче подлежат 14 битов, являющихся суммой 6 битов для плавающего коэффициента Fc и 4х2=8 битов для словной длины W. Аналогично, в случае трех полос, передаче подлежат 18 битов, являющихся суммой 6 битов для плавающего коэффициента Fc и 4х3=12 битов для словной длины W. Далее, в случае четырех полос (для примера на фиг. 2), подлежат передаче 22 бита, являющихся суммой 6 битов для плавающего коэффициента Fc и 4х4=16 для словной длины. Поэтому, если принять число передаваемых битов для примера, представленного в таблице 2, за 100% и сравнить с числами передаваемых битов для примера, представленного в таблице 3, то в таблице 3 число передаваемых битов для одной полосы составит 100% т. е. будет равным с числом в таблице 1, однако с возрастанием числа полос сокращается число передаваемых битов, например, при двух полосах число битов составляет 70% при трех полосах число битов составляет 60% и при четырех полосах число битов составляет 55% Исходя из этого, можно заметить, что способ настоящего варианта является весьма эффективным.
В настоящем варианте осуществления в случае, когда блочной плавающей обработке подвергается каждый малый блок, ширина полосы которого меньше ширины критической полосы, на шаге S4 определяется и затем передается информация о словных длинах, соответствующих числам битов, выделенных каждому малому блоку; на шагах S5 и S6 информация, относящаяся к допустимому уровню шума, чей заданный диапазон сдвинут в сторону низкого уровня на предопределенный уровень (уровень, определяемый маскирующей величиной, о которой будет сказано ниже) от диапазона сигнальных уровней в критическом диапазоне, определяется и передается вместо плавающих коэффициентов каждой критической полосы. Более конкретно, таблица квантования, в которой хранятся значения сдвига заданного диапазона в сторону меньших уровней на названный предопределенный уровень от диапазона сигнальных уровней в критической полосе, используется для вывода и передачи значения, соответствующего допустимого шумового уровня, определенного на шаге S2.
Как описано выше, причина, по которой заданный диапазон допустимого шумового уровня сдвигается, состоит в следующем. Во-первых, в случае передачи информации, относящейся к допустимому шумовому уровню, найденному на шаге 2, неэффективно или бесполезно использовать для допустимого шумового уровня такой же индекс, что и индекс динамического диапазона, который может иметь фактический сигнал. Именно, поскольку допустимый шумовой уровень определяется по маскирующей величине, которая учитывает характеристики слухового восприятия человека, как это описано ниже, он становится равным величине, которая на предопределенный уровень ниже максимального значения названного выше уровня фактического сигнала. Например, допустимый шумовой уровень выбирают так, чтобы он был ниже сигнального уровня приблизительно на 26 дБ. Как сказано выше, исключительно неэффективно или бесполезно использовать динамический диапазон, который может занимать сигнальный уровень, для допустимого шумового уровня, который поэтому с необходимостью ниже сигнального уровня на определенный фиксированный уровень. Дополнительно, это нецелесообразно с точки зрения сокращения числа битов. Поэтому в настоящем варианте осуществления используется таблица квантования, согласно которой заданный диапазон сдвинут в сторону низких уровней на предопределенный уровень от диапазона сигнальных уровней в критическом диапазоне. Таким образом, допустимый диапазон оказывается возможным представить даже меньшим числом битов. Другими словами, даже при использовании меньшего числа битов можно представить допустимый шумовой уровень с такой же точностью (разрешением), что и в случае отсутствия сдвига. Поэтому оказывается возможным сократить число битов при передаче допустимого уровня.
Для последующей декодирующей обработки совместно передаются разность между уровнем шума передачи малого блока b1, задаваемого словной длиной 1, и уровень, который является ближайшим к допустимому шумовому уровню NL. Именно, в качестве информации, характеризующей разницу между допустимым шумовым уровнем NL и ближайшим к нему уровнем, можно передавать информацию, указывающую, где шумовые уровни передач соответствующих малых блоков попадают в диапазон существенно +3 дБ, с помощью справочной битовой информации из, например, 2 битов. Например, когда в 2 битах справочной битовой информации записано "00", это означает, что шумовой уровень передачи сдвинут в + (плюс) сторону (+1), когда в битовой информации записано "01", шумовой уровень не имеет сдвига (0), когда битовую информацию представляет "10", то шумовой уровень сдвинут в (минус) сторону (21). Следует заметить, что "11" не используется или означает, что уровень шума передачи не изменен.
Таким образом, шумовой уровень передачи малого блока b1 определяется по информации о плавающем коэффициенте Fc1 и длине слова W1. Далее, разность между допустимым шумовым уровнем NL и ближайшим к нему уровнем (разница уровней, обозначаемая справочным битом) складывается с допустимым шумовым уровнем NL, что позволяет получить уровень, наиболее близкий к допустимому шумовому уровню. Поскольку переданные шумовые уровни соответствующих малых блоков b1 до b4 не сдвинуты за уровень, соседний с уровнем, ближайшим к допустимому шумовому уровню NL, то оказывается возможным определять соответствующие словные длины W2 W4 по соответствующим плавающим коэффициентам Fc2 Fc4.
Способ сокращения числа битов применительно к примеру, представленному фиг. 1, иллюстрирует таблица 4, сравниваемая с таблицей 1.
Согласно таблице 4, когда критическая полоса B представлена единственным малым блоком, подлежат передаче 6 битов для плавающего коэффициента и 4 бита для словной длины W. Надо отметить, что названный выше справочный бит (2 бита) не используются в данном случае. Поэтому в случае одного деления подлежат передаче всего 10 битов. Аналогично, в случае, когда критическая полоса B представлена двумя малыми блоками b (два деления), подлежат передаче 18 битов, являющихся суммой 6х2=12 битов для плавающего коэффициента, 4 битов для словной длины W и 2 битов для справочной битовой информации. Подобным образом, в случае, когда критическая полоса B представлена тремя делениями, подлежат передаче 24 бита, являющихся суммой 6х3=18 битов для плавающего коэффициента, 4 битов для словной длины W и 2 битов для справочной битовой информации. Дополнительно, в случае четырех делений (пример, представленный фиг. 1) передаче подлежат 30 битов, являющихся суммой 6х4=24 для плавающего коэффициента, 4 битов для словной длины W и 2 битов для справочной битовой информации. По этой причине, если принять 100%-ными значения в таблице 1 и сравнить их с значениями в таблице 4, то в случае одного деления число переданных битов по табл. 2 будет 100%-ным относительно такового числа по таблице 1, однако с возрастанием числа делений (числа малых блоков) сокращается число битов: когда число делений равно 2, число передаваемых битов составит 90% когда число делений равно трем, то число передаваемых битов составляет 80% и, когда число делений равно 4, число передаваемых битов составляет 75% Исходя из сказанного, можно считать настоящий способ весьма эффективным.
Надо заметить, что названные выше варианты осуществления обеспечивают то, что уровень, который может принимать допустимый шумовой уровень NL, оказывается меньше динамического диапазона. Именно, поскольку минимальное значение отношения сигнал/шум составляет около 30 дБ, у допустимого шумового уровня нет возможности попасть в диапазон, отстоящий приблизительно на 30 дБ от пикового значения (0 дБ) динамического диапазона. Поэтому такую настройку можно выполнить в кодере.
На фиг. 4 изображен пример конфигурации, реализующей способ кодирования по настоящему изобретению и которая предназначена определять названные выше допустимые шумовые уровни для дальнейшего кодирования сигналов числом битов, выделяемых с учетом допустимых шумовых уровней.
Именно, как иллюстрирует фиг. 4, цифровые аудиоданные на временной оси, поступающие на входной терминал 1, передаются на ортогонально преобразующую схему 11. Этой ортогонально преобразующей схемой аудиоданные временной оси преобразуются в данные на частотной оси на каждом единичном временном отрезке (единичном блоке). Этим создаются коэффициентные данные, состоящие из действительного компонентного значения Re и мнимого компонентного значения Im. Эти коэффициентные данные передаются на амплитуднофазовой информации генератор 12. Амплитуднофазовой информации генератор 12 извлекает амплитудную информацию Am и фазовую информацию Ph из действительного компонентного значения Re и мнимого компонентного значения Im. Однако выводится из него лишь амплитудная информация Am. Именно, поскольку слуховое восприятие человека, в основном, чувствительно к амплитуде фазового диапазона и существенно безразлично к фазе, только амплитудная информация Am используется в настоящем варианте осуществления для получения информации о числе выделяемых битов.
Сначала амплитудная информация передается на полосовой делитель 13. Этот полосовой делитель 13 разбивает входной цифровой сигнал, представленный амплитудной информацией Am, на так называемые критические полосы. Эти критические полосы определяются с учетом характеристик слухового восприятия (способности к частотному анализу) человека. Например, сигнал в частотной полосе 0 до 22 кГц разбивается на 25 полос таким образом, что ширина полос возрастает с возрастанием частот. Именно, слуховое восприятие человека имеет сходство с полосовым фильтром, и полосы, выделяемые соответствующими фильтрами, называются критической полосой.
Амплитудная информация Am каждой и соответствующих полос, разбитых на критические полосы полосовым фильтром 13, соответственно передается на итоговой суммы детектор 14. Итоговой суммы детектор 14 определяет энергии каждой из соответствующих полос (спектральные интенсивности в соответствующих полосах), вычисляя итоговые суммы соответствующей амплитудной информации Am (итоговая сумма пиков, средних значений или энергий по амплитудной информации Am) в соответствующих полосах. Выходной сигнал, т. е. спектр итоговой суммы соответствующих полос, итоговой суммы детектора 14 принято называть дискретным спектром. Итоговый спектр SB в соответствующих полосах проиллюстрирован фиг. 4. Надо заметить, что для упрощения изображения на фиг. 4 число критических полос ограничено 12 полосами (B1-B12).
Чтобы обеспечить воздействие так называемого маскирования на дискретный спектр SB, предопределенная взвешивающая функция свертывается на дискретном спектре SB (свертывание). Для осуществления этого выходной сигнал итоговой суммы детектора 14, т. е. соответствующие значения дискретного спектра SB, передается на фильтр 15. Этот фильтр 15 состоит, например, из некоторого множества задерживающих элементов для последовательного задерживания входных данных, некоторого множества умножителей (например, 25 умножителей по числу соответствующих полос) для умножения этих задержанных элементов на фильтровые коэффициенты (взвешивающая функция) и итоговой суммы сумматор для вычисления итоговой суммы выходных сигналов соответствующих умножителей. В соответствующих умножителях фильтра 15 операция умножения выполняется следующим образом. Например, в умножителе М, соответствующем произвольно выбранной полосе, фильтровый коэффициент умножается на выходные сигналы соответствующих задерживающих элементов; в умножителе М-1 фильтровый коэффициент 0,15 умножается на такие же выходные сигналы; в умножителе М-2 фильтровый коэффициент 0,0019 умножается на эти же выходные сигналы; в умножителе М-3 фильтровый коэффициент 0,000086 умножается на эти же выходные сигналы; в умножителе М+1 фильтровый коэффициент 0,4 умножается на эти же выходные сигналы; в умножителе М+2 фильтровый коэффициент 0,06 умножается на эти же выходные сигналы; в умножителе М+3 фильтровый коэффициент 0,007 умножается на эти же выходные сигналы. Таким образом выполняется обработка свертыванием дискретного спектра SB. Надо заметить, что М является произвольным целым числом из 1 до 25. Этой свертывающей обработкой вычисляется итоговая сумма части, обозначенной точечными линиями. Дополнительно надо заметить, что названное маскирование относится к явлению, при котором один сигнал маскируется другим сигналом и становится неслышимым. Различают маскирующий эффект для аудиосигнала на временной оси и маскирующий эффект для аудиосигнала на частотной оси. Именно, посредством этого маскирующего эффекта любой шум делается неслышимым. По этой причине шум в любой части фактического аудиосигнала, подверженной маскированию, полагается допустимым шумом.
Далее, выходной сигнал фильтров подается на вычитатель 16. Вычитатель 16 служит для определения уровня "α", соответствующего допустимому шумовому уровню, который будет описан ниже, в свернутой области. Надо заметить, что уровень "a", соответствующий допустимому шумовому уровню, является уровнем, который приведен в соответствие с допустимым шумовым уровнем каждой полосы критической полосы путем выполнения развертывающей обработки, описанной ниже. Допустимая функция (функция, представляющая маскирующий уровень) для определения уровня "a" передается на вычитатель 16. Путем увеличения или уменьшения этой допустимой функции выполняется управление уровнем "a". Эту допустимую функцию вырабатывает и передает функциональный генератор 29, о котором будет сказано ниже.
Именно, если i является порядковым номером полосы при выполнении отсчета от низкочастотной полосы критической ширины, то уровень "a", соответствующий допустимому шумовому уровню, определяется по следующему уравнению:
a = S-(n-ai),
где n и а являются константами и
S есть интенсивность обработанного свертыванием дискретного спектра. В приведенном выше уравнении (n-ai) представляет допустимую функцию. В настоящем варианте осуществления n=38 и a=1.
Это обеспечивает сохранность качества звучания. Поэтому можно выполнить удовлетворительное декодирование.
Таким способом определяется уровень "α" Эти данные передаются на делитель 17. Делитель 17 выполняет развертывание уровня "a" в свернутой области. Поэтому путем выполнения этого развертывания создается маскирующий спектр по уровню "a" Именно этот маскирующий спектр становится допустимым шумовым спектром. Следует заметить, что упомянутая выше развертывающая обработка сложна, но в настоящем варианте осуществления развертку выполняет упрощенный делитель 17.
Далее, названный выше маскирующий спектр передается на вычитатель 19 через синтезаторную схему 18. Выходной сигнал итоговой суммы детектора 14, т. е. ранее описанный дискретный спектр SB от итоговой суммы детектора 14, поступает на вычитатель 19 через задерживающую схему 21. Этот вычитатель выполняет операцию вычитания над маскирующим спектром и дискретным спектром B. Поэтому, как иллюстрирует фиг. 5, та часть дискретного спектра SB, уровень которой ниже уровня, обозначенного уровнем маскирующего спектра MS, подвергается маскированию.
Выходной сигнал вычитателя 19 передается на только считываемую память 30 через допустимого шумового уровня корректор 20. В только считываемой памяти 30 хранится некоторое множество информации о выделенных битах, используемая для квантования амплитудной информации Am. Только считываемая память 30 служит для выдачи информации о выделенных числах битов, соответствующей выходному сигналу вычитателя 19 (разностный уровень между энергией в соответствующих полосах и выходным сигналом устанавливающего шумовой уровень устройства). Поэтому квантователь 24 выполняет квантовую обработку амплитудной информации Am с учетом информации о выделенных битах. Выходной сигнал квантователя 24 поступает на выходной терминал 2. Надо заметить, что задерживающая схема 21 предусмотрена для задержки дискретного спектра SB, получаемого от итоговой суммы детектора 14, учитывая задержки на соответствующих схемах, предшествующих синтезирующей схеме 18. Далее, задерживающая схема 23 предусмотрена для задержки амплитудной информации Am с учетом задержек на соответствующих схемах, предшествующих только считываемой памяти 30.
Далее, при выполнении синтеза синтезирующей схемой 18 оказывается возможным синтезировать данные, относящиеся к так называемой минимальной слышимости кривой RC, которая является характеристикой слухового восприятия человека, изображена на фиг. 6 и поступает от минимальной слышимости кривой генератора 22, и маскирующий спектр MS. Если абсолютный шумовой уровень ниже минимальной слышимости кривой, этот шум является неслышимым. Далее, даже если кодирование остается тем же самым, минимальной слышимости кривая будет изменяться в зависимости от воспроизводимой громкости во время воспроизведения. Надо заметить, что, поскольку нет большой вариации музыкального входа, в, например, 16-битный динамический диапазон реальных цифровых систем, то, если предположить, что шум квантования, например, частотной полосы хорошо слышен человеческим ухом в окрестности 4 кГц, шум квантования ниже уровня минимальной слышимости кривой можно полагать неслышимым в других частотных полосах. Поэтому, если предположить, что используемый способ, при котором в окрестности 4 кГц шум от словной длины, которой пользуется система, не слышен и допустимый шумовой уровень устанавливается синтезированием минимальной слышимости кривой RC и маскирующего спектра MS, то в этом случае разрешается допустимому шумовому уровню достигать уровня, обозначенного наклонными линиями на фигуре. Надо заметить, что в настоящем варианте осуществления уровень 4 кГц минимальной слышимости кривой поставлен в соответствие с минимальным уровнем, соответствующим, например, 20 битам. На фиг. 6 также изображен сигнальный спектр SS.
Допустимого шумового уровня корректор 20 корректирует допустимого шума уровень, поступающий от вычитателя 16, с учетом информации о так называемой равной слышимости кривой, поступающей от определяющей корректирующее значение схемы 28. Именно определяющая корректирующее значение схема 28 выдает информацию о корректирующем значении для корректирования допустимого шумового уровня, поступающего от вычитателя 19, на основе данных так называемой равной слышимости кривой. Данные о корректирующем значении передаются на корректирующую допустимый шумовой уровень схему 20. Таким образом выполняется корректировка, которая использует равной слышимости кривую допустимого шумового уровня, поступающую от вычитателя 19. Надо заметить, что равной слышимости кривая связана со слуховым восприятием человека. Эта кривая получена определением звуковых давлений звука на соответствующих частотах, который можно слышать с такой же силой, что и тональный звук, например, 1 кГц. Эта кривая также называется кривой, равной восприимчивости громкости. Далее, равной громкости кривая существенно такая же, что и минимальной слышимости кривая RS, как иллюстрирует фиг. 6. На равной громкости кривой, например, в окрестности 4 кГц, даже если звуковое давление ниже от 8 до 10 дБ, чем при 1 кГц, звук слышен с такой же силой, что и звук при 1 кГц. В противоположность этому, в окрестности 50 кГц, если звуковое давление выше, чем звуковое давление в окрестности 1 кГц приблизительно на 15 дБ, звук будет слышен с такой же силой.
Поэтому очевидно, что желательно разрешить шуму около уровня минимальной слышимости кривой (допустимого шумового уровня) иметь частотную характеристику, задаваемую кривой, соответствующей равной громкости кривой. Очевидно, что этим корректируется допустимый шумовой уровень с учетом равной громкости кривой для адаптирования к характеристике слухового восприятия человека.
Надо заметить, что в настоящем варианте осуществления можно использовать такие конфигурации, которые не выполняют синтезирующую обработку минимальной слышимости кривой. Именно в этом случае становятся излишними минимальной слышимости кривой генератор 22 и синтезирующая схема 18. Выходной сигнал вычитателя 16 подвергается развертыванию на делителе, а затем передается непосредственно на вычитатель 19.
Способ кодирования цифрового сигнала построен на использовании ортогонального преобразования входного цифрового сигнала, разбиении ортогонально преобразованного сигнала на сигнальные компоненты в критических полосах, кодировании сигнальных компонент в соответствующих критических полосах путем адаптивного выделения числа битов с учетом допустимых шумовых уровней в каждой из соответствующих критический полос и передаче плавающих коэффициентов, полученных в результате применения блочной плавающей обработки к ортогонально преобразованным сигнальным компонентам. В случае выполнения плавающей обработки каждого малого блока, ширина полосы которого уже ширины критической полосы, вместо плавающих коэффициентов каждой из критических полос передается информация, относящаяся к допустимым шумовым уровням критических полос, и информация о словных длинах соответствующих малых блоков, что делает возможным сократить число битов для плавающих коэффициентов. Далее, в случае выполнения блочной плавающей обработки каждого большого блока, ширина которого больше ширины критической полосы, передается информация, относящаяся к плавающим коэффициентам каждого из больших блоков, что позволяет сократить число передаваемых битов.
Далее, в случае выполнения плавающей обработки каждого малого блока, ширина полосы которого меньше ширины критической полосы, передается информация о словной длине одного малого блока из всех малых блоков каждой из соответствующих критических полос, что позволяет сократить число битов, необходимых для передачи информации о словных длинах. Поэтому можно выполнить сильное битное сжатие.
Дополнительно, в случае выполнения плавающей обработки каждого малого блока, ширина полосы которого меньше ширины критической полосы, передается информация о словных длинах, соответствующих числам битов, выделенных каждому из малых блоков, и передается вместо плавающих коэффициентов каждой критической полосы информация, относящаяся к допустимым шумовым уровням, заданный диапазон каждого из которых сдвинут в направлении низких уровней на предопределенный уровень от диапазона сигнальных уровней в критической полосе, что позволяет сократить число битов, необходимых для передачи информации, относящейся к допустимым шумовым уровням. Поэтому можно осуществить сильное битное сжатие.
Формула изобретения: 1. Способ кодирования сигналов, основанный на ортогональном преобразовании входного сигнала, величины амплитуд частотного спектра которого соответствуют коэффициентам ортогонального преобразования, разделении частотного диапазона преобразованного сигнала на критические полосы, ширина которых соответствует характеристикам слухового восприятия человека, определении для каждой критической полосы разности между значениями допустимого уровня шума и характеристикой спектральной интенсивности, формировании последовательности кодовых сигналов, соответствующих коэффициентам ортогонального преобразования, длительность которых изменяют в зависимости от значения полученной разности и передачи сформированных последовательностей кодовых сигналов, отличающийся тем, что сравнивают ширину каждой критической полосы и ширину полосы соответствующей длительности последовательности кодовых сигналов, в случае, если она меньше, осуществляют формирование кодовых сигналов для каждой критической полосы, соответствующих величинам их допустимых уровней шума, и кодовых сигналов, соответствующих длительности каждой первоначально сформированной последовательности кодовых сигналов.
2. Способ кодирования сигналов, основанный на ортогональном преобразовании входного сигнала, величины амплитуд частотного спектра которого соответствуют коэффициентам ортогонального преобразования, разделении частотного диапазона преобразованного сигнала на критические полосы, ширина которых соответствует характеристикам слухового восприятия человека, определении разности между значениями допустимого уровня шума и характеристикой спектральной интенсивности формирования последовательностей кодовых сигналов, соответствующих коэффициентам ортогонального преобразования, длительность которых изменяют в зависимости от значения полученной разности и передачи сформированных последовательностей кодовых сигналов, отличающийся тем, что сравнивают ширину каждой критической полосы и ширину полосы соответствующей длительности последовательности кодовых сигналов, в случае, если она больше, осуществляют передачу каждой первоначально сформированной последовательности кодовых сигналов и кодовых сигналов для каждой критической полосы.
3. Способ кодирования сигналов, основанный на ортогональном преобразовании входного сигнала, величины амплитуд частотного спектра которого соответствуют коэффициентам ортогонального преобразования, разделение частотного диапазона преобразованного сигнала на критические полосы, ширина которых соответствует характеристикам слухового восприятия человека, определении разности между значениями допустимого уровня шума и характеристикой спектральной интенсивности, формировании последовательностей кодовых сигналов, соответствующих коэффициентам ортогонального преобразования, длительность которых изменяют в зависимости от значения полученной разности и передачи сформированных последовательностей кодовых сигналов, отличающийся тем, что сравнивают ширину каждой критической полосы и ширину полосы соответствующей длительности последовательности кодовых сигналов, в случае, если она меньше, передают последовательности кодовых сигналов, соответствующих длительности одной из последовательностей кодовых сигналов для каждой критической полосы.
4. Способ кодирования сигналов, основанный на ортогональном преобразовании входного сигнала, величины амплитуд частотного спектра которого соответствуют коэффициентам ортогонального преобразования, разделении частотного диапазона преобразованного сигнала на критические полосы, ширина которых соответствует характеристикам слухового восприятия человека, определении разности между значениями допустимого уровня шума и характеристикой спектральной интенсивности, формировании последовательности кодовых сигналов, соответствующих коэффициентам ортогонального преобразования, длительность которых изменяют в зависимости от значения полученной разности и передачи сформированных последовательностей кодовых сигналов, отличающийся тем, что сравнивают ширину каждой критической полосы и ширину полосы соответствующей длительности последовательности кодовых сигналов, в случае, если она меньше, осуществляют передачу последовательности кодовых сигналов, соответствующих длительностям первоначально сформированных кодовых сигналов, и передачу для каждой критической полосы кодовых сигналов соответствующих значений их допустимого шумового уровня, сдвинутого по частоте на более низкий заданный уровень по сравнению с значением характеристики спектральной интенсивности в соответствующей критической полосе.
5. Способ по пп.1 4, отличающийся тем, что ортогональное преобразование является дискретным косинусным преобразованием.
6. Способ по пп.1 4, отличающийся тем, что критическую полосу разделяют до двадцати пяти частотных полос в диапазоне от 0 до 22 кГц, ширина полос которых возрастает с повышением частоты.
7. Способ по пп.1 4, отличающийся тем, что значение спектральной интенсивности для каждой критической полосы является суммой амплитудных составляющих частотного спектра.