DE69432142T2 - Verfahren und vorrichtung zur effizienten transkodierung - Google Patents

Verfahren und vorrichtung zur effizienten transkodierung

Info

Publication number
DE69432142T2
DE69432142T2 DE69432142T DE69432142T DE69432142T2 DE 69432142 T2 DE69432142 T2 DE 69432142T2 DE 69432142 T DE69432142 T DE 69432142T DE 69432142 T DE69432142 T DE 69432142T DE 69432142 T2 DE69432142 T2 DE 69432142T2
Authority
DE
Germany
Prior art keywords
vector
quantization error
quantized
vectors
adder
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 - Fee Related
Application number
DE69432142T
Other languages
English (en)
Other versions
DE69432142D1 (de
Inventor
Vedat Eyuboglu
Mei Yong
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of DE69432142D1 publication Critical patent/DE69432142D1/de
Publication of DE69432142T2 publication Critical patent/DE69432142T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H04BTRANSMISSION
    • H04B14/00Transmission systems not characterised by the medium used for transmission
    • H04B14/02Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
    • H04B14/06Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using differential modulation, e.g. delta modulation
    • H04B14/066Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using differential modulation, e.g. delta modulation using differential modulation with several bits [NDPCM]
    • H04B14/068Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using differential modulation, e.g. delta modulation using differential modulation with several bits [NDPCM] with adaptive feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

    Gebiet der Erfindung
  • Die Erfindung betrifft allgemein die Transcodierung von digital codierten Signalen und insbesondere die Transcodierung von Signalen, die durch prädiktive Codierer digital codiert sind.
  • Hintergrund der Erfindung
  • Ein prädiktiver Signalformcodierer ist eine Vorrichtung zum Komprimieren der Menge an Informationen in einer Signalform (z. B. Sprache, Bild oder Video) durch Entfernen der statistischen Redundanz unter seinen benachbarten Proben unter Verwendung von Vorhersagemethoden. Mehrere ITU-T- Empfehlungen zur Sprachcodierung (ITU-T steht für den IFU- Sektor für die Normierung bei der Telekommunikation; ITU-T ist ehemals bekannt als CCITT bzw. als Internationaler Beratender Ausschuss für den Fernschreib- und den Fernsprech dienst) haben prädiktive Codiertechniken übernommen (zum Beispiel wird die Differenz-Pulscodemodulation (DPCM) in der Empfehlung G.721 verwendet). Bei diesen prädiktiven Sprachcodierern wird eine ursprüngliche Sprachprobe anhand früherer Sprachproben vorhergesagt, und der Vorhersagefehler (der Unterschied zwischen den ursprünglichen und den vorhergesagten Proben) wird anstelle der ursprünglichen Probe quantisiert und dann durch einen rauschfreien Codierer digital zu einem Bitstrom codiert. Da die Energie des Vorhersagefehlers im Durchschnitt viel kleiner ist als das ursprüngliche Sprachsignal, lässt sich im Allgemeinen ein hohes Kompressionsverhältnis erreichen.
  • Prädiktive Codierverfahren wurden auch zur Bild- und Videokompression verwendet. Bei diesen Anwendungen kann die räumliche Korrelation zwischen benachbarten Pixel in einem Bild und, im Falle von Video, die zeitliche Korrelation zwischen aufeinanderfolgenden Bildern ausgenützt werden.
  • Typische prädiktive Codierer führen die Vorhersage anhand einer Kopie der rekonstruierten Signalform durch. Damit ist sichergestellt, dass sich während der Rekonstruktion kein Quantisierungsfehler aufbaut. Wenngleich die Vorhersagegenauigkeit verringert ist (wegen einer groben Quantisierung), ist die gesamte Kompressionsleistung im Allgemeinen verbessert.
  • Digitale Videocodiersysteme nach dem Stand der Technik arbeiten mit Transformationscodierung zur räumlichen Kompression und mit einer als bewegungskompensierte Vorhersage (MCP) bekannten prädiktiven Codierung zur zeitlichen Kompression. Videokompressionsverfahren, die unlängst in internationale Standards aufgenommen wurden (z. B. in den von der Motion Picture Experts Group (MPEG) der Internationalen Organisation für Normung (ISO) entwickelten MPEG-Standard und in den Standard H.261 der ITU-T), oder andere Verfahren, die für zukünftige Standards in Betracht gezogen werden, arbeiten alle mit einer sogenannten MCP-Technik zur Bereichszuordnung. Bei diesem Verfahren wird jedes Bild in einer Videosequenz in N · N Blöcke, sogenannte Makroblöcke (MBs) unterteilt, wobei N eine vorbestimmte ganze Zahl ist. Für jeden Makroblock wird eine Kopie des zuvor decodierten Bildes durchsucht, um ein N · N-Fenster zu finden, das jenem Makroblock am stärksten ähnelt, und die Pixel in jenem Fenster werden als Vorhersage für jenen Makroblock verwendet. Der Vorhersagefehler wird dann mit einer Kombination aus Transformationscodierung und skalarer Quantisierung codiert, wobei anschließend eine rauschfreie Codierung variabler Länge durchgeführt wird.
  • Eine Transcodierung wird bei vielen Anwendungen von komprimiertem digitalem Video erforderlich sein. Zum Beispiel kann es in einigen Fällen wünschenswert sein, die Geschwindigkeit eines digitalen Videobitstroms im Netz zu ändern. Wenn alternativ Videoverkehr mit konstanter Bitrate (CBR) über ein Zellenübermittlungsnetz oder ein ATM-Netz (ATM = Asynchronous Transfer Mode = asynchroner Übertragungsmodus) durchgeführt werden soll, kann es wünschenswert sein, den CBR-Strom in einen VBR-Strom (Strom mit veränderlicher Bitrate) umzuwandeln, um durch statistisches Multiplexen Bandbreite zu sparen. Eine Transcodierung kann auch erforderlich sein für die Umwandlung zwischen zwei Videokompressionsformaten. Zum Beispiel kann es notwendig sein, einen MPEG-codierten Videobitstrom in einen H.261-Bitstrom umzuwandeln, oder umgekehrt. Eine weitere wichtige Anwendung der Transcodierung ist die Durchführung einer Mehr punkt-Videokonferenz; hier kann die Transcodierung notwendig sein, um eine Bildmischung für eine ständig vorhandene Mehrpunkt-Konferenzschaltung zu implementieren.
  • In Fig. 1 ist unter dem Bezugszeichen 100 ein schematisches Blockdiagramm eines in der Technik bekannten prädiktiven Signalformcodierers dargestellt. Eine Sequenz von Vektoren, die aus einer Gruppe von Proben ri bestehen, die von einer ursprünglichen Signalform genommen wurden, wird verarbeitet, um eine Sequenz von quantisierten Vektoren Yi zu erzeugen, wobei i = 0, 1, ... ein Zeitindex ist, der angibt, in welcher Reihenfolge die Eingangsvektoren verarbeitet werden. Die Größe L der Eingangsvektoren ist willkürlich. Bei typischen Sprachanwendungen ist L = 1, während bei vielen Videokompressionsanwendungen L > 1.
  • Der Codierer arbeitet iterativ, so dass: (1) eine Prädiktoreinheit (102) eine durch den Vektor pi dargestellte Vorhersage des Eingangsvektors ri anhand von ein oder mehr früher rekonstruierten Vektoren zj, j < i, unter Verwendung eines vorbestimmten linearen Vorhersageoperators Pi erzeugt; (2) der Vektor pi wird in einem ersten Verknüpfungsglied (104) von ri subtrahiert, um den Vorhersagefehlervektor ei = ri - pi zu erhalten, wobei der Prädiktor Pi normalerweise so gewählt wird, dass die durchschnittliche Energie des Vorhersagefehlers ei minimiert wird; (3) der Vorhersagefehlervektor ei wird durch eine Transformationseinheit (106) gemäß Ei = Ai[ei] transformiert, wobei Ai[ ] eine lineare Transformation darstellt; (4) der Vektor Ei wird unter Verwendung eines Quantisierers Qi (108) quantisiert, um den quantisierten Vektor Yi = Ei + Di zu erhalten, wobei Di ein Quantisierungsfehlervektor ist, und der quantisierte Vektor Yi wird unter Verwendung eines rauschfreien Codier- Verfahrens (z. B. mit einem Huffman-Code) zu einem binären Wort codiert und wird dann gesendet oder gespeichert; (5) der quantisierte Vektor Yi wird dann in der Rücktransformationseinheit Ai&supmin;¹ (110) zu dem Vektor yi = Ai&supmin;¹[Yi] rücktransformiert, wobei Ai&supmin;¹[ ] eine Rücktransformation ist (d. h. Ai&supmin;¹[Ai[x]] = x); und (6) der Vektor pi wird durch ein zweites Verknüpfungsglied (112) zu yi addiert, so dass man den rekonstruierten Vektor zi = yi + pi erhält, der zur Verwendung bei späteren Iterationen gespeichert wird.
  • Bei den meisten Anwendungen wird die Transformation Ai im Voraus festgelegt, d. h. sie ist vorgegeben, während Qi und Pi unter Verwendung vorgewählter Adaptierungsalgorithmen verändert werden. Bei einigen Anwendungen wird die Transformation Ai nicht verwendet; dann ist Ai = I, wobei I eine LXL-Identitätsmatrix ist. Bei der sogenannten Vorwärtsadaptierung werden die Parameter von Qi, Pi und Ai als Nebeninformationen an den Decodierer weitergegeben, während bei der sogenannten Rückwärtsadaptierung Qi, Pi und Ai am Decodierer aus früher empfangenen Informationen ermittelt werden, so dass keine Nebeninformationen gesendet werden müssen.
  • Mit Hilfe der Informationen zu Qi, Pi und Ai kann ein Decodierer den Vektor zi rekonstruieren. Der Decodierer (200) gewinnt zunächst die quantisierten Vektoren {Yi} aus dem empfangenen Bitstrom, indem er den rauschfreien Quellcode decodiert, und erhält dann zi. Wie in Fig. 2 unter dem Bezugszeichen 200 gezeigt, wird (1) der quantisierte Vektor Yi zunächst unter Verwendung der Rücktransformationseinheit Ai&supmin;¹ (202) rücktransformiert, so dass man yi = Ai&supmin;¹[Yi] erhält; (2) ein Prädiktor (206) erhält die Vorhersage pi des Eingangsvektors ri aus einem oder mehreren früher rekon struierten Vektoren zj, wobei j < i, wobei wie bei dem Codierer der Vorhersageoperator Pi verwendet wird; und (3) ein Verknüpfungsglied (204), das funktionsmäßig mit dem Prädiktor (206) und mit der Transformationseinheit (Ai&supmin;¹) (202) gekoppelt ist, addiert den Vektor pi zu yi, um den rekonstruierten Vektor zi zu erhalten.
  • Der rekonstruierte Vektor zi kann dargestellt werden als zi = ri + di, wobei di = Ai&supmin;¹[Di] eine rücktransformierte Version des Quantisierungsfehlervektors Di ist. Mit anderen Worten, zi unterscheidet sich von dem ursprünglichen Vektor ri nur durch di = Ai&supmin;¹[Di]. Um eine gute Leistung zu erhalten, wird die Transformation Ai so gewählt, dass der Fehler Ai&supmin;¹[Di] oder eine entsprechend gewichtete Version davon klein gehalten wird.
  • Ein Transcoder gewinnt zunächst die Sequenz quantisierter Vektoren {Yi} aus dem empfangenen Bitstrom, indem er den rauschfreien Quellcode decodiert, wandelt {Yi} in eine Sequenz von transcodierten Vektoren {Yi'} um und erzeugt dann unter Verwendung des rauschfreien Quellcodes einen neuen Bitstrom, der {Yi'} darstellt. Der Transcoder hat volle Kenntnis über die an dem ursprünglichen Codierer und Decodierer verwendeten Operatoren Qi, Ai und Pi, und zwar von vornherein oder über empfangene Nebeninformationen.
  • Bei der bekannten Transcodierung durch Decodieren und erneutes Codieren wird zunächst ein quantisierter Vektor Yi unter Verwendung des Decodierers von Fig. 2 decodiert, um den rekonstruierten Vektor zi = ri + di zu erhalten, und dann wird zi unter Verwendung eines Codierers, möglicherweise mit einem anderen Quantisierer Qi', einem anderen Prädiktor Pi oder sogar mit einer anderen Transformation Ai' erneut codiert, um den transcodierten Vektor Yi' zu er halten. Der transcodierte Vektor kann durch den Decodierer von Fig. 2 unter Verwendung von Qi', Pi' und Ai' decodiert werden. Der schließlich rekonstruierte Vektor zi' kann dann dargestellt werden als zi' = ri + di + di', wobei di' = (Ai')&supmin;¹[Qi'] eine transformierte Version des durch den Transcoder eingeführten Quantisierungsfehlers ist.
  • Wenngleich sie vom Konzept her einfach ist, kann die Implementierung des Verfahrens zur Decodierung und erneuten Codierung wegen der hohen Rechen- und Speicheranforderungen recht kostspielig sein. Es besteht also ein Bedarf an einer effizienten Vorrichtung und Verfahren zur Transcodierung, das mit geringer Komplexität implementiert werden kann.
  • Zusammenfassung der Erfindung
  • In einer ersten Ausgestaltung stellt die vorliegende Erfindung eine Vorrichtung gemäß Anspruch 1 bereit. In einer zweiten Ausgestaltung stellt die vorliegende Erfindung ein Verfahren gemäß Anspruch 9 bereit. Weitere Ausgestaltungen werden in den Unteransprüchen beansprucht.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 zeigt ein schematisches Blockdiagramm eines prädiktiven Signalformcodierers gemäß dem Stand der Technik.
  • Fig. 2 zeigt ein schematisches Blockdiagramm eines Decodierers gemäß dem Stand der Technik, der normalerweise in Verbindung mit einem Codierer gemäß Fig. 1 arbeitet.
  • Fig. 3 zeigt unter dem Bezugszeichen 300 ein allgemeines schematisches Blockdiagramm eines Systems zur Transcodierung gemäß dem Stand der Technik.
  • Fig. 4 zeigt ein schematisches Blockdiagramm einer Vorrichtung gemäß der vorliegenden Erfindung.
  • Fig. 5 zeigt ein detaillierteres schematisches Blockdiagramm der Vorrichtung von Fig. 4.
  • Fig. 6 zeigt ein detaillierteres alternatives schematisches Blockdiagramm der Vorrichtung von Fig. 4.
  • Fig. 7 zeigt eine typische Konfiguration eines H.261- Videocodierers gemäß dem Stand der Technik.
  • Fig. 8 veranschaulicht die Unterteilung eines Bildes in immer kleinere Blocke in dem bekannten Standard H.261.
  • Fig. 9 zeigt die Indexierung der Koeffizienten in der Transformationsdomäne für den bekannten Standard H.261.
  • Fig. 10 zeigt ein schematisches Blockdiagramm einer Ausführungsform des einstufigen Transcoders der vorliegenden Erfindung.
  • Fig. 11 zeigt ein schematisches Blockdiagramm eines H.261-Decodierers gemäß dem Stand der Technik.
  • Fig. 12 zeigt ein Flussdiagramm einer Ausführungsform von Schritten gemäß dem Verfahren der vorliegenden Erfindung.
  • Beschreibung einer bevorzugten Ausführungsform
  • Fig. 3 zeigt unter dem Bezugszeichen 300 ein allgemeines schematisches Blockdiagramm eines Systems zum Transcodieren gemäß dem Stand der Technik. Der Eingang des Transcoders (304) ist ein durch einen prädiktiven Signalformcodierer (302) wie zum Beispiel den H.261-Videocodierer er zeugter Bitstrom. Sein Ausgang ist ein weiterer Bitstrom, der durch einen prädiktiven Signalformdecodierer (306) decodiert werden kann. Der Transcoder (304) modifiziert den Bitstrom gemäß einem vorgegebenen Ziel.
  • Die Transcoder-Vorrichtung der vorliegenden Erfindung, die hier als "einstufiger Transcoder" bezeichnet wird, erzielt die Leistung des Transcoders zum "Decodieren und erneuten Codieren" mit nur zwei Transformationen und einer Vorhersageoperation, vorausgesetzt der Prädiktor Pi' und die Transformation Ai', die in dem Transcoder verwendet werden, sind dieselben wie die in dem ursprünglichen Codierer verwendeten Operatoren Pi und Ai, so dass die Komplexität bei der Transcodieroperation herabgesetzt wird. Außerdem verringert der einstufige Transcoder den Speicherbedarf.
  • Bei dem in Fig. 4 in einem schematischen Blockdiagramm unter dem Bezugszeichen 400 gezeigten einstufigen Transcoder wird eine modifizierte Version Si des Quantisierungsfehlervektors von dem empfangenen quantisierten Vektor Yi subtrahiert, und der Differenzvektor Ei' wird erneut quantisiert, um den transcodierten Vektor Yi' zu erhalten. Ein Rechner zur Berechnung des Quantisierungsfehlers berechnet dann den rücktransformierten Quantisierungsfehlervektor di' = Ai&supmin;¹[Di'], wobei Di' = Yi' - Ei' der Quantisierungsfehlervektor ist und Ai&supmin;¹ eine Rücktransformation ist. Eine Modifizierungsschaltung ermittelt den modifizierten Quantisierungsfehlervektor Si anhand früherer Vektoren dj', wobei J < 1.
  • Die vorliegende Erfindung umfasst eine Vorrichtung zum Transcodieren einer durch einen prädiktiven Signalformcodierer unter Verwendung modifizierter Quantisierungsfehler vektoren Si erzeugten Sequenz von quantisierten Vektoren Yi. Die Vorrichtung (400) umfasst einen Addierer (402), einen Quantisierer (404), einen Rechner (406) zur Berechnung des Quantisierungsfehlervektors (QEVC) und eine Modifizierungsschaltung (408). Der Addierer (402) ist funktionsmäßig so geschaltet, dass er wenigstens einen ersten quantisierten Vektor Yi und wenigstens einen ersten modifizierten Quantisierungsfehlervektor Si empfängt, und dient zur Erzeugung eines Differenzvektors Ei' = Yi - Si zwischen dem quantisierten Vektor Yi und dem modifizierten Quantisierungsfehlervektor Si. Der Quantisierer (404) ist funktionsmäßig mit dem Addierer (402) gekoppelt und dient zur Quantisierung des Differenzvektors Ei', um einen transcodierten Vektor Yi' zu erhalten. Der Rechner (406) zur Berechnung des Quantisierungsfehlervektors (QEVC) ist funktionsmäßig so geschaltet, dass er wenigstens zwei der Vektoren Yi, Ei' und Yi' empfängt, und dient zur Erzeugung des rücktransformierten Fehlervektors di' = Ai&supmin;¹[Di'], wobei Di' ein Quantisierungsfehlervektor ist und Ai&supmin;¹ eine Rücktransformation ist. Die Modifizierungsschaltung (408) verbindet den Rechner QEVC (406) funktionsmäßig mit dem Addierer (402) und dient zur Erzeugung des modifizierten Quantisierungsfehlervektors Si anhand der früheren Werte des Vektors di'.
  • Bei einer alternativen Ausführungsform kann die Transcodierungsvorrichtung der vorliegenden Erfindung so gewählt werden, dass sie einen Addierer (402), einen allgemeinen Quantisierer (410) und eine Modifizierungsschaltung (408) umfasst. Bei dieser Implementierung ist der Addierer (402) funktionsmäßig so geschaltet, dass er wenigstens einen ersten quantisierten Vektor Yi und wenigstens einen ersten modifizierten Quantisierungsfehlervektor Si empfängt, und dient zur Erzeugung eines Differenzvektors Ei' = Yi - Si zwischen dem quantisierten Vektor Yi und dem modifizierten Quantisierungsfehlervektor Si; der allgemeine Quantisierer (410) ist funktionsmäßig mit dem Addierer (402) gekoppelt und dient zur Quantisierung des Differenzvektors Ei', um einen transcodierten Vektor Yi' zu erhalten, und zum Empfang wenigstens eines der Vektoren Yi und Ei' und zum Erzeugen eines rücktransformierten Fehlervektors di' = Ai&supmin;¹[Di'], wobei Di' ein Quantisierungsfehlervektor ist und Ai&supmin;¹ eine Rücktransformation ist; und die Modifizierungsschaltung (408) ist funktionsmäßig mit dem allgemeinen Quantisierer (410) gekoppelt und dient zum Erzeugen des modifizierten Quantisierungsfehlervektors Si anhand früherer Werte des Vektors di'.
  • Eine Ausführungsform der einstufigen Transcodervorrichtung von Fig. 4 ist in Fig. 5 unter dem Bezugszeichen 500 näher dargestellt. Die Vorrichtung umfasst einen ersten Addierer (502), einen Quantisierer (504), einen Rechner (506) zur Berechnung des Quantisierungsfehlers (QEVC), der einen zweiten Addierer (510) umfasst, der mit einer Rücktransformationseinheit (512) gekoppelt ist, und eine Modifizierungsschaltung (508), die einen mit einer Transformationseinheit (516) gekoppelten Prädiktor (514) umfasst. Der erste Addierer (502) und der Quantisierer (504) sind so miteinander gekoppelt, wie es für den Addierer (402) und den Quantisierer (404) von Fig. 4 dargestellt ist. Der zweite Addierer (510) ist funktionsmäßig so geschaltet, dass er die Vektoren Ei' und Yi' empfängt, und dient zur Erzeugung des Quantisierungsfehlervektors Di'. Die Rücktransformationseinheit (512) ist funktionsmäßig mit dem zweiten Addierer (510) gekoppelt und dient zur Erzeugung des rücktransformierten Fehlervektors di' = Ai&supmin;¹[Di'], wobei Di' ein Quantisierungsfehlervektor ist und Ai&supmin;¹ eine Rücktransformation ist. Der Prädiktor (514) der Modifizierungsschaltung (508) ist funktionsmäßig mit der Rücktransformationseinheit (512) des QEVC (506) gekoppelt und erzeugt den vorhergesagten Quantisierungsfehlervektor si. Die Transformationseinheit (516) ist funktionsmäßig mit dem Prädiktor (514) gekoppelt und dient zur Transformation des vorhergesagten Quantisierungsfehlervektors si zu dem Vektor Si, wie nachstehend ausführlicher beschrieben wird, und zur Übermittlung des modifizierten Quantisierungsfehlervektors Si zu dem ersten Addierer (502) anhand früherer Werte des Vektors di'.
  • Die früheren rücktransformierten Quantisierungsfehlervektoren dj' = Ai&supmin;¹[Dj'], j < i, werden durch den Prädiktionsoperator Pi geschickt, um den vorhergesagten Quantisierungsfehlervektor si zu erhalten. Der Vektor si wird wieder transformiert, um den modifizierten Quantisierungsfehlervektor Si = Ai[si] zu erhalten. Der Vektor Si wird dann von dem empfangenen quantisierten Vektor Yi subtrahiert, um den Fehlervektor Ei' = Yi - Si zu erhalten. Der Fehlervektor Ei' wird unter Verwendung des Quantisierers Qi' (504) quantisiert, um den transcodierten Vektor Yi' = Ei' + Di' zu erhalten, wobei Di' der durch den Transcoder eingeführte Quantisierungsfehlervektor ist. Den transformierten Quantisierungsfehlervektor di' erhält man, indem man zunächst den Vektor Ei' von Yi' (unter Verwendung des zweiten Addierers (510)) subtrahiert, um den Quantisierungsfehlervektor Di' = Ei' + Yi' zu erhalten, und dann Di' (unter Verwendung der Rücktransformationseinheit (512)) transformiert, um di' = Ai&supmin;¹[Di'] zu erhalten.
  • Der einstufige Transcoder erzeugt dieselbe transcodierte Sequenz {Yi'} wie der Decodierungs- und Recodierungstranscoder. Dies lässt sich zeigen, indem man beweist, dass das Signal am Eingang des Quantisierers in beiden Fällen dasselbe ist:
  • Betrachten wir zunächst den Decodierungs- und Recodierungstranscoder. In diesem Fall kann man den Eingang des Quantisierers in dem Recodierer wie folgt darstellen:
  • Bi = Ai[zi] - Ai[pi] = zi - Ai[rpi + dpi + dpi'],
  • wobei zi = Ai[zi] eine transformierte Version des Decodiererausgangs zi (in dem Transcoder) ist, und rpi, dpi und dpi' die Ausgänge des Prädiktors Pi zum Zeitpunkt i darstellen, wenn sie einzeln durch die Sequenzen {ri}, {di} und {di'} angeregt werden.
  • Analog dazu lässt sich der Eingang des Quantisierers bei dem einstufigen Transcoder wie folgt darstellen:
  • Ci = Yi - Ai[dpi'], = Zi - Ai[rpi + dpi] - Ai [dpi'].
  • Da Ai ein linearer Operator ist, folgt, dass Bi = Ci.
  • Die vorliegende Erfindung beruht auf der Tatsache, dass der quantisierte Vektor Yi ohne Ansammlung von Fehlern bei der Rekonstruktion erneut quantisiert werden kann, vorausgesetzt, ein modifizierter Quantisierungsfehlervektor Si wird vor der erneuten Quantisierung zu Yi addiert. Damit wird der durch die Prädiktionsschleife bei der Rekonstruk tion hinzugefügte Quantisierungsfehler des Transcoders kompensiert.
  • Der einstufige Transcoder der vorliegenden Erfindung kann auch auf andere Weise implementiert werden. Eine alternative Struktur ist in Fig. 6 dargestellt.
  • In Fig. 6 ist unter dem Bezugszeichen 600 ein schematisches Blockdiagramm einer Implementierung einer Vorrichtung gemäß der vorliegenden Erfindung dargestellt, wobei die Differenz zwischen dem Eingang Yi und dem Ausgang Yi' durch die Rückkopplungsschleife geleitet wird. Der Rechner (606) zur Berechnung des Quantisierungsfehlervektors umfasst einen zweiten Addierer (610), der funktionsmäßig so geschaltet ist, dass er Yi und Yi' empfängt, um die Differenz {Xi} zu erhalten, eine Rücktransformationseinheit (612), die funktionsmäßig mit dem zweiten Addierer (610) gekoppelt ist, um den Vektor xi zu liefern, und einen dritten Addierer (614), der xi und si empfängt und verknüpft, und eine Modifizierungsschaltung (608), die einen Prädiktor (616) umfasst, der funktionsmäßig mit dem dritten Addierer (614) gekoppelt ist, um mit Hilfe von di' den vorhergesagten Quantisierungsfehlervektor si bereitzustellen, und eine Transformationseinheit (618), die funktionsmäßig mit dem Prädiktor (616) gekoppelt ist, um den modifizierten Quantisierungsfehlervektor Si zu erzeugen. Der Unterschied bei der Implementierung von Fig. 6 liegt in der Art und Weise, wie der transformierte Quantisierungsfehlervektor di' erzeugt wird:
  • Der Eingangsvektor Yi wird von dem transcodierten Vektor Yi' subtrahiert, um den Vektor Xi = Yi' - Yi zu erhalten, der dann zu xi = Ai&supmin;¹[Xi'] transformiert wird. Der vor hergesagte Quantisierungsfehlervektor si wird zu xi addiert, um di' = xi + si zu ermitteln.
  • Dass der rücktransformierte Quantisierungsvektor di' in beiden Strukturen derselbe ist, ergibt sich daraus, dass man den VektorAi in Fig. 6 schreiben kann als
  • xi = Ai&supmin;¹[Yi' - Ei'] - Si'.
  • Die Implementierungen von Fig. 5 und 6 haben daher dieselbe Funktion.
  • Mit dem einstufigen Transcoder kann die Geschwindigkeit eines durch einen nach der ITU-T Empfehlung H.261 arbeitenden Videocodierer erzeugten Bitstroms geändert werden. Zunächst ist eine typische Konfiguration eines H.261- Codierers in Fig. 7 unter dem Bezugszeichen 700 dargestellt.
  • Der Eingang des Codierers besteht aus einer Sequenz von Bildern, die fortlaufend mit einer nominalen Bildrate von etwa 30 Bildern pro Sekunde abgetastet werden. Jedes Bild besteht aus einer Luminanzkomponente Y und zwei Farbdifferenzkomponenten CB und CR, die nach einem von zwei Formaten, CIF (802) und QCIF (804), abgetastet werden, wobei:
  • CIF: 352 · 288 (Y), 176 · 144 (CR), 176 · 144 (CB)
  • QCIF: 176 · 144 (Y), 88 · 72 (CR), 88 · 72 (CB).
  • Jedes Bild ist in immer kleinere Segmente unterteilt, wie in Fig. 8 unter Bezugszeichen 800 veranschaulicht. Die CIF-Bilder sind in 12 Gruppen von Blöcken (GVB) unterteilt, und die QCIF-Bilder sind in drei Gruppen von Blocken (GVB) unterteilt. Jede GVB (806) besteht aus 33 Makroblöcken (MBs), und ein MB besteht aus vier Luminanzblöcken (808) und zwei Farbdifferenzblöcken (810, 812), wobei jeder Block 64 Pixel (814) hat, die auf einem 8 · 8-Raster angeordnet sind. Jedes Pixel wird dargestellt durch eine ganze Zahl zwischen 1 und 254.
  • Die MBs sind die fundamentalen Codierungselemente bei H.26. Die sechs 8 · 8-Blöcke in einem MB sind von 1 bis 6 numeriert, wie in Fig. 8 gezeigt. Angenommen ri,k,m,n stellt das Pixel in der Position (m,n) in dem k-ten Block des i- ten MB dar, wobei i = 0, 1, ..., k = 1, ..., 6 und m,n = 0, 1, ..., 7, dann kann der Eingangsvektor ri für den i-ten MB dargestellt werden als:
  • ri = [ri,1,0,0,..., ri,1,7,7, ri,2,0,0,..., ri,2,7,7, ri,3,0,0,..., ri,3,7,7, ri,4,0,0,..., ri,4,7,7, ri,5,0,0,..., ri,5,7,7, ri,6,0,0,..., ri,6,7,7].
  • Die Funktionsweise des Codierers wird in Fig. 7 unter dem Bezugszeichen 700 für den i-ten MB wie folgt beschrieben: Zunächst arbeitet eine Bewegungsschätzeinheit (702) mit einem Algorithmus, um einen Bewegungsvektor mi = (mi1, mi2) zu ermitteln. Normalerweise sucht der Algorithmus die Luminanzpixel in dem zuvor rekonstruierten Bild (gespeichert in einem Rahmenpuffer (704)) ab, um ein 16 · 16-Fenster Wi zu finden, bei dem der "Abstand" zwischen den Pixel in jenem Fenster und den entsprechenden Pixel in dem aktuellen MB minimal ist. Der Bewegungsvektor mi stellt den räumlichen Versatz zwischen dem Fenster Wi und dem aktuellen (i- ten) MB dar.
  • Die Pixel, die in dem Fenster Wi liegen, bilden den bewegungskompensierten Vektor ui = [ui,1,0,0,..., ui,6,7,7], der in der Bewegungskompensationseinheit (706) gespeichert wird. Die Bewegungsschätzeinheit (702) ist also funktionsmäßig mit dem Rahmenpuffer (704) gekoppelt und liefert der Bewegungskompensationseinheit (706), die außerdem mit dem Rahmenpuffer (704) funktionsmäßig gekoppelt ist, einen bewegungskompensierten Vektor. Die Modeneinheit (710), die funkt ionsmäßig so geschaltet ist, dass sie den Eingangsvektor ri empfängt, ermittelt den Codiermodus (Inter/Intra?). Die Vorhersage pi = [pi,1,0,0,..., Pi,6,7,7] des Eingangsvektors ri erhält man aus ui anhand des Codiermodus des aktuellen MB:
  • a. Im Intra-Modus wird pi = 0 gesetzt.
  • b. Im Inter-Modus (Vorhersagemodus):
  • b1. Wenn das Schleifenfilter (708) auf "Out" steht, wird pi = ui; gesetzt.
  • b2. Wenn das Schleifenfilter (708) auf "In" steht, werden die Elemente von ui (Block für Block) unter Verwendung eines trennbaren, zweidimensionalen FIR-Filters mit drei Abzweigungen gefiltert, und der Ausgang des Schleifenfilters wird auf pi gesetzt.
  • In jedem Fall ist das Schleifenfilter (708) funktionsmäßig mit der Bewegungskompensationseinheit (706) gekoppelt, um gemäß obiger Beschreibung zu arbeiten.
  • An dem ersten Addierer (712) wird der Vektor pi von dem Eingang ri subtrahiert, um den Vorhersagefehlervektor ei = [ei,1,0,0,..., ei6,7,7] = ri - pi zu erhalten. Der Vektor ei wird zu Ei = [Ei,1,0,0,..., Ei,6,7,7] = A[ei] transformiert, wobei A[ ] hier die diskrete Cosinustransformation (DCT) an einer DCT-Einheit (714) darstellt, die funktionsmäßig mit dem ersten Addierer (712) gekoppelt ist. Die DCT wird unabhängig an jeden 8 · 8-Block in dem MB angelegt, um die Transformationskoeffizienten Ei,k,s,t gemäß folgender Gleichung zu erhalten:
  • Ei,k,s,t = 0,25 C(s) C(t) &Sigma;&Sigma; 0 &le; m,n &le; 7 ri,k,m,n
  • cos[&pi;(2m + 1)s/16] cos[&pi;(2n + 1)t/16],
  • wobei C(s) = 1/ 2 für s = 0 und ansonsten 1, und C(t) = 1/ 2 für t = 0 und ansonsten 1. Hier sind s und t die Variablen für die Transformationsdomäne. Es sei angemerkt, dass in jedem MB dieselbe Transformation A[ ] verwendet wird. In Fig. 9 ist unter dem Bezugszeichen 900 gezeigt, wie die Indizes t (902) und s (904), beide im Bereich von 0 bis 7, in der Transformationsdomäne verwendet werden.
  • Ein Quantisierer (716) ist funktionsmäßig so geschaltet, dass er die Transformationskoeffizienten Ei,k,s,t empfängt, und quantisiert die Koeffizienten unter Verwendung eines skalaren Quantisierers, der gleichmäßig mit einer Schrittgröße &Delta;i arbeitet, mit Ausnahme einer toten Zone um 0 herum. Die Rekonstruktionswerte des Quantisierers sind {0, ±ai, ±(ai + &Delta;i), ±(ai + 2&Delta;i), ..., -2048 &le; ± (ai + 126&Delta;i) < 2048}, wobei &Delta;i = 2, 4, ..., 62 und ai = 3&Delta;i/2, wenn &Delta;i ungerade ist, und andernfalls ai = 3&Delta;i/2 - 1. Dieselbe Schritt große &Delta;i wird für alle Transformationskoeffizienten in dem MB verwendet, außer im Intra-Modus, und die Probe Ei,k,0,0 wird mit einem einheitlichen skalaren Quantisierer der Schrittgröße &Delta;i = 8 ohne tote Zone quantisiert (da Ei,k,0,0 &ge; 0, werden in diesem Fall auch nur die positiven Rekonstruktionswerte benötigt). Die Entscheidungsbereiche des Quantisierers werden so gewählt, dass die Bildqualität soweit wie möglich verbessert wird.
  • Der Ausgang des Quantisierers (716) ist der quantisierte Transformationsvektor Yi = [Yi,1,0,0,..., Yi,6,7,7] = Ei + Di, wobei Di = [Di,1,0,0,..., Di,6,7,7] der Quantisierungsfehlervektor ist.
  • Der quantisierte Vektor Yi wird in eine inverse DCT- Einheit (724) eingegeben und weiter transformiert, um den Vektor Yi = [yi,1,0,0,..., Yi,6,7,7] = A&supmin;¹ [Yi] zu erzeugen, wobei A&supmin;¹[ ] eine inverse DCT ist. Die Pixel yi,k,m,n werden nach folgender Gleichung ermittelt:
  • Yi,k,m,n = 0,25 &Sigma;&Sigma; 0 &le; s,t &le; 7 C(s) C(t) Yi,k,s,t
  • cos[&pi;(2m + 1)s/16] cos[&pi;(2n + 1)t/16].
  • Der Vektor pi wird in einen zweiten Addierer (726) eingegeben und zu yi addiert, um den rekonstruierten Vektor zi = [zi,1,0,0,..., zi,6,7,7] = yi + pi zu erhalten, und die Pixel zi,k,m,n werden in dem Rahmenpuffer (704) gespeichert.
  • Die quantisierten Transformationskoeffizienten Yi,k,s,t werden normalerweise zu einem CBR-Bitstrom codiert, zum Beispiel unter Verwendung eines variablen Codierers (720) mit einem Ausgabepuffer (722), und dann übertragen (oder gespeichert). Zunächst werden die Koeffizienten in jedem Block mit einem als "Zickzack-Abtastung" bekannten Verfah ren von dem 8 · 8-Matrixformat in ein serielles Format umgewandelt (siehe Fig. 9), und dann werden die Koeffizienten in jedem Block durch eine Folge von Werten (Run, Level) dargestellt, wobei "Run" die Anzahl von Nullen vor dem nächsten von Null verschiedenen Wert "Level" darstellt. Diese Werte (Run, Level) werden dann unter Verwendung eines Binärcodes variabler Länge codiert. Der Ausgang des variablen Codierers wird normalerweise zwischengespeichert (720), um einen CBR-Bitstrom zu erzeugen, und die Quantisierungsschrittgröße wird durch, eine Steuereinheit (718) des Quantisierers so eingestellt, dass Pufferüberläufe (oder - unterläufe) verhindert werden. Die Steuereinheit (718) des Quantisierers ist funktionsmäßig mit dem Puffer (722) gekoppelt und setzt ein Einstellsignal an den Quantisierer (716) ab.
  • Neben den quantisierten Transformationskoeffizienten Yi,k,s,t sendet der Codierer auch Nebeninformationen, damit der Decodierer das codierte Signal korrekt rekonstruieren kann. Zu den Nebeninformationen gehört das Ursprungsformat (CIF/QCIF), die Quantisiererschrittgröße &Delta;i, die Entscheidung Inter/Intra, der Bewegungsvektor mi (nur im Inter- Modus), und der In/Out-Zustand des Schleifenfilters (wenn der Bewegungsvektor vorhanden ist).
  • Die Schrittgröße &Delta;i kann für eine ganze Gruppe von Blöcken (GVB) auf einem festen Wert gehalten werden. In diesem Fall muss nur ein Schrittgrößenwert pro GVB als Nebeninformation gesendet werden. Es ist auch möglich, &Delta;i innerhalb der GVB zu ändern. Dies ermöglicht eine feinere Einstellung der Schrittgröße auf Kosten eines größeren Overhead.
  • Der H.261-Codierer sendet auch Nebeninformationen, damit der Codierer einen Block oder einen Makroblock (MB) überspringen kann. Wenn zum Beispiel alle Koeffizienten Ai,k,s,t in einem 8 · 8-Block Null sind, codiert der Codierer diese Blocke überhaupt nicht. Wenn es wenig Bewegung gibt, oder wenn die Bewegungsschätzung nahezu perfekt ist, können analog dazu alle Koeffizienten in einem MB Null sein. In diesem Fall kann der Codierer den gesamten MB überspringen. Wenn ein Block oder ein MB in dem Codierer übersprungen wird, ersetzt der Codierer einfach die fehlenden Koeffizienten durch Nullen.
  • Die maximale Bildrate in dem H.261 beträgt ungefähr 30 Bilder/sek, aber aufgrund der Empfehlung kann der Codierer regelmäßig 0, 1, 2 oder 3 Bilder überspringen, um effektive Bildraten von 30, 15, 10 und 7,5 Bilder/sek zu erzielen. Der Codierer kann auch gelegentlich ein Bild überspringen. Dies kann zum Beispiel unmittelbar nach der Codierung eines Bildes im Intra-Modus geschehen. Da der Intra-Modus normalerweise eine große Anzahl von Bits erzeugt, kann das Überspringen eines Bildes dazu beitragen, die Verzögerung beim Zwischenspeichern zu verringern.
  • Die Geschwindigkeit eines durch einen H.261-Codierererzeugten Bitstroms kann mit dem Transcoder der vorliegen den Erfindung geändert werden. Ein Transcoder decodiert zunächst den empfangenen Bitstrom unter Verwendung eines Decodierers für den Code variabler Länge, um die Folge von (Run, Level) Werten zu erhalten, und gewinnt dann die durch den Codierer erzeugte Sequenz, von quantisierten Vektoren Yi = [Yi,1,0,0,..., Yi,6,7,7] Der Decodierer gewinnt auch alle Nebeninformationen. Wenn ein Block oder MB nicht codiert ist, setzt der Decodierer für die entsprechenden fehlenden Koeffizienten Nullen ein.
  • Typische Folgeoperationen des einstufigen Transcoders werden nachfolgend beschrieben (siehe Fig. 10, Bezugszeichen 1000). Ein variabler Decodierer (1002) gibt den Vektor Yi an einen ersten Addierer (1004) aus und liefert Rahmeninformationen, Inter/Intra-Informationen, Informationen darüber, welche Blocke codiert sind (codiertes Blockmuster oder CBP), Informationen über die Schrittgröße &Delta;i, Bewegungsvektoren mi und Schleifenfilterinformationen an verschiedene Elemente des Transcoders auf einer Vorwärtsregelstrecke. Der erste Addierer (1004) kombiniert den Vektor Yi und einen modifizierten Quantisierungsfehlervektor Si, um den Vektor Ei' einem Quantisierer (1006) und einem zweiten Addierer (1014) zuzuführen. Der Quantisierer (1006) ist funktionsmäßig mit dem ersten Addierer (1004) gekoppelt und liefert einem variablen Codierer (1010) und dem zweiten Addierer (1014) einen quantisierten Ausgangsvektor Yi'. Der variable Codierer (1010) ist funktionsmäßig mit dem Quantisierer (1006) gekoppelt und empfängt Informationen von dem variablen Decodierer (1002) und erzeugt die Ausgangsbits. Der Puffer (1012) ist funktionsmäßig mit dem variablen Codierer (1010) gekoppelt und liefert ein Mittel zum Speichern von Ausgangsbits vor der Übertragung und liefert auch einen Eingang für eine Quantisierersteuerung (1008). Die Quantisierersteuerung (1008) ist funktionsmäßig mit dem Puffer (1012) gekoppelt und sendet ein Steuersignal zu dem Quantisierer (1006), wie oben ausführlicher beschrieben wird. Der zweite Addierer (1014) ist funktionsmäßig so geschaltet, dass er die Vektoren Ei' und Yi' empfängt, und liefert Di' = Ei' - Yi'. Eine inverse DCT-Einheit (1016) ist funktionsmäßig mit dem zweiten Addierer (1014) gekoppelt und liefert einen Rücktransformationsvektor di'. Der Rahmenpuffer (1018) ist funktionsmäßig mit der inversen DCT- Einheit (1016) gekoppelt und liefert den Ausgangsvektor zi. Eine Bewegungskompensationseinheit (1020) ist funktionsmäßig mit dem Rahmenpuffer gekoppelt und empfängt einen Bewegungsvektor von dem variablen Decodierer (1002) und dient zur Bereitstellung eines Ausgangsvektors Wi. Das Schleifenfilter (1022) ist funktionsmäßig mit der Bewegungskompensationseinheit (1020) gekoppelt, empfängt In/Out- Schleifenfilterinformationen von dem variablen Decodierer (1002) und gibt den vorhergesagten Quantisierungsfehlervektor Si aus. Eine DCT-Einheit (1024) ist funktionsmäßig mit dem Schleifenfilter (1022) gekoppelt und gibt den Vektor Si aus.
  • Die oben genannten Vektoren werden wie folgt näher beschrieben:
  • (1) In dem Transcoder wird keine Bewegungsschätzung vorgenommen. Stattdessen wird der von dem Codierer empfangene Bewegungsvektor mi = (mi1, mi2) dazu verwendet, das 16 · 16-Fenster Wi zu ermitteln, und die Pixel in dem transformierten Quantisierungsfehler-Puffer (siehe unten), die in jenem Fenster liegen, werden verwendet, um den Vektor wi = [wi,1,0,0,..., Wi,6,7,7] zu bilden. Der Bewegungsvektor mi stellt wieder den räumlichen Versatz zwischen dem Fenster Wi und dem aktuellen MB (dem i-ten MB) dar.
  • Den vorhergesagten Quantisierungsfehlervektor si = [si,i,0,0,..., si,6,7,7] erhält man aus wi anhand des Codiermodus des aktuellen MB:
  • a. Im Intra-Modus wird Si = 0 gesetzt.
  • b. Im Inter-Modus (Vorhersagemodus):
  • b1. Wenn das Schleifenfilter auf "Out" steht, wird Si = wi gesetzt.
  • b2. Wenn das Schleifenfilter auf "In" steht, werden die Elemente von wi (Block für Block) unter Verwendung eines trennbaren, zweidimensionalen FIR- Filters mit 3 Abzweigungen gefiltert, und der Ausgang des Filters wird auf si gesetzt.
  • (2) Der Vektor si wird wieder transformiert, um den modifizierten Quantisierungsfehlervektor Si = A[si] zu erhalten, wobei A[ ] die DCT-Operation darstellt, gemäß:
  • Si,k,s,t = 0,25 C(s) C(t) &Sigma;&Sigma; 0 &le; m,n &le; 7 Si,k,m,n
  • cos[&pi;t(2m + 1)s/16] cos[&pi;(2n + 1)t/16].
  • (3) Der modifizierte Quantisierungsfehlervektor Si = [Si,1,0,0,..., Si,6,7,7] wird von dem codierten Vektor Yi subtrahiert, um den Fehlervektor Ei' = [E'i,1,0,0,..., E'i,6,7,7] = Yi - Si zu erhalten.
  • (4) Die Koeffizienten E'i,k,s,t werden unter Verwendung eines H.261-Quantisierers wie bei dem Codierer (erneut) quantisiert, möglicherweise mit einer anderen Schrittgröße &Delta;i', außer dass für den Term E'i,k,0,0 im Intra-Modus dieselbe Schrittgröße verwendet wird: &Delta;i = &Delta;i' = 8. Als Ergebnis erhält man den transcodierten Transformationsvektor Yi' = [Y'i,1,0,0,...,Y'i,6,7,7] = Ei' + Di', wobei Di' = [D'i,1,0,0,..., D'i,6,7,7] der Quantisierungsverzerrungsvektor für den Transcoder ist.
  • (5) Der Fehlervektor Ei' wird von Yi' subtrahiert, um den Quantisierungsfehlervektor Di' zu erhalten, und dann wird Di' unter Verwendung einer inversen DCT rücktransformiert, um di' = A&supmin;¹[Di'] zu erhalten:
  • d'i,k,m,n = 0,25 &Sigma;&Sigma; 0 &le; s,t &le; 7 C(s) C(t) D'i,k,s,t
  • cos[&pi;(2m + 1)s/16] cos[&pi; (2n + 1)t/16]
  • Die Pixel d'i,k,m,n werden in einem rekonstruierten Quantisierungsrahmenpuffer für spätere Iterationen gespeichert.
  • In dem folgenden Beispiel verwendet der Transcoder den Bewegungsvektor mi, die Inter/Intra-Entscheidung und die von dem H.261-Codierer empfangene Schleifenfilterentscheidung ohne jegliche Modifikationen. Das Ursprungs format (CIF/QCIF) wird ebenfalls nicht modifiziert. Die Implementierung des Transcoders wird dadurch stark vereinfacht.
  • Der Transcoder wandelt die transcodierte Sequenz Yi' unter Verwendung eines rauschfreien Quellcodierers wie bei dem H.261-Codierer in einen Bitstrom um.
  • Der von dem Transcoder erzeugte Bitstrom wird normalerweise durch einen H.261-Codierer decodiert, wie in Fig. 11 unter dem Bezugszeichen 1100 gezeigt. Nachdem er die Sequenz Yi' wie üblich aus dem empfangenen Bitstrom gewonnen hat, rekonstruiert der Decodierer das Signal Zi' = [zi,1,0,0,..., zi,5,7,7] = ri + di + di' wie folgt:
  • (1) Der empfangene Vektor Yi', der normalerweise von einem variablen Decodierer (1102) ausgegeben wird, wird zunächst unter Verwendung einer inversen DCT-Einheit (1104), die funktionsmäßig mit dem variablen Decodierer (1102) gekoppelt ist, transformiert, wobei die inverse DCT-Einheit (1104) eine inverse DCT ermittelt, um den Vektor yi' = [Y'i,1,0,0,..., Y'i,6,7,7] zu erhalten:
  • y'i,k,m,n = 0,25 &Sigma;&Sigma; 0 &le; s,t &le; 7 C(S) C(t) Y'i,k,s,t
  • cos[&pi;(2m + 1)s/16] cos[&pi;(2n + 1)t/16]
  • Ein Addierer (1106) ist funktionsmäßig mit der inversen DCT-Einheit (1104) und mit einem Schleifenfilter (1108) gekoppelt, um yi' und pi' zu verknüpfen und den Ausgangsvektor zi' zu erzeugen. Der Vektor zi' ist ein Ausgang des H.261-Decodierers und wird auch als Rückkopplungsvektor für einen Rahmenpuffer (1112) verwendet.
  • (2) Eine Bewegungskompensationseinheit (1110) ist funktionsmäßig so geschaltet, dass sie den Ausgang des Rahmenpuffers (1112) und einen Bewegungsvektor mi = (mi1, mi2) von dem Codierer empfängt, mit dem ein 16 · 16 Fenster Wi ermittelt wird. Die Pixel in dem Rekonstruktionspuffer, die in jenem Fenster liegen, werden zur Bildung des Vektors ui' = [u'i,1,0,0,..., u'i,6,7,7] verwendet.
  • Ein Schleifenfilter (1108) ist funktionsmäßig mit der Bewegungskompensationseinheit (1110) gekoppelt, um dem Addierer (1106) den Vektor pi' zu liefern. Den Vorhersagewert Pi' = [p'i,1,0,0,..., P'i,6,7,7] erhält man aus ui' anhand des Codiermodus des aktuellen MB:
  • a. Im Intra-Modus wird pi' = 0 gesetzt.
  • b. Im Vorhersagemodus (Inter-Modus):
  • b1. Wenn das Schleifenfilter (1108) auf "Out" steht, wird pi' = ui' gesetzt.
  • b2. Wenn das Schleifenfilter (1108) auf "In" steht, werden die Elemente von ui' (Block für Block) unter Verwendung eines trennbaren, zweidimensionalen FIR-Filters mit 3 Abzweigungen gefiltert und der Ausgang des Filters wird gleich pi' gesetzt.
  • (3) Der Vektor pi' wird zu yi' addiert, um den rekonstruierten Vektor zi' = yi' + pi' zu erhalten.
  • Der gesamte Quantisierungsfehler ist dann die Summe der durch den Codierer bzw. den Transcoder eingeführten Quantisierungsfehler di und di'.
  • Fig. 12 zeigt unter dem Bezugszeichen 1200 ein Flussdiagramm einer Ausführungsform der Schritte gemäß dem Verfahren der vorliegenden Erfindung. Das Verfahren ermöglicht die Transcodierung einer Sequenz von quantisierten Vektoren Yi, die durch einen prädiktiven Signalformcodierer unter Verwendung modifizierter Quantisierungsfehlervektoren si erzeugt wurde. Die nachfolgend genannten Vektoren werden oben ausführlicher beschrieben.
  • Das Verfahren umfasst die folgenden Schritte: (1) es wird ein Differenzvektor Ei' = Yi - Si zwischen wenigstens einem ersten quantisierten Vektor Yi und einem modifizierten Quantisierungsfehlervektor Si (1202) erzeugt; (2) der Differenzvektor Ei' wird quantisiert, um einen transcodierten Vektor Yi' (1204) zu erhalten; (3) es werden wenigstens zwei der Vektoren Yi, Ei' und Yi' empfangen, und es wird der rücktransformierte Fehlervektor di' = Ai&supmin;¹[Di'] erzeugt, wobei Di' ein Quantisierungsfehlervektor und Ai&supmin;¹ eine Rücktransformation (1206) ist; und es wird der modifizierte Quantisierungsfehlervektor Si anhand früherer Werte des Vektors di' (1208) erzeugt.
  • Wie für die Vorrichtung der vorliegenden Erfindung beschrieben, kann die Transformation Ai&supmin;¹ konstant gewählt werden, kann der quantisierte Vektor Yi die Größe L = 1 haben, und kann die Rücktransformation Ai&supmin;¹[ ] eine Identitätsmatrix sein.
  • Der Schritt des Erzeugens des modifizierten Quantisierungsfehlervektors Si anhand früherer Werte des Vektors di' kann so gewählt werden, dass er folgendes umfasst: (1) es wird ein vorhergesagter Quantisierungsfehlervektor si erzeugt, und (2) si wird verwendet, um einen modifizierten Quantisierungsfehlervektor Si zu erzeugen, so dass Si = Ai[Si], wobei Ai eine vorbestimmte Transformation ist. Außerdem kann dieser Schritt noch einen der Punkte (1)-(2) umfassen: (1) die empfangenen Vektoren Yi' und Ai' werden zur Ermittelung eines Quantisierungsfehlers Di' = Yi' - Ei' verwendet, und eine Rücktransformation Ai&supmin;¹ wird verwendet, um den Vektor di' gemäß di' = Ai&supmin;¹ zu erzeugen; und (2) die Vektoren Yi und Yi' werden empfangen und verwendet, um einen Fehler Xi' - Yi' - Yi zu ermitteln, wobei die Rücktransformation Ai&supmin;¹ zum Erzeugen eines Vektors xi gemäß xi = Ai&supmin;¹[Xi'] verwendet wird und xi und si addiert werden, um den Vektor di' zu erhalten.
  • Der quantisierte Vektor Yi kann von einem prädiktiven digitalen Videocodierer erzeugt werden und stellt quantisierte Transformationskoeffizienten eines Makroblocks (MB) dar, ein fundamentales Codierungselement bei H.261. Zur Vorhersage kann eine bewegungskompensierte Vorhersage (MCP) verwendet werden. Die Transformation A[ ] ist eine diskrete Cosinustransformation (DCT).
  • Bei einer Ausführungsform kann für den Videocodierer ein H.261-Codierer gewählt werden.
  • Die vorliegende Erfindung kann auch noch in anderen spezifischen Formen verkörpert werden, ohne von ihren wesentlichen Merkmalen abzuweichen. Die beschriebenen Ausführungsformen sind in jeder Hinsicht nur als veranschaulichend und nicht als einschränkend zu verstehen. Der Umfang der Erfindung wird daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Sämtliche Änderungen, die unter die Bedeutung und in den Äquivalenzbereich der Ansprüche fallen, sollen im Rahmen dieser Ansprüche liegen.

Claims (16)

1. Vorrichtung zum Transcodieren einer Sequenz von quantisierten Vektoren Yi, die durch einen prädiktiven Signalformcodierer unter Verwendung modifizierter Quantisierungsfehlervektoren Si erzeugt wurden, wobei die Vorrichtung folgendes umfasst:
einen Addierer (402, 502, 602), der funktionsmäßig so geschaltet ist, dass er wenigstens einen ersten quantisierten Vektor Yi und wenigstens einen ersten modifizierten Quantisierungsfehlervektor Si empfängt, um einen Differenzvektor Ei' = Yi - Si zwischen dem quantisierten Vektor Yi und dem modifizierten Quantisierungsfehlervektor Si zu erzeugen;
einen Quantisierer (404, 504, 604), der funktionsmäßig mit dem Addierer gekoppelt ist, um den Differenzvektor Ei' zu quantisieren, um einen transcodierten Vektor Yi zu erhalten;
einen Rechner QEVC (406, 506, 606) zur Berechnung des Quantisierungsfehlervektors, der funktionsmäßig so geschaltet ist, dass er wenigstens zwei der Vektoren Yi, Ei' und Yi empfängt, um den rücktransformierten Fehlervektor di' = Ai&supmin;¹[Di'] zu erzeugen, wobei Di' ein Quantisierungsfehlervektor und Ai&supmin;¹ eine Rücktransformation und linear ist; und
eine Modifizierungsschaltung (408, 508, 608), die funktionsmäßig mit dem QEVC gekoppelt ist, um den modifizierten Quantisierungsfehlervektor Si anhand früherer Werte des Vektors di' zu erzeugen, und die so angeordnet ist, dass sie Si in den Addierer eingibt.
2. Vorrichtung nach Anspruch 1, bei der die Transformation Ai&supmin;¹ konstant ist.
3. Vorrichtung nach Anspruch 2, bei der der quantisierte Vektor Yi die Größe L = 1 hat und die Rücktransformation Ai&supmin;¹[ ] eine Identitätsmatrix ist.
4. Vorrichtung nach Anspruch 2 oder 3, bei der die Modifizierungsschaltung folgendes umfasst:
einen Prädiktor (514, 616), der funktionsmäßig mit dem Rechner zur Berechnung des Quantisierungsfehlervektors gekoppelt ist, um den vorhergesagten Quantisierungsfehlervektor Si zu erzeugen, und
eine Transformationseinheit (516, 618), die funktionsmäßig mit dem Prädiktor gekoppelt ist, um unter Verwendung einer Vorwärtstransformation Ai[ ] den modifizierten Quantisierungsfehlervektor Si zu erzeugen.
5. Vorrichtung nach Anspruch 3 oder 4, bei der der Rechner zur Berechnung des Quantisierungsfehlervektors folgendes umfasst:
einen zweiten Addierer (510), der funktionsmäßig so geschaltet ist, dass er Yi' und Ei' empfängt, um den Quantisierungsfehler Di' = Yi' - Ei' zu ermitteln, und eine Rücktransformationseinheit (512), die funktionsmäßig so geschaltet ist, dass sie Di' empfängt, um unter Verwendung einer Rücktransformation Ai&supmin;¹ den Vektor di' gemäß di' = Ai&supmin;¹[Di'] zu erzeugen.
6. Vorrichtung nach Anspruch 3 oder 4, bei der der Rechner zur Berechnung des Quantisierungsfehlervektors folgendes umfasst:
einen zweiten Addierer (610), der funktionsmäßig so geschaltet ist, dass er Yi und Yi' empfängt, um einen Fehler Xi' = YI ' - Yi zu ermitteln,
eine Rucktransformationseinheit Ai&supmin;¹ (612), die funktionsmäßig mit dem zweiten Addierer gekoppelt ist, um einen Vektor xi gemäß xi = Ai&supmin;¹[Xi'] zu erzeugen, und
einen dritten Addierer (614), der funktionsmäßig so geschaltet ist, dass er den Vektor xi von der Rücktransformationseinheit empfängt und von dem Prädiktor ein Rückkopplungssignal Si = Ai&supmin;¹[Xi'] empfängt, um xi und si zu addieren, um den Vektor di' zu erhalten.
7. Vorrichtung nach einem der Ansprüche 3 bis 6, die ferner einen prädiktiven digitalen Videocodierer zum Erzeugen des quantisierten Vektors Yi umfasst, und bei der der Prädiktor für eine bewegungskompensierte Vorhersage (MCP) ausgelegt ist, die Transformation A[ ] die diskrete Cosinustransformation (DCT) ist, die Transformation A&supmin;¹ die inverse diskrete Cosinustransformation (IDCT) ist, und bei dem der Videocodierer ein H.261-Codierer ist.
8. Vorrichtung nach einem der Ansprüche 3 bis 7, bei der der Quantisierer so ausgelegt ist, dass der quantisierte Vektor Yi im Betrieb die quantisierten Transformationskoeffizienten eines Makroblocks (MB) darstellt.
9. Verfahren zum Transcodieren einer Sequenz von quantisierten Vektoren Yi, die durch einen prädiktiven Signalformcodierer unter Verwendung von modifizierten Quantisierungsfehlervektoren Si erzeugt wurde, wobei das Verfahren die folgenden Schritte umfasst:
es wird ein Differenzvektor Ei' = Yi - Si zwischen wenigstens einem ersten quantisierten Vektor Yi und einem modifizierten Quantisierungsfehlervektor Si erzeugt;
der Differenzvektor Ei' wird quantisiert, um einen transcodierten Vektor Yi' zu erhalten;
es werden wenigstens zwei der Vektoren Yi, Ei' und Yi' empfangen, und es wird der rücktransformierte Fehlervektor di' = Ai&supmin;¹[Di'] erzeugt,
wobei Di' ein Quantisierungsfehlervektor und Ai&supmin;¹ eine Rücktransformation und linear ist; und
es wird der modifizierte Quantisierungsfehlervektor Si anhand von früheren Werten des Vektors di' erzeugt.
10. Verfahren nach Anspruch 9, bei dem die Transformation Ai&supmin;¹ konstant ist.
11. Verfahren nach Anspruch 9 oder 10, bei dem der quantisierte Vektor Yi die Größe L = 1 hat und die Rücktransformation Ai&supmin;¹[ ] eine Identitätsmatrix ist.
12. Verfahren nach Anspruch 9, 10 oder 11, bei dem der Schritt des Erzeugens des modifizierten Quantisierungsfeh lervektors Si anhand früherer Werte des Vektors di' folgendes umfasst:
es wird ein vorhergesagter Quantisierungsfehlervektor Si erzeugt; und
unter Verwendung von Si wird ein modifizierter Quantisierungsfehlervektor Si erzeugt, so dass Si = Ai[Si], wobei Ai eine vorbestimmte Transformation ist.
13. Verfahren nach einem der Ansprüche 9 bis 12, bei dem ferner die empfangenen Vektoren Yi' und Ei' zur Ermittlung eines Quantisierungsfehlers Di' = Yi' - Ei' verwendet werden, und bei dem eine Rücktransformation A&supmin;¹ verwendet wird, um den Vektor di' gemäß di' = Ai&supmin;¹[Di'] zu erzeugen.
14. Verfahren nach einem der Ansprüche 9 bis 12, das ferner die folgenden Schritte umfasst:
die Vektoren Yi und Yi' werden empfangen und zur Ermittlung eines Fehlers Xi' = Yi' - Yi verwendet;
die Rücktransformation Ai&supmin;¹ wird verwendet, um einen Vektor xi gemäß Xi = Ai&supmin;¹[Xi'] zu erzeugen, und
xi und s werden addiert, um den Vektor di' zu erhalten.
15. Verfahren nach einem der Ansprüche 9 bis 14, bei dem der quantisierte Vektor Yi durch einen prädiktiven digitalen Videocodierer erzeugt wird und der Videocodierer ein H-261-Codierer ist.
16. Verfahren nach einem der Ansprüche 9 bis 15, bei dem der quantisierte Vektor Yi quantisierte Transformationskoeffizienten eines Makroblocks (MB) und ein fundamentales Codierungselement in einem H.261-Code darstellt, wobei ferner eine bewegungskompensierte Vorhersage (MCP) verwendet wird, und bei dem die Transformation A[ ] eine diskrete Cosinustransformation (DCT) ist und die Transformation A&supmin;¹ eine inverse diskrete Cosinustransformation (IDCT) ist.
DE69432142T 1994-01-07 1994-12-01 Verfahren und vorrichtung zur effizienten transkodierung Expired - Fee Related DE69432142T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/179,020 US5537440A (en) 1994-01-07 1994-01-07 Efficient transcoding device and method
PCT/US1994/013840 WO1995019072A1 (en) 1994-01-07 1994-12-01 Efficient transcoding device and method

Publications (2)

Publication Number Publication Date
DE69432142D1 DE69432142D1 (de) 2003-03-27
DE69432142T2 true DE69432142T2 (de) 2003-07-24

Family

ID=22654894

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69432142T Expired - Fee Related DE69432142T2 (de) 1994-01-07 1994-12-01 Verfahren und vorrichtung zur effizienten transkodierung

Country Status (6)

Country Link
US (1) US5537440A (de)
EP (1) EP0691054B1 (de)
JP (1) JPH08507669A (de)
CA (1) CA2154885C (de)
DE (1) DE69432142T2 (de)
WO (1) WO1995019072A1 (de)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835532A (en) * 1994-03-21 1998-11-10 Rca Thomson Licensing Corporation Blind equalizer for a vestigial sideband signal
US5781237A (en) * 1994-03-25 1998-07-14 Matsushita Electric Industrial Co., Ltd. Video coding apparatus and video coding method
US5715009A (en) 1994-03-29 1998-02-03 Sony Corporation Picture signal transmitting method and apparatus
JP3013698B2 (ja) * 1994-04-20 2000-02-28 松下電器産業株式会社 ベクトル量子化符号化装置と復号化装置
SG43051A1 (en) * 1994-04-21 1997-10-17 British Telecomm A transcoder
US5940130A (en) * 1994-04-21 1999-08-17 British Telecommunications Public Limited Company Video transcoder with by-pass transfer of extracted motion compensation data
DE4416967A1 (de) * 1994-05-13 1995-11-16 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Transcodierung von Bitströmen mit Videodaten
US5828421A (en) * 1994-10-11 1998-10-27 Hitachi America, Ltd. Implementation efficient digital picture-in-picture decoding methods and apparatus
US5825970A (en) * 1994-12-20 1998-10-20 Lg Electronics Inc. Quantization number selecting apparatus for DVCR and method therefor
EP0755610B1 (de) * 1995-02-15 2000-04-12 Koninklijke Philips Electronics N.V. Vorrichtung und verfahren zur transkodierung von videosignalen
JP3418485B2 (ja) * 1995-09-14 2003-06-23 シャープ株式会社 画像データ蓄積装置
JP3788823B2 (ja) 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
JPH1051766A (ja) 1996-08-05 1998-02-20 Mitsubishi Electric Corp 画像符号化データ変換装置
US6038256A (en) * 1996-12-31 2000-03-14 C-Cube Microsystems Inc. Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics
US5870146A (en) * 1997-01-21 1999-02-09 Multilink, Incorporated Device and method for digital video transcoding
SE9703849L (sv) * 1997-03-14 1998-09-15 Ericsson Telefon Ab L M Nedskalning av bilder
US6212236B1 (en) 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
CN1236527A (zh) * 1997-07-22 1999-11-24 皇家菲利浦电子有限公司 在视频序列之间进行切换的方法及相应的装置
US6507672B1 (en) * 1997-09-10 2003-01-14 Lsi Logic Corporation Video encoder for digital video displays
US6731811B1 (en) * 1997-12-19 2004-05-04 Voicecraft, Inc. Scalable predictive coding method and apparatus
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6243495B1 (en) * 1998-02-13 2001-06-05 Grass Valley (Us) Inc. Method a group of picture structure in MPEG video
US6058143A (en) * 1998-02-20 2000-05-02 Thomson Licensing S.A. Motion vector extrapolation for transcoding video sequences
CA2265089C (en) * 1998-03-10 2007-07-10 Sony Corporation Transcoding system using encoding history information
WO1999051033A2 (en) * 1998-03-31 1999-10-07 Koninklijke Philips Electronics N.V. Method and device for modifying data in an encoded data stream
US6477706B1 (en) 1998-05-01 2002-11-05 Cogent Technology, Inc. Cable television system using transcoding method
US6215824B1 (en) * 1998-05-01 2001-04-10 Boom Corporation Transcoding method for digital video networking
US6226328B1 (en) * 1998-05-01 2001-05-01 Boom Corporation Transcoding apparatus for digital video networking
KR100304103B1 (ko) * 1998-05-29 2001-09-24 이계철 비트율이급변되는재양자화계단크기선택방법및그를이용한비트율제어방법
SE9802286L (sv) 1998-06-26 1999-12-27 Ericsson Telefon Ab L M Effektiv nedskalning av DCT-komprimerade bilder
US6483543B1 (en) 1998-07-27 2002-11-19 Cisco Technology, Inc. System and method for transcoding multiple channels of compressed video streams using a self-contained data unit
JP2000059790A (ja) * 1998-08-05 2000-02-25 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
KR100312421B1 (ko) * 1998-11-25 2001-12-12 오길록 영상시스템에서의압축동영상변환장치및그방법
US6618442B1 (en) * 1998-12-29 2003-09-09 Intel Corporation Method and apparatus for transcoding digital video signals
JP3672185B2 (ja) 1999-02-09 2005-07-13 ソニー株式会社 コーディングシステム及びこれを用いた装置並びに記録媒体
US6628839B1 (en) * 1999-02-23 2003-09-30 Matsushita Electric Industrial Co., Ltd. Image coding system converting apparatus, image coding system converting method, and recording medium
CN1204751C (zh) * 1999-04-13 2005-06-01 松下电器产业株式会社 编码数据变换方法、再编码方法、再编码系统以及数据记录媒体
US6549147B1 (en) * 1999-05-21 2003-04-15 Nippon Telegraph And Telephone Corporation Methods, apparatuses and recorded medium for reversible encoding and decoding
JP2003504986A (ja) 1999-07-20 2003-02-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ドリフトの影響を受けない変換符号化器及び関連する方法
US6401132B1 (en) 1999-08-03 2002-06-04 International Business Machines Corporation Subchaining transcoders in a transcoding framework
US6441754B1 (en) * 1999-08-17 2002-08-27 General Instrument Corporation Apparatus and methods for transcoder-based adaptive quantization
KR100634660B1 (ko) * 1999-09-13 2006-10-16 마츠시타 덴끼 산교 가부시키가이샤 부호화장치 및 부호화방법
DE19946267C2 (de) * 1999-09-27 2002-09-26 Harman Becker Automotive Sys Digitales Transcodiersystem
JP2003520512A (ja) * 2000-01-14 2003-07-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 伝送符号化方法及び伝送符号化装置
KR20010105405A (ko) * 2000-02-04 2001-11-28 요트.게.아. 롤페즈 비트 속도 트랜스코딩 응용들을 위한 양자화 방법
US6711212B1 (en) 2000-09-22 2004-03-23 Industrial Technology Research Institute Video transcoder, video transcoding method, and video communication system and method using video transcoding with dynamic sub-window skipping
JP2004512784A (ja) * 2000-10-24 2004-04-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ エンベッドフィルタによるトランスコーディング方法及びトランスコーディング装置
US6650707B2 (en) 2001-03-02 2003-11-18 Industrial Technology Research Institute Transcoding apparatus and method
US8391482B2 (en) * 2001-05-04 2013-03-05 Hewlett-Packard Development Company, L.P. Signal format that facilitates easy scalability of data streams
US20030007784A1 (en) * 2001-06-20 2003-01-09 Loui Alexander C. System and method for authoring a multimedia enabled disc
US7236529B2 (en) * 2001-10-30 2007-06-26 Industrial Technology Research Institute Methods and systems for video transcoding in DCT domain with low complexity
DE10300048B4 (de) * 2002-01-05 2005-05-12 Samsung Electronics Co., Ltd., Suwon Verfahren und Vorrichtung zur Bildcodierung und -decodierung
US7236521B2 (en) * 2002-03-27 2007-06-26 Scientific-Atlanta, Inc. Digital stream transcoder
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
US7469012B2 (en) * 2002-05-14 2008-12-23 Broadcom Corporation System and method for transcoding entropy-coded bitstreams
JP4196726B2 (ja) * 2003-05-14 2008-12-17 ソニー株式会社 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
TWI230547B (en) * 2004-02-04 2005-04-01 Ind Tech Res Inst Low-complexity spatial downscaling video transcoder and method thereof
US20050232497A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation High-fidelity transcoding
US7692683B2 (en) * 2004-10-15 2010-04-06 Lifesize Communications, Inc. Video conferencing system transcoder
US20060248210A1 (en) * 2005-05-02 2006-11-02 Lifesize Communications, Inc. Controlling video display mode in a video conferencing system
US8422546B2 (en) * 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7818632B2 (en) * 2005-06-30 2010-10-19 Motorola Mobility, Inc. Code-word list algorithm
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US20070286277A1 (en) * 2006-06-13 2007-12-13 Chen Xuemin Sherman Method and system for video compression using an iterative encoding algorithm
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8237765B2 (en) * 2007-06-22 2012-08-07 Lifesize Communications, Inc. Video conferencing device which performs multi-way conferencing
US8139100B2 (en) * 2007-07-13 2012-03-20 Lifesize Communications, Inc. Virtual multiway scaler compensation
US8457958B2 (en) * 2007-11-09 2013-06-04 Microsoft Corporation Audio transcoder using encoder-generated side information to transcode to target bit-rate
US8150187B1 (en) * 2007-11-29 2012-04-03 Lsi Corporation Baseband signal quantizer estimation
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8326075B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8514265B2 (en) * 2008-10-02 2013-08-20 Lifesize Communications, Inc. Systems and methods for selecting videoconferencing endpoints for display in a composite video image
US20100110160A1 (en) * 2008-10-30 2010-05-06 Brandt Matthew K Videoconferencing Community with Live Images
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8643695B2 (en) * 2009-03-04 2014-02-04 Lifesize Communications, Inc. Videoconferencing endpoint extension
US8456510B2 (en) * 2009-03-04 2013-06-04 Lifesize Communications, Inc. Virtual distributed multipoint control unit
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8350891B2 (en) * 2009-11-16 2013-01-08 Lifesize Communications, Inc. Determining a videoconference layout based on numbers of participants
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US9635334B2 (en) * 2012-12-03 2017-04-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Audio and video management for parallel transcoding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8005950A (nl) * 1980-10-30 1982-05-17 Philips Nv Differentieel pulscode modulatie overdrachtstelsel.
JPH01238229A (ja) * 1988-03-17 1989-09-22 Sony Corp デイジタル信号処理装置
US4972260A (en) * 1988-08-22 1990-11-20 Matsushita Electric Industrial Co., Ltd. Apparatus for coding a moving-picture signal
JPH0828875B2 (ja) * 1989-08-21 1996-03-21 三菱電機株式会社 符号化装置および復号化装置
JPH0472909A (ja) * 1990-07-13 1992-03-06 Sony Corp オーディオ信号の量子化誤差低減装置
JP2753126B2 (ja) * 1990-09-20 1998-05-18 株式会社東芝 ディジタル・シグマデルタ変調器
GB9022326D0 (en) * 1990-10-15 1990-11-28 British Telecomm Signal coding
JPH05167998A (ja) * 1991-12-16 1993-07-02 Nippon Telegr & Teleph Corp <Ntt> 画像の符号化制御処理方法

Also Published As

Publication number Publication date
EP0691054A4 (de) 1999-04-14
DE69432142D1 (de) 2003-03-27
CA2154885C (en) 1999-07-20
EP0691054B1 (de) 2003-02-19
JPH08507669A (ja) 1996-08-13
US5537440A (en) 1996-07-16
EP0691054A1 (de) 1996-01-10
WO1995019072A1 (en) 1995-07-13
CA2154885A1 (en) 1995-07-13

Similar Documents

Publication Publication Date Title
DE69432142T2 (de) Verfahren und vorrichtung zur effizienten transkodierung
DE69524141T2 (de) Adaptiver Bildkodierer mit dynamischer Bitzuteilung
DE69425047T2 (de) Adaptives variables längenkodierungs- und -dekodierungsverfahren für bilddaten
DE69535228T2 (de) Bildumsetzungsvorrichtung
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE69322079T2 (de) Videokoder mit zwei schichten
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69414931T2 (de) Transkodierer
DE69637335T2 (de) Bildsignalkodierungsmethode und -vorrichtung
DE69830979T2 (de) Verfahren und vorrichtung zur videocodierung mit variabler bitrate
DE69226749T2 (de) System zur Kompression von sich bewegenden Videobildern mit mehrfachen Auflösungsmerkmalen
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE69430147T2 (de) Bildkodierungsverfahren, und -vorrichtung
DE69129595T2 (de) Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen
DE4343211B4 (de) Adaptives Bildkompressionsverfahren und adaptive Bildkompressionsvorrichtung
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE69323586T2 (de) Gerät zur Schichtkodierung/-dekodierung für ein progressives Eingangsbildsignal
DE69435000T2 (de) Bildkodierungsvorrichtung
DE69227352T2 (de) Verfahren und System für die Ausführung einer hochwirksamen Bildsignalkodierung
DE69635369T2 (de) Videokodierungsvorrichtung
DE69118621T2 (de) Bildkodierungsgerät
DE69624669T2 (de) Videokodierer und -dekodierersystem und -methoden
DE69226127T2 (de) Effiziente Kodierungs- und Dekodierungsanordnungen zur Verarbeitung eines digitalen Bildsignals
DE69712836T2 (de) Vorrichtung und verfahren zur videosignalkodierung
DE10343220B3 (de) Verfahren und Vorrichtung zur Transcodierung eines Datenstroms, der ein oder mehrere codierte digitalisierte Bilder umfasst

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee