PL193723B1 - Sposób i urządzenie do kodowania sygnału mowy oraz sposób i urządzenie do dekodowania sygnału mowy - Google Patents

Sposób i urządzenie do kodowania sygnału mowy oraz sposób i urządzenie do dekodowania sygnału mowy

Info

Publication number
PL193723B1
PL193723B1 PL98330399A PL33039998A PL193723B1 PL 193723 B1 PL193723 B1 PL 193723B1 PL 98330399 A PL98330399 A PL 98330399A PL 33039998 A PL33039998 A PL 33039998A PL 193723 B1 PL193723 B1 PL 193723B1
Authority
PL
Poland
Prior art keywords
frame
frames
coefficients
speech
samples
Prior art date
Application number
PL98330399A
Other languages
English (en)
Other versions
PL330399A1 (en
Inventor
Rakesh Taori
Andreas Johannes Gerrits
Original Assignee
Koninkl Philips Electronics Nv
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
Application filed by Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Publication of PL330399A1 publication Critical patent/PL330399A1/xx
Publication of PL193723B1 publication Critical patent/PL193723B1/pl

Links

Classifications

    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • 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/002Dynamic bit allocation
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0012Smoothing of parameters of the decoder interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

3. Urzadzenie do kodowania sygnalu mowy, dla wyzna- czania z ciagu uporzadkowanych czasowo ramek próbek sygnalu mowy, ramek danych ze wspólczynnikami reprezen- tujacymi te ramki próbek sygnalu mowy, które to urzadzenie jest zaopatrzone w srodki do wyznaczania z pierwszej ramki ciagu uporzadkowanych czasowo ramek próbek sygnalu mowy, niekompletnego zestawu wspólczynników reprezentu- jacych pierwsza ramke próbek sygnalu mowy oraz srodki do wyznaczania z drugiej ramki ciagu uporzadkowanych czaso- wo ramek próbek sygnalu mowy, kompletnego zestawu wspólczynników reprezentujacych te druga ramke próbek sygnalu mowy, która to druga ramka w ciagu uporzadkowa- nych czasowo ramek jest wzgledem pierwszej ramki, ramka pózniejsza, znamienne tym, ze jest zaopatrzone w srodki (6) do wyznaczania niekompletnej ramki danych zawierajacej niekompletny zestaw wspólczynników (EXO) i przynajmniej jeden wspólczynnik (L1) z kompletnego zestawu wspólczyn- ników (L1, EX1) oraz w srodki (S) do wyznaczania komplet- nej ramki danych zawierajacej kompletny zestaw wspólczyn- ników (L1, EX1) oprócz wspomnianego przynajmniej jednego wspólczynnika (L1). PL PL PL PL

Description

Przedmiotem wynalazku jest sposób i urządzenie do kodowania sygnału mowy oraz sposób i urządzenie do dekodowania sygnału mowy, tworzące system transmisji zaopatrzony w nadajnik z koderem mowy, w którym tworzy się ciąg ramek próbek sygnału mowy, z których wyznacza się ramki danych ze współczynnikami reprezentującymi te ramki próbek sygnału mowy. Przetworzony cyfrowy sygnał mowy po przesłaniu przez ośrodek propagacji jest doprowadzony do odbiornika, który jest zaopatrzony w dekoder sygnału mowy.
Tego rodzaju system transmisji sygnału mowy jest znany z opisu patentowego nr US 4 379 949. Takie systemy transmisji stosuje się, gdy sygnały mowy mają być przesłane przez ośrodek propagacji sygnałów o ograniczonej pojemności przesyłania lub muszą być przechowywane w ośrodku przechowującym o ograniczonej pojemności. Przykłady takich zastosowań to przesyłanie sygnałów mowy przez internet, transmisja sygnałów z telefonów przenośnych do stacji bazowej i vice versa, oraz przechowywanie sygnałów mowy na CD-ROM, w układach pamięci trwałej, tudzież na dysku twardym.
Koder mowy wyznacza spośród ramek próbek sygnału mowy ramki danych, które zawierają współczynniki reprezentujące te ramki próbek sygnału mowy. Współczynniki te zawierają współczynniki analizy i współczynniki wzbudzania. Grupa takich współczynników opisuje widmo krótkookresowe sygnału mowy. Innym przykładem współczynnika analizy jest współczynnik reprezentujący wysokość tonu sygnału mowy. Współczynniki analizy są przesyłane przez ośrodek propagacji sygnałów do odbiornika, gdzie są używane jako współczynniki w filtrze syntetyzującym.
Oprócz parametrów analizy koder mowy wyznacza również liczbę sekwencji wzbudzania (na przykład 4) w ramce próbek mowy. Przedział czasu zajmowany przez taką sekwencję wzbudzania jest nazywany podramką („sub-frame”). Koder mowy jest tak zaprojektowany, by znajdował taki sygnał wzbudzania, który daje najlepszą jakość sygnału mowy, natomiast filtr syntetyzujący, wykorzystujący współczynniki analizy, jest wzbudzany sekwencjami wzbudzania. Reprezentacja tych sekwencji wzbudzania jest przesyłana przez kanał transmisyjny do odbiornika. W odbiorniku sekwencje wzbudzania są odzyskiwane z odebranego sygnału i podawane na wejście filtra syntetyzującego. Na wyjściu filtra syntetyzującego dostępny jest syntetyzowany sygnał mowy.
Szybkość przesyłania bitów opisujących sygnał mowy o danej jakości zależy od zawartości mowy. Możliwe jest, że niektóre współczynniki przenoszone przez ramki danych mają stałe wartości w dłuższym okresie czasu, na przykład przedłużone samogłoski. Ta własność może być wykorzystana poprzez przesyłanie w takim przypadku niekompletnych ramek danych zawierających niekompletny zestaw współczynników.
Ta możliwość jest wykorzystana w rozwiązaniu przedstawionym w opisie patentowym US 4 379 949. Przedstawiono tam system transmisyjny z koderem mowy, w którym współczynniki analizy nie są przesyłane w każdej ramce. Są one przesyłane jedynie wówczas, gdy różnica pomiędzy przynajmniej jednym z rzeczywistych współczynników analizy w ramce danych i odpowiednim współczynnikiem analizy uzyskanym poprzez interpolację współczynników analizy z sąsiednich ramek danych, przekracza pewną założoną wartość progową. W efekcie uzyskuje się zmniejszenie prędkości przesyłania bitów wymaganej do transmisji sygnału mowy.
Wadą tego znanego rozwiązania jest to, że sygnał mowy jest zawsze opóźniony o pewną liczbę ramek z powodu interpolacji, która ma zostać wykonana.
Sposób kodowania sygnału mowy, w którym z ciągu uporządkowanych czasowo ramek próbek sygnału mowy wyznacza się ramki danych ze współczynnikami reprezentującymi ramki próbek sygnału mowy, przy czym wyznacza się z pierwszej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy niekompletny zestaw współczynników reprezentujących pierwszą ramkę próbek sygnału mowy, i wyznacza się z drugiej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy kompletny zestaw współczynników reprezentujących drugą ramkę próbek sygnału mowy, która to druga ramka w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, według wynalazku charakteryzuje się tym, że wyznacza się niekompletną ramkę danych zawierającą niekompletny zestaw współczynników i przynajmniej jeden współczynnik kompletnego zestawu współczynników oraz wyznacza się kompletną ramkę danych zawierającą kompletny zestaw współczynników, oprócz wspomnianego przynajmniej jednego współczynnika.
Korzystnym jest, że wprowadza się do ramek danych pierwszy wskaźnik wskazujący czy ramka danych jest niekompletną ramką danych oraz drugi wskaźnik wskazujący czy ramka danych przenosi przynajmniej jeden dodatkowy współczynnik.
PL 193 723 B1
Urządzenie do kodowania sygnału mowy, dla wyznaczania z ciągu uporządkowanych czasowo ramek próbek sygnału mowy, ramek danych ze współczynnikami reprezentującymi te ramki próbek sygnału mowy, które to urządzenie jest zaopatrzone w środki do wyznaczania z pierwszej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy, niekompletnego zestawu współczynników reprezentujących pierwszą ramkę próbek sygnału mowy oraz środki do wyznaczania z drugiej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy, kompletnego zestawu współczynników reprezentujących tę drugą ramkę próbek sygnału mowy, która to druga ramka w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, według wynalazku charakteryzuje się tym, że jest zaopatrzone w środki do wyznaczania niekompletnej ramki danych zawierającej niekompletny zestaw współczynników i przynajmniej jeden współczynnik z kompletnego zestawu współczynników oraz w środki do wyznaczania kompletnej ramki danych zawierającej kompletny zestaw współczynników, oprócz wspomnianego przynajmniej jednego współczynnika.
Sposób dekodowania sygnału mowy, do dekodowania sygnału zawierającego kompletne i niekompletne ramki danych reprezentujące ciąg uporządkowanych czasowo ramek próbek sygnału mowy, a niekompletna ramka danych zawiera niekompletny zestaw współczynników reprezentujących pierwszą ramkę próbek sygnału mowy, z której wyznaczony został niekompletny zestaw i przynajmniej jeden współczynnik reprezentujący drugą ramkę próbek sygnału mowy, przy czym druga ramka próbek sygnału mowy w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, a kompletna ramka danych ze wspomnianych kompletnych ramek danych zawiera kompletny zestaw współczynników reprezentujących drugą ramkę próbek sygnału mowy oprócz przynajmniej jednego współczynnika, według wynalazku charakteryzuje się tym, że uzupełnia się odebrany niekompletny zestaw współczynników interpolowanymi współczynnikami uzyskanymi z odebranych współczynników reprezentujących inne ramki próbek sygnału mowy niż pierwsza ramka, które to inne ramki otaczają pierwszą ramkę i obejmują drugą ramkę.
Urządzenie do dekodowania sygnału mowy, zawierającego kompletne i niekompletne ramki danych reprezentujące ciąg uporządkowanych czasowo ramek próbek sygnału mowy, a niekompletna ramka danych ze wspomnianych niekompletnych ramek danych zawiera niekompletny zestaw współczynników reprezentujących pierwszą ramkę próbek sygnału mowy, z której wyznaczony został niekompletny zestaw i przynajmniej jeden współczynnik reprezentujący drugą ramkę próbek sygnału mowy, przy czym druga ramka próbek sygnału mowy w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, a kompletna ramka danych ze wspomnianych kompletnych ramek danych zawiera kompletny zestaw współczynników reprezentujących drugą ramkę próbek sygnału mowy, oprócz wspomnianego przynajmniej jednego współczynnika, według wynalazku charakteryzuje się tym, że jest zaopatrzone w środki do uzupełniania odebranego niekompletnego zestawu współczynników interpolowanymi współczynnikami uzyskanymi z odebranych współczynników reprezentujących inne ramki próbek sygnału mowy niż pierwsza ramka, które to inne ramki otaczają pierwszą ramkę i obejmują drugą ramkę.
Dzięki wysyłaniu dodatkowych współczynników reprezentujących późniejsze ramki próbek sygnału mowy w niekompletnych ramkach danych, te dodatkowe współczynniki są dostępne w dekoderze w przynajmniej o jeden wcześniejszym okresie czasu trwania ramki. Ponieważ te dodatkowe współczynniki są stosowane do uzupełniania niekompletnych zestawów współczynników przy użyciu interpolacji, to interpolacja może być wykonywana wcześniej przynajmniej o jeden okres czasu trwania ramki. W konsekwencji, synteza rekonstruowanego sygnału mowy może mieć miejsce wcześniej, a opóźnienie sygnału zmniejsza się o przynajmniej jeden okres czasu trwania ramki.
Przykład realizacji wynalazku cechuje się tym, że środki zestawiające ramki wprowadzają do ramek danych znaczniki, wskazujące czy dana ramka jest niekompletną ramką danych, oraz czy ramki danych przenoszą współczynniki reprezentujące ramki danych próbek mowy różne od odpowiadających im ramek próbek mowy.
Wprowadzanie pierwszego i drugiego znacznika znacznie ułatwia proces dekodowania w odbiorniku. Środki uzupełniające mogą łatwo wydobyć niekompletne ramki z sygnału wejściowego i rozpocząć uzupełnianie (poprzez interpolację), jak tylko niekompletna ramka przenosząca dodatkowe współczynniki będzie dostępna. Jeśli obecny jest tylko jeden znacznik, dekoder mowy wymaga znaczników odpowiadających poprzedniej ramce danych, żeby mógł zdekodować sygnał. Wymaga to bardzo niezawodnej komunikacji w celu zapobiegania błędom lub utracie ramek danych.
Przedmiot wynalazku zostanie objaśniony w przykładach wykonania na rysunku, na którym fig. 1 przedstawia system transmisji sygnału mowy, w którym może być zastosowane rozwiązanie według
PL 193 723 B1 wynalazku, fig. 2 - przykład realizacji urządzenia do kodowania, wyprowadzającego ramki zakodowanych sygnałów mowy, fig. 3 - przykład realizacji zespołu sterującego kodera mowy z fig. 2, fig. 4 - sekwencję wejściowych ramek sygnału mowy, sekwencję ramek uzyskanych na ich podstawie, oraz sekwencję ramek mowy zrekonstruowanych z ramek danych w odbiorniku, fig. 5 - sieć działań dla programowalnego procesora implementującego multiplekser, fig. 6 - sieć działań dla programowalnego procesora implementującego demultiplekser, fig. 7 - sieć działań alternatywnej implementacji instrukcji 138z fig. 6, fig. 8 - zespół do dekodowania mowy 18 stosowany w systemie transmisji sygnału mowy z fig. 1.
W systemie transmisji sygnału mowy z fig. 1, sygnał mowy do zakodowania jest podawany na wejście kodera mowy 4 w nadajniku 2. Pierwsze wyjście kodera mowy 2, zawierające wyjście LPC reprezentujące współczynniki analizy, jest połączone z wejściem multipleksera 6. Drugie wyjście kodera mowy 4, przenoszące sygnał wyjściowy F, jest połączone z drugim wejściem multipleksera 6. Sygnał F reprezentuje znacznik wskazujący, czy sygnał LPC ma być przesyłany. Trzecie wyjście kodera mowy 4, przenoszące sygnał EX, jest połączone z trzecim wejściem multipleksera 6. Sygnał EX reprezentuje sygnał wzbudzający dla filtra syntetyzującego w koderze mowy. Sygnał R sterujący szybkością przesyłania bitów jest przykładany na drugie wejście kodera mowy 4.
Wyjście multipleksera 6 jest połączone z wejściem zespołu przesyłającego 8. Wyjście zespołu przesyłającego 8 jest połączone z odbiornikiem 12 przez ośrodek propagacji sygnałów 10.
W odbiorniku 12, wyjście ośrodka propagacji sygnałów 10 jest połączone z wejściem zespołu odbierającego 14. Wyjście zespołu odbierającego 14 jest połączone z wejściem demultipleksera 16. Pierwsze wyjście demultipleksera 16, przenoszące sygnał LPC, jest połączone z pierwszym wejściem zespołu dekodującego 18, a drugie wyjście demultipleksera 16, przenoszące sygnał EX, jest połączone z drugim wejściem zespołu dekodowania mowy 18. Wyjście z zespołu dekodowania mowy 18 zawiera zrekonstruowany sygnał mowy. Połączenie demultipleksera 16 i zespołu dekodowania mowy 18 tworzy dekoder mowy zgodny z rozwiązaniem według niniejszego wynalazku.
Działanie systemu transmisyjnego według wynalazku zostanie wyjaśnione przy założeniu, że koder mowy jest koderem typu CELP, a więc z zastosowaniem predykcji liniowej wynikającej z kodu, chociaż wynalazek nie ogranicza się jedynie do tego rozwiązania.
Koder mowy 4jest dostosowany do wytwarzania zakodowanego sygnału mowy z ramek próbek sygnału mowy. Koder mowy wyznacza współczynniki analizy, określające na przykład widmo krótkookresowe sygnału mowy, z ramek próbek sygnałów mowy. Z reguły stosuje się współczynniki LPC lub ich przekształconą reprezentację. Wygodną reprezentacją mogą być współczynniki obszaru rejestrowego (Log Area Ratio -LAR), arcus sinus współczynników odbicia lub liniowe widmowe częstotliwości (Line Spectral Frequencies - LSF) zwane również liniowymi widmowymi parami (Line Spectral Pairs LSP). Reprezentacja współczynników analizy jest dostępna jako sygnał LPC na pierwszym wyjściu kodera mowy 4.
W koderze mowy 4 sygnał wzbudzający równa się sumie ważonych sygnałów wyjściowych jednego lub więcej kodów stałych lub adaptacyjnych. Wyjściowe sygnały kodu stałego są wyznaczane przez wskaźnik kodu stałego, a ważony współczynnik kodu stałego jest wyznaczany przez zyskkodu stałego. Wyjściowe sygnały kodu adaptacyjnego są wyznaczane przez wskaźnik kodu adaptacyjnego, a współczynnik ważenia kodu adaptacyjnego jest wyznaczany przez zysk kodu adaptacyjnego.
Wskaźniki i zyski kodów są wyznaczane metodą analizy poprzez syntezę, to znaczy wskaźniki izyski są wyznaczane w taki sposób, że wielkość różnicy pomiędzy sygnałem mowy oryginalnej i sygnałem mowy zsyntetyzowanej na podstawie współczynników wzbudzających ma wartość minimalną. Sygnał F określa, czy parametry analizy odpowiadające bieżącej ramce próbek sygnału mowy mają być przesyłane. Te współczynniki mogą być wysyłane w bieżącej ramce danych lub we wcześniejszej ramce danych.
Multiplekser 6 zestawia ramki danych mających postać nagłówka i danych reprezentujących sygnał mowy. Nagłówek zawiera pierwszy znacznik (flaga F) wskazujący, czy bieżąca ramka danych jest niekompletna. Nagłówek opcjonalnie zawiera drugi znacznik (flaga L), który wskazuje czy bieżąca ramka danych zawiera parametry analizy. Ramka ponadto zawiera parametry wzbudzania dla licznych podramek. Liczba podramek zależy od prędkości przesyłania bitów wybieranej na podstawie sygnału R na wejściu sterującym kodera mowy 4. Liczba podramek w ramce i długość ramek mogą być również zakodowane w nagłówku ramki,chociażmożliwe jest również, by liczba podramek w ramce idługość ramek zgadzały się z ustalanymi ustawieniami połączenia. Na wyjściu multipleksera 6 dostępny jest skompletowany zestaw ramek reprezentujących sygnał mowy.
PL 193 723 B1
W zespole wysyłającym 8 ramki z wyjścia multipleksera 6 są przekształcane na sygnał, który może być przesyłany przez ośrodek propagacji sygnałów 10. Operacje wykonywane w zespole transmisyjnym to kodowanie korekcji błędów, przeplatanie i modulacja.
Odbiornik 12 jest tak zaprojektowany, by odbierać z ośrodka propagacji sygnałów 10 sygnał wysyłany przez nadajnik 2. Zespół odbierający 14 przeprowadza demodulację, usuwanie przeplotu i dekodowanie korekcji błędów. Demultiplekser wydobywa sygnały LPC, Fi EX z sygnału wyjściowego z zespołu odbierającego 14. Jeśli jest to konieczne, demultiplekser 16 wykonuje interpolację pomiędzy dwoma zestawami kolejno odbieranych zestawów współczynników. Skompletowane zestawy współczynników LPC i EX są doprowadzane do zespołu dekodowania mowy 18. Na wyjściu zespołu dekodowania mowy 18 dostępny jest zrekonstruowany sygnał mowy.
W koderze mowy z fig. 2, wejściowy sygnał jest podawany na wejście zespołu dzielenia na ramki 20. Wyjście z zespołu 20, zawierające sygnał Sk+1, jest połączone z wejściem zespołu analizującego, który w tym przypadku jest liniowym analizatorem predykcyjnym 22, oraz z wejściem elementu opóźniającego 28. Wyjście z liniowego analizatora predykcyjnego 22, zawierające sygnał «<+_ jest połączone z wejściem zespołu kwantującego 24. Pierwsze wyjście zespołu kwantującego 24, zawierające sygnał Ck+1, jest połączone z wejściem elementu opóźniającego 26 oraz z pierwszym wyjściem kodera mowy 6. Wyjście elementu opóźniającego 26, zawierające sygnał Ck, jest połączone z drugim wyjściem kodera mowy. Wyjście elementu opóźniającego 26, zawierające sygnał wyjściowy Ck, jest połączone z drugim wejściem kodera mowy.
Drugie wyjście zespołu kwantującego 24, zawierające sygnał ak+., jest połączone z wejściem zespołu sterującego 30. Sygnał wejściowy R, reprezentujący ustawienie prędkości przesyłania bitów, jest podawany na drugie wejście zespołu sterującego 30. Pierwsze wyjście zespołu sterującego 30, zawierające sygnał wyjściowy F, jest połączone z wyjściem kodera mowy 4.
Trzecie wyjście zespołu sterującego 30, zawierające sygnał wyjściowy Ok, jest połączone z interpolatorem 32. Wyjście interpolatora 32, zawierające sygnał wyjściowy a'k[m], jest połączone z wejściem sterującym filtra ważącego 32.
Wyjście zespołu dzielenia na ramki 20 jest również połączone zwejściem elementu opóźniającego 28. Wyjście elementu opóźniającego 28, zawierające sygnał Sk, jest połączone z drugim wejściem filtra ważącego 34. Wyjście filtra ważącego 34, zawierające sygnał rs[m], jest połączone z zespołem wyznaczania wzbudzenia 36. Na wyjściu zespołu wyznaczania wzbudzenia 36 znajduje się reprezentacja sygnału wzbudzenia EX, zawierająca wskaźnik kodu stałego, zysk kodu stałego, wskaźnik kodu adaptacyjnego i zysk kodu adaptacyjnego.
Zespół dzielenia na ramki wyznacza z sygnału wejściowego do kodera mowy 4 ramki zawierające liczne próbki wejściowe. Liczba próbek w ramce może być zmieniana w zależności od ustawienia prędkości przesyłania bitów sygnału R. Liniowy analizator predykcyjny 22 oblicza liczne współczynniki analizy, zawierające współczynniki predykcyjne ak+1[p] z ramek próbek wejściowych. Te współczynniki predykcyjne mogą być obliczane na podstawie dobrze znanego algorytmu Levinsona-Durbina. Zespół kwantujący 24 przekształca współczynniki ak+1[p] nainną reprezentację oraz wykonuje kwantowanie przekształconych współczynników predykcyjnych na współczynniki predykcyjne Ck+1[p], które są podawane na wyjście przez element opóźniający 26 jako skwantowane współczynniki Ck[p]. Zadaniem elementu opóźniającego jest zapewnienie, że współczynniki Ck[p] i sygnał wzbudzenia EX, odpowiadający tej samej ramce wejściowych próbek mowy, są jednocześnie podawane na wejście multipleksera 6. Zespół kwantujący 24 dostarcza sygnał ak+1 do zespołu sterującego 30. Sygnał ak+1 jest otrzymywany poprzez odwrotną transformację skwantowanych współczynników Ck+1. Ta odwrotna transformacja jest tą samą transformacją, która jest wykonywana w dekoderze w odbiorniku. Odwrotna transformacja skwantowanych współczynników jest wykonywana w koderze mowy, tak że zapewniony jest koder mowy do lokalnej syntezy z identycznymi współczynnikami, które są dostępne dekoderowi w odbiorniku.
Zespół sterujący 30 jest dostosowany do wyznaczania w jakiej części ramek ma być przesyłana większa ilość informacji o współczynnikach analizy w porównaniu z pozostałymi ramkami. W koderze mowy 4 według niniejszego wynalazku, ramki albo przenoszą kompletną informację o współczynnikach analizy, albo w ogóle nie przenoszą żadnej informacji o tych współczynnikach. Jednostka sterująca 30 dostarcza sygnał F wskazujący czy multiplekser 6 ma wprowadzić sygnał LPC do bieżącej ramki. Zaobserwowano, że możliwe jest, by liczba parametrów analizy przenoszonych przez każdą ramkę mogła zmieniać się.
PL 193 723 B1
Jednostka sterująca 30 dostarcza współczynniki predykcyjne «< do interpolatora 32 . Wartości «k są równe ostatnio wyznaczonym (skwantowanym) współczynnikom predykcyjnym, jeśli przesyłane są wspomniane współczynniki LPC dla bieżącej ramki. Jeśli współczynniki LPC dla bieżącej ramki nie są przesyłane, wartość jest wyznaczana poprzez interpolację wartości i a'k+1·
Interpolator 32 dostarcza liniowo interpolowane wartości a'k[m] z i «< dla każdej z podramek w bieżącej ramce. Wartości «yml są podawane do filtra ważącego 34, który wyznacza sygnał resztkowy rs[m] z bieżącej podramki m sygnału wejściowego 2. Zespół wyznaczający 36 znajduje wskaźnik kodu stałego, zysk kodu stałego, wskaźnik kodu adaptacyjnego i zysk kodu adaptacyjnego wsygnale wzbudzenia, które są najlepiej dostosowane do bieżącej ramki m sygnału resztkowego rs[m]. Z każdej podramki m, wskaźnik kodu stałego, zysk kodu stałego, wskaźnik kodu adaptacyjnego i zysk kodu adaptacyjnego parametrów wzbudzenia są dostępne na wyjściu EX kodera mowy 4.
Przykład kodera mowy z fig. 2 jest szerokopasmowym koderem mowy do kodowania sygnałów mowy o szerokości pasma 7 kHz z prędkością przesyłania bitów wahającą się od 13,6 kbit/s do 24 kbit/s. Koder mowy może być ustawiany dla czterech tak zwanych bazowych prędkości przesyłania bitów (anchor bitrates). Te bazowe prędkości przesyłania bitów są wartościami początkowymi, od których prędkości przesyłania bitów mogą być zmniejszane poprzez redukcję ilości ramek, które przenoszą parametry predykcyjne. W poniższej tabeli zostały przedstawione cztery bazowe prędkości przesyłania bitów i odpowiednie wartości czasu trwania ramki, liczba próbek w ramce i liczbapodramek wramce.
Prędkość przesyłania bitów (kbit/s) Rozmiar ramki (ms) Liczba próbek w ramce Liczba podramek w ramce
15.8 15 240 6
18.2 10 160 4
20.1 15 240 8
24.0 15 240 10
Poprzez zmniejszanie liczby ramek, w których obecne są współczynniki LPC, prędkość przesyłania bitów może być kontrolowana w małych skokach. Jeśli stosunek ilości ramek zawierających współczynniki LPC do wszystkich ramek waha się od 0,5 do 1, a liczba bitów wymaganych do transmisji współczynników LPC dla jednej ramki wynosi 66, można obliczyć maksymalną możliwą redukcję prędkości przesyłania bitów. Przy ramce o rozmiarze 10 ms, prędkość przesyłania bitów dla współczynników LPC może wahać się od 3,3 kbit/s do 6,6 kbit/s. Przy ramce o rozmiarze 15 ms, prędkość przesyłania bitów może wahać się od 2,2 kbit/s do 4,4 kbit/s. W poniższej tabeli przedstawione są maksymalne redukcje prędkości przesyłania bitów i minimalne prędkości przesyłania bitów dla czterech bazowych prędkości przesyłania bitów.
Bazowa prędkość przesyłania bitów Maksymalna redukcja prędkości przesyłania bitów (kbit/s) Minimalna prędkość przesyłania bitów (kbit/s)
15.8 2.2 13.6
18.2 3.3 14.9
20.1 2.2 17.9
24.0 2.2 21.8
W zespole sterującym 30 z fig. 3, pierwsze wejście, zawierające sygnał ak+1 , jest połączone z wejściem elementu opóźniającego 60 i wejściem konwertera 64. Wyjście elementu opóźniającego 60, zawierające sygnał ak , jest połączone z wejściem elementu opóźniającego 62 i wejściem konwertera
70. Wyjście konwertera 64, zawierające sygnał wyjściowy ik+i, jest połączone z pierwszym wejściem interpolatora 68. Wyjście konwertera 66, zawierające sygnał wyjściowy ί^, jest połączone z drugim wejściem interpolatora 68. Wyjście interpolatora 68, zawierające sygnał wyjściowy ik , jest połączone z pierwszym wejściem kalkulatora odległości 72 i drugim wejściem selektora 80.
PL 193 723 B1
Sygnał wejściowy R zespołu sterującego 30 jest połączony z wejściem zespołu liczącego 74. Zespół liczący 74 jest połączony z jednostką sterującą 76. Sygnał na pierwszym wyjściu zespołu liczącego 74 reprezentuje część r ramek, które przenoszą parametry LPC. W rezultacie, ten sygnał reprezentuje ustawienie prędkości przesyłania bitów.
Drugie i trzecie wyjście zespołu liczącego zawiera sygnały reprezentujące bazowe prędkości przesyłania bitów, które są ustawiane zależnie od sygnału R. Wyjście z jednostki sterującej 76, zawierające sygnał progowy t, jest połączone z komparatorem 78. Wyjście z kalkulatora odległości 72 jest podawane na drugie wejście komparatora 78. Wyjście z komparatora jest połączone z wejściem sterującym selektora 80, z wejściem jednostki sterującej 76 i z wyjściem zespołu sterującego 30.
W zespole sterującym z fig. 3, elementy opóźniające 60 i 62 dostarczają opóźnione zestawy współczynników odbicia &k i ak-1 z zestawu współczynników odbicia ak+1 . Konwertery 64, 70 i 66 obliczają współczynniki ik oraz ik-1, które są lepiej dostosowane do interpolacji niż współczynniki ak+1 , ak i ak-1 . Interpolator 68 wylicza interpolowaną wartość ik z wartości ik+1 oraz ik-1 .
Kalkulator odległości 72 wyznacza wielkość odległości d pomiędzy zestawem parametrów predykcyjnych ik oraz zestawem parametrów predykcyjnych ik interpolowanych z ik+1 oraz ik-1. Dogodna miara odległości d jest określona wzorem:
d= 1 2π — j (10logHlw)- 10logHlw))2doi
-i1/2 (1)
We wzorze (1) Η(ω) jest widmem opisanym przez współczynniki ik, a H (ω) jest widmem opisanym przez współczynniki iik . Miara odległości d jest powszechnie stosowana, choć doświadczenia pokazały, że łatwiejsza do wyliczenia miara L1 daje porównywalne wyniki. Miara L1 może być określona następującym wzorem:
1P d = - Σ ik[n]-ik[n] (2) Pn-1
We wzorze (2) P jest liczbą współczynników predykcyjnych wyznaczonych przez zespół analizujący 22. Miara odległości d jest porównywana w komparatorze 78 z wartością progową t. Jeśli odległość d jest większa niż próg t, wówczas sygnał wyjściowy c z komparatora 78 wskazuje, że mają być przesłane współczynniki LPC bieżącej ramki. Jeśli odległość d jest mniejsza niż próg t, sygnał wyjściowy c z komparatora 78 wskazuje, że współczynniki LPC bieżącej ramki nie mają być przesyłane. Poprzez obliczenie w założonym przedziale czasu (na przykład dla k ramek, gdzie k typowo wynosi 100) liczby przypadków, gdy sygnał c wskazuje przesyłanie parametrów LPC, uzyskiwana jest rzeczywista wielkość a części ramek zawierających parametry LPC. Na podstawie parametrów odpowiadających wybranej bazowej prędkości przesyłania bitów, wielkość a jest również wyliczana dla rzeczywistej prędkości przesyłania bitów.
Zespół sterujący 30 jest tak zaprojektowany, by wykonywał porównanie wielkości rzeczywistej prędkości przesyłania bitów z wielkością ustawienia prędkości przesyłania bitów, oraz by w razie konieczności odpowiednio regulował rzeczywistą prędkość przesyłania bitów. Zespół liczący 74 wyznacza na podstawie sygnału R bazową prędkość przesyłania bitów i część r. W przypadku, gdy pewna wielkość prędkości przesyłania bitów sygnału R może być uzyskana wychodząc z dwóch różnych bazowych prędkości przesyłania bitów, wybiera się bazową prędkość przesyłania bitów dla której uzyskuje się najlepszą jakość mowy. Korzystne jest przechowywanie wartości bazowej prędkości przesyłania bitów jako funkcji tablicowanych wielkości sygnału R. Gdy wybrano pewną wielkość bazowej prędkości przesyłania bitów, możliwe jest wyznaczenie ilości ramek zawierających współczynniki LPC.
Najpierw, wartości BMAX i BMIN, reprezentujące maksymalną wartość i minimalną wartość liczby bitów w ramce, są wyznaczane zgodnie z równaniami:
BMAX = bHEADER + bEXCITATION + bLPC (4) BMIN= bHEADER + bEXCITATION (5)
PL 193 723 B1
W równaniach (4) i (5) bHEADER oznacza liczbę bitów nagłówka w ramce, bEXCITATION jest liczbą bitów reprezentujących sygnał wzbudzenia, a bLPC jest liczbą bitów reprezentujących współczynniki analizy. Jeśli sygnał i reprezentuje wymaganą prędkość przesyłania bitów BREQ, można określić wzór dla stosunku r ilości ramek przenoszących parametry LPC do wszystkich ramek:
r= BREQ - BMIN BMAX -BMIN (6)
Należy zauważyć, że w niniejszym przykładzie realizacji wynalazku wartość r wynosi 0,5. Jednostka sterująca 76 wyznacza różnicę pomiędzy częścią r i rzeczywistą częścią a ramek, które zawierających parametry LPC. W celu regulacji prędkości przesyłania bitów zgodnie z różnicą pomiędzy ustawieniem prędkości przesyłania bitów i rzeczywistą prędkością przesyłania bitów, wartość progowa t jest zwiększana lub zmniejszana. Jeśli wartości progowa t jest zwiększana, miara różnicy d przekroczy wspomniany próg dla mniejszej ilości ramek, a rzeczywista prędkość przesyłania bitów zostanie zmniejszona. Jeśli natomiast wartość progowa t jest zmniejszana, miara różnicy d przekroczy wspomniany próg dla większej liczby ramek, a rzeczywista prędkość przesyłania bitów zostanie zwiększona. Korekcja wartości progowej t zależnie wielkości r ustawienia prędkości przesyłania bitów i wielkości b rzeczywistej prędkości przesyłania bitów jest wykonywana przez jednostkę sterującą 76 zgodnie ze wzorem:
t =i t' + c1 · Ϊ r-b Ϊ jeśli b > r t' - c1 · Ϊ r-b Ϊ jeśli b < r (3)
W równaniu (3) t' jest oryginalną wartości progową, a c1 i c2 są wartościami stałymi.
Figura 4 przedstawia w wykresie 100 sekwencję ramek 1 . . . 8 zawierających próbki sygnału mowy. Wykres 101 przed stawia ramki ze współczynnikami odpowiadającymi ramkom sygnałów mowy z wykresu 100. Dla każdej z ramek 1 . . . 8 próbek sygnału mowy wyznaczane są współczynniki LPC, L i współczynniki wzbudzania EX.
Wykres 102 przedstawia ramki danych tak jak są one wysyłane przez system transmisyjny według stanu techniki. Zakłada się, że średnio połowę ramek danych stanowią kompletne ramki danych zawierające współczynniki LPC i współczynniki wzbudzenia odpowiadające tym ramkom próbek sygnału mowy. Na wykresie 102, ramki danych 1, 3, 5 i 7 są kompletnymi ramkami danych. Pozostałe (niekompletne) ramki danych to 0, 2, 4 i 6 przenoszą jedynie współczynniki wzbudzania odpowiadające tym ramkom próbek mowy. Zgodnie z wykresem 101 i 102, obecne jest opóźnienie pomiędzy ramkami danych w celu umożliwiania podejmowania decyzji, czy wysyłana ramka danych ma być kompletna czy niekompletną ramką danych. Dla podjęcie tej decyzji muszą być dostępne współczynniki LPC następnej ramki próbek sygnału mowy.
Nagłówek Hi może zawierać sygnały synchronizacji, oraz zawiera pierwszy i drugi znacznik, jak już wspomniano.
Na wykresie 103 pokazana jest sekwencja ramek próbek sygnału mowy dekodowana z ramek danych z wykresu 102. Można zauważyć, że obecne jest opóźnienie o ponad trzy okresy czasu trwania ramki pomiędzy wysyłanymi i odbieranymi ramkami próbek sygnału mowy. W odbiorniku opóźnienie takie powstaje, ponieważ ramka próbek mowy odpowiadająca niekompletnej ramce danych nie może być zrekonstruowana zanim nie zostanie odebrana następna ramka ze współczynnikami LPC. Na wykresie 103, ramka 0 próbek sygnału mowy nie może być rekonstruowana zanim parametry LPC - L1 odpowiadające ramce 1 nie zostaną odebrane. To samo ma miejsce w przypadku ramek mowy 2 i 4.
W systemie transmisyjnym według niniejszego wynalazku, ramki danych są wysyłane jak to pokazano na wykresie 104. W tym przypadku niekompletne ramki 0, 2 i 4 zawierają współczynniki LPC z następnej kompletnej ramki, odpowiednio 1, 3, 5. Wcześniejsze wysyłanie współczynników LPC następnej kompletnej ramki umożliwia wcześniejsze o jeden okres trwania ramki wykonywanie interpolacji dla uzyskania współczynników LPC niekompletnej ramki. Na wykresie 104, rekonstrukcja ramki mowy 0 może się rozpoczynać jak tylko ramka danych odpowiadająca ramce 0 (zawierająca parametry LPC ramki mowy 1) zostanie odebrana. Jak to widać na wykresie 105, w efekcie uzyskuje się znaczne zmniejszenie opóźnienia ramek próbek sygnału mowy.
PL 193 723 B1
Na wykresie z figury 5 numerowane instrukcje mają takie znaczenia, jak to pokazano w poniższej tabeli:
Numer Etykieta Znaczenie
110 START Program jest rozpoczynany i inicjowane są wszystkie używane zmienne
112 WRITE F [K] Znacznik F[K] jest wpisywany do nagłówka bieżącej ramki danych
114 F[K]=1 ? Wartość znacznika F[K] jest porównywana z „1”
115* WRITE L[K]=1 Znacznik L[K] jest ustawiany na wartość 1 i jest zapisywany w bieżącej ramce danych
116 F[K-1]=1 ? Wartość znacznika F[K-1] jest porównywana z „1”
117* WRITE L[K]=1 Znacznik L[K] jest ustawiany na wartość 1 i jest zapisywany w bieżącej ramce danych
118 WRITE LPC[K+1] Współczynniki LPC odpowiadające następnej ramce mowy są zapisywane w bieżącej ramce danych
119* WRITE L[K]=0 Znacznik L[K] jest ustawiany na wartość 0 i jest zapisywany w bieżącej ramce danych
120 WRITE LPC[K] Współczynniki LPC odpowiadające bieżącej ramce danych są zapisywane w bieżącej ramce danych
122 WRITE EX[K] Współczynniki wzbudzania są zapisywane w bieżącej ramce danych
124 STORE F[K] Wartość znacznika F[K] jest zachowywana
126 STOP Zakończenie programu
Program zgodny z siecią działań przedstawioną na fig. 5 jest wykonywany raz na okres ramki, ajego zadaniem jest zestawianie ramek danych z sygnałów wyjściowych z kodera mowy 4. Jak to można zauważyć, program zaczyna od zestawienia K-tej ramki danych, jeśli dostępne już są współczynniki LPC K+1 ramki próbek mowy. Zakłada się, że jedynie znacznik F wskazuje, czy ramka jest kompletną ramką. Jeśli stosuje się również znacznik L do wskazywania, czy bieżąca ramka zawiera współczynniki LPC, należy dodać instrukcje 115, 117 i 119 oznaczone znakiem
W instrukcji 110 program jest rozpoczynany i wówczas wszystkie stosowane zmienne są inicjowane, jeśli jest to wymagane. W instrukcji 112 znacznik F[K] o wartości takiej, jaka została pobrana z kodera mowy 6, jest zapisywany w nagłówku bieżącej ramki.
W instrukcji 114 wartość znacznika F[K] jest porównywana z 1. W przypadku gdy F[K] równa się 1, bieżąca ramka danych jest niekompletną ramka danych. Wówczas, w instrukcji 18 parametry LPC, odpowiednio LPC[K+1], następnej ramki próbek sygnału mowy są zapisywane w bieżącej ramce danych. Gdy znacznik L ma być dołączony, w instrukcji 115 znacznik L jest ustawiany na wartość 1 i zapisywany w nagłówku bieżącej ramki danych, w celu wskazania obecności współczynników LPC w bieżącej ramce danych. Następnie program jest kontynuowany w instrukcji 122.
Jeśli F[K] równa się 0, bieżąca ramka danych jest kompletną ramką danych. W instrukcji 116 wartość sygnału F[K-1] jest porównywana z 1. Wartość sygnału F[K-1] wskazuje, że poprzednia ramka danych była niekompletną ramką danych. W tym przypadku, współczynniki LPC bieżącej kompletnej ramki danych zostały przesłane we wspomnianej poprzedniej (niekompletnej) ramce danych. W rezultacie, nie nastąpi wysłanie żadnych współczynników LPC w bieżącej ramce danych. Jeśli znacznik L ma być dołączony, w instrukcji 119 jest on ustawiany na wartość 0 i zapisywany do nagłówka bieżącej ramki danych w celu wskazania braku obecności współczynników LPC w bieżącej ramce danych. Następnie program przechodzi do instrukcji 122.
Jeśli wartość sygnału F[K-1] równa się 0, współczynniki LPC bieżącej (niekompletnej) ramki danych nie zostały jeszcze wysłane oraz są zapisywane w bieżącej ramce danych w instrukcji 120. Jeśli znacznik L ma być dołączony, w instrukcji 117 jest on ustawiany na wartość 1 i zapisywany w nagłówku bieżącej ramki danych, w celu wskazania obecności współczynników LPC w bieżącej ramce danych.
PL 193 723 B1
W instrukcji 122 współczynniki wzbudzania EX[K] są zapisywane w bieżącej ramce danych. W instrukcji 124 wartość znacznika F[K] jest zachowywana do użycia jako F[K-1], gdy program zostanie ponownie wykonany. Instrukcja 126 kończy działanie programu.
Sieć działań z fig. 6 zawiera ponumerowane instrukcje, których znacznie wyjaśnia poniższa tabela.
Numer Etykieta Znaczenie
130 START Program jest rozpoczynany i inicjowane są wszystkie używane zmienne
132 READ F [K] Znacznik F[K] jest odczytywany z bieżącej ramki danych
134 F[K]=1 ? Wartość znacznika F[K] jest porównywana z „1”
136 F[K-1]=1 ? Wartość znacznika F[K-1] jest porównywana z „1”
138 LOAD LPC[K] Zestaw współczynników LPC dla bieżącej ramki jest odczytywany z pamięci
140 READ LPC[K] Zestaw współczynników LPC dla bieżącej ramki jest odczytywany z bieżącej ramki danych
142 STORE LPC[K] Zestaw współczynników LPC odczytanych z ramki danych jest wpisywany do pamięci
144 READ LPC[K+1] Zestaw współczynników LPC następnej ramki jest odczytywany z bieżącej ramki danych
146 CALC LPC[K] Wartości współczynników LPC dla bieżącej ramki są wyliczane
148 STORE LPC[K+1] Wartości współczynników LPC dla następnej ramki są wpisywane do pamięci
150 READ EX[K] Sygnał wzbudzenia bieżącej ramki jest odczytywany z bieżącej ramki danych
152 STORE F[K] Znacznik F[K] jest zapisywany w pamięci
154 STOP Zakończenie programu
Program zgodny z siecią działań z fig. 6 ma za zadanie implementację działania demultipleksera w przypadku, gdy stosuje się tylko znacznik F. Później zostaną opisane niezbędne modyfikacje dla przypadku, w którym wykorzystuje się również znacznik L.
W instrukcji 130 program jest rozpoczynany. W instrukcji 132 wartość znacznika F[K] jest odczytywana z bieżącej ramki danych. W instrukcji 134, wartość znacznika F[K] jest porównywana z 1.
Jeśli znacznik F[K] ma wartość 0, co oznacza, że bieżąca ramka jest kompletną ramką danych, w instrukcji 136 wartość F[K-1] są porównywana z 1. Jeśli F[K-1] równa się 1, poprzednia ramka danych była niekompletną ramką danych przenoszącą współczynniki LPC dla bieżącej ramki danych. Te współczynniki były zachowane w pamięci przy poprzednim wykonaniu programu. Następnie w instrukcji 138 współczynniki LPC[K] są odczytywane z pamięci i przesyłane do zespołu dekodowania mowy 18. Po wykonaniu instrukcji 138 program jest kontynuowany w instrukcji 150.
Jeśli znacznik F[K-1] jest równy 0, poprzednia ramka danych była kompletną ramką danych, a współczynniki LPC bieżącej ramki danych są przesyłane w bieżącej ramce danych. W rezultacie, w instrukcji 140 współczynniki LPC[K] są odczytywane z bieżącej ramki danych. W instrukcji 140 współczynniki LPC[K] otrzymane w instrukcji 140 są zapisywane w pamięci do użytku przez program przy jego następnym uruchomieniu dla kolejnej ramki danych. Następnie współczynniki LPC[K] są przesyłane do zespołu dekodowania mowy 18. Program kontynuuje swe działanie w instrukcji 150.
Jeśli w instrukcji 134 wartość znacznika F[K] jest równa 1, wówczas bieżąca ramka danych jest niekompletną, ramką danych, która zawiera współczynniki LPC[K+1] odpowiadające następnej ramce danych. W instrukcji 146 współczynniki LPC[K] są wyliczane ze współczynników LPC[K-1] i LPC[K+1] zgodnie ze wzorem:
LPC[K]i= LPC[K - 1]'+2 LPC[K + 1]I; 0 < I £ P (4)
W równaniu (4) I jest parametrem iteracyjnym, a P jest liczbą przesyłanych współczynników predykcyjnych. W instrukcji 148 współczynniki LPC[K] obliczone w instrukcji 146 są zapisywane w pamięci do użytku w następnej ramce danych.
PL 193 723 B1
W instrukcji 150 współczynniki EX[K] są odczytywane z bieżącej ramki danych i przesyłane do zespołu dekodowania mowy 18. W instrukcji 152 znacznik F[K] jest zapisywany w pamięci do użytku z następna ramką danych. W instrukcji 154 program jest kończony.
Na figurze 7 przedstawiono modyfikację instrukcji 136 w programie z fig. 6, tak by wykorzystywać znacznik L. Korzyść ze stosowania znacznika L[K] oprócz znacznika F[K] polega na tym, że możliwe jest ponowne rozpoczęcie dekodowania ramek danych po tym, jak jedna lub więcej ramki były błędne z powodu błędów transmisji, lub gdy zostały całkowicie stracone, ponieważ w tym przypadku nie są wymagane żadne wartości znaczników z poprzednich ramek, jak to miało miejsce przy stosowaniu jedynie znacznika F. Numerowane instrukcje z fig. 1 mają znaczenie opisane w poniższej tabeli
Numer Etykieta Znaczenie
131 READ L [K] Znacznik L[K] jest odczytywany z bieżącej ramki danych
133 L[K]=1 ? Znacznik L[K] jest porównywany z wartością 1
W instrukcji 131 wartość L[K] jest odczytywana z bieżącej ramki danych, a w instrukcji 133 wartość L[K] jest porównywana z 1. Jeśli wartość L[K] wynosi 1, oznacza to, że bieżące ramki danych zawierają współczynniki LPC. Program jest kontynuowany w instrukcji 140, gdzie następuje odczyt współczynników LPC z ramki danych. Jeśli wartość L[K] jest równa 0, oznacza to, że bieżące ramki danych nie przenoszą żadnych współczynników LPC. W tym przypadku program jest kontynuowany w instrukcji 138, kiedy to następuje odczyt poprzednio zapisanych współczynników LPC z pamięci.
W zespole dekodującym 18 z fig. 8, wejście zawierające sygnał LPC jest połączone z wejściem interpolatora podramek 87. Wyjście interpolatora podramek 87 jest połączone z wejściem filtra syntetyzującego 88.
Wejście zespołu do dekodowania mowy 18, zawierające sygnał EX, jest połączone z wejściem demultipleksera 89. Pierwsze wyjście demultipleksera 89, zawierające sygnał FI reprezentujący wskaźnik kodu stałego, jest połączone z wejściem układu kodu stałego 90. Wyjście układu kodu stałego 90 jest połączone z pierwszym wejściem mnożarki 92. Drugie wyjście demultipleksera, zawierające sygnał FCBG (zysk kodu stałego) jest połączone z wejściem mnożarki 92 .
Trzecie wyjście demultipleksera 89, zawierające sygnał A| reprezentujący wskaźnik kodu adaptacyjnego, jest połączone z wejściem układu kodu adaptacyjnego 91. Wyjście układu kodu adaptacyjnego 91 jest połączone z pierwszym wejściem mnożarki 93. Drugie wyjście demultipleksera, zawierające sygnał ACBG (zysk kodu adaptacyjnego), jest połączone z drugim wejściem mnożarki 93. Wyjście mnożarki 92 jest połączone z pierwszym wejściem sumatora 94, a wyjście mnożarki 93 jest połączone z drugim wejściem sumatora 94. Wyjście sumatora 94 jest połączone z wejściem układu kodu adaptacyjnego oraz z wejściem filtra syntetyzującego 88.
W zespole do dekodowania mowy 18 według fig. 8, interpolator podramek 87 dostarcza interpolowane współczynniki predykcyjne dla każdej podramki oraz przesyła te współczynniki predykcyjne do filtra syntetyzującego 88 .
Sygnał wzbudzenia dla filtra syntetyzującego jest równy ważonej sumie sygnałów wyjściowych z układu kodu stałego 0 i układu kodu adaptacyjnego 91. Wspomniane ważenie jest wykonywane przez mnożarki 92 i 93. Wskaźniki kodu F| i A| są wydobywane z sygnału EX przez demultiplekser 89. Współczynniki ważenia FCBG i ACBG są również wydobywane z sygnału EX przez demultiplekser 89. Sygnał wyjściowy sumatora 94 jest przesuwany w kodzie adaptacyjnym w celu zapewnienia adaptacji.

Claims (5)

1. Sposób kodowania sygnału mowy, w którym z ciągu uporządkowanych czasowo ramek próbek sygnału mowy wyznacza się ramki danych ze współczynnikami reprezentującymi ramki próbek sygnału mowy, przy czym wyznacza się z pierwszej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy niekompletny zestaw współczynników reprezentujących pierwszą ramkę próbek sygnału mowy, i wyznacza się z drugiej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy kompletny zestaw współczynników reprezentujących drugą ramkę próbek sygnału mowy, która to druga ramka w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, znamienny tym, że wyznacza się (etap 114, 118, 122) niekompletmą ramkę danych za12
PL 193 723 B1 wierającą niekompletny zestaw współczynników (EXO) i przynajmniej jeden współczynnik (L1) kompletnego zestawu współczynników (L1, EX1) oraz wyznacza się (etap 114, 116, 122) kompletną ramkę danych zawierającą kompletny zestaw współczynników (L1, EX1) oprócz wspomnianego przynajmniej jednego współczynnika (L1).
2. Sposób według zastrz. 1, znamienny tym, że wprowadza się (etap 112) do ramek danych pierwszy wskaźnik (F) wskazujący czy ramka danych jest niekompletną ramką danych oraz drugi wskaźnik (L) wskazujący czy ramka danych przenosi przynajmniej jeden dodatkowy współczynnik (L1).
3. Urządzenie do kodowania sygnału mowy, dla wyznaczania z ciągu uporządkowanych czasowo ramek próbek sygnału mowy, ramek danych ze współczynnikami reprezentującymi te ramki próbek sygnału mowy, które to urządzenie jest zaopatrzone w środki do wyznaczania z pierwszej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy, niekompletnego zestawu współczynników reprezentujących pierwszą ramkę próbek sygnału mowy oraz środki do wyznaczania z drugiej ramki ciągu uporządkowanych czasowo ramek próbek sygnału mowy, kompletnego zestawu współczynników reprezentujących tę drugą ramkę próbek sygnału mowy, która to druga ramka w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, znamienne tym, że jest zaopatrzone w środki (6) do wyznaczania niekompletnej ramki danych zawierającej niekompletny zestaw współczynników (EXO) i przynajmniej jeden współczynnik (L1) z kompletnego zestawu współczynników (L1, EX1) oraz w środki (S) do wyznaczania kompletnej ramki danych zawierającej kompletny zestaw współczynników (L1, EX1) oprócz wspomnianego przynajmniej jednego współczynnika (L1).
4. Sposób dekodowania sygnału mowy, do dekodowania sygnału zawierającego kompletne i niekompletne ramki danych reprezentujące ciąg uporządkowanych czasowo ramek próbek sygnału mowy, a niekompletna ramka danych zawiera niekompletny zestaw współczynników reprezentujących pierwszą ramkę próbek sygnału mowy, z której wyznaczony został niekompletny zestaw i przynajmniej jeden współczynnik reprezentujący drugą ramkę próbek sygnału mowy, przy czym druga ramka próbek sygnału mowy w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, a kompletna ramka danych ze wspomnianych kompletnych ramek danych zawiera kompletny zestaw współczynników reprezentujących drugą ramkę próbek sygnału mowy oprócz przynajmniej jednego współczynnika, znamienny tym, że uzupełnia się (etap 146) odebrany niekompletny zestaw współczynników interpolowanymi współczynnikami uzyskanymi z odebranych współczynników reprezentujących inne ramki próbek sygnału mowy niż pierwsza ramka, które to inne ramki otaczają pierwszą ramkę i obejmują drugą ramkę.
5. Urządzenie do dekodowania sygnału mowy, zawierającego kompletne i niekompletne ramki danych reprezentujące ciąg uporządkowanych czasowo ramek próbek sygnału mowy, a niekompletna ramka danych ze wspomnianych niekompletnych ramek danych zawiera niekompletny zestaw współczynników reprezentujących pierwszą ramkę próbek sygnału mowy, z której wyznaczony został niekompletny zestaw i przynajmniej jeden współczynnik reprezentujący drugą ramkę próbek sygnału mowy, przy czym druga ramka próbek sygnału mowy w ciągu uporządkowanych czasowo ramek jest względem pierwszej ramki, ramką późniejszą, a kompletna ramka danych ze wspomnianych kompletnych ramek danych zawiera kompletny zestaw współczynników reprezentujących drugą ramkę próbek sygnału mowy, oprócz wspomnianego przynajmniej jednego współczynnika, znamienne tym, że jest zaopatrzone w środki (16) do uzupełniania odebranego niekompletnego zestawu współczynników interpolowanymi współczynnikami uzyskanymi z odebranych współczynników reprezentujących inne ramki próbek sygnału mowy niż pierwsza ramka, które to inne ramki otaczają pierwszą ramkę i obejmują drugą ramkę.
PL98330399A 1997-04-07 1998-03-05 Sposób i urządzenie do kodowania sygnału mowy oraz sposób i urządzenie do dekodowania sygnału mowy PL193723B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97200999 1997-04-07
PCT/IB1998/000277 WO1998045951A1 (en) 1997-04-07 1998-03-05 Speech transmission system

