способ сжатия и восстановления речевых сообщений
Классы МПК: | G10L21/00 Обработка сигналов речи для получения иного слышимого или неслышимого сигнала, например визуального, осязаемого, для того, чтобы модифицировать их качество или их разборчивость |
Автор(ы): | Тюлегенев Алексей Олегович (RU) |
Патентообладатель(и): | НОВОЧЕРКАССКОЕ ВЫСШЕЕ ВОЕННОЕ КОМАНДНОЕ УЧИЛИЩЕ СВЯЗИ (ИНСТИТУТ СВЯЗИ) (RU) |
Приоритеты: |
подача заявки:
2006-11-07 публикация патента:
10.01.2009 |
Изобретение относится к системам передачи информации по цифровым каналам связи. Для сжатия и восстановления речевого сигнала предварительно на передаче и на приеме идентично генерируют F>1 случайных квадратных матриц размером m×m элементов, значения которых принадлежат диапазону квантованных дискретных отсчетов речевого сигнала, и G>1 случайных ключевых матриц размерами N×m и m×N единичных и нулевых элементов, формируют две матрицы разрешенных кодовых групп размерами m2r ×m1r единичных и нулевых элементов, где r=1, 2. Затем из одномерного аналогового речевого сигнала формируют исходную матрицу размером N×N элементов и преобразуют ее к цифровому виду. При этом прямоугольные матрицы размерами N×m, m×N и вектор размером М единичных и нулевых элементов, являющиеся цифровым представлением исходной матрицы, формируют из элементов строк матриц разрешенных кодовых групп. Далее элементы этих матриц и вектора передают по цифровому каналу связи. На приемной стороне в принятых прямоугольных матрицах и векторе исправляют ошибки и производят восстановление речевого сигнала. Способ особенно подходит для ведения телефонных переговоров по цифровым каналам связи со скоростью 8-16 кбит/с. Технический результат - повышение качества восстановления речевых сообщений при обеспечении исправления ошибок, возникающих в передаваемых цифровых последовательностях под влиянием нестабильности параметров канала связи, позволяющее осуществлять ведение телефонных переговоров по низкоскоростным цифровым каналам связи. 5 з.п. ф-лы, 9 ил.
Формула изобретения
1. Способ сжатия и восстановления речевых сообщении, заключающийся в том, что предварительно идентично до начала сеанса связи на передающей и приемной сторонах формируют R матриц разрешенных кодовых групп размерами m2r×m 1r единичных и нулевых элементов, где r=1, 2, ..., R, и генерируют случайную квадратную матрицу размером m×m элементов, каждый элемент которой принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, затем при ведении сеанса связи на передающей стороне дискретизируют аналоговый речевой сигнал, квантуют дискретные отсчеты, формируют исходную матрицу размером N×N элементов, формируют из элементов R матриц разрешенных кодовых групп прямоугольные матрицы размерами N×m и m×N единичных и нулевых элементов и передают по каналу связи прямоугольные матрицы, а на приемной стороне принимают прямоугольные матрицы из канала связи, исправляют в них ошибки, восстанавливают исходную матрицу и преобразуют ее в аналоговый речевой сигнал, отличающийся тем, что до начала сеанса связи на передающей и приемной сторонах формируют две (R=2) таких матрицы, а при ведении сеанса связи на передающей стороне прямоугольные матрицы размерами N×m и m×N единичных и нулевых элементов формируют из элементов только первой матрицы кодовых групп, а также дополнительно предварительно до начала сеанса связи на передающей и приемной сторонах идентично генерируют еще F-1, где F>1, случайных квадратных матриц размером m×m элементов, каждый элемент которых принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, и формируют G>1 случайных ключевых матриц размером N×m и G>1 случайных ключевых матриц размером m×N единичных и нулевых элементов, далее при ведении сеанса связи на передающей стороне при формировании прямоугольных матриц размерами N×m и m×N формируют вектор размером М единичных и нулевых элементов из элементов второй матрицы разрешенных кодовых групп, затем этот вектор передают по цифровому каналу связи вместе с прямоугольными матрицами, а на приемной стороне при ведении сеанса связи дополнительно принимают вектор из канала связи и перед восстановлением исходной матрицы исправляют в нем ошибки.
2. Способ по п.1, отличающийся тем, что для формирования каждой r-той, где r принимает значение 1 или 2, матрицы разрешенных кодовых групп размером m 2r×m1r единичных и нулевых элементов значения m22 и m12 для второй матрицы (r=2) назначают большими, чем соответствующие значения m21 и m11 для первой матрицы (r=1) разрешенных кодовых групп, а для исправления ошибок в принятых из канала связи прямоугольных матрицах размерами N×m и m×N единичных и нулевых элементов последовательно выбирают каждую m11·p 1-группу элементов, из которых сформированы эти матрицы, определяют j-тую строку, где j=1, 2, ..., m21 , первой матрицы разрешенных кодовых групп, у которой расстояние Хэмминга от выбранной m11·p 1-группы минимально, и если минимальное расстояние Хэмминга меньше величины m11/4, то каждому элементу выбранной m11·p1 -группы присваивают значение соответствующего элемента j-той строки первой матрицы разрешенных кодовых групп, иначе выбранную m11·p1-группу элементов сохраняют неизменной, а для исправления ошибок в принятом из канала связи векторе размером М элементов последовательно выбирают каждую m12·p 2-группу элементов этого вектора, определяют j-тую строку, где j=1, 2, ..., m22, второй матрицы разрешенных кодовых групп, у которой расстояние Хэмминга от выбранной m 12·p2-группы минимально и каждому элементу выбранной m12·p 2-группы присваивают значение соответствующего элемента j-той строки второй матрицы разрешенных кодовых групп.
3. Способ по п.1, отличающийся тем, что для формирования при ведении сеанса связи прямоугольных матриц размерами N×m и m×N и вектора размером М единичных и нулевых элементов из значений элементов строк соответствующих матриц разрешенных кодовых групп предварительно до начала сеанса связи на передающей и приемной сторонах идентично генерируют случайный вектор из m элементов, каждый элемент которого принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, и из значений элементов строк второй матрицы разрешенных кодовых групп формируют матрицу разрешенных векторов размером Н×М при условии, что H=(F·G), далее на передающей стороне сначала из значений элементов строк первой матрицы разрешенных кодовых групп предварительно формируют матрицу разрешенных кодовых комбинаций размером W×m, после чего формируют матрицу предварительных оценок размером W×W×G×F, затем при ведении сеанса связи формируют оптимальную матрицу соответствия размерами 2×N, для чего на передающей стороне назначают значение f=0, значение показателя ошибки назначают равным бесконечно большому числу и F раз выполняют большой цикл, в котором назначают значения f=f+1, g=0 и G раз выполняют малый цикл, в котором назначают значение g=g+1, значение промежуточного показателя ошибки назначают равным бесконечно большому числу, формируют матрицу соответствия размерами 2×N, каждый элемент которой равен единице, и выполняют итерационный цикл, в котором назначают значение n1=0 и N раз выполняют первый внешний цикл, в котором назначают значения n 1=n1+1, w1=0 и W раз выполняют первый внутренний цикл, в котором назначают значения w1=w1+1, значение n1-ого элемента первой строки матрицы соответствия назначают равным w1 и вычисляют промежуточный показатель ошибки в виде суммы квадратов разностей между каждым i1j 1-тым элементом исходной матрицы размером N×N и i 2j2gf-тым элементом матрицы предварительных оценок размером W×W×G×F, где i 1=1, 2, ..., N, j1=1, 2, ..., N, i2 принимает значение i 1-ого элемента первой строки матрицы соответствия, a j 2 принимает значение j1-того элемента второй строки матрицы соответствия, после чего текущее значение промежуточного показателя ошибки вычитают из минимального из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле, и если полученная разность больше нуля, то значение n1-го элемента первой строки матрицы соответствия сохраняют, иначе значение этого элемента назначают равным его предыдущему значению, а затем назначают значение n2=0 и N раз выполняют второй внешний цикл, в котором назначают значения n2 =n2+1, w2=0 и W раз выполняют второй внутренний цикл, в котором назначают значения w2=w2+1, значение n2-го элемента второй строки матрицы соответствия назначают равным w2 и вычисляют промежуточный показатель ошибки в виде суммы квадратов разностей между каждым i1j1-тым элементом исходной матрицы размером N×N и i2 j2gf-тым элементом матрицы предварительных оценок размером W×W×G×F, где i 1=1, 2, ..., N, j1=1, 2, ..., N, i2 принимает значение i 1-того элемента первой строки матрицы соответствия, a j 2 принимает значение i-того элемента второй строки матрицы соответствия, затем текущее значение промежуточного показателя ошибки вычитают из минимального из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле, и если полученная разность больше нуля, то значение n 2-го элемента второй строки матрицы соответствия сохраняют, иначе значение этого элемента назначают равным его предыдущему значению, далее в итерационном цикле минимальное из всех значений промежуточного показателя ошибки, ранее полученных в текущем итерационном цикле, вычитают из минимального из всех значений промежуточного показателя ошибки, ранее полученных до начала текущего итерационного цикла в текущем малом цикле, и если полученная разность больше нуля, то итерационный цикл повторяют, иначе выполнение итерационного цикла прекращают и в малом цикле минимальное из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле, вычитают из значения показателя ошибки и если полученная разность больше нуля, то назначают значения f0=f, g0=g значения элементов оптимальной матрицы соответствия размерами 2×N назначают равными значениям соответствующих элементов матрицы соответствия размерами 2×N, а значение показателя ошибки назначают равным минимальному из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле, далее после завершения выполнения всех вышеуказанных циклов определяют значение h=(f0-1)·G+g 0, затем значения элементов вектора размером М назначают равными значениям соответствующих элементов h-той строки матрицы разрешенных векторов размером Н×М, значения элементов каждой i-той строки прямоугольной матрицы размером N×m, где i=1, 2, ..., N, назначают равными значениям соответствующих элементов той строки матрицы разрешенных кодовых комбинаций размером W×m, номер которой равен значению i-го элемента первой строки оптимальной матрицы соответствия, а значения элементов каждого i-того столбца прямоугольной матрицы размером m×N, где i=1, 2, ..., N, назначают равными значениям соответствующих элементов той строки матрицы разрешенных кодовых комбинаций размером W×m, номер которой равен значению i-того элемента второй строки оптимальной матрицы соответствия, а для восстановления исходной матрицы размером N×N элементов на приемной стороне сначала определяют h-тую строку, где h=1, 2, ..., Н, матрицы разрешенных векторов размером Н×М, у которой расстояние Хэмминга от принятого из канала связи и исправленного вектора размером М единичных и нулевых элементов равно нулю, и определяют значения f 0 и g0, где g0 =1, 2, ..., G, f0=1, 2, ..., F, из условия h=(f0-1)·G+g0 , затем формируют суммарные матрицы размерами N×m и m×N элементов путем суммирования по модулю два элементов принятых из канала связи и исправленных прямоугольных матриц размерами N×m и m×N элементов с соответствующими элементами g 0-тых ключевых матриц размерами N×m и m×N элементов соответственно, после чего преобразуют полученные суммарные матрицы размерами N×m и m×N элементов путем деления элементов каждой строки суммарной матрицы размером N×m элементов на сумму единиц соответствующей строки и деления элементов каждого столбца суммарной матрицы размером m×N элементов на сумму единиц соответствующего столбца, перемножают диагональную матрицу размером N×N, у которой каждый nn-й диагональный элемент равен сумме произведений элементов n-й строки, где n=1, 2, ..., N, суммарной матрицы размером N×m элементов на соответствующие элементы случайного вектора из m элементов, а остальные элементы равны нулю, с полученной после преобразования суммарной матрицей размером N×m элементов, с ранее идентично сформированной на передающей и приемной сторонах f0-той случайной квадратной матрицей размером m×m элементов, с полученной после преобразования суммарной матрицей размером m×N элементов и с диагональной матрицей размером N×N, у которой каждый nn-й диагональный элемент равен сумме произведений элементов случайного вектора из m элементов на соответствующие элементы n-го столбца суммарной матрицы размером m×N, а остальные элементы равны нулю.
4. Способ по п.3, отличающийся тем, что для формирования матрицы разрешенных векторов размером Н×М единичных и нулевых элементов сначала определяют значение р 2=1, 2, ... из условий M=m12·p 2 и Н=(m22)р2 , затем образуют все Н возможных сочетаний m12 ·p2-групп путем присоединения друг к другу р2 различных или идентичных m 12·p2- групп, каждая из которых идентична одной из строк второй матрицы разрешенных кодовых групп, а значения элементов каждой строки матрицы разрешенных векторов размером Н×М назначают равными значениям соответствующих элементов одного из Н образованных сочетаний m 12·p2-групп, при этом каждое образованное сочетание m12·p 2-групп используют для формирования только одной строки матрицы разрешенных векторов размером Н×М.
5. Способ по п.3, отличающийся тем, что для формирования матрицы разрешенных кодовых комбинаций сначала определяют значение p 1=1, 2, ... из условий m=m11·р 1 и W=(m21)p2 , затем образуют все W возможных сочетаний m11 ·p1-групп путем присоединения друг к другу p1 различных или идентичных m 11·p1-групп, каждая из которых идентична одной из строк первой матрицы разрешенных кодовых групп, а значения элементов каждой строки матрицы разрешенных кодовых комбинаций размером W×m единичных и нулевых элементов назначают равными значениям соответствующих элементов одного из W образованных сочетаний m11·p1 -групп, при этом каждое образованное сочетание m 11·р1-групп используют для формирования только одной строки матрицы разрешенных кодовых комбинаций размером W×m.
6. Способ по п.3, отличающийся тем, что для формирования каждой из G случайных ключевых матриц размером N×m единичных и нулевых элементов сначала генерируют первую строку этой матрицы, затем остальные строки назначают поэлементно равными первой, для формирования каждой из G случайных ключевых матриц размером m×N сначала генерируют первый столбец этой матрицы, а остальные столбцы назначают поэлементно равными первому, а для формирования матрицы предварительных оценок размером W×W×G×F вычисляют значения каждого ijgf-того элемента этой матрицы, где i=1, 2, ..., W, j=1, 2, ..., G, g=1, 2, ..., G, f=1, 2, ..., F, для чего сначала формируют вектор-строку размером m элементов, в котором каждый элемент получают путем сложения по модулю два элементов i-той строки матрицы разрешенных кодовых комбинаций размером W×m с соответствующими элементами первой строки g-той случайной ключевой матрицы размером N×m, и вектор-столбец размером m элементов, в котором каждый элемент получают путем суммирования по модулю два элементов первого столбца g-той случайной ключевой матрицы размерами m×N с соответствующими элементами j-той строки матрицы разрешенных кодовых комбинаций, затем перемножают вектор-строку с f-той случайной квадратной матрицей размером m×m и с вектором-столбцом, полученное после перемножения значение делят на произведение числа единиц в векторе-строке и числа единиц в векторе-столбце, полученное после деления значение умножают на сумму произведений элементов случайного вектора с соответствующими элементами вектора-строки и на сумму произведений элементов случайного вектора с соответствующими элементами вектора-столбца.
Описание изобретения к патенту
Изобретение относится к области электросвязи, а именно к области систем передачи информации по цифровым каналам связи. В частности, предлагаемый способ может быть использован для передачи речевых сообщений по цифровым каналам связи со скоростью 8-16 кбит/с и может быть отнесен к классу способов кодирования формы речевого сигнала.
Известны способы кодирования речевого сигнала на основе дельта-модуляции, адаптивной дельта-модуляции, импульсно-кодовой модуляции, дифференциальной импульсно-кодовой модуляции, метода блочного кодирования с ортогональным преобразованием, см., например, книгу: М.В.Назаров, Ю.Н.Прохоров. Методы цифровой обработки и передачи цифровых сигналов. - М.: Радио и связь, 1985, с.142-160. Недостатком перечисленных выше способов-аналогов является относительно низкая информационная эффективность, под которой понимается достижение определенного качества восстановления речевой информации при заданной скорости передачи. В рассмотренных способах-аналогах приемлемое качество восстановления речевой информации достигается при скорости передачи более 16 кбит/с.
Известен также способ, описанный в патенте России №2152646 А, МПК G10L 3/02 от 10.07.2000 г., который включает идентично выполняемую до начала сеанса связи на передающей и приемной сторонах предварительную генерацию случайной квадратной матрицы размером m×n элементов, каждый элемент которой принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, выполняемые при ведении сеанса связи дискретизацию аналогового речевого сигнала, квантование дискретных отсчетов, формирование исходной матрицы размером N×N элементов, формирование прямоугольных матриц размерами N×m и m×N единичных и нулевых элементов, передачу прямоугольных матриц по каналу связи, прием их на приемной стороне из канала связи, восстановление исходной матрицы размером N×N элементов и преобразование ее в аналоговый речевой сигнал. При этом для формирования исходной матрицы ее элементам присваиваются значения квантованных дискретных отсчетов речевого сигнала.
Общим недостатком перечисленных выше способов-аналогов является относительно низкая устойчивость к ошибкам в цифровом канале связи. Это проявляется в существенных искажениях в восстановленном речевом сигнале при относительно малых коэффициентах ошибок, возникающих под влиянием нестабильности параметров канала связи и представляющих собой инверсию символов в передаваемых цифровых последовательностях.
Наиболее близким по своей технической сущности к заявленному способу сжатия и восстановления речевых сообщений является способ, описанный в патенте России №2244963, МПК G10L 3/02 от 20.01.2005 г.
Известный способ-прототип включает предварительно идентично выполняемые до начала сеанса связи на передающей и приемной сторонах формирование R 1 матриц разрешенных кодовых групп размерами m 2r×m1r единичных и нулевых элементов, где r=1, 2,...,R, и генерацию случайной квадратной матрицы размером m×m элементов, каждый элемент которой принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, выполняемые при ведении сеанса связи на передающей стороне дискретизацию аналогового речевого сигнала, квантование дискретных отсчетов, формирование исходной матрицы размером N×N элементов, формирование из элементов R матриц разрешенных кодовых групп прямоугольной матрицы размером N×m и прямоугольной матрицы размером m×N единичных и нулевых элементов, передачу по каналу связи прямоугольных матриц, и на приемной стороне прием прямоугольных матриц из канала связи, исправление в них ошибок, восстановление исходной матрицы и преобразование ее в аналоговый речевой сигнал.
Формирование прямоугольных матриц размерами N×m и m×N единичных и нулевых элементов из элементов R матриц разрешенных кодовых групп выполняют из условия, что где количество групп элементов, называемых -группами, -й строки или -го столбца соответствующих матриц, формируемых из элементов строк r-й матрицы разрешенных кодовых групп, Выбор значения для -й строки прямоугольной матрицы размером N×m не зависит от выбора значения для -го столбца прямоугольной матрицы размером m×N элементов.
Для формирования каждой r-той матрицы разрешенных кодовых групп размером m2r×m 1r единичных и нулевых элементов сначала каждую i-ю строку, где i=1, 2,...,m2r/2, r-й матрицы разрешенных кодовых групп, формируют в виде i-й дискретной функции Уолша из упорядоченного множества m2r/2 дискретных функций Уолша длины m1r, где m 1r=2u и u=3, 4,..., затем в каждой сформированной строке всем элементам, равным - 1, присваивают значение 0 и каждую (i+m2r/2)-ю строку r-той матрицы разрешенных кодовых групп формируют путем инверсии каждого элемента i-той строки этой же матрицы, а на приеме для исправления ошибок в принятых из канала связи прямоугольных матрицах размерами N×m и m×N единичных и нулевых элементов последовательно выбирают каждую -группу элементов каждой -той строки принятой прямоугольной матрицы размером N×m и каждую -группу элементов каждого -того столбца принятой прямоугольной матрицы размером m×N элементов, определяют j-тую строку, где j=1, 2,...,m 2r, r-той матрицы разрешенных кодовых групп, у которой расстояние Хэмминга от выбранной -группы минимально, и если минимальное расстояние Хэмминга меньше величины m1r/4, то каждому элементу выбранной -группы присваивают значение соответствующего элемента j-той строки r-той матрицы разрешенных кодовых групп, иначе выбранную -группу элементов принятых из канала связи прямоугольных матриц сохраняют неизменной.
Для формирования прямоугольных матриц размерами N×m и m×N элементов, у которых соответственно строки и столбцы сформированы из значений элементов строк R матриц разрешенных кодовых групп, на передающей и приемной сторонах идентично генерируют случайный вектор из m элементов, каждый элемент которого принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, случайную ключевую матрицу размерами N×m и случайную ключевую матрицу размерами m×N единичных и нулевых элементов. Затем каждому элементу каждой -группы каждой -й строки прямоугольной матрицы размером N×m элементов и каждой -группы каждого -го столбца прямоугольной матрицы размером m×N элементов присваивают значение соответствующего элемента первой строки r-й матрицы разрешенных кодовых групп, после чего формируют суммарные матрицы размерами N×m и m×N элементов путем суммирования по модулю два элементов прямоугольных матриц размерами N×m и m×N элементов с соответствующими элементами случайных ключевых матриц размерами N×m и m×N элементов соответственно. Далее преобразуют полученные суммарные матрицы размерами N×m и m×N элементов путем деления элементов каждой строки суммарной матрицы размером N×m элементов на сумму единиц соответствующей строки и деления элементов каждого столбца суммарной матрицы размером m×N элементов на сумму единиц соответствующего столбца. Затем формируют промежуточную матрицу размером N×N элементов путем перемножения диагональной матрицы, у которой каждый nn-й диагональный элемент равен сумме произведений элементов n-й строки, где n=1, 2,...,N, суммарной матрицы размером N×m элементов на соответствующие элементы случайного вектора из m элементов, а остальные элементы равны нулю, с полученной после преобразования суммарной матрицей размером N×m элементов, с ранее идентично сформированной на передающей и приемной сторонах случайной квадратной матрицей размером m×m элементов, с полученной после преобразования суммарной матрицей размером m×N элементов и с диагональной матрицей, у которой каждый nn-й диагональный элемент равен сумме произведений элементов случайного вектора из m элементов на соответствующие элементы n-го столбца суммарной матрицы размером m×N элементов, а остальные элементы равны нулю. После перемножения матриц вычисляют показатель ошибки в виде суммы квадратов разностей между элементами полученной в результате перемножения промежуточной матрицы размером N×N элементов и соответствующими элементами исходной матрицы размером N×N. Затем выполняют итерационный цикл. Для этого последовательно в каждой -группе элементов прямоугольных матриц одновременно всем элементам присваивают значения соответствующих элементов поочередно каждой j-й строки r-й матрицы разрешенных кодовых групп, при этом остальные -группы сохраняют неизменными, и формируют суммарные матрицы размерами N×m и m×N элементов путем суммирования по модулю два элементов полученных после изменения элементов -группы прямоугольных матриц размерами N×m и m×N элементов с соответствующими элементами случайных ключевых матриц размерами N×m и m×N элементов соответственно. Полученные суммарные матрицы размерами N×m и m×N элементов преобразуют путем деления элементов каждой строки суммарной матрицы размером N×m элементов на сумму единиц соответствующей строки и деления элементов каждого столбца суммарной матрицы размером m×N элементов на сумму единиц соответствующего столбца. Далее формируют промежуточную матрицу размером N×N элементов путем перемножения диагональной матрицы, у которой каждый nn-й диагональный элемент сумме произведений элементов n-й строки суммарной матрицы размером N×m элементов на соответствующие элементы случайного вектора из m элементов, а остальные элементы равны нулю, с полученной после преобразования суммарной матрицей размером N×m элементов, с ранее идентично сформированной на передающей и приемной сторонах случайной квадратной матрицей размером m×m элементов, с полученной после преобразования суммарной матрицей размером m×N элементов и с диагональной матрицей, у которой каждый nn-й диагональный элемент равен сумме произведений элементов случайного вектора из m элементов на соответствующие элементы n-го столбца суммарной матрицы размером m×N элементов, а остальные элементы равны нулю. Затем вычисляют показатель ошибки в виде суммы квадратов разностей между элементами полученной в результате перемножения промежуточной матрицы размером N×N элементов и соответствующими элементами исходной матрицы размером N×N элементов и вычитают вычисленное значение показателя ошибки из его ранее вычисленного значения. Если полученная разность больше нуля, то сохраняют новые значения элементов изменяемой -группы и показателя ошибки, иначе сохраняют предыдущие значения элементов изменяемой -группы прямоугольных матриц и показателя ошибки. Затем последнее сохраненное в итерационном цикле значение показателя ошибки вычитают из последнего значения показателя ошибки, полученного до начала этого итерационного цикла, и если полученная разность больше нуля, то итерационный цикл повторяют. Сформированные в результате ряда итераций прямоугольные матрицы размерами N×m и m×N элементов передаются по каналу связи. На приемной стороне для восстановления исходной матрицы размером N×N элементов формируют суммарные матрицы размерами N×m и m×N элементов путем суммирования по модулю два элементов принятых из канала связи и исправленных прямоугольных матриц размерами N×m и m×N элементов с соответствующими элементами случайных ключевых матриц размерами N×m и m×N элементов соответственно. Затем преобразуют полученные суммарные матрицы размерами N×m и m×N элементов путем деления элементов каждой строки суммарной матрицы размером N×m элементов на сумму единиц соответствующей строки и деления элементов каждого столбца суммарной матрицы размером m×N элементов на сумму единиц соответствующего столбца. Далее перемножают диагональную матрицу, у которой каждый nn-й диагональный элемент равен сумме произведений элементов n-й строки суммарной матрицы размером N×m элементов на соответствующие элементы случайного вектора из m элементов, а остальные элементы равны нулю, с полученной после преобразования суммарной матрицей размером N×m элементов, с ранее идентично сформированной на передающей и приемной сторонах случайной квадратной матрицей размером m×m элементов, с полученной после преобразования суммарной матрицей размером m×N элементов и с диагональной матрицей, у которой каждый nn-й диагональный элемент равен сумме произведений элементов случайного вектора из m элементов на соответствующие элементы n-го столбца суммарной матрицы размером m×N элементов, а остальные элементы равны нулю.
Для формирования исходной матрицы размером N×N элементов предварительно формируют вектор спектральных коэффициентов из Z элементов, где Z N2, путем дискретного косинусного преобразования кодируемого блока из Z квантованных дискретных отсчетов речевого сигнала и выбирают N2 элементов вектора спектральных коэффициентов, из которых формируют исходную матрицу. При этом каждому ее элементу A Ll, где L=1, 2,...,N и l=1, 2,...,N, присваивают значение z-го элемента вектора спектральных коэффициентов, z-й номер которого определяют в соответствии с выражением: z=L+N·(l-1)+D, где D=0, 1,...,10. Ha приемной стороне для преобразования восстановленной исходной матрицы в аналоговый речевой сигнал сначала преобразуют восстановленную исходную матрицу в вектор из Z спектральных коэффициентов, у которого значения N2 элементов равны значениям элементов восстановленной исходной матрицы размером N×N элементов, а остальные Z-N2 элементов равны нулю, и затем восстанавливают аналоговый речевой сигнал путем обратного дискретного косинусного преобразования полученного вектора из Z спектральных коэффициентов.
Способ-прототип позволяет при заданной пропускной способности канала связи исправлять ошибки и тем самым обеспечить сравнительно высокое качество восстановления речевых сообщений при передаче цифровых последовательностей по каналу связи с относительно большим коэффициентом ошибок.
Недостатком способа-прототипа является относительно низкое качество восстановления сообщений при передаче цифровых последовательностей по каналу без ошибок или по каналу с малым коэффициентом ошибок. Это объясняется следующим.
Во-первых, для кодирования исходной матрицы с целью исправления ошибок используются только разрешенные кодовые комбинации длины m, число которых по сравнению с числом всех возможных комбинаций той же длины тем меньше, чем больше ошибок может быть исправлено в этих комбинациях на приемной стороне. Ограничение на разрешенность кодовых комбинаций приводит к резкому сокращению числа разрешенных вариантов цифрового представления исходной матрицы и к снижению вероятности разрешенности оптимального из всех возможных вариантов.
Во-вторых, использование одной случайной ключевой матрицы размером N×m и одной случайной ключевой матрицы размером m×N, которые для кодирования каждого очередного блока дискретных отсчетов речевого сигнала идентично генерируются на передаче и приеме, не приводит к существенному повышению качества восстановления, поскольку фактически при кодировании исходной матрицы число разрешенных вариантов ее цифрового представления не увеличивается.
Технической задачей является повышение качества восстановления речевых сообщений при обеспечении исправления ошибок, возникающих в передаваемых цифровых последовательностях под влиянием нестабильности параметров канала связи, позволяющее осуществлять ведение телефонных переговоров по низкоскоростным цифровым каналам связи.
Решение технической задачи достигается тем, что в известном способе сжатия и восстановления речевых сообщений, включающем предварительно идентично выполняемые до начала сеанса связи на передающей и приемной сторонах формирование R 1 матриц разрешенных кодовых групп размерами m 2r×m1r единичных и нулевых элементов, где r=1, 2,...,R, и генерацию случайной квадратной матрицы размером m×m элементов, каждый элемент которой принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, выполняемые при ведении сеанса связи на передающей стороне дискретизацию аналогового речевого сигнала, квантование дискретных отсчетов, формирование исходной матрицы размером N×N элементов, формирование из элементов R матриц разрешенных кодовых групп прямоугольных матриц размерами N×m и m×N единичных и нулевых элементов, передачу по каналу связи прямоугольных матриц, и выполняемые при ведении сеанса связи на приемной стороне прием прямоугольных матриц из канала связи, исправление в них ошибок, восстановление исходной матрицы и преобразование ее в аналоговый речевой сигнал, вместо неограниченного сверху числа (R 1) матриц разрешенных кодовых групп до начала сеанса связи на передающей и приемной сторонах формируют две (R=2) таких матрицы, а при ведении сеанса связи на передающей стороне прямоугольные матрицы размерами N×m и m×N единичных и нулевых элементов формируют из элементов только первой матрицы кодовых групп, а также дополнительно предварительно до начала сеанса связи на передающей и приемной сторонах идентично генерируют еще F-1, где F>1, случайных квадратных матриц размером m×m элементов, каждый элемент которых принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, и формируют G>1 случайных ключевых матриц размером N×m и G>1 случайных ключевых матриц размером m×N единичных и нулевых элементов, далее при ведении сеанса связи на передающей стороне при формировании прямоугольных матриц размерами N×m и m×N формируют вектор размером М единичных и нулевых элементов из элементов второй матрицы разрешенных кодовых групп, затем этот вектор передают по цифровому каналу связи вместе с прямоугольными матрицами, а на приемной стороне при ведении сеанса связи дополнительно принимают вектор из канала связи и перед восстановлением исходной матрицы исправляют в нем ошибки.
Для формирования каждой r-той, где r принимает значение 1 или 2, матрицы разрешенных кодовых групп размером m 2r×m1r единичных и нулевых элементов значения m22 и m12 для второй матрицы (r=2) назначают большими, чем соответствующие значения m21 и m11 для первой матрицы (r=1) разрешенных кодовых групп.
Для исправления ошибок в принятых из канала связи прямоугольных матрицах размерами N×m и m×N единичных и нулевых элементов последовательно выбирают каждую m11·p 1-группу элементов, из которых сформированы эти матрицы, определяют j-тую строку, где j=1, 2,...,m21 , первой матрицы разрешенных кодовых групп, у которой расстояние Хэмминга от выбранной m11·p 1-группы минимально, и если минимальное расстояние Хэмминга меньше величины m11/4, то каждому элементу выбранной m11·p1 -группы присваивают значение соответствующего элемента j-той строки первой матрицы разрешенных кодовых групп, иначе выбранную m11·p1-группу элементов сохраняют неизменной. Для исправления ошибок в принятом из канала связи векторе размером М элементов последовательно выбирают каждую m12·p 2-группу элементов этого вектора, определяют j-тую строку, где j=1, 2,...,m22, второй матрицы разрешенных кодовых групп, у которой расстояние Хэмминга от выбранной m 12·p2-группы минимально и каждому элементу выбранной m12·p 2-группы присваивают значение соответствующего элемента j-той строки второй матрицы разрешенных кодовых групп.
Для формирования прямоугольных матриц размерами N×m и m×N и вектора размером М единичных и нулевых элементов из значений элементов строк соответствующих матриц разрешенных кодовых групп предварительно до начала сеанса связи на передающей и приемной сторонах идентично генерируют случайный вектор из m элементов, каждый элемент которого принадлежит диапазону квантованных дискретных отсчетов речевого сигнала, и из значений элементов строк второй матрицы разрешенных кодовых групп формируют матрицу разрешенных векторов размером H×М при условии, что H=(F·G). Далее на передающей стороне сначала из значений элементов строк первой матрицы разрешенных кодовых групп предварительно формируют матрицу разрешенных кодовых комбинаций размером W×m, после чего формируют матрицу предварительных оценок размером W×W×G×F. Затем при ведении сеанса связи формируют оптимальную матрицу соответствия размерами 2×N. Для этого на передающей стороне назначают значение f=0, значение показателя ошибки назначают равным бесконечно большому числу и F раз выполняют большой цикл, в котором назначают значения f=f+1, g=0, и G раз выполняют малый цикл, в котором назначают значение g=g+1, значение промежуточного показателя ошибки назначают равным бесконечно большому числу, формируют матрицу соответствия размерами 2×N, каждый элемент которой равен единице, и выполняют итерационный цикл. В итерационном цикле сначала назначают значение n1=0 и N раз выполняют первый внешний цикл, в котором назначают значения n1=n1+1, w 1=0, и W раз выполняют первый внутренний цикл, в котором назначают значения w1=w 1+1, значение n1-ого элемента первой строки матрицы соответствия назначают равным w 1 и вычисляют промежуточный показатель ошибки в виде суммы квадратов разностей между каждым i1j 1-ым элементом исходной матрицы размером N×N и i 2j2gf-тым элементом матрицы предварительных оценок размером W×W×G×F, где i 1=1, 2,...,N, j1=1, 2,...,N, i 2 принимает значение i1-ого элемента первой строки матрицы соответствия, а j2 принимает значение j1-ого элемента второй строки матрицы соответствия. После этого текущее значение промежуточного показателя ошибки вычитают из минимального из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле, и если полученная разность больше нуля, то значение n 1-ого элемента первой строки матрицы соответствия сохраняют. Иначе значение этого элемента назначают равным его предыдущему значению, а затем назначают значение n2 =0 и N раз выполняют второй внешний цикл, в котором назначают значения n2=n2+1, w2=0, и W раз выполняют второй внутренний цикл, в котором назначают значения w2=w 2+1, значение n2-ого элемента второй строки матрицы соответствия назначают равным w 2 и вычисляют промежуточный показатель ошибки в виде суммы квадратов разностей между каждым i1j 1-ым элементом исходной матрицы размером N×N и i 2j2gf-тым элементом матрицы предварительных оценок размером W×W×G×F, где i 1=1, 2,...,N, j1=1, 2,...,N, i 2 принимает значение i1-ого элемента первой строки матрицы соответствия, а j2 принимает значение j1-ого элемента второй строки матрицы соответствия. После этого текущее значение промежуточного показателя ошибки вычитают из минимального из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле, и если полученная разность больше нуля, то значение n 2-ого элемента второй строки матрицы соответствия сохраняют. Иначе значение этого элемента назначают равным его предыдущему значению. Далее в итерационном цикле минимальное из всех значений промежуточного показателя ошибки, ранее полученных в текущем итерационном цикле, вычитают из минимального из всех значений промежуточного показателя ошибки, ранее полученных до начала текущего итерационного цикла в текущем малом цикле, и если полученная разность больше нуля, то итерационный цикл повторяют. Иначе выполнение итерационного цикла прекращают и в малом цикле минимальное из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле, вычитают из значения показателя ошибки. Если полученная разность больше нуля, то назначают значения f 0=f, g0=g, значения элементов оптимальной матрицы соответствия размерами 2×N назначают равными значениям соответствующих элементов матрицы соответствия размерами 2×N, а значение показателя ошибки назначают равным минимальному из всех значений промежуточного показателя ошибки, ранее полученных в текущем малом цикле. Далее после завершения выполнения всех вышеуказанных циклов определяют значение h=(f 0-1)·G+g0, затем значения элементов вектора размером М назначают равными значениям соответствующих элементов h-той строки матрицы разрешенных векторов размером H×М. Значения элементов каждой i-й строки прямоугольной матрицы размером N×m, где i=1, 2,...,N, назначают равными значениям соответствующих элементов той строки матрицы разрешенных кодовых комбинаций размером W×m, номер которой равен значению i-го элемента первой строки оптимальной матрицы соответствия, а значения элементов каждого i-го столбца прямоугольной матрицы размером m×N, где i=1, 2,...,N, назначают равными значениям соответствующих элементов той строки матрицы разрешенных кодовых комбинаций размером W×m, номер которой равен значению i-го элемента второй строки оптимальной матрицы соответствия.
Для восстановления исходной матрицы размером N×N элементов на приемной стороне сначала определяют h-тую строку, где h=1, 2,...,H, матрицы разрешенных векторов размером H×M, у которой расстояние Хэмминга от принятого из канала связи и исправленного вектора размером М единичных и нулевых элементов равно нулю, и определяют значения f0 и g 0, где g0=1, 2,...,G, f 0=1, 2,...,F, из условия h=(f0-1)·G+g 0. Затем формируют суммарные матрицы размерами N×m и m×N элементов путем суммирования по модулю два элементов принятых из канала связи и исправленных прямоугольных матриц размерами N×m и m×N элементов с соответствующими элементами g0-ых ключевых матриц размерами N×m и m×N элементов соответственно. После этого преобразуют полученные суммарные матрицы размерами N×m и m×N элементов путем деления элементов каждой строки суммарной матрицы размером N×m элементов на сумму единиц соответствующей строки и деления элементов каждого столбца суммарной матрицы размером m×N элементов на сумму единиц соответствующего столбца, перемножают диагональную матрицу размером N×N, у которой каждый nn-й диагональный элемент равен сумме произведений элементов n-й строки, где n=1, 2,...,N, суммарной матрицы размером N×m элементов на соответствующие элементы случайного вектора из m элементов, а остальные элементы равны нулю, с полученной после преобразования суммарной матрицей размером N×m элементов, с ранее идентично сформированной на передающей и приемной сторонах f 0-ой случайной квадратной матрицей размером m×m элементов, с полученной после преобразования суммарной матрицей размером m×N элементов и с диагональной матрицей размером N×N, у которой каждый nn-й диагональный элемент равен сумме произведений элементов случайного вектора из m элементов на соответствующие элементы n-го столбца суммарной матрицы размером m×N, а остальные элементы равны нулю.
Для формирования матрицы разрешенных векторов размером H×M единичных и нулевых элементов сначала определяют значение p2=1, 2,... из условий M=m12·p 2 и H=(m22)p2 а затем образуют все H возможных сочетаний m 12·p2-групп путем присоединения друг к другу р2 различных или идентичных m12·p2-групп, каждая из которых состоит из m12 элементов и идентична одной из строк второй матрицы разрешенных кодовых групп. Значения элементов каждой строки матрицы разрешенных векторов размером H×M назначают равными значениям соответствующих элементов одного из H образованных сочетаний m 12·p2-групп, при этом каждое образованное сочетание m12·p 2-групп используют для формирования только одной строки матрицы разрешенных векторов размером H×M.
Для формирования матрицы разрешенных кодовых комбинаций сначала определяют значение p1=1, 2,... из условий m=m 11·p1 и W=(m 21)p1. Затем образуют все W возможных сочетаний m11·p1 -групп путем присоединения друг к другу p1 различных или идентичных m11·p 1-групп, каждая из которых состоит из m 11 элементов и идентична одной из строк первой матрицы разрешенных кодовых групп. Значения элементов каждой строки матрицы разрешенных кодовых комбинаций размером W×m единичных и нулевых элементов назначают равными значениям соответствующих элементов одного из W образованных сочетаний m 11·p1-групп. При этом каждое образованное сочетание m11·p 1-групп используют для формирования только одной строки матрицы разрешенных кодовых комбинаций размером W×m.
Для формирования каждой из G случайных ключевых матриц размером N×m единичных и нулевых элементов сначала генерируют первую строку этой матрицы, а затем остальные строки назначают поэлементно равными первой, а для формирования каждой из G случайных ключевых матриц размером m×N сначала генерируют первый столбец этой матрицы, а остальные столбцы назначают поэлементно равными первому.
Для формирования матрицы предварительных оценок размером W×W×G×F вычисляют значения каждого ijgf-того элемента этой матрицы, где i=1, 2,...,W, j=1, 2,...,W, g=1, 2,...,G, f=1, 2,...,F. Для этого сначала формируют вектор-строку размером m элементов, в котором каждый элемент получают путем сложения по модулю два элементов i-той строки матрицы разрешенных кодовых комбинаций размером W×m с соответствующими элементами первой строки g-той случайной ключевой матрицы размером N×m, и вектор-столбец размером m элементов, в котором каждый элемент получают путем суммирования по модулю два элементов первого столбца g-той случайной ключевой матрицы размерами m×N с соответствующими элементами j-той строки матрицы разрешенных кодовых комбинаций. Затем перемножают вектор-строку с f-той случайной квадратной матрицей размером m×m и с вектором-столбцом. Полученное после перемножения значение делят на произведение числа единиц в векторе-строке и числа единиц в векторе-столбце. Полученное после деления значение умножают на сумму произведений элементов случайного вектора с соответствующими элементами вектора-строки и на сумму произведений элементов случайного вектора с соответствующими элементами вектора-столбца.
Благодаря новой совокупности существенных признаков не только обеспечивается возможность исправления большого числа ошибок, возникающих в цифровых последовательностях под влиянием нестабильности параметров канала связи, но при этом за счет использования большего, чем один, числа случайных квадратных и ключевых матриц значительно увеличивается число разрешенных вариантов цифрового представления кодируемой исходной матрицы. Таким образом, предлагаемый способ для заданной пропускной способности канала связи позволяет осуществлять выбор оптимального варианта цифрового представления из большего числа разрешенных вариантов, исправлять возникающие ошибки и тем самым существенно повысить качество восстановления речевых сообщений при передаче цифровых последовательностей как по каналу без ошибок, так и по каналу с ошибками.
Проведенный анализ показал, что аналоги, обладающие совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют. Следовательно, заявленный способ соответствует условию патентоспособности "новизна". Поиск известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного способа, показал, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, заявленный способ соответствует условию патентоспособности "изобретательский уровень".
Заявленный способ поясняется чертежами:
- Фиг.1. Последовательность преобразований аналогового речевого сигнала в исходную матрицу
- Фиг.2. Последовательность преобразований исходной матрицы к цифровому виду и обратное преобразование принятого из канала связи цифрового потока в исходную матрицу;
- Фиг.3. Структура матриц разрешенных кодовых групп разрешенных кодовых комбинаций и разрешенных векторов
- Фиг.4. Структура матрицы предварительных оценок
- Фиг.5. Структура оптимальной матрицы соответствия прямоугольных матриц вектора
- Фиг.6. Структура суммарных матриц и преобразованных суммарных матриц
- Фиг.7. Структура диагональных матриц
- Фиг.8. Исправление ошибок в принятых из канала связи прямоугольных матрицах и векторе
- Фиг.9. Последовательность преобразований восстановленной исходной матрицы [A]N×N в непрерывный речевой сигнал.
Возможность реализации заявленного способа сжатия и восстановления речевых сообщений при сохранении удовлетворительного качества восстановления (разборчивости и узнаваемости речи) при передаче цифровых последовательностей как по каналу без ошибок, так и по каналу с ошибками, объясняется следующим. Существует традиционный подход повышения устойчивости к ошибкам в цифровом канале связи путем использования помехоустойчивых кодов, описанных, например, в книге: У.Питерсон, Э.Уэлдон. Коды, исправляющие ошибки. - М.: Мир, 1976. Он основан на разделении всех возможных кодовых комбинаций на разрешенные и запрещенные. Такой подход предполагает введение в передаваемую цифровую последовательность дополнительных бит, и чем больше ошибок может исправлять код, тем больше вводится дополнительных бит. Это приводит к существенному снижению степени сжатия передаваемой информации и повышению требований к пропускной способности канала.
Однако ввиду большой избыточности речи, как вида информации, и адаптивного характера кодирования, используемого как в способе-прототипе, так и в предлагаемом способе, при сохранении удовлетворительного качества восстановленной речи возможно ввести существенные ограничения на разрешенность комбинаций элементов цифровых последовательностей с целью исправления ошибок. При этом кардинальным отличием такого подхода от традиционного помехоустойчивого кодирования является то, что дополнительные биты не вводятся и все элементы передаваемой разрешенной цифровой последовательности являются информационными.
Формирование исходной матрицы размером N×N элементов возможно реализовать непосредственно из квантованных речевых отсчетов. Однако в этом случае при отсутствии ошибок в канале связи и заданном качестве восстановленной речи произойдет некоторое увеличение требуемой пропускной способности канала по сравнению со способом-прототипом. Поэтому для предотвращения такого увеличения в предлагаемом способе так же, как в способе-прототипе, выполняют дискретное косинусное преобразование над вектором квантованных отсчетов речевого сигнала (фиг.1.в). Это позволяет осуществить переход к представлению блока квантованных отсчетов речевого сигнала в виде вектора спектральных коэффициентов (фиг.1.г). Для уменьшения цифрового представления речевого сигнала кодируют и передают значения не всех, а только N2 спектральных коэффициентов, суммарная энергия которых значительно больше суммарной энергии остальных Z-N2 коэффициентов (фиг.1.д).
Для повышения качества восстановления в предлагаемом способе непосредственное кодирование и восстановление исходной матрицы осуществляют с помощью суммарных матриц, полученных путем сложения по модулю два прямоугольных матриц и оптимальных из G случайных ключевых матриц той же размерности (фиг.2). При этом для кодирования используют оптимальную из F случайных квадратных матриц. Таким образом, общее число разрешенных вариантов цифрового представления исходной матрицы, которыми располагает передатчик при выборе оптимального варианта, в G·F раз больше, чем в способе-прототипе.
Поскольку номер оптимального варианта также кодируют и передают по каналу связи, то при сохранении в предлагаемом способе размерности всех используемых матриц произойдет некоторое снижение коэффициента сжатия и соответственно увеличение требуемой пропускной способности канала связи по сравнению со способом-прототипом. Для предотвращения этого размеры матриц назначают так, чтобы с учетом передачи дополнительного вектора, кодирующего номер оптимального варианта случайных квадратной и ключевых матриц, обеспечить требуемый коэффициент сжатия, а число вариантов, т.е. значения F и G, назначают так, чтобы при заданном коэффициенте сжатия обеспечить требуемое качество восстановления речи.
Поскольку количество разрешенных вариантов кодирования исходной матрицы может быть достаточно большим, то для предотвращения увеличения вычислительной сложности выполнения последовательности действий, под которой понимается количество выполняемых элементарных операций (сложение, вычитание, запись, считывание, присвоение и т.д.) по сравнению со способом-прототипом, в предложенном способе устранено многократное повторение ряда одинаковых вычислений при кодировании. Для этого случайный вектор из m и все случайные ключевые матрицы размерами N×m и m×N элементов идентично формируют на приеме и передаче до начала сеанса связи и при ведении сеанса они остаются неизменными. На передаче предварительно до начала сеанса связи формируют матрицу предварительных оценок, элементы которой представляют собой все заранее рассчитанные разрешенные значения элементов восстановленной на приеме исходной матрицы. При ведении сеанса связи эти значения уже не пересчитывают и используют при выполнении действий по формированию передаваемых прямоугольных матриц и вектора.
Как и в способе-прототипе число матриц разрешенных кодовых групп может быть не ограничено сверху, прямоугольные матрицы могут формироваться из элементов множества матриц разрешенных кодовых групп, а все случайные ключевые матрицы могут генерироваться обычным способом и быть случайными по своей структуре. Однако такой подход может привести к невозможности реализовать формирование матрицы предварительных оценок из-за ее большой размерности. Для предотвращения этого в предложенном способе назначают R=2, прямоугольные матрицы формируют только из элементов первой матрицы разрешенных кодовых групп, т.е. только из элементов m11·p 1-групп, а при формировании каждой из случайных ключевых матриц размером N×m единичных и нулевых элементов генерируют только первую строку этой матрицы, а остальные строки назначают поэлементно равными первой. Аналогично для формирования каждой из случайных ключевых матриц размером m×N единичных и нулевых элементов генерируют только первый столбец этой матрицы, а остальные столбцы назначают поэлементно равными первому.
Предлагаемый способ предполагает выполнение следующих действий. На передаче и на приеме идентично формируют R=2 матриц разрешенных кодовых групп [Ur] размерами m2r ×m1r. Формирование этих матриц проиллюстрировано фиг.3.а, где в качестве примера взят случай, когда у строк первой матрицы [U1] длина m11 =8. Каждая i-я строка, где i=1, 2,...,m2r /2, r-й матрицы разрешенных кодовых групп (для первой матрицы значение m21/2=8) является i-й дискретной функцией Уолша из упорядоченного множества дискретных функций Уолша длины m1r, в которой элементы, равные - 1, заменены на нулевые. Каждая (i+m2r /2)-я строка r-й матрицы разрешенных кодовых групп получается инверсией элементов i-й строки этой же матрицы.
Используемые при формировании матриц разрешенных кодовых групп функции Уолша, их дискретизация и упорядочение описаны, например, в книге: Н.Ахмед, К.Р.Рао. Ортогональные преобразования при обработке цифровых сигналов. - М.: Радио и связь, 1980, с.86-89. Выбор одного из возможных упорядочений (например, по Уолшу, по Пэли, по Адамару) не является принципиальным поскольку сами функции при любом упорядочении остаются неизменными.
Формирование F случайных квадратных матриц где f=1, 2,...,F, и случайного вектора может быть выполнено с помощью датчика случайных чисел, например, на основе шумового диода. Для обеспечения идентичности F случайных квадратных матриц и вектора приемника аналогичным матрицам и вектору передатчика, элементы случайных квадратных матриц и вектора могут быть сгенерированы на передаче и переданы по цифровому каналу связи на приемную сторону в составе синхропосылки.
Формирование случайных матриц где g=1, 2,...,G, на передаче и обеспечение их идентичности аналогичным матрицам на приеме может быть выполнено на основе использования на передающей и приемной сторонах генераторов с регистром сдвига одинаковой структуры, которые описаны, например, в книге: У.Питерсон, Э.Уэлдон. Коды, исправляющие ошибки. - М.: Мир, 1976, с.206-212. При этом начальное заполнение генераторов случайным образом выбирается на передающей стороне и передается на приемную сторону в составе синхропосылки.
Дискретизацию аналогового речевого сигнала (фиг.1.а) выполняют в соответствии с теоремой Котельникова с частотой дискретизации 8 кГц. Затем выполняют квантование дискретных отсчетов (фиг.1.б) на основе способов, описанных, например, в книге: М.В.Назаров, Ю.Н.Прохоров. Методы цифровой обработки и передачи цифровых сигналов. - М.: Радио и связь, 1985, с.142-160. Далее, на основе множества квантованных дискретных отсчетов речевого сигнала формируют вектор квантованных отсчетов речевого сигнала (фиг.1.в) из Z элементов Qz, где z=1, 2, 3,...,Z и Qz равно амплитуде z-го квантованного отсчета. Для преобразования вектора с целью уменьшения объема информации, передаваемой по каналу связи, используют дискретное косинусное преобразование, описанное, например, в книге: Н.Ахмед, К.Р.Рао. Ортогональные преобразования при обработке цифровых сигналов. - М.: Связь, 1980, с.156-159.
В результате выполнения дискретного косинусного преобразования над вектором квантованных отсчетов речевого сигнала получают вектор квантованных спектральных коэффициентов (фиг.1.г) из Z элементов cz, где сz равно амплитуде z-го спектрального коэффициента. Затем выбирают N2 элементов вектора , суммарная энергия которых значительно больше суммарной энергии остальных Z-N2 спектральных коэффициентов (фиг.1.д), и из выбранных коэффициентов формируют исходную матрицу (фиг.1.е). Поскольку амплитуды cz распределены таким образом, что спектральные коэффициенты с наибольшей энергией расположены в основном в левой части вектора, то каждому элементу ALl исходной матрицы где L=1, 2,...,N и l=1, 2,...,N, присваивают значение z-го элемента вектора , где z=L+N·(l-1)+D, где D=0, 1,...,10 (фиг.1.д-е).
Далее (фиг.2) матрицу кодируют и передают множество единичных и нулевых элементов прямоугольных матриц и вектора по каналу связи. Решаемая в кодере задача кодирования исходной матрицы является задачей минимизации ошибки кодирования и формально может быть представлена выражением
Процедура кодирования исходной матрицы реализует поиск оптимальных матриц (а соответственно, вектора и оптимальных матриц (а соответственно, оптимальных и осуществляется посредством матриц разрешенных кодовых комбинаций (фиг.3.б, фиг.4, фиг.5) и разрешенных векторов (фиг.3.б, фиг.5), матрицы предварительных оценок (фиг.4) и оптимальной матрицы соответствия (фиг.5).
Формирование матрицы разрешенных кодовых комбинаций (a соответственно, и матриц в предлагаемом способе выполняют из условия, что m=m 11·p1, т.е. из элементов только первой матрицы разрешенных кодовых групп (фиг.3.б). Формирование каждой строки матрицы разрешенных векторов (а соответственно, и вектора ) выполняют из условия, что m=m12 ·p2, т.е. из элементов строк только второй матрицы разрешенных кодовых групп . Использование такого подхода обусловлено тем, что при наличии на приеме в прямоугольных матрицах неисправленной ошибки с искажением будут восстановлены только некоторые элементы исходной матрицы, а при наличии неисправленной ошибки в векторе размером М с искажением будут восстановлены все элементы исходной матрицы. Поэтому для формирования матрицы используют только матрицу кодовых групп с большим значением m1r, поскольку исправляющая способность повышается с увеличением значения m1r.
На фиг.3.б представлен пример формирования матриц и из элементов соответствующих матриц разрешенных кодовых групп причем длина строк первой матрицы разрешенных кодовых групп m11=8. При этом показан пример, когда m11·p1-группы длины m11=8 использовались для формирования:
- в w-той строке матрицы элементов с номерами от q до (q+7) и от (m-7) до m из элементов шестнадцатой строки матрицы
- в w'-ой строке матрицы элементов с номерами от q до (q+7) из элементов восьмой строки матрицы
- в w'-ой строке матрицы элементов с номерами от (m-7) до m из элементов десятой строки матрицы
В то же время m12·p 2-группы использовались для формирования:
- в h'-й строке матрицы элементов с номерами от 1 до m12 из элементов второй строки матрицы
- в h'-й строке матрицы элементов с номерами от (M-m12+1) до М из элементов m22-ой строки матрицы
- в h-той строке матрицы элементов с номерами от 1 до m12 из элементов m22-ой строки матрицы
- в h-той строке матрицы элементов с номерами от (M-m12+1) до М из элементов первой строки матрицы
Выбор правила присвоения элементам m 1r·pr-групп значений элементов выбранной строки матрицы [Ur] не является принципиальным и может осуществляться, как и в способе-прототипе. Важным при этом является только знание этого правила декодером, поскольку из строк матрицы при кодировании формируют строки матрицы и столбцы матрицы а из строк матрицы формируют вектор (фиг.5).
Элементы матрицы предварительных оценок представляют собой все возможные значения элементов восстановленной на приеме исходной матрицы при передаче цифровых последовательностей по каналу связи без ошибок. Матрица формируется, как показано на фиг.4, до начала сеанса связи с целью устранения многократного повторения ряда одинаковых действий при решении задачи кодирования во время сеанса.
Каждый i-ый элемент первой строки оптимальной матрицы соответствия представляет собой номер строки матрицы которая поэлементно идентична i-ой строке передаваемой по каналу связи матрицы Аналогично каждый i-ый элемент второй строки оптимальной матрицы соответствия представляет собой номер строки матрицы которая поэлементно идентична i-му столбцу передаваемой по каналу связи матрицы На фиг.5 показана сущность формирования матриц и вектора на основе матрицы и матриц сформированных, как показано на фиг.3. При этом показан пример, когда в результате решения задачи кодирования оптимальным заполнением n-ой строки матрицы назначены элементы w-той строки матрицы оптимальным заполнением N-го столбца матрицы назначены элементы w'-й строки матрицы а оптимальным заполнением вектора назначены элементы h-ой строки матрицы
Для восстановления исходной матрицы в декодере ее представляют в виде произведения пяти матриц: диагональной матрицы преобразованной суммарной матрицы оптимальной случайной квадратной матрицы преобразованной суммарной матрицы диагональной матрицы
Особенностью матриц и является то, что на элементы этих матриц накладываются следующие ограничения:
- элементы матриц и принимают значения в диапазоне от нуля до единицы;
- ненулевые элементы каждой строки матрицы равны между собой и в сумме образуют единицу;
- ненулевые элементы каждого столбца матрицы равны между собой и в сумме образуют единицу.
Если при таких ограничениях элементы каждой строки матрицы умножить на количество ненулевых элементов в этой строке, то будет получена матрица элементы которой определены только на множестве из двух значений: 1 и 0. Аналогично, если элементы каждого столбца матрицы умножить на количество ненулевых элементов в столбце, то будет получена матрица элементы которой определены только на множестве из двух значений: 1 и 0. Верно и обратное утверждение: элементы x' 1ij, x'2ij матриц и получаются из элементов x1ij, x 2ij матриц и (фиг.6.б) согласно формулам:
, .
При этом первый буквенный индекс показывает номер строки, а второй - номер столбца соответствующих матриц.
Поскольку по каналу связи передают прямоугольные матрицы сформированные по некоторому правилу только из разрешенных комбинаций элементов, а не матрицы и по которым непосредственно восстанавливают исходную матрицу, то взаимосвязь этих матриц осуществляют путем использования сложения по модулю два с оптимальными случайными матрицами и причем сложение по модулю два двух матриц подразумевает сложение по модулю два соответствующих элементов (фиг.6.а) этих матриц.
Диагональные матрицы и формируют следующим образом (фиг.7). Каждый nn-й элемент матрицы где n=1, 2,...,N, получают из элементов x 1nj n-й строки матрицы и элементов bj случайного вектора по формуле: . Каждый nn-й элемент матрицы получают из элементов bi случайного вектора и элементов x2in n-го столбца матрицы по формуле: .
Поскольку в результате передачи цифровых последовательностей по каналу связи с ошибками (фиг.2) на приемной стороне принимают не переданные прямоугольные матрицы и вектор , a отличные от них в некоторых элементах матрицы , и вектор , то для недопущения искажений при восстановлении исходной матрицы [A]N×N в принятых из канала связи матрицах , и векторе исправляют ошибки и тем самым получают прямоугольные матрицы и вектор .
На фиг.8 показана сущность исправления ошибок на примере случая, когда передавались прямоугольные матрицы и вектор , сформированные как показано на фиг.5, и при передаче по каналу связи возникла одна ошибка в m11 ·p1-группе в строке матрицы с номером n, одна ошибка в m11·p 1-группе в столбце матрицы с номером N и две ошибки в m12·p 2-группе в векторе . Правило формирования, по которому прямоугольные матрицы и вектор формируют из m1r·p r-групп, заранее известно декодеру. Информация о правиле формирования может быть передана в составе синхропосылки. Далее, зная местоположение различных m1r·p r-групп в принятых из канала связи матрицах , и векторе , для исправления ошибок в декодере каждую m 1r·pr-группу элементов проверяют путем поэлементного сравнения поочередно со всеми строками соответствующих матриц разрешенных кодовых групп [Ur], определяя при каждом сравнении расстояние Хэмминга d. Определение расстояния Хэмминга между двумя кодовыми группами описано, например, в книге: У.Питерсон, Э.Уэлдон. Коды, исправляющие ошибки. - М.: Мир, 1976, с.52-53. Фактически расстояние Хэмминга между двумя кодовыми группами равно количеству элементов, в которых эти кодовые группы отличаются.
Далее, для проверяемой m 1r·pr-группы выбирают строку соответствующей r-й матрицы разрешенных кодовых групп [U r], у которой расстояние Хэмминга от проверяемой m 1r·pr-группы меньше, чем у всех остальных строк, то есть равно min d. Если проверяется m 12·p2-группа в принятом векторе, то элементы m12·p2 -группы заменяют на соответствующие элементы такой ближайшей по Хэммингу строки матрицы [U2]. Если проверяется m11·p1-группа в принятой прямоугольной матрице, то элементы этой группы заменяют на соответствующие элементы ближайшей выбранной строки матрицы [U1] в случае, когда расстояние Хэмминга для выбранной строки меньше величины m11 /4, иначе элементы проверяемой m11·р 1-группы оставляют неизменными.
Различие исправления ошибок в m11·p1 -группах и m12·p2 -группах объясняется следующим. Значение расстояния Хэмминга меньше величины m11/4 в качестве верхней границы, при которой выполняется исправление ошибок в m 11·p1-группах, определяется тем, что расстояние Хэмминга каждой строки матрицы [U 1] от любой другой строки той же матрицы не меньше m 11/2. А как известно, например, из книги: У.Питерсон, Э.Уэлдон. Коды, исправляющие ошибки. - М.: Мир, 1976, с.18, при таком минимальном расстоянии между разрешенными векторами максимально возможное число ошибок, которые могут быть гарантированно исправлены, равно (m11/4)-1. Попытка же поставить в соответствие искаженной (неразрешенной) кодовой группе ближайшую по Хэммингу разрешенную при min d m11/4 может наоборот привести к увеличению числа ошибок в искаженной кодовой группе, поэтому при исправлении ошибок в прямоугольных матрицах в таком случае искаженные группы сохраняют. Принятый же вектор обязательно должен быть идентифицирован как один из разрешенных, поскольку только в этом случае на приеме можно однозначно определить значения f0 и g0, необходимые для восстановления речевого сообщения. Поэтому при исправлении ошибок в принятом векторе аналогичное верхнее значение расстояния Хэмминга m 12/4 во внимание не принимают.
Так, на фиг.8 для проверяемой m11·p1 -группы в матрице ближайшей по расстоянию Хэмминга d показана шестнадцатая строка первой матрицы разрешенных кодовых групп. При этом min d=1. Это меньше значения m11/4=2, поэтому элементы проверяемой m11·p 1-группы заменяют на соответствующие элементы шестнадцатой строки матрицы [U1]. В проверяемой m 11·p1-группе в матрице элементы заменяются на соответствующие элементы ближайшей по расстоянию Хэмминга седьмой строки матрицы [U 1], поскольку min d=1 и это меньше, чем значение m 11/4=2. В проверяемой m12·р 2-группе принятого вектора элементы заменяются на соответствующие элементы ближайшей по расстоянию Хэмминга первой строки второй матрицы разрешенных кодовых групп [U2].
После исправления ошибок и восстановления (декодирования) значений f 0 и g0 определяют суммарные матрицы путем сложения по модулю два полученных после исправления ошибок прямоугольных матриц со случайными матрицами и соответственно (фиг.2, фиг.6.а). Затем матрицы и преобразуют в матрицы соответственно (фиг.6.б). После этого восстанавливают исходную матрицу путем перемножения пяти матриц, что формально соответствует выражению
Далее из элементов ALl восстановленной исходной матрицы (фиг.9.а) формируют вектор спектральных коэффициентов длиной Z (фиг.9.б-в) путем распределения принятых N 2 спектральных коэффициентов по своим местам с номерами z в соответствии с выражением: z=L+N·(l-1)+D. Остальным Z-N2 спектральным коэффициентам присваивается нулевое значение. Для правильного распределения спектральных коэффициентов значение D, которое определяют на передающей стороне, можно передать на приемную сторону в составе синхропосылки.
Далее выполняют над вектором операцию обратного дискретного косинусного преобразования и получают в результате этого вектор восстановленных квантованных отсчетов речевого сигнала (фиг.9.г). Затем выполняют преобразование вектора восстановленных квантованных отсчетов речевого сигнала в аналоговый речевой сигнал (фиг.9.д-е).
Для оценки эффективности предлагаемого способа было проведено имитационное моделирование на ПЭВМ. При кодировании речевых сообщений использовалось 8-разрядное АЦП. Моделирование проводилось для скоростей передачи по каналу связи 8 и 16 кбит/с, что обеспечивалось выбором соответствующих размеров m и N матриц. При этом коэффициент сжатия равнялся соответственно 8 и 4 раза и определялся по формуле:
где J - число уровней квантования дискретных отсчетов речевого сигнала, которое при моделировании принималось равным 256.
Задержка передачи речи для разных значений m, N и М обеспечивалась, как и в способе-прототипе, в пределах 16-256 мс, что является приемлемым для ведения телефонных переговоров.
Для формирования матриц разрешенных кодовых комбинаций использовались матрицы разрешенных кодовых групп с длиной строк 8 и 16 элементов, а для формирования матрицы разрешенных векторов - соответственно 16 и 32 элементов. Качество восстановления речевых сообщений по критерию отношения "истинный речевой сигнал/ошибка восстановления" (традиционно его называют отношением "сигнал/шум") получалось на 1,5-3 дБ более высоким по сравнению со способом-прототипом при одинаковом коэффициенте сжатия. Величина выигрыша по качеству зависела от выбранных значений F и G и коэффициента ошибок в цифровом канале связи. При этом восстановленная речь сохраняет свою естественность, натуральность и обладает хорошей разборчивостью даже при вероятности ошибок до 1,2·10-1 .
Анализ вычислительной сложности показал, что сложность предлагаемой процедуры кодирования/декодирования пропорциональна приблизительно величине m2. Поэтому предлагаемый способ сжатия и восстановления речи может быть реализован на современных процессорах обработки сигналов.
Класс G10L21/00 Обработка сигналов речи для получения иного слышимого или неслышимого сигнала, например визуального, осязаемого, для того, чтобы модифицировать их качество или их разборчивость