Устройство и способ обработки сигнала, имеющего последовательность дискретных значений

Изобретение относится к обработке сигнала в виде последовательных значений, например выборок аудиосигнала или выборок видеосигнала, которые, в частности, особенно пригодны для приложений кодирования без потерь. При обработке сигнала, имеющего последовательность дискретных значений, в котором имеется первый частотный диапазон, в котором сигнал имеет высокую энергию, и в котором имеется второй частотный диапазон, в котором сигнал имеет низкую энергию, последовательностью дискретных значений сначала манипулируют (202) для получения последовательности значений, подвергнутых манипуляции, чтобы, по меньшей мере, одно из значений, подвергнутых манипуляции, было не целым. Затем последовательность подвергнутых манипуляции значений округляют (204) для получения последовательности округленных подвергнутых манипуляции значений. Округление сформировано для осуществления формирования спектра генерируемой ошибки округления, чтобы ошибка округления со сформированным спектром имела в первом частотном диапазоне более высокую энергию, чем во втором частотном диапазоне. Благодаря такому формированию спектра ошибки округления, чтобы ошибка округления не имела энергии ни в одной области хранения, где отсутствует энергия сигнала, получают особенно эффективное кодирование, в частности, в связи с контекстом кодирования без потерь. 3 н. и 16 з.п. ф-лы, 24 ил.

 

Настоящее изобретение относится к обработке сигнала и, в частности, к обработке сигнала в виде последовательных значений, например выборок аудиосигнала или выборок видеосигнала, которые, в частности, особенно пригодны для приложений кодирования без потерь.

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

Современные методы аудиокодирования, например MPEG Layer3 (МР3) или MPEG AAC, используют преобразования, например так называемое модифицированное дискретное косинусное преобразование (MDCT), для получения блочного частотного представления аудиосигнала. Такой аудиокодер обычно получает поток выборок аудиосигнала с дискретизацией по времени. Поток выборок аудиосигнала подвергается вырезанию для получения вырезанного блока, например, из 1,024 или 2,048 вырезанных выборок аудиосигнала. Для вырезания применяются различные вырезающие функции, например синусоидальная вырезающая функция и т.д.

Вырезанные выборки аудиосигнала с дискретизацией по времени преобразуются к спектральному представлению посредством гребенки фильтров. В принципе, для этого можно применять преобразование Фурье или, в особых случаях, разновидность преобразования Фурье, например FFT, или рассматриваемое MDCT. Блок спектральных значений аудиосигнала на выходе гребенки фильтров можно, при необходимости, дополнительно обрабатывать. В вышеописанных аудиокодерах затем обычно производится квантование спектральных значений аудиосигнала, причем стадии квантования обычно выбирают так, чтобы шум квантования, обусловленный квантованием, был ниже порога психоакустической маскировки, т.е. был «вырезан с помощью маски». Квантование является кодированием с потерями. Для получения дополнительного сокращения объема данных квантованные спектральные значения подвергают энтропийному кодированию, например, посредством кодирования по Хаффману. Мультиплексор битового потока формирует из энтропийно-кодированных квантованных спектральных значений битовый поток, который можно сохранять или передавать, путем добавления дополнительной информации, например масштабных коэффициентов и т.д.

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

Для достижения хорошей частотной избирательности современные аудиокодеры обычно используют перекрытие блоков. Такой случай показан на фиг. 6A. Сначала берут, например, 2,048 выборок аудиосигнала с дискретизацией по времени и обрезают посредством средства 402. Средство 402 реализации окна обрезки имеет длину окна 2N выборок и обеспечивает блок из 2N вырезанных выборок на выходной стороне. Для достижения перекрытия окон второй блок из 2N вырезанных выборок формируется посредством средства 404, которое показано отдельно от средства 402 на фиг. 6A только для ясности. Однако 2,048 выборок, поступающих на средство 404, не являются выборками аудиосигнала с дискретизацией по времени, непосредственно следующими за первым окном, но содержат вторую половину выборок, вырезанных средством 402, и дополнительно содержат только 1,024 «новых» выборок. Перекрытие символически показано на фиг. 6A как средство 406, обеспечивающее степень перекрытия 50%. 2N вырезанных выборок, выводимые средством 402, и 2N вырезанных выборок, выводимые средством 404, затем обрабатываются согласно алгоритму MDCT посредством средств 408 и 410 соответственно. Средство 408 обеспечивает N спектральных значений для первого окна согласно известному алгоритму MDCT, а средство 410 также обеспечивает N спектральных значений, но для второго окна, причем между первым окном и вторым окном существует перекрытие 50%.

В декодере N спектральных значений первого окна, показанные на фиг. 6B, поступают на средство 412, осуществляющее обратное модифицированное дискретное косинусное преобразование. То же самое происходит с N спектральными значениями второго окна. Они поступают на средство 414, также осуществляющее обратное модифицированное дискретное косинусное преобразование. Каждое из средств 412 и 414 обеспечивают 2N выборок для первого окна и 2N выборок для второго окна соответственно.

На средстве 416, обозначенном TDAC (отмена перекрытия во временной области) на фиг. 6B, учитывается тот факт, что два окна перекрываются. В частности, выборка y1 второй половины первого окна, т.е. с индексом N+k, суммируется с выборкой y2 из первой половины второго окна, т.е. с индексом k, так что на выходной стороне, т.е. на декодере, получается N декодированных временных выборок.

Заметим, что посредством функции средства 416, которая также называется функцией сложения, вырезание, осуществляемое на кодере, схематически изображенном на фиг. 6A, учитывается в каком-то роде автоматически, поэтому на декодере, показанном на фиг. 6B, не требуется никакого явного «обратного (обращенного) вырезания».

Если вырезающую функцию, реализуемую средством 402 или 404, обозначить w(k), где индекс k представляет индекс времени, должно выполняться условие, состоящее в том, что вырезающий весовой коэффициент w(k) в квадрате плюс вырезающий весовой коэффициент w(N+k) в квадрате равно 1, где k принимает значения от 0 до N-1. Если используется синусоидальная вырезающая функция, в которой вырезающие весовые коэффициенты выражаются первой полуволной синусоидальной функции, это условие всегда выполняется, поскольку квадрат синуса плюс квадрат косинуса равно 1 для любого угла.

Метод вырезания с последующим применением функции MDCT, описанный на фиг. 6A, страдает тем недостатком, что вырезание путем умножения выборки с дискретизацией по времени, с использованием синусоидальной вырезающей функции, осуществляется посредством числа с плавающей точкой, поскольку синус угла от 0 до 180 градусов не дает целое число, за исключением угла 90 градусов. Даже при вырезании целочисленных выборок с дискретизацией по времени после вырезания получаются числа с плавающей точкой.

Поэтому, даже если не используется психоакустический кодер, т.е. необходимо обеспечить кодирование без потерь, на выходе средств 408 и 410 соответственно необходимо квантование, чтобы можно было осуществлять разумно управляемое энтропийное кодирование.

В общем случае, известные в настоящее время целочисленные преобразования для аудио- и/или видеокодирования без потерь получаются путем разложения используемых в нем преобразований на повороты Гивенса и применения схемы поднятия к каждому повороту Гивенса. При этом на каждом этапе вносится ошибка округления. Для последующих стадий поворотов Гивенса ошибка округления продолжает накапливаться. Результирующая ошибка аппроксимации создает проблемы, в частности, для подходов аудиокодирование без потерь, в частности, когда используются длинные преобразования, обеспечивающие, например, 1,024 спектральных значений, например, это происходит в известном MDCT с перекрытием и сложением (MDCT = модифицированное дискретное косинусное преобразование). В частности, в более высоком частотном диапазоне, где аудиосигнал обычно имеет очень низкую энергию, ошибка аппроксимации может быстро превысить фактический сигнал, поэтому эти подходы создают проблемы в отношении кодирования без потерь и, в частности, в отношении эффективности кодирования, которой при этом можно добиться.

В отношении аудиокодирования целочисленные преобразования, т.е. алгоритмы преобразования, генерирующие целые выходные значения, в частности, основаны на известном DCT-IV, которое не учитывает компонент DC, тогда как целочисленные преобразования для приложений обработки изображений, напротив, основаны на DCT-II, которое особо содержит обеспечения для компонента DC. Такие целочисленные преобразования, например, известны из Y. Zeng, G. Bi и Z. Lin, "Integer sinusoidal transforms based on lifting factorization", в Proc. ICASSP'01, май 2001, стр. 1,181 - 1,184, K. Komatsu и K. Sezaki, "Reversible Discrete Cosine Transform", в Proc. ICASSP, 1998, т. 3, стр. 1,769 - 1,772, P. Hao и Q. Shi, "Matrix factorizations for reversible integer mapping", IEEE Trans. Signal Processing, Signal Processing, т. 49, стр. 2,314 -2,324, и J. Wang, J. Sun и S. Yu, "1-d и 2-d transforms from integers to integers", в Proc. ICASSP'03, Hong Kong, апрель 2003.

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

Впоследствии разложение вырезания MDCT будет вновь описано со ссылкой на фиг. 9-11 согласно описанному в DE 10129240 A1, где это разложение вырезания MDCT на повороты Гивенса с помощью матриц поднятия и соответствующими округлениями преимущественно совместимо с концепцией, рассмотренной согласно фиг. 1 для преобразования и согласно фиг. 2 для обратного преобразования, для получения полностью целочисленной аппроксимации MDCT, т.е. целочисленного MDCT (Int-MDCT) согласно настоящему изобретению, в котором концепция прямого и обратного преобразования проиллюстрированы на примере MDCT.

На фиг. 3 показана общая схема предпочтительного устройства изобретения для обработки выборок с дискретизацией по времени, представляющей аудиосигнал для получения целых значений, на основании которых может работать алгоритм целочисленного преобразования Int-MDCT. Выборки с дискретизацией по времени вырезаются устройством, показанным на фиг. 3, и, в необязательном порядке, преобразуются к спектральному представлению. Выборки с дискретизацией по времени, поступающие на устройство на входе 10, вырезаются с помощью окна w, длина которого соответствует 2N выборкам с дискретизацией по времени, для получения на выходе 12 целочисленных вырезанных выборок, пригодных для преобразования к спектральному представлению посредством преобразования и, в частности, средством 14 для осуществления целочисленного DCT. Целочисленное DCT предназначено для генерации N выходных значений из N входных значений, в чем состоит отличие от функции MDCT 408, показанной на фиг. 6A, которая генерирует только N спектральных значений из 2N вырезанных выборок согласно уравнению MDCT.

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

Свойство матрицы поднятия состоит в том, что она содержит только один элемент, зависящий от окна w и не равный "1" или "0".

Разложение преобразований элементарной волны на этапах поднятия представлено в публикации для специалистов "Factoring Wavelet Transforms Into Lifting Steps", Ingrid Daubechies and Wim Sweldens, Preprint, Bell Laboratories, Lucent Technologies, 1996. В общем случае, схема поднятия является простым отношением между парами фильтров с хорошим восстановлением, имеющими одинаковые низкочастотные или высокочастотные фильтры. Каждую пару комплементарных фильтров можно разложить на этапы поднятия. Это применимо, в частности, к поворотам Гивенса. Рассмотрим случай, когда многофазная матрица является поворотом Гивенса. Затем применяется следующее:

Каждая из трех матриц поднятия в правой стороне с одинаковым знаком имеет значение "1" в качестве элемента главной диагонали. Кроме того, в каждой матрице поднятия элемент второй диагонали равен нулю и элемент второй диагонали зависит от угла поворота α.

Вектор умножается на третью матрицу поднятия, т.е. матрицу поднятия, находящуюся в самом правом положении в вышеприведенном уравнении, для получения первого результирующего вектора. Это проиллюстрировано на фиг. 3 средством 18. После этого первый результирующий вектор округляется любой функцией округления, отображающей множество действительных чисел в множество целых чисел, что проиллюстрировано на фиг. 3 средством 20. На выходе средства 20 получается первый результирующий вектор. Округленный первый результирующий вектор поступает на средство 22 для умножения на среднюю, т.е. вторую матрицу поднятия для получения второго результирующего вектора, который снова округляется средством 24 для получения округленного второго результирующего вектора. Затем округленный второй результирующий вектор поступает на средство 26 для умножения на матрицу поднятия, показанную слева в вышеприведенном уравнении, т.е. первую матрицу, для получения третьего результирующего вектора, который окончательно округляется посредством средства 28 для окончательного получения целочисленных вырезанных выборок на выходе 12, которые, если нужно их спектральное представление, должны обрабатываться средством 14 для получения целочисленных спектральных значений на спектральном выходе 30.

Предпочтительно средство 14 реализовано как целочисленное DCT.

Дискретное косинусное преобразование 4-го типа (DCT-IV) с длиной N задается следующим уравнением:

Коэффициенты DCT-IV образуют ортонормальную матрицу N x N. Каждую ортогональную матрицу N x N можно разложить на N (N-1)/2 поворотов Гивенса, как описано в публикации для специалистов P. P. Vaidyanathan, "Multirate Systems And Filter Banks", Prentice Hall, Englewood Cliffs, 1993. Заметим, что существуют и другие разложения.

В отношении других классификаций различных алгоритмов DCT, см. H. S. Malvar, "Signal Processing With Lapped Transforms", Artech House, 1992. В общем случае, алгоритмы DCT отличаются родом своих базисных функций. Хотя предпочтительное здесь DCT-IV включает в себя несимметричные базисные функции, т.е. четвертьволна косинуса, 3/4 волны косинуса, 5/4 волны косинуса, 7/4 волны косинуса и т.д., дискретное косинусное преобразование, например, типа II (DCT-II) имеет осесимметричные и центральносимметричные базисные функции. 0-я базисная функция имеет компонент DC, первая базисная функция имеет половину волны косинуса, вторая базисная функция имеет целую волну косинуса и т.д. В силу того что DCT-II делает особый упор на компонент DC, оно используется в видеокодировании, но не в аудиокодировании, поскольку компонент DC не относится к аудиокодированию, в отличие от видеокодирования.

Ниже будет описано, как угол поворота α для поворота Гивенса зависит от вырезающей функции.

MDCT с длиной окна 2N можно свести к дискретному косинусному преобразованию типа IV длиной N. Для этого в явном виде осуществляется операция TDAC во временной области, после чего применяется DCT-IV. В случае 50% перекрытия левая половина окна для блока t перекрывается с правой половиной предыдущего блока, т.е. блока t-1. Область перекрытия двух последовательных блоков t-1 и t предварительно обрабатывается во временной области, т.е. до преобразования, следующим образом, т.е. обрабатывается между входом 10 и выходом 12 на фиг. 3:

Значения, помеченные тильдой, это значения на выходе 12 на фиг. 3, тогда как значения х, не помеченные тильдой в вышеприведенном уравнении, это значения на входе 10 и/или следующие за средством 16 для выбора. Переменный индекс k принимает значения от 0 до N/2-1, а w представляет вырезающую функцию.

Из условия TDAC для вырезающей функции w, следует:

Для определенных углов αk, k = 0,..., N/2-1, эту предварительную обработку во временной области можно записать как поворот Гивенса, как рассмотрено.

Угол α поворота Гивенса зависит от вырезающей функции w следующим образом:

α = arctan[w(N/2-1-k) / w(N/2 + k)] (5)

Заметим, что любую вырезающую функцию w можно использовать, пока она удовлетворяет этому условию TDAC.

Ниже, со ссылкой на фиг. 4, описаны каскадные кодер и декодер. Выборки с дискретизацией по времени с x(0) по x(2N-1), которые совместно «вырезаются» окном, сначала выбираются средством 16 на фиг. 3, так что выборка x(0) и выборка x(N-1), т.е. выборка из первой четверти окна и выборка из второй четверти окна, выбираются для формирования вектора на выходе средства 16. Пересекающиеся стрелки схематически представляют умножения с поднятием и последующие округления, выполняемые средствами 18, 20 и 22, 24 и 26, 28, соответственно, для получения целочисленных вырезанных выборок на входе блоков DCT-IV.

После обработки первого вектора согласно описанному выше, второй вектор дополнительно выбирается из выборок x(N/2-1) и x(N/2), т.е., опять же, выборки из первой четверти окна и выборки из второй четверти окна, и, опять же, обрабатывается алгоритмом, описанным на фиг. 3. Аналогично обрабатываются все остальные пары выборок из первой и второй четвертей окна. Такая же обработка применяется для третьей и четвертой четвертей первого окна. Теперь существует 2N целочисленных вырезанных выборок на выходе 12, которые поступают на преобразование DCT-IV, что проиллюстрировано на фиг. 4. В частности, целочисленные вырезанные выборки второй и третьей четвертей поступают на DCT. Целочисленные вырезанные выборки первой четверти окна обрабатываются в предыдущее DCT-IV совместно с целочисленными вырезанными выборками четвертой четверти предыдущего окна. Аналогично, согласно фиг. 4, четвертая четверть целочисленных вырезанных выборок поступает на преобразование DCT-IV совместно с первой четвертью следующего окна. Среднее целочисленное преобразование 32 DCT-IV, показанное на фиг. 4 обеспечивает N целых спектральных значений с y(0) по y(N-1). Затем эти целые спектральные значения можно, например, просто подвергать энтропийному кодированию без необходимости вставлять квантование, поскольку вырезание и преобразование дают целые выходные значения.

В правой части фиг. 4 показан декодер. Декодер, состоящий из обратного преобразования и «обратного вырезания», действует обратно кодеру. Показано, что обратное DCT-IV можно использовать для обратного преобразования DCT-IV, показанного на фиг. 4. Выходные значения декодера DCT-IV 34 подвергаются обратному преобразованию с соответствующими значениями предыдущего преобразования и/или последующего преобразования, как показано на фиг. 4, для повторной генерации выборок аудиосигнала с дискретизацией по времени с x(0) по x(2-N1) из целочисленных вырезанных выборок на выходе средства 34 и/или предыдущего и последующего преобразования.

Операция на выходной стороне осуществляется посредством обратного поворота Гивенса, т.е. при этом блоки 26, 28 и 22, 24 и 18, 20, соответственно, проходят в противоположном направлении. Это будет проиллюстрировано более подробно применительно ко второй матрице поднятия уравнения 1. Когда (на кодере) второй результирующий вектор формируется путем умножения округленного первого результирующего вектора на вторую матрицу поднятия (средство 22), следующее выражение дает:

Значения x, у в правой стороне уравнения 6 являются целыми. Это, однако, не применяется к значению x sin α. Здесь нужно ввести функцию округления r, проиллюстрированную следующим уравнением:

Эта операция осуществляется средством 24.

Обратное отображение (в декодере) определяется следующим образом:

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

Если функция округления r центральносимметрична, то обратный округленный поворот идентичен округленному повороту на угол -α и выражается следующим образом:

Матрицы поднятия для декодера, т.е. для обратного поворота Гивенса, в этом случае получаются непосредственно из уравнения (1) простой заменой выражения "sin α" выражением "-sin α".

Ниже, разложение общего MDCT с перекрывающимися окнами 40-46 проиллюстрировано со ссылкой на фиг. 5. Каждое из окон 40-46 имеет 50% перекрытие. Сначала повороты Гивенса осуществляются для каждого окна в первой и второй четвертях окна и/или в третьей и четвертой четвертях окна, что схематически показано стрелками 48. Затем повернутые значения, т.е. целочисленные вырезанные выборки, поступают на DCT из N в N, так что всегда вторая и третья четверти окна и четвертая и первая четверти последующего окна, соответственно, совместно преобразуются в спектральное представление посредством алгоритма DCT-IV.

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

