АУДИО ИЛИ ВИДЕО КОДЕР, АУДИО ИЛИ ВИДЕО И ОТНОСЯЩИЕСЯ К НИМ СПОСОБЫ ДЛЯ ОБРАБОТКИ МНОГОКАНАЛЬНЫХ АУДИО ИЛИ ВИДЕОСИГНАЛОВ С ИСПОЛЬЗОВАНИЕМ ПЕРЕМЕННОГО НАПРАВЛЕНИЯ ПРЕДСКАЗАНИЯ
AUDIO OR VIDEO ENCODER, AUDIO OR VIDEO AND RELATED METHODS OF PROCESSING MULTI-CHANNEL AUDIO OR VIDEO SIGNALS USING VARIABLE PREDICTION DIRECTION

Настоящее изобретение относится к обработке аудио или видео, и в частности, к многоканальной аудио или видео обработке многоканального сигнала, содержащего два или более сигналов канала.
В области многоканальной или стерео обработки известно применение так называемого стерео кодирования со средним/боковым сигналом. В данной концепции, для получения среднего или моно сигнала M формируется объединение сигнала левого или первого аудио канала и сигнала правого или второго аудио канала. Дополнительно, для получения бокового сигнала S формируется разность между сигналом левого или первого канала и сигналом правого или второго канала. Данный способ кодирования со средним/боковым сигналом дает значительную эффективность кодирования, когда левый сигнал и правый сигнал весьма похожи друг на друга, так как боковой сигнал становится довольно небольшим. Как правило, эффективность кодирования на этапе квантователя/энтропийного кодера становится выше, когда уменьшается диапазон значений, которые должны быть подвергнуты квантованию/энтропийному кодированию. Следовательно, применительно к PCM или основанному на методе Хаффмана или арифметическому энтропийному кодеру, эффективность кодирования увеличивается, при уменьшении бокового сигнала. Тем не менее, существуют определенные ситуации, при которых кодирование со средним/боковым сигналом, не повлияет на эффективность кодирования. Подобная ситуация может возникнуть, когда сигналы в обоих каналах имеют фазовый сдвиг по отношению друг к другу, например, на 90°. Тогда, средний сигнал и боковой сигнал могут обладать очень похожим диапазоном и, вследствие этого, кодирование среднего сигнала и бокового сигнала, используя энтропийный кодер, не приведет к эффективному кодированию, и даже может привести к увеличенному битрейту. Вследствие этого, для отключения кодирования со средним/боковым сигналом в полосах частот может применяться частотно-избирательное кодирование со средним/боковым сигналом, при котором, например, боковой сигнал не становится меньше исходного левого сигнала в определенной степени.
Несмотря на то, что боковой сигнал становится нулевым, когда левый и правый сигналы идентичны, что дает максимальную эффективность кодирования из-за исключения бокового сигнала, ситуация вновь меняется, когда средний сигнал и боковой сигнал идентичны по их форме сигнала, а разность между двумя сигналами заключается лишь в их абсолютных амплитудах. В этом случае, когда дополнительно предполагается, что боковой сигнал не имеет фазового сдвига по отношению к среднему сигналу, боковой сигнал значительно увеличивается, хотя с другой стороны, средний сигнал так сильно не уменьшается в отношении его диапазона значений. Когда такая ситуация возникает в определенной полосе частот, следовало бы отключить кодирование со средним/боковым сигналом ввиду отсутствия выигрыша от кодирования. Кодирование со средним/боковым сигналом может применяться частотно-избирательно или, в качестве альтернативы, применяться во временной области.
Существует альтернативный метод многоканального кодирования, который основывается не на подходе, который зависит от вида формы сигнала, как кодирование со средним/боковым сигналом, а основывается на параметрической обработке, которая в свою очередь основана на определенных бинауральных репликах (сигналах). Такие методы известны под названиями «кодирование бинауральных реплик», «параметрическое стерео кодирование» или «Объемное MPEG кодирование». Здесь, для множества полос частот вычисляются определенные реплики. Эти реплики включают в себя межканальные разности уровня, межканальные измерения когерентности, межканальные временные разности и/или межканальные разности фаз. Эти подходы исходят из того, что воспринимаемое слушателем ощущение многоканальности не обязательно основано на подробных формах сигнала двух каналов, а основано на точных, предоставленных с частотной избирательностью, репликах или межканальной информации. Это означает, что в машине воспроизведения, необходимо предпринять меры по воспроизведению многоканальных сигналов, которое точно отражает реплики, а формы сигналов не имеет решающего значения.
Данный подход может быть сложным в частности в случае, когда декодеру требуется применять обработку декорреляции с тем, чтобы искусственно создать стерео сигналы, которые декоррелированы друг от друга, хотя все эти каналы являются производными одного и того же канала понижающего микширования. Используемые для этих целей декорреляторы, в зависимости от их исполнения, сложны и могут привносить артефакты в частности в случае переходных частей сигнала. В дополнение, в противоположность кодированию формы сигнала, подход параметрического кодирования является подходом кодирования с потерями, который неизбежно приводит к потере информации, вызванной не только обычным квантованием, а также вызванной концентрацией на бинауральных репликах нежели на конкретных формах сигнала. Данный подход приводит к очень низким битрейтам, но может включать в себя компромиссы по качеству.
Существуют последние разработки в области унифицированного кодирования речи и аудио (USAC), проиллюстрированные на Фиг. 7a. Основной декодер 700 выполняет операцию декодирования кодированного стерео сигнала на входе 701, который может быть кодирован со средним/боковым сигналом. Основной декодер выдает средний сигнал по линии 702, а боковой или остаточный сигнал по линии 703. Оба сигнала преобразуются в область QMF банками 704 и 705 фильтров QMF. Затем, применяется декодер 706 Объемного MPEG, чтобы сформировать сигнал 707 левого канала и сигнал 708 правого канала. Эти низко-полосные сигналы последовательно подаются в декодер 709 репликации спектральной полосы (SBR), который создает широкополосные левый и правый сигналы в линиях 710 и 711, которые затем преобразуются во временную область банками 712, 713 фильтров синтеза QMF, и таким образом получают широкополосный левый и правый сигналы L, R.
Фиг. 7b иллюстрирует ситуацию, когда декодер 706 Объемного MPEG должен выполнить декодирование со средним/боковым сигналом. В качестве альтернативы, блок 706 декодера Объемного MPEG может представлять бинауральную реплику на основе параметрического декодирования для формирования стерео сигналов из одного моно сигнала основного декодера. Конечно, декодер 706 Объемного MPEG так же может формировать множество низко-полосных выходных сигналов, которые могут подаваться в блок 709 декодера SBR, используя параметрическую информацию, такую как межканальные разности уровня, межканальные измерения согласованности и прочие такие параметры межканальной информации.
Когда блок 706 декодера Объемного MPEG выполняет декодирование со средним/боковым сигналом, проиллюстрированное на Фиг. 7b, то может быть применен коэффициент g действительного усиления и при этом DMX/RES и L/R соответственно являются сигналами понижающего микширования/остаточным и левым/правым, представленными в комплексной гибридной области QMF.
Использование сочетания блока 706 и блока 709 вызывает лишь незначительное увеличение сложности вычисления в сравнении со стерео декодером, который используется в качестве основы, так как комплексное QMF представление сигнала уже доступно как часть декодера SBR. Однако в конфигурации без SBR стерео кодирование, основанное на QMF, как предлагается в контексте USAC, приведет к значительному увеличению сложности вычислений из-за необходимости обеспечения банков QMF, что потребует в данном примере 64-полосных банков анализа и 64-полосных банков синтеза. Эти банки фильтров должны добавляться только для стерео кодирования.
Однако в разрабатываемой системе USAC MPEG также существуют режимы кодирования с высокими битрейтами, в которых, как правило, SBR не используется.
Целью настоящего изобретения является предоставление улучшенной концепции обработки аудио и видео, которая, с одной стороны, показывала бы высокую эффективность кодирования, а с другой стороны, приводила к хорошему качеству аудио и видео и/или меньшей сложности вычислений.
Данная цель достигается посредством аудио или видео декодера по п. 1 формулы изобретения, аудио или видео кодера по п. 13 формулы изобретения, способу декодирования аудио или видео по п. 19 формулы изобретения, способу кодирования аудио или видео по п. 18 формулы изобретения, компьютерной программы по п. 19 формулы изобретения или кодированного многоканального аудио или видео сигнала по п.20 формулы изобретения.
Настоящее изобретение основано на выводе о том, что эффективность кодирования высококачественного подхода с кодированием формы сигнала может быть значительно улучшена посредством предсказания второго сигнала объединения, используя первый сигнал объединения, при этом оба сигнала объединения получены из исходных сигналов, используя правило объединения, такое, как правило объединения среднего/бокового сигнала. Было установлено, что данная информация предсказания вычисляется предсказателем в аудио или видео кодере таким образом, что выполняется цель оптимизации, при этом возникают лишь незначительные потери, но это приводит к значительному уменьшению битрейта, который требуется для бокового сигнала, без потери какого-либо качества аудио или видео, поскольку обладающее признаками изобретения предсказание все же является подходом кодирования, основанного на форме сигнала, а не подходом стерео или многоканального кодирования, основанным на параметрах. С тем чтобы уменьшить сложность вычислений предпочтительно выполнять кодирование в частотной области, при котором информация предсказания получается из входных данных в частотной области полосовым избирательным образом. Алгоритм преобразования для преобразования представления во временной области в спектральное представление является предпочтительно процессом с критической дискретизацией, таким как модифицированное дискретное косинус-преобразование (MDCT) или модифицированное дискретное синус-преобразование (MDST), которые отличаются от комплексного преобразования в том, что вычисляются только действительные значения или только мнимые значения, в то время как в комплексном преобразовании вычисляются действительные и комплексные значения спектра, что приводит к 2-кратной избыточной дискретизации.
Кроме того, концепция переключения направления предсказания приводит к повышению эффективности предсказания при минимальных затратах на вычисления. Для этого кодер определяет индикатор направления предсказания, указывающий направление предсказания, ассоциированное с предсказанием остаточного сигнала. В варианте осуществления первый сигнал объединения, такой как средний сигнал, используется для предсказания второго сигнала объединения, такого как боковой сигнал. Данный подход применим, когда энергия среднего сигнала выше энергии бокового сигнала. Однако когда энергия второго сигнала объединения, такого как боковой сигнал, выше энергии первого сигнала объединения, т.е. когда энергия бокового сигнала выше энергии среднего сигнала, направление предсказания реверсируется, и боковой сигнал используется для предсказания среднего сигнала. В первом случае, т.е. когда средний сигнал используется для предсказания бокового сигнала, от кодера к декодеру передаются средний сигнал, остаточный сигнал, информация предсказания и индикатор направления предсказания, указывающий данное направление предсказания. Во втором случае, где второй сигнал объединения используется для предсказания первого сигнала объединения, как тот, когда боковой сигнал используется для предсказания среднего сигнала, совместно с остаточным сигналом, информацией предсказания и индикатором направления предсказания, указывающим данное реверсированное направление, передается боковой сигнал (а не средний сигнал).
Данная процедура позволяет лучше маскировать результирующий шум квантования. Применительно к сигналам, большая часть энергии которых находится во втором сигнале объединения, таком как боковой канал, предсказание первого сигнала объединения, такого как средний сигнал, по боковому сигналу S позволяет панорамировать доминирующую часть шума квантования в соответствии с исходным источником звука. Это в свою очередь приводит к перцепционно более адекватному распределению ошибки в итоговом выходном сигнале.
Данная процедура обладает дополнительным преимуществом, которое состоит в том, что она обеспечивает эффективное многоканальное парное кодирование, которое, в случае только двух каналов, является эффективным стерео кодированием. Приспособленный к изменению сигнала выбор направления предсказания для кодирования со средним/боковым сигналом (M/S) гарантирует более высокую эффективность предсказания для сигналов с доминирующей энергией в боковом сигнале, при минимальном увеличении сложности вычислений. В дополнение, получают перцепционно лучше адаптированное маскирование результирующего шума квантования из-за панорамирования воспринимаемого пространственного направления шума квантования в направлении основного сигнала. Кроме того, уменьшается диапазон значений для коэффициентов предсказания, которые должны передаваться в битовом потоке, что позволяет получить более эффективное кодирование информации/коэффициентов предсказания. Данная процедура пригодна для всех видов приложения обработки стерео, таких как кодирование с преобразованием в объединенный сигнал двух или многоканальных аудио и видео сигналов.
Предпочтительно, используется преобразование, основанное на внесении и подавлении наложения спектров. В частности таким преобразованием является MDCT, позволяющее обеспечить перекрытие между последовательными блоками без каких-либо потерь, благодаря хорошо известному свойству подавления наложения спектров во временной области (TDAC), которое достигается путем обработки с добавлением перекрытия на стороне декодера.
Предпочтительно, информация предсказания, вычисленная в кодере, переданная декодеру и используемая в декодере, содержит мнимую часть, которая преимущественно отражает разности фаз между двумя аудио или видео каналами в произвольно выбранных величинах между 0° и 360°. Сложность вычислений значительно уменьшается, только когда применяется действительное преобразование или, в общем, преобразование, которое либо обеспечивает только действительный спектр, либо обеспечивает только мнимый спектр. Чтобы воспользоваться данной мнимой информацией предсказания, которая указывает фазовый сдвиг между определенной полосой левого сигнала и соответствующей полосой правого сигнала, в декодере представлен конвертор действительного-в-мнимое или, в зависимости от реализации преобразования, конвертор мнимого-в-действительное с тем, чтобы вычислить повернутый по фазе сигнал предсказания из первого сигнала объединения, который повернут по фазе по отношению к исходному сигналу объединения. Затем данный повернутый по фазе сигнал предсказания может быть объединен с остаточным сигналом предсказания, который передается в битовом потоке, чтобы восстановить боковой сигнал, который затем может быть объединен со средним сигналом, чтобы получить декодированный левый канал в определенной полосе и декодированный правый канал в данной полосе.
Чтобы повысить качество аудио или видео, точно такой же конвертор действительного-в-мнимое или мнимого-в-действительное, как применяемый на стороне декодера, также реализуется на стороне кодера, при вычислении остаточного сигнала предсказания в кодере.
Настоящее изобретение обладает преимуществом, которое состоит в том, что оно обеспечивает улучшенное качество аудио или видео и уменьшенный битрейт в сравнении с системами с тем же битрейтом или с тем же качеством аудио или видео.
Дополнительно получают преимущества, связанные с эффективностью вычислений унифицированного стерео кодирования, полезного в системе USAC MPEG при высоких битрейтах, где, как правило, не используется SBR. Вместо того чтобы обрабатывать сигнал в комплексной гибридной области QMF, данные подходы реализуют основанное на остатке стерео кодирование с предсказанием в естественной области MDCT базового кодера преобразования стерео.
В соответствии с аспектом настоящего изобретения, настоящее изобретение содержит устройство или способ для формирования стерео сигнала посредством комплексного предсказания в области MDCT, при этом комплексное предсказание выполняется в области MDCT, используя преобразование действительного-в-комплексное, при этом данный стерео сигнал может быть либо кодируемым стерео сигналом на стороне кодера, либо в качестве альтернативы может быть декодируемым/переданным стерео сигналом, когда аппаратура или способ для формирования стерео сигнала, применяются на стороне декодера.
Предпочтительные варианты осуществления настоящего изобретения рассматриваются далее со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 является структурной схемой предпочтительного варианта осуществления аудио или видео декодера;
Фиг. 2 является структурной схемой предпочтительного варианта осуществления аудио или видео кодера;
Фиг. 3a иллюстрирует реализацию вычислителя кодера по Фиг. 2;
Фиг. 3b иллюстрирует альтернативную реализацию вычислителя кодера по Фиг. 2;
Фиг. 3c иллюстрирует правило объединения среднего/бокового сигнала, которое должно применяться на стороне кодера;
Фиг. 4a иллюстрирует реализацию вычислителя декодера с Фиг. 1;
Фиг. 4b иллюстрирует альтернативную реализацию вычислителя декодера в виде вычислителя матриц;
Фиг. 4c иллюстрирует обратное правило объединения среднего/бокового сигнала, соответствующее правилу объединения, проиллюстрированному на Фиг. 3c;
Фиг. 5a иллюстрирует вариант осуществления аудио или видео кодера, функционирующего в частотной области, которая предпочтительно является действительной частотной областью;
Фиг. 5b иллюстрирует реализацию аудио или видео декодера, функционирующего в частотной области;
Фиг. 6a иллюстрирует альтернативную реализацию аудио или видео кодера, функционирующего в области MDCT, и использующего преобразование действительного-в-мнимое;
Фиг. 6b иллюстрирует аудио или видео декодер, функционирующий в области MDCT и использующий преобразование действительного-в-мнимое;
Фиг. 7a иллюстрирует аудио постпроцессор, использующий стерео декодер и впоследствии присоединенный декодер SBR;
Фиг. 7b иллюстрирует матрицу повышающего микширования среднего/бокового сигнала;
Фиг. 8a иллюстрирует подробный вид блока MDCT по Фиг. 6a;
-1
Фиг. 8b иллюстрирует подробный вид блока MDCT по Фиг. 6b;
Фиг. 9a иллюстрирует реализацию оптимизатора, функционирующего с уменьшенным разрешением, по отношению к выводу MDCT;
Фиг. 9b иллюстрирует представление спектра MDCT и соответствующие полосы более низкого разрешения, в которых вычисляется информация предсказания;
Фиг. 10a иллюстрирует реализацию преобразователя действительного-в-мнимое на Фиг. 6a или Фиг. 6b;
Фиг. 10b иллюстрирует возможную реализацию вычислителя мнимого спектра по Фиг. 10a;
Фиг. 11a иллюстрирует предпочтительную реализацию аудио кодера, выполненного с реверсируемым направлением предсказания;
Фиг. 11b иллюстрирует предпочтительную реализацию связанного аудио или видео декодера, выполненного с возможностью обработки остаточных сигналов, сформированных посредством реверсируемых направлений предсказаний;
Фиг. 12a иллюстрирует дополнительный предпочтительный вариант осуществления аудио или видео кодера с реверсируемым направлением предсказания;
Фиг. 12b иллюстрирует дополнительный вариант осуществления аудио или видео декодера, который управляется индикатором направления предсказания.
Фиг. 13a иллюстрирует флаг направления предсказания;
Фиг. 13b иллюстрирует реализацию других правил предсказания на стороне кодера, в зависимости от индикатора направления предсказания;
Фиг. 13c иллюстрирует правила вычисления на стороне декодера для индикатора направления предсказания в первом состоянии;
Фиг. 13d иллюстрирует правило вычисления на стороне декодера для другого индикатора направления предсказания во втором состоянии;
Фиг. 13e иллюстрирует комплексные умножения, применяемые в вариантах осуществления аудио или видео кодера или аудио или видео декодера; и
Фиг. 14а 14b иллюстрирует варианты осуществления для определения индикатора направления предсказания.
его
ому
ому
Фиг. 1 иллюстрирует аудио или видео декодер для декодирования кодированного многоканального аудио сигнала, полученного по входной линии 100. Кодированный многоканальный аудио сигнал содержит кодированный первый сигнал объединения, сформированный с использованием правила объединения для объединения сигнала первого канала и сигнала второго канала, представляющих многоканальный аудио сигнал; кодированный остаточный сигнал предсказания и информацию предсказания. Кодированный многоканальный сигнал может быть потоком данных, таким как битовый поток, с тремя мультиплексированными составляющими. В подаваемый по линии 100 кодированный многоканальный сигнал может быть включена дополнительная информация. Сигнал подается во входной интерфейс 102. Входной интерфейс 102 может быть реализован как демультиплексор потока данных, который выдает кодированный первый сигнал объединения по линии 104, кодированный остаточный сигнал по линии 106 и информацию предсказания по линии 108. Предпочтительно, информация предсказания является коэффициентом с не равной нулю действительной частью и/или отличной от нуля мнимой частью. Кодированный сигнал объединения и кодированный остаточный сигнал подаются в декодер 110 сигнала для декодирования первого сигнала объединения, чтобы получить декодированный первый сигнал объединения по линии 112. Дополнительно, декодер 110 сигнала выполнен с возможностью декодирования кодированного остаточного сигнала, чтобы получить декодированный остаточный сигнал по линии 114. В зависимости от процесса кодирования на стороне аудио кодера, декодер сигнала может быть выполнен в виде энтропийного декодера, такого как декодер Хаффмана, арифметического декодера или любого другого энтропийного декодера и соединенного с каскадом деквантования для выполнения операции деквантования, которая согласуется с операцией квантования в связанном аудио кодере. Сигналы по линиям 112 и 114 подаются в вычислитель 115 декодера, который выдает сигнал первого канала по линии 117 и сигнал второго канала по линии 118, при этом эти два сигнала являются стерео сигналами или двумя каналами многоканального аудио сигнала. Когда, например, многоканальный аудио сигнал содержит пять каналов, тогда двумя сигналами являются два канала из многоканального сигнала. Для полного кодирования такого многоканального сигнала с пятью каналами могут применяться два декодера в соответствии с Фиг. 1, при этом первый декодер обрабатывает левый канал и правый канал, второй декодер обрабатывает левый объемный канал и правый объемный канал, а третий моно декодер будет использоваться для выполнения моно декодирования центрального канала. Однако также могут применяться другие виды группировки или сочетания кодеров формы сигнала и параметрических кодеров. Альтернативным способом обобщения схемы предсказания на более чем два канала будет одновременная обработка трех (или более) сигналов, т.е. предсказание 3 сигнала объединения по 1 и 2 сигналу, используя два коэффициента предсказания, очень похоже на модуль «из-двух-в-три» в Объемном MPEG.
Дополнительно, кодированный многоканальный аудио сигнал, полученный по входной линии 100, содержит индикатор направления предсказания. Данный индикатор направления предсказания, такой как флаг направления предсказания, извлекается из кодированного многоканального сигнала входным интерфейсом 102 и пересылается вычислителю 116 декодера, чтобы вычислитель декодера вычислял декодированный многоканальный сигнал в зависимости от информации предсказания, декодированного первого (или второго) сигнала объединения и индикатора направления предсказания, представленного входным интерфейсом 102.
Вычислитель 116 декодера выполнен с возможностью вычисления декодированного многоканального сигнала с декодированным сигналом 117 первого канала и декодированным сигналом 118 второго канала, используя декодированный остаточный сигнал 114, информацию 108 предсказания и декодированный первый сигнал 112 объединения. В частности, вычислитель 116 декодера выполнен с возможностью функционирования таким образом, что декодированный сигнал первого канала и декодированный сигнал второго канала являются по меньшей мере аппроксимацией сигнала первого канала и сигнала второго канала многоканального сигнала, вводимого в соответствующий кодер, которые объединяются по правилу объединения при формировании первого сигнала объединения и остаточного сигнала предсказания. В частности, информация предсказания, передаваемая по линии 108, содержит отличную от нуля действительную часть и/или отличную от нуля мнимую часть.
Вычислитель 116 декодера может быть реализован различными способами. Первая реализация проиллюстрирована на Фиг. 4a. Данная реализация содержит предсказатель 1160, вычислитель 1161 сигнала объединения и объединитель 1162. Предсказатель принимает декодированный первый сигнал 112 объединения и информацию 108 предсказания и выдает сигнал 1163 предсказания. В частности, предсказатель 1160 выполнен с возможностью применения информации 108 предсказания к декодированному первому сигналу 112 объединения или сигналу, полученному из декодированного первого сигнала объединения. Правило извлечения для получения сигнала, к которому применяется информация 108 предсказания, может быть преобразованием действительного-в-мнимое, или равно, преобразованием мнимого-в-действительное, или операцией взвешивания, или, в зависимости от реализации, операцией фазового сдвига, или объединенной операцией взвешивания/фазового сдвига. Сигнал 1163 предсказания выдается совместно с декодированным остаточным сигналом в вычислитель 1161 сигнала объединения, чтобы вычислить декодированный второй сигнал 1165 объединения. Сигналы 112 и 1165 подаются в объединитель 1162, который объединяет декодированный первый сигнал объединения и второй сигнал объединения, чтобы получить декодированный многоканальный аудио сигнал с декодированным сигналом первого канала и декодированным сигналом второго канала соответственно по выходным линиям 1166 и 1167. В качестве альтернативы, вычислитель декодера реализован в качестве вычислителя 1168 матриц, который принимает, в качестве входных данных, декодированный первый сигнал объединения или сигнал M, декодированный остаточный сигнал или сигнал D и информацию 108 предсказания α. Вычислитель 1168 матриц применяет матрицу преобразования, проиллюстрированную как 1169, к сигналам M, D, чтобы получить выходные сигналы L, R, где L является декодированным сигналом первого канала, а R является декодированным сигналом второго канала. Система обозначений на Фиг. 4b сходна с системой обозначения применяемой в стереофонии, в которой присутствует левый канал L и правый канал R. Данная система обозначений была применена с тем, чтобы обеспечить более простое понимание, однако специалисту в соответствующей области очевидно, что сигналы L, R могут быть сочетанием любым двух сигналов каналов в многоканальном сигнале, у которого более двух сигналов каналов. Матричная операция 1169 объединяет в себе операции в блоках 1160, 1161 и 1162 на Фиг. 4a в своего рода «одношаговое» матричное вычисление, и при этом входные данные для схемы на Фиг. 4a и выходные данные из схемы на Фиг. 4a идентичны входным данным в вычислитель 1168 матриц или выходным данным из вычислителя 1168 матриц.
Фиг. 4c иллюстрирует пример обратного правила объединения, которое применяется объединителем 1162 на Фиг. 4a. В частности, правило объединения аналогично правилу объединения на стороне декодера в хорошо известном кодировании со средним/боковым сигналом, где L=M+S, а R=M-S. Следует понимать, что сигнал S, используемый обратным правилом объединения на Фиг. 4c, является сигналом, вычисляемым вычислителем сигнала объединения, т.е. путем объединения сигнала предсказания по линии 1163 и декодированного остаточного сигнала по линии 114. Следует понимать, что в данном описании сигналы в линиях иногда обозначаются ссылочными обозначениями для линий или иногда обозначаются своими ссылочными обозначениями, которые были отнесены к линиям. Вследствие этого схема обозначений такова, что линия с определенным сигналом указывает сам сигнал.
Линия может быть физической линией при реализации в аппаратном обеспечении. Однако в компьютеризованной реализации физической линии не существует, однако представленный линией сигнал передается от одного модуля вычислений к другому модулю вычислений.
Фиг. 11b иллюстрирует дополнительную предпочтительную реализацию вычислителя декодера, функционирующего в зависимости от индикатора направления предсказания, который предоставляется на входе 401 индикатора направления предсказания. В зависимости от состояния индикатора направления предсказания, применяется либо первое правило вычисления, проиллюстрированное как 402, либо второе правило вычисления, проиллюстрированное как 403. Дополнительное правило 402 вычисления обеспечивает на выходе сигнал первого канала и сигнал второго канала, и первое правило вычисления может быть реализовано так, как проиллюстрировано на Фиг. 13c, описываемой ниже. В конкретном варианте осуществления, где первым сигналом объединения является средний сигнал, а вторым сигналом объединения является боковой сигнал, индикатор направления предсказания имеет значение «0», и выполняется предсказание второго сигнала объединения по первому сигналу объединения. В данном случае на вход 404 подается средний сигнал, т.е. первый сигнал объединения. А когда индикатор направления предсказания равен «1», переключатель 405 соединяет вход 404 с входом устройства 403 второго правила вычисления. В этом случае выполняется предсказание первого сигнала объединения, такого как средний сигнал, по второму сигналу объединения, такому как боковой сигнал, и на вход 404 будет подаваться боковой сигнал вместо среднего сигнала. Устройство 403 второго правила вычисления будет вновь выдавать сигнал первого канала и сигнал второго канала, однако правило для вычисления этих двух сигналов, т.е. левого сигнала и правого сигнала в стерео варианте осуществления, будет другим. Конкретный вариант осуществления для второго правила вычисления проиллюстрирован на Фиг. 13d, описанной ниже.
Фиг. 2 иллюстрирует аудио кодер для кодирования многоканального аудио сигнала 200, содержащего два или более сигналов каналов, при этом сигнал первого канала проиллюстрирован как 201, а сигнал второго канала проиллюстрирован как 202. Оба сигнала подаются в вычислитель 203 кодера для вычисления первого сигнала 204 объединения и остаточного сигнала 205 предсказания, используя сигнал 201 первого канала и сигнал 202 второго канала и информацию 206 предсказания, так что остаточный сигнал 205 предсказания, при объединении с сигналом предсказания, полученным из первого сигнала 204 объединения, и информации 206 предсказания, дает второй сигнал объединения, при этом первый сигнал объединения и второй сигнал объединения получаются из сигнала 201 первого канала и сигнала 202 второго канала, используя правило объединения.
Информация предсказания формируется оптимизатором 207 для вычисления информации 206 предсказания таким образом, что остаточный сигнал предсказания выполняет цель 208 оптимизации. Первый сигнал 204 объединения и остаточный сигнал 205 подаются в кодер 309 сигнала для кодирования первого сигнала 204 объединения, чтобы получить кодированный первый сигнал 210 объединения, и для кодирования остаточного сигнала 205, чтобы получить кодированный остаточный сигнал 211. Оба кодированные сигналы 210, 211 подаются в выходной интерфейс 212 для объединения кодированного первого сигнала 210 объединения с кодированным остаточным сигналом 211 предсказания и информацией 206 предсказания, чтобы получить кодированный многоканальный сигнал 213, который аналогичен кодированному многоканальному сигналу 100, который подается во входной интерфейс 102 аудио декодера, проиллюстрированного на Фиг. 1.
В зависимости от реализации, оптимизатор 207 принимает либо сигнал 201 первого канала и сигнал 202 второго канала, либо, как проиллюстрировано линиями 214 и 215, первый сигнал 214 объединения и второй сигнал 215 объединения, полученные от объединителя 2031 на Фиг. 3a, который будет рассмотрен позже.
<mrow><msup><mrow><mrow><mo>‖</mo><mrow><mi>S</mi><mo>−</mo><mi>α</mi><mi>M</mi></mrow><mo>‖</mo></mrow></mrow><mn>2</mn></msup></mrow>
<mrow><mrow><mo>‖</mo><mo>…</mo><mo>‖</mo></mrow></mrow>
На Фиг. 2 проиллюстрирована предпочтительная цель оптимизации, при которой эффективность кодирования максимальна, т.е. битрейт уменьшается настолько, насколько это возможно. В данной цели оптимизации, остаточный сигнал D минимизируется по отношению к α. Другими словами, это означает, что информация α предсказания выбирается таким образом, что минимизируется
. Это приводит к решению для α, проиллюстрированному на Фиг. 2. Сигналы S, M заданы по блокам и являются предпочтительными сигналами в спектральной области, где запись
означает 2-норму аргумента, и <…> иллюстрирует скалярное произведение. Когда сигнал 201 первого канала и сигнал 202 второго канала подаются в оптимизатор 207, оптимизатор должен применить правило объединения, при этом характерное правило объединения проиллюстрировано на Фиг. 3c. А когда в оптимизатор 207 подаются первый сигнал 214 объединения и второй сигнал 215 объединения, оптимизатору 207 не требуется самому реализовывать правило объединения.
Прочие цели оптимизации могут относиться к перцепционному качеству. Цель оптимизации может состоять в том, чтобы получить максимальное перцепционное качество. Тогда оптимизатору потребуется дополнительная информация из перцепционной модели. Прочие реализации цели оптимизации могут относиться к получению минимального или фиксированного битрейта. Тогда оптимизатор 207 должен быть реализован для выполнения операций квантования/энтропийного кодирования, чтобы определить требуемый битрейт для определенных значений α, чтобы α могла быть установлена для выполнения требований, таких как минимальный битрейт, или, в качестве альтернативы, фиксированный битрейт. Прочие реализации цели оптимизации могут относиться к минимальному использованию ресурсов кодера или декодера. В случае реализации такой цели оптимизации, оптимизатору 207 должна быть доступна информация о требуемых ресурсах для определенной оптимизации. В дополнение, для управления оптимизатором 207, который вычисляет информацию 206 предсказания, может использоваться сочетание этих целей оптимизации или других целей оптимизации.
Кодер аудио дополнительно содержит вычислитель 219 направления предсказания, который представляет на своем выходе индикатор направления предсказания, который указывает направление предсказания, ассоциированное с остаточным сигналом 205 предсказания, который выдается вычислителем 203 кодера на Фиг. 2. Вычислитель 219 направления предсказания может быть реализован разными способами, при этом несколько примеров рассматриваются в контексте Фиг. 14.
Вычислитель 203 кодера на Фиг. 2 может быть реализован различными способами, при этом характерный первая реализация проиллюстрирована на Фиг. 3a, при которой в объединителе 2031 выполняется явное правило объединения. Альтернативная реализация проиллюстрирована на Фиг. 3b, где используется вычислитель 2039 матриц. Объединитель 2031 на Фиг. 3a может быть реализован для выполнении правила объединения, проиллюстрированного на Фиг. 3c, которое является характерным хорошо известным правилом кодирования со средним/боковым сигналом, при котором ко всем ветвям применяется весовой коэффициент равный 0.5. Тем не менее, в зависимости от реализации могут использоваться другие весовые коэффициенты, или весовые коэффициенты могут совсем не использоваться (единство взвешивания). В дополнение, следует отметить, что могут применяться другие правила объединения, такие как другие правила линейного объединения или правила нелинейного объединения, пока существует соответствующее обратное правило объединения, которое может применяться в объединителе 1162 декодера, проиллюстрированном на Фиг. 4a, который применяет правило объединения, которое является обратным правилу объединения, применяемому кодером. Благодаря предложенному предсказанию, может использоваться любое обратимое правило предсказания, поскольку влияние на форму сигнала «уравновешивается» предсказанием, т.е. если любая ошибка, включается в передаваемый остаточный сигнал, то поскольку операция предсказания выполняется оптимизатором 207 совместно с вычислителем 203 кодера, то это является процессом сохранения формы сигнала.
Объединитель 2031 выдает первый сигнал 204 объединения и второй сигнал 2032 объединения. Первый сигнал объединения подается в предсказатель 2033, а второй сигнал 2032 объединения подается в вычислитель 2034 остатка. Предсказатель 2033 вычисляет сигнал 2035 предсказания, который объединяется со вторым сигналом 2032 объединения, чтобы в итоге получить остаточный сигнал 205. В частности, объединитель 2031 выполнен с возможностью объединения сигналов 201 и 202 двух каналов многоканального аудио сигнала двумя разными способами для получения первого сигнала 204 объединения и второго сигнала 2032 объединения, при этом два разных способа проиллюстрированы в характерном варианте осуществления на Фиг. 3c. Предсказатель 2033 выполнен с возможностью применения информации предсказания к первому сигналу 204 предсказания или сигналу, полученному из первого сигнала предсказания, чтобы получить сигнал 2035 предсказания. Сигнал, полученный из сигнала объединения, может быть получен любой нелинейной или линейной операцией, при этом предпочтительным является преобразование действительного-в-мнимое/преобразование мнимого-в-действительное, которое может быть реализовано с использованием линейного фильтра, такого как фильтр FIR, который выполняет взвешенные сложения определенных значений.
Вычислитель 2034 остатка на Фиг. 3a может выполнять такую операцию вычитания, при которой сигнал предсказания вычитается из второго сигнала объединения. Тем не менее, возможно выполнение других операций в вычислителе остатка. Соответственно, вычислитель 1161 сигнала объединения на Фиг. 4a может выполнять операцию сложения, при которой декодированный остаточный сигнал 114 и сигнал 1163 предсказания складываются вместе, чтобы получить второй сигнал 1165 объединения.
Фиг. 11a иллюстрирует предпочтительную реализацию вычислителя кодера. В зависимости от индикатора направления предсказания, который подается на вход 501 направления предсказания, выбирается либо первое правило 502 предсказания, либо второе правило 503 предсказания, что проиллюстрировано переключателем 505 контролируемого выбора. Первое правило предсказания может быть аналогично тому, что проиллюстрировано на Фиг. 13b, первая альтернатива, а второе правило предсказания может быть аналогично тому, что проиллюстрировано на Фиг. 13b, вторая альтернатива. Выходные данные блоков 502, 503, т.е. сигнал объединения и остаточный сигнал, могут пересылаться выходному интерфейсу, или в случае кодирования сигнала, кодеру 209 сигнала на Фиг. 2. Кроме того, индикатор направления предсказания выдается в выходном битовом потоке совместно с информацией предсказания, кодированным остаточным сигналом и кодированным сигналом объединения, который может быть либо первым сигналом объединения в случае, если индикатор направления предсказания равен «0», либо вторым сигналом объединения в случае, если индикатор направления предсказания равен «1».
Фиг. 5a иллюстрирует предпочтительную реализацию аудио кодера. В сравнении с аудио кодером, проиллюстрированным на Фиг. 3a, сигнал 201 первого канала является спектральным представлением сигнала 55a первого канала во временной области. Соответственно, сигнал 202 второго канала является спектральным представлением сигнала 55b канала во временной области. Преобразование из временной области в спектральное представление выполняется временным/частотным конвертором 50 для сигнала первого канала и временным/частотным конвертором 51 для сигнала второго канала. Предпочтительно, но не обязательно, спектральные конверторы 50, 51 реализованы как действительные конверторы. Алгоритмом преобразования может быть дискретное косинусное преобразование (DCT), FFT, в котором используется только действительная часть, MDCT или любое другое преобразование, обеспечивающее действительные спектральные значения. В качестве альтернативы, оба преобразования могут быть реализованы в качестве мнимого преобразования, такого как DST, MDST или FFT, в котором используется только мнимая часть, а действительная часть отбрасывается. Впрочем, может использоваться любое другое преобразование, обеспечивающее только мнимые значения. Одной целью использования чистого действительного преобразования или чистого мнимого преобразования является сложность вычислений, поскольку, для каждого спектрального значения, должно обрабатываться только одно значение, такое как величина или действительная часть, или, в качестве альтернативы, фаза или мнимая часть. В противоположность, в полностью комплексном преобразовании, таком как FFT, для каждой спектральной линии должны обрабатываться два значения, т.е. действительная часть и мнимая часть, что увеличивает сложность вычислений с коэффициентом по меньшей мере 2. Другой причиной использования здесь действительного преобразования является то, что оно является, как правило, преобразованием с критической дискретизацией и, следовательно, обеспечивает приемлемую (и обычно используемую) область для квантования сигнала и энтропийного кодирования (стандартная парадигма «перцепционного аудио кодирования», реализуемая в «MP3», AAC, или аналогичных системах аудио кодирования).
Фиг. 5a дополнительно иллюстрирует вычислитель 2034 остатка в качестве сумматора, который на своем «плюсовом» входе принимает боковой сигнал и который принимает на своем «минусовом» входе сигнал предсказания, выдаваемый предсказателем 2033. Дополнительно, Фиг. 5a иллюстрирует ситуацию, при которой информация управления предсказателем пересылается от оптимизатора к мультиплексору 212, который выдает мультиплексированный битовый поток, представляющий собой кодированный многоканальный аудио сигнал. В частности, операция предсказания выполняется таким образом, что боковой сигнал предсказывается по среднему сигналу, как проиллюстрировано Уравнениями справа на Фиг. 5a.
Хотя Фиг. 5a иллюстрирует предсказание S по M, т.е. боковой сигнал предсказывается по среднему сигналу, что происходит при индикаторе направления предсказания равном нулю, однако когда индикатор направления предсказания равен 1, применяется реверсированное предсказание. Тогда выполняется предсказание M по S. Это может быть проиллюстрировано перестановкой выходов блока 2031 так, что по верхнему выходу подается боковой сигнал, а по нижнему выходу подается средний сигнал.
Предпочтительно, информацией 206 управления предсказателем является коэффициент, как проиллюстрировано в правой части Фиг. 3b. В варианте осуществления, в котором информация управления предсказанием содержит только действительную часть, такую как действительная часть комплексного α или величину комплексного α, при этом данная часть соответствует отличному от нуля коэффициенту, можно добиться значительной эффективности кодирования, когда средний сигнал и боковой сигнал аналогичны друг другу по их структуре формы сигнала, но имеют разные амплитуды.
Однако когда информация управления предсказанием содержит только вторую часть, которая может быть мнимой частью комплексного коэффициента или фазовой информацией комплексного коэффициента, при этом мнимая часть или фазовая информация отличны от нуля, то настоящее изобретение обеспечивает значительную эффективность кодирования для сигналов, сдвинутых по фазе друг относительно друга на значение, отличное от 0° или 180°, и которые обладают, кроме фазового смещения, аналогичными характеристиками формы сигнала и аналогичными зависимостями амплитуды.
Предпочтительно, информация управления предсказанием является комплексной. Тогда может быть достигнута значительная эффективность кодирования для сигналов разных по амплитуде и сдвинутых по фазе. В ситуации, при которой временные/частотные преобразования обеспечивают комплексные спектры, операция 2034 будет комплексной операцией, при которой действительная часть информации управления предсказателем применяется к действительной части комплексного спектра M, а мнимая часть комплексной информации предсказания применяется к мнимой части комплексного спектра. Тогда в сумматоре 2034 результатом данной операции предсказания является предсказанный действительный спектр и предсказанный мнимый спектр, и предсказанный действительный спектр должен вычитаться из действительного спектра бокового сигнала S (по полосам), а предсказанный мнимый спектр должен вычитаться из мнимой части спектра S для получения комплексного остаточного спектра D.
Сигналы L и R во временной области являются действительными сигналами, а сигналы в частотной области могут быть действительными или комплексными. Когда сигналы в частотной области действительные, преобразование является действительным преобразованием. Когда сигналы в частотной области являются комплексными, преобразование является комплексным. Это означает, что входные данные для временного-к-частотному и выходные данные частотного-к-временному преобразованию являются действительными, а сигналы в частотной области могут быть, например, комплексными сигналами в области QMF.
Фиг. 5b иллюстрирует аудио декодер, соответствующий аудио кодеру, проиллюстрированному на Фиг. 5a. Аналогичные по отношению к аудио декодеру на Фиг. 1 элементы имеют аналогичные цифровые обозначения.
Битовый поток, выдаваемый мультиплексором 212 битового потока на Фиг. 5a, подается в демультиплексор 102 битового потока на Фиг. 5b. Демультиплексор 102 битового потока демультиплексирует битовый поток на сигнал M понижающего микширования и остаточный сигнал D. Сигнал M понижающего микширования подается в деквантователь 110a. Остаточный сигнал D подается в деквантователь 110b. В дополнение, демультиплексор 102 битового потока демультиплексирует информацию 108 управления предсказателем из битового потока и подает ее в предсказатель 1160. Предсказатель 1160 выдает предсказанный боковой сигнал α∙M, а объединитель 1161 объединяет остаточный сигнал, выданный деквантователем 110b, с предсказанным боковым сигналом, чтобы в итоге получить воссозданный боковой сигнал S. Затем сигнал подается в объединитель 1162, который выполняет, например, обработку получения суммы/разности, как проиллюстрировано на Фиг. 4c применительно к кодированию со средним/боковым сигналом. В частности, блок 1162 выполняет (обратное) декодирование со средним/боковым сигналом, чтобы получить представление в частотной области левого канала и представления в частотной области правого канала. Затем представление в частотной области преобразуется в представление во временной области посредством соответствующих частотно/временных конверторов 52 и 53.
Фиг. 5b иллюстрирует ситуацию, при которой было выполнено предсказание, в декодере, бокового сигнала S по среднему сигналу M, указанное индикатором направления предсказания равным нулю. Но когда от кодера, такого как кодер на Фиг. 5a, к декодеру на Фиг. 5b передается индикатор направления предсказания, равный 1, выполняется обратное предсказание M по S, т.е. правило вычисления декодера таково, что по S вычисляется M, а не противоположное вычисление в случае, когда индикатор направления предсказания равен нулю.
В зависимости от реализации системы, частотно/временные конверторы 52, 53 являются действительными частотно/временными конверторами, когда представление в частотной области является действительным представлением, или комплексными частотно/временными конверторами, когда представление в частотной области является комплексным представлением.
Для повышения эффективности предпочтительным является выполнение действительного преобразования, как проиллюстрировано в другой реализации на Фиг. 6a для кодера и Фиг. 6b для декодера. Действительные преобразования 50 и 51 реализованы посредством MDCT. В дополнение, информация предсказания вычисляется как комплексное значение с действительной частью и мнимой частью. Поскольку оба спектра M, S являются действительными спектрами, и поскольку, вследствие этого, отсутствует мнимая часть спектра, представлен конвертор 2070 действительного-в-мнимое, который вычисляет оцененный мнимый спектр 600 из действительного спектра сигнала M. Данный преобразователь 2070 действительного-в-мнимое является частью оптимизатора 207, а мнимый спектр 600, оцененный блоком 2070, подается в каскад 2071 оптимизатора α совместно с действительным спектром M, чтобы вычислить информацию 206 предсказания, которая в данном случае имеет действительный коэффициент, указываемый в 2073, и мнимый коэффициент, указываемый в 2074. Теперь, в соответствии с данным вариантом осуществления, действительный спектр первого сигнала M объединения умножается на действительную часть αR 2073, чтобы получить сигнал предсказания, который затем вычитается из действительного бокового спектра. Дополнительно, мнимый спектр 600 умножается на мнимую часть αI, проиллюстрированную в 2074, чтобы получить дополнительный сигнал предсказания, при этом данный сигнал предсказания затем вычитается из действительного бокового спектра, как указано в 2034b. Затем, остаточный сигнал D предсказания квантуется в квантователе 209b, а действительный спектр M квантуется/кодируется в блоке 209a. Дополнительно, предпочтительно квантовать и кодировать информацию α предсказания в квантователе/энтропийном кодере 2072, чтобы получить кодированное комплексное значение α, которое пересылается, например, мультиплексору 212 битового потока по Фиг. 5a и которое в итоге вводится в битовый поток в качестве информации предсказания.
Что касается позиции модуля 2072 квантования/кодировании (Q/C) для α, следует отметить, что умножители 2073 и 2074 предпочтительно используют то же (квантованное) α, что и используемое в декодере. Следовательно, можно переместить 2072 непосредственно на выход 2071, или может считаться, что квантование α уже учтено в процессе оптимизации в 2071.
Хотя можно вычислить комплексный спектр на стороне кодера, поскольку доступна вся информация, предпочтительно выполнять преобразование действительного-в-комплексное в блоке 2070 в кодере, чтобы создавались аналогичные условия применительно к декодеру, проиллюстрированному на Фиг. 6b. Декодер принимает действительный кодированный спектр первого сигнала объединения и действительное спектральное представление кодированного остаточного сигнала. Дополнительно, в 108 получают кодированную комплексную информацию предсказания, и в блоке 65 выполняется энтропийное декодирование и деквантование, чтобы получить действительную часть αR, проиллюстрированную в 1160b, и мнимую часть αI, проиллюстрированную в 1160c. Средние сигналы, выдаваемые элементами 1160b и 1160c взвешивания, складываются с декодированным и деквантованным остаточным сигналом предсказания. В частности, спектральные значения, подаваемые в блок 1160c весовой обработки, при этом мнимая часть комплексного коэффициента предсказания используется в качестве весового коэффициента, получены из действительного спектра M конвертором 1160a действительного-в-мнимое, который предпочтительно реализован аналогично блоку 2070 на Фиг. 6a по отношению к стороне кодера. На стороне декодера комплексное представление среднего сигнала или бокового сигнала недоступно, что отличается от стороны кодера. Причиной является то, что от кодера декодеру передаются только кодированные действительные спектры из-за битрейта и сложности.
Фиг. 6a и Фиг. 6b иллюстрируют ситуацию, при которой индикатор направления предсказания равен нулю, т.е. выполняется предсказание S по M или вычисление S, используя M и комплексную информацию α предсказания. Однако когда индикатор направления предсказания равен 1 или указывает на реверсированное направление предсказание, может применяться та же схема, но выходы блока 2031 меняются так, что верхняя линия подает боковой сигнал S, а нижняя линия подает средний сигнал M. На стороне декодера, правило вычисления декодера меняется, как и в случае реверсированного направления предсказания, и по S вычисляется M, что также может быть указано путем замены сигнала M на Фиг. 6b в верхней линии на выходе блока 110a на боковой сигнал S. Это приводит к наличию среднего сигнала M на выходе блока 1161b и бокового сигнала S на верхнем входе блока 1162. Вследствие этого должно либо адаптироваться правило, применяемое блоком 1162 к данной другой ситуации ввода, либо M/S сигналы должны быть переставлены до ввода в блок 1162. В последнем случае, т.е. когда выполняется перестановка, для обоих значений индикатора направления предсказания блок 1162 один и тот же.
Преобразователь 1160a действительного-в-мнимое или соответствующий блок 2070 на Фиг. 6a могут быть реализованы в соответствии с WO 2004/013839 A1 или WO 2008/014853 A1 или патентом США № 6,980,933. В зависимости от сигнала или реализации, информация α предсказания может быть чисто действительной или чисто мнимой или может быть комплексным числом с действительной и мнимой частью. Однако если реализовано только действительное предсказание, то реверсирование направления предсказания уже обеспечит улучшенную производительность при очень ограниченных дополнительных вычислительных требованиях и приведет к более низкому битрейту, благодаря тому, что остаточный сигнал будет обладать меньшей энергией, что верно и для информации предсказания. Следовательно, дополнительный битрейт, который требуется для передачи индикатора направления предсказания, в итоге приводит к значительной экономии бит из-за меньшего битрейта, который требуется для остаточного сигнала и информации предсказания. Вследствие этого, информация предсказания может содержать отличную от нуля действительную часть и/или отличную от нуля мнимую часть. В качестве альтернативы, может применяться любая другая реализация, которая известна в данной области техники, а предпочтительная реализация рассматривается в контексте Фиг. 10a, 10b.
В частности, как проиллюстрировано на Фиг. 10a, конвертор 1160a действительного-в-мнимое содержит селектор 1000 спектрального кадра, соединенный с вычислителем 1001 мнимого спектра. Селектор 1000 спектрального кадра принимает указание текущего кадра i на входе 1002 и, в зависимости от реализации, информацию управления на входе 1003 управления. Когда, например, указание по линии 1002 указывает, что должен быть вычислен мнимый спектр для текущего кадра i, и когда информация 1003 управления указывает, что для вычисления должен использоваться только текущий кадр, селектор 1000 спектрального кадра выбирает только текущий кадр i и пересылает данную информацию вычислителю мнимого спектра. Затем вычислитель мнимого спектра использует только спектральные линии текущего кадра i для выполнения взвешенного объединения линий, размещенных в текущем кадре (блок 1008), применительно к частоте, близкие или около текущей спектральной линии k, для которой должна быть вычислена мнимая линия, как проиллюстрировано в 1004 на Фиг. 10b. А когда селектор 1000 спектрального кадра принимает информацию 1003 управления, указывающую, что для вычисления мнимого спектра также должны использоваться предшествующий кадр i-1 и последующий кадр i+1, вычислитель мнимого спектра дополнительно принимает значения из кадров i-1 и i+1 и выполняет взвешенное объединение линий в соответствующих кадрах, как проиллюстрировано в 1005 для кадра i-1 и в 1006 для кадра i+1. Результаты операций взвешивания объединяются посредством взвешенного объединения в блоке 1007, чтобы в итоге получить мнимую линию k для кадра fi, которая затем умножается на мнимую часть информации предсказания в элементе 1160с, чтобы получить сигнал предсказания для данной линии, который затем складывается с соответствующей линией среднего сигнала в сумматоре 1161b для декодера. В кодере выполняется аналогичная операция, но в элементе 2034b выполняется вычитание.
Следует отметить, что информация 1003 управления может дополнительно указывать на использование большего числа кадров, чем два окружающих кадра, или, например, на использование только текущего кадра и именно одного или более предшествующих кадров, без использования «будущих» кадров, чтобы сократить систематическую задержку.
i
Дополнительно следует отметить, что поэтапное взвешенное объединение, проиллюстрированное на Фиг. 10b, при котором в первой операции объединяются линии из одного кадра и затем результаты этих покадровых операций объединения объединяются сами с собой, также могут выполняться в другой очередности. Другая очередность означает, что на первом этапе линии для текущей частоты k от некоторого числа смежных кадров, указанных информацией 103 управления, объединяются путем взвешенного объединения. Данное взвешенное объединение выполняется для линий k, k-1, k-2, k+1, k+2 и т.д. в зависимости от количества смежных линий, которые должны использоваться для оценки мнимой линии. Затем результаты этих «временных» объединений подвергаются взвешенному объединения в «частотном направлении», чтобы в итоге получить мнимую линию k для кадра f. Весовые коэффициенты предпочтительно устанавливаются так, чтобы их значения находились в диапазоне от -1 до 1, и весовые коэффициенты могут быть реализованы в сочетании прямых FIR или IIR фильтров, которые выполняют линейное объединение спектральных линий или спектральных сигналов разных частот и разных кадров.
Как указано на Фиг. 6a и 6b, предпочтительным алгоритмом преобразования является алгоритм преобразования MDCT, которое применяется в прямом направлении в элементах 50 и 51 на Фиг. 6a, и которое применяется в обратном направлении в элементах 52, 53, вслед за операцией объединения в объединителе 1162, функционирующем в спектральной области.
Фиг. 8a иллюстрирует более детальную реализацию блока 50 или 51. В частности, последовательность аудио выборок во временной области подается в блок 500 организации окон анализа, который выполняет операцию организации окон, используя окно анализа и, в частности, выполняет данную операцию кадр за кадром, но используя шаг или перекрытие в 50%. Результат данного блока организации окон анализа, т.е. последовательность кадров из организованных в окна элементов, подается в блок 501 преобразования MDCT, который выдает последовательность действительных кадров MDCT, при этом эти кадры являются кадрами с наложением спектров. В качестве примера, блок организации окон анализа использует окна анализа длиной в 2048 выборок. Блок 501 преобразования MDCT выдает спектры MDCT с 1024 действительными спектральными линиями или значениями MDCT. Предпочтительно, управление блоком 500 организации окон анализа и/или преобразователем 501 MDCT осуществляется управлением 502 длиной окна или длиной преобразования, чтобы, например, для переходных частей в сигнале длина окна/длина преобразования сокращалась, чтобы получить более хорошие результаты кодирования.
Фиг. 8b иллюстрирует обратную операцию MDCT, которая выполняется в блоках 52 и 53. В качестве примера, блок 52 содержит блок 520 для выполнения покадрового обратного преобразования MDCT. Когда, например, кадр значений MDCT имеет 1024 значений, на выходе данного обратного преобразования MDCT имеем 2048 временных выборок с наложенными спектрами. Такой кадр подается в блок 521 организации окон синтеза, который применят окно синтеза к данному кадру из 2048 выборок. Затем организованный в окнах кадр пересылается процессору 522 наложения/сложения, который, например, использует 50% наложение между двумя последовательными кадрами и затем выполняет сложение по выборкам так, что 2048 блоков выборок в итоге приводятся к 1024 новым выборкам выходного сигнала без наложения спектров. Вновь предпочтительно применять управление окном/длиной преобразования, используя информацию, которая, например, передается в дополнительной информации кодированного многоканального сигнала, как указано в 523.
Значения α предсказания могут быть вычислены для каждой отдельной спектральной линии спектра MDCT. Однако было выяснено, что это не является обязательным и значительный объем дополнительной информации может быть сэкономлен посредством выполнения вычисления информации предсказания по полосам. Говоря иначе, спектральный конвертор 50, проиллюстрированный на Фиг. 9, который, например, является процессором MDCT, как рассматривается в контексте Фиг. 8a, обеспечивает спектр с высоким частотным разрешением с определенными спектральными линиями, проиллюстрированными на Фиг. 9b. Данный спектр с высоким частотным разрешением используется селектором 90 спектральных линий, который обеспечивает спектр с низким частотным разрешением, который содержит определенные полосы B1, B2, B3, …, BN. Данный спектр с низким частотным разрешением пересылается оптимизатору 207 для вычисления информации предсказания таким образом, что информация предсказания вычисляется не для каждой спектральной линии, а только для каждой полосы. Для этого оптимизатор 207 принимает спектральные линии на полосу и вычисляет операцию оптимизации, исходя из предположения, что одинаковое значение α используется для всех спектральных линий в полосе.
Предпочтительно, полосы формируются в психоакустическом виде, так что ширина полосы этих полос увеличивается от более низких частот к более высоким частотам, как проиллюстрировано на Фиг. 9b. В качестве альтернативы, хотя это не является предпочтительным в сравнении с реализацией с увеличивающейся шириной полосы, также могут использоваться равновеликие полосы частот, где полоса частот имеет по меньшей мере две или, как правило, значительно больше, например, по меньшей мере 30 частотных линий. Как правило, для спектра из 1024 спектральных линий, вычисляется меньше 30 комплексных значений α и предпочтительно более 5 значений α. Для спектра с числом спектральных линий меньше 1024 (например, 128 линий), предпочтительно, для α используется меньше частотных полос (например, 6).
Для вычисления значений α не обязательно требуется спектр MDCT с высоким разрешением. В качестве альтернативы, также может использоваться банк фильтров с частотным разрешением аналогичным разрешению, которое требуется для вычисления значений α. Когда должно быть реализовано увеличение полосы с ростом частоты, тогда данный банк фильтров должен иметь изменяющуюся ширину полосы. Однако когда достаточно постоянной ширины полосы от нижних до высоких частот, может использоваться традиционный банк фильтров с субполосами одинаковой ширины.
В зависимости от реализации, знак значения α, указанный на Фиг. 3b или 4b, может быть реверсирован. Но чтобы сохранять последовательность, необходимо, чтобы данное реверсирование знака использовалось на стороне кодера так же, как на стороне декодера. В сравнении с Фиг. 6a, Фиг. 5a иллюстрирует общий вид кодера, где элемент 2033 является предсказателем, который управляется информацией 206 управления предсказателем, которая определяется в элементе 207 и которая встроена в битовый поток как дополнительная информация. Вместо MDCT, используемого на Фиг. 6a, в блоках 50, 51, как рассмотрено на Фиг. 5a, используется обобщенное временно/частотное преобразование. Как подчеркнуто ранее, Фиг. 6a является процессом кодера, который соответствует процессу декодера на Фиг. 6b, где L является аббревиатурой сигнала левого канала, R является аббревиатурой сигнала правого канала, M является аббревиатурой среднего сигнала или сигнала понижающего микширования, S является аббревиатурой бокового сигнала, а D является аббревиатурой остаточного сигнала. В качестве альтернативы, L также именуется сигналом 201 первого канала, R также именуется сигналом 202 второго канала, M также именуется первым сигналом 204 объединения, и S также именуется вторым сигналом 2032 объединения.
Предпочтительно, модули 2070 в кодере и 1160a в декодере должны четко соответствовать, чтобы гарантировать правильное кодирование формы сигнала. Это предпочтительно применяется к случаю, при котором эти модули используют некий вид аппроксимации, такой как усеченные фильтры, или когда используются только один или два вместо трех кадров MDCT, т.е. текущий кадр MDCT по линии 60, предшествующий кадр MDCT по линии 61 и следующий кадр MDCT по линии 62.
Дополнительно, предпочтительно, чтобы модуль 2070 в кодере на Фиг. 6a использовал на входе неквантованный спектр M MDCT, хотя модулю 1160a действительного-в-мнимое (R2I) в декодере на входе доступен только квантованный спектр MDCT. В качестве альтернативы, можно также использовать реализацию, при которой кодер использует квантованные коэффициенты MDCT на входе модуля 2070. Однако использование на входе модуля 2070 неквантованного спектра MDCT предпочтительно с перцепционной точки зрения.
Далее более подробно рассматриваются некоторые аспекты вариантов осуществления настоящего изобретения.
Стандартное параметрическое стерео кодирование, такое как стерео кодирование, основанное на Объемном MPEG (MPS) в системе USAC, основывается на возможности использования комплексной (гибридной) области QMF с избыточной дискретизацией для обработки меняющегося во времени и по частоте перцепционно мотивированного сигнала без внесения артефактов, вызванных наложением спектров. Однако в случае кодирования с понижающим микшированием/остаточного (как используется для рассматриваемых здесь высоких битрейтов), итоговый унифицированный стерео кодер работает как кодер формы сигнала. Это позволяет обеспечивать функционирование в области с критической дискретизацией, такой как область MDCT, поскольку парадигма кодирования формы сигнала гарантирует, что в достаточной степени сохраняется свойство подавления наложения спектров цепи обработки MDCT-IMDCT.
Однако чтобы иметь возможность использовать улучшенную эффективность кодирования, которая может быть достигнута в случае стерео сигналов с межканальными временными или фазовыми разностями посредством комплексного коэффициента α предсказания, требуется, чтобы на вход комплексной матрицы повышающего микширования подавалось комплексное представление в частотной области сигнала DMX понижающего микширования. Это может быть получено путем использования для сигнала DMX в дополнение к преобразованию MDCT преобразования MDST. Спектр MDST может быть вычислен (точно или как аппроксимация) по спектру MDCT.
Кроме того, параметризация матрицы повышающего микширования может быть упрощена посредством передачи комплексного коэффициента α предсказания вместо параметров MPS. Следовательно, вместо трех (ICC, CLD и IPD) передаются только два параметра (действительная и мнимая часть α). Это возможно благодаря избыточности при параметризации MPS в случае кодирования с понижающим микшированием/остатка. Параметризация MPS включает в себя информацию об относительном размере декорреляции, который должен быть добавлен в декодер (т.е., отношении энергии между сигналами RES и DMX), и данная информация является избыточной при передаче фактических сигналов DMX и RES.
По этим же причинам, коэффициент усиления является абсолютным в случае кодирования с понижающим микшированием/остатка. Следовательно, матрица повышающего микширования для кодирования с понижающим микшированием/остатка с комплексным предсказанием теперь:
<mrow><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mi>L</mi></mtd></mtr><mtr><mtd><mi>R</mi></mtd></mtr></mtable></mrow><mo>]</mo></mrow><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><mn>1</mn><mo>−</mo><mi>α</mi></mrow></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mrow><mn>1</mn><mo>+</mo><mi>α</mi></mrow></mtd><mtd><mrow><mo>−</mo><mn>1</mn></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><mi>D</mi><mi>M</mi><mi>X</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>R</mi><mi>E</mi><mi>S</mi></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow>
Сравнивая с Уравнением 1169 на Фиг. 4b, знак α в данном уравнении изменен на противоположный, и DMX=M, а RES=D. Следовательно, это альтернативная реализация/запись относительно Фиг. 4b.
Для вычисления остаточного сигнала предсказания в кодере доступно две опции. Одной опцией является использование квантованных спектральных MDCT значений понижающего микширования. Это приведет к точно такому же распределению ошибки квантования, как и при M/S кодировании, поскольку кодер и декодер используют одинаковые значения для формирования предсказания. Другая опция состоит в использовании не квантованных спектральных MDCT значений. Это подразумевает то, что кодер и декодер не будут использовать одинаковые данные для формирования предсказания, что позволяет выполнить пространственное повторное распределение ошибки кодирования в соответствии с текущими свойствами маскирования сигнала за счет до некоторой степени уменьшенной эффективности кодирования.
Предпочтительно, как рассматривалось, вычислить спектр MDST непосредственно в частотной области посредством двумерной FIR фильтрации трех смежных кадров MDCT. Последнее может рассматриваться как преобразование «действительного-в-мнимое» (R2I). Сложность вычисления MDST в частотной области может быть уменьшена различными способами, и это означает, что вычисляется лишь аппроксимация спектра MDST:
Ограничение количества ответвлений фильтра FIR.
Оценка MDST только по текущему кадру MDCT.
Оценка MDST по текущему и предыдущему кадру MDCT.
До тех пор, пока в кодере и декодере используется одинаковая аппроксимация, свойства кодирования формы сигнала не затрагиваются. Однако такая аппроксимация спектра MDST может привести к уменьшению эффективности кодирования, получаемой комплексным предсказанием.
Если базовый кодер MDCT поддерживает переключение формы окна, то коэффициенты двумерного фильтра FIR, используемого для вычисления спектра MDST, должны быть адаптированы к фактическим формам окон. Коэффициенты фильтра, применяемые к спектру MDCT текущего кадра, зависят от полного окна, т.е. для каждого типа окна и каждого перехода окна требуется набор коэффициентов. Коэффициенты фильтра, применяемые к спектру MDCT предыдущего/следующего кадра, зависят только от половины окна, которая накладывается на текущий кадр, т.е. применительно к этому набор коэффициентов требуется только для каждого типа окна (для переходов дополнительные коэффициенты не требуются).
Если базовый кодер MDCT использует переключение по длине преобразования, то включение предыдущего и/или следующего кадра MDCT в аппроксимацию становится более сложным около переходов между разными длинами преобразований. Из-за разного количества коэффициентов MDCT в текущем и предыдущем/следующем кадре, двумерная фильтрация в данном случае более сложная. Чтобы избежать увеличения сложности вычислений и структурирования, предыдущий/следующий кадр могут быть исключены из фильтрации в переходах длины преобразования, за счет уменьшения точности аппроксимации для соответствующих кадров.
Кроме того, особое внимание следует уделить самым низким и наивысшим частям спектра MDST (близким к DC и fs/2), в которых применительно к фильтрации FIR доступно меньше, чем требуется окружающих коэффициентов MDCT. Здесь для правильного вычисления спектра MDST требуется адаптировать процесс фильтрации. Это может быть выполнено либо, используя симметричное расширение спектра MDCT для отсутствующих коэффициентов (в соответствии с периодичностью спектров сигналов с дискретизацией по времени), либо посредством соответствующей адаптации коэффициентов фильтра. Конечно, обработка этих особых случаев может быть упрощена за счет уменьшения точности вблизи границ спектра MDST.
Вычисление точного спектра MDST по передаваемым спектрам MDCT в декодере увеличивает задержку декодера на один кадр (здесь предполагается, что он составляет 1024 выборок). Дополнительной задержки можно избежать, используя аппроксимацию спектра MDST, которая не требует на входе спектра MDCT следующего кадра.
Следующий маркированный список кратко описывает преимущества унифицированного стерео кодирования, основанного на MDCT, над унифицированным стерео кодированием, основанным на QMF:
Лишь небольшое увеличение сложности вычислений (когда не используется SBR).
Масштабируется с увеличением для хорошего воссоздания, если спектры MDCT не квантованы. Отметим, что это не касается унифицированного стерео кодирования основанного на QMF.
Естественная унификация и расширение M/S кодирования и интенсивного стерео кодирования.
Более прозрачная архитектура, что упрощает настройку кодера, поскольку обработка стерео сигнала и квантование/кодирование могут быть жестко связаны. Отметим, что в унифицированном стерео кодировании, основанном на QMF, кадры MPS и кадры MDCT не выровнены и что полосы коэффициента масштабирования не совпадают с полосами параметра MPS.
Эффективное кодирование стерео параметров, поскольку требуется передавать только два параметра (комплексное α) вместо трех параметров, как в Объемном MPEG (ICC, CLD, IPD).
Отсутствует дополнительная задержка декодера, если спектр MDST вычисляется при помощи аппроксимации (не используя следующий кадр).
Важные свойства реализации могут быть кратко сведены к следующим:
a) Спектры MDST вычисляются посредством двумерной фильтрации FIR по текущему, предыдущему и следующему спектрам MDCT. Существует возможность обеспечения различных компромиссов сложности/качества применительно к вычислению (аппроксимации) MDST путем уменьшения отводов фильтра FIR и/или количества используемых кадров MDCT. В частности, если смежный кадр недоступен из-за потери кадра при передаче или переключения длин преобразования, то данный конкретный кадр исключается из оценки MDST. Для случая переключения длины преобразования исключение сигнализируется в битовом потоке.
b) Передаются только два параметра, действительная и мнимая часть комплексного коэффициента α предсказания вместо ICC, CLD, и IPD. Действительная и мнимая части α обрабатываются независимо, ограниченные диапазоном [-3.0, 3.0] и квантуются с шагом размером 0.1. Если определенный параметр (действительная или мнимая часть α) не используются в заданном кадре, то это сигнализируется в битовом потоке, и неуместный параметр не передается. Параметры являются кодированными дифференциально по времени или дифференциально по частоте и в итоге применяется кодирование Хаффмана, используя кодовый словарь коэффициента масштабирования. Коэффициенты предсказания обновляются каждую вторую полосу коэффициента масштабирования, что приводит к частотному разрешению, которое аналогично тому, что используется в Объемном MPEG. Данная схема квантования и кодирования приводит к среднему битрейту приблизительно в 2 кбит/с для дополнительной информации стерео при типичной конфигурации с целевым битрейтом в 96 кбит/с.
Предпочтительные дополнительные или альтернативные детали реализации содержат:
c) Для каждого из двух параметров α, можно выбрать не дифференциальное (PCM) или дифференциальное (DPCM) кодирование из расчета на кадр или из расчета на поток, что сигнализируется соответствующим битом в битовом потоке. Применительно к DPCM кодированию, возможно кодирование дифференциальное либо по времени, либо по частоте. Вновь, это может сигнализироваться, используя однобитовый флаг.
d) Вместо повторного использования заранее определенного кодового словаря, такого как кодовый словарь коэффициента масштабирования AAC, можно использовать выделенный неизменный или адаптируемый к сигналу кодовый словарь для кодирования значений параметра α, или можно вернуться к беззнаковому фиксированной длины (например, 4-битному) или кодовым словам дополнительного (до двух) кода.
e) Диапазон значений параметра α, как и размер шага квантования параметра, могут выбираться произвольно и оптимизироваться к рассматриваемым характеристикам сигнала.
f) Количество и спектральная и/или временная ширина активных полос параметра α могут выбираться произвольно и оптимизироваться для заданных характеристик сигнала. В частности, конфигурация полос может сигнализироваться из расчета на кадр или из расчета на поток.
g) Дополнительно или вместо механизма, указанного в представленном выше пункте a), исключительно посредством бита на кадр в битовом потоке может сигнализироваться то, что для вычисления аппроксимации спектра MDST используется только спектр MDCT текущего кадра, т.е. смежные кадры MDCT не учитываются.
Варианты осуществления относятся к заявленной системе для унифицированного стерео кодирования в области MDCT. Они позволяют использовать преимущества унифицированного стерео кодирования в системе USAC MPEG даже при высоких битрейтах (при которых не используется SBR) без значительного увеличения сложности вычислений, которое присуще подходу, основанному на QMF.
Нижеследующие два списка резюмируют описанные ранее аспекты предпочтительной конфигурации, которые могут использоваться как альтернатива друг другу или в дополнение к другим аспектам:
1a) общая концепция: комплексное предсказание бокового MDCT по среднему MDCT и MDST;
1b) вычисление/аппроксимация MDST по MDCT («преобразование R2I») в частотной области, используя один или более кадров (3-кадровый подход вносит задержку);
1c) усечение фильтра (вплоть до 1-кадрового с 2-отводами, например, [-1 0 1]) для уменьшения сложности вычислений;
1d) правильная обработка коэффициентов преобразования около DC и fs/2;
1e) правильная обработка переключения по форме окна;
1f) не использование предыдущего/следующего кадра, если он имеет другой размер преобразования;
1g) предсказание, основанное на неквантованных или квантованных коэффициентах MDCT в кодере;
2a) непосредственное квантование и кодирование действительной и мнимой части комплексного коэффициента предсказания (т.е., отсутствие параметризации Объемного MPEG);
2b) использование унифицированного квантователя (размер шага, например, 0,1);
2c) использование соответствующего частотного разрешения для коэффициентов предсказания (например, 1 коэффициент на 2 полосы коэффициента масштабирования);
2d) экономичная сигнализация, когда все коэффициенты предсказания являются действительными;
2e) явно заданный бит на кадр для предписания 1-кадровой R2I операции, т.е. не использовать предыдущий/следующий кадр.
В варианте осуществления, кодер дополнительно содержит спектральный конвертор (50, 51) для преобразования представления во временной области сигналов двух каналов в спектральное представление сигналов двух каналов с сигналами субполос для сигналов двух каналов, при этом объединитель (2031), предсказатель (2033) и вычислитель (2034) остаточного сигнала выполнены с возможностью обработки каждого сигнала субполос по-отдельности, так что для множества субполос получают первый объединенный сигнал и остаточный сигнал, при этом выходной интерфейс (212) выполнен с возможностью объединения кодированного первого объединенного сигнала и кодированного остаточного сигнала для множества субполос.
Хотя некоторые аспекты были описаны в контексте устройства, очевидно, что эти аспекты также представляют собой описание соответствующего способа, при этом блок или устройство соответствуют этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют собой описание соответствующего блока или элемента или признака соответствующего устройства.
В варианте осуществления настоящего изобретения применяется правильная обработка переключения формы окна. При рассмотрении Фиг. 10a, информация 109 о форме окна может подаваться в вычислитель 1001 мнимого спектра. В частности, вычислитель мнимого спектра, который выполняет преобразование действительного-в-мнимое действительного спектра, такого как спектр MDCT (элемент 2070 на Фиг. 6a или элемент 1160 на Фиг. 6b), может быть реализован в качестве фильтра FIR или IIR. Коэффициенты FIR или IIR в данном модуле 101 действительного-в-мнимое зависят от формы окна левой половины и правой половины текущего кадра. Данная форма окна может отличаться для синусоидального окна или окна KBD (полученного по функции Кайзера-Бесселя) и при условии заданной конфигурации последовательности окна, может быть длинным окном, окном пуска, оном останова, окном пуска-останова или коротким окном. Модуль действительного-в-мнимое может содержать двумерный фильтр FIR, в котором одним измерением является временное измерение, при котором два последовательных кадра MDCT подаются в фильтр FIR, а другим измерением является частотное измерение, при котором подаются частотные коэффициенты кадра.
Нижеследующая таблица задает разные коэффициенты фильтра MDST применительно к последовательности текущего окна для разных форм окон и разных реализаций левой половины и правой половины окна.
<b>Таблица A</b>
<b>Параметры Фильтра MDST для Текущего Окна</b>
Последовательность Текущего Окна
Левая Половина: Синусоидальная ФормаПравая Половина: Синусоидальная Форма
Левая Половина: Форма KBDПравая Половина: Форма KBD
ONLY_LONG_SEQUENCE,EIGHT_SHORT_SEQUENCE
[0,000000, 0,000000, 0,500000,0,000000,-0,500000, 0,000000, 0,000000]
[0,091497, 0,000000, 0,581427,0,000000,-0,581427, 0,000000, -0,091497]
LONG_START_SEQUENCE
[0,102658, 0,103791, 0,567149,0,000000,-0,567149, -0,103791, -0,102658]
[0,150512, 0,047969, 0,608574,0,000000,-0,608574, -0,047969, -0,150512]
LONG_Stop_SEQUENCE
[0,102658, -0,103791, 0,567149,0,000000,-0,567149, 0,103791, -0,102658]
[0,150512, -0,047969, 0,608574,0,000000,-0,608574, 0,047969, -0,150512]
Stop_START_SEQUENCE
[0,205316, 0,000000, 0,634298,0,000000,-0,634298, 0,000000, -0,205316]
[0,209526, 0,000000, 0,635722,0,000000,-0,635722, 0,000000, -0,209526]
Последовательность Текущего Окна
Левая Половина: Синусоидальная ФормаПравая Половина: Форма KBD
Левая Половина: Форма KBDПравая Половина: Синусоидальная Форма
ONLY_LONG_SEQUENCE,EIGHT_SHORT_SEQUENCE
[0,045748, 0,057238, 0,540714,0,000000,-0,540714, -0,057238, -0,045748]
[0,045748, -0,057238, 0,540714,0,000000,-0,540714, 0,057238, -0,045748]
LONG_START_SEQUENCE
[0,104763, 0,105207, 0,567861,0,000000,-0,567861, -0,105207, -0,104763]
[0,148406, 0,046553, 0,607863,0,000000,-0,607863, -0,046553, -0,148406]
LONG_Stop_SEQUENCE
[0,148406, -0,046553, 0,607863,0,000000,-0,607863, 0,046553, -0,148406]
[0,104763, -0,105207, 0,567861,0,000000,-0,567861, 0,105207, -0,104763]
Stop_START_SEQUENCE
[0,207421, 0,001416, 0,635010,0,000000,-0,635010, -0,001416, -0,207421]
[0,207421, -0,001416, 0,635010,0,000000,-0,635010, 0,001416, -0,207421]
Дополнительно, информация 109 о форме окна обеспечивает информацию о форме окна для предыдущего окна, когда предыдущее окно используется для вычисления спектра MDST по спектру MDCT. Соответствующие коэффициенты фильтра MDST для предыдущего окна заданы в нижеследующей таблице как функция от текущей последовательности окна и формы.
<b>Таблица B</b>
<b>Параметры Фильтра MDST для Предыдущего Окна</b>
Последовательность Текущего Окна
Левая Половина: Синусоидальная ФормаПравая Половина: Синусоидальная Форма
Левая Половина: Форма KBDПравая Половина: Форма KBD
ONLY_LONG_SEQUENCE,LONG_START_SEQUENCE,EIGHT_SHORT_SEQUENCE
[0,000000, 0,106103, 0,250000,0,318310,0,250000, 0,106103, 0,000000]
[0,059509, 0,123714, 0,186579,0,213077,0,186579, 0,123714, 0,059509]
LONG_Stop_SEQUENCE,Stop_START_SEQUENCE
[0,038498, 0,039212, 0,039645,0,039790,0,039645, 0,039212, 0,038498]
[0,026142, 0,026413, 0,026577,0,026631,0,026577, 0,026413, 0,026142]
Следовательно, в зависимости от информации 109 о форме окна, вычислитель 1001 мнимого спектра на Фиг. 10a адаптируется путем применения разных наборов коэффициентов фильтра.
Информация о форме окна, которая используется на стороне декодера, вычисляется на стороне кодера и передается в качестве дополнительной информации совместно с выходным сигналом кодера. На стороне декодера информация 109 о форме окна извлекается из битового потока демультиплексором битового потока (например, 102 на Фиг. 5b) и предоставляется вычислителю 1001 мнимого спектра, как проиллюстрировано на Фиг. 10a.
Когда информация 109 о форме окна сигнализирует о том, что предыдущий кадр имел другой размер преобразования, предпочтительно, чтобы предыдущий кадр не использовался для вычисления мнимого спектра по действительному спектру. То же верно и когда при интерпретации информации 109 о форме окна обнаруживается, что следующий кадр имеет другой размер преобразования. Тогда следующий кадр не используется для вычисления мнимого спектра по действительному спектру. В таком случае, когда, например, предыдущий кадр имел размер преобразования, отличный от текущего кадра, и когда следующий кадр вновь имеет другой размер преобразования в сравнении с текущим кадром, тогда только текущий кадр, т.е. спектральные значения текущего окна, используются для оценки мнимого спектра.
Предсказание в кодере основано на неквантованных или квантованных частотных коэффициентах, таких как коэффициенты MDCT. Когда предсказание, проиллюстрированное элементом 2033 на Фиг. 3a, например, основано на неквантованных данных, тогда вычислитель 2034 остатка предпочтительно также оперирует неквантованными данными, и выходной сигнал вычислителя остатка, т.е. остаточный сигнал 205 квантуется до того, как он будет энтропийно кодирован и передан декодеру. В альтернативном варианте осуществления предпочтительно, что предсказание основывается на квантованных коэффициентах MDCT. Тогда квантование выполняется перед объединителем 2031 на Фиг. 3a таким образом, что первый квантованный канал и второй квантованный канал являются основой для вычисления остаточного сигнала. В качестве альтернативы, квантование может выполняться вслед за объединителем 2031 так, что первый сигнал объединения и второй сигнал объединения вычисляются в неквантованном виде и квантуются перед тем, как вычисляется остаточный сигнал. Вновь, в качестве альтернативы, предсказатель 2033 может функционировать в неквантованной области, и сигнал 2035 предсказания квантуется перед подачей в вычислитель остатка. Тогда выгодно, чтобы второй сигнал 2032 объединения, который также подается в вычислитель 2034 остатка, также квантовался перед тем, как вычислитель остатка вычисляет остаточный сигнал D на Фиг. 6a, что может быть реализовано в рамках предсказателя 2033 на Фиг. 3a, чтобы вычислитель оперировал теми же квантованными данными как те, что доступны на стороне декодера. Тогда можно гарантировать, что оцененный спектр MDST в кодере в целях выполнения вычисления остаточного сигнала точно такой же, как спектр MDST на стороне декодера, используемый для выполнения обратного предсказания, т.е. для вычисления бокового сигнала по остаточному сигналу. Для этого первый сигнал объединения, такой как сигнал M по линии 204 на Фиг. 6a, квантуется перед подачей в блок 2070. Тогда, спектр MDST, вычисленный с использованием квантованного спектра MDCT текущего кадра, и в зависимости от информации управления, квантованного спектра MDCT предыдущего или следующего кадра, подается в умножитель 2074, а на выходе умножителя 2074 на Фиг. 6a вновь будет неквантованный спектр. Данный неквантованный спектр будет вычитаться из спектра, поданного в сумматор 2034b, и результат будет квантоваться в квантователе 209b.
В варианте осуществления непосредственно квантуется и кодируется действительная часть и мнимая часть комплексного коэффициента предсказания на полосу предсказания, т.е., например, без параметризации Объемного MPEG. Квантование может выполняться с использованием унифицированного квантователя с размером шага, например, 0,1. Это означает, что не применяются никакие логарифмические или подобные размеры шага квантования, а применяется любые линейные размеры шага. В одной реализации диапазон значений для действительной части и мнимой части комплексного коэффициента предсказания находится в диапазоне от -3 до 3, что означает, что 60 или, в зависимости от деталей реализации, 61 шаг квантования используется для действительной части и мнимой части комплексного коэффициента предсказания.
Предпочтительно, действительная часть, применяемая в умножителе 2073 на Фиг. 6a и мнимая часть 2074, применяемая на Фиг. 6a, квантуются до того, как будут применены, таким образом, что вновь на стороне кодера используется то же значение для предсказания как то, что доступно на стороне декодера. Это гарантирует то, что остаточный сигнал предсказания охватывает - кроме внесенных ошибок квантования - любые ошибки, которые могут возникнуть, когда неквантованный коэффициент предсказания применяется на стороне кодера, в то время как на стороне декодера применяется квантованный коэффициент предсказания. Предпочтительно, квантование применяется таким образом, чтобы - насколько это возможно - одинаковые ситуации и одинаковые сигналы были доступны на стороне кодера и стороне декодера. Следовательно, предпочтительно квантовать входные данные для вычислителя 2070 действительного-в-мнимое, используя то же квантование, которое применяется в квантователе 209a. Дополнительно, предпочтительно квантовать действительную часть и мнимую часть коэффициента α предсказания для выполнения умножений в элементе 2073 и элементе 2074. Квантование является тем же, что и применяемое в квантователе 2072. Дополнительно, боковой сигнал, выдаваемый блоком 2031 на Фиг. 6a, также может квантоваться перед сумматорами 2034a и 2034b. Однако выполнение квантования квантователем 209b после сложения, где сложение выполняемое данными сумматорами применяется в отношении не квантованного бокового сигнала, не создает проблем.
В дополнительном варианте осуществления настоящего изобретения применяется экономичная сигнализация в случае, когда все коэффициенты предсказания являются действительными. Это может быть ситуацией, когда все вычисленные коэффициенты предсказания для определенного кадра, т.е. для одной и той же временной части аудио сигнала, являются действительными. Такая ситуация может возникнуть, когда средний сигнал целиком и боковой сигнал целиком не имеют фазового сдвига или имеют небольшой фазовый сдвиг друг относительно друга. С тем чтобы сэкономить биты, данная ситуация указывается одним действительным индикатором. Тогда не требуется сигнализировать в битовом потоке мнимую часть коэффициента предсказания с помощью кодового слова, представляющего собой нулевое значение. На стороне декодера, интерфейс декодера битового потока, такой как демультиплексор битового потока, будет интерпретировать данный действительный индикатор, и затем не будет осуществлять поиск кодовых слов для мнимой части, а будет предполагать, что все биты, размещенные в соответствующей секции битового потока, представляют собой только действительные коэффициенты предсказания. Кроме того, предсказателю 2033, при приеме указания, что все мнимые части коэффициентов предсказания в кадре равны нулю, не потребуется вычислять спектр MDST, или, в общем, мнимый спектр по действительному спектру MDCT. Следовательно, элемент 1160a на Фиг. 6b декодера будет отключен, и обратное предсказание будет выполняться, используя только действительный коэффициент предсказания, применяемый в умножителе 1160b на Фиг. 6b. То же верно применительно к стороне кодера, где элемент 2070 будет выключен, а предсказание будет выполняться, только используя умножитель 2073. Данная дополнительная информация предпочтительно используется в качестве дополнительного бита на кадр, и декодер будет покадрово считывать данный бит, чтобы принять решение, активировать ли для кадра конвертор 1160a действительного-в-мнимое. Следовательно, обеспечение данной информации приводит к уменьшению размера битового потока благодаря более эффективной сигнализации, что все мнимые части коэффициентов предсказания являются нулевыми для кадра, и дополнительно значительно уменьшает сложность декодера для такого кадра, что приводит к уменьшению потребления батареи таким процессором, который реализован, например, в мобильном устройстве с питанием от батареи.
Комплексное стерео предсказание в соответствии с предпочтительными вариантами осуществления настоящего изобретения является инструментом для эффективного кодирования пар каналов с разностями уровня и/или фаз между каналами. Используя комплексный параметр α, левый и правый каналы воссоздаются через следующую матрицу. dmxIm обозначает MDST, которое соответствует MDCT канала dmxRe понижающего микширования.
<mrow><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mi>r</mi></mtd></mtr><mtr><mtd><mi>l</mi></mtd></mtr></mtable></mrow><mo>]</mo></mrow><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><mtable><mtr><mtd><mrow><mn>1</mn><mo>−</mo><msub><mi>α</mi><mrow><mi>Re</mi></mrow></msub></mrow></mtd><mtd><mrow><mo>−</mo><msub><mi>α</mi><mrow><mi>I</mi><mi>e</mi></mrow></msub></mrow></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mrow></mtd></mtr><mtr><mtd><mrow><mtable><mtr><mtd><mrow><mn>1</mn><mo>+</mo><msub><mi>α</mi><mrow><mi>Re</mi></mrow></msub></mrow></mtd><mtd><mrow><msub><mi>α</mi><mrow><mi>I</mi><mi>e</mi></mrow></msub></mrow></mtd><mtd><mrow><mo>−</mo><mn>1</mn></mrow></mtd></mtr></mtable></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mrow><mi>d</mi><mi>m</mi><msub><mi>x</mi><mrow><mi>Re</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>d</mi><mi>m</mi><msub><mi>x</mi><mrow><mi>Im</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>r</mi><mi>e</mi><mi>s</mi></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow>
Приведенное выше уравнение является другим представлением, которое разбито, что касается действительной части и мнимой части α, и представляет собой уравнение для объединенной операции предсказании/объединении, при которой не обязательно вычислять предсказанный сигнал S.
Для данного инструмента предпочтительно используются следующие элементы данных:
cplx_pred_all
0: Некоторые полосы используют L/R кодирование, как сигнализируется cplx_pred_used[]
cplx_pred_used[g][sfb]
Однобитный флаг из расчета на группу g окон и полосу коэффициента sfb масштабирования (после отображения с полос предсказания), указывающий на0: комплексное предсказание не использовалось, используется L/R кодирование1: использовалось комплексное предсказание
complex_coef
0: <maths num="5"><math display="block"><mrow><msub><mi>α</mi><mrow><mi>Im</mi></mrow></msub></mrow></math><img file="00000005.tif" he="5" wi="6" img-content="undefined" img-format="tif" /></maths>
=0 для всех полос предсказания (только действительное предсказание)1: <maths num="6"><math display="block"><mrow><msub><mi>α</mi><mrow><mi>Im</mi></mrow></msub></mrow></math><img file="00000006.tif" he="5" wi="6" img-content="undefined" img-format="tif" /></maths>
передается для всех полос предсказания
use_prev_frame
0: Для оценки MDST использовать только текущий кадр1: Для оценки MDST использовать текущий и предыдущий кадр
delta_code_time
0: Дифференциальное по частоте кодирование коэффициентов предсказания1: Дифференциальное по времени кодирование коэффициентов предсказания
hcod_alpha_q_re
Используется код Хаффмана для <maths num="7"><math display="block"><mrow><msub><mi>α</mi><mrow><mi>Re</mi></mrow></msub></mrow></math><img file="00000007.tif" he="6" wi="6" img-content="undefined" img-format="tif" /></maths>
hcod_alpha_q_im
Используется код Хаффмана для <maths num="8"><math display="block"><mrow><msub><mi>α</mi><mrow><mi>Im</mi></mrow></msub></mrow></math><img file="00000006.tif" he="5" wi="6" img-content="undefined" img-format="tif" /></maths>
Фиг. 13a иллюстрирует дополнительный элемент данных, на котором основано настоящее изобретение, т.е. индикатор направления предсказания pred_dir. Этот элемент данных указывает направление предсказания в соответствии с таблицей на Фиг. 13a. Следовательно, первое значение 0 означает предсказание бокового по среднему каналу, а второе значение, такое как значение «1» означает предсказание среднего по боковому каналу.
Эти элементы данных вычисляются в кодере и помещаются в дополнительную информацию стерео или многоканального аудио сигнала. Элементы извлекаются из дополнительной информации на стороне декодера экстрактором дополнительной информации и используются для управления вычислителем декодера, для выполнения соответствующих действий.
Комплексное стерео предсказание требует спектра MDCT понижающего микширования текущей пары каналов и, в случае complex_coef=1, оценки спектра MDST понижающего микширования текущей пары каналов, т.е., мнимого аналога спектра MDCT. Оценка MDST понижающего микширования вычисляется по MDCT понижающего микширования текущего кадра и, в случае use_prev_frame=1, MDCT понижающего микширования предыдущего кадра. MDCT понижающего микширования предыдущего кадра группы g окон и группы b окон получают из воссозданных левого и правого спектра данного кадра.
Вычисление оценки MDST понижающего микширования зависит от преобразования MDCT, длина которого имеет четное значение, от window_sequence и от filter_coefs и filter_coefs_prev, которые являются массивами, содержащими основные компоненты фильтра, и которые получены в соответствии с предыдущей таблицей.
Для всех коэффициентов предсказания разность с предыдущим (по времени или частоте) значением кодируется с использованием кодового словаря Хаффмана. Для полос предсказания, для которых cpl_pred_uded=0, коэффициенты предсказания не передаются.
Обратно квантованные коэффициенты предсказания alpha_re и alpha_im задаются как:
alpha_re=alpha_q_re*0,1
alpha_im=alpha_q_im*0,1
Без реверсирования направления предсказания могут возникнуть проблемы, когда боковой сигнал S имеет весьма высокую энергию по сравнению с сигналом M понижающего микширования. В таких случаях, может быть затруднительным предсказать доминантную часть сигнала, представленную в S, в особенности, когда уровень M слишком мал и поэтому главным образом состоит из составляющих шума.
Кроме того, диапазон значений для коэффициента α предсказания может стать очень большим, что потенциально приведет к артефактам кодирования из-за нежелательного усиления или панорамирования шума квантования (например, эффектам пространственного демаскирования).
<mrow><mi>R</mi><mo>=</mo><mo>−</mo><mn>0.9</mn><mo>⋅</mo><mi>L</mi></mrow>
В качестве примера можно рассмотреть незначительно панорамированный не совпадающий по фазе сигнал с
<mrow><mi>R</mi><mo>=</mo><mo>−</mo><mn>0.9</mn><mo>⋅</mo><mi>L</mi></mrow>
;
<mrow><mi>M</mi><mo>=</mo><mn>0.5</mn><mo>⋅</mo><mo stretchy="false">(</mo><mi>L</mi><mo>+</mo><mi>R</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0.05</mn><mo>⋅</mo><mi>L</mi></mrow>
;
<mrow><mi>S</mi><mo>=</mo><mn>0.5</mn><mo>⋅</mo><mo stretchy="false">(</mo><mi>L</mi><mo>−</mo><mi>R</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0.95</mn><mo>⋅</mo><mi>L</mi></mrow>
;
<mrow><mi>R</mi><mi>E</mi><mi>S</mi><mo>=</mo><mi>S</mi><mo>−</mo><mo stretchy="false">(</mo><mi>α</mi><mo>∗</mo><mi>M</mi><mo stretchy="false">)</mo></mrow>
;
<mrow><mtable><mtr><mtd><mrow><mi>o</mi><mi>p</mi><mi>t</mi><mi>i</mi><mi>m</mi><mi>u</mi><mi>m</mi></mrow></mtd><mtd><mi>α</mi></mtd></mtr></mtable></mrow>
;
<mrow><mi>α</mi><mo>=</mo><mn>19</mn></mrow>
;
что приводит к весьма большому оптимальному коэффициенту предсказания равному 19.
В соответствии с настоящим изобретением, направление предсказание переключается, что приводит к увеличению эффективности предсказания с минимальными вычислительными усилиями и меньшему α.
В случае бокового сигнала S с высокой энергией в сравнении со средним сигналом M становится интересным реверсировать направление предсказания, чтобы M предсказывалось по комплексному представлению S как, например, проиллюстрировано на Фиг. 13b(2). При переключении направления предсказания таким образом, что M предсказывается по S, для S предпочтительно требуется дополнительное MDST, однако для M MDST не требуется. Дополнительно, в данном случае, вместо среднего сигнала, как в первом варианте на Фиг. 13b(1), декодеру должен передаваться (действительный) боковой сигнал вместе с остаточным сигналом и информацией α предсказания.
Переключение направления предсказания может выполняться на покадровой основе, т.е. по оси времени, на подиапазонной основе, т.е. по оси частоты, или используя их сочетание, при котором переключение выполняется по полосе и частоте. Это приводит к появлению индикатора направления предсказания (бита) для каждого кадра и каждой полосы, однако может быть выгодно разрешить одно направление предсказания для каждого кадра.
Для этого представлен вычислитель 219 направления предсказания, который проиллюстрирован на Фиг. 12a. Как и на других чертежах, Фиг. 12a иллюстрирует каскад 50/51 MDCT, каскад 2031 кодирования со средним/боковым сигналом, конвертор 2070 действительного-в-комплексное, вычислитель 2073/2074 сигнала предсказания и итоговый вычислитель 2034 остаточного сигнала. Дополнительно, предоставлен блок 507 перестановки направления предсказания-управления M/S, который сконфигурирован и используется для реализации двух разных правил 502, 503 предсказания, проиллюстрированных на Фиг. 11a. Первое правило предсказания состоит в том, что блок 507 перестановки находится в первом состоянии, т.е. при котором M и S не переставлены. Второе правило предсказания реализуется, когда блок 507 перестановки находится в состоянии перестановки, т.е., при котором M и S переставлены с входа на выход. Данная реализация имеет преимущество, состоящее в том, что вся схема за пределами блока 507 перестановки остается одинаковой для обоих направлений предсказания.
Аналогично, разные правила 402, 403 декодирования, т.е., разные правила вычисления декодера, также могут быть реализованы блоком 407 перестановки на входе объединителя 1162, который реализован в варианте осуществления на Фиг. 12b для выполнения обратного кодирования со средним/боковым сигналом. Блок 407 перестановки, который также может именоваться как «переключатель предсказания» принимает на входе сигнал DMX понижающего микширования и сигнал IPS, где IPS является аббревиатурой обратно предсказанного сигнала. В зависимости от индикатора направления предсказания, блок 407 перестановки либо соединяет DMX с M и IPS с S, либо соединяет DMX с S и IPS с M, как проиллюстрировано в таблице над Фиг. 12b.
Фиг. 13b иллюстрирует реализацию первого правила вычисления по Фиг. 11b, т.е. правила, проиллюстрированного блоком 402. В первом варианте осуществления обратное предсказание выполняется явно, т.е. по остаточному сигналу и переданному среднему сигналу явно вычисляется боковой сигнал. Затем, на последующем этапе, посредством уравнений справа от уравнения явного обратного предсказания на Фиг. 13 вычисляются L и R. В альтернативной реализации выполняется неявное обратное предсказание, при котором боковой сигнал S явно не вычисляется, а левый сигнал L и правый сигнал R вычисляются непосредственно из переданного M сигнала и переданного остаточного сигнала с использованием информации α предсказания.
Фиг. 13d иллюстрирует уравнения для другого направления предсказания, т.е. когда индикатор pred_dir направления предсказания равен 1. Вновь, явное обратное предсказание для получения M может выполняться с использованием переданного остаточного сигнала и переданного бокового сигнала, а последующее вычисление L и R может выполняться с использованием среднего сигнала и бокового сигнала. В качестве альтернативы, может выполняться неявное обратное предсказание, при котором L и R вычисляются из переданного сигнала S, остаточного сигнала и информации α предсказания без явного вычисления среднего сигнала M.
Как указано ниже на Фиг. 13b, знак α может быть реверсирован во всех уравнениях. Когда это выполнено, на Фиг. 13b для вычисления остаточного сигнала имеем сумму из двух членов. Тогда явное обратное предсказание превращается в вычисление разности. В зависимости от фактической реализации может быть удобна запись, представленная на Фиг. 13b-13d, или обратная запись.
В уравнениях на Фиг. 13b-13d может возникать несколько комплексных умножений. Эти комплексные умножения могут возникать для всех случаев, в которых присутствует комплексное число. Тогда требуется комплексная аппроксимация M или S, как указано в уравнениях. Комплексное умножение повлечет за собой неравенство между фактическим умножением действительной части двух коэффициентов и произведением мнимых частей двух коэффициентов, как проиллюстрировано на Фиг. 13e для случая только α или для случая (1+α).
Вычислитель 219 направления предсказания может быть реализован различными способами. Фиг. 14 иллюстрирует два основных способа вычисления направления предсказания. Одним способом является вычисление с упреждением, при котором сигнал M и сигнал S, которые, как правило, являются первым сигналом объединения и вторым сигналом объединения, сравниваются посредством вычисления разности энергий, как указано на этапе 550. Затем на этапе 551 разность сравнивается с пороговым значением, при этом пороговое значение может быть установлено через входную линию порогового значения или может быть фиксированным для программы. Однако предпочтительно наличие некоторого гистерезиса. Следовательно, в качестве критерия принятия решения о фактическом направлении предсказания может использоваться оцененная разность энергий между S и M. Поэтому, чтобы добиться наилучшего перцепционного качества, критерий принятия решения может стабилизироваться использованием гистерезиса, т.е. разных пороговых значений решения исходя из направления предсказания последнего кадра. Другим возможным критерием для направления предсказания будет межканальная разность фаз входных каналов. Что касается гистерезиса, то управление пороговым значением может выполняться так, что редкие смены направления предсказания в определенном интервале времени являются предпочтительными по сравнению с частыми сменами в данном интервале времени. Вследствие этого, начиная с определенного порогового значения, в ответ на смену направления предсказания пороговое значение может быть увеличено. Тогда, отталкиваясь от данного высокого значения, пороговое значение может все больше и больше уменьшаться во время периодов, в которых не вычисляется необходимость смены направления предсказания. И когда пороговое значение достигает своего значения перед последней сменой, пороговое значение остается на том же уровне, и система вновь готова к смене направления предсказания. Данная процедура позволяет выполнять смены в рамках коротких интервалов, только когда имеет место очень большая разность между S и M, однако позволяет реализовать менее частые смены, когда разность энергий между M и S не столь высока.
В качестве альтернативы или в дополнение, может выполняться вычисление обратной связи, при котором вычисляются остаточные сигналы для обоих направлений, как проиллюстрировано на этапе 552. Тогда на этапе 553 вычисляется направление предсказания, которое приводит к меньшему остаточному сигналу или меньшему числу бит для остаточного сигнала или сигнала понижающего микширования, или меньшему количеству суммарных бит, или лучшему качеству аудио сигнала, или любому другому конкретному условию. Вследствие этого, на данном этапе вычисления обратной связи определяется направление предсказания, которое отвечает определенной цели оптимизации.
Следует подчеркнуть, что изобретение применимо не только к стерео сигналам, т.е. многоканальным сигналам только с двумя каналами, но также применимо к двум каналам многоканального сигнала с тремя или более каналами, такому как 5.1 или 7.1 сигнал. Вариант осуществления применительно к многоканальной реализации может содержать идентификацию множества пар сигналов и вычисление, параллельную передачу или сохранение данных для более чем одной пары сигналов.
В варианте осуществления аудио декодера, кодированный или декодированный первый сигнал 104 объединения и кодированный или декодированный остаточный сигнал 106 предсказания, каждый, содержат первое множество сигналов субполос, при этом информация предсказания содержит второе множество параметров информации предсказания, причем второе множество меньше перового множества, при этом предсказатель 1160 выполнен с возможностью применения того же параметра предсказания к по меньшей мере двум разным сигналам субполос декодированного первого сигнала объединения, при этом вычислитель 116 декодера или вычислитель 1161 сигнала объединения или объединитель 1162 выполнены с возможностью выполнения обработки по субполосам; и при этом аудио декодер дополнительно содержит банк 52, 53 фильтров синтеза для объединения сигналов субполос декодированного первого сигнала объединения и декодированного второго сигнала объединения, чтобы получить первый декодированный сигнал во временной области и второй декодированный сигнал во временной области.
В варианте осуществления аудио декодера, предсказатель 1160 выполнен с возможностью приема информации 109 о форме окна и использования разных коэффициентов фильтра для вычисления мнимого спектра, при этом разные коэффициенты фильтра зависят от разных форм окна, указываемых информацией 109 о форме окна.
В варианте осуществления аудио декодера декодированный первый сигнал объединения связан с разными длинами преобразования, указываемыми индикатором длины преобразования, который включен в кодированный многоканальный сигнал 100, и в котором предсказатель 1160 выполнен с возможностью использования только одного или более кадров первого сигнала объединения, имеющих одинаковую связанную длину преобразования, для оценки мнимой части для текущего кадра для первого сигнала объединения.
В варианте осуществления аудио декодера предсказатель 1160 выполнен с возможностью использования множества смежных по частоте субполос декодированного первого сигнала объединения для оценки мнимой части первого сигнала объединения, при этом, в случае низких или высоких частот, симметричное расширение по частоте текущего кадра первого сигнала объединения используется для субполос, связанных с частотами, ниже или равными нулю, и выше или равными половине частоты дискретизации, на которой основан текущий кадр, или в которых коэффициенты фильтра для фильтра, включенного в предсказатель 1160a, устанавливаются в другие значения для отсутствующих субполос по сравнению с не отсутствующими субполосами.
В варианте осуществления аудио декодера, информация 108 предсказания включается в кодированный многоканальный сигнал в виде квантованного или энтропийно кодированного представления, при этом аудио декодер дополнительно содержит декодер 65 информации предсказания для выполнения энтропийного декодирования или деквантования, чтобы получить декодированную информацию предсказания, используемую предсказателем 1160, или кодированный многоканальный аудио сигнал содержит единицу данных, указывающую в первом состоянии, что предсказатель 1160 должен использовать по меньшей мере один кадр, предшествующий или следующий по времени относительно текущего кадра декодированного первого сигнала объединения, и указывающую во втором состоянии, что предсказатель 1160 должен использовать только один кадр декодированного первого сигнала объединения для оценки мнимой части для текущего кадра декодированного первого сигнала объединения, и предсказатель 1160 выполнен с возможностью считывания состояния единицы данных и соответствующего функционирования.
В варианте осуществления аудио декодера информация 108 предсказания содержит кодовые слова разностей между последовательными по времени или смежными по частоте комплексными значениями, при этом аудио декодер выполнен с возможностью выполнения этапа энтропийного декодирования и последующего этапа декодирования разности, чтобы получить последовательные квантованные комплексные значения предсказания или комплексные значения предсказания для смежных частотных полос.
В варианте осуществления аудио декодера кодированный многоканальный сигнал содержит, в качестве дополнительной информации, действительный индикатор, указывающий, что все коэффициенты предсказания для кадра кодированного многоканального сигнала являются действительными, при этом аудио декодер выполнен с возможностью извлечения действительного индикатора из кодированного многоканального аудио сигнала 100, и вычислитель 116 декодера выполнен с возможностью не осуществлять вычисление мнимого сигнала для кадра, для которого действительный индикатор указывает, что присутствуют только действительные коэффициенты предсказания.
В варианте осуществления аудио кодера предсказатель 2033 содержит квантователь для квантования сигнала первого канала, сигнала второго канала, первого сигнала объединения или второго сигнала объединения, чтобы получить один или более квантованные сигналы, при этом предсказатель 2033 выполнен с возможностью вычисления остаточного сигнала, используя квантованные сигналы.
В варианте осуществления аудио кодера сигналом первого канала является спектральное представления блока выборок, сигналом второго канала является спектральное представления блока выборок, при этом спектральные представления являются либо чисто действительными спектральными представлениями, либо чисто мнимыми спектральными представлениями, оптимизатор 207 выполнен с возможностью вычисления информации 206 предсказания в качестве отличного от нуля действительного коэффициента и/или в качестве отличного от нуля мнимого коэффициента, вычислитель 203 кодера выполнен с возможностью вычисления первого сигнала объединения и остаточного сигнала предсказания таким образом, что сигнал предсказания получают из чистого действительного спектрального представления или чистого мнимого спектрального представления, используя действительный коэффициент. Соответствующий изобретению кодированный аудио сигнал может сохраняться на цифровом носителе данных или может передаваться средством передачи, таким как беспроводное средство передачи или проводное средство передачи, такое как Интернет.
Хотя настоящее изобретение главным образом описано в контексте аудио обработки, следует подчеркнуть, что изобретение также может применяться для кодирования или декодирования видеосигналов. Комплексное предсказание с изменяющимся направлением может применяться, например, к 3D стерео видео сжатию. В данном конкретном примере, используется 2D-MDCT. Примером данного метода является Google WebM/VP8. Однако могут применяться другие реализации без 2В-MDCT.
Хотя некоторые аспекты были описаны в контексте аппаратуры, очевидно, что эти аспекты также представляют собой описание соответствующего способа, при этом блок или устройство соответствуют этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют собой описание соответствующего блока или элемента или признака соответствующей аппаратуры.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратном обеспечении или в программном обеспечении. Реализация может осуществляться, используя цифровой носитель данных, например гибкий диск, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-память, с хранящимся на нем считываемыми электрическим образом сигналами управления, который взаимодействует (или выполнен с возможностью взаимодействия) с программируемой компьютерной системой таким образом, что выполняется соответствующий способ.
Некоторые варианты осуществления в соответствии с изобретением содержат постоянный или вещественный носитель данных со считываемыми электрическим образом сигналами управления, который выполнен с возможностью взаимодействия с программируемой компьютерной системой таким образом, что выполняется соответствующий способ.
Как правило, варианты осуществления настоящего изобретения могут быть реализованы в качестве компьютерного программного продукта, содержащего программный код, при этом программный код функционирует для выполнения одного из способов, при запуске компьютерного программного продукта на компьютере. Программный код может храниться, например, на машиночитаемом носителе информации.
Прочие варианты осуществления содержат компьютерную программу для выполнения одного из описанных здесь способов, которая хранится на машиночитаемом носителе информации.
Другими словами, вариантом осуществления заявленного способа является компьютерная программа с программным кодом для выполнения одного из описанных здесь способов при запуске компьютерной программы на компьютере.
Поэтому другим вариантом осуществления заявленного способа является поток данных или последовательность сигналов, представляющая собой компьютерную программу для выполнения одного из описанных здесь способов. Поток данных или последовательность сигналов могут быть конфигурированы для переноса их через соединение связи для передачи данных, например, через Интернет.
Другой вариант осуществления содержит средство обработки, например компьютер или устройство с программируемой логикой, выполненное с возможностью или адаптированное для выполнения одного из описанных здесь способов.
Другой вариант осуществления содержит компьютер с установленной на нем компьютерной программой для выполнения одного из описанных здесь способов.
В некоторых вариантах осуществления устройство с программируемой логикой (например, программируемая вентильная матрица) может использоваться для выполнения некоторых или всех функциональных возможностей описанных здесь способов. В некоторых вариантах осуществления программируемая вентильная матрица может взаимодействовать с микропроцессором, чтобы выполнять один из описываемых здесь способов. Как правило, способы предпочтительно выполняются аппаратурой с аппаратным обеспечением.
Описанные выше варианты осуществления являются лишь иллюстративными для принципов настоящего изобретения. Следует понимать, что специалисту в соответствующей области будут очевидны модификации и вариации описанных здесь компоновок и частностей. Вследствие этого, следует ограничиваться лишь объемом предстоящей формулы изобретения, а не конкретными частностями, представленными здесь в качестве описания и объяснения вариантов осуществления.