DE19735675C2 - Method for concealing errors in an audio data stream - Google Patents

Method for concealing errors in an audio data stream

Info

Publication number
DE19735675C2
DE19735675C2 DE19735675A DE19735675A DE19735675C2 DE 19735675 C2 DE19735675 C2 DE 19735675C2 DE 19735675 A DE19735675 A DE 19735675A DE 19735675 A DE19735675 A DE 19735675A DE 19735675 C2 DE19735675 C2 DE 19735675C2
Authority
DE
Germany
Prior art keywords
spectral
subgroup
spectral values
audio data
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE19735675A
Other languages
German (de)
Other versions
DE19735675A1 (en
Inventor
Wolfgang Schildbach
Juergen Herre
Martin Sieler
Karl-Heinz Brandenburg
Heinz Gerhaeuser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to DE19735675A priority Critical patent/DE19735675C2/en
Application filed by Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority to DK98914886T priority patent/DK0978172T3/en
Priority to PCT/EP1998/001487 priority patent/WO1998048531A1/en
Priority to US09/331,697 priority patent/US6421802B1/en
Priority to JP10544823A priority patent/JP2000508440A/en
Priority to CA002276202A priority patent/CA2276202C/en
Priority to EP98914886A priority patent/EP0978172B1/en
Priority to DE59800301T priority patent/DE59800301D1/en
Priority to AT98914886T priority patent/ATE196960T1/en
Publication of DE19735675A1 publication Critical patent/DE19735675A1/en
Application granted granted Critical
Publication of DE19735675C2 publication Critical patent/DE19735675C2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/11Arrangements for counter-measures when a portion of broadcast information is unavailable
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1876Interpolating methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00992Circuits for stereophonic or quadraphonic recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/65Arrangements characterised by transmission systems for broadcast
    • H04H20/76Wired systems
    • H04H20/82Wired systems using signals not modulated onto a carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (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)

Description

Die vorliegende Erfindung bezieht sich auf Audiocodierver­ fahren und insbesondere auf Fehlerverschleierungstechniken beim Codieren von Audiosignalen.The present invention relates to audio coding servers drive and especially on error concealment techniques when encoding audio signals.

Das sogenannte "Internet Radio Broadcasting", d. h. das Übertragen eines Radioprogramms live über das Internet, er­ fordert es, Tausende von Echtzeitverbindungen zwischen einem Sender und Empfängerprogrammen, die sich beispielsweise in einem Personalcomputer eines Internetteilnehmers befinden, aufzubauen.The so-called "Internet radio broadcasting", i. H. the Broadcast a radio program live over the Internet, he calls for thousands of real-time connections between one Transmitter and receiver programs, for example, in a personal computer of an Internet subscriber, build.

Das derzeit am häufigsten verbreitete Internet-Protokoll http stellt eine fehlerfreie Übertragung sicher, dasselbe besitzt jedoch keine Echtzeiteigenschaften. Dieses Protokoll bedingt eine zur Anzahl der empfangenen Stationen proportio­ nale Netzlast beim Sender. Somit ist die Anzahl der gleich­ zeitigen Hörer je nach Datenrate des codierten Signals typi­ scherweise auf wenige Hundert begrenzt, was für "Rundfunkan­ wendungen", d. h. Anwendungen, bei denen Radio- oder Fern­ sehsignale übertragen werden sollen, sicher nicht ausreicht.The currently most widely used Internet protocol http ensures error-free transmission, the same however, has no real-time properties. This protocol requires a proportion to the number of stations received network load at the transmitter. So the number of is the same early listener depending on the data rate of the coded signal typi limited to a few hundred, which is what "Rundfunkan ", i.e. applications where radio or long distance visual signals are to be transmitted, certainly not sufficient.

Neue Protokolle zur Übertragung von Daten über das Internet, wie z. B. rtp (rtp = realtime transmission protocol = Echt­ zeitübertragungsprotokoll), umgehen diesen Flaschenhals, in­ dem sie im Gegensatz zu dem Protokoll http Fehler in der Übertragung zulassen.New protocols for transferring data over the Internet, such as B. rtp (rtp = realtime transmission protocol = real time transfer protocol), bypass this bottleneck, in which, in contrast to the http error in the protocol Allow transfer.

Dadurch stellt sich für den Empfänger das Problem, wie er mit fehlerhaften Übertragungsdaten umgehen soll. Wie wird beispielsweise das Fehlen von Teilen eines Multimedia- oder Audiodatenstroms überbrückt? This poses the problem for the recipient like him to deal with faulty transmission data. As is for example the lack of parts of a multimedia or Bridged audio data stream?  

Zur Fehlerbehandlung sind im Stand der Technik einige Ver­ fahren bereits bekannt. Beim Verfahren des Stummschaltens, welches die einfachste Art der Fehlerverschleierung ist, wird die Wiedergabe abgeschaltet, solange Daten fehlen oder fehlerhaft sind. Die fehlenden Daten werden durch ein Null­ signal ersetzt. Aufgrund psychoakustischer Effekte wird die­ ses plötzliche Abfallen und Ansteigen der Signalenergie als sehr unangenehm empfunden. Ein Stummschaltverfahren ist bei­ spielsweise in Detlef Wiese: "Error Concealment Strategies for Digital Audio Broadcasting", 92. AES Convention, Wien 1992, Preprint 3264, und in Detlef Wiese: "Anwendung von Fehlerverschleierungstechniken für digitalen Hörrundfunk (DAB)", 9. ITG-Fachtagung "Hörrundfunk", Mannheim 2/92, beschrieben.In the prior art, some ver drive already known. When muting, which is the easiest way to conceal errors, playback is switched off as long as data is missing or are faulty. The missing data is indicated by a zero signal replaced. Due to psychoacoustic effects This sudden drop and rise in signal energy than felt very uncomfortable. A mute procedure is at for example in Detlef Wiese: "Error Concealment Strategies for Digital Audio Broadcasting ", 92nd AES Convention, Vienna 1992, Preprint 3264, and in Detlef Wiese: "Application of Error concealment techniques for digital radio broadcasting (DAB) ", 9th ITG conference" Hörrundfunk ", Mannheim 2/92, described.

Ein weiteres bekanntes Verfahren ist das Verfahren der Da­ tenwiederholung. Fällt ein Datenstrom aus, wird ein Teil der zuletzt gesendeten Daten in einer Schleife wiederholt. Bei blockorientierten Verfahren, welche die Mehrheit bekannter Audiocodierverfahren sind, würden also beispielsweise der oder die zuletzt empfangenen Blöcke wiederholt. Ein derarti­ ges Verfahren ist aus den bereits zitierten Literaturstellen bekannt.Another known method is the Da method tenwiederholung. If a data stream fails, part of the last sent data repeated in a loop. at block-oriented procedures, which the majority of known Audio coding methods are, for example, would be the or repeats the blocks last received. Such a The procedure is from the references already cited known.

Dieses Verfahren führt jedoch zu störenden Artefakten: Wer­ den nur kurze Teile des Audiosignals wiederholt, so klingt das repetierte Signal - unabhängig vom Originalsignal - ma­ schinenartig mit einer Grundfrequenz bei der Wiederholfre­ quenz. Werden längere Teile wiederholt, entstehen "Echo­ effekte", die ebenfalls als störend empfunden werden.However, this procedure leads to annoying artifacts: who which only repeats short parts of the audio signal, that is what it sounds like the repeated signal - regardless of the original signal - ma shine-like with a basic frequency at the repetition frequency frequency. If longer parts are repeated, "Echo occurs effects ", which are also perceived as disturbing.

Ein weiteres Verfahren, das Verfahren der Dateninterpola­ tion, baut auf der Wahrscheinlichkeit, daß bei Übertragung eines Datenstroms mit relativ hoher Verzögerung bereits wie­ der gültige Audiodaten vorliegen, wenn eine Fehlerlücke des Audiodatensignals verschleiert werden muß. Es kann eine In­ terpolation verwendet werden, um Daten in der Lücke zu gene­ rieren, wie es in Laurent Filliat, Mario Rossi, Joseph Maisano, "Error Correction by Interpolation in Digital Audio", 92. AES Convention, Wien 1992, Preprint 3281, beschrieben ist.Another method, the method of data interpolation tion, builds on the likelihood of being transmitted a data stream with a relatively high delay already like the valid audio data is available if there is a defect in the Audio data signal must be obscured. It can be an in terpolation can be used to gene data in the gap like Laurent Filliat, Mario Rossi, Joseph Maisano,  "Error Correction by Interpolation in Digital Audio", 92nd AES Convention, Vienna 1992, preprint 3281 is.

Ein Nachteil dieses Verfahrens besteht beispielsweise darin, daß die Verzögerung in vielen Fällen nicht hinnehmbar ist, insbesondere, wenn an Telefonieanwendungen gedacht wird.A disadvantage of this method is, for example, that in many cases the delay is unacceptable, especially when thinking about telephony applications.

Bei blockorientierten Transformationscodierern/Decodierern kann die Signalenergie pro Spektrallinie von einem Block auf den nächsten vorhergesagt oder "prädiziert" werden. Dieses bekannte Verfahren (Jürgen Herre: "Fehlerverschleierung bei spektral codierten Audiosignalen", Dissertation, Universität Erlangen-Nürnberg, Erlangen 1995) führt zwar zu einer guten Fehlerverschleierung, es ist jedoch ein relativ hoher Re­ chenaufwand vonnöten, der derzeit eine Echtzeitdecodierung eines empfangenen Multimedia- oder Audiodatensignals unmög­ lich macht.With block-oriented transform encoders / decoders can the signal energy per spectral line from one block the next are predicted or "predicted". This Known procedures (Jürgen Herre: "Error concealment with spectrally coded audio signals ", dissertation, university Erlangen-Nürnberg, Erlangen 1995) leads to a good one Error concealment, however it is a relatively high re This requires real-time decoding a received multimedia or audio data signal impossible Lich makes.

In der Technik ist es ebenfalls bekannt, die Redundanz im Datenstrom zu erhöhen. Es ist möglich, in einen Audiodaten­ strom bereits beim Codierer oder Sender einen zweiten Daten­ strom einzufügen, der dasselbe Signal (bei eventuell niedri­ gerer Datenrate und entsprechend niedrigerer Qualität) über­ trägt. Versetzt man diesen zweiten Datenstrom zeitlich ge­ genüber dem ersteren, so ist es wahrscheinlich, daß zu jedem Zeitpunkt wenigstens aus einem der beiden Ströme gültige Da­ ten empfangen werden. Somit kann der Ausfall eines Signals durch das andere Signal überbrückt werden. Dieses Verfahren liefert bei fehlerhaftem Hauptsignal eine informationstreue Wiedergabe, die jedoch üblicherweise eine schlechtere Quali­ tät haben wird.It is also known in the art to provide redundancy in the Increase data flow. It is possible in an audio data current already at the encoder or transmitter a second data to insert current, the same signal (with possibly low lower data rate and correspondingly lower quality) wearing. If you offset this second data stream in time compared to the former, it is likely that to everyone Time valid Da from at least one of the two streams be received. Thus, the failure of a signal be bridged by the other signal. This method provides a true to information in the event of a faulty main signal Playback, however, is usually of poorer quality will have acted.

Wie auch das vorhergehende Verfahren erhöht dieses Verfahren die Verzögerung zwischen Sender und Empfänger, weshalb die gleichen Nachteile wie bei der Dateninterpolation vorhanden sind. Weiterhin wird die Datenrate erhöht, da ja ein zweites gewissermaßen identisches Signal übertragen wird, was insbesondere bei kleinen Datenraten oder verfügbaren Übertra­ gungsbandbreiten nicht akzeptabel sein kann.Like the previous procedure, this procedure increases the delay between sender and receiver, which is why the same disadvantages as with data interpolation are. Furthermore, the data rate is increased, since there is a second one a certain identical signal is transmitted, which in particular  with low data rates or available transfers bandwidths may not be acceptable.

Bei der Übertragung eines Stereosignals existiert ein weite­ res Verfahren, um Fehler in der Übertragung zu verschleiern. Bei dem Verfahren der Links/Rechts-Ersetzung kann der ge­ störte oder ausgefallene Kanal durch den jeweils anderen Ka­ nal ersetzt werden, wie es in Detlef Wiese: "Error Conceal­ ment Strategies for Digital Audio Broadcasting", 92. AES Convention, Wien 1992, Preprint 3264, Detlef Wiese: "Anwen­ dung von Fehlerverschleierungstechniken für digitalen Hör­ rundfunk (DAB)", 9. ITG-Fachtagung "Hörrundfunk", Mannheim 2/92, und Jürgen Herre: "Fehlerverschleierung bei spektral codierten Audiosignalen", Dissertation, Universität Erlan­ gen-Nürnberg, Erlangen 1995, beschrieben ist. Im allgemeinen werden jedoch die Daten für beide Kanäle gleichzeitig über­ tragen und daher auch gleichzeitig gestört. Andernfalls han­ delt es sich hier um einen Spezialfall zum Verfahren der Er­ höhung der Redundanz im Datenstrom. Dieses Verfahren kann ferner nur dann angewendet werden, wenn der linke und der rechte Kanal unabhängig voneinander decodierbar sind. Es ist jedoch beispielsweise bei den sogenannten "Joint Stereo"- Modi, die durch den Standard-MPEG Layer-3 definiert sind, nicht möglich.When transmitting a stereo signal, there is a wide one res procedure to disguise transmission errors. In the process of left / right replacement, the ge disturbed or failed channel through the other Ka nal be replaced, as in Detlef Wiese: "Error Conceal Strategies for Digital Audio Broadcasting ", 92nd AES Convention, Vienna 1992, Preprint 3264, Detlef Wiese: "Anwen Development of error concealment techniques for digital hearing Rundfunk (DAB) ", 9th ITG conference" Hörrundfunk ", Mannheim 2/92, and Jürgen Herre: "Error concealment at spectral coded audio signals ", dissertation, University of Erlan gen-Nürnberg, Erlangen 1995. In general however, the data for both channels are over simultaneously wear and therefore disturbed at the same time. Otherwise han it is a special case for the procedure of the Er Increased redundancy in the data stream. This procedure can furthermore only be used if the left and the right channels can be decoded independently of each other. It is however, for example with the so-called "joint stereo" - Modes defined by the standard MPEG Layer-3 not possible.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Verschleiern von Fehlern in einem Audiodaten­ strom zu schaffen, das eine effektive und möglichst nicht hörbare Fehlerverschleierung erreicht.The object of the present invention is a Method for concealing errors in an audio data to create electricity that is effective and if possible not Audible error concealment reached.

Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 ge­ löst.This object is achieved by a method according to claim 1 solves.

Das Verfahren zum Verschleiern von Fehlern in einem Audio­ datenstrom gemäß der vorliegenden Erfindung umfaßt folgende Schritte:
Erfassen des Auftretens eines Fehlers in einem Audiodatenstrom, wobei Audiodaten vor Auftreten des Fehlers intakte Audiodaten sind;
Berechnen einer spektralen Energie in einer Untergruppe der intakten Audiodaten;
Bilden einer Vorlage für Ersatzdaten aufgrund der für die Untergruppe der intakten Audiodaten berechneten spektralen Energie; und
Erzeugen der Ersatzdaten für fehlerhafte oder nicht vorhan­ dene Audiodaten, die der Untergruppe entsprechen, aufgrund der Vorlage.
The method for concealing errors in an audio data stream according to the present invention comprises the following steps:
Detecting the occurrence of an error in an audio data stream, wherein audio data is intact audio data before the error occurs;
Computing a spectral energy in a subset of the intact audio data;
Forming a template for replacement data based on the spectral energy calculated for the subset of the intact audio data; and
Generate the replacement data for faulty or nonexistent audio data corresponding to the sub-group based on the template.

Eine Untergruppe im Sinne dieser Anmeldung umfaßt jeweils mehrere aufeinanderfolgende Frequenzlinien. Der Frequenz­ bereich wird also in aufeinanderfolgende Untergruppen einge­ teilt, wobei jede Untergruppe aufeinanderfolgende Frequenz­ linien hat. Vorzugsweise können die Untergruppen den aus der Psychoakustik bekannten Frequenzgruppen entsprechen. Es kann jedoch auch eine von den Frequenzgruppen abweichende Eintei­ lung für die Untergruppen gewählt werden, wie es weiter hin­ ten beschrieben ist.A subgroup in the sense of this application comprises several successive frequency lines. The frequency area is thus divided into successive subgroups divides, each subgroup being consecutive frequency has lines. The subgroups can preferably be those from the Psychoacoustics correspond to known frequency groups. It can but also a division that differs from the frequency groups be selected for the subgroups as it continues is described.

Wie es aus der späteren detaillierten Beschreibung offen­ sichtlich wird, löst dieses Verfahren im Stand der Technik vorhandene Nachteile, da es weder eine erhöhte Verzögerung noch eine Erhöhung der Datenrate, d. h. eine Änderung der Quellencodierung erfordert, noch die unangenehme Zeit- und Frequenzstruktur eines einfach repetierten Signalabschnitts aufweist. Im Gegensatz beispielsweise zum Verfahren der spektralen Prädiktion, das bereits umrissen wurde, liefert das erfindungsgemäße Verfahren eine gehörangepaßte Rausch­ substitution. Ausgegangen wird von einer Frequenzdarstellung eines zeitlichen Audiosignals, welche auf viele für Fachleu­ te bekannten Arten und Weisen erhalten werden kann. Wie es von Zwicker und Fastl in "Psychoacoustics, Facts and Mo­ dels", 1990, dargelegt wurde, kann das Spektrum eines Signals in sogenannte Frequenzgruppen gruppiert werden. Dies führt zu einer Skalierung der Frequenzachse in Bark, welche gehörrelevante Eigenschaften berücksichtigt, und zwar im Gegensatz zu einer üblichen Skalierung der Frequenzachse in Hertz. Ein Bark ist die Frequenzdifferenz zwischen benach­ barten Frequenzgruppen. Eine Frequenzgruppe ist, wie es von Zwicker definiert wurde, die maximale Bandbreite, innerhalb der die Intensitäten einzelner Töne durch das menschliche Ohr summiert werden, um Hörschwellen zu bilden.As it will be apparent from the later detailed description becomes apparent, this method solves in the prior art existing disadvantages as there is neither an increased delay yet an increase in the data rate, i. H. a change in Source coding still requires the uncomfortable time and Frequency structure of a simply repeated signal section having. In contrast, for example, to the process of spectral prediction that has already been outlined the method according to the invention a hearing-adapted noise substitution. A frequency representation is assumed of a temporal audio signal, which affects many for professionals te known ways can be obtained. Like it by Zwicker and Fastl in "Psychoacoustics, Facts and Mo dels ", 1990, the spectrum of a signal  be grouped into so-called frequency groups. This leads to a scaling of the frequency axis in Bark, which Hearing-relevant properties are taken into account, namely in Contrary to a usual scaling of the frequency axis in Hertz. A bark is the frequency difference between neighbors bartended frequency groups. A frequency group is like it from Zwicker has defined the maximum bandwidth within which is the intensity of individual tones by human Ear are summed to form hearing thresholds.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß es für eine Fehlerverschleierung ausreicht, ein "gut" spektral geformtes Zufallssignal zu erzeugen. "Gut" bedeutet in diesem Zusammenhang, daß die spektralen Energien in Fre­ quenzgruppen des Zufallssignals mit den spektralen Energien der intakten Audiodaten vor Auftreten des Fehlers überein­ stimmen bzw. von denselben hergeleitet sind.The present invention is based on the finding that that it is sufficient for an error concealment, a "good" generate spectrally shaped random signal. "Good" means in this context that the spectral energies in Fre Sequence groups of the random signal with the spectral energies of the intact audio data before the error occurred agree or are derived from the same.

Bevor auf verschiedene Ausführungsbeispiele der vorliegenden Erfindung eingegangen wird, werden weitere Begriffe, die für das Verständnis der Erfindung wesentlich sind, kurz erläu­ tert.Before going into various embodiments of the present Invention is entered, other terms used for the understanding of the invention are essential, briefly tert.

Wenn in dieser Anmeldung von einer "spektralen Energie" ei­ ner Frequenzlinie die Rede ist, so wird darunter das Be­ tragsquadrat dieser beispielsweise durch eine Fourier-Trans­ formation errechneten Spektralkomponente verstanden. Wenn dagegen von der "spektralen Energie" einer Untergruppe ge­ sprochen wird, so wird darunter die Summe der quadrierten Beträge der Spektralkomponenten in dieser Untergruppe ver­ standen, welche beispielsweise durch eine Fourier-Trans­ formation errechnet worden sind. Wichtig ist jedoch, anzu­ merken, daß der Ausdruck "spektrale Energie" nicht völlig streng verwendet wird. Wird beispielsweise das Verfahren der vorliegenden Erfindung in einem Codierer ausgeführt, der nach MPEG Layer-3 arbeitet, so läuft das Verfahren auf der Basis von MDCT-Linien (MDCT = modifizierte diskrete Cosinus Transformation) ab. Die dort verwendete modifizierte diskrete Cosinus Transformation, welche eine Überlappung und Fen­ sterung beinhaltet, ist jedoch im strengen Sinne nicht ener­ gieerhaltend. Das bedeutet, daß es keinen einfachen Weg gibt, aus MDCT-Spektren die Energie pro Frequenzlinie im Sinne beispielsweise einer Fourier-Transformation zu finden. Umgekehrt ist es bei Kenntnis dieser Energie nicht ohne wei­ teres möglich, ein MDCT-Spektrum zu erzeugen, das die ge­ forderte Energie enthält. Der Ausdruck "spektrale Energie" bezieht sich also sowohl auf die energieerhaltende Fourier- Transformation als auch auf die "nicht"-energieerhaltende modifizierte diskrete Cosinus Transformation oder auf ähnli­ che nicht-energieerhaltende Transformationsverfahren, welche bekannt sind. Die Nützlichkeit des Verfahrens gemäß der vor­ liegenden Erfindung hängt allerdings auch nicht von einer genauen Energieerhaltung ab, da das Verfahren zum Verschlei­ ern von Fehlern in einem Audiodatenstrom gerade nicht eine exakte Wiederherstellung der Ursprungsdaten, welche im all­ gemeinen nicht möglich ist, sondern eben eine Abschätzung von Ersatzdaten betrifft, die bewirken, daß ein aufgetrete­ ner Fehler möglichst unhörbar und damit verschleiert wird.If in this application of a "spectral energy" egg ner frequency line, the Be supporting square of this, for example, by a Fourier trans formation calculated spectral component understood. If on the other hand from the "spectral energy" of a subgroup is spoken, the sum of the squared is underneath Spectral component amounts in this subgroup ver stood, which for example by a Fourier Trans formation have been calculated. However, it is important to start notice that the term "spectral energy" is not entirely is used strictly. For example, if the process of present invention carried out in an encoder which works according to MPEG Layer-3, so the procedure runs on the Basis of MDCT lines (MDCT = modified discrete cosine Transformation). The modified discrete used there  Cosine transformation, which is an overlap and fen includes, but is not strictly strict gieerhaltend. That means that there is no easy way gives the energy per frequency line in the MDCT spectra For example, to find a Fourier transform. Conversely, knowing this energy is not without white teres possible to generate an MDCT spectrum that the ge required energy contains. The expression "spectral energy" therefore relates both to the energy-conserving Fourier Transformation as well as on the "non" energy-conserving modified discrete cosine transformation or similar che non-energy-conserving transformation processes, which are known. The usefulness of the procedure according to the above However, lying invention does not depend on one exact energy conservation, since the procedure for wear errors in an audio data stream are not just one exact restoration of the original data, which in all is not possible in general, but just an estimate of substitute data that causes an occurred error is as inaudible as possible and thus obscured.

Weiterhin wird in dieser Anmeldung öfters von Audiodaten vor Auftreten des Fehlers oder von intakten Audiodaten gespro­ chen. Es sei angemerkt, daß sich diese Ausdrücke nicht auf den eigentlichen Empfangsprozeß beispielsweise eines vom In­ ternet lesenden Programmes bezieht. Bei manchen Internet- Protokollen können sequentiell abgeschickte Datenpakete in anderer Reihenfolge ankommen. Wird also von Audiodaten vor Auftreten eines Fehlers gesprochen, so wird damit nicht auf die Echtzeit Bezug genommen, sondern auf die durch den Au­ diodatenstrom vorgegebene Reihenfolge. Weiterhin sei ange­ merkt, daß Audiodaten vor Auftreten eines Fehlers selbstver­ ständlich zu einem noch früheren Zeitpunkt ebenfalls fehler­ haft bzw. nicht vorhanden gewesen sein könnten. Wenn jedoch in einem Audiodatenstrom ein Fehler erfaßt wird, so bedeutet dies, daß auf jeden Fall vor Auftreten des Fehlers intakte Audiodaten vorhanden gewesen sind. Dies bedeutet also nicht, daß das Verfahren der vorliegenden Erfindung lediglich den allerersten Fehler in einem Audiodatenstrom behandeln kann.Furthermore, audio data is often used in this application Occurrence of the error or intact audio data chen. It should be noted that these terms do not refer to the actual reception process, for example one from In ternet reading programs. With some internet Protocols can send data packets sequentially arrive in a different order. So is preceded by audio data If an error occurs, it is not spoken of referenced in real time, but to those by the Au Diodata stream given order. Furthermore, it should be noted notices that audio data self-ver of course, also at an earlier point in time imprisoned or could not have been present. But when an error is detected in an audio data stream, means this is that in any case before the error occurs There was audio data. So this doesn't mean that the method of the present invention only the  can handle very first errors in an audio stream.

Wie bereits erwähnt wurde, wird in dieser Anmeldung das un­ erwartete Nichtvorhandensein von Audiodaten ebenfalls wie das Vorhandensein von fehlerhaften, d. h. teilweise zerstör­ ten, Audiodaten als Fehler bezeichnet. Wenn also fehlerhafte Audiodaten durch Ersatzdaten ersetzt werden, so bedeutet dies, daß entweder teilweise zerstörte Audiodaten durch Er­ satzdaten ersetzt werden, oder daß an der Stelle, an der un­ erwarteterweise keine Audiodaten vorhanden sind, Ersatzdaten eingesetzt werden.As already mentioned, the un expected absence of audio data as well the presence of faulty, i.e. H. partially destroyed audio data called errors. So if faulty Audio data are replaced by replacement data, so means this means that either partially destroyed audio data by Er record data are replaced, or that at the point where the un As expected, no audio data is available, replacement data be used.

Wenn ferner in dieser Anmeldung davon gesprochen wird, daß aufgrund von intakten Audiodaten spektrale Energien berech­ net werden, so soll dies nicht bedeuten, daß die gesamten intakten Audiodaten zwischen dem aktuellen und dem letzten Fehler verwendet werden. Stattdessen ist die Menge der in­ takten Audiodaten, die den Audiodatenstrom vor Auftreten des Fehlers darstellen, von dem einzelnen Anwendungsfall abhän­ gig. Bei Ausführungsbeispielen der vorliegenden Erfindung, welche blockbasierend arbeiten, kann die Menge der intakten Audiodaten beispielsweise nur Audiodaten des letzten Blocks oder mehrerer letzter Blöcke umfassen. Ferner müssen nicht unbedingt alle intakten Audiodaten beispielsweise eines Blocks verwendet werden, sondern lediglich beispielsweise Audiodaten, die Informationen über Energien pro Untergruppe aufweisen. Eine Stärke des Verfahrens der vorliegenden Erfindung besteht ja gerade darin, daß nicht unbedingt alle Frequenzlinien gespeichert und im Fehlerfall prädiziert wer­ den müssen. Je mehr Audiodaten jedoch zum Bilden einer Vor­ lage für Ersatzdaten verwendet werden, um so präziser können Ersatzdaten aus der spektralen Vorlage erzeugt werden, um einen Fehler besser zu verschleiern.When it is also said in this application that calculate spectral energies based on intact audio data net, so it should not mean that the whole intact audio data between the current and the last one Errors are used. Instead, the amount of in clock audio data that the audio data stream before the occurrence of the Represent errors, depending on the individual application gig. In embodiments of the present invention, which work block-based, the amount of intact Audio data, for example, only audio data from the last block or more last blocks. Furthermore, do not have to absolutely all intact audio data, for example one Blocks are used, but only for example Audio data, the information about energies per subgroup exhibit. A strength of the method of the present Invention is precisely that not all Frequency lines are saved and predicted in the event of an error have to. However, the more audio data to form a pre location for substitute data can be used to be more precise Substitute data are generated from the spectral template to to hide a mistake better.

Im nachfolgenden wird das erfindungsgemäße Verfahren anhand eines Audiocodierverfahrens, das spektral codierte Audio­ daten erzeugt und überträgt, beispielhaft dargestellt. Die meisten modernen Audiocodierverfahren, wie z. B. MPEG Layer 1-3, MPEG AAC, Dolby AC-3, PAC, liefern spektral codierte Audiodaten, welche von einem entsprechenden Decodierer emp­ fangen, decodiert und wieder in den Zeitbereich umgesetzt werden.The method according to the invention is described below of an audio coding method, the spectrally coded audio data generated and transmitted, shown as an example. The most modern audio coding methods, such as. B. MPEG layer  1-3, MPEG AAC, Dolby AC-3, PAC, provide spectrally coded Audio data, which emp from a corresponding decoder catch, decode and put back into the time domain become.

Wie es allgemein bekannt ist, wird ein zu codierendes ana­ loges Signal mit einer geeigneten Abtastfrequenz, wie z. B. 44,1 kHz, abgetastet, um ein diskretes Zeitsignal zu erhal­ ten. Ein solches diskretes Zeitsignal kann nun mittels einer geeigneten Fensterfunktion gefenstert werden, um Blöcke mit einer bestimmten Anzahl von einzelnen zeitdiskreten Signal­ werten zu erhalten, welche insbesondere zu den Rändern der Blöcke hin durch die Fensterfunktion gewichtet sind, wie es in der Nachrichtentechnik allgemein bekannt ist. Ein Block mit mittels einer Fensterfunktion gewichteten zeitdiskreten Signalen wird nun mittels eines geeigneten Transformations­ verfahrens vom Zeitbereich in den Frequenzbereich transfor­ miert. Geeignete Transformationsverfahren können eine schnelle Fouriertransformation (FFT), ein Filterbankverfah­ ren oder eine modifizierte diskrete Cosinustransformation (MDCT) sein. Ein Block von zeitdiskreten Signalen liegt nach der Transformation als ein Block von Frequenzlinien vor. Der Block von Frequenzlinien oder das Frequenzspektrum des Blocks von zeitdiskreten Signalwerten kann nun quantisiert werden. Unter Berücksichtigung psychoakustischer Gesichts­ punkte ist es unter bestimmten Voraussetzungen möglich, eine durch die Quantisierung eingeführte Quantisierungsstörung derart zu gestalten, daß sie nicht hörbar ist, d. h. daß sie unter der Hörschwelle des menschlichen Gehörs liegt.As is well known, an ana log signal with a suitable sampling frequency, such as. B. 44.1 kHz, sampled to obtain a discrete time signal Such a discrete time signal can now be created using a appropriate window function to be windowed around blocks with a certain number of individual time-discrete signals to get values, in particular to the edges of the Blocks are weighted through the window function like it is well known in communications engineering. A block with time-discrete weighted by means of a window function Signals are now transformed using a suitable transformation procedure from the time domain to the frequency domain transfor mized. Suitable transformation methods can be one fast Fourier transformation (FFT), a filter bank process or a modified discrete cosine transform (MDCT). A block of discrete-time signals is behind the transformation as a block of frequency lines. The Block of frequency lines or the frequency spectrum of the Blocks of discrete-time signal values can now be quantized become. Taking into account psychoacoustic facial points it is possible under certain conditions to get a quantization disturbance introduced by the quantization to be designed so that it is not audible, d. H. that she is below the hearing threshold of human hearing.

Bei modernen Audiocodierverfahren werden die nun in quanti­ sierter Form vorliegenden Spektrallinien einer Redundanzre­ duktion, beispielsweise mittels einer Huffman-Codierung, un­ terzogen und zusammen mit zur Decodierung notwendigen Sei­ teninformationen in einen Audiodatenstrom gepackt, der nun zur Übertragung zu einem Empfänger bereitsteht.With modern audio coding methods, they are now quanti spectral lines of a redundancy re duction, for example by means of a Huffman coding, un trained and together with the necessary for decoding information is packed into an audio data stream, which is now is ready for transmission to a recipient.

An dieser Stelle sei angemerkt, daß der Ausdruck "Audiodatenstrom" in dieser Anmeldung nicht nur wie vorher beschrie­ ben erzeugte Audiodatenströme erfaßt, sondern jegliche Form von Audiodaten, seien sie codiert oder uncodiert. So ist es für die vorliegende Erfindung nicht erforderlich, daß der Audiodatenstrom in gleichlange Blöcke oder überhaupt in Blöcke eingeteilt ist. Liegt der Audiodatenstrom jedoch spektral codiert in Blockform vor, so kann das erfindungsge­ mäße Verfahren mit geringstem Aufwand implementiert werden. Liegt der Audiodatenstrom in einer anderen Form vor, so kön­ nen die Audiodaten mittels bekannter Schritte und Verfahren aufbereitet werden, um das erfindungsgemäße Verfahren durch­ zuführen.At this point it should be noted that the expression "audio data stream"  in this application not only as previously described ben recorded audio data streams, but any form of audio data, be it encoded or uncoded. That's the way it is not required for the present invention that Audio data stream in blocks of equal length or at all Blocks is divided. However, the audio data stream lies spectrally coded in block form, so the fiction appropriate procedures can be implemented with the least effort. If the audio data stream is in a different form, then the audio data using known steps and procedures be processed to carry out the method according to the invention respectively.

Das Verfahren gemäß der vorliegenden Erfindung weist somit vier Schritte auf. Der erste Schritt besteht darin, das Auf­ treten eines Fehlers in einem Audiodatenstrom zu erfassen, der zweite Schritt und der dritte Schritt bestehen darin, eine spektrale Energie einer Untergruppe in den Audiodaten zu berechnen, die den Audiodatenstrom vor Auftreten des Fehlers darstellen, d. h. in den intakten Audiodaten, und dann eine Vorlage für Ersatzdaten aufgrund der für die Untergruppe der intakten Audiodaten berechneten spektralen Energien zu bilden. Der letzte Schritt besteht dann darin, Ersatzdaten für fehlerhafte oder nicht vorhandene Audiodaten aufgrund der Vorlage für die Untergruppe, für die die Vorla­ ge gebildet ist, zu erzeugen.The method according to the present invention thus has four steps up. The first step is the up detection of an error in an audio data stream the second step and the third step are a spectral energy of a subset in the audio data to calculate the audio stream before the occurrence of the Represent error, d. H. in the intact audio data, and then a template for replacement data based on that for the Subset of the intact audio data calculated spectral To form energies. The final step is Replacement data for incorrect or non-existent audio data based on the template for the subset for which the template is formed to generate.

Der erste Schritt besteht also im Erfassen des Auftretens eines Fehlers. Fällt der Eingangsdatenstrom weg oder weist er Fehler auf, welche mittels geeigneter Einrichtungen bei­ spielsweise zum Überprüfen einer Prüfsumme oder ähnlichem in einem codierten Audiosignal erfaßt werden können, kann bei­ spielsweise ein bestimmter Anteil der Daten vor Auftreten dieses Fehlers z. B. in einem Ringpuffer gespeichert werden.The first step is to record the occurrence of a mistake. If the input data stream drops or points he errors, which by means of suitable facilities for example to check a checksum or similar in an encoded audio signal can be detected at for example a certain proportion of the data before occurrence this error z. B. stored in a ring buffer.

Das Verfahren gemäß der vorliegenden Erfindung berechnet nun für jede Untergruppe die spektrale Energie. Während die bekannte Variante zur linienweisen Prädiktion typischerweise das 20- bis 30-fache an Speicher und Rechenoperationen im Vergleich zum Verfahren der vorliegenden Erfindung (wenn die Untergruppen den Frequenzgruppen entsprechen) benötigt, kann die spektrale Energie für jede Untergruppe gemäß der vorlie­ genden Erfindung effizient und sparsam berechnet werden. Es sei jedoch dennoch darauf hingewiesen, daß der genannte Speicher- und Rechenoperationsaufwand lediglich bezüglich der Fehlerverschleierung gilt. Die Gesamtkomplexität (Spei­ cher oder Rechenzeit) beispielsweise eines kompletten MPEG- Layer-3-Decodierers nimmt in der Regel nicht wesentlich zu. Wird dagegen eine linienweise Prädiktion eingesetzt, so wird der Gesamtrechenaufwand des Codierers/Decodierers sehr wohl signifikant ansteigen.The method according to the present invention now calculates the spectral energy for each subgroup. While the well-known variant for line-by-line prediction typically  20 to 30 times more memory and computing operations in the Comparison to the method of the present invention (when the Subgroups correspond to the frequency groups) the spectral energy for each sub-group according to the present ing invention can be calculated efficiently and economically. It however, it should be noted that the aforementioned Memory and arithmetic operation effort only with regard the error concealment applies. The overall complexity (Spei or computing time) for example of a complete MPEG Layer 3 decoders generally do not increase significantly. If, on the other hand, a line-by-line prediction is used, then the total computing effort of the encoder / decoder very well increase significantly.

Die spektrale Energie pro Untergruppe berechnet sich als Summe der Betragsquadrate der in der Untergruppe enthaltenen Spektralkomponenten. Die spektrale Energie pro Untergruppe entspricht also der Summe der quadrierten Linien in dieser Untergruppe. Dies gilt sowohl bei der Verwendung einer MDCT als auch bei der Verwendung einer FFT für die Zeit-Fre­ quenz-Transformation, um zeitdiskrete Audiosignale in den Frequenzbereich zu transformieren, wie es bei modernen Co­ dierern üblich ist. An dieser Stelle sei jedoch auf die vor­ her gemachten Anmerkungen hingewiesen, daß die MDCT im Ge­ gensatz zur Fourier-Transformation nicht exakt energieerhal­ tend ist.The spectral energy per subgroup is calculated as Sum of the squares of the amounts contained in the subgroup Spectral components. The spectral energy per subgroup corresponds to the sum of the squared lines in this Subgroup. This applies both when using an MDCT as well as when using an FFT for the time fre quenz transform to discrete-time audio signals in the Transform frequency range, as is the case with modern Co which is common. At this point, however, be on the front comments made that the MDCT in Ge The Fourier transformation principle is not exactly energy-saving is tend.

Die spektrale Energie einer Untergruppe ist somit die Grund­ lage dafür, eine Vorlage für Ersatzdaten zu bilden. Die Er­ satzdaten sollen ein "spektral-durchschnittliches" Spektrum im Sinne der Kurzzeitstatistik aufweisen. "Spektral-durch­ schnittlich" bedeutet, daß ein Teil eines solchen Signals, wenn er nach dem Verfahren der vorliegenden Erfindung er­ setzt wird, nicht besonders auffallen wird, d. h. daß die Ersetzung verschleiert ist.The spectral energy of a subgroup is therefore the reason was able to create a template for replacement data. The he Record data is supposed to be a "spectral average" spectrum in the sense of short-term statistics. "Spectral by average "means that part of such a signal, if he according to the method of the present invention is not particularly noticeable, d. H. that the Replacement is veiled.

Aus Einfachheitsgründen findet die nachfolgende Darstellung der vorliegenden Erfindung anhand eines blockorientierten Verfahrens dar, wie es bei den meisten modernen Audiocodie­ rern der Fall ist. Es sei jedoch darauf hingewiesen, daß die vorliegende Erfindung nicht auf ein blockorientiertes Ver­ fahren begrenzt ist. Voraussetzung für das Verfahren ist, daß Informationen über die spektrale Zusammensetzung des Si­ gnales erhalten werden können, um aus denselben die spektra­ le Energie pro Untergruppe zu berechnen. (Dies ist naturge­ mäß bei blockorientierten Transformationscodecs besonders einfach.)For reasons of simplicity, the following illustration is shown the present invention based on a block-oriented  Procedure, as is the case with most modern audio code is the case. However, it should be noted that the present invention not to a block oriented Ver driving is limited. The prerequisite for the procedure is that information about the spectral composition of the Si gnales can be obtained to make the spectra out of the same to calculate le energy per subgroup. (This is natural especially with block-oriented transformation codecs simple.)

Zur Ermittlung der Vorlage, d. h. der Kurzzeitstatistik, für Ersatzdaten werden in der Vergangenheit empfangene (intakte) Daten verwendet. Prinzipiell würde es auch möglich sein, nach Einfügen einer Verzögerung in den Signalpfad "zukünfti­ ge" Daten nach einem Fehler zu verwenden und eine Interpola­ tion durchzuführen. Der Nachteil dabei besteht jedoch in der bereits erwähnten Verzögerung. Das Verfahren der vorliegen­ den Erfindung wendet jedoch keine Interpolation sondern eine Prädiktion an. Von Prädiktion kann gesprochen werden, da das Ergebnis dieser Operation immer ein zeitlich später liegen­ den Spektrum ist, das aus zeitlich früheren Daten abgeleitet wird. Es werden also immer Audiodaten vor Auftreten eines Fehlers, d. h. intakte Audiodaten, verwendet, um im Falle eines auftretenden Fehlers künstlich erzeugte Ersatzdaten statt fehlerhafter Daten bzw. statt nicht vorhandener Daten einzufügen, um den Fehler zu verschleiern. Trotzdem sei da­ rauf hingewiesen, daß der Ausdruck "Prädiktion" in der Li­ teratur meist enger ausgelegt wird. Das Bilden einer Vorlage für Ersatzdaten aufgrund der für die Untergruppe der intak­ ten Audiodaten berechneten spektralen Energie kann mehr oder weniger aufwendig und damit auch mehr oder weniger genau gestaltet sein.To determine the template, d. H. short-term statistics, for Substitute data is received in the past (intact) Data used. In principle, it would also be possible after inserting a delay in the signal path "future ge "to use data after an error and an interpola tion. However, the disadvantage is that delay already mentioned. The procedure of the present However, the invention does not use interpolation but one Prediction. One can speak of prediction, since the The result of this operation is always later is the spectrum that is derived from earlier data becomes. So there is always audio data before the occurrence of a Error, d. H. intact audio data, used to in case of an occurring error artificially generated replacement data instead of incorrect data or instead of nonexistent data to hide the mistake. Still there pointed out that the expression "prediction" in the Li usually tighter. Making an original for substitute data based on that for the subset of the intact The spectral energy calculated audio data can be more or less complex and therefore more or less precise be designed.

Für die nachfolgend dargelegten einzelnen Verfahren seien zuerst folgende Konventionen festgelegt. So bedeutet Xi das Kurzzeitspektrum, d. h. den Vektor aus Kurzzeitspektralkom­ ponenten, eines Blocks i. Ei(f) stellt die spektrale Energie einer Untergruppe der Mittenfrequenz f im Block i dar. Dabei sei festgehalten, daß i = 0 den zu prädizierenden Block, d. h. den Block von Ersatzdaten darstellt, während negative i die gespeicherten Blöcke der intakten Audiodaten darstellen, und N der Anzahl der gespeicherten Blöcke entspricht. EV(f) möge für die durch die Vorlage in der Untergruppe der Mit­ tenfrequenz f geforderte Energie stehen.For the individual procedures described below, the following conventions are first defined. X i means the short-term spectrum, ie the vector of short-term spectral components, of a block i. E i (f) represents the spectral energy of a subgroup of the center frequency f in block i. It should be noted that i = 0 represents the block to be predicted, ie the block of replacement data, while negative i represent the stored blocks of the intact audio data, and N corresponds to the number of blocks stored. E V (f) may stand for the energy required by the submission in the center frequency f subgroup.

Aufsteigend sortiert nach der Komplexität zur Berechnung kommen folgende Verfahren zum Bilden einer Vorlage für Er­ satzdaten in Frage:
Sorted in ascending order according to the complexity of the calculation, the following methods can be used to create a template for replacement data:

  • 1. Die spektralen Energien pro Untergruppe des zuletzt emp­ fangenen Blocks werden direkt als Vorlage für den feh­ lenden Block verwendet. Dies kommt in folgender Glei­ chung zum Ausdruck:
    EV = E-1
    1. The spectral energies per subgroup of the last block received are used directly as a template for the missing block. This is expressed in the following equation:
    E V = E -1
  • 2. Die Vorlage entsteht als lineare Kombination von Poten­ zen der spektralen Energien entsprechender Untergruppen vergangener Blöcke:
    ai sind konstante Koeffizienten zur linearen Kombina­ tion, während bi Exponenten zur Gewichtung der einzelnen spektralen Energien sind. Der hier wiederum einfachste Fall ist die Mittelung, welche sich durch folgende Koef­ fizientenwerte darstellen läßt:
    ai = 1/N und bi = 1.
    2. The template is created as a linear combination of potencies of the spectral energies of corresponding subgroups of past blocks:
    a i are constant coefficients for linear combination, while b i are exponents for weighting the individual spectral energies. The simplest case is the averaging, which can be represented by the following coefficient values:
    a i = 1 / N and b i = 1.
  • 3. Die Vorlage für Ersatzdaten kann auch durch Medianbil­ dung über vergangene Energien erhalten werden. Dies sei durch folgende Gleichung dargestellt:
    EV(f) = median {Ei(f), i = -1 . . . -N}
    Bei der Medianbildung könnte alternativ auch das klein­ ste, das zweitkleinste, . . . ., das zweitgrößte oder das größte Element aus den Ei(f) verwendet werden.
    3. The template for substitute data can also be obtained by median education over past energies. This is represented by the following equation:
    E V (f) = median {E i (f), i = -1. , , N}
    Alternatively, the smallest, the second smallest,. , , ., the second largest or the largest element from the E i (f) can be used.
  • 4. Die Vorlage für die Ersatzdaten aufgrund der für die Untergruppe der intakten Audiodaten berechneten spek­ tralen Energie kann jedoch auch mittels einer linearen adaptiven Prädiktion berechnet werden. Dies entspricht der im zweiten Fall dargelegten Gleichung, welche jedoch nun zeitabhängige Koeffizienten ai(t) haben muß. Für diesen Fall können auch in der Zukunft liegende Energien berechnet werden. Eine lineare adaptive Prädiktion zum Bilden der Vorlage für Ersatzdaten ist dann besonders vorteilhaft, wenn mehr als ein Block Daten im Datenstrom fehlen bzw. ersetzt werden müssen.4. However, the template for the replacement data based on the spectral energy calculated for the subgroup of the intact audio data can also be calculated using a linear adaptive prediction. This corresponds to the equation set out in the second case, which, however, must now have time-dependent coefficients a i (t). In this case, future energies can also be calculated. A linear adaptive prediction for forming the template for replacement data is particularly advantageous when more than one block of data is missing or has to be replaced in the data stream.

An dieser Stelle sei angemerkt, daß die vorstehende Liste zum Berechnen einer Vorlage für Ersatzdaten keinen Anspruch auf Vollständigkeit erhebt. Wichtig ist nur, daß die Vorlage für die Ersatzdaten einer Untergruppe aus spektralen Ener­ gien einer bestimmten Anzahl von vorausgehenden entsprechen­ den Untergruppen intakter Audiodaten erhalten wird.At this point it should be noted that the above list no claim to calculate a template for replacement data completeness. It is only important that the submission for the replacement data of a subgroup from spectral energy gien correspond to a certain number of previous the subgroups of intact audio data is obtained.

Nachdem nun eine Vorlage für Ersatzdaten aufgrund der für die Untergruppe der intakten Audiodaten berechneten spek­ tralen Energie gebildet worden ist, besteht schließlich der letzte Schritt des Verfahrens darin, eben die Ersatzdaten zu erzeugen, die anstelle von fehlerhaften oder nicht vorhande­ nen Audiodaten in den Audiodatenstrom eingesetzt bzw. sub­ stituiert werden sollen.Now that we have a template for replacement data based on the for the subset of the intact audio data calculated spec energy has been formed, finally there is The last step in the process is to add the replacement data generate that instead of faulty or nonexistent NEN audio data inserted into the audio data stream or sub should be stituted.

Es sollen Ersatzdaten erzeugt werden, die die gleiche spek­ trale Energie pro Untergruppe wie die Vorlage für die Er­ satzdaten aufweisen sollen. Das grundsätzliche Verfahren besteht also darin, fehlerhafte bzw. nicht vorhandene Audio­ daten, welche letztendlich Spektralkomponenten sein werden, durch künstlich erzeugte Spektralkomponenten zu ersetzen. Die Randbedingung ist also, daß die künstlich erzeugten Spektralkomponenten in einer Untergruppe zusammen dieselbe spektrale Energie aufweisen, die durch die Vorlage gegeben ist. Dafür existieren verschiedene Möglichkeiten. Es können beispielsweise alle Spektralwerte in einer Untergruppe gleichgesetzt werden, wobei die Größe der Spektralwerte oder Frequenzlinien dadurch gegeben ist, daß die spektrale Ener­ gie derselben der entsprechenden spektralen Energie der Vor­ lage entspricht.Substitute data should be generated that have the same spec central energy per subgroup like the template for the Er should have record data. The basic procedure So it consists of faulty or nonexistent audio data which will ultimately be spectral components,  to be replaced by artificially generated spectral components. The boundary condition is therefore that the artificially generated Spectral components in a subset together the same have spectral energy given by the template is. There are various ways of doing this. It can for example all spectral values in a sub-group are equated with the size of the spectral values or Frequency lines are given by the spectral energy the same of the corresponding spectral energy of the pre location corresponds.

Eine weitere Möglichkeit könnte darin bestehen, von vorne­ herein eine bestimmte Gewichtung festzulegen, welche darin bestehen könnte, Spektralwerte am Rand einer Untergruppe eher zu dämpfen und Spektralwerte in der Mitte einer Unter­ gruppe hervorzuheben. Die entsprechenden Spektralwerte zu­ sammen müssen jedoch dieselbe spektrale Energie wie eine entsprechende Untergruppe der Vorlage haben.Another option could be from the front to set a certain weight in it, which in it could exist spectral values at the edge of a subgroup more likely to attenuate and spectral values in the middle of a sub highlight group. The corresponding spectral values too together, however, the same spectral energy as one have the corresponding subgroup of the template.

Das bevorzugte Verfahren zum Erzeugen von Ersatzdaten be­ steht jedoch darin, alle Spektralkomponenten innerhalb einer Untergruppe auf gleichverteilte Zufallswerte X(f) zwischen -1 und +1 zu setzen, und nachträglich eine Skalierung bzw. Normierung durchzuführen, bei der das eben erzeugte Signal im Pegel so angehoben/abgeschwächt wird, daß es innerhalb jeder Untergruppe die durch die Vorlage geforderte spektrale Energie besitzt.The preferred method of generating replacement data be However, it says all spectral components within one Subgroup on evenly distributed random values X (f) between To set -1 and +1, and subsequently a scaling or To perform standardization at which the signal just generated the level is raised / weakened so that it is within each subgroup the spectral required by the template Owns energy.

Hierzu muß nach der Erzeugung des Zufallssignals X jede Li­ nie X(f), welche per Definition einen Wert von zwischen -1 und +1 haben wird, innerhalb der entsprechenden Untergruppe mit folgendem Quotienten, der auch als Normierungsfaktor α bezeichnet wird, multipliziert werden:
For this purpose, after generating the random signal X, each line X (f), which by definition will have a value between -1 and +1, must be multiplied within the corresponding subgroup by the following quotient, which is also referred to as the normalization factor α:

EV(fk) stellt hier die spektrale Energie in der Vorlage in­ nerhalb einer Untergruppe k der Mittenfrequenz fk dar. EV(fk) stellt also die Vorlage für die Untergruppe k mit der Mittenfrequenz fk dar.E V (f k ) here represents the spectral energy in the template within a subgroup k of the center frequency f k . E V (f k ) thus represents the template for the subgroup k with the center frequency f k .

Zur Vereinfachung der vorherigen Vorschrift, um auf die Sum­ mation im Nenner verzichten zu können, kann auch ein Zu­ fallssignal erzeugt werden, welches zwischen +P und -P gleichverteilte Werte enthält, wobei P folgendem Wert genü­ gen muß:
To simplify the previous regulation, in order to be able to do without the summation in the denominator, a random signal can also be generated, which contains values equally distributed between + P and -P, where P must satisfy the following value:

Die Energie dieses Signals liegt dann mit hoher Wahrschein­ lichkeit nahe bei der geforderten Energie EV(fk). Dies gilt sicherlich bei Untergruppen, die eine größere (etwa 10) An­ zahl von Frequenzlinien enthalten. Dies liegt daran, daß das Quadratmittel aus gleichverteilten Werten zwischen -1 und +1 gleich 1/3 ist.The energy of this signal is then very likely to be close to the required energy E V (f k ). This certainly applies to subgroups that contain a larger (approximately 10) number of frequency lines. This is because the square mean of equally distributed values between -1 and +1 is 1/3.

Die nun erzeugten Ersatzdaten bzw. Spektralkomponenten für die Untergruppe werden von einem Decodierer genauso verar­ beitet wie fehlerfreie Daten bzw. Spektralwerte. Aufgrund der Tatsache, daß nun die spektralen Energien der Untergrup­ pen in den künstlich erzeugten Daten den spektralen Energien der Untergruppen im letzten intakten Block entsprechen oder aus den spektralen Energien von Untergruppen mehrerer vor­ ausgehender Blöcke abgeleitet sind, wird der Block mit künstlich erzeugten Ersatzdaten bzw. die Blöcke mit künst­ lich erzeugten Ersatzdaten bei einigermaßen gleichverteilter Signalstatistik des Audiosignals unhörbar sein. Ein Fehler wird also verschleiert sein.The replacement data or spectral components for the subset are processed by a decoder as well works like error-free data or spectral values. by virtue of the fact that the spectral energies of the subgroup the spectral energies in the artificially generated data correspond to the subgroups in the last intact block or from the spectral energies of subgroups of several before outgoing blocks are derived, the block with artificially generated substitute data or the blocks with art Lich generated replacement data with somewhat evenly distributed Signal statistics of the audio signal to be inaudible. A mistake will be veiled.

Bei dem erfindungsgemäßen Verfahren zum Verschleiern von Fehlern in einem Audiodatenstrom können jedoch instationäre Signale problematisch sein, da dann als Basis der Substitu­ tion möglicherweise ein Block mit für das Signal atypischer Statistik verwendet wird. Um zu verhindern, daß ein Block mit atypischer Statistik, auf den unmittelbar ein fehlerhaf­ ter Block folgt, das Bilden einer Vorlage für Ersatzdaten für den fehlerhaften Block dominiert, wodurch hörbare Fehler eingeführt werden könnten, kann es günstig sein, nicht nur den letzten intakten Block, sondern mehrere zuletzt vor­ handene intakte Blöcke zu speichern und dann für eine eben genannte Prädiktion zu verwenden, um eine Vorlage für Er­ satzdaten zu erhalten, die die größere Tendenz des Signal­ verlaufs bzw. der Signalstatistik und nicht nur die Stati­ stik bzw. den Verlauf eines Blocks berücksichtigt.In the inventive method for concealing However, errors in an audio data stream can be transient Signals can be problematic because then the basis of the substitu tion may be a block with atypical for the signal Statistics is used. To prevent a block  with atypical statistics, on which an erroneous The block follows, forming a template for replacement data dominated for the faulty block, causing audible errors could be introduced, it may not only be cheap the last intact block, but several last before save existing intact blocks and then for one to use the prediction mentioned to provide a template for Er to obtain sentence data which is the greater tendency of the signal history or signal statistics and not just the status stik or the course of a block.

Enthält das ungestörte oder intakte Signal oder der unge­ störte oder intakte Audiodatenstrom eine prominente oder herausragende Spektralkomponente, die nahe am Rand einer Untergruppe liegt, so wird ein durch das eben beschriebene Verfahren erzeugtes innerhalb der Untergruppe gleichver­ teiltes ("weisses") Rauschen mit einer anderen Tonhöhe, nämlich der Mittenfrequenz der Untergruppe, empfunden. Um diesen Effekt zu vermeiden, sollten die Untergruppen in Frequenzbereichen, in denen das Ohr auf solche Tonhöhen­ schwankungen empfindlich ist, schmal gewählt werden, even­ tuell nur eine Frequenzlinie breit. Im letzten Fall verein­ facht sich das Verfahren, da - statt mit dem Betragsquadrat der Spektralkomponente der Vorlage zu rechnen - direkt die Spektralkomponente der Vorlage mit einer aus (+1, -1) zufäl­ lig gewählten Zahl multipliziert werden kann.Contains the undisturbed or intact signal or the unsound disrupted or intact audio data stream a prominent or outstanding spectral component that is close to the edge of a Subgroup, so one is by the just described Process generated similarly within the subgroup divided ("white") noise with a different pitch, namely the center frequency of the subgroup. Around To avoid this effect, the subgroups in Frequency ranges in which the ear is at such pitches fluctuations is sensitive, narrow, even only one frequency line wide. In the latter case united the procedure fuses instead of with the square of the amount to calculate the spectral component of the template - directly the Spectral component of the template with a random from (+1, -1) lig selected number can be multiplied.

Claims (9)

1. Verfahren zum Verschleiern von Fehlern in einem Audio­ datenstrom, wobei der Audiodatenstrom aufeinanderfol­ gende Blöcke von Spektralwerten aufweist, wobei jeder Block von Spektralwerten das Spektrum eines Teils des dem Audiodatenstrom zugrundeliegenden zeitlichen Audio­ signals bildet, wobei die Spektralwerte eines Blocks in Untergruppen von Spektralwerten gruppiert sind, wobei eine Untergruppe eine Mehrzahl von Spektralwerten auf­ weist, und wobei die Gruppierung in Untergruppen für die aufeinanderfolgenden Blöcke jeweils gleiche Fre­ quenzbereiche umfaßt, mit folgenden Schritten:
Erfassen des Auftretens eines Fehlers in einem Block von Spektralwerten, der eine fehlerhafte Untergruppe aufweist, wobei Spektralwerte in einem Block, der dem fehlerhaften Block vorausgeht, intakte Spektralwerte sind;
Berechnen einer spektralen Energie der Untergruppe des Blocks von intakten Spektralwerten, die der fehlerhaf­ ten Untergruppe entspricht;
Bilden einer Vorlage für Ersatzspektralwerte für die fehlerhafte Untergruppe, wobei die Vorlage gleich der berechneten spektralen Energie der Untergruppe der in­ takten Spektralwerte ist oder aus derselben hergeleitet ist; und
Erzeugen von Ersatzspektralwerten für die fehlerhafte Untergruppe, derart, daß die spektrale Energie der er­ zeugten Ersatzspektralwerte in der fehlerhaften Unter­ gruppe der durch die Vorlage für die fehlerhafte Unter­ gruppe vorgegebenen spektralen Energie im wesentlichen entspricht.
1. A method for concealing errors in an audio data stream, the audio data stream having successive blocks of spectral values, each block of spectral values forming the spectrum of a part of the temporal audio signal on which the audio data stream is based, the spectral values of a block being grouped into subgroups of spectral values are, with a subgroup having a plurality of spectral values, and with the grouping into subgroups for the successive blocks each comprising the same frequency ranges, with the following steps:
Detecting the occurrence of an error in a block of spectral values that has a faulty subset, wherein spectral values in a block that precedes the faulty block are intact spectral values;
Computing a spectral energy of the subset of the block of intact spectral values corresponding to the defective subset;
Forming a template for substitute spectral values for the defective subgroup, the template being equal to or derived from the calculated spectral energy of the subgroup of the intact spectral values; and
Generating replacement spectral values for the defective subgroup, such that the spectral energy of the generated replacement spectral values in the defective subgroup essentially corresponds to the spectral energy specified by the template for the defective subgroup.
2. Verfahren nach Anspruch 1,
bei dem bei Auftreten eines fehlerhaften Blocks die spektralen Energien für jede Untergruppe des letzten intakten Blocks berechnet werden; und
bei dem die Ersatzspektralwerte für jede Untergruppe des fehlerhaften Blocks die spektralen Energien der entsprechenden Untergruppen des letzten intakten Blocks aufweisen.
2. The method according to claim 1,
in which, when a defective block occurs, the spectral energies are calculated for each subgroup of the last intact block; and
in which the substitute spectral values for each subgroup of the defective block have the spectral energies of the corresponding subgroups of the last intact block.
3. Verfahren nach Anspruch 1,
bei dem bei Auftreten eines fehlerhaften Blocks die spektralen Energien für entsprechende Untergruppen von zumindest zwei vorausgehenden intakten Blöcken berech­ net werden; und
bei dem die Vorlage für die Ersatzspektralwerte für je­ de Untergruppe des fehlerhaften Blocks mittels Prädik­ tion aus den entsprechenden Untergruppen der zumindest zwei vorausgehenden intakten Blöcke ermittelt wird.
3. The method according to claim 1,
in which, when a defective block occurs, the spectral energies are calculated for corresponding subgroups of at least two preceding intact blocks; and
in which the template for the replacement spectral values for each subgroup of the defective block is determined by means of prediction from the corresponding subgroups of the at least two preceding intact blocks.
4. Verfahren nach Anspruch 2 oder 3, bei dem die Vorlage für eine Untergruppe durch eine gewichtete lineare Kom­ bination aus Potenzen der spektralen Energien entspre­ chender Untergruppen der vorausgehenden intakten Blöcke gebildet wird.4. The method according to claim 2 or 3, wherein the template for a subgroup by a weighted linear com combination of potencies of the spectral energies corresponding subgroups of the previous intact blocks is formed. 5. Verfahren nach Anspruch 2 oder 3, bei dem die Vorlage für eine Untergruppe durch eine Mittelung über die spektralen Energien entsprechender Untergruppen der vorausgehenden intakten Blöcke gebildet wird.5. The method according to claim 2 or 3, wherein the template for a subgroup by averaging the spectral energies of corresponding subgroups of the preceding intact blocks is formed. 6. Verfahren nach Anspruch 2 oder 3, bei dem die Vorlage für eine Untergruppe durch Medianbildung über die spek­ tralen Energien entsprechender Untergruppen der voraus­ gehenden intakten Blöcke gebildet wird. 6. The method according to claim 2 or 3, wherein the template for a subgroup by median formation over the spec central energies of corresponding subgroups outgoing intact blocks is formed.   7. Verfahren nach Anspruch 2 oder 3, bei dem die Vorlage für eine Untergruppe durch eine lineare adaptive Prä­ diktion über die spektralen Energien entsprechender Un­ tergruppen der vorausgehenden intakten Blöcke gebildet wird.7. The method according to claim 2 or 3, wherein the template for a subset by a linear adaptive pre diction about the spectral energies of corresponding Un Subgroups of the previous intact blocks are formed becomes. 8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Schritt des Erzeugens von Ersatzspektralwerten folgende Schritte aufweist:
Einstellen von Spektralwerten innerhalb der fehlerhaf­ ten Untergruppe auf gleichverteilte Zufallswerte zwi­ schen -1 und +1; und
Skalieren der eingestellten Spektralwerte, derart, daß die spektrale Energie der eingestellten Spektralwerte der fehlerhaften Untergruppe gleich der Vorlage für die Ersatzspektralwerte ist, um die Ersatzspektralwerte zu erhalten.
8. The method according to any one of the preceding claims, wherein the step of generating replacement spectral values comprises the following steps:
Setting spectral values within the faulty subgroup to equally distributed random values between -1 and +1; and
Scaling the set spectral values such that the spectral energy of the set spectral values of the defective subgroup is equal to the template for the substitute spectral values in order to obtain the substitute spectral values.
9. Verfahren nach einem der vorhergehenden Ansprüche, bei dem vor dem Erfassen des Auftretens eines Fehlers in einem Audiodatenstrom folgende Schritte ausgeführt wer­ den:
Empfangen des Audiodatenstroms; und
Speichern zumindest der zeitlich zuletzt empfangenen Daten des Audiodatenstroms in der Reihenfolge, die durch den Audiodatenstrom vorgegeben ist.
9. The method according to claim 1, wherein the following steps are carried out before the detection of the occurrence of an error in an audio data stream:
Receiving the audio data stream; and
Saving at least the data of the audio data stream received last in time in the sequence that is predetermined by the audio data stream.
DE19735675A 1997-04-23 1997-08-18 Method for concealing errors in an audio data stream Expired - Lifetime DE19735675C2 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE19735675A DE19735675C2 (en) 1997-04-23 1997-08-18 Method for concealing errors in an audio data stream
PCT/EP1998/001487 WO1998048531A1 (en) 1997-04-23 1998-03-13 Method for masking defects in a stream of audio data
US09/331,697 US6421802B1 (en) 1997-04-23 1998-03-13 Method for masking defects in a stream of audio data
JP10544823A JP2000508440A (en) 1997-04-23 1998-03-13 How to fix errors in audio data streams
DK98914886T DK0978172T3 (en) 1997-04-23 1998-03-13 Method for blurring errors in an adio data stream
CA002276202A CA2276202C (en) 1997-04-23 1998-03-13 Methods for concealing errors in an audio data stream
EP98914886A EP0978172B1 (en) 1997-04-23 1998-03-13 Method for masking defects in a stream of audio data
DE59800301T DE59800301D1 (en) 1997-04-23 1998-03-13 METHOD FOR HIDDEN ERRORS IN AN AUDIO DATA STREAM
AT98914886T ATE196960T1 (en) 1997-04-23 1998-03-13 METHOD FOR CONCEALING ERRORS IN AN AUDIO DATA STREAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19717133 1997-04-23
DE19735675A DE19735675C2 (en) 1997-04-23 1997-08-18 Method for concealing errors in an audio data stream

Publications (2)

Publication Number Publication Date
DE19735675A1 DE19735675A1 (en) 1998-12-03
DE19735675C2 true DE19735675C2 (en) 2002-12-12

Family

ID=7827489

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19735675A Expired - Lifetime DE19735675C2 (en) 1997-04-23 1997-08-18 Method for concealing errors in an audio data stream
DE59800301T Expired - Lifetime DE59800301D1 (en) 1997-04-23 1998-03-13 METHOD FOR HIDDEN ERRORS IN AN AUDIO DATA STREAM

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE59800301T Expired - Lifetime DE59800301D1 (en) 1997-04-23 1998-03-13 METHOD FOR HIDDEN ERRORS IN AN AUDIO DATA STREAM

Country Status (1)

Country Link
DE (2) DE19735675C2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19921122C1 (en) * 1999-05-07 2001-01-25 Fraunhofer Ges Forschung Method and device for concealing an error in a coded audio signal and method and device for decoding a coded audio signal
DE19959038A1 (en) * 1999-12-08 2001-06-28 Bosch Gmbh Robert Process for decoding digital audio data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HERRE, Jürgen: Fehlerverschleierung bei spektral codierten Audiosignalen, Dissertation Universität Erlangen-Nürnberg, Erlangen, 1995 *

Also Published As

Publication number Publication date
DE59800301D1 (en) 2000-11-16
DE19735675A1 (en) 1998-12-03

Similar Documents

Publication Publication Date Title
EP0978172B1 (en) Method for masking defects in a stream of audio data
DE60117471T2 (en) BROADBAND SIGNAL TRANSMISSION SYSTEM
DE60118631T2 (en) METHOD FOR REPLACING TRACKED AUDIO DATA
DE4111131C2 (en) Method of transmitting digitized audio signals
DE19921122C1 (en) Method and device for concealing an error in a coded audio signal and method and device for decoding a coded audio signal
DE69432012T2 (en) Perceptual coding of audio signals
DE3689162T2 (en) FAULT DETECTION AND FAULT HIDDEN BY SIGNAL FORECASTING.
EP0290581B1 (en) Process for transmitting digital audio-signals
DE60217522T2 (en) IMPROVED METHOD FOR CHARGING BIT ERRORS IN LANGUAGE CODING
DE69124034T2 (en) Method for processing audio signals in a subband coding system
WO1999004505A1 (en) Method for signalling a noise substitution during audio signal coding
EP0910928A1 (en) Coding and decoding of audio signals by using intensity stereo and prediction processes
EP0287578B1 (en) Digital coding process
DE10328777A1 (en) Apparatus and method for encoding an audio signal and apparatus and method for decoding an encoded audio signal
EP0251028B1 (en) Audio signal transmission method
EP1112621A1 (en) Device and method for entropy encoding of information words and device and method for decoding entropy-encoded information words
EP0962015B1 (en) Method and devices for coding discrete signals or for decoding coded discrete signals
DE19742655C2 (en) Method and device for coding a discrete-time stereo signal
DD292791A5 (en) METHOD FOR TRANSMITTING A SIGNAL
DE69206300T2 (en) Method and device for processing pre-echoes of a digital audio signal coded by means of a frequency transformation.
EP1023777A1 (en) Method and device for limiting a stream of audio data with a scaleable bit rate
WO1998058467A2 (en) Source-controlled channel decoding using intra-frame correlation
EP1245024B1 (en) Method for the error concealment of digital audio data by means of spectral equalisation
DE19735675C2 (en) Method for concealing errors in an audio data stream
DE2303497C2 (en) Method for the transmission of speech signals

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right