Кодирование информационного сигнала

Иллюстрации

Показать все

Изобретение относится к кодированию информационных сигналов, например, аудиокодированию, в частности, к кодированию с копированием спектральных полос (SBR). Техническим результатом является создание способа кодирования, обеспечивающего малые времена задержки на средней или низкой скорости передачи битов или сокращенное время задержки на средней скорости передачи битов с потерями. Указанный технический результат достигается тем, что дополнительная задержка на стороне декодера может быть сокращена в случаях использования нового класса кадра SBR, в котором границы кадра не смещаются, то есть границы сетки остаются синхронизированными с границами кадра, но в котором дополнительно используется индикатор позиции перехода в качестве синтаксического элемента для использования на стороне кодера и/или декодера, в рамках этого нового класса кадра, для определения границ сетки в пределах этих кадров. 13 н. и 27 з.п. ф-лы, 13 ил.

Реферат

Настоящее изобретение относится к кодированию информационных сигналов, такому, как например, аудиокодирование и, в частности, к кодированию SBR (с копированием спектральных полос).

В применениях, в которых доступна очень низкая скорость передачи битов, применительно к аудиокодированию сигналов используется алгоритм SBR. Полностью кодируется только низкочастотная часть, то есть при надлежащем временном и спектральном разрешениях. Что касается высокочастотной части, то обнаруживается и кодируется только огибающая спектра или же огибающая спектральной временной кривой аудиосигнала. На стороне декодера низкочастотная часть извлекается из кодированного сигнала и затем используется для восстановления или «копирования» из него высокочастотной части. Однако для согласования энергии высокочастотной части, которая была предварительно восстановлена таким образом, с фактической энергией в высокочастотной части исходного аудиосигнала, на стороне декодера переданная огибающая спектра используется для спектрального взвешивания предварительно восстановленной высокочастотной части.

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

В аудиосигналах такие переходы соответствуют, например, началу звучания нот, например, нажатию на клавишу пианино или подобному. Если на протяжении всего интервала времени перехода сетка имеет слишком большой шаг, то это может привести к акустическим искажениям при восстановлении всего аудиосигнала на стороне декодера. Как известно, поскольку на стороне декодера высокочастотный сигнал восстанавливается из низкочастотной части в области сетки, спектральная энергия декодируемой низкочастотной части нормализуется, а затем согласовывается с передаваемой посредством взвешивания огибающей спектра. Другими словами, спектральное взвешивание попросту выполняется в области сетки для того, чтобы восстановить высокочастотную часть из низкочастотной части. Однако, если область сетки вблизи перехода будет слишком большой, то в этой области сетки, в добавок к энергии перехода, будет располагаться большое количество энергии в фоновой и/или гармонической части низкочастотной части, которая используется для восстановления высокочастотной части. Упомянутая низкочастотная часть дополнительно усиливается посредством весового коэффициента, несмотря на то, что это не приводит к хорошей оценке высокочастотной части. По всей области сетки это приводит к акустическому искажению, которое, помимо всего прочего, начинается перед конкретным переходом. Эта проблема также может называться «опережающее эхо».

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

В стандарте ISO/IEC 14496-3, ниже попросту называемом «стандарт», кодирование SBR описывается применительно к кодеру AAC. Кодер AAC кодирует низкочастотную часть покадровым способом. Для каждого такого кадра SBR вышеупомянутые временное и частотное разрешения определяют позицию, в которой в этом кадре закодирована огибающая спектра высокочастотной части. При разрешении проблемы, при которой переходы также могут выпасть на границы кадра SBR, стандарт допускает, чтобы временная сетка могла быть на время определена таким образом, чтобы границы сетки не совпадали в обязательном порядке с границами кадра. Предпочтительно, в этом стандарте кодер в каждом кадре передает декодеру синтаксический элемент bs_frame_class, причем упомянутый синтаксический элемент указывает для каждого кадра, определена ли временная сетка координатной привязки огибающей спектра для соответствующего кадра точно между двумя границами кадра или же между границами, которые смещены от границ кадра, в частности, в начале и/или в конце. В целом, существуют четыре различных класса кадров SBR-FIXFIX, FIXVAR, VARFIX и VARVAR. Синтаксис, используемый кодером в стандарте для определения сетки для каждого кадра SBR, изображен на Фиг.12 в псевдокодовом представлении. В частности, в изображенном на Фиг.12 представлении, те синтаксические элементы, которые фактически кодируются и/или передаются посредством кодера, напечатаны на Фиг.12 жирным шрифтом, а количество битов, используемых для передачи и/или кодирования, указано во втором столбце справа, в соответствующей строке. Как может быть замечено, синтаксический элемент bs_frame_class, который был недавно упомянут, первоначально передается для каждого кадра SBR. В зависимости от этого будут следовать дополнительные синтаксические элементы, которые, как иллюстрировано, определяют временное разрешение и/или координатную привязку. Например, если двухразрядный синтаксический элемент bs_frame_class указывает на то, что кадр SBR в запросе является кадром FIXFIX SBR, то синтаксический элемент tmp, который определяет количество областей сетки в этом кадре SBR и/или который определяет количество огибающих как 2tmp, будет передан в качестве второго синтаксического элемента. Синтаксический элемент bs_amp_res, который используется для определения шага квантования для кодирования огибающей спектра в текущем кадре SBR, автоматически согласовывается в зависимости от bs_num_env, а также не кодируется или не передается. В конечном счете, для кадра FIXFIX, передается бит для определения частотного разрешения сетки bs_freq_res. Кадры FIXFIX определяются исключительно для одного кадра, то есть границы сетки совпадают с границами кадра, как определяется посредством кодера AAC.

Для других трех классов способы различны. Для кадров FIXVAR, VARFIX и VARVAR синтаксические элементы bs_var_bord_1 и/или bs_bar_bord_0 передаются для указания количества временных интервалов, то есть тактов, причем для спектрального разложения аудиосигнала используется банк фильтров, посредством которого выполняется смещение относительно нормальных границ кадра. В зависимости от этого синтаксические элементы bs_num_rel_1 и связанный tmp и/или bs_num_rel_0 и связанный tmp также передаются для определения количества областей сетки или огибающих, а также их размеров от смещения границы кадра. В конечном счете, синтаксический элемент bs_pointer также передается в переменных кадрах SBR, причем упомянутый синтаксический элемент указывает на одну из определенных огибающих, а также служит для определения одной или двух шумовых огибающих для определения шумовой части в кадре, в зависимости от координатной привязки огибающей спектра, которая, однако, не будет подробно разъясняться ниже для упрощения представления. В заключение определяется соответствующее частотное разрешение, а именно посредством соответствующего одноразрядного синтаксического элемента bs_freq_res для каждой огибающей, для всех областей сетки и/или огибающих в соответствующих переменных кадрах.

Фиг.13a иллюстративно изображает кадр FIXFIX, в котором синтаксический элемент tmp равен 1, для того, чтобы количество огибающих было равным bs_num_env 21=2. На Фиг.13a предполагается, что ось времени проходит слева направо в горизонтальном направлении. Кадр SBR, то есть один из кадров, в которых кодер AAC кодирует низкочастотную часть, обозначен на Фиг.13a ссылочным номером 902. Можно видеть, что кадр 902 SBR имеет длину, равную 16 сегментам QMF, причем сегменты QMF, как было упомянуто, являются временными сегментами, в единицах которых работает набор фильтров анализа, причем временные сегменты QMF обозначены на Фиг.13а блоками 904. В кадрах FIXFIX огибающие 906a и 906b или области 906a и 906b сетки, в данном случае в количестве двух, имеют одинаковую длину в кадрах 902 SBR так, что граница 908 временной сетки и/или огибающей установлена точно в середине кадра 902 SBR. Таким образом, изображенный на Фиг.13 иллюстративный кадр FIXFIX определяет, что спектральное распределение для области 906a сетки или огибающей 906a, а также для огибающей 906 временно определено из спектральных значений набора фильтров анализа. Таким образом, огибающие 906a и 906b или области 906a и 906b сетки определяют сетку, в которой кодируется и/или передается огибающая спектра.

