EP1800490A1 - Device and method for generating a coded video sequence while using an inter-layer movement data prediction - Google Patents

Device and method for generating a coded video sequence while using an inter-layer movement data prediction

Info

Publication number
EP1800490A1
EP1800490A1 EP05791756A EP05791756A EP1800490A1 EP 1800490 A1 EP1800490 A1 EP 1800490A1 EP 05791756 A EP05791756 A EP 05791756A EP 05791756 A EP05791756 A EP 05791756A EP 1800490 A1 EP1800490 A1 EP 1800490A1
Authority
EP
European Patent Office
Prior art keywords
motion
extension
expansion
base
images
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.)
Withdrawn
Application number
EP05791756A
Other languages
German (de)
French (fr)
Inventor
Heiko Schwarz
Detlev Marpe
Thomas Wiegand
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE102004059993A external-priority patent/DE102004059993B4/en
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to EP12180683A priority Critical patent/EP2538678A1/en
Publication of EP1800490A1 publication Critical patent/EP1800490A1/en
Withdrawn 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/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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Definitions

  • the I-slice is a slice in which all macroblocks of the slice are coded using an intra-prediction.
  • an encoder / D & encoder concept is achieved which, on the one hand, has the possibility of scalability and, on the other hand, can build on standard-compliant elements, in particular, for example, for motion compensation.
  • a basic lifting scheme on the coder side or an inverse lifting scheme on the decoder side will first be described with reference to FIG. 3. Detailed explanations of the backgrounds of the combination of lifting schemes and wavelet transformations can be found in W. Sweldens, "A cuentom design construction of biorthogonal wavelets", J. Apjpl Comp. Harm. Anal., Vol (no.2), pp.
  • the prediction step is equivalent to carrying out a high-pass filter of a two-channel filter bank, as described in I. Daiagbeies and W. Sweldens, "Factoring wavelet transforms im- lifting steps", J. Fourier Anal. Appl.vol 4 (no.3), pp. 247-269, 1998.
  • low-pass filtering is performed by replacing the even samples 5 even [ ⁇ :] with a linear combination of the prediction residuals h [k].
  • the corresponding updating operator U is given by
  • the low-pass and the high-pass analysis filters of this wavelet have 5 resp. 3 filter taps, wherein the corresponding scaling function is a B-spline of order 2.
  • this wavelet is used for a large subband coding scheme.
  • the corresponding predictive and updating operators are the same. Transformation as follows
  • MCTF motion, so it has been found that the above-described NEN ⁇ Skalierlessschemata, the compensated at the motion temporal filtering (MCTF Compensated Temporal Filtering) already provide a high degree of flexibility in terms of time scalability and SNR scalability.
  • MCTF Compensated Temporal Filtering already provide a high degree of flexibility in terms of time scalability and SNR scalability.
  • exis ⁇ cash discount is a problem in that the bit rate of several scaling layers still together significantly higher than the bit rate is the e can be achieved if pictures would be diert co ⁇ with the highest quality without scalability.
  • scalable encoders may never reach the bit rate of the non-scaled case.
  • the bit rate of a data stream with multiple scaling layers should be at least as close as possible to the bit rate of the non-scaled case.
  • the scalability concept should provide a high degree of flexibility for all types of scalability, ie a high degree of flexibility both in terms of time as well as in terms of space and in terms of SNR.
  • the basic transaction data may be used in the actual calculation of the expansion Movement Dehn, as they are subsequently used by the expansion motion compensator, are taken into account.
  • autonomous calculation of extension movement data is therefore carried out in the sense of high flexibility, whereby these extension movement data calculated independently of the base movement data are used for encoder prediction on the coder side, while the base movement data are only for Purposes of calculating a
  • the finally obtained low-pass image is associated with a particular image of the original sequence of images, and that also each high-pass image is associated with an image of the original sequence, with exactly the deviations of the original image of the sequence (a Motion compensation) from the selected basic picture of the sequence (which is fed in the lower branch of the analysis filter bank of FIG. 4). If each update parameter M O i, Mu, IM 2I and M 3 i equal
  • the current macroblock is set to INTRA_BASE, which means that it is a macroblock3 ⁇ with a prediction from the base layer.
  • INTRA_BASE which means that it is a macroblock3 ⁇ with a prediction from the base layer.
  • the same reference indices are used as for the corresponding macroblock / sub-macroblock partitionings of the base layer block.
  • the associated motion vectors are multiplied by a factor of 2. This factor applies to the situation shown in FIG. 6b, in which a base layer 1102 comprises half the area or number in pixels As the extension layer 1104. If the ratio of the spatial resolution of the base layer to the spatial resolution of the extension layer is not equal to 3_ / 2, then corresponding scaling factors are used for the motion vectors.

Abstract

During scalable video coding in conjunction with a movement compensation (1006, 1014) both in a base layer (1002) as well as in an enhancement layer, a prediction (1014, 1016) of the movement data of the enhancement layer (1004) is carried out while using the movement data of the base layer (1004) in order to obtain a scalability concept that, on the one hand, leads to a maximum flexibility for the computation of the movement data of the different layers and, on the other, permits a low bit rate.

Description

Vorrichtung und Verfahren zum Erzeugen einer codierten Vi¬ deosequenz unter Verwendung einer Zwischen-Schicht- Bewegungsdaten-Prädiktion Apparatus and method for generating a coded video sequence using an interlayer motion data prediction
Beschreibungdescription
Die vorliegende Erfindung bezieht sich auf Videocodiersys¬ teme und insbesondere auf skalierbare Videocodiersysteme, die in Verbindung mit dem Videocodierstandard H.264/AVC o- der mit neuen MPEG-Videocodiersystemen einsetzbar sind.The present invention relates to video coding systems and in particular to scalable video coding systems that can be used in conjunction with the video coding standard H.264 / AVC or with new MPEG video coding systems.
Der Standard H.264/AVC ist Ergebnis eines Videostandardi- sierungs-Projekts der ITU-T-Videocodier-Expertengruppe (VCEG) und der ISO/IEC-Bewegbild-Expertengruppe (MPEG) . Die Hauptziele dieses Standardisierungsvorhabens bestehen dar¬ in, ein übersichtliches Videocodier-Konzept mit sehr gutem Kompressionsverhalten zu schaffen, und gleichzeitig eine Netzwerk-freundliche Videodarstellung zu erzeugen, die so- wohl Anwendungen mit „Konversationscharakter", wie bei¬ spielsweise die Video-Telefonie, sowie Anwendungen ohne Konversationscharakter (Speichern, Rundfunk, Stream- Übertragung) umfassen.The H.264 / AVC standard is the result of a video standardization project by the ITU-T Video Coding Expert Group (VCEG) and the ISO / IEC Motion Picture Expert Group (MPEG). The main objectives of this standardization project are to create a clear video coding concept with very good compression behavior, and at the same time to generate a network-friendly video presentation which includes applications with a "conversation character", such as video telephony, for example. and non-conversational applications (storage, broadcasting, streaming).
Es existiert neben dem oben-zitierten Standard ISO/IECIt exists in addition to the above-cited standard ISO / IEC
14496-10 auch eine Vielzahl von Publikationen die sich auf den Standard beziehen. Lediglich beispielhaft wird auf „The Emerging H.264-AVC Standard", Ralf Schäfer, Thomas Wiegand und Heiko Schwarz, EBU Technical Review, Januar 2003, ver- wiesen. Zudem umfasst die Fachveröffentlichung „Overview of the H.264/AVC Video Coding Standard", Thomas Wiegand, Gary J. Sullivan, Gesle Bjontegaard und Ajay Lothra, IEEE Tran- sactions on Circuits and System for Video Technology, JuIy 2003, sowie die Fachveröffentlichung „Context-based adapti- ve Binary Arithmethic Coding in the H.264/AVC Video Compression Standard", Detlev Marpe, Heiko Schwarz und Tho¬ mas Wiegand, IEEE Transactions on Circuits and Systems for Video Technology, September 2003, einen detaillierten Über- blick verschiedener Aspekte des Video-Codier-Standards.14496-10 also a large number of publications that refer to the standard. By way of example only, reference will be made to "The Emerging H.264 AVC Standard", Ralf Schäfer, Thomas Wiegand and Heiko Schwarz, EBU Technical Review, January 2003. Also included is the trade publication "Overview of the H.264 / AVC Video Coding Standard ", Thomas Wiegand, Gary J. Sullivan, Gesle Bjontegaard and Ajay Lothra, IEEE Transactions on Circuits and System for Video Technology, Juicy 2003, as well as the specialist publication" Context-based Adaptive "Binary Arithmetic Coding in the H.264 / AVC Video Compression Standard", Detlev Marpe, Heiko Schwarz, and Thomas Wiegand, IEEE Transactions on Circuits and Systems for Video Technology, September 2003, provide a detailed overview of various aspects of video playback. coding standards.
Zum bessren Verständnis wird jedoch nachfolgend anhand der Figuren 9 bis 11 ein Überblick über den Videocodie- rer/Decodierer-Algorithmus gegeben.For better understanding, however, an overview of the video coder / decoder algorithm is given below with reference to FIGS. 9 to 11.
Fig. 9 zeigt einen kompletten Aufbau eines Videocodierers, welcher allgemein aus zwei unterschiedlichen Stufen be¬ steht. Allgemein gesagt, erzeugt die erste Stufe, die prin¬ zipiell Video-bezogen arbeitet, Ausgangsdaten, die schließ- lieh von einer zweiten Stufe, die in Fig. 9 mit 80 bezeich¬ net ist, einer Entropy-Codierung (Entropy Coding) unterzo¬ gen werden. Die Daten sind Daten 81a, quantisierte Trans¬ formations-Koeffizienten 81b sowie Bewegungsdaten 81c, wo¬ bei diese Daten 81a, 81b, 81c dem Entropie-Codierer 80 zu- geführt werden, um ein codiertes Videosignal am Ausgang des Entropie-Codierers 80 zu erzeugen.FIG. 9 shows a complete structure of a video coder, which generally consists of two different stages. Generally speaking, the first stage, which operates in a video-based manner in principle, generates output data which is subsequently subjected to entropy coding (entropy coding) by a second stage, which is denoted 80 in FIG. 9 be gene. The data are data 81a, quantized transformation coefficients 81b and motion data 81c, where these data 81a, 81b, 81c are supplied to the entropy coder 80 in order to generate a coded video signal at the output of the entropy coder 80 ,
Im Einzelnen wird das Eingangsvideosignal (Input Video Sig¬ nal) in Makroblöcke aufgeteilt, bzw. gesplittet, wobei je- der Makroblock 16 X 16 Pixel hat. Dann wird die Zuordnung der Makroblöcke zu Slice-Gruppen und Slices (slice = Schei¬ be) ausgewählt, wonach jeder Makroblock jedes Slices durch das Netz von Betriebsblöcken, wie sie in Fig. 8 gezeigt sind, verarbeitet wird. Es sei darauf hingewiesen, dass ei- ne effiziente Parallel-Verarbeitung von Makroblöcken mög¬ lich ist, wenn verschiedene Slices in einem Videobild sind. Die Zuordnung der Makroblöcke zu Slice-Gruppen und Slices wird mittels eines Blocks Codiersteuerung. (Coder Control) 82 in Fig. 8 durchgeführt. Es existieren verschiedene SIi- ces, die folgendermaßen definiert sind:In detail, the input video signal (input video signal) is divided into macroblocks or split, with each macroblock having 16 × 16 pixels. Then, the assignment of the macroblocks to slice groups and slices (slice) is selected, whereafter each macroblock of each slice is processed by the network of operation blocks as shown in FIG. It should be noted that an efficient parallel processing of macroblocks is possible if different slices are in one video picture. The assignment of the macroblocks to slice groups and slices is done by means of a block coding control. (Coder control) 82 performed in Fig. 8. There are several conditions defined as follows:
I-Slice: Der I-Slice ist ein Slice, in dem alle Makroblöcke des Slices unter Verwendung einer Intra-Prediction codiert werden.I-slice: The I-slice is a slice in which all macroblocks of the slice are coded using an intra-prediction.
P-Slice: Zusätzlich zu dem Codiertypen des H-Slices können bestimmte Makroblöcke des P-Slices ebenfalls unter Verwen- düng einer Inter-Prädiktion mit zumindest ej_nem Bewegungs- Kompensierten-Prädiktionssignal (Motion Compensated Predic- tion Signal) pro Prädiktionsblock codiert werden.P-slice: In addition to the coding type of the H-slice, certain macroblocks of the P-slice may also be encoded per prediction block using at least one motion-compensated prediction signal per prediction block using inter-prediction.
B-Slice: Zusätzlich zu den Codiertypen, die im P-Slice ver- fügbar sind, können bestimmte Markoblöcke des B-Slices e- benfalls unter Verwendung einer Inter-Prädik:tion mit zwei Bewegungs-Kompensierten-Prädiktionssignalen pro Prädikti¬ onsblock codiert werden.B slice: In addition to the coding types available in the P slice, certain mark blocks of the B slice may also be encoded using one prediction with two motion compensated prediction signals per predictive block ,
Die obigen drei Codiertypen sind sehr ähnlich zu denen in früheren Standards, jedoch mit der Ausnahme der Verwendung von Referenzbildern, wie es nachfolgend beschrieben wird. Die folgenden zwei Codiertypen für Slices sind im Standard H.264/AVC neu:The above three types of coding are very similar to those in previous standards, except for the use of reference pictures, as described below. The following two coding types for slices are new in the standard H.264 / AVC:
SP-Slice: Es wird auch als Schalt-P-Slice bezeichnet, der so codiert wird, dass ein effizientes Umschalten zwischen unterschiedlichen vorkodierten Bildern möglich wird.SP slice: It is also referred to as a switch P slice, which is coded to allow efficient switching between different precoded images.
SI-Slice: Der SI-Slice wird auch als Schalt—I-Slice be¬ zeichnet, der eine genaue Anpassung des Makxoblocks in ei¬ nem SP-Slice für einen direkten beliebigen Zugriff und für Fehler-Wiederherstellungszwecke erlaubt. Insgesamt sind. Slices eine Sequenz von Makroblöcken, die in der Reihenfolge eines Raster-Scans verarbeitet werden, wenn nicht eine ebenfalls im Standard definierte Eigenschaft der flexiblen Makroblock-Anordnung FMO (FMO = Flexible MacroSI slice: The SI slice is also referred to as a switching I slice, which permits exact adaptation of the macroblock in an SP slice for direct random access and for error recovery purposes. Total are. Slices a sequence of macroblocks that are processed in the order of a raster scan, unless a likewise defined in the standard property of the flexible macroblock arrangement FMO (FMO = Flexible Macro
Block Ordering-) verwendet wird. Ein Bild kann in einen oder mehrere Slices aufgeteilt werden, wie es in Fig. 11 darge¬ stellt ist. Ein Bild ist daher eine Sammlung von einem oder mehreren Slices. Slices sind in dem Sinn selbstständig von- einander, da Ihre Syntaxelemente aus dem Bitstrom analy¬ siert (geparst) werden können, wobei die Werte der Abtast¬ werte in dem Bereich des Bildes, der durch den Slice darge¬ stellt wird, kiorrekt decodiert werden können, ohne dass Da¬ ten von anderen Slices benötigt werden, vorausgesetzt, dass verwendete Refferenzbilder sowohl im Codierer als auch iiαBlock Ordering) is used. An image can be divided into one or more slices, as shown in FIG. 11. An image is therefore a collection of one or more slices. Slices are independent of one another in the sense that their syntax elements can be analyzed (parsed) from the bit stream, whereby the values of the sampled values in the region of the image represented by the slice are decoded in a highly independent manner can be obtained without requiring data from other slices, provided that reference images used in both the encoder and iiα
Decodierer identisch sind. Bestimmte Informationen von an¬ deren Slices können jedoch nötig sein, um das Deblocking- Filter über Slice-Grenzen hinweg anzuwenden.Decoders are identical. However, certain information from other slices may be needed to apply the deblocking filter across slice boundaries.
Die FMO-Eigenschaft modifiziert die Art und Weise, wie Bil¬ der in Slices und Makroblöcke partitioniert werden, indem das Konzept der Slice-Gruppen verwendet wird. Jede Slice- Gruppe ist ein Satz von Makroblöcken, die durch eine Malcro- block-zu-Slice-Gruppen-Abbildung definiert ist, die durch den Inhalt eines Bildparametersatzes und durch bestimmte Informationen von Slice-Headern spezifiziert ist. Diese Makroblock-zu—Slice-Gruppen-Abbildung besteht aus einer Slice-Gruppen—Identifikationszahl für jeden Makroblock j_n dem Bild, wobei spezifiziert wird, zu welcher Slice-Gruppe der zugeordnete Makroblock gehört. Jede Slice-Gruppe kann in eine oder mehrere Slices partitioniert werden, so dass ein Slice eine Sequenz von Makroblöcken innerhalb derselben Slice-Gruppe hat, die in der Reihenfolge einer Rasterabtas- tung innerhalb des Satzes von Makroblöcken einer speziellen Slice-Gruppe verarbeitet wird.The FMO property modifies the way in which images are partitioned into slices and macroblocks by using the concept of slice groups. Each slice group is a set of macroblocks defined by a block-to-slice-group macro mapping specified by the content of an image parameter set and by specific information of slice headers. This macroblock-to-slice group map consists of a slice group identification number for each macroblock j_n the image, specifying to which slice group the associated macroblock belongs. Each slice group can be partitioned into one or more slices so that a slice has a sequence of macroblocks within the same slice group, arranged in the order of a raster scan. within the set of macroblocks of a particular slice group.
Jeder Makroblock kann in einem von mehreren Codiertypen ab- hängig von dem Slice-Codiertyp übertragen werden. In all den Slice-Codiertypen werden die folgenden Typen einer Intra-Codierung unterstützt, die als intra_4X4 oder ixitra_ i6xi6 bezeichnet werden, wobei zusätzlich ein Chroma- Prädiktions-Modus und auch ein I-PCM Prädiktionsmodus unter- stützt werden.Each macroblock may be transmitted in one of several encoding types depending on the slice encoding type. In all the slice encoding types, the following types of intra-encoding are supported, which are called intra_ 4X4 or ixitra_ i6xi6, resulting in an additional chroma prediction mode and an I PCM prediction mode are supported.
Der intra_4χ4 Modus basiert auf der Prädiktion von jedem 4x4 Chroma-Block separat und ist gut geeignet zum Codierren von Teilen eines Bildes mit herausragenden Details. Der intra_ i6χi6 -Modus führt au.f der anderen Seite eine Prädiktdon des gesamten I6xl6-Chroina-Blocks durch und ist mehr geeignet zum Codieren von „weichen" Bereichen eines Bildes.The intra_ 4 χ 4 mode is based on the prediction of each 4x4 chroma block separately and is well suited for encoding parts of an image with outstanding detail. The intra_i6χi6 mode performs a prediction of the entire I6xl6-Chroina block on the other side and is more suitable for encoding "soft" areas of an image.
Zusätzlich zu diesen zwei Chroma-Prädiktions-Typen wird ei- ne getrennte Chroma-Prädiktion durchgeführt. Als Alternati¬ ve für intra_4x4 und intra_i6Xi6 erlaubt der I-4X4 Codiextyp, dass der Codierer einfach die Prädiktion sowie die Trans¬ formationscodierung überspringt und statt dessen die Werte de codierten Abtastwerte direkt überträgt. Der I-PCM~Modus dient den folgenden Zwecken: Er ermöglicht es dem Codierer, die Werte der Abtastwerte präzise darzustellen. ER liefert eine Art und Weise, um die Werte von sehr anormalem Bildin¬ halt ohne Datenvergrößerung genau darzustellen. Er ermög¬ licht es ferner, für die Anzahl von Bits eine harte Grenze vorzugeben, die ein. Codierer für eine Makroblockhandhabung haben muss, ohne dass die Codiereffizienz leidet. Im Gegensatz zu früheren Videocodierstandards (nämlich H.263 plus und MPEG-4 Visual), wo die In1:ra-Prädiktion im Transformationsbereich durchgeführt worden ist, wird die Intra-Prädiktion bei H.264/AVC immer im Raumbereich (Spati- al Domain) durchgeführt, und zwar indem auf benachbarte Ab¬ tastwerte von vorher codierten Blöcken bezug genommen wird, die links bzw. oberhalb des zu prädizierenden Blocks liegen (Fig. 10) . Dies kann in bestimmten Umgebungen, bei denen Übertragungsfehler auftreten, eine Fehlearfortpflanzung mit sich bringen, wobei diese Fehlerfortpflanzung aufgrund der Bewegungskompensation (Motion Compensation) in intercodier- ten Makroblöcken stattfindet. Daher kann ein begrenzter Intra-Codiermodus signalisiert werden, der eine Prädiktion nur von intra-codierten benachbarten MakxOblöcken ermög- licht.In addition to these two chroma prediction types, a separate chroma prediction is performed. As an alternative for intra_ 4x 4 and intra_i6 X i6, the I-4 X 4 codewith type allows the coder to simply skip the prediction as well as the transform coding and instead directly transmit the values of coded samples. The I- PC M ~ mode serves the following purposes: It allows the encoder to accurately represent the values of the samples. It provides a way to accurately represent the values of very abnormal image content without increasing the data. It also makes it possible to specify a hard limit for the number of bits that is required. Must have coder for a macroblock handling without the coding efficiency suffers. In contrast to earlier video coding standards (namely H.263 plus and MPEG-4 visual), where the In1: ra prediction was performed in the transformation domain, intra-prediction in H.264 / AVC always takes place in spatial domain (spatial domain ) by referring to adjacent sample values of previously coded blocks which are to the left or above the block to be predicted (FIG. 10). This can cause false propagation in certain environments where transmission errors occur, and this error propagation occurs due to motion compensation in inter-coded macroblocks. Therefore, a limited intra-coding mode can be signaled which allows prediction only of intra-coded adjacent macro blocks.
Wenn der intra-4X4-Modus verwendet wird, v^ird jeder 4x4- Block aus räumlich benachbarten Abtastwexrten vorhergesagt. Dei 16 Abtastwerte des 4x4-Blocks werden unter Verwendung von vorher decodierten Abtastwerten in benachbarten Blöcken vorhergesagt. Für jeden 4x4-Block kann einer von 9 Prädik¬ tionsmodi verwendet werden. Zusätzlich zur „DC-Prädiktion (wo ein Wert verwendet wird, um den gesamten 4x4-Block vor¬ her zu sagen) , werden 8 Richtungs-Prädikfcions-Modi spezifi- ziert. Diese Modi sind geeignet, um Richtungsstrukturen in einem Bild, wie beispielsweise Kanten be± verschiedenen Winkeln vorherzusagen.When the intra 4X4 mode is used, each 4x4 block of spatially adjacent samples is predicted. Sixteen samples of the 4x4 block are predicted using previously decoded samples in adjacent blocks. One of 9 prediction modes can be used for each 4x4 block. In addition to the DC prediction (where a value is used to predict the entire 4x4 block), 8 direction prediction modes are specified. These modes are suitable for predicting directional structures in an image, such as edges at different angles.
Zusätzlich zu den Intra-Makroblock-Codierrtypen werden ver- schiedene prädiktive oder bewegungs-kompensierte Codierty¬ pen als P-Makroblocktypen spezifiziert. Jeder P-Makroblock- Typ entspricht einer spezifischen Aufteilung des Makro¬ blocks in die Blockformen, die für eine toewegungs- kompensierte Prädiktion verwendet werden. Aufteilungen mit Luma-Blockgrössen von 16x16, 16x8, 8x8, 8x16 Abtastwerten werden durch die Syntax unterstützt. Im Falle von Auftei¬ lungen von 8x8 Abtastwerten wird ein zusätzliches Syntax- element für jede 8x8-Aufteilung übertragen. Dieses Syntax- element spezifiziert, ob die entsprechende 8x8-Aufteilung ferner in Aufteilungen von 8x4, 4x8 oder 4x4 Luma- Abtastwerten und entsprechenden Chroma-Abtastwerten weiter partitioniert wird.In addition to the intra-macroblock coding types, various predictive or motion-compensated coding types are specified as P-macroblock types. Each P-macroblock type corresponds to a specific division of the macroblock into the block shapes that are necessary for a toewegungs- compensated prediction can be used. Divisions with luma block sizes of 16x16, 16x8, 8x8, 8x16 samples are supported by the syntax. In the case of distributions of 8 × 8 samples, an additional syntax element is transmitted for every 8 × 8 division. This syntax element specifies whether the corresponding 8x8 split is further partitioned into 8x4, 4x8, or 4x4 luma sample splits and corresponding chroma samples.
Das Prädiktionssignal für jeden prädiktiv-codierten MxM- Lumablock wird erhalten, indem ein Bereich des entsprechen¬ den Referenzbildes, der durch einen Translations- Bewegungsvektor und einen Bildreferenzindex spezifiziert ist, verschoben wird. Wenn somit ein Makroblock unter: Ver¬ wendung von vier 8x8-Aufteilungen codiert wird, und wenn jede 8x8-Aufteilung ferner in vier 4x4-Aufteilungen aufge¬ teilt wird, kann eine maximale Menge an 16 Bewegungsvekto¬ ren für einen einzigen P-Makroblock im Rahmen des sogjenann- ten Bewegungsfelds bzw. Motion Field übertragen werden.The prediction signal for each predictive-coded MxM luma block is obtained by shifting a region of the corresponding reference image specified by a translation motion vector and an image reference index. Thus, if a macroblock is coded using four 8x8 divisions, and each 8x8 division is further divided into four 4x4 divisions, a maximum amount of 16 motion vectors for a single P-macroblock in the Frame of the so-called motion field or motion field.
Der Quantisierungsparameter-Slice QP wird verwendet, um dieThe quantization parameter slice QP is used to calculate the
Quantisierung der Transformationskoeffizienten beiQuantization of the transformation coefficients
H.264/AVC festzulegen. Der Parameter kann 52 Werte aπtneh- men. Diese Werte sind so angeordnet, dass eine Zunahme von 1 im Hinblick auf den Quantisierungsparameter eine Errhöhung der Quantisierung schrittweise um etwa 12 % bedeutet. Dies bedeutet, dass eine Erhöhung des Quantisierungsparameters um 6 eine Zunahme der Quantisierer-Schrittweite um genau einen Faktor von 2 mit sich bringt. Es sei darauf hingewie¬ sen, dass eine Änderung der Schrittgröße um etwa 12 % eben¬ falls in etwa eine Reduktion der Bitrate um etwa 12 % be¬ deutet. Die quantisierten Transformationskoeffizienten eines Blocks werden allgemein in einem Zick-Zack-Weg abgetastet und un¬ ter Verwendung von Entropie-Codierverfahren weiter verar- beitet. Die 2x2-DC-Koeffizienten der Chroma-Komponente wer¬ den in Raster-Scan-Reihenfolge abgetastet und alle Invers- Transformations-Operationen innerhalb H.264/AVC können un¬ ter Verwendung von nur Additionen und Shift-Operationen von 16-Bit-Ganzzahlwerten implementiert werden.H.264 / AVC. The parameter can take 52 values. These values are arranged so that an increase of 1 with respect to the quantization parameter means an increment of the quantization stepwise by about 12%. This means that an increase of the quantization parameter by 6 results in an increase of the quantizer step size by exactly a factor of 2. It should sen hingewie¬ that a change in the step size likewise by about 12% if in about a reduction of the bit rate of about 12% indicates be ¬. The quantized transform coefficients of a block are generally sampled in a zigzag path and further processed using entropy coding methods. The 2x2 DC coefficients of the chroma component are sampled in raster-scan order, and all inverse transform operations within H.264 / AVC can be performed using only 16-bit addition and shift operations. Integer values are implemented.
Bezugnehmend auf Fig. 9 wird das Eingangssignal zunächst Bild für Bild in einer Videosequenz, jeweils für jedes Bild gesehen, in die Makroblöcke mit 16x16 Pixeln aufteilt. Hierauf wird jedes Bild einem Subtrahierer 84 zugeführt, der das ursprüngliche Bild subtrahiert, das von einem Deco- dierer 85 geliefert wird. Der im Encodierer enthalten ist. Das Subtraktionsergebnis, also die Restsignale im Raum- Bereich (Spatial Domain) , werden nunmehr transformiert, skaliert und quantisiert (Block 86) , um die quantisierten Transformationskoeffizienten auf der Leitung 81b zu erhal¬ ten. Zur Erzeugung des Subtraktionssignals, das in den Sub¬ trahierer 874 eingespeist wird, werden die quantisierten Transformationskoeffizienten zunächst wieder skaliert und invers transformiert (Block 87), um einem Addierer 88 zuge- führt zu werden, dessen Ausgang das Deblocking-Filter 89 speist, wobei am Ausgang des Deblocking-Filters das Aus¬ gangsvideosignal, wie es z.B. ein Decodierer decodieren wird, z.B. zu Kontrollzwecken überwacht werden kann (Aus¬ gang 90) .Referring to Fig. 9, the input signal is first divided frame by frame in a video sequence, each time for each frame, into which 16x16 pixel macroblocks are divided. Thereafter, each image is applied to a subtractor 84 which subtracts the original image provided by a decoder 85. Which is included in the encoder. The subtraction result, that is to say the residual signals in the spatial domain, are now transformed, scaled and quantized (block 86) in order to obtain the quantized transformation coefficients on the line 81b. In order to generate the subtraction signal which is transmitted to the sub¬ Tractor 874 is fed, the quantized transform coefficients are first rescaled and inverse transformed (block 87) to be fed to an adder 88 whose output feeds the deblocking filter 89, wherein at the output of the deblocking filter Aus¬ the output video signal as it eg a decoder will decode, e.g. can be monitored for control purposes (output 90).
Unter Verwendung des decodierten Ausgangssignals am Ausgang 90 wird dann eine Bewegungsschätzung (Motion Estimation) in einem Block 91 durchgeführt. Zur Bewegung.sSchätzung in Block 91 wird, wie es aus Fig. 9 ersichtlich ist, ein Bild des ursprünglichen Input-Videosignals zugeführt. Der Stan¬ dard erlaubt zwei verschiedene Bewegungsschätzungen, näm¬ lich eine Vorwärts-Bewegungs-Schätzung und eine Rückwärts- Bewegungs-Schätzung. Bei der Vorwärts-Bewegungs-Schätzung wird die Bewegung des aktuellen Bilds im Hinblick^ auf das vorhergehende Bild abgeschätzt. Dagegen wird bei der Rück- wärts-Bewegungs-Schätzung die Bewegung des aktuellen Bilds unter Verwendung eines zukünftigen Bilds abgeschätzt. Die Ergebnisse der Bewegungsschätzung (Block 91) werden einemUsing the decoded output signal at the output 90, a motion estimation is then performed in a block 91. To exercise . Appreciation in Block 91, as can be seen in FIG. 9, is supplied with an image of the original input video signal. The standard allows two different motion estimates, namely a forward motion estimate and a backward motion estimate. In the forward motion estimation the motion of the current picture in terms ^ is estimated on the previous image. On the other hand, in the backward motion estimation, the motion of the current picture is estimated using a future picture. The results of the motion estimation (block 91) become one
Bewegungskompensations-Block (Motion Compensstion) 92 zuge¬ führt, der insbesondere dann, wenn ein Schalster 93 auf den Inter-Prädiktions-Modus geschaltet ist, wie es in Fig. 9 der Fall ist, eine bewegungs-kompensierte Inizer-Prädiktion durchgeführt. Steht der Schalter 93 dagegen auf Intra¬ Frame-Prädiktion, so wird eine Intra-Frame-Pxädiktion unter Verwendung eines Blocks 490 durchgeführt. Hierzu werden die Bewegungsdaten nicht benötigt, da für eine Ixitra-Frame- Prädiktion keine Bewegungskompensation ausgeführt wird.Motion compensation block (Motion Compensstion) 92 zuge¬ leads, in particular, when a scarf is s ter 93, on the inter-prediction mode, as a motion-compensated Inizer prediction performed in Fig. 9, the case is , On the other hand, if the switch 93 is set to intra-frame prediction, an intra-frame prediction is performed using a block 490. For this, the motion data is not needed, since no motion compensation is performed for an Ixitra frame prediction.
Der Bewegungsschätzungsblock 91 erzeugt Bewegungsdaten bzw. Bewegungsfelder, wobei Bewegungsdaten bzw. Bewegungsfelder, die aus Bewegungsvektoren (Motion Vectors) bestehen, zum Decodierer übertragen werden, damit eine entsprechende in- verse Prädiktion, also Rekonstruktion unter Verwendung der Transformationskoeffizienten und der Bewegungsdaten durch¬ geführt werden kann. Es sei darauf hingewiesen, dass im Falle einer Vorwärts-Prädiktion der Bewegungsvektor aus dem unmittelbar vorhergehenden Bild bzw. auch aas mehreren vor- hergehenden Bildern berechnet werden kann. Darüber hinaus sei darauf hingewiesen, dass im Falle einer Rückwärts- Prädiktion ein aktuelles Bild unter Verwendung des unmit¬ telbar angrenzenden zukünftigen Bildes und aatürlich auch unter Verwendung von weiteren zukünftigen Bilderrn berechnet werden kann.The motion estimation block 91 generates motion data or motion fields, wherein motion data or motion fields, which consist of motion vectors, are transmitted to the decoder, so that a corresponding inverse prediction, ie reconstruction using the transformation coefficients and the motion data, is performed can. It should be noted that in the case of a forward prediction, the motion vector can be calculated from the immediately preceding picture or also from several preceding pictures. In addition, it should be noted that in case of backward prediction a current picture using the UNMIT ¬ telbar adjacent future image and also aatürlich can be calculated using other future images.
Nachteilig an dem in Fig. 9 dargestellten Videoctodierer- 5 Konzept ist dass es keine einfache Skalierbarkeitsmöglich- keit bietet. Wie es in der Technik bekannt ist, versteht man unter dem Ausdruck „Skalierbarkeit" ein Codle- rer/Decodier-Konzept, bei dem der Codierer einen, skalierten Datenstrom liefert. Der skalierte Datenstrom umfasst eine 0 Basis-Skalierungsschicht sowie eine oder mehrere Erweite- rungs-Skalierungsschichten. Die Basis-Skalieruncjsschicht umfasst eine Darstellung des zu codierenden Signals allge¬ mein gesagt mit geringerer Qualität, jedoch auch, mit gerin¬ gerer Datenrate. Die Erweiterungs-Skalierungsschicht ent- 5 hält eine weitere Darstellung des Videosignals, die typi¬ scherweise zusammen mit der Darstellung des Videosignals in der Basis-Skalierungsschicht eine Darstellung mit verbes¬ serter Qualität im Hinblick auf die Basis- Skalierungsschicht liefert. Dagegen hat die Erweiterungs- O Skalierungsschicht selbstverständlich einen eigenen Bitbe¬ darf, so dass die Anzahl der Bits zur Darstellung des zu codierenden Signals mit jeder Erweiterungsschicht zunimmt.A disadvantage of the video-coder concept shown in FIG. 9 is that it does not offer a simple scalability option. As known in the art, the term "scalability" refers to a coder / decoder concept in which the coder provides a scaled data stream. The scaled data stream includes a 0 base scaling layer and one or more extensions. The basic scaling layer comprises a representation of the signal to be coded generally with lower quality, but also with a lower data rate The expansion scaling layer contains a further representation of the video signal, which is typically The enhancement O scaling layer, of course, has its own bit allowance, so that the number of bits used to represent the basic scaling layer provides a representation with improved quality with respect to the base scaling layer signal to be coded increases with each enhancement layer.
Ein Decodierer wird je nach Ausgestaltung bzw. nach Mög- 5 lichkeit entweder nur die Basis-Skalierungsschicht decodie¬ ren, um eine vergleichsweise qualitativ schlechte Darstel¬ lung des durch das codierte Signal dargestellten Bildssig¬ nals zu liefern. Mit jeder „Hinzunahme" einer weiteren Ska¬ lierungsschicht kann der Decodierer jedoch schrittweise die O Qualität des Signals (zu Lasten der Bitrate) verbessern.A decoder, depending on the configuration or, as far as possible, either decodes only the basic scaling layer in order to provide a comparatively poor representation of the image signal represented by the coded signal. However, with each "addition" of another skating layer, the decoder can gradually improve the O quality of the signal (at the expense of the bit rate).
Je nach Implementierung und nach Übertragungskanal von ei¬ nem Codierer zu einem Decodierer wird imm,er wenigstens die Basis-Skaliezrungsschicht übertragen , da die Bitrate der Ba- sis-Skalierurαgsschicht typischerweise so gering ist , dass auch ein bisher begrenzter Übertragumgskanal ausreichend sein wird. Erlaubt der Übertragungs k_anal nicht mehr Band- breite für d±e Anwendung, so wird nur: die Basis- Skalierungsschicht , nicht aber eine Erweiterungs- Skalierungsschicht übertragen . Dies hat zur Folge , dass der Decodierer lediglich eine niederqualJLtative Darstellung des Bildsignals erzeugen kann . Im Vergleich zum unskalierten Fall, bei dem die Datenrate so hoch gewesen wäre, dass eine Übertragung das Übertragungssystem überhaupt nicht möglich gewesen wäre , ist die niederqualitatiLve Darstellung von Vorteil . Erlaubt der Übertragungskana.1 die Übertragung von einer oder mehrerer Erweiterungsschichten, so wird der Co- dierer auch eine oder mehrere Erweiterungsschichten zum De¬ codierer übertragen, so dass dieser j e nach Anforderung schrittweise die Qualität des ausgegebenen Videosignals er¬ höhen kann.Depending on the implementation and the transmission channel from an encoder to a decoder, it will at least be the Base scaling layer, since the bit rate of the base scaling layer is typically so low that even a previously limited carry surround channel will suffice. If the transmission k_anal no longer allows bandwidth for the application, then only: the base scaling layer is transmitted, but not an extension scaling layer. As a result, the decoder can only produce a low-quality representation of the image signal. Compared to the unscaled case, where the data rate would have been so high that a transmission would not have been possible at all, the low-quality representation is an advantage. If the transmission channel 1 permits the transmission of one or more extension layers, then the coder also transmits one or more extension layers to the decoder, so that the latter can gradually increase the quality of the output video signal as required.
Im Hinblick auf die Codierung von Videoseguenzen kann man zwei unterschiedliche Skalierungen unterscheiden . Die eine Skalierung ist die zeitliche Skalierung, dahingehend, dass z . B . nicht alle Video-Einzelbilder ei_ner Videosequenz über¬ tragen werden, sondern dass- zur Redmzierung der Datenrate - beispielsweise nur j edes zweite BiLd, j edes dritte Bild, j edes vierte Bild, etc . übertragen wi_rd .With regard to the encoding of video sequences, two different scales can be distinguished. The one scaling is the temporal scaling, to the effect that z. B. not all video frames of a video sequence are transmitted, but that for the reduction of the data rate - for example only every second picture, every third picture, every fourth picture, etc. transmitted wi_rd.
Die andere Skalierung ist die SNR-Skalierbarkeit ( SNR = Signal to Noise Ratio) , bei der j ede Skalierungsschicht , also sowohl die Basis-SkalierungsschL cht als auch die ers¬ te, zweite, dritte . . . Erweiterungs-Skzalierungsschicht sämt¬ liche zeitlichen Information umfasst, j edoch mit einer un¬ terschiedlichen Qualität . So hätte di e Basis- Skalierungsschicht zwar eine niedrige Datenrate, jedoch ein geringes Signal/Rausch-Verhältnis, wobei dieses Sig- nal/Rausch-Verhältnis dann, mit Hinzunahme j eweils einer Erweiterungs-Skalierungsschicht schrittweise verbessert werden kann.The other scaling is the SNR scalability (SNR = Signal to Noise Ratio), in which each scaling layer, ie both the base scaling threshold and the first, second, third. , , Extension Skzalierungsschicht all temporal information includes, however, with a un¬ different quality. So that would have been the basic Although the scaling layer has a low data rate, it has a low signal-to-noise ratio, and this signal-to-noise ratio can then be progressively improved with the addition of an extension scaling layer in each case.
Das in Fig. 9 dargestellte Codierer-Konzept ist dahingehend problematisch, dass es darauf basiert, dass lediglich Rest¬ werte durch den Subtrahierer 84 erzeugt werden, und dann weiter verarbeitet werden. Diese Restwerte werden aufgrund von Prädiktionsalgorithmen berechnet, und zwar in der in Fig. 9 gezeigten Anordnung, die unter Verwendung der Blöcke 86, 87, 88, 89, 93, 94 und 84 eine geschlossene Schleife bildet, wobei in der geschlossenen Schleife ein Quantisie- rungs-Parameter eingeht, und zwar in den Blöcken 86, 87.The coder concept illustrated in FIG. 9 is problematic in that it is based on the fact that only residual values are generated by the subtractor 84, and then further processed. These residual values are calculated on the basis of prediction algorithms, in the arrangement shown in FIG. 9, which forms a closed loop using blocks 86, 87, 88, 89, 93, 94, and 84, with a quantization in the closed loop. received in blocks 86, 87.
Würde nunmehr eine einfache SNR-Skalierbarkeit dahingehend implementiert werden, dass z.B. jedes prädiz;ierte Restsig¬ nal zunächst mit einer groben Quantisierer-Schrittweite quantisiert wird, und dann, schrittweise, urxter Verwendung von Erweiterungsschichten mit feineren Quantisierungs- Schrittweiten quantisiert werden würde, so würde dies fol¬ gende Konsequenzen haben. Aufgrund der inversen Quantisie¬ rung und der Prädiktion insbesondere im Hinblick auf die Bewegungsschätzung (Block 91) und die Bewegixngskompensation (Block 92) , die unter Verwendung des ursprünglichen Bildes einerseits und des quantisierten Bildes andererseits statt¬ finden, ergibt sich ein „Auseinanderlaufen1" der Quantisie¬ rungs-Schrittweiten" sowohl im Encodierer als auch im Deco- dierer. Dies führt dazu, dass die Erzeugung der Erweite- rungs-Skalierungsschichten auf Encoder-Seite sehr problema¬ tisch wird. Ferner wird die Verarbeitung der: Erweiterungs- Skalierungsschichten auf der Decodiererseite zumindest im Hinblick auf die im Standard H.264/AVC definierten Elemente unmöglich.. Grund hierfür ist die anhand von Fig. 9 darge¬ stellte geschlossene Schleife im Video-Encodierer, in der die Quantisierung enthalten ist.If a simple SNR scalability were now implemented in such a way that, for example, each predicted residual signal would first be quantized with a coarse quantizer step size, and then quantized step by step using extension layers with finer quantization step sizes have the following consequences. Due to the inverse quantization and the prediction, in particular with regard to the motion estimation (block 91) and the motion compensation (block 92), which take place using the original image on the one hand and the quantized image on the other hand, a "divergence 1 " results. the quantization increments "both in the encoder and in the decoder. As a result, the generation of the extension scaling layers on the encoder side becomes very problematic. Further, the processing of the: expansion scale layers on the decoder side is at least with respect to the elements defined in the H.264 / AVC standard impossible. The reason for this is the closed loop shown in FIG. 9 in the video encoder in which the quantization is contained.
Im Standardisierungsdokument JVT-I 032 tl mit dem TitelIn the standardization document JVT-I 032 tl titled
„SNR-Scalable Extension of H.264/AVC, Heiko Schwarz, Detlev Marpe und Thomas Wiegand, vorgestellt beim neunten JVT- Meeting vom 2. bis zum 5. Dezember 2003 in San Diego wird eine skaLierbare Erweiterung zu H.264/AVC vorgestellt, die eine Skalierbarkeit sowohl hinsichtlich der Zeit als auch des Signal/Rausch-Verhältnisses (bei gleicher oder unter¬ schiedlicher Zeitgenauigkeit) umfasst. Hierzu wird, eine Lifting-Darstellung zeitlicher Subbandzerlegungen einge¬ führt, d-Le die Verwendung bekannter Verfahren zur Bewe- gungs-koiαpensierten Prädiktion erlaubt."SNR-Scalable Extension of H.264 / AVC, Heiko Schwarz, Detlev Marpe and Thomas Wiegand, presented at the ninth JVT meeting from 2nd to 5th December 2003 in San Diego, introduces a scalable extension to H.264 / AVC , which includes a scalability both in terms of time and the signal / noise ratio (with the same or unter¬ different time accuracy). For this purpose, a lifting representation of temporal subband decompositions is introduced, which allows the use of known methods for motion-matched prediction.
Wavelet-b>asierte Videocodier-Algorithmen, bei denen Lif- ting-Implementierungen für die Wavelet-Analyse und für die Wavelet-Synthese eingesetzt werden, sind in J.-R. Ohm, „Complexlty and delay analysis of MCTF interframe "wavelet structures", ISO/IECJTC1/WG11 Doc.M8520, JuIy 2002 , be¬ schrieben. Anmerkungen zur Skalierbarkeit finden s ich auch in D. Taiibman, „Successive refinement of video: fundamental issues, past efforts and new directions", Proc. of SPIE (VCIP'03) , vol. 5150, pp. 649-663, 2003, wobei hierfür je¬ doch erhebliche Änderungen an Codiererstrukturen aötig sind. Erfindungsgemäß wird dagegen ein Codierer/D&codierer- Konzept erreicht, das einerseits die Skalierbarkeitsmög- lichkeit hat und das andererseits auf standardkonformen E- lementen, insbesondere z.B. für die Bewegungskompensation, aufbauen kann. Bevor detailliert auf einen Encoder/Docoder-Aufbau anhand von Fig. 3 eingegangen wird, sei zunächst anhand von Fig. 4 ein grundsätzliches Lifting-Schema auf Seiten des Codierers bzw. ein Invers-Lifting-Schema auf Seiten des Decodierers dargestellt. Detaillierte Ausführungen zu den Hintergründen der Kombination von Lifting-Schemen und Wavelet- Transformationen finden sich in W. Sweldens, „A cu≤tom de- sign construction of biorthogonal wavelets", J. Apjpl. Comp. Harm. Anal., vol. 3 (no. 2), pp. 186-200, 1996 und I. Daubechies und W. Sweldens, „Factoring wavelet transforms into lifting Steps", J. Fourier Anal. Appl. , vol. A (no.3), pp. 247-269, 1998. Im allgemeinen besteht das Liftring- Schema aus drei Schritten, dem Polyphasen- Zerlegungsschxitt, dem Prädiktions-Schritt und dem Update- Schritt (Aktualisierungs-Schritt) .Wavelet-based video coding algorithms using rendering implementations for wavelet analysis and wavelet synthesis are described in J.-R. Ohm, "Complexity and delay analysis of MCTF interframe" wavelet structures ", ISO / IECJTC1 / WG11 Doc.M8520, Juicy 2002, be¬ written. Comments on scalability can also be found in D. Taiibman, "Successful refinement of video: fundamental issues, past efforts and new directions", Proc. Of SPIE (VCIP'03), vol. 5150, pp. 649-663, 2003, However, according to the invention, an encoder / D & encoder concept is achieved which, on the one hand, has the possibility of scalability and, on the other hand, can build on standard-compliant elements, in particular, for example, for motion compensation. Before discussing an encoder / docoder setup in detail with reference to FIG. 3, a basic lifting scheme on the coder side or an inverse lifting scheme on the decoder side will first be described with reference to FIG. Detailed explanations of the backgrounds of the combination of lifting schemes and wavelet transformations can be found in W. Sweldens, "A cuentom design construction of biorthogonal wavelets", J. Apjpl Comp. Harm. Anal., Vol (no.2), pp. 186-200, 1996 and I. Daubechies and W. Sweldens, "Factoring wavelet transforms into lifting steps", J. Fourier Anal. Appl. , vol. A (no.3), pp. 247-269, 1998. In general, the liftering scheme consists of three steps, the polyphase decomposition step, the prediction step, and the update step (update step).
Der Zerlegungs-Schritt umfasst eine Aufteilung des ein- gangsseitigen Datenstroms in eine identische erste Kopie für einen unteren Zweig 40a sowie eine identische Kopie für einen oberen Zweig 40b. Ferner wird die identische Kopie des oberen Zweigs 40b um eine Zeitstufe (z"1) verzögert, so dass ein Abtastwert S2k+i mit einem ungeradzahligen Index k zum gleichen Zeitpunkt wie ein Abtastwert mit einem geraden Index s2k durch einen jeweiligen Dezimierer bzw. Dovm- sampler 42a, 42b läuft. Der Dezimierer 42a bzw. 42b.) redu¬ ziert die Anzahl der Samples im oberen bzw. im unteren Zweig 40b, 40s durch Eliminieren jedes jeweils zwezLten Ab¬ tastwerts.The decomposition step comprises a division of the input-side data stream into an identical first copy for a lower branch 40a and an identical copy for an upper branch 40b. Further, the identical copy of the upper branch 40b is delayed by one time step (z "1 ) such that a sample S 2k + i having an odd index k at the same time as a sample having a even index s 2k by a respective decimator or dovm The decimator 42a or 42b.) reduces the number of samples in the upper and in the lower branch 40b, 40s by eliminating each respective second value of the sampled value.
Der zweite Bereich II, der sich auf den Prädiktion—Schritt bezieht, umfasst einen Prädiktionsoperator 43 sowie einen Subtrahierer 44. Der dritte Bereich, also der Aktualisie- rungs-Schritt umfasst einen Aktualisierungs-Operator 45 so- wie einen Addierer 46. Ausgangsseitig existieren noch zwei Normierer 47, 48, zum Normieren des Hochpass-Signals hk (Normierer 47) und zum Normieren des Tiefpass-Signals Ik durch den Normierer 48.The second area II, which relates to the prediction step, comprises a prediction operator 43 and a subtracter 44. The third area, that is to say the updating step, comprises an updating operator 45. as an adder 46. On the output side, there are still two normalizers 47, 48 for normalizing the high-pass signal h k (normalizer 47) and for normalizing the low-pass signal I k by the normalizer 48.
Im einzelnen führt die Polyphasenzerlegung dazu, dass die geradzahligen und ungeradzahligen Abtastwerte einen gegebe¬ nen Signals s[k] getrennt werden. Da die KorrelationsstruR- tur typischerweise eine Lokalcharakteristik zeigt, sind die geraden und ungeraden Polyphasenkomponenten hochkorrelierrt. Daher wird in einem anschließenden Schritt eine Prädiktion (P) der ungeraden Abtastwerte unter Verwendung der geraden Abtastwerte durchgeführt. Der entsprechende Prädiktions- Operator (P) für jeden ungeraden Abtastwert ist eine lineare Kombination der benachbarten geraden Ab— tastwerte d.h.Specifically, the polyphase decomposition results in the even and odd samples being separated by a given signal s [k]. Since the correlation structure typically exhibits a local characteristic, the even and odd polyphase components are highly correlated. Therefore, in a subsequent step, a prediction (P) of the odd samples is performed using the even samples. The corresponding prediction operator (P) for each odd sample is a linear combination of the adjacent even samples ie
Als Ergebnis des Prädiktions-Schritts werden die ungerad— zahligen Abtastwerte durch ihre entsprechenden Prädiktions- RestwerteAs a result of the prediction step, the odd-numbered samples become their corresponding prediction residual values
ersetzt. Es sei darauf hingewiesen, dass der Prädikti¬ onsschritt äguivalent zum Durchführen eines Hochpass- Filters einer Zwei-Kanal-Filterbank ist, wie es in I. Daiα- bechies und W. Sweldens, „Factoring wavelet transforms imto lifting steps", J. Fourier Anal. Appl. vol 4 (no.3), pp. 247-269, 1998 dargelegt ist. Im dritten Schritt des Lifting-Schemas wird eine Tiefpass- Filterung durchgeführt, indem die geraden Abtastwerte 5even[Ä:] durch eine lineare Kombination der Prädiktions—Restwerte h[k] ersetzt werden. Der entsprechende Aktualis ierungs- Operator U ist gegeben durchreplaced. It should be pointed out that the prediction step is equivalent to carrying out a high-pass filter of a two-channel filter bank, as described in I. Daiagbeies and W. Sweldens, "Factoring wavelet transforms im- lifting steps", J. Fourier Anal. Appl.vol 4 (no.3), pp. 247-269, 1998. In the third step of the lifting scheme, low-pass filtering is performed by replacing the even samples 5 even [λ:] with a linear combination of the prediction residuals h [k]. The corresponding updating operator U is given by
Durch Ersetzen der geraden Abtastwerte mitBy replacing the even samples with
kann das gegebene Signal s[k] schließlich durch l(k) und h(k) dargestellt werden, wobei jedes Signal jedoch die hal- be Abtastrate hat. Da sowohl der Aktualisierunςjs-Schritt als auch der Prädiktions-Schritt vollständig invertierbar sind, kann die entsprechende Transformation als kritisch abgetastete Perfekt-Rekonstruktions-Filterbank interpre¬ tiert werden. In der Tat kann gezeigt werden, dass jegliche biorthogonale Familie von Wavelet-Filtern durch eine Se¬ quenz von einem oder mehreren Prädiktions-Schr±tten und ei¬ nem oder mehreren Aktualisierungs-Schritten realisiert wer¬ den kann. Für eine Normierung der Tiefpaß- und Hochpass- Komponenten werden, wie es ausgeführt worden ist, die Nor- mierer 47 und 48 mit geeignet gewählten Skalieαcungsfaktoren Fi und Fh versorgt.Finally, the given signal s [k] can be represented by l (k) and h (k), but each signal has the half sample rate. Since both the updating step and the prediction step are completely invertible, the corresponding transformation can be interpreted as a critically sampled perfect reconstruction filter bank. In fact, it can be shown that any biorthogonal family of wavelet filters can be realized by a sequence of one or more prediction cycles and one or more update steps. Which are standards as has been carried out for a normalization of the low-pass and high-pass components, supplied minimizer 47 and 48, with suitably chosen Skalieαcungsfaktoren Fi and F h.
Das Invers-Lifting-Schema, das der Synthese-FilLterbank ent¬ spricht, ist in Fig. 4, auf der rechten Seite, gezeigt. Es besteht einfach aus der Anwendung des Prädiktions- und Ak¬ tualisierungs-Operators in umgekehrter Reihenfolge und mit umgekehrten Vorzeichen, gefolgt von der Rekonstruktion un- ter Verwendung der geraden und ungeraden Polyphasenkompo- nenten. Im einzelnen umfasst der in Fig. 4 rechte gezeigte Decodierer somit wieder einen ersten Decodiererbereich I, einen zweiten Decodiererbereich II sowie einen dritten De- codiererbereich III. Der erste Decodiererbereich macht die Wirkung des Aktualisierungs-Operators 45 rückgängig. Dies geschieht dadurch, dass das durch einen weiteren Normierer 50 zurück-normierte Hochpass-Signal dem Aktualisierungs- Operator 45 zugeführt wird. Das Ausgangssignal des deco- dierseitigen Aktualisierungs-Operators 45 wird dann nun, im Gegensatz zum Addierer 46 in Fig. 4, einem Subtrahierer 52 zugeführt. Entsprechend wird mit dem Ausgangssignal des Prädiktors 43 vorgegangen, dessen Ausgangssignal nunmehr nicht, wie auf Codiererseite einem Subtrahierer zugeführt wird, sondern dessen Ausgangssignal nunmehr einem Addiererr 53 zugeführt wird. Nunmehr findet ein Upsampling des Sig¬ nals in jedem Zweig um den Faktor 2 statt (Blöcke 54a, 54b) . Hierauf wird der obere Zweig um einen Abtastwert in die Zukunft geschoben, was äquivalent zum Verzögern des UΓL- teren Zweigs ist, um dann eine Addition der Datenströme aixf dem oberen Zweig und dem unteren Zweig in einem Addierer 55 durchzuführen, um das rekonstruierte Signal sk am Ausgang der Synthese-Filterbank zu erhalten.The inverse-lifting scheme, which corresponds to the synthesis filter bank, is shown in FIG. 4, on the right-hand side. It simply consists of applying the prediction and update operator in reverse order and with opposite signs, followed by the reconstruction using the even and odd polyphase components. In detail, the decoder shown on the right in FIG. 4 thus again comprises a first decoder area I, a second decoder area II and a third decoder area III. The first decoder area undoes the effect of the update operator 45. This happens because the high-pass signal back normalized by a further normalizer 50 is supplied to the update operator 45. The output signal of the decoder-side update operator 45 is then fed to a subtractor 52, in contrast to the adder 46 in FIG. Accordingly, the procedure proceeds with the output signal of the predictor 43, the output signal of which is now not fed to a subtracter, as on the coder side, but whose output signal is now fed to an adder 53. Now an upsampling of the signal takes place in each branch by a factor of 2 (blocks 54a, 54b). Then, the upper branch is shifted one sample ahead, which is equivalent to delaying the lower branch, and then performing an addition of the aixf upper and lower branch data streams in an adder 55 to obtain the reconstructed s k signal to get at the output of the synthesis filter bank.
Durch den Prädiktor 43 bzw. den Aktualisierer 45 können verschiedene Wavelets implementiert werden. Falls das soge¬ nannte Haar-Wavelet implementiert werden soll, sind der Prädiktions-Operator und der Aktualisierungs-Operator durch folgende Gleichung gegebenBy means of the predictor 43 or the updater 45, different wavelets can be implemented. If the so-called Haar wavelet is to be implemented, the prediction operator and the update operator are given by the following equation
derart, dass i(5[2Ä:]-f- j[2Ä + l])such that i (5 [2Ä:] - f- j [2Ä + l])
dem nicht-normierten Hochpaß- bzw . Tiefp aß- (Analyse- ) Aus¬ gangssignal des Haar-Filters entsprechen. .the non-normalized high-pass or Deep pess (analysis) Aus¬ output signal of the hair filter correspond. ,
Im Falle des 5/3-Biorthogonal-Spline-Wavelets haben das Tiefpaß- und das Hochpaß-Analyse-Filter dieses Wavelets 5 bzw . 3 Filtertaps , wobei die entsprechende Skalierungsfunk¬ tion ein B-Spline der Ordnung 2 ist . In Codieranwendungen für nicht-bewegte Bilder ( Still-Images , "wie beispielsweise JPEG 2000 ) wird dieses Wavelet für ein z eitliches Subband- Codierschema verwendet . In einer Lifting -Umgebung sind die entsprechenden Prädiktions- und Aktualis ierungs-Operatoren der 5/3-Transformation folgendermaßen ge gebenIn the case of the 5/3 biorthogonal spline wavelet, the low-pass and the high-pass analysis filters of this wavelet have 5 resp. 3 filter taps, wherein the corresponding scaling function is a B-spline of order 2. In non-moving image coding applications (still images, such as JPEG 2000), this wavelet is used for a large subband coding scheme. In a lifting environment, the corresponding predictive and updating operators are the same. Transformation as follows
Fig. 3 zeigt ein Blockschaltbild einer Codierer/Decodierer- Struktur mit beispielhaften vier Filterebenen sowohl auf Seiten des Codierers als auch auf Seiten des Decodierers. Aus Fig. 3 ist zu ersehen, dass die erste Filterebene, die zweite Filterebene, die dritte Filterebene und die vierte Filterebene bezogen auf den Codierer identisch sind. Die Filterebenen bezogen auf den Decodierer sind ebenfalls i- dentisch. Auf Codiererseite umfasst jede Filterebene als zentrale Elemente einen Rückwärts-Prädilctor Mi0 sowie einen Vorwärts-Prädiktor Mn 61. Der Rückwärts—Prädiktor 60 ent- spricht prinzipiell dem Prädiktor 43 von. Fig. 4, während der Vorwärts-Prädiktor 61 dem Aktualisiexer von Fig. 4 ent¬ spricht. Im Unterschied zu Fig. 4 sei darauf hingewiesen,- dass sich Fig. 4 auf einen Strom von Abtastwerten beziehtr bei denen ein Abtastwert einen ungeradzahligen Index 2k+l hat, wäh- rend ein anderer Abtastwert einen geradzahligen Index 2k hat. Die Notation in Fig. 3 bezieht sich jedochΛ wie es be¬ reits anhand von Fig. 1 dargelegt worden ist, auf eine Gruppe von Bildern anstatt auf eine Gruppe von Abtastwer¬ ten. Hat ein Bild beispielsweise eine Anzahl von Abtastwer- ten bzw. Pixeln, so wird dieses Bild insgesamt eingespeist. Dann wird das nächste Bild eingespeist etc. Es existieren somit nicht mehr ungeradzahlige und geradzahlige Abtastwer¬ te, sondern ungeradzahlige und geradzahlige Bilder. Erfin¬ dungsgemäß wird das für ungeradzahlige und geradzahlige Ab- tastwerte beschriebene Lifting-Schema auf ungeradzahlige bzw. geradzahlige Bilder, von denen jedes eine Vielzahl von Abtastwerten hat, angewendet. Aus dem abtastwert-weisen Prädiktor 43 von Fig. 4 wird nunmehr die Rückwärrts- Bewegungskompensations-Prädiktion 60, während aiαs dem ab- tastwert-weisen Aktualisierer 45 die Bildweise Vorwärts- Bewegungskompensations-Prädiktion 61 wird.Fig. 3 shows a block diagram of an encoder / decoder structure with exemplary four filter levels both on the encoder side and on the decoder side. From Fig. 3 it can be seen that the first filter plane, the second filter plane, the third filter plane and the fourth filter plane are identical with respect to the encoder. The filter levels relative to the decoder are also identical. On the coder side, each filter plane comprises as central elements a backward predilector Mi 0 and a forward predictor Mn 61. The backward predictor 60 corresponds in principle to the predictor 43 of FIG. 4, while the forward predictor 61 corresponds to the updating of FIG. 4 ent. In contrast to FIG. 4, it should be noted that FIG. 4 relates to a stream of samples r in which one sample has an odd-numbered index 2k + 1, while another sample has an even-numbered index 2k. However, the notation in Fig. 3 refers Λ as be¬ already with reference to FIG. 1 has been set forth, rather than on a group of images to a group of ten sampling values. If an image for example a number of ten or Abtastwer- Pixels, so this image is fed in total. Then the next image is fed in, etc. Thus, there are no longer odd-numbered and even-numbered samples, but odd-numbered and even-numbered images. According to the invention, the lifting scheme described for odd and even samples is applied to odd-numbered or even-numbered images, each of which has a plurality of samples. The sample-value predictor 43 of FIG. 4 now becomes the return-motion-compensation prediction 60, while the sample-wise forward-compensation prediction 61 becomes the sample-value updater 45.
Es sei darauf hingewiesen, dass die BewegungsfilLter, die aus Bewegungsvektoren bestehen, und die Koeffizienten für die Blöcke 60 und 61 darstellen, jeweils für zwei aufeinan¬ der bezogene Bilder berechnet und als Seiteninformationen vom Codierer zum Decodierer übertragen werden. Von wesent¬ lichem Vorteil beim erfindungsgemäßen Konzept ist jedoch die Tatsache, dass die Elemente 91, 92, wie sie anhand von Fig. 9 beschrieben sind und im Standard H.264/AVC standar¬ disiert sind, ohne weiteres dazu verwendet werden können, um sowohl die Bewegungsfelder Mio als auch die Bewegungs¬ felder Mn zu berechnen. Für das erfindungsgemäße Konzept muss daher kein neuer Prädiktor/Aktualisierer eingesetzt werden, sondern es kann der bereits bestehende, untersuchte und auf Funktionalität und Effizienz überprüfte im Video¬ standard genannte Algorithmus für die Bewegungskompensation in Vorwärtsrichtung oder in Rückwärtsrich.tung eingesetzt werden.It should be noted that the motion filters, which consist of motion vectors and represent the coefficients for the blocks 60 and 61, are calculated in each case for two images related to one another and transmitted as side information from the encoder to the decoder. However, a significant advantage of the inventive concept is the fact that the elements 91, 92, as described with reference to FIG. 9 and standardized in the standard H.264 / AVC, can be used without further ado both the motion fields Mn as well as to calculate the motion fields ¬ Mn. For the inventive concept Therefore, no new predictor / updater must be used, but the already existing, examined and tested for functionality and efficiency in Video¬ standard algorithm for motion compensation in the forward direction or in Rückwärtsrich.tung be used.
Insbesondere zeigt die in Fig. 3 dargestellt allgemeine Struktur der verwendeten Filterbank eine zeitliche Zerle- gung des Videosignals mit einer Gruppe von 16 Bildern, die an einem Eingang 64 eingespeist werden. Die Zerlegung ist eine dyadische zeitliche Zerlegung des Videosignals, wobei bei dem in Figur 3 gezeigten Ausführungsbeispiel mit 4 Ebe¬ nen 24=16 Bilder, also eine Gruppengröße von 16 Bildern be- nötigt wird, um auf der Darstellung mit der kleinsten zeit¬ lichen Auflösung, also auf den Signalen am Ausgang 28a und am Ausgang 28b anzukommen. Werden daher 16 Bilder grup¬ piert, so führt dies zu einer Verzögerung von 16 Bildern, was das in Fig. 3 gezeigte Konzept mit vier Ebenen für in- teraktive Anwendungen eher problematisch macht. Wird daher auf interaktive Anwendungen abgezielt, so wird es bevor¬ zugt, kleinere Gruppen von Bildern zu bilcden, wie bei¬ spielsweise vier oder acht Bilder zu gruppieren. Dann wird die Verzögerung entsprechend reduziert, so dass auch der Einsatz für interaktive Anwendungen möglich wird. In Fäl¬ len, in denen Interaktivität nicht benötigt wird, bei¬ spielsweise zu Speicherzwecken etc. kann die Anzahl der Bilder in einer Gruppe, also die Gruppengröße, entsprechend erhöht werden, beispielsweise auf 32, 64, etc. Bilder.In particular, the general structure of the filter bank used shown in FIG. 3 shows a temporal decomposition of the video signal with a group of 16 pictures which are fed in at an input 64. The decomposition is a dyadic temporal decomposition of the video signal, in the example shown in Figure 3 embodiment 4 Ebe¬ s 2 4 = 16 frames, is thus compels a group size of 16 pictures sawn to union on the display with the smallest zeit¬ Resolution, so arrive on the signals at the output 28a and the output 28b. Therefore, if 16 images are grouped, this results in a delay of 16 images, which makes the four-level concept shown in FIG. 3 rather problematic for interactive applications. Therefore, if targeted to interactive applications, it is preferable to form smaller groups of images, such as four or eight images to be grouped. Then the delay is reduced accordingly, so that the use for interactive applications is possible. In cases where interactivity is not required, for example for storage purposes etc., the number of images in a group, ie the group size, can be correspondingly increased, for example to 32, 64, etc. images.
So wird eine interaktive Anwendung des Hasr-basierten bewe- gungs-kompensierten Lifting-Schemas verwendet , das aus ei¬ ner Rückwärts-Bewegungskompensations-Prädxktion (Mio) , wie in H.264/AVC bestellt, und das ferner einen Aktualisierungs- Schritt umfasst, der eine Vorwärtsbewegungskompensation (Mn) umfasst. Sowohl der Prädiktions-Schritt als auch der Aktualisierung-Sch-ritt verwenden den Beweg-ungskompensati- onsprozess, wie er in H.264/AVC dargestellt it. Ferner wird nicht nur die Bewegungskompensation verwendet, sondern auch das in Fig. 9 mit dem Bezugszeichen 89 bezeichnet Deblo- cking-Filter 89.Thus, an interactive application of the Hasr-based motion-compensated lifting scheme is used, which consists of a backward motion compensation prediction (Mio), such as in H.264 / AVC, and further comprising an updating step including forward motion compensation (Mn). Both the prediction step and the update step use the motion compensation process as shown in H.264 / AVC. Furthermore, not only the motion compensation is used, but also the deblocking filter 89, designated by reference numeral 89 in FIG.
Die zweite Filtereloene umfasst wieder Downsampler 66a, 66b, einen Subtrahierer 69, einen Rückwärts-Prädiktor 67, einen Vorwärts-Prädiktor 68 sowie einen Addierer 70 und eine Wei¬ terverarbeitungseinrichtung, um an einem Ausgang der Wei¬ terverarbeitungseinrichtung das erste und das zweite Hoch- pass-Bild der zweiten Ebene auszugeben, während am Ausgang des Addierers 70 das erste und das zweite Tiefpass-Bild der zweiten Ebene ausgegeben werden.The second filter element again comprises downsamplers 66a, 66b, a subtracter 69, a backward predictor 67, a forward predictor 68, and an adder 70 and a further processing device in order to provide the first and the second high-order means at an output of the further processing device. output the second level pass image, while at the output of the adder 70, the first and the second low-pass image of the second level are output.
Der Codierer in Fig. 3 umfasst zusätzlich eine dritte Ebene sowie eine vierte Ebene, wobei in den Eingang 64 der vier¬ ten Ebene eine Gruppe von 16 Bildern eingespeist wird. An einem Hochpass-Ausgang 72 der vierten Ebene, der auch als HP4 bezeichnet ist, werden mit einem Quantάsierungs- Parameter Q quantisierte und entsprechend weiterverarbeite- te acht Hochpass-B±lder ausgegeben. Entsprechend werden an einem Tiefpass-Ausgang 73 der vierten Filterebene acht Tiefpass-Bilder ausgegeben, die in einem Eingang 74 der dritten Filterebene eingespeist wird. Die Ebene ist wieder¬ um wirksam, um an einem Hochpass-Ausgang 75, der auch mit HP3 bezeichnet istr vier Hochpass-Bilder zu erzeugen und um einem Tiefpass-Ausgang 76 vier Tiefpass-Bilder zu erzeugen, die in den Eingang 10 der zweiten Filterebene eingespeist werden und zerlegt werden. Es sei besonders darauf hinzuweisen, dass die durrch eine Filtierebene verarbeitete Gruppe von Bildern nicht unbedingt Videobilder sein müssen, die von einer ursprünglichen Vi- deosequenz stammen, sondern auch Tiefpass-Bilder sein kön¬ nen, die von einer nächsthöheren Filterebene an einem Tief¬ pass-Ausgang der Filterebene ausgegeben worden sind.The coder in FIG. 3 additionally comprises a third plane and a fourth plane, wherein a group of 16 images is fed into the input 64 of the fourth plane. The fourth level, which is also called HP4 on a high pass output 72, are quantized with a Quantάsierungs- parameters Q and correspondingly weiterverarbeite- te eight high-pass-B ± lder output. Accordingly, eight low-pass images are output at a low-pass output 73 of the fourth filter plane, which are fed into an input 74 of the third filter plane. The level is to r to generate wieder¬ to effectively on a high pass output 75, which is also referred to as HP3 four high pass images, and to a low-pass output to produce 76 four low-pass images 10 of the second in the input Filter level are fed and disassembled. It should be particularly pointed out that the group of images processed by a filter plane need not necessarily be video images which originate from an original video sequence, but may also be low-pass images which pass from a next higher filter level at a low pass Output of the filter level have been output.
Ferner sei darauf hingewiesen, dass das in Fig. 3 gezeigte Cod±erer-Konzept für sechzehn Bilder ohne weitere s auf acht Bilder reduziert werden kann, wenn einfach die vierte Fil¬ terebene weggelassen wird und die Gruppe von Bildern in den Eingang 74 eingespeist wird. Genauso kann das in Fig. 3 ge¬ zeigte Konzept auch ohne weiteres auf eine Gruppe von zwei- unddreißig Bildern erweitert werden, indem eine fünfte Fil¬ terebene hinzugefügt wird, und indem die dann sechzehn Hochpass-Bilder an einem Hochpass-Ausgang der fünften Fil¬ terebene ausgegeben werden und die sechzehn Tiefpass-Bilder am Ausgang der fünften Filterebene in den Eingang 64 der vieurten Filterebene eingespeist werden.It should also be pointed out that the coder concept shown in FIG. 3 can be reduced to eight images without additional s if the fourth filter plane is simply omitted and the group of images is fed into the input 74 , Likewise, the concept shown in FIG. 3 can be easily extended to a group of thirty-two images by adding a fifth filter plane, and then by adding sixteen high-pass images to a high pass output of the fifth fil ¬ terebene be outputted and the sixteen low-pass images are fed at the output of the fifth filter level in the input 64 of the vie ried filter level.
Auf Decodiererseite wird ebenfalls das baumartige Konzept der Codiererseite angewendet, jedoch nun nicht metir, wie auf Codiererseite von der höheren Ebene zur niedrigeren E- bene, sondern nunmehr, auf der Decodiererseite, von der niedrigeren Ebene zur höheren Ebene. Hierzu wird von einem Übertragungsmedium, das schematisch als Network Abstraction Layer 100 bezeichnet ist, der Datenstrom empfangen und der empfangene Bitstrom wird zunächst einer Invers- Weiterverarbeitung unter Verwendung der Invers-On the decoder side, the tree-like concept of the coder side is also used, but now not metir as on the coder side from the higher level to the lower level, but now, on the decoder side, from the lower level to the higher level. For this purpose, the data stream is received by a transmission medium, which is schematically referred to as Network Abstraction Layer 100, and the received bit stream is first subjected to an inverse further processing using the inverse
Weiterverarbeitungseinrichtungen unterzogen, um eine rekon¬ struierte Version des ersten Hochpass-Bildes der ersten E- bene am Ausgang der Einrichtung 30a und eine rekonstruierte Version des Tiefpass-Bildes der ersten Ebene arα Ausgang des Blocks 30b von Fig. 3 zu erhalten. Dann wird, in Analogie zur rechten Hälfte von Fig. 4, zunächst die Vorv/ärts- Bewegungskompensations-Prädiktion mittels des Pirädiktors 61 rückgängig gemacht, um dann das Ausgangssignal des Prädik- tors 61 von der rekonstruierten Version des Tiezfpass- Signals zu subtrahieren (Subtrahierer 101) .Further processing facilities subjected to a reconstructed version of the first high-pass image of the first ebene at the output of the device 30 a and a reconstructed Version of the low-pass image of the first level arα output of the block 30b of Fig. 3 to obtain. Then, analogously to the right-hand half of FIG. 4, the forward motion compensation prediction is first undone by means of the pirdictor 61, in order then to subtract the output signal of the predistorter 61 from the reconstructed version of the Tiezfpass signal (subtractor 101).
Das Ausgangssignal des Subtrahierers 101 wird in einen Rückwärts-Kompensations-Prädiktor 60 eingespeist, um ein Prädiktionsergebnis zu erzeugen, das in einem Addierer 102 zur rekonstruierten Version des Hochpass-Bildes addiert wird. Hierauf werden beide Signale, also die Signale im un¬ teren Zweig 103a, 103b auf die doppelte Abtastrste ge- brachte und zwar unter Verwendung der üpsampler 104a, 104b, wobei dann das Signal auf dem oberen Zweig je nach Imple¬ mentierung verzögert bzw. „beschleunigt" wird. Es sei dar¬ auf hingewiesen, dass das üpsampling durch die Brücke 104a, 104b e±nfach durch Einfügen von einer Anzahl von Nullen, die gleich der Anzahl von Samples für ein Bild entspricht, durchgeführt wird. Die Verschiebung um die Verzögerung ei¬ nes Bildes durch das mit z"1 gezeigte Element im oberen Zweig 103b gegenüber dem unteren Zweig 103a bewirkt, dass die Addition durch einen Addierer 106 dazu führt, dass aus- gangsseitig bezüglich des Addierers 106 die beiden Tief- pass-Bilder der zweiten Ebene nacheinander vorliegen.The output of the subtractor 101 is fed to a backward compensation predictor 60 to produce a prediction result which is added in an adder 102 to the reconstructed version of the highpass picture. Then both signals, that is to say the signals in the lower branch 103a, 103b, are multiplied by twice the sampling rate using the supersamplers 104a, 104b, in which case the signal on the upper branch is delayed, depending on the implementation. It should be noted that the suppsampling by the bridge 104a, 104b is done by simply inserting a number of zeros equal to the number of samples for an image ei¬ nes image caused by the method shown with z "1 element in the upper arm 103b with respect to the lower arm 103a, the addition by an adder 106 with the result that the output side of the adder 106 with respect to the two low-pass-images of the second Level one after the other.
Die rekonstruierte Version des ersten und des zweiten Tief¬ pass-Bildes der zweiten Ebene werden dann in das decodie- rerseitige Invers-Filter der zweiten Ebene eingespeist und dort, zusammen mit den übertragenen Hochpaß-Bildern der zweiten Ebene wieder durch die identische Implementierung der Invers-Filterbank kombiniert, um an einem Amsgang 108 der zweiten Ebene eine Folge von vier Tiefpass-Bildern. der dritten Ebene zu haben. Die vier: Tiefpass-Bilder der drit¬ ten Ebene werden in einer Invers-Filterebene der dritten Ebene mit den übertragenen Hochpaß-Bildern der drittem Ebe- ne kombiniert, um an einem Ausgang 110 des Invers-Filfcers der dritten Ebene acht Tiefpass—Bilder der vierten Ebene in aufeinanderfolgendem Format zu haben. Diese acht Tiefpass- Bilder der dritten Ebene werden dann, in einem Invers— Filter der vierten Ebene mit den acht Hochpaß-Bildern der vierten Ebene, die vom Übertragungsmedium 100 über den Ein¬ gang HP4 empfangen werden, wieder wie anhand der ersten E- bene besprochen, kombiniert, um an einem Ausgang 112 des Invers-Filters der vierten Ebene eine rekonstruierte Gruppe von 16 Bildern zu erhalten.The reconstructed version of the first and the second low-pass image of the second level are then fed into the decoder-side inverse filter of the second level and there, together with the transmitted high-pass images of the second level again by the identical implementation of the inverse Filter bank combined to take on a walk 108 the second level a series of four low-pass images. to have the third level. The four: low-pass images of the third level are combined in an inverse filter plane of the third level with the transferred third-level high-pass images in order to produce eight low-pass images of the first level at an output 110 of the inverse third-level filf fourth level in successive format. These eight low-level images of the third level are then reproduced in an inverse filter of the fourth level with the eight high-pass images of the fourth level received by the transmission medium 100 via the input HP4, as on the basis of the first plane in order to obtain a reconstructed group of 16 images at an output 112 of the fourth-level inverse filter.
In jeder Stufe der Analyse-Filterbank werden somit zwei Bilder, also entweder ursprüngl±che Bilder oder Bilderr die Tiefpaß-Signale darstellen und ±n einer nächsthöheren Ebene erzeugt worden sind, in ein Tiefpass-Signal und in ein Hochpass-Signal zerlegt. Das Tiefpass-Signal kann als Dar¬ stellung der Gemeinsamkeiten der: Eingangsbilder betrachtet werden, während das Hochpass-Signal als Darstellung der Un¬ terschiede zwischen den Eingangsbildern betrachtet werden kann. In der entsprechenden Stufe der Synthese-FiltertDank werden die beiden Eingangsbilder: unter Verwendung des Tief- pass-Signals und des Hochpass-S±gnals wieder rekonstruiert. Da im Syntheseschritt die inversen Operationen des Anslyse- schritts durchgeführt werden, garantiert die Analy¬ se/Synthese-Filterbank (ohne Quantisierung selbstverständ- lieh) eine perfekte Rekonstruktion.Thus, in each stage of the analysis filter bank, two images, that is, either original images or images representing the low-pass signals and generated at a next higher level, are decomposed into a low-pass signal and a high-pass signal. The low-pass signal can be regarded as a representation of the similarities of the: input images, while the high-pass signal can be regarded as a representation of the differences between the input images. In the corresponding stage of the synthesis filter, the two input images are reconstructed using the low-pass signal and the high-pass signal. Since the inverse operations of the Anslyse- step are performed in the synthesis step, guarantees the analysis / synthesis filter bank (without quantization of course lent) perfect reconstruction.
Die einzigen auftretenden Verluste kommen aufgrund der: Quantisierung in den Weiterverarbeitungseinrichtungen z.B. 26a, 26b, 18 vor. Wird sehr fein quantisiert, so wird ein gutes Signal-Rausch-Verhältnis erre±cht. Wird dagegen sehrr grob quantisiert, so wird ein relativ schlechtes Signal- Rausch-Verhältnis, jedoch bei niedriger Bitrate, also bei niedrigem Bedarf, erreicht.The only losses occur due to: Quantization in the processing facilities eg 26a, 26b, 18 ago. If very finely quantized, a good signal-to-noise ratio is achieved. However, if very roughly quantized, then a relatively poor signal-to-noise ratio, but at low bit rate, ie at low demand, achieved.
Ohne SNR-Skalierbarkeit könnte berel_ts mit dem in Fig. 3 dargestellten Konzept zumindest eine Zeit- Skalierungssteuerung implementiert werden. Hierzu wird eine Zeit-Skalierungs-Steuerung 120 eingesetzt, die ausgebildet ist, um eingangsseitig die Hochpaß- bzw. Tiefpass-Ausgänge bzw. die Ausgänge der WeiterverarbeLtungseinrichtungen (26a, 26b, 18 ... ) zu erhalten, um aus diesen Teildaten¬ strömen TPl, HPl, HP2, HP3, HP4 einen skalierten Datenstrom zu erzeugen, der in einer Basis-SkaLierungsschicht die we_L- terverarbeitende Version des ersten Tiefpass-Bildes und des ersten Hochpass-Bildes hat. In einerr ersten Erweiterungs- Skalierungsschicht könnte dann die ^eiterverarbeitende Verr- sion der zweiten Hochpass-Bildes untergebracht sein. In e_L- ner zweiten Erweiterungs-Skalierungs Schicht könnten dann die weiterverarbeiteten Versionen der Hochpass-Bilder drit¬ ter Ebene untergebracht sein, währead in einer dritten Er— weiterungs-Skalierungsschicht die weiterverarbeitenden Ver¬ sionen der Hochpass-Bilder vierter Ebene eingebracht sind. Damit könnte ein Decodierer allein aufgrund der Basis- Skalierungsschicht bereits eine zeitlich gering qualitativ-e Sequenz von Tiefpass-Bildern niedriger Ebene erzeugen, als o pro Gruppe von Bildern, zwei Tiefpas s-Bilder erste Ebene. Mit Hinzunahme jeder Erweiterungs-Skslierungsschicht kann die Anzahl der rekonstruierten Bilden pro Gruppe immer ver¬ doppelt werden. Die Funktionalität des Decodierers wird ty¬ pischerweise von einer Skalierungs-S"teuerung gesteuert, di e ausgebildet ist, um zu erkennen, wie viel Skalierungs- schichten im Datenstrom enthalten sind bzw. wie viele Ska¬ lierungsschichten vom Decodierer beim Decodieren berück¬ sichtigt werden sollen.Without SNR scalability, at least one time scaling control could berel_ts be implemented with the concept illustrated in FIG. For this purpose, a time-scaling controller 120 is used, which is designed to receive on the input side the high-pass or low-pass outputs or the outputs of the further processing devices (26a, 26b, 18...) In order to flow from these partial data TPl, HPl, HP2, HP3, HP4 to produce a scaled data stream having in a base layer of scaling the we_Lterarbeitende version of the first low-pass image and the first high-pass image. In a first extension scaling layer, the sidewall processing of the second high-pass image could then be accommodated. The further processed versions of the high-pass images on the third level could then be accommodated in the second expansion-scaling layer, while the further-processing versions of the high-pass images of the fourth level are introduced in a third expansion-scaling layer. Thus, a decoder could already produce a temporally low-quality sequence of low-level low-level images due to the base scaling layer alone, than o per group of images, two low-pass s images first level. With the addition of each enhancement layer, the number of reconstructed images per group can always be doubled. The functionality of the decoder is typically controlled by a scaling control, which is designed to detect how much scaling layers are included in the data stream or how many skating layers are to be considered by the decoder during decoding.
Das JVT-Dokument JVT-J 035, mit dem Titel „SNR-Scalable Ex¬ tension of H.264/AVC" Heiko Schwarz, Detlev Marpe und Tho¬ mas Wiegand, vorgestellt beim zehnten JVT-Treffen in Waiko- loa Hawaii, 8. bis 12. Dezember 2003, zeigt eine SNR- skalierbare Erweiterung des in den Fig. 3 und 4 dargestell- ten zeitlichen Zerlegungsschemas. Insbesondere wird eine zeitliche Skalierungsschicht in einzelne "SNR- Skalierungsunterschichten" aufgeteilt, wobei eine SNR- Basisschicht dahingehend erhalten wird, dass eine bestimmte zeitliche Skalierungsschicht mit einer ersten, gröberen Quantisiererschrittweite quantisiert wird, um die SNR-The JVT document JVT-J 035, entitled "SNR-Scalable Extension of H.264 / AVC" Heiko Schwarz, Detlev Marpe and Thomas Wiegand, presented at the tenth JVT meeting in Waikigo Hawaii, 8 1 to 12 December 2003, shows an SNR scalable extension of the temporal decomposition scheme illustrated in Figures 3 and 4. In particular, a temporal scaling layer is split into individual "SNR scaling sublayers" to obtain a SNR base layer. that a particular temporal scaling layer is quantized with a first, coarser quantizer step size in order to obtain the SNR
Basisschicht zu erhalten. Dann wird unter anderem eine in- verse Quantisierung durchgeführt, und das Ergebnissignal aus der inversen Quantisierung wird von dem ursprünglichen Signal subtrahiert, um ein Differenzsignal zu erhalten, das dann mit einer feineren Quantisiererschrittweite quanti¬ siert wird, um die zweite Skalierungsschicht zu erhalten. Die zweite Skalierungsschicht wird jedoch wieder unter an¬ derem requantisiert mit der feineren Quantisiererschritt¬ weite, um das nach der Requantisierung erhaltene Signal von dem ursprünglichen Signal zu subtrahieren, um ein weiteres Differenzsignal zu erhalten, das, wieder nach Quantisierung nun jedoch mit einer feineren Quantisiererschrittweite eine zweite SNR-Skalierungsschicht bzw. eine SNR-Enhancement- Layer darstellt.Base layer to get. Then, inter alia, an inverse quantization is performed, and the result signal from the inverse quantization is subtracted from the original signal to obtain a difference signal, which is then quantized at a finer quantizer step size to obtain the second scaling layer. However, the second scaling layer is again requantized below the finer quantizer step size to subtract the signal obtained after requantization from the original signal to obtain another difference signal, but again after quantization with a finer quantizer step size represents a second SNR scaling layer or an SNR enhancement layer.
So hat sich herausgestellt, dass die vorstehend beschriebe¬ nen Skalierbarkeitsschemata, die auf der Bewegungs- kompensierten zeitlichen Filterung (MCTF; MCTF = Motion Compensated Temporal Filtering) basieren, bereits eine hohe Flexibilität im Hinblick auf di e zeitliche Skalierbarkeit und auch die SNR-Skalierbarkeit liefern. Allerdings exis¬ tiert noch eine Problematik dahingehend, dass die Bitrate mehrerer Skalierungsschichten zusammengenommen immer noch deutlich über der Bitrate liegte die erreichbar ist, wenn Bilder mit der höchsten Qualität ohne Skalierbarkeit co¬ diert werden würden. Wegen der Seiteninformationen für die verschiedenen Skalierungsschichten mag von skalierbaren Co- dierern die Bitrate des nicht-skalierten Falls nie erreicht werden. Allerdings sollte die Bitrate eines Datenstroms mit mehreren Skalierungsschichten wenigstens so nahe wie mög¬ lich an die Bitrate des nicht-skalierten Falls herankommen können.MCTF = motion, so it has been found that the above-described NEN ¬ Skalierbarkeitsschemata, the compensated at the motion temporal filtering (MCTF Compensated Temporal Filtering) already provide a high degree of flexibility in terms of time scalability and SNR scalability. However exis¬ cash discount is a problem in that the bit rate of several scaling layers still together significantly higher than the bit rate is the e can be achieved if pictures would be diert co¬ with the highest quality without scalability. Because of the side information for the different scaling layers, scalable encoders may never reach the bit rate of the non-scaled case. However, the bit rate of a data stream with multiple scaling layers should be at least as close as possible to the bit rate of the non-scaled case.
Des weiteren sollte das Skalieirbarkeitskonzept eine hohe Flexibilität für alle Skalierbar.:keitsarten liefern, also eine hohe Flexibilität sowohl in zeitlicher Hinsicht als auch in räumlicher Hinsicht als auch in SNR-Hinsicht.Furthermore, the scalability concept should provide a high degree of flexibility for all types of scalability, ie a high degree of flexibility both in terms of time as well as in terms of space and in terms of SNR.
Die hohe Flexibilität ist besonders dort wichtig, wo be¬ reits Bilder geringer Auflösung ausreichend wären, jedoch eine höhere zeitliche Auflösung wünschenswert wäre. Eine solche Situation ergibt sich beispielsweise dann, wenn schnelle Änderungen in Bildern vorhanden sind, wie bei¬ spielsweise bei Videos von Mannschaftssportarten, wo sich viele Personen zusätzlich zum Ball gleichzeitig bewegen.The high flexibility is particularly important where already low resolution images would be sufficient, but a higher temporal resolution would be desirable. Such a situation arises, for example, when rapid changes are present in pictures, as for example in videos of team sports, where many people move in addition to the ball at the same time.
Ein weiterer Nachteil an bestehenden Skalierbarkeitskonzep- ten besteht darin, dass sie entweder die identischen Bewe¬ gungsdaten für alle Skalierungs schichten verwenden, was entweder die Flexibilität der S kalierbarkeit einschränkt oder in einer nicht optimalen Bewegungs-Prädiktion bzw. in einem dadurch zunehmenden Restsignal der Bewegungs- Prädiktion resultiert.Another disadvantage of existing scalability concepts is that they either use the identical motion data for all scaling layers, which restricts either the flexibility of scalability or in a non-optimal motion prediction or in resulting in an increasing residual signal of the motion prediction.
Andererseits führt eine komplett unterschiedliche Bewe- gungsdaten-Übertragung von zwei verschiedenen Skalierungs¬ schichten zu einem erheblichen Overhead, da insbesondere dann, wenn relativ niedrige SNR-Skalierungsschichfeen be¬ trachtet werden, bei denen relativ grob quantisiert wird, der Anteil der Bewegungsdaten am Gesamtbitstrom durchaus merkbar wird. Ein flexibles Skalierbarkeitskonzept, bei dem unterschiedliche Bewegungsdaten in unterschiedlichen Ska¬ lierungsschichten überhaupt möglich sind, wird daher: durch eine zusätzliche Bitrate erkauft, was insbesondere im Hin¬ blick darauf, dass sämtliche Anstrengungen dahin genen, die Bitrate zu senken, besonders nachteilhaft ist. Die zusätz¬ lichen Bits für die Übertragung der Bewegungsdaten treten ferner gerade in den niedrigen Skalierungsschichten im Ver¬ glich zu den Bits für die Bewegungs-Prädiktions-Restwerte hervor. Dies ist jedoch genau dort besonders unangenehm, da in den niedrigen Skalierungsschichten gerade versucht wird, eine einigermaßen akzeptable Qualität, also wenigstens ei¬ nen einigermaßen vernünftigen Quantisierungs-Parameter zu verwenden und gleichzeitig eine niedrige Bitrate zu erhal¬ ten.On the other hand, a completely different motion data transmission of two different scaling layers leads to a considerable overhead, since the proportion of the motion data in the total bit stream certainly does, especially when relatively low SNR scaling ratios are considered, in which the coarse quantization is done becomes noticeable. A flexible scalability concept, in which different movement data in different ska lierungsschichten are even possible, is therefore: bought at an additional bit rate, which is particularly disadvantageous in view that all efforts to reduce the bit rate is particularly disadvantageous. The additional bits for the transmission of the movement data also appear in the low scaling layers in comparison to the bits for the motion prediction residual values. However, this is particularly unpleasant precisely there, since it is currently being attempted in the low scaling layers to use a reasonably acceptable quality, that is to say at least a reasonably reasonable quantization parameter, and at the same time to maintain a low bit rate.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein skalierbares Videocodiersystemkonzept zu schaffen, das eine niedrige Datenrate liefert und dennoch Flexibilität zeigt.The object of the present invention is to provide a scalable video coding system concept which provides a low data rate while still showing flexibility.
Diese Aufgabe wird durch eine Vorrichtung zum Erzeugten ei¬ ner codierten Videosequenz nach Patentanspruch 1, ei_n Ver¬ fahren zum Erzeugen einer codierten Videosequenz nach Pa¬ tentanspruch 15, eine Vorrichtung zum Decodieren elixer co¬ dierten Videosequenz nach Patentanspruch 16, ein Verfahren zum Decodieren einer codierten Videosequenz nach Patentan¬ spruch 21, ein Computer-Programm nach Patentanspruch. 22 o- der ein Computer-lesbares Medium nach Patentanspruch. 23 ge¬ löst. Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass weitere Datenrateneinsparungen bei gleichzeitiger Fle¬ xibilität im Hinblick auf verschiedene SNR- oder räumliche Skalierungsschichten dadurch erxeicht wird, dass bei der Berechnung der Erweiterungs-Bewegungsdaten im Rahmen einer Erweiterungs-Bewegungskompensation für die Erweiterungs- Skalierungsschicht die Basis-Bewegungsdaten verwendet wer¬ den. Erfindungsgemäß wird somit bei der Berechnung der Er- weiteirungs-Bewegungsdaten nicht so getan, als ob es gar keine Bewegungsdaten der Basisschicht gäbe, sondern die Be¬ wegungsdaten der Basisschicht werden bei der Berechnung mit einbezogen.This object is achieved by a device for generating a coded video sequence according to patent claim 1, a method for generating a coded video sequence according to claim 15, a device for decoding an elliptically coded video sequence according to patent claim 16, a method for decoding a coded video sequence according to patent claim 21, a computer program according to claim. 22 or a computer-readable medium according to claim. 23 triggers. The present invention is based on the finding that further data rate savings with simultaneous flexibility with regard to different SNR or spatial scaling layers is compensated by the fact that the calculation of the expansion movement data within the scope of an expansion motion compensation for the expansion scaling layer Movement data wer¬ used. Thus, according to the invention, in the calculation of the magnification movement data, it is not done as if there were no motion data of the base layer, but the motion data of the base layer are included in the calculation.
Hierbei wird gemäß bevorzugten .Ausführungsbeispielen der vorliegenden Erfindung ein adaptives Konzept angewendet, d.h. dass für verschiedene Blöcke eines Bildes verschiedene Art und Weisen der Berücksichtigung der Basis- Bewegungsdaten vorgenommen werden können, und dass natür- lieh aiαch für einen Block auf eine Erweiterungs-Here, according to preferred embodiments of the present invention, an adaptive concept is used, i. E. different ways of taking into account the basic movement data for different blocks of an image, and that of course for a block on an expansion
Bewegungsdaten-Prädiktion mit den Basis-Bewegungsdaten als Prädiktor ganz verzichtet werden kann, wenn sich heraus¬ stellt, dass die Prädiktion keinen Erfolg bei der Datenra- tenreduktion liefert. Ob überhampt eine Erweiterungs- Bewegungsdaten-Prädiktion unter Verwendung der Basis- Bewegungsdaten vorgenommen worden ist, und welcher Art die¬ se war, wird mit einem Block zugeordneten Signalisierungs- informationen im Bitstrom übertragen und so dem Decodierer mitgeteilt. Damit ist der DecodLerer in der Lage, zur Re- konstruktion der Bewegungsdaten für einen Block auf die im Decodierer bereits rekonstruierten Basis-Bewegungsdaten zu¬ rückzugreifen, wobei die Tatsache, dass überhaupt zurückge¬ griffen werden soll, und auf welche Art und Weise zurückge¬ griffen werden soll, durch blockrweise übertragene Signali- sierungsinformationen im Bitstroin signalisiert ist.Motion data prediction with the basic motion data as a predictor can be dispensed with altogether if it turns out that the prediction does not produce any success in data rate reduction. Whether an augmented motion data prediction using the basic motion data has been made in an overhasty way, and of what kind that was, is transmitted in the bit stream with signaling information associated with a block and thus communicated to the decoder. Thus, the decoder is able to resort to the reconstruction of the motion data for one block on the base motion data already reconstructed in the decoder, the fact that the fact is to be resorted to at all and in which way is signaled by block-transmitted signaling information in the bit stream is signaled.
Die Basis-Bewegungsdaten können je nach Implementierung bei der tatsächlichen Berechnung der Erweiterungs- Bewegungsdsten, wie sie anschließend von dem Erweiterungs- Bewegungs-Kompensierer verwendet werden, berücksichtigt werden. Erfindungsgemäß wird jedoch auch bevorzugt, die Er- weiterungs—Bewegungsdaten unabhängig von den Basis- Bewegungsdaten zu berechnen und die Basis-Bewegungsdaten lediglich bei der Nachverarbeitung der Erweiterungs- Bewegungsdaten zu verwenden, um die Erweiterungs-'- Bewegungsdaten zu erhalten, die tatsächlich zum Erweite- rungs-Bildoodierer übermittelt werden. Erfindungsgemäß wird daher im Sinne einer hohen Flexibilität eine selbstständige Berechnung von Erweiterungs-Bewegungsdaten vorgenommen, wo¬ bei diese unabhängig von den Basis-Bewecjungsdaten berechne¬ ten Erweiterungs-Bewegungsdaten zur codiererseitigen Bewe- gungs-Prädd_ktion verwendet werden, während die Basis- Bewegungsdaten lediglich zu Zwecken der Berechnung einesDepending on the implementation, the basic transaction data may be used in the actual calculation of the expansion Movement Dehn, as they are subsequently used by the expansion motion compensator, are taken into account. However, according to the present invention, it is also preferable to calculate the expansion movement data independently of the basic movement data and to use the base movement data only in the post-processing of the extension movement data to obtain the extension-movement data that is actually for enlargement be conveyed. According to the invention, autonomous calculation of extension movement data is therefore carried out in the sense of high flexibility, whereby these extension movement data calculated independently of the base movement data are used for encoder prediction on the coder side, while the base movement data are only for Purposes of calculating a
Restsignals beliebiger Art eingesetzt werden, um die nöti¬ gen Bits zmr Übertragung der Erweiterungs-Bewegungsvektoren zu reduzieren.Residual signal of any kind can be used to reduce the necessary bits zmr transmission of extension motion vectors.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird die Bewegungsdaten-Zwisch-en-Schicht- Prädiktion um eine Zwischen-Schicht-Restwerteprädiktion er¬ gänzt, um auch bei den Restwerten der Bewegungskompensati- onsprädiktion Redundanzen zwischen den verschiedenen Ska- lierungsschichten so gut als möglich zu nutzen und zu Da- tenratenreduktionszwecken zu berücksichtigen.In a preferred embodiment of the present invention, the movement data-in-between-layer prediction is supplemented by an interlayer residual value prediction in order to make redundancies between the different sclating layers as good as possible, even in the case of the residual values of the motion compensation prediction use and for data rate reduction purposes.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine Bitraten-Reduzierungen nicht nur mit einer innerhalb einer Skalierungsschicht durchgeführten Be- wegungs-kompensierten Prädiktion erreicrit sondern auch mit einer Zwisctien-Skalierungsschicht-Prädik-tion der Restbilder nach der Bewegungs-kompensierten Prädiktion von einer nied¬ rigeren Schicht, beispielsweise der Basisschicht, zu einer höheren Schicht, wie beispielsweise der Erweiterungs¬ schicht. Es wurde herausgefunden, dass innerhalb derselben zeitli¬ chen Skalierungsschicht die Restwerte der einzelnen hier betrachteten anderen Skalierungsscliichten nach der Bewe- gungs-kompensierten Prädiktion, die vorzugsweise im Hin- blick auf die Auflösung oder im Hinblick auf das Signal- Rausch-Verhältnis (SNR) skaliert sind, auch zwischen den Restwerten Korrelationen haben. Erfindungsgemäß werden die¬ se Korrelationen dadurch vorteilhaft ausgenutzt, dass auf Codiererseite für die Erweiterungs-Skalierungsschicht ein Zwischen-Schicht-Prädiktor vorgesehen wird, der mit einem Zwischen-Schicht-Kombinierer auf Decodiererseite korrespon¬ diert. Vorzugsweise ist dieser Zwischen-Schicht-Prädiktor adaptiv ausgelegt, um z.B. für jeden Makroblock zu ent¬ scheiden, ob sich eine' Zwischen-Schicht-Prädiktion lohnt, oder ob die Prädiktion eher zu einem Bitratenanstieg führen würde. Das letztere ist der Fall, wenn im Hinblick auf ei¬ nen nachfolgenden Entropie-Codieαrer das Prädiktions- Restignal größer als das ursprüngliche Bewegungs- Kompensations-Restsignal der Erweiterungsschicht wird. Die- se Situation wird jedoch in vielen Fällen nicht auftreten, so dass der Zwischen-Schicht-Prädiktor aktiviert ist und zu einer deutlichen Bitraten-Reduktion führt.In a preferred embodiment of the present invention, a bit rate reduction is achieved not only with a motion compensated prediction performed within a scaling layer but also with a skew scale layer prediction of the residual images after the motion compensated prediction of a low Riger layer, for example, the base layer, to a higher layer, such as the Erweiterungs¬ layer. It has been found that, within the same temporal scaling layer, the residual values of the individual scaling clauses considered here after the motion-compensated prediction, which are preferably with regard to the resolution or with regard to the signal-to-noise ratio (SNR). are scaled, even between the residual values have correlations. According to the invention, these correlations are advantageously utilized by providing an interlayer predictor on the coder side for the extension scaling layer which corresponds to an interlayer combiner on the decoder side. Preferably, this interlayer predictor is adaptively designed, for example, to decide for each macroblock whether 'interlayer prediction is worthwhile, or whether the prediction would rather lead to a bitrate increase. The latter is the case when, with respect to a subsequent entropy codie, the prediction residual signal becomes larger than the original motion compensation residual signal of the enhancement layer. However, this situation will not occur in many cases, so the interlayer predictor is activated and results in a significant bit rate reduction.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich¬ nungen detailliert erläutert. Es zeigen:Preferred embodiments of the present invention will be explained in detail below with reference to the accompanying drawings. Show it:
Fig. Ia ein bevorzugtes Ausführungsbeispiel eines erfin- dungsgemäßen Encodierers;1 a shows a preferred embodiment of an inventive encoder;
Fig. Ib eine detailliertere Darstellung eines Basis-FIG. 1b shows a more detailed representation of a basic
Bildcodierers von Fig. Ia; Fig. Ic eine Erläuterung der Funktionalität einer Zwi¬ schen-Schicht-Prädiktions-Flag;Image coder of Fig. Ia; 1 c shows an explanation of the functionality of an intermediate layer prediction flag;
Fig. Id eine Beschreibung einer Bewegungsdaten-Flag;Fig. Id is a description of a motion data flag;
Fig. Ie eine bevorzugte Implementierung des Erweiterungs- Bewegungskompensierers 1014 von Fig. Ia;Fig. Ie shows a preferred implementation of the expansion motion compensator 1014 of Fig. 1a;
Fig. If eine bevorzugte Implementierung des Erweiterungs- Bewegungsdatenermittlers 1078 von Fig. 2;Fig. 2 shows a preferred implementation of the expansion motion data determiner 1078 of Fig. 2;
Fig. Ig eine Übersichtsdarstellung von drei bevorzugten Ausführungsformen zur Berechnung der Erweite- rungs-Bewegungsdaten und zur Erweiteirungs- Bewegungsdaten-Verarbeitung zu Zwecken der Signa¬ lisierung und ggf. Restdatenübertragiαng;FIG. 1 g shows an overview representation of three preferred embodiments for calculating the extension movement data and for expanding transaction data processing for purposes of signaling and, if appropriate, residual data transfer; FIG.
Fig. 2 ein bevorzugtes Ausführungsbeispiel eines erfin¬ dungsgemäßen Decodierers;2 shows a preferred embodiment of a decoder according to the invention;
Fig. 3 ein Blockschaltbild eines Decodierers mit vier Ebenen;Fig. 3 is a block diagram of a four-level decoder;
Fig. 4 ein Blockschaltbild zur Veranschauliohung der Lifting-Zerlegung einer zeitlichen Sixbband-4 is a block diagram for illustrating the lifting decomposition of a temporal six-band
Filterbank;Filter bank;
Fig. 5a eine Darstellung der Funktionalität des in Fig. 4 gezeigten Lifting-Schemas;Fig. 5a is an illustration of the functionality of the lifting scheme shown in Fig. 4;
Fig. 5b eine Darstellung von zwei bevorzugten. Lifting- Vorschriften mit unidirektionaler Prä.diktion (Haar-Wavelet) und bidirektionaler Prädiktion (5/3-Transformation) ; Fig. 5c eine bevorzugte Ausführungsform der Prädi Jctions- und Aktualisierungs-Operatoren mit Bewegungskom- pensation und Referenzindizes zur beliebicjen Wahl der zwei durch das Liftung-Schema zu verartrbeiten- den Bilder;Fig. 5b is an illustration of two preferred. Lifting prescriptions with unidirectional prediction (Haar wavelet) and bidirectional prediction (5/3 transformation); 5c shows a preferred embodiment of the motion compensation prediction and update operators and reference indices for arbitrary choice of the two images to be processed by the lift-up scheme;
Fig. 5d eine Darstellung des Intramodus, bei dem ur¬ sprüngliche Bildinformationen Makroblock-weise in Hochpassbilder eintragbar sind;5d shows a representation of the intramode in which original image information can be entered into high-pass images in macroblock-wise fashion;
Fig. 6a eine schematisctie Darstellung zur Signalisierung eines Makroblocki-Modus;Fig. 6a is a schematic illustration for signaling a macroblock mode;
Fig. 6b eine schematiscrie Darstellung zur Hochtastung von Bewegungsdaten t>ei einer räumlichen Skalierbar¬ keit gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;FIG. 6b shows a schematic representation of the up-sampling of movement data t> ei of a spatial scalability in accordance with a preferred embodiment of the present invention; FIG.
Fig. 6c eine schematischie Darstellung der Datenstrrom- Syntax für Bewecjungsvektor-Differenzen;Fig. 6c is a schematic representation of the data stream syntax for motion vector differences;
Fig. 6d eine schematisclαe Darstellung einer Restwerte- Syntax-Erweitermng gemäß einem bevorzugter». Aus- führungsbeispielL der vorliegenden Erfinduixg;FIG. 6d shows a schematic representation of a residual value syntax extension according to a preferred ». Embodiment 1 of the present invention;
Fig. 7 ein Übersichtsdi_agramm zur Veranschaulichixng der zeitlichen Verlegung einer Gruppe von beispiels¬ weise 8 Bildern;7 shows an overview diagram for illustrating the time shift of a group of, for example, 8 images;
Fig. 8 eine bevorzugte zeitliche Plazierung von Tief- pass-Bildern für eine Gruppe von 16 Bildern; Fig. 9 ein Übersichts-BlockschaltbiLd zur Veranschauli¬ chung der grundsätzlichen Codierstruktur für ei¬ nen Codierer gemäß dem Standard H.264/AVC für ei¬ nen Makroblock;FIG. 8 shows a preferred temporal placement of low-pass images for a group of 16 images; FIG. 9 shows an overview block diagram for illustrating the basic coding structure for an encoder according to the standard H.264 / AVC for a macroblock;
Fig. 10 eine Kontext-Anordnung, die aus zwei benachbarten Pixelelementen A und B links bzw. oberhalb eines gegenwärtigen Syntaxelements C besteht; undFig. 10 is a context arrangement consisting of two adjacent pixel elements A and B to the left and above, respectively, of a current syntax element C; and
Fig. 11 eine Darstellung der Aufteilung eines Bildes in Slices.11 is an illustration of the division of an image into slices.
Fig. Ia zeigt ein bevorzugtes Ausführungsbeispiel einer Vorrichtung zum Erzeugen einer codierten Videosequenz, die eine Basis-Skalierungsschicht und eine Erweiterungs-1a shows a preferred embodiment of an apparatus for generating a coded video sequence which comprises a base scaling layer and an expansion layer.
Skalierungsschicht aufweist. Eine ursprüngliche Videose¬ quenz mit einer Gruppe von 8, 16 oder einer anderen Anzahl von Bildern wird über einen Eingang 100 O eingespeist. Aus- gangsseitig enthält die codierte Videosequenz die Basis- Skalierungsschicht 1002 und die Erweitexungs- Skalierungsschicht 1004. Die Erweiterungs- Skalierungsschicht 1004 und die Basis-Skalierungsschicht 1002 können einem Bitstrom-Multiplexer zugeführt werden, der ausgangsseitig einen einzigen skalierbaren Bitstrom er- zeugt. Eine getrennte Übertragung der beiden Skalierungs¬ schichten ist jedoch je nach Implementierung ebenfalls mög¬ lich und in bestimmten Fällen sinnvoll. Fig. Ia zeigt einen Codierer zum Erzeugen von zwei Skalierungsschichten, also der Basis-Skalierungsschicht und einer Erweiterungs- Skalierungsschicht. Um einen Codierer zu erhalten, der ge¬ gebenenfalls eine oder mehrere weitere Erweiterungsschich¬ ten erzeugt, ist die Funktionalität der Erweiterungs- Skalierungsschicht zu wiederholen, wobei eine höhere Erweiterungs-Skalierungsschicht immer von der terungs-Skalierungsschicht immer von der nächstniedrigeren Erweiterungs-Skalierungsschicht so mit Daten versorgt wird, wie in Fig. 1 die gezeigte Erweiterungs-Skalierungsschicht 1004 von der Basis-Skalierungsschicht 1002 mit Daten ver- sorgt wird.Scaling layer has. An original video sequence with a group of 8, 16 or a different number of pictures is fed via an input 100 0. On the output side, the coded video sequence contains the base scale layer 1002 and the extension scale layer 1004. The extension scale layer 1004 and the base scale layer 1002 may be supplied to a bit stream multiplexer which produces a single scalable bit stream on the output side. However, a separate transmission of the two scaling layers is also possible depending on the implementation and makes sense in certain cases. FIG. 1a shows an encoder for generating two scaling layers, ie the base scaling layer and an expansion scaling layer. In order to obtain an encoder produces ge ¬ th one or more further Erweiterungsschich the optionally, the functionality is to repeat the extension scaling layer, wherein a higher extension scaling layer always by the The scaling layer is always supplied with data from the next lower extension scaling layer, as shown in FIG. 1, where the shown expansion scaling layer 1004 is supplied with data by the base scaling layer 1002.
Bevor auf verschiedene Skalierungsarten speziell eingegan¬ gen wird, wie beispielsweise eine SNR-Skalierbarkeit oder eine räumliche Skalierbarkeit oder eine kombinierte Ska- lierbarkeit aus räumlicher und SNR-Skalierbarkeit, sei zu¬ nächst das allgemeine Prinzip der vorliegenden Erfindung dargestellt. Zunächst umfasst der Encodierer einen Basis- Bewegungs-Kompensierer oder Basis-Bewegungs-Schätzer 1006 zum Berechnen von Basis-Bewegungsdaten, die angeben, wie sich ein Makroblock in einem aktuellen Bild bezüglich eines anderen Bilds in einer Gruppe von Bildern, die der Basis- Bewegungs-Kompensierer 1006 eingangsseitig erhält, bewegt hat. Techniken zum Berechnen von Bewegungsdaten, insbeson¬ dere zum Berechnen eines Bewegungsvektors für einen Makro- block, der prinzipiell ein Bereich von Pixeln in einem di¬ gitalen Videobild ist, sind bekannt. Vorzugsweise wird die Bewegungs-Kompensationsberechnung eingesetzt, wie sie im Video-Codierstandard H.264/AVC standardisiert ist. Hierbei wird ein Makroblock eines späteren Bildes betrachtet und ermittelt, wie sich der Makroblock im Vergleich zu einem früheren Bild „bewegt" hat. Diese Bewegung (in xy-Richtung) wird durch einen zweidimensionalen Bewegungsvektor angege¬ ben, der vom Block 1006 für jeden Makroblock berechnet und über eine Bewegungsdaten-Leitung 1008 einem Basis- Bildcodierer 1010 zugeführt wird. Hierauf wird für das nächste Bild berechnet, wie sich ein Makroblock vom vorhe¬ rigen Bild zum nächsten Bild bewegt hat. In einer Implementierung kann man diesen neuen Bewegungs¬ vektor, der gewissermaßen die Bewegung vom zweiten zum dritten Bild angibt, wieder als zweidimensionalen Absolut- Vektor mit der Bewegung zwischen dem ersten und dem dritten Bild übertragen. Aus Effizienzgründen wird es jedoch bevor¬ zugt, nur eine Bewegungsvektor-Differenz zu übertragen, al¬ so die Differenz aus dem Bewegungsvektor eines Makroblocks vom zweiten zum dritten Bild und dem Bewegungsvektor des Makroblocks vom ersten zum zweiten Bild. Alternative Refe- renzierungen bzw. Bewegungsvektor-Differenzen zu nicht un¬ mittelbar vorausgehenden Bildern, sondern zu weiteren vo¬ rausgehenden Bildern sind ebenfalls verwendbar.Before special consideration is given to different types of scaling, such as, for example, SNR scalability or spatial scalability or combined scalability from spatial and SNR scalability, the general principle of the present invention is shown first. Initially, the encoder includes a basic motion compensator or base motion estimator 1006 for computing basic motion data indicating how a macroblock in a current image is related to another image in a group of images representing the basic motion Compensator 1006 input side receives, has moved. Techniques for calculating motion data, in particular for calculating a motion vector for a macroblock, which is in principle a range of pixels in a digital video image, are known. Preferably, the motion compensation calculation is used, as standardized in the video encoding standard H.264 / AVC. This looks at a macroblock of a later image and determines how the macroblock has "moved" compared to a previous image This motion (in the xy direction) is indicated by a two-dimensional motion vector, which is from block 1006 for each macroblock is calculated and supplied via a motion data line 1008 to a basic image coder 1010. Then, it is calculated for the next image how a macroblock has moved from the previous image to the next image. In an implementation, this new motion vector, which as it were specifies the movement from the second to the third image, can be transmitted again as a two-dimensional absolute vector with the movement between the first and the third image. For reasons of efficiency, however, it is preferred to transmit only one motion vector difference, thus the difference between the motion vector of a macroblock from the second to the third image and the motion vector of the macroblock from the first to the second image. Alternative refer- ences or motion vector differences to not immediately preceding images but to further outgoing images can also be used.
Die Bewegungsdaten, die vom Block L006 berechnet worden sind, werden dann einem Basis-Bewecjungs-Prädiktor 1012 zu¬ geführt, der ausgebildet ist, um eine Basis-Folge von Rest¬ fehlerbildern zur Verwendung der Bewegungsdaten und der Gruppe von Bildern zu berechnen. Der Basis-Bewegungs- Prädiktor führt somit die Bewegungs kompensation durch, die vom Bewegungskompensierer bzw. Bewegungs-Schätzer gewisser¬ maßen vorbereitet worden ist. Diese Basis-Folge von Rest¬ fehlerbildern wird dann dem Basis-BdLldcodierer zugeführt. Der Basis-Bildcodierer ist ausgebildet, um die Basis- Skalierungsschicht 1002 an seinem Ausgang zu liefern.The motion data computed by block L006 is then fed to a base motion predictor 1012 configured to compute a basic sequence of residual error images for use of the motion data and the group of images. The basic motion predictor thus performs the motion compensation that has been certainly prepared by the motion compensator or motion estimator. This basic sequence of residual error images is then supplied to the basic BdLdcodierer. The basic image coder is configured to provide the base scaling layer 1002 at its output.
Der erfindungsgemäße Encodierer umfasst ferner einen Erwei- terungs-Bewegungs-Kompensierer oder Erweiterungs-Bewegungs- Schätzer 1014 zum Ermitteln von Erweiterungs- Bewegungsdaten. Diese Erweiterungs-Bewegungsdaten werden dann einem Erweiterungs-Bewegungs-Pxrädiktor 1016 zugeführt, der ausgangsseitig eine Erweiterungsfolge von Restfehler¬ bildern erzeugt und einem nachgeschalteten Zwischen- Schicht-Prädiktor 1018 zuführt. Der Erweiterungs-Bewegungs- Prädiktor führt somit die Bewegungskompensation dxαrch, die vom Bewegungskompensierer bzw . Bewegungs-Schätzer gewisser¬ maßen vorbereitet worden ist .The encoder according to the invention further comprises an expansion-motion compensator or expansion-motion estimator 1014 for determining extension motion data. This extension movement data is then fed to an expansion movement pxrector 1016, which on the output side generates an extension sequence of residual error images and feeds them to a downstream interlayer predictor 1018. The expansion movement Predictor thus carries the motion compensation dxαrch, the motion compensator or. Motion estimator has certainly been prepared.
Der Zwischen-Schicht-Prädiktor ist ausgebildet, urn aus- gangsseitig Erweiterungs-Prädiktions-Restfehlerbilder zu berechnen . Je nach Implementierung verwendet der Zwischen- Schicht-Prädiktor zusätzlich zu den Daten, die er vom Block 1016 erhält , also zusätzlich zu der Erweiterungs-Folge von Restfehlerbildern die Basis-Folge von Restfehlerbildern, wie sie vom Block 1012 über eine gestrichelte Umwegleitung 1020 geliefert wird. Alternativ kann der Block 1018 j edoch auch eine interpolierte Folge von Restfehlerbilderrn, die am Ausgang des Blocks 1012 geliefert und durch einen Interpo- lator 1022 interpoliert wird, verwenden . Wieder alternativ kann der Zwischen-Schicht-Prädiktor auch eine rekonstruier¬ te Basis-Folge von Restfehlerbildern liefern, wie sie an einem Ausgang 1024 vom Basis-Bildcodierer 1010 geliefert wird. Wie es aus Fig . Ia zu sehen ist, kann diese rekon- struierte Basis-Folge von Restfehlerbildern interpoliert sein 1022 oder nicht-interpoliert sein 1020 . Allgemein ge¬ sagt arbeitet der Zwischen-Schicht-Prädiktor somit unter Verwendung der Basis-Folge von Restfehlerbildern, wobei die Informationen an dem Zwischen-Schicht-Prädiktor-ELngang 1026 z . B . durch Rekonstruktion oder Interpolation, von der Basis-Folge von Restfehlerbildern am Ausgang des B locks 1012 abgeleitet sind.The interlayer predictor is designed to calculate extension prediction residual error images on the output side. Depending on the implementation, in addition to the data it receives from block 1016, in addition to the extension sequence of residual error images, the interlayer predictor uses the basic sequence of residual error images as provided by block 1012 via dashed detour 1020 , Alternatively, however, block 1018 may also use an interpolated sequence of residual error images provided at the output of block 1012 and interpolated by an interpolator 1022. Again alternatively, the interlayer predictor may also provide a reconstructed basic sequence of residual error images as provided at an output 1024 from the basic image coder 1010. As can be seen from FIG. As can be seen, this reconstructed basic sequence of residual error images may be interpolated 1022 or not interpolated 1020. Generally speaking, the interlayer predictor thus operates using the basic sequence of residual error images, where the information at inter-layer predictor input 1026 is e.g. B. by reconstruction or interpolation, are derived from the basic sequence of residual error images at the output of the block 1012.
Dem Zwischen-Schicht-Prädiktor 1018 nachgeschaltet ist ein Erweiterungs-Bildcodierer 1028 , der ausgebildet is t , um die Erweiterungs-Prädiktions-Restfehlerbilder zu codie ren, um die codierte Erweiterungs-Skalierungsschicht 1004 zu erhal¬ ten . Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist der Zwischen-Schicht-Prädiktor ausgebildet, um Makroblock für Makroblock und Bild für Bild das Signal an seinem Eingang 1026 von dem entsprechenden Signal, das der Zwischen-Schicht-Prädiktor 1018 von dem Erweiterungs- Bewegungs-Prädiktor 1016 erhält, zu subtrahieren. Das bei dieser Subtraktion erhaltene Ergebnissignal stellt dann ei¬ nen Makroblock eines Bildes der Erweiterungs-Prädiktions- Restfehlerbilder dar.The downstream inter-layer predictor 1018 Expansion image encoder 1028, which is formed t, ten to the extension prediction residual images to codie reindeer, the encoded extension scaling layer 1004 ¬ preserver. In a preferred embodiment of the present invention, the interlayer predictor is configured to macroblock by macroblock and frame by frame the signal at its input 1026 from the corresponding signal, the interlayer predictor 1018 from the expansion motion predictor 1016 gets to subtract. The result signal obtained in this subtraction then represents a macroblock of an image of the extension prediction residual error images.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist der Zwischen-Schicht-Prädiktor adaptiv ausge¬ bildet. Für jeden Makroblock wird eine Zwischen-Schicht- Prädiktions-Flag 1030 bereitgestellt, die dem Zwischen- Schicht-Prädiktor anzeigt, dass er eine Prädiktion durchzu¬ führen hat, oder die in ihrem anderen Zustand anzeigt, dass keine Prädiktion durchzuführen ist, sondern dass der ent¬ sprechende Makroblock am Ausgang des Erweiterungs- Bewegungs-Prädiktors 1016 ohne weitere Prädiktion dem Er- weiterungs-Bildcodierer 1028 zuzuführen ist. Diese adaptive Implementierung hat den Vorteil, dass eine Zwischen- Schicht-Prädiktion nur dort durchgeführt wird, wo sie sinn¬ voll, ist, wo also das Prädiktions-Restsignal zu einem nied- rigeren Ausgangsbildrate führt, und zwar im Vergleich zu dem Fall, bei dem keine Zwischen-Schicht-Prädiktion durch¬ geführt worden ist, sondern bei dem unmittelbar die Aus¬ gangsdaten des Erweiterungs-Bewegungs-Prädiktors 1016 co¬ diert worden sind.In a preferred embodiment of the present invention, the interlayer predictor is adaptively designed. For each macroblock, an interlayer prediction flag 1030 is provided, which indicates to the interlayer predictor that it is to perform a prediction, or that indicates in its other state that no prediction is to be performed, but that the a corresponding macroblock at the output of the expansion motion predictor 1016 is to be supplied to the expansion image coder 1028 without further prediction. This adaptive implementation has the advantage that an interlayer prediction is performed only where it is meaningful, ie, where the prediction residual signal leads to a lower output image rate, in comparison to the case at where no intermediate-layer prediction has been performed, but in which the output data of the extension-motion predictor 1016 has been directly coded.
Im Falle einer räumlichen Skalierbarkeit ist zwischen der Erweiterungs-Skalierungsschicht und der Basis- Skalierungsschicht ein Dezimator 1032 vorgesehen, der aus- gebildet ist , um die Videosequenz an seinem Eingang, die eine bestiirante räumliche Auflösung hat Λ auf eine Videose¬ quenz an seinem Ausgang umzusetzen, die eine geringere Auf¬ lösung hat . Fa lls eine reine SNR-Skalierbarkeit vorgesehen ist , falls als o die Basis-Bildcodierer 1010 und 1028 für die beiden Ska lierungsschichten mit unt erschiedlichen Quan- tisierungs-Pajrametern 1034 bzw . 1036 arbeiten, ist der De- zimator 1032 n icht vorgesehen . Dies wird in Fig . Ia durch die Umwegleitung 1038 schematisch darge stellt .In the case of spatial scalability, a decimator 1032 is provided between the extension scaling layer and the base scaling layer, which decoder is formed in order to implement the video sequence at its input, which has a bestiirante spatial resolution Λ on a Videose¬ quency at its output, which has a lower Auf¬ solution. If a pure SNR scalability is provided, if as o the basic image coders 1010 and 1028 for the two Ska lierungsschichten with different quantization Pajrametern 1034 or. 1036, the decimator 1032 is not intended. This is shown in FIG. Ia by the detour line 1038 schematically Darge presents.
Im Fall der rä umlichen Skalierbarkeit rrvuss ferner der In- terpolator 102 2 vorgesehen sein . Im Fal l einer reinen SNR- Skalierbarkeit ist der Interpolator 102 2 dagegen nicht vor¬ gesehen . An se iner Stelle wird stattdes sen die Umwegleitung 1020 genommen, wie es in Fig . Ia dargestellt ist .In the case of spatial scalability, the interpolator 102 2 must furthermore be provided. In the case of pure SNR scalability, however, the interpolator 102 2 is not provided. Instead, the detour line 1020 is taken in place, as shown in FIG. Ia is shown.
In einer Implementierung ist der Erweiterungs-Bewegungs- Kompensierer 1 O14 ausgebildet, um komplett ein eigenes Be¬ wegungsfeld zu berechnen, oder um das durch den Basis- Bewegungs-Kompensierer 1006 berechnete Bewegungsfeld direkt (Umwegleitung JL040 ) oder nach einer Hoctitastung durch einen Hochtaster 1042 zu verwenden . Im Fall einer räumlichen Ska¬ lierbarkeit muss der Hochtaster 1042 vorgesehen sein, um einen Bewegungsvektor der Basis-Bewegungsdaten auf die hö- here Auflösung hochzutasten, also z . B . zu skalieren . Wenn beispielsweise die Erweiterungs-Auflösung doppelt so hoch und breit wie die Basis-Auflösung ist, überdeckt ein Makro¬ block ( 16x16 Lmminanz-Abtastwerte ) in der Erweiterungs¬ schicht einen Bildbereich, welcher einem Sub-Makroblock ( 8x8 Luminanz-Αbtastwerte) in der Basisschicht entspricht .In one implementation, the expansion motion compensator 1014 is configured to completely calculate its own motion field, or the motion field calculated by the base motion compensator 1006 directly (detour JL040), or after a vertical touch through an up key 1042 to use . In the case of a spatial Ska¬ lierbarkeit the Hochtaster 1042 must be provided to hochzuasten a motion vector of the basic motion data to the higher resolution, ie z. B. to scale. If, for example, the expansion resolution is twice as high and wide as the base resolution, a macroblock (16 × 16 minute sample values) covers an image area in the extension layer which corresponds to a sub-macroblock (8 × 8 luminance sampling values) Base layer corresponds.
Um den Basis-Bewegungsvektor für den Makiroblock der Erwei- terungs-Skalierrungsschicht verwenden zu können, wird der Basis-Bewegungsvektor daher in seiner x-Komponente und sei¬ ner y-Komponente verdoppelt, also mit dem Faktor 2 ska¬ liert. Hierauf wird jedoch noch bezugnehmend auf Fig. 6b näher eingegangen.In order to use the base motion vector for the macroblock of the extension scaling layer, the Base motion vector therefore doubled in its x component and its y component, that is, scaled by a factor of 2. However, this will be described below with reference to FIG. 6b.
Liegt dagegen lediglich eine SNR-Skalierbarkeit vor, so ist das Bewegungsfeld für alle Skaliexrungsschichten dasselbe. Es muss also nur ein einziges Mal berechnet werden und kann von jeder höheren Skalierungsschicht unmittelbar so verwen- det werden, wie es von der niedrigeren Skalierungsschicht berechnet worden ist.On the other hand, if there is only SNR scalability, then the motion field is the same for all scaling layers. It therefore only has to be calculated once and can be used by any higher scaling layer directly as calculated by the lower scaling layer.
Zur Zwischen-Schicht-Prädiktion kann sowohl das Signal am Ausgang des Basis-Bewegungs-Prädiktors 1012 verwendet wer- den. Alternativ kann jedoch auch das rekonstruierte Signal auf der Leitung 1024 verwendet werden. Die Auswahl, welches dieser beiden Signale zur Prädiktion verwendet wird, wird durch einen Schalter 1044 vorgenommen. Das Signal auf der Leitung 1024 unterscheidet sich vom Signal am Ausgang des Blocks 1012 dadurch, dass es bereits eine Quantisierung er¬ lebt hat. Dies bedeutet, dass das Signal auf der Leitung 1024 im Vergleich zum Signal am Ausgang des Blocks 1012 ei¬ nen Quantisierungsfehler hat. Die Alternative der Verwen¬ dung des Signals auf der Leitung 1.024 zur Zwischen-Schicht- Prädiktion ist insbesondere dann von Vorteil, wenn eineFor interlayer prediction, both the signal at the output of the basic motion predictor 1012 may be used. Alternatively, however, the reconstructed signal on line 1024 may also be used. The selection of which of these two signals to use for prediction is made by a switch 1044. The signal on line 1024 differs from the signal at the output of block 1012 in that it already has a quantization. This means that the signal on line 1024 has a quantization error compared to the signal at the output of block 1012. The alternative of using the signal on the line 1024 for interlayer prediction is particularly advantageous when a
SNR-Skalierbarkeit entweder allein, oder in Verbindung mit einer räumlichen Skalierbarkeit eingesetzt wird, da dann der durch den Basis-Bildcodierer LOlO vorgenommene Quanti¬ sierungsfehler gewissermaßen in dd_e höhere Skalierungs- schicht „mitgenommen" wird, da das Ausgangssignal am Block 1018 dann den von der ersten Skallerungsschicht gemachten Quantisierungsfehler enthält, der dann durch den Erweite- rungs-Bildcodierer mit einer typischerweise feineren Quan- tisierer-Schrittweite bzw. einem veränderten Quantisie¬ rungs-Parameter 2 am Eingang 1036 quantisier~t und in die Erweiterungs-Skalierungsschicht 1004 geschrieben wird.SNR scalability either alone, or in conjunction with a spatial scalability is used, since then the quantization error made by the basic image coder LO10, so to speak, "taken along" in dd_e higher scaling layer, since the output signal at block 1018 then the quantization error made by the first skimming layer, which is then passed through the expansion image coder with a typically finer quantum tisierer step size or a changed Quantisie¬ approximately parameter 2 at the input of quantizer 1036 t ~ and is written to the extension scaling layer 1004th
Analog zur Zwischen-Schicht-Prädiktions-Flag 1030 wird auch eine Bewegungsdaten-Flag 1048 in den Bild-Codierer einge¬ speist, damit eine entsprechende Information hierüber in der Erweiterungs-Skalierungsschicht 1004 enthalten ist, um dann vom Decodierer, auf den bezugnehmend auf Fig. 2 einge- gangen wird, verwendet zu werden.Analogous to the interlayer prediction flag 1030, a motion data flag 1048 is also fed into the image coder, so that corresponding information is contained in the enhancement scaling layer 1004 for this purpose, and then transmitted by the decoder, with reference to FIG 2 is used to be used.
Wird eine reine räumliche Skalierbarkeit verwendet, so kann statt des Signals auf der Leitung 1024, also statt der rekonstruierten Folge von Basis-Restfehlerbil_dern auch das Ausgangssignal des Basis-Bewegungs-Prädiktors 1012, also die Basis-Folge von Restfehlerbildern eingesetzt werden.If a pure spatial scalability is used, instead of the signal on the line 1024, ie instead of the reconstructed sequence of basis residual error images, the output signal of the basic motion predictor 1012, ie the basic sequence of residual error images, can also be used.
Die Steuerung dieses Schalters kann je nach -Implementierung manuell oder aufgrund einer Prädiktions-Nutzenfunktion er- folgen.Depending on the implementation, the control of this switch can be performed manually or on the basis of a prediction utility function.
An dieser Stelle sei darauf hingewiesen, dass vorzugsweise sämtliche Prädiktionen, also die Bewegungs-Prädiktion, die Erweiterungs-Bewegungsdaten-Prädiktion und die Zwischen- Schicht-Restwerteprädiktion adaptiv ausgeführt: sind. Dies bedeutet, dass nicht unbedingt für jeden Makroblock oder Sub-Makroblock in einem Bild der Basis-Folge -von Restfeh¬ lerbildern beispielsweise tatsächlich auch Bevjegungsdaten- Prädiktions-Restwerte vorhanden sein müssen. So kann ein Bild der Basis-Folge von Restfehlerbildern trotz der Tatsa¬ che, dass es als „Restfehlerbild" bezeichnet wird, auch nicht-prädizierte Makroblöcke bzw. Sub-MakrobZLöcke enthal¬ ten. Diese Situation wird dann auftreten, wenn sich heraus¬ gestellt hat, dass in einem Bild z. B. ein neues Objekt auftritt. Hier würde eine bewegungskompensierte Prädiktion keinen Sinn machen, da das Prädiktions-Restsignal größer: werden würde als das ursprüngliche Signal im Bild. Bei der Erweiterungs-Bewegungs-Prädi-ktion im Block 1016 würde ir^ einem solchen Fall somit sowohl der Prädiktionsoperator als auch ggf. der Aktualisierungjsoperator für diesen Block Cz- B. Makroblock oder Sub-Makroblock) deaktiviert sein.It should be noted at this point that preferably all the predictions, that is to say the motion prediction, the extension movement data prediction and the interlayer residual value prediction, are carried out adaptively. This means that for each macroblock or sub-macroblock in an image of the basic sequence of residual error images, it is not necessarily necessary, for example, to actually contain prediction residual data. Thus, despite the fact that it is referred to as a "residual error image", an image of the basic sequence of residual error images may also contain non-predicted macroblocks or sub-macroblocks. This situation will occur when it turns out to be has, for example, that a new object occurs in an image, here would be a motion-compensated prediction make no sense, since the prediction residual signal would be greater than the original signal in the image. In the expansion-motion prediction at block 1016, in such a case, thus, both the prediction operator and, if applicable, the updating operator for this block Cz-B macroblock or sub-macroblock would be deactivated.
Dennoch wird aus Übersichtlichkeitsgründen z. B. von einer Basis-Folge von Restfehlerbi ldern gesprochen, obgleich vielleicht nur ein einziges Restfehlerbild der Basis-FoLge von Restfehlerbildern einen einzigen Block aufweist, in dem tatsächlich Bewegungs-Prädik~tions-Restsignale enthalten sind. In typischen Anwendungsfällen wird jedoch jedes Resst- fehlerbild tatsächlich eine ihohe Anzahl von Blöcken mit Be- wegungs-Prädiktions-Restdaten haben.Nevertheless, for reasons of clarity z. Ldern spoken by a base sequence of Restfehlerbi example, although maybe only one residual error image of the base sequence having a single block of residual error images are included in the actual movement Prädik ~ tions residual signals. In typical applications, however, each residual error image will actually have an increased number of blocks with motion prediction residual data.
Im Sinne der vorliegenden Erfindung trifft dies auch für" die Erweiterungs-Folge von Restfehlerbildern zu. So wird, diese Situation in der Erwei~terungs-Schicht ähnlich zur Si- tuation in der Basis-Schicht sein. Im Sinne der vorliegen¬ den Erfindung ist daher eine Erweiterungs-Folge von Rest - fehlerbildern bereits eine Folge von Bildern, in denen i-_m Extremfall nur ein einziger Block eines einzigen „Restfelh- lerbildes" Bewegungs-Prädiktions-Restwerte hat, während in allen anderen Blöcken dieses Bildes und sogar in allen an¬ deren „Restfehlerbildern" eigentlich gar keine Restfehleα: stehen, da für alle diese Bilder/Blöcke die bewegungskom— pensierte Prädiktion und ggf- die bewegungskompensierte Ak¬ tualisierung deaktiviert worden sind.For the purposes of the present invention, the same is true for "the extension sequence of residual error pictures to. Thus, this situation in the expan ~ terungs layer similar to the situation in the base layer to be. For the purposes of the invention is vorliegen¬ Therefore, an extension sequence of residual error images already has a sequence of images in which, in extreme cases, only a single block of a single "residual frame image" has motion prediction residuals, while in all other blocks of that image and even in all On whose "residual error images" actually no residual errors are, since the motion-compensated prediction and possibly the motion-compensated updating have been deactivated for all these images / blocks.
Im Sinne der vorliegenden Erfindung gilt dies auch für den Zwischen-Schicht-Prädiktor, der Erweiterungs-Prädiktions— Restfehlerbilder berechnet . Typischerweise werden die Er — weiterungs-Prädiktions-Restfehlerbilder in einer Folge vor- liegen . Jedoch ist auch der Zwischen-Schicht-Prädiktor vor¬ zugsweise adaptiv ausgestaltet . Wenn sich z . B . herausge¬ stellt hat, dass nur für einen einzigen Block- eines einzi¬ gen „Restfehlerbildes" eine Restdaten-Prädiktion von der Basisschicht zur Erweiterungsschicht sinnvoll, war, während für alle anderen Blöcke dieses Bildes und ggf. sogar für alle anderen Bilder der Folge von Erweiterungs-Prädiktions- Restfehlerbildern die Zwischen-Schicht-Restdatenprädiktion deaktiviert worden ist, wird aus Übersichtlichkeitsgründen im vorliegenden Kontext diese Folge dennoch als Erweite- rungs-Prädiktions-restfehlerbilder bezeichnet. In-diesem Zusammenhang sei darauf hingewiesen, dass derr Zwischen- Schicht-Prädiktor nur Restdaten prädizieren Icann, wenn in einem entsprechenden Block eines RestfehlerbiLldes in der Basisschicht bereits Bewegungskompensations-Restwerte be¬ rechnet worden sind, und wenn für einen diesem Block ent¬ sprechenden Block (z. B. an der gleichen x, y-Position) in einem Restfehlerbild der Erweiterungs-Folge ebenfalls eine bewegungskompensierte Prädiktion vorgenommen worden ist, so dass in diesem Block Restfehlerwerte aufgrund einer bewe- gungskompensierten Prädiktion in der Erweiterrungsschicht stehen. Nur dann, wenn in beiden zu betrachtenden Blöcken tatsächliche Bewegungskompensations-Prädiktions-Restwerte bestehen, wird der Zwischen-Schicht-Prädiktorr vorzugsweise aktiv werden, um einen Block von Restfehlerwerten in einem Bild der Basisschicht als Prädiktor für einen. Block von Restfehlerwerten in einem Bild der Erweiterurigsschicht zu verwenden und dann nur die Restwerte dieser Prädiktion, al- so Erweiterungs-Prädiktions-Restfehlerdaten in diesem Block des betrachteten Bildes zum Erweiterungsbildcodierer zu ü- bertragen.For the purposes of the present invention, this also applies to the interlayer predictor, which calculates extension prediction residual error images. Typically, the expansion prediction residual error images will exist in a sequence. However, the inter-layer predictor before ¬ is preferably configured adaptively. If z. B. has herausge ¬ assumed that only a single block a single tra ¬ gen "residual error picture" residual data prediction from the While the base layer to the enhancement layer was useful, while interlayer residual data prediction has been disabled for all other blocks of that image and possibly even all other images of the sequence of enhancement prediction residual error images, this sequence will nevertheless be considered as Extension prediction residual error images. In this connection, it should be noted that the inter-layer predictor can only predicate residual data if motion compensation residual values have already been calculated in a corresponding block of a residual error field in the base layer, and if for a block corresponding to this block (eg at the same x, y position) a motion-compensated prediction has also been made in a residual error image of the extension sequence, so that residual error values due to a motion-compensated prediction in the extension layer are present in this block. Only when there are actual motion compensation prediction residuals in both blocks to be considered, does the interlayer predictor preferably become active to predict a block of residual error values in an image of the base layer as a predictor of a. Block of residual error values in an image of the enhancement layer and then only the residual values of this prediction, thus to transmit extension prediction residual error data in this block of the viewed image to the extension image coder.
Nachfolgend wird bezugnehmend auf Fig. Ib auf eine detail- liertere Darstellung des Basis-Bildcodierers 1010 oder des Erweiterungs-Bildcodierers 1028 bzw. eines beliebigen Bild- codierers eingegangen. Eingangsseitig empfäng-t: der Bildco- dierer die Gruppe von Restfehlerbildern und führt sie mak- roblockweise einer Transformation 1050 zu. Die transfor- mierten Makroblöcke werden dann in einem Block 1052 ska¬ liert und unter Verwendung eines Quantisierungsparameters 1034, 1036, ... quantisiert. Am Ausgang des Blocks 1052 werden dann der verwendete Quantisierungs-Parameter, also die verwendete Quantisierungs-Schrittweite für einen Makuro- block sowie Quantisierungs-Indizes für die Spektralwerte des Makroblocks ausgegeben. Diese Informationen werden dann einer in Fig. Ib nicht gezeigten Entropie-Codierstufe zuge¬ führt, die einen Huffman-Codierer oder vorzugsweise einen arithmetischen Codierer umfasst, der gemäß H.264/AVC nacrα dem bekannten CABAC-Konzept arbeitet. Das Ausgangssignal der Einrichtung 1052 wird jedoch ebenfalls einem Block 1O54 zugeführt, der eine inverse Skalierung und Requantisierung durchführt, um die Quantisierungs-Indizes zusammen mit dem Quantisierungs-Parameter wieder in Zahlenwerte umzurechnen, die dann einer inversen Transformation in einem Block 1036 zugeführt werden, um eine .rekonstruierte Gruppe von Rest— fehlerbildern zu erhalten, die nunmehr im Vergleich zur ixr- sprünglichen Gruppe von Restfehlerbildern am Eingang des Transformationsblocks 1050 einen Quantisierungsfehler hat , der von den Quantisierungs-Parametern bzw. der Quantisie¬ rungs-Schrittweite abhängt. Je nach Steuerung des Schalters 1044 wird nunmehr entweder das eine Signal oder das andere Signal dem Interpolator 1022 oder bereits dem Zwischen- Schicht-Prädiktor 1018 zugeführt, um die erfindungsgemäße Restwert-Prädiktion durchzuführen.With reference to FIG. 1 b, a more detailed representation of the basic image coder 1010 or of the expansion image coder 1028 or of an arbitrary image coder will be discussed below. Received on the input side: the image coder receives the group of residual error images and supplies them macroblockwise to a transformation 1050. The transformative-programmed macro blocks are then gelled in a block 1052 ska ¬ and using a quantization parameter 1034, 1036 quantized .... At the exit of the block 1052 Then, the quantization parameter used, ie the used quantization step size for a macroro block and quantization indices for the spectral values of the macroblock are output. This information is then supplied to an entropy coding stage, not shown in FIG. 1b, which comprises a Huffman coder or preferably an arithmetic coder which operates according to H.264 / AVC nacrα according to the known CABAC concept. However, the output of device 1052 is also applied to block 1054, which performs inverse scaling and requantization to convert the quantization indices, along with the quantization parameter, back to numerical values, which are then fed to an inverse transform in block 1036 to obtain a .reconstructed group of residual image errors, which now has a quantization error, which depends on the quantization parameters or the quantization step size, in comparison to the ixr-original group of residual error images at the input of the transformation block 1050. Depending on the control of the switch 1044, either the one signal or the other signal is now supplied to the interpolator 1022 or already to the interlayer predictor 1018 in order to carry out the residual value prediction according to the invention.
In Fig. Ic ist eine einfache Implementierung der Zwischen— Schicht-Prädiktions-Flag 1030 dargestellt. Ist die Zwi- schen-Schicht-Prädiktions-Flag gesetzt, so ist der Zwi- schen-Schicht-Prädiktor 1018 aktiviert. Ist die Flag dage¬ gen nicht gesetzt, so ist der Zwischen-Schicht-Prädiktor deaktiviert, so dass ein Simulcast-Betrieb für diesen Mak— roblock oder einen diesem Makroblock untergeordneten Sub- Makroblock ausgeführt wird. Grund hierfür könnte sein, dass der Codiergewinn durch die Prädiktion eigentlich ein Co- dierverlust ist, dass also eine Übertragung des entspre¬ chenden Makroblocks am Ausgang des Blocks 1016 einen besse¬ ren Codiergewinn bei der nachfolgenden Entropie-Codierung liefert als wenn Prädiktions-Restwerte verwendet werden würden.In Fig. Ic, a simple implementation of the interlayer prediction flag 1030 is shown. If the interlayer prediction flag is set, the interlayer predictor 1018 is activated. If, on the other hand, the flag is not set, the interlayer predictor is deactivated so that a simulcast operation is carried out for this macroblock or a sub-macroblock subordinate to this macroblock. Reason for this could be that the coding gain by the prediction actually a co- The loss is that a transmission of the corresponding macroblock at the output of the block 1016 yields a better coding gain in the subsequent entropy coding than if prediction residual values were used.
Eine einfache Implementierung der Bewegungsdaten-Flag 1048 ist in Fig. Id gezeigt. Ist die Flag gesetzt, so werden Be¬ wegungsdaten der Erweiterungsschicht aus hochgetasteten Be- wegungsdaten der Basisschicht abgeleitet. Im Fall einer SNR-Skalierbarkeit ist der Hochtaster 1042 nicht nötig. Hier können bei gesetzter Flag 1048 die Bewegungsdaten der Erweiterungsschicht direkt aus den Basis-Bewegungsdaten ab¬ geleitet werden. Es sei darauf hingewiesen, dass diese Be- wegungsdaten-„Ableitung" in der direkten Übernahme der Be¬ wegungsdaten bestehen kann, oder aber in einer echten Prä¬ diktion, bei der Block 1014 die von der Basis-Schicht er¬ haltenen Bewegungsvektoren von entsprechenden von dem Block 1014 berechneten Bewegungsvektoren für die Erweiterungs- Skalierungsschicht z.B. subtrahieret, um Bewegungsdaten- Prädiktionswerte zu erhalten. Die Bewegungsdaten der Erweiterungs-Schicht (falls keine Prädiktion irgendwelcher Art vorgenommen worden ist) , oder die Restwerte der Prädiktion (falls eine echte Prädiktion vorgenommen worden ist) werden über einen in Fig. Ia gezeigten Ausgang zumA simple implementation of the motion data flag 1048 is shown in FIG. If the flag is set, motion data of the enhancement layer are derived from the up-sampled motion data of the base layer. In the case of SNR scalability, the 1053 up button is not necessary. Here, with the flag 1048 set, the movement data of the extension layer can be derived directly from the basic movement data. It should be pointed out that this motion data "derivative" can consist in the direct assumption of the motion data or, in a true prediction, in the block 1014 the motion vectors obtained by the base layer of corresponding ones subtracted, for example, to obtain motion data prediction values, the motion data of the enhancement layer (if no prediction of any kind has been made), or the residuals of the prediction (if a true prediction has been made are) via an output shown in Fig. Ia for
Erweiterungs-Bildcodierer 1028 geliefert, damit sie am Ende in dem Erweiterungs-Skalierungsschicht-Bitstrom 1004 enthalten sind. Wird dagegen eine komplette Übernahme der Bewegungsdaten von der Basis-Skalierungsschicht mit oder ohne Skalierung vorgenommen, so müssen keine Erweiterungs- Bewegungsdaten in den Erweiterungs—Skalierungsschicht- Bitstrom 1004 geschrieben werden. Es genügt lediglich, diese Tatsache durch die Bewegungsdaten-Flag 1048 im Bewegungsdaten-Flag 1048 im Erweiterungs- Skalierungsschicht-Bitstrom zu signalisieren.Extension picture coder 1028 to be included in the expansion scale layer bit stream 1004 at the end. If, on the other hand, a complete acquisition of the movement data from the base scaling layer is carried out with or without scaling, then no expansion movement data must be written into the extension scaling layer bit stream 1004. All that is required is the movement data flag 1048 in the To signal motion data flag 1048 in the expansion scale layer bitstream.
Fig. 2 zeigt eine Vorrichtung zum Decodieren einer codier- ten Videosequenz, die die Basis-Skalierungsschicht 1002 und die Erweiterungs-Skalierungsschicht 1004 umfasst. Die Er- weiterungs-Skalierungsschicht 1004 und die Basis- Skalierungsschicht 1002 können von einem Bitstrom- Demultiplexer stammen, der einen skalierbaren Bitstrom mit beiden Skalierungsschichten entsprechend demultiplext, um sowohl die Basis-Skalierungsschicht 1002, als auch die Er- weiterungs-Skalierungsschicht 1004 aus dem gemeinsamen Bit¬ strom zu extrahieren. Die Basis-Skalierungsschicht 1002 wird einem Basis-Bild-Decodierer 1060 zugeführt, der ausge- bildet ist, um die Basis-Skalierungsschicht zu decodieren, um eine decodierte Basis-Folge von Restfehlerbildern und um Basis-Bewegungsdaten zu erhalten, die an einer Ausgangslei¬ tung 1062 anliegen. Die Ausgangssignale an der Leitung 1062 werden dann einem Basis-Bewegungs-Kombinierer 1064 zuge- führt, der die im Encodierer in dem Block 1012 eingeführte Basis-Bewegungsprädiktion wieder rückgängig macht, um aus- gangsseitig decodierte Bilder der ersten Skalierungsschicht auszugeben. Der erfindungsgemäße Decodierer umfasst ferner einen Erweiterungs-Bild-Decodierer 1066 zum Decodieren der Erweiterungs-Skalierungsschicht 1004, um Erweiterungs-FIG. 2 shows an apparatus for decoding a coded video sequence that includes the base scaling layer 1002 and the enhancement scaling layer 1004. The expansion scaling layer 1004 and the base scaling layer 1002 may be derived from a bitstream demultiplexer that demultiplexes a scalable bitstream with both scaling layers to include both the base scaling layer 1002 and the expansion scaling layer 1004 of FIG extract common bitstream. The base scaling layer 1002 is supplied to a basic image decoder 1060 which is adapted to decode the base scaling layer to obtain a decoded basic sequence of residual error images and to obtain basic motion data at an output line device 1062. The output signals on line 1062 are then fed to a base-motion combiner 1064, which reverses the base motion prediction introduced in the block 1012 in the encoder to output the decoded pictures of the first scaling layer on the output side. The decoder according to the invention further comprises an expansion image decoder 1066 for decoding the expansion scaling layer 1004 to allow expansion
Prädiktions-Restfehlerbilder an einer Ausgangsleitung 1068 zu erhalten. Die Ausgangsleitung 1068 umfasst ferner Bewe- gungsdaten-Infomationen, wie beispielsweise die Bewegungs¬ daten-Flag 1070 oder, falls tatsächlich Erweiterungs- Bewegungsdaten oder Erweiterungs-Bewegungsdaten-Restwerte in der Erweiterungs-Skalierungsschicht 1004 waren, diese Erweiterungs-Bewegungsdaten. Die decodierte Basis-Folge auf der Leitung 1062 wird nunmehr entweder durch einen Interpo- lator 1070 interpoliert oder unverändert (Leitung 1072) ei¬ nem Zwischen-Schicht-Kombinierer 1074 zugeführt, um die vom Zwischen-Schicht-Prädiktor 1018 von Fig. Ia vorgenommene Zwischen-Schicht-Prädiktion wieder rückgängig zu machen. Der Zwischen-Schicht-Kombinierer ist also ausgebildet, um die Erweiterungs-Prädiktions-Restfehlerbilder mit Informa¬ tionen über die decodierte Basis-Folge auf der Leitung 1062, seien sie interpoliert (1070) oder nicht (1072), zu kombinieren, um eine Erweiterungs-Folge von Restfehlerbil- dexn zu erhalten, die schließlich einem Erweiterungs-To obtain prediction residual error images on an output line 1068. The output line 1068 further includes motion data information, such as the motion data flag 1070 or, if actual expansion motion data or expansion motion data residuals were in the enhancement scaling layer 1004, this extension motion data. The decoded basic sequence on the line 1062 is now replaced either by an interpolation lator 1070 is interpolated or unmodified (line 1072) to an interlayer combiner 1074 to undo the interlayer prediction made by the interlayer predictor 1018 of FIG. 1a. The inter-layer combiner is thus designed to combine the extension prediction residual error images with information about the decoded basic sequence on the line 1062, be they interpolated (1070) or not (1072), an extension Sequence of residual defect images, which will eventually
Be^wegungs-Kombinierer 1076 zugeführt wird, der ebenso wie de_r Basis-Bewegungs-Kombinierer 1064 die auch in der Erwei¬ te-trungsSchicht vorgenommene Bewegungs-Kompensation rückgän¬ gig macht. Der Erweiterungs-Bewegungs-Kombinierer 1076 ist mit einem Bewegungsdatenermittler 1078 gekoppelt, um für die Bewegungs-Kombination im Block 1076 die Bewegungsdaten zu liefern. Die Bewegungsdaten können tatsächlich vom Er- wexterungs-Bild-Decodierer am Ausgang 1068 gelieferte volle Erweiterungs-Bewegungsdaten für die Erweiterungsschicht sein. Alternativ können die Erweiterungs-Bewegungsdaten auch Bewegungsdaten-Restwerte sein. In beiden Fällen werden die entsprechenden Daten über eine Erweiterungs- Bewegungsdaten-Leitung 1080 dem Bewegungsdaten-Ermittler 1078 zugeführt. Signalisiert die Bewegungsdaten-Flag 1070 jedoch, dass für die Erweiterungs-Schicht keine eigenen Er- weiLterungs-Bewegungsdaten übertragen worden sind, so werden notwendige Bewegungsdaten über eine Leitung 1082 von der Basis-Schicht geholt, und zwar je nach verwendeter Skalier- bar-keit, entweder direkt (Leitung 1084) oder nach einer Hochtastung durch einen Hochtaster 1086.Be ^ wegungs combiner 1076 is supplied, makes the like de_r base motion combiner 1064 the distinction made in the Erwei¬ te-trungsSchicht motion compensation rückgän¬ gig. The expansion motion combiner 1076 is coupled to a motion data determiner 1078 to provide the motion data for the motion combination in block 1076. The motion data may actually be full extension motion data for the enhancement layer provided by the interpolation image decoder at the output 1068. Alternatively, the extension movement data may also be movement data residual values. In either case, the corresponding data is supplied via an extension motion data line 1080 to the motion data determiner 1078. However, if the motion data flag 1070 signals that no enhancement strobe data has been transmitted for the enhancement layer, necessary motion data is fetched from the base layer via a line 1082, depending on the scalability used , either directly (line 1084) or after a high-key through a 1086 push-button.
Im Fall einer Zwischen-Schicht-Prädiktion von INTRA- Blöcken, also keinen Bewegungsdaten-Restwerten, ist auf De- codiererseite ferner eine entsprechende Verbindung zwischen dem Erweiterungs-Bewegungs-Kombinierer 1076 und dem Basis- Bewegungs-Kombiriierer 1064 vorgesehen, die je nach räumli¬ cher Skalierbarlceit einen Interpolator 1090 aufweist oder eine Umweg-Leitung, wenn nur eine SNR-SkaJLierbarkeit einge¬ setzt worden ist . Im Fall einer optionalen Intrablock- Prädiktion zwischen zwei Schichten wird der Erweiterungs¬ schicht für diesen Intra-Makroblock lediglich ein Prädikti- ons-Restsignal übertragen, was durch entsprechende Signali- sierungsinformatIonen im Bitstrom bekannt gegeben wird. In diesem Fall wird der Erweiterungs-Beweguncjs-Komprimierer zusätzlich zu dex nachfolgend noch dargelegten Funktionali¬ tät auch für diesen einen Makroblock eine Summenbildung, also eine Kombination zwischen den MakroblLock-Restwerten und den Makroblock-Werten aus der niedrigeren Skalierungs¬ schicht durchführen und dann den erhaltenen Makroblock der eigentlichen inversen Bewegungs-KompensatLons-Verarbeitung zuzuführen.In the case of an inter-layer prediction of INTRA blocks, that is to say no residual data for movement data, reference is made to FIG. Furthermore, a corresponding connection between the expansion-motion combiner 1076 and the base-motion combiner 1064 is provided, which has an interpolator 1090 depending on the spatial scalability, or a detour line if only one SNR scalability has been used is. In the case of an optional intra-block prediction between two layers, the extension layer is only transmitted a prediction residual signal for this intra-macroblock, which is announced by appropriate signaling information in the bit stream. In this case, in addition to the functionality set out below, the expansion motion compressor will also carry out a sum formation for this one macroblock, that is to say a combination between the Makrobllock residual values and the macroblock values from the lower scaling layer and then the obtained macroblock of the actual inverse motion compensation processing.
Nachfolgend wird bezugnehmend auf die Figuren 3 bis 5d auf eine bevorzugte A.usführungsform des Basis-Bewegungs- Prädiktors 1012 oder des Erweiterungs-Bewegungs-Prädiktors 1016 bzw. des inversen Elements, also des Erweiterungs- Bewegungs-Kombinierers 1076 oder des Basis—Bewegungs- Kompensierers 1064 eingegangen.Referring now to FIGS. 3 to 5d, a preferred embodiment of the basic motion predictor 1012 or the expansion motion predictor 1016 or the inverse element, that is, the expansion motion combiner 1076 or the base motion detector 1016 is shown. Compensator 1064 received.
Prinzipiell kann jeder Bewegungs-Kompensations-Prädiktions- Algorithmus eingesetzt werden, also auch der Bewegungs- Kompensations-Alg-orithmus, der bei 92 in Fig. 9 dargestellt worden ist. So gehorcht der konventionelle Bewegungs-In principle, any motion compensation prediction algorithm may be used, including the motion compensation algorithm described at 92 in FIG. So the conventional movement
Kompensations-Alg-orithmus ebenfalls der in Fig. gezeigten Systematik, wobei jedoch der Aktualisierungs-Operator U, der in Fig. 4 mit dem Bezugszeichen 45 dargestellt ist, de- aktiviert ist. Dies führt dazu,- dass eine Gruppe von Bil¬ dern in ein Ursprungsbild und davon gewissermaßen abhängige Restbilder bzw. Prädiktions-Restsignale oder Restfehlerbil— der umgewandelt wird. Wird jedoch in dem bekannten Bewe- gungs-Kompensationsschema eine Erweiterung dahingehend imp¬ lementiert, dass der Aktualisierungs-Operator, wie es in Fig. 4 dargestellt ist, aktiv JLst und z.B. so berechnet wird, wie es anhand der Figuren 5a bis 5d dargestellt ist, so wird aus der normalen Bewegiαngs-Kompensations- Prädiktions-Berechnung die sogenannte MCTF-Verarbeitung, die auch als Bewegungs-kompensLertes zeitliches Filtern be¬ zeichnet wird. Hierbei wird durrch die Aktualisierungs- Operation aus dem normalen Bild. bzw. INTRA-BiId der konven¬ tionellen Bewegungskompensation, ein Tiefpass-Bild, da das ursprüngliche Bild durch das mit dem Aktualisierungs- Operator gewichtete Prädiktions-Restsignal kombiniert wird.Compensation algorithm also of the system shown in FIG. 1, but with the updating operator U, which is represented by the reference symbol 45 in FIG. is activated. As a result, a group of images is converted into an original image and to a certain extent dependent residual images or prediction residual signals or residual error images. However, in the known motion compensation scheme, an extension is implemented such that the update operator, as shown in FIG. 4, is actively calculated and, for example, as illustrated with reference to FIGS. 5a to 5d , then the normal motion compensation prediction calculation becomes the so-called MCTF processing, which is also referred to as motion-compensated temporal filtering. This will make the update operation from the normal image. or INTRA image of the conventional motion compensation, a low-pass image, since the original image is combined by the prediction residual signal weighted by the update operator.
Bei dem bevorzugten Ausführungstoeispiels der vorliegenden Erfindung wird, wie es bereits anhand der Figuren Ia und 2 beschrieben worden ist, eine solche MTCF-Verarbeitung für jede Skalierungsschicht durchgeführt, wobei die MCTF- Verarbeitung vorzugsweise derart: stattfindet, wie es anhand der Figuren 3 bis 5d und 7 bis 8 beschrieben ist.In the preferred embodiment of the present invention, as already described with reference to FIGS. 1a and 2, such MTCF processing is performed for each scaling layer, the MCTF processing preferably taking place as shown in FIGS. 3 to 5d and Figs. 7 to 8 is described.
Nachfolgend wird Bezug nehmend auf die Fig. 4 und die nach¬ folgenden Figuren 5a-5d auf die bevorzugte Ausführungsform des bewegungskompensierten Präd±ktionsfilters eingegangen. Wie es bereits ausgeführt worden ist, besteht das bewe¬ gungskompensierte zeitliche Filter (MCTF; MCTF = motion- compensated temporal Filter) aus einem allgemeinen Lifting- schema mit drei Schritten, nämli-ch der Polyphasenzerlegung, der Prädiktion und der Aktualisierung. In Fig. 4 ist die entsprechende Analyse/Synthese-F"ilterbankstruktur gezeigt. Auf der Analysesseite werden die ungeraden Abtastwerte ei¬ nes gegebenen Signals durch eine lineaire Kombination der geradzahligen Abtastwerte unter Verwendung des Prädiktion¬ soperators P und eines Hochpassignals H auf die Prädikti- onsrestwerte gefiltert. Ein entsprechendes Tiefpassignal 1 wird durch Addieren einer Linearkombination der Prädikti- onsrestwerte h mit den geradzahligen Arotastwerten des Ein¬ gangssignals s unter Verwendung des Aktualisierungsopera¬ tors gebildet. Der gleichungsmäßige Zusammenhang der in Fig. 4 gezeigten Größen h und 1 sowie der prinzipiellenIn the following, reference will be made to the preferred embodiment of the motion-compensated prediction filter with reference to FIG. 4 and the subsequent FIGS. 5a-5d. As already stated, the motion-compensated temporal filter (MCTF) consists of a general lifting scheme with three steps, namely the polyphase decomposition, the prediction and the updating. FIG. 4 shows the corresponding analysis / synthesis filter bank structure. On the analysis side, the odd samples of a given signal are filtered by a linear combination of the even samples using the prediction operator P and a high pass signal H to the prediction residual values. A corresponding low-pass signal 1 is formed by adding a linear combination of the prediction residual values h to the even-numbered arotast values of the input signal s using the updating operator. The equation-related relationship of the variables h and 1 shown in Fig. 4 and the principal
Ausführungsformen der Operatoren P und U ist in Fig. 5a ge¬ zeigt.Embodiments of the operators P and U is shown in FIG. 5a.
Da sowohl der Prädiktionsschritt als auch der Aktualisie- rungsschritt vollständig invertierbar s ind, kann die ent¬ sprechende Transformation als kritisch abgetastete Perfekt- rekonstruktionsfilterbank betrachtet werden. Die Synthese¬ filterbank umfasst die Anwendung des Prsdiktionsoperators und des Aktualisierungsoperators in umgekehrter Reihenfolge mit den invertieren Vorzeichen im Summationsprozess, wobei die geraden und die ungeraden Polyphasenkomponenten verwen¬ det werden. Für eine Normierung der Hoctipass/Tiefpass- Komponenten werden entsprechende Skalieirungsfaktoren Fi und Fh verwendet. Diese Skalierungsfaktoren müssen nicht unbe- dingt verwendet werden, sie können jedoch eingesetzt wer¬ den, wenn Quantisiererschrittgrößen während der Codierung ausgewählt werden.Since both the prediction step and the updating step are completely invertible, the corresponding transformation can be regarded as a critically sampled perfect reconstruction filter bank. The synthesis filter bank comprises the application of the prediction operator and the update operator in reverse order with the inverse sign in the summation process, wherein the even and the odd polyphase components are used. For a normalization of the Hoctipass / low-pass components corresponding scaling factors Fi and F h are used. These scaling factors do not necessarily have to be used, but they can be used if quantizer step sizes are selected during encoding.
Es zeigt f[x, k] ein Videosignal mit den Raumkoordinaten x = (x,y)τ, wobei k die Zeitkoordinate ist. Der Prädiktionsope¬ rator P und der Aktualisierungsoperator U für die zeitliche Zerlegung unter Verwendung der Liftingdaxstellung des Haar- Wavelets ist gegeben, wie es links in Ficj, 5b gezeigt ist. Für die 5/3-Transformation ergeben sich die entsprechenden Operatoren so, wie es rechts in Fig. 5b gezeigt ist. Die Erweiterung auf die bewegungskompensierte zeitliche Filte¬ rung wird durch Modifikation des Prädiktionsoperators und des Aktualisierungsoperators wie in Fig. 5c gezeigt, er¬ reicht. Besonders sei auf die Referenzindizes r > 0 verwie¬ sen, die eine allgemeine Bild-adaptive bewegungskompensier¬ te Filterung erlauben. Durch diese Referenzindizes kann si¬ chergestellt werden, dass bei- dem in Fig. 4 dargestellten Szenario nicht immer lediglich zwei zeitlich unmittelbar aufeinanderfolgende Bilder in ein Hochpassbild und in ein Tiefpassbild zerlegt werden, sondern dass zum Beispiel ein erstes Bild mit einem dritten Bild einer Sequenz bewegungs- kompensiert gefiltert werden kann. Alternativ ermöglich die geeignete Wahl der Referenzindizes, dass z. B. auch ein und dasselbe Bild einer Folge von Sequenzen dazu verwendet wer¬ den kann, als Basis für den Bewegungsvektor zu dienen. Dies bedeutet, dass die Referenzindizes beispielsweise bei einer Folge von acht Bildern ermöglichen, dass alle Bewegungsvek- toren z. B. auf das vierte Bild dieser Folge bezogen sind, so dass sich am Ende durch Verarbeitung dieser acht Bilder durch das Filterschema in Fig_ 4 ein einziges Tiefpassbild ergibt, und dass sich sieben Hochpassbilder (Erweiterungs¬ bilder) ergeben, und dass sämtliche Bewegungsvektoren, wo bei jedem Bewegungsvektor ein Erweiterungsbild zugeordnet ist, auf ein- und dasselbe BiILd der ursprünglichen Sequenz beziehen.It shows f [x, k] a video signal with the space coordinates x = (x, y) τ , where k is the time coordinate. The prediction operator P and the temporal decomposition updating operator U using the Haar hair wavelet lifting facial position are given, as shown on the left in Fig. 5b. For the 5/3 transformation, the corresponding operators result as shown on the right in FIG. 5b. The extension to the motion-compensated temporal filter is achieved by modifying the prediction operator and the update operator as shown in FIG. 5c. Particular reference should be made to the reference indices r> 0, which permit general image-adaptive motion-compensated filtering. It can be ensured by means of these reference indices that in the scenario illustrated in FIG. 4, not only two temporally successive images are always decomposed into a high-pass image and a low-pass image, but that, for example, a first image with a third image of a sequence motion compensated can be filtered. Alternatively, the appropriate choice of reference indices allows for e.g. For example, one and the same image of a sequence of sequences can be used to serve as the basis for the motion vector. This means that the reference indices allow, for example, for a sequence of eight images, that all motion vectors z. B. are related to the fourth image of this sequence, so that at the end by processing these eight images through the filter scheme in Figure 4 results in a single low-pass image, and that there are seven Hochpassbilder (Erweiterungs¬ images), and that all motion vectors, where for each motion vector, an enhancement image is assigned to refer to the same IMAGE of the original sequence.
Wenn somit ein- und dasselbe Bild einer Sequenz als Refe- renz für die Filterung mehrerer weiterer Bilder verwendet wird, führt dies zu einer nicht: dem Faktor 2 gehorchenden zeitlichen Auflösungsskalierung, was für bestimmte Anwen¬ dungen von Vorteil sein kann. Es wird in den unteren Zweig der Analyse-Filterbank in Fig. 4 immer dasselbe Bild, näm¬ lich beispielsweise das vierte Bild der Folge aus acht Bil¬ dern, eingespeist. Das Tiefpassbild ist bei jeder Filterung dasselbe, nämlich das letztendlich erwünschte einzige Tief- passbild der Folge von Bildern. Wenn de:r Aktualisierungspa¬ rameter Null ist, wird das Basisbild einfach durch den un¬ teren Zweig gewissermaßen "durchgeschleust". Dagegen ist das Hochpassbild immer abhängig von dem entsprechenden an¬ deren Bild der ursprünglichen Folge und dem Prädiktionsope- rator, wobei der zu diesem Eingangsbild zugehörige Bewe¬ gungsvektor bei der Prädiktion verwendet wird. In diesem Fall kann man daher sagen, dass das letztendlich erhaltene Tiefpassbild einem bestimmten Bild der ursprünglichen Folge von Bildern zugeordnet ist, und dass auch jedes Hochpass- bild einem Bild der ursprünglichen Folge zugeordnet ist, wobei genau die Abweichungen des ursprünglichen Bilds der Folge (einer Bewegungskompensation) von dem gewählten Ba¬ sisbild der Folge (das in dem unteren Zweig der Analyse- Filterbank von Fig. 4 eingespeist wird) entspricht. Wenn jeder Aktualisierungsparameter MOi, Mu, IM2I und M3i gleichThus, if one and the same image of a sequence is used as a reference for the filtering of a plurality of further images, this does not result in a temporal resolution scale that obeys factor 2, which can be advantageous for certain applications. It gets into the lower branch The analysis filter bank in FIG. 4 is always fed the same picture, namely, for example, the fourth picture of the sequence of eight pictures. The low-pass image is the same for each filtering, namely the ultimately desired single low-pass image of the sequence of images. If the updating parameter is zero, the basic image is simply "passed through" by the lower branch. In contrast, the high-pass image is always dependent on the corresponding other image of the original sequence and the prediction operator, the motion vector associated with this input image being used in the prediction. In this case, therefore, it can be said that the finally obtained low-pass image is associated with a particular image of the original sequence of images, and that also each high-pass image is associated with an image of the original sequence, with exactly the deviations of the original image of the sequence (a Motion compensation) from the selected basic picture of the sequence (which is fed in the lower branch of the analysis filter bank of FIG. 4). If each update parameter M O i, Mu, IM 2I and M 3 i equal
Null ist, führt dies dazu, dass das in den unteren Zweig 73 der vierten Ebene eingespeiste Bild einfach nach unten „durchgeschleift" wird. Das Tiefpassbild TPl wird gewisser¬ maßen "wiederholt" in die Filterbank eingespeist, während die anderen Bilder - gesteuert durch die Referenzindizes - nach und nach in den Eingang 64 von Fig. 3 eingeführt wer¬ den.Zero, this leads to the image fed into the lower branch 73 of the fourth level being simply "looped through." The low-pass image TP1 is to some extent "repeatedly" fed into the filter bank, while the other images are controlled by the Reference indices - gradually introduced into the input 64 of Fig. 3 wer¬ the.
Wie es aus den vorstehenden Gleichungen zu sehen ist, lie- fern die Prädiktions- bzw. Aktualisierungsoperatoren für die bewegungskompensierte Filterung für die zwei verschie¬ denen Wavelets unterschiedliche Prädiktionen. Wenn das Haar-Wavelet verwendet wird, wird eine unidirektionale be- wegungskompensierte Prädiktion erreicht. Wird dagegen das 5/3-Spline-Wavelet eingesetzt, so spezifizieren die beiden Operatoren eine bidirektionale bewegungskompensierte Prä¬ diktion.As can be seen from the above equations, delivery far the prediction and update operators for motion compensated filtering for the two various ¬ which wavelets different predictions. When the Haar wavelet is used, a unidirectional achieved motion-compensated prediction. If, on the other hand, the 5/3 spline wavelet is used, the two operators specify a bidirectional motion-compensated prediction.
Da die bidirektionale kompensierte Prädiktion allgemein die Energie des Prädiktionsrestwerts reduziert, jedoch die Be¬ wegungsvektorrate im Vergleich zu einer unidirektionalen Prädiktion erhöht, ist es wünschenswert, dynamisch zwischen. der unidirektionalen und der bidirektionalen Prädiktion hin- und herzuschalten, was bedeutet, dass zwischen einer Liftingdarstellung des Haar-Wavelets und des 5/3-Splin- Wavelets abhängig von einem bildabhängigen Steuersignal hin- und hergeschaltet werden kann. Das erfindungsgemäße Konzept, das keine geschlossene Rückkopplungsschleife zur zeitlichen Filterung verwendet, erlaubt ohne weiteres diese makroblockweise Hin- und Herschaltung zwischen zwei Wave- lets, was wiederum der Flexibilität und insbesondere der Datenrateneinsparung dient, die optimal signalangepasst durchführbar ist.Since bi-directional compensated prediction generally reduces the energy of the prediction residual, but increases the motion vector rate compared to unidirectional prediction, it is desirable to dynamically interpolate. switching back and forth between unidirectional and bi-directional prediction, which means that a lift representation of the Haar wavelet and the 5/3 spline wavelet can be toggled dependent on a picture-dependent control signal. The concept according to the invention, which does not use a closed feedback loop for temporal filtering, readily permits this macroblock switching back and forth between two wavelets, which in turn serves the flexibility and in particular the data rate saving, which is optimally adapted to the signal.
Um die Bewegungsfelder oder allgemeiner gesagt die Prädik¬ tionsdatenfelder Mp und Mo darzustellen, kann vorteilhaft¬ erweise auf die bestehende Syntax der B-Slices in H.264/AVC zurückgegriffen werden.In order to display the movement fields or more generally the prediction data fields Mp and Mo, it is advantageously possible to resort to the existing syntax of the B slices in H.264 / AVC.
Durch Kaskadieren der paarweisen Bildzerlegungsstufen wird eine dyadische Baumstruktur erhalten, die eine Gruppe von 2n-Bildern in 2n~1-Restbilder und ein einziges Tiefpass-A dyadic tree structure is obtained by cascading the paired image decomposition levels, a group of 2 n 2 n -1 in -images -Restbilder and a single low-pass
(oder Intra-)Bild zerlegt, wie es anhand von Fig. 7 für ei¬ ne Gruppe von acht Bildern dargestellt ist. Insbesondere zeigt Fig. 7 das Hochpass-Bild HPl der ersten Ebene am Aus- gang 22 des Filters erster Ebene sowie das Tiefpass-Bild erster Ebene am Ausgang 24 des Filters erster Ebene . Die beiden Tiefpass-Bilder TP2 am. Ausgang 16 des Filters zwei¬ ter Ebene sowie die beiden Hochpass-Bilder, die aus der zweiten Ebene erhalten werden , sind in Fig . 7 als Bilder der zweiten Ebene gezeigt . D-L e Tiefpass-Bilder dritter Ebe¬ ne liegen am Ausgang 76 des Filters dritter Ebene an, wäh¬ rend die Hochpass-Bilder drit ter Ebene am Ausgang 75 in weiterverarbeiteter Form vorl iegen . Die Gruppe von acht Bildern könnte ursprünglich a cht Videobilder umfassen, wo¬ bei dann der Decodierer von Fig . 3 ohne vierte Filterebene eingesetzt werden würde . Ist die Gruppe von acht Bildern dagegen eine Gruppe von acht Tiefpass-Bildern, wie sie am Ausgang 73 des Filters vierte x Ebene eingesetzt werden, so kann die erfindungsgemäße MCT F-Zerlegung als Basis-(or intra) image decomposed, as shown with reference to FIG. 7 for ei ¬ ne group of eight images. In particular, FIG. 7 shows the first-level high-pass image HPl on the output. first level filter 22 and the first level low-pass image at the output 24 of the first level filter. The two low-pass images TP2 at the output 16 of the second-level filter and the two high-pass images obtained from the second plane are shown in FIG. 7 shown as second level images. DL e low-pass images of third planes are present at the output 76 of the third-level filter, while the high-pass images on the third level are present at the output 75 in a further processed form. The group of eight images could originally comprise a video image, and then the decoder of FIG. 3 would be used without fourth filter level. If, on the other hand, the group of eight images is a group of eight low-pass images, as they are used at the output 73 of the filter fourth x plane, then the MCT F decomposition according to the invention can be used as a basis.
Bewegungs-Prädiktor, Erweiter iings-Bewegungs-Prädiktor, bzw . als Basis-Bewegungs-Kombinierer oder Erweiterungs- Bewegungs-Kombinierer eingesetzt werden .Motion predictor, extension iings motion predictor, resp. be used as a base-motion combiner or expansion-motion combiner.
Allgemein gesagt werden bei dieser Zerlegung somit eineGenerally speaking, in this decomposition, a
Gruppe von 2n Bildern, (2n+1~2) Bewegungsfeldbeschreibungen, (211"1) Restbilder sowie ein einziges Tiefpass- (oder INTRA-) Bild übertragen .Group of 2 n images, (2 n + 1 ~ 2 ) motion field descriptions, (2 11 "1 ) residual images, and a single low-pass (or INTRA) image.
Sowohl der Basis-Bewegungs-Kornpensierer als auch derBoth the basic motion kernel pusher and the
Erweiterungs-Bewegungs-Kompensierer werden vorzugsweise durch einen Basis-Steuerparameter bzw . einen Erweiterungs- Steuerparameter gesteuert, um eine abhängig von einer be¬ stimmten Rate festgelegte opt±male Kombination eines Quan- tisierungs-Parameters ( 1034 oder 1036 ) und Bewegungsinfor¬ mationen zu berechnen . Hierbei wird gemäß nachfolgender Me¬ thodik vorgegangen, um ein optimales Verhältnis bezüglich einer bestimmten maximalen Bit rate zu erhalten . So hat sich herausgestellt, dass für niedrige Bitraten, also für rel_a- tiv grobe Quantisierungs-Parameter die Bewegungsvektoreix stärker ins Gewicht fallen als für höhere Skalierungs¬ schichten, bei denen relativ feine Quantisierungs-Parame ter genommen werden. Daher werden für Fälle grober Quantisie¬ rung und damit niedriger Bitrate eher weniger Bewegungsd^- ten berechnet als für höhere Skalierungsschichten. So wiαrd es bei höheren Skalierungsschichten bevorzugt, in Sub- Makroblock-Modi zu gehen, um für eine gute Qualität und für eine optimale Situation bei der hohen Bitrate eher viele Bewegungsdaten zu berechnen als im Fall einer niedrigen Bitrate, bei der die Bewegungsdaten prozentual stärker ins Gewicht fallen im Hinblick auf die Restdaten als im Fall einer höheren Skalierungsschicht. Dies wird nachfolgend dargelegt.Extension motion compensators are preferably by a base control parameter or. controls an expansion control parameter in order to calculate an optimum combination of a quantization parameter (1034 or 1036) and motion information defined as a function of a certain rate. This is done according to the following methodology in order to obtain an optimal ratio with respect to a certain maximum bit rate. That's how it is emphasized that for low bit rates, ie for relatively coarse quantization parameters, the motion vectors are of greater importance than for higher scaling layers in which relatively fine quantization parameters are taken. Therefore, for cases of coarse quantization and thus lower bit rate, rather fewer motion data are calculated than for higher scaling layers. Thus, in higher scaling layers, it is preferable to go into sub-macroblock modes to compute more motion data for a good quality and for an optimal situation at the high bit rate than in the case of a low bit rate where the motion data is more heavily in percent Weight is lower in terms of residual data than in the case of a higher scaling layer. This will be explained below.
Die Bilder A und B seien gegeben, die entweder ursprüngli¬ che Bilder sind, oder Bilder, die Tiefpaß-Signale darstel¬ len, die in einer vorherigen Analyse-Stufe erzeugt werden - Ferner werden die entsprechenden Arrays von Luma-Let images A and B be given, which are either original images or images representing low-pass signals which are generated in a previous analysis stage. Furthermore, the corresponding arrays of luma pixels are used.
Abtastwerten a[] und b[] bereitgestellt. Die Bewegungsbe¬ schreibung Mio wird in einer Makroblock-weisen Art und Wei¬ se folgendermaßen geschätzt:Samples a [] and b [] are provided. The movement description Mio is estimated in a macroblock-wise manner and in the following way:
Für alle möglichen Makroblock- und Sub-Makroblock-Teilung&n eines Makroblocks i innerhalb des Bildes B werden die zuge¬ ordneten BewegungsvektorenFor all possible macroblock and sub-macroblock division & n of a macroblock i within the picture B, the associated motion vectors become
Mi = [mx, my]τ Mi = [m x, m y] τ
durch Minimieren des Lagrange-Funktionals Hi1.=argmϊüeiSn{D8^(i,m)+λ•R(i,m) } bestimmt,by minimizing the Lagrange function Hi 1 = argmϊüeiSn {D 8 ^ (i, m) + λ • R (i, m)} certainly,
wobei der Verzerrungsterm folgendermaßen gegeben ist:the distortion term being given as follows:
Hierbei spezifiziert S den Bewegungsvektor-Suchbereich in¬ nerhalb des Referenzbildes A. P ist der Bereich, der durch die betrachtete Makroblock-Teilung oder Sub-Makroblock- Teilung überstrichen wird. R(i,m) spezifiziert die Anzahl von Bits, die benötigt werden, um alle Komponenten des Be¬ wegungsvektors m zu übertragen, wobei D ein fester Lagran- ge-Multiplizierer ist.Here, S specifies the motion vector search area within the reference picture A. P is the area which is swept by the subject macroblock division or sub-macroblock division. R (i, m) specifies the number of bits needed to transmit all the components of the motion vector m, where D is a fixed Lagrangian multiplier.
Die Bewegungssuche schreitet zunächst über alle Ganzzahl- Abtastwert-genauen Bewegungsvektoren in dem gegebenen Suchbereich S fort. Dann, unter Verwendung des besten Ganzza-hl-Bewegungsvektors werden die 8 umgebenden Halb- Abtastwert-genauen Bewegungsvektoren getestet. Schließlich wird ianter Verwendung des besten Halb-Abtastwert-genauen Bewegiαngsvektors die 8 umgebenden Viertel-Abtastwert- genauen Bewegungsvektoren getestet. Für die Halb- und die Viertel- Abtastwert-genaue Bewegungsvektor-Verbesserung wird der Terrα a[x-mx,y-my]The motion search first proceeds through all integer sample accurate motion vectors in the given search area S. Then, using the best Ganzza hl motion vector, the 8 surrounding half sample accurate motion vectors are tested. Finally, using the best half-sample-accurate motion vector, the 8 surrounding quarter-sample accurate motion vectors are tested. For the half and quarter sample accurate motion vector enhancement, the Terrα a [xm x , ym y ]
als Int:erpolationsoperator interpretiert.interpreted as Int: erpolationsoperator.
Die Mocius-Entscheidung für den Makroblock-Modus und den Sub-Makroblock-Modus folgt grundsätzlich demselben Lösungs¬ ansatz . Von einem gegebenen Satz von möglichen Makroblock¬ oder Sub-Makroblock-Modi SmOde/ wird der Modus pi der das folgende Lagrange-Funktional minimiert, ausgewählt: P1 = arg min { D5^ (i,p) -+- λ ■ R(i, p) }The Mocius decision for the macroblock mode and the sub-macroblock mode basically follows the same approach. From a given set of possible macroblock ¬ or sub-macroblock modes S Mode / mode is pi of the following Lagrangian functional minimizing selected: P 1 = arg min {D 5 ^ (i, p) - + - λ ■ R (i, p)}
PeSmoäcP eS moäc
Der Verzerrungsterrn ist folgendermaßen gegeben:The distortion window is given as follows:
DSAD(i,p)= ∑\b[x,y]-a[x-mx[p,x,y],y-my[p,x,y]]\D SAD (i, p) = Σ \ b [x, y] -a [xm x [p, x, y], ym y [p, x, y]] \
(x,y)eP(X, y) eP
wobei P den Makroblock oder Sub-Makroblock-Bereich spezifi¬ ziert, und wobei m[p,x,y] der Bewegungsvektor ist, der dem Makroblock- oder Sub-Makroblock-Modus p und der Teilung o- der Sub-Makroblock—Teilung zugeordnet ist, die die Luma- Position (x,y) umfasst.where P specifies the macroblock or sub-macroblock area, and where m [p, x, y] is the motion vector, the macroblock or sub-macroblock mode p and the pitch o- of the sub-macroblock pitch associated with the luma position (x, y).
Der Ratenterm R(i,jp) stellt die Anzahl von Bits dar, die der Wahl des Codierrmodus p zugeordnet sind. Für die Bewe- gungs-kompensiertera Codiermodi umfasst derselbe die Bits für den Makroblock—Modus (falls zutreffend) , den bzw. die Sub-Makroblock-Modi. (falls zutreffend) und den bzw. die Be¬ wegungsvektoren. Für den Intra-Modus umfasst derselbe die Bits für den Makroblock-Modus und die Arrays von quanti- sierten Luma- und Chroma-Transformation-Koeffizienten- Pegeln.The rate term R (i, jp) represents the number of bits associated with the choice of coding mode p. For the motion compensated coding modes, it includes the bits for the macroblock mode (if applicable), the sub-macroblock mode (s). (if applicable) and the motion vector (s). For the intra mode, it includes the bits for the macroblock mode and the arrays of quantized luma and chroma-transform coefficient levels.
Der Satz von möglichen Sub-Makroblock-Modi wird durchThe set of possible sub-macroblock modes is through
{P_8x8, P_8x4, P_4κ:8, P_4x4 }{P_8x8, P_8x4, P_4κ: 8, P_4x4}
gegeben. Der Satz von möglichen Makroblock-Modi wird durchgiven. The set of possible macroblock modes is through
{P 16x16, P 16x8, P 8x16, P 8x8, INTRA} gegeben, wobei der INTRA-Modus nur verwendet wird, wenn ei¬ ne Bewegungsfeldbeschreibung Mio, die für den Prädikti¬ onsschritt verwendet wird, geschätzt wird .{P 16x16, P 16x8, P 8x16, P 8x8, INTRA} the INTRA mode is only used if a motion field description Mio used for the predictive step is estimated.
5 Der Lagrange-Multiplizierer λ wiαrd abhängig von dem Basis¬ schicht-Quantisierungs-Parameter für das bzw . die_ Hochpass- Bilder QPH± der Zerlegungsstufe, für die das Bewegungsfeld geschätzt wird, gemäß folgender Gleichung gesetzt :5 The Lagrangian multiplier λ is dependent on the base layer quantization parameter for the resp. the high-pass images QP H ± of the decomposition level for which the motion field is estimated are set according to the following equation:
I O λ = 033 -2A(QPm /3 -4)IO λ = 033 -2 A (QP m / 3 -4)
Erfindungsgemäß wird das in Fig . 8 gezeigte Zerlegungssche¬ ma verwendet, von dem ausgegangen wird, dass es einen ver¬ nünftigen Kompromiss zwischen ze itlicher Skalierbarkeit undAccording to the invention, the in Fig. 8, which is assumed to be a reasonable compromise between physical scalability and
15 Codier-Wirkungsgrad ermöglicht . Die Sequenz der ursprüngli¬ chen Bilder wird als Sequenz von Eingangsbildern A, B, A, B, A, B . . . A, B behandelt . Somit liefert dieses Schema eine Stufe mit optimaler zeitlicher S kalierbarkeit (gleicher Ab¬ stand zwischen den Tiefpass-Bildern) . Die Sequenz von Tief-15 coding efficiency allows. The sequence of the original images is called a sequence of input images A, B, A, B, A, B. , , A, B treated. Thus, this scheme provides a stage with optimal temporal scalability (equal spacing between the low-pass images). The sequence of deep
2 0 pass-Bildern, die als Eingangs-S dgnal in alle folgenden2 0 pass pictures, which as input signal in all following
Zerlegungsstufen verwendet werden, werden als Sequenzen von Eingangsbildern B, A, A, B, B, A . . . A, B behandelt, wo¬ durch die Abstände zwischen den Tiefpass-Bildern, die zer¬ legt werden in dem folgenden Zwe ±-Kanal-Analyse-Schema,Zerlegungsstufen be used as sequences of input images B, A, A, B, B, A. , , A, B deals with, whereby the distances between the low-pass images which are decomposed in the following two-channel analysis scheme,
2 5 klein gehalten werden, wie es in Fig . 8 zu sehen ist .2 5 are kept small, as shown in FIG. 8 can be seen.
Nachfolgend wird bezugnehmend au f die Figuren 6a bis 6d auf" bevorzugte Implementierungen sowohl der Bewegungsdaten- Zwischen-Schicht-Prädiktion als auch der Restdaten-Hereinafter, referring Figures au f 6a to 6d preferred to "implementations both the Bewegungsdaten- inter-layer prediction and the Restdaten-
3 0 Zwischen-Schicht-Prädiktion eing egangen . Um eine räumliche bzw . eine SNR-Skalierbarkeit zu erreichen, werden also prinzipiell Bewegungsdaten und T exturdaten aus einer nied¬ rigeren Skalierungsschicht zu Pr ädiktionszwecken für eine höheren Skalierungsschicht verwe ndet . Hierbei wird insbe- sondere bei der räumlichen Skalierbarkeit eine Hochtastung bzw. ein Upsampling der Bewegungsdaten nöt-Lg sein, bevor sie al_s Prädiktion für die Decodierung von räumlichen Er- weiterrungsschichten eingesetzt werden können. Die Bewe- gungs—Prädiktionsdaten einer Basis-Schicht—Darstellung wer¬ den unter Verwendung eines Teilsatzes der existierenden B- Slice—Syntax von AVC übertragen. Zum Codieren des Bewe¬ gungsfeldes einer Erweiterungsschicht werden vorzugsweise zwei zusätzliche Makroblock-Modi eingeführt .3 0 interlayer prediction entered. To a spatial or. In order to achieve SNR scalability, in principle motion data and speed data from a lower scaling layer are used for prediction purposes for a higher scaling layer. Here, in particular In the case of spatial scalability, for example, an up-sampling or an upsampling of the movement data must be necessary before they can be used as a prediction for the decoding of spatial enhancement layers. The motion prediction data of a base-layer representation is transmitted by AVC using a subset of the existing B-slice syntax. To encode the motion field of an enhancement layer, two additional macroblock modes are preferably introduced.
Der erste Makroblock-Modus ist „Base_Layer_Jyiode" und der zweite Modus ist der „Qpel_Refinement_Mode" . Zum Signali¬ sieren dieser zwei zusätzlichen Makroblock-Modi werden zwei Flags, nämlich die BLFlag und QrefFlag, zur Makroblock- Schien"t-Syntax hinzugeführt, und zwar vor dem Syntaxelement mb_mode, wie es in Fig. 1 gezeigt ist. So signalisiert die erste Flag BLFlag 1098 den Base-Layer-Modus , während die andere Flag 1100 den Qpel-Refinement-Modus symbolisiert. Ist eine solche Flag gesetzt, so hat sie den Wert 1, und der Daisenstrom ist derart, wie es in Fig. 6a gezeigt ist. Wenn also die Flag 1098 den Wert 1 hat, spielen die Flag 1100 und das Syntaxelement Makroblock-Modus 1102 keine wei¬ tere Rolle. Hat dagegen die Flag 1098 den Wert null, so ist sie nicht gesetzt, und es kommt die Flag HOO zum Tragen, die, wenn sie gesetzt ist, wieder das Element 1102 über¬ brückt . Haben dagegen beide Flags 1098 und IL100 einen Wert null, also sind sie beide nicht gesetzt, so wird der Makro¬ block-Modus im Syntaxelement 1102 ausgewertet.The first macroblock mode is "Base_Layer_Yeary" and the second mode is "Qpel_Refinement_Mode". To signal these two additional macroblock modes, two flags, BLFlag and QrefFlag, are added to the macroblock bus syntax, in front of the mb_mode syntax element, as shown in Fig. 1. Thus, the first signal Flag BLF has the base layer mode 1098 while the other flag 1100 symbolizes the Qpel refinement mode If such flag is set, it has the value 1, and the daisy stream is as shown in Fig. 6a Thus, if the flag 1098 has the value 1, the flag 1100 and the macroblock mode syntax element 1102 play no further role, whereas if the flag 1098 has the value zero, it is not set and the flag HOO comes on wear that, when set, return the item 1102 über¬ bridged. have the other hand, both flags 1098 and IL100 a zero value, so they are both not set, the macro ¬ block mode is evaluated in the syntax element 1102.
Wenn also BLFlag = 1 ist, so wird der Basis—Layer-Modus verwendet, und für den entsprechenden Makrotolock wird keine weitere Information verwendet. Dieser Makrotolock-Modus zeigt an, dass die Bewegungs-Prädiktions-Informationen ein- schließlich der Makroblock-Parrtitionierung des entsprechen¬ den Makroblocks der Basisschicht direkt so für die Erweite— rungsschicht verwendet wird. Es sei darauf hingewiesen, dass hier und in der gesamten Anmeldung der Term „Basis- Schicht" eine nächstniedrigere Schicht bezüglich der gegen— wärtig betrachteten Schicht, also der Erweiterungsschicht, darstellen soll. Wenn die Basisschicht eine Schicht mit derr halben räumlichen Auflösung darstellt, wird das Bewegungs¬ vektor-Feld, also das Feld von Bewegungsvektoren ein- schließlich der Makroblock-Partitionierung entsprechend skaliert, wie es in Fig. 6b dargestellt ist. In diesem Fall umfasst der gegenwärtige Makrololock dieselbe Region wie ein 8x8-Sub-Makroblock des Basis-Layer-Bewegungsfeld. Wenn so¬ mit der entsprechende Basis-Layer-Makroblock in einem Di- rect-, 16x16-, 16x8- oder 8x16—Modus codiert ist, oder wenn der entsprechende Basis-Layer-Sub-Makroblock in dem 8x8- Modus oder in dem Direct-8x8-Modus codiert ist, dann wird der 16xl6-Modus für den gegenwärtigen Makroblock verwendet. Wenn andernfalls der Basis-Schicht-Sub-Makroblock im 8x4-, 4x8- oder 4x4-Modus codiert ist , ist der Makroblock-Modus für den gegenwärtigen Makroblock = 16x8, 8x16 oder 8x8 (mit allen Sub-Makroblock-Modi = 8x8 ) . Wenn der Basis-Schicht- Makroblock einen INTRA-Makroblock darstellt, wird der ge¬ genwärtige Makroblock auf INTRA_BASE gesetzt, was bedeutet, dass es sich um einen Makrobloc3< mit einer Prädiktion von der Basisschicht handelt. Für die Makroblock- Partitionierungen des gegenwärtigen Makroblocks werden die¬ selben Referenzindizes wie für die entsprechenden Makro- block/Sub-Makroblock-Partitionierungen des Basis-Schicht- Blocks verwendet. Die zugeordneten Bewegungsvektoren werden mit einem Faktor von 2 multipliziert. Dieser Faktor gilt für die in Fig. 6b gezeigte Situation, bei der eine Basis¬ schicht 1102 die halbe Fläche bzw. Anzahl in Pixel umfasst als die Erweiterungsschicht 1104. Ist das Verhältnis der räumlichen Auflösung der Basisschicht zur räumlichen Auflö¬ sung der Erweiterungsschicht ungleich 3_/2, so werden auch entsprechende Skalierungsfaktoren für die Bewegungsvektoren verwendet.Thus, if BLFlag = 1, the base layer mode is used and no further information is used for the corresponding macroblock. This macrolock mode indicates that the motion prediction information is finally, the macroblock parrtitioning of the corresponding macroblock of the base layer is used directly for the enhancement layer. It should be noted that here and throughout the application, the term "base layer" is intended to represent a next lower layer with respect to the layer currently being considered, ie the extension layer, if the base layer represents a layer with half the spatial resolution the motion vector field, ie the field of motion vectors including the macroblock partitioning, is scaled accordingly, as shown in Figure 6b, in which case the current macrololock comprises the same region as an 8x8 sub macroblock of the base Layer Motion Field If encoded with the corresponding base layer macroblock in a rectel, 16x16, 16x8, or 8x16 mode, or if the corresponding base layer sub-macroblock is in 8x8 mode or in the Direct 8x8 mode, then the 16xl6 mode will be used for the current macroblock, otherwise the base layer sub-macroblock will be in 8x4, 4x8 or 4x4 mode s is the macroblock mode for the current macroblock = 16x8, 8x16 or 8x8 (with all sub-macroblock modes = 8x8). If the base layer macroblock represents an INTRA macroblock, the current macroblock is set to INTRA_BASE, which means that it is a macroblock3 <with a prediction from the base layer. For the macroblock partitionings of the current macroblock, the same reference indices are used as for the corresponding macroblock / sub-macroblock partitionings of the base layer block. The associated motion vectors are multiplied by a factor of 2. This factor applies to the situation shown in FIG. 6b, in which a base layer 1102 comprises half the area or number in pixels As the extension layer 1104. If the ratio of the spatial resolution of the base layer to the spatial resolution of the extension layer is not equal to 3_ / 2, then corresponding scaling factors are used for the motion vectors.
Ist dagegen die Flag 1098 gleich null und die Flag 1100 gleich 1, wird der Makroblock-Modus Qpel_Refinement_Mode signalisiert. Die Flag 1100 ist vorzugsweise nur vorhanden, wenn die Basisschicht eine Schicht mit der halben räumli¬ chen Auflösung der gegenwärtigen Schichi; darstellt. Andern¬ falls ist der Makroblock-Modus (Qpel_Re±inement_Mode) nicht in dem Satz von möglichen Makroblock-Mocii enthalten. Dieser Makroblock-Modus ist ähnlich dem Basis-Layer-Modus. Die Makroblock-Partitionierung sowie die Referenzindizes und die Bewegungsvektoren werden wie beim Basis-Layer-Modus ab¬ geleitet. Für jeden Bewegungsvektor gibt es jedoch einen zusätzliche Viertel-Abtastwert-Bewegungsvektor-Verfeinerung -1,0 oder +1 für jede Bewegungsvektor-Kσmponente, die zu- sätzlich übertragen und dem abgeleiteten Bewegungsvektor hinzugefügt wird.If, on the other hand, the flag 1098 equals zero and the flag 1100 equals 1, the macroblock mode Qpel_Refinement_Mode is signaled. The flag 1100 is preferably present only if the base layer is a layer with half the spatial resolution of the current Schichi; represents. Otherwise, the macroblock mode (Qpel_Re ± inement_Mode) is not included in the set of possible macroblock Mocii. This macroblock mode is similar to the base layer mode. The macroblock partitioning as well as the reference indices and the motion vectors are derived as in the base layer mode. For each motion vector, however, there is an additional quarter-sample motion vector refinement -1.0 or +1 for each motion vector component which is additionally transmitted and added to the derived motion vector.
Wenn die Flag 1098 = null ist und die FJ_ag 1100 = null ist, oder wenn die Flag 1100 nicht vorhanden ist, werden der Makroblock-Modus sowie die entsprechenden Referenzindizes und Bewegungsvektor-Differenzen wie üblLch spezifiziert. Dies bedeutet, dass der komplette Satz von Bewegungsdaten für die Erweiterungsschicht genauso wie für die Basis¬ schicht übertragen wird. Erfindungsgemäß wird jedoch auch hier die Möglichkeit vorgesehen, den Bas άs-Schicht-If the flag 1098 = zero and the FJ_ag 1100 = zero, or if the flag 1100 is not present, the macroblock mode and the corresponding reference indices and motion vector differences are specified as usual. This means that the complete set of movement data for the extension layer is transmitted in the same way as for the base layer. According to the invention, however, it is also possible here to provide the base layer.
Bewegungsvektor als Prädiktor für den aktuellen Erweite¬ rungs-Schicht-Bewegungsvektor (anstatt des räumlichen Bewe- gungsvektor-Prädiktors) zu verwenden. So soll die Liste X (wobei X zwischen 0 und 1 ist) die Referenzindex-Liste des betrachteten Bewegungsvektors spezifizieren. Wenn alle nachfolgenden Bedingungen wahr sind, wird, wie es in Fig. 6c gezeigt ist, eine Flag MvPrdFlag übertragen, und zwar für jede Bewegungsvektor-Differenz:Motion vector as a predictor for the current extension layer motion vector (instead of the spatial motion vector predictor) to use. So should the list X (where X is between 0 and 1) specify the reference index list of the considered motion vector. If all subsequent conditions are true, as shown in Fig. 6c, a flag MvPrdFlag is transmitted for each motion vector difference:
der Basis-Schicht-Makroblock, der die gegenwärtigen Makroblock/Sub-Makroblock-Partitionen umfasst, ist nicht in einem INTRA-Makroblock-Modus codiert;the base layer macroblock comprising the current macroblock / sub-macroblock partitions is not encoded in an INTRA macroblock mode;
die Basis-Schicht-Makroblock/Sub-Makroblock-Partitio- nierung, die den oberen linken Abtastwert der gegen¬ wärtigen Makroblock/Sub-Makroblock-Partitionierung überdeckt, verwendet die List X oder eine Bi- Prädiktion;the base-layer macroblock / sub-macroblock partitioning covering the upper left sample of the present macroblock / sub-macroblock partitioning uses the List X or a bi-prediction;
der Listen-X-Referenzindex der Basis-Schicht- Makroblock/Sub-Makroblock-Partitionierung, der das o- bere linke Sample der gegenwärtigen Makroblock/Sub- Makroblock-Partitionierung umfasst, ist gleich dem Listen-X-Referenzindex der gegenwärtige Makro- block/Sub-Makroblock-Partitionierung.the list X reference index of the base-layer macroblock / sub-macroblock partitioning, which includes the upper left sample of the current macroblock / sub-macroblock partitioning, is equal to the list X-reference index of the current macroblock / sub-macroblock partitioning.
Wenn die Flag 1106 von Fig. βc nicht vorhanden ist, oder wenn diese Flag 1106 = null ist, wird der räumliche Bewe- gungsvektor-Prädiktor so spezifiziert, wie es im Standard AVC der Fall ist. Andernfalls, wenn die Flag 1106 vorhanden und = 1 ist, wird der entsprechende Basis-Schichtvektor als Bewegungsvektor-Prädiktor verwendet. In diesem Fall wird der Listen-X-Bewegungsvektor (wobei X=O oder 1 ist) der ge¬ genwärtigen Makroblock/Sub-Makroblock-Partitionierung durch Hinzufügen der übertragenen Listen-X-Bewegungsvektor- Differenz zu dem möglicherweise skalierten Listen-X- Bewegungsvektor der Basis-Schicht-Makrok>lock/Sub- Makroblock-Partitionierung erhalten.If the flag 1106 of FIG. 3c is not present, or if this flag 1106 = zero, then the spatial motion vector predictor is specified as it is in the standard AVC. Otherwise, if the flag 1106 is present and = 1, the corresponding base layer vector is used as the motion vector predictor. In this case, the list X motion vector (where X = 0 or 1) of the current macroblock / sub-macroblock partitioning is added by adding the transmitted list X motion vector difference to the possibly scaled list X field. Get the base layer macrok motion block vector> lock / sub macroblock partitioning.
Die Flags 1098, 1100 und 1106 stellen somit zusammen eine Möglichkeit dar, die allgemein in Fig. Ia gezeigte Bewe- gungsdaten-Flag 1048 bzw. allgemein ein Bewegungsdaten- Steuersignal 1048 zu implementieren. Selbstverständlich e- xistieren hierfür verschiedene andere Möglichkeiten der Signalisierung, wobei natürlich auch eine feste Vereinba- rung zwischen dem Sender und dem Empfänger verwendet werden kann, die eine Reduktion an Signalisierungsinformationen erlaubt.The flags 1098, 1100 and 1106 thus together represent a possibility of implementing the movement data flag 1048 shown generally in FIG. 1 a or, in general, a movement data control signal 1048. Of course, different other possibilities of signaling exist for this purpose, whereby, of course, a fixed agreement between the transmitter and the receiver can also be used which allows a reduction in signaling information.
Zusammenfassend wird anhand der Figuren Ie, If und Ig eine detaillierte Implementierung des Erweiterungs-In summary, with reference to Figures Ie, If and Ig, a detailed implementation of the expansion
Bewegungskompensierers 1014 von Fig. Ia bzw. des Erweite- rungs-Bewegungsdaten-Ermittlers 1078 von Fig. 2 näher dar¬ gelegt.Movement compensator 1014 of Fig. Ia and the extension motion data determiner 1078 of Fig. 2 dar¬ laid.
Bezug nehmend auf Fig. Ie ist zu sehen, dass der Erweite- rungs-Bewegungskompensierer 1014 prinzipjLell zwei Dinge tun muss. So muss er zunächst die Erweiterunςys-Bewegungsdaten, also typischerweise die gesamten Bewegungsvektoren berech¬ nen und dem Erweiterungs-Bewegungs-Prädikitor 1016 zuführen, damit er diese Vektoren gewissermaßen in uncodierter Form verwenden kann, um die Erweiterungs-Folge von Restfehler¬ bildern zu erhalten, die im Stand der Technik typischerwei¬ se adaptiv und Block-für-Block durchführen zu können. Eine andere Sache ist jedoch die Erweiterungs-Bewegungsdaten- Verarbeitung, also wie die zur bewegungsleompensierten Prä¬ diktion verwendeten Bewegungsdaten nunmehr so stark als möglich komprimiert werden und in einem Bitström geschrie¬ ben werden. Hierzu, damit etwas in dem Bi"tstrom geschrieben werden kann, müssen entsprechende Daten zum Erweiteruncjs- Bildcodierer 1028 gebracht werden, wie es anhand von Fi_g. Ie dargestellt ist. Der Erweiterungs-Bewegungsdaten- Verarbeitungseinrichtung 1014b kommt also die Aufgabe zu, 5 die in den Erweiterungs-Bewegungsdaten, die die Erweite - rungs-Bewegungsdaten-Berechnungseinrichtung 1014a ermittelt hat, enthaltene Redundanz im Bezug auf die Basisschicht so stark als möglich zu reduzieren.Referring to Figure Ie, it can be seen that the expansion motion compensator 1014 basically has to do two things. Thus, he first has to calculate the extension motion data, ie typically the entire motion vectors, and feed them to the extension motion predicitor 1016 so that he can use these vectors in an uncoded form so as to obtain the extension sequence of residual error pictures. in the state of the art typically adaptive and block-by-block to perform. Another matter, however, is the expansion-motion data processing, ie how the motion data used for the motion-compensated prediction are now compressed as much as possible and written in a bit stream. For this, something has been written in the bible For example, as shown in FIG. 5, corresponding data must be provided to the expandable image coder 1028. Ie is shown. The expansion movement data processing means 1014b thus has the task of reducing as much as possible the redundancy with respect to the base layer contained in the expansion movement data which the expansion movement data calculation means 1014a has detected.
0 Die Basis-Bewegungsdaten oder die hochgetasteten Basis- Bewegungsdaten können erfindungsgemäß sowohl von der Erwei- terungs-Bewegungsdaten-Berechnungseinrichtung 1014a zur Be¬ rechnung der tatsächlich zu verwendeten Erweiterungs- Bewegungsdaten eingesetzt werden, oder können auch nur zur 5 Erweiterungs-Bewegungsdaten-Verarbeitung, also zur ErweiLte- rungs-Bewegungsdaten-Kompression verwendet werden, während sie für die Berechnung der Erweiterungs-Bewegungsdaten Icei¬ ne Rolle spielen. Während die beiden Möglichkeiten 1.) und 2.) von Fig. Ig Ausführungsbeispiele zeigen, bei denen O die Basis-Bewegungsdaten bzw. die hochgetasteten Basis- Bewegungsdaten bereits bei der Erweiterungs-Bewegungsdaten- Berechnung eingesetzt werden, zeigt das AusführungsbeispJ,el 3.) von Fig. Ib einen Fall, bei dem Informationen über d_±e Basis-Bewegungsdaten nicht zur Berechnung der Erweiteruncjs- 5 Bewegungsdaten, sondern lediglich zur Codierung bzw. Gewin¬ nung von Restdaten eingesetzt werden.0 According to the invention, the basic movement data or the up-sampled basic movement data can be used both by the extension movement data calculation device 1014a to calculate the extension movement data actually to be used, or can also be used only for extension movement data processing. Thus, they are used for augmentation-motion data compression, while they play a role in the computation of augmentation motion data. While the two possibilities 1.) and 2.) of FIG. 1 g show embodiments in which O the base movement data or the up-sampled base movement data are already used in the expansion movement data calculation, the embodiment FIG. 3 shows FIG. ) of Fig. Ib a case in which information about d_ ± e base movement data is not used to calculate the expansion 5 movement data, but only for coding or Gewin¬ tion of residual data.
Fig. If zeigt die decodiererseitige Implementierung der Er- weiterungs-Bewegungsdaten-Ermittlungseinrichtung 1078, di_e 0 ein Steuermodul 1078a zur blockweisen Steuerung aufweist, welches die Signalisierungsinformationen vom Bitstrom bzw. vom Erweiterungs-Bild-Decodierer 1066 enthält. Ferner um— fasst der Erweiterungs-Bewegungsdaten-Ermittler 1078 eine Erweiterungs-Bewegungsdaten-Rekonstruktionseinrichtung 1078k>, die entweder allein unter Verwendung der decodierten Basis-Bewegungsdaten oder decodierten hochgetasteten Basis- Bewegungsdaten oder aber durch Kombination aus Informatio- nen über die decodierten Basis-Bewegungsdaten und von dem Erweiterungs-Bild-Decodierer 1066 aus der Erweiterungs- Skalierungsschicht 1004 extrahierten Restdaten tatsächlich die Bewegungsvektoren des Erweiterungs-Bewegungsdaten- Feldes ermittelt, die dann von dem Erweiterungs-Bewegungs- Kombinierer 1076 verwendet werden können, der als üblicher Kombinierer ausgebildet sein kann, um die encodiererseitige bewegungskompensierte Prädiktion wieder rückgängig zu ma¬ chen.FIG. 5F shows the decoder-side implementation of the expansion motion data determiner 1078, which includes a block-by-block control module 1078a that contains the signaling information from the bitstream and expansion image decoder 1066, respectively. Further, the expansion movement data determiner 1078 includes a Expansion motion data reconstructor 1078k>, either solely using the decoded base motion data or decoded up-sampled base motion data, or by combining information about the decoded base motion data and from the expansion-picture decoder 1066 from the extension Scaling layer 1004 extracted residual data actually detects the motion vectors of the extension motion data field, which can then be used by the expansion-motion combiner 1076, which may be formed as a conventional combiner, Chen back chen the encoder-side motion-compensated prediction.
Nachfolgend wird auf die verschiedenen Ausführungsbeispie¬ le, wie sie in Fig. Ig zur Übersicht dargestellt sind, ein¬ gegangen. Wie es bereits anhand von Fig. 6a dargelegt wor¬ den ist, signalisiert die BLFlag 1098 eine komplette Über¬ nahme der hochskalierten Basis-Bewegungsdaten für die Er- weiterrungs-Bewegungs-Prädiktion. In diesem Fall ist dieIn the following, reference will be made to the various exemplary embodiments, as illustrated in FIG. 1g for an overview. As has already been explained with reference to FIG. 6a, the BLFlag 1098 signals a complete transfer of the scaled-up basic movement data for the extension-motion prediction. In this case, the
Einrichtung 1014a ausgebildet, um die Basis-Bewegungsdaten komplett zu übernehmen bzw. im Falle von unterschiedlichen Auflösungen der verschiedenen Schichten die Basis- Bewegungsdaten in hochskalierter Form zu übernehmen und zur Einrichtung 1016 zu übermitteln. Zum Erweiterungs-Device 1014a is designed to completely take over the basic movement data or, in the case of different resolutions of the different layers, to take over the basic movement data in an upscaled form and transmit them to the device 1016. To the enlargement
Bildcodierer wird jedoch keine Information über Bewegungs¬ felder oder Bewegungsvektoren übermittelt. Stattdessen wird lediglich für jeden Block, sei es ein Makroblock oder ein Sub-Makroblock, eine eigene Flag 1098 übertragen.However, no information about motion fields or motion vectors is transmitted to the picture coder. Instead, a separate flag 1098 is transmitted only for each block, be it a macroblock or a sub-macroblock.
Auf Decodiererseite bedeutet dies, dass die Einrichtung 1078a von Fig. If für einen Block die Flag 1098 decodiert und dann, wenn sie aktiv war, die aus der Basisschicht vor- handenen decodierten Basis-Bewegungsdaten oder die deco¬ dierten hochgetasteten Basis-Bewegungsdaten verwendet, um daraus die Erweiterungs—Bewegungsdaten zu berechnen, die dann zum Block 1076 geliefert werden. Bewegungsvektor- Restdaten benötigt die Einrichtung 1078 in diesem Fall nicht.On the decoder side, this means that the device 1078a of FIG. If decodes the flag 1098 for one block and, if it was active, the one from the base layer. existing decoded basic motion data or the decoded up-sampled base motion data is used to compute therefrom the extension motion data, which is then provided to block 1076. Motion vector residual data is not needed by device 1078 in this case.
Bei dem zweiten Ausführungsbeispiel der vorliegenden Errfin- dung, das durch die Flag QrefFlag 1100 signalisiert ist, wird der Basis-Bewegungs^vektor in die Erweiterungs-In the second embodiment of the present invention, which is signaled by the flag QrefFlag 1100, the basic motion vector is included in the expansion
Bewegungsdatenberechnung, die durch die Einrichtung 1014a ausgeführt wird, integriert. Wie es in Fig. Ig im Abschnitt 2.) dargestellt ist und vorstehend beschrieben worden ist, findet die Bewegungsdatenberechnung bzw. die Berechnung der Bewegungsvektoren m dadurch statt, dass das Minimum des AusdrucksMotion data calculation performed by the device 1014a integrated. As shown in Fig. Ig in section 2.) and described above, the motion data computation or computation of the motion vectors m takes place in that the minimum of the expression
(D + λ R)(D + λ R)
gesucht wird. In den Verzerrzungsterm D geht der Unter¬ schied zwischen einem Block eines aktuellen Bildes B uncd einem durch einen bestiπunten potentiellen Bewegungsvektσr verschobenen Block eines vorausgehenden und/oder späteren Bildes ein. In den Faktor: λ geht der Quantisierungsparame- ter des Erweiterungs-Bild-Codierers, der in Fig. Ia mitis searched. In the distortion term D, the difference between a block of a current image B and a block of a preceding and / or later image shifted by a specific potential motion vector is entered. The quantization parameter of the expansion-picture coder, which is shown in FIG
1036 bezeichnet ist, ein. Der Ausdruck R liefert Informati¬ onen über die Anzahl von Bits, die zur Codierung eines po¬ tentiellen Bewegungsvektoxs verwendet wird.1036, a. The expression R provides information about the number of bits used to encode a potential motion vector.
Üblicherweise wird jetzt eine Suche unter verschiedenen po¬ tentiellen Bewegungsvektoirren durchgeführt, wobei für jeden neuen Bewegungsvektor der Verzerrungsterm D berechnet wird, und der Ratenterm R berechnet wird, und wobei der Erweite- rungs-Quantisierungs-Parartieter 1036, der vorzugsweise fest ist, jedoch ebenfalls variieren könnte, berücksichtigt wird. Der beschriebene Surnmenterm wird für verschiedene po¬ tentielle Bewegungsvektoren ausgewertet, wonach der Bewe — gungsvektor genommen wird, der das minimale Ergebnis der Summe liefert.Typically, a search with the different po ¬ tentiellen Bewegungsvektoirren is now carried out, is being calculated for each new motion vector of the distortion term D and the rate term R is calculated, and wherein the expansion approximately quantization Parartieter 1036, which is preferably fixed, but also may vary. The Surnmenterm described is evaluated for different po ¬ tentielle motion vectors, according to which the move - vector, which gives the minimum result of the sum.
Erfindungsgemäß wird nunmehr der Basis-Bewegungsvektor des entsprechenden Blocks aus der Basisschlicht ebenfalls in diese iterative Suche integriert. Soll_te er das Suchkrite¬ rium erfüllen, so muss wieder lediglich die Flag 1100 über¬ tragen werden, es müssen jedoch keine Restwerte oder etwas anderes für diesen Block übertragen werden. Die Einrichtung 1014a verwendet somit dann, wenn der Basis-Bewegungsvektor das Kriterium (Minimum des vorstehenden Ausdrucks) für ei¬ nen Block erfüllt, diesen Basis-Bewegungsvektor, um ihn zur Einrichtung 1016 zu übermitteln. Zum Exweiterungs- Bildcodierer wird jedoch lediglich die Flag 1100 übermit- telt.According to the invention, the base motion vector of the corresponding block from the base sizing is now also integrated into this iterative search. If it fulfills the search criterion, then again only the flag 1100 must be transmitted, but no residual values or anything else must be transmitted for this block. Thus, when the base motion vector satisfies the criterion (minimum of the above expression) for a block, the device 1014a uses this base motion vector to convey it to the device 1016. However, only the flag 1100 is transmitted to the extension image coder.
Auf Decodiererseite bedeutet dies , dass die Einrichtung 1078a, wenn sie die Flag 1100 decodiert , die Einrichtung 1078b ansteuert, um für diesen Block den Bewegungsvektor aus den Basis-Bewegungsdaten zu ermitteln, da der Erweite- rrungs-Bild-Decodierer keine Restdaten übermittelt hatte .On the decoder side, this means that the device 1078a, when decoding the flag 1100, drives the device 1078b to determine the motion vector from the base motion data for that block since the expansion-picture decoder had not transmitted any residual data.
Bei einer Variation der zweiten Ausführrungsform wird in die iterative Suche nicht nur der Basis-Bewegungsvektor, son- dem eine Vielzahl von von dem Basis-Bewegungsvektor abge¬ l eiteten (leicht) veränderten Basis-Bewegungsvektoren in die Suche integriert . Je nach Implement ierung kann j ede Komponente des Bewegungsvektors unabhängig voneinander um ein Inkrement erhöht oder erniedrigt werden, oder gleich gelassen werden . Dieses Inkrement kann eine bestimmte Gra- nularität eines Bewegungsvektors darst eilen, z . B . einen Auflösungsschritt , einen Halb-Auflösungsschritt oder einen Viertel-Auflösungsschritt . Erfüllt ein solcher veränderter Basis-Bewegungsvektor das Suchkriterium^ so wird zusätzlich zur Flag 1100 auch gewissermaßen als „Restdaten" die Verän¬ derung, also das Inkrement , also +1, 0 oder -1 übertragen . Ein Decodierer wird dann, aktiviert durch die Flag 1100, im Datenstrom nach dem Inkrement suchen und ferner den Basis- Bewegungsvektor oder den hochgetasteten Basis- Bewegungsvektor wieder gewinnen und im Block 1078b des In- krement mit dem entsprechenden Basis-Bewegung"svektor kombi¬ nieren, um dann den Bewegungsvektor für den entsprechenden Block in der Erweiterungsschicht zu erhalten.In a variation of the second embodiment, not only the basic motion vector, but also a multiplicity of (slightly) modified base motion vectors derived from the base motion vector are integrated into the search in the iterative search. Depending on the implementation, each component of the motion vector can be independently incremented or decremented by one increment, or left equal. This increment may be a particular granularity of a motion vector, eg. B. a dissolution step, a half-resolution step or a quarter-resolution step. If such a modified basic motion vector fulfills the search criterion so, the change, that is to say the increment, that is to say +1, 0 or -1, is to a certain extent also transmitted as "residual data" in addition to the flag 1100. A decoder, activated by flag 1100, will then search for the increment in the data stream and also retrieve the base motion vector or the upsampled base motion vector and combine it with the corresponding base motion vector in block 1078b of the increment to then obtain the motion vector for the corresponding block in the enhancement layer.
Bei der dritten Ausführungsform, die durch die Flag 1106 signalisiert wird, kann die Ermittlung der BeΛr/egungsvekto- ren prinzipiell beliebig erfolgen. Im Hinblick auf volle Flexibilität kann die Einrichtung 1014a die E-rweiterungs- Bewegungsdaten z . B. gemäß der in Verbindung mit dem zwei¬ ten Ausführungsbeispiel genannten Minimierungsaufgabe er- mittein. Der ermittelte Bewegungsvektor wird dann zur enco- diererseitigen bewegungskompensierten Prädiktion verwendet, ohne dass auf Informationen aus der Basisschicht Rücksicht genommen wird. Die Erweiterungs-Bewegungsdaten-Verarbeitung 1014a ist in diesem Fall jedoch ausgebildet, um in die Be- wegungsvektor-Venrarbeitung zur Redundanzredukfcion, also vor der eigentlichen arithmetischen Codierung, die Basis- Bewegungsvektoren miteinzubeziehen.In the third embodiment, which is signaled by the flag 1106, the detection of the illumination vectors can in principle be arbitrary. For full flexibility, the device 1014a may provide the e-extension motion data, e.g. B. in accordance with the minimization task mentioned in connection with the zwei¬ embodiment. The determined motion vector is then used for the encoder-side motion-compensated prediction, without taking into account information from the base layer. The extension movement data processing 1014a in this case, however, is designed to include the basic motion vectors in the motion vector processing for redundancy reduction, ie before the actual arithmetic coding.
So wird gemäß dem Standard H.264/AVC eine Überrtragung von Bewegungsvektordifferenzen vorgenommen, wobei Differenzen zwischen in der Klähe liegenden Blöcken innerhalb eines Bil¬ des bestimmt werden. In der Implementierung kann die Diffe¬ renz zwischen verschiedenen in der Nähe liegenden Blöcken gebildet werden, um dann die kleinste Differenz auszuwäh- len. Erfindungsgemäß wird nunmehr in diese Suche nach dem günstigsten Prädi_ktor für die Bewegungsvektordifferenz der Basis-Bewegungsvektor für den entsprechenden Block in einem Bild mit einbezogen. Erfüllt er das Kriterium, dass er als Prädiktor den kleinsten Restfehlerwert liefert , so wird dies durch die Flag 1106 signalisiert und es wird lediglich der Restfehlerwert zum Block 1028 übertragen. Erfüllt der Basis-Bewegungsvektor dieses Kriterium nicht, so wird die Flag 1106 nicht gesetzt, und es wird eine räumliche Bewe- gungsvektordifferenzberechnung vorgenommen.Thus, according to the standard H.264 / AVC, a transfer of motion vector differences is undertaken, differences between blocks lying within the block being determined within a frame. In the implementation, the difference between different nearby blocks may be formed to select the smallest difference. According to the invention, the basic motion vector for the corresponding block in an image is now included in this search for the most favorable predictor for the motion vector difference. If it meets the criterion that it supplies the smallest residual error value as the predictor, this is signaled by flag 1106 and only the residual error value is transmitted to block 1028. If the basic motion vector does not satisfy this criterion, then the Flag 1106 is not set, and a spatial motion vector difference computation is made.
Für einfachere Codiererimplementierungen kann jedoch auch statt der iterativen Suche einfach immer bzw. für adaptiv bestimmte Blöcke der Basis-Bewecjungsvektor bzw. eine hoch— getastete Version desselben als Prädiktor dienen.-However, for simpler coder implementations, instead of the iterative search, the basic Bewecjungsvektor or a hochentastete version of the same always as a predictor or always for adaptively determined blocks as a predictor.-
Erfindungsgemäß wird auch eine Zwischen-Schicht-Prädiktion. von Restdaten vorgenommen. Hierauf wird nachfolgend einge¬ gangen. Wenn die Bewegungsinforiaationen von einer Schicht zur nächsten verändert werden, kann es günstig oder nicht günstig sein, Restinformationen bzw. im Falle einer MCTF- Zerlegung, Hochpass-Informationen der Εrweiterungsschicht aus der Basisschicht zu prädiziexen. Wenn die Bewegungsvet- toren für einen Block der aktuellen Schicht zu den Bewe¬ gungsvektoren der entsprechenden Basisschicht bzw. makro- blockweise zu entsprechenden Bewegungsvektoren der entspre — chenden Basisschicht ähnlich sind, ist es wahrscheinlich, dass die Codiereffizienz erhöht werden kann, wenn das co¬ dierte Basis-Schicht-Restsignal (Hochpass-Signal) als Prä¬ diktion für das Erweiterungs-Restsignal (Erweiterungs- Hochpass-Signal) verwendet wird, wodurch nur die Differenz zwischen dem Erweiterungs-Restsignal und der Basisschicht- Rekonstruktion (Leitung 1024 von Fig. Ia) codiert wird. Wenn die Bewegungsvektoren jedoch, unähnlich sind, ist es sehr unwahrscheinlich, dass eine Prädiktion des Restsignals die Codiereffizienz verbessern wird. Folglich wird ein a- daptiver Lösungsansatz für die Pirädiktion des Restsignals bzw. Hochpass-Signals eingesetzt. Dieser adaptive Lösungs¬ ansatz, also ob der Zwischen-Schi-cht-Prädiktor 1018 aktiv ist oder nicht, kann durch eine tatsächliche Berechnung des Nutzens auf der Basis des Differenzsignals erfolgen oder kann aufgrund einer Abschätzung durchgeführt werden, wie unterschiedlich ein Bewegungsvektor einer Basis- Skalierungsschicht für einen Makroblock zu einem ent spre¬ chenden Makroblock in der Erweiterungs-Skalierungsscnicht ist. Ist der Unterschied kleiner als ein bestimmter Schwel- lenwert, so wird der Zwischen-Schicht-Prädiktor über die Steuerleitung 1030 aktiviert. Ist der Unterschied da«gegen größer als ein bestimmter Schwellwert, so wird der Zwi¬ schen-Schicht-Prädiktor für diesen Makroblock deaktiviert.According to the invention, an interlayer prediction is also used. made of residual data. This will be explained below. If the motion information is changed from one layer to the next, it may be convenient or not convenient to predicate residual information or, in the case of MCTF decomposition, high-pass information of the extension layer from the base layer. If the motion envelopes for a block of the current layer are similar to the motion vectors of the corresponding base layer or macroblock-wise to corresponding motion vectors of the corresponding base layer, it is likely that the coding efficiency can be increased if the co The base-layer residual signal (high-pass signal) is used as a prediction for the extension-residual signal (extension-high-pass signal), whereby only the difference between the extension residual signal and the base-layer reconstruction (line 1024 of FIG. Ia) is coded. However, if the motion vectors are dissimilar, it is very unlikely that prediction of the residual signal will improve the coding efficiency. Consequently, an adaptive approach is used for pirating the residual signal or high-pass signal. This adaptive approach, that is, whether the intermediate shift predictor 1018 is active or not, may be by actual calculation of the benefit based on the difference signal, or may be performed based on an estimate, such as is a different motion vector of a base scaling layer for a macroblock to a corresponding macroblock in the extension Scalingscnicht. If the difference is smaller than a certain threshold value, the inter-layer predictor is activated via the control line 1030. If the difference is greater than a certain threshold value, then the intermediate layer predictor for this macroblock is deactivated.
Es wird eine Flag ResPrdFlag 1108 übertragen. Wenn diese Flag 1108 = 1 ist, wird das rekonstruierte RestsignaX der Basisschicht als Prädiktion für das Restsignal des gegen¬ wärtigen Makroblocks der Erweiterungsschicht verwendet, wo¬ bei nur eine Approximation des Unterschieds zwischen dem gegenwärtigen Restsignal der Erweiterungsschicht und seiner Basisschicht-Rekonstruktion codiert wird. Andernfalls ist die Flag 1108 nicht vorhanden oder gleich null. Hierbei wird das Restsignal des gegenwärtigen Makroblocks in der Erweiterungsschicht dann ohne Prädiktion aus der Basi s- Schicht codiert.A flag ResPrdFlag 1108 is transmitted. If this flag 1108 = 1, the reconstructed residual signal X of the base layer is used as a prediction for the residual signal of the present macroblock of the enhancement layer, encoding only an approximation of the difference between the current residual signal of the enhancement layer and its base-layer reconstruction. Otherwise, the flag 1108 is absent or equal to zero. Here, the residual signal of the current macroblock in the enhancement layer is then coded without prediction from the base layer.
Wenn die Basisschicht eine Schicht mit der Hälfte der räum¬ lichen Auflösung der Erweiterungs-Schicht darstellt, wird das Restsignal unter Verwendung eines InterpolationsfAlters hochgetastet, bevor das hochgetastete Restsignal der Basis¬ schicht als Prädiktionssignal verwendet wird. Dieses Filter ist ein Interpolations-Filter mit sechs Taps, derart, dass zur Interpolation eines Wertes der hohen räumlichen Auiflö- sung der Erweiterungsschicht, der aufgrund der niedricjen Auflösung in der Basisschicht nicht vorhanden war, Werrte aus der Umgebung verwendet werden, um ein möglichst gαtes Interpolationsergebnis zu erhalten. Interpoliert man jedoch Werte am Rand eines Transformati¬ onsblocks, und würde das Interpolations-Filter daher zur Interpolation Werte eines anderren Transformationsblocks verwenden, so wird es bevorzugt, genau dies nicht zu tun, sondern die Werte des Interpolations-Filters außerhalb des betrachteten Blocks zu synthetisieren, damit eine Interpo¬ lation mit möglichst wenig Artefakten stattfindet.If the base layer represents a layer with half the spatial resolution of the enhancement layer, the residual signal is upsampled using an interpolation filter before the high-order residual signal of the base layer is used as the prediction signal. This filter is an interpolation filter with six taps, such that for the purpose of interpolating a value of the high spatial resolution of the enhancement layer, which was not present due to the low resolution in the base layer, environmental distortions are used in order to obtain as good a value as possible To obtain interpolation result. However interpolated values at the edge of Transformati ¬ onsblocks, and therefore a anderren transform block would interpolation filter for interpolating values used, it is preferred, just not to do so, but to synthesize the values of the interpolation filter outside the block under consideration so that an interpolation takes place with as few artifacts as possible.
Anhand eines sogenannten Core-Experiments wurde herausge- funden, dass die Zwischen-Schicϊit-Prädiktion von Bewegungs¬ und Restwerten die Codiereffizienz des AVC-basierten MCTF- Ansatzes deutlich verbessert. Für bestimmte Testpunkte wur¬ den PSNR-Gewinne von mehr als IdB erhalten. Insbesondere bei sehr niedrigen Bitraten für jede räumliche Auflösung (mit Ausnahme der Basisschicht) war die Verbesserung der Rekonstruktionsqualität deutlicli sichtbar.On the basis of a so-called core experiment it was found out that the inter-ski prediction of motion and residual values significantly improves the coding efficiency of the AVC-based MCTF approach. PSNR gains of more than IdB were obtained for certain test points. Especially at very low bit rates for each spatial resolution (except the base layer), the improvement in the reconstruction quality was clearly visible.
Abhängig von der Gegebenheit, kann das erfindungsgemäße Verfahren in Hardware oder in Software implementiert wer- den. Die Implementierung kann auf einem digitalen Speicher¬ medium, insbesondere einer Diskette oder CD mit elektro¬ nisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das Verfahren ausgeführt wird. .Allgemein besteht die Erfin- düng somit auch in einem Computer-Programm-Produkt mit ei¬ nem auf einem maschinenlesbaren Träger gespeicherten Pro¬ grammcode zur Durchführung des erfindungsgemäßen Verfah¬ rens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt, kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens real-isiert werden, wenn das Computer-Programm auf einem Computer abläuft. Die vorliegende Erfindung betrifft ferner ein Computer¬ lesbares Medium, auf dem ein skalierbarer Datenstrom mit einer ersten Skalierungsschicht und einer zweiten Skalie¬ rungsschicht samt der zugehörigen Steuerzeichen für die verschiedenen Decodierer-seitigen Einrichtungen gespeichert sind. So kann das Computer-lesbare Medium ein Datenträger sein, oder aber das Internet, auf dem ein Datenstrom von einem Anbieter zu einem Empfänger übertragen wird. Depending on the circumstances, the method according to the invention can be implemented in hardware or in software. The implementation can be carried out on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which can cooperate with a programmable computer system such that the method is executed. In general, the invention thus also exists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention, when the computer program product runs on a computer. In other words, the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer. The present invention further relates to a computer-readable medium on which a scalable data stream having a first scaling layer and a second scaling layer, together with the associated control characters, are stored for the various decoder-side devices. Thus, the computer-readable medium may be a volume, or the Internet on which a data stream is transmitted from a provider to a recipient.

Claims

Patentansprüche claims
1. Vorrichtung zum Erzeugen einer codierten Videosequenz, die eine Basis-Skalierungsschicht (1002) und eine Er- weiterungs-Skalierungsschicht (1004) aufweist, mit folgenden Merkmalen:An apparatus for generating a coded video sequence comprising a base scaling layer (1002) and an expansion scaling layer (1004), comprising:
einem Basis-Bewegungskompensierer (1006) zum Berechnen von Basis-Bewegungsdaten, die angeben, wie sich ein Block in einem aktuellen Bild bezüglich eines anderen Bildes in einer Gruppe von Bildern bewegt hat;a base motion compensator (1006) for computing base motion data indicating how a block in a current frame has moved relative to another frame in a group of frames;
einem Basis-Bewegungs-Prädiktor (1012) zum Berechnen einer Basis-Folge von Restfehlerbildern unter Verwen- düng der Basis-Bewegungsdaten;a basic motion predictor (1012) for calculating a basic sequence of residual error images using the basic motion data;
einem Basis-Bildcodierer (1010), der ausgebildet ist, um aus der Basis-Folge von Restfehlerbildern eine co¬ dierte erste Skalierungsschicht zu erzeugen;a base image coder (1010) configured to generate a coded first scaling layer from the base sequence of residual error images;
einem Erweiterungs-Bewegungskompensierer ( 1014 ) zum Ermitteln von Erweiterungs-Bewegungsdaten, wobei der Erweiterungs-Bewegungskompensierer ausgebildet ist, um adaptiv und blockweise Erweiterungs-Bewegungsdaten un- ter Verwendung der Basis-Bewegungsdaten zu ermitteln und blockweise Signalisierungsinformationen zu lie¬ fern;an expansion motion compensator (1014) for determining extension motion data, the expansion motion compensator configured to adaptively and blockwise determine expansion motion data using the base motion data and to provide block wise signaling information;
einem Erweiterungs-Bewegungs-Prädiktor ( 1016) zum Be- rechnen einer Erweiterungs-Folge von Restfehlerbildern unter Verwendung der Erweiterungs-Bewegungsdaten; undan expansion motion predictor (1016) for computing an extension sequence of residual error images using the expansion motion data; and
einem Erweiterungs-Bildcodierer ( 1028 ) zum Codieren von Informationen über die Erweiterungs-Folge von Restfehlerbildern und zum Codieren der blockweisenan extension image encoder (1028) for encoding information about the extension sequence of residual error images and for encoding the block by block
Signalisierungsinformationen, um eine codierte Erwei- terungs-Skalierungsschicht zu erhalten . Signaling information to obtain a coded extension scaling layer.
2. Vorrichitung nach Anspruch 1, bei der der Basis- Bewegungskompensierer ausgebildet ist, um die Basis- Bewegungsdaten für Bilder zu berechnen, die eine nied¬ rigere räumliche Auflösung haben als Bilder, auf deren Basis der Erweiterungs-Bewegungskompensierer die Er¬ weiternngs-Bewegungsdaten ermittelt,2. Vorrichitung according to claim 1, wherein the basic motion compensator is designed to calculate the basic motion data for images that have a nied¬ rere spatial resolution as images, on the basis of the expansion motion compensation the Er¬ weiternngs motion data determined,
bei der ferner ein Hochtaster (1042) vorgesehen ist, um die Basis-Bewegungsdaten gemäß einem Unterschied der räumlichen Auflösung der Gruppe von Bildern zu skalieren, undfurther comprising an up key (1042) for scaling the basic motion data according to a difference in the spatial resolution of the group of images, and
bei der der Erweiterungs-Bewegungskompensierer (1014) ausgebildet ist, um die Erweiterungs-Bewegungsdaten auf der Basis der skalierten Basis-Bewegungsdaten zu berechnen.wherein the expansion motion compensator (1014) is adapted to calculate the extension motion data based on the scaled base motion data.
3. Vorrichtung nach Anspruch 2, bei der der Erweiterungs- Beweguncjskompensierer (1014) ausgebildet ist, um die skalierten Basis-Bewegungsdaten für einen Block alsThe apparatus of claim 2, wherein the expansion motion compensator (1014) is adapted to provide the scaled base motion data for a block as
Erweiterrungs-Bewegungsdaten zu übernehmen, und um dem Erweiterrungs-Bildcodierer (1028) für diesen Block ein Übernahme-Signal (1098) zuzuführen.To inherit extension motion data and to supply a takeover signal (1098) to the expansion frame encoder (1028) for that block.
4. Vorrichtung nach Anspruch 2, bei der der Erweiterungs- Bewegung-skompensierer (1014) ausgebildet ist, um die skalierten Basis-Bewegungsdaten als Prädiktor für ei¬ nen Block von Erweiterungs-Bewegungsdaten zu verwen¬ den, um ein Erweiterungs-Bewegungsdaten-Restsignal zu berechnen, und um dem Erweiterungs-Bildcodierer (1028) das Erweiterungs-Bewegungsdaten-Restsignal zusammen mit eineit: Prädiktions-Signalisierung zuzuführen.4. The apparatus of claim 2, wherein the expansion motion compensator (1014) is adapted to use the scaled base motion data as a predictor for a block of expansion motion data, an extension motion data remainder signal and to provide the expansion image encoder (1028) with the expansion motion data residual signal together with prediction signaling.
5. Vorrichtung nach Anspruch 1 oder 2r bei der der Basis- Bildcodierer (1010) ausgebildet ist, um mit einem Ba¬ sis-Quantisierungs-Parameter (1034) zu guantisieren, bei der der Basis-Bewegungskompensierer ausgebildet ist, um abhängig von einem Basis-Steuerparameter ( 1034 ) , der von dem Basi s-Quantisierungsparamter ab¬ hängen kann, die Basis-Bewegungsdaten zu berechnen,5. Device according to claim 1 or 2 in which r is the base image encoder (1010) adapted to cooperate with a Ba¬ sis quantization parameters (1034) to guantisieren, in which the basic motion compensator is designed to calculate the basic motion data dependent on a base control parameter (1034) which may depend on the base quantization parameter;
bei der der Erweiterungs — Bildcodierer ( 1028 ) ausgebzLl- det ist, um mit einem Erv/eiterungs-Quantisier"ungs- Parameter ( 1036) zu quantisieren, undwherein the extension - image encoder (1028) ausgebzLl- det is to quantize with an Erv / eiterungs quantizer "ungs- parameters (1036), and
bei der der Erweiterungs— Bewegungskompensierer ( 10 1-3 ) ausgebildet ist, um die Erweiterungs-Bewegungsdaten abhängig von einem Erweiterungs-Steuer-Parameter ( 1036 ) zu berechnen, der von dem Erweiterungs- Quantisierungsparamter abhängen kann und der sich von dem Basis-Steuer-Parameter für den Basis-Bildcodierer unterscheidet .wherein the expansion motion compensator (10 1-3) is adapted to calculate the expansion motion data in response to an expansion control parameter (1036) that may depend on the expansion quantization parameter and different from the base control Parameter for the basic image coder.
6 . Vorrichtung nach Anspruch. 5 , bei der der Erweiterung~s- Bewegungskompensierer aus gebildet ist, um die Basis— Bewegungsdaten als Prädikztor für die Erweiterungs-6. Device according to claim. 5, in which the expansion ~ s motion compensator is formed to provide the basic motion data as a predicte gate for the expansion
Bewegungsdaten zu verwenden, und um ein Erweiterungs - Bewegungsdaten-Restsignal mit einer blockweisen Sign a¬ lisierung dem Erweiterung s-Bildcodierer ( 1028 ) zuzu¬ führen .To use motion data and to supply an extension motion data remainder signal with a block-wise signaling to the extension s-picture coder (1028).
7. Vorrichtung nach Anspruch 5, bei der der Erweiterung;s- Bewegungskompensierer (10IL4) ausgebildet ist, um eine Suche unter eine Anzahl von potentiellen BewegungsveAk¬ toren bei der Bestimmung eines Bewegungsvektors für einen Makroblock gemäß einem Suchkriterium durchzufüh¬ ren, wobei der Erweiterungs-Bewegungskompensierer (1014) ausgebildet ist, urn bei der Suche auch einen für den korrespondierenden Block der Basisschicht be¬ reits bestimmten Bewegungsvektor zu verwenden, und uπn dann, wenn durch den Bewegungsvektor der Basisschicht das Suchkriterium erfüllt ist, den Bewegungsvektor der Basisschicht zu übernehmen und eine diesbezügliche In- formation (1100) dem Erweiterungs-Bildcodierer (1028) zuzuführen.7. The apparatus of claim 5, wherein the extension; s motion compensator (10IL4) is adapted to perform a search among a number of potential motion vectors in determining a motion vector for a macroblock according to a search criterion, wherein the extension Motion compensator (1014) is designed to also use in the search a motion vector already determined for the corresponding block of the base layer, and then, if the search criterion is satisfied by the motion vector of the base layer, to take over the motion vector of the base layer and a related information information (1100) to the expansion image coder (1028).
8. Vorrichtung nach einem der Ansprüche 5 bis I1 bei dem der Erweiterungs-Bewegungskompensierer (1014) ferner ausgebildet ist, um auch einen inkitremental-veränderten Bewegungsvektor der Basisschicht zu berücksichtigen, und um dann, wenn durch den inkremental-veränderten Bewegungsvektor der Basisschicht das Suchkriterium er- füllt wird, die inkrementale Veränderung des Bewe¬ gungsvektors dem Erweiterungs-Bildcodierer (1028) für einen Block zusammen mit einer Sigrαalisierung (1100) für den Block zuzuführen.The apparatus of any one of claims 5 to 1 , wherein said expansion motion compensator (1014) is further adapted to also consider an incitrementally altered motion vector of the base layer, and then, if by the incrementally-changed motion vector of the base layer The search criterion is to supply the incremental change of the motion vector to the expansion image coder (1028) for a block together with a scaling (1100) for the block.
9. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Erweiterungs-Bewegungslcompensierer (1014) ausgebildet ist, um Bewegungsvektor"en für Blöcke eines Bildes zu bestimmen, und um ferner die Bewegungsvekto¬ ren nachzuverarbeiten, um Bewegungs^vektordifferenzen zwischen zwei Bewegungsvektoren zu ermitteln und dem Erweiterungs-Bildcodierer (1028) zuzuführen, und9. Device according to one of the preceding claims, wherein the expansion Bewegungslcompensierer is configured (1014) to the motion vector "s for blocks to determine an image, and to further the Bewegungsvekto¬ to determine between two motion vectors ren nachzuverarbeiten, ^ vector differences to motion and the extension image coder (1028), and
bei der der Erweiterungs-Bewegungskompensierer (1014) ferner ausgebildet ist, um abhängig von einer Kosten- funktion statt einer Differenz zwischen Bewegungsvek¬ toren für zwei Blöcke des selben Bildes eine Differenz zwischen einem Bewegungsvektor des Blocks eines Bildes aus der Erweiterungsschicht und eines modifizierten oder unmodifizierten Bewegungsvektoars eines korrespon- dierenden Blocks eines Bildes aus der Basisschicht zu verwenden, und um diese Differenz dem Erweiterungs- Bildcodierer (1028) zusammen mit einer Signalisierung (1106) für den Block zuzuführen.wherein the expansion motion compensator (1014) is further configured to calculate a difference between a motion vector of the block of an image from the enhancement layer and a modified or unmodified one depending on a cost function instead of a difference between motion vectors for two blocks of the same image To use motion vectors of a corresponding block of an image from the base layer, and to supply this difference to the expansion image coder (1028) along with signaling (1106) for the block.
10. Vorrichtung nach Anspruch 9, bei der der Erweiterungs- Bewegungskompensierer (1014) ausgebildet ist, um als Kostenfunktion einen Betrag einer Di£ferenz zu verwen¬ den. 10. The apparatus of claim 9, wherein the expansion motion compensator (1014) is configured to use an amount of a difference as a cost function.
11. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner einen Zwischen-Schicht-Prädiktor (1018) aufweist, der ausgebildet ist, um unter Verwendung der Erweiterungs-Folge von Restfehlerbildern und Informa¬ tionen über die Basis-Folge von Restfehlerbildern Er- weiterungs-Prädiktions-Restfehlerbilder zu berechnen.11. Device according to one of the preceding claims, further comprising an interlayer predictor (1018), which is designed to extend using the extension sequence of residual error images and Informa¬ information about the basic sequence of residual error images. Calculate prediction residual error images.
12. Vorrichtung nach Anspruch 11,12. Device according to claim 11,
bei der der Basis-Bildcodierer (1010) ausgebildet ist, um eine Quantisierung mit einem Basis—Quantisierungs- Parameter (1034) durchzuführen,wherein the basic image coder (1010) is adapted to perform quantization with a basic quantization parameter (1034),
bei der der Erweiterungs-Bildcodierer (1028) ausgebil¬ det ist, um eine Quantisierung mit einem Erweiterungs- Quantisierungs-Parameter (1036) durchzuführen, wobei der Erweiterungs-Quantisierungs-Parameter (1036) eine feinere Quantisierung als der Basis-Quantisierungs- Parameter (1034) zur Folge haben kannΛ wherein the expansion image coder (1028) is configured to perform quantization with an expansion quantization parameter (1036), the expansion quantization parameter (1036) providing finer quantization than the basic quantization parameter (1036). 1034) can result in Λ
bei der der Basis-Bildcodierer (1010) ausgebildet ist, um die mit dem ersten Quantisierungsparameter quanti- sierte Basis-Folge von Restfehlerbildern zu rekon- struierten, um eine rekonstruierte Basis-Folge zu er¬ halten, undwherein the basic image coder (1010) is adapted to reconstruct the basic sequence of residual error images quantized by the first quantization parameter to obtain a reconstructed basic sequence, and
bei der der Zwischen-Schicht-Prädiktor (1026) ausge¬ bildet ist, um die Erweiterungs-Prädik.t:ions~ Restfehlerbilder unter Verwendung der Erweiterungs- Folge von Restfehlerbildern und der rekonstruierten Basis-Folge von Restfehlerbildern als <die Informatio¬ nen über die Basis-Folge von Restfehleαrbildern zu be¬ rechnen. in which the interlayer predictor (1026) is designed to convert the extension predicates to residual residual images using the extension sequence of residual error images and the reconstructed basic sequence of residual error images as the information to calculate the basic sequence of residual picture images.
13. Vorrichtung nach Anspruch 11 oder 12, die ferner fol¬ gende Merkmale aufweist:13. Device according to claim 11 or 12, which furthermore has the following features:
einen Dezimierer (1032) zum Dezimieren einer Auflösung der Gruppe von Bildern, wobei der Dezimierer (1032) ausgebildet ist, um dem Basis-Bewegungs-Kompensierer (1006) eine Gruppe von Bildern mii: einer Basis- Auflösung bereitzustellen, die kleiner ist als eine Erweiterungs-Auflösung einer Gruppe von Bildern, die dem Erweiterungs-Bewegungs-Kompensierer (1014) zur Verfügung gestellt wird; unda decimator (1032) for decimating a resolution of the group of images, wherein the decimator (1032) is adapted to provide the basic motion compensator (1006) with a group of images at a base resolution that is less than one Extension resolution of a group of images provided to the expansion motion compensator (1014); and
einem Interpolierer (1022) zum räumlichen Interpolie¬ ren der Basis-Folge von RestfehleUrbildern oder einer rekonstruierten Basis-Folge von Restfehlerbildern, um eine interpolierte Basis-Folge von Restfehlerbildern zu erhalten, die dem Zwischen-Schicht-Prädiktor (1018) als Informationen (1026) über die Basis-Folge von Restfehlerbildern zuführbar ist.A-nspruch 3 reinkopie- renan interpolator (1022) for spatially interpolating the basic sequence of residual-error images or a reconstructed basic sequence of residual-error images, to obtain an interpolated basic sequence of residual-error images which the inter-layer predictor (1018) as information (1026 ) can be fed in via the basic sequence of residual defect images. Re-copy Claim 3
14. Verfahren zum Erzeugen einer codierten Videosequenz, die eine Basis-Skalierungsschicht (1002) und eine Er- weiterungs-Skalierungsschicht (1004) aufweist, mit folgenden Schritten:14. A method of generating a coded video sequence comprising a base scale layer (1002) and an extension scale layer (1004), comprising the steps of:
Berechnen (1006)von Basis-Bewegurxgsdaten, die angeben, wie sich ein Block in einem aktuellen Bild bezüglich eines anderen Bildes in einer Gruppe von Bildern be- wegt hat;Calculating (1006) basic motion data indicating how a block in a current image has moved relative to another image in a group of images;
Berechnen (1012) einer Basis-Folge von Restfehlerbil¬ dern unter Verwendung der Basis-Bewegungsdaten; Durchführen einer Basis-Bildcodierrung (1010), um aus der Basis-Folge von Restfehlerbildern eine codierte erste Skalierungsschicht zu erzeugen;Calculating (1012) a basic sequence of residual error images using the basic motion data; Performing a basic image encoding (1010) to generate a coded first scaling layer from the base sequence of residual error images;
Ermitteln (1014) von Erweiterungs—Bewegungsdaten, wo¬ bei adaptiv und blockweise Erweiterungs-Bewegungsdaten unter Verwendung der Basis-Bewegungsdaten ermitteln werden, und wobei und blockweise Signalisierungsinfor- mationen geliefert werden;Determining (1014) expansion motion data, where adaptive and blockwise expansion motion data will be determined using the base motion data, and wherein and block by block signaling information is provided;
Berechnen (1016) einer Erweiterungs-Folge von Restfeh¬ lerbildern unter Verwendung der Errweiterungs- Bewegungsdaten; undCalculating (1016) an extension sequence of residual error images using the expansion motion data; and
Durchführen einer Erweiterungs-Bildcodierung (1028) durch Codieren von Informationen tάber die Erweite¬ rungs-Folge von Restfehlerbildern und durch Codieren der blockweisen Signalisierungsinformationen, um eine codierte Erweiterungs-Skalierungsschicht zu erhalten.Performing extension image coding (1028) by encoding information about the extension sequence of residual error images and encoding the block-wise signaling information to obtain a coded extension scaling layer.
15. Vorrichtung zum Decodieren einer codierten Videose¬ quenz mit einer Basis-Skalierungsschicht (1002) und einer Erweiterungs-Skalierungsschicht (1004) mit fol¬ genden Merkmalen:15. Device for decoding a coded video sequence with a base scaling layer (1002) and an extension scaling layer (1004) with the folloWing features:
einem Basis-Bild-Decodierer (1060) zum Decodieren der Basis-Skalierungsschicht, um eine decodierte Basis- Folge von Restfehlerbildern und Basis-Bewegungsdaten zu erhalten;a base image decoder (1060) for decoding the base scaling layer to obtain a decoded basic sequence of residual error images and basic motion data;
einem Basis-Bewegungs-Kombinierer (1064), der ausge¬ bildet ist, um unter Verwendung der Basis- Bewegungsdaten und der decodierten Folge von Restfeh¬ lerbildern eine Folge von Bildern der Basis- Skalierungsschicht zu erhalten;a basic motion combiner (1064) adapted to obtain, using the basic motion data and the decoded sequence of residual error images, a sequence of images of the base scaling layer;
einem Erweiterungs-Bild-Decodierer (1066) zum Decodie¬ ren der Erweiterungs-Skalierungsschicht, um Informati- onen über eine Erweiterungs-Folge von Restfehlerbil¬ dern und Informationen über Erweiterungs- Bewegungsdaten zu erhalten;an expansion-picture decoder (1066) for Decodie ¬ the extension scaling layer ren order of information to obtain information about an extension sequence of residual error images and information about extension movement data;
einer Erweiterungs-Bewegungsdaten-Berechnungsein- richtung (1078) zum Berechnen der Erweiterungs- Bewegungsdaten durch Auswerten der Informationen über die Erweiterungs-Bewegungsdaten und unter Verwendung von Informationen über Basis-Bewegungsdaten aufgrund der ausgewerteten Informationen über die Erweiterungs- Bewegungsdaten; undextension movement data calculation means (1078) for calculating the extension movement data by evaluating the information about the extension movement data and using basic movement data based on the extracted movement data evaluation information; and
einem Erweiterungs-Bewegungs-Kombinierer (1076) , der ausgebildet ist, um unter Verwendung der Erweiterungs- Folge von Restfehlerbildeirn und der Erweiterungs- Bewegungsdaten eine Folge von Bildern der Erweite- rungs-Skalierungsschicht zu erhalten.an expansion motion combiner (1076) configured to obtain a sequence of images of the enhancement scaling layer using the extension sequence of residual error images and the expansion motion data.
16. Vorrichtung nach Anspruch 15,16. The device according to claim 15,
bei der der Erweiterungs-Bάld-Decodierer (1066) ausge¬ bildet ist, um aus der Erweiterungs-Skalierungsschicht ein Bewegungsdaten-Übernahmesignal zu liefern,in which the extension Bάld decoder (1066) is designed to supply a movement data transfer signal from the extension scaling layer,
bei der ferner ein Hochtas~ter (1086) vorgesehen ist, um die Basis-Bewegungsdaten von einer Basis- Skalierungsschicht-Auflösung auf eine Erweiterungs- Skalierungsschicht-Auflösung umzusetzen, undwherein there is further provided a Hochtas is ~ ter (1086) to the base motion data from one base scaling layer resolution to a resolution extension scaling layer implement, and
bei der die Erweiterungs-Bewegungsdaten-where the extension transaction data
Berechnungseinrichtung (1C78) ausgebildet ist, um ab¬ hängig von dem Bewegungsdaten-Übernahmesignal (1098) als Erweiterungs-Bewegungsdaten die umgesetzten Basis- Bewegungsdaten zu liefern.Calculation device (1C78) is designed to ab¬ depending on the movement data transfer signal (1098) as extension movement data to deliver the converted basic movement data.
17. Vorrichtung nach Anspruch 15, bei der der Erweite- rungs-Bild-Decodierer (1066) ausgebildet ist, um aus der Erweiterungs-Skalierungsschicht eine Prädiktions- Signalisierung (1100, 1106) und ein Erweiterungs- Bewegungsdaten-Restsignal zu liefern,17. The apparatus of claim 15, wherein the enhancement picture decoder (1066) is adapted to provide a prediction image from the enhancement scaling layer. To provide signaling (1100, 1106) and an expansion motion data residual signal,
bei der die Erweiterungs-Bewegungsdaten-Berech- nungseinrichtung (1078) ausgebildet ist, um das Erwei_- terungs-Bewegungsdaten-Restsignal abhängig von der Prädiktions-Signalisierung (1100, 1106) mit den Basis- Bewegungsdaten oder in ihirer Auflösung umgesetzten Ba.- sis-Bewegungsdaten zu kombinieren, um die Erweite- rungs-Bewegungsdaten zu erhalten.wherein the extension motion data calculator (1078) is adapted to derive the enhancement motion data residual signal in accordance with the prediction signaling (1100, 1106) with the base motion data or at its resolution converted in its resolution To combine motion data to obtain the expansion motion data.
18. Vorrichtung nach Anspruch 15, bei der Erweiterungs- Bild-Decodierer (1066) ausgebildet ist, um aus der Er— weiterungs-Skalierungsschicht eine Differenz- Prädiktions-Signalisierung (1106) und ein Erweite- rungs-Bewegungsdaten-Rests±gnal in Form von Bewegungs— Vektordifferenzen für Blöcke zu liefern, und18. An apparatus according to claim 15, wherein said expansion-picture decoder (1066) is adapted to form from said expansion-scaling layer differential prediction signaling (1106) and expansion-motion data remainder ± gnal in form to provide motion vector differences for blocks, and
bei der die Erweiterungs-Bewegungsdaten- Berechnungseinrichtung (1078) ausgebildet ist, um zur Berechnung eines Bewegungs-vektors für einen Block ab¬ hängig von der Differenz-Pxrädiktions-Signalisierung (1106) die Bewegungsvektorcäifferenz mit einem Basis- Bewegungsvektor für einen entsprechenden Block zu kom— binieren.wherein the extension motion data calculator (1078) is adapted to combine the motion vector difference with a base motion vector for a corresponding block to compute a motion vector for a block dependent on the difference prediction signaling (1106) - combine.
19. Vorrichtung nach einem der Ansprüche 15 bis 18, die ferner einen Zwischen-Schicht-Kombinierer (1074) auf¬ weist, um in der Erweiterungsschicht enthaltene Erwei- terungs-Prädiktions-Restfehlerdaten mit der decodier¬ ten Basis-Folge von Restfeh2erbildern oder einer in¬ terpolierten Basis-Folge von Restfehlerbildern zu kom¬ binieren, um die Erweiterungs-Folge von Restfehlerbil¬ dern zu erhalten.19. Device according to one of claims 15 to 18, further comprising an inter-layer combiner (1074), in order to extend prediction residual error data contained in the extension layer with the decoded basic sequence of residual error images or a In¬ terpolierten basic sequence of residual error images to kom¬ binieren to obtain the extension sequence of Restfehlerbil¬ countries.
20. Verfahren zum Decodieren einer codierten Videosequenz mit einer Basis-Skalierungsschicht (1002) und einer Erweiterungs-Skalierungsschicht (1004) mit folgenden Schritten:20. A method of decoding a coded video sequence having a base scaling layer (1002) and a Expansion Scaling Layer (1004) with the following steps:
Decodieren (1060) der Basis-Skalierungsschicht, um ei- ne decodierte Basis-Folge von Restfehlerbildern und Basis-Bewegungsdaten zu erhalten;Decoding (1060) the base scaling layer to obtain a decoded basic sequence of residual error images and basic motion data;
Durchführen einer Basis-Bewegungs-Kombination (1064) unter Verwendung der Basis-Bewegungsdaten und der de- codierten Folge von Restfehlerbildern, so dass einePerforming a base-motion combination (1064) using the base motion data and the decoded sequence of residual error images such that a
Folge von Bildern der Basis-Skalierungsschicht erhal¬ ten wird;Sequence of images of the base scaling layer is obtained;
Decodieren (1066) der Erweiterungs-Skalierungsschicht, um Informationen über eine Erweiterungs-Folge vonDecoding (1066) the extension scaling layer to obtain information about an extension sequence of
Restfehlerbildern und Informationen über Erweiterungs- Bewegungsdaten zu erhalten;To obtain residual error images and information about expansion motion data;
Berechnen (1078) der Erweiterungs-Bewegungsdaten durch Auswerten der Informationen über die Erweiterungs- Bewegungsdaten und unter Verwendung von Informationen über Basis-Bewegungsdaten aufgrund der ausgewerteten Informationen über die Erweiterungs-Bewegungsdaten; undCalculating (1078) the extension movement data by evaluating the information about the extension movement data and using basic movement data based on the extracted movement data information; and
Durchführen einer Erweiterungs-Bewegungs-Kombination (1076), um unter Verwendung der Erweiterungs-Folge von Restfehlerbildern und der Erweiterungs-Bewegungsdaten eine Folge von Bildern der Erweiterungs- Skalierungsschicht zu erhalten.Performing an expansion-motion combination (1076) to obtain a sequence of expansion-scale layer images using the extension sequence of residual error images and the extension motion data.
21. Computerprogramm zum Ausführen eines Verfahrens gemäß Patentanspruch 15 oder 20, wenn das Verfahren auf ei¬ nem Computer läuft.21. Computer program for carrying out a method according to claim 15 or 20, when the method runs on ei¬ nem computer.
22. Computer-lesbares Medium mit einer codierten Videose- cfuenz, die eine Basis-Skalierungsschicht (1002) und eine ErweiLterungs-Skalierungsschicht (1004) aufweist, wobei die codierte Videosequenz derart ausgebildet ist, dass sie dann, wenn sie in einer Vorrichtung zum Decodieren gemäß Patentanspruch 15 decodiert wird, in einer decodierten ers¬ ten Skalierungsschicht und einer decodierten zweiten Ska¬ lierungsschicht resultiert. 22. A computer-readable medium having a coded video footprint that includes a base scale layer (1002) and a Comprising a scaling layer (1004), wherein the coded video sequence is arranged such that, when decoded in a decoding device according to claim 15, it results in a decoded first scaling layer and a decoded second scaling layer.
EP05791756A 2004-10-15 2005-09-21 Device and method for generating a coded video sequence while using an inter-layer movement data prediction Withdrawn EP1800490A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP12180683A EP2538678A1 (en) 2004-10-15 2005-09-21 Device and method for generating a coded video sequence using intermediate layer remaining value prediction

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61945704P 2004-10-15 2004-10-15
DE102004059993A DE102004059993B4 (en) 2004-10-15 2004-12-13 Apparatus and method for generating a coded video sequence using interlayer motion data prediction, and computer program and computer readable medium
PCT/EP2005/010223 WO2006042611A1 (en) 2004-10-15 2005-09-21 Device and method for generating a coded video sequence while using an inter-layer movement data prediction

Publications (1)

Publication Number Publication Date
EP1800490A1 true EP1800490A1 (en) 2007-06-27

Family

ID=35464005

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05791756A Withdrawn EP1800490A1 (en) 2004-10-15 2005-09-21 Device and method for generating a coded video sequence while using an inter-layer movement data prediction

Country Status (3)

Country Link
EP (1) EP1800490A1 (en)
JP (1) JP2008517498A (en)
WO (1) WO2006042611A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004059993B4 (en) 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating a coded video sequence using interlayer motion data prediction, and computer program and computer readable medium
US8432968B2 (en) 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths
JP5400876B2 (en) 2008-06-16 2014-01-29 ドルビー ラボラトリーズ ライセンシング コーポレイション Rate control model adaptation based on slice dependency for video coding
JP5956571B2 (en) * 2011-06-30 2016-07-27 ヴィディオ・インコーポレーテッド Motion prediction in scalable video coding.
CN103828371B (en) 2011-09-22 2017-08-22 太阳专利托管公司 Dynamic image encoding method, dynamic image encoding device and dynamic image decoding method and moving image decoding apparatus
CN105765979B (en) 2013-09-24 2019-08-09 Vid拓展公司 Inter-layer prediction for scalable video coding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9200499A (en) * 1992-03-17 1993-10-18 Nederland Ptt SYSTEM INCLUDING AT LEAST ONE ENCODER FOR CODING A DIGITAL SIGNAL AND AT LEAST A DECODER FOR DECODING A CODED DIGITAL SIGNAL, AND ENCODER AND DECODER FOR USE IN THE SYSTEM.
US6023301A (en) * 1995-07-14 2000-02-08 Sharp Kabushiki Kaisha Video coding device and video decoding device
JP3263807B2 (en) * 1996-09-09 2002-03-11 ソニー株式会社 Image encoding apparatus and image encoding method
US6233356B1 (en) * 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
US6510177B1 (en) * 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
DE10022520A1 (en) * 2000-05-10 2001-11-15 Bosch Gmbh Robert Method for spatially scalable moving image coding e.g. for audio visual and video objects, involves at least two steps of different local resolution
DE10121259C2 (en) * 2001-01-08 2003-07-24 Siemens Ag Optimal SNR scalable video coding
WO2004073312A1 (en) * 2003-02-17 2004-08-26 Koninklijke Philips Electronics N.V. Video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006042611A1 *

