СПОСОБ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ЗВУКА И СИСТЕМА ВЕКТОРНОГО КВАНТОВАНИЯ РЕШЕТЧАТОГО ТИПА

1. Способ кодирования звука с решетчатым векторным квантованием, включающий:
разделение коэффициентов звукового сигнала в частотном домене, для которого в множестве поддиапазонов кодирования выполняется модифицированное дискретное косинусное преобразование (МДКП), квантование и кодирование значения огибающей амплитуды в каждом поддиапазоне кодирования для получения кодированных битовых значений этих амплитуд;
выполнение распределения битов в каждый поддиапазон кодирования, осуществление нормализации, квантования и кодирования соответственно для векторов в поддиапазоне кодирования малых битовых значений с пирамидальным решетчатым квантованием, и для векторов в поддиапазоне кодирования больших битовых значений со сферическим решетчатым квантованием, с целью получения кодированных битовых значений коэффициентов частотного домена, причем поддиапазон кодирования малых битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, меньше предварительно установленного порогового значения, а поддиапазон кодирования больших битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, больше предварительно установленного порогового значения или равно ему; и
мультиплексирование и упаковку кодированных битовых значений амплитуд и кодированных битовых значений коэффициентов в каждом поддиапазоне кодирования частотного домена для их передачи на сторону декодирования.
2. Способ по п.1, отличающийся тем, что
перед этапом выполнения распределения битов в каждый поддиапазон кодирования способ дополнительно включает: вычисление исходного значения важности каждого поддиапазона кодирования в соответствии со значением огибающей амплитуды в каждом поддиапазоне кодирования;
на этапе выполнения распределения битов в каждый поддиапазон кодирования это распределение битов выполняется для каждого коэффициента частотного домена в каждом поддиапазоне кодирования в соответствии с важностью каждого поддиапазона кодирования, причем во время распределения битов может изменяться длина этапа распределения битов и длина этапа уменьшения важности после распределения битов.
3. Способ по п.1, отличающийся тем, что
этап выполнения нормализации и квантования в поддиапазоне кодирования малых битовых значений с пирамидальным решетчатым квантованием включает:
8
выполнение нормализационной обработки всех коэффициентов частотного домена в поддиапазоне кодирования с использованием квантованного значения огибающей амплитуды в данном поддиапазоне кодирования для группирования с образованием множества подлежащих многомерному квантованию векторов; выполнение операции квантования каждого подлежащего квантованию вектора; причем этап выполнения операции квантования каждого подлежащего квантованию вектора включает: осуществление регулирования энергии 8-мерного подлежащего квантованию вектора в поддиапазоне кодирования, квантование энергетически отрегулированного 8-мерного подлежащего квантованию вектора для его отображения на узел решетки D; и
8
8
8
8
8
8
сравнение энергии полученного квантованием узла решетки D с закодированным в кодовой книге максимальным пирамидальным поверхностным энергетическим радиусом, если энергия узла решетки D меньше максимального пирамидального поверхностного энергетического радиуса или равна ему, вычисление в кодовой книнге индекса квантования для узла решетки D; если энергия узла решетки D больше максимального пирамидального поверхностного энергетического радиуса, выполнение усечения энергии для отрегулированного подлежащего квантованию вектора в поддиапазоне кодирования до тех пор, пока энергия квантованного узла решетки энергетически связанного подлежащего квантованию вектора не станет больше максимального пирамидального поверхностного энергетического радиуса, и одновременного постоянного добавления энергии для энергетически связанного подлежащего квантованию вектора до тех нор, пока энергия узла решетки D, до которой квантуется энергетически связанный подлежащий квантованию вектор, не станет больше максимального пирамидального поверхностного энергетического радиуса, и затем определение последнего узла решетки D, чья энергия не больше максимального пирамидального поверхностного энергетического радиуса, как узел решетки вектора квантования, и вычисление индекса квантования для узла решетки вектора квантования в кодовой книге;
и/или
этап выполнения нормализации и квантования в поддиапазоне кодирования больших битовых значений со сферическим решетчатым векторным квантованием включает:
выполнение нормализационной обработки всех коэффициентов частотного домена в поддиапазоне кодирования с использованием квантованного значения огибающей амплитуды в данном поддиапазоне кодирования для группирования с образованием множества подлежащих многомерному квантованию векторов; выполнение операции квантования каждого подлежащего квантованию вектора; причем этап выполнения операции квантования каждого подлежащего квантованию вектора включает:
8
осуществление регулирования энергии 8-мерного подлежащего квантованию вектора в поддиапазоне кодирования, и квантование энергетически отрегулированного 8-мерного подлежащего квантованию вектора для его отображения на узел решетки D;
8
8
8
region_bit(j)
деление полученного квантованием значения узла решетки D на 2 в степени количества распределенных битов 2, и затем повторное квантование для его отображения на узел решетки D, вынесение решение о том, является ли полученное повторным квантованием значение узла решетки D нулевым вектором, и в случае положительного решения определение соответствия нулевому векторному состоянию, а в случае отрицательного решения определения не соответствия нулевому векторному состоянию, причем region_bit(j) представляет собой количество битов, распределенных одному коэффициенту частотного домена в j-том поддиапазоне кодирования;
8
при соответствии нулевому векторному состоянию вычисление индексного вектора узла решетки D; и
8
8
8
при не соответствии нулевому векторному состоянию, выполнение усечения энергии для значения подлежащего квантованию вектора до достижения соответствия нулевому векторному состоянию, сохранение множественного значения w самого подлежащего квантованию вектора, добавление множественного значения w к энергетически связанному подлежащему квантованию вектору, затем повторное квантование для его отображения на узел решетки D, вынесение решение о соответствии нулевому векторному состоянию, в случае отрицательного решения вычисление нового индексного вектора k для узла решетки D, соответствующего нулевому векторному состоянию, в случае положительного решения постоянное добавление множественного значения w к подлежащему квантованию вектору, и затем повторное квантование для его отображения на узел решетки D до тех пор, пока не будет получено соответствие нулевому векторному состоянию.
4. Способ по п.3, отличающийся тем, что
на этапе осуществления регулирования энергии 8-мерного подлежащего квантованию вектора, сначала в соответствии с количеством битов region_bit(j), распределенных одному коэффициенту частотного домена в поддиапазоне кодирования j, где располагается 8-мерный подлежащий квантованию вектор, просматривается приводимая ниже таблица для поиска содержащихся в кодовой книге последовательного номера index и коэффициента масштабирования энергии scale в соответствии с количеством битов; затем выполняется регулирование энергии подлежащего квантованию вектора в соответствии со следующим уравнением:
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup><mo>=</mo><mrow><mo>(</mo><mrow><msubsup><mi>Y</mi><mi>j</mi><mi>m</mi></msubsup><mo>−</mo><mi>a</mi></mrow><mo>)</mo></mrow><mo>*</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi><mrow><mo>(</mo><mrow><mi>i</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow>
<mrow><msubsup><mi>Y</mi><mi>j</mi><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mi>Y</mi><mi>j</mi><mi>m</mi></msubsup></mrow>
-6
-6
-6
-6
-6
-6
-6
-6
где
представляет собой m-тый нормализованный 8-мерный подлежащий квантованию вектор в поддиапазоне кодирования j,
представляет собой 8-мерный подлежащий квантованию вектор после осуществления регулирования энергии
, a=(2, 2, 2, 2, 2, 2, 2, 2);
Количество битов Region_bit
Последовательный номер в кодовой книге Index
Коэффициент масштабирования энергии Scale
Максимальный пирамидальный поверхностный энергетический радиус LargeK
1
0
0,5
2
1,5
1
0,65
4
2
2
0,85
6
2,5
3
1,2
10
3
4
1,6
14
3,5
5
2,25
22
4
6
3,05
30
4,5
7
4,64
44
8
8
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
на этапе квантования энергетически отрегулированного 8-мерного подлежащего квантованию вектора для его отображения на узел решетки D выполняют квантование энергетически отрегулированного 8-мерного вектора
для его отображения на узел решетки D
с помощью следующего уравнения:
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup><mo>=</mo><msub><mi>ƒ</mi><mi>D</mi></msub><msub><mrow /><mn>8</mn></msub><mrow><mo>(</mo><mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup></mrow><mo>)</mo></mrow><mo>,</mo></mrow>
D8
8
где ƒ(•) представляет собой оператор квантования для отображения определенного 8-мерного вектора на узел решетки D;
8
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
этап вычисления индекса квантования узла решетки D
в кодовой книге включает:
этап 1: разметка узлов решетки на каждой пирамидальной поверхности в соответствии с амплитудой энергии на пирамидальной поверхности;
L
в котором для целочисленной узловой решетчатой сети Z с размером L пирамидальная поверхность с энергетическим радиусом K определяется как:
<mrow><mi>S</mi><mrow><mo>(</mo><mrow><mi>L</mi><mo>,</mo><mi>K</mi></mrow><mo>)</mo></mrow><mo>=</mo><mo>{</mo><mi>Y</mi><mo>=</mo><mo stretchy="false">(</mo><msub><mi>y</mi><mn>1</mn></msub><mo>,</mo><msub><mi>y</mi><mn>2</mn></msub><mo>,</mo><mo>…</mo><mo>,</mo><msub><mi>y</mi><mi>L</mi></msub><mo stretchy="false">)</mo><mo>∈</mo><msup><mi>Z</mi><mi>L</mi></msup><mo>|</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></munderover><mo>|</mo></mstyle><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><mo>=</mo><mi>K</mi><mo>}</mo><mo>,</mo></mrow>
L
где N(L,К) обозначает количество узлов решетки в S(L,К), и для определения N(L,К) в целочисленной сети Z используются следующие рекурентные формулы:
N(L,0)=1 (L≥0), N(0,K)=0 (K≥1)
N(L,K)=N(L-1, K)+N(L-1, K-1)+N(L,K-1) (L≥1, K≥1);
1
2
L
L
для идентификации целочисленного узла решетки Y=(y,y,…,y)∈Z на пирамидальной поверхности с энергетическим радиусом К используется число b из последовательности [0,1,…,N(L,K)-1], которое называется меткой узла решетки, и для определения метки b выполняются следующие этапы:
этап 1.1: задают b=0, i=1, k=K, l=L, вычисляют N(m,n), (m<=L, n<=К) в соответствии с приведенными рекурсивными формулами, и определяется:
<mrow><mi>sgn</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>{</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mn>1</mn></mtd><mtd columnalign="left"><mrow><mi>x</mi><mo>></mo><mn>0</mn></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mn>0</mn></mtd><mtd columnalign="left"><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><mo>−</mo><mn>1</mn></mrow></mtd><mtd columnalign="left"><mrow><mi>x</mi><mo><</mo><mn>0</mn></mrow></mtd></mtr></mtable></mrow></mrow></mrow>
;
i
этап 1.2, если y=0, тогда b=b+0;
i
<mrow><mi>b</mi><mo>=</mo><mi>b</mi><mo>+</mo><mi>N</mi><mrow><mo>(</mo><mrow><mi>l</mi><mo>+</mo><mn>1,</mn><mi>k</mi></mrow><mo>)</mo></mrow><mo>+</mo><mrow><mo>[</mo><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>sgn</mi><mrow><mo>(</mo><mrow><msub><mi>y</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mn>2</mn></mfrac></mrow><mo>]</mo></mrow><mi>N</mi><mrow><mo>(</mo><mrow><mi>l</mi><mo>−</mo><mn>1,</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow>
если |y|=1, тогда
;
i
если [y|>1, тогда
<mrow><mtable><mtr><mtd><mrow><mi>b</mi><mo>=</mo><mi>b</mi><mo>+</mo><mi>N</mi><mrow><mo>(</mo><mrow><mi>l</mi><mo>−</mo><mn>1,</mn><mi>k</mi></mrow><mo>)</mo></mrow><mo>+</mo><mn>2</mn><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><mo>−</mo><mn>1</mn></mrow></munderover><mrow><mi>N</mi><mrow><mo>(</mo><mrow><mi>l</mi><mo>−</mo><mn>1,</mn><mi>k</mi><mo>−</mo><mi>j</mi></mrow><mo>)</mo></mrow></mrow></mstyle></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mrow><mo>[</mo><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><mi>sgn</mi><mrow><mo>(</mo><mrow><msub><mi>y</mi><mi>i</mi></msub></mrow><mo>)</mo></mrow></mrow><mn>2</mn></mfrac></mrow><mo>]</mo></mrow><mi>N</mi><mrow><mo>(</mo><mrow><mi>l</mi><mo>−</mo><mn>1,</mn><mi>k</mi><mo>−</mo><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo></mrow><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mrow>
;
i
этап 1.3: k=k-|y|, l=l-1, i=i-1, если теперь k=0, прекращение поиска, b(j,m)=b, который представляет собой метку Y, в противном случае продолжение выполнения этапа 1.2;
этап 2: выполнение стандартной разметки узла решетки на всех пирамидальных поверхностях;
в котором вычисляется стандартная метка узла решетки на всех пирамидальных поверхностях в соответствии с количеством узлов решетки на каждой пирамидальной поверхности и меткой узла решетки на той пирамидальной поверхности, на которой располагается данный узел решетки,
<mrow><mi>i</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>_</mo><mi>b</mi><mrow><mo>(</mo><mrow><mi>j</mi><mo>,</mo><mi>m</mi></mrow><mo>)</mo></mrow><mo>=</mo><mi>b</mi><mrow><mo>(</mo><mrow><mi>j</mi><mo>,</mo><mi>m</mi></mrow><mo>)</mo></mrow><mo>+</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>k</mi><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>K</mi><mo>−</mo><mn>2</mn></mrow></munderover><mrow><mi>N</mi><mrow><mo>(</mo><mrow><mn>8,</mn><mi>k</mi><mi>k</mi></mrow><mo>)</mo></mrow></mrow></mstyle><mo>,</mo></mrow>
8
8
8
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
где kk представляет собой четное число, b(j,m) представляет собой метку узла решетки D
на той пирамидальной поверхности, на которой располагается узел решетки D
, a index_b(j,m) представляет собой индекс квантования узла решетки D
в кодовой книге.
5. Способ по п.1, отличающийся тем, что
этап кодирования в поддиапазоне кодирования малых битовых значений с пирамидальным решетчатым векторным квантованием включает:
осуществление кодирования по способу Хаффмана для индексов квантования всех поддиапазонов кодирования малых битовых значений; и
если общее количество расходуемых битов для кодированных по способу Хаффмана индексов квантования всех поддиапазонов кодирования малых битовых значений меньше общего количества битов, требуемого для натурального кодирования индексов квантования всех поддиапазонов кодирования малых битовых значений, тогда осуществление кодирования по способу Хаффмана и установка в 1 или в истинное состояние флажка кодирования по способу Хаффмана для коэффициента частотного домена, использование сохраняемых при кодировании по способу Хаффмана битов для изменения количества распределаемых битов в поддиапазоне кодирования, и повторное осуществление векторного квантования и кодирования в поддиапазоне кодирования, для которого было произведено изменение количества распределенных битов; а если общее количество расходуемых битов для кодированных по способу Хаффмана индексов квантования всех поддиапазонов кодирования малых битовых значений больше или равно общему количеству битов, требуемому для натурального кодирования индексов квантования всех поддиапазонов кодирования малых битовых значений, тогда осуществление повторного натурального кодирования индекса квантования и установка в 0 или в ложное состояние флажка кодирования по способу Хаффмана для коэффициента частотного домена.
6. Способ по п.5, отличающийся тем, что
этап использования сохраняемых при кодировании по способу Хаффмана битов для изменения количества распределаемых битов в поддиапазоне кодирования включает:
вычисление количества битов, сохраняемых при кодировании по способу Хаффмана;
определение во всех поддиапазонах кодирования поддиапазона кодирования с максимальной важностью в том случае, если количество распределенных данному поддиапазону кодирования битов достигло максимального значения, которое может распределаться поддиапазону кодирования, регулировка важности наименее важного поддиапазона кодирования, и дальнейшее отсутствие изменения количества распределенных битов для поддиапазона кодирования в том случае, если количество распределенных данному поддиапазону кодирования битов не достигло максимального значения, которое может распределаться поддиапазону кодирования, и затем выполнение изменения распределения битов для поддиапазона кодирования с максимальной важностью; и
после каждого случая изменения количества распределенных битов, т.е. увеличения на 1 отсчета итераций изменения количества распределенных битов, если значение, отсчета итераций изменения количества распределенных битов достигло предустановленной верхней границы, или если количество битов, которое может использоваться, меньше количества битов, требуемого для изменения количества распределенных битов, происходит окончание процесса изменения количества распределенных битов.
7. Способ по п.5, отличающийся тем, что
когда кодирование по способу Хаффмана осуществляют для индексов квантования всех поддиапазонов кодирования малых битовых значений,
во всех поддиапазонах кодирования, в которых количество битов, распределенных одному коэффициенту частотного домена, больше 1, меньше 5, и не равно 2, каждые четыре бита в натуральном двоичном коде для каждого индекса векторного квантования выделяют в одну группу, и кодирование по способу Хаффмана осуществляется в этой группе, а сумма количества битов при кодировании по способу Хаффмана для всех этих 4-битных групп представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
во всех поддиапазонах кодирования, в которых количество битов, распределенных одному коэффициенту частотного домена равняется 2, для кодирования каждого индекса квантования 8-мерного пирамидального решетчатого вектора используются 15 битов, и эти 15 битов разбиваются на 3 4-битовые группы и 1 3-битовую группу, и затем осуществляют кодирование данных групп по способу Хаффмана, причем сумма количества затраченных битов для этих 4 групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
когда количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, то если индекс квантования меньше 127, тогда индекс квантования кодируется 7 битами, которые разбивают на 1 3-битовую группу и 1 4-битовую группу, и осуществляют кодирование по способу Хаффмана, соответственно, этих двух групп, причем сумма количества затраченных битов для этих двух групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
когда количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, то если индекс квантования равен 127, тогда натуральный двоичный код индекса квантования определяется как "1111 1110", 7 первых 1 разбивают на 1 3-битовую группу и 1 4-битовую группу, и осуществляется кодирование по способу Хаффмана, соответственно, этих двух групп, причем сумма количества затраченных битов для этих двух групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
когда количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, то если индекс квантования равен 128, тогда натуральный двоичный код индекса квантования определяется как "1111 1111", 7 первых 1 разбивают на 1 3-битовую группу и 1 4-битовую группу, и осуществляется кодирование по способу Хаффмана, соответственно, этих двух групп, причем сумма количества затраченных битов для этих двух групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования.
8. Способ декодирования звука с решетчатым векторным квантованием, включающий:
декодирование закодированных битов каждой огибающей амплитуды в подлежащем декодированию двоичном потоке с целью получения индекса квантования огибающей амплитуды для каждого поддиапазона кодирования;
выполнение распределения битов в каждый поддиапазон кодирования, и осуществление декодирования, инверсного квантования и инверсной нормализации пирамидального решетчатого векторного квантования в поддиапазоне кодирования малых битовых значений с целью получения в частотном домене коэффициентов для поддиапазона кодирования малых битовых значений, и осуществление декодирования, инверсного квантования и инверсной нормализации сферического решетчатого векторного квантования в поддиапазоне кодирования больших битовых значений с целью получения в частотном домене коэффициентов для поддиапазона кодирования больших битовых значений; причем поддиапазон кодирования малых битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, меньше предварительно установленного порогового значения, а поддиапазон кодирования больших битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, больше предварительно установленного порогового значения или равно ему; и
выполнение обратного модифицированного дискретного косинусного преобразования (ОМДКП) в частотном домене коэффициентов, для которых с целью получения конечного звукового сигнала выполнялось шумовое заполнение.
9. Способ по п.8, отличающийся тем, что
перед этапом выполнения распределения битов в каждый поддиапазон кодирования данный способ дополнительно включает: вычисление исходного значения важности каждого поддиапазона кодирования в соответствии со значением огибающей амплитуды в каждом поддиапазоне кодирования;
на этапе выполнения распределения битов в каждый поддиапазон кодирования это распределение битов выполняется для каждого коэффициента частотного домена и каждом поддиапазоне кодирования в соответствии с важностью каждого поддиапазона кодирования, причем во время распределения битов может изменяться длина этапа распределения битов и длина этапа уменьшения важности после распределения битов;
после выполнения распределения битов и перед осуществлением декодирования, в соответствии со значением отсчета итераций изменения количества распределенных битов и важностью каждого поддиапазона кодирования на стороне кодирования, снова с соответствующим отсчетом осуществляется изменение количества распределенных битов для поддиапазона кодирования.
10. Способ по п.8, отличающийся тем, что
на этапе осуществления декодирования, инверсного квантования и инверсной нормализации пирамидального решетчатого векторного квантования в поддиапазоне кодирования малых битовых значений получаются индексы векторного квантования для поддиапазона кодирования малых битовых значений путем осуществления кодирования по способу Хаффмана или прямого декодирования в поддиапазоне кодирования малых битовых значений в соответствии с флажком кодирования по способу Хаффмана коэффициента частотного домена на стороне кодирования, и осуществления инверсного квантования и инверсной нормализации пирамидального решетчатого векторного квантования для всех индексов векторного квантования с целью получения коэффициентов частотного домена для поддиапазона кодирования малых битовых значений; на этапе осуществления декодирования, инверсного квантования и инверсной нормализации сферического решетчатого векторного квантования в поддиапазоне кодирования больших битовых значений прямо используют натуральное декодирование для получения индексов векторного квантования в поддиапазоне кодирования больших битовых значений, и осуществления инверсного квантования и инверсной нормализации сферического решетчатого векторного квантования для всех индексов векторного квантования с целью получения коэффициентов частотного домена для поддиапазона кодирования больших битовых значений.
11. Способ по п.8 или 10, отличающийся тем, что и процессе осуществления декодирования в поддиапазоне кодирования малых битовых значений в том случае, когда количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, и если значение натурального двоичного кода индекса квантования меньше "1111 111", тогда индекс квантования вычисляют в соответствии со значением натурального двоичного кода; если значение натурального двоичного кода индекса квантования равно "1111 111", тогда постоянно считывается следующий бит, причем если следующий бит - 0, тогда значение индекса квантования равно 127, если следующий бит - 1, тогда значение индекса квантования равно 128.
12. Способ по п.8 или 10, отличающийся тем, что
на этапе декодирования для диапазона кодирования малых битовых значений,
если флажок кодирования по способу Хаффмана коэффициента частотного домена указывает на неиспользование кодирования по способу Хаффмана, тогда индекс квантования m-ого вектора index_b(j,m) в поддиапазоне кодирования малых битовых значений j подвергают прямому декодированию; если флажок кодирования по способу Хаффмана коэффициента частотного домена указывает на использование кодирования по способу Хаффмана, тогда индекс квантования m-ого вектора index_b(j,m) в поддиапазон кодирования малых битовых значений j получают путем декодирования по способу Хаффмана;
этап осуществления инверсного квантования для пирамидального решетчатого векторного квантования в поддиапазоне кодирования малых битовых значений включает:
а) определение энергетической пирамидальной поверхности, на которой располагается индекс квантования, и метки индекса квантования на этой энергетической пирамидальной поверхности;
где осуществляют поиск kk для энергии пирамидальной поверхности от 2 до LargeK(region_bit(j)) при выполнении следующего неравенства:
N(8,kk)<=index_b(j,m)<N(8,kk+2),
8
8
8
если такое значение kk находится, тогда K=kk представляет энергию пирамидальной поверхности, где узел решетки D соответствует найденному индексу квантования index_b(j,m), b=index_b(j,m)-N(8,kk) представляет собой метку индекса узла решетки D на той пирамидальной поверхности, на которой располагается узел решетки D;
8
если такое значение kk не находится, тогда энергия пирамидальной поверхности узла решетки D соответствует индексу квантования index_b(j,m) К=0, а метка индекса b=0;
8
б) этапы по нахождению решения для вектора Y=(y1, y2, y3, y4, y5, y6, y7, y8) узла решетки D, чья энергия пирамидальной поверхности К и метка индекса b находятся следующим образом:
этап 1: пусть Y=(0,0,0,0,0,0,0,0), xb=0, i=1, k=K, 1=8;
этап 2: если b=xb, тогда yi=0; переход к этапу 6;
этап 3: если b<xb+N(1-1, k), тогда yi=0, переход к этапу 5;
иначе, xb=xb+N(1-1, k); пусть j=1;
этап 4: если b<xb+2*N(1-1, k-j), тогда
если xb<=b<xb+N(1-1, k-j), тогда yi=j;
если b>=xb+N(1-1, k-j), тогда yi=-j, xb=xb+N(1-1, k-j);
иначе, xb=xb+2*N(1-1, k-j), j=j+1; продолжение выполнения текущего этапа;
этап 5: обновление k=k-|yi|, 1=1-1, i=i+1, если k>0, переход к этапу 2;
этап 6: если k>0, тогда y8=k-|yi|, Y=(y1, y2,…,у8), это найденный узел решетки;
8
в) инверсное регулирование энергии найденного узла решетки D, и получение
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup><mo>=</mo><mrow><mo>(</mo><mrow><mi>Y</mi><mo>−</mo><mi>a</mi></mrow><mo>)</mo></mrow><mo>/</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi><mrow><mo>(</mo><mrow><mi>i</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow>
-6
-6
-6
-6
-6
6
-6
-6
-
где а=(2, 2, 2, 2, 2, 2 , 2, 2), scale(index) представляет собой коэффициент масштабирования, который находится из первой соответствующей таблицы,
Первая соответствующая таблица
Количество битов Region_bit
Последовательный номер в кодовой книге Index
Коэффициент масштабирования энергии Scale
Максимальный пирамидальный поверхностный энергетический радиус LargeK
1
0
0,5
2
1,5
1
0,65
4
2
2
0,85
6
2.5
3
1,2
10
3
4
1,6
14
3,5
5
2,25
22
4
6
3,05
30
4,5
7
4,64
44
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
на этапе выполнения инверсной нормализации для всех
с целью получения коэффициентов частотного домена для поддиапазона кодирования малых битовых значений,
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
инверсная нормализационная обработка
выполняется для получения коэффициента частотного домена m-того вектора поддиапазона кодирования j, восстановленого на стороне декодирования:
q
где Th(j) представляет собой показатель степени квантования огибающей амплитуды в j-том поддиапазоне кодирования.
13. Способ по п.8 или 10, отличающийся тем, что
этап прямого использования натурального кодирования для получения индексов векторного квантования в поддиапазоне кодирования больших битовых значений и выполнения инверсного квантования сферического решетчатого векторного квантования для всех индексов векторного квантования включает:
а) вычисление значения x=k*G, а также значения ytemp=x/(2^(region_bit(j)); где k представляет собой индексный вектор m-того вектора квантования в поддиапазоне кодирования больших битовых значений j, region_bit{j) представляет собой количество битов, распределенных одному коэффициенту частотного домена в j-том поддиапазоне кодирования; G представляет собой порождающую матрицу узла решетки
8
D и имеет следующий вид:
<mrow><mi>G</mi><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mn>2</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow>
D8
б) вычисление значения y=x-ƒ(ytemp)*(2^region_bit(j));
8
в) осуществление инверсного регулирования энергии найденного значения узла решетки D, и получение
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup><mo>=</mo><mi>y</mi><mo>*</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi><mrow><mo>(</mo><mrow><mi>r</mi><mi>e</mi><mi>g</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo>_</mo><mi>b</mi><mi>i</mi><mi>t</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><mrow><msup><mn>2</mn><mrow><mi>r</mi><mi>e</mi><mi>g</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo>_</mo><mi>b</mi><mi>i</mi><mi>t</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msup></mrow><mo>)</mo></mrow><mo>+</mo><mi>a</mi><mo>,</mo></mrow>
-6
-6
-6
-6
-6
-6
-6
-6
где a=(2, 2, 2, 2, 2, 2, 2, 2), scale(region_bit(j)) представляет собой коэффициент масштабирования, который находится из второй соответствующей таблицы,
Вторая соответствующая таблица
Количество распределенных битов region_bit
Коэффициент масштабирования энергии scale
5
6
6
6,2
7
6,5
8
6,2
9
6,6
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
на этапе выполнения инверсной нормализации для всех
с целью получения коэффициентов частотного домена для поддиапазона кодирования больших битовых значений,
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
инверсную нормализационную обработку
выполняют для получения коэффициента частотного домена m-того вектора поддиапазона кодирования j, восстановленого на стороне декодирования:
q
где Th(j) представляет собой показатель степени квантования огибающей амплитуды в j-ном поддиапазоне кодирования.
14. Система кодирования звука с решетчатым векторным квантованием, включающая: узел модифицированного дискретного косинусного преобразования (МДКП), узел вычисления огибающей амплитуды, узел квантования и кодирования огибающей амплитуды, узел огибающей амплитуды, узел распределения битов, узел нормализационной обработки, узел классификационного решетчатого векторного квантования и кодирования, а также мультиплексор битового потока; причем
узел МДКП предназначен для выполнения МДКП звукового сигнала с получением коэффициентов частотного домена;
узел вычисления огибающей амплитуды соединяют с узлом МДКП и предназначается для разделения полученных узлом МДКП в множестве поддиапазонов кодирования коэффициентов частотного домена, и вычисления значения огибающей амплитуды в каждом поддиапазоне кодирования;
узел квантования и кодирования огибающей амплитуды соединяют с узлом вычисления огибающей амплитуды и предназначен для квантования и кодирования значения огибающей амплитуды в каждом поддиапазоне кодирования с целью получения кодированных битов огибающей амплитуды в каждом поддиапазоне кодирования;
узел распределения битов соединяют с узлом квантования и кодирования огибающей амплитуды и предназначается для выполнения распределения битов с целью получения количества кодированных битов, распределенных каждому коэффициенту частотного домена в каждом поддиапазоне кодирования;
узел нормализационной обработки соединяют с узлом МДКП и предназначается для использования при осуществлении квантования значения огибающей амплитуды в поддиапазоне кодирования с целью выполнения нормализационной обработки всех коэффициентов частотного домена в каждом поддиапазоне кодирования;
узел классификационного решетчатого векторного квантования и кодирования соединяют с узлом нормализационной обработки и узлом распределения битов и предназначен для выполнения квантования и кодирования нормализованных подлежащих квантованию векторов в поддиапазоне кодирования малых битовых значений и поддиапазоне кодирования больших битовых значений с пирамидальным решетчатым векторным квантованием и сферическим решетчатым векторным квантованием соответственно с целью получения кодированных битов коэффициентов частотного домена; где поддиапазон кодирования малых битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, меньше предварительно установленного порогового значения, а поддиапазон кодирования больших битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, больше предварительно установленного порогового значения или равно ему;
мультиплексор битового потока соединяют с узлом квантования и кодирования огибающей амплитуды и узлом классификационного решетчатого векторного квантования и кодирования и предназначен для мультиплексирования кодированных битов в каждом поддиапазоне кодирования и кодированных битов коэффициентов частотного домена для их передачи на сторону декодирования.
15. Система по п.14, отличающаяся тем, что
узел распределения битов включает соединенные друг с другом модуль вычисления важности и модуль распределения битов, причем
модуль вычисления важности предназначен для вычисления исходного значения важности каждого поддиапазона кодирования в соответствии со значением огибающей амплитуды в поддиапазоне кодирования;
модуль распределения битов предназначен для выполнения распределения битов каждому коэффициенту частотного домена в каждом поддиапазоне кодирования в соответствии с важностью каждого поддианазона кодирования, причем во время распределения битов может изменяться длина этапа распределения битов и длина этапа уменьшения важности после распределения битов.
16. Система по п.14, отличающаяся тем, что
узел классификационного решетчатого векторного квантования и кодирования включает классификационный обрабатывающий модуль и модуль пирамидального решетчатого векторного квантования, причем
классификационный обрабатывающий модуль соединяют с узлом нормализационной обработки и предназначен для группирования нормализованных коэффициентов частотного домена с целью создания многомерных подлежащих квантованию векторов, и передачи этих нормализованных подлежащих квантованию векторов из поддиапазона кодирования малых битовых значений в модуль пирамидального решетчатого векторного квантования;
модуль пирамидального решетчатого векторного квантования соединяют с классификационным обрабатывающим модулем и предназначают для выполнения пирамидального решетчатого векторного квантования нормализованного подлежащего квантованию вектора в каждом поддиапазоне кодирования малых битовых значений; модуль пирамидального решетчатого векторного квантования включает первый субмодуль регулирования энергии, первый субмодуль квантования узла решетки, первый субмодуль настройки энергии и субмодуль вычисления индекса квантования, причем
первый субмодуль регулирования энергии предназначен для выполнения регулирования энергии 8-мерного подлежащего квантованию вектора в поддиапазоне кодирования;
8
первый субмодуль квантования узла решетки соединяют с первым субмодулем регулирования энергии и предназначают для квантования 8-мерного подлежащего квантованию вектора для его отображения на узел решетки D;
8
8
8
8
8
8
8
первый субмодуль настройки энергии соединяется с первым субмодулем квантования узла решетки и предназначен для сравнения энергии узла решетки D с закодированным в кодовой книге максимальным пирамидальным поверхностным энергетическим радиусом, и если энергия узла решетки D меньше максимального пирамидального поверхностного энергетического радиуса или равна ему, передачи сообщения на субмодуль вычисления индекса квантования о необходимости вычисления индекса квантования узла решетки D в кодовой книге; если энергия узла решетки D больше максимального пирамидального поверхностного энергетического радиуса, осуществления усечения энергии отрегулированного подлежащего квантованию вектора в поддиапазоне кодирования, и передачи сообщения на первый субмодуль квантования узла решетки для усечения энергии до тех пор, пока энергия квантованного узла решетки энергетически связанного подлежащего квантованию вектора не станет больше максимального пирамидального поверхностного энергетического радиуса, и одновременно постоянного добавления энергии энергетически связанному подлежащему квантованию вектору, передачи сообщения на первый субмодуль квантования узла решетки с целью осуществления квантования подлежащего квантованию вектора с добавленной энергией для его отображения на узел решетки D до тех пор, пока энергия узла решетки D, до которой квантуется подлежащий квантованию вектор с добавленной энергией, не станет больше максимального пирамидального поверхностного энергетического радиуса, и передачи сообщения на субмодуль вычисления индекса квантования с целью вычисления индекса квантования последнего узла решетки D, чья энергия не больше максимального пирамидального поверхностного энергетического радиуса в кодовой книге;
8
модуль вычисления индекса квантования соединяется с первым субмодулем настройки энергии и предназначен для вычисления индекса квантования узла решетки D в кодовой книге в соответствии с сообщением первого субмодуля настройки энергии;
и
узел классификационного решетчатого векторного квантования и кодирования дополнительно включает модуль сферического решетчатого векторного квантования, соединенный с классификационным обрабатывающим модулем; классификационный обрабатывающий модуль предназначается для дополнительной передачи с целью обработки нормализованного подлежащего квантованию вектора из поддиапазона кодирования больших битовых значений в модуль сферического решетчатого векторного квантования;
модуль сферического решетчатого векторного квантования предназначен для выполнения сферического решетчатого векторного квантования нормализованного подлежащего квантованию вектора в поддиапазоне кодирования больших битовых значений; модуль сферического решетчатого векторного квантования включает второй субмодуль регулирования энергии, второй субмодуль квантования узла решетки, субмодуль вынесения решения о наличии нулевого векторного состояния, второй субмодуль настройки энергии и субмодуль вычисления индексного вектора, причем
второй субмодуль регулирования энергии предназначен для выполнения регулирования энергии 8-мерного подлежащего квантованию вектора в поддиапазоне кодирования;
8
второй субмодуль квантования узла решетки соединяется со вторым субмодулем регулирования энергии и предназначен для квантования 8-мерного подлежащего квантованию вектора для его отображения на узел решетки D,
8
8
8
8
8
region_bit(j)
субмодуль вынесения решения о наличии нулевого векторного состояния соединяют со вторым субмодулем квантования узла решетки и предназначен для вынесения решения о том, соответствует ли узел решетки D нулевому векторному состоянию, и в случае такого соответствия передачи сообщения на субмодуль вычисления индексного вектора с целью вычисления индексного вектора узла решетки D; а в случае несоответствия передачи сообщения на второй субмодуль настройки энергии с целью настройки энергии подлежащего квантованию вектора; наличие нулевого векторного состояния вызывает деление полученного квантованием значения узла решетки D на 2 в степени количества распределенных битов 2, и затем создание узла решетки D, причем созданный узел решетки D представляет собой нулевой вектор, где region_bit{j) представляет собой количество битов, распределенных одному коэффициенту домена частоты в j-том поддиапазоне кодирования;
8
8
8
второй субмодуль настройки энергии соединяется с субмодулем вынесения решения о наличии нулевого векторного состояния и вторым субмодулем квантования узла решетки и предназначен для выполнения усечения значения энергии подлежащего квантованию вектора, и передачи сообщения на второй субмодуль квантования узла решетки с целью квантования энергетически отрегулированного подлежащего квантованию вектора для его отображения на узел решетки D до достижения соответствия нулевому векторному состоянию; сохранение множественного значения w самого подлежащего квантованию вектора, добавление сохраненного множественного значения w к энергетически связанному подлежащему квантованию вектору, и передачи сообщения на второй субмодуль квантования узла решетки с целью квантования энергетически отрегулированного подлежащего квантованию вектора для его отображения на узел решетки D до достижения соответствия нулевому векторному состоянию; и передачи сообщения на субмодуль вычисления индексного вектора с целью вычисления самого нового индексного вектора для узла решетки D, соответствующего нулевому векторному состоянию;
8
субмодуль вычисления индексного вектора соединяют с субмодулем вынесения решения о наличии нулевого векторного состояния и вторым субмодулем настройки энергии и предназначен для вычисления индекса квантования узла решетки D в кодовой книге в соответствии с полученными сообщениями из субмодуля вынесения решения о наличии нулевого векторного состояния и второго субмодуля настройки энергии.
17. Система по п.16, отличающаяся тем, что
первый субмодуль регулирования энергии на этапе осуществления регулирования энергии 8-мерного подлежащего квантованию вектора в соответствии с количеством битов region_bit(j), распределенных одному коэффициенту частотного домена в поддиапазоне кодирования j, где располагается 8-мерный подлежащий квантованию вектор, предназначен для осуществления поиска в приведенной ниже таблице последовательного номера в кодовой книге index и коэффициента масштабирования энергии scale в соответствии с упомянутым количеством битов region_bit(j); и затем для осуществления регулирования энергии подлежащего квантованию вектора в соответствии со следующим уравнением:
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup><mo>=</mo><mrow><mo>(</mo><mrow><msubsup><mi>Y</mi><mi>j</mi><mi>m</mi></msubsup><mo>−</mo><mi>a</mi></mrow><mo>)</mo></mrow><mo>*</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi><mrow><mo>(</mo><mrow><mi>i</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow>
<mrow><msubsup><mi>Y</mi><mi>j</mi><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mi>Y</mi><mi>j</mi><mi>m</mi></msubsup></mrow>
-6
-6
-6
-6
-6
-6
-6
-6
где
представляет собой m-ый нормализованный 8-мерный подлежащий квантованию вектор в поддиапазоне кодирования j,
представляет собой 8-мерный подлежащий квантованию вектор после осуществления регулирования энергии
, a=(2, 2, 2, 2, 2, 2, 2, 2);
Количество битов Region_bit
Последовательный номер в кодовой книге Index
Коэффициент масштабирования энергии Scale
Максимальный пирамидальный поверхностный энергетический радиус LargeK
1
0
0,5
2
1,5
1
0,65
4
2
2
0,85
6
2,5
3
1,2
10
3
4
1,6
14
3,5
5
2,25
22
4
6
3,05
30
4,5
7
4,64
44
8
8
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
когда 8-мерный подлежащий квантованию вектор квантуется для его отображения на узел решетки D, то первый субмодуль квантования узла решетки осуществляет квантование 8-мерного вектора
с целью получения узла решетки D
с помощью следующего уравнения:
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup><mo>=</mo><msub><mi>ƒ</mi><mi>D</mi></msub><msub><mrow /><mn>8</mn></msub><mrow><mo>(</mo><mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mrow><mi>j</mi><mo>,</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi></mrow><mi>m</mi></msubsup></mrow><mo>)</mo></mrow><mo>,</mo></mrow>
D8
8
где ƒ(•) представляет собой оператор квантования для отображения определенного 8-мерного вектора на узел решетки D;
8
8
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
при вычислении индекса квантования узла решетки D
в кодовой книге субмодуль вычисления индекса квантования выполняет разметку узлов решетки на каждой пирамидальной поверхности в соответствии с амплитудой энергии на пирамидальной поверхности, и затем стандартную разметку узла решетки на всех пирамидальных поверхностях, причем стандартная метка представляет собой индекс квантования узла решетки D
в кодовой книге.
18. Система по п.14, отличающаяся тем, что
узел классификационного решетчатого векторного квантования и кодирования дополнительно включает модуль вынесения решения о типе кодирования, модуль кодирования по способу Хаффмана, модуль натурального кодирования и модуль изменения распределенных битов, причем
модуль вынесения решения о типе кодирования предназначен для вынесения решения о том, является ли общее количество расходуемых битов для кодирования по способу Хаффмана индексов квантования всех поддиапазонов кодирования малых битовых значений меньше общего количества битов, требуемого для осуществления натурального кодирования индексов квантования всех поддиапазонов кодирования малых битовых значений, и в случае положительного решения передачи сообщения на модуль кодирования по способу Хаффмана и модуль изменения распределенных битов; а если общее количество расходуемых битов для кодирования по способу Хаффмана индексов квантования всех поддиапазонов кодирования малых битовых значений больше или равно общему количеству битов, требуемых для натурального кодирования индексов квантования всех поддиапазонов кодирования малых битовых значений, передачи сообщения на модуль натурального кодирования;
модуль кодирования по способу Хаффмана предназначен для выполнения кодирования по способу Хаффмана индекса квантования в поддиапазоне кодирования малых битовых значений, и установки флажка кодирования коэффициента частотного домена по способу Хаффмана в 1 или в истинное состояние,
модуль натурального кодирования предназначен для выполнения натурального кодирования индекса квантования в поддиапазоне кодирования малых битовых значений и индексного вектора в поддиапазоне кодирования больших битовых значений;
модуль изменения распределенных битов предназначен для использования битов, сохраненных при кодировании по способу Хаффмана, для изменения количеств распределенных битов в поддиапазоне кодирования, и передачи сообщения на классификационный обрабатывающий модуль с целью классификации поддиапазонов кодирования по количеству подлежащих изменению распределенных битов, и затем повторного выполнения векторного квантования и кодирования.
19. Система по п.18, отличающаяся тем, что
модуль изменения распределенных битов, предназначенный для осуществления при выполнении распределения битов поиска поддиапазона кодирования с максимальной важностью среди всех поддиапазонов кодирования в том случае, если количество распределенных данному поддиапазону кодирования битов достигло максимального значения битов, которое может распределаться поддиапазону кодирования, выполняет регулировку важности наименее важного поддиапазона кодирования, и обеспечивает дальнейшее отсутствие изменения количества распределенных битов для поддианазона кодирования в том случае, если количество распределенных данному поддиапазону кодирования битов не достигло максимального значения, которое может распределаться поддиапазону кодирования, а затем выполняет изменение распределения битов для поддиапазона кодирования с максимальной важностью;
при изменении распределения битов осуществляет распределение I бита поддиапазону кодирования с количеством распределенных битов 0 и уменьшение важности на 1 после распределения битов; распределение 0,5 бита поддиапазону кодирования с количеством распределенных битов больше 0 и меньше 5, и уменьшение важности на 0,5 после распределения битов; распределение 1 бита поддиапазону кодирования с количеством распределенных битов больше 5, и уменьшение важности на 1 после распределения битов; и
после каждого случая изменения количества распределенных битов модулем изменения распределенных битов, т.е. увеличения на 1 отсчета итераций изменения количества распределенных битов, если значение отсчета итераций изменения количества распределенных битов достигает предустановленной верхней границы, или если количество битов, которое может использоваться, меньше количества битов, требуемого для изменения количества распределенных битов, происходит окончание процесса изменения количества распределенных битов.
20. Система по п.18, отличающаяся тем, что
когда модуль кодирования по способу Хаффмана осуществляет кодирования по способу Хаффмана индексов квантования всех поддиапазонов кодирования малых битовых значений,
во всех поддиапазонах кодирования, в которых количество битов, распределенных одному коэффициенту частотного домена, больше 1, меньше 5 и не равно 2, модуль кодирования по способу Хаффмана выделяет каждые 4 бита в натуральном двоичном коде для каждого индекса векторного квантования в одну группу и осуществляет ее кодирование по способу Хаффмана, причем сумма количества затраченных битов для этих 4 групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
во всех поддиапазонах кодирования, в которых количество битов, распределенных одному коэффициенту частотного домена равняется 2, модуль кодирования по способу Хаффмана использует 15 битов для кодирования индекса пирамидального решетчатого векторного квантования каждого 8-мерного вектора, и разбивает эти 15 битов на 3 4-битовые группы и 1 3-битовую группу, и затем соответственно осуществляет кодирование этих групп по способу Хаффмана, причем сумма количества затраченных битов для этих 4 групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
когда количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, то если индекс квантования меньше 127, тогда для кодирования индекса квантования модуль кодирования по способу Хаффмана использует 7 битов, разбивает эти 7 битов на 1 3-битовую группу и 1 4-битовую группу, и осуществляет кодирование по способу Хаффмана, соответственно, этих двух групп, причем сумма количества затраченных битов для этих двух групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
когда количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, то если индекс квантования равен 127, тогда модуль кодирования по способу Хаффмана определяет указанный натуральный двоичный код как "1111 1110", разбивает 7 первых 1 на 1 3-битовую группу и 1 4-битовую группу, и осуществляет кодирование по способу Хаффмана, соответственно, этих двух групп, причем сумма количества затраченных битов для этих двух групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования;
когда количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, то если индекс квантования равен 128, тогда модуль кодирования по способу Хаффмана определяет указанный натуральный двоичный код как "1111 1111", разбивает 7 первых 1 на 1 3-битовую группу и 1 4-битовую группу, и осуществляет кодирование по способу Хаффмана, соответственно, этих двух групп, причем сумма количества затраченных битов для этих двух групп при кодировании по способу Хаффмана представляет собой количество битов, затраченных при кодировании по способу Хаффмана индекса квантования.
21. Система декодирования звука с решетчатым векторным квантованием, включающая: демультиплексор битового потока, узел декодирования огибающей амплитуды поддиапазона кодирования, узел распределения битов, узел декодирования коэффициента частотного домена, узел инверсного классификационного решетчатого векторного квантования, узел инверсной нормализационной обработки, узел шумового заполнения и узел обратного модифицированного дискретного косинусного преобразования (ОМДКП), причем
демультиплексор битового потока предназначен для отделения кодированных битов огибающей амплитуды от подлежащего декодированию битового потока;
узел декодирования огибающей амплитуды поддиапазона кодирования соединяют с демультиплексором битового потока и предназначается для декодирования закодированных битов огибающей амплитуды с выхода демультиплексора битового потока с целью получения квантованной составляющей огибающей амплитуды в каждом поддиапазоне кодирования;
узел распределения битов соединяют с узлом декодирования огибающей амплитуды и предназначается для выполнения распределения битов с целью получения количества кодированных битов, распределенных каждому коэффициенту частотного домена в каждом поддиапазоне кодирования;
узел декодирования коэффициента частотного домена соединяют с узлом декодирования огибающей амплитуды и узлом распределения битов и предназначается для осуществления декодирования поддиапазона кодирования малых битовых значений с целью получения индекса квантования в поддиапазоне кодирования малых битовых значений; а также для осуществления декодирования поддиапазона кодирования больших битовых значений с целью получения индексного вектора в поддиапазоне кодирования больших битовых значений, где поддиапазон кодирования малых битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, меньше предварительно установленного порогового значения, а поддиапазон кодирования больших битовых значений представляет собой поддиапазон кодирования, в котором количество битов, распределенных одному коэффициенту частотного домена, больше предварительно установленного порогового значения или равно ему;
узел инверсного классификационного решетчатого векторного квантования предназначен для выполнения инверсного квантования индекса пирамидального решетчатого векторного квантования в поддиапазоне кодирования малых битовых значений, и выполнения инверсного квантования индекса сферического решетчатого векторного квантования в поддиапазоне кодирования больших битовых значений;
узел инверсной нормализационной обработки предназначен для выполнения инверсной нормализации значений, полученных после осуществления инверсного квантования в поддиапазоне кодирования, а также для получения коэффициента частотного домена;
узел шумового заполнения предназначен для выполнения заполнения шумом поддиапазона, которому узел инверсной нормализационной обработки не распределил бит для выходного значения коэффициента частотного домена;
узел обратного модифицированного дискретного косинусного преобразования (ОМДКП) соединяется с узлом шумового заполнения и предназначен для выполнения обратного модифицированного дискретного косинусного преобразования коэффициента частотного домена, для которого было выполнено шумовое заполнение с целью получения звукового сигнала.
22. Система по п.21, отличающаяся тем, что
узел распределения битов включает соединенные друг с другом модуль вычисления важности и модуль распределения битов, а также модуль изменения распределенных битов, соединенный с модулем распределения битов, причем
модуль вычисления важности предназначен для вычисления исходного значения важности каждого поддиапазона кодирования в соответствии со значением огибающей амплитуды в поддиапазоне кодирования;
модуль распределения битов предназначен для выполнения распределения битов каждому коэффициенту частотного домена в каждом поддиапазоне кодирования в соответствии с важностью каждого поддиапазона кодирования, причем во время распределения битов может изменяться длина этапа распределения битов и длина этапа уменьшения важности после распределения битов;
модуль изменения распределенных битов предназначен для выполнения изменения распределенных битов в поддиапазоне кодирования счетное количество раз после выполнения распределения битов в соответствии со значением отсчета итераций изменения количества распределенных битов и важностью каждого поддиапазона кодирования на стороне кодирования.
23. Система по п.21, отличающаяся тем, что
узел декодирования коэффициента частотного домена должен в том случае, когда он осуществляет декодирование в поддиапазоне кодирования малых битовых значений, и количество битов, распределенных одному коэффициенту частотного домена поддиапазона кодирования, равно 1, и если значение натурального двоичного кода индекса квантования меньше "1111 111", выполнять вычисление индекса квантования в соответствии со значением натурального двоичного кода; а если значение натурального двоичного кода индекса квантования равно "1111 111", тогда постоянно считывать следующий бит, причем если следующий бит - 0, тогда значение индекса квантования равно 127, если следующий бит - 1, тогда значение индекса квантования равно 128.
24. Система по п.22, отличающаяся тем, что
узел инверсного классификационного решетчатого векторного квантования включает классификационный обрабатывающий модуль и модуль инверсного пирамидального решетчатого векторного квантования, причем
классификационный обрабатывающий модуль предназначен для передачи индекса квантования в поддиапазоне кодирования малых битовых значений в модуль инверсного пирамидального решетчатого векторного квантования;
модуль инверсного пирамидального решетчатого векторного квантования предназначен для выполнения инверсного квантования индекса квантования в поддиапазоне кодирования малых битовых значений; модуль инверсного пирамидального решетчатого векторного квантования включает соединенные друг с другом первый субмодуль инверсного квантования узла решетки и первый субмодуль инверсного регулирования энергии, причем
8
первый субмодуль инверсного квантования узла решетки предназначен для определения энергетической пирамидальной поверхности, на которой располагается индекс квантования в поддиапазоне кодирования малых битовых значений, метка индекса квантования на этой энергетической пирамидальной поверхности, а также последующие решения для соответствующего узла решетки D;
первый субмодуль инверсного регулирования энергии предназначен для выполнения инверсного регулирования энергии решения Y для узла решетки Ds, получаемого из уравнения
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>˜</mo></mover><mi>j</mi><mi>m</mi></msubsup><mo>=</mo><mrow><mo>(</mo><mrow><mi>Y</mi><mo>+</mo><mi>a</mi></mrow><mo>)</mo></mrow><mo>/</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi><mrow><mo>(</mo><mrow><mi>i</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow>
-6
-6
-6
-6
-6
-6
-6
-6
где a=(2, 2, 2, 2, 2, 2, 2, 2) представляет собой коэффициент масштабирования;
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
узел инверсной нормализационной обработки предназначен для выполнения инверсной нормализационной обработки
с целью получения коэффициента частотного домена для m-того вектора из поддиапазона кодирования j, восстановленного на стороне декодирования:
q
где Th(j) представляет собой показатель степени квантования огибающей амплитуды в j-том поддиапазоне кодирования.
25. Система по п.22, отличающаяся тем, что
узел инверсного классификационного решетчатого векторного квантования дополнительно включает модуль инверсного сферического решетчатого векторного квантования; классификационный обрабатывающий модуль дополнительно предназначен для передачи индексного вектора из поддиапазона кодирования больших битовых значений в модуль инверсного сферического решетчатого векторного квантования для обработки;
модуль инверсного сферического решетчатого векторного квантования предназначен для осуществления инверсного квантования индексного вектора в поддиапазоне кодирования больших битовых значений; модуль инверсного сферического решетчатого векторного квантования включает соединенные друг с другом второй субмодуль инверсного квантования узла решетки и второй субмодуль инверсного регулирования энергии, причем
8
второй субмодуль инверсного квантования узла решетки предназначен для получения решения для узла решетки Ds, соответствующего индексному вектору, причем используемый этап для получения такого решения для узла решетки D, соответствующего индексному вектору, включает:
вычисление значения x=k*G, а также значения ytemp=x/(2^region_bit(j));
8
D8
8
и вычисление узла решетки D y=x-ƒ(ytemp)*(2^(region_bit{j}); где k представляет собой индексный вектор векторного квантования, region_bit{j) представляет собой количество битов, распределенных одному коэффициенту частотного домена в j-том поддиапазоне кодирования; G представляет собой порождающую матрицу узла решетки D и имеет следующий вид:
<mrow><mi>G</mi><mo>=</mo><mrow><mo>[</mo><mrow><mtable><mtr><mtd><mn>2</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mrow><mo>]</mo></mrow></mrow>
8
второй субмодуль инверсного регулирования энергии предназначен для выполнения инверсного регулирования энергии найденного значения узла решетки D, и обеспечивает получение
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup><mo>=</mo><mi>y</mi><mo>*</mo><mi>s</mi><mi>c</mi><mi>a</mi><mi>l</mi><mi>e</mi><mrow><mo>(</mo><mrow><mi>r</mi><mi>e</mi><mi>g</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo>_</mo><mi>b</mi><mi>i</mi><mi>t</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><mrow><msup><mn>2</mn><mrow><mi>r</mi><mi>e</mi><mi>g</mi><mi>i</mi><mi>o</mi><mi>n</mi><mo>_</mo><mi>b</mi><mi>i</mi><mi>t</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></msup></mrow><mo>)</mo></mrow><mo>+</mo><mi>a</mi><mo>,</mo></mrow>
-6
-6
-6
6
-6
-6
-6
-6
-
где a=(2, 2, 2, 2 , 2, 2, 2, 2), scale(region_bit(j)) представляет собой коэффициент масштабирования;
<mrow><msubsup><mover accent="true"><mi>Y</mi><mo>¯</mo></mover><mi>j</mi><mi>m</mi></msubsup></mrow>
узел инверсной нормализационной обработки предназначен для выполнения инверсной нормализационной обработки
с целью получения коэффициента частотного домена m-того вектора поддиапазона кодирования j, восстановленого на стороне декодирования:
q
где Th(j) представляет собой показатель степени квантования огибающей амплитуды в j-том поддиапазоне кодирования.