усовершенствованное кодирование/декодирование цифровых сигналов, в частности, при векторном квантовании с перестановочными кодами

Классы МПК:H03M7/30 уплотнение; расширение; подавление излишней информации, например сокращение избыточности
Автор(ы):,
Патентообладатель(и):ФРАНС ТЕЛЕКОМ (FR)
Приоритеты:
подача заявки:
2007-02-13
публикация патента:

Объектом изобретения является кодирование/декодирование цифровых сигналов, использующее, в частности, перестановочные коды, сопровождающиеся вычислением комбинаторных выражений. Согласно изобретению, эти комбинаторные выражения представлены разложениями на степени простых множителей и определяются путем считывания в памяти заранее записанных представлений разложений выбранных целых чисел. Технический результат - обеспечение эффективного декодирования перестановочных кодов. 3 н. и 10 з.п. ф-лы, 9 ил., 11 табл., 7 прил.

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Формула изобретения

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

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

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

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

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

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

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

4. Способ по п.2, отличающийся тем, что при декодировании цифровых сигналов с векторным квантованием па основании данного значения ранга перестановки:

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

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

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

6. Способ по п.3, отличающийся тем, что кодирование/декодирование является кодированием/декодированием источника с векторным квантованием.

7. Способ по п.2, отличающийся тем, что кодирование/декодирование является кодированием/ декодированием канала с модуляцией, и тем, что содержит:

перед передачей: определение вектора-кода на основании ранга перестановки, и

при приеме: вычисление ранга перестановки на основании вектора-кода, соответствующего принятому вектору.

8. Способ по п.2, отличающийся тем, что перестановочный код использует перечисление Шальквийка, и тем, что частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , связанный с усечением (yk,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,yn-1) вектора-кода (y0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,yn-1), записывают как:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,

где запись усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 обозначает произведение для целого индекса i, возрастающего от 0 до m,

запись усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 обозначает сумму для индекса i, возрастающего от 0 до m,

запись l! является значением факториала целого числа l при l!=1·2·3·усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (l-1)·l для l>0 и 0!=1,

целое число n является размером перестановочного кода, соответствующим общему числу компонент, которое содержит вектор-код,

целое число k, составляющее от 0 до n-1, является индексом k-й компоненты y k вектора-кода,

целое число q является числом отдельных компонент, которые содержит вектор-код, и

член усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 представляет собой число компонент с индексами от k до n-1, которые имеют значение, равное значению такой же компоненты с индексом d.

9. Способ по п.8, отличающийся тем, что вычисление ранга используют при кодировании путем определения накопления частичных рангов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , каждый из которых оценивают в зависимости от усечения (yk,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 yn-1) вектора-кода (y0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 yn-1), для индекса k, возрастающего от n-1 до 0.

10. Способ по п.9, отличающийся тем, что проводят тест на значение члена усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , чтобы избежать оценки частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , если член Sk равен нулю.

11. Способ по п.8, отличающийся тем, что вычисление количества, характеризующего разнакопление частичных рангов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 используют при декодировании для определения компонент yk вектора-кода с индексом k, возрастающим от 0 до n-1.

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

13. Устройство кодирования или декодирования цифровых сигналов, содержащее устройство для осуществления способа по п.1, содержащее:

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

модуль вычисления, имеющий доступ к запоминающему устройству для:

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

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

Описание изобретения к патенту

Область техники, к которой относится изобретение

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

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

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

Уровень техники

Векторное квантование

Очень распространенным решением при сжатии цифровых сигналов является векторное квантование. Векторное квантование представляет входной вектор в виде вектора одинакового размера, выбранного из конечного множества. Квантор на М уровней (или «векторов-кодов») является примером не биективного применения множества входных векторов, как правило, реального евклидового n-размерного пространства Rn или подмножества Rn в конечном подмножестве Y R n с М отдельных элементов: Y={y0, y1 ,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ym-1}.

Y называют алфавитом воспроизведения или «словарем» или «справочником», а его элементы векторов-кодов - «кодовыми словами» (или «выходными точками» или «репрезентантами»).

Пропускная способность по размеру r квантора (или его «разрешение») определяют отношением:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

При векторном квантовании блок из n выборочных значений обрабатывают как вектор размера n. Согласно теории кодирования источника, когда размер становится очень большим, эффективность векторного квантования приближается к границе пропускная способность - искажение источника. Словари векторных кванторов могут быть разработаны на основании статистических методов, таких как обобщенный алгоритм Ллойда (или усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 GLAусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 от усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Generalized Lloyd Algorithmусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ), основанный на необходимых условиях оптимальности векторного квантора. Полученные таким образом статистические векторные кванторы не имеют никакой структуры, что делает их просмотр сложным и дорогим с точки зрения вычислительных или записьтающих ресурсов, поскольку сложность как при кодировании, так и при записи прямо пропорциональна: n2nr.

Показанный на фиг.1А векторный квантор используют для трех основных операций: двух при кодировании и одной при декодировании. Входной вектор кодируют (этап COD), выбирая сначала вектор-код из словаря. Речь идет о наиболее «похожем» на него векторе-коде (операция ОР1 на фиг.1А). Затем, определяют индекс этого вектора-кода (этап IND) для передачи или введения в память (операция ОР2 на фиг.1А). На декодере (этап DEC) вектор-код определяется по его индексу (операция ОР3 на фиг.1А).

При модуляции тоже используют три операции ОР1, ОР2 и ОР3, показанные на фиг.1А, но в другом порядке. Согласно фиг.1В, которая иллюстрирует эту дуальность модуляция/квантование, предусматривают переход от индекса к вектору-коду (этап COD' на фиг.1В, соответствующий операции ОР3 на фиг.1А). Затем после передачи на зашумленном канале выявляют вектор-код, наиболее близкий к полученному вектору (этап DEC' на фиг.1В, соответствующий операции ОР1 на фиг.1А). Наконец, на третьем этапе (этап IND' на фиг.1В, соответствующий операции ОР2 на фиг.1А) производят декодирование индекса вектора-кода.

Экспоненциальное возрастание сложности в зависимости от размера векторов и от пропускной спосоюности ограничивает применение не структурированных векторных кванторов при небольших размерах и/или низкой пропускной способности для их использования в реальном времени. В случае не структурированного векторного квантора поиск наиболее близкого вектора-кода (операция ОР1) требует исчерпывающего поиска среди всех элементов словаря для выбора элемента словаря, который минимизирует измерение расстояния между ним и входным вектором. Две последние операции (индексация ОР2 и обратная операция ОР3) обычно осуществляют путем простого считывания таблиц, но они все равно занимают много места в объеме памяти. Чтобы устранить проблемы размера и расстояния, были изучены многие варианты базового векторного квантования. Они призваны решить проблему отсутствия структурности словаря и помогают снизить сложность, но в ущерб качеству. И все-таки компромисс эффективность/сложность был улучшен, что позволяет расширить диапазон разрешений и/или размеров, в котором можно эффективно применять векторное квантование с точки зрения стоимости. Было предложено много схем структурированных векторных кванторов и, в частности, векторный квантор, использующий описанный ниже «перестановочный код».

Перестановочные коды

В векторном кванторе с «перестановочным кодом» векторы-коды получают путем перестановок компонент первого вектора-кода (в смысле лексикографического порядка), называемого «лидером» (или «вектором-директором»). Эти компоненты принимают свои значения в алфавите А={а0 , a1,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , aq-1} размером q (алфавита А q-площадь, где aiусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 aj при iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 j). Компоненты ai являются вещественными (или целыми) числами. Весовой коэффициент wi (где i является индексом от 0 до q-1) является числом повторений буквы a 1 алфавита. Весовые коэффициенты wi являются положительными целыми числами, такими, при которых усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Условно значения алфавита удовлетворяют а0 >a1>усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 >aq-1. n компонент лидера уменьшаются от позиции 0 до позиции (n-1). Таким образом, вектор-лидер y 0 является вектором размера n, имеющим форму:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Понятно, что можно выбрать другой порядок компонент, например а0<a1<усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 <aq-1.

Вектор-лидер называют «лидером со знаком», и перестановочный код называют «типа I». Путем перестановок компонент у0 получают другие векторы-коды. Общее число М перестановок равно:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Существует другой тип перестановочного кода (тип II). Вектор-лидер имеет ту же форму, что и в предыдущем случае, но его компоненты должны быть положительными (а0 >a1>усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 >aq-1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 0). Путем перестановок компонент у0 получают также другие векторы-коды, присваивая им все возможные комбинации знаков. Общее число М перестановок равно:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

где h=n, если aq-1>0, и h=n-w q-1 в остальных случаях.

В этом случае вектор-лидер называют абсолютным лидером.

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

Использование структуры с перестановочным кодом позволяет разрабатывать оптимальные и быстрые алгоритмы поиска наиболее близкого вектора-кода (операция ОР1 на фиг.1А). Вместе с тем индексация (или нумерация) векторов-кодов (операция ОР2 на фиг.1А) и обратная операция декодирования (операция ОР3 на фиг.1А) требуют большего числа вычислений, чем в случае не структурированных векторных квантований.

Существует несколько способов нумерации перестановок. Одним из таких способов является алгоритм Шальквийка: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 An algorithm for source codingусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Schalkwijk J.P.M., в ШЕЕ Trans, on information Theory, том IT-18, № 3, стр.396-399, май 1972.

Используя комбинаторный анализ, эти способы позволяют индексировать вектор-код перестановочного кода (операция ОР2), а также осуществлять обратную операцию декодирования индекса (операция ОР3). Среди алгоритмов индексации перестановок следует еще раз упомянуть алгоритм Шальквийка, широко используемый в стандартах:

- [3GPP TS 26.273] (ANSI-C code for the Fixed-point Extended AMR-Wideband (AMR-WB+) cjdec; V6.1.0 (2005-06) (Release 6)), и

- [3GPP TS 26.304] (Extended Adaptive Multi-Rate - Windeband (AMR-WB+) codec; Floating-point ANSI-C code; V6.3.0 (2005-06) (Release 6), июнь 2005).

Вычисление ранга перестановки при кодировании (операция ОР2 на фиг.1)

Ставится задача упорядочения и индексации всех возможных перестановок компонент вектора у=(у0 , у1,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , yn-1). Порядок является лексикографическим, и в данном случае индекс называют «рангом». Вычисление ранга вектора у приводит к вычислению вектора D=(d0 , d1,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , dn-1), связанного с у и такого, что d k соответствует значению индекса d, если и только если yk=ad.

Например, вектор у размером n=8 имеет следующие компоненты:

Y=(4, 2, 4, 0, 0, 4, 4, 2)

Алфавит из q=3 букв (компоненты разных значений) вытекает из А={4, 2, 0} при а0=4, a1=2 и а2=0.

При этом с вектором у связывают вектор D=(0, 1, 0, 2, 2, 0, 0, 1), компоненты которого являются просто индексами q букв алфавита А.

Ранги у и D являются идентичными, но определение вектора D позволяет ограничиться вычислением ранга последовательности D со значениями в множестве {0, 1, q-1} (содержащем то же число элементов, что и алфавит {а0, а1,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , aq-1}).

Весовые коэффициенты векторов у и D являются идентичными, поскольку вхождения их соответствующих компонент являются идентичными. Определяют также промежуточный весовой коэффициент усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 как весовой коэффициент вектора с компонентами (y k, yk+1, yn-1), который, таким образом, соответствует усеченному вектору у, оставляя позиции от k до n-1. Таким образом:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

где усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (х,у) является оператором Кронекера (усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (х,у)=1, если х=у, и 0, если нет).

Получаем: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

При комбинаторном анализе ранг t вектора у можно вычислить при помощи следующей формулы:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Эту формулу можно упростить до:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Декодирование ранга (операция ОР3): Определение перестановки по ее индексу

Декодирование ранга t состоит в нахождении вектора D=(d0, d 1,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , dn-1), связанного с у. Метод последовательного поиска значений dk описан ниже. Сначала определяют компоненту d0, затем компоненту d1,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 до компоненты dn-1.

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Определение d0:

Чтобы найти d 0, используют формулу, содержащую неравенства:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Члены (n-1)!, t, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и значения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при d=0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,q-1 известны.

Чтобы найти значение d 0, исходят из того, что d0=0, осуществляют последовательную инкрементацию d0 на 1 до тех пор, пока формула (8) не будет проверена. Если записать формулу (8) с частичными рангами, то значение d0 будет таким, что:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Определение d1:

Чтобы найти d 1, используют отношение:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Значения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при d=0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,q-1 вытекают из усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 следующим образом:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , если d-d0,

- и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , если dусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 d0 (в этом случае усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 повторяют, пока d отличается от d0).

Приходим к той же проблеме, что и при определении компоненты d0.

Чтобы найти значение d1 , исходят из того, что d1=0, и осуществляют последовательную инкрементацию d1 на 1, пока не будет проверено неравенство (9)

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Определение других dk:

Вычисление следующих dk подобно предьщущим рассмотренным случаям. Чтобы найти значение dk, исходят из того, что d k=0 и осуществляют последовательную инкрементацию d k на 1, пока не будет проверено неравенство усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

После декодирования вектора D=(d0 ,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , dn-1), из него выводят вектор у путем простого транспонирования алфавита.

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

Сложность деления

Несмотря на достижения в области интегральных схем и процессоров обработки сигнала, деление остается сложной операцией. Обычно деление целого числа, представленного на 16 бит, на целое число, представленное на 16 бит, требует в 18 раз больше затрат, чем умножение. Весовой коэффициент деления 32-битового целого числа на 16-битовое целое число составляет 32, тогда как весовой коэффициент их умножения составляет 5.

Кадрирование переменных

Стоимость деления не является единственной проблемой. Кадрирование переменных является еще одной проблемой, что видно из нижеследующей таблицы 1.

На 16-битовых целых словах можно отобразить только факториалы целых чисел, меньших или равных 8. Для чисел, больших 12, представление факториалов на 32-битоых целых словах не представляется возможным.

Кроме того, сложность операций возрастает также с числом используемых бит для представления переменных. Так, деление 32-битового целого числа на 16-битовое целое число почти в два раза сложнее (весовой коэффициент 32), чем деление 16-битового целого числа (весовой коэффициент 18).

Таблица 1:
Факториалы целых чисел
n n!Log2 (n!)
0 10
110
22 1
3 62.5849625
4244.5849625
5120 6.9068906
67209.4918531
75040 12.299208
84032015.299208
9362880 18.469133
10362880021.7910611
1139916800 25.2504927
12479001600 28.8354552
13 622702080032.535895
1487178291200 36.3432499
15 130767436800040.2501405
1620922789888000 44.2501405

Были предложены решения для снижения сложности операции ОР1. Проблема сложности операций ОР2 и ОР3 изучена мало. Вместе с тем, в кодер/декодер TDAC, запатентованном заявителем, или в кодер 3GPP-AMR-WB+ были внесены упрощения алгоритмов кодирования и декодирования при помощи формулы Шальквийка.

Упрощения перечисления перестановок и обратной операции (операции ОР2 и ОР3)

Вычисление ранга t перестановки и обратную операцию ускорили за счет указанных ниже упрощений вычисления n членов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , определение которых можно напомнить:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 kусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n-1)

Два первых упрощения служат для снижения сложности как кодирования, так и декодирования. Третье используют при кодировании, а два последних - при декодировании.

Метод кодирования показан на фиг.2 и 3. В частности, на фиг.3 показано вычисление ранга при помощи формулы Шальквийка в рамках известных решений, тогда как на фиг.2 показаны предварительные этапы (обозначенные усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ЕР-nусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , для n-ого предварительного этапа на фиг.2).

Как показано на фиг.2, обработка начинается с этапа ЕР-1, на котором получают компоненты вектора у=(у0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , yn-1)- Следующий общий этап ЕР-2 предусматривает вычисление элементов алфавита для вектора А=(а0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , aq-1), а также определение максимального индекса q. Для этого после этапа инициализации ЕР-21, на котором устанавливают q=1, а00, образуют петлю на индексе к, заключенном между 1 и n-1 (завершающий тест ЕР-26 или, если нет, инкрементация ЕР-27), с целью поиска элементов aq следующим образом:

- если компонента yk текущего индекса k уже не находится среди элементов {а0 ,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , aq-1} (тест ЕР-22), необходимо присвоить новый элемент aq, такой как aq=yk (этап ЕР-23) множеству {а0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , aq-1}, и произвести инкрементацию q на 1 (этап ЕР-25).

Следующий общий предварительный этап ЕР-3 является вычислением вектора D=(d0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,dn-1) следующим образом:

- при k, возрастающем от 0 до n-1 (этап ЕР-31 инициализации k на 0, завершающий тест ЕР-37 на k и инкрементация ЕР-38, если нет), находят значение d во множестве индексов (0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , q-1), при котором yk=ad (тест ЕР-23 в петле на d и инкрементация ЕР-26 с d=d+1, если нет).

Далее со ссылками на фиг.3 следует описание этапов вычисления ранга t, которые следуют за предварительной обработкой, показанной на фиг.2. Этапы, показанные на фиг.3, обозначены усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 СА-nусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для обозначения n-ого этапа кодирования в рамках известных решений.

Этап СА-1 является инициализацией ранга t на 0, переменной Р на 1 (знаменатель, участвующий в вычислении ранга на этапе СА-13) и q весовых коэффициентов w0 ,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , wq-1 на 0.

В данном случае производят декременацию значения k от n-1 до 0 (этап СА-2 инициализации k на n-1, завершающий тест СА-14 и декрементация СА-15, если нет). Преимущество такого выбора будет указано ниже. После этого используют компоненты dk вектора D, полученного на предварительном этапе ЕР-3, и для текущего к фиксируют d=d k (этап СА-3). Обновляют соответствующий весовой коэффициент wd(wd=wd+1 на этапе СА-4) для определения члена Р (Р=Рх wd на этапе СА-5). Производят инициализацию на 0 (этап СА-6) суммы S, участвующей в числителе при вычислении соответствующего ранга на этапе СА-13, и после этого производят петлю на индексе i весовых коэффициентов w i (завершающий тест СА-9 и, если нет, инкрементация СА-10 до d-1) для обновления суммы S(S=S+wi на этапеСА-8). Перед вычислением ранга t на этапе СА-13 проверяют, чтобы сумма S не равнялась нулю (тест СА-11). Преимущество этого выполнения описано ниже.

Вычисление ранга t (этап СА-13) требует использования члена-факториала (n-k-1)! следующим образом:

t=t+(S/P)(n-k-1)!

Вместо вычисления члена (n-k-1)! при каждом обновлении ранга t эти значения предварительно вводят в память и для получения текущего значения (n-k-1)! просто обращаются к памяти (этап СА-12).

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Ведение в память факториалов

Чтобы избежать вычисления членов (n-k-1)! и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 в реальном времени, значения n+1 факториалов (0!, 1!,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , n!) вычисляют заранее и вводят в память. Если размер n меняется до определенных пределов (nусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 nmax), то предварительно вычисляют и вводят в память значения 0!, 1!,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , nmax!

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Тест на накопление промежуточных весовых коэффициентов для избежания деления

Нет необходимости вычислять усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , если член усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 равен нулю. Однако этот член часто равен нулю, в частности, для первых позиций (к близок к n-1). Добавив тест на ничтожность этого члена (тест СА-11 на фиг.3), можно избежать деления (и умножения). Поскольку деление является намного более сложным, чем тест, выигрыш в сложности является значительным.

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Инверсия петли на позициях кодирования

Весовые коэффициенты усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (где d=0, 1,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , q-1) выводят из весовых коэффициентов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 путем инкрементации усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 на 1 и повторения других значений усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для dусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 dk. В этом случае можно реализовать петлю (этапы СА-2, СА-14, СА-15 на фиг.3), начиная от последней позиции (k=n-1) вектора до первой (k=0). Эта «инверсированная» петля после инициализации на 1 позволяет вычислить член Pk

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,

только с одной инкрементацией и одним умножением путем итерации, то есть

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Кроме того, можно обработать две последние позиции отдельно (k=n-1 и k=n-2).

Действительно,

- для последней позиции (k=n-1), усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , следовательно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- для предпоследней позиции (k=n-2),

если dn-2>dn-1, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , следовательно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,

если нет (dn-2усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 dn-1), усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , следовательно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , при Pn-2=2, если dn-2=dn-1 , и, если нет, то Pn-2=1.

Можно также предусмотреть другие детали преимущественного выполнения, описанные ниже.

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Исключение деления при декодировании

Чтобы избежать деления при декодировании во время поиска d0 , неравенство (8) можно преобразовать следующим образом:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

или даже:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Следует отметить, что, если таким образом можно исключить деление во время поиска dk (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 kусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n-1), то все равно необходимо осуществить (n-1) операций деления для вычисления усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 kусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n-3).

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Тест на весовые коэффициенты при декодировании

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

Другие проблемы известных решений: кадрирование переменных

Проблема кадрирования переменных была затронута в кодере TDAC заявителя.

Первое решение состоит в установлении четкого различия между обработкой размеров, превышающих 12, и обработкой более малых размеров. Для малых размеров (n<12) вычисления производят на 32-битовых целых числах без знака. Для более значительных размеров используют переменные двойной точности с плавающей запятой, пренебрегая возрастанием сложности вычисления (операции двойной плавающей точности стоят дороже, чем их эквиваленты по полной точности) и увеличением требуемой емкости памяти.

Кроме того, если максимальная точность ограничена 32-битовыми целыми числами без знака (выполняется процессорами обработки чисел с фиксированной запятой), то факториалы целых чисел более 12 не могут быть заранее введены в память напрямую, и векторы размером более 12 должны кодироваться отдельно. Для решения этой проблемы используют представление с псевдоплавающей запятой по мантиссе и показателю факториалов n! в виде 2j×r. Это разложение подробно показано в нижеследующей таблице 2. Введение в память n! (при n меньшем или равном 16) сводится к записи в память r с точностью не более 30 бит, а также показателя степени j, который соответствует простому смещению бит.

Таблица 2:
Факторизация факториалов
n log2 (n!) 2jr log2r
0 011 0
1 011 0
2 1.000021 0
3 2.58496252 31.5849625
44.58496258 31.5849625
56.9068906 815 3.9068906
6 9.491853116 455.4918531
712.29920816 3158.29920802
815.299208 128315 8.29920802
9 18.469133128 283511.469133
1021.7910611 2561417513.7910611
1125.2504927 256155925 17.2504927
12 28.83545521024 46777518.8354552
1332.535895 10246081075 22.535895
14 36.34324992048 4256752525.3432499
1540.2501405 2048638512875 29.2501405
16 44.250140532768 63851287529.2501405

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

Методы перечисления, такие как метод Шальквийка, характеризуются такими же проблемами. Как только в них применяют комбинаторный метод, они требуют вычисления произведений факториалов, а также операций их деления.

Сущность изобретения

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

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

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

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

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

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

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

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

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

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

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

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

В дальнейшем этот признак первого варианта будет называться термином «разуплотненное представление разложений».

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

- весовой коэффициент, являющийся функцией простого числа, и

- значение, являющееся функцией показателя степени, связываемого с этим простым числом.

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

В дальнейшем этот признак согласно второму варианту будет называться «уплотненное представление разложений».

Само развертывание способа для вычисления комбинаторного выражения в целом может содержать следующие этапы:

- идентификация, среди указанных выбранных целых чисел, членов, появляющихся в произведении и/или в частном, образующих указанное комбинаторное выражение,

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

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

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

- указанное произведение, определенное при предыдущей рекурренции, предпочтительно сохраняют в памяти в виде разложения на степени простых множителей,

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

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

Точно так же, если способ содержит рекуррентный этап вычисления деления, в котором на каждой рекурренции появляется член, делящий частное, определенное на предыдущей рекурренции:

- указанное частное, определенное на предыдущей рекурренции, предпочтительно сохраняют в памяти в виде разложения на степени простых множителей,

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

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

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

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

Вычисление ранга перестановки можно применять при кодировании цифровых сигналов с векторным квантованием для индексации перестановок компонент вектора-директора (операция ОР2 на фиг.1А), причем эти перестановки были осуществлены на предварительном этапе (операция ОР1) для определения вектора-кода, наиболее близкого к входному вектору.

Точно так же, при декодировании цифровых сигналов с векторным квантованием определение ранга перестановки осуществляют в случае, когда на основании данного значения ранга перестановки:

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

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

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

Таким образом, это условие близости может соответствовать общей формуле описанных ранее неравенств (8) в случае перечисления Шальквийка.

Таким образом, настоящее изобретение предпочтительно можно применять для кодирования/декодирования источника с векторным квантованием согласно фиг.1А.

Вместе с тем, кодирование/декодирование может быть кодированием/декодированием канала с модуляцией согласно фиг.1В, которое содержит:

- перед передачей: определение вектора-кода на основании ранга перестановки (одинаковая операция ОР3 на фиг.1А и 1В), и

