Vorrichtung und Verfahren zum Bestimmen eines Codierungs-Blockrasters eines decodierten Signals Apparatus and method for determining a coding block raster of a decoded signal
Beschreibungdescription
Die vorliegende Erfindung bezieht sich allgemein auf die Analyse von auf irgendeine Art codierten und wieder decodierten Signalen und insbesondere auf das Analysieren eines decodierten Signals, das unter Verwendung eines Codieralgorithmus verarbeitet worden ist, der auf einer spektralen Darstellung des ursprünglichen Signals aufbaut.The present invention relates generally to the analysis of signals encoded and re-decoded in some way, and more particularly to analyzing a decoded signal that has been processed using a coding algorithm that builds on a spectral representation of the original signal.
Es ist allgemein bekannt, Audio- und/oder Videosignale unter Verwendung eines bestimmten Codierverfahrens zu codieren, um eine codierte Version des ursprünglichen Signals zu erhalten, wobei sich die codierte Version des ursprünglichen Signals grundsätzlich dahingehend von dem ursprünglichen Signal unterscheiden sollte, daß die Datenmenge des codierten Signals kleiner als die Datenmenge des ursprünglichen Signals ist. In einem solchen Fall wird der Codieralgorithmus, um aus dem ursprünglichen Signal das codierte Signal zu erhalten, und auch der Decodieralgorithmus , der im wesentlichen eine Umkehrung des Codieralgorithmus ist, als datenreduzierender Codieralgorithmus bezeichnet.It is well known to encode audio and / or video signals using a particular encoding technique to obtain an encoded version of the original signal, the encoded version of the original signal basically being different from the original signal in that the amount of data of the original coded signal is less than the data amount of the original signal. In such a case, the coding algorithm to obtain the coded signal from the original signal, and also the decoding algorithm, which is essentially an inverse of the coding algorithm, will be referred to as a data reducing coding algorithm.
Zur Datenreduktion von Audiosignalen existieren verschiedene Codieralgorithmen, welche Gegenstand einer Reihe von internationalen Standards sind, wie z. B. MPEG-1, MPEG-2, MPEG-4 oder auch MPEG-2 AAC (AAC = Advanced Audio Coding) , wobei der letztgenannte Codieralgorithmus beispielsweise in dem internationalen Standard ISO/IEC 13818-7 detailliert beschrieben ist .For data reduction of audio signals exist various coding algorithms, which are the subject of a number of international standards, such. As MPEG-1, MPEG-2, MPEG-4 or MPEG-2 AAC (AAC = Advanced Audio Coding), the latter coding algorithm, for example, in the international standard ISO / IEC 13818-7 is described in detail.
Im nachfolgenden wird auf Fig. 7 Bezug genommen, welche ein Blockschaltbild eines MPEG-Audiocodierverfahrens zeigt. Ein solcher Audiocodierer umfaßt typischerweise einen Audioeingang 70, an dem ein Strom von zeitdiskreten Abtastwerten
eingespeist wird, welche beispielsweise PCM-Abtastwerte sind, welche beispielsweise 16-Bit-breit sind. In einer Analysefilterbank 71 wird der Strom von zeitdiskreten Audio-Abtastwerten in Codierungsblöcke oder Frames von Abtastwerten eingeteilt, unter Verwendung einer entsprechenden Fensterfunktion gefenstert und dann in eine spektrale Darstellung beispielsweise durch eine Filterbank oder durch eine Fou- rier-Transformation oder eine Abart der Fourier-Transfor- mation, wie z. B. eine modifizierte diskrete Cosinustransformation (MDCT) , überführt. Am Ausgang der Analysefilterbank 71 liegen somit aufeinanderfolgende Codierungsblöcke oder Frames von Spektralkoeffizienten vor, wobei ein Block von Spektralkoeffizienten das Spektrum eines Codierungs- blocks von Audioabtastwerten ist. Oft wird eine 50%ige Überlappung aufeinanderfolgender Codierungsblöcke verwendet, so daß pro Block ein Fenster von beispielsweise 2048 Audioabtastwerten betrachtet wird, und durch diese Verarbeitung 1024 neue Spektralkoeffizienten erzeugt werden.Referring now to Figure 7, there is shown a block diagram of an MPEG audio coding method. Such an audio encoder typically includes an audio input 70 to which is a stream of time discrete samples which are, for example, PCM samples which are, for example, 16-bit wide. In an analysis filter bank 71, the stream of discrete-time audio samples is divided into encoding blocks or frames of samples, windowed using a corresponding window function, and then converted to a spectral representation by, for example, a filter bank or a Fourier transformation or a Fourier derivative. Transformation, such as B. a modified discrete cosine transform (MDCT) transferred. Thus, at the output of the analysis filter bank 71 there are successive coding blocks or frames of spectral coefficients, one block of spectral coefficients being the spectrum of a coding block of audio samples. Often, a 50% overlap of consecutive coding blocks is used so that one window of, for example, 2048 audio samples is viewed per block, and by this processing, 1024 new spectral coefficients are generated.
Das zeitdiskrete Audiosignal am Eingang 70 wird ferner in ein psychoakustisches Modell 72 eingespeist, um eine Datenreduktion zu erreichen, derart, daß bekannterweise die Maskierungsschwelle des Audiosignals abhängig von der Frequenz berechnet wird, um in einem Block 73, der mit Quantisierung und Codierung bezeichnet ist, eine Quantisierung der Spektralkoeffizienten durchzuführen, welche von der Maskierungs- schwelle abhängt.The discrete-time audio signal at input 70 is further fed to a psychoacoustic model 72 to achieve data reduction, such that, as is known, the masking threshold of the audio signal is calculated in dependence on the frequency, in a block 73 labeled quantization and coding. to perform a quantization of the spectral coefficients, which depends on the masking threshold.
Anders ausgedrückt wird die Quantisierung der Spektralkoeffizienten derart grob durchgeführt, daß das hierdurch eingeführte Quantisierungsrauschen noch unter der psychoakusti- schen Maskierungsschwelle, die durch das psychoakustische Modell 72 berechnet wird, liegt, so daß das Quantisierungs- rauschen idealerweise unhörbar ist. Dieses Prozedere bewirkt, daß typischerweise eine bestimmte Anzahl von Spektralkoeffizienten, die am Ausgang der Analyse-Filterbank 71 noch ungleich 0 sind, nach dem Quantisieren zu 0 gesetzt werden, da das psychoakustische Modell 72 festgestellt hat,
daß dieselben durch benachbarte Spektralkoeffizienten maskiert werden und deshalb unhörbar sind.In other words, the quantization of the spectral coefficients is carried out so roughly that the quantization noise introduced thereby is still below the psychoacoustic masking threshold calculated by the psychoacoustic model 72, so that the quantization noise is ideally inaudible. This procedure causes a certain number of spectral coefficients, which are not equal to 0 at the output of the analysis filter bank 71, to be set to 0 after the quantization, since the psychoacoustic model 72 has determined that that they are masked by adjacent spectral coefficients and are therefore inaudible.
Auch unabhängig von einem psychoakustischen oder psychoopti- schen Modell existiert bei jedem Quantisierer eine bestimmte Quantisierungsschrittweite, wobei Spektralwerte, die kleiner als die Schrittweite sind, durch die Quantisierung zu Null gesetzt werden. Abhängig vom Quantisierer gibt es auch die Möglichkeit, daß lediglich Werte, die deutlich kleiner als die Schrittweite sind, zu Null gesetzt werden, und Werte, die knapp unter der Schrittweite sind, aufgerundet werden. In den allermeisten Fällen setzt jeder Quantisierer zumindest einige Werte zu Null, wodurch bereits eine Datenreduktion erzielt wird.Independently of a psychoacoustic or psycho-optical model, every quantizer also has a certain quantization step size, whereby spectral values that are smaller than the step size are set to zero by the quantization. Depending on the quantizer, there is also the possibility that only values that are significantly smaller than the step size are set to zero, and values that are just below the step size are rounded up. In most cases, each quantizer sets at least some values to zero, which already achieves a data reduction.
Nach dem Quantisieren liegt eine spektrale Darstellung des Codierungsblocks von zeitdiskreten Abtastwerten vor, in der das Quantisierungsrauschen möglichst unterhalb der psychoakustischen Maskierungsschwelle liegt. Diese datenreduzierend quantisierten Spektralwerte können anschließend abhängig vom verwendeten Codierer unter Verwendung einer Entropie-Codierung, welche z. B. eine Huffman-Codierung sein kann, verlustlos codiert werden. Dadurch wird ein Strom von Codewörtern erhalten, dem in einem Bitstrommultiplexer 74 noch von einem Decodierer benötigte Seiteninformationen hinzugefügt werden, wie z. B. Informationen bezüglich der Analyse-Filterbank, Informationen bezüglich der Quantisierung, wie z. B. Skalenfaktoren, oder aber Seiteninformationen bezüglich weiterer Funktionsblöcke. Solche weiteren Funktionsblöcke sind bei MPEG-2-AAC beispielsweise die TNS-Verarbeitung, die Intensity-Stereo-Verarbeitung, die Mitte/Seite-Stereoverarbeitung, oder aber eine Prädiktion von Spektrum zu Spektrum.After quantization, there is a spectral representation of the coding block of time-discrete samples, in which the quantization noise lies as far below the psychoacoustic masking threshold as possible. These data-quantitatively quantized spectral values can then, depending on the encoder used, using an entropy coding, which z. B. may be a Huffman coding, be coded lossless. As a result, a stream of codewords is obtained, to which side information still needed by a decoder is added in a bit stream multiplexer 74, such as e.g. B. Information regarding the analysis filter bank, information regarding the quantization, such. As scale factors, or page information regarding other functional blocks. Such additional functional blocks in MPEG-2 AAC include, for example, TNS processing, intensity stereo processing, center / side stereo processing, or spectrum-to-spectrum prediction.
An einem Ausgang 75 des Codierers, der auch als Bitstromausgang bezeichnet wird, liegt dann das gemäß dem in Fig. 7 gezeigten Codieralgorithmus codierte Signal blockweise vor.
Im Falle des Decodierers wird das codierte Signal am Ausgang 75 des in Fig. 7 gezeigten Codierers in einen Bitstromeingang 80 eines in Fig. 8 gezeigten Decodierers eingespeist, welcher zunächst in einem Block 81, der als Bitstrom-Demul- tiplexer bezeichnet ist, eine Bitstrom-Demultiplex-Operation durchführt, um die Spektraldaten von den Seiteninformationen zu trennen. Am Ausgang des Blocks 81 liegen dann wieder die Codewörter vor, welche die einzelnen Spektralkoeffizienten darstellen. Unter Verwendung einer entsprechenden Tabelle werden die Codewörter decodiert, um quantisierte Spektral- werte zu erhalten. Diese quantisierten Spektralwerte werden dann in einem Block 82, der mit "Inverse Quantisierung" bezeichnet ist, verarbeitet, um die im Block 73 (Fig. 7) eingeführte Quantisierung rückzurechnen. Am Ausgang des Blocks 82 liegen dann wieder dequantisierte Spektralkoeffizienten vor, welche nun mittels einer Synthesefilterbank 83, die invers zur Analysefilterbank 71 (Fig. 7) arbeitet, in den Zeitbereich überführt werden, um an einem Audioausgang 84 das decodierte Signal zu erhalten.At an output 75 of the coder, which is also referred to as a bitstream output, the coded signal according to the coding algorithm shown in FIG. 7 is present in blocks. In the case of the decoder, the coded signal at the output 75 of the coder shown in Fig. 7 is fed to a bitstream input 80 of a decoder shown in Fig. 8, which is first a bitstream in a block 81 called a bitstream demultiplexer Demultiplexing operation to separate the spectral data from the page information. At the output of the block 81, the code words are again present, which represent the individual spectral coefficients. Using a corresponding table, the codewords are decoded to obtain quantized spectral values. These quantized spectral values are then processed in a block 82 labeled "inverse quantization" to recalculate the quantization introduced in block 73 (FIG. 7). Dequantized spectral coefficients are again present at the output of the block 82, which are then converted into the time domain by means of a synthesis filter bank 83, which operates inversely to the analysis filter bank 71 (FIG. 7), in order to obtain the decoded signal at an audio output 84.
Bei der Betrachtung des Codier/Decodier-Konzepts, das in den Fig. 7 und 8 dargestellt ist, wird deutlich, daß es sich hier um ein blockorientiertes Verfahren handelt, wobei die Blockerzeugung durch den Analyse-Filterbank-Block 71 von Fig. 7 bewirkt wird, und wobei die Blockbildung erst am Audioausgang 84 des in Fig. 8 gezeigten Decodierers wieder aufgehoben wird.Considering the coding / decoding concept illustrated in Figs. 7 and 8, it will be apparent that this is a block-oriented method, with block generation effected by the analysis filter bank block 71 of Fig. 7 and block formation is canceled only at the audio output 84 of the decoder shown in FIG.
Es wird ferner deutlich, daß es sich hier um ein verlustbehaftetes Codiererkonzept handelt, da das am Audioausgang 84 vorliegende decodierte Signal generell weniger Informationen beinhaltet als das am Audioeingang 70 vorliegende ursprüngliche Signal. Durch den durch das psychoakustische Modell 72 gesteuerten Quantisierer 73 werden Informationen aus dem am Audioeingang 70 vorliegenden ursprünglichen Signal entfernt, die im Decodierer nicht mehr wieder hinzugefügt werden, sondern auf die verzichtet wird. Rein subjektiv hat dieser Verzicht auf Informationen jedoch aufgrund des psychoakusti-
sehen Modells 72, das an die menschlichen Gehöreigenschaften angepaßt ist, im idealen Fall zu keinen Qualitätseinbußen geführt, sondern lediglich zu einer angestrebten Datenkomprimierung.It will further be appreciated that this is a lossy encoder design because the decoded signal present at audio output 84 generally contains less information than the original signal present at audio input 70. By means of the quantizer 73 controlled by the psychoacoustic model 72, information is removed from the original signal present at the audio input 70, which is no longer added back in the decoder, but is dispensed with. Subjectively, however, this relinquishment of information is due to the psychoacoustics see model 72, which is adapted to the human hearing characteristics, led in the ideal case to no loss of quality, but only to a targeted data compression.
An dieser Stelle sei darauf hingewiesen, daß das in Fig. 7 und Fig. 8 am Beispiel eines Audiosignals beschriebene Codiererkonzept entsprechend auch auf Bild- oder Videosignale angewendet wird, wobei anstelle des zeitlichen Audiosignals ein Videosignal vorhanden ist, wobei die spektrale Darstellung hier kein Tonspektrum ist, sondern ein Ortsspektrum. Ansonsten findet auch bei der Videosignalkomprimierung eine Analysefilterbank, ein psychooptisches Modell, eine dadurch gesteuerte Quantisierung und Redundanz-Codierung statt, wobei ebenfalls das ganze Codier/Decodier-Konzept blockweise abläuft .It should be noted at this point that the coder concept described in FIGS. 7 and 8 using the example of an audio signal is correspondingly also applied to image or video signals, wherein instead of the temporal audio signal a video signal is present, the spectral representation here being no audio spectrum is, but a place spectrum. Otherwise, an analysis filter bank, a psycho-optical model, a quantization controlled by it and redundancy coding also take place in video signal compression, whereby the entire coding / decoding concept also runs in blocks.
Das decodierte Signal (am Beispiel von Fig. 8 das decodierte Audiosignal am Audioausgang 84) ist typischerweise wieder ein Strom von zeitdiskreten Abtastwerten, denen ein Codierungs-Blockraster zugrunde liegt, das im decodierten Signal jedoch generell nicht sichtbar ist, es sei denn, daß besondere Vorkehrungen getroffen werden.The decoded signal (exemplified by the decoded audio signal at audio output 84 in FIG. 8) is typically again a stream of discrete-time samples based on a coding block raster, but not generally visible in the decoded signal, unless special ones are involved Arrangements are made.
Während der Vorgang der Decodierung der Normalfall in der Anwendung, nämlich der Übertragung und Speicherung von Audio- und/oder Bildsignalen, ist, gibt es dennoch Fälle, in denen es von Interesse ist, ein gegebenes decodiertes Signal in eine Bitstromdarstellung "zurück zu übersetzen". Dies ist insbesondere in den folgenden Fällen von Interesse, wenn nur das decodierte Signal zur Verfügung steht.While the process of decoding is the normal case in the application, namely the transmission and storage of audio and / or video signals, there are still cases in which it is of interest to "translate" a given decoded signal back to a bitstream representation. , This is of particular interest in the following cases when only the decoded signal is available.
Weiterhin besteht oftmals der Bedarf, Codiersysteme anhand der von ihnen codierten und wieder decodierten Signale zu untersuchen, beispielsweise um herauszufinden, warum ein Codierer, der noch unbekannt ist, so gut klingt.Furthermore, there is often a need to examine coding systems based on the signals they encode and decode, for example to find out why an encoder that is still unknown sounds so good.
Darüberhinaus besteht ein Bedarf auf dem Bereich des Urhe-
berrechtsschutzes, zweifelsfrei nachzuweisen, daß ein Musikstück oder ein Bild mit einem bestimmten Codierer ursprünglich codiert worden ist.Moreover, there is a need in the field of to prove beyond doubt that a piece of music or an image was originally encoded with a particular encoder.
Schließlich besteht im Bereich der Übertragung beispielsweise über mehrere Netze mit unterschiedlicher Bandbreite der Bedarf, ein decodiertes Signal wieder zu codieren, um es beispielsweise auf eine andere Bandbreite umzusetzen. In diesem Fall wird das in Fig. 7 und Fig. 8 gezeigte Codie- rer/Decodierer-Konzept nacheinander mehrmals auf ein ursprüngliches Audiosignal ausgeübt. Hier bestehen Probleme dahingehend, daß sogenannte Tandem-Codierverzerrungen nachfolgender Codecstufen eingebracht werden, wenn die nachfolgenden Codecstufen auf der Basis eines anderen Codierungs- Blockrasters als die vorausgehenden Codecstufen arbeiten. Es ist einsichtig, daß die Verwendung eines anderen Codierungs-Blockrasters in einer nachfolgenden Codecstufe hörbare Verzerrungen in das Audiosignal einführt, wenn die Codierungsblockbildung nicht genauso durchgeführt worden ist wie in der ersten Codec-Stufe, da das Konzept auf der Bildung von Kurzzeitspektren basiert und da insbesondere die psycho- akustische Maskierungsschwelle eines Codierungsblocks von zeitdiskreten Abtastwerten von dem Codierungs-Blockraster abhängt .Finally, in the field of transmission, for example via several networks with different bandwidths, there is the need to recode a decoded signal in order, for example, to convert it to a different bandwidth. In this case, the coder / decoder concept shown in FIGS. 7 and 8 is successively plural times applied to an original audio signal. Here, there are problems in that so-called tandem coding distortions of subsequent codec stages are introduced when the subsequent codec stages operate on the basis of a different coding block pattern than the preceding codec stages. It will be appreciated that the use of a different coding block raster in a subsequent codec stage introduces audible distortions into the audio signal if the coding block formation has not been performed in the same way as in the first codec stage, since the concept is based on the formation of short-term spectra In particular, the psycho-acoustic masking threshold of a coding block of discrete-time samples depends on the coding block raster.
In der Fachveröffentlichung "NMR Measurements on Multiple Generations Audio Coding", Michael Keyhl, Jürgen Herre, Christian Schmidmer, 96. AES-Versammlung, 26. Februar bis 1. März 1994, Amsterdam, Preprint 3803, wird vorgeschlagen, zur Überwindung der Tandem-Codierverzerrungen eine Identifikationsmarkierung in ein decodiertes Signal einzubringen, auf die nachfolgende Codierer-Stufen zugreifen können, um auf der Basis diese Identifikationsmarkierung ihre Codierungs- block-Einteilung des erneut zu codierenden decodierten Signals durchzuführen, derart, daß alle Codec-Stufen in einer Kette von Codec-Stufen dasselbe Codierungs-Blockraster verwenden.
Obwohl dieses Verfahren die Tandem-Codierverzerrungen bedeutsam reduziert hat, ist es doch dahingehend nachteilig, daß die Identifikationsmarkierung durch einen Decodierer eingebracht werden muß und von einem nachfolgenden Codierer wieder extrahiert und interpretiert werden muß. Es sind also Änderungen sowohl an einem Decodierer als auch an einem Codierer erforderlich. Weiterhin ist dieses Konzept selbstverständlich nur für eine Tandem-Codierung von decodierten Signalen anwendbar, die diese Identifikationsmarkierung für das Codierungs-Blockraster haben. Für Signale, die diese Identifikationsmarkierung nicht haben, kann eine Codecstufe in einer Kette von Codecstufen selbstverständlich nicht auf eine Identifikationsmarkierung zugreifen.In the technical publication "NMR Measurements on Multiple Generative Audio Coding", Michael Keyhl, Jürgen Herre, Christian Schmidmer, 96th AES Assembly, February 26 to March 1, 1994, Amsterdam, Preprint 3803, it is proposed to overcome the tandem Coding distortions to introduce an identification mark in a decoded signal, the subsequent encoder stages can access to perform on the basis of this identification mark their coding block division of the re-coded decoded signal, such that all codec stages in a chain of codec Stages use the same coding block grid. Although this method has significantly reduced tandem coding distortions, it is disadvantageous in that the identification tag must be inserted by a decoder and re-extracted and interpreted by a subsequent encoder. Thus, changes are required on both a decoder and an encoder. Furthermore, this concept is, of course, only applicable to tandem coding of decoded signals having this coding block raster identification mark. Of course, for signals that do not have this identification mark, a codec stage in a chain of codec stages can not access an identification tag.
Ähnliche Probleme bzw. Einschränkungen der Flexibilität ergeben sich auch bei dem MOLE-Konzept, das in "ISO/MPEG Layer 2 - Optimum re-Encoding of Decoded Audio using a MOLE-Si- gnal", John Fletcher, 104te AES-Convention, 16. bis 19. Mai 1998, Preprint Nr. 4706, beschrieben ist. Allgemein gesagt werden zusätzliche Daten in das decodierte Audiosignal eingebracht, die detailliert beschreiben, auf welche Art das vorliegende decodierte Audiosignal codiert und decodiert worden ist. Diese Daten werden als MOLE-Signal bezeichnet. Wenn das decodierte Audiosignal wieder codiert werden muß, wird ein speziell ausgeführter Codierer dieses MOLE-Signal aus dem zu codierenden Signal extrahieren und auf der Basis dieses Signals die einzelnen Codiererschritte durchführen.Similar problems or limitations of flexibility also arise in the MOLE concept described in "ISO / MPEG Layer 2 - Optimum Re-Encoding of Decoded Audio using a MOLE Signal", John Fletcher, 104th AES Convention, 16 to May 19, 1998, Preprint No. 4706. Generally speaking, additional data is introduced into the decoded audio signal detailing the manner in which the present decoded audio signal has been encoded and decoded. These data are referred to as MOLE signal. If the decoded audio signal needs to be encoded again, a specially executed encoder will extract that MOLE signal from the signal to be encoded and perform the individual encoder steps based on that signal.
Ähnlich zu dem Konzept der Identifikationsmarkierung besteht auch hier ein Nachteil darin, daß der Decodierer, der ein codiertes ursprüngliches Signal zum ersten Mal decodiert, das Signal in das decodierte Audiosignal einbringen muß. Ein solcher Decodierer unterscheidet sich somit von den üblichen Standard-Decodierern. Des weiteren muß ein Codierer, der ein decodiertes Signal wieder codiert, das Bestimmungssignal extrahieren um dementsprechend zu arbeiten. Dieser gewissermaßen zweite Codierer muß ebenfalls modifiziert werden, derart, daß er das Bestimmungssignal lesen und interpretieren
kann. Schließlich ist auch dieses Konzept nachteilhafter- weise nur für decodierte Signale wirksam, die ein solches Bestimmungssignal haben, jedoch nicht für Signale, die kein solches Bestimmungssignal haben.Similar to the concept of the identification mark, there is also a disadvantage here that the decoder, which decodes a coded original signal for the first time, must introduce the signal into the decoded audio signal. Such a decoder thus differs from the usual standard decoders. Furthermore, an encoder that re-encodes a decoded signal must extract the destination signal to operate accordingly. This somewhat second coder must also be modified so that it reads and interprets the destination signal can. Finally, this concept is also disadvantageous only for decoded signals which have such a determination signal, but not for signals which have no such determination signal.
Sowohl die Identifikationsmarkierung als auch das MOLE-Be- stimmungssignal geben Informationen darüber, welches Codierungs-Blockraster dem decodierten Signal, dem die Identifikationsmarkierung oder das MOLE-Bestimmungssignal zugeordnet ist, zugrunde liegt. Diese Signale müssen jedoch explizit eingebracht werden, was die im vorhergehenden beschriebenen Flexibilitätsnachteile mit sich bringt.Both the identification mark and the MOLE determination signal provide information about which coding block raster underlies the decoded signal associated with the identification mark or MOLE designation signal. However, these signals must be explicitly introduced, which entails the flexibility disadvantages described above.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung und ein Verfahren zum Bestimmen eines Codierungs-Blockrasters, das einem decodierten Signal zugrunde liegt, für ein decodiertes Signal zu schaffen, das keinen expliziten Hinweis auf ein Codierungs-Blockraster hat.The object of the present invention is to provide an apparatus and a method for determining a coding block raster on which a decoded signal is based, for a decoded signal which has no explicit reference to a coding block raster.
Diese Aufgabe wird durch eine Vorrichtung zum Bestimmen eines Codierungs-Blockrasters nach Patentanspruch 1 oder durch ein Verfahren zum Bestimmen eines Codierungs-Blockrasters nach Patentanspruch 11 gelöst.This object is achieved by an apparatus for determining a coding block raster according to claim 1 or by a method for determining a coding block raster according to claim 11.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß das Codierungs-Blockraster, das durch einen Blockorientierten Codierer praktisch zufällig festgelegt wird, entscheidenden Einfluß auf die spektrale Darstellung des Signals hat. Bereits minimale Abweichungen oder Codierungs- Blockraster-Offsets führen dazu, daß die spektrale Darstellung des decodierten Signals ein gänzlich anderes Erscheinungsbild hat als eigentlich von einer Spektraldarstellung des decodierten Signals erwartet werden würde, wenn demselben das gleiche Codierungs-Blockraster zugrunde gelegt wird, das dem decodierten Signal an sich zugrunde liegt. Bei datenreduzierenden Codieralgorithmen, welche unter Verwendung eines psychoakustischen Modells oder eines psychooptischen Modells arbeiten, ist von vorneherein bekannt, daß aufgrund
der Quantisierung unter Verwendung einer psychooptischen oder psychoakustischen Maskierungsschwelle eine bestimmte Anzahl von Spektralkoeffizienten 0 ist.The present invention is based on the finding that the coding block raster, which is determined virtually randomly by a block-oriented coder, has a decisive influence on the spectral representation of the signal. Already minimal deviations or coding block raster offsets lead to the fact that the spectral representation of the decoded signal has a completely different appearance than would actually be expected from a spectral representation of the decoded signal, if it is based on the same encoding block raster as that which was decoded Signal itself is underlying. In data-reducing coding algorithms, which work using a psychoacoustic model or a psycho-optical model, it is known from the outset that due the quantization is a certain number of spectral coefficients 0 using a psycho-optic or psychoacoustic masking threshold.
Es wird darauf hingewiesen, daß auch unabhängig von einer Quantisierung, die durch ein psychoakustisches oder psychooptisches Modell gesteuert wird, üblicherweise immer bestimmte Werte zu Null gesetzt werden, nämlich die Werte, die wesentlich kleiner als die Quantisierungsschrittweite sind.It should be noted that regardless of a quantization that is controlled by a psychoacoustic or psycho-optical model, usually certain values are always set to zero, namely the values which are substantially smaller than the quantization step size.
Wenn jedoch die Codierungs-Blockrastereinteilung zum Erzeugen einer Spektraldarstellung des decodierten Signals nicht mit der Codierungs-Blockrastereinteilung, die dem decodierten Signal an sich zugrunde liegt, übereinstimmt, so tritt diese Eigenschaft in der spektralen Darstellung des decodierten Signals nicht mehr auf . Jedoch auch bei Codierkonzepten, die nicht unbedingt datenreduzierend sind, oder die, obgleich sie datenreduzierend wären, jedoch aufgrund des Eingangssignals keinen entscheidenden Datenreduzierungseffekt haben, führt ein Codierungs-Blockraster-Versatz bereits dazu, daß das Spektrum des decodierten Signals, das auf einer anderen Codierungs-Blockrastereinteilung basiert als die Codierungs-Blockrastereinteilung, die dem decodierten Signal zugrunde liegt. Dies resultiert in einer veränderten spektralen Struktur, die ein stark "verschmiertes" Aussehen hat, was sich insbesondere darin äußert, daß die einzelnen Spektralanteile nicht mehr gut voneinander getrennt werden können.However, if the coding block screen division for producing a spectral representation of the decoded signal does not match the coding block screen division underlying the decoded signal itself, this property no longer occurs in the spectral representation of the decoded signal. However, even with coding concepts that are not necessarily data-reducing, or that although they are data-reducing but have no significant data-reduction effect due to the input signal, a coding-block-raster offset already results in the spectrum of the decoded signal being on another encoding Block framerization is based on the encoding block framer division that underlies the decoded signal. This results in an altered spectral structure, which has a strong "smeared" appearance, which manifests itself in particular in the fact that the individual spectral components can no longer be separated well.
Diese Charakteristik des Spektrums kann als Kriterium verwendet werden, um herauszufinden, ob ein Codierungs-Blockraster-Versatz vorliegt. Bei einem Spektrum mit Rasterversatz ist die Schwankung der z. B. logarithmischen Amplitude des Spektralkoeffizienten langsamer bzw. weniger abrupt als bei einem Spektrum ohne Rasterversatz, bei dem eine schnelle bzw. stark abrupte Schwankung der Amplitude der Spektralkoeffizienten feststellbar ist.
Allgemein gesagt hat ein Kurzzeitspektrum des decodierten Signals, das unter Verwendung einer Codierungs-Blockrastereinteilung erzeugt wird, welche der Codierungs-Blockrastereinteilung entspricht, die dem decodierten Signal zugrunde liegt, ein bestimmtes Aussehen, beispielsweise bezüglich der Separation der Spektrallinien, bezüglich der Anzahl der Spektrallinien, die gleich 0 sind bzw. die sehr klein sind, etc .This characteristic of the spectrum can be used as a criterion to find out if there is a coding-block-raster offset. For a spectrum with grid offset is the fluctuation of z. B. logarithmic amplitude of the spectral coefficients slower or less abrupt than in a spectrum without raster offset, in which a rapid or sharply abrupt variation in the amplitude of the spectral coefficients can be determined. Generally speaking, a short-term spectrum of the decoded signal generated using a coding block screen division corresponding to the coding block screen division underlying the decoded signal has a certain appearance, for example with respect to the separation of the spectral lines, with respect to the number of spectral lines. which are equal to 0 or which are very small, etc.
Erfindungsgemäß wird daher zum Bestimmen eines Codierungs- Blockrasters ein Abschnitt des decodierten Signals herausgegriffen, woraufhin der herausgegriffene Abschnitt in eine spektrale Darstellung desselben umgesetzt wird. Anschließend wird die spektrale Darstellung des herausgegriffenen Abschnitts hinsichtlich zumindest eines vorbestimmten Krite- riums untersucht, um ein Bewertungsresultat für den Abschnitt zu erhalten. Dieses Konzept wird für verschiedene Abschnitte durchgeführt, wobei immer ein anderes Codierungs-Blockraster zugrunde gelegt wird, so daß sich verschiedene Bewertungsresultate für verschiedene Codierungs- Blockrastereinteilungen und damit Codierungs-Blockraster- Offsets ergeben. Ein Codierungs-Blockraster-Offset, der dem vorbestimmten Kriterium am besten entspricht, d. h. der ein Bewertungsresultat hat, das bezüglich der anderen Bewertungsresultate extrem ist, wird dann unter den Bewertungs- resultaten, die durch Bewerten der spektralen Darstellungen der verschieden herausgegriffenen Abschnitte erzeugt worden sind, ermittelt und ausgegeben. Damit ist die Codierungs- Blockrastereinteilung, die einem decodierten Signal zugrunde liegt, ohne Verwendung eines explizit im decodierten Signal enthaltenen Hilfssignals eindeutig rekonstruierbar.According to the invention, therefore, a section of the decoded signal is picked out for determining a coding block raster, whereupon the selected section is converted into a spectral representation thereof. Subsequently, the spectral representation of the extracted portion with respect to at least one predetermined criterion is examined to obtain an evaluation result for the portion. This concept is carried out for different sections, always based on a different coding block raster, so that different evaluation results result for different coding block raster divisions and thus coding block raster offsets. A coding block raster offset that best matches the predetermined criterion, d. H. which has an evaluation result that is extreme with respect to the other evaluation results is then determined and output among the evaluation results generated by evaluating the spectral representations of the various extracted sections. Thus, the coding block screening division, which is the basis of a decoded signal, can be unambiguously reconstructed without the use of an auxiliary signal explicitly contained in the decoded signal.
Dieses Konzept erlaubt es grundsätzlich, von jedem decodierten Signal das demselben zugrunde liegende Codierungs-Blockraster zu ermitteln und liefert somit eine erhebliche Flexibilität dahingehend, daß sämtliche decodierten Signale bearbeitet werden können, und nicht nur decodierte Signale, die bereits eine Identifikationsmarkierung oder ein MOLE-Be-
stimmungssignal haben. Damit können nahezu beliebig decodierte Signale analysiert werden, um eine verzerrungsfreie Tandem-Codierung durchzuführen, um weitere Informationen bezüglich des dem decodierten Signal zugrunde liegenden Codiereralgorithmus zu erhalten, oder um überhaupt nachzuweisen, mit welchem Codierer das decodierte Signal ursprünglich codiert worden ist.This concept basically makes it possible to determine from each decoded signal the same underlying coding block raster and thus provides considerable flexibility in that all decoded signals can be processed, not just decoded signals which already have an identification mark or a MOLE - have mood signal. Thus, almost arbitrarily decoded signals can be analyzed to perform a distortion-free tandem coding to obtain further information regarding the coder algorithm underlying the decoded signal, or to even prove with which coder the decoded signal was originally coded.
Vorzugsweise kann das erfindungsgemäß bestimmte Codierungs- Blockraster, das dem decodierten Signal zugrunde liegt, in das decodierte Signal selbst eingetragen werden, um somit beliebige decodierte Signale für bestehende Codec-Stufen anzupassen, welche auf der Identifikationsmarkierung oder dem MOLE-Bestimmungssignal aufbauen.Preferably, the coding block grid determined according to the invention, which is the basis of the decoded signal, can be entered into the decoded signal itself, thus adapting any decoded signals for existing codec stages, which are based on the identification mark or the MOLE determination signal.
Weiterhin erlaubt das erfindungsgemäße Konzept die Erschließung nahezu aller Codierparameter, zumal ausgehend von der Kenntnis des Codierungs-Blockrasters und unter Verwendung entsprechender Iterationsalgorithmen praktisch alle Codiererfunktionalitäten gewissermaßen "zurückgerechnet" werden können. Voraussetzung hierfür ist jedoch die Bestimmung des Codierungs-Blockrasters an sich, da das Codierungs-Blockraster alle nachfolgenden Parameter eines Codieralgorithmus beeinflußt, der auf der spektralen Darstellung eines zu codierenden Signals basiert. Die Bestimmung des Codierungs-Blockrasters ist somit gewissermaßen das "Eingangstor", um ein decodiertes Signal dahingehend vollständig zu analysieren, welches Codier/Decodier-Konzept demselben zugrunde liegt.Furthermore, the inventive concept allows the development of almost all coding parameters, especially since starting from the knowledge of the coding block raster and using appropriate iteration algorithms, practically all coding functionalities can be back-calculated as it were. The prerequisite for this, however, is the determination of the coding block raster per se, since the coding block raster influences all subsequent parameters of a coding algorithm which is based on the spectral representation of a signal to be coded. The determination of the coding block raster is thus to a certain extent the "input gate" in order to completely analyze a decoded signal as to which coding / decoding concept it is based on.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Figuren detailliert beschrieben. Es zeigen:Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings. Show it:
Fig. 1 ein Blockschaltbild einer erfindungsgemäßen Vorrichtung zum Bestimmen eines Codierungs-Blockrasters;
Fig. 2 ein Flußdiagramm eines erfindungsgemäßen Verfahrens zum Bestimmen eines Codierungs-Blockrasters;1 shows a block diagram of a device according to the invention for determining a coding block raster; 2 is a flowchart of a method according to the invention for determining a coding block raster;
Fig. 3 eine Prinzipdarstellung eines decodierten Signals zur Veranschaulichung verschiedener Codierungs- Blockraster-Versätze;FIG. 3 is a schematic diagram of a decoded signal to illustrate various encoding block raster offsets; FIG.
Fig. 4 eine spektrale Darstellung eines Abschnitts des decodierten Signals mit einem Rasterversatz von einem Abtastwert nach links;Fig. 4 is a spectral representation of a portion of the decoded signal with a grid offset of one sample to the left;
Fig. 5 eine spektrale Darstellung eines Abschnitts des decodierten Signals ohne Rasterversatz;Fig. 5 is a spectral representation of a portion of the decoded signal without raster offset;
Fig. 6 eine spektrale Darstellung eines Abschnitts des decodierten Signals mit einem Rasterversatz von einem Abtastwert nach rechts;Fig. 6 is a spectral representation of a portion of the decoded signal having a grid offset of one sample to the right;
Fig. 7 ein Blockschaltbild eines bekannten Codierers, der auf der Basis einer spektralen Darstellung eines ursprünglichen Signals arbeitet;Fig. 7 is a block diagram of a known coder operating on the basis of a spectral representation of an original signal;
Fig. 8 ein Blockschaltbild eines bekannten Decodierers zum Decodieren von durch den in Fig. 7 gezeigten Codierer codierten Signalen; undFig. 8 is a block diagram of a known decoder for decoding signals encoded by the encoder shown in Fig. 7; and
Fig. 9 eine beispielhafte Fenstersequenz mit einem Überlappungsgrad von 50%.9 shows an exemplary window sequence with an overlap degree of 50%.
Fig. 1 zeigt ein Blockschaltbild einer erfindungsgemäßen Vorrichtung zum Bestimmen eines Codierungs-Blockrasters, das einem decodierten Signal zugrunde liegt. Das decodierte Signal wird an einem Eingang 10 in die erfindungsgemäße Vorrichtung eingespeist und gelangt in eine Einrichtung 11 zum Herausgreifen eines Abschnitts aus dem decodierten Signal. Der durch die Einrichtung 11 herausgegriffene Abschnitt wird in einer Einrichtung 12 in eine spektrale Darstellung desselben umgesetzt. Die spektrale Darstellung
des herausgegriffenen Abschnitts wird dann in einer Einrichtung 13 hinsichtlich eines vorbestimmten Kriteriums bewertet, um ein Bewertungsresultat für den herausgegriffenen Abschnitt zu erhalten. Das Bewertungsresultat wird dann in eine Einrichtung 14 zum Durchsuchen und Ausgeben einer Mehrzahl von Bewertungsresultaten eingegeben, um an einem Ausgang 15 der erfindungsgemäßen Vorrichtung das dem decodierten Signal am Eingang 10 der erfindungsgemäßen Vorrichtung zugrunde liegende Codierungs-Blockraster auszugeben. Die Vorrichtung, die in Fig. 1 gezeigt ist, arbeitet iterativ, derart, daß die Einrichtung 11 zum Herausgreifen abhängig von einem Abschnitt-Steuerungssignal 16 einen Abschnitt des decodierten Signals herausgreifen kann, der sich von einem vorher herausgegriffenen Abschnitt unterscheidet . Die erfindungsgemäße Vorrichtung zum Bestimmen eines Codierungs-Blockrasters ist somit angeordnet, um eine Mehrzahl von Abschnitten des decodierten Signals, die bei verschiedenen Ausgangs-Abtastwerten beginnen, herauszugreifen, umzusetzen und zu bestimmen, um eine Mehrzahl von Bewertungsresultaten zu erhalten. Aus dieser Mehrzahl von Bewertungsresultaten ermittelt dann die Einrichtung 14 den herausgegriffenen Abschnitt, der dem Kriterium, das dem Bewerten zugrunde liegt, am besten entspricht, bzw. der abhängig vom Kriterium demselben am wenigsten entspricht, um einen Hinweis auf das Codierungs-Blockraster zu geben.1 shows a block diagram of a device according to the invention for determining a coding block raster on which a decoded signal is based. The decoded signal is fed to an input 10 in the device according to the invention and enters a device 11 for extracting a portion of the decoded signal. The section selected by the device 11 is converted in a device 12 into a spectral representation thereof. The spectral representation of the extracted portion is then evaluated in means 13 for a predetermined criterion to obtain an evaluation result for the extracted portion. The evaluation result is then entered into a device 14 for searching and outputting a plurality of evaluation results in order to output at an output 15 of the device according to the invention the coding block raster on which the decoded signal at the input 10 of the device according to the invention is based. The apparatus shown in Fig. 1 operates iteratively such that the means for extracting 11 can pick out a portion of the decoded signal different from a previously picked-out portion depending on a portion control signal 16. The coding block raster determining apparatus according to the present invention is thus arranged to extract, transpose and determine a plurality of portions of the decoded signal starting at different output samples to obtain a plurality of evaluation results. From this plurality of evaluation results, the device 14 then determines the selected section which best corresponds to the criterion on which the evaluation is based, or which corresponds least to it depending on the criterion, in order to give an indication of the coding block grid.
Im nachfolgenden wird auf Fig. 3 Bezug genommen, um die Struktur eines decodierten Signals am Eingang 10 der in Fig. 1 gezeigten erfindungsgemäßen Vorrichtung und die verschiedenen Codierungs-Blockraster-Versätze darzustellen. Das decodierte Signal besteht generell aus einer Folge 30 von zeitdiskreten Abtastwerten, die beispielsweise der in Fig. 8 gezeigte Decodierer an seinem Audioausgang 84 erzeugt hat . Insbesondere besteht die Folge 30 von zeitdiskreten Abtastwerten des decodierten Signals aus Abtastwerten 31a, 31b, 31c, 31d, .... In Fig. 3 ist ferner fett umrandet ein Codierungsblock 32 von Abtastwerten eingezeichnet, welcher die Codierungs-Blockrastereinteilung definiert, die dem
decodierten Signal 30 ursprünglich zugrunde liegt. Fig. 3 stellt den Fall dar, daß keine Überlappung verwendet wird, während Fig. 9, auf die weiter unten eingegangen wird, eine Fenstersequenz darstellt, die eine Überlappung von 50 % verwendet .Reference is now made to FIG. 3 to illustrate the structure of a decoded signal at the input 10 of the inventive apparatus shown in FIG. 1 and the various coding block raster offsets. The decoded signal generally consists of a sequence 30 of discrete-time samples which, for example, the decoder shown in FIG. 8 has produced at its audio output 84. In particular, the sequence 30 of discrete-time samples of the decoded signal consists of samples 31a, 31b, 31c, 31d, .... In Fig. 3, a coding block 32 of samples is further drawn in bold, which defines the coding block rasterization corresponding to the decoded signal 30 is originally based. Fig. 3 illustrates the case where no overlap is used, while Fig. 9, discussed below, illustrates a window sequence using a 50% overlap.
Das Codierungs-Blockraster ist im Sinne der vorliegenden Beschreibung derart definiert, daß ein Codierungsblock die Abtastwerte umfaßt, die durch eine Analyse-Fensterung aus dem Strom von zeitlichen Abtastwerten herausgegriffen werden. Die Anzahl der Abtastwerte in einem Codierungsblock entspricht somit der Anzahl von Abtastwerten, die beim Fenstern verwendet werden, oder anders ausgedrückt, der Fensterlänge. Da in Fig. 3 keine Überlappung der zeitlichen Fenster vorliegt, endet vor dem in Fig. 3 beispielhaft eingezeichneten Codierungsblock 32 ein vorheriger Codierungsblock und beginnt am Ende des Codierungsblocks 32 ein nachfolgender Codierungsblock.The coding block raster is defined in the sense of the present description in such a way that a coding block comprises the sampling values, which are picked out of the stream of time samples by an analysis windowing. The number of samples in a coding block thus corresponds to the number of samples used in windows, or in other words, the window length. Since there is no overlapping of the time windows in FIG. 3, a preceding coding block ends before the coding block 32 shown by way of example in FIG. 3, and a subsequent coding block begins at the end of the coding block 32.
Fig. 9 zeigt dagegen eine Fenstersequenz, bei der eine Überlappung von 50% verwendet wird. Eine solche Fenstersequenz kann bei MPEG-2 AAC auftreten. Entlang der Abszisse von Fig. 9 ist die Nummer eines diskreten Abtastwerts in einem Strom von Abtastwerten aufgetragen. Entlang der Ordinate in Fig. 9 ist die relative Größe des Fensters aufgetragen, d. h. der Faktor, mit dem ein Abtastwert beim Fenstern gewichtet wird.On the other hand, Fig. 9 shows a window sequence in which an overlap of 50% is used. Such a window sequence can occur with MPEG-2 AAC. Along the abscissa of Fig. 9, the number of a discrete sample is plotted in a stream of samples. Along the ordinate in Fig. 9, the relative size of the window is plotted, i. H. the factor used to weight a sample when it is being windowed.
Die Fenstersequenz in Fig. 9 umfaßt ein "langes" Fenster 90, ein sog. Start-Fenster 92, eine Folge von acht "kurzen" Fenstern 94, ein Stopp-Fenster 96 und wieder ein langes Fenster 98.The window sequence in FIG. 9 comprises a "long" window 90, a so-called start window 92, a sequence of eight "short" windows 94, a stop window 96, and again a long window 98.
Beim Standard MPEG-2-AAC kann ein Codierer, um stark transiente Zeitsignale besser codieren zu können, von einem langen Fenster auf eine Folge von acht kurzen Fenster umschalten. Die Fenstersequenz in Fig. 9 ist somit dafür geeignet, transiente Zeitsignale zwischen Abtastwert-Nr. 2560 und Abtastwert-Nr. 3584 zu verarbeiten.
Bei dem in Fig. 9 dargestellten Fall umfaßt ein langes Fenster 2048 Abtastwerte, während ein kurzes Fenster 256 Abtastwerte umfaßt. Die acht kurzen Fenster 94 umfassen genauso viel Abtastwerte wie ein langes Fenster 90 oder 98. Darüberhinaus sind das Start-Fenster 92 und das Stopp- Fenster 96 derart gewählt, daß nach einem Übergang der Fen- sterung mit langen Fenstern zu einer Fensterung mit kurzen Fenstern und nach einem entgegengesetzten Übergang wieder zurück zum Fenstern mit langen Fenstern das Codierungs- Blockraster von n • (1024 Abtastwerte) beibehalten wird. Das Codierungs-Blockraster ist hier also durch ein langes Fenster definiert, d. h. durch die Anzahl von Abtastwerten, die ein langes Fenster umfaßt.In the MPEG-2 AAC standard, an encoder can switch from a long window to a sequence of eight short windows to better encode high transient time signals. The window sequence in FIG. 9 is thus suitable for transient time signals between sample no. 2560 and sample no. 3584 to process. In the case illustrated in Figure 9, a long window comprises 2048 samples, while a short window comprises 256 samples. The eight short windows 94 comprise as many samples as a long window 90 or 98. In addition, the start window 92 and the stop window 96 are selected such that after a transition of the window with long windows to a window with short windows and after an opposite transition back to the window with long windows, the coding block raster of n • (1024 samples) is maintained. The coding block raster is thus defined here by a long window, ie by the number of samples comprising a long window.
Bei einer Überlappung von 50 % umfaßt im Falle einer Sequenz von langen Fenstern jedes neue Fenster 50 % der Abtastwerte, die durch das vorherige Fenster gefenstert wurden, und 50 % "neu" herausgegriffene Abtastwerte. Wird eine höhere Überlappung als 50% verwendet, so sinkt damit die Anzahl der "neu" herausgegriffenen Abtastwerte in einem Codierungs- block, während die Anzahl der "alten" Abtastwerte ansteigt. Die Gesamtanzahl der Abtastwerte pro Codierungsblock bleibt hingegen gleich.At a 50% overlap, in the case of a sequence of long windows, each new window will comprise 50% of the samples windowed by the previous window and 50% "new" sampled samples. If a higher overlap than 50% is used, the number of "new" sampled values in a coding block decreases, while the number of "old" samples increases. The total number of samples per encoding block, however, remains the same.
Die erfindungsgemäße Vorrichtung zum Bestimmen eines Codierungs-Blockrasters muß somit lediglich einen einzigen Codierungsblock des decodierten Signals ermitteln, da das Codierungs-Blockraster üblicherweise in einem Signal fest ist und, auch wenn kurze Fenster verwendet werden, sich nicht generell ändert .Thus, the coding block raster determining apparatus of the present invention is required to detect only a single coding block of the decoded signal, since the coding block raster is usually fixed in a signal and, even if short windows are used, does not generally change.
In Fig. 3 sind ferner drei mögliche Ansteuerungen der Einrichtung 11 (Fig. 1) zum Herausgreifen eingezeichnet, nämlich eine erste Alternative 33 mit einem Versatz von einem Abtastwert nach links, d. h. einem Versatz von -1, eine zweite Alternative 34 mit einem Versatz von 0 und eine dritte Alternative 35 mit einem Versatz von einem Abtastwert
nach rechts, d. h. mit einem Versatz von +1.FIG. 3 also shows three possible activations of the device 11 (FIG. 1) for picking up, namely a first alternative 33 with an offset of one sample to the left, ie an offset of -1, a second alternative 34 with an offset of 0 and a third alternative 35 with an offset of one sample to the right, ie with an offset of +1.
Im nachfolgenden wird auf Fig. 2 eingegangen, welche ein Flußdiagramm des erfindungsgemäßen Verfahrens liefert. Zunächst wird über die Steuerleitung 16 (Fig. 1) ein erster Versatz der Einrichtung 11 zum Herausgreifen mitgeteilt, d. h. ein erster Offset wird gesetzt (Schritt 20) . Daran anschließend wird dieser durch den ersten Offset bestimmte Abschnitt, welcher bei einem Ausgangs-Abtastwert des decodierten Signals beginnt, durch die Einrichtung 12 in seine spektrale Darstellung umgesetzt, d. h. es wird eine Spektralanalyse dieses Abschnitts mit diesem Offset durchgeführt (Schritt 21) . Hierauf wird die spektrale Darstellung am Ausgang der Einrichtung 12 (Fig. 1) in der Einrichtung 13 (Fig. 1) bewertet, d. h. es wird eine Bewertung des Spektrums durchgeführt, um ein Bewertungsresultat zu erhalten (Schritt 22) . Dann wird in einem Schritt 23 ermittelt, ob alle gewünschten Offsets bereits durchfahren worden sind, d. h. ob der Suchbereich durchlaufen ist. Ist dies nicht der Fall, d. h. liefert die Entscheidung im Schritt 23 ein "Nein", so wird in einem Schritt 24 über die Steuerleitung 16 der Einrichtung 11 zum Herausgreifen ein neuer Offset mitgeteilt, damit die Iterationsschleife mit diesem neuen Offset erneut durchlaufen werden kann. Ist der Suchbereich dann durchlaufen, d. h. liefert die Entscheidung im Schritt 23 ein "Ja", so werden die verschiedenen Bewertungsresultate durchsucht, und es wird das Bewertungsresultat ermittelt, das bezüglich der anderen Bewertungsresultate je nach Kriterium entweder maximal oder minimal ist, um dann eine Identifikation des dem decodierten Signal zugrunde liegenden Codierungs-Blockrasters auf der Basis des Abschnitts, der das günstigste Bewertungsresultat hatte, in einem Schritt 25 auszugeben.In the following, reference is made to Fig. 2, which provides a flow chart of the method according to the invention. First, via the control line 16 (FIG. 1), a first offset of the means 11 for picking is communicated, i. H. a first offset is set (step 20). Subsequently, this portion determined by the first offset, which starts at an output sample of the decoded signal, is converted by the means 12 into its spectral representation, i. H. a spectral analysis of this section is performed with this offset (step 21). The spectral representation at the output of device 12 (Figure 1) in device 13 (Figure 1) is then evaluated, i. H. an evaluation of the spectrum is performed to obtain an evaluation result (step 22). Then, in a step 23, it is determined whether all the desired offsets have already been traversed, i. H. whether the search area has been traversed. If this is not the case, d. H. If the decision in step 23 gives a "no", then in step 24 the control line 16 informs the means 11 for picking out a new offset so that the iteration loop can be run through again with this new offset. If the search area then goes through, d. H. If the decision in step 23 returns a "yes", the various evaluation results are searched, and the evaluation result is determined, which is either maximal or minimal with respect to the other evaluation results, and then an identification of the coding underlying the decoded signal Block rasters on the basis of the section that had the cheapest evaluation result in a step 25 output.
Im nachfolgenden wird auf die Figuren 4 bis 6 Bezug genommen, um das durch die Einrichtung 13 durchgeführte Bewerten bzw. den Schritt 22 von Fig. 2 näher zu erläutern. In den Fig. 4 bis 6 ist entlang der Abszisse die Koeffizientennum-
mer aufgetragen. Die Fig. 4 bis 6 zeigen somit graphische Darstellungen von Spektren, wenn die Koeffizientennummer mit der Bandbreite eines Spektralkoeffizienten multipliziert wird. Entlang der Ordinate der in Fig. 4 bis Fig. 6 gezeigten graphischen Darstellungen ist der absolute Betrag der Spektralkoeffizienten in logarithmischer Darstellung aufgetragen.In the following, reference is made to Figures 4 to 6 to explain the performed by the device 13 and the step 22 of FIG. 2 in more detail. In FIGS. 4 to 6, along the abscissa, the coefficient number is shown. applied. Figs. 4 to 6 thus show graphs of spectra when the coefficient number is multiplied by the bandwidth of a spectral coefficient. Along the ordinate of the graphs shown in Fig. 4 to Fig. 6, the absolute value of the spectral coefficients is plotted in logarithmic representation.
Insbesondere zeigt Fig. 4 die spektrale Darstellung eines herausgegriffenen Abschnitts mit einem Versatz von minus einem Abtastwert, was der Alternative 33 von Fig. 3 entspricht. Es ist ein deutlich verschmiertes Spektrum zu erkennen, in dem keine sauber definierten Spektralkoeffizienten vorliegen, und in dem ferner lediglich eine recht geringe Anzahl von Spektralkoeffizienten gleich 0 bzw. kleiner als eine vorbestimmte Schwelle sind.In particular, FIG. 4 shows the spectral representation of an extracted portion with an offset of minus one sample, which corresponds to alternative 33 of FIG. It can be seen a clearly smeared spectrum in which no cleanly defined spectral coefficients are present, and further in which only a very small number of spectral coefficients are equal to 0 or less than a predetermined threshold.
Zum Vergleich ist eine spektrale Darstellung eines herausgegriffenen Abschnitts dargestellt, der keinen Rasterversatz hat, d. h. Alternative 34 von Fig. 3. Es ist ein deutlich definiertes Spektrum zu erkennen, bei dem eine Vielzahl von Spektrallinien aufgrund der Quantisierung in Abhängigkeit von der psychoakustischen Maskierungsschwelle 0 bzw. sehr klein sind, und bei dem ferner alle Spektrallinien eine sauber definierte Struktur haben.For comparison, a spectral representation of an extracted section is shown that has no grid offset, i. H. Alternative 34 of Fig. 3. It can be seen a clearly defined spectrum in which a plurality of spectral lines due to the quantization depending on the psychoacoustic masking threshold 0 or very small, and further in which all the spectral lines have a neatly defined structure.
In Fig. 6 schließlich ist eine spektrale Darstellung eines herausgegriffenen Abschnitts dargestellt, welcher einen Rasterversatz von plus einem Abtastwert hat, d. h. welcher der dritten Alternative 35 von Fig. 3 entspricht. Es ist deutlich zu erkennen, daß im Gegensatz zu Fig. 5 das Spektrum in Fig. 6 wieder stark verschmiert ist.Finally, in Fig. 6, a spectral representation of a singled out section is shown having a grid offset of plus one sample, i. H. which corresponds to the third alternative 35 of FIG. It can be clearly seen that, in contrast to FIG. 5, the spectrum in FIG. 6 is again heavily smeared.
Im nachfolgenden wird auf verschiedene Bewertungskriterien näher eingegangen. Grundsätzlich kann als Kriterium jede Eigenschaft des in Fig. 5 gezeigten Spektrums verwendet werden, die sich von einer Eigenschaft der in Fig. 4 und 6 gezeigten Spektren unterscheidet. Am dominantesten sichtbar
ist, daß bei dem in Fig. 5 gezeigten Spektrum, dem kein Rasterversatz zugrunde liegt, eine große Anzahl von Spektrallinien kleiner als z. B. 30 dB ist, d. h. etwa 70 dB unterhalb der signifikanten Spektralkoeffizienten liegt. Anders ausgedrückt ist eine große Anzahl der Spektrallinien gleich 0 bzw. kleiner als 30 dB. Als Kriterium kann hier somit ein einfaches Abzählen der Spektrallinien gleich 0 verwendet werden, um als Bewertungsresultat die von 0 verschiedenen Spektrallinien eines herausgegriffenen Abschnitts zu verwenden.In the following, we will discuss different evaluation criteria. In principle, the criterion used may be any property of the spectrum shown in FIG. 5, which differs from a property of the spectra shown in FIGS. 4 and 6. Most visible is that in the spectrum shown in Fig. 5, which is based on no grid offset, a large number of spectral lines smaller than z. B. 30 dB, that is about 70 dB below the significant spectral coefficients. In other words, a large number of the spectral lines are 0 and less than 30 dB, respectively. As a criterion, therefore, a simple counting of the spectral lines equal to 0 can be used here in order to use the non-zero spectral lines of an extracted section as the evaluation result.
Der Abschnitt mit der geringsten Anzahl von von 0 verschiedenen Spektralwerten bzw. der größten Anzahl von Spektral- linien gleich 0 wäre dann der Abschnitt, der von dem Ausgangs-Abtastwert des decodierten Signals startet (hier der Abtastwert 31c von Fig. 3) , der auch der erste Abtastwert des beim Codieren des ursprünglichen Signals verwendeten Analyse-Fensters ist. Hier liegt daher kein Rasterversatz vor.The portion with the least number of 0 different spectral values or the largest number of spectral lines would be 0 would then be the portion starting from the output sample of the decoded signal (here the sample 31c of FIG. 3), too the first sample of the analysis window used in encoding the original signal. Therefore, there is no raster offset here.
Alternativ kann als vorbestimmtes Kriterium auch eine Entscheidungsschwelle verwendet werden, um als Bewertungsresultat entweder die Spektralwerte mit einem Betrag oberhalb der Schwelle oder einem Betrag unterhalb der Schwelle auszugeben.Alternatively, as a predetermined criterion, a decision threshold may also be used to output as the evaluation result either the spectral values with an amount above the threshold or an amount below the threshold.
Alternativ kann ein vorbestimmtes Kriterium zum Bestimmen des korrekten Codierungs-Blockrasters auch auf der Auswertung der schnellen bzw. abrupten Schwankung der z. B. logarithmischen Amplitude der Spektralkoeffizienten basieren. Im Mittel wird die quadrierte Differenz zwischen zwei Spektral- koeffizienten in den Fig. 4 und 6 (mit Rasterversatz) niedriger sein als in Fig. 5 (ohne Rasterversatz) . Wie im ersten Beispiel kann auch hier eine Entscheidungsschwelle verwendet werden, um als Bewertungsresultat eine "Schwankungsgeschwindigkeit" des Spektrums mit einem Betrag oberhalb der Schwelle oder einem Betrag unterhalb der Schwelle auszugeben.
An dieser Stelle sei darauf hingewiesen, daß ein Spektrum, wie es in Fig. 5 gezeigt ist, nur sichtbar wird, wenn neben dem korrekten Rasterversatz auch die Parameter der Analyse- filterbank 71 (Fig. 7) übereinstimmen. Solche Parameter sind beispielsweise der Filterbanktyp (z. B. DFT, DCT, MDCT) , die Codierungs-Blocklänge und die Fensterform. Bei dem in den Fig. 4 bis 6 gezeigten Beispiel wurde beispielsweise eine Filterbank nach MPEG-2 AAC, als Fensterform ein KBD-Fenster (KBD = Kaiser-Bessel-Derived) und als Codierungs-Blocklänge ein langer Block (Only-Long-Sequence) angesetzt.Alternatively, a predetermined criterion for determining the correct coding block raster can also be based on the evaluation of the rapid or abrupt fluctuation of the z. B. logarithmic amplitude of the spectral coefficients are based. On average, the squared difference between two spectral coefficients in FIGS. 4 and 6 (with grid offset) will be lower than in FIG. 5 (without grid offset). As in the first example, a decision threshold can also be used here to output, as the evaluation result, a "fluctuation speed" of the spectrum with an amount above the threshold or an amount below the threshold. It should be noted at this point that a spectrum, as shown in FIG. 5, only becomes visible if, in addition to the correct grid offset, the parameters of the analysis filter bank 71 (FIG. 7) also coincide. Such parameters are, for example, the type of filter bank (eg DFT, DCT, MDCT), the coding block length and the window form. In the example shown in FIGS. 4 to 6, for example, a filter bank according to MPEG-2 AAC, as a window form a KBD window (KBD = Kaiser-Bessel-Derived) and as a coding block length a long block (Only-Long-Sequence ).
Oft liegt der Fall tatsächlich so, daß es von vornherein vom decodierten Signal bekannt ist, daß es gemäß MPEG-2 AAC codiert und wieder decodiert worden ist . Selbst wenn dies auch nicht bekannt ist, kann das an sich iterative Konzept gemäß der vorliegenden Erfindung, wie es in den Fig. 1 und 2 dargestellt ist, ohne weiteres modifiziert werden, derart, daß auch die Einrichtung 12 zum Umsetzen in die spektrale Darstellung (Fig. 1) iterativ betrieben wird, um der Umsetzung in die spektrale Darstellung unterschiedliche Umsetzungsparameter zugrunde zu legen, um in einer doppelten Iterationsschleife in Verbindung mit der Steuerung des Abschnitt, der herausgegriffen wird, neben dem Codierungs-Blockraster auch den verwendeten Codieralgorithmus zu eruieren. Es wird darauf hingewiesen, daß immer nur eine begrenzte Anzahl von Codierer-Kandidaten praktisch relevant ist, weshalb das erfindungsgemäße Konzept auch dann in begrenzter Zeit zu einem Ergebnis kommt, wenn auch der Codierer, der das vorliegende decodierte Signal erzeugt hat, noch unbekannt ist.Often, the case is actually that it is known from the outset by the decoded signal that it has been encoded and decoded according to MPEG-2 AAC. Even though this is not known, the inherently inventive concept according to the present invention, as shown in FIGS. 1 and 2, can be readily modified such that the means 12 for converting to the spectral representation (FIG. FIG. 1) is iteratively operated in order to base the conversion in the spectral representation on different conversion parameters in order to determine in a double iteration loop in conjunction with the control of the section which is picked out, in addition to the coding block raster, also the coding algorithm used. It should be noted that only a limited number of encoder candidates are practically relevant at any given time, which is why the inventive concept comes to a conclusion in a limited time even if the encoder that generated the present decoded signal is still unknown.
Allgemein genügt, wie es bereits ausgeführt worden ist, die Ermittlung eines einzigen Codierungsblocks 32 (Fig. 3) , um das gesamte Codierungs-Blockraster, das dem decodierten Signal zugrunde liegt, generell zu ermitteln. Um auch die Umschaltung von langen Codierungsblöcken auf kurze Codierungsblöcke bzw. vielleicht sogar auf andere Rastereinteilungen nachvollziehen zu können, kann das erfindungsgemäße
Verfahren dahingehend modifiziert werden, daß die Länge eines Abschnitts, welche der Einrichtung 11 zum Herausgreifen mitzuteilen ist, ebenfalls variiert wird, um das in Fig. 2 gezeigte iterative Verfahren für verschiedene Codierungs- Blocklängen zu wiederholen. Wenn kurze Fenster verwendet werden, wird dies auch den Einrichtungen 12 und 13 mitgeteilt. Somit kann aus einigen gefundenen Rasterpunkten das gesamte Raster extrapoliert werden oder aber, wie es am Beispiel der kurzen Codierungsblöcke gezeigt wurde, sogar in seine eventuell vorhandenen Feinstrukturen aufgeschlüsselt werden.Generally, as already stated, it suffices to detect a single coding block 32 (Figure 3) to generally determine the overall coding block pattern underlying the decoded signal. In order to be able to understand the switching from long coding blocks to short coding blocks or perhaps even to other grid divisions, the inventive Methods are also modified such that the length of a portion to be notified to the means 11 for picking is also varied to repeat the iterative method shown in Figure 2 for different coding block lengths. If short windows are used, this will also be communicated to facilities 12 and 13. Thus, the entire raster can be extrapolated from some raster points found or, as shown by the example of the short coding blocks, even broken down into its possibly existing fine structures.
Wurden bei der Codierung, die dem decodierten Signal zugrunde liegt, zusätzliche Codierungs- "Tools" verwendet, so können durch eine erweiterte Suche bzw. durch zusätzliche Berechnungen auch diese Konfigurationen bestimmt werden.If additional coding "tools" were used in the coding on which the decoded signal is based, these configurations can also be determined by means of an extended search or additional calculations.
Falls bei der Erzeugung des decodierten Signals eine M/S- Stereocodierung (J. D. Johnston, A. J. Ferreira: "Sum- Difference Stereo Transform Coding", IEEE ICASSP 1992, S. 569 - 571) , die auch als Mitte/Seite-Codierung oder als Summen/Differenz-Codierung bezeichnet wird, eingesetzt worden ist, wird das oben beschriebene iterative Bestimmen des Codierungs-Blockrasters nicht auf das decodierte Signal selbst ausgeführt, sondern auf die Summe oder Differenz der Spektralwerte. Zeigt sich dann beispielsweise eine signifikante Zahl von verschwindenden (Summen- und Differenz-) Spektralkoeffizienten, so wird auf eine M/S-Codierung geschlossen, und eventuell folgende Rechnungen werden dann mit den Summen- und Differenz-Spektralkoeffizienten ausgeführt. Hier kann das vorbestimmte Kriterium dahingehend modifiziert werden, daß Einzelkriterien des Summen-Signals und des Differenz-Signals auf geeignete Art miteinander gewichtet werden, so daß das vorbestimmte Kriterium sowohl auf dem Summen-Signal als auch auf dem Differenz-Signal aufbaut.If in the generation of the decoded signal, an M / S stereo coding (JD Johnston, AJ Ferreira: "Sum Difference Stereo Transform Coding", IEEE ICASSP 1992, pp. 569-571), which also as a middle / side encoding or as Has been used, the above-described iterative determination of the coding block raster is not performed on the decoded signal itself, but on the sum or difference of the spectral values. If, for example, a significant number of disappearing (sum and difference) spectral coefficients then appears, an M / S coding is concluded and any subsequent calculations are then carried out with the sum and difference spectral coefficients. Here, the predetermined criterion may be modified such that individual criteria of the sum signal and the difference signal are weighted together in a suitable manner, so that the predetermined criterion is based on both the sum signal and the difference signal.
Falls bei der Erzeugung des decodierten Signals eine TNS- Codierung (TNS = Temporal Noise Shaping = zeitliche Rausch-
formung) (J. Herre, J. D. Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS) ) eingesetzt worden ist, kann das Codierungs- Blockraster anhand der "niederfrequenten" Spektralkoeffizienten bestimmt werden, welche üblicherweise nicht einer TNS-Codierung unterzogen werden. Normalerweise werden Spektralkoeffizienten unter 1 kHz nicht einer TNS-Codierung unterzogen. Dieser Wert kann jedoch selbstverständlich von Fall zu Fall variieren.If, in the generation of the decoded signal, TNS coding (TNS = Temporal Noise Shaping) Formation) (J. Herre, JD Johnston: Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)), the coding block raster can be determined from the "low frequency" spectral coefficients, which are usually not TNS Normally, spectral coefficients below 1 kHz are not subjected to TNS coding, but this value may of course vary from case to case.
Obwohl das erfindungsgemäße Konzept zum Bestimmen eines Codierungs-Blockrasters anhand eines Audio-Codierkonzepts beschrieben worden ist, sei darauf hingewiesen, daß dieses Konzept ebenfalls auf Videocodierer anwendbar ist. Das erfindungsgemäße Konzept ist generell auf sämtliche Codieralgorithmen für sämtliche Signale anwendbar, wenn diese Codieralgorithmen die Eigenschaft haben, daß sie auf einer spektralen Darstellung des zu codierenden Signals aufbauen. Immer wenn dies der Fall ist, kann für verschiedene Codierungs-Blockrastereinteilungen für das decodierte Signal eine spektrale Darstellung des herausgegriffenen Abschnitts erzeugt werden, um dann die spektrale Darstellung hinsichtlich eines vorbestimmten Kriteriums zu bewerten.Although the inventive concept for determining a coding block raster has been described on the basis of an audio coding concept, it should be noted that this concept is also applicable to video encoders. The inventive concept is generally applicable to all coding algorithms for all signals, if these coding algorithms have the property that they build on a spectral representation of the signal to be coded. Whenever this is the case, for different coded block framer divisions for the decoded signal, a spectral representation of the extracted portion can be generated to then evaluate the spectral representation with respect to a predetermined criterion.
Schließlich sei angemerkt, daß die erfindungsgemäße Vorrichtung zum Bestimmen eines Codierungs-Blockrasters nicht unbedingt seriell arbeiten muß, derart, daß ein Bewertungsresultat nach dem anderen erzeugt wird, d. h. daß über die Steuerleitungen 16 (Fig. 1) die Einrichtung 11 zum Herausgreifen gesteuert wird, um nach und nach immer einen beispielsweise um 1 verschobenen Abschnitt herauszugreifen. Je nach Implementationsrandbedingungen kann die erfindungsgemäße Vorrichtung auch vollständig oder teilweise parallel implementiert sein, so daß beispielsweise 1024 Bewertungsresultate in einem Bearbeitungsdurchgang erzeugt werden. Auch gemischte Seriell/Parallel-Optionen sind möglich, so daß beispielsweise acht Parallelzweige existieren, welche dann entsprechend oft seriell arbeiten, um einen gesamten Such-
bereich abdecken zu können.Finally, it should be noted that the device for determining a coding block raster according to the invention does not necessarily have to work serially in such a way that one evaluation result is produced after another, ie that the means 11 for selecting is controlled via the control lines 16 (FIG. 1), to gradually pick out, for example, a section shifted by 1, for example. Depending on the implementation constraints, the device according to the invention can also be implemented completely or partially in parallel, so that, for example, 1024 evaluation results are generated in one processing run. Mixed serial / parallel options are also possible, so that, for example, there are eight parallel branches, which then operate correspondingly often in series in order to produce an entire search sequence. to be able to cover the area.
An dieser Stelle sei auch darauf hingewiesen, daß nicht immer unbedingt ein ganzer vorbestimmter Suchbereich durchlaufen werden muß. Wenn, wie im vorliegenden Fall, die Unterscheidung zwischen dem Spektrum ohne Rasterversatz und einem Spektrum mit einem minimalen Rasterversatz so deutlich möglich ist, kann die Iteration, die in Fig. 2 dargestellt ist, auch bereits dann abgebrochen werden, wenn ein vorbestimmtes Kriterium erfüllt ist, da eigentlich kein Zweifel mehr daran besteht, daß es sich bei dem hier getesteten herausgegriffenen Abschnitt um einen Abschnitt handelt, der zu dem ursprünglichen Codierungs-Blockraster synchron ist.It should also be pointed out that it is not always necessary to go through an entire predetermined search area. If, as in the present case, the distinction between the spectrum without grid offset and a spectrum with a minimum grid offset is so clearly possible, the iteration illustrated in FIG. 2 can be terminated even if a predetermined criterion is fulfilled since there is no longer any doubt that the section we are looking at here is a section that is synchronous with the original coding block grid.
Außerdem sei angemerkt, daß das Codierungs-Blockraster durch eine beliebige Definition identifiziert werden kann, und nicht nur durch den Anfangs-Abtastwert eines Codierungs- blocks . Selbstverständlich kann jeder Abtastwert eines Codierungsblocks von Abtastwerten dazu verwendet werden, um das Codierungs-Blockraster zu definieren. Schließlich kann das Codierungs-Blockraster auch abweichend von der Anzahl von Abtastwerten pro Fenster definiert werden, derart, daß zwei Rasterpunkte des Codierungs-Blockrasters um die z. B. zweifache Anzahl von Abtastwerten eines Fenster voneinander beabstandet sind.
It should also be noted that the coding block raster can be identified by any definition, not just the initial sample of a coding block. Of course, each sample of a coding block of samples may be used to define the coding block grid. Finally, the coding block raster can also be defined differently from the number of samples per window, such that two raster points of the coding block raster are spaced around the z. B. twice the number of samples of a window are spaced apart.