АДАПТИВНАЯ ГРУППИРОВКА ПАРАМЕТРОВ ДЛЯ УЛУЧШЕННОЙ ЭФФЕКТИВНОСТИ КОДИРОВАНИЯ
ADAPTIVE GROUPING OF PARAMETRES FOR IMPROVED EFFICIENCY OF CODING

Область техники, к которой относится изобретение
Настоящее изобретение относится к кодированию параметров без потерь и, в частности, к формированию и использованию правила кодирования для эффективного сжатия параметров.
Уровень техники
В последнее время методика воспроизведения многоканального звука приобретает все большую важность. Это может быть обусловлено тем фактом, что методики сжатия/кодирования звука, такие как широко распространенная методика MP3, сделали возможным распространять звукозаписи посредством Интернета или других каналов передачи, имеющих ограниченную полосу пропускания. Методика кодирования MP3 стала такой известной из-за того, что она предоставляет возможность распространения всех записей в стереоформате, т.е. цифровом представлении звуковой записи, включающем в себя первый, или левый, стереоканал и второй, или правый, стереоканал.
Тем не менее, в традиционных двухканальных звуковых системах существуют основные недостатки. Поэтому разработана методика объемного звучания. Рекомендованное многоканальное представление объемного звучания включает в себя, помимо двух стереоканалов L и R, дополнительный центральный канал C и два канала объемного звучания Ls, Rs. Этот эталонный формат звука также указывается ссылкой как три/два-стерео, что означает, что предусмотрено три фронтальных канала и два канала объемного звучания. Как правило, требуется пять каналов передачи. В среде воспроизведения требуется, по меньшей мере, пять динамиков в пяти различных местах, чтобы получить оптимальную зону наилучшего восприятия на определенном расстоянии от пяти правильно размещенных громкоговорителей.
В данной области техники известно несколько методик уменьшения объема данных, требуемого для передачи многоканального звукового сигнала. Эти методики называются методиками объединенного стерео. С этой целью делается ссылка на фиг.9, которая показывает объединенное стереоустройство 60. Это устройство может быть устройством, реализующим, к примеру, стереокодирование по интенсивности (IS) или бинауральное кодирование сигнала (BCC). Это устройство, как правило, принимает в качестве входа, по меньшей мере, два канала (CH1, CH2,..., CHn) и выводит один канал несущей частоты и параметрические данные. Параметрические данные задаются таким образом, чтобы в декодере аппроксимация исходного канала (CH1, CH2,..., CHn) могла быть вычислена.
Обычно канал несущей частоты включает в себя выборки поддиапазонов, спектральные коэффициенты, выборки временной области и т.д., которые предоставляют сравнительно точное представление базового сигнала, тогда как параметрические данные не включают в себя такие выборки спектральных коэффициентов, но включают в себя управляющие параметры для управления определенным алгоритмом восстановления, таким как взвешивание посредством умножения, временная манипуляция, частотная манипуляция, фазовая манипуляция и т.д. Параметрические данные, таким образом, включают в себя только сравнительно грубое представление сигнала или ассоциативно связанного канала. Если представить в числах, то объем данных, требуемый каналом несущей частоты, находится в диапазоне 60-70 кбит/с, тогда как объем данных, требуемый параметрической дополнительной информацией для одного канала, типично находится в диапазоне 1,5-2,5 кбит/с. Примером параметрических данных являются широко распространенные масштабные коэффициенты, информация о стереокодировании по интенсивности или параметры стереокодирования по меткам, как описано ниже.
Методика BCC описана в документе Конвенции AES 5574, "Binaural Cue Coding applied to Stereo and Multi-Channel Audio Compression", авторы C. Faller, F. Baumgarte, май 2002 г., Мюнхен, в документе IEEE WASPAA "Efficient representation of spatial audio using perceptual parametrization", октябрь 2001 г., Mohonk, NY, в документе "Binaural cue coding applied to audio compression with flexible rendering", авторы C. Faller и F. Baumgarte, 113 Конвенция AES, Лос-Анджелес, препринт 5686, октябрь 2002 г., и в документе "Binaural cue coding - Part II: Schemes and applications", авторы C. Faller и F. Baumgarte, IEEE Trans, on Speech and Audio Proc, том 11, номер 6, ноябрь 2003 г.
При BCC-кодировании число входных звуковых каналов преобразуется в спектральное представление с использованием основанного на DFT (дискретное преобразование Фурье) преобразования с помощью перекрывающихся окон. Результирующий равномерный спектр делится на неперекрывающиеся сегменты. Каждый сегмент имеет примерную полосу пропускания, пропорциональную эквивалентной прямоугольной полосе пропускания (ERB). После этого BCC-параметры оцениваются между двумя каналами для каждого сегмента. BCC-параметры обычно задаются для каждого канала относительно опорного канала и дополнительно квантуются. В завершение переданные параметры вычисляются в соответствии с заданными формулами (кодируются), которые зависят от конкретных сегментов сигнала, который должен быть обработан.
Предусмотрен ряд BCC-параметров. Например, параметр ICLD описывает разность (соотношение) энергий, содержащихся в 2 сравниваемых каналах. Параметр ICC (межканальная когерентность/корреляция) описывает корреляцию между двумя каналами, которую можно понимать как похожесть форм сигналов двух каналов. Параметр ICTD (межканальная разность времен) описывает глобальный сдвиг по времени между 2 каналами, тогда как параметр IPD (межканальная разность фаз) описывает то же в отношении фаз сигналов.
Следует знать о том, что при покадровой обработке звукового сигнала BCC-анализ также выполняется покадрово, т.е. в зависимости от времени, а также по частоте. Это означает, что для каждой полосы спектра BCC-параметры получаются отдельно. Это дополнительно означает, что в случае, если гребенка звуковых фильтров разлагает входной сигнал, например, на 32 полосовых сигнала, блок BCC-анализа получает набор BCC-параметров для каждой из 32 полос.
Связанная методика, также известная как параметрическое стерео, описана в документе авторов J. Breebaart, S. van de Par, A. Kohlrausch, E. Schuijers, "High-Quality Parametric Spatial Audio Coding at Low Bitrates", 116 Конвенция AES, Берлин, препринт 6072, май 2004 г., и в документе авторов E. Schuijers, J, Breebaart, H. Purnhagen, J, Engdegard, "Low Complexity Parametric Stereo Coding", 116 Конвенция AES, Берлин, препринт 6073, май 2004 г.
Резюмируя, новейшие подходы к параметрическому кодированию многоканальных звуковых сигналов (пространственное аудиокодирование, бинауральное кодирование сигнала (BCC) и т.д.) представляют многоканальный звуковой сигнал посредством сигнала понижающего микширования (может быть монофоническим или содержать несколько каналов) и параметрической дополнительной информации (пространственных меток), характеризующей воспринимаемый пространственный уровень звука. Желательно сохранять скорость дополнительной информации максимально низкой, чтобы минимизировать служебную информацию и оставлять как можно больше доступной пропускной способности для кодирования сигналов понижающего микширования.
Один способ поддерживать низкую скорость передачи битов для дополнительной информации состоит в том, чтобы кодировать без потерь дополнительную информацию схемы пространственного аудио посредством применения, например, алгоритмов кодирования по энтропии к дополнительной информации.
Кодирование по энтропии широко применялось в повсеместном аудиокодировании, чтобы предоставить оптимально компактное представление квантованных спектральных коэффициентов и другой дополнительной информации. Примеры соответствующих схем и способов кодирования предоставлены в стандартах ISO/IEC MPEG1 часть 3, MPEG2 часть 7 и MPEG4 часть 3.
Эти стандарты, а также, например, документ IEEE "Noiseless Coding of Quantized Spectral Coefficients in MPEG-2 Advanced Audio Coding", авторы S, R. Quackenbush, J. D. Johnston, IEEE WASPAA, Mohonk, NY, октябрь 1997 г., описывают методики современного уровня техники, которые включают в себя следующие меры для того, чтобы кодировать без потерь квантованные параметры:
- многомерное кодирование методом Хаффмана квантованных спектральных коэффициентов;
- использование общей (многомерной) таблицы кодирования Хаффмана для наборов коэффициентов;
- либо кодирование значения как единого целого, либо кодирование информации знака и информации модуля по отдельности (т.е. наличие записей таблицы кодирования Хаффмана только для данного абсолютного значения, что снижает требуемый размер таблицы кодирования, таблицы кодирования "со знаком" в сравнении с таблицами кодирования "без знака");
- использование альтернативных таблиц кодирования с различными наибольшими абсолютными значениями (LAV), т.е. различными максимальными абсолютными значениями в рамках параметров, которые должны быть закодированы;
- использование альтернативных таблиц кодирования с различным статистическим распределением для каждого LAV;
- передача результата выбора таблицы кодирования Хаффмана в качестве дополнительной информации в декодер;
- использование "секций" для того, чтобы задавать диапазон применения каждой выбранной таблицы кодирования Хаффмана;
- дифференциальное кодирование масштабных коэффициентов по частоте и последующее кодирование Хаффмана результата.
Другая методика кодирования без потерь грубо квантованных значений в один PCM-код предложена в рамках аудиостандарта MPEG1 (называется группировкой в стандарте и используется для уровня 2). Она подробнее поясняется в рамках стандарта ISO/IEC 11172-3:93.
Публикация "Binaural cue coding - Part II: Schemes and applications", авторы C. Faller и F. Baumgarte, IEEE Trans, on Speech and Audio Proc, том 11, номер 6, ноябрь 2003 г., предоставляет определенную информацию о кодировании BCC-параметров. Предлагается, чтобы квантованные ICLD-параметры кодировались дифференциально:
- по частоте, и результат далее кодируется методом Хаффмана (с помощью одномерного кода Хаффмана),
- по времени, и результат далее кодируется методом Хаффмана (с помощью одномерного кода Хаффмана), и
- в завершение, более эффективный вариант выбирается в качестве представления исходного звукового сигнала.
Авторы Bosi M. и др. в публикации "ISO/IEC MPEG-2 Advanced audio coding" Journal of the Audio Engineering Society, том 45, номер 10, стр. 789-812 предлагают группировку и перемежение параметров перед их кодированием методом Хаффмана.
Патентная заявка (США) 5528628 относится к кодированию с переменной длиной входных символов с помощью множества кодовых таблиц переменной длины. Одна последовательность символов кодируется с помощью различных кодеров переменной длины или кодеров Хаффмана, имеющих различные кодовые таблицы. Решение о том, какое кодированное представление должно быть передано, в итоге принимается в зависимости от результирующей длины кода.
Патентная заявка (Европа) 1047198 A3 предлагает аналогичный подход, дополнительно использующий только таблицы кодирования с абсолютными значениями.
Авторы Shen-Chuan Tai и др. в публикации "An adaptive 3-D discrete cosine transform coder for medical image compression" IEEE Transactions on Information Technology in Biomedicine, том 4, номер 3, стр. 259-263 предлагают способ кодирования данных двумерных изображений с помощью алгоритма кодирования, изначально разработанного для того, чтобы кодировать трехмерную информацию. В предлагаемом способе методика сегментации, основанная на модуле локальной энергии, используется для того, чтобы сегментировать субблоки изображения на различные энергетические уровни. Данные субблоки с одинаковым энергетическим уровнем затем собираются, чтобы сформировать трехмерный кубоид. После этого три-DCT используется для того, чтобы сжимать трехмерный кубоид по отдельности.
Авторы Faller C и др. в публикации "Binaural Cue Coding - Part II: Schemes and Applications", IEEE Transactions on Speech and Audio Processing, том 11, номер 6, октябрь 2003 г., стр. 520-531 предлагают дифференциальное кодирование в направлении времени и частоты до кодирования Хаффмана. В завершение, выбирается дифференциальное представление, приводящее к меньшей скорости передачи битов.
Как указано выше, было предложено оптимизировать производительность посредством применения дифференциального кодирования по частоте и, альтернативно, по времени и выбрать более эффективный вариант. Выбранный вариант после этого сообщается в декодер посредством некоторой дополнительной информации.
Предпринимались определенные усилия для того, чтобы уменьшить размер звукового канала понижающего микширования и соответствующей дополнительной информации. Несмотря на это, достижимые скорости передачи битов по-прежнему слишком высокие, чтобы учитывать все возможные варианты применения. Например, потоковая передача аудио- и видеосодержимого на мобильные телефоны требует минимально возможных скоростей передачи битов и, следовательно, более эффективного кодирования содержимого.
Сущность изобретения
Цель настоящего изобретения заключается в том, чтобы предоставить усовершенствованную идею кодирования, достигающую сжатие без потерь значений параметров с более высокой эффективностью.
В соответствии с первым аспектом настоящего изобретения эта цель достигается посредством блока сжатия для сжатия параметров, при этом параметры включают в себя первый набор параметров, включающий в себя представление первой части исходного сигнала, при этом параметры дополнительно включают в себя второй набор параметров, включающий в себя представление второй части исходного сигнала, причем вторая часть является смежной с первой частью, содержащего: блок поставки для предоставления первого кортежа и второго кортежа, при этом каждый кортеж имеет, по меньшей мере, два параметра, первый кортеж имеет два параметра из первого набора параметров, а второй кортеж имеет один параметр из первого набора параметров и один параметр из второго набора параметров; блок оценки битов для оценки числа битов, требуемых для того, чтобы кодировать наборы параметров с помощью первой последовательности кортежей, включающей в себя первый кортеж, и кодировать наборы параметров с помощью второй последовательности кортежей, включающей в себя второй кортеж, на основе правила кодирования; и блок предоставления для предоставления кодированных блоков, при этом блок предоставления функционирует так, чтобы предоставлять кодированные блоки с помощью последовательности кортежей, приводящей к меньшему числу битов, и для предоставления индикатора последовательности, указывающего последовательность кортежей, из которой извлекаются кодированные блоки.
В соответствии со вторым аспектом настоящего изобретения эта цель достигается посредством декодера для декодирования кодированных блоков параметров, при этом параметры включают в себя первый набор параметров, включающий в себя представление первой части исходного сигнала, при этом параметры дополнительно включают в себя второй набор параметров, включающий в себя представление второй части исходного сигнала, причем вторая часть является смежной с первой частью, и для обработки индикатора последовательности, содержащего: блок распаковки, при этом блок распаковки функционирует так, чтобы сжимать с помощью правила декодирования, зависимого от правила кодирования, используемого для кодирования последовательностей кортежей, кодированный блок параметров, чтобы извлекать последовательность кортежей параметров, причем каждый кортеж имеет, по меньшей мере, два параметра; и формирователь кадров для приема индикатора последовательности, при этом индикатор последовательности указывает используемую последовательность кортежей из ряда различных последовательностей, лежащих в основе кодированного блока, и для формирования наборов параметров с помощью информации используемой последовательности кортежей.
В соответствии с третьим аспектом настоящего изобретения эта цель достигается посредством способа сжатия параметров, при этом параметры включают в себя первый набор параметров, включающий в себя представление первой части исходного сигнала, при этом параметры дополнительно включают в себя второй набор параметров, включающий в себя представление второй части исходного сигнала, причем вторая часть является смежной с первой частью.
В соответствии с четвертым аспектом настоящего изобретения эта цель достигается посредством вычислительной программы, реализующей вышеуказанный способ при выполнении на вычислительной машине.
В соответствии с пятым аспектом настоящего изобретения эта цель достигается посредством способа для декодирования кодированных блоков параметров, при этом параметры включают в себя первый набор параметров, включающий в себя представление первой части исходного сигнала, при этом параметры дополнительно включают в себя второй набор параметров, включающий в себя представление второй части исходного сигнала, причем вторая часть является смежной с первой частью, и для обработки индикатора последовательности.
В соответствии с шестым аспектом настоящего изобретения эта цель достигается посредством вычислительной программы, реализующей вышеуказанный способ при выполнении на вычислительной машине.
В соответствии с седьмым аспектом настоящего изобретения эта цель достигается посредством сжатого представления параметров, при этом параметры включают в себя первый набор параметров, включающий в себя представление первой части исходного сигнала, при этом параметры дополнительно включают в себя второй набор параметров, включающий в себя представление второй части исходного сигнала, причем вторая часть является смежной с первой частью, содержащий: кодированный блок параметров, представляющий используемую последовательность кортежей; и индикатор последовательности, указывающий используемую последовательность кортежей из первой или второй последовательности, лежащей в основе кодированного блока параметров, где первая последовательность включает в себя первый кортеж, имеющий два параметра из первого набора параметров, а вторая последовательность включает в себя второй кортеж, имеющий один параметр из первого набора параметров и один параметр из второго набора параметров.
Настоящее изобретение основано на заключении, что параметры, включающие в себя первый набор параметров представления первой части исходного сигнала и включающие в себя второй набор параметров представления второй части исходного сигнала, могут быть эффективно кодированы, когда параметры скомпонованы в первую последовательность кортежей и вторую последовательность кортежей, при этом первая последовательность кортежей содержит кортежи параметров, имеющие два параметра из одной части исходного сигнала, и при этом вторая последовательность кортежей содержит кортежи параметров, имеющие один параметр из первой части и один параметр из второй части исходного сигнала. Эффективное кодирование может быть достигнуто с помощью блока оценки битов, чтобы оценивать требуемое число битов, чтобы кодировать первую и вторую последовательность кортежей, при этом только последовательность кортежей кодируется, что приводит к меньшему числу битов.
Следовательно, базовый принцип состоит в том, что перекомпонуются параметры, которые должны быть кодированы, например, во времени и частоте, и в завершение используется одна компоновка (последовательность кортежей) параметров для сжатия, что приводит к меньшему числу битов для сжатых параметров.
В одном варианте осуществления настоящего изобретения два набора спектральных параметров, описывающих спектральное представление двух последовательных временных частей исходного сигнала, адаптивно группируются в пары из двух параметров, чтобы повысить эффективность кодирования. Следовательно, с одной стороны, последовательность кортежей формируется с помощью кортежей параметров, состоящих из двух смежных частотных параметров из одной временной части. С другой стороны, вторая последовательность кортежей формируется с помощью кортежей, которые сформированы с помощью первого параметра из первой временной части и соответствующего параметра из второй временной части исходного сигнала. Затем обе последовательности кортежей кодируются с помощью двумерного кода Хаффмана. Две кодированные последовательности кортежей сравниваются по размеру, и кортеж, приводящий к меньшему числу битов, в итоге выбирается для того, чтобы быть переданным. Информация о том, какой вид кортежей использован для того, чтобы сформировать кодированные данные, передается в декодер как дополнительная информация.
Одно преимущество вышеописанного изобретаемого кодера заключается в том, что благодаря группировке параметров в кортежи, состоящие из двух параметров, двумерный код Хаффмана может быть применен для сжатия, что, как правило, приводит к меньшей скорости передачи битов.
Второе преимущество заключается в том, что адаптивная группировка, т.е. идея динамически выбирать между двумя возможными стратегиями группировки в ходе процесса кодирования в результате предоставляет дополнительное снижение скорости передачи битов дополнительной информации.
Выбор между двумя стратегиями группировки только один раз для набора из двух последовательных кадров дополнительно снижает объем необходимой дополнительной информации, поскольку индикатор того, какая стратегия группировки использована в ходе декодирования, должен быть передан только один раз для набора из двух полных последовательных временных кадров.
В дополнительном варианте осуществления изобретения изобретаемый блок сжатия дополнительно содержит дифференциальный кодер, который дифференциально кодирует параметры по времени либо частоте до адаптивной группировки. Это дифференциальное кодирование вместе с адаптивной группировкой и надлежащей таблицей кодирования Хаффмана дополнительно снижает размер дополнительной информации, которая должна быть передана. Два варианта дифференциального кодирования вместе с двумя стратегиями группировки приводят к общему числу в четыре возможных комбинации, дополнительно повышая вероятность нахождения такого правила кодирования, которое приводит к небольшой скорости передачи битов дополнительной информации.
В дополнительном варианте осуществления настоящего изобретения изобретаемая концепция используется для блока распаковки, позволяющего декодировать кодированные блоки параметров и восстанавливать исходные кадры на основе дополнительной информации, сообщающей схему группировки, лежащую в основе кодированных блоков параметров. В преимущественной модификации изобретаемый декодер также обеспечивает декодирование данных, которые не сгруппированы адаптивно, а следовательно, совместимость изобретаемого декодера с существующим оборудованием может быть достигнута.
Краткое описание чертежей
Предпочтительные варианты осуществления настоящего изобретения далее описываются посредством ссылки на прилагаемые чертежи, из которых:
фиг.1 иллюстрирует изобретаемый блок сжатия;
фиг.2 иллюстрирует два варианта адаптивной группировки параметров;
фиг.3 иллюстрирует дополнительные варианты адаптивной группировки параметров;
фиг.4 иллюстрирует схемы дифференциального кодирования;
фиг.5 иллюстрирует изобретаемый декодер;
фиг.6 иллюстрирует многоканальный кодер предшествующего уровня техники.
Подробное описание предпочтительных вариантов осуществления
Фиг.1 иллюстрирует изобретаемый блок 90 сжатия, содержащий блок 100 поставки, блок 102 оценки битов и блок 104 предоставления.
Блок 100 поставки предоставляет первую последовательность кортежей 106a и вторую последовательность кортежей 106b в качестве двух выводов данных. Блок 104 поставки принимает кортежи 106a и 106b по двум из своих входов 108a и 108b данных. Блок оценки битов принимает два кортежа на свои вводы 110a и 110b данных.
Блок 102 оценки битов оценивает число битов, которое вытекает из применения правила кодирования к двум кортежам 106a и 106b. Блок 102 оценки битов выбирает кортеж, приводящий к меньшему числу битов, и передает посредством сигнального вывода 112a то, приводит ли кортеж 106a или 106b к меньшему числу битов.
На основе решения блока 102 оценки битов кортеж, приводящий к меньшему числу битов, в итоге кодируется на кодированные блоки 118, которые предоставляют посредством вывода 120a блока 104 предоставления, при этом блок предоставления дополнительно сообщает индикатор последовательности по своей сигнальной линии 120b, указывающий, какая исходная последовательность кортежей (106a или 106b) закодирована, чтобы извлечь кодированные блоки 118.
В альтернативном варианте осуществления та же функциональность может быть достигнута, когда подчеркнутые пунктиром соединения 122a и 122b между блоком 100 поставки и блоком 104 предоставления опущены. В этом альтернативном сценарии блок 102 оценки битов должен закодировать последовательность кортежей 106a и 106b и должен передать два различных кодированных блока 124a и 124b в блок 104 предоставления, при этом блок предоставления дополнительно сообщает, из какой из исходных последовательностей кортежей 106a и 106b извлечены кодированные блоки 124a и 124b. С этой целью сигнальный вывод 112a блока 102 оценки битов может быть использован, либо служебные сигналы могут быть извлечены блоком 104 предоставления неявно.
В этом альтернативном варианте осуществления блок 104 предоставления должен просто перенаправить кодированный блок с меньшим числом битов на свой вывод 120a, дополнительно предоставляя индикатор последовательности.
Фиг.2 иллюстрирует пример двух схем адаптивной группировки, которые используются для того, чтобы извлекать последовательность кортежей, которая должна быть закодирована. Чтобы пояснить принцип изобретаемой адаптивной группировки, четыре последовательных временных кадра 130a-130d исходного сигнала показаны, при этом каждый из кадров имеет набор из пяти спектральных параметров 132a-132e.
Согласно настоящему изобретению спектральные параметры двух последовательных кадров группируются либо по частоте, как проиллюстрировано посредством кортежей 134a и 134b, либо по времени, как проиллюстрировано посредством кортежей 136a и 136b, чтобы сформировать последовательности кортежей. Группировка во времени приводит к первой последовательности кортежей, тогда как группировка по частоте приводит ко второй последовательности кортежей 140.
Последовательности кортежей 138 и 140 кодируются с помощью, например, таблицы кодирования Хаффмана, приводя к двум различным последовательностям кодовых слов 142 и 144. Согласно настоящему изобретению последовательность кодовых слов, приводящая к меньшему числу битов, в итоге передается в декодер, который должен дополнительно принять индикатор последовательности, указывающий то, временная группировка или частотная группировка лежит в основе последовательности кодовых слов. Как можно видеть на фиг.2, для показанного примера адаптивной группировки пар параметров (двумерной) индикатор группировки может состоять только из одного отдельного бита.
Фиг.3 иллюстрирует некоторые альтернативные стратегии группировки, которые могут быть использованы для того, чтобы реализовать изобретаемую адаптивную группировку, предоставляющие использование кодов Хаффмана с размерностями больше 2.
Фиг.3 иллюстрирует стратегию группировки для двумерного кода Хаффмана, для трехмерного кода 146b Хаффмана и для четырехмерного кода 146c Хаффмана. Для каждой из стратегий два последовательных временных кадра проиллюстрировано, при этом параметры, принадлежащие к одному кортежу, представлены одинаковыми заглавными буквами.
В случае двумерного кода Хаффмана группировка осуществляется так, как уже проиллюстрировано на фиг.2, формируя двумерные кортежи по частоте 148a и по времени 148b. В случае формирования кортежей, состоящих из трех параметров, частотные кортежи 158a таковы, что три соседних частотных параметра в рамках одного кадра группируются так, чтобы сформировать кортеж. Временные кортежи 150b могут быть сформированы таким образом, что два соседних параметра из одного кадра комбинируются с одним параметром из другого кадра, как проиллюстрировано на фиг.3.
Четырехмерные частотные сгруппированные кортежи 152a формируются, соответствующие другими частотным кортежам, посредством группировки соседних параметров одного кадра в один кортеж. Временные сгруппированные кортежи 152b формируются таким образом, что два соседних параметра одного кадра комбинируются с двумя соседними параметрами другого кадра, при этом пары параметров одних кадров описывают одинаковое спектральное свойство двух последовательных временных кадров.
С учетом различных схем группировки, проиллюстрированных на фиг.3, можно существенно снижать скорость передачи битов дополнительной информации, например, если используется множество заранее заданных таблиц кодирования Хаффмана различных размерностей, размерность группировки может варьироваться в ходе процесса кодирования так, что представление, приводящее к наименьшей скорости передачи битов, может быть использовано в любое время в ходе процесса кодирования.
Фиг.4 иллюстрирует то, как изобретаемый блок сжатия, который дополнительно содержит дифференциальный кодер, может быть использован для того, чтобы дополнительно сократить дополнительную информацию, посредством применения определенного дифференциального кодирования до процесса кодирования Хаффмана.
Чтобы проиллюстрировать дифференциальное кодирование по времени и частоте или по частоте и времени, то же абсолютное представление параметров 160, которое уже проиллюстрировано на фиг.2, используется в качестве основы для различных этапов дифференциального кодирования. Первый вариант заключается в том, чтобы дифференциально закодировать параметры абсолютного представления 160 по частоте, приводя к дифференциально кодированным параметрам 162. Как можно видеть на фиг.4, чтобы дифференциально закодировать абсолютное представление 160, первый параметр каждого кадра остается неизменным, тогда как второй параметр заменяется посредством разности второго параметра и первого параметра абсолютного представления 160. Другие параметры в дифференциально закодированного представления формируются на основе этого же правила.
Другим вариантом является дифференциальное кодирование по времени, приводящее к представлению 164. Это представление формируется посредством оставления полного первого кадра неизменным, тогда как параметры следующих кадров заменяются посредством разности параметра абсолютного представления и такого же параметра предыдущего кадра, как можно видеть на фиг.4.
Третий вариант заключается в том, что сначала выполнить дифференциальное кодирование по частоте, а затем по времени, или наоборот, оба случая приводят к одному кодированному представлению 166, которое дифференциально кодировано по времени и частоте.
Следует отметить, что есть возможность использовать эти четыре различных представления исходного сигнала в качестве входа в адаптивную группировку. Проанализировав различные представления 160-166 данного примера параметров, можно четко увидеть, как дифференциальное кодирование влияет на скорость передачи дополнительной информации. При рассмотрении абсолютного представления 160 можно заметить, что группировка ни по времени, ни по частоте не приводит к кортежам, имеющим одинаковое содержимое. Следовательно, невозможно составить надлежащую таблицу кодирования Хаффмана, которая должна назначать наиболее короткие кодовые слова кортежам, встречающимся чаще всего.
Заметно другое при анализе дифференциально кодированного по частоте представления 162, в котором можно составить таблицу кодирования Хаффмана, которая должна иметь только четыре записи, чтобы охватить полное представление, и в котором кортежу (1, 1) или кортежу (2, 2) должно быть назначено кодовое слово минимальной длины, чтобы добиться компактной дополнительной информации.
Это преимущество менее очевидно в представлении 164, дифференциально кодированном по времени. Тем не менее, можно получить выгоду и здесь, группируя по частоте и используя множественные кортежи (5, 5) и (10, 10).
Для представления 166, которое дифференциально кодировано по времени и частоте, можно даже достичь большего уменьшения скорости передачи битов дополнительной информации, чем в представлении 162, поскольку группировка по времени приводит к высокой множественности кортежа (1, 0), как показано на чертеже, позволяя составить таблицу кодирования Хаффмана, которая должна назначить наиболее короткое кодовое слово предыдущему кортежу.
Как можно четко видеть на фиг.4, высокая гибкость изобретаемой концепции, использующей адаптивную группировку и дифференциальное кодирование, позволяет выбирать стратегию, которая в наибольшей степени соответствует исходному звуковому сигналу, тем самым позволяя поддерживать низкой скорость передачи битов дополнительной информации.
Обобщая, в одном предпочтительном варианте осуществления квантованные значения параметров сначала дифференциально кодируются по времени (вариант 1) и дифференциально по частоте (вариант 2). Результирующие параметры затем могут быть сгруппированы адаптивно по времени (вариант a) и частоте (вариант b). Как результат, четыре комбинации доступны (1a, 1b, 2a, 2b), из которых оптимальная выбирается и сообщается в декодер. Это может осуществляться посредством только двух битов информации, представляя варианты 1a, 1b, 2a, 2b, например, посредством комбинации битов 00, 01, 10, 11.
Фиг.5 иллюстрирует декодер согласно настоящему изобретению, чтобы декодировать кодированные блоки параметров, при этом блок параметров включает в себя первый кадр, имеющий набор первых спектральных параметров, и второй кадр, имеющий набор вторых спектральных параметров.
Декодер 200 содержит блок 202 распаковки и формирователь 204 кадров. Блок распаковки принимает на входе кодированный блок параметров 206. Блок распаковки извлекает, с помощью правила декодирования, последовательность кортежей параметров 208 из кодированного блока параметров 206. Эта последовательность кортежей параметров 208 вводится в формирователь 204 кадров.
Формирователь кадров дополнительно принимает индикатор 210 последовательности, указывающий то, какая последовательность кортежей использована кодером для того, чтобы сформировать кодированный блок параметров.
Формирователь 204 кадров после этого переупорядочивает последовательность кортежей 208, управляемых посредством индикатора 210 последовательности, чтобы восстановить первый кадр 112a и второй кадр 112b из последовательности кортежей параметров 208.
Вышеописанные предпочтительные варианты осуществления настоящего изобретения предоставляют дополнительное повышение эффективности кодирования посредством введения адаптивной группировки значений, которые должны быть закодированы, используя многомерный код Хаффмана. В качестве примера, двумерная группировка значений по частоте может быть выполнена, как и двумерная группировка значений по времени. Схема кодирования в таком случае должна осуществлять оба типа кодирования и выбирать более выгодную (т.е. вариант, который требует меньшего числа битов). Это решение сообщается декодеру посредством дополнительной информации.
В дополнительных примерах, как проиллюстрировано на фиг.3, также можно формировать коды Хаффмана большей размерности, применяя различные стратегии группировки для того, чтобы формировать кортежи. Данные примеры показывают стратегии группировки, которые формируют кортежи посредством группировки параметров только из двух последовательных кадров. Также можно осуществлять группировку параметров от трех и более последовательных кадров, выполняя группировку непосредственно.
В модификации изобретаемого кодера также можно комбинировать стратегии дифференциальной группировки с использованием различных таблиц кодирования Хаффмана, чтобы извлекать наиболее короткую возможную презентацию дополнительной информации. Это позволяет дополнительно снизить скорость передачи битов дополнительной информации кодированного звукового сигнала за счет наличия параметров дополнительной информации, сообщения таблицы кодирования Хаффмана, используемой для кодирования.
Описанные предпочтительные варианты осуществления настоящего изобретения показывают изобретаемую концепцию для примеров, где стратегия группировки не изменяется в рамках двух последовательных временных кадров. В модификации настоящего изобретения, разумеется, также можно иметь несколько изменений между группировкой по времени и частоте в наборе из двух кадров, что должно подразумевать то, что индикатор последовательности также предоставляется внутри кадров, чтобы сообщать об изменении стратегии группировки.
В представленных примерах параметры дифференциально кодируются до кодирования методом Хаффмана. Безусловно, любое другое правило кодирования без потерь допускается до кодирования параметров методом Хаффмана, при этом цель кодирования заключается в том, чтобы извлечь максимально возможное количество кортежей в рамках данного содержимого.
Предусмотрено четыре различных возможных представления параметров, показанных на фиг.4, а именно, абсолютное представление, дифференциальное представление по частоте, дифференциальное представление по времени и дифференциальное представление по времени и частоте. Чтобы выбрать между четырьмя представлениями, дополнительная информация, сообщающая то, какое представление использовано, должна иметь размер, по меньшей мере, два бита, как показано на фиг.4. Чтобы уравновесить преимущество возможного повышения эффективности кодирования с дополнительными индикациями спектральных представлений, безусловно, можно также принять такое принципиальное решение, чтобы разрешать только два возможных представления, уменьшая индикатор спектрального представления до длины в один бит.
В качестве примера изобретаемого декодера, фиг.5 иллюстрирует декодер 200, который принимает в дополнение к кодированному блоку параметров 206 определенную дополнительную информацию. Дополнительная информация, управляющая формирователем 204 кадров, содержит только индикатор 210 последовательности в данном примере. Декодер согласно настоящему изобретению, конечно, может обрабатывать любую другую требуемую дополнительную информации, особенно индикатор спектрального представления, показывающий спектральное представление, которое использовано для того, чтобы кодировать исходные кадры.
В зависимости от конкретных требований к реализации изобретаемых способов, изобретаемые способы могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может быть выполнена с помощью цифрового носителя хранения, в частности, диска, DVD или CD, имеющего электронно-читаемые сигналы управления, сохраненные на нем, который взаимодействует с программируемой вычислительной системой, так чтобы выполнялись изобретаемые способы. В общем, настоящее изобретение, таким образом, относится к вычислительному программному продукту с программным кодом, сохраненным на машиночитаемом носителе, при этом программный код функционирует так для осуществления изобретаемых способов, когда вычислительный программный продукт выполняется на вычислительной машине. Другими словами, изобретаемые способы, таким образом, относятся к вычислительной программе, имеющей программный код для осуществления, по меньшей мере, одного из способов, когда вычислительная программа выполняется на вычислительной машине.
Несмотря на то, что вышеизложенное описание подробно показано и пояснено со ссылкой на его конкретный вариант осуществления, специалистам в данной области техники следует понимать, что различные другие изменения по форме и содержанию могут быть сделаны без отступления от духа и области применения изобретения. Необходимо понимать, что различные изменения могут быть сделаны для адаптации к различным вариантам осуществления без отступления от более широких идей, раскрытых в данном документе и охватываемых прилагаемой формулой изобретения.