⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read.me

📁 语音压缩编码和解码的标准,其中包含部分源代码
💻 ME
字号:
                        ANSI-C Simulation of G.723.1/Annex C
                        ====================================

0. Introduction:
================
This channel codec ANSI-C simulation is part of the G.723.1/Annex C
recommendation.
All mandatory parts described in Annex C are implemented here.
In the case of discrepancies between description and C code, the C simulation
shall be adopted as reference.

All non mandatory parts in the channel decoder have to be considered as
implementation examples. In particular the Viterbi soft output generation has
not been included since this part will be implemented by each manufacturer
differently.


1. Description:
===============
The channel simulation is divided in three parts:
         o channel encoder                  subdirectory enc/
         o mapping between channel encoder
           output and decoder input         subdirectory map/
         o channel and speech decoder       subdirectory dec/

The test sequences are contained in subdirectory testseq/ .
Subdirectory src5.1/ contains an extended G.723.1-Version5.1 decoder where a
proposal for error concealment in the speech decoder is implemented.

In the v3.1/ directory a UNIX script and a DOS batch file are included to
process the "encoder-network-decoder" chain.

The script or batch file is called with maximum five arguments:

   process.unx  $1   $2   $3   $4   $5

   or

   process.bat  $1   $2   $3   $4   $5


$1 : input G.723.1 bitstream file. This is a file which is produced by the
     G.723.1-V5.1 speech encoder.

$2 : synthesized output speech file. This is the synthesized speech signal
     (output of the G.723.1-V5.1 speech decoder which is processed in dec/).
     Note that the speech decoder has been modified to accomodate concealment
     functions. The original "decod.c" has been extended by introducing a
     subroutine "SignalConcealment" which is called when determining the
     overall excitation signal. All extensions can be activated by setting the
              #define CHANNEL  1 (default setting)
     If
              #define CHANNEL  0
     the decoder is the same as the original "decod.c".
     In the case of error free reception there are no differences in the
     output signal of the two decoder versions.

$3 : channel bitrate configuration file. This ASCII file contains the
     two allowed channel bitrates (this is the 1 bit channel codec
     configuration code which is transmitted inline together with the 2 bit
     speech codec configuration code).
     An example file in v3.1/ is named "bitrate.cfg".

$4 : requested channel bitrate. This is the channel bitrate requested by the
     system control which can be any bitrate in the allowed range. This
     bitrate is mapped to the next lower allowed channel bitrate defined above.
     Either a fixed channel bitrate (e.g. 12000) or a binary file with 16 bit
     channel bitrate values for each 30 ms frame can be specified.
     An example file in v3.1/ is named "chanrate.req".
     Hence it is possible to change not only the speech codec mode but also
     the channel bitrate in each 30 ms frame.

$5 : If nothing is specified the whole file is processed
     If "/f=xxx" is specified only xxx frames are processed.

The processing produces two intermediate files:
   1) chanbit.tx : This is the packed channel bitstream produced by the
                   channel encoder in the format described in Table C7.
                   This bitstream is transmitted via the network.
   2) chanbit.rx : This is the channel bitstream received by the decoder.
                   Note that this file is significantly longer than the *.tx file
                   out of two reasons:
                    o these values are soft values, i.e. each channel bit is
                      the MSB of an 8 bit soft value
                    o the network simulator writes all bits representing the
                      maximum channel capacity to the file. Hence there are a
                      lot of unused bits depending on the channel bitrate
                      used.


2. Installation:
================
There are six subdirectories:
        o /v3.1         : input/output files and configuration files for
                          channel codec software
        o /v3.1/enc     : channel encoder source code version 3.1
        o /v3.1/map     : mapping from channel encoder output to channel
                          decoder input
        o /v3.1/dec     : channel decoder V3.1 and speech decoder V5.1
        o /v3.1/testseq : test sequences for channel encoder
        o /src5.1       : G.723.1 source decoder with error concealment

1) Compile the G.723.1 source decoder in /src5.1 together with the other
   G.723.1 C routines (see diskette with G.723.1 code).
2) Compile the source codes in
         o /v3.1/enc
         o /v3.1/map
         o /v3.1/dec
   UNIX makefiles are included.
3) Check the installation by executing the UNIX script file

   process.unx vad_test.tco test.out bitrate.cfg chanrate.req

   or the DOS batch file

   process.bat vad_test.tco test.out bitrate.cfg chanrate.req .

   "test.out" shall be bit exact with "vad_test.rou"

   (Caution: the files "chanrate.req" and "vad_test.rou" are stored in DOS
format!)



3. Executing the test sequences:
================================
   /testseq contains a DOS and a UNIX script file to exercise all test
sequences.
   The processed files are compared to the reference. No difference shall
occur.

   Details of the test sequences' construction can be found in file
testseq.txt contained in subdirectory /testseq .

   (Caution: the file "chanrate.req" is stored in DOS format!)



4. Editorial Error Report
=========================
A minor editorial error in the recommendation text has been discovered after
the approval of this annex by ITU-T:

   In section 2.5.4 the BCH code is specified stating:
           "A (13,5) block code with the generator polynomial ..."
   The correct specification should be :
           "A (13,3) block code with the generator polynomial ..."
   All the other specifications of that subsection, i.e. the generator
   polynomial, are correct. This also holds for the C-simulation.

Since the recommendation text is frozen a correction of this editorial error
was not possible.


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -