Nothing Special   »   [go: up one dir, main page]

DE102006051673A1 - Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale - Google Patents

Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale Download PDF

Info

Publication number
DE102006051673A1
DE102006051673A1 DE102006051673A DE102006051673A DE102006051673A1 DE 102006051673 A1 DE102006051673 A1 DE 102006051673A1 DE 102006051673 A DE102006051673 A DE 102006051673A DE 102006051673 A DE102006051673 A DE 102006051673A DE 102006051673 A1 DE102006051673 A1 DE 102006051673A1
Authority
DE
Germany
Prior art keywords
blocks
spectral values
spectral
sequence
block
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.)
Ceased
Application number
DE102006051673A
Other languages
English (en)
Inventor
Bernd Dr.-Ing. Edler
Ralf Dipl.-Math. Geiger
Christian Dipl.-Ing. Ertel
Johannes Dipl.-Ing. Hilpert
Harald Dipl.-Ing. Popp
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE102006051673A priority Critical patent/DE102006051673A1/de
Priority to PL10173938T priority patent/PL2264699T3/pl
Priority to ES07818557T priority patent/ES2354743T3/es
Priority to MX2009004639A priority patent/MX2009004639A/es
Priority to KR1020097009139A priority patent/KR101090541B1/ko
Priority to CA2668056A priority patent/CA2668056C/en
Priority to PT10173938T priority patent/PT2264699T/pt
Priority to US12/446,772 priority patent/US8321207B2/en
Priority to AT07818557T priority patent/ATE489703T1/de
Priority to EP07818557A priority patent/EP1964111B1/de
Priority to MYPI2015002126A priority patent/MY181471A/en
Priority to PL07818557T priority patent/PL1964111T3/pl
Priority to BRPI0716308-8A priority patent/BRPI0716308B1/pt
Priority to ES10173938T priority patent/ES2720871T3/es
Priority to PCT/EP2007/008477 priority patent/WO2008052627A1/en
Priority to TR2019/03942T priority patent/TR201903942T4/tr
Priority to CN2007800403496A priority patent/CN101553870B/zh
Priority to EP10173938.1A priority patent/EP2264699B1/de
Priority to RU2009117571/09A priority patent/RU2423740C2/ru
Priority to MYPI20091684A priority patent/MY156427A/en
Priority to JP2009534996A priority patent/JP5301451B2/ja
Priority to AU2007315373A priority patent/AU2007315373B2/en
Priority to DE602007010721T priority patent/DE602007010721D1/de
Priority to TW096139650A priority patent/TWI350068B/zh
Publication of DE102006051673A1 publication Critical patent/DE102006051673A1/de
Priority to HK08113440.1A priority patent/HK1120328A1/xx
Priority to IL198192A priority patent/IL198192A/en
Priority to NO20092125A priority patent/NO341615B1/no
Priority to AU2011200509A priority patent/AU2011200509B2/en
Priority to NO20171179A priority patent/NO343261B1/no
Ceased 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • 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
    • 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/26Pre-filtering or post-filtering
    • G10L19/265Pre-filtering, e.g. high frequency emphasis prior to encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)

Abstract

Zum Nachbearbeiten von Spektralwerten, denen ein erster Transformations-Algorithmus zum Umsetzen des Audiosignals in eine spektrale Darstellung zugrunde liegt, wird zunächst eine Folge von Blöcken der Spektralwerte, die eine Folge von Blöcken von Abtastwerdten des Audiosignals darstellen, bereitgestellt. Hierauf wird eine gewichtete Addition von Spektralwerten der Folge von Blöcken von Spektralwerten durchgeführt, um eine Folge von Blöcken von nachbearbeiteten Spektralwerten zu erhalten, wobei die Kombination so ausgeführt wird, dass zur Berechnung eines nachbearbeiteten Spektralwerts für ein er Folge von Blöcken für das Frequenzband und die Zeitdauer sowie ein Spektralwert für ein anderes Frequenzband oder eine andere Zeitdauer verwendet werden, wobei die Kombination ferner so durchgeführt wird, dass solche Gewichtungsfaktoren verwendet werden, dass die nachbearbeiteten Spektralwerte eine Annäherung an die Spektralwerte sind, wie sie durch Umsetzung des Audiosignals in eine spektrale Darstellung unter Verwendung eines zweiten Transformations-Algorithmus erhalten werden, der sich von dem ersten Transformations-Algorithmus unterscheidet. Die nachbearbeiteten Spektralwerte werden insbesondere zur Differenz-Bildung innerhalb eines skalierbaren Codierers bzw. zur Addition innerhalb eines skalierbaren Decodierers eingesetzt.

Description

  • Die vorliegende Erfindung bezieht sich auf die Audiocodierung/Decodierung und insbesondere auf skalierbare Codierer/Decodiererkonzepte mit einer Basis-Schicht und einer Erweiterungs-Schicht.
  • Audiocodierer/Decodierer sind seit langer Zeit bekannt. Insbesondere Audiocodierer/Decodierer, die gemäß dem Standard ISO/IEC 11172-3 arbeiten, wobei dieser Standard auch als MP3-Standard bekannt ist, werden als Transformations-Codierer bezeichnet. Ein solcher MP3-Codierer erhält als Eingangssignal eine Folge von zeitlichen Abtastwerten, die einer Fensterung unterzogen werden. Die Fensterung führt zu aufeinanderfolgenden Blöcken von zeitlichen Abtastwerten, die dann Block für Block in eine spektrale Darstellung umgesetzt werden. Gemäß dem MP3-Standard wird hier eine Umsetzung mit einer sogenannten hybriden Filterbank vorgenommen. Die erste Stufe der hybriden Filterbank ist eine Filterbank mit 32 Kanälen, um 32 Subband-Signale zu erzeugen. Die Subband-Filter dieser ersten Stufe haben überlappende Durchlassbänder, weshalb diese Filterung Aliasing-anfällig ist. Die zweite Stufe ist eine MDCT-Stufe, um die 32 Subband-Signale in 576 Spektralwerte aufzulösen. Die Spektralwerte werden dann unter Berücksichtigung des psychoakustischen Models quantisiert und anschließend Huffman-codiert, um schließlich eine Folge von Bits zu erhalten, die einen Strom von Huffman-Codeworten und zur Decodierung nötige Seiteninformationen umfassen.
  • Auf Decodierer-Seite werden dann die Huffman-Codewörter in Quantisierungsindizes zurückgerechnet. Eine Re-Quantisierung führt zu Spektralwerten, die dann in einer hybriden Synthese-Filterbank, die analog zur Analyse-Filterbank ausgebildet ist, eingespeist werden, um wieder Blöcke von zeitlichen Abtastwerten des codierten und wieder decodierten Audiosignals zu erhalten. Sämtliche Schritte auf Encodierer-Seite und auf Decodierer-Seite sind im MP3-Standard dargelegt. Hinsichtlich der Terminologie sei darauf hingewiesen, dass im nachfolgenden auch von einer "inversen Quantisierung" gesprochen wird. Obgleich eine Quantisierung nicht invertierbar ist, da sie einen unwiederbringlichen Datenverlust mit sich bringt, wird der Ausdruck inverse Quantisierung oftmals verwendet, wobei eine vorher dargelegte Re-Quantisierung gemeint ist.
  • Der Technik bekannt ist auch ein Audiocodier/Decodier-Algorithmus, der den Namen AAC (AAC = Advanced Audio Coding) hat. Ein solcher Codierer, der im Internationalen Standard ISO/IEC 13818-7 standardisiert ist, arbeitet wieder auf der Basis von zeitlichen Abtastwerten eines Audiosignals. Die zeitlichen Abtastwerte des Audiosignals werden wiederum einer Fensterung unterzogen, um aufeinanderfolgende Blöcke von gefensterten zeitlichen Abtastwerten zu erhalten. Im Gegensatz zum MP3-Codierer, bei dem eine hybride Filterbank eingesetzt wird, wird beim AAC-Codierer eine einzige MDCT-Transformation vorgenommen, um eine Folge von Blöcken von MDCT-Spektralwerten zu erhalten. Diese MDCT-Spektralwerte werden dann wiederum auf der Basis eines psychoakustischen Models quantisiert und die quantisierten Spektralwerte werden schließlich Huffman-codiert. Auf Decodierer-Seite wird analog vorgegangen. Die Huffman-Codewörter werden decodiert und die Quantisierungsindizes bzw. quantisierten Spektralwerte, die daraus erhalten werden, werden dann invers bzw. re-quantisiert, um schließlich Spektralwerte zu haben, die einer MDCT-Synthese-Filterbank zugeführt werden können, um schließlich wieder codierte/decodierte zeitliche Abtastwerte zu erhalten.
  • Beide Verfahren arbeiten mit überlappenden Blöcken und adaptiven Fensterfunktionen, wie sie in der Fachveröffentli chung „Codierung von Audiosignalen mit überlappender Transformation und adaptiven Fensterfunktionen", Bernd Edler, Frequenz, Band 43, 1989, Seiten 252–256, beschrieben sind.
  • Insbesondere wird dann, wenn transiente Bereiche im Audiosignal festgestellt werden, von langen Fensterfunktionen auf kurze Fensterfunktionen umgeschaltet, um zugunsten einer besseren zeitlichen Auflösung eine reduzierte Frequenzauflösung zu erhalten. Eine Sequenz von kurzen Fenstern wird durch ein Start-Fenster eingeleitet, und eine Sequenz von kurzen Fenstern wird mit einem Stopp-Fenster beendet. Dadurch kann ein lückenloser Übergang zwischen überlappenden langen Fensterfunktionen zu überlappenden kurzen Fensterfunktionen erreicht werden. Je nach Implementierung ist der Überlappungsbereich bei kurzen Fenstern kleiner als der Überlappungsbereich bei langen Fenstern, was im Hinblick auf die Tatsache, dass transiente Signalanteile im Audiosignal sind, vernünftig ist, jedoch nicht unbedingt notwendigerweise der Fall sein muss. So können Sequenzen von kurzen Fenstern ebenso wie Sequenzen von langen Fenstern mit 50 Prozent Überlappung implementiert werden. Allerdings kann insbesondere bei kurzen Fenstern zur Verbesserung der Codierung von transienten Signalanteilen eine reduzierte Überlappungsbreite gewählt werden, wie beispielsweise statt 50 Prozent nur noch 10 Prozent oder sogar weniger.
  • Sowohl beim MP3-Standard als auch beim AAC-Standard existiert die Fensterung mit langen und kurzen Fenstern und sind die Start-Fenster bzw. Stopp-Fenster so dimensioniert, dass generell immer das selbe Blockraster beibehalten wird. Für den MP3-Standard bedeutet dies, dass pro langem Block 576 Spektralwerte erzeugt werden, und dass drei kurze Blöcke einem langen Block entsprechen. Dies bedeutet, dass ein kurzer Block 192 Spektralwerte erzeugt. Bei einer 50 Prozent-Überlappung wird zum Fenstern somit eine Fensterlänge von 1152 zeitlichen Abtastwerten eingesetzt, da aufgrund des Overlap-and-Add-Prinzips von 50 Prozent Überlappung im mer zwei Blöcke von zeitlichen Abtastwerten zu einem Block von Spektralwerten führen.
  • Sowohl bei MP3-Codierern als auch bei AAC-Codierern findet eine verlustbehaftete Komprimierung statt. Verluste werden eingeführt, indem eine Quantisierung der Spektralwerte stattfindet. Die Spektralwerte werden insbesondere so quantisiert, dass die durch das Quantisieren eingeführten Verzerrungen, welche auch als Quantisierungsrauschen bezeichnet werden, eine Energie haben, die unterhalb der psychoakustischen Maskierungsschwelle liegt.
  • Je gröber ein Audiosignal quantisiert wird, je größer also die Quantisierer-Schrittweite ist, desto höher ist das Quantisierungsrauschen. Andererseits ist jedoch für eine gröbere Quantisierung mit einem kleineren Satz an Quantisierer-Ausgangswerten zu rechnen, so dass gröber quantisierte Werte mit weniger Bits Entropie-codiert werden können. Dies bedeutet, dass eine gröbere Quantisierung zu einer höheren Datenkompression führt, jedoch gleichzeitig zu höheren Signalverlusten führt.
  • Diese Signalverluste sind unproblematisch, wenn sie unterhalb der Maskierungsschwelle sind. Selbst wenn die psychoakustische Maskierungsschwelle nur leicht verletzt wird, führt dies möglicherweise noch nicht zu hörbaren Störungen für ungeübte Hörer. Allerdings findet dennoch ein Informationsverlust statt, der z. B. aufgrund von möglicherweise doch hörbaren Artefakten in bestimmten Situationen unerwünscht sein kann.
  • Besonders bei breitbandigen Datenverbindungen bzw. dann, wenn die Datenrate nicht der alles entscheidende Parameter ist, oder wenn sowohl breitbandige als auch schmalbandige Datennetze zur Verfügung stehen, kann es wünschenswert sein, keine verlustbehaftete, sondern eine verlustlose oder nahezu verlustlose, komprimierte Darstellung eines Audiosignals zu haben.
  • Ein solcher skalierbarer Codierer, der schematisch in 7 dargestellt ist, und ein dazugehöriger Decodierer, der schematisch in 8 dargestellt ist, sind aus der Fachveröffentlichung „INTMDCT – A Link Between Perceptual And Lossless Audio Coding", Ralf Geiger, Jürgen Herre, Jürgen Koller, Karlheinz Brandenburg, Int. Conference an Acoustics Speech and Signal Processing (ICASSP), 13.–17. Mai, 2002, Orlando, Florida, bekannt. Eine ähnliche Technik wird in dem europäischen Patent EP 1 495 464 B1 beschrieben. Die Elemente 71, 72, 73, 74 stellen eine AAC-Codierer dar, um einen verlustbehafteten codierten Bitstream, der als „Perceptually Coded Bitstream" in 7 bezeichnet ist, zu erzeugen. Dieser Bitstrom stellt die Basis-Schicht dar. Insbesondere bezeichnet der Block 71 in 7 die Analyse-Filterbank einschließlich der Fensterung mit langen und kurzen Fenstern gemäß dem AAC-Standard. Der Block 73 stellt die Quantisierung/Codierung gemäß dem AAC-Standard dar, und der Block 74 stellt die Bitstromerzeugung dar, so dass der ausgangsseitige Bitstrom nicht nur Huffman-Codewörter quantisierter Spektralwerte, sondern auch die nötigen Seiteninformationen, wie beispielsweise Skalenfaktoren etc., umfasst, damit eine Decodierung durchgeführt werden kann. Die verlustbehaftete Quantisierung im Block 73 wird hierbei durch das psychoakustische Model gesteuert, das in 7 als „Perceptual Model" 72 bezeichnet ist.
  • Wie bereits ausgeführt, ist das Ausgangssignal des Blocks 74 eine Basis-Skalierungsschicht, die relativ wenig Bits benötigt, die jedoch lediglich eine verlustbehaftete Darstellung des ursprünglichen Audiosignals ist und u. U. Codierer-Artefakte aufweist. Die Blöcke 75, 76, 77, 78 stellen die zusätzlichen Elemente dar, die dazu benötigt werden, um einen Erweiterungs-Bitstrom zu erzeugen, der verlustlos oder nahezu verlustlos ist, wie es durch den Ausdruck „lossless" in 7 zum Ausdruck gebracht ist. Insbesondere wird das ursprüngliche Audiosignal am Eingang 70 einer Ganzzahl-MDCT (IntMDCT) unterzogen, wie es durch den Block 75 veranschaulicht ist. Ferner werden die quantisierten Spektralwerte, die durch den Block 73 erzeugt werden, in die also bereits Codier-Verluste eingebracht sind, einer inversen Quantisierung (inverse quantization) sowie einer anschließenden Rundung (Rounding) unterzogen, um gerundete Spektralwerte zu erhalten. Diese werden einem Differenz-Bilder 77 zugeführt, der eine Spektralwert-weise Differenz bildet, welche dann einer Entropie-Codierung (entropy coding) im Block 78 unterzogen werden, um einen Lossless-Enhancement-Bitstrom des Skalierungsschemas in 7 zu erzeugen. Ein Spektrum von Differenz-Werten am Ausgang des Blocks 77 stellt somit die Verzerrung dar, die durch die psychoakustische Quantisierung im Block 73 eingeführt worden ist.
  • Auf Decodierer-Seite wird der verlustbehaftete codierte Bitstrom bzw. der unter psychoakustischen Gesichtspunkten codierte Bitstrom (Perceptually Coded Bitstream) einem Bitstrom-Decodierer 81 zugeführt. Ausgangsseitig liefert der Block 81 eine Folge von Blöcken von quantisierten Spektralwerten, die dann in einem Block 82 einer inversen Quantisierung unterzogen werden. Am Ausgang des Blocks 82 liegen somit invers quantisierte Spektralwerte vor, die nunmehr im Gegensatz zu den Werten am Eingang des Blocks 82 keine Quantisierer-Indizes mehr darstellen, sondern die nunmehr gewissermaßen „richtige" Spektralwerte sind, die sich jedoch von den Spektralwerten vor der Codierung im Block 73 von 7 aufgrund der verlustbehafteten Quantisierung unterscheiden. Diese quantisierten Spektralwerte werden nunmehr einer Synthese-Filterbank bzw. einer inversen MDCT-Transformation (inverse MDCT) im Block 83 zugeführt, um ein psychoakustisch codiertes und wieder decodiertes Audiosignal (perceptual audio) zu erhalten, das sich von dem ursprünglichen Audiosignal am Eingang 70 von 7 aufgrund der, durch den Codierer von 7 eingeführten Codierungsfehler unterscheidet. Um nicht nur eine verlustbehaftete, sondern sogar eine verlustlose Komprimierung zu erreichen, wird das Ausgangssignal des Blocks 82 einer Rundung in ei nem Block 84 (Rounding) zugeführt. In einem Addierer 85 werden dann die gerundeten, invers quantisierten Spektralwerte mit den Differenz-Werten, die durch den Differenz-Bilder 77 erzeugt worden sind, addiert, wobei in einem Block 86 noch eine Entropie-Decodierung (Entropy Decoding) durchgeführt wird, um die in dem Erweiterungs-Bitstrom, der die verlustlose bzw. nahezu verlustlose Information enthält, enthaltenen Entropie-Codeworte zu decodieren.
  • Am Ausgang von Block 85 liegen somit IntMDCT-Spektralwerte vor, die im optimalen Fall zu den MDCT-Spektralwerten am Ausgang des Blocks 75 des Codierers von 7 identisch sind. Diese werden dann einer inversen Integer-MDCT (inverse IntMDCT) unterzogen, um am Ausgang des Blocks 87 ein codiertes, verlustloses Audiosignal oder nahezu verlustloses Audiosignal (lossless audio) zu erhalten.
  • Die Integer-MDCT (IntMDCT) ist eine Approximation der MDCT, die jedoch ganzzahlige Ausgangswerte erzeugt. Sie wird unter Verwendung des Lifting-Schemas aus der MDCT abgeleitet. Dies funktioniert insbesondere dann, wenn die MDCT in sogenannte Givens-Rotationen zerlegt wird. Dann ergibt sich als Integer-MDCT ein zweistufiger Algorithmus mit Given-Rotationen und einer nachfolgenden DCT-IV auf Encodierer-Seite und einer DCT-IV und einer nachgeschalteten Anzahl von Givens-Rotationen auf Decodierer-Seite. In dem Schema von 7 und 8 wird somit das quantisierte MDCT-Spektrum, das im AAC-Codierer erzeugt wird, verwendet, um das Integer-MDCT-Spektrum zu prädizieren. Allgemein ist die Integer-MDCT somit eine Beispiel für eine Ganzzahl-Transformation, die ganzzahlige Spektralwerte, und aus den ganzzahligen Spektralwerten wieder zeitliche Abtastwerte erzeugt, ohne dass durch Rundungsfehler Verluste eingeführt werden. Andere Ganzzahl-Transformationen neben der Integer-MDCT existieren ebenfalls.
  • Das in den 7 und 8 gezeigte Skalierungs-Schema ist nur dann ausreichend effizient, wenn die Differenzen am Ausgang des Differenz-Bilders 77 klein sind. Bei dem in 7 gezeigten Schema ist dies der Fall, da die MDCT und die Integer-MDCT ähnlich sind bzw. da die IntMDCT im Block 75 von der MDCT im Block 71 abgeleitet ist. Wäre dies nicht der Fall, so wäre das dort gezeigte Schema nicht geeignet, da dann die Differenz-Werte in vielen Fällen größer als die ursprünglichen MDCT-Werte oder sogar größer als die ursprünglichen IntMDCT-Werte werden. Dann hat das Skalierungsschema in 7 seinen Wert verloren, da die Erweiterungs-Skalierungsschicht, die vom Block 78 ausgegeben wird, eine hohe Redundanz bezüglich der Basis-Skalierungsschicht hat.
  • Skalierbarkeitsschemen sind immer dann optimal, wenn die Basis-Schicht eine Anzahl von Bits hat, und wenn die Erweiterungs-Schicht eine Anzahl von Bits hat, und wenn die Summe der Bits in der Basis-Schicht und in der Erweiterungs-Schicht gleich groß wie eine Anzahl von Bits ist, die dann erhalten werden würde, wenn die Basis-Schicht bereits eine verlustlose Codierung war. Dieses Optimum wird in praktischen Skalierbarkeitsschemen nie erreicht, da für die Erweiterungs-Schicht zusätzliche Signalisierungsbits erforderlich sind. Allerdings wird dieses Optimum so nahe als möglich angestrebt. Da die Transformationen in den Blöcken 71 und 75 in 7 relativ ähnlich sind, ist das in 7 gezeigte Konzept nahe am optimalen Fall.
  • Dieses einfache Skalierbarkeitskonzept kann jedoch nicht ohne weiteres auf das Ausgangssignal eines MP3-Codierers angewendet werden, da der MP3-Codierer, wie es dargestellt worden ist, als Filterbank keine reine MDCT-Filterbank hat, sondern die hybride Filterbank mit einer ersten Filterbankstufe zur Erzeugung von verschiedenen Subband-Signalen und einer nachgeschalteten MDCT zum weiteren Zerlegen der Subband-Signale, wobei zusätzlich, wie es ebenfalls im MP3-Standard ausgeführt ist, eine zusätzliche Aliasing-Cancellation-Stufe der Hybrid-Filterbank implementiert ist. Nachdem die Integer-MDCT im Block 75 von 7 mit der Hybrid-Filterbank gemäß dem MP3-Standard wenig Ähnlichkeiten hat, würde eine unmittelbare Anwendung des in 7 gezeigten Konzepts auf ein MP3-Ausgangssignal zu sehr hohen Differenz-Werten am Ausgang des Differenz-Bilders 77 führen, was in einem extrem ineffizienten Skalierbarkeitskonzept resultiert, da die Erweiterungs-Schicht viel zu viele Bits benötigt, um die Differenz-Werte am Ausgang des Differenz-Bilders 77 vernünftig zu codieren.
  • Eine Möglichkeit zum Erzeugen des Erweiterungs-Bitstroms für ein MP3-Ausgangssignal ist in 9 für den Encodierer und ist in 10 für den Decodierer gezeigt. Ein MP3-Codierer 90 codiert ein Audiosignal und liefert ausgangsseitig eine Basis-Schicht oder Base-Lager 91. Das MP3-codierte Audiosignal wird einem MP3-Decodierer 92 zugeführt, der ein verlustbehaftetes Audiosignal im Zeitbereich liefert. Dieses Signal wird dann einem IntMDCT-Block zugeführt, der prinzipiell genauso wie der Block 75 in 7 aufgebaut sein kann, wobei dieser Block 75 dann IntMDCT-Spektralwerte ausgangsseitig liefert, die einem Differenz-Bilder 77 zugeführt werden, der als weitere Eingangssignale ebenfalls IntMDCT-Spektralwerte umfasst, die jedoch nicht von dem MP3-decodierten Audiosignal erzeugt worden sind, sondern von dem ursprünglichen Audiosignal, das dem MP3-Codierer 90 zugeführt worden ist.
  • Auf Decodierer-Seite wird die Basis-Schicht bzw. Base Lager wiederum einem MP3-Decodierer 92 zugeführt, um an einem Ausgang 100 ein verlustbehaftetes decodiertes Audiosignal zu liefern, das dem Signal am Ausgang des Blocks 83 von 8 entsprechen würde. Dieses Signal müsste dann einer Integer-MDCT 75 unterzogen werden, um dann zusammen mit der Erweiterungs-Schicht 93, die am Ausgang des Differenz-Bilders 77 erzeugt worden ist, codiert zu werden. Das verlustlose Spektrum wäre dann an einem Ausgang 101 des Addierers 102 vorhanden und müsste nur noch mittels einer inversen IntMDCT 103 in den Zeitbereich umgesetzt werden, um ein verlustlos decodiertes Audiosignal zu erhalten, das dem „lossless audio" am Anfang des Blocks 87 von 8 entsprechen würde.
  • Das in 9 und in 10 gezeigte Konzept, das ebenso wie das in den 7 und 8 gezeigte Konzepte eine relativ effizient codierte Erweiterungs-Schicht liefert, ist jedoch sowohl auf Encodierer-Seite (9) als auch auf Decodierer-Seite (10) aufwendig. Im Gegensatz zu dem Konzept in 7 werden ein kompletter MP3-Decodierer 92 sowie eine zusätzliche IntMDCT 75 benötigt.
  • Weiterhin nachteilhaft bei diesem Schema ist, dass ein bitgenauer MP3-Decodierer definiert werden müsste. Dies ist allerdings nicht vorgesehen, da der MP3-Standard keine bitgenaue Spezifikation darstellt, sondern von einem Decodierer nur im Rahmen einer „Conformance" erfüllt werden muss.
  • Auf Decodierer-Seite wird ebenfalls eine komplette zusätzliche IntMDCT-Stufe 75 benötigt. Beide zusätzlichen Elemente sind rechenaufwendig und insbesondere für den Einsatz in mobilen Geräten sowohl bezüglich des Chipverbrauchs als auch des Stromverbrauchs und auch bezüglich der damit einhergehenden Delay nachteilhaft.
  • Zusammenfassend sind somit Vorteile des in 7 und 8 gezeigten Konzepts dahin gehend zu sehen, dass im Vergleich zu Zeitbereichsverfahren keine vollständige Decodierung des Gehör-angepasst codierten Signals nötig ist, und dass eine effiziente Codierung durch Repräsentation des zusätzlich zu codierenden Quantisierungsfehlers im Frequenzbereich erhalten wird. Daher verwendet das von ISO/IEC-standardisierte Verfahren MPEG-4 Scalable Lossless Coding (SLS) diesen Ansatz, wie es in R. Geiger, R. Yu, J. Herre, S. Rahardja, S. Kim, X. Lin, M. Schmidt, „ISO/IEC MPEG-4 High-Definition Scalable Advanced Audio Coding", 120. AES-Versammlung, 20.–23. Mai, 2006, Paris, Frankreich, Preprint 6791, beschrieben ist. Es wird somit eine rückwärtskompatible, verlustlose Erweiterung von Audiocodier- Verfahren beispielsweise MPEG-2/4 AAC erreicht, welche als Filterbank die MDCT verwenden.
  • Auf das weit verbreitete Verfahren MPEG-1/2 Layer 3 (MP3) lässt sich dieser Ansatz jedoch nicht direkt anwenden, da die in diesem Verfahren verwendete Hybrid-Filterbank im Gegensatz zur MDCT nicht mit der IntMDCT oder einer anderen Ganzzahl-Transformation kompatibel ist. Deshalb führt eine Differenz-Bildung zwischen den decodierten Spektralwerten und den korrespondierenden IntMDCT-Werten im Allgemeinen nicht zu kleinen Differenz-Werten und damit nicht zu einer effizienten Codierung der Differenz-Werte. Der Kern des Problems liegt hierbei in zeitlichen Verschiebungen zwischen den korrespondierenden Modulationsfunktionen der IntMDCT und der MP3-Hybrid-Filterbank. Diese führen zu Phasenverschiebungen, welche in ungünstigen Fällen sogar dazu führen, dass die Differenz-Werte größere Beträge aufweisen als die IntMDCT-Werte. Auch eine Anwendung der der IntMDCT zugrunde liegenden Prinzipien, wie beispielsweise des Lifting-Schemas auf die Hybrid-Filterbank von MP3 ist problematisch, da – im Gegensatz zu MDCT – die Hybrid-Filterbank vom prinzipiellen Ansatz her eine Filterbank ist, die keine perfekte Rekonstruktion liefert.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein effizientes Konzept zum Verarbeiten von Audiodaten und insbesondere zum Codieren oder Decodieren von Audiodaten zu schaffen.
  • Diese Aufgabe wird durch eine Vorrichtung zum Nachbearbeiten von Spektralwerten gemäß Patentanspruch 1, einen Codierer gemäß Patentanspruch 17, einen Decodierer gemäß Patentanspruch 22 oder ein Verfahren gemäß Patentanspruch 23, 24, 25 oder ein Computer-Programm gemäß Patentanspruch 26 gelöst.
  • Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass Spektralwerte, die z.B. die Basis-Schicht eines Ska lierungsschemas darstellen, also z.B. MP3-Spektralwerte, einer Nachbearbeitung unterzogen werden, um daraus Werte zu erhalten, die kompatibel zu korrespondierenden Werten sind, die gemäß einem alternativen Transformations-Algorithmus erhalten werden. Erfindungsgemäß wird also eine solche Nachbearbeitung unter Verwendung von gewichteten Additionen von Spektralwerten durchgeführt, dass das Ergebnis der Nachbearbeitung möglichst ähnlich zu einem Ergebnis ist, das erhalten wird, wenn das selbe Audiosignal nicht mit dem ersten Transformations-Algorithmus in eine spektrale Darstellung umgesetzt wird, sondern mit dem zweiten Transformations-Algorithmus, welcher bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung ein Ganzzahl-Transformations-Algorithmus ist.
  • So wurde herausgefunden, dass selbst bei einem stark inkompatiblen ersten Transformations-Algorithmus und zweiten Transformations-Algorithmus durch gewichtete Addition von bestimmten Spektralwerten des ersten Transformations-Algorithmus bereits eine so gute Kompatibilität der nachbearbeiteten Werte mit den Ergebnissen der zweiten Transformation erreicht wird, dass eine effiziente Erweiterungs-Schicht mit Differenz-Werten gebildet werden kann, ohne dass das aufwendige und damit nachteilhafte Hin- und Her-Codieren des in 9 und 10 gezeigten Konzepts nötig ist. Insbesondere wird die gewichtete Addition so durchgeführt, dass ein nachbearbeiteter Spektralwert aus einer gewichteten Addition eines Spektralwerts und eines benachbarten Spektralwerts am Ausgang des ersten Transformations-Algorithmus erzeugt wird, wobei vorzugsweise sowohl Spektralwerte aus benachbarten Frequenzbereichen als auch Spektralwerte aus benachbarten Zeitblöcken bzw. Zeitdauern verwendet werden. Durch die gewichtete Addition von benachbarten Spektralwerten wird berücksichtigt, dass sich im ersten Transformations-Algorithmus benachbarte Filter einer Filterbank überlappen, wie es nahezu bei allen Filterbänken der Fall ist. Durch die Verwendung von zeitlich benachbarten Spektralwerten, also durch die gewichtete Addition von Spektralwerten (z.B. der selben oder nur wenig unterschiedlichen Frequenz) von zwei aufeinanderfolgenden Blöcken von Spektralwerten der ersten Transformation wird ferner berücksichtigt, dass typischerweise Transformations-Algorithmen verwendet werden, bei denen eine Blocküberlappung eingesetzt wird.
  • Vorzugsweise werden die Gewichtungsfaktoren sowohl auf Encodierer-Seite als auch auf Decodierer-Seite fest einprogrammiert, so dass keinerlei Zusatzbits nötig sind, um Gewichtungsfaktoren zu übertragen. Stattdessen werden die Gewichtungsfaktoren einmal festgelegt und z.B. als Tabelle hinterlegt oder fest in Hardware implementiert, da die Gewichtungsfaktoren nicht signalabhängig sind, sondern lediglich vom ersten Transformations-Algorithmus und vom zweiten Transformations-Algorithmus abhängig sind. Insbesondere wird es bevorzugt, die Gewichtungsfaktoren so einzustellen, dass eine Impulsantwort des Gebildes aus erstem Transformations-Algorithmus und Nachbearbeitung gleich einer Impulsantwort des zweiten Transformations-Algorithmus ist. Hierzu kann eine Optimierung der Gewichtungsfaktoren per Hand oder Computer-gestützt, unter Verwendung von bekannten Optimierungsverfahren eingesetzt werden, beispielsweise unter Verwendung bestimmter repräsentativer Testsignale oder, wie ausgeführt, direkt unter Verwendung der Impulsantworten der resultierenden Filter.
  • Die selbe Nachbearbeitungsvorrichtung kann sowohl auf Encodierer-Seite als auch auf Decodierer-Seite eingesetzt werden, um eigentlich inkompatible Spektralwerte des ersten Transformations-Algorithmus an Spektralwerte des zweiten Transformations-Algorithmus anzupassen, so dass beide Blöcke von Spektralwerten einer Differenz-Bildung unterzogen werden können, um schließlich eine Erweiterungs-Schicht für ein Audiosignal zu schaffen, das in der Basis-Schicht z.B. ein MP3-codiertes Signal ist, und das als Erweiterungs-Schicht die lossless Extension hat.
  • Es sei darauf hingewiesen, dass die vorliegende Erfindung nicht auf die Kombination von MP3 und Integer-MDCT begrenzt ist, sondern dass die vorliegende Erfindung überall dann nützlich ist, wenn Spektralwerte von eigentlich inkompatiblen Transformations-Algorithmen miteinander verarbeitet werden sollen, beispielsweise zu Zwecken einer Differenz-Bildung, einer Addition oder einer sonstigen Kombinationsoperation in einem Audiocodierer oder einem Audiodecodierer. Die bevorzugte Verwendung der erfindungsgemäßen Nachbearbeitungsvorrichtung liegt jedoch darin, eine Erweiterungs-Schicht für eine Basis-Schicht zu schaffen, in der ein Audiosignal mit einer gewissen Qualität codiert ist, wobei die Erweiterungs-Schicht dazu dient, zusammen mit der Basis-Schicht eine höher qualitative Decodierung zu erreichen, wobei vorzugsweise diese höher qualitative Decodierung bereits eine verlustlose Decodierung ist, jedoch auch eine nahezu verlustlose Decodierung sein kann, solange die Qualität des decodierten Audiosignals unter Verwendung der Erweiterungs-Schicht gegenüber der Decodierung nur unter Verwendung der Basis-Schicht verbessert wird.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
  • 1 eine erfindungsgemäße Vorrichtung zum Nachbearbeiten von Spektralwerten;
  • 2 eine Encodierer-Seite eines erfindungsgemäßen Encodierer-Konzepts;
  • 3 eine Decodierer-Seite eines erfindungsgemäßen Decodierer-Konzepts;
  • 4 eine detaillierte Darstellung eines bevorzugten Ausführungsbeispiels der erfindungsgemäßen Nachbearbeitung und Differenz-Bildung für Long-Blocks;
  • 5a eine bevorzugte Implementierung der erfindungsgemäßen Nachbearbeitungsvorrichtung für Short-Blocks gemäß einer ersten Variante;
  • 5b eine schematische Darstellung zusammengehöriger Blöcke von Werten für das in 5a gezeigte Konzept;
  • 5c eine Sequenz von Fenstern für die in 5a gezeigte Variante;
  • 6a eine bevorzugte Implementierung der erfindungsgemäßen Nachbearbeitungsvorrichtung und Differenz-Bildung für Short-Blocks gemäß einer zweiten Variante der vorliegenden Erfindung;
  • 6b eine Darstellung von diversen Werten für die in 6a gezeigte Variante;
  • 6c ein Blockraster für die in 6a gezeigte Variante;
  • 7 eine bekannte Encodierer-Darstellung zum Erzeugen eines skalierten Datenstroms;
  • 8 eine bekannte Decodierer-Darstellung zum Verarbeiten eines skalierten Datenstroms;
  • 9 eine ineffiziente Encodierer-Variante; und
  • 10 eine ineffiziente Decodierer-Variante.
  • 1 zeigt eine erfindungsgemäße Vorrichtung zum Nachbearbeiten von Spektralwerten, die vorzugsweise eine verlustbehaftete Darstellung eines Audiosignals sind, wobei den Spektralwerten unabhängig davon, ob sie verlustbehaftet oder nicht verlustbehaftet sind, ein erster Transformations- Algorithmus zum Umsetzen des Audiosignals in eine spektrale Darstellung zugrunde liegt. Die erfindungsgemäße, in 1 gezeigte Vorrichtung bzw. das in 1 ebenfalls schematisch skizzierte Verfahren, zeichnet sich – Bezug nehmend auf die Vorrichtung – durch eine Einrichtung 12 zum Bereitstellen einer Folge von Blöcken der Spektralwerte aus, die eine Folge von Blöcken von Abtastwerten des Audiosignals darstellen. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung, das später noch dargestellt wird, ist die Folge von Blöcken, die durch die Einrichtung 12 bereitgestellt wird, eine Folge von Blöcken, die mit einer MP3-Filterbank erzeugt worden ist. Die Folge von Blöcken von Spektralwerten wird einem erfindungsgemäßen Kombinierer 13 zugeführt, wobei der Kombinierer ausgebildet ist, um eine gewichtete Addition von Spektralwerten der Folge von Blöcken von Spektralwerten durchzuführen, um ausgangsseitig eine Folge von Blöcken von nachbearbeiteten Spektralwerten zu erhalten, wie es durch einen Ausgang 14 dargestellt ist. Insbesondere ist der Kombinierer 13 ausgebildet, um zur Berechnung eines nachbearbeiteten Spektralwerts für ein Frequenzband und eine Zeitdauer einen Spektralwert der Folge von Blöcken für das Frequenzband und die Zeitdauer sowie einen Spektralwert für ein benachbartes Frequenzband und/oder eine benachbarte Zeitdauer zu verwenden. Ferner ist der Kombinierer ausgebildet, um solche Gewichtungsfaktoren zum Gewichten der verwendeten Spektralwerte zu verwenden, dass die nachbearbeiteten Spektralwerte eine Annäherung an Spektralwerte sind, die durch einen zweiten Transformations-Algorithmus zum Umsetzen des Audiosignals in eine spektrale Darstellung erhalten werden, wobei sich jedoch der zweite Transformations-Algorithmus vom ersten Transformations-Algorithmus unterscheidet.
  • Dies ist durch die schematische Darstellung in 1 unten dargestellt. Ein erster Transformations-Algorithmus ist durch ein Bezugszeichen 16 dargestellt. Die Nachbearbeitung, wie sie durch den Kombinierer geschieht, ist durch das Bezugszeichen 13 dargestellt, und der zweite Transfor mations-Algorithmus ist durch ein Bezugszeichen 17 dargestellt. Von den Blöcken 16, 13, und 17 sind die Blöcke 16 und 17 fest und typischerweise durch äußere Gegebenheiten vorgeschrieben. Lediglich die Gewichtungsfaktoren der Nachbearbeitungseinrichtung 13 bzw. des Kombinierers 13, die durch das Bezugszeichen 18 dargestellt sind, können vom Anwender eingestellt werden. In diesem Zusammenhang bedeutet dies jedoch nicht signalabhängig, sondern abhängig von dem ersten Transformations-Algorithmus und dem zweiten Transformations-Algorithmus. Durch die Gewichtungsfaktoren 18 kann ferner eingestellt werden, wie viel frequenzmäßig benachbarte Spektralwerte oder zeitlich benachbarte Spektralwerte miteinander kombiniert werden. Wird nämlich ein Gewichtungsfaktor, wie es noch anhand der 4 bis 6 erläutert wird, zu 0 gesetzt, so wird der Spektralwert, der diesem Gewichtungsfaktor zugeordnet ist, nicht in der Kombination berücksichtigt.
  • Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung wird für jeden Spektralwert ein Satz von Gewichtungsfaktoren bereitgestellt. So entsteht zwar eine beträchtliche Menge von Gewichtungsfaktoren. Dies ist jedoch unproblematisch, da die Gewichtungsfaktoren nicht übertragen werden müssen, sondern lediglich Encodierer-seitig und Decodierer-seitig fest einprogrammiert werden müssen. Haben Encodierer und Decodierer somit den selben Satz von Gewichtungsfaktoren pro Spektralwert und ggf. pro Zeitdauer bzw., wie es nachfolgend noch dargestellt werden wird, pro Unterblock bzw. Ordnungsposition, vereinbart, so muss für die vorliegende Erfindung keinerlei Signalisierung eingesetzt werden, so dass das erfindungsgemäße Konzept ohne jegliche Signalisierung von zusätzlichen Informationen eine erhebliche Reduktion der Datenrate in der Erweiterungs-Schicht erreicht, ohne dass damit Qualitätseinbussen einhergehen.
  • Die vorliegende Erfindung liefert somit eine Kompensation der Phasenverschiebungen zwischen Frequenzwerten, wie sie durch den ersten Transformations-Algorithmus erhalten wer den und Frequenzwerten, wie sie durch den zweiten Transformations-Algorithmus erhalten werden, wobei diese Kompensation der Phasenverschiebungen über den Weg einer komplexen Spektraldarstellung dargestellt werden können. Hierzu wird das in der DE 102 34 130 beschriebene Konzept aus Gründen der besseren Verständlichkeit eingeführt, bei dem zur Berechnung von Imaginärteilen aus reellen Filterbank-Ausgangswerten Linearkombinationen aus zeitlich und spektral benachbarten Spektralwerten erreicht werden. Würde man dieses Prozedere auf decodierte MP3-Spektralwerte anwenden, so würde man eine komplexwertige Spektraldarstellung erhalten. Jeder der resultierenden komplexen Spektralwerte kann nun durch Multiplikation mit einem komplexwertigen Korrekturfaktor in seiner Phasenlage so modifiziert werden, dass er gemäß der vorliegenden Erfindung dem zweiten Transformations-Algorithmus, also vorzugsweise dem korrespondierenden IntMDCT-Wert möglichst nahe kommt und so für eine Differenz-Bildung geeignet ist. Ferner wird erfindungsgemäß auch eine ggf. erforderliche Amplitudenkorrektur durchgeführt. Erfindungsgemäß werden diese Schritte für die Bildung der komplexwertigen Spektraldarstellung und der Phasen- bzw. Betragskorrektur derart zusammengefasst, dass durch die Linearkombinationen von Spektralwerten aufgrund des ersten Transformations-Algorithmus und seiner zeitlichen und spektralen Nachbarn ein neuer Spektralwert gebildet wird, der die Differenz zum korrespondierenden IntMDCT-Wert minimiert. Erfindungsgemäß wird also im Gegensatz zu der DE 1 02 34 130 eine Nachbearbeitung von Filterbank-Ausgangswerten nicht mit Gewichtungsfaktoren vorgenommen, um Real- und Imaginärteile zu erhalten. Stattdessen wird erfindungsgemäß eine Nachbearbeitung mit solchen Gewichtungsfaktoren vorgenommen, dass, wie es unten in 1 dargestellt worden ist, eine Kombination aus erstem Transformations-Algorithmus 16 und der Nachbearbeitung 13 so durch die Gewichtungsfaktoren eingestellt wird, dass das Ergebnis einem zweiten Transformations-Algorithmus so gut als möglich entspricht.
  • 2 und 3 zeigen ein bevorzugtes Einsatzgebiet des in 1 dargestellten erfindungsgemäßen Konzepts sowohl auf Encodierer-Seite (2) als auch auf Decodierer-Seite (3) eines skalierbaren Codierers. Ein MP3-Bitstrom 20 bzw. – allgemein gesagt – ein Bitstrom, wie er durch einen ersten Transformations-Algorithmus erhalten werden kann, wird einem Block 21 zugeführt, um aus dem Bitstrom die Spektralwerte zu erzeugen, die beispielsweise MP3-Spektralwerte sind. Die Decodierung der Spektralwerte im Block 21 wird somit typischerweise eine Entropie-Decodierung sowie eine inverse Quantisierung umfassen.
  • Dann wird in einem Block 10 eine Berechnung von Näherungswerten durchgeführt, wobei die Berechnung von Näherungswerten bzw. von Blöcken von nachbearbeiteten Spektralwerten genauso durchgeführt wird, wie es in 1 dargestellt worden ist. Hierauf wird eine Differenz-Bildung in einem Block 22 durchgeführt, und zwar unter Verwendung von IntMDCT-Spektralwerten, wie sie durch eine IntMDCT-Umsetzung in einem Block 23 erhalten werden. Der Block 23 erhält also als Eingangssignal ein Audiosignal, aus dem durch Codierung der MP3-Bitstrom, wie er in den Eingang 20 eingespeist wird, erhalten worden ist. Vorzugweise werden die Differenz-Spektren, wie sie durch den Block 22 erhalten werden, einer Lossless-Codierung 24 unterworfen, welche beispielsweise eine Delta-Codierung, eine Huffman-Codierung, eine arithmetische Codierung oder irgendeine andere Entropie-Codierung umfasst, durch die zwar die Datenrate reduziert wird, jedoch keine Verluste in ein Signal eingeführt werden.
  • Auf Decodierer-Seite wird der MP3-Bitstrom 20, wie er auch in den Eingang 20 von 2 eingespeist worden ist, wiederum einer Decodierung der Spektralwerte durch einen Block 21 unterzogen, der dem Block 21 von 2 entsprechen kann. Hierauf werden die am Ausgang des Blocks 21 erhaltenen MP3-Spektralwerte wiederum gemäß 1 oder Block 10 verarbeitet. Auf Decodierer-Seite werden jedoch die Blöcke von nachbearbeiteten Spektralwerten, wie sie durch den Block 10 ausgegeben werden, einer Additionsstufe 30 zugeführt, welche an ihrem anderen Eingang IntMDCT-Differenz-Werte erhält, wie sie durch eine Lossless-Decodierung 31 aus dem Lossless-Extension-Bitstrom erhalten werden, der vom Block 24 von 2 ausgegeben worden ist. Durch Addition der IntMDCT-Differenz-Werte, die vom Block 31 ausgegeben werden, und der bearbeiteten Spektralwerte, wie sie vom Block 10 ausgegeben werden, werden dann an einem Ausgang 32 der Additionsstufe 30 Blöcke von IntMDCT-Spektralwerten erhalten, die eine verlustlose Darstellung des ursprünglichen Audiosignals sind, also des Audiosignals, das in dem Block 23 von 2 eingegeben worden ist. Das verlustlose Audio-Ausgangssignal wird dann durch einen Block 33 erzeugt, welcher eine inverse IntMDCT durchführt, um ein verlustloses oder nahezu verlustloses Audio-Ausgangssignal zu erhalten. Generell gesagt hat das Audio-Ausgangssignal am Ausgang des Blocks 33 eine bessere Qualität als das Ausgangssignal, das erhalten werden würde, wenn das Ausgangssignal des Blocks 21 mit einer MP3-Synthese-Hybrid-Filterbank verarbeitet werden würde. Je nach Implementierung kann das Audio-Ausgangssignal am Ausgang 33 somit eine identische Wiedergabe des Audiosignals sein, das in den Block 23 von 2 eingegeben worden ist, oder eine Repräsentation dieses Audiosignals, das zwar nicht identisch ist, also nicht vollständig verlustlos ist, das jedoch bereits eine bessere Qualität hat als ein normales MP3-decodiertes Audiosignal.
  • An dieser Stelle sei darauf hingewiesen, dass als erster Transformations-Algorithmus der MP3-Transformations-Algorithmus mit seiner Hybrid-Filterbank bevorzugt wird, und dass als zweiter Transformations-Algorithmus der IntMDCT-Algorithmus als Ganzzahl-Transformations-Algorithmus bevorzugt wird. Die vorliegende Erfindung ist jedoch bereits überall dort vorteilhaft, wo sich zwei Transformations-Algorithmen voneinander unterscheiden, wobei beide Transformations-Algorithmen nicht unbedingt Ganzzahl-Transformations-Algorithmus im Sinne der IntMDCT- Transformation sein müssen, sondern auch normale Transformations-Algorithmen sein können, die im Sinne einer MDCT nicht unbedingt eine invertierbare Ganzzahl-Transformation sind. Erfindungsgemäß wird es jedoch bevorzugt, dass der erste Transformations-Algorithmus ein nicht-ganzzahliger Transformations-Algorithmus ist, und dass der zweite Transformations-Algorithmus ein Ganzzahl-Transformations-Algorithmus ist, wobei die erfindungsgemäße Nachbearbeitung insbesondere dann besonders günstig ist, wenn der erste Transformations-Algorithmus Spektren liefert, die im Vergleich zu den Spektren, die der zweite Transformations-Algorithmus liefert, phasenverschoben und/oder in ihrem Betrag verändert sind. Insbesondere dann, wenn der erste Transformations-Algorithmus sogar nicht perfekt rekonstruierend ist, ist die erfindungsgemäße einfache Nachbearbeitung durch Linearkombination besonders vorteilhaft und effizient einsetzbar.
  • 4 zeigt eine bevorzugte Implementierung des Kombinierers 13 innerhalb eines Encodierers. Die Implementierung innerhalb eines Decodierers ist jedoch identisch, wenn durch den Addierer 22 nicht, wie in 4, eine Differenzbildung durchgeführt wird, wie es durch das Minuszeichen oberhalb des Addierers 22 dargestellt wird, sondern wenn eine Additionsoperation durchgeführt wird, wie es im Block 30 von 3 dargelegt ist. In jedem Fall sind die Werte, die in einen Eingang 40 eingespeist werden, Werte, wie sie durch den zweiten Transformations-Algorithmus 23 von 2 für die Encodierer-Implementierung erhalten werden, oder wie sie durch den Block 31 von 3 bei der Decodierer-Implementierung erhalten werden.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung umfasst der Kombinierer drei Abschnitte 41, 42, 43. Jeder Abschnitt umfasst drei Multiplizierer 42a, 42b, 42c, wobei jeder Multiplizierer einem Spektralwert mit dem Frequenzindex k–1, k oder k+1 zugeordnet ist. So ist der Multiplizierer 42a dem Frequenzindex k–1 zugeordnet. Der Multiplizierer 42b ist dem Frequenzindex k zugeordnet und der Multiplizierer 42c ist dem Frequenzindex k+1 zugeordnet.
  • Jeder Zweig dient daher zum Gewichten von Spektralwerten eines aktuellen Blocks mit dem Blockindex ν bzw. n+1, n oder n–1, um gewichtete Spektralwerte für den aktuellen Block zu erhalten.
  • Somit dient der zweite Abschnitt 42 zum Gewichten von Spektralwerten eines zeitlich vorausgehenden Blocks oder zeitlich nachfolgenden Blocks. Bezüglich des Abschnitts 41 dient der Abschnitt 42 zum Gewichten von Spektralwerten des zeitlich dem Block n+1 nachfolgenden Blocks n, und dient der Abschnitt 43 zum Gewichten von wiederum dem Block n nachfolgenden Block n–1. Um dies anzudeuten, sind Verzögerungselemente 44 in 4 eingezeichnet. Der Übersichtlichkeit halber ist nur ein Verzögerungselement mit „z–1" durch das Bezugszeichen 44 bezeichnet.
  • Insbesondere ist jeder Multiplizierer mit einem Spektralindex-abhängigen Gewichtungsfaktor c0(k) bis c8(k) versehen. Damit entstehen bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung neun gewichtete Spektralwerte, aus denen ein nachbearbeiteter Spektralwert ŷ für den Frequenzindex k und den zeitlichen Block n berechnet wird. Diese neun gewichteten Spektralwerte werden in einem Block 45 aufsummiert.
  • Der nachbearbeitete Spektralwert für den Frequenzindex k und den Zeitindex n wird somit durch Addition von ggf. unterschiedlich gewichteten Spektralwerten des zeitlich vorausgehenden Blocks (n–1) und des zeitlichen nachfolgenden Blocks (n+1) und unter Verwendung von jeweils nach oben (k+1) und nach unten (k–1) benachbarten Spektralwerten berechnet. Einfachere Implementierungen können jedoch lediglich darin bestehen, dass ein Spektralwert für den Frequenzindex k mit nur einem benachbarten Spektralwert k+1 oder k–1 aus dem selben Block kombiniert wird, wobei dieser Spektralwert, der mit dem Spektralwert des Frequenzindex k kombiniert wird, nicht unbedingt unmittelbar benachbart sein muss, sondern auch ein anderer Spektralwert aus dem Block sein kann. Aufgrund der typischen Überlappung von benachbarten Bändern wird es jedoch bevorzugt, eine Kombination mit dem unmittelbar nach oben und/oder nach unten benachbarten Spektralwert durchzuführen.
  • Ferner kann alternativ oder zusätzlich jeder Spektralwert mit einem Spektralwert für eine andere Zeitdauer, also einen anderen Blockindex, mit dem entsprechenden Spektralwert aus dem Block n kombiniert werden, wobei dieser Spektralwert aus einem anderen Block nicht unbedingt den selben Frequenzindex haben muss, sondern einen anderen, z.B. benachbarten Frequenzindex haben kann. Vorzugsweise wird jedoch wenigstens der Spektralwert mit dem selben Frequenzindex aus einem anderen Block mit dem Spektralwert aus dem aktuell betrachteten Block kombiniert. Dieser andere Block muss wiederum nicht unbedingt der unmittelbar zeitlich benachbarte sein, obgleich dies dann besonders bevorzugt wird, wenn der erste Transformations-Algorithmus und/oder der zweite Transformations-Algorithmus eine Blocküberlappungs-Eigenschaft haben, wie sie für MP3-Codierer oder AAC-Codierer typisch ist.
  • Dies bedeutet, wenn die Gewichtungsfaktoren von 4 betrachtet werden, dass wenigstens der Gewichtungsfaktor c4(k) ungleich 0 ist, und dass wenigstens noch ein zweiter Gewichtungsfaktor ungleich 0 ist, während alle anderen Gewichtungsfaktoren auch gleich 0 sein können, was ebenfalls bereits eine Bearbeitung liefern kann, die jedoch aufgrund der geringen Anzahl von Gewichtungsfaktoren ungleich 0 nur eine relativ rohe Approximation des zweiten Transformations-Algorithmus, wenn wieder die untere Hälfte von 1 betrachtet wird, sein kann. Um mehr als neun Spektralwerte zu berücksichtigen, können weitere Zweige für weiter zukünftige oder weiter in der Vergangenheit liegende Blöcke hinzugefügt werden. Ferner können auch weitere Multiplizierer und entsprechende weitere Gewichtungsfaktoren für weiter spektral-entfernt liegende Spektralwerte hinzugefügt werden, um aus dem 3×3-Feld von 4 ein Feld zu erzeugen, das mehr als drei Zeilen und/oder mehr als drei Spalten hat. Es hat sich jedoch herausgestellt, dass dann, wenn neun Gewichtungsfaktoren pro Spektralwert zugelassen werden, im Vergleich zu einer geringeren Anzahl von Gewichtungsfaktoren, noch erhebliche Verbesserungen erreicht werden, während dann, wenn die Anzahl der Gewichtungsfaktoren erhöht wird, keine wesentlichen weiteren Verbesserungen im Sinne kleiner werdender Differenz-Werte am Ausgang des Blocks 22 erhalten werden, so dass eine größere Anzahl von Gewichtungsfaktoren bei typischen Transformations-Algorithmus mit Überlappung benachbarter Subband-Filter und zeitlicher Überlappung benachbarter Blöcke keine erheblichen Verbesserungen mit sich bringt.
  • Zu den bei der Sequenz von langen Blöcken verwendeten 50-prozentigen Überlappung wird auf die schematische Darstellung von 5c bei 45 links im Bild, verwiesen, wo zwei aufeinanderfolgende lange Blöcke schematisch gezeigt sind. Das in 4 gezeigte Kombinierer-Konzept wird somit erfindungsgemäß immer dann verwendet, wenn eine Folge von langen Blöcken eingesetzt wird, wobei die Blocklänge des IntMDCT-Algorithmus 23 sowie der Überlappungsgrad des IntMDCT-Algorithmus gleich dem Überlappungsgrad des MP3-Analyse-Filters und der Blocklänge des MP3-Analyse-Filters eingestellt ist. Generell wird es bevorzugt, dass Blocküberlappung und Blocklänge von beiden Transformations-Algorithmen gleich eingestellt werden, was keine besondere Einschränkung darstellt, da der zweite Transformations-Algorithmus, also beispielsweise die IntMDCT 23 von 2 im Hinblick auf diese Parameter ohne weiteres eingestellt werden kann, während dies beim ersten Transformations-Algorithmus nicht ohne weiteres möglich ist, insbesondere dann, wenn der erste Transformations-Algorithmus, wie am Beispiel von MP3 standardisiert ist und häufig verwendet wird und daher nicht geändert werden kann.
  • Wie es bereits anhand von 2 und 3 dargestellt worden ist, macht der zugehörige Decodierer in 3 die Differenz-Bildung durch Addition der gleichen Näherungswerte, also der IntMDCT-Differenz-Werte am Ausgang des Blocks 22 von 2 bzw. am Ausgang des Blocks 31 von 3 wieder rückgängig.
  • Erfindungsgemäß lässt sich dieses Verfahren somit allgemein anwenden auf die Differenz-Bildung zwischen Spektraldarstellungen, die mit unterschiedlichen Filterbänken gewonnen wurden, wenn sich also eine Filterbank/Transformation, die dem ersten Transformations-Algorithmus zugrunde liegt, von einer Filterbank/Transformation, die dem zweiten Transformations-Algorithmus zugrunde liegt, unterscheidet.
  • Ein Beispiel für die konkrete Anwendung ist die Verwendung der MP3-Spektralwerte aus „Long Blocks" in Verbindung mit einer IntMDCT, wie es anhand von 4 beschrieben worden ist. Da die Frequenzauflösung der Hybrid-Filterbank in diesem Fall 576 beträgt, wird die IntMDCT ebenfalls eine Frequenzauflösung von 576 aufweisen, so dass die Fensterlänge maximal 1152 zeitliche Abtastwerte betragen kann.
  • In dem im Folgenden beschriebenen Beispiel werden nur die direkten zeitlichen und spektralen Nachbarn verwendet, während im allgemeinen Fall auch (oder alternativ) entfernter liegende Werte genommen werden können.
  • Wird der Spektralwert des k-ten Bandes im n-ten MP3-Block mit x(k, n) und der entsprechende Spektralwert der IntMDCT als y(k, n) bezeichnet, so berechnet sich die Differenz so, wie es in 4 für d(k, n) dargestellt ist. ŷ(k, n) ist der durch die Linearkombination gewonnene Näherungswert für y(k, n), und wird so bestimmt, wie es durch die lange Gleichung unter 4 dargestellt ist.
  • Hierbei ist zu beachten, dass aufgrund der unterschiedlichen Phasendifferenz für jedes der 576 Teilbänder ein eigener Koeffizientensatz erforderlich sein kann. Bei der praktischen Realisierung, wie sie in 4 gezeigt ist, werden für einen Zugriff auf zeitlich benachbarte Spektralwerte Verzögerungen 44 eingesetzt, deren Ausgangswerte jeweils Eingangswerten in einem entsprechenden vorangegangenen Block entsprechen. Um einen Zugriff auf zeitlich nachfolgende Spektralwerte zu ermöglichen, werden daher auch die IntMDCT-Spektralwerte, wie sie an dem Eingang 40 anliegen, durch eine Verzögerung 46 verzögert.
  • 5a zeigt eine etwas abgewandelte Vorgehensweise dann, wenn die MP3-Hybrid-Filterbank kurze Blöcke bzw. „Short Blocks" liefert, bei denen jeweils drei Unterblöcke mit 192 Spektralwerten erzeugt werden, wobei hier neben der ersten Variante von 5a auch eine zweite Variante in 6a erfindungsgemäß bevorzugt wird.
  • Die erste Variante beruht auf einer dreimaligen Anwendung einer IntMDCT mit Frequenzauflösung 192 zur Bildung entsprechender Blöcke von Spektralwerten. Hier können die Näherungswerte aus den drei zu einem Frequenzindex gehörenden Werten und ihren entsprechenden spektralen Nachbarn gebildet werden. Für jeden Unterblock wird hierbei ein eigener Koeffizientensatz benötigt. Zur Beschreibung der Vorgehensweise wird daher ein Unterblock-Index u eingeführt, so dass n wieder dem Index eines gesamten Blocks der Länge 576 entspricht. Gleichungsmäßig ausgedrückt, ergibt sich somit das System von Gleichungen in 5a. Eine solche Folge von Blöcken ist in 5b bezüglich der Werte und in 5c bezüglich der Fenster dargestellt. Der MP3-Codierer liefert kurze MP3-Blöcke, wie sie bei 50 dargestellt sind. Die erste Variante liefert ebenfalls kurze IntMDCT-Blöcke y(u0), y(u1) und y(u2), wie es bei 51 in 5b gezeigt ist. Damit können drei kurze Differenz-Blöcke 52 berechnet werden, derart, dass sich eine 1:1-Abbildung zwischen einem ent sprechenden Spektralwert bei der Frequenz k in den Blöcken 50, 51 und 52 ergibt.
  • Im Unterschied zu 4 sei darauf hingewiesen, dass in 5a Verzögerungen 44 nicht eingezeichnet sind. Dies ergibt sich daraus, dass die Nachbearbeitung erst dann vorgenommen werden kann, wenn alle drei Unterblöcke 0, 1, 2 für einen Block n berechnet sind. Wenn der Unterblock mit dem Index 0 der zeitlich erste Unterblock ist, und wenn der nächste Unterblock mit dem Index 1 der zeitlich spätere Block ist, und wenn der Index u=2 der wiederum zeitlich spätere kurze Block ist, so wird der Differenz-Block für den Index u=0 unter Verwendung von Spektralwerten aus dem Unterblock u0, dem Unterblock u1 und dem Unterblock u2 berechnet. Dies bedeutet, dass nur bezüglich des aktuell berechneten Unterblocks mit dem Index 0 zukünftige Unterblöcke 1 und 2 eingesetzt werden, jedoch kein Spektralwert aus der Vergangenheit. Dies ist auch sinnvoll, da eine Umschaltung auf kurze Blöcke vorgenommen worden ist, da ein transientes Ereignis im Audiosignal war, wie es bekannt ist und beispielsweise in der zitierten Fachveröffentlichung von Edler dargestellt ist. Die nachbearbeiteten Werte für den Unterblock mit dem Index 1, die zur Gewinnung der Differenz-Werte mit dem Unterblock-Index 1 eingesetzt werden, werden dagegen aus einem zeitlich vorherliegenden, aus einem zeitlich aktuellen und einem zeitlich nachfolgenden Unterblock berechnet, während die nachbearbeiten Spektralwerte für den dritten Unterblock mit dem Index 2 nicht unter Verwendung zukünftiger Unterblöcke, sondern nur unter Verwendung vergangener Unterblöcke mit dem Index 1 und dem Index 0 berechnet werden, was insofern ebenfalls technisch sinnvoll ist, da ohne weiteres wieder, wie es in 5c gezeigt ist, eine Fensterumschaltung auf lange Fenster durch ein Stopp-Fenster eingeleitet werden kann, so dass unmittelbar später wieder auf das Long-Block-Schema von 4 übergegangen werden kann.
  • 5 macht somit deutlich, dass es insbesondere bei kurzen Blöcken, jedoch auch allgemein vernünftig sein kann, nur in die Vergangenheit oder nur in die Zukunft zu sehen, und nicht immer, wie es in 4 gezeigt ist, sowohl in die Vergangenheit als auch in die Zukunft zu greifen, um Spektralwerte zu erhalten, die nach einer Gewichtung und Summation einen nachbearbeiteten Spektralwert liefern.
  • Nachfolgend wird Bezug nehmend auf die 6a, 6b und 6c die zweite Variante für kurze Blöcke dargestellt. Bei der zweiten Variante wird die Frequenzauflösung der IntMDCT bei 576 belassen, so dass jeweils drei spektral-benachbarte IntMDCT-Spektralwerte im Frequenzbereich eines MP3-Spektralwertes liegen. Daher wird für jeden dieser drei IntMDCT-Spektralwerte zur Differenz-Bildung eine eigene Linearkombination aus den drei zeitlich aufeinanderfolgenden Unterblock-Spektralwerten und ihren spektralen Nachbarn gebildet, wobei der Index s, der auch als Ordnungsindex bezeichnet wird, nunmehr die Position innerhalb jeder Dreier-Gruppe angibt. Damit ergibt sich die Gleichung, wie sie in 6a unterhalb des Blockschaltbildes dargestellt ist. Diese zweite Variante eignet sich besonders gut, wenn bei der IntMDCT eine Fensterfunktion mit einem geringen Überlappungsbereich eingesetzt wird, da dann der berücksichtigte Signalabschnitt gut mit dem der drei Unterblöcke überstimmt. In diesem Fall, wie auch bei der ersten Variante wird es bevorzugt, die Fensterformen der IntMDCT vorhergehender bzw. nachfolgender Long-Blocks so anzupassen, dass sich eine perfekte Rekonstruktion ergibt. Ein entsprechendes Blockschema für die erste Variante ist in 5c gezeigt. Ein entsprechendes Schema für die zweite Variante ist in 6c gezeigt, wobei nunmehr, nur ein einziger langer IntMDCT-Block durch das lange Fenster 63 erzeugt wird, wobei dieser langer IntMDCT-Block nunmehr k Dreier-Blöcke von Spektralwerten aufweist, wobei die Bandbreite eines solchen Dreier-Blocks, der sich aus s=0, s=1 und s=2 ergibt, gleich der Bandbreite eines Blocks k der kurzen MP3-Blöcke 60 in 6b ist. Aus 6a ist ersichtlich, dass zur Subtraktion von dem ersten Spektralwert bei s=0 für einen Dreier-Block mit dem Index k wieder die Werte des aktuellen, des zukünftigen und des nächsten zukünftigen Unterblocks 0, 1, 2 genommen werden, jedoch keine Werte aus der Vergangenheit genommen werden. Zur Berechnung eines Differenz-Werts für den zweiten Wert s=1 einer Dreier-Gruppe werden dagegen Spektralwerte aus dem vorhergehenden Unterblock und dem zukünftigen Unterblock verwendet, während zur Berechnung eines Differenz-Spektralwerts mit dem Ordnungsindex s=2 nur vorhergehende Unterblöcke verwendet werden, wie es durch die Zweige 42 und 41 dargestellt ist, die im Hinblick auf den Zweig 43 in 6a in der Vergangenheit liegen.
  • An dieser Stelle sei darauf hingewiesen, dass bei allen Berechnungsvorschriften die Terme, die die Grenzen des Frequenzbereichs verlassen, also z.B. der Frequenzindex –1 oder 576 bzw. 192 jeweils weggelassen werden. In diesen Fällen reduziert sich die Linearkombination somit bei dem allgemeinen Beispiel in den 4 bis 6 auf 6 statt 9 Terme.
  • Nachfolgend wird detaillierter auf die Fenstersequenzen in 5c und 6c eingegangen. Die Fenstersequenzen bestehen aus einer Folge von langen Blöcken, wie sie durch das Szenario in 4 verarbeitet werden. Hierauf folgt ein Start-Fenster 56, das eine unsymmetrische Form hat, da es von einem langen Überlappungsbereich am Anfang des Start-Fensters auf einen kurzen Überlappungsbereich am Ende des Start-Fensters „überführt" wird. Analog hierzu existiert ein Stopp-Fenster 57, das von einer Folge von kurzen Blöcken wieder in eine Folge von langen Blöcken überführt und somit am Anfang einen kurzen Überlappungsbereich und am Ende wieder einen langen Überlappungsbereich hat.
  • Die Fensterumschaltung wird, wie es in der besprochenen Fachveröffentlichung von Edler dargestellt ist, dann gewählt, wenn durch einen Codierer eine Zeitdauer im Audiosignal, die ein transientes Signal hat, detektiert wird.
  • Eine solche Signalisierung findet sich im MP3-Bitstrom, so dass dann, wenn gemäß 2 und gemäß der ersten Variante von 5c die IntMDCT ebenfalls auf kurze Blöcke umschaltet, keine eigene Transienten-Detektion vonnöten ist, sondern eine Transienten-Detektion allein aufgrund eines Kurze-Fenster-Hinweises im MP3-Bitstrom erfolgt. Für die Nachbearbeitung von Werten im Start-Fenster wird es aufgrund des langen Überlappungsbereichs mit dem vorhergehenden Fenster bevorzugt, Blöcke mit dem vorhergehenden Blockindex n–1 zu verwenden, während Blöcke mit dem nachfolgenden Blockindex aufgrund des kurzen Überlappungsbereichs nur schwach gewichtet oder generell nicht verwendet werden. Analog hierzu wird das Stopp-Fenster zur Nachbearbeitung lediglich Werte mit einem zukünftigen Blockindex n+1 zusätzlich zu den Werten für den aktuellen Block n berücksichtigen, jedoch aus der Vergangenheit, also z.B. aus dem dritten Short-Block nur eine schwache Gewichtung oder eine Gewichtung gleich 0, also keine Verwendung durchführen.
  • Wenn, wie in 6c gezeigt, die Sequenz der Fenster, wie sie durch die IntMDCT 23, also den zweiten Transformations-Algorithmus ausgeführt wird, keine Umschaltung auf kurze Fenster durchführt, jedoch die vorzugsweise verwendete Fensterumschaltung implementiert, so wird es bevorzugt, das Fenster mit kurzer Überlappung, das in 6c mit 63 bezeichnet ist, ebenfalls durch ein Start-Fenster 56 und durch ein Stopp-Fenster 57 einzuleiten bzw. zu beenden.
  • Obgleich bei dem in 6c gezeigten Ausführungsbeispiel die IntMDCT 23 von 2 nicht in den kurzen Fenstermodus übergeht, kann trotzdem die Signalisierung von kurzen Fenstern im MP3-Bitstrom dazu verwendet werden, um die Fensterumschaltung mit Start-Fenster, Fenster mit kurzer Überlappung, wie es bei 63 in 6c gezeigt ist, und Stopp-Fenster zu aktivieren.
  • Ferner sei darauf hingewiesen, dass sich besonders die im AAC-Standard gezeigten Fenstersequenzen angepasst an die MP3-Blocklänge bzw. den MP3-Vorschub von 576 Werten für lange Blöcke und 192 Werten für kurze Blöcke und insbesondere auch die dort gezeigten Start-Fenster und Stopp-Fenster besonders günstig auch zur Implementierung der IntMDCT im Block 23 der vorliegenden Erfindung eignen.
  • Nachfolgend wird auf die Genauigkeit der Approximation aus erstem Transformationsalgorithmus und Nachbearbeitung eingegangen.
  • Für 576 Eingangssignale mit jeweils einem Impuls an der Position 0 ... 575 innerhalb eines Blocks wurden folgende Schritte durchgeführt:
    • – Berechnung der Hybrid-Filterbank + Approximation
    • – Berechnung der MDCT
    • – Berechnung der Quadratsumme der MDCT-Spektralkomponenten
    • – Berechnung der Quadratsumme der Abweichungen zwischen MDCT-Spektralkomponenten und der Approximation Hier wird über alle 576 Signale die maximale quadratische Abweichung bestimmt.
  • Die maximale relative quadratische Abweichung über alle Positionen betrug bei Verwendung
    • – langer Blöcke gem. 4 ca. 3,3%
    • – kurzer Blocke (Hybrid) und langer Blöcke (MDCT) gem. 6 ca. 20,6%.
  • Man könnte also sagen, dass bei einem Impuls am Eingang der beiden Transformationen die Quadratsumme der Abweichungen zwischen der Approximation und den Spektralkomponenten der zweiten Transformation nicht mehr als 30% (und vorzugsweise sogar nicht mehr als bzw. 25% oder 10%) der Quadratsumme der Spektralkomponenten der zweiten Transformation betragen sollte, unabhängig von der Position des Impulses im Eingangsblock. Zur Berechnung der Quadratsummen sollten alle Blöcke von Spektralkomponenten hinzugezogen werden, die vom Impuls beeinflusst werden.
  • Es ist zu beachten, dass bei der obigen Fehlerbetrachtung (MDCT vs. Hybrid-FB + Nachbearbeitung) immer der relative Fehler betrachtet wurde, der signalunabhängig ist.
  • Bei der IntMDCT (vs. MDCT) hingegen ist der absolute Fehler signalunabhängig und liegt etwa im Bereich –2 bis 2 der gerundeten Integer-Werte. Daraus folgt, dass der relative Fehler signalabhängig wird. Um diese Signalabhängigkeit zu eliminieren, wird vorzugsweise ein vollausgesteuerter Impuls vorausgesetzt (z.B. Wert 32767 bei 16 bit PCM).
  • Dieser wird dann ein annähernd flaches Spektrum mit einer mittleren Amplitude von etwa 32767/sqrt(576)=1365 ergeben (Energieerhaltung). Der mittlere quadratische Fehler wäre dann also in etwa 2^2/1365^2=0.0002%, also vernachlässigbar.
  • Bei einem sehr kleinen Impuls am Eingang wäre der Fehler hingegen drastisch. Ein Impuls der Amplitude 1 oder 2 würde quasi komplett im IntMDCT-Approximationsfehler untergehen.
  • Das Fehlerkriterium der Genauigkeit der Approximation, also der für die Gewichtungsfaktoren erwünschten Werte ist somit am besten vergleichbar, wenn es für einen vollausgesteuerten Impuls angegeben ist.
  • Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Pro grammcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.

Claims (29)

  1. Vorrichtung (10) zum Nachbearbeiten von Spektralwerten, denen ein erster Transformations-Algorithmus (16) zum Umsetzen eines Audiosignals in eine spektrale Darstellung zugrunde liegt, mit folgenden Merkmalen: einer Einrichtung (12) zum Bereitstellen einer Folge von Blöcken der Spektralwerte, die eine Folge von Blöcken von Abtastwerten des Audiosignals darstellen; und einem Kombinierer (13) zum gewichteten Addieren von Spektralwerten der Folge von Blöcken von Spektralwerten, um eine Folge von Blöcken von nachbearbeiteten Spektralwerten zu erhalten, wobei der Kombinierer (13) ausgebildet ist, um zur Berechnung eines nachbearbeiteten Spektralwerts für ein Frequenzband und eine Zeitdauer einen Spektralwert der Folge von Blöcken für das Frequenzband und die Zeitdauer sowie eine Spektralwert für ein anderes Frequenzband oder eine andere Zeitdauer zu verwenden, und wobei der Kombinierer (13) ausgebildet ist, um solche Gewichtungsfaktoren beim gewichteten Addieren zu verwenden, dass die nachbearbeiteten Spektralwerte eine Annäherung an Spektralwerte sind, wie sie durch einen zweiten Transformations-Algorithmus (17) zum Umsetzen des Audiosignals in eine spektrale Darstellung erhalten werden, wobei der zweite Transformations-Algorithmus (17) von dem ersten Transformations-Algorithmus (16) unterschiedlich ist.
  2. Vorrichtung nach Anspruch 1, bei der der erste Transformations-Algorithmus (16) ein hybrider Transformations-Algorithmus mit zwei Stufen ist, und der zweite Transformations-Algorithmus (17) ein einstufiger Transformations-Algorithmus ist.
  3. Vorrichtung nach Anspruch 1 oder 2, bei der der erste Transformations-Algorithmus (16) eine Polyphasen- Filterbank und eine modifizierte diskrete Cosinus-Transformation aufweist, und bei der der zweite Transformations-Algorithmus (17) eine Integer-MDCT ist.
  4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der erste Transformations-Algorithmus (16) und der zweite Transformations-Algorithmus (17) so ausgebildet sind, dass sie reelle Ausgangssignale liefern.
  5. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Kombinierer (13) ausgebildet ist, um solche Gewichtungsfaktoren zu verwenden, dass der erste Transformations-Algorithmus (16) und eine durch den Kombinierer (13) durchgeführte Nachbearbeitung zusammen eine Impulsantwort liefern, die eine Impulsantwort des zweiten Transformations-Algorithmus (17) approximiert.
  6. Vorrichtung nach Anspruch 5, bei der bei einer Approximation aus erstem Transformationsalgorithmus und Nachbearbeitung die Gewichtungsfaktoren der derart gewählt werden, dass bei einem Impuls am Eingang der beiden Transformationen die Quadratsumme der Abweichungen zwischen der Approximation und den Spektralkomponenten der zweiten Transformation nicht mehr als 30% der Quadratsumme der Spektralkomponenten der zweiten Transformation beträgt.
  7. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Einrichtung (12) zum Bereitstellen einer Folge von Blöcken ausgebildet ist, um Blöcke zu liefern, die eine verlustbehaftete Darstellung des Audiosignals sind.
  8. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Kombinierer (13) für eine Berechnung eines nachbearbeiteten Spektralwerts für ein Frequenzband k folgende Merkmale aufweist: einen ersten Abschnitt (41, 42, 43) zum Gewichten von Spektralwerten eines aktuellen Blocks für das Frequenzband k, ein Frequenzband k–1 oder ein Frequenzband k+1, um gewichtete Spektralwerte für den aktuellen Block zu erhalten; einen zweiten Abschnitt (41, 42, 43) zum Gewichten von Spektralwerten eines zeitlich vorausgehenden Blocks k–1 oder eines zeitlich nachfolgenden Blocks k+1, um gewichtete Spektralwerte für den zeitlich vorausgehenden Block oder den zeitlich nachfolgenden Block zu erhalten; und eine Einrichtung (45) zum Addieren der gewichteten Spektralwerte, um einen nachbearbeiteten Spektralwert für das Frequenzband k eines aktuellen oder vorausgehenden oder nachfolgenden Blocks von nachbearbeiteten Spektralwerten zu erhalten.
  9. Vorrichtung nach Anspruch 8, die ferner folgendes Merkmal aufweist: einen dritten Abschnitt (43) zum Gewichten von Spektralwerten eines vorausgehenden Blocks, wobei der erste Abschnitt ausgebildet ist, um Spektralwerte eines nachfolgenden Blocks zu gewichten, und wobei der zweite Abschnitt (42) ausgebildet ist, um Spektralwerte eines aktuellen Blocks zu gewichten, und wobei der Summierer (45) ausgebildet ist, um gewichtete Spektralwerte der drei Abschnitte zu addieren, um einen nachbearbeiteten Spektralwert für den aktuellen Block von nachbearbeiteten Spektralwerten zu erhalten.
  10. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der erste Transformations-Algorithmus eine Blocküberlappungsfunktion aufweist, bei der Blöcke von Abtastwerten des zeitlichen Audiosignals, die der Folge von Blöcken der Spektralwerte zugrunde liegen, überlappen.
  11. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Kombinierer (13) ausgebildet ist, um für jeden Spektralwert einen Signal-unabhängigen Satz von Gewichtungsfaktoren zu verwenden.
  12. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Folge von Blöcken der Spektralwerte einen Satz von Blöcken von Spektralwerten aufweist, die kürzer sind als ein langer Block von Spektralwerten, der auf den Satz von Blöcken folgt, oder der dem Satz von Blöcken vorausgeht, und bei der der Kombinierer (13) ausgebildet ist, um zum Berechnen eines nachbearbeiteten Spektralwerts für den Satz von Blöcken von Spektralwerten das selbe Frequenzband oder ein benachbartes Frequenzband aus mehreren Blöcken des Satzes von kurzen Blöcken zu verwenden.
  13. Vorrichtung nach Anspruch 12, bei der der Kombinierer (13) ausgebildet ist, um zum Berechnen von nachbearbeiteten Spektralwerten aufgrund von kurzen Blöcken von Spektralwerten lediglich Spektralwerte aus kurzen Blöcken zu verwenden und keine Spektralwerte aus einem vorhergehenden langen Block oder einem nachfolgenden langen Block zu verwenden.
  14. Vorrichtung nach Anspruch 1, bei der der Kombinierer (13) ausgebildet ist, um folgende Gleichung zu implementieren: ŷ(k, n) = c0(k) × (k – 1, n – 1) + c1(k) × (k – 1, n) + c2(k) × (k – 1, n + 1) + c3(k) × (k, n – 1) + c4(k) × (k, n) + c5(k) × (k, n + 1) + c6(k) × (k + 1, n – 1) + c7(k) × (k + 1, n) + c8(k) × (k + 1, n + 1),wobei ŷ(k, n) ein nachbearbeiteter Spektralwert für einen Frequenzindex k und einen Zeitindex n ist, wobei x(k, n) ein Spektralwert eines Blocks von Spektralwerten mit einem Frequenzindex k und einem Zeitindex n ist, wobei c0(k), ..., c8(k) Gewichtungsfaktoren sind, die dem Frequenzindex k zugeordnet sind, wobei k–1 ein dekrementierter Frequenzindex ist, wobei k+1 ein inkrementierter Frequenzindex ist, wobei n–1 ein dekrementierter Zeitindex ist, und wobei n+1 in inkrementierter Zeitindex ist.
  15. Vorrichtung nach Anspruch 1, bei der der Kombinierer (13) ausgebildet ist, um folgende Gleichung zu implementieren: ŷ(k, n, u) = c0(k, u) × (k – 1, n, 0)c1(k, u) × (k – 1, n, 1) + c2(k, u) × (k – 1, n, 2) + c3(k, u) × (k, n, 0) + c4(k, u) × (k, n, 1) + c5(k, u) × (k, n, 2) + c6(k, u) × (k + 1, n, 0) + c7(k, u) × (k + 1, n, 1) + c8(k, u) × (k + 1, n, 2),wobei ŷ(k, n, u) ein nachbearbeiteter Spektralwert für einen Frequenzindex k und einen Zeitindex n und einen Unterblockindex u ist, wobei x(k, n, u) ein Spektralwert eines Blocks von Spektralwerten mit einem Frequenzindex k und einem Zeitindex n und einen Unterblockindex u ist, wobei c0(k), ..., c8(k) Gewichtungsfaktoren sind, die dem Frequenzindex k zugeordnet sind, wobei k–1 ein dekrementierter Frequenzindex ist, wobei k+1 ein inkrementierter Frequenzindex ist, wobei n–1 ein dekrementierter Zeitindex ist, und wobei n+1 in inkrementierter Zeitindex ist, wobei u ein Unterblock-Index ist, der eine Position eines Unterblock in einer Se quenz von Unterblöcken angibt, und wobei der Zeitindex einen langen Block spezifiziert und der Unterblockindex einen vergleichsweise kurzen Block spezifiziert.
  16. Vorrichtung nach Anspruch 1, bei der der Kombinierer (13) ausgebildet ist, um folgende Gleichung zu implementieren: ŷ(3k + s, n) = c0(k, s) × (k – 1, n, 0) + c1(k, s) × (k – 1, n, 1) + c2(k, s) × (k – 1, n, 2) + c3(k, s) × (k, n, 0) + c4(k, s) × (k, n, 1) + c5(k, s) × (k, n, 2) + c6 (k, s) × (k + 1, n, 0) + c7(k, s) × (k + 1, n, 1) + c8(k, s) × (k + 1, n, 2),wobei ŷ(k, n) ein nachbearbeiteter Spektralwert für einen Frequenzindex k und einen Zeitindex n ist, wobei x(k, n, u) ein Spektralwert eines Blocks von Spektralwerten mit einem Frequenzindex k und einem Zeitindex n und einen Unterblockindex u ist, wobei c0(k), ..., c8(k) Gewichtungsfaktoren sind, die dem Frequenzindex k zugeordnet sind, wobei k–1 ein dekrementierter Frequenzindex ist, wobei k+1 ein inkrementierter Frequenzindex ist, wobei n–1 ein dekrementierter Zeitindex ist, und wobei n+1 ein inkrementierter Zeitindex ist, wobei s ein Ordnungsindex ist, der eine Position eines Unterblocks in einer Sequenz von Unterblöcken wiedergibt, und wobei der Zeitindex einen langen Block spezifiziert und der Unterblockindex einen vergleichsweise kurzen Block spezifiziert.
  17. Codierer zum Codieren eines Audiosignals, mit folgenden Merkmalen: einer Vorrichtung (10) zum Nachbearbeiten von Spektralwerten gemäß einem der Ansprüche 1 bis 16; einer Einrichtung (23) zum Berechnen einer Folge von Blöcken von Spektralwerten gemäß dem zweiten Transformations-Algorithmus (17) aus dem Audiosignal; einer Einrichtung (22) zum Spektralwert-weisen Differenz-Bilden zwischen der Folge von Blöcken aufgrund des zweiten Transformations-Algorithmus und der Folge von Blöcken von nachbearbeiteten Spektralwerten.
  18. Codierer nach Anspruch 17, der ferner folgendes Merkmal aufweist: eine Einrichtung (24) zum Erzeugen eines Erweiterungs-Bitstroms aufgrund eines Ergebnisses, das von der Einrichtung (22) zum Spektralwert-weisen Differenz-Bilden erzeugt wird.
  19. Codierer nach Anspruch 18, bei dem die Einrichtung (24) zum Erzeugen einen Entropie-Codierer aufweist.
  20. Vorrichtung nach einem der Ansprüche 17 bis 19, bei der der Folge von Blöcken aufgrund des ersten Transformations-Algorithmus (16) eine verlustbehaftete Komprimierung zugrunde liegt, und bei der der Folge von Blöcken aufgrund des zweiten Transformations-Algorithmus (17) eine verlustlose oder nahezu verlustlose Komprimierung zugrunde liegt.
  21. Codierer nach einem der Ansprüche 17 bis 20, der einen Speicher zum Speichern der Gewichtungsfaktoren aufweist, in dem die Gewichtungsfaktoren Signalunabhängig speicherbar sind.
  22. Codierer nach einem der Ansprüche 17 bis 21, bei dem die Einrichtung (23) zum Erzeugen der Folge von Blöcken unter Verwendung des zweiten Transformations-Algorithmus (17) ausgebildet ist, um eine Fensterung mit einer Fenstersequenz durchzuführen, die von einer Fenstersequenz abhängt, die der Folge von Blöcken der Spektralwerte zugrunde liegt, die aufgrund des ersten Transformations-Algorithmus (16) vorgegeben ist.
  23. Codierer nach Anspruch 22, bei dem die Einrichtung (23) zum Bereitstellen einer Folge von Blöcken unter Verwendung des zweiten Transformations-Algorithmus (17) ausgebildet ist, um von einem langen Fenster mit einem langen Überlappungsbereich auf ein langes Fenster mit einem kurzen Überlappungsbereich oder auf eine Mehrzahl von kurzen Fenstern umzuschalten, wenn in der Folge von Blöcken der Spektralwerte aufgrund des ersten Transformations-Algorithmus (16) eine Umschaltung auf kurze Fenster stattfindet.
  24. Decodierer zum Decodieren eines codierten Audiosignals, mit folgenden Merkmalen: einer Vorrichtung zum Nachbearbeiten von Spektralwerten gemäß einem der Ansprüche 1 bis 16; einer Einrichtung (31) zum Bereitstellen von Spektralwert-weisen Differenzwerten zwischen einer Folge von Blöcken von nachbearbeiteten Spektralwerten aufgrund des ersten Transformations-Algorithmus (16) und einer Folge von Blöcken aufgrund des zweiten Transformations-Algorithmus (17); einer Einrichtung (30) zum Kombinieren der Folge von Blöcken der nachbearbeiteten Spektralwerte und der Differenz-Werte, um eine Folge von Blöcken von Kombinations-Spektralwerten zu erhalten; und einer Einrichtung (33) zum inversen Transformieren der Folge von Blöcken von Kombinations-Spektralwerten gemäß dem zweiten Transformations-Algorithmus (17), um ein decodiertes Audiosignal zu erhalten.
  25. Verfahren (10) zum Nachbearbeiten von Spektralwerten, denen ein erster Transformations-Algorithmus (16) zum Umsetzen eines Audiosignals in eine spektrale Darstellung zugrunde liegt, mit folgenden Schritten: Bereitstellen (12) einer Folge von Blöcken der Spektralwerte, die eine Folge von Blöcken von Abtastwerten des Audiosignals darstellen; und gewichtetes Addieren (13) von Spektralwerten der Folge von Blöcken von Spektralwerten, um eine Folge von Blöcken von nachbearbeiteten Spektralwerten zu erhalten, wobei zur Berechnung eines nachbearbeiteten Spektralwerts für ein Frequenzband und eine Zeitdauer einen Spektralwert der Folge von Blöcken für das Frequenzband und die Zeitdauer sowie eine Spektralwert für ein anderes Frequenzband oder eine andere Zeitdauer verwendet werden, und wobei solche Gewichtungsfaktoren beim gewichteten Addieren verwendet werden, dass die nachbearbeiteten Spektralwerte eine Annäherung an Spektralwerte sind, wie sie durch einen zweiten Transformations-Algorithmus (17) zum Umsetzen des Audiosignals in eine spektrale Darstellung erhalten werden, wobei der zweite Transformations-Algorithmus (17) von dem ersten Transformations-Algorithmus (16) unterschiedlich ist.
  26. Verfahren zum Codieren eines Audiosignals, mit folgenden Schritten: Nachbearbeiten (10) von Spektralwerten gemäß Anspruch 25; Berechnen (23) einer Folge von Blöcken von Spektralwerten gemäß dem zweiten Transformations-Algorithmus (17) aus dem Audiosignal; Spektralwert-weises Differenz-Bilden (22) zwischen der Folge von Blöcken von Spektralwerten aufgrund des zweiten Transformations-Algorithmus und der Folge von Blöcken von nachbearbeiteten Spektralwerten.
  27. Verfahren zum Decodieren eines codierten Audiosignals, mit folgenden Schritten: Nachbearbeiten von Spektralwerten gemäß Anspruch 25; Bereitstellen (31) von Spektralwert-weisen Differenzwerten zwischen einer Folge von Blöcken von nachbearbeiteten Spektralwerten aufgrund des ersten Trensformations-Algorithmus (16) und einer Folge von Blöcken von Spektralwerten aufgrund des zweiten Transformations-Algorithmus (17); Kombinieren (30) der Folge von Blöcken der nachbearbeiteten Spektralwerte und der Differenz-Werte, um eine Folge von Blöcken von Kombinations-Spektralwerten zu erhalten; und inverses Transformieren (33) der Folge von Blöcken von Kombinations-Spektralwerten gemäß dem zweiten Transformations-Algorithmus (17), um ein decodiertes Audiosignal zu erhalten.
  28. Computer-Programm mit einem Programmcode zum Durchführen des Verfahrens nach Patentanspruch 25, 26 oder 27, wenn das Computer-Programm auf einem Rechner abläuft.
  29. Bitstrom-Erweiterungs-Schicht zur Eingabe in einen Audio-Decodierer, wobei die Bitstrom-Erweiterungs-Schicht eine Folge von Blöcken von Differenz-Werten aufweist, wobei ein Block von Differenz-Werten Spektralwert-weise eine Differenz zwischen einem Block von Spektralwerten, wie er von einem zweiten Transformations-Algorithmus (17) erhalten wird, und einem Block von nachbearbeiteten Spektralwerten aufweist, wobei die nachbearbeiteten Spektralwerte durch gewichtetes Addieren von Spektralwerten einer Folge von Blöcken, wie sie von einem ersten Transformations-Algorithmus (16) erhalten werden, erzeugt werden, wobei zur Be rechnung eines nachbearbeiteten Spektralwerts für ein Frequenzband und eine Zeitdauer ein Spektralwert der Folge von Blöcken für das Frequenzband und die Zeitdauer sowie ein Spektralwert für ein anderes Frequenzband oder eine andere Zeitdauer verwendet werden, und wobei zum Kombinieren solche Gewichtungsfaktoren verwendet werden, dass die nachbearbeiteten Spektralwerte eine Annäherung an Spektralwerte darstellen, wie sie durch den zweiten Transformations-Algorithmus (17) erhalten werden, wobei sich der zweite Transformations-Algorithmus (17) von dem ersten Transformations-Algorithmus (16) unterscheidet.
DE102006051673A 2006-11-02 2006-11-02 Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale Ceased DE102006051673A1 (de)

Priority Applications (29)

Application Number Priority Date Filing Date Title
DE102006051673A DE102006051673A1 (de) 2006-11-02 2006-11-02 Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale
TR2019/03942T TR201903942T4 (tr) 2006-11-02 2007-09-28 Spektral değerler için art işleme cihazı ve yöntemi ile ses sinyalleri için şifreleyici ve şifre çözücü.
CN2007800403496A CN101553870B (zh) 2006-11-02 2007-09-28 后处理谱值的设备和方法及音频信号的编码器和解码器
ES07818557T ES2354743T3 (es) 2006-11-02 2007-09-28 Dispositivo y método para el procesamiento posterior de valores espectrales y codificador y decodificador para señales de audio.
KR1020097009139A KR101090541B1 (ko) 2006-11-02 2007-09-28 스펙트럴 값들을 후처리하는 장치 및 방법, 그리고 오디오 신호를 위한 인코더 및 디코더
CA2668056A CA2668056C (en) 2006-11-02 2007-09-28 Device and method for postprocessing spectral values and encoder and decoder for audio signals
PT10173938T PT2264699T (pt) 2006-11-02 2007-09-28 Dispositivo e método para pós-processamento de valores espectrais e codificador e descodificador para sinais de áudio
US12/446,772 US8321207B2 (en) 2006-11-02 2007-09-28 Device and method for postprocessing spectral values and encoder and decoder for audio signals
AT07818557T ATE489703T1 (de) 2006-11-02 2007-09-28 Vorrichtung und verfahren zur nachbearbeitung von spektralwerten sowie kodiergerät und dekodiergerät für audiosignale
EP07818557A EP1964111B1 (de) 2006-11-02 2007-09-28 Vorrichtung und verfahren zur nachbearbeitung von spektralwerten sowie kodiergerät und dekodiergerät für audiosignale
MYPI2015002126A MY181471A (en) 2006-11-02 2007-09-28 Device and method for postprocessing spectral values and encoder and decoder for audio signals
PL07818557T PL1964111T3 (pl) 2006-11-02 2007-09-28 Urządzenie i sposób przeznaczone do przetwarzania wartości widmowych oraz koder i dekoder przeznaczone do przetwarzania sygnałów audio
BRPI0716308-8A BRPI0716308B1 (pt) 2006-11-02 2007-09-28 “dispositivo e método para pós-processamento de valores espectrais e codificador e decodificador de sinais de áudio"
ES10173938T ES2720871T3 (es) 2006-11-02 2007-09-28 Dispositivo y método para procesamiento posterior de valores espectrales y codificador y decodificador para señales de audio
PCT/EP2007/008477 WO2008052627A1 (en) 2006-11-02 2007-09-28 Device and method for postprocessing spectral values and encoder and decoder for audio signals
PL10173938T PL2264699T3 (pl) 2006-11-02 2007-09-28 Urządzenie i sposób do przetwarzania końcowego wartości widmowych oraz koder i dekoder do sygnałów audio
MX2009004639A MX2009004639A (es) 2006-11-02 2007-09-28 Dispositivo y metodo para tratamiento posterior de valores espectrales y codificador y decodificador para señales de audio.
EP10173938.1A EP2264699B1 (de) 2006-11-02 2007-09-28 Vorrichtung und Verfahren zur Nachbearbeitung von Spektralwerten sowie Kodiergerät und Dekodiergerät für Audiosignale
RU2009117571/09A RU2423740C2 (ru) 2006-11-02 2007-09-28 Устройство и способ окончательной обработки спектральных значений и кодирующее устройство и декодер для аудиосигналов
MYPI20091684A MY156427A (en) 2006-11-02 2007-09-28 Device and method for postprocessing spectral values and encoder and decoder for audio signals
JP2009534996A JP5301451B2 (ja) 2006-11-02 2007-09-28 スペクトル値の後処理用装置と方法及びオーディオ信号のエンコーダとデコーダ
AU2007315373A AU2007315373B2 (en) 2006-11-02 2007-09-28 Device and method for postprocessing spectral values and encoder and decoder for audio signals
DE602007010721T DE602007010721D1 (de) 2006-11-02 2007-09-28 Vorrichtung und verfahren zur nachbearbeitung von spektralwerten sowie kodiergerät und dekodiergerät für audiosignale
TW096139650A TWI350068B (en) 2006-11-02 2007-10-23 Device and method for postprocessing spectral values and encoder and decoder for audio signals
HK08113440.1A HK1120328A1 (en) 2006-11-02 2008-12-10 Device and method for postprocessing spectral values and encoder and decoder for audio signals
IL198192A IL198192A (en) 2006-11-02 2009-04-19 A device and method for further processing of spectral values and a decoder and decoder for audio signals
NO20092125A NO341615B1 (no) 2006-11-02 2009-05-29 Innretning og fremgangsmåte for etterbehandling av spektralverdier, samt koder og dekoder for audiosignaler
AU2011200509A AU2011200509B2 (en) 2006-11-02 2011-02-07 Device and method for postprocessing spectral values and encoder and decoder for audio signals
NO20171179A NO343261B1 (no) 2006-11-02 2017-07-14 System og metode for etterbehandling av spektrale verdier, koder og dekoder for lydsignaler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006051673A DE102006051673A1 (de) 2006-11-02 2006-11-02 Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale

Publications (1)

Publication Number Publication Date
DE102006051673A1 true DE102006051673A1 (de) 2008-05-15

Family

ID=38962597

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102006051673A Ceased DE102006051673A1 (de) 2006-11-02 2006-11-02 Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale
DE602007010721T Active DE602007010721D1 (de) 2006-11-02 2007-09-28 Vorrichtung und verfahren zur nachbearbeitung von spektralwerten sowie kodiergerät und dekodiergerät für audiosignale

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE602007010721T Active DE602007010721D1 (de) 2006-11-02 2007-09-28 Vorrichtung und verfahren zur nachbearbeitung von spektralwerten sowie kodiergerät und dekodiergerät für audiosignale

Country Status (22)

Country Link
US (1) US8321207B2 (de)
EP (2) EP2264699B1 (de)
JP (1) JP5301451B2 (de)
KR (1) KR101090541B1 (de)
CN (1) CN101553870B (de)
AT (1) ATE489703T1 (de)
AU (2) AU2007315373B2 (de)
BR (1) BRPI0716308B1 (de)
CA (1) CA2668056C (de)
DE (2) DE102006051673A1 (de)
ES (2) ES2720871T3 (de)
HK (1) HK1120328A1 (de)
IL (1) IL198192A (de)
MX (1) MX2009004639A (de)
MY (2) MY156427A (de)
NO (2) NO341615B1 (de)
PL (2) PL2264699T3 (de)
PT (1) PT2264699T (de)
RU (1) RU2423740C2 (de)
TR (1) TR201903942T4 (de)
TW (1) TWI350068B (de)
WO (1) WO2008052627A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395033B (zh) * 2006-12-12 2014-08-27 弗劳恩霍夫应用研究促进协会 对表示时域数据流的数据段进行编码和解码的编码器、解码器以及方法
EP2099027A1 (de) * 2008-03-05 2009-09-09 Deutsche Thomson OHG Verfahren und Vorrichtung zur Umwandlung zwischen verschiedenen Filterbankdomänen
BRPI0910783B1 (pt) * 2008-07-11 2024-02-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V Aparelho e método para codificar/decodificar um sinal de áudio utilizando um esq de transferência allastng
ES2534972T3 (es) 2011-02-14 2015-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Predicción lineal basada en esquema de codificación utilizando conformación de ruido de dominio espectral
WO2012110478A1 (en) * 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Information signal representation using lapped transform
CA2827249C (en) 2011-02-14 2016-08-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
PT3239978T (pt) 2011-02-14 2019-04-02 Fraunhofer Ges Forschung Codificação e descodificação de posições de pulso de faixas de um sinal de áudio
MX2013009304A (es) 2011-02-14 2013-10-03 Fraunhofer Ges Forschung Aparato y metodo para codificar una porcion de una señal de audio utilizando deteccion de un transiente y resultado de calidad.
US9135929B2 (en) 2011-04-28 2015-09-15 Dolby International Ab Efficient content classification and loudness estimation
JP2015525374A (ja) * 2012-06-04 2015-09-03 サムスン エレクトロニクス カンパニー リミテッド オーディオ符号化方法及びその装置、オーディオ復号化方法及びその装置、並びにそれを採用するマルチメディア機器
RU2626666C2 (ru) * 2013-02-20 2017-07-31 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ формирования кодированного сигнала или декодирования кодированного аудиосигнала с использованием участка с множественным перекрытием
EP2830058A1 (de) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frequenzbereichsaudiocodierung mit Unterstützung von Transformationslängenschaltung
CN105556601B (zh) 2013-08-23 2019-10-11 弗劳恩霍夫应用研究促进协会 用于使用交叠范围中的组合来处理音频信号的装置及方法
PL3069338T3 (pl) 2013-11-13 2019-06-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder do kodowania sygnału audio, system przesyłania audio i sposób określania wartości korekcji
JP6700507B6 (ja) * 2014-06-10 2020-07-22 エムキューエー リミテッド オーディオ信号のデジタルカプセル化
JP6641018B2 (ja) * 2016-01-22 2020-02-05 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン チャネル間時間差を推定する装置及び方法
US10448053B2 (en) * 2016-02-15 2019-10-15 Qualcomm Incorporated Multi-pass non-separable transforms for video coding
US10349085B2 (en) 2016-02-15 2019-07-09 Qualcomm Incorporated Efficient parameter storage for compact multi-pass transforms
US10390048B2 (en) 2016-02-15 2019-08-20 Qualcomm Incorporated Efficient transform coding using optimized compact multi-pass transforms
EP3382701A1 (de) * 2017-03-31 2018-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zur nachbearbeitung eines audiosignals mit prädiktionsbasierter formung

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59008047D1 (de) 1989-03-06 1995-02-02 Bosch Gmbh Robert Verfahren zur Datenreduktion bei digitalen Tonsignalen und zur genäherten Rückgewinnung der digitalen Tonsignale.
SE9700772D0 (sv) 1997-03-03 1997-03-03 Ericsson Telefon Ab L M A high resolution post processing method for a speech decoder
US6131084A (en) 1997-03-14 2000-10-10 Digital Voice Systems, Inc. Dual subframe quantization of spectral magnitudes
EP0993733B1 (de) 1998-04-09 2013-06-19 Koninklijke Philips Electronics N.V. Verlustfreie kodierung/dekodierung in einem übertragungssystem
CN1146130C (zh) 1998-05-27 2004-04-14 微软公司 输入信号处理系统的编码器和屏蔽频信号量化噪声方法
JP4263412B2 (ja) * 2002-01-29 2009-05-13 富士通株式会社 音声符号変換方法
JP4290917B2 (ja) 2002-02-08 2009-07-08 株式会社エヌ・ティ・ティ・ドコモ 復号装置、符号化装置、復号方法、及び、符号化方法
DE10217297A1 (de) * 2002-04-18 2003-11-06 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
US7275036B2 (en) * 2002-04-18 2007-09-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding a time-discrete audio signal to obtain coded audio data and for decoding coded audio data
JP4238535B2 (ja) * 2002-07-24 2009-03-18 日本電気株式会社 音声符号化復号方式間の符号変換方法及び装置とその記憶媒体
DE10234130B3 (de) 2002-07-26 2004-02-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer komplexen Spektraldarstellung eines zeitdiskreten Signals
DE10236694A1 (de) * 2002-08-09 2004-02-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren
JP4292767B2 (ja) 2002-09-03 2009-07-08 ソニー株式会社 データレート変換方法及びデータレート変換装置
US7318027B2 (en) 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
JP4849466B2 (ja) 2003-10-10 2012-01-11 エージェンシー フォー サイエンス, テクノロジー アンド リサーチ デジタル信号をスケーラブルビットストリームにエンコードする方法、及びスケーラブルビットストリームをデコードする方法
DE102004021403A1 (de) 2004-04-30 2005-11-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalverarbeitung durch Modifikation in der Spektral-/Modulationsspektralbereichsdarstellung
CN1950883A (zh) 2004-04-30 2007-04-18 松下电器产业株式会社 可伸缩性解码装置及增强层丢失的隐藏方法
US8843378B2 (en) 2004-06-30 2014-09-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Multi-channel synthesizer and method for generating a multi-channel output signal
EP1883067A1 (de) * 2006-07-24 2008-01-30 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung für verlustfreie Kodierung eines Quellsignals, unter Benutzung eines verlustbehafteten kodierten Datenstroms und eines verlustfreien Erweiterungsdatenstroms.
EP1903559A1 (de) * 2006-09-20 2008-03-26 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Transkodierung von Tonsignalen
US20100114581A1 (en) * 2006-10-06 2010-05-06 Te Li Method for encoding, method for decoding, encoder, decoder and computer program products