Also Published As

Publication number Publication date
WO2006042611A1 (en) 2006-04-27
JP2008517498A (en) 2008-05-22

Similar Documents

Publication Publication Date Title
DE102004059993B4 (en) Apparatus and method for generating a coded video sequence using interlayer motion data prediction, and computer program and computer readable medium
DE60031230T2 (en) SCALABLE VIDEO CODING SYSTEM AND METHOD
DE10190285B4 (en) Method and system for processing compressed video signals
DE60027955T2 (en) Method and apparatus for context-based inter / intra coding mode selection
Adami et al. State-of-the-art and trends in scalable video compression with wavelet-based approaches
US20080095235A1 (en) Method and apparatus for intra-frame spatial scalable video coding
CN1926876B (en) Method for coding and decoding an image sequence encoded with spatial and temporal scalability
KR20100103668A (en) Method and apparatus for highly scalable intraframe video coding
WO2006056531A1 (en) Transcoding method and device
DE60317670T2 (en) Method and apparatus for 3D subband video coding
DE69915843T2 (en) PART BAND CODING / decoding
EP1800490A1 (en) Device and method for generating a coded video sequence while using an inter-layer movement data prediction
WO2006042612A1 (en) Device and method for generating a coded video sequence and for decoding a coded video sequence while using an inter-layer residual value prediction
DE10204617B4 (en) Methods and apparatus for compressing and decompressing a video data stream
DE102004041664A1 (en) Method for coding and decoding, as well as coding and decoding apparatus for video coding
EP1737240A2 (en) Method for scalable image coding or decoding
EP1285537B1 (en) Method and an arrangement for the coding and decoding of a series of images
DE102004063902B4 (en) Computer program comprising a method for processing a group of images and a method for processing a base image and one or more extension images
DE102004011422B4 (en) Apparatus and method for processing a group of images and apparatus and method for processing a base image and one or more extension images
DE102004011421B4 (en) Apparatus and method for generating a scaled data stream
DE10219640B4 (en) Method for coding and decoding video sequences and computer program product
DE10200901B4 (en) Efficient coding of video signals for scalable simul-cast storage and transmission as well as the associated codec
DE10121259C2 (en) Optimal SNR scalable video coding
DE10340407A1 (en) Apparatus and method for encoding a group of successive images and apparatus and method for decoding a coded image signal
Sawada et al. Subband-based scalable coding schemes with motion-compensated prediction

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070327

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

RIN1 Information on inventor provided before grant (corrected)

Inventor name: MARPE, DETLEV

Inventor name: SCHWARZ, HEIKO

Inventor name: WIEGAND, THOMAS

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1105263

Country of ref document: HK

17Q First examination report despatched

Effective date: 20101011

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20121106

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1105263

Country of ref document: HK