DE19758760B4 - Adaptive encoding method for digitised video signal - determining shortest video block which can be used to optimise signal encoding not to exceed bandwidth and precessing power threshold - Google Patents
Adaptive encoding method for digitised video signal - determining shortest video block which can be used to optimise signal encoding not to exceed bandwidth and precessing power threshold Download PDFInfo
- Publication number
- DE19758760B4 DE19758760B4 DE19758760A DE19758760A DE19758760B4 DE 19758760 B4 DE19758760 B4 DE 19758760B4 DE 19758760 A DE19758760 A DE 19758760A DE 19758760 A DE19758760 A DE 19758760A DE 19758760 B4 DE19758760 B4 DE 19758760B4
- Authority
- DE
- Germany
- Prior art keywords
- quad
- coding
- block
- image
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000003044 adaptive effect Effects 0.000 title 1
- 239000011159 matrix material Substances 0.000 claims description 24
- 230000008569 process Effects 0.000 abstract description 22
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 239000013598 vector Substances 0.000 description 39
- 230000006835 compression Effects 0.000 description 23
- 238000007906 compression Methods 0.000 description 23
- 230000033001 locomotion Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000019557 luminance Nutrition 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation 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/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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Die Erfindung betrifft Verfahren zum Kodieren eines Bildes.The The invention relates to methods of encoding an image.
Viele Arten von Videokodierern komprimieren Videobilder, um die Menge an Daten zu reduzieren, die über digitale Kanäle übertragen oder in Speichern oder sonstigen Medien gespeichert werden. Typischerweise empfängt ein Videokodierer ein digitales Video-Einzelbild als Pixeltabellen, die eine Serie von Einzelbildern repräsentieren, die nacheinander wiedergegeben werden, um ein bewegliches Bild zu ergeben. Der Videokodierer setzt die Pixeltabellen in kodierte Videodaten um, welche weniger Bits für ihren Ausdruck benötigen. Ein ideales Kodierverfahren für einen Videokodierer hat geringen Rechenaufwand, um schnelle Kodierung mit minimalem Prozessorschaltkreisaufwand zu ermöglichen, hohe Kompression, um die für die Übertragung oder Speicherung der Videodaten benötigte Bandbreite zu reduzieren, und erhält gleichwohl eine hohe Bildqualität nach dem Kodieren aufrecht. Solche idealen Kodierverfahren sind schwierig zu erzielen. Üblicherweise muß der Rechenaufwand erhöht und/oder die Bildqualität abgesenkt werden, um die Kompression zu verbessern. Kodierverfahren, welche die Kompression ohne entsprechende Zunahme des Rechenaufwandes verbessern oder die den Rechenaufwand verringern, ohne einen entsprechenden Verlust an Kompression oder Bildqualität mit sich zu bringen, werden benötigt.Lots Types of video encoders compress video images to the crowd to reduce data over transmit digital channels or stored in memory or other media. typically, receives a video encoder a digital video frame as pixel tables, which represent a series of frames, one after the other to give a moving picture. The video encoder translate the pixel tables into encoded video data, which is less Bits for her Need expression. An ideal coding method for A video encoder has a low computational cost for fast encoding with minimal processor circuitry overhead, high compression, around the for the transfer or saving the video data needed to reduce bandwidth and receives nevertheless a high image quality the coding upright. Such ideal coding methods are difficult to achieve. Usually, the computational effort elevated and / or the picture quality be lowered to improve the compression. coding, which the compression without corresponding increase in the computational effort improve or reduce the computational burden without a corresponding Loss of compression or image quality will be needed.
Ein ideales Kodierverfahren existiert nicht. Für bestimmte Anwendungsfälle geeignete Kodierverfahren werden typischerweise entsprechend der Kompression ausgewählt, die für die verfügbare Bandbreite benötigt und von der verfügbaren Rechenleistung zur Verfügung gestellt werden kann. Ein Anwendungsfall, bei dem Video über einen Kanal mit sehr begrenzter Bandbreite übertragen wird, verwendet oft eine komplizierte Kodierung, um die Menge an Daten erheblich zu reduzieren, die benötigt wird, um akkurat ein Videobild zu übertragen. Dies erfordert Rechenressourcen hinreichender Leistung, um komplizierte Kodierungen bei der Bildrate des Videobildes auszuführen. Komplizierte Kodierungen können ungeeignet für Anwendungsfälle mit begrenzten oder von mehreren benutzten Rechenleistungsressourcen und einem Kanal mit relativ großer Übertragungsbandbreite sein.One ideal coding method does not exist. Suitable for certain applications Coding methods typically become consistent with compression selected, the for the available bandwidth needed and from the available Computing power available can be made. A use case where video over a Channel is transmitted with very limited bandwidth, often used a complicated coding to increase the amount of data considerably reduce that needed is used to accurately transfer a video image. This requires computational resources adequate performance to complex coding at the frame rate of the video image. Complicated codings may be inappropriate for use cases with limited or used by several computational resources and a channel with a relatively large transmission bandwidth be.
Das Auswählen eines geeigneten Videokodierverfahrens für einen Software-Kodierer, der auf einer Mehrzahl von Plattformen mit unterschiedlichen Niveaus der verfügbaren Rechenleistung läuft, wirft zusätzliche Probleme auf. Wenn ein Kodierverfahren minimaler Schwierigkeit für eine Plattform niedriger Leistung geeignet ausgewählt wird, leidet die Videokompression oft, so daß die Übertragungskanalbandbreite überlastet werden kann (sie ist dann nicht in der Lage, die gewünschte Bildfrequenz einzuhalten), während die Rechenleistung von Plattformen höherer Leistung verschwendet wird. Wenn im Gegensatz dazu ein hochkomplexes Kodierverfahren verwendet wird, können Plattformen niedriger Leistung möglicherweise nicht in der Lage sein, Video mit der gewünschten Bildrate zu kodieren, und Übertragungskanalbandbreite kann verschwendet werden auf Kosten der Rechenleistung, die für andere Zwecke verwendet werden könnte.The Choose a suitable video coding method for a software coder, on a variety of platforms at different levels the available Processing power is running, raises additional Problems on. If a coding process of minimum difficulty for a platform low performance is selected, the video compression suffers often, so that the transmission channel bandwidth is overloaded can not (she is then unable to get the desired frame rate to comply) while wastes the computing power of higher performance platforms becomes. In contrast, if a highly complex coding method is used, can Platforms may be low performance unable to encode video at the desired frame rate, and transmission channel bandwidth can be wasted at the expense of processing power for others Purposes could be used.
Aus der IEEE Transactions on Image Processing, Vol. 3, Nr. 2, 1994, Seiten 207 bis 219, ist bekannt, eine ein Graustufenbild repräsentierende Pixelmatrix in eine Quadverzweigungsstruktur aufzuteilen und diese Struktur zu kodieren, wobei die Information über einen Pixel in dem Graustufenbild aus einer Komponente besteht.Out IEEE Transactions on Image Processing, Vol. 3, No. 2, 1994, Pages 207 to 219 is known, representing a gray scale image Divide pixel matrix into a Quadverzweigungsstruktur and this Structure to encode the information about a pixel in the gray scale image consists of a component.
Die IEEE Transactions on Image Processing, Vol. 5, Nr. 1, 1996, Seiten 4 bis 15, offenbart eine Baumstruktur im Zusammenhang mit Schwarz-Weiß-Bildern, wobei die Baumstruktur zur Strukturierung und Lokalisierung der Bildinformation in unterschiedliche Levels verwendet wird. Die Levels unterscheiden sich in ihrer Wichtigkeit bezüglich einer Bildrekonstruktion, wobei niedrigeren Levels bei der Bildrekonstruktion eine höhere Bedeutung zukommt.The IEEE Transactions on Image Processing, Vol. 5, No. 1, 1996, pages 4-15, discloses a tree structure associated with black and white images, the tree structure used to structure and localize the Image information is used in different levels. The levels differ in their importance in terms of image reconstruction, lower levels are more important in image reconstruction due.
Die Fernseh- und Kinotechnik, Nr. 5, 1994, Seiten 227 bis 237, offenbart eine Übersicht über den MPEG-2-Video-Standard, wobei im wesentlichen Algorithmen der Videokodierung vorgestellt werden.The Television and Cinema Technology, No. 5, 1994, pages 227 to 237 an overview of the MPEG-2 video standard, essentially presenting algorithms of video coding become.
Aufgabe der Erfindung ist es daher, ein Verfahren zu schaffen, das effizient ein farbiges Bild unter Verwendung der Quadverzweigungsstruktur kodiert.task It is therefore an object of the invention to provide a method which is efficient a colored image using the Quadverzweigungsstruktur coded.
Diese Aufgabe wird entsprechend dem Verfahren nach Anspruchs 1 gelöst.These Task is solved according to the method of claim 1.
Dadurch ist es möglich, ein farbiges Bild zu kodieren, dessen Information pro Pixel mehrere Komponenten aufweist, wobei die ersten Komponenten der Pixel in einer ersten Quadverzweigungsstruktur kodiert werden und eine weitere Komponente in einer weiteren Quadverzweigungsstruktur, die ein Unterbaum der ersten Quadverzweigungsstruktur ist, aufgeteilt und kodiert wird. Eine verbesserte Kompression ist möglich, da eine die weitere Komponente repräsentierende Kodierung Stämme der ersten Quadverzweigungsstruktur schafft, und nur die zusätzlichen Zweige in der ersten Quadverzweigungsstruktur kodiert werden müssen.This makes it possible to code a color image whose information has a plurality of components per pixel, wherein the first components of the pixels are coded in a first quad branching structure and a further component in a further quadrangular structure, the one Sub-tree of the first quad branching structure is divided and coded. Improved compression is possible because a coding representing the further component provides stems of the first quad branching structure and only the additional branches in the first quad branching structure need to be coded.
Vorteilhafte Weiterbildungen sind den Unteransprüchen zu entnehmen.advantageous Further developments can be found in the dependent claims.
Die Erfindung wird anhand der in den beigefügten Abbildungen dargestellten Ausführungsbeispiele näher beschrieben.The The invention will be apparent from the illustrated in the accompanying drawings embodiments described in more detail.
Ein Videobild besteht konventionellerweise aus einer Sequenz von Einzelbildern, welche Zeitpunkte in dem Videobild repräsentieren und die sequentiell wiedergegeben werden, um die Illusion der Bewegung zu bewirken. Jedes Einzelbild eines Videobildes kann digital durch Pixeltabellen repräsentiert werden, die eine oder mehrere zweidimensionale Matrizen von Pixelwerten umfassen, wobei jeder Pixelwert ein Charakteristikum einer Fläche (Bildelement oder Pixel) in dem Videobild zu einem Zeitpunkt entsprechend dem Einzelbild identifiziert. Beispielsweise hat in einer Wiedergabe eines Videoeinzelbildes, gewöhnlich als YUV-Farbwiedergabe bezeichnet, jedes Einzelbild drei entsprechende zweidimensionale Matrizen von Pixelwerten, wobei eine Matrix die Y-Komponenten (d.h. Luminanzen) der Pixel in dem Einzelbild repräsentiert und zwei Matrizen U- und V-Komponenten (d.h. Chrominanzen) von Pixeln in dem Einzelbild repräsentieren.One Video image conventionally consists of a sequence of individual images, which times in the video image represent and which are sequential reproduced to create the illusion of movement. Each frame of a video image can be digital through pixel tables be represented the one or more two-dimensional matrices of pixel values each pixel value being a characteristic of an area (pixel or pixel) in the video image at a time corresponding to Single image identified. For example, in a rendition a video frame, usually referred to as YUV color rendering, each frame three corresponding two-dimensional matrices of pixel values, where one matrix is the Y components (i.e., luminances) of the pixels in the frame and two matrices U and V components (i.e., chrominances) of pixels in represent the frame.
Das Kodieren setzt die Pixelmatrizenwerte in Codes um, welche weniger Bits benötigen als die Originalmatrizen, um diese auszudrücken. Das Videobild kann dann gespeichert oder übertragen werden, wobei weniger Speicherraum oder Bandbreite benötigt wird. Bei einer Art von Kodierprozeß, wie durch das Protokoll H.263 für Videophone definiert, ist jedes Einzelbild eines Videobildes entweder ein Intra-Einzelbild, das intrakodiert ist, oder ein Inter-Einzelbild, das interkodiert ist. Intrakodierung kodiert ein Einzelbild unter Verwendung nur der Pixelwerte für das Einzelbild und ist auf Standbilder und Einzelbilder oder Blöcke innerhalb eines beweglichen Bildes anwendbar. Interkodierung kombiniert Pixelwerte eines laufenden Einzelbildes mit Information von vorherigen Einzelbildern und ist generell auf bewegliche Bildkodierung anwendbar.The Coding translates the pixel matrix values into codes which are fewer Need bits as the original matrices to express these. The video picture can then saved or transmitted which requires less memory or bandwidth. In a kind of coding process, as by the H.263 protocol for Videophones, each frame of a video image is either an intra-frame, which is intra-coded, or an inter-frame, that is inter-coded. Intra coding encodes a single frame below Use only the pixel values for the Single frame and is on still images and frames or blocks within a moving picture applicable. Inter coding combines pixel values a running frame with information from previous frames and is generally applicable to mobile picture coding.
Während des
Kodierens wird ein Einzelbild typischerweise in Wurzelblöcke aufgeteilt,
die typischerweise 16 mal 16 oder 32 mal 32 Pixel umfassen, um die
Berechnungsschwierigkeiten zu vermeiden, die von der Manipulation
größerer Matrizen
von Pixelwerten stammen können.
Die Wurzelblöcke werden
dann kodiert.
Jeder
Knoten in der Quadverzweigungsstruktur
Bei YUV-Farbvideo werden drei Komponenten Y (Luminanz), U und V (Chrominanzen) eines Wurzelbloks durch drei Matrizen von Pixelwerten repräsentiert. Matrizen für das Repräsentieren der Komponenten U und V enthalten oft weniger Pixelwerte als die Matrix, welche die Y-Komponente des Wurzelblocks repräsentiert Beispielsweise hat bei einem bekannten YUV-4:1:1-Format eine Fläche in einem Einzelbild, das durch vier Y-Werte repräsentiert wird (normalerweise vier Pixel) nur einen U-Wert und einen V-Wert. Demgemäß wird ein 16-mal-16-Pixelwurzelblock durch eine 16-mal-16-Matrix von Y-Werten, eine 8-mal-8-Matrix von U-Werten und eine 8-mal-8-Matrix von V-Werten repräsentiert. Die Matrizen der Y-Werte, der U-Werte und der V-Werte haben zugeordnete Quadverzweigungsstrukturen, die hier als der Y-Baum, der U-Baum und der V-Baum bezeichnet werden.at YUV color video become three components Y (luminance), U and V (chrominances) of a root block represented by three matrices of pixel values. Matrices for the representation Of components U and V often contain fewer pixel values than those Matrix representing the Y component of the root block For example, in a known YUV 4: 1: 1 format, an area in a frame has represented by four Y values (usually four pixels) only one U-value and one V-value. Accordingly, a 16 by 16 pixel root block through a 16 by 16 matrix of Y values, an 8 by 8 matrix of U values and an 8 by 8 matrix of V values represents. The matrices of the Y-values, the U-values and the V-values have been assigned Quad branching structures, here as the Y-tree, the U-tree and the V-tree designates become.
Gemäß einem
Aspekt der Erfindung soll der V-Baum für ein Einzelbild ein Unterbaum
des U-Baums für
das Einzelbild sein, der seinerseits ein Unterbaum des Y-Baums für das Einzelbild
sein soll.
Die
Voraussetzungen bezüglich
des Y-Baums
Der
Y-Baum
Der
V-Baum
Für natürliche Videos erzeugen die Unterbaumbeschränkungen wenig Verzerrung in dem dekodierten Video, weil die drei Farbkomponenten miteinander in Beziehung stehen. Wenn ein Block von Y-Werten ähnlich ist, sind die Chancen gut, daß U-Werte und V-Werte in dem Block hinreichend ähnlich sind, so daß das Kombinieren der Werte in einen einzigen Block keine große Verzerrung in dem kodierten Bild hervorruft. Die Kodierschwierigkeit wird verringert, weil die Bestimmung von U-Bäumen und V-Bäumen aus einer entwickelten Quadverzweigung mit weniger möglichen zu überprüfenden Verbindungen beginnt. Die Kompression tendiert dahin, besser zu werden, weil ein den V-Baum repräsentierender Code Stämme von U-Baum schafft und nur die zusätzlichen Zweige in dem U-Baum kodiert werden, um den U-Baum zu repräsentieren. In ähnlicher Weise liefert der U-Baum Stämme des Y-Baumes, und nur die zusätzlichen Zweige im Y-Baum werden kodiert. Bei der Alternative wird die Beziehung zwischen der ersten kodierten Quadverzweigungsstruktur und einer zweiten kodierten Quadverzweigungsstruktur durch Zweige indiziert, die von der ersten Quadverzweigungsstruktur entnommen oder dieser zugefügt werden, um die zweite Quadverzweigungsstruktur zu bilden.For natural videos generate the subtree constraints little distortion in the decoded video, because the three color components related to each other. If a block of Y values is similar, chances are good that U-values and V values in the block are sufficiently similar so that combining the values in a single block no big distortion in the encoded Image causes. The coding difficulty is reduced because the Determination of underground trees and V-trees from a developed quad branch with fewer possible Check connections starts. Compression tends to get better because a code representing the V-tree strains of U-tree creates and only the extra branches in the U-tree encoded to represent the U-tree. In similar Way, the U-tree supplies trunks of the Y-tree, and only the extra ones Branches in the Y-tree are coded. The alternative is the relationship between the first coded quad branching structure and a second coded quad branching structure indicated by branches, taken from or added to the first quad branching structure, to form the second quad branching structure.
Ein Vorteil der Unterbaumbeschränkungen besteht in verringerter Schwierigkeit der Dekodierungsberechnung. Da ein für Y-Werte zusammengefügter Block immer einen Satz von U- und V-Werten hat, kann, wenn eine Farbkonversion zur RGB-Domäne benötigt wird, die gesamte Fläche des Blocks mit einem einzigen RGB-Vektor gefüllt werden, und keine weitere Bedienungsüberprüfung oder Aufteilung ist erforderlich. Die Beschränkungen hinsichtlich der Quadverzweigungsstrukturen für die Farbkomponenten betreffen nicht nur YUV-Farbe, sondern sind auch bei anderen Farbformaten einschließlich RGB-Farben anwenbar.One Advantage of the subtree restrictions in reduced difficulty of decoding calculation. There a for Y values of assembled Block always has a set of U and V values, if one can Color conversion to the RGB domain needed will, the entire surface of the block can be filled with a single RGB vector, and no more Operation check or Distribution is required. The limitations on Quad branching structures for the Color components not only affect YUV color, they are Applicable to other color formats including RGB colors.
Die Beschränkungen hinsichtlich der Quadverzweigungsstrukturen, welche Y-, U- und V-Matrizen für ein Einzelbild eines Videos beschreiben, sind auf Intrakodierung und Interkodierung anwendbar. Gemäß einem anderen Aspekt der Erfindung verbessert die Intrablockdifferentialimpulscodemodulation (DPCM) die Kompression von intrakodierten Blöcken mit oder ohne die Beschränkungen der Quadverzweigungen für Farbkomponentenmatrizen. Für Intra-Block-DPCM-Kodierung wird eine Differenz zwischen einem Basisvektor und Codevektor, welcher den Inhalt eines Blocks oder Unterblocks innerhalb eines Einzelbildes beschreibt, bestimmt, bevor der Codevektor quantisiert wird und die Entropie oder die Lauflänge kodiert werden. Wenn der Basisvektor richtig ausgewählt ist, ist die Differenz klein und die Kompression wird verbessert.The restrictions with regard to the quad branching structures, which Y, U and V matrices for a Single frame of a video are on intracoding and Intercoding applicable. According to one Another Aspect of the Invention Improves Intrablock Differential Pulse Code Modulation (DPCM) the compression of intra-coded blocks with or without the restrictions the quad branches for Farbkomponentenmatrizen. For Intra-block DPCM coding becomes a difference between a base vector and code vector which is the Content of a block or sub-block within a frame determines, determined before the codevector is quantized and the entropy or the run length be encoded. If the base vector is selected correctly, the difference is small and the compression is improved.
Ein
Anwendungsbeispiel von Intra-Block-DPCM-Kodierung wird für die Quadverzweigung
beschrieben, wo die strukturierte Walsh-Transformationskodierung auf den Block
gemäß
Eine beispielsweise Ausführung der DPCM-Intrakodierung verwendet einen Basisvektor W*, der mit demselben bekannten Wert für jeden Wurzelblock beginnt, seinen Wert jedoch während des Kodierens jedes Wurzelblocks ändert. Ein hier als eindimensionales DPCM bezeichnetes, als Beispiel gewähltes DPCM-Intrakodierverfahren umfaßt vier Schritte für jeden Unterblock x eines intrakodierten Blocks, (1) berechne Wx – W*, (2) quantisierte Wx – W* mit einem Quantisierer gleicher Schrittgröße, (3) setze W* gleich W* plus der quantisierte Wert Wx – W* und (4) kodiere den quantisierten Wert Wx – W* mit einem Entropie-Kodierer. Nachdem jeder Block kodiert ist, ist der Basisvektor W* gleich dem dekodierten Wert für den gerade kodierten Vektor Wx. Wenn der nächste Codevektor W(x+1) eine Fläche nahe dem durch Wx repräsentierten Bereich repräsentiert, werden die kodierten Vektoren Wx und W(x+1) oft ähnlich sein, und die Differenz W(x+1) -Wx klein. Demgemäß komprimiert die Entropie-Kodierung effizient die quantisierten Differenzen.An example embodiment of the DPCM intra-coding uses a basis vector W * that starts with the same known value for each root block, but changes its value during the encoding of each root block. An example of a one-dimensional DPCM, as an example The selected DPCM intracoding method comprises four steps for each sub-block x of an intra-coded block, (1) calculate Wx-W *, (2) quantized Wx-W * with a quantizer of equal step size, (3) set W * equal to W * plus the quantized one Value Wx - W * and (4) encode the quantized value Wx - W * with an entropy coder. After each block is coded, the basis vector W * is equal to the decoded value for the currently coded vector Wx. When the next code vector W (x + 1) represents an area near the area represented by Wx, the coded vectors Wx and W (x + 1) will often be similar, and the difference W (x + 1) -Wx will be small. Accordingly, the entropy coding efficiently compresses the quantized differences.
Nach
dem anfänglich
festgelegten Wert für den
Basisvektor W* ändert
sich der Basisvektor W* entsprechend den vorher kodierten Vektoren.
Wenn beispielsweise die Codevektoren Wa bis Ws in dieser Reihenfolge übertragen
werden, kann der Basisvektor W*, der für den Unterblock b ausgewählt wird,
von dem Code des Vektors Wa abhängen.
Der Basisvektor W*, ausgewählt
für den
Unterblock c, kann von den kodierten Vektoren Wa und Wb abhängen, und der
Basisvektor für
einen ausgewählten
Unterblock kann generell abhängen
von den Codevektoren, die vor dem Codevektor für den ausgewählten Unterblock
bereitgestellt wurden. Eindimensionale DPCM-Intrakodierung verwendet
dekodiert Vektoren W(x-1) für
den Basisvektor W*, wenn der Vektor Wx kodiert wird. Wenn die Reihenfolge
a bis s einem Zickzackweg durch die Quadverzweigungsaufteilung
Ein
zweidimensionales DPCM-Intrakodierverfahren wählt W* als eine Funktion der
vorher kodierten Vektoren, die an den im Schritt
Sobald
der Basisvektor W* gewählt
ist, wird die Differenz Wx-W* im Schritt
Intrakodierte Einzelbilder sind solche, bei denen alle Wurzelblöcke intrakodiert sind. Interkodierte Einzelbilder können einige interkodierte Wurzelblöcke und einige intrakodierte Wurzelblöcke haben. Interkodierung eines Wurzelblocks beginnt gewöhnlich mit der Bewegungsabschätzung, wobei nach einem vorher dekodierten Einzelbild bezüglich eines prädiktiven Blocks gesucht wird, der sich eng an das laufende Einzelbild anpaßt. Wenn einmal ein solcher prädiktiver Block für den Wurzelblock gefunden ist, kann ein quadverzweigungsstrukturierter Kodierprozeß oder irgendein anderer Kodierprozeß die Differenz zwischen dem Wurzelblock des prädiktiven Blocks kodieren. Idealerweise enthält ein kodierter Differenzblock ausschließlich oder fast nur Nullen oder eine andere Kombination von Werten, die effizient komprimiert sind. In einigen Fällen jedoch, wenn die Bewegungsabschätzung keinen gut passenden prädiktiven Block findet, resultiert geringe oder gar keine Kompression.intra-coded Frames are those in which all root blocks are intra-coded are. Intercoded frames may have some inter-coded root blocks and some intra-coded root blocks to have. Intercoding of a root block usually begins with motion estimation, wherein after a previously decoded frame with respect to a predictive Blocks is sought, which adapts closely to the current frame. If once such a predictive Block for The root block is found, a quadgebzweigungsstrukturierter Coding process or some other coding process that Code difference between the root block of the predictive block. Ideally contains a coded difference block exclusively or almost all zeros or another combination of values that compress efficiently are. In some cases however, if the motion estimation no well fitting predictive Block results in little or no compression.
Ein
Größenkomparator
Wenn
der Intercode kürzer
ist als die Schwellenlänge
tH, wird das Kodierelement
Die
Komplexität
(d.h. die erforderlich Anzahl von Berechnungen) für das Kodierverfahren
Die
Aufzeichnung
Bei
den meisten Videokonferenzsystemen ändert sich die Ballance zwischen
der Rechenleistung und der verfügbaren
Bandbreite für
Videodaten, und keine Schwellenlänge
tH paßt
immer zu solchen Systemen. Gemäß einem
Aspekt der Erfindung, dargestellt in
Zur Überprüfung bezüglich Bandbreitenengpässen kann
der Videokodierer die Menge an Daten überprüfen, die in einem Videodatenpuffer
gespeichert sind, um festzulegen, ob die Bandbreite des Übertragungskanals
ausreicht, um die komprimierten Daten, wie erzeugt, zu übertragen.
Wenn der Videodatenpuffer nahezu voll ist, wird die Schwellenlänge tH im
Schritt
Einige
Prozessoren haben einen Ausnutzungsgradindex, der in einem Register
zur Anzeige des Prozessorauslastungsgrades gespeichert ist. Solche
Auslastungsindizes, wenn verfügbar,
können direkt
gelesen werden, wenn im Schritt
Bei älteren Systemen,
wo der Prozessorauslastungsgrad schwierig zu bestimmen ist, kann
das Verfahren
Das Ändern der Schwellenlänge tH ändert nicht das Format des resultierenden Intercode oder die Qualität des durch einen Code erreichten Bildes. Demgemäß ist die Schwellenlänge tH irrelvant für einen Dekodierer und braucht nicht übertragen zu werden. Das Ändern der Schwellenlänge tH nimmt lediglich einen Ausgleich zwischen der Kompression (der Anzahl von Bits in dem Code) und der Rechenleistung vor (oder der Anzahl von für das Kodieren benötigten Berechnungen). Das Ändern der Rechenleistung eines Kodierverfahrens ohne Änderung des Codeformats oder der Bildqualität wird auf anderem Weg als der Änderung der Schwellenlänge tH erreicht, die festlegt, ob Intrakodierung versucht werden sollte. Beispielsweise bestimmt die Größe eines Suchfensters bei der Bewegungsabschätzung eine Beeinflussung des Kodierrechenaufwandes. Ein großes Suchfenster enthält mehr zu untersuchende Punkte und benötigt deshalb mehr Berechnungen. Alternativ können Bewegungsabschätzverfahren zwischen dem Suchen jedes Punktes in einem Suchfenster umschalten auf eine hierarchische Suchtechnik, die nur ausgewählte Punkte in dem Suchfenster untersucht. Generell verbessern mehr Suchpunkte die Chance, den besten prädiktiven Block zu finden und die Kompression auf Kosten zusätzlicher Berechnungen zu verbessern. Das Ändern des Verfahrens oder des Umfangs der Suche nach einem prädiktiven Block während der Bewegungsabschätzung ändert nicht das Format der Codes oder die Qualität des Bildes.Changing the threshold length tH does not change the format of the resulting intercode or the quality of the image achieved by a code. Accordingly, the threshold length tH is irrelevant to a decoder and need not be transmitted. Changing the threshold length tH only makes a tradeoff between the compression (the number of bits in the code) and the computational power (or the number of computations needed for encoding). Changing the computational power of a coding method without changing the code format or the picture quality is achieved by other than changing the threshold length tH, which determines whether intra-coding should be attempted. For example, determines the size of a search window in the motion estimation influencing the Kodierrechenaufwandes. A large search window contains more points to examine and therefore requires more calculations. Alternatively, motion estimation methods may switch between searching each point in a search window for a hierarchical search technique that examines only selected points in the search window. Generally, more search points increase the chance of finding the best predictive block and improving the compression at the expense of extra computation. Changing the procedure or the amount of searching for a predictive block during motion estimation does not change the format of the codes or the quality of the picture.
Wenn
eine weitere Verbesserung der Kompression benötigt wird, kann Bildqualität geopfert werden,
um dafür
die Bitrate zu reduzieren. Beispielsweise können die Quantisierungsschrittgrößen erhöht werden,
um die mittlere Anzahl von Bits pro Einzelbild zu verringern.
Kurven
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997115075 DE19715075B4 (en) | 1996-04-11 | 1997-04-11 | Method for coding an image formed by a pixel matrix |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/631,652 | 1996-04-11 | ||
US08/631,652 US6005981A (en) | 1996-04-11 | 1996-04-11 | Quadtree-structured coding of color images and intra-coded images |
DE1997115075 DE19715075B4 (en) | 1996-04-11 | 1997-04-11 | Method for coding an image formed by a pixel matrix |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19758760B4 true DE19758760B4 (en) | 2007-06-14 |
Family
ID=38056322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19758760A Expired - Fee Related DE19758760B4 (en) | 1996-04-11 | 1997-04-11 | Adaptive encoding method for digitised video signal - determining shortest video block which can be used to optimise signal encoding not to exceed bandwidth and precessing power threshold |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19758760B4 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19501551A1 (en) * | 1994-01-21 | 1995-08-03 | Mitsubishi Electric Corp | Movement vector determiner for various prediction methods |
US5446806A (en) * | 1993-11-15 | 1995-08-29 | National Semiconductor Corporation | Quadtree-structured Walsh transform video/image coding |
-
1997
- 1997-04-11 DE DE19758760A patent/DE19758760B4/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5446806A (en) * | 1993-11-15 | 1995-08-29 | National Semiconductor Corporation | Quadtree-structured Walsh transform video/image coding |
DE19501551A1 (en) * | 1994-01-21 | 1995-08-03 | Mitsubishi Electric Corp | Movement vector determiner for various prediction methods |
Non-Patent Citations (5)
Title |
---|
AVERBUSH, A.; LAZAR, D.; ISRAELI, M.: Image com- pression using wavelet transform and multiresolu- tiondecomposition. In: IEEE Transactions on Image Processing, Vol. 5, Nr. 1, 1996, S. 4-15 |
AVERBUSH, A.; LAZAR, D.; ISRAELI, M.: Image compression using wavelet transform and multiresolutiondecomposition. In: IEEE Transactions on Image Processing, Vol. 5, Nr. 1, 1996, S. 4-15 * |
SHUSTERMAN, E.; FEDER, M.: Image compression via quadtree decomposition algorithms. In: IEEE Trans- actions on Image Processing, Vol. 3, Nr. 2, 1994, S. 207-219 |
SHUSTERMAN, E.; FEDER, M.: Image compression via quadtree decomposition algorithms. In: IEEE Transactions on Image Processing, Vol. 3, Nr. 2, 1994, S. 207-219 * |
TEICHNER, D.: Der MPEG-2-Standard. In: Fernseh- und Kino-Technik, Nr. 5, 1994, S. 227-237 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19758761B4 (en) | A method of intra-coding an image formed by a pixel matrix | |
DE69130214T2 (en) | Image data compression with adaptive block size selection | |
DE69333288T2 (en) | IMPROVED VECTOR QUANTIZATION | |
DE69633129T2 (en) | WAVELET TREE BILDCODER WITH OVERLAPPING PICTURE BLOCKS | |
DE69116869T2 (en) | DIGITAL IMAGE CODING WITH A RANDOM SCAN OF THE IMAGES | |
DE69738494T2 (en) | Video encoding and video decoding device | |
DE69233411T2 (en) | Method and apparatus for compressing moving video images with adaptive bit allocation and quantization | |
DE3751416T2 (en) | Image coding system for monitoring an amount of information by forming a histogram. | |
DE69937462T2 (en) | EFFICIENT MACROBLOCK HEADER CODING FOR VIDEO COMPRESSION | |
DE69332584T2 (en) | IMPROVED PREPROCESSING AND REPROCESSING OF VECTOR QUANTIFICATION | |
DE69432142T2 (en) | METHOD AND DEVICE FOR EFFICIENT TRANSCODING | |
DE69227676T2 (en) | METHOD AND DEVICE FOR DATA ENCODING USING VECTOR QUANTIFICATION AND RUN LENGTH ENCODING AND USING ADAPTIVE RUNNING ENCODING | |
DE69805099T2 (en) | IMPROVED VIDEO CODING AND DECODING USING ADAPTIVE BLOCK PARAMETERS FOR CODED / UNCODED BLOCKS | |
DE69425047T2 (en) | ADAPTIVE VARIABLE LENGTH ENCODING AND DECODING METHOD FOR IMAGE DATA | |
DE69810669T2 (en) | Process for computationally graceful degradation in an audio-visual compression system | |
DE10190285B4 (en) | Method and system for processing compressed video signals | |
DE60125301T2 (en) | Video signal transcoding | |
DE69015695T2 (en) | Transformation coding facility. | |
DE69606441T2 (en) | VIDEO DATA ENCODER AND DECODER | |
DE69637068T2 (en) | System for decoding moving pictures | |
DE69516734T2 (en) | Image processing method and device | |
DE19704439C2 (en) | Method and device for motion estimation in a digital video encoder using trajectories | |
DE69805228T2 (en) | Video signal coding with adaptive quantization | |
DE19739266B4 (en) | Method and device for coding binary forms | |
DE10300048A1 (en) | Image coding method for motion picture expert groups, involves image quantizing data in accordance with quantization parameter, and coding entropy of quantized image data using entropy coding unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
Q172 | Divided out of (supplement): |
Ref document number: 19715075 Country of ref document: DE Kind code of ref document: P |
|
8110 | Request for examination paragraph 44 | ||
AC | Divided out of |
Ref document number: 19715075 Country of ref document: DE Kind code of ref document: P |
|
AC | Divided out of |
Ref document number: 19715075 Country of ref document: DE Kind code of ref document: P |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |