УСТРОЙСТВО И СПОСОБ ОКОНЧАТЕЛЬНОЙ ОБРАБОТКИ СПЕКТРАЛЬНЫХ ЗНАЧЕНИЙ И КОДИРУЮЩЕЕ УСТРОЙСТВО И ДЕКОДЕР ДЛЯ АУДИОСИГНАЛОВ
DEVICE AND METHOD FOR FINAL PROCESSING OF SPECTRAL VALUES AND CODING DEVICE AND DECODER FOR AUDIO SIGNALS

Область техники, к которой относится изобретение:
Изобретение имеет отношение к звуковому кодированию/расшифровке, в частности к концепциям масштабируемого кодирования/расшифровки, имеющим базовый слой и слой растяжения.
Описание уровня техники
Звуковые кодеры/декодеры известны уже давно. В частности, звуковые кодеры/декодеры, работающие согласно стандарту ISO/TEC 11172-3 (этот стандарт так же известен как МР3 стандарт), рассматриваются как преобразующие кодеры. Такой МР3 кодер получает последовательность временной выборки в качестве входного сигнала, который управляется окнами. Управление окнами приводит к появлению последовательных блоков временной выборки, которые затем преобразуются в спектральное отображение блока за блоком. Согласно МР3 стандарту здесь преобразование выполняется при помощи так называемого блока гибридных фильтров. Первая ступень блока гибридных фильтров - это блок фильтров, имеющий 32 канала, чтобы генерировать 32 поддиапазонных сигнала. Поддиапазонные фильтры этой первой ступени включают наложенные полосы пропускания, поэтому это фильтрование предрасположено к совмещению имен. Вторая ступень - MDCT (модифицированное дискретное косинусное преобразование) ступень для разделения 32 поддиапазонных сигналов на 576 спектральных величин. Потом спектральные величины квантируются с учетом психоакустической модели и впоследствии кодируются по методу Хаффмана для того, чтобы в конечном итоге получить последовательность битов, включающую поток кодовых слов Хаффмана и побочную информацию, необходимую для расшифровки.
На стороне декодера кодовые слова Хаффмана обратно переводятся в индексы квантования. Реквантизация приводит к получению спектральных величин, которые затем поступают в блок гибридных синтезирующих фильтров, который является внедренным аналогом блока анализирующих фильтров для получения блоков временной выборки кодированного и снова расшифрованного звукового сигнала. Все ступени на стороне кодера и декодера представлены в МР3 стандарте. Что касается терминологии, в дальнейшем ссылка также будет сделана на «инверсионное квантование». Хотя квантование не является обратимым, поскольку оно приводит к невосполнимой потере данных, выражение «инверсионное квантование» часто используется для указания на проводившуюся ранее реквантизацию.
Звуковой алгоритм кодера/декодера, называемый ААС (перспективное звуковое кодирование), известен в этой области техники. Такой кодер, стандартизированный в международном стандарте ISO/TEC 13818-7, работает на основе временных выборок звукового сигнала. Временные выборки звукового сигнала снова подвергаются управлению окнами для получения последовательных блоков оконных временных выборок. В отличие от МР3 кодера, в котором используется блок гибридных фильтров, в ААС кодере выполняется одно единственное MDCT преобразование для получения последовательности блоков MDCT спектральных величин. Эти MDCT спектральные величины затем снова квантуются на основе психоакустической модели, и квантованные спектральные величины в конечном итоге кодируются по методу Хаффмана. На стороне декодера процесс соответствующий. Кодовые слова Хаффмана расшифровываются, и индексы квантования или квантованные спектральные величины, полученные таким образом, затем реквантуются или инверсионно квантуются, чтобы в конечном итоге получить спектральные величины, которые могут быть переданы в MDCT блок синтезирующих фильтров для того, чтобы снова получить окончательные временные выборки кодера/декодера.
Оба метода работают с наложенными блоками и адаптивными оконными функциями, как описано в экспертной публикации «Кодирование звуковых сигналов с наложенным преобразованием и адаптивными оконными функциями», Бернд Эдлер, Фриквенц, том 43, 1989 г., стр.252-256.
В частности, когда транзитные области определены в звуковом сигнале, происходит переключение с длинных оконных функций на короткие оконные функции для того, чтобы получить сниженное частотное разрешение для лучшего временного разрешения. Последовательность коротких окон вводится стартовым окном, и последовательность коротких окон завершается окном остановки. Таким образом, может быть получен сплошной монтажный переход между наложенными длинными оконными функциями и наложенными короткими оконными функциями. В зависимости от реализации область наложения с короткими окнами меньше, чем область наложения с длинными окнами, что вполне обоснованно с учетом того факта, что части переходного сигнала присутствуют в звуковом сигнале, однако не всегда. Таким образом, последовательности коротких окон, так же как и последовательности длинных окон, могут реализовываться с наложением в 50%. В частности, в случае коротких окон, однако, для улучшения кодирования частей переходного сигнала может быть выбрана уменьшенная ширина наложения, например, 10% или меньше вместо 50%.
Как в МР3 стандарте, так и в ААС стандарте управление окнами осуществляется длинными и короткими окнами, а стартовые окна и окна остановки соответственно масштабируются таким образом, что, в общем, всегда может сохраняться тот же самый блочный растр. Для МР3 стандарта это означает, что для каждого длинного блока генерируется 576 спектральных величин и что три коротких блока соответствуют одному длинному блоку. Это означает, что один короткий блок генерирует 192 спектральные величины. При наложении 50% для управления окнами используется длина окна в 1152 временные выборки, так как из-за наложения и добавления 50% наложения два блока временных выборок всегда ведут к образованию одного блока спектральных величин.
Как в случае МР3 кодеров, так и в случае ААС кодеров имеет место необратимое сжатие. Потери вводятся квантованием имеющихся спектральных величин. Спектральные величины, в частности, квантуются так, что искажения, создаваемые квантованием, также рассматриваемые как шум квантования, имеют мощность ниже психоакустического порога маскирования.
Чем грубее звуковой сигнал квантуется, например чем больше размер шага квантизатора, тем выше шум квантования. С другой стороны, однако, для более грубого квантования более мелкий набор выходных величин квантизатора должен рассматриваться, так что величины, квантованные грубее, могут быть энтропийно закодированы с использованием меньшего количества битов. Это означает, что более грубое квантование ведет к более высокому сжатию данных, однако одновременно ведет к более высоким потерям сигнала.
Эти потери сигнала не являются проблемой, если они ниже порога маскирования. Если психоакустический порог маскирования превышен незначительно, это может не вызвать звуковых помех, заметных для неподготовленного слушателя. Как бы то ни было, имеет место потеря информации, которая может быть нежелательной, например, благодаря артефактам, которые могут быть различимы в определенных ситуациях.
В частности, в случае широкополосных информационных соединений, или когда скорость передачи данных не является параметром, имеющим решающее значение, или когда имеются и широкополосные, и узкополосные сети передачи данных, может быть желательным иметь сжатое представление звукового сигнала не с потерей информации, а без потери или почти без потери.
Такой масштабируемый кодер, схематически показанный на фиг.7, и связанный декодер, схематически показанный на фиг.8, известны благодаря экспертной публикации «INTMDCT - связь между перцепционным звуковым кодированием и звуковым кодированием без потерь», Ральф Гейгер, Юрген Гере, Юрген Колер, Карлхейнц Бранденбург, Международная конференция по акустической обработке речи и сигналов (ICASSP), 13-17 мая 2002 г., Орландо, Флорида. Подобная технология описана в Европейском патенте ЕР 1495464 В1. Элементы 71, 72, 73, 74 иллюстрируют ААС кодер для генерирования потока битов, закодированных с потерей информации, называемого «перцепционно закодированный поток битов», на фиг.7. Этот поток битов представляет собой базовый слой. В частности, блок 71 на фиг.7 обозначает блок анализирующих фильтров, включающий управление длинными и короткими окнами согласно ААС стандарту. Блок 73 представляет квантование/кодирование согласно ААС стандарту, а блок 74 представляет генерирование потока битов таким образом, что поток битов на стороне выхода не только включает кодовые слова Хаффмана квантованных спектральных величин, но также необходимую дополнительную информацию, такую как масштабные коэффициенты и т.д., чтобы могла быть осуществлена расшифровка. Квантование с потерей информации в блоке 73 контролируется психоакустической моделью, описанной как «перцепционная модель» 72 на фиг.7.
Как уже было указано, выходной сигнал блока 74 является базовым масштабируемым слоем, требующим относительно небольшого количества битов, и является, однако, только отображением оригинального звукового сигнала с потерей информации и может включать в себя артефакты кодера. Блоки 75, 76, 77, 78 представляют дополнительные элементы, необходимые для генерирования расширенного потока битов без потерь или фактически без потерь, как показано на фиг.7. В частности, оригинальный звуковой сигнал подвергается целочисловому MDCT (IntMDCT) на входе 70, как показано на блоке 75. Далее, квантованные спектральные величины, генерированные блоком 73, в который уже введены потери кодера, подвергаются инверсионному квантованию и последующему округлению для получения округленных спектральных величин. Они подаются в формирователь разности 77, создающий спектрально-числовую разность, которая затем подвергается энтропийному кодированию в блоке 78 для генерирования расширенного потока битов без потерь масштабируемой схемы на фиг.7. Спектр дифференциальных величин на выходе блока 77, таким образом, представляет собой искажение, введенное психоакустическим квантованием в блоке 73.
На стороне декодера закодированный с потерей поток битов или перцепционно закодированный поток битов подается декодеру потока битов 81. На стороне выхода блок 81 создает последовательность блоков квантованных спектральных величин, которые затем подвергаются инверсионному квантованию в блоке 82. На выходе блока 82 присутствуют инверсионно квантованные спектральные величины, которые теперь, в отличие от величин на входе блока 82, больше не представляют собой индексы квантизатора, но которые являются теперь, так сказать, «правильными» спектральными величинами, которые, однако, отличаются от спектральных величин до кодирования в блоке 73 фиг.7 из-за квантования с потерями. Эти квантованные спектральные величины теперь подаются в блок синтезирующих фильтров или инверсионного MDCT преобразования (инверсионный MDCT) соответственно в блоке 83 для получения психоакустически закодированного и снова расшифрованного звукового сигнала (перцепционный звук), который отличается от оригинального звукового сигнала на входе 70 фиг.7 из-за ошибок кодирования, введенных кодером фиг.7. С целью не только получить сжатие с потерями, но даже сжатие без потерь звуковой сигнал блока 82 поступает на округление в блоке 84. В сумматоре 85 теперь округленные, инверсионно квантованные спектральные величины добавляются к дифференциальным величинам, генерированным формирователем разности 77, где в блоке 86 выполняется энтропийная расшифровка, для расшифровки энтропийных кодовых слов, находящихся в расширенном потоке битов, содержащем информацию без потерь или фактически без потерь.
На выходе блока 85 IntMDCT, таким образом, присутствуют спектральные величины, которые в лучшем случае идентичны MDCT спектральным величинам на выходе блока 75 кодера фиг.7. Они же затем подвергаются инверсионному целочисловому MDCT (инверсионный IntMDCT) для получения закодированного звукового сигнала без потерь или звукового сигнала фактически без потерь (звук без потерь) на выходе блока 87.
Целочисловое MDCT (IntMDCT) является приближением MDCT, однако производит целочисловые выходные величины. Оно получено из MDCT с использованием подъемной схемы. Это работает, в частности, когда MDCT разделен на так называемые повороты Гивенса. Тогда двухступенчатый алгоритм с поворотами Гивенса и последующий DCT-IV результируют как целочисловое MDCT на стороне кодера и с DCT-IV и расположенными ниже несколькими поворотами Гивенса на стороне декодера. В схеме фиг.7 и фиг.8, таким образом, используется квантованный спектр MDCT, генерированный в ААС кодере, чтобы утвердить целочисловой MDCT спектр. Вообще целочисловое MDCT является, таким образом, примером целочислового преобразования, производящего целочисловые спектральные величины и снова временные выборки из целочисловых спектральных величин без потерь, введенных при помощи округления ошибок. Другие целочисловые преобразования существуют отдельно от целочислового MDCT.
Схема масштабирования, показанная на фиг.7 и 8, достаточно эффективна, только когда разности на выходе формирователя разностей 77 являются незначительными. На схеме фиг.7 показан такой случай, так как MDCT и целочисловое MDCT одинаковы и так как IntMDCT в блоке 75 получен из MDCT в блоке 71. Если бы это было не так, схема, показанная там, была бы неподходящей, поскольку тогда дифференциальные величины были бы во многих случаях больше, чем оригинальные величины MDCT, или еще больше, чем оригинальные величины IntMDCT. Тогда схема масштабирования на фиг.7 потеряла бы свою ценность, поскольку расширенный масштабируемый слой, произведенный блоком 78, имеет высокую избыточность относительно основного масштабируемого слоя.
Схемы масштабируемости всегда оптимальны, когда базовый слой включает некоторое число битов, и когда слой расширения включает некоторое число битов, и когда сумма битов в базовом слое и в слое расширения равна числу битов, которые были бы получены, если бы базовый слой уже был кодирован без потерь. Этот оптимальный случай никогда не достигается в практических схемах масштабируемости, что касается слоя расширения, требуются дополнительные сигнальные биты. Этот оптимум, однако, является целью для достижения, насколько это возможно. Поскольку преобразования в блоках 71 и 75 относительно одинаковы на фиг.7, концепция, проиллюстрированная на фиг.7, близка к оптимуму.
Эта простая концепция масштабируемости может, однако, не совсем так применяться к выходному сигналу кодера МР3, поскольку кодер МР3, как было показано, включает не чистый блок фильтров MDCT в качестве блока фильтров, а блок гибридных фильтров, имеющий первую ступень блока фильтров для генерирования различных поддиапазонных сигналов и расположенный ниже MDCT для дальнейшего разрушения поддиапазонных сигналов, где, кроме того, как тоже было указано в стандарте МР3, реализована дополнительная стадия отмены совмещения имен блока гибридных фильтров. Так как целочисловое MDCT в блоке 75 фиг.7 имеет мало общих черт с блоком гибридных фильтров согласно стандарту МР3, прямое применение концепции, показанной на фиг.7, к выходному сигналу МР3 привело бы к очень высоким диффрененциальным величинам на выходе формирователя разностей 77, которые привели бы к чрезвычайно неэффективной концепции масштабирования, поскольку слой расширения требует слишком большого количества битов, чтобы должным образом закодировать дифференциальные величины на выходе формирователя разностей 77.
Возможность генерировать расширенный поток битов для выходного сигнала МР3 показана на фиг.9 для кодера и на фиг.10 для декодера. Кодер МР3 90 кодирует звуковой сигнал и обеспечивает базовый слой 91 на выходной стороне. Закодированный звуковой сигнал МР3 затем передается декодеру МР3 92, обеспечивающему звуковой сигнал с потерями во временном диапазоне. Этот сигнал затем передается IntMDCT блоку, который может, в принципе, быть установлен точно так же, как блок 75 на фиг.7, где этот блок 75 затем производит IntMDCT спектральные величины на выходной стороне, которые передаются формирователю разностей 77, который также включает спектральные величины IntMDCT как дальнейшие входные величины, которые были, однако, генерированы не расшифрованным МР3 звуковым сигналом, а оригинальным звуковым сигналом, который был передан кодеру МР3 90.
На стороне декодера базовый слой снова передается декодеру МР3 92, чтобы обеспечить расшифрованный звуковой сигнал с потерями на выходе 100, который соответствовал бы сигналу на выходе блока 83 на фиг.8. Этот сигнал затем должен быть подвергнут целочисловому MDCT 75, чтобы потом быть закодированным вместе со слоем расширения 93, который был генерирован на выходе формирователя разностей 77. Спектр без потерь затем будет присутствовать на выходе 101 сумматора 102 и должен быть преобразован посредством инверсионного IntMDCT 103 во временном диапазоне для получения расшифрованных звуковых сигналов без потерь, которые соответствовали бы «звуку без потерь» в начале блока 87 фиг.8.
Концепция, показанная на фиг.9 и фиг.10, которая обеспечивает относительно эффективно закодированный слой расширения, точно такой же, как концепция, показанная на фиг.7 и 8, является дорогостоящей как на стороне кодера (фиг.9), так и на стороне декодера (фиг.10). В отличие от концепции на фиг.7 требуется полный декодер МР3 92 и дополнительный IntMDCT 75.
Другим недостатком этой схемы является то, что должен быть описан точный битовый декодер МР3. Это, однако, не планировалось, поскольку стандарт МР3 не представляет точных битовых спецификаций, но только должен быть выполнен декодером в рамках «соответствия».
На стороне декодера далее требуется полная дополнительная стадия IntMDCT 75. Оба дополнительных элемента вызывают дополнительные расходы и являются невыгодными, в особенности для использования в мобильных устройствах, как относительно расходования чипа, так и относительно потребления тока, а также относительно связанной с этим задержки.
Подводя итог, преимуществами концепции, проиллюстрированной на фиг.7 и фиг.8, является то, что по сравнению с методами временного интервала не требуется полной расшифровки адаптированного к звуку закодированного сигнала, и то, что эффективное кодирование получено путем представления ошибки квантования в частотном диапазоне для дополнительной кодировки. Таким образом, метод, стандартизированный ISO/IEC, MPEG-4 Масштабируемое кодирование без потерь (SLS) использует этот подход, как описано в работе Р.Гейгера, Р.Ю, Дж.Херре, С.Рахарджа, С.Кима, X.Лина, М.Шмидта, «ISO/IEC MPEG-4 масштабируемое перспективное звуковое кодирование высокой четкости", 120-ое собрание AES, 20-23 мая, 2006 г., Париж, Франция, репринт 6791. Таким образом, получается обратное совместимое расширение без потерь звуковых кодирующих методов, например MPEG-2/4 ААС, которые используют MDCT в качестве блока фильтров.
Этот подход не может, однако, быть непосредственно применен к широко используемому методу MPEG-1/2 Layer 3 (МР3), так как блок гибридных фильтров, используемый в этом методе, в отличие от MDCT не совместим с IntMDCT или другим целочисловым преобразованием. Таким образом, формирование разности между расшифрованными спектральными величинами и соответствующими IntMDCT величинами вообще не приводит к незначительным дифференциальным величинам и, таким образом, не приводит к эффективному кодированию дифференциальных величин. Суть проблемы здесь - сдвиги во времени между соответствующими функциями модуляции IntMDCT и блоком гибридных фильтров МР3. Они приводят к сдвигам фазы, которые в неблагоприятных случаях даже приводят к тому, что дифференциальные величины включают более высокие величины, чем величины IntMDCT. Также применение принципов, лежащих в основе IntMDCT, таких как, например, подъемная схема, к блоку гибридных фильтров МР3 весьма проблематично, в отношении его основного подхода - в отличие от MDCT - блок гибридных фильтров является блоком фильтров, который не обеспечивает идеальной реконструкции.
КРАТКОЕ ИЗЛОЖЕНИЕ ИЗОБРЕТЕНИЯ
Задача данного изобретения - создать эффективную концепцию обработки звуковых данных, в особенности кодирования или расшифровки звуковых данных.
Эта задача достигнута посредством устройства для постобработки спектральных величин, кодера, декодера или метода или компьютерной программы, описанных в пунктах формулы изобретения.
Настоящее изобретение основано на выводе о том, что спектральные величины, например, представляющие базовый слой схемы масштабирования, то есть, например, МР3 спектральные величины, подвергаются постобработке для получения величин, которые совместимы с соответствующими величинами, полученными согласно альтернативному алгоритму преобразования. Согласно изобретению, таким образом, выполняется постобработка, использующая взвешенные добавления спектральных величин, чтобы результат постобработки был насколько возможно более схож с результатом, полученным, когда тот же самый звуковой сигнал преобразован в спектральный образ, использующий не первый алгоритм преобразования, а второй алгоритм преобразования, который является, в предпочтительных осуществлениях данного изобретения, алгоритмом преобразования целого числа.
Таким образом, был сделан вывод о том, что даже с сильно несовместимым первым алгоритмом преобразования и вторым алгоритмом преобразования посредством взвешенного добавления определенных спектральных величин первого алгоритма преобразования достигается совместимость постобработанных величин с результатами второго преобразования, которая настолько хороша, что может быть сформирован эффективный слой расширения с дифференциальными величинами без необходимости использовать дорогостоящее и поэтому невыгодное кодирование и расшифровку концепции фиг.9 и фиг.10. В частности, взвешенное добавление выполнено так, чтобы постобработанная спектральная величина была генерирована из взвешенного добавления спектральной величины и смежной спектральной величины на выходе первого алгоритма преобразования, где предпочтительно используются как спектральные величины из смежных частотных диапазонов, так и спектральные величины от смежных временных интервалов или временных периодов. Под взвешенным добавлением смежных спектральных величин подразумевается, что в первом алгоритме преобразования смежные фильтры наложения блока фильтров наложены, как это происходит, фактически со всеми блоками фильтров. При использовании временно смежных спектральных величин, то есть взвешенных добавлением спектральных величин (например, той же самой или лишь слегка отличающейся частоты) двух последовательных блоков спектральных величин первого преобразования, далее подразумевается, что используются типичные алгоритмы преобразования, в которых используется наложение блока.
Предпочтительно, чтобы весовые коэффициенты постоянно программировались как на стороне кодера, так и на стороне декодера, чтобы не потребовалось дополнительных битов для передачи весовых коэффициентов. Вместо этого весовые коэффициенты однажды установлены и, например, сохранены в таблице или надежно внедрены в аппаратные средства, поскольку весовые коэффициенты не зависят от сигнала, а зависят только от первого алгоритма преобразования и от второго алгоритма преобразования. В частности, предпочтительно установить весовые коэффициенты так, чтобы импульсная характеристика конструкции первого алгоритма преобразования и постобработки была равна импульсной характеристике второго алгоритма преобразования. В этом отношении оптимизация весовых коэффициентов может производиться вручную или автоматизированно с использованием известных методов оптимизации, например, используя определенные репрезентативные испытательные сигналы или, как указано, непосредственно используя импульсные характеристики результирующих фильтров.
То же самое устройство постобработки может использоваться как на стороне кодера, так и на стороне декодера, чтобы адаптировать фактически несовместимые спектральные величины первого алгоритма преобразования к спектральным величинам второго алгоритма преобразования, чтобы оба блока спектральных величин могли быть подвергнуты формированию разности, чтобы, в конце концов, получить слой расширения для звукового сигнала, который, например МР3 закодированный сигнал, находится в базовом слое и включает расширение без потерь как слой расширения.
Следует заметить, что данное изобретение не лимитировано комбинацией МР3 и целочислового MDCT, но может использоваться всегда, когда спектральные величины фактически несовместимых алгоритмов преобразования должны быть обработаны вместе, например, с целью формирования разности, добавления или любого другого комбинированного процесса в звуковом кодере или звуковом декодере. Предпочтительное использование изобретенного устройства постобработки должно, однако, создавать слой расширения для базового слоя, в котором звуковой сигнал кодируется с определенным качеством, где слой расширения вместе с базовым слоем служит для достижения более высококачественной расшифровки, где эта более высококачественная расшифровка является, предпочтительно, расшифровкой без потерь, но может, однако, также быть фактической расшифровкой без потерь, если качество расшифрованного звукового сигнала улучшается при использовании слоя расширения по сравнению с расшифровкой, использующей только базовый слой.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Ниже предпочтительные осуществления данного изобретения объяснены более подробно со ссылкой на сопровождающие чертежи, на которых:
фиг.1 показывает изобретенное устройство для постобработки спектральных величин;
фиг.2 показывает сторону кодера концепции изобретенного кодера;
фиг.3 показывает сторону декодера концепции изобретенного декодера;
фиг.4 показывает детальную иллюстрацию предпочтительного осуществления изобретенной постобработки и формирования разности для длинных блоков;
фиг.5а показывает предпочтительное использование изобретенного устройства постобработки для коротких блоков согласно первому варианту;
фиг.5b показывает схематическую иллюстрацию блоков величин, принадлежащих концепции, показанной на фиг.5а;
фиг.5с показывает последовательность окон для варианта, показанного на фиг.5а;
фиг.6а показывает предпочтительное использование изобретенного устройства постобработки и формирования разности для коротких блоков согласно второму варианту данного изобретения;
фиг.6b иллюстрирует разнообразные величины для варианта, иллюстрированного на фиг.6а;
фиг.6с показывает растр блока для варианта, иллюстрированного на фиг.6а;
фиг.7 показывает предшествующую иллюстрацию кодера для генерирования масштабного потока данных;
фиг.8 показывает предшествующую иллюстрацию декодера для обработки масштабного потока данных;
фиг.9 показывает неэффективный вариант кодера;
фиг.10 показывает неэффективный вариант декодера.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ОСУЩЕСТВЛЕНИЙ
Фиг.1 показывает изобретенное устройство для постобработки спектральных величин, которые являются, предпочтительно, отображением с потерями звукового сигнала, где спектральные величины имеют базовый первый алгоритм преобразования для преобразования звукового сигнала в спектральный образ, независимо от того факта, с потерями они или без. Изобретенное устройство, показанное на фиг.1, или метод, также схематически показанный на фиг.1 соответственно, отличаются - в отношении устройства - механизмом 12 для создания последовательности блоков спектральных величин, представляющих последовательность блоков сэмплов звукового сигнала. В предпочтительном осуществлении данного изобретения, которое будет иллюстрировано позже, последовательность блоков, созданных механизмом 12, является последовательностью блоков, генерированных блоком фильтров МР3. Последовательность блоков спектральных величин передается изобретенному объединителю 13, где объединитель внедрен для выполнения взвешенного добавления спектральных величин последовательности блоков спектральных величин, чтобы получить на стороне выхода последовательность блоков постобработанных спектральных величин, как показано, выходом 14. В частности, объединитель 13 внедрен для вычисления постобработанной спектральной величины для частотного диапазона и временного периода, спектральной величины последовательности блоков для частотного диапазона и временного периода и спектральной величины для смежного частотного диапазона и/или смежного временного периода. Далее, объединитель внедрен, чтобы использовать такие весовые коэффициенты для весовой обработки используемых спектральных величин, чтобы постобработанные спектральные величины были приближены к спектральным величинам, полученным посредством второго алгоритма преобразования для преобразования звукового сигнала в спектральный образ, где, однако, второй алгоритм преобразования отличается от первого алгоритма преобразования.
Это схематически проиллюстрировано на фиг.1 внизу. Первый алгоритм преобразования представлен номером ссылки 16. Постобработка, выполняемая объединителем, представлена номером ссылки 13, а второй алгоритм преобразования представлен номером ссылки 17. Из блоков 16, 13 и 17 блоки 16 и 17 являются зафиксированными и обязательными из-за внешних условий. Только весовые коэффициенты механизма постобработки 13, или объединителя 13, представленные номером ссылки 18, могут быть установлены пользователем. В этой связи он не зависит от сигнала, а зависит от первого алгоритма преобразования и второго алгоритма преобразования. При помощи весовых коэффициентов 18 можно далее установить, сколько спектральных величин, смежных относительно частоты, или спектральных величин, смежных во времени, объединено друг с другом. Если весовой коэффициент, как это будет объяснено на фиг.4-6, установлен на 0, спектральная величина, связанная с этим весовым коэффициентом, не рассматривается в комбинации.
В предпочтительных осуществлениях данного изобретения для каждой спектральной величины обеспечен комплект весовых коэффициентов. Таким образом, получается значительное количество весовых коэффициентов. Это не проблема, однако, поскольку весовые коэффициенты не должны передаваться, но должны только постоянно программироваться на стороне кодера и на стороне декодера. Если кодер и декодер, таким образом, согласованы на том же самом наборе весовых коэффициентов для каждой спектральной величины и, если применимо, для каждого временного периода, или, как будет показано далее, для каждого субблока или позиции упорядочения, не требуется никакой передачи сигналов для данного изобретения, чтобы изобретенная концепция достигла существенного сокращения скорости передачи данных в слое расширения без какой бы то ни было передачи сигналов дополнительной информации, без каких бы то ни было сопутствующих потерь качества.
Данное изобретение, таким образом, обеспечивает компенсацию фазовых сдвигов между величинами частоты, полученными посредством первого алгоритма преобразования, и величинами частоты, полученными посредством второго алгоритма преобразования, где эта компенсация фазовых сдвигов может быть представлена через сложный спектральный образ. С этой целью включена по причине доходчивости концепция, описанная в DE 10234130, в которой для вычисления воображаемых частей из реального блока фильтров получаются выходные величины линейных комбинаций временно и спектрально смежных спектральных величин. Если бы эта процедура использовалась для расшифрованных спектральных величин МР3, был бы получен комплекснозначный спектральный образ. Каждая из результирующих комплексных спектральных величин может теперь быть модифицирована в отношении положения фазы посредством умножения на комплекснозначный поправочный коэффициент, чтобы, согласно данному изобретению, она как можно ближе подошла ко второму алгоритму преобразования, то есть предпочтительно соответствующая величина IntMDCT, и является, таким образом, подходящей для формирования разности. Далее, согласно изобретению, также выполняется возможно необходимая коррекция амплитуды. Согласно изобретению, эти шаги для формирования комплекснозначного спектрального образа и коррекции фазы или суммы суммируются таким образом, что посредством линейной комбинации спектральных величин на основе первого алгоритма преобразования и его временных и спектральных соседних объектов формируется новая спектральная величина, которая минимизирует разность до соответствующей IntMDCT величины. Согласно изобретению, в отличие от DE 10234130 постобработка выходных величин блока фильтров не выполняется с использованием весовых коэффициентов, чтобы получить реальные и воображаемые части. Вместо этого согласно изобретению постобработка выполняется с использованием таких весовых коэффициентов, как показано на фиг.1 внизу, что комбинация первого алгоритма преобразования 16 и постобработка 13 устанавливается посредством весовых коэффициентов, чтобы результат соответствовал второму алгоритму преобразования в максимально возможной степени.
Фиг.2 и фиг.3 показывают предпочтительную область использования изобретенной концепции, проиллюстрированной на фиг.1, как на стороне кодера (фиг.2), так и на стороне декодера (фиг.3) масштабируемого кодера. Поток битов МР3 20 или вообще поток битов, поскольку он может быть получен посредством первого алгоритма преобразования, подается на блок 21, чтобы генерировать спектральные величины из потока битов, которые являются, например, МР3 спектральными величинами. Расшифровка спектральных величин в блоке 21 будет, таким образом, включать энтропийную расшифровку и инверсионное квантование.
Затем в блоке 10 выполняется вычисление приблизительных величин, где вычисление приблизительных величин или блоков постобработанных спектральных величин выполняется, как показано на фиг.1. Вследствие этого формирование разности выполняется в блоке 22 с использованием IntMDCT спектральных величин, поскольку они получены посредством преобразования IntMDCT в блоке 23. Блок 23, таким образом, получает звуковой сигнал как входной сигнал, из которого поток битов МР3, как будто он подается на вход 20, был получен посредством кодирования. Предпочтительно, чтобы дифференциальные спектры, произведенные блоком 22, подвергались кодированию без потерь 24, которое, например, включает дельта-кодирование, кодирование Хаффмана, арифметическое кодирование или любое другое энтропийное кодирование, посредством которого уменьшается скорость передачи данных, однако никакие потери в сигнал не вводятся.
На стороне декодера поток битов МР3 20, поскольку он также был передан на вход 20 фиг.2, снова подвергается расшифровке спектральных величин блоком 21, который может соответствовать блоку 21 фиг.2. Вследствие этого МР3 спектральные величины, полученные на выходе блока 21, снова обрабатываются согласно Фиг.1 или блоку 10. На стороне декодера, однако, блоки постобработанных спектральных величин, поскольку они произведены блоком 10, передаются на дополнительную стадию 30, которая получает дифференциальные величины IntMDCT на ее другом входе, поскольку они получены расшифровкой без потерь 31 из расширенного потока битов без потерь, который был произведен блоком 24 фиг.2. Посредством добавления IntMDCT дифференциальных величин, произведенных блоком 31, и обработанных спектральных величин, произведенных блоком 10, затем на выходе 32 дополнительной стадии 30 получаются блоки спектральных величин IntMDCT, которые являются отображением без потерь оригинального звукового сигнала, то есть звукового сигнала, который был введен в блок 23 фиг.2. Выходной звуковой сигнал без потерь генерируется блоком 33, который выполняет инверсионный IntMDCT для получения выходного звукового сигнала без потерь или фактически без потерь. В сущности, выходной звуковой сигнал на выходе блока 33 имеет лучшее качество, чем звуковой сигнал, который был бы получен, если бы выходной сигнал блока 21 был обработан посредством синтезирующего гибридного блока фильтров МР3. В зависимости от выполнения выходной звуковой сигнал 33 может быть идентичным отображением звукового сигнала, который был введен в блок 23 фиг.2, или отображением этого звукового сигнала, который не идентичен, то есть не полностью без потерь, но имеет лучшее качество, чем нормальный МР3 закодированный звуковой сигнал.
Здесь следует заметить, что как первый алгоритм преобразования предпочтителен алгоритм преобразования МР3 с его блоком гибридных фильтров, а как второй алгоритм преобразования предпочтителен алгоритм IntMDCT в качестве целочислового алгоритма преобразования. Настоящее изобретение уже имеет ряд преимуществ, однако там, где два алгоритма преобразования отличаются друг от друга, оба алгоритма преобразования не обязательно должны быть целочисловыми алгоритмами преобразования в пределах области преобразования IntMDCT, но могут также быть нормальными алгоритмами преобразования, которые в рамках MDCT не обязательно являются обратимым целочисловым преобразованием. Согласно изобретению предпочтительно, однако, чтобы первый алгоритм преобразования был нецелочисловым алгоритмом преобразования, а второй алгоритм преобразования был целочисловым алгоритмом преобразования, где изобретенная постобработка особенно выгодна, когда первый алгоритм преобразования производит спектры, которые по сравнению со спектрами, произведенными вторым алгоритмом преобразования, являются фазно-перемещенными и/или измененными относительно их количества. В частности, когда первый алгоритм преобразования даже не полностью восстановлен, изобретенная простая постобработка линейной комбинацией особенно выгодна и может эффективно использоваться.
Фиг.4 показывает предпочтительную реализацию объединителя 13 в рамках кодера. Реализация в рамках декодера идентична, если сумматор 22, как на фиг.4, не выполняет формирования разностей, о чем говорит знак минус над сумматором 22, но когда выполняется процедура добавления, как показано в блоке 30 на фиг.3, в каждом случае величины, которые подаются на вход 40, являются величинами, полученными посредством второго алгоритма преобразования 23 фиг.2 для реализации кодера или полученными посредством блока 31 фиг.3 в реализации декодера.
В предпочтительном осуществлении настоящего изобретения объединитель включает три секции 41, 42, 43. Каждая секция включает три множителя 42а, 42b, 42с, где каждый множитель связан со спектральной величиной с коэффициентами частотности k-1, k или k+1. Таким образом, множитель 42а связан с коэффициентом частотности k-1. Множитель 42b связан с коэффициентом частотности k, и множитель 42с связан с коэффициентом частотности k+1.
Каждый переход, таким образом, служит для взвешивания спектральных величин блока, находящегося в обращении, с коэффициентом блока v или n+1, n или n-1, чтобы получить весовые спектральные величины для блока, находящегося в обращении.
-1
Таким образом, вторая секция 42 служит для взвешивания спектральных величин временно предыдущего блока или временно последующего блока. Относительно секции 41, секция 42 служит для взвешивания спектральных величин блока n, временно следующего за блоком n+1, а секция 43 служит для взвешивания блока n-1, следующего за блоком n. Чтобы показать это, элементы задержки 44 обозначены на фиг.4. Для ясности только один элемент задержки «z» обозначен номером ссылки 44.
0
8
В частности, каждый множитель снабжен зависимым от спектрального индекса весовым коэффициентом c(k)-c(k). Таким образом, в предпочтительном осуществлении данного изобретения, получается девять взвешенных спектральных величин, из которых постобработанная спектральная величина у вычисляется для коэффициента частотности k и временного блока n. Эти девять взвешенных спектральных величин обобщены в блоке 45.
Постобработанная спектральная величина для коэффициента частотности k и коэффициента времени n, таким образом, вычисляется посредством добавления, возможно, по-разному взвешенных спектральных величин временно предшествующего блока (n-1), временно последующего блока (n+1), использующих соответственно смежные спектральные величины вверху (k+1) и внизу (k-1). Более простые реализации могут быть, только если спектральная величина для коэффициента частотности k объединена только с одной смежной спектральной величиной k+1 или k-1 из того же самого блока, где эта спектральная величина, объединенная со спектральной величиной коэффициента частотности k, не обязательно должна быть непосредственно смежной, но может также быть другой спектральной величиной из блока. Из-за типичного наложения смежных полос предпочтительно, однако, выполнять комбинацию с непосредственно смежной спектральной величиной сверху и/или снизу.
Далее, альтернативно или дополнительно, каждая спектральная величина со спектральной величиной для различного периода времени, то есть различным индексом блока, может быть объединена с соответствующей спектральной величиной из блока n, где эта спектральная величина из другого блока не обязательно должна иметь тот же самый коэффициент частотности, но может иметь другой, например смежный, коэффициент частотности. Предпочтительно, однако, чтобы, по крайней мере, спектральная величина с тем же самым коэффициентом частотности из другого блока была объединена со спектральной величиной из блока, рассматриваемого в настоящее время. Этот другой блок опять же не обязательно должен быть непосредственно временно смежным, хотя это особенно предпочтительно, когда первый алгоритм преобразования и/или второй алгоритм преобразования имеет характеристику наложения блока, так как это типично для кодеров МР3 или кодеров ААС.
4
Это означает, что когда рассматриваются весовые коэффициенты фиг.4, по крайней мере, весовой коэффициент c (k) не равен 0 и, по крайней мере, второй весовой коэффициент не равен 0, в то время как все другие весовые коэффициенты могут быть равны 0, которые могут также обеспечить обработку, которая, однако, из-за небольшого числа весовых коэффициентов, не равных 0, может быть только относительно грубым приближением второго алгоритма преобразования, если снова рассматривается нижняя половина фиг.1. Чтобы рассмотреть больше девяти спектральных величин, дальнейшие переходы для блоков, находящихся далее в будущем или далее в прошлом, могут быть добавлены. Далее, также дальнейшие множители и дальнейшие соответствующие весовые коэффициенты для спектральных величин, лежащих спектрально дальше, могут быть добавлены, чтобы генерировать область из 3×3 области фиг.4, которая включает больше трех линий и/или больше трех колонок. Было установлено, однако, что когда девять весовых коэффициентов допускаются для каждой спектральной величины, по сравнению с небольшим количеством весовых коэффициентов, достигаются существенные усовершенствования, в то время как, если число весовых коэффициентов возрастает, никакие существенные дальнейшие усовершенствования относительно уменьшения дифференциальных величин на выходе блока 22 не происходят, так что большее число весовых коэффициентов с типичным алгоритмом преобразования с наложением смежных поддиапазонных фильтров и временных наложений смежных блоков не приносит существенных усовершенствований.
Относительно 50-процентного наложения, используемого в последовательности длинных блоков, ссылка делается на схематическую иллюстрацию фиг.5 с на показатель 45 в левой части рисунка, где два последовательных длинных блока проиллюстрированы схематично. Концепция объединителя, показанная на фиг.4, таким образом, всегда используется, согласно изобретению, когда используется последовательность длинных блоков, где длина блока алгоритма IntMDCT 23 и степень наложения алгоритма IntMDCT установлена равной степени наложения анализирующего фильтра МР3 и длине блока анализирующего фильтра МР3. Вообще предпочтительно, чтобы наложение блока и длина блока обоих алгоритмов преобразования были установлены равными, что не представляет специальных ограничений, поскольку второй алгоритм преобразования, то есть, например, IntMDCT 23 фиг.2, может легко быть установлен относительно тех параметров, в то время как то же самое не так легко достигается с первым алгоритмом преобразования, в частности, когда первый алгоритм преобразования стандартизирован как пример МР3, часто используется и не может быть изменен.
Как уже было показано со ссылкой на фиг.2 и фиг.3, связанный декодер фиг.3 реверсирует формирование разности снова путем добавления тех же самых приблизительных величин, то есть дифференциальных величин IntMDCT на выходе блока 22 фиг.2 или на выходе блока 31 фиг.3.
Согласно изобретению этот метод может широко применяться для формирования разности между спектральными представлениями, полученными при использовании различных блоков фильтров, то есть когда один блок фильтров/преобразования, лежащий в основе первого алгоритма преобразования, отличается от блока фильтров/преобразования, лежащего в основе второго алгоритма преобразования.
Один пример конкретного применения - использование спектральных величин МР3 из «длинного блока» в соединении с IntMDCT, как это было описано со ссылкой на фиг.4. Поскольку частотное разрешение блока гибридных фильтров в этом случае составляет 576, IntMDCT будет также включать частотное разрешение, равное 576, так что длина окна может включать максимум 1152 временные выборки.
В описанном ниже примере используются только прямые временные и спектральные соседние объекты, в то время как обычно могут использоваться также (или альтернативно) величины, находящиеся дальше.
Если спектральная величина k-диапазона в n-блоке МР3 обозначена х (k, n) и соответствующая спектральная величина IntMDCT обозначена y (k, n), разность вычисляется, как показано на фиг.4 для d (k, n). y (k, n) является величиной аппроксимации для y (k, n), полученных посредством линейной комбинации, и определяется, как было показано, длинным уравнением ниже фиг.4.
Следует заметить, что из-за различной разности фаз для каждого из 576 поддиапазонов может потребоваться набор разных коэффициентов. При практической реализации, как показано на фиг.4, для доступа ко временно смежным спектральным величинам используются задержки 44, выходные величины которых соответствуют входным величинам в соответствующем предшествующем блоке. Чтобы обеспечить доступ ко временно последующим спектральным величинам, также спектральные величины IntMDCT, применяемые к входу 40, отсрочены задержкой 46.
Фиг.5а показывает несколько измененную процедуру, когда блок гибридных фильтров МР3 обеспечивает короткие блоки, где три субблока соответственно генерированы 192 спектральными величинами, где кроме первого варианта фиг.5а согласно изобретению предпочтителен также второй вариант фиг.6а.
0
1
2
Первый вариант основан на тройном применении IntMDCT с частотным разрешением 192 для формирования соответствующих блоков спектральных величин. Величины аппроксимации могут быть сформированы из трех величин, принадлежащих коэффициенту частотности и их соответствующим спектральным соседним объектам. Для каждого субблока требуется отдельный набор коэффициентов. Для описания процедуры вводится индекс субблока, так чтобы n снова соответствовал индексу полного блока длины 576. Выраженная в виде уравнения получается, таким образом, система уравнений фиг.5а. Такая последовательность блоков показана на фиг.5b со ссылкой на величины и на фиг.5с со ссылкой на окна. Кодер МР3 обеспечивает короткие блоки МР3, как проиллюстрировано показателем 50. Первый вариант также обеспечивает короткие IntMDCT блоки y (u), y (u) и y (u), как проиллюстрировано показателем 51 на фиг.5b. Таким образом, могут быть вычислены три коротких дифференциальных блока 52, так что 1:1 отображение заканчивается между соответствующей спектральной величиной на частоте k в блоках 50, 51 и 52.
0
1
2
Следует заметить, что на фиг.5а, в отличие от фиг.4, задержки 44 не обозначены. Это происходит из-за того, что постобработка может быть выполнена, только когда все три субблока 0, 1, 2 для блока n были вычислены. Если субблок с индексом 0 - временно первый субблок, и если следующий субблок с индексом 1 - временно более поздний блок, и если индекс u=2 - снова временно более поздний короткий блок, то дифференциальный блок для индекса u=0 вычисляется с использованием спектральных величин из субблока u, субблока u и субблока u. Это означает, что только со ссылкой на рассчитанные в настоящее время субблоки с индексом 0 используются будущие субблоки 1, и 2, однако без всяких прошлых спектральных величин. Это разумно, поскольку осуществлялось переключение на короткие блоки, поскольку, как известно, был переходный результат в звуковом сигнале и в качестве примера было проиллюстрировано в вышеупомянутой экспертной публикации Эдлера. Постобработанные величины для субблока, имеющего индекс 1, использовавшиеся для получения дифференциальных величин, имеющих индекс субблока 1, вычисляются из временно предшествующих, временно находящихся в обращении и временно последующих субблоков, в то время как постобработанные спектральные величины для третьего субблока с индексом 2 не вычисляются с использованием будущих субблоков, а только с использованием прошлых субблоков, имеющих индекс 1 и индекс 0, что также технически разумно, поскольку снова, как показано на фиг.5с, легко переключиться на длинные окна при помощи окна остановки (стоп), так чтобы позже снова могла быть выполнена замена непосредственно на схему длинных блоков фиг.4.
Фиг.5 делает понятным, что в особенности в случае с короткими блоками может быть разумно изучить только прошлое или будущее и не всегда, как показано на фиг.4, и прошлое, и будущее, чтобы получить спектральные величины, которые обеспечивают постобработанную спектральную величину после взвешивания и суммирования.
Далее проиллюстрирован второй вариант для коротких блоков со ссылкой на фиг.6а, 6b и 6с. Во втором варианте частотное разрешение IntMDCT все еще 576, так что три спектрально смежные IntMDCT спектральные величины лежат в частотном диапазоне одной спектральной величины МР3. Таким образом, для каждой из тех трех спектральных величин IntMDCT для формирования разности создается отдельная линейная комбинация из трех временно последующих субблоков спектральных величин и их спектральных соседних объектов, где индекс s, который также называют индексом команды, указывает положение в каждой группе трех. Таким образом, получается уравнение, показанное на фиг.6а ниже блок-схемы. Этот второй вариант особенно подходит, если функция окна с маленькой областью наложения используется в IntMDCT, поскольку тогда рассматриваемая секция сигнала хорошо согласуется с секцией трех субблоков. В этом случае, как и в случае с первым вариантом, предпочтительно адаптировать формы окон IntMDCT предшествующих или последующих длинных блоков, так чтобы происходила полная реконструкция. Соответствующая блок-схема для первого варианта показана на фиг.5с. Соответствующая диаграмма для второго варианта показана на фиг.6с, где теперь генерируется один единственный длинный блок IntMDCT посредством длинного окна 63, где этот длинный блок IntMDCT включает k тройные блоки спектральных величин, где полоса пропускания такого тройного блока, результирующая из s=0, s=1 и s=2, равна полосе пропускания блока k коротких МР3 блоков 60 на фиг.6b. На фиг.6а можно заметить, что для вычитания из первой спектральной величины с s=0 для тройного блока, имеющего индекс k, снова используются величины находящегося в обращении, будущего и следующего будущего субблока 0, 1, 2, однако величины из прошлого не используются. Для вычисления дифференциальной величины для второй величины s=1 тройной группы используются спектральные величины из предыдущего субблока и будущего субблока, в то время как для вычисления дифференциальной спектральной величины, имеющей индекс команды s=2, используются только предшествующие субблоки, что проиллюстрировано переходами 41 и 42, которые являются прошлыми со ссылкой на переход 43 фиг.6а.
Здесь нужно отметить, что по всем инструкциями по вычислению каждый из элементов, превышающих пределы частотного диапазона, то есть, например, коэффициент частотности -1, или 576, или 192, опущен. В этих случаях согласно примерам на фиг.4-6 линейная комбинация, таким образом, уменьшена до 6 вместо 9 элементов.
Далее дана детальная ссылка на последовательности окон на фиг.5с и фиг.6с. Последовательности окон состоят из последовательности длинных блоков, поскольку они обработаны по сценарию фиг.4. Вслед за этим идет окно старта 56, имеющее асимметричную форму, поскольку оно «конвертировано» из длинной области наложения в начале окна старта в короткую область наложения в конце окна старта. Аналогично этому, существует окно остановки 57, которое снова конвертировано из последовательности коротких блоков в последовательность длинных блоков и, таким образом, включает короткую область наложения в начале и длинную область наложения в конце.
Переключение окна, как показано в упомянутой экспертной публикации Эдлера, выбирается, если период времени в звуковом сигнале выявляется кодером, который включает переходный сигнал.
Такая передача сигналов локализована в потоке битов МР3, так чтобы, когда IntMDCT, согласно фиг.2 и согласно первому варианту фиг.5с, также переключается на короткие блоки, никакого особого переходного обнаружения не требовалось, но имело место переходное обнаружение, базируемое только на сообщении короткого окна в МР3 потоке битов. Для постобработки величин в окне старта предпочтительно, из-за длинной области наложения с предыдущим окном, использовать блоки с предыдущим индексом блока n-1, в то время как блоки с последующим индексом блока только слегка взвешены или вообще не используются из-за короткой области наложения. Аналогично этому, окно остановки для постобработки будет рассматривать только величины с будущим индексом n+1 блока в дополнение к величинам для находящихся в обращении блоков n, но будет выполнять только слабое взвешивание или взвешивание, равное 0, то есть никакого использования из прошлого, то есть, например, из третьего короткого блока.
Как показано на фиг.6с, когда последовательность окон, реализованная IntMDCT 23, то есть вторым алгоритмом преобразования, не выполняет переключения на короткие окна, однако реализует предпочтительно используемое переключение окон, тогда предпочтительно инициировать или завершать окно с коротким наложением, обозначенным показателем 63 на фиг.6с, а также окном старта 56 и окном остановки 57.
Хотя в осуществлении, проиллюстрированном на фиг.6с, IntMDCT фиг.2 не меняется на режим короткого окна, передача сигналов коротких окон в потоке битов МР3 может так или иначе использоваться для активации переключения окна окном старта, окном с коротким наложением, как показано на фиг.6с, показатель 63, и окном остановки.
Далее следует отметить, что, в частности, последовательности окон, проиллюстрированные в стандарте ААС, адаптированы к длине блока МР3 или подаче МР3 соответственно 576 величинам для длинных блоков и 192 величинами для коротких блоков, а также, что показанные там окна старта и остановки, являются особенно подходящими для реализации IntMDCT в блоке 23 настоящего изобретения.
Далее сделана ссылка на точность приближения первого алгоритма преобразования и постобработки.
Для 576 входных сигналов, имеющих один импульс в положении 0…575 в пределах блока, выполняются следующие шаги:
- вычисление блока гибридных фильтров + приближение;
- вычисление MDCT;
- вычисление квадрата суммы спектральных компонентов MDCT;
- вычисление квадрата суммы отклонений между спектральными компонентами MDCT и приближением. Здесь определяется квадрат максимального отклонения по всем 576 сигналам.
Относительный максимальный квадрат отклонения по всем положениям был, когда использовались
- длинные блоки согласно фиг.4, приблизительно 3.3%;
- короткие блоки (гибридные) и длинные блоки (MDCT) согласно фиг.6, приблизительно 20.6%.
Можно, таким образом, сказать, что с импульсом на входах двух преобразований квадрат суммы отклонений между приближением и спектральными компонентами второго преобразования не должен быть больше 30% (и предпочтительно даже не больше 25% или 10% соответственно) квадрата суммы спектральных компонентов второго преобразования, независимо от положения импульса на входе блока. Для вычисления квадрата суммы нужно рассмотреть все блоки спектральных компонентов, на которые влияет импульс.
Следует заметить, что в вышеупомянутой проверке ошибок (MDCT в отличие от блока гибридных фильтров + постобработка) всегда рассматривалась относительная ошибка, являющаяся независимым сигналом.
В IntMDCT (в отличие от MDCT), однако, абсолютная ошибка - независимый сигнал и находится в диапазоне от приблизительно -2 до 2 округленных целочисловых величин. Отсюда делаем вывод, что относительная ошибка становится зависимым сигналом. Чтобы устранить эту зависимость сигнала, предпочтительно, чтобы принимался полностью контролируемый импульс (например, величина 32767 на 16-битовой кодово-импульсной модуляции).
Это приведет к фактически плоскому спектру со средней амплитудой, приблизительно равной 32767/квадратный корень (576)=1365 (сохранение энергии). Среднеквадратическая ошибка тогда была бы около 2^2/1365^2=0.0002%, то есть незначительна.
При очень низком импульсе на входе ошибка была бы серьезной. Импульс амплитуды 1 или 2 был бы фактически полностью потерян в IntMDCT ошибке приближения.
Критерий ошибок точности приближения, то есть желательная величина весового коэффициента, лучше всего сопоставима, когда она указана для полностью контролируемого импульса.
В зависимости от обстоятельств изобретенный метод может быть реализован в аппаратных средствах или в программном обеспечении. Реализация может осуществляться на цифровом носителе данных, в частности на дискете или компакт-диске, имеющем электронно-считываемые управляющие сигналы, которые могут взаимодействовать с программируемой компьютерной системой так, чтобы метод мог выполняться. В общем, изобретение также заключается в компьютерном программном продукте, хранящем код программы на машиночитаемом носителе для осуществления изобретенного метода, когда компьютерный программный продукт запущен на компьютере. Другими словами, изобретение может быть реализовано как компьютерная программа, имеющая код программы для осуществления метода, когда компьютерная программа запущена на компьютере.