Also Published As

Publication number Publication date
EP2264699B1 (de) 2018-12-19
RU2009117571A (ru) 2010-12-10
US20100017213A1 (en) 2010-01-21
EP1964111B1 (de) 2010-11-24
AU2011200509B2 (en) 2011-12-08
AU2007315373A1 (en) 2008-05-08
HK1120328A1 (en) 2009-03-27
ES2720871T3 (es) 2019-07-25
TR201903942T4 (tr) 2019-04-22
RU2423740C2 (ru) 2011-07-10
MX2009004639A (es) 2009-06-26
EP2264699A2 (de) 2010-12-22
CN101553870A (zh) 2009-10-07
TWI350068B (en) 2011-10-01
PL1964111T3 (pl) 2011-05-31
IL198192A (en) 2014-05-28
AU2007315373A8 (en) 2009-06-11
AU2011200509A1 (en) 2011-03-03
PT2264699T (pt) 2019-04-02
NO20092125L (no) 2009-05-29
PL2264699T3 (pl) 2019-06-28
NO343261B1 (no) 2019-01-14
WO2008052627A1 (en) 2008-05-08
AU2007315373B2 (en) 2011-03-17
US8321207B2 (en) 2012-11-27
CA2668056C (en) 2014-07-29
MY181471A (en) 2020-12-22
EP2264699A3 (de) 2012-10-10
MY156427A (en) 2016-02-26
JP2010508550A (ja) 2010-03-18
JP5301451B2 (ja) 2013-09-25
CN101553870B (zh) 2012-07-18
BRPI0716308A8 (pt) 2019-01-15
BRPI0716308B1 (pt) 2020-10-06
IL198192A0 (en) 2009-12-24
KR20090085047A (ko) 2009-08-06
CA2668056A1 (en) 2008-05-08
NO20171179A1 (no) 2009-05-29
DE602007010721D1 (de) 2011-01-05
BRPI0716308A2 (pt) 2015-05-19
NO341615B1 (no) 2017-12-11
EP1964111A1 (de) 2008-09-03
KR101090541B1 (ko) 2011-12-08
ES2354743T3 (es) 2011-03-17
TW200836492A (en) 2008-09-01
ATE489703T1 (de) 2010-12-15

Similar Documents

Publication Publication Date Title
DE102006051673A1 (de) Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale
EP1495464B1 (de) Vorrichtung und verfahren zum codieren eines zeitdiskreten audiosignals und vorrichtung und verfahren zum decodieren von codierten audiodaten
DE19747132C2 (de) Verfahren und Vorrichtungen zum Codieren von Audiosignalen sowie Verfahren und Vorrichtungen zum Decodieren eines Bitstroms
EP1502255B1 (de) Vorrichtung und verfahren zum skalierbaren codieren und vorrichtung und verfahren zum skalierbaren decodieren eines audiosignales
EP0954909B1 (de) Verfahren zum codieren eines audiosignals
DE19811039B4 (de) Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen
EP2022043B1 (de) Informationssignalcodierung
EP1145227B1 (de) Verfahren und vorrichtung zum verschleiern eines fehlers in einem codierten audiosignal und verfahren und vorrichtung zum decodieren eines codierten audiosignals
DE602004005197T2 (de) Vorrichtung und verfahren zum kodieren eines audiosignals und vorrichtung und verfahren zum dekodieren eines kodierten audiosignals
DE4320990B4 (de) Verfahren zur Redundanzreduktion
EP1397799B1 (de) Verfahren und vorrichtung zum verarbeiten von zeitdiskreten audio-abtastwerten
DE10200653B4 (de) Skalierbarer Codierer, Verfahren zum Codieren, Decodierer und Verfahren zum Decodieren für einen skalierten Datenstrom
EP1687810B1 (de) Vorrichtung und verfahren zum ermitteln einer quantisierer-schrittweite
WO2005006624A2 (de) Vorrichtung und verfahren zum umsetzen in eine transformierte darstellung oder zum inversen umsetzen der transformierten darstellung
WO2005033965A1 (de) Vorrichtung und verfahren zum verarbeiten von wenigstens zwei eingangswerten
WO1999017587A1 (de) Verfahren und vorrichtung zum codieren eines zeitdiskreten stereosignals
DE19743662A1 (de) Verfahren und Vorrichtung zur Erzeugung eines bitratenskalierbaren Audio-Datenstroms
EP1277346B1 (de) Vorrichtung und Verfahren zum Analysieren der spektralen Darstellung eines decodierten Zeitsignales
DE102020210917B4 (de) Verbesserter M/S-Stereo-Codierer und -Decodierer
EP0905918A2 (de) Verfahren und Vorrichtung zum Kodieren von Audiosignalen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final