Для сравнения Фиг.13b изображает кадр VARVAR. Снова обозначен кадр 902 SBR и связанные сегменты 904 QMF. Однако для этого кадра SBR синтаксические элементы bs_var_bord_0 и/или bs_var_bord_1 определяют, что связанные с ним огибающие 906a', 906b' и 906c' не должны начинаться в начале 902a кадра SBR и/или заканчиваться в конце 902b кадра SBR. На Фиг.13b можно заметить, что предшествующий кадр SBR (не показан на Фиг.13b) уже продолжался на двух временных интервалах QMF за пределами начала 902a кадра SBR текущего кадра SBR так, что последняя огибающая 910 предшествующего кадра SBR переходит в текущий кадр 302 SBR. Последняя огибающая 906c' текущего кадра также выходит за пределы конца текущего кадра 902 SBR, а именно, в качестве примера, также на два сегмента QMF в данном случае. Кроме того, здесь также можно заметить, в качестве примера, что синтаксическим элементам bs_num_rel_0 и bs_num_rel_1 кадра VARVAR присваиваются значения «1», соответственно, с дополнительной информацией о том, что определенные таким образом огибающие имеют длину, равную четырем сегментам QMF, как в начале, так и в конце кадра 902 SBR, то есть 906a' и 906b', в соответствии с tmp=1, так, что продолжаются от границ кадра 902 SBR на это количество временных интервалов. Затем оставшееся место кадра 902 SBR занимается оставшейся огибающей, в данном случае третьей огибающей 906b'.

Посредством наличия элемента «T» в одном из сегментов 904 QMF Фиг.13b в качестве примера указывает причину, почему кадр VARVAR был определен здесь, а именно в связи с тем, что позиция «Т» перехода расположена близко к концу 902b кадра SBR, а также в связи с тем, что, вероятно, переход (не показан) также присутствовал в кадре SBR, предшествующем текущему кадру SBR.

Следовательно, стандартизированная версия, в соответствии с ISO/ICE 14496-3, предусматривает перекрытие двух последовательных кадров SBR. Это позволяет установить границы огибающей переменным образом, независимо от фактических границ кадра SBR, в соответствии с формой сигнала. Следовательно, переходы могут быть охвачены собственными огибающими, и их энергия может вырезаться из остаточного сигнала. Однако перекрытие также вызывает дополнительную системную задержку, как было иллюстрировано выше. В частности, для сигнализации в стандарте используются четыре класса кадров. В классе FIXFIX границы огибающих SBR совпадают с границами основного кадра, как изображено на Фиг.13a. Класс FIXFIX используется в случаях отсутствия переходов в этом кадре. Количество огибающих определяет их эквидистантное распределение в пределах кадра. Класс FIXVAR обеспечивается в случаях, когда в текущем кадре присутствует переход. Следовательно, в данном случае соответствующий набор огибающих начинается на границе кадра SBR и переменным образом заканчивается в области передачи SBR. Класс VARFIX обеспечивается в случае, когда переход отсутствует в текущем кадре, но присутствует в предшествующем кадре. Последовательность огибающих из последнего кадра в данном случае продолжается посредством нового набора огибающих, который заканчивается на границе кадра SBR. Класс VARVAR обеспечивается в случае, когда переход присутствует как в последнем кадре, так и в текущем кадре. В данном случае переменная последовательность огибающих продолжается посредством дополнительной переменной последовательности. Как было описано выше, границы переменных огибающих передаются по отношению друг к другу.

Хотя количество сегментов QMF, на которое при помощи синтаксических элементов bs_var_bord_0 и bs_var_bord_1 относительно фиксированных границ кадра могут быть смещены границы, эта возможность вызывает задержку на стороне декодера из-за возникновения огибающих, которые выходят за пределы границ кадра SBR, в связи с чем требуется формирование и/или усреднение спектральной энергии сигналов между границами кадра SBR. Однако такое время задержки является неприемлемым в некоторых приложениях, таких как телефонная связь или другие приложения реального времени, которые рассчитаны на малое время задержки, вызываемое кодированием и декодированием. Даже если таким образом возникновение опережающего эха предотвращено, решение не подходит для приложений, требующих малого времени задержки. Кроме того, количество битов, требуемых для передачи кадров SBR в вышеописанном стандарте, является относительно большим.

Цель настоящего изобретения заключается в обеспечении схемы кодирования, которая обеспечивает, с адекватным разрешением проблемы перехода и/или опережающего эха, малые времена задержки на средней или низкой скорости передачи битов или же с адекватным разрешением проблемы перехода и/или опережающего эха сокращенное время задержки на средней скорости передачи битов с потерями.

Эта цель достигается посредством кодера по п.1 или 34, декодера по п.13, 28 или 38, кодированного информационного сигнала по п.25 или 41, а также способа по п.26, 27, 33, 35, 39 или 40.

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

В соответствии с одним вариантом осуществления настоящего изобретения индикатор позиции перехода используется для того, чтобы относительно малая область сетки, ниже называемая огибающей перехода, определялась вокруг позиции перехода, в то время как только одна огибающая будет продолжаться в оставшейся части кадра перед и/или после него, в кадре от огибающей перехода до начала и/или конца кадра. Следовательно, количество битов, передаваемых и/или кодируемых для нового класса кадров, также является слишком малым. С другой стороны, связанные проблемы переходов и/или опережающего эха могут быть адекватно разрешены. Переменные кадры SBR, такие как FIXVAR, VARFIX и VARVAR, больше не будут требоваться так, что задержки для компенсации огибающих, которые выходят за пределы границ кадра SBR, больше потребуются. В соответствии с вариантом осуществления настоящего изобретения теперь будут допустимы только два класса кадров, а именно класс FIXFIX и только что описанный класс, который будет ниже называться классом LD_TRAN.

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

В соответствии с другим вариантом осуществления проблемы неумышленно большого количества данных при возникновении перехода в конце кадра LD_TRAN разрешаются следующим образом: между кодером и декодером достигается согласование относительно того, насколько далеко огибающая перехода, которая расположена на замыкающей границе текущего кадра LD_TRAN, должна быть виртуально спроецирована в следующий кадр. Решение принимается, например, посредством обращения к таблицам кодера или декодера. В соответствии с согласованием первая огибающая следующего кадра, например, одна огибающая кадра FIXFIX, сокращается таким образом, чтобы начинаться только в конце виртуально продолжающейся огибающей. Кодер вычисляет значение(я) спектральной энергии для виртуальной огибающей за весь период времени этой виртуальной огибающей, но передает результат только для огибающей перехода, возможно способом, который сокращается как функция отношения временной части виртуальной огибающей в начальном и конечном кадрах. На стороне декодера значение(я) спектральной энергии огибающей перехода, расположенной в конце, используется как для высокочастотного восстановления в этой огибающей перехода, и отдельно от этого, для высокочастотного восстановления в начальной области продолжения в следующих кадрах, при этом одно и/или несколько значений спектральной энергии для этой области получаются из этого или этих значений огибающей перехода. При этом избегают дискретизации с повышенной частотой для переходов, расположенных на границах кадра.

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

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

Предпочтительные варианты осуществления настоящего изобретения будут более подробно разъяснены ниже, со ссылкой на сопроводительные чертежи, на которых изображено следующее:

Фиг.1 изображает блок-схему кодера в соответствии с вариантом осуществления настоящего изобретения;

Фиг.2 изображает псевдокод для описания синтаксиса синтаксических элементов, используемых изображенным на Фиг.1 кодером для определения деления сетки кадра SBR;

Фиг.3 изображает таблицу, которая может быть определена на стороне кодера и стороне декодера для получения из изображенного на Фиг.2 синтаксического элемента bs_transient_position информации о количестве огибающих и/или областей сетки, а также позиций границ области сетки в кадре LD_TRAN;

Фиг.4a изображает схематичное представление для иллюстрации кадра LD_TRAN;

Фиг.4b изображает схематичное представление для иллюстрации взаимодействия набора фильтров анализа и блока вычисления данных огибающих на Фиг.1;

Фиг.5 изображает блок-схему декодера в соответствии с вариантом осуществления настоящего изобретения;

Фиг.6a изображает схематичное представление для иллюстрации кадра LD_TRAN с огибающей перехода, расположенной далеко от ближнего конца, для иллюстрации проблемы, возникающей в этом случае;

Фиг.6b изображает схематичное представление для иллюстрации случая, в котором переход расположен между двумя кадрами, для иллюстрации соответствующих проблем, касающихся высоких затрат при кодировании в этом случае;

Фиг.7a изображает схематичное представление для иллюстрации кодирования огибающей, в соответствии с вариантом осуществления, для разрешения проблем, изображенных на Фиг.6a;

Фиг.7b изображает схематичное представление для иллюстрации кодирования огибающей, в соответствии с вариантом осуществления, для разрешения проблем, изображенных на Фиг.6b;

Фиг.8 изображает схематичное представление для иллюстрации кадра LD_TRAN с позицией перехода TranPos=1 в соответствии с изображенной на Фиг.3 таблицей;

Фиг.9 изображает таблицу, которая может быть определена на стороне кодера и стороне декодера для получения из изображенного на Фиг.2 синтаксического элемента bs_transient_position информации о количестве огибающих и/или областей сетки и позициях границы (границ) областей сетки в кадре LD_TRAN, а также информации о приеме данных из предшествующего кадра в соответствии с Фиг.7a и о продолжении данных в следующий кадр в соответствии с Фиг.7b;

Фиг.10 изображает схематичное представление последовательности FIXVAR-VARFIX для иллюстрации сигнализации огибающей, причем огибающая продолжается через границы кадра;

Фиг.11 изображает схематичное представление декодирования, которое обеспечивает более короткое время задержки, несмотря на сигнализацию огибающей, в соответствии с Фиг.10, в соответствии с другим вариантом осуществления настоящего изобретения;

Фиг.12 изображает псевдокод синтаксиса для деления огибающей кадра SBR, в соответствии со стандартом ISO/IEC 14496-3 и

Фиг.13a и 13b изображают схематические представления кадра VARVAR и/или FIXFIX.

Фиг.1 изображает структуру кодера в соответствии с вариантом осуществления настоящего изобретения. Изображенный на Фиг.1 кодер, например аудиокодер, в целом, обозначен ссылочным номером 100. Он включает в себя вход 102 для предназначенного для кодирования аудиосигнала, а также выход 104 для кодированного аудиосигнала. Далее должно предполагаться, что аудиосигнал на входе 102 является дискретным аудиосигналом, например сигналом, кодированным с использованием импульсно-кодовой модуляции (PCM). Однако изображенный на Фиг.1 кодер также может быть реализован другим способом.

Изображенный на Фиг.1 кодер дополнительно включает в себя блок 104 субдискретизации и аудиокодер 106, которые соединены в упомянутом порядке между входом 102 и первым входом блока 108 форматирования, выход которого, в свою очередь, соединен с выходом 104 кодера 100. Ввиду соединения элементов 104 и 106 результат кодирования субдискретизированного аудиосигнала 102 выдается на выход аудиокодера 106, причем упомянутое кодирование, в свою очередь, соответствует кодированию низкочастотной части аудиосигнала 102. Аудиокодер 106 является кодером, который функционирует покадровым способом, то есть присутствующий на выходе аудиокодера 106 результат может быть декодирован только в блоках этих кадров. Например, далее должно предполагаться, что аудиокодер 106 является кодером, совместимым с AAC-LD, в соответствии со стандартом ISO/IEC 14496-3.

Набор 110 фильтров анализа, блок 112 вычисления данных огибающих, а также кодер 114 данных огибающих в упомянутом порядке соединены между входом 102 и дополнительным входом блока 108 форматирования. Кроме того, кодер 100 включает в себя контроллер 116 кадров SBR, который имеет блок 118 обнаружения переходов, соединенный между его входом и входом 102. Выходы контроллера 116 кадров SBR соединены как со входом блока 112 вычисления данных огибающих, так и с дополнительным входом блока 108 форматирования.

Теперь после описания структуры изображенного на Фиг.1 кодера будет описан режим его работы. Как уже было упомянуто, кодированная версия низкочастотной части аудиосигнала 102 подается на первый вход блока 108 форматирования, аудиокодер 106 кодирует субдискретизированный аудиосигнал 102, причем, отправляется, например, только каждый другой отсчет исходного аудиосигнала. Набор 110 фильтров анализа выполняет спектральное разложение аудиосигнала 102 с определенным временным разрешением. Должно подразумеваться, что, например, набор 110 фильтров анализа является блоком фильтров QMF (QMF - квадратурный зеркальный фильтр). Набор 110 фильтров анализа генерирует М значений подполос для каждого временного сегмента QMF, например, каждый временной сегмент QMF включает в себя 64 отсчета аудиосигнала. Для снижения скорости передачи данных блок 112 вычисления данных огибающих из спектральной информации набора 110 фильтров анализа, который имеет большие временное и спектральное разрешения, формирует представление огибающей спектра аудиосигнала 102 с соответственно меньшим разрешением, то есть в пределах подходящей частотно-временной сетки. В данном случае частотно-временная сетка задается посредством контроллера 116 кадров SBR для каждого кадра, то есть для каждого кадра, определенного аудиокодером 106. Более того, контроллер 116 кадров SBR выполняет этот контроль в зависимости от обнаруженных и/или локализованных переходов, обнаруженных и/или локализованных блоком 118 обнаружения/локализации переходов. Для обнаружения переходов и/или времен начала аудиосигналов блок 118 обнаружения переходов выполняет подходящий статистический анализ аудиосигнала 102. Анализ может быть выполнен во временной или спектральной области. Блок 118 обнаружения переходов может оценить, например, временную кривую огибающей аудиосигнала, например, оценку роста временной кривой огибающей. Как будет более подробно описано ниже, контроллер 116 кадров SBR связывает каждый кадр и/или кадр SBR с одним из двух возможных классов кадров SBR, а именно либо с классом FIXFIX, либо с классом LD_TRAN. В частности, контроллер 116 кадров SBR связывает класс FIXFIX с каждым кадром, который не содержит переходов, тогда как контроллер кадров связывает класс LD_TRAN с каждым кадром, имеющим переход. Блок 112 вычисления данных огибающих задает временную сетку, в соответствии с классами кадров SBR, в качестве привязанной к кадрам посредством контроллера 116 кадров SBR. Независимо от четкой привязки все границы кадра всегда будут совпадать с границами сетки. Только границы сетки в пределах кадров находятся под влиянием привязки к классу. Как будет более подробно разъясняться ниже, контроллер кадров SBR задает дополнительные синтаксические элементы в зависимости от ассоциированного класса кадра, а затем выдает их на блок 108 форматирования. Хотя на Фиг.1 явным образом не изображено, синтаксические элементы, естественно, также могут быть подвергнуты операции кодирования.

Следовательно, блок 112 вычисления данных огибающих выдает представление огибающих спектра в разрешении, которое соответствует частотно-временной сетке, предварительно определенной посредством контроллера 116 кадров SBR, а именно посредством одного спектрального значения для каждой области сетки. Эти спектральные значения кодируются посредством кодера 114 данных огибающих и передаются на блок 108 форматирования. Кодер 114 данных огибающих также может быть опущен. Блок 108 форматирования объединяет принятую информацию с кодированным потоком 104 аудиоданных и/или с кодированным аудиосигналом и выдает результат на выход 104.

Режим работы изображенного на Фиг.1 кодера будет описан более подробно ниже, со ссылкой на Фиг.2-4b, относительно деления временной сетки, которая задается посредством контроллера 116 кадров SBR и используется блоком 112 вычисления данных огибающих для определения огибающей сигнала в предварительно определенном делении сетки из сигнала на выходе набора фильтров анализа.

Фиг.2 с помощью псевдокода первоначально изображает синтаксические элементы, посредством которых контроллер 116 кадров SBR предварительно определяет деление сетки, которое должно использоваться блоком 112 вычисления данных огибающих. Подобно изображенному на Фиг.12 случаю, синтаксические элементы, которые фактически переданы с контроллера 116 кадров SBR на блок 108 форматирования для кодирования и/или передачи, выделены на Фиг.2 жирным шрифтом, соответствующая строка в столбце 202 указывает количество битов, используемых для передачи соответствующего синтаксического элемента. Как может быть замечено, первоначально посредством синтаксического элемента bs_frame_class для кадра SBR делается определение того, является ли кадр SBR кадром FIXFIX или кадром LD_TRAN. Затем в зависимости от определения (204) передаются различные синтаксические элементы. В случае класса FIXFIX (206) синтаксическому элементу bs_num_env [ch] текущего кадра SBR ch посредством двухразрядного синтаксического элемента tmp (208) первоначально присваивается значение «2tmp». В зависимости от количества bs_num_env [ch] синтаксический элемент bs_amp_res либо остается со значением «1», которое было присвоено по умолчанию, либо ему присваивается значение «0» (210), причем синтаксический элемент bs_amp_res указывает точность квантования, с которой значения огибающих спектра, которые получены при помощи блока 112 вычисления в предварительно определенной координатной привязке, передаются на блок 108 форматирования в состоянии, в котором они были закодированы кодером 114. Области сетки и/или огибающие, в предварительно определенном посредством bs_num_env [ch] количестве, задаются с учетом их частотного разрешения, которое должно использоваться блоком 112 вычисления данных огибающих для определения огибающей спектра в них посредством общего (211) синтаксического элемента bs_freq_res [ch], который передается (212) на блок 108 форматирования с битом от контроллера 116 кадров SBR.

Режим работы блока 112 вычисления данных огибающих будет снова описан со ссылкой на Фиг.13a ниже, когда контроллер 116 кадров SBR определит, что текущий кадр 902 SBR является кадром FIXFIXFIX. В этом случае блок 112 вычисления данных огибающих равномерно делит текущий кадр 902, который состоит в данном случае, к примеру, из N=16 временных интервалов 904 набора фильтров анализа, на области сетки и/или огибающие 906a и 906b таким образом, чтобы области сетки и обе огибающие 906a,906b имели длину N/bs_num_inv[ch] временных интервалов 904 и занимали одинаковое число временных интервалов между границами 902a и 902b кадра SBR. Другими словами, в случае кадров FIXFIX блок 112 вычисления данных огибающих равномерно размещает границы 908 сетки между границами 902a, 902b кадра SBR таким образом, чтобы они были эквидистантно распределены в пределах этих кадров SBR. Как уже было упомянуто, набор 110 фильтров анализа выдает спектральные значения подполосы для каждого временного интервала 904. Блок 112 вычисления данных огибающих временно объединяет значения подполос способом «от огибающей к огибающей» и суммирует их квадратичные суммы для получения энергий подполос в разрешении огибающей. В зависимости от синтаксического элемента bs_freq_res[ch] блок 112 вычисления данных огибающих также объединяет несколько подполос в спектральной области для сокращения частотного разрешения. Таким способом блок 112 вычисления данных огибающих выдает для каждой огибающей 906a, 906b спектральную энергию огибающей, выбранную с частотным разрешением, которое зависит от bs_freq_res[ch]. Затем эти значения кодируются кодером 114 с квантованием, которое, в свою очередь, зависит от bs_amp_res.

До настоящего момента предшествующее описание относилось к случаю, когда контроллер 116 кадров SBR привязывал определенный кадр к классу FIXFIX, что имеет место, когда в этом кадре отсутствуют переходы, как было описано выше. Однако следующее описание относится к другому классу, то есть к классу LDN-TRAN, который привязывается к кадру, если в нем присутствует переход, как указано посредством блока 118 обнаружения. Следовательно, если синтаксический элемент bs_frame_class указывает на то, что этот кадр является кадром LDN-TRAN (214), то контроллер 116 кадров SBR определяет и передает с четырьмя битами синтаксический элемент bs_transient_position для того, чтобы указать в единицах временных интервалов 904, например, относительно начала 902a кадра или, альтернативно, относительно конца 902b кадра, позицию перехода, как было определено блоком 118 обнаружения переходов (216). На данный момент четырех битов достаточно для этой цели. На Фиг.4a изображен иллюстративный случай. Фиг.4a, в свою очередь, изображает кадр 902 SBR, включающий в себя 16 временных интервалов 904. Шестой временной интервал 904 от начала 902a кадра SBR содержит переход T, который соответствует bs_transient_position=5 (первый временной интервал является нулевым временным интервалом). Как обозначен в позиции 218 на Фиг.2, следующий синтаксис для определения сетки кадра LD_TRAN зависит от bs_transient_position, который должен учитываться на стороне декодера в синтаксическом анализе (парсинге), выполняемом посредством соответствующего демультиплексора. Однако в позиции 218 режим работы блока 112 вычисления данных огибающих, после получения синтаксического элемента bs_transient_position от контроллера 116 кадров SBR, может быть иллюстрирован следующим образом. Посредством индикатора позиции перехода блок 112 вычисления отыскивает bs_transient_position в таблице, пример которой изображен на Фиг.3. Как будет более подробно разъясняться ниже, со ссылкой на изображенную на Фиг.3 таблицу, блок 112 вычисления посредством таблицы задает деление огибающей в пределах кадра SBR таким способом, чтобы короткая огибающая перехода располагалась вокруг позиции Т перехода, тогда как одна или две огибающие 222a и 222b занимают оставшуюся часть кадра 902 SBR, а именно часть от огибающей 220 перехода до начала 902a кадра SBR и/или часть от огибающей 220 перехода до конца 902b кадра SBR.

Изображенная на Фиг.3 таблица, которая используется блоком 112 вычисления, теперь состоит из пяти столбцов. Возможные позиции перехода, которые в настоящем примере проходят от 0 до 15, введены в первый столбец. Второй столбец указывает количество огибающих и/или областей 220, 222a и/или 222b сетки, которые заканчиваются в соответствующей позиции перехода. Как может быть замечено, возможное количество может равняться 2 или 3, в зависимости о