DE10253380B4 - Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität - Google Patents
Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität Download PDFInfo
- Publication number
- DE10253380B4 DE10253380B4 DE2002153380 DE10253380A DE10253380B4 DE 10253380 B4 DE10253380 B4 DE 10253380B4 DE 2002153380 DE2002153380 DE 2002153380 DE 10253380 A DE10253380 A DE 10253380A DE 10253380 B4 DE10253380 B4 DE 10253380B4
- Authority
- DE
- Germany
- Prior art keywords
- dct
- computational complexity
- sad
- motion vector
- threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement 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/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/51—Motion estimation or motion compensation
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- 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/127—Prioritisation of hardware or computational resources
-
- 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/172—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 picture, frame or field
-
- 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Verfahren
zum Kodieren eines sich bewegenden Bildes, welches Bewegungsvektoren
eines sich bewegenden Bildes berechnen kann, wobei das Verfahren
umfaßt:
(a) Vergleichen (320) einer Summe absoluter Differenzen (SAD) von zu prüfenden Bewegungsvektoren mit einem Schwellenwert, der auf eine Anzahl an Suchpunkten pro Makroblock eines vorherigen Rahmens beruht;
(b) vorzeitige Beendigung der Suche (324) nach dem Bewegungsvektor des zu prüfenden Makroblocks, falls in (a) bestimmt wird, dass die SAD eines zu prüfenden Bewegungsvektors kleiner ist als der Schwellenwert, und Bestimmung eines zu prüfenden Bewegungsvektors, der eine minimale SAD aufweist, als ein Bewegungsvektor; und
(c) Aktualisieren (340) des Schwellenwertes, der in (a) verwendet werden soll, in Bezug auf einen nächsten Rahmen, entsprechend der Anzahl an Suchpunkten pro Makroblock eines momentanen Rahmens, wenn die Suche nach dem Bewegungsvektor in (b) endet.
(a) Vergleichen (320) einer Summe absoluter Differenzen (SAD) von zu prüfenden Bewegungsvektoren mit einem Schwellenwert, der auf eine Anzahl an Suchpunkten pro Makroblock eines vorherigen Rahmens beruht;
(b) vorzeitige Beendigung der Suche (324) nach dem Bewegungsvektor des zu prüfenden Makroblocks, falls in (a) bestimmt wird, dass die SAD eines zu prüfenden Bewegungsvektors kleiner ist als der Schwellenwert, und Bestimmung eines zu prüfenden Bewegungsvektors, der eine minimale SAD aufweist, als ein Bewegungsvektor; und
(c) Aktualisieren (340) des Schwellenwertes, der in (a) verwendet werden soll, in Bezug auf einen nächsten Rahmen, entsprechend der Anzahl an Suchpunkten pro Makroblock eines momentanen Rahmens, wenn die Suche nach dem Bewegungsvektor in (b) endet.
Description
- Die vorliegende Erfindung betrifft ein Videokodiersystem, und insbesondere ein Verfahren und eine Einrichtung zum Kodieren sich bewegender Bilder unter Verwendung fester Rechenkomplexität unabhängig von den Eigenschaften des sich bewegenden Bildes.
- Herkömmlich wird ein sich bewegendes Bild mittels Hardware kodiert. Die Verbesserungen der Leistungen zentraler Verarbeitungseinheiten (CPUs) von Personalcomputern (PC) und die Entwicklung eines Hochleistungs-Medienprozessors ermöglichen es allerdings, ein sich bewegendes Bild mittels Software zu kodieren. Daher ist ein Kodierverfahren zur wirksamen Verringerung des Rechenaufwands erforderlich, um ein sich bewegendes Bild in Echtzeit zu komprimieren und wieder herzustellen. Wenn beispielsweise die Bewegung eines sich bewegenden Bildes mit einem Videokodierer entsprechend dem H.263-Standard unter Verwendung einer Suche mit n Stufen berechnet wird, benötigte ein Modul mit diskreter Kosinustransformation (DCT) und inverser DCT dreißig Prozent (30%) der Verarbeitungszeit in dem Videokodierer. Zur Verringerung einer derartigen Rechenkomplexität verwendet ein herkömmlicher Videokodierer ein DCT-Sprungverfahren.
-
1 ist ein Blockdiagramm eines herkömmlichen Videokodiersystems. Zuerst werden eingegebene Videodaten in Einheiten von Gruppen von Bildern (GOP) unterteilt. Eine Einheit120 für diskrete Kosinustransformation (DCT) führt einen DCT-Prozess bei den Videodaten auf Grundlage von 8 × 8 Blöcken durch, um eine räumliche Redundanz in den Videodaten zu erhalten. Ein Quantisierer (Q)130 quantisiert die Videodaten, bei denen der DCT-Prozess von der DCT-Einheit120 durchgeführt wird. Ein inverser Quantisierer (IQ)150 führt eine inverse Quantisierung der Videodaten durch, die von dem Q130 quantisiert wurden. Eine Einheit160 für inverse DCT (IDCT) führt einen IDCT-Prozess bei den Videodaten durch, bei denen eine inverse Quantisierung durch den IQ150 erfolgt. Eine Rahmenspeichereinheit (FM-Einheit)170 speichert die Videodaten, bei denen eine IDCT-Verarbeitung durch die IDCT-Einheit160 erfolgt, in Rahmeneinheiten. Eine Bewegungsberechnungseinheit (ME-Einheit)180 berechnet einen Bewegungsvektor (MV) und die Summe absoluter Differenzen (SAD) eines sich bewegenden Bildes pro Makroblock, unter Verwendung von Videodaten eines momentanen Rahmens und von Videodaten eines vorherigen Rahmens, die in der FM-Einheit170 gespeichert sind. Eine Einheit140 für Kodierung mit variabler Länge (VLC) entfernt statistische Redundanz in den Videodaten, die entsprechend dem MV quantisiert wurden, der von der ME-Einheit180 berechnet wurde. - Eine DCT-Sprungeinheit
110 vergleicht die SAD pro Block, die von der ME-Einheit180 berechnet wird, oder einen Quantisierungsparameter (QP), der von dem Q130 erzeugt wird, mit einem Schwellenwert T, und schickt an die DCT-Einheit120 das Ergebnis des Vergleiches als Sprunginformation auf Grundlage von 8 × 8 Blöcken. Genauer gesagt schränkt die DCT-Sprungeinheit110 die Videodaten ein, die nicht kodiert werden sollen, wenn das Verhältnis SAD/QP kleiner ist als der Schwellenwert T, was bedeutet, dass das Blockende (EOB) annähernd gleich Null ist, und läßt die DCT-Einheit120 eine DCT bei den Videodaten durchführen, wenn das Verhältnis SAD/QP größer ist als der Schwellenwert T. Falls jedoch der Schwellenwert T ein fester Wert innerhalb einer Videosequenz ist, wird die Komplexität bei der DCT-Berechnung pro Makroblock oder Rahmen unterschiedlich. Insbesondere wenn ein Software-Videokodierer von einem PC oder einem Medienprozessor ausgeführt wird, ist eine Echtzeitkodierung unmöglich, infolge von Grenzen bezüglich der Rechenkomplexität der PC oder des Medienprozessors, wenn sich die DCT-Rechenkomplexität entsprechend einem Makroblock oder einem Rahmen ändert. - Die nachveröffentlichte Druckschrift
DE 102 53 383 A1 beschreibt ein Verfahren und eine Vorrichtung zum Codieren sich bewegender Bilder mit fester Rechenkomplexität, wobei die Rechenkomplexität ständig aufrecht erhalten wird. Das Verfahren umfasst eine Berechnung der Rechenkomplexität in Bezug auf die Bewegungsberechnung (ME) von Videodaten und eine Berechnung einer Differenz zwischen der berechneten ME-Rechenkomplexität und einer Soll-Rechenkomplexität, eine Aktualisierung einer Soll-Komplexität bezüglich einer diskreten Cosinus-Transformation (DCT) auf Grundlage der Differenz ME-Rechenkomplexität, die in dem Berechnungsschritt berechnet wurde und Einstellen eines Schwellenwertes, um zu bestimmen, ob die Durchführung eines DCT-Prozesses auf Grundlage der Soll-DCT-Rechenkomplexität bei den Videodaten übersprungen werden soll, die in dem Aktualisierungsschritt ermittelt wurden, und Überspringen der Durchführung eines DCT-Prozesses oder Durchführung eines DCT-Prozesses bei Videodaten entsprechend der Einstellung des Schwellenwertes. - Der Artikel mit dem Titel „A FAST MOTION ESTIMATION FOR SOFTWARE BASED REALTIME VIDEO CODING" von Jong-Nam Kim und Tae-Sun Choi, IEEE, Transactions an Consumer Electronics, Ausgabe 45, Nr. 2, Mai 1999, bezieht sich auf einen Dreischritt-Suchalgorithmus, um dessen Berechnungsgeschwindigkeit und Fehlerverhalten effizienter zu gestalten. Es wird ein so genannter Half-Stop-Algorithmus hinzugezogen, der eine geringe Reduzierung der Vorhersagbarkeit der Bildqualität bewirkt, wobei eine deutliche Reduzierung der Rechenkomplexität erreicht wird. Dies basiert auf der Annahme, dass, wenn eine geringe Bewegungsfehlerkompensation notwendig ist, die übereinstimmenden Blöcke als passende Blöcke herangezogen werden können und der Bewegungsvektor als ein übergeordneter Bewegungsvektor behandelt wird. Weiterhin werden unnötige Berechnungen von Fehlern verhindert. Es ist daher möglich, den Berechnungsaufwand für Bewegungsvektoren signifikant zu reduzieren mit einer einhergehenden reduzierten Vorhersagbarkeit der Bildqualität unter Verwendung eines Schwellenwertes.
- Ein Aspekt der vorliegenden Erfindung besteht in der Lösung des vorstehend geschilderten Problems.
- Der Erfindung liegt die Aufgabe zugrunde, ein verbessertes Videocodierverfahren bereitzustellen, welches die Rechenkomplexität eines Videocodierers dadurch festhalten kann, dass adaptiv ein Schwellenwert für den DCT-Sprung eingestellt wird.
- Diese Aufgabe ist durch den Gegenstand der unabhängigen Patentansprüche gelöst.
- Bevorzugte Ausführungsformen sind in den abhängigen Patentansprüche definiert.
- Ein weiterer Aspekt der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens und einer Einrichtung zum Videocodieren, welche die Rechenkomplexität eines Videocodierers festhalten können, unabhängig von den Eigenschaften eines Bildes, durch Einstellung der ME-Rechenkomplexität und der Rechenkomplexität bezüglich der diskreten Cosinus-Transformation (DCT).
- Es wird ein Verfahren zum Codieren eines sich bewegenden Bildes zur Verfügung gestellt, das Bewegungsvektoren eines sich bewegenden Bildes berechnen kann, wobei das Verfahren umfasst:
- (a) Vergleichen einer Summe absoluter Differenzen (SAD) von zu prüfenden Bewegungsvektoren mit der Schwelle, die auf der Grundlage von Suchpunkten pro Makroblocks eines vorherigen Rahmens eingestellt wird; (b) Beenden der Suche nach Bewegungsvektoren von Makroblocks, wenn im Schritt (a) bestimmt wird, dass die SAD jedes zu prüfenden Bewegungsvektors kleiner ist als ein Schwellenwert, und Festlegung eines zu prüfenden Bewegungsvektors, der eine minimale SAD aufweist, als Bewegungsvektor; und (c) Aktualisieren des Schwellenwertes, der im Schritt (a) in Bezug auf einen nächsten Rahmen eingesetzt werden soll, entsprechend der Anzahl an Suchpunkten pro Makroblock eines momentanen Rahmens, wenn nach den Bewegungsvektorenden im Schritt (b) gesucht wird.
- Um einen anderen Aspekt in Bezug auf den voranstehend geschilderten Vorteil bereitzustellen, wird ein Verfahren zum Kodieren eines sich bewegenden Bildes zur Verfügung gestellt, welches umfaßt: (a) Vergleichen eines Schwellenwertes, der entsprechend der Anzahl an Suchpunkten pro Makroblock eines vorherigen Rahmens eingestellt wird, mit der SAD des Bewegungsvektors des vorherigen Rahmens, Bestimmung, ob nach den Makroblockenden gesucht werden soll oder nicht, entsprechend dem Vergleichsergebnis, und Berechnung der Bewegung eines sich bewegenden Bildes auf der Grundlage des Bestimmungsergebnisses; (b) Berechnung der Rechenkomplexität der Bewegungsberechnung (ME), die im Schritt (a) berechnet wurde, um eine Differenz zwischen der ME-Rechenkomplexität und einer Soll-Rechenkomplexität zu erhalten; (c) Aktualisierung einer Soll-Komplexität der diskreten Kosinustransformation (DCT) auf der Grundlage der Differenz zwischen der ME-Rechenkomplexität und einer Soll-Rechenkomplexität, und Einstellung eines Schwellenwertes auf Grundlage der aktualisierten Soll-DCT-Komplexität, um zu bestimmen, ob eine DCT von Videodaten übersprungen werden soll; und (d) Überspringen der Durchführung eines DCT-Prozesses oder Durchführung eines DCT-Prozesses bei Videodaten eines momentanen Rahmens entsprechend dem im Schritt (c) eingestellten Schwellenwert.
- Um einen weiteren Aspekt in Bezug auf den voranstehend geschilderten Vorteil bereitzustellen wird eine Einrichtung zum Kodieren eines sich bewegenden Bildes zur Verfügung gestellt, welche eine Einheit für diskrete Kosinustransformation (DCT) zur Durchführung einer DCT bei eingegebenen Videodaten blockweise aufweist; einen Quantisierer zum Quantisieren des Videosignals, bei dem die DCT von der DCT-Einheit durchgeführt wird; eine Bewegungsberechnungseinheit (ME-Einheit) zum Aktualisieren eines Schwellenwertes TH entsprechend der mittleren Anzahl an Suchpunkten pro Makroblock eines vorherigen Rahmens, zum Vergleichen des Schwellenwertes mit der SAD pro Makroblock, und zur Berechnung eines Bewegungsvektors eines momentanen Rahmens; einen DCT-Rechenkomplexitätsberechner zur Berechnung der Rechenkomplexität entsprechend der Anzahl an Suchpunkten pro Makroblock entsprechend dem Schwellenwert pro Rahmen, der von der ME-Einheit aktualisiert wird, zur Berechnung einer Differenz zwischen der berechneten Rechenkomplexität und einer Soll-ME-Rechenkomplexität, und zum Aktualisieren einer Soll-DCT-Rechenkomplexität auf Grundlage der berechneten ME-Rechenkomplexität; und eine DCT-Sprungeinheit zum Bestimmen, ob die Durchführung der DCT bei den Videodaten übersprungen wird, auf Grundlage der Soll-DCT-Rechenkomplexität, die von dem DCT-Rechenkomplexitätsberechner aktualisiert wird, der DCT-Sprungeinheit zum Vergleichen der SAD pro Block, die von der ME-Einheit erzeugt wird, und eines Quantisierungsparameters, der von dem Quantisierer mit dem Schwellenwert erzeugt wird, und zur Bestimmung, ob die DCT-Einheit eine DCT bei den Videodaten durchführen darf oder nicht.
- Die voranstehend geschilderten Ziele und Vorteile der vorliegenden Erfindung werden aus der detaillierten Beschreibung bevorzugter Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen noch deutlicher. Es zeigt:
-
1 ein Blockdiagramm eines herkömmlichen Videokodiersystems; -
2 ein Blockdiagramm des Aufbaus eines Videokodierers gemäß der vorliegenden Erfindung; -
3 ein Flußdiagramm zur Erläuterung eines Verfahrens zur Berechnung der Bewegung eines sich bewegenden Bildes mit einer Bewegungsberechnungseinheit (ME-Einheit) gemäß der vorliegenden Erfindung; -
4 ein Flußdiagramm zur Erläuterung eines Verfahrens zum Kodieren eines sich bewegenden Bildes gemäß der vorliegenden Erfindung; und -
5 ein Diagramm zur Erläuterung der Anzahl an Suchpunkten pro Rahmen, wenn ein Schwellenwert bei der Ausführung des Verfahrens von3 eingestellt wird. -
2 ist ein Blockdiagramm des Aufbaus eines Videokodierers gemäß der vorliegenden Erfindung. In2 umfassen eingegebene Videodaten Rahmen in Einheiten von 8 × 8 Blöcken. - Eine Einheit
220 für diskrete Kosinustransformation (DCT) führt einen DCT-Prozess bei Eingangs-Videodaten in Einheit von 8 × 8 Blöcken durch, oder verarbeitet die eingegebenen Videodaten, die nicht kodiert werden sollen, in Reaktion auf ein DCT-Sprungsteuersignal, das von einer DCT-Sprungeinheit290 erzeugt wird. Ein Quantisierer (Q)230 quantisiert die Videodaten, bei denen die DCT durch die DCT-Einheit220 durchgeführt wird. Eine Einheit240 für Kodierung mit variabler Länge (VLC) entfernt statistische Redundanz in den quantisierten Videodaten. Ein inverser Quantisierer (IQ)250 führt eine inverse Quantisierung der Videodaten durch, die von dem Q230 quantisiert wurden. Eine Einheit260 für inverse DCT (IDCT) führt eine IDCT bei den Videodaten durch, die invers von dem IQ250 quantisiert wurden. Eine Rahmenspeichereinheit (FM-Einheit)270 speichert die Videodaten, bei denen die IDCT von der IDCT-Einheit260 durchgeführt wird, in Einheiten von Rahmen. Eine Bewegungsberechnungseinheit (ME-Einheit)280 berechnet einen Bewegungsvektor (MV) und eine Summe absoluter Differenzen (SAD) pro Makroblock, unter Verwendung von Videodaten eines momentanen Rahmens und von Videodaten eines vorherigen Rahmens, die in der FM-Einheit270 gespeichert sind. Während der Berechnung des MV und der SAD aktualisiert die ME-Einheit280 einen Schwellenwert TH entsprechend der mittleren Anzahl an Suchpunkten des vorherigen Rahmens pro Makroblock, vergleicht den aktualisierten Schwellenwert TH und die SAD in Bezug auf den momentanen Rahmen, und bestimmt, ob die Suche nach dem Bewegungsvektor beendet ist oder nicht. - Ein DCT-Rechenkomplexitätsberechner
284 berechnet die gesamte ME-Rechenkomplexität des vorherigen Rahmens, die von der ME-Einheit280 verwendet wird, um die Differenz zwischen der gesamten ME-Rechenkomplexität und einer Soll-Rechenkomplexität zu berechnen, und aktualisiert die Soll-DCT-Rechenkomplexität auf der Grundlage der Differenz. - Die DCT-Sprungeinheit
290 stellt einen Schwellenwert Ton+1 entsprechend der aktualisierten Soll-DCT-Rechenkomplexität ein, um die Durchführung einer DCT bei dem momentanen Rahmen zu überspringen. Dann vergleicht die DCT-Sprungeinheit290 die SAD pro Block, die von der ME-Einheit280 berechnet wird, sowie einen Quantisierungsparameter (QP), der von dem Q230 berechnet wird, mit dem eingestellten Schwellenwert Ton+1, und übersendet an die DCT-Einheit220 das Vergleichsergebnis als DCT-Sprunginformation. -
3 ist ein Flußdiagramm, das ein Verfahren zur Berechnung der Bewegung eines sich bewegenden Bildes mit der ME-Einheit280 gemäß der vorliegenden Erfindung erläutert. In3 wird zuerst, entsprechend einem bestimmten Verfahren zur Berechnung der Hochgeschwindigkeitsbewegung eines Bildes, die SAD für einen ersten, zu prüfenden Bewegungsvektor eines Makroblocks, der verarbeitet wird, berechnet, und auf eine minimale SAD, nämlich SADmin im Schritt310 gesetzt. - Nach dem Schritt
310 wird die berechnete SAD mit einem vorbestimmten Schwellenwert TH verglichen, der die Anzahl an Suchpunkten eines vorherigen Rahmens pro Makroblock ist, im Schritt320 . Ist die SAD kleiner als der Schwellenwert TH, so wird im Ergebnis die SAD als die minimale SAD, nämlich SADmin, im Schritt322 bestimmt. Gleichzeitig wird im Schritt324 die Suche nach einem Bewegungsvektor eines momentanen Makroblocks beendet, und wird ein zu prüfender Bewegungsvektor der minimalen SAD, SADmin, als der endgültige Bewegungsvektor des momentanen Makroblocks bestimmt. Dann wird überprüft, ob irgendwelche zu verarbeitende Makroblöcke in dem momentanen Rahmen vorhanden sind, im Schritt330 . Ist noch ein zu verarbeitender Makroblock übrig, kehrt das Verfahren zum Schritt310 zurück, und wird die Bewegung eines Bildes in dem Makroblock im Schritt310 berechnet. Ist dies nicht der Fall, geht das Verfahren zum Schritt340 über, und wird der Schwellenwert TH aktualisiert, entsprechend der Anzahl an Suchpunkten jedes Makroblocks des vorherigen Rahmens, und wird die Bewegung eines nächsten Rahmens auf Grundlage des Schwellenwertes TH berechnet. Weiterhin wird im Schritt340 der Schwellenwert TH unter Verwendung der Formel (THn × Sn)/St aktualisiert, wobei TH einen vorherigen Schwellenwert bezeichnet, Sn die mittlere Anzahl an Suchpunkten jedes Makroblocks des vorherigen Rahmens, und St die Sollanzahl von Suchpunkten pro Makroblock. Die Berechnung des Schwellenwertes TH beruht auf der Tatsache, dass dieser proportional zur Rechenkomplexität einer ME-Einheit ist. Daher wird ein Schwellenwert TH eines n+1-ten Rahmens folgendermaßen berechnet: wobei M die Anzahl an Makroblöcken pro Rahmen bezeichnet, SADmin[i] die minimale SAD eines i-ten Makroblocks für einen n-ten Rahmen bezeichnet, und w eine Konstante bezeichnet. Weiterhin ist im allgemeinen ein Schwellenwert umgekehrt proportional zur mittleren Anzahl an Suchpunkten, nämlich: wobei Sn die ME-Rechenkomplexität in einem n-ten Rahmen bezeichnet. Das Verfahren gemäß3 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung verwendet einen Algorithmus mit einer Gradientenabstiegssuche auf Blockbasis (BBGDS), der von L. -K. Liu und E. Feig vorgeschlagen wurde, "A Block-Based Gradient Descent Search Algorithm for Block Motion Estimation in Video Coding", IEEE Trans. Circ. Syst. For Video Technol., Vol. 6, No. 4, Seiten 419–422, August 1996. Bei der BBGDS ist die Anzahl an Suchpunkten pro Makroblock gleich S, gemäß Gleichung 2. -
- Auf Grundlage der Gleichungen 3 und 4 erhält man folgende Gleichung 5.
- Nach dem Schritt
310 wird im Schritt320 überprüft, ob der Schwellenwert TH größer als die SAD. Ist der Schwellenwert TH kleiner als die SAD, so wird überprüft, ob die SAD kleiner ist als die minimale SAD, SADMIN, im Schritt326 . Ist dies der Fall, so wird im Schritt328 festgestellt, dass es sich bei der SAD um die minimale SAD handelt, nämlich SADMIN. Danach wird, wenn das Vorhandensein eines nächsten, zu prüfenden Bewegungsvektors im Schritt350 überprüft wird, eine SAD entsprechend dem zu prüfenden Bewegungsvektor im Schritt360 berechnet. Dann wird im Schritt320 die berechnete SAD mit dem Schwellenwert TH verglichen. - Daher wird gemäß der vorliegenden Erfindung der Bewegungsvektor für jeden Prüfling in einem Suchbereich durchsucht, zum Einsatz eines Verfahrens zur Berechnung einer bestimmten Hochgeschwindigkeitsbewegung. Ist die SAD entsprechend dem Bewegungsvektor eines bestimmten Prüflings kleiner als der Schwellenwert eines momentanen Rahmens, der auf dem Schwellenwert eines vorherigen Rahmens und der mittleren Anzahl an Suchpunkten pro Makroblock des vorherigen Rahmens beruht, wird nach den Bewegungsvektoren der anderen Prüflinge nicht gesucht, und wird der Bewegungsvektor des verbleibenden Prüflings als der endgültige Bewegungsvektor bestimmt.
-
4 ist ein Flußdiagramm zur Erläuterung eines Verfahrens zum Kodieren eines sich bewegenden Bildes gemäß der vorliegenden Erfindung. In4 werden zuerst eine Sollbewegungsberechnungs-Rechenkomplexität St und eine Soll-DCT-Rechenkomplexität Ct eingestellt, auf Grundlage der gesamten Rechenkomplexität des Kodierers. - Dann wird im Schritt
405 , wenn Videodaten zugeführt werden, die Bewegung eines sich bewegenden Bildes berechnet, durch Aktualisieren eines Schwellenwertes entsprechend der Anzahl an Suchpunkte pro Makroblock jedes Rahmens, Vergleichen des Schwellenwertes mit einer SAD, und Steuern der Suche nach einem Makroblock entsprechend dem Vergleichsergebnis, wie dies in dem Flußdiagramm von3 erläutert wurde. - Nach dem Schritt
405 werden Suchpunktanzahlen pro Makroblock eines n-ten Rahmens, dessen Bewegung berechnet wird, gemittelt, um die ME-Rechenkomplexität S(n) zu berechnen, im Schritt410 . In diesem Fall sind übliche Hochgeschwindigkeitsbewegungsberechnungsverfahren nachteilig in der Hinsicht, dass die Such-Rechenkomplexität pro Makroblock nicht konstant ist. Die üblichen Hochgeschwindigkeitsbewegungsberechnungsverfahren lassen sich in Verfahren, bei denen die Anzahl an Suchpunkten in Suchbereichen nicht gleich ist, beispielsweise ein Verfahren mit Gradientenabstiegssuche auf Blockbasis (BBGDS) und Verfahren unterteilen, bei denen die pro Blockübereinstimmung erforderliche Berechnung wirksam verringert ist, also schnelle vollständige Suchverfahren. Die ME-Rechenkomplexität pro Rahmen kann mit einem der voranstehend geschilderten Verfahren berechnet werden. - Nach dem Schritt
410 wird die ME-Rechenkomplexität S(n) des vorherigen Rahmens von der Soll-ME-Rechenkomplexität St subtrahiert, um eine Differenz zu erhalten, also St – S(n), bezüglich der ME-Rechenkomplexität, im Schritt420 . Anders ausgedrückt wird geprüft, ob eine ME-Rechenkomplexität S(n) des vorherigen Rahmens größer oder kleiner ist als die Soll-ME-Rechenkomplexität St, was auf der Grundlage beruht, dass die ME-Rechenkomplexität kontinuierlicher Rahmen, beispielsweise eines vorherigen Rahmens und eines momentanen Rahmens, ähnlich oder gleich ist. - Nach dem Schritt
420 wird die Differenz St – S(n) zur ursprünglichen Soll-DCT-Rechenkomplexität Ct addiert, um eine aktualisierte Soll-DCT-Rechenkomplexität C't zu erhalten, im Schritt430 . Hierbei geben die Soll-ME-Rechenkomplexität St und die ME-Rechenkomplexität S(n) des vorherigen Rahmens die mittlere Anzahl an Suchpunkten pro Makroblock an, und gibt die Soll-DCT-Rechenkomplexität Ct eine Gesamtanzahl von einer DCT durchführenden Blöcken pro Makroblock an. Danach wird die Differenz St – S(n) einfach nur zur ursprünglichen Soll-DCT-Rechenkomplexität Ct addiert, unter der Annahme, dass die Rechenkomplexität, die zur Verarbeitung eines Suchpunktes verbraucht wird, gleich der 8 × 8-DCT-Rechenkomplexität ist. Ist die Rechenkomplexität, die zur Verarbeitung eines Suchpunktes verbraucht wird, von der 8 × 8-DCT-Rechenkomplexität verschieden, wird die Differenz St – S(n) mit einem ordnungsgemäßen Gewicht w multipliziert, und zur ursprünglichen Soll-DCT-Rechenkomplexität Ct addiert, wodurch erhalten wird w{St – S(n)} + Ct. - Nach dem Schritt
430 wird der Schwellenwert Ton+1 eines momentanen Rahmens, der dazu verwendet wird, zu bestimmen, ob eine DCT bei dem momentanen Rahmen durchgeführt wird oder nicht, auf Grundlage der aktualisierten Soll-DCT-Rechenkomplexität C't eingestellt, im Schritt440 . - Der Schwellenwert Ton+1 des momentanen Rahmens wird folgendermaßen erhalten.
- Die DCT-Komplexität betrifft die Wahrscheinlichkeit, dass eine DCT-Einheit eine DCT bei Videodaten durchführt, und wird durch die Anzahl von einer DCT durchführenden Blöcken bestimmt. Auf Grundlage der Tatsache, dass der Schwellenwert Ton+1 umgekehrt proportional zu einem Schwellenwert und einem Quantisierungskoeffizienten (T. Q.) ist, wird die DCT-Komplexität durch folgende Gleichung ausgedrückt: wobei To einen Schwellenwert bezeichnet, und Q einen Quantisierungskoeffizienten. Im Falle eines n-ten Rahmens wird aus Gleichung 6 folgende Formel erhalten: ν = CnQnTon.
-
-
-
- Gleichung 9 läßt sich auch folgendermaßen schreiben: wobei die Konvergenzgeschwindigkeit des Schwellenwertes Ton+1 von einer Konstanten k abhängt. In Bezug auf Gleichung 10 wird angemerkt, dass der Schwellenwert Ton+1 des momentanen Rahmens mit dem Schwellenwert Ton des vorherigen Rahmens berechnet wird, mit den Quantisierungskoeffizienten Qn und Qn+1, und mit der DCT-Komplexität Cn des vorherigen Rahmens.
- Schließlich wird, wenn die Soll-DCT-Komplexität Ct, die in Gleichung 10 vorhanden ist, auf eine Soll-DCT-Rechenkomplexität Ct' aktualisiert wird, also Ct' = Ct + St – Sn, der Schwellenwert Ton+1 des momentanen Rahmens, der bei der vorliegenden Erfindung eingesetzt wird, folgendermaßen berechnet: wobei Ton den Schwellenwert des vorherigen Rahmens bezeichnet, Qn einen Quantisierungskoeffizienten des vorherigen Rahmens, Qm+1 einen Quantisierungskoeffizienten des vorherigen Rahmens, Cn die DCT-Rechenkomplexität des vorherigen Rahmens, K eine Konstante, und C't eine aktualisierte Soll-DCT-Rechenkomplexität.
- Nach dem Schritt
440 werden die SAD und Quantisierungsparameter Qn+1 pro Block, die jeweils während der ME bzw. der Quantisierung erzeugt werden, mit dem Schwellenwert Ton+1 des momentanen Rahmens im Schritt450 verglichen. - Ist der SAD/Quantisierungsparameter Qn+1 kleiner als der Schwellenwert Ton+1, so wird eine DCT bei dem betreffenden Block nicht durchgeführt, und wird der Block so eingeschränkt, dass er nicht kodiert wird, im Schritt
460 . Ist der SAD/Quantisierungsparameter Qn+1 größer als der Schwellenwert Ton+1, so wird eine DCT bei dem Block im Schritt470 durchgeführt. - Nach dem Schritt
470 wird geprüft, ob das Kodieren eingegebener, sich bewegender Bilder beendet ist, und falls dies nicht der Fall ist, werden die voranstehenden Schritte wiederholt, bis die Kodierung endet, im Schritt480 . - Wie voranstehend geschildert hält gemäß der vorliegenden Erfindung, unter Verwendung eines bestimmten Hochgeschwindigkeitsbewegungsberechnungsverfahrens, die ME-Einheit
280 regelmäßig die ME-Rechenkomplexität fest, durch Einstellung des Schwellenwertes TH jedes Rahmens, während eine Differenz der Rechenkomplexität der ME-Einheit280 bei einem DCT-Sprungmodul eingesetzt wird. Im Ergebnis wird ermöglicht, das Ausmaß der gesamten Berechnung eines Kodierers nahe an der Soll-Rechenkomplexität zu halten, nämlich Ct + St. -
5 ist ein Diagramm, das die Anzahl an Suchpunkten pro Rahmen zeigt, wenn ein Schwellenwert TH unter Verwendung von Gleichung 5 während des Bewegungsberechnungsverfahrens von3 eingestellt wird. In dem Diagramm von5 bezeichnet eine gestrichelte Linie die Verteilung von Suchpunktanzahlen, die erhalten wird, wenn das Bewegungsberechnungsverfahren gemäß der vorliegenden Erfindung durchgeführt wird, und gibt eine durchgezogene Linie die Verteilung der Suchpunktanzahlen an, wenn nicht das Bewegungsberechnungsverfahren gemäß der vorliegenden Erfindung eingesetzt wird. Das Diagramm von5 verdeutlicht, dass es möglich ist, wirksam einen schnellen Anstieg der Anzahlen an Suchpunkten infolge einer plötzlichen Zunahme der Bewegung eines Bildes zu verringern, ohne die Leistung eines Kodierers zu beeinträchtigen. - Die vorliegende Erfindung läßt sich als Computer-lesbarer Code verwirklichen, der von einem Computer-lesbaren Medium ausgeführt werden kann. Hierbei kann das Computer-lesbare Medium jede Aufzeichnungseinrichtung sein, welche Daten speichern kann, die von einem Computersystem gelesen werden können, also beispielsweise ein Nur-Lese-Speicher (ROM), ein Speicher mit wahlfreiem Zugriff (RAM), ein Kompaktdisketten-ROM (CD-ROM), ein Magnetband, eine Floppy-Disk, ein Flash-Speicher, ein optisches Datenspeichergerät, usw. Weiterhin kann beispielsweise das Computer-lesbare Medium auch ein Trägersignal sein, das Daten über das Internet überträgt. Das Computer-lesbare Speichermedium kann entfernt in einem Computersystem installiert sein, das an ein Netzwerk angeschlossen ist, und speichert und führt einen Computer-lesbaren Code durch eine verteilte Berechnungsumgebung aus.
- Wie voranstehend geschildert wird bei einem Bewegungsberechnungsverfahren gemäß der vorliegenden Erfindung die Anzahl an Suchpunkten pro Rahmen dadurch eingestellt, dass adaptiv ein Schwellenwert pro Rahmen aktualisiert wird, wodurch regelmäßig die Rechenkomplexität eines Videokodierers festgehalten wird, unabhängig von den Änderungen eines Bildes. Weiterhin ermöglicht die Verwendung eines DCT-Sprungverfahrens, das unter Berücksichtigung der Rechenkomplexität der Bewegungsberechnung (ME) ausgelegt ist, zusammen mit dem Bewegungsberechnungsverfahren, die regelmäßige Aufrechterhaltung der gesamten Rechenkomplexität der Kodierung, selbst wenn ein Hochgeschwindigkeits-Bewegungsberechnungsverfahren verwendet wird. Daher verringert, wie in
2 gezeigt, ein Videokodierer gemäß der vorliegenden Erfindung zuerst eine Differenz bezüglich der ME-Rechenkomplexität eines Rahmens, und aktualisiert eine Soll-DCT-Rechenkomplexität auf der Grundlage der verringerten Differenz. Daher wird ermöglicht, die Rechenkomplexität des Videokodierers effektiver und regelmäßiger aufrecht zu erhalten als dann, wenn die Soll-DCT-Rechenkomplexität ohne Einstellung der Rechenkomplexität einer Bewegungsberechnungseinheit aktualisiert würde.
Claims (8)
- Verfahren zum Kodieren eines sich bewegenden Bildes, welches Bewegungsvektoren eines sich bewegenden Bildes berechnen kann, wobei das Verfahren umfaßt: (a) Vergleichen (
320 ) einer Summe absoluter Differenzen (SAD) von zu prüfenden Bewegungsvektoren mit einem Schwellenwert, der auf eine Anzahl an Suchpunkten pro Makroblock eines vorherigen Rahmens beruht; (b) vorzeitige Beendigung der Suche (324 ) nach dem Bewegungsvektor des zu prüfenden Makroblocks, falls in (a) bestimmt wird, dass die SAD eines zu prüfenden Bewegungsvektors kleiner ist als der Schwellenwert, und Bestimmung eines zu prüfenden Bewegungsvektors, der eine minimale SAD aufweist, als ein Bewegungsvektor; und (c) Aktualisieren (340 ) des Schwellenwertes, der in (a) verwendet werden soll, in Bezug auf einen nächsten Rahmen, entsprechend der Anzahl an Suchpunkten pro Makroblock eines momentanen Rahmens, wenn die Suche nach dem Bewegungsvektor in (b) endet. - Verfahren nach Anspruch 1, wobei der Schritt (a) weiterhin umfaßt: Vergleichen (
326 ) der SAD des zu prüfenden Bewegungsvektors mit der minimalen SAD, und wenn die SAD des zu prüfenden Bewegungsvektors größer ist als der Schwellenwert; Bestimmen (328 ) der SAD des zu prüfenden Bewegungsvektors als minimale SAD, wenn die SAD kleiner ist als die minimale SAD, und Berechnen (360 ) der SAD eines nächsten, zu prüfenden Bewegungsvektors Beenden der Suche (324 ) nach dem Bewegungsvektor eines momentanen Makroblocks, wenn ein nächster, zu prüfender Bewegungsvektor nicht vorhanden ist, und Bestimmung des zu prüfenden Bewegungsvektors, der die minimale SAD aufweist, als der Bewegungsvektor; und Aktualisieren (340 ) des Schwellenwertes, der bei einem nächsten Rahmen eingesetzt werden soll, entsprechend der Anzahl an Suchpunkten pro Makroblock des momentanen Rahmens, wenn die Suche nach dem zu prüfenden Bewegungsvektor endet. - Verfahren nach Anspruch 1 oder 2, wobei der Schritt des Aktualisierens des Schwellenwertes entsprechend der Anzahl an Suchpunkten pro Makroblock eines Rahmens bestimmt wird, wenn ein nächster Makroblock nicht vorhanden ist.
- Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schwellenwert durch THn proportional zu Sn/St aktualisiert wird, wobei THn einen vorherigen Schwellenwert bezeichnet, Sn die mittlere Anzahl an Suchpunkten pro Makroblock des vorherigen Rahmens, und St eine Sollanzahl an Suchpunkten pro Makroblock ist.
- Verfahren zum Kodieren eines sich bewegenden Bildes mit folgenden Schritten: (a) Vergleichen eines ersten Schwellenwertes, der entsprechend der Anzahl an Suchpunkten pro Makroblock eines vorherigen Rahmens eingestellt wird, mit der SAD des Bewegungsvektors des vorherigen Rahmens, Bestimmen, ob die Suche nach dem Makroblock endet oder nicht, entsprechend dem Vergleichsergebnis, und Berechnen der Bewegung eines sich bewegenden Bildes auf der Grundlage des Ergebnisses der Bestimmung; (b) Berechnen (
410 ) der Rechenkomplexität der Bewegungsberechnung (ME), die in (a) berechnet wurde, um eine Differenz zwischen der ME-Rechenkomplexität und einer Soll-Rechenkomplexität zu erhalten; (c) Aktualisieren (430 ) einer Soll-Komplexität für die diskrete Kosinustransformation (DCT) auf Grundlage der Differenz zwischen der ME-Rechenkomplexität und einer Soll-Rechenkomplexität, und Einstellen (440 ) eines zweiten Schwellenwertes auf Grundlage der aktualisierten Soll-DCT-Komplexität, um zu bestimmen, ob die Durchführung einer DCT bei Videodaten übersprungen werden soll; und (d) Überspringen (460 ) der Durchführung eines DCT-Prozesses, so dass dieser Rahmen nicht codiert wird, oder Durchführen (470 ) eines DCT-Prozesses bei Videodaten eines momentanen Rahmens, entsprechend dem in (c) eingestellten zweiten Schwellenwert. - Verfahren nach Anspruch 5, wobei die ME-Rechenkomplexität durch Berechnen der Anzahl an Suchpunkten pro Makroblock erhalten wird.
- Verfahren nach Anspruch 5 oder 6, wobei in Schritt (c) die Soll-DCT-Rechenkomplexität durch Addieren der Differenz zwischen Soll-ME-Rechenkomplexität (St) und ME-Rechenkomplexität S(n) aktualisiert wird.
- Einrichtung zum Kodieren eines sich bewegenden Bildes, wobei die Einrichtung umfasst: eine Einheit (
220 ) für diskrete Kosinustransformation (DCT) zur Durchführung einer DCT bei eingegebenen Videodaten blockweise; ein Quantisierer (230 ) zum Quantisieren der Videodaten, bei denen eine DCT von der DCT-Einheit durchgeführt wird; eine Bewegungsberechnungseinheit (ME-Einheit) (280 ) zum Aktualisieren eines Schwellenwertes TH entsprechend der mittleren Anzahl an Suchpunkten pro Makroblock eines vorherigen Rahmens, zum Vergleichen des Schwellenwertes mit einer SAD pro Makroblock, und zur Berechnung eines Bewegungsvektors eines momentanen Rahmens; ein DCT-Rechenkomplexitätsberechner (284 ) zur Berechnung der Rechenkomplexität entsprechend der Anzahl an Suchpunkten pro Makroblock entsprechend dem Schwellenwert pro Rahmen, der von der ME-Einheit aktualisiert wird, zur Berechnung einer Differenz zwischen der berechneten Rechenkomplexität und einer Soll-ME-Rechenkomplexität, und zum Aktualisieren einer Soll-DCT-Rechenkomplexität auf Grundlage der berechneten ME-Rechenkomplexität; und eine DCT-Sprungeinheit (290 ) zur Einstellung eines Schwellenwertes, um zu bestimmen, ob die Durchführung einer DCT bei den Videodaten übersprungen werden soll, auf Grundlage der Soll-DCT-Rechenkomplexität, die von dem DCT-Rechenkompiexitätsberechner (284 ) aktualisiert wird, auf Grundlage der DCT-Sprungeinheit (290 ) zum Vergleichen der SAD pro Block, erzeugt von der ME-Einheit (280 ), und eines Quantisierungsparameters, der von dem Quantisierer (230 ) mit dem Schwellenwert erzeugt wird, und zur Bestimmung, ob der DCT-Einheit (220 ) die Durchführung einer DCT bei den Videodaten gestattet wird oder nicht.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2002-9287 | 2002-02-21 | ||
KR20020009287A KR100833228B1 (ko) | 2002-02-21 | 2002-02-21 | 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10253380A1 DE10253380A1 (de) | 2003-09-11 |
DE10253380B4 true DE10253380B4 (de) | 2008-08-14 |
Family
ID=27725806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002153380 Expired - Fee Related DE10253380B4 (de) | 2002-02-21 | 2002-11-15 | Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität |
Country Status (5)
Country | Link |
---|---|
US (1) | US7177359B2 (de) |
JP (1) | JP3854933B2 (de) |
KR (1) | KR100833228B1 (de) |
CN (1) | CN1270543C (de) |
DE (1) | DE10253380B4 (de) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100846769B1 (ko) * | 2002-02-19 | 2008-07-16 | 삼성전자주식회사 | 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 |
US7742525B1 (en) * | 2002-07-14 | 2010-06-22 | Apple Inc. | Adaptive motion estimation |
KR20040013325A (ko) * | 2002-08-05 | 2004-02-14 | 엘지전자 주식회사 | 동영상 압축방법 |
GB0229354D0 (en) * | 2002-12-18 | 2003-01-22 | Robert Gordon The University | Video encoding |
JP3715283B2 (ja) * | 2003-02-04 | 2005-11-09 | 株式会社半導体理工学研究センター | 動画像の画像圧縮符号化方法及び装置 |
FR2850966B1 (fr) | 2003-02-10 | 2005-03-18 | Rhodia Polyamide Intermediates | Procede de fabrication de composes dinitriles |
FR2854891B1 (fr) | 2003-05-12 | 2006-07-07 | Rhodia Polyamide Intermediates | Procede de preparation de dinitriles |
US9351013B2 (en) * | 2003-11-13 | 2016-05-24 | Qualcomm Incorporated | Selective and/or scalable complexity control for video codecs |
KR20050061762A (ko) * | 2003-12-18 | 2005-06-23 | 학교법인 대양학원 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
CN1309258C (zh) * | 2003-12-19 | 2007-04-04 | 联想(北京)有限公司 | 一种应用于实时传输的无损图像压缩方法 |
US8111752B2 (en) * | 2004-06-27 | 2012-02-07 | Apple Inc. | Encoding mode pruning during video encoding |
US20050286777A1 (en) * | 2004-06-27 | 2005-12-29 | Roger Kumar | Encoding and decoding images |
US7792188B2 (en) | 2004-06-27 | 2010-09-07 | Apple Inc. | Selecting encoding types and predictive modes for encoding video data |
US20060002471A1 (en) * | 2004-06-30 | 2006-01-05 | Lippincott Louis A | Motion estimation unit |
KR100579890B1 (ko) * | 2004-12-30 | 2006-05-15 | 삼성전자주식회사 | 움직임 적응적 영상처리 장치 및 그 방법 |
CN1319384C (zh) * | 2005-01-27 | 2007-05-30 | 浙江大学 | 硬件计算能力资源在运动估计中的优化分配方法 |
JP4134128B2 (ja) * | 2005-09-26 | 2008-08-13 | 富士通株式会社 | エンコード可否判定装置、エンコード可否判定方法およびエンコード可否判定プログラム |
EP1948591A1 (de) | 2005-10-18 | 2008-07-30 | INVISTA Technologies S.à.r.l. | Verfahren zur herstellung von 3-aminopentannitril |
GB2431790B (en) * | 2005-10-27 | 2010-11-10 | Sony Uk Ltd | Data processing apparatus and method |
SK50822008A3 (sk) | 2006-03-17 | 2009-11-05 | Invista Technologies S. A. R. L. | Spôsob purifikácie triorganofositov ošetrením bázickým aditívom |
US20070237233A1 (en) * | 2006-04-10 | 2007-10-11 | Anthony Mark Jones | Motion compensation in digital video |
US8077775B2 (en) * | 2006-05-12 | 2011-12-13 | Freescale Semiconductor, Inc. | System and method of adaptive rate control for a video encoder |
US8358693B2 (en) | 2006-07-14 | 2013-01-22 | Microsoft Corporation | Encoding visual data with computation scheduling and allocation |
US7919646B2 (en) | 2006-07-14 | 2011-04-05 | Invista North America S.A R.L. | Hydrocyanation of 2-pentenenitrile |
US8311102B2 (en) * | 2006-07-26 | 2012-11-13 | Microsoft Corporation | Bitstream switching in multiple bit-rate video streaming environments |
US8340193B2 (en) * | 2006-08-04 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv and wavelet video coding |
US7388521B2 (en) * | 2006-10-02 | 2008-06-17 | Microsoft Corporation | Request bits estimation for a Wyner-Ziv codec |
US7751631B2 (en) * | 2006-12-22 | 2010-07-06 | Sony Corporation | Bypass using sum of absolute transformed differences value (SATD) in a video coding process |
JP4893471B2 (ja) * | 2007-05-24 | 2012-03-07 | カシオ計算機株式会社 | 画像処理装置及びプログラム |
US8340192B2 (en) * | 2007-05-25 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv coding with multiple side information |
US8101790B2 (en) | 2007-06-13 | 2012-01-24 | Invista North America S.A.R.L. | Process for improving adiponitrile quality |
US8295342B2 (en) * | 2007-11-14 | 2012-10-23 | International Business Machines Corporation | Method and system for efficient video compression with low-complexity encoder |
EP2229354B1 (de) | 2008-01-15 | 2013-03-20 | Invista Technologies S.à.r.l. | Verfahren zur herstellung und verfeinerung von 3-pentennitril und zur verfeinerung von 2-methyl-3-butennitril |
EP2229353B1 (de) | 2008-01-15 | 2018-01-03 | INVISTA Textiles (U.K.) Limited | Hydrocyanierung von pentennitrilen |
KR100949917B1 (ko) * | 2008-05-28 | 2010-03-30 | 한국산업기술대학교산학협력단 | 적응적 인트라 예측을 통한 고속 부호화 방법 및 시스템 |
CN102177122B (zh) | 2008-10-14 | 2013-12-11 | 因温斯特技术公司 | 用于制备2-仲烷基-4,5-二-(正烷基)苯酚的方法 |
KR101441903B1 (ko) * | 2008-10-16 | 2014-09-24 | 에스케이텔레콤 주식회사 | 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
WO2010064396A1 (ja) * | 2008-12-03 | 2010-06-10 | 株式会社日立製作所 | 動画像復号化方法および動画像符号化方法 |
EP2462103A4 (de) | 2009-08-07 | 2014-01-08 | Invista Tech Sarl | Hydrierung und veresterung zur formung von diestern |
KR20110015356A (ko) * | 2009-08-07 | 2011-02-15 | 한국전자통신연구원 | 차분 신호의 특성에 기반한 적응적인 변환 부호화/양자화 영역을 이용한 동영상 부호화/복호화 장치 및 그 방법 |
US8848799B2 (en) * | 2009-09-02 | 2014-09-30 | Sony Computer Entertainment Inc. | Utilizing thresholds and early termination to achieve fast motion estimation in a video encoder |
US9124898B2 (en) * | 2010-07-12 | 2015-09-01 | Mediatek Inc. | Method and apparatus of temporal motion vector prediction |
US11245912B2 (en) * | 2011-07-12 | 2022-02-08 | Texas Instruments Incorporated | Fast motion estimation for hierarchical coding structures |
CN107820082B9 (zh) * | 2011-10-18 | 2021-07-20 | 株式会社Kt | 视频信号解码方法 |
KR101471599B1 (ko) * | 2013-05-16 | 2014-12-11 | 부경대학교 산학협력단 | 문턱치값을 이용한 모션 벡터 예측 방법 |
KR20160147388A (ko) * | 2015-06-15 | 2016-12-23 | 한국전자통신연구원 | 움직임 추정 장치 및 방법 |
KR102401851B1 (ko) * | 2017-06-14 | 2022-05-26 | 삼성디스플레이 주식회사 | 영상 압축 방법 및 이를 수행하는 표시 장치 |
US10924744B2 (en) * | 2017-11-17 | 2021-02-16 | Intel Corporation | Selective coding |
US10382245B1 (en) * | 2018-06-27 | 2019-08-13 | Rohde & Schwarz Gmbh & Co. Kg | Method for compressing IQ measurement data |
EP3648059B1 (de) * | 2018-10-29 | 2021-02-24 | Axis AB | Videoverarbeitungsvorrichtung und verfahren zum bestimmen von bewegungsmetadaten für ein codiertes video |
CN110267047B (zh) * | 2019-06-28 | 2021-06-29 | 苏州浪潮智能科技有限公司 | 视频帧间运动估计方法、装置、设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10253383A1 (de) * | 2002-02-19 | 2003-09-04 | Samsung Electronics Co Ltd | Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2810528B2 (ja) | 1990-11-14 | 1998-10-15 | シャープ株式会社 | 動き補償フレーム間予測符号化における動きベクトルの探索回路 |
JPH06189291A (ja) | 1992-12-21 | 1994-07-08 | Sharp Corp | 画像の動き検出装置 |
US5497338A (en) * | 1993-04-09 | 1996-03-05 | Sharp Kabushiki Kaisha | Motion vector detecting circuit |
JPH07107484A (ja) | 1993-10-01 | 1995-04-21 | Mitsubishi Electric Corp | 画像伝送装置 |
US5537338A (en) * | 1993-11-24 | 1996-07-16 | Intel Corporation | Process and apparatus for bitwise tracking in a byte-based computer system |
JPH07162864A (ja) | 1993-12-08 | 1995-06-23 | Ricoh Co Ltd | 動きベクトル検出方法 |
US5832234A (en) * | 1995-09-29 | 1998-11-03 | Intel Corporation | Encoding images using block-based macroblock-level statistics |
JPH10271514A (ja) * | 1997-03-23 | 1998-10-09 | Tadayoshi Enomoto | 動画像情報の信号処理方法及びその装置 |
US6091777A (en) * | 1997-09-18 | 2000-07-18 | Cubic Video Technologies, Inc. | Continuously adaptive digital video compression system and method for a web streamer |
US6014181A (en) * | 1997-10-13 | 2000-01-11 | Sharp Laboratories Of America, Inc. | Adaptive step-size motion estimation based on statistical sum of absolute differences |
JP2001036908A (ja) * | 1999-07-15 | 2001-02-09 | Oki Electric Ind Co Ltd | 動画像圧縮装置 |
JP3757088B2 (ja) * | 1999-10-26 | 2006-03-22 | 日本電気株式会社 | 動画像符号化装置および方法 |
JP2001145109A (ja) | 1999-11-11 | 2001-05-25 | Nec Corp | 動きベクトル検出装置 |
EP1189169A1 (de) * | 2000-09-07 | 2002-03-20 | STMicroelectronics S.r.l. | Eine VLSI Architektur, insbesondere für Bewegungsbestimmunsapplikationen |
KR100727910B1 (ko) * | 2000-10-11 | 2007-06-13 | 삼성전자주식회사 | 하이브리드형 고속 움직임 추정 방법 및 그 장치 |
KR20040007818A (ko) * | 2002-07-11 | 2004-01-28 | 삼성전자주식회사 | 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 |
-
2002
- 2002-02-21 KR KR20020009287A patent/KR100833228B1/ko not_active IP Right Cessation
- 2002-11-13 CN CNB021505527A patent/CN1270543C/zh not_active Expired - Fee Related
- 2002-11-15 DE DE2002153380 patent/DE10253380B4/de not_active Expired - Fee Related
- 2002-12-20 US US10/323,745 patent/US7177359B2/en not_active Expired - Lifetime
-
2003
- 2003-02-19 JP JP2003041535A patent/JP3854933B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10253383A1 (de) * | 2002-02-19 | 2003-09-04 | Samsung Electronics Co Ltd | Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität |
Non-Patent Citations (3)
Title |
---|
KIM, J.-N.; CHOI, T.-S.: A Fast Motion Estimation for Software based Real-Time Video Coding. In: IEEE Trans. on Consumer Electronics, 1999, Vol.45, No. 2, S. 417-426 * |
LIU, L.-K.; FEIG, E.: A Block-Based Gradient Des- cent Search Algorithm for Block Motion Estimation in Video Coding. In: IEEE Trans. Circ. Syst. for Video Technol., 1996, Vol. 6, No. 4, S. 419-422 |
LIU, L.-K.; FEIG, E.: A Block-Based Gradient Descent Search Algorithm for Block Motion Estimation in Video Coding. In: IEEE Trans. Circ. Syst. for Video Technol., 1996, Vol. 6, No. 4, S. 419-422 * |
Also Published As
Publication number | Publication date |
---|---|
US7177359B2 (en) | 2007-02-13 |
DE10253380A1 (de) | 2003-09-11 |
JP3854933B2 (ja) | 2006-12-06 |
CN1440204A (zh) | 2003-09-03 |
US20030156644A1 (en) | 2003-08-21 |
KR100833228B1 (ko) | 2008-05-28 |
KR20030070231A (ko) | 2003-08-29 |
CN1270543C (zh) | 2006-08-16 |
JP2003274417A (ja) | 2003-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10253380B4 (de) | Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität | |
DE10253383B4 (de) | Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität | |
DE69637335T2 (de) | Bildsignalkodierungsmethode und -vorrichtung | |
DE69635369T2 (de) | Videokodierungsvorrichtung | |
DE10300048B4 (de) | Verfahren und Vorrichtung zur Bildcodierung und -decodierung | |
DE69521238T2 (de) | Bilddatenquantisierung in Bildkomprimierung | |
DE69524141T2 (de) | Adaptiver Bildkodierer mit dynamischer Bitzuteilung | |
EP1087625B1 (de) | Digitales Transcodiersystem | |
EP0817496B1 (de) | Verfahren und Anordnung zur Reduktion von Blockartefakten in codierten Bildern | |
DE68927960T2 (de) | Bildsignal-, Kodier- und Dekodiervorrichtung | |
DE69837003T2 (de) | Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem | |
DE60026241T2 (de) | Umschalten zwischen bitratenreduzierten Signalen | |
DE69915277T2 (de) | Verfahren und vorrichtung zur reduzierung von breathing-artefakten in komprimierten videodaten | |
DE69323523T2 (de) | Einrichtung zur Kodierung von digitalen bilddarstellenden Signalen und entsprechende Dekodierungseinrichtung | |
DE69801339T2 (de) | Verfahren und vorrichtung zur bestimmung der bit-ordnung in einem videokompressionssystem | |
DE69935564T2 (de) | Kodiervorrichtung und -verfahren | |
EP2222086A1 (de) | Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation | |
DE102019103346A1 (de) | Ssim-basierte rate-distortion-optimierung für eine verbesserte wahrnehmbare qualität bei videos | |
DE69712836T2 (de) | Vorrichtung und verfahren zur videosignalkodierung | |
DE602004001993T2 (de) | Transformations basiertes restbewegungsrahmen kodierungsverfahren mit übervollständiger basis und zugehörige vorrichtung zur videokompression | |
DE19541457C1 (de) | Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz | |
DE69610595T2 (de) | Kontrollverfahren der Codemenge für kodierte Bilder | |
DE69309732T2 (de) | Verfahren und Vorrichtung ein Bild zu komprimieren und zu dekomprimieren | |
DE60315125T2 (de) | Auf Bewegungskompensation basierendes Verfahren und Vorrichtung zur Rauschabschätzung | |
DE60214835T2 (de) | Videokodierungsverfahren und -vorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04N0007320000 Ipc: H04N0019500000 |