УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ МНОГОКАНАЛЬНОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ ПОВТОРНОЙ ДИСКРЕТИЗАЦИИ СПЕКТРАЛЬНОЙ ОБЛАСТИ
APPARATUS AND METHOD FOR ENCODING OR DECODING A MULTICHANNEL SIGNAL USING A REPEATED DISCRETISATION OF A SPECTRAL REGION

Настоящая заявка относится к стерео обработке или, в общем, многоканальной обработке, где многоканальный сигнал имеет два канала, такие как левый канал и правый канал в случае стереосигнала, или более, чем два канала, как, например, три, четыре, пять или любое другое количество каналов.
Стереофоническая речь и конкретно разговорная стереофоническая речь получила намного меньше научного внимания, чем хранение и широковещание стереофонической музыки. В самом деле, в передачах речи в настоящее время все еще большей частью используется монофоническая передача. Однако с увеличением сетевой полосы пропускания и пропускной способности, представляется, что передачи на основе стереофонических технологий станут более популярными и принесут более хороший опыт прослушивания.
Эффективное кодирование стереофонического аудиоматериала в течение длительного времени исследовалось в перцепционном кодировании аудио музыки для эффективного хранения или широковещания. При высоких битрейтах, где сохранение волновой формы является решающим моментом, в течение длительного времени использовалось основанное на суммарно-разностном преобразовании стерео, известное как основанное на среднем/вспомогательном (M/S) сигналах стерео. Для низких битрейтов, было введено основанное на интенсивности кодирование стерео и в более позднее время параметрическое кодирование стерео. Последний упомянутый способ был принят в разных стандартах, таких как HeAACv2 и Mpeg USAC. Он генерирует понижающее микширование двухканального сигнала и ассоциирует компактную пространственную вспомогательную информацию.
Объединенное кодирование стерео обычно строится над высоким частотным разрешением, то есть, низким временным разрешением, время-частотным преобразованием сигнала, и в таком случае является не совместимым с низкой задержкой и обработкой временной области, выполняемой в большинстве кодеров речи. Более того, порожденный битрейт является обычно высоким.
С другой стороны, параметрическое стерео использует дополнительный блок фильтров, расположенный во фронтальном конце кодера в качестве процессора предварительной обработки и в заднем конце декодера в качестве процессора последующей обработки. Поэтому, параметрическое стерео может использоваться со стандартными кодерами речи, такими как ACELP, как это делается в MPEG USAC. Более того, параметризация слуховой сцены может достигаться с минимальным объемом вспомогательной информации, что является подходящим для низких битрейтов. Однако параметрическое стерео, как, например, в MPEG USAC, не спроектировано конкретно для низкой задержки и не доставляет совместимое качество для разных разговорных сценариев. В стандартном параметрическом представлении пространственной сцены, ширина стереоизображения искусственно воспроизводится декоррелятором, применяемым на упомянутых двух синтезированных каналах, и управляется параметрами когерентности между каналами (IC), вычисляемыми и передаваемыми кодером. Для большей части стереофонической речи, этот способ расширения стереоизображения не является подходящим для восстановления естественного окружения речи, которая является в значительной степени прямым звуком, так как она производится одиночным источником, расположенным в конкретном положении в пространстве (иногда с некоторой реверберацией от помещения). В противоположность, музыкальные инструменты имеют намного более естественную ширину, чем речь, что может более хорошо имитироваться посредством декоррелирования каналов.
Проблемы также происходят, когда речь записывается с помощью несовмещенных микрофонов, как, например, в конфигурации A-B, когда микрофоны являются отдаленными друг от друга, или для бинауральной записи или воспроизведения. Эти сценарии могут предусматриваться для захвата речи в телеконференциях или для создания виртуально слуховой сцены с отдаленными говорящими в блоке управления с множеством пунктов (MCU). Тогда время прибытия сигнала различается от одного канала к другому в отличие от записей, сделанных на совмещенных микрофонах, как, например, X-Y (основанная на интенсивности запись) или M-S (основанная на среднем-вспомогательном сигналах запись). Вычисление когерентности таких не выровненных по времени двух каналов может тогда неверно оцениваться, что производит к неудаче в искусственном синтезе окружения.
Ссылками предшествующего уровня техники, относящимися к стерео обработке, являются патент США 5,434,948 или патент США 8,811,621.
Документ WO 2006/089570 A1 раскрывает почти прозрачную или прозрачную схему многоканального кодера/декодера. Схема многоканального кодера/декодера дополнительно генерирует сигнал остатка типа волновой формы. Этот сигнал остатка передается вместе с одним или более многоканальными параметрами в декодер. В отличие от чисто параметрического многоканального декодера, усовершенствованный декодер генерирует многоканальный выходной сигнал, имеющий улучшенное выходное качество из-за дополнительного сигнала остатка. На стороне кодера, левый канал и правый канал оба фильтруются посредством блока фильтров анализа. Затем, для каждого сигнала поддиапазона, вычисляются значение выравнивания и значение усиления для поддиапазона. Такое выравнивание затем выполняется до дополнительной обработки. На стороне декодера, выполняется устранение выравнивания и обработка усиления и соответствующие сигналы затем синтезируются посредством блока фильтров синтеза, чтобы генерировать декодированный левый сигнал и декодированный правый сигнал.
С другой стороны, параметрическое стерео использует дополнительный блок фильтров, расположенный во фронтальном конце кодера в качестве процессора предварительной обработки и в заднем конце декодера в качестве процессора последующей обработки. Поэтому, параметрическое стерео может использоваться со стандартными кодерами речи, такими как ACELP, как это делается в MPEG USAC. Более того, параметризация слуховой сцены может достигаться с минимальным объемом вспомогательной информации, что является подходящим для низких битрейтов. Однако параметрическое стерео, как, например, в MPEG USAC, не спроектировано конкретно для низкой задержки и вся система демонстрирует очень высокую алгоритмическую задержку.
Целью настоящего изобретения является обеспечить улучшенную концепцию для многоканального кодирования/декодирования, которая является эффективной и в положении, чтобы получать низкую задержку.
Эта цель достигается посредством устройства для кодирования многоканального сигнала в соответствии с пунктом 1 формулы, способа кодирования многоканального сигнала в соответствии с пунктом 24 формулы, устройства для декодирования кодированного многоканального сигнала в соответствии с пунктом 25 формулы, способа декодирования кодированного многоканального сигнала в соответствии с пунктом 42 формулы или компьютерной программы в соответствии с пунктом 43 формулы.
Настоящее изобретение основывается на обнаружении, что, по меньшей мере, часть и предпочтительно все части многоканальной обработки, то есть объединенной многоканальной обработки, выполняются в спектральной области. Конкретно, является предпочтительным выполнять операцию понижающего микширования объединенной многоканальной обработки в спектральной области и, дополнительно, операции временного и фазового выравнивания или даже процедуры для анализа параметров для объединенной стерео/объединенной многоканальной обработки. Дополнительно, повторная дискретизация спектральной области выполняется либо после многоканальной обработки или даже до многоканальной обработки, чтобы обеспечивать выходной сигнал из дополнительного спектрально-временного преобразователя, который находится уже на выходной частоте дискретизации, требуемой для последовательно соединенного базового кодера.
На стороне декодера, является предпочтительным еще раз выполнять, по меньшей мере, операцию для генерирования первого канального сигнала и второго канального сигнала из подвергнутого понижающему микшированию сигнала в спектральной области и, предпочтительно, выполнять даже всю обратную многоканальную обработку в спектральной области. Дополнительно, обеспечивается время-спектральный преобразователь для преобразования подвергнутого базовому декодированию сигнала в представление спектральной области и, внутри частотной области, выполняется обратная многоканальная обработка. Повторная дискретизация спектральной области либо выполняется до многоканальной обратной обработки, или выполняется после многоканальной обратной обработки таким образом, что, в конце, спектрально-временной преобразователь преобразует спектрально подвергнутый повторной дискретизации сигнал во временную область на выходной частоте дискретизации, которая предполагается для выходного сигнала временной области.
Поэтому, настоящее изобретение обеспечивает возможность полностью избегать каких-либо вычислительных интенсивных операций повторной дискретизации временной области. Вместо этого, многоканальная обработка комбинируется с повторной дискретизацией. Повторная дискретизация спектральной области, в предпочтительных вариантах осуществления, либо выполняется посредством усечения спектра в случае понижающей дискретизации, или выполняется посредством дополнения нулями спектра в случае повышающей дискретизации. Эти легкие операции, то есть усечение спектра с одной стороны или дополнение нулями спектра с другой стороны и предпочтительные дополнительные масштабирования для учета некоторых операций нормализации, выполняемых в алгоритмах преобразования спектральной области/временной области, таких как алгоритм DFT или FFT, завершают операцию повторной дискретизации спектральной области очень эффективным способом с низкой задержкой.
Дополнительно, было обнаружено, что, по меньшей мере, часть или даже вся объединенная стерео обработка/объединенная многоканальная обработка на стороне кодера и соответствующая обратная многоканальная обработка на стороне декодера является подходящей для исполнения в частотной области. Это является действительным не только для операции понижающего микширования в качестве минимальной объединенной многоканальной обработки на стороне кодера или обработки повышающего микширования в качестве минимальной обратной многоканальной обработки на стороне декодера. Вместо этого, даже анализ стереосцен и выравнивания по времени/фазе на стороне кодера или устранения выравнивания по фазе и времени на стороне декодера могут выполняться в спектральной области также. То же применяется к предпочтительно выполняемому кодированию вспомогательного канала на стороне кодера или синтезу и использованию вспомогательного канала для генерирования упомянутых двух декодированных выходных каналов на стороне декодера.
Поэтому, преимущество настоящего изобретения состоит в том, чтобы обеспечить новую схему кодирования стерео, намного более подходящую для преобразования стереофонической речи, чем существующие схемы кодирования стерео. Варианты осуществления настоящего изобретения обеспечивают новую инфраструктуру для достижения стереокодека с низкой задержкой и интегрирования общего стерео инструмента, выполняемого в частотной области, для обоих базового кодера речи и основанного на MDCT базового кодера внутри переключаемого аудио кодека.
Варианты осуществления настоящего изобретения относятся к гибридному подходу, смешивающему элементы из стандартного M/S стерео или параметрического стерео. Варианты осуществления используют некоторые аспекты и инструменты из объединенного кодирования стерео и другие из параметрического стерео. Более конкретно, варианты осуществления используют дополнительный частотно-временной анализ и синтез, осуществляемые во фронтальном конце кодера и в заднем конце декодера. Время-частотная декомпозиция и обратное преобразование достигается посредством использования либо блока фильтров, или блочного преобразования с комплексными значениями. Из упомянутых двух каналов или многоканального ввода, стерео или многоканальная обработка комбинирует и модифицирует входные каналы в выходные каналы, упоминаемые как средний и вспомогательный сигналы (MS).
Варианты осуществления настоящего изобретения обеспечивают решение для уменьшения алгоритмической задержки, вводимой модулем стерео, и конкретно от разделения на кадры и осуществления оконной обработки их блока фильтров. Это обеспечивает многочастотное обратное преобразование для обеспечения переключаемого кодера, такого как 3GPP EVS или кодер, переключающийся между кодером речи, таким как ACELP, и общим кодером аудио, таким как TCX, посредством формирования одного и того же сигнала стерео обработки на разных частотах дискретизации. Более того, это обеспечивает оконную обработку, адаптированную для разных ограничений системы с низкой задержкой и низкой сложностью, также как для стерео обработки. Дополнительно, варианты осуществления обеспечивают способ для комбинирования и повторной дискретизации разных декодированных результатов синтеза в спектральной области, где также применяется обратная стерео обработка.
Предпочтительные варианты осуществления настоящего изобретения содержат многофункциональные возможности в модуле повторной дискретизации спектральной области, генерирующем не только одиночный подвергнутый повторной дискретизации спектральной области блок спектральных значений, но, дополнительно, дополнительную подвергнутую повторной дискретизации последовательность блоков спектральных значений, соответствующую другой более высокой или более низкой частоте дискретизации.
Дополнительно, многоканальный кодер сконфигурирован с возможностью дополнительно обеспечивать выходной сигнал на выходе спектрально-временного преобразователя, который имеет такую же частоту дискретизации, что и исходный первый и второй канальный сигнал, введенный во время-спектральный преобразователь на стороне кодера. Таким образом, многоканальный кодер обеспечивает, в вариантах осуществления, по меньшей мере, один выходной сигнал на исходной входной частоте дискретизации, что предпочтительно используется для основанного на MDCT кодирования. Дополнительно, обеспечивается, по меньшей мере, один выходной сигнал на промежуточной частоте дискретизации, которая является конкретно полезной для кодирования ACELP, и дополнительно обеспечивает дополнительный выходной сигнал на дополнительной выходной частоте дискретизации, которая также является полезной для кодирования ACELP, но которая отличается от другой выходной частоты дискретизации.
Эти процедуры могут выполняться либо для среднего сигнала или для вспомогательного сигнала или для обоих сигналов, полученных из первого и второго канального сигнала многоканального сигнала, где первый сигнал также может быть левым сигналом и второй сигнал может быть правым сигналом в случае стереосигнала, имеющего только два канала (дополнительно к, например, низкочастотному каналу усиления).
В дополнительных вариантах осуществления, базовый кодер многоканального кодера сконфигурирован с возможностью работать в соответствии с управлением разделением на кадры, и время-спектральный преобразователь и спектрально-временной преобразователь процессора последующей стерео обработки и модуль повторной дискретизации также сконфигурированы с возможностью работать в соответствии с дополнительным управлением разделением на кадры, которое синхронизировано с управлением разделением на кадры базового кодера. Синхронизация выполняется таким образом, что начальная граница кадра или конечная граница кадра каждого кадра из последовательности кадров базового кодера находится в предварительно определенном отношении к начальному моменту или конечному моменту перекрывающейся части окна, используемого время-спектральным преобразователем или спектрально-временным преобразователем, для каждого блока из последовательности блоков значений дискретизации или для каждого блока из подвергнутой повторной дискретизации последовательности блоков спектральных значений. Таким образом, гарантируется, что последующие операции разделения на кадры работают в синхронности друг с другом.
В дополнительных вариантах осуществления, базовым кодером выполняется операция опережающего просмотра с частью опережающего просмотра. В этом варианте осуществления, является предпочтительным, чтобы часть опережающего просмотра также использовалась окном анализа время-спектрального преобразователя, где используется часть перекрытия окна анализа, которая имеет длину во времени, которая меньше, чем или равна длине во времени части опережающего просмотра.
Таким образом, посредством обеспечения того, чтобы часть опережающего просмотра базового кодера и часть перекрытия окна анализа были равны друг другу, или посредством обеспечения того, чтобы часть перекрытия была даже более малой, чем часть опережающего просмотра базового кодера, время-спектральный анализ процессора предварительной стерео обработки не может осуществляться без какой-либо дополнительной алгоритмической задержки. Чтобы обеспечивать, чтобы эта подвергнутая оконной обработке часть опережающего просмотра не оказывала слишком сильное влияние на функциональные возможности опережающего просмотра базового кодера, является предпочтительным исправлять эту часть с использованием обратной к функции окна анализа.
Чтобы обеспечивать, что это делается с хорошей устойчивостью, квадратный корень из формы окна синуса используется вместо формы окна синуса в качестве окна анализа и окно синтеза в виде синуса в степени 1.5 используется для цели оконной обработки синтеза до выполнения операции перекрытия на выходе спектрально-временного преобразователя. Таким образом, обеспечивается, что исправляющая функция принимает значения, которые уменьшены по отношению к их амплитудам по сравнению с исправляющей функцией, которая является обратной к функции синуса.
На стороне декодера, однако, является предпочтительным использовать такие же формы окон анализа и синтеза, так как нет никакого требуемого исправления, конечно. С другой стороны, является предпочтительным использовать временной интервал на стороне декодера, где существует временной интервал между концом ведущей перекрывающейся части окна анализа время-спектрального преобразователя на стороне декодера и моментом времени в конце кадра, выводимого базовым декодером на стороне многоканального декодера. Таким образом, выходные отсчеты базового декодера внутри этого временного интервала не требуются для цели оконной обработки анализа процессору последующей стерео обработки немедленно, но требуются только для обработки/оконной обработки следующего кадра. Такой временной интервал может, например, осуществляться посредством использования неперекрывающейся части обычно в середине окна анализа, что дает результатом укорочение перекрывающейся части. Однако также могут использоваться другие альтернативы для осуществления такого временного интервала, но осуществление временного интервала посредством неперекрывающейся части в середине является предпочтительным способом. Таким образом, этот временной интервал может использоваться для других операций базового декодера или операций сглаживания между предпочтительно событиями переключения, когда базовый декодер переключается из частотной области на кадр временной области, или для любых других операций сглаживания, которые могут быть полезными, когда происходят изменения параметров или изменения характеристик кодирования.
Впоследствии, предпочтительные варианты осуществления настоящего изобретения описываются подробно по отношению к сопровождающим чертежам, на которых:
Фиг. 1 является блок-схемой одного варианта осуществления многоканального кодера;
Фиг. 2 иллюстрирует варианты осуществления повторной дискретизации спектральной области;
Фиг. 3a-3c иллюстрируют разные альтернативы для выполнения время/частотных или частотно/временных преобразований с разными нормализациями и соответствующими масштабированиями в спектральной области;
Фиг. 3d иллюстрирует разные частотные разрешения и другие относящиеся к частоте аспекты для некоторых вариантов осуществления;
Фиг. 4a иллюстрирует блок-схему одного варианта осуществления кодера;
Фиг. 4b иллюстрирует блок-схему соответствующего варианта осуществления декодера;
Фиг. 5 иллюстрирует один предпочтительный вариант осуществления многоканального кодера;
Фиг. 6 иллюстрирует блок-схему одного варианта осуществления многоканального декодера;
Фиг. 7a иллюстрирует один дополнительный вариант осуществления многоканального декодера, содержащего модуль комбинирования;
Фиг. 7b иллюстрирует один дополнительный вариант осуществления многоканального декодера, дополнительно содержащего модуль комбинирования (сложение);
Фиг. 8a иллюстрирует таблицу, показывающую разные характеристики окна для нескольких частот дискретизации;
Фиг. 8b иллюстрирует разные предложения/варианты осуществления для блока фильтров DFT в качестве осуществления время-спектрального преобразователя и спектрально-временного преобразователя;
Фиг. 8c иллюстрирует последовательность двух окон анализа преобразования DFT с временным разрешением, равным 10 мс;
Фиг. 9a иллюстрирует схематическую оконную обработку кодера в соответствии с первым предложением/вариантом осуществления;
Фиг. 9b иллюстрирует схематическую оконную обработку декодера в соответствии с первым предложением/вариантом осуществления;
Фиг. 9c иллюстрирует окна в кодере и декодере в соответствии с первым предложением/вариантом осуществления;
Фиг. 9d иллюстрирует предпочтительную блок-схему последовательности операций, иллюстрирующую вариант осуществления исправления;
Фиг. 9e иллюстрирует блок-схему последовательности операций, дополнительно иллюстрирующую вариант осуществления исправления;
Фиг. 9f иллюстрирует блок-схему последовательности операций для описания варианта осуществления стороны декодера с временным интервалом;
Фиг. 10a иллюстрирует схематическую оконную обработку кодера в соответствии с четвертым предложением/вариантом осуществления;
Фиг. 10b иллюстрирует схематическую оконную обработку декодера в соответствии с четвертым предложением/вариантом осуществления;
Фиг. 10c иллюстрирует окна в кодере и декодере в соответствии с четвертым предложением/вариантом осуществления;
Фиг. 11a иллюстрирует схематическую оконную обработку кодера в соответствии с пятым предложением/вариантом осуществления;
Фиг. 11b иллюстрирует схематическую оконную обработку декодера в соответствии с пятым предложением/вариантом осуществления;
Фиг. 11c иллюстрирует кодер и декодер в соответствии с пятым предложением/вариантом осуществления;
Фиг. 12 является блок-схемой одного предпочтительного варианта осуществления многоканальной обработки с использованием понижающего микширования в сигнальном процессоре;
Фиг. 13 является одним предпочтительным вариантом осуществления обратной многоканальной обработки с операцией повышающего микширования внутри сигнального процессора;
Фиг. 14a иллюстрирует блок-схему последовательности операций процедур, выполняемых в устройстве для кодирования для цели выравнивания каналов;
Фиг. 14b иллюстрирует один предпочтительный вариант осуществления процедур, выполняемых в частотной области;
Фиг. 14c иллюстрирует один предпочтительный вариант осуществления процедур, выполняемых в устройстве для кодирования с использованием окна анализа с частями дополнения нулями и диапазонами перекрытия;
Фиг. 14d иллюстрирует блок-схему последовательности операций для дополнительных процедур, выполняемых внутри одного варианта осуществления устройства для кодирования;
Фиг. 15a иллюстрирует процедуры, выполняемые посредством одного варианта осуществления устройства для декодирования и кодирования многоканальных сигналов;
Фиг. 15b иллюстрирует один предпочтительный вариант осуществления устройства для декодирования по отношению к некоторым аспектам; и
Фиг. 15c иллюстрирует процедуру, выполняемую в контексте устранения широкополосного выравнивания в инфраструктуре декодирования кодированного многоканального сигнала.
Фиг. 1 иллюстрирует устройство для кодирования многоканального сигнала, содержащего, по меньшей мере, два канала 1001, 1002. Первый канал 1001 в левом канале, и второй канал 1002 может быть правым каналом в случае сценария двухканального стерео. Однако в случае многоканального сценария, первый канал 1001 и второй канал 1002 могут быть любыми из каналов многоканального сигнала, такими, как, например, левый канал с одной стороны и левый канал объемного звучания с другой стороны или правый канал с одной стороны и правый канал объемного звучания с другой стороны. Эти пары каналов, однако, являются только примерами, и могут применяться другие пары каналов, как требует практика.
Многоканальный кодер из фиг. 1 содержит время-спектральный преобразователь для преобразования последовательностей блоков значений дискретизации упомянутых, по меньшей мере, двух каналов в представление частотной области на выходе время-спектрального преобразователя. Каждое представление частотной области имеет последовательность блоков спектральных значений для одного из упомянутых, по меньшей мере, двух каналов. Конкретно, блок значений дискретизации первого канала 1001 или второго канала 1002 имеет ассоциированную входную частоту дискретизации, и блок спектральных значений из последовательностей вывода время-спектрального преобразователя имеет спектральные значения вплоть до максимальной входной частоты, которая связана с входной частотой дискретизации. Время-спектральный преобразователь, в варианте осуществления, проиллюстрированном на фиг. 1, соединен с многоканальным процессором 1010. Этот многоканальный процессор сконфигурирован для применения объединенной многоканальной обработки к последовательностям блоков спектральных значений, чтобы получать, по меньшей мере, одну результирующую последовательность блоков спектральных значений, содержащую информацию, относящуюся к упомянутым, по меньшей мере, двум каналам. Обычная операция многоканальной обработки является операцией понижающего микширования, но предпочтительная многоканальная операция содержит дополнительные процедуры, которые будут описываться ниже.
В одном альтернативном варианте осуществления, многоканальный процессор 1010 соединен с модулем 1020 повторной дискретизации спектральной области, и вывод модуля 1020 повторной дискретизации спектральной области является вводом в многоканальный процессор. Это проиллюстрировано посредством прерывистых линий 1021, 1022 соединения. В этом альтернативном варианте осуществления, многоканальный процессор сконфигурирован для применения объединенной многоканальной обработки не к последовательностям блоков спектральных значений, как выводятся время-спектральным преобразователем, но к подвергнутым повторной дискретизации последовательностям блоков, как доступны на линиях 1022 соединения.
Модуль 1020 повторной дискретизации спектральной области сконфигурирован для повторной дискретизации результирующей последовательности, генерируемой посредством многоканального процессора, или чтобы подвергать повторной дискретизации последовательности блоков, выводимых время-спектральным преобразователем 1000, чтобы получать подвергнутую повторной дискретизации последовательность блоков спектральных значений, которая может представлять средний сигнал, как проиллюстрировано на линии 1025. Предпочтительно, модуль повторной дискретизации спектральной области дополнительно выполняет повторную дискретизацию для вспомогательного сигнала, генерируемого посредством многоканального процессора, и, поэтому, также выводит подвергнутую повторной дискретизации последовательность, соответствующую вспомогательному сигналу, как проиллюстрировано на 1026. Однако генерирование и повторная дискретизация вспомогательного сигнала является необязательным и не требуется для осуществления низкого битрейта. Предпочтительно, модуль 1020 повторной дискретизации спектральной области сконфигурирован для усечения блоков спектральных значений для цели понижающей дискретизации или для дополнения нулями блоков спектральных значений для цели повышающей дискретизации. Многоканальный кодер дополнительно содержит спектрально-временной преобразователь для преобразования подвергнутой повторной дискретизации последовательности блоков спектральных значений в представление временной области, содержащее выходную последовательность блоков значений дискретизации, имеющих ассоциированную выходную частоту дискретизации, которая отличается от входной частоты дискретизации. В альтернативных вариантах осуществления, где повторная дискретизация спектральной области выполняется до многоканальной обработки, многоканальный процессор обеспечивает результирующую последовательность посредством прерывистой линии 1023 напрямую в спектрально-временной преобразователь 1030. В этом альтернативном варианте осуществления, необязательный признак состоит в том, что, дополнительно, вспомогательный сигнал генерируется посредством многоканального процессора уже в подвергнутом повторной дискретизации представлении и вспомогательный сигнал затем также обрабатывается посредством спектрально-временного преобразователя.
В конце, спектрально-временной преобразователь предпочтительно обеспечивает средний сигнал 1031 временной области и необязательный вспомогательный сигнал 1032 временной области, которые могут оба подвергаться базовому кодированию посредством базового кодера 1040. В общем, базовый кодер сконфигурирован для базового кодирования выходной последовательности блоков значений дискретизации, чтобы получать кодированный многоканальный сигнал.
Фиг. 2 иллюстрирует спектральные диаграммы, которые являются полезными для описания повторной дискретизации спектральной области.
Верхняя диаграмма на фиг. 2 иллюстрирует спектр канала, как доступен на выходе время-спектрального преобразователя 1000. Этот спектр 1210 имеет спектральные значения вплоть до максимальной входной частоты 1211. В случае повышающей дискретизации, выполняется дополнение нулями внутри части дополнения нулями или области 1220 дополнения нулями, которая простирается до максимальной выходной частоты 1221. Максимальная выходная частота 1221 больше, чем максимальная входная частота 1211, так как предполагается повышающая дискретизация.
В противоположность этому, самая нижняя диаграмма на фиг. 2 иллюстрирует процедуры, привносимые посредством понижающей дискретизации последовательности блоков. С этой целью, блок усекается внутри усеченной области 1230, так что максимальная выходная частота усеченного спектра на 1231 ниже, чем максимальная входная частота 1211.
Обычно, частота дискретизации, ассоциированная с соответствующим спектром на фиг. 2, равняется, по меньшей мере, умноженной на 2 максимальной частоте спектра. Таким образом, для верхнего случая на фиг. 2, частота дискретизации будет равна, по меньшей мере, умноженной на 2 максимальной входной частоте 1211.
Во второй диаграмме из фиг. 2, частота дискретизации будет равна, по меньшей мере, умноженной на два максимальной выходной частоте 1221, то есть наивысшей частоте области 1220 дополнения нулями. В противоположность этому, на самой нижней диаграмме на фиг. 2, частота дискретизации будет равна, по меньшей мере, умноженной на 2 максимальной выходной частоте 1231, то есть наивысшему спектральному значению, оставшемуся после усечения внутри усеченной области 1230.
y
y
y
x
Фиг. 3a по 3c иллюстрируют несколько альтернатив, которые могут использоваться в контексте некоторых алгоритмом прямого или обратного преобразования DFT. На фиг. 3a, рассматривается ситуация, где выполняется DFT с размером x, и где не происходит какой-либо нормализации в алгоритме 1311 прямого преобразования. В блоке 1331, проиллюстрировано обратное преобразование с другим размером y, где выполняется нормализация с 1/N. N является количеством спектральных значений обратного преобразования с размером y. Тогда, является предпочтительным выполнять масштабирование посредством N/N, как проиллюстрировано посредством блока 1321.
В противоположность этому, фиг. 3b иллюстрирует один вариант осуществления, где нормализация распространена в прямое преобразование 1312 и обратное преобразование 1332. Тогда требуется масштабирование, как проиллюстрировано в блоке 1322, где является полезным квадратный корень из отношения между количеством спектральных значений обратного преобразования к количеству спектральных значений прямого преобразования.
Фиг. 3c иллюстрирует дополнительный вариант осуществления, где вся нормализация выполняется над прямым преобразованием, где выполняется прямое преобразование с размером x. Тогда, обратное преобразование, как проиллюстрировано в блоке 1333, работает без какой-либо нормализации, так что какое-либо масштабирование не требуется, как проиллюстрировано посредством схематического блока 1323 на фиг. 3c. Таким образом, в зависимости от некоторых алгоритмов, требуются некоторые операции масштабирования или даже никакие операции масштабирования. Является, однако, предпочтительным работать в соответствии с фиг. 3a.
Чтобы удерживать полную задержку низкой, настоящее изобретение обеспечивает способ на стороне кодера для избегания необходимости в модуле повторной дискретизации временной области и посредством замены его посредством повторной дискретизации сигналов в области DFT. Например, в EVS это позволяет сберегать 0.9375 мс задержки, приходящей от модуля повторной дискретизации временной области. Повторная дискретизация в частотной области достигается посредством дополнения нулями или усечения спектра и масштабирования его корректным образом.
x
y
Рассмотрим входной подвергнутый оконной обработке сигнал x, дискретизированный на частоте fx, со спектром X размера N и версию y того же сигнала, подвергнутого повторной дискретизации на частоте fy, со спектром размера N. Коэффициент дискретизации тогда равняется:
y
x
fy/fx=N/N
x
y
в случае понижающей дискретизации N>N. Понижающая дискретизация может просто выполняться в частотной области посредством прямого масштабирования и усечения исходного спектра X:
y
x
y
Y[k]=X[k].N/N для k=0..N
x
y
в случае повышающей дискретизации N<N. Повышающая дискретизация может просто выполняться в частотной области посредством прямого масштабирования и дополнения нулями исходного спектра X:
y
x
x
Y[k]=X[k].N/N для k=0...N
x
y
Y[k]=0 для k=N...N
Обе операции повторной дискретизации могут подытоживаться посредством:
y
x
y
x
Y[k]=X[k].N/N для всех k=0...min(N,N)
y
x
y
y
x
Y[k]=0 для всех k=min(N,N)...N, если N>N
y
Как только получается новый спектр Y, сигнал временной области y может получаться посредством применения ассоциированного обратного преобразования iDFT размера N:
y=iDFT(Y)
Для построения сигнала непрерывного времени над разными кадрами, выходной кадр y затем подвергается оконной обработке и складывается с перекрытием с ранее полученным кадром.
Форма окна для всех частот дискретизации является одной и той же, но окно имеет разные размеры в отсчетах и различным образом дискретизируется в зависимости от частоты дискретизации. Количество отсчетов окон и их значения могут легко получаться, так как форма определяется чисто аналитически. Разные части и размеры окна могут быть найдены на фиг. 8a как функция целевой частоты дискретизации. В этом случае функция синуса в перекрывающейся части (LA) используется для окон анализа и синтеза. Для этих областей, возрастающие коэффициенты ovlp_size даются посредством:
win_ovlp(k)=sin(pi*(k+0.5)/(2*ovlp_size));, для k=0..ovlp_size-1
в то время как убывающие коэффициенты ovlp_size даются посредством:
win_ovlp(k)=sin(pi*(ovlp_size-1-k+0.5)/(2*ovlp_size));, для k=0..ovlp_size-1
где ovlp_size является функцией частоты дискретизации и дана на фиг. 8a.
Новое кодирование стерео с низкой задержкой является объединенным основанным на среднем/вспомогательном сигналах (M/S) кодированием стерео, использующим некоторые пространственные признаки, где средний канал кодируется посредством первичного моно базового кодера, и вспомогательный канал кодируется во вторичном базовом кодере. Принципы кодера и декодера изображены на фиг. 4a и 4b.
Стерео обработка выполняется главным образом в частотной области (FD). Необязательно некоторая стерео обработка может выполняться во временной области (TD) до частотного анализа. Это имеет место для вычисления ITD, которая может вычисляться и применяться до частотного анализа для выравнивания каналов во времени до выполнения анализа стерео и обработки. Альтернативно, обработка ITD может осуществляться напрямую в частотной области. Так как обычные кодеры речи, такие как ACELP, не содержат какую-либо внутреннюю время-частотную декомпозицию, кодирование стерео добавляет дополнительный сложный модулированный блок фильтров посредством блока фильтров анализа и синтеза до базового кодера и другой каскад блока фильтров анализа-синтеза после базового декодера. В предпочтительном варианте осуществления, используется DFT с избыточной дискретизацией с низкой перекрывающейся областью. Однако в других вариантах осуществления, может использоваться любая комплекснозначная время-частотная декомпозиция с аналогичным временным разрешением. В последующем в отношении блока фильтров стерео упоминается либо блок фильтров, такой как QMF, или блочное преобразование, такое как DFT.
Стерео обработка состоит из вычисления пространственных признаков и/или параметров стерео, таких как временная разность между каналами (ITD), фазовые разности между каналами (IPD), уровневые разности между каналами (ILD) и усиления предсказания для предсказания вспомогательного сигнала (S) со средним сигналом (M). Важно отметить, что блок фильтров стерео в обоих кодере и декодере вводит дополнительную задержку в системе кодирования.
Фиг. 4a иллюстрирует устройство для кодирования многоканального сигнала, где, в этом варианте осуществления, выполняется некоторая объединенная стерео обработка во временной области с использованием анализа временной разности между каналами (ITD) и где результат этого анализа 1420 ITD применяется внутри временной области с использованием блока 1410 временного сдвига, расположенного до время-спектральных преобразователей 1000.
Затем, внутри спектральной области, выполняется дополнительная стерео обработка 1010, которая привносит, по меньшей мере, понижающее микширование левого и правого в средний сигнал M и, необязательно, вычисление вспомогательного сигнала S, и хотя не явно проиллюстрировано на фиг. 4a, операцию повторной дискретизации, выполняемую посредством модуля 1020 повторной дискретизации спектральной области, проиллюстрированного на фиг. 1, который может применять одну из упомянутых двух разных альтернатив, то есть выполнение повторной дискретизации после многоканальной обработки или до многоканальной обработки.
Дополнительно, фиг. 4a иллюстрирует дополнительные подробности предпочтительного базового кодера 1040. Конкретно, для цели кодирования среднего сигнала временной области m на выходе спектрально-временного преобразователя 1030, используется кодер EVS. Дополнительно, кодирование 1440 MDCT и последовательно соединенное векторное квантование 1450 выполняется для цели кодирования вспомогательного сигнала.
Кодированный или подвергнутый базовому кодированию средний сигнал, и подвергнутый базовому кодированию вспомогательный сигнал пересылаются в мультиплексор 1500, который мультиплексирует эти кодированные сигналы вместе со вспомогательной информацией. Одним типом вспомогательной информации является параметр ID, выводимый на 1421 в мультиплексор (и необязательно в элемент 1010 стерео обработки), и дополнительные параметры находятся в канальных уровневых разностях/параметрах предсказания, фазовых разностях между каналами (параметрах IPD) или параметрах заполнения стерео, как проиллюстрировано на линии 1422. Соответствующим образом, на фиг. 4B устройство для декодирования многоканального сигнала, представленного посредством битового потока 1510, содержит демультиплексор 1520, базовый декодер, состоящий в этом варианте осуществления, из декодера 1602 EVS для кодированного среднего сигнала m, и векторный модуль 1603 деквантования и последовательно соединенный блок 1604 обратного MDCT. Блок 1604 обеспечивает подвергнутый базовому декодированию вспомогательный сигнал s. Декодированные сигналы m, s преобразуются в спектральную область с использованием время-спектральных преобразователей 1610, и, затем, внутри спектральной области, выполняется обратная стерео обработка и повторная дискретизация. Снова, фиг. 4b иллюстрирует ситуацию, где выполняется повышающее микширование из сигнала M в левый L и правый R и, дополнительно, устранение узкополосного выравнивания с использованием параметров IPD и, дополнительно, дополнительные процедуры для вычисления настолько хорошо, насколько возможно левого и правого канала с использованием параметров уровневой разности между каналами ILD и параметров заполнения стерео на линии 1605. Дополнительно, демультиплексор 1520 не только извлекает параметры на линии 1605 из битового потока 1510, но также извлекает временную разность между каналами на линии 1606 и пересылает эту информацию в блок обратной стерео обработки/модуль повторной дискретизации и, дополнительно, в обработку обратного временного сдвига в блоке 1650, которая выполняется во временной области, то есть после процедуры, выполняемой посредством спектрально-временных преобразователей, которые обеспечивают декодированные левый и правый сигналы на выходной частоте, которая отличается от частоты на выходе декодера 1602 EVS или отличается от частоты на выходе блока 1604 IMDCT, например.
Стерео DFT может затем обеспечивать разные дискретизированные версии сигнала, который дополнительно передается в переключаемый базовый кодер. Сигнал для кодирования может быть средним каналом, вспомогательным каналом, или левым и правым каналами, или любым сигналом, результирующим из вращения или канального отображения упомянутых двух входных каналов. Так как разные базовые кодеры переключаемой системы принимают разные частоты дискретизации, является важным признаком, что блок фильтров синтеза стерео может обеспечивать многочастотный сигнал. Принцип дан на фиг. 5.
На фиг. 5, модуль стерео берет в качестве ввода упомянутые два входных канала, l и r, и преобразует их в частотной области в сигналы M и S. В стерео обработке входные каналы могут возможно отображаться или модифицироваться, чтобы генерировать два новых сигнала M и S. M дополнительно кодируется посредством EVS моно стандарта 3GPP или его модифицированной версии. Такой кодер является переключаемым кодером, переключающимся между MDCT базовыми режимами (TCX и HQ-Core в случае EVS) и кодером речи (ACELP в EVS). Он также имеет функциональные возможности предварительной обработки, исполняющиеся все время на 12.8 кГц, и другие функциональные возможности предварительной обработки, исполняющиеся на частоте дискретизации, изменяющейся согласно режимам работы (12.8, 16, 25.6 или 32 кГц). Более того ACELP исполняется либо на 12.8 или 16 кГц, в то время как MDCT базовые режимы исполняются на входной частоте дискретизации. Сигнал S может либо кодироваться посредством стандартного кодера EVS моно (или его модифицированной версии), или посредством конкретного кодера вспомогательного сигнала, специально спроектированного для его характеристик. Может быть также возможным пропускать кодирование вспомогательного сигнала S.
Фиг. 5 иллюстрирует подробности предпочтительного кодера стерео с многочастотным блоком фильтров синтеза подвергнутых стерео обработке сигналов M и S. Фиг. 5 показывает время-спектральный преобразователь 1000, который выполняет время-частотное преобразование на входной частоте, то есть частоте, которую имеют сигналы 1001 и 1002. Явным образом, фиг. 5 дополнительно иллюстрирует блок 1000a, 1000e анализа временной области, для каждого канала. Конкретно, хотя фиг. 5 иллюстрирует явный блок анализа временной области, то есть модуль оконной обработки для применения окна анализа к соответствующему каналу, следует отметить, что в других местах в этом описании, модуль оконной обработки для применения блока анализа временной области предполагается включенным в блок, указанный как "время-спектральный преобразователь" или "DFT" на некоторой частоте дискретизации. Дополнительно, и соответствующим образом, упоминание спектрально-временного преобразователя обычно включает в себя, на выходе фактического алгоритма DFT, модуль оконной обработки для применения соответствующего окна синтеза, где, чтобы в конечном счете получать выходные отсчеты, выполняется сложение с перекрытием блоков значений дискретизации, подвергнутых оконной обработке с соответствующим окном синтеза. Поэтому, даже хотя, например, блок 1030 только упоминает "IDFT", этот блок обычно также обозначает последующее осуществление оконной обработки блока отсчетов временной области с помощью окна анализа и снова, последующей операции сложения с перекрытием, чтобы в конечном счете получать сигнал m временной области.
Дополнительно, фиг. 5 иллюстрирует конкретный блок 1011 анализа стереосцен, который выполняет параметры, используемые в блоке 1010, чтобы выполнять стерео обработку и понижающее микширование, и эти параметры могут, например, быть параметрами на линиях 1422 или 1421 из фиг. 4a. Таким образом, блок 1011 может соответствовать блоку 1420 на фиг. 4a в варианте осуществления, в котором даже анализ параметров, то есть анализ стереосцен, имеет место в спектральной области и, конкретно, с последовательностью блоков спектральных значений, которые не подвергнуты повторной дискретизации, но находятся на максимальной частоте, соответствующей входной частоте дискретизации.
Дополнительно, базовый декодер 1040 содержит ответвление 1430a основанного на MDCT кодера и ответвление 1430b кодирования ACELP. Конкретно, средний кодер для средних сигналов M и, соответствующий вспомогательный кодер для вспомогательного сигнала s, выполняет кодирование с переключением между основанным на MDCT кодированием и кодированием ACELP, где, обычно, базовый кодер дополнительно имеет модуль принятия решения в отношении режима кодирования, который обычно работает на некоторой части опережающего просмотра, чтобы определять, должен ли некоторый блок или кадр кодироваться с использованием основанных на MDCT процедур или основанных на ACELP процедур. Дополнительно, или альтернативно, базовый кодер сконфигурирован с возможностью использовать часть опережающего просмотра, чтобы определять другие характеристики, такие как параметры LPC, и т.д.
Дополнительно, базовый кодер дополнительно содержит каскады предварительной обработки на разных частотах дискретизации, такие как первый каскад 1430c предварительной обработки, работающий на 12.8 кГц, и дополнительный каскад 1430d предварительной обработки, работающий на частотах дискретизации из группы частот дискретизации, состоящей из 16 кГц, 25.6 кГц или 32 кГц.
Поэтому, в общем, вариант осуществления, проиллюстрированный на фиг. 5, сконфигурирован с возможностью иметь модуль повторной дискретизации спектральной области для повторной дискретизации, из входной частоты, которая может быть 8 кГц, 16 кГц или 32 кГц, в какую-либо из выходных частот, которые отличаются от 8, 16 или 32.
Дополнительно, вариант осуществления на фиг. 5 дополнительно сконфигурирован с возможностью иметь дополнительное ответвление, которое не подвергается повторной дискретизации, то есть ответвление, проиллюстрированное посредством "IDFT на входной частоте" для среднего сигнала и, необязательно, для вспомогательного сигнала.
Дополнительно, кодер на фиг. 5 предпочтительно содержит модуль повторной дискретизации, который не только осуществляет повторную дискретизацию в первую выходную частоту дискретизации, но также во вторую выходную частоту дискретизации, чтобы иметь данные для обоих, процессоров 1430c и 1430d предварительной обработки, которые могут, например, быть выполнены с возможностью выполнять некоторый тип фильтрации, некоторый тип вычисления LPC или некоторый тип другой обработки сигналов, которая предпочтительно раскрывается в стандарте 3GPP для кодера EVS, уже упомянутом в контексте фиг. 4a.
Фиг. 6 иллюстрирует один вариант осуществления для устройства для декодирования кодированного многоканального сигнала 1601. Устройство для декодирования содержит базовый декодер 1600, время-спектральный преобразователь 1610, модуль 1620 повторной дискретизации спектральной области, многоканальный процессор 1630 и спектрально-временной преобразователь 1640.
Снова, изобретение по отношению к устройству для декодирования кодированного многоканального сигнала 1601 может осуществляться в двух альтернативах. Одна альтернатива состоит в том, что модуль повторной дискретизации спектральной области сконфигурирован с возможностью подвергать повторной дискретизации подвергнутый базовому декодированию сигнал в спектральной области до выполнения многоканальной обработки. Эта альтернатива проиллюстрирована посредством сплошных линий на фиг. 6. Однако другая альтернатива состоит в том, что повторная дискретизация спектральной области выполняется после многоканальной обработки, то есть многоканальная обработка имеет место на входной частоте дискретизации. Этот вариант осуществления проиллюстрирован на фиг. 6 посредством прерывистых линий.
Конкретно, в первом варианте осуществления, то есть, где повторная дискретизация спектральной области выполняется в спектральной области до многоканальной обработки, подвергнутый базовому декодированию сигнал, представляющий последовательность блоков значений дискретизации, преобразуется в представление частотной области, имеющее последовательность блоков спектральных значений для подвергнутого базовому декодированию сигнала на линии 1611.
Дополнительно, подвергнутый базовому декодированию сигнал не только содержит сигнал M на линии 1602, но также вспомогательный сигнал на линии 1603, где вспомогательный сигнал проиллюстрирован на 1604 в подвергнутом базовому кодированию представлении.
Затем, время-спектральный преобразователь 1610 дополнительно генерирует последовательность блоков спектральных значений для вспомогательного сигнала на линии 1612.
Затем, повторная дискретизация спектральной области выполняется посредством блока 1620, и подвергнутая повторной дискретизации последовательность блоков спектральных значений по отношению к среднему сигналу или подвергнутому понижающему микшированию каналу или первому каналу пересылается в многоканальный процессор на линии 1621 и, необязательно, также подвергнутая повторной дискретизации последовательность блоков спектральных значений для вспомогательного сигнала также пересылается из модуля 1620 повторной дискретизации спектральной области в многоканальный процессор 1630 посредством линии 1622.
Затем, многоканальный процессор 1630 выполняет обратную многоканальную обработку для последовательности, содержащей последовательность из подвергнутого понижающему микшированию сигнала и, необязательно, из вспомогательного сигнала, проиллюстрированного на линиях 1621 и 1622, чтобы выводить, по меньшей мере, две результирующих последовательности блоков спектральных значений, проиллюстрированных на 1631 и 1632. Эти, по меньшей мере, две последовательности затем преобразуются во временную область с использованием спектрально-временного преобразователя, чтобы выводить канальные сигналы 1641 и 1642 временной области. В другой альтернативе, проиллюстрированной на линии 1615, время-спектральный преобразователь сконфигурирован с возможностью обеспечивать подвергнутый базовому декодированию сигнал, такой как средний сигнал, в многоканальный процессор. Дополнительно, время-спектральный преобразователь также может обеспечивать декодированный вспомогательный сигнал 1603 в его представлении спектральной области в многоканальный процессор 1630, хотя этот вариант выбора не проиллюстрирован на фиг. 6. Затем, многоканальный процессор выполняет обратную обработку и выводимые, по меньшей мере, два канала пересылаются посредством линии 1635 соединения в модуль повторной дискретизации спектральной области, который затем пересылает подвергнутые повторной дискретизации эти два канала посредством линии 1625 в спектрально-временной преобразователь 1640.
Таким образом, немного по аналогии с тем, что было описано в контексте фиг. 1, устройство для декодирования кодированного многоканального сигнала также содержит две альтернативы, то есть, где повторная дискретизация спектральной области выполняется до обратной многоканальной обработки или, альтернативно, где повторная дискретизация спектральной области выполняется после многоканальной обработки на входной частоте дискретизации. Предпочтительно, однако, выполняется первая альтернатива, так как она обеспечивает возможность предпочтительного выравнивания разных вкладов сигналов, проиллюстрированных на фиг. 7a и фиг. 7b.
Снова, фиг. 7a иллюстрирует базовый декодер 1600, который, однако, выводит три разных выходных сигнала, то есть первый выходной сигнал 1601 на другой частоте дискретизации по отношению к выходной частоте дискретизации, второй подвергнутый базовому декодированию сигнал 1602 на входной частоте дискретизации, то есть частоте дискретизации, лежащей в основе подвергнутого базовому кодированию сигнала 1601, и базовый декодер дополнительно генерирует третий выходной сигнал 1603, работоспособный и доступный на выходной частоте дискретизации, то есть частоте дискретизации в конечном счете предполагаемой на выходе спектрально-временного преобразователя 1640 на фиг. 7a.
Все три подвергнутых базовому декодированию сигнала вводятся во время-спектральный преобразователь 1610, который генерирует три разных последовательности блоков спектральных значений 1613, 1611 и 1612.
Последовательность блоков спектральных значений 1613 имеет частоту или спектральные значения вплоть до максимальной выходной частоты и, поэтому, ассоциирована с выходной частотой дискретизации.
Последовательность блоков спектральных значений 1611 имеет спектральные значения вплоть до другой максимальной частоты и, поэтому, этот сигнал не соответствует выходной частоте дискретизации.
Дополнительно, сигнал 1612 имеет спектральные значения вплоть до максимальной входной частоты, которая также отличается от максимальной выходной частоты.
Таким образом, последовательности 1612 и 1611 пересылаются в модуль 1620 повторной дискретизации спектральной области, в то время как сигнал 1613 не пересылается в модуль 1620 повторной дискретизации спектральной области, так как этот сигнал уже ассоциирован с корректной выходной частотой дискретизации.
Модуль 1620 повторной дискретизации спектральной области пересылает подвергнутые повторной дискретизации последовательности спектральных значений в модуль 1700 комбинирования, который сконфигурирован с возможностью выполнять комбинирование блок за блоком со спектральными линиями посредством спектральных линий для сигналов, которые соответствуют в перекрывающихся ситуациях. Таким образом, обычно будет иметься область пересечения между переключением от основанного на MDCT сигнала на сигнал ACELP, и в этом перекрывающемся диапазоне, значения сигналов существуют и комбинируются друг с другом. Когда, однако, этот перекрывающийся диапазон заканчивается, и сигнал существует только в сигнале 1603, например, пока сигнал 1602, например, не существует, тогда модуль комбинирования не будет выполнять сложение спектральных линий блок за блоком в этой части. Когда, однако, переключение приходит позже, то сложение блок за блоком, спектральная линия за спектральной линией будет иметь место во время этой области пересечения.
Дополнительно, непрерывное сложение также может быть возможным, как проиллюстрировано на фиг. 7b, где выполняется вывод сигнала басовым последующим фильтром, проиллюстрированным в блоке 1600a, который генерирует сигнал ошибки между гармониками, который может, например, быть сигналом 1601 из фиг. 7a. Затем, после время-спектрального преобразования в блоке 1610, и последующей повторной дискретизации 1620 спектральной области предпочтительно выполняется дополнительная операция 1702 фильтрации до выполнения сложения в блоке 1700 на фиг. 7b.
Аналогично, каскад 1600d основанного на MDCT декодирования и каскад 1600c декодирования расширения полосы пропускания временной области могут соединяться посредством блока 1704 перекрестного замирания, чтобы получать подвергнутый базовому декодированию сигнал 1603, который затем преобразуется в представление спектральной области на выходной частоте дискретизации, так что, для этого сигнала 1613, и повторная дискретизация спектральной области не является необходимой, но сигнал может пересылаться напрямую в модуль 1700 комбинирования. Обратная стерео обработка или многоканальная обработка 1603 затем имеет место после модуля 1700 комбинирования.
Таким образом, в отличие от варианта осуществления, проиллюстрированного на фиг. 6, многоканальный процессор 1630 не работает на подвергнутой повторной дискретизации последовательности спектральных значений, но работает на последовательности, содержащей упомянутую, по меньшей мере, одну подвергнутую повторной дискретизации последовательность спектральных значений, такую как 1622 и 1621, где последовательность, на которой работает многоканальный процессор 1630, дополнительно содержит последовательность 1613, для которой не была необходима повторная дискретизация.
Как проиллюстрировано на фиг. 7, разные декодированные сигналы, приходящие от разных преобразований DFT, работающих на разных частотах дискретизации, являются уже выровненными по времени, так как окна анализа на разных частотах дискретизации совместно используют одну и ту же форму. Однако спектры показывают разные размеры и масштабирование. Для гармонизации их и обеспечения их совместимыми все спектры подвергаются повторной дискретизации в частотной области на требуемой выходной частоте дискретизации до сложения друг с другом.
Таким образом, фиг. 7 иллюстрирует комбинацию разных вкладов синтезированного сигнала в области DFT, где повторная дискретизация спектральной области выполняется таким образом, что, в конце, все сигналы, подлежащие сложению модулем 1700 комбинирования, являются уже доступными со спектральными значениями, простирающимися вплоть до максимальной выходной частоты, которая соответствует выходной частоте дискретизации, то есть ниже, чем или равна половине выходной частоты дискретизации, которая затем получается на выходе спектрально-временного преобразователя 1640.
Выбор блока фильтров стерео является решающим моментом для системы с низкой задержкой и достижимый компромисс подытоживается на фиг. 8b. Он может использовать либо DFT (блочное преобразование) или псевдо QMF с низкой задержкой, называемое CLDFB (блок фильтров). Каждое предложение демонстрирует разную задержку, временное и частотное разрешения. Для системы должен выбираться наилучший компромисс между этими характеристиками. Является важным иметь хорошие частотные и временные разрешения. Это является причиной, почему использование блока фильтров псевдо QMF как в предложении 3 может быть проблематичным. Частотное разрешение является низким. Это может улучшаться посредством гибридных подходов как в MPS 212 из MPEG-USAC, но это имеет недостаток значительно увеличивать как сложность, так и задержку. Другим важным моментом является задержка, доступная на стороне декодера, между базовым декодером и обратной стерео обработкой. Чем больше эта задержка, тем лучше. Предложение 2, например, не может обеспечивать такую задержку, и не является по этой причине ценным решением. По этим вышеупомянутым причинам, мы будем фокусироваться в оставшейся части описания на предложениях 1, 4 и 5.
Окно анализа и синтеза блока фильтров является другим важным аспектом. В предпочтительном варианте осуществления одно и то же окно используется для анализа и синтеза преобразования DFT. Оно также является одним и тем же на сторонах кодера и декодера. Было уделено специальное внимание для удовлетворения следующих ограничений:
- Перекрывающаяся область должна быть равна или быть более малой, чем перекрывающаяся область MDCT базового режима и опережающего просмотра ACELP. В предпочтительном варианте осуществления все размеры равны 8.75 мс
- Дополнение нулями должно быть, по меньшей мере, равным приблизительно 2.5 мс для обеспечения возможности применения линейного сдвига каналов в области DFT.
- Размер окна, размер перекрывающейся области и размер дополнения нулями должны быть выражены в целом числе отсчетов для разной частоты дискретизации: 12.8, 16, 25.6, 32 и 48 кГц
- Сложность DFT должна быть настолько низкой, насколько возможно, то есть, максимальное основание преобразования DFT в осуществлении FFT с разделением оснований должно быть настолько низким, насколько возможно.
- Временное разрешение фиксировано на 10 мс.
Зная эти ограничения, окна для предложения 1 и 4 описываются на фиг. 8c и на фиг. 8a.
Фиг. 8c иллюстрирует первое окно, состоящее из начальной перекрывающейся части 1801, последующей средней части 1803 и оконечной перекрывающейся части или второй перекрывающейся части 1802. Дополнительно, первая перекрывающаяся часть 1801 и вторая перекрывающаяся часть 1802 дополнительно имеют их часть дополнения нулями 1804 в начале и 1805 в конце.
Дополнительно, фиг. 8c иллюстрирует процедуру, выполняемую по отношению к разделению на кадры время-спектрального преобразователя 1000 из фиг. 1 или альтернативно, 1610 из фиг. 7a. Дополнительное окно анализа, состоящее из элементов 1811, то есть первой перекрывающейся части, средней неперекрывающейся части 1813 и второй перекрывающейся части 1812, перекрывается с первым окном на 50%. Второе окно дополнительно имеет части 1814 и 1815 дополнения нулями в начале и конце его. Эти нулевые перекрывающиеся части являются необходимыми, чтобы находиться в положении, чтобы выполнять широкополосное выравнивание по времени в частотной области.
Дополнительно, первая перекрывающаяся часть 1811 второго окна начинается в конце средней части 1803, то есть неперекрывающейся части первого окна, и перекрывающаяся часть второго окна, то есть неперекрывающаяся часть 1813, начинается в конце второй перекрывающейся части 1802 первого окна, как проиллюстрировано.
Когда фиг. 8c рассматривается, чтобы представлять операцию сложения с перекрытием на спектрально-временном преобразователе, таком как спектрально-временной преобразователь 1030 из фиг. 1 для кодера или спектрально-временного преобразователя 1640 для декодера, тогда первое окно, состоящее из блока 1801, 1802, 1803, 1805, 1804, соответствует окну синтеза и второе окно, состоящее из частей 1811, 1812, 1813, 1814, 1815, соответствует окну синтеза для следующего блока. Тогда, перекрытие между окном иллюстрирует перекрывающуюся часть, и перекрывающаяся часть проиллюстрирована на 1820, и длина перекрывающейся части равна текущему кадру, разделенному на два, и, в предпочтительном варианте осуществления, равна 10 мс. Дополнительно, в нижней части фиг. 8c, аналитическое уравнение для вычисления возрастающих коэффициентов окна внутри диапазона 1801 или 1811 перекрытия проиллюстрировано как функция синуса, и, соответствующим образом, убывающие коэффициенты размера перекрытия перекрывающейся части 1802 и 1812 также проиллюстрированы как функция синуса.
В предпочтительных вариантах осуществления, одни и те же окна анализа и синтеза используются только для декодера, проиллюстрированного на фиг. 6, фиг. 7a, фиг. 7b. Таким образом, время-спектральный преобразователь 1616 и спектрально-временной преобразователь 1640 используют в точности одни и те же окна, как проиллюстрировано на фиг. 8c.
Однако в некоторых вариантах осуществления конкретно по отношению к последующему предложению/варианту 1 осуществления, используется окно анализа, которое, в общем, находится в соответствии с фиг. 1c, но коэффициенты окна для возрастающих или убывающих частей перекрытия вычисляются с использованием квадратного корня из функции синуса, с таким же аргументом в функции синуса как на фиг. 8c. Соответствующим образом, окно синтеза вычисляется с использованием функции синуса в степени 1.5, но снова с таким же аргументом функции синуса.
Дополнительно, следует отметить, что вследствие операции сложения с перекрытием, умножение синуса в степени 0.5 на синус в степени 1.5 еще раз дает результатом синус в степени 2, результат, который является необходимым, чтобы иметь ситуацию сбережения энергии.
Предложение 1 имеет в качестве основных характеристик то, что перекрывающаяся область преобразования DFT имеет один и того же размер и выравнивается с опережающим просмотром ACELP и перекрывающейся областью MDCT базового режима. Задержка кодера тогда является одной и той же как для ACELP/MDCT базовых режимов и стерео не вводит какую-либо дополнительную задержку в кодере. В случае EVS и в случае, когда используется подход многочастотного блока фильтров синтеза, как описано на фиг. 5, задержка кодера стерео является настолько низкой как 8.75 мс.
Схематическое разделение на кадры кодера проиллюстрировано на фиг. 9a, в то время как декодер изображен на фиг. 9e. Окна нарисованы на фиг. 9c в пунктирном синем для кодера и в сплошном красном для декодера.
Одна главная проблема для предложения 1 состоит в том, что опережающий просмотр в кодере подвергается оконной обработке. Он может исправляться для последующей обработки, или он может оставляться подвергнутым оконной обработке, если последующая обработка адаптирована для учета подвергнутого оконной обработке опережающего просмотра. Может быть, что, если стерео обработка, выполняемая в DFT, модифицировала входной канал, и особенно при использовании нелинейных операций, что исправленный или подвергнутый оконной обработке сигнал не обеспечивает возможность достигать идеального восстановления в случае, когда базовое кодирование обходится.
Следует отметить, что между синтезом базового декодера и окнами анализа декодера стерео имеется временной интервал, равный 1.25 мс, который может использоваться последующей обработкой базового декодера, посредством расширения полосы пропускания (BWE), как, например, BWE временной области, используемого над ACELP, или посредством некоторого сглаживания в случае перехода между ACELP и MDCT базовыми режимами.
Так как этот временной интервал, равный только 1.25 мс, меньше, чем 2.3125 мс, требуемые стандартным EVS для таких операций, настоящее изобретение обеспечивает способ, чтобы комбинировать, подвергать повторной дискретизации и сглаживать разные части синтеза переключаемого декодера внутри области DFT модуля стерео.
Как проиллюстрировано на фиг. 9a, базовый кодер 1040 сконфигурирован с возможностью работать в соответствии с управлением разделением на кадры, чтобы обеспечивать последовательность кадров, при этом кадр ограничен начальной границей 1901 кадра и конечной границей 1902 кадра. Дополнительно, время-спектральный преобразователь 1000 и/или спектрально-временной преобразователь 1030 также сконфигурированы с возможностью работать в соответствии со вторым управлением разделением на кадры, которое синхронизировано с первым управлением разделением на кадры. Управление разделением на кадры проиллюстрировано посредством двух перекрывающихся окон 1903 и 1904 для время-спектрального преобразователя 1000 в кодере, и, конкретно, для первого канала 1001 и второго канала 1002, которые обрабатываются параллельно и полностью синхронизированы. Дополнительно, управление разделением на кадры также видно на стороне декодера, конкретно, с двумя перекрывающимися окнами для время-спектрального преобразователя 1610 из фиг. 6, которые проиллюстрированы на 1913 и 1914. Эти окна 1913 и 1914 применяются к сигналу базового декодера, который предпочтительно является одиночным моно или подвергнутым понижающему микшированию сигналом 1610 из фиг. 6, например. Дополнительно, как становится ясно из фиг. 9a, синхронизация между управлением разделением на кадры базового кодера 1040 и время-спектральным преобразователем 1000 или спектрально-временным преобразователем 1030 является такой, что начальная граница 1901 кадра или конечная граница 1902 кадра каждого кадра из последовательности кадров находится в предварительно определенном отношении к начальному моменту или и конечному моменту перекрывающейся части окна, используемого время-спектральным преобразователем 1000 или спектрально-временным преобразователем 1030, для каждого блока из последовательности блоков значений дискретизации или для каждого блока из подвергнутой повторной дискретизации последовательности блоков спектральных значений. В варианте осуществления, проиллюстрированном на фиг. 9a, предварительно определенное отношение является таким, что начало первой перекрывающейся части совпадает с границей времени начала по отношению к окну 1903, и начало перекрывающейся части дополнительного окна 1904 совпадает с концом средней части, такой как часть 1803 из фиг. 8c, например. Таким образом, конечная граница 1902 кадра совпадает с концом средней части 1813 из фиг. 8c, когда второе окно на фиг. 8c соответствует окну 1904 на фиг. 9a.
Таким образом, становится ясно, что вторая перекрывающаяся часть, такая как 1812 из фиг. 8c, второго окна 1904 на фиг. 9a простирается над концом или границей 1902 кадра остановки, и, поэтому, простирается в часть опережающего просмотра базового кодера, проиллюстрированную на 1905.
Таким образом, базовый кодер 1040 сконфигурирован с возможностью использовать часть опережающего просмотра, такую как часть 1905 опережающего просмотра, при базовом кодировании выходного блока из выходной последовательности блоков значений дискретизации, при этом выходная часть опережающего просмотра располагается во времени после выходного блока. Выходной блок соответствует кадру, ограниченному границами 1901, 1904 кадра и выходная часть 1905 опережающего просмотра идет после этого выходного блока для базового кодера 1040.
Дополнительно, как проиллюстрировано, время-спектральный преобразователь сконфигурирован с возможностью использовать окно анализа, то есть окно 1904, имеющее часть перекрытия с длиной во времени, которая меньше, чем или равна длине во времени части 1905 опережающего просмотра, при этом эта перекрывающаяся часть, соответствующая перекрытию 1812 из фиг. 8c, которое располагается в диапазоне перекрытия, используется для генерирования подвергнутой оконной обработке части опережающего просмотра.
Дополнительно, спектрально-временной преобразователь 1030 сконфигурирован с возможностью обрабатывать выходную часть опережающего просмотра, соответствующую подвергнутой оконной обработке части опережающего просмотра, предпочтительно с использованием функции исправления, при этом функция исправления сконфигурирована таким образом, что влияние части перекрытия окна анализа уменьшается или устраняется.
Таким образом, спектрально-временной преобразователь, работающий между базовым кодером 1040 и блоком понижающего микширования 1010 / понижающей дискретизации 1020 на фиг. 9a, сконфигурирован с возможностью применять исправляющую функцию, чтобы отменять оконную обработку, примененную посредством окна 1904 на фиг. 9a.
Таким образом, обеспечивается, что базовый кодер 1040, при применении его функциональных возможностей опережающего просмотра к части 1095 опережающего просмотра, выполняет функцию опережающего просмотра не для части, но для части, которая является близкой к исходной части настолько, насколько возможно.
Однако вследствие ограничений на низкую задержку, и вследствие синхронизации между разделением на кадры процессора предварительной стерео обработки и базового кодера, исходный сигнал временной области для части опережающего просмотра не существует. Однако применение исправляющей функции обеспечивает, что любые артефакты, привнесенные этой процедурой, уменьшаются настолько, насколько возможно.
Последовательность процедур по отношению к этой технологии проиллюстрирована на фиг. 9d, фиг. 9e более подробно.
-1
На этапе 1910, выполняется DFT нулевого блока, чтобы получать нулевой блок во временной области. Нулевой блок получает окно, используемое слева от окна 1903 на фиг. 9a. Этот нулевой блок, однако, не проиллюстрирован явно на фиг. 9a.
Затем, на этапе 1912, нулевой блок подвергается оконной обработке с использованием окна синтеза, то есть подвергается оконной обработке в спектрально-временном преобразователе 1030, проиллюстрированном на фиг. 1.
-1
Затем, как проиллюстрировано в блоке 1911, выполняется DFT первого блока, полученного посредством окна 1903, чтобы получать первый блок во временной области, и этот первый блок еще раз подвергается оконной обработке с использованием окна синтеза в блоке 1910.
Затем, как показано на 1918 на фиг. 9d, выполняется обратное DFT второго блока, то есть блока, полученного посредством окна 1904 из фиг. 9a, чтобы получать второй блок во временной области, и, затем первая часть второго блока подвергается оконной обработке с использованием окна синтеза, как проиллюстрировано посредством 1920 из фиг. 9d. Является важным, однако, что вторая часть второго блока, полученного посредством элемента 1918 на фиг. 9d, не подвергается оконной обработке с использованием окна синтеза, но исправляется, как проиллюстрировано в блоке 1922 из фиг. 9d, и, для исправляющей функции, используется обратная к функции окна анализа и, соответствующая перекрывающаяся часть функции окна анализа.
Таким образом, если окно, использованное для генерирования второго блока, было окном синуса, проиллюстрированным на фиг. 8c, то 1/sin() для убывающих коэффициентов размера перекрытия из уравнений в нижней части фиг. 8c используются в качестве исправляющей функции.
Однако является предпочтительным использовать квадратный корень из окна синуса для окна анализа и, поэтому, исправляющая функция является функцией окна вида . Это обеспечивает, что исправленная часть опережающего просмотра, полученная посредством блока 1922, является настолько близкой, насколько возможно к исходному сигналу внутри части опережающего просмотра, но, конечно, не исходному левому сигналу или исходному правому сигналу, но исходному сигналу, который бы получался посредством сложения левого и правого, чтобы получать средний сигнал.
Затем, на этапе 1924 на фиг. 9d, кадр, указанный посредством границ 1901, 1902 кадра, генерируется посредством выполнения операции сложения с перекрытием в блоке 1030, так что кодер имеет сигнал временной области, и этот кадр выполняется посредством операции сложения с перекрытием между блоком, соответствующим окну 1903, и предшествующими отсчетами предшествующего блока и с использованием первой части второго блока, полученного посредством блока 1920. Затем, этот кадр, выведенный посредством блока 1924, пересылается в базовый кодер 1040 и, дополнительно, базовый кодер дополнительно принимает исправленную часть опережающего просмотра для кадра и, как проиллюстрировано на этапе 1926, базовый кодер затем может определять характеристику для базового кодера с использованием исправленной части опережающего просмотра, полученной посредством этапа 1922. Затем, как проиллюстрировано на этапе 1928, базовый кодер подвергает базовому кодированию кадр с использованием характеристики, определенной в блоке 1926, чтобы в конечном счете получать подвергнутый базовому кодированию кадр, соответствующий границе 1901, 1902 кадра, который имеет, в предпочтительном варианте осуществления, длину, равную 20 мс.
Предпочтительно, перекрывающаяся часть окна 1904, простирающаяся в часть 1905 опережающего просмотра, имеет такую же длину как часть опережающего просмотра, но она также может быть более короткой, чем часть опережающего просмотра, но является предпочтительным, чтобы она была не более длинной, чем часть опережающего просмотра, чтобы процессор предварительной стерео обработки не вводил какую-либо дополнительную задержку вследствие перекрывающихся окон.
Затем, процедура продолжается с оконной обработкой второй части второго блока с использованием окна синтеза, как проиллюстрировано в блоке 1930. Таким образом, вторая часть второго блока, с одной стороны, исправляется посредством блока 1922 и, с другой стороны, подвергается оконной обработке посредством окна синтеза, как проиллюстрировано в блоке 1930, так как эта часть затем требуется для генерирования следующего кадра для базового кодера посредством сложения с перекрытием подвергнутой оконной обработке второй части второго блока, подвергнутого оконной обработке третьего блока и подвергнутой оконной обработке первой части четвертого блока, как проиллюстрировано в блоке 1932. Естественно, четвертый блок и, конкретно вторая часть четвертого блока будут еще раз подвергаться операции исправления, как описано по отношению ко второму блоку в элементе 1922 из фиг. 9d, и, затем, процедура будет еще раз повторяться, как описано ранее. Дополнительно, на этапе 1934, базовый кодер определяет характеристики базового кодера с использованием исправления второй части четвертого блока и, затем, следующий кадр кодируется с использованием определенных характеристик кодирования, чтобы в конечном счете получать подвергнутый базовому кодированию следующий кадр в блоке 1934. Таким образом, выравнивание второй перекрывающейся части окна анализа (в соответствующем синтезе) с частью 1905 опережающего просмотра базового кодера обеспечивает, что может получаться реализация с очень низкой задержкой и что это преимущество вследствие того факта, что часть опережающего просмотра, как подвергается оконной обработке, адресуется посредством, с одной стороны, выполнения операции исправления и с другой стороны посредством применения окна анализа, не равного окну синтеза, но с прикладыванием более малого влияния, так что может обеспечиваться, что исправляющая функция является более устойчивой по сравнению с использованием такого же окна анализа/синтеза. Однако в случае, когда базовый кодер модифицируется, чтобы управлять его функцией опережающего просмотра, что является обычно необходимым для определения характеристик базового кодирования на подвергнутой оконной обработке части, не является необходимым выполнять исправляющую функцию. Однако было обнаружено, что использование исправляющей функции является предпочтительным над модификацией базового кодера.
Дополнительно, как описано ранее, следует отметить, что имеется временной интервал между концом окна, то есть окна 1914 анализа, и конечной границей 1902 кадра для кадра, определенного посредством начальной границы 1901 кадра и конечной границы 1902 кадра из фиг. 9b.
Конкретно, временной интервал проиллюстрирован на 1920 по отношению к окнам анализа, применяемым время-спектральным преобразователем 1610 из фиг. 6, и этот временной интервал также виден 120 по отношению к первому выходному каналу 1641 и второму выходному каналу 1642.
Фиг. 9f показывает процедуру этапов, выполняемых в контексте временного интервала, базовый декодер 1600 подвергает базовому декодированию кадр или, по меньшей мере, начальную часть кадра до временного интервала 1920. Затем, время-спектральный преобразователь 1610 из фиг. 6 сконфигурирован с возможностью применять окно анализа к начальной части кадра с использованием окна 1914 анализа, которое не простирается до конца кадра, то есть до момента 1902 времени, но простирается только до начала временного интервала 1920.
Таким образом, базовый декодер имеет дополнительное время, чтобы подвергать базовому декодированию отсчеты во временном интервале и/или подвергать последующей обработке отсчеты во временном интервале, как проиллюстрировано в блоке 1940. Таким образом, время-спектральный преобразователь 1610 уже выводит первый блок как результат этапа 1938, там базовый декодер может обеспечивать оставшиеся отсчеты во временном интервале или может подвергать последующей обработке отсчеты во временном интервале на этапе 1940.
Затем, на этапе 1942, время-спектральный преобразователь 1610 сконфигурирован с возможностью подвергать оконной обработке отсчеты во временном интервале вместе с отсчетами следующего кадра с использованием следующего окна анализа, которое будет происходить после окна 1914 на фиг. 9b. Затем, как проиллюстрировано на этапе 1944, базовый декодер 1600 сконфигурирован с возможностью декодировать следующий кадр или, по меньшей мере, начальную часть следующего кадра до появления временного интервала 1920 в следующем кадре. Затем, на этапе 1946, время-спектральный преобразователь 1610 сконфигурирован с возможностью подвергать оконной обработке отсчеты в следующем кадре вплоть до временного интервала 1920 следующего кадра и, на этапе 1948, базовый декодер может затем подвергать базовому декодированию оставшиеся отсчеты во временном интервале следующего кадра и/или подвергать последующей обработке эти отсчеты.
Таким образом, этот временной интервал, равный, например, 1.25 мс, когда рассматривается вариант осуществления из фиг. 9b, может использоваться последующей обработкой базового декодера, посредством расширения полосы пропускания, посредством, например, расширения полосы пропускания временной области, используемого в контексте ACELP, или посредством некоторого сглаживания в случае перехода передачи между сигналами ACELP и MDCT базовых режимов.
Таким образом, еще раз, базовый декодер 1600 сконфигурирован с возможностью работать в соответствии с первым управлением разделением на кадры, чтобы обеспечивать последовательность кадров, при этом время-спектральный преобразователь 1610 или спектрально-временной преобразователь 1640 сконфигурированы с возможностью работать в соответствии со вторым управлением разделением на кадры, которое синхронизировано с первым управлением разделением на кадры, так что начальная граница кадра или конечная граница кадра каждого кадра из последовательности кадров находится в предварительно определенном отношении к начальному моменту или конечному моменту перекрывающейся части окна, используемого время-спектральным преобразователем или спектрально-временным преобразователем, для каждого блока из последовательности блоков значений дискретизации или для каждого блока из подвергнутой повторной дискретизации последовательности блоков спектральных значений.
Дополнительно, время-спектральный преобразователь 1610 сконфигурирован с возможностью использовать окно анализа для оконной обработки кадра из последовательности кадров, имеющих перекрывающийся диапазон, оканчивающийся до конечной границы 1902 кадра, оставляя временной интервал 1920 между концом части перекрытия и конечной границей кадра. Базовый декодер 1600, поэтому, сконфигурирован с возможностью выполнять обработку для отсчетов во временном интервале 1920 параллельно с оконной обработкой кадра с использованием окна анализа или при этом дополнительная последующая обработка временного интервала выполняется параллельно с оконной обработкой кадра с использованием окна анализа посредством время-спектрального преобразователя.
Дополнительно, и предпочтительно, окно анализа для следующего блока подвергнутого базовому декодированию сигнала располагается таким образом, что средняя неперекрывающаяся часть окна располагается внутри временного интервала, как проиллюстрировано на 1920 из фиг. 9b.
В предложении 4 полная задержка системы увеличивается по сравнению с предложением 1. В кодере дополнительная задержка приходит от модуля стерео. Выдача идеального восстановления более не является релевантной в предложении 4 в отличие от предложения 1.
В декодере, доступная задержка между базовым декодером и первым анализом DFT равняется 2.5 мс, что обеспечивает возможность выполнения стандартной повторной дискретизации, комбинирования и сглаживания между разными базовыми синтезами и сигналами расширенной полосы пропускания, как это делается в стандартном EVS.
Схематическое разделение на кадры кодера проиллюстрировано на фиг. 10a, в то время как декодер изображен на фиг. 10b. Окна даны на фиг. 10c.
В предложении 5, временное разрешение преобразования DFT уменьшено до 5 мс. Прогнозный просмотр и перекрывающаяся область базового кодера не подвергается оконной обработке, что является совместно используемым преимуществом с предложением 4. С другой стороны, доступная задержка между декодированием кодера и анализом стерео является малой и необходимо решение, как предложено в предложении 1 (фиг. 7). Основными недостатками этого предложения является низкое частотное разрешение время-частотной декомпозиции и малая перекрывающаяся область, уменьшенная до 5 мс, что предотвращает большой временной сдвиг в частотной области.
Схематическое разделение на кадры кодера проиллюстрировано на фиг. 11a, в то время как декодер изображен на фиг. 11b. Окна даны на фиг. 11c.
В виду вышеизложенного, предпочтительные варианты осуществления относятся, по отношению к стороне кодера, к многочастотному время-частотному синтезу, который обеспечивает, по меньшей мере, один подвергнутый стерео обработке сигнал на разных частотах дискретизации в последующие модули обработки. Модуль включает в себя, например, кодер речи, такой как ACELP, инструменты предварительной обработки, основанный на MDCT аудиокодер, такой как TCX, или кодер расширения полосы пропускания, такой как кодер расширения полосы пропускания временной области.
По отношению к декодеру, выполняются комбинирование в повторной дискретизации в частотной области стерео по отношению к разным вкладам синтеза декодера. Эти сигналы синтеза могут приходить от декодера речи, такого как декодер ACELP, основанного на MDCT декодера, модуля расширения полосы пропускания или сигнала ошибки между гармониками из последующей обработки, такой как басовый последующий фильтр.
Дополнительно, относительно обоих кодера и декодера, является полезным применять окно для DFT или комплексное значение, преобразованное с помощью дополнения нулями, низкую перекрывающуюся область и размер перехода, который соответствует целому числу отсчетов на разных частотах дискретизации, таких как 12.9 кГц, 16 кГц, 25.6 кГц, 32 кГц или 48 кГц.
Варианты осуществления способны достигать кодирования с низким битрейтом стереофонического аудио с низкой задержкой. Оно было конкретно сконструировано, чтобы эффективно комбинировать переключаемую схему кодирования аудио с низкой задержкой, такую как EVS, с блоками фильтров модуля кодирования стерео.
Варианты осуществления могут находить использование в распространении или широковещании всех типов стерео или многоканального аудиоконтента (так же речи и музыки с постоянным перцепционным качеством на заданном низком битрейте), как, например, с помощью приложений цифрового радио, потоковой передачи по сети Интернет и передачи аудио.
Фиг. 12 иллюстрирует устройство для кодирования многоканального сигнала, имеющего, по меньшей мере, два канала. Многоканальный сигнал 10 вводится в модуль 100 определения параметров с одной стороны и модуль 200 выравнивания сигналов с другой стороны. Модуль 100 определения параметров определяет, с одной стороны, параметр широкополосного выравнивания и, с другой стороны, множество параметров узкополосного выравнивания из многоканального сигнала. Эти параметры выводятся посредством линии 12 параметров. Дополнительно, эти параметры также выводятся посредством дополнительной линии 14 параметров в интерфейс 500 вывода, как проиллюстрировано. На линии 14 параметров, дополнительные параметры, такие как уровневые параметры пересылаются из модуля 100 определения параметров в интерфейс 500 вывода. Модуль 200 выравнивания сигналов сконфигурирован для выравнивания упомянутых, по меньшей мере, двух каналов многоканального сигнала 10 с использованием параметра широкополосного выравнивания и множества параметров узкополосного выравнивания, принятых посредством линии 10 параметров, чтобы получать выровненные каналы 20 на выходе модуля 200 выравнивания сигналов. Эти выровненные каналы 20 пересылаются в сигнальный процессор 300, который сконфигурирован для вычисления среднего сигнала 31 и вспомогательного сигнала 32 из выровненных каналов, принятых посредством линии 20. Устройство для кодирования дополнительно содержит кодер 400 сигналов для кодирования среднего сигнала из линии 31 и вспомогательного сигнала из линии 32, чтобы получать кодированный средний сигнал на линии 41 и кодированный вспомогательный сигнал на линии 42. Оба этих сигнала пересылаются в интерфейс 500 вывода для генерирования кодированного многоканального сигнала на выходной линии 50. Кодированный сигнал на выходной линии 50 содержит кодированный средний сигнал из линии 41, кодированный вспомогательный сигнал из линии 42, параметры узкополосного выравнивания и параметры широкополосного выравнивания из линии 14 и, необязательно, уровневый параметр из линии 14 и, дополнительно необязательно, параметр заполнения стерео, сгенерированный посредством кодера 400 сигналов и пересылаемый в интерфейс 500 вывода посредством линии 43 параметров.
Предпочтительно, модуль выравнивания сигналов сконфигурирован с возможностью выравнивать каналы из многоканального сигнала с использованием параметра широкополосного выравнивания, до того, как модуль 100 определения параметров фактически вычисляет узкополосные параметры. Поэтому, в этом варианте осуществления, модуль 200 выравнивания сигналов отправляет подвергнутые широкополосному выравниванию каналы назад в модуль 100 определения параметров посредством линии 15 соединения. Затем, модуль 100 определения параметров определяет множество параметров узкополосного выравнивания по отношению к подвергнутому выравниванию на основе широкополосных характеристик многоканальному сигналу. В других вариантах осуществления, однако, параметры определяются без этой конкретной последовательности процедур.
Фиг. 14a иллюстрирует один предпочтительный вариант осуществления, где выполняется конкретная последовательность этапов, которая обеспечивает линию 15 соединения. На этапе 16, определяется параметр широкополосного выравнивания с использованием упомянутых двух каналов и получается параметр широкополосного выравнивания, такой как временная разность между каналами или параметр ITD. Затем, на этапе 21, упомянутые два канала выравниваются посредством модуля 200 выравнивания сигналов из фиг. 12 с использованием параметра широкополосного выравнивания. Затем, на этапе 17, узкополосные параметры определяются с использованием выровненных каналов внутри модуля 100 определения параметров, чтобы определять множество параметров узкополосного выравнивания, таких как множество параметров фазовой разности между каналами, для разных диапазонов многоканального сигнала. Затем, на этапе 22, спектральные значения в каждом диапазоне параметров выравниваются с использованием соответствующего параметра узкополосного выравнивания для этого конкретного диапазона. Когда эта процедура на этапе 22 выполняется для каждого диапазона, для которого параметр узкополосного выравнивания является доступным, тогда выровненные первый и второй или левый/правый каналы являются доступными для дополнительной обработки сигналов посредством сигнального процессора 300 из фиг. 12.
Фиг. 14b иллюстрирует дополнительный вариант осуществления многоканального кодера из фиг. 12, где несколько процедур выполняются в частотной области.
Конкретно, многоканальный кодер дополнительно содержит время-спектральный преобразователь 150 для преобразования многоканального сигнала временной области в спектральное представление упомянутых, по меньшей мере, двух каналов внутри частотной области.
Дополнительно, как проиллюстрировано на 152, модуль определения параметров, модуль выравнивания сигналов и сигнальный процессор, проиллюстрированные на 100, 200 и 300 на фиг. 12, все работают в частотной области.
Дополнительно, многоканальный кодер и, конкретно, сигнальный процессор дополнительно содержит спектрально-временной преобразователь 154 для генерирования представления временной области среднего сигнала, по меньшей мере.
Предпочтительно, спектрально-временной преобразователь дополнительно преобразует спектральное представление вспомогательного сигнала, также определенного посредством процедур, представленных посредством блока 152, в представление временной области, и кодер 400 сигналов из фиг. 12 затем сконфигурирован с возможностью дополнительно кодировать средний сигнал и/или вспомогательный сигнал как сигналы временной области в зависимости от конкретного варианта осуществления кодера 400 сигналов из фиг. 12.
Предпочтительно, время-спектральный преобразователь 150 из фиг. 14b сконфигурирован с возможностью осуществлять этапы 155, 156 и 157 из фиг. 4c. Конкретно, этап 155 содержит обеспечение окна анализа с, по меньшей мере, одной частью дополнения нулями на его одном конце и, конкретно, частью дополнения нулями на начальной части окна и частью дополнения нулями на завершающей части окна, как проиллюстрировано, например, на фиг. 7 ниже. Дополнительно, окно анализа дополнительно имеет диапазоны перекрытия или части перекрытия в первой половине окна и во второй половине окна и, дополнительно, предпочтительно средняя часть является неперекрывающимся диапазоном, как может иметь место.
На этапе 156, каждый канал подвергается оконной обработке с использованием окна анализа с диапазонами перекрытия. Конкретно, каждый канал подвергается оконной обработке с использованием окна анализа таким образом, что получается первый блок канала. Впоследствии, получается второй блок того же канала, который имеет некоторый диапазон перекрытия с первым блоком, и так далее, так что после, например, пяти операций оконной обработки, пять блоков подвергнутых оконной обработке отсчетов каждого канала являются доступными, которые затем индивидуально преобразуются в спектральное представление, как проиллюстрировано на 157 на фиг. 14c. Такая же процедура выполняется для другого канала также, так что, в конце этапа 157, является доступной последовательность блоков спектральных значений и, конкретно, комплексные спектральные значения, такие как спектральные значения DFT или комплексные отсчеты поддиапазона.
На этапе 158, который выполняется посредством модуля 100 определения параметров из фиг. 12, определяется параметр широкополосного выравнивания и на этапе 159, который выполняется посредством выравнивания 200 сигналов из фиг. 12, выполняется круговой сдвиг с использованием параметра широкополосного выравнивания. На этапе 160, снова выполняемом посредством модуля 100 определения параметров из фиг. 12, определяются параметры узкополосного выравнивания для индивидуальных диапазонов/поддиапазонов и на этапе 161, выровненные спектральные значения вращаются для каждого диапазона с использованием соответствующих параметров узкополосного выравнивания, определенных для конкретных диапазонов.
Фиг. 14d иллюстрирует дополнительные процедуры, выполняемые посредством сигнального процессора 300. Конкретно, сигнальный процессор 300 сконфигурирован с возможностью вычислять средний сигнал и вспомогательный сигнал, как проиллюстрировано на этапе 301. На этапе 302, может выполняться некоторый тип дополнительной обработки вспомогательного сигнала и затем, на этапе 303, каждый блок среднего сигнала и вспомогательного сигнала преобразуется назад во временную область и, на этапе 304, окно синтеза применяется к каждому блоку, полученному посредством этапа 303, и, на этапе 305, выполняется операция сложения с перекрытием для среднего сигнала с одной стороны и операция сложения с перекрытием для вспомогательного сигнала с другой стороны, чтобы в конечном счете получать средний/вспомогательный сигналы временной области.
Конкретно, операции из этапов 304 и 305 дают результатом некоторый тип перекрестного замирания из одного блока среднего сигнала или вспомогательного сигнала в следующем блоке среднего сигнала и вспомогательного сигнала, так что, даже когда происходят какие-либо изменения параметров, как, например, происходят для параметра временной разности между каналами или параметра фазовой разности между каналами, они тем не менее не будут слышимыми в среднем/вспомогательном сигналах временной области, полученных посредством этапа 305 на фиг. 14d.
Фиг. 13 иллюстрирует блок-схему одного варианта осуществления устройства для декодирования кодированного многоканального сигнала, принятого на входной линии 50.
В частности, сигнал принимается посредством интерфейса 600 ввода. Соединены с интерфейсом 600 ввода декодер 700 сигналов, и модуль 900 устранения выравнивания сигналов. Дополнительно, сигнальный процессор 800 соединен с декодером 700 сигналов с одной стороны и соединен с модулем устранения выравнивания сигналов с другой стороны.
В частности, кодированный многоканальный сигнал содержит кодированный средний сигнал, кодированный вспомогательный сигнал, информацию о параметре широкополосного выравнивания и информацию о множестве узкополосных параметров. Таким образом, кодированный многоканальный сигнал на линии 50 может быть в точности таким же сигналом, как выводится посредством интерфейса вывода из 500 из фиг. 12.
Однако является важным, следует здесь отметить, что, в отличие от того, что проиллюстрировано на фиг. 12, параметр широкополосного выравнивания и множество параметров узкополосного выравнивания, включенные в кодированный сигнал в некоторой форме, могут быть в точности параметрами выравнивания, как используются модулем 200 выравнивания сигналов на фиг. 12, но могут, альтернативно, также быть их обратными значениями, то есть параметрами, которые могут использоваться в точности такими же операциями, выполняемыми посредством модуля 200 выравнивания сигналов, но с обратными значениями, так что получается устранение выравнивания.
Таким образом, информация о параметрах выравнивания может быть параметрами выравнивания, как используются модулем 200 выравнивания сигналов на фиг. 12, или может быть обратными значениями, то есть фактическими "параметрами устранения выравнивания". Дополнительно, эти параметры обычно квантуются в некоторой форме, как будет описано ниже по отношению к фиг. 8.
Интерфейс 600 ввода из фиг. 13 разделяет информацию о параметре широкополосного выравнивания и множестве параметров узкополосного выравнивания из кодированных среднего/вспомогательного сигналов и пересылает эту информацию посредством линии 610 параметров в модуль 900 устранения выравнивания сигналов. С другой стороны, кодированный средний сигнал пересылается в декодер 700 сигналов посредством линии 601 и кодированный вспомогательный сигнал пересылается в декодер 700 сигналов посредством линии 602 сигналов.
Декодер сигналов сконфигурирован для декодирования кодированного среднего сигнала и для декодирования кодированного вспомогательного сигнала, чтобы получать декодированный средний сигнал на линии 701 и декодированный вспомогательный сигнал на линии 702. Эти сигналы используются сигнальным процессором 800 для вычисления декодированного первого канального сигнала или декодированного левого сигнала и для вычисления декодированного второго канала или декодированного правого канального сигнала из декодированного среднего сигнала и декодированного вспомогательного сигнала, и декодированный первый канал и декодированный второй канал выводятся на линиях 801, 802, соответственно. Модуль 900 устранения выравнивания сигналов сконфигурирован для устранения выравнивания декодированного первого канала на линии 801 и декодированного правого канала 802 с использованием информации о параметре широкополосного выравнивания и дополнительно с использованием информации о множестве параметров узкополосного выравнивания, чтобы получать декодированный многоканальный сигнал, то есть декодированный сигнал, имеющий, по меньшей мере, два декодированных и подвергнутых устранению выравнивания канала на линиях 901 и 902.
Фиг. 9a иллюстрирует предпочтительную последовательность этапов, выполняемых модулем 900 устранения выравнивания сигналов из фиг. 13. Конкретно, этап 910 принимает выровненный левый и правый каналы, как доступны на линиях 801, 802 из фиг. 13. На этапе 910, модуль 900 устранения выравнивания сигналов осуществляет устранение выравнивания индивидуальных поддиапазонов с использованием информации о параметрах узкополосного выравнивания, чтобы получать подвергнутые устранению выравнивания по фазе декодированные первый и второй или левый и правый каналы на 911a и 911b. На этапе 912, каналы подвергаются устранению выравнивания с использованием параметра широкополосного выравнивания, так что, на 913a и 913b, получаются подвергнутые устранению выравнивания по фазе и времени каналы.
На этапе 914, выполняется любая дополнительная обработка, которая содержит использование оконной обработки или любую операцию сложения с перекрытием или, в общем, любую операцию перекрестного замирания, чтобы получать, на 915a или 915b, с уменьшенными артефактами или свободный от артефактов декодированный сигнал, то есть декодированные каналы, которые не имеют каких-либо артефактов, хотя там имеются, обычно, изменяющиеся со временем параметры устранения выравнивания для широкой полосы с одной стороны и для множества узких полос с другой стороны.
Фиг. 15b иллюстрирует один предпочтительный вариант осуществления многоканального декодера, проиллюстрированного на фиг. 13.
В частности, сигнальный процессор 800 из фиг. 13 содержит время-спектральный преобразователь 810.
Сигнальный процессор дополнительно содержит средний/вспомогательный сигналы в левый/правый сигналы преобразователь 820, чтобы вычислять из среднего сигнала M и вспомогательного сигнала S левый сигнал L и правый сигнал R.
Однако является важным, чтобы вычислять L и R посредством преобразования среднего/вспомогательного сигналов в левый/правый сигналы в блоке 820, вспомогательный сигнал S не необходимо должен использоваться. Вместо этого, как описано ниже, левый/правый сигналы первоначально вычисляются с использованием только параметра усиления, полученного из параметра уровневой разности между каналами ILD. Поэтому, в этом варианте осуществления, вспомогательный сигнал S используется только в корректоре 830 каналов, который работает, чтобы обеспечивать более хороший левый/правый сигнал с использованием переданного вспомогательного сигнала S, как проиллюстрировано посредством обходной линии 821.
Поэтому, преобразователь 820 работает с использованием уровневого параметра, полученного посредством ввода 822 уровневого параметра, и без фактического использования вспомогательного сигнала S, но корректор 830 каналов затем работает с использованием вспомогательного 821 и, в зависимости от конкретного варианта осуществления, с использованием параметра заполнения стерео, принятого посредством линии 831. Модуль 900 выравнивания сигналов затем содержит модуль устранения выравнивания по фазе и модуль 910 масштабирования энергии. Масштабирование энергии управляется посредством масштабирующего коэффициента, полученного посредством модуля 940 вычисления масштабирующих коэффициентов. Модуль 940 вычисления масштабирующих коэффициентов обеспечивается выводом корректора 830 каналов. На основе параметров узкополосного выравнивания, принятых посредством ввода 911, выполняется устранение выравнивания по фазе и, в блоке 920, на основе параметра широкополосного выравнивания, принятого посредством линии 921, выполняется устранение выравнивания по времени. В заключение, выполняется спектрально-временное преобразование 930, чтобы в конечном счете получать декодированный сигнал.
Фиг. 15c иллюстрирует дополнительную последовательность этапов, обычно выполняемых внутри блоков 920 и 930 из фиг. 15b в одном предпочтительном варианте осуществления.
Конкретно, подвергнутые устранению узкополосного выравнивания каналы вводятся в функциональные возможности устранения широкополосного выравнивания, соответствующие блоку 920 из фиг. 15b. В блоке 931 выполняется DFT или любое другое преобразование. После фактического вычисления отсчетов временной области, выполняется необязательная оконная обработка синтеза с использованием окна синтеза. Окно синтеза является предпочтительно в точности таким же, как окно анализа или получается из окна анализа, например, интерполяцией или децимацией, но зависит некоторым образом от окна анализа. Эта зависимость предпочтительно является такой, что коэффициенты умножения, определенные посредством двух перекрывающихся окон, суммируются к единице для каждой точки в диапазоне перекрытия. Таким образом, после окна синтеза в блоке 932, выполняется операция перекрытия и последующая операция сложения. Альтернативно, вместо оконной обработки синтеза и операции перекрытия/сложения, выполняется любое перекрестное замирание между последующими блоками для каждого канала, чтобы получать, как уже описано в контексте фиг. 15a, декодированный сигнал с уменьшенными артефактами.
-1
При рассмотрении фиг. 6b, становится ясно, что фактические операции декодирования для среднего сигнала, то есть "декодер EVS" с одной стороны и, для вспомогательного сигнала, обратное векторное квантование VQ и операция обратного MDCT (IMDCT) соответствуют декодеру 700 сигналов из фиг. 13.
Дополнительно, операции DFT в блоках 810 соответствуют элементу 810 на фиг. 15b и функциональные возможности обратной стерео обработки и обратного временного сдвига соответствуют блокам 800, 900 из фиг. 13 и операции 930 обратного DFT на фиг. 6b соответствуют соответствующей операции в блоке 930 на фиг. 15b.
Впоследствии, фиг. 3d описывается более подробно. В частности, фиг. 3d иллюстрирует спектр DFT, имеющий индивидуальные спектральные линии. Предпочтительно, спектр DFT или любой другой спектр, проиллюстрированный на фиг. 3d, является комплексным спектром и каждая линия является комплексной спектральной линией, имеющей амплитуду и фазу или имеющей действительную часть и мнимую часть.
Дополнительно, спектр также разделяется на разные диапазоны параметров. Каждый диапазон параметров имеет, по меньшей мере, одну и предпочтительно более, чем одну спектральные линии. Дополнительно, диапазоны параметров возрастают от более низких к более высоким частотам. Обычно, параметр широкополосного выравнивания является одиночным параметром широкополосного выравнивания для всего спектра, то есть для спектра, содержащего все диапазоны 1 по 6 в иллюстративном варианте осуществления на фиг. 3d.
Дополнительно, обеспечивается множество параметров узкополосного выравнивания, так что имеется одиночный параметр выравнивания для каждого диапазона параметров. Это означает, что параметр выравнивания для диапазона всегда применяется ко всем спектральным значениям внутри соответствующего диапазона.
Дополнительно, в дополнение к параметрам узкополосного выравнивания, также обеспечиваются уровневые параметры для каждого диапазона параметров.
В отличие от уровневых параметров, которые обеспечиваются для каждого и всякого диапазона параметров от диапазона 1 до диапазона 6, является предпочтительным обеспечивать множество параметров узкополосного выравнивания только для ограниченного количества более низких диапазонов, таких как диапазоны 1, 2, 3 и 4.
Дополнительно, параметры заполнения стерео обеспечиваются для некоторого количества диапазонов, исключая более низкие диапазоны, как, например, в иллюстративном варианте осуществления, для диапазонов 4, 5 и 6, в то время как имеются спектральные значения вспомогательного сигнала для более низких диапазонов 1, 2 и 3 параметров и, следовательно, никакие параметры заполнения стерео не существуют для этих более низких диапазонов, где соответствие волновой формы получается с использованием либо самого вспомогательного сигнала, или сигнала остатка предсказания, представляющего вспомогательный сигнал.
Как уже указано, существует больше спектральных линий в более высоких диапазонах, как, например, в варианте осуществления на фиг. 3d, семь спектральных линий в диапазоне 6 параметров по отношению только к трем спектральным линиям в диапазоне 2 параметров. Естественно, однако, количество диапазонов параметров, количество спектральных линий и количество спектральных линий внутри диапазона параметров и также разные пределы для некоторых параметров будут разными.
Все же, фиг. 8 иллюстрирует распределение параметров и количества диапазонов, для которых параметры обеспечиваются, в некотором варианте осуществления, где имеется, в отличие от фиг. 3d, фактически 12 диапазонов.
Как проиллюстрировано, уровневый параметр ILD обеспечивается для каждого из 12 диапазонов и квантуется до точности квантования, представленной посредством пяти бит в расчете на диапазон.
Дополнительно, параметры узкополосного выравнивания IPD обеспечиваются только для более низких диапазонов вплоть до граничной частоты, равной 2.5 кГц. Дополнительно, временная разность между каналами или параметр широкополосного выравнивания обеспечивается только как одиночный параметр для всего спектра, но с очень высокой точностью квантования, представленной посредством восьми битов для всего диапазона.
Дополнительно, обеспечиваются достаточно грубо квантованные параметры заполнения стерео, представленные посредством трех бит в расчете на диапазон, и не для более низких диапазонов ниже 1 кГц, так как, для более низких диапазонов, содержатся фактически кодированный вспомогательный сигнал или спектральные значения остатка вспомогательного сигнала.
Впоследствии, подытоживается предпочтительная обработка на стороне кодера. На первом этапе, выполняется анализ DFT левого и правого канала. Эта процедура соответствует этапам 155 по 157 из фиг. 14c. Вычисляется параметр широкополосного выравнивания и, конкретно, предпочтительная временная разность между каналами (ITD) параметра широкополосного выравнивания. Выполняется временной сдвиг для L и R в частотной области. Альтернативно, этот временной сдвиг также может выполняться во временной области. Затем выполняется обратное DFT, временной сдвиг выполняется во временной области и выполняется дополнительное прямое DFT, чтобы еще раз иметь спектральные представления после выравнивания с использованием параметра широкополосного выравнивания.
Параметры ILD, то есть уровневые параметры и фазовые параметры (параметры IPD), вычисляются для каждого диапазона параметров на сдвинутых представлениях L и R. Этот этап соответствует этапу 160 из фиг. 14c, например. Сдвинутые по времени представления L и R вращаются как функция параметров фазовой разности между каналами, как проиллюстрировано на этапе 161 из фиг. 14c. Впоследствии, средний и вспомогательный сигналы вычисляются, как проиллюстрировано на этапе 301, и, предпочтительно, дополнительно с операцией сбережения энергии, как описано ниже. Дополнительно, выполняется предсказание для S с M как функция от ILD и необязательно с прошлым сигналом M, то есть средним сигналом более раннего кадра. Впоследствии, выполняется обратное DFT среднего сигнала и вспомогательного сигнала, что соответствует этапам 303, 304, 305 из фиг. 14d в предпочтительном варианте осуществления.
На конечном этапе, кодируются средний сигнал временной области m и, необязательно, сигнал остатка. Эта процедура соответствует тому, что выполняется посредством кодера 400 сигналов на фиг. 12.
В декодере в обратной стерео обработке, вспомогательный сигнал генерируется в области DFT и сначала предсказывается из среднего сигнала как:
где g является усилением, вычисленным для каждого диапазона параметров, и является функцией от переданной уровневой разности между каналами (ILD).
Остаток предсказания  может затем уточняться двумя разными способами:
- Посредством вторичного кодирования сигнала остатка:
где  является глобальным усилением, передаваемым для всего спектра
- Посредством предсказания остатка, известного как заполнение стерео, предсказывающего вспомогательный спектр остатка с помощью предыдущего спектра декодированного среднего сигнала из предыдущего кадра DFT:
где  является предсказательным усилением, передаваемым в расчете на диапазон параметров.
Упомянутые два типа уточнения кодирования могут смешиваться внутри одного и того же спектра DFT. В предпочтительном варианте осуществления, кодирование остатка применяется на более низких диапазонах параметров, в то время как предсказание остатка применяется на оставшихся диапазонах. Кодирование остатка находится в предпочтительном варианте осуществления, как изображено на фиг. 12, выполняется в области MDCT после синтеза вспомогательного сигнала остатка во временной области и преобразования его посредством MDCT. В отличие от DFT, MDCT критически дискретизируется и является более подходящим для кодирования аудио. Коэффициенты MDCT напрямую векторно квантуются посредством решеточного векторного квантования, но могут альтернативно кодироваться посредством модуля скалярного квантования, за которым следует энтропийный кодер. Альтернативно, вспомогательный сигнал остатка также может кодироваться во временной области посредством способа кодирования речи или напрямую в области DFT.
Впоследствии описывается один дополнительный вариант осуществления обработки объединенного стерео/многоканального кодера или обратной стерео/многоканальной обработки.
1. ЧАСТОТНО-ВРЕМЕННОЙ АНАЛИЗ: DFT
Является важным, что дополнительная время-частотная декомпозиция из стерео обработки, осуществляемая посредством преобразований DFT, обеспечивает возможность хорошего анализа слуховой сцены, в то время как не увеличивает значительно полную задержку системы кодирования. По умолчанию, используется временное разрешение, равное 10 мс (дважды 20 мс разделения на кадры базового кодера). Окна анализа и синтеза являются одними и теми же и являются симметричными. Окно представляется при 16 кГц частоты дискретизации на фиг. 7. Можно заметить, что перекрывающаяся область ограничена для уменьшения порожденной задержки и что дополнение нулями также добавлено, чтобы уравновешивать круговой сдвиг при применении ITD в частотной области, как будет описано ниже.
2. ПАРАМЕТРЫ СТЕРЕО
Параметры стерео могут передаваться на максимуме на временном разрешении стерео DFT. На минимуму оно может уменьшаться до разрешения разделения на кадры базового кодера, то есть, 20 мс. По умолчанию, когда никакие переходные сигналы не обнаруживается, параметры вычисляются каждые 20 мс над 2 окнами DFT. Диапазоны параметров составляют неравномерную и неперекрывающуюся декомпозицию спектра, следуя грубо умноженным на 2 или умноженным на 4 эквивалентным прямоугольным полосам пропускания (ERB). По умолчанию, умноженная на 4 шкала ERB используется для всех 12 диапазонов для частотной полосы пропускания, равной 16 кГц (32 Кбит/с частоты дискретизации, суперширокополосного стерео). Фиг. 8 подытоживает пример конфигурации, для которой вспомогательная информация стерео передается с приблизительно 5 Кбит/с.
3. ВЫЧИСЛЕНИЕ ITD И ВЫРАВНИВАНИЕ ПО ВРЕМЕНИ КАНАЛОВ
ITD вычисляются посредством оценки временной задержки прибытия (TDOA) с использованием обобщенной взаимной корреляции с фазовым преобразованием (GCC-PHAT):
где L и R являются частотными спектрами левого и правого каналов соответственно. Частотный анализ может выполняться независимо от преобразования DFT, используемого для последующей стерео обработки, или может совместно использоваться. Псевдокод для вычисления ITD является следующим:
% сглаживание вывода для более хорошего обнаружения
Вычисление ITD также может подытоживаться следующим образом. Взаимная корреляция вычисляется в частотной области до сглаживания в зависимости от измерения спектральной плоскостности. SFM ограничивается между 0 и 1. В случае шумоподобных сигналов, SFM будет высоким (то есть, около 1) и сглаживание будет слабым. В случае тоноподобного сигнала, SFM будет низким и сглаживание будет становиться более сильным. Сглаженная взаимная корреляция затем нормализуется посредством ее амплитуды до преобразования назад во временную область. Нормализация соответствует фазовому преобразованию взаимной корреляции, и является известным, что демонстрирует более хорошую производительность, чем нормальная взаимная корреляция в средах низкого шума и относительно высокой реверберации. Таким образом полученная функция временной области сначала фильтруется для достижения более устойчивого образования пиков. Индекс, соответствующий максимальной амплитуде, соответствует оценке временной разности между левым и правым каналом (ITD). Если амплитуда максимума является более низкой, чем заданный порог, то оценка ITD не рассматривается как надежная и устанавливается на нуль.
Если выравнивание по времени применяется во временной области, ITD вычисляется в отдельном анализе DFT. Сдвиг делается следующим образом:
<img file="00000011.jpg" he="9" wi="33" img-content="undefined" img-format="jpg" />
если <img file="00000012.jpg" he="4" wi="14" img-content="undefined" img-format="jpg" />
если <img file="00000013.jpg" he="4" wi="14" img-content="undefined" img-format="jpg" />
Это требует дополнительной задержки в кодере, которая равняется на максимуме максимальной абсолютной ITD, которая может обрабатываться. Изменение в ITD с течением времени сглаживается посредством оконной обработки анализа преобразования DFT.
Альтернативно выравнивание по времени может выполняться в частотной области. В этом случае, вычисление ITD и круговой сдвиг находятся в одной и той же области DFT, области, совместно используемой с этой другой стерео обработкой. Круговой сдвиг дается посредством:
Дополнение нулями окон DFT необходимо для моделирования временного сдвига с круговым сдвигом. Размер дополнения нулями соответствует максимальной абсолютной ITD, которая может обрабатываться. В предпочтительном варианте осуществления, дополнение нулями разделяется равномерно на обеих сторонах окон анализа, посредством добавления 3.125 мс из нулей на обоих концах. Максимальная абсолютная возможная ITD равняется тогда 6.25 мс. В установке микрофонов A-B, это соответствует для наихудшего случая максимальному расстоянию приблизительно 2.15 метров между упомянутыми двумя микрофонами. Изменение в ITD с течением времени сглаживается посредством оконной обработки синтеза и сложения с перекрытием преобразования DFT.
Является важным, что за временным сдвигом следует оконная обработка сдвинутого сигнала. Это является основным различием с кодированием бинауральных признаков (BCC) предшествующего уровня техники, где временной сдвиг применяется на подвергнутом оконной обработке сигнале, но не подвергается оконной обработке дополнительно в каскаде синтеза. Как следствие, любое изменение в ITD с течением времени формирует искусственный переходный сигнал/щелчок в декодированном сигнале.
4. ВЫЧИСЛЕНИЕ РАЗНОСТЕЙ IPD И ВРАЩЕНИЕ КАНАЛОВ
Разности IPD вычисляются после выравнивания по времени упомянутых двух каналов и это для каждого диапазона параметров или, по меньшей мере, вплоть до заданного , в зависимости от конфигурации стерео.
IPD затем применяется к упомянутым двум каналам для выравнивания их фаз:
Где ,  и b является индексом диапазона параметров, которому принадлежит частотный индекс k. Параметр  является ответственным за распределение величины фазового вращения между упомянутыми двумя каналами наряду с тем, что делает их выровненными по фазе.  зависит от IPD, но также относительного уровня амплитуды каналов, ILD. Если канал имеет более высокую амплитуду, он будет рассматриваться как ведущий канал и будет менее затрагиваться фазовым вращением, чем канал с более низкой амплитудой.
5. СУММАРНО-РАЗНОСТНОЕ ПРЕОБРАЗОВАНИЕ И КОДИРОВАНИЕ ВСПОМОГАТЕЛЬНОГО СИГНАЛА
Суммарно-разностное преобразование выполняется над выровненными по времени и фазе спектрами упомянутых двух каналов таким способом, что энергия сберегается в среднем сигнале.
где  ограничено между 1/1.2 и 1.2, то есть, -1.58 и +1.58 дБ. Ограничение предотвращает артефакт при регулировке энергии для M и S. Следует отметить, что это сбережение энергии является менее важным, когда время и фаза были заранее выровнены. Альтернативно границы могут увеличиваться или уменьшаться.
Вспомогательный сигнал S дополнительно предсказывается с помощью M:
где  где . Альтернативно оптимальное усиление предсказания g может быть найдено посредством минимизации среднеквадратической ошибки (MSE) остатка и разностей ILD, выведенных посредством предыдущего уравнения.
Сигнал остатка  может моделироваться посредством двух средств: либо посредством его предсказания с задержанным спектром сигнала M или посредством кодирования его напрямую в области MDCT.
6. ДЕКОДИРОВАНИЕ СТЕРЕО
Средний сигнал X и вспомогательный сигнал S сначала преобразуются в левый и правый каналы L и R следующим образом:
, для ,
для ,
где усиление g в расчете на диапазон параметров получается из параметра ILD:
где .
Для диапазонов параметров ниже cod_max_band, упомянутые два канала обновляются с помощью декодированного вспомогательного сигнала:
для
для
Для более высоких диапазонов параметров, вспомогательный сигнал предсказывается и каналы обновляются как:
для
для
В заключение, каналы умножаются на комплексное значение с целью восстановить исходную энергию и фазу между каналами стереосигнала:
где
где a определяется и ограничивается, как определено ранее, и где , и где atan2(x,y) является четырехквадрантным арктангенсом x над y.
В заключение, каналы сдвигаются по времени либо во временной или в частотной области в зависимости от переданных разностей ITD. Каналы временной области синтезируются посредством обратных преобразований DFT и сложения с перекрытием.
Новый кодированный аудиосигнал может сохраняться в цифровом запоминающем носителе или нетранзиторном запоминающем носителе или может передаваться по носителю передачи, такому как беспроводной носитель передачи, или проводной носитель передачи, такой как сеть Интернет.
Хотя некоторые аспекты были описаны в контексте устройства, должно быть ясно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствует этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента или признака соответствующего устройства.
В зависимости от некоторых требований осуществления, варианты осуществления изобретения могут осуществляться в аппаратном обеспечении или в программном обеспечении. Вариант осуществления может выполняться с использованием цифрового запоминающего носителя, например, гибкого диска, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего электронно-читаемые сигналы управления, сохраненные на нем, которые работают вместе (или способны работать вместе) с программируемой компьютерной системой, так что выполняется соответствующий способ.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронно-читаемые сигналы управления, которые являются способными работать вместе с программируемой компьютерной системой, так что выполняется один из способов, здесь описанных.
В общем, варианты осуществления настоящего изобретения могут осуществляться как компьютерный программный продукт с программным кодом, при этом программный код выполнен с возможностью для выполнения одного из способов, когда компьютерный программный продукт исполняется на компьютере. Программный код может, например, храниться на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, здесь описанных, сохраненную на машиночитаемом носителе или нетранзиторном запоминающем носителе.
Другими словами, один вариант осуществления нового способа является, поэтому, компьютерной программой, имеющей программный код для выполнения одного из способов, здесь описанных, когда компьютерная программа исполняется на компьютере.
Один дополнительный вариант осуществления новых способов является, поэтому, носителем данных (или цифровым запоминающим носителем, или считываемым компьютером носителем), содержащим, записанную на нем, компьютерную программу для выполнения одного из способов, здесь описанных.
Один дополнительный вариант осуществления нового способа является, поэтому, потоком данных или последовательностью сигналов, представляющей компьютерную программу для выполнения одного из способов, здесь описанных. Поток данных или последовательность сигналов может, например, быть сконфигурирована с возможностью передаваться посредством соединения передачи данных, например, посредством сети Интернет.
Один дополнительный вариант осуществления содержит средство обработки, например, компьютер, или программируемое логическое устройство, сконфигурированное с возможностью или выполненное с возможностью выполнять один из способов, здесь описанных.
Один дополнительный вариант осуществления содержит компьютер, имеющий, установленную на нем компьютерную программу для выполнения одного из способов, здесь описанных.
В некоторых вариантах осуществления, может использоваться программируемое логическое устройство (например, программируемая пользователем вентильная матрица), чтобы выполнять некоторые или все из функциональных возможностей способов, здесь описанных. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может работать вместе с микропроцессором, чтобы выполнять один из способов, здесь описанных. В общем, способы предпочтительно выполняются посредством любого устройства аппаратного обеспечения.
Вышеописанные варианты осуществления являются всего лишь иллюстративными для принципов настоящего изобретения. Следует понимать, что модификации и изменения компоновок и подробностей, здесь описанных, должны быть ясны другим специалистам в данной области техники. Предполагается, поэтому, что ограничения обеспечиваются только посредством объема приложенной формулы изобретения и не посредством конкретных подробностей, представленных посредством описания и объяснения вариантов осуществления отсюда.