МАСШТАБИРУЕМЫЙ СЖАТЫЙ БИТОВЫЙ ПОТОК АУДИО И КОДЕК, ИСПОЛЬЗУЮЩИЙ ИЕРАРХИЧЕСКИЙ НАБОР ФИЛЬТРОВ И МНОГОКАНАЛЬНОЕ СОВМЕСТНОЕ КОДИРОВАНИЕ
SCALABLE COMPRESSED AUDIO BIT STREAM AND CODEC USING HIERARCHICAL SET OF FILTERS AND MULTICHANNEL COMPOSITE CODING

Область техники
Данное изобретение относится к масштабируемому кодированию аудио и, в частности, к способам осуществления этого масштабирования скорости передачи данных эффективным образом для многоканальных аудиосигналов, включая иерархическую фильтрацию, совместное кодирование тональных компонентов и совместное канальное кодирование компонентов временной области в остаточном сигнале.
Уровень техники
Главной задачей алгоритма сжатия аудио является создание приемлемого для звукового восприятия представления входного аудиосигнала с использованием как можно меньшего количество битов. Это позволяет доставлять входной аудиосигнал на низкой скорости передачи данных по каналам связи с ограниченной полосой, например Интернету, и сокращать необходимый объем памяти для сохранения входного аудиосигнала с целью последующего воспроизведения. Для этих областей применения, в которых пропускная способность канала связи фиксирована и не изменяется со временем или объем аудиосигнала, измеряемый в минутах, который необходимо хранить, известен заранее и не увеличивается, традиционные методы сжатия аудиосигнала фиксируют скорость передачи данных и, таким образом, уровень качества аудиосигнала во время кодирования со сжатием. Никакого дополнительного снижения скорости передачи данных невозможно добиться без либо записи исходного сигнала на более низкой скорости передачи данных, либо снятия сжатия сжатого аудиосигнала с последующим повторным сжатием этого сигнала со снятым сжатием на более низкой скорости передачи данных. Эти методы не допускают "масштабирования" для решения вопросов переменной пропускной способности канала, сохранения дополнительного контента в фиксированной памяти или создания битовых потоков с переменной скоростью передачи данных для разных применений.
Один метод, используемый для создания битового потока с масштабируемыми характеристиками и обхода вышеописанных ограничений, предусматривает кодирование входного аудиосигнала в виде битового потока с высокой скоростью передачи данных, состоящего из подмножеств битовых потоков с низкой скоростью передачи данных. Эти кодированные битовые потоки с низкой скоростью передачи данных можно извлекать из кодированного сигнала и объединять для обеспечения выходного битового потока, скорость передачи данных которого можно регулировать в широком диапазоне скоростей передачи данных. Один подход к реализации этой идеи состоит в том, что нужно сначала кодировать данные на наименьшей поддерживаемой скорости передачи данных, затем кодировать ошибку между исходным сигналом и декодированной версией этого битового потока с минимальной скоростью передачи данных. Эта кодированная ошибка сохраняется и также объединяется с битовым потоком с наименьшей поддерживаемой скоростью передачи данных для создания битового потока со второй после минимальной скоростью передачи данных. Ошибка между исходным сигналом и декодированной версией этого сигнала со второй после минимальной скоростью передачи данных кодируется, сохраняется и прибавляется к битовому потоку со второй после минимальной скоростью передачи данных для формирования битового потока с третьей после минимальной скоростью передачи данных и т.д. Этот процесс повторяется до тех пор, пока сумма скоростей передачи данных, связанных с битовыми потоками каждого из полученных таким образом ошибочных сигналов, и скорости передачи данных битового потока с наименьшей поддерживаемой скоростью передачи данных не станет равной наивысшей поддерживаемой скорости передачи данных битового потока. Окончательный масштабируемый битовый поток с высокой скоростью передачи данных состоит из битового потока с минимальной скоростью передачи данных и всех кодированных ошибочных битовых потоков.
Второй метод, обычно используемый для поддержки небольшого количества разных скоростей передачи данных между сильно отличающимися минимальной и максимальной скоростями передачи данных, предусматривает использование более одного алгоритма сжатия для создания "многоуровневого" масштабируемого битового потока. Устройство, осуществляющее операцию масштабирования на кодированном таким образом битовом потоке, выбирает в зависимости от необходимой скорости передачи данных на входе, какой из множественных битовых потоков, переносимых в многоуровневом битовом потоке, использовать в качестве кодированного выходного аудиосигнала. Для повышения эффективности кодирования и расширения диапазона масштабированных скоростей передачи данных данные, переносимые в битовых потоках более низкой скорости, могут использоваться битовыми потоками с более высокой скоростью передачи данных для формирования дополнительных битовых потоков повышенного качества с более высокой скоростью передачи данных.
Сущность изобретения
Настоящее изобретение предусматривает способ кодирования входных аудиосигналов для формирования главного битового потока, который можно масштабировать для формирования масштабированного битового потока, имеющего произвольно предписанную скорость передачи данных, и для декодирования масштабированного битового потока для реконструкции аудиосигналов.
Это обычно осуществляется путем сжатия входных аудиосигналов и упорядочения их для формирования главного битового потока. Главный битовый поток включает в себя квантованные компоненты, которые ранжируются на основании их относительного вклада в качество декодированного сигнала. Входной сигнал надлежащим образом сжимается путем разделения его на совокупность тональных и остаточных компонентов с последующим ранжированием и квантованием компонентов. Разделение надлежащим образом осуществляется с использованием иерархического набора фильтров. Компоненты надлежащим образом ранжируются и квантуются на основе некоторой маскировочной функции или разных психоакустических критериев. Затем компоненты можно упорядочивать на основании их рангов для облегчения эффективного масштабирования. Главный битовый поток масштабируется путем устранения достаточного количества компонентов низкого ранга для формирования масштабированного битового потока, имеющего масштабированную скорость передачи данных, меньшую или приблизительно равную нужной скорости передачи данных. Масштабированный битовый поток включает в себя информацию, которая указывает позицию компонентов в частотном спектре. Масштабированный битовый поток надлежащим образом декодируется с использованием обратного иерархического набора фильтров путем упорядочения квантованных компонентов на основании информации позиции, игнорирования недостающих компонентов и декодирования упорядоченных компонентов для создания выходного битового потока.
В одном варианте осуществления кодер использует иерархический набор фильтров для разложения входного сигнала во временное/частотное представление с множественными уровнями разрешения. Кодер извлекает тональные компоненты при каждой итерации ИНФ на разных уровнях разрешения по частоте, удаляет эти тональные компоненты из входного сигнала для передачи остаточного сигнала на следующую итерацию ИНФ и затем извлекает остаточные компоненты из окончательного остаточного сигнала. Тональные компоненты группируются в, по меньшей мере, одну частотную подобласть для каждого разрешения по частоте и ранжируются согласно их психоакустической значимости для качества кодированного сигнала. Остаточные компоненты включают в себя компоненты временной выборки (например, сетку G) и компоненты масштабного коэффициента (например, сетки G0, G1), которые изменяют компоненты временной выборки. Компоненты временной выборки группируются в, по меньшей мере, одну подобласть временных выборок и ранжируются согласно их вкладу в качество декодированного сигнала.
На декодере обратный иерархический набор фильтров можно использовать для извлечения как тональных компонентов, так и остаточных компонентов в одной эффективной структуре набора фильтров. Все компоненты подвергаются обратному квантованию, и остаточный сигнал реконструируется путем применения масштабных коэффициентов к временным выборкам. Частотные выборки реконструируются и добавляются к реконструированным временным выборкам для создания выходного аудиосигнала. Заметим, что обратный иерархический набор фильтров можно использовать на декодере независимо от того, использовался ли иерархический набор фильтров в процессе кодирования.
В иллюстративном варианте осуществления выбранные тональные компоненты в многоканальном аудиосигнале кодируются с использованием дифференциального кодирования. Для каждого тонального компонента один канал выбирается в качестве первичного канала. Номер канала для первичного канала и его амплитуда и фаза сохраняются в битовом потоке. Сохраняется битовая маска, которая указывает, какие из других каналов включают в себя указанный тональный компонент и поэтому должны кодироваться как вторичные каналы. Разность между первичными и вторичными амплитудами и фазами затем подвергается энтропийному кодированию и сохраняется для каждого вторичного канала, в котором присутствует тональный компонент.
В иллюстративном варианте осуществления компоненты временной выборки и масштабного коэффициента, образующие остаточный сигнал, кодируются с использованием совместного канального кодирования (СКК, ICC), распространенного на многоканальный аудиосигнал. Процесс группирования каналов сначала определяет, какие из множественных каналов можно совместно кодировать, и все каналы объединяются в группы, причем последняя группа может быть неполной.
Дополнительные задачи, признаки и преимущества настоящего изобретения включены в нижеследующее описание иллюстративных вариантов осуществления, снабженное прилагаемыми чертежами. Хотя эти иллюстративные варианты осуществления относятся к аудиоданным, следует понимать, что аналогичным образом можно обрабатывать видео, мультимедийные и другие типы данных.
Краткое описание чертежей
Фиг.1 - блок-схема кодера масштабируемого битового потока, в котором используется топология остаточного кодирования согласно настоящему изобретению.
Фиг.2a и 2b - частотное и временное представления вырезающей функции Шмунка, используемой в иерархическом наборе фильтров.
Фиг.3 - схема иерархического набора фильтров для обеспечения временного/частотного представления с множественными уровнями разрешения входного сигнала, из которого можно извлекать тональные и остаточные компоненты, согласно настоящему изобретению.
Фиг.4 - блок-схема этапов, связанных с иерархическим набором фильтров.
Фиг.5a-5c - иллюстрируют вырезание методом 'суммирования с перекрытием'.
Фиг.6 - график частотной характеристики иерархического набора фильтров.
Фиг.7 - блок-схема иллюстративной реализации набора фильтров иерархического анализа, используемого в кодере.
Фиг.8a и 8b - упрощенная блок-схема 3-каскадного иерархического набора фильтров и более подробная блок-схема одного каскада.
Фиг.9 - битовая маска для распространения дифференциального кодирования тональных компонентов на многоканальный аудиосигнал.
Фиг.10 - подробная схема варианта осуществления остаточного кодера, используемого согласно варианту осуществления кодера, отвечающего настоящему изобретению.
Фиг.11 - блок-схема совместного канального кодирования многоканального аудиосигнала.
Фиг.12 - схематическое представление масштабируемого кадра данных, создаваемого кодером масштабируемого битового потока, отвечающим настоящему изобретению.
Фиг.13 - подробная блок-схема одной реализации декодера, используемого в настоящем изобретении.
Фиг.14 - схема обратного иерархического набора фильтров для реконструкции данных, изменяющихся во времени, из компонентов временной выборки и частотных компонентов согласно настоящему изобретению.
Фиг.15 - блок-схема иллюстративной реализации обратного иерархического набора фильтров.
Фиг.16 - блок-схема объединения тональных и остаточных компонентов с использованием обратного иерархического набора фильтров в декодере.
Фиг.17a и 17b - упрощенная блок-схема 3-каскадного обратного иерархического набора фильтров и более подробная блок-схема одного каскада.
Фиг.18 - подробная блок-схема остаточного декодера.
Фиг.19 - таблица отображения G1.
Фиг.20 - таблица поправочных коэффициентов для синтеза базовой функции.
Фиг.21 и 22 - функциональные блок-схемы кодера и декодера, соответственно, иллюстрирующие применение временного/частотного представления с множественными уровнями разрешения для иерархического набора фильтров в аудиокодере/декодере.
Описание иллюстративных вариантов осуществления
Настоящее изобретение предусматривает способ сжатия и кодирования входных аудиосигналов для формирования главного битового потока, который можно масштабировать для формирования масштабированного битового потока, имеющего произвольно предписанную скорость передачи данных, и для декодирования масштабированного битового потока для реконструкции аудиосигналов. Иерархический набор фильтров (ИНФ) обеспечивает временное/частотное представление с множественными уровнями разрешения входного сигнала, из которого кодер может эффективно извлекать тональные и остаточные компоненты. Для многоканального аудиосигнала реализуется совместное кодирование тональных компонентов и совместное канальное кодирование остаточных компонентов в остаточном сигнале. Компоненты ранжируются на основании их относительного вклада в качество декодированного сигнала и квантуются на основании маскировочной функции. Главный битовый поток масштабируется путем устранения достаточного количества компонентов низкого ранга для формирования масштабированного битового потока, имеющего масштабированную скорость передачи данных, меньшую или приблизительно равную нужной скорости передачи данных. Масштабированный битовый поток надлежащим образом декодируется с использованием обратного иерархического набора фильтров путем упорядочения квантованных компонентов на основании информации позиции, игнорирования недостающих компонентов и декодирования упорядоченных компонентов для создания выходного битового потока. В одном возможном применении главный битовый поток сохраняется и затем масштабируется в сторону понижения к нужной скорости передачи данных для записи на другие носители или для передачи по каналу с ограниченной полосой. В другом применении, в котором множественные масштабированные битовые потоки сохраняются на носителе, скорость передачи данных каждого потока независимо и динамически регулируется для максимизации воспринимаемого качества с учетом ограничения совокупной скорости передачи данных на всех битовых потоках.
Используемые здесь термины "область", "подобласть" и "компонент" описывают иерархию масштабируемых элементов в битовом потоке. Примеры включают в себя:
Область
Подобласть
Компонент
тональная
преобразование с 1024-точечным разрешением (4 подкадра)
Тональный компонент (фаза/амплитуда/позиция)
Остаточные сетки масштабного коэффициента
Сетка 1
Масштабный коэффициент в сетке 1
Остаточные поддиапазоны
Набор всех временных выборок в поддиапазоне 3
Каждая временная выборка в поддиапазоне 3
Кодер масштабируемого битового потока с топологией остаточного кодирования
Согласно фиг.1 в иллюстративном варианте осуществления кодер масштабируемого битового потока использует топологию остаточного кодирования для масштабирования битового потока к произвольной скорости передачи данных путем избирательного устранения компонентов самого низкого ранга из основных (тональных компонентов) и/или остаточных компонентов (временной выборки и масштабного коэффициента). Кодер использует иерархический набор фильтров для эффективного разложения входного сигнала во временное/частотное представление с множественными уровнями разрешения, из которого кодер может эффективно извлекать тональные и остаточные компоненты. Описанный здесь иерархический набор фильтров (ИНФ) для обеспечения временного/частотного представления с множественными уровнями разрешения можно использовать во многих других применениях, в которых нужно такое представление входного сигнала. Ниже приведено общее описание иерархического набора фильтров и его конфигурации для использования в аудиокодере, а также модифицированного ИНФ, используемого в конкретном аудиокодере.
Входной сигнал 100 поступает на блок 101 вычисления маскирования и блок 102 извлечения тонов множественных порядков. Блок 101 вычисления маскирования анализирует входной сигнал 100 и идентифицирует уровень маскирования как функцию частоты, ниже которой частоты, присутствующие во входном сигнале 100, не слышны человеческому уху. Блок 102 извлечения тонов множественных порядков идентифицирует частоты, присутствующие во входном сигнале 100, с использованием, например, множественных перекрывающихся БПФ или показанного иерархического набора фильтров на основании МДКП, которые отвечают психоакустическим критериям, которые были заданы для тонов, выбирает тоны согласно этим критериям, квантует компоненты амплитуды, частоты, фазы и позиции этих выбранных тонов и помещает эти тоны в список тонов. При каждой итерации или на каждом уровне выбранные тоны удаляются из входного сигнала для передачи остаточного сигнала вперед. По завершении все остальные частоты, которые не удовлетворяют критериям для тонов, извлекаются из входного сигнала и выводятся из блока 102 извлечения тонов множественных порядков, конкретно - последнего каскада иерархического набора фильтров МДКП(256), во временной области, согласно линии 111 в качестве окончательного остаточного сигнала.
Блок 102 извлечения тонов множественных порядков использует, например, пять порядков перекрывающихся преобразований начиная с наибольшего и далее вниз, к наименьшему, для обнаружения тонов с использованием базовой функции. Используются, соответственно, преобразования размерами 8192, 4096, 2048, 1024 и 512 для аудиосигнала с частотой дискретизации 44100 Гц. Можно выбирать и другие размеры преобразования. На фиг.7 графически показано, как преобразования перекрываются друг с другом. Базовая функция задана уравнениями
A
Амплитуда
i
i
i
i
i
i+1
i+1
i+1
i+1
где ==(Re·Re + Im·Im) - (Re·Re+Im·Im)
t=
t
N
время (∈ - положительное целочисленное значение)
l
l
=размер преобразования как степень 2 ( ∈ 512, 1024,..., 8192)
=
φфаза
f
=частота
Тоны, обнаруженные при каждом размере преобразования, локально декодируются с использованием того же процесса декодирования, который используется декодером, отвечающим настоящему изобретению, который описан ниже. Эти локально декодированные тоны подвергаются обращению фазы и объединяются с исходным входным сигналом посредством суммирования во временной области для формирования остаточного сигнала, который поступает на следующую(ий) итерацию или уровень ИНФ.
Уровень маскирования из блока 101 вычисления маскирования и список тонов из блока 102 извлечения тонов множественных порядков поступают на блок 103 выбора тонов. Блок 103 выбора тонов сначала сортирует список тонов, поступивший ему от блока 102 извлечения тонов множественных порядков, по относительной мощности сверх уровня маскирования, обеспеченного блоком 101 вычисления маскирования. Затем он использует итерационный процесс для определения, какие тональные компоненты попадут в кадр кодированных данных в главном битовом потоке. Свободное место, доступное в кадре для тональных компонентов, зависит от заранее, до масштабирования, определенной скорости передачи данных кодированного главного битового потока. Если для тональных компонентов выделяется весь кадр, то остаточное кодирование не осуществляется. В общем случае некоторая часть доступной скорости передачи данных выделяется для тональных компонентов, а остаток (за минусом служебной нагрузки) резервируется для остаточных компонентов.
Группы каналов надлежащим образом выбираются для многоканальных сигналов и первичных/вторичных каналов, идентифицированных в каждой группе каналов согласно метрике, например вкладу в воспринимаемое качество. Выбранные тональные компоненты предпочтительно сохраняются с использованием дифференциального кодирования. Для стереоаудиосигнала двухбитовое поле указывает первичный и вторичные каналы. Амплитуда/фаза и дифференциальная амплитуда/фаза сохраняются для первичного и вторичных каналов, соответственно. Для многоканального аудиосигнала первичный канал сохраняется со своими амплитудой и фазой, и битовая маска (см. фиг.9) сохраняется для всех вторичных каналов с дифференциальной амплитудой/фазой для включенных вторичных каналов. Битовая маска указывает, какие другие каналы кодируются совместно с первичным каналом, и сохраняется в битовом потоке для каждого тонального компонента в первичном канале.
В ходе этого итерационного процесса некоторые или все тональные компоненты, относительно которых определено, что они не попадают в кадр, могут преобразовываться обратно во временную область и объединяться с остаточным сигналом 111. Если, например, скорость передачи данных достаточно высока, то обычно все тональные компоненты, выбор которых отменен, восстанавливаются. Если же скорость передачи данных низка, относительно сильные тональные компоненты, выбор которых отменен, надлежащим образом остаются вне остатка. Выяснилось, что это повышает воспринимаемое качество на более низких скоростях передачи данных. Тональные компоненты, выбор которых отменен, представленные сигналом 110, локально декодируются локальным декодером 104 для преобразования их обратно во временную область на линии 114 и объединяются с остаточным сигналом 111 из блока 102 извлечения тонов множественных порядков в объединителе 105 для формирования объединенного остаточного сигнала 113. Заметим, что сигналы, появляющиеся на 114 и 111, являются сигналами временной области, поэтому на этот процесс объединения можно легко влиять. Объединенный остаточный сигнал 113 дополнительно обрабатывается остаточным кодером 107.
Первое действие, осуществляемое остаточным кодером 107, состоит в обработке объединенного остаточного сигнала 113 посредством набора фильтров, который делит сигнал на критически дискретизируемые частотные поддиапазоны временной области. В предпочтительном варианте осуществления, когда иерархический набор фильтров используется для извлечения тональных компонентов, эти компоненты временной выборки можно считывать непосредственно из иерархического набора фильтров, что исключает необходимость во втором наборе фильтров, предназначенном для обработки остаточного сигнала. В этом случае, согласно фиг.21, объединитель 104 действует на выходе последнего каскада иерархического набора фильтров (МДКП(256)) для объединения декодированных тональных компонентов 114, выбор которых отменен, с остаточным сигналом 111 до вычисления ОМДКП 2106, в результате чего получаются временные выборки поддиапазона (см. также фиг.7 этапы 3906, 3908 и 3910). Затем осуществляется дополнительное разложение, квантование и упорядочение этих поддиапазонов в порядке психоакустической значимости. Остаточные компоненты (временные выборки и масштабные коэффициенты) надлежащим образом кодируются с использованием совместного канального кодирования, в котором временные выборки представлены посредством сетки G и масштабные коэффициенты - посредством сеток G0 и G1 (см. фиг.11). Для совместного кодирования остаточного сигнала используются частичные сетки, применяемые к группам каналов, которые представляют отношение энергий сигналов между первичным каналом и группами вторичных каналов. Группы выбираются (динамически или статически) посредством взаимных корреляций или других метрик. В качестве первичного канала можно объединять и использовать более одного канала (например, L+R - первичный, C - вторичный). Использование частичных сеток масштабного коэффициента G0, G1 во временном/частотном измерении является инновацией применительно к этим многоканальным группам, и с данным первичным каналом можно связывать более одного вторичного канала. Отдельные элементы сетки и временные выборки ранжируются по частоте, причем более низкие частоты получают более высокий ранг. Сетки ранжируются согласно битовой скорости. Информация вторичного канала ранжируется с более низким приоритетом, чем информация первичного канала.
Генератор 108 кодовых строк принимает сигнал от блока 103 выбора тонов по линии 120 и от остаточного кодера 107 - по линии 122 и кодирует значения этих двух входных сигналов с использованием энтропийного кодирования, известного из уровня техники, в битовый поток 124. Блок 109 форматирования битового потока удостоверяется в том, что эти психоакустические элементы из блока 103 выбора тонов и остаточного кодера 107 после кодирования на генераторе 108 кодовых строк оказываются в надлежащей позиции в главном битовом потоке 126. 'Ранги' неявно включаются в главный битовый поток путем упорядочения разных компонентов.
Блок масштабирования 115 устраняет достаточное количество кодированных компонентов самого низкого ранга из каждого кадра главного битового потока 126, вырабатываемого кодером для формирования масштабированного битового потока 116, имеющего скорость передачи данных, меньшую или приблизительно равную нужной скорости передачи данных.
Иерархический набор фильтров
Блок 102 извлечения тонов множественных порядков предпочтительно использует 'модифицированный' иерархический набор фильтров для обеспечения представления с множественными разрешениями по времени/частоте, из которого можно эффективно извлекать тональные компоненты остаточные компоненты. ИНФ выполняет декомпозицию входного сигнала на коэффициенты преобразования при последовательно более низком разрешении по частоте и обратно в выборки поддиапазона временной области при последовательно более высоком разрешении по времени на каждой последующей итерации. Тональные компоненты, генерируемые иерархическим набором фильтров, в точности совпадают с генерируемыми множественными перекрывающимися БПФ, однако вычислительная нагрузка гораздо ниже. Иерархический набор фильтров решает проблему моделирования неодинакового разрешения по времени/частоте системы слухового восприятия человека за счет одновременного анализа входного сигнала с разными разрешениями по времени/частоте для достижения почти произвольного временного/частотного разложения. Иерархический набор фильтров использует этап вырезания посредством «окна» и суммирования с перекрытием во внутреннем преобразовании, не найденном в известных разложениях. Этот этап и новая конструкция этой вырезающей функции допускает итерацию этой структуры в произвольном дереве для получения нужного разложения и может осуществляться в режиме адаптации к сигналу.
Согласно фиг.21 одноканальный кодер 2100 извлекает тональные компоненты из коэффициентов преобразования при каждой итерации 2101a, …, 2101e, квантует и сохраняет извлеченные тональные компоненты в списке 2106 тонов. Совместное кодирование тонов и остаточных сигналов для многоканальных сигналов рассмотрено ниже. При каждой итерации, входной сигнал временной области (остаточный сигнал) вырезается 2107 посредством «окна», и N-точечное МДКП применяется 2108 для создания коэффициентов преобразования. Тоны извлекаются 2109 из коэффициентов преобразования, квантуются 2110 и добавляются в список тонов. Выбранные тональные компоненты локально декодируются 2111 и вычитаются 2112 из коэффициентов преобразования до осуществления обратного преобразования 2113 для генерации выборок поддиапазона временной области, которые образуют остаточный сигнал 2114 для следующей итерации ИНФ. Окончательное обратное преобразование 2115 с относительно более низким разрешением по частоте, чем в окончательной итерации ИНФ, осуществляется на окончательном объединенном остатке 113 и вырезается 2116 для извлечения остаточных компонентов G 2117. Как описано выше, любые тоны, выбор которых отменен, локально декодируются 104 и объединяются 105 с остаточным сигналом 111 до вычисления окончательного обратного преобразования. Остаточные компоненты включают в себя компоненты временной выборки (сетка G) и компоненты масштабного коэффициента (сетка G0, G1), которые извлекаются из сетки G на этапах 2118 и 2119. Сетка G повторно вычисляется 2120 и сетки G и G1 квантуются 2121, 2122. Вычисление сеток G, G1 и G0 описано ниже. Квантованные тоны в списке тонов, сетка G и сетка масштабного коэффициента G1 кодируются и помещаются в главный битовый поток. Удаление выбранных тонов из входного сигнала на каждой итерации и вычисление окончательного обратного преобразования являются модификациями, налагаемыми на ИНФ аудиокодером.
Основной проблемой кодирования аудиосигнала является моделирование разрешения по времени/частоте человеческого восприятия. Переходные сигналы, например аплодисменты, требуют высокого разрешения во временной области, тогда как гармонические сигналы, например звук рожка, требуют высокого разрешения в частотной области для точного представления кодированным битовым потоком. Согласно общеизвестному принципу, разрешения по времени и частоте являются обратными друг другу величинами, и не существует единого преобразования, которое может одновременно обеспечить высокую точность в обеих областях. Конструкция эффективного аудиокодека требует соблюдения компромисса между разрешением по времени и частоте.
Известные решения этой проблемы используют переключение вырезающих функций, адаптацию размера преобразования к переходному характеру входного сигнала (см. K. Brandenburg и др., "The ISO-MPEG-Audio Codec: A Generic Standard for Coding of High Quality Digital Audio", Journal of Audio Engineering Society, т. 42, № 10, октябрь, 1994). Эта адаптация размера окна анализа вносит дополнительную сложность и требует обнаружения переходных событий во входном сигнале. Чтобы справиться со сложными расчетами, известные методы переключения вырезающих окно функций обычно ограничивают количество разных размеров окна до двух. Рассмотренный здесь иерархический набор фильтров позволяет избежать этой грубой регулировки характеристик сигнала/звучания за счет представления/обработки входного сигнала посредством набора фильтров, который обеспечивает одновременно множественные разрешения по времени/частоте.
Существует много наборов фильтров, известных как гибридные наборы фильтров, которые разлагают входной сигнал в данное временное/частотное представление. Например, алгоритм MPEG 3 уровня, описанный в ISO/EEC 11172-3, использует псевдоквадратурный зеркальный набор фильтров с последующим преобразованием МДКП в каждом поддиапазоне для обеспечения нужного разрешения по частоте. В нашем иерархическом наборе фильтров мы используем преобразование, например МДКП, с последующим обратным преобразованием (например, ОМДКП) на группах спектральных линий для осуществления гибкого преобразования по времени/частоте входного сигнала.
В отличие от гибридных наборов фильтров иерархический набор фильтров использует результаты двух последовательных, перекрывающихся внешних преобразований для вычисления 'перекрывающихся' внутренних преобразований. Иерархический набор фильтров позволяет добавлять более чем одно преобразование поверх первого преобразования. Это можно делать и с помощью наборов фильтров, отвечающих уровню техники (например, древовидных наборов фильтров), но это непрактично вследствие быстрого ухудшения частотного разделения с увеличением количества уровней. Иерархический набор фильтров позволяет избегать этого ухудшения частотного разделения ценой некоторого ухудшения во временной области. Это ухудшение во временной области можно, однако, контролировать, надлежащим образом выбирая форму(ы) окна(он). При выборе правильного окна анализа коэффициенты внутреннего преобразования также можно сделать инвариантными сдвигам по времени, равным размеру внутреннего преобразования (а не размеру самого внешнего преобразования, как в традиционных подходах).
Подходящая вырезающая (окно) функция W(x), именуемая здесь "вырезающей функцией Шмунка", используемая для иерархического набора фильтров, задана следующим образом:
x
x
L
L
где  - индекс выборки временной области (0<<=), и  - длина окна, выражаемая в количестве выборок.
Частотная характеристика 2603 вырезающей функции Шмунка (Shmunk) по сравнению с широко используемой вырезающей производной функцией Кайзера-Бесселя 2602 показана на фиг.2a. Можно видеть, что две вырезающие функции имеют сходную форму, но предложенная вырезающая функция имеет более резкий спад в хвостовой части. Временная характеристика 2604 вырезающей функции Шмунка показана на фиг.2b.
Иерархический набор фильтров общего применения для обеспечения временного/частотного разложения проиллюстрирован на фиг.3 и 4. ИНФ нужно модифицировать вышеописанным образом для использования в аудиокодеке. На фиг.3 номер у каждой пунктирной линии представляет количество эквидистантных элементов разрешения по частоте на каждом уровне (хотя не все из этих элементов вычисляются). Стрелки, направленные вниз, представляют N-точечное преобразование МДКП, дающее N/2 поддиапазонов. Стрелки, направленные вверх, представляют ОМДКП, которое берет N/8 поддиапазонов и преобразует их в N/4 временных выборок в одном поддиапазоне. Каждый квадрат представляет один поддиапазон. Каждый прямоугольник представляет N/2 поддиапазонов. Иерархический набор фильтров осуществляет следующие этапы:
(a) согласно фиг.5a, выборки 2702 входного сигнала буферизуются в кадры из N выборок 2704, и каждый кадр умножается на N-выборочную вырезающую функцию (фиг.5b) 2706 для создания N вырезанных выборок 2708 (фиг.5c) (этап 2900);
(b) согласно фиг.3, N-точечное преобразование (представленное стрелкой, направленной вниз, 2802 на фиг.3) применяется к вырезанным выборкам 2708 для создания N/2 коэффициентов преобразования 2804 (этап 2902);
(c) в необязательном порядке подавление звона применяется к одному или нескольким из коэффициентов преобразования 2804 посредством линейной комбинации одного или нескольких соседних коэффициентов преобразования (этап 2904);
i
i
(d) N/2 коэффициентов преобразования 2804 делятся на P групп из M коэффициентов, в результате чего сумма M коэффициентов оказывается равной N/2 ();
i
i
(e) для каждой из P групп, (2*M)-точечное обратное преобразование (представленное стрелкой, направленной вверх, 2806 на фиг.3) применяется к коэффициентам преобразования для создания (2*M) выборок поддиапазона из каждой группы (этап 2906);
i
i
(d) в каждом поддиапазоне (2*M) выборок поддиапазона умножаются на (2*M)-точечную вырезающую функцию 2706 (этап 2908);
i
i
(e) в каждом поддиапазоне M предыдущих выборок перекрываются и суммируются с соответствующими текущими значениями для создания M новых выборок для каждого поддиапазона (этап 2910);
i
i
(f) N задается равным предыдущему M и выбираются новые значения для P и M, и
i
(g) вышеописанные этапы повторяются (этап 2912) на одном или нескольких поддиапазонах из M новых выборок с использованием преобразований последовательно уменьшающегося размера для N, пока не будет достигнуто нужное разрешение по времени/преобразованию (этап 2914). Заметим, что этапы можно повторять на всех поддиапазонах, только на самых нижних поддиапазонах или на любой нужной их комбинации. Если этапы повторяются на всех поддиапазонах, ИНФ является однородным, а в противном случае - неоднородным.
i
На фиг.6 изображен график частотной характеристики 3300 для реализации набора фильтров, показанной на фиг.3 и описанной выше, в котором N=128, M=16 и P=4, и этапы повторяются на двух самых нижних поддиапазонах на каждом каскаде.
Сфера применения этого иерархического набора фильтров выходит за пределы аудиотехники и охватывает обработку видеосигнала и других типов сигнала (например, сейсмических, медицинских и других сигналов, изменяющихся во времени). Кодирование и сжатие видеосигнала предъявляет аналогичные требования к временному/частотному разложению, и произвольный характер разложения, обеспечиваемого иерархическим набором фильтров, может иметь значительные преимущества над современными техническими решениями на основе дискретного косинусного преобразования и разложения волнового пакета. Набор фильтров также можно применять для анализа и обработки сейсмических или механических измерений, обработки биомедицинских сигналов, анализа и обработки естественных или физиологических сигналов, речи или сигналов, изменяющихся во времени. Информацию частотной области можно извлекать из коэффициентов преобразования, генерируемых при каждой итерации на последовательно более низком разрешении по частоте. Аналогично, информацию временной области можно извлекать из выборок поддиапазона временной области, генерируемых при каждой итерации с последовательно более высоким разрешением по времени.
Иерархический набор фильтров: равномерно разнесенные поддиапазоны
i
На фиг.7 показана блок-схема иллюстративного варианта осуществления иерархического набора фильтров 3900, который реализует набор фильтров с равномерно разнесенными поддиапазонами. Для однородного набора фильтров M=M=N/(2*P). Разложение входного сигнала на сигналы 3914 поддиапазонов описано следующим образом.
1. Входные временные выборки 3902 вырезаются в N-точечные кадры 3904 с 50% перекрытием.
2. N-точечное МДКП 3906 осуществляется на каждом кадре.
3. Результирующие коэффициенты МДКП группируются в P групп 3908 из M коэффициентов в каждой группе.
4. (2*M)-точечное ОМДКП 3910 осуществляется на каждой группе для формирования (2*M) временных выборок поддиапазона 3911.
5. Результирующие временные выборки 3911 вырезаются в (2*M)-точечные кадры с 50% перекрытием и суммируются с перекрытием (OLA) 3912 для формирования M временных выборок в каждом поддиапазоне 3914.
В иллюстративной реализации N=256, P=32 и M=4. Заметим, что для достижения нужного временного/частотного разложения можно также использовать другие размеры преобразования и порядки группирования поддиапазонов, представленные другими выборами для N, P и M.
Иерархический набор фильтров: неоднородно разнесенные поддиапазоны
i
i
Другой вариант осуществления иерархического набора фильтров 3000 показан на фиг.8a и 8b. В этом варианте осуществления некоторые каскады набора фильтров являются неполными для создания преобразования с тремя разными частотными диапазонами, в которых коэффициенты преобразования представляют разное разрешение по частоте в каждом диапазоне. Сигнал временной области декомпозируется на три коэффициента преобразования с использованием последовательности каскадированных одноэлементных наборов фильтров. Детализированный элемент набора фильтров может повторяться несколько раз для создания нужного временного/частотного разложения. Заметим, что цифры для размеров буфера, размеров преобразования и размеров окна и использование МДКП/ОМДКП для преобразования соответствуют только одному иллюстративному варианту осуществления и не ограничивают объем настоящего изобретения. Можно также использовать другие размеры буфера, окна и преобразования и другие типы преобразования. В общем случае M отличаются друг от друга, но удовлетворяют ограничению, состоящему в том, что сумма M равна N/2.
Согласно фиг.8b один элемент набора фильтров буферизует 3022 входные выборки 3020 для формирования буферов из 256 выборок 3024, которые вырезаются 3026 путем умножения выборок на 256-выборочную вырезающую функцию. Вырезанные выборки 3028 преобразуются посредством 256-точечного МДКП 3030 для формирования 128 коэффициентов преобразования 3032. Из этих 128 коэффициентов 96 наибольших частотных коэффициентов выбираются 3034 для вывода 3037 и не подвергаются дополнительной обработке. Затем 32 наименьших частотных коэффициента подвергаются обратному преобразованию 3042 для создания 64 выборок временной области, которые затем вырезаются 3044 в выборки 3046 и суммируются с перекрытием 3048 с предыдущим выходным кадром для создания 32 выходных выборок 3050.
В примере, показанном на фиг.8a, набор фильтров состоит из одного элемента набора фильтров 3004, повторяемого один раз, с размером входного буфера 256 выборок, за которым следует один элемент набора фильтров 3010, также повторяемый, с размером входного буфера 256 выборок. Последний каскад 3016 представляет сокращенный единичный элемент набора фильтров и состоит из этапов буферизации 3022, вырезания 3026 и МДКП 3030 только для вывода 128 коэффициентов частотной области, представляющих самый нижний частотный диапазон 0-1378 Гц.
Таким образом, исходя из того, что входной сигнал 3002 имеет частоту дискретизации 44100 Гц, показанный набор фильтров создает 96 коэффициентов, представляющих частотный диапазон от 5513 до 22050 Гц на "выход 1" 3008, 96 коэффициентов, представляющих частотный диапазон от 1379 до 5512 Гц на "выход 2" 3014, и 128 коэффициентов, представляющих частотный диапазон от 0 до 1378 Гц на "выход 3" 3018.
Заметим, что использование МДКП/ОМДКП для частотного преобразования/обратного преобразования является иллюстративным и что согласно настоящему изобретению можно применять другие преобразования по времени/частоте. Согласно этому подходу возможны другие значения для размеров преобразования и возможны другие разложения за счет избирательного расширения любого ответвления в вышеописанной иерархии.
Многоканальное совместное кодирование тональных и остаточных компонентов
Блок 103 выбора тонов, показанный на фиг.1, принимает в качестве входного сигнала данные из блока 101 вычисления маскирования и список тонов из блока 102 извлечения тонов множественных порядков. Блок 103 выбора тонов сначала сортирует список тонов по относительной мощности сверх уровня маскирования из блока 101 вычисления маскирования, формируя упорядочение по психоакустической значимости. Для этого используется формула:
A
k
где  - амплитуда спектральной линии.
M
k
i
i,k
- уровень маскирования для -й спектральной линии в -м подкадре маски.
l
- длина базовой функции, выраженная в подкадрах маски.
Суммирование осуществляется по подкадрам, где спектральный компонент имеет ненулевое значение.
Затем блок 103 выбора тонов использует итерационный процесс для определения, какие тональные компоненты из отсортированного списка тонов для кадра будут помещены в битовый поток. В стереофонических или многоканальных аудиосигналах, где амплитуда тона примерно одинакова в более чем одном канале, в первичном канале сохраняется только полная амплитуда и фаза; первичный канал - это канал с наивысшей амплитудой для тонального компонента. На других каналах, имеющих сходные тональные характеристики, сохраняется разность относительно первичного канала.
Данные для каждого размера преобразования охватывают несколько подкадров, причем наименьший размер преобразования охватывает 2 подкадра, второй - 4 подкадра, третий - 8 подкадров, четвертый - 16 подкадров и пятый - 32 подкадра. Существует 16 подкадров на 1 кадр. Тональные данные группируются по размеру преобразования, в котором найдена тональная информация. Для каждого размера преобразования следующие данные тонального компонента квантуются, энтропийно кодируются и помещаются в битовый поток: энтропийно-кодированная позиция подкадра, энтропийно-кодированная спектральная позиция, энтропийно-кодированная квантованная амплитуда и квантованная фаза.
В случае многоканального аудиосигнала для каждого тонального компонента один канал выбирается в качестве первичного канала. Определение, какой канал должен быть первичным каналом, может быть фиксированным или может осуществляться на основании характеристик сигнала или перцепционных критериев. Номер канала для первичного канала и его амплитуда и фаза сохраняются в битовом потоке. Согласно фиг.9, сохраняется битовая маска 3602, которая указывает, какие из других каналов включают в себя указанный тональный компонент и поэтому должны кодироваться как вторичные каналы. Разность между первичными и вторичными амплитудами и фазами затем подвергается энтропийному кодированию и сохраняется для каждого вторичного канала, в котором присутствует тональный компонент. В этом конкретном примере предполагается, что существует 7 каналов, и главным каналом является канал 3. Битовая маска 3602 указывает наличие тонального компонента на вторичных каналах 1, 4 и 5. Для первичного канала не используется ни один бит.
Выходной сигнал 4211 блока 102 извлечения тонов множественных порядков состоит из кадров коэффициентов МДКП с одним или несколькими разрешениями. Блок 103 выбора тонов определяет, какие тональные компоненты можно сохранить для вставки в выходной кадр битового потока генератором 108 кодовых строк на основании их связи с качеством декодированного сигнала. Те тональные компоненты, в отношении которых определено, что они не попадают в кадр, выводятся 110 на локальный декодер 104. Локальный декодер 104 принимает выходной сигнал 110 блока 103 выбора тонов и синтезирует все тональные компоненты, добавляя каждый тональный компонент, масштабированный коэффициентами синтеза 2000 из поисковой таблицы (фиг.20), для создания кадров коэффициентов МДКП (см. фиг.16). Эти коэффициенты добавляются к выходному сигналу 111 блока 102 извлечения тонов множественных порядков на объединителе 105 для создания остаточного сигнала 113 в разрешении МДКП последней итерации иерархического набора фильтров.
Согласно фиг.10, остаточный сигнал 113 для каждого канала поступает на остаточный кодер 107 в качестве коэффициентов МДКП 3908 иерархического набора фильтров 3900 до этапов вырезания и суммирования с перекрытием 3904 и ОМДКП 3910, показанных на фиг.7. Последующие этапы ОМДКП 3910 вырезания и суммирования с перекрытием 3912 осуществляются для создания 32 эквидистантных критически дискретизированных частотных поддиапазонов 3914 во временной области для каждого канала. 32 поддиапазона, образующие компоненты временной выборки, называются сеткой G. Заметим, что для реализации других временных/частотных разложений, отличных от вышеописанных, в кодере можно использовать другие варианты осуществления иерархического набора фильтров и для извлечения тональных компонентов можно использовать другие преобразования. Если иерархический набор фильтров не используется для извлечения тональных компонентов, для извлечения поддиапазонов можно использовать другую форму набора фильтров, но с более высокой вычислительной нагрузкой.
Для стереофонического или многоканального аудиосигнала некоторые вычисления производятся в блоке 501 выбора каналов для определения первичного и вторичного каналов для кодирования тональных компонентов, а также способ кодирования тональных компонентов (например, левый-правый или средний-боковой). Согласно фиг.11, процесс группирования каналов 3702 сначала определяет, какие из множественных каналов можно совместно кодировать, и все каналы объединяются в группы, причем последняя группа может быть неполной. Порядки группирования определяются перцепционными критериями слушателя и эффективностью кодирования, и группы каналов можно строить из комбинаций более чем двух каналов (например, 5-канальный сигнал, состоящий из каналов L, R, Ls, Rs и C можно группировать как {L, R}, {Ls, Rs}, {L+R, C}). Затем группы каналов упорядочиваются как первичный и вторичные каналы. В иллюстративном многоканальном варианте осуществления, выбор первичного канала производится на основании относительной мощности каналов по кадру. Относительная мощность определяется следующими уравнениями:
Режим группирования также определяется, как показано на этапе 3704 на фиг.11. Тональные компоненты можно кодировать как представление левый-правый или средний-боковой, или результат этого этапа может обеспечивать только один первичный канал, как показано пунктирными линиями. В представлении левый-правый, канал с наивысшей мощностью для поддиапазона считается первичным, и в битовом потоке 3706 для поддиапазона задается один-единственный бит, если правый канал является каналом наивысшей мощности. Кодирование средний-боковой используется для поддиапазона, если поддиапазон удовлетворяет следующему критерию:
P
P
m
s
> 2·
Для многоканальных сигналов, вышеупомянутые действия осуществляется для каждой группы каналов.
Для стереосигнала, блок 502 вычисления сетки обеспечивает сетку стереопанорамирования, в которой стереопанорамирование можно грубо реконструировать и применять к остаточному сигналу. Стереосетка составляет 4 поддиапазона на 4 интервала времени, причем каждый поддиапазон в стереосетке охватывает 4 поддиапазона и 32 выборки из выходного сигнала набора 500 фильтров, начиная с частотных диапазонов свыше 3 кГц. Можно выбирать другие размеры сетки, охватываемые частотные поддиапазоны и временные деления. Значения в ячейках стереосетки представляют собой отношение мощности данного канала к мощности первичного канала для диапазона значений, охватываемых ячейкой. Затем отношение квантуется до той же таблицы, которая использовалась для кодирования тональных компонентов. Для многоканальных сигналов, вышеописанная стереосетка вычисляется для каждой группы каналов.
Для многоканальных сигналов, блок 502 вычисления сетки обеспечивает множественные сетки масштабного коэффициента, по одной на каждую группу каналов, которые вставляются в битовый поток в порядке их психоакустической значимости в пространственной области. Отношение мощности данного канала к мощности первичного канала вычисляется для каждой группы из 4 поддиапазонов по 32 выборки. Затем это отношение квантуется, и это квантованное значение плюс логарифм отношения мощностей вставляется в битовый поток.
Quantize)
Блок 503 вычисления сетки масштабного коэффициента вычисляет сетку G1, которая помещается в битовый поток. Теперь опишем способ вычисления G1. Сначала G0 выводится из G. G0 содержит все 32 поддиапазона, но только половину разрешения по времени G. Содержимое ячеек G0 представляет собой квантованные значения максимум двух соседних значений данного поддиапазона из G. Квантование (обозначаемое в нижеследующих уравнениях как осуществляется с использованием той же модифицированной логарифмической таблицы квантования, которая используется для кодирования тональных компонентов в блоке 102 извлечения тонов множественных порядков. Каждая ячейка G0, таким образом, определяется как
G0
Quantize(Maximum
G
G
n
m,n
m,2n
m,2n+1
=(, ))∈ [0... 63]
m
где - номер поддиапазона,
n
- номер столбца G0.
G1 выводится из G0. G1 имеет 11 перекрывающихся поддиапазонов и 1/8 разрешения по времени G0, образуя сетку размером 11 × 8. Каждая ячейка G1 квантуется с использованием той же таблицы, которая используется для тональных компонентов, и вычисляется использованием следующей формулы:
W
l
где  - значение весового коэффициента, полученное из таблицы 1 на фиг.19.
G0 повторно вычисляется из G1 на локальном сеточном декодере 506. В блоке 507 квантования временных выборок выходные временные выборки ("компоненты временной выборки") извлекаются из иерархического набора фильтров (сетка G), которые проходят через блок 504 выбора уровня квантования, масштабируются путем деления компонентов временной выборки на соответствующие значения в повторно вычисленной G0 из локального сеточного декодера 506 и квантуются до количества уровней квантования, как функция поддиапазона, определяемого блоком 504 выбора уровня квантования. Эти квантованные временные выборки затем помещаются в кодированный битовый поток совместно с квантованной сеткой G1. Во всех случаях модель, отражающая психоакустическую значимость этих компонентов, используется для определения приоритета операции сохранения битового потока.
На дополнительном этапе расширения для повышения эффективности кодирования для некоторых сигналов сетки, включающие в себя G, G1 и частичные сетки, можно дополнительно обрабатывать с применением двухмерного дискретного косинусного преобразования (ДКП) до квантования и кодирования. Соответствующее обратное ДКП применяется на декодере после обратного квантования для реконструкции исходных сеток.
Масштабируемый битовый поток и механизм масштабирования
Обычно каждый кадр главного битового потока включает в себя (a) совокупность (множество) квантованных тональных компонентов, представляющих контент частотной области на разных уровнях разрешения по частоте входного сигнала, b) квантованные остаточные компоненты временной выборки, представляющие остаточный сигнал временной области, образованный разностью между реконструированными тональными компонентами и входным сигналом, и c) сетки масштабного коэффициента, представляющие энергии сигналов для остаточного сигнала, которые охватывают частотный диапазон входного сигнала. Для многоканального сигнала, каждый кадр также может содержать d) частичные сетки, представляющие отношения энергий сигнала для каналов остаточного сигнала в группах каналов, и e) битовую маску для каждого первичного канала, задающую совместное кодирование вторичных каналов для тональных компонентов. Обычно часть доступной скорости передачи данных в каждом кадре выделяется из тональных компонентов (a) и часть выделяется для остаточных компонентов (b, c). Однако в ряде случаев вся доступная скорость может выделяться для кодирования тональных компонентов. Альтернативно, вся доступная скорость может выделяться для кодирования остаточных компонентов. В предельных случаях могут кодироваться только сетки масштабного коэффициента, и в этом случае декодер использует шумовой сигнал для реконструкции выходного сигнала. В большинстве практических применений масштабированный битовый поток включают в себя, по меньшей мере, некоторые кадры, которые содержат тональные компоненты, и некоторые кадры, которые включают в себя сетки масштабного коэффициента.
Структура и порядок компонентов, размещенных в главном битовом потоке, согласно настоящему изобретению, обеспечивает масштабирование битового потока в широком битовом диапазоне с высоким разрешением. Эта структура и этот порядок позволяют гладко масштабировать битовый поток посредством внешних механизмов. На фиг.12 изображены структура и порядок компонентов на основании кодека аудиосигнала со сжатием, показанного на фиг.1, который выполняет декомпозицию исходного битового потока на конкретный набор психоакустики значимых компонентов. Масштабируемый битовый поток, используемый в этом примере, построен из ряда структур данных в формате файлов для обмена ресурсами или RIFF, именуемых "фрагментами", хотя можно использовать и другие структуры данных. Этот формат файлов, который хорошо известен специалистам в данной области, позволяет идентифицировать тип данных, переносимых фрагментом, а также объем данных, переносимых фрагментом. Заметим, что для практического применения настоящего изобретения можно использовать любой формат битового потока, который переносит информацию, касающуюся объема и типа данных, переносимых в этих заданных структурах данных битового потока.
На фиг.12 показана схема фрагмента 900 кадра с масштабируемой скоростью передачи данных совместно с субфрагментами 902, 903, 904, 905, 906, 906, 907, 908, 909, 910 и 912, которые содержат психоакустические данные, переносимые во фрагменте 900 кадра. Хотя на фиг.12 показаны только ID фрагмента и длина фрагмента для фрагмента кадра, данные ID субфрагмента и длины субфрагмента входят в состав каждого субфрагмента. На фиг.12 показан порядок субфрагментов в кадре масштабируемого битового потока. Эти субфрагменты содержат психоакустические компоненты, созданные кодером масштабируемого битового потока, совместно с уникальным субфрагментом, используемым в каждой подобласти кодированного битового потока. Помимо упорядочения субфрагментов по психоакустической значимости, априорного или расчетного, компоненты в субфрагментах также упорядочиваются по психоакустической значимости. Пустой фрагмент 911, который является последним фрагментом в кадре, используется для дополнения фрагментов в случае, когда необходимо, чтобы кадр имел постоянный или конкретный размер. Поэтому фрагмент 911 не имеет психоакустической значимости и является наименее важным психоакустическим фрагментом. Фрагмент 910 временных выборок 2 находится в правой стороне чертежа и является наиболее важным психоакустическим фрагментом, фрагмент 902 сетки 1 находится в левой стороне чертежа. Благодаря первоначальному удалению данных из наименее психоакустически значимого фрагмента в конце битового потока, т.е. фрагмента 910, с последующим удалением все более психоакустически значимых компонентов по направлению к началу битового потока, т.е. фрагмента 902, поддерживается наивысшее возможное качество для каждого последующего снижения скорости передачи данных. Заметим, что наивысшая скорость передачи данных совместно с наивысшим качеством аудиосигнала, которое может поддерживать битовый поток, задается во время кодирования. Однако наименьшая скорость передачи данных после масштабирования задается уровнем качества аудиосигнала, который допустимо использовать в данном применении, или ограничением по скорости, установленным для канала или носителя.
Никакие два удаленных психоакустических компонента не используют одинаковое количество битов. Разрешение масштабирования для данной реализации настоящего изобретения составляет от 1 бита для компонентов наименьшей психоакустической значимости до 32 битов для компонентов наибольшей психоакустической значимости. Механизм масштабирования битового потока не предусматривает единовременного удаления фрагментов целиком. Как отмечено выше, компоненты в каждом фрагменте упорядочены так, чтобы наиболее психоакустически важные данные располагались в начале фрагмента. По этой причине компоненты можно удалять с конца фрагмента, по одному компоненту каждый раз, посредством механизма масштабирования, в то же время поддерживая наилучшее возможное качество аудиосигнала с каждым удаленным компонентом. В одном варианте осуществления настоящего изобретения, механизм масштабирования устраняет компоненты целиком, тогда как в других вариантах осуществления можно устранять некоторые или все компоненты. Механизм масштабирования удаляет компоненты во фрагменте по мере необходимости, обновляя поле длины фрагмента конкретного фрагмента, из которого удаляются компоненты, длины фрагмента 915 кадра и контрольной суммы 901 кадра. Как будет понятно из подробного описания иллюстративных вариантов осуществления настоящего изобретения, при обновлении длины фрагмента для каждого масштабируемого фрагмента, а также при обновлении информации длины фрагмента кадра и контрольной суммы кадра, доступной декодеру, декодер может правильно обрабатывать масштабированный битовый поток и автоматически генерировать выходной аудиосигнал с фиксированной частотой дискретизации для подачи на ЦАП даже при наличии в битовом потоке фрагментов с недостающими компонентами, а также фрагментов, полностью исключенных из битового потока.
Декодер масштабируемого битового потока для топологии остаточного кодирования
На фиг.13 показана блок-схема декодера. Анализатор 600 битового потока считывает начальную побочную информацию, содержащую: частоту дискретизации в герцах кодированного сигнала до кодирования, количество каналов аудиосигнала, исходную скорость передачи данных потока и скорость передачи кодированных данных. Эта начальная побочная информация позволяет ему реконструировать полную скорость передачи данных исходного сигнала. Дополнительно, компоненты в битовом потоке 599 анализируются анализатором битового потока 600 и поступают на соответствующий декодирующий элемент: тональный декодер 601 или остаточный декодер 602. Компоненты, декодированные тональным декодером 601, обрабатываются посредством обратного частотного преобразования 604, которое преобразует сигнал обратно во временную область. Блок 608 суммирования с перекрытием прибавляет значения последней половины ранее декодированного кадра к значениям первой половины только что декодированного кадра, которая является выходным сигналом обратного частотного преобразования 604. Компоненты, в отношении которых анализатор 600 битового потока определяет, что они составляют часть процесса остаточного декодирования, обрабатываются остаточным декодером 602. Выходной сигнал остаточного декодера 602, содержащий 32 частотных поддиапазонов, представленный во временной области, обрабатывается обратным набором 605 фильтров. Обратный набор 605 фильтров восстанавливает 32 поддиапазона в один сигнал, подлежащий объединению с выходным сигналом блока 608 суммирования с перекрытием на объединителе 607. Выходной сигнал объединителя 607 представляет собой декодированный выходной сигнал 614.
Для снижения вычислительной нагрузки обратное частотное преобразование 604 и обратный набор 605 фильтров, которые преобразуют сигналы обратно во временную область, можно реализовать посредством обратного иерархического набора фильтров, который объединяет эти операции с объединителем 607 для формирования декодированного выходного аудиосигнала 614 временной области. Использование иерархического набора фильтров в декодере является инновацией в отношении способа объединения тональных компонентов с остатком в иерархическом наборе фильтров на декодере. Остаточные сигналы подвергаются прямому преобразованию с использованием МДКП в каждом поддиапазоне, после чего тональные компоненты реконструируются и объединяются до последнего каскада ОМДКП. Подход множественных уровней разрешения можно обобщить для других применений (например, этот аспект изобретения охватывает также множественные уровни, разные разложения).
Обратный иерархический набор фильтров
Для упрощения декодера, иерархический набор фильтров можно использовать для объединения этапов обратного частотного преобразования 604, обратного набора 605 фильтров, суммирования с перекрытием 608 и объединителя 607. Согласно фиг.15, выходной сигнал остаточного декодера 602 поступает на первый каскад обратного иерархического набора 4000 фильтров, а выходной сигнал тонального декодера 601 добавляется к остаточным выборкам на каскаде более высокого разрешения по частоте до окончательного обратного преобразования 4010. Затем выборки, полученные обратным преобразованием, суммируются с перекрытием для создания линейных выходных выборок 4016.
-1
Общая работа декодера для одного канала с использованием ИНФ 2400 показана на фиг.22. Дополнительные этапы многоканального декодирования тональных и остаточных сигналов показаны на фиг.10, 11 и 18. Квантованные сетки G1 и G' считываются из битового потока 599 анализатором 600 битового потока. Остаточный декодер 602 осуществляет обратное квантование (Q) 2401, 2402 сеток G′ 2403 и G1 2404 и реконструирует сетку G0 2405 из сетки G1. Сетка G0 применяется к сетке G′ путем умножения 2406 соответствующих элементов в каждой сетке для формирования масштабированной сетки G, которая состоит из временных выборок поддиапазона 4002, которые поступают на следующий каскад иерархического набора фильтров 2401. Для многоканального сигнала частичная сетка 508 используется для декодирования вторичных каналов.
Тональные компоненты (T5) 2407 с наименьшим разрешением по частоте (P=16, M=256) считываются из битового потока анализатором 600 битового потока. Тональный декодер 601 осуществляет обратное квантование 2408 и синтезирует 2409 тональный компонент для создания P групп из M коэффициентов частотной области.
Временные выборки 4002 сетки G вырезаются и суммируются с перекрытием 2410, как показано на фиг.15, затем подвергаются прямому преобразованию P (2*M)-точечными МДКП 2411 для формирования P групп из M коэффициентов частотной области, которые затем объединяются 2412 с P группами из M коэффициентов частотной области, синтезированными из тональных компонентов, как показано на фиг.16. Объединенные коэффициенты частотной области затем связываются и подвергается обратному преобразованию ОМДКП 2413 длиной N, вырезаются и суммируются с перекрытием 2414 для создания N выходных выборок 2415, которые поступают на следующий каскад иерархического набора фильтров.
Тональные компоненты (T4) со следующим после наименьшего разрешением по частоте считываются из битового потока и объединяются с выходным сигналом предыдущего каскада иерархического набора фильтров, как описано выше, и затем эта итерация продолжается для P=8, 4, 2, 1 и M=512, 1024, 2048 и 4096, пока все частотные компоненты не будут считаны из битового потока, объединены и реконструированы.
На последнем каскаде декодера обратное преобразование создает N полнодиапазонных временных выборок, которые выводятся в качестве декодированного выходного сигнала 614. Вышеприведенные значения P, M и N соответствуют только одному иллюстративному варианту осуществления и не ограничивают объем настоящего изобретения. Можно также использовать другие размеры буфера, окна и преобразования и другие типы преобразования.
Как было описано, декодер предусматривает прием кадра, который включает в себя тональные компоненты, компоненты временной выборки и сетки масштабного коэффициента. Однако, если один или несколько из них отсутствует в масштабированном битовом потоке, декодер гладко реконструирует декодированный выходной сигнал. Например, если кадр включает в себя только тональные компоненты, то временные выборки на 4002 равны нулю, и остаточный сигнал не объединяется 2403 с синтезированными тональными компонентами на первом каскаде обратного ИНФ. Если один или несколько из тональных компонентов T5,..., T1 отсутствуют, то нулевое значение объединяется 2403 на этой итерации. Если кадр включает в себя только сетки масштабного коэффициента, то декодер подставляет шумовой сигнал вместо сетки G для декодирования выходного сигнала. В результате, декодер может гладко реконструировать декодированный выходной сигнал, поскольку композиция каждого кадра масштабированного битового потока может изменяться вследствие контента сигнала, изменения ограничений на скорость передачи данных и т.д.
На фиг.16 более подробно показано, как происходит объединение тональных компонентов в обратном иерархическом наборе фильтров, показанном на фиг.15. В этом случае остаточные сигналы 4004 поддиапазона вырезаются и суммируются с перекрытием 4006, подвергается прямому преобразованию 4008 и результирующие коэффициенты из всех поддиапазонов группируются с образованием единого кадра 4010 коэффициентов. Каждый тональный коэффициент затем объединяется с кадром остаточных коэффициентов путем умножения 4106 огибающей 4102 амплитуды тональных компонентов на группу коэффициентов 4104 синтеза (обычно обеспеченных в поисковой таблице) и прибавления результатов к коэффициентам, сосредоточенным вокруг частоты 4106 данного тонального компонента. Добавление этих тональных коэффициентов синтеза осуществляется на спектральных линиях одной и той же частотной области по полной длине тонального компонента. После того как все тональные компоненты добавлены таким образом, осуществляется окончательное ОМДКП 4012, и результаты вырезаются и суммируются с перекрытием 4014 с предыдущим кадром для создания выходных временных выборок 4016.
i
i
На фиг.14 показан общий вид обратного иерархического набора 2850 фильтров, который совместим с иерархическим набором фильтров, показанным на фиг.3. Каждый входной кадр содержит M временных выборок в каждом из P поддиапазонов, в результате чего сумма M коэффициентов оказывается равной N/2:
На фиг.14 стрелки, направленные вверх, представляют N-точечное ОМДКП преобразование, которое берет N/2 коэффициентов МДКП и преобразует их в N выборок временной области. Стрелки, направленные вниз, представляют МДКП, которое берет N/4 выборок в одном поддиапазоне и преобразует их в N/8 коэффициентов МДКП. Каждый квадрат представляет один поддиапазон. Каждый прямоугольник представляет N/2 коэффициентов МДКП. Следующие этапы показаны на фиг.14:
i
i
i
(a) в каждом поддиапазоне M предыдущих выборок буферизуются и связываются с текущими M выборками для создания (2*M) новых выборок для каждого поддиапазона 2828;
i
i
(b) в каждом поддиапазоне (2*M) выборок поддиапазона умножаются на (2*M)-точечную вырезающую функцию 2706 (фиг.5a-5c);
i
i
(c) (2*M)-точечное преобразование (представленное стрелкой, направленной вниз 2826) применяется для создания M коэффициентов преобразования для каждого поддиапазона;
i
(d) M коэффициентов преобразования для каждого поддиапазона связываются для формирования единой группы 2824 из N/2 коэффициентов;
(e) N-точечное обратное преобразование (представленной стрелкой, направленной вверх 2822) применяется к связанным коэффициентам для создания N выборок;
(f) каждый кадр из N выборок 2704 умножается на N-выборочную вырезающую функцию 2706 для создания N вырезанных выборок 2708;
(g) результирующие вырезанные выборки 2708 суммируются с перекрытием для создания N/2 новых выходных выборок на данном уровне поддиапазона;
(h) вышеописанные этапы повторяются на текущем уровне и всех последующих уровнях, пока не будут обработаны все поддиапазоны и пока не будут реконструированы исходные временные выборки 2840.
Обратный иерархический набор фильтров: равномерно разнесенные поддиапазоны
На фиг.15 показана блок-схема иллюстративного варианта осуществления обратного иерархического набора 4000 фильтров, совместимого с прямым набором фильтров, показанным на фиг.7. Синтез декодированного выходного сигнала 4016 более подробно описан ниже.
1. Каждый входной кадр 4002 содержит M временных выборок в каждом из P поддиапазонов.
2. Буферизуют каждый поддиапазон 4004, переключаются на M новых выборок, применяют (2*M)-точечную вырезающую функцию, суммируют с 50% перекрытием (OLA) 4006 для создания M новых выборок поддиапазона.
3. (2*M)-точечное МДКП 4008 осуществляется в каждом поддиапазоне для формирования M коэффициентов МДКП в каждом из P поддиапазонов.
4. Результирующие коэффициенты МДКП группируются с образованием единого кадра 4010 из (N/2) коэффициентов МДКП.
5. N-точечное ОМДКП 4012 осуществляется на каждом кадре.
6. Выходной сигнал ОМДКП вырезается в N-точечные кадры с 50% перекрытием и суммируются с перекрытием 4014 для формирования N/2 новых выходных выборок 4016.
В иллюстративной реализации N=256, P=32 и M=4. Заметим, что для достижения нужного временного/частотного разложения можно также использовать другие размеры преобразования и порядки группирования поддиапазонов, представленные другими выборами для N, P и M.
Обратный иерархический набор фильтров: неравномерно разнесенные поддиапазоны
На фиг.17a-b показан другой вариант осуществления обратного иерархического набора фильтров, который совместим с набором фильтров, показанным на фиг.8a-b. В этом варианте осуществления некоторые из детализированных элементов набора фильтров являются неполными для создания преобразования с тремя разными частотными диапазонами, в которых коэффициенты преобразования представляют разное разрешение по частоте в каждом диапазоне. Реконструкция сигнала временной области из этих коэффициентов преобразования описана ниже.
В этом случае первый элемент 3110 синтеза пропускает этапы буферизации 3122, вырезания 3124 и МДКП 3126 детализированного элемента, показанного на фиг.17b. Вместо этого вход 3102 формирует единый набор коэффициентов, которые подвергаются обратному преобразованию 3130 для создания 256 временных выборок, которые вырезаются 3132 и суммируются с перекрытием 3134 с предыдущим кадром для создания выходного сигнала 3136 из 128 новых временных выборок для этого каскада.
Выходной сигнал первого элемента 3110 и 96 коэффициенты 3106 поступают на элемент 3112 и объединяются, как показано на фиг.17b для создания 128 временных выборок для ввода в третий элемент 3114 набора фильтров. Второй элемент 3112 и третий элемент 3114, показанные на фиг.17a, реализуют полный детализированный элемент, показанный на фиг.17b, каскадированный для создания 128 новых временных выборок, выводимых из набора фильтров 3116. Заметим, что размеры буфера и преобразования приведены здесь в порядке примера, и можно использовать другие размеры. В частности, заметим, что буферизация 3122 на входе детализированного элемента может изменяться в соответствии с разными размерами входа в зависимости от того, где он используется в иерархии общего набора фильтров.
Перейдем к описанию дополнительных деталей, касающихся блоков декодера.
Анализатор 600 битового потока
Анализатор (блок разбора) 600 битового потока считывает информацию фрагмента IFF из битового потока и передает элементы этой информации на соответствующий декодер, тональный декодер 601 или остаточный декодер 602. Битовый поток также можно масштабировать до его поступления на декодер. В зависимости от применяемого способа масштабирования элементы психоакустических данных на конце фрагмента могут быть непригодны вследствие пропущенных битов. Тональный декодер 601 и остаточный декодер 602 надлежащим образом игнорируют данные на конце фрагмента, признанные непригодными. Тональный декодер 601 и остаточный декодер 602 могут не только игнорировать все элементы психоакустических данных в случае пропуска битов элемента, но эти декодеры также могут в максимально возможной степени восстанавливать элемент, считывая существующие биты и заполняя оставшиеся, пропущенные, биты нулями, произвольными шаблонами или шаблонами, основанными на предыдущих элементах психоакустических данных. Хотя это связано с увеличением объема вычислений, использование данных, основанных на предыдущих элементах психоакустических данных, предпочтительно, поскольку результирующий декодированный аудиосигнал может лучше совпадать с исходным аудиосигналом.
Тональный декодер 601
Тональная информация, найденная анализатором битового потока 600, обрабатывается тональным декодером 601. Повторный синтез тональных компонентов осуществляется с использованием иерархического набора фильтров, как описано выше. Альтернативно, можно использовать обратное быстрое преобразование Фурье, размер которого совпадает с наименьшим размером преобразования, которое используется для извлечения тональных компонентов на кодере.
Для тонального декодирования осуществляются следующие этапы:
a) инициализация подкадра частотной области нулевыми значениями;
b) повторный синтез необходимой части тональных компонентов из наименьшего размера преобразования в подкадр частотной области;
c) повторный синтез и суммирование в необходимых позициях тональных компонентов из других четырех размеров преобразования в один и тот же подкадр. Повторный синтез этих других четырех размеров преобразования может происходить в любом порядке.
Amplitude
Phase
Freq
Тональный декодер 601 декодирует следующие значения для группирования каждого размера преобразования: квантованную амплитуду, квантованную фазу, спектральное расстояние от предыдущего тонального компонента для группирования и позицию компонента в полном кадре. Для многоканальных сигналов вторичная информация сохраняется в виде разностей относительно значений первичного канала и подлежит восстановлению до абсолютных значений путем прибавления значений, полученных из битового потока, к значению, полученному для первичного канала. Для многоканальных сигналов поканальное 'наличие' тонального компонента также обеспечивается битовой маской 3602, которая декодируется из битового потока. Дополнительная обработка на вторичных каналах производится независимо от первичного канала. Если тональный декодер 601 не способен полностью получить элементы, необходимые для реконструкции тона, из фрагмента, этот тональный элемент отбрасывается. Квантованная амплитуда подвергается деквантованию с использованием таблицы, обратной таблице, используемой для квантования значения на кодере. Квантованная фаза подвергается деквантованию с использованием квантования, обратного линейному квантованию, используемому для квантования фазы на кодере. Абсолютная позиция в частотном спектре определяется путем прибавления значения разности, полученного из битового потока, к ранее декодированному значению. Если определить параметры как деквантованную амплитуду, как деквантованную фазу и как абсолютную частотную позицию, следующий псевдокод описывает повторный синтез тональных компонентов наименьшего размера преобразования:
Повторный синтез более длинных базовых функций распределен по большему количеству подкадров, поэтому значения амплитуды и фазы необходимо обновлять согласно частоте и длине базовой функции. Следующий псевдокод описывает, как это делается:
Amplitude
Freq
Phase
где ,и - вышеопределенные параметры.
Group
это число, представляющее размер преобразования базовой функции, 1 для наименьшего преобразования и 5 для наибольшего.
length
Group
- количество подкадров для , задаваемое в виде:
length
Group
=2^( - 1).
>> - оператор сдвига вправо.
CurrentAmplitude
CurrentPhase
и сохраняются для следующего подкадра.
Envelope
Group
i
(length)
[][] - треугольная огибающая соответствующей длины для каждой группы, принимающая нулевое значение на каждом конце и имеющая значение 1 в середине.
Повторный синтез более низких частот при трех наибольших размерах преобразования вышеописанным способом приводит к слышимому искажению в выходном аудиосигнале, поэтому нижеследующая эмпирически установленная коррекция применяется к спектральным линиям, меньшим 60, в группах 3, 4 и 5:
Amplitude
Freq
Phase
Envelope
Group
i
Group
Length
где , , , [][],  и - ранее определенные параметры.
CorrCf
задан в таблице 2 (фиг.20).
abs(val)
val
- функция, возвращающая абсолютное значение параметра
Поскольку битовый поток не содержит никакой информации о количестве кодированных тональных компонентов, декодер просто считывает тональные данные для каждого размера преобразования, пока он действует, из данных для этого размера. Таким образом, тональные компоненты, удаленные из битового потока внешними средствами, не влияют на способность декодера обрабатывать данные, все еще содержащиеся в битовом потоке. Удаление элементов из битового потока просто ухудшает качество аудиосигнала пропорционально удаленным компонентам данных. Тональные фрагменты также можно удалять, и в этом случае декодер не осуществляет никакой реконструкции тональных компонентов для этого размера преобразования.
Обратное частотное преобразование 604
Обратное частотное преобразование 604 - это преобразование, обратное преобразованию, используемому для создания представления частотной области на кодере. В данном варианте осуществления используется вышеописанный обратный иерархический набор фильтров. Альтернативно, обратное быстрое преобразование Фурье, которое обратно наименьшему БПФ, используемому кодером для извлечения тонов, при условии, что во время кодирования использовались перекрывающиеся БПФ.
Остаточный декодер 602
На фиг.18 показана подробная блок-схема остаточного декодера 602. Анализатор (блок разбора) 600 битового потока передает элементы G1 из битового потока на сеточный декодер 702 по линии 610. Сеточный декодер 702 декодирует G1 для воссоздания G0, которая составляет 32 частотных поддиапазона на 64 интервала времени. Битовый поток содержит значения квантованной G1 и расстояния между этими значениями. Значения G1 из битового потока подвергаются деквантованию с использованием той же таблицы деквантования, которая используется для деквантования амплитуд тональных компонентов. Линейная интерполяция между значениями из битового потока дает 8 окончательных амплитуд G1 для каждого поддиапазона G1. Поддиапазоны 0 и 1 для G1 инициализируются равными нулю, нулевые значения заменяются, когда выясняется, что информация поддиапазона для этих двух поддиапазонов находится в битовом потоке. Затем эти амплитуды взвешиваются в воссозданную сетку G0 с использованием весовых коэффициентов отображения 1900, полученных из таблицы 1 на фиг.19. Общая формула для G0 задана в виде:
,
m
где - номер поддиапазона;
W
- элемент из таблицы 1;
n
- номер столбца G0;
k
охватывает 11 поддиапазонов G1.
Деквантователь 700
Временные выборки, найденные анализатором 600 битового потока, подвергаются деквантованию на деквантователе 700. Деквантователь 700 деквантует временные выборки из битового потока с использованием процесса, обратного процессу, выполняемому на кодере. Временные выборки из поддиапазона нуль подвергаются деквантованию к 16 уровням, из поддиапазонов 1 и 2 - к 8 уровням, из поддиапазонов 11-25 - к трем уровням и из поддиапазонов 26-31 - к 2 уровням. Любые пропущенные или непригодные временные выборки заменяются псевдослучайной последовательностью значений в диапазоне от -1 до 1, имеющей спектральное энергетическое распределение, соответствующее белому шуму. Это повышает качество аудиосигнала масштабированного битового потока, поскольку такая последовательность значений имеет характеристики, которые в большей степени напоминают исходный сигнал, чем при замене нулевыми значениями.
Канальный демультиплексор 701
Информация вторичного канала в битовом потоке сохраняется как разность относительно первичного канала для некоторых поддиапазонов в зависимости от флагов, установленных в битовом потоке. Для этих поддиапазонов канальный демультиплексор 701 восстанавливает значения во вторичном канале из значений в первичном канале и значений разности в битовом потоке. Если информация вторичного канала отсутствует в битовом потоке, информацию вторичного канала можно грубо восстановить из первичного канала путем дублирования информации первичного канала во вторичные каналы и использования стереосетки, которая будет рассмотрена ниже.
Реконструкция 706 канала
Стереореконструкция 706 применяется к вторичным каналам в отсутствие информации вторичного канала (временных выборок) в битовом потоке. Стереосетка, реконструированная сеточным декодером 702, применяется к вторичным временным выборкам, восстанавливается путем дублирования информации временных выборок первичного канала для поддержания исходного отношения мощностей стереосигнала между каналами.
Многоканальная реконструкция
Многоканальная реконструкция 706 применяется к вторичным каналам в отсутствие вторичной информации (временных выборок или сеток) для вторичных каналов в битовом потоке. Процесс аналогичен стереореконструкции 706 за исключением того, что частичная сетка, реконструированная сеточным декодером 702, применяется к временным выборкам вторичного канала в каждой группе каналов, восстановленных путем дублирования информации временных выборок первичного канала, для поддержания надлежащего уровня мощности во вторичном канале. Частичная сетка применяется по отдельности к каждому вторичному каналу в реконструированной группе каналов после масштабирования другой(ими) сеткой(ами) масштабного коэффициента, включая сетку G0, на этапе 703 масштабирования путем умножения временных выборок сетки G на соответствующие элементы частичной сетки для каждого вторичного канала. Сетку G0, частичные сетки можно применять в любом порядке согласно настоящему изобретению.
Хотя было показано и описано несколько иллюстративных вариантов осуществления изобретения, специалисты в данной области техники могут предложить многочисленные изменения и альтернативные варианты осуществления. Некоторые изменения и альтернативные варианты осуществления предусмотрены и не предполагают отхода от сущности и объема изобретения, заданных в прилагаемой формуле изобретения.