home *** CD-ROM | disk | FTP | other *** search
/ Internet Standards / CD2.mdf / ccitt / 1992 / g / g727.asc < prev    next >
Text File  |  1993-08-15  |  15KB  |  490 lines

  1. C:\WINWORD\CCITTREC.DOT
  2.  
  3.  
  4.  
  5.  
  6.  
  7. INTERNATIONAL  TELECOMMUNICATION  UNION
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. CCITT    G.727
  16.  
  17. THE  INTERNATIONAL
  18. TELEGRAPH  AND  TELEPHONE
  19. CONSULTATIVE  COMMITTEE
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. GENERAL  ASPECTS  OF DIGITAL
  30.  
  31. TRANSMISSION SYSTEMS;
  32.  
  33. TERMINAL EQUIPMENTS
  34.  
  35.  
  36.  
  37.  
  38.  
  39. 5-,  4-,  3- AND  2-BITS  SAMPLE EMBEDDED  ADAPTIVE 
  40. DIFFERENTIAL PULSE  CODE  MODULATION  (ADPCM)
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. Recommendation  G.727
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Geneva, 1990
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134. Printed in Switzerland
  135.  
  136.  
  137.  
  138.  
  139.  
  140. FOREWORD
  141.  
  142.     The CCITT (the International Telegraph and Telephone Consultative 
  143. Committee) is a permanent organ of the International Telecommuni-
  144. cation Union (ITU). CCITT is responsible for studying technical, 
  145. operating and tariff questions and issuing Recommendations on them 
  146. with a view to standardizing telecommunications on a worldwide 
  147. basis.
  148.  
  149.     The Plenary Assembly of CCITT which meets every four years, 
  150. establishes the topics for study and approves Recommendations pre-
  151. pared by its Study Groups. The approval of Recommendations by the 
  152. members of CCITT between Plenary Assemblies is covered by the 
  153. procedure laid down in CCITT Resolution No. 2 (Melbourne, 1988).
  154.  
  155.     Recommendation G.727 was prepared by Study Group XV and was 
  156. approved under the Resolution No. 2 procedure on the 14th of December 
  157. 1990.
  158.  
  159.  
  160.  
  161.  
  162.  
  163. ___________________
  164.  
  165.  
  166.  
  167.  
  168.  
  169. CCITT  NOTE
  170.  
  171.     In this Recommendation, the expression ôAdministrationö is used for 
  172. conciseness to indicate both a telecommunication Administration and 
  173. a recognized private operating agency.
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193. πITU1990
  194.  
  195. All rights reserved. No part of this publication may be reproduced or uti-
  196. lized in any form or by any means, electronic or mechanical, including pho-
  197. tocopying and microfilm, without permission in writing from the ITU.
  198.  
  199. PAGE BLANCHE
  200.  
  201. Recommendation G.727
  202.  
  203. Recommendation G.727
  204.  
  205. 5-,  4-,  3-  AND  2-bits  SAMPLE  EMBEDDED  ADAPTIVE
  206. DIFFERENTIAL PULSE  CODE  MODULATION  (ADPCM)
  207.  
  208. 1    Introduction
  209.  
  210.     This Recommendation contains the specification of an embedded 
  211. Adaptive Differential Pulse Code Modulation (ADPCM) algorithms with 5-
  212. , 4-, 3- and 2-bits per sample (i.e., at rates of 40, 32, 24 and 16kbit/s). The 
  213. characteristics below are recommended for the conversion of 64kbit/s. 
  214. A-law or m-law PCM channels to/ from variable rate-embedded ADPCM 
  215. channels.
  216.  
  217.     The Recommendation defines the transcoding law when the source 
  218. signal is a pulse-code modulation signal at a pulse rate of 64kbit/s devel-
  219. oped from voice frequency analog signals as fully specified by Blue Book 
  220. Volume, RecommendationG.711.
  221.  
  222.     Applications where the encoder is aware and the decoder is not aware 
  223. of the way in which the ADPCM codeword bits have been altered, or when 
  224. both the encoder and decoder are aware of the ways the codewords are 
  225. altered, or where neither the encoder nor the decoder are aware of the ways 
  226. in which the bits have been altered can benefit from other embedded 
  227. ADPCM algorithms.
  228.  
  229. 2    General
  230.  
  231.     The embedded ADPCM algorithms specified here are extensions of 
  232. the ADPCM algorithms defined in RecommendationG.726 and are recom-
  233. mended for use in packetized speech systems operating according to the 
  234. Packetized Voice Protocol (PVP) specified in draft RecommendationG.764.
  235.  
  236.     PVP is able to relieve congestion by modifying the size of a speech 
  237. packet when the need arises. Utilizing the embedded property of the algo-
  238. rithm described here, the least significant bit(s) of each codeword can be 
  239. disregarded at packetization points and/or intermediate nodes to relieve con-
  240. gestion. This provides for significantly better performance than by dropping 
  241. packets during congestion.
  242.  
  243.     Section 3 outlines a description of the ADPCM transcoding algo-
  244. rithm. Figure1/G.727 shows a simplified block diagram of the encoder and 
  245. the decoder. Sections4 and5 provide the principles and functional descrip-
  246. tions of the ADPCM encoding and decoding algorithms, respectively. 
  247. Section6 contains the computational details of the algorithm. In this sec-
  248. tion, each sub-block in the encoder and decoder is precisely defined using 
  249. one particular logical sequence. If other methods of computation are used, 
  250. extreme care should be taken to ensure that they yield exactly the same 
  251. value for the output processing variables. Any further departures from the 
  252. processes detailed in Section6 will incur performance penalties which may 
  253. be severe.
  254.  
  255. Figure 1/G.727 = 14,5 cm
  256.  
  257.  
  258.  
  259. 3    Embedded ADPCM algorithms
  260.  
  261.     Embedded ADPCM algorithms are variable bit rate coding algorthms 
  262. with the capability of bit dropping outside the encoder and decoder blocks. 
  263. They consist of a series of algorithms such that the decision levels of the 
  264. lower rates quantizers are subsets of the quantizer at the highest rate. This 
  265. allows bit reductions at any point in the network without the need of coordi-
  266. nation between the transmitter and the receiver. In contrast, the decision lev-
  267. els of the conventional ADPCM algorithms. such as those in 
  268. RecommendationG.726, are not subsets of one another and therefore, the 
  269. transmitter must inform the receiver of the coding rate the encoding algo-
  270. rithm.
  271.  
  272.     Embedded algorithms can accommodate the unpredictable and bursty 
  273. characteristics of traffic patterns that require congestion relief. Because con-
  274. gestion relief may occur after the encoding is performed, embedded coding 
  275. is different from variable-rate coding where the encoder and decoder must 
  276. use the same number of bits in each sample. In both cases, the decoder must 
  277. be told the number of bits to use in each sample.
  278.  
  279.     Embedded algorithms produce code words which contain enhance-
  280. ment bits and core bits. The Feed-Forward (FF) path utilizes enhancement 
  281. and core bits, while the Feedback (FB) path uses core bits only. The inverse 
  282. quantizer and the predictor of both the encoder and the decoder use the core 
  283. bits. With this structure, enhancement bits can be discarded or dropped dur-
  284. ing network congestion. However, the number of core bits in the FB paths of 
  285. both the encoder and decoder must remain the same to avoid mistracking.
  286.  
  287.     The four embedded ADPCM rates are 40, 32, 24 and 16kbit/s, where 
  288. the decision levels for the 32, 24 and 16kbit/s quantizers are sub-sets of 
  289. those for the 40kbit/s quantizer. Embedded ADPCM algorithms are 
  290. referred to by (x, y) pairs where x refers to the FF (enhancement and core) 
  291. ADPCM bits and y refers to the FB (core) ADPCM bits. For example, if y is 
  292. set to 2bits, (5,2) will represent the 40kbits/s embedded algorithm, (4,2) 
  293. will represent the 32kbit/s embedded algorithm, (3,2) will represent the 
  294. 24kbit/s embedded algorithm and (2,2) the 16 kbit/s algorithm. The bit rate 
  295. is never less than 16kbit/s because the minimum number of core bits is2. 
  296. Simplified block diagrams of both the embedded ADPCM encoder and 
  297. decoder are shown in Figure1/G.727.
  298.  
  299.     The Recommendation provides coding rates of 40, 32, 24 and 16kbit/
  300. s and core rates of 32, 24 and 16kbit/s. This corresponds to the following 
  301. pairs: (5,2), (4,2), (3,2), (2,2); (5,3), (4,3), (3,3); (5,4), (4,4).
  302.  
  303. 3.1    ADPCM encoder
  304.  
  305.     Subsequent to the conversion of the A-law or m-law PCM input sig-
  306. nal to uniform PCM, a difference signal is obtained by subtracting an esti-
  307. mate of the input signal from the input signal itself. An adaptive4-, 8-, 16- 
  308. or 32-level quantizer is used to assign 2, 3, 4 or 5 binary digits to the value 
  309. of the difference signal for transmission to the decoder. (Not all the bits nec-
  310. essarily arrive at the decoder since some of these bits can be dropped to 
  311. relieve congestion in the packet network. For a given received sample, how-
  312. ever, the core bits are guaranteed arrival if there are no transmission errors 
  313. and the packets arrive at destination.) FB bits are fed to the inverse quan-
  314. tizer. The number of core bits depends on the embedded algorithm selected. 
  315. For example, the (5,2) algorithm will always contain 2core bits. The 
  316. inverse quantizer produces a quantized difference signal from these binary 
  317. digits. The signal estimate is added to this quantized difference signal to 
  318. produce the reconstructed version of the input signal. Both the reconstructed 
  319. signal and the quantized difference signal are operated upon by an adaptive 
  320. predictor which produces the estimate of the input signal, thereby complet-
  321. ing the feedback loop.
  322.  
  323. 3.2    ADPCM decoder
  324.  
  325.     The decoder includes a structure identical to the FB portion of the 
  326. encoder. In addition, there is also an FF path that contains a uniform PCM to 
  327. A-law or m-law conversion. The core as well as the enhancement bits are 
  328. used by the synchronous coding adjustment block to prevent cumulative 
  329. distortion on synchronous tandem codings (ADPCM-PCM-ADPCM, etc., 
  330. digital connections) under certain conditions (see º5.10). The synchronous 
  331. coding adjustment is achieved by adjusting the PCM output codes to elimi-
  332. nate quantizing distorsion in the next ADPCM encoding stage.
  333.  
  334. 3.3    One's density requirements
  335.  
  336.     These algorithms produce the all-zero code words. If requirements on 
  337. one's density exist in national networks, other methods should be used to 
  338. ensure that this requirement is satisfied.
  339.  
  340. 3.4    Applications
  341.  
  342.     In the anticipated application with G.764, the Coding Type (CT) field 
  343. and the block Dropping Indicator (BDI) field in the packet header defined in 
  344. G.764 will inform the coder of what algorithm to use. For all other applica-
  345. tions, the information that PVP supplies must be made known to the 
  346. decoder.
  347.  
  348. 4    ADPCM encoder principles
  349.  
  350.     Figure 2/G.727 is a block schematic of the encoder. For each variable 
  351. to be described, k is the sampling index and samples are taken at 125ms 
  352. intervals. A description of each block is given in ºº4.1 to 4.9.
  353.  
  354. Fig. 2/G.727 = 9,5 cm
  355.  
  356.  
  357.  
  358. 4.1    Input PCM format conversion
  359.  
  360.     This block converts the input signal s(k) from A-law or m-law PCM 
  361. to a uniform PCM signal sl(k).
  362.  
  363. 4.2    Difference signal computation
  364.  
  365.     This block calculates the difference signal d(k) from the uniform 
  366. PCM signal sl(k) and the signal estimate se(k).
  367.  
  368. 4.3    Adaptive quantizer
  369.  
  370.     A 4-, 8-, 16- or 32-level non-uniform mid-rise adaptive quantizer is 
  371. used to quantize the difference signal d(k). Prior to quantization, d(k) is con-
  372. verted to a base 2logarithmic representation and scaled by y(k) which is 
  373. computed by the scale factor adaptation block. The normalized input/output 
  374. characteristic (infinite precision values) of the quantizer is given in 
  375. Tables1/G.727 through 4/G.727 for the 16, 24, 32 and 40kbit/s algorithms, 
  376. respectively. Two, three, four or five binary digits are used to specify the 
  377. quantized level representing d(k) (the most significant bit represents the 
  378. sign bit and the remaining bits represent the magnitude). The 2-, 3-, 4- or 5-
  379. bit quantizer output I(k) forms the 16, 24, 32 or 40kbit/s output signal and 
  380. is also fed to the bit-masking block. I(k) includes both the enhancement and 
  381. core bits.
  382.  
  383. 4.4    Bit masking
  384.  
  385.     This block produces the core bits Ic(k) by logically right-shifting the 
  386. input signal I(k) so as to mask the maximum droppable (least significant) 
  387. bits. The number of bits to mask and the number of places to right shift 
  388. depend on the embedded algorithm selected. For example, this block will 
  389. mask the two least significant bits (LSB's) and shift the remaining bits two 
  390. places to the right when the (4,2) algorithm is selected. The output of the 
  391. bit-masking block Ic(k) is fed to the inverse adaptive quantizer, the quan-
  392. tizer scale factor adaptation and the adaptation speed control blocks.
  393.  
  394.  
  395.  
  396. 4.5    Inverse adaptive quantizer
  397.  
  398.     The inverse quantizer uses the core bits to compute a quantized ver-
  399. sion dq(k) of the difference signal using the scale factor y(k) and Table1/
  400. G.727, 2/G.727, 3/G.727 or 4/G.727 and then taking the antilog to the 
  401. base2 of the result. The estimated difference se(k) is added to dq(k) to pro-
  402. duce the reconstructed version sr(k) of the input signal. Table1/G.727, 2/
  403. G.727, 3/G.727 or 4/G.727 will be applicable only when there are 2, 3, 4 or 
  404. 5bits, respectively, in the FF path.
  405.  
  406. 4.6    Quantizer scale factor adaptation
  407.  
  408.     This bloc computes y(k), the scaling factor for the quantizer and the 
  409. inverse quantizer. (The scaling factor y(k) is also fed to the adaptation speed 
  410. control block.) The inputs are the bit-masked output Ic(k) and the adaptation 
  411. speed control parameter al(k).
  412.  
  413.     The basic principle used in scaling the quantizer is bimodal adapta-
  414. tion:
  415.  
  416. ù    fast for signals (e.g., speech) that produce difference signals with 
  417. large fluctuations,
  418.  
  419. ù    slow for signals (e.g., voiceband data, tones) that produce differ-
  420. ence signals with small fluctuations.
  421.  
  422.     The speed of adaptation is controlled by a combination of fast and slow 
  423. scale factors.
  424.  
  425.     The fast (unlocked) scale factor yu(k) is recursively computed in the base2 
  426. logarithmic domain from the resultant logarithmic scale factor y(k):
  427.  
  428. where
  429.  
  430.     yu(k) is limited by 1.06 ú yu(k) ú 10.00.
  431.  
  432.     For 2-core-bit operation (1 sign bit), the discrete function W[Ic(k)] is 
  433. defined as follows (infinite precision values):
  434.  
  435.  
  436.  
  437.     For 3-core-bit operation (1 sign bit), the discrete function W[Ic(k)] is 
  438. defined as follows (infinite precision values):
  439.  
  440.     For 4-core-bit (1 sign bit) operation, the discrete function W[Ic(k)] is 
  441. defined as follows (infinite precision values):
  442.  
  443.  
  444.  
  445.     The factor (1 û 2û5) introduces finite memory into the adaptive pro-
  446. cess so that the states of the encoder and decoder converge following trans-
  447. mission errors.
  448.  
  449.     The slow (locked) scale factor yl(k) is derived from yu(k) with a low 
  450. pass filter operation:
  451.  
  452.     The fast and slow scale factors are then combined to form the result-
  453. ant scale for:
  454.  
  455. where
  456.  
  457.     0 ú al(k) ú 1.
  458.  
  459. 4.7    Adaptation speed control
  460.  
  461.     The controlling parameter al(k) can assume values in the range [0, 1]. 
  462. It tends towards unity for speech signals and towards zero for voiceband 
  463. data signals. It is derived from a measure of the rate-of-change of the differ-
  464. ence signal values.
  465.  
  466.     Two measures of the average magnitude of Ic(k) are computed:
  467.  
  468. and
  469.  
  470. where
  471.  
  472.     F[Ic(k)] is defined by
  473.  
  474.  
  475.  
  476. for 2-core-bit (1 sign bit) operation; or
  477.  
  478.  
  479.  
  480. for 3-core-bit (1 sign bit) operation; or
  481.  
  482.  
  483.  
  484. for 4-core-bit (1 sign bit) operation.
  485.  
  486.     Thus, dms(k) is a relatively short term average of F[Ic(k)] and dml(k) 
  487. is a relatively long term average of F[Ic(k)].
  488.  
  489.     Using these two averages, the variable ap(k) is defined:
  490.