[go: up one dir, main page]

DE60319590T2 - Verfahren zur codierung und decodierung von audio mit variabler rate - Google Patents

Verfahren zur codierung und decodierung von audio mit variabler rate Download PDF

Info

Publication number
DE60319590T2
DE60319590T2 DE60319590T DE60319590T DE60319590T2 DE 60319590 T2 DE60319590 T2 DE 60319590T2 DE 60319590 T DE60319590 T DE 60319590T DE 60319590 T DE60319590 T DE 60319590T DE 60319590 T2 DE60319590 T2 DE 60319590T2
Authority
DE
Germany
Prior art keywords
parameters
subunit
coding bits
bits
signal
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
DE60319590T
Other languages
English (en)
Other versions
DE60319590D1 (de
Inventor
Balazs Kovesi
Dominique Massaloux
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of DE60319590D1 publication Critical patent/DE60319590D1/de
Application granted granted Critical
Publication of DE60319590T2 publication Critical patent/DE60319590T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

  • Die vorliegende Erfindung betrifft die Vorrichtungen zur Codierung und Decodierung der Tonsignale, die insbesondere dazu bestimmt sind, in Übertragungs- oder Speicheranwendungen der digitalisierten und komprimierten Tonsignale (Sprache und/oder Tonsignale) stattzufinden.
  • Genauer bezieht diese Erfindung sich auf die Audiocodiersysteme, die die Fähigkeit haben, verschiedene Bitraten zu liefern, auch Multi-Bitraten-Codiersysteme genannt. Solche Systeme unterscheiden sich von Codierern mit fester Bitrate durch ihre Fähigkeit, die Bitrate der Codierung zu verändern, ggf. während der Verarbeitung, was besonders geeignet ist für die Übertragung über Netze mit heterogenem Zugang: gleich, ob es sich um Netze vom Typ IP handelt, die feste und mobile Zugänge, hohe Bitraten (ADSL), niedrige Bitraten (Modems RTC, GPRS) mischen, oder Endgeräte mit variablen Kapazitäten einsetzen (Mobilstationen, PC, ...).
  • Man unterscheidet hauptsächlich zwei Kategorien von Multi-Bitrate-Codierern: diejenige der "schaltbaren" Multi-Bitrate-Codierern und diejenige der "hierarchischen" Codierern.
  • Die "schaltbaren" Multi-Bitrate-Codierer beruhen auf einer Codierungsstruktur, die zu einer technologischen Familie gehört (Zeit- oder Frequenzcodierung, zum Beispiel: CELP, sinusförmig oder durch Transformation), in der eine Bitratenanzeige gleichzeitig an den Codierer und den Decodierer geliefert wird. Der Codierer verwendet diese Information, um die Teile des Algorithmus und die Tabellen auszuwählen, die für die gewählte Bitrate relevant sind. Der Decodierer arbeitet symmetrisch dazu. Es wurden viele schaltbare Multi-Bitrate-Codierungsstrukturen für die Audiocodierung vorgeschlagen. Dies ist zum Beispiel der Fall bei den mobilen Codierern, die von der Organisation 3GPP ("3rd Generation Partnership Project") normiert werden, dem NB-AMR ("Narrow Band Adaptive Multi-Rate", Technische Spezifikation 3GPP TS 26.090, Version 5.0.0, Juni 2002) im Fernsprechband, oder dem WB-AMR ("Wide Band Adaptive Multi-Rate", Technische Spezifikation 3GPP TS 26.190, Version 5.1.0, Dezember 2001) im Breitband. Diese Codierer arbeiten in ziemlich großen Bitratenbereichen (4,75 bis 12,2 kbit/s für den NB-AMR, und 6,60 bis 23,85 kbit/s für den WB-AMR), mit einer ziemlich großen Granularität (8 Bitraten für den NB-AMR und 9 für den WB-AMR). Der für diese Flexibilität zu zahlende Preis ist aber eine ziemlich konsequente Strukturkomplexität: Um zu erreichen, dass alle diese Bitraten untergebracht werden, müssen diese Codierer viele unterschiedliche Optionen, unterschiedliche Quantifizierungstabellen usw. unterstützen. Die Kurve der Leistungen steigt progressiv mit der Bitrate an, aber der Verlauf ist nicht linear, und manche Bitraten sind per Definition besser optimiert als andere.
  • Bei den so genannten "hierarchischen", auch "skalierbar" genannten Codiersystemen verteilen sich die von dem Codiervorgang stammenden Binärdaten in aufeinanderfolgenden Schichten. Eine Basisschicht, auch "Kern" genannt, wird von den Binärelementen gebildet, die für die Decodierung der binären Bitströme unbedingt notwendig sind und die eine Mindest-Decodierqualität bestimmen.
  • Die folgenden Schichten ermöglichen es, die Qualität des vom Decodiervorgang stammenden Signals progressiv zu verbessern, wobei jede neue Schicht neue Informationen hinzufügt, die, vom Decodierer ausgewertet, am Ausgang ein Signal steigender Qualität liefern.
  • Eine der Besonderheiten der hierarchischen Codierung ist die angebotene Möglichkeit, auf einer beliebigen Ebene der Übertragungs- oder Speicherkette zu intervenieren, um einen Teil des binären Bitstroms zu unterdrücken, ohne dass eine besondere Anzeige an den Codierer oder Decodierer geliefert werden muss. Der Decodierer nutzt die Binärinformationen, die er empfängt, und erzeugt ein Signal entsprechender Qualität.
  • Das Gebiet der hierarchischen Codierstrukturen hat ebenfalls zu vielen Arbeiten geführt. Bestimmt hierarchische Codierstrukturen arbeiten ausgehend von einem einzigen Typ von Codierer, der konzipiert ist, um hierarchisierte codierte Informationen zu liefern. Wenn die zusätzlichen Schichten die Qualität des Ausgangssignals verbessern, ohne die Bandbreite zu verändern, spricht man eher von "eingebetteten Codierern" (siehe zum Beispiel R.D. Iacovo et al., "Embedded CELP Coding for Variable Bit-Rate Between 6.4 and 9.6 kbit/s", Proc. ICASSP 1991, pp 681–686). Dieser Typ von Codierer erlaubt aber keine großen Abstände zwischen der niedrigsten und der höchsten angebotenen Bitrate.
  • Die Hierarchie wird häufig verwendet, um die Bandbreite des Signals progressiv zu vergrößern: Der Kern liefert ein Signal im Basisband, zum Beispiel ein Telefonsignal (300–3400 Hz), und die folgenden Schichten erlauben die Codierung von zusätzlichen Frequenzbändern (zum Beispiel Breitband bis 7 kHz, HiFi-Band bis 20 kHz oder Zwischenbänder, ...). Die Subband-Codierer oder die Codierer, die eine Zeit/Frequenz-Transformation verwenden, wie sie in den Dokumenten "Subband/transform coding using filter banks designs based an time domain aliasing cancellation" von J.P Princen et al. (Proc. IEEE ICASSP-87, pp. 2161–2164) und "High Quality Audio Transform Coding at 64 kbit/s", von Y. Mahieux et al. (IEEE Trans. Commun, Vol. 42, Nr. 11, November 1994, pp. 3010–3019) beschrieben werden, sind besonders für solche Vorgänge geeignet.
  • Andererseits wird häufig eine andere Codiertechnik für den Kern und für den oder die Module verwendet, die die zusätzlichen Schichten codieren, man spricht dann von verschiedenen Codierstufen, wobei jede Stufe aus einem Sub-Codierer besteht. Der Sub-Codierer der Stufe einer gegebenen Ebene kann entweder Teile des Signals codieren, die nicht von den vorhergehenden Stufen codiert wurden, oder den Codierrest der vorhergehenden Stufe codieren, wobei der Rest erhalten wird, indem das decodierte Signal vom ursprünglichen Signal subtrahiert wird.
  • Der Vorteil solcher Strukturen ist es, dass sie es ermöglichen, auf relativ niedrige Bitraten mit einer ausreichenden Qualität herunterzugehen, und gleichzeitig eine gute Qualität bei hoher Bitrate zu erzeugen. Die für die niedrigen Bitraten verwendeten Techniken sind nämlich allgemein nicht bei den hohen Bitraten wirksam und umgekehrt.
  • Solche Strukturen, die es erlauben, zwei verschiedene Technologien zu verwenden (zum Beispiel CELP und Zeit-Frequenz-Transformation, ...), sind besonders wirksam, um große Bitratenbereiche abzutasten.
  • Die im Stand der Technik vorgeschlagenen hierarchischen Codierungsstrukturen definieren aber genau die jeder der Zwischenschichten zugeteilte Bitrate. Jede Schicht entspricht der Codierung bestimmter Parameter, und die Granularität des hierarchischen binären Bitstroms hängt von der Bitrate ab, die diesen Parametern zugeteilt wird (typischerweise kann eine Schicht in der Größenordnung von einigen zehn Bits pro Rahmen enthalten, wobei ein Signalrahmen aus einer bestimmten Anzahl von Tastproben des Signals über eine gegebene Zeitdauer enthält, wobei das weiter unten beschriebene Beispiel einen Rahmen von 960 Tastproben in Betracht zieht, die 60 ms Signal entsprechen).
  • Außerdem, wenn die Bandbreite der decodierten Signale gemäß der Ebene der Schichten von Binärelementen variieren kann, kann die Veränderung der Leitungs-Bitrate beim Hören störende Artefakte erzeugen.
  • Die vorliegende Erfindung hat insbesondere zum Ziel, eine Lösung für die Multi-Bitrate-Codierung vorzuschlagen, die die erwähnten Nachteile im Fall der Verwendung der existierenden schaltbaren und hierarchischen Codierungen behebt.
  • So schlägt die Erfindung ein Verfahren zur Codierung eines audio-digitalen Signalrahmens in einer binären Ausgangssequenz vor, bei dem eine maximale Anzahl Nmax von Codierbits für eine Einheit von anhand des Signalrahmens berechenbaren Parametern definiert wird, die aus einer ersten und einer zweiten Untereinheit besteht. Das vorgeschlagene Verfahren weist die folgenden Schritte auf:
    • – Berechnen der Parameter der ersten Untereinheit und Codierung dieser Parameter auf eine Anzahl N0 von Codierbits, derart, dass gilt N0 < Nmax;
    • – Bestimmen einer Zuweisung von Nmax – N0 Codierbits für die Parameter der zweiten Untereinheit; und
    • – Einordnen der den Parametern der zweiten Untereinheit zugewiesenen Nmax – N0 Codierbits in einer bestimmten Reihenfolge.
  • Die Zuweisung und/oder die Einordnungsreihenfolge der Nmax – N0 Codierbits werden in Abhängigkeit von den codierten Parametern der ersten Untereinheit bestimmt. Das Codierverfahren weist außerdem die folgenden Schritte als Antwort auf die Angabe einer Anzahl N von Bits der binären Ausgangssequenz, die für die Codierung der Einheit von Parametern zur Verfügung stehen, auf, mit N0 < N = Nmax:
    • – Auswählen der Parameter der zweiten Untereinheit, denen die an erster Stelle in der Reihenfolge eingeordneten N – N0 Codierbits zugewiesen werden;
    • – Berechnen der ausgewählten Parameter der zweiten Untereinheit, und Codierung dieser Parameter, um die an erster Stelle eingeordneten N – N0 Codierbits zu erzeugen; und
    • – Einfügen der N0 Codierbits der ersten Untereinheit sowie der N – N0 Codierbits der ausgewählten Parameter der zweiten Untereinheit in die Ausgangssequenz.
  • Das erfindungsgemäße Verfahren erlaubt es, eine Multi-Bitrate-Codierung zu definieren, die mindestens in einem entsprechenden Bereich für jeden Rahmen mit einer Anzahl von Bits arbeitet, die von N0 bis Nmax geht.
  • Man kann so annehmen, dass der Begriff von vorab erstellten Bitraten, der mit den existierenden schaltbaren und hierarchischen Codierungen verbunden ist, durch einen "Cursor"-Begriff ersetzt wird, der es ermöglicht, die Bitrate frei zwischen einem Mindestwert (der ggf. einer Anzahl von Bits N geringer als N0 entsprechen kann) und einem Höchstwert (entsprechend Nmax) variieren zu lassen. Diese Extremwerte sind potentiell voneinander entfernt. Das Verfahren bietet gute Leistungen bezüglich der Codierwirksamkeit, unabhängig von der gewählten Bitrate.
  • Vorteilhafterweise ist die Anzahl N von Bits der Binäre Sequenz strikt geringer als Nmax. Der Codierer hat dann die Besonderheit, dass die verwendete Zuweisung der Bits sich nicht auf die effektive Ausgangsbitrate des Codierers, sondern auf eine andere Zahl Nmax bezieht, die mit dem Decodierer vereinbart wurde.
  • Es ist aber möglich, Nmax = N in Abhängigkeit von der augenblicklichen Bitrate festzulegen, die in einem Übertragungskanal verfügbar ist. Die Ausgangssequenz eines solchen schaltbaren Multi-Bitrate-Codierers kann von einem Decodierer verarbeitet werden, der nicht die Gesamtheit der Sequenz empfängt, so lange er in der Lage ist, die Struktur der Codierbits der zweiten Untereinheit aufgrund der Kenntnis von Nmax wiederzufinden.
  • Ein anderer Fall, in dem man N = Nmax haben kann, ist derjenige der Speicherung von Audiodaten mit der maximalen Codier-Bitrate. Bei einem Lesen von N' Bits dieses mit geringerer Bitrate gespeicherten Inhalts ist der Decodierer in der Lage, die Struktur der Codierbits der zweiten Untereinheit wiederzufinden, so lange gilt N' ≥ N0.
  • Die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits kann eine vorab erstellte Reihenfolge sein.
  • In einer bevorzugten Ausführungsform ist die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits variabel. Es kann insbesondere eine Reihenfolge abnehmender Bedeutung sein, die in Abhängigkeit von mindestens den codierten Parametern der ersten Untereinheit bestimmt wird. So kann der Decodierer, der eine binäre Sequenz von N' Bits für den Rahmen empfängt, mit N0 ≤ N' ≤ N ≤ Nmax, diese Reihenfolge der N0 Bits empfangenen Bits für die Codierung der ersten Untereinheit ableiten.
  • Die Zuweisung der Nmax – N0 Bits zur Codierung der Parameter der zweiten Untereinheit kann fest durchgeführt werden (in diesem Fall hängt die Einordnungsreihenfolge dieser Bits mindestens von den codierten Parametern der ersten Untereinheit ab).
  • In einer bevorzugten Ausführungsform ist die Zuweisung der Nmax – N0 Bits zur Codierung der Parameter der zweiten Untereinheit eine Funktion der codierten Parameter der ersten Untereinheit.
  • Vorteilhafterweise wird diese Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits mit Hilfe mindestens eines psychoakustischen Kriteriums in Abhängigkeit von den codierten Parametern der zweiten Untereinheit bestimmt.
  • Die Parameter der zweiten Untereinheit können sich auf Spektralbänder des Signals beziehen. In diesem Fall weist das Verfahren vorteilhafterweise einen Schritt der Schätzung einer spektralen Hüllkurve des codierten Signals ausgehend von den codierten Parametern der ersten Untereinheit und einen Schritt der Berechnung einer Frequenzverdeckungskurve unter Anwendung eines auditiven Wahrnehmungsmodells an die geschätzte spektrale Hüllkurve auf, und das psychoakustische Kriterium bezieht sich auf den Pegel der geschätzten spektralen Hüllkurve bezüglich der Verdeckungskurve in jedem Spektralband.
  • In einem Anwendungsmodus werden die Codierbits in der Ausgangssequenz so geordnet, dass die N0 Codierbits der ersten Untereinheit vor den N – N0 Codierbits der ausgewählten Parameter der zweiten Untereinheit liegen, und dass die entsprechenden Codierbits der ausgewählten Parameter der zweiten Untereinheit dort in der für diese Codierbits bestimmten Reihenfolge erscheinen. Dies ermöglicht es in dem Fall, in dem die binäre Sequenz gekürzt ist, den wichtigsten Teil zu empfangen.
  • Die Zahl N kann von einem Rahmen zum anderen variieren, insbesondere zum Beispiel in Abhängigkeit von der verfügbaren Kapazität der Übertragungsressource.
  • Die Audiocodierung mit Multi-Bitraten gemäß der vorliegenden Erfindung kann gemäß einem sehr flexiblen schaltbaren oder hierarchischen Modus verwendet werden, da eine beliebige Zahl von zu übertragenden Bits, die frei zwischen N0 und Nmax gewählt wird, jederzeit ausgewählt werden kann, d. h. Rahmen für Rahmen.
  • Die Codierung der Parameter der ersten Untereinheit kann mit variabler Bitrate sein, was die Anzahl N0 von einem Rahmen zum anderen variieren lässt. Dies ermöglicht es, die Verteilung der Bits in Abhängigkeit von den zu codierenden Rahmen bestmöglich einzustellen.
  • In einem Anwendungsmodus weist die erste Untereinheit von einem Codierkern berechnete Parameter auf. Vorteilhafterweise hat der Codierkern ein unterhalb der Bandbreite des zu codierenden Signals liegendes Betriebsfrequenzband, und die erste Untereinheit weist außerdem Energiepegel des Tonsignals auf, die oberhalb des Betriebsbandes des Codierkerns liegenden Frequenzbändern zugeordnet sind. Dieser Strukturtyp ist derjenige eines hierarchischen Codierers mit zwei Ebenen, der zum Beispiel über den Codierkern ein codiertes Signal einer Qualität liefert, die als ausreichend betrachtet wird, und der in Abhängigkeit von der verfügbaren Bitrate die vom Codierkern durchgeführte Codierung durch zusätzliche Informationen vervollständigt, die vom erfindungsgemäßen Codierverfahren stammen.
  • Vorzugsweise werden dann die Codierbits der ersten Untereinheit in der Ausgangssequenz so geordnet, dass die Codierbits der den höheren Frequenzbändern zugeordneten Energiepegel den Codierbits der vom Codierkern berechneten Parameter unmittelbar folgen. Dies gewährleistet die gleiche Bandbreite für die nacheinander codierten Rahmen, wenn der Decodierer ausreichend Bits empfängt, um über die Informationen des Codierkerns und die codierten Energiepegel zu verfügen, die den höheren Frequenzbändern zugeordnet sind.
  • In einem Anwendungsmodus wird ein Differenzsignal zwischen dem zu codierenden Signal und einem von den vom Codierkern erzeugten codierten Parametern abgeleiteten Synthesesignal geschätzt, und die erste Untereinheit weist außerdem Energiepegel des Differenzsignals auf, die im Betriebsband des Codierkerns enthaltenen Frequenzbändern zugeordnet sind.
  • Ein zweiter Aspekt der Erfindung bezieht sich auf ein Verfahren zur Decodierung einer binären Eingangssequenz, um ein audio-digitales Signal zu synthetisieren, das der Decodierung eines gemäß dem erfindungsgemäßen Codierverfahren codierten Rahmens entspricht. Gemäß diesem Verfahren wird eine maximale Anzahl Nmax von Codierbits für eine Einheit von Beschreibungsparametern eines Signalrahmens definiert, die aus einer ersten und einer zweiten Untereinheit zusammengesetzt ist. Die Eingangssequenz weist für einen Signalrahmen eine Anzahl N' von Codierbits der Einheit von Parametern auf, mit N' = Nmax. Das erfindungsgemäße Decodierverfahren weist die folgenden Schritte auf:
    • – Extrahieren einer Anzahl N0 von Codierbits der Parameter der ersten Untereinheit aus den N' Bits der Eingangssequenz, wenn gilt N0 < N';
    • – Abrufen der Parameter der ersten Untereinheit auf der Grundlage der extrahierten N0 Codierbits;
    • – Bestimmen einer Zuweisung von Nmax – N0 Codierbits für die Parameter der zweiten Untereinheit; und
    • – Einordnen der den Parametern der zweiten Untereinheit zugewiesenen Nmax – N0 Codierbits in einer bestimmten Reihenfolge.
  • Die Zuweisung und/oder die Einordnungsreihenfolge der Nmax – N0 Codierbits werden in Abhängigkeit von den abgerufenen Parametern der ersten Untereinheit bestimmt. Das Decodierverfahren weist außerdem die folgenden Schritte auf:
    • – Auswählen der Parameter der zweiten Untereinheit, denen die an erster Stelle in der Reihenfolge eingeordneten N' – N0 Codierbits zugewiesen werden;
    • – Extrahieren von N' – N0 Codierbits der ausgewählten Parameter der zweiten Untereinheit aus den N' Bits der Eingangssequenz;
    • – Abrufen der ausgewählten Parameter der zweiten Untereinheit auf der Grundlage der extrahierten N' – N0 Codierbits; und
    • – Synthetisieren des Signalrahmens unter Verwendung der abgerufenen Parameter der ersten und zweiten Untereinheit.
  • Dieses Decodierverfahren wird vorteilhafterweise Methoden der Regenerierung der Parameter, die aufgrund der Kürzung der Sequenz von Nmax Bits fehlen, die virtuell oder nicht vom Codierer erzeugt wird, zugeordnet.
  • Ein dritter Aspekt der Erfindung bezieht sich auf einen Audiocodierer, der Mittel zur digitalen Signalverarbeitung aufweist, die eingerichtet sind, um ein erfindungsgemäßes Codierverfahren durchzuführen.
  • Ein anderer Aspekt der Erfindung bezieht sich auf einen Audiodecodierer, der Mittel zur digitalen Signalverarbeitung aufweist, die eingerichtet sind, um ein erfindungsgemäßes Decodierverfahren durchzuführen.
  • Weitere Besonderheiten und Vorteile der vorliegenden Erfindung gehen aus der nachfolgenden Beschreibung von nicht einschränkend zu verstehenden Ausführungsbeispielen unter Bezugnahme auf die beiliegenden Zeichnungen hervor. Es zeigen:
  • 1 ein Funktionsschaltbild eines Beispiels eines Audiocodierers gemäß der Erfindung;
  • 2 eine binäre Ausgangssequenz von N Bits in einer Ausführungsform des Erfindung; und
  • 3 ein Funktionsschaltbild eines erfindungsgemäßen Audiodecodierers.
  • Der in 1 dargestellte Codierer hat eine hierarchische Struktur mit zwei Codierstufen. Eine erste Codierstufe 1 besteht zum Beispiel aus einem Codierkern im Fernsprechband (300–3400 Hz) vom Typ CELP. Dieser Codierer ist im betrachteten Beispiel ein Codierer G.723.1, der von der ITU-T ("International Telecommunication Union") im festen Modus mit 6,4 kbit/s normiert ist. Er berechnet Parameter G.723.1 gemäß der Norm und quantifiziert sie mittels 192 Codierbits P1 pro Rahmen von 30 ms.
  • Die zweite Codierstufe 2, die es ermöglicht, die Bandbreite auf das Breitband zu vergrößern (50–7000 Hz), arbeitet am Codierrest E der ersten Stufe, der von einem Subtrahierglied 3 im Schaltplan der 1 geliefert wird. Ein Signalsynchronisationsmodul 4 verzögert den Tonsignalrahmen S um die Zeit, die die Verarbeitung des Codierkerns 1 benötigt. Sein Ausgangssignal wird an das Subtrahierglied 3 übermittelt, das davon das synthetische Signal S' gleich dem Ausgangssignal des Decodierkerns subtrahiert, der auf der Grundlage der quantifizierten Parameter arbeitet, wie sie von den Ausgangsbits P1 des Codierkerns dargestellt werden. Wie üblich enthält der Codierer 1 einen lokalen Decodierer, der S' liefert.
  • Das zu codierende Tonsignal S hat zum Beispiel eine Bandbreite von 7 kHz, wobei es mit 16 kHz abgetastet wird. Ein Rahmen besteht zum Beispiel aus 960 Tastproben, d. h. 60 ms Signal, oder zwei Elementarrahmen des Codierkerns G.723.1. Da letzterer an mit 8 kHz abgetasteten Signalen arbeitet, wird das Signal S mit einem Faktor 2 am Eingang des Codierkerns 1 unterabgetastet. In gleicher Weise wird das synthetische Signal S' am Ausgang des Codierkerns 1 mit 16 kHz überabgetastet.
  • Die Bitrate der ersten Stufe 1 beträgt 6,4 kbit/s (2 × N1 = 2 × 192 = 384 Bits pro Rahmen). Wenn der Codierer eine maximale Bitrate von 32 kbit/s (Nmax = 1920 Bits pro Rahmen) hat, beträgt die maximale Bitrate der zweiten Stufe 25,6 kbit/s (1920 – 384 = 1536 Bits pro Rahmen). Die zweite Stufe 2 arbeitet zum Beispiel an Elementarrahmen oder Subrahmen von 20 ms (320 Tastproben bei 16 kHz).
  • Die zweite Stufe 2 weist einen Zeit/Frequenz-Transformationsmodul 5 auf, zum Beispiel vom Typ MDCT ("Modified Discrete Cosine Transform"), an den der Rest E übermittelt wird, der vom Subtrahierglied 3 erhalten wird. In der Praxis kann der Betrieb der Module 3 und 5, die in 1 dargestellt sind, durchgeführt. werden, indem die folgenden Vorgänge für jeden Subrahmen von 20 ms ausgeführt werden:
    • – Transformation MDCT des Eingangssignals S, verzögert durch den Modul 4, der 320 Koeffizienten MDCT liefert. Da das Spektrum auf 7225 Hz begrenzt ist, unterscheiden sich nur die ersten 289 Koeffizienten MDCT von 0;
    • – Transformation MDCT des synthetischen Signals S'. Da es sich um das Spektrum eines Signals mit Fernsprechband handelt, unterscheiden sich nur die ersten 139 Koeffizienten MDCT von 0 (bis 3450 Hz); und
    • – Berechnung des Differenzspektrums zwischen den vorhergehenden Spektren.
  • Das resultierende Spektrum wird von einem Modul 6 in mehrere Bänder unterschiedlicher Breiten verteilt. Zum Beispiel kann die Bandbreite des Codec G.723.1 in 21 Bänder unterteilt werden, während die höheren Frequenzen in 11 zusätzliche Bänder verteilt sind. In diesen 11 zusätzlichen Bändern ist der Rest E gleich dem Eingangssignal S.
  • Ein Modul 7 führt die Codierung der spektralen Hüllkurve des Rests E durch. Er beginnt mit der Berechnung der Energie der Koeffizienten MDCT jedes Bands des Differenzspektrums. Diese Energien werden nachfolgend "Skalierungsfaktoren" genannt. Die 32 Skalierungsfaktoren bilden die spektrale Hüllkurve des Differenzsignals. Der Modul 7 führt dann ihre Quantifizierung in zwei Teilen durch. Der erste Teil entspricht dem Fernsprechband (21 erste Bänder von 0 bis 3450 Hz), der zweite den hohen Bändern (11 letzte Bänder von 3450 bis 7225 Hz). In jedem Teil wird der erste Skalierungsfaktor im Absolutwert quantifiziert, und die folgenden im Differenzwert, unter Verwendung einer klassischen Huffman-Codierung mit variabler Bitrate. Diese 32 Skalierungsfaktoren werden über eine variable Anzahl von N2(i) von Bits P2 für jeden Subrahmen des Rangs i (i = 1, 2, 3) quantifiziert.
  • Die quantifizierten Skalierungsfaktoren werden in 1 mit FQ bezeichnet. Die Quantifizierungsbits P1, P2 der ersten Untereinheit, die aus den quantifizierten Parametern des Codierkerns 1 und den quantifizierten Skalierungsfaktoren FQ besteht, liegen in einer variablen Anzahl N0 = (2 × N1) + N2(1) + N2(2) + N2(3) vor. Die Differenz Nmax – N0 = 1536 – N2(1) – N2(2) – N2(3) steht zur Verfügung, um die Spektren der Bänder feiner zu quantifizieren.
  • Ein Modul 8 normiert die Koeffizienten MDCT, die vom Modul 6 in Bändern verteilt werden, indem er sie durch die quantifizierten Skalierungsfaktoren FQ dividiert, die je für diese Bänder bestimmt werden. Die so normierten Spektren werden an den Quantifizierungsmodul 9 geliefert, der ein vektorielles Quantifizierungsschema bekannten Typs verwendet. Die vom Modul 9 stammenden Quantifizierungsbits sind in 1 mit P3 bezeichnet.
  • Ein Ausgangsmultiplexer 10 sammelt die Bits P1, P2 und P3, die von den Modulen 1, 7 und 9 stammen, um die binäre Ausgangssequenz Φ des Codierers zu formen.
  • Erfindungsgemäß ist die Gesamtanzahl von Bits N der einen laufenden Rahmen darstellenden Ausgangssequenz nicht unbedingt gleich Nmax. Sie kann geringer sein. Die Zuweisung der Quantifizierungsbits zu den Bändern wird aber unter Bezugnahme auf die Anzahl Nmax durchgeführt.
  • Im Schaltbild der 1 wird diese Zuweisung für jeden Subrahmen durch den Modul 12 ausgehend von der Anzahl Nmax – N0, den quantifizierten Skalierungsfaktoren FQ und einer spektralen Verdeckungskurve durchgeführt, die von einem Modul 11 berechnet wird.
  • Dieser letztere Modul 11 arbeitet folgendermaßen. Er bestimmt zunächst einen angenäherten Wert der ursprünglichen spektralen Hüllkurve des Signals S ausgehend von derjenigen des Differenzsignals, wie es vom Modul 7 quantifiziert wurde, und derjenigen, die er mit der gleichen Auflösung für das synthetische Signal S' bestimmt, das aus dem Codierkern resultiert. Diese beiden letzteren Hüllkurven können ebenfalls von einem Decodierer bestimmt werden, der nur über Parameter der erwähnten ersten Untereinheit verfügt. So steht die geschätzte spektrale Hüllkurve des Signals S ebenfalls dem Decodierer zur Verfügung. Dann berechnet der Modul 11 eine spektrale Verdeckungskurve, indem er in an sich bekannter Weise ein auditives Wahrnehmungsmodell Band für Band an die geschätzte ursprüngliche spektrale Hüllkurve anwendet. Diese Kurve 11 ergibt einen Verdeckungspegel für jedes betrachtete Band.
  • Der Modul 12 führt eine dynamische Zuweisung der Nmax – N0 verbleibenden Bits der Sequenz Φ unter den 3 × 32 Bändern der drei Transformationen MDCT des Differenzsignals durch. Bei der hier dargelegten Anwendung der Erfindung wird in Abhängigkeit von einem Kriterium der psychoakustischen Wahrnehmungsbedeutung, das sich auf den Pegel der geschätzten spektralen Hüllkurve im Vergleich mit der Verdeckungskurve in jedem Band bezieht, jedem Band eine Bitrate proportional zu diesem Pegel zugewiesen. Es könnten auch andere Einordnungskriterien verwendet werden.
  • Nach dieser Bitzuweisung weiß der Modul 9, wie viele Bits für die Quantifizierung jedes Bands in jedem Subrahmen zu berücksichtigen sind.
  • Wenn aber gilt N < Nmax, werden diese zugewiesenen Bits nicht unbedingt alle verwendet. Eine Ordnung der die Bänder darstellenden Bits wird von einem Modul 13 in Abhängigkeit von einem Wahrnehmungsbedeutungskriterium durchgeführt. Der Modul 13 ordnet die 3 × 32 Bänder in einer Reihenfolge mit abnehmender Bedeutung ein, die die abnehmende Reihenfolge der Signal-zu-Verdeckung-Verhältnisse (Verhältnis zwischen der geschätzten spektralen Hüllkurve und der Verdeckungskurve in jedem Band) sein kann. Diese Reihenfolge wird für die Konstruktion der binären Sequenz Φ gemäß der Erfindung verwendet.
  • In Abhängigkeit von der gewünschten Anzahl N von Bits in der Sequenz Φ für die Codierung des laufenden Rahmens werden die Bänder bestimmt, die vom Modul 9 quantifiziert werden sollen, indem die Bänder ausgewählt werden, die als erste vom Modul 13 eingeordnet werden, und indem für jedes ausgewählte Band eine Anzahl von Bits gewählt wird, wie sie vom Modul 12 bestimmt wurde.
  • Dann werden die Koeffizienten MDCT jedes ausgewählten Bands vom Modul 9 quantifiziert, zum Beispiel mit Hilfe eines vektoriellen Quantifizierers, entsprechend der zugewiesenen Anzahl von Bits, um eine Gesamtanzahl von Bits gleich N – N0 zu erzeugen.
  • Der Ausgangsmultiplexer 10 bildet die binäre Sequenz Φ, die aus den N ersten Bits der folgenden geordneten Sequenz besteht, die in 2 dargestellt ist (Fall N = Nmax):
    • a/ erst die binären Bitströme, die den zwei Rahmen G.723.1 (384 Bits) entsprechen;
    • b/ dann die Bits F(i)22 , ..., F(i)32 der Quantifizierung der Skalierungsfaktoren für die drei Subrahmen (i = 1, 2, 3), vom 22. Spektralband (erstes Band jenseits des Fernsprechbands) bis zum 32. Band (Huffman-Codierung mit variabler Bitrate);
    • c/ dann die Bits F(i)1 , ..., F(i)21 der Quantifizierung der Skalierungsfaktoren für die drei Subrahmen (i = 1, 2, 3), vom 1. Spektralband bis zum 21. Band (Huffman-Codierung mit variabler Bitrate);
    • d/ und schließlich die Indizes Mc1, Mc2, ..., Mc96 der vektoriellen Quantifizierung der 96 Bänder in der Reihenfolge der Wahrnehmungsbedeutung, vom bedeutendsten Band bis zum am wenigsten bedeutenden Band, unter Berücksichtigung der vom Modul 13 bestimmten Reihenfolge.
  • Die Tatsache, dass die Parameter G.723.1 und die Skalierungsfaktoren der hohen Bänder zuerst (a und b) angeordnet werden, ermöglicht es, die gleiche Bandbreite für das vom Decodierer wiederherstellbare Signal beizubehalten, unabhängig von der effektiven Bitrate jenseits eines Mindestwerts, der dem Empfang dieser Gruppen a und b entspricht. Dieser Mindestwert, ausreichend für die Huffman-Codierung der 3 × 11 = 33 Skalierungsfaktoren der hohen Bänder zusätzlich zur Codierung G.723.1, beträgt zum Beispiel 8 kbit/s.
  • Das obige Codierverfahren ermöglicht eine Decodierung des Rahmens, wenn der Decodierer N' Bits mit N0 ≤ N' ≤ N empfängt. Diese Anzahl N' ist allgemein von einem Rahmen zum anderen variabel.
  • Ein diesem Beispiel entsprechender erfindungsgemäßer Decodierer wird durch 3 veranschaulicht. Ein Demultiplexer 20 trennt die Sequenz von empfangenen Bits Φ', um daraus die Codierbits P1 und P2 zu extrahieren. Die 384 Bits P1 werden an den Decodierkern 21 vom Typ G.723.1 geliefert, damit dieser zwei Rahmen des Basissignals S' im Fernsprechband synthetisiert. Die Bits P2 werden gemäß dem Huffman-Algorithmus durch einen Modul 22 decodiert, der so die quantifizierten Skalierungsfaktoren FQ für jeden der 3 Subrahmen abruft.
  • Ein Modul 23 zur Berechnung der Verdeckungskurve gleich demjenigen 11 des Codierers der 1 empfängt das Basissignal S' und die quantifizierten Skalierungsfaktoren FQ und erzeugt die spektralen Verdeckungspegel für jedes der 96 Bänder. Ausgehend von diesen Verdeckungspegeln, den quantifizierten Skalierungsfaktoren FQ und der Kenntnis der Anzahl Nmax (sowie derjenigen der Anzahl N0, die sich von der Huffman-Decodierung der Bits P2 durch den Modul 22 ableitet) bestimmt ein Modul 24 eine Zuweisung von Bits in gleicher Weise wie der Modul 12 der 1. Außerdem führt ein Modul 25 die Ordnung der Bänder gemäß dem gleichen Einordnungskriterium durch wie der unter Bezug auf 1 beschriebene Modul 13 durch.
  • Gemäß den von den Modulen 24 und 25 gelieferten Informationen extrahiert der Modul 26 die Bits P3 aus der Eingangssequenz Φ' und synthetisiert die normierten Koeffizienten MDCT bezüglich der in der Sequenz Φ' dargestellten Bänder. Gegebenenfalls (N' < Nmax) können die normierten Koeffizienten MDCT bezüglich der fehlenden Bänder außerdem durch Interpolation oder Extrapolation synthetisiert werden, wie weiter unten beschrieben wird (Modul 27). Diese fehlenden Bänder können vom Codierer aufgrund einer Kürzung auf N < Nmax entfernt worden sein, oder sie können im Lauf der Übertragung entfernt worden sein (N' < N).
  • Die normierten Koeffizienten MDCT, synthetisiert vom Modul 26 und/oder vom Modul 27, werden mit ihren jeweiligen quantifizierten Skalierungsfaktoren multipliziert (Multiplizierer 28), ehe sie dem Modul 29 angeboten werden, der die inverse Frequenz/Zeit-Transformation der Transformation MDCT durchführt, die vom Modul 5 des Codierers vorgenommen wird. Das daraus resultierende zeitliche Korrektursignal wird zum synthetischen Signal S' addiert, das vom Decodierkern 21 (Addierer 30) geliefert wird, um das Ausgangstonsignal S ^ des Decodierers zu erzeugen.
  • Es ist anzumerken, dass der Decodierer ein Signal S ^ selbst dann synthetisieren könnte, wenn er nicht die N0 ersten Bits der Sequenz empfängt.
  • Es genügt ihm, die 2 × N1 Bits entsprechend dem Teil a der obigen Aufzählung zu empfangen, wobei die Decodierung dann in einem "eingeschränkten" Modus ist. Nur dieser eingeschränkte Modus verwendet nicht die Synthese MDCT, um das decodierte Signal zu erhalten. Um die Umschaltung ohne Unterbrechung zwischen diesem Modus und den anderen Modi zu gewährleisten, führt der Decodierer drei Analysen MDCT gefolgt von drei Synthesen MDCT durch, was die Aktualisierung der Speicher der Transformation MDCT ermöglicht. Das Ausgangssignal enthält ein Signal der Qualität Fernsprechband. Wenn selbst die 2 × N1 ersten Bits nicht empfangen werden, betrachtet der Decodierer den entsprechenden Rahmen als gelöscht und kann einen bekannten Verdeckungsalgorithmus der gelöschten Rahmen verwenden.
  • Wenn der Decodierer die 2 × N1 Bits entsprechend dem Teil a plus die Bits des Teils b empfängt (hohe Bänder der drei spektralen Hüllkurven), kann er beginnen, ein Signal im Breitband zu synthetisieren. Er kann insbesondere folgendermaßen vorgehen.
    • 1/ Der Modul 22 ruft die Teile der drei empfangenen spektralen Hüllkurven ab.
    • 2/ Die Skalierungsfaktoren der nicht empfangenen Bänder sind vorübergehend auf Null gesetzt.
    • 3/ Die unteren Teile der spektralen Hüllkurven werden ausgehend von den Analysen MDCT berechnet, die am erhaltenen Signal nach der Decodierung G.723.1 durchgeführt werden, und der Modul 23 berechnet die drei Verdeckungskurven an den so erhaltenen Hüllkurven.
    • 4/ Die spektrale Hüllkurve wird korrigiert, um sie zu regularisieren, indem die Löcher aufgrund der nicht empfangenen Bänder vermieden werden: Die Werte Null im oberen Teil der spektralen Hüllkurven FQ werden zum Beispiel durch das Hundertstel des Werts der vorher berechneten Verdeckungskurve ersetzt, so dass sie unhörbar bleiben. Das vollständige Spektrum der unteren Bänder und die spektrale Hüllkurve der hohen Bänder sind in diesem Stadium bekannt.
    • 5/ Der Modul 27 erzeugt dann das hohe Spektrum. Die feine Struktur dieser Bänder wird durch Reflektion der feinen Struktur von ihrer bekannten Nahbarschaft vor der Gewichtung durch die Skalierungsfaktoren erzeugt (Multiplizierer 28). Wenn keines der Bits P3 empfangen wird, entspricht die "bekannte Nachbarschaft" dem Spektrum des Signals S', das von dem Decodierkern G.723.1 erzeugt wird. Seine "Reflektion" kann darin bestehen, den Wert des normierten Spektrums MDCT zu kopieren, mit ggf. einer Dämpfung seiner Variationen proportional zur Entfernung dieser "bekannten Nachbarschaft".
    • 6/ Nach der inversen Transformation MDCT (29) und Addition (30) des resultierenden Korrektursignals zum Ausgangssignal des Decodierkerns erhält man das synthetisierte Signal im Breitband.
  • Wenn der Decodierer ebenfalls mindestens einen Teil der niederen spektralen Hüllkurve des Differenzsignals empfängt (Teil c), kann er diese Information berücksichtigen oder nicht, um die spektrale Hüllkurve im Schritt 3 zu verfeinern.
  • Wenn der Decodierer 10 genügend Bits P3 empfängt, um mindestens die Koeffizienten MDCT des bedeutendsten Bands zu decodieren, das als erstes in dem Teil d der Sequenz eingeordnet ist, ruft der Modul 26 bestimmte der normierten Koeffizienten MDCT gemäß der Zuweisung und der Ordnung ab, die von den Modulen 24 und 25 angegeben werden. Diese Koeffizienten MDCT müssen also nicht interpoliert werden wie im obigen Schritt 5. Für die anderen Bänder ist der Prozess der Schritte 1 bis 6 durch den Modul 27 in gleicher Weise wie vorher anwendbar, wobei die Kenntnis der empfangenen Koeffizienten MDCT für bestimmte Bänder eine zuverlässigere Interpolation im Schritt 5 erlaubt.
  • Die nicht empfangenen Bänder können von einem Subrahmen MDCT zum nächsten variieren. Die "bekannte Nachbarschaft" eines fehlenden Bands kann dem gleichen Band in einem anderen Subrahmen, in dem es nicht fehlt, und/oder einem oder mehreren am nächsten liegenden Bändern im Frequenzbereich während des gleichen Subrahmens entsprechen. Es ist ebenfalls möglich, ein in einem Band fehlendes Spektrum MDCT für einen Subrahmen zu regenerieren, indem eine gewichtete Summe von Beiträgen gebildet wird, die ausgehend von mehreren Bändern/Subrahmen der "bekannten Nachbarschaft" ermittelt werden.
  • In dem Maße, in dem die effektive Bitrate von N' Bits pro Rahmen das letzte Bit eines gegebenen Rahmens willkürlich anordnet, kann der letzte übertragene codierte Parameter je nachdem vollständig oder teilweise übertragen werden. Es können dann zwei Fälle auftreten:
    • – entweder die verwendete Codierstruktur ermöglicht es, die empfangene Teilinformation auszuwerten (Fall von skalaren Quantifizierern, oder einer vektoriellen Quantifizierung mit partitionierten Wörterbüchern),
    • – oder sie ermöglicht es nicht, und man bearbeitet den nicht ganz empfangenen Parameter wie die anderen nicht empfangenen Parameter. Man stellt fest, dass in diesem letzteren Fall, wenn die Reihenfolge der Bits in jedem Rahmen variiert, die Anzahl von so verlorenen Bits und die Auswahl der N' Bits im Mittel in der Gesamtheit der decodierten Rahmen eine bessere Qualität erzeugt als diejenige, die man mit einer kleineren Anzahl von Bits erhalten würde.

Claims (36)

  1. Verfahren zur Codierung eines audio-digitalen Signalrahmens (S) in einer binären Ausgangssequenz (Φ), bei dem eine maximale Anzahl Nmax von Codierbits für eine Einheit von anhand des Signalrahmens berechenbaren Parametern definiert wird, die aus einer ersten und einer zweiten Untereinheit besteht, wobei das Verfahren die folgenden Schritte aufweist: – Berechnung der Parameter der ersten Untereinheit und Codierung dieser Parameter auf eine Anzahl N0 von Codierbits, derart, dass gilt N0 < Nmax; – Bestimmung einer Zuweisung von Nmax – N0 Codierbits für die Parameter der zweiten Untereinheit; und – Einordnen der den Parametern der zweiten Untereinheit zugewiesenen Nmax – N0 Codierbits in einer bestimmten Reihenfolge, bei dem die Zuweisung und/oder die Einordnungsreihenfolge der Nmax – N0 Codierbits in Abhängigkeit von den codierten Parametern der ersten Untereinheit bestimmt wird, wobei das Verfahren außerdem die folgenden Schritte als Antwort auf die Angabe einer Anzahl N von Bits der binären Ausgangssequenz aufweist, die für die Codierung der Einheit von Parametern zur Verfügung stehen, mit N0 < N = Nmax: – Auswahl der Parameter der zweiten Untereinheit, denen die an erster Stelle in der Reihenfolge eingeordneten N – N0 Codierbits zugewiesen werden; – Berechnung der ausgewählten Parameter der zweiten Untereinheit, und Codierung dieser Parameter, um die an erster Stelle eingeordneten N – N0 Codierbits zu erzeugen; und – Einfügen der N0 Codierbits der ersten Untereinheit sowie der N – N0 Codierbits der ausgewählten Parameter der zweiten Untereinheit in die Ausgangssequenz.
  2. Verfahren nach Anspruch 1, bei dem die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits von einem Rahmen zum anderen variabel ist.
  3. Verfahren nach Anspruch 1 oder 2, bei dem gilt N < Nmax.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits eine Reihenfolge abnehmender Bedeutung ist, die in Abhängigkeit von mindestens den codierten Parametern der ersten Untereinheit bestimmt wird.
  5. Verfahren nach Anspruch 4, bei dem die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits mit Hilfe mindestens eines psychoakustischen Kriteriums in Abhängigkeit von den codierten Parametern der zweiten Untereinheit bestimmt wird.
  6. Verfahren nach Anspruch 5, bei dem sich die Parameter der zweiten Untereinheit auf Spektralbänder des Signals beziehen, bei dem ausgehend von den codierten Parametern der ersten Untereinheit eine spektrale Hüllkurve des codierten Signals geschätzt wird, bei dem durch Anwendung eines auditiven Wahrnehmungsmodells auf die geschätzte spektrale Hüllkurve eine Frequenzverdeckungskurve berechnet wird, und bei dem das psychoakustische Kriterium sich auf den Pegel der geschätzten spektralen Hüllkurve bezüglich der Verdeckungskurve in jedem Spektralband bezieht.
  7. Verfahren nach einem der Ansprüche 4 bis 6, bei dem gilt Nmax = N.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Codierbits in der Ausgangssequenz so geordnet werden, dass die N0 Kodierbits der ersten Untereinheit vor den N – N0 Codierbits der ausgewählten Parameter der zweiten Untereinheit liegen, und dass die entsprechenden Codierbits der ausgewählten Parameter der zweiten Untereinheit dort in der für diese Codierbits bestimmten Reihenfolge erscheinen.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem sich die Anzahl N von einem Rahmen zum anderen ändert.
  10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Codierung der Parameter der ersten Untereinheit eine variable Bitrate aufweist, wodurch sich die Anzahl N0 von einem Rahmen zum anderen ändert.
  11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die erste Untereinheit von einem Codierkern (1) berechnete Parameter aufweist.
  12. Verfahren nach Anspruch 11, bei dem der Codierkern (1) ein unterhalb der Bandbreite des zu codierenden Signals liegendes Betriebsfrequenzband hat, und bei dem die erste Untereinheit außerdem Energiepegel des Tonsignals aufweist, die oberhalb des Betriebsbandes des Codierkerns liegenden Frequenzbändern zugeordnet sind.
  13. Verfahren nach jedem der Ansprüche 8 und 12, bei dem die Codierbits der ersten Untereinheit in der Ausgangssequenz so geordnet werden, dass die Codierbits der den höheren Frequenzbändern zugeordneten Energiepegel den Codierbits der vom Codierkern berechneten Parameter unmittelbar folgen.
  14. Verfahren nach einem der Ansprüche 11 bis 13, bei dem ein Differenzsignal zwischen dem zu codierenden Signal und einem von den vom Codierkern erzeugten codierten Parametern abgeleiteten Synthesesignal geschätzt wird, und bei dem die erste Untereinheit außerdem Energiepegel des Differenzsignals aufweist, die im Betriebsband des Codierkerns enthaltenen Frequenzbändern zugeordnet sind.
  15. Verfahren nach Anspruch 8 und einem der Ansprüche 12 bis 14, bei dem die Codierbits der ersten Untereinheit in der Ausgangssequenz so geordnet werden, dass die Codierbits der den Frequenzbändern zugeordneten Energiepegel den Codierbits der vom Codierkern (1) berechneten Parameter unmittelbar folgen.
  16. Verfahren zur Decodierung einer binären Eingangssequenz (Φ'), um ein audio-digitales Signal (S) zu synthetisieren, bei dem eine maximale Anzahl Nmax von Codierbits für eine Einheit von Beschreibungsparametern eines Signalrahmens definiert wird, zusammengesetzt aus einer ersten und einer zweiten Untereinheit, wobei die Eingangssequenz für einen Signalrahmen eine Anzahl N' von Codierbits der Einheit von Parametern aufweist, mit N' = Nmax, wobei das Verfahren die folgenden Schritte aufweist: – Extrahieren einer Anzahl N0 von Codierbits der Parameter der ersten Untereinheit aus den N' Bits der Eingangssequenz, wenn gilt N0 < N'; – Abrufen der Parameter der ersten Untereinheit auf der Grundlage der extrahierten N0 Codierbits; – Bestimmen einer Zuweisung von Nmax – N0 Codierbits für die Parameter der zweiten Untereinheit; und – Einordnen der den Parametern der zweiten Untereinheit zugewiesenen Nmax – N0 Codierbits in einer bestimmten Reihenfolge, bei dem die Zuweisung und/oder die Einordnungsreihenfolge der Nmax – N0 Codierbits in Abhängigkeit von den abgerufenen Parametern der ersten Untereinheit bestimmt wird, wobei das Verfahren außerdem die folgenden Schritte aufweist – Auswählen der Parameter der zweiten Untereinheit, denen die an erster Stelle in der Reihenfolge eingeordneten N' – N0 Codierbits zugewiesen werden; – Extrahieren von N' – N0 Codierbits der ausgewählten Parameter der zweiten Untereinheit aus den N' Bits der Eingangssequenz; – Abrufen der ausgewählten Parameter der zweiten Untereinheit auf der Grundlage der extrahierten N' – N0 Codierbits; und – Synthetisieren des Signalrahmens unter Verwendung der abgerufenen Parameter der ersten und zweiten Untereinheit.
  17. Verfahren nach Anspruch 16, bei dem die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits von einem Rahmen zum anderen variabel ist.
  18. Verfahren nach Anspruch 16 oder 17, bei dem gilt N' < Nmax.
  19. Verfahren nach einem der Ansprüche 16 bis 18, bei dem die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits eine Reihenfolge abnehmender Bedeutung ist, die in Abhängigkeit von mindestens den abgerufenen Parametern der ersten Untereinheit bestimmt wird.
  20. Verfahren nach Anspruch 19, bei dem die Einordnungsreihenfolge der den Parametern der zweiten Untereinheit zugewiesenen Codierbits mit Hilfe zumindest eines psychoakustischen Kriteriums in Abhängigkeit von den abgerufenen Parametern der ersten Untereinheit bestimmt wird.
  21. Verfahren nach Anspruch 20, bei dem sich die Parameter der zweiten Untereinheit auf Spektralbänder des Signals beziehen, bei dem ausgehend von den abgerufenen Parametern der ersten Untereinheit eine spektrale Hüllkurve des Signals geschätzt wird, bei dem durch Anwendung eines auditiven Wahrnehmungsmodells auf die geschätzte spektrale Hüllkurve eine Frequenzverdeckungskurve berechnet wird, und bei dem das psychoakustische Kriterium sich auf den Pegel der geschätzten spektralen Hüllkurve bezüglich der Verdeckungskurve in jedem Spektralband bezieht.
  22. Verfahren nach einem der Ansprüche 16 bis 21, bei dem die N0 Codierbits der Parameter der ersten Untereinheit aus den N' Bits extrahiert werden, die in Positionen der Sequenz empfangen werden, die vor den Positionen liegen, von denen die N' – N0 Codierbits der ausgewählten Parameter der zweiten Untereinheit extrahiert werden.
  23. Verfahren nach einem der Ansprüche 16 bis 22, bei dem zur Synthetisierung des Signalrahmens nicht ausgewählte Parameter der zweiten Untereinheit durch Interpolation ausgehend von mindestens auf der Grundlage der extrahierten N' – N0 Codierbits abgerufenen ausgewählten Parametern geschätzt werden.
  24. Verfahren nach einem der Ansprüche 16 bis 23, bei dem die erste Untereinheit Eingangsparameter eines Decodierkerns (21) aufweist.
  25. Verfahren nach Anspruch 24, bei dem der Decodierkern (21) ein unterhalb der Bandbreite des zu synthetisierenden Signals liegendes Betriebsfrequenzband hat, und bei dem die erste Untereinheit außerdem Energiepegel des Tonsignals aufweist, die oberhalb des Betriebsbands des Decodierkerns liegenden Frequenzbändern zugeordnet sind.
  26. Verfahren nach jedem der Ansprüche 22 und 25, bei dem die Codierbits der ersten Untereinheit in der Eingangssequenz so geordnet werden, dass Codierbits der den höheren Frequenzbändern zugeordneten Energiepegel den Codierbits der Eingangsparameter des Decodierkerns (21) unmittelbar folgen.
  27. Verfahren nach Anspruch 26, das die folgenden Schritte aufweist, wenn die N' Bits der Eingangssequenz (Φ') sich auf die Codierbits der Eingangsparameter des Decodierkerns (21) und auf zumindest einen Teil der Codierbits der den höheren Frequenzbändern zugeordneten Energiepegel beschränken: – Extrahieren der Codierbits der Eingangsparameter des Decodierkerns und des Teils der Codierbits der Energiepegel aus der Eingangssequenz; – Synthetisieren eines Basissignals (S') im Decodierkern und Abrufen der den höheren Frequenzbändern zugeordneten Energiepegel auf der Grundlage der extrahierten Codierbits; – Berechnen eines Spektrums des Basissignals; – Zuweisen eines Energiepegels zu jedem höheren Band, dem ein in der Eingangssequenz nicht codierter Energiepegel zugeordnet ist: – Synthetisieren der Spektralkomponenten für jedes höhere Frequenzband ausgehend von dem entsprechenden Energiepegel und dem Spektrum des Basissignals in mindestens einem Band des Spektrums; – Anwenden einer Umwandlung in den Zeitbereich auf die synthetisierten Spektralkomponenten, um ein Korrektursignal des Basissignals zu erhalten; und – Addieren des Basissignals und des Korrektursignals, um den Signalrahmen zu synthetisieren.
  28. Verfahren nach Anspruch 27, bei dem der einem höheren Band, dem ein in der Eingangssequenz nicht codierter Energiepegel zugeordnet ist, zugewiesene Energiepegel eine Fraktion eines perzeptuellen Verdeckungspegels ist, der anhand des Spektrums des Basissignals und der auf der Grundlage der extrahierten Codierbits abgerufenen Energiepegel berechnet wird.
  29. Verfahren nach einem der Ansprüche 24 bis 28, bei dem im Decodierkern ein Basissignal (S') synthetisiert wird, und bei dem die erste Untereinheit außerdem Energiepegel eines Differenzsignals zwischen dem zu synthetisierenden Signal und dem Basissignal aufweist, die im Betriebsband des Codierkerns enthaltenen Frequenzbändern zugeordnet sind.
  30. Verfahren nach einem der Ansprüche 25, 26 und 29, bei dem, für N0 < N' < Nmax, nicht ausgewählte Parameter der zweiten Untereinheit, die sich auf Spektralkomponenten in Frequenzbändern beziehen, mit Hilfe eines berechneten Spektrums des Basissignals und/oder der auf der Grundlage der extrahierten N' – N0 Bits abgerufenen ausgewählten Parameter geschätzt werden.
  31. Verfahren nach Anspruch 30, bei dem die nicht ausgewählten Parameter der zweiten Untereinheit in einem Frequenzband mit Hilfe einer auf der Grundlage der N' Codierbits der Eingangssequenz bestimmten Spektralumgebung des Bandes geschätzt werden.
  32. Verfahren nach Anspruch 22 und einem der Ansprüche 25 bis 31, bei dem die Codierbits der Eingangsparameter des Decodierkerns (21) aus den empfangenen N' Bits in Positionen der Sequenz extrahiert werden, die sich vor den Positionen befinden, aus denen die Codierbits der den Frequenzbändern zugeordneten Energiepegel extrahiert werden.
  33. Verfahren nach einem der Ansprüche 16 bis 32, bei dem sich die Anzahl N' von einem Rahmen zum anderen ändert.
  34. Verfahren nach einem der Ansprüche 16 bis 33, bei dem sich die Anzahl N0 von einem Rahmen zum anderen ändert.
  35. Audiocodierer, der Mittel zur digitalen Signalverarbeitung aufweist, die eingerichtet sind, um ein Codierverfahren nach einem der Ansprüche 1 bis 15 durchzuführen.
  36. Audiodecodierer, der Mittel zur digitalen Signalverarbeitung aufweist, die eingerichtet sind, um ein Decodierverfahren nach einem der Ansprüche 16 bis 34 durchzuführen.
DE60319590T 2003-01-08 2003-12-22 Verfahren zur codierung und decodierung von audio mit variabler rate Expired - Lifetime DE60319590T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0300164A FR2849727B1 (fr) 2003-01-08 2003-01-08 Procede de codage et de decodage audio a debit variable
FR0300164 2003-01-08
PCT/FR2003/003870 WO2004070706A1 (fr) 2003-01-08 2003-12-22 Procede de codage et de decodage audio a debit variable

Publications (2)

Publication Number Publication Date
DE60319590D1 DE60319590D1 (de) 2008-04-17
DE60319590T2 true DE60319590T2 (de) 2009-03-26

Family

ID=32524763

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60319590T Expired - Lifetime DE60319590T2 (de) 2003-01-08 2003-12-22 Verfahren zur codierung und decodierung von audio mit variabler rate

Country Status (15)

Country Link
US (1) US7457742B2 (de)
EP (1) EP1581930B1 (de)
JP (1) JP4390208B2 (de)
KR (1) KR101061404B1 (de)
CN (1) CN1735928B (de)
AT (1) ATE388466T1 (de)
AU (1) AU2003299395B2 (de)
BR (1) BR0317954A (de)
CA (1) CA2512179C (de)
DE (1) DE60319590T2 (de)
ES (1) ES2302530T3 (de)
FR (1) FR2849727B1 (de)
MX (1) MXPA05007356A (de)
WO (1) WO2004070706A1 (de)
ZA (1) ZA200505257B (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510197A (ja) * 2004-08-17 2008-04-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スケーラブルなオーディオ符号化
EP1806737A4 (de) * 2004-10-27 2010-08-04 Panasonic Corp Toncodierer und toncodierungsverfahren
KR100647336B1 (ko) 2005-11-08 2006-11-23 삼성전자주식회사 적응적 시간/주파수 기반 오디오 부호화/복호화 장치 및방법
US8370138B2 (en) * 2006-03-17 2013-02-05 Panasonic Corporation Scalable encoding device and scalable encoding method including quality improvement of a decoded signal
US7930173B2 (en) 2006-06-19 2011-04-19 Sharp Kabushiki Kaisha Signal processing method, signal processing apparatus and recording medium
JP4827661B2 (ja) * 2006-08-30 2011-11-30 富士通株式会社 信号処理方法及び装置
US20080243518A1 (en) * 2006-11-16 2008-10-02 Alexey Oraevsky System And Method For Compressing And Reconstructing Audio Files
EP1927981B1 (de) * 2006-12-01 2013-02-20 Nuance Communications, Inc. Spektrale Verfeinerung von Audiosignalen
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
JP4708446B2 (ja) 2007-03-02 2011-06-22 パナソニック株式会社 符号化装置、復号装置およびそれらの方法
US7925783B2 (en) * 2007-05-23 2011-04-12 Microsoft Corporation Transparent envelope for XML messages
EP2207166B1 (de) * 2007-11-02 2013-06-19 Huawei Technologies Co., Ltd. Audiodekodierungsverfahren und -vorrichtung
KR101441474B1 (ko) * 2009-02-16 2014-09-17 한국전자통신연구원 적응적 정현파 펄스 코딩을 이용한 오디오 신호의 인코딩 및 디코딩 방법 및 장치
EP2249333B1 (de) * 2009-05-06 2014-08-27 Nuance Communications, Inc. Verfahren und Vorrichtung zur Schätzung einer Grundfrequenz eines Sprachsignals
FR2947945A1 (fr) * 2009-07-07 2011-01-14 France Telecom Allocation de bits dans un codage/decodage d'amelioration d'un codage/decodage hierarchique de signaux audionumeriques
FR2947944A1 (fr) * 2009-07-07 2011-01-14 France Telecom Codage/decodage perfectionne de signaux audionumeriques
US9009037B2 (en) * 2009-10-14 2015-04-14 Panasonic Intellectual Property Corporation Of America Encoding device, decoding device, and methods therefor
US20120029926A1 (en) 2010-07-30 2012-02-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
CN101950562A (zh) * 2010-11-03 2011-01-19 武汉大学 基于音频关注度的分级编码方法及系统
NO2669468T3 (de) * 2011-05-11 2018-06-02
SG194945A1 (en) 2011-05-13 2013-12-30 Samsung Electronics Co Ltd Bit allocating, audio encoding and decoding
US9905236B2 (en) 2012-03-23 2018-02-27 Dolby Laboratories Licensing Corporation Enabling sampling rate diversity in a voice communication system
FI3751566T3 (fi) 2014-04-17 2024-04-23 Voiceage Evs Llc Menetelmiä, kooderi ja dekooderi äänisignaalien lineaariseen ennakoivaan koodaukseen ja dekoodaukseen näytteistystaajuudeltaan erilaisten kehysten välillä siirryttäessä
CN106992786B (zh) * 2017-03-21 2020-07-07 深圳三星通信技术研究有限公司 一种基带数据压缩方法、装置和系统
KR102258814B1 (ko) * 2018-10-04 2021-07-14 주식회사 엘지에너지솔루션 Bms 간 통신 시스템 및 방법
KR102352240B1 (ko) * 2020-02-14 2022-01-17 국방과학연구소 Amr 음성데이터의 압축포맷정보를 추정하는 방법 및 그 장치
CN115223579B (zh) * 2021-04-20 2025-09-12 华为技术有限公司 一种编解码器协商与切换方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8421498D0 (en) * 1984-08-24 1984-09-26 British Telecomm Frequency domain speech coding
DE19706516C1 (de) * 1997-02-19 1998-01-15 Fraunhofer Ges Forschung Verfahren und Vorricntungen zum Codieren von diskreten Signalen bzw. zum Decodieren von codierten diskreten Signalen
US6016111A (en) * 1997-07-31 2000-01-18 Samsung Electronics Co., Ltd. Digital data coding/decoding method and apparatus
FR2813722B1 (fr) 2000-09-05 2003-01-24 France Telecom Procede et dispositif de dissimulation d'erreurs et systeme de transmission comportant un tel dispositif
US7620545B2 (en) * 2003-07-08 2009-11-17 Industrial Technology Research Institute Scale factor based bit shifting in fine granularity scalability audio coding

Also Published As

Publication number Publication date
ZA200505257B (en) 2006-09-27
KR101061404B1 (ko) 2011-09-01
CN1735928A (zh) 2006-02-15
AU2003299395B2 (en) 2010-03-04
MXPA05007356A (es) 2005-09-30
WO2004070706A1 (fr) 2004-08-19
CA2512179C (fr) 2013-04-16
AU2003299395A1 (en) 2004-08-30
ATE388466T1 (de) 2008-03-15
DE60319590D1 (de) 2008-04-17
CN1735928B (zh) 2010-05-12
FR2849727B1 (fr) 2005-03-18
BR0317954A (pt) 2005-11-29
EP1581930A1 (de) 2005-10-05
ES2302530T3 (es) 2008-07-16
JP2006513457A (ja) 2006-04-20
KR20050092107A (ko) 2005-09-20
EP1581930B1 (de) 2008-03-05
JP4390208B2 (ja) 2009-12-24
US20060036435A1 (en) 2006-02-16
US7457742B2 (en) 2008-11-25
CA2512179A1 (fr) 2004-08-19
FR2849727A1 (fr) 2004-07-09

Similar Documents

Publication Publication Date Title
DE60319590T2 (de) Verfahren zur codierung und decodierung von audio mit variabler rate
DE69603743T2 (de) Verfahren und gerät zum kodieren, behandeln und dekodieren von audiosignalen
EP2022043B1 (de) Informationssignalcodierung
DE60012860T2 (de) Verfahren zur Verarbeitung mehrerer digitaler Audiodatenströme
DE69133058T2 (de) Verfahren zur Kodierung von Sprachsignalen
DE69534285T2 (de) Verfahren und Vorrichtung zur Auswahl der Kodierrate in einem Vocoder mit variabler Rate
DE69833834T2 (de) Skalierbares Audiokodier-und Dekodierverfahren und Gerät
DE69910240T2 (de) Vorrichtung und verfahren zur wiederherstellung des hochfrequenzanteils eines überabgetasteten synthetisierten breitbandsignals
DE69529393T2 (de) Verfahren zur gewichteten Geräuschfilterung
DE19747132C2 (de) Verfahren und Vorrichtungen zum Codieren von Audiosignalen sowie Verfahren und Vorrichtungen zum Decodieren eines Bitstroms
DE69317958T2 (de) Kodierer von Audiosignalen mit niedriger Verzögerung, unter Verwendung von Analyse-durch-Synthese-Techniken
DE60024123T2 (de) Lpc-harmonischer sprachkodierer mit überrahmenformat
DE69621393T2 (de) Quantisierung von Sprachsignalen in prädiktiven Kodiersystemen unter Verwendung von Modellen menschlichen Hörens
DE60214599T2 (de) Skalierbare audiokodierung
DE68911287T2 (de) Codierer/decodierer.
DE60122203T2 (de) Verfahren und system zur erzeugung von behaglichkeitsrauschen bei der sprachkommunikation
DE69923555T2 (de) Verfahren und vorrichtung zur entropie-kodierung von quantisierten transformationskoeffizienten eines signals
DE69123500T2 (de) 32 Kb/s codeangeregte prädiktive Codierung mit niedrigen Verzögerung für Breitband-Sprachsignal
EP1979901B1 (de) Verfahren und anordnungen zur audiosignalkodierung
DE60128121T2 (de) Wahrnehmungsbezogen verbesserte aufbesserung kodierter akustischer signale
DE69832358T2 (de) Verfahren zur Sprachkodierung und -dekodierung
DE69923079T2 (de) Kodierung von stimmlosen sprachsegmenten mit niedriger datenrate
DE60124079T2 (de) Sprachverarbeitung
DE69708191T2 (de) Vorrichtung zur Signalkodierung
DE69807806T2 (de) Verfahren und vorrichtung zur kodierung eines audiosignals mittels &#34;vorwärts&#34;- und &#34;rückwärts&#34;-lpc-analyse

Legal Events

Date Code Title Description
8364 No opposition during term of opposition