[go: up one dir, main page]

DE69924431T2 - Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung - Google Patents

Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung Download PDF

Info

Publication number
DE69924431T2
DE69924431T2 DE69924431T DE69924431T DE69924431T2 DE 69924431 T2 DE69924431 T2 DE 69924431T2 DE 69924431 T DE69924431 T DE 69924431T DE 69924431 T DE69924431 T DE 69924431T DE 69924431 T2 DE69924431 T2 DE 69924431T2
Authority
DE
Germany
Prior art keywords
smr
units
unit
bits
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69924431T
Other languages
English (en)
Other versions
DE69924431D1 (de
Inventor
Sua Hong Neo
Sheng Mei Shen
Ah Peng Tan
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69924431D1 publication Critical patent/DE69924431D1/de
Application granted granted Critical
Publication of DE69924431T2 publication Critical patent/DE69924431T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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
    • G10L19/032Quantisation or dequantisation of spectral components

Landscapes

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

Description

  • 1. GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zur dynamischen Bitzuweisung für Audiokodierung und insbesondere auf eine Vorrichtung und ein Verfahren zur dynamischen Bitzuweisung für Audiokodierung zum Verschlüsseln digitaler Audiosignale, um effiziente Informationsdaten zu generieren, um digitale Audiosignale über eine digitale Übertragungsleitung zu übertragen oder um digitale Audiosignale in einem digitalen Speichermedium oder Aufnahmemedium zu speichern.
  • 2. BESCHREIBUNG DES STANDES DER TECHNIK
  • Seit der letzten Einführung digitaler Audiokompressionsalgorithmen sind einige dieser Algorithmen in Verbraucheranwendungen eingesetzt worden. Ein typisches Beispiel ist der ATRAC-Algorithmus, der in Mini-Disc-Produkten verwendet wird. Dieser Algorithmus wird in Kapitel 10 der Mini-Disc-Systembeschreibung im "Rainbow Book" von Sony vom September 1992 beschrieben. Der ATRAC-Algorithmus gehört zu einer Klasse von Hybridkodierschemata, die sowohl Unterband- als auch Transformierungskodieren verwendet.
  • 21 ist ein Blockdiagramm, das einen Aufbau eines ARTAC-Kodierers 100a zeigt, der mit einem Modul 109a zur dynamischen Bitzuweisung ausgestattet ist, um einen Prozess zur dynamischen Bitzuweisung entsprechend des Standes der Technik durchzuführen.
  • Bezug nehmend auf 21 wird ein eingehendes, analoges Audiosignal zunächst von analoger in digitale Form durch einen A/D-Wandler 112 mit einer bestimmten Abtastfrequenz gewandelt, um in Rahmen (frames) mit jeweils 512 Audioabtastwerten (Audioabtastwerte-Daten) unterteilt zu werden. Jeder Rahmen der Audioabtastwerte wird dann in ein QMF-Analysefiltermodul 111 eingegeben, das eine Zwei-Ebenen-QMF-Analysefilterung ausführt. Das QMF-Analysefiltermodul 111 umfasst ein QMF-Filter 101, ein QMF-Filter 102 und ein QMF-Filter 103. Das QMF-Filter 102 trennt ein Audiosignal mit 512 Audioabtastwerten in zwei Unterbandsignale (Hochband und Mittel-/Tiefband) mit je einer gleichen Anzahl (256) von Audioabtastwerten auf, und das Mittel-/Tiefunterbandsignal wird weiterhin durch das QMF-Filter 103 in zwei Unterbandsignale (Mittelband und Tiefband) aufgetrennt, die eine weitere gleiche Anzahl (128) von Audioabtastwerten aufweisen. Das Hochunterbandsignal wird durch ein Verzögerungsglied 102 um eine Zeit verzögert, die für den Prozess des QMF-Filters 103 benötigt wird, so dass das Hochunterbandsignal mit dem Mittelunterbandsignal und dem Tiefunterbandsignal in den Unterbandsignalen individueller Frequenzbänder synchronisiert wird, die von dem QMF-Analysefiltermodul 111 ausgegeben werden.
  • Anschließend bestimmt das Blockgrößenbestimmungsmodul 104 individuelle Blockgrößenmodi der MDCT (modifizierte diskrete Cosinustransformation) Module 105, 106 und 107, welche jeweils für die drei Unterbandsignale verwendet werden. Die Blockgröße wird entweder auf Langblock mit einem bestimmten längeren Zeitintervall oder Kurzblock mit einem bestimmten kürzeren Zeitintervall festgelegt. Wenn ein Einfallssignal mit einem abrupt hohen Level des spektralen Amplitudenwertes erfasst wird, wird der Kurzblockmodus ausgewählt. Alle MDCT Spektrallinien werden in 52 Frequenzbereichsbänder gruppiert. Nachfolgend wird auf Frequenzbereichsbänder als "Einheit" Bezug genommen. Die Gruppierung wird so durchgeführt, dass jede der tieferen Frequenzeinheiten im Vergleich zu jeder höherfrequenten Einheit eine kleinere Anzahl von Spektrallinien aufweist.
  • Dieses Gruppieren der Einheiten wird in Abhängigkeit von einem kritischen Band ausgeführt. Der Begriff "kritisches Band" oder "kritische Bandbreite" bezieht sich auf ein Band, das bezogen auf die Frequenzachse uneinheitlich ist, die für die Verarbeitung von Rauschen durch den menschlichen Hörsinn verwendet wird, wobei sich die kritische Bandbreite mit zunehmender Frequenz erhöht, wobei beispielsweise die Frequenzbreite für 150 Hz 100 Hz, für 1 KHz 160 Hz, für 4 KHz 700 Hz und für 10,5 KHz 2,5 KHz beträgt.
  • Ein Skalierungsfaktor SF[n], der einen Level jeder Einheit zeigt, wird in einem Skalierungsfaktormodul 108 errechnet, indem in einer bestimmten Tabelle der kleinste Wert aus Werten, die größer als die maximale Spektrallinienamplitude der Einheit sind, ausgewählt wird. In einem dynamischen Modul 109a für dynamische Bitzuweisung wird eine Wortlänge WL[n] erfasst, welche die Anzahl der zugewiesenen Bits zum Quantisieren jedes spektralen Abtastwerts einer Einheit ist. Schließlich werden die Spektralabtastwerte der Einheiten in einem Quantisierungsmodul 110 quantisiert unter der Verwendung von Nebeninformationen, die den Skalierungsfaktor SF[n] und die Wortlänge WL[n] der Bitzuweisungsdaten umfassen, und dann werden Audiospektraldaten ASD[n] ausgegeben.
  • Das Modul 109a zur dynamischen Bitzuweisung spielt eine entscheidende Rolle sowohl für das Festlegen der Klangqualität des kodierten Audiosignals als auch für die Implementierungskomplexität. Einige der bestehenden Verfahren machen Gebrauch von der Varianz des Spektrallevels der Einheit, um die Bitzuweisung auszuführen. Bei dem Bitzuweisungsprozess wird zunächst die Einheit mit der größten Varianz gesucht und dann ein Bit der Einheit zugewiesen. Die Varianz des Spektrallevels dieser Einheit wird dann um einen bestimmten Faktor reduziert. Dieser Prozess wird wiederholt, bis sämtliche für die Bitzuweisung verfügbaren Bits aufgebraucht sind. Dieses Verfahren ist hochgradig iterativ und verbraucht eine Menge Rechenleistung. Darüber hinaus macht es die fehlende Ausnutzung des psychoakustischen Maskierphänomens (psychoacoustic masking phenomenon) für dieses Verfahren schwierig, gute Klangqualität zu erreichen. Andere Verfahren, wie die, die in dem ISO/IEC 11172-3 MPEG Audiostandard verwendet werden, verwenden ein sehr kompliziertes psychoakustisches Modell und ebenso einen iterativen Bitzuweisungsprozess.
  • Dem Fachmann ist bekannt, dass etablierte digitale Audiokompressionssysteme wie der MPEG1-Audiostandard von einem psychoakustischen Modell des menschlichen Gehörs Verwendung machen, um einen absoluten Grenzwert der Maskierwirkung einzuschätzen, bei dem Quantisierungsrauschen unhörbar gemacht wird, wenn das Quantisierungsrauschen unter dem absoluten Grenzwert gehalten wird. Obwohl zwei psychoakustische Modelle durch MPEG1-Audiostandards vorgeschlagen werden, um eine gute Klangqualität zu erreichen, so sind diese Modelle viel zu kompliziert, um in preiswerten LSIs für Verbraucheranwendungen implementiert zu werden. Hieraus entsteht Bedarf für eine vereinfachte Maskiergrenzwertberechnung.
  • In dem US-Patent US-A-5,721,806 ist eine dynamische Bitzuweisung für einen MPEG-Kodierer offenbart. Um ein Verfahren zu erreichen, um MPEG-Audiodaten eine optimale Menge von Bits bei einer hohen Geschwindigkeit zuzuweisen, wird ein Signal-Maskier-Verhältnis, das durch ein psychoakustisches Modell erhalten wurde, durch 6 geteilt und der resultierende ganzzeilige Quotient wird als Speicherfeldzeiger festgelegt. Eine zulässige Bitzuweisungsmenge wird bei einer hohen Geschwindigkeit entsprechend des festgelegten Speicherfeldzeigers erhalten. Die erhaltene zulässige Bitzuweisungsmenge wird mit einer festen Bitzuweisungsmenge verglichen. Eine optimale Bitzuweisungsmenge wird entsprechend des Vergleichsergebnisses erhalten. Deshalb kann entsprechend der vorliegenden Erfindung die optimale Bitzuweisungsmenge zu den MPEG-Audiodaten bei der hohen Geschwindigkeit ohne unnötige Schleifenwiederholung erreicht werden, indem das Signal-Maskier-Verhältnis, dass durch das psychoakustische Modell erhalten wird, verwendet wird.
  • B. Tang et al. offenbaren in "A Perceptually Based Embedded Subband Speech Coder", IEEE Transactions on Speech and Audio Processing, Vol. 5, No. 2, März 1997, ein neues Schema für robuste, hochqualitative, integrierte Spachkodierung, die auf Unterbandzerlegung aufbaut, und wahrnehmbar optimierte Bitzuweisung und Priorisierung wird gezeigt. Ein Wahrnehmungsmodell, das unter der Verwendung von Unterbandspektralanalyse rechnet, optimiert die spürbare Qualität des Kodierers. Dynamische Bitzuweisung und Priorisierung wird mit integrierter Quantisierung kombiniert und führt zu kleiner Verschlechterung der Güte im Verhältnis zu einer nicht integrierten Implementierung. Der Kodierausgang ist von hoher Qualität bei höheren Bitraten bis zu niedriger Qualität bei geringeren Bitraten skalierbar und unterstützt dabei einen weiten Bereich von Betriebseinsatz und Ressourcenausnutzung.
  • Die europäische Patentanmeldung EP 0 805 564 A2 offenbart einen digitalen Kodierer mit dynamischer Quantisierungsbitzuweisung. Bei dem Dekoder wird ein digitales Eingangssignal, das für das analoge Signal steht, in drei Frequenzbereiche unterteilt. Das Digitalsignal jedes Frequenzbereichs wird nach der Zeit in Rahmen unterteilt, wobei dessen Zeitdauer adaptiv verändert werden kann. Die Rahmen werden orthogonal in Spektralkoeffizienten transformiert, die in kritische Bänder gruppiert werden. Die Gesamtanzahl der Bits, die zum Quantisieren der Spektralkoeffizienten verfügbar sind, wird unter den kritischen Bändern aufgeteilt. Bei einer ersten Ausführungsform und einer zweiten Ausführungsform werden feste Bits unter den kritischen Bändern aufgeteilt, entsprechend eines aus einer Mehrzahl von vorbestimmten Bitzuweisungsmustern ausgewählten, und variable Bits werden unter den kritischen Bändern aufgeteilt entsprechend der Energie der kritischen Bänder. Entsprechend einer dritten Ausführungsform werden Bits unter den kritischen Bändern entsprechend eines Rauschumformfaktors aufgeteilt, der entsprechend der Sanftheit des Spektrums des Eingangssignals verändert wird.
  • KURZFASSUNG DER ERFINDUNG
  • Eine wesentliche Aufgabe der vorliegenden Erfindung besteht somit darin, eine Vorrichtung für dynamische Bitzuweisung für Audiokodierung bereitzustellen, die vielseitig für fast sämtliche Audiokompressionssysteme benutzt werden kann und dabei einfach und kostengünstig implementiert wird.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht somit darin, ein Verfahren zur dynamischen Bitzuweisung für Audiokodierung bereitzustellen, das vielseitig für fast alle digitalen Audiokompressionssysteme benutzt werden kann und dabei einfach und preiswert implementiert wird.
  • Um die vorgenannte Aufgabe entsprechend der vorliegenden Erfindung zu erreichen, wird eine Vorrichtung und ein Verfahren zur dynamischen Bitzuweisung für Audiokodierung bereitgestellt, wie in Anspruch 1 und 11 beansprucht.
  • Bei der oben angeführten Vorrichtung und Verfahren wird in dem Spitzenenergieberechnungsschritt die Spitzenenergie jeder Einheit bevorzugt durch Ausführen einer bestimmten Approximation berechnet, bei der eine Amplitude des größten Spektralkoeffizienten innerhalb jeder Einheit durch einen Skalierungsfaktor entsprechend der Amplitude und unter Benutzung einer bestimmten Skalierfaktortabelle ersetzt wird.
  • Bei der oben erwähnten Vorrichtung und Methode beinhaltet in dem Maskierwirkungsberechnungsschritt das bestimmte vereinfachte Simultanmaskierwirkmodell bevorzugt ein Hochbandseitenmaskierwirkmodell, um zum Maskieren eines Audiosignals von Einheiten, die in der Frequenz höher sind als die maskierten Einheiten, benutzt zu werden, und ein Tiefbandseitenmaskierwirkmodell, das in der Frequenz tiefer ist als die maskierten Einheiten, und
    wobei ein Absolutgrenzwert, der schließlich für jede der maskierten Einheiten ermittelt wird, bevorzugt eingestellt wird auf einen Maximumwert aus den eingestellten Absolutgrenzwerten der abgedeckten Einheiten und der simultanen Maskierwirkung, die durch das simultane Maskierwirkmodell bestimmt wird.
  • Bei der oben erwähnten Vorrichtung und dem Verfahren wird in dem SMR-Berechnungsschritt der SMR jeder Einheit bevorzugt durch Subtrahieren des eingestellten Absolutgrenzwerts von der Spitzenenergie der Einheit in Dezibel (dB) berechnet.
  • Bei der oben erwähnten Vorrichtung und dem Verfahren wird in dem SMR-Offsetberechnungsschritt der SMR-Offset bevorzugt berechnet durch Berechnen eines Anfangs-SMR-Offsets in Abhängigkeit von den auf ganze Stellen abgeschnittenen SMRs aller Einheiten, der SMR-Redunktionsschrittweite und der Anzahl für die Bitzuweisung verfügbarer Bits, und wobei anschließend ein bestimmter iterativer Prozess ausgehend von dem berechneten Anfangs-SMR-Offset ausgeführt wird.
  • Bei der oben genannten Vorrichtung und dem Verfahren umfasst der iterative Prozess vorzugsweise die folgenden Schritte:
    Entfernen von Einheiten mit einem SMR, das kleiner als der Anfangs-SMR-Offset ist, aus der Berechnung des SMR-Offsets; und
    iteratives Neuberechnen des SMR-Offsets in Abhängigkeit von den auf ganze Zahlen abgeschnittenen SMRs der verbleibenden Einheiten, der SMR-Reduktionsschrittweiten und der Anzahl für die Bitzuweisung verfügbarer Bits, bis SMRs aller in der SMR-Offsetberechnung involvierten Einheiten größer werden als der schließlich ermittelte SMR-Offset, um dadurch sicherzustellen, dass keine Zuweisung jeglicher negativer Bitanzahl auftritt.
  • Bei der oben genannten Vorrichtung und dem Verfahren wird bei dem Bandbreitenberechnungsschritt die Bandbreite bevorzugt durch Entfernen nachfolgender Einheiten von bestimmten Einheiten berechnet, wenn Einheiten mit einem SMR, das kleiner als der SMR-Offset ist, aufeinanderfolgend vorliegen, und
    wobei die Anzahl der Bits entsprechend der entfernten Einheiten bevorzugt zur Anzahl der verfügbaren Bits addiert wird, um die Anzahl der verfügbaren Bits zu aktualisieren, und wobei das Aktualisieren des SMR-Offsets in Abhängigkeit von der aktualisierten Anzahl der verfügbaren Bits ausgeführt wird.
  • Bei der oben erwähnten Vorrichtung und dem Verfahren ist bei dem Abtastwertbitberechnungsschritt die Anzahl der Abtastwertbits jeder Einheit bevorzugt ein Wert, der erhalten wird durch Subtrahieren des SMR-Offsets von dem SMR jeder Einheit, Dividieren des Subtraktionsergebnisses durch die SMR-Reduktionsschrittweite, und anschließend Abschneiden des Divisionsergebnisses auf ganze Zahlen; und
    wobei die Bitzuweisung für Einheiten mit einem SMR, das kleiner als der SMR-Offset ist, unterdrückt wird.
  • Bei der oben genannten Vorrichtung und dem Verfahren werden in dem Restbitzuweisungsschritt bevorzugt bestimmte erste und zweite Ausführungsprozesse zum Zuweisen der Anzahl der Restbits ausgeführt;
    bei dem ersten Ausführungsprozess wird ein Bit Einheiten zugewiesen, von denen jede ein SMR hat, das größer als der SMR-Offset ist, aber denen wegen des Abschneidens auf ganze Zahlen in dem Abtastwertbitberechnungsschritt keine Bits zugewiesen wurden; und
    in dem zweiten Ausführungsprozess wird ein Bit den Einheiten zugewiesen, denen je eine Anzahl von Bits zugewiesen wurde, die nicht die maximale Anzahl von Bits, aber eine mehrfache Anzahl von Bits ist.
  • Bei der oben genannten Vorrichtung und dem Verfahren werden in dem Restbitzuweisungsschritt bevorzugt die ersten und zweiten Durchführungsprozesse ausgeführt, während die Einheit von der höchsten Frequenzeinheit zur tiefsten Frequenzeinheit durchlaufen wird.
  • Entsprechend kann die vorliegende Erfindung für fast alle digitalen Audiokompressionssysteme eingesetzt werden. Insbesondere kann bei Verwendung in dem ATRAC-Algorithmus eine Sprache mit bemerkenswert hoher Klangqualität generiert werden, während die Bitzuweisung dynamisch, merklich wirksam und effizient ausgeführt werden kann. Weiterhin weist der vorliegende Bitzuweisungsprozess im Vergleich zum Stand der Technik eine verhältnismäßig geringe Implementierungskomplexität auf, und eine preiswerte LSI-Implementierung eines Audiokodierers kann ausgeführt werden, indem der verbesserte ATRAC-Kodierer der vorliegenden Erfindung verwendet wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und weitere Aufgaben und Merkmale der vorliegenden Erfindung werden aus den folgenden Beschreibungen klar werden, wenn sie im Zusammenhang gesehen werden mit den bevorzugten Ausführungsformen davon und unter Bezugnahme auf die begleitenden Zeichnungen, bei denen gleiche Teile mit gleichen Bezugszeichen bezeichnet sind und bei denen:
  • 1 ein Blockdiagramm ist, das in einer bevorzugten Ausführungsform entsprechend der vorliegenden Erfindung eine Konfiguration des ATRAC-Kodierers 100 zeigt, der mit dem dynamischen Bitzuweisungsmodul 109 ausgestattet ist, um einen dynamischen Bitzuweisungsprozess auszuführen;
  • 2 ein Flussdiagramm ist, das einen ersten Bereich des dynamischen Bitzuweisungsprozesses zeigt, der durch das dynamische Bitzuweisungsmodul 109 der 1 auszuführen ist;
  • 3 ein Flussdiagramm ist, das einen zweiten Bereich des dynamischen Bitzuweisungsprozesses zeigt, der durch das dynamische Bitzuweisungsmodul 109 der 1 auszuführen ist;
  • 4 ein Flussdiagramm ist, das einen ersten Bereich eines Absolutgrenzwerteinstellprozesses (S203) für den Kurzblock zeigt, welcher eine Unterroutine zu 2 bildet;
  • 5 ein Flussdiagramm ist, das einen zweiten Bereich des Absolutgrenzwerteinstellprozesses (S203) für den Kurzblock zeigt, welcher eine Unterroutine zu 2 ist;
  • 6 ein Flussdiagramm ist, das einen ersten Bereich eines Oberschleifenmaskierwirkungsberechnungsprozesses (Step S206) zeigt, welcher eine Unterroutine zu 2 bildet;
  • 7 ein Flussdiagramm ist, das einen zweiten Bereich eines Oberschleifenmaskierwirkungsberechnungsprozesses (Step S206) zeigt, welcher eine Unterroutine von 2 ist;
  • 8 ein Flussdiagramm ist, das einen ersten Bereich eines Unterschleifenmaskierwirkungsberechnungsprozesses (Step S207) zeigt, welcher eine Unterroutine von 2 bildet;
  • 9 ein Flussdiagramm ist, das einen zweiten Bereich des Unterschleifenmaskierwirkungsberechnungsprozesses (Step S207) zeigt, welcher eine Unterroutine zu 2 bildet;
  • 10 ein Flussdiagramm ist, das einen ersten Bereich eines SMR-Offsetberechnungsprozesses (S211) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 11 ein Flussdiagramm ist, das einen zweiten Bereich des SMR-Offsetberechnungsprozesses (S211) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 12 ein Flussdiagramm ist, das einen ersten Bereich eines Bandbreitenberechnungsprozesses (S212) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 13 ein Flussdiagramm ist, das einen zweiten Bereich des Bandbreitenberechnungsprozesses (S212) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 14 ein Flussdiagramm ist, das einen ersten Bereich eines Abtastwertbitberechnungsprozesses (S213) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 15 ein Flussdiagramm ist, das einen zweiten Bereich des Abtastwertbitberechnungsprozesses (S213) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 16 ein Flussdiagramm ist, das einen ersten Bereich eines Restbitzuweisungsprozesses (214) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 17 ein Flussdiagramm ist, das einen zweiten Bereich des Restbitzuweisungsprozesses (S214) zeigt, welcher eine Unterroutine zu 3 bildet;
  • 18 ein Graph ist, der eine Oberschleifenmaskierwirkungsberechnung des Maskierwirkungsberechnungsschritts der 6 und 7 zeigt, wobei der Graph einen Zusammenhang zwischen der Spitzenenergie (dB) und einer kritischen Bandbreite (Bark) zeigt;
  • 19 ein Graph ist, der eine Unterschleifenmaskierwirkungsberechnung des Maskierwirkungsberechnungsschrittes der 8 und 9 zeigt, wobei der Graph einen Zusammenhang zwischen einer Spitzenenergie (dB) und einer kritischen Bandbreite (Bark) zeigt;
  • 20 ein Graph ist, der eine Bitzuweisung zeigt, die das SMR und den SMR-Offset des Abtastwertbitberechnungsprozesses der 14 und 15 verwendet, wobei der Graph einen Zusammenhang zwischen dem SMR (dB) und der Anzahl der Spektrallinien/SMR-Reduktionsschritt (dB–1) zeigt; und
  • 21 ein Blockdiagramm ist, das eine Konfiguration eines ATRAC-Kodierers 100a gemäß dem Stand der Technik zeigt, der mit einem dynamischen Bitzuweisungsmodul 109a zum Ausführen eines dynamischen Bitzuweisungsprozesses ausgestattet ist.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend werden bevorzugte Ausführungsformen entsprechend der vorliegenden Erfindung unter Bezugnahme auf die begleitenden Zeichnungen beschrieben werden.
  • 1 ist ein Blockdiagramm eines ATRAC-Kodierers 100 einer bevorzugten Ausführungsform entsprechend der vorliegenden Erfindung, der mit einem dynamischen Bitzuweisungsmodul 109 ausgestattet ist, um den dynamischen Bitzuweisungsprozess auszuführen. Die vorliegende bevorzugte Ausführungsform ist dadurch gekennzeichnet, dass das dynamische Bitzuweisungsmodul 109a des ATRAC-Kodierers 100a des Standes der Technik, wie in 21 gezeigt, gegen das dynamische Bitzuweisungsmodul 109 getauscht ist, dessen dynamischer Bitzuweisungsprozess sich von dem des dynamischen Bitzuweisungsmoduls 109a unterscheidet.
  • Obwohl der dynamische Bitzuweisungsprozess der vorliegenden bevorzugten Ausführungsform anhand des ATRAC-Algorithmus als ein Beispiel einer bevorzugten Ausführungsform nachfolgend beschrieben wird, kann die vorliegende bevorzugte Ausführungsform ebenso auf andere Audiokodieralgorithmen angewendet werden.
  • Die vorliegende bevorzugte Ausführungsform entsprechend der vorliegenden Erfindung umfasst die folgenden Schritte:
    • (a) einen Prozess des Berechnens der Spitzenenergie aller Einheiten durch Verwendung von Skalierungsfaktorindizes;
    • (b) einen Prozess des Einstellens des Absolutgrenzwerts, wenn die Kurzblock MDCT verwendet wird;
    • (c) einen Prozess des Berechnens der Oberschleifenmaskierwirkung und der Unterschleifenmaskierwirkung mit den Spitzenenergien der Einheiten;
    • (d) einen Prozess des Berechnens der Signal-Maskier-Verhältnisse (auf die nachfolgend als SMRs Bezug genommen wird) aller Einheiten;
    • (e) einen Prozess des Addierens eines Dummy Offsets zu allen SMRs, so dass die SMRs positiv werden;
    • (f) einen Prozess des Berechnens des SMR-Offsets;
    • (g) einen Prozess des Berechnens der Bandbreite;
    • (h) einen Prozess des Berechnens der Anzahl der Abtastwertbits, die jeder Einheit in Abhängigkeit von dem SMR und dem SMR-Offset der Einheit zugewiesen werden; und
    • (i) einen Prozess des Zuweisens der Restbits aus der Anzahl der verfügbaren Bits den mehreren ausgewählten Einheiten.
  • Genauer gesagt werden bei der Vorrichtung und dem Verfahren zur dynamischen Bitzuweisung der vorliegenden bevorzugten Ausführungsform für Audiokodierung zum Bestimmen einer Anzahl von Bits, die zum Quantisieren einer Mehrzahl zerlegter Abtastwerte eines digitalen Audiosignals verwendet werden, die Mehrzahl der Abtastwerte in eine Mehrzahl von Einheiten gruppiert, die jede zumindest entweder unterschiedliche Frequenzintervalle oder Zeitintervalle aufweisen, wobei die unterschiedlichen Frequenzintervalle abhängig von einem kritischen Band der menschlichen Hörcharakteristik bestimmt werden und die unterschiedlichen Zeitintervalle ein erstes Zeitintervall und ein zweites Zeitintervall umfassen, das länger als das erste Zeitintervall ist. Die Vorrichtung und das Verfahren umfassen die folgenden Schritte:
    • (a) einen Absolutgrenzwerteinstellschritt zum Einstellen eines Absolutgrenzwertes für jede Einheit, abhängig von einer bestimmten Grenzwertcharakteristik bei Ruhe, die die Hörfähigkeit einer Person bei Ruhe angibt;
    • (b) einen Absolutgrenzwerteinstellschritt zum Einstellen des Absolutgrenzwerts einer Einheit, die das erste Zeitintervall aufweist, indem der Absolut grenzwert der Einheit, die das erste Zeitintervall aufweist, ersetzt wird durch einen minimalen Absolutgrenzwert aus einer Mehrzahl von Einheiten, die das gleiche Frequenzintervall aufweisen;
    • (c) einen Spitzenenergieberechnungsschritt zum Berechnen von Spitzenenergien der Einheiten in Abhängigkeit von der Mehrzahl von Abtastwerten, die in die Mehrzahl von Einheiten gruppiert sind;
    • (d) einen Maskierwirkungsberechnungsschritt zum Berechnen einer Maskierwirkung, welche eine minimale Hörgrenze ist, mit dem vereinfachten simultanen Maskierwirkmodell in Abhängigkeit von einem bestimmten, vereinfachten, simultanen Maskierwirkmodell und einer Spitzenenergie einer maskierten Einheit, wenn alle Einheiten das zweite Zeitintervall aufweisen, und Aktualisieren und Einstellen des Absolutgrenzwerts jeder Einheit mit der berechneten Maskierwirkung;
    • (e) einen Signalmaskierverhältnis(SMR)-Berechnungsschritt zum Berechnen von SMRs der Einheiten in Abhängigkeit von der berechneten Spitzenenergie jeder Einheit und dem berechneten Absolutgrenzwert jeder Einheit;
    • (f) einen Anzahl-verfügbarer-Bits-Berechnungsschritt zum Berechnen der Anzahl für die Bitzuweisung verfügbarer Bits in Abhängigkeit von der Rahmengröße des digitalen Audiosignals unter der Annahme, dass sämtliche zu quantisierende Frequenzbänder sämtliche Einheiten umfassen;
    • (g) einen SMR-Positivumwandlungsschritt zum positiven Umwandeln der SMRs aller Einheiten durch Addieren einer bestimmten positiven Anzahl zu den SMRs aller SMRs, um alle SMRs positiv zu machen;
    • (h) einen SMR-Offsetberechnungsschritt zum Berechnen eines SMR-Offsets, der als ein Offset zum Verringern der positiv umgewandelten SMRs aller Einheiten festgelegt ist, abhängig von den positiv umgewandelten SMRs aller Einheiten, wobei eine SMR-Verringerungsschrittweite abhängig von einer Verbesserung des Signalrauschverhältnisses pro Bit einer bestimmten linearen Quantisierung und der Anzahl verfügbarer Bits bestimmt wird;
    • (i) einen Bandbreitenberechnungsschritt zum Aktualisieren einer Bandbreite, die Einheiten abdeckt, die abhängig von dem berechneten SMR-Offset und den berechneten SMRs der Einheiten zuzuweisende Bits sind, um den SMR-Offset abhängig von der berechneten Bandbreite zu aktualisieren;
    • (j) einen Abtastwertbitberechnungsschritt zum Berechnen eines subtrahierten SMRs durch Subtrahieren des berechneten SMR-Offsets von dem berechneten SMR jeder Einheit, und anschließendes Berechnen der Quantisierung einer Anzahl von Abtastwertbits, die für eine Anzahl von zu jeder Einheit zuzuweisender Bits steht, abhängig von dem subtrahierten SMR jeder Einheit und der SMR-Verringerungsschrittweite; und
    • (k) einen Restbitzuweisungsschritt zum Zuweisen einer Anzahl verbleibender Bits, die sich vom Subtrahieren einer Summe der Anzahl zu allen Einheiten zuzuweisender Abtastwertbits von der berechneten Anzahl verfügbarer Bits ergeben, zu wenigstens Einheiten mit einem SMR, das größer als der SMR-Offset ist.
  • Spitzenenergien aller Einheiten werden anhand ihrer maximalen spektralen Abtastwertdaten bestimmt. Dies kann angenähert werden, indem ihre entsprechenden Skalierungsfaktorindizes verwendet werden und dadurch die Verwendung von Logarithmusfunktionen vermieden werden kann. Die Spitzenenergien werden dann sowohl für das Schätzen des vereinfachten, simultanen Maskierabsolutgrenzwerts als auch zum Berechnen des Signalmaskierverhältnisses (SMR) verwendet. Die Funktion des simultanen Maskiermodells wird durch eine Oberschleife und eine Unterschleife approximiert. Es ist hier zu bemerken, dass für eine Maskierkurve, die für das Spektralsignal einer Frequenz modelliert wird, auf eine Maskierkurve eines Frequenzbereichs, der höher liegt als die Frequenz des Spektralsignals als Oberschleife Bezug genommen wird, und auf eine Maskierkurve eines Frequenzbereichs, der tiefer als die Frequenz des Spektralsignals ist, als Unterschleife Bezug genommen wird. Für den Gradienten der Oberschleifenmaskierwirkung wird angenommen, dass er bei –10dB/Bark liegt, und der die Unterschleife 27 dB/Bark beträgt. Es wird ebenfalls angenommen, dass jede Einheit ein Maskieraudiosignal aufweist (auf das nachfolgend als Maskieren Bezug genommen wird) für dessen Klangkompressionslevel die Spitzenenergie der Einheit ohne Berücksichtigung ihrer Hörcharakteristik steht. Die Maskierwirkung, die ausgeübt wird durch eine Einheit, die ein Maskieraudiosignal aufweist (auf die nachfolgend als Maskiereinheit Bezug genommen wird), als auch durch eine Einheit, die andere Audiosignale aufweist, die durch die Maskiereinheit maskiert werden (auf die nachfolgend als maskierte Einheit Bezug genommen wird) wird aus dem ungünstigsten Abstand berechnet, der als kritische Bandbreite (Bark) zwischen dem maximalen Absolutgrenzwert innerhalb der Maskiereinheit und dem maximalen absoluten Grenzwert der maskierten Einheit ausgedrückt wird, zusammen mit dem Gradienten der Unterschleife oder dem Gradienten der Oberschleife, abhängig davon, ob die maskierte Einheit in einem tieferen bzw. höheren Frequenzbereich als das Maskieraudiosignal liegt.
  • Die simultane Maskierwirkung wird nur angewendet, wenn alle drei Unterbänder eines bestimmten Rahmens durch die MDCT des Langblockmodus transformiert werden. Der Maskierabsolutgrenzwert einer gegebenen Einheit wird ausgewählt aus dem höchsten der Absolutgrenzwerte, dem Tiefbandmaskierabsolutgrenzwert und dem Hochbandmaskierabsolutgrenzwert, welche für die Einheit berechnet werden. In dem Fall, wenn einige oder alle Unterbänder in eine Mehrzahl von Spektrallinien transformiert werden, indem die Kurzblock-MDCT verwendet wird, wird nur der eingestellte Absolutgrenzwert verwendet. Die Einstellung des Absolutgrenzwertes wird wegen eines etwaigen Wechsels der Zeit- und Frequenzauflösung benötigt. Beispielsweise wird, wenn eine Langblock-MDCT durch vier Kurzblock-MDCTs gleicher Länge ersetzt wird, das Frequenzintervall, das von vier Langblockeinheiten überspannt wird, nun von jedem der vier Kurzblockeinheiten abgedeckt. Somit wird der minimale Absolutgrenzwert, der aus den vier Langblockeinheiten ausgewählt wird, benutzt, um für den angepassten Absolutgrenzwert der vier Kurzblockeinheiten zu stehen.
  • Die Bitzuweisungsprozedur setzt einen SMR-Offset ein, um die Zuweisung der Abtastwertbits zu beschleunigen. Vor der Benutzung in SMR-Offsetberechnungen werden die Original-SMRs aller Einheiten über den Nullwert gehoben, indem eine positive Füllzahl zu ihnen addiert wird. Mit den angehobenen SMRs und weiteren Parametern, wie der Anzahl der Spektrallinien innerhalb einer vorgegebenen Einheit und der Anzahl verfügbarer Bits kann der SMR-Offset berechnet werden. Die Bandbreite wird dann aus den SMRs und dem SMR-Offset bestimmt. Lediglich bei den Einheiten mit einem SMR, das größer als der SMR-Offset ist, handelt es sich um zugewiesene Bits. Der Wert der Abtastwertbits, die für die Anzahl von Bits steht, die einer Einheit zugewiesen werden, wird berechnet, indem die Differenz zwischen dem SMR und dem SMR-Offset durch einen SMR-Reduktionsfaktor (oder SMR-Reduktionsschrittweite) dividiert wird. Dieser SMR-Reduktionsfaktor steht in enger Beziehung mit dem verbesserten Wert des Signal-Rausch-Verhältnisses (SNR) in dB jedes Inkrements eines Quantisierungsbits eines linearen Quantisierers, und wird zu 6,02 dB angenommen. Ein Vorgang zum Abschneiden auf ganze Stellen wird auf die berechneten Abtastwertbits angewendet und außerdem werden die Abtastwertbits auf ein Maximumlimit von 16 Bits begrenzt. So bleiben einige Restbits über, selbst wenn einige Bits einigen Einheiten zugewiesen werden. Diese Restbits werden in zwei Durchgängen den Einheiten zurück zugewiesen, die ein SMR aufweisen, das größer als der SMR-Offset ist. Im ersten Durchgang werden zwei Bits Einheiten mit einer Nullbitzuweisung zugewiesen. Im zweiten Durchgang wird ein Bit Einheiten zugewiesen, bei denen die Bitzuweisung zwischen 2 und 15 Bits liegt. Hierdurch wird Bitzuweisung für eine Mehrzahl von Einheiten ausgeführt.
  • Somit ist die vorliegende bevorzugte Ausführungsform dadurch gekennzeichnet, dass bei der Maskierwirkungsberechnung, die komplexe Berechnungen bei dem dynamischen Bitzuweisungsprozess gemäß dem Stand der Technik benötigt, einfach ausgeführt wird, indem vereinfachte, simultane Maskierwirkmodelle verwendet werden. Daraus folgend kann ein effizienter, dynamischer Bitzuweisungsprozess bei hoher Klangqualität und weniger Berechnungen erreicht werden.
  • Bezug nehmend auf 1 arbeiten die Ablaufblöcke, bis auf das dynamische Bitzuweisungsmodul 109, auf die gleiche Art wie die Ablaufblöcke gemäß dem Stand der Technik nach 21.
  • 2 und 3 sind Flussdiagramme, die einen dynamischen Bitzuweisungsprozess zeigen, der durch das dynamische Bitzuweisungsmodul 109 der 1 auszuführen ist.
  • Zunächst werden in einem Initialisierungsprozess des Schrittes S201 in 2 ein Wortlängenindex (WLindex[u]) zum Bezeichnen der Anzahl von Bits, die allen Einheiten u (u = 0, 1, 2, ..., umax – 1) zugewiesen werden, und ein Negativflag (negflag[u]), das bei dem Bitzuweisungsprozess oder dergleichen verwendet wird, jeweils mit Null initialisiert. Es ist hier zu erwähnen, dass umax = 52 bevorzugt verwendet wird.
  • Als Nächstes werden bei einem Absolutgrenzwert-Herunterladeprozess des Schrittes S202 Absolutgrenzwerte der Einheiten, die auch als Grenzwerte bei Ruhe bekannt sind, heruntergeladen, um die Werte qthreshold[u] zu setzen. Gemäß der Literaturstelle des Standes der Technik von E. Zwicker et al., "Psychoacoustics: Facts and Models", Springer Verlag, 1990, wird als absolute Grenzwerte bei Ruhe ein Geräuschdruckpegel von gerade hörbaren klaren Tönen als Funktion der Frequenz gezeigt. In den Audiostandardspezifikationen von MPEG1 wird auf den Grenzwert bei Ruhe ebenso als absoluter Grenzwert Bezug genommen. Der Grenzwert bei Ruhe, der hörbare Grenzwert bei Ruhe und der Maskiergrenzwert bei Ruhe haben sämtlichst dieselbe Bedeutung.
  • Als Nächstes wird bei einem Absolutgrenzwerteinstellprozess für den Kurzblock des Schrittes S203 abhängig davon, ob der Kurzblockmodus aktiviert ist, der absolute Grenzwert eines bestimmten Frequenzbandes nachgestellt. Bei dem Spitzenenergieberechnungsprozess des Schrittes S204 werden Spitzenenergien (peak_energy[u]) sämtlicher Einheiten u (u = 0, 1, 2, ..., umax – 1) durch die folgende Gleichung (1) berechnet: peak_energy[u] = 10 × log10 (max_spectral_amplitude[u])2 [dB] ≈ 10 × log10 (scale_factor[u])2 = (sfindex[u] – 15) × 2.006866638 (1),mit u = 0, 1, 2, ..., umax – 1
  • Wie aus der Gleichung (1) ersichtlich ist, wird die Berechnung der Spitzenenergien (peak_energy[u]) für die Einheiten u approximiert, indem die maximale Spektralamplitude (max_spectral_amplitude[u]) in einer relevanten Einheit u durch ihren zugehörigen Skalierungsfaktor (scale_factor[u]) ersetzt wird. Der Skalierungsfaktor (scale_factor[u]) ist die kleinste Zahl aus einer Skalierungsfaktortabelle, die nachfolgend gezeigt ist, die größer als die maximale Spektralamplitude (max_spectral_amplitude[u]) innerhalb der relevanten Einheit u ist. Bei dem ATRAC-Algorithmus besteht die Skalierungsfaktortabelle aus 64 Skalierungsfaktorwerten, die durch einen Skalierungsfaktorindex (sfindex[u]) adressiert werden. Die Skalierungsfaktortabellen werden nachfolgend gezeigt.
  • Tabelle 1
    Figure 00180001
  • Tabelle 2
    Figure 00190001
  • Um sich für eine effiziente Implementierung der vorliegenden bevorzugten Ausführungsform von der Logarithmusfunktion zu befreien, wird der Skalierungsfaktorindex (sfindex[u]) verwendet, um die Berechnung der Spitzenenergie (peak_energy[u]) zu vereinfachen. Ein Skalierungsfaktorindex 15, der zur Null dB Spitzenenergie führt, wird als Referenzwert verwendet. Die Spitzenenergie (peak_energy[u]) wird berechnet, indem der Referenzwert 15 von dem Skalierungsfaktorindex (sfindex[u]) subtrahiert wird, und die resultierende Differenz mit der Konstante 2.006866638 multipliziert wird. Die Konstante steht für die durchschnittliche Spitzenenergiezunahme in Dezibel (dB) pro Skalierungsfaktorindex (sfindex[u])-Schritt.
  • Bei Schritt S205 der 2 wird entschieden, ob alle der drei Unterbänder (Tief-, Mittel-, Hochbänder) unter Verwendung der Langblock MDCT kodiert sind oder nicht. Für den Fall JA bei Schritt S205 wird ein Oberschleifenmaskierwirkungberechnungsprozess bei Schritt S206 ausgeführt und anschließend wird ein Unterschleifenmaskierwirkungsberechnungsprozess bei Schritt S207 ausgeführt, dann geht der Programmfluss zu Schritt S208. Andererseits geht im Fall NEIN bei Schritt S205 der Programmfluss direkt zu Schritt S208 über. Das heißt, wenn die Unterbänder aller drei Frequenzbänder unter Verwendung der Langblockdaten von der MDCT kodiert werden, kann ein vereinfachter, simultaner Maskierabsolutgrenzwert bei den Schritte s206 und S207 berechnet werden. Die Ausbreitungsfunktion der Maskiereinheit bestimmt den Grad der Maskierung (auf den nachfolgend als Maskierwirkung Bezug genommen wird) bei anderen Frequenzen als die Frequenz der Maskiereinheit selbst. Die Maskierwirkung wird durch eine Oberschleife und eine Unterschleife approximiert. Bei der vorliegenden bevorzugten Ausführungsform werden die Oberschleife und Unterschleife bei –10 dB/Bark bzw. 27 dB/Bark ausgewählt.
  • 18 ist ein Graph, der eine Oberschleifenmaskierwirkungsberechnung des Oberschleifenmaskierwirkungsberechnungsprozesses der 6 und 7 zeigt, wobei der Graph eine Beziehung zwischen der Spitzenenergie (dB) und kritischen Bandbreite (Bark) zeigt. 19 ist ein Graph, der eine Unterschleifenmaskierwirkungsberechnung des Unterschleifenmaskierwirkungsberechnungsprozesses der 8 und 9 zeigt, wobei der Graph eine Beziehung zwischen der Spitzenenergie (dB) und der kritischen Bandbreite (Bark) zeigt.
  • Unter der Annahme der ungünstigsten Approximation ist anzunehmen, dass das Maskieraudiosignal einer Maskiereinheit an der unteren Grenze innerhalb der Maskiereinheit auftritt, wenn es in der Oberschleifenmaskierwirkungsberechnung verwendet wird. Dies ist auch auf die Unterschleifenmaskierwirkungsberechnung übertragbar, bei der angenommen wird, dass das Maskieraudiosignal in der Maskiereinheit an der oberen Ecke der Maskiereinheit auftritt.
  • Bei dem SMR-Berechnungsprozess des Schrittes S208 in 3 werden die SMRs (smr[u]) aller Einheiten durch die folgende Gleichung (2) berechnet: smr[u] = peak_energy[u] – qthreshold[u] (2),mit u = 0, 1, 2, ..., umax – 1.
  • Als Nächstes wird in einem Anzahl-der-Bits-Berechnungsprozess des Schrittes S209, wobei angenommen wird, dass die zuerst quantisierte volle Bandbreite 52 Einheiten aufweist, die Anzahl der für die Bitzuweisung verfügbaren Bits, available_bit, unter Verwendung der folgenden Gleichung (3) berechnet: available_bit = (sound_frame – 4) × 8 – (52 × 10) (3),wobei sound_frame für die Rahmengröße in Bytes steht und bevorzugt 212 Bytes beträgt. In Gleichung (3) werden 4 Bytes, die von sound_frame abgezogen werden, verwendet, um die Blockmodi der drei Unterbänder und den Bandbreitenindex (amount[0]) zu kodieren. Die Nebeninformationen (insgesamt 10 Bits pro Einheit) des Wortlängenindex (4 Bits) und Nebeninformationen (6 Bits), die den Skalierungsfaktorindex der 52 Einheiten umfassen, werden in 52 × 10 Bits kodiert.
  • Als Nächstes wird in dem SMR-Positiv-Umwandlungsprozess des Schrittes S210 eine positive Füllzahl zu sämtlichen SMR-Werten addiert, so dass die SMR-Werte zu positiven Werten gemacht werden, bevor sie bei der Berechnung des SMR-Offsets in dem SMR-Offset-Berechnungsprozess des Schrittes S211 verwendet werden. Dann wird die zu quantisierende Bandbreite in einem Bandbreitenberechnungsprozess des Schrittes S212 bestimmt. Als Nächstes wird bei Schritt S213 der SMR-Offset in einem Abtastwertbitberechnungsprozess verwendet, bei dem die Anzahl der Abtastwertbits, die für die Anzahl der den Einheiten zuzuweisenden Bits steht, berechnet. Bei dem Restbiszuweisungsprozess des Schirttes S214 werden die Restbits, die nach der Benutzung der Abtastwertbits für die Einheiten übrig geblieben sind, dann einigen ausgewählten Einheiten als die Anzahl der verbleibenden, verfügbaren Bits zugewiesen.
  • Nun werden Unterroutinen der vorgenannten Hauptroutine des dynamischen Bitzuweisungsprozesses detailliert beschrieben, die umfassen den Absolutgrenzwertnachstellprozess für den Kurzblock des Schrittes S203, den Oberschleifenmaskierwirkungsberechnungsprozess des Schrittes S206, den Unterschleifenmaskierwirkungsberechnungsprozess des Schrittes S207, den SMR-Offsetberechnungsprozess des Schrittes S211, den Bandbreitenberechnungsprozess des Schrittes S212, den Abtastwertbitberechnungsprozess des Schrittes S213 und den Restbitzuweisungsprozess des Schrittes S214.
  • 4 und 5 sind Flussdiagramme, die den Absolutgrenzwertnachstellprozess für den Kurzblock zeigen, wobei jener eine Unterroutine der 2 ist.
  • Bei dem System der vorliegenden bevorzugten Ausführungsform variiert das Frequenzband, das von einer Einheit abgedeckt wird, zwischen dem Kurzblock und dem Langblock. Das heißt, vier Einheiten des Langblocks entsprechen einer Einheit des Kurzblocks bei den Tief- und Mittelbändern, wohingegen acht Einheiten des Langblocks einer Einheit des Kurzblocks für das Hochband entsprechen. Daher unterscheiden sich die Absolutgrenzwerte der Einheiten zwischen dem Langblock und dem Kurzblock. Bei der vorliegenden bevorzugten Ausführungsform wird der Absolutgrenzwert für den Langblock bei Schritt S202 eingestellt, und der Absolutgrenzwert für den Kurzblock wird bei Schritt S203 nachgestellt.
  • In Schritt S301 der 4 werden zuerst MDCT-Daten des Tieffrequenzbandes gecheckt. Wenn der Kurzblock verwendet wird, geht der Programmfluss weiter zu Schritt S302, und andernfalls geht der Programmfluss weiter zu Schritt 305. In Schritt S302 wird ein Minimumabsolutgrenzwert gesucht oder bestimmt aus einer Gruppe von Einheiten, die das gleiche Frequenzintervall aufweisen, aber zu unterschiedlichen Zeitrahmen gehören. Bei dem System der bevorzugten Ausführungsform wird im Falle des Kurzblocks ein Rahmen in eine Mehrzahl von Zeitrahmen unterteilt. Das heißt, ein Rahmen wird bei den Tief- und Mittelbändern in vier Zeitrahmen unterteilt, und ein Rahmen wird bei dem Hochband in acht Zeit rahmen unterteilt. Entsprechend bezieht sich hier der Ausdruck "Zeitrahmen" auf unterschiedliche Kurzblöcke des gleichen Kodierrahmens. Die Originallangblockabsolutgrenzwertwerte dieser Einheiten werden dann in Schritt S303 durch diesen Minimumabsolutgrenzwert ersetzt. In Schritt S304 wird dann entschieden, ob die Prozesse der Schritte S302 und S303 für alle Gruppen innerhalb des Tiefbandes ausgeführt wurden oder nicht. Für den Fall Ja bei Schritt S304 geht der Programmfluss zu Schritt S305 über und andernfalls kehrt der Programmfluss zu Schritt S302 zurück. Die Prozesse der Schritte S302, S303 und S304 werden wiederholt, bis sämtliche Gruppen innerhalb des Tieffrequenzbandes bearbeitet worden sind. In gleicher Art wie bei dem Absolutgrenzwertnachstellprozess für das Tiefband wird ein Absolutgrenzwertnachstellprozess für alle Gruppen aus dem Mittelunterband in den Schritten S305 bis S308 ausgeführt, und ein Absolutgrenzwertnachstellprozess wird für alle Gruppen aus dem Hochband in den Schritten S309 bis S312 in 5 ausgeführt. Nach diesen Schritten kehrt der Programmfluss zur ursprünglichen Hauptroutine zurück.
  • 6 und 7 sind Flussdiagramme, die den Oberschleifenmaskierwirkungsberechnungsprozess (Schritt S206) zeigen, welcher eine Unterroutine der 2 ist.
  • In Schritt S401 der 6 wird die Maskiereinheit umr eingestellt, um bei der ersten Einheit zu beginnen. Es ist anzumerken, dass sich der Ausdruck "die erste Einheit" auf die tiefste Frequenzeinheit (u = 0) bezieht, und dass sich der Ausdruck "die letzte Einheit" auf die höchste Frequenzeinheit (u = umax–1) bezieht. Bei Schritt S402 wird dann die Maskiereinheit umd eingestellt, um bei der zur Maskiereinheit umr nächsthöheren Frequenzeinheit (umr + 1) zu beginnen. In Schritt S403 wird ein Maskierindex (mask_index), der von der kritischen Bandbreite oder Bark (bark[umr]) der Maskiereinheit umr abhängt, durch die folgende Gleichung (4) berechnet: mask_index = a + (b × bark[umr]) (4)wobei a und b beliebige Konstanten sind, und Bark [umr] die Unterseite der Grenze der kritischen Bandfunktion der Maskiereinheit umr darstellt. Die Bark (bark) steht für die Einheit der kritischen Bandfunktion (z). Das Abbilden der Frequenz skala auf die kritische Bandfunktion kann durch die folgende Gleichung (5) ausgeführt werden: z[bark] = 13·tan–1(0.76f) + 3.5·tan–1(f/7.5)2 (5),wobei f die Frequenz in kHz ist.
  • Als Nächstes wird in Schritt S404 die Oberschleifenmaskierwirkung (mask_effect(upper-slope)), die auf die aktuelle maskierte Einheit umd angewendet wird, unter Verwendung der folgenden Gleichung (6) berechnet: mask_effect(upper-slope) = peak_energy[umr] – mask_index – {(bark[umd] – bark[umr]) × 10.0} (6),
  • worin bark[umd] die obere Grenze der kritischen Bandfunktion der maskierten Einheit umd ist und bark[umr] die untere Grenze der kritischen Bandfunktion der Maskiereinheit umr ist.
  • Bei Schritt S405 geht der Programmfluss zu Schritt S406 der 7 über, wenn die Verzweigungsbedingungen erfüllt sind, wenn also die obere Schleifenmaskierwirkung (mask_effect(upper-slope)) größer ist als der kleinste Absolutgrenzwert innerhalb aller maskierten Einheiten und die maskierte Einheit umd in der Frequenz tiefer liegt als die letzte Einheit oder aber wenn die letzte Einheit vorliegt, andernfalls geht der Programmfluss zu Schritt S410 über.
  • Wenn in Schritt S406 der 7 die Oberschleifenmaskierwirkung (mask_effect(upper-slope)) größer als der Absolutgrenzwert (qthreshold[umd]) der maskierten Einheit umd ist, geht der Programmfluss zu Schritt S407 über, wo der Absolutgrenzwert (qthreshold[umd]) der maskierten Einheit umd auf die Oberschleifenmaskierwirkung (mask_effect(upper-slope)) eingestellt wird, und der Programmfluss dann zu Schritt s408 übergeht. Wenn andererseits in Schritt S406 die Oberschleifenmaskierwirkung (mask_effect(upper-slope)) nicht größer als der Absolutgrenzwert (qthreshold[umd]) der maskierten Einheit umd ist, geht der Programm fluss direkt zu Schritt S408 über. Dann wird in Schritt S408 die maskierte Einheit umd auf die nächsthöhere Einheit (umd + 1) erhöht. Weiterhin wird in Schritt S409 die Oberschleifenmaskierwirkung (mask_effect(upper-slope)) für die aktuell maskierte Einheit umd wieder unter Verwendung der Gleichung (6) wie oben gezeigt berechnet.
  • Die Prozesse der Schritte S406 bis S409 werden in einer Schleife wiederholt, bis die Oberschleifenmaskierwirkung (mask_effekt(upper-slope)) sich als kleiner als der niedrigste Absolutgrenzwert aller Einheiten herausstellt, oder bis die maskierte Einheit umd so eingestellt ist, dass sie in Schritt S405 höher als die letzte Einheit liegt (bis ein solcher Verzweigungszustand erreicht wird). Wenn dieser Verzweigungszustand aufgetreten ist (NEIN bei Schritt S405), wird die Maskiereinheit umr in Schritt S410 der 6 auf die nächsthöhere Frequenzeinheit (umr + 1) gesetzt. Die Prozesse der Schritte S402 bis S410 werden wiederholt, bis sich ergibt, dass die Maskiereinheit umr gleich der letzten Einheit in Schritt S411 ist. Wenn die Maskiereinheit umr gleich der letzten Einheit geworden ist (JA in Schritt S411), wird der Oberschleifenmaskierwirkungsberechnungsprozess vollendet und anschließend wird ein Unterschleifenmaskierwirkungsberechnungsprozess des Schrittes S207 der Hauptroutine ausgeführt.
  • 8 und 9 sind Flussdiagramme, die den Unterschleifenmaskierwirkungsberechnungsprozess (Schritt S207) zeigen, welcher eine Unterroutine der 2 darstellt.
  • In Schritt S501 der 8 wird die Maskiereinheit umr so eingestellt, dass sie bei der letzten Einheit beginnt. In Schritt S502 wird die maskierte Einheit umd dann so eingestellt, dass sie an der zur Maskiereinheit umr nächsttieferen Frequenzeinheit (umr – 1) beginnt. In Schritt S503 wird in einer zum Oberschleifenmaskiefwirkungsberechnungsprozess ähnlichen Weise der Maskierindex (mask_index) berechnet, indem die oben gezeigte Gleichung (4) verwendet wird. Dann wird in Schritt s504 die Unterschleifenmaskierwirkung (mask_effekt(lower-slope)) unter Verwendung der folgenden Gleichung (7) berechnet: mask_effekt(lower-slope) = peak_energy[umr] – mask_index – {(bark[umr] – bark[umd]) × 27.0} (7), worin bark[umd] die untere Grenze der kritischen Bandfunktion der maskierten Einheit umd darstellt und bark[umr] die untere Grenze der kritischen Bandfunktion der Maskiereinheit umr darstellt.
  • In Schritt S505 geht der Programmfluss zu Schritt S506 der 9 über, wenn die Verzweigungsbedingungen erfüllt sind, nämlich wenn die Unterschleifenmaskierwirkung (mask_effect(lower-slope)) größer als der niedrigste Absolutgrenzwert aller maskierten Einheiten ist und die maskierte Einheit umd in der Frequenz höher liegt als die erste Einheit oder aber wenn es sich um die Ersteinheit handelt. Andernfalls geht der Programmfluss zu Schritt S510 über.
  • In Schritt S506 der 9 wird die Unterschleifenmaskierwirkung (mask_effect(lower-slope)) mit dem Absolutgrenzwert (qthreshold[umd]) der maskierten Einheit umd vergleichen, und dort geht der Programmfluss dann zu Schritt S507 über, wenn die Unterschleifenmaskierwirkung (mask_effect(lower-slope)) größer als der Absolutgrenzwert (qthreshold[umd]) ist, und andernfalls geht der Programmfluss zu Schritt S508 über. In Schritt S507 wird der Absolutgrenzwert (qthreshold[umd]) der maskierten Einheit umd auf die Unterschleifenmaskierwirkung (mask_effect(lower-slope)) eingestellt und anschließend geht der Programmfluss zu Schritt S508 über.
  • Es sollte angemerkt werden, dass der Absolutgrenzwert bereits vor den Schritten S506 und S507 durch die Unterschleifenmaskierwirkung (mask_effect(upper-slope)) modifiziert worden sein könnte. Deshalb wird als Berechnungsendergebnis der höchste Maskiergrenzwert ausgewählt aus dem Absolutgrenzwert (qthreshold[umd]) der maskierten Einheit umd, der Oberschleifenmaskierwirkung (mask_effect(upper-slope)) und der Unterschleifenmaskierwirkung (mask_effect(lower-slope)), um die Größe des maskierten Absolutgrenzwerts (qthreshold[umd]) der maskierten Einheit umd darzustellen.
  • Nachdem die aktuelle maskierte Einheit umd bearbeitet wurde, wird die maskierte Einheit umd in Schritt S508 auf die nächst tiefere Frequenzeinheit verringert. In Schritt S509 wird dann die neue Unterschleifenmaskierwirkung (mask_effect(lower-slope)), wieder unter Verwendung der Gleichung (7) berechnet. Die Prozesse der Schritte S505 bis S509 werden wiederholt, bis bei Schritt S505 sich ergibt, dass die Unterschleifenmaskierwirkung (mask_effect(lower-slope)) kleiner als der niedrigste Absolutgrenzwert ist, oder bis die maskierte Einheit umd so eingestellt ist, dass sie kleiner als die erste Einheit ist. In diesem Fall, also für NEIN bei Schritt S505 wird die Maskiereinheit umr in Schritt S510 der 8 auf die nächst niedrigere Frequenzeinheit (umr-1) eingestellt. In Schritt S511 geht der Programmfluss zu Schritt S502 zurück, wenn die Maskiereinheit umr nicht die erste Einheit erreicht hat. Die Prozesse der Schritte S502 bis S510 werden wiederholt, bis die Maskiereinheit umr die erste Einheit erreicht. Für den Fall JA in Schritt S511 kehrt der Programmfluss zur Ursprungshauptroutine zurück.
  • 10 und 11 zeigen Flussdiagramme des SMR-Offset-Berechnungsprozesses des Schrittes S211 der 3. Bei den Prozessen der Schritte S601 bis S604 wird der Anfangs-SMR-Offset entsprechend der folgenden Gleichungen (8) bis (15) berechnet: abit = {(smr(0] – smr_offset)/smrstep} × L[0] + {(smr[1] – smr_offset)/smrstep} × L[1] + ... + {(smr[umax – 1] – smr_offset)/smrstep} × L[umax – 1] (8),worin abit die Anzahl der verfügbaren Bits ist, die für die Anzahl der für die Bitzuweisung verfügbaren Bits steht,
    tbit für die Gesamtzahl der Bits steht, die benötigt werden, um das SMR aller Einheiten zu erfüllen,
    L[u] für die Anzahl der Spektrallinien der Einheit u steht,
    umax für die Gesamtzahl der Einheiten steht,
    smr[u] für das SMR der Einheit u steht,
    smr_offset für den SMR-Offset steht, und
    smrstep für die SMR-Reduktionsschrittweite zum Zuweisen eines Abtastwertbits in dB steht.
  • Wenn nun der Parameter n[u] für die Einheit u wie durch die folgende Gleichung (9) bestimmt wird, dann wird Gleichung (8) durch Gleichung (10) ersetzt, wobei die Gesamtanzahl der Bits (tbit), die benötigt wird, um das SMR aller Einheiten zu erfüllen, durch Gleichung (11) ausgedrückt wird: n[u] = L[u]/smrstep (9), abit = (smr[0] – smr_offset) × n[0] + (smr[1] – smr_offset) × n[1] + ... + (smr[umax – 1] – smr_offset) × n[umax – 1] (10), und tbit = smr[0] × n[0] + smr[1] × n[1] + ... + smr[umax – 1] × n[umax – 1] (11).
  • Daher gilt die folgende Gleichung (12), und der SMR-Offset (smr_offset) wird durch Gleichung (13) berechnet: tbit – abit = smr_offset × n[0] + smr_offset × n[1] + ... + smr_offset × n[umax – 1] (12), und smr_offset = (tbit – abit)/(n[0] + n[1] + ... + n[umax – 1]) (13).
  • Hierin wird die Variable nsum durch die folgende Gleichung (14) bestimmt und die Variable dbit wird durch die Gleichung (15) bestimmt: nsum = n[0] + n[1] + ... + n[umax – 1] (14), und dbit[u] = smr[u] × n[u] (15).
  • Bei dieser Anwendung wird die SMR-Reduktionsschrittweite (smrstep) zu 6.02dB gewählt. Dieser Wert steht für eine approximierte Signal-Rausch-Verhältnis(SMR)-Verbesserung jedes Bits, das einem linearen Quantisierer zugewiesen wurde. Es existieren einige Fälle, bei denen die SMRs einiger Einheiten kleiner sind als der SMR-Offset (smr_offset), und wenn dieser Fall auftritt, können diese Einheiten negative Bitzuweisungen erhalten. Der Ablauf der Prozesse der Schritte S605 bis S614 der 10 und 11 stellen sicher, dass die Einheiten, die bei der SMR-Offset (smr_offset)-Berechnung mitwirken, ein SMR (smr[u]) aufweisen, das größer als der SMR-Offset (smr_offset) ist. Dies kann durch eine iterative Eliminierungsschleife erreicht werden.
  • 10 und 11 sind Flussdiagramme, die einen SMR-Offset-Berechnungsprozess (S211) zeigen, der eine Unterroutine der 3 ist.
  • Bezug nehmend auf 10 werden die Variable nsum und die Variable tbit in Schritt S601 jeweils auf null initialisiert. Dann werden in den Schritten S602 und S603 die Parameter n[u] und dbit[u] für alle Einheiten durch die Gleichungen (9) und (11) berechnet, während die Parameter der Variablen nsum und tbit danach durch die Gleichungen (14) und (15) berechnet werden. Dann wird in Schritt S604 der Anfangswert des SMR-Offsets (smr_offset) durch die oben gezeigte Gleichung (13) berechnet. Ebenfalls wird in Schritt S605 ein negativer Zähler (neg_counter) auf eins gesetzt, was als Entscheidungskriterium dafür dient, ob dieser SMR-Offset-Berechnungsprozess vollendet ist oder nicht.
  • Anschließend wird in Schritt S606 der 11 entschieden, ob die Beendigungsbedingung, dass der negative Zähler (neg_counter) null beträgt, erfüllt ist. Wenn die Beendigungsbedingung erfüllt ist, ist der SMR-Offset-Berechnungsprozess vollendet, und der Programmfluss geht dann zu Schritt S211 der 3 der ursprünglichen Hauptroutine zurück, und andernfalls geht der Programmfluss zu Schritt S607 über. In Schritt S607 wird der negative Zähler (neg_counter) auf null gesetzt. Um die Prozesse der Schritte S608 bis S615 für alle Einheiten auszuführen, wird dann in Schritt S608 entschieden, ob der Zustand u ≥ umax erfüllt ist oder nicht. Wenn der Zustand erfüllt ist, geht der Programmfluss zu Schritt S609 über und andernfalls geht der Programmfluss zu Schritt S610 über. In Schritt S610 wird entschieden, ob der Zustand, dass die Negativflag (negflag[u]) null ist erfüllt wird, wobei wenn der Zustand nicht erfüllt wird, der Programmfluss zu Schritt S615 übergeht. Andererseits geht der Programmfluss nach Schritt S611 über, wenn die Bedingung erfüllt ist. In Schritt S611 wird das SMR (smr[u]) der Einheit u mit dem SMR-Offset (smr_offset) verglichen, und wenn dabei der SMR (smr[u]) gleich oder größer als der SMR-Offset (smr_offset) ist, geht der Programmfluss zu Schritt S615 über. Andernfalls geht der Programmfluss zu Schritt S612 über, wenn das SMR (smr[u]) kleiner als der SMR-Offset (smr_offset) ist. Um die Einheit zu identifizieren, die ein SMR (smr[u]) aufweist, das kleiner als der SMR-Offset (smr_offset) ist, wird in Schritt S612 die Negativflag (negflag[u]) der Einheit u auf eins gesetzt, um zu verhindern, dass die Einheit u bei der neuen SMR-Offset(smr_offset)-Berechnung mitwirkt. In Schritt S613 wird der Negativzähler (neg_counter) gesetzt, indem der Zähler um eins erhöht wird. Dann wird in Schritt S614 die Variable tbit der Gleichung (11) aktualisiert, indem die unerwünschte Zahl dbit[u] = smr[u] × n[u] von dem aktuellen Wert der Variable tbit abgezogen oder entfernt wird, und die Variable nsum, die für die Summation der Variablen n[u] der Gleichung (14) steht, wird aktualisiert, indem die unerwünschte Variable n[u] von dem aktuellen Wert der Variable nsum abgezogen (oder entfernt) wird. Dieser Abzieh- oder Entfernprozess bedeutet, dass die Einheit u von dem SMR-Offset-Berechnungsprozess entfernt wird. Es ist anzumerken, dass die Variable u die Einheitszahl der Einheit bezeichnet, die davon abgehalten wurde, bei der SMR-Offset-Berechnung mitzuwirken, das heißt, die Einheitszahl der Einheit, die eliminiert werden sollte und die ein SMR aufweist, das kleiner als der SMR-Offset (smr_offset) ist. Als Nächstes wird in Schritt S615 die Einheitszahl u durch Erhöhen der Anzahl um eins gesetzt, wonach der Programmfluss zu Schritt S608 zurückkehrt.
  • Wenn in Schritt S608 festgestellt wird, dass die Prozesse der Schritte S610 bis S615 für alle Einheiten ausgeführt wurden, geht der Programmfluss zu Schritt S609 über. In Schritt S609 wird ein neuer SMR-Offset (smr_offset) durch die oben gezeigte Gleichung (13) neu berechnet und der Programmfluss kehrt dann zu Schritt S606 zurück.
  • Bei diesen Schritten wird dieser neue SMR-Offset (smr_offset) rekursiv in dem Eliminationsprozess benutzt und berechnet, bis der SMR-Offset (smr_offset) kleiner als jedes der SMRs aller Einheiten wird, die an dem Berechnungsprozess teilgenommen haben.
  • 12 und 13 sind Flussdiagramme, die den Bandbreitenberechnungsprozess (S212) zeigen, welcher eine Unterroutine der 3 ist. Die Anzahl der Einheiten, die dargestellt wird durch den Bandbreitenindex, amount[0], ist in der folgenden Tabelle gezeigt.
  • Tabelle 3
    Figure 00310001
  • Bezug nehmend auf 12 wird zunächst in Schritt S701 eine Variable i auf 51 gesetzt, welches die letzte Einheitszahl ist. Dann geht in Schritt S702 der Programmfluss zu Schritt S703 über, wenn die Bedingung, dass eine Negativflag (negflag[i]) eins ist, erfüllt wird, und andernfalls geht der Programmfluss zu Schritt S704 über. In Schritt S703 wird die Variable i durch Erhöhen der Variable um eins gesetzt, und der Prozess des Schrittes S702 wird wiederholt. Das heißt, in den Schritten S701 bis S703 wird die Anzahl der aufeinanderfolgenden Einheiten, bei denen die Negativflag negflag[u] = 1 ist, gezählt, beginnend mit der letzten Einheit umax – 1, und der Zählprozess wird beendet, wenn eine Einheit u mit der Negativflag negflag[u] = 0 aufgefunden wird. In Schritt S704 wird dann der Zähler (51 – i) in einen Index k als eine Integer-Zahl konvertiert, die durch die folgende Gleichung (16) berechnet wird, wonach der Programmfluss zu Schritt S705 übergeht: k = (integer){(51 – i)/4} (16)wobei (integer) {·} für einen Vorgang des Abschneidens auf ganze Stellen steht.
  • In den Schritten S705 bis S709 werden abhängig von dem Wert des Index k der Bandbreitenindex amount[0] bestimmt und der Index k wird, falls notwendig, nachgestellt. Bezug nehmend auf 13 geht in Schritt S507 zunächst der Programmfluss zu Schritt S709 über, wenn die Bedingung, dass der Index k gleich oder kleiner als 5 ist, erfüllt wird. Andernfalls geht der Programmfluss zu Schritt S706 über. In Schritt S706 wird der Programmfluss unter der Bedingung verzweigt, dass der Index k gleich oder kleiner als 7 ist. Wenn die Verzweigungsbedingung erfüllt ist, geht der Programmfluss zu Schritt S707 über, und andernfalls geht der Programmfluss zu Schritt S708 über. In Schritt S707 wird der Bandbreitenindex amount[0] auf eins gesetzt, der Index k wird auf sechs gesetzt, und der Programmfluss geht dann zu Schritt S710 über. In Schritt S708 wird der Bandbreitenindex amount[0] auf null gesetzt, der Index k wird auf acht gesetzt, und der Programmfluss geht dann zu Schritt S710 über. In Schritt S709 wird der Bandbreitenindex amount[0) auf 7 – k gesetzt und der Programmfluss geht dann zu Schritt S710 über. In Schritt S710 wird die Anzahl verfügbarer Bits, abit, durch die folgende Gleichung (17) aktualisiert: abit ← abit + (k × 40) (17). worin der Index k ein Hinweis darauf ist, wie viele Einheiten bei der Bandbreitenbestimmung entfernt werden können, und wobei die tatsächliche Zahl der entfernten Einheiten (k × 4) beträgt.
  • Es ist zu beachten, dass für jede entfernt Einheit 10 Bits zurückgewonnen werden können aus den Nebeninformationen des Wortlängenindex WLindex[u] (4 Bits) und des Skalierungsfaktorindex sfindex[u] (6 Bits), und dass die zurückgewonnen Bits für andere Einheiten zugewiesen werden können. In Schritt S710 werden die zurückgewonnenen Bits zu der Anzahl der verfügbaren Bits, abit, in Gleichung (17) addiert.
  • Als Nächstes wird in Schritt S711 der SMR-Offset (smr_offset) unter Verwendung der Gleichung (13) neu berechnet, und in Schritt S712 wird die größte Einheitszahl innerhalb der berechneten Bandbreiten als u'max angenommen. Wenn der Prozess des Schrittes 712 abgeschlossen ist, ist der Bandbreitenberechnungsprozess abgeschlossen, wobei dann der Programmfluss zur Ursprungshauptroutine zurückkehrt, um den Abtastwertbitberechnungsprozess des Schrittes S213 der 3 auszuführen.
  • 14 und 15 sind Flussdiagramme des Abtastwertbitberechnungsprozesses, welche eine Unterroutine der 3 ist.
  • Bezug nehmend auf 14 wird in diesem Prozess ein Prozess der Bitzuweisung für Einheiten ausgeführt. Zunächst wird in Schritt S801 die Einheitsanzahl u auf null gesetzt. Dann geht in Schritt S802 der Programmfluss zu Schritt S812 über, wenn die Beendungsbedingung, dass u ≥ u'max erfüllt ist, und andernfalls geht der Programmfluss zu Schritt S803 über. Es ist zu beachten, dass die größte Einheitszahl der Bandbreite, die in dem Bandbreitenberechnungsprozess berechnet wurde, als u'max angenommen wird. In Schritt S803 wird festgestellt, ob die Negativflag negflag[u] = 0 ist oder nicht. Für das Ergebnis JA in dem Schritt S803 geht der Programmfluss zu Schritt S804 über, und andernfalls geht der Programmfluss zu Schritt S811 der 15 über. In Schritt S804 wird die folgende Gleichung (18) verwendet, um das Abtastwertbit (sample_bit) jeder ausgewählten Einheit zu berechnen, wo die Zahl der Einheiten in der berechneten Bandbreite zu u'max angenommen wird: sample_bit ← (integer)((smr[u] – smr_ offset)/smrstep) (18). worin (integer) {·} für einen Vorgang des Abschneidens auf ganze Stellen steht.
  • Das Abtastwertbit (sample-bit), das für die Zahl der Bits steht, die pro Spektrallinie der Einheit zuzuweisen sind, wird nur für die Einheiten u berechnet, die in der Bandbreite liegen, die in dem Bandbreitenberechnungsprozess berechnet wurden und bei denen die Negativflag (negflag[u]) null ist, wie in den Schritten S802 bis S804 gezeigt ist. ein Nullabtastwertbit (sample_bit) wird zu den anderen Einheiten zurückgegeben.
  • Das Konzept der Bitzuweisung unter Verwendung von SMR und SMR-Offset ist in 20 veranschaulicht. 20 ist ein Graph, der eine modellierte Bitzuweisung zeigt, die das SMR und den SMR-Offset des Abtastwertbitberechnungsprozesses der 14 und 15 verwendet, der Graph stellt die Beziehung dar zwischen dem SMR (dB) und der Zahl der Spektrallinien/SMR-Reduktionsschrittweite (dB-1). Wie oben erklärt, wird die SMR-Reduktionsschrittweite (smrstep) auf 6.02 dB gesetzt.
  • Wenn das Abtastwertbit (sample_bit) für die Einheit in Schritt S804 berechnet wurde, wird das Abtastwertbit (sample_bit) einigen Anpassungen in den Schritten S805 bis S809 der 15 unterzogen, falls sein Wert außerhalb des zulässigen Bereichs fällt. Genauer gesagt wird in Schritt S805 festgestellt, ob solch eine Bedingung, dass das Abtastwertbit (sample_bit) kleiner als 2 ist, erfüllt wird oder nicht, wobei der Programmfluss zu Schritt S806 übergeht, wenn die Bedingung erfüllt ist, und andernfalls der Programmfluss zu Schritt S807 übergeht. In Schritt S806 wird das Abtastwertbit (sample_bit) auf null gesetzt, der Wortlängenindex (WLindex[u]) wird auf null gesetzt, die Negativflag (negflag[u]) wird auf zwei gesetzt, und anschließend geht der Programmfluss zu Schritt S810 über. Andererseits wird in Schritt S807 festgestellt, ob die Bedingung, dass das Abtastwertbit (sample_bit) größer oder gleich 16 ist, erfüllt wird oder nicht, wobei der Programmfluss zu Schritt S808 übergeht, wenn die Bedingung erfüllt ist, und andernfalls der Programmfluss zu Schritt S809 übergeht. In Schritt S808 wird das Abtastwertbit (sample_bit) auf 16 gesetzt, der Wortlängenindex (WLindex)[u]) wird auf 15 gesetzt, die Negativflag (negflag[u]) wird auf eins gesetzt und anschließend geht der Programmfluss zu Schritt S810 über. In Schritt S809 wird der Wortlängenindex (WLindex[u]) auf den Wert von sample_bit-1 gesetzt und der Programmfluss geht zu Schritt S810 über.
  • Das heißt, der Wortlängenindex (WLindex[u]) und die Negativflag (negflag[u]) der Einheit u werden bei obigen Prozessen gesetzt, wobei die Negativflag (negflag[u]) auf zwei gesetzt wird, wenn das Abtastwertbit (sample_bit) der Einheit u kleiner als zwei ist. Wenn das Abtastwertbit (sample_bit) größer oder gleich 16 ist, wird die Negativflag (negflag[u]) auf eins gesetzt. Das Setzen der Negativflag (negflag[u]) wird bei dem Restbitzuweisungsprozess des Schrittes S214 der 3 verwendet werden. Das Abbilden der Abtastwertbits (sample_bits) auf den Wortlängenindex (WLindex[u]) wird nachfolgend gezeigt.
  • Tabelle 4
    Figure 00350001
  • Als Nächstes wird in Schritt S810 die Zahl der verfügbaren Bits (abit) um eine Zahl reduziert, die sich durch Multiplizieren des Abtastwertbits (sample_bit) der Einheit u mit der Zahl der Spektrallinien (L[u]) ergibt, wie durch die folgende Gleichung (19) gezeigt wird: abit ← abit – (sample_bit × L[u]) (19).
  • Als Nächstes wird in Schritt S811 die Einheit u durch Erhöhen der Einheit um eins gesetzt, und der Programmfluss kehrt zum Prozess des Schrittes S802 zurück. Wenn die Prozesse des Schrittes S803 bis S811 für alle Einheiten ausgeführt wurden, bewegt sich der Programmfluss von Schritt S802 zu Schritt S812. In Schritt S812 wird der Wert von abit, welcher das Endergebnis der Subtraktion der Zahl der Bits, die allen Einheiten zugewiesen wurden, von der Gesamtzahl verfügbarer Bits ist, für die Zahl der verbleibenden, verfügbaren Bits (abit') eingesetzt, wobei der Abtastwertbitberechnungsprozess vollendet ist, und dann der Programmfluss zu Schritt S214 der 3 übergeht, welches die ursprüngliche Hauptroutine ist.
  • 16 und 17 sind Flussdiagramme des Restbitzuweisungsprozesses (S214), welcher eine Unterroutine zu 3 ist. In diesem Prozess wird die Zahl der verbleibenden verfügbaren Bits (abit') die sich aus der Subtraktion der Zahl der Bits, die allen Einheiten zugewiesen werden sollen, die in dem Abtastwertbitberechnungsprozess berechnet wurden, von der Gesamtzahl der verfügbaren Bits ergeben, außerdem mehreren ausgewählten Einheiten zugewiesen, wobei zwei Bits in dem ersten Durchgang Einheiten zugewiesen werden, dessen SMR größer als der SMR-Offset ist, und denen in Schritt S213 keine Bits zugewiesen worden sind, und ein zusätzliches einzelnes Bit wird in dem zweiten Durchgang zugewiesen. Jede der Zahl der verbleibenden verfügbaren Bits (abit') wird Einheiten u zugewiesen, die in Abhängigkeit von ihrer Negativflag(negflag[u])-Einstellung ausgewählt wurden. Das Vorliegen von verbleibenden, verfügbaren Bits (abit') liegt wegen des Vorgangs des Abschneidens auf ganze Zahlen und der Saturierung der Abtastwertbits bei einem maximalen Limit von 16 Bits, die bei dem Abtastwertbitberechnungsprozess auftreten. Zwei Durchgänge werden für die Zuweisung der verbleibenden Bits eingesetzt, und in jedem Vorgang beginnt die Bitzuweisung der Zahl der verbleibenden, verfügbaren Bits (abit') bei der höchsten Frequenzeinheit innerhalb der Bandbreite, die in den Schritten S901 bzw. S907 berechnet werden. Der erste Vorgang der Bitzuweisung wird in den Prozessen der Schritte S901 bis S907 ausgeführt, während der zweite Durchgang der Bitzuweisung in den Prozessen der Schritte S908 bis S914 durchgeführt wird.
  • Zunächst wird in Schritt S901 im ersten Durchgang der 16 der anfangs erwartete Wert der Einheit u auf die höchste Frequenzeinheit innerhalb der berechneten Bandbreite gesetzt. Dann wird in Schritt S902 festgestellt, ob eine solche Beendigungsbedingung, dass u < 0 erfüllt ist oder nicht, wobei dann, wenn die Beendigungsbedingung erfüllt ist, der Programmfluss zu Schritt S908 übergeht, um den Prozess des zweiten Durchgangs zu starten. Andererseits geht der Programmfluss zu Schritt S903 über, wenn die Beendigungsbedingung nicht erfüllt ist. In Schritt S903 geht der Programmfluss zu Schritt S904 über, wenn die Bedingung, dass die Negativflag (negflag[u]) zwei ist, erfüllt ist, und andernfalls geht der Programmfluss zu Schritt S907 über. Dann geht in Schritt S904 der Programmfluss zu Schritt S905 über, wenn die Bedingung erfüllt ist, dass die Zahl der verbleibenden, verfügbaren Bits (abit') das Doppelte oder mehr der Zahl der Spektrallinien (L[u]) der Einheit u ist, und andernfalls geht der Programmfluss zu Schritt S907 über. Weiterhin wird der Wortlängenindex (WLindex[u]) der Einheit u in Schritt S905 auf eins gesetzt, die Zahl der verbleibenden verfügbaren Bits (abit') wird in Schritt 906 durch die folgende Gleichung (20) berechnet, und der Programmfluss geht zu Schritt S907 über. In Schritt S907 wird die Einheit u durch Erhöhen der Einheit um eins gesetzt, wonach der Programmfluss zu Schritt S902 zurückkehrt: abit' ← abit' – (2 × L[u]) (20).
  • Das heißt, wenn die Negativflag (negflag[u]) zwei ist (wobei die Zahl der der Einheit u zuzuweisenden Bits null Bit ist) und wenn die Zahl der verbleibenden, verfügbaren Bits (abit') größer ist als oder gleich dem Doppelten der Zahl der Spektrallinien (L[u]) der Einheit u, wird dann die Zahl der Bits, die gleich dem Doppelten der Zahl der Spektrallinien (L[u]) ist, der Einheit u zugewiesen, während die Zahl der verbleibenden, verfügbaren Bits (abit') um das Doppelte der Zahl der Spektrallinien (L[u]) der Einheit u verringert wird.
  • In Schritt S907 wird die Einheit u durch Verringern der Einheit um eins gesetzt, und der Prozess des Schrittes S902 wird wiederholt. Wenn die zu bearbeitenden Einheiten bearbeitet wurden, geht der Programmfluss zu Schritt S908 der 17 über, welches der Anfangsschritt des zweiten Durchgangs ist.
  • Dann wird in gleicher Weise, wie der des ersten Durchgangs in Schritt S908 des zweiten Durchgangs, die Einheit u so gesetzt, dass von der höchsten Frequenzeinheit der Bandbreite gestartet wird. Dann wird in Schritt S909 festgestellt, ob die Beendigungsbedingung erfüllt ist, dass u < 0. Wenn die Beendigungsbedingung erfüllt ist, ist der Restbitzuweisungsprozess abgeschlossen, und dann ist als Ergebnis der Prozess zur dynamischen Bitzuweisung abgeschlossen. Wenn die Beendigungsbedingung nicht erfüllt ist, geht der Programmfluss zu Schritt S910. Dann geht in Schritt S910 der Programmfluss zu Schritt S911 über, wenn die Bedingung erfüllt ist, dass die Negativflag (negflag[u]) der Einheit u null ist, und andernfalls geht der Programmfluss zu Schritt S914 über. In Schritt S911 geht der Programmfluss zu Schritt S912 über, wenn die Zahl der verfügbaren Bits (abit) gleich oder größer als die Zahl der Spektrallinien (L[u]) der Einheit u ist, und andernfalls geht der Programmfluss zu Schritt S914 über. Weiterhin wird in Schritt S912 der Wortlängenindex (WLindex[u]) der Einheit u auf einen Wert aktualisiert, der durch Addieren von eins zu dem aktuellen Wortlängenindex (WLindex[u]) erhalten wird, und dann wird die Zahl der verbleibenden verfügbaren Bits (abit') in Schritt S913 durch die folgende Gleichung (2!) aktualisiert, und der Programmfluss geht dann zu Schritt S914 über: abit' ← abit' – L[u] (21)
  • In Schritt S914 wird die Einheit u durch Erhöhen der Einheit um eins gesetzt, und der Programmfluss kehrt dann zu Schritt S909 zurück. Das heißt, wenn die Negativflag (negflag[u]) null ist (wobei die Zahl der der Einheit u zuzuweisenden Bits 2 bis 15 Bits beträgt) und wenn die Zahl der verbleibenden, verfügbaren Bits (abit') größer oder gleich der Zahl der Spektrallinien (L[u]) in der Einheit u ist, wird dann eine Zahl von Bits, die gleich der Zahl der Spektrallinien ist, darüber hinaus der Einheit u zugewiesen, während die Zahl der verbleibenden, verfügbaren Bits (abit') um die Zahl der Spektrallinien (L[u]) in der Einheit u reduziert wird. Auf die oben beschriebene Weise werden die verbleibenden Bits den ausgewählten Einheiten zugewiesen.
  • Wie oben beschrieben kann die vorliegende bevorzugte Ausführungsform gemäß der vorliegenden Erfindung auf fast alle digitalen Audiokompressionssysteme angewendet werden, und insbesondere kann bei Verwendung in dem ATRAC-Algorithmus eine Sprache mit bemerkenswert höher Audioqualität erzeugt werden, während die Bitzuweisung dynamisch, bemerkenswert wirksam und effizient vollendet werden kann. Weiterhin weist der vorliegende Bitzuweisungsprozess im Vergleich mit dem Stand der Technik eine relativ geringe Implementierungskomplexität auf, und eine preiswerte LSI-Implementierung eines Audiokodierers kann unter Verwendung des ATRAC-Kodierers 100 der vorliegenden bevorzugten Ausführungsform erreicht werden.
  • Obwohl die vorliegende Erfindung im Zusammenhang mit ihren bevorzugten Ausführungsformen und unter Bezugnahme auf die begleitenden Zeichnungen vollständig beschrieben worden ist, ist zu beachten, dass dem Fachmann diverse Änderungen und Modifikationen klar sein werden. Solche Änderungen und Modi fikationen sind zu verstehen als dass sie innerhalb des Bereichs der vorliegenden Erfindung liegen, der durch die anhängenden Ansprüche festgelegt ist.

Claims (20)

  1. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung zum Bestimmen einer Anzahl von Bits, die zum Quantisieren einer Mehrzahl zerlegter Abtastwerte eines digitalen Audiosignals verwendet werden, wobei die Mehrzahl von Abtastwerten in Zeitintervallen gruppiert sind und die Abtastwerte der jeweiligen Zeitintervalle in eine Mehrzahl von Frequenzintervalleinheiten transformiert werden, wobei die Mehrzahl der Einheiten zumindest Einheiten unterschiedlicher Frequenzintervalle und/oder unterschiedlicher Zeitintervalle umfasst, wobei die unterschiedlichen Frequenzintervalle abhängig von einem kritischen Band menschlicher Hörcharakteristik bestimmt werden und die unterschiedlichen Zeitintervalle ein erstes Zeitintervall und ein zweites Zeitintervall umfassen, das länger als das erste Zeitintervall ist, wobei die Vorrichtung umfasst: (a) Absolutgrenzwerteinstellmittel zum Einstellen eines Absolutgrenzwertes für jede Einheit, abhängig von einer bestimmten Grenzwertcharakteristik bei Ruhe, die die Hörfähigkeit einer Person bei Ruhe angibt; (b) Absolutgrenzwertnachstellmittel zum Nachstellen – nur für Einheiten des ersten Zeitintervalls – des Absolutgrenzwertes durch Ersetzen des Absolutgrenzwertes der Einheiten des ersten Zeitintervalls durch den minimalen Absolutgrenzwert unter den Einheiten des zweiten Zeitintervalls, das das gleiche Frequenzintervall abdeckt wie die Einheiten des ersten Zeitintervalls; (c) Spitzenenergieberechnungsmittel zum Berechnen der Spitzenenergie der Einheiten abhängig von der Mehrzahl der in die Mehrzahl von Einheiten gruppierten Abtastwerten; (d) Maskierwirkungsberechnungsmittel zum Berechnen – nur für die Einheiten des zweiten Zeitintervalls – einer Maskierwirkung, welche eine minimale Hörgrenze ist, abhängig von einem bestimmten, vereinfachten, simultanen Maskierwirkungsmodel und einer Spitzenenergie einer maskierten Einheit, und Aktualisieren und Einstellen des Absolutgrenzwertes jeder Einheit mit der berechneten Maskierwirkung; (e) Signal-Maskier-Verhältnis (SMR)- Berechnungsmittel zum Berechnen von SMRs abhängig von der berechneten Spitzenenergie jeder Einheit und einer der folgenden Grenzwerte, entweder (e1) dem aktualisierten Absolutgrenzwert jeder Einheit, der durch das Maskierwirkungsberechnungsmittel (d) nach der Aktualisierung durch das Maskierwirkungsberechnungsmittel (d) eingestellt wurde, oder (e2) den nachgestellten absoluten Grenzwert jeder Einheit, der durch das Absolutgrenzwertnachstellmittel (b) ohne jegliche Aktualisierung durch das Maskierwirkungsberechnungsmittel (d) eingestellt wurde, oder (e3) den eingestellten Absolutgrenzwert jeder Einheit, der durch das Absolutgrenzwerteinstellmittel (a) ohne jegliches Nachstellen durch das Absolutgrenzwertnachstellmittel (b) und jegliche Aktualisierung durch das Maskierwirkungsberechnungsmittel (d) eingestellt wurde; (f) verfügbare Bitanzahlberechnungsmittel zum Berechnen einer Anzahl zur Bitzuweisung verfügbarer Bits, abhängig von der Datenblockgröße des digitalen Audiosignals unter der Annahme, dass alle zu quantisierenden Frequenzbänder alle Einheiten umfassen; (g) SMR-Positivumwandungsmittel zum positiven Umwandeln der SMRs aller Einheiten durch Addieren einer bestimmten positiven Anzahl zu den SMRs aller SMRs, um alle SMRs positiv zu machen; (h) SMR-Offset-Berechnungsmittel zum Berechnen eines SMR-Offsets, der als ein Offset zum Verringern der positiv umgewandelten SMRs aller Einheiten festgelegt ist, abhängig von den positiv umgewandelten SMRs aller Einheiten, wobei eine SMR Verringerungsschrittweite abhängig von einer Verbesserung des Signal-Rausch-Verhältnisses pro Bit einer bestimmten linearen Quantisierung und der Anzahl der verfügbaren Bits bestimmt wird; (i) Bandbreitenberechnungsmittel zum Aktualisieren einer Bandbreite, die Einheiten abdeckt, die anhängig von dem SMR-Offset und den berechneten SMRs der Einheiten zuzuweisende Bits sind, um den SMR-Offset abhängig von der berechneten Bandbreite zu aktualisieren; (j) Abtastwertbitberechnungsmittel zum Berechnen eines subtrahierten SMRs durch Subtrahieren des berechneten SMR-Offsets von dem berechneten SMR jeder Einheit, und anschließendes Berechnen der Quantisierung einer Anzahl von Abtastwertbits, die für eine Anzahl von zu jeder Einheit zuzuweisender Bits steht, abhängig von dem subtrahierten SMR jeder Einheit und der SMR Verringerungsschrittweite; und (k) Restbitzuweisungsmittel zum Zuweisen einer Anzahl verbleibender Bits, die sich vom Subtrahieren einer Summe der Anzahl zu allen Einheiten zuzuweisender Abtastwertbits von der berechneten Anzahl verfügbarer Bits ergeben, zu wenigstens Einheiten mit einem SMR, das größer als der SMR-Offset ist.
  2. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 1, wobei das Spitzenenergieberechnungsmittel die Spitzenenergie jeder Einheit durch Ausführen einer bestimmten Approximation berechnetet, bei der eine Amplitude des größten Spektralkoeffizienten innerhalb jeder Einheit durch einen Skalierungsfaktor entsprechend der Amplitude unter Verwendung einer bestimmten Skalierungstabelle ersetzt wird.
  3. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 1, wobei bei einem Vorgang des Maskierwirkungsberechnungsmittels das bestimmte, vereinfachte, simultane Maskierwirkmodel ein Hochbandseitenmaskierwirkmodel umfasst, um zum Maskieren eines Audiosignals von Einheiten höherer Frequenzen als die maskierten Einheiten verwendet zu werden, und ein Tiefbandseitenmaskierwirkmodel, das in der Frequenz tiefer ist, als die maskierten Einheiten, und wobei das Maskierwirkungsberechnungsmittel einen Absolutgrenzwert einstellt, der schließlich für jede der maskierten Einheiten auf einen Maximalwert festgesetzt wird, der ausgeht von den Absolutgrenzwerten der maskierten Einheiten, die durch das Absolutgrenzwerteinstellmittel eingestellt sind, und einer simultanen Maskierwirkung, die durch das simultane Maskierwirkmodell bestimmt wird.
  4. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 1, wobei das SMR Berechnungsmittel ein SMR jeder Einheit durch Subtrahieren des eingestellten Absolutgrenzwertes von der Spitzenenergie jeder Einheit in Dezibel (dB) berechnet.
  5. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 1, wobei das SMR-Offset Berechnungsmittel einen SMR-Offset durch Berechnen eines Anfangs-SMR-Offsets berechnet, abhängig von den auf ganze Zahlen abgeschnittenen SMRs aller Einheiten, der SMR-Reduzierungsschrittweite und der Anzahl der für die Bitzuweisung verfügbaren Bits, und anschließend einen bestimmten iterativen Prozess abhängig von dem berechneten Anfangs SMR-Offset ausführt.
  6. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 5, wobei der iterative Prozess das Entfernen von Einheiten von der Berechnung des SMR-Offsets umfasst, die jede ein SMR haben, das kleiner als der Anfangs-SMR-Offset ist, und anschließend iteratives Neuberechnen des SMR-Offsets abhängig von den auf ganze Zahlen abgeschnittenen SMRs der verbleibenden Einheiten, der SMR-Reduktionsschrittweite und der Anzahl der verfügbaren Bits, die für die Bitzuweisung verfügbar sind, erfolgt, bis SMRs aller Einheiten, die in die SMR-Offset Berechnung eingebunden sind, größer als der letztlich bestimmte SMR-Offset werden, wodurch sichergestellt wird, dass keine Zuweisung negativer Bitnummern erfolgt.
  7. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 1, wobei das Bandbreitenberechnungsmittel die Bandbreite durch Entfernen nachfolgender Einheiten von bestimmten Einheiten berechnet, wenn Einheiten mit einem SMR, das kleiner ist als der SMR-Offset, aufeinanderfolgend vorliegen, und wobei das Bandbreitenberechnungsmittel die Anzahl der Bits entsprechend der zu entfernenden Einheiten zur Anzahl der verfügbaren Bits addiert, so dass die Anzahl der verfügbaren Bits aktualisiert wird, und das Aktualisieren des SMR-Offsets abhängig von der aktualisierten Anzahl der verfügbaren Bits ausgeführt wird.
  8. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 1, wobei bei dem Prozess, der durch das Abtastwertbitberechnungsmittel ausgeführt wird, die Anzahl der Abtastwertbits jeder Einheit ein Wert ist, der durch Subtrahieren des SMR-Offsets von dem SMR jeder Einheit, Dividieren des Subtraktionsergebnisses durch die SMR-Reduktionsschrittweite und dann Abschneiden des Divisionsergebnisses auf ganze Zahlen erhalten wird und wobei das Abtastwertbitberechnungsmittel die Bitzuweisung für Einheiten mit einem SMR, das kleiner als der SMR-Offset ist, unterdrückt.
  9. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 1, wobei das Restbitzuweisungsmittel bestimmte erste und zweite Ausführungsprozesse zum Zuweisen der Anzahl der Restbits ausführt, in dem ersten Ausführungsprozess ein Bit Einheiten zugewiesen wird, die jede ein größeres SMR haben, als der SMR-Offset, aber zu denen keine Bits als Ergebnis des Abschneidens auf ganze Zahlen des durch das Abtastwertbitberechnungsmittel ausgeführten Prozesses zugewiesen wurden, und in dem zweiten Ausführungsprozess ein Bit den Einheiten zugewiesen wurde, denen eine Anzahl von Bits, die nicht die Maximalanzahl der Bits aber eine Mehrzahl von Bits ist, zugewiesen wurde.
  10. Vorrichtung zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 9, wobei das Restbitzuweisungsmittel den ersten und zweiten Durchführungsprozess ausführt, während die Einheit von der höchsten Frequenzeinheit zur tiefsten Frequenzeinheit durchgegangen wird.
  11. Verfahren zur dynamischen Bitzuweisung für Audiokodierung zum Bestimmen einer Anzahl von Bits, die zum Quantisieren einer Mehrzahl zerlegter Abtastwerte eines digitalen Audiosignals verwendet werden, wobei die Mehrzahl der Abtastwertein Zeitintervallen gruppiert sind und die Abtastwerteder jeweiligen Zeitintervalle in eine Mehrzahl von Frequenzintervalleinheiten transformiert werden, wobei die Mehrzahl der Einheiten zumindest Einheiten unterschiedlicher Frequenzintervalle und/oder unterschiedlicher Zeitintervalle umfasst, wobei die unterschiedlichen Frequenzintervalle abhängig von einem kritischen Band menschlicher Hörcharakteristik bestimmt werden, und die unterschiedlichen Zeit- intervalle ein erstes Zeitintervall und ein zweites Zeitintervall umfassen, das länger als das erste Zeitintervall ist, wobei das Verfahren die folgenden Schritte umfasst: (a) einen Absolutgrenzwerteinstellschritt zum Einstellen eines Absolutgrenzwertes für jede Einheit, abhängig von einer bestimmten Grenzwertcharakteristik bei Ruhe, die die Hörfähigkeit einer Person bei Ruhe angibt; (b) einen Absolutgrenzwertnachstellschritt zum Nachstellen – nur für Einheiten des ersten Zeitintervalls – des Absolutgrenzwertes durch Ersetzen des Absolutgrenzwertes der Einheiten des ersten Zeitintervalls durch den minimalen Absolutgrenzwert unter den Einheiten des zweiten Zeitintervalls, das das gleiche Frequenzintervall abdeckt, wie die Einheiten des ersten Zeitintervalls; (c) einen Spitzenenergieberechnungsschritt zum Berechnen der Spitzenenergie der Einheiten abhängig von der Mehrzahl der in die Mehrzahl von Einheiten gruppierten Abtastwerte; (d) einen Maskierwirkungsberechnungsschritt zum Berechnen – nur für die Einheiten des zweiten Zeitintervalls – einer Maskierwirkung, welche eine minimale Hörgrenze ist, abhängig von einem bestimmten, vereinfachten, simultanen Maskierwirkungsmodel und einer Spitzenenergie einer maskierten Einheit und Aktualisieren und Einstellen des Absolutgrenzwertes jeder Einheit mit der berechneten Maskierwirkung; (e) einen Signal-Maskier-Verhältnis (SMR)-Berechnungsschritt zum Berechnen der SMRs abhängig von der berechneten Spitzenenergie jeder Einheit und einer der folgenden Grenzwerte, entweder (e1) dem aktualisierten Absolutgrenzwert jeder Einheit von Schritt (d) nach der Aktualisierung von Schritt (d), oder (e2) dem nachgestellten Absolutgrenzwert jeder Einheit nach Schritt (b) ohne jegliche Aktualisierung nach Schritt (d), oder (e3) dem eingestellten Absolutgrenzwert jeder Einheit nach Schritt (a) ohne jegliche Nachstellung nach Schritt (b) und jegliche Aktualisierung nach Schritt (d); (f) einen Verfügbare-Bit-Anzahl-Berechnungsschritt zum Berechnen einer Anzahl zur Bitzuweisung verfügbarer Bits, abhängig von einer Datenblockgröße des digitalen Audiosignals, unter der Annahme, dass alle zu quantisierenden Frequenzbänder alle Einheiten umfassen; (g) einen SMR Positivumwandlungsschritt zum positiven Umwandeln der SMRs aller Einheiten durch Addieren einer bestimmten positiven Anzahl zu den SMRs aller SMRs, um alle SMRs positiv zu machen; (h) einen SMR-Offset Berechnungsschritt zum Berechnen eines SMR-Offsets, der als ein Offset zum Verringern der positiv umgewandelten SMRs aller Einheiten festgelegt ist, abhängig von den positiv umgewandelten SMRs aller Einheiten, wobei eine SMR-Verringerungsschrittweite abhängig von einer Verbesserung des Signal-Rausch-Verhältnisses pro Bit einer bestimmten linearen Quantisierung und der Anzahl der verfügbaren Bits bestimmt wird; (i) einen Bandbreitenberechnungsschritt zum Aktualisieren einer Bandbreite, die Einheiten abdeckt, die abhängig von dem SMR-Offset und den berechneten SMRs zuzuweisende Bits sein müssen, um den SMR-Offset abhängig von der berechneten Bandbreite zu aktualisieren; (j) einen Abtastwertbitberechnungsschritt zum Berechnen eines subtrahierten SMRs durch Subtrahieren des berechneten SMR-Offsets von dem berechneten SMR jeder Einheit, und anschließendem Berechnen der Quantisierung einer Anzahl von Abtastwertbits, die für eine Anzahl von zu jeder Einheit zuzuweisender Bits steht, abhängig von dem subtrahierten SMR jeder Einheit und der SMR-Verringerungsschrittweite; und (k) einen Restbitzuweisungsschritt zum Zuweisen einer Anzahl verbleibender Bits, die sich vom Subtrahieren einer Summe der Anzahl zu allen Einheiten zuzuweisender Abtastwertbits von der berechneten Anzahl verfügbarer Bits ergeben, zu wenigstens Einheiten mit einem SMR, das größer als der SMR-Offset ist.
  12. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 11, wobei bei dem Spitzenenergieberechnungsschritt die Spitzenenergie jeder Einheit durch Ausführen einer bestimmten Approximation berechnet wird, bei der eine Amplitude des größten Spektralkoeffizienten innerhalb jeder Einheit durch einen Skalierungsfaktor entsprechend der Amplitude unter Verwendung einer bestimmten Skalierungstabelle ersetzt wird.
  13. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 11, wobei bei dem Maskierwirkungsberechnungsschritt das bestimmte, vereinfachte, simultane Maskierwirkmodel ein Hochbandseitenmaskierwirkmodel umfasst, zur Verwendung zum Maskieren eines Audiosignals von Einheiten höherer Frequenz als die maskierten Einheiten, und ein Tiefenbandseitenmaskierwirkmodel, das in der Frequenz tiefer als die maskierten Einheiten ist, und wobei ein Absolutgrenzwert, der letztlich für jede der maskierten Einheiten bestimmt ist, auf einen Maximumwert aus den eingestellten Absolutgrenzwerten der maskierten Einheiten und der simultanen Maskierwirkung, die durch das simultane Maskierwirkmodel bestimmt ist, eingestellt ist.
  14. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 11, wobei bei dem SMR-Berechnungsschritt das SMR jeder Einheit durch Subtrahieren des eingestellten Absolutgrenzwerts von der Spitzenenergie der Einheit in Dezibel (dB) berechnet wird.
  15. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 11, wobei bei dem SMR-Offset-Berechnungsschritt der SMR-Offset durch Berechnen eines Anfangs SMR-Offsets berechnet wird, abhängig von den auf ganze Zahlen abgeschnittenen SMRs aller Einheiten, der SMR-Reduktionsschrittweite und der Anzahl von Bits, die für die Bitzuweisung verfügbar sind, und anschließend ein bestimmter iterativer Prozess abhängig von dem berechneten Anfangs-SMR-Offset ausgeführt wird.
  16. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 15, wobei der interative Prozess die folgenden Schritte umfasst: Entfernen von Einheiten mit einem SMR kleiner als der Anfangs SMR-Offset von der Berechnung des SMR-Offsets; und iteratives Neuberechnen des SMR-Offsets, abhängig von den auf ganze Zahlen abgeschnittenen SMRs der verbleibenden Einheiten, der SMR-Reduktionsschrittweite und der Anzahl verfügbarer Bits, die für die Bitzuweisung verfügbar sind, bis die SMRs aller Einheiten, die in die SMR-Offset Berechnung eingebunden sind, größer werden als der letztlich bestimmte SMR-Offset, wodurch sichergestellt wird, dass keine Zuweisung negativer Bitnummern erfolgt.
  17. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 11, wobei bei dem Bandbreitenberechnungsschritt die Bandbreite durch Entfernen nachfolgender Einheiten von bestimmten Einheiten berechnet wird, wenn Einheiten mit einem SMR, das kleiner als der SMR-Offset ist, nachfolgend auftreten, und wobei die Anzahl der Bits entsprechend der entfernten Einheiten zu der Anzahl der verfügbaren Bits addiert wird, um die Anzahl verfügbarer Bits zu aktualisieren, wobei das Aktualisieren des SMR-Offsets abhängig von der aktualisierten Anzahl der verfügbaren Bits ausgeführt wird.
  18. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 11, wobei bei dem Abtastwertbitberechnungsschritt die Anzahl der Abtastwertbits jeder Einheit ein Wert ist, der erhalten wird durch, Subtrahieren des SMR-Offsets von dem SMR jeder Einheit, Dividieren des Subtraktionsergebnisses durch die SMR-Reduktionsschrittweite und anschließend Abschneiden des Divisionsergebnisses auf ganze Zahlen; und wobei die Bitzuweisung für Einheiten mit einem SMR, das kleiner als der SMR-Offset ist, unterdrückt wird.
  19. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 11, wobei bei dem Restbitzuweisungsschritt bestimmte erste und zweite Ausführungsprozesse zum Zuweisen der Anzahl der Restbits ausgeführt werden; wobei in dem ersten Ausführungsprozess ein Bit Einheiten zugewiesen wird, die je ein SMR haben, das größer als der SMR-Offset ist, denen aber keine Bits als ein Ergebnis des Abschneidens auf ganze Zahlen des Abtastwertbitberechnungsschritts zugewiesen wurden; und wobei in dem zweiten Ausführungsprozess ein Bit Einheiten zugewiesen wird, denen je eine Anzahl von Bits zugewiesen wurde, die nicht die Maximum-Anzahl von Bits aber eine Mehrzahl von Bits ist.
  20. Verfahren zur dynamischen Bitzuweisung für Audiokodierung nach Anspruch 19, wobei bei dem Restbitzuweisungsschritt der erste und zweite Ausführungsprozess ausgeführt werden, während die Einheit von der höchsten Frequenzeinheit zur tiefsten Frequenzeinheit durchgegangen wird.
DE69924431T 1998-06-16 1999-06-04 Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung Expired - Lifetime DE69924431T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP16826598A JP3515903B2 (ja) 1998-06-16 1998-06-16 オーディオ符号化のための動的ビット割り当て方法及び装置
JP16826598 1998-06-16

Publications (2)

Publication Number Publication Date
DE69924431D1 DE69924431D1 (de) 2005-05-04
DE69924431T2 true DE69924431T2 (de) 2006-02-09

Family

ID=15864817

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69924431T Expired - Lifetime DE69924431T2 (de) 1998-06-16 1999-06-04 Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung

Country Status (5)

Country Link
US (1) US6308150B1 (de)
EP (1) EP0966108B1 (de)
JP (1) JP3515903B2 (de)
CN (1) CN1146203C (de)
DE (1) DE69924431T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006555B1 (en) 1998-07-16 2006-02-28 Nielsen Media Research, Inc. Spectral audio encoding
DE19947877C2 (de) * 1999-10-05 2001-09-13 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Einbringen von Informationen in einen Datenstrom sowie Verfahren und Vorrichtung zum Codieren eines Audiosignals
US6735561B1 (en) * 2000-03-29 2004-05-11 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
US6968564B1 (en) * 2000-04-06 2005-11-22 Nielsen Media Research, Inc. Multi-band spectral audio encoding
US6754618B1 (en) * 2000-06-07 2004-06-22 Cirrus Logic, Inc. Fast implementation of MPEG audio coding
US6910035B2 (en) * 2000-07-06 2005-06-21 Microsoft Corporation System and methods for providing automatic classification of media entities according to consonance properties
US6879652B1 (en) 2000-07-14 2005-04-12 Nielsen Media Research, Inc. Method for encoding an input signal
US7035873B2 (en) 2001-08-20 2006-04-25 Microsoft Corporation System and methods for providing adaptive media property classification
JP2002196792A (ja) * 2000-12-25 2002-07-12 Matsushita Electric Ind Co Ltd 音声符号化方式、音声符号化方法およびそれを用いる音声符号化装置、記録媒体、ならびに音楽配信システム
EP1241663A1 (de) * 2001-03-13 2002-09-18 Koninklijke KPN N.V. Verfahren und Vorrichtung zur Sprachqualitätsbestimmung
DE10113322C2 (de) * 2001-03-20 2003-08-21 Bosch Gmbh Robert Verfahren zur Codierung von Audiodaten
JP4380174B2 (ja) * 2003-02-27 2009-12-09 沖電気工業株式会社 帯域補正装置
US6965859B2 (en) * 2003-02-28 2005-11-15 Xvd Corporation Method and apparatus for audio compression
US7739105B2 (en) * 2003-06-13 2010-06-15 Vixs Systems, Inc. System and method for processing audio frames
US7325023B2 (en) * 2003-09-29 2008-01-29 Sony Corporation Method of making a window type decision based on MDCT data in audio encoding
US7349842B2 (en) * 2003-09-29 2008-03-25 Sony Corporation Rate-distortion control scheme in audio encoding
US7426462B2 (en) * 2003-09-29 2008-09-16 Sony Corporation Fast codebook selection method in audio encoding
US7283968B2 (en) 2003-09-29 2007-10-16 Sony Corporation Method for grouping short windows in audio encoding
CN1898724A (zh) * 2003-12-26 2007-01-17 松下电器产业株式会社 语音/乐音编码设备及语音/乐音编码方法
US7272567B2 (en) * 2004-03-25 2007-09-18 Zoran Fejzo Scalable lossless audio codec and authoring tool
US7406412B2 (en) * 2004-04-20 2008-07-29 Dolby Laboratories Licensing Corporation Reduced computational complexity of bit allocation for perceptual coding
DE102004059979B4 (de) * 2004-12-13 2007-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur Berechnung einer Signalenergie eines Informationssignals
US7536301B2 (en) * 2005-01-03 2009-05-19 Aai Corporation System and method for implementing real-time adaptive threshold triggering in acoustic detection systems
US7627481B1 (en) * 2005-04-19 2009-12-01 Apple Inc. Adapting masking thresholds for encoding a low frequency transient signal in audio data
KR100851970B1 (ko) * 2005-07-15 2008-08-12 삼성전자주식회사 오디오 신호의 중요주파수 성분 추출방법 및 장치와 이를이용한 저비트율 오디오 신호 부호화/복호화 방법 및 장치
CN100459436C (zh) * 2005-09-16 2009-02-04 北京中星微电子有限公司 一种音频编码中比特分配的方法
US7676360B2 (en) * 2005-12-01 2010-03-09 Sasken Communication Technologies Ltd. Method for scale-factor estimation in an audio encoder
JP2008129250A (ja) * 2006-11-20 2008-06-05 National Chiao Tung Univ Aacのためのウィンドウ切り替え方法およびm/s符号化の帯域決定方法
FR2912249A1 (fr) * 2007-02-02 2008-08-08 France Telecom Codage/decodage perfectionnes de signaux audionumeriques.
KR101435411B1 (ko) 2007-09-28 2014-08-28 삼성전자주식회사 심리 음향 모델의 마스킹 효과에 따라 적응적으로 양자화간격을 결정하는 방법과 이를 이용한 오디오 신호의부호화/복호화 방법 및 그 장치
JP5262171B2 (ja) * 2008-02-19 2013-08-14 富士通株式会社 符号化装置、符号化方法および符号化プログラム
US8831933B2 (en) * 2010-07-30 2014-09-09 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for multi-stage shape vector quantization
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
AU2012256550B2 (en) 2011-05-13 2016-08-25 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
KR101913241B1 (ko) * 2013-12-02 2019-01-14 후아웨이 테크놀러지 컴퍼니 리미티드 인코딩 방법 및 장치
CN106409300B (zh) 2014-03-19 2019-12-24 华为技术有限公司 用于信号处理的方法和装置
US10043527B1 (en) * 2015-07-17 2018-08-07 Digimarc Corporation Human auditory system modeling with masking energy adaptation
WO2021113416A1 (en) * 2019-12-05 2021-06-10 Dolby Laboratories Licensing Corporation A psychoacoustic model for audio processing
CN112151046B (zh) * 2020-09-25 2024-06-18 北京百瑞互联技术股份有限公司 Lc3编码器自适应调节多声道传输码率的方法、装置及介质
CN114363139B (zh) * 2020-09-30 2024-05-03 北京金山云网络技术有限公司 规划带宽确定方法、装置、电子设备和可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU665200B2 (en) * 1991-08-02 1995-12-21 Sony Corporation Digital encoder with dynamic quantization bit allocation
KR100269213B1 (ko) * 1993-10-30 2000-10-16 윤종용 오디오신호의부호화방법
JP3131542B2 (ja) * 1993-11-25 2001-02-05 シャープ株式会社 符号化復号化装置
US5761636A (en) * 1994-03-09 1998-06-02 Motorola, Inc. Bit allocation method for improved audio quality perception using psychoacoustic parameters
DE69522187T2 (de) * 1994-05-25 2002-05-02 Sony Corp., Tokio/Tokyo Verfahren und vorrichtung zur kodierung, dekodierung und kodierung-dekodierung
KR100289733B1 (ko) * 1994-06-30 2001-05-15 윤종용 디지탈 오디오 부호화 방법 및 장치
KR0144011B1 (ko) * 1994-12-31 1998-07-15 김주용 엠펙 오디오 데이타 고속 비트 할당 및 최적 비트 할당 방법
EP0820624A1 (de) * 1995-04-10 1998-01-28 Corporate Computer Systems, Inc. System zur komprimierung und dekomprimierung von tonsignalen für digitale übertragung
DE19613643A1 (de) * 1996-04-04 1997-10-09 Fraunhofer Ges Forschung Verfahren zum Codieren eines mit einer niedrigen Abtastrate digitalisierten Audiosignals
CN1106085C (zh) * 1996-04-26 2003-04-16 德国汤姆逊-布朗特公司 对数字音频信号编码的方法和装置
GB2318029B (en) * 1996-10-01 2000-11-08 Nokia Mobile Phones Ltd Audio coding method and apparatus
KR100261254B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치
US6161088A (en) * 1998-06-26 2000-12-12 Texas Instruments Incorporated Method and system for encoding a digital audio signal

Also Published As

Publication number Publication date
CN1239368A (zh) 1999-12-22
DE69924431D1 (de) 2005-05-04
EP0966108A2 (de) 1999-12-22
CN1146203C (zh) 2004-04-14
EP0966108A3 (de) 2002-06-19
US6308150B1 (en) 2001-10-23
EP0966108B1 (de) 2005-03-30
JP3515903B2 (ja) 2004-04-05
JP2000004163A (ja) 2000-01-07

Similar Documents

Publication Publication Date Title
DE69924431T2 (de) Vorrichtung und Verfahren zur dynamischen Bitverteilung für Audiokodierung
DE69401514T2 (de) Vom rechenaufwand her effiziente adaptive bitzuteilung für kodierverfahren und kodiereinrichtung
DE69431622T2 (de) Verfahren und gerät zum kodieren von mit mehreren bits kodiertem digitalem ton durch subtraktion eines adaptiven zittersignals, einfügen von versteckten kanalbits und filtrierung, sowie kodiergerät zur verwendung bei diesem verfahren
DE69326484T2 (de) Vorrichtung und Verfahren zur Datenkompression
DE69329796T2 (de) Verfahren zur kodierung, dekodierung und kompression von audiodaten
DE69232251T2 (de) Digitaler Kodierer mit dynamischer Quantisierungsbitverteilung
DE60000047T2 (de) Perzeptuelles Bit-Zuweisungsverfahren für Audio-Kodierer mit verbesserter Einheitlichkeit der perzeptuellen Qualität
DE69401512T2 (de) Hybride adaptive bitzuteilung für audiokoder und -dekoder
DE69323106T2 (de) Verfahren und Vorrichtung für perceptuelles Kodieren von Audio-Signalen
DE69319494T2 (de) Kodierungsvorrichtung für Audiosignalen und Verfahren dazu
DE60207061T2 (de) Audiokompression
DE69320872T2 (de) Kompression und Dehnung von digitalen Signalen
DE60313332T2 (de) Audiocodierung mit niedriger bitrate
DE69418994T2 (de) Kodier- und Dekodierapparat welcher keine Tonqualität verschlechtert, sogar wenn ein Sinuswellen-Signal dekodiert wird
DE3784120T2 (de) Tabellengesteuerte dynamische bitverteilung in einem teilband-sprachkodierer mit veraenderlicher datenrate.
DE69907267T2 (de) Entropie-code modenwechsel zur frequenzbereichsaudiokodierung
DE69401517T2 (de) Teilbandkodierer mit differentiell kodierten skalenfaktoren
DE69333394T2 (de) Hochwirksames Kodierverfahren und -gerät
DE69915400T2 (de) Vorrichtung zur Kodierung und Dekodierung von Audiosignalen
DE69826529T2 (de) Schnelle datenrahmen-optimierung in einem audio-kodierer
DE69522187T2 (de) Verfahren und vorrichtung zur kodierung, dekodierung und kodierung-dekodierung
DE69932861T2 (de) Verfahren zur kodierung eines audiosignals mit einem qualitätswert für bit-zuordnung
EP2022043A1 (de) Informationssignalcodierung
EP0611516B1 (de) Verfahren zur reduzierung von daten bei der übertragung und/oder speicherung digitaler signale mehrerer abhängiger kanäle
DE60017825T2 (de) Verfahren und Vorrichtung zur Kodierung und Dekodierung von Audiosignalen und Aufzeichnungsträger mit Programmen dafür

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP