DE69826878T2 - Wiederkodierung von dekodierten signalen - Google Patents

Wiederkodierung von dekodierten signalen Download PDF

Info

Publication number
DE69826878T2
DE69826878T2 DE69826878T DE69826878T DE69826878T2 DE 69826878 T2 DE69826878 T2 DE 69826878T2 DE 69826878 T DE69826878 T DE 69826878T DE 69826878 T DE69826878 T DE 69826878T DE 69826878 T2 DE69826878 T2 DE 69826878T2
Authority
DE
Germany
Prior art keywords
coding
signal
encoding
input signal
earlier
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
DE69826878T
Other languages
English (en)
Other versions
DE69826878D1 (de
Inventor
Andrew John Reigate FLETCHER
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.)
British Broadcasting Corp
Original Assignee
British Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Broadcasting Corp filed Critical British Broadcasting Corp
Application granted granted Critical
Publication of DE69826878D1 publication Critical patent/DE69826878D1/de
Publication of DE69826878T2 publication Critical patent/DE69826878T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf die Neucodierung decodierter Signale, insbesondere analoger oder analogartiger Signale, und findet besondere Anwendung auf Audiosignale, kann aber auch auf Videosignale angewendet werden.
  • Die Digitalisierung analoger Signale in Signalübertragungssystemen ist gut eingeführt. Ursprünglich wurde die Digitalisierung hauptsächlich zur Verringerung der Wirkungen des Rauschens eingeführt. Allerdings ist es häufig wichtig, die von dem Signal belegte Bandbreite zu minimieren. Somit sind Techniken zur Verarbeitung der digitalisierten Signale entwickelt worden, die die Menge der zu übertragenden Informationen verringern, wobei diese beträchtliche Kompliziertheit aufweisen können. Diese Techniken werden allgemein als Codierungssysteme beschrieben.
  • Die Codierung und Decodierung eines Signals führt zu einem Informationsverlust. Umfassend gesagt ist das decodierte Signal umso näher an dem Original, je größer die Bandbreite (Bitrate) ist und je größer die für die Codierung und Decodierung verfügbare Verarbeitungsleistung ist. Der Unterschied zwischen dem ursprünglichen und dem decodierten Signal kann als Codierungsrauschen bezeichnet werden.
  • Codierungssysteme werden so konstruiert, dass die Beeinträchtigung (der Verlust) der wahrgenommenen Qualität minimiert wird. Zum Beispiel wird für die Audiokompression für Hochkompressions-Codierungssysteme, die das Signal genau an die Hörschärfe des menschlichen Ohrs anpassen, der Begriff "psychoakustische Codierung" verwendet. Falls das System gut konstruiert ist, ist das Codierungsrauschen im Wesentlichen nicht wahrnehmbar und wird durch das Nutzsignal maskiert.
  • Zur Codierung von Audiosignalen sind eine beträchtliche Anzahl von Techniken entwickelt worden. In einem Videosignalsystem, in dem das Videosignal digitalisiert und komprimiert wird, gibt es üblicherweise ein begleitendes Audiosignal; dieses Audiosignal muss digitalisiert werden, wobei erwünscht sein kann, dass es ebenfalls komprimiert wird. Standardtechniken zur Kompression von Videosignalen, z. B. die MPEG-Codierung (die selbst mehrere Abwandlungen oder Pegel besitzt), sind wohlbekannt.
  • Offensichtlich muss die Audiokompressionstechnik mit dem MPEG-Videokom pressionssystem kompatibel sein. Allerdings enthält der MPEG-Standard eine beträchtliche Vielfalt von Audiocodierungsschichten und -pegeln. In MPEG-1 und MPEG-2 gibt es 3 Schichten, wobei die Codierungskompliziertheit von Schicht 1 zu Schicht 3 zunimmt. Außerdem gibt es in MPEG-1 3 mögliche Abtastraten sowie mehrere Betriebsarten (Mono, Stereo, Dual Mono usw.); in MPEG-2 gibt es 6 Abtastraten und mehrere Betriebsarten (einschließlich Mehrkanalbetriebsarten).
  • Welche Codierungssysteme in verschiedenen Signalcodierungsstationen implementiert werden, hängt von den besonderen Umständen in den verschiedenen Stationen ab. Falls eine besondere Station so konstruiert ist, dass sie lediglich einen spezifischen Signaltyp oder wenige spezifische Signaltypen behandelt, können die spezifischen Codierungstypen (sowohl für Video- als auch für Audiosignale) implementiert werden, die für diese Signaltypen erforderlich sind. Häufig kann eine Station aber einen breiten Bereich von Codierungssystemen implementieren, wobei das besondere verwendete Codierungssystem gemäß den Anforderungen des Signals ausgewählt wird, das codiert wird, und geändert wird, während sich diese Anforderungen ändern. Somit gibt es mehrere Grundmengen von Codierungssystemen, die auf ein besonderes Signal angewendet werden können. Außerdem können sich die Codierungsparameter oder Codierungsentscheidungen, die einem gegebenen Signal zugeordnet sind, dynamisch ändern. Obgleich das Grundcodierungsschema häufig in der Weise spezifiziert werden kann, dass es in verschiedenen Codierern einheitlich angewendet werden kann, brauchen die dynamischen Codierungsentscheidungen nicht notwendig von einem Codierer zum anderen auf die gleiche Weise ausgeführt zu werden.
  • Häufig ist es erforderlich, codierte Signale über eine Kette aus mehreren Stufen ("Abschnitten") zu übertragen. Die verschiedenen Stufen können verschiedene Signalbearbeitungseigenschaften haben und/oder die Kopplung zwischen den verschiedenen Stufen kann verhältnismäßig primitiv sein. Dies kann dazu führen, dass das Signal decodiert werden muss, während es eine Stufe verlässt, und neu codiert werden muss, während es in die nächste Stufe eintritt. Ähnlich kann erforderlich sein, dass eine Station die durch sie gehenden Signale, z. B. zum Mischen oder Vereinigen, verarbeitet. Im Allgemeinen erfordert dies ebenfalls, dass die ankommenden Signale decodiert werden, bevor sie verarbeitet und für die Weitersendung neu codiert werden.
  • Es ist gut erkannt, dass diese Decodierung und Neucodierung im Allgemeinen zu einem Qualitätsverlust führt. Wie oben diskutiert wurde, führt die ursprüngliche Codierung und Decodierung ein Codierungsrauschen ein, so dass die Eingabe für die zweite Codierung aus dem ursprünglichen Signal und aus diesem Codierungsrauschen besteht. Die zweite Codierung führt ihr eigenes Codierungsrauschen ein, so dass die Ausgabe von der zweiten Codierung zwei Anteile des Codierungsrauschens enthält, usw. Das Codierungsrauschen kann sich leicht bis zu dem Punkt akkumulieren, wo es hörbar ist und einen merklichen Qualitätsverlust erzeugt.
  • In Implementierungen können Ausführungsformen der vorliegenden Erfindung den Qualitätsverlust, der bei dieser Decodierung und Neucodierung auftritt, verringern.
  • Die Erfindung ist aus der Erkenntnis heraus entstanden, dass dann, wenn die zwei Codierungssysteme völlig gleich sind, das zweite Codierungssystem praktisch kein Codierungsrauschen über das hinaus einführt, das bereits durch das erste Codierungssystem eingeführt worden ist, falls die Neucodierung genau die gleichen Parameter wie die ursprüngliche Codierung verwendet.
  • Gemäß einem Aspekt der vorliegenden Erfindung wird eine Codierungsvorrichtung zum Codieren eines Eingangssignals, das früher codiert und decodiert worden ist, geschaffen, die umfasst:
    Codierungsmittel, um eine Ausgewählte von mehreren verschiedenen möglichen Codierungen auszuführen;
    Analysemittel, um das Eingangssignal zu analysieren, um Eigenschaften einer früheren Codierung zu erfassen, wobei die Analysemittel die Differenz bestimmen zwischen dem Eingangssignal und dem Ergebnis mehrerer versuchter Codierungen hiervon, die mit den Codierungen, die die Codierungsmittel ausführen können, übereinstimmen; und
    Auswahlmittel, um den Codierungstyp auszuwählen, der gemäß den Ergebnissen der Analyse auszuführen ist.
  • Gemäß einem weiteren Aspekt schafft die Erfindung ein Verfahren zum Codieren eines früher codierten und decodierten Signals, das umfasst:
    Analysieren des Signals, um Eigenschaften einer früheren Codierung zu erfassen, wobei das Analysieren das Bestimmen der Differenz zwischen dem Signal und dem Ergebnis mehrerer versuchter Codierungen hiervon, die mit mehreren Codierungen, die ausgeführt werden können, übereinstimmen, umfasst;
    Auswählen des Typs der auszuführenden Codierung in Übereinstimmung mit den Ergebnissen der Analyse;
    Codieren des Signals gemäß einer der mehreren Codierungen auf der Grundlage der Analyse und der Auswahl.
  • In einfachen Versionen der Erfindung kann das Eingangssignal ein wahres analoges Signal sein. Allerdings kann das Eingangssignal ein "nahezu analoges" Signal, d. h. ein Signal, das teilweise decodiert worden ist, aber weiter in der digitalen Form ist, z. B. ein Impulscodemodulationssignal (PCM-Signal), oder ein unkomprimierter digitaler Bitstrom, sein.
  • Die der Codierung unterliegende Komponente des Signals könnte einfach das Signal selbst sein. Dies ist der Fall in einem Kompandierungssystem wie etwa NICAM. Alternativ könnte die Komponente aus einer Transformation des ursprünglichen Signals abgeleitet sein. Beispiele sind eine Zeit-Frequenz-Transformation eines Audiosignals oder eine diskrete Kosinustransformation eines Bilds.
  • Vorteilhaft kann die Erfindung auf die Codierung von Audiosignalen im Rahmen der MPEG-Standards angewendet werden, wobei für das Audiosignal eine Vielzahl verschiedener Codierungen verwendet werden können.
  • Die Erfindung kann angewendet werden, um anfangs das ankommende Signal zu analysieren, geeignete Codierungsparameter zu bestimmen und das Signal daraufhin unter Verwendung dieser Parameter für eine längere Zeitdauer neu zu codieren. Bevorzugter wird die Erfindung verwendet, um das Signal dynamisch, d. h. während die Codierung im Gang ist, zu analysieren und die Codierungsparameter regelmäßig oder quasi ununterbrochen neu zu schätzen. Insbesondere ändern sich die Codierungsparameter im Fall der Neucodierung eines zuvor komprimierten Signals (die bevorzugte Anwendung) wie etwa eines Video- oder Audiosignals häufig, während sich das Signal ändert, um eine effiziente Codierung zu erzeugen. Somit wird die Analyse vorzugsweise (quasi) ununterbrochen ausgeführt und vorzugsweise zur Bestimmung einer Menge von Codierungsparametern für jeden aufeinander folgenden Datenblock (z. B. einen Block von MPEG-Audiosignalen oder ein Videovollbild einer Videobildgruppe) ausgeführt.
  • Es ist klar, dass es insbesondere dort, wo das Signal in decodierter Form verarbeitet worden ist, möglicherweise nicht immer möglich ist, die vorausgehende Codierung genau zu kopieren, wobei aber ermittelt worden ist, dass durch Berücksichtigen und in gewissem Umfang Befolgen geschätzter früherer Codierungsentscheidungen die Menge des bei der Neucodierung eingeführten Codierungsrauschens normalerweise kleiner ist, als wenn die Neucodierung ohne Analyse ausgeführt wird, wobei sich in vielen Fällen eine erhebliche Verbesserung ergibt. Solche Techniken sind ebenfalls in EP-A-0 509 576 und in US-A-5237397 gezeigt.
  • Weitere Aspekte und bevorzugte Merkmale sind in den Ansprüchen dargestellt, auf die Bezug genommen werden sollte.
  • Es werden nun Codierungsvorrichtungen, die die Erfindung verkörpern, und verschiedene Änderungen und Entwicklungen davon beispielhaft mit Bezug auf die Zeichnung beschrieben, in der:
  • 1 ein Blockschaltplan einer einfachen Codierungsvorrichtung ist; und
  • 2 ein Blockschaltplan einer Vorrichtung zur Ausführung der Audiocodierung der MPEG-Schicht II ist.
  • Es wird angemerkt, dass die Techniken und Prinzipien, die in der folgenden spezifischen Diskussion im Kontext einer spezifischen Anwendung im Folgenden beschrieben werden, soweit nichts anderes angegeben ist, allgemeiner in anderen Anwendungen angewendet werden können. Bezugnahmen auf eine frühere Codierung bedeuten in dieser Beschreibung eher eine Transformation eines Signals von einer Form in eine andere, die typisch eine Kompression umfasst und/oder die typisch wenigstens das Potenzial für einen Datenverlust umfasst, als lediglich die Formatierung oder Verpackung eines Signals zur Lieferung oder Übertragung.
  • Grundprinzipien
  • Wie in 1 gezeigt ist, umfasst die Codierungsvorrichtung zwei Codierer, ENC1, 10, und ENC2, 11, die ein analoges Eingangssignal I/P SIG auf der Eingangsleitung 12 gemäß verschiedenen Quantisierungsschemata codieren. Ihre Ausgaben werden einem Multiplexer MUX13 zugeführt, der durch eine Auswahleinrichtung SEL13 gesteuert wird und auf der Leitung 14 das fertige codierte Ausgangssignal O/P SIG erzeugt.
  • Diese Komponenten bilden einen herkömmlichen Mehrfachcodierungscodierer. In dem Codierer des Standes der Technik wird die Auswahleinrichtung 13 typisch von Hand gemäß dem eingestellt, welche Codierungseigenschaften gewünscht sind.
  • In der vorliegenden Vorrichtung speisen die Codierer 10 und 11 über jeweilige Decodierer 20 und 21 die jeweiligen Differenzüberwachungseinrichtungen 22 und 23, in die ebenfalls das analoge Eingangssignal auf der Leitung 12 gespeist wird. Die Differenzüberwachungseinrichtung gibt eine Angabe dessen, welcher Codierertyp in der früheren Codierung am wahrscheinlichsten verwendet worden ist. Die Ausgaben der Differenzüberwachungseinrichtungen werden in die Auswahleinheit 13 gespeist, die den Multiplexer 12 dementsprechend steuert.
  • Die Differenzüberwachungseinrichtungen bestimmen Vertrauenswerte, die die Wahrscheinlichkeit repräsentieren, dass zuvor ein besonderer Codierungstyp verwendet worden ist. In einer Ausführungsform bestimmt jede der Differenzüberwachungseinrichtungen 22 und 23 die durchschnittliche Differenz zwischen dem analogen Eingangssignal auf der Leitung 12 und dem decodierten Signal von dem richtigen einen der Decodierer 20 und 21. Dies kann dadurch erfolgen, dass die Differenz zwischen dem analogen Eingangssignal und dem ihm zugeführten codierten und decodierten Signal bestimmt wird, die Differenz quadriert wird und die quadrierte Differenz akkumuliert oder integriert wird. Alternativ können die Differenzüberwachungseinrichtungen den Absolutwert der Differenz bestimmen, bevor sie die Akkumulation ausführen.
  • Es ist klar, dass das Signal oder eine daraus abgeleitete Komponente üblicherweise zuvor quantisiert worden ist.
  • In einer weiteren Ausführungsform werden durch Dividieren der Quantisiererschrittweite durch das quadratisch gemittelte Quantisierungsrauschen die Vertrauenswerte abgeleitet. Von den versuchten Quantisierern besitzt derjenige, der den höchsten Vertrauenswert ergibt, wahrscheinlich dieselben Parameter wie die frühere Codierung. Da das Rauschen für die richtige Wahl theoretisch null ist, ist es eine Alternative, das quadratisch gemittelte Quantisierungsrauschen durch die Quantisiererschrittweite zu dividieren, mit dem Ergebnis, dass die niedrigsten Werte die besten sind.
  • Die Differenzüberwachungseinrichtungen akkumulieren den Differenzwert über eine gewisse zweckmäßige Zeitdauer. Falls die Codierungssysteme (wie unten diskutiert) Abtasttechniken verwenden, kann eine zweckmäßige Anzahl von Abtastwerten gebildet werden, die Summe der quadrierten Differenzen durch die Anzahl der Abtastwerte dividiert werden und die Quadratwurzel gebildet werden. Dies gibt einen quadratisch gemittelten Quantisierungsrauschwert.
  • Falls das Signal zuvor nicht mit einem Versuchsquantisierer quantisiert worden ist, sollte das quadratisch gemittelte Quantisierungsrauschen grob von derselben Größenordnung wie die Quantisiererschrittweite sein. Falls das Signal zuvor mit diesem Quantisierer quantisiert worden ist, ist das quadratisch gemittelte Quantisierungsrauschen wesentlich niedriger als die Quantisiererschrittweite.
  • Anstelle der oben beschriebenen Vertrauenswerte können andere Kriterien verwendet werden, um den Quantisierer auszuwählen. Zum Beispiel ist ein Kriterium, den gröbsten Quantisierer auszuwählen, der ein Codierungsrauschen unter einem gewissen Grenzwert erreicht, das typisch in der Weise eingestellt ist, dass es etwas über dem anderen in dem System inhärenten Rauschen liegt.
  • In der einfachsten Form codieren die Codierer 10 und 11 das analoge Eingangssignal in äquidistante Quantisierungspegel. Das Eingangssignal kann als normiert gewählt werden, so dass es zwischen –1,0 und +1,0 liegt, wobei die Codierer z. B. auf 3 bzw. 5 Pegel quantisieren können. Das heißt, der Codierer 10 codiert auf die Werte –2/3, 0 und +2/3, während der Codierer 11 auf die Werte –4/5, –2/5, 0, +2/5 und +4/5 quantisiert.
  • Falls das analoge Eingangssignal aus einem codierten Signal abgeleitet ist, das auf 3 Pegel codiert war, springt es zwischen den 3 Werten –2/3, 0 und +2/3. Wenn dies durch den Codierer 10 codiert und durch den Decodierer 20 decodiert wird, hat es wieder die Werte –2/3, 0 und +2/3. Somit ist die Differenz zwischen den zwei der Differenzüberwachungseinrichtung 22 zugeführten Signalen immer 0. Wenn das Eingangssignal aber durch den Codierer 21 codiert wird, wird es auf die Werte –4/5, –2/5, 0, +2/5 und +4/5 quantisiert und durch den Decodierer 21 auf diese Werte decodiert. Somit ist die Differenz zwischen den zwei der Differenzüberwachungseinrichtung 23 zugeführten Signalen die Differenz zwischen einem 3-Pegel-Quantisierungswert und einem 5-Pegel-Quantisierungswert. Falls die zwei besonderen Pegel beide 0 sind, ist die Differenz 0; während diese Differenz für ir gendwelche anderen Werte der Pegel etwas von 0 Verschiedenes ist.
  • Somit erzeugt die Differenzüberwachungseinrichtung 22 eine Ausgabe 0, während die Differenzüberwachungseinrichtung 23 eine Ausgabe erzeugt, die deutlich über 0 liegt. Dies gibt an, dass das analoge Eingangssignal von einem 3-Pegel-Code abgeleitet wurde. Die Ausgabe 0 von der Differenzüberwachungseinrichtung 22 veranlasst, dass die Auswahleinheit 13 den Multiplexer 12 in der Weise steuert, dass er die Ausgabe des 3-Pegel-Multiplexers 10 als das Ausgangssignal auf der Leitung 12 auswählt.
  • In der Praxis erzeugt die Codierung und Decodierung durch den Codierer 10 und durch den Decodierer 20 keine perfekte Kopie des analogen Eingangssignals. Somit gibt es geringfügige Differenzen zwischen diesen zwei Signalen, wobei die Differenzüberwachungseinrichtung 22 kein genaues Signal 0 erzeugt. Allerdings ist die Ausgabe dieser Differenzüberwachungseinrichtung immer noch viel kleiner als die Ausgabe der anderen Differenzüberwachungseinrichtung.
  • Mit der richtigen Anzahl von Codierern, Decodierern und Differenzüberwachungseinrichtungen kann die Vorrichtung auf mehr als 2 Codierungen erweitert werden. Die Auswahlschaltung 13 wählt denjenigen Codierer aus, dessen Differenzüberwachungseinrichtung die kleinste Ausgabe gibt. Selbstverständlich wurde das obige Beispiel als Hilfe beim Verständnis der Erfindung beschrieben; in praktischen Implementierungen kann es eher einen Codierer mit konfigurierbaren Codierungsparametern (normalerweise in Form eines digitalen Signalprozessors oder einer Computervorrichtung), wobei die Parameter so ausgewählt werden, dass sie die richtige Codierung liefern, als zwei (oder mehr) diskrete Codierer geben.
  • Die Pegel für die Quantisierung wurden hier äquidistant ausgewählt (–2/3, 0 und +2/3 oder –4/5, –2/5, 0, +2/5 und +4/5). In einigen Codierungssystemen, insbesondere mit mehr Pegeln, sind die Pegel möglicherweise nicht äquidistant; d. h., die Quantisiererschrittweite ist möglicherweise nicht über den vollen Signalbereich von –1,0 bis +1,0 gleichförmig. Dies beeinflusst die Prinzipien der vorliegenden Vorrichtung nicht.
  • Falls das Eingangssignal mehr als einem Codierungssystem ausgesetzt worden ist, d. h., falls es wiederholt codiert und daraufhin decodiert worden ist, löscht jedes Codierungssystem normalerweise irgendwelche Artefakte oder irgendeine "Signatur" irgendeines früheren Codierungssystems. Somit erfasst die vorliegende Vorrichtung normalerweise das letzte Codierungssystem, durch das das Signal geleitet wurde.
  • Die zwei Codierer 10 und 11 sind in der Weise gezeigt, dass sie verschieden sind und parallel arbeiten. Allerdings kann ein einzelner Codierer verwendet werden, wenn seine Eigenschaften gesteuert werden können, um seine Codierungsparameter, z. B. die Anzahl der Pegel, zu ändern. Es kann dann ein einziger Codierer verwendet werden, dessen verschiedenen Anzahlen von Pegeln durchschritten werden, wobei eine einzige Differenzüberwachungseinrichtung die Differenzsignale für die verschiedenen Anzahlen von Pegeln nacheinander erzeugt. Jeder Wert wird so gespeichert, wie er erzeugt wird, woraufhin die gespeicherten Werte verglichen werden, um das Codierungssystem des analogen Eingangssignals zu bestimmen. Daraufhin wird der Codierer durch die Auswahleinrichtung 13 auf dieses System eingestellt.
  • Die Codierer 10 und 11 führen zwei verschiedene Funktionen aus. Sie bilden einen Teil des Codierungserfassungspfads (zu der Auswahleinrichtung 13), der erfasst, welche Form der Codierung (falls überhaupt) auf das analoge Eingangssignal angewendet worden ist; außerdem werden sie verwendet, um das analoge Eingangssignal zu codieren, um das codierte Ausgangssignal auf der Leitung 14 zu erzeugen. Es kann erwünscht sein, diese zwei Funktionen zu trennen. Dies besitzt den Nachteil der Verdopplung der Codierer 10 und 11. Wie später diskutiert wird, kann diese Trennung der Funktionen aber ausgleichende Vorteile besitzen.
  • Falls das analoge Eingangssignal nicht aus einer 3-Pegel- oder 5-Pegel-Codierung abgeleitet worden ist, sind die zwei Vertrauenswerte etwa gleich. Die Vorrichtung erfasst dann, dass das Eingangssignal früher nicht codiert und decodiert worden ist oder von einem anderen Codierungsschema decodiert worden ist. In diesem Fall kann die Auswahleinrichtung 13 ein anderes Kriterium zur Auswahl zwischen den zwei Codierern 10 und 11 verwenden. Zum Beispiel wird der 5-Pegel-Codierer ausgewählt, falls eine hohe Qualität gewünscht ist, während der 3-Pegel-Codierer ausgewählt wird, falls eine hohe Kompression gewünscht ist.
  • Wenn die Vorrichtung läuft, d. h., wenn der Richtige der Codierer 10 und 11 ausgewählt worden ist und von dem ausgewählten Codierer das Ausgangssignal auf der Leitung 11 erzeugt wird, kann die Auswahleinrichtung 13 verriegelt werden, um die Auswahl zu halten, bis z. B. eine Änderung der Signalquelle auftritt. Alternativ kann die Vorrichtung das analoge Eingangssignal ununterbrochen überwachen und jedes Mal, wenn eine Änderung der Codierung des analogen Eingangssignals erfasst wird, zwischen den verschiedenen Codierern schalten oder die Vorrichtung auf andere Weise zurücksetzen.
  • Abtastrate
  • Bisher wurde angenommen, dass die Codierung durch die Codierer 10 und 11 im Wesentlich ununterbrochen erfolgt. Bei dieser Annahme folgen die decodierten Signale von den Decodierern 20 und 21 eng dem analogen Eingangssignal. In der Praxis kann die Codierung aber eine verhältnismäßig niedrige Rate haben. Je nach der relativen Zeitgebung der Decodierung des Codierungssystems, von dem das analoge Eingangssignal abgeleitet wurde, und der der Codierer 10 und 11 neigen die Ausgaben der Decodierer 20 und 21 dann dazu, dem analogen Eingangssignal mit deutlichen Verzögerungen zu folgen. Dies neigt dazu, die Ausgaben der beiden Differenzüberwachungseinrichtungen zu erhöhen, was die Unterscheidung zwischen ihren Ausgaben weniger zuverlässig macht. Dies kann dadurch überwunden werden, dass entweder die den Überwachungseinrichtungen wie in 1 gezeigt zugeführten Signale verzögert werden oder dass sie mit dem zur Zeitgebung der Codierer 10 und 11 verwendeten Taktsignal ausgetastet werden.
  • Außerdem kann es bei einer niedrigeren Codierungsrate geschehen, dass die Codierer 10 und 11 an den Flanken des analogen Eingangssignals abtasten (wobei angenommen ist, dass es von einem Codierungssystem abgeleitet ist). Dies neigt wieder dazu, die Ausgaben beider Differenzüberwachungseinrichtungen bei einer verringerten Zuverlässigkeit der Unterscheidung zu erhöhen. Um dies zu überwinden, können für jedes Codierungssystem zwei Codierer vorgesehen sein, die gegenphasig arbeiten. Falls es geschieht, dass einer eines Paars von Codierern zeitlich so gesteuert wird, dass er an den Flanken des analogen Eingangssignals oder in ihrer Nähe arbeitet, wird der andere automatisch zeitlich so gesteuert, dass er arbeitet, wenn das analoge Eingangssignal eingeschwungen ist.
  • Anstatt verdoppelte Codierer zu verwenden, kann dieses Zeitgebungsproblem da durch überwunden werden, dass ein einzelner Codierer (für jedes Codierungssystem) verwendet wird, wobei seine Zeitgebung gerastert wird, zyklisch wiederholt wird oder schrittweise erfolgt. Für den richtigen Codierer gibt es einen Zeitgebungsbereich, für den die Ausgabe der Differenzüberwachungseinrichtung niedrig ist. Wenn dieser Bereich gefunden worden ist, kann die Zeitgebung an einem Punkt in der Mitte des Bereichs festgesetzt werden.
  • Das Verdoppeln der Codierer oder das Suchen nach der richtigen Zeitgebung der Codierer synchronisiert effektiv die Codierung mit dem analogen Eingangssignal. Wenn die Synchronisation erreicht worden ist, muss sie aufrechterhalten werden.
  • Falls die Zeitgebung der Codierung nicht festgesetzt ist, kann möglicherweise die Zeitgebung des analogen Eingangssignals verfolgt und die Zeitgebung der Codierung dementsprechend angepasst werden. Dies ist eine Situation, in der die Trennung der Codierungen für die Erfassung des Codierungssystems des Eingangssignals und für die Erzeugung des Ausgangssignals erwünscht sein kann. Die Erfassung der Eingangssignalcodierung und genauer seiner Zeitgebung kann unter Verwendung einer Rasterung oder dergleichen ausgeführt werden, um zu erfassen, wann die Zeitgebung kritisch wird, und die Codierung des Ausgangssignals kann angepasst werden, bevor die Zeitgebung des Codierers für das Ausgangssignal kritisch wird.
  • Falls die Zeitgebung der Codierung festgesetzt ist (da sie z. B. mit einer MPEG-Videocodierung synchronisiert worden ist), muss die Vorrichtung das analoge Eingangssignal ununterbrochen überwachen, um zu erfassen, wenn die Synchronisation verlorengeht, und den Codierer z. B. wie oben diskutiert geeignet zurückzusetzen.
  • Bisher wurde angenommen, dass die zwei möglichen Codierungssysteme, das 3-Pegel- und das 5-Pegelsystem, mit der gleichen festen Abtastrate arbeiten. Für verschiedene Codierungssysteme ist es möglich, dass sie mit verschiedenen Abtastarten arbeiten; z. B. kann es 2 mögliche Codierungssysteme (ein 3-Pegel- und ein 5-Pegelsystem) und 2 mögliche Abtastraten geben. In diesem Fall sind für die 4 möglichen Kombinationen (oder weniger, falls die Betriebsparameter des Codierers oder der Codierer angepasst werden können) 4 Codierer erforderlich.
  • Es kann geschehen, dass ein Codierungssystem eine Teilmenge eines anderen ist. Ein Beispiel ist, wenn die Anzahl der Quantisierungspegel, die von einem komplizierten Codierer verwendet werden, ein Vielfaches der Anzahl ist, die von einem einfachen Codierer verwendet wird. Falls das analoge Eingangssignal unter Verwendung des einfacheren Codierungssystems codiert wurde, geben die Differenzüberwachungseinrichtungen beider Codierungssysteme etwa gleiche niedrige Signale. In diesem Fall ist die Auswahleinrichtung 13 vorzugsweise so konstruiert, dass sie das Einfachere der zwei Codierungssysteme auswählt.
  • Unter einigen Umständen kann es ein gewisses früheres Wissen über den Typ des Codierungssystems geben, von dem das Eingangssignal abgeleitet worden ist. Da verschiedene MPEG-Versionen verschiedene Audiocodierungstypen zulassen, kann dies z. B. auftreten, falls das Signal ein Audiosignal ist, das ein MPEG-Videosignal begleitet. Unter diesen Umständen kann die vorliegende Erfindung offensichtlich darauf eingeengt sein, lediglich diese Codierungstypen zu analysieren. Dies kann z. B. das Beschränken der Anzahl der Parameterwerte, die die Vorrichtung durchschreitet, oder das Austasten der Ausgaben der Auswahleinrichtung 13, so dass sie ein Codierungssystem auswählen muss, das denselben Typ hat, umfassen.
  • Blockcodierungssysteme
  • Die bisherige Beschreibung erfolgte umfassend hinsichtlich verhältnismäßig einfacher Codierungssysteme. Es wird nun die Anwendung der vorliegenden Prinzipien auf ein Blockcodierungssystem diskutiert. In einem Blockcodierungssystem wird das Signal, das codiert wird, in Blöcke, z. B. in Zeitblöcke oder in Abschnitte eines Bilds, aufgeteilt. Die Abtastwerte in dem Block können in einen anderen Bereich (z. B. aus den Zeit- in den Frequenzbereich) transformiert werden, bevor sie codiert werden. Dies führt zu einer hohen Kompression, d. h. zur Codierung mit einer niedrigen Bitrate.
  • In der oben beschriebenen Vorrichtung ist angenommen worden, dass das Eingangssignal ein wahres analoges Signal ist. Im Fall einer einfachen Quantisierung gibt es zwischen dem codierten Signal und dem wahren analogen Signal nur einen einzigen Schritt, wobei die Umsetzung durch einen Digital-Analog-Umsetzer ausgeführt wird. In komplizierteren Codierungssystemen wie etwa Blockcodierungssystemen kann der Codierungsprozess von dem wahren analogen Anfangssignal allerdings z. B. mit einer Analog-Digital-Umsetzung beginnen, auf die da raufhin eine Weiterverarbeitung des digitalisierten Signals folgt. Die einfache digitalisierte Version des analogen Rohsignals wird häufig als ein PCM-Signal (pulscodemoduliertes Signal) bezeichnet. Die Decodierung erfolgt auf dem umgekehrten Weg, wobei das codierte Signal vor dem letzten Schritt der Digital-Analog-Umsetzung digital verarbeitet wird, um das einfache PCM-Signal zu reproduzieren.
  • In diesen Systemen kann das PCM-Signal (das einfache digitalisierte Signal) ebenso wie das wahre analoge Signal oder anstelle des wahren analogen Signals verfügbar sein. In Versionen der vorliegenden Vorrichtung, die so konstruiert sind, dass sie zu solchen komplizierteren Codierungssystemen codieren, kann das PCM-Signal häufig als das Eingangssignal verwendet werden. Dies vermeidet die Ineffizienz und den geringen Qualitätsverlust, die bei der Decodierung aus der PCM-Form in die wahre analoge Form und bei der Codierung zurück in die PCM-Form beteiligt sind.
  • Wie oben diskutiert wurde, muss die vorliegende Vorrichtung mit dem Eingangssignal synchronisiert werden. Falls das Eingangssignal unter Verwendung eines Blockcodierungssystems codiert worden ist, muss die Vorrichtung mit den Blöcken des ankommenden Signals synchronisiert werden. Diese Blocksynchronisationsinformationen können von einem Hilfsdatensignal, wie es z. B. in der Patentanmeldung GB 97 01616.6 der Anmelder beschrieben ist, verfügbar sein. Wenn die Blocksynchronisation dagegen nicht bekannt ist, kann sie durch die wiederholte Anwendung des oben beschriebenen Prozesses bestimmt werden. Dies kann dadurch erfolgen, dass die Analyse für alle möglichen Blocksynchronisationen wiederholt wird, wobei diejenige Synchronisation, die für die abgeleiteten Parameter die besten Vertrauenswerte gibt, die Wahrscheinlichste ist. Alternativ kann es einige Teilblocksynchronisationen geben, die durch eine Verbesserung der Vertrauenswerte erfasst werden können. Dies würde die Verwendung eines Iterationsverfahrens wie unten diskutiert ermöglichen.
  • Im Fall der MPEG-Schicht II beträgt die Rahmenlänge 1152 Abtastwerte, wobei aber, anstatt alle 1152 Synchronisationen zu versuchen, wie folgt vorgegangen werden kann. Zunächst wird die Synchronisation über einen Bereich von 32 Abtastwerten um einen Abtastwert durchschritten, um die Synchronisation der 32 in der Filterbank verwendeten Abtastwerte zu bestimmen. Zweitens wird die Synchronisation in 32 Abtasteinheiten über einen Bereich von 384 Abtastwerten (d. h. in 12 Schritten) durchschritten, um die Skalierungsfaktorblöcke zu bestimmen. Schließlich werden 1152 Abtastwerte in 384 Abtasteinheiten (d. h. in 3 Schritten) überschritten, um die Rahmensynchronisation zu finden. Jeder Synchronisationspegel wird durch eine Spitze in den Vertrauenswerten für diese Versuchsmenge angegeben. Die Gesamtzahl der erforderlichen Versuche ist 32 + 12 + 3 = 47.
  • In der Praxis ist die Anzahl der Quantisierungsmöglichkeiten für ein Blockcodierungssystem wahrscheinlich groß. Die Quantisiererschrittweite kann eine Funktion von mehr als einer Variablen sein; z. B. ist sie im Fall des Audiosignals der MPEG-Schicht II eine Funktion des (unten definierten) Skalierungsfaktors und der Anzahl der Quantisierungspegel. In Blockcodierungssystemen wird üblicherweise auf eine Menge von Abtastwerten in dem Block derselbe Quantisierer angewendet. Jede solche Menge von Abtastwerten wird untersucht, um zu sehen, welcher der möglichen Quantisierer für das besagte Codierungssystem der Wahrscheinlichste ist.
  • Falls angebracht, kann die Gesamtzahl der Bits berechnet werden, die erforderlich sind, um den Block unter Verwendung der abgeleiteten Parameterwerte zu codieren. Für einige Codierungssysteme sind nur bestimmte Bitraten zulässig, wobei es keine gemeinsame Nutzung von Bits zwischen Blöcken gibt. Das heißt, dass die Anzahl der Bits, die früher zum Codieren des Blocks verwendet worden sind, (je nach Bitrate) gerade kleiner als eine bestimmte Anzahl oder gleich einer bestimmten Anzahl gewesen ist. Falls die unter Verwendung der abgeleiteten Parameterwerte berechnete Anzahl von Bits damit verträglich ist, ist dies eine weitere Angabe, dass die abgeleiteten Parameter richtig sind. Wenn das nicht der Fall ist, da die Anzahl der Bits z. B. einen der erwarteten Maximalwerte etwas überschreitet, kann es möglich sein, das richtige Ergebnis dadurch zu ermitteln, dass für eine besondere Komponente oder für besondere Komponenten eine zweite Wahl des Quantisierers genommen wird, die veranlasst, dass die Gesamtbitzahlanforderung erfüllt ist.
  • Audiocodierung der MPEG-Schicht II
  • Es wird nun der spezifische Fall der Audiocodierung der MPEG-Schicht II betrachtet. In dieser wird eine Gruppe von 1152 PCM-Audioabtastwerten in den Frequenzbereich transformiert, um in jedem der 32 Frequenzteilbänder 36 Werte zu geben. Dies bildet einen "Rahmen" für die Codierung.
  • Die 36 Abtastwerte werden in jedem Teilband in 3 Zwölfergruppen unterteilt, die als "Skalierungsfaktorblöcke" bekannt sind. Jede dieser 3 Gruppen besitzt einen Skalierungsfaktor, der auf sie angewendet wird, so dass sie alle innerhalb des Bereichs von –1,0 bis +1,0 liegen, wenn die Abtastwerte in der Gruppe durch den Skalierungsfaktor dividiert worden sind. Außerdem wird für das Teilband eine "Bitzuweisung" ausgewählt, die einer Anzahl der Quantisierungspegel entspricht. Die Bitzuweisung in jedem Teilband ist für den Rahmen, d. h. für die 3 Skalierungsfaktorblöcke, konstant. Jeder Abtastwert wird durch seinen Skalierungsfaktor dividiert und daraufhin gemäß der Bitzuweisung quantisiert.
  • Der Skalierungsfaktor wird aus bestimmten zulässigen Werten ausgewählt. Die Anzahl der Quantisierungspegel wird ebenfalls aus bestimmten zulässigen Werten ausgewählt, die von dem Teilband (und außerdem von der Audioabtastfrequenz) abhängen. Zum Beispiel sind die Anzahlen der zulässigen Quantisierungspegel in bestimmten Fällen 1, 3, 5, 7, 9, 15, 31 und 65535. (Der Wert 1 ist ein Spezialfall; die Abtastwerte werden nicht tatsächlich gesendet und der Decodierer nimmt an, dass ihre Werte 0 sind.) Die Quantisierungspegel sind in dem Intervall –1,0 bis +1,0 äquidistant; die Anzahl der Pegel ist immer ungerade (so dass 0 stets als ein Pegel enthalten ist).
  • Die für die Codierung der MPEG-Schicht II definierten Skalierungsfaktoren sind in 2-dB-Schritten inkrementiert. In einem Codierer ist der Anfangspunkt für die Wahl des Skalierungsfaktors derjenige Skalierungsfaktor, der gerade größer als der größte Abtastwert (oder gleich dem größten Abtastwert) in diesem Skalierungsfaktorblock ist. Der Standard spezifiziert einen Decodierer, so dass der Codierer eine freie Wahl von Skalierungsfaktoren hat (solange sie nicht kleiner als der gerade spezifizierte Anfangspunkt sind). Allerdings gibt der Standard einen Beispielcodierer und ein Verfahren zur Wahl der Skalierungsfaktoren. Wenn der Codierer für die 3 Skalierungsfaktorblöcke des Rahmens 3 solche Skalierungsfaktoren bestimmt hat, kann er daraufhin einige der Skalierungsfaktoren erhöhen, so dass aufeinander folgende Skalierungsfaktoren die gleichen sind. Dies ist hinsichtlich der Anzahl der Bits, die zum Codieren der Skalierungsfaktoren verwendet werden, effizienter. Nachdem die minimal möglichen Skalierungsfaktoren für die 3 Skalierungsfaktorblöcke gemäß dem angegebenen Verfahren bestimmt worden sind, kann der Erste um bis zu 4 Schritte erhöht werden, kann der Zweite um bis zu 2 Schritte erhöht werden und kann der Dritte um bis zu dem Größeren des ersten und des zweiten Skalierungsfaktors erhöht werden, um aufeinander folgende Skalierungsfaktoren gleichzumachen.
  • Eine alternative, effizientere Art der Bestimmung möglicher Skalierungsfaktoren ist wie folgt: In jedem Skalierungsfaktorblock ist der kleinste Skalierungsfaktor zu ermitteln, der größer als der größte Abtastwert in dem Block oder gleich dem größten Abtastwert in dem Block ist. Falls dieser Skalierungsfaktor den Index S0 trägt, sind ebenfalls S0 – 1 und S0 – 2 zu versuchen. S0 – 3 braucht nicht versucht zu werden, da dies 6 dB höher als S0 ist und die Schrittweite genau das Doppelte der unter Verwendung von S0 erhaltenen ist. Mit anderen Worten, die unter Verwendung von S0 – 3 erhaltenen Quantisierungspegel sind eine Teilmenge der unter Verwendung von S0 erhaltenen Pegel. Ein unter Verwendung von S0 – 3 erhaltenes Quantisierungsrauschergebnis ist entweder dasselbe wie das unter Verwendung von S0 erhaltene oder schlechter.
  • Wenn die optimale Bitzuweisung und die Skalierungsfaktoren für die drei Teile des Rahmens ausgewählt worden sind, können Tests vorgenommen werden, um zu sehen, ob aufeinander folgende Skalierungsfaktoren durch Anpassen eines oder zweier der Skalierungsfaktorindizes nach unten um drei Schritte (d. h. Erhöhen eines Skalierungsfaktors um 6 dB) gleichgemacht werden können. Falls dies möglich ist, sollte das Quantisierungsrauschen für den neuen Fall neu berechnet werden. Falls das Rauschen (sehr nahe) dasselbe wie zuvor bleibt, sollte die Anpassung vorgenommen werden.
  • Wenn dieses Verfahren verwendet wird, ist es weder richtig noch erforderlich, die Rauschergebnisse für effiziente Skalierungsfaktorkombinationen einseitig auszurichten.
  • 2 zeigt eine Vorrichtung zum Bestimmen der Codierungsparameter eines aus einer Audiocodierung der MPEG-Schicht II abgeleiteten PCM-Signals. Das ankommende Signal wird einem Speicher 30 zugeführt, der einen Block von 1152 PCM-Audioabtastwerten speichert. Diese werden einer Umsetzungseinheit 31 zugeführt, die sie in den Teilbandbereich transformiert. Die transformierten Signale werden in einer Menge von 36 Teilbandspeichern gespeichert, von denen jeder eine Menge von 32 Abtastwerten speichert.
  • Für jedes Teilband werden die Signale wiederum einer Skalierungsfaktor-Bestimmungseinheit 33 zugeführt, die bestimmt, welches für die 3 Skalierungsfaktorblöcke des Teilbands die möglichen oder wahrscheinlichen Skalierungsfaktoren sind.
  • Die Skalierungsfaktoren können wie oben diskutiert angeglichen worden sein. Auf die Skalierungsfaktoren wird durch einen Index Bezug genommen, wobei ein kleinerer Index einem größeren Skalierungsfaktor entspricht. Falls die minimalen Skalierungsfaktoren, die aus den decodierten Audiosignalen bestimmt worden sind, die Indizes S0, S1 und S2 tragen, sind die einschließlichen Bereiche der Skalierungsfaktoren, die versucht werden sollten, für die Skalierungsfaktorblöcke wie folgt:
    erster: S0 – 5 bis S0
    zweiter: S1 – 3 bis S1
    dritter: Min(S0, S1, S2) – 1 bis S2.
  • Außerdem kann die Quantisierung der ursprünglichen Codierung dazu geführt haben, dass der maximale Abtastwert in einem Skalierungsfaktorblock ausreichend verringert worden ist, um ihn in einen niedrigeren Skalierungsfaktorbereich zu nehmen; somit ermöglicht die Analyse wenigstens einen zusätzlichen Schritt des Skalierungsfaktors.
  • Nachfolgend werden durch eine Quantisierungsbestimmungseinheit 34 die möglichen Anzahlen der Quantisierungspegel bestimmt.
  • Nachfolgend wird für die möglichen Skalierungsfaktor- und Quantisierungskombinationen durch eine Berechnungseinheit 35 in jedem der drei Skalierungsfaktorblöcke das quadratisch gemittelte Quantisierungsrauschen ausgewertet, wobei die Ergebnisse in einem Speicher 36 gespeichert werden.
  • Nachfolgend verwendet eine weitere Berechnungseinheit 37 diese Rauschergebnisse, um für den gesamten Rahmen für alle möglichen Kombinationen der Anzahl der Quantisierungsschritte und der Skalierungsfaktoren für die 3 Skalierungsfaktorblöcke das mittlere quadratische Rauschen auszurechnen. Dies erfolgt dadurch, dass die richtigen quadratisch gemittelten Quantisierungsrauschwerte für die 3 Skalierungsfaktorblöcke summiert werden, das Ergebnis durch 3 dividiert wird und daraufhin die Quadratwurzel gebildet wird. Außerdem richtet die Einheit 37 diese quadratisch gemittelten Rauschergebnisse für Skalierungsfaktorkombi nationen, die weniger Anzahlen von Bits verwenden, einseitig aus, indem sie z. B. mit 1,02, 1,01 oder 1,00 multipliziert, während die Anzahl der für die Skalierungsfaktoren verwendeten Bits jeweils 18, 12 oder 6 ist. Daraufhin berechnet die Einheit 37 für jedes Ergebnis einen Vertrauenfaktor als die durch das einseitig ausgerichtete Rauschen dividierte Anzahl der Schritte.
  • Die durch die Einheit 37 bestimmten Ergebnisse werden einer Auswahleinrichtung 38 zugeführt, die das Ergebnis und somit die Kombination der Skalierungsfaktoren und der Bitzuweisung mit dem höchsten Vertrauensfaktor auswählt.
  • Schließlich wird jedes der Teilbänder des in dem Blockspeicher 30 gespeicherten Blocks durch eine Codierungseinheit 39 codiert, die eine Audiocodierung der MPEG-Schicht II implementiert. Die Codierungseinheit muss prüfen, dass die Gesamtzahl der zum Codieren des Rahmens erforderlichen Bits innerhalb des Grenzwerts der verwendeten Bitrate liegt. Gelegentlich kann es geschehen, dass in einem Teilband die falsche Wahl der Parameter getroffen wird (z. B. eine zu hohe Bitzuweisung ausgewählt wird). Es kann dann geschehen, dass zum Codieren des Rahmens mehr Bits erforderlich sind, als verfügbar sind. In diesem Fall muss der Codierer die Bitzuweisung in einem Teilband oder in mehreren Teilbändern ändern, um den Bitgrenzwert zu erfüllen.
  • Eine einfache Art, dies auszuführen, ist, in jedem Teilband unter Verwendung der Quantisiererschrittweite als ein Schätzwert des Rauschpegels das Signal/Rausch-Verhältnis zu schätzen. Die Bitzuweisung in dem Teilband mit dem höchsten Signal/Rausch-Verhältnis wird dekrementiert. Dieses Verfahren wird wiederholt, bis der Bitgrenzwert der richtige ist. Eine Verfeinerung dieses Verfahrens ist es, anstelle des Signal/Rausch-Verhältnisses das Maske/Rausch-Verhältnis zu verwenden; wobei der Maskierungspegel aus einem psychoakustischen Modell geschätzt wird.
  • Die Codierungsparameter sind für jedes Teilband jene, die durch die Auswahleinrichtung 38 für dieses Teilband ausgewählt werden. Die Codierungseinheit 39 führt die Endschritte der Codierung aus, als die das Beginnen mit der Aufteilung des Eingangssignals in einen Block durch die Blockspeichereinheit 30, das Transformieren des Blocks in Teilbänder durch die Umsetzungseinheit 31 und die Speicherung der 36 Teilbänder (jeder der 32 Abtastwerte) durch die Teilbandspeicher 32 angesehen werden können.
  • Anwendung auf MPEG-codierte Videosignale
  • In Videosignalen, die gemäß MPEG-1 oder MPEG-2 codiert worden sind, sind drei Arten codierter Videobilder zu finden: I, P und B. Ein I-Bild (intracodiertes Bild) ist ohne Bezugnahme auf andere Bilder in der Sequenz codiert. Bei der Analyse decodierter Videosignale zur Bestimmung früherer Codierungsparameter werden die Parameter intracodierter Bilder am einfachsten bestimmt.
  • Ein abgetastetes Videobild wird in 16 × 16-Pixel-Makroblöcke aufgeteilt. Der Makroblock wird in vier 8 × 8-Blöcke der Farbdichteabtastwerte, in einen 8 × 8-Farbwert-Cb-Block und in einen 8 × 8-Farbwert-Cr-Block unterteilt. Diese sechs 8 × 8-Blöcke werden jeweils durch eine DCT transformiert. In intracodierten Bildern werden die resultierenden Koeffizienten daraufhin quantisiert.
  • Im 4:2:0-Profil des MPEG-1- und des MPEG-2 wird auf die Farbdichte- und auf die Farbwertkoeffizienten dieselbe Quantisierung angewendet.
  • Für Nicht-Gleichspannung (kein Koeffizient c [0,0]) ist die Quantisierung wie folgt: i[u, v] = 8·c[u, v]//(q·m[u, v])wobei:
    // die Teilung mit Rundung auf die nächste ganze Zahl repräsentiert;
    u, v die Stellung in dem 8 × 8-Block, Bereich 0-7, repräsentiert,
    q ein Quantisierermaßstab, Bereich 1-31, ist;
    m[u, v] ein Element der Intraquantisierungsmatrix, Bereich 1-255, ist;
    c[u, v] ein DCT-Koeffizient, Bereich –2048 bis +2047, ist;
    i[u, v] der quantisierte DCT-Koeffizient ist und
    q und m[u, v] so sind, dass i[u, v] in dem Bereich von –255 bis +255 liegt.
  • Der Wert von q, der Quantisierermaßstab, kann sich in jedem Makroblock ändern, bleibt aber häufig für eine Anzahl aufeinander folgender Makroblöcke konstant.
  • Die Intraquantisierungsmatrix m kann sich in jedem Bild ändern, ist aber üblicherweise für eine (große) Anzahl aufeinander folgender Bilder konstant. Außerdem gibt es eine Standardquantisierermatrix. Die Werte dieser Matrix werden wahrscheinlicher als Nichtstandardwerte verwendet.
  • Die Analyse eines decodierten Videosignals zum Identifizieren der für I-Bilder verwendeten Quantisierung kann wie folgt geschehen:
    • 1. Teile das Eingangsbild in Makroblöcke auf
    • 2. Teile die Makroblöcke in Blöcke auf
    • 3. Wende auf die Blöcke eine DCT-Transformation an
    • 4. Für jede DCT-Koeffizientenstelle gibt es sechs Werte aus den sechs Blöcken des Makroblocks, die alle die gleiche Quantisierungsschrittweite gehabt haben. Für diese sechs Werte: 4a. Versuche die Quantisierung mit verschiedenen möglichen Werten von (q·m[u, v]) und berechne die mittlere quadratische Differenz zwischen den Werten vor und nach der versuchten Quantisierung. 4b. Wähle den gröbsten Quantisierer (größtes (q·m[u, v])) aus, für den diese mittlere quadratische Differenz unter einem eingestellten Schwellenwert liegt. NB: Falls die Koeffizienten vor der versuchten Quantisierung unter diesem Schwellenwert liegen, gibt dies an, dass sie auf null quantisiert wurden und keine Notwendigkeit besteht, nach einem Quantisierer zu suchen.
    • 5. Wiederhole für die anderen Koeffizientenstellen.
    • 6. Ermittle den höchsten gemeinsamen Faktor der in Schritt 4b bestimmten Werte (q·m[u, v]). Dies ist ein Schätzwert von q, dem Quantisierungsskalencode, der in der ursprünglichen Codierung verwendet wird. Die entsprechenden Werte von m[u, v] sind ein Schätzwert der Intraquantisierungsmatrix.
  • Wenn alle Makroblöcke in einem Bild analysiert worden sind, sollte eine konsistente Quantisierungsmatrix ermittelt worden sein. Falls dies nicht der Fall ist, ist dies ein Anzeichen, dass das Quellbild früher nicht codiert gewesen ist oder nicht als ein I-Bild codiert gewesen ist.
  • In einem anspruchsvolleren Algorithmus werden in Schritt 4b eine Anzahl möglicher Werte (q·m[u, v]) erzeugt, die vorzugsweise geordnet sind oder denen eine Angabe der Wahrscheinlichkeit zugeordnet sind, dass die Werte richtig sind. Dies erhöht die Wahrscheinlichkeit, eine Quantisierungsmatrix zu ermitteln, die mit allen Makroblöcken in dem Bild kompatibel ist.
  • In einer weiteren Verbesserung ist es möglich, statistische Eigenschaften von MPEG-codierten Videosignalen und Standardannahmen zu verwenden, um zu den wahrscheinlichsten Quantisierungsparametern zu kommen. Diese enthalten:
    • – Werte von der Standard-Intraquantisierungsmatrix sind am wahrscheinlichsten.
    • – Die Intraquantisierungsmatrix ändert sich wahrscheinlich nicht sehr oft und ist wahrscheinlich für ein gesamtes Programm dieselbe.
    • – Der Quantisierungsmaßstab ändert sich am wahrscheinlichsten zu Beginn eines horizontalen Streifens eines Bilds.
  • Somit gibt es dadurch, dass die obigen Regeln angewendet werden, indem z. B. eher anfangs Intraquantisierungsmatrixwerte auf den Standardwert eingestellt werden und von diesen nur dann abgewichen wird, falls es eine klare Nichtübereinstimmung gibt, als die Werte jedes Mal von Neuem zu berechnen zu versuchen, und dadurch, dass zu Beginn eines horizontalen Streifens eine niedrigere Anforderung für das Ändern des Quantisierungsmaßstabs eingestellt wird, eine größere Wahrscheinlichkeit, dass die richtigen Werte schneller bestimmt werden.
  • Oben wurden spezifische MPEG-Audio-Anwendungen und MPEG-Video-Anwendungen beschrieben, wobei die Erfindung aber offensichtlich auf die Neucodierung irgendwelcher früher codierten (insbesondere komprimierten oder quantisierten) Daten anwendbar ist.
  • Somit kann die Erfindung zusammengefasst in einer Vielzahl von Arten angewendet werden, um eine nahtloser hintereinander geschaltete Decodierung und Neucodierung einer Vielzahl von Datensignaltypen zu schaffen. Dadurch, dass das Eingangssignal analysiert wird, um die Eigenschaften einer früheren Codierung zu bestimmen, kann die Notwendigkeit eines getrennten Informationskanals, der Einzelheiten der Codierungseigenschaften übermittelt, oder die Menge der zu übermittelnden Informationen verringert werden; auf Wunsch können alle obigen Ausführungsformen der Erfindung in Verbindung mit Mitteln zum Empfangen eines Informationsübermittlungssignals verwendet werden, wobei die Bereitstellung beider die Analyse zu vereinfachen ermöglichen kann, ohne dass eine übermäßig große Menge an Codierungsinformationen übermittelt werden muss. Das Informationsübermittlungssignal kann Informationen enthalten, die wenigstens einige der früheren Codierungseigenschaften beschreiben, oder kann im einfachsten Fall vorgesehen sein, um bei der Rahmung oder Identifizierung der Blöcke innerhalb des codierten Signals zu helfen.

Claims (19)

  1. Codierungsvorrichtung zum Codieren eines Eingangssignals, das früher codiert und decodiert worden ist, die umfasst: Codierungsmittel (10, 11), um eine Ausgewählte von mehreren verschiedenen möglichen Codierungen auszuführen; Analysemittel (22, 23), um das Eingangssignal zu analysieren, um Eigenschaften einer früheren Codierung zu erfassen, wobei die Analysemittel die Differenz bestimmen zwischen dem Eingangssignal und dem Ergebnis mehrerer versuchter Codierungen hiervon, die mit den Codierungen, die die Codierungsmittel ausführen können, übereinstimmen; und Auswahlmittel (13), um den Codierungstyp auszuwählen, der gemäß den Ergebnissen der Analyse auszuführen ist.
  2. Codierungsvorrichtung nach Anspruch 1, bei der die Codierungsmittel mehrere Codierer umfassen.
  3. Vorrichtung nach Anspruch 1 oder 2, bei der die Codierungsmittel wenigstens einen Codierer umfassen, dessen Operation durch einen oder mehrere Betriebsparameter gesteuert wird, die von den Auswahlmitteln geliefert werden.
  4. Vorrichtung nach Anspruch 3, bei der die Parameter die Anzahl von Quantisierungspegeln umfassen.
  5. Vorrichtung nach Anspruch 3 oder 4, bei der die Parameter die Abtastfrequenz umfassen.
  6. Vorrichtung nach Anspruch 3, 4 oder 5, bei der die Parameter Skalierungsfaktoren umfassen.
  7. Vorrichtung nach einem vorhergehenden Anspruch, bei der die Analysemittel vom Ausgang der Codierungsmittel gespeist werden.
  8. Vorrichtung nach einem der Ansprüche 1 bis 6, bei der die Analysemittel von einem Zwischenpunkt der Codierungsmittel gespeist werden.
  9. Vorrichtung nach einem vorhergehenden Anspruch, bei der die Analysemittel die Differenzen sequentiell bestimmen.
  10. Vorrichtung nach einem vorhergehenden Anspruch, bei der die Codierungsmittel einen Blockcodierer umfassen.
  11. Vorrichtung nach Anspruch 10, bei der die Analysemittel so beschaffen sind, dass sie verschiedene Blocksynchronisationen analysieren, bis die richtige Blocksynchronisation gefunden ist.
  12. Vorrichtung nach einem vorhergehenden Anspruch, bei der die Analysemittel so beschaffen sind, dass sie feststellen, ob das Eingangssignal früher codiert worden ist oder nicht.
  13. Vorrichtung nach einem vorhergehenden Anspruch, die so beschaffen und angeordnet ist, dass sie früher komprimierte Audiosignale erneut codieren.
  14. Vorrichtung nach Anspruch 13, bei der die früher komprimierten Audiosignale MPEG-Audiosignale sind.
  15. Verfahren zum Codieren eines früher codierten und decodierten Signals, das umfasst: Analysieren des Signals, um Eigenschaften einer früheren Codierung zu erfassen, wobei das Analysieren das Bestimmen der Differenz zwischen dem Signal und dem Ergebnis mehrerer versuchter Codierungen hiervon, die mit mehreren Codierungen, die ausgeführt werden können, übereinstimmen, umfasst; Auswählen des Typs der auszuführenden Codierung in Übereinstimmung mit den Ergebnissen der Analyse; Codieren des Signals gemäß einer der mehreren Codierungen auf der Grundlage der Analyse und der Auswahl.
  16. Verfahren nach Anspruch 15 zum erneuten Codieren eines früher quantisierten Signals, das das Bestimmen eines Schätzwerts der früheren Quantisierungsparameter und das Codieren des Signals unter Verwendung entsprechender Quantisierungsparameterumfasst.
  17. Verfahren nach Anspruch 16, das ferner Hilfsinformationen bezüglich der Eigenschaften der früheren Codierung umfasst.
  18. Vorrichtung nach einem der Ansprüche 1 bis 14, bei der das Eingangssignal einem Bild entspricht.
  19. Verfahren nach einem der Ansprüche 15 bis 17, bei dem das Eingangssignal einem Bild entspricht.
DE69826878T 1997-07-18 1998-07-20 Wiederkodierung von dekodierten signalen Expired - Lifetime DE69826878T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9715234 1997-07-18
GB9715234A GB2327577B (en) 1997-07-18 1997-07-18 Re-encoding decoded signals
PCT/GB1998/002164 WO1999004572A1 (en) 1997-07-18 1998-07-20 Re-encoding decoded signals

Publications (2)

Publication Number Publication Date
DE69826878D1 DE69826878D1 (de) 2004-11-11
DE69826878T2 true DE69826878T2 (de) 2005-10-13

Family

ID=10816118

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69826878T Expired - Lifetime DE69826878T2 (de) 1997-07-18 1998-07-20 Wiederkodierung von dekodierten signalen

Country Status (8)

Country Link
US (1) US6560283B1 (de)
EP (1) EP1016285B1 (de)
JP (1) JP2001510965A (de)
AU (1) AU761415B2 (de)
CA (1) CA2295753C (de)
DE (1) DE69826878T2 (de)
GB (1) GB2327577B (de)
WO (1) WO1999004572A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2340351B (en) * 1998-07-29 2004-06-09 British Broadcasting Corp Data transmission
GB2344728B (en) * 1998-09-23 2004-03-17 British Broadcasting Corp Audio compression
DE10000934C1 (de) * 2000-01-12 2001-09-27 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Bestimmen eines Codierungs-Blockrasters eines decodierten Signals
DE10010849C1 (de) 2000-03-06 2001-06-21 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Analysieren eines Analyse-Zeitsignals
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
FR2840495B1 (fr) * 2002-05-29 2004-07-30 Canon Kk Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
TWI220753B (en) * 2003-01-20 2004-09-01 Mediatek Inc Method for determining quantization parameters
NO318973B1 (no) * 2003-07-01 2005-05-30 Tandberg Telecom As Fremgangsmate for stoyreduksjon
JP4325657B2 (ja) * 2006-10-02 2009-09-02 ソニー株式会社 光ディスク再生装置、信号処理方法、およびプログラム
CN113222097A (zh) * 2020-01-21 2021-08-06 上海商汤智能科技有限公司 数据处理方法和相关产品
WO2024012040A1 (en) * 2022-07-15 2024-01-18 Huawei Technologies Co., Ltd. Method for speech generation and related device

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1762313C3 (de) * 1967-05-27 1978-08-24 Fujitsu Ltd., Kawasaki, Kanagawa (Japan) Kodierer in Kaskadeschaltung
JPH01158825A (ja) * 1987-12-16 1989-06-21 Fujitsu Ltd 適応型符号化制御方式
GB2251097B (en) * 1990-12-08 1995-05-10 Dowty Information Systems An adaptive data compression system
FR2674710B1 (fr) * 1991-03-27 1994-11-04 France Telecom Procede et systeme de traitement des preechos d'un signal audio-numerique code par transformee frequentielle.
ATE162918T1 (de) * 1991-04-18 1998-02-15 Ampex Systems Corp Verfahren und anordnung zur bestimmung eines quantisierungsfaktors für prozesse mit datenkomprimierung und -dekomprimierung
JP2991833B2 (ja) * 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
US5227878A (en) * 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5237397A (en) * 1991-12-24 1993-08-17 Apple Computer, Inc. Color video data processing
US5717816A (en) * 1993-01-13 1998-02-10 Hitachi America Ltd. Method and apparatus for the selection of data for use in VTR trick playback operation in a system using intra-coded video frames
US5376968A (en) * 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
JP3163830B2 (ja) * 1993-03-29 2001-05-08 ソニー株式会社 画像信号伝送方法及び装置
US5533052A (en) * 1993-10-15 1996-07-02 Comsat Corporation Adaptive predictive coding with transform domain quantization based on block size adaptation, backward adaptive power gain control, split bit-allocation and zero input response compensation
JP3277679B2 (ja) * 1994-04-15 2002-04-22 ソニー株式会社 高能率符号化方法と高能率符号化装置及び高能率復号化方法と高能率復号化装置
TW374283B (en) * 1994-05-25 1999-11-11 Sony Corp A multiple coding device
JPH088842A (ja) * 1994-06-15 1996-01-12 Philips Electron Nv データ圧縮伝送システム
JP3076201B2 (ja) * 1994-07-28 2000-08-14 日本電気株式会社 画像データ伸張方式
JP3058028B2 (ja) * 1994-10-31 2000-07-04 三菱電機株式会社 画像符号化データ再符号化装置
US5838874A (en) * 1995-05-08 1998-11-17 Kabushiki Kaisha Toshiba Audiovisual encoding system with a reduced number of audio encoders
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
JPH1051766A (ja) * 1996-08-05 1998-02-20 Mitsubishi Electric Corp 画像符号化データ変換装置
US6304676B1 (en) * 1996-10-03 2001-10-16 Mark A. Mathews Apparatus and method for successively refined competitive compression with redundant decompression

Also Published As

Publication number Publication date
AU761415B2 (en) 2003-06-05
GB2327577A (en) 1999-01-27
CA2295753A1 (en) 1999-01-28
CA2295753C (en) 2007-09-25
GB2327577B (en) 2002-09-11
WO1999004572A1 (en) 1999-01-28
AU8452398A (en) 1999-02-10
EP1016285B1 (de) 2004-10-06
EP1016285A1 (de) 2000-07-05
GB9715234D0 (en) 1997-09-24
US6560283B1 (en) 2003-05-06
JP2001510965A (ja) 2001-08-07
DE69826878D1 (de) 2004-11-11

Similar Documents

Publication Publication Date Title
DE69734831T2 (de) Adaptive steuerung der datenrate für digitale videokompression
DE60109423T2 (de) Videokodierung mit prädiktiver bitebenenkodierung und progressiver fein-granularitätsskalierung (pfgs)
DE69535228T2 (de) Bildumsetzungsvorrichtung
DE602004013031T2 (de) Verfahren zum codieren eines digitalen signals in einen skalierbaren bitstrom, verfahren zum decodieren eines skalierbaren bitstroms
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE69637335T2 (de) Bildsignalkodierungsmethode und -vorrichtung
EP1635578B1 (de) Verfahren und Anordnung zur Videocodierung, wobei die Videocodierung Texturanalyse und Textursynthese sowie Texturverzerrung umfasst, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE69927505T2 (de) Verfahren zum einfügen von zusatzdaten in einen audiodatenstrom
DE69930574T2 (de) Fehlererkennung in einer niedrigen Bitrate Videoübertragung
DE69933461T2 (de) Fehlerverdeckung für hierarchische subband kodierung und dekodierung
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE4241131B4 (de) Einrichtung zum Kodieren und Dekodieren von Übertragungssignalen mittels Transformationen
DE69826878T2 (de) Wiederkodierung von dekodierten signalen
EP1025708B1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
DE19634600A1 (de) Bildsignalkodiervorrichtung und zugehöriges Verfahren
EP2521357A1 (de) Verfahren und Vorrichtung zur Filterung von kodierten Bildpartitionen
EP1922879A2 (de) Kodierparameterbestimmung für ein hybrides kodierschema
DE10204617B4 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
DE60214835T2 (de) Videokodierungsverfahren und -vorrichtung
DE112015001531T5 (de) Datenkodierung und Dekodierung
DE69629442T2 (de) Verfahren und Einrichtung zur Kodierung digitaler Videosignale
DE69836898T2 (de) Vorrichtung zur Videokodierung
DE69635973T2 (de) Audio-Teilbandkodierverfahren
DE4004857A1 (de) Einrichtung zur bandbreitenreduzierenden codierung von videosignalen
EP0336510B1 (de) Prädiktiver Standbildcodierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition