DE4128977A1 - Video signal filter circuit for transformed and quantised data blocks - uses two=dimensional block coordinates with relative coordinates or transformation coefficients with two=dimensional variables - Google Patents
Video signal filter circuit for transformed and quantised data blocks - uses two=dimensional block coordinates with relative coordinates or transformation coefficients with two=dimensional variablesInfo
- Publication number
- DE4128977A1 DE4128977A1 DE4128977A DE4128977A DE4128977A1 DE 4128977 A1 DE4128977 A1 DE 4128977A1 DE 4128977 A DE4128977 A DE 4128977A DE 4128977 A DE4128977 A DE 4128977A DE 4128977 A1 DE4128977 A1 DE 4128977A1
- Authority
- DE
- Germany
- Prior art keywords
- block
- video signal
- coordinates
- coefficients
- transformation
- 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
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 27
- 230000006870 function Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000006835 compression Effects 0.000 abstract 1
- 238000007906 compression Methods 0.000 abstract 1
- 238000013139 quantization Methods 0.000 description 15
- 230000000903 blocking effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 241000132023 Bellis perennis Species 0.000 description 2
- 235000005633 Chrysanthemum balsamita Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- YMFIJXDFAPHJIN-VIFPVBQESA-N (2s)-2-[2-(3-acetamido-2,4,6-triiodophenoxy)ethoxymethyl]butanoic acid Chemical compound CC[C@H](C(O)=O)COCCOC1=C(I)C=C(I)C(NC(C)=O)=C1I YMFIJXDFAPHJIN-VIFPVBQESA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Die Erfindung betrifft eine Schaltungsanordnung zur Filte rung eines datenblockweise transformierten und quantisier ten Videosignales, das durch die Abtastwerte I(q, x) seiner Bildpunkte dargestellt ist, entsprechend dem Oberbegriff des Patentanspruchs 1.The invention relates to a circuit arrangement for filters of a data block transformed and quantized th video signal, which is determined by the samples I (q, x) Pixels is shown, according to the generic term of claim 1.
Eine vergleichbare Schaltungsanordnung ist z. B. in der DE 39 17 085 A1 beschrieben. Derartige Schaltungsanordnungen werden zur Nachverarbeitung speziell von Videosignalen verwendet, die von einem sogenannten Hybrid-Kodierer blockweise kodiert, dann übertragen oder gespeichert und anschließend von einem Hybrid-Dekodierer wieder blockweise dekodiert wurden. Die genaue Wirkungsweise solcher Kodie rer bzw. Dekodierer, die nach einem in der CCITT-Empfeh lung H.621 festgelegten Verfahren arbeiten, ist z. B. in den Patentanmeldungen DE 36 13 343 A1, DE 36 20 424 A1 und DE 36 38 128 A1 beschrieben.A comparable circuit arrangement is e.g. B. in the DE 39 17 085 A1 described. Such circuit arrangements are used for the post-processing of video signals used by a so-called hybrid encoder encoded in blocks, then transmitted or stored and then again in blocks from a hybrid decoder were decoded. The exact mode of operation of such a code rer or decoder, which according to a in the CCITT recomm H.621 defined procedures work is z. B. in the patent applications DE 36 13 343 A1, DE 36 20 424 A1 and DE 36 38 128 A1 described.
Bei einer solchen Kodierung wird das Signal eines Video bildes nach Blöcken strukturiert. Blöcke sind z. B. alle Daten der Bildpunkte, die in einem Videobild, das auf einem Bildschirm wiedergegeben wird, einem rechteckigen oder quadratischen Ausschnitt angehören. Im vorliegenden Fall ist beispielhaft an quadratische Ausschnitte gedacht, die aus 8*8 Bildpunkten zusammengesetzt sind. Das gesamte Videobild besteht z. B. aus 36 Blockzeilen und 44 Block spalten.With such an encoding, the signal of a video picture structured according to blocks. Blocks are e.g. B. all Data of the pixels in a video image that are on a rectangular screen or square cutout. In the present Case is an example of square cutouts, which are composed of 8 * 8 pixels. The entire Video image exists e.g. B. from 36 block lines and 44 block columns.
Zur Identifizierung eines Blocks innerhalb eines Videobil des werden Blockadressen oder Blockkoordinaten verwendet, die hier durch einen zweidimensionalen Vektor q = (q1, q2) mit positiven, ganzzahligen Komponenten dargestellt wer den. Die erste Komponente des Vektors q gibt die Zeilen adresse und die zweite die Spaltenadresse an.To identify a block within a videobil block addresses or block coordinates are used, which is represented here by a two-dimensional vector q = (q1, q2) with positive, integer components the. The first component of the vector q gives the lines address and the second the column address.
Zur Identifizierung der Bildpunkte innerhalb eines 8*8 Blockes werden Relativkoordinaten oder Relativadressen (Koordinate und Adresse werden hier als Synonyme verstan den) verwendet, die hier ebenfalls durch einen zweidimen sionalen Vektor x = (x1, x2) mit ganzzahligen Komponenten dargestellt werden. x1 und x2 können unabhängig vonein ander die Werte von 1 bis 8 annehmen.To identify the pixels within an 8 * 8 Blocks become relative coordinates or relative addresses (Coordinate and address are understood here as synonyms den), which is also used here as a two-dim sional vector x = (x1, x2) with integer components being represented. x1 and x2 can be independent of each other others assume the values from 1 to 8.
Nach der oben erwähnten CCITT-Empfehlung werden die Daten eines solchen Blocks einer zweidimensionalen Cosinus- Transformationen unterworfen, d. h., durch eine Linearkom bination von 64 Cosinusfunktionen dargestellt, die sich untereinander durch ihre "Frequenzen" unterscheiden. Die gesamte Bildinformation eines Blockes mit der Adresse q steckt dann in den 64 Transformationskoeffizienten C(q, u), wobei der zweidimensionale Vektor u = (u1, u2) mit ganzzah ligen Komponenten sowohl der Abzählung der Koeffizienten und auch der Cosinusfunktionen (Basisfunktionen) dient. C(q, u) wird auch als Darstellung des Videosignals I(q, x) im Transformationsbereich mit der Variablen u bezeichnet.According to the CCITT recommendation mentioned above, the data of such a block of a two-dimensional cosine Subjected to transformations, d. i.e., by a linear comm combination of 64 cosine functions represented, which are distinguish among themselves by their "frequencies". The total image information of a block with the address q is then in the 64 transformation coefficients C (q, u), where the two-dimensional vector u = (u1, u2) with integer components of both the counting of the coefficients and also the cosine functions (basic functions). C (q, u) is also used to represent the video signal I (q, x) designated in the transformation area with the variable u.
Üblicherweise durchlaufen die Komponenten des Vektors u die Zahlen von 0 bis 7. Bis auf Faktoren stellen die Kom ponenten des Vektors u die "Frequenzen" (genauer: Wellen zahlen, da es sich um die Beschreibung flächenhafter Strukturen und nicht zeitlicher Strukturen handelt) der Cosinus-Funktionen dar, die zur Beschreibung der flächen haften Strukturen innerhalb eines Blockes erforderlich sind.Typically, the components of the vector pass through the numbers from 0 to 7. The Com components of the vector u the "frequencies" (more precisely: waves pay because it is the description of the area Structures and not temporal structures) Cosine functions that are used to describe the areas structures within a block are required are.
Der Vorteil der Darstellung eines Videosignales durch die Transformationskoeffizienten ist der, daß mit ihr Informa tionen komprimiert werden können. Besteht z. B. ein Block aus identischen Bildpunkten, ist statt der Übertragung von 64 Bildpunktdaten nur die Übertragung des Koeffizienten C(q, O) mit O = (0, 0) als Nullvektor erforderlich. Durch die Darstellung des Videosignals im Transformationsbereich wird der Korrelation seiner Werte im Ortsbereich Rechnung getragen.The advantage of displaying a video signal through the Transformation coefficient is that with it informa ions can be compressed. There is z. B. a block from identical pixels, is instead of the transfer of 64 pixel data only the transmission of the coefficient C (q, O) with O = (0, 0) required as zero vector. By the representation of the video signal in the transformation area is the correlation of its values in the local area carried.
Zur weiteren Einsparung von Daten werden bei der Kodierung die Koeffizienten C(q, u) durch einen Quantisierer quanti siert. Der damit verbundene Quantisierungsfehler führt jedoch im dekodierten Videosignal I(q, x), das auf einem Bildschirm wiedergegeben wird, zum sogenannten "blocking". Mit Blocking sind Bildstörungen gemeint, die in einem Videobild mehr oder weniger deutlich - je nach Feinheit der Quantisierung und je nach Bildinhalt - die bei der Kodierung verwendete Blockstruktur erkennen lassen.To further save data when coding the coefficients C (q, u) quanti by a quantizer siert. The associated quantization error leads however, in the decoded video signal I (q, x) which is based on a Screen is played back, so-called "blocking". Blocking means image disturbances that occur in one Video image more or less clear - depending on the fineness the quantization and depending on the image content - that of the Coding can be used to identify the block structure.
Zur Reduzierung dieser störenden Blockstruktur werden bei bekannten Schaltungen (vgl. oben) die Blockränder geglät tet, z. B. durch lineare Filterung aller Bildpunkte eines Videobildes, die in der Nähe der Blockränder liegen.To reduce this disruptive block structure, known circuits (see above) smoothed the block edges tet, e.g. B. by linear filtering of all pixels Video image that is near the block edges.
Der Erfindung liegt die Aufgabe zugrunde, eine Schaltungs anordnung der Eingangs genannten Art anzugeben, mit der sich die genannte Blockstruktur nahezu vollständig unter drücken läßt. Diese Aufgabe wird durch folgende Merkmale gelöst:The invention has for its object a circuit order of the type mentioned, with which the block structure mentioned is almost completely underneath lets press. This task is characterized by the following features solved:
- - Mittel, mit denen vorgesehen ist, ein gefiltertes Vi deosignal IS(q, x) zu bestimmen, durch das der Wert des Funktionals unter der Nebenbedingung möglichst klein wird, daß die Differenz zwischen einem Transformationskoeffizienten CS(q, u) für das gefilterte Videosignal und den Transforma tionskoeffizienten C(q, u) des Videosignals I(q, x) betrags mäßig kleiner oder gleich einer Schwelle D(q, u) ist, wobei- Means with which it is provided to determine a filtered video signal IS (q, x) by which the value of the functional under the secondary condition that the difference between a transformation coefficient CS (q, u) for the filtered video signal and the transformation coefficient C (q, u) of the video signal I (q, x) is moderately less than or equal to a threshold D ( q, u), where
- 1) µ ein experimentiell bestimmter Parameter ist,1) µ is an experimentally determined parameter,
- 2) die Summe im zweiten Term für das Funktional F nur über die Relativkoordinaten x läuft, die zur Menge Rq der Randpunkte des Blocks mit dem Blockkoordinaten q gehören,2) the sum in the second term for the functional F only runs over the relative coordinates x that correspond to the set Rq the edge points of the block with the block coordinates q belong,
- 3) IP(q, x) ein Zielrandwert für den Randpunkt x des Blocks mit dem Blockkoordinaten q ist,3) IP (q, x) a target boundary value for the boundary point x of the Blocks with the block coordinates q is
- - Mittel, die dafür vorgesehen sind, den Zielrandwert IP(q, x) aus einem Mittelwert des gefilterten Videosi gnals zu bestimmen, gemittelt über die Abtastwerte von Bildpunkten, die zum Block mit den Blockkoordinaten q benachbart sind.- Means intended for this, the target margin IP (q, x) from an average of the filtered video i gnals to be determined, averaged over the samples of Pixels leading to the block with the block coordinates q are neighboring.
Das Funktional F in (1) besteht aus zwei Anteilen, nämlich einem ersten Term, bei dem die Summe über alle Ortskoor dinaten eines Blocks läuft und einem zweiten Term, bei dem die Summe nur über die Koordinaten der Randpunkte eines Blocks läuft. Der erste Term soll deshalb Flächenterm von F und der zweite Term - ohne den Parameter µ als Faktor - Randterm von F genannt werden.The functional F in (1) consists of two parts, namely a first term, in which the sum over all Ortskoor dates of one block and a second term, in which the sum only over the coordinates of the edge points of a Blocks running. The first term should therefore be area term of F and the second term - without the parameter µ as a factor - Boundary term of F.
Der Randterm ist in soweit unbestimmt, als in ihm ein nicht explizit angegebener Zielrandwert IP(q, x) vorkommt, von dem lediglich gefordert wird, daß er ein Mittelwert des gesuchten Signals IS(q, x) sein soll, gemittelt über Bildpunkte der zum Block q benachbarten Blöcke. Hier wird unter Mittelwert sowohl ein lineares, gewogenes Mittel mit gegebenenfalls adaptiven Gewichten als auch ein nicht linearer Mittelwert verstanden. Insbesondere kann IP(q, x) nur aus einem Wert von IS(q1, x) bestehen, wobei mit q1 ein zum Block q benachbarter Block gemeint ist. Mit dem Rand term sollen die Randwerte des gesuchten Signals IS(q, x) aneinander angeglichen werden.The marginal term is indefinite insofar as it contains a target margin value IP (q, x), which is not explicitly specified and which is only required to be an average of the sought signal IS (q, x), averaged over image points of the Block q adjacent blocks. Here, mean is understood to mean both a linear, weighted mean with possibly adaptive weights and a non-linear mean. In particular, IP (q, x) can only consist of a value of IS (q 1 , x), with q 1 meaning a block adjacent to block q. The boundary term of the sought signal IS (q, x) is intended to be matched to one another.
Besteht der Zielrandwert aus einem linearen Mittel der Randwerte eines Nachbarblocks, so läßt sich das Minimum von F exakt bestimmen, wenn von den Nebenbedingungen abge sehen wird. Das gefilterte Signal IS(q, x) ergibt sich dann als das ursprüngliche Signal, mit dem Unterschied das ein Randwert eines Blocks ersetzt worden ist durch einen Mit telwert dieses Blocks aus Randpunkten und der Nachbarblök ke. Dann sind jedoch im allgemeinen die Nebenbedingungen verletzt, die dafür sorgen, daß im gefilterten Signal IS(q, x) keine größeren Fehler auftreten, als die, die durch die Quantisierung der Transformationskoeffizienten beim Kodierungsprozeß verursacht worden sind.If the target margin value consists of a linear mean of Boundary values of a neighboring block, this is the minimum of F determine exactly if it is dependent on the constraints will see. The filtered signal IS (q, x) then results than the original signal, with the difference that one The marginal value of a block has been replaced by a with tel value of this block from boundary points and the neighboring block ke. Then, in general, the constraints are violated, which ensure that in the filtered signal IS (q, x) no larger errors than those that occur by quantizing the transform coefficients have been caused in the coding process.
Bei Berücksichtigung der Nebenbedingungen sind exakte Lösungen des zugrunde liegenden Problems nicht mehr ohne weiteres erhältlich. Man ist auf Näherungen angewiesen, entweder auf Iterationsmethoden oder auf Potenzreihenent wicklungen z. B. nach dem Parameter µ.Taking the constraints into account are exact Solutions to the underlying problem are no longer without more available. You have to rely on approximations either on iteration methods or on power series windings z. B. according to the parameter µ.
In beiden Fällen empfiehlt es sich, den Zielrandwert aus Näherungen für das gefilterte Signal zu bestimmen, um den mathematischen Aufwand zu reduzieren.In both cases, it is recommended to choose the target margin Approximations for the filtered signal to determine the reduce mathematical effort.
Stellt man das gefilterte Signal IS(q, x) als Linearkom bination der Basisfunktionen dar, die auch beim Kodie rungsprozeß verwendet worden sind, so muß F bezüglich der gesuchten Koeffizienten CS(q, u) möglichst klein gemacht werden. Da die Ungenauigkeit (durch die Quantisierung bei der Kodierung) dieser Koeffizienten im Videosignal I(q, x) die Ursache des Blockings ist, ergibt sich die Möglich keit, erst diejenigen Koeffizienten im gefilterten Signal genähert zu bestimmen, die am stärksten zum Blocking bei tragent, um mit möglichst wenig Aufwand eine große Wirkung zu erhalten.If you put the filtered signal IS (q, x) as a linear comm combination of the basic functions, which also applies to the Kodie tion process have been used, F must with respect to the sought coefficients CS (q, u) made as small as possible will. Because the inaccuracy (due to the quantization at the coding) of these coefficients in the video signal I (q, x) is the cause of the blocking, the possibility arises speed, only those coefficients in the filtered signal approximated to determine which is most responsible for blocking tragic to make a big impact with as little effort as possible to obtain.
Koeffizienten, deren Beitrag zum Blocking grundsätzlich vernachlässigbar ist, können durch die Formulierung der Nebenbedingung in der Form D(q, u) = 0 beim Aufsuchen einer Lösung unberücksichtigt bleiben.Coefficients, their contribution to blocking in principle is negligible, can be formulated by the Supplementary condition in the form D (q, u) = 0 when looking for one Solution are disregarded.
Anhand der Figur und eines Ausführungsbeispieles soll die Erfindung nun näher erläutert werden. Die Figur zeigt ein Prinzipschaltbild einer erfindungsgemäßen Anordnung.Based on the figure and an embodiment, the Invention will now be explained in more detail. The figure shows a Basic circuit diagram of an arrangement according to the invention.
In der Figur wird ein Videosignal I(q, x), das entsprechend der H. 261-Empfehlung kodiert und wieder dekodiert wurde, auf einer Leitung 1a einer erfindungsgemäßen Schaltungs anordnung zur Nachverarbeitung zugeführt. Das Videosignal ist nach 8*8-Blöcken strukturiert. Der Vektor g = (q1, q2) gibt mit seinem positiven, ganzzahligen Komponenten die Adressen eines Blocks innerhalb eines Videobildes an. Der oberste, am weitesten links stehende Block eines auf einem Monitor dargestellten Videobildes hat die Adressen (1, 1) und der unterste, am weitesten rechts stehende Block hat die Adressen (36, 44), weil das gesamte Bild aus 36*44 Blöcken aufgebaut ist.In the figure, a video signal I (q, x), which has been coded and decoded again in accordance with the H. 261 recommendation, is fed on a line 1 a to a circuit arrangement according to the invention for post-processing. The video signal is structured according to 8 * 8 blocks. The vector g = (q1, q2), with its positive, integer components, indicates the addresses of a block within a video image. The uppermost, leftmost block of a video image displayed on a monitor has the addresses ( 1 , 1 ) and the bottom, rightmost block has the addresses ( 36 , 44 ) because the entire image is made up of 36 * 44 blocks is.
Innerhalb eines Blocks gibt der Vektor x = (x1, x2) die Adressen bzw. Koordinaten eines der 64 Bildpunkte an. Der Bildpunkt, der sich in einem Block links oben befindet, hat die Adresse (1, 1) und der Bildpunkt, der sich im Block rechts unten befindet, die Adresse (8, 8). Within a block, the vector x = (x1, x2) specifies the addresses or coordinates of one of the 64 pixels. The pixel that is in a block at the top left has the address ( 1 , 1 ) and the pixel that is in the block at the bottom right has the address ( 8 , 8 ).
Das Eingangssignal 1a wird einem Bildspeicher 2 zugeführt und dort zunächst abgespeichert. Gleichzeitig gelangt es an eine Einheit 1, die die Daten eines jeden Bildpunktes mit dem Blockkoordinaten q und den Relativkoordinaten x um einen Wert verändert, der einer Linearkombination jener Basisfunktionen entspricht, die auch bei der Kodierung zur Transformation der Bildpunktdaten verwendet worden sind. Im vorliegenden Fall handelt es sich bei der Transforma tion um eine Cosinustransformation und daher bei den Ba sisfunktionen um Cosinusfunktionen. Die Koeffizienten der Linearkombination werden dabei zufallsmäßig zwischen zwei zulässigen (vgl. weiter unten) Grenzwerten gewählt, d. h., aus dem gegebenen Signal I(q, x) wird ein neues Signal IS0(q, x) nach der Beziehung:The input signal 1 a is fed to an image memory 2 and initially stored there. At the same time, it arrives at a unit 1 which changes the data of each pixel with the block coordinates q and the relative coordinates x by a value which corresponds to a linear combination of those basic functions which were also used in the coding to transform the pixel data. In the present case, the transformation is a cosine transformation and therefore the base functions are cosine functions. The coefficients of the linear combination are chosen randomly between two permissible (see below) limit values, ie, the given signal I (q, x) becomes a new signal IS 0 (q, x) according to the relationship:
berechnet.calculated.
In (2) ist an den Summanden unter dem Summenzeichen sym bolisch zu erkennen, daß es sich bei den Basisfunktionen um Cosinusfunktionen handelt, wie sie in der H.261-Empfeh lung festgelegt sind. Genauer ist unter dem Ausdruck CosB(u, x) mit einem Normierungsfaktor K die GrößeIn (2) sym is at the summands under the sum symbol Bolically recognizing that it is the basic functions are cosine functions as described in the H.261 recom are set. More precise is under the expression CosB (u, x) with a normalization factor K the size
Cos B(u,x) = K cos(πu1(2 × 1 + 1)/16) cos(πu2(2 × 2 + 1)/16) (3)Cos B (u, x) = K cos (πu1 (2 × 1 + 1) / 16) cos (πu2 (2 × 2 + 1) / 16) (3)
zu verstehen, wobei u1 und u2 die beiden positiven, ganz zahligen Komponenten des Vektors u = (u1, u2) sind, mit denen die Basisfunktionen abgezählt werden. Die ganzen Zahlen u1 und u2 durchlaufen unabhängig voneinander die Werte von 0 bis 7. Der Vektor x = (x1, x2) gibt die schon oben erläuterten Relativkoordinaten bzw. Adressen der Bildpunkte innerhalb eines Blocks an.to understand, where u1 and u2 are the two positive, entirely number components of the vector u = (u1, u2) are with where the basic functions are counted. The whole Numbers u1 and u2 run independently of each other Values from 0 to 7. The vector x = (x1, x2) already gives them relative coordinates or addresses of the Pixels within a block.
Da auch I(q, x) sich als Linearkombination der Basisfunk tionen CosB(u, x) darstellen läßt, bedeutet (2), daß jeder Transformationskoeffizient des gegebenen Signals I zu fallsmäßig um δ(q, u)0 verändert worden ist. Diese Verände rung darf betragsmäßig nicht größer sein als der Betrag des maximalen Quantisierungsfehlers, der für den entspre chenden Koeffizienten bei der Kodierung gemacht wurde.Since I (q, x) can also be represented as a linear combination of the basic functions CosB (u, x), (2) means that each transformation coefficient of the given signal I has been changed to δ (q, u) 0 if necessary. The amount of this change must not be greater than the amount of the maximum quantization error that was made for the corresponding coefficient during coding.
Das Signal IS0(q, x) wird in einem zweiten Bildspeicher 3 abgespeichert, und zwar als nullte Näherung für einen iterativen Prozeß zur Ermittlung eines möglichst kleinen Wertes des Funktionals F nach Formel (1). Dabei ist es äußerst wichtig, die genannten Nebenbedingungen zu beach ten, nämlich den Betrag des Unterschiedes der Transforma tionskoeffizienten zwischen dem gesuchten Signal IS(q, x) und dem gegebenen Signal I(q, x) nicht größer zu machen als eine Schwelle D(q, u). Diese Forderung gilt auch für jede Näherung des gefilterten Signals. Die positiven Schwellen D(q, u) dürfen ebenfalls nicht größer sein als der Betrag des maximalen Quantisierungsfehlers, der bei der Quanti sierung der Transformationskoeffizienten während der Ko dierung gemacht worden ist.The signal IS 0 (q, x) is stored in a second image memory 3 , specifically as a zero approximation for an iterative process for determining the smallest possible value of the functional F according to formula (1). It is extremely important to note the secondary conditions mentioned, namely to make the magnitude of the difference in the transformation coefficients between the sought signal IS (q, x) and the given signal I (q, x) no greater than a threshold D ( q, u). This requirement also applies to any approximation of the filtered signal. The positive thresholds D (q, u) must also not be greater than the amount of the maximum quantization error that was made during the quantization of the transformation coefficients during the coding.
Das Minimum des Funktionals F unter den genannten Neben bedingungen wird im Beispiel näherungsweise nach der nun erläuterten Iterationsmethode bestimmt.The minimum of the functional F under the mentioned side Conditions are approximated in the example after the now explained iteration method.
Auch das gefilterte bzw. gesuchte Videosignal IS(q, x) läßt sich als Linearkombination der Basisfunktionen darstellen; es istThe filtered or searched video signal IS (q, x) also leaves present themselves as a linear combination of the basic functions; it is
mit CS(q, u) als Transformationskoeffizienten des gefilter ten Videosignals für den Block mit der Adresse q. Diese Koeffizienten werden nun als gesuchte Größen angesehen; dabei wird zunächst so vorgegangen, als sei das Minimum des Funktionals F ohne die genannten Nebenbedingungen zu bestimmen. Hieraus folgt, daß die partielle Ableitung von F nach den gesuchten Koeffizienten im Minimum null sein muß. Die Nullstellen dieser Ableitung werden sodann nach dem Newton′schen Näherungsverfahren bestimmt. Allerdings wird zunächst für alle Blöcke nacheinander nur der Koeffi zient CS(q, 0), d. h. der Koeffizient mit der niedrigsten "Frequenz", als variable angesehen und durch einen ein zigen Schritt des oben erwähnten Näherungsverfahrens ver bessert. Weitere Schritte an dieser Stelle zu verwenden wäre wegen des Randtermes von (1) wenig sinnvoll, wie weiter unten noch deutlicher werden wird.with CS (q, u) as the transformation coefficient of the filtered th video signal for the block with the address q. These Coefficients are now viewed as searched quantities; the first step is to act as if it were the minimum of the functional F without the mentioned constraints determine. It follows that the partial derivative of F must be at least zero according to the searched coefficients got to. The zeros of this derivative are then after the Newtonian approximation. Indeed is initially only the Koeffi for all blocks in succession cient CS (q, 0), d. H. the coefficient with the lowest "Frequency", viewed as variable and by a umpte step of the approximation method mentioned above improves. Use further steps at this point would make little sense because of the marginal term of (1), like will become clearer below.
Eine Einheit 8 berechnet für den Flächenterm von F die partielle Ableitung nach einem der gesuchten Koeffizienten CS(q, u). Für diese Ableitung ergibt sich der AusdruckA unit 8 calculates the partial derivative for one of the sought coefficients CS (q, u) for the area term of F. The expression results for this derivative
und für den Randterm von F der Ausdruckand for the boundary term of F the expression
der von einer Einheit 9 bestimmt wird.which is determined by a unit 9 .
Da es sich um einen iteratives Näherungsverfahren handelt, um die Nullstellen der Summe von (5) und dem H-fachen von (6) zu bestimmen, wird in (5) und (6) für IS(q, x) die nullte Näherung eingesetzt, die von der Einheit 1 nach dem oben erwähnten Verfahren bestimmt worden ist.Since it is an iterative approximation method to determine the zeros of the sum of (5) and the H times of (6), the zeroth approximation is used in (5) and (6) for IS (q, x) determined by unit 1 according to the above-mentioned method.
Für die Zielrandwerte IP(q, x) wird im vorliegenden Bei spiel ein Näherungswert des gesuchten Signals für denjeni gen Punkt eingesetzt, der einem Randpunkt x am nächsten ist, jedoch zu einem Nachbarblock gehört. Ist ein Rand punkt x gleichzeitig Randpunkt eines Videobildes, wird als Zielrandwert IS(p, x) eingesetzt. Der Beitrag dieses Rand punktes zu (6) wird dann null.For the target boundary values IP (q, x) in the present case play an approximation of the signal you are looking for towards the point closest to an edge point x but belongs to a neighboring block. Is an edge point x at the same time the edge point of a video image, is called Target margin value IS (p, x) used. The contribution of this edge point to (6) then becomes zero.
Über eine Leitung 12a bekommt eine Einheit 12 Informatio nen über die verwendete Quantisierungskennlinie, also auch über den Grad der Quantisierung. Durch die Einheit 12 wird µ kleiner gemacht, je feiner quantisiert worden ist. Bei feinster Quantisierung sollten nämlich die Werte IS(q, x) des gefilterten Signales mit den dekodierten Werten I(q, x) nahezu übereinstimmen, da erfahrungsgemäß bei feinster Quantisierung das Blocking kaum zu erkennen ist. Diese plausible Forderung nach Übereinstimmung wird durch die angedeutete Abhängigkeit µ′s von der Quantisierungskenn linie berücksichtigt, denn je kleiner u ist, desto genauer stimmt IS(q, x) im Minimum von F mit I(q, x) überein.Via a line 12 a, a unit receives 12 information about the quantization characteristic used, that is also about the degree of quantization. The unit 12 makes µ smaller, the finer it has been quantized. With the finest quantization, the values IS (q, x) of the filtered signal should almost coincide with the decoded values I (q, x), since experience has shown that blocking is hardly detectable with the finest quantization. This plausible requirement for agreement is taken into account by the indicated dependency µ′s on the quantization characteristic, because the smaller u is, the more exactly IS (q, x) corresponds to I (q, x) in the minimum of F.
Der aktuelle Wert von µ wird durch einen Multiplizierer 10 mit dem Ausdruck (6) multipliziert und zum Term (5) durch einen Addierer 11 hinzuaddiert. Die Summe wird über eine Leitung 11a einer Steuereinheit 7 zugeführt. Die Steuer einheit 7 berechnet zunächst die zweite partielle Ablei tung von F nach den Transformationskoeffizienten CS(q, x) d. h., - bis auf Faktoren - den AusdruckThe current value of μ is multiplied by the expression ( 6 ) by a multiplier 10 and added to the term ( 5 ) by an adder 11 . The sum is fed to a control unit 7 via a line 11 a. The control unit 7 first calculates the second partial derivative of F according to the transformation coefficients CS (q, x), ie - except for factors - the expression
und bestimmt daraus die Änderung δ(q, u)1 des u-ten Transformationskoeffizienten nach dem Newton′sche Nähe rungsverfahren. Diese Änderung δ(q, u), gleicht dem negati ven Quotient aus dem Signal auf der Leitung 11a und dem Ausdruck (7). In die Berechnung von (7) gehen die Signal werte selbst nicht mehr ein, sondern nur noch Werte der Basisfunktionen, deren Werte ohnehin nur einmal berechnet und dann abgespeichert werden. Außerdem stellt der erste Term die Norm der u-ten Basisfunktion dar, die bei geeig netem K in (3) eins wird.and determines from this the change δ (q, u) 1 of the u-th transformation coefficient according to the Newtonian approximation method. This change δ (q, u) is equal to the negative quotient of the signal on line 11 a and the expression ( 7 ). The signal values themselves are no longer included in the calculation of (7), but only values of the basic functions, the values of which are anyway only calculated once and then saved. In addition, the first term represents the norm of the u-th basis function, which becomes one with a suitable K in (3).
Die Kontrolleinheit 7 gibt die Änderung δ(q, u)1 an eine Einheit 6 weiter, die überprüft, ob die Gesamtänderung, nämlich δ(q, u)0 + δ(q, u)1, die der Transformationskoeffi zient C(q, u) bisher erfahren hat, betragsmäßig nicht über einer Schwelle D(q, u) liegt. Im Beispiel ist diese Grenze der betragsmäßig größte Quantisierungsfehler. Ihn kann die Einheit 6 aus den Daten über die Quantisierungskennlinie ermitteln, die ihr ebenfalls über die Leitung 12a zuge führt werden. Den Wert von δ(q, u)0 erhält die Einheit 6 von der Einheit 1 über eine Leitung 1b.The control unit 7 passes the change δ (q, u) 1 on to a unit 6 , which checks whether the total change, namely δ (q, u) 0 + δ (q, u) 1 , that the transformation coefficient C (q , u) has so far not exceeded a threshold D (q, u). In the example, this limit is the largest quantization error in terms of amount. The unit 6 can determine it from the data on the quantization characteristic, which is also supplied to it via line 12 a. The value of δ (q, u) receives 0, the unit 6 of the unit 1 through a line 1 b.
Im vorliegenden Beispiel ist D(q ,u) nur für die ersten neunzehn Transformationskoeffizienten mit dem Betrag des maximalen Quantisierungsfehlers identisch. Für alle ande ren Werte von u wird D(q, u) null gesetzt, d. h., diese Koeffizienten werden gegenüber den Koeffizienten von I(q, x) nicht mehr verändert. Der Grund ist der, daß sich erfahrungsgemäß gerade die Quantisierungsfehler der ersten Koeffizienten besonders stark auf das Blocking auswirken, während die Wirkung der restlichen Koeffizienten vernach lässigbar ist. Die Abzählung der Koeffizienten erfolgt nach steigendem Betrag des Vektors u.In the present example, D (q, u) is only for the first nineteen transform coefficients with the amount of maximum quantization error identical. For everyone else For the values of u, D (q, u) is set to zero, i.e. that is, this Coefficients are compared to the coefficients of I (q, x) no longer changed. The reason is that experience has shown that the quantization errors of the first Coefficients have a particularly strong impact on blocking, while the effect of the remaining coefficients is neglected is casual. The coefficients are counted after increasing amount of the vector u.
Ist die Summe aller Änderungen für einen Koeffizienten kleiner oder gleich D(q, u), wie von der Einheit 6 geprüft wird, wird dieser Koeffizient an eine Einheit 5 weiterge geben, die die aktuelle Änderung δ(q, u)i des Koeffizienten mit der zugehörigen Basisfunktion multipliziert und an einen Addierer 4 weitergibt. Weitere Eingänge des Addie rers 4 sind mit dem Speicher 3 verbunden, über die der Addierer 4 die Werte der vorangegangenen Näherung für IS(p, x) erhält. Am Ausgang des Addierers 4 erscheint das SignalIf the sum of all changes for a coefficient is less than or equal to D (q, u), as checked by the unit 6 , this coefficient is passed on to a unit 5 , which includes the current change δ (q, u) i of the coefficient multiplies the associated basic function and passes it to an adder 4 . Further inputs of the Addie rers 4 are connected to the memory 3 , via which the adder 4 receives the values of the previous approximation for IS (p, x). The signal appears at the output of the adder 4
IS(p,x)i+1 = IS(p,x)i + δ(p,u)i+1Cos B(u,x), (8)IS (p, x) i + 1 = IS (p, x) i + δ (p, u) i + 1 Cos B (u, x), (8)
also die (i+1)-te Näherung für das gefilterte Signal, die sich aus der (i+1)-ten Änderung eines der Transformations koeffizienten aus der i-ten Näherung für IS(p, x) ergibt. Ist die Summe aller Änderungen größer als D(q, u) wird das der Steuereinheit 7 gemeldet.thus the (i + 1) th approximation for the filtered signal, which results from the (i + 1) th change of one of the transformation coefficients from the i th approximation for IS (p, x). If the sum of all changes is greater than D (q, u), this is reported to the control unit 7 .
Die Steuereinheit 7 steuert den gesamten Prozeß derart, daß zunächst für den Koeffizienten mit u = (0,0) nur ein Iterationsschritt entsprechend der Gleichung (8) pro Block erfolgt und dieser Iterationsschritt für alle Blöcke eines Videobildes durchgeführt wird, für die die Summe der Änderungen innerhalb der zulässigen Grenzen liegt. Ist dieser Durchlauf beendet, wird mindestens ein weiterer Durchlauf für den oder die nächsthöheren Koeffizienten unter den gleichen Bedingungen gestartet. Es handelt sich um die Koeffizienten mit dem Vektor u = (0,1) und mit dem Vek tor u = (1,0). Der nächste Durchlauf erfolgt dann für den Vektor u = (1,1) und so fort bis zum Vektor u = (6,6). Danach wird δ(q, u)2 bestimmt, d. h. beim Newton′schen Ver fahren um einen Iterationsschritt weitergegangen. Die ge samte Filterung wird nach drei Iterationen für das Newton′sche Verfahren als beendet betrachtet.The control unit 7 controls the entire process in such a way that initially only one iteration step for the coefficient with u = (0,0) is carried out per block in accordance with equation (8) and this iteration step is carried out for all blocks of a video image for which the sum of the Changes are within the allowable limits. When this run is finished, at least one further run for the next higher coefficient (s) is started under the same conditions. These are the coefficients with the vector u = (0.1) and with the vector u = (1.0). The next run then takes place for the vector u = (1,1) and so on up to the vector u = (6,6). Then δ (q, u) 2 is determined, that is, proceeded by one iteration step in the Newtonian method. The entire filtering is considered to have ended after three iterations for the Newtonian method.
Die Steuereinheit 7 veranlaßt dann das Auslesen des gefil terten Signals aus dem Speicher 3; es steht - nach Abgabe eines Enable-Signals auf einer Leitung 7a - auf einer Leitung 3a zur Verfügung.The control unit 7 then causes the reading of the filtered signal from the memory 3 ; it is - after delivering an enable signal on a line 7 a - on a line 3 a are available.
Die Funktion der beschriebenen Schaltung kann auch ganz oder teilweise durch einen entsprechend programmierten Rechner übernommen werden. Das Erstellen des oder der Programme gehört im vorliegenden Fall zum handwerklichen Können des Fachmanns.The function of the circuit described can also be quite or partially by an appropriately programmed one Computers are taken over. Creating the or the In the present case, programs are part of the manual Can the professional.
Denn die Angabe der Signalflußrichtung in der Figur und die Charakterisierung der einzelnen Funktionsblöcke durch ihre signalverändernde Wirkungsweise sind für den Fachmann Mittel, die beim heutigen Stand der Simulationstechnik und dem Stand der höheren Programmiersprachen (C, Fortran, Basic, DSPARC, DABL) zu einem Flußdiagramm äquivalent sind. Vergleich hierzu als Beispiel: Handbücher der Daisy Systems Corporation "Simulation Compilation", August 1988 und "Daisy Behavioral Language", September 1988.Because the indication of the signal flow direction in the figure and the characterization of the individual function blocks their signal-changing effects are for the expert Means that at the current state of simulation technology and the state of the higher programming languages (C, Fortran, Basic, DSPARC, DABL) equivalent to a flow chart are. Compare this as an example: Daisy manuals Systems Corporation "Simulation Compilation", August 1988 and "Daisy Behavioral Language", September 1988.
Claims (8)
- 1a) Mittel (3, 5, 6, 7, 8, 9), mit denen vorgesehen ist,
ein gefiltertes Videosignal IS(q,x) zu bestimmen, durch
das der Wert des Funktionals
unter der Nebenbedingung möglichst klein wird, daß die
Differenz zwischen einem Transformationskoeffizienten
CS(q,u) für das gefilterte Videosignal und den Transformationskoeffizienten
C(q,u) des Videosignals I(q,x)
betragsmäßig kleiner oder gleich einer Schwelle D(q,u)
ist, wobei
- a1) µ ein experimentiell bestimmter Parameter ist,
- a2) die Summe im zweiten Term für das Funktional F nur über die Relativkoordinaten x läuft, die zur Menge Rq der Randpunkte des Blocks mit dem Blockkoordinaten q gehören,
- a3) IP(q,x) ein Zielrandwert für den Randpunkt x des Blocks mit dem Blockkoordinaten q ist,
- 1b) Mittel (9), die dafür vorgesehen sind, den Zielrandwert IP(q, x) aus einem Mittelwert des gefilterten Videosi gnals zu bestimmen, gemittelt über die Abtastwerte von Bildpunkten, die zum Block mit den Blockkoordinaten q benachbart sind.
- 1a) means ( 3 , 5 , 6 , 7 , 8 , 9 ) with which it is provided to determine a filtered video signal IS (q, x) by which the value of the functional under the secondary condition that the difference between a transformation coefficient CS (q, u) for the filtered video signal and the transformation coefficients C (q, u) of the video signal I (q, x) is smaller than or equal to a threshold D (q, u), whereby
- a1) µ is an experimentally determined parameter,
- a2) the sum in the second term for the functional F only runs over the relative coordinates x, which belong to the set Rq of the edge points of the block with the block coordinates q,
- a3) IP (q, x) is a target boundary value for the boundary point x of the block with the block coordinates q,
- 1b) means ( 9 ) which are intended to determine the target boundary value IP (q, x) from an average value of the filtered video signal, averaged over the samples of pixels which are adjacent to the block with the block coordinates q.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4128977A DE4128977A1 (en) | 1991-08-31 | 1991-08-31 | Video signal filter circuit for transformed and quantised data blocks - uses two=dimensional block coordinates with relative coordinates or transformation coefficients with two=dimensional variables |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4128977A DE4128977A1 (en) | 1991-08-31 | 1991-08-31 | Video signal filter circuit for transformed and quantised data blocks - uses two=dimensional block coordinates with relative coordinates or transformation coefficients with two=dimensional variables |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4128977A1 true DE4128977A1 (en) | 1993-03-04 |
Family
ID=6439576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4128977A Withdrawn DE4128977A1 (en) | 1991-08-31 | 1991-08-31 | Video signal filter circuit for transformed and quantised data blocks - uses two=dimensional block coordinates with relative coordinates or transformation coefficients with two=dimensional variables |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4128977A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0626790A1 (en) * | 1993-05-28 | 1994-11-30 | Xerox Corporation | Segmentation-based JPEG image artifacts reduction |
US5619267A (en) * | 1993-02-26 | 1997-04-08 | U.S. Philips Corporation | Video decoder including a control unit |
WO1997040627A1 (en) * | 1996-04-24 | 1997-10-30 | Sony Corporation | Method and apparatus for blocking effect reduction in images by post-processing in the spatial domain |
US6724944B1 (en) | 1997-03-13 | 2004-04-20 | Nokia Mobile Phones, Ltd. | Adaptive filter |
CN114556923A (en) * | 2019-10-03 | 2022-05-27 | 华为技术有限公司 | Encoders, decoders and corresponding methods using interpolation filtering |
-
1991
- 1991-08-31 DE DE4128977A patent/DE4128977A1/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619267A (en) * | 1993-02-26 | 1997-04-08 | U.S. Philips Corporation | Video decoder including a control unit |
EP0626790A1 (en) * | 1993-05-28 | 1994-11-30 | Xerox Corporation | Segmentation-based JPEG image artifacts reduction |
WO1997040627A1 (en) * | 1996-04-24 | 1997-10-30 | Sony Corporation | Method and apparatus for blocking effect reduction in images by post-processing in the spatial domain |
US5933542A (en) * | 1996-04-24 | 1999-08-03 | Sony Corporation | Method and apparatus for blocking effect reduction in images by post-processing in the spatial domain |
US6724944B1 (en) | 1997-03-13 | 2004-04-20 | Nokia Mobile Phones, Ltd. | Adaptive filter |
CN114556923A (en) * | 2019-10-03 | 2022-05-27 | 华为技术有限公司 | Encoders, decoders and corresponding methods using interpolation filtering |
CN114556923B (en) * | 2019-10-03 | 2023-03-10 | 华为技术有限公司 | Encoder, decoder and corresponding method using interpolation filtering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69806580T2 (en) | ADAPTIVE FILTER | |
DE69126804T2 (en) | Compression system for moving image data | |
DE69032177T2 (en) | Coding device | |
DE69620963T2 (en) | Method and device for image data compression | |
DE69326990T2 (en) | Coding system and method | |
DE69627982T2 (en) | Signal adaptive post-processing system to reduce blocking effects and ring interference | |
DE3732422C2 (en) | ||
DE69213271T2 (en) | Encoding of video signals | |
EP0517324B1 (en) | Apparatus for controlling the quantifier of a hybrid coder | |
EP0658056B1 (en) | Method for hierarchical motion estimation in a television signal | |
DE19814892A1 (en) | Signal adaptive filter process for reducing overshoot noise and signal adaptive filter | |
DE69119936T2 (en) | Data compression facility | |
EP0077089B1 (en) | Device for storing or transmitting transform-coded picture signals and for regaining those picture signals | |
DE69231286T2 (en) | Orthogonal transform encoder | |
DE4105516C2 (en) | Method and device for improved reproduction of contours | |
EP0525900B1 (en) | Filter circuit for preprocessing a video signal | |
DE4128977A1 (en) | Video signal filter circuit for transformed and quantised data blocks - uses two=dimensional block coordinates with relative coordinates or transformation coefficients with two=dimensional variables | |
DE19717608A1 (en) | Perceptual error processing method and image coding apparatus using this method | |
EP1101196B1 (en) | Method and device for estimating motion in a digitized image with pixels | |
EP0908056B1 (en) | Computer-assisted process and device for processing the image points of an image segment | |
DE3545106C2 (en) | ||
EP0742672A2 (en) | Method for image data reduction by fractal image encoding | |
DE3433493C2 (en) | ||
DE69115530T2 (en) | Image filtering system | |
DE4406837A1 (en) | Image correction device and method for a camcorder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |