Декодирование кодированных с предсказанием данных с использованием адаптации буфера

Иллюстрации

Показать все

3Изобретение относится к декодированию сжатой цифровой информации, в частности к декодированию битовых потоков, отражающих контент, который сжат с применением методов кодирования с долговременным предсказанием. Декодер (например, декодер AAC-LTP) принимает поток, содержащий кодированные аудиоданные и данные предсказания. Кодированные данные во время декодирования подвергают повышающей или понижающей дискретизации. Части декодированных данных хранят в буфере для их использования при декодировании последующих кодированных данных. Буфер, в который помещают декодированные данные, имеет размеры, отличные от размеров буфера, используемого в кодере при создании кодированных данных. Часть данных в буфере декодера идентифицируют и модифицируют с использованием перемежающихся нулевых значений, чтобы обеспечить соответствие размерам буфера кодирования с предсказанием в кодере. Технический результат - повышение качества звука при декодировании. 6 н. и 13 з.п. ф-лы, 11 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[01] Изобретение в основном относится к декодированию сжатой цифровой информации. В частности, по меньшей мере несколько вариантов осуществления этого изобретения относятся к декодированию битовых потоков, отражающих контент, который сжат с применением одного или более методов, использующих кодирование с долговременным предсказанием.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

[02] Для того чтобы минимизировать количество данных, которые должны быть сохранены и/или переданы через канал связи, контент (например, аудио и/или видеоинформация) часто уплотняется в поток данных, содержащий меньшее число битов, чем это потребовалось бы в противном случае. Разработаны многочисленные способы такого сжатия. Некоторые из этих способов используют методы кодирования с предсказанием. Например, формат усовершенствованного звукового кодирования (Advanced Audio Coding, AAC), определяемый различными стандартами экспертной группы по кинематографии (Motion Picture Experts Group, MPEG), включает несколько наборов средств кодирования (и последующего декодирования) аудиоконтента (например, музыки). Эти средства, или профили, включают профили: основной (Main), с низкой сложностью (Low Complexity, LC), с масштабируемой частотой дискретизации (Scalable Sampling Rate, SSR) и с долговременным предсказанием (Long-Term Prediction, LTP). Кодирование LTP может обеспечивать более высокое качество звука для конечного пользователя, но за счет повышения требований к вычислениям. В результате это может привести к необходимости использования дополнительной памяти и аппаратных средств обработки в таком устройстве, как мобильный телефон или цифровой музыкальный плеер. Кроме того, коммерческая необходимость может требовать, чтобы устройства, предназначенные для декодирования и воспроизведения аудиоданных ААС, имели возможность работы с несколькими профилями. Например, пользователям часто требуется загружать музыку из разнообразных источников. Некоторые из этих источников могут кодировать музыку с использованием профиля AAC-LC, тогда как другие источники могут кодировать музыку с помощью профиля AAC-LTP.

[03] На фиг.1А приведена блок-схема, показывающая общую структуру кодирующего устройства AAC-LTP. Хотя функционирование таких кодеров (и некоторых соответствующих декодеров) является общеизвестным, ниже приводится его обзор, чтобы обеспечить основу для последующего описания. Поступающий аудиосигнал во временной области (в виде функции от времени) принимается устройством 1 долговременного предсказания, модифицированным дискретным косинусным преобразованием (MDCT) 2 и психоакустической моделью 3. Устройство 1 долговременного предсказания формирует данные (коэффициенты предсказания и задержку, соответствующую периоду основного тона), которые могут использоваться для предсказания текущего входного сигнала во временной области на основе сигналов во временной области для предыдущих частей аудиопотока. Версии этих предыдущих частей во временной области принимаются в качестве входных сигналов из обратного модифицированного дискретного косинусного преобразования (IMDCT) 4 и из банка фильтров синтеза (не показан) и сохраняются устройством долговременного предсказания в буфере (также не показан на фиг.1А). Коэффициенты предсказания и задержка, соответствующая периоду основного тона, подаются устройством 1 долговременного предсказания в мультиплексор 11 потока битов. Предсказанный звук (т.е. аудиосигнал во временной области, который будет результатом применения вычисленных коэффициентов предсказания и задержки) преобразуется в частотную область устройством MDCT 5.

[04] Поступающий аудиосигнал во временной области подается также в отдельное устройство MDCT 2. В отличие от устройства MDCT 5, которое преобразует только предсказанную версию аудиосигнала, устройство MDCT 2 преобразует в частотную область исходный поступающий аудиосигнал. Выходной сигнал из MDCT 2 подается в частотно-избирательный коммутатор (FSS) 7 (рассматривается ниже) и в сумматор 6. Сумматор 6 вычисляет разность между выходным сигналом MDCT 5 (версией предсказанного аудиосигнала в частотной области) и выходным сигналом MDCT 2 (версией исходного аудиосигнала в частотной области). Фактически, выходной сигнал сумматора 6 (или ошибка предсказания) является разностью между фактическим аудиосигналом и предсказанной версией того же самого сигнала. Выход ошибки предсказания из сумматора 6 подается на коммутатор FSS 7.

[05] Коммутатор FSS 7 принимает управляющие входные сигналы от психоакустической модели 3. Психоакустическая модель 3 содержит полученные экспериментальным образом перцепционные данные, относящиеся к частотным диапазонам, которые воспринимаются слушателями. Психоакустическая модель 3 также содержит данные относительно определенных типов акустических шаблонов, которые плохо моделируются с использованием долговременного предсказания. Например, сегменты с быстрым изменением или кратковременным сигналом могут быть затруднительными для моделирования путем предсказания. Психоакустическая модель 3 исследует поступающий аудиосигнал во временной области и определяет, какие поддиапазоны должны представляться посредством ошибки предсказания (из сумматора 6), коэффициентов предсказания (из устройства 1 предсказания) и задержки (также из устройства 1 предсказания), а какие поддиапазоны следует представить коэффициентами MDCT исходного аудиосигнала (из модуля преобразования MDCT 2). На основе данных из психоакустической модели 3 коммутатор FSS 7 выбирает данные, пересылаемые в блок 8 для квантования и кодирования. Для поддиапазонов, для которых должно использоваться предсказание, коэффициенты ошибки предсказания из сумматора 6 пересылаются в квантователь/кодер 8. Для других поддиапазонов в квантователь/кодер 8 пересылается выходной сигнал MDCT 2. Выходной управляющий сигнал коммутатора FSS 7 содержит флаг для каждого поддиапазона, указывающий, возможно ли долговременное предсказание для этого поддиапазона.

[06] Сигнал из FSS 7 затем дискретизируется в квантователе/кодере 8 (например, с использованием кодирования по методу Хаффмана). Перцепционные данные из психоакустической модели 3 также используются квантователем/кодером 8. Затем выходной сигнал квантователя/кодера 8 мультиплексируется в блоке 11 с управляющими данными из устройства 1 долговременного предсказания (например, коэффициентами предсказания и задержкой) и коммутатора FSS 7 (флаги поддиапазонов). Из блока 11 мультиплексированные данные затем подаются в канал связи (например, для передачи по радио или Интернету) или в среду для хранения. Выходной сигнал квантователя/кодера 8 также подается в обратный квантователь 9. Выходной сигнал обратного квантователя 9 пересылается в обратный частотно-избирательный коммутатор (IFSS) 10 аналогично выходному сигналу MDCT 5 и управляющим сигналам (флагам поддиапазонов) из FSS 7. Затем коммутатор IFSS 10 для каждого поддиапазона, для которого квантованные коэффициенты ошибок предсказания переданы в поток битов, выдает сумму деквантованных коэффициентов ошибок предсказания и выходного сигнала MDCT 5. Для каждого поддиапазона, для которого квантованный выходной сигнал MDCT 2 передается в поток битов, коммутатор IFSS предоставляет деквантованный выходной сигнал MDCT 2. Выходной сигнал IFSS затем преобразуется обратно во временную область преобразователем IMDCT 4. Выходной сигнал во временной области из IMDCT 4 затем подается в устройство 1 долговременного предсказания. Часть выходного сигнала IMDCT 4 сохраняется непосредственно в буфере предсказания, описанном выше; другие части этого буфера хранят полностью восстановленные кадры аудиоданных (во временной области), сформированные методом "перекрытия-суммирования" (overlap-add) (в банке фильтров синтеза) из выходного сигнала IMDCT 4.

[07] На фиг.1В приведена блок-схема, отражающая общую структуру декодера AAC-LTP. Поступающий поток битов демультиплексируется в блоке 15. Флаги поддиапазонов из FSS 7 (фиг.1А) подаются в коммутатор IFSS 17. Коэффициенты предсказания и задержка, соответствующая периоду основного тона, из устройства 1 долговременного предсказания на фиг.1А подаются в предсказатель 20 основного тона. Квантованные данные из FSS 7 на фиг.1А деквантуются в обратном квантователе 16, а затем подаются в коммутатор IFSS 17. На основе соответствующих значений флагов поддиапазонов коммутатор IFSS 17 определяет, возможно ли долговременное предсказание для различных поддиапазонов. Для поддиапазонов, для которых предсказание оказалось невозможным, коммутатор IFSS 17 просто пересылает выходные данные обратного квантователя 16 в IMDCT 18. Для поддиапазонов, для которых имелась возможность предсказания, IFSS 17 добавляет выходные данные обратного квантователя 16 (то есть деквантованные коэффициенты ошибок предсказания) к выходному сигналу MDCT 21 (рассмотренному выше) и пересылает результат в IMDCT 18. Преобразователь IMDCT 18 затем преобразует выходной IFSS 17 обратно во временную область. Выходной сигнал преобразователя IMDCT 18 используется затем для перекрытия-суммирования в банке фильтров синтеза (не показан), чтобы выдать полностью восстановленный сигнал во временной области, который является близкой копией исходного входного аудиосигнала на фиг.1А. Этот полностью восстановленный сигнал во временной области может затем обрабатываться посредством цифроаналогового преобразователя (не показан на фиг.1В) для воспроизведения, например, с помощью одного или более громкоговорителей.

[08] Последние части выходного сигнала во временной области из IMDCT 18 и полностью восстановленный сигнал во временной области из банка фильтров синтеза сохраняются также в буфере 19 долговременного предсказания (LTP). Буфер 19 LTP имеет такие же размеры, как буфер в устройстве 1 долговременного предсказания на фиг.1А, и предназначается для дублирования его содержимого. Данные из буфера 19 LTP используются предсказателем 20 основного тона (совместно со значениями коэффициентов предсказания и задержки), чтобы предсказывать поступающий аудиосигнал во временной области. Выходной сигнал предсказателя 20 основного тона соответствует выходному сигналу устройства 1 долговременного предсказания, подаваемому в MDCT 5 на фиг.1А. Затем выходной сигнал предсказателя 20 основного тона преобразуется в частотную область в MDCT 21, и выходной сигнал MDCT 21 подается в IFSS 17.

[09] Обычная структура буфера 19 LTP (как это устанавливается соответствующими стандартами MPEG-4) показана на фиг.1C. Кадр t-1 является самым последним полностью восстановленным сигналом во временной области, сформированным посредством перекрытия-суммирования сигналов во временной области в банке фильтров синтеза (не показан) в декодере. Кадр t - это выходной сигнал во временной области из IMDCT 18, и он является трансформированным сигналом во временной области, используемым для перекрытия-суммирования в следующем кадре, который будет выдан банком фильтров синтеза. Кадр t-2 - это полностью восстановленный кадр из предыдущего временного периода. Размер (или длина) N каждого кадра равна 1024 отсчетам. Блок с пунктирной линией в правой части буфера LTP представляет собой кадр, содержащий 1024 отсчета с нулевой амплитудой. Этот блок, содержащий все нули, фактически не является частью буфера 19 LTP. Он используется, чтобы концептуально указать местоположение нулевой точки задержки фильтра долговременного предсказания. В частности, когда значение задержки, соответствующей периоду основного тона, имеет максимальную величину, тогда 2048 отсчетов во временной области прогнозируются на основе 2048 отсчетов в кадрах t-1 и t-2. Когда задержка находится между минимальным и максимальным значениями (например, в точке, обозначенной как "задержка L"), тогда для предсказания 2048 Отсчетов используются 2048 отсчетов перед местоположением значения задержки (т.е. справа от точки L на фиг.1C). Когда задержка меньше 1024, тогда для отсчетов с номером 1023 и ниже используются нули из буфера LTP. Например, когда задержка имеет минимальное значение (нулевая задержка), 1024 отсчета из кадра t и 1024 отсчета с нулевой амплитудой используются для предсказания 2048 отсчетов. Хотя использование амплитуд, содержащих одни нули, приводит к снижению точности воспроизведения звука, это уменьшает потребность в памяти для буфера LTP. Так как нулевые или очень низкие значения задержки встречаются относительно редко, это не оказывает существенного влияния на качество звука.

[10] Декодер, аналогичный показанному на фиг.1В, и соответствующий буфер LTP, показанный на фиг.1C, часто используются в мобильном устройстве, таком как портативный музыкальный плеер или мобильный терминал. Такие устройства часто имеют ограниченные вычислительные ресурсы и память. Добавление дополнительной памяти и возможностей обработки часто является дорогостоящим, повышающим тем самым общую стоимость устройства. Так как декодер и буфер используют достаточно большое количество этих ресурсов, они могут иметь ограниченные возможности для размещения дополнительных функций. Например, для устройств воспроизведения звука часто желательно иметь возможность быстрого перемещения вперед. Если производительность аудиоплеера повышается, различные операции декодирования могут выполняться с еще большей скоростью. В качестве другого примера, для устройства, которое декодирует и воспроизводит аудиопоток, может потребоваться быстрое выполнение какой-либо другой задачи (например, возможность ответа на поступающий телефонный вызов или другое сообщение). Если возможности обработки и емкость памяти не увеличены или не могут быть уменьшены ресурсы на обработку и память, необходимые для декодирования аудиосигнала и воспроизведения, возможно, что устройство не сможет одновременно выполнять несколько задач.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

[11] Здесь представлены в упрощенном виде концепции, которые ниже будут рассмотрены подробно. Этот обзор не предназначается для определения ключевых или важнейших признаков заявленного изобретения, а предназначается для помощи в определении объема заявленного изобретения.

[12] По меньшей мере некоторые варианты осуществления изобретения включают способ обработки кодированных данных с использованием методов предсказания, базирующихся на предыдущих данных в буфере кодирования с предсказанием, имеющем известные размеры. После кодирования и передачи (и/или сохранения) декодер принимает поток, содержащий кодированные данные и информацию предсказания, которая формируется при кодировании с предсказанием. Кроме того, декодер принимает коэффициент, указывающий, должны ли (и на какую величину) кодированные данные подвергаться повышающей или понижающей дискретизации во время процесса декодирования. При декодировании кодированных данных части декодированных данных сохраняются в буфере для их использования при декодировании последующих кодированных данных на основе последующей информации предсказания. Буфер, в который помещаются декодированные данные, имеет размеры, отличные от размеров буфера, используемого во время операций предсказания, выполняемых кодером. Часть данных в буфере декодера идентифицируется и затем модифицируется, для того чтобы соответствовать размерам буфера кодирования с предсказанием. В некоторых вариантах осуществления изобретения такое модифицирование включает вставку нулевых значений между элементами идентифицированных данных.

[13] В определенных вариантах осуществления изобретения кодированные данные представлены в частотной области, и декодирование включает их преобразование во временную область. В некоторых таких вариантах осуществления изобретения модифицированные данные из буфера декодера сначала преобразуют в частотную область. Такие преобразованные и модифицированные данные затем масштабируют и добавляют к коэффициентам ошибок предсказания в частотной области, а результирующие значения затем преобразуют во временную область.

[14] По меньшей мере в некоторых вариантах осуществления изобретения декодер обеспечивает повышающую дискретизацию во время декодирования кодированных данных. При декодировании кодированных данных только выбранные отсчеты из кадра полностью восстановленных отсчетов во временной области сохраняют в кадре буфера, соответствующем текущим данным.

[14а] В одном из вариантов осуществления изобретения устройство для декодирования кодированных с предсказанием данных содержит декодер, включающий средство для преобразования отсчетов в частотной области, кодирующих N отсчетов во временной области, в N*F отсчетов во временной области, где F - коэффициент повышающей или понижающей дискретизации, средство предсказания и средство для адаптации выходного сигнала указанного средства преобразования для использования в средстве предсказания. При этом, если F - коэффициент повышающей дискретизации, то средство для адаптации конфигурируется так, чтобы обновлять кадр буфера долговременного предсказания с использованием каждого F-го отсчета из полностью восстановленного выходного кадра во временной области. Если же F - коэффициент понижающей дискретизации, то средство для адаптации конфигурируется так, чтобы расширять 2N*F отсчетов во временной области в части долговременного буфера до 2N отсчетов во временной области.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[15] Предшествующий обзор изобретения, а также последующее подробное описание иллюстративных вариантов его осуществления будут более понятны при рассмотрении вместе с сопроводительными чертежами, которые даны в качестве примера, а не с целью ограничения заявленного изобретения.

[16] На фиг.1А приведена блок-схема, показывающая общую структуру стандартного кодера AAC-LTP.

[17] На фиг.1В приведена блок-схема, показывающая общую структуру стандартного декодера AAC-LTP.

[18] На фиг.1C приведена блок-схема стандартного буфера LTP в декодере, показанном на фиг.1В.

[19] На фиг.2 представлена блок-схема одного из примеров системы, в которой могут использоваться варианты осуществления изобретения.

[20] На фиг.3 представлена блок-схема одного из примеров мобильного устройства, сконфигурированного для приема и декодирования аудиосигналов в соответствии по меньшей мере с некоторыми вариантами осуществления изобретения.

[21] На фиг.4 представлена блок-схема декодера в соответствии по меньшей мере с некоторыми вариантами осуществления изобретения, адаптированными для обеспечения понижающей дискретизации.

[22] На фиг.5 показан буфер LTP из декодера на фиг.4 в том случае, когда коэффициент прореживания равен 2.

[23] На фиг.6A-6D демонстрируется вычисление массива XLTP [] из буфера LTP на фиг.5 при различных обстоятельствах.

[24] На фиг.7А и 7В приведены блок-схемы, показывающие операции декодера на фиг.4 в соответствии по меньшей мере с некоторыми вариантами осуществления изобретения.

[25] На фиг.8А и 8В показано, как адаптируется буфер LTP, чтобы настроить его для повышающей дискретизации по меньшей мере в некоторых вариантах осуществления изобретения.

[26] На фиг.9А и 9В приведены блок-схемы, демонстрирующие работу декодера по меньшей мере в некоторых вариантах осуществления изобретения, когда осуществляется повышающая дискретизация.

[27] На фиг.10 представлена блок-схема декодера в соответствии по меньшей мере с некоторыми вариантами осуществления изобретения, адаптированными для обеспечения повышающей дискретизации.

[28] На фиг.11 представлена блок-схема декодера в соответствии по меньшей мере с некоторыми вариантами осуществления изобретения, адаптированными для обеспечения как повышающей, так и понижающей дискретизации.

ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

[29] Хотя варианты осуществления изобретения будут рассмотрены здесь на примере связи в соответствии с форматом усовершенствованного звукового кодирования (Advanced Audio Coding, AAC) и профиля долговременного предсказания (Long-Term Prediction, LTP), как это определено стандартом MPEG-4 экспертной группы по кинематографии (Motion Picture Experts Group) (ISO-14496), изобретение этим не ограничивается. В частности, изобретение также применимо для других схем кодирования, в которых кодированный поток данных создается с использованием способов кодирования с предсказанием.

[30] На фиг.2 представлена блок-схема одного из примеров системы, в которой могут использоваться варианты осуществления изобретения. Источник 30 выдает сжатые аудиосигналы AAC-LTP для передачи удаленным пользователям. Источник 30 может производить этот вывод AAC-LTP путем обработки в реальном времени входного аудиосигнала (не показано) или посредством организации доступа к предварительно сжатому аудиосигналу, который сохранен в базе 31 данных. Источник 30 производит беспроводную передачу аудиосигнала AAC-LTP в мобильные устройства 32 (например, мобильные телефоны, сконфигурированные для приема и декодирования сжатых аудиосигналов от источника 30). Мобильные устройства 32 могут взаимодействовать с широкомасштабной беспроводной сетью (например, с мобильной телефонной сетью, сетью 3GPP и т.д.), могут взаимодействовать с небольшими беспроводными сетями (например, с сетью BLUETOOTH), могут взаимодействовать через беспроводные линии Интернета, могут принимать широковещательные передачи (например, спутниковые радиопередачи) и т.д. Источник 30 также обеспечивает передачу сжатых сигналов AAC-LTP через проводную сеть (например, проводные подключения к Интернету) для их загрузки посредством таких устройств, как персональный компьютер 34.

[31] На фиг.3 представлена блок-схема одного из примеров мобильного устройства 32, сконфигурированного для приема и декодирования аудиосигналов AAC-LTP в соответствии по меньшей мере с некоторыми вариантами осуществления изобретения. Беспроводные передачи от источника 30 принимаются через антенну 40. Поступающий радиосигнал демодулируется или же обрабатывается в блоке 41, для того чтобы восстановить переданный цифровой поток битов данных. Контроллер 43 (например, микропроцессор (µР)) принимает восстановленный цифровой сигнал из блока 41. Контроллер 43 выделяет управляющие сигналы (например, коэффициенты предсказания и задержку, флаги поддиапазонов) из квантованных компонентов в частотной области, соответствующих выходному сигналу коммутатора FSS в источнике 30, аналогично FSS 7 на фиг.1А. Контроллер 43 выполняет деквантование этих компонентов в частотной области и предоставляет эти компоненты (с управляющими сигналами) в цифровой сигнальный процессор (DSP) 46.

Процессор DSP 46 затем использует эти данные так, как это описано ниже, для формирования сигнала во временной области. Сигнал во временной области из DSP 46 подается в цифроаналоговый преобразователь (DAC) 47 и выводится через громкоговоритель 49. Оперативная память 44 используется, чтобы сохранить инструкции для функционирования контроллера 43 и процессора 46, а также для буферизации данных (например, для использования в качестве буфера LTP). Постоянная память (ROM) может также использоваться, чтобы хранить программные инструкции для контроллера 43 и/или DSP 46.

[32] Конфигурация на фиг.3 является только одним из примеров. В других вариантах осуществления изобретения может отсутствовать отдельный процессор DSP, а вся обработка выполняется в единственном процессоре. Может быть также опущена отдельная оперативная память - вместо этого используется контроллер и/или процессор DSP, имеющие внутреннюю оперативную память. Контроллер 43, DSP 46 и RAM 44 обычно представлены в виде одной или более встроенных схем (микросхем или набора микросхем).

[33] На фиг.4 представлена блок-схема декодера в соответствии по меньшей мере с некоторыми из вариантов осуществления изобретения. Это устройство декодирует сигнал обычного кодера, такого как представленный на фиг.1А. В некоторых вариантах осуществления изобретения операции, представленные блоками 67, 68, 70, 20 и 21 на фиг.4 (а также банк фильтров синтеза и другие элементы, не показанные на фиг.4), осуществляются посредством выполнения программных инструкций процессором DSP 46 вместе с блоком 69 (буфером LTP), реализованным в отдельной оперативной памяти RAM 44. Однако, как указано выше, один или несколько из блоков 67, 68, 70, 20 и 21 (и/или других элементов) может, в качестве альтернативы, реализовываться путем исполнения программных инструкций в контроллере 43. Аналогично, оперативная память RAM 69 может входить в состав процессора DSP 46 и/или контроллера 43 вместо использования отдельной памяти RAM 44.

[34] Демультиплексор 15 потока битов, обратный квантователь 16, предсказатель 20 основного тона и преобразователь MDCT 21 работают аналогично компонентам на фиг.1В, имеющим такую же нумерацию. Коммутатор IFSS 67 может выполнять функции устройства IFSS 17, показанного на фиг.1В, но, кроме того, он может выполнять и дополнительные операции, как это описано ниже. Преобразователь IMDCT 68 может функционировать аналогично устройству IMDCT 18 на фиг.1В. Однако IMDCT 68 также конфигурирован для выполнения понижающей дискретизации в отношении выходного аудиосигнала в ответ на входной коэффициент прореживания (decimFactor). В частности, IMDCT 68 уменьшает с коэффициентом decimFactor число коэффициентов MDCT, которые обрабатываются при преобразовании сигнала из частотной области обратно во временную область. Когда выполняется понижающая дискретизация, это влияет также на количество отсчетов в кадрах, хранимых в буфере LTP 69. Например, когда decimFactor = 2, каждый кадр в буфере LTP 69 содержит только 512 отсчетов (по сравнению с 1024 отсчетами встандартных буферах LTP). Хотя понижающая дискретизация уменьшает объем вычислений, выполняемых в IMDCT 68, и снижает требования к объему памяти, необходимому для буфера LTP, это приводит к особой проблеме. В частности, буфер LTP для понижающей дискретизации не будет соответствовать буферу устройства долговременного предсказания в кодере AAC-LTP, который изначально создал кодированный сигнал. Если не выполнить дополнительные шаги, то субкомпонент аудиосигнала, основанный на содержимом буфера LTP 69, не будет согласован с соответствующим субкомпонентом, предсказанным в кодере.

[35] На фиг.5 показан буфер LTP 69 в том случае, когда decimFactor = 2. Аналогично стандартному буферу LTP, показанному на фиг.1C, кадр t заполняется выходными данными трансформированного сигнала во временной области из IMDCT 68, а кадр t-1 заполняется самым последним полностью восстановленным кадром во временной области, выдаваемым банком фильтров синтеза. В связи с понижающей дискретизацией, как это указано выше, кадры буфера LTP 69 короче, чем кадры буфера LTP кодера. Для того чтобы адаптироваться к этому несоответствию, по меньшей мере в некоторых вариантах осуществления изобретения сначала идентифицируется часть Xd буфера LTP 69. В частности, вычисляется значение смещения (lagd) на основе значения задержки переданного из кодера, и затем Xd заполняется содержимым буфера LTP 69, начиная со значения lagd и в направлении, обратном времени (влево на фиг.5), для двух длин кадров текущего буфера LTP 69 (1024 отсчета в примере на фиг.5). Отсчеты Xd затем расширяются препроцессором 70 так, как это описано ниже, для того чтобы более точно соответствовать буферу LTP в кодере.

[36] На фиг.6А более подробно показан буфер LTP 69 и массив данных Xd. Начальная точка для Xd идентифицируется с помощью lagd; конечная точка для Xd идентифицируется на основе текущего коэффициента прореживания (decimFactor). Ниже приводится описание процедуры вычисления значения lagd. По меньшей мере в некоторых вариантах осуществления изобретения Xd реализуется как массив, имеющий 1024/decimFactor элементов (т.е. Xd [0,1,2,… (1024/decimfactor-1)]). Элемент массива Xd [0] заполняется отсчетом из буфера LTP 69 после начальной точки (отсчет n на фиг.6А), элемент Xd [1] заполняется следующим отсчетом (n+1) и т.д.; а элемент Xd [1023] заполняется «последним» отсчетом. Затем Xd [] расширяется в массив XLTP [], который имеет такое же количество отсчетов, какое используется устройством долговременного предсказания в кодере (например, 1024 отсчета). Для того чтобы массив XLTP [] имел более полное сходство с отсчетами, использованными для предсказания устройством долговременного предсказания в кодере, содержимое Xd [] равномерно распределяется по длине XLTP [] с использованием нулевых значений, вставленных для промежуточных интервалов отсчетов в XLTP []. Как показано на фиг.6А, результатом этого является: XLTP [0] = Xd [0], XLTP [1] = 0, XLTP [2] = Xd [1],… XLTP [1023]=0.

[37] По меньшей мере в некоторых вариантах осуществления изобретения, как это показано на фиг.6В, массив XLTP [] заполняется несколько отличным способом, когда значение параметра lagOffset = 0 (вычисление lagOffset описывается ниже). В таком случае порядок нулей и элементов массива Xd [] меняется на обратный. Это делается для того, чтобы выдать полностью совмещенный по времени предсказанный сигнал во временной области, который получился бы, если параметр decimFactor был бы равен 1. Фиг.6С и 6D аналогичны фиг.6А и 6В, но на этих фигурах показано формирование массива XLTP [], когда decimFactor = 4.

[38] Отсчеты массива XLTP [] используются предсказателем 20 основного тона, чтобы сформировать предсказание для исходного аудиосигнала во временной области. Это предсказание будет аппроксимировать предсказание, которое формируется на выходе устройства долговременного предсказания в кодере (например, сигнал, переданный из устройства 1 долговременного предсказания в MDCT 5 на фиг.1А). Затем выходной сигнал предсказателя 20 основного тона подается в MDCT 21 для преобразования в частотную область. По меньшей мере в некоторых вариантах осуществления изобретения это приводит к формированию массива XMDCT [], содержащего коэффициенты MDCT. Как понятно специалистам в этой области техники, массив XMDCT [] не обязательно будет иметь такое же количество элементов, как массив XLTP []. Коэффициенты MDCT в массиве XMDCT [] затем подаются в IFSS 67. Затем коммутатор IFSS 67 добавляет коэффициенты XMDCT [] к деквантованным коэффициентам предсказания ошибок (например, выходной сигнал сумматора 6 на фиг.1А) с использованием описанного ниже способа.

[39] На фиг.7А и 7В приведены блок-схемы, демонстрирующие функционирование декодера AAC-LTP в соответствии по меньшей мере с некоторыми вариантами осуществления изобретения, как это описано выше в отношении фиг.4-6D. Описание работы декодера начинается, как показано на фиг.7А, и продолжается в блоке 80, в котором осуществляется прием поступающего потока данных (например, демультиплексором 15 потока битов). Поступающий поток данных содержит флаги поддиапазонов и информацию предсказания (например, коэффициенты предсказания и задержку, соответствующую периоду основного тона, с выхода устройства 1 предсказания на фиг.1А), а также квантованные данные в частотной области. Для некоторых поддиапазонов данные в частотной области являются результатом преобразования MDCT исходного входного аудиосигнала (например, выходной сигнал MDCT 2 на фиг.1А). Для других поддиапазонов данные в частотной области являются значениями ошибок предсказания (например, в виде выходного сигнала сумматора 6 на фиг.1А).

[40] Декодер переходит к блоку 81, где флаги поддиапазонов и информация предсказания извлекается из принятого потока данных. Флаги поддиапазонов пересылаются в IFSS 67 (фиг.4), а информация предсказания пересылается в предсказатель 20 основного тона. Задержка, соответствующая периоду основного тона, также пересылается в препроцессор 70. Возвращаясь к фиг.7А, декодер затем переходит к блоку 82, где квантованные данные в частотной области деквантуются и пересылаются в IFSS 67. Обработка продолжается в блоке 83, где декодер идентифицирует (используя флаги поддиапазонов и IFSS 67) поддиапазоны, которые требуется воспроизвести, используя данные предсказания, и поддиапазоны, которые требуется воспроизвести из коэффициентов MDCT исходного входного аудиосигнала.

[41] В блоке 84 для поддиапазонов, которые будут воспроизводиться с использованием данных предсказания, декодер объединяет деквантованные значения ошибки предсказания (выходной сигнал сумматора 6 на фиг.1А) с предсказаниями в частотной области, базирующимися на содержимом буфера LTP 69 (XMDCT [], как это описано выше). В частности, отсчеты в частотной области из MDCT 21 (XMDCT []) масштабируются и добавляются к значениям ошибок предсказания (представленным для удобства как массив Xq []). Когда не производится понижающая дискретизация, значения в XMDCT [] масштабируются с коэффициентом (cLTP), переданным в декодер в потоке данных. Когда производится понижающая дискретизация, декодер добавляет XMDCT [] к Xq [] в IFSS 67 в соответствии со следующим псевдокодом (соблюдается синтаксис языка программирования С).

[42] В приведенном выше коде «ltp_bands» - это ограничение частотных диапазонов, для которых могут передаваться сигналы ошибки предсказания. Для вариантов осуществления изобретения, реализованных с использованием кодирования AAC-LTP, это значение задается соответствующим стандартом MPEG-4. Другими словами, псевдоакустическая модель будет обычно задавать поддиапазоны поступающих аудиосигналов, которые требуется воспроизвести посредством коэффициентов MDCT (выход MDCT 2 на фиг.1А) или посредством коэффициентов предсказания ошибок (выход сумматора 6 на фиг.1А). Если каждый из этих поддиапазонов нумеруется как 0, 1, 2,… k, то значение «ltp_bands» - это самый большой из этих номеров, соответствующий поддиапазону, в котором используется долговременное предсказание. Значение «Itp_used [sfb]» указывает, возможно ли долговременное предсказание для поддиапазона «sfb». Иначе говоря, «ltp_used []» - это массив флагов поддиапазонов, подаваемый на вход IFSS 67 на фиг.4.

Массивы «startBinOffset []» и «endBinOffset []» содержат соответственно начальные и конечные индексы для каждого поддиапазона. В частности, «startBinOffset [sfb]» и «endBinOffset [sfb]» - это соответственно начальный и конечный индекс для поддиапазона «sfb». Начальные и конечные индексы для всех поддиапазонов задаются также соответствующими стандартами MPEG-4. Переменная «scale» равна cLTP или адаптивному поправочному коэффициенту, полученному из коэффициента LTP и из свойств квантованного спектра, как показано в уравнении 1.

Уравнение 1:

,

где

если квантованные значения для диапазона «sfb» равны нулю, или в ином случае

c2LTP=cLTP.

[43] Как понятно специалистам в этой области техники, возможно отсутствие предсказанных значений (XMDCT []) во время одного или нескольких начальных проходов цикла алгоритма, показанного на фиг.7А. В таких случаях массив XMDCT [] может быть сначала заполнен нулями.

[44] Из блока 84 декодер переходит в блок 85 и определяет (например, на основе принятого коэффициента прореживания), требуется ли выполнять понижающую дискретизацию. Если это не требуется, декодер переходит по ветви «Нет» к блоку 86 и обрабатывает обычным способом данные в частотной области из IFSS 67. Препроцессор 70 (фиг.4) бездействует, когда не используется понижающая дискретизация, и массив XLTP [] получается из буфера LTP 69 традиционным образом. Из блока 86 декодер переходит к блоку 87 (описанному ниже). Если в блоке 85 декодер определяет, что необходимо выполнять понижающую дискретизацию, он продолжает работу, переходя (через межстраничный соединитель А) к фиг.7В.

[45] В блоке 101 на фиг.7В декодер перемещает содержимое кадра t-1 буфера LTP 69 в кадр t-2 и сохраняет отсчеты из самого последнего полностью восстановленного кадра во временной области (выданного банком фильтров синтеза) в кадре t-1. В блоке 102 декодер, используя IMDCT 68, создает трансформированные отсчеты данных во временной области, используя данные в частотной области из IFSS 67 и коэффициент прореживания, и сохраняет эти трансформированные отсчеты в кадре t буфера LTP 69. В блоке 103 декодер вычисляет значение lagd, используя уравнения 2 и 3.

Уравнение 2:

Уравнение 3:

Величина «Itp_lag» в уравнениях 2 и 3 - это переданное кодером значение задержки LTP, соответствующей периоду основного тона; это значение предполагает, что буфер LTP имеет с