DE69322531T2 - Dynamische Bitverteilung für dreidimensionale Teilbandbildkodierung - Google Patents
Dynamische Bitverteilung für dreidimensionale TeilbandbildkodierungInfo
- Publication number
- DE69322531T2 DE69322531T2 DE69322531T DE69322531T DE69322531T2 DE 69322531 T2 DE69322531 T2 DE 69322531T2 DE 69322531 T DE69322531 T DE 69322531T DE 69322531 T DE69322531 T DE 69322531T DE 69322531 T2 DE69322531 T2 DE 69322531T2
- Authority
- DE
- Germany
- Prior art keywords
- subband
- pixel signals
- bits
- subbands
- encoding
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 55
- 238000001914 filtration Methods 0.000 claims description 24
- 230000000694 effects Effects 0.000 claims description 10
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 7
- 239000013598 vector Substances 0.000 description 39
- 230000002123 temporal effect Effects 0.000 description 37
- 238000013139 quantization Methods 0.000 description 31
- 230000033001 locomotion Effects 0.000 description 29
- 230000000875 corresponding effect Effects 0.000 description 16
- 238000012546 transfer Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000000354 decomposition reaction Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- DNTFEAHNXKUSKQ-RFZPGFLSSA-N (1r,2r)-2-aminocyclopentane-1-sulfonic acid Chemical compound N[C@@H]1CCC[C@H]1S(O)(=O)=O DNTFEAHNXKUSKQ-RFZPGFLSSA-N 0.000 description 1
- 206010011878 Deafness Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/507—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/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/182—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 pixel
-
- 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/186—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 colour or a chrominance component
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/62—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
-
- 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/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- 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/94—Vector quantisation
-
- 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
-
- 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/115—Selection of the code volume for a coding unit prior to 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/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/146—Data rate or code amount at the encoder output
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Description
- Die vorliegende Erfindung betrifft Verfahren und Vorrichtungen zur Codierung einer Bildsignalfolge.
- Für Anwendungen wie zum Beispiel Telekonferenz über bestehende und zukünftige Netze sowie CD-ROM- Speicherung wird eine qualitativ hochwertige Videocodierung mit niedriger Bitrate benötigt. Ein effektiver Codierer mit niedriger Bitrate sollte die Redundanzen aufgrund von zeitlichen und räumlichen Korrelationen und auch wahrnehmungsbezogen irrelevante Bestandteile einer Bildsequenz entfernen.
- Digitale Teilbandcodierungsverfahren sind in der Technik wohlbekannt. Siehe zum Beispiel N. S. Jayant und P. Noll, "Digital Coding of Waveforms: Principles and Applications to Speech and Video" (1984).
- Teilbandcodierungsverfahren wurden bisher für die Bildcodierung in einer dreidimensionalen räumlichzeitlichen Teilbandgrundstruktur verwendet, so wie es in G. Karlasson und M. Vetterli, "Three Dimensional Subband Coding of Video", Proceedings ICASSP (1988), 1100-1103, beschrieben wird. Das dort beschriebene Verfahren setzt eine mehrdimensionale Filterung ein, um räumlich/zeitliche Frequenzbänder oder Teilbänder zu erzeugen (sogenannte Quadratur-Mirror-Filter). Diese letzteren Filter werden z. B. in J. D. Johnston, "A Filter Family Designed for Use in Quadrature Mirror Filter Bands", Proceedings ICASSP (1980), beschrieben.
- IEEE Transactions on circuits and systems for video technology; Band I, Nr. 2, 1.6.1991, New York, USA, Seiten 210-221, XP214523; H. M. Lang et al.: "Digital HDTV Compression Using Parallel Motion- Compensated Transform Coders", beschreibt ein System, das die Codierung der mehrfachen Teilbänder parallel zu N "Teilcodierern" durchführt. Die Zuteilung von Bit unter den Teilbändern wird unter Verwendung eines dynamischen Kanal(Bit-)Zuteilungsalgorithmus durchgeführt, der die Verzerrung d jedes Teilbands mit der Anzahl b von Bit in Beziehung setzt, die für dessen Codierung zugeteilt werden.
- Aus der US-A-5063444 ist ein System bekannt, bei dem Gruppen von (zu einem Empfänger) zu sendenden Signalen nach einem gewählten Bedeutsamkeitsparameter sortiert und dann in absteigender Reihenfolge der Bedeutsamkeit übertragen werden, bis die Übertragungskapazität erschöpft wurde.
- Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren nach Anspruch 1 bereitgestellt.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung nach Anspruch 8 bereitgestellt.
- Die vorliegende Erfindung nutzt die Grundstruktur der dreidimensionalen Teilbänder aus, um eine dynamische Bitzuteilung zu bestimmen, die von wahrnehmungsbezogenen Kriterien des menschlichen Sehens abhängt. Dies erfolgt im Hinblick sowohl auf die relative Bedeutsamkeit einzelner Teilbänder als auch die Bedeutsamkeit örtlicher räumlicher Bereiche in solchen Teilbändern. Nachfolgend werden drei beispielhafte Ausführungsformen der vorliegenden Erfindung beschrieben.
- Zum Beispiel wird bei der ersten beispielhaften Ausführungsform der vorliegenden Erfindung eine Bildsequenz in verschiedene räumlich/zeitliche Frequenzbänder aufgeteilt. Die zeitlichen Korrelationen werden ausgenutzt, indem an den Teilbanddaten zwischen Einzelbildern ein bedingtes Austauschen vorgenommen wird. Sofern das Teilband nicht aufgrund von gemessen an dem niedrigen Signalenergieinhalt in dem Teilband wahrnehmungsbezogen unbedeutenden Informationen verworfen wird, wird an den Daten entweder bildpunkt- oder blockweise ein bedingtes Austauschen vorgenommen. Das Teilband, das den niedrigsten räumlich-zeitlichen Frequenzkomponenten entspricht, muß aufgrund der in dem Teilband vorliegenden hohen Signalenergie und seiner wahrnehmungsbezogenen Bedeutsamkeit für Videodaten präzise codiert werden. Das Band mit der niedrigsten räumlich-zeitlichen Frequenz wird unter Verwendung von PCM mit einem gleichförmigen Quantisierer quantisiert.
- Die gemessen an ihrer Gesamt-Signalenergie wahrnehmungsbezogen bedeutsamen oberen Teilbänder werden entweder durch geometrische Vektorquantisierung (die in der US-Patentanmeldung Nr. 07/503 659 der Autoren mit dem Titel "Geometric Vector Quantization" (entsprechend der EP-A-0450937, veröffentlicht am 09.10.1991), und in der US-Patentanmeldung Nr. 07/832 536 der Autoren mit dem Titel "Geometric Vector Quantization" (entsprechend der EP-A-0555017, veröffentlicht am 11.08.1993), die gleichzeitig mit der vorliegenden Schrift registriert wurden, beschrieben wird) oder durch herkömmliche PCM unter Verwendung eines gleichförmigen Quantisierers codiert.
- Die Bereiche der bedeutsamen oberen Frequenz- Teilbänder, die codiert werden sollen, werden durch Verwendung des adaptiven Bitzuteilungsverfahrens der vorliegenden Erfindung ausgewählt.
- Fig. 1 und 2 zeigen ein erstes Ausführungsbeispiel der vorliegenden Erfindung mit einem digitalen Bildcodierer bzw. einem Bilddecodierer.
- Fig. 3 zeigt eine typische Teilbandfilteranordnung.
- Fig. 4 und 5 zeigen ein zweites Ausführungsbeispiel der vorliegenden Erfindung mit einem digitalen Bildcodierer bzw. einem Bilddecodierer.
- Fig. 6 zeigt Teilbänder in der Reihenfolge der wahrgenommenen Sichtbarkeit von Fehlern angeordnet.
- Fig. 7 zeigt einen Graph der durch einen Bitzuteilungsblock durchgeführten Bitzuteilung.
- Fig. 8 zeigt ein drittes Ausführungsbeispiel der vorliegenden Erfindung mit einem Bildcodierer.
- Fig. 9 zeigt eine graphische Darstellung der Teilbänder mit einer Andeutung eines beispielhaften Bereichs hoher Energie und einer Abbildung des Bereichs auf die Teilbänder.
- Fig. 10 zeigt ein Flußdiagramm einer Prozedur zur Bestimmung von Quantisiererparametern.
- Fig. 1 und 2 zeigen ein erstes Ausführungsbeispiel der vorliegenden Erfindung.
- Fig. 1 zeigt einen Bildcodierer, der die adaptive Bitzuteilung der vorliegenden Erfindung zusammen mit bedingtem Austauschen und Quantisierung auf der Grundlage von PCM mit einem gleichförmigen Quantisierer oder mit geometrischer Vektorquantisierung einsetzt. Ähnlich zeigt Fig. 2 einen Bilddecodierer auf der Grundlage derselben erfindungsgemäßen Verfahren. Jedes der Systemelemente wird nun einzeln beschrieben.
- Fig. 1 zeigt eine Darstellung eines graphischen Bildes, z. B. Einzelbildsequenzen eines Videobildes. Da die bei dieser beispielhaften Bildcodierung eingesetzte Teilbandfilterung für die zeitliche Filterung 2 Abgriffe verwendet, erweist es sich als zweckmäßig, im Block 300 zwei aufeinanderfolgende Einzelbilder des Eingangssignals zu speichern. Als ein spezifisches Beispiel enthält jedes Einzelbild des Bildes 240 · 360 Bildpunkte, was als das gemeinsame Zwischenformat (CIF) bekannt ist. Für die vorliegenden Zwecke wird das Bild als ein mehrschichtiges Bild mit bis zu 256 möglichen Intensitätswerten angesehen. Farbbilder lassen sich mit den vorliegenden erfindungsgemäßen Verfahren codieren.
- Mit Bezug auf Fig. 1 werden aufeinanderfolgende Einzelbilder eines Videobildes an den (ausführlicher in Fig. 3 gezeigten) Teilbandanalysefilterblock 300 angelegt. Mit Haar-Filtern mit 2 Abgriffen für die zeitliche Filterung und eindimensionalen Quadratur- Mirror-Filtern (QMFs) mit 10 Abgriffen der in J. D. Johnston, "A Filter Family Designed for Use in Quadrature Mirror Filter Banks", Proceedings ICASSP (1980), beschriebenen Art für die räumliche Filterung werden dort die räumlich-zeitlichen Frequenzkomponenten des Bildes erzeugt. Bei einer typischen Ausführungsform der vorliegenden Erfindung besteht die Teilbandgrundstruktur aus 11 räumlich-zeitlichen Frequenzbändern, die in Fig. 3 gezeigt sind. Bis auf die konkrete Wahl von Teilbandfiltern ist dies dieselbe grundlegende Struktur wie die in G. Karlsson und M. Vetterli, "Three Dimensional Subband Coding of Video", Proceedings ICASSP (1988) verwendete. Die Ausdrücke HP und LP beziehen sich auf Hochpaßfilterung bzw. Tiefpaßfilterung, während sich die Indizes t, h und v auf zeitliche, horizontale bzw. vertikale Filterung beziehen. Die Teilbänder, deren Signalenergieinhalt typischerweise niedrig ist, werden ohne ernsthafte Verschlechterung der rekonstruierten Bildsequenz verworfen. Die übrigen Teilbänder werden mit einem bedingten Austauschen, um die zeitliche Korrelation auszunutzen, und entweder PCM mit einem gleichförmigen Quantisierer (wie zum Beispiel dem von Jayant und Noll, "Digital Coding of Waveforms: Principles and Applications to Speech and Video" (1984) beschriebenen) oder geometrischer Vektorquantisierung (wie zum Beispiel der in der US-Patentanmeldung Nr. 07/832 536 beschriebenen) codiert.
- Die Teilbänder mit den höchsten räumlichzeitlichen Frequenzen werden aufgrund ihrer allgemeinen wahrnehmungsbezogenen Unbedeutsamkeit verworfen. Bei dem hier beschriebenen konkreten Verfahren werden die in Fig. 3 mit 9 bis 11 gekennzeichneten Teilbänder ohne ernsthafte Verzerrung der Bildqualität verworfen. Allgemein können abhängig von der Bitrate, der erwünschten Qualität und der Teilbandgrundstruktur beliebig viele hochfrequente Teilbänder verworfen werden.
- Die bedeutsamen Teilbänder werden entweder mit einem Skalarquantisierer oder mit geometrischer Vektorquantisierung codiert (Blöcke 310i in Fig. 1).
- Die dynamische Bitzuteilung wird in Fig. 1 durch den Block 320 dargestellt. Die Bitzuteilung richtet sich nach dem Grad des bedingten Austauschens und der Menge von Bewegungsdaten, bestimmt anhand der Signalenergie in dem entsprechenden Teilband.
- Das bedingte Austauschen wird auf alle bedeutsamen Teilbänder angewandt und ist Teil des Blocks 320 der dynamischen Bitzuteilung. Das bedingte Austauschen wird bildpunktweise in den Teilbändern mit einem Skalarquantisierer und blockweise in den Teilbändern mit geometrischer Vektorquantisierung durchgeführt. Die Blockgröße entspricht der bei dem betreffenden Vektorquantisierungsverfahren verwendeten Blockgröße. Das bildpunktweise bedingte Austauschen wird durch den folgenden Ausdruck beschrieben:
- wobei x(i, j, t) der ursprüngliche Bildpunktwert in der i-ten Zeile, der j-ten Spalte und zum Zeitpunkt t und (i, j, t der quantisierte Bildpunktwert in der i-ten Zeile, der j-ten Spalte und zum Zeitpunkt t ist. Q stellt die Quantisierung des eingeklammerten Terms dar, während Tcr ein empirisch abgeleiteter Skalar- Schwellenwert des bedingten Austauschens ist. Die Wahl von Tcr bestimmt, wie viele der Teilbanddaten aus den zuvor codierten Teilbändern wiederholt werden. Als ein Beispiel einer typischen Videosequenz haben die Autoren festgestellt, daß eine gute Wahl für Tcr zwischen 10 und 25 liegt. Die Durchführung des blockweisen bedingten Austauschens ähnelt dem bildpunktweisen Ansatz, mit der Ausnahme, daß die Bedingung in Gleichung (1) für alle Bildpunkte in einem Datenblock erfüllt sein muß; andernfalls muß der Block quantisiert und übertragen werden.
- Nachdem das bedingte Austauschen an den Teilbändern mit bedeutsamen Informationen vorgenommen wurde, werden die Nebeninformationen, die anzeigen, welche Bildpunkte aus dem vorigen Einzelbild wiederholt und welche Bildpunkte quantisiert werden, zur Codierung zu dem Block 330, dem Entropiecodierer, gesendet. Der Entropiecodierer kann ein beliebiges verlustloses Codierungsverfahren sein und ist in diesem Beispiel der adaptive Lempel-Ziv-Algorithmus. Siehe z. B. T. A. Welch, A Technique for High Performance Data Compression, IEEE Computer (1988). Die Anzahl von Bit, die der Entropiecodierer von Block 330 in Fig. 1 zur Codierung der Nebeninformationen des bedingten Austauschens benötigt, wird in den dynamischen Bitzuteilungsblock 320 eingespeist, um die Anzahl verfügbarer Bit zur Codierung der Teilbandddaten zu aktualisieren. Nach der Entropiecodierung wird das Bildsignal dann zur Übertragung zu einem Decodierer auf den Kommunikationskanal 345 aufmultiplexiert (siehe die nachfolgende Besprechung).
- Das Verfahren der dynamischen Bitzuteilung umfaßt zwei bedeutsame Teile. Der erste Teil ist die Festlegung der Reihenfolge der Teilbänder aufgrund ihrer wahrnehmungsbezogenen Bedeutsamkeit. Diesbezüglich wird das Band mit der niedrigsten räumlich-zeitlichen Frequenz als das bedeutsamste behandelt, da es die meiste Signalenergie und den größten Teil der ursprünglichen Bildstruktur enthält. Dieses Band wird sehr genau codiert. Das nächstbedeutsamste Teilband ist das Bewegungsteilband (das in Fig. 3 dem Teilband 8 entspricht). Diesem Teilband werden genug Bit zur Codierung der Bewegungsinformationen gegeben. Mit den übrigen Bit werden die räumlich hochfrequenten und zeitlich niederfrequenten Teilbänder codiert (die in Fig. 3 den Teilbändern 2-7 entsprechen). Wenn die Bewegungsinformationen zahlreich sind, dann werden dem Bewegungsteilband mehr Bit gegeben, und es bleiben weniger Bit zur Codierung der feinen räumlichen Einzelheiten übrig. Die große Bewegungsaktivität sollte die Verluste bei den feinen räumlichen Einzelheiten maskieren. Wenn die Bewegungsaktivität nachläßt, dann bleiben mehr Bit zur Codierung der feinen räumlichen Einzelheiten übrig, die nun sichtbar werden.
- Der zweite Teil der dynamischen Bitzuteilung besteht darin, für die Codierung die bedeutsamen Bereiche des Bildes zu finden. Dies erfolgt über alle Teilbänder hinweg durch Wahl der Blöcke mit der höchsten mittleren Energie für die Codierung.
- Da das Teilband mit den niedrigsten räumlichzeitlichen Frequenzen (Teilband 1) einen großen Teil der grundlegenden Bildstruktur und die meiste Signalenergie enthält, ist es wichtig, dieses Teilband genau zu codieren. Deshalb codiert die vorliegende Ausführungsform zunächst das Band mit den niedrigsten räumlich-zeitlichen Frequenzen unter Verwendung von PCM und eines gleichförmigen Quantisierers. Bei einem typischen Bildverfahren besteht der gleichförmige Quantisierer aus 6-8 Bit. Wenn das Signal in dem Teilband mit den niedrigsten Frequenzen Daten enthält, die eine Wahrscheinlichkeitsdichtefunktion aufweisen, die nicht gleichförmig ist, dann wird PCM mit einem Quantisierer angewandt, der sich für die Wahrscheinlichkeitsdichtefunktion des Signals eignet. Die Anwendung eines an die Wahrscheinlichkeitsdichtefunktion des Signals angepaßten Quantisierers ist ein herkömmliches Verfahren und wird z. B. in der oben angeführten Arbeit von Jayant und Noll beschrieben. Die Anzahl erforderlicher Bit zur Codierung des Bands mit den niedrigsten räumlich-zeitlichen Frequenzen unter Verwendung von PCM und eines gleichförmigen Quantisierers wird in den Block 320 - dynamische Bitzuteilung - eingespeist, um die Anzahl verfügbarer Bit zur Codierung der Bänder mit hohen räumlichzeitlichen Frequenzen zu aktualisieren.
- Das nächste Band, das codiert wird, entspricht dem Teilband, das zeitlich hochfrequente Komponenten und räumlich niederfrequente Komponenten enthält. Bei dem in der Grundstruktur von Fig. 3 vorgelegten Beispiel entspricht dies dem Teilband 8. Dieses Frequenz-Teilband enthält einen großen Teil der Bewegungsinformationen des Videosignals. Die Signalenergie in diesem Teilband ergibt eine gute Anzeige des Grades der Bewegung in der Videosequenz zu einem gegebenen Zeitpunkt. Das Teilband 8 wird durch Quantisieren der Daten in den Blöcken codiert, deren örtliche Energie einen vorbestimmten Schwellenwert überschreitet, der durch den folgenden Ausdruck gegeben wird:
- x(i,j,t)² ≥ Tm (2)
- wobei die Summation über den Datenblock durchgeführt wird, N die Blockgröße bedeutet und Tm ein vorbestimmter skalarer Bewegungsschwellenwert ist. In diesem Beispiel ist 100 ein guter Wert für Tm. Die Blöcke in dem Bewegungsteilband, deren mittlere Energie den Schwellenwert Tm überschreitet, werden mit geometrischer Vektorquantisierung mit entweder 2 oder 3 Schichten codiert (die in der oben angeführten US- Patentanmeldung Nr. 07/503 659 beschrieben wird). Die Anzahl der erforderlichen Bit zur genauen Codierung der Bewegungsdaten wird in den Block 320 - dynamische Bitzuteilung - eingespeist, um die Anzahl der übrigen Bit zur Codierung der verbleibenden Teilbänder zu aktualisieren.
- Die zuletzt codierten Teilbänder entsprechen den zeitlich niederfrequenten und räumlich hochfrequenten Komponenten. Bei der in Fig. 3 gezeigten Beispielgrundstruktur entspricht dies den mit 2 bis 7 gekennzeichneten Teilbändern. Die übrigen Bit zur Codierung der Teilbänder 2 bis 7 werden über alle verbleibenden Teilbänder hinweg auf die Blöcke mit der größten durch die Gleichung 2 definierten örtlichen Energie verteilt. Die Blöcke können mit geometrischer Vektorquantisierung codiert werden. Jeder dieser verbleibenden Blöcke, insbesondere die niedrigeren räumlichen Frequenzen entsprechenden (wie zum Beispiel die Teilbänder 2-4 in Fig. 3), kann mit dem für das Band mit den niedrigsten räumlich-zeitlichen Frequenzen beschriebenen Skalarquantisierer codiert werden. In diesem Fall werden die Bildpunkte mit dem größten Absolutwert codiert.
- Fig. 2 zeigt ein Decodierer-Gegenstück des Codierers von Fig. 1. Aus dem Kanal empfangene codierte Signale werden zunächst in der. Einheit 400 demultiplexiert. Die Dequantisierersteuereinheit 420 verwendet Nebeninformationen zur Bestimmung, welche Bereiche der Teilbänder aus dem durch bedingtes Austauschen gegebenen zuvor codierten Teilband wiederholt wurden, welche Bereiche quantisiert wurden und welche Bereiche durch Null ersetzt wurden. Die mit 410i gekennzeichneten Dequantisierereinheiten rekonstruieren die Daten aus den Vektorindizes und Betragsinformationen, die durch den geometrischen Vektorquantisierer bereitgestellt werden. Die Teilbandsyntheseeinheit 430 führt die umgekehrten Operationen der Teilbandanalyseeinheit 300 durch, um die Bilder zu rekonstruieren.
- Die obige Ausführungsform kann außer der in Fig. 3 gezeigten auch an andere Grundstrukturen angepaßt werden, wodurch die Wahl der wahrnehmungsbezogen bedeutsamsten Teilbänder und der wahrnehmungsbezogen bedeutsamsten Bereiche des Bildes besser gesteuert werden kann.
- Ein zweites Ausführungsbeispiel der vorliegenden Erfindung codiert Video- Einzelbildsequenzen mit einer maximalen begrenzten Bitrate. Diese Ausführungsform liefert codierte Videosignale zur Übertragung oder Speicherung auf einem Medium mit einer spezifizierten konstanten oder zeitlich veränderlichen Bitrate.
- Fig. 4 zeigt eine Ausführungsform des Videocodierers. Eine Eingangsvideobildsequenz wird durch den Teilbandanalysefilterblock 300 in zeitliche und räumliche Teilbänder zerlegt. Die Teilbandstruktur stimmt mit der von Fig. 4 der oben angeführten Patentanmeldung Nr. 07/503 659 überein. Die Ausgangssignale der Teilbandfilter werden kritisch abgetastet, und die Bänder 7, 9, 10 und 11 werden auf null gesetzt. Die zerlegte Videosequenz enthält deshalb halbsoviele Abtastwerte wie die ursprüngliche Eingangsbildsequenz. Die durch Null ersetzten Bänder enthalten typischerweise sehr wenig Energie, so daß das Nullsetzen dieser Bänder nur eine sehr geringfügige Verschlechterung der rekonstruierten Videosequenz verursacht. Zur Minimierung der Verzögerung werden zeitliche Filter mit zwei Abgriffen und für die räumliche Zerlegung Quadratur-Mirror-Filter der zehnten Ordnung verwendet. Obwohl die vorliegende Erfindung nur für die Luminanzkomponente einer Farbvideosequenz beschrieben wird, erhält man dieselben vorteilhaften Ergebnisse, wenn die vorliegende Erfindung auf die Chrominanzkomponenten einer Farbsequenz angewandt wird.
- Die Zerlegung durch den Filterblock 300 erzeugt Teilbänder mit verminderter räumlicher Redundanz. Es verbleiben jedoch zeitliche Redundanz in den unteren zeitlichen Teilbändern und räumliche Korrelationen zwischen den Teilbändern. Das Verfahren des bedingten Austauschens wird verwendet, um zeitliche Redundanz aus dem codierten Signal zu entfernen, wodurch bei einer spezifizierten Codierungsrate eine größere decodierte Videoqualität erzielt wird. Durch die Dequantisiererblöcke G10i und den Dequantisierersteuerblock 620 können Teilbandkorrelationen ausgenutzt werden, um die Qualität des decodierten Videosignals weiter zu verbessern.
- Während Spitzenbewegungen von Objekten in einem Videosignal kann es vorkommen, daß die verfügbare Codierungsrate nicht ausreicht, um alle wahrnehmungsbezogen bedeutsamen Teilbandabtastwerte zu codieren. Deshalb teilt diese Ausführungsform Codierungsbit in und unter den Teilbändern zu, um die wahrgenommene Codierungsverzerrung zu minimieren. Quantisierungsfehler fallen am meisten im Teilband 1, weil es den größten Teil der grundlegenden Bildstruktur enthält, und im Teilband 8 für bewegte Bereiche der Videosequenz auf.
- Abtastwerte in den Bändern 1, 2, 3 und 4 werden durch einen zusätzlichen Faktor von 2 über den der anderen Bänder hinaus unterabgetastet. Quantisierungsfehler in diesen Bändern sind sichtbarer als die in den höheren räumlichen Bändern, weil diese Abtastwerte räumlich während der Rekonstruktion um einen zusätzlichen Faktor interpoliert werden und deshalb Abtastfehler einen größeren Bereich in dem decodierten Videoeinzelbild einnehmen. Das Band 4 weist gewöhnlich eine sehr geringe Energie auf und ist deshalb bei typischen Videosequenzen wahrnehmungsbezogen weniger bedeutsam als die Bänder 5 und 6. Fig. 6 zeigt die Teilbänder in der Reihenfolge der wahrgenommenen Sichtbarkeit von Fehlern angeordnet.
- Mit dieser Reihenfolge wird die Priorität der Zuteilung verfügbarer Bandbreite für jeden Teilbandquantisiererblock 310i bestimmt. Die Bandbreiten- oder Bitzuteilung wird durch den dynamischen Bitzuteilungsblock 520 implementiert. Da die erforderliche Bandbreite zur Codierung verschiedener Bänder korreliert ist, kann in jeder Phase der Zuteilung ein fester Anteil der übrigen Bandbreite den Teilbändern zugeteilt werden. Diese Anteile wurden empirisch bestimmt. Fig. 7 zeigt einen Graph der durch den Block 520 ausgeführten Bitzuteilung. Jeder Knoten des Graphs entspricht einem dieser Teilbänder, und jeder Rand ist mit dem Anteil der übrigen Bit aus dem vorherigen Teilband gekennzeichnet, die dem niedrigeren Teilbandknoten zugeteilt werden.
- Die übrigen Bit nach der Quantisierung der Bänder 1 und 8 werden gleichmäßig den Teilbändern 2, 3, 5 und 6 zugeteilt. Obwohl den Bändern mit niedrigerer Priorität die gleiche Bandbreite zugeteilt wird, werden diesen Bändern weniger Bit pro Abtastwert zugeteilt, da sie mehr Abtastwerte enthalten. Der Vorteil dieser Art der Zuteilung von Bit besteht darin, daß die Quantisierer für die Bänder 1 und 8 und diejenigen für die Bänder 2, 3, 5 und 6 parallel implementiert werden können, wodurch sich eine größere Effizienz der Funktionsweise ergibt.
- Die zeitliche Redundanz in den Bändern 1, 2, 3, 4, 5 und 6 wird durch selektives Wiederholen von Teilbandabtastwerten entfernt, die sich um weniger als einen bestimmten Schwellenwert von dem entsprechenden zuvor übertragenen Wert unterscheiden. Dieses Verfahren wird als bedingtes Austauschen bezeichnet und wurde oben mit Bezug auf das erste Ausführungsbeispiel beschrieben. Das bedingte Austauschen wird in der Teilbandanalysegrundstruktur angewandt. Der Vorteil wird erzielt, indem auf Prioritätsbasis denjenigen Teilbändern Bandbreite für das Austauschen zugeteilt wird, die die höchste Sichtbarkeit aufweisen. Dies führt zu einer wahrnehmungsbezogen verbesserten decodierten Qualität.
- Um zu bestimmen, welche Teilbandabtastwerte wiederholt werden sollten, wird die Betragsdifferenz zwischen den gerade quantisierten Teilbandabtastwerten und den entsprechenden Abtastwerten eines zuvor quantisierten Videoeinzelbildes berechnet. Jeder Quantisiererblock 510i enthält einen Speicher, der die zuvor quantisierten Teilbandabtastwerte enthält. Da die Abtastwerte mit einem linearen Acht-Bit-Code dargestellt werden, liegt der Fehlerbetrag im Bereich von (0, 256). Durch den Quantisierer 310i wird effektiv unter Verwendung des Fehlerwerts als Adresse für eine der 256 Speicherstellen, die für jedes Auftreten des entsprechenden Fehlerwerts inkrementiert werden, für jeden Abtastwert in dem Teilband ein Histogramm des Auftretens der Fehlerwerte erzeugt. Aus dem Histogramm wird ein Codierungsfehlerschwellenwert bestimmt, indem beginnend mit dem größten Fehler und weiter in Richtung zu dem niedrigsten Fehler, bis die benötigte Bandbreite zur Quantisierung der durch diese Summe angegebenen Zahl von Abtastwerten gleich der verfügbaren Codierungsbandbreite ist, summiert wird, wie oft jeder Fehlerwert auftritt. Die Adresse der Speicherstelle, auf die zugegriffen wird, wenn die Summation beendet ist, ist gleich dem Codierungsfehlerschwellenwert. Dem Schwellenwert wird die Beschränkung auferlegt, daß er größer als ein Fehler sein muß, der in der decodierten Videosequenz nicht sichtbar ist. Dieser Minimalwert wurde für die Teilbänder 1, 2, 3 empirisch als gleich drei (3) bestimmt. Abtastwerte mit einem größeren Fehler als der bestimmte Schwellenwert werden codiert und zu dem Decodierer gesendet, so wie es nachfolgend beschrieben wird. Die Stellen von Abtastwerten, die unter dem Schwellenwert liegen, werden effizient unter Verwendung von Lauf-Längencodierung und Entropiecodierung, z. B. Huffman-Codierung, der Lauf- Längen codiert, was durch den Entropiecodierer 530 implementiert wird. Überschüssige Bit sind für eine Zuteilung an Teilbänder niedrigerer Priorität verfügbar, wenn der durch das Histogrammverfahren bestimmte Fehlerschwellenwert unter den Schwellenwert der minimalen Sichtbarkeit fällt.
- In den Bändern 1, 2, 3 und 4 übertragene Abtastwerte werden mit einem Skalarquantisierer codiert. In den Bändern 5 und 6 übertragene Abtastwerte werden mit einem Skalar- oder Vektorquantisierer und insbesondere dem in den oben angeführten Patentanmeldungen beschriebenen geometrischen Vektorquantisierer codiert. Die Entscheidung, den Skalar- oder den Vektorquantisierer zu verwenden, wird getroffen, indem auf die den Teilbändern 5 und 6 zugeteilte Bandbreite ein Schwellenwert angewandt wird. Eine Zuteilung unter einem empirisch bestimmten Schwellenwert zeigt einen hohen Grad der Bewegung in der Videosequenz an. Empirisch wurde festgestellt, daß die wahrgenommene Verzerrung minimiert wird, wenn der Vektorquantisierer für eine Bandbreitenzuteilung verwendet wird, die unter 60% der maximalen Zuteilung fällt. Durch dieses Verfahren wird ein Vorteil erzielt, weil die durch den Vektorquantisierer eingeführte Verzerrung durch Bewegung in der Videosequenz maskiert wird. Dies ermöglicht die Codierung einer größeren Anzahl von Abtastwerten aufgrund der größeren Effizienz dieses Quantisierers. Wenn die Bandbreitenzuteilung über den Schwellenwert zunimmt und deshalb der Grad der durch Bewegung in der Videosequenz gewährten Maskierung abnimmt, dann wird der Skalarquantisierer verwendet, um die durch den Vektorquantisierer eingeführten Fehler zu vermindern.
- Dieser Abschnitt beschreibt eine effiziente Implementierung des in den Teilbändern 5, 6 und 8 verwendeten geometrischen Vektorquantisierers. Diese Implementierung liefert ein Mittel zur Einschränkung der notwendigen Bandbreite zur Codierung des gegebenen Teilbands und liefert ein effektives Verfahren zur Suche nach Nullvektoren.
- Nullvektoren entsprechen wiederholten Abtastwerten in den Bändern 5 und 6 und beziehen sich auf nullwertige Abtastwerte im Band 8. Das in der Patentanmeldung Nr. 07/503 659 beschriebene geometrische Vektorcodebuch erfordert zur Identifizierung von Null- und von Nicht-Nullvektoren annähernd die gleiche Komplexität. Da die meisten Teilbandabtastwerte typischerweise als der Nullvektor codiert werden, kann durch ein effektives Nullvektor- Suchverfahren eine wesentliche Verminderung der Vektorsuchkomplexität erzielt werden. Nullvektoren können identifiziert werden, indem zunächst für Band 8 in jedem Vektor der Abtastwert mit dem größten Betrag, oder für die Bänder 5 und 6 der größten Betragsdifferenz, bestimmt wird, wenn bedingtes Austauschen verwendet wird. Durch das oben beschriebene Histogrammverfahren wird ein Codierungsschwellenwert bestimmt, für Band 8 unter Verwendung der Maximalbeträge bzw. für die Bänder 5 und 6 unter Verwendung der maximalen Differenzbeträge. Diejenigen Vektoren, die einen Maximalbetrag aufweisen, der unter den Codierungsschwellenwert fällt, werden als Nullvektoren identifiziert. Die übrigen Vektoren werden mit den in den oben angeführten und hiermit aufgenommenen Patentanmeldungen beschriebenen effizienten Codebuchsuchverfahren codiert. Die Position von Nullvektoren wird mit Lauf-Längencodierung und Entropiecodierung, z. B. Huffman-Codierung, der Lauf- Längen codiert. Der Codierungsschwellenwert im Band 8 wird auf einen Minimalwert von 6 begrenzt. Wenn durch das Histogrammverfahren von dem Codierungswert bestimmt wird, daß er weniger als 6 beträgt, dann ist überschüssige Codierungsbandbreite verfügbar, die den Bändern mit niedrigerer Priorität zugeteilt werden kann.
- Die übertragenen Abtastwerte werden in entsprechende Stellen in jedem Teilbandabtastwertspeicher in den Quantisiererblöcken 510i geschrieben. Der Kanalmultiplexiererblock 340 formatiert die Informationen aus den Quantisiererblöcken 510i, so daß sie übertragen oder auf dem geeigneten Medium gespeichert werden können. Zu diesen Informationen gehören die lauf-längencodierten Abtastwertpositionen und die übertragenen quantisierten Abtastwerte. Für die Bänder 5 und 6 werden Nebeninformationen bereitgestellt, um anzugeben, ob bei dem Codierungsprozeß eine Skalar- oder eine Vektorquantisierung verwendet wurde.
- Fig. 5 zeigt eine Ausführungsform des Decodierers. Der Kanaldemultiplexiererblock 400 arbeitet auf umgekehrte Weise wie der Multiplexierer 340 in Fig. 4, um die codierten Teilbandinformationen zu trennen. Diese Informationen werden den Dequantisiererblöcken 610i für jedes Teilband bereitgestellt. Im Fall von Vektorquantisierung in den Bändern 5, 6 und 8 rekonstruieren die Dequantisierer die Vektorabtastwerte so, wie es in der US- Patentanmeldung Nr. 07/503 659 beschrieben wird. Die übrigen Abtastwerte im Band 8 werden auf null gesetzt. Die Dequantisiererblöcke 610i, die den Teilbändern 1, 2, 3, 4, 5 und 6 entsprechen, enthalten Speicher, die die zuvor dequantisierten Teilbandabtastwerte enthalten. Abtastwerte, die durch den Codierer quantisiert und übertragen werden, ersetzen entsprechende Abtastwerte in diesen Teilbandabtastwertspeichern; die übrigen Abtastwerte werden wiederholt. Die Differenz zwischen den übertragenen Abtastwerten und zuvor gespeicherten Abtastwerten werden für das Teilband 1 berechnet und zur nachfolgend beschriebenen Verwendung gespeichert.
- Die selektive Modifizierung der Teilbandabtastwerte in dem Decodierer verbessert die wahrgenommene Qualität des rekonstruierten Videosignals. Dies wird folgendermaßen durch die Dequantisiererblöcke 610i und den Dequantisierersteuerblock 620 erzielt. Beanstandenswerte Fehler in der decodierten Videosequenz können auftreten, wenn die Codierungsrate so eingeschränkt wird, daß eine unzureichende Bandbreite zur Übertragung aller Teilbandabtastwerte vorliegt, wobei die Fehler über einem wahrnehmbaren Schwellenwert liegen. Unter dieser Bedingung enthalten die Decodierer-Teilbänder unter Verwendung eines bedingten Austauschens drei Arten von Abtastwerten: (i) Abtastwerte mit geringen Fehlern, die wiederholt werden, (ii) neu empfangene Abtastwerte und (iii) Abtastwerte mit großen Fehlern, die beanstandenswerte Artefakte in der decodierten Videosequenz verursachen. Diese großen Fehler treten am häufigsten in den Teilbändern mit niedrigerer Bandbreitenzuteilungspriorität auf. Die Fehler erscheinen typischerweise als Ränder, die hinter bewegten Objekten verbleiben.
- Quantisierungsfehler im Teilband 1 bleiben klein, da es die höchste Bandbreitenzuteilungspriorität aufweist. Dieser Umstand wird zusammen mit der räumlichen Korrelation zwischen den Teilbändern benutzt, um Abtastwerte in den oberen Teilbändern zu identifizieren, die einen großen Fehler aufweisen. Das Verfahren vergleicht das oben beschriebene Band-1- Differenzsignal mit einem empirisch bestimmten Schwellenwert. Ein nützlicher Schwellenwert ist 12, denn der Bereich von Intensitätswerten im Band 1 ist (0, 256). Wenn die Differenz größer als der Schwellenwert ist, dann werden die entsprechenden räumlichen Abtastwerte in den Teilbändern 2, 3, 4, 5 und 6 weiter geprüft.
- Jeder Abtastwert im Teilband 1 entspricht vier Abtastwerten in den Teilbändern 5 und 6, da das Teilband 1 in den Analysefiltern 300 durch einen zusätzlichen Faktor von zwei dezimiert wird. Wenn die entsprechenden Abtastwerte des oberen Teilbands nicht durch den Codierer übertragen wurden, dann wird angenommen, daß sie einen großen Fehler aufweisen und die Abtastwerte werden weiter verarbeitet, um die resultierende Verzerrung zu vermindern. Ein nützliches Verfahren besteht darin, diese Abtastwerte auf null zu setzen, um Fahneneffekte an bewegten Bereichen zu beseitigen. In glatten Bereichen des Bildes können sich andere Verfahren, wie zum Beispiel Interpolation zwischen Abtastwerten mit geringem Fehler, als vorteilhaft erweisen. Dieses Verfahren liefert einen Vorteil durch Verminderung der wahrgenommenen Codierungsverzerrung, ohne zusätzliche Nebeninformationen zu dem Decodierer zu übertragen.
- Die resultierenden Teilbandabtastwerte werden schließlich an den Teilbandsyntheseblock 430 angelegt, der die Sequenz von Videoeinzelbildern rekonstruiert.
- Eine beispielhafte Hardwarearchitektur für eine Echtzeit-Implementierung der vorliegenden Erfindung wird im Anhang gezeigt.
- Die allgemeine Struktur des Codierers dieser Ausführungsform ist in Fig. 8 gezeigt. Eine Reihe von Videoeinzelbildern wird in eine Teilbandanalysefilterbank 300 eingespeist, die das Frequenzspektrum in Teilbänder aufteilt. Das Ausgangssignal der Teilbandanalyse wird von einem dynamischen Bitzuteiler 720 verwendet. Der dynamische Bitzuteiler 720 ist für die Entscheidung verantwortlich, wieviel der gesamten verfügbaren Bitrate jedem Teilband zugeteilt werden soll. Der dynamische Bitzuteiler 720 bestimmt außerdem, von welchen räumlichen Bereichen es in jedem Teilband wichtiger ist, sie zu codieren. Diese Informationen werden zusammen mit dem Ausgangssignal der Teilbandanalyse 300 den Quantisierern 710i bereitgestellt. Unter bestimmten Umständen kann eine Rückkopplung von dem Entropiecodierer 330 erforderlich sein, um die exakte erforderliche Bitrate für die Codierung einiger der Teilbänder zu bestimmen. Der resultierende Bitstrom wird multiplexiert 340 und über einen Kanal 345 übertragen. Der dynamische Bitzuteiler 720 nimmt an, daß beim Eintritt jedes Einzelbildes in das System eine feste Rate verfügbar ist, obwohl sich diese Rate bei dem Auftreten des nächsten Einzelbildes ändern könnte.
- Ein Codierungsvorteil kann erzielt werden, indem die Teilbänder in Bereiche aufgeteilt und Bereichen, von denen angenommen wird, daß sie wahrnehmungsbezogen relevanter sind, mehr Bit zugeteilt werden. Die Definition der wahrnehmungsbezogenen Relevanz kann bei verschiedenen Anwendungen unterschiedlich sein. Ein zweckmäßiges Verfahren zur Bestimmung wahrnehmungsbezogen relevanter Bereiche besteht darin, das zeitliche Hochpaß- und räumliche Tiefpaß-Teilband (Teilband 8 in Fig. 9) in Blöcke aufzuteilen und folgendermaßen die Energie in jedem Block zu berechnen:
- ek,l,t = x²i,j,t
- wobei xi,j,t den Intensitätswert eines Bildpunkts in Spalte i, Zeile j zum Zeitpunkt t darstellt. Die berechneten Energiewerte ek,l,t für jeden Block werden in abnehmender Reihenfolge sortiert und in zwei oder mehr Gruppen klassifiziert. Als Beispiel werden zwei Klassen von Blöcken, hohe Energie und niedrige Energie, angenommen. In Fig. 8 wird das Ausgangssignal aus der Teilbandanalysefilterbank 300 dem dynamischen Bitzuteiler 720 bereitgestellt. Der dynamische Bitzuteiler 720 ist verantwortlich für die Bestimmung der Energiegruppierung.
- Wenn die Blöcke mit hoher und niedriger Energie aus dem Teilband 8 bestimmt wurden, werden mit diesen räumlichen Informationen alle zu codierende Teilbänder quantisiert (Fig. 9). Wenn zum Beispiel ein Block als ein Block mit hoher Energie klassifiziert würde, dann könnte der entsprechende Block mit einem feineren Quantisierer in jedem der codierten Teilbänder quantisiert werden. Durch die Erhaltung einer besseren Qualität in diesem Block in allen der codierten Teilbänder weist das rekonstruierte Bild in dem entsprechenden Block ein größeres Rauschverhältnis auf. Dies ist ideal für eine Anwendung, bei der in bewegten Bereichen eine größere räumliche Auflösung erforderlich ist. Eine solche Anwendung könnte zum Beispiel die Codierung einer Bildsequenz einer Person sein, die die (häufig von Gehörlosen verwendete) amerikanische Zeichensprache verwendet. Andererseits könnten diesen Bereichen bei Anwendungen, bei denen dort, wo Bewegung auftritt, keine hohe räumliche Auflösung erforderlich ist, weniger Bit zugeteilt werden. Es können beliebig viele Blöcke mit hoher und niedriger Energie in dem Teilband 8 identifiziert werden.
- Wenn die Bewegungsaktivität gering ist, werden Teilbandbilder nicht in Bereiche mit viel und wenig Bewegung aufgeteilt. In diesem Fall werden alle Bereiche des Teilbandbildes als gleich wichtig behandelt. Die Bewegungsaktivität wird durch Aufzeichnung vergangener Extrema der Gesamtenergie im Band 8 bestimmt. Wenn zum Beispiel die Gesamtenergie des Teilbands 8 für ein aktuelles Einzelbild im unteren Drittel des Dynamikumfangs der Aufzeichnung vergangener Werte der Gesamtenergie des Teilbands liegt, dann wird die Bewegungsaktivität als niedrig angesehen.
- Nachdem die Blöcke mit hoher und niedriger Energie bestimmt wurden, wird eine anfängliche Zuteilung von Bit zur Codierung jedes Teilbands bestimmt. Eine typische anfängliche Zuteilung stellt dem Teilband 1 50% der Gesamt-Bit bereit, dem Teilband 8 weitere 40% und die übrigen 10% werden auf die Teilbänder 2-7 verteilt. Die Gesamtzahl von Bit wird durch die Kanalbandbreite und die Einzelbildrate bestimmt.
- Die Ausführungsform codiert das Teilband 1 zuerst, da das Teilband 1 einen wesentlichen Teil des Energiegehalts des ursprünglichen Signals enthält. Mit der gegebenen anfänglichen Zuteilung von Bit zur Codierung dieses Teilbands wird die Anzahl von Bildpunkten, die genau codiert werden können, berechnet, indem die Gesamtzahl von dem Teilband zugeteilten Bit durch die Anzahl der erforderlichen Bit zur Codierung jedes Bildpunkts dividiert wird. Die Anzahl der erforderlichen Bit zur Codierung jedes Bildpunkts ist die Summe der erforderlichen Bit zur Darstellung der Adresse, des Vorzeichens und des Betrags des übertragenen Bildpunkts. Die Anzahl von Adressen- und Vorzeichenbit bleibt innerhalb eines Teilbands fest, aber die Anzahl der erforderlichen Bit zur Darstellung des Bildpunktbetrags wird mit einer iterativen Prozedur bestimmt (siehe Fig. 10).
- Diese Prozedur beginnt mit der Berechnung eines Histogramms der Absolutwerte der Differenz zwischen Bildpunkten mit der gleichen Adresse in dem aktuellen und dem vorherigen Einzelbild. Es wird der Maximalwert gespeichert. Mit dem Histogramm wird der Schwellenwert eines Totzonen-Quantisierers bestimmt. Ein Totzonen- Quantisierer eliminiert automatisch die Codierung von Bildpunktwerten, die unter einen Schwellenwert fallen. Teilband-Differenzwerte, die größer als der Totzonen- Schwellenwert sind, werden codiert, während diejenigen, die dem Schwellenwert entsprechen oder darunter liegen, nicht codiert sondern aus dem vorherigen Einzelbild wiederholt werden. Das System verwendet einen empirisch bestimmten Minimal-Schwellenwert als eine erste Abschätzung des tatsächlichen Totzonen-Schwellenwerts. Bei einer Kanalbitrate von 384 kbs sind beispielhafte Minimal-Schwellenwertabschätzungen für die Bänder 1-8 wie folgt: 3, 4, 4, 5, 5, 5, 5, und 5. Die Schrittgröße für den Quantisierer wird dann auf zweimal den Wert des Totzonen-Schwellenwerts eingestellt. Der maximale Grad der Verzerrung, die durch einen einzigen (auf oder unter den Schwellenwert fallenden) uncodierten Bildpunkt verursacht werden kann, ist der Schwellenwert. Da dieser Verzerrungsgrad als für nicht codierte Bildpunkte annehmbar angenommen wird, wird dieselbe maximale Verzerrung auch bei codierten quantisierten Bildpunkten zugelassen, indem die Schrittgröße auf zweimal den Totzonen-Schwellenwert eingestellt wird.
- Der minimale Schwellenwert basiert auf Experimenten, die durchgeführt wurden, um den Grad der Verzerrung zu bestimmen, der in jedes Teilband eingeführt werden kann, bevor das Rauschen wahrnehmbar wird. Der Grund für die Einführung eines minimalen Schwellenwerts besteht darin, zu verhindern, daß bestimmte Teilbänder übercodiert werden.
- Wenn der anfängliche Totzonen-Schwellenwert, die Schrittgröße und der maximale absolute Differenzwert bestimmt wurden, wird die Anzahl von Quantisierungsstufen gemäß dem folgenden Ausdruck bestimmt:
- Dieser Wert wird dann auf die nächste Zweierpotenz aufgerundet, um die größte Anzahl von Stufen für die verfügbaren Bit zu erzeugen. Die Anzahl der erforderlichen Bit zur Codierung eines Bildpunkts kann nun bestimmt werden, indem die Anzahl der erforderlichen Bit für die Adresse und das Vorzeichen zu der Anzahl der erforderlichen Bit für diesen Quantisierer addiert wird. Dividieren der Gesamtzahl von Bit durch die Bit pro Bildpunkt bestimmt die Anzahl von Bildpunkten, die in diesem Teilbandbereich codiert werden können. Ein Zählwert der Anzahl von Bildpunkten, die über den Totzonen-Schwellenwert fallen, wird aus dem Histogramm berechnet. Wenn dieser Zählwert kleiner als der zulässige Zählwert ist, dann werden die Quantisiererparameter festgehalten. Wenn der Zählwert jedoch größer als der zulässige Zählwert ist, dann wird der Totzonen-Schwellenwert erhöht und die Berechnungen werden wie in Fig. 10 gezeigt wiederholt. Die Erhöhung des Totzonen-Schwellenwerts erzwingt eine Zunahme der Schrittgröße, da diese auf zweimal den Totzonen- Schwellenwert eingestellt ist. Dadurch vermindert sich letztlich die Anzahl der erforderlichen Bit zur Quantisierung derselben Daten, obgleich diese gröber erfolgt. Der Totzonenwert wird erhöht, bis der Zählwert von zu codierenden Bildpunkten unter die zulässige Anzahl von codierten Bildpunkten fällt. Wenn dies eintritt, werden die Quantisiererparameter festgehalten und dem Quantisierer 710i bereitgestellt.
- Mit den Quantisiererparametern wird dann das Teilband tatsächlich codiert. Nach der Codierung des Teilbands 1 können möglicherweise einige Bit übrig sein, wenn die Anzahl zu codierender Bit kleiner als die zulässige Anzahl von Bit ist. Dies kann in zwei Umständen auftreten. Erstens ist der tatsächliche Zählwert, wenn der Minimal-Totzonen-Schwellenwert verwendet wird, um Übercodierung zu verhindern, gewöhnlich kleiner als der zulässige Zählwert. Zweitens stimmt der gewünschte Zählwert eventuell nicht genau mit dem zulässigen Zählwert überein, da das Histogramm diskrete Werte verwendet. Um zu verhindern, daß das System mehr als seine zugeteilte Bitrate verwendet, wird der Wert des Totzonen-Schwellenwerts erhöht, bis der tatsächliche Zählwert kleiner als der zulässige Zählwert oder gleich dem zulässigen Zählwert ist. Unter diesen beiden Umständen werden etwaige übrige Bit sofort auf das nächste zu codierende Teilband umverteilt.
- In diesem Fall wird als nächstes das Teilband 8 codiert. Für das Teilband 8 wird genau dieselbe Prozedur befolgt wie für das Teilband 1, mit der Ausnahme, daß statt der Differenz zwischen zwei Einzelbildern das ursprüngliche Einzelbild verwendet wird. Dieses Verfahren wurde wegen der niedrigen Korrelation zwischen aufeinanderfolgenden Einzelbildern im Teilband 8 gewählt. Wiederum werden etwaige übrige Bit weitergeleitet, um die Codierung nachfolgender Teilbänder zu unterstützen.
- Wenn die Teilbänder 1 und 8 codiert sind, werden alle übrigen zeitlichen Tiefpaß-Teilbänder (Teilbänder 2-7) codiert. Dafür werden zwei alternative Verfahren bereitgestellt. Das erste Verfahren betrifft die Verarbeitung der Teilbänder in einer wahrnehmungsbezogen bedeutsamen Reihenfolge: 2, 3, 5, 6, 4, 7. Wie beim Teilband 8 werden etwaige übrige Bit aus der vorherigen Codierung zu der vorbestimmten Bitzuteilung für das aktuelle Teilband hinzugefügt. Wiederum wird der Totzonen-Quantisierer auf dem Differenzsignal benutzt, um diese Teilbänder zu aktualisieren. Wie beim Teilband 1 wird bei der Codierung dieser Teilbänder ein empirisch abgeleiteter Minimal-Totzonen-Schwellenwert auferlegt. Das zweite Verfahren verwendet ein Energiekriterium, das aus dem Differenzsignal aus allen Teilbändern 2-7 die höchsten Werte auswählt, statt jedes der Bänder 2-7 einzeln zu betrachten.
- Von den zeitlichen Hochpaß-Teilbändern wird nur das Teilband 8 codiert. Die Teilbänder 9, 10 und 11 werden alle auf null gesetzt und nicht codiert (wie bereits besprochen kann dies durch die Filterbank 300 erfolgen).
- Diese Ausführungsform setzt den im obigen Abschnitt B.3 besprochenen und in Fig. 5 gezeigten Decodierer ein.
- Bei der Standardisierung von Videocodierungsverfahren für Telekommunikations- sowie Multimediaanwendungen wurden in letzter Zeit große Fortschritte erzielt. Die Grundlage dieser Standards ist die bewegungskompensierte diskrete Cosinustransformation (MC-DCT). Obwohl diese Verfahren aufgrund ihrer lokalen Operationen und geringen Speicheranforderungen effizient zu implementieren sind, ist ihre Leistung bei niedrigen Bitraten jedoch durch Bewegungskompensation und DCT-Blockartefakte beschränkt. Für Videokonferenzanwendungen ist es sehr vorteilhaft, mit 384 kbit/s oder weniger oder sogar mit nur 19,2 kbit/s zu arbeiten.
- Durch die Teilbandfilterung wird der DCT eine alternative Darstellung im Frequenzbereich bereitgestellt. Vitterli [1] hat gezeigt, daß zur Aufteilung des ursprünglichen Signals in N unterabgetastete Teilbänder und zur Rekonstruktion des ursprünglichen Signals separable zeitliche und räumliche Quadratur-Mirror-Filter verwendet werden können. Die Teilbänder können so angelegt werden, daß sie die wahrnehmungsbezogene Bandempfindlichkeit ausnutzen, um Quantisierungsrauschen zu verbergen, wodurch eine grobe Quantisierung der spärlichen höherfrequenten Bänder ermöglicht wird. In den oberen Bändern wurden unter Verwendung der Vektorquantisierung Codierungsraten von 0,1 Bit pro Bildpunkt und weniger erzielt, wodurch es möglich wird, die stärker sichtbaren unteren Bänder mit größerer Wiedergabetreue zu codieren [2]. Die Teilbandanalyse vermeidet die stark sichtbare Blockstruktur und die stark sichtbaren Bewegungskompensationsfehler von MC-DCT-Codierern bei niedrigen Codierungsraten. Obwohl die Rechenkomplexität beider Codierer ähnlich ist, sind Speicherung und Datenverschiebung bei dem Teilbandcodierer aufgrund der zeitlichen Filterung und globalen Filterungsoperationen komplizierter.
- In letzter Zeit erschienen mehrere Echtzeit- Videocodierungsarchitekturen in der Literatur, darunter Architekturen mit festen Algorithmen [3], Einzelbefehls-Mehrdaten-Architekturen (SIMD- Architekturen) mit gemeinsam benutztem Speicher [4], Architekturen mit systolischen Anordnungen [5] und Mehrbefehls-Mehrdaten-Architekturen (MIMD- Architekturen) mit gemeinsam benutztem Speicher [6]. Diese Architekturen stellen die globalen Datenverschiebungs- und lokalen Speicheranforderungen, die für die Implementierung des oben beschriebenen dreidimensionalen Teilbandcodierers benötigt werden, bei zeitlicher und räumlicher Videokonferenzauflösung nicht in Echtzeit bereit. Diese Zusammenfassung wendet sich an die Implementierung von dreidimensionalen Echtzeit-Teilbandvideocodierern auf einem programmmierbaren MIMD-Array-Prozessor, der als der Video-Array-Prozessor (VAP) bezeichnet wird. Zu den Hauptmerkmalen dieser Architektur gehört ein verteilter Einzelbildspeicher und ein globaler Datenbus. Der verteilte Speicher stellt einen lokalen Einzelbildspeicher für die Implementierung der zeitlichen und horizontalen Filterung bereit. Der globale Bus stellt eine Kommunikation zwischen Prozessoren sowohl für das Transponieren der Daten für die vertikale Filterung als auch für die Übertragung codierter und uncodierter Daten bereit. Obwohl sie direkt auf die oben beschriebene zweite Ausführungsform der vorliegenden Erfindung anwendbar ist, werden Durchschnittsfachleute einsehen, daß diese Implementierung auch an die beiden anderen Ausführungsformen angepaßt werden kann.
- Das Teilbandcodierungsverfahren umfaßt die Filterung der ursprünglichen Sequenz zu kritisch abgetasteten Teilbändern, die quantisiert und zu dem Decodierer übertragen werden. Zur dynamischen Verteilung der Bit auf die Teilbänder und zur Anpassung der Teilbandquantisierer zur Minimierung sichtbarer Artefakte werden Zwischenbandinformationen verwendet. Der Decodierer dequantisiert und filtert die empfangenen Daten durch entsprechende Filter zur Rekonstruktion der Bildsequenz.
- Die ursprüngliche Videosequenz wird mit separablen Filtern zeitlich und räumlich zerlegt. Die Teilbandzerlegung für Videokonferenzanwendungen (255 · 240 Bildpunkte mit 15 Einzelbildern pro Sekunde) ist in der Abb. 3 dieses Anhangs gezeigt. Es zeigt sich, daß die Bänder 7, 9, 10 und 11 bei typischen Szenen sehr wenig Energie enthalten und während der Rekonstruktion mit einer geringen resultierenden Verschlechterung auf Null gesetzt werden können. Das untere zeitliche Band codiert Bewegung unterhalb der halben Einzelbildrate und enthält die Informationen zur Rekonstruktion statischer Teile der Bildsequenz. Band 1 ist eine räumlich tiefpaßgefilterte Version der ursprünglichen Bildsequenz, während die oberen räumlichen Bänder hochfrequente Komponenten codieren. Diese erscheinen als spärliche kantenähnliche Bilder. Band 8 codiert zeitliche Frequenzen, die über der halben Einzelbildrate liegen und weist eine bedeutsame Energie nur für bewegte Teile der Bildsequenz auf. Dieses Band erscheint ebenfalls spärlich und kantenähnlich.
- Da separable Filter verwendet werden, wird die Zerlegung in Teilbänder, wie in Abb. 2 dieses Anhangs gezeigt, stufenweise erzielt. Die Notation Th, Tl, Hh, Hl, Vh und Vl entspricht jeweils der zeitlichen, horizontalen und vertikalen Filterung zu hohen und niedrigen Bändern. Da das Ausgangssignal jeder Filterstufe kritisch abgetastet und nur die Hälfte der Bänder beibehalten wird, ist die Anzahl von Bildpunkten in den resultierenden Teilbändern gleich der Hälfte der Anzahl in der ursprünglichen Sequenz. Es sollte beachtet werden, daß im Gegensatz zu DCT- gestützten Verfahren, bei denen nur eine Umgebung zur Berechnung der Darstellung im Frequenzbereich erforderlich ist, zur Erzielung der Teilbandzerlegung eine gesamte Zeile oder Spalte von Daten verarbeitet werden muß.
- Zur Erzielung einer niedrigen, konstanten Codierungsrate bei gleichzeitiger Aufrechterhaltung einer guten Qualität nutzt der Quantisierer zeitliche Redundanz, charakteristische Teilbandeigenschaften und wahrnehmungsbezogene Maskierung von Verzerrungen aus. Die Teilbandzerlegung entfernt räumliche Redundanz in den Teilbändern, weswegen unter Verwendung räumlicher Prädiktoren keine wesentliche Codierungsgewinne festgestellt wurden. Zeitliche Redundanz wird entfernt, indem in dem unteren zeitlichen Teilband bedingtes Austauschen verwendet wird. Nach der Übertragung werden statische Bereiche in nachfolgenden Einzelbildern wiederholt; die Bereiche, die wiederholte Bildpunkte enthalten, werden mit einer niedrigen Bitrate unter Verwendung von Lauf-Längencodierung übertragen. Bewegten Segmenten werden entsprechend der Sichtbarkeit von Fehlern in jedem Teilband Bit zugeteilt. Diese Bit werden dynamisch zugeteilt, wobei die Priorität zuerst den untersten räumlichen Teilbändern sowohl in den hohen als auch niedrigen zeitlichen Bändern zukommt. Wenn die Entropie während starker Bewegung die Codierungsrate übersteigt, werden zuerst die oberen räumlichen Bänder mit einer niedrigen Rate mit Vektorquantisierung codiert, und die bewegten Bereiche werden mit zunehmender Bewegung mit einer niedrigeren räumlichen Auflösung codiert, indem diese Bereiche in den oberen räumlichen Bändern auf Null gesetzt werden. Zur Bestimmung der auf Null gesetzten Bildpunkte werden ohne Übertragung zusätzlicher Nebeninformationen Zwischenbandinformationen verwendet. In den unteren vier Teilbändern werden Skalarquantisierer verwendet, um sichtbare Artefakte zu minimieren. Der Effekt dieser Verfahren ist die Codierung bewegter Bereiche mit höheren Einzelbildraten und die Verminderung der räumlichen Auflösung bewegter Bereiche, wenn die Entropie der Bildsequenz die Codierungsrate übersteigt. Dadurch werden Quantisierungsfehler in weniger sichtbare bewegte Bereiche und Teilbänder eingeführt, während sich langsam ändernde und statische Bereiche eine hohe Auflösung und minimales Quantisierungsrauschen beibehalten.
- Der VAP wurde entwickelt, um eine flexible Echzeitimplementierung des oben beschriebenen Verfahrens bereitzustellen. Das Videoformat, die Teilbandfilterstruktur und die Quantisierer sind in einer MIMD-Architektur voll programmiert. Es kann abhängig von der Komplexität des Algorithmus eine Videoauflösung bis zum vollen CCIR601 (720 · 485 Bildpunkte, 30 Einzelbilder pro Sekunde) verarbeitet werden.
- Der VAP-Codierer umfaßt eine Videoschnittstelle, ein Prozessorelement-Array (PE- Array) und eine Zwischenboard-Schnittstelle (siehe Abb. 1 dieses Anhangs). Dateneingaben und Übertragungen zwischen Prozessoren finden synchron mit Zeilen von Videodaten statt, die nacheinander zu jedem PE übertragen werden. Zusätzlich wird jedem PE am Anfang einer Teilbildsequenz signalisiert, um die Hintergrundverarbeitung zu synchronisieren, die das Codierungsverfahren implementiert. Da dies jedem PE einen Zeitschlitz auf dem Zwischenprozessorbus zur Verfügung stellt, wird der Buskonflikt beseitigt und die Verzögerung minimiert. Datenübertragungen und Übertragung zwischen Prozessoren werden auf jedem PE gepuffert, um das Vordergrund-E/A-Prozeßoverhead zu minimieren. Das VAP-Decodierer-PE-Array ist identisch, wobei Schnittstellen zur Eingabe codierter Daten und zur Ausgabe von CCIR601-Videodaten bereitgestellt werden.
- Der VAP-Codierer und der VAP-Decodierer sind jeweils auf einer 9U-VME-Karte aufgebaut, und zum Herunterladen von Programmen und zur Steuerung wird eine VME-Schnittstelle zwischen dem Host und jedem PE bereitgestellt. Auf dem Codierer- und auf dem Decodiererboard sind acht PE angeordnet.
- Jedes PE umfaßt einen DSP32C-Prozessor von AT&T, Speicher, eine Dateneingabeschnittstelle und eine Schnittstelle zwischen Prozessoren. Die E/A- und Prozeßsynchronisierung wird durch die DSP32C- Interruptleitungen erzielt. Die Host-Kommunikation verwendet die Parallel-E/A (PIO) des DSP32C. Videodaten und Daten zwischen Prozessoren werden über die externe Speicherschnittstelle übermittelt, wodurch direkt von den E/A-Puffern aus auf Befehlsoperanden zugegriffen werden kann. Schreibadressen zwischen Prozessoren werden direkt auf den DSP32C-Adreßraum abgebildet, wodurch Datenübertragungen mit der Befehlsrate ermöglicht wird, wodurch Übertragungen zwischen Prozessoren mit einer anhaltenden Rate von 50 Mbyte/s erfolgen können. Videodaten können mit der vollen CCIR601-Rate von 27 Mbyte/s in den Daten-FIFO eingegeben werden. Jedes PE enthält einen; 256k · 32-SRAM, auf den mit der Ausführungsrate von 25 MFLOPS des Prozessors zugegriffen werden kann.
- Die zusammengenommene Verarbeitungsrate der acht PE-Codierer und -Decodierer, die aufgebaut wurden, beträgt 400 MFLOPS, mit einem externen verteilten Gesamtspeicher von 16 Mbyte. Zusätzlich enthält jeder DSP32C sechs kbyte internen statischen RAM.
- Ein wichtiger Gesichtspunkt bei Telekonferenzcodierern ist die bei der Codierung, Übertragung und Decodierung der Bildsequenz wahrgenommene Verzögerung. Die Codierungs- und Decodierungszeit ist bei Teilbandcodierern eine Funktion der Ordnung und der Verarbeitungsverzögerung des zeitlichen Filters, was Übertragungen zwischen Prozessoren mit einschließt. Zur Minimierung der Verzögerung wurde in einer Studie die Auswirkung der Ordnung des zeitlichen Filters auf den Codierungsgewinn bestimmt. Die Ordnung des FIR-Filters wurde auf weniger als vierte Ordnung beschränkt, da bei Filtern höherer Ordnung bei der Rate von 15 fps (Einzelbildern pro Sekunde) eine wesentliche Verzögerung eingeführt wird. Es wurde festgestellt, daß Filter mit zwei Abgriffen eine gute Quantisiererleistung bei minimaler Verzögerung liefern - diese wurden deshalb für die Implementierung gewählt. Zur Minimierung der Quantisierungseffekte aufgrund des Aliasing zwischen Bändern wurden räumliche QMF-Filter der zehnten Ordnung verwendet, da sich die Ordnung der räumlichen Filter nicht auf die Codiererverzögerung auswirkt. Die Verarbeitungsverzögerung wird durch Lastausgleich in dem Prozessor-Array minimiert, während Übertragungen zwischen Prozessoren wie nachfolgend beschrieben minimiert werden.
- Um das Interruptoverhead zu minimieren und gleichzeitig relativ zu der zeitlichen Filterverzögerung eine kleine Übertragungs-Latenzzeit bereitzustellen, erfolgen Datenübertragungen und Übertragungen zwischen Prozessoren mit der CCIR601- Zeilenrate, d. h. alle 69 us. Da in jedem Array acht PE vorliegen, wird jedes PE alle 550 us unterbrochen. Während der Interrupt-Serviceroutine führt das PE Übertragungen zwischen Prozessoren durch und gibt die entsprechenden unterabgetasteten Luminanz- und Chrominanzdaten ein. Es können bis zu 850 32-Bit- Übertragungen während jedem Zeilenintervall durchgeführt werden. Die Interrupt-Serviceroutine lädt außerdem Zeilen- und Einzelbildzähler, mit denen Hinterrundprozesse zeitlich gesteuert werden. Der Einzelbildzähler durchläuft zyklisch vier CCIR601- Einzelbilder, was bei der Rate von 15 fps zwei Einzelbildern entspricht. Die Einzelbildzähler in allen PE werden synchronisiert, so daß die zeitlichen Filter in allen PEs zur selben Zeit beginnen.
- Die Luminanzanalysefilter sind wie in Abb. 2 dieses Anhangs gezeigt über das PE-Array verteilt. Während des ersten Teilbildes des Einzelbildes 0 empfängt jedes PE eine aufeinanderfolgende Videodatenzeile. Da jedes PE einen lokalen Einzelbildspeicher enthält, kann die zeitliche Filterung und die erste Stufe der horizontalen Filterung ohne Datentransfer über den Zwischenprozessorbus durchgeführt werden. Um die anschließende vertikale Filterung durchzuführen, werden die Daten unter Verwendung des Zwischenprozessorbusses in den beiden nächsten Teilbildern transponiert. Alle vertikalen Zeilen, die jedem Teilband entsprechen, werden zu einem PE übertragen, so daß die folgende Zerlegung und Quantisierung durchgeführt werden kann. Obwohl das PE0 eine zusätzliche Filterung durchführen muß, wird an seinen Teilbändern nur eine Skalarquantisierung vorgenommen, so daß eine ungefähr gleiche Auslastung auf die PEs verteilt wird, die eine Vektorquantisierung durchführen. Teilbandzuteilungsdaten werden zwischen PEs in einem anschließenden Teilbild übertragen. Die beschriebene Prozeß- und zeitliche E/A-Steuerung ist in Abb. 4 dieses Anhangs gezeigt.
- Das beschriebene Prozeß- und E/A-Verfahren führt zu einer Codierer-plus-Decodiererverzögerung von 333 ms, einschließlich der Verzögerung aufgrund der zeitlichen Filterung. Die Chrominanzbänder werden auf ähnliche Weise verarbeitet, mit der Ausnahme, daß aufgrund der vertikalen Unterabtastung der Chrominanz nur jedes zweite PE zeitliche und horizontale Filterung durchführt. Die anschließende Filterung und Quantisierung werden in den PEs 4, 5, 6 und 7 durchgeführt.
- In dem Decodierer-Array wird eine ähnliche Prozeß- und E/A-Steuerung verwendet, wobei Dequantisierer und Filter in umgekehrter Reihenfolge ausgeführt werden, um die Bildsequenz zu rekonstruieren. Das Decodierer-Array führt außerdem eine Aufabtastung der Daten durch, so daß sie in einem standardmäßigen CCIR601-Format über den Zwischenprozessorbus ausgegeben werden können.
- 1. Martin Vitterli, "Multi-Dimensional Subband Coding: Some Theory and Algorithms", Signal Processing 6, 1984, Seiten 97-112.
- 2. C. I. Podilchuk, N. S. Jayant, P. Noll, "Sparse Codebooks for the Quantization of Non-dominant Subbands in Image Coding", IEEE International Conference on ASSP, 1990.
- 3. Kun-Min Yang, Didier J. LeGall, "Hardware Design of a Motion Video Decoder for 1-1.5 Mbps Rate Application", Signal Processing, Image Communication 2, 1990, Seiten 117-126.
- 4. Cornelis Hoek, Rainer Heiss, Detlef Mueller, "An Array Processor Approach for Low Rate Video Coding", Signal Processing, Image Communication 1, 1989, Seiten 213-223.
- 5. A. J. DeGroot, E. M. Johansson, S. R. Parker, "Image Processing Using the Sprint Microprocessor", IEEE International Conference on Systems Engineering, 1989, Seiten 173-176.
- 6. J. R. Parker, T. R. Ingoldsby, "Design and Analysis of a Multiprocessor for Image Processing", Journal of Parallel and Distributed Computing, Band 9, Nr. 3, Juli 1990, Seiten 297-303.
Claims (14)
1. Verfahren zur Codierung einer Bildsignalfolge,
wobei die Bildsignalfolge eine Mehrzahl von
Bildsignalen umfaßt, wobei ein Bildsignal eine Menge
von Bildpunktsignalen umfaßt, mit den folgenden
Schritten:
Auffiltern (300) der Bildsignalfolge in eine
Mehrzahl von Teilband-Bildpunktsignalen;
Codieren (310i) eines oder mehrerer
Bildpunktsignale einer ersten Menge von Teilband-
Bildpunktsignalen unter Verwendung eines oder mehrerer
Bit einer ersten Anzahl von Bit;
Bereitstellen (320) einer zweiten Anzahl von
Bit zur Verwendung bei der Codierung einer zweiten
Menge von Teilband-Bildpunktsignalen; und
Codieren (310i) eines oder mehrerer
Bildpunktsignale der zweiten Menge von Teilband-
Bildpunktsignalen unter Verwendung eines oder mehrerer
Bit der zweiten Anzahl von Bit;
dadurch gekennzeichnet, daß
jedes Bit der ersten Anzahl von Bit für die
Codierung der ersten Menge von Teilband-
Bildpunktsignalen verfügbar ist; und
die zweite Anzahl von Bit ein oder mehrere Bit
der ersten Anzahl von Bit umfaßt, die bei der Codierung
der ersten Menge von Teilband-Bildpunktsignalen nicht
benutzt werden.
2. Verfahren nach Anspruch 1, mit dem Schritt des
Erzeugens eines ersten Signals, das widerspiegelt, daß
ein oder mehrere Teilband-Bildpunktsignale der besagten
ersten Menge durch eines oder mehrere zuvor decodierte
Teilband-Bildpunktsignale dargestellt werden können.
3. Verfahren nach Anspruch 2, wobei der
Erzeugungsschritt den Schritt des Vergleichens eines
oder mehrerer Teilband-Bildpunktsignale mit einem oder
mehreren vorherigen Teilband-Bildpunktsignalen zur
Bestimmung, ob eine Differenz zwischen den verglichenen
Signalen ein Fehlerkriterium erfüllt, umfaßt.
4. Verfahren nach Anspruch 3, wobei das
Fehlerkriterium auf dem Teilband basiert, das den
verglichenen Teilband-Bildpunktsignalen entspricht.
5. Verfahren nach Anspruch 1, wobei das Teilband,
das der ersten Menge von Teilband-Bildpunktsignalen
entspricht, eine größere wahrnehmungsbezogene
Signifikanz aufweist als das Teilband, das der zweiten
Menge von Teilband-Bildpunktsignalen entspricht.
6. Verfahren nach Anspruch 5, wobei das Teilband,
das der ersten Menge von Teilband-Bildpunktsignalen
entspricht, niedrige räumliche Frequenzen der Menge von
Bildpunktsignalen widerspiegelt.
7. Verfahren nach Anspruch 1, wobei der Schritt
des Codierens eines oder mehrerer Bildpunktsignale der
ersten Menge von Teilband-Bildpunktsignalen den Schritt
des Bestimmens umfaßt, welches eine oder welche mehrere
Teilband-Bildpunktsignale der besagten ersten Menge
relativ zu einem oder mehreren anderen Teilband-
Bildpunkten der besagten ersten Menge eine größere
wahrnehmungsbezogene Signifikanz aufweisen.
8. Vorrichtung zur Codierung einer
Bildsignalfolge, wobei die Bildsignalfolge eine
Mehrzahl von Bildsignalen umfaßt, wobei ein Bildsignal
eine Menge von Bildpunktsignalen umfaßt, mit folgendem:
einem Mittel zum Auffiltern (300) der
Bildsignalfolge in eine Mehrzahl von Teilband-
Bildpunktsignalen;
einem Mittel zum Codieren (310i) eines oder
mehrerer Bildpunktsignale einer ersten Menge von
Teilband-Bildpunktsignalen unter Verwendung eines oder
mehrerer Bit einer ersten Anzahl von Bit;
einem Mittel zum Bereitstellen (320) einer
zweiten Anzahl von Bit zur Verwendung bei der Codierung
einer zweiten Menge von Teilband-Bildpunktsignalen; und
einem Mittel zum Codieren (310i) eines oder
mehrerer Bildpunktsignale der zweiten Menge von
Teilband-Bildpunktsignalen unter Verwendung eines oder
mehrerer Bit der zweiten Anzahl von Bit;
dadurch gekennzeichnet, daß die Vorrichtung für
eine solche Wirkung ausgelegt ist, daß
jedes Bit der ersten Anzahl von Bit für die
Codierung der ersten Menge von Teilband-
Bildpunktsignalen verfügbar ist; und
die zweite Anzahl von Bit ein oder mehrere Bit
der ersten Anzahl von Bit umfaßt, die bei der Codierung
der ersten Menge von Teilband-Bildpunktsignalen nicht
benutzt werden.
9. Vorrichtung nach Anspruch 8 mit einem Mittel
zum Erzeugen eines ersten Signals, das widerspiegelt,
daß ein oder mehrere Teilband-Bildpunktsignale der
besagten ersten Menge durch eines oder mehrere zuvor
decodierte Teilband-Bildpunktsignale dargestellt werden
können.
10. Vorrichtung nach Anspruch 9, wobei das Mittel
zum Erzeugen ein Mittel zum Vergleichen eines oder
mehrerer Teilband-Bildpunktsignale mit einem oder
mehreren vorherigen Teilband-Bildpunktsignalen zur
Bestimmung, ob eine Differenz zwischen den verglichenen
Signalen ein Fehlerkriterium erfüllt, umfaßt.
11. Vorrichtung nach Anspruch 10, wobei das
Fehlerkriterium auf dem Teilband basiert, das den
verglichenen Teilband-Bildpunktsignalen entspricht.
12. Vorrichtung nach Anspruch 8, wobei das
Teilband, das der ersten Menge von Teilband-
Bildpunktsignalen entspricht, eine größere
wahrnehmungsbezogene Signifikanz aufweist als das
Teilband, das der zweiten Menge von Teilband-
Bildpunktsignalen entspricht.
13. Vorrichtung nach Anspruch 12, wobei das
Teilband, das der ersten Menge von Teilband-
Bildpunktsignalen entspricht, niedrige räumliche
Frequenzen der Menge von Bildpunktsignalen
widerspiegelt.
14. Vorrichtung nach Anspruch 8, wobei das Mittel
zum Codieren eines oder mehrerer Bildpunktsignale der
ersten Menge von Teilband-Bildpunktsignalen ein Mittel
zum Bestimmen umfaßt, welches eine oder welche mehrere
Teilband-Bildpunktsignale der besagten ersten Menge
relativ zu einem oder mehreren anderen Teilband-
Bildpunkten der besagten ersten Menge eine größere
wahrnehmungsbezogene Signifikanz aufweisen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83225692A | 1992-02-07 | 1992-02-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69322531D1 DE69322531D1 (de) | 1999-01-28 |
DE69322531T2 true DE69322531T2 (de) | 1999-06-24 |
Family
ID=25261130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69322531T Expired - Lifetime DE69322531T2 (de) | 1992-02-07 | 1993-01-28 | Dynamische Bitverteilung für dreidimensionale Teilbandbildkodierung |
Country Status (5)
Country | Link |
---|---|
US (2) | US5309232A (de) |
EP (1) | EP0555016B1 (de) |
JP (1) | JP2915238B2 (de) |
CA (1) | CA2088082C (de) |
DE (1) | DE69322531T2 (de) |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005627A (en) * | 1991-05-31 | 1999-12-21 | Kabushiki Kaisha Toshiba | Video coding apparatus |
US5317397A (en) * | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
US5986713A (en) * | 1991-05-31 | 1999-11-16 | Kabushiki Kaisha Toshiba | Video coding apparatus using inter-field prediction |
US5509017A (en) * | 1991-10-31 | 1996-04-16 | Fraunhofer Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Process for simultaneous transmission of signals from N signal sources |
EP0576763A1 (de) * | 1992-06-30 | 1994-01-05 | International Business Machines Corporation | Verbessertes Verfahren zur Teilbandkodierung von Videosignalen und Einrichtung zur Durchführung dieses Verfahrens |
FR2697706B1 (fr) * | 1992-11-03 | 1994-11-25 | Thomson Csf | Procédé et dispositif de réduction de débit pour l'enregistrement d'images sur magnétoscope. |
US5412429A (en) * | 1993-03-11 | 1995-05-02 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Picture data compression coder using subband/transform coding with a Lempel-Ziv-based coder |
US5404167A (en) * | 1993-03-12 | 1995-04-04 | At&T Corp. | Subband color video coding using a reduced motion information subband |
DE69424909T2 (de) * | 1993-04-09 | 2000-12-14 | Sony Corp., Tokio/Tokyo | Verfahren und vorrichtung zur bildkodierung |
KR100287494B1 (ko) * | 1993-06-30 | 2001-04-16 | 이데이 노부유끼 | 디지탈신호의부호화방법및장치,복호화방법및장치와부호화시킨신호의기록매체 |
US5495292A (en) * | 1993-09-03 | 1996-02-27 | Gte Laboratories Incorporated | Inter-frame wavelet transform coder for color video compression |
FR2715527B1 (fr) * | 1994-01-21 | 1996-02-23 | Thomson Csf | Procédé et dispositif d'analyse et de synthèse en sous bandes adaptatifs. |
KR0134318B1 (ko) * | 1994-01-28 | 1998-04-29 | 김광호 | 채널간의 마스킹특성을 고려한 비트할당장치 및 그 방법과 복호화장치 |
US5426673A (en) * | 1994-02-09 | 1995-06-20 | The Regents Of The University Of California | Discrete cosine transform-based image coding and decoding method |
JP3102260B2 (ja) * | 1994-03-31 | 2000-10-23 | 日本ビクター株式会社 | 動画像符号化装置 |
US5512939A (en) * | 1994-04-06 | 1996-04-30 | At&T Corp. | Low bit rate audio-visual communication system having integrated perceptual speech and video coding |
WO1995027375A1 (en) * | 1994-04-05 | 1995-10-12 | Gte Laboratories Incorporated | Method and apparatus of using vector subband coder (vsc) for image compression |
WO1995029545A1 (en) * | 1994-04-20 | 1995-11-02 | Thomson Consumer Electronics, Inc. | Asynchronous control signal generating apparatus |
US5838686A (en) * | 1994-04-22 | 1998-11-17 | Thomson Consumer Electronics, Inc. | System for dynamically allocating a scarce resource |
KR100340826B1 (ko) * | 1994-04-22 | 2002-11-29 | 톰슨 콘슈머 일렉트로닉스, 인코포레이티드 | 디지털통신시스템 |
CA2145914A1 (en) * | 1994-05-27 | 1995-11-28 | Alexandros Eleftheriadis | Model-assisted coding of video sequences at low bit rates |
US5708473A (en) * | 1994-08-30 | 1998-01-13 | Hughes Aircraft Company | Two stage video film compression method and system |
JP3302229B2 (ja) * | 1994-09-20 | 2002-07-15 | 株式会社リコー | 符号化方法、符号化/復号方法及び復号方法 |
US5748786A (en) * | 1994-09-21 | 1998-05-05 | Ricoh Company, Ltd. | Apparatus for compression using reversible embedded wavelets |
US5881176A (en) | 1994-09-21 | 1999-03-09 | Ricoh Corporation | Compression and decompression with wavelet style and binary style including quantization by device-dependent parser |
US6549666B1 (en) * | 1994-09-21 | 2003-04-15 | Ricoh Company, Ltd | Reversible embedded wavelet system implementation |
US6229927B1 (en) | 1994-09-21 | 2001-05-08 | Ricoh Company, Ltd. | Reversible embedded wavelet system implementation |
US6141446A (en) * | 1994-09-21 | 2000-10-31 | Ricoh Company, Ltd. | Compression and decompression system with reversible wavelets and lossy reconstruction |
US6873734B1 (en) * | 1994-09-21 | 2005-03-29 | Ricoh Company Ltd | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream |
US5821986A (en) * | 1994-11-03 | 1998-10-13 | Picturetel Corporation | Method and apparatus for visual communications in a scalable network environment |
US5978514A (en) | 1994-11-10 | 1999-11-02 | Kabushiki Kaisha Toshiba | Image data coding and decoding system for efficiently compressing information using the shape and position of the image content |
US5506686A (en) * | 1994-11-23 | 1996-04-09 | Motorola, Inc. | Method and device for determining bit allocation in a video compression system |
JP3036392B2 (ja) * | 1995-02-28 | 2000-04-24 | 日本電気株式会社 | サブバンド信号上の動き補正装置 |
GB2303267B (en) * | 1995-06-06 | 2000-03-22 | Sony Uk Ltd | Video compression |
US5819215A (en) * | 1995-10-13 | 1998-10-06 | Dobson; Kurt | Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data |
US5754794A (en) * | 1995-10-19 | 1998-05-19 | Lucent Technologies Inc. | Subband coding using local bases in multiple dimensions |
US5890102A (en) * | 1995-10-24 | 1999-03-30 | Georgia Tech Research Corporation | Jointly optimized subband coding system and method |
GB2306830B (en) * | 1995-10-30 | 2000-05-24 | Sony Uk Ltd | Video data compression |
US5682152A (en) * | 1996-03-19 | 1997-10-28 | Johnson-Grace Company | Data compression using adaptive bit allocation and hybrid lossless entropy encoding |
US5764803A (en) * | 1996-04-03 | 1998-06-09 | Lucent Technologies Inc. | Motion-adaptive modelling of scene content for very low bit rate model-assisted coding of video sequences |
US6865291B1 (en) * | 1996-06-24 | 2005-03-08 | Andrew Michael Zador | Method apparatus and system for compressing data that wavelet decomposes by color plane and then divides by magnitude range non-dc terms between a scalar quantizer and a vector quantizer |
US6947474B2 (en) | 1996-08-23 | 2005-09-20 | Tensorcomm, Inc. | Rake receiver for spread spectrum signal demodulation |
US6430216B1 (en) | 1997-08-22 | 2002-08-06 | Data Fusion Corporation | Rake receiver for spread spectrum signal demodulation |
US6258287B1 (en) * | 1996-08-28 | 2001-07-10 | Georgia Tech Research Corporation | Method and apparatus for low energy electron enhanced etching of substrates in an AC or DC plasma environment |
US6055330A (en) * | 1996-10-09 | 2000-04-25 | The Trustees Of Columbia University In The City Of New York | Methods and apparatus for performing digital image and video segmentation and compression using 3-D depth information |
US5838377A (en) * | 1996-12-20 | 1998-11-17 | Analog Devices, Inc. | Video compressed circuit using recursive wavelet filtering |
US5984514A (en) * | 1996-12-20 | 1999-11-16 | Analog Devices, Inc. | Method and apparatus for using minimal and optimal amount of SRAM delay line storage in the calculation of an X Y separable mallat wavelet transform |
US5990959A (en) * | 1996-12-20 | 1999-11-23 | U S West, Inc. | Method, system and product for direct rendering of video images to a video data stream |
US5999656A (en) * | 1997-01-17 | 1999-12-07 | Ricoh Co., Ltd. | Overlapped reversible transforms for unified lossless/lossy compression |
JP3684751B2 (ja) * | 1997-03-28 | 2005-08-17 | ソニー株式会社 | 信号符号化方法及び装置 |
GB2343801B (en) * | 1997-08-21 | 2001-09-12 | Data Fusion Corp | Method and apparatus for acquiring wide-band pseudorandom noise encoded waveforms |
EP0899960A3 (de) * | 1997-08-29 | 1999-06-09 | Canon Kabushiki Kaisha | Codierung und Decodierung digitaler Signale |
FR2767986A1 (fr) * | 1997-08-29 | 1999-03-05 | Canon Kk | Codage et decodage de signal numerique |
US6044172A (en) * | 1997-12-22 | 2000-03-28 | Ricoh Company Ltd. | Method and apparatus for reversible color conversion |
EP0938235A1 (de) * | 1998-02-20 | 1999-08-25 | Canon Kabushiki Kaisha | Codierung und Decodierung digitaler Signale |
FR2776437B1 (fr) * | 1998-03-20 | 2003-03-21 | Canon Kk | Codage de signal numerique |
US6128346A (en) * | 1998-04-14 | 2000-10-03 | Motorola, Inc. | Method and apparatus for quantizing a signal in a digital system |
US6148111A (en) * | 1998-04-27 | 2000-11-14 | The United States Of America As Represented By The Secretary Of The Navy | Parallel digital image compression system for exploiting zerotree redundancies in wavelet coefficients |
US7257158B1 (en) | 1998-05-18 | 2007-08-14 | Kendyl A. Román | System for transmitting video images over a computer network to a remote receiver |
US6275614B1 (en) * | 1998-06-26 | 2001-08-14 | Sarnoff Corporation | Method and apparatus for block classification and adaptive bit allocation |
US7158681B2 (en) * | 1998-10-01 | 2007-01-02 | Cirrus Logic, Inc. | Feedback scheme for video compression system |
US8416847B2 (en) * | 1998-12-21 | 2013-04-09 | Zin Stai Pte. In, Llc | Separate plane compression using plurality of compression methods including ZLN and ZLD methods |
US20080250458A1 (en) * | 1998-12-21 | 2008-10-09 | Roman Kendyl A | Media exchange for handheld wireless receivers and other media user devices |
US8170095B2 (en) * | 1998-12-21 | 2012-05-01 | Zin Stai Pte. In, Llc | Faster image processing |
US8290034B2 (en) * | 1998-12-21 | 2012-10-16 | Zin Stai Pte. In, Llc | Video transmission and display including bit-wise sub-sampling video compression |
US7233619B1 (en) * | 1998-12-21 | 2007-06-19 | Roman Kendyl A | Variable general purpose compression for video images (ZLN) |
US8068544B2 (en) * | 1998-12-21 | 2011-11-29 | Zin Stai Pte. In, Llc | Compression with doppler enhancement |
US7671864B2 (en) * | 2000-01-14 | 2010-03-02 | Roman Kendyl A | Faster image processing |
US20030005428A1 (en) * | 2001-05-26 | 2003-01-02 | Roman Kendyl A. | Global media exchange |
US7016417B1 (en) | 1998-12-23 | 2006-03-21 | Kendyl A. Roman | General purpose compression for video images (RHN) |
US6778709B1 (en) * | 1999-03-12 | 2004-08-17 | Hewlett-Packard Development Company, L.P. | Embedded block coding with optimized truncation |
US6246345B1 (en) * | 1999-04-16 | 2001-06-12 | Dolby Laboratories Licensing Corporation | Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding |
US7885340B2 (en) * | 1999-04-27 | 2011-02-08 | Realnetworks, Inc. | System and method for generating multiple synchronized encoded representations of media data |
US8004572B2 (en) * | 1999-05-17 | 2011-08-23 | Zin Stai Pte. In, Llc | System for transmitting a video stream over a computer network to a remote receiver |
US6363113B1 (en) * | 1999-06-07 | 2002-03-26 | Lucent Technologies Inc. | Methods and apparatus for context-based perceptual quantization |
US6263022B1 (en) * | 1999-07-06 | 2001-07-17 | Philips Electronics North America Corp. | System and method for fine granular scalable video with selective quality enhancement |
US6408026B1 (en) * | 1999-08-06 | 2002-06-18 | Sony Corporation | Deadzone quantization method and apparatus for image compression |
US6834123B2 (en) * | 2001-05-29 | 2004-12-21 | Intel Corporation | Method and apparatus for coding of wavelet transformed coefficients |
US6956903B2 (en) | 2001-05-29 | 2005-10-18 | Intel Corporation | Method and apparatus for three-dimensional wavelet transform |
US6803931B1 (en) | 1999-11-04 | 2004-10-12 | Kendyl A. Roman | Graphical user interface including zoom control box representing image and magnification of displayed image |
US7191462B1 (en) * | 1999-11-08 | 2007-03-13 | Kendyl A. Román | System for transmitting video images over a computer network to a remote receiver |
US6535620B2 (en) * | 2000-03-10 | 2003-03-18 | Sarnoff Corporation | Method and apparatus for qualitative spatiotemporal data processing |
US6549674B1 (en) * | 2000-10-12 | 2003-04-15 | Picsurf, Inc. | Image compression based on tiled wavelet-like transform using edge and non-edge filters |
US6661927B1 (en) * | 2000-07-27 | 2003-12-09 | Motorola, Inc. | System and method for efficiently encoding an image by prioritizing groups of spatially correlated coefficients based on an activity measure |
US6738523B1 (en) | 2000-09-14 | 2004-05-18 | Eastman Kodak Company | Parallel inverse discrete wavelet transform |
FR2815748B1 (fr) * | 2000-10-20 | 2003-01-24 | Canon Kk | Procede et dispositif de traitement et de decodage d'un signal numerique code |
US6898323B2 (en) | 2001-02-15 | 2005-05-24 | Ricoh Company, Ltd. | Memory usage scheme for performing wavelet processing |
FR2822330B1 (fr) * | 2001-03-14 | 2003-05-02 | Thomson Multimedia Sa | Procede de codage par blocs, de type mpeg, dans lequel on affecte une resolution a chaque bloc |
US6950558B2 (en) | 2001-03-30 | 2005-09-27 | Ricoh Co., Ltd. | Method and apparatus for block sequential processing |
US6895120B2 (en) | 2001-03-30 | 2005-05-17 | Ricoh Co., Ltd. | 5,3 wavelet filter having three high pair and low pair filter elements with two pairs of cascaded delays |
US6859563B2 (en) | 2001-03-30 | 2005-02-22 | Ricoh Co., Ltd. | Method and apparatus for decoding information using late contexts |
US7006697B1 (en) | 2001-03-30 | 2006-02-28 | Ricoh Co., Ltd. | Parallel block MQ arithmetic image compression of wavelet transform coefficients |
US7062101B2 (en) * | 2001-03-30 | 2006-06-13 | Ricoh Co., Ltd. | Method and apparatus for storing bitplanes of coefficients in a reduced size memory |
JP2002330075A (ja) * | 2001-05-07 | 2002-11-15 | Matsushita Electric Ind Co Ltd | サブバンドadpcm符号化方法、復号方法、サブバンドadpcm符号化装置、復号装置およびワイヤレスマイクロホン送信システム、受信システム |
US7581027B2 (en) * | 2001-06-27 | 2009-08-25 | Ricoh Co., Ltd. | JPEG 2000 for efficent imaging in a client/server environment |
WO2003023444A1 (en) | 2001-09-12 | 2003-03-20 | Data Fusion Corporation | Gps near-far resistant receiver |
US7280252B1 (en) | 2001-12-19 | 2007-10-09 | Ricoh Co., Ltd. | Error diffusion of multiresolutional representations |
US7095907B1 (en) | 2002-01-10 | 2006-08-22 | Ricoh Co., Ltd. | Content and display device dependent creation of smaller representation of images |
US7460722B2 (en) * | 2002-01-11 | 2008-12-02 | Canon Kabushiki Kaisha | Encoding of digital data with determination of sample path |
US7120305B2 (en) * | 2002-04-16 | 2006-10-10 | Ricoh, Co., Ltd. | Adaptive nonlinear image enlargement using wavelet transform coefficients |
US7280700B2 (en) | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
JP2004104694A (ja) * | 2002-09-12 | 2004-04-02 | Sony Corp | 符号化装置と符号化方法と符号化プログラムおよび復号化装置と復号化方法と復号化プログラム |
KR100524065B1 (ko) * | 2002-12-23 | 2005-10-26 | 삼성전자주식회사 | 시간-주파수 상관성을 이용한 개선된 오디오 부호화및/또는 복호화 방법과 그 장치 |
US7039247B2 (en) * | 2003-01-31 | 2006-05-02 | Sony Corporation | Graphic codec for network transmission |
US20050018796A1 (en) * | 2003-07-07 | 2005-01-27 | Sande Ravindra Kumar | Method of combining an analysis filter bank following a synthesis filter bank and structure therefor |
EP1599046A1 (de) * | 2004-05-19 | 2005-11-23 | THOMSON Licensing | Verfahren zur Kodierung von Videodaten einer Bildfolge |
EP2077620B1 (de) * | 2004-06-07 | 2012-01-04 | Agency For Science, Technology And Research | Systeme zur skalierbaren Kodierung und Dekodierung von Daten |
US7512182B2 (en) * | 2004-08-30 | 2009-03-31 | General Instrument Corporation | Method and apparatus for performing motion compensated temporal filtering in video encoding |
GB2438347B8 (en) * | 2005-02-25 | 2009-04-08 | Data Fusion Corp | Mitigating interference in a signal |
JP4654773B2 (ja) * | 2005-05-31 | 2011-03-23 | 富士フイルム株式会社 | 情報処理装置、動画像符号化装置、情報処理方法及び情報処理プログラム |
TWI351229B (en) * | 2006-03-20 | 2011-10-21 | Realtek Semiconductor Corp | Image processing system capable of recovering details of images and related image processing method thereof |
US9949278B2 (en) * | 2006-09-11 | 2018-04-17 | Qualcomm Incorporated | Dynamic power amplifier backoff |
JP4525704B2 (ja) * | 2007-05-17 | 2010-08-18 | ソニー株式会社 | 符号化装置および方法、記録媒体、並びにプログラム。 |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8401229B2 (en) * | 2007-09-04 | 2013-03-19 | Objectvideo, Inc. | Stationary target detection by exploiting changes in background model |
CN101600029B (zh) * | 2008-06-06 | 2013-05-08 | 博通集成电路(上海)有限公司 | 背景噪声降低系统及方法 |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US9071849B2 (en) * | 2010-04-09 | 2015-06-30 | Samsung Electronics Co., Ltd. | Method and apparatus for generating video packets, method and apparatus for restoring video |
CN102959871B (zh) * | 2010-07-05 | 2016-09-21 | 日本电信电话株式会社 | 编码方法、解码方法、编码装置、解码装置、程序及记录介质 |
US20120029926A1 (en) | 2010-07-30 | 2012-02-02 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals |
US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
US9008179B2 (en) * | 2011-06-30 | 2015-04-14 | Futurewei Technologies, Inc. | Encoding of prediction residuals for lossless video coding |
EP3185554A1 (de) * | 2015-12-21 | 2017-06-28 | Alcatel Lucent | Vorrichtungen zur videocodierung und -rekonstruktion mit adaptive quantisierung |
US11102488B2 (en) * | 2019-05-31 | 2021-08-24 | Ati Technologies Ulc | Multi-scale metric-based encoding |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2389277A1 (fr) * | 1977-04-29 | 1978-11-24 | Ibm France | Procede de quantification a allocation dynamique du taux de bits disponible, et dispositif de mise en oeuvre dudit procede |
JPS5921039B2 (ja) * | 1981-11-04 | 1984-05-17 | 日本電信電話株式会社 | 適応予測符号化方式 |
US4535472A (en) * | 1982-11-05 | 1985-08-13 | At&T Bell Laboratories | Adaptive bit allocator |
EP0111612B1 (de) * | 1982-11-26 | 1987-06-24 | International Business Machines Corporation | Verfahren und Einrichtung zur Kodierung eines Sprachsignals |
CA1253255A (en) * | 1983-05-16 | 1989-04-25 | Nec Corporation | System for simultaneously coding and decoding a plurality of signals |
US4790016A (en) * | 1985-11-14 | 1988-12-06 | Gte Laboratories Incorporated | Adaptive method and apparatus for coding speech |
US4751742A (en) * | 1985-05-07 | 1988-06-14 | Avelex | Priority coding of transform coefficients |
IT1184023B (it) * | 1985-12-17 | 1987-10-22 | Cselt Centro Studi Lab Telecom | Procedimento e dispositivo per la codifica e decodifica del segnale vocale mediante analisi a sottobande e quantizzazione vettorariale con allocazione dinamica dei bit di codifica |
NL8700985A (nl) * | 1987-04-27 | 1988-11-16 | Philips Nv | Systeem voor sub-band codering van een digitaal audiosignaal. |
US4943855A (en) * | 1988-07-22 | 1990-07-24 | At&T Bell Laboratories | Progressive sub-band image coding system |
US4956871A (en) * | 1988-09-30 | 1990-09-11 | At&T Bell Laboratories | Improving sub-band coding of speech at low bit rates by adding residual speech energy signals to sub-bands |
FR2643531B1 (fr) * | 1989-02-21 | 1996-04-26 | Thomson Csf | Procede et dispositif de compression de l'information destine au decodage compatible d'une famille de signaux de television de resolutions croissantes |
CA2014935C (en) * | 1989-05-04 | 1996-02-06 | James D. Johnston | Perceptually-adapted image coding system |
GB8914843D0 (en) * | 1989-06-28 | 1989-08-16 | British Aerospace | A method of processing video image data for use in the storage or transmission of moving digital images |
US4969040A (en) * | 1989-10-26 | 1990-11-06 | Bell Communications Research, Inc. | Apparatus and method for differential sub-band coding of video signals |
US5063444A (en) * | 1990-03-19 | 1991-11-05 | At&T Bell Laboratories | High definition television arrangement with signal selections adapted to the available transmission capacity |
US5040062A (en) * | 1990-03-19 | 1991-08-13 | At&T Bell Laboratories | Television signal arrangement where selected signals are encoded digitally |
US5136374A (en) * | 1990-04-03 | 1992-08-04 | At&T Bell Laboratories | Geometric vector quantization |
US5128757A (en) * | 1990-06-18 | 1992-07-07 | Zenith Electronics Corporation | Video transmission system using adaptive sub-band coding |
US5107348A (en) * | 1990-07-11 | 1992-04-21 | Zenith Electronics Corporation | Temporal decorrelation of block artifacts |
US5097331A (en) * | 1990-08-24 | 1992-03-17 | Bell Communications Research, Inc. | Multiple block-size transform video coding using an asymmetric sub-band structure |
-
1993
- 1993-01-26 CA CA002088082A patent/CA2088082C/en not_active Expired - Fee Related
- 1993-01-28 EP EP93300630A patent/EP0555016B1/de not_active Expired - Lifetime
- 1993-01-28 DE DE69322531T patent/DE69322531T2/de not_active Expired - Lifetime
- 1993-02-05 JP JP5040651A patent/JP2915238B2/ja not_active Expired - Lifetime
- 1993-07-16 US US08/092,768 patent/US5309232A/en not_active Expired - Lifetime
-
1995
- 1995-03-15 US US08/405,426 patent/US5481308A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0555016A2 (de) | 1993-08-11 |
US5481308A (en) | 1996-01-02 |
DE69322531D1 (de) | 1999-01-28 |
JPH0646403A (ja) | 1994-02-18 |
CA2088082A1 (en) | 1993-08-08 |
CA2088082C (en) | 1999-01-19 |
EP0555016B1 (de) | 1998-12-16 |
US5309232A (en) | 1994-05-03 |
JP2915238B2 (ja) | 1999-07-05 |
EP0555016A3 (en) | 1994-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69322531T2 (de) | Dynamische Bitverteilung für dreidimensionale Teilbandbildkodierung | |
DE69521238T2 (de) | Bilddatenquantisierung in Bildkomprimierung | |
DE69633129T2 (de) | Waveletbaum-bildcoder mit überlappenden bildblöcken | |
DE69106415T2 (de) | Einrichtung zur Kodierung/Dekodierung von Bildsignalen. | |
DE69737514T2 (de) | System und verfahren zum bearbeiten wellenartiger und umgekehrten wellenartigen transformationen von digitalen daten | |
DE69525127T2 (de) | Gerät und Verfahren zur Kodierung und Dekodierung von Bildern unter Verwendung einer Kantensynthese und einer Wavelet-Rücktransformation | |
DE69015695T2 (de) | Einrichtung zur Transformationskodierung. | |
DE10190285B4 (de) | Verfahren und System zur Verarbeitung von komprimierten Videosignalen | |
DE68927960T2 (de) | Bildsignal-, Kodier- und Dekodiervorrichtung | |
DE69125199T2 (de) | Geometrische Vektorquantifizierung | |
DE69129595T2 (de) | Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen | |
DE69822607T2 (de) | Nichtlinearer quantisierer für videokodierung | |
DE69523703T2 (de) | Videobildkomprimierung unter Verwendung einer hierarchischen Vektorquantisierung von gewichteten Wellenstückchen | |
DE69837003T2 (de) | Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem | |
DE60308255T2 (de) | 2D-Transformationen zur Bild- und Videokodierung | |
DE69221191T2 (de) | Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation | |
DE69130214T2 (de) | Bilddatenkompression mit adaptiver Blockgrössenauswahl | |
DE69606441T2 (de) | Videodatenkodierer und -dekodierer | |
DE69618171T2 (de) | Bewegungsschätzung für prädiktive bildkodierung | |
DE69221990T2 (de) | Teilband-Koder und Dekoder für Fernsehsignale mit verschiedenen Auflösungswerten. | |
DE3874703T2 (de) | Kodier- und dekodierverfahren und vorrichtung fuer die bilduebertragung ueber ein netz mit einem variablen datenfluss. | |
DE69312132T2 (de) | Bildkompressionsgerät | |
DE69712566T2 (de) | Bildkodierungsverfahren und Bildkodierer | |
DE69713779T2 (de) | Objektorientiertes videosystem | |
DE19534730A1 (de) | Verfahren zum Codieren und Decodieren von Daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |
Ref document number: 555016 Country of ref document: EP |