qisf_ns.tab revision 41050cdb033641ddf26831d9272c0930f7b40a2d
1
2/*
3 ** Copyright 2003-2010, VisualOn, Inc.
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 **     http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18
19/*-------------------------------------------------------------------*
20 *                         qisf_ns.h
21 *-------------------------------------------------------------------*
22 * Quantization tables for split by 5 VQ of ISFs for a background noise database
23 * Version whith no prediction
24 *-------------------------------------------------------------------*/
25
26#define ORDER   16            /* order of linear prediction filter */
27#define ISF_GAP 128
28
29#define SIZE_BK_NOISE1  64
30#define SIZE_BK_NOISE2  64
31#define SIZE_BK_NOISE3  64
32#define SIZE_BK_NOISE4  32
33#define SIZE_BK_NOISE5  32
34
35
36/* means of ISFs */
37 static Word16 mean_isf_noise[ORDER] = {
38
39   478,  1100,  2213,  3267,  4219,  5222,  6198,  7240,
40  8229,  9153, 10098, 11108, 12144, 13184, 14165,  3803};
41
42
43/* 28 bits */
44/*-------------------------------------------------------------------*
45 *  isf codebooks:  split-by-5 VQ                                    *
46 *                                                                   *
47 *  codebook   vector dimension    number of vectors                 *
48 *  ~~~~~~~~   ~~~~~~~~~~~~~~~~    ~~~~~~~~~~~~~~~~~                 *
49 *     1            2                  64                            *
50 *     2            3                  64                            *
51 *     3            3                  64                            *
52 *     4            4                  32                            *
53 *     5            4                  32                            *
54 *-------------------------------------------------------------------*/
55
56/*------------------------------------------------*
57 * 1st split:   isf0 to isf1
58 *------------------------------------------------*/
59
60
61 static Word16 dico1_isf_noise[SIZE_BK_NOISE1*2] = {
62
63  -269,  -673,
64  -222,  -537,
65  -233,  -430,
66  -138,  -451,
67  -212,  -331,
68  -192,  -241,
69   -87,  -231,
70  -191,  -128,
71   -70,  -106,
72  -164,    -6,
73    74,  -179,
74    27,   -33,
75  -102,    74,
76  -162,   115,
77   -94,   172,
78    -6,   130,
79  -143,   234,
80    14,   218,
81   -65,   270,
82    88,   182,
83  -124,   341,
84   -44,   381,
85    38,   335,
86   117,   274,
87  -112,   454,
88    74,   431,
89    -5,   488,
90   175,   384,
91   -83,   561,
92   122,   529,
93    21,   601,
94   229,   481,
95   231,   303,
96   226,   608,
97   300,   372,
98   210,   187,
99   306,   265,
100   328,   473,
101   382,   331,
102   371,   132,
103   139,    58,
104   365,    21,
105   250,   -82,
106   443,   218,
107   483,   110,
108   426,   415,
109   579,   222,
110   518,   333,
111   573,   448,
112   455,   529,
113   685,   329,
114   332,   580,
115   595,   593,
116   468,   645,
117   762,   517,
118   326,   709,
119   485,   793,
120   130,   684,
121   671,   737,
122   354,   876,
123    88,   806,
124   -65,   706,
125   -35,  1016,
126   266,  1123};
127
128
129/*------------------------------------------------*
130 * 2nd split:   isf2 to isf4
131 *------------------------------------------------*/
132
133 static Word16 dico2_isf_noise[SIZE_BK_NOISE2*3] = {
134
135  -824,  -884,  -949,
136  -805,  -456,  -418,
137  -442,  -438,  -541,
138  -217,  -578,  -793,
139  -168,  -444,  -582,
140  -287,  -492,  -274,
141  -552,  -297,  -300,
142  -163,  -333,  -358,
143  -370,  -232,  -232,
144  -175,  -358,  -159,
145  -381,   -21,  -357,
146  -184,  -159,  -162,
147   -53,  -191,  -280,
148    18,  -267,  -215,
149  -138,    61,  -283,
150    71,   -95,  -294,
151    13,  -156,  -546,
152     0,   -83,   -79,
153    44,    97,  -316,
154   178,   -52,  -213,
155   222,  -261,  -422,
156   237,  -118,   -44,
157   141,   145,  -132,
158   363,    81,  -287,
159   213,    65,    34,
160  -107,    94,    -5,
161    91,   -29,   126,
162  -355,    51,   -41,
163  -219,   -76,   145,
164   -63,   100,   244,
165  -719,    44,    27,
166  -572,  -124,   155,
167  -423,   133,   315,
168  -917,    71,   224,
169  -268,   318,   131,
170   -93,  -190,   420,
171   -97,   122,   491,
172   -79,   317,   355,
173   130,   100,   325,
174    86,  -293,   210,
175   133,   258,   161,
176   176,   -73,   465,
177   195,   300,   384,
178   348,    22,   221,
179   376,   183,   409,
180   377,   286,   202,
181   242,   213,   659,
182   257,   565,   248,
183   344,   408,   -76,
184   405,   440,   509,
185   612,   385,   379,
186   536,   607,   216,
187   -56,   582,   192,
188   100,   517,   567,
189  -365,   448,   445,
190   728,   347,    10,
191   505,   357,   759,
192   636,   582,   658,
193   335,   517,   852,
194   378,   809,   572,
195  -195,   878,   829,
196   529,   707,   987,
197   918,   726,   392,
198  1250,   997,  1063};
199
200/*------------------------------------------------*
201 * 3rd split:   isf5 to isf7
202 *------------------------------------------------*/
203
204 static Word16 dico3_isf_noise[SIZE_BK_NOISE3*3] = {
205
206  -805,  -838,  -774,
207  -522,  -627,  -828,
208  -477,  -486,  -603,
209  -295,  -481,  -634,
210  -366,  -384,  -393,
211  -186,  -414,  -396,
212  -237,  -394,  -106,
213  -252,  -202,  -275,
214   -61,  -177,  -442,
215   -84,  -198,  -199,
216  -179,  -125,   -31,
217   -72,   -47,  -163,
218  -298,  -220,   215,
219   -64,  -168,   251,
220  -133,   156,   -59,
221   -30,    -2,   127,
222    54,    66,   -61,
223  -233,    21,   251,
224   209,   -50,    32,
225    33,   194,   136,
226  -117,   -18,   475,
227   202,    46,   309,
228   256,   185,    53,
229    35,   200,   390,
230   200,   263,   242,
231  -216,   302,   294,
232   128,   358,     0,
233    19,   431,   287,
234   224,   447,   280,
235   367,   165,   213,
236   397,   314,   319,
237   383,   379,    75,
238   277,   325,   462,
239   394,   505,   334,
240   251,    98,  -213,
241   450,   153,   448,
242   565,   226,    76,
243   470,   383,   502,
244   635,   390,   278,
245   237,   135,   620,
246   342,   401,   649,
247   331,   551,   518,
248   130,   418,   592,
249   531,   306,   737,
250   729,   389,   580,
251   497,   557,   699,
252   296,   383,   874,
253   283,   624,   759,
254   126,   622,   476,
255   559,   595,   472,
256   382,   770,   616,
257   719,   613,   745,
258   540,   639,   928,
259   517,   826,   801,
260   684,   811,   604,
261   752,   786,   857,
262   933,   661,   350,
263   694,   450,  1061,
264   562,   911,  1051,
265   824,   813,  1104,
266   758,  1047,   882,
267  1140,   917,   889,
268  1039,  1246,  1426,
269  1483,  1666,  1876};
270
271/*------------------------------------------------*
272 * 4th split:   isf8 to isf11
273 *------------------------------------------------*/
274
275 static Word16 dico4_isf_noise[SIZE_BK_NOISE4*4] = {
276
277  -776,  -854,  -891,  -920,
278  -552,  -610,  -663,  -741,
279  -321,  -370,  -476,  -565,
280   274,  -160,  -456,   201,
281   265,    67,  -160,  -306,
282    -8,  -210,    79,   272,
283   163,   236,   307,   308,
284   578,   317,    64,   298,
285    -9,   197,   342,   620,
286   343,   232,   314,   622,
287   173,   149,   548,   527,
288   356,   370,   481,   376,
289   135,   444,   488,   556,
290   391,   471,   487,   653,
291   228,   424,   576,   835,
292   422,   372,   722,   682,
293   295,   673,   693,   635,
294   539,   596,   590,   449,
295   475,   618,   659,   818,
296   735,   517,   491,   673,
297   602,   346,   257,   877,
298   625,   635,   849,   720,
299   727,   818,   698,   595,
300   653,   481,   690,  1139,
301   814,   762,   704,   908,
302   507,   747,   898,   936,
303   848,   855,   924,   785,
304   646,  1037,   882,   795,
305   772,   845,  1024,  1151,
306  1133,   983,   818,   921,
307   940,  1068,  1252,  1302,
308  1588,  1767,  1718,  1513};
309
310/*------------------------------------------------*
311 * 5th split:   isf12 to isf15
312 *------------------------------------------------*/
313
314 static Word16 dico5_isf_noise[SIZE_BK_NOISE5*4] = {
315  -810,  -879,  -945,  -254,
316   248,   184,   671,   128,
317   288,   703,   918,    99,
318   658,   558,   662,   219,
319   552,   585,   910,   208,
320   559,   804,   759,   119,
321   606,   774,   921,  -139,
322   782,   761,   748,   208,
323   756,   708,   983,    56,
324   544,   864,  1010,   152,
325   737,   698,   987,   299,
326   771,   924,   879,   103,
327   536,   785,   961,   405,
328   667,   916,   801,   328,
329   738,   705,   773,   439,
330   823,   871,   992,   355,
331   640,  1004,  1052,   369,
332   724,   822,   949,   597,
333   415,   655,   729,   482,
334  1009,   896,   793,   363,
335   908,   803,   687,   -25,
336  1016,   838,  1011,   189,
337   947,  1112,   942,   222,
338   914,  1049,   981,   527,
339   956,   987,  1011,  -120,
340   781,  1049,  1121,    92,
341  1178,  1053,   884,    47,
342  1123,  1059,  1182,   118,
343   933,   972,  1277,   357,
344  1109,   918,  1101,   503,
345  1039,  1286,  1220,   317,
346  1351,  1207,  1010,   326};
347
348