Publications (2)

Publication Number Publication Date
PL330399A1 PL330399A1 (en) 1999-05-10
PL193723B1 true PL193723B1 (pl) 2007-03-30

Family

ID=8228172

Family Applications (1)

Application Number Title Priority Date Filing Date
PL98330399A PL193723B1 (pl) 1997-04-07 1998-03-05 Sposób i urządzenie do kodowania sygnału mowy oraz sposób i urządzenie do dekodowania sygnału mowy

Country Status (10)

Country Link
US (1) US6292774B1 (pl)
EP (1) EP0906664B1 (pl)
JP (1) JP4346689B2 (pl)
KR (1) KR100668247B1 (pl)
CN (2) CN1104093C (pl)
BR (1) BR9804809B1 (pl)
DE (1) DE69834993T2 (pl)
ES (1) ES2267176T3 (pl)
PL (1) PL193723B1 (pl)
WO (1) WO1998045951A1 (pl)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031926B2 (en) * 2000-10-23 2006-04-18 Nokia Corporation Spectral parameter substitution for the frame error concealment in a speech decoder
US7720677B2 (en) * 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
EP2036204B1 (en) * 2006-06-29 2012-08-15 LG Electronics Inc. Method and apparatus for an audio signal processing
KR101418248B1 (ko) 2007-04-12 2014-07-24 삼성전자주식회사 정현파 성분의 진폭 코딩 및 디코딩 방법과 그 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4379949A (en) * 1981-08-10 1983-04-12 Motorola, Inc. Method of and means for variable-rate coding of LPC parameters
US5012518A (en) * 1989-07-26 1991-04-30 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
US5351338A (en) * 1992-07-06 1994-09-27 Telefonaktiebolaget L M Ericsson Time variable spectral analysis based on interpolation for speech coding
US5504834A (en) * 1993-05-28 1996-04-02 Motrola, Inc. Pitch epoch synchronous linear predictive coding vocoder and method
US5479559A (en) * 1993-05-28 1995-12-26 Motorola, Inc. Excitation synchronous time encoding vocoder and method

Also Published As

Publication number Publication date
KR20040004372A (ko) 2004-01-13
JP2000511653A (ja) 2000-09-05
JP4346689B2 (ja) 2009-10-21
CN1104093C (zh) 2003-03-26
PL330399A1 (en) 1999-05-10
DE69834993D1 (de) 2006-08-03
EP0906664A1 (en) 1999-04-07
EP0906664B1 (en) 2006-06-21
BR9804809A (pt) 1999-08-17
CN1426049A (zh) 2003-06-25
CN1223034A (zh) 1999-07-14
BR9804809B1 (pt) 2011-05-31
DE69834993T2 (de) 2007-02-15
WO1998045951A1 (en) 1998-10-15
ES2267176T3 (es) 2007-03-01
KR100668247B1 (ko) 2007-01-16
US6292774B1 (en) 2001-09-18

Similar Documents

Publication Publication Date Title
US11211077B2 (en) Audio coding device, audio coding method, audio coding program, audio decoding device, audio decoding method, and audio decoding program
JPH07311597A (ja) 音声信号合成方法
US9123328B2 (en) Apparatus and method for audio frame loss recovery
JPH07311596A (ja) 線形予測係数信号生成方法
JP3459133B2 (ja) 復号器の動作方法
PL193825B1 (pl) Sposób i urządzenie do kodowania sygnału mowy
PL193723B1 (pl) Sposób i urządzenie do kodowania sygnału mowy oraz sposób i urządzenie do dekodowania sygnału mowy
KR100587721B1 (ko) 음성전송시스템
RU2792658C1 (ru) Устройство кодирования аудио, способ кодирования аудио, программа кодирования аудио, устройство декодирования аудио, способ декодирования аудио и программа декодирования аудио
RU2776261C1 (ru) Устройство кодирования аудио, способ кодирования аудио, программа кодирования аудио, устройство декодирования аудио, способ декодирования аудио и программа декодирования аудио
KR100563016B1 (ko) 가변비트레이트음성전송시스템
JPH1031499A (ja) 音声情報符号化・復号化装置および通信装置
KR19990014946A (ko) 복잡성이 감소된 신호 송신 시스템