HU215861B - Eljárások beszédjelek tömörítésére digitalizált minták változtatható sebességű kódolásával és dekódolásával, valamint eszközök ezen eljárások foganatosításához - Google Patents

Eljárások beszédjelek tömörítésére digitalizált minták változtatható sebességű kódolásával és dekódolásával, valamint eszközök ezen eljárások foganatosításához Download PDF

Info

Publication number
HU215861B
HU215861B HU9303533A HU9303533A HU215861B HU 215861 B HU215861 B HU 215861B HU 9303533 A HU9303533 A HU 9303533A HU 9303533 A HU9303533 A HU 9303533A HU 215861 B HU215861 B HU 215861B
Authority
HU
Hungary
Prior art keywords
data
pitch
rate
subsystem
speech
Prior art date
Application number
HU9303533A
Other languages
English (en)
Other versions
HUT70719A (en
Inventor
William R. Gardner
Klein S. Gilhousen
Paul E. Jacobs
S. Katherine Lam
Chong U. Lee
Ming-Chang Tsai
Original Assignee
Qualcomm Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24866989&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=HU215861(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc. filed Critical Qualcomm Inc.
Publication of HUT70719A publication Critical patent/HUT70719A/hu
Publication of HU215861B publication Critical patent/HU215861B/hu

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/012Comfort noise or silence coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0046Code rate detection or code type detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision
    • G10L2025/786Adaptive threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Amplifiers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Solid-Sorbent Or Filter-Aiding Compositions (AREA)
  • Curing Cements, Concrete, And Artificial Stone (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Dc Digital Transmission (AREA)
  • Luminescent Compositions (AREA)
  • Magnetic Record Carriers (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Endoscopes (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Noise Elimination (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Table Devices Or Equipment (AREA)
  • Inorganic Insulating Materials (AREA)

Abstract

A találmány értelmében úgy járűnk el, hőgy a digitalizált beszédmintákegy adatcsőmagjára meghatárőzűnk egy beszédaktivitási szintet;amelynek megfelelően kódőlási sebességek egy készletéből kiválasztűnkegy kódőlási sebességet; az adőtt adatcsőmagőt egy, a kiválasztőttkódőlási sebességhez rendelt kódőlási főrmátűmnak megfelelőenkódőljűk; minden kódőlási főrmátűmban egy beszédmődellel sszhangbanegy sőr paraméterjellel reprezentáltatjűk a digitalizáltbeszédmintákat; és ezekből a paraméterjelekből a kiválasztőtt kódőlásisebességgel adatcsőmagőt állítűnk elő. A fenti eljárást főganatősító,találmány szerinti eszközök egyrészt kódgerjesztésű, lineáriselőrejelzéses kódőlást (CELP) alkalmazó, valamint akűsztikűs jeleketváltőzó sebességű adatőkká kódőló ber ndezések, illetve áramkörök,tővábbá váltőzó sebességű CELP-kódőlók és -dekódőlók. Egy jellemzőpéldakénti berendezésnek aűdiőbemenettel (s[n]), lineáriselőrejelzéses kódőlási (LPC) elemző/kvantáló ramkörrel (50) ésösszegező áramkörrel (62) összekötött észlelési súlyőzószűrője (52)van. Az LPC elemző/kvantáló áramkör (50) az aűdiőbemenettel (s[n]), azészlelési súlyőzószűrővel (52), valamint f rmánsszintetizáló szűrővel(60) van összekötve. Az összegező áramkör (62) az észlelésisúlyőzószűrővel (52), a főrmánsszintetizáló szűrővel (60), valamintnégyzetes középhiba (MSE) elemmel (64) van ö szekötve. Az MSE-elem(64) az összegező áramkörrel (62), tővábbá miniműmképző elemmel (66);a miniműmképző elem (66) az MSE-elemmel (64), valamint rejtjelkűlcselemmel (54), szőrzóegységgel (56) és h ngmagasság-szintetizálószűrővel (58) van összekötve. A rejtjelkűlcs elem (54) a miniműmképzőelemmel (66) és a szőrzóegységgel (56); a szőrzóegység (56) pedig arejtjelkűlcs elemmel (54), a miniműmk pző elemmel (66) és ahangmagasság-szintetizáló szűrővel (58) van összekötve. Ahangmagasság-szintetizáló szűrő (58) a szőrzóegységgel (56), aminiműmképző elemmel (66) és a főrmánsszintetizáló szűrő el (60); afőrmánsszintetizáló szűrő (60) pedig a hangmagasság-szintetizálószűrővel (58), az LPC elemző/kvantáló áramkörrel (50) és az összegezőáramkörrel (62) van összekötve. ŕ

Description

A találmány szerinti eszközök egyrészt kódgerjesztésű, lineáris előrejelzéses kódolást (CELP) alkalmazó kódolóberendezések, másrészt akusztikus jeleket változó sebességű adatokká kódoló berendezések, illetve áramkörök, továbbá változó sebességű CELP-kódolók és -dekódolok.
A hang digitális módszerekkel történő átvitele egyre jobban elterjed, különösen a nagy távolságú és a digitális rádiótelefonos alkalmazásoknál. Ezért fontossá vált annak meghatározása, hogy mi az a minimális információmennyiség, amely egy adott csatornán átvihető anélkül, hogy a rekonstruált beszéd érzékelt minősége megváltozna. Ha a beszéd átvitele egyszerű mintavételezéssel és digitalizálással történik, másodpercenként 64 kilobit (64 kbps) nagyságrendű adatátviteli sebességre van szükség ahhoz, hogy eleijük a hagyományos analóg távbeszélőrendszer beszédminőségét. Beszédelemzéssel, ezt követő megfelelő kódolással, átvitellel, majd a vevőnél történő újraszintetizálással azonban jelentős mértékben csökkenthető a szükséges adatátviteli sebesség.
Az olyan készülékeket, amelyekben a beszédhangot oly módon tömörítik, hogy kiválasztják belőle az emberi beszéd egy modelljének előállításához szükséges paramétereket, általában vocodereknek nevezik. Ezek a készülékek a bejövő beszédet elemző és annak releváns paramétereit meghatározó kódolóegységet, valamint a beszédet az átviteli csatornán át vett paraméterek felhasználásával ismét szintetizáló dekóderegységet tartalmaznak. A pontosság érdekében a modellnek állandóan változónak kell lennie. Ezért a beszéd időbeli blokkokra (elemzési egységekre) van felosztva, és a kérdéses paramétereket ezekre vonatkozóan számítják ki. A paramétereket azután minden egyes új elemzési egységre vonatkozóan felfrissítik.
A beszédkódoló készülékek különféle csoportjai közül az egyiket a következők alkotják: kódgeijesztésű, lineáris prediktív kódolás (CELP), sztochasztikus kódolás vagy vektorgeijesztésű beszédkódolás. Ennek a csoportnak a kódolási algoritmusára Thomas E. Tremain és társai „A 4,8 kbps Code Excited Linear Predictive Coder” című publikációja mutat példát (Proceedings of the Mobile Satellite Conference, 1988).
A vocodemek az a feladata, hogy a beszédben meglevő összes természetes redundancia eltávolításával kis bitsebességű jellé tömörítse a digitalizált beszédjelet. A beszédben általában egyrészt rövid távú redundanciák vannak, amelyek elsősorban a hangképző szervek szűrőhatásának tudhatok be, másrészt hosszú távú re20 dundanciák, amelyek abból erednek, hogy a hangszálak gerjesztik a hangképző szerveket. CELP-kódolóegység esetében ezeket a műveleteket két szűrő modellezi, nevezetesen egy rövid távú formánsszűrő és egy hosszú távú hangmagasságszűrő. A fenti redundanciák eltávo25 lítása után a kapott maradékjel Gauss-féle fehérzajként modellezhető, amelyet szintén kódolni kell. Ennek a módszernek az alapján egy LPC-szűrőnek nevezett, a beszéd hullámalakját az emberi hangképző szervek egy modelljének felhasználásával rövid távra előrejelző 30 szűrő paramétereinek kiszámítása képezi. Emellett a beszéd hangmagasságára vonatkozó hosszú távú hatásokat is modellezik, éspedig oly módon, hogy kiszámítják egy, lényegében az emberi hangszálakat modellező hangmagasságszűrő paramétereit. Végül ezeket a szűrő35 két gerjeszteni kell, és ez annak a meghatározásával történik, hogy egy rejtjelkulcs számos véletlenszerű gerjesztő hullámalakja közül melyik eredményezi az eredeti beszéd legjobb megközelítését abban az esetben, ha az adott hullámalakkal gerjesztik az említett két szű40 rőt. így tehát az átvitt paraméterek három tételre vonatkoznak: (1) az LPC-szűrőre, (2) a hangmagasságszűrőre és (3) a rejtjelkulcs gerjesztési hullámalakjára.
Jóllehet a vocoderes technika alkalmazása lehetővé teszi, hogy a rekonstruált beszéd minőségének megtar45 tása mellett csökkentsék a csatornán átvitt információ mennyiségét, a további csökkentés érdekében egyéb módszerek alkalmazására van szükség. Az átvitt információ mennyiségének csökkentése érdekében alkalmazott egyik ilyen ismert módszer a hangtevékenység ka50 puzása. Ennél a módszernél a beszéd szüneteiben szünetel az információátvitel. Ez a megoldás ugyan lehetővé teszi az átvitt adatmennyiség csökkentését, de számos hiányossága van. A beszédminőség sok esetben romlik a szó elejének levágása miatt. A csatorna be55 szédszünet idejére való kikapcsolásának további hiányossága abban van, hogy a rendszer felhasználói érzékelik annak a háttérzajnak a hiányát, amely általában együtt jár a beszéddel, és a csatorna minőségét rosszabbnak találják, mint a normál telefonbeszélgetés 60 esetében. A tevékenység kapuzásánál további problé2
HU 215 861 Β mát jelent, hogy a hirtelen fellépő háttérzaj akkor is elindíthatja az átvitelt, ha nincsen beszéd, aminek az az eredménye, hogy kellemetlenül erős zajok lépnek fel a vevőkészülékben.
A beszédtevékenységet kapuzó rendszernél oly módon próbálják javítani a szintetizált beszéd minőségét, hogy szintetizált kellemes zajt adnak hozzá a dekódolási folyamat során. Bár a kellemes zaj hozzáadásával elérhető bizonyos minőségjavulás, az összbenyomás nem javul megfelelő mértékben, mivel a kellemes zaj nem tudja modellezni a kódolónál jelentkező tényleges háttérzajt.
Az átviendő információ mennyiségének csökkentésével járó adattömörítés végrehajtására előnyösebb módszer a változtatható átviteli sebességű vocoder alkalmazása. Mivel a beszédben szükségszerűen vannak csöndes időszakok, azaz szünetek, az az adatmennyiség, amely ezeknek a szüneteknek a modellezéséhez szükséges, csökkenthető. A változtatható sebességű vocoder ezt a tényt igen eredményesen hasznosítja azáltal, hogy a csöndes időszakokban csökkenti az adatátviteli sebességet. Az adatátvitel teljes szüneteltetésével ellentétben az adatsebességnek a csöndes időszakban való csökkentése áthidalja a beszédtevékenység kapuzásával együtt járó problémákat, ugyanakkor megkönnyíti az átvitt információ mennyiségének csökkentését.
Ezért a jelen találmány egyik célja új és tökéletesített módszer és rendszer létrehozása a beszédnek változtatható sebességű vocoder alkalmazásával történő tömörítésére.
A jelen találmány a beszédkódoló készülékek említett csoportjának (CELP, sztochasztikus kódolás vagy vektorgerjesztésű beszédkódolás) egy vocoder algoritmusát valósítja meg. Maga a CELP-módszer jelentős mértékben csökkenti a beszédet reprezentáló adatok azon mennyiségét, amely ahhoz szükséges, hogy az újraszintetizált beszéd jó minőségű legyen. Mint már említettük, a vocoder paramétereit minden adategységre vonatkozóan felfrissítik. A jelen találmány szerinti vocoder oly módon biztosít változtatható kimeneti adatsebességet, hogy megváltoztatja a frekvenciát és a modell paramétereinek pontosságát.
A jelen találmány leginkább abban tér el az alapvető CELP-módszertől, hogy a beszédtevékenységtől függően változó kimeneti adatsebességet hoz létre. A rendszer úgy van kialakítva, hogy a beszéd szüneteiben a paraméterek ritkábban vagy kisebb pontossággal kerülnek felfrissítésre. Ez a technika az átviendő információ mennyiségének az eddigieknél nagyobb mértékű csökkentését teszi lehetővé. Az a jelenség, amelynek kihasználásával csökkentjük az adatsebességet, a beszédtevékenységi tényező, amely az az átlagos időbeli százalékérték, ameddig az adott felhasználó a beszélgetés során ténylegesen beszél. A tipikus kétutas telefonbeszélgetéseknél az átlagos adatsebesség legalább a felére csökkenthető. A beszéd szüneteiben a vocoder csak a háttérzajt kódolja. Ilyenkor az emberi hangképző szervek modelljére vonatkozó paramétereket nem kell átvinni.
Mint már említettük, a beszéd szüneteiben átvitt információ mennyiségének csökkentésére az egyik ismert módszer a hangtevékenység kapuzása. Ennél a megoldásnál a csöndes időszakban nincs információátvitel. A vételi oldalon ezt az időszakot szintetizált „kellemes zajjal” lehet kitölteni. Ezzel szemben a változtatható sebességű vocoder folyamatosan visz át adatokat, amelyeknek a sebessége az előnyös kiviteli alak esetében a mintegy 8 kbps, illetve 1 kbps közötti tartományban van. Az olyan vocoder, amely folyamatos adatátvitelt biztosít, feleslegessé teszi a „kellemes zaj” szintetizálását, és a háttérzaj kódolásával természetesebbé teszi az újraszintetizált beszéd minőségét. A jelen találmány ezért jelentős mértékben javítja az újraszintetizált beszéd minőségét a beszédtevékenység kapuzásával elért minőséghez képest azáltal, hogy sima átmenetet tesz lehetővé a beszéd és a háttérzaj között.
A jelen találmány ezenkívül új technikát szolgáltat a hibák fellépésének maszkolására. Mivel az adatokat olyan csatornán kell átvinni (például rádióhullámok útján), amely zajos lehet, az adatokba hibák fognak kerülni. A hibák számának csökkentése tekintetében bizonyos eredmények érhetők el azon ismert módszerekkel, amelyek a fellépő hibák számának csökkentése érdekében csatornakódolást alkalmaznak. A csatornakódolással azonban önmagában nem érhető el a jó minőségű rekonstruált beszéd biztosításához szükséges szintű hibavédelem. A változtatható sebességű vocodemél, ahol a kódolás folyamatos, egy hiba tönkreteheti a beszéd egyes érdekes eseményeire, például egy szó vagy szótag kezdetére vonatkozó adatokat. A lineáris prediktív kódoláson (LPC) alapuló vocoderek egyik jellegzetes problémája az, hogy a hangképző szervek modelljére vonatkozó paraméterekben fellépő hibák olyan hangokat eredményeznek, amelyek alig hasonlítanak az emberi hanghoz, és amelyek oly mértékben megváltoztathatják az eredeti szó hangzását, hogy az a hallgató fél számára már zavaró lehet. A jelen találmány szerinti megoldásnál maszkoljuk a hibákat, hogy a hallgató számára kevésbé legyenek észlelhetőek. A hibáknak a jelen találmány szerint megvalósított maszkolása nagymértékben csökkenti a hibáknak a beszéd érthetőségére gyakorolt hatását.
Minthogy az a maximális mérték, amellyel az egyes paraméterek változhatnak, kisebb átviteli sebességek esetében kisebb, az ezen sebességek mellett átvitt paraméterek hibái kevésbé érintik a beszédminőséget. Mivel a különböző sebességek esetén a hibáknak a beszédminőségre gyakorolt hatása eltérő mértékben jelentkezik, az átviteli rendszer javítható oly módon, hogy a nagyobb adatsebességgel átvitt adatok vonatkozásában fokozott védelmet biztosítson. Ily módon a jelen találmány azzal az előnnyel is jár, hogy csökkenti a rendszer érzékenységét a csatomahibákkal szemben.
A jelen találmány a CELP-algoritmus egyik változtatható sebességű kimenetet biztosító változatának megvalósításával olyan beszédtömöritést eredményez, amely a beszédtevékenységtől függően dinamikusan változik a 8:1 és 64:1 közötti tartományban. Az említett tömörítési tényezők μ-törvény szerint változó bemenetre vonatkoznak. Lineáris bemenet esetén a tömörítési tényezők kétszeres értékűek. A sebesség meghatá3
HU 215 861 Β rozása adategységenként történik, hogy teljesen ki lehessen használni a beszédtevékenység-tényezővei járó előnyöket. Jóllehet a beszéd szüneteiben kevesebb adatot állítunk elő, az újraszintetizált háttérzaj minőségének romlása alig észlelhető. A jelen találmány szerinti módszer alkalmazásával csaknem tökéletes minőségű beszéd érhető el 8 kbps maximális, illetve mintegy 3,5 kbps átlagos adatsebesség mellett, normál beszélgetés esetén.
Mivel a jelen találmány lehetővé teszi a beszéd rövid szüneteinek észlelését, a tényleges beszédtevékenység-tényező csökken. Az alkalmazott adatátviteli sebességre vonatkozó döntéseket adategységenként lehet meghozni, tehát az adatsebesség még az adategység időtartamának (általában 20 ms) megfelelő igen rövid beszédszünetekben is lecsökkenthető. Ily módon megfoghatók még a szótagok közötti szünetek is. Ez a módszer a beszédtevékenység-tényezőt a hagyományosan elérhetőnek tartott értéken túl is csökkenti, mivel nemcsak a mondatok közötti szünetek esetében alkalmazható csökkentett sebességű kódolás, hanem az ezeknél rövidebb szüneteknél is.
Minthogy az alkalmazott adatsebességre vonatkozó döntéseket adategységenként hozzuk meg, nincs levágás a szó elején, mint a beszédtevékenységet kapuzó rendszer esetében. Az ilyen jellegű levágás a beszédtevékenységet kapuzó rendszernél annak tudható be, hogy a beszéd érzékelése és az adatátvitel újraindítása között késleltetés van. Az alkalmazott adatátviteli sebesség adategységenként történő meghatározásának köszönhetően olyan beszédet kapunk, amelyben minden átmenetnek természetes hangzása van.
Mivel a vocoder mindig ad, a beszélő környezetének háttérzaját állandóan lehet hallani a vevőkészülékben, és ezáltal a beszéd szüneteiben természetesebb a hangzás. A jelen találmány esetében ezért sima lesz a beszéd és a háttérzaj közötti átmenet. Az, amit a hallgató a beszéd alatt a háttérben hall, a beszéd szüneteiben nem változik át hirtelen a beszédtevékenységet kapuzó rendszer esetében alkalmazott, szintetizált „kellemes zajjá”.
Mivel a vocoder folyamatosan kódolja a háttérzajt az átvitelhez, a háttérben levő érdekes eseményeket teljesen világosan lehet továbbítani. Bizonyos esetekben még az érdekes háttérzajnak a legnagyobb sebesség mellett történő kódolására is mód van. Maximális sebesség mellett történő kódolásra kerülhet sor például abban az esetben, ha valaki hangosan beszél a háttérben, vagy ha szirénázó mentőkocsi halad el az utcasarkon telefonáló felhasználó mellett. Az állandó vagy lassan változó háttérzaj kódolása azonban kis sebesség mellett megy végbe.
A változtatható sebességű vocoder használatával a kódosztásos többszörös hozzáférésű (CDMA) digitális cellás távbeszélőrendszerek kapacitása várhatóan több, mint kétszeresére nő. A CDMA- és a változtathatósebességűvocoder-kódolás illesztése egyszerű, mivel a CDMA-rendszemél automatikusan csökken a csatornák közötti interferencia, ha valamelyik csatornában csökken az adatátviteli sebesség. Ezzel ellentétben vannak olyan rendszerek, amelyekben adási rések vannak, mint például a TDMA- vagy FDMA- (időosztásos vagy frekvenciaosztásos többszörös hozzáférésű) rendszer. Ahhoz, hogy az ilyen rendszerekben ki lehessen használni az adatátviteli sebesség csökkentésének az előnyét, külső beavatkozásra van szükség annak érdekében, hogy az adási rések más felhasználók részére való kiosztása koordinálva legyen. Az ilyen rendszerekkel eleve együtt járó késleltetés miatt a csatorna csak hosszú beszédszünetekben rendelhető hozzá más felhasználókhoz. Ezért nem lehet teljesen kihasználni a beszédtevékenység-tényező előnyét. Külső koordinálással azonban a változtathatósebességűvocoder-kódolás egyéb említett okokból hasznos a CDMA-rendszerektől eltérő más rendszereknél is.
A CDMA-rendszerben a beszéd minősége kissé romolhat akkor, ha külső rendszerkapacitásra van szükség. Elvont értelemben a vocoder több vocoderként képzelhető el, amelyek közül mindegyik más-más sebességgel működik, és más-más beszédminőséget biztosít. Ezért a beszédminőségek keverhetők annak érdekében, hogy tovább csökkenjen az átlagos adatátviteli sebesség. A kezdeti kísérletek azt mutatják, hogy teljes és félsebességű vocoderrel kódolt beszéd keverésével (például oly módon, hogy a megengedhető maximális adatsebesség adategységenként 8 kbps és 4 kbps között változik) a kapott beszéd minősége jobb, mint a félsebességű, maximum 4 kbps értékű átvitel esetében, de nem olyan jó, mint a teljes sebességű, maximum 8 kbps értékű átvitel esetében.
Jól ismert, hogy a legtöbb telefonbeszélgetés során egyszerre csak az egyik fél beszél. Teljes duplex telefon-összeköttetéseknél járulékos funkcióként átvitelisebesség-reteszelést lehet alkalmazni. Ennek megfelelően, ha az összeköttetés egyik irányában maximális az átviteli sebesség, akkor a másik irányban minimális átviteli sebességet írnak elő. Az összeköttetés két iránya közötti reteszelés esetén az összeköttetés egyik irányában sem lehet átlagosan 50%-nál nagyobb kihasználást biztosítani. Ha azonban a csatorna ki van kapuzva, mint például a tevékenységet kapuzó rendszernél, a hallgató nem szakíthatja félbe a beszélőt azért, hogy átvegye a beszélő szerepét a beszélgetésben. A jelen találmány a vocoder sebességét beállító vezérlőjelekkel egyszerű módon tudja biztosítani a sebesség reteszelését.
Végül meg kell jegyezni, hogy változtatható sebességű vocoderes kódolási séma alkalmazása esetén jelzési információ osztozhat a csatorna használatában a beszédadatokkal úgy, hogy ennek nagyon kis hatása van a beszédminőségre. A nagy sebességű adategység például két részre osztható: az egyik a kis sebességű beszédhang adására, a másik rész a jelzési adatok adására szolgálhat. Az előnyösnek tartott kiviteli alak vocoderénél a teljes, illetve félsebességgel kódolt beszéd minősége között nincs lényeges eltérés. Ezért a más adatokkal megosztott átvitelnél a beszédnek vocoderrel való kódolása kisebb sebesség mellett a felhasználó számára csaknem észrevehetetlen különbséget jelent a beszéd minőségében.
HU 215 861 Β
A jelen találmány jellemzőit, célkitűzéseit és előnyeit az alábbi részletes leírás és a csatolt rajzok világítják meg közelebbről. A rajzokon az la-le. ábrák grafikusan szemléltetik a vocoder elemzési adategységeit és alegységeit különböző adatátviteli sebességek esetén;a
2a-2d. ábrák táblázatai a vocoder kimenőbit-eloszlását szemléltetik különböző adatsebességek esetén; a
3. ábra a kódolóegység egy lehetséges kiviteli alakjának hatás vázlata; a
4. ábra egy kódolóegység folyamatábrája; az
5. ábra a dekódolóegység egy lehetséges kiviteli alakjának általánosított hatásvázlata; a
6. ábra egy dekódolóegység folyamatábrája; a
7a-7b. ábra a kódolóegység részletesebb funkcionális hatásvázlata; a
8. ábra a Hamming ablak és az autokorrelációs alrendszer egy lehetséges kiviteli alakjának hatásvázlata; a
9. ábra egy lehetséges adatsebesség-meghatározó alrendszer hatásvázlata; a
10. ábra egy lehetséges LPC-elemző alrendszer hatásvázlata; a
11. ábra egy lehetséges LPC-LSP átalakító alrendszer hatásvázlata; a
12. ábra egy lehetséges LPC-kvantálási alrendszer hatásvázlata; a
13. ábra egy lehetséges LSP-interpoláló és
LSP-LPC átalakító alrendszer hatásvázlata; a
14. ábra az adaptív rejtjelkulcs hatásvázlata a hangmagasság-kereséshez; a
15. ábra a kódoló/dekódolóegység hatásvázlata; a
16. ábra a hangmagasság-kereső alrendszer hatásvázlata; a
17. ábra a rejtjelkulcskereső alrendszer hatásvázlata; a
18. ábra az adattömörítő alrendszer hatásvázlata; a
19. ábra a dekódolóegység részletesebb funkcionális hatásvázlata; a
20a-20d. ábrák táblázatai a dekóderegység által vett paramétereket és az adatrészegységek dekódolási adatait szemléltetik különböző adatsebességek esetén; a
21a-21c. ábrák táblázatai a dekóderegység által vett paramétereket és az adatrészegységek dekódolási adatait szemléltetik különleges körülmények esetén; a
22. ábra az LSP inverz kvantálási alrendszer hatásvázlata; a
23. ábra részletesebben mutatja a dekódolóegységet utószűréssel és automatikus erősítésszabályozással; és a
24. ábra táblázata az adaptív tisztaságszűrő jellemzőit szemlélteti.
A jelen találmány szerinti megoldásnál hangokat, például beszédet és/vagy háttérzajt mintavételezünk és digitalizálunk jól ismert módszerek felhasználásával. Az analóg jelet például a szabványos 8 bit/plaw formátummal és azt követő plaw/egységes kód átalakítással digitalizálhatjuk. Alternatív módon az analóg jel közvetlenül is átalakítható digitális jellé egységes impulzuskód-modulációs (PCM) formátumban. így az előnyösnek tartott kiviteli alaknál minden mintát egy 16 bites adatszó reprezentál. A minták bemenőadatok adategységeibe vannak szervezve, és minden adategység előre meghatározott számú mintából áll. A példaként ismertetett kiviteli alaknál 8 kHz-es mintavételi frekvenciát veszünk alapul. Minden adategység 160 mintából áll, azaz 20 ms-os beszédmintából, 8 kHz-es mintavételi frekvencia mellett. Meg kell jegyezni, hogy más mintavételi frekvenciák és adategységméretek is alkalmazhatók.
A vocoderes kódolás területén számos különböző módszert alkalmaznak a beszéd kódolására. Ezek közül az egyik a CELP kódolási technika. A CELP kódolási módszer lényegét az előbbiekben hivatkozott „4,8 kbps sebességű, kódgerjesztésű, lineáris prediktív kódoló” című közlemény foglalja össze. A jelen találmány a CELP kódolási technika egyik alakját valósítja meg úgy, hogy változtatja a kódolt beszédadatok sebességét, és az LPCelemzést állandó számú mintán, a hangmagasság- és rejtjelkulcskeresést pedig az adatátviteli sebesség függvényében változó számú mintán hajtja végre. A CELP kódolási technika jelen találmány esetében való alkalmazásának elvét a 3. és 5. ábra alapján tárgyaljuk.
A jelen találmány egyik előnyösnek tartott kiviteli alakjánál a beszéd elemzésének adategységei 20 ms időtartamúak, ami azt jelenti, hogy a kivont paraméterek jelcsoportokban való átvitele másodpercenként ötvenezer megy végbe. Az adatátvitel sebessége megközelítően 8 kbps-ról 4 kbps-ra, 2 kbps-ra és 1 kbps-ra változik. Teljes átviteli sebesség esetén (amelyet 1-es sebességnek is nevezünk) az adatátvitel sebessége 8,55 kbps, ahol a paraméterek minden egyes adategységre 171 bittel vannak kódolva, beleértve egy 11 bites belső CRC-t (ciklikus redundancia ellenőrzést) is. Félsebességnél (azaz 1/2 sebességnél) az adatátvitel sebessége 4 kbps, és az egyes adategységek paraméterei 80 bit felhasználásával vannak kódolva. Negyedsebességnél (amelyet 1/4-es sebességnek is nevezünk) az adatátvitel sebessége 2 kbps, és az egyes adategységek paraméterei 40 bit felhasználásával vannak kódolva. Nyolcadsebességnél (amelyet 1/8-os sebességnek is nevezünk) az adatátvitel sebessége valamivel kevesebb, mint 1 kbps, és az egyes adategységek paraméterei 16 bit felhasználásával vannak kódolva.
Az 1. ábra grafikusan szemlélteti a 10 beszédadatok egy lehetséges elemzési adategységét és az LPC-elemzésben alkalmazott 12 Hamming-ablak ehhez való kapcsolatát. Az LPC-elemzési adategységet, valamint a hangmagasság- és a rejtjelkulcsalegységet a 2a-2d. ábrák szemléltetik grafikusan különféle adatsebességekre.
HU 215 861 Β
Meg kell jegyezni, hogy az LPC-elemzési adategység mérete valamennyi adatsebesség esetében azonos.
Mint az a rajzokon, különösen az la. ábrán látható, az LPC-elemzés a 10 adategység 160 beszédadatmintáján megy végbe, amelyeket a 12 Hamming ablak alkalmazásával határolunk el. Amint az la. ábrán látható, az s(n) minták minden adategységen belül O-tól 159ig vannak sorszámozva. A Hamming ablak úgy helyezkedik el, hogy a 10 adategységen belül 60 mintával van eltolva. így a Hamming ablak az aktuális 10 adategység s(59) jelű 60. mintájánál kezdődik, és folytatódik a következő 14 adategység s(58) jelű 59. mintájáig, avval bezárólag. Az aktuális 10 adategység vonatkozásában előállított súlyozott adatok ezért olyan adatokat is tartalmaznak, amelyek a következő, 14 adategységből való adatokon alapulnak.
Amint az la-le. ábrákon látható, a 10 adategység különböző alegységei vonatkozásában az adatátviteli sebességtől függően ismételt keresést hajtunk végre a hangmagasságszűrő és a rejtjelkulcs gerjesztési paramétereinek kiszámítása végett. Meg kell jegyezni, hogy az előnyösnek tartott kiviteli alak esetében csak egy sebesség van kiválasztva a 10 adategységre úgy, hogy a hangmagasság és rejtjelkulcskeresés a kiválasztott sebességnek megfelelően különböző méretű alegységeken megy végbe, amint azt a későbbiekben ismertetni fogjuk. Szemléltetés céljából azonban az la-le. ábrákon bemutatjuk a hangmagasság és rejtjelkulcskeresés alegység! szerkezetét a különféle megengedett sebességekre a 10 adategység vonatkozásában.
Amint az la. ábrán látható, minden sebességnél 10 adategységenként egy LPC-számítást hajtunk végre. Amint az lb. ábrán látható, teljes sebességnél két 18 rejtjelkulcsalegység jut minden egyes 16 hangmagasság-alegységre. Teljes sebességnél négy hangmagasság-frissítés van, mind a négy 16 hangmagasság-alegységnél egyegy, és mindegyik negyven minta (azaz 5 ms) hosszúságú. Teljes sebességnél nyolc rejtjelkulcsfrissítés van, mind a nyolc 18 rejtjelkulcsalegységnél egy-egy, és mindegyik húsz minta (azaz 2,5 ms) hosszúságú.
Amint az le. ábrán látható, félsebességnél két 22 rejtjelkulcsalegység jut minden egyes 20 hangmagasságalegységre. Hangmagasság-frissítést kétszer hajtunk végre: egyszer-egyszer mindkét 20 hangmagasság-alegységnél, míg a rejtjelkulcsot négyszer frissítjük fel, egyszer-egyszer mind a négy 22 rejtjelkulcsalegységnél. Amint az ld. ábrán látható, negyedsebességnél két 26 rejtjelkulcsalegység esik az egyetlen 20 hangmagasság-alegységre. Hangmagasság-frissítés egyszer van a 24 hangmagasság-alegységnél, míg a rejtjelkulcsot kétszer frissítjük fel, egyszer-egyszer mindkét 26 rejtjelkulcsalegységnél. Amint az le. ábrán látható, nyolcadsebességnél a hangmagasságot nem határozzuk meg, és a rejtjelkulcsot csak egyszer frissítjük fel a 28 adategységben, amely megfelel a 10 adategységnek.
Ezenkívül, bár az LPC-együtthatókat adategységenként csak egyszer számítjuk ki, azok lineárisan interpolálva vannak vonalas spektrumpár (LSP) megjelenítésben, éspedig legfeljebb négy ízben, az előző adategységből kapott eredő LSP-frekvenciák felhasználásával közelítve az LPC-elemzés eredményeit, a Hamming ablakot az egyes alegységek közepére helyezve. Kivételt képez a teljes sebesség esete, amikor az LPC-együtthatókat nem interpoláljuk a rejtjelkulcs alegységei vonatkozásában. Az LSP-frekvenciák kiszámításának további részleteit a későbbiekben ismertetjük.
Amellett, hogy a hangmagasság- és rejtjelkulcskeresést kisebb sebességeknél, kisebb gyakorisággal hajtjuk végre, kevesebb bit is tartozik az LPC-együtthatók átviteléhez. A különböző sebességekhez tartozó bitszámokat a 2a-2d. ábrák mutatják. Az ábrák a vocoder által kódolt adatbitek azon számát tüntetik fel, amely a beszéd 160 mintából álló adategységéhez tartozik. A 2a-2d. ábrákon a megfelelő blokkban levő szám a megfelelő sebességnél a rövid távú LPC-együtthatók kódolására felhasznált bitek számát jelenti. Az előnyösnek tartott kiviteli alak esetében az LPC-együtthatók kódolására teljes, fél-, negyed- és nyolcadsebességnél felhasznált bitek száma negyven, húsz, tíz és tíz.
A változtatható sebességű kódolás megvalósítása érdekében az LPC-együtthatókat először vonalas spektrumpárokká (LSP) alakítjuk át, és a kapott LSPfrekvenciákat DPCM-kódolók felhasználásával egyenként kódoljuk. Az LPC nagyságrendje 10, tehát tíz LSP-frekvencia és tíz független DPCM-kódoló van. A DPCM-kódolók bitkiosztását az I. táblázat mutatja.
I. táblázat
DPCM-kódoló sorszáma
1 2 3 4 5 6 7 8 9 10
1 sebesség 4 4 4 4 4 4 4 4 4 4
1/2 sebesség 2 2 2 2 2 2 2 2 2 2
1/4 sebesség 1 1 1 1 1 1 1 1 1 1
1/8 sebesség 1 1 1 1 1 1 1 1 1 1
Az LSP-frekvenciákat mind a kódolóban, mind a dekódolóban visszaalakítjuk LPC-szűrő együtthatókká, mielőtt felhasználnánk azokat a hangmagasság- és rejtj elkulcskeresésnél.
Mint a 2a. ábrán látható, a hangmagasság-keresés tekintetében teljes sebességnél négyszer megy végbe a hangmagasság-frissítés kiszámítása, egyszer-egyszer a beszédadategység mindegyik negyedében. A teljes sebességnél végrehajtott hangmagasság-frissítés során minden esetben tíz bitet használunk fel az új hangmagasság-paraméterek kódolásához. Mint a 2b-2d. ábrákon látható, a többi sebességnél a hangmagasság-frissítések
HU 215 861 Β száma változó. A sebesség csökkenésével a hangmagasság-frissítések száma is csökken. A 2b. ábra fél sebesség esetére szemlélteti a hangmagasság-frissítést. Itt a frissítési számítás kétszer megy végbe, egyszer-egyszer a beszédadategység mindkét felénél. A 2c. ábra negyedsebesség esetére mutatja a hangmagasság-frissítést. Itt a számítás egyszer megy végbe minden teljes beszédadategység tartama alatt. A teljes sebesség esetéhez hasonlóan tíz bitet használunk fel az új hangmagasság-paraméterek kódolására minden fél- és negyedsebesség melletti hangmagasság-frissítésnél. Nyolcadsebességnél azonban, amint azt a 2d. ábra mutatja, nem kerül sor hangmagasság-frissítési számításra, mivel ezt a sebességet vagy akkor használjuk az adategységek kódolására, amikor kevés beszéd van, vagy amikor nincs beszéd, és hangmagasság-redundancia nem áll fenn.
Minden egyes tíz bites hangmagasság-frissítésnél hét bit képviseli a hangmagasság-veszteséget és három bit a hangmagasság-nyereséget. A hangmagasság-veszteség 17 és 143 érték közé van korlátozva. A hangmagasság-nyereséget lineárisan számszerűsítjük 0 és 2 között a három bites értékkel való megjelenítéshez.
Amint a 2a. ábrán látható, a rejtjelkulcskeresés tekintetében teljes sebességnél nyolcszor megy végbe a rejtjelkulcs-felffissítés számítása, egyszer-egyszer a beszédadategység minden nyolcadában. A rejtjelkulcs teljes sebességnél végrehajtott minden felfrissítésénél 10 bitet használunk fel az új rejtjelkulcs-paraméterek kódolásához. Amint a 2b-2d. ábrák mutatják, a rejtjelkulcsfrissítések száma a többi sebességek esetében más és más. A sebesség csökkenésével azonban a rejtjelkulcsffissítések száma is csökken. A 2b. ábra félsebesség esetére mutatja a rejtjelkulcsfrissítéseket. Itt a számítás négyszer megy végbe, egyszer-egyszer a beszédadategység mind a négy negyedében. A 2c. ábra negyedsebesség esetére mutatja a rejtjelkulcsfrissítéseket. Itt a számítás kétszer megy végbe, egyszer-egyszer a beszédadategység mindkét felében. A teljes sebesség esetéhez hasonlóan minden fél- és negyedsebességű rejtjelkulcsfrissítésnél tíz bitet használunk fel az új rejtjelkulcs-paraméterek kódolásához. Végül a 2d. ábra nyolcadsebesség esetére mutatja a rejtjelkulcsfrissítést. Itt minden teljes beszédadategység vonatkozásában egyszer kerül sor a számításra. Meg kell jegyezni, hogy nyolcadsebességnél hat bit kerül átvitelre, amelyek közül kettő a rejtjelkulcsnyereséget reprezentálja, a további négy bit pedig véletlenszerű bit. A rejtjelkulcsfrissítések bitkiosztását a későbbiekben ismertetjük részletesen.
A rejtjelkulcsfrissítéshez kijelölt bitek azokat az adatbiteket reprezentálják, amelyek a hangmagasságelőrejelzési maradvány vektoros mennyiségi meghatározásához szükségesek. Teljes, fél- és negyedsebességnél minden rejtjelkulcsfrissítés a rejtjelkulcsindex hét bitjéből, valamint a rejtjelkulcsnyereség három bitjéből, azaz összesen tíz bitből áll. A rejtjelkulcsnyereség kódolását a logaritmikus tartományban működő differenciális impulzuskód-modulációt alkalmazó kódoló segítségével végezzük. Bár a nyolcadsebességnél is alkalmazható hasonló bitelrendezés, más sémát tartunk célszerűnek. Nyolcadsebességnél a rejtjelkulcsnyereséget két bit reprezentálja, míg a vett adatok esetében négy, véletlenszerűen előállított bitet használunk fel a rejtjelkulcsot helyettesítő álvéletlen számgenerátor részére.
Mint a kódolónak a 3. ábrán bemutatott hatásvázlatából (tömbvázlatából) látható, az LPC-elemzés nyílt hatásláncban megy végbe. A bemenő s(n) beszédminták minden egyes adategységéből a későbbiekben ismertetendő módon kiszámítjuk az (a,-a,,)) LPC10 együtthatókat az 50 LPC elemző/kvantáló egység segítségével a 60 formánsszintetizáló szűrőben való felhasználás céljából.
A hangmagasság-keresés kiszámítása viszont zárt hatásláncban megy végbe. Ezt gyakran „analízis szinté15 zissel” módszernek nevezik. A példakénti kiviteli alaknál azonban egy új zárt/nyitott hatásláncú hibrid módszert alkalmazunk a hangmagasság-keresés végrehajtására. A hangmagasság-keresésnél a kódolás olyan paramétereknek a kiválasztásával megy végbe, amelyekkel a bemenő beszéd és a szintetizált beszéd közötti átlagos négyzetes hiba minimális. Az egyszerűség kedvéért a leírásnak ebben a részében a sebesség kérdését nem vizsgáljuk. A későbbiekben azonban részletesen kitérünk arra, hogy milyen hatással van a kiválasztott se25 besség a hangmagasság- és rejtjelkulcskeresésre.
A 3. ábra szerinti elvi vázlatban szereplő 52 érzékelési súlyozószűrőt a következő egyenletek jellemzik:
W(z)=
A(z)
Α(ζ/μ) (1) ahol
Α(ζ) = 1-^α(Ζ-' (2) i=l a formáns előrejelző szűrő, és μ egy érzékelési súlyozási paraméter, amelynek értéke a példaként ismertetett kiviteli alak esetében 0,8. Az 58 hangmagasság-szintetizáló szűrőt a következő egyenlet jellemzi:
_ 1 P(z) l-bz~L (3)
A 60 formánsszintetizáló szűrőt, amely a későbbi ismertetés szerinti súlyozott szűrő, a következő egyenlet jellemzi:
H(z)=(—y—-)W(z)= A(z)
Α(ζ/μ) (4)
A bemenő s(n) beszédmintákat az 52 érzékelési súlyozószűrő súlyozza, és a súlyozott x(n) beszédminták egy 62 összegező áramkör összeadó bemenetére kerülnek. Az érzékelési súlyozás szerepe az, hogy azoknál a frekvenciáknál súlyozza a hibát, amelyeknél a jelteljesítmény kisebb. Ezeken a kis jelteljesítményű frekvenciákon a zaj jobban érzékelhető. A szintetizált x’(n) beszéd55 minták a 60 formánsszintetizáló szűrőből a 62 összegező áramkör kivonóbemenetére jutnak. A 62 összegező áramkör az x’(n) beszédmintákat kivonja az x(n) beszédmintákból. A 62 összegező áramkör kimenetén megjelenő beszédminta-különbségek 64 négyzetes középhiba (MSE) elemre jutnak, ahol négyzetre emelés után össze7
HU 215 861 Β gezésre kerülnek. A 64 MSE elem által szolgáltatott eredmények 66 minimumképző elembe jutnak, amely L hangmagasságcsökkenés-, b hangmagasságnyereség-, I rejtjelkulcsindex- és rejtjelkulcsnyereség-értékeket állít elő.
A 66 minimumképző elemből L minden lehetséges értéke, a hangmagasság-csökkenés P(z)-ben, valamint az 56 szorzóegységből kapott c(n) érték az 58 hangmagasság-szintetizáló szűrőbe jut. A hangmagasság-keresés során nincs szerepe a rejtjelkulcsnak, azaz c(n)=0. Az L és b azon értékeit, amelyekkel a bemenő beszéd és a szintetizált beszéd közötti súlyozott hiba minimális, a 66 minimumképző elem választja ki. Az 58 hangmagasság-szintetizáló szűrő p(n) értéket állít elő, amelyet a 60 formánsszintetizáló szűrőbe továbbít. Miután a hangmagasságszűrő számára meghatároztuk az L hangmagasság-veszteséget és a b hangmagasság-nyereséget, a rejtjelkulcskeresést hasonló módon hajtjuk végre.
Meg kell jegyezni, hogy a 3. ábra a jelen találmánynál alkalmazott „elemzés szintézissel” módszer elvi ábrázolása. A jelen találmány példakénti kiviteli alakjánál a tipikus zárt hatásláncú visszacsatolásos kiépítésben nem alkalmazunk szűrőket. A jelen találmánynál a keresés során a visszacsatolási összeköttetés meg van szakítva, és egy nyitott hatásláncú alakító áramkörrel van helyettesítve, amelynek részleteit a későbbiekben ismertetjük.
A 66 minimumképző elem ezután előállítja az I rejtjelkulcsindex- és a G rejtjelkulcsnyereség-értékeket. Az 54 rejtjelkulcs kimenőértékeit, amelyek egy sor véletlen Gauss-féle vektor értékéből vannak kiválasztva az I rejtjelkulcsindexnek megfelelően, az 56 szorzóegység megszorozza a rejtjelkulcs G erősítésével, hogy létrehozza az 58 hangmagasságszűrőben felhasznált c(n) értéksorozatot. Átvitelre azt az I rejtjelkulcsindexet és G rejtjelkulcsnyereséget választjuk ki, amelyekkel a négyzetes középhibáknak minimuma van.
Meg kell jegyezni, hogy a W(z) észlelési súlyozást alkalmazzuk a bemenő beszédre is az 52 érzékelési súlyozószűrő segítségével, és a szintetizált beszédre is a 60 formánsszintetizáló szűrőbe beépített súlyozási függvény révén. A 60 formánsszintetizáló szűrő ezért valójában egy súlyozott formánsszintetizáló szűrő, amely az (1) egyenlet súlyfüggvényét egyesíti a formáns előrejelző szűrő tipikus 1/A(z) jelleggörbéjével, hogy a (3) egyenlet szerinti súlyozott formánsszintetizáló függvényt eredményezze.
Meg kell jegyezni, hogy egy másik változat szerint az 52 érzékelési súlyozószűrő a 62 összegező és a 64 MSE-elem között is elhelyezhető. Ebben az esetben a 60 formánsszintetizáló szűrőnek normál 1/A(z) jelleggörbéje lenne.
A 4. ábra a 3. ábra szerinti kódolóval végzett beszédkódolás lépéseinek a folyamatábráját mutatja. Magyarázat céljából a 4. ábra folyamatábrájába belefoglaltuk a sebességre vonatkozó döntéssel járó lépéseket. A digitalizált beszédmintákat 80 lépésben a mintavételező áramkörről vesszük. Ezekből 82 lépésben kiszámítjuk az LPC-együtthatókat. Az LPC-együtthatók számításának részeként Hamming ablakot és autokorrelációs módszert alkalmazunk. Először 84 lépésben egy kezdeti sebességmeghatározást végzünk a vizsgált adategységre vonatkozóan, az előnyösnek tartott kiviteli alak esetében az adategység energiája alapján.
Az LPC-együtthatóknak kisszámú biten végrehajtott hatékony kódolása céljából az LPC-együtthatókat 86 lépésben vonalas spektrumpár (LSP) frekvenciákká alakítjuk át, majd 88 lépésben kvantáljuk az átvitelhez. Opcióként 90 lépésben további sebességmeghatározást lehet végezni a sebesség növelésével, ha 92 lépésben az LSP-frekvenciák kvantálása a kezdeti sebességre elégtelennek bizonyul.
A vizsgált beszédadategység első hangmagasság-alegységére vonatkozóan 94 lépésben interpoláljuk az LSP-frekvenciákat, és LPC-együtthatókká transzformáljuk a hangmagasság-keresésnél való felhasználáshoz. A hangmagasság-keresésnél, amely az előbbiekben tárgyalt „elemzés szintézissel” módszerrel megy végbe, 96, 98 lépésekben minden lehetséges L hangmagasság-csökkenésre összehasonlítjuk a szintetizált beszédet az eredeti beszéddel. Minden L értékre meghatározunk egy egész számot, a b optimális hangmagasságnyereséget. Az L és b értékek halmazából az optimális L és b értékkészlet adja a szintetizált beszéd és az eredeti beszéd közötti észlelés szerint súlyozott négyzetes középhiba minimális értékét. Az L és b ezen hangmagasság-alegységre meghatározott optimális értékeinél 100 lépésben kvantáljuk a b értéket a megfelelő L értékkel együtt az átvitelhez. A hangmagasság-keresés egy másik megvalósításánál a b és L értékek a hangmagasság-keresés részét képező kvantált értékek lehetnek, amikor is a hangmagasság-keresés végrehajtásánál ezeket a kvantált mennyiségeket használjuk fel. Ezért ennél a megvalósítási formánál nincs szükség a kiválasztott b értéknek a hangmagasság-keresést a 100 lépésben követő kvantálására.
A vizsgált beszédadategység első rejtjelkulcsalegységére vonatkozóan 102 lépésben interpoláljuk az LSP-frekvenciákat, és LPC-együtthatókká alakítjuk át a rejtjelkulcskeresésnél való felhasználás céljából. A példaként ismertetett kiviteli alaknál azonban, teljes sebesség esetén az LSP-frekvenciákat csak a hangmagasságalegység szintjéig interpoláljuk. Ez az interpolálási és transzformálási lépés a hangmagasság keresésén kívül a rejtjelkulcs keresésére is végbemegy, mivel eltérés van az egyes sebességeknél a hangmagasság és a rejtjelkulcs alegységének a mérete között, kivéve a nyolcad sebességet, ahol a kérdés vitatható, mivel nincs hangmagasságadat-számítás. A 104, 106 lépésekben történő rejtjelkulcskeresésnél az optimális L hangmagasság-csökkenés- és b hangmagasságnyereség-értékeket használjuk fel a hangmagasság-szintetizáló szűrőben úgy, hogy a szintetizált beszédet minden lehetséges rejtjelkulcsindexre (I) összehasonlítjuk az eredeti beszéddel. Minden I értékhez (egész szám) meghatározzuk az optimális rejtjelkulcsnyereséget (G). Az I és G értékek halmazából az az I és G értékpár optimális, amelynél a legkisebb az eltérés a szintetizált beszéd és az eredeti beszéd között. Az adott rejtjelkulcsalegységre meghatározott optimális I és G értékből a G értéket 108 lépésben
HU 215 861 Β kvantáljuk a megfelelő I értékkel együtt való átvitelhez. Egy másik változat szerint a G érték kvantálása itt is a rejtjelkulcskeresés részeként végezhető el, amikor is ezeket a kvantált értékeket használjuk fel a rejtjelkulcskeresésnél. Ennél a másik megvalósításnál nincs szükség a kiválasztott G értéknek a rejtjelkulcskeresést követően a 108 lépésben végrehajtott kvantálására.
A rejtjelkulcskeresés után a kódolón belül egy dekódolót működtetünk az I, G, L és b optimális értékeivel. A kódoló dekódolója rekonstruálja a kódolószűrő tárolóit a következő adatalegységekben való felhasználáshoz.
Ezután 110 lépésben ellenőrzést végzünk annak meghatározására, hogy az a rejtjelkucsalegység, amelynek alapján az elemzés éppen befejeződött, az utolsó rejtjelkulcsalegység volt-e a rejtjelkulcsalegységek azon készletéből, amely annak a hangmagasság-alegységnek felel meg, amelyre a hangmagasság-keresés történt. Másképpen fogalmazva: meghatározzuk, hogy van-e még a hangmagasság-alegységnek megfelelő rejtjelkulcsalegység. A példaként ismertetett kiviteli alaknál hangmagasság-alegységenként csak két rejtjelkulcsalegység van. Ha a 110 lépésben úgy találjuk, hogy van még az adott hangmagasság-alegységnek megfelelő rejtjelkulcsalegység, akkor erre a rejtjelkulcs-alegységre vonatkozóan megismételjük a 102-108 lépéseket.
Ha már nincs több, az adott hangmagasság-alegységnek megfelelő rejtjelkucsalegység, akkor 112 lépésben ellenőrzést végzünk annak meghatározására, hogy van-e a vizsgált beszédadategységen belül más hangmagasság-alegység. Ha a vizsgált aktuális beszédadategységben van még hangmagasság-alegység, akkor minden egyes hangmagasság-alegységre és a megfelelő rejtjelkulcsalegységre megismételjük a 94-110 lépéseket. Ha a vizsgált aktuális beszédadategységre vonatkozóan minden számítás befejeződött, akkor 114 lépésben egyesítjük az átvitelhez az adott beszédadategységet reprezentáló LPC-együttható értékeket, valamint minden hangmagasság-alegységre vonatkozóan a hangmagasság-csökkenést (L) és a hangmagasság-nyereséget (b), továbbá minden rejtjelkucsalegységre vonatkozóan az I rejtjelkulcsindexet és a G nyereséget.
Az 5. ábra olyan dekódoló hatás vázlatát mutatja, amelynél az LPC-együtthatók vett értékeit (aj, a hangmagasság-csökkenéseket és -nyereségeket (L és b), valamint a rejtjelkulcsindeket és -nyereségeket (I és G) használjuk fel a beszéd szintetizálásához. Egyszerűsítés céljából, a 3. ábrához hasonlóan, az 5. ábránál sem vizsgáljuk a sebességinformációt. Az adatsebesség-információ kiegészítő információként továbbítható, és egyes esetekben a csatorna demodulálófokozatából nyerhető.
A dekódoló 130 rejtjelkulcsegységet tartalmaz, amely a vett rejtjelkulcsindexekkel van ellátva, vagy pedig (nyolcadsebesség esetében) a fentiekben említett véletlenszerű adatokkal. A 130 rejtjelkulcsegység kimenete 132 szorzó egyik bemenetére jut, míg a 132 szorzó másik bemenetére a rejtjelkulcsnyereség (G) kerül. A 132 szorzó kimenete a hangmagasság-csökkenéssel (L) és a -nyereséggel (b) együtt 134 hangmagasság-szintetizáló szűrőre van adva. A 134 hangmagasság-szintetizáló szűrő kimenete az ctj LPC-együtthatókkal együtt 136 formánsszintetizáló szűrőre kerül. A 136 formánsszintetizáló szűrő kimenete 138 adaptív utószűrőre jut, amelyben szűrésre kerül, és a kapott kimenet képezi a rekonstruált beszédet. Amint a későbbiekben tárgyaljuk majd, a dekóder egy változata a kódolón belül van megvalósítva. A kódoló dekódere nem tartalmaz 138 adaptív utószűrőt, de tartalmaz egy észlelési súlyozószűrőt.
A 6. ábra folyamatábrája az 5. ábrán vázolt dekódoló működését mutatja. A dekóderben a vett paraméterekből 150 lépésben rekonstruáljuk a beszédet. A rejtjelkulcsindex vett értéke a rejtjelkulcsegységbe jut, amely 152 lépésben kódvektort (rejtjelkulcs-kimenőértéket) állít elő. A kódvektor a vett rejtjelkulcsnyereséggel (G) együtt a szorzóegységbe jut, amely 154 lépésben összeszorozza ezeket az értékeket, és az eredményül kapott jel a hangmagasság-szintetizáló szűrőbe jut. Meg kell jegyezni, hogy a rejtjelkulcsnyereség (G) rekonstruálása a vett DPCM-paraméterek dekódolásával és inverz kvantálásával történik. A vett hangmagasság-csökkenés (L) és -nyereség (b) értéke a szorzó kimenőjelével együtt a hangmagasság-szintetizáló szűrőre jut a szorzó kimenőjelének 156 lépésben történő szűrése végett.
A rejtjelkulcsvektomak a hangmagasság-szintetizáló szűrő által végrehajtott szűrésével nyert értékek a formánsszintetizáló szűrőbe jutnak. A formánsszintetizáló szűrőbejutnak az ος LPC-együtthatók is a hangmagasság-szintetizáló szűrő kimenőjelének 158 lépésben sorra kerülő szűrésénél való felhasználás végett. Az LPC-együtthatók interpoláláshoz való rekonstruálása a dekódolóban oly módon történik, hogy a vett DPCMparamétereket kvantált LSP-frekvenciákká dekódoljuk, az LSP-frekvenciákat inverz kvantálásnak vetjük alá, és az LSP-frekvenciákat ος LPC-együtthatókká alakítjuk át. A formánsszintetizáló szűrő kimenőjele az adaptív utószűrőre kerül, amely 160 lépésben maszkolja a kvantálási zajt, és szabályozza a rekonstruált beszéd erősítését. A rekonstruált beszédet 162 lépésben sorra kerülő analóg alakra való alakításhoz továbbítjuk.
A jelen találmány szerinti beszédkódoló eljárás további részleteit a 7a. és 7b. ábrán bemutatott tömbvázlatra hivatkozva ismertetjük. Mint a 7a. ábrán látható, a digitalizált beszédminták mindegyik adategysége egy 201 Hamming ablak alrendszerre jut, amelyben megtörténik a bemenő beszéd adategységeinek lehatárolása, mielőtt a 203 autokorrelációs alrendszer elvégezné az autokorrelációs együtthatók kiszámítását.
A 8. ábra a 201 Hamming ablak alrendszer és a 203 autokorrelációs alrendszer egy lehetséges kiviteli alakját mutatja. A 200 Hamming ablak alrendszer 250 keresési táblázatból és 252 szorzóegységből áll. A 250 keresési táblázatot általában egy 80x16 bites csak olvasható tár (ROM) képezi. A beszéd ablakának a középpontja minden sebességnél az egyes, százhatvan minta hosszúságú elemzési adategységeknek a 139. és 140. mintája közé esik. Az autokorrelációs együtthatók számításához való ablak így hatvan mintával el van tolva az elemzési ablakhoz képest.
Az ablak kiválasztása a százhatvan WH(n) értékből nyolcvanat tartalmazó ROM-táblázat felhasználásával
HU 215 861 Β történik, mivel a Hamming ablak szimmetrikus a középhez képest. A Hamming ablak eltolását úgy hajtjuk végre, hogy az ROM címmutatóját az adott elemzési adategység első mintájához képest hatvan pozícióval eltoljuk. Ezeket az értékeket a 252 szorzóegység egyszeres pontosság mellett megszorozza a megfelelő bemeneti beszédmintákkal. Legyen s(n) a bemenő beszédjel az elemzési ablakban. Az ablakkal határolt sw(n) beszédjel definíciója ekkor a következő:
Sw(n)=s(n+60)WH(n), ha 0<=n< = 79 (5) és sw(n)=s(n+60)WH(159-n), ha80<=n< = 159 (6)
A II. táblázat példakénti értékeket mutat a 250 ke5 resési táblázat tartalmára vonatkozóan, hexadecimális alakban. Ezeket az értékeket a kettő komplemens számaiként kell értelmezni, tizennégy töredék bittel. A táblázatot balról jobbra és felülről lefelé kell olvasni.
II. táblázat
0x051f 0x0525 0x0536 0x0554 0x057d 0x05bl 0x05f2 0x063d
0x0694 0x06f6 0x0764 0x07dc 0 x 085e 0 χ 08ec 0x0983 0 χ 0a24
0 x OadO 0x0b84 0x0c42 0x0d09 0x0dd9 OxOebO 0x0f90 0x1077
0x1166 0x125b 0x1357 0x1459 0x1560 0xl66d 0xl77f 0x1895
0xl9af 0x lacd 0x lbee Oxldll 0xle37 Οχ 1 f5e 0x2087 0x21b0
0 x 22da 0x2403 0x252d 0x2655 0x277b Ox28aO 0x29c2 0x2ael
0x2bfd 0x2dl5 0x2e29 0x2f39 0x3043 0x3148 0x3247 Ox333f
0x3431 0x351c 0x3600 0x36db 0x37af 0x 387a Ox393d 0x39f6
0 χ 3aa6 0x3b4c 0 χ 3be9 0x3c7b 0x3d03 0x3d80 0x3df3 0x3e5b
0x3eb7 Ox3fO9 0x3f4f 0x3f89 Ox3fb8 0x3fdb Ox3ff3 0x3fff
A 203 autokorrelációs alrendszer 254 regiszterből, 256 multiplexerből, 258 léptetőregiszterből, 260 szorzóból, 262 összegezőbői, 264 körbefutó léptetőregiszterből és 266 pufferból áll. Az ablakkal határolt sw(n) beszédminták számítása és a 254 regiszterben való rögzítése 20 ms-onként megy végbe. Az sw(0) minta (amely az LPC-elemzési adategység első mintája) a 258 és 264 léptetőregisztereket 0-ra állítja. A 256 multiplexer minden új sw(n) mintánál új mintakiválasztó jelet kap, amely engedélyezi a minta bevitelét a 254 regiszterből. Az új sw(n) minta a 260 szorzóra is eljut, amely megszorozza ezt a 258 léptetőregiszter utolsó SR10 pozícióján levő sw(n-10) mintával. A kapott értéket a 262 összegező összeadja a 264 ciklikus léptetőregiszter utolsó CSR11 pozícióján levő értékkel.
A 258 és 260 léptető regiszterek egyszeri lépésre sw(n-1 )-et sw(n)-nel helyettesítik a 258 léptetőregiszter első SRI pozícióján és helyettesítik a CSR10 pozíción előzőleg levő értéket. A 258 léptetőregiszter órajelére megszűnik a 256 multiplexer bemenetén az új minta kiválasztását kiváltó jel, tehát a pillanatnyilag a 260 léptetőregiszter SR10 pozícióján levő sw(«-9) minta a 256 multiplexerbe juthat. A 264 ciklikus léptetőregiszterben az előzőleg a CSR11 pozíción levő érték az első CSR1 pozícióba lép. Ha a 256 multiplexeren nincs új minta kiválasztását kiváltó jel, a 258 léptetőregiszter beállítása olyan, hogy az adatokat a 264 ciklikus léptető regiszterhez hasonlóan körben lépteti.
A 258 léptetőregiszter és a 264 ciklikus léptetőregiszter minden mintánál tizenegy órajelet kap, tehát tizenegy szorzási/halmozási műveletet hajt végre. Miután mind a százhatvan mintán elvégeztük a műveleteket, az autokorreláció eredménye - amelyet a 264 ciklikus léptetőregiszter tartalmaz - R(0)-R(10) értékekként a 266 pufferba jut. Az összes regiszter visszaáll nullára, és a folyamat az ablakkal határolt beszédminták következő adategységére vonatkozóan megismétlődik.
Visszatérve a 7a. ábrára: amikor az autokorrelációs együtthatók kiszámítása az adott beszédadategységre vonatkozólag befejeződött, a 205 adatsebesség-meghatározó alrendszer és a 207 LPC-elemző alrendszer ezekből az adatokból kiszámítja az adategység adatsebességét, illetve az LPC-együtthatókat. Mivel ezek a műveletek függetlenek egymástól, bármilyen sorrendben, sőt egyidejűleg is elvégezhetők. Itt az egyszerűség kedvéért először a sebességmeghatározást ismertetjük.
A 205 adatsebesség-meghatározó alrendszernek két feladata van: (1) meghatározza az aktuális adategység sebességét, és (2) kiszámítja a háttér zajszintjének új becsült értékét. Az aktuális elemzési adategység sebességét kezdetben az aktuális adategység energiája, a háttérzaj szintjének előzőleg meghatározott becsült értéke, az előző sebesség és egy vezérlőmikroprocesszortól érkező sebességparancs alapján állapítjuk meg. A háttér45 zajszint új becsült értékét a háttérzaj szint előző becsült értékének és az aktuális adategység energiájának alapján számítjuk ki.
A jelen találmány szerint a sebesség meghatározására egy adaptívküszöb-módszert alkalmazunk. A háttér50 zaj változásával változtatjuk a sebesség megválasztásához felhasznált küszöbértékeket. A példakénti kiviteli alaknál három küszöbértéket számítunk ki egy előzetes RTp sebesség kiválasztásához. Ezek a küszöbértékek a háttérzaj előző becsült értékének négyzetes függvényei, és az alábbiak szerint számíthatók ki: Tl(B)=-5,544613(10-6)B2+
4,047152 B+363,1293 (7)
T2(B)=-l,529733(10-5)B2+
8,750045 B+1136,214 (8) és
HU 215 861 Β
T3(B) = -3,957050(10 5)B2+
18,89962 B+3346,789 (9) ahol B a háttérzaj előző becsült értéke.
Az adategység energiáját összehasonlítjuk a három - T1(B), T2(B) és T3(B) - küszöbértékkel. Ha az adategység energiája mindhárom küszöbérték alatt van, akkor a legkisebb átviteli sebességet (1 kbps), vagyis a nyolcad sebességet választjuk, amelynél RTp=4. Ha az adategység energiája két küszöbérték alatt van, akkor a második átviteli sebességet (2 kbps), vagyis a negyed sebességet választjuk, amelynél RTp=3. Ha az adategység energiája csak egy küszöbértéknél kisebb, akkor a harmadik átviteli sebességet (4 kbps), vagyis a félsebességet választjuk, amelynél RTp=2. Ha az adategység energiája mindhárom küszöbértéknél nagyobb, akkor a legnagyobb átviteli sebességet (8 kbps), vagyis az 1-es sebességet választjuk, amelynél RTp = 1.
Az előzetes RTp azután az előző adategység végleges RTr sebessége alapján módosítható. Ha az előzetes RTp kisebb, mint az előző adategység végleges sebessége -1 (RTp-l), akkor egy közbenső RTm sebességet állítunk be, ahol RTm=(RTr-1). Ennek a módosítási eljárásnak a következtében a sebesség lassan csökken, ha a nagy energiájú jel hirtelen kis energiájú jelbe megy át. Ha azonban a kezdetben kiválasztott sebesség egyenlő az (RTr-1) értékkel, vagy nagyobb annál, akkor a közbenső RTm értéket úgy állítjuk be, hogy azonos legyen az előzetes RTp sebességgel, vagyis RTm=RTp. Ilyen helyzetben a sebesség azonnal megnő, ha a kis energiájú jel hirtelen nagy energiájú jelbe megy át.
Végül a közbenső RTm értéket tovább módosítja a mikroprocesszorból érkező sebességhatároló parancs. Ha RTm nagyobb annál, amit a mikroprocesszor megenged, akkor a kezdeti RT; sebességet a megengedett legnagyobb értékre állítjuk be. Hasonlóképpen, ha a közbenső RTm kisebb a mikroprocesszor által engedélyezett legkisebb sebességnél, akkor a kezdeti RT; sebességet a megengedett legkisebb értékre állítjuk be.
Bizonyos esetekben ajánlatos lehet az egész beszédet a mikroprocesszor által meghatározott sebességgel kódolni. Az adategység sebességének a kívánt értékre való beállításához a sebességhatároló parancsok használhatók fel oly módon, hogy a megengedett legnagyobb és legkisebb sebességet a kívánt értékre állítjuk be. A sebességhatároló parancsok felhasználhatók olyan különleges sebességszabályozási körülmények esetében is, mint a sebességreteszelés, valamint a halkított és hangosított átvitel. Ezeket később ismertetjük.
Egy alternatív megvalósítási forma esetében az LPC-együtthatókat a sebesség meghatározása előtt számítjuk ki. Mivel a kiszámított LPC-együtthatók tükrözik a bemenő beszédadategység spektrális jellemzőit, ezek az együtthatók felhasználhatók a beszédtevékenység jelzésére. Tehát a sebességmeghatározás a kiszámított LPC-együtthatók alapján történhet.
A 9. ábra a sebességmeghatározó algoritmus egyik lehetséges kiviteli alakját mutatja. A számítás elkezdéséhez 270 regiszterbe előzetesen az 1 érték van betöltve, amely 272 összegezőre jut. A (7)-(9) négyzetesküszöbérték-egyenletek első, második, illetve harmadik együtthatója 274, 276 és 278 ciklikus léptetőregiszterekbe van betöltve. Például a 274 ciklikus léptetőregiszter utolsó, középső, illetve első pozíciójába a TI, T2 és T3 értékek kiszámítására felhasznált fenti egyenletek első együtthatója van betöltve. Hasonlóképpen, a 276 ciklikus léptetőregiszter utolsó, középső, illetve első pozíciójába a TI, T2 és T3 értékek kiszámítására felhasznált fenti egyenletek második együtthatója van betöltve. Végül a 278 ciklikus léptetőregiszter utolsó, középső, illetve első pozíciójába a TI, T2 és T3 értékek kiszámítására felhasznált fenti egyenletek konstans értéke van betöltve. A 274, 276 és 278 ciklikus léptetőregisztereknél az érték kiadása az utolsó pozícióból történik.
Az első TI küszöbérték kiszámításához a 280 szorzóegység az adategység háttérzajának előző B becsült értékét négyzetre emeli az értéknek önmagával történő megszorzása útján. Az eredményül kapott B2 értéket megszorozza az első együtthatóval (ennek értéke -5,544613 χ 10 6), amelyet a 274 ciklikus léptetőregiszter utolsó pozíciója ad ki. Az így kapott értéket a 286 összegező hozzáadja a B háttérzaj és a 276 ciklikus léptetőregiszter által kiadott 4,047152 értékű második együttható szorzatához (az utóbbi szorzást a 284 szorzóegység végzi el). A 286 összegezőegység kimenőértékét a 288 összegező hozzáadja a 278 ciklikus léptetőregiszter utolsó pozíciójából kiadott 363,1293 értékű állandóhoz. A 288 összegező kimenőjele a TI kiszámított értéke.
A Tl-nek a 288 összegezőbői kiadott, számított értékét a 290 összegezőegység kivonja az adategység energiájának Ef értékéből, amely a példaként ismertetett kiviteli alak esetében az R(0) érték a lineáris tartományban. Ezt az autokorreláció-alrendszer szolgáltatja.
Egy alternatív kiviteli alak esetében az adategység Ef energiája a logaritmikus tartományban dB-ben adható meg. Értékét az első R(0) autokorrelációs együtthatónak az effektív ablakhosszal normalizált logaritmusával közelítjük az alábbi képlet szerint:
Ef=101og10^ (10), ahol La az autokorrelációs ablak hossza. Meg kell jegyezni, hogy a beszédtevékenység számos más paraméterből is mérhető, ide értve a Ga előrejelzett hangmagasság-nyereséget vagy előrejelzett formánsnyereséget is, amelynek képlete a következő:
F(io)
G^lOlogjo^j- (11), ahol Ε<) az előrejelzett maradék energia a tizedik iteráció után és E<°) a kezdeti LPC-előrejelzési maradék energia, amint azt a későbbiekben az LPC-elemzéssel kapcsolatban ismertetni fogjuk, és amely azonos R(0)val.
A 290 összegezőegység kimenetéről a kapott kettes komplemens különbség előjelbitjének komplemensét a 292 komparátor vagy határolóegység leválasztja, és a 272 összegezőre továbbítja, amely hozzáadja azt a 270 regiszter kimenőjeléhez. így, ha az R(0) és a TI kö11
HU 215 861 Β zötti különbség pozitív, akkor a 270 regiszter eggyel előrelép. Ha ez a különbség negatív, a 270 regiszter állapota nem változik.
A 274, 276 és 278 ciklikus léptetőregiszterek azután végrehajtanak egy ciklust úgy, hogy a T2 egyenletének (a (8) képletnek) az együtthatói kerülnek a kimeneteikre. A T2 küszöbérték kiszámítása és az adategység energiájával történő összehasonlítása ugyanúgy ismétlődik, ahogy azt a TI küszöbértékkel kapcsolatban leírtuk. A 274, 276 és 278 ciklikus léptetőregiszterek ezután ismét végrehajtanak egy ciklust úgy, hogy a T3 egyenletének (a (9) képletnek) az együtthatói kerülnek a kimeneteikre. A T3 küszöbérték kiszámítása és az adategység energiájával történő összehasonlítása ugyanúgy megy végbe, ahogy azt a fentiekben leírtuk. A három küszöbérték kiszámításának és összehasonlításának befejezése után a 270 regiszter a sebesség kezdeti becsült RT; értékét tartalmazza. A sebesség előzetes becsült RTp értéke sebességcsökkentő 294 logikai egységbe jut. Ugyancsak a 294 logikai egységbe jut az előző adategységnek a 298 regiszterben tárolt végső RTr sebessége is az LSP-frekvenciát kvantáló alrendszerből. A 296 logikai egység kiszámítja az (RTr-l) értéket, és kimenőjelként az előzetes becsült RTp érték és az (RTr— 1) érték közül azt adja ki, amelyik nagyobb. Az RTm érték a 296 sebességhatároló logikai egységre jut.
Amint az előbbiekben említettük, a mikroprocesszor sebességhatároló parancsokat ad ki a vocoder számára, pontosabban a 296 logikai egységnek. Digitális jelfeldolgozást alkalmazó kivitel esetében ezeket a parancsokat a 296 logikai egység még azt megelőzően veszi, hogy befejeződne a kódolási folyamat LPC-elemzési része. A 296 logikai egység biztosítja, hogy a sebesség ne lépje túl a sebességkorlátokat, és módosítja az RTm értéket, ha az túllépi az előírt határértéket. Ha az RTm érték a megengedett sebességtartományon belül van, akkor a 296 logikai egység kimenetén mint kezdeti RT; sebességérték jelenik meg. A kezdeti RT; sebességérték a 296 logikai egységből a 7a. ábrán látható 211 LSPkvantálási alrendszerbejut.
Amint az előbbiekben említettük, a háttérzaj becsült értékét az adaptív sebesség-küszöbértékek kiszámításánál használjuk fel. Az aktuális adategységre vonatkozóan az előző adategység háttérzajának becsült B értékét használjuk fel az aktuális adategység sebesség-küszöbértékeinek meghatározásához. Azonban a háttérzaj becsült értékét a következő adategység sebesség-küszöbértékeinek meghatározásához minden adategységnél felfrissítjük. Az aktuális adategységre vonatkozóan az új becsült B’ háttérzaj értéket az előző adategységre meghatározott becsült háttérzajérték és az aktuális adategység Ef energiája alapján határozzuk meg.
Az új becsült B’ háttérzaj értéknek a következő adategységnél az előző adategység becsült B háttérzajértékeként való felhasználás céljából történő meghatározása során két értéket számítunk ki. Az első Vi érték egyszerűen az aktuális adategység Ef energiája. A második V2 érték a (B+1) és a KB értékek közül az, amelyik nagyobb (K= 1,00547). Annak elkerülése végett, hogy a második érték túl nagy legyen, előírjuk, hogy egy nagy, M= 160 000 értékű állandó alatt maradjon. AVj és V2 értékek közül a kisebbet választjuk új B’ becsült háttérzajértékként.
Matematikailag kifejezve:
V,=R(0) (12)
V2=min (160000, max (KB, B + l) (13) és az új B’ becsült háttérzaj érték:
B’=min (V,, V2) (14) ahol min(x, y) x és y minimuma, és max(x, y) x és y maximuma.
A 9. ábra a háttérzajt közelítéssel meghatározó algoritmus egy lehetséges megvalósítását is mutatja. Az első V, érték egyszerűen az aktuális adategység Ef energiája, amely közvetlenül a 300 multiplexer egyik bemenetére jut.
A második V2 értéket az előzőleg kiszámított KB és B+1 értékekből számítjuk ki. A KB és B +1 értékek kiszámításakor az előző adategység háttérzajának a 302 regiszterben tárolt, becsült B értékét a 304 összegezőbe és a 306 szorzóegységbe továbbítjuk. Meg kell jegyezni, hogy az előző adategység háttérzajának az aktuális adategységben való felhasználáshoz a 302 regiszterben tárolt, becsült B értéke ugyanaz, mint az előző adategységben számított, új, becsült B’ háttérzajérték. A 304 összegezőre adunk továbbá egy 1-es bemenőértéket, a B-hez való hozzáadás céljából, a (B + l) kifejezés előállítása végett. A 306 szorzóegység a bemenetére kerülő K értéket megszorozza a B értékkel, és így KB értéket képez. A (B+l) és KB értékek a 304 összegező-, illetve a 306 szorzóegység kimenetén jelennek meg a 308 multiplexer és a 310 összegező két külön bemenőjeleként.
A 310 összegező és a 312 összehasonlító (komparátor) vagy korlátozó választja ki a (B +1) és KB értékek közül a nagyobbat. A 310 összegező a (B+l) értéket kivonja a KB értékből, és a kapott értéket a 312 komparátorra vagy korlátozóra adja. A 312 korlátozó vezérlőjelet ad a 308 multiplexerre, hogy az a (B+l) és KB értékek közül a nagyobbat válassza ki kimenőjelként. A kiválasztott (B+l) vagy KB értéket a 308 multiplexer a 314 korlátozóra adja, amely telítődő típusú korlátozó, és kimenőjelként a kiválasztott értéket szolgáltatja, ha az M konstansnál kisebb, vagy az M értéket, ha a kiválasztott érték nagyobb M-nél. A 314 korlátozó kimenőjele második bemenőjelként a 300 multiplexerre, és bemenőjelként a 316 összegezőre jut.
A 316 összegező másik bemenetére az adategység Ef energiaértéke kerül. A 316 összegező és a 318 komparátor vagy korlátozó feladata az, hogy az Ef és a 314 korlátozó kimenőértéke közül kiválassza a kisebbet. A 316 összegező az adategység energiaértékét kivonja a 314 korlátozó kimenőértékéből, és a kapott értéket a 318 komparátorra vagy korlátozóra továbbítja. A 318 korlátozó vezérlőjelet ad a 300 multiplexerre, hogy az E; és a 314 korlátozó kimenőértéke közül a kisebbet válassza ki. A 300 multiplexer által kiválasztott kimenőérték a háttérzaj új becsült B’ értékeként a 302 regiszterbejut, amely tárolja azt, hogy a következő adategységnél mint az előző adategység becsült B háttérzaj értékét használhassuk fel.
HU 215 861 Β
Visszatérve a 7. ábrára: az R(0)-R(10) autokorrelációs együtthatók a 203 autokorrelációs alrendszerből a 207 LPC-elemzési alrendszerbe jutnak. A 207 LPCelemzési alrendszerben kiszámított LPC-együtthatók az 52 észlelési súlyozószűrőbe és a 60 formánsszintetizáló szűrőbe kerülnek (3. ábra).
Az LPC-együtthatókat az autokorreláció módszerével, a Durbin-féle rekurzió alkalmazásával határozhatjuk meg (lásd Rabiner és Schafer: „Digital Processing of Speech Signals”, Prentice-Hall, Inc., 1978.). Ez a módszer hatékony számítási technikát nyújt az LPCegyütthatók meghatározásához. Az algoritmus a következő egyenletekkel írható le:
E(0)=R(0),i=l; (15) ks =^0)-^-^(1-j)}/E(i^ (16) α,©=^; (17) ha 1 <=j<=i-1: (18)
E©=(l-kj2)E©'>;és (19)
Ha i< 10, akkor menjünk vissza a (16) egyenletre, i=i+l értékkel. (20)
A tíz LPC-együttható jelölése: aj(10),ahol 1 <=j<= 10.
Mielőtt kódolnánk az LPC-együtthatókat, biztosítani kell a szűrő stabilitását. A szűrő stabilitását azáltal érjük el, hogy a szűrő pólusait befelé radiálisán lépcsőzzük egy olyan kis értékkel, amely csökkenti a frekvenciakarakterisztika csúcsait, ugyanakkor növeli a csúcsok sávszélességét. Ez a technika sávszélességkiterjesztés néven általánosan ismert (részletes leírását lásd Tkhura és mások: „Spectral Smoothing in
PARCOR Speech Analysis-Synthesis”, ASSP Transactions, 1978. december). A jelen esetben a sávszélesség-kiterjesztés valamennyi LPC-együttható lépcsőzésével valósítható meg hatékonyan. Ezért, amint azt a III. táblázat mutatja, a 207 LPC-elemző alrendszer végső kimenő α|-α10 LPC-együtthatóit úgy állítjuk elő, hogy minden LPC-együtthatót megszorzunk egy megfelelő hexadecimális értékkel. Meg kell jegyezni, hogy a III. táblázatban közölt értékek hexadecimális formában vannak megadva tizenöt töredék bittel, kettes komplemens jelöléssel. Ennél az alaknál 0 χ 8000 jelentése -1,0 és 0x7333 (vagy 29491) jelentése 0,899994=29491/32768.
III. táblázat
A műveleteket célszerűen kétszeres pontossággal végezzük el, azaz harminckét bites osztással, szorzással és összegezéssel. A kétszeres pontosság azért előnyös, mert lehetővé teszi az autokorrelációs függvények és a szűrőegyütthatók dinamikai tartományának megtartását.
A 10. ábrán a fenti (15)-(20) egyenleteket megvalósító 207 LPC-alrendszer egy lehetséges kiviteli alakjának tömbvázlata látható. Ez a 207 LPC-alrendszer három részáramkörből áll: egy 330 fő-számítóáramkörből és a 330 fő-számítóáramkör regisztereit felfrissítő két 332, 334 pufferáramkörből. A számítás azzal kezdődik, hogy az R(l)-R(10) értékeket betöltjük a 340 pufferba. A számítás indításához előzőleg a 344 multiplexer útján betöltjük az R(l) értéket a 348 regiszterbe. A regisztert a 350 multiplexer útján az R(0) értékkel inicializáljuk, a tíz aj -·) értéket tartalmazó 352 puffért a 354 multiplexer útján csupa nullára inicializáljuk, a tíz aj© értéket tartalmazó 356 puffért a 358 multiplexer útján szintén csupa nullára inicializáljuk, és i értékét 1-re állítjuk be ehhez a számítási ciklushoz. Az egyszerűség kedvéért az i és j számlálók és a számítási ciklusokat vezérlő egyéb elemek nincsenek feltüntetve. Ilyen típusú logikai áramköröket azonban minden további nélkül meg tud tervezni és adaptálni tud az, akinek megfelelő gyakorlata van a digitális logikai áramkörök tervezésének területén.
Az Ojö-O értéket a 356 puffer adja ki a kjE<' ') kifejezés értékének a (16) egyenlet szerint történő kiszámításához. A 340 pufferból kimenő R(i-j) értékeket a 360 szorzóegység megszorozza a megfelelő ctjí’ >) értékkel. A kapott értékeket a 362 összegező kivonja a 346 regiszterben levő megfelelő értékekből. Az egyes kivonások eredményeit a 346 regiszter tárolja. A következő kivonásnál a tárolt értékek képezik az alapot. Az i-edik ciklusban i-1 számú szorzást és halmozást hajtunk végre, amint azt a (16) egyenlet összegezési tagja mutatja. Ennek a ciklusnak a végén a 346 regiszterben levő értéket a 364 osztóegység elosztja a 348 regiszterből vett EC O értékkel, hogy megkapjuk a k; értéket.
A kj értéket ezután a 332 pufferfrissítő áramkör az E© értéknek a (19) egyenlet szerint történő kiszámításához használja fel. Ez az érték lesz az Ε©>) érték a k; következő számítási ciklusa során. Az aktuális kj értéket a 366 szorzó megszorozza önmagával, hogy megkapjuk a k;2 értéket. A kj2 értéket azután a 368 összegező áramkör kivonja 1-ből. Ennek a kivonásnak az eredményét a 370 szorzóegység megszorozza a 348 regiszterből vett E(' O értékkel. A kapott E© érték a 350 multiplexer útján a 348 regiszterbe jut a következő ciklus E© 0 értékeként való tárolás céljából.
A kj értéket ezután az aj© érték (17) egyenlet szerint történő kiszámításhoz használjuk fel. Ebben az esetben a kj érték a 358 multiplexer útján a 356 pufferba jut. A kj értéket a 334 pufferfrissítő áramkörben is felhasználjuk az aj® értékeknek az aj >) értékekből a (18) egyenlet szerint történő kiszámításához. Az aj® értékek kiszámításánál a 352 pufferban tárolt aktuális értékeket használjuk fel. Amint a (18) egyenletből látható, az i-edik ciklusban i-1 számú számítást hajtunk végre. Az
HU 215 861 Β i= 1 iterációnál ezekre a számításokra nincsen szükség. Az i-edik ciklusban j minden értékére kiszámítjuk aj' értékét. Az cxj' értékek kiszámításánál a 372 szorzóegység az egyes CíjO-> értékeket megszorozza a megfelelő k; értékkel, és a szorzatok a 374 összegezőre jutnak. A 374 összegező a kjCCj.jü-1) értékeket kivonja a szintén a 374 összegezőre adott aj ) értékekből. Az egyes szorzások és összegezések eredményei a 358 multiplexer útján a.J1 értékekként a 356 pufferba jutnak.
Az aktuális ciklusra vonatkozó a/ö és <χ,·(·) értékek kiszámítása után az éppen kiszámított és a 356 pufferban tárolt értékek a 354 multiplexer útján a 352 pufferba jutnak. A 356 pufferban tárolt értékek a 352 puffer megfelelő pozícióiban lesznek tárolva. Ezáltal a 352 puffer adatai felfrissülnek a kj értéknek az (i+ Ijedik ciklusban történő kiszámításához.
Fontos megjegyezni, hogy az aktuális ciklusban az előző ciklus végén előállított otjO-U értékeket használjuk fel az aj) értékeknek a következő ciklus számára való felfrissítéséhez. Az előző ciklus adatait meg kell őrizni, hogy a következő ciklus számára elő tudjuk állítani a megfelelően felfrissített adatokat. A 356 és 352 pufferek szerepe tehát az, hogy ezeket az előző ciklusból származó adatokat mindaddig tárolják, amíg az összes felfrissített adat előállítása be nem fejeződött.
A fenti leírás arra az esetre érvényes, amikor a felfrissített értékek kiszámításának befejezése után az adatokat párhuzamosan visszük át a 356 pufferból a 352 pufferba. Ez a megoldás biztosítja, hogy a régi adatok az új adatok számításának teljes folyamata alatt megmaradjanak, és ne vesszenek el a teljes felhasználás előtt, mint az egyetlen pufferból álló elrendezés esetén. Az ismertetett kiviteli alakon kívül számos más olyan elrendezés lehetséges, amellyel ugyanaz az eredmény érhető el. A 352 és 356 pufferok például multiplexelhetők oly módon, hogy az aktuális ciklusra vonatkozóan az első pufferban tárolt adatok felhasználásával kiszámított k; értékek kiszámítása után a felfrissített adatok a második pufferban kerülnek tárolásra a következő számítási ciklusban történő felhasználáshoz. Ebben a következő ciklusban a k; értékeket a második pufferban tárolt értékekből számítjuk ki. A következő ciklusban a második pufferban tárolt értékeket és a kj értéket használjuk fel a felfrissített adatok előállításához, és ezeket a felfrissített adatokat az első pufferban tároljuk. A pufferok ily módon történő váltogatásával meg tudjuk őrizni az előző számítási ciklus azon értékeit, amelyekből a felfrissített adatok előállítása történik, ugyanakkor a felfrissített értékeket úgy tudjuk tárolni, hogy nem kerülnek felülírásra azok az előző értékek, amelyekre a felfrissített adatok előállításánál szükségünk van. Ennek a technikának az alkalmazásával minimumra csökkenthető az a késleltetés, amely a következő ciklusra vonatkozó kj érték kiszámításával jár. Ezért a k; érték kiszámításához tartozó szorzási/összegezési műveletekhez szükséges adatfrissítések az aj 1 > következő értékének kiszámításával egyidejűleg végezhetők el.
Az utolsó számítási ciklus (i= 10) befejezése után a 356 pufferban tárolt tíz aj10' LPC-együttható lépcsőzésével megkapjuk a megfelelő végső öj LPC-együtthatókat. A lépcsőzés a 344, 376 és 378 multiplexerekre adott lépcsőzéskiválasztó jel hatására oly módon valósul meg, hogy a 344 multiplexer útján történő továbbításhoz a 342 keresési táblázatban tárolt lépcsőzési értékek (a III. táblázat hexadecimális értékei) közül választunk. A 342 keresési táblázatban tárolt értékek egymás után a 360 szorzóegységre kerülnek. A 360 szorzóegység a 376 multiplexer útján megkapja a 356 pufferból egymás után kiadott aj0) értékeket is. A lépcsőzött értékek a 360 szorzóegységből a 378 multiplexer útján a 209 LPC-LSP átalakító alrendszerbejutnak (7. ábra).
Annak érdekében, hogy a tíz lépcsőzött LPC-együtthatót kisszámú bittel lehessen kódolni, ezeket az együtthatókat vonalasspektrumpár-frekvenciákká alakítjuk át (lásd Soong, Juang: „Line Spectrum Pair (LSP) and Speech Data Compression”, ICASSP ‘84). Az LSP paraméterek kiszámítása a (21), (22) egyenletek és a IV. táblázat alapján történik.
Az LSP-frekvenciákat a következő egyenleteknek 0 és π között létező tíz gyöke adja meg:
P(m)=cos 5ω+ρ[ cos 4ω+...+ p4 cos ω+ρ5/2; (21)
Q(cú)=cos 5m+qj cos 4ω+...+ q4 cos O)+q5/2; és (22) ahol a pn és qn értékeket n=l, 2, 3, 4 esetére rekurzív módon a IV. táblázat definiálja.
IV. táblázat
ρ,=-(α110)-1 ςι = -(α,-αιο)+1
ρ2=-(α29)-ρι q2=-(a2-O9)+qi
Ρ3=-(α38)-ρ2 q3=-(a3-a8)+q2
Ρ4=-(α47)-Ρ3 q4=-(a4-a7)+q3
ρ5=-(α5+α6)-Ρ4 q5=-(a5-a:6)+q4
A IV. táblázatban az aj-a10 értékek az LPC-elemzés eredményeként kapott lépcsőzött együtthatók. Az egyszerűség kedvéért a (21), (22) egyenletek tíz gyökét 0 és 0,5 közé lépcsőzzük. Az LSP-ffekvenciák egyik jellemzője az, hogy ha az LPC-szűrő stabil, a két függvény gyökei váltakoznak, vagyis a legkisebb co, gyök a Ρ(ω) legkisebb gyöke, a következő legkisebb ω2 gyök a Q(Cú) legkisebb gyöke stb. A tíz frekvencia közül a páratlan frekvenciák a Ρ(ω) gyökei, és a páros frekvenciák a Q(<n) gyökei.
A gyököket a következőképpen keressük meg: Először kétszeres pontossággal kiszámítjuk a p és q együtthatókat az LPC-együtthatók fentiek szerinti összeadásával. Ezután minden π/256 radiánra meghatározzuk Ρ(ω) értékét, és meghatározzuk ezen értékek azon előjelváltozásait, amelyek az adott résztartományban gyököt jelentenek. Ha gyököt találunk, lineáris interpolációt végzünk az adott tartomány két határa között a gyök helyének közelítő meghatározása céljából. A frekvenciák említett sorrendjéből következik, hogy minden P gyökpár között garantáltan létezik egy Q gyök (az ötödik Q gyök az ötödik P gyök és π között van). Minden P gyökpár között bináris keresést végzünk a Q gyökök helyének meghatározása céljából. A keresés megkönnyítése érdekében az egyes P gyököket a legköze14
HU 215 861 Β lebbi π/256 értékkel közelítjük, és a bináris keresést ezen közelítő értékek között hajtjuk végre. Ha egy gyököt nem találunk, akkor az LSP-frekvenciák előző, nem kvantált értékeit használjuk fel abból a legutolsó adategységből, amelyben megtaláltuk a gyököket.
All. ábra az LSP-frekvenciákat előállító áramkör egyik lehetséges kiviteli alakját szemlélteti. A fent ismertetett művelethez összesen kétszázötvenhét lehetséges koszinuszértékre van szükség 0 és π között, amelyek egy keresési táblázatban kétszeres pontossággal vannak tárolva. Ez a 400 koszinuszkeresési táblázat, amelyet a 402 mód 256 számláló címez. A 400 keresési táblázat minden j bemenetéhez egy cos ω, cos 2ω, cos 3ω, cos 4ω és cos 5ω tartozik, ahol cü=jti/256 (23), ahol j egy számlálási érték.
A 400 keresési táblázat cos ω, cos 2ω, cos 3ω és cos 4ω kimenőértékei egy-egy 404, 406, 408, illetve 410 szorzóegységbe mennek, míg a cos 5ω közvetlenül 412 összegezőbe. Ezeket az értékeket a 404, 406, 408, illetve 410 szorzóegységek megszorozzák a 414, 416, 418, illetve 420 multiplexerek útján a bemenetűkre adott megfelelő p4, p3, p2, illetve p! értékekkel. Ezeknek a szorzásoknak az eredményei szintén a 412 összegezőre kerülnek. A p5 érték a 422 multiplexer útján a 424 szorzóegységre jut állandó 0,5, azaz 1/2 értékkel. A 424 szorzóegységből kimenőérték a 412 összegező egy további bemenetét képezi. A 414-422 multiplexerek a p|-p5 vagy q, — Qs értékek közül választanak egy ρ/q együttható-kiválasztó jelnek megfelelően úgy, hogy ugyanazt az áramkört használják fel mind a Ρ(ω), mind a Q(ö)) kiszámítására. A pt-p5 vagy q,-q5 értékeket előállító áramkör nincs feltüntetve, de könnyen megvalósítható az LPC-együtthatókat, valamint a P1-P5 vagy q,-q5 értékeket összeadó és kivonó összegezők sorozatával, valamint a P|—p5 vagy qi-q5 értékeket tároló regiszterekkel.
A 412 összegező a bemenőértékek összegezésével adja a kimenő Ρ(ω) vagy Q(cn) értéket az esettől függően. A továbbiakban egyszerűsítés céljából a Ρ(ω) értékeket vizsgáljuk azzal, hogy a Q(co) értékeket ugyanúgy kell kiszámítani a qi-qs értékek felhasználásával. A P(cn)-nak a 412 összegező által kiadott aktuális értékét 426 regiszter tárolja. Az előzőleg a 426 regiszterben tárolt előző Ρ(ω) érték 428 regiszterbe lép előre. A Ρ(ω) aktuális és előző értékeinek előjelbitjei 430 kizárólagos VAGY kapuban kapcsolódnak össze, és a nullaátmenetet vagy előjelváltást egy engedélyezőjellel jelzik, amely 434 lineáris interpolálóegységre kerül. A Ρ(ω) aktuális és előző értéke a 426 és 428 regiszterekből a 434 lineáris interpolálóegységbe is eljut, amely az engedélyezőjel hatására interpoláció útján meghatározza azt a pontot a Ρ(ω) két értéke között, ahol a nullaátmenet van. Ennek a lineáris interpolációnak a törtértékű eredménye, a j-1 értéktől vett távolság, 436 pufferba jut a 256 számlálóból kapott j értékkel együtt. A 430 kapu engedélyezőjelet ad a 436 puffemak is, amely engedélyezi aj érték és a megfelelő FVj törtérték tárolását.
A törtértéket 438 összegező kivonja a 436 pufferból kilépő j értékből. A kivonás, alternatív megoldásként, a
436 pufferba való belépés előtt is elvégezhető. Ugyancsak alternatívaként a j vonalában regisztert alkalmazhatunk a 436 puffer előtt úgy, hogy aj -1 értéket a törtértékkel együtt adjuk bemenőjelként a 436 pufferra. A törtérték aj -1 értékhez hozzáadható a 436 regiszterben való tárolást megelőzően, vagy az abból való kimenetkor is. Mindegyik esetben a j+FVj vagy (j-l)-t-FVj kombinált érték megy ki a 440 osztóra, amely az 512 állandó értékkel osztja ezt a kimenőjelet. Az osztási művelet egyszerűen elvégezhető azáltal, hogy a jellemző bináris szóban megváltoztatjuk a bináris pont helyét. Ez az osztási művelet biztosítja azt a lépcsőzést, amely ahhoz szükséges, hogy az LSP-frekvencia 0 és 0,5 között legyen.
A Ρ(ω) vagy Q(®) függvény értékeléséhez öt koszinuszkeresésre, négy, kétszeres pontosságú szorzásra és négy összeadásra van szükség. A kiszámított gyökök általában tizenhárom bit pontosságúak, és egyszeres pontossággal vannak tárolva. Az LSP-frekvenciák a 211 LSP-kvantáló alrendszerre jutnak kvantálás céljából (7a. ábra).
A kiszámított LSP-frekvenciákat kvantálni kell az átvitelhez. A tíz LSP-frekvencia nagyjából szimmetrikusan helyezkedik el egy előfeszítési érték körül. Meg kell jegyezni, hogy az LSP-frekvenciák közelednek az előfeszítési értékhez, ha a bemenő beszédnek lapos a spektrális karakterisztikája, és nem lehet rövid távú előrejelzést végezni. Az előfeszítéseket a kódolóval kivonjuk, és egyszerű DPCM-kvantálót alkalmazunk. A dekódoló visszahelyezi az előfeszítést. Az előfeszítés negatív értékét az αη-ω,θ LSP-frekvenciákra az V. táblázat adja meg hexadecimális értékben, ahogyan azokat az LPC-LSP átalakító alrendszer szolgáltatja. Az V. táblázatban közölt értékek szintén kettes komplemensben vannak megadva, tizenöt töredék bittel. A 0x8000 (vagy 032768) hexadecimális érték reprezentálja -1,0et. így az V. táblázat első 0xfa2f (vagy -1489) értéke -0,045441=-1489/32768 értéknek felel meg.
V. táblázat
LSP-frekvencia Negatív előfeszítés értéke
ω, 0xfa2f
ω2 0xf45e
ω3 0 χ ee8c
ω4 0xe8bb
ω5 Ox e2e9
ω6 0xddl8
ω7 0xd746
ω8 0xdl75
ω9 0xcba3
ωιο 0xc5d2
Az alrendszerben alkalmazott előrejelző (predictor) az alrendszer puffeijában tárolt előző adategységből származó kvantált LSP-frekvencia 0,9-szerese. Ezt a 0,9 értékű csökkenési állandót azért iktatjuk be, hogy adott esetben kioltsuk a csatomahibákat.
HU215 861 Β
Az alkalmazott kvantálók lineárisak, de dinamikai tartományuk és lépésértékük a sebességtől függően változik. Ezenkívül a nagy sebességű adategységeknél minden egyes LSP-frekvencia esetében több bitet viszünk át, tehát a kvantálási szintek száma a sebességtől függ. A VI. táblázatban a kvantálás dinamikai tartományának bitkiosztása látható az egyes frekvenciáknál, a különféle sebességek mellett. Például 1-es sebességnél ω,-et egységesen négy bittel (azaz tizenhat szintre) kvantáljuk, ahol a legmagasabb kvantálási szint 0,025, és a legalacsonyabb -0,025.
VI. táblázat
Sebesség Teljes Fel Negyed Nyolcad
ω. 4: ±025 2: ±015 1 :±01 1: ±01
ω2 4: ±04 2: ±015 1 :±01 1 .-±015
ω3 4: ±07 2: ±03 1: ±01 1:±015
ω4 4: ±07 2: ±03 1: ±01 1: ±015
ω3 4: ±06 2: ±03 1: ±01 1: ±015
ω6 4: ±06 2: ±02 1 :±01 1:±015
ω7 4: ±05 2: ±02 1 .±01 1 :±01
ω8 4: ±05 2: ±02 1 :±01 1: ±01
ω9 4: ±04 2: ±02 1: ±01 1: ±01
ω,0 4: ±04 2: ±02 1: ±01 1: ±01
Összesen 40 bit 20 bit lObit lObit
Ha a sebességmeghatározó algoritmus által kiválasztott sebességre a kvantálási tartományok nem elég szélesek, vagy meredekségtúlcsordulás lép fel, akkor a sebesség a következő magasabb értékre ugrik fel. A sebesség tovább lép felfelé addig, amíg a dinamikai tartomány bele nem fér, vagy a teljes sebességet el nem éljük. A 12. ábrán egy lehetséges hatásvázlattal szemléltetjük az opcióként alkalmazható sebességléptetési módszer megvalósítását.
A 12. ábra a 211 LSP-kvantálási alrendszer egy olyan lehetséges megvalósítását szemlélteti tömbvázlat formájában, amely magában foglalja a sebességnövelő áramkört is. A 12. ábra szerinti megoldásnál az aktuális adategység LSP-frekvenciái a 440 osztóból (11. ábra) 442 regiszterbejutnak, amely tárolja ezeket, és kiadja a következő adategységre vonatkozóan végrehajtott sebességnövelési döntéshez. Az előző adategység LSPfrekvenciái és az aktuális adategység LSP-frekvenciái a 442 regiszterből, illetve a 440 osztóból sebességnövelő 444 logikai áramkörbejutnak az aktuális adategység sebességnövelésének meghatározása céljából. A sebességnövelő 444 logikai áramkör megkapja a kezdeti sebességértéket is a 205 sebességmeghatározó alrendszerből származó sebességhatároló parancsokkal együtt. Annak meghatározása céljából, hogy kell-e növelni a sebességet, a 444 logikai egység az aktuális és az előző adategység LSP-frekvenciáiból képzett különbségek négyzetösszege alapján összehasonlítja az előző adategység LSP-frekvenciáit az aktuális adategység LSPfrekvenciáival. A kapott értéket azután összehasonlítjuk egy küszöbértékkel, amelynek túllépése jelzi, hogy a beszéd jó minőségű kódolása érdekében növelni kell a sebességet. Ezen küszöbérték túllépése esetén a 444 logikai egység a kezdeti értékről egy szinttel feljebb lépteti a sebességet, és ezzel meghatározza a kódolóban alkalmazandó végleges sebességértéket.
Az ω,-ω10 LSP-frekvenciaértékek egyenként 450 összegező bemenetére jutnak a megfelelő előfeszítési értékkel együtt (12. ábra). Az előfeszítési értéket kivonjuk a bemenő LSP-frekvenciaértékből, és az eredményt 452 összegezőre adjuk. A 452 összegezőre jut még egy előrejelző (predictor) érték, amely az előző adategység megfelelő LSP-frekvenciaértékének és egy csökkenési állandónak a szorzata. A predictorértéket a 452 összegező kivonja a 450 összegező kimenőjeléből. A 452 összegező kimenőjele 454 kvantáló bemenőjelét képezi.
A 454 kvantáló 456 korlátozót, 458 minimális dinamikaitartomány-kereső táblázatot, 460 inverzlépésnagyság-kereső táblázatot, 462 összegezőt, 464 szorzóegységet és 466 bitmaszkot tartalmaz. A 454 kvantálóban a kvantálás annak meghatározásával kezdődik, hogy a bemenőérték a 454 kvantáló dinamikai tartományán belül van-e. A bemenőérték a 456 korlátozóra jut, amely a bemenőértéket a dinamikai tartomány felső és alsó határai között korlátozza, ha a bemenőjel túllépi a 458 keresési táblázatban megadott határértékeket. A 458 keresési táblázat a tárolt határértékeket a VI. táblázat szerint adja a 456 korlátozóra, a bemenő sebességjelnek és az LSP-frekvenciaindexnek (I) megfelelően. A 456 korlátozó kimenőértéke a 462 összegezőre jut, amely kivonja belőle a dinamikai tartománynak a 458 keresési táblázat által megadott minimumát. A 458 keresési táblázat kimenőértékét a VI. táblázat által megadott minimális dinamikaitartomány-értékeknek megfelelő sebességgel és LSP-frekvencia indexszel (I) ismét meghatározzuk, figyelmen kívül hagyva az érték előjelét. A 458 keresési táblázat szerint például teljes sebesség és ω, esetén az érték 0,025.
A 462 összegező kimenőjelét a 464 szorzóegység megszorozza egy, a 460 keresési táblázatból kiválasztott értékkel. A 460 keresési táblázat értékei a lépésnagyság inverzének felelnek meg az egyes LSP-frekvenciaértékekre, az egyes sebességeknél, a VI. táblázatban felsorolt értékeknek megfelelően. A 460 keresési táblázatból a kimenőértéket a sebesség és az LSP-frekvenciaindex (i) alapján választjuk ki. Az egyes sebességeknél és LSP-indexeknél (i) a 460 táblázatban tárolt érték a ((2n-l)/dinamikai tartomány) kifejezésnek felel meg, ahol n a kvantált mennyiséget reprezentáló bitek száma. Például 1-es sebesség és ω! esetén a 460 keresési táblázat megfelelő értéke (15/0,05) vagy 300.
A 464 szorzóegység kimenőjele 0 és (2n-1) közé eső érték, amely a 466 bitmaszkegység bemenetére kerül. A 466 bitmaszkegység a sebességnek és az LSPfrekvencia indexnek megfelelően leválasztja a bemenőértékből a megfelelő számú bitet a VI. táblázattal összhangban. A leválasztott bitek a bemenőérték n egész számú bitjei, amelyek korlátozott bitszámú Δω, kimenetet adnak. A Δω, értékek azok a kvantált, előfeszítés
HU 215 861 Β nélküli, differenciálisán kódolt LSP-frekvenciák, amelyek az LPC-együtthatók reprezentánsaiként átvitelre kerülnek.
A Aü)j érték 468 inverz kvantálóból, 470 összegezőbői, 472 pufferból és 474 szorzóegységből álló előrejelzőn (predictoron) át vissza is van csatolva. A 468 inverz kvantáló 476 lépésnagyság-keresési táblázatot, 478 minimális dinamikaitartomány-kereső táblázatot, 480 szorzóegységet és 482 összegezőt tartalmaz.
A Ato] a 476 keresési táblázatból kiválasztott értékkel együtt a 480 szorzóegységre jut. A 476 keresési táblázat a VI. táblázat értékeivel összhangban tartalmazza az egyes sebességértékeknél az egyes LSP-frekvenciaértékekhez tartozó lépésnagyságértékeket. A 476 keresési táblázatból a sebesség és az LSP-frekvenciaindex (i) alapján választjuk ki a kimenőértéket. A 460 táblázatban tárolt érték az egyes sebességeknél és LSP-indexeknél (i) a (dinamikai tartomány/(2-l)) érték, ahol n a kvantált értéket reprezentáló bitek száma. A 480 szorzóegység összeszorozza a bemenőértékeket, és kimenőjele a 482 összegezőre jut.
A 482 összegező másik bemenete a 478 keresési táblázatból vett érték. A 478 keresési táblázatból vett értéket a sebesség és az LSP-frekvencia index (i) határozza meg a minimális dinamikai tartomány VI. táblázat szerinti értékeinek megfelelően, figyelmen kívül hagyva az érték előjelét. A 482 összegező a 478 keresési táblázatból kapott minimális dinamikaitartomány-értéket hozzáadja a 480 szorzóegység kimenőértékéhez, és az eredményt a 470 összegezőre továbbítja.
A 470 összegező másik bemenete a 474 szorzóegység előrejelző (predictor) érték kimenete. Ezt az értéket a 470 összegező összeadja, és a tízszavas 472 puffer tárolja. A 472 pufferból az előző adategységre vonatkozóan az aktuális adategység tartama alatt kimenőértékeket a 474 szorzóegység megszorozza egy 0,9 értékű állandóval. A 474 szorzóegységből kimenő előrejelzési értékek az előbbiek szerint a 452 és 470 összegezókre kerülnek.
Az aktuális adategységnél a 472 pufferban tárolt érték az előző adategység rekonstruált LSP-frekvenciaértékeinek és az előfeszítési értéknek a különbsége. Hasonlóképpen, az aktuális adategységnél a 470 összegezőbői kimenőérték az aktuális adategység rekonstruált LSP-értékeinek és az előfeszítésnek a különbsége. Az aktuális adategységben a 472 puffer és a 470 összegező kimenőjele a 484, illetve a 486 összegezőre jut, ahol az előfeszítés hozzáadódik a megfelelő értékekhez. A 484 és 486 összegezőkből kilépő értékek az előző adategység rekonstruált LSP-frekvenciaértékei. Az LSP simítása a kisebb sebességek esetében a következő egyenlet szerint megy végbe:
simított LSP=a(aktuális LSP)+(l-a) (előző SLP), (24) ahol teljes sebességnél a=0 félsebességnél a=0,1 negyedsebességnél a=0,5 nyolcadsebességnél a=0,85
Az előző (f-1) adategység rekonstruált ; LSPfrekvenciaértékei és az aktuális (f) adategység rekonstruált ω’ϊ f LSP-frekvenciaértékei a 211 kvantáló alrendszerből a 213 hangmagasság-adatalegység LSP-interpoláló alrendszerébe és a 217 rejtjelkulcs-adatalegység LSP-interpoláló alrendszerébe jutnak. A kvantált Δω; LSP-frekvenciaértékek a 211 kvantáló alrendszerből az adatösszeállító 233 alrendszerbejutnak átvitel céljából.
A későbbiekben ismertetendő súlyozószűrőben és formánsszintetizáló szűrőben felhasznált LSP-együtthatók az éppen kódolt hangmagasság-adatalegységnek felelnek meg. A hangmagasság-adatalegységeknél az LPC-együtthatók interpolálása hangmagasság-alegységenként egyszer megy végbe. A megfelelő képleteket a VII. táblázat tartalmazza:
VII. táblázat
1 sebességnél
ω;=0,75ω\Γ ,+Ο,ίδω’ίΓ az 1. hangmagasságalegységre
ω;=Ο,5ω’;Γ_| + Ο,5ω\Γ a 2. hangmagasságalegységre
ω;=0,25ω’; ,+0,75ω\Γ a 3. hangmagasságalegységre
Ü)j = ll)’;r a 4. hangmagasságalegységre
1/2 sebességnél
ωί=0,625ω\Γ_|+0,375ω’ίιΓ az 1. hangmagasságalegységre
ω;=0,125ω’;Γ_ι+0,875ω’;Γ a 2. hangmagasságalegységre
1/4 sebességnél
ω;=0,625ω’ίΓ_ι+0,375ω’;Γ az 1. hangmagasságalegységre
1/8 sebességnél
nincs hangmagasság-keresés
A 227 hangmagasságadatalegység-számláló feladata az, hogy nyomon kövesse azokat a hangmagasságadatalegységeket, amelyekre vonatkozóan a hangmagasság-paramétereket kiszámítjuk, és a számláló kimenete a 213 hangmagasság-adatalegység LSP-interpoláló alrendszerre jut, amely a hangmagasság-adatalegység LSP-interpolálásánál használja fel azt. A 227 hangmagasságadatalegység-számláló ezenkívül olyan kimenőjelet is ad, amely a kiválasztott sebességnél jelzi a hangmagasság-adatalegység végét a 233 adattömörítő alrendszer számára.
A 13. ábra a 213 hangmagasság-adatalegység LSPinterpoláló alrendszer egy lehetséges kiviteli alakját mutatja az LSP-frekvenciáknak a megfelelő adatalegységre vonatkozó interpolálására. Mint a 13. ábrán látható, az előző és az aktuális ω’; f_; és (o’if LSP-frekvenciák az LSP-kvantáló alrendszerből az 500 és 502 szorzóegységekbe jutnak, amelyek megszorozzák ezeket az 504 memóriából vett állandóval. Az 504 memória egy sor állandó értéket tárol, és a később ismertetendő hangmagasságadatalegység-számlálóból kapott hangmagasságalegység-számnak megfelelően adja ki a VII. táblázat állandó értékeit az előző és az aktuális adat17
HU215 861 Β egység LSP-értékeivel való szorzás céljából. Az 500 és 502 szorzóegységek kimenetelt az 506 összegező összeadja, és a kapott eredmények adják meg az adott hangmagasság adatalegységhez az LSP-frekvenciaértékeket a VII. táblázatban közölt egyenleteknek megfelelően. Az LSP-frekvenciák interpolálásának elvégzése után minden hangmagasság-adatalegységnél fordított LSP-LPC átalakítás megy végbe az A(z) és az észlelés szerint súlyozó szűrő aktuális együtthatóinak meghatározása céljából. Az interpolált LSP-frekvenciaértékek azután a 7. ábrán látható 215 LSP-LPC átalakító alrendszerre jutnak.
A 215 LSP-LPC átalakító alrendszer az interpolált LSP-frekvenciákat a beszéd szintetizálása során való felhasználás céljából visszaalakítja LPC-együtthatókká. A korábban hivatkozott „Line Spectrum Pair (LSP) and Speech Data Compression” című közlemény, amelynek szerzői Soong és Juang, ezt a kérdést is részletesen tárgyalja, és levezeti azt az algoritmust, amelyet a jelen találmány szerinti megoldásnál az átalakítási folyamat során alkalmazunk. A számítási szempontok olyanok, hogy P(z) és Q(z) az alábbi egyenletek szerint kifejezhető az LSP-frekvenciákkal:
P(z) = (1 + z_1)E[(1-2cos(cü2W)z4 + z 2) (25) i=l ahol az m, értékek a P’ polinom gyökei (páratlan frekvenciák), és
Q(z) = (l-z-I)n(l-2cos(ffl2i)z-' +z-2) (26), i=l ahol az ω, értékek a Q’ polinom gyökei (páros frekvenciák), és ,27).
A számítás úgy megy végbe, hogy először minden páratlan i frekvenciára kiszámítjuk a 2cos(gj;) értéket. Ez a számítás a koszinuszfuggvény nulla (0) körüli, ötödrendű, egyszeres pontosságú Taylor-sorba fejtésével megy végbe. A koszinusztáblázatban a legközelebbi pont körül elvégzett Taylor-sorba fejtés esetleg pontosabb lehetne, de a 0 körüli sorba fejtés is kielégítő pontosságot nyújt, és nem jár túl nagy mennyiségű számítási munkával.
Ezután a P polinom együtthatóit számítjuk ki. A polinomok szorzatának együtthatóit az egyes polinomok együtthatóiból alkotott sorozatok konvolúciója adja. Ezután a fenti (25) egyenletben a z polinom együtthatók hat sorozatának {1, -2cos(m]), 1}, {1, -2cos(tú3), 1}... {1, -2cos(ü)9), 1} {1, 1} konvolúcióját számítjuk ki.
A P polinom kiszámítása után ugyanaz az eljárás ismétlődik a Q polinomra, ahol a fenti (26) egyenletben a z polinom együtthatók hat sorozatát {1, -2cos(cú2), 1}, {1, -2cos(w4), 1}... {1, -2cos(0)10), 1} {1, -1}, és a megfelelő együtthatókat összegezzük és osztjuk 2-vel (léptetjük egy bittel), hogy megkapjuk az LPC-együtthatókat.
A 13. ábra az LSP-LPC átalakító alrendszer egy lehetséges kiviteli alakjának részleteit is szemlélteti. Az
508 áramköri rész az CO; bemenőértékből kiszámítja a -2cos(üJi) értéket. Az 508 áramköri rész 509 puffért, 510 és 515 összegezőt, 511, 512, 514, 517 és 518 szorzóegységet, valamint 513 és 516 regisztert tartalmaz. A -2cos((üj) érték kiszámításánál az 513 és 516 regiszterek kezdetben nullára vannak állítva. Mivel ez az áramkör a sin(cOj) értéket számítja ki, az 510 összegező először kivonja az (ωβ értéket a bemenő π/2 állandó értékből. Ezt az értéket az 511 szorzóegység négyzetre emeli, majd az 512 szorzóegység és az 513 regiszter egymásután kiszámítja a (π/2-ωβ2, (π/2-ω;)4, (π/2-ω;)6 és (π/2-ωβ8 értékeket.
A Taylor sor c[l]-c[4] együtthatói az 512 szorzóegységből kimenőértékekkel együtt egymás után az 514 szorzóegységbe jutnak. Az 514 szorzóegységből kimenőértékek az 515 összegezőre jutnak, amely az
516 regiszter kimenetével együtt összegezi az értékeket, és képezi a ο[1](π/2-ωί)2+ο[2](π/2-ωί)4+ c[3](7i/2-a>j)6+c[4](7t/2-Cüi)8 kifejezést, amely az
517 szorzóegység bemenetére kerül. Az 516 regiszterből az 517 szorzóegységre adott jelet az 517 szorzóegység megszorozza az 510 összegezőbői kapott (π/2-ωβ értékkel. Az 517 szorzóegység kimenetét, a cos(cúj) értéket az 518 szorzóegység megszorozza a (-2) állandóval, és -2cos(tüj) értéket hoz létre. A -2cos((üj) érték képezi az 520 áramköri rész bemenetét.
Az 520 áramköri rész feladata a P polinom együtthatóinak kiszámítása. Az 520 áramköri rész 521 memóriából, 522 szorzóegységből és 523 összegezőbői áll. A P( 1)... P(11) memóriahelyek sorozata kezdetben 0-ra van állítva, aP(l) kivételével, amely 1-re van állítva. A régi indexszel ellátott -2cos(mi) értékek az 522 szorzóegységbe jutnak, az {1, -2cos((új), 1} konvolúció végrehajtása céljából, ahol 1 <i<5, l<j<2i+l, P(j)=O, ha j < 1. Az 520 áramköri rész meg van kettőzve a Q polinom együtthatóinak kiszámításához (ezt a részt nem tüntettük fel). A kapott új P(l)-P(ll) és Q(l)-Q(ll) értékek képezik az 524 áramköri rész bemenetét.
Az 524 áramköri rész végzi a hangmagasság-adatalegység tíz aj LPC-együtthatójának kiszámítását (i= 1 )-től (i= 10)-ig. Az 524 áramköri rész 525 és 526 pufferokból, 527,528 és 529 összegezőkből, valamint 530 osztóból vagy bitléptetőből áll. A végső P(i) és Q(i) értékek az 525 és 526 pufferokban vannak tárolva. A P(i) és P(i+1) értékeket az 527 összegező összegezi, míg a megfelelő Q(i) és Q(i+1) értékeket az 528 összegző kivonja 1 < i < 10 mellett. Az 527 és 528 összegezők P(z), illetve Q(z) kimenete az 529 összegezőre jut, amely összegezi ezeket, és az eredményt mint (P(z) + Q(z)) értéket adja ki. Az összegező kimenőértékét a biteknek egy pozícióval történő eltolása útján kettővel osztjuk. A biteltolással kapott (P(z) + Q(z))/2 értékek egy-egy aj LPC-együtthatót adnak. A hangmagasság-adatalegység LPC-együtthatói a 7. ábrán vázolt 221 hangmagasság-kereső alrendszerbe kerülnek.
Az LSP-frekvenciákat minden rejtjelkulcs-adatalegységre vonatkozóan interpoláljuk a kiválasztott sebességnek megfelelően, kivéve a teljes sebesség esetét. Az interpolációs számításokat ugyanúgy hajtjuk végre, mint a hangmagasság-adatalegység LSP-frekvenciái
HU 215 861 Β esetében. A rejtjelkulcs-adatalegység LSP-frekvenciáinak interpolálását a 217 rejtjelkulcsadatalegység-interpoláló alrendszer végzi. A kapott adatok a 219 LSPLPC átalakító alrendszerbe jutnak, amely a transzformálást hasonlóképpen végzi el, mint a 215 LSP-LPC átalakító alrendszer.
Amint a 3. ábrával kapcsolatban tárgyaltuk, a hangmagasság-keresést „elemzés szintézissel” módszer segítségével végezzük. Ennél a technikánál a kódolás olyan paraméterek kiválasztásával történik, amelyek mellett a bemenő beszéd és a kiválasztott paraméterek felhasználásával szintetizált beszéd közötti hiba a legkisebb. A hangmagasság-keresésnél a beszéd szintetizálása a (2) egyenletnek megfelelő karakterisztikával rendelkező hangmagasság-szintetizáló szűrő felhasználásával történik. Minden 20 ms-os beszédadategység több hangmagasság-adatalegységre van felosztva, amelyeknek a száma (amint azt korábbal leírtuk) az adott adategységre kiválasztott sebességtől függ. Hangmagasság-adatalegységenként egyszer kiszámítjuk a b és L paramétereket, vagyis a hangmagasság-nyereséget és a hangmagasság-csökkenést. A példaként bemutatott kiviteli alaknál az L hangmagasság-csökkenés értéke 17 és 143 között van. Átviteltechnikai okokból az L=16 arra az esetre van fenntartva, amikor b=0.
A beszédet kódoló egységben olyan, észlelés szerinti zajsúlyozó szűrőt alkalmazunk, amelynek paraméterei az (1) egyenletnek megfelelően vannak meghatározva. Amint az előzőkben említettük, az észlelés szerint súlyozó szűrő szerepe a hiba súlyozása azon frekvenciáknál, amelyeknél kisebb a teljesítmény, abból a célból, hogy csökkenjen a hibákból eredő zaj hatása. Az észlelés szerint súlyozó szűrő az előzőleg meghatározott rövid távú előrejelző szűrőből van származtatva. A súlyozószűrőben és a később ismertetendő formánsszintetizáló szűrőben felhasznált LPC-együtthatók az éppen kódolt adatalegységnek megfelelő interpolált értékek.
Az „elemzés szintézissel” műveletek végrehajtása során a beszéddekódoló/-szintetizáló egy másolatát használjuk fel a kódolóban. A beszédkódolóban alkalmazott szintetizálószűrő formáját a (3) és (4) egyenletek határozzák meg. A (3) és (4) egyenletek olyan dekódoló, beszédszintetizáló szűrőnek felelnek meg, amely után észlelés szerint súlyozó szűrő van kapcsolva, ezért az ilyen szűrőt súlyozott szintetizálószűrőnek nevezzük.
A hangmagasság-keresésnél abból a feltételezésből indulunk ki, hogy a rejtjelkulcs változása az aktuális adategységben nulla, azaz G=0. Minden lehetséges L hangmagasság-csökkenésre vonatkozóan szintetizáljuk a beszédet, és összehasonlítjuk az eredeti beszéddel. A bemenő beszéd és a szintetizált beszéd közötti hibát az észlelés szerint súlyozó szűrő súlyozza, mielőtt sor kerülne négyzetes középhibájának (MSE) kiszámítására. A cél az L és b összes lehetséges értéke közül annak az L és b értéknek a kiválasztása, amelyek mellett az észlelés szerint súlyozott beszéd és az észlelés szerint súlyozott szintetizált beszéd közötti hiba a legkisebb.
A hiba minimalizálása a következő egyenlettel fejezhető ki:
MSE = -—^(x(n)-x(n))2 (28), ^P ü=0 ahol Lp a hangmagasság adatalegységében levő minták száma. Ennek értéke a példaként ismertetett kiviteli alak esetében teljes sebességű hangmagasság-adatalegységnél negyven. Kiszámítjuk azt a b hangmagasságnyereséget, amelynél az MSE a legkisebb. Ezt a számítást megismételjük L minden megengedett értéke mellett, és a hangmagasságszűrő számára azt az L és b értéket választjuk ki, amelyek mellett az MSE a legkisebb.
Az optimális hangmagasság-csökkenés kiszámításához tartozik a p(n) formánsmaradvány (3. ábra) meghatározása minden időpontra n = -Lmax és n=(Lp-Lmin)-l között, ahol Lmax a maximális hangmagasság-csökkenés, Lmin a minimális hangmagasságcsökkenés és Lp a hangmagasság-adatalegység hossza a kiválasztott sebességnél, és ahol n=0 a hangmagasságadatalegység kezdete. A példakénti kiviteli alak esetében Lmax= 143 és Lmin=17. A 14. ábrán alkalmazott számozással a határértékek: 1/4 sebességre n=-143 és n = 142; 1/2 sebességre n=-143 és n=62; végül 1-es sebességre n=-143 és n=22. Ha n<0, a formánsmaradvány egyszerűen a hangmagasságszűrőnek az előző hangmagasság-adatalegységből vett kimenete, amelyet a hangmagasságszűrő memóriája tárol, és amelyet zárt hatásláncú formánsmaradványnak nevezünk. Ha n-0, a formánsmaradvány egy A(z) szűrési jelleggörbével rendelkező formánselemző szűrőnek a kimenete, ahol a bemenetét az aktuális elemzési adategység beszédmintái képezik. Ha n<0, a formánsmaradványt nyitott hatásláncú formánsmaradványnak nevezzük, és ez pontosan p(n) lenne, ha a hangmagasságszűrő és a rejtjelkulcs pontos előrejelzést adna ennél az adatalegységnél. Az optimális hangmagasság-csökkenésnek a hozzá tartozó formánsmaradvány-értékekből való kiszámítására vonatkozóan a 14-17. ábrák kapcsán adnunk további magyarázatot.
A hangmagasság-keresés száznegyvenhárom rekonstruált, zárt hatásláncú p(n) formánsmaradványmintán megy végbe n<0 esetére, valamint Lp-Lmin számú, nem kvantált, nyitott hatásláncú po(n) formánsmaradvány-mintán megy végbe n-0 esetére. A keresés valójában fokozatosan vált át a főleg nyitott hatásláncú keresésről (ahol L kicsi, és így a felhasznált legtöbb maradvány mintára n>0) a főleg zárt hatásláncú keresésre (ahol L nagy, és így a felhasznált összes maradvány mintára n<0). Például (a 14. ábra számolási rendszerét alkalmazva) teljes sebesség esetén, ahol a hangmagasság-adatalegység negyven beszédmintából áll, a hangmagasság-keresés az n=-17 és n=22 formánsmaradvány minta-készlet felhasználásával kezdődik. Ennél az elrendezésnél az n=-17 és n=-l közötti minták zárt hatásláncú formánsmaradvány-minták, míg az n=0 és n=22 közötti minták nyitott hatásláncú formánsmaradvány-minták. Az optimális hangmagasság-csökkenés meghatározásához használt formánsmaradványminták következő készletét azn=-18 ésn=21 közötti
HU215 861 Β sorszámú minták alkotják. Itt is az n=-18 és n=-l közötti minták zárt hatásláncú formánsmaradvány-minták, míg azn=0ésn=21 közötti minták nyitott hatásláncú formánsmaradvány-minták. Ez a folyamat folytatódik a mintakészleteken át mindaddig, amíg az n=-143 és n=-104 közötti utolsó formánsmaradványminta-készletre vonatkozóan is végbe nem ment a hangmagasságcsökkenés kiszámítása.
Amint azt a (28) egyenlettel kapcsolatban már említettük, a cél az, hogy minimálissá tegyük az észlelés szerint súlyozott x(n) beszéd és a súlyozott formánsszűrő nullabemenethez tartozó válaszának (ZIR) különbsége, valamint az észlelés szerint súlyozott x’(n) szintetizált beszéd közötti hibát L és b minden lehetséges értékére, a sztochasztikus rejtjelkulcs hozzájárulását nullának tekintve (G=0), és feltételezve, hogy a szűrők memóriája üres. A (28) egyenlet átírható b-re:
MSE = -L^(x(n)-by(n))2 (29),
Ep n=0 ahol y(n)=h(n)*p(n-L) ha 0<n<Lp-l (30), ahol y(n) a súlyozott szintetizált beszéd L hangmagasság-csökkenése, ha b = 1, és h(n) a (3) egyenletnek megfelelő szűrési karakterisztikával rendelkező súlyozott formánsszintetizáló szűrő impulzusfiiggvénye.
A minimalizálási folyamat egyenértékű az EL érték maximalizálásával, ahol (Exv)2
EL=Vi- (31),
Cyy ahol
U-l Exy =X(x(n)y(n) (32) n=0 és
LP_]
Ε„ = Σ(γ(η)Υ(η) (33) n=0
Az optimális b az adott L értékre:
Ezt a keresést L minden megengedett értékére megismételjük. Az optimális b pozitív értékekre van korlátozva, tehát a keresésnél figyelmen kívül hagyjuk azokat az L értékeket, amelyek negatív Exy értéket adnak. Végül azt az L csökkenést és b hangmagasság-nyereséget választjuk ki átvitelre, amelyek a legnagyobb EL értéket eredményezik.
Mint már említettük, x(n) ténylegesen a bemenő beszéd és a súlyozott formánsszűrő ZIR-értéke (nullabemenethez tartozó válasza) közötti észlelés szerint súlyozott különbség, mivel az alábbi (35)-(38) egyenletek szerinti rekurzív konvolúciónál azt feltételezzük, hogy az A(z) szűrő indulásakor a szűrő memóriájában mindig 0 van. Valójában azonban induláskor nem 0 van a szűrő memóriájában. A szintézisnél a szűrő az előző adatalegységből fennmaradó állapotban van. A gyakorlati megvalósításnál induláskor kivonjuk az észlelés szerint súlyozott beszédből a kezdeti állapot hatását. Ily módon csak az állandósult állapotban levő A(z) szűrőnek (kezdetben minden memória=0) a p(n)-re adott válaszát kell kiszámítani minden egyes L-re, és rekurzív konvolúciót lehet alkalmazni. Az x(n)-nek ezt az értékét csak egyszer kell kiszámítani, de az y(n)-et, a formánsszűrőnek a hangmagasságszűrő kimenőjelére adott, nullaállapotnak megfelelő válaszát, minden egyes L csökkenésre ki kell számítani. Az egyes y(n) értékek kiszámítása sok redundáns szorzással jár, amelyeket nem kell minden csökkenésértékre elvégezni. A szükséges számítások mennyiségének csökkentése érdekében az alábbiakban ismertetett rekurzív konvolúciót alkalmazzuk.
A rekurzív konvolúcióhoz az yL(n) értéket az y(n) értékkel definiáljuk:
yL(n)=h(n)*p(n-L) 17<L<143 (35)
vagy yL(n)=Zh(i) p(n-L-i) 17<L<143 (36).
A (32) és (33) egyenletekből látható, hogy:
yL(0)=p(-L)h(0) (37)
Yl(h)=yL-1 (Π-1)+p(-L)h(n) l<n<Lp,
17<L<143 (38).
így, ha a kezdeti konvolúció y17(n)-re adott, a többi konvolúció rekurzív módon meghatározható, ami jelentős mértékben csökkenti a szükséges számítások mennyiségét. A fenti, teljes sebességre vonatkozó példa esetében az y |7(n) értéket a (36) egyenlettel számítjuk ki az n=-17 és n=22 közötti formánsmaradvány-minták felhasználásával.
A 15. ábra szerinti példa esetében a kódoló olyan dekódolót tartalmaz, amely az 5. ábra dekóderének a mása, tartalmazza továbbá a 7. ábra szerinti 229 dekóder alrendszert az adaptív utószűrő nélkül. A 15. ábrán az 550 hangmagasság-szintetizáló szűrő bemenete a C;(n) rejtjelkulcsérték és a G rejtjelkulcsnyereség szorzata. A kimenő p(n) formánsmaradvány-minták az 552 formánsszintetizáló szűrőbe kerülnek, amely szűri ezeket, és s’(n) rekonstruált beszédmintákként adja ki. Az s’(n) rekonstruált beszédmintákat az 554 összegező kivonja a megfelelő s(n) bemenő beszédmintákból. Az s(n) és s’(n) minták különbsége az 556 észlelés szerint súlyozó szűrőbe kerül. Ami az 550 hangmagasság-szintetizáló szűrőt, az 552 formánsszintetizáló szűrőt és az 556 észlelés szerint súlyozó szűrőt illeti, mindegyik szűrőben van memória a szűrő állapotának tárolására. Az Mp tárolt érték az 550 hangmagasság-szintetizáló szűrőhöz, az Ma tárolt érték az 552 formánsszintetizáló szűrőhöz, és az Mw tárolt érték az 556 észlelés szerint súlyozó szűrőhöz tartozik.
A dekódoló alrendszer 552 formánsszintetizáló szűrőjének Ma tárolt értéke a 7. ábra 221 hangmagasság-keresési alrendszerébe jut. A 16. ábra esetében az Ma tárolt értékre azon 560 szűrő nullabemenethez tartozó válaszának (ZIR) kiszámításához van szükség, amely az 552 formánsszintetizáló szűrő ZIR-értékét számítja ki. A kiszámított ZIR-értéket az 562 összegező kivonja az s(n) bemenő beszédmintákból, és az eredményt az 564 észlelés szerint súlyozó szűrő súlyozza. Az 564 észlelés szerint súlyozó szűrő xp(n) kimenetét a (28)-(34) egyenletekben súlyozott bemenő beszédként használjuk fel, ahol x(n)=xp(n).
HU 215 861 Β
Visszatérve a 14. és 15. ábrára, az 550 hangmagasság-szintetizáló szűrő, amint a 14. ábra mutatja, adaptív 568 rejtjelkulcsot szolgáltat, amely lényegében az előbbiek szerint kiszámított zárt hatásláncú és nyitott hatásláncú formánsmaradvány-minták tárolására szolgáló memória. A zárt hatásláncú formánsmaradvány az 570 memóriarészben, a nyitott hatásláncú formánsmaradvány pedig az 572 memóriarészben van tárolva. A minták tárolása a fent példaként bemutatott számozási sémának megfelelően történik. A zárt hatásláncú formánsmaradvány a fentiek szerint van szervezve az egyes L hangmagasság-csökkenések keresésénél való felhasználásnak megfelelően. A nyitott hatásláncú formánsmaradványt az s(n) bemenő beszédmintákból számítjuk ki minden egyes hangmagasság-adatalegységre vonatkozóan az 574 formánselemző szűrő felhasználásával, amely a dekóder alrendszer 552 formánsszintetizáló szűrőjének Ma tárolt értékét használja fel a po(n) értékek kiszámításához. Az aktuális hangmagasságadatalegységre vonatkozó p0(n) értékek 576 késleltetőelemek sorozatán át jutnak az 568 adaptív rejtjelkulcs 572 memóriarészébe. A nyitott hatásláncú formánsmaradványokat oly módon tároljuk, hogy az elsőként előállított maradványminta sorszáma 0, míg az utolsóként előállítotté 142.
Hivatkozva most a 16. ábrára, a formánsszűrő h(n) impulzusválaszát 566 szűrő számítja ki, és az eredményt 580 léptetőregiszterbe továbbítja. Amint azt az előbbiekben a formánsszűrő h(n) impulzusválaszával kapcsolatban tárgyaltuk (lásd a (29)-(30) és a (35)-(38) egyenleteket), ezeket az értékeket a szűrő minden egyes hangmagasság-adatalegységre vonatkozóan kiszámítja. A hangmagasságszűrő alrendszer számításimunka-igényének további csökkentése érdekében a formánsszűrő h(n) impulzusválaszát húsz mintára csonkoljuk.
Az 580 léptetőregiszter, valamint az 582 szorzóegység, az 584 összegező és az 586 léptetőregiszter úgy van konfigurálva, hogy elvégzi a fentiekben tárgyalt rekurzív konvolúciót az 580 léptetőregiszterből kapott h(n) értékek és az 568 adaptív rejtjelkulcsból kapott c(m) értékek között. Ennek a konvolúcióműveletnek a célja a formánsszűrő nullaállapothoz tartozó válaszának (ZSR) megkeresése arra a bemenőjelre, amely a hangmagasságszűrő memóriájából érkezik, azzal a feltételezéssel, hogy a hangmagasság-nyereség 1-re van beállítva. A konvolúciós áramkör működése során n Lp-től 1-ig megy minden m-re, míg m (Lp—17) -1-től -143ig megy. Az 586 regiszterben az adatok nem lépnek előre, ha n=l; és az adatok nincsenek reteszelve, ha n=Lp. A konvolúciós áramkör akkor szolgáltat kimenőadatokat, ha m<-17.
A konvolúciós áramkört korrelációs és összehasonlító áramkör követi, amely az optimális L hangmagasságcsökkenést és b hangmagasság-nyereséget keresi meg. A - négyzetes középhiba (MSE) áramkörnek is nevezett - korrelációs áramkör kiszámítja a ZSR autó- és keresztkorrelációját a formánsszűrő ZIR-értéke és az x(n) bemenő beszéd közötti észlelés szerint súlyozott különbséggel. Ezen értékek felhasználásával a korrelációs áramkör kiszámítja az optimális b hangmagasság-nyereséget a hangmagasság-csökkenés minden értékére. A korrelációs áramkör 588 léptetőregiszterből, 590 és 592 szorzóegységekből, 594 és 596 összegezőkből, 598 és 600 regiszterekből, valamint 602 osztóból áll. A korrelációs áramkörben végrehajtott számítások során n Lp-től 1-ig megy, míg m (Lp-17) - 1-től - 143-ig.
A korrelációs áramkört összehasonlító áramkör követi, amely elvégzi az összehasonlításokat, és tárolja az adatokat az L hangmagasság-csökkenés és b erősítés optimális értékének meghatározásához. Az összehasonlító áramkör 604 szorzóegységből, 606 komparátorból, 608, 610 és 612 regiszterből, valamint 614 kvantálóból áll. Az összehasonlító áramkör minden egyes hangmagasság-adatalegységre vonatkozóan kiadja azt az L és b értéket, amelyekkel a szintetizált beszéd és a bemenő beszéd közötti hiba a legkisebb. A b értéket a 614 kvantáló egység nyolc szintre kvantálja, és egy 3 bites értékké alakítja, és egy további járulékos szint, a b=0 szint pedig azt az esetet reprezentálja, amikor L = 16. Ezek az L és b értékek a 223 rejtjelkulcskereső alrendszerbe és a 225 adatpufferba jutnak. Az értékek a 233 adattömörítő alrendszer vagy a 225 adatpuffer útján a 229 dekóderbe jutnak a hangmagasság-keresésnél való felhasználás céljából.
A hangmagasság-kereséshez hasonlóan a rejtjelkulcskeresés is olyan „elemzés szintézissel” kódolási rendszer, amelynél a kódolás azoknak a paramétereknek a kiválasztásával történik, amelyek mellett a bemenő beszéd és az ezen paraméterek felhasználásával szintetizált beszéd közötti hiba a legkisebb. Nyolcad sebesség esetén a b hangmagasság-nyereség nullára van beállítva.
Amint az előbbiekben tárgyaltuk, minden 20 ms-os adategység több rejtjelkulcs-adatalegységre van felosztva, amelyeknek a száma - mint említettük - az adategységre vonatkozóan kiválasztott sebességtől függ. Minden rejtjelkulcs-adatalegységre vonatkozóan egyszer kiszámítjuk a G rejtjelkulcsnyereséget és az I rejtjelkulcsindexet. Ezen paraméterek kiszámításánál a LSP-frekvenciákat a rejtjelkulcs-adatalegység 217 LSP-interpoláló alrendszere interpolálja az adatalegységre vonatkozóan, kivéve a teljes sebesség esetét, a hangmagasságadatalegység 213 LSP-interpoláló rendszerével kapcsolatban ismertetetthez hasonló módon. A rejtjelkulcs-adatalegység interpolált LSP-frekvenciáit a 219 LSP-LPC átalakító alrendszer szintén átalakítja LPC-együtthatókká minden egyes rejtjelkulcs-adatalegységre vonatkozóan. A 231 rejtjelkulcsadatalegység-számláló feladata az, hogy nyomon kövesse azokat a rejtjelkulcs-adatalegységeket, amelyekre a rejtjelkulcs-paraméterek számítása végbemegy. A számláló kimenete a rejtjelkulcs-adatalegység 217 LSP-interpoláló alrendszerére jut a rejtjelkulcs-adatalegység LSP-interpolálásánál való felhasználás végett. A 231 rejtjelkulcsadatalegység-számláló egy másik kimenőjele jelzi a rejtjelkulcs-adatalegység végét a kiválasztott sebességre vonatkozóan a 227 hangmagasságadatalegység-számláló részére.
A gerjesztési rejtjelkulcs 2M számú kódvektorból áll, amelyek egy egységnyi változású Gauss-féle véletlenszerű, fehér jelsorozatból épülnek fel. M=7 esetén a rejtjelkulcs százhuszonnyolc kódvektort tartalmaz.
HU 215 861 Β
A rejtjelkulcs rekurzív módon van szervezve, vagyis minden kódvektor egy mintával tér el a szomszédos kódvektortól, tehát a kódvektorban a minták egy pozícióval vannak eltolva, és amikor az egyik végnél egy új minta belép, akkor a másik végnél egy minta kiesik. Ily módon egy rekurzív rejtjelkulcs 2M+(LC-1) hosszúságú lineáris sorként tárolható, ahol Lc a rejtjelkulcs-adatalegység hossza. A megvalósítás egyszerűsítése és tárolóhely-megtakarítás céljából azonban 2M minta (azaz százhuszonnyolc minta) hosszúságú körkörös rejtjelkulcsot alkalmazunk.
A számítások mennyiségének csökkentése érdekében a rejtjelkulcs Gauss-féle értékeit a középponthoz képest levágjuk. Az értékeket eredetileg 1-es varianciájú Gauss-féle fehér sorozatból választjuk ki. Ezután az 1,25 nél kisebb értékeket nullára állítjuk be. Ezáltal az értékek mintegy 75%-a nulla lesz, és impulzusokból álló rejtjelkulcsot kapunk. A rejtjelkulcs ily módon történő levágása a rekurzív konvolúcióhoz szükséges szorzások számát negyedére csökkenti, minthogy a nullával történő szor10 zásokat nem kell elvégezni. A jelen példa esetében felhasznált rejtjelkulcsot az alábbi VIII. táblázat adja meg.
VIII. táblázat
0x0000 0x0000 0x0000 0x0000 0 χ 2afe 0x0000 0x0000 0x0000
0x41da 0x0000 0 x 0000 0x0000 0x0000 0x0000 0 x 0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x3bb3 0x0000 0 x363e
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x4I7d 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0 x 0000 0x0000
0x0000 0x0000 0 x 0000 0x0000 0x0000 0 x 9dfe 0 x 0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0 x 0000 0x0000
0x0000 0xc58a 0x0000 0x0000 0x0000 0x0000 0 x 0000 0x0000
0x0000 0xc8db 0xd365 0x0000 0x0000 0 χ d6a8 0x0000 0x0000
0x0000 0x3e53 0 x 0000 0x0000 0 χ d5ed 0x0000 0x0000 0x0000
0xd08b 0x0000 0x0000 0x0000 0x0000 0x3dl4 0 x396a 0x0000
0x0000 0x0000 0 x 0000 0x0000 0x0000 0 χ 4ee7 0 χ d7ca 0x0000
0x0000 0 x438c 0 x 0000 0x0000 0 χ ad49 0x30bl 0 x 0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x3fcd 0x0000 0x0000 0xdl87 0x2el6 0xd09b
0xcb8d 0x0000 0x0000 0x0000 0x0000 0x0000 0 x 0000 0x32ff
A beszédkódolóban itt is olyan, az (1) egyenletnek megfelelő formájú zajsúlyozó szűrőt alkalmazunk, amely a (3) egyenlet szerinti formájú súlyozott szintetizálószűrőt tartalmaz. Minden egyes I rejtjelkulcsindexre előállítjuk a szintetizált beszédet, és ezt összehasonlítjuk az eredeti beszéddel. A hibát az észlelés szerint súlyozó szűrő súlyozza, mielőtt sor kerülne az MSE (négyzetes középhiba) kiszámítására.
Amint azt az előbbiekben már említettük, a cél az x(n) és x’(n) közötti hiba minimalizálása I és G minden lehetséges értékére. A hiba minimalizálása a következő egyenlettel fejezhető ki:
MSE = 7-£(x(n)-x(n))2 (39),
Uq n=0 ahol Lc a rejtjelkulcs-adatalegységben levő minták száma. A (39) egyenlet a következőképpen írható át G-re:
MSE = -1- £ (x(n)- Gy(n))2 (40), n=o ahol y-t a formánsszűrő impulzusválaszának az I-edik kódvektorral való konvolúciójából származtatjuk, G=1 feltételezésével. Az MSE minimalizálása egyenértékű a következő érték maximalizálásával:
E,ahol (Exy)2
Eyy (41), Exy = Σ(χ(η)Υ(η) (42) es
Ε„=^(γ(η)γ(η) (43).
n=0
Az optimális G értéket az adott I-re a következő egyenletből kapjuk meg:
E.v
G, = (44)
Eyy
Ezt a keresést I minden megengedett értékére megismételjük. A hangmagasság-keresés esetével ellentétben a G optimális nyereség lehet pozitív és negatív is. Átvitelre végül is azt az I indexet és G rejtjelkulcs-nyereséget választjuk ki, amelyek mellett Ej maximális.
HU 215 861 Β
Itt is megjegyezzük, hogy az x(n) értéket, vagyis a bemenő beszéd, valamint a súlyozott hangmagasságszűrő és a formánsszűrő nullabemenethez tartozó impulzusválasza (ZIR) közötti észlelés szerint súlyozott eltérést csak egyszer kell kiszámítani. Az y(n) értéket azonban, amely a hangmagasságszűrő és a formánsszűrő nullaállapothoz tartozó válasza az egyes kódvektorokra, minden egyes I indexre ki kell számítani. Mivel körkörös rejtjelkulcsot alkalmazunk, a szükséges számítások mennyiségének minimalizálása érdekében a hangmagasság-csökkenéssel kapcsolatban ismertetett rekurzív konvolúciót használhatjuk fel.
A 15. ábra szerinti megoldásnál a kódoló az 5. ábrán vázolt dekódoló mását, valamint a 7b. ábrán bemutatott 229 dekódoló alrendszert tartalmazza, amelyben a szűrők állapotát számítjuk ki. Mp az 550 hangmagasságszintetizáló szűrőben tárolt érték, Ma az 552 formánsszintetizáló szűrőben tárolt érték, és Mw az észlelés szerint súlyozó szűrőben tárolt érték.
A dekódoló alrendszer 550 hangmagasság-szintetizáló szűrőjéből és 552 formánsszintetizáló szűrőjéből kapott Mp, illetve Ma tárolt érték (szűrőállapot) a 7b. ábrán vázolt 223 rejtjelkulcskereső alrendszerbejutnak. A 17. ábra szerinti rendszernél az Mp, Ma tárolt értékek a 620 nullaimpulzusválasz (ZIR) -szűrőbe jutnak, amely kiszámítja az 550 és 552 hangmagasság-, illetve formánsszintetizáló szűrő ZIR-válaszát. A hangmagasság, illetve formánsszintetizáló szűrők kiszámított ZIRválaszát a 622 összegező kivonja az s(n) bemenő beszédmintákból, és az eredményt a 624 észlelés szerint súlyozó szűrő súlyozza. A fenti (39)-(44) MSE-egyenletekben az 564 észlelés szerint súlyozó szűrő xc(n) kimenetét használjuk fel súlyozott bemenő beszédként, ahol x(n)=xc(n).
A 17. ábra szerinti példa esetében a 626 szűrő kiszámítja a formánsszűrő h(n) impulzus válaszát. A kapott értékek a 628 léptetőregiszterbejutnak. A formánsszűrő h(n) impulzusválaszát minden egyes rejtjelkulcs-adatalegységre vonatkozóan kiszámítjuk. A számítási igények további csökkentése céljából a formánsszűrő h(n) impulzusválaszát húsz mintára korlátozzuk.
A 628 léptetőregiszter a 630 szorzóegységgel, a 632 összegezővei és a 634 léptetőregiszterrel együtt elvégzi a rekurzív konvolúciót a 628 léptetőregiszterből jövő h(n) értékek és az előbbiekben tárgyaltak szerint a rejtjelkulcsvektorokat tartalmazó 636 rejtjelkulcsból jövő c(m) értékek között. Ennek a konvolúciós műveletnek a célja a formánsszűrő ZIR nullaállapotú válaszának megkeresése minden kódvektorTa vonatkozóan, annak feltételezésével, hogy a rejtjelkulcsnyereség 1 -re van beállítva. A konvolúciós áramkör működése során n=Letol 1-ig változik minden m-re, m pedig 1-től 256-ig megy. Az 586 regiszterben az adatok nem lépnek előre, ha n= 1, és az adatok nincsenek reteszelve, ha nLc. Az adatok a konvolúciós áramkörből akkor lépnek ki, ha rrOl. Meg kell jegyezni, hogy a konvolúciós áramkört a rekurzív konvolúció műveletének az adategység méretének megfelelő m számú ciklusban történő elvégzésére inicializálni kell, mielőtt a konvolúciós áramkört követő korrelációs és összehasonlító áramkört elindítanánk.
A korrelációs és összehasonlító áramkör végzi az I rejtjelkulcsindex és a G rejtjelkulcsnyereség értékét szolgáltató tényleges rejtjelkulcskeresést. A korrelációs áramkör, amelyet négyzetes középhiba (MSE) áramkörnek is nevezünk, kiszámítja ZSR autokorrelációját és keresztkorrelációját az észlelés szerint súlyozott különbséggel a hangmagasságszűrő és a formánsszűrő ZIR-értékei és az x’(n) bemenő beszéd között. Másképpen fogalmazva: a korrelációs áramkör az I rejtjelkulcsindex minden értékére kiszámítja a g rejtjelkulcsnyereséget. A korrelációs áramkör 638 léptetőregiszterből, 640 és 642 szorzóegységekből, 644 és 646 összegezőkből, 648 és 650 regiszterekből és 652 osztóból áll. A korrelációs áramkörben végzett számítások során n Lc-től 1-ig változik, m pedig 1-től 256-ig.
A korrelációs áramkört követő összehasonlító áramkör összehasonlítja és tárolja az adatokat az I rejtjelkulcsindex és G rejtjelkulcsnyereség optimális értékének meghatározásához. Az összehasonlító áramkör 654 szorzóegységből, 656 komparátorból, 658, 660 és 662 regiszterekből, valamint 664 kvantálóból áll. Az összehasonlító áramkör minden egyes rejtjelkulcs-adatalegységre vonatkozóan szolgáltatja azokat az I és G értékeket, amelyek mellett a szintetizált beszéd és a bemenő beszéd közötti hiba a legkisebb. A G rejtjelkulcsnyereséget a 664 kvantáló kvantálja, és az értékeket a kvantálás során az előfeszítés eltávolításával történő LSP-frekvencia kvantálásnál és kódolásnál a 12. ábrával kapcsolatban leírt DPCM-kódolással kódolja. Ezek az I és G értékek azután a 225 adatpufferba kerülnek.
A rejtjelkulcsnyereség kvantálása és DPCM-kódolása során a G értéket a következő egyenlet szerint számítjuk ki:
kvantált Gj=20 lóg Gj-0,45(20 lóg G; ! + lóg G^) (45).
ahol 20 lóg Gj j és 20 lóg G; 2 az aktuális adategységet közvetlenül megelőző (i— 1) sorszámú adategységre, illetve az azt megelőző (i-2) sorszámú adategységre vonatkozóan kiszámított érték.
Az LSP-, I, G, L és b értékek a sebességgel együtt a 233 adattömörítő alrendszerre jutnak, amely rendezi az adatokat az átvitelhez. Egy lehetséges megvalósításban az LSP-, I, G, L és b értékek a sebességgel együtt a 229 dekódolóba kerülnek a 233 adattömörítő alrendszer útján. Más megvalósításban ezek az értékek a 225 adatpuffer útján jutnak a 229 dekódolóba a hangmagasságkeresésnél való felhasználás céljából. Az előnyösnek tartott kiviteli alak esetében azonban a rejtjelkulcsindexre esetleg káros hatást gyakorló 233 adattömörítő alrendszeren belül rejtjelkulcselőjelbit-védelmet alkalmazunk. Ezért ezt a védelmet figyelembe kell venni, ha az I és G adatokat közvetlenül a 225 adatpufferból nyeljük.
A 233 adattömörítő alrendszerben különböző formátumok szerint lehet elvégezni az adatoknak az átvitelhez való tömörítését. A 18. ábra a 233 adattömörítő alrendszer funkcionális elemeinek egy lehetséges kiviteli alakját szemlélteti. A 233 adattömörítő alrendszer 670 álvéletlen zajgenerátorból (PN), 672 ciklikus redundanciaellenőrzést (CRC) számító elemből, 674 adatvédelmi lo23
HU 215 861 Β gikai egységből és 676 adategyesítőbői áll. A 670 PN generátor veszi a sebességjelet, és nyolcadsebesség esetén 4 bites véletlenszerű számot állít elő, amely a 676 adategyesítőbe jut. A 672 CRC-elem a rejtjelkulcsnyereséget és az LSP-értékeket, valamint a sebességet veszi, és teljes sebesség esetén 11 bites belső CRC-kódot állít elő, amely a 676 adategyesítőbe jut.
A 676 adategyesítő a véletlenszerű számot, valamint a CRC-kódot, és a sebességgel, valamint a 225 adatpufferból (7a. ábra) vett LSP-, I, G, L és b értékekkel együtt tartalmazó kimenőjelet ad az átviteli csatorna 237 adatfeldolgozó alrendszerére. Annál a kiviteli alaknál, amelynél az adatok a 225 adatpufferból közvetlenül a 229 dekódolóba jutnak, a 670 PN generátor minimális sebesség esetében 4 bites számot ad a 676 adategyesítőn át a 234 dekódolóra. Teljes sebesség esetében a 676 adategyesítőbői kimenő adatok az adategységadatok mellett a CRC-biteket is tartalmazzák, míg nyolcadsebesség esetében a rejtjelkulcsindex értéke kiesik, és helyébe a 4 bites véletlenszerű szám kerül.
A példaként ismertetett kiviteli alaknál célszerű védeni a rejtjelkulcsnyereség előjelbitjét. Ennek a bitnek a védelme azért célszerű, mert így a vocoder dekódolója kevésbé lesz érzékeny arra az esetre, ha egyetlen bit hibás, de az éppen ez a bit. Ha ugyanis az előjelbit valamely fel nem tárt hiba miatt megváltozik, a rejtjelkulcsindex olyan vektorra mutat, amelynek nincs köze az optimumhoz. Ha nem lenne védelem, hiba esetén az optimumvektor negatív értéke kerülne kiválasztásra, ami lényegében a lehető legrosszabb vektor felhasználását eredményezné. Az alkalmazott védelmi séma viszont megakadályozza, hogy a nyereség előjelbitjében fellépő egyetlen bithiba esetén az optimumvektor negatív értéke kerüljön kiválasztásra. A 674 adatvédelmi logikai egység a rejtjelkulcsindex és -nyereség értékét veszi, és megvizsgálja a nyereségérték előjelbitjét. Ha a nyereségérték előjelbitjét negatívnak találja, akkor a hozzá tartozó rejtjelkulcsindex értékét 89, mód 128 értékkel megnöveli. A módosított vagy változatlan rejtjelkulcsindex a 674 adatvédelmi logikai egységből a 676 adategyesítőbe jut.
A példaként ismertetett kiviteli alaknál előnyös, ha teljes sebesség esetén a tömörített beszédcsomagadatoknak az észlelés szempontjából legérzékenyebb bitjeit védjük, például belső CRC-vel (ciklikus redundancia ellenőrzéssel). Ennek a hibafelismerő eljárásnak a végrehajtásához tizenegy járulékos bitet használunk fel. Az eljárással a védett blokkban levő bármely egyszeres hiba kijavítható. A védett blokk a tíz LSP-frekvencia legnagyobb helyi értékű bitjéből és a nyolc rejtjelkulcsnyereség-érték legnagyobb helyi értékű bitjéből áll. Ha kijavíthatatlan hiba fordul elő ebben a blokkban, akkor a rendszer elveti a csomagot, és (a későbbiekben ismertetett módon) törlést jelent. Egyébként a hangmagasság-nyereség nullára lesz állítva, de a többi paramétert ugyanúgy használjuk fel, ahogyan vételre kerültek. A példaként ismertetett kiviteli alaknál az alábbi ciklikus kódot választjuk a generátorpolinom előállításához:
g(x)= 1+x3+x5+x6+x8+x9+x10 (46), amely (31, 21) ciklikus kódot ad. Meg kell azonban jegyezni, hogy más generátorpolinomok is alkalmazhatók. Egy általános paritásbit hozzáadásával (32, 21) kódot kapunk. Mivel csak tizennyolc információbit van, a kódszó első három bitjét nullává tesszük, és ezeket nem továbbítjuk. Ez a módszer további védelmet nyújt úgy, hogy ha a szindróma ezekben a pozíciókban levő hibára utal, akkor ez azt jelenti, hogy nem javítható hibáról van szó. Egy ciklikus kód szisztematikus alakban történő kódolása paritásbitek számítását foglalja magában, nevezetesen: xlOu(x) modulo (g(x), ahol u(x) az üzenetpolinom.
A dekódolási oldalon a szindrómát a vett vektor g(x)-szel való osztásából eredő maradékként számítjuk ki. Ha a szindróma nem mutat hibát, akkor a csomagot elfogadjuk, tekintet nélkül az általános paritásbit állapotára. Ha a szindróma egyetlen hibát jelez, akkor a rendszer kijavítja a hibát, ha az általános paritásbit állapota nem megfelelő. Ha a szindróma egynél több hibát jelez, a csomagot elvetjük. Ennek a hibavédelmi sémának bővebb ismertetése az „Error Control Coding: Fundamentals and Applications” című mű (szerzői: Lin és Costello) 4.5 fejezetében található meg, amely a szindrómaszámítás részleteivel foglalkozik.
CDMA-cellás távbeszélő rendszer megvalósítása esetén a 676 adategyesítő egység az adatokat a 237 átviteli csatorna adatfeldolgozó alrendszerbe továbbítja 20 ms hosszúságú átviteli adategységenként történő átvitelhez való előkészítés végett. Az olyan átviteli adategységben, amelynél a vocoder teljes sebességre van beállítva, százkilencvenhét bit kerül átvitelre 9,6 kbps effektív bitsebesség mellett. Ebben az esetben az adategység a következőkből áll: egy vegyes modulbitből a vegyes adategység jelzésére (0 = csak beszédhang, 1= beszéd és adat/jelzés); százhatvan vocoderadatbitből, tizenegy belső CRC-bittel együtt; tizenkét külső vagy adategység CRC-bitből; és nyolc kísérő bitből. Félsebesség esetén nyolcvan vocoderadatbitet továbbítunk nyolc külső CRC-bittel és nyolc kísérő bittel, 4,9 kbps effektív bitsebesség mellett. Negyedsebesség esetén negyven vocoderadatbitet továbbítunk nyolc kísérő bittel, 2,4 kbps effektív bitsebesség mellett. Végül nyolcadsebesség esetén tizenhat vocoderadatbitet továbbítunk nyolc kísérő bittel, 1,2 kbps effektív bitsebesség mellett.
Azon CDMA-rendszerben alkalmazott modulációra vonatkozóan, amelyben a jelen találmány szerinti vocoder kerül alkalmazásra, a teljes sebességtől eltérő sebességeknél olyan sémát alkalmazunk, amelyben az adatbitek csoportokká vannak szervezve, és a bitcsoportok álvéletlen elrendezésben foglalnak helyet a 20 ms időtartamú adategységen belül. Az itt a CDMA-rendszer megvalósítását illetően szemléltetés céljából bemutatottakon kívül természetesen más adategység-sebességek és bitkiosztások is lehetségesek, tehát a vocoder és más rendszerbeli alkalmazások tekintetében más megvalósítási lehetőségek is rendelkezésre állnak.
A CDMA-rendszerben (és ez más rendszerekre is érvényes) a 237 processzor alrendszer adategységenként megszakíthatja a vocoderadatok átvitelét más ada24
HU 215 861 Β tok (például jelzésre vonatkozó vagy egyéb, nem beszédet reprezentáló adatok) átvitele céljából. Az ilyen típusú átvitelt „blank and burst” átvitelnek nevezik. A 237 processzor alrendszer lényegében a vocoderadatoknak a kívánt adatokkal való helyettesítését hajtja végre az adott adategységnél.
Más helyzet állhat elő akkor, ha ugyanabban az átviteli adategységben mind vocoderadatokat, mind egyéb adatokat át kell vinni (az ilyen átviteli üzemmódot „dim and burst” átvitelnek nevezik). Ebben az esetben a vocoder sebességhatároló parancsokat kap, amelyek a vocoder végleges sebességét a kívánt értékre (például félsebességre) állítják be. A félsebességgel kódolt vocoderadatok a 237 processzor alrendszerbe kerülnek, amely a járulékos adatokat a vocoderadatokkal együtt beiktatja az átviteli adategységbe.
Teljes duplex távbeszélő összeköttetések esetében további járulékos funkciót jelent a sebességreteszelés. Ha az összeköttetés egyik irányában a legnagyobb sebességgel történik az átvitel, akkor a másik irányban a legkisebb átviteli sebességet írjuk elő. Még a legkisebb sebesség esetén is rendelkezésre áll az az észlelhetőségi szint, amely mellett a beszélő fél megállapíthatja, hogy megszakították, és abba kell hagynia a beszédet, hogy az összeköttetés másik iránya átvehesse a beszélő fél szerepét. Továbbá, ha az addigi beszélő fél a megszakítási kísérlet ellenére tovább beszél, valószínűleg nem veszi észre a minőség romlását, mivel a saját beszéde „elnyomja” azt a lehetőséget, hogy észlelje a minőséget. Az említett sebességhatároló parancsok segítségével a vocoder beállítható úgy, hogy a beszédet a normál sebességnél kisebb sebességgel kódolja.
Meg kell jegyezni, hogy a sebességhatároló parancsok felhasználhatók arra, hogy a vocoder maximális sebességét a teljes sebességnél kisebb értékre állítsuk be, ha a CDMA-rendszerben többletkapacitásra van szükség. Az olyan CDMA-rendszerben, amelynél közös frekvenciaspektrumban történik az átvitel, bármely felhasználói jel a rendszer többi felhasználója szempontjából zavaró jelet képez. így a rendszer felhasználói kapacitását a rendszer felhasználói által előidézett összes zavarás korlátozni fogja. Amint emelkedik a zavarási szint (ami általában annak tudható be, hogy nő a felhasználók száma a rendszeren belül), a felhasználók a minőség romlását fogják tapasztalni.
Az, hogy az egyes felhasználók milyen mértékben járulnak hozzá a zavaráshoz, a CDMA-rendszerben az adott felhasználók által alkalmazott adatátviteli sebességtől függ. Ha a vocoder úgy van beállítva, hogy a beszédet a normál sebességnél kisebb sebességgel kódolja, akkor a kódolt adatok átvitele az ennek megfelelően csökkentett adatátviteli sebességgel megy végbe, ami csökkenti az adott felhasználó által okozott zavarás szintjét. A rendszer kapacitása ezért jelentős mértékben növelhető azáltal, hogy a vocoder csökkentett sebességgel végzi a kódolást. Ahogy nőnek a rendszerben az igények, a rendszer vezérlőegysége vagy bázisállomása olyan értelemben vezérelheti a felhasználók vocodereit, hogy azok csökkentsék a kódolási sebességet. A jelen találmány szerinti vocoder minősége olyan, hogy ha egyáltalán van, akkor nagyon kicsi az észrevehető különbség a teljes sebesség mellett és a félsebesség mellett kódolt beszéd között. Ezért a rendszer felhasználói között folytatott beszélgetések minőségére gyakorolt hatás sokkal kisebb lesz akkor, ha a vocoderes kódolás kisebb (például 1/2) sebesség mellett történik, ahhoz az esethez viszonyítva, amikor a rendszer felhasználóinak megnövekedett száma miatt emelkedik a zavarási szint.
Különféle sémákat lehet tehát alkalmazni arra, hogy az egyedi vocodersebesség-határokat a normál vocoder sebességnél kisebb értékre állítsuk be. Például egy cellán belül az összes felhasználót úgy lehet vezérelni, hogy a beszédet félsebességgel kódolják. Ez az intézkedés lényegesen csökkenti a rendszerben a zavarást, és csak kismértékben hat a felhasználók közötti beszélgetések minőségére; ugyanakkor azonban jelentős mértékben megnöveli a kapacitást, lehetővé téve további felhasználók belépését. Mindaddig, amíg a rendszer újabb felhasználók belépése miatt megnövekedett eredő zavarása nem ér el egy bizonyos romlási szintet, a felhasználók közötti beszélgetések minősége nem romlik.
Amint az előbbiekben említettük, a kódoló a dekóder egy másolatát tartalmazza, amelynek az a feladata, hogy a beszédminták adategységeinek kódolásánál megvalósítsa az „elemzés szintézissel” módszert. Amint a 7. ábra mutatja, a 229 dekódoló az L, b, G és I értékeket vagy a 233 adattömörítő alrendszer, vagy a 225 adatpuffer útján fogadja a szintetizált beszédnek a bemenő beszéddel való összehasonlítás céljából történő rekonstruálásához. A dekódoló kimenetei az előzőkben tárgyalt Mp, Ma és Mw értékek. A 229 dekódoló további részleteit, arra vonatkozóan, hogy miképpen alkalmazzuk ezt a kódolóban, és a szintetizált beszédnek az átviteli csatorna másik végén történő rekonstruálásához, a 19-24. ábrák kapcsán együtt tárgyalhatjuk.
A 19. ábra a jelen találmány szerinti dekódoló egyik lehetséges kiviteli alakjának folyamatábrája. Mivel a dekódoló a kódolóban és a vevőben azonos kialakítású, a két megvalósítást együtt tárgyaljuk. A 19. ábrával kapcsolatban a tárgyalás elsősorban az átviteli csatorna végén levő dekódolóra vonatkozik, mivel az ott vett adatokon előfeldolgozást kell végeznie a dekódemek, míg a kódoló dekódolója az adatokat (sebesség, I, G, L és b) közvetlenül veszi a 233 adattömörítő alrendszerből vagy a 225 adatpufferból. A dekódoló alapfeladata azonban mind a kódoló, mind a dekódoló megvalósításban ugyanaz.
Amint azt az 5. ábra kapcsán tárgyaltuk, az I rejtjelkulcsindex által meghatározott rejtjelkulcsvektort az egyes rejtjelkuics-adatalegységeknél a tárolt rejtjelkulcsból nyerjük vissza. A vektort megszorozzuk a G rejtjelkulcsnyereséggel, majd a hangmagasságszürővel minden hangmagasság-adatalegységre vonatkozóan szűrést végzünk, és eredményül a formánsmaradványt kapjuk. Ezt a formánsmaradványt a formánsszűrővel szűrjük, majd átengedve egy adaptív formánsszűrőn és egy tisztító utószűrőn, automatikus erősítésszabályozás mellett megkapjuk a kimenő beszédjelet.
Bár a rejtjelkulcs- és a hangmagasság-adatalegység hossza változó, a dekódolás a megvalósítás megkönnyí25
HU 215 861 Β tése érdekében negyven mintából álló blokkon megy végbe. A tömörítve vett adatokat a vételkor először kibontjuk rejtjelkulcsnyereséggé, rejtjelkulcsindexszé, hangmagasság-nyereséggé, hangmagasság-csökkenéssé és LSP-frekvenciákká. Az LSP-frekvenciákat először megfelelő inverz kvantálókkal és DPCM-dekóderekkel kell feldolgozni a 22. ábra kapcsán ismertetett módon. A rejtjelkulcsnyereség-értékeket az LSP-frekvenciákhoz hasonlóan kell feldolgozni, azzal az eltéréssel, hogy az előfeszítéssel nem kell foglalkozni. A hangmagasságnyereség-értékeket is inverz kvantálásnak kell alávetni. Ezek a paraméterek azután az egyes dekódolási adatalegységekbe kerülnek. Minden dekódolási adatalegységben két készlet rejtjelkulcs-paraméterre (G és I), egy készlet hangmagasság-paraméterre (b és L), valamint egy készlet LPC-együtthatóra van szükség negyven kimenőminta előállításához. A 20-21. ábrák példakénti adatalegység-dekódolási paramétereket mutatnak különféle sebességek és más adategység-feltételek esetére.
Teljes sebesség esetén nyolc készlet vett rejtjelkulcs-paramétert és négy készlet vett hangmagasságparamétert használunk fel. Az LSP-frekvenciák interpolálása négyszer megy végbe, és így négy készlet LSPfrekvenciát kapunk. A vett paramétereket és a megfelelő adatalegység-információkat a 20a. ábra tartalmazza.
Félsebességű adategységek esetében a négy vett rejtjelkulcs-paraméter minden készlete egyszer ismétlődik, és a két vett hangmagasság-paraméter minden készlete ugyancsak egyszer ismétlődik. Az LSP-frekvenciák interpolálása háromszor megy végbe, és eredményül négy készlet LSP-frekvenciát kapunk. A vett paramétereket és a megfelelő adatalegység-információkat a 20a. ábra tartalmazza.
Negyedsebességű adategységek esetében a két vett rejtjelkulcs-paraméter minden készlete négyszer ismétlődik, és a hangmagasság-paraméterek készlete is négyszer ismétlődik. Az LSP-frekvenciák interpolálása egyszer megy végbe, és eredményül két készlet LSP-frekvenciát kapunk. A vett paramétereket és a megfelelő adatalegység-információkat a 20c. ábra tartalmazza.
Nyolcadsebességű adategységek esetében ugyanazokat a vett rejtjelkulcs-paramétereket használjuk fel a teljes adategységre vonatkozóan, és a hangmagasságnyereség egyszerűen nullára van beállítva. Az LSPfrekvenciák interpolálása egyszer megy végbe, és eredményül egy készlet LSP-frekvenciát kapunk. A vett paramétereket és a megfelelő adatalegység-információkat a 20d. ábra tartalmazza.
A beszédcsomagok esetenként kiüresíthetők annak érdekében, hogy a CDMA-cella vagy a mobil állomás számára jelzési információt lehessen továbbítani. Amikor a vocoder üres adategységet vesz, akkor a vételt az előző adategység paramétereinek kismértékű módosításával folytatja. A rejtjelkulcsnyereséget nullára állítja. Az előző adategység hangmagasság-csökkenését és nyereségét használja fel az aktuális adategység hangmagasság-csökkenéseként és -nyereségeként, azzal a feltétellel, hogy a nyereséget 1-re, vagy annál kisebb értékre korlátozza. Az előző adategység LSP-frekvenciáit használja fel, ahhoz az esethez hasonlóan, amikor nincs interpolálás. Megjegyezzük, hogy a kódolási oldal és a dekódolási oldal még szinkronizálva van, és a vocoder az üres adategységnek megfelelő üzemmódból nagyon gyorsan képes ismét aktívvá tenni magát. A vett paramétereket és a megfelelő adatalegység-információkat a 21a. ábra tartalmazza.
Abban az esetben, ha valamelyik adategység a csatorna hibája miatt elvész, a vocoder megkísérli ezt a hibát maszkolni úgy, hogy az előző adategység energiájának egy töredék részét megtartva simán megy át a háttérzajba. Ebben az esetben a hangmagasság-nyereség nullára van állítva, a vocoder egy véletlen rejtjelkulcsot választ ki az előző adatalegység rejtjelkulcsindexe +89 felhasználásával, és a rejtjelkulcsnyereség 0,7-szerese lesz az előző adatalegység rejtjelkulcs-nyereségének. Meg kell jegyezni, hogy a 89-es számban nincs semmi rendkívüli, ez csupán egy célszerű lehetőség az álvéletlen rejtjelkulcsvektor kiválasztására. Az előző adategység LSP-frekvenciái előfeszítési értékeik irányában csökkennek az alábbiak szerint:
(új=0,9 (előző oij-előfesz. ti)j)+előfesz. ω( (47), ahol előfesz. ω; az előfeszítési érték.
Az LSP-frekvenciák előfeszítési értékeit az V. táblázat tartalmazza. A vett paramétereket és a megfelelő adatalegység-információkat a 21b. ábra tartalmazza.
Ha a vevő nem tudja meghatározni a sebességet, elveti a csomagot, és törlést jelent. Ha azonban azt állapítja meg, hogy az adategység átvitele nagy valószínűséggel teljes sebesség mellett történt, bár hibákkal, akkor a következő történik: amint az előbbiekben említettük, teljes sebesség esetén a tömörített beszédadatcsomagnak az észlelés szempontjából legérzékenyebb bitjeit egy belső CRC védi. A dekódolási oldalon a szindrómát a vett vektornak a (46) egyenlet szerinti g(x) értékkel való osztásából adódó maradékként számítjuk ki. Ha a szindróma nem jelez hibát, akkor a vevő elfogadja a csomagot, tekintet nélkül az általános paritásbit állapotára. Ha a szindróma egyetlen hibát jelez, akkor hibajavításra kerül sor, ha az általános paritásbit állapota nem megfelelő. Ha a szindróma egynél több hibát jelez, akkor a vevő elveti a csomagot. Ha a blokkban nem javítható hiba van, akkor elveti a csomagot, és törlést jelent. Egyébként a hangmagasság-nyereség nullára van állítva, de a többi paramétert úgy használjuk fel, ahogy - korrekciókkal együtt vételre kerültek, amint azt a 21c. ábra mutatja.
Az ebben a megvalósításban alkalmazott utószűrőket először a „Real-Time Vector APC Speech Coding at 4800 BPS with Adaptive Postfiltering” című közlemény ismertette (szerzői J. H. Chen és társai, megjelent a Proc. ICASSP 1987. évfolyamában). Mivel a beszédformánsok az észlelés szempontjából fontosabbak a spektrális völgyeknél, az utószűrő kissé kiemeli a formánsokat, hogy javítsa a kódolt beszéd észlelésének minőségét. Ez a formánsszintetizáló szűrő pólusainak a középpont felé irányuló radiális lépcsőzésével történik. A sokpólusú utószűrő azonban spektrális elhajlást visz be, amelynek eredményeként a szűrt beszéd tompább lesz. A sokpólusú utószűrő által okozott spektrális el26
HU 215 861 Β hajlás olyan nullák hozzáadásával csökkenthető, amelyeknek a fázisszöge a pólusokéval azonos, de kisebb a sugara. Ezáltal a következő alakú utószűrőt nyerjük:
Η(Ζ)=ΤΓΓΤ 0<ρ<σ<1 (48),
Α(ζ/σ) ahol A(z) a formáns-előrejelző (predikciós) szűrő, a p és σ értékek az utószűrő lépcsőzést tényezői, és p 0,5re, σ pedig 0,8-ra van beállítva.
A formánsszűrő által bevitt spektrális elhajlás további kompenzálására adaptív tisztítószűrőt alkalmazunk. A tisztítószűrő alakját a következő egyenlet határozza meg:
ahol K értékét (ennek az egy leágazásos szűrőnek a tényezőjét) az LSP-frekvenciáknak az A(z) spektrális elhajlás változását megközelítő középértéke.
Az utószűrésből eredő nagy nyereségingadozások elkerülése végett automatikus erősítésszabályozó (AGC) kört hozunk létre a beszédkimenet lépcsőzésére. A lépcsőzés mértéke olyan, hogy a kimenő beszéd energiája nagyjából azonos, mint az utószűrésnek alá nem vetett beszédé. Az erősítésszabályozás úgy valósul meg, hogy a negyven szűrő bemeneti minta négyzetösszegét elosztjuk a negyven szűrő kimeneti minta négyzetösszegével, és ezáltal előállítjuk az inverz szűrőerősítést. Ezután ennek az erősítési tényezőnek a négyzetgyökét simítjuk:
fisimított=0,2Baktuáiis + θ.98βο1δζδ (50), és azután a szűrő kimenetét ezzel a simított inverz erősítéssel megszorozva kapjuk a kimenő beszédet.
A 19. ábra szerint a csatornából kapott adatok, a sebességgel együtt (akár az adatokkal együtt kerül átvitelre, akár más módon kerül meghatározásra) 700 adatkifejtő alrendszerbe jutnak. A CDMA-rendszer egyik lehetséges kiviteli alakjánál a sebességre vonatkozó döntést a vett adatok hibatartalmából határozzuk meg, amikor ezeket a különféle sebességek mellett dekódoljuk. A 700 adatkifejtő alrendszernél teljes sebesség esetén CRC-ellenőrzéssel határozzuk meg a hibákat, és az ellenőrzés eredményét a 702 adatalegység adatkifejtő alrendszerbe továbbítjuk. A 700 alrendszer jelzi a rendellenes adategységet (például üres adategység, törölt adategység vagy hibás adategység használható adatokkal) a 702 alrendszernek. A 700 alrendszer a sebességet az adategységre vonatkozó, I, G, L és b paraméterekkel együtt a 702 alrendszerbe továbbítja. Az I rejtjelkulcsnyereség-index és a G érték kiadásakor a 702 alrendszer ellenőrzi a nyereségérték előjelbitjét. Ha az előjelbit negatív, akkor kivonja a 89, mód 128 értéket a hozzá tartozó rejtjelkulcsindexből. Az alrendszer továbbá inverz kvantálást és DPCM-dekódolást végez a rejtjelkulcsnyereségen, és a hangmagasság-nyereséget inverz kvantálásnak veti alá.
A 700 alrendszer a sebességet és az LSP-frekvenciákat a 704 inverz kvantáló/interpoláló alrendszerbe továbbítja. A 700 alrendszer továbbá jelzi az üres adategységet, a törölt adategységet vagy a használható adatokat tartalmazó hibás adategységet a 704 alrendszernek. A 706 dekódolt adatalegység-számláló jelzi az adatalegység i és j számlált értékét mind a 702, mind a 704 alrendszernek.
A 704 alrendszer az LSP-frekvenciákat inverz kvantálásnak és interpolálásnak veti alá. A 22. ábra a 704 alrendszer inverz kvantálórészének egy megvalósítását mutatja, míg az interpolálórész lényegében azonos azzal, amelyet a 12. ábra kapcsán ismertettünk. A 22. ábra szerinti példa esetében a 704 alrendszer inverz kvantáló 750 kvantálót tartalmaz, amelynek kialakítása azonos a 12. ábrán vázolt 468 inverz kvantálóéval, és annak megfelelően működik. A 750 inverz kvantáló kimenete a 752 összegező egyik bemenetét képezi. A 752 összegező másik bemenetét 754 szorzóegység kimenete alkotja. A 752 kimenete a 756 regiszterbe kerül, amely tárolja, és 0,9-es tényezővel való szorzás céljából a 754 szorzóegységbe továbbítja azt. A 752 összegező kimenőjele a 758 összegezőhöz is csatlakozik, amely az LSP-frekvenciához ismét hozzáadja az előfeszítés értékét. Az LSP-frekvenciák rendezését 760 logikai egység biztosítja, amely az LSP-frekvenciákat minimumszeparációra kényszeríti. A szétválasztás szükségessége általában csak akkor merül fel, ha hiba van az átvitelben. Az LSP-frekvenciák interpolálása ezután ugyanúgy megy végbe, ahogy azt a 13. ábrával kapcsolatban, valamint a 20a-20d. és a 21a-21c. ábrák kapcsán tárgyaltuk.
Visszatérve a 19. ábrára: a 704 alrendszerhez az előző adategység LSP-értékeinek és (üi f_, értékeinek tárolására szolgáló 708 memória csatlakozik, amely felhasználható a b ω; előfeszítési értékek tárolására is. Ezeket az előző adategységhez tartozó értékeket használjuk fel az egyes sebességeknél végzett interpolációk során. Üres, törölt vagy hibás, de használható adatokat tartalmazó adategység esetében az előző LSP, CDj f_, értékeket használjuk fel a 21a-21c. ábráknak megfelelően. Ha a 700 alrendszer üres adategységet jelez, a 704 alrendszer az előző adategységnek a 708 memóriában tárolt LSP-frekvenciáit veszi elő az aktuális adategységben való felhasználáshoz. Törölt adategység jelzése esetén a 704 alrendszer szintén az előző adategység LSP-frekvenciáit veszi elő a 708 memóriából az előfeszítési értékekkel együtt az aktuális adategység LSP-frekvenciáinak a fentiek szerinti kiszámításához. Ezen számítás során a tárolt előfeszítési értéket egy összegező kivonja az előző adategység LSP-frekvenciájából, az eredményt egy szorzóegység megszorozza a 0,9-es állandó értékkel, és a kapott eredményt egy összegező hozzáadja a tárolt előfeszítési értékhez. Hibás, de használható adatokat tartalmazó adategység esetén az LSP-frekvenciák interpolálása a teljes sebesség esetéhez hasonló módon megy végbe, ha a CRC engedélyezi azt.
Az LSP-értékek 710 LSP-LPC átalakító alrendszerbe jutnak, amely az LSP-frekvenciákat visszaalakítja LPC-értékekké. A 710 alrendszer lényegében azonos a 7. ábrán vázolt 215 és 219 LSP-LPC átalakító alrendszerrel, amelyet a 13. ábra kapcsán ismertettünk. Az aj LPC-együtthatók azután a 714 formánsszűrőbe és
HU 215 861 Β
716 formánsutószűrőbe jutnak. Az LSP-frekvenciákat a 712 LSP-átlagoló alrendszer az adatalegységre vonatkozóan átlagolja, és K értékként a 718 tisztítószűrőbe továbbítja.
A 702 alrendszer az adategység I, G, L és b paramétereit a 700 alrendszerből veszi a sebességre vagy a rendellenes adategység-állapotra vonatkozó jelzéssel együtt. A 702 alrendszerre jut ezenkívül a 706 adatalegység számláló j értéke az 1 -4. dekódolási adatalegységek minden egyes számlált i értékénél. A 702 alrendszer össze van kötve a 720 memóriával is, amely az előző adategységre vonatkozó G, I, L és b értékeket tárolja rendellenes adategység-állapot esetén való felhasználás céljából. Normál adategység-állapot esetén (a nyolcadsebesség esetét kivéve) a 702 alrendszer az Ij rejtjelkulcsindex-értéket 722 rejtjelkulcsba, a Gj rejtjelkulcsnyereség-értéket 724 szorzóegységbe, az L hangmagasságcsökkenés- és b hangmagasságnyereség-értéket pedig 726 hangmagasságszűrőbe továbbítja a 20a-20d. ábráknak megfelelően. Nyolcadsebességnél, mivel nincs küldött érték a rejtjelkulcsindexre vonatkozóan, a nyolcadsebességre érvényes 16 bites paraméterértékből álló csomag (2d. ábra) jut a 722 rejtjelkulcsba a sebességre vonatkozó jelzéssel együtt. Rendellenes adategység-állapot esetén a 702 alrendszer a 21a-21c. ábráknak megfelelő értékeket adja ki. Nyolcadsebesség esetén ugyanakkor jelzést kap a 722 rejtjelkulcs is, amint azt a 23. ábrával kapcsolatban tárgyaltuk.
Ha a 700 alrendszer üres adategységet jelez, a 702 alrendszer az előző adategységre vonatkozóan a 708 memóriában tárolt L hangmagasságcsökkenés- és b hangmagasságnyereség-értékeket veszi elő (azzal a feltétellel, hogy a nyereség 1-re, vagy annál kisebb értékre van korlátozva), és ezeket használja fel az aktuális adategység dekódolási alegységeiben. Az I rejtjelkulcsindex nem kerül kiadásra, és a G rejtjelkulcsnyereség nullára van állítva. Törölt adategység jelzése esetén a 702 alrendszer itt is az előző adategység alegységének rejtjelkulcsindexét tölti be a 720 memóriából, és ehhez egy összegező hozzáadja a 89-es értéket. Az előző adategység alegységének rejtjelkulcsnyereségét egy szorzóegység megszorozza a 0,7-es állandóval, és képezi a megfelelő adatalegységre vonatkozó G értékeket. Hangmagasságcsökkenés-érték nem kerül kiadásra, és a hangmagasság-nyereség nullára van állítva. Használható adatokat tartalmazó hibás adategység jelzése esetén a rejtjelkulcsindex és -nyereség felhasználása ugyanúgy történik, mint teljes sebességnél, feltéve, hogy a CRC engedélyezi; ugyanakkor hangmagasságcsökkenés-érték nem kerül kiadásra, és a hangmagasság-nyereség értéke nullára van állítva.
Amint azt a kódoló dekódolójával kapcsolatban az „elemzés szintézissel” módszernél tárgyaltuk, az I rejtjelkulcsindexet használjuk fel a 724 szorzóegységhez továbbítandó rejtjelkulcsértékre vonatkozó kezdeti címként. A rejtjelkulcsnyereség értékét a 724 szorzóegység megszorozza a 722 rejtjelkulcs kimenőértékével, és az eredmény a 726 hangmagasságszűrő bemenetére jut. A 726 hangmagasságszűrő a bemenő L hangmagasság-csökkenés és b -nyereség-értéket felhasználva előállítja a formánsmaradványt, amely a 714 formánsszűrőbe jut. A 714 formánsszűrő az LPC-együtthatókat felhasználva szűri a formánsmaradványt, és rekonstruálja a beszédet. A vevő dekódolójában a rekonstruált beszédet további szűrésnek veti alá a 716 formánsutószűrő és a 718 adaptív tisztítószűrő. A 714 formánsszűrő és a 716 formánsszűrő után 728 AGC áramkör van elrendezve, amelynek kimenőjelét 730 szorzóegység megszorozza a 718 adaptív tisztítószűrő kimenetével. A 730 szorzóegység kimenete a rekonstruált beszéd, amelyet azután ismert módszerekkel lehet analóg alakra hozni és továbbítani a hallgatóhoz. A kódoló dekóderében észlelés szerint súlyozó szűrő van elrendezve a kimenetnél a tárolt értékek felfrissítése céljából.
A 23. ábra magának a dekódolónak a megvalósítására vonatkozóan tartalmaz további részleteket. A 722 rejtjelkulcs 750 memóriát tartalmaz, amely hasonló ahhoz, amelyet a 17. ábra kapcsán ismertettünk. Magyarázat céljából azonban a 23. ábra kissé eltérő módszert szemléltet a 750 memóriával és annak címzésével kapcsolatban. A 722 rejtjelkulcs továbbá 752 kapcsolót, 756 multiplexert és 754 álvéletlen szám (PN) generátort tartalmaz. A 752 kapcsoló a rejtjelkulcsindex hatására a 750 memóriaindex-cím helyére mutat, amint azt a 17. ábra kapcsán leírtuk. A 750 memória körbefutó memória, amelynél a 752 kapcsoló a kezdő memóriahelyre mutat, és a kimenőértékek a memórián át léptetett értékek. A rejtjelkulcsértékeket a 750 memória a
752 kapcsolón át adja ki a 753 multiplexer egyik bemenetére. A 753 multiplexer a teljes, fél- és negyedsebességnek megfelelően adja ki az értékeket a 752 kapcsoló útján kapott értékek közül a rejtjelkulcs-erősítőre, a 724 szorzóegységre. Nyolcadsebesség jelzése esetén a
753 multiplexer a 754 PN-generátor kimenetét választja ki a 722 rejtjelkulcs kimeneteként a 724 szorzóegységbe való továbbításhoz.
Annak érdekében, hogy a CELP-kódolás során megmaradjon a jó hangminőség, a kódoló és a dekódoló belső memóriájában ugyanazokat az értékeket kell tárolni. Ez a rejtjelkulcs olyan átvitelével történik, hogy a dekódoló és a kódoló szűrőjét ugyanazzal az értéksorozattal gerjesztjük. A legjobb beszédminőség eléréséhez azonban ezek a jelsorozatok főleg nullákból állnak, közöttük elosztott tüskékkel. Az ilyen típusú gerjesztés a háttérzaj kódolása szempontjából nem optimális.
A legkisebb adatsebességnél a háttérzaj kódolása úgy valósítható meg, hogy álvéletlen jelsorozatot alkalmazunk a szűrők gerjesztésére. Annak biztosítása érdekében, hogy a szűrők memóriáiban tárolt értékek ugyanazok legyenek mind a kódolónál, mind a dekódolónál, a két álvéletlen jelsorozatnak azonosnak kell lennie. Ehhez egy adatlapot kell valamilyen módon átvinni a vevő dekódolójához. Mivel nincsenek olyan további bitek, amelyeket fel lehetne használni az adatalap átvitelére, az átvitt csomag bitjeit használjuk fel az adatalap továbbításához úgy, mintha ezek számot képeznének. Ennek a módszernek az alkalmazását az teszi lehetővé, hogy a legkisebb sebesség esetén pontosan ugyanazt az „elemzés szintézissel” technikát alkalmazzuk a rejtjelkulcs és index meghatározásánál. A különbség az, hogy
HU 215 861 Β a rejtjelkulcsindexet elvetjük, és ennek helyén egy álvéletlen jelsorozat felhasználásával frissítjük fel a kódoló szűrőjében tárolt értékeket. Ezért a gerjesztéshez felhasznált adatalap az elemzés elvégzése után határozható meg. Annak biztosítása érdekében, hogy maguk a csomagok ne változzanak periodikusan különféle bitalakzatok között, négy véletlenszerű bitet iktatunk be a nyolcadsebességű csomagba a rejtjelkulcsindex-értékek helyére. Ezért a csomag adatalapja a 2d. ábrán látható 16-bites érték.
A 754 PN-generátor jól ismert technikák alkalmazásával van kialakítva, és különféle algoritmusokkal valósítható meg. A példaként ismertetett kiviteli alaknál azt az algoritmust alkalmazzuk, amelyet a „DSP chips can produce random numbers using proven algorithm” című közlemény (szerzője Paul Mennen, megjelent az EDN 1991. január 21-i számában) ismertet. Az átvitt bitcsomagot használjuk fel adatalapként (a 18. ábrán látható 700 alrendszerből) a jelsorozat előállításánál. Az egyik lehetséges megvalósításnál az adatalapot 521-gyei szorozzuk, és hozzáadunk 259-et. Az így kapott eredményt használjuk fel azután adatalapként a következő rejtjelkulcsérték előállításánál. A PN-generátor által előállított jelsorozatot normalizáljuk, hogy varianciája 1 legyen.
A 722 rejtjelkulcsból kimenőértékeket a 724 szorzóegység megszorozza a rejtjelkulcsnak a dekódolási alegység alatt kapott G nyereségével. Ez az érték képezi a 726 hangmagasságszűrő 756 összegezőjének egyik bemenetét. A 726 hangmagasságszűrő 758 szorzóegységet és 760 memóriát tartalmaz. Az L hangmagasságcsökkenés-érték határozza meg a 760 memória azon megcsapolásának a helyét, amely a 758 szorzóegységre jut. A 760 memória kimenetét a 758 szorzóegység megszorozza a b hangmagasság-nyereség értékével, és az eredmény a 756 összegező bemenetére jut. A 756 összegező kimenete a késleltetőelemek, például léptetőregiszterek sorozatából álló 760 memória egyik bemenetére jut. Az értékek a 760 memórián át lépkednek (a nyíllal jelölt irányban), és az L értékek által meghatározott, kiválasztott megcsapolásra jutnak. Mivel az értékek végiglépkednek a 760 memórián, a 143 lépésnél régebbi értékek kiesnek. A 756 összegező kimenete a 714 formánsszűrő bemenetére is eljut.
A 756 összegező kimenete a 714 formánsszűrő 762 öszegezőjének egyik bemenetével van összekötve. A 714 formánsszűrő 764a-764j szorzóegységtömböt és 766 memóriát tartalmaz. A 762 összegező kimenete a 766 memória bemenetére jut. Ez a memória szintén megcsapolt késleltetőelemek, például léptetőregiszterek sorozatából van felépítve. Az értékek (a nyíllal jelölt irány szerint) végiglépkednek a 766 memórián, és a végén kiürülnek. Mindegyik elemnek van egy megcsapolása, amely az ott tárolt értéket a 764a-764j szorzóegységek közül a megfelelőre adja ki. A 764a-764j szorzóegységek ezenkívül az aj-a10 LPC-együtthatók közül a megfelelőt is fogadják, és megszorozzák a 766 memóriából kapott kimenőjellel. A 762 összegező kimenete képezi a 714 formánsszűrő egyik kimenetét.
A 714 formánsszűrő kimenete 716 formánsutószűrő 728 AGC alrendszer bemenetére jut. A 716 formánsutószűrő 768 és 770 összegezőket, 772 memóriát, valamint 774a-774j, 776a-776j, 780a-780j és 782a-782j szorzóegységeket tartalmaz. Mivel az értékek végiglépkednek a 772 memórián, a megfelelő megcsapoláson át jutnak ki a lépcsőzött LPC-együtthatókkal való megszorzás céljából a 768 és 770 összegezőkben végbemenő összegezéshez. A 716 formánsutószűrő kimenete 718 adaptív tisztítószűrő bemenetét képezi.
A 718 adaptív tisztítószűrő 784, 786 összegezőkből, 788, 790 regiszterekből és 792, 794 szorzóegységekből áll. A 24. ábra az adaptív tisztítószűrő jelleggörbéjét mutatja. A 716 formánsutószűrő kimenete a 784 összegező egyik bemenetére jut, amelynek másik bemenetét a 792 szorzóegység kimenete képezi. A 784 összegező kimenete a 788 regiszterre jut, amely azt tárolja egy ciklus folyamán, és a következő ciklusban kiadja a 792, 794 szorzóegységeknek a 19. ábra 712 LSP-átlagolójából kapott K-értékkel együtt. A 792, 794 szorzóegységek kimenetei a 784, 786 összegezőre jutnak. A 786 összegező kimenete a 728 AGC alrendszerre és a 790 léptetőregiszterre jut. A 790 regiszter késleltetővonalat képez a koordináció biztosítására a 714 formánsszűrőből a 728 AGC alrendszerbe menő adatáramban és a 716 formánsutószűrő útján a 718 tisztítószűrőbe menő adatáramban.
A 728 AGC alrendszer a 716 formánsutószűrőből és a 718 adaptív tisztítószűrőből vett adatok alapján úgy lépcsőzi a beszéd kimenőenergiáját, hogy az körülbelül megfeleljen a 716 formánsutószűrőbe és a 718 adaptív tisztító utószűrőbe jutó bemenő beszéd energiájának. A 728 AGC alrendszer 798, 800, 802 és 804 szorzóegységeket, 806, 808 és 810 összegezőket, 812, 814 és 820 regisztereket, 816 osztót, valamint 818 gyökvonó elemet tartalmaz. A 716 formánsutószűrő negyven mintából álló kimenetét a 798 szorzóegység négyzetre emeli, és a 806 összegezőbői, valamint a 812 regiszterből álló akkumulálóegység összegezi, és képezi az x értéket. Hasonlóképpen a 718 adaptív tisztítószűrőből kimenő negyven mintát (amelyeket a 790 regiszter előtt veszünk ki) a 800 szorzóegység négyzetre emeli, majd a 808 összegezőbői, valamint a 814 regiszterből álló akkumulálóegység összegezi, és képezi az y értéket. Az y értéket a 816 osztó elosztja az x értékkel, és képezi a szűrők inverz nyereségét. A 818 elem kiszámítja az inverz nyereségtényező négyzetgyökét, és az eredményt simítja. A simítási művelet úgy megy végbe, hogy az aktuális G nyereségértéket a 802 szorzóegység 0,02 állandó értékkel szorozza, és ezt az eredményt a 810 összegező hozzáadja az előző nyereség 0,98-szorosához, amit a 820 regiszter és a 804 szorzóegység számított ki. A 718 szűrő kimenetét azután a 730 szorzóegység megszorozza az inverz nyereség simított értékével, és képezi a kimenő rekonstruált beszédet. A kimenő beszédet jól ismert átalakítási módszerek alkalmazásával hozzuk analóg alakra és továbbítjuk a felhasználóhoz.
Meg kell jegyezni, hogy a jelen találmány itt ismertetett kiviteli alakja csak egy lehetséges kiviteli példa, és a kiviteli alakok különféle, funkcionálisan egyenértékű változatai képzelhetők el. A jelen találmány megva29
HU 215 861 Β lósítható digitális jelfeldolgozóban, az itt ismertetett funkcionális működést biztosító megfelelő programvezérléssel a beszédminták kódolására és dekódolására. Más megvalósításokban a jelen találmány kivitelezhető alkalmazásspecifikus integrált áramkörként (ASIC) jól ismert igen nagy fokú integrálási (VLSI) módszerek alkalmazásával.
Az előnyösnek tartott kiviteli alak fenti leírásának az a célja, hogy a szakmában jártas személy el tudja készíteni, vagy alkalmazni tudja a jelen találmányt. Az itt ismertetett kiviteli alakok különböző változatai nyilvánvalóak a szakmában járatos személyek számára, és az itt meghatározott általános elvek alkalmazhatók más kiviteli alakokra is feltalálói tevékenység nélkül. Ezért a jelen találmány nem korlátozódik az itt bemutatott kiviteli alakokra, hanem az itt ismertetett elvekkel és új jellemzőkkel összhangban a lehető legtágabban értelmezendő.

Claims (48)

  1. SZABADALMI IGÉNYPONTOK
    1. Berendezés digitalizált adatcsomagok kódolására kódgeijesztésű, lineáris előrejelzéses kódolás (CELP) alkalmazásával, azzal jellemezve, hogy audiobemenettel (s(n)), lineáris előrejelzéses kódolási (LPC) elemző/kvantáló áramkörrel (50) és összegező áramkörrel (62) összekötött észlelési súlyozószűrője (52) van;
    az LPC elemző/kvantáló áramkör (50) az audiobemenettel (s(n)), az észlelési súlyozószűrővel (52), valamint formánsszintetizáló szűrővel (60) van összekötve;
    az összegező áramkör (62) az észlelési súlyozószűrővel (52), a formánsszintetizáló szűrővel (60), valamint négyzetes közép hiba (MSE) elemmel (64) van összekötve;
    az MSE-elem (64) az összegező áramkörrel (62), továbbá minimumképző elemmel (66) van összekötve;
    a minimumképző elem (66) az MSE-elemmel (64), valamint rejtjelkulcs elemmel (54), szorzóegységgel (56) és hangmagasság-szintetizáló szűrővel (58) van összekötve;
    a rejtjelkulcs elem (54) a minimumképző elemmel (66) és a szorzóegységgel (56) van összekötve;
    a szorzóegység (56) a rejtjelkulcs elemmel (54), a minimumképző elemmel (66) és a hangmagasság-szintetizáló szűrővel (58) van összekötve;
    a hangmagasság-szintetizáló szűrő (58) a szorzóegységgel (56), a minimumképző elemmel (66) és a formánsszintetizáló szűrővel (60) van összekötve; és a formánsszintetizáló szűrő (60) a hangmagasságszintetizáló szűrővel (58), az LPC elemző/kvantáló áramkörrel (50) és az összegező áramkörrel (62) van összekötve.
  2. 2. Berendezés digitalizált adatcsomagok kódolására kódgeijesztésű, lineáris előrejelzéses kódolás (CELP) alkalmazásával, azzal jellemezve, hogy autokorrelációs áramkörhöz (203), rejtjelkulcskereső és kvantáló áramkörrel (223), hangmagasság-kereső alrendszerrel (221) összekötött és bemenő beszédjelet fogadó Hamming ablak alrendszere (201) van;
    az autokorrelációs áramkör (203) a Hamming ablak alrendszerrel (201), továbbá LPC-elemző alrendszerrel (207) és adatsebesség-meghatározó alrendszerrel (205) van összekötve;
    az adatsebesség-meghatározó alrendszer (205) az autokorrelációs áramkörrel (203), továbbá LSP-kvantálási alrendszerrel (211) hangmagasság-adatalegység LSP-interpoláló alrendszerrel (213) és rejtjelkulcs-adatalegység LSP-interpolálö alrendszerrel (217), rejtjelkulcskereső alrendszerrel (223), hangmagasság-kereső alrendszerrel (221), adatpufferral (225), hangmagasságadatalegység-számlálóval (227), rejtjelkulcsadatalegység-számlálóval (231) és dekóderrel (229) van összekötve;
    az LPC-elemző alrendszer (207) az autokorrelációs áramkörrel (203), továbbá LPC-LSP átalakító alrendszerrel (209) van összekötve;
    az LPC-LSP átalakító alrendszer (209) az LPCelemző alrendszerrel (207) és az LSP-kvantálási alrendszerrel (211) van összekötve;
    az LSP-kvantálási alrendszer (211) az LPC-LSP átalakító alrendszerrel (209), az adatsebesség-meghatározó alrendszerrel (205), a rejtjelkulcs-adatalegység LSP-interpoláló alrendszerrel (217), a hangmagasság-adatalegység LSP-interpoláló alrendszerrel (213), a hangmagasság-kereső alrendszerrel (221), a rejtjelkulcskereső alrendszerrel (223), a rejtjelkulcsadatalegység-számlálóval (231), az adatpufferral (225), a hangmagasság-adatalegység-számlálóval (227), a dekóderrel (229), valamint adatösszeállító alrendszerrel (233) van összekötve;
    a rejtjelkulcs-adatalegység LSP-interpoláló alrendszer (217) a hangmagasság-adatalegység LSP-interpoláló alrendszerrel (213), az LSP-kvantálási alrendszerrel (211), az adatsebesség-meghatározó alrendszerrel (205), továbbá első LSP-LPC átalakító alrendszerrel (219), valamint a hangmagasság-kereső alrendszerrel (221), a rejtjelkulcskereső alrendszerrel (223), a rejtjelkulcsadatalegység-számlálóval (231), az adatpufferral (225), a hangmagasságadatalegység-számlálóval (227) és a dekóderrel (229) van összekötve;
    a hangmagasság-adatalegység LSP-interpoláló alrendszer (213) a rejtjelkulcs-adatalegység LSP-interpoláló alrendszerrel (217), az LSP-kvantálási alrendszerrel (211), az adatsebesség-meghatározó alrendszerrel (205), továbbá második LSP-LPC átalakító alrendszerrel (215), valamint a hangmagasság-kereső alrendszerrel (221), a rejtjelkulcskereső alrendszerrel (223), a rejtjelkulcsadatalegység-számlálóval (231), az adatpufferrel (225), a hangmagasságadatalegység-számlálóval (227) és a dekóderrel (229) van összekötve;
    az első LSP-LPC átalakító alrendszer (219) a rejtjelkulcs-adatalegység LSP-interpoláló alrendszerrel (217) és a rejtjelkulcskereső alrendszerrel (223) van összekötve;
    a második LSP-LPC átalakító alrendszer (215) a hangmagasság-adatalegység LSP-interpoláló alrendszerrel (213) és a hangmagasság-kereső alrendszerrel (221) van összekötve;
    a hangmagasság-kereső alrendszer (221) a rejtjelkulcskereső alrendszerrel (223), az adatpufferral (225),
    HU 215 861 Β a dekóderrel (229), a bemenő audiojellel, a második LSP-LPC átalakító alrendszerrel (215), az adatpufferral (225), a rejtjelkulcsadatalegység-számlálóval (231) és a hangmagasságadatalegység-számlálóval (227) van összekötve;
    a rejtjelkulcskereső alrendszer (223), a rejtjelkulcsadatalegység-számlálóval (231), a hangmagasság-kereső alrendszerrel (221), a hangmagasságadatalegységszámlálóval (227), az adatpufferral (225), a dekóderrel (229), az első LSP-LPC átalakító alrendszerrel (219), a bemenő audiojellel és az LSP-kvantálási alrendszerrel (211) van összekötve;
    a rejtjelkulcsadatalegység-számláló (231) a rejtjelkulcskereső alrendszerrel (223), az adatpufferral (225), a hangmagasságadatalegység-számlálóval (227), az adat-összeállító alrendszerrel (233), a hangmagasságkereső alrendszerrel (221), az LSP-kvantálási alrendszerrel (211) és a rejtjelkulcs-adatalegység LSP-interpoláló alrendszenei (217) van összekötve;
    a dekóder (229) a rejtjelkulcskereső alrendszerrel (223), a hangmagasság-kereső alrendszerrel (221), az adat-összeállító alrendszerrel (233), az adatpufferral (225), a hangmagasságadatalegység-számlálóval (227), a rejtjelkulcsadatalegység-számlálóval (231), továbbá átviteli csatornái adatfeldolgozó alrendszerrel (237) van összekötve;
    az adatpuffer (225) a rejtjelkulcskereső alrendszerrel (223), a hangmagasság-kereső alrendszerrel (221), az adat-összeállító alrendszerrel (233), a hangmagasságadatalegység-számlálóval (227), a rejtjelkulcsadatalegység-számlálóval (231) és az LSP-kvantálási alrendszerrel (221) van összekötve;
    a hangmagasságadatalegység-számláló (227) az adatpufferral (225), a rejtjelkulcskereső alrendszerrel (223), a hangmagasság-kereső alrendszerrel (221), az adat-összeállító alrendszerrel (233), a rejtjelkulcsadatalegység-számlálóval (231), a hangmagasság-adatalegység LSP-interpoláló alrendszerrel (213) és az LSPkvantálási alrendszerrel (211) van összekötve;
    az adat-összeállító alrendszer (233) az adatpufferral (225), a hangmagasságadatalegység-számlálóval (227), az átviteli csatornái adatfeldolgozó alrendszerrel (237), a dekóderrel (229) és az LSP-kvantálási alrendszerrel (211) van összekötve; és az átviteli csatornái adatfeldolgozó alrendszer (237) az adat-összeállító alrendszerrel (233) és a dekóderrel (229) van összekötve.
  3. 3. Eljárás beszédjelek tömörítésére digitalizált beszédminták adatcsomagjainak változó sebességű kódolásával, azzal jellemezve, hogy a digitalizált beszédminták egy adatcsomagjára meghatározunk egy beszédaktivitási szintet;
    az adott adatcsomagra a beszédaktivitási szinttől függően kiválasztunk egy kódolási sebességet kódolási sebességek egy készletéből;
    az adott adatcsomagot egy, a kiválasztott kódolási sebességhez rendelt kódolási formátumnak megfelelően kódoljuk, amikor is minden kódolási sebességhez egy megfelelő kódolási formátumot választunk, és minden kódolási formátumban egy beszédmodellel összhangban egy sor paraméteij ellel reprezentáltatjuk a digitalizált beszédmintákat; és a kiválasztott kódolási sebességgel adatcsomagot állítunk elő ezekből a paraméterjelekből.
  4. 4. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy a digitalizált beszédminták adatcsomagján belül megmérjük a beszédaktivitást;
    a mért beszédaktivitást összehasonlítjuk beszédaktivitási küszöbszintek egy előre meghatározott készletéből vett legalább egy beszédaktivitási küszöbszinttel; és az összehasonlítás eredményétől függően adaptív módon módosítunk legalább egy beszédaktivitási küszöbszintet a digitalizált beszédminták egy előző adatcsomagjához tartozó beszédaktivitási szinthez képest.
  5. 5. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy az adott adatcsomaghoz előre kiválasztott kódolási sebességet előíró sebességparancsot állítunk elő; és a kiválasztott kódolási sebességet oly módon módosítjuk, hogy az előre kiválasztott kódolási sebességet szolgáltatjuk az adott adatcsomagnak az előre kiválasztott kódolási sebességgel történő kódolásához.
  6. 6. Az 5. igénypont szerinti eljárás, azzal jellemezve, hogy az előre kiválasztott sebesség értékét egy előre meghatározott maximális sebességnél kisebbre választjuk, továbbá járulékos adatcsomagot állítunk elő; és az előbb említett adatcsomagot egy átviteli kereten belül kombináljuk a járulékos adatcsomaggal.
  7. 7. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy az említett adatcsomagnak a paraméteij elekből történő előállítása során a digitalizált beszédmintákból álló adatcsomag lineáris prediktív kódolási (LPC) vektoij eleit reprezentáló első bitkészletet állítunk elő, amelyben a bitek számát a beszédaktivitás szintjének megfelelően határozzuk meg;
    a digitalizált beszédmintákból álló adatcsomag hangmagasság-vektorjeleit reprezentáló második bitkészletet állítunk elő, amelyben a bitek számát a beszédaktivitás szintjének megfelelően határozzuk meg; és a digitalizált beszédmintákból álló adatcsomag rejtjelkulcs-gerjesztési vektoijeleit reprezentáló második bitkészletet állítunk elő, amelyben a bitek számát a beszédaktivitás szintjének megfelelően határozzuk meg.
  8. 8. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy az adatcsomag kódolása során az adott adatcsomag számára lineáris predikciós együtthatókból egy első készletet állítunk elő, amelyben az együtthatók számát a kiválasztott kódolási sebességnek megfelelően határozzuk meg; továbbá az adott adatcsomag számára hangmagasság együtthatókból egy második készletet állítunk elő, amelyben az együtthatók számát a kiválasztott kódolási sebességnek megfelelően határozzuk meg; és az adott adatcsomag számára rejtjelkulcs-geijesztési együtthatókból egy harmadik készletet állítunk elő, amelyben az együtthatók számát a kiválasztott kódolási sebességnek megfelelően határozzuk meg.
  9. 9. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy a beszédaktivitás szintjének meghatározása során
    HU 215 861 Β összegezzük a digitalizált beszédminták értékeinek négyzeteit.
  10. 10. A 9. igénypont szerinti eljárás, azzal jellemezve, hogy az adott adatcsomag számára hibavédelmi biteket állítunk elő.
  11. 11. A 10. igénypont szerinti eljárás, azzal jellemezve, hogy a hibavédelmi bitek számát a beszédaktivitás szintjének megfelelően határozzuk meg.
  12. 12. A 4. igénypont szerinti eljárás, azzal jellemezve, hogy a beszédaktivitás küszöbszintjeinek adaptív szabályozása során a beszédaktivitás szintjét a beszédaktivitási küszöbök közül legalább eggyel összehasonlítjuk, és a beszédaktivitási küszöbszintek közül legalább egyet lépésenként megnövelünk az említett beszédaktivitási szint irányában, ha az adott adatcsomag beszédaktivitási értéke az említett beszédaktivitási küszöbszintek közül legalább egynél nagyobb; és a mért beszédaktivitást összehasonlítjuk az említett beszédaktivitási küszöbszintek közül legalább eggyel, és a beszédaktivitási küszöbszintek közül legalább egyet lecsökkentünk az adott adatcsomag beszédaktivitási szintjéig, ha az adott adatcsomag beszédaktivitási értéke az említett beszédaktivitási küszöbszintek közül legalább egynél kisebb.
  13. 13. A 12. igénypont szerinti eljárás, azzal jellemezve, hogy a kódolási sebességet külső sebességjel alapján választjuk ki.
  14. 14. A 10. igénypont szerinti eljárás, azzal jellemezve, hogy a hibavédelem előállítása során a hibavédelmi bitek értékét egy ciklikus blokk-kóddal összhangban határozzuk meg.
  15. 15. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy a digitalizált beszédmintákat előzetesen megszorozzuk egy előre meghatározott ablakba foglalási függvénnyel.
  16. 16. A 7. igénypont szerinti eljárás, azzal jellemezve, hogy az LPC-együtthatókat vonalasspektrumpár (LSP) értékekké alakítjuk át.
  17. 17. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy a digitalizált beszédminták adatcsomagjainak hosszát 20 ms-ra választjuk.
  18. 18. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy százhatvan digitalizált beszédmintából álló adatcsomagot alkalmazunk.
  19. 19. A 3. igénypont szerinti eljárás, azzal jellemezve, hogy ha a kiválasztott kódolási sebesség teljes sebesség, összesen százhetvenegy bitet alkalmazunk, amelyek közül negyven bit reprezentálja az LPC-adatokat, további negyven bit a hangmagasságadatokat, nyolcvan bit a geijesztésivektor-adatokat, és tizenegy bit a hibavédelmet;
    ha a kiválasztott kódolási sebesség félsebesség, összesen nyolcvan bitet alkalmazunk, amelyek közül húsz bit reprezentálja az LPC-adatokat, további húsz bit a hangmagasságra vonatkozó információkat, és negyven bit a gerjesztésivektor-adatokat;
    ha a kiválasztott kódolási sebesség negyedsebesség, összesen negyven bitet alkalmazunk, amelyek közül tíz bit reprezentálja az LPC-adatokat, további tíz bit a hangmagasságadatokat, és húsz bit a geijesztésivektoradatokat; és ha a kiválasztott kódolási sebesség nyolcadsebesség, összesen tizenhat bitet alkalmazunk, amelyek közül tíz bit reprezentálja az LPC-adatokat és hat bit a gerjesztési vektor-információkat.
  20. 20. Berendezés akusztikus jelnek változó sebességű adatokká történő kódolására, azzal jellemezve, hogy az akusztikus jel digitalizált mintáiból álló bemenő adatcsomag audioaktivitását meghatározó áramköre - célszerűen autokorrelációs alrendszere (203) - van; továbbá sebességek egy előre meghatározott készletéből az adott adatcsomagon belüli audioaktivitásnak megfelelően egy adatsebességet kiválasztó sebességmeghatározó áramkörrel - célszerűen adatsebesség-meghatározó alrendszerrel (205) - rendelkezik;
    az adott adatcsomagot kódolási formátumok készletéből a kiválasztott sebességhez rendelt kódolási formátum szerint kódoló, egy sor paraméterjelet szolgáltató áramköre (50, 52, 56, 58, 60, 64, 66) van, és minden sebességhez más-más kódolási formátum van rendelve, amelyek mindegyike különféle, a digitalizált akusztikus mintákat egy beszédmodellel összhangban reprezentáló paraméteijeleket szolgáltat; és a kiválasztott adatsebességnek megfelelő adatsebesség mellett az adott adatcsomagnak megfelelő adatcsomagot szolgáltató adat-előállító áramkörrel - célszerűen adat-összeállító alrendszerrel (233) - rendelkezik.
  21. 21. Áramkör akusztikus jelnek változó sebességű adatokká történő tömörítésére, azzal jellemezve, hogy az akusztikus jel digitalizált mintái egy bemenő adatcsomagjának audioaktivitási szintjét meghatározó audioaktivitást mérő áramköre - célszerűen autokorrelációs alrendszere (203) - van; továbbá sebességek egy előre meghatározott készletéből az adott adatcsomagon belül meghatározott audioaktivitási szintnek megfelelően egy adatsebességet kiválasztó sebességmeghatározó áramkörrel - célszerűen adatsebesség-meghatározó alrendszerrel (205) - rendelkezik; és az adott adatcsomagot kódolási formátumok készletéből a kiválasztott sebességhez rendelt kódolási formátum szerint kódoló, egy sor paraméterjelet szolgáltató áramköre (50, 52, 56, 58, 60, 64, 66) van, és minden sebességhez más-más kódolási formátum van rendelve, amelyek mindegyike különféle, a digitalizált akusztikus mintákat egy beszédmodellel összhangban reprezentáló paraméterjeleket szolgáltat; továbbá a kiválasztott adatsebességnek megfelelő adatsebesség mellett az adott adatcsomagnak megfelelő adatcsomagot szolgáltató adat-előállító áramkörrel - célszerűen adat-összeállító alrendszerrel (233) - rendelkezik.
  22. 22. A 21. igénypont szerinti áramkör, azzal jellemezve, hogy az audioaktivitási szintet meghatározó áramkörnek az adott adatcsomagra egy energiaértéket meghatározó energiameghatározó áramköre - célszerűen négyzetes középhiba (MSE) eleme (64) - van; továbbá
    HU 215 861 Β a bemenő adatcsomag energiáját legalább egy audioaktivitási küszöbbel összehasonlító áramkörrel - célszerűen összegezőegységgel (290) - rendelkezik; és a bemenőadatcsomag-aktivitásnak legalább egy audioaktivitási küszöböt túllépő értékét jelző kijelző áramköre - célszerűen komparátora (292) - van.
  23. 23. A 21. igénypont szerinti áramkör, azzal jellemezve, hogy az audioaktivitási szintet meghatározó áramkör az audioaktivitási küszöbök közül legalább egyet adaptív módon szabályozó beállító áramkört (254, 256, 258, 260, 262, 264, 266) tartalmaz.
  24. 24. A 21. igénypont szerinti áramkör, azzal jellemezve, hogy az adott adatcsomag számára a kiválasztott kimenő adatsebességnek megfelelően hibavédelmi biteket szolgáltató hibavédelmi áramköre - célszerűen adat-összeállító alrendszere (233) - van.
  25. 25. A 24. igénypont szerinti áramkör, azzal jellemezve, hogy a hibavédelmi bitek értékeit egy ciklikus blokk-kóddal összhangban meghatározó hibavédelmi biteket előállító áramköre - célszerűen ciklikus redundanciaellenőrzést (CRC) számító eleme (672) van.
  26. 26. A 21. igénypont szerinti áramkör, azzal jellemezve, hogy a digitalizált mintákat egy előre meghatározott ablakba foglalási függvénnyel előzetesen megszorzó szorzó áramköre van.
  27. 27. A 26. igénypont szerinti áramkör, azzal jellemezve, hogy az előre meghatározott ablakba foglalást végző elemet Hamming ablak alrendszer (201) képezi.
  28. 28. A 21. igénypont szerinti áramkör, azzal jellemezve, hogy a kimenő adatcsomag a következőket tartalmazza:
    a digitalizált beszédmintákból álló adatcsomag LPC-vektorjeleit reprezentáló, az audioaktivitási szintnek megfelelő, változó számú bitet;
    a digitalizált beszédmintákból álló adatcsomag hangmagasság-vektorjeleit reprezentáló, az audioaktivitási szintnek megfelelő, változó számú bitet; és a digitalizált beszédmintákból álló adatcsomag rejtjelkulcs-gerjesztési vektorjeleit reprezentáló, az audioaktivitási szintnek megfelelő, változó számú bitet.
  29. 29. A 28. igénypont szerinti áramkör, azzal jellemezve, hogy a kimenő adatcsomag az audioaktivitás szintjének megfelelően változó számú hibavédelmi bitet tartalmaz.
  30. 30. A 21. igénypont szerinti áramkör, azzal jellemezve, hogy a kimenő adatcsomag összesen százhetvenegy bitet tartalmaz, ha a kimenő adatsebesség teljes sebesség, és a százhetvenegy bit közül negyven bit reprezentálja az LPC-adatokat, további negyven bit a hangmagasságadatokat, nyolcvan bit a gerjesztésivektor-adatokat és tizenegy bit a hibavédelmet;
    összesen nyolcvan bitet tartalmaz, ha a kimenő adatsebesség félsebesség, és a nyolcvan bit közül húsz bit reprezentálja az LPC-adatokat, további húsz bit a hangmagasságra vonatkozó információkat, és negyven bit a gerjesztésivektor-adatokat;
    összesen negyven bitet tartalmaz, ha a kiválasztott kódolási sebesség negyedsebesség, és a negyven bit közül tíz bit reprezentálja az LPC-adatokat, további tíz bit a hangmagasságadatokat és húsz bit a gerjesztésivektoradatokat; és összesen tizenhat bitet tartalmaz, ha a kiválasztott kódolási sebesség nyolcadsebesség, és a tizenhat bit közül tíz bit reprezentálja az LPC-adatokat és hat bit a gerj esztési vektor-információkat.
  31. 31. A 21. igénypont szerinti áramkör, azzal jellemezve, hogy az LPC-együtthatókat vonalas spektrumpár (LPC) értékekké alakító áramköre - célszerűen LPC-LSP átalakító alrendszere (209) van.
  32. 32. Eljárás beszédjel tömörítésére digitalizált beszédminták adatcsomagjainak változó sebességű kódolásával, azzal jellemezve, hogy a digitalizált beszédminták egymást követő adatcsomagjai közül egyet egy ablakba foglalási függvénnyel megszorozva ablakba foglalt beszédadatcsomagot hozunk létre;
    az ablakba foglalt beszédadatcsomagból kiszámítunk egy autokorrelációsegyüttható-készletet;
    az autokorrelációsegyüttható-készletből meghatározunk egy kódolási sebességet;
    az autokorrelációsegyüttható-készletből kiszámítunk egy LPC-együttható készletet;
    az LPC-együttható készletet vonalas spektrumpár (LSP) érték készletté alakítjuk;
    az LSP-együttható készletet egy sebességparanccsal és a kódolási sebességgel összhangban kvantáljuk;
    hangmagasságértékek egy előre meghatározott készletéből egy hangmagasságértéket kiválasztva a digitalizált beszéd minden adatcsomagja számára kiválasztunk egy hangmagasságértéket;
    a kiválasztott hangmagasságértéket a kódolási sebességgel és a sebességparanccsal összhangban kvantáljuk;
    a hangmagasságértékek egy előre meghatározott készletéből egy rejtjelkulcsértéket kiválasztva egy hangmagasság-adatcsomaghoz hozzárendelünk egy kiválasztott hangmagasságértéket;
    a rejtjelkulcsértéket a kódolási sebességgel és a sebességparanccsal összhangban kvantáljuk; és kimenő adatcsomagot állítunk elő, amely tartalmazza a kvantált vonalasspektrumpár-értékeket, a kvantált kiválasztott hangmagasságértéket és a kvantált rejtjelkulcsértéket.
  33. 33. Eljárás elsősorban beszédből és háttérzajból álló akusztikus jel digitalizált mintáit tartalmazó bemenő adatcsomagok változó sebességű kódolására kódgeijesztésű, lineáris predikciós (CELP) kódolóban, azzal jellemezve, hogy a digitalizált beszédminták egymást követő bemenő adatcsomagjainak mindegyikére kiszámítjuk a lineáris prediktív kódolási (LPC) együtthatókat;
    adatcsomag-sebességek egy készletéből legalább egy LPC-együttható alapján minden adatcsomag számára kiválasztunk egy kimenő adatcsomag-sebességet;
    az LPC-együtthatókat reprezentáló bitek számát egy, a kiválasztott sebességnek megfelelően meghatározott számra korlátozzuk;
    az egyes adatcsomagok részét képező hangmagasság-elemzési részadatcsomag-készletének minden rész33
    HU 215 861 Β csomagjára meghatározzuk a hangmagasság-paramétereket, amikor is az egyes adatcsomagok hangmagasságrészadat-csomagjainak számát a kiválasztott sebességgel összhangban határozzuk meg, és az egyes hangmagasságrészadat-csomagok hangmagasság-paramétereit a kiválasztott sebesség által meghatározott számú bit reprezentálja;
    az egyes adatcsomagok részét képező rejtjelkulcselemzési részadatcsomag-készletének minden részcsomagjára meghatározzuk a rejtjelkulcs-paramétereket, amikor is az egyes adatcsomagok rejtjelkulcsrészadatcsomagjainak számát a kiválasztott sebességgel összhangban határozzuk meg, és az egyes rejtjelkulcs-részadatcsomagok rejtjelkulcs-paramétereit a kiválasztott sebesség által meghatározott számú bit reprezentálja; és minden adatcsomag számára a megfelelő hangmagasságrészadat-csomag és rejtjelkulcsrészadat-csomag LPC-együtthatóit, hangmagasság-paramétereit és rejtjelkulcs-paramétereit reprezentáló bitekből álló megfelelő kimenő adatcsomagot állítunk elő.
  34. 34. A 33. igénypont szerinti eljárás, azzal jellemezve, hogy az LPC-együtthatókat vonalas spektrumpár (LSP) értékekké alakítjuk.
  35. 35. A 33. igénypont szerinti eljárás, azzal jellemezve, hogy minden adatcsomag számára előállítunk egy készlet hibavédelmi bitet.
  36. 36. Változó sebességű, kódgeqesztésű, lineáris predikciós (CELP) kódoló elsősorban beszédből és háttérzajból álló akusztikus jel digitalizált mintáiból álló bemenő adatcsomagok változó sebességű kódolására, azzal jellemezve, hogy a digitalizált beszédminták egymást követő bemenő adatcsomagjai mindegyikére egy megfelelő adatcsomagé energiaértéket meghatározó áramköre - célszerűen autokorrelációs alrendszere (203) - van; továbbá akusztikus jel digitalizált mintáiból álló, egymást követő bemenő adatcsomagok mindegyikére LPCegyütthatókat kiszámító LPC-generátor áramkörrel célszerűen LPC-elemző alrendszerrel (207) - rendelkezik; valamint az LPC-együtthatók közül legalább egy alapján adatcsomag-sebességek egy készletéből minden egyes adatcsomag számára egy kimenő adatcsomag-sebességet kiválasztó sebességmeghatározó áramköre - célszerűen adatsebesség-meghatározó alrendszere (205) van; ezenkívül az LPC-együtthatókat reprezentáló bitek számát egy, a kiválasztott sebességnek megfelelő, előre meghatározott számra korlátozó limitáló áramkörrel - célszerűen logikai egységgel (296) - rendelkezik; továbbá az egyes keretek részét képező hangmagasságelemzési részadatcsomagok készletének minden egyes részadatcsomagjára hangmagasság-paramétert előállító áramköre - célszerűen hangmagasság-adatalegysége (213) - van, ahol az egyes adatcsomagokon belüli hangmagasságrészadat-csomagok számát a kiválasztott sebesség határozza meg, és az egyes hangmagasságrészadat-csomagok hangmagasság-paramétereit a kiválasztott sebességnek megfelelő számú bit reprezentálja; ezenkívül az egyes keretek részét képező rejtjelkulcs-elemzési részadatcsomagok készletének minden egyes részadatcsomagjára rejtjelkulcs-paramétereket meghatározó, rejtjelkulcs-paramétereket előállító áramköre - célszerűen rejtjelkulcs-adatalegysége (217) - van, ahol az egyes adatcsomagok rejtjelkulcs-elemzési részadatcsomagjainak számát a kiválasztott sebesség határozza meg, és az egyes rejtjelkulcsrészadat-csomagok rejtjelkulcs-paramétereit a kiválasztott sebességnek megfelelő számú bit reprezentálja; és minden adatcsomag számára a megfelelő hangmagasságrészadat-csomag és rejtjelkulcsrészadat-csomag LPC-együtthatóit, hangmagasság-paramétereit és rejtjelkulcs-paramétereit reprezentáló bitekből álló megfelelő kimenő adatcsomagot állítunk elő a kiválasztott sebesség mellett.
  37. 37. A 36. igénypont szerinti CELP-kódoló, azzal jellemezve, hogy az egyes adatcsomagok hangmagasságrészadat-csomagjainak száma a kiválasztott sebességnek megfelelően a következőképpen van meghatározva:
    négy hangmagasságrészadat-csomag, ha a kiválasztott kimenő adatcsomag-sebesség teljes sebesség;
    két hangmagasságrészadat-csomag, ha a kiválasztott kimenő adatcsomag-sebesség félsebesség; és egy hangmagasságrészadat-csomag, ha a kiválasztott kimenő adatcsomag-sebesség negyedsebesség.
  38. 38. A 36. igénypont szerinti CELP-kódoló, azzal jellemezve, hogy a digitalizált mintákat egy ablakbafoglalási függvénnyel előzetesen megszorzó szorzóegysége (201) van.
  39. 39. A 38. igénypont szerinti CELP-kódoló, azzal jellemezve, hogy a digitalizált mintákat egy ablakba foglalási függvénnyel előzetesen megszorzó szorzóegységet Hamming ablak alrendszer (201) képezi.
  40. 40. A 36. igénypont szerinti CELP-kódoló, azzal jellemezve, hogy a kimenő adatcsomag az audioaktivitás szintjének megfelelően előre meghatározott számú hibavédelmi bitet tartalmaz.
  41. 41. Eljárás elsősorban beszédből és háttérzajból álló akusztikus jel digitalizált mintáit tartalmazó bemenő adatcsomagok változó sebességű kódolására kódgerjesztésű, lineáris predikciós (CELP) kódolóban, azzal jellemezve, hogy a digitalizált beszédmintákat tartalmazó, egymást követő bemenő adatcsomagok mindegyikére meghatározunk egy adatcsomagi energiaszintet;
    az adatcsomagi energiaszintnek megfelelően adatcsomag-sebességek egy készletéből minden egyes adatcsomaghoz kiválasztunk egy kimenő adatcsomag-sebességet;
    minden egyes adatcsomagra kiszámítjuk a lineáris predikciós kódolási (LPC) együtthatókat;
    a kiválasztott sebességnek megfelelően egy előre meghatározott értékre korlátozzuk az LPC-együtthatókat reprezentáló bitek számát;
    az egyes adatcsomagok részét képező hangmagasság-elemzési részadatcsomagok mindegyikére hangmagasság-paramétereket határozunk meg, ahol az egyes adatcsomagok hangmagasságrészadat-csomagj ainak
    HU 215 861 Β száma a kiválasztott sebesség által van meghatározva, és az egyes hangmagasságrészadat-csomagok hangmagasság-paramétereit a kiválasztott sebesség által meghatározott számú bit reprezentálja;
    az egyes adatcsomagok részét képező rejtjelkulcselemzési részadatcsomagok mindegyikére rejtjelkulcsparamétereket határozunk meg, ahol az egyes adatcsomagok rejtjelkulcsrészadat-csomagjainak száma a kiválasztott sebesség által van meghatározva, és az egyes rejtjelkulcs-részadatcsomagok rejtjelkulcs-paramétereit a kiválasztott sebesség által meghatározott számú bit reprezentálja; és minden adatcsomaghoz kimenő adatcsomagot állítunk elő az LPC-együtthatókat, valamint a megfelelő hangmagasság- és rejtjelkulcsrészadat-csomagok hangmagasság- és rejtjelkulcs-paramétereit reprezentáló bitekből.
  42. 42. Dekóder változó sebességű, kódgeijesztésű, lineáris predikcióval (CELP) hangaktivitás-mérésnek megfelelően egy előre meghatározott beszédmodell alapján kódolt beszédjelek adatcsomagjainak dekódolására, azzal jellemezve, hogy a kódolt adatcsomagokat az egyes adatcsomagokhoz tartozó adatsebességnek megfelelően kifejtő, rejtjelkulcsindex-paraméterek, rejtjelkulcsnyereség-értékek, hangmagasságértékek és lineáris predikciós értékek előre meghatározott egyedeit szolgáltató adatkifejtő áramköre (700) van; továbbá a rejtjelkulcsindex-paramétereknek megfelelő rejtjelkulcs-gerjesztési vektort előállító áramkörrel (722) rendelkezik; ezenkívül a rejtjelkulcs-gerjesztési vektort a rejtjelkulcsnyereség-értékeknek megfelelően felerősítő és hangmagasságmaradványt előállító erősítő áramköre (702) van; továbbá a hangmagasságmaradványt a vett hangmagasságértékek alapján szűrő és formánst előállító hangmagasságszűrő áramköre (726) van; és a formánsmaradványt a lineáris predikciós értékekkel összhangban formánselemzéses szűrésnek alávető, és az adott adatcsomag rekonstruált beszédmintáit előállító formánsszűrő áramkörrel (714) rendelkezik.
  43. 43. A 42. igénypont szerinti dekóder, azzal jellemezve, hogy a rekonstruált beszédmintákat adaptív szűrésnek alávető, a rekonstruált mintákban a hallható zajt csökkentő, a rekonstruált beszédminták és az adaptív szűrésnek alávetett rekonstruált beszédminták között egységes nyereséget biztosító adaptív szűrője (718) van.
  44. 44. Eljárás rekonstruált beszéd észlelt minőségének javítására a rekonstruált beszéd azon spektrális meredekségének kompenzálása útján, amely akusztikai jel digitalizált mintáiból álló, változó sebességű, kódgerjesztéses, lineáris predikciós (CELP) kódolásnak alávetett adatcsomagok dekódolása során végzett utószűrés által került bevitelre, ahol a dekóder a rekonstruált akusztikus jelet az akusztikus jel formánsfrekvenciái között frekvenciasávban gyengítő utószűrőt tartalmaz; azzal jellemezve, hogy meghatározzuk az utószűrésnek alávetett beszéd spektrális meredekségének értékét;
    a spektrális meredekség értékével összhangban meghatározunk egy készletszűrési együtthatót; és az utószűrésnek alávetett beszédet ezen szűrési együtthatóknak megfelelően szüljük.
  45. 45. Eljárás változó sebességű, kódgerjesztéses, lineáris predikciós (CELP) adatokból álló, egy előre meghatározott beszédmodell alapján hangaktivitás-mérés eredményének megfelelően kódolt adatcsomagok dekódolására, azzal jellemezve, hogy a változó sebességű CELP-adatokból álló adatcsomagokat a változó sebességű CELP-adatok sebességének megfelelő kifejtésnek vetjük alá; és a változó sebességű CELP-adatokból álló adatcsomagoknak megfelelő akusztikus jelet állítunk elő.
  46. 46. A 45. igénypont szerinti eljárás, azzal jellemezve, hogy a változó sebességű CELP-adatokból álló adatcsomagok kifejtése során a változó sebességű CELPadatok sebességének megfelelő számú, lineáris predikciós kódolási (LPC) együtthatót fejtünk ki.
  47. 47. A 45. igénypont szerinti eljárás, azzal jellemezve, hogy a változó sebességű CELP-adatokból álló adatcsomagok kifejtése során a változó sebességű CELPadatok sebességének megfelelő számú hangmagasságelőrejelzési értéket fejtünk ki.
  48. 48. A 45. igénypont szerinti eljárás, azzal jellemezve, hogy a változó sebességű CELP-adatokból álló adatcsomagok kifejtése során a változó sebességű CELPadatok sebességének megfelelő számú szűrőgerjesztési értéket fejtünk ki.
HU9303533A 1991-06-11 1992-06-03 Eljárások beszédjelek tömörítésére digitalizált minták változtatható sebességű kódolásával és dekódolásával, valamint eszközök ezen eljárások foganatosításához HU215861B (hu)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US71366191A 1991-06-11 1991-06-11

Publications (2)

Publication Number Publication Date
HUT70719A HUT70719A (en) 1995-10-30
HU215861B true HU215861B (hu) 1999-03-29

Family

ID=24866989

Family Applications (1)

Application Number Title Priority Date Filing Date
HU9303533A HU215861B (hu) 1991-06-11 1992-06-03 Eljárások beszédjelek tömörítésére digitalizált minták változtatható sebességű kódolásával és dekódolásával, valamint eszközök ezen eljárások foganatosításához

Country Status (21)

Country Link
US (3) US5414796A (hu)
EP (8) EP0588932B1 (hu)
JP (7) JP3432822B2 (hu)
CN (8) CN1286086C (hu)
AT (4) ATE272883T1 (hu)
AU (3) AU671952B2 (hu)
BR (1) BR9206143A (hu)
CA (6) CA2568984C (hu)
DE (4) DE69233794D1 (hu)
DK (2) DK0588932T3 (hu)
ES (4) ES2240252T3 (hu)
FI (5) FI120425B (hu)
HK (3) HK1014796A1 (hu)
HU (1) HU215861B (hu)
IL (4) IL113986A (hu)
MX (1) MX9202808A (hu)
NO (1) NO319559B1 (hu)
RU (1) RU2107951C1 (hu)
SG (1) SG70558A1 (hu)
WO (1) WO1992022891A1 (hu)
ZA (1) ZA924082B (hu)

Families Citing this family (500)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606575B2 (en) 1988-08-04 2009-10-20 Broadcom Corporation Remote radio data communication system with data rate switching
US20010050943A1 (en) * 1989-08-03 2001-12-13 Mahany Ronald L. Radio frequency communication network having adaptive communication parameters
US6693951B1 (en) 1990-06-25 2004-02-17 Qualcomm Incorporated System and method for generating signal waveforms in a CDMA cellular telephone system
CA2568984C (en) * 1991-06-11 2007-07-10 Qualcomm Incorporated Variable rate vocoder
US5355450A (en) * 1992-04-10 1994-10-11 Avid Technology, Inc. Media composer with adjustable source material compression
AU3274593A (en) * 1991-12-13 1993-07-19 Avid Technology, Inc. Quantization table adjustment
SE469764B (sv) * 1992-01-27 1993-09-06 Ericsson Telefon Ab L M Saett att koda en samplad talsignalvektor
TW224191B (hu) * 1992-01-28 1994-05-21 Qualcomm Inc
CA2105269C (en) * 1992-10-09 1998-08-25 Yair Shoham Time-frequency interpolation with application to low rate speech coding
FI95086C (fi) * 1992-11-26 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin tehokkaaksi koodaamiseksi
US5617423A (en) 1993-01-08 1997-04-01 Multi-Tech Systems, Inc. Voice over data modem with selectable voice compression
US5535204A (en) 1993-01-08 1996-07-09 Multi-Tech Systems, Inc. Ringdown and ringback signalling for a computer-based multifunction personal communications system
US5864560A (en) 1993-01-08 1999-01-26 Multi-Tech Systems, Inc. Method and apparatus for mode switching in a voice over data computer-based personal communications system
US6009082A (en) 1993-01-08 1999-12-28 Multi-Tech Systems, Inc. Computer-based multifunction personal communication system with caller ID
US5812534A (en) 1993-01-08 1998-09-22 Multi-Tech Systems, Inc. Voice over data conferencing for a computer-based personal communications system
US5754589A (en) 1993-01-08 1998-05-19 Multi-Tech Systems, Inc. Noncompressed voice and data communication over modem for a computer-based multifunction personal communications system
US5546395A (en) 1993-01-08 1996-08-13 Multi-Tech Systems, Inc. Dynamic selection of compression rate for a voice compression algorithm in a voice over data modem
US5452289A (en) 1993-01-08 1995-09-19 Multi-Tech Systems, Inc. Computer-based multifunction personal communications system
US5453986A (en) 1993-01-08 1995-09-26 Multi-Tech Systems, Inc. Dual port interface for a computer-based multifunction personal communication system
US5657423A (en) * 1993-02-22 1997-08-12 Texas Instruments Incorporated Hardware filter circuit and address circuitry for MPEG encoded data
WO1994024823A1 (en) * 1993-04-16 1994-10-27 Data Translation, Inc. Adaptive video compression using variable quantization
CA2160562A1 (en) * 1993-04-16 1994-10-27 James M. Hardiman Adaptive video decompression
FI96248C (fi) * 1993-05-06 1996-05-27 Nokia Mobile Phones Ltd Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin
US5659659A (en) * 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
ZA946674B (en) * 1993-09-08 1995-05-02 Qualcomm Inc Method and apparatus for determining the transmission data rate in a multi-user communication system
US5649299A (en) * 1993-10-27 1997-07-15 Motorola, Inc. Apparatus and method for adapting a digital radiotelephone system to increased subscriber traffic
US6088590A (en) 1993-11-01 2000-07-11 Omnipoint Corporation Method and system for mobile controlled handoff and link maintenance in spread spectrum communication
US6094575A (en) 1993-11-01 2000-07-25 Omnipoint Corporation Communication system and method
IL111469A0 (en) 1993-11-01 1994-12-29 Omnipoint Corp Despreading/demodulating direct sequence spread spectrum signals
US6005856A (en) 1993-11-01 1999-12-21 Omnipoint Corporation Communication protocol for spread spectrum wireless communication system
JP3182032B2 (ja) * 1993-12-10 2001-07-03 株式会社日立国際電気 音声符号化通信方式及びその装置
US5621852A (en) * 1993-12-14 1997-04-15 Interdigital Technology Corporation Efficient codebook structure for code excited linear prediction coding
US5784532A (en) * 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
CA2158270C (en) * 1994-02-17 1999-09-21 Michael D. Kotzin Method and apparatus for reducing self interference in a communication system
CA2142391C (en) * 1994-03-14 2001-05-29 Juin-Hwey Chen Computational complexity reduction during frame erasure or packet loss
US5615298A (en) * 1994-03-14 1997-03-25 Lucent Technologies Inc. Excitation signal synthesis during frame erasure or packet loss
US5574825A (en) * 1994-03-14 1996-11-12 Lucent Technologies Inc. Linear prediction coefficient generation during frame erasure or packet loss
US5757801A (en) 1994-04-19 1998-05-26 Multi-Tech Systems, Inc. Advanced priority statistical multiplexer
US5682386A (en) 1994-04-19 1997-10-28 Multi-Tech Systems, Inc. Data/voice/fax compression multiplexer
FI98162C (fi) * 1994-05-30 1997-04-25 Tecnomen Oy HMM-malliin perustuva puheentunnistusmenetelmä
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US5638412A (en) 1994-06-15 1997-06-10 Qualcomm Incorporated Method for providing service and rate negotiation in a mobile communication system
US5603096A (en) * 1994-07-11 1997-02-11 Qualcomm Incorporated Reverse link, closed loop power control in a code division multiple access system
TW271524B (hu) * 1994-08-05 1996-03-01 Qualcomm Inc
US5742734A (en) * 1994-08-10 1998-04-21 Qualcomm Incorporated Encoding rate selection in a variable rate vocoder
US5881100A (en) 1994-09-09 1999-03-09 Omnipoint Corporation Method and apparatus for coherent correlation of a spread spectrum signal
US5754585A (en) 1994-09-09 1998-05-19 Omnipoint Corporation Method and apparatus for serial noncoherent correlation of a spread spectrum signal
US5856998A (en) 1994-09-09 1999-01-05 Omnipoint Corporation Method and apparatus for correlating a continuous phase modulated spread spectrum signal
US5610940A (en) 1994-09-09 1997-03-11 Omnipoint Corporation Method and apparatus for noncoherent reception and correlation of a continous phase modulated signal
US5648982A (en) 1994-09-09 1997-07-15 Omnipoint Corporation Spread spectrum transmitter
US5963586A (en) 1994-09-09 1999-10-05 Omnipoint Corporation Method and apparatus for parallel noncoherent correlation of a spread spectrum signal
US5629956A (en) 1994-09-09 1997-05-13 Omnipoint Corporation Method and apparatus for reception and noncoherent serial correlation of a continuous phase modulated signal
US5680414A (en) 1994-09-09 1997-10-21 Omnipoint Corporation Synchronization apparatus and method for spread spectrum receiver
US5832028A (en) 1994-09-09 1998-11-03 Omnipoint Corporation Method and apparatus for coherent serial correlation of a spread spectrum signal
US5754584A (en) 1994-09-09 1998-05-19 Omnipoint Corporation Non-coherent spread-spectrum continuous-phase modulation communication system
US5757847A (en) 1994-09-09 1998-05-26 Omnipoint Corporation Method and apparatus for decoding a phase encoded signal
US5627856A (en) 1994-09-09 1997-05-06 Omnipoint Corporation Method and apparatus for receiving and despreading a continuous phase-modulated spread spectrum signal using self-synchronizing correlators
US5659574A (en) 1994-09-09 1997-08-19 Omnipoint Corporation Multi-bit correlation of continuous phase modulated signals
US5692007A (en) 1994-09-09 1997-11-25 Omnipoint Corporation Method and apparatus for differential phase encoding and decoding in spread-spectrum communication systems with continuous-phase modulation
US5953370A (en) 1994-09-09 1999-09-14 Omnipoint Corporation Apparatus for receiving and correlating a spread spectrum signal
US6141353A (en) * 1994-09-15 2000-10-31 Oki Telecom, Inc. Subsequent frame variable data rate indication method for various variable data rate systems
US5537410A (en) * 1994-09-15 1996-07-16 Oki Telecom Subsequent frame variable data rate indication method
JPH08102687A (ja) * 1994-09-29 1996-04-16 Yamaha Corp 音声送受信方式
ATE213864T1 (de) * 1994-10-05 2002-03-15 Advanced Micro Devices Inc Vorrichtung und verfahren zur sprachsignalanalyse zur parameterbestimmung von sprachsignalmerkmalen
US5546448A (en) * 1994-11-10 1996-08-13 Multi-Tech Systems, Inc. Apparatus and method for a caller ID modem interface
US5781880A (en) * 1994-11-21 1998-07-14 Rockwell International Corporation Pitch lag estimation using frequency-domain lowpass filtering of the linear predictive coding (LPC) residual
JPH08179796A (ja) * 1994-12-21 1996-07-12 Sony Corp 音声符号化方法
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
US5784403A (en) * 1995-02-03 1998-07-21 Omnipoint Corporation Spread spectrum correlation using saw device
JP3303580B2 (ja) * 1995-02-23 2002-07-22 日本電気株式会社 音声符号化装置
ZA961025B (en) * 1995-02-28 1996-07-16 Qualcomm Inc Method and apparatus for providing variable rate data in a communications system using non-orthogonal overflow channels
US6292476B1 (en) 1997-04-16 2001-09-18 Qualcomm Inc. Method and apparatus for providing variable rate data in a communications system using non-orthogonal overflow channels
US5991725A (en) * 1995-03-07 1999-11-23 Advanced Micro Devices, Inc. System and method for enhanced speech quality in voice storage and retrieval systems
US5699478A (en) * 1995-03-10 1997-12-16 Lucent Technologies Inc. Frame erasure compensation technique
JPH08263099A (ja) * 1995-03-23 1996-10-11 Toshiba Corp 符号化装置
US6137840A (en) * 1995-03-31 2000-10-24 Qualcomm Incorporated Method and apparatus for performing fast power control in a mobile communication system
TW347616B (en) 1995-03-31 1998-12-11 Qualcomm Inc Method and apparatus for performing fast power control in a mobile communication system a method and apparatus for controlling transmission power in a mobile communication system is disclosed.
US6977967B1 (en) * 1995-03-31 2005-12-20 Qualcomm Incorporated Method and apparatus for performing fast power control in a mobile communication system
US5548253A (en) * 1995-04-17 1996-08-20 Omnipoint Corporation Spectrally efficient quadrature amplitude modulator
US5508708A (en) * 1995-05-08 1996-04-16 Motorola, Inc. Method and apparatus for location finding in a CDMA system
JP2728122B2 (ja) * 1995-05-23 1998-03-18 日本電気株式会社 無音圧縮音声符号化復号化装置
US6356607B1 (en) 1995-06-05 2002-03-12 Omnipoint Corporation Preamble code structure and detection method and apparatus
US5745484A (en) 1995-06-05 1998-04-28 Omnipoint Corporation Efficient communication system using time division multiplexing and timing adjustment control
US5802046A (en) * 1995-06-05 1998-09-01 Omnipoint Corporation Efficient time division duplex communication system with interleaved format and timing adjustment control
US5959980A (en) 1995-06-05 1999-09-28 Omnipoint Corporation Timing adjustment control for efficient time division duplex communication
US5689502A (en) * 1995-06-05 1997-11-18 Omnipoint Corporation Efficient frequency division duplex communication system with interleaved format and timing adjustment control
US6526038B1 (en) * 1995-06-07 2003-02-25 Telcordia Technologies, Inc. Periodic wireless broadcast
GB9512284D0 (en) * 1995-06-16 1995-08-16 Nokia Mobile Phones Ltd Speech Synthesiser
US7929498B2 (en) 1995-06-30 2011-04-19 Interdigital Technology Corporation Adaptive forward power control and adaptive reverse power control for spread-spectrum communications
US6885652B1 (en) 1995-06-30 2005-04-26 Interdigital Technology Corporation Code division multiple access (CDMA) communication system
ZA965340B (en) 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
US7020111B2 (en) 1996-06-27 2006-03-28 Interdigital Technology Corporation System for using rapid acquisition spreading codes for spread-spectrum communications
FI100157B (fi) * 1995-07-12 1997-09-30 Nokia Mobile Phones Ltd Muuttuvanopeuksiset piirikytketyt siirtopalvelut TDMA-pohjaisissa solu kkojärjestelmissä
US6041046A (en) * 1995-07-14 2000-03-21 Omnipoint Corporation Cyclic time hopping in time division multiple access communication system
US5754733A (en) * 1995-08-01 1998-05-19 Qualcomm Incorporated Method and apparatus for generating and encoding line spectral square roots
FR2737948B1 (fr) * 1995-08-16 1997-10-17 Alcatel Mobile Comm France Dispositif de commande de volume sonore pour recepteur de signaux de parole codes par blocs
JP3522012B2 (ja) * 1995-08-23 2004-04-26 沖電気工業株式会社 コード励振線形予測符号化装置
JP3079220B2 (ja) * 1995-08-31 2000-08-21 エヌ・ティ・ティ移動通信網株式会社 無音圧縮制御機能を備えたatm伝送方法、およびその方法を用いたシステム、送信装置および受信装置
US5950164A (en) * 1995-09-29 1999-09-07 Olympus Optical Co., Ltd. Voice recording apparatus capable of displaying remaining recording capacity of memory according to encoding bit rates
JP3680380B2 (ja) * 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
JP4005154B2 (ja) * 1995-10-26 2007-11-07 ソニー株式会社 音声復号化方法及び装置
JPH09152896A (ja) * 1995-11-30 1997-06-10 Oki Electric Ind Co Ltd 声道予測係数符号化・復号化回路、声道予測係数符号化回路、声道予測係数復号化回路、音声符号化装置及び音声復号化装置
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5822721A (en) * 1995-12-22 1998-10-13 Iterated Systems, Inc. Method and apparatus for fractal-excited linear predictive coding of digital signals
US5737716A (en) * 1995-12-26 1998-04-07 Motorola Method and apparatus for encoding speech using neural network technology for speech classification
US5839052A (en) * 1996-02-08 1998-11-17 Qualcom Incorporated Method and apparatus for integration of a wireless communication system with a cable television system
US5867763A (en) * 1996-02-08 1999-02-02 Qualcomm Incorporated Method and apparatus for integration of a wireless communication system with a cable T.V. system
JPH09230896A (ja) * 1996-02-28 1997-09-05 Sony Corp 音声合成装置
US5754537A (en) * 1996-03-08 1998-05-19 Telefonaktiebolaget L M Ericsson (Publ) Method and system for transmitting background noise data
WO1997036397A1 (en) * 1996-03-27 1997-10-02 Motorola Inc. Method and apparatus for providing a multi-party speech connection for use in a wireless communication system
SE506341C2 (sv) * 1996-04-10 1997-12-08 Ericsson Telefon Ab L M Metod och anordning för rekonstruktion av en mottagen talsignal
GB2312360B (en) * 1996-04-12 2001-01-24 Olympus Optical Co Voice signal coding apparatus
US5708757A (en) * 1996-04-22 1998-01-13 France Telecom Method of determining parameters of a pitch synthesis filter in a speech coder, and speech coder implementing such method
US6205190B1 (en) 1996-04-29 2001-03-20 Qualcomm Inc. System and method for reducing interference generated by a CDMA communications device
US5937374A (en) * 1996-05-15 1999-08-10 Advanced Micro Devices, Inc. System and method for improved pitch estimation which performs first formant energy removal for a frame using coefficients from a prior frame
US6047254A (en) * 1996-05-15 2000-04-04 Advanced Micro Devices, Inc. System and method for determining a first formant analysis filter and prefiltering a speech signal for improved pitch estimation
JP3092652B2 (ja) * 1996-06-10 2000-09-25 日本電気株式会社 音声再生装置
US6744882B1 (en) 1996-07-23 2004-06-01 Qualcomm Inc. Method and apparatus for automatically adjusting speaker and microphone gains within a mobile telephone
JP3266819B2 (ja) * 1996-07-30 2002-03-18 株式会社エイ・ティ・アール人間情報通信研究所 周期信号変換方法、音変換方法および信号分析方法
US5883927A (en) * 1996-07-31 1999-03-16 Nextwave Telecom, Inc. Digital wireless telecommunication device for reduced interference with hearing aids
JPH1049199A (ja) * 1996-08-02 1998-02-20 Nec Corp 無音圧縮音声符号化復号化装置
US5726983A (en) * 1996-08-09 1998-03-10 Motorola, Inc. Communication device with variable frame processing time
US5812968A (en) * 1996-08-28 1998-09-22 Ericsson, Inc. Vocoder apparatus using the link margin
SE507370C2 (sv) * 1996-09-13 1998-05-18 Ericsson Telefon Ab L M Metod och anordning för att alstra komfortbrus i linjärprediktiv talavkodare
US5881053A (en) * 1996-09-13 1999-03-09 Qualcomm Incorporated Method for a wireless communications channel
US6205130B1 (en) 1996-09-25 2001-03-20 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
US7788092B2 (en) * 1996-09-25 2010-08-31 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
EP0928521A1 (en) * 1996-09-25 1999-07-14 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
US6014622A (en) * 1996-09-26 2000-01-11 Rockwell Semiconductor Systems, Inc. Low bit rate speech coder using adaptive open-loop subframe pitch lag estimation and vector quantization
US5954834A (en) * 1996-10-09 1999-09-21 Ericsson Inc. Systems and methods for communicating desired audio information over a communications medium
US5905794A (en) * 1996-10-15 1999-05-18 Multi-Tech Systems, Inc. Caller identification interface using line reversal detection
US6496543B1 (en) * 1996-10-29 2002-12-17 Qualcomm Incorporated Method and apparatus for providing high speed data communications in a cellular environment
US5781593A (en) * 1996-11-14 1998-07-14 Omnipoint Corporation Methods and apparatus for vocoder synchronization in mobile communication network
US6141373A (en) * 1996-11-15 2000-10-31 Omnipoint Corporation Preamble code structure and detection method and apparatus
FI964975A (fi) * 1996-12-12 1998-06-13 Nokia Mobile Phones Ltd Menetelmä ja laite puheen koodaamiseksi
US6172965B1 (en) * 1996-12-23 2001-01-09 Nortel Networks Limited Duplex transmission scheme
JP2856185B2 (ja) * 1997-01-21 1999-02-10 日本電気株式会社 音声符号化復号化システム
CN100361485C (zh) * 1997-01-23 2008-01-09 摩托罗拉公司 通信系统中非线性处理的装置和方法
US7751370B2 (en) * 2001-07-13 2010-07-06 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US6335922B1 (en) 1997-02-11 2002-01-01 Qualcomm Incorporated Method and apparatus for forward link rate scheduling
US6014375A (en) * 1997-02-13 2000-01-11 Ericsson Inc. TDMA radio protocol with adaptive vocoder selection
JP3067676B2 (ja) * 1997-02-13 2000-07-17 日本電気株式会社 Lspの予測符号化装置及び方法
US5832443A (en) * 1997-02-25 1998-11-03 Alaris, Inc. Method and apparatus for adaptive audio compression and decompression
US6104993A (en) * 1997-02-26 2000-08-15 Motorola, Inc. Apparatus and method for rate determination in a communication system
WO1998038764A1 (de) * 1997-02-27 1998-09-03 Siemens Aktiengesellschaft Verfahren und anordnung zur rahmenfehlerdetektion zwecks fehlerverdeckung insbesondere bei gsm übertragungen
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
US6282228B1 (en) 1997-03-20 2001-08-28 Xircom, Inc. Spread spectrum codes for use in communication
US6480521B1 (en) * 1997-03-26 2002-11-12 Qualcomm Incorporated Method and apparatus for transmitting high speed data in a spread spectrum communications system
US5907822A (en) * 1997-04-04 1999-05-25 Lincom Corporation Loss tolerant speech decoder for telecommunications
PL193825B1 (pl) * 1997-04-07 2007-03-30 Koninkl Philips Electronics Nv Sposób i urządzenie do kodowania sygnału mowy
KR100198476B1 (ko) * 1997-04-23 1999-06-15 윤종용 노이즈에 견고한 스펙트럼 포락선 양자화기 및 양자화 방법
US6014623A (en) * 1997-06-12 2000-01-11 United Microelectronics Corp. Method of encoding synthetic speech
US6075792A (en) 1997-06-16 2000-06-13 Interdigital Technology Corporation CDMA communication system which selectively allocates bandwidth upon demand
US6003003A (en) * 1997-06-27 1999-12-14 Advanced Micro Devices, Inc. Speech recognition system having a quantizer using a single robust codebook designed at multiple signal to noise ratios
US6044343A (en) * 1997-06-27 2000-03-28 Advanced Micro Devices, Inc. Adaptive speech recognition with selective input data to a speech classifier
US6032116A (en) * 1997-06-27 2000-02-29 Advanced Micro Devices, Inc. Distance measure in a speech recognition system for speech recognition using frequency shifting factors to compensate for input signal frequency shifts
US6175590B1 (en) 1997-08-08 2001-01-16 Qualcomm Inc. Method and apparatus for determining the rate of received data in a variable rate communication system
US6097972A (en) * 1997-08-29 2000-08-01 Qualcomm Incorporated Method and apparatus for processing power control signals in CDMA mobile telephone system
US6058359A (en) * 1998-03-04 2000-05-02 Telefonaktiebolaget L M Ericsson Speech coding including soft adaptability feature
US6049537A (en) * 1997-09-05 2000-04-11 Motorola, Inc. Method and system for controlling speech encoding in a communication system
US5898696A (en) * 1997-09-05 1999-04-27 Motorola, Inc. Method and system for controlling an encoding rate in a variable rate communication system
US6920150B1 (en) * 1997-09-30 2005-07-19 Lucent Technologies Inc. Adaptive communications transcoding and error control
AU4661497A (en) * 1997-09-30 1999-03-22 Qualcomm Incorporated Channel gain modification system and method for noise reduction in voice communication
US5897613A (en) * 1997-10-08 1999-04-27 Lucent Technologies Inc. Efficient transmission of voice silence intervals
US6067515A (en) * 1997-10-27 2000-05-23 Advanced Micro Devices, Inc. Split matrix quantization with split vector quantization error compensation and selective enhanced processing for robust speech recognition
US6070136A (en) * 1997-10-27 2000-05-30 Advanced Micro Devices, Inc. Matrix quantization with vector quantization error compensation for robust speech recognition
US5953695A (en) * 1997-10-29 1999-09-14 Lucent Technologies Inc. Method and apparatus for synchronizing digital speech communications
US7184426B2 (en) 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
US9118387B2 (en) 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
US6563803B1 (en) 1997-11-26 2003-05-13 Qualcomm Incorporated Acoustic echo canceller
US6044339A (en) * 1997-12-02 2000-03-28 Dspc Israel Ltd. Reduced real-time processing in stochastic celp encoding
DE19753697B4 (de) * 1997-12-03 2006-04-27 Siemens Ag Verfahren und Funkstation zur Datenübertragung in einem Kommunikationssystem
US6049765A (en) * 1997-12-22 2000-04-11 Lucent Technologies Inc. Silence compression for recorded voice messages
US6104994A (en) * 1998-01-13 2000-08-15 Conexant Systems, Inc. Method for speech coding under background noise conditions
JPH11215006A (ja) * 1998-01-29 1999-08-06 Olympus Optical Co Ltd ディジタル音声信号の送信装置及び受信装置
US6799159B2 (en) * 1998-02-02 2004-09-28 Motorola, Inc. Method and apparatus employing a vocoder for speech processing
US6381569B1 (en) * 1998-02-04 2002-04-30 Qualcomm Incorporated Noise-compensated speech recognition templates
US6603751B1 (en) * 1998-02-13 2003-08-05 Qualcomm Incorporated Method and system for performing a handoff in a wireless communication system, such as a hard handoff
US6545989B1 (en) 1998-02-19 2003-04-08 Qualcomm Incorporated Transmit gating in a wireless communication system
US6104991A (en) * 1998-02-27 2000-08-15 Lucent Technologies, Inc. Speech encoding and decoding system which modifies encoding and decoding characteristics based on an audio signal
FI113571B (fi) 1998-03-09 2004-05-14 Nokia Corp Puheenkoodaus
US6028541A (en) * 1998-03-12 2000-02-22 Liquid Audio Inc. Lossless data compression with low complexity
US6121904A (en) * 1998-03-12 2000-09-19 Liquid Audio, Inc. Lossless data compression with low complexity
US6043763A (en) * 1998-03-12 2000-03-28 Liquid Audio, Inc. Lossless data compression with low complexity
US6125348A (en) * 1998-03-12 2000-09-26 Liquid Audio Inc. Lossless data compression with low complexity
US6118392A (en) * 1998-03-12 2000-09-12 Liquid Audio Inc. Lossless data compression with low complexity
US6169906B1 (en) * 1998-03-24 2001-01-02 Motorola, Inc. Method of transmitting messages in a dispatch call
US20030194033A1 (en) 1998-05-21 2003-10-16 Tiedemann Edward G. Method and apparatus for coordinating transmission of short messages with hard handoff searches in a wireless communications system
US6577645B2 (en) 1998-06-03 2003-06-10 Siemens Aktiengesellschaft Method and radio set for transmitting messages
EP1084586B1 (de) * 1998-06-03 2004-12-22 Siemens Aktiengesellschaft Verfahren und funkgerät zur übertragung von nachrichten
US6141639A (en) * 1998-06-05 2000-10-31 Conexant Systems, Inc. Method and apparatus for coding of signals containing speech and background noise
JP3273599B2 (ja) * 1998-06-19 2002-04-08 沖電気工業株式会社 音声符号化レート選択器と音声符号化装置
US6810377B1 (en) * 1998-06-19 2004-10-26 Comsat Corporation Lost frame recovery techniques for parametric, LPC-based speech coding systems
US6034971A (en) * 1998-06-30 2000-03-07 Motorola, Inc. Method and apparatus for controlling communication system capacity
US6081776A (en) * 1998-07-13 2000-06-27 Lockheed Martin Corp. Speech coding system and method including adaptive finite impulse response filter
DE19833318C2 (de) * 1998-07-24 2001-08-02 Bosch Gmbh Robert Verfahren zur Übertragung von digitalen Nutzdaten
US6163766A (en) * 1998-08-14 2000-12-19 Motorola, Inc. Adaptive rate system and method for wireless communications
US6173254B1 (en) * 1998-08-18 2001-01-09 Denso Corporation, Ltd. Recorded message playback system for a variable bit rate system
JP4308345B2 (ja) * 1998-08-21 2009-08-05 パナソニック株式会社 マルチモード音声符号化装置及び復号化装置
US6260010B1 (en) * 1998-08-24 2001-07-10 Conexant Systems, Inc. Speech encoder using gain normalization that combines open and closed loop gains
US6449590B1 (en) 1998-08-24 2002-09-10 Conexant Systems, Inc. Speech encoder using warping in long term preprocessing
US6823303B1 (en) * 1998-08-24 2004-11-23 Conexant Systems, Inc. Speech encoder using voice activity detection in coding noise
US6330533B2 (en) * 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6240386B1 (en) * 1998-08-24 2001-05-29 Conexant Systems, Inc. Speech codec employing noise classification for noise compensation
US6385573B1 (en) * 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
US6480822B2 (en) * 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
US6493665B1 (en) * 1998-08-24 2002-12-10 Conexant Systems, Inc. Speech classification and parameter weighting used in codebook search
US6188980B1 (en) * 1998-08-24 2001-02-13 Conexant Systems, Inc. Synchronized encoder-decoder frame concealment using speech coding parameters including line spectral frequencies and filter coefficients
US7117146B2 (en) * 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
US6798736B1 (en) 1998-09-22 2004-09-28 Qualcomm Incorporated Method and apparatus for transmitting and receiving variable rate data
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6347297B1 (en) * 1998-10-05 2002-02-12 Legerity, Inc. Matrix quantization with vector quantization error compensation and neural network postprocessing for robust speech recognition
US6219642B1 (en) 1998-10-05 2001-04-17 Legerity, Inc. Quantization using frequency and mean compensated frequency input data for robust speech recognition
US6353808B1 (en) * 1998-10-22 2002-03-05 Sony Corporation Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal
JP3343082B2 (ja) * 1998-10-27 2002-11-11 松下電器産業株式会社 Celp型音声符号化装置
US6463407B2 (en) 1998-11-13 2002-10-08 Qualcomm Inc. Low bit-rate coding of unvoiced segments of speech
US6754630B2 (en) 1998-11-13 2004-06-22 Qualcomm, Inc. Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation
US6424938B1 (en) * 1998-11-23 2002-07-23 Telefonaktiebolaget L M Ericsson Complex signal activity detection for improved speech/noise classification of an audio signal
US6233549B1 (en) 1998-11-23 2001-05-15 Qualcomm, Inc. Low frequency spectral enhancement system and method
US6256606B1 (en) * 1998-11-30 2001-07-03 Conexant Systems, Inc. Silence description coding for multi-rate speech codecs
US6289099B1 (en) * 1998-11-30 2001-09-11 Qualcomm Inc. Ringer for satellite user terminals
US6512925B1 (en) 1998-12-03 2003-01-28 Qualcomm, Incorporated Method and apparatus for controlling transmission power while in soft handoff
US6275485B1 (en) 1998-12-03 2001-08-14 Qualcomm Inc. Noise characterization in a wireless communication system
US6182030B1 (en) 1998-12-18 2001-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced coding to improve coded communication signals
US6691084B2 (en) * 1998-12-21 2004-02-10 Qualcomm Incorporated Multiple mode variable rate speech coding
US6542486B1 (en) * 1998-12-22 2003-04-01 Nortel Networks Limited Multiple technology vocoder and an associated telecommunications network
US6393074B1 (en) 1998-12-31 2002-05-21 Texas Instruments Incorporated Decoding system for variable-rate convolutionally-coded data sequence
US7406098B2 (en) * 1999-01-13 2008-07-29 Qualcomm Incorporated Resource allocation in a communication system supporting application flows having quality of service requirements
US6574596B2 (en) 1999-02-08 2003-06-03 Qualcomm Incorporated Voice recognition rejection scheme
CN1212604C (zh) * 1999-02-08 2005-07-27 高通股份有限公司 基于可变速语音编码的语音合成器
US6226607B1 (en) * 1999-02-08 2001-05-01 Qualcomm Incorporated Method and apparatus for eighth-rate random number generation for speech coders
US6324509B1 (en) 1999-02-08 2001-11-27 Qualcomm Incorporated Method and apparatus for accurate endpointing of speech in the presence of noise
US6411926B1 (en) 1999-02-08 2002-06-25 Qualcomm Incorporated Distributed voice recognition system
US6330247B1 (en) 1999-02-08 2001-12-11 Qualcomm Incorporated Communication protocol between a communication device and an external accessory
US6587446B2 (en) * 1999-02-11 2003-07-01 Qualcomm Incorporated Handoff in a wireless communication system
US6260009B1 (en) 1999-02-12 2001-07-10 Qualcomm Incorporated CELP-based to CELP-based vocoder packet translation
US6449592B1 (en) 1999-02-26 2002-09-10 Qualcomm Incorporated Method and apparatus for tracking the phase of a quasi-periodic signal
US6397177B1 (en) * 1999-03-10 2002-05-28 Samsung Electronics, Co., Ltd. Speech-encoding rate decision apparatus and method in a variable rate
US6088347A (en) * 1999-03-10 2000-07-11 Massachusetts Institute Of Technology Variable chip rate code-division multiple access
US6233552B1 (en) * 1999-03-12 2001-05-15 Comsat Corporation Adaptive post-filtering technique based on the Modified Yule-Walker filter
US6519479B1 (en) 1999-03-31 2003-02-11 Qualcomm Inc. Spoken user interface for speech-enabled devices
IL145548A0 (en) * 1999-04-12 2002-06-30 Samsung Electronics Co Ltd Apparatus and method for gated transmission in a cdma communication system
US7058573B1 (en) * 1999-04-20 2006-06-06 Nuance Communications Inc. Speech recognition system to selectively utilize different speech recognition techniques over multiple speech recognition passes
US6260017B1 (en) 1999-05-07 2001-07-10 Qualcomm Inc. Multipulse interpolative coding of transition speech frames
US6766295B1 (en) 1999-05-10 2004-07-20 Nuance Communications Adaptation of a speech recognition system across multiple remote sessions with a speaker
US6661832B1 (en) * 1999-05-11 2003-12-09 Qualcomm Incorporated System and method for providing an accurate estimation of received signal interference for use in wireless communications systems
US6954727B1 (en) * 1999-05-28 2005-10-11 Koninklijke Philips Electronics N.V. Reducing artifact generation in a vocoder
US6324503B1 (en) 1999-07-19 2001-11-27 Qualcomm Incorporated Method and apparatus for providing feedback from decoder to encoder to improve performance in a predictive speech coder under frame erasure conditions
US6324505B1 (en) * 1999-07-19 2001-11-27 Qualcomm Incorporated Amplitude quantization scheme for low-bit-rate speech coders
US6330532B1 (en) 1999-07-19 2001-12-11 Qualcomm Incorporated Method and apparatus for maintaining a target bit rate in a speech coder
US6397175B1 (en) 1999-07-19 2002-05-28 Qualcomm Incorporated Method and apparatus for subsampling phase spectrum information
US6393394B1 (en) 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
US6496706B1 (en) 1999-07-23 2002-12-17 Qualcomm Incorporated Method and system for transmit gating in a wireless communication system
US6704328B1 (en) * 1999-07-26 2004-03-09 Nortel Networks, Limited Signalling scheme and messaging structure to support the smoothing of large bit rate transmissions
US6603752B1 (en) 1999-07-29 2003-08-05 Ahmed Saifuddin Method and system for controlling transmission energy in a variable rate gated communication system
US6658112B1 (en) 1999-08-06 2003-12-02 General Dynamics Decision Systems, Inc. Voice decoder and method for detecting channel errors using spectral energy evolution
US6633552B1 (en) * 1999-08-06 2003-10-14 Qualcomm Incorporated Method and apparatus for determining the closed loop power control set point in a wireless packet data communication system
US6597667B1 (en) 1999-08-18 2003-07-22 Qualcomm Incorporated Network based muting of a cellular telephone
US6493329B1 (en) * 1999-08-23 2002-12-10 Qualcomm Incorporated Adaptive channel estimation in a wireless communication system
US8064409B1 (en) 1999-08-25 2011-11-22 Qualcomm Incorporated Method and apparatus using a multi-carrier forward link in a wireless communication system
US6426971B1 (en) 1999-09-13 2002-07-30 Qualcomm Incorporated System and method for accurately predicting signal to interference and noise ratio to improve communications system performance
AU2003262451B2 (en) * 1999-09-22 2006-01-19 Macom Technology Solutions Holdings, Inc. Multimode speech encoder
US7054809B1 (en) * 1999-09-22 2006-05-30 Mindspeed Technologies, Inc. Rate selection method for selectable mode vocoder
AU766830B2 (en) * 1999-09-22 2003-10-23 Macom Technology Solutions Holdings, Inc. Multimode speech encoder
US6708024B1 (en) * 1999-09-22 2004-03-16 Legerity, Inc. Method and apparatus for generating comfort noise
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6604070B1 (en) 1999-09-22 2003-08-05 Conexant Systems, Inc. System of encoding and decoding speech signals
US6636829B1 (en) * 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
US6581032B1 (en) 1999-09-22 2003-06-17 Conexant Systems, Inc. Bitstream protocol for transmission of encoded voice signals
US6959274B1 (en) 1999-09-22 2005-10-25 Mindspeed Technologies, Inc. Fixed rate speech compression system and method
US6574593B1 (en) 1999-09-22 2003-06-03 Conexant Systems, Inc. Codebook tables for encoding and decoding
US6772126B1 (en) * 1999-09-30 2004-08-03 Motorola, Inc. Method and apparatus for transferring low bit rate digital voice messages using incremental messages
US6496798B1 (en) * 1999-09-30 2002-12-17 Motorola, Inc. Method and apparatus for encoding and decoding frames of voice model parameters into a low bit rate digital voice message
US6850506B1 (en) 1999-10-07 2005-02-01 Qualcomm Incorporated Forward-link scheduling in a wireless communication system
US6621804B1 (en) * 1999-10-07 2003-09-16 Qualcomm Incorporated Method and apparatus for predicting favored supplemental channel transmission slots using transmission power measurements of a fundamental channel
US6463274B1 (en) * 1999-10-26 2002-10-08 Denso Corporation Multiple class of service determination for digital cellular telephones
US7522631B1 (en) * 1999-10-26 2009-04-21 Qualcomm, Incorporated Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
US6438518B1 (en) 1999-10-28 2002-08-20 Qualcomm Incorporated Method and apparatus for using coding scheme selection patterns in a predictive speech coder to reduce sensitivity to frame error conditions
US6496794B1 (en) * 1999-11-22 2002-12-17 Motorola, Inc. Method and apparatus for seamless multi-rate speech coding
BR0006803A (pt) * 1999-12-10 2001-12-11 Lucent Technologies Inc Sistema e método para reduzir retardo de fala emelhorar a qualidade de fala utilizando meiosblocos
US6772112B1 (en) 1999-12-10 2004-08-03 Lucent Technologies Inc. System and method to reduce speech delay and improve voice quality using half speech blocks
US7574351B2 (en) * 1999-12-14 2009-08-11 Texas Instruments Incorporated Arranging CELP information of one frame in a second packet
US6745024B1 (en) 2000-01-10 2004-06-01 Qualcomm Incorporated System and method for preparing and sending an electronic mail communication using a wireless communications device
US6510409B1 (en) * 2000-01-18 2003-01-21 Conexant Systems, Inc. Intelligent discontinuous transmission and comfort noise generation scheme for pulse code modulation speech coders
US7127390B1 (en) 2000-02-08 2006-10-24 Mindspeed Technologies, Inc. Rate determination coding
EP1126651A1 (en) * 2000-02-16 2001-08-22 Lucent Technologies Inc. Link adaptation for RT-EGPRS
US6721368B1 (en) 2000-03-04 2004-04-13 Qualcomm Incorporated Transmitter architectures for communications systems
ATE553472T1 (de) * 2000-04-24 2012-04-15 Qualcomm Inc Prädikitve dequantisierung von stimmhaften sprachsignalen
US6584438B1 (en) 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
US6980527B1 (en) 2000-04-25 2005-12-27 Cwill Telecommunications, Inc. Smart antenna CDMA wireless communication system
US7080009B2 (en) * 2000-05-01 2006-07-18 Motorola, Inc. Method and apparatus for reducing rate determination errors and their artifacts
US6285682B1 (en) * 2000-05-01 2001-09-04 Motorola, Inc. Method and apparatus for determining the frame rate of a frame
FI115329B (fi) 2000-05-08 2005-04-15 Nokia Corp Menetelmä ja järjestely lähdesignaalin kaistanleveyden vaihtamiseksi tietoliikenneyhteydessä, jossa on valmiudet useisiin kaistanleveyksiin
US7089181B2 (en) 2001-05-30 2006-08-08 Intel Corporation Enhancing the intelligibility of received speech in a noisy environment
US7035790B2 (en) 2000-06-02 2006-04-25 Canon Kabushiki Kaisha Speech processing system
US7072833B2 (en) 2000-06-02 2006-07-04 Canon Kabushiki Kaisha Speech processing system
US6954745B2 (en) 2000-06-02 2005-10-11 Canon Kabushiki Kaisha Signal processing system
US7010483B2 (en) 2000-06-02 2006-03-07 Canon Kabushiki Kaisha Speech processing system
US6735563B1 (en) 2000-07-13 2004-05-11 Qualcomm, Inc. Method and apparatus for constructing voice templates for a speaker-independent voice recognition system
US6671669B1 (en) * 2000-07-18 2003-12-30 Qualcomm Incorporated combined engine system and method for voice recognition
US6510142B1 (en) 2000-07-21 2003-01-21 Motorola, Inc. Method and apparatus for reduced reversed traffic in a cellular telephone system
US6856954B1 (en) * 2000-07-28 2005-02-15 Mindspeed Technologies, Inc. Flexible variable rate vocoder for wireless communication systems
US6728669B1 (en) * 2000-08-07 2004-04-27 Lucent Technologies Inc. Relative pulse position in celp vocoding
EP1944759B1 (en) * 2000-08-09 2010-10-20 Sony Corporation Voice data processing device and processing method
US6477502B1 (en) 2000-08-22 2002-11-05 Qualcomm Incorporated Method and apparatus for using non-symmetric speech coders to produce non-symmetric links in a wireless communication system
US7133823B2 (en) * 2000-09-15 2006-11-07 Mindspeed Technologies, Inc. System for an adaptive excitation pattern for speech coding
US6850884B2 (en) * 2000-09-15 2005-02-01 Mindspeed Technologies, Inc. Selection of coding parameters based on spectral content of a speech signal
US6842733B1 (en) 2000-09-15 2005-01-11 Mindspeed Technologies, Inc. Signal processing system for filtering spectral content of a signal for speech coding
US6937979B2 (en) * 2000-09-15 2005-08-30 Mindspeed Technologies, Inc. Coding based on spectral content of a speech signal
US6802035B2 (en) * 2000-09-19 2004-10-05 Intel Corporation System and method of dynamically optimizing a transmission mode of wirelessly transmitted information
US6760882B1 (en) 2000-09-19 2004-07-06 Intel Corporation Mode selection for data transmission in wireless communication channels based on statistical parameters
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
US7171355B1 (en) * 2000-10-25 2007-01-30 Broadcom Corporation Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
DK1206104T3 (da) * 2000-11-09 2006-10-30 Koninkl Kpn Nv Måling af en samtalekvalitet af en telefonforbindelse i et telekommunikationsnetværk
US7606703B2 (en) * 2000-11-15 2009-10-20 Texas Instruments Incorporated Layered celp system and method with varying perceptual filter or short-term postfilter strengths
US6999430B2 (en) * 2000-11-30 2006-02-14 Qualcomm Incorporated Method and apparatus for transmitting data traffic on a wireless communication channel
US6804218B2 (en) 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
US7472059B2 (en) * 2000-12-08 2008-12-30 Qualcomm Incorporated Method and apparatus for robust speech classification
US7505594B2 (en) * 2000-12-19 2009-03-17 Qualcomm Incorporated Discontinuous transmission (DTX) controller system and method
SE0004818D0 (sv) * 2000-12-22 2000-12-22 Coding Technologies Sweden Ab Enhancing source coding systems by adaptive transposition
US7346918B2 (en) 2000-12-27 2008-03-18 Z-Band, Inc. Intelligent device system and method for distribution of digital signals on a wideband signal distribution system
EP2627008A3 (en) 2000-12-29 2013-09-11 Intel Mobile Communications GmbH Channel codec processor configurable for multiple wireless communications standards
US7113522B2 (en) * 2001-01-24 2006-09-26 Qualcomm, Incorporated Enhanced conversion of wideband signals to narrowband signals
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
US7120134B2 (en) * 2001-02-15 2006-10-10 Qualcomm, Incorporated Reverse link channel architecture for a wireless communication system
US20040204935A1 (en) * 2001-02-21 2004-10-14 Krishnasamy Anandakumar Adaptive voice playout in VOP
US6760587B2 (en) 2001-02-23 2004-07-06 Qualcomm Incorporated Forward-link scheduling in a wireless communication system during soft and softer handoff
US7289461B2 (en) 2001-03-15 2007-10-30 Qualcomm Incorporated Communications using wideband terminals
US20020181546A1 (en) * 2001-03-23 2002-12-05 Odenwalder Joseph P. Preamble channels
US6760576B2 (en) 2001-03-27 2004-07-06 Qualcomm Incorporated Method and apparatus for enhanced rate determination in high data rate wireless communication systems
US8199696B2 (en) * 2001-03-29 2012-06-12 Qualcomm Incorporated Method and apparatus for power control in a wireless communication system
US6625172B2 (en) 2001-04-26 2003-09-23 Joseph P. Odenwalder Rescheduling scheduled transmissions
US7230941B2 (en) 2001-04-26 2007-06-12 Qualcomm Incorporated Preamble channel decoding
JP4591939B2 (ja) * 2001-05-15 2010-12-01 Kddi株式会社 適応的符号化伝送装置および受信装置
US7170924B2 (en) * 2001-05-17 2007-01-30 Qualcomm, Inc. System and method for adjusting combiner weights using an adaptive algorithm in wireless communications system
US6990137B2 (en) * 2001-05-17 2006-01-24 Qualcomm, Incorporated System and method for received signal prediction in wireless communications systems
JP3859462B2 (ja) * 2001-05-18 2006-12-20 株式会社東芝 予測パラメータ分析装置および予測パラメータ分析方法
US6789059B2 (en) 2001-06-06 2004-09-07 Qualcomm Incorporated Reducing memory requirements of a codebook vector search
GB2386808B (en) 2001-06-28 2004-07-07 Samsung Electronics Co Ltd Apparatus and method for transmitting TFCI bits for a hard split mode in a CDMA mobile communication system
US7489655B2 (en) * 2001-07-06 2009-02-10 Qualcomm, Incorporated Method and apparatus for predictive scheduling in a bi-directional communication system
JP2003044098A (ja) * 2001-07-26 2003-02-14 Nec Corp 音声帯域拡張装置及び音声帯域拡張方法
US7110942B2 (en) * 2001-08-14 2006-09-19 Broadcom Corporation Efficient excitation quantization in a noise feedback coding system using correlation techniques
EP1428206B1 (en) * 2001-08-17 2007-09-12 Broadcom Corporation Bit error concealment methods for speech coding
US7162415B2 (en) * 2001-11-06 2007-01-09 The Regents Of The University Of California Ultra-narrow bandwidth voice coding
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
CN1640045A (zh) * 2001-12-05 2005-07-13 高通股份有限公司 调整通信系统服务质量的系统与方法
US7146313B2 (en) * 2001-12-14 2006-12-05 Microsoft Corporation Techniques for measurement of perceptual audio quality
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
GB2383239B (en) * 2001-12-15 2004-03-17 Motorola Inc A method and apparatus for transmitting data
US7206740B2 (en) * 2002-01-04 2007-04-17 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
JP3778087B2 (ja) * 2002-01-18 2006-05-24 富士ゼロックス株式会社 データ符号化装置及びデータ復号装置
US6957183B2 (en) * 2002-03-20 2005-10-18 Qualcomm Inc. Method for robust voice recognition by analyzing redundant features of source signal
US7313520B2 (en) * 2002-03-20 2007-12-25 The Directv Group, Inc. Adaptive variable bit rate audio compression encoding
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
US7321559B2 (en) * 2002-06-28 2008-01-22 Lucent Technologies Inc System and method of noise reduction in receiving wireless transmission of packetized audio signals
CA2392640A1 (en) * 2002-07-05 2004-01-05 Voiceage Corporation A method and device for efficient in-based dim-and-burst signaling and half-rate max operation in variable bit-rate wideband speech coding for cdma wireless systems
US8090577B2 (en) * 2002-08-08 2012-01-03 Qualcomm Incorported Bandwidth-adaptive quantization
JP2004151123A (ja) * 2002-10-23 2004-05-27 Nec Corp 符号変換方法、符号変換装置、プログラム及びその記憶媒体
US7602722B2 (en) * 2002-12-04 2009-10-13 Nortel Networks Limited Mobile assisted fast scheduling for the reverse link
GB2396271B (en) * 2002-12-10 2005-08-10 Motorola Inc A user terminal and method for voice communication
US7698132B2 (en) * 2002-12-17 2010-04-13 Qualcomm Incorporated Sub-sampled excitation waveform codebooks
US7120447B1 (en) * 2003-02-24 2006-10-10 Nortel Networks Limited Selectable mode vocoder management algorithm for CDMA based networks
US6965859B2 (en) * 2003-02-28 2005-11-15 Xvd Corporation Method and apparatus for audio compression
KR100480341B1 (ko) * 2003-03-13 2005-03-31 한국전자통신연구원 광대역 저전송률 음성 신호의 부호화기
US7009999B2 (en) 2003-03-28 2006-03-07 Qualcomm Incorporated Selective variable rate encoding to regulate data frame size
KR20050007977A (ko) * 2003-07-12 2005-01-21 삼성전자주식회사 이동 통신 시스템에서의 보코더의 모드 및 전송율 제어 방법
US7577756B2 (en) 2003-07-15 2009-08-18 Special Devices, Inc. Dynamically-and continuously-variable rate, asynchronous data transfer
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7383180B2 (en) * 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US7146309B1 (en) 2003-09-02 2006-12-05 Mindspeed Technologies, Inc. Deriving seed values to generate excitation values in a speech coder
US7613606B2 (en) * 2003-10-02 2009-11-03 Nokia Corporation Speech codecs
US7379875B2 (en) * 2003-10-24 2008-05-27 Microsoft Corporation Systems and methods for generating audio thumbnails
US7505764B2 (en) * 2003-10-28 2009-03-17 Motorola, Inc. Method for retransmitting a speech packet
US20050147131A1 (en) * 2003-12-29 2005-07-07 Nokia Corporation Low-rate in-band data channel using CELP codewords
US8473286B2 (en) * 2004-02-26 2013-06-25 Broadcom Corporation Noise feedback coding system and method for providing generalized noise shaping within a simple filter structure
KR100629997B1 (ko) * 2004-02-26 2006-09-27 엘지전자 주식회사 오디오 신호의 인코딩 방법
WO2005086138A1 (ja) * 2004-03-05 2005-09-15 Matsushita Electric Industrial Co., Ltd. エラー隠蔽装置およびエラー隠蔽方法
JP2005337573A (ja) 2004-05-26 2005-12-08 Sanden Corp 熱交換器
JPWO2006008932A1 (ja) * 2004-07-23 2008-05-01 松下電器産業株式会社 音声符号化装置および音声符号化方法
US8046217B2 (en) * 2004-08-27 2011-10-25 Panasonic Corporation Geometric calculation of absolute phases for parametric stereo decoding
EP2189978A1 (en) 2004-08-30 2010-05-26 QUALCOMM Incorporated Adaptive De-Jitter Buffer for voice over IP
SE528213C3 (sv) * 2004-09-30 2006-10-31 Ericsson Telefon Ab L M Förfaranden och arrangemang för adaptiva trösklar vid val av kodek
SE0402372D0 (sv) 2004-09-30 2004-09-30 Ericsson Telefon Ab L M Signal coding
US8085678B2 (en) 2004-10-13 2011-12-27 Qualcomm Incorporated Media (voice) playback (de-jitter) buffer adjustments based on air interface
US20060109819A1 (en) * 2004-11-22 2006-05-25 Marin James S Method and apparatus for inter-system active handoff of a hybrid subscriber unit
US7697480B2 (en) * 2004-11-22 2010-04-13 Motorola, Inc Method and apparatus for inter-system active handoff of a hybrid subscriber unit
US8102872B2 (en) 2005-02-01 2012-01-24 Qualcomm Incorporated Method for discontinuous transmission and accurate reproduction of background noise information
US20060224381A1 (en) * 2005-04-04 2006-10-05 Nokia Corporation Detecting speech frames belonging to a low energy sequence
US20060241937A1 (en) * 2005-04-21 2006-10-26 Ma Changxue C Method and apparatus for automatically discriminating information bearing audio segments and background noise audio segments
US7983301B2 (en) * 2005-06-24 2011-07-19 O2Micro International, Ltd. Method for extended transmission capabilities of short message service
WO2007003231A1 (en) * 2005-06-30 2007-01-11 Freescale Semiconductor, Inc Vector crc computation on dsp
US20070005347A1 (en) * 2005-06-30 2007-01-04 Kotzin Michael D Method and apparatus for data frame construction
JP5035816B2 (ja) * 2005-07-14 2012-09-26 一般財団法人電力中央研究所 細孔内付着液体残留量推定方法
US7542421B2 (en) * 2005-09-09 2009-06-02 Tropos Networks Adaptive control of transmission power and data rates of transmission links between access nodes of a mesh network
CN1964244B (zh) * 2005-11-08 2010-04-07 厦门致晟科技有限公司 一种用声码器收发数字信号的方法
KR101019936B1 (ko) * 2005-12-02 2011-03-09 퀄컴 인코포레이티드 음성 파형의 정렬을 위한 시스템, 방법, 및 장치
JP4971351B2 (ja) * 2005-12-05 2012-07-11 クゥアルコム・インコーポレイテッド トーンコンポーネントの検出のためのシステム、方法および装置
KR100744542B1 (ko) * 2005-12-08 2007-08-01 한국전자통신연구원 가변대역 멀티코덱 QoS 제어 장치 및 방법
US8346544B2 (en) * 2006-01-20 2013-01-01 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with closed loop re-decision
US8032369B2 (en) * 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
US8090573B2 (en) * 2006-01-20 2012-01-03 Qualcomm Incorporated Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision
JP4816115B2 (ja) * 2006-02-08 2011-11-16 カシオ計算機株式会社 音声符号化装置及び音声符号化方法
US8036242B2 (en) * 2006-02-15 2011-10-11 Qualcomm Incorporated Dynamic capacity operating point management for a vocoder in an access terminal
US7720499B2 (en) * 2006-02-27 2010-05-18 Tropos Networks, Inc. Regulation of transmission power control in mitigate self interference by optimizing link transmission parameters in a wireless network
JP4771835B2 (ja) * 2006-03-06 2011-09-14 株式会社リコー トナー及び画像形成方法
FR2898443A1 (fr) * 2006-03-13 2007-09-14 France Telecom Procede de codage d'un signal audio source, dispositif de codage, procede et dispositif de decodage, signal, produits programme d'ordinateur correspondants
US7778828B2 (en) * 2006-03-15 2010-08-17 Sasken Communication Technologies Ltd. Method and system for automatic gain control of a speech signal
US8392176B2 (en) * 2006-04-10 2013-03-05 Qualcomm Incorporated Processing of excitation in audio coding and decoding
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
DE102006025042B4 (de) * 2006-05-26 2008-08-14 Infineon Technologies Ag Datenratenfehler-tolerante Synchronisation eines digitalen Empfängers
US8036186B2 (en) * 2006-07-26 2011-10-11 Tropos Networks, Inc. Adaptively setting transmission power levels of nodes within a wireless mesh network
US8135047B2 (en) 2006-07-31 2012-03-13 Qualcomm Incorporated Systems and methods for including an identifier with a packet associated with a speech signal
US8260609B2 (en) 2006-07-31 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of inactive frames
KR100883652B1 (ko) * 2006-08-03 2009-02-18 삼성전자주식회사 음성 구간 검출 방법 및 장치, 및 이를 이용한 음성 인식시스템
ATE463028T1 (de) * 2006-09-13 2010-04-15 Ericsson Telefon Ab L M Verfahren und anordnungen für einen sprach- /audiosender und empfänger
WO2008048807A2 (en) 2006-10-06 2008-04-24 Viasat, Inc. Forward and reverse calibration for ground-based beamforming
US7877253B2 (en) 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
CN101523486B (zh) * 2006-10-10 2013-08-14 高通股份有限公司 用于编码和解码音频信号的方法和设备
KR100833499B1 (ko) * 2006-10-27 2008-05-29 한국전자통신연구원 가변 대역 멀티 코덱의 음성 품질 측정 장치 및 방법
CN100587186C (zh) * 2006-11-02 2010-02-03 邹家祥 一种保温组合墙板构筑墙体的方法
US8279889B2 (en) * 2007-01-04 2012-10-02 Qualcomm Incorporated Systems and methods for dimming a first packet associated with a first bit rate to a second packet associated with a second bit rate
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8428957B2 (en) 2007-08-24 2013-04-23 Qualcomm Incorporated Spectral noise shaping in audio coding based on spectral dynamics in frequency sub-bands
US20090198500A1 (en) * 2007-08-24 2009-08-06 Qualcomm Incorporated Temporal masking in audio coding based on spectral dynamics in frequency sub-bands
US20090094026A1 (en) * 2007-10-03 2009-04-09 Binshi Cao Method of determining an estimated frame energy of a communication
US8015002B2 (en) 2007-10-24 2011-09-06 Qnx Software Systems Co. Dynamic noise reduction using linear model fitting
US8606566B2 (en) * 2007-10-24 2013-12-10 Qnx Software Systems Limited Speech enhancement through partial speech reconstruction
US8326617B2 (en) 2007-10-24 2012-12-04 Qnx Software Systems Limited Speech enhancement with minimum gating
WO2009078093A1 (ja) * 2007-12-18 2009-06-25 Fujitsu Limited 非音声区間検出方法及び非音声区間検出装置
RU2483367C2 (ru) * 2008-03-14 2013-05-27 Панасоник Корпорэйшн Устройство кодирования, устройство декодирования и способ для их работы
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US7948887B2 (en) * 2008-06-24 2011-05-24 Microsoft Corporation Network bandwidth measurement
US8144602B2 (en) * 2008-08-06 2012-03-27 Jds Uniphase Corporation Network load tester with real-time detection and recording
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8964692B2 (en) * 2008-11-10 2015-02-24 Qualcomm Incorporated Spectrum sensing of bluetooth using a sequence of energy detection measurements
EP2211335A1 (en) * 2009-01-21 2010-07-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for obtaining a parameter describing a variation of a signal characteristic of a signal
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8949114B2 (en) 2009-06-04 2015-02-03 Optis Wireless Technology, Llc Method and arrangement for estimating the quality degradation of a processed signal
KR20110001130A (ko) * 2009-06-29 2011-01-06 삼성전자주식회사 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
WO2011014512A1 (en) 2009-07-27 2011-02-03 Scti Holdings, Inc System and method for noise reduction in processing speech signals by targeting speech and disregarding noise
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
EP2816560A1 (en) 2009-10-19 2014-12-24 Telefonaktiebolaget L M Ericsson (PUBL) Method and background estimator for voice activity detection
KR101761629B1 (ko) * 2009-11-24 2017-07-26 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
US8781822B2 (en) * 2009-12-22 2014-07-15 Qualcomm Incorporated Audio and speech processing with optimal bit-allocation for constant bit rate applications
US20110196673A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
US8374858B2 (en) * 2010-03-09 2013-02-12 Dts, Inc. Scalable lossless audio codec and authoring tool
US9082416B2 (en) * 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
PT2676267T (pt) 2011-02-14 2017-09-26 Fraunhofer Ges Forschung Codificação e descodificação de posições de pulso de faixas de um sinal de áudio
WO2012110415A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
EP2676270B1 (en) 2011-02-14 2017-02-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding a portion of an audio signal using a transient detection and a quality result
KR101551046B1 (ko) 2011-02-14 2015-09-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법
TWI488176B (zh) 2011-02-14 2015-06-11 Fraunhofer Ges Forschung 音訊信號音軌脈衝位置之編碼與解碼技術
EP2676265B1 (en) 2011-02-14 2019-04-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding an audio signal using an aligned look-ahead portion
WO2012110478A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Information signal representation using lapped transform
JP5969513B2 (ja) 2011-02-14 2016-08-17 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 不活性相の間のノイズ合成を用いるオーディオコーデック
BR112013020587B1 (pt) 2011-02-14 2021-03-09 Fraunhofer-Gesellschaft Zur Forderung De Angewandten Forschung E.V. esquema de codificação com base em previsão linear utilizando modelagem de ruído de domínio espectral
US8762136B2 (en) * 2011-05-03 2014-06-24 Lsi Corporation System and method of speech compression using an inter frame parameter correlation
US8990074B2 (en) 2011-05-24 2015-03-24 Qualcomm Incorporated Noise-robust speech coding mode classification
FR2977969A1 (fr) * 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
US9208796B2 (en) * 2011-08-22 2015-12-08 Genband Us Llc Estimation of speech energy based on code excited linear prediction (CELP) parameters extracted from a partially-decoded CELP-encoded bit stream and applications of same
EP2798631B1 (en) * 2011-12-21 2016-03-23 Huawei Technologies Co., Ltd. Adaptively encoding pitch lag for voiced speech
US9111531B2 (en) * 2012-01-13 2015-08-18 Qualcomm Incorporated Multiple coding mode signal classification
TWI591620B (zh) 2012-03-21 2017-07-11 三星電子股份有限公司 產生高頻雜訊的方法
JP6180544B2 (ja) 2012-12-21 2017-08-16 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン オーディオ信号の不連続伝送における高スペクトル−時間分解能を持つコンフォートノイズの生成
BR112015014217B1 (pt) * 2012-12-21 2021-11-03 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V Adição de ruído de conforto para modelagem do ruído de fundo em baixas taxas de bits
EP3217398B1 (en) 2013-04-05 2019-08-14 Dolby International AB Advanced quantizer
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
US9640185B2 (en) * 2013-12-12 2017-05-02 Motorola Solutions, Inc. Method and apparatus for enhancing the modulation index of speech sounds passed through a digital vocoder
US9570095B1 (en) * 2014-01-17 2017-02-14 Marvell International Ltd. Systems and methods for instantaneous noise estimation
US9721580B2 (en) * 2014-03-31 2017-08-01 Google Inc. Situation dependent transient suppression
CN105023579A (zh) * 2014-04-30 2015-11-04 中国电信股份有限公司 语音通信中语音编码实现方法、装置和通信终端
EP2980796A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
CN104833105A (zh) * 2015-05-28 2015-08-12 芜湖美的厨卫电器制造有限公司 热水器和热水器系统
US11631421B2 (en) * 2015-10-18 2023-04-18 Solos Technology Limited Apparatuses and methods for enhanced speech recognition in variable environments
KR102595478B1 (ko) * 2016-01-03 2023-10-27 아우로 테크놀로지스 엔브이 예측자 모델을 이용한 신호 인코더, 디코더 및 방법
US11227214B2 (en) 2017-11-14 2022-01-18 Advanced Micro Devices, Inc. Memory bandwidth reduction techniques for low power convolutional neural network inference applications
EA038803B1 (ru) * 2017-12-25 2021-10-21 Федеральное государственное унитарное предприятие "Всероссийский научно-исследовательский институт автоматики им. Н.Л. Духова" Способ адаптивной цифровой фильтрации импульсных помех и фильтр для его реализации
US11948073B2 (en) 2018-04-20 2024-04-02 Advanced Micro Devices, Inc. Machine learning inference engine scalability
RU2691122C1 (ru) * 2018-06-13 2019-06-11 Ордена трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования "Московский технический университет связи и информатики" (МТУСИ) Способ и устройство компандирования звуковых вещательных сигналов
US11775799B2 (en) 2018-08-02 2023-10-03 Advanced Micro Devices, Inc. Runtime extension for neural network training with heterogeneous memory
US11769041B2 (en) 2018-10-31 2023-09-26 Advanced Micro Devices, Inc. Low latency long short-term memory inference with sequence interleaving
US10756795B2 (en) 2018-12-18 2020-08-25 XCOM Labs, Inc. User equipment with cellular link and peer-to-peer link
US11063645B2 (en) 2018-12-18 2021-07-13 XCOM Labs, Inc. Methods of wirelessly communicating with a group of devices
CN111338974A (zh) 2018-12-19 2020-06-26 超威半导体公司 用于矩阵数学指令集的图块化算法
CN111353575A (zh) 2018-12-20 2020-06-30 超威半导体公司 用于卷积神经网络的图块化格式
US11330649B2 (en) 2019-01-25 2022-05-10 XCOM Labs, Inc. Methods and systems of multi-link peer-to-peer communications
US10756767B1 (en) 2019-02-05 2020-08-25 XCOM Labs, Inc. User equipment for wirelessly communicating cellular signal with another user equipment
CN111723918A (zh) 2019-03-18 2020-09-29 超威半导体公司 用于卷积内核的自动生成和调谐工具
US11610142B2 (en) 2019-05-28 2023-03-21 Ati Technologies Ulc Safety monitor for image misclassification
US11210199B2 (en) 2019-05-31 2021-12-28 Ati Technologies Ulc Safety monitor for invalid image transform
US11250867B1 (en) * 2019-10-08 2022-02-15 Rockwell Collins, Inc. Incorporating data into a voice signal with zero overhead
JP7332890B2 (ja) * 2019-11-19 2023-08-24 アイコム株式会社 音声通信システム、音声通信方法、および、音声通信プログラム
US11023390B1 (en) * 2020-03-27 2021-06-01 Arm Limited Resizing circuitry
CN112767953B (zh) * 2020-06-24 2024-01-23 腾讯科技(深圳)有限公司 语音编码方法、装置、计算机设备和存储介质

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US32580A (en) * 1861-06-18 Water-elevatok
US3633107A (en) * 1970-06-04 1972-01-04 Bell Telephone Labor Inc Adaptive signal processor for diversity radio receivers
JPS5017711A (hu) * 1973-06-15 1975-02-25
US3988674A (en) * 1975-03-17 1976-10-26 Communications Satellite Corporation (Comsat) Frame synchronization in speech predictive encoded communication system
US4076958A (en) * 1976-09-13 1978-02-28 E-Systems, Inc. Signal synthesizer spectrum contour scaler
US4214125A (en) * 1977-01-21 1980-07-22 Forrest S. Mozer Method and apparatus for speech synthesizing
CA1123955A (en) * 1978-03-30 1982-05-18 Tetsu Taguchi Speech analysis and synthesis apparatus
DE3023375C1 (hu) * 1980-06-23 1987-12-03 Siemens Ag, 1000 Berlin Und 8000 Muenchen, De
US4379949A (en) * 1981-08-10 1983-04-12 Motorola, Inc. Method of and means for variable-rate coding of LPC parameters
JPS6011360B2 (ja) * 1981-12-15 1985-03-25 ケイディディ株式会社 音声符号化方式
US4535472A (en) * 1982-11-05 1985-08-13 At&T Bell Laboratories Adaptive bit allocator
DE3276651D1 (en) * 1982-11-26 1987-07-30 Ibm Speech signal coding method and apparatus
DE3370423D1 (en) * 1983-06-07 1987-04-23 Ibm Process for activity detection in a voice transmission system
US4672670A (en) * 1983-07-26 1987-06-09 Advanced Micro Devices, Inc. Apparatus and methods for coding, decoding, analyzing and synthesizing a signal
EP0163829B1 (en) * 1984-03-21 1989-08-23 Nippon Telegraph And Telephone Corporation Speech signal processing system
IT1179803B (it) * 1984-10-30 1987-09-16 Cselt Centro Studi Lab Telecom Metodo e dispositivo per la correzione di errori causati da rumore di tipo impulsivo su segnali vocali codificati con bassa velocita di ci fra e trasmessi su canali di comunicazione radio
US4937873A (en) * 1985-03-18 1990-06-26 Massachusetts Institute Of Technology Computationally efficient sine wave synthesis for acoustic waveform processing
US4885790A (en) * 1985-03-18 1989-12-05 Massachusetts Institute Of Technology Processing of acoustic waveforms
US4856068A (en) * 1985-03-18 1989-08-08 Massachusetts Institute Of Technology Audio pre-processing methods and apparatus
US4831636A (en) * 1985-06-28 1989-05-16 Fujitsu Limited Coding transmission equipment for carrying out coding with adaptive quantization
US4827517A (en) * 1985-12-26 1989-05-02 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech processor using arbitrary excitation coding
CA1299750C (en) * 1986-01-03 1992-04-28 Ira Alan Gerson Optimal method of data reduction in a speech recognition system
US4797929A (en) * 1986-01-03 1989-01-10 Motorola, Inc. Word recognition in a speech recognition system using data reduced word templates
JPH0748695B2 (ja) * 1986-05-23 1995-05-24 株式会社日立製作所 音声符号化方式
US4899384A (en) * 1986-08-25 1990-02-06 Ibm Corporation Table controlled dynamic bit allocation in a variable rate sub-band speech coder
US4771465A (en) * 1986-09-11 1988-09-13 American Telephone And Telegraph Company, At&T Bell Laboratories Digital speech sinusoidal vocoder with transmission of only subset of harmonics
US4797925A (en) * 1986-09-26 1989-01-10 Bell Communications Research, Inc. Method for coding speech at low bit rates
US4903301A (en) * 1987-02-27 1990-02-20 Hitachi, Ltd. Method and system for transmitting variable rate speech signal
US5054072A (en) * 1987-04-02 1991-10-01 Massachusetts Institute Of Technology Coding of acoustic waveforms
US4969192A (en) * 1987-04-06 1990-11-06 Voicecraft, Inc. Vector adaptive predictive coder for speech and audio
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US5202953A (en) * 1987-04-08 1993-04-13 Nec Corporation Multi-pulse type coding system with correlation calculation by backward-filtering operation for multi-pulse searching
US4890327A (en) * 1987-06-03 1989-12-26 Itt Corporation Multi-rate digital voice coder apparatus
US4831624A (en) * 1987-06-04 1989-05-16 Motorola, Inc. Error detection method for sub-band coding
US4802171A (en) * 1987-06-04 1989-01-31 Motorola, Inc. Method for error correction in digitally encoded speech
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
CA1337217C (en) * 1987-08-28 1995-10-03 Daniel Kenneth Freeman Speech coding
AU2428988A (en) * 1987-09-02 1989-03-31 Eltech Systems Corporation Non-consumable anode for molten salt electrolysis
US4811404A (en) * 1987-10-01 1989-03-07 Motorola, Inc. Noise suppression system
US4852179A (en) * 1987-10-05 1989-07-25 Motorola, Inc. Variable frame rate, fixed bit rate vocoding method
US4896361A (en) * 1988-01-07 1990-01-23 Motorola, Inc. Digital speech coder having improved vector excitation source
EP0331857B1 (en) * 1988-03-08 1992-05-20 International Business Machines Corporation Improved low bit rate voice coding method and system
DE3883519T2 (de) * 1988-03-08 1994-03-17 Ibm Verfahren und Einrichtung zur Sprachkodierung mit mehreren Datenraten.
US5023910A (en) * 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
US4864561A (en) * 1988-06-20 1989-09-05 American Telephone And Telegraph Company Technique for improved subjective performance in a communication system using attenuated noise-fill
JPH0783315B2 (ja) * 1988-09-26 1995-09-06 富士通株式会社 可変レート音声信号符号化方式
US5077798A (en) * 1988-09-28 1991-12-31 Hitachi, Ltd. Method and system for voice coding based on vector quantization
EP0364647B1 (en) * 1988-10-19 1995-02-22 International Business Machines Corporation Improvement to vector quantizing coder
NL8901032A (nl) * 1988-11-10 1990-06-01 Philips Nv Coder om extra informatie op te nemen in een digitaal audiosignaal met een tevoren bepaald formaat, een decoder om deze extra informatie uit dit digitale signaal af te leiden, een inrichting voor het opnemen van een digitaal signaal op een registratiedrager, voorzien van de coder, en een registratiedrager verkregen met deze inrichting.
JP3033060B2 (ja) * 1988-12-22 2000-04-17 国際電信電話株式会社 音声予測符号化・復号化方式
CA2005115C (en) * 1989-01-17 1997-04-22 Juin-Hwey Chen Low-delay code-excited linear predictive coder for speech or audio
US5222189A (en) * 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
DE68916944T2 (de) * 1989-04-11 1995-03-16 Ibm Verfahren zur schnellen Bestimmung der Grundfrequenz in Sprachcodierern mit langfristiger Prädiktion.
US5060269A (en) * 1989-05-18 1991-10-22 General Electric Company Hybrid switched multi-pulse/stochastic speech coding technique
US4975956A (en) * 1989-07-26 1990-12-04 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
GB2235354A (en) * 1989-08-16 1991-02-27 Philips Electronic Associated Speech coding/encoding using celp
US5091945A (en) * 1989-09-28 1992-02-25 At&T Bell Laboratories Source dependent channel coding with error protection
AU6174290A (en) * 1989-10-06 1991-04-28 Motorola, Inc. Error detection/correction scheme for vocoders
US5307441A (en) * 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
JPH03181232A (ja) * 1989-12-11 1991-08-07 Toshiba Corp 可変レート符号化方式
US5097507A (en) * 1989-12-22 1992-03-17 General Electric Company Fading bit error protection for digital cellular multi-pulse speech coder
CH680030A5 (hu) * 1990-03-22 1992-05-29 Ascom Zelcom Ag
JP3102015B2 (ja) * 1990-05-28 2000-10-23 日本電気株式会社 音声復号化方法
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5235671A (en) * 1990-10-15 1993-08-10 Gte Laboratories Incorporated Dynamic bit allocation subband excited transform coding method and apparatus
US5187745A (en) * 1991-06-27 1993-02-16 Motorola, Inc. Efficient codebook search for CELP vocoders
CA2568984C (en) * 1991-06-11 2007-07-10 Qualcomm Incorporated Variable rate vocoder
US5734789A (en) * 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
US5566206A (en) * 1993-06-18 1996-10-15 Qualcomm Incorporated Method and apparatus for determining data rate of transmitted variable rate data in a communications receiver
US5537410A (en) * 1994-09-15 1996-07-16 Oki Telecom Subsequent frame variable data rate indication method

Also Published As

Publication number Publication date
DE69233502D1 (de) 2005-06-02
AU2186592A (en) 1993-01-12
FI118702B (fi) 2008-02-15
EP1763020A3 (en) 2010-09-29
JP3955600B2 (ja) 2007-08-08
HK1014796A1 (en) 1999-09-30
JP2002202800A (ja) 2002-07-19
CN1220334C (zh) 2005-09-21
FI935597A0 (fi) 1993-12-13
HK1127152A1 (en) 2009-09-18
CA2568984C (en) 2007-07-10
IL113986A0 (en) 1995-10-31
EP1998319A2 (en) 2008-12-03
CN1119796C (zh) 2003-08-27
CN1091535C (zh) 2002-09-25
EP1763020A2 (en) 2007-03-14
JP2006221186A (ja) 2006-08-24
EP1998319B1 (en) 2010-08-11
FI935597A (fi) 1993-12-13
CA2483322C (en) 2008-09-23
CN1381956A (zh) 2002-11-27
EP1239456A1 (en) 2002-09-11
JP4191746B2 (ja) 2008-12-03
FI120425B (fi) 2009-10-15
ES2225321T3 (es) 2005-03-16
FI20011508A (fi) 2001-07-10
ES2166355T3 (es) 2002-04-16
FI20061121A (fi) 2006-12-15
US5657420A (en) 1997-08-12
JP2005182075A (ja) 2005-07-07
CN1112673C (zh) 2003-06-25
IL102146A (en) 1996-03-31
AU671952B2 (en) 1996-09-19
CA2483296A1 (en) 1992-12-23
ATE272883T1 (de) 2004-08-15
ATE208945T1 (de) 2001-11-15
JPH06511320A (ja) 1994-12-15
DE69233794D1 (de) 2010-09-23
CA2568984A1 (en) 1992-12-23
EP1126437A3 (en) 2001-12-12
FI20061122L (fi) 2006-12-15
IL113988A0 (en) 1995-10-31
NO934544D0 (no) 1993-12-10
JP2004004897A (ja) 2004-01-08
EP0588932B1 (en) 2001-11-14
MX9202808A (es) 1992-12-01
DE69233502T2 (de) 2006-02-23
CN1159639A (zh) 1997-09-17
HK1064785A1 (en) 2005-02-04
ATE294441T1 (de) 2005-05-15
JP3751957B2 (ja) 2006-03-08
CN1286086C (zh) 2006-11-22
JP3432822B2 (ja) 2003-08-04
CN1492395A (zh) 2004-04-28
WO1992022891A1 (en) 1992-12-23
CA2483322A1 (en) 1992-12-23
DE69233397D1 (de) 2004-09-09
EP1126437B1 (en) 2004-08-04
AU6089396A (en) 1996-10-03
CN1196271C (zh) 2005-04-06
EP1162601A2 (en) 2001-12-12
BR9206143A (pt) 1995-01-03
CA2483324C (en) 2008-05-06
DK1126437T3 (da) 2004-11-08
CN1167309A (zh) 1997-12-10
NO934544L (no) 1993-12-10
EP1998319A3 (en) 2008-12-17
CN1398052A (zh) 2003-02-19
EP1107231A2 (en) 2001-06-13
ES2240252T3 (es) 2005-10-16
JP3566669B2 (ja) 2004-09-15
ATE477571T1 (de) 2010-08-15
AU1482597A (en) 1997-05-15
EP1107231A3 (en) 2001-12-05
IL113987A0 (en) 1995-10-31
EP1162601A3 (en) 2002-07-03
JP2002023796A (ja) 2002-01-25
CA2635914A1 (en) 1992-12-23
CN1071036A (zh) 1993-04-14
JP2006079107A (ja) 2006-03-23
DE69233397T2 (de) 2005-08-11
EP1107231B1 (en) 2005-04-27
SG70558A1 (en) 2000-02-22
ZA924082B (en) 1993-02-26
IL113988A (en) 1996-11-14
AU711484B2 (en) 1999-10-14
NO319559B1 (no) 2005-08-29
CA2102099A1 (en) 1992-12-12
IL113986A (en) 1996-11-14
CN1909059A (zh) 2007-02-07
CA2102099C (en) 2006-04-04
IL113987A (en) 1996-11-14
AU693374B2 (en) 1998-06-25
DE69232202D1 (de) 2001-12-20
CA2483296C (en) 2008-01-22
EP1126437A2 (en) 2001-08-22
CA2483324A1 (en) 1992-12-23
RU2107951C1 (ru) 1998-03-27
EP1675100A2 (en) 2006-06-28
US5778338A (en) 1998-07-07
EP0588932A1 (en) 1994-03-30
JP3964915B2 (ja) 2007-08-22
DK0588932T3 (da) 2002-03-11
FI20011509A (fi) 2001-07-10
ES2348319T3 (es) 2010-12-02
DE69232202T2 (de) 2002-07-25
HUT70719A (en) 1995-10-30
US5414796A (en) 1995-05-09

Similar Documents

Publication Publication Date Title
HU215861B (hu) Eljárások beszédjelek tömörítésére digitalizált minták változtatható sebességű kódolásával és dekódolásával, valamint eszközök ezen eljárások foganatosításához
Chui et al. A hybrid input/output spectrum adaptation scheme for LD-CELP coding of speech
JP2000047693A (ja) 音声信号符号化制御装置