Home | History | Annotate | Download | only in inc
      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