ПОИСК ФОРМЫ ПИРАМИДАЛЬНОГО ВЕКТОРНОГО КВАНТОВАТЕЛЯ

1. Способ для поиска формы пирамидального векторного квантователя, PVQ, выполняемый кодером, при этом PVQ берет целевой вектор x в качестве ввода и выводит вектор y посредством итеративного добавления единичных импульсов во внутреннем цикле поиска по размерности, при этом способ содержит:
до входа в следующий внутренний цикл поиска по размерности для добавления единичного импульса:
maxamp
y
y
- определение (102, 204), на основе максимальной амплитуды импульса, , текущего вектора y, того, необходима ли большая, чем текущая битовая длина слова, чтобы представлять, способом без потерь, переменную, enloop, относящуюся к накопленной энергии y, в наступающем внутреннем цикле по размерности (103).
2. Способ по п. 1, в котором способ дополнительно содержит:
до входа в следующий внутренний цикл по размерности для добавления единичного импульса:
max
xy
- определение (203), на основе максимального абсолютного значения, xabs, входного вектора, x, возможного сдвига вверх, в битовом слове, накопленного значения корреляции внутри цикла следующего цикла, corr, между x и вектором y.
3. Способ по п. 1, дополнительно содержащий:
y
когда необходима большая, чем текущая битовая длина слова (102, 204, 304, 403), чтобы представлять enloop:
y
- выполнение (103, 205, 305, 404) вычислений внутреннего цикла с использованием более длинной битовой длины слова, чтобы представлять enloop.
4. Способ по п. 1, дополнительно содержащий:
y
когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop:
xy
2
- выполнение (305) вычислений внутреннего цикла с использованием более длинной битовой длины слова, чтобы представлять возведенное в квадрат накопленное значение корреляции внутри цикла, corr, между x и вектором y, во внутреннем цикле.
y
5. Способ по п. 1, дополнительно содержащий, когда отсутствует необходимость большей, чем текущая битовая длина слова, чтобы представлять enloop:
y
- выполнение (405) вычислений внутреннего цикла посредством использования первого цикла добавления единичного импульса с использованием первой битовой длины слова, чтобы представлять enloop, и:
y
когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop:
y
- выполнение (404) вычислений внутреннего цикла посредством использования второго цикла добавления единичного импульса с использованием более длинной битовой длины слова, чтобы представлять enloop, нежели первого цикла добавления единичного импульса.
y
6. Способ по п. 1, дополнительно содержащий, когда отсутствует необходимость большей, чем текущая битовая длина слова, чтобы представлять enloop:
- выполнение (405) вычислений внутреннего цикла посредством использования первого цикла добавления единичного импульса, имеющего некоторую точность, и:
y
когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop:
- выполнение (404) вычислений внутреннего цикла посредством использования второго цикла добавления единичного импульса, имеющего более высокую точность, нежели первого цикла добавления единичного импульса.
y
y
y
7. Способ по п. 1, в котором определение на основе maxamp, того, необходима ли большая, чем текущая битовая длина слова, чтобы представлять enloop, содержит определение характеристик случая, когда, в наступающем внутреннем цикле поиска, единичный импульс добавляется к положению в y, которое ассоциировано с maxamp.
8. Способ по п. 1, дополнительно содержащий:
во внутреннем цикле поиска по размерности для добавления единичного импульса:
best
- определение положения, n, в y для добавления единичного импульса посредством расчета перекрестного умножения, для каждого положения n в y, корреляции и значения энергии для текущего n; и возведенной в квадрат корреляции, BestCorrSq и значения энергии, bestEn, сохраненных из предыдущих значений n, как:
xy
y
2
corr * bestEn > BestCorrSq * enloop,
где
xy
y
2
, когда corr * bestEn > BestCorrSq * enloop
9. Способ по п. 1, дополнительно содержащий:
maxamp
y
- отслеживание , когда окончательное значение K, ассоциированное с целевым вектором x, превосходит пороговое значение.
10. Кодер, сконфигурированный для поиска формы пирамидального векторного квантования, PVQ; при этом PVQ берет целевой вектор x в качестве ввода и выводит вектор y посредством итеративного добавления единичных импульсов во внутреннем цикле поиска по размерности, при этом кодер сконфигурирован с возможностью:
до входа в следующий внутренний цикл поиска по размерности для добавления единичного импульса:
maxamp
y
y
- определять на основе максимальной амплитуды импульса, , текущего вектора y, то, необходима ли большая, чем текущая битовая длина слова, чтобы представлять, способом без потерь, переменную, enloop, относящуюся к накопленной энергии y, в наступающем внутреннем цикле по размерности.
11. Кодер по п. 10, который дополнительно сконфигурирован с возможностью:
до входа в следующий внутренний цикл по размерности для добавления единичного импульса:
max
xy
- определять, на основе максимального абсолютного значения, xabs, входного вектора, x, возможный сдвиг вверх, в битовом слове, накопленного значения корреляции внутри цикла следующего цикла, corr, между x и вектором y.
12. Кодер по п. 10, который дополнительно сконфигурирован с возможностью:
y
y
- выполнять вычисления внутреннего цикла с использованием более длинной битовой длины слова, чтобы представлять enloop, когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop.
13. Кодер по п. 10, который сконфигурирован с возможностью:
y
- выполнять вычисления внутреннего цикла посредством использования первого цикла добавления единичного импульса с использованием первой битовой длины слова, когда отсутствует необходимость большей, чем текущая битовая длина слова, чтобы представлять enloop, и:
y
- выполнять вычисления внутреннего цикла посредством использования второго цикла добавления единичного импульса с использованием более длинной битовой длины слова, нежели первого цикла добавления единичного импульса, когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop.
14. Кодер по п. 10, который дополнительно сконфигурирован с возможностью:
y
- выполнять вычисления внутреннего цикла посредством использования первого цикла добавления единичного импульса, имеющего некоторую точность, когда отсутствует необходимость большей, чем текущая битовая длина слова, чтобы представлять enloop; и
y
- выполнять вычисления внутреннего цикла посредством использования второго цикла добавления единичного импульса, имеющего более высокую точность, нежели первого цикла добавления единичного импульса, когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop.
y
y
y
15. Кодер по п. 10, в котором определение на основе maxamp, того, необходима ли большая, чем текущая битовая длина слова, чтобы представлять enloop, сконфигурировано с возможностью содержать определение характеристик случая, когда, в наступающем внутреннем цикле поиска, единичный импульс добавляется к положению в y, которое ассоциировано с maxamp.
16. Кодер по п. 10, который дополнительно сконфигурирован с возможностью:
во внутреннем цикле поиска по размерности для добавления единичного импульса:
best
- определять положение, n, в y для добавления единичного импульса посредством расчета перекрестного умножения, для каждого положения n в y, корреляции и значения энергии для текущего n; и корреляции, BestCorrSq, и значения энергии, bestEn, сохраненных из предыдущих значений n, как:
xy
y
2
corr * bestEn > BestCorrSq * enloop,
где
xy
y.
2
, когда corr * bestEn > BestCorrSq * enloop
maxamp
y
17. Кодер по п. 10, который дополнительно сконфигурирован с возможностью отслеживать , когда количество окончательных единичных импульсов, K, ассоциированное с целевым вектором x, превосходит пороговое значение.
18. Устройство связи, содержащее кодер по любому из пп. 9-17.
19. Носитель, содержащий компьютерную программу, содержащую инструкции, которые, когда исполняются на, по меньшей мере, одном процессоре, предписывают упомянутому, по меньшей мере, одному процессору выполнять способ по любому из пп. 1-8.
20. Носитель по п. 19, причем, по меньшей мере, один из упомянутого, по меньшей мере, одного процессора является цифровым сигнальным процессором, DSP, например, DSP с фиксированной точностью.
21. Кодер (1100, 2), сконфигурированный для поиска формы пирамидального векторного квантования, PVQ; при этом PVQ берет целевой вектор x в качестве ввода и выводит вектор y посредством итеративного добавления единичных импульсов во внутреннем цикле поиска по размерности, при этом кодер содержит первый блок (1106, U4) определения для:
до входа в следующий внутренний цикл поиска по размерности для добавления единичного импульса:
maxamp
y
y
- определения на основе максимальной амплитуды импульса, , текущего вектора y, того, необходима ли большая, чем текущая битовая длина слова, чтобы представлять, способом без потерь, переменную, enloop, относящуюся к накопленной энергии y, в наступающем внутреннем цикле по размерности.
22. Кодер по п. 21, дополнительно содержащий второй блок (U2) определения для, до входа в следующий внутренний цикл по размерности для добавления единичного импульса,
max
xy
- определения на основе максимального абсолютного значения, xabs, входного вектора, x, возможного сдвига вверх, в битовом слове, накопленного значения корреляции внутри цикла следующего цикла, corr, между x и вектором y.
y
y
23. Кодер по п. 21, дополнительно содержащий блок (1107, U6) точного поиска для выполнения вычислений внутреннего цикла с использованием более длинной битовой длины слова, чтобы представлять enloop, когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop.
24. Кодер по п. 21, содержащий блок (1107, U6) точного поиска для:
y
- выполнения вычислений внутреннего цикла посредством использования первого цикла добавления единичного импульса с использованием первой битовой длины слова, когда отсутствует необходимость большей, чем текущая битовая длина слова, чтобы представлять enloop, и:
y
- выполнения вычислений внутреннего цикла посредством использования второго цикла добавления единичного импульса с использованием более длинной битовой длины слова, нежели первого цикла добавления единичного импульса, когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop.
25. Кодер по п. 21, содержащий блок (1107, U6) точного поиска для:
y
- выполнения вычислений внутреннего цикла посредством использования первого цикла добавления единичного импульса, имеющего некоторую точность, когда отсутствует необходимость большей, чем текущая битовая длина слова, чтобы представлять enloop; и
y
- выполнения вычислений внутреннего цикла посредством использования второго цикла добавления единичного импульса, имеющего более высокую точность, нежели первого цикла добавления единичного импульса, когда необходима большая, чем текущая битовая длина слова, чтобы представлять enloop.
y
y
y
26. Кодер по п. 21, который сконфигурирован с возможностью выполнять определение на основе maxamp, того, необходима ли большая, чем текущая битовая длина слова, чтобы представлять enloop, посредством определения характеристик случая, когда, в наступающем внутреннем цикле поиска, единичный импульс добавляется к положению в y, которое ассоциировано с maxamp.
best
27. Кодер по п. 21, содержащий блок (1107, U6) точного поиска для, во внутреннем цикле поиска по размерности для добавления единичного импульса, определения положения, n, в y для добавления единичного импульса посредством вычисления перекрестного умножения, для каждого положения n в y, корреляции и значения энергии для текущего n; и корреляции, BestCorrSq, и значения энергии, bestEn, сохраненных из предыдущих значений n, как:
xy
y
2
corr * bestEn > BestCorrSq * enloop,
где
xy
y
2
, когда corr * bestEn > BestCorrSq * enloop
maxamp
y
28. Кодер по п. 21, дополнительно содержащий блок (U3) хранения для отслеживания , когда количество окончательных единичных импульсов, K, ассоциированное с целевым вектором x, превосходит пороговое значение.
29. Устройство связи, содержащее кодер по любому из пп. 21-28.