CA2128708C

Method and system for the arrangement of vocoder data for the masking of transmission channel induced errors

Abstract

A method and system (16) by which parameter data representative of vocoded speech are organized into a data packet fortransmission so as to reduce the impact of transmission channel induced errors on the data packet. A data packet is constructedwith certain most perceptually significant bits of parameter data at the beginning of the data packet. Following in the data packetare lesser perceptually bits of the same parameter data. Other parameter data then follows in the data packet.Interleaved in the data packet following the most perceptually significant bits at the beginning of the data packet are most perceptuallysignificant bits of other parameter data. A parity check code is computed from the most perceptually significant bits in the datapacket and also interleaved in the data packet following the most perceptually significant bits at the beginning of the data packet.

Term

Term ended

Expired 26 January 2013, 13.7 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

45 claims: 15 independent, 30 dependent

  1. 1
    27 CLAIMS 1. In a vocoding system a method for formatting vocoded speech parameter data corresponding to a frame of speech samples into a data packet for transmission comprising the steps of:receiving vocoded speech parameter data wherein certain data of said vocoded speech parameter data is of greater relative importance than other data of said vocoded speech parameter data;providing a certain portion of said certain data at a beginning of a data packet;providing another certain portion of said certain data following said certain portion of said certain data in said data packet;and providing a remaining portion of said certain data interleaved within said other data following said another certain portion of said certain data in said data packet.
  2. 2
    The method of Claim 1 further comprising the steps of:computing an error correcting code from said certain data of said vocoded speech parameter data;and interleaving said error correcting code within said interleaved remaining portion of said certain data and other data within said data packet.
  3. 3
    The method of Claim 1 wherein said certain portion is of a first parameter type and wherein said another certain portion comprises data of said first parameter type and data of a second parameter type and wherein said step of providing said another certain portion of said certain data comprises the steps of:providing said data of said first parameter type immediately following said certain portions of certain data in said data packet;and 28 providing said data of said first parameter type immediately following said data of said first parameter type in said data packet.
  4. 4
    The method of Claim 2 wherein said another portion of said certain data comprises data of a second parameter type and data of a third parameter type and wherein said other data comprises data of a third data type and data of a fourth parameter type and wherein said step of providing said remaining portion of said certain data following said certain portions of one of said certain speech parameter data set in said data packet comprises the steps of:providing said data of said third parameter type immediately following said data set in said data packet;and providing said data of said fourth parameter type immediately following said data of said third parameter type in said data packet.
  5. 5
    In a vocoding system in which a variable rate linear prediction coding (LPC) vocoder encodes frames of speech samples to produce corresponding sets of encoded speech parameter data based upon an analysis of speech samples in each speech sample frame and predetermined subframes thereof, a method for formatting a frame of one rate parameter data for transmission to reduce the impact of transmission channel induced errors in a transmitted frame of parameter data as received and reconstructed into a corresponding frame of speech samples, said method comprising the steps of:receiving Line Spectral Pair (LSP) frequency data;receiving pitch data;receiving codebook data;computing a parity check code from certain ones of said LSP data, said pitch data and said codebook data;assembling in a predetermined sequence at a beginning of a data packet a first portion of each one of said LSP frequency data;assembling in a predetermined sequence a second portion of each one 29 portion of LSP frequency data following said sequence of first portion of said LSP frequency data in said data packet;providing a sequence of said pitch data and said codebook data [from said plurality of first sets of pitch and codebook data] following said sequence of second portion of LSP frequency data in said data packet;and providing said parity check code within said data packet.
  6. 6
    The method of Claim 5 further comprising the step of interleaving said parity check code within said data packet following said first portion of each one of said LSP frequency data.
  7. 7
    The method of Claim 6 further comprising the step of interleaving within said data packet a portion of each codebook data within said sequence of second portion of each one of said LSP frequency data and within said sequence of said pitch data and said codebook data, and wherein said parity check codes are interleaved within said sequence of pitch data and codebook data following said interleaved portions of codebook data.
  8. 8
    The method of Claim 5 wherein at said one rate said first plurality of sets of pitch data comprises four sets of pitch data with each set of pitch data comprising pitch lag and pitch gain data, and said first plurality of sets of codebook data comprises eight sets of codebook data with each set of codebook data comprising codebook index and codebook gain data.
  9. 9
    The method of Claim 5 for formatting a frame of another rate parameter data for transmission further comprising the steps:receiving second Line Spectral Pair (LSP) frequency data;receiving second pitch data;receiving second codebook data;assembling in a predetermined sequence at a beginning of a data packet each one of said LSP data of said second LSP data;and assembling in a predetermined sequence said second pitch data and codebook data following said sequence of LSP data in said data packet.
  10. 10
    In a vocoding system in which a vocoder produces variable rate frames of parameter data and corresponding frame rate indications, a data packing system for assembling each frame of parameter data into a data packet comprising:parity check bit computation means for receiving a frame rate indication and predetermined portions of a frame of parameter data, said parity check bit computation means responsive to a highest frame rate indication for computing and providing an output of parity check bit data;and data packing means for receiving said frame rate indication, said frame of parameter data and said parity check bit data, said data packing means responsive to said frame rate indication for organizing said frame of parameter data for output according to a predetermined format in a data packet, wherein at said highest frame rate indication said data packing means arranges said data packet beginning with a sequence of a portion of each parameter data of one parameter data type followed by a sequence of a remaining portion of each parameter data of said one parameter data type, remaining parameter data of said frame of parameter data and said parity check bit data.
  11. 11
    The system of Claim 10 wherein said data packing means in response to said highest frame rate indication is further for arranging said data packet with a portion of said remaining parameter data and said parity check bit data interleaved throughout said remaining portion of each parameter data of said one parameter data type and said remaining parameter data.
  12. 12
    The data packing system of Claim 10 wherein said data packing means is responsive to rate indications other than said highest frame rate indication for arranging said data packet beginning with a data sequence of one parameter data type followed by data sequences of remaining parameter data types. 31
  13. 13
    The system of Claim 10 wherein said data packing means comprises:frame buffer means for receiving and storing said frame of parameter data, for receiving a first output signal and providing an output of selected parameter data and portions thereof;packet buffer means for receiving and storing said output of parameter data and portions thereof from said frame buffer and said parity check bit data from said parity check bit computation means, and for providing an output of said selected parameter data and portions thereof as said data packet;and packing means for receiving said rate indication and generating a said first output signal for controlling the output of data from said packet buffer means.
  14. 14
    In a vocoding system in which received variable data rate frames of vocoded speech parameter data are decoded into corresponding frames of speech samples, a method for reordering said parameter data as formatted in a data packet within each received variable data rate frame wherein parameter data of a highest rate frame contains a portion of each parameter data of one parameter data type in a predetermined order at a beginning of the data packet followed by another portion of each parameter data of the one set of parameter data in a predetermined order, and followed by remaining parameter data of said variable data frame, and having parity data within said data packet computed from parameter data within said data packet, said method comprising the steps of:receiving a highest rate frame of parameter data;reassembling corresponding ones of said portion and said another portion of each parameter data of said one parameter data type to provide reassembled data;computing parity data from parameter data in said received highest rate frame of parameter data;comparing said computed parity data with said parity data in said received highest rate frame of parameter data;and providing said reassembled data and said remaining parameter data for the reproduction of said speech samples if said computed parity data is the same as said received parity data. 32
  15. 15
    The method of Claim 14, wherein lower rate frames of parameter data are formatted with parameter data in a data packet in a predetermined order corresponding to the data rate of said variable data rate frame, further comprising the steps of:receiving an indication of a data rate for each received variable data rate frame of parameter data;and providing parameter data in a predetermined format according to said received variable data rate frame data rate indication.
  16. 16
    The method of Claim 14, wherein said highest rate frame of parameter data further has a portion of each parameter data of another parameter data type interleaved within said another portion of parameter data of said one parameter data type, further comprising the step of reassembling each portion of parameter data of said another parameter data type with a corresponding remaining portion of each of said parameter data of said another parameter data type.
  17. 17
    The method of Claim 14 further comprising the steps of:receiving a full rate likely indication for said received highest rate frame of parameter data, said full rate likely indicative of at least one error in at least one of said parameter data and said parity data;computing parity data from parameter data in said received highest rate frame of parameter data;comparing said computed parity data with said parity data in said received highest rate frame of parameter data;detecting from said comparison of said computed parity data with said parity data in said received highest rate frame of parameter data an error in at least one of said parameter data and said parity data in said received highest rate frame of parameter data;correcting said detected error if occurring in certain ones of said parameter data and said parity data in said received highest rate frame of parameter data;reassembling corresponding ones of said portions and said another portions of each parameter data of said one set of parameter data;and 33 providing an output of said parameter data when said detected error occurs in said certain ones of said parity data and from corrected parameter data when said detected error occurs in said certain ones of said parameter data.
  18. 18
    In a vocoding system in which received variable rate frames of data contain vocoded speech parameter data, with the frame data formatted according to a predetermined format, and the parameter data is decoded into corresponding frames of speech samples, a system for reorganizing parameter data within each received variable rate frame of parameter data comprising:input means for receiving and storing a frame of data, and for providing an ordered sequence of data of said received frame of data in in accordance with a control signal;and unpacking means for receiving a frame rate indication for each received frame of data and responsive thereto for providing said control signal.
  19. 19
    The system of Claim 18 wherein a highest rate frame of data contains a portion of each parameter data of one parameter data type in a predetermined order at a beginning of the data packet followed by another portion of each parameter data of said one parameter data type in a predetermined order, followed by remaining parameter data, and having parity data within said data packet computed from parameter data within said data packet, said system further comprising:parity check means for receiving said parity data in a received highest rate frame of parameter data, computing parity data from parameter data in said received highest rate frame, comparing said computed parity data with said received highest rate frame parity data, and providing an indication when said computed parity data is the same as said received parity data;and wherein said input means is responsive to said control signal and said indication for providing an output of said parameter data comprised 33/1 of reassembled corresponding ones of said portions and said another portions of each parameter data of said [one set] of parameter data type. 34
  20. 20
    The system of Claim 19 wherein said highest rate frame of parameter data further has a portion of each parameter data of another parameter data type interleaved within said another portion of parameter data of said one parameter data type, said input means further responsive to said control signal for providing an output of each portion of parameter data of said another parameter data type with a corresponding remaining portion of each of said parameter data of said another parameter data type.
  21. 21
    The system of Claim 19 wherein:said unpacking means and said parity check means further receive a full rate likely indication for said received highest rate frame of parameter data, said full rate likely indicative of at least one error in at least one of said parameter data and said parity data;said parity check means further for detecting from said comparison of said computed parity data with said parity data in said received highest rate frame of parameter data an error in at least one of said parameter data and said parity data in said received highest rate frame of parameter data, correcting said detected error if occurring in certain ones of said parameter data and said parity data in said received highest rate frame of parameter data;and wherein said input means is responsive to said control signal and said indication for providing an output of said parameter data when said detected error occurs in said certain ones of said parity data, and an output of corrected parameter data when said detected error occurs in said certain ones of said parameter data, and where said output parameter data and corrected parameter data is comprised of reassembled corresponding ones of said portions and said another portions of each parameter data of said one set of parameter data. 34/1
  22. 22
    A system for reordering a frame of vocoder data comprising:a buffer subsystem having a first input for receiving a frame of vocoder parameter data and a second input for receiving an ordering signal and having an output, wherein said buffer subsystem is responsive to an ordering signal for providing at said output a reordered frame of data;and packing logic having an output coupled to said buffer subsystem second input for generating and providing said ordering signal at said packing logic output.
  23. 23
    The system of Claim 22 wherein said packing logic further has a second input for receiving a rate signal.
  24. 24
    The system of Claim 22 wherein said buffer subsystem further comprises a third input, said system further comprising a parity computation logic having an input for receiving said frame of vocoder data and an output coupled to said buffer subsystem third input.
  25. 25
    The system of Claim 22 further comprising a microprocessor interface having an input coupled to said buffer subsystem output and having an output.
  26. 26
    The system of Claim 22 wherein said buffer subsystem comprises:an output frame buffer having two inputs and an output;and an output packet buffer having an input coupled to said output frame buffer output and having an output.
  27. 27
    A system for unpacking an ordered packet of vocoder data to provide unpacked vocoder data comprising:a buffer subsystem having a first input for receiving said ordered packet of vocoder data and a second input for receiving an unpacking signal and having an output wherein said buffer subsystem is responsive to an unpacking signal for providing at said output unpacked vocoder data;and an unpacking logic having an output coupled to said buffer subsystem second input for generating and providing said unpacking signal at said unpacking logic output. 34/2
  28. 28
    The system of Claim 27 wherein said unpacking logic has an additional input for receiving a rate signal.
  29. 29
    The system of Claim 27 wherein said unpacking logic has an additional input said system further comprising a parity check bit logic having an input for receiving said ordered packet of vocoder data and having an output coupled to said unpacking logic additional input.
  30. 30
    The system of Claim 27 wherein said buffer subsystem comprises:an input packet buffer having two inputs and an output;and an input frame buffer having an input coupled to said input packet buffer output and having an output.
  31. 31
    A method for providing a frame of full rate variable rate vocoder data comprising the following ordered steps of:providing an ordered sequence of most significant line spectral pair (LSP) bits;providing an interleaved sequence of less significant LSP bits and certain ones of most significant codebook gain (CBGAIN) bits;and providing an interleaved sequence of remaining CBGAIN bits, pitch gain (PGAIN) bits, pitch lag (PLAG) bits, codebook index (CBINDEX) bits and parity check bits (PCB).
  32. 32
    A method for providing a frame of half rate variable rate vocoder data comprising [in] the following ordered steps of:providing an ordered sequence of line spectral pair (LSP) bits;and providing an ordered sequence of codebook gain (CBGAIN) bits, pitch gain (PGAIN) bits, pitch lag (PLAG) bits and codebook index (CBINDEX).
  33. 33
    A method for providing a frame of quarter rate variable rate vocoder data comprising [in] the following ordered steps of:providing an ordered sequence of line spectral pair (LSP) bits;and providing an ordered sequence of codebook gain (CBGAIN) bits, pitch gain (PGAIN) bits, pitch lag (PLAG) bits and codebook inde
  34. 34
    A method for providing a frame of eighth rate variable rate vocoder data comprising [in] the following ordered steps of:providing an interleaved sequence of codebook seed (CBSEED) bits and line spectral pair (LSP) bits;and providing an ordered sequence of codebook gain (CBGAIN) bits.
  35. 35
    A vocoder comprising:vocoder engine means for receiving a frame of speech samples and providing speech parameter data representing said frame of speech samples in accordance with a predetermined speech model;and ordering means for receiving said speech parameter data and providing a packet of speech parameter data wherein most perceptually significant portions of said speech parameters are provided in a first part of said packet followed by remaining portions of said speech parameter data provided in a second part of said packet with portions of said remaining portions of speech parameter data interleaved throughout said second part of said packet in accordance with at least one predetermined format.
  36. 36
    The vocoder of Claim 35 wherein said vocoder engine means comprises:means for providing linear predictive code (LPC) data;means for providing pitch data;and means for providing codebook data.
  37. 37
    The vocoder of Claim 36 further comprising means for converting said LPC data to line spectral pair (LSP) data.
  38. 38
    The vocoder of Claim 35 wherein said vocoder engine means provides said parameter data at a selected data rate and provides a data rate signal indicative of said selected data rate and wherein said ordering means is responsive to said data rate signal.
  39. 39
    The vocoder of Claim 37 wherein said ordering means provides said LSP data first in said packet.
  40. 40
    In a digital communication system for transmitting a frame of data wherein transmission errors will most likely be in a burst format 34/4 affecting the later bits in a transmission packet of data, a subsystem for organizing said transmission packet comprising:control means for providing an ordering signal indicative of an ordered sequence of data wherein said ordering signal is indicative of a packet format wherein the most significant bits of said frame of data are provided in a first part of said transmission packet and most significant bits of the remaining data of said frame of data are interleaved throughout a second part of said transmission packet;and input means for receiving said frame of data and providing said transmission packet in accordance with said ordering signal.
  41. 41
    The subsystem of Claim 40 wherein said control means is responsive to a data rate signal.
  42. 42
    In a communication system wherein data from a frame of data is reordered to provide more significant portions of said data in a first half of a transmission packet and wherein remaining portions of said data is provided in a second half of said transmission packet and wherein portions of said remaining data are interleaved throughout said second half of said transmission packet, a subsystem, for reordering said frame of data comprising:control means for providing a control signal indicative of an unpacking order for said transmission packet;and input means for receiving said transmission packet and providing reordered data from said transmission packet in accordance with said control signal.
  43. 43
    The subsystem of Claim 42 wherein said transmission packet further comprises at least one parity bit, said subsystem further comprising a parity check means for receiving said transmission packet and determining in accordance with a predetermined parity format at least one check bit, comparing said at least one check bit with said at least one parity bit and providing a signal indicative of the equality of said at least one parity- bit and said at least one check bit
  44. 44
    In a communication system wherein a frame of speech samples is encoded according to a speech model to provide a frame of parameter data and wherein said frame of parameter data is reordered to provide more significant portions of said parameter data in a first half of a 34/5 transmission packet and wherein remaining portions of said parameter data is provided in a second half of said transmission packet and wherein portions of said remaining data are interleaved throughout said second half of said transmission packet, a system for providing an estimate of said speech data from said transmission packet comprising:ordering means for receiving said transmission packet and providing reconstructed estimates of said parameter data from said transmission packet;and vocoder means for receiving said parameter data and decoding said parameter data in accordance with said speech model to provide an estimate of said frame of speech samples.
  45. 45
    The system of Claim 44 wherein said transmission packet comprises parameter data at a selected data rate wherein said selected data rate is selected from a plurality of data rates and wherein said vocoder means is further for decoding said parameter data in accordance with said data rate.
Independent claims45