Таким образом, выходные значения всегда остаются целыми, причем предпочтительно использовать также целые входные значения. Это не представляет ограничения, поскольку любые иллюстративные выборки PCM, сохраняемые на CD, являются целочисленными значениями, диапазон которых варьируется в зависимости от битовой ширины, т.е. в зависимости от того, являются ли цифровые входные значения с дискретизацией по времени 16-битовыми значениями или 24-битовыми значениями. Тем не менее, процесс в целом можно обратить, как рассмотрено выше, осуществляя обратные повороты в обратном порядке. Таким образом, это целочисленная аппроксимация MDCT с хорошим восстановлением, т.е. преобразование без потерь.

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

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

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

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

В частности, для тоновых сигналов энтропийное кодирование целых спектральных значений позволяет добиться высокой эффективности кодирования. Для переходных частей сигнала эффективность кодирования низка, конкретно, вследствие плоского спектра переходных сигналов, т.е. вследствие малого количества спектральных значений, равных или почти равных 0. Однако согласно описанному в J. Herre, J. D. Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)" 101st AES Convention, Los Angeles, 1996, препринт 4384, эту плоскостность можно использовать, применяя линейное прогнозирование в частотной области. Альтернативой является прогнозирование с открытым циклом. Другой альтернативой является прогнозирование с замкнутым циклом. Первая альтернатива, т.е. прогнозирование с открытым циклом, называется TNS. Квантование после прогнозирования обеспечивает адаптацию результирующего шума квантования к временной структуре аудиосигнала и, таким образом, предотвращает предварительные эхо в психоакустических аудиокодерах. Для аудиокодирования без потерь вторая альтернатива, т.е. прогнозирование с замкнутым циклом, более подходящая, т.к. позволяет точно восстанавливать входной сигнал. В случае применения этого способа к генерируемому спектру этап округления нужно осуществлять после каждого этапа фильтра прогнозирования, чтобы оставаться в области целых чисел. Используя обратный фильтр и ту же функцию округления, можно точно воспроизвести исходный спектр.

Для использования избыточности между двумя каналами для предварительной обработки данных центрально-боковое кодирование также можно применять без потерь, если используется округленный поворот на угол π/4. По сравнению с альтернативой вычисления суммы и разности левого и правого канала стереосигнала округленный поворот имеет преимущество экономии энергии. Использование методов так называемого комбинированного стереокодирования может включаться или выключаться для каждого диапазона, что также осуществляется в стандартном MPEG AAC. Можно также учитывать дополнительные углы поворота, чтобы иметь возможность более гибко снижать избыточность между двумя каналами.

В частности, концепция преобразования, проиллюстрированная в отношении фиг. 3, обеспечивает целочисленную реализацию MDCT, т.е. IntMDCT, которая действует без потерь в отношении прямого преобразования и последующего обратного преобразования. Благодаря этапам округления 20, 24, 28 и соответствующим этапам округления в целочисленном DCT (блок 14 на фиг. 3), также всегда возможна обработка целых чисел, т.е. обработка с более грубо квантованными значениями, чем на момент их генерации, например, путем умножения с плавающей точкой на матрицу поднятия (блоки 18, 22, 26 на фиг. 3).

В результате, все IntMDCT можно эффективно осуществлять в отношении вычисления.

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

Конечно, по-прежнему, вносятся ошибки округления. Таким образом, согласно фиг. 3, в блоках 20, 24, 28 осуществляются этапы округления, которые, конечно, вносят ошибку округления, которая «устраняется» в декодере при осуществлении обратных операций. Таким образом, концепция кодирования/декодирования без потерь существенно отличается от концепций кодирования/декодирования с потерями в том, что в концепциях кодирования/декодирования без потерь ошибка округления вносится так, что ее можно вновь устранить, в отличие от концепций кодирования/декодирования с потерями.

Однако если рассматривать кодированный сигнал, т.е. в примере кодеров с преобразованием, спектр блока временных выборок, округление при прямом преобразовании и/или, в целом, квантование такого сигнала приводит к внесению ошибки в сигнал. Таким образом, ошибка округления "накладывается" на идеальный, свободный от ошибок спектр сигнала, причем ошибка обычно, например в случае фиг. 3, представляет собой белый шум, в равной степени включающий в себя все частотные компоненты рассматриваемого спектрального диапазона. Этот белый шум, наложенный на идеальный спектр, представляет, таким образом, ошибку округления, которая имеет место, например, при округлении в блоках 20, 24, 28 в ходе вырезания, т.е. в ходе предварительной обработки сигнала до фактического DCT в блоке 14. В частности, отметим, что при необходимости отсутствия потерь вся ошибка округления непременно должна кодироваться, т.е. передаваться на декодер, поскольку декодер требует всю ошибку округления, внесенную в кодере, для достижения точного восстановления без потерь.

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

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

Согласно рассмотренному выше ошибка округления выражается как белый шум на всем рассматриваемом спектре. С другой стороны, в частности, в приложениях высокого качества, поскольку для них особенно важно отсутствие потерь, т.е. в аудиоприложениях с очень высокими частотами дискретизации, например 96 кГц, аудиосигнал имеет сигнал осмысленного содержания только в некотором спектральном диапазоне, который обычно достигает, самое большее, 20 кГц. Обычно диапазон, в котором в основном сконцентрирована энергия сигнала для аудиосигнала, заключен от 0 до 10 кГц, тогда как в диапазоне свыше 10 кГц энергия сигнала будет значительно снижаться. Однако это не относится к белому шуму, внесенному округлением. Он накладывается на весь рассматриваемый спектральный диапазон энергии сигнала. В результате, в спектральных диапазонах, т.е. обычно в верхних спектральных диапазонах, где нет энергии аудиосигнала или она очень мала, будет присутствовать только ошибка округления. В то же время, в частности, вследствие ее недерминистического характера ошибку округления также трудно кодировать, т.е. она кодируется только с относительно высокими битовыми требованиями. Битовые требования не играют решающей роли, в частности, в некоторых беспотерьных приложениях. Однако, чтобы приложения кодирования без потерь получали все более широкое распространение, очень важно, чтобы они работали с высокой битовой эффективностью для объединения преимущества отсутствия снижения качества, свойственного беспотерьным приложениям с соответствующей битовой эффективностью, которая известна из концепций кодирования с потерями.

Задачей настоящего изобретения является обеспечение эффективного принципа обработки сигналов.

Эта задача решается посредством устройства для обработки сигнала, имеющего последовательность дискретных значений, по п.1, способа обработки сигнала, имеющего последовательность дискретных значений, по п.18 или компьютерной программы по п.19.

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

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

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

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

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

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

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

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

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

фиг. 2А - демонстрирует известную концепцию формирования высокочастотного спектра для ошибки квантования;

фиг. 2B - демонстрирует концепцию формирования низкочастотного спектра для ошибки дискретизации согласно настоящему изобретению;

фиг. 2С - принципиальная схема блока формирования спектра/округления согласно предпочтительному варианту осуществления настоящего изобретения;

фиг. 3 - блок-схема предпочтительного средства для обработки выборок аудиосигнала с дискретизацией по времени для получения целых значений, из которых можно определить целые спектральные значения;

фиг. 4 - схематическая иллюстрация разложения MDCT и обратного MDCT на повороты Гивенса и две операции DCT-IV;

фиг. 5 - схематическая иллюстрация разложения MDCT с 50% перекрытием на повороты и операции DCT-IV;

фиг. 6А - блок-схема известного кодера с MDCT и 50% перекрытием;

фиг. 6B - блок-схема известного декодера для декодирования значений, сгенерированных согласно фиг. 10А;

фиг. 7 - иллюстрация поднятия при вырезании согласно фиг. 3;

фиг. 8 - иллюстрация «пересортированного» поднятия согласно фиг. 7 для вырезания до фактического преобразования;

фиг. 9 - иллюстрация применения настоящего изобретения для вырезания согласно фиг. 3, 7 и 8;

фиг. 10А-10С - блок-схемы устройства для преобразования согласно предпочтительному варианту осуществления настоящего изобретения;

фиг. 11 - схема устройства для обратного преобразования согласно предпочтительному варианту осуществления настоящего изобретения;

фиг. 12 - схема преобразования двух последовательных блоков значений, используемого согласно настоящему изобретению;

фиг. 13 - подробная схема этапа многомерного поднятия с помощью матрицы прямого преобразования;

фиг. 14 - схема этапа обратного многомерного поднятия с помощью матрицы обратного преобразования;

фиг. 15 - схема разложения DCT-IV длиной N на DCT-IV длиной N/2 согласно настоящему изобретению;

фиг. 16 - иллюстрация применения концепции изобретения к преобразованию с многомерным поднятием, показанным на фиг. 10;

фиг. 17 - иллюстрация двух последовательных этапов поднятия;

фиг. 18 - иллюстрация концепции уменьшения ошибки округления на двух последовательных этапах поднятия по фиг. 17; и

фиг. 19 - иллюстрация объединения концепции, показанной на фиг. 18, с концепцией, показанной на фиг. 16.

На фиг. 1 показано устройство для обработки сигнала, имеющего последовательность дискретных значений, которые вводятся в средство 202 для манипуляции через вход 200 сигнала. Сигнал обычно сформирован так, что имеет первый частотный диапазон, в котором сигнал имеет высокую энергию, и второй частотный диапазон, в котором сигнал имеет сравнительно низкую энергию. Если первый сигнал является аудиосигналом, то он будет иметь высокую энергию в первом частотном диапазоне, т.е. в нижнем частотном диапазоне, и будет иметь низкую энергию в верхнем частотном диапазоне. Если же сигнал является видеосигналом, то он также будет иметь высокую энергию в нижнем диапазоне и будет иметь низкую энергию в верхнем диапазоне. В отличие от аудиосигнала, частотный диапазон видеосигнала является диапазоном пространственных частот, если не рассматриваются последовательные видеокадры, в которых также существует временная частота, например, связанная с выбранной областью изображения, в последовательных кадрах.

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

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

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

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

Ниже, предпочтительный вариант осуществления средства 204 для округления с формированием спектра рассмотрен со ссылкой на фиг. 2A, 2B, 2C.

На фиг. 2А показана известная система обратной связи для ошибок для формирование спектра для ошибки квантования, которая описана в книге для специалистов "Digitale Audiosignalverarbeitung", U. Zoelzer, Teubner-Verlag, Stuttgart, 1997. Входное значение x(i) подается на входной сумматор 210. Выходной сигнал сумматора 210 подается на квантователь 212, обеспечивающий квантованное выходное значение y(i) на выходе устройства формирования спектра. Второй сумматор 214 определяет разность между выходным значением квантователя 212 и входным значением квантователя 212, т.е. ошибку округления e(i). Выходной сигнал второго сумматора 214 подается на средство 216 задержки. Ошибка e(i), задержанная на одну единицу времени, вычитается из входного значения посредством сумматора 210. Это дает высокочастотную оценку исходного сигнала ошибки e(n).

Если вместо средства задержки z-1, обозначенного 216 на фиг. 2А, используется z-1 (-2 + z-1), получается высокочастотная оценка второго порядка. В некоторых вариантах осуществления такое формирование спектра ошибки квантования используется для «вырезания с помощью маски» ошибки квантования из воспринимаемого диапазона, т.е., например, из низкочастотного диапазона сигнала x(n), чтобы ошибка квантования не воспринималась.

Согласно изобретению, как показано на фиг. 2B, осуществляется низкочастотное оценивание взамен обеспечения формирования спектра ошибки не за пределами диапазона восприятия, но именно в диапазоне восприятия. Для этого выходной сигнал сумматора 210, показанного на фиг. 2B, подают на блок округления 218, реализующий некоторую функцию округления, которая может быть, например, округлением в большую сторону, округлением в меньшую сторону, округлением путем отбрасывания, округлением в большую/меньшую сторону до следующего целого числа или предыдущего целого числа. На пути обратной связи ошибок, т.е. между сумматором 214 и сумматором 210, помимо элемента 216 задержки, последовательно включен дополнительный блок 220 обратной связи с импульсной характеристикой h(n) и/или передаточной функцией H(z). Z-преобразование выходной последовательности, т.е. Y(z), связано со входной последовательностью X(z) посредством уравнения, показанного на фиг. 2B.

e(n) = y(n)-x'(n)

В вышеприведенном уравнении, x'(n) - это выходной сигнал сумматора 210, а y(n) - выходной сигнал блока 218 округления.

Кроме того, применяется следующее уравнение:

y (n) = round (x'(n))

В вышеприведенном уравнении, "round" представляет функцию округления, реализованную блоком 218. Кроме того, применяется следующее уравнение, в котором "*" представляет операцию свертки:

x'(n) = x(n) - h(n) * e(n - 1)

В Z-диапазоне, получаем следующий результат:

Y(z) = X'(z) + E(z)

X'(z) = X(z) - E(z)z-1H(z)

Y(z) = X(z) + (1 - z-1 H(z))E(z)

Поскольку E(z) - это ошибка округления, ее спектр формируется фильтром (1 - z-1 H(z)). Согласно изобретению используется низкочастотная передаточная функция. Простейшую низкочастотную передаточную функцию можно получить, задав, например, H(z) = -1. В этом простом примере ошибка округления предыдущей операции округления, таким образом, просто прибавляется к значению, подлежащему округлению, до применения следующей операции округления. Таким образом достигается простая низкочастотная фильтрация ошибки округления, которая очень эффективна для настоящего изобретения и поэтому предпочтительна.

Реализация осуществляется по фиг. 2С. В частности, показано средство 202 для манипуляции исходной последовательностью целых дискретных значений, которое обеспечивает последовательность нецелых дискретных значений y0, y1, y2,..., yi на выходной стороне. При этом в отличие от известного уровня техники каждое значение уже не округляется само по себе, как показано, например, со ссылкой на блоки 20, 24, 28 на фиг. 3 или со ссылкой на блоки 104, 110, 142 на фиг. 10С или 126, 132, 150 на фиг. 11. Вместо этого, нецелые дискретные значения последовательности y0, y1, y2, y3, ... фильтруются в зависимости друг от друга низкочастотной характеристикой в ответвлении обратной связи посредством «сети», показанной на фиг. 2, в результате чего получается формирование спектра, отвечающее изобретению. Аналогичные элементы на фиг. 2С и 2B обозначены одинаковыми позициями.

Кроме того, на фиг. 2С показана параллельная реализация, т.е. реализация, в которой значения, подлежащие округлению, обеспечиваются параллельно. Конечно, это лишь схематическая иллюстрация. Значения y0, y1, y2, ... могут обеспечиваться последовательно для получения затем последовательных выходных значений, причем в этом случае достаточно одной реализации структуры элементов 210, 214, 216, 218, 220. Повторяющиеся структуры элементов 214, 218, 210, 220 проиллюстрированы только для ясности.

Средство 204 для округления, показанное на фиг. 2С, сначала вычисляет округленное значение [y0]. Затем вычисляется ошибка округления i0. Затем ошибка округления i0 взвешивается (фильтруется) блоком 220 с передаточной функцией H(z), которая предпочтительно равна -1, и подается на сумматор 210. Эта фильтрованная ошибка округления складывается со следующим значением последовательности yi, после чего результат сумматора 210 округляется на блоке 218 для получения следующего округленного значения [y1]. После этого ошибка округления снова определяется сумматором 214, т.е. с использованием округленного значения [y1] и исходного значения y1, причем эта полученная ошибка округления i1 снова фильтруется на блоке 220 для осуществления той же процедуры для следующего значения y2 последовательности.

При этом нужно заметить, что направление не имеет значения. Это значит, что можно также переходить от yi с большими индексами к yi с меньшими индексами, т.е. в направлении, противоположном обозначенному, конкретно, стрелками на фиг. 2С, идущими от блока 220 к сумматору 210. Таким образом, порядок, т.е. переходит ли процедура от низких индексов последовательности к высоким или наоборот, не имеет значения.

В частности, в случае применения целочисленного MDCT (IntMDCT) формирование спектра ошибки округления предпочтительно используется с особой эффективностью в случаях, отвечающих следующим условиям:

- Ошибка округления добавляется на нескольких соседних значениях, независимо друг от друга.

- Соседние значения (в самом широком смысле) являются временными сигналами, которые затем преобразуются к спектральному представлению путем преобразования, т.е. которые преобразуются к частотной области.

Ниже представлено более подробное объяснение, в каких частях целочисленного MDCT предпочтительно использовать формирование спектра ошибки округления.

Первый предпочтительный вариант осуществления предусматривает вырезание до фактического преобразования, т.е. для округления, заданного на фиг. 3 блоками 20, 24, 28. Операцию поднятия выполняют над каждой отдельной исходной выборкой x1,..., xN, как описано со ссылкой на фиг. 3, что также можно проиллюстрировать схемой, показанной на фиг. 7. Здесь применение трех матриц поднятия, т.е. соответствующее умножение на коэффициент для выборки, проиллюстрировано применительно к выборке, в результате чего получается последовательность «сверху вниз», «снизу вверх» и «сверху вниз».

В отношении обозначений на фиг. 7 заметим, что, когда стрелка упирается в горизонтальную линию, это соответствует сложению. Такое сложение показано на фиг. 7, например, позицией 27. Сравнив фиг. 4 с фиг. 7, можно увидеть, что единственное различие состоит в том, что x(0) на фиг. 4 соответствует x1 на фиг. 7. В этой связи, xN на фиг. 7 соответствует x(N-1) на фиг. 4. Однако, x(N/2-1) на фиг. 4 соответствует xN/2 на фиг. 7. Кроме того, x(N/2) на фиг. 4 соответствует xN/2+1 на фиг. 7, в результате чего получаются перескоки, показанные на фиг. 2, посредством которых одно значение из первой четверти окна взвешивается одним значением из второй четверти окна согласно этапам поднятия, в то время, как, аналогично, значение третьей четверти окна обрабатывается значением четвертой четверти окна посредством «системы вниз-вверх-вниз», проиллюстрированной на фиг. 7.

Имеется соответствующая процедура для пары значений xN/2 и xN/2+1. Опять же, имеется последовательность «вниз-вверх-вниз», в которой за этапом «вниз» 29а следует этап «вверх» 29b, после которого опять идет этап «вниз» 29с.

Таким образом, на фиг. 7 показано целочисленное вырезание путем поднятия. Это вычисление также можно легко пересортировывать без изменения результата, что показано на фиг. 8. Таким образом, конечно, в первую очередь можно осуществить все этапы «вниз» (все этапы 29а). Затем можно осуществить все этапы «вверх» (29b), чтобы окончательно осуществить этапы «вниз» 29c, в результате чего получаются блок 31a «вниз», блок 31b «вверх» и снова блок 31c «вниз». Заметим, что фиг. 8 соответствует фиг. 7, но в другой иллюстрации, которая лучше подходит для понимания настоящего изобретения.

На фиг. 9 показана концепция изобретения, в которой округление согласно изобретению осуществляется для округления с формированием спектра. Концепция вычисления поднятия, показанная на фиг. 9, соответствует фиг. 1 в том, что входные значения x1, xN/2 представляют исходную последовательность целых дискретных значений на входе 200. Блоки оценивания cs1, cs2,..., csk в блоке 31a «вниз» совместно образуют средство 202 для манипулирования. Блок, обозначенный [.]/NoiseShaping, представляет средство 204 для округления, показанное на фиг. 1. На выходе этого блока 204 обеспечивается содержащая ошибки последовательность округленных значений, подвергнутых манипуляции.

Согласно варианту осуществления, показанному на фиг. 9, последовательность содержащих ошибки округленных значений, подвергнутых манипуляции, суммируется с дополнительной последовательностью с xN/2+1 по xN для получения новой последовательности целых дискретных значений, которой, в свою очередь, манипулируют (блоки s1, sk в блоке 31b «вверх»), чтобы затем вновь обеспечить округление согласно изобретению на блоке 31b «вверх» посредством элемента 204b. Затем вновь обеспечивается сумматор 205b на основе значений, как в блоке 31a «вниз», т.е. как в случае сумматора 205а, для получения новой последовательности, которая, в свою очередь, подается на манипулятор 202с, причем выходной сигнал манипулятора 202с не является целым числом и округляется на дополнительном блоке округления 204с для добавления, по очереди, дополнительным сумматором 205с, т.е. к последовательности, поступающей на манипулятор 202b.

Согласно варианту осуществления, показанному на фиг. 9, результатом на выходной стороне является блок вырезанных выборок, которые согласно систематической схеме проиллюстрированной на фиг. 4, подают на соответствующим образом сдвинутые блоки DCT-IV. Эти сдвинутые блоки DCT-IV обеспечивают преобразование для преобразования содержащей ошибки последовательности округленных значений, подвергнутых манипуляции, к спектральному представлению. Таким образом, блоки DCT-IV на фиг. 4 представляют реализацию средства 206, показанного на фиг. 1. Аналогично, блоки для осуществления обратного целочисленного DCT-IV представляют аналогичное средство для преобразования к временному представлению.

Далее, применение многомерного поднятия рассматривается со ссылкой на фиг. 10-15 для представления целочисленной реализации средства 206 для преобразования к спектральному представлению на фиг. 10А и/или аналогичной целочисленной реализации обратного преобразования (для декодера). Концепция многомерного поднятия представлена в германской патентной заявке, имеющей официальный номер документа 10331803.8.

На фиг. 10А показано устройство для преобразования дискретных значений к преобразованному представлению с целыми значениями. Дискретные значения подают на устройство через первый вход 100а и через второй вход 100b. Первый блок дискретных значений поступает через вход 100а, тогда как второй блок дискретных значений поступает через вход 100b. Дискретные значения представляют аудиоданные или данные изображения и/или видеоданные. Как будет рассмотрено ниже, первый блок дискретных значений и второй блок дискретных значений могут фактически включать в себя два последовательных во времени блока выборок аудиосигнала. Первый и второй блоки дискретных значений могут также включать в себя два изображения, представленные дискретными значениями и/или остаточными значениями после прогнозирования или разностными значениями в разностном кодировании и т.д. Альтернативно, два блока дискретных значений могут подвергаться предварительной обработке, например, в целочисленной реализации MDCT, где первый и второй блоки дискретных значений сгенерированы поворотами Гивенса из фактически вырезанных выборок. Таким образом, первый и второй блоки дискретных значений могут быть выведены из исходных аудиоданных или данных изображения путем некоторой обработки, например поворотов, перестановок, перескоков «плюс/минус», масштабирования и т.д. Первый и второй блоки дискретных значений получают аудиоинформацию и/или информацию изображения, хотя они не являются непосредственно с эпплированным звуком или дискретизированными значениями изображения.

Первый блок дискретных значений подают на средство 102 для обработки первого блока дискретных значений с использованием первого правила преобразования через вход 100а для получения первого блока преобразованных значений на выходе средства 102, как показано на фиг. 10А. Этот первый блок преобразованных значений обычно не является целочисленным, но включает в себя значения с плавающей точкой, поскольку они обычно получаются согласно некоторому правилу преобразования, например преобразованию Фурье, преобразованию Лапласа, FFT, DCT, DST, MDCT, MDST или некоторому другому преобразованию, например преобразованию элементарной волны любыми базисными функциями. Первый блок преобразованных значений подают на средство 104 для округления первого блока преобразованных значений для получения первого блока округленных преобразованных значений на выходной стороне. Средство 104 для округления сформировано так, чтобы осуществлять некоторую функцию округления, например округление отбрасыванием, или округление в большую сторону, и/или округление в меньшую сторону в зависимости от значения с плавающей точкой и т.д.

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

Второй блок суммированных значений поступает на средство 108 для обработки второго блока суммированных значений с использованием второго правила преобразования для получения второго блока преобразованных значений. Если правило преобразования, используемое в средстве 102, является, например, правилом преобразования время-частота, то второе правило преобразования, используемое в блоке 108, является, например, правилом преобразования частота-время. Однако эти отношения также можно обратить, в результате чего первый и второй блоки дискретных значений будут, например, спектральными значениями, так что средство 102 для обработки согласно правилу преобразования будет выдавать временные значения, а средство для обработки согласно обратному правилу преобразования, т.е. средство 108, будет выдавать спектральные значения. Таким образом, первое и второе правила преобразования могут быть правилами прямого или обратного преобразования, причем обратное правило преобразования является правилом обратного преобразования или правилом прямого преобразования, соответственно.

Второй блок преобразованных значений подают на средство 110 для округления, как показано на фиг. 10А, для получения второго блока округленных преобразованных значений, который, в конце концов, подают на средство 112 вычитания для вычитания второго блока округленных преобразованных значений из первого блока дискретных значений, поступившего через первый вход 108а, для получения блока целых выходных значений преобразованного представления, который может выводиться на выходе 114. Обрабатывая блок целых выходных значений преобразованного представления с использованием любого третьего правила преобразования, которое также использовалось средством 102, или которое отличается от него, и затем округляя блок преобразованных выходных значений для получения блока округленных преобразованных выходных значений, и затем суммируя блок округленных преобразованных выходных значений и второй блок суммированных значений, можно получить дополнительный блок целых выходных значений преобразованного представления, обеспечивающий полное преобразованное представление первого и второго блоков дискретных значений при подаче на выход 114 блока целых выходных значений.

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

При этом следует заметить, что в зависимости от правила преобразования первое, второе и третье правила преобразования, если таковые существуют, могут быть идентичны. Это имеет место, например, в случае DCT-IV. Если в качестве первого правила преобразования используется FFT, то в качестве второго (обратного) правила преобразования может использоваться IFFT, которое не идентично FFT.

Из соображений удобства вычислений предпочтительно обеспечивать правило преобразования в форме матрицы, которая, если число дискретных значений первого блока равно числу дискретных значений второго блока, является квадратной матрицей NxN, если число дискретных значений первого блока и число дискретных значений второго блока, соответственно, равно N.

Согласно одному варианту осуществления средства 104 и 110 для округления сформированы так, чтобы округлять согласно функции округления, обеспечивая округленные результаты, точность которых меньше машинной точности, присущей компьютеру, осуществляющему функциональные возможности, показанные на фиг. 10А. В отношении функции округления заметим, что она отображает нецелое число на ближайшее сверху или снизу целое число только в одном предпочтительном варианте осуществления. Функция округления может также отображать на другие целые числа, например число 17,7 на число 10 или число 20, если функция округления осуществляет снижение точности округляемого числа. В вышеприведенном примере округляемым числом является число с одной цифрой после запятой, а округленным числом является число, которое уже не имеет цифр после запятой.

Хотя согласно фиг. 10А средство 102 для обработки с использованием первого правила преобразования и средство 108 для обработки с использованием второго правила преобразования показаны как отдельные средства, заметим, что в конкретной реализации может существовать только один функциональный блок преобразования, который под управлением особого потокового средства управления сначала преобразует первый блок дискретных значений, а затем преобразует в обратном направлении второй блок суммированных значений в соответствующий момент времени алгоритма. В этом случае первое и второе правила преобразования будут идентичны. То же самое справедливо для двух средств 104, 110 для округления. Их также не обязательно обеспечивать как отдельные средства, но можно реализовать как один функциональный блок округления, который опять же под управлением потокового средства управления сначала округляет первый блок преобразованных значений, а затем округляет второй блок преобразованных значений, в зависимости от требования алгоритма.

Согласно одному варианту осуществления первый блок дискретных значений и второй блок дискретных значений являются целочисленными вырезанными выборками, поскольку они получены на выходе блока 28 на фиг. 3. Целочисленное DCT на блоке 14 фиг. 3 реализуется посредством целочисленного алгоритма, показанного на фиг. 1, так что преобразованное представление в примере аудиосигнала, к которому относится фиг. 3, представляет целочисленные спектральные значения на выходе 30 устройства, показанного на фиг. 3.

Далее, средство для обратного преобразования, соответствующего фиг. 10А, проиллюстрировано со ссылкой на фиг. 10B, в которой, помимо блока целочисленных выходных значений на выходе блока 112 на фиг. 10А, также используется второй блок суммированных значений на выходе средства 106 на фиг. 10А. Согласно фиг. 11, которая будет подробно объяснена ниже, это соответствует случаю, когда существуют только блоки 150 и 130, но не блок 124 преобразования.

На фиг. 10B показано устройство для обратного преобразования блока целочисленных выходных значений преобразованного представления, полученного на выходе 114 на фиг. 10А, и второго блока суммированных значений. Второй блок суммированных значений подают на вход 120 устройства обратного преобразования, показанного на фиг. 10B. Блок выходных значений преобразованного представления подают на еще один вход 122 устройства для обратного преобразования.

Второй блок суммированных значений подают на средство 130 для обработки этого блока с использованием второго правила преобразования, если правило преобразования, последним использованное при кодировании, является вторым правилом преобразования. Средство 130 обеспечивает на выходной стороне первый блок преобразованных значений, который поступает на средство 132 для округления, которое, в свою очередь, генерирует первый блок округленных преобразованных значений на выходной стороне. Первый блок округленных преобразованных значений затем вычитается из блока выходных значений преобразованного представления посредством средства 134 для получения первого блока дискретных значений на первом выходе 149 устройства на фиг. 10B.

Этот первый блок дискретных значений поступает на средство 150 для обработки этого блока с использованием первого правила преобразования для получения второго блока преобразованных значений на выходе средства 150. Этот второй блок преобразованных вычтенных значений, в свою очередь, округляется средством 152 для получения второго блока округленных преобразованных значений. Этот второй блок округленных преобразованных значений вычитается из второго блока суммированных значений, обеспеченного на входной стороне, который был введен через вход 120, для получения второго блока дискретных значений на выходе 136 на выходной стороне.

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

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

Первый вход 100а включает в себя N входных линий x0,..., xN-1 для ввода N значений первого блока дискретных значений. Второй вход 100b также включает в себя N линий для ввода N значений xN,..., x2N-1 второго блока дискретных значений. Средство 102 на фиг. 10А показано на фиг. 10С как преобразователь DCT-IV. Преобразователь 102 DCT-IV сформирован так, чтобы генерировать из N входных значений N выходных значений, каждое из которых затем округляется согласно правилу округления, обозначенному "[.]", как показано средством 104 на фиг. 10С. Средство 106 для суммирования проиллюстрировано так, что осуществляется суммирование в отношении значений. Это значит, что выходное значение средства 102 с индексом 0 суммируется с первым значением второго блока дискретных значений, имеющим индекс N. В общем случае, значение первого блока округленных преобразованных значений на выходе средства 104 округления с порядковым номером i индивидуально суммируется с дискретным значением второго блока выходных значений с порядковым номером N+i, где i - переменный индекс, принимающий значения от 0 до N-1.

Средство 108 для обработки с использованием второго правила преобразования также изображено как преобразователь DCT-IV. Согласно предпочтительному варианту осуществления, показанному на фиг. 10С, средство 112 для вычитания также сформировано так, чтобы осуществлять вычитание в отношении значений, т.е. так, что выходные значения округлителя 110, т.е. значения второго блока округленных преобразованных значений, индивидуально вычитаются из первого блока дискретных значений. Согласно варианту осуществления, показанному на фиг. 10С, предпочтительно осуществлять соответствующее вычитание так, чтобы значение второго блока с порядковым номером N+i вычиталось из значения первого блока с порядковым номером i, где i опять же изменяется от 0 до N-1. Альтернативно, можно также осуществлять другие операции сложения/вычитания, например, вычитать значение блока с порядковым номером N-1 из значения другого блока с порядковым номером N, пока это соответственно учитывается в обратном преобразовании.

Средство 112 для вычитания уже обеспечивает блок целочисленных выходных значений преобразованного представления на выходной стороне, т.е. целочисленные выходные значения с y0 по yN-1 преобразованного представления. Для получения также остальных целочисленных выходных значений преобразованного представления, т.е. дополнительный блок с yN по y2N-1, если это желательно, хотя и не обязательно, блок целочисленных выходных значений преобразованного представления, подаваемый на выход 114, подвергается преобразованию с использованием третьего правила преобразования прямым преобразователем 140, причем его выходные значения опять же округляются, что проиллюстрировано средством 142 округления, для осуществления сложения этих значений со вторым блоком суммированных значений на выходе сумматора 106, что проиллюстрировано позицией 144 на фиг. 10С. Выходные значения сумматора 144 представляют дополнительный блок 146 целочисленных выходных значений преобразованного представления, которые обозначены с yN по y2N-1.

Далее, устройство для обратного преобразования преобразованного представления согласно варианту осуществления рассматривается со ссылкой на фиг. 11. Заметим, что операции, осуществляемые устройством, проиллюстрированным на фиг. 10С, обращаются без потерь устройством, проиллюстрированным на фиг. 11. Фиг. 11 соответствует фиг. 10B за исключением дополнительной стадии преобразования/округления для генерации второго блока суммированных значений, который поступает на вход 120 согласно варианту осуществления, показанному на фиг. 10B, из дополнительного блока преобразованных выходных значений. Заметим, что функция сложения обращается функцией вычитания, соответственно. Также следует заметить, что на пару сумматор/вычитатель (144 на фиг. 10С и 128 на фиг. 11) также можно подавать входные величины, инвертированные по знаку, так что, если группа входных величин поступает с отрицательным знаком, в отличие от показанного случая, сумматор 144 фактически осуществляет операцию вычитания, пока это учитывается противоположной стороной (128 на фиг. 11), которая затем фактически осуществляет операцию сложения.

Вычитатель 128, показанный на фиг. 11, сумматор 134 и дополнительный вычитатель 154, опять же, сформированы так, чтобы осуществлять сложение/вычитание для каждого значения, в котором, опять же, используется такая же обработка порядковых номеров, как описано со ссылкой на фиг. 10С. Если используется другой порядковый номер, что показано на фиг. 10С, это будет соответственно учтено на фиг. 11.

На выходе вычитателя 134 уже существует первый блок дискретных значений 136, обозначенных с x0 по xN-1. Для получения остального обратно преобразованного представления, первый блок дискретных значений подается на преобразователь 150, действующий по первому правилу преобразования, значения которого на выходной стороне округляются округлителем 152 и вычитаются из второго блока значений вычитания на выходе вычитателя 128 для окончательного получения второго блока дискретных значений 156, обозначенных xN,...,x2N-1.

Ниже, математический аппарат для устройств, описанных здесь со ссылкой на фиг. 10A, 10B, 10C и 11, рассматривается со ссылкой на фиг. 12-15. Проиллюстрированное устройство для преобразования и/или для обратного преобразования обеспечивает методы целочисленного преобразования для аудиокодирования без потерь, в которых снижена ошибка аппроксимации. Кроме того, вычислительная мощность также учитывается в том плане, что основанием больше не является известный подход применения схемы поднятия к каждому повороту Гивенса, в которой при этом всегда осуществляются тривиальные перескоки «сумма-разность». Они значительно повышают вычислительную мощность по сравнению с первоначальной нецелочисленной версией преобразования, подлежащей копированию.

Обычно схема поднятия используется для получения обратимой целочисленной аппроксимации поворота Гивенса.

Эта целочисленная аппроксимация достигается с использованием функции округления после каждого сложения, т.е. после каждого этапа поднятия. Схема поднятия также может использоваться для обратимой целочисленной аппроксимации некоторых операций масштабирования. В публикации для специалистов R. Geiger and G. Schuller, "Integer low delay and MDCT filter banks" Proc. of the Asilomar Conf. on Signals, Systems and Computers, 2002, рассмотрено и описано следующее разложение с поднятием масштабирующей матрицы 2х2 с определителем, равным 1:

Это разложение с поднятием, которое является одномерным, т.е. которое связано только с матрицей масштабирования 2х2, распространяется на многомерный случай. В частности, все значения из вышеприведенного уравнения заменяются матрицами nxn, в которых n, т.е. число дискретных значений блока, больше или равно 2. Таким образом, для любой матрицы Т размера nxn, которая, предпочтительно, должна быть обратимой, возможно следующее разложение на блочные матрицы 2n x 2n, где En обозначает матрицу n x n:

Помимо простых операций, например перестановок или умножений на -1, все три блока этого разложения имеют следующую общую структуру:

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

Для вектора со значениями x = (x0,..., x2n-1) применение этой блочной матрицы обеспечивает следующее уравнение:

Заметим, что в правой стороне вышеприведенного уравнения находится вектор, размерность которого, т.е. количество строк которого, равно 2n. Первые n компонентов, т.е. компонентов от 0 по n-1, соответствуют x0 ... xn-1. Вторые n компонентов, т.е. вторая половина вектора, полученного в правой стороне вышеприведенного уравнения, равны сумме второго блока дискретных значений, т.е. xn,..., x2n-1, но теперь просуммированных с умножением на матрицу А, соответствующую матрице преобразования, показанного на фиг. 10A, 10B, 10C и 11, и первого блока дискретных значений x0,..., xn-1. Матрица преобразования представляет первое, второе и третье правило преобразования, соответственно.

Аналогично общей схеме поднятия с матрицами 2х2 в виде

эти матрицы 2n x 2n можно использовать для инвертируемых целочисленных аппроксимаций преобразования Т следующим образом. Для целочисленных входных значений (x0,..., x2n-1) выходные значения с плавающей точкой (y0,..., yn-1) = A(x0,..., xn-1) округляются, конкретно до целочисленных значений, до суммирования с целочисленными значениями (xn,..., x2n-1). Обратная блочная матрица выглядит следующим образом:

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

Поскольку значения (x0,..., xn-1) не изменяются на прямом этапе, показанном на фиг. 13, они по-прежнему присутствуют на обратном этапе, т.е. на обратном этапе, показанном на фиг. 14. Заметим, что никаких конкретных ограничений для матрицы А не существует. Поэтому она не обязана быть обратимой.

Для получения обратимой целочисленной аппроксимации известного MDCT, MDCT разлагается на повороты Гивенса на первой стадии, причем эта стадия является стадией вырезания, и на последующей стадии DCT-IV. Это разложение рассмотрено в связи с фиг. 3, которая будет объяснена ниже, и описано подробно в DE 10129240 A1.

В отличие от предшествующего уровня техники, согласно которому DCT-IV разлагается на несколько стадий поворотов Гивенса, само по себе преобразование остается неизменным и последовательно округляется.

Известно, что, таким образом, целочисленная аппроксимация DCT-IV осуществляется за несколько стадий поворотов Гивенса на основе поднятия. Количество поворотов Гивенса определяется используемым быстрым алгоритмом более низкого уровня. Таким образом, количество поворотов Гивенса задается O(N log N) для преобразования длиной N. Стадия вырезания каждого разложения MDCT состоит только из N/2 поворотов Гивенса или 3N/2 этапов округления. Таким образом, в частности, для длинных преобразований, например, используемых в приложениях аудиокодирования (например, 1,024), целочисленная аппроксимация DCT-IV обеспечивает главный вклад в ошибку аппроксимации.

Подход использует описанную многомерную схему поднятия. Таким образом, количество этапов округления в DCT-IV сокращается до 3N/2, т.е. оказывается равным количеству этапов округления на стадии вырезания, т.е. в отличие от примерно 2N log2 N этапов округления в традиционном подходе на основе поднятия.

DCT-IV применяется к двум блокам сигналов одновременно. Одна возможность для этого проиллюстрирована на фиг. 12, где, например, два последовательных во времени блока выборок просто подвергаются DCT-IV. Два блока, которые подвергаются двум преобразованиям, могут, однако, быть выборками двух каналов многоканального сигнала.

Разложение из вышеописанного уравнения многомерного поднятия применяется к правилу преобразования, которое также можно рассматривать как матрицу N x N. Поскольку обратным преобразованием, в частности для DCT-IV, опять же будет DCT-IV, результатом будет следующее разложение для концепции, показанной на фиг. 12:

Перестановки умножений на -1 можно извлечь в различные блочные матрицы, что дает следующий результат:

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

Вышеприведенное уравнение графически проиллюстрировано на фиг. 10С на основании варианта осуществления. Рассмотрено обратное преобразование, соответственно, проиллюстрированное на фиг. 11.

Согласно этому подходу, два преобразования DCT-IV длиной N могут быть реализованы обратимым образом, причем требуются только 3N этапов округления, т.е. 3N/2 этапов округления на преобразование.

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

Общая вычислительная сложность в 1,5 раза больше вычислительной сложности неинтегральной реализации двух преобразований DCT-IV. Эта вычислительная сложность все же значительно ниже, чем для традиционных интегральных реализаций на основе поднятия, которые примерно вдвое сложнее традиционного DCT-IV, поскольку эти реализации должны использовать тривиальные перескоки «плюс/минус» на основе используемой схемы поднятия для обеспечения экономии энергии, как описано в R. Geiger, T. Sporer, J. Koller and K. Brandenburg, "Audio Coding based on Integer Transforms" in 111th AES Convention, New York, 2001.

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

Альтернативно, если обе опции не нужны, но, если нужно поддерживать нормальную длину обработки блока N значений, DCT-IV длины N также можно разложить на два преобразования DCT-IV длиной N/2. В этом контексте, см. Y. Zeng, G. Bi and Z. Lin, "Integer sinusoidal transforms based on lifting factorization", in Proc. ICASSP'01, май 2001, стр. 1.181 - 1.184, где рассматривается это разложение. Помимо двух преобразований DCT длиной N/2, требуется несколько дополнительных стадий поворотов Гивенса. В этом алгоритме дополнительно применяется блочная матрица

т.е. N/2 перескоков «плюс/минус», блочно-диагональная матрица с N/2 поворотами Гивенса и еще некоторые матрицы перестановки. Используя эти дополнительные стадии N/2 поворотов Гивенса, подход многомерного поднятия можно также использовать для вычисления только одного DCT-IV длиной N. Основная структура этого алгоритма проиллюстрирована на фиг. 15, где, помимо стадии фактического преобразования, на которой используются два преобразования DCT-IV длиной N/2, сначала осуществляется стадия перескока для вычисления первого и второго блоков дискретных значений, которые, однако, теперь имеют длину только N/2. На выходной стороне также обеспечена стадия поворота для получения выходных значений y0,..., yN-1 из блока выходных значений преобразованного представления и дополнительного блока выходных значений преобразованного представления, каждый из которых, однако, теперь имеет только N/2 значений, причем первые равны выходным значениям операции DCT-IV на фиг. 12, что очевидно при сравнении индексов на входной стороне и на выходной стороне фиг. 15 и фиг. 12.

До сих пор рассматривалось только применение многомерного поднятия к блочным матрицам следующего вида.

Однако можно разлагать и другие блочные матрицы на этапы многомерного поднятия. Например, следующее разложение можно использовать для реализации объединения стадии с нормализованными перескоками «плюс/минус» и двумя блоками преобразований DCT-IV посредством трех этапов многомерного поднятия:

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

В этом контексте, снова обратимся к фиг. 10А и 11. При преобразовании дискретных значений к преобразованному представлению, средство 102 может быть сформировано так, чтобы реализовать правило преобразования 1. Кроме того, средство 108 может быть сформировано так, чтобы использовать любое другое или такое же правило преобразования, именуемое правилом преобразования 2. Средство 140 также может быть сформировано так, чтобы, в общем случае, использовать любое правило преобразования 3, которое не обязано быть таким же, как первое или второе правило преобразования.

Однако в обратном преобразовании преобразованного представления, должна быть найдена адаптация к правилам преобразования 1-3, показанным на фиг. 10С, чтобы первое средство 124 для преобразования не выполняло никакого правила преобразования, кроме правила преобразования 3, которое выполнялось на блоке 140 фиг. 10С. Соответственно средство 130 на фиг. 11 должно выполнять правило преобразования 2, которое также выполнялось блоком 108 на фиг. 10С. Наконец, средство 150 на фиг. 11 должно выполнять правило преобразования 1, которое также выполнялось средством 102 на фиг. 10С, чтобы получить обратное преобразование без потерь.

На фиг. 16 показана модификация концепции, описанной на фиг. 10С. В частности, округления в элементах 104, 110, 142 для прямого преобразования или в элементах 126, 132, 152 для обратного преобразования уже выполняются не для каждой выборки, но так, чтобы формировать спектр ошибки округления.

Сравнивая фиг. 10С с фиг. 16, можно видеть, что предпочтительно заменить только блок 104 блоком 204a, и использовать блок 204b вместо блока 110 округления. По этой причине концепция обладает особым преимуществом при наличии последующего преобразования в частотный диапазон, где белый шум ошибки округления создает проблему, когда не осуществляется формирование спектра. Поскольку после округления 142 не существует преобразования частоты, формирование спектра в блоке 142 уже не дает преимущества. Однако это имеет место для блока 204a, поскольку, опять же, существует преобразование частоты путем преобразования в блоке 108. Таким образом, отвечающее изобретению формирование спектра в блоке 204b по-прежнему имеет преимущество, поскольку, опять же, осуществляется преобразование последним блоком 140. Однако из фиг. 16 следует, что ошибка округления в виде сформированного шума уже поступает на выходной блок 114, так что в блоке 204b также может осуществляться общее округление, проиллюстрированное блоками 110 на фиг. 10С, вместо формирования спектра ошибки округления.

Это зависит от частного случая, является ли приложение округлением с формированием спектра или общим округлением, т.е. с ошибкой округления, имеющей белое спектральное распределение, в конце второго преобразования, т.е. преобразования 108.

Согласно изобретению независимое округление некоторого количества, например k, значений заменяется, таким образом, округлением с формированием спектра, которое также можно называть «зависимым округлением».

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

Заметим, что на фиг. 16 показан случай кодера, соответствующего фиг. 10С согласно изобретению. Случай декодера, соответствующего фиг. 16, непосредственно следует из сравнения фиг. 16 и фиг. 11. Декодер, непосредственно соответствующий фиг. 16, следует из фиг. 11 в том отношении, что все блоки работают одинаково за исключением двух блоков 132, 152 округления. Согласно фиг. 11 эти два блока округления действуют как независимые блоки округления и будут заменены в декодере, отвечающем изобретению, независимыми блоками 204a, 204b округления, которые все имеют структуру, показанную, например, на фиг. 2С. В частности, заметим, что в декодере нужно использовать точно такой же алгоритм округления с формированием спектра, что и в кодере.

Концепция, проиллюстрированная на фиг. 2B и 2C, в частности для H(z) = "-1", также весьма пригодна для использования снижения ошибки округления и, в частности, снижения ошибки округления в целочисленных преобразованиях. Такое снижение ошибки округления возможно всякий раз, когда два значения с плавающей точкой округляются и прибавляются к одному и тому же значению, а не к разным значениям. Такая иллюстративная ситуация проиллюстрирована на фиг. 17. При этом сначала имеет место первый этап поднятия с последовательностью «вниз-вверх-вниз» между участниками поднятия x1 и x3. Далее следует вторая последовательность поднятия с известной последовательностью «вниз-вверх-вниз», но на этот раз с участниками поднятия x2 и x3. В частности, значение x3, полученное в первой операции поднятия, используется в качестве участника сложения на втором этапе поднятия, что видно из фиг. 17. Опять же следует заметить, что место, где стрелка достигает горизонтальной линии, представляет сложение. Другими словами, значение было округлено и, таким образом, прибавлено к значению, соответствующему горизонтальной линии.

В частности, в примере, показанном на фиг. 17, значение x1 сначала взвешивается (блок 250), а затем отдельно округляется (блок 252). Выходной сигнал блока 252 прибавляется к x3 (блок 254). Затем результат сложения 254 снова взвешивается (блок 256) и снова округляется (блок 258). Результат этого округления 258 снова прибавляется к x1 (260). Результат сложения 260 снова взвешивается (блок 262) и округляется (блок 264) для прибавления к текущему значению x3 (блок 266). Соответственно, значение x2 взвешивается блоком 270 и затем округляется блоком 272. Результат блока 272 прибавляется (274) к текущему значению x3. Затем опять производится взвешивание (276) и округление (278) для прибавления (280) результата блока 278 опять же к текущему значению x2. Результат этого сложения 280 снова взвешивается (блок 282), и взвешенный результат округляется (блок 284) для сложения результата блока округления 284 опять же с текущем значением x3 (блок 286) для получения результирующего значения x3. Из фиг. 17 следует, что первое значение, т.е. результат блока 262, сначала округляется, а потом прибавляется к значению x3. В дополнение, второе значение, т. е. результат блока 270 также округляется (блок 272), а затем добавляется к значению x3 (сумматор 274). Таким образом, два значения с плавающей точкой округляются одно за другим и прибавляются к одному и тому же значению, а не к разным значениям. В примере, показанном на фиг. 17, результат третьего и четвертого этапов поднятия прибавляется к одному и тому же значению, т.е. x3, поэтому сложение осуществляется с функцией округления [.]:

[x1.cs1] + [x2.cs2]

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

[x1.cs1] + [x2.cs2 + (x1.cs1 - [x1.cs1])] = [x1.cs1] + [x2.cs2 + x1.cs1] - [x1.cs1] = [x2.cs2 + x1.cs1]

Применительно к вычислению, передача ошибки округления на следующий этап округления, в этом случае, равносильна сложению значений с последующим округлением. Этот случай проиллюстрирован на фиг. 18, причем фиг. 18 соответствует фиг. 17, однако два отдельных блока округления 264, 272 и два отдельных сумматора 266, 274 заменены блоком 268, сформированным для реализации вышеприведенного уравнения. Поэтому результаты двух блоков 262 и 270 сначала суммируются в неокругленном виде, а затем округляются. В благоприятных случаях ошибка округления уменьшается вдвое. На выходе блока 268 обеспечивается только одно значение, которое прибавляется к x3 сумматором 269.

Комбинация снижения и формирования спектра ошибки округления также может иметь место, например, когда множество поворотов Гивенса и этап многомерного поднятия следуют друг за другом, как показано на фиг. 19. В данном случае, исключительно в порядке примера, последний этап последовательности «вниз-вверх-вниз» для нескольких значений осуществляется для значений с x1 по x4, т.е., например, этапа 31с «вниз» по фиг. 9. После этого значения суммируются с соответствующими значениями, к которым также должны прибавляться округленные значения, показанные на фиг. 16, т.е. значения на выходе блока 204a. В этом случае, предпочтительно сначала суммировать неокругленные значения, конкретно, сумматорами 203, показанными на фиг. 19, а затем округлять суммированные значения в блоке 204, показанном на фиг. 19, и одновременно подвергать их формированию шума, чтобы затем получалась только простая ошибка округления и выходные значения после суммирования на сумматорах 106 содержали меньшую ошибку. Таким образом, ситуация, представленная на фиг. 19, имеет место тогда, когда фиг. 9 помещается слева от фиг. 16 и, в частности, когда вместо DCT-IV с N значениями используется DCT-IV с N/2 значениями.

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

Также следует заметить, что случай фиг. 19 может также иметь место, когда, как показано на фиг. 15, используются DCT длиной N/2. При этом до стадии преобразования, т.е. до двух блоков DCT, существует стадия, именуемая стадией перескоков, показанная на фиг. 15, в которой входные значения с x0 по xN/2-1 соответственно взвешиваются и округляются, чтобы затем прибавляться к тем же значениям, к которым прибавляются значения стадии DCT-IV. Также следует заметить, что стадия преобразования проиллюстрирована на фиг. 15 лишь схематически. Два блока DCT-IV, схематически показанные на фиг. 15, заменяются компонентами, показанными на фиг. 16 в конкретной реализации, если на фиг. 16 xN/2-1 записан вместо xN-1, и если записан вместо xN/2, и если xN-1 записан вместо xN/2-1.

Таким образом, на фиг.19 показана предпочтительная реализация, в частности, для моно-приложений, т.е. для случая, когда нужно использовать DCT-IV длиной N/2.

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

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

2. Устройство по п.1, в котором сигнал является временным сигналом, в котором дискретные значения являются значениями, дискретизированными по времени, дополнительно содержащее средство (206) для преобразования, по меньшей мере, последовательности округленных значений, подвергнутых манипуляции, или последовательности, выведенной из последовательности округленных значений, подвергнутых манипуляции, к спектральному представлению, спектральные коэффициенты которого в первом частотном диапазоне содержат большую ошибку округления, чем во втором частотном диапазоне, и средство (208) для кодирования спектрального представления.

3. Устройство по п.1, в котором первый частотный диапазон является диапазоном низких частот, второй частотный диапазон является диапазоном высоких частот, и средство (204) для округления выполнено с возможностью осуществления формирования спектра с использованием низкочастотной характеристики для фильтрации ошибки е(n) обратной связи.

4. Устройство по п.1, в котором средство (204) для округления выполнено с возможностью округления (218) первого дискретного значения, определения (214) ошибки округления, генерируемой при округлении дискретного значения, оценивания (220) ошибки округления и объединения (210) оцененной ошибки округления со вторым дискретным значением, соседствующим с первым дискретным значением в последовательности, для получения объединенного значения, и округления (218) объединенного значения для получения округленной версии второго значения.

5. Устройство по п.1, в котором средство (204) для округления выполнено с возможностью оценивания ошибки округления с помощью функции округления, передаточная функция которой равна "-1".

6. Устройство по п.1, в котором дискретные значения являются целочисленными значениями.

7. Устройство по п.1, в котором средство (204) для округления выполнено с возможностью генерации округленных значений, имеющих меньшую точность, чем у значений, подвергнутых манипуляции.

8. Устройство по п.1, выполненное с возможностью осуществления целочисленного вырезания окном или целочисленного обращенного вырезания окном в качестве обработки, причем сигнал включает в себя N/2 дискретных значений из блока 2N дискретных значений, средство (202а) для манипуляции выполнено с возможностью взвешивания каждого из N/2 дискретных значений значением, определенным на первом этапе поднятия, устройство дополнительно содержит первый сумматор (205а) для суммирования, на основе каждого значения, последовательности округленных значений, подвергнутых манипуляции, с последовательностью с дополнительными N/2 дискретными значениями блока 2N дискретных значений для получения первой последовательности суммированных значений, устройство дополнительно содержит средство (202b) для манипуляции, чтобы взвешивать каждое значение первой последовательности суммированных значений значением, определенным на втором этапе поднятия, для получения дополнительной последовательности значений, подвергнутых манипуляции, устройство содержит дополнительное средство (204b) для округления для получения дополнительной последовательности округленных значений, подвергнутых манипуляции, устройство содержит второй сумматор (205b) для суммирования на основе каждого значения для получения второй последовательности суммированных значений, устройство содержит еще одно дополнительное средство (202с) для манипуляции, чтобы взвешивать каждое значение второй последовательности суммированных значений значением, определенным на третьем этапе поднятия, для получения еще одной дополнительной последовательности значений, подвергнутых манипуляции, устройство дополнительно содержит еще одно дополнительное средство округления (204с) для получения еще одной дополнительной последовательности округленных значений, подвергнутых манипуляции, устройство дополнительно содержит третий сумматор (205с) для получения третьей последовательности суммированных значений, еще одна дополнительная последовательность значений, подвергнутых манипуляции, включает в себя N/2 вырезанных или обращенно вырезанных значений, и третья последовательность суммированных значений включает в себя дополнительно N/2 вырезанных или обращение вырезанных значений.

9. Устройство по п.8, в котором средство для манипуляции выполнено с возможностью использования в качестве весовых коэффициентов для N/2 значений следующих коэффициентов:

GFk=(cos α-1)/sinα,

где GFk - весовой коэффициент для значения с порядковым индексом k, и где α выражает угол, относительно которого справедливо следующее уравнение:

α=arctan[w(N/2-1-k)/w(N/2+k)],

где k принимает значения от 0 до N/2-1, и где w выражает вырезающую функцию.

10. Устройство по п.9, в котором средство для манипуляции выполнено с возможностью использования в качестве весовых коэффициентов для N/2 значений следующих коэффициентов:

GFk=sin α,

где GFk - весовой коэффициент для значения с порядковым индексом k, и где α выражает угол, относительно которого справедливо следующее уравнение:

α=arctan[w(N/2-1-k)/w(N/2+k)],

где k принимает значения от 0 до N/2-1, и где w выражает вырезающую функцию.

11. Устройство по п.8, в котором еще одно средство для манипуляции выполнено с возможностью использования в качестве весовых коэффициентов для N/2 значений следующих коэффициентов:

GFk=(cos α-1)/sin α,

где GFk - весовой коэффициент для значения с порядковым индексом k, и где α выражает угол, относительно которого справедливо следующее уравнение:

α=arctan[w(N/2-1-k)/w(N/2+k)],

где k принимает значения от 0 до N/2-1, и где w выражает вырезающую функцию.

12. Устройство по п.8, выполненное с возможностью вырезания окном, за которым дополнительно следует средство (206) для преобразования к спектральному представлению, или выполненное с возможностью обращенного вырезания окном, и ему предшествует средство для обратного преобразования из спектральной области во временную область.

13. Устройство по п.12, в котором средство для обращенного преобразования или средство для преобразования включает в себя средство дискретно-косинусного преобразования четвертого типа (DCT-IV).

14. Устройство по п.1, в котором средство (202) для манипуляции является средством (102, 108, 130, 150) для обработки с использованием правила прямого или обратного преобразования для получения блока преобразованных значений, соответствующего последовательности нецелочисленных дискретных значений.

15. Устройство по п.14, в котором средство (202) для манипуляции является средством для осуществления алгоритма DCT-IV.

16. Устройство по п.1, которое является частью кодера для генерации кодированного представления из исходного сигнала или частью декодера для генерации декодированного представления из кодированного сигнала.

17. Устройство по п.16, в котором кодер и декодер совместно представляют схему кодирования без потерь.

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

19. Компьютерный программный продукт с программным кодом, хранящийся на машинно-считываемом носителе, для осуществления способа по п.18, когда компьютерный программный продукт выполняется на компьютере.



 

Похожие патенты:

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

Изобретение относится к передачи данных процесса от полевого устройства в центр управления процессом. .

Изобретение относится к области радиотехники и телевидения и может быть использовано при формировании, передаче и приеме видеокадров. .

Изобретение относится к кодированию объектов мультимедиа. .

Изобретение относится к области кодирования и декодирования контента, в частности к извлечению данных из буфера и загрузки их в буфер. .

Изобретение относится к области электросвязи, а именно к области систем передачи информации по цифровым каналам связи. .

Изобретение относится к анимации трехмерных графических моделей. .

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

Изобретение относится к области радиотехники, в частности к кодированию информации для расширения формата кодируемых сигналов. .

Изобретение относится к способу и устройству для улучшения маскирования кадров кодированного звукового сигнала, стертых во время передачи от кодера к декодеру и для ускорения восстановления в декодере, после того как были приняты нестертые кадры кодированного звукового сигнала.

Изобретение относится к способу передачи аудиосигналов между передатчиком и, по меньшей мере, одним приемником методом приоритетной передачи пикселей. .

Изобретение относится к кодированию аудиосигнала. .

Изобретение относится к кодированию сигнала, в частности звукового сигнала. .

Изобретение относится к области цифровой обработки речевых сигналов. .

Изобретение относится к способу и устройству квантования усиления для воплощения в методе кодирования дискретизированного звукового сигнала, обработанного в процессе кодирования последовательными кадрами из L выборок, где каждый кадр делится на некоторое число подкадров и каждый подкадр содержит некоторое число N выборок, где N<L.

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

Изобретение относится к кодированию аудиосигналов, в частности к кодированию многоканальных аудиосигналов. .

Изобретение относится к анализу и синтезу речевой информации, выводимой из ЭВМ. .

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