DE69705642T2 - Audio-kodierverfahren mit veränderlicher kodelänge unter verwendung einer mehrzahl von teilband-bitverteilungsmoden - Google Patents

Audio-kodierverfahren mit veränderlicher kodelänge unter verwendung einer mehrzahl von teilband-bitverteilungsmoden

Info

Publication number
DE69705642T2
DE69705642T2 DE69705642T DE69705642T DE69705642T2 DE 69705642 T2 DE69705642 T2 DE 69705642T2 DE 69705642 T DE69705642 T DE 69705642T DE 69705642 T DE69705642 T DE 69705642T DE 69705642 T2 DE69705642 T2 DE 69705642T2
Authority
DE
Germany
Prior art keywords
region
module
transform coefficients
categorization
energy
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
DE69705642T
Other languages
English (en)
Other versions
DE69705642D1 (de
Inventor
Brant Helf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Polycom Inc
Original Assignee
Picturetel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Picturetel Corp filed Critical Picturetel Corp
Publication of DE69705642D1 publication Critical patent/DE69705642D1/de
Application granted granted Critical
Publication of DE69705642T2 publication Critical patent/DE69705642T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/667Details 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 a division in frequency subbands

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

  • Die vorliegende Erfindung betrifft allgemein Audiokodierungs- oder -dekodierungsverfahren und -vorrichtungen und insbesondere Kodierungs- und Dekodierungsverfahren und -vorrichtungen zur Reduktion der erforderlichen Anzahl von Bit zum Übertragen digitalisierter Audiosignale und zur Ermöglichung einer Wiedergabe des Audiosignals in einem fernen Dekodierer.
  • In der Technik ist bekannt, daß Audiosignale manchmal zu einem Empfänger übertragen werden, indem sie zunächst in entsprechende digitalisierte Abtastwerte konvertiert werden. Jeder digitalisierte Abtastwert besteht aus einer Anzahl von Bit, zum Beispiel aus 8 oder 16 Bit. Um die Anzahl übertragener Bit, d. h. die Bitrate, zu reduzieren, wurden verschiedene Kodierungsverfahren und -vorrichtungen vorgeschlagen. Das Kodierungsverfahren versucht, die Bitrate zu reduzieren, während eine Wiedergabe der Audiosignale in einem fernen Dekodierer ermöglicht wird.
  • In bezug auf Videokonferenzsysteme werden kodierte Audio- und Videosignale über Kommunikationsleitungen mit einer bestimmten festen verfügbaren Bitrate übertragen. Solche kodierten Videoübertragungen sind bitratenintensiv, und es ist daher wünschenswert, einen größeren Teil der verfügbaren Medium- Übertragungsbandbreite dem Videosignal, und nicht dem kodierten Audiosignal, zuzuteilen. Bei dem Versuch, mehr Bandbreite für die Videosignale zu reservieren, wurden Audiokodierungsverfahren so ausgelegt, daß sie immer kleinere Teile der verfügbaren Bandbreite verwenden, ohne gleichzeitig die Qualität des Audiosignals zu opfern. Die CCITT-Empfehlung G722 ist ein Beispiel für einen Standard, der Qualitätsrichtlinien für die digitale Übertragung von Sieben-Kilohertz-Audiosignalen mit einer Übertragungsrate von 48.000 Bit pro Sekunde angibt. Ein anderes Verfahren wird durch den Audiokomprimierungsalgorithmus PictureTel PT724 realisiert. Dieser Algorithmus ermöglicht die digitale Übertragung von Sieben-Kilohertz-Signalen mit 24.000 Bit pro Sekunde.
  • Mit der zunehmenden Notwendigkeit, die Qualität der Videoübertragung zu verbessern, und somit der Notwendigkeit, einen größeren Teil der benutzbaren Bandbreite zu verwenden, besteht ein zunehmender Bedarf an Verfahren zur Reduktion der zur Übertragung von Audiosignalen erforderlichen Anzahl von Bit, ohne die Audioqualität zu opfern.
  • Aus dem US-Patent Nr. 5,109,417 ist ein Transformationskodierer und -dekodierer bekannt, der eine adaptive Bitzuteilung für Teilbandkanäle verwendet.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Kodierung eines Audiosignals bereitgestellt, wobei das Verfahren dem Anspruch 1 der angefügten Reihe von Ansprüchen entspricht.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Dekodierung eines Audiosignals bereitgestellt, wobei das Verfahren dem Anspruch 2 der angefügten Reihe von Ansprüchen entspricht.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Kodierer zur Kodierung eines Audiosignals bereitgestellt, wobei der Kodierer dem Anspruch 3 der angefügten Reihe von Ansprüchen entspricht.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung wird ein Dekodierer zum Dekodieren eines Audiosignals bereitgestellt, wobei der Dekodierer dem Anspruch 4 der angefügten Reihe von Ansprüchen entspricht.
  • Gemäß einem fünften Aspekt der vorliegenden Erfindung wird ein Kodierungs- und Dekodierungssystem zum Kodieren und Dekodieren eines Audiosignals bereitgestellt, wobei das System dem Anspruch 5 der angefügten Reihe von Ansprüchen entspricht.
  • Bei der bevorzugten Ausführungsform werden ein Audiosignalkodierungsverfahren und eine Audiosignalkodierungsvorrichtung bereitgestellt, wobei sich überlappende Gruppen der digitalisierten Abtastwerte eines Audiosignals in Blöcke von Transformationskoeffizienten konvertiert werden. Jeder. Block von Transformationskoeffizienten wird in Regionen gruppiert. Die Energie in jedem Bereich wird ermittelt, quantisiert, indiziert und mit variabler Bitlänge kodiert. Ein Kategorisierungsverfahren bestimmt eine vorbestimmte Anzahl von Kategorisierungen unter Verwendung der quantisierten Region-Energieindizes und der Anzahl von Bit, die nach der Region- Energiekodierung übrigbleibt. Jede Kategorisierung spezifiziert eine Quantisierung und Kodierungskategoriezuteilung für jede Region, wobei jede Kategorie eine Quantisierungsschrittgröße, eine Totzone, eine Vektordimension und eine Variable- Bitlängen-Kodierungstabelle und zugeordnete Dekodierungstabellen definiert. Für jede Kategorisierung wird die Quantisierungs- und Kodierungskategorie für jede Region entsprechend den quantisierten Energieindizes in der Region, den quantisierten Energieindizes in allen Regionen und der Anzahl verfügbarer Bit ausgewählt. Die zum Übertragen der kodierten Transformationskoeffizienten unter Verwendung jeder Kategorisierung erforderliche Anzahl von Bit wird ermittelt. Die Transformationskoeffizienten werden unter Verwendung einer der Kategorisierungen kodiert, die entsprechend einem Maximal-Bitraten-Kriterium ausgewählt wird. Die kodierten quantisierten Region-Energieindizes, eine Kennung der gewählten Kategorisierung und die kodierten Transformationskoeffizienten werden zu einem Dekodierer übertragen.
  • Gemäß dem bevorzugten Dekodierer der Erfindung wird die quantisierte Energie in jeder der Regionen aus den übertragenen quantisierten Energieindizes dekodiert und rekonstruiert. Dieselbe Menge von Kategorisierungen, die der Kodierer bestimmt hat, wird unter Verwendung der quantisierten Energieindizes und der Anzahl von Bit, die nach der Region-Energiedekodierung übrigbleibt, ermittelt. Die gewählte der Kategorisierungen wird aus ihrer Kennung ermittelt, die vom Kodierer zum Dekodierer übertragen wird, und die Quantisierungs- und Kodierungskategoriezuteilung wird für jede der Regionen aus der bestimmten Kategorisierung ermittelt. Für jede Region wird aus der für die Region bestimmten Kategorie und der rekonstruierten quantisierten Energie in der Region eine Transformationskoeffizienten-Rekonstruktionspegeltabelle, die Vektordimension und eine Variable- Bitlängen-Dekodierungstabelle bestimmt. Die quantisierten Transformationskoeffizienten werden für jede Region aus der Transformationskoeffizienten- Rekonstruktionspegeltabelle, der Vektordimension und der Variable-Bitlängen-Dekodierungstabelle rekonstruiert. Die Transformationskoeffizienten werden in ein Zeitbereichs-Audiosignal transformiert.
  • Mit diesem Verfahren und dieser Vorrichtung wird eine qualitativ hochwertige Wiedergabe des Audiosignals für vielfältige Signale erzielt, wie zum Beispiel Musik, Sprache und durch Hintergrundgeräusche und Hall verschlechterte Sprache.
  • Diese und andere Merkmale der Erfindung werden aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen offensichtlicher. Es zeigen:
  • Fig. 1 ein. Flußdiagramm eines Verfahrens zur Kodierung eines Audiosignals gemäß der Erfindung;
  • Fig. 2 ein Flußdiagramm eines Verfahrens zur Dekodierung eines Audiosignals, das durch das Verfahren von Fig. 1 kodiert wurde, gemäß der Erfindung;
  • Fig. 3 ein Blockschaltbild eines Kodierers, der zur Kodierung eines Audiosignals gemäß der Erfindung ausgelegt ist; und
  • Fig. 4 ein Blockschaltbild eines MLT-Transformationskoeffizienten-Quantisierungs- und -Kodierungsmoduls des Kodierers in Fig. 3, das eine repräsentative der vorbestimmten Anzahl von Kategorisierungen verwendet;
  • Fig. 5 einen Dekodierer, der zur Dekodierung eines durch den Kodierer von Fig. 3 kodierten Audiosignals gemäß der Erfindung ausgelegt ist;
  • Fig. 6 ein Blockschaltbild eines Moduls zur Variable- Bitlängen-Dekodierung und MLT-Rekonstruktion, das in dem Dekodierer von Fig. 5 verwendet wird; und
  • Fig. 7A bis Fig. 7C ein Flußdiagramm des Kategorisierungsverfahrens, das von dem Kodierer von Fig. 3 und dem Dekodierer von Fig. 5 verwendet wird.
  • KODIERUNG UND DEKODIERUNG - ALLGEMEINE ÜBERSICHT
  • Nunmehr mit Bezug auf Fig. 1 sind die Schritte bei der Kodierung eines Audiosignals gezeigt. Gemäß Schritt 100 werden also sich überlappende Gruppen der digitalisierten Abtastwerte eines Audiosignals in Blöcke von Transformationskoeffizienten konvertiert, und jeder Block von Transformationskoeffizienten wird in Regionen gruppiert. Gemäß Schritt 102 wird die Energie in jeder Region ermittelt, quantisiert und mit variabler Bitlänge kodiert. Gemäß Schritt 104 wird unter Verwendung der quantisierten Energieindizes und der Anzahl übriger Bit eine Menge von Kategorisierungen ermittelt. Jede Kategorisierung enthält eine Quantisierungs- und Kodierungskategoriezuteilung für jede Region. Jede Kategorie definiert eine Quantisierungsschrittgröße, eine Totzone, eine Vektordimension, eine Variable-Bitlängen- Kodierungstabelle und zugeordnete Dekodierungstabellen. Gemäß Schritt 106 wird die Quantisierungskodierungskategorie für jede Region entsprechend der quantisierten Energie in der Region, der quantisierten Energien in allen Regionen und der Anzahl verfügbarer Bit ausgewählt. Gemäß Schritt 106 werden Quantisierung und Variable-Bitlängen-Kodierungen unter Verwendung jeder Kategorisierung auf die Transformationskoeffizienten angewandt. Außerdem wird die zum Übertragen der kodierten Transformationskoeffizienten erforderliche Anzahl von Bit unter Verwendung jeder Kategorisierung ermittelt. Gemäß Schritt 108 wird eine der Kategorisierungen entsprechend einem Maximal- Bitzählwert-Kriterium ausgewählt und die Transformationskoeffizienten werden entsprechend kodiert. Gemäß Schritt 110 werden die kodierte Energie, eine Kennung der gewählten Kategorisierung und die kodierten Transformationskoeffizienten zu einem Dekodierer übertragen.
  • Nunmehr mit Bezug auf Fig. 2 sind die bei der Dekodierung des kodierten Audiosignals benutzten Schritte gezeigt. Im Schritt 200 wird also die quantisierte Energie in jeder der Regionen aus den übertragenen quantisierten Energieindizes dekodiert und rekonstruiert. Gemäß Schritt 202 wird dieselbe Menge von Kategorisierungen, die der Kodierer bestimmt hat, unter Verwendung der quantisierten Energieindizes und der nach der Region-Energiedekodierung übrigen Anzahl von Bit ermittelt. Gemäß Schritt 204 wird die gewählte der Kategorisierungen aus ihrer vom Kodierer zum Dekodierer übertragenen Kennung ermittelt, und die Quantisierungs- und Kodierungskategoriezuteilung wird für jede der Regionen aus der ermittelten Kategorisierung ermittelt. Gemäß Schritt 206 wird für jede Region aus der für die Region bestimmten Kategorie und der rekonstruierten quantisierten Energie in der Region eine Variable-Bitlängen-Dekodierungstabelle, die Vektordimension und eine Transformations-koeffizienten- Rekonstruktionspegeltabelle ermittelt. Gemäß Schritt 208 werden die quantisierten Transformationskoeffizienten für jede Region aus der Variable-Bitlängen-Dekodierungstabelle, der Vektordimension und der Transformationskoeffizienten- Rekonstruktionspegeltabelle rekonstruiert. Gemäß Schritt 210 werden die Transformationskoeffizienten in ein Zeitbereichs-Audiosignal transformiert.
  • KODIERER 9
  • Genauer gesagt ist unter Bezugnahme auf Fig. 3 ersichtlich, daß einem Kodierer 9 ein ankommendes Audiosignal zugeführt wird, das einer (nicht gezeigten) Leitung zugeführt wird. Das Audiosignal auf dieser Leitung wird in digitalisierte Abtastwerte konvertiert, hier in einen Strom von linearen 16-Bit-PCM- Abtastwerten mit einer Abtastrate von 16.000 Abtastwerten pro Sekunde durch einen (nicht gezeigten) Analog/Digital-Umsetzer (A/D-Umsetzer). Die digitalisierten Abtastwerte werden einem Frequenzspektrumanalysierer zugeführt, hier einer MLT (Modulated Lapped Transform) 16. Die MLT 16 liefert eine Projektion aus dem Zeitbereich in eine Menge orthogonaler Basisfunktionen. Hier verwendet die MLT 16 jede Gruppe von 640 digitalisierten Audiosignalabtastwerten, um einen Block von 320 MLT- Transformationskoeffizienten zu berechnen. Alle 20 Millisekunden (ms) werden die jüngsten 640 digitalisierten Abtastwerte verwendet, um einen Block von 320 Transformationskoeffizienten mit einer Mitte in 25-Hz-Intervallen zu berechnen. Um es noch anders auszudrücken: eine erste Gruppe von 640 Abtastwerten wird der MLT 16 zugeführt, und 20 Millisekunden später wird eine zweite Gruppe von 640 Abtastwerten der MLT 16 zugeführt, wobei zu beachten ist, daß die 640 Abtastwerte der zweiten Gruppe 320 Abtastwerte der ersten Gruppe enthalten. Somit werden die Abtastwerte des ankommenden Audiosignals, die der MLT 16 zugeführt werden, zu einer Folge von sich überlappenden Fenstern verarbeitet, wobei jedes Fenstern digitalisierte Abtastwerte von zwei Zeitbereichs-Blöcken aufweist, wobei jeder Zeitbereichs-Block 320 Abtastwerte aufweist. Es ist zu beachten, daß für den Betrieb mit 16.000, 24.000 und 32.000 Bit/Sekunde die Zuteilung von Bit pro Block jeweils 320, 480 bzw. 640 beträgt. Außerdem ist der Kodierer 9 so ausgelegt, daß er mit denselben Abtastwertzuständen wie der Audioübertragungsstandard G.722 ITU (International Telecommunications Union) arbeitet.
  • Die MLT 16 führt, wie bereits erwähnt, eine Frequenzspektrumanalyse der Abtastwerte durch und konvertiert dadurch die 640 Abtastwerte aus dem Zeitbereich in eine Frequenzbereichsdarstellung. Hier transformiert die MLT 16 die 640 Abtastwerte in 320 Frequenzkomponenten oder Transformationskoeffizienten. Es ist zu beachten, daß jeder Block von 640 Abtastwerten unabhängig verarbeitet und deshalb jeder Block von MLT-Transformationskoeffizienten unabhängig kodiert wird. Außerdem liegen die MLT- Transformationskoeffizienten hier in 25-Hz-Intervallen vor und werden in 14 Regionen R&sub0;-R&sub1;&sub3; aufgeteilt oder gruppiert, wobei jede Region jeweils 20 Transformationskoeffizienten aufweist. Somit überspannt jede Region 500 Hz. Es sei angemerkt, daß hier nur die 14 niedrigsten Frequenzregionen oder 280 Transformationskoeffizienten verwendet werden.
  • Als nächstes wird für jede der Regionen 0-13 durch das Region-Energiequantisierungs- und -Kodierungsmodul 22 die spektrale Energie ermittelt. Genauer gesagt wird die Quadratwurzel der mittleren Energie in jeder der Regionen in dem Modul 22 berechnet und quantisiert. Die niedrigste Frequenzregion wird hier mit 5 Bit kodiert, und die anderen werden differenzkodiert (in bezug auf einander, nicht auf den vorherigen Block). Insbesondere wird die quantisierte Energie für jede der Regionen mit einem Kode mit variabler Bitlänge (d. h. Entropiekode), hier einem Huffman-Kode, in dem Modul 22 kodiert. Die Kodebit, die die quantisierte Energie in den Regionen darstellen, werden auf der Leitung 26 (d. h. Kodebit) von dem Modul 22 erzeugt, um über einen Multiplexer 28 auf dem Übertragungskanal 27 zu einem Dekodierer 30 (Fig. 4) übertragen zu werden. In der Regel werden 45 bis 65 Kodebit verwendet, um die Hüllkurve der spektralen Energie (d. h. Amplitude) der Energie über die Regionen darzustellen. Somit wird die quantisierte spektrale Energie für jede Region in einem kodierten Format zu einem Übertragungskanal 27 übertragen. Das Modul 22 für die Region-Energiequantisierung und -kodierung erzeugt außerdem den entsprechenden Bitzählwert auf der Leitung 29. Das Modul 22 erzeugt auch die entsprechenden Energiequantisierungspegelindizes P&sub0;-P&sub1;&sub3; für jede der 14 Regionen auf der Leitung 31. Diese Indizes P&sub0;-P&sub1;&sub3; werden hier als rms_index[r] bezeichnet, wobei r der Region-Index von 0 bis 13 ist. Bei diesem Ausführungsbeispiel wird jeder MLT- Transformationskoeffizient in einer Region zunächst mit der entsprechenden Quadratwurzel der quantisierten mittleren Energie für die Region normiert und dann skalarquantisiert. (Dies entspricht funktionsmäßig der Quantisierung der unnormierten MLT- Transformationskoeffizienten mit einer Schrittgröße, die das Produkt der quantisierten Effektivwert-Energie (rms-Energie) der Region und der Schrittgröße einer für die Region gewählten Quantisierungskategorie (d. h. hier acht Kategorien, Kategorie 0 bis Kategorie 7) ist, die noch beschrieben wird.) Es ist hier jedoch zu beachten, daß jeder der Regionen 0-13 eine separate Quantisierungskategorie oder Quantisierungsschrittgröße (d. h. Kategorie 0 bis Kategorie 7) zugeteilt wird, wobei die Ansammlung von Kategorien für jede Region eine aus einer vorbestimmten Anzahl (hier 16) von Kategorisierungen definiert (d. h. Kategorisierung 0 - Kategorisierung 15). Wie bereits erwähnt, gibt es 8 Quantisierungskategorien, d. h. Kategorie 0 bis Kategorie 7. Die Kategorie 0 besitzt die kleinste Quantisiererschrittgröße und verwendet die meisten Bit. Die Kategorie 7 hat nur einen Quantisierungsausgangswert, der auf "0" gesetzt wird. Für jede Kategorie gibt es die folgenden Quantisierungsparameter: Quantisierungsschrittgröße (d. h. Schrittgröße), Totzonenexpansionsparameter (d. h. deadzone_rounding), maximaler Skalarquantisierungsindex (d. h. kmax), Dekodiererrekonstruktionspegel, Vektordimension zum Kombinieren von Skalarquantisierungsindizes (d. h. vd) und einen Variable-Bitlängen-Kode für jeden Vektor (d. h. u). Für jede Kategorie gibt es außerdem einen erwarteten Bitverbrauch. Somit wird für eine Kategorisierung jeder Region eine der acht Quantisierungskategorien zugeteilt, und jeder der normierten MLT- Transformationskoeffizienten in der Region wird mit der Schrittgröße (stepsize) skalarquantisiert, die dieser Kategorie entspricht. Die resultierenden Quantisierungsindizes werden zu Vektoren kombiniert und die resultierenden Vektoren Huffman-kodiert.
  • Anders ausgedrückt wird die Quantisierungskategorie unter Verwendung der spektralen Energien ermittelt, die oben für alle Regionen ermittelt wurden. Für jede Kategorisierung werden die Transformationskoeffizienten auf der Grundlage der Quantisierungsschrittgrößen quantisiert, die mit der Quantisierungskategorie verbunden sind, die jeder Region durch die Kategorisierung zugeteilt wurde. Das heißt: jeder der normierten MLT-Transformationskoeffizienten in einer Region wird unter Verwendung der Schrittgröße skalarquantisiert, die dieser Kategorie für diese Region entspricht. Die resultierenden Quantisierungsindizes werden zu Vektoren kombiniert und die resultierenden Vektoren hier unter Verwendung eines Huffman-Kodierers kodiert, und die zur Übertragung der quantisierten Informationen erforderliche Gesamtzahl von Bit wird entsprechend diesem Kategorisierungskodierungsverfahren ermittelt.
  • Da dieser Prozeß eine a priori unbekannte Anzahl von Bit erzeugt, kann es notwendig sein, die Kategoriezuteilung für einige Regionen so einzustellen, daß die Gesamtzahl von Bit in dem Block so weit wie möglich der Zuteilung entspricht, diese aber nicht übersteigt. Deshalb wird für die Regionen auf der Grundlage einer vorbestimmten Menge von Regeln, die noch beschrieben wird, eine Vielzahl perturbierter Kategoriezuteilungen (d. h. Kategorisierungen), hier 16, ermittelt. Für jede Kategorisierung wird die zur Übertragung der quantisierten Informationen entsprechend der Quantisierungsschrittgrößen, die sich aus den perturbierten Kategoriezuteilungen ergeben, erforderliche Gesamtzahl von Bit ermittelt. Auf der Grundlage eines wiedergabegetreuen Kriteriums (d. h. kleinstmögliche Quantisierungsschrittgrößen) und einer maximalen Kanalbitrate wird eine der Kategorisierungen und ihre Quantisierungsschrittgrößen für die Übertragung durch den Kanal 37 gewählt. Die Transformationskoeffizienten werden entsprechend den gewählten Quantisierungsschritten durch die Module 40&sub0;- 40&sub1;&sub5; quantisiert.
  • Insbesondere werden für jeden Block 4 Bit verwendet, um eine der 16 möglichen Kategorisierungen zu wählen. Hier spezifiziert eine Kategorisierung eine Kategoriezuteilung für jede der 14 Regionen. Bei der gezeigten Ausführungsform werden die Kategorisierungen in bezug auf den gesamten erwarteten Bitverbrauch umgekehrt indiziert. Kategorisierungen werden durch eine im voraus eingestellte. Regel oder im voraus eingestellte Prinzipien, die noch beschrieben werden, ermittelt, und einander benachbarte Indexordnungen unterscheiden sich nur in einer Region, und in dieser Region unterscheiden sich die Kategorieindizes nur um 1.
  • Die quantisierten Transformationskoeffizientenindizes werden zu Vektoren zusammengefaßt und dann zur Übertragung zu dem Kanal 27 in dem gewählten Quantisierungs- und Kodierungsmodul 40&sub0;-40&sub1;&sub5; kodiert. Danach werden die resultierenden Kodebit zusammen mit den quantisierten Energien auf der Leitung 26 und einer Kennung der gewählten Kategorisierung auf der Leitung 66 an den Multiplexer 28 angelegt. Der Dekodierer 30 (Fig. 5) kann aus den über den Kanal 27 empfangenen Informationen ein Audiosignal rekonstruieren.
  • Es wird ein Kategorisierungsprozedurmodul 32 bereitgestellt. Eine Kategorisierung besteht aus einer Kategoriezuteilung für jede der 14 Regionen. Das Kategorisierungsprozedurmodul 32 berechnet 16 mögliche Kategorisierungen für die Regionen gemäß einer vorbestimmten Regel oder vorbestimmten Prinzipien, die noch beschrieben werden.
  • Das erste Prinzip besteht darin, daß, wenn die Energie in einer Region A 2X dB größer ist als die Energie in einer Region B, die Quantisierungsschrittgröße, die auf unnormierte MLT-Transformationskoeffizienten in der Region A angewandt wird, um X dB größer sein sollte als die Schrittgröße, die auf unnormierte MLT- Transformationskoeffizienten in der Region B angewandt wird. Äquivalent sollte die Quantisierungsschrittgröße für die normierten MLT-Transformationskoeffizienten in der Region A um X dB kleiner sein als die Quantisierungsschrittgröße für die normierten MLT- Transformationskoeffizienten in der Region B. Bei diesem Kategorisierungsverfahren 32 kann, wenn die Region A niedrigere spektrale Frequenzen als die Region B aufweist, ihre Quantisiererschrittgröße für bestimmte Kategorisierungen um X+3 dB kleiner sein als die der Region A.
  • Das zweite Prinzip besteht darin, daß das Verhältnis der Signalenergie in einer Region zu dem Quantisierungsrauschen in dieser Region eine bestimmte Schwelle nicht übersteigen sollte, über die hinaus das Quantisierungsrauschen wahrnehmungsbezogen vollständig durch die Signalenergie maskiert wird. Bei diesem Prinzip handelt es sich im Grunde genommen um den Umstand, daß die kleinste Schrittgröße (0,3536 für die Kategorie 0) nicht sehr klein ist.
  • Somit hat das Kategorisierungsmodul 32, wie angedeutet, auf den Leitungen 34&sub0;-34&sub1;&sub5; jeweils 16 Kategorisierungen erzeugt (Kategorisierung 0 bis Kategorisierung 15).
  • Die Kategorisierungen (Kategorisierung 0 bis Kategorisierung 15) werden den Quantisierungs- und Kodierungsmodulen 40&sub0;-40&sub1;&sub5; zugeführt. Ein beispielhaftes Modul, hier das Modul 40&sub0;, ist in. Fig. 4 gezeigt. Als Reaktion auf: die Kategorisierung, hier die Kategorisierung 0 (d. h. die Kategoriezuteilung für jede Region); die MLT-Transformierungkoeffizienten in den Regionen R&sub0;-R&sub1;&sub3;; und die Menge von Region- Energiequantisierungspegeln P&sub0;-P&sub1;&sub3;, führt das Modul 40&sub0; eine Folge von Operationen durch. Diese Folge lautet: kombinierte Normierung und Quantisierung der MLT- Koeffizienten (Modul 50&sub0;-50&sub1;&sub3;), Gruppieren der Skalarquantisierungsindizes in Vektorindizes (Modul 51&sub0;- 51&sub1;&sub3;), und Variable-Bitlängen-Kodierung der Vectorindizes (Modul 51&sub0;-52&sub1;&sub3;). Für jede Region wird jede dieser drei Operationen entsprechend der Kategoriezuteilung für diese Region durchgeführt, die hier durch die Kategorisierung 0 bestimmt ist. Kodebit, die die quantisierten MLT-Transformationskoeffizienten darstellen, werden von dem Modul 52 auf den Leitungen 53&sub0;-53&sub1;&sub3; (d. h. Kodebit) erzeugt. Die Kodebit auf den Leitungen 53&sub0;-53&sub1;&sub3; werden einem Bitstrom- Zusammenstellungsmodul 54 zugeführt, das die Variable- Bitlängen-Kodes auf der Leitung 59&sub0; für einen Schalter 60 (Fig. 3) ordnet oder anordnet. Die Module 40&sub1;-40&sub1;&sub5; wirken auf ähnliche Weise, um auf den Leitungen 59&sub1;-59&sub1;&sub5; Kodebits zu erzeugen.
  • Die Module 52&sub0;-52&sub1;&sub3; erzeugen außerdem den entsprechenden Bitzählwert auf den Leitungen 54&sub0;-54&sub1;&sub3;. Diese Bitzählwerte werden in dem Modul 55 summiert, das einen Gesamt-MLT-Koeffizientenbitzählwert für die Kategorisierung 0 auf der Leitung 58&sub0; erzeugt. Die Module 40&sub1;-40&sub1;&sub5; wirken auf ähnliche Weise, um Bitzählwerte für die Kategorisierungen 1 bis 15 jeweils auf der Leitung 58&sub1;-58&sub1;&sub5; aufzusummieren. Das Modul 62 bestimmt die verfügbare Anzahl von Bit für die MLT- Transformationskoeffizientenübertragung. Dieses Modul 62 beginnt mit der vorbestimmten Anzahl von Bit pro Block auf der Leitung 64 (hier 320 Bit pro Block für den Betrieb mit 16.000 Bit pro Sekunde) und subtrahiert davon den Region-Energiebitzählwert auf der Leitung 29. Das Ergebnis wird um einen Bitzählwert von 4 reduziert, wobei es sich um die Anzahl von Bit handelt, die für die Kategorisierungsauswahl verwendet wird. Das Ergebnis ist die Anzahl verfügbarer Bit für die MLT- Transformationskoeffizientenübertragung. Das Modul 62 untersucht die Bitzählwerte auf den Leitungen 58&sub0;-58&sub1;&sub5;. Das Modul 62 identifiziert dann Kategorisierungen mit Bitzählwerten, die nicht über der Anzahl verfügbarer Bit für die MLT-Koeffizientenübertragung liegen. Aus der identifizierten Kategorisierung wählt das Modul 62 die Kategorisierung mit der am niedrigsten indizierten Kategorisierung aus, z. B. bevorzugt es die Kategorisierung N gegenüber der Kategorisierung. N+1. Das Modul 62 liefert die Vier-Bit-Darstellung dieses Kategorisierungsindexes N für den Schalter 60 und den Multiplexer 28 auf der Leitung 66.
  • Der Schalter 60 koppelt ausgewählte MLT- Transformationskoeffizienten-Kodebits auf einer der Leitungen 59&sub0;-59&sub1;&sub5; über die Leitung 61 an den Multiplexer 28 an. Der Multiplexer 28 koppelt die Bit auf den Leitungen 26, 66 und 66 sequentiell an den Kanal 27 an. Der Multiplexer erzeugt je nach Bedarf Füllbit zum Auffüllen des Blocks.
  • DIE MLT (MODULATEED LAPPED TRANSFORM) 16
  • Die MLT (Modulated Lapped Transform) 16 ist eine kritisch abgetastete lineare Transformation mit perfekter Rekonstruktion mit Basisfunktionen, die sich zwischen Blöcken überlappen.
  • Die Eingaben für jede MLT sind die neuesten 640 Zeitbereichsabtastwerte:
  • x[n], n = [0,639], wobei x[0] der älteste Abtastwert ist.
  • Die Ausgaben sind 320 Transformationsbereichswerte:
  • mlt[m], m = [0,319].
  • mlt[m] = SUM n=[0,639]sqrt(2/320) * sin((n+0,5)*PI/640) * cos((n-159,5)*(m+0,5)*PI/320) * x[n]
  • Dies kann in eine Fenster-, Überlappungs- und Addieroperation mit einer anschließenden diskreten Kosinustransformation (DCT) des Typs IV zerlegt werden.
  • FENSTEROPERATION
  • Die Fenster-, Überlappungs- und Addieroperation lautet folgendermaßen:
  • v[n] = w[n]*x[n] + w[319-n]*x[319-n], n=[0,159]
  • v[n+160] = w[319-n]*x[320+n] - w[n]*x[639-n], n=[0,159]
  • mit w[n] = sin((n+0,5)*PI/640), n=[0,319]
  • Die DCT des Typs IV lautet:
  • mlt[m] = SUM n=[0,319]sqrt(2/320) * cos((n+0,5)*(m+0,5)*PI/320) * v[n]
  • (Es sollte beachtet werden, daß schnelle Transformationstechniken verwendet werden können, um die für die DCT erforderliche Rechenzeit zu reduzieren.)
  • LEISTUNGSHÜLLKURVENBERECHNUNG UND KODIERUNG (MODUL 22)
  • Die MLT-Transformationskoeffizienten werden, wie schon erwähnt, in 14 Regionen von 20 Transformationskoeffizienten aufgeteilt. Die Region r enthält die MLT-Transformationskoeffizienten 20r bis 20r+19, wobei r von 0 bis 13 reicht. Die 40 MLT- Transformationskoeffizienten der höchsten Frequenz stellen Frequenzen oberhalb von 7.000 Hz dar. Diese werden verworfen. Die Quadratwurzel der mittleren Leistung in jeder Region wird folgendermaßen bestimmt:
  • rms[r] = Quadratwurzel von ((SUM [n=0,19] mlt[20*r+n]*mlt[20*r+n])/20,0)
  • Für jede Region r wird dann ein Quantisierungsindex rms_index[r] bestimmt. Die möglichen Quantisierungswerte sind die Menge 2^((i+1)/2), wobei i eine ganze Zahl im Bereich von [-8, 31] ist. rms_index[0] wird weiterhin auf den Bereich [1-31] beschränkt. Es wird eine Metrik im log.-Bereich verwendet, so daß die Werte, die auf 2^(i/2) quantisiert werden, im Bereich von 2^(i-0,5)/2) bis 2^((i+0,5)/2) liegen.
  • Die ersten Daten, die für jeden Block gesendet werden, sind rms_index[0]. Das höchstwertige Bit (msb) dieses Indexes wird zuerst gesendet. Der Wert 0 für rms_index[0] wird als ein Escape-Kode reserviert. Die anderen 13 Indizes werden differenzkodiert und dann für die Übertragung Huffman-kodiert. Die größten Differenzen, die kodiert werden können, sind +11 und - 12. Gegebenenfalls werden Täler nach oben angeglichen, damit die ihnen folgenden Spitzen genau dargestellt werden können, und zwar wie folgt:
  • Die Differenzen werden in der Reihenfolge der Region gesendet. Sie werden gemäß den unten definierten Variable-Bitlängen-Kodes kodiert. Das Bit ganz links wird zuerst gesendet.
  • Die quantisierten Indizes für die quantisierte und kodierte Leistungsamplitudenhüllkurve werden der Leitung 46 zugeführt.
  • KATEGORISIERUNGSPROZEDUR (Modul 32)
  • Eine Kategorisierung besteht aus einer Zuweisung für jede der 14 Regionen. Das heißt, für jede der 14 Regionen weist eine Kategorisierung eine der acht Kategorien zu. Das Kategorisierungsprozedurmodul 32 berechnet 16 mögliche Kategorisierungen für die Regionen gemäß voreingestellten Regeln oder Prinzipien. Genauer gesagt bestimmt die Kategorisierungsprozedur Quantisiererschrittgrößen oder zugeordnete Kategorien gemäß den folgenden beiden Prinzipien:
  • 1. Das erste Prinzip besteht darin, daß, wenn die Leistung in einer Region A 2X dB größer ist als die Leistung in einer Region B, die auf unnormierte MLT- Transformationskoeffizienten in der Region A angewandte Quantisierungsschrittgröße um X dB größer sein sollte als die auf unnormierte MLT- Transformationskoeffizienten in der Region B angewandte Schrittgröße. Äquivalent sollte die Quantisierungsschrittgröße für die normierten MLT- Transformationskoeffizienten in der Region A um X dB kleiner sein als die Quantisierungsschrittgröße für die normierten MLT-Transformationskoeffizienten in der Region B. (Wenn die Region A niedrigere Spektralfrequenzen enthält als die Region B, dann kann für bestimmte Kategorisierungen die Quantisiererschrittgröße in diesem Kodierer X+3 dB kleiner sein als die der Region A).
  • 2. Das zweite Prinzip besteht darin, daß das Verhältnis der Signalleistung in einer Region zu dem Quantisierungsrauschen in dieser Region eine bestimmte Schwelle nicht überschreiten sollte, über die hinaus das Quantisierungsrauschen vollständig durch die Signalleistung maskiert wird. Dieses Prinzip ist implizit in dem Umstand enthalten, daß die kleinste Schrittgröße (0,3536 für die Kategorie 0) nicht sehr klein ist.
  • Es ist sehr wichtig für die Fähigkeit des Zusammenwirkens, daß verschiedene Implementierungen dieser Prozedur identische Kategorisierungen erzeugen, wenn sie dieselben Eingaben erhalten. Die Eingaben für diese Prozedur lauten:
  • number_of_available_bits = Anzahl von Bit, die nach der Leistungshüllkurvenkodierung und der Ratensteuerung (d. h. Kategorisierung) übrigbleibt
  • rms_index = Array von 14 ganzen Zahlen, die die Region-Leistungsquantisierungspegel in 3,01-dB- Schritten angeben.
  • Die einer Region zugewiesene Kategorie bestimmt die Quantisierungs- und Kodierungsparameter für diese Region und auch eine erwartete Gesamtzahl von Bit zur Darstellung der quantisierten MLT-Pegel in der Region. Da ein Verfahren zur Variable-Bitlängen-Kodierung auf statistischer Grundlage verwendet wird, hier der Huffman-Kode, ändert sich die tatsächliche Anzahl von Bit abhängig von den MLT-Transformationskoeffizienten in der Region. Aus diesem Grund ist es notwendig, mehrere mögliche Kategorisierungen zu berechnen.
  • Es ist zu beachten, daß bei diesem Ausführungsbeispiel 8 Quantisierungskategorien vorliegen. Die erwarteten Bit-Gesamtwerte sind in einer expected_bits_table folgendermaßen angegeben:
  • expected_bits_table
  • Kategorie erwartete Anzahl von Kodebit pro Region
  • 0 52
  • 1 47
  • 2 43
  • 3 37
  • 4 29
  • 5 22
  • 6 16
  • 7 0
  • Die Prozedur berechnet zuerst raw_category[region] = -rms_index[region] für jede Region. Für ein Integer- Offset in [-64, 63] werden durch die Gleichung
  • j[region] = Max{0,MIN{7, (raw_category[region]+offset)/2}}
  • gemäß wahrnehmungsbezogenen Maskierungsprinzipien Regionen Kategorien zugewiesen. Die erwartete Gesamtzahl von MLT-Kodebit beträgt
  • expected_number_of_code_bits = SUM region = [0,13] expected_bits_table[j[region]]
  • Der Offsetwert wird dann so lange angeglichen, bis das kleinste Offset gefunden wird, so daß expected_number_of_code_bits < number_of_available_bits ist. (Zu diesem Zweck kann man eine binäre Suche verwenden.) initial_power_categories[region] wird dann auf Max{0,MIN{7, (raw_category[region]+offset)/2} gesetzt.
  • Sobald diese Kategorisierung gefunden wurde, werden 15 weitere Kategorisierungen durch Angleichen der Kategorie in einer Region pro Kategorisierung abgeleitet. Zuerst werden max_rate_categories[region] und min_rate_categories[region] auf initial_power_categories[region] initialisiert.
  • Außerdem wird folgendes initialisiert:
  • max_bits und min_bits = expected_number_of_code_bits
  • max_rate_categories[region] = initial_power_categories[region], region = [0,13]
  • min_rate_categories[region] = initial_power_categories[region], region = [0,13]
  • max_bits = expected_number_of_code_bits min_bits = expected_number_of_code_bits
  • Danach wird 15 mal max_bits+min_bits mit 2*number_of_available bits verglichen. Wenn max_bits+min bits < = 2*number_of_available bits ist, dann wird eine neue Kategorisierung mit einer größeren erwarteten Anzahl von Bit benötigt. Andernfalls wird eine Kategorisierung mit einer kleineren erwarteten Anzahl von Bit benötigt.
  • Wenn eine Kategorisierung mit einer größeren erwarteten Anzahl von Bit benötigt wird, dann wird die Region mit den niedrigsten Frequenzen, für die die Kategorie nicht bereits 0 ist und raw_category[region] + offset - 2*max_rate_categories[region] mindestens so klein ist wie für jede andere Region, bestimmt. Die Kategorie für diese Region wird in max_rate_categories um 1 reduziert. Danach wird die erwartete Anzahl von Bit für diese neue Kategorisierung berechnet und max_bit ihr gleichgesetzt.
  • Wenn eine Kategorisierung mit einer kleineren erwarteten Anzahl von Bit benötigt wird, dann wird die Region mit den höchsten Frequenzen, für die die Kategorie nicht bereits die Kategorie 7 ist und raw_category[region] + offset - 2*max_rate_categories[region] mindestens so groß ist wie für jede andere Region, bestimmt. Die Kategorie für diese Region wird in min_rate_categories um 1 vergrößert. Danach wird die erwartete Anzahl von Bit für diese neue Kategorisierung berechnet und min_bit ihr gleichgesetzt.
  • Auf diese Weise werden 16 Kategorisierungen erzeugt, deren Reihenfolge durch die erwartete Anzahl von Bit festgelegt werden kann. Die Kategorisierung 0 weist die größte erwartete Anzahl von Bit auf und die Kategorisierung 15 die kleinste. Jede Kategorisierung stimmt, mit Ausnahme einer einzigen Region, in der sich die Kategorisierungen um eins unterscheiden, mit ihren Nachbarn in der Reihenfolge überein.
  • Es sollte beachtet werden, daß die oben beschriebene Kategorisierungsprozedur so modifiziert werden kann, daß sie ein drittes Prinzip enthält. Das dritte Prinzip für die Kategorisierungsprozedur besteht darin, daß die Signalleistung in einer Region das Quantisierungsrauschen in einer anderen Region maskieren kann und daß dieser Maskierungseffekt dann am größten ist, wenn die Regionen spektral nahe beieinander liegen. Durch Verwendung nur der ersten beiden Prinzipien wird die Kategoriezuweisung für eine Region durch die spektrale Nähe der Leistung in anderen Regionen nicht beeinflußt. Durch Hinzufügen des dritten Prinzips erhält der spektrale Abstand Einfluß. Die obige Gleichung raw_category[region] = -rms_index[region] würde zu der folgenden Gleichung werden:
  • 2^rms_index[region] raw_category[region] = - log. von SUM r = [0,13] (weight[region,r] * 2^rms_index[r]); wobei weight[region,r] eine bestimmte feste Funktion ist, die mit zunehmendem spektralen Abstand ( region -r ) abnimmt. Man beachte, daß, wenn weight[region,r] eine Konstante wäre, sich dieser Ausdruck auf raw_category[region] = -rms_index[region] + eine Konstante reduzieren würde].
  • Fig. 7A-7C sind ein Flußdiagramm der Schritte 300-324, die in der Kategorisierungsprozedur gemäß den beiden ersten Prinzipien verwendet werden.
  • SKALARQUANTISIERTE VEKTOR-HUFFMAN-KODIERUNG (SQVH) (Modul 40&sub0;-40&sub1;&sub5;)
  • MLT-Transformationskoeffizienten in den Kategorien 0 bis 6 werden normiert, quantisiert, zu Vektoren kombiniert und dann Huffman-kodiert. Die MLT- Transformationskoeffizienten werden zuerst mit Totzonenerweiterung normiert und skalarquantisiert. Die resultierenden Quantisierungsindizes werden dann zu Vektorindizes kombiniert. Als letztes werden die Vektorindizes mit variabler Bitlänge kodiert.
  • Für der Kategorie 7 zugewiesene Regionen werden keine Bit übertragen.
  • Für Regionen, bei denen die Kategorie nicht die Kategorie 7 ist, normiert und quantisiert der Kodierer in den Modulen 40&sub0;-40&sub1;&sub5; den Absolutwert jedes MLT- Transformationskoeffizienten mlt[i], um den Quantisierungsindex k[i] zu erzeugen: k[i] = max{ganzzahliger Teil von (x*Absolutwert von mlt[20*region + i] + deadzone_rounding), kmax}; wobei x = 1,0/(Schrittgröße * (quantisierter RMS-Wert für die Region) und die Schrittgröße, deadzone_rounding und kmax in der folgenden Tabelle angegeben sind: TABELLE
  • Diese Indizes werden zu Vektorindizes kombiniert. Die Eigenschaften der Vektoren werden in der folgenden Tabelle angegeben:
  • vd := Vektordimension
  • vpr := Anzahl von Vektoren pro Region
  • u := (kmax+1)^vd, die Anzahl verschiedener Vektoren
  • Im allgemeinen wird index[n] folgendermaßen berechnet: vector_index[n] = SUM über i = [0,vd-1] (k[(n*vpr)+i] * (kmax+1) ^ (vd-(i+1))).
  • Die Anzahl von Bit, die erforderlich ist, um einen Vektor mit dem Index vector_index für die Kategorie x darzustellen, befindet sich in der nachfolgenden Tabelle mlt_sqvh_bitcount_category_x. Die entsprechenden Kodebit befinden sich in der nachfolgenden Tabelle mlt_sqvh_code_category_x. Diese Zahlen werden dann zusammen mit den Zahlen- Vorzeichenbit summiert, um die zur Darstellung dieser Region mit dieser Kategorie erforderliche Gesamtzahl von Bit zu bestimmen:
  • number_of_region_bits[region] = SUM n=[0,vpr-1] mlt_vector_quant_bits[category][vector_index[n]].
  • Die Tabellen mlt_sqvh_bitcount_category_x und mlt_sqvh_code_category_x sind unten angegeben:
  • KODIEREN DER MLT-VEKTORINDIZES (Modul 52&sub0;-52&sub1;&sub5;)
  • Die Vektorindizes werden auf der Leitung 59 in der Reihenfolge der Spektralfrequenzen gesendet. Sie werden gemäß den in den obigen Tabellen definierten Variable- Bitlängen-Kodes kodiert. Die Bit ganz links werden zuerst gesendet. Vorzeichenbit, die von Null verschiedenen Skalarindizes entsprechen, folgen unmittelbar auf jeden Vektorindexkode. Die Vorzeichenbit werden ebenfalls in der Reihenfolge der Spektralfrequenzen gesendet. (Die Kodierungstabellen bilden bestimmte Vektorindizes auf Kodes ab, die als ein anderer Vektorindex dekodiert werden, wenn der erste Vektorindex eine entsprechende Gesamtleistung aufweist, die die für eine gesamte Region maximal mögliche übersteigt, d. h., 20 mal die Quadratwurzel von 2.)
  • RATENSTEUERUNG (Modul 62)
  • Für jede einzelne der 16 Kategorisierungen wird die tatsächlich zur Darstellung des Blocks erforderliche Gesamtzahl von Bit berechnet. Dazu gehören die Bit, mit denen die Leistungsamplitudenhüllkurve dargestellt wird, die 4 Ratensteuerbit (d. h., eine Identifikation der gewählten der 16 möglichen Kategorisierungen) und die Bit, die zur SQVH-Kodierung der MLT- Transformationskoeffizienten benötigt werden.
  • Aus den Kategorisierungen, die Bit-Gesamtwerte ergeben, die in die Zuteilung passen, wird eine ausgewählt. (Bestimmte Implementierungen können immer die am niedrigsten indizierte Kategorisierung wählen.) Wenn keine der Kategorisierungen einen Bit-Gesamtwert ergibt, der in die Zuteilung paßt, wird die Kategorisierung gewählt, die am nächsten kommt (normalerweise 15). Danach können Kodebit gesendet werden, bis die Zuteilung für den Block erschöpft ist. Als Alternative können bestimmte MLT- Transformationskoeffizienten in Indizes umquantisiert werden, die weniger Bit benutzen, so daß alle Kodebit in dem Block übertragen werden können.
  • DIE KODIERER-BITSTROMAUSGABE (Multiplexer 28)
  • Es gibt drei Haupt-Datentypen, die auf dem Kanal 27 gesendet werden: die Leistungsamplitudenhüllkurve, die Ratensteuerung (d. h., die gewählte Kategorisierung) und SQVH-MLT-Transformationskoeffizientenindizes. Die Leistungsamplitudenhüllkurve wird zuerst gesendet. Sie wird in der Reihenfolge von der Region mit den niedrigsten Frequenzen zu der Region mit den höchsten gesendet. Die erste Region wird mit 5 Bit kodiert. Jede der 13 übrigen Regionen wird mit einer variablen Anzahl von Bit kodiert.
  • Die Ratensteuerung auf der Leitung 66 wird als nächstes gesendet. Die Ratensteuerung benutzt immer 4 Bit. Die SQVH-MLT-Transformationskoeffizientenindizes auf der Leitung 61 werden als letztes gesendet. Die SQVH-Kodes werden in der Reihenfolge der Spektralfrequenzen von der niedrigsten zur höchsten gesendet. Die SQVH-MLT- Transformationskoeffizientenindizes werden mit einer variablen Anzahl von Bit kodiert. Abhängig von der Kategorisierung erhalten bestimmte Regionen keine Bit. Im allgemeinen werden einige nachlaufende Füllbit benötigt, um die Zuteilung eines Rahmens auszufüllen. Der Vorgabewert für diese Bit sind Einsen mit einer abschließenden Null. BITFELDREIHENFOLGE SQVH-MLT-Transformationskoeffizientenkodierung für eine Region mit N Vektoren
  • BEISPIEL
  • HIER EIN BEISPIEL FÜR SCHLÜSSELPUNKTE SEI DER KODIERUNG EINES RAHMENS. Kodierer-Amplitudenhüllkurve: KATEGORISIERUNGSPROZEDUR
  • DIE ANFÄNGLICHE KATEGORISIERUNG IST DEM OFFSET = 18 ZUGEORDNET
  • DIE KATEGORISIERUNGSPROZEDUR BESTIMMT NUN DIE FOLGENDEN 16 KATEGORISIERUNGEN. Kategorie für jede Kategorisierung nach Region
  • DIE FOLGENDE TABELLE ZEIGT DIE ERWARTETEN BIT-GESAMTWERTE NACH REGION FÜR DIE 16 KATEGORISIERUNGEN Erwartete Anzahl von Bit für jede Kategorisierung nach Region
  • DIE FOLGENDEN TABELLEN ZEIGEN DIE TATSÄCHLICHEN HIT-GESAMTWERTE NACH REGION UND KATEGORIE
  • DEKODIERER 30
  • Nunmehr ist mit Bezug auf Fig. 5 zu sehen, daß der Dekodierer 30 einen Demultiplexer 60 zum Demultiplexen der Daten, d. h. des Bitstroms, auf dem Kanal 27 in Leistungsamplitudenquantisierungsindizes auf der Leitung 26', der Ratensteuerung auf der Leitung 66' und quantisierten und kodierten Transformationskoeffizienten auf der Leitung 61', wie gezeigt, enthält. Die quantisierte Leistung in jeder der Regionen wird aus den übertragenen quantisierten Leistungsindizes in dem Modul 22' dekodiert und rekonstruiert. Die Region-Leistungsquantisierungspegel werden auf der Leitung 31' erzeugt, und ihr Bitzählwert auf der Leitung 29'. Unter Verwendung der quantisierten Leistungsindizes und der Anzahl von Bit, die nach der Region-Leistungsdekodierung im Modul 32' übrig ist, wird dieselbe Menge von Kategorisierungen bestimmt, die der Kodierer 9 (Fig. 3) bestimmt hat. Genauer gesagt, erzeugt das Kategorisierungsmodul 32' die 16 Kategorisierungen Categorization0-Categorization15 jeweils auf den Leitungen 34'&sub0;-34'&sub1;&sub5;.
  • Das Modul 62' erhält die Kategorisierungen auf den Leitungen 34'&sub0;-34'&sub1;&sub5; und verwendet die Kategorisierungsauswahl auf der Leitung 66' (vom Kodierer 9 auf Leitung 66 bereitgestellt), um eine der Kategorisierungen auf den Leitungen 34'&sub0;-34'&sub1;&sub5; zu bestimmen, die an die Leitung 34' angekoppelt wird. Für jede Region bestimmt das Modul 40' die Transformationskoeffizienten-Rekonstruktionspegeltabelle, die Vektordimension und eine Variable-Bitlängen- Dekodierungstabelle gemäß den Kategoriezuweisungen für jede Region auf der Leitung 34'. Danach dekodiert das Modul 40' die Bit auf der Leitung 61' unter Verwendung der Variable-Bitlängen-Dekodierungstabelle und rekonstruiert die Transformationskoeffizienten unter Verwendung der Transformationskoeffizienten- Rekonstruktionstabelle und der Region- Leistungsquantisierungspegel auf der Leitung 31'.
  • Nunmehr mit Bezug auf Fig. 6 nimmt das Modul 40' den Bitstrom auf der Leitung 61' an und dekodiert die Vektorindizes in den Regionen 0-13 jeweils sequentiell in den Modulen 51'&sub0;-51'&sub1;&sub3;, gemäß den Kategoriezuweisungen auf der Leitung 34'. Die Module 51'&sub0;-51'&sub1;&sub3; trennen gemäß den Kategoriezuweisungen auf der Leitung 34' die Vektorindizes in Skalarindizes für jede Region auf. Die Module 50'&sub0;-50'&sub1;&sub3; rekonstruieren und entnormieren die MLT-Transformationskoeffizienten jeweils für die Regionen 0-13 gemäß: den jeweils durch die Module 51'&sub0;-51'&sub1;&sub3; erzeugten Skalarindizes; den Kategoriezuweisungen auf der Leitung 34'; und den Region-Leistungsquantisierungspegeln auf der Leitung 31', um die rekonstruierten MLT- Transformationskoeffizienten für den Block auf der Leitung 68 zu erzeugen.
  • Nochmals mit Bezug auf Fig. 5 werden die Transformationskoeffizienten in dem Invers-MLT-(IMLT-)Modul 16' und dem Digital/Analog-Umsetzer (D/A) 14' in ein Zeitbereichs-Audiosignal transformiert.
  • Es sollte beachtet werden, daß bestimmte Regionen der Kategorie 7 zugewiesen werden können, d. h., daß für diese Regionen keine spezifischen MLT-Informationen übertragen wurden. Der mittlere MLT-Betrag für diese Regionen (d. h. die Quadratwurzel der quantisierten mittleren Leistung) ist jedoch verfügbar. Statt diese Transformationskoeffizienten auf 0 zu setzen, setzt der Dekodierer sie auf einen Wert, der proportional zu dem mittleren MLT-Transformationskoeffizientenbetrag für jede Region ist (gleich der Quadratwurzel der quantisierten mittleren Leistung in dieser Region), und die Vorzeichen werden zufällig gewählt. Dies wird als Rauschfüllung bezeichnet. Eine Rauschfüllung wird auch für die Kategorien 6 und 5 verwendet, weil für diese Kategorien die meisten MLT-Transformationskoeffizienten auf 0 quantisiert werden. Die Werte, die als Nullen übertragen wurden, werden alle auf kleine Bruchteile des mittleren Betrags für die Region gesetzt. Wieder werden die Vorzeichen zufällig bestimmt.
  • Für die Transformationskoeffizienten, die kodiert werden, werden zur Dekodierung Centroid- Rekonstruktionstabellen für jede Kategorie vorgesehen. Die dekodierten Werte werden dann mit der Quadratwurzel der quantisierten mittleren Leistung in der Region renormiert.
  • Die 40 MLT-Transformationskoeffizienten, die Frequenzen oberhalb von 7000 Hz darstellen, werden auf 0 gesetzt. Nach der Rekonstruktion der MLT- Transformationskoeffizienten erzeugt eine IMLT (Inverse Modulated Lapped Transform) 16' auf der Leitung 70 320 neue Zeitbereichs-Abtastwerte. Die Abtastwerte auf der Leitung 70 werden durch einen Digital/Analog-Umsetzer (D/A) 14' in das Audiosignal auf der Leitung 72 umgesetzt. Der Betrieb des Dekodierers 30 für jeden Block von MLT-Informationen ist unabhängig von den Informationen im vorherigen Block, mit Ausnahme der letzten Überlappungs- und Addieroperation in der IMLT 16'.
  • Dazu ausführlicher:
  • DEKODIERUNG DER LEISTUNGSAMPLITUDENHÜLLKURVE (Modul 22')
  • Die ersten 5 Bit des Blocks von Daten auf der Leitung 46' werden in rms_index[0] zusammengestellt. Danach werden für die Regionen 1 bis 13 die Variable- Bitlängen-Kodes für differential_rms_index[region] gemäß der Tabelle differential_rms_table dekodiert, die im Kodiererabschnitt definiert wird.
  • Für die Regionen 1 bis 13 gilt:
  • rms_index[region] = rms_index[region-1] + differential_rms_index[region];
  • KATEGORISIERUNGSPROZEDUR (Modul 32')
  • Für jeden Block berechnet das Modul 64 des Dekodierers 30 nach der Dekodierung der Leistungsamplitudenhüllkurve die Anzahl von Bit, die zur Darstellung der MLT-Transformationskoeffizienten verfügbar ist.
  • verfügbare Bit = Bit pro Block - Amplitudenhüllkurvenbit - 4 Ratensteuerbit;
  • Danach verwendet das Modul 64 die in Fig. 7A-7C dargelegte Kategorisierungsprozedur, um dieselbe Menge von 16 möglichen Kategorisierungen zu rekonstruieren, die der Kodierer 9 (Fig. 3) berechnet hatte. Als letztes bestimmen die 4 Ratensteuerbit (d. h. die Ratensteuerung) auf der Leitung 45' die eine der 16 Kategorisierungen, die vom Kodierer 9 (Fig. 3) für die Kodierung der MLT-Transformationskoeffizienten ausgewählt wurde.
  • DEKODIERUNG DER MLT-TRANSFORMATIONSKOEFFIZIENTEN (Modul 40')
  • Für jede Region dekodiert das Modul 66 des Dekodierers 30 die Variable-Bitlängen-Kodes für die MLT-Vektoren auf der Leitung 49' gemäß der der Kategorie entsprechenden Tabelle, die in dem Modul 64 des Kodierers 30 definiert wird:
  • (mlt_sqvh_bitcount_category_x und mlt_sqvh_code_category_x), mit x = 0 bis 6
  • Danach werden aus dem Vektorindex die einzelnen MLT- Transformationskoeffizienten-Quantisierungsindizes k[i] wiederhergestellt:
  • k[i] = (vector_index modulo (kmax+1)^(i+1))/(kmax+1)^i i = [0,vd-1]
  • mit:
  • vd = Vektordimension für Kategorie
  • kmax = maximaler Skalarquantisierungsindex für Kategorie
  • Die vorgegebene Rekonstruktion für die MLT-Transformationskoeffizienten verwendet die Centroid-Tabellen:
  • Die MLT-Transformationskoeffizientenamplituden werden in dem Modul 66 rekonstruiert, indem das Produkt der Quadratwurzel der quantisierten mittleren Leistung in der Region mit dem durch den dekodierten Index angegebenen Centroid gebildet wird.
  • DEKODIERUNG VON MLT-TRANSFORMATIONSKOEFFIZIENTEN (Modul 40')
  • Für jede Region dekodiert das Modul 66 des Dekodierers 30 die Variable-Bitlängen-Kodes für die MLT-Vektoren auf der Leitung 49' gemäß der Kategorie der in dem Modul 64 des Kodierers 30 definierten entsprechenden Tabelle:
  • (mlt_sqvh_bitcount_category_x und mlt_sqvh_code_category_x), mit x = 0 bis 6
  • Danach werden die einzelnen MLT-Transformationskoeffizienten-Quantisierungsindizes k[i] aus dem Vektorindex wiederhergestellt:
  • k[i] = (vector_index modulo (kmax+1)^(i+1)/(kmax+1)^i i = [0,vd-1]
  • mit:
  • vd = Vektordimension für die Kategorie
  • kmax = maximaler Skalarquantisierungsindex für die Kategorie.
  • Die vorgegebene Rekonstruktion für die MLT- Transformationskoeffizienten verwendet die folgenden Centroid-Tabellen:
  • Die MLT-Transformationskoeffizientenamplituden werden in dem Modul 66 rekonstruiert, indem das Produkt der Quadratwurzel der quantisierten mittleren Energie in der Region mit dem durch den dekodierten Index spezifizierten Centroid genommen wird.
  • Von Null verschiedene Werte werden dann negiert, wenn das entsprechende Vorzeichenbit auf 1 gesetzt ist.
  • RAUSCHFÜLLUNG
  • Für die Kategorie 7 werden keine MLT- Transformationskoeffizientenamplituden kodiert. Für die Kategorien 5 und 6 sind die Quantisierungsschrittgrößen so groß, daß die meisten MLT- Transformationskoeffizienten als 0 kodiert werden. Der Dekodierer ersetzt diese Nullen durch Werte mit zufälligem Vorzeichen und einer Amplitude, die proportional zu der Quadratwurzel der quantisierten mittleren Energie für die Region ist. Die vorgegebenen Proportionalitätskonstanten sind wie folgt:
  • Kategorie vorgegebene Rauschfüllungs-Proportionalitätskonstante
  • 5 0,176777
  • 6 0,25
  • 7 0,707107
  • ZU WENIG BIT
  • Es kann Blöcke geben, für die dem Kodierer die Bit ausgehen, bevor er mit der Kodierung der letzten von Kategorie 7 verschiedenen Region fertig ist. Die in diesen Fällen vorgegebene Dekodiereraktion besteht darin, diese Region und alle übrigen Regionen als Kategorie 7 zu verarbeiten.
  • IMLT (INVERSE MODULATED LAPPED TRANSFORM) (Modul 16')
  • Jede IMLT-Operation (Inverse Modulated Lapped Transform) 68 nimmt 320 MLT-Transformationskoeffizienten auf und erzeugt 320 Zeitbereichs- Audioabtastwerte. Die IMLT 68 kann in eine DCT vom Typ IV mit anschließender Fenster-, Überlappungs- und Addieroperation zerlegt werden. Die DCT des Typs IV lautet:
  • u[n] = SUM m=[0,319] sqrt(2/320) * cos((m+0,5)*(n+0,5)*PI/320) * mlt[m]
  • FENSTEROPERATION
  • Die Fenster-, Überlappungs- und Addieroperation verwendet die Hälfte der Abtastwerte aus der DCT- Ausgabe des aktuellen Blocks mit der Hälfte derjenigen aus der DCT-Ausgabe des vorherigen Blocks:
  • y[n] = w[n]*u[159-n] + w[319-n]*u_old[n], n = [0,159]
  • y[n+160] = w[160+n]*u[n] - w[159-n]*u_old[159-n], n = [0,159]
  • Für den nächsten Block wird die bisher unbenutzte Hälfte von u in u_old gespeichert:
  • u_old[n] = u[n+160], n = [0,159]
  • Es folgt als ANHANG ein Quellkodeprogramm in der Programmiersprache C, das die Kodierer-, Dekodierer- und Initialisierungsmodule enthält. Ein Teil der Offenlegung der vorliegenden Patentschrift enthält urheberrechtlich geschütztes Material. Der Besitzer des Urheberrechts hat keine Einwände gegen den Nachdruck des Patentdokuments oder der Patentoffenlegung, so wie sie in den Akten oder Aufzeichnungen des. Patentamts erscheint, durch beliebige Personen, behält sich jedoch ansonsten alle anderen urheberrechtlichen Rechte vor. ANHANG

Claims (5)

1. Verfahren zum Kodieren eines Audiosignals, mit den Schritten:
Konvertieren sich überlappender Gruppen von digitalisierten Abtastwerten des Audiosignals in Blöcke von Transformationskoeffizienten;
Gruppieren der Transformationskoeffizienten in jedem Block in einander benachbarte Regionen;
Ermitteln der Energie in jeder Region aus den Transformationskoeffizienten in der Region;
Ableiten (1) einer Vielzahl von Kategorisierungen für die Transformationskoeffizienten aus der in jeder Region ermittelten Energie, wobei jede Kategorisierung für jede Region eine vorbestimmte Regel für die Durchführung einer skalaren, ungleichförmigen Quantisierung mit einer vorbestimmten Schrittgröße spezifiziert;
Kombinieren einer vorbestimmten Anzahl resultierender Quantisierungsskalare zur Bildung von Vektoren und Durchführen einer statistisch begründeten Variable-Bitlängen-Kodierung der Vektoren;
Ermitteln der Anzahl von Bits, die erforderlich ist, um die kodierten Vektoren zu einem Dekoder zu übertragen, für jede einzelne Kategorisierung;
Quantisieren und Kodieren der Transformationskoeffizienten entsprechend einer Kategorisierung, die entsprechend einem vorbestimmten Kriterium der Wiedergabetreue und einer maximalen Bitrate ausgewählt ist;
Übertragen der quantisierten Energie, der quantisierten und kodierten Transformationskoeffizienten sowie einer Kennung der ausgewählten Kategorisierungen zu einem Dekoder.
2. Verfahren zum Dekodieren eines kodierten Audiosignals, mit den Schritten:
Rekonstruieren der Energie aus quantisierter und kodierter Energie in jeder einer Vielzahl von Regionen;
Ermitteln einer aus einer vorbestimmten Anzahl von Quantisierungs- und Variable-Bitlängen-Kodierungskategorisierungen, die vom Kodierer benutzt werden, aus einer empfangenen Kennung davon und aus der rekonstruierten Energie, wobei jede Kategorisierung für jede Region eine vorbestimmte Regel für das Durchführen einer skalaren, ungleichförmigen Quantisierung mit einer vorbestimmten Schrittgröße spezifiziert;
Kombinieren einer vorbestimmten Anzahl von resultierenden Quantisierungsskalaren, um Vektoren zu bilden;
Durchführen einer Variable-Bitlängen-Dekodierung der Vektoren auf statistischer Grundlage;
Ermitteln einer Quantisierungsschrittgröße für jede Region aus der ermittelten Kategorisierung und der quantisierten Energie;
Rekonstruieren rekonstruierter Transformationskoeffizienten aus den quantisierten und kodierten Transformationskoeffizienten unter Anwendung der ermittelten Schrittgröße und Transformieren der rekonstruierten Transformationskoeffizienten in das Audiosignal.
3. Kodierer zum Kodieren eines Audiosignals, der folgendes aufweist:
ein Modul zum Konvertieren von sich überlappenden Gruppen digitalisierter Abtastwerte des Audiosignals in Blöcke von Transformationskoeffizienten;
ein Modul, um die Transformationskoeffizienten in jedem Block in zueinander benachbarte Regionen zu gruppieren;
ein Modul, um die Energie in jeder Region aus den Transformationskoeffizienten in der Region zu ermitteln;
ein Modul, um aus der in jeder Region ermittelten Energie eine Vielzahl von Kategorisierungen für die Transformationskoeffizienten abzuleiten, wobei jede Kategorisierung für jede Region eine vorbestimmte Regel spezifiziert, um eine skalare, ungleichförmige Quantisierung mit einer vorbestimmten Schrittgröße durchzuführen;
ein Modul, um eine vorbestimmte Anzahl vonresultierenden Quantisierungsskalaren zur Bildung von Vektoren zu kombinieren und um eine. Variable- Bitlängen-Kodierung der Vektoren auf statistischer Grundlage durchzuführen;
ein Modul, um für jede einzelne Kategorisierung die Anzahl von Bits zu ermitteln, die erforderlich ist, um die kodierten Vektoren zu einem Dekoder zu übertragen;
ein Modul, um die Transformationskoeffizienten entsprechend einer Kategorisierung zu quantisieren und zu kodieren, die gemäß einem vorbestimmten Kriterium der Wiedergabetreue und der maximalen Bitrate ausgewählt ist;
ein Modul, um die quantisierte Energie, die quantisierten und kodierten Transformationskoeffizienten sowie eine Kennung der ausgewählten Kategorisierungen zu einem Dekoder zu übertragen.
4. Dekoder zum Dekodieren eines kodierten Audiosignals, der folgendes aufweist:
ein Modul, um die Energie in jeder einer Vielzahl von Regionen aus quantisierter und kodierter Energie zu rekonstruieren;
ein Modul, um eine aus einer vorbestimmten Anzahl von Quantisierungs- und Variable-Bitlängen- Kodierungskategorisierungen, die vom Kodierer benutzt werden, aus einer empfangenen Kennung davon und aus der rekonstruierten Energie zu ermitteln, wobei jede Kategorisierung für jede Region eine vorbestimmte Regel für das Durchführen einer skalaren, ungleichförmigen Quantisierung mit einer vorbestimmten Schrittgröße spezifiziert;
ein Modul, um eine vorbestimmte Anzahl resultierender Quantisierungsskalare zu kombinieren, um Vektoren zu bilden, und um eine Variable-Bitlängen-Dekodierung der Vektoren auf statistischer Grundlage durchzuführen;
ein Modul, um eine Quantisierungsschrittgröße für jede Region aus der ermittelten Kategorisierung und der quantisierten Energie zu ermitteln;
ein Modul, um aus den quantisierten und kodierten Transformationskoeffizienten rekonstruierte Transformationskoeffizienten unter Verwendung der ermittelten Schrittgröße zu rekonstruieren; und
ein Modul, um die rekonstruierten Transformationskoeffizienten in das Audiosignal zu transformieren.
5. Kodierungs- und Dekodierungsverfahren zur Kodierung und Dekodierung eines Audiosignals, das folgendes aufweist:
einen Kodierer, der folgendes aufweist:
ein Modul, um sich überlappende Gruppen digitalisierter Abtastwerte des Audiosignals zu Blöcken von Transformationskoeffizienten zu konvertieren;
ein Modul, um die Transformationskoeffizienten in jedem Block in zueinander benachbarte Regionen zu gruppieren;
ein Modul, um die Energie in jeder Region aus den Transformationskoeffizienten in der Region zu ermitteln;
ein Modul, um aus der ermittelten Energie eine Vielzahl von Kategorisierungen für die Transformationskoeffizienten abzuleiten, wobei jede Kategorisierung für jede Region eine vorbestimmte Regel für das Durchführen einer skalaren, ungleichförmigen. Quantisierung mit einer vorbestimmten Schrittgröße spezifiziert;
ein Modul, um eine vorbestimmte Anzahl von resultierenden Quantisierungsskalaren zu kombinieren, um Vektoren zu bilden, und um eine Variable-Bitlängen-Kodierung der Vektoren durchzuführen;
ein Modul, um für jede einzelne Kategorisierung die Anzahl von Bits zu ermitteln, die erforderlich ist, um die kodierten Vektoren zu einem Dekoder zu übertragen;
ein Modul, um die Transformationskoeffizienten entsprechend einer Kategorisierung zu quantisieren und zu kodieren, welche gemäß einem vorbestimmten Kriterium der Wiedergabetreue und der maximalen Bitrate ausgewählt ist, und
ein Modul, um die quantisierte Energie, die quantisierten und kodierten Transformationskoeffizienten und eine Kennung der ausgewählten Kategorisierungen zu einem Dekoder zu übertragen,
wobei der Dekoder folgendes aufweist:
ein Modul, um die Energie in jeder von einer Vielzahl von Regionen aus quantisierter und kodierter Energie zu rekonstruieren;
ein Modul, um eine aus einer vorbestimmten Anzahl von Quantisierungs- und Variable-Bitlängen-Kodierungskategorisierungen, welche von dem Kodierer benutzt werden, aus einer erhaltenen Kennung davon und aus der rekonstruierten Energie zu ermitteln, wobei jede Kategorisierung für jede Region eine vorbestimmte Regel zum Durchführen einer skalaren, ungleichförmigen Quantisierung mit einer vorbestimmten Schrittgröße spezifiziert, und
ein Modul, um eine vorbestimmte Anzahl von resultierenden Quantisierungsskalaren zu kombinieren, um Vektoren zu bilden, und um eine Variable- Bitlängen-Kodierung der Vektoren auf statistischer Grundlage durchzuführen;
ein Modul, um eine Quantisierungsschrittgröße für jede Region aus der ermittelten Kategorisierung und der quantisierten Energie zu ermitteln;
ein Modul, um aus den quantisierten und kodierten Transformationskoeffizienten rekonstruierte Transformationskoeffizienten unter Verwendung der ermittelten Schrittgröße zu rekonstruieren, und
ein Modul, um die rekonstruierten Transformationskoeffizienten in das Audiosignal zu transformieren.
DE69705642T 1996-10-07 1997-10-06 Audio-kodierverfahren mit veränderlicher kodelänge unter verwendung einer mehrzahl von teilband-bitverteilungsmoden Expired - Lifetime DE69705642T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/726,959 US5924064A (en) 1996-10-07 1996-10-07 Variable length coding using a plurality of region bit allocation patterns
PCT/US1997/017770 WO1998015945A1 (en) 1996-10-07 1997-10-06 Variable length audio coding using a plurality of subband bit allocation patterns

Publications (2)

Publication Number Publication Date
DE69705642D1 DE69705642D1 (de) 2001-08-16
DE69705642T2 true DE69705642T2 (de) 2002-05-02

Family

ID=24920743

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69705642T Expired - Lifetime DE69705642T2 (de) 1996-10-07 1997-10-06 Audio-kodierverfahren mit veränderlicher kodelänge unter verwendung einer mehrzahl von teilband-bitverteilungsmoden

Country Status (6)

Country Link
US (1) US5924064A (de)
EP (1) EP0968497B1 (de)
JP (1) JP4237826B2 (de)
CA (1) CA2267764A1 (de)
DE (1) DE69705642T2 (de)
WO (1) WO1998015945A1 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
KR100335609B1 (ko) 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
JP4570250B2 (ja) * 1998-05-27 2010-10-27 マイクロソフト コーポレーション 信号の量子化変換係数をエントロピーエンコードするシステムと方法
CA2368453C (en) * 1999-04-16 2009-12-08 Grant Allen Davidson Using gain-adaptive quantization and non-uniform symbol lengths for audio coding
EP1345331B1 (de) * 2000-12-22 2008-08-20 Sony Corporation Codierer
AUPR433901A0 (en) * 2001-04-10 2001-05-17 Lake Technology Limited High frequency signal construction method
US7240001B2 (en) * 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
KR20040075951A (ko) * 2002-01-22 2004-08-30 코닌클리케 필립스 일렉트로닉스 엔.브이. 이미 압축된 멀티미디어의 비트 레이트의 감소
US7099387B2 (en) * 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
US20030236674A1 (en) * 2002-06-19 2003-12-25 Henry Raymond C. Methods and systems for compression of stored audio
DE102004009955B3 (de) * 2004-03-01 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ermitteln einer Quantisierer-Schrittweite
US7536302B2 (en) * 2004-07-13 2009-05-19 Industrial Technology Research Institute Method, process and device for coding audio signals
DE102004036154B3 (de) * 2004-07-26 2005-12-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur robusten Klassifizierung von Audiosignalen sowie Verfahren zu Einrichtung und Betrieb einer Audiosignal-Datenbank sowie Computer-Programm
US8116500B2 (en) * 2004-10-15 2012-02-14 Lifesize Communications, Inc. Microphone orientation and size in a speakerphone
US20060132595A1 (en) * 2004-10-15 2006-06-22 Kenoyer Michael L Speakerphone supporting video and audio features
US7720232B2 (en) * 2004-10-15 2010-05-18 Lifesize Communications, Inc. Speakerphone
US7720236B2 (en) * 2004-10-15 2010-05-18 Lifesize Communications, Inc. Updating modeling information based on offline calibration experiments
US7903137B2 (en) * 2004-10-15 2011-03-08 Lifesize Communications, Inc. Videoconferencing echo cancellers
US7970151B2 (en) * 2004-10-15 2011-06-28 Lifesize Communications, Inc. Hybrid beamforming
US7826624B2 (en) * 2004-10-15 2010-11-02 Lifesize Communications, Inc. Speakerphone self calibration and beam forming
US7760887B2 (en) * 2004-10-15 2010-07-20 Lifesize Communications, Inc. Updating modeling information based on online data gathering
US7991167B2 (en) * 2005-04-29 2011-08-02 Lifesize Communications, Inc. Forming beams with nulls directed at noise sources
US7970150B2 (en) * 2005-04-29 2011-06-28 Lifesize Communications, Inc. Tracking talkers using virtual broadside scan and directed beams
US7593539B2 (en) 2005-04-29 2009-09-22 Lifesize Communications, Inc. Microphone and speaker arrangement in speakerphone
CN101390158B (zh) * 2006-02-24 2012-03-14 法国电信公司 量化索引的编码方法、解码信号包络方法、编解码模块
US7953595B2 (en) * 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
EP4407613A1 (de) 2008-07-11 2024-07-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierer, audiodecodierer, verfahren zur codierung und decodierung eines audiosignals, audiostrom und computerprogramm
US8386266B2 (en) * 2010-07-01 2013-02-26 Polycom, Inc. Full-band scalable audio codec
US8428959B2 (en) * 2010-01-29 2013-04-23 Polycom, Inc. Audio packet loss concealment by transform interpolation
RU2464649C1 (ru) 2011-06-01 2012-10-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ обработки звукового сигнала
WO2013048171A2 (ko) * 2011-09-28 2013-04-04 엘지전자 주식회사 음성 신호 부호화 방법 및 음성 신호 복호화 방법 그리고 이를 이용하는 장치
US9111524B2 (en) * 2011-12-20 2015-08-18 Dolby International Ab Seamless playback of successive multimedia files
KR101757341B1 (ko) * 2013-01-29 2017-07-14 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. 저-복잡도 음조-적응 오디오 신호 양자화
US10523369B2 (en) 2017-01-09 2019-12-31 Qualcomm Incorporated Mutual-information based recursive polar code construction
WO2018126496A1 (en) 2017-01-09 2018-07-12 Qualcomm Incorporated Bit allocation for encoding and decoding

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5230038A (en) * 1989-01-27 1993-07-20 Fielder Louis D Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US5479562A (en) * 1989-01-27 1995-12-26 Dolby Laboratories Licensing Corporation Method and apparatus for encoding and decoding audio information
US5142656A (en) * 1989-01-27 1992-08-25 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US5222189A (en) * 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
US5109417A (en) * 1989-01-27 1992-04-28 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US5185800A (en) * 1989-10-13 1993-02-09 Centre National D'etudes Des Telecommunications Bit allocation device for transformed digital audio broadcasting signals with adaptive quantization based on psychoauditive criterion
CA2077662C (en) * 1991-01-08 2001-04-17 Mark Franklin Davis Encoder/decoder for multidimensional sound fields
US5317672A (en) * 1991-03-05 1994-05-31 Picturetel Corporation Variable bit rate speech encoder
DE69232251T2 (de) * 1991-08-02 2002-07-18 Sony Corp., Tokio/Tokyo Digitaler Kodierer mit dynamischer Quantisierungsbitverteilung
JP3134455B2 (ja) * 1992-01-29 2001-02-13 ソニー株式会社 高能率符号化装置及び方法
JP3153933B2 (ja) * 1992-06-16 2001-04-09 ソニー株式会社 データ符号化装置及び方法並びにデータ復号化装置及び方法
KR100188912B1 (ko) * 1992-09-21 1999-06-01 윤종용 서브밴드코딩의 비트재할당 방법
JP3123286B2 (ja) * 1993-02-18 2001-01-09 ソニー株式会社 ディジタル信号処理装置又は方法、及び記録媒体
US5664057A (en) * 1993-07-07 1997-09-02 Picturetel Corporation Fixed bit rate speech encoder/decoder
DE69420848T2 (de) * 1993-07-07 2000-07-20 Picturetel Corp., Peabody Sprachkodierer/-dekodierer mit fester bitrate
US5774846A (en) * 1994-12-19 1998-06-30 Matsushita Electric Industrial Co., Ltd. Speech coding apparatus, linear prediction coefficient analyzing apparatus and noise reducing apparatus
US5537510A (en) * 1994-12-30 1996-07-16 Daewoo Electronics Co., Ltd. Adaptive digital audio encoding apparatus and a bit allocation method thereof
JP2982637B2 (ja) * 1995-01-17 1999-11-29 日本電気株式会社 スペクトルパラメータを用いた音声信号伝送システムおよびそれに用いられる音声パラメータ符号化装置および復号化装置

Also Published As

Publication number Publication date
WO1998015945A1 (en) 1998-04-16
EP0968497A1 (de) 2000-01-05
DE69705642D1 (de) 2001-08-16
EP0968497A4 (de) 2000-02-23
JP4237826B2 (ja) 2009-03-11
EP0968497B1 (de) 2001-07-11
JP2001502073A (ja) 2001-02-13
CA2267764A1 (en) 1998-04-16
US5924064A (en) 1999-07-13

Similar Documents

Publication Publication Date Title
DE69705642T2 (de) Audio-kodierverfahren mit veränderlicher kodelänge unter verwendung einer mehrzahl von teilband-bitverteilungsmoden
DE69525836T2 (de) Kodierung und dekodierung eines breitbandigen digitalen informationssignals
DE3784120T2 (de) Tabellengesteuerte dynamische bitverteilung in einem teilband-sprachkodierer mit veraenderlicher datenrate.
DE69401514T2 (de) Vom rechenaufwand her effiziente adaptive bitzuteilung für kodierverfahren und kodiereinrichtung
DE69220541T2 (de) Adaptive Quantisierung innerhalb des Sequentiellmodus der JPEG
DE69833834T2 (de) Skalierbares Audiokodier-und Dekodierverfahren und Gerät
DE69834010T2 (de) Skalierbares stereo Tonkodierungs- und Tondekodierungsverfahren und Vorrichtung dafür
EP0910927B1 (de) Verfahren zum codieren und decodieren von stereoaudiospektralwerten
DE69225100T2 (de) Reduzierung der Zusaztinformation bei Teilbandkodierungsverfahren
DE3688980T2 (de) Verfahren zur Multigeschwindigkeitskodierung von Signalen und Einrichtung zur Durchführung dieses Verfahrens.
EP0931386B1 (de) Verfahren zum signalisieren einer rauschsubstitution beim codieren eines audiosignals
DE602004013031T2 (de) Verfahren zum codieren eines digitalen signals in einen skalierbaren bitstrom, verfahren zum decodieren eines skalierbaren bitstroms
DE69907267T2 (de) Entropie-code modenwechsel zur frequenzbereichsaudiokodierung
DE2818052C2 (de) Quantisierung eines Signals mit einem sich über ein gegebenes Frequenzband erstreckendem Spetkrum
DE69930848T2 (de) Skalierbarer audiokodierer und dekodierer
DE69927505T2 (de) Verfahren zum einfügen von zusatzdaten in einen audiodatenstrom
DE4241131B4 (de) Einrichtung zum Kodieren und Dekodieren von Übertragungssignalen mittels Transformationen
DE19811039A1 (de) Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen
DE69015105T2 (de) Kompressionseinrichtung für transformiertes, digitales Audiosignal mit adaptiver Quantisierung auf Grund eines psycho-akustischen Kriteriums.
EP0611516B1 (de) Verfahren zur reduzierung von daten bei der übertragung und/oder speicherung digitaler signale mehrerer abhängiger kanäle
DE10310785B4 (de) Verfahren und Architektur einer digitalen Codierung zum Übertragen und Packen von Audiosignalen
DE69107511T2 (de) Codierverfahren und Codieranordnung mit einem Unterbandcoder und Sender mit der Codieranordnung.
DE68927927T2 (de) Kodierung von Audiosignalen unter Berücksichtigung der Wahrnehmbarkeit
DE19743662A1 (de) Verfahren und Vorrichtung zur Erzeugung eines bitratenskalierbaren Audio-Datenstroms
DE69711102T2 (de) Verfahren und gerät zur schätzung von koppelparametern in einem transformationskodierer für hochwertige tonsignale

Legal Events

Date Code Title Description
8364 No opposition during term of opposition