PL172397B1 - Sposób formatowania danych zawierajacych parametry mowy PL PL PL - Google Patents

Sposób formatowania danych zawierajacych parametry mowy PL PL PL

Info

Publication number
PL172397B1
PL172397B1 PL93305984A PL30598493A PL172397B1 PL 172397 B1 PL172397 B1 PL 172397B1 PL 93305984 A PL93305984 A PL 93305984A PL 30598493 A PL30598493 A PL 30598493A PL 172397 B1 PL172397 B1 PL 172397B1
Authority
PL
Poland
Prior art keywords
data
speech
bits
packet
rate
Prior art date
Application number
PL93305984A
Other languages
English (en)
Other versions
PL305984A1 (en
Inventor
William R Gardner
Paul E Jacobs
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=25247288&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PL172397(B1) "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 PL305984A1 publication Critical patent/PL305984A1/xx
Publication of PL172397B1 publication Critical patent/PL172397B1/pl

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/0071Use of interleaving
    • 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/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
    • G10L19/07Line spectrum pair [LSP] vocoders
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • 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
    • H04B1/665Details 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 using psychoacoustic properties of the ear, e.g. masking effect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0086Unequal error protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Superheterodyne Receivers (AREA)
  • Detection And Correction Of Errors (AREA)
  • Communication Control (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

1. SPOSÓB FORMATOWANIA DANYCH ZA- WIERAJACYCH PARAMETRY MOWY W TRAKCIE ICH NADAWANIA W POSTACI PAKIETU DANYCH, W KTÓ- RYM GENERUJE SIE NA PODSTAWIE WEJSCIOWEJ RAMKI PRÓBEK MOWY DANE ZAWIERAJACE PARA- METRY MOWY, PRZY CZYM OKRESLONE DANE, WY- BRANE SPOSRÓD DANYCH ZAWIERAJACYCH PARA- METRY MOWY, MAJA WIEKSZA WZGLEDNA WAZ- NOSC NIZ INNE DANE ZAWIERAJACE PARAMETRY MOWY, ORAZ WPROWADZA SIE DO POCZATKOWEJ CZESCI PAKIETU DANYCH CZESC TYCH OKRE- SLONYCH DANYCH, ZNAMIENNY TYM, ZE DO PO- ZOSTALEJ CZESCI PAKIETU DANYCH, NASTEPUJACEJ PO JEGO POCZATKOWEJ CZESCI WPROWADZA SIE DANE, KTÓRE UZYSKUJE SIE Z PRZEPLATANIA POZO- STALEJ CZESCI OKRESLONYCH DANYCH Z INNYMI DANYMI, PRZEZ CO POCZATKOWA CZESC PAKIETU DANYCH ZAWIERA WYLACZNIE CZESC OKRESLONYCH DANYCH ZAS POZOSTALA CZESC PAKIETU DANYCH ZAWIERA WYLACZNIE DANE PRZEPLECIONE. FIG 4 PL PL PL

Description

Przedmiotem wynalazku jest sposób formatowania danych zawierających parametry mowy.
W dziedzinie łączności cyfrowej są stosowane różne sposoby formatowania danych cyfrowych. Bity danych są zwykle grupowane w pakiety danych przesyłanych w kanałach transmisyjnych. W przypadku danych wytwarzanych przez wokoder, dane są również grupowane dla przeprowadzenia transmisji.
Zwykle przy przygotowywaniu pakietu danych przesyłanych w kanale transmisyjnym można zastosować kod korekcji błędu przesyłania dla zabezpieczenia danych przed błędami powstającymi w kanale transmisyjnym. W przypadku, gdy błędy kanału pojawiają się w danych korekcji błędu, w wielu przypadkach błędy te można wykryć i skorygować. Chociaż znane techniki korekcji błędów zapewniają redukcję błędów kanału, takie techniki mogą nie zapewniać
172 397 dostatecznego poziomu wymaganego zabezpieczenia. W przypadku, gdy części pakietu danych mają znacznie większe znaczenie niż inne, jest pożądane zapewnienie innych postaci zabezpieczenia przed błędami kanału. Przykładem takiego rozwiązania jest przypadek, gdy pakiet danych zawiera dane wokodera, gdzie pewne parametry mają większe znaczenie przy odtwarzaniu z nich danych mowy. Przedstawione powyżej rozwiązania znane są z opisów patentowych USA nr 4 617 667, 4 903 301 i 4 922 537.
Istotą sposobu formatowania danych zawierających parametry mowy, według wynalazku, w trakcie ich nadawania w postaci pakietu danych, w którym generuje się na podstawie wejściowej ramki próbek mowy dane zawierające parametry mowy, przy czym określone dane, wybrane spośród danych zawierających parametry mowy, mają większą względną ważność niż inne dane zawierające parametry mowy, oraz wprowadza się do początkowej części pakietu danych część tych określonych danych, jest to, że do pozostałej części pakietu danych, następującej po jego początkowej części, wprowadza się dane, które uzyskuje się z przeplatania pozostałej części określonych danych z innymi danymi, przez co początkowa część pakietu danych zawiera wyłącznie część określonych danych zaś pozostała część pakietu danych zawiera wyłącznie dane przeplecione.
Korzystne jest, gdy zgodnie z wynalazkiem na podstawie określonych danych zawierających parametry mowy oblicza się kod korekcyjny błędów i przeplata się dane kodu korekcyjnego błędów wyłącznie z danymi przeplecionymi, przy czym inną część określonych danych tworzy się wyłącznie w pozostałej części pakietu danych.
Korzystne jest także, gdy do części określonych danych wprowadza się dane pierwszego parametru mowy zaś do innej części określonych danych wprowadza się dane pierwszego parametru mowy i dane drugiego parametru mowy, przy czym w trakcie tworzenia innej części określonych danych generuje się dane pierwszego parametru mowy, następujące bezpośrednio po częściach określonych danych w pakiecie danych, i generuje się dane drugiego parametru mowy następujące bezpośrednio po danych pierwszego parametru mowy w pakiecie danych.
Korzystne jest ponadto, gdy do innej części określonych danych wprowadza się dane drugiego parametru mowy i dane trzeciego parametru mowy zaś do innych danych wprowadza się dane trzeciego parametru mowy i dane czwartego parametru mowy, przy czym w trakcie tworzenia pozostałej części określonych danych, następującej po określonych częściach jednego z zespołu danych zawierających określone parametry mowy, znajdujących się w pakiecie danych, generuje się dane trzeciego parametru mowy bezpośrednio po zespole danych w pakiecie danych oraz generuje się dane czwartego parametru mowy bezpośrednio po danych trzeciego parametru mowy w pakiecie danych.
Dalsze korzyści wynalazku uzyskuje się, gdy w trakcie obliczania kodu korekcyjnego błędów oblicza się kod kontroli parzystości na podstawie niektórych z danych o częstotliwości spektralnej pary linii (LSP), danych tonu i danych książki kodowej, zaś w trakcie tworzenia danych w pakiecie danych i przeplatania kodu korekcyjnego błędów składa się w określonej sekwencji w części początkowej pakietu danych dane pierwszej części każdych danych o częstotliwości LSP, składa się w określonej sekwencji, innej niż w początkowej części pakietu danych, dane drugiej części wszystkich danych o częstotliwości LSP, przy czym sekwencja drugiej części danych o częstotliwości LSP następuje bezpośrednio po sekwencji pierwszej części danych o częstotliwości LSP w pakiecie danych, tworzy się następnie, inną niż początkowa część pakietu danych, sekwencję danych tonu i danych książki kodowej, po której następuje sekwencja drugiej części danych o częstotliwości LSP w pakiecie danych, oraz tworzy się kod kontroli parzystości w pakiecie danych inny niż w początkowej części pakietu danych.
Następnie kod kontroli parzystości przeplata się w pakiecie danych następującym po pierwszej części wszystkich danych o częstotliwości LSP oraz przeplata się w pakiecie danych części wszystkich danych książki kodowej w sekwencji drugich części wszystkich danych o częstotliwości LSP i w sekwencji danych tonu i danych książki kodowej, przy czym kody kontroli parzystości przeplata się w sekwencji danych tonu i danych książki kodowej po przeplecionych częściach danych książki kodowej.
Następnie, zgodnie z wynalazkiem przy jednej szybkości nadawania, w pierwszej grupie zespołów danych dotyczących tonu, wprowadza się cztery zespoły danych tonu, przy czym
172 397 każdy zespół danych dotyczących wysokości zawiera dane opóźnienia tonu i dane wzmocnienia tonu, w pierwszej grupie zespołów danych książki kodowej wprowadza się osiem zespołów danych książki kodowej, zaś każdy zespół danych książki kodowej zawiera indeks książki kodowej i dane wzmocnienia książki kodowej. Przy innej szybkości nadawania ramki danych zawierających parametry mowy, odbiera się drugie dane o częstotliwości spektralnej pary linii (LSP), odbiera się drugie dane tonu, odbiera się drugie dane książki kodowej, składa się w określonej sekwencji na początku pakietu danych wszystkie dane o częstotliwości LSP z drugich danych o częstotliwości LSP oraz składa się w określonej sekwencji drugie dane tonu i dane książki kodowej po sekwencji danych o częstotliwości LSP w pakiecie danych.
Zgodnie z wynalazkiem w trakcie tworzenia ramki danych o pełnej szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentujące odebrane próbki mowy, generuje się na podstawie danych zawierających parametry mowy uporządkowaną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP), generuje się, na podstawie danych zawierających parametry mowy, przeplecioną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP) i niektórych najbardziej znaczących bitów wzmocnienia książki kodowej (CBGAIN) oraz generuje się, na podstawie danych zawierających parametry mowy, przeplecioną sekwencję pozostałych bitów CBGAIN, bitów wzmocnienia tonu (PGAIN), bitów opóźnienia tonu (PLAG), bitów indeksu książki kodowej (CBINDEX) i bitów kontroli parzystości (PCB). Natomiast w trakcie tworzenia ramki danych o połówkowej szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentujące odebrane próbki mowy, generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP) oraz generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję bitów wzmocnienia książki kodowej (CBGAIN), bitów wzmocnienia tonu (PGAIN), bitów opóźnienia tonu (PLAG) i bitów indeksu książki kodowej (CBINDEX). Z kolei w trakcie tworzenia ramki danych o ćwiartkowej szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentując odebrane próbki mowy, generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP) oraz generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję bitów wzmocnienia książki kodowej (CBGAIN), bitów wzmocnienia tonu (PGAIN), bitów opóźnienia tonu (PLAG) i bitów indeksu książki kodowej (CBINDEX). Ponadto w trakcie tworzenia ramki danych o oktetowej (jedna ósma) szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentujące odebrane próbki mowy, generuje się, na podstawie danych zawieraj ących parametry mowy, przeplecioną sekwencję bitów zarodkowych (CB SEED) i bitów pary spektralnej linii (LSP) oraz generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję bitów wzmocnienia książki kodowej (CBGAIN).
Istotą odmiany sposobu formatowania danych zawierających parametry mowy, według wynalazku, w trakcie ich odbioru w postaci pakietu danych, w którym odebrane ramki danych zawierających zakodowane cyfrowo parametry mowy, posiadające różne prędkości nadawania, dekoduje się na odpowiadające ramki próbek mowy, przy czym dane parametrów mowy o najwyższej prędkości nadawania zawierają część danych każdego parametru mowy z danych jednego typu parametru mowy we wcześniej określonym porządku w początkowej części pakietu danych, następnie po początkowej części pakietu danych następuje pozostała część pakietu danych, w której jest wyłącznie inna część danych każdego parametru z jednego zestawu danych parametrów mowy we wcześniej określonym porządku, i po której następują wyłącznie w pozostałej części pakietu danych pozostałe zawierające parametry mowy dane ramki danych o zmiennej szybkości nadawania, zaś dane kontroli parzystości są wyłącznie w pozostałej części pakietu danych, przy czym dane parzystości oblicza się na podstawie danych zawierających parametry mowy zawarte w pakiecie danych, jest to, że odbiera się ramki danych zawierających parametry mowy posiadające największą szybkość nadawania, ponownie składa się dane obu części wszystkich danych jednego typu parametru mowy, dla utworzenia danych powtórnie złożonych, oblicza się dane parzystości z danych parametrów mowy w odebranej ramce danych parametrów mowy posiadającej największą szybkość nadawania, porównuje się obliczone dane
172 397 parzystości z danymi parzystości w ramce danych parametrów mowy posiadającej największą szybkość nadawania oraz tworzy się dane powtórnie złożone i pozostałe dane parametrów mowy dla odtworzenia próbek mowy, jeżeli obliczone dane parzystości są takie same, jak odebrane dane parzystości.
Korzystnie według wynalazku w trakcie formatowania ramki danych parametrów mowy posiadających mniejszą szybkość transmisji z danymi parametrów mowy w pakiecie danych we wcześniej określonym porządku odpowiadającym szybkości nadawania danych w ramce zawierającej dane o zmiennej szybkości nadawania, odbiera się wskazania szybkos'ci nadawania danych dla każdej odebranej ramki danych zawierających parametry mowy o zmiennej szybkości nadawania danych i tworzy się dane parametrów mowy we wcześniej określonym formacie zgodnie ze wskazaniem szybkości nadawania odebranej ramki danych o zmiennej szybkości nadawania danych, przy czym do ramki danych zawierających parametry mowy posiadających najwyższą szybkość transmisji wprowadza się następnie część każdych danych parametrów mowy innego typu parametru mowy przeplecionych z inną częścią danych parametrów mowy z danych jednego typu parametru mowy, oraz następnie powtórnie składa się każdą część danych parametrów mowy innego typu danych parametrów mowy z odpowiadającą pozostałą częŚcią wszystkich danych parametrów mowy tego innego typu.
Korzystne jest także, gdy następnie według wynalazku odbiera się wskazania odpowiadające pełnej szybkości nadawania danych dla odebranej ramki danych parametrów mowy posiadających największą szybkość nadawania, przy czym wskazanie odpowiadające pełnej prędkości nadawania odnosi się do co najmniej jednego błędu w co najmniej jednych danych parametrów mowy i danych parzystości, oblicza się dane parzystości z danych parametrów mowy w odebranej ramce danych zawierających parametry mowy, porównuje się obliczone dane parzystości z danymi parzystości w odebranej ramce danych zawierających dane parametrów mowy o największej szybkości nadawania, wykrywa się na podstawie porównania obliczonych danych parzystości z danymi parzystości w odebranej ramce danych o największej szybkości danych parametrów mowy błąd w co najmniej jednych z danych parametrów mowy i danych parzystości w odebranej ramce danych zawierających dane parametrów mowy o największej szybkości nadawania, koryguje się wykryty błąd, jeżeli występuje on w niektórych z danych parametrów mowy i danych parzystości w odebranej ramce danych parametrów mowy o największej szybkości nadawania, powtórnie składa się dane obu części wszystkich danych zawierających parametry mowy jednego zespołu danych parametrów mowy oraz wytwarza się sygnał wyjściowy z danych parametrów mowy, gdy wykryty błąd występuje w niektórych z danych parzystości, i ze skorygowanych danych parametrów mowy, gdy wykryty błąd pojawia się w niektórych z danych parametrów mowy.
Sposób formatowania danych zawierających parametry mowy przedstawiono w przykładzie realizacji w oparciu o rysunek, na którym fig. 1 przedstawia schemat blokowy układu wokodowania, fig. 2a - 2d przedstawiają wykresy rozkładu bitów parametrów wyjściowych wokodera dla różnych szybkości ramek danych wyjściowych, fig. 3a - 3e - wykresy uporządkowania pakietów danych przesyłanych pomiędzy wokoderem i mikroprocesorem, fig. 4 przedstawia schemat blokowy układu do asemblacji danych wokodera w pakiety dla przesyłania z wokodera do mikroprocesora i dla dezasemblacji pakietów odbieranych z mikroprocesora w wokoderze do postaci dla wykorzystania w wokoderze przy odtwarzaniu danych ramki mowy a fig. 5a - 5h przedstawiają wykresy uporządkowania danych pakietów przesyłanych dla różnych stanów transmisji i szybkości ramek wokodera.
W odniesieniu do rysunku, figura 1 przedstawia w postaci schematu blokowego przykładowe wykonanie układu wokodowania 10. Należy zdawać sobie sprawę, że figura 1 przedstawia tylko jedno wykonanie fizyczne, takie jak w stacji ruchomej. W przypadku wykonania w otoczeniu ruchomej centrali telefonicznej (MTSO) i komórkowej stacji podstawowej w systemie komórkowym, elementy z figury 1 mogą być rozdzielone fizycznie, ja to opisano poniżej.
W przypadku cyfrowej transmisji głosu, dźwięki takie jak mowa i/lub szum tłowy są próbkowane i przetwarzane cyfrowo dobrze znanymi technikami. W przykładzie na figurze 1 dźwięk jest przetwarzany przez mikrofon 12 w sygnał analogowy, który jest następnie przetwarzany w sygnał cyfrowy przez koder-dekoder 14. Koder-dekoder 14 realizuje zwykle proces
172 397 przetwarzania analogowo-cyfrowego przy użyciu standardowego formatu 8 bitów/plaw. W odmiennym wykonaniu sygnał analogowy może być przetwarzany bezpośrednio do postaci cyfrowej w jednorodnym formacie z modulacją kodowo-impulsową (PCM). W przykładowym wykonaniu koder-dekoder 14 wykorzystuje próbkowanie 8 kHz i dostarcza na wyjściu próbki 8-bitowe z szybkością próbkowania taką, żeby realizować szybkość danych 64 kbps.
Próbki 8-bitowe są wyprowadzane z kodera-dekodera 14 do wokodera 16, gdzie jest przeprowadzany proces przemiany kodu plaw/jednorodny. W wokoderze 16 próbki są organizowane w ramki danych wejściowych, gdzie każda ramka jest złożona z uprzednio określonej liczby próbek. W korzystnym wykonaniu wokodera 16 każda ramka jest złożona ze 160 próbek lub mowy przez 20 msek. z szybkością próbkowania 8 kHz. Należy rozumieć, że można użyć innych szybkości próbkowania i wymiarów ramek. Każda ramka próbek mowy jest kodowana przez wokoder 16 z wynikowymi danymi parametrów formatowanymi w odpowiedni pakiet danych zgodnie z niniejszym wynalazkiem, jak to tutaj opisano. Wokoder 16 ma korzystnie konfigurację wokodera o zmiennej szybkości, który koduje każdą ramkę próbek mowy z szybkością zależną od aktywności mowy i warunków roboczych systemu. Pakiety danych wokodera są następnie wyprowadzane do mikroprocesora 18 w celu formatowania transmisji. Mikroprocesor 18 dostarcza na wyjściu formatowane dane transmisji do nadajnika-odbiornika (nie pokazanego) dla modulacji i transmisji.
Na końcu odbioru formatowane pakiety danych transmisji są odbierane i demodulowane przez nadajnik-odbiornik a następnie dostarczane do mikroprocesora 18. W mikroprocesorze 18 formatowanie transmisji jest usuwane a pakiet wydzielonych danych dla każdej ramki mowy jest wyprowadzany do wokodera 16. Wokoder 16 odtwarza z każdego pakietu danych próbki odpowiedniej ramki mowy. Te odtworzone próbki ramki mowy są wyprowadzane do koderadekodera 14, gdzie są konwencjonalnie dekodowane i przetwarzane do postaci analogowej. Analogowe próbki mowy są następnie wyprowadzane do głośnika 20, gdzie są przetwarzane w sygnał akustyczny.
Korzystne wykonanie wokodera 16 wykorzystuje formę technik kodowania wymuszonego predyktóra liniowego kodu (CELP) tak, żeby zapewnić zmienną szybkość kodowanych danych mowy. Analiza kodera predyktora liniowego (LPC) jest dokonywana po stałej liczbie próbek a przeszukiwania skoku znaków i spisu kodów są realizowane przy zmieniającej się liczbie próbek w zależności od szybkości transmisji. Wokoder 16 można wykonać w układzie scalonym szczególnego zastosowania (ASIC) lub w procesorze sygnałów cyfrowych.
W wokoderze o zmiennej szybkości właśnie wzmiankowanym, ramki analizy mowy mają długość 20 msek., wykorzystując, że wydzielone parametry są wyprowadzane w pakiecie 50 razy na sekundę. Ponadto szybkość danych wyjściowych jest zmieniana od około 8 kbps do 4 kbps do 2 kbps i do 1 kbps.
Przy całkowitej szybkości, omawianej również jako szybkość 1, transmisja danych pomiędzy wokoderem i mikroprocesorem ma szybkość 8,55 kbps. W przypadku danych o całkowitej szybkości parametry są kodowane dla każdej ramki i reprezentowane przez 160 bitów. Ramka danych o całkowitej szybkości obejmuje również kontrolę parzystości 11 bitów, powodując przez to, że ramka o całkowitej szybkości jest złożona w całości z 171 bitów. W ramce danych o całkowitej szybkości szybkość transmisji pomiędzy wokoderem i mikroprocesorem przy braku bitów kontroli parzystości byłaby 8 kbps.
Przy połówkowej szybkości, omawianej również jako szybkość 1/2, transmisja danych pomiędzy wokoderem i mikroprocesorem ma szybkość 4 kbps, z parametrami kodowanymi dla każdej ramki przy użyciu 80 bitów. Przy ćwiartkowej szybkości, omawianej również jako szybkość 1/4, transmisja danych pomiędzy wokoderem i mikroprocesorem ma szybkość 2 kbps, z parametrami kodowanymi dla każdej ramki przy użyciu 40 bitów. Przy szybkości jednej ósmej, omawianej również jako szybkość 1/8, transmisja danych pomiędzy wokoderem i mikroprocesorem jest nieznacznie wolniejsza niż szybkość 1 kbps, z parametrami kodowanymi dla każdej ramki przy użyciu 16 bitów.
W systemie łączności, w którym jest wykorzystywany wokoder 16, może być również pożądane przesyłanie danych sygnalizacji lub innych niż wokodera. W przypadku, w którym wszystkie dane sygnalizacji lub inne niż wokodera mają być przesyłane zamiast danych woko172 397 dera, co jest omawiane jako ramka wygaszania, dane wokodera dla ramki nie muszą być przenoszone do mikroprocesora w celu transmisji.
W zależności od szybkości transmisji danych są dokonywane przeszukiwania w celu obliczenia parametrów filtru skoku znaków i wymuszenia spisu kodów wielokrotnie w różnych podramkach każdej ramki mowy. Przy wszystkich ramkach ma miejsce tylko jedno obliczanie LPC na ramkę mowy. Przy tylko jednej szybkości wybranej dla każdej ramki, przeszukiwania skoku znaków i spisu kodów są dokonywane w podramkach różnych wymiarów, odpowiadających wybranej szybkości, jak to opisano poniżej.
Przy całkowitej szybkości występują cztery podramki skoku znaków i dwie podramki spisu kodów dla każdej podramki skoku znaków. Przy całkowitej szybkości występują cztery aktualizacje skoku znaków, po jednej dla każdej z czterech podramek skoku znaków, każda o długości 40 próbek (5 msek.). Ponadto przy całkowitej szybkości ma miejsce osiem aktualizacji spisu kodów, po jednej dla każdej z ośmiu podramek spisu kodów, każda o długości 20 próbek (2,5 msek.).
Przy połówkowej szybkości występują dwie podramki skoku znaków i dwie podramki spisu kodów dla każdej podramki skoku znaków. Skok znaków jest aktualizowany dwukrotnie, jeden raz dla każdej z dwóch podramek skoku znaków, natomiast spis kodów jest aktualizowany czterokrotnie, jeden raz dla każdej z czterech podramek spisu kodów. Przy ćwiartkowej szybkości występuje jedna podramka skoku znaków i dwie podramki spisu kodów dla podramki pojedynczego skoku znaków. Skok znaków jest aktualizowany jeden raz dla podramki skoku znaków, natomiast spis kodów dwa razy, jeden raz dla każdej z dwóch podramek spisu kodów. Przy szybkości jednej ósmej skok znaków nie jest określony i spis kodów jest aktualizowany tylko raz w ramce mowy.
Chociaż współczynniki LPC są obliczane tylko raz na ramkę, są one interpolowane liniowo, w przedstawieniu liniowej pary spektralnej (LSP), aż do sześciu razy stosując wynikowe częstotliwości LSP z poprzedniej ramki w celu przybliżenia wyników analizy LPC do okna Hamminga centrowanego na każdej podramce. Wyjątkiem jest to, że przy całkowitej szybkości współczynniki LPC nie są interpolowane dla podramek spisu kodów.
W uzupełnieniu do realizacji przeszukiwań skoku znaków i spisu kodów, rzadszych przy mniejszych szybkościach, również mniej bitów jest przydzielanych do transmisji współczynników LPC. Liczba bitów przydzielonych przy różnych szybkościach jest pokazana na figurach 2a-2d. Każda z figur 2a-2d reprezentuje liczbę kodowanych bitów danych wokodera, przydzielonych każdej ramce 160 próbek mowy. Na figurach 2a-2d liczba w poszczególnym bloku LPC jest liczbą bitów stosowanych z odpowiednią szybkością do kodowania krótkotrwałych współczynników LPC. W korzystnym wykonaniu liczba bitów stosowanych do kodowania współczynników LPC przy szybkości całkowitej, połówkowej, ćwiartkowej i jednej ósmej wynosi odpowiednio 40, 20, 10 i 10.
W celu realizacji kodowania o zmiennej szybkości, współczynniki LPC są najpierw transformowane w pary widma liniowego (LPS) a wynikowe częstotliwości LSP są kodowane indywidualnie, stosując kodery DPCM z różnicową modulacją kodowo-impulsową. Porządek DPCM wynosi 10 tak, że występuje dziesięć częstotliwości LSP i 10 niezależnych koderów DPCM. Przykładowe przydzielenie bitów koderom DPCM przy szybkości całkowitej, połówkowej, ćwiartkowej i jednej ósmej wynosi odpowiednio 4, 2, 1i 1. W wokoderze częstotliwości LPS są przetwarzane z powrotem we współczynniki filtru LPC w celu użycia w przeszukiwaniach skoku znaków i listy kodów.
W odniesieniu do przeszukiwania skoku znaków, przy szybkości całkowitej, jak przedstawiono na figurze 2a, aktualizacja skoku znaków jest obliczana cztery razy, jeden raz dla każdej ćwiartki ramki mowy. W przypadku każdej aktualizacji skoku znaków, przy całkowitej szybkości, stosowanych jest 10 bitów do kodowania nowych parametrów skoku znaków. Aktualizacje skoku znaków są dokonywane zmienną ilość razy dla innych szybkości, jak pokazano na figurach 2b-2d. Wówczas gdy szybkość maleje, liczba aktualizacji skoku kodów również maleje. Figura 2b przedstawia aktualizacje skoku znaków dla szybkości połówkowej, które są obliczane dwa razy, jeden raz dla każdej połówki ramki mowy. Podobnie figura 2c przedstawia aktualizacje skoku znaków dla szybkości ćwiartkowej, która jest obliczana jeden raz dla każdej całkowitej ramki mowy. Tak jak to było dla szybkości całkowitej, stosowanych jest 10 bitów do kodowania
172 397 nowych parametrów skoku znaków dla każdej aktualizacji skoku znaków przy szybkości połówkowej i ćwiartkowej. Jednak dla szybkości jednej ósmej, jak przedstawiono na figurze 2d, żadna aktualizacja skoku znaków nie jest obliczana, jeżeli ta szybkość jest stosowana do kodowania ramek, gdy występuje mało lub brak mowy i nie istnieją redundancje.
W przypadku każdej aktualizacji skoku 10 bitów, 7 bitów reprezentuje opóźnienie skoku a 3 bity reprezentują wzmocnienie skoku. Opóźnienie skoku jest ograniczone do wartości pomiędzy 17 i 143. Wzmocnienie skoku jest kwantowane liniowo do wartości pomiędzy 0 i 2 dla reprezentacji przez wartość 3 bitów.
W odniesieniu do przeszukiwania spisu kodów, przy szybkości całkowitej jak przedstawiono na figurze 2a, aktualizacja spisu kodów jest obliczana osiem razy, jeden raz dla każdej ósemki ramki mowy. W przypadku każdej aktualizacji spisu kodów, przy szybkości całkowitej, stosowanych jest 10 bitów do kodowania nowych parametrów spisu kodów. Aktualizacje spisu kodów są dokonywane zmienną ilość razy przy innych szybkościach, jak pokazano na figurach 2b-2d. Jednak, gdy szybkość maleje, liczba aktualizacji spisu kodów także maleje. Figura 2b przedstawia aktualizacje spisu kodów dla szybkości połówkowej, która jest obliczana cztery razy, jeden raz dla każdej ćwiartki ramki mowy. Figura 2c przedstawia aktualizacje spisu kodów dla szybkości ćwiartkowej, która jest obliczana dwa razy, jeden raz dla każdej połówki ramki mowy. Tak jak to było dla szybkości całkowitej, stosowanych jest 10 bitów do kodowania nowych parametrów spisu kodów dla każdej aktualizacji skoku znaków przy szybkości połówkowej i ćwiartkowej. W końcu figura 2d przedstawia aktualizacje spisu kodów dla szybkości jednej ósmej, którajest obliczanajeden razdlakażdej całkowitej ramki mowy. Należy zaznaczyć, że przy szybkości jednej ósmej jest przesyłanych 6, 2 bity reprezentują wzmocnienie spisu kodów, natomiast inne 4 bity są bitami o dostępie swobodnym. Dalsze omówienie przydzielenia bitów aktualizacjom spisu kodów jest opisane poniżej bardziej szczegółowo.
Bity przydzielone aktualizacjom spisu kodów reprezentują bity danych potrzebne do kwantowania wektorowego pozostałości prognozowania skoku. W przypadku szybkości całkowitej, połówkowej i ćwiartkowej, każda aktualizacja spisu kodów jest złożona z 7 bitów indeksu spisu kodów plus 3 bity wzmocnienia spisu kodów dla całkowitej liczby 10 bitów. Wzmocnienie spisu kodów jest kodowane przy użyciu kodera (DPCM) różnicowej modulacji kodowo-impulsowej, pracującego w domenie dziennika. Chociaż dla szybkości jednej ósmej można użyć podobnego uporządkowania bitów, zalecany jest odmienny schemat. Przy szybkości jednej ósmej wzmocnienie spisu kodów jest reprezentowane przez 2 bity, natomiast 4 bity generowane losowo są stosowane wraz z odbieranymi danymi jako zasilanie generatora liczby pseudolosowej, który zastępuje spis kodów. Należy rozumieć, że w odmiennym spisie kodów dane mogą być wyprowadzane zamiast użycia metody generatora liczby pseudolosowej.
Tabela I jak następuje jest wykresem, który przedstawia różne parametry i przydzielenia bitów wytwarzane wówczas przez wokoder dla każdej ramki mowy a także stosowane przez wokoder przy odtwarzaniu próbek mowy dla ramki mowy.
Tabela I
1 Kod Szybkość
1 1/2 1/4 1/8
1 2 3 4 5
LSP1 4 2 1 1
LSP2 4 2 1 1
LSP3 4 2 1 1
LSP4 4 2 1 1
LSP5 4 2 1 1
LSP6 4 2 1 1
LSP7 4 2 1 1
LSP8 4 2 1 1
Kod Szybkość
1 1/2 1/4 1/8
1 2 3 4 5
CBINDEX1 7 7 7
CBINDEX2 7 7 7
CBINDEX3 7 7 -
CBINDEX4 7 7 - -
CBINDEX5 7 - -
CBINDEX6 7 - - -
CBINDEX7 7 - - -
CBINDEX8 7 - - -
172 397
1 2 3 4 5
LSP9 4 2 1 1
LSP10 4 2 1 1
PLAGI 7 7 7 -
PLAG2 7 7 - -
PLAG3 7 - - -
PLAG4 7 - - -
PGAIN1 3 3 3 -
PGAIN2 3 3 -
PGAIN3 3 - - -
PGAIN4 3 - - -
cd tabeli nr 1
1 2 3 4 5
CBGAIN1 3 3 3 2
CBGAIN2 3 3 3 -
CBGAIN3 3 3 - -
CBGAIN4 3 3 - -
CBGAIN5 3 - - -
CBGAIN6 3 - - -
CBGAIN7 3 - - -
CBGAIN8 3 - - -
CBSEED - - - 4
PCB 11 - - -
Tabela II opisuje każdy parametr jako odniesienie w tabeli I oraz także w tabelach III-VI:
Tabela II
LSP1 częstotliwość i pary widmowej liniowej
PLAG, opóźnienie skoku znaków dla i-tej podramki skoku znaków
PGAIN1 wzmocnienie skoku znaków dla i-tych podramek skoku znaków
CBINDEX1 indeks spisu kodów dla i-tej podramki spisu kodów
CBGAIN, wzmocnienie spisu kodów dla i-tej podramki spisu kodów
CBSEED zasilanie losowe dla pakietu danych o ósmej szybkości
PCB bity kontroli parzystości stosowane do detekcji i korekcji błędów w pakiecie danych o całkowitej szybkości
Jak omówiono to tutaj dalej, a w szczególności w odniesieniu do tabel III-VI, bit najmniej znaczący (LSB) określonego parametru jest omawiany jako PARAMETR(O), przy bitach bardziej znaczących odpowiednio PARAMETR(l), PARAMeTR(2) itd. Na przykład w ramce o całkowitej szybkości, gdzie LSP1 = 1011 w postaci binarnej, bit najbardziej znaczący LSPi(3) = 1, następny bit najbardziej znaczący LSP1(2) = 0, następny względem bitu najmniej znaczącego LSP1(1) = 1 i bit najmniej znaczący LSP1(0) = 1.
Wokoder 16 organizuje obliczane bity parametrów dla każdej ramki mowy w pakiety danych na wyjściu do mikroprocesora 18. W wykonaniu ruchomym stacji wszystkie elementy układu wokodowania 10 są umieszczone zwykle wewnątrz jednostki. Jednak w wykonaniu stacji podstawowej komórkowej/MTSO mikroprocesor 18 może być umieszczony w MTSO z wokoderem 16 lub umieszczony w komórkowej stacji podstawowej z właściwym interfejsem transmisyjnym.
Mikroprocesor 18 może odbierać pakiet danych wokodera w odpowiedzi na żądanie pakietu danych dostarczane z mikroprocesora 18 do wokodera 16 lub w wyniku działania wokodera 16. Należy rozumieć, że wiele różnych schematów dobrze znanych w stanie techniki może być użytych przy powodowaniu przenoszenia pakietu danych z mikroprocesora 18 do wokodera 16. Dane zostają upakowane w wokoderze 16 w celu przenoszenia do mikroprocesora 18 w unikalnym układzie, który daje korzyści względem konwencjonalnych formatów danych.
W przykładowym wykonaniu wokoder 16 komunikuje się z mikroprocesorem 18 przez 8-bitowy port równoległy, przy czym wokoder uruchamia jego port równoległy w trybie biernym. W przykładowym protokole komunikacyjnym pomiędzy mikroprocesorem 18 i wo12
172 397 koderem 16 przesyłanie danych jest zawsze początkowane przez mikroprocesor 18. W tym schemacie komunikacyjnym pakiety danych przesyłane do wokodera 16 przez mikroprocesor 18 są omawiane jako pakiety rozkazów, natomiast pakiety danych przesyłane z wokodera 16 do mikroprocesora 18 są omawiane jako pakiety odpowiedzi. Rozkazy są przesyłane w pakietach rozkazów z mikroprocesora 18 i są potwierdzane przez wokoder 16 w dwóch poziomach. Po pierwsze wokoder 16 wskazuje, czy pakiet z mikroprocesora 18 został otrzymany w dobrym kształcie. Jeżeli tak, wskazuje on, że rozumie rozkaz i przenosi żądaną funkcję przez kierowanie rozkazów z powrotem do mikroprocesora 18.
Pakiety danych są przesyłane pomiędzy mikroprocesorem 18 i wokoderem 16 zwykle w blokach 22-bajtowych, przy czym każdy bajt w bloku jest złożony z 8 bitów danych. Przesyłanie pakietu danych w bloku z wokodera 16 do mikroprocesora 18 w celu transmisji oraz z mikroprocesora 18 do wokodera 16 w celu dekodowania odbieranych danych transmisji jest takie samo. Figury 3a-3e przedstawiają budowę każdego pakietu danych ramki wokodowanej mowy dla każdej z szybkości całkowitej, połówkowej, ćwiartkowej, jednej ósmej oraz dla ramki wygaszania. Na figurach 3a-3e blok danych jest przedstawiony w postaci graficznej, przy czym bajt numer 1 jest przesyłany najpierw z bitami numer 7 i 0 w każdym bajcie, będącymi odpowiednio pierwszym i ostatnim bitem przesyłanym dla poszczególnego bajtu. Jeżeli w przykładowym wykonaniu jest stosowany stały blok przesyłowy, natomiast liczba bitów pakietu rzeczywistych danych zmienia się zależnie od szybkości pakietu danych, kilka bitów bajtu, aż do wszystkich bajtów, jest tworzonych z niepożądanych bitów. Figury 3a-3e przedstawiają ten fakt przez to, ze położenia bitów bajtu w bloku są zacienione dla bitów stosowanych i nie zacienione dla bitów nie stosowanych lub ignorowanych. Figura 3e dotyczy przypadku, w którym przy pewnych transmisjach mikroprocesor dostarcza dane inne niż wokodera, takie jak dane sygnalizacji lub inne stosowane dane dla ramki. Na końcu odbiorczym ramka wygaszania jest przekazywana do wokodera. W tej ramce wygaszania, w której nie występują żadne dane wokodera, dane powinny być przekazywane z mikroprocesora do wokodera, co jest ignorowane.
Figura 4 przedstawia w przykładowej postaci schematu blokowego odpowiedni układ do organizacji danych parametrów, odpowiadających każdej ramce mowy, w pakiety danych przesyłanych do mikroprocesora. Na figurze 4 wokoder 16 jest przedstawiony wraz z napędem 30 wokodera, który oblicza dane parametrów, jak to opisano w wyżej wzmiankowanym bieżącym zgłoszeniu. Napęd 30 wokodera oblicza również na podstawie odbieranych danych parametrów odpowiednią ramkę próbek mowy. Wokoder 16 zawiera ponadto bufor 32 ramki wyjściowej, układ logiczny 34 upakowania, bufor 36 pakietu wyjściowego, układ logiczny 38 bitów kontroli parzystości i układ logiczny 40 interfejsu mikroprocesora.
Napęd 30 wokodera oblicza parametry dla każdej ramki mowy i dostarcza ramkę wyjściową odpowiednich bitów danych parametrów do bufora 32 ramki wyjściowej, gdzie są one pamiętane chwilowo. Dane parametrów mogą być również dostarczane bezpośrednio do układu logicznego 38 bitów kontroli parzystości w celu obliczenia bitów kontroli parzystości dla danych o całkowitej szybkości. Napęd 30 wokodera również dla każdej ramki mowy dostarcza na wyjściu określenie szybkości wybranej dla wokodowanej ramki mowy. Dane szybkości są zwykle dostarczane do układu logicznego 34 upakowania, układu logicznego 38 bitów kontroli parzystości i mikroprocesora 18 przez układ logiczny 40 interfejsu mikroprocesora.
W odmiennym wykonaniu dane parametrów ramki mogą być dostarczane z bufora 32 do układu logicznego 38 bitów kontroli parzystości dla każdej ramki mowy lub tylko w odpowiedzi na dane szybkości określające ramkę o szybkości całkowitej. W tym układzie wskazanie szybkości może być również dostarczone do bufora 32, który reaguje na wskazanie szybkości całkowitej dla dostarczenia danych parametrów do układu logicznego 38 bitów kontroli parzystości.
Układ logiczny 38 bitów kontroli parzystości reaguje na wskazanie szybkości całkowitej dla obliczenia 11 bitów kontroli parzystości w oparciu o 18 najbardziej dostrzegalnie znaczących bitów danych o szybkości całkowitej. Bity, które są oznaczone jako grupa dostrzegalnie znaczących bitów, zostały określone jako najbardziej niekorzystnie oddziałujące najakość mowy w dekodowanej mowie, gdy pojawia się błąd w jednym z tych bitów. Bity korekcji parzystości są dodawane do pakietu danych o całkowitej szybkości w celu zapewnienia korekcji dla tych 18 najbardziej dostrzegalnie znaczących bitów. W przykładowym i korzystnym wykonaniu ochrona
172 397 przed błędami, zapewniana przez układ logiczny 38 bitów kontroli parzystości, jest oparta na kodzie cyklicznym w celu wytworzenia 10 bitów parzystości tworzących kod (28, 18), gdzie kod cykliczny jest skróconym kodem BCH. Terminologia (n, k) określa, że słowo kodu ma długość n bitów i występuje k bitów informacji. Pojedynczy bit kontroli parzystości jest obliczany przy użyciu 28 bitów tego kodu, aby tworzyć końcowy kod (29, 18).
najbardziej dostrzegalnie znaczących bitów jest łączonych w wielomian wejściowy GF(2), pole Galoisa złożone z dwóch składników, zgodnie z równaniem (1) jak następuje:
a(x) = LSPi [3]χΠ + LSP2[3]x16 + LSP3[3]x15 + LSP4[3]x14 + LSP5[3]x13 + L SP6['3]x'2 + LSP7[31x1 i + LSPs[3]xW + LSP9[3Jx9 + LSPio[3]x8 + CBGAINi[1lx7 + CBGAIN2[1]x* + CBGAIN3[1]x5 + CBGAIMIK + CBGAIN5[1]x3 + CBGAΙΝ7[1]χ2 + CBGAIN7[1]x 1 + CBGAIN8[1]x°. (1) gdzie LSPi[3] jest najbardziej znaczącym bitem (MSB) i kodu LSP, CBGAINi[1] jest drugim najbardziej znaczącym bitem i kodu CBGAIN a xJ reprezentuje położenie bitu w wielomianie dla bitu parametru. W efekcie a(x) jest realizowane z bitów MSB wszystkich dziesięciu kodów LSP i drugiego najbardziej znaczącego bitu kodów CBGAIN.
Pierwszych 10 bitów kontroli parzystości jest wytwarzanych przy użyciu kodu cyklicznego z wielomianem generatora:
gpc(x) = x10 + x + χ8 + x6 + χ5 + x3 + 1 (2)
Termin r(x) będzie określany jako pozostałość podziału binarnego wielomianu wejściowego i wielomianu generatora a(x)^10/gpc(x) = q(x) + r(x)/gpc(x) (3) gdzie a(x)x10 jest 10-bitowym przesunięciem położenia a(x), przy czym q(x) jest ilorazem podziału i r(x) jest pozostałością podziału. Iloraz q(x) nie jest stosowany i bity r(x) będą przypisane zgodnie z równaniem 4 jak następuje:
r(x) = PCBri01x9 + PCBf91x8 + PCBi81x7 + PCBI71x6 + PCB[6]x5 + PCB[5]x4 + PCB[4]x3 + PCB[3]x2 + PCBRfr1 + PCB[l]x°. (4)
Należy zaznaczyć, że PCB[1] do PCB[10] są odwracane przed transmisją i przed PCB[0] jest określany 11 -ty bit ochrony. PCB[0] bedzie bitem parzystości w 18 chronionych bitach w a(x) i dziesięciu bitach kontroli parzystości w r(x). PCB[0] będzie logicznym 0, jeżeli funkcja ALBO wszystkich 28 bitów daje 0; PCB[0] będzie logiczną 1, jeżeli funkcja ALBO wszystkich 28 bitów daje 1. To jest
PCB[0] = LSP1[3] Φ LSP2[3] Φ LSP3[3] Φ LSP4[3] Φ LSP5[3] Φ LSP6[3] Φ LSP7[3] Φ LSP8[3] Φ LSP9[3] Φ LSP10[3] Φ CBGAIN1[1] Φ CBGAIN2[1] Φ CBGAIN3[1] Φ CBGAIN4[1] Φ CBGAIN5[1] Φ CBGAIN6[1] Φ CBGAIN7[1] Φ CBGAIN8[1] Φ PCB[10] Φ PCB[9] Φ PCB[8] Φ PCB[7] Φ PCB[6] Φ PCB[5] Φ PCB[4] +PCB[3] +PCB[2] Φ PCB[1] (5) gdzie © oznacza ALBO argumentów.
Układ logiczny 38 może być zbudowany przy użyciu konwencjonalnych elementów logicznych/przetwarzania. Układ logiczny 38 wykonuje mnożenia i dzielenia takie, że po prostu mnoży i dzieli jeden wielomian przez drugi, oprócz tego, że współczynniki są ograniczone do binarnych i arytmetyka jest realizowana modulo 2 bez żadnych nośników lub przeniesień zanegowanych.
Układ logiczny 38 dostarcza na wyjściu bity kontroli parzystości dla bufora 32 w celu chwilowego zapamiętania. Jak wspomniano poprzednio, bity parametrów, jak przedstawione w
172 397 tabeli I, są dostarczane do bufora 32 z napędu 30 wokodera, wraz z bitami kontroli parzystości dla ramki o całkowitej szybkości. Te bity ramki zostają następnie upakowane dla transmisji.
Układ logiczny 34 upakowania odbiera wskazanie szybkości dla każdej ramki i w odpowiedzi na nie adresuje bufor 32 dla wyprowadzania bitów parametrów i bitów kontroli parzystości, jeżeli są stosowane, w określonym porządku. Bity wyprowadzane z bufora 32 są dostarczane do bufora 36 pakietów w celu ewentualnego przekazywania do mikroprocesora 18, jak to omówiono w odniesieniu do figury 3. Należy rozumieć, że w odmiennym przypadku bity mogą być wyprowadzane z bufora 32 bezpośrednio do mikroprocesora 18 w sposób zorganizowany, jak to tutaj omówiono. Należy również rozumieć, że bufory 32 i 36 mogą być zbudowane jako pamięć pojedyncza. W dowolnym wykonaniu bity są zorganizowane dla każdej szybkości, jak to przedstawiono w tabelach III-VI.
W ogólności wokoder 16 dostarcza na wyjściu dane parametrów dla mikroprocesora 18 w porządku, który odpowiada analizie ramki mowy, jak to omówiono w odniesieniu do figur 2a-2d. Dane LSP, które są oparte na całej ramce próbek mowy, są dostarczane w pobliżu początku pakietu. Następnie są dostarczane dane skoku znaków z pierwszej podramki skoku znaków próbek mowy w ramce. Po danych skoku znaków następują dane spisu kodów z podramki(ek) spisu kodów próbek mowy, które odpowiadają próbkom mowy pierwszej podramki skoku znaków próbek mowy. Jeżeli więcej niż jedna podramka spisu kodów próbek mowy odpowiada podramce skoku znaków próbek mowy, wówczas są dostarczane dane spisu kodów dla pierwszej podramki spisu kodów, po których następują dane spisu kodów dla następnej podramki spisu kodów. Po wyprowadzeniu danych spisu kodów dla podramek spisu kodów, które odpowiadają podramce skoku znaków, dostarczane są dane skoku znaków dla następnej podramki skoku znaków próbek mowy, jeżeli występują dla szybkości kodowania. Dane spisu kodów dla tej następnej podramki skoku znaków są następnie wyprowadzane, jak to omówiono poprzednio. W przypadku ramki próbki mowy, gdy występuje więcej podramek skoku znaków i odpowiednich podramek spisu kodów próbek mowy, dla których są generowane dane skoku znaków i spisu kodów, po danych skoku znaków najpierw następują odpowiednie dane spisu kodów. Ten proces wyjściowy jest powtarzany dla dowolnych pozostałych danych skoku znaków i spisu kodów dla ramki próbki mowy. Ogólnie dla podramki skoku znaków wartości wzmocnienia skoku znaków występują przed wartościami opóźnienia skoku znaków w pakiecie danych. Podobnie dla podramek spisu znaków wartości indeksu spisu kodów występują przed wartościami wzmocnienia spisu kodów w pakiecie danych. Własności różnic względem tego ogólnego wykonania przykładowego porządkowania danych parametrów są podane w tabelach II-VI. Ponadto należy rozumieć, że można łatwo wykonać różne inne schematy porządkowania, lecz zachować nowe aspekty w porządkowaniu danych parametrów.
Omawiając tabelę III, 171 bitów danych ramki o całkowitej szybkości jest upakowanych w pakiecie ruchu pierwotnego. Bit 170jest pierwszym bitem ruchu pierwotnego w pakiecie ruchu pierwotnego, przy czym bit 0 jest ostatni. Jak można zobaczyć w tabeli III, bit najbardziej znaczący i bity drugie najbardziej znaczące dziesięciu 4-bitowych kodów LSP są umieszczone na końcu pakietu. Tych pierwszych 20 bitów pakietu danych to bity, które są w grupie bitów, które są najbardziej dostrzegalnie znaczące. Po tych pierwszych 20 bitach najbardziej dostrzegalnie znaczących w pakietach danych występują bity mniej znaczące kodów LSP. Po bitach mniej znaczących kodów LSP w pakiecie danych występują pozostałe kody parametrów, z wyjątkiem bitu najbardziej znaczącego ośmiu kodów wzmocnienia spisu kodów i bitów kontroli parzystości. Bit najbardziej znaczący ośmiu kodów wzmocnienia spisu kodów i bity kontroli parzystości są również rozważane jako bity grupy bitów najbardziej dostrzegalnie znaczących. Te pozostałe bity najbardziej dostrzegalnie znaczące przeplatają się pośród bitów mniej znaczących kodów LSP i następnych kodów parametrów w pakiecie danych, co każdy ósmy bit.
Przeplatanie się bitów w pakiecie jest realizowane, ponieważ błędy są impulsami o średniej długości 8 bitów. Przy przeplataniu się bitów znaczących w pakiecie uśrednionym, pojedynczy impuls będzie oddziaływał tylko na jeden z przeplatających się bitów. Jeżeli bity kontroli parzystości są stosowane do korekcji pojedyncznego błędu w pakiecie jak o całkowitej szybkości, przeplatanie powoduje, że można dokonać korekcji błędów w bitach znaczących o długości 8 impulsów.
172 397
Jak wzmiankowano poprzednio, w korzystnym schemacie porządkowania są dostarczane dane z każdej podramki skoku znaków i odpowiedniej podramki spisu kodów, jak to przedstawiono na figurze 2a. Po danych z pierwszej podramki skoku znaków występują odpowiednio dane poszczególnych, pierwszej i drugiej, podramek spisu kodów. Podobne jest uporządkowanie danych następnej podramki skoku znaków i danych odpowiedniej podramki spisu kodów w pozostałej ramce kodowanej mowy.
Tabela III
Bit Kod Bit Kod Bit Kod Bit Kod
170 LSP1[2] 127 CBGAIN3[1] 84 CBINDEX3[6] 41 CBINDEX6[5]
169 LSP1[3] 126 PGAIN1[1] 83 CBINDEX3[5] 40 CBINDEX6[4]
168 LSP2[2] i25 PGA1N1[0] 82 CBINDEX3[4] 39 PCB[5]
167 LSP2[3] 124 PLAGI [6] 81 CBINDEX3[3] 38 CBINDEX6[3]
166 LSP3[2] 123 PLAGI [5] 80 CB1NDEX3[2] 37 CBINDEX6[2]
165 LSP3[3] 122 PLAGI [4] 79 PCB[10] 36 CBINDEX6[1]
164 LSP4[2] 121 PLAGI [3] 78 CB1NDEX3[1] 35 CBINDEX6[0]
163 LSP4[3] 120 PLAGI [2] 77 CB1NDEX3[0] 34 CBGAIN6[2]
162 LSP5[2] 119 CBGAIN4[1] 76 CBGA1N3[2] 33 CBGAIN6[0]
161 LSP5[3] 118 PLAG1[1] 75 CBGA1N3[0] 32 PGAIN4[2]
160 LSP6[2] 117 PLAG 1[0] 74 CBINDEX4[6] 31 PCB[4]
159 LSP6[3] 116 CBINDEX1[6] 73 CBINDEX4[5] 30 PGAIN4[1]
158 LSP7[2] 115 CBINDEX1[5] 72 CBINDEX4[4] 29 PGAIN4[0]
157 LSP7[3] 114 CBINDEX1[4] 71 PCB[9] 28 PLAG4[6]
156 LSP8[2] 113 CBINDEX1[3] 70 CBINDEX4[3] 27 PLAG4[5]
155 LSP8[3] 112 CBINDEX1[2] 69 CB1NDEX4[2] 26 PLAG4[4]
154 LSP9[2] 111 CBGAIN5[1] 68 CBINDEX4[1] 25 PLAG4[3]
153 LSP9[3] 110 CBINDEX1[1] 67 CB1NDEX4[0] 24 PLAG4[2]
152 LSP10[2] 109 CB INDEX 1[0] 66 CBGA1N4[2] 23 PCB[3]
151 LSP10[3] 108 CBGAIN1[2] 65 CBGAIN4[0] 22 PLAG4[1]
150 LSP1[1] 107 CBGAIN1[0] 64 PGA1N3[2] 21 PLAG4[0]
149 LSP1[0] 106 CBINDEX2[6] 63 PCB[8] 20 CBINDEX7[6]
148 LSP2[1] 105 CBINDEX2[5] 62 PGAIN3[1] 19 CBINDEX7[5]
147 LSP2[0] 104 CBINDEX2[4] 61 PGAIN3[0] 18 CB1NDEX7[4]
146 LSP3[1] 103 CBGAIN6[1] 60 PLAG3[6] 17 CBINDEX7[3]
145 LSP3[0] 102 CB1NDEX2[3] 59 PLAG3[5] 16 CB1NDEX7[2]
144 LSP4[1] 101 CBINDEX2[2] 58 PLAG3[4] 15 PCB[2]
143 CBGAIN1[1] 100 CBINDEX2[1] 57 PLAG3[3] 14 CB1NDEX7[1]
142 LSP4[0] 99 CB1NDEX2[0] 56 PLAG3[2] 13 CB1NDEX7[0]
141 LSP5[1] 98 CBGA1N2[2] 55 PCB[7] 12 CBGA1N7[2]
140 LSP5[0] 97 CBGAIN2[0] 54 PLAG3[1] 11 CBGAIN7[0]
139 LSP6[1] 96 PGA1N2[2] 53 PLAG3[0] 10 CBINDEX8[6]
138 LSP6[0] 95 CBGA1N7[1] 52 CBINDEX5[6] 9 CBINDEX8[5]
137 LSP7[1] 94 PGAIN2[1] 51 CB1NDEX5[5] 8 CBINDEX8[4]
136 LSP7[0] 93 PGAIN2[0] 50 CBINDEX5[4] 7 PCB[1]
135 CBGAIN2[1] 92 PLAG2[6] 49 CBINDEX5[3] 6 CB1NDEX8[3]
134 LSP8[1] 91 PLAG2[5] 48 CBINDEX5[2] 5 CB1NDEX8[2]
133 LSP8[0] 90 PLAG2[4] 47 PCB[6] 4 CBINDEX8[1]
132 LSP9[1] 89 PLAG2[3) 46 CB1NDEX5[1] 3 CBINDEX8[0]
131 LSP9[0] 88 PLAG2[2] 45 CB1NDEX5[0] 2 CBGA1N8[2]
130 LSP10[1] 87 CBGAIN8[1] 44 CBGA1N5[2] 1 CBGAIN8[0]
129 LSP10[0] 86 PLAG2[1] 43 CBGAIN5[0] 0 PCB[0]
128 PGAIN1[2] 85 PLAG2[0] 42 CB1NDEX6[6]
172 397
Pakiet ruchu pierwotnego o całkowitej szybkości jest następnie organizowany przez mikroprocesor 18 w pakiet transmisji, który zawiera również bit sygnalizacji, bity wskaźnika jakości ramki i bity końca ramki (bity stopki kodera). Bity wskaźnika jakości ramki są w istocie bitami (CRC) cyklicznej kontroli nadmiarowej, wytwarzanymi z bitów pakietu ruchu pierwotnego o całkowitej szybkości przez układ generatora CRC i bitów stopki (nie pokazany) po mikroprocesorze 18. Odnośnie figury 5a, w przypadku całkowitej szybkości pakiet transmisji jest złożony ze 192 bitów, w których pierwszy bit jest bitem sygnalizacji. Po bicie sygnalizacji następuje 171 bitów pakietu ruchu pierwotnego, po których następuje potem 12 bitów CRC. Po bitach CRC w przesyłanym pakiecie jest 8 bitów stopki, które wszystkie są zerami. Pakiet przesyłowy jest kodowany w celu transmisji w ramce przesyłowej, która ma odstęp okresu czasu 20 msek. tak, że uzyskuje się szybkość danych 9,6 kbps.
bitów danych ramki o szybkości połówkowej zostaje także upakowanych w pakiet ruchu pierwotnego, jak to przedstawiono w tabeli IV. Bit 79 jest pierwszym bitem ruchu pierwotnego w pakiecie ruchu pierwotnego, przy czym bit 0 jest ponownie ostatnim. Jak można zobaczyć w tabeli IV, bity dziesięciu kodów 2-bitowych LSP są umieszczone na początku pakietu dla udogodnienia i zgodności. Po tych pierwszych 20 bitach są bity pozostałych kodów parametrów znaczących, jak to było dla danych o całkowitej szybkości, ponownie z pewnym przeplataniem się bitów wzmocnienia spisu kodów.
Pakiet ruchu pierwotnego o szybkości połówkowej jest następnie organizowany przez mikroprocesor 18 w pakiet przesyłowy, który zawiera także bity wskaźnika jakości ramki i bity stopki kodera. Bity wskaźnika jakości ramki są ponownie bitami (CRC) cyklicznej kontroli nadmiarowej, wytwarzanymi z bitów pakietu ruchu pierwotnego o szybkości połówkowej przez układ CRC. Na figurze 5f dla szybkości połówkowej pakiet przesyłowy jest złożony z 96 bitów, które zaczynają się 80 bitami pakietu ruchu pierwotnego. Po bitach pakietu ruchu pierwotnego następuje 8 bitów CRC, po których następuje potem 8 bitów stopki. Pakiet przesyłowy jest ponownie kodowany w celu transmisji w ramce przesyłowej, która ma odstęp okresu czasu 20 msek. dla uzyskania skutecznej szybkości danych 4,8 kbps.
Tabela IV
Bit Kod Bit Kod Bit Kod Bit Kod
79 LSP1[1] 59 PGAIN1[2] 39 CBINDEX2[6] 19 CBINDEX3[6]
78 LSP1[0] 58 PGAIN1[1] 38 CBINDEX2[5] 18 CBINDEX3[5]
77 LSP2[1] 57 PGAIN1[0] 37 CBINDEX2[4] 17 CBINDEX3[4]
76 LSP2[0] 56 PLAGI [6] 36 CBINDEX2[3] 16 CBINDEX3[3]
75 LSP3[1] 55 PLAGI [5] 35 CBINDEX2[2] 15 CBINDEX3[2]
74 LSP3[0] 54 PLAGI [4] 34 CBINDEX2[1] 14 CBINDEX3[1]
73 LSP4[1] 53 PLAGI [3] 33 CB1NDEX2[0] 13 CBINDEX3[0]
72 LSP4[0] 52 PLAGI [2] 32 CBGAIN2[2] 12 CBGAIN3[2]
71 LSP5[1] 51 PLAG1[ 1] 31 CBGAIN2[1] 11 CBGAIN3[1]
70 LSP5[0] 50 PLAG 1[0] 30 CBGAIN2[0] 10 CBGAIN3[0]
69 LSP6[1] 49 CBINDEX1[6] 29 PGA1N2[2] 9 CBINDEX4[6]
68 LSP6[0] 48 CBINDEX1[5] 28 PGAIN2[1] 8 CBINDEX4[5]
67 LSP7[1] 47 CBINDEX1[4] 27 PGAIN2[0] 7 CBINDEX4[4]
66 LSP7[0] 46 CBINDEX1[3] 26 PLAG2[6] 6 CBINDEX4[3]
65 LSP8[1] 45 CBINDEX 1[2] 25 PLAG2[5] 5 CBINDEX4[2]
64 LSP8[0] 44 CBINDEX 1[1] 24 PLAG2[4] 4 CBINDEX4[1]
63 LSP9[1] 43 CBINDEX 1[0] 23 PLAG2[3] 3 CBINDEX4[0]
62 LSP9[0] 42 CBGAIN1[2] 22 PLAG2[2] 2 CBGA1N4[2]
61 LSP10[1] 41 CBGAIN1[1] 21 PLAG2[I] 1 CBGAIN4[1]
60 LSP10[0] 40 CBGAIN1[0] 20 PLAG2[0] 0 CBGAIN4[0]
172 397
Należy rozumieć, że dane o szybkości połówkowej mogą być przesyłane w pakiecie przesyłowym wraz z innymi danymi, takimi jak dane sygnalizacji, ruch sygnalizacji, (figura 5b) lub dane ze źródeł innych niż wokoder, ruch wtórny, (figura 5c) przy szybkości danych 9,6 kbps. Należy następnie rozumieć, że dane wokodera o całkowitej szybkości mogą być wygaszane, nie wytwarzane, a inne dane wprowadzone do pakietu przesyłowego, jak to przedstawiono na figurach 5d-5e.
bitów danych ramki o szybkości ćwiartkowej jest upakowanych w pakiet ruchu pierwotnego, jak to przedstawiono w tabeli V. Bit 39 jest pierwszym bitem ruchu pierwotnego w pakiecie ruchu pierwotnego, przy czym bit 0 jest ponownie ostatnim. Jak można zobaczyć w tabeli V, pojedynczy bit kodów 1 -bitowych LSP jest umieszczony na początku pakietu. Po tych pierwszych 10 bitach są bity pozostałych kodów parametrów, ponownie z pewnym przeplataniem się bitów wzmocnienia spisu kodów.
Tabela V
Bit Kod Bit Kod Bit Kod Bit Kod
39 LSP1[0] 29 PGA1N1[2] 19 CB1NDEX1[6] 9 CB1NDEX2[6]
38 LSP2[0] 28 PGAINI[1] 18 CBINDEX1[5] 8 CBINDEX2[5]
37 LSP3[0] 27 PGAIN1[0] 17 CBINDEX1[4] 7 CBINDEX2[4]
36 LSP4[0] 26 PLAGI [6] 16 CBINDEX1[3] 6 CB1NDEX2[3]
35 LSP5[0] 25 PLAGI [5] 15 CBINDEX1[2] 5 CBINDEX2[2]
34 LSP6[0] 24 PLAGI [4] 14 CB1NDEX1[1] 4 CBINDEX2[1]
33 LSP7[0] 23 PLAGI [3] 13 CBINDEX1[0] 3 CBINDEX2[0]
32 LSP8[0] 22 PLAGI [2] 12 CBGAIN1[2] 2 CBGAIN2[2]
31 LSP9[0] 21 PLAGI [ 1] 11 CBGA1N1[1] 1 CBGAIN2[1]
30 LSP10[0] 20 PLAGI[0] 10 CBGAIN 1[0] 0 CBGAIN2[0]
Pakiet ruchu pierwotnego o szybkości ćwiartkowej jest następnie organizowany przez mikroprocesor 18 w pakiet przesyłowy, który zawiera także tylko 8 bitów stopki kodera. Omawiając figurę 5g, dla szybkości ćwiartkowej pakiet przesyłowy jest więc złożony z 48 bitów, które zaczynają się 40 bitami pakietu ruchu pierwotnego i kończą się 8 bitami stopki. Pakiet przesyłowy jest ponownie kodowany w celu transmisji w ramce przesyłowej, która ma odstęp okresu czasu 20 msek. dla uzyskania skutecznej szybkości danych 2,4 kbps.
bitów danych ramki o ósmej szybkości jest upakowanych w pakiet ruchu pierwotnego, jak przedstawiony w tabeli VI. Bit 15 jest pierwszym bitem ruchu pierwotnego w pakiecie ruchu pierwotnego, przy czym bit 0 jest ponownie ostatnim. Jak można zobaczyć w tabeli VI, pojedynczy bit dziesięciu kodów 1-bitowych LSP jest umieszczony na początku pakietu, z przeplataniem się w nim zasilania spisu kodów. Po tych bitach następują bity pozostałego kodu parametrów.
Tabela VI
Bit Kod Bit Kod Bit Kod Bit Kod
15 CBSEED[3] 11 CBSEED[2] 7 CBSEED[1] 3 CBSEED [0]
14 LSP1[0] 10 LSP4[0] 6 LSP7[0] 2 LSP10[0]
13 LSP2[0] 9 LSP5[0] 5 LSP8[0] 1 CBGA1N1[1]
12 LSP3[0] 8 LSP6[0] 4 LSP9[0] 0 CBGAIN 1[0]
Pakiet ruchu pierwotnego o ósmej szybkości jest następnie organizowany przez mikroprocesor 18 w pakiet przesyłowy, który także zawiera tylko 8 bitów stopki kodera. Omawiając figurę 5h, dla ósmej szybkości pakiet przesyłowy jest więc złożony z 24 bitów, które zaczynają się 16 bitami pakietu ruchu pierwotnego i kończą się 8 bitami stopki. Pakiet przesyłowy jest ponownie kodowany dla transmisji w ramce przesyłowej, która ma odstęp okresu czasu 20 msek. dla uzyskania skutecznej szybkości danych 1,2 kbps.
Omawiając ponownie figurę 3, pakiety ruchu pierwotnego są przesyłane z wokodera 16 w odpowiedzi na rozkaz danych wyjściowych z mikroprocesora 18. W odpowiedzi na ten rozkaz,
172 397 wyjściu formatowany pakiet w bajtach dla mikroprocesora 18, jak to omówiono w odniesieniu do figury 3.
W układzie wokodowania z figury 1 odbierane ramki wokodowanej mowy są także odtwarzane w próbki ramek mowy. Na końcu odbiorczym komunikacja danych pomiędzy mikroprocesorem 18 i wokoderem 16 jest właściwa dla transmisji. W tym stanie pracy wokoder 16 odbiera i rozpakowuje pakiety danych z mikroprocesora 18 dla dekodowania i odtwarzania próbek mowy. Pakiety ruchu pierwotnego są przesyłane z mikroprocesora 18 do wokodera 16 wraz z rozkazem danych wejściowych z mikroprocesora 18. Mikroprocesor 18, Który także określa szybkość pakietów danych dla celów dekodowania wokodera i zapewnia wskazanie określonej szybkości dla wokodera 16.
Mikroprocesor 18 określa także jakość odbieranych danych. Jeżeli odbierany pakiet jest zepsuty w stopniu, który jest niemożliwy do korekcji przy użyciu technik korekcji błędów (niedostateczna jakość ramki), do wokodera 16 jest przesyłane wskazanie wymazania jako wskazanie szybkości. W tym przypadku jednakże mikroprocesor 18 może przesyłać pakiet danych do wokodera 16, te wartości nie są stosowane w procesie dekodowania. Ponadto mikroprocesor 18 powinien określić, że pakiet danych jest pakietem o całkowitej szybkości z błędem wykrywanym w odbieranych danych pakietu przesyłowego, w oparciu o kontrolę CRC, a wskazanie, że pakiet jest pakietem o całkowitej szybkości z prawdopodobnym błędem bitu, jest dostarczane do wokodera 16. Jeżeli CRCjest obliczane z bitów pakietu danych, będą wykryte jeden lub więcej błędów występujących w pakiecie danych. W wokoderze 16 wadliwe bity pakietu danych, jeżeli są możliwe do korekcji, są korygowane a korygowany pakiet danych jest stosowany przez wokoder 16.
Inną możliwością dla odbieranego pakietu przesyłowego jest to, że zawiera on dane inne niż dane wokodera, takie jak dane sygnalizacji lub dane ruchu wtórnego. Dla przykładu, przy transmisji dane wokodera dzielą ramkę przesyłową z innymi danymi cyfrowymi (figury 6b-6c) lub są wyłącznie danymi innymi niż wokodera (figury 6d-6e). W tym przypadku dane trybu w pakiecie przesyłowym wskazują rodzaj pakietu jako zawierający tylko dane wokodera lub który zawiera inne dane, takie jak kombinacja danych wokodera i innych niż wokodera lub tylko dane inne niż wokodera. Bit formatu pakietu wskazuje ponadto, czy pakiet jest kombinacją danych wokodera i innych niż wokodera lub tylko danymi innymi niż wokodera. Wówczas gdy pakiet przesyłowy jest odbierany i wykrywany jako zawierający tylko dane inne niż wokodera, zapewnione jest wskazanie ramki wygaszania z mikroprocesora 18 do wokodera 16. Chociaż dane mogą być przesyłane z mikroprocesora 18 do wokodera 16, nie stosuje się tego. Zamiast tego wokoder 16 stosuje dane zapamiętane wewnętrznie dla aktualizacji stanu wokodera.
Omawiając figury 1i 4, we wszystkich przypadkach wokoder 16 reaguje na rozkaz danych wejściowych z mikroprocesora 18, który'jest przetwarzany przez układ logiczny 40 interfejsu mikroprocesora i dostarcza rozkaz przesyłania do bufora 36. Bufor 36 w odpowiedzi na rozkaz przesyłania odbiera formatowany pakiet w bajtach z mikroprocesora 18, jak to omawiano w odniesieniu do figury 3. Układ logiczny 40 przenosi również wskazania szybkości pomiędzy wokoderem 16 i mikroprocesorem 18.
Przesyłany pakiet danych jest wprowadzany na wejście bufora 42 pakietów, gdzie jest chwilowo zapamiętywany. W zgodności z przesyłaniem pakietu danych, wskazanie szybkości dla określonej szybkości pakietu danych jest dostarczane do układu logicznego 44 rozpakowania poprzez układ logiczny 40. Ogólnie układ logiczny 44 rozpakowania reaguje na wskazanie szybkości dla sterowania wyjściowymi danymi pakietu z bufora 42 do bufora 46 ramki. Rozpakowane dane parametrów są następnie pamiętane w buforze 46 dla dostarczania do napędu 30 wokodera. Napęd 30 wokodera odbiera wskazanie szybkości z mikroprocesora 18 w uzupełnieniu do odpowiednich rozpakowanych danych parametrów dla dekodowania ze wskazaną szybkością. Należy rozumieć, że w odmiennej konfiguracji bufor 46 może zostać wyeliminowany a dane dostarczone bezpośrednio z bufora 42 do napędu 30 wokodera podczas sterowania układu logicznego 44.
Przy rozpakowaniu pakietu danych wokodera o całkowitej szybkości, jak w przypadku pakietów danych wokodera o wszystkich szybkościach, układ logiczny 44 koordynuje dane wyjściowe z bufora 42 w celu zapamiętania w buforze 46. Dla danych parametrów, w których
172 397 bity parametrów zostały rozdzielone w procesie upakowania, części bitów są ponownie łączone w celu tworzenia odpowiedniej całkowitej wartości bitowej. Dla przykładu dla pakietu danych wokodera o całkowitej szybkości bity najbardziej znaczący i drugi najbardziej znaczący każdego kodu LSP są łączone z odpowiednimi bitami mniej znaczącymi kodu LSP. Wobec tego kody LSP są odtwarzane jako wartości 4-bitowe zapamiętane w buforze 46. Ponadto dane parametrów przeplatające się w pakiecie są grupowane z odpowiednimi danymi parametrów. Dla przykładu, w przypadku pakietu danych wokodera o całkowitej szybkości, bity kontroli parzystości są grupowane ze sobą jako pamiętane w buforze 46. Dane parametrów mogą ponadto być zorganizowane zgodnie z ramką próbek i podramką dla wejścia wokodera. Należy zdać sobie sprawę, że ewentualnie inne schematy można łatwo zastosować przy i dla organizacji danych parametrów na wejściu wokodera.
Przy rozpakowaniu pakietu danych o całkowitej szybkości bufor 42 dostarcza wejściowe dane parametrów do bufora 46 zgodnie z sygnałami z układu logicznego 44. Parametry odpowiadające ich bitom danych rozdzielonym w pakiecie są organizowane w celu tworzenia całkowitych wartości bitów parametrów. Dla przykładu, tak jak wzmiankowano powyżej, bity danych najbardziej znaczący i drugi najbardziej znaczący dla każdego parametru LSP są łączone z bitami następnym względem najmniej znaczącego i najmniej znaczącym dla parametru LSP w celu utworzenia określonej wartości 4-bitowej. Wartości parametrów można również zorganizować dla zapewnienia grupowania podobnych danych parametrów lub przez analizę podramki lub dowolny inny schemat organizacji. Uporządkowane i zorganizowane wartości parametrów są pamiętane w buforze 46 podczas sterowania układu logicznego 44.
Po rozpakowaniu wartości parametrów bity kontroli parzystości są obliczane tak, jak omówiono to w odniesieniu do układu logicznego 38 i porównywane z odbieranymi bitami kontroli parzystości pakietu. Układ logiczny kontroli 48 bitów kontroli parzystości odbiera właściwe bity z bufora 46 przy rozkazie z układu logicznego 44 tak, żeby obliczać kontrolę parzystości dla pakietu. Układ logiczny 48 jest uruchamiany w celu obliczania i porównania, w odpowiedzi na wskazanie całkowitej szybkości, całkowitej szybkości z ewentualnym błędem, jak to omówiono dalej. Ponadto odbierane bity kontroli parzystości są także wyprowadzane z bufora 46 do układu logicznego48 w celu porównania z obliczonymi bitami kontroli parzystości. W odmiennej konfiguracji odbierane bity kontroli parzystości lub bity parametrów stosowane do obliczania bitów kontroli parzystości porównania mogą być wydzielane bezpośrednio z wyjściowego pakietu danych mikroprocesora 18 jako wejście bufora 42. W jeszcze innej odmiennej konfiguracji odbierane bity kontroli parzystości lub bity parametrów stosowane do obliczania parzystości porównania mogą być wydzielane z wyjścia bufora 42.
W przypadku ramki o całkowitej szybkości, gdy nie są wykrywane żadne błędy w odbieranych bitach kontroli parzystości w porównaniu z obliczanymi bitami kontroli parzystości, zapewniane jest wskazanie zachodzenia kontroli parzystości o całkowitej szybkości z układu logicznego 48 do układu logicznego 44 i napędu 30 wokodera. Układ logiczny 44 w odpowiedzi dostarcza rozkaz wyjściowy do bufora 46, który odpowiada przez dostarczanie na wyjściu danych parametrów do napędu 30 wokodera, gdzie stosuje je do odtwarzania próbek ramek mowy.
Jednak, gdy błąd jest wykrywany w bitach kontroli parzystości przez układ logiczny 48, układ logiczny 48 wytwarza niewystarczające wskazanie jakości ramki, które jest także dostarczane do układu logicznego 44 i napędu 30 wokodera. W odpowiedzi na niewystarczające wskazanie jakości ramki, układ logiczny 44 może dostarczać rozkaz wyjściowy do bufora 46, który daje na wyjściu dane dla napędu 30 wokodera. W tym przypadku napęd 30 wokodera ignoruje odbierane dane w odpowiedzi na niewystarczające wskazaniejakości ramki dostarczane do niego również z układu logicznego 48. W odmiennym wykonaniu dane mogą nie być wyprowadzane z bufora 46 do napędu 30 wokodera. Napęd 30 wokodera działa w kierunku odtworzenia ramki próbek mowy z poprzedniego stanu wokodera.
W przypadku, gdy mikroprocesor 18 zapewnia całkowitą szybkość przy wskazaniu ewentualnego błędu (omawiane także jako prawdopodobieństwo całkowitej szybkości) dla układu logicznego 40, pakiet danych jest także przesyłany do bufora 42. Wskazanie prawdopodobieństwa całkowitej szybkości jest generowane przez mikroprocesor 18, gdy w przypadku
172 397 pakietu przesyłowego o całkowitej szybkości jest wykrywany błąd w CRC, nawet gdy pakiet przesyłowy miał miarę jakości ramki zapewnioną przez dekoder, która określa dobry pakiet. Miara jakości ramki jest stosowana w mikroprocesorze 18 do określania szybkości błędu symbolu odbieranych ramek. Szybkość błędu o niskim symbolu wskazuje, że ramki odbieranych danych są skłonne zawierać dobre dane.
Przed rozpakowaniem pakietu danych w buforze 42 przez układ logiczny 44 dla przeniesienia do bufora 46, najpierw jest dokonywana kontrola bitów kontroli parzystości. Tak jak to było dokonane dla pakietu o całkowitej szybkości, układ logiczny 48 oblicza bity kontroli parzystości dla pakietu odbieranych danych i porównuje je z odbieranymi bitami kontroli parzystości z samego pakietu.
Wówczas gdy układ logiczny 48 wykrywa pojedynczy błąd. błąd jest korygowany przy użyciu dobrze znanych technik korekcji bitów kontroli parzystości, z korygowanym bitem dostarczanym do bufora 42 w miejsce niekorygowanego bitu. Układ logiczny 48 dostarcza również wskazanie zachodzenia prawdopodobnej kontroli parzystości z całkowitą szybkością do układu logicznego 44 i napędu 30 wokodera. Układ logiczny 44 w odpowiedzi steruje reorganizacją bitów parametrów i pamięcią w buforze 46. Układ logiczny 44 dostarcza również rozkaz wyjściowy do bufora 46, który odpowiada przez wyprowadzanie danych parametrów do napędu 30 wokodera, gdzie jest stosowany przy odtwarzaniu próbek ramek mowy.
Jednak gdy jest wykrywanych więcej niż jeden błąd w bitach kontroli parzystości przez układ logiczny 48, układ logiczny 48 wytwarza niewystarczające wskazanie jakości ramki, które jest także dostarczane do układu logicznego 44 i napędu 30 wokodera. W odpowiedzi na niewystarczające wskazanie jakości ramki, układ logiczny 44 nie rozpakowuje pakietu danych, jeżeli dane nie są stosowane przez napęd 30 wokodera. Dane w buforze 42 mogą być wyprowadzane do bufora 46, gdzie są ignorowane przy przesyłaniu do napędu 30 wokodera. Napęd 30 wokodera ignoruje ponownie odbierane dane w odpowiedzi na niewystarczające wskazanie jakości ramki. Tak jak poprzednio, napęd 30 wokodera działa dla odtworzenia ramki próbek mowy z poprzedniego stanu wokodera.
W przypadku szybkości połówkowej, ćwiartkowej i jednej ósmej, wskazanie szybkości z mikroprocesora 18 jest dostarczane przez układ logiczny 40 do układu logicznego 44 i napędu 30 wokodera. Mikroprocesor 18 dostarcza także pakiet danych do bufora 42. Układ logiczny 44 steruje rozpakowywaniem 80,40 i 16 bitów, odpowiednio do szybkości połówkowej, ćwiartkowej i jednej ósmej, przy przesyłaniu z bufora 42 do bufora 46. Jednak dla szybkości jednej ósmej, gdy pakiet zawiera wszystkie jedynki logiczne (1), przy wykrywaniu przez układ logiczny 50 detekcji, niewystarczające wskazanie jakości ramki jest generowane przez układ logiczny 50 oraz dostarczane do układu logicznego 44 i napędu 30 wokodera. Układ logiczny 44 i napęd 30 wokodera działają jak to omówiono właśnie powyżej w odniesieniu do prawdopodobnego stanu całkowitej szybkości z wielokrotnymi błędami wykrywanymi w bitach kontroli parzystości.
Czasami mikroprocesor 18 będzie generował niewystarczające wskazanie jakości ramki jako wskazanie określenia szybkości, gdy kontrola CRC pakietu przesyłowego pogarsza się a z miary jakości ramki dekodera jest określana szybkość błędu symbolu wysokiego. Niewystarczające wskazanie jakości ramki jest dostarczane przez układ logiczny 40 do układu logicznego 44 i napędu 30 wokodera. Układ logiczny 44 i napęd 30 wokodera działają tak, jak omówiono to powyżej w odniesieniu do prawdopodobnego stanu całkowitej szybkości z wielokrotnymi błędami wykrywanymi w bitach kontroli parzystości.
Poza tym czasami odbierany pakiet przesyłowy może zawierać dane inne niż dane wokodera. Pakiet przesyłowy może być całkowicie z innych danych lub mieć dane wokodera i inne dane razem, jak to omówiono powyżej w odniesieniu do figur 6b-6e. Mikroprocesor 18 rozpoznaje ten rodzaj pakietu danych przesyłowych w oparciu o bity sygnalizacji zawarte w pakiecie. W przypadku, gdy mniej niż całość danych pakietu przesyłowego zawiera wszystkie dane jako ruch sygnalizacji lub wtórny (figury 6d-6e), wskazanie wygaszania jest dostarczane z mikroprocesora przez układ logiczny 40 do układu logicznego 44, napędu 30 wokodera i pamięci 52. Pamięć 52 jest zapewniona do pamiętania poprzednich danych wyjściowych z bufora 42. Układ logiczny 44 wydaje rozkaz pamięci 52 dostarczania danych z pamięci 52 do bufora 46 w miejsce wyjścia z bufora 42. W szczególności opóźnienie skoku znaków i wzmocnienie skoku znaków
172 397 dla ostatniej podramki skoku znaków poprzedniej ramki danych, wraz z danymi częstotliwości LSP dla poprzedniej ramki, są dostarczane z pamięci 52 do bufora 46. Te dane są następnie dostarczane z pamięci 52 do napędu 30 wokodera. W odmiennym przypadku poszczególne dane mogą być dostarczane bezpośrednio z pamięci 52 do napędu 30 wokodera. W jeszcze innym, odmiennym wykonaniu wszystkie dane z pamięci 52 mogą być dostarczane do bufora 46. Z poprzednich danych ramki napęd 30 wokodera generuje bieżącą ramkę z ocenianych próbek mowy.
Należy rozumieć na podstawie powyższego, że można zastosować różne wykonania dla uzyskania upakowania i rozpakowania danych parametrów. Wiele funkcji elementów opisanych powyżej może być wykonanych w różnych postaciach, takich jak procesor lub różne elementy logiczne i pamięciowe albo ich kombinacja. Należy rozumieć, że dodatkowe zabezpieczenie opisane w odniesieniu do kodowanych danych o największej szybkości można łatwo wprowadzić do danych o mniejszej szybkości.
Poprzedni opis korzystnych wykonań jest przedstawiony dla umożliwienia każdemu specjaliście wykonania i zastosowania niniejszego wynalazku. Różne modyfikacje tych wykonań będą jasne dla specjalistów a ogólne zasady tutaj określone można zastosować do innych wykonań bez użycia zdolności wynalazczej. Wobec tego niniejszy wynalazek nie jest przeznaczony do ograniczania wykonań tutaj pokazanych, lecz ma uzgodnić najszerszy zakres zgodny z zasadami i nowymi cechami tutaj ujawnionymi.
172 397
LPC
SKOK ZNAKÓW SPIS KODÓW
SZYBKOŚĆ CAŁKOWITA
LPC
SKOK ZNAKÓW spis kodów
40
10 10 10 10
10 10 10 10 10 10 10 10
FIG. 2a
LPC
SKOK ZNAKÓW
SPIS KODÓW
SZYBKOŚĆ POŁÓWKOWA
20
10 10
10. 10 10 10
FIG. 2b
SZYBKOŚĆ ĆWIATKOWA
SUMA =80
10
FIG. 2c
LPC
SKOK ZNAKÓW
SPIS KODÓW
SUMA =16
FIG. 2d
SUMA = 160 (PLUS 11 PCB)
SUMA =40
172 397
t
172 397
Fig.5a
Tylko ruch pierwotny (9.6 kbps)
«3— <3- - 192 bity - 20 ms — -171 bitów- -Β» -t>
1 -- 171 12 8
Ruch pierwotny F T
Fig.5b
Wymiar i pakiet z ruchem pierwotnym i sygnalizacji (9.6 kbps)
<- -192 bity - 20 ms- -E>
v 1 y
1 1 1 2 80 1 86 12 8
MM BF TT TM Ruch SOM Ruch p T = 1 =0 =0 =00 pierwotny sygnalizacji
Fig.5c
Wymiar i pakiet z ruchem pierwotnym i wtórnym (9.6 kbps)
Fig.5d
Wygaszanie i pakiet tylko z ruchem sygnalizacji (9.6 kbps)
<3- -192 bity-20ms - <-167 b i t ów-p> -6»
1 1 1 2 80 87 12 8
MM BF TT =1 =0 =1 «a- TM Ruch Ruch =00 pierwotny wtórny -192 bity - 20 ms- «a- 169 bitów -e> F T -o
1 1 1 1 168 12 8
MM ĘF yj SOM Ruch sygnalizacji F T
Fig.5e
Wygaszanie i pakiet tylko z ruchem wtórnym (9.6 kbps)
<3— - 192 bity-20ms -
=3-169 bitów-β»
1 1 1 169 12 8
MM BF TT =1 =1 =1
Ruch wtórny
F T
UWAGA.
MM-bit trybu mieszanego 0-tylko ruch pierwotny 1 - ruch pierwotny i/lub ruch sygnalizacji/Wtórny
BF - bit formatu pakietu 0-wymiar i pakiet 1 - wygaszanie i pakiet
TT - bit rodzaju ruchu 0- sygnalizacja 1 - wtórny
TM-bity trybu ruchu 00-80 bity ruchu pierwotnego bity ruchu sygn. lub wtórnego 01,10 i 11 - zarezerwowane
SOM-początek bitu wiadomości 0- wiadomość nie zaczyna się przy następnym bicie 1 - wiadomość zaczyna się przy następnym bicie F - wskaźnik jakości ramki (CRC)
T bity stopki kodera
172 397
FIG. 5f 4.8 kbps
Format
FIG. 5g 2.4 kbps
RAMKA
Format
FIG. 5h 1.2 kbps RAMKA Format
BnCw-ZOms—δΟΒΰΟί80
RUCH PIERWOTNY
Hnflł-20 ms' -40Hd£w40
RUCH PIERWOTNY
24ηπΟ- 20 ms ‘ — 16ot5w —
RUCH PIERWOTNY
UWAGA
F-WSKAŹNIK JAKOŚCI RAMKI (CRC) T-BITY STOPKI ZNAKÓW KODERA
172 397
FIG. 3
Eh
BIT
76543210
SiSSiiSSSiSS.
SWiKSiySSSi iSSKfSSSsSS^a:
S.<iSSSa:*<aa;
S$a<4«SSSK.<5it ji^jsiaTS.aa;
«ssSssysijsis®!^
S^SSSSS.iWS?, aSK.S^S^iS^
SSSSSSSiS^aiSi ^saSśSSSSStSfcSSSS'
Si!¥S:a«NS»!%S jS3Ń5?fSS.SS:«i»Sf $3Κ$ΚΚ$$Κ».
feSSjSiSS^SiiSiiS
SS.^ii·····
^SSSS^SłSi. SWiSiSaWiW: )KasssiWS!a?i?
s$ai!K«»!¥S=:K 1
sśasśatssssśs i
a^ss^aiiss 1
«ŚiJSiSSWiSS·'
<;.«^i¥ssias:a;.
SZYBKOŚĆ i 171 BITÓW
SZYBKOŚĆ 1/2 SZYBKOŚĆ 1/4 SZYBKIŚC 1/8 WYGASZANYM 80 BITÓW 40 BITÓW 16 BITÓW 0 BITÓW
BITY PRZESYŁANE □ BITY NIEWAŻNE
Departament Wydawnictw UP RP. Nakład 90 egz.
Cena 4,00 zł

Claims (18)

  1. Zastrzeżenia patentowe
    1. Sposób formatowania danych zawierających parametry mowy w trakcie ich nadawania w postaci pakietu danych, w którym generuje się na podstawie wejściowej ramki próbek mowy dane zawierające parametry mowy, przy czym określone dane, wybrane spośród danych zawierających parametry mowy, mają większą względną ważność niż inne dane zawierające parametry mowy, oraz wprowadza się do początkowej części pakietu danych część tych określonych danych, znamienny tym, że do pozostałej części pakietu danych, następującej po jego początkowej części wprowadza się dane, które uzyskuje się z przeplatania pozostałej części określonych danych z innymi danymi, przez co początkowa część pakietu danych zawiera wyłącznie część określonych danych zaś pozostała część pakietu danych zawiera wyłącznie dane przeplecione.
  2. 2. Sposób według zastrz. 1, znamienny tym, że na podstawie określonych danych zawierających parametry mowy oblicza się kod korekcyjny błędów i przeplata się dane kodu korekcyjnego błędów wyłącznie z danymi przeplecionymi.
  3. 3. Sposób według zastrz. 1 albo 2, znamienny tym, że inną część określonych danych tworzy się wyłącznie w pozostałej części pakietu danych.
  4. 4. Sposób według zastrz. 3, znamienny tym, że do części określonych danych wprowadza się dane pierwszego parametru mowy zaś do innej części określonych danych wprowadza się dane pierwszego parametru mowy i dane drugiego parametru mowy, przy czym w trakcie tworzenia innej części określonych danych generuje się dane pierwszego parametru mowy, następujące bezpośrednio po częściach określonych danych w pakiecie danych, i generuje się dane drugiego parametru mowy następujące bezpośrednio po danych pierwszego parametru mowy w pakiecie danych.
  5. 5. Sposób wedhig zastrz. 3, znamienny tym, że do innej części określonych danych wprowadza się dane drugiego parametru mowy i dane trzeciego parametru mowy zaś do innych danych wprowadza się dane trzeciego parametru mowy i dane czwartego parametru mowy, przy czym w trakcie tworzenia pozostałej części określonych danych, następującej po określonych częściach jednego z zespołu danych zawierających określone parametry mowy, znajdujących się w pakiecie danych, generuje się dane trzeciego parametru mowy bezpośrednio po zespole danych w pakiecie danych oraz generuje się dane czwartego parametru mowy bezpośrednio po danych trzeciego parametru mowy w pakiecie danych.
  6. 6. Sposób według zastrz. 2, znamienny tym, że w trakcie obliczania kodu korekcyjnego błędów oblicza się kod kontroli parzystości na podstawie niektórych z danych o częstotliwości spektralnej pary linii (LSP), danych tonu i danych książki kodowej, zaś w trakcie tworzenia danych w pakiecie danych i przeplatania kodu korekcyjnego błędów składa się w określonej sekwencji w części początkowej pakietu danych dane pierwszej części każdych danych o częstotliwości LSP, składa się w określonej sekwencji, innej niż w początkowej części pakietu danych, dane drugiej części wszystkich danych o częstotliwości LSP, przy czym sekwencja drugiej części danych o częstotliwości LSP następuje bezpośrednio po sekwencji pierwszej części danych o częstotliwości LSP w pakiecie danych, tworzy się następnie, inną niż początkowa część pakietu danych, sekwencję danych tonu i danych książki kodowej, po której następuje sekwencja drugiej części danych o częstotliwości LSP w pakiecie danych, oraz tworzy się kod kontroli parzystości w pakiecie danych inny niż w początkowej części pakietu danych.
  7. 7. Sposób według zastrz. 6, znamienny tym, że kod kontroli parzystości przeplata się w pakiecie danych następującym po pierwszej części wszystkich danych o częstotliwości LSP.
  8. 8. Sposób według zastrz. 7, znamienny tym, że przeplata się w pakiecie danych części wszystkich danych książki kodowej w sekwencji drugich części wszystkich danych o częstotliwości LSP i w sekwencji danych tonu i danych książki kodowej, przy czym kody kontroli parzystości przeplata się w sekwencji danych tonu i danych książki kodowej po przeplecionych częściach danych książki kodowej.
    172 397
  9. 9. Sposób według zastrz. 6, znamienny tym, że przy jednej szybkości nadawania, w pierwszej grupie zespołów danych dotyczących tonu, wprowadza się cztery zespoły danych tonu, przy czym każdy zespół danych dotyczących wysokości zawiera dane opóźnienia tonu i dane wzmocnienia tonu, w pierwszej grupie zespołów danych książki kodowej wprowadza się osiem zespołów danych książki kodowej, zaś każdy zespół danych książki kodowej zawiera indeks książki kodowej i dane wzmocnienia książki kodowej.
  10. 10. Sposób według zastrz. 6, znamienny tym, że przy innej szybkości nadawania ramki danych zawierających parametry mowy, odbiera się drugie dane o częstotliwości spektralnej pary linii (LSP), odbiera się drugie dane tonu, odbiera się drugie dane książki kodowej, składa się w określonej sekwencji na początku pakietu danych wszystkie dane o częstotliwości LSP z drugich danych o częstotliwości LSP oraz składa się w określonej sekwencji drugie dane tonu i dane książki kodowej po sekwencji danych o częstotliwości LSP w pakiecie danych.
  11. 11. Sposób według zastrz. 1, znamienny tym, że w trakcie tworzenia ramki danych o pełnej szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentujące odebrane próbki mowy, generuje się na podstawie danych zawierających parametry mowy uporządkowaną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP), generuje się, na podstawie danych zawierających parametry mowy, przeplecioną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP) i niektórych najbardziej znaczących bitów wzmocnienia książki kodowej (CBGAIN) oraz generuje się, na podstawie danych zawierających parametry mowy, przeplecioną sekwencję pozostałych bitów CBGAIN, bitów wzmocnienia tonu (PGAIN), bitów opóźnienia tonu (PLAG), bitów indeksu książki kodowej (CBINDEX) i bitów kontroli parzystości (PCB).
  12. 12. Sposób według zastrz. 1, znamienny tym, że w trakcie tworzenia ramki danych o połówkowej szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentujące odebrane próbki mowy, generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP) oraz generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję bitów wzmocnienia książki kodowej (CBGAIN), bitów wzmocnienia tonu (PGAIN), bitów opóźnienia tonu (PLAG) i bitów indeksu książki kodowej (CBINDEX).
  13. 13. Sposób według zastrz. 1, znamienny tym, że w trakcie tworzenia ramki danych o ćwiartkowej szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentując odebrane próbki mowy, generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję najbardziej znaczących bitów pary spektralnej linii (LSP) oraz generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję bitów wzmocnienia książki kodowej (CBGAIN), bitów wzmocnienia tonu (PGAIN), bitów opóźnienia tonu (PLAG) i bitów indeksu książki kodowej (CBINDEX).
  14. 14. Sposób według zastrz. 1, znamienny tym, że w trakcie tworzenia ramki danych o oktetowej (jedna ósma) szybkości nadawania z odebranych próbek mowy, generuje się dane zawierające parametry mowy reprezentujące odebrane próbki mowy, generuje się, na podstawie danych zawierających parametry mowy, przeplecioną sekwencję bitów zarodkowych (CBSEED) i bitów pary spektralnej linii (LSP) oraz generuje się, na podstawie danych zawierających parametry mowy, uporządkowaną sekwencję bitów wzmocnienia książki kodowej (CBGAIN).
  15. 15. Sposób formatowania danych zawierających parametry mowy w trakcie ich odbioru w postaci pakietu danych, w którym odebrane ramki danych zawierających zakodowane cyfrowo parametry mowy, posiadające różne prędkości nadawania, dekoduje się na odpowiadające ramki próbek mowy, przy czym dane parametrów mowy o najwyższej prędkości nadawania zawierają część danych każdego parametru mowy z danych jednego typu parametru mowy we wcześniej określonym porządku w początkowej części pakietu danych, następnie po początkowej części pakietu danych następuje pozostała część pakietu danych, w której jest wyłącznie inna część danych każdego parametru z jednego zestawu danych parametrów mowy we wcześniej określonym porządku, i po której następują wyłącznie w pozostałej części pakietu danych pozostałe zawierające parametry mowy dane ramki danych o zmiennej szybkości nadawania, zaś dane kontroli parzystości są wyłącznie w pozostałej części pakietu danych, przy czym dane parzystości oblicza się na podstawie danych zawierających parametry mowy zawarte w pakiecie danych,
    172 397 znamienny tym, że odbiera się ramki danych zawierających parametry mowy posiadające największą szybkość nadawania, ponownie składa się dane obu części wszystkich danych jednego typu parametru mowy, dla utworzenia danych powtórnie złożonych, oblicza się dane parzystości z danych parametrów mowy w odebranej ramce danych parametrów mowy posiadającej największą szybkość nadawania, porównuje się obliczone dane parzystości z danymi parzystości w ramce danych parametrów mowy posiadającej największą szybkość nadawania oraz tworzy się dane powtórnie złożone i pozostałe dane parametrów mowy dla odtworzenia próbek mowy, jeżeli obliczone dane parzystości są takie same, jak odebrane dane parzystości.
  16. 16. Sposób według zastrz. 15, znamienny tym, że w trakcie formatowania ramki danych parametrów mowy posiadających mniejszą szybkość transmisji z danymi parametrów mowy w pakiecie danych we wcześniej określonym porządku odpowiadającym szybkości nadawania danych w ramce zawierającej dane o zmiennej szybkości nadawania, odbiera się wskazania szybkości nadawania danych dla każdej odebranej ramki danych zawierających parametry mowy o zmiennej szybkości nadawania danych i tworzy się dane parametrów mowy we wcześniej określonym formacie zgodnie ze wskazaniem szybkości nadawania odebranej ramki danych o zmiennej szybkości nadawania danych.
  17. 17. Sposób według zastrz. 15, znamienny tym, że do ramki danych zawierających parametry mowy posiadających najwyższą szybkość transmisji wprowadza się następnie część każdych danych parametrów mowy innego typu parametru mowy przeplecionych z inną częścią danych parametrów mowy z danych jednego typu parametru mowy, oraz następnie powtórnie składa się każdą część danych parametrów mowy innego typu danych parametrów mowy z odpowiadającą pozostałą częścią wszystkich danych parametrów mowy tego innego typu.
  18. 18. Sposób według zastrz. 15, znamienny tym, że odbiera się wskazania odpowiadające pełnej szybkości nadawania danych dla odebranej ramki danych parametrów mowy posiadających największą szybkość nadawania, przy czym wskazanie odpowiadające pełnej prędkości nadawania odnosi się do co najmniej jednego błędu w co najmniej jednych danych parametrów mowy i danych parzystości, oblicza się dane parzystości z danych parametrów mowy w odebranej ramce danych zawierających parametry mowy, porównuje się obliczone dane parzystości z danymi parzystości w odebranej ramce danych zawierających dane parametrów mowy 0 największej szybkości nadawania, wykrywa się na podstawie porównania obliczonych danych parzystości z danymi parzystości w odebranej ramce danych o największej szybkości danych parametrów mowy błąd w co najmniej jednych z danych parametrów mowy i danych parzystości w odebranej ramce danych zawierających dane parametrów mowy o największej szybkości nadawania, koryguje się wykryty błąd, jeżeli występuje on w niektórych z danych parametrów mowy i danych parzystości w odebranej ramce danych parametrów mowy o największej szybkości nadawania, powtórnie składa się dane obu części wszystkich danych zawierających parametry mowy jednego zespołu danych parametrów mowy oraz wytwarza się sygnał wyjściowy z danych parametrów mowy, gdy wykryty błąd występuje w niektórych z danych parzystości, 1 ze skorygowanych danych parametrów mowy, gdy wykryty błąd pojawia się w niektórych z danych parametrów mowy.
PL93305984A 1992-01-28 1993-01-26 Sposób formatowania danych zawierajacych parametry mowy PL PL PL PL172397B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82670192A 1992-01-28 1992-01-28
PCT/US1993/000703 WO1993015502A1 (en) 1992-01-28 1993-01-26 Method and system for the arrangement of vocoder data for the masking of transmission channel induced errors

Publications (2)

Publication Number Publication Date
PL305984A1 PL305984A1 (en) 1995-02-20
PL172397B1 true PL172397B1 (pl) 1997-09-30

Family

ID=25247288

Family Applications (1)

Application Number Title Priority Date Filing Date
PL93305984A PL172397B1 (pl) 1992-01-28 1993-01-26 Sposób formatowania danych zawierajacych parametry mowy PL PL PL

Country Status (21)

Country Link
US (1) US5600754A (pl)
EP (1) EP0624275B2 (pl)
JP (1) JP3604689B2 (pl)
KR (1) KR0168900B1 (pl)
CN (2) CN100382479C (pl)
AT (1) ATE180091T1 (pl)
AU (1) AU678962B2 (pl)
BR (1) BR9305808A (pl)
CA (1) CA2128708C (pl)
DE (1) DE69324906T3 (pl)
DK (1) DK0624275T4 (pl)
ES (1) ES2131576T5 (pl)
FI (1) FI118103B (pl)
GR (1) GR3030910T3 (pl)
IL (1) IL104500A (pl)
MX (1) MX9300442A (pl)
NO (1) NO942751D0 (pl)
PL (1) PL172397B1 (pl)
TW (1) TW224191B (pl)
WO (1) WO1993015502A1 (pl)
ZA (1) ZA93450B (pl)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3003839B2 (ja) * 1993-11-08 2000-01-31 エヌ・ティ・ティ移動通信網株式会社 Cdma通信方法および装置
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
US5751739A (en) * 1994-04-29 1998-05-12 Lucent Technologies, Inc. Methods of and devices for enhancing communications that use spread spectrum technology
GB2290201B (en) * 1994-06-09 1998-03-04 Motorola Ltd Communications system
US5704001A (en) * 1994-08-04 1997-12-30 Qualcomm Incorporated Sensitivity weighted vector quantization of line spectral pair frequencies
US6334219B1 (en) * 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
FR2729247A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FR2729244B1 (fr) * 1995-01-06 1997-03-28 Matra Communication Procede de codage de parole a analyse par synthese
USRE42236E1 (en) 1995-02-06 2011-03-22 Adc Telecommunications, Inc. Multiuse subcarriers in multipoint-to-point communication using orthogonal frequency division multiplexing
US7280564B1 (en) 1995-02-06 2007-10-09 Adc Telecommunications, Inc. Synchronization techniques in multipoint-to-point communication using orthgonal frequency division multiplexing
FI950917A7 (fi) 1995-02-28 1996-08-29 Nokia Telecommunications Oy Puhekoodausparametrien käsittely tietoliikennejärjestelmässä
ZA965340B (en) 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
US5754734A (en) * 1995-10-31 1998-05-19 Motorola, Inc. Method of transmitting voice coding information using cyclic redundancy check bits
FI103456B (fi) * 1996-03-29 1999-06-30 Nokia Telecommunications Oy Puheen siirto pakettiverkossa
US5920581A (en) * 1996-05-31 1999-07-06 Vtech Communications, Ltd. Error detection method and apparatus for digital communication data packets
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
KR100199959B1 (ko) * 1996-10-14 1999-06-15 김영환 시디엠에이 이동통신 시스템의 패리티 검사장치 및 그 방법
KR100261254B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치
KR100198476B1 (ko) * 1997-04-23 1999-06-15 윤종용 노이즈에 견고한 스펙트럼 포락선 양자화기 및 양자화 방법
IL120788A (en) * 1997-05-06 2000-07-16 Audiocodes Ltd Systems and methods for encoding and decoding speech for lossy transmission networks
CA2289231C (en) * 1997-05-14 2007-07-10 Qualcomm Incorporated A subscriber unit and method for use in a wireless communication system
WO1999001941A1 (es) * 1997-07-02 1999-01-14 Alcatel Alsthom - Compagnie Generale D'electricite Dispositivo de transmision de una señal de voz codificada adpcm
GB2328125B (en) 1997-08-08 2002-04-10 Ericsson Telefon Ab L M Network control system
US5872774A (en) * 1997-09-19 1999-02-16 Qualcomm Incorporated Mobile station assisted timing synchronization in a CDMA communication system
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
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
US6169759B1 (en) 1999-03-22 2001-01-02 Golden Bridge Technology Common packet channel
US6606341B1 (en) 1999-03-22 2003-08-12 Golden Bridge Technology, Inc. Common packet channel with firm handoff
JP2000305599A (ja) 1999-04-22 2000-11-02 Sony Corp 音声合成装置及び方法、電話装置並びにプログラム提供媒体
GB9910002D0 (en) * 1999-05-01 1999-06-30 King S College London Audio signal encoders and decoders
US6226283B1 (en) * 1999-05-13 2001-05-01 Motorola, Inc. Method and selector for performing selection in a communication system
US6259744B1 (en) * 1999-06-01 2001-07-10 Motorola, Inc. Method and apparatus for mapping bits to an information burst
JP3613448B2 (ja) * 1999-06-21 2005-01-26 株式会社エヌ・ティ・ティ・ドコモ データ伝送方法、データ伝送システム、送信装置および受信装置
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
EP1089439A1 (en) * 1999-09-28 2001-04-04 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Interleaver and method for interleaving an input data bit sequence using a coded storing of symbol and additional information
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
WO2001054339A1 (en) 2000-01-20 2001-07-26 Nortel Networks Limited Hybrid arq schemes with soft combining in variable rate packet data transmission
DE10031803C2 (de) * 2000-07-04 2002-09-19 Bosch Gmbh Robert Verfahren zur Übertragung von digitalen Daten mittels Rundfunksignalen im orthogonalen Frequenzmultiplex(OFDM)
US6807312B2 (en) * 2001-07-13 2004-10-19 Sharp Laboratories Of America, Inc. Robust codebooks for vector quantization
JP3463752B2 (ja) 2001-07-25 2003-11-05 三菱電機株式会社 音響符号化装置、音響復号化装置、音響符号化方法および音響復号化方法
JP3469567B2 (ja) * 2001-09-03 2003-11-25 三菱電機株式会社 音響符号化装置、音響復号化装置、音響符号化方法及び音響復号化方法
US6671518B2 (en) * 2001-11-19 2003-12-30 Motorola, Inc. Method and apparatus for transmitting voice information
US7164672B1 (en) 2002-03-29 2007-01-16 At&T Corp. Method and apparatus for QoS improvement with packet voice transmission over wireless LANs
US20040225500A1 (en) * 2002-09-25 2004-11-11 William Gardner Data communication through acoustic channels and compression
DE102004018858A1 (de) * 2004-04-19 2005-11-10 Elektro Beckhoff Gmbh Unternehmensbereich Industrie Elektronik Verfahren und Steuerungssystem zum Erkennen eines Fehlers bei einer Verarbeitung von Daten in einem Verarbeitungssystem
JP4982374B2 (ja) * 2005-05-13 2012-07-25 パナソニック株式会社 音声符号化装置およびスペクトル変形方法
US7395202B2 (en) * 2005-06-09 2008-07-01 Motorola, Inc. Method and apparatus to facilitate vocoder erasure processing
KR101169281B1 (ko) 2005-10-05 2012-08-02 엘지전자 주식회사 오디오 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩 방법 및 이의 장치
WO2014202789A1 (en) 2013-06-21 2014-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoding with reconstruction of corrupted or not received frames using tcx ltp
US9542955B2 (en) * 2014-03-31 2017-01-10 Qualcomm Incorporated High-band signal coding using multiple sub-bands
RU2584462C2 (ru) * 2014-06-10 2016-05-20 Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования Московский технический университет связи и информатики (ФГОБУ ВПО МТУСИ) Способ передачи и приема сигналов, представленных параметрами ступенчатого модуляционного разложения, и устройство для его осуществления
CN106486129B (zh) * 2014-06-27 2019-10-25 华为技术有限公司 一种音频编码方法和装置
EP2980799A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing an audio signal using a harmonic post-filter
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
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
CN110136735B (zh) * 2019-05-13 2021-09-28 腾讯音乐娱乐科技(深圳)有限公司 一种音频修复方法、设备及可读存储介质
WO2020250369A1 (ja) * 2019-06-13 2020-12-17 日本電信電話株式会社 音信号受信復号方法、音信号復号方法、音信号受信側装置、復号装置、プログラム及び記録媒体
WO2020250371A1 (ja) * 2019-06-13 2020-12-17 日本電信電話株式会社 音信号符号化送信方法、音信号符号化方法、音信号送信側装置、符号化装置、プログラム及び記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4100377A (en) * 1977-04-28 1978-07-11 Bell Telephone Laboratories, Incorporated Packet transmission of speech
US4617676A (en) * 1984-09-04 1986-10-14 At&T Bell Laboratories Predictive communication system filtering arrangement
CA1220282A (en) * 1985-04-03 1987-04-07 Northern Telecom Limited Transmission of wideband speech signals
US4665514A (en) * 1985-08-02 1987-05-12 American Telephone And Telegraph Company, At&T Bell Laboratories Integrated voice/data network
US4726037A (en) * 1986-03-26 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Predictive communication system filtering arrangement
US4903301A (en) * 1987-02-27 1990-02-20 Hitachi, Ltd. Method and system for transmitting variable rate speech signal
US4922537A (en) * 1987-06-02 1990-05-01 Frederiksen & Shu Laboratories, Inc. Method and apparatus employing audio frequency offset extraction and floating-point conversion for digitally encoding and decoding high-fidelity audio signals
FR2621436B1 (fr) * 1987-10-02 1990-01-19 Matra Communication Procede et installation de transmission numerique de parole entre mobiles
US4852179A (en) * 1987-10-05 1989-07-25 Motorola, Inc. Variable frame rate, fixed bit rate vocoding method
JP3102015B2 (ja) * 1990-05-28 2000-10-23 日本電気株式会社 音声復号化方法
DE69233502T2 (de) * 1991-06-11 2006-02-23 Qualcomm, Inc., San Diego Vocoder mit veränderlicher Bitrate

Also Published As

Publication number Publication date
AU3593993A (en) 1993-09-01
PL305984A1 (en) 1995-02-20
KR0168900B1 (ko) 1999-03-20
CN1081037A (zh) 1994-01-19
ATE180091T1 (de) 1999-05-15
ES2131576T3 (es) 1999-08-01
CN1072867C (zh) 2001-10-10
JP3604689B2 (ja) 2004-12-22
DK0624275T4 (da) 2005-10-31
WO1993015502A1 (en) 1993-08-05
HK1035976A1 (zh) 2001-12-14
ZA93450B (en) 1993-12-28
DE69324906D1 (de) 1999-06-17
FI118103B (fi) 2007-06-29
IL104500A0 (en) 1993-05-13
JPH07506439A (ja) 1995-07-13
CA2128708A1 (en) 1993-08-05
MX9300442A (es) 1994-07-29
IL104500A (en) 1996-06-18
FI943538A0 (fi) 1994-07-27
DE69324906T2 (de) 1999-12-02
US5600754A (en) 1997-02-04
HK1011110A1 (en) 1999-07-02
ES2131576T5 (es) 2006-02-01
CN1290085A (zh) 2001-04-04
EP0624275B1 (en) 1999-05-12
EP0624275B2 (en) 2005-08-31
DK0624275T3 (da) 1999-11-15
GR3030910T3 (en) 1999-11-30
EP0624275A1 (en) 1994-11-17
AU678962B2 (en) 1997-06-19
FI943538A7 (fi) 1994-09-27
DE69324906T3 (de) 2006-08-10
BR9305808A (pt) 1997-02-18
NO942751D0 (no) 1994-07-22
EP0624275A4 (en) 1995-01-25
CN100382479C (zh) 2008-04-16
CA2128708C (en) 1998-07-14
TW224191B (pl) 1994-05-21

Similar Documents

Publication Publication Date Title
PL172397B1 (pl) Sposób formatowania danych zawierajacych parametry mowy PL PL PL
CA2483296C (en) Variable rate vocoder
US6378101B1 (en) Multiple program decoding for digital audio broadcasting and other applications
EP0671032A4 (en) CODING WITH MODULATION, ERROR CONTROL, WEIGHTING AND BIT ASSIGNMENT.
US5054025A (en) Method for eliminating errors in block parameters
JP3265339B2 (ja) 音声復号化装置
KR100462024B1 (ko) 부가 음성 데이터를 이용한 패킷 손실 복구 방법 및 이를이용한 송수신기
HK1011110B (en) Method and system for the arrangement of vocoder data for the masking of transmission channel induced errors
HK1035976B (en) Method and system for the arrangement of vocoder data for the masking of transmission channel induced errors
JPH09149104A (ja) 擬似背景雑音生成方法
KR19980079052A (ko) 리드 솔로몬 코드의 서브코드를 이용한 비 균일 에러 방지 기법
HK1014796B (en) Variable rate vocoder