WO2003026308A2 - Method and device for enhancing coding/decoding of video signals - Google Patents
Method and device for enhancing coding/decoding of video signals Download PDFInfo
- Publication number
- WO2003026308A2 WO2003026308A2 PCT/DE2002/003386 DE0203386W WO03026308A2 WO 2003026308 A2 WO2003026308 A2 WO 2003026308A2 DE 0203386 W DE0203386 W DE 0203386W WO 03026308 A2 WO03026308 A2 WO 03026308A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- levels
- sequence
- sorting information
- index
- field
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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 a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- the invention relates to a method or a device in which the current image information is estimated from already transmitted image areas and only a prediction error is transmitted. This is usually done by dividing an input image into blocks and looking for a corresponding block in previous images for each of these blocks, which minimizes an error or distance measure.
- the prediction error is transformed and quantized by DCT or integer transformation from the local to the frequency domain, and the resulting coefficients are compressed by means of entropy coding and sent to the receiver.
- Common methods for entropy coding are, for example, 3D Huffman codes with a display as a 3-tuple level / run / load, which is used in the ITU-T standard H.263, 2-D UVLCs with a display as a tuple level / run and a display the end of the block by coding a level 0, which is provided in the proposed ITU-T standard H.26L, or an independent coding of the levels and runs by an arithmetic encoder.
- the object on which the invention is based is to increase the efficiency of the entropy coding of the prediction error and thereby to achieve the transmission of video signals with better quality at the same data rate or with the same quality but with a low data rate.
- the invention relates to the method for coding by the features of claim 1, to the method to decode by the features of claim 6, to the device for coding by the features of claim 8 and to the device for decoding by the features of claim 9 solved.
- the invention essentially consists in that, before entropy coding, the sampled levels of a prediction error matrix are sorted by a sorting method Sort, which is particularly advantageous for this purpose, in such a way that the amounts of the levels are always monotonically falling and thus a more efficient coding is made possible. So that a corresponding decoding is possible, a Sorting information formed and also transmitted entropy-coded.
- An advantage of the method according to the invention is that the decoder can always assume a sorted sequence of levels and the encoder can consequently use more efficient coding, since coding a level with Betag
- k the range of values for the following levels is limited to the interval [-k; k] and thus the number of possible code words is reduced.
- this procedure allows a better statistical modeling of the probability of occurrence of the individual symbols and thus a further increase in coding efficiency.
- a prediction error matrix PFM is linearized as usual by scanning SCAN.
- entropy coding EC is carried out, the scanned levels 1 are sorted indirectly via an index field I according to the size of their amount, and sorting information s is formed, which is also transmitted entropy-coded.
- a sorting method that is particularly well suited for this is "insertion location", since the sequence of levels is already sorted very often, except for zeros inserted between them.
- Elementary sorting methods and also the "insertion location” method are, for example, from Robert's book Sedgewick, "Algorithms”; Addison-Wesley, 1991, Chapter 8, pp.121-136 known per se.
- the sorting information consists of the index field without zeros.
- the index field resulting from the sorting is not directly coded and transmitted in the encoder, but is first prepared for transmission with the aid of a marker field M of the same dimensioning of the index field, which is initially not marked at all positions. If a total of k levels is different from zero, the number of unmarked positions is counted from the start for the first k indices of the index field in their given order in the marker field until the index is reached. This number is stored and later fed to the entropy coding and sent to the decoder. The position in the marker field is then marked as marked and the next index is continued.
- the decoder is used in a particularly efficient manner communicated to which position the levels have to be moved to create the original order.
- the index field that was used for sorting is specially prepared before the transfer.
- the decoder only needs to know the positions of the levels that are different from zero. All other positions must have zeros. It is therefore sufficient to only consider the first k positions of the index field if k levels are not equal to zero.
- the index field is prepared for transmission with the help of a marker field of the same dimensioning of the index field, which is initially not marked at all positions.
- At the beginning marker [i] FALSE applies to all i.
- the number of unmarked positions is counted from the beginning for the first k indices of the index field in their given order in the marker field until the index is reached. This number is stored and later fed to the entropy coding and sent to the decoder. The position in the marker field is then marked as marked and the next index is continued.
- a further advantageous embodiment of the method according to the invention consists in that delta coding is additionally carried out in the advantageous embodiment.
- delta coding is additionally carried out in the advantageous embodiment.
- stability properties [Sedgewick, p. 123]
- a delta coding can also be used, which guarantees that no negative deltas occur. These deltas require even less bandwidth.
- the following procedure for determining the non-negative deltas can also be summarized with the previous one.
- the levels are now sorted in descending order according to their amount.
- input data corresponding to the transmitted output data COUT of the encoder are decoded in a decoder DC into a sorted sequence of levels l x and sorting information s, which are fed to a sorting device Dsort, which in turn generates the original sequence of levels 1 ,
- the decoding is in principle inverse to the encoding and its description consequently results indirectly from the description of the encoding.
- any delta coding has to be undone. This is done by decoding a symbol, adding the predictor and adjusting the predictor. So completely analogous to encoding. After this step, the following data is available on the decoder side:
- the marker field used for encoding is again required to decode the position information. At the beginning of the decoding of a block, this is pre-assigned with FALSE. If position information ⁇ k> has been decoded, ⁇ k> positions with the value FALSE are skipped in the marker field, from the beginning of the field, and the subsequent entry with the value FALSE is the entry searched for. At this point in the marker field, TRUE is saved and the index of this position is the index of the corresponding level. This means that the level must be at this point in the reconstructed block. As an example, the restoration of the position information based on the position information 1, 4, 0, 0, 2:
- the decoded block results from this:
- the invention also includes all combinations of hardware and software for carrying out the method according to the invention, as well as computer program products with an appropriate storage medium and the corresponding storage medium itself,
Abstract
According to the invention, the scanned levels of a prediction error matrix are sorted in accordance with a particularly advantageous sorting method, before entropic encoding, such that the values of the levels constantly decrease uniformly and so as to enable to obtain a more efficient coding. For a corresponding decoding, a sorting information is produced and likewise transmitted in entropically coded form.
Description
Beschreibungdescription
Verfahren und Vorrichtung zur verbesserten Codierung / Decodierung von VideosignalenMethod and device for improved coding / decoding of video signals
Die Erfindung betrifft ein Verfahren oder eine Vorrichtung, bei dem bzw. der aus bereits übertragenen Bildbereichen die aktuelle Bildinformation geschätzt und nur noch ein Prädiktionsfehler übermittelt wird. Dies erfolgt in der Regel dadurch, dass ein Eingabebild in Blöcke unterteilt wird und zu jedem dieser Blöcke ein korrespondierender Block in vorangegangenen Bildern gesucht wird, der ein Fehler- oder Abstandsmaß minimiert. Der Prädiktionsfehler wird durch DCT- oder Integertransformation vom Orts- in den Frequenzbereich transformiert, quantisiert und die daraus resultierenden Koeffizienten mittels einer Entropiecodierung komprimiert und zum Empfänger gesendet.The invention relates to a method or a device in which the current image information is estimated from already transmitted image areas and only a prediction error is transmitted. This is usually done by dividing an input image into blocks and looking for a corresponding block in previous images for each of these blocks, which minimizes an error or distance measure. The prediction error is transformed and quantized by DCT or integer transformation from the local to the frequency domain, and the resulting coefficients are compressed by means of entropy coding and sent to the receiver.
Aus der internationalen Patentanmeldung WO 00/27128 ist ein Verfahren und eine Vorrichtung bekannt, bei der die quantisierten Daten im Frequenzbereich mit quantisierten Daten im Frequenzbereich eines zweiten Blocks verglichen werden und eine Prädiktionsfehler-Matrix gebildet wird.From the international patent application WO 00/27128, a method and a device are known in which the quantized data in the frequency domain are compared with quantized data in the frequency domain of a second block and a prediction error matrix is formed.
Bei diesen an sich bekannten Verfahren wird die Eigenschaft der DCT- bzw. Integertransformation ausgenutzt, dass die Energie auf Koeffizienten konzentriert wird, die niedrige Frequenzen repräsentieren. Nach der Quantisierung liegt in aller Regel eine dünn besetzte Matrix vor, bei der nur wenige Koeffizienten nahe der linken oberen Ecke ungleich Null sind. Diese Matrix wird im nächsten Schritt durch einen Koeffizientenscan linearisiert , der die Koeffizienten in der Reihenfolge ihrer Wahrscheinlichkeit, ungleich Null zu sein, abtastet; häufig wird dazu ein ZigZag-Scan verwendet. Diese Liste wird in der Regel als eine Sequenz von Run/Level - Tupeln dargestellt, wobei der Level bzw. Pegel den Wert des von Null verschiedenen Koeffizienten angibt und der Run die
Anzahl der Nullen, die zwischen diesem und dem vorangegangenen Koeffizienten ungleich Null liegen. Diese Sequenz wird im letzten Schritt der Entropiecodierung zugeführt. Gängige Verfahren zur Entropiecodierung sind z.B. 3D Huffman Codes mit einer Darstellung als 3-Tupel Level/Run/Last, das beim ITU-T-Standard H.263 Anwendung findet, 2-D UVLCs mit einer Darstellung als Tupel Level/Run und einer Anzeige des Blockendes durch die Codierung eines Levels 0, das beim vorgeschlagenen ITU-T-Standard H.26L vorgesehen ist, oder eine unabhängige Codierung der Levels und Runs durch einen arithmetischen Coder.In these methods, which are known per se, the property of the DCT or integer transformation is exploited that the energy is concentrated on coefficients which represent low frequencies. After quantization, there is usually a sparse matrix with only a few non-zero coefficients near the top left corner. This matrix is linearized in the next step by a coefficient scan which scans the coefficients in the order of their probability of being non-zero; A ZigZag scan is often used for this. This list is usually presented as a sequence of run / level tuples, where the level indicates the value of the non-zero coefficient and the run the Number of zeros that lie between this and the previous non-zero coefficient. This sequence is fed to the entropy coding in the last step. Common methods for entropy coding are, for example, 3D Huffman codes with a display as a 3-tuple level / run / load, which is used in the ITU-T standard H.263, 2-D UVLCs with a display as a tuple level / run and a display the end of the block by coding a level 0, which is provided in the proposed ITU-T standard H.26L, or an independent coding of the levels and runs by an arithmetic encoder.
Die der Erfindung zu Grunde liegende Aufgabe, besteht nun darin die Effizienz der Entropiecodierung des Prädiktionsfehler zu erhöhen und dadurch die Übertragung von Videosignalen mit besserer Qualität bei gleicher Datenrate oder mit gleicher Qualität bei jedoch geringer Datenrate zu erreichen.The object on which the invention is based is to increase the efficiency of the entropy coding of the prediction error and thereby to achieve the transmission of video signals with better quality at the same data rate or with the same quality but with a low data rate.
Die Erfindung wird hinsichtlich des Verfahrens zur Codierung durch die Merkmale des Anspruchs 1, hinsichtlich des Verfahrens zur Decodierung durch die Merkmale des Anspruchs 6, hinsichtlich des Vorrichtung zur Codierung durch die Merkmale des Anspruchs 8 und hinsichtlich des Vorrichtung zur Decodierung durch die Merkmale des Anspruchs 9 gelöst.The invention relates to the method for coding by the features of claim 1, to the method to decode by the features of claim 6, to the device for coding by the features of claim 8 and to the device for decoding by the features of claim 9 solved.
Die Unteransprüche betreffen vorteilhafte Ausgestaltungen der erfindungsgemäßen Verfahren.The subclaims relate to advantageous refinements of the method according to the invention.
Die Erfindung besteht im wesentlich darin, dass vor einer Entropiecodierung die abgetasteten Pegel einer Prädiktionfehler-Matix durch ein hierfür besonders vorteilhaftes Sortierverfahren Sort derart sortiert werden, dass die Beträge der Pegel immer monoton fallend sind und damit eine effizientere Codierung ermöglicht wird. Damit eine entsprechende Decodierung möglich ist, wird hierbei eine
Sortierinformation gebildet und ebenfalls entropiecodiert übertragen.The invention essentially consists in that, before entropy coding, the sampled levels of a prediction error matrix are sorted by a sorting method Sort, which is particularly advantageous for this purpose, in such a way that the amounts of the levels are always monotonically falling and thus a more efficient coding is made possible. So that a corresponding decoding is possible, a Sorting information formed and also transmitted entropy-coded.
Ein Vorteil des erfindungsgemäßen Verfahrens liegt darin, dass der Decoder immer von einer sortierten Reihenfolge von Levels ausgehen kann und der Encoder demzufolge eine effizientere Codierung verwenden kann, da mit Codierung eines Levels mit Betag | 1 | =k sich der Wertebereich für die folgenden Levels auf das Intervall [-k;k] einschränkt und damit die Anzahl der möglichen Codewörter reduziert wird. Zusätzlich erlaubt dieses Vorgehen eine bessere statistische Modellierung der Auftrittswahrscheinlichkeiten der einzelnen Symbole und damit eine weitere Erhöhung der Codiereffizienz.An advantage of the method according to the invention is that the decoder can always assume a sorted sequence of levels and the encoder can consequently use more efficient coding, since coding a level with Betag | 1 | = k the range of values for the following levels is limited to the interval [-k; k] and thus the number of possible code words is reduced. In addition, this procedure allows a better statistical modeling of the probability of occurrence of the individual symbols and thus a further increase in coding efficiency.
Ein Ausführungsbeispiel der Erfindung wird nun nachfolgend anhand der Zeichnung näher erläutert.An embodiment of the invention will now be explained in more detail with reference to the drawing.
Zunächst wird eine Prädiktionsfehler-Matrix PFM wie üblich durch Abtasten SCAN linearisiert . Vor der Durchführung des letzten Schrittes, der Entropiecodierung EC, werden jedoch die gescannten Levels 1 indirekt über ein Indexfeld I nach der Größe ihres Betrages sortiert und eine Sortierinformation s gebildet, die ebenfalls entropiecodiert übertragen wird.First, a prediction error matrix PFM is linearized as usual by scanning SCAN. Before the last step, entropy coding EC, is carried out, the scanned levels 1 are sorted indirectly via an index field I according to the size of their amount, and sorting information s is formed, which is also transmitted entropy-coded.
Prinzipiell sind hierfür alle gängigen Sortierverfahren möglich. Ein Sortierverfahren, das sich jedoch besonders gut dafür eignet, ist „Insertionsort", da die Folge von Levels sehr häufig, bis auf zwischengeschobenen Nullen, bereits sortiert ist. Elementare Sortierverfahren und auch das Verfahren „Insertionsort" sind bspw. aus dem Buch von Robert Sedgewick, „Algorithmen"; Addison-Wesley, 1991, Kap. 8, S.121-136 für sich bekannt.In principle, all common sorting methods are possible for this. A sorting method that is particularly well suited for this is "insertion location", since the sequence of levels is already sorted very often, except for zeros inserted between them. Elementary sorting methods and also the "insertion location" method are, for example, from Robert's book Sedgewick, "Algorithms"; Addison-Wesley, 1991, Chapter 8, pp.121-136 known per se.
Im einfachsten Fall besteht die Sortierinformation aus dem Indexfeld ohne Nullen.
Vorteilhafte Ausgestaltung des Encoders:In the simplest case, the sorting information consists of the index field without zeros. Advantageous embodiment of the encoder:
In einer vorteilhaften Ausgestaltung der Erfindung wird im Encoder das aus der Sortierung resultierende Indexfeld nicht direkt codiert und übertragen, sondern zuerst mit Hilfe eines Markerfeldes M derselben Dimensionierung des Indexfeldes, das initial an allen Positionen nicht markiert ist, zur Übertragung vorbereitet. Sind insgesamt k Levels von Null verschieden, so wird für die ersten k Indizes des Indexfeldes in ihrer gegebenen Reihenfolge im Markerfeld von Beginn an die Anzahl der nicht markierten Stellen gezählt, bis der Index erreicht ist. Diese Anzahl wird gespeichert und später der Entropiecodierung zugeführt und an den Decoder gesendet. Anschließend wird die Position im Markerfeld als markiert gekennzeichnet und mit dem nächsten Index fortgefahren.In an advantageous embodiment of the invention, the index field resulting from the sorting is not directly coded and transmitted in the encoder, but is first prepared for transmission with the aid of a marker field M of the same dimensioning of the index field, which is initially not marked at all positions. If a total of k levels is different from zero, the number of unmarked positions is counted from the start for the first k indices of the index field in their given order in the marker field until the index is reached. This number is stored and later fed to the entropy coding and sent to the decoder. The position in the marker field is then marked as marked and the next index is continued.
Im Falle einer Prädiktionsmatrix für eine Blockgröße 4x4 ergibt sich nach der Abtastung ein Feld level[k], k>=0 und k<16, in dem die Levels gespeichert sind. Zum Sortieren ist ein zusätzliches Feld index[k], k>=0 und k<16 erforderlich. Vor dem Sortieren wird dieses Feld vorbelegt, so dass index[k]=k gilt. Trivialerweise gilt vor dem Sortieren auch level[index[k]]=level[k] .In the case of a prediction matrix for a block size 4x4, a field level [k], k> = 0 and k <16 results after the scanning, in which the levels are stored. An additional field index [k], k> = 0 and k <16 is required for sorting. Before sorting, this field is pre-assigned so that index [k] = k applies. Trivially, before sorting, level [index [k]] = level [k] also applies.
Nach dem indirekten Sortieren gilt abs ( level[index[k]] ) >=abs ( level[index[k+l]] ) für alle k>=0 und k<15 .After indirect sorting, abs (level [index [k]])> = abs (level [index [k + l]]) applies to all k> = 0 and k <15.
Die Levels, die ungleich Null sind, werden nun in Sortierreihenfolge zum Decoder übertragen. Sind k Levels ungleich Null, so werden level[index[n]] für n=0 bis n=k-l in dieser Reihenfolge gesendet.The levels that are not equal to zero are now transferred to the decoder in sort order. If k levels are not equal to zero, level [index [n]] for n = 0 to n = k-l are sent in this order.
In der vorteilhaf en Ausgestaltung der Erfindung wird dem Decoder auf eine besonders effiziente Art und Weise
mitgeteilt, an welche Position die Levels zur Herstellung der ursprünglichen Reihenfolge verschoben werden müssen. Dazu wird das Indexfeld, das zum Sortieren benutzt wurde, vor der Übertragung in besonderer Weise aufbereitet.In the advantageous embodiment of the invention, the decoder is used in a particularly efficient manner communicated to which position the levels have to be moved to create the original order. For this purpose, the index field that was used for sorting is specially prepared before the transfer.
Dem Decoder müssen nur die Positionen der Levels bekannt sein, die von Null verschieden sind. An allen anderen Positionen müssen sich zwangsläufig Nullen befinden. Es ist also völlig ausreichend, nur die ersten k Positionen des Indexfeldes zu betrachen, wenn k Levels ungleich Null sind.The decoder only needs to know the positions of the levels that are different from zero. All other positions must have zeros. It is therefore sufficient to only consider the first k positions of the index field if k levels are not equal to zero.
Das Indexfeld wird im folgenden Schritt mit Hilfe eines Markerfeldes derselben Dimensionierung des Indexfeldes, das initial an allen Positionen nicht markiert ist, zur Übertragung vorbereitet. Das Markerfeld ist ein Feld marker[i] für i>=0 und i<16. Am Anfang gilt marker[i]=FALSE für alle i .In the following step, the index field is prepared for transmission with the help of a marker field of the same dimensioning of the index field, which is initially not marked at all positions. The marker field is a field marker [i] for i> = 0 and i <16. At the beginning marker [i] = FALSE applies to all i.
Sind insgesamt k Levels von Null verschieden, so wird für die ersten k Indizes des Indexfeldes in ihrer gegebenen Reihenfolge im Markerfeld von Beginn an die Anzahl der nicht markierten Stellen gezählt, bis der Index erreicht ist. Diese Anzahl wird gespeichert und später der Entropiecodierung zugeführt und an den Decoder gesendet. Anschließend wird die Position im Markerfeld als markiert gekennzeichnet und mit dem nächsten Index fortgefahren.If a total of k levels is different from zero, the number of unmarked positions is counted from the beginning for the first k indices of the index field in their given order in the marker field until the index is reached. This number is stored and later fed to the entropy coding and sent to the decoder. The position in the marker field is then marked as marked and the next index is continued.
Eine programmtechnische Realisierung der vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens läuft in ihrem hierfür wesentlichen Teil wie folgt ab:A programmatic implementation of the advantageous embodiment of the method according to the invention proceeds in its essential part as follows:
Zählen der Positionen, die nicht markiert sindCount the positions that are not marked
Speichere oder
Sende Ergebnis
Marker[index[i]] : =TRUE Markiere aktuelle Position End forSave or Send result Marker [index [i]]: = TRUE Mark current position End for
Weitere vorteilhafte Ausgestaltung :Another advantageous embodiment:
Ein weitere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens besteht darin, dass bei der vorteilhaften Ausgestaltung zusätzlich eine Deltacodierung durchgeführt wird. Unter Ausnutzung der Stabilitäts-Eigenschaften [Sedgewick, S. 123] kann zusätzlich eine Deltacodierung angewandt werden, bei der garantiert ist, dass keine negativen Deltas auftreten. Diese Deltas benötigen noch weniger Bandbreite. Das folgende Verfahren zur Bestimmung der nichtnegativen Deltas kann auch mit dem vorangegangenen zusammengefasst werden.A further advantageous embodiment of the method according to the invention consists in that delta coding is additionally carried out in the advantageous embodiment. Using the stability properties [Sedgewick, p. 123], a delta coding can also be used, which guarantees that no negative deltas occur. These deltas require even less bandwidth. The following procedure for determining the non-negative deltas can also be summarized with the previous one.
Eine programmtechnische Realisierung der weiteren vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens läuft in ihrem hierfür wesentlichen Teil wie folgt ab:A programmatic implementation of the further advantageous embodiment of the method according to the invention proceeds in its essential part as follows:
Bilde DeltaForm Delta
Merke aktuellen Level und ResultatNote current level and result
*) Wenn sich der Bertrag des Levels geändert hat, so muss der Prädiktor auf 0 zurückgesetzt werden.
Konkretes Ausführungsbeispiel:*) If the transfer of the level has changed, the predictor must be reset to 0. Specific embodiment:
Im folgenden wird anhand eines konkreten Ausführungsbeispiels die Sortierung und die Bildung der Sortierinformation bei einer Codierung gezeigt :The sorting and the formation of the sorting information in the case of coding is shown below using a specific exemplary embodiment:
Die Level sind nun ihrem Betrag nach in absteigender Reihenfolge sortiert. The levels are now sorted in descending order according to their amount.
3. Umwandeln des Indexfeldes :3. Convert the index field:
Fünf Levels sind von Null verschieden, es werden also fünfFive levels are different from zero, so there are five
Schritte zur Bildung der Sortierinformation benötigt.Steps required to form the sorting information.
Die Sequenz aus den obigen Resultaten bzw. die Sortierinformation die der Entropiecodierung zugeführt werden kann lautet dann wie folgt:
The sequence from the above results or the sorting information that can be supplied to the entropy coding is then as follows:
Decodierung:decoding:
In der Zeichnung werden Eingangsdaten, die den übertragenen Ausgangsdaten COUT des Encoders entsprechen, in einem Decoder DC in eine sortierte Folge von Pegeln lx und eine Sortierinformation s decodiert, die einer Sortiereinrichtung Dsort zugeführt werden, die ihrerseits wieder die ursprüngliche Folge von Pegeln 1 erzeugt.In the drawing, input data corresponding to the transmitted output data COUT of the encoder are decoded in a decoder DC into a sorted sequence of levels l x and sorting information s, which are fed to a sorting device Dsort, which in turn generates the original sequence of levels 1 ,
Die Decodierung erfolgt im Prinzip invers zur Encodierung und ihre Beschreibung ergibt sich folglich indirekt aus der Beschreibung der Encodierung.The decoding is in principle inverse to the encoding and its description consequently results indirectly from the description of the encoding.
Zum besseren Verständnis wird jedoch im folgenden auch die erfindungsgemäße Decodierung anhand des obigen konkreten Ausführungsbeispiels gezeigt:For a better understanding, however, the decoding according to the invention is also shown below on the basis of the above specific exemplary embodiment:
Zunächst ist eine eventuelle Deltacodierung rückgängig zu machen. Dies erfolgt durch Decodieren eines Symbols, Addition des Prädiktors und Anpassen des Prädiktors . Also vollkommen analog zur Encodierung. Nach diesem Schritt sind auf Decoderseite folgende Daten verfügbar:First of all, any delta coding has to be undone. This is done by decoding a symbol, adding the predictor and adjusting the predictor. So completely analogous to encoding. After this step, the following data is available on the decoder side:
1. Die decodierten, sortierten Levels:1. The decoded, sorted levels:
-2 -1 -1-2 -1 -1
2. Die decodierten Sortier- oder Positionsinformationen:2. The decoded sorting or position information:
Zur Decodierung der Positionsinformation wird wieder das zur Encodierung verwendete Markerfeld benötigt. Zu Beginn der Decodierung eines Blockes wird dieses mit FALSE vorbelegt.
Wurde eine Positionsinformation <k> decodiert, so werden im Markerfeld, jeweils vom Beginn des Feldes an, <k> Positionen mit dem Wert FALSE übersprungen und der darauf folgende Eintrag mit dem Wert FALSE ist der gesuchte Eintrag. An dieser Stelle des Markerfeldes wird TRUE gespeichert und der Index dieser Stelle ist der Index des dazugehörigen Levels. Das heißt der Level muss im rekonstruierten Block an dieser Stelle stehen. Als Beispiel das Wiederherstellen der Positionsinformatinon anhand der Positionsinformation 1, 4, 0, 0, 2:The marker field used for encoding is again required to decode the position information. At the beginning of the decoding of a block, this is pre-assigned with FALSE. If position information <k> has been decoded, <k> positions with the value FALSE are skipped in the marker field, from the beginning of the field, and the subsequent entry with the value FALSE is the entry searched for. At this point in the marker field, TRUE is saved and the index of this position is the index of the corresponding level. This means that the level must be at this point in the reconstructed block. As an example, the restoration of the position information based on the position information 1, 4, 0, 0, 2:
sind also:are therefore:
Daraus ergibt sich der decodierte Block zu:The decoded block results from this:
Die Erfindung umfasst auch alle Kombinationen aus Hard- und Software zur Durchführung des erfindungsgemäßen Verfahrens, sowie Computerprogramm-Erzeugnisse mit einem entsprechenden Speichermedium sowie das entsprechende Speichermedium selbst,
The invention also includes all combinations of hardware and software for carrying out the method according to the invention, as well as computer program products with an appropriate storage medium and the corresponding storage medium itself,
Claims
1. Verfahren zur Codierung von Videosignalen,1. method for coding video signals,
- bei dem aus bereits übertragenen Bildbereichen eine aktuelle Bildinformation geschätzt und eine Prädiktionsfehler-Matrix (PFM) gebildet wird,in which current image information is estimated from image areas already transmitted and a prediction error matrix (PFM) is formed,
- bei dem die Prädiktionsfehlermatrix durch eine Koeffizientenabtastung (SCAN) linearisiert sowie in eine Folge von Pegeln (1) und Längen von Nullfolgen umgewandelt wird,- in which the prediction error matrix is linearized by a coefficient scan (SCAN) and converted into a sequence of levels (1) and lengths of zero sequences,
- bei dem die Folge von Pegeln indirekt über ein Indexfeld (I) nach der Größe ihres Betrages sortiert und eine Sortierinformation (s) gebildet wird und- in which the sequence of levels is sorted indirectly via an index field (I) according to the size of their amount and sorting information (s) is formed and
- bei dem die Sortierinformation und eine sortierte Folge von Pegeln (I codiert und die dabei gebildeten Codewerte an einen Ausgangsbitstrom (OUT) angefügt werden.- In which the sorting information and a sorted sequence of levels (I coded and the code values thus formed are added to an output bit stream (OUT).
2. Verfahren nach Anspruch 1, bei dem als Sortierverfahren dem Verfahren Insertionsort entspricht .2. The method according to claim 1, wherein the sorting method corresponds to the method of insertion.
3. Verfahren nach Anspruch 1 oder 2 , bei dem die Sortierinformation (s) direkt aus dem Inhalt des Indexfeldes gebildet wird, wobei Indexpositionen die Nullpegel zeigen nicht berücksichtigt werden.3. The method according to claim 1 or 2, wherein the sorting information (s) is formed directly from the content of the index field, index positions showing the zero level are not taken into account.
4. Verfahren nach Anspruch 1 oder 2 , bei dem die Sortierinformation (s) derart aus dem Inhalt des Indexfeldes gebildet wird, dass für jeden Indexwert der keinem Nullpegel zugeordnet ist in einem Markerfeld (M) in einer bestimmten Reihenfolge ein jeweiliges Resultat in Form der Anzahl der noch nicht markierten Positionen bis zu der Position des jeweiligen Indexwertes ermittelt wird, wobei die Position des Indexwertes selbst nicht mitzählt aber im Markerfeld für den nächsten Indexwert als bereits abgehandelt markiert wird, und dass die für die Indexwerte ermittelten Resultate die Sortierinformation darstellen.4. The method according to claim 1 or 2, in which the sorting information (s) is formed from the content of the index field in such a way that for each index value that is not assigned a zero level in a marker field (M) in a certain order a respective result in the form of Number of positions that have not yet been marked up to the position of the respective index value is determined, the position of the index value itself not being counted but being marked as already resolved in the marker field for the next index value, and that the results determined for the index values represent the sorting information.
5. Verfahren nach Anspruch 4 , bei dem zusätzlich eine Deltacodierung durchgeführt wird.5. The method according to claim 4, in which a delta coding is additionally carried out.
6. Verfahren zur Decodierung von Videosignalen,6. method for decoding video signals,
- bei dem aus einem Eingangsbitstrom eine sortierte Folge von Pegeln (IM und eine Sortierinformation (s) decodiert werden,a decoded sequence of levels (IM and sorting information (s) are decoded from an input bit stream,
- bei dem die sortierte Folge von Pegeln indirekt über ein aus der Sortierinformation gewonnenes Indexfeld (I) in eine ursprüngliche Folge von Pegeln (1) umgeordnet wird, wobei nicht zugeordnete Positionen mit einer Null ergänzt werden, und- in which the sorted sequence of levels is rearranged indirectly via an index field (I) obtained from the sorting information into an original sequence of levels (1), positions which are not assigned being supplemented with a zero, and
- bei dem aus der ursprüngliche Folge von Pegeln (1) die Prädiktionsfehlermatrix erzeugt wird, die zusammen mit einer aktuellen geschätzten Bildinformation ein resultierendes Bild ergibt.- In which the prediction error matrix is generated from the original sequence of levels (1), which results in a resulting image together with current estimated image information.
7. Verfahren nach Anspruch 6, bei dem der Inhalt des Indexfeldes aus der Sortierinformation (s) derart gebildet wird, dass für jeden Wert der Sortierinformation im Markerfeld (M) ein jeweiliger Indexwert durch Abzählen in einer bestimmten Reihenfolge der noch nicht markierten Positionen bis zu der Position des jeweiligen Indexwertes ermittelt wird, wobei die Position des Indexwertes selbst nicht mitzählt aber im Markerfeld für die Bildung eines nächsten Indexwertes als bereits abgehandelt markiert wird.7. The method according to claim 6, wherein the content of the index field from the sorting information (s) is formed such that for each value of the sorting information in the marker field (M) a respective index value by counting in a certain order of the positions not yet marked up to the position of the respective index value is determined, the position of the index value itself not being counted but marked as already resolved in the marker field for the formation of a next index value.
8. Vorrichtung zur Codierung von Videosignalen,8. Device for coding video signals,
- bei der Mittel derart vorhanden sind, dass aus bereits übertragenen Bildbereichen eine aktuelle Bildinformation geschätzt und eine Prädiktionsfehler-Matrix (PFM) gebildet wird, - bei der Mittel derart vorhanden sind, dass die Prädiktionsfehlermatrix durch eine Koeffizientenabtastung (SCAN) linearisiert sowie in eine Folge von Pegeln (1) und Längen von Nullfolgen umgewandelt wird,in which means are present in such a way that current image information is estimated from image areas already transmitted and a prediction error matrix (PFM) is formed, in which means are present in such a way that the prediction error matrix is linearized by a coefficient scan (SCAN) and converted into a sequence of levels (1) and lengths of zero sequences,
- bei der Mittel derart vorhanden sind, dass die Folge von Pegeln indirekt über ein Indexfeld (I) nach der Größe ihres Betrages sortiert und eine Sortierinformation (s) gebildet wird und- The means are available in such a way that the sequence of levels is sorted indirectly via an index field (I) according to the size of their amount and a sorting information (s) is formed and
- bei der Mittel derart vorhanden sind, dass die Sortierinformation und eine sortierte Folge von Pegeln (IM codiert und die dabei gebildeten Codewerte an einen Ausgangsbitström (OUT) angefügt werden.- The means are available in such a way that the sorting information and a sorted sequence of levels (IM coded and the code values formed in the process are added to an output bit stream (OUT).
9. Vorrichtung zur Decodierung von Videosignalen,9. Device for decoding video signals,
- bei der Mittel derart vorhanden sind, dass aus einem Eingangsbitstrom eine sortierte Folge von Pegeln (IM und eine Sortierinformation (s) decodiert werden,in which means are present in such a way that a sorted sequence of levels (IM and sorting information (s) are decoded from an input bit stream,
- bei der Mittel derart vorhanden sind, dass die sortierte Folge von Pegeln indirekt über ein aus der Sortierinformation gewonnenes Indexfeld (I) in eine ursprüngliche Folge von Pegeln (1) umgeordnet wird, wobei nicht zugeordnete Positionen mit einer Null ergänzt werden, und- The means are available in such a way that the sorted sequence of levels is indirectly reorganized into an original sequence of levels (1) via an index field (I) obtained from the sorting information, positions not assigned being supplemented with a zero, and
- bei der Mittel derart vorhanden sind, dass aus der ursprüngliche Folge von Pegeln (1) die- When means are available in such a way that from the original sequence of levels (1)
Prädiktionsfehlermatrix erzeugt wird, die zusammen mit einer aktuellen geschätzten Bildinformation ein resultierendes Bild ergibt. Prediction error matrix is generated, which together with current estimated image information results in a resulting image.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10145375 | 2001-09-14 | ||
DE10145375.2 | 2001-09-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2003026308A2 true WO2003026308A2 (en) | 2003-03-27 |
WO2003026308A3 WO2003026308A3 (en) | 2003-12-04 |
Family
ID=7699057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE2002/003386 WO2003026308A2 (en) | 2001-09-14 | 2002-09-11 | Method and device for enhancing coding/decoding of video signals |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2003026308A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008058754A2 (en) * | 2006-11-16 | 2008-05-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device for encoding and decoding |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3611316A (en) * | 1969-12-24 | 1971-10-05 | Ibm | Indirect indexed searching and sorting |
US5260781A (en) * | 1991-08-13 | 1993-11-09 | Sony United Kingdom Ltd. | Data compression apparatus and method |
US5671406A (en) * | 1995-10-18 | 1997-09-23 | Digital Equipment Corporation | Data structure enhancements for in-place sorting of a singly linked list |
WO1998000977A1 (en) * | 1996-07-03 | 1998-01-08 | Motorola Inc. | Method and apparatus for bound-based adaptive entropy encoding/decoding |
US5721822A (en) * | 1995-07-21 | 1998-02-24 | Intel Corporation | Run-length encoding/decoding video signals using scan patterns explicitly encoded into bitstreams |
EP1102490A1 (en) * | 1996-03-22 | 2001-05-23 | Oki Electric Industry Co., Ltd. | Image encoding method and image encoder |
US6263026B1 (en) * | 1992-02-29 | 2001-07-17 | Samsung Electronics Co., Ltd. | Signal compressing system |
-
2002
- 2002-09-11 WO PCT/DE2002/003386 patent/WO2003026308A2/en not_active Application Discontinuation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3611316A (en) * | 1969-12-24 | 1971-10-05 | Ibm | Indirect indexed searching and sorting |
US5260781A (en) * | 1991-08-13 | 1993-11-09 | Sony United Kingdom Ltd. | Data compression apparatus and method |
US6263026B1 (en) * | 1992-02-29 | 2001-07-17 | Samsung Electronics Co., Ltd. | Signal compressing system |
US5721822A (en) * | 1995-07-21 | 1998-02-24 | Intel Corporation | Run-length encoding/decoding video signals using scan patterns explicitly encoded into bitstreams |
US5671406A (en) * | 1995-10-18 | 1997-09-23 | Digital Equipment Corporation | Data structure enhancements for in-place sorting of a singly linked list |
EP1102490A1 (en) * | 1996-03-22 | 2001-05-23 | Oki Electric Industry Co., Ltd. | Image encoding method and image encoder |
WO1998000977A1 (en) * | 1996-07-03 | 1998-01-08 | Motorola Inc. | Method and apparatus for bound-based adaptive entropy encoding/decoding |
Non-Patent Citations (1)
Title |
---|
KNUTH D E: "The Art of Computer Programming;Volume 3/Sorting and Searching" SORTING AND SEARCHING, ART OF COMPUTER PROGRAMMING, READING, ADDISON WESLEY, US, Bd. 3, Seite 11 XP002172115 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008058754A2 (en) * | 2006-11-16 | 2008-05-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device for encoding and decoding |
WO2008058754A3 (en) * | 2006-11-16 | 2008-07-10 | Fraunhofer Ges Forschung | Device for encoding and decoding |
Also Published As
Publication number | Publication date |
---|---|
WO2003026308A3 (en) | 2003-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1487113B1 (en) | Coding and decoding of transformation coefficients in image or video coders | |
DE69726661T2 (en) | METHOD AND DEVICE FOR CODING A DIGITAL INFORMATION SIGNAL | |
EP0260748B1 (en) | Bitrate reduction method and circuitry | |
DE69833094T2 (en) | Method and apparatus for adaptive data compression with higher degree of compression | |
DE19506164C2 (en) | Method for compressing entered symbols into code words | |
DE69735679T2 (en) | Method of image decoding | |
EP2296282B1 (en) | method and device for arithmetic encoding and decoding with use of multiple lookup tables | |
DE112012005164T5 (en) | Method and apparatus for context-adaptive binary arithmetic coding of syntax elements | |
DE69928616T2 (en) | SYSTEM FOR EXTRACTING CODING PARAMETERS FROM VIDEO DATA | |
DE112008003626T5 (en) | Low complexity coding in data compression systems | |
DE10049571C1 (en) | Method and arrangement for transmitting a vector | |
EP1425920B1 (en) | Method of video coding and computer program product | |
WO2003026308A2 (en) | Method and device for enhancing coding/decoding of video signals | |
DE10145374C1 (en) | Video coding method identifies monotonously decreasing level sequence for using different entropy coding to provide monotomy information and entropy coding value | |
DE102004041418A1 (en) | Method for coding a first and second data word and method for decoding a coded data word | |
DE19653133C2 (en) | System and method for pre-entropic coding | |
DE19549491C2 (en) | Palletised image compression with entropy encoding | |
EP1304885A2 (en) | Method and computer program product for the encoding and decoding of video signal | |
EP1522148A1 (en) | Method for coding positions of data elements in a data structure | |
DE69734613T2 (en) | Coded information signal | |
DE3638127A1 (en) | Method for reducing the bit rate | |
EP0525349B1 (en) | Device for redundancy reduction encoding | |
DE10224996A1 (en) | Method for encoding video signals sorts scanned levels of a predictive error matrix prior to entropic coding so as to let values of levels decrease uniformly and to obtain a more efficient coding. | |
WO1991009499A1 (en) | Data compression process for compressing sequences of picture data of a digital picture signal to be transmitted |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FR GB GR IE IT LU MC NL PT SE SK TR |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |