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

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