- при приеме: вычисление ранга перестановки на основании вектора-кода, соответствующего принятому вектору (одинаковая операция ОР2 на фиг.1А и 1В).

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

- целые числа от 1 до максимального размера n,

- значение факториала целого числа 0,

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

В факультативном частном варианте выбранные целые числа могут также содержать значение 0.

Таким образом, если перестановочный код использует перечисление Шальквийка, частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , связанный с усечением (yk,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,yn-1) вектора-кода (y0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,yn-1), записывают как:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , где

- запись усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 обозначает произведение для целого индекса i, возрастающего от 0 до m,

- запись усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 обозначает сумму для целого индекса i, возрастающего от 0 до m,

- запись l! является значением факториала целого числа l при l!=1×2×3×усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (l-1)×l для l>0 и 0!=1,

- целое число n является размером перестановочного кода, соответствующим общему числу компонент, которое содержит вектор-код,

- целое число k, составляющее от 0 до n-1, является индексом k-ой компоненты yk вектора-кода, определяемой на основании значения ранга при декодировании источника (соответственно при кодировании канала), или когда требуется индексировать перестановки при кодировании источника (соответственно при декодировании канала),

- целое число q является числом отдельных компонент, которое содержит вектор-код, и

- член усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (называемый «промежуточным весовым коэффициентом») представляет собой число компонент с индексами от k до n-1, которые имеют значение, равное значению такой же компоненты с индексом d.

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

- члены-факториалы (n-1-k)! для всех целых чисел k от 0 до n-1 (то есть значения факториалов для всех целых чисел от 0 до (n-1)),

- значение каждого члена усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и/или значение его факториала, участвующее в произведении усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , при этом каждый член усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 составляет от 0 до n, и

- члены усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , каждый из которых составляет от 1 до n-1, для всех целых чисел k от 0 до n-1.

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

Краткое описание чертежей

Другие отличительные признаки и преимущества изобретения будут более очевидны из нижеследующего подробного описания со ссылками на прилагаемые чертежи, на которых, за исключением уже описанных фигур 1А, 1В и 3:

Фиг.4 - принципы кодирования/декодирования ранга перестановки с применением изобретения.

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

Фиг.6 - обработка для кодирования ранга перестановки с применением изобретения согласно первому варианту выполнения, в котором предусматривают уплотненное представление показателей разложения.

Фиг.7 - обработка для декодирования ранга перестановки с применением изобретения согласно первому варианту выполнения, в котором предусматривают разуплотненное представление показателей разложения.

Фиг.8 - обработка для декодирования ранга перестановки с применением изобретения согласно второму варианту выполнения, в котором предусматривают уплотненное представление показателей разложения.

Фиг.9 - схема устройства кодирования/декодирования, в которой применяется настоящее изобретение.

Подробное описание чертежей

Следует напомнить (в частности, в связи с фиг.4-8), что:

- термин «кодирование» предполагает вычисление ранга t перестановки (операция ОР2 на фиг.1А и 1В), и

- термин «декодирование» предполагает определение перестановки на основании этого ранга t (операция ОР3 на фиг.1А и 1В).

Эти названия операций принимаются в связи с кодированием/декодированием источника с векторным квантованием. Следует напомнить, что эти операции можно также применять при декодировании/декодировании канала с модуляцией.

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

Разложение положительного простого числа К, не равного нулю, на степени простых чисел, записывается как:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

при этом pi является i-ым простым числом (р0=1, p1=2, р2=3, р 3=5, р4=7, р5=11, р6=13, р7=7 и т.д.).

Показатель степени p i в разложении целого числа К обозначают усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , а индекс наибольшего простого множителя, участвующего в разложении К показателя, не равного нулю, обозначают m k.

Например, число К=120 (то есть 5!) записывают:

120=1.23.31.51 и в данном случае m=3, так как наибольший множитель «5» имеет индекс 3(р3=5). Таким образом, получают: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

На практике, поскольку число «1» является нейтральным элементом умножения, из разложения можно исключить р0, то есть:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Разумеется, К=0 не разлагается на степени простых множителей.

Разложение положительных целых чисел, меньших или равных 16, на произведения степеней простых чисел представлено в таблице 3а, а разложение их факториалов - в таблице 3b. В этом разложении участвуют 6 простых чисел (2, 3, 5, 7, 11 и 13). Столбцы индексированы простым числом p i а строки - n, элемент таблицы 3а (соответственно 3b) на пересечении столбца pi и строки n является показателем степени усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ) простого числа pi в разложении на произведение степеней простых чисел числа n (соответственно n!).

Для любого положительного целого числа n>1 число mn! простых множителей n! является таким, что: pmn!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 nусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pmn!+1. Число mn! (соответственно число mn) указано в последнем (соответственно в предпоследнем) столбце таблицы 3b (соответственно 3а). Отмечается следующее неравенство: mnусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!.

Как видно из таблицы 3а, многие показатели разложения числа n равны нулю. В последнем столбце таблицы 3а отмечается число усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 не равных нулю показателей в разложении n. Отсутствие разложения (и, следовательно, показателей) для n=0 указано в строке n=0 таблицы 3а знаком усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 -усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

Таблица 3а:
Разложение на степени простых чисел положительного целого числа n(n<17)
pi

n
23 5711 13mn усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
0 --- --- 0-
100 000 010
21 000 001 1
3 010 000 21
420 000 011
50 010 003 1
6 110 000 22
700 010 041
83 000 001 1
9 020 000 21
1010 100 032
110 000 105 1
12 210 000 22
1300 000 161
141 001 004 2
15 011 000 32
1640 000 011

Таблица 3b:
Разложение на степени простых чисел n!(n<17
npi

n!
235 71113 mn!
0 100 000 01
110 000 001
22 100 000 1
3 611 000 02
4243 100 002
5120 311 000 3
6 72042 100 03
750404 21 100 4
8 4032072 11 004
9362880 74 110 04
1036288008 42 100 4
11 3991680084 21 105
12479001600 105 211 05
136227020800 1052 111 6
14 8717829120011 522 116
151307674368000 116 321 16
1620922789888000 1563 211 6

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

Напомним, что частичный ранг, обозначаемый усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , дается вышеуказанным отношением (7):

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,

таким образом, что три члена можно разложить на простые числа. Речь идет о членах: (n-1-k)!, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

На основании показателей разложений (n-1-k)!, Pk и Sk путем простых сложений и вычитаний вычисляют показатели разложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

Действительно показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 простого множителя pi в разложении усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 вычисляют на основании трех показателей pi в разложениях трех членов (n-1-k)!, Pk и Sk . Показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 равен сумме показателей pi двух первых членов (числитель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ), из которой вычитают показатель pi последнего члена (знаменатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ). Это замечание можно записать в виде формулы:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

На фиг.4 показаны общие этапы (обозначенные усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 G-nусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для n-ого общего этапа), которые могут применяться в обработке в рамках настоящего изобретения как для кодирования, так и для декодирования.

Так, как показано на фиг.4, прежде всего следует отметить, что на основании текущего индекса к (этап G-1) и через промежуточные этапы, которые подробно будут описаны ниже, предусмотрена ссылка к заранее введенным в память таблицам (обозначенным Dl и Dl! на этапе G-2, представленном на фиг.4 в качестве примера) для вычисления общего показателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 по вышеуказанному отношению (10) (этап G-3), и этот показатель характерен для разложения промежуточного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 на степени простых множителей. Отсюда выводят значение промежуточного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (этап G-4), в случае необходимости реализуя петлю на индексе i, соответствующем простым множителям. Вычисление этого промежуточного ранга может сопровождаться обновлением общего ранга t перестановки (этап G-5):

- при помощи отношения типа усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для кодирования ранга с декрементацией индекса k (этап G-6),

- или при помощи отношения типа усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для декодирования ранга с инкрементаценией индекса k (этап G-6), что будет показано ниже.

В конечном счете, получают ранг t перестановки при кодировании на этапе G-7 или при декодировании (показано пунктиром на фиг.4), выводят неравенства вышеуказанной формулы (8) компонент dk вектора D на этапе G-8 и далее - компонент вектора Y при помощи вышеуказанного отношения yk=ad.

В общем случае и независимо от перечисления Шальквийка, если частичный ранг t'(t'>0) перестановки вьшидит в виде числителя Nt' членов vj(1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 jусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Nt') и знаменателя Dt' членов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 j (1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 jусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Dt') таким образом, что:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

тогда показатели усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 разложения частичного ранга t' определяют на основании промежуточных разложений, которыми являются разложения N t' vj и Dt' усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 j, что записывается как:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

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

Опять-таки в общем случае, если, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , то усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

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

Держа в уме отношение усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 вычисляют, просто перемножая соответствующие степени:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Здесь следует указать, что члены (n-1-k)! и Pk являются исключительно положительными целыми числами, но член Sk может быть равным нулю и, следовательно, не подлежать разложению. В этом случае частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 равен нулю. В этом случае следует предусмотреть тест на значение члена Sk (Sk=0?), чтобы вычисление частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 производить, только если Skусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 0, как было указано выше (этап СА-11 на фиг.3).

В целом, если усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , то усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,

и, если усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , то (t'>0)

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

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

- определение разложений на простые множители членов (таких как (n-1-k)!, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , появляющихся в ранге перестановки (в дальнейшем называемых «промежуточными разложениями») в рамках этапа G-2 на фиг.4,

- на основании этих промежуточных разложений - определение разложения на простые множители частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 перестановки, в частности, путем вычисления показателей, участвующих в разложении этого частичного ранга (например, при помощи отношения типа усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , в рамках этапа G-3 на фиг.4, и

- вычисление частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 на основании его разложения (например, используя отношение типа усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 в рамках этапа G-4 на фиг.4.

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

- разложения факториалов целого числа l (обозначаемые l!), при этом целое число l является таким, что 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n,

- и разложения самого целого числа l, но на этот раз 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n,

при этом следует напомнить, что n является максимальным размером рассматриваемых перестановочных кодов.

После этого можно идентифицировать базовое разложение по числу m, дающему:

- число m рассматриваемых простых множителей,

- сами эти простые множители m,

- и их соответствующие показатели степени.

Примеры такого подхода будут описаны ниже со ссылками на таблицы 4a-4d в рамках так называемого «разуплотненного» представления разложений. Следует указать, что так называемое «уплотненное» представление, подробно описанное ниже, состоит в сохранении в памяти простого слова, биты которого дают все показатели степени, участвующие в разложении.

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

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

Далее следует описание выбора сохраняемых в памяти базовых разложений.

В целом и независимо от метода перечисления перестановочного кода размером n, при вычислении ранга перестановки используют целые числа l(0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n) и прежде всего их факториалы l!(0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n). В предпочтительном варианте выполнения базовыми разложениями являются разложения факториалов l!(0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n) и l(1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n), где n является максимальным размером рассматриваемых перестановочных кодов, как было указано выше. Следовательно, в этом предпочтительном варианте выполнения предусматривают (2n+1) базовых разложений.

Вместе с тем, возможны и другие варианты выполнения.

Например, можно предусмотреть только (n+1) базовых разложений, а именно разложения l(1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n) и 0!. Таким образом, если для вычисления частичного ранга требуется разложение l!(l>0), его вычисляют на этапе определения промежуточных разложений на основании l базовых разложений j(1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 jусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 l) при помощи усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

И, наоборот, можно предусмотреть только (n+1) разложений l!(0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n). Если для вычисления частичного ранга необходимо разложение l(l>0), его вычисляют на этапе определения промежуточных разложений на основании двух базовых разложений l! и (l-1)! и при помощи отношения:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

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

Ниже следует описание представления разложений в соответствии с настоящим изобретением.

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

Разуплотненное представление показателей степени

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Представление факториалов l! (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n)

Число ml! простых множителей, участвующих в разложении значения l!, возрастает пропорционально числу l. Первое решение для представления разложения l!(0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n) состоит в сохранении, для каждого значения l(0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n), числа ml! и ml! показателей степеней pi (1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ml!).

Следует учитывать, что ml! показателей l! не равны нулю.

В более предпочтительном варианте набор базовых разложений разделяет одинаковое число ml! простых множителей, и в память вводят ml! показателей для каждого базового разложения, при этом показатели базового разложения l! с индексом, превышающим ml!, равны нулю. Это решение позволяет использовать таблицу показателей, предусматривая регулярное обращение к этой таблице. Вместе с тем, такой вариант выполнения требует наличия большого объема памяти. Эта таблица содержит ml!×(n+1) значений, и показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 хранится по адресу (ml!, l+(i-1)) этой таблицы, где обозначение (х, у) относится к клетке этой таблицы в строке х и в столбце у. Разумеется, можно рассматривать и другие условные ситуации. Так, вместо рассмотрения двухмерной таблицы с m столбцов и N строк, которая содержит, таким образом, m х N клеток (или элементов), можно рассматривать таблицу с размером из m×N элементов, при этом элемент, находившийся по адресу (х, у) в двухмерной таблице, оказывается по адрусу m×х+у одномерной таблицы. Показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , хранившийся по адресу (l,(i-1) двухмерной таблицы, теперь хранится по адресу (ml!×l+(i-1) одномерной таблицы. Например, показатели разложений факториалов чисел от 0 до 8 могут храниться в двухмерной таблице из 32 элементов, состоящей из 4 столбцов (столбцы pi=2, 3, 5, 7) таблицы 3b и из 9 строк (строки n=0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,8). Эти же показатели могут храниться в одномерной таблице Dl! из 36 элементов, представленной ниже (приложение А-11). Элемент по адресу (х, у) первой таблицы равен элементу по адресу Dl!: 4×х+у.

Можно дополнительно предусмотреть сохранение (n+1) значений ml!, чтобы сократить вычисления промежуточных разложений с использованием базового разложения l!.

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Представление целых чисел l(1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n)

Для представления базового разложения l(1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n) можно предусмотреть несколько решений. Первое решение состоит в сохранении, для каждого значения l, числа ml и ml показателей степени pi(1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ml) этого значения l. В варианте, можно сохранять столько же показателей, что и для l! (ml! или m n!) показателей. Базовые разложения l и l! разделяют в этом случае одинаковое число m.

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Представление других разложений, отличных от базового

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Сохранение базовых разложений

В качестве примера можно привести четыре возможных решения для сохранения и проиллюстрировать их при помощи нижеследующих таблиц 4a-4d для перестановочного кода с размером 8 (n=8), где рассматриваются четыре (m8!=4) простых числа (2, 3, 5 и 7). Эти примеры можно применить для кодера 3GPP AMR-WB+ (стандарты [3GPPTS26.273] и [3GPPTS26.304]. Этот кодер использует алгебраическое векторное квантование, словарем которого является объединение перестановочных кодов сети Gosset RE8 размером 8.

Первые три решения (таблицы 4а-4с) представляют и сохраняют базовые разложения l! одинаково. Действительно, предусматривают сохранение ml! и ml! показателей степени pi (1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ml!)l!. Они различаются в том, что касается представления и сохранения базовых разложений l. Таблица 4а показывает первое решение, предполагающее сохранение ml и m l показателей степени pi (1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ml!)l. Таблица 4b показывает второе решение, предполагающее сохранение ml! показателей степени pi (1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ml!)l.

Таблица 4а:
Первое решение для сохранения разложения на степени простых чисел l и l! для перестановочного кода размером 8 (l возрастает от 0 до 8)
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 l! усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 l усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
pi

l
23 57ml! 23 57ml
00 -- -1- --- 0
1 0-- -10 --- 1
2 1-- -11 --- 1
3 11- -20 1-- 2
4 31- -22 --- 1
5 311 -30 01- 3
6 421 -31 1-- 2
7 421 140 001 4
8 721 143 --- 1

Таблица 4b:
Второе решение для сохранения разложения на степени простых чисел l и l! для перестановочного кода размером 8 (l возрастает от 0 до 8)
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 l! lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
pi

l
23 572 357 ml!
0 0-- --- --1
10 --- 0-- -1
21- --1 --- 1
3 11- -01 --2
43 1-- 20- -2
531 1-0 01- 3
6 421 -11 0-3
74 211 000 14
872 113 000 4

Нижеследующая таблица 4с показывает третье решение, предполагающее сохранение числа усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , не равных нулю степеней pi для l, с соответствующими индексами i, а также их показателей. В представленной таблице для большей ясности указаны простые множители pi.

Таблица 4с:
Третье решение для сохранения разложения на степени простых чисел l и l! для перестановочного кода размером 8 (l возрастает от 0 до 8)
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 l! усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 l усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
pi

l
23 57ml! pi eipi' усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
0 0-- -1- --- 0
1 0-- -12 0-- 1
2 1-- -12 1-- 1
3 11- -23 1-- 1
4 31- -22 2-- 1
5 311 -35 1-- 1
6 421 -32 131 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
7 421 147 1-- 1
8 721 142 3-- 1

В четвертом решении (показанном на нижеследующей таблице 4d) представлен набор базовых разложений для числа mn!, и для каждого базового разложения (l или l!) сохраняют mn! показателей. Таблица 4d является извлечением из четырех столбцов (pi=2, 3, 5 и 7) и 9 строк (n=от 0 до 8) приведенных выше таблиц 3а и 3b.

Таблица 4d:
Четвертое решение для сохранения разложения на степени простых чисел l и l! для перестановочного кода размером 8 (l возрастает от 0 до 8)
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 l! l
pi

l
23 572 357
00 000 --- -
1 000 000 00
210 001 000
31 100 010 0
4 310 020 00
531 100 010
64 210 110 0
7 421 100 01
872 113 000

В кодере TDAC, который использует статистическое векторное квантование с переменными размером и разрешением, с максимальным размером 15, рассматриваются шесть (m15! =6) простых чисел: 2, 3, 5, 7, 11 и 13. 6 столбцов (pi =2, 3, 5, 7, 11 и 13) и 16 строк (n= от 0 до 15) таблиц 3а и 3b могут проиллюстрировать сохранение набора базовых разложений для четвертого решения.

Уплотненное представление показателей

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Уплотненное представление разложений

Для каждого простого множителя pi требуется определить верхний предел усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i максимального значения его показателя степени в числителе частичных рангов. Этот предел дает максимальное число возможных значений показателя pi, то есть усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i+1. Обозначив усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 целое число бит для двоичного представления значения (усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i+1), получаем:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (при усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 )

где усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 xусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 обозначает целое число, непосредственно старшее или равное x(усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 xусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 -1<xусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 xусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ).

Показатели разложения на простые множители члена К, участвующего в частичном ранге t', могут быть представлены в уплотненном виде словом eK из Bn бит усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , причем это слово еК является таким, что:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Обозначение ««В» представляет собой смещение влево на В бит.

Необходимо отметить, что если число n является большим, то Bn может быть больше числа бит В0, используемых для представления целых чисел (16, 32 или 40 бит). В этом случае показатели разложения на простые множители целого числа К, участвующего в t', представлены в виде М целых слов eK(m), 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 m<М (разумеется, при М>1).

Предпочтительно М слов могут быть сформированы следующим образом:

- eK(0) содержит i0 первых показателей (показатели от p1 до pi0):

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , где усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- eK(1) содержит показатели от pi0+1 до pil:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 или усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- Это последнее отношение можно распространить на любое m вплоть до составления последнего слова, которое содержит показатель степени pmn!.

Разумеется, можно предусмотреть и другие варианты. Например, в варианте можно сохранять показатель p1 отдельно и применять писанную выше обработку, начиная от показателя р2.

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Определение верхнего предела

Пределы усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i можно определять разными способами. Используя данные о перестановочном коде (размер q алфавита, весовой коэффициент wi 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q) можно четко определить максимальное значение каждого показателя степени числителя частичного ранга. Если используются несколько перестановочных кодов (возможно, разного размера), предпочтительно для каждого показателя выбирают наибольшее из максимальных значений.

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

чтобы выбрать в этом случае усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

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

В таблице 5а представлены верхние пределы максимальных значений показателей в числителях усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для размеров 8 и 15. В таблице 5b представлено число бит усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для представления этих показателей для размеров 8 и 15, а также их суммы Bn (последний столбец). При размере 8 показатель простого множителя 2 представлен на 3 битах, показатели других простых множителей (3, 5 и 7) представлены на 2 битах. При размере 15 показатель простого множителя 2 представлен на 4 битах, показатель простого множителя 3 на 3 битах, показатели других простых множителей (5, 7, 11 и 13) представлены на 2 битах.

Таблица 5а:
верхние пределы показателей степени числителей для перестановочных кодов размером 8 и 15
pi

l
2 357 1113
863 22- -
15 1473 322

Таблица 5b:
Число бит для представления показателей степени перестановочных кодов размером 8 и 15
pi

l
2 357 1113Bn
83 22 2-- 9
15 432 222 15

Таблица 6а (соответственно 6b) дает уплотненное представление показателей l и l! для размера n, равного 8 (соответственно 15).

Таблица 6а:
Уплотненное представление показателей степени для перестановочных кодов размером 8
l 012 345 678
el -01 8232 91283
el! 001 91143 52180183

Таблица 6b:
Уплотненное представление показателей степени для перестановочных кодов размером 15
l 012 345 67
el- 0116 212817 512
e l!00 117 19147164 676
l 89 101112 1314 15
el 332129 204818 8192513144
eусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 679711 8402888 29061109811611 11755

В качестве исключительно иллюстративного примера попробуем определить разложение целого числа l=12 при помощи таблицы 6b.

Предпочтительно в таблице 6b, поскольку максимальный размер кодов является n=15, показатель степени «2» представлен на 4 битах, показатель «3» - на 3 битах и другие простые множители 5, 7, 11, 13 - на 2 битах. В таблице в столбце l=12 читаем его уплотненный показатель е12=18.

Исходя из нижеприведенной таблицы, двоичным представлением 18(=16+2) на В15=15 бит является: 000 0000 0001 0010, то есть 00 00 00 00 001 0010, если перегруппировать соответствующие биты одного и того же простого числа.

i15усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 765 43 210
2i усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 6432 168 421
В двоичном представлении 18 записывается: 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 000 10 010

4 бит меньшей значимости (весовой коэффициент i= от 4 до 6) являются показателем степени простого множителя 2, то есть 0010=2, что означает, что 2 является показателем степени для простого числа 2.

Следующие 3 бит (весовой коэффициент i= от 4 до 6) являются показателем степени простого множителя 3, то есть 001=3, что означает, что 1 является показателем степени для простого числа 3.

Следующие 2 бит (весовой коэффициент i= от 7 до 8) являются показателем степени простого множителя 5, то есть 00=0.

Следующие 2 бит (весовой коэффициент i= от 9 до 10) являются показателем степени простого множителя 7, то есть 00=0.

Следующие 2 бит (весовой коэффициент i= от 7 до 12) являются показателем степени простого множителя 11, то есть 00=0.

Следующие 2 бит (весовой коэффициент i= от 13 до 14) являются показателем степени простого множителя 13, то есть 00=0.

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

Так, при размере 15 извлечение производится для 6 показателей, начиная с показателя 2.

Двоичное представление показателя степени числа 2 соответствует 4 бит малой значимости 18, то есть 0 0 1 0, что соответствует 2. Для их извлечения маскируют биты большей значимости 18 при помощи 15 (обозначается 18 & 15), что соответствует:

24-1=1 1 1 1.

Получают е12=18 & (2<<4-1)=2, и это значит, что 2 является показателем степени для простого числа 2.

Затем производят смещение 18 на 4 бит вправо и получают: 000 0000 0001=1 Двоичное представление показателя 3 соответствует 3 бит меньшей значимости 1, то есть 0 0 1 (=1). Для их извлечения маскируют биты большой значимости 1 при помощи 7 (обозначается 1 & 7 и соответствует 23-1=1 1 1).

Получают усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и это значит, что 1 является показателем степени для простого числа 3.

Затем производят смещение 1 на 2 бит вправо и получают: 0000 0000=0 для всех других бит большой значимости.

Таким образом, степенями для l=12 являются:

- 2 для простого числа 2, и

- 1 для простого числа 3,

то есть l=12=22×3 1

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Верхний предел для знаменателя

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

На практике, используя формулу Шальквийка, если q>1, значение усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 является верхним пределом максимального значения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 показателя степени знаменателя Pk(Pk усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (n-1)!, если q>1).

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

В других случаях можно четко определять усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и вычислять усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при помощи максимума усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

В случае, если q=1, понятно, что в перестановочном коде участвует только одно слово кода известного ранга (t=0), и нет необходимости производить вычисления ранга и соответствующие обратные операции. Вместе с тем, если этот частный случай обрабатывать отдельно не желательно, можно предусмотреть вычисление значения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при помощи максимума усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Нижеследующая таблица 7 иллюстрирует этот случай для n=16.

Таблица 7:
Вычисление верхнего предела числителя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 6) для перестановочных кодов размером 16
pi2 357 1113
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 32 11 11
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 116 32 11
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 148 43 22
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 156 32 11
усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 44 32 22

Далее следует краткое описание объемов памяти, необходимых для сохранения базовых разложений.

Независимо от выбранного решения для представления базовых разложений, сохранение базового разложения происходит в таблицах, и поэтому требуется обращение к этим таблицам во время операций кодирования и декодирования ранга. Хотя разложение 0 не возможно (и, кстати, не применяется), предпочтительно все же ввести в память «искусственные» показатели степени для разложения 0 (например нули или единицы) с целью упрощения вычисления адреса. В нижеследующей таблице 8 представлен объем памяти, необходимый для сохранения данных, связанных с базовыми разложениями, для пяти представленных решений по этим двум случаям (сохранение или не сохранение искусственного разложения 0).

Таблица 8.
Объем памяти, необходимый для сохранения базовых разложений
Решение 0 не сохраняетсяИскусственное сохранение 0
1 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
2 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
3 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
4 mn!×(2n+1)2mn! ×(n+1)
5 2n+1+mn!2×(n+1)+m n!

В пятом решении учитывалось сохранение (+mn!) чисел на усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 бит. Однако на практике вместо того, чтобы их считывать в памяти, их делают «схемно-заданными» (их значение зафиксировано в вычислительной программе и не считается переменной величиной), что будет показано в вариантах выполнения ниже. Поэтому на практике вводить их в память нет необходимости.

В таблице 9 представлен объем памяти, необходимый для сохранения данных, связанных с показателями разложения по этим пяти решениям для nmax=8 и 15 (с искусственным сохранением 0).

Таблица 9.
Объем памяти, необходимый для сохранения базовых разложений для перестановочных кодов размером 8 и 15
nусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 2mn!×(n+1) 2×(n+1)+mn!
854 515772 22
15 129130 12919238

Далее следует описание сохранения степеней простых множителей.

Не считая базовых разложений, в настоящем изобретении используются степени простых множителей для вычисления частичного ранга на основании его разложения. Используя таблицу этих простых множителей, можно вычислять их степени в режиме реального времени («он-лайн»). Предпочтительно степени простых чисел, отличных от 2, вычисляют заранее и вводят в память и в реальном времени вычисляют только степени 2. В нижеследующей таблице 10а представлены степени 3, 5 и 7, необходимые для перестановочного кода размером 8 (аналогично используемые в кодере AMR-WB+). В таблице 10b представлены перестановочные коды с максимальным размером 15 (используемые в кодере TDAC).

Таблица 10а:
Степени простых множителей для перестановочных кодов размером 8
ei

p i
01 23
31 3927
51 525-
71 749-

Таблица 10b:
Степени простых множителей для перестановочных кодов размером 8. Переменная Npfp обозначает число сохраняемых степеней простых множителей
pi

ei
0 12 345 67Npfp
31 39 2781243 7292187 8
5 1525 125-- --4
71 749343 -- --4
111 11121- -- --3
131 13169- -- --3

В данном случае тоже можно сохранять только необходимое число степеней для каждого простого множителя. В варианте, если предпочтительно иметь только одну регулярно посещаемую таблицу степеней, можно для каждого простого множителя предусмотреть столько же значений, сколько и необходимых степеней р22=3). Для не используемых степеней можно, разумеется, применять сохранение искусственных значений, таких как 1 или 0.

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

Существует несколько вариантов в зависимости от выбранного набора базовых разложений и от их представления. Для упрощения изложение представленных ниже возможных вариантов ограничивается случаем предпочтительного варианта выполнения для набора базовых разложений с разложениями факториалов l! и l.

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

В качестве примера обработки перечисления опять вернемся к алгоритму Шальквийка.

Разуплотненное представление показателей разложения

Пусть n будет максимальный размер используемых перестановочных кодов, и mn! - число простых множителей, участвующих в разложении величины n!.

Далее следует описание первого варианта выполнения кодирования с использованием разуплотненного представления показателей разложения

Кодирование согласно первому варианту выполнения

В данном случае показатели базовых разложений l и l! предпочтительно сохраняются в памяти согласно «четвертому» решению приведенной выше таблицы 4d с искусственным сохранением для l=0 в двух одномерных таблицах, обозначенных соответственно Dl и Dl!, содержащих ml!×(n+1) элементов. Как было указано выше, можно рассматривать также двухмерные таблицы, содержащие mn! столбцов и (n+1) строк. Поскольку показатели l сохраняются регулярно (каждый на mn! значений), операции считывания показателей базового разложения требуют вычисления адреса в таблице D l (соответственно Dl!). Для считывания показателей разложения l! (соответственно l) необходимо обратиться по адресу (l×mn!) таблицы Dl! (соответственно Dl) и найти, таким образом, адрес показателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ), при этом показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ) находится по следующему адресу (l×mn! +1), и в общем случае показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ) находится по адресу (l×mn!+i-1). Как было указано выше, в двухмерных таблицах показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (или усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ) находится по адресу ((l; (i-1)) (столбец (i-1) и строка l).

Необходимо отметить, что, если искусственное сохранение для l=0 не предусмотрено, вычислением адреса в таблице Dln базовых разложений l(l>0) является: (l-1)×m n!.

Инициализация

- Производят инициализацию на ноль mn! показателей промежуточного разложения Pk (сохраненных в таблице Р с mn! элементами, которую предпочтительно обновляют по каждой позиции, что будет показано ниже в связи с этапом С-3). Таким образом, командами являются:

- P[i]=0,1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!

- Инициализируют также на ноль ранг t и q весовых коэффициентов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (сохраненных в таблице w, содержащей q элементов, которая будет обновляться по каждой позиции (нижеследующий этап С-2)). Командами являются:

- t=0

- w[i]=0, 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q

- k=n-1

Итерации на индексе k

Чтобы проследить итерацию по n позиций (с петлей на переменной k), обратимся к фиг.5. Буквой «С» в обозначениях этапов С-n фиг.5 обозначено слово «кодирование».

На этапе С-1 считывают переменную dk. На этапе С-2 обновляют элемент dk таблицы w:w[d k]=w[dk]+1.

На этапе С-3 производят обновление показателей разложения Pk (таблица Р) и, в частности, производят:

- считывание mn! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 базового разложения w[dk] в таблице Dl по адресу mn!×w[dk] (этап С-31), и

- обновление: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn! (этап C-32).

Таким образом, для осуществления этапа С-31 первый показатель базового разложения w[dk] в таблице Dl, обозначенный усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , находится по адресу mn!×w[dk ], второй показатель, обозначенный усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , находится по адресу (mn!×w[dk ]+1), и так далее. Обычно показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 должен находиться по адресу mn!×w[d k]+i-1.

Параллельно на этапе С-4 вычисляют Sk при помощи обычного отношения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Этап С-5 является тестом на значение S k. Если Sk равно нулю (стрелка О), что предполагает, что частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 равен нулю (вышеуказанная формула (7)) и что ранг t не изменился, обработку продолжают этапом С-11. В противном случае (стрелка N при Skусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 0) обработка продолжается этапом С-6, на котором считывают mn! показателей базового разложения Sk в таблице Dl по адресу mn!×Sk .

Параллельно на этапе С-7 считывают mn! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 базового разложения (n-1-k)! в таблице Dl! по адресу mn!×(n-1-k)!. Следует учесть, что этап С-7 осуществляют, если сумма Sk не равна нулю (выход N теста С-5), таким образом, чтобы избежать бесполезного считывания в таблице Dl! если в любом случае частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 равен нулю.

На этапе С-8 результаты различных считываний в таблицах можно сгруппировать, чтобы сначала вычислить mn! показателей разложения частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при помощи отношения: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!.

Наконец, на этапе С-9 вычисляют сам частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при помощи отношения:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Следует напомнить, что член w[dk ] является весовым коэффициентом, обязательно меньшим или равным максимальному размеру n рассматриваемого перестановочного кода. Точно так же, сумма Sk таких весовых коэффициентов остается меньше максимального размера n, и это же относится, разумеется, к (n-1-к). Разложения w[dk], Sk и (n-1-k)! находятся в таблицах разложений целых чисел или факториалов целых чисел, достигающих максимального размера n, таких как таблица 4d. На основании разложения w[dk], записанного в таблицу, и разложения Pk-1 определенного на предыдущей петле (k-1) и сохраненного в памяти, определяют разложение Pk .

Исключительно в качестве примера, иллюстрирующего этапы вычисления частичного ранга, показанные на фиг.5, рассмотрим перестановочный код размером n=8 и q=4. В этом примере показатели записаны в двухмерной таблице с четырьмя столбцами и девятью строками, то есть содержащей 36 элементов. Таким образом, его можно извлечь из приведенной выше таблицы 4d, где мы имеем p i=2, 3, 5, 7 в столбцах и l=0,усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , 8 в строках.

В этом примере предполагают, что в предыдущей позиции k=3 таблица весовых коэффициентов w дает {1, 1, 0, 3} и, следовательно, Р3=1! 1 0! 3!=6. Таким образом, таблица Р показателей разложения Р3 (=21×31×50×7 0) дает {1, 1, 0, 0}.

В позиции k=2 для этапа С-1 предположим, что в результате считывания d2 =2.

В этом примере на этапе С-2 обновляют элемент w[2] путем инкрементации на 1 (w[2]=0+1=1).

На этапе С-31 считывают четыре показателя разложения 1 (=w[2]), то есть 0, 0, 0, 0 (см. в таблице 4d: 6-й - 9-й столбцы и 3-ю строку l=1).

Затем (этап С-32) обновляют таблицу Р и получают Р={1, 1, 0, 0}.

На этапе С-4 вычисляют Sk: Sk=w[0]+w[1]=1+1=2. Таким образом, Sk не равна нулю (тест С-5).

- Считывают (этап С-6) четыре показателя разложения Sk (обращаясь по-прежнему к таблице 4d: 6-й - 9-й столбцы, но 4-ю строку 1=2): для p i=2 (6-й столбец) показателем является 1, а для pi =3, 5, 7 (7-й - 9-й столбцы) показатель равен нулю.

- Считывают (этап С-7) четыре показателя разложения 5! (что соответствует (n-1-k)!), обращаясь по-прежнему к таблице 4d, но на этот раз 2-й - 5-й столбцы и 7-я строка l=5. Для pi=2 (2-й столбец) показателем является 3. Для р2=3 (3-1 столбец) показателем является 1, и для р3=5 (4-й столбец) показатель тоже равен 1. Зато для р4=7 (5-й столбец) показатель равен нулю.

- На этапе С-8 вычисляют четыре показателя разложения частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 :

- для р1=2, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- для р2=3, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- для р3=5, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- для р4=7, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

На этапе С-9 частичньш ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 вычисляют на основании показателей разложения 23 ×30×51×70=40.

Как показано на фиг.5, сам общий ранг t перестановки определяют путем обновления (с добавлением частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , найденного на этапе С-9) при помощи отношения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , на этапе С-10.

После этого этап С-11 предполагает декрементацию переменной k (k=k-1), а этап С-12 является тестом на значение к для продолжения или не продолжения обработки. Так, если kусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 0 (стрелка О на выходе теста С-12), повторяют этапы обработки, начиная с первого этапа С-1, со значением к, уменьшенным на одну единицу. В противном случае (стрелка N на выходе теста С-12) обработку заканчивают на завершающем этапе С-13 (усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ENDусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ).

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

- (n-1-k)!

- Sk и

- Pk

Определение двух из них (n-1-к)! и Sk осуществляют на этапах С-6 и С-7, и оно состоит в простом считывании в двух соответствующих таблицах базовых разложений Dl и Dl!. Определение третьего разложения (Pk) можно тоже осуществить просто на основании q базовых разложений w[d]!, считанных в таблице Dl!, при помощи отношения типа усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!.

Прямые варианты

Этап С-3 имеет более предпочтительный вариант определения этого промежуточного разложения. Действительно, промежуточное разложение Pk можно определить на основании базового разложения, считанного в таблице Dl, и другого промежуточного разложения (разложения Pk+1), вычисленного для другого частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , например, предыдущего частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 в итерации к. В целом, согласно варианту изобретения, промежуточное разложение можно вывести, по меньшей мере, из одного промежуточного разложения, ранее определенного, по меньшей мере, для одного другого частичного ранга.

Ранее, вычисление было произведено при помощи петли от последней позиции (k=n-1) до первой позиции (k=0). Однако изобретение можно применить, разумеется, для петли от первой до последней позиции. Достаточно поменять фазу инициализации и адаптировать этапы С-2 и С-3 и их порядок. Для этого таблицу весовых коэффициентов w можно инициализировать с q весовых коэффициентов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Затем для d, меняющегося от 0 до q-1, считывают m n! показателей разложения w[d]! в таблице Dl! для вычисления путем накопительного сложения mn! значений таблицы промежуточного разложения (показатели разложения Р0).

Затем, после этапа С-10 и перед этапом С-2 наступает этап С-3. Промежуточное разложение Р обновляют путем вычитания из P[i] показателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 базового разложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Затем можно осуществить этап С-2, производят декрементацию на 1 значения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Этап С-11 может предполагать инкрементацию переменной к на 1, а этап С-12 просто проверяет k=n.

Наконец, коротко можно сказать, что для перестановочных кодов с переменным размером n вместо осуществления усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 операций предпочтительно считывать mn!, при инициализации, чтобы операции осуществлять только mn! раз.

Общие версии первого варианта выполнения

В целом вариант, показанный на фиг.5 для кодирования в соответствии с настоящим изобретением, допускает много версий.

Так, в первой версии каждое базовое разложение (l или l!) тоже содержит число ml!. Считывание числа ml! (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n) имеет преимущества. Действительно, этапы С-3 и С-6 -С-10 не осуществляют mn! раз для каждого, а только:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 раз для этапа С-3,

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 раз для этапа С-6 и для сложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 на этапе С-8, и

- m(n-1-k)! раз для этапов С-7 и С-9 и для вычитания усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 на этапе С-8.

Если, кроме того, сохранили также значения ml, то остается только осуществить:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 раз этап С-3, и

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 раз этап С-6 и сложение на этапе С-8.

В другой версии кодирования, если используют также сохранение показателей базового разложения l по третьему решению (вышеуказанная таблица 4с), этап С-3 можно осуществлять для усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 значений. Точно так же, этап С-6 осуществляют для усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 значений. На этапе С-8, вместо того, чтобы предусматривать m(n-1-k)! сложений и m(n-1-k)! вычитаний, количество необходимых вычитаний остается m(n-1-k)! , но зато требуется всего усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 сложений. В частности:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , для 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 m(n-1-k)!

- и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , для усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

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

- сумма S k

- и частное усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Это частное можно обновить при помощи следующего отношения:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Таким образом, вместо определения разложения Rk на основании q+1 базовых разложений (разложений (n-1-k)! и разложений q w[d]!, считанных в таблице Dl!) определяют промежуточное разложение Rk на основании промежуточного разложения Rk+1 и базовых разложений (n-1-k) и q w[d] (эти два базовых разложения считывают в таблице Dl!,), что записывается как: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

По сравнению с предыдущими версиями вместо определения и сохранения в памяти промежуточного разложения знаменателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (таблица Р), определяют, затем сохраняют в памяти промежуточное разложение частного Rk (предусмотрев для этого таблицу R). Инициализацию на ноль таблицы Р заменяют инициализацией на ноль таблицы R показателей этого соотношения. Этап С-3 становится этапом простого обновления таблицы R (со считыванием показателей базовых разложений (n-1-k) и qw[d]), что записывают как:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Согласно факультативу сохранения, это обновление можно произвести путем mn! сложений и вычитаний или m(n-1-k)! сложений (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 вычитаний) или даже m(n-1-k) сложений (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 вычитаний), или только для показателей, не равных нулю w[dk] и (n-1-k): усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 сложений и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 вычитаний. Этап С-8 содержит только сложения типа:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Согласно факультативу сохранения, в этом случае насчитывают mn! сложений или усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 сложений, или даже усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 сложений, или только для показателей, не равных нулю S k: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 сложений.

Следует отметить, что это соотношение Rk не обязательно является целым числом, то есть показатели R[i] могут быть отрицательными. В этой версии разложение факториалов при кодировании (то есть таблица Dl!) уже не нужно, поскольку можно использовать только один простой набор (n+1) базовых разложений целых чисел l(lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n), вводя в память только таблицу Dl.

Уплотненное представление показателей разложения

Далее следует описание второго варианта кодирования, основанного на уплотненном представлении показателей разложения.

Показатели базового разложения представлены в уплотненном виде, а не в разуплотненном виде, как было описано выше в связи с первым вариантом выполнения. Для упрощения будет представлен только случай, когда уплотненное представление показателей содержится только в одном слове. Эти слова введены в память, как было указано выше, с сохранением искусственного слова при l=0 в двух таблицах, обозначенных соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 с (n+1) элементами. Вычисление адреса в этих двух таблицах для слова, содержащего показатели базового разложения, является прямым, так как для считывания слова разложения l! (соответственно l) достаточно обратиться к адресу l таблицы усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ).

Необходимо заметить, что в отсутствие сохранения искусственного слова для l=0 слово, соответствующее базовому разложению l (при l>0), находится в таблице усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 по адресу (1-1).

Кодирование согласно второму варианту выполнения Инициализация

- Инициализируют на ноль слово ер, содержащее уплотненное представление ты показателей промежуточного разложения Pk: е р=0.

Слово ер будет обновляться на каждой позиции (нижеследующий этап СС-3).

- Как и в предыдущем случае, на нулевое значение инициализируют также ранг t и q весовых коэффициентов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , сохраненных в таблице w, содержащей q элементов, которая будет обновляться на каждой позиции (нижеследующий этап СС-2). Соответствующими командами являются:

- t=0

- w[i]=0, 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q

- k=n-1

Итерация на n позициях (петля на k)

Обратимся теперь к фиг.6, чтобы проследить основные этапы кодирования в этом втором варианте выполнения, Буквы «СС» в обозначениях этапов СС-n на фиг.6 обозначают слово «кодирование» с «уплотненным представлением».

На этапе СС-1 считывают переменную dk. Этап СС-2 состоит в обновлении переменной w: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

Этап СС-3 является обновлением слова ер, и, в частности:

- на этапе СС-31 - считывание слова ew[dk], содержащего уплотненное представление показателей разложения w[dk] в таблице Dl, затем

- на этапе СС-32 - собственно обновление слова усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Параллельно на этапе СС-4 вычисляют сумму Sk: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Следующий этап СС-5 является тестом на значение S k. Если сумма Sk равна нулю (стрелка N), производят прямую декрементацию индекса k. В противном случае (стрелка О на выходе теста СС-5) обработку продолжают считыванием слова усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , содержащего уплотненное представление показателей разложения Sk в таблице усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , на этапе СС-6.

Параллельно (и предпочтительно в зависимости от результата СС-5) считывают слово e(n-1-k)! , содержащее уплотненное представление показателей (n-1-k)!, в таблице усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , на этапе СС-7.

На этапе СС-8 результаты, полученные на различных этапах СС-3, СС-6, СС-7, группируют для вычисления слова усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , содержащего уплотненное представление разложения частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , при помощи двух простых операций (предпочтительно сложения с последующим вычитанием):

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , затем усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Этап СС-9 предусматривает извлечение m n! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 разложения частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , содержащихся в слове усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , путем соответствующего смещения бит слова, как было описано выше. Для этого предусмотрена петля на индексе i, меняющемся от 1 до mn! (инициализация i на 1 на СС-91, тест СС-93 на значении i и инкрементация СС-94, пока i не достигнет значения mn!. При этом на каждой петле i применяют команды СС-92 типа:

i'1) усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

i'2) усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Следует напомнить, что обозначения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 <<bусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 >>bусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 обозначают соответственно смещение влево и смещение вправо на b бит. Кроме того, обозначение усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 &усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 обозначает побитовый логический оператор «И». Команда i'l) предусматривает извлечение усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 бит малой значимости из усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . На практике маски, соответствующие команде усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 являются схемно-заданными.

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

Затем:

- смещают биты усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 на усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 «вправо», чтобы получить биты большей значимости, дающие показатели, связанные с простым множителем согласно р 2 (маска усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ) бит большой значимости,

- затем извлекают показатель усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ,

- после этого применяют смещение на усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 бит вправо,

и так далее до i=mn! .

На следующем этапе СС-10 вычисляют частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 следующим образом:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

После этого частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 прибавляют к общему рангу t (усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 на этапе СС-11).

На следующем этапе СС-12 производят декрементацию индекса k (k=k-1) и, прежде чем возобновить этапы СС-4, СС-1, СС-7 и следующие с этим декрементированным значением, при помощи теста СС-13 проверяют, не достигло ли значение k-1 (k<0), и в этом случае обработка завершена (этап СС-14).

Таким образом, независимо от представления разложений, настоящее изобретение позволяет эффективно вычислять частичные ранги. Этап СС-10 предусматривает вычисление частичного ранга на основании его разложения, завершенного на предыдущих этапах СС-8 и СС-9. Используют три промежуточных разложения (членов (n-1-k)!, Sk и Pk). Определение двух из них ((n-1-k)! и Sk), произведенное на этапах СС-6 и СС-7, состоит в простом считывании их уплотненного представления в таблицах усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Определение третьего промежуточного разложения (P k), осуществляемое на этапе СС-3, тоже требует считывания из таблицы усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 с последующим обновлением уплотненного представления этого промежуточного разложения путем добавления уплотненного представления базового разложения, которое было считано.

Как было указано выше в связи с первым вариантом выполнения, сохранение в памяти значений ml! (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 n) позволяет уменьшить сложность этапов СС-9 и СС-10. Петлю извлечения показателей разложения частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 осуществляют m(n-1-k)! раз вместо mn! раз. Точно так же, этап СС-10 содержит не mn! умножений, a m(n-1-k)! умножений.

Далее следует описание декодирования ранга перестановки с применением настоящего изобретения. Здесь тоже существует несколько версий в зависимости от решения представления базовых разложений (разуплотненное или уплотненное). Ниже следует описание первого варианта декодирования, аналогичного описанному выше первому варианту выполнения для кодирования с использованием разуплотненного представления разложений и их сохранения согласно четвертому решению, связанному с приведенной выше таблицей 4d. Как будет показано, изобретение идеально применяется для декодирования ранга перестановки, для чего в качестве примера будет взят алгоритм Шальквийка.

Декодирование согласно первому варианту выполнения

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

Инициализация

- Инициализируют таблицу значений w с q весовых коэффициентов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (w обновляют в конце петли на каждой позиции этапа D-19, который будет описан ниже). Соответствующей командой может быть:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q

- Вычисляют mn! показателей разложения члена (Р0 (сохраненных в таблице Р, содержащей mn! элементов и тоже обновляемой по каждой позиции в конце петли на каждой позиции на этапе D-18, описанного ниже). Соответствующими командами могут быть:

- P[i]=0 для 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!

- Петля от d=0 до q-1

- считывание mn! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 разложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 в таблице Dl!.

- затем усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!

- Наконец, инициализируют k=0.

Далее обратимся к фиг.7, чтобы проследить основные этапы декодирования согласно первому варианту выполнения. Буква «D» в обозначениях этапов D-n на фиг.7 обозначает слово «декодирование».

Итерация на n позициях (петля на индексе k)

Первый этап D-1 состоит в считывании mn! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 разложения (n-1-k)! в таблице Dl!.

На следующем этапе D-2 устанавливают значения dk=0 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

После этого производят поиск первого значения dk из алфавита, при котором w[dk ]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 0. Для этого предусматривают тест D-3, проверяющий w[d k]=0 и, если да (стрелка О) производят инкрементацию значения dk (dk=dk+1) и повторяют тест D-3 до нахождения значения w[dk], не равного нулю. Если такое значение найдено (стрелка N при w[dk]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 0), следующий тест является тестом D-5 на значение ранга t. Если ранг равен нулю (стрелка О на выходе теста D-5), применение следующих этапов является бесполезным до обновления показателей Pk (этап D-18). Если ранг не равен нулю (стрелка N на выходе теста D-5), обработка продолжается на следующих этапах D-6 и D-7, на которых устанавливают соответственно Sk =0 и промежуточное значение Ik на усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

Следующий этап D-8 является вычислением обновления суммы Sk=Sk+w[dk]. За ним следует считывание из таблицы Dl (этап D-9) mn! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 разложения найденной суммы Sk.

Этап D-10 предусматривает вычисление mn! показателей разложения частичного ранга на основании отношения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!. Показатели P[i], инициализированные, как было описано выше, обновляются на этапе D-18, который будет описан ниже, в конце текущей петли и для следующей петли.

Этап D-11 предусматривает вычисление ранга из: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Три следующих этапа предусматривают тест на значение общего ранга t, сравнивая его со значением частичного ранга. Для этого на этапе D-12 инкрементируют значение d k (dk=dk+1), и тест D-13 является: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ?

Если неравенство установлено (стрелка О), этапы D-7 - D-13 повторяют с новым инкрементированным значением dk. Если нет (стрелка N), обработка продолжается этапом D-14 декрементации значения dk (dk=d k-1), чтобы вернуться к значению dk до этапа D-12. При этом значении dk частичный ранг усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 принимает вышеуказанное промежуточное значение Ik (этап D-15: усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ). После этого обновляют ранг t, который становится усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (этап D-16), и обновляют показатели Pk (в таблице Р) при помощи считывания mn! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 разложения w[dk] в таблице Dl (этап D-17), после чего производят собственно обновление показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при 1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 mn!(этап D-18). Затем производят декрементацию значения w[dk] (w[dk]=w[dk]-1: этап D-19) и производят

инкрементацию значения индекса k (k=k+1: этап D-20), чтобы подготовить следующую петлю.

До замыкания петли на первом этапе D-1 проверяют, все ли n компонент были обработаны. Для этого предусматривают тест D-21 на значение k, сравнивая его с n (k<n). Если индекс k не достиг значения n (стрелка О теста D-21), обработку возобновляют с этапа D-1 для следующего значения k. В противном случае (стрелка N на выходе теста D-21), обработку завершают на конечном этапе D-22.

Следует учитывать, что этап D-11 предусматривает вычисление частичного ранга с использованием разложения, определенного на этапе D-10 на основании трех промежуточных разложений последовательных членов (n-1-k)!, Sk и Pk. Определение двух из них ((n-1-k)! и Sk), произведенное на этапах D-1 и D-9, состоит в простом считывании в соответствующих таблицах Dl! и Dl. Определение третьего промежуточного разложения (Pk), произведенное на этапе D-18, тоже осуществляют считыванием из таблицы Dl (этап D-17) с последующим обновлением показателей считанного базового разложения (этап D-18). Описанная выше инициализация этого промежуточного разложения требует q считываний из таблицы Dl с последующим обновлением показателями этого промежуточного разложения путем добавления показателей считанных q базовых разложений.

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

Одна версия состоит в использовании показателей соотношения Rk (что было описано выше) и является наиболее предпочтительной. Действительно в описанной выше со ссылками на фиг.7 обработке декодирования для данной позиции k вычисляют показатели усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 для нескольких значений d. Для каждого проверяемого значения d другие версии требуют для каждого показателя вычитания и сложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Вместе с тем, версия, использующая показатели отношения Rk, требует всего одного сложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , так как для данной позиции к меняются только сумма S k и ее показатели усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

Декодирование согласно второму варианту выполнения

Далее со ссылками на фиг.8 следует описание примера выполнения декодирования с использованием уплотненного представления разложений.

Предварительно предусматривают инициализацию данных следующим образом.

Инициализация

- Обратимся сначала к таблице w с q элементами для определения членов усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 при 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q.

- Вычисляют слово ер , содержащее уплотненное представление mn! показателей разложения Pk - Для этого:

- устанавливают ер=0

- и предусматривают петлю от d=0 до q-1:

- со считыванием слова усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , содержащего уплотненное представление mn! показателей усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 в таблице усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

- и с обновлением усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

- После этого устанавливают k=0.

Итерация на n позициях (петля на k)

Буквы «DC» в обозначениях этапов DC-1 на фиг.8 обозначают слово «декодирование» с «уплотненным представлением».

На этапе DC-1 считывают слово е(n-1-k)!, содержащее уплотненное представление mn! показателей члена (n-1-k)! в таблице усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 .

Этапы DC-2 - DC-8 аналогичны этапам D-2 - D-8, описанным выше со ссылками на фиг.7.

Что же касается этапа DC-9, то считывают слово усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , содержащее уплотненное представление mn! показателей суммы Sk в таблице усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Затем на этапе DC-10 вычисляют слово, содержащее уплотненное представление показателей частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , предпочтительно следующим образом:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 затем усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

В целом общий этап DC-11 состоит в извлечении показателей частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Для этого предусматривают:

- петлю на i (1усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 iусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ml!) (инициализация i=1 на этапе DC-Ill и после описанного ниже извлечения показателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (этап DC-112) - сравнение (тест DC-113) индекса петли i со значением mn!, с инкрементацией индекса i (этап DC-114) пока не будет достигнуто значение mn!);

- извлечение показателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (этап DC-112):

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

при этом указанное маскирование сопровождается смещением вправо на усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 бит уплотненного показателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 :

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Этот общий этап DC-11 аналогичен общему этапу СС-9 фиг.6 для кодирования.

Этапы DC-12 - DC-17 аналогичны этапам D-11 - D-16, описанным выше со ссылками на фиг.7 в связи с декодированием в разуплотненном представлении.

На зато обновление показателей Pk (таблица Р) на общем этапе DC-18 происходит на этапе DC-181 путем считывания слова усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , содержащего уплотненное представление mn! показателей w[dk] в таблице усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , и собственно обновление показателей Pkусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 осуществляют затем на этапе DC-181.

После этого, этапы DC-19 - DC-22 аналогичны этапам D-19 - D-22 фиг.7 для декодирования с использованием разуплотненного разложения.

Далее будут показаны различные преимущества, обеспечиваемые вышеуказанными версиями.

Версии первого варианта выполнения с разуплотненным представлением, в котором используют таблицы ml! (и/или ml или усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ), содержат меньше операций сложения/вычитания, чем основной вариант, в котором используют только таблицы значений mn! .

В этом случае выигрыш в сложности является значительным, особенно для последних позиций (то есть когда m (n-k)!, усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 или ml намного меньше, чем mn!). Тем не менее, этот вьшгрыш в сложности сопровождается возрастанием сложности этапов считывания в памяти (этапы С-31, С-6 и С-7). Число считываемых значений стало меньше, но зато вычисление адреса становится сложнее.

Интересным компромиссом является регулярное сохранение в памяти базовых разложений (с mn! показателей) для облегчения обращения к таблицам Dl и Dl! и сохранение значений ml в таблице Dm с (n+1) элементами. В этом случае следует сохранять также значения ml; для эффективного уменьшения числа сложений/вычитаний. Однако эта мера сопровождается обязательным считыванием значений усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (соответственно усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ) перед этапами С-6 и D-9 (соответственно С-3 и D-19), тогда как значение m(n-k)! необходимо считывать только в начале каждой итерации на k.

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

- этап обновления таблицы Р в данном случае содержит только одно сложение (соответственно вычитание) при кодировании (соответственно при декодировании),

- вычисление показателя усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 тоже требует только одного сложения и только одного вычитания,

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

Вместе с тем, уплотненное представление требует извлечения показателей частичного ранга усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , содержащихся в слове усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (этапы СС-9 и DC-11). Однако эта операция не обязательно является недостатком для вычисления частичного ранга на основании его разложения на простые множители, что будет показано ниже.

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

Сложность этапа вычисления произведения степеней простых множителей в рамках этапов С-9 и СС-10 (соответственно D-11 и DC-12) при кодировании (соответственно при декодировании) существенно возрастает с числом множителей, даже если она остается гораздо ниже сложности деления в соответствии с известными решениями. Однако на практике многие показатели разложения частичного ранга равны нулю и, следовательно, соответствующие степени равны 1. Часто все показатели равны нулю, или только первые показатели не равны нулю. Поэтому необходимо иметь возможность выявлять и сохранять только степени показателей, не равных нулю. В подробном представлении это выявление можно осуществить только при помощи mn! тестов или m(n-1-k)! тестов (или через простой множитель).

Предпочтительно уплотненное представление позволяет проверить при помощи всего одного теста, все ли показатели равны нулю усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и в этом случае ранг t'=1.

Кроме того, выявление бита большой значимости et' позволяет получить индекс наибольшего простого множителя не равного нулю показателя в ранге t' и сократить число повторений петли этапа СС-9 (соответственно DC-11) при кодировании (соответственно при декодировании).

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

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

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

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

Кодер 3GPP AMR-WB+

Кодер 3GPP AMR-WB+ (стандарт [3GPPTS26.304]) использует алгебраическое векторное квантование, словарем которого является объединение перестановочных кодов сети Gosset RE8 с размером 8.

Технология ТСХ соответствует кодированию с предсказанием при помощи трансформанты. В частности, речь идет о методе кодирования при помощи трансформанты FFT, применяемом после фильтрования перцептивного взвешивания. В стандарте [3GPPTS26.304] полученный спектр FFT делят на субполосы (или субвекторы) размером n=8, и эти субвекторы кодируют раздельно. При квантовании субвекторов используют правильную сеть точек RE8. Словари квантования по размеру 8 содержат объединение перестановочных кодов типа I, полученных из точечной сети RE 8.

В кодере ТСХ согласно стандарту [3GPPTS26.304] каждый перестановочный код соответствует данному вектору-лидеру со знаком по размеру n=8. Индекс квантования точки сети RE 8 вычисляют при помощи формулы типа:

индекс = смещение кардинальности + ранг перестановки

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 Low-complexity multi-rate lattice vector quantization with application to wideband TCX speech coding at 32 kbit/sусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , Ragot S., Bessette В., Lefebvre R., Proc. ICASSP, том 1, май 2004, стр.501-4.

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

В этих примерах выполнения и соответствующих приложениях таблицы R и Р индексированы от R[0] до R[mn!-1] и от Р[0] до P[mn!-1] (а не от 1 до mn!, как было указано в качестве примера выше), причем без какого-либо особенного влияния на обработку для вычисления ранга.

Первый пример выполнения (кодирование)

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

Их показатели записывают в две таблицы с 36 элементами (=(8+1)×4). Речь идет о таблицах, приведенных в приложении А-11 и обозначенных Dl [36] (содержащих показатели разложений целых чисел l (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 8), то есть с сохранением искусственного разложения для 0) и Dl! [36] (содержащих показатели разложений их факториалов). В память вводят также три таблицы степеней 3, 5 и 7:

Pow3[4]={1, 3, 9, 27}; Pow5[3]={1, 5, 25}; Pow7[3]={1, 7, 49}

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

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Как было указано выше, вместо определения промежуточного разложения Rk на основании базовых разложений, соответствующих (q+1) базовых разложений (7-k)! и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , это промежуточное разложение определяют из промежуточного разложения Rk+1 и двух базовых разложений (7-к) и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Четыре показателя этого промежуточного разложения записаны в таблице R.

Таблица 11:
Максимум ml или ml! для разложений членов частичного ранга в позиции k и для перестановочных кодов размером 8
k(7-k)! m(7-k)! усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537
7 011 100
61 121 11
5 21 322 1
43 24 232
34 253 42
2 53 635 3
16 37 463
07 484 74

Изобретение использует знание m(7-k)! и максимальных значений усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 и усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , указанных для каждой позиции в вышеуказанной таблице 11, чтобы не вычислять показатели степени простых множителей с индексами, превышающими эти пределы.

Соответствующая обработка представлена в приложении А-12. Отмечается, что петля на позициях является разуплотненной. Отмечается также, что показатель простого множителя pi частного сохранен в элементе R[i-1] таблицы из 4 элементов.

Второй пример выполнения (кодирование)

В варианте с кодером 3GPP AMR-WB+базовые разложения представлены в уплотненном виде. Слова, содержащие их показатели, записывают в таблицы с 9 элементами (=(8+1)). Как видно из приложения А-21, таблица D'l содержит слова для разложений целых чисел l (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 8) (то есть с искусственным сохранением разложения для l=0), а таблица усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 содержит слова для разложений их факториалов.

Сохраняют также степени 3, 5 и 7 в таблице Pow[12] с 12 элементами (с искусственным сохранением 0 для не используемых степеней).

Разложение частичного ранга определяют на основании трех промежуточных разложений, два из которых являются базовыми разложениями целого числа Sk и факториала (7-k)!, а третье - промежуточным разложением знаменателя частичного ранга:

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Как было указано выше, вместо определения промежуточного разложения Pk на основании q базовых разложений усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 , это разложение определяют на основании промежуточного разложения Pk+1 и базового разложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Уплотненное слово, содержащее четыре показателя этого промежуточного разложения, обозначено «еР» в приложении А-22. Кроме того, «el» обозначает уплотненное слово, содержащее четыре показателя разложения частичного ранга.

Здесь тоже используют знание m(7-k)!, чтобы извлекать только m(7-k)! показателей уплотненного слова, представляющего разложение частичного ранга.

Соответствующая обработка представлена в приложении А-22. В данном случае петля по позициям тоже является разуплотненной.

Третий пример выполнения (декодирование)

Третий пример выполнения относится к декодированию ранга перестановки при кодировании в 3GPP AMR-WB+.

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

Как было указано выше, вместо определения промежуточного разложения P k на основании базовых разложений его определяют на основании промежуточного разложения Pk-1 и базового разложения усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 . Четыре показателя этого промежуточного разложения записаны в таблице Р. Точно так же, на основании промежуточного разложения Pk и базового разложения (7-к)! вычисляют другое промежуточное разложение (разложение частного), показатели которого записаны в таблице R.

Соответствующая обработка представлена в приложении А-3. Отмечается, что показатель простого множителя pi частного (соответственно произведения) записан в элементе R[i-1] (соответственно P[i-1]) таблицы R (соответственно Р) с четырьмя элементами.

Таким образом, в вышеуказанном первом примере используют разложение частичного ранга на два члена (из которых один является частным), а в двух других примерах используют разложение на три члена (два из которых для числителя и один для знаменателя). Вариант для декодирования использует только m8!(=4) членов, тогда как два варианта для кодирования используют раздельную обработку позиций для использования ml! или ml членов, которые не считываются, а являются «схемно-заданными» в алгоритме, с разуплотнением на 8 позициях точки сети Gosset.

Пример выполнения для кодера TDAC

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

Кодер TDAC использует статическое векторное квантование с переменными размером и разрешением и с максимальным размером 15.

В случае перестановочных кодов правильной сетки точек RE8 с размером 8 изобретение в основном позволяет снизить сложность. Что же касается кодера TDAC, который использует перестановочные коды с размером более 12, изобретение оказалось очень эффективным, так как оно не только позволяет снизить сложность, но также обеспечивает реализацию кодера на процессорах с фиксированной запятой, максимальная точность которых ограничена 32-битовыми целыми числами без знака. Без изобретения это было бы очень трудно осуществить.

Принцип этого кодера заключается в следующем.

Аудиосигнал, ограниченный по полосе 7 кГц и дискретизированный по 16 кГц, делят на блоки по 320 образцов (20 мс). Применяют модифицированную дискретную трансформанту по косинусу (или усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 MDCTусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ) для блоков входного сигнала по 640 образцов с перекрыванием 50% (что соответствует обновлению анализа MDCT каждые 20 мс). Спектр ограничивают по 7225 Гц, устанавливая на ноль 31 последних коэффициентов (в этом случае только 289 первых коэффициентов отличаются от 0). Кривую маскировки определяют из этого спектра, и все маскируемые коэффициенты устанавливают на ноль. Спектр делят на 32 полосы неравной ширины. Возможные маскированные полосы определяют в зависимости от трансформированных коэффициентов сигналов. Для каждой полосы спектра вычисляют энергию коэффициентов MDCT (чтобы произвести оценку масштабных множителей). 32 масштабных множителя образуют огибающую спектра сигнала, которую затем квантуют, кодируют и передают в блок. Динамическое распределение базовых бит на кривой маскирования на полосу вычисляют на основании деквантованной версии огибающей спектра таким образом, чтобы достичь совместимости между двоичным распределением кодера и декодера. После этого нормализованные в каждой полосе коэффициенты MDCT квантуют при помощи векторных кванторов, использующих словари, распределенные по размеру, при этом словари состоят из объединения перестановочных кодов типа II. Наконец, информация по тональности и звонкости, а также огибающая спектра и кодированные коэффициенты уплотняют и передают в виде блока.

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

В данном случае базовые разложения представлены в уплотненном виде. Вводят в память слова, содержащие их показатели, в две таблицы с шестнадцатью элементами (=(15+1)). В приложении В-1 таблица усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 содержит слова для разложений целых чисел / (0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 lусовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 15), а таблица усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 содержит слова для разложений их факториалов.

Сохраняют также степени 3 в таблице с восемью элементами (обозначенной Pow3) и степени 5, 7, 11 и 13 в таблице (обозначенной Pow) с двадцатью элементами (с искусственным сохранением 0 для не используемых степеней).

Соответствующая обработка представлена в приложении В-2.

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

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

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

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

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

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

- модуль вычисления PROC, имеющий доступ к этому запоминающему устройству MEM для осуществления способа в соответствии с настоящим изобретением.

Эти средства MEM, PROC могут быть предусмотрены:

- для получения ранга t перестановки на основании выбранного вектора-кода у (стрелки в виде сплошной линии на фиг.9):

- в модуле индексации кодера источника или о в модуле индексации декодера канала,

- или для получения вектора-кода у, воспроизводимого на основании ранга перестановки (стрелки в виде пунктирной линии на фиг.9):

- в модуле декодирования декодера источника или

- в модуле кодирования кодера канала.

Разумеется, представления, заранее записанные в запоминающем устройстве MEM, могут быть в виде содержания адресов (разуплотненное представление) или в виде битовых слов (уплотненное представление).

ПРИЛОЖЕНИЯ

A-11

Dl [36]={

0, 0, 0, 0,

0, 0, 0, 0,

1, 0, 0, 0,

0, 1, 0, 0,

2, 0, 0, 0,

0, 0, 1, 0,

1, 1, 0, 0,

0, 0, 0, 1,

3, 0, 0, 0};

Dl![36]={

0, 0, 0, 0, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 0!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

0, 0, 0, 0, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 1!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

1, 0, 0, 0, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 2!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

1, 1, 0, 0, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 3!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

3, 1, 0, 0, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 4!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

3, 1, 1, 0, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 5!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

4, 2, 1, 0, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 6!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

4, 2, 1, 1, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 7!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

7, 2, 1, 1, /усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 8!усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 /

};

А-12

Инициализация:

- t=0

- w[i]=0, 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q

- R[0]=0

Обработка позиций

- Позиция k=7:

- d7=d[7]; w[d7]=1

- Позиция k=6:

- d=d[6]; w[d]=w[d]+1

- If(d=d7) и тогда R[0]=1

в противном случае, если (d>d7)t=1

- Позиция k=5:

- d=d[5]; w[d]=w[d]+1

- R[0]=R[0]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 2]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]]

- R[1]=-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+1]

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- i2=R[0]+D l[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S]

- t=t+(1<<i2)

- Позиции k=4 затем 3:

- d=d[k];w[d]=w[d]+1

- R[0]=R[0]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]]

- R[1]+R[1]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)+1]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+1]

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- i2=R[0]+D l[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S]

- i3=R[1]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+1]

- t=t+pow3[i3]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1<<i2)

- R[2]=-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+2]

- Позиции k=2 затем 1:

- d=d[k]; w[d]=w[d]+1

- R[0]=R[0]+Dl [4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]]

- R[1]=R[1]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)+1]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+1]

- R[2]=R[2]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)+2]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+2]

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- i2=R[0]+D l[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S]

- i3=R[1]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+1]

- i5=R[2]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+2]

- t=t+pow5[i5]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow3[i3]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1<<i2)

- R[3]=-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+3]

- Позиция k=0:

- d=d[0]; w[d]=w[d]+1

- R[0]=R[0]+Dl [4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 7]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]]

- R[l]=R[1]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 7+1]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+1]

- R[2]=R[2]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 7+2]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+2]

- R[3]=R[2]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 7+3]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+3]

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- i2=R[0]+D l[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S]

- i3=R[l]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+1]

- i5=R[2]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+2]

- i7=R[3]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+3]

- t=t+pow7[i7]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow5[i5]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow3[i3]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1<<i2)

А-21

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

Pow[12]={

1, 3, 9, 27,

1, 5, 25, 0,

1, 7, 49, 0};

А-22

Инициализация:

- t=0

- w[i]=0, 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q

- eP=0

Обработка позиций

- Позиция k=7:

- d7=d[7]; w[d7]=1

- Позиция k=6:

- d=d[6];w[d]=w[d]+1

- Если (d=d7), то еР=1

в противном случе, если (d>d7)t=1

- Позиция k=5:

- d=d[5]; w[d]=w[d]+1

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- i2=i2-eP

- t=t+(1<<i2)

- Позиции k=4 затем 3:

- d=d[k]; w[d]=+1

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- eI=eI-еР

- i2=eI&(0×7)

- i3=eI>>3

- t=t+pow[i3]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1<<i2)

- Позиции k=2 затем 1:

- d=d[kw[d]=w[d]+1

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- eI=eI-еР

- i2=eI&(0×7)

- el=eI>>3

- i3=eI&(0×3)

- eI=eI>>2

- i5=eI&(0×3)

- t=t+pow[4+i5]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow[i3]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1«i2)

- Позиция k=0:

- d=d[0]; w[d]=w[d]+1

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- eI=eI-еР

- i2=eI&(0×7)

- el=eI>>3

- i3=eI&(0×3)

- el=eI>>2

- i5=eI&(0×3)

- eI=eI>>2

- i7=eI&(0×3)

- t=t+pow[8+i7]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow[4+i5]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow[i3]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1<<i2)

A-3

Инициализация:

- Петля от i=0 до 3, P[i]=Dl![4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[0]+i]

- Петля от d=1 до q-1:

- Петля от i=0 до 3, P[i]=p[i]+Dl![4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+i]

Обработка позиций

- Петля от k=0 до 7:

- Петля от i=0 до 3: R[i]=D l![4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)+i]-P[i]

- I=0

- d=0

- Повторить, пока w[d]=0, d=d+1

- R[0]=R[0]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]]

- R[1]=R[1]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)+1]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+1]

- R[2]=R[2]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (7-k)+2]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+2]

- S=0

- Повторить, пока (t-I>0)

- I'=1

- S=S+w[d]

- i2=R[0]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S]

- i3=R[1]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+1]

- i5=R[2]+Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 S+2]

- i7=R[3]+Dl[4*S+3]

- I=pow7[i7]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow5[i5]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 pow3[i3]усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 (1<<i2)

- d=d+1

- d=d-1

- I=I'

- t=t-I

- Петля от i=0 до 3, P[i]=P[i]-Dl[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 w[d]+i]

- w[d]=w[d]-1

- x[k]=a[d]

B-1

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 ;

Pow3[8]={1, 3, 9, 27, 81, 243, 729, 2187}

Pow[4усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 5]={1, 5, 25, 125, 625, 1, 7, 49, 343, 0, 1, 11, 121, 0, 0, 1, 13, 169, 0, 0}

В-2

Инициализация:

- t=0

- w[i]=0, 0усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 i<q

- eP=0

Обработка позиций

- Позиция k=n-1:

- dn1=d[n-1]; w[dn1]=1

- Позиция k=n-2

- d=d[n-2]; w[d]=w[d]+1

- Если (d=dn1), то еР=1

- Если (d>dn1) t=1

- Позиции от k=n-3 до 0:

- d=d[k]

- w[d]=+1

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- S=0; петля от j=0 до d-1: S=S+w[j]

- Тест на S>0; если да:

- t'=1

- усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537

- eI=eI-еР

- Тест на (eI>0); если да

- 12=eI&(0×F)

- Pow[0]=1;

- mI=0

- i3=(eI>>4)&0×7

- if(i3>0)

- pow[0]=Pow3[i3]

- mI=mI+1

- eI=eI>>7

- ifeI>0

- mI'=(16-norm_s(eI))>>1

- петля от j=0 до mI'

- i=eI&0×3

- ifi>0

- ifi>0

- pow[mI]=Pow[i+5усовершенствованное кодирование/декодирование цифровых сигналов,   в частности, при векторном квантовании с перестановочными кодами, патент № 2494537 j]

- mI=mI+1

- eI=eI>>2

- петля от i=0 до (mI-1):t'=t'×pow[i]

- t'=t'<<i2

- t=t+t'

Класс H03M7/30 уплотнение; расширение; подавление излишней информации, например сокращение избыточности

система и способ сжатия мультитипотокового видео с использованием множества форматов кодирования -  патент 2524845 (10.08.2014)
способ передачи и приема информации -  патент 2510942 (10.04.2014)
система передачи и приема информации -  патент 2510941 (10.04.2014)
система передачи и приема информации -  патент 2510940 (10.04.2014)
способ обработки цифрового файла, в частности, типа изображения, видео и/или аудио -  патент 2510150 (20.03.2014)
способ кодирования/декодирования звука и система векторного квантования решетчатого типа -  патент 2506698 (10.02.2014)
кодирование банковского перевода -  патент 2500068 (27.11.2013)
способ сжатия изображения -  патент 2500067 (27.11.2013)
способ сжатия двоичных данных в виде структурированных информационных блоков -  патент 2497277 (27.10.2013)
усовершенствованное кодирование/декодирование цифровых сигналов, в частности, при векторном квантовании с перестановочными кодами -  патент 2494536 (27.09.2013)