DE10113880A1 - Verfahren zur Komprimierung und Dekomprimierung von Videodaten - Google Patents
Verfahren zur Komprimierung und Dekomprimierung von VideodatenInfo
- Publication number
- DE10113880A1 DE10113880A1 DE10113880A DE10113880A DE10113880A1 DE 10113880 A1 DE10113880 A1 DE 10113880A1 DE 10113880 A DE10113880 A DE 10113880A DE 10113880 A DE10113880 A DE 10113880A DE 10113880 A1 DE10113880 A1 DE 10113880A1
- Authority
- DE
- Germany
- Prior art keywords
- pixel
- pixels
- priority
- image
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000007906 compression Methods 0.000 claims description 17
- 230000006835 compression Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 9
- 238000003491 array Methods 0.000 claims description 6
- 230000033001 locomotion Effects 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000003384 imaging method Methods 0.000 claims 1
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 10
- 238000012913 prioritisation Methods 0.000 description 10
- 230000006837 decompression Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- JLGLQAWTXXGVEM-UHFFFAOYSA-N triethylene glycol monomethyl ether Chemical compound COCCOCCOCCO JLGLQAWTXXGVEM-UHFFFAOYSA-N 0.000 description 3
- 241000404236 Zizina otis Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000003945 visual behavior 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/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
-
- 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/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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/39—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
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)
- Color Television Systems (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur Komprimierung und Dekomprimierung von Videodaten, die aus einem Array einzelner Bildpunkte (Pixel) bestehen, wobei jedes Pixel einen sich zeitlich verändernden Pixelwert aufweist, der Farb- oder Helligkeitsinformation des Pixels beschreibt. Erfindungsgemäß wird jedem Pixel eine Priorität zugeordnet und die Pixel entsprechend ihrer Priorisierung in einem Prioritätenarray abgelegt. Dieses Array enthält zu jedem Zeitpunkt die nach der Priorisierung sortierten Pixelwerte. Entsprechend der Priorisierung werden diese Pixel und die für die Berechnung der Priorisierung benutzten Pixelwerte übertragen bzw. abgespeichert. Ein Pixel bekommt eine hohe Priorität, wenn die Unterschiede zu seinem benachbarten Pixel sehr groß sind. Zur Rekonstruktion werden die jeweils aktuellen Pixelwerte auf dem Display dargestellt. Die noch nicht übertragenden Pixel werden aus den schon übertragenden Pixeln berechnet.
Description
Die Erfindung beschreibt ein Verfahren zur Komprimierung und
Dekomprimierung von Videodaten
Videos erzeugen große Datenmengen. Um diese Datenmengen effektiv zu
übertragen und abzuspeichern, ist es sinnvoll diese zu komprimieren.
Nach der heutigen Stand der Technik werden Videosignale in einer schnellen
Abfolge von Einzelbildern aufgenommen und wiedergegeben. Beim Fernsehen
(PAL-Norm) sind dies 25 Bilder pro Sekunde, bzw. 50 Halbbilder. Bei digitalen
Aufnahmen sind das bis ca. 30 Bilder pro Sekunden. Jedes Bild wird in Zeilen
zerlegt, und zunächst sequentiell übertragen.
Bisherige Komprimierungsmethoden basieren im wesentlichen auf der
Reduzierung der Auflösung, der Farbtiefe und der Verringerung der Anzahl der
Bilder pro Sekunde. Bei der digitalen Kompression, z. B. den MPEG-Verfahren,
werden anstelle von kompletten Bildern im wesentlichen die Differenzbilder,
d. h. die Unterschiede der einzelnen Bildpunkte (Pixel) im Vergleich zum
vorherigen Bild, anstelle der Komplettbilder übertragen. Der neueste Standart
für Videokodierung ist MPEG4.
MPEG ist die Abkürzung für "Motion Pictures Expert Group". Von dieser Gruppe
wurden bzw. werden Dateiformate und Verfahren zum platzsparenden
Komprimieren und Speichern von Video- bzw. Multimediadaten (Video, Bild-
und Tondaten) in hoher Qualität festlegt. Der MPEG-Standard unterteilt sich
inzwischen in MPEG-1, MPEG-2, MPEG-3 und MPEG-4, wobei der MPEG-3-
Standard mittlerweile in MPEG-2 integriert wurde.
Um die riesige Datenmenge von Filmen mit "normalen" Computern verarbeiten
und transportieren zu können, werden nur die Veränderungen zum
Vorgängerbild abgespeichert. Das MPEG-Format speichert in regelmäßigen
Abständen von typischerweise zwölf Bildern sogenannte Intra-Frames ab; das
sind JPEG-komprimierte Einzelbilder. Die Bilder zwischen diesen I-Frames
werden nach Möglichkeit nicht komplett abgelegt. Vielmehr speichert MPEG,
wie man sie durch Verschieben von Teilen aus vorangehenden oder
nachfolgenden Bildern zurückgewinnen kann. Dazu werden auch
vorausschauende "Predicted Frames" und "B-Frames" (Bi-directionale Frames)
verwendet. Da das aber nie perfekt klappt, werden zusätzlich pro Bild die
verbleibende Abweichung noch JPEG-kodiert abgespeichert. Mit dieser
Methode lässt sich der Datenaufwand für einen Video-Film um etwa 99%
verringern. Die mögliche Kompression geht bis 200 : 1.
MPEG-1 wurde für flüssige Video-Wiedergaben entworfen. Die MPEG-1-
Komprimierung bzw. Dekomprimierung war ursprünglich ein
hardwareabhängiges Verfahren. Es ist allerdings mittlerweile, dank der
schnellen Prozessoren, auch ein Softwaredekomprimieren möglich.
Der wesentliche Unterschied zwischen MPEG-1 und MPEG-2 besteht darin,
daß MPEG-2 besser mit dem beim Fernsehen eingesetzten
Zeilensprungverfahren (Interlace) umgehen kann. Das Geheimnis von MPEG-2
liegt in der Kompression auf höchster Qualitätsstufe, so daß Filmmaterial
nahezu 1 zu 1 in Studioqualität bearbeitet und editiert werden kann.
Konsequenterweise etablierte sich MPEG-2 zu einem Standard. Bei einer
reinen I-Framecodierung lässt sich MPEG-2 sogar im Schnittbetrieb einsetzen.
Der Teil des MPEG-3-Standard, der für High Definition TV-Qualität
(HDTV) vorgesehen war, wurde mittlerweile in den MPEG-2-Standard
implementiert.
MPEG-4 ist eine Weiterentwicklung des MPEG-2-Formats und befindet sich seit
1996 in der Entwicklung. Obwohl MPEG-4 ursprünglich als ein
Codierungsstandard für audiovisuelle Daten mit sehr niedriger Bitrate gedacht
war, diente die Entwicklung weit mehr Zwecken als lediglich dem Streaming von
linearen Mediendaten bei Internet- und drahtlosen Anwendungen. MPEG-4
stellt z. B. effiziente Mechanismen zur Komprimierung und Distribution
interaktiver Medieninhalte bereit. Außerdem verfügt MPEG-4 über 3D-
Potentiale, um künstliche Intelligenzen zu visualisieren oder Avantare
darzustellen, z. B. im Rahmen von Videokonferenzen.
Die Kompressionsrate ist bei MPEG-4 höher als bei MPEG-2, wobei "Sprites"
besser komprimiert werden können, weil dem Codier-Mechanismus dafür
wesentlich mehr Zeit zur Verfügung steht. Eventuell kann dabei sogar auf
Wavelets umgeschaltet werden. Die Skriptsprache ermöglicht es, in wenigen
Bytes Operationen wie "verschieben" wesentlich schneller durchzuführen, als
es die digitalisierte komprimierte Form der gleichen Operation ermöglichen
würde. Mit Hilfe dieser "Sprites" können beliebig konturierte Standbilder über
sich bewegende Bilder geschoben werden.
Die Aufgabe der Erfindung liegt in der Schaffung eines Verfahrens zur
Komprimierung von Videodaten, welches eine einfache und flexible Anpassung
an unterschiedliche Übertragungsraten bzw. -bandbreite, Bildauflösungen und
Displaygrößen erlaubt.
Diese Aufgabe wird durch die Merkmale des Patentanspruchs 1 gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind in den
Unteransprüchen angegeben.
Vorzugsweise erfolgt eine parallele Verarbeitung der Videoinformationen im
Videoaufnahmechip. Die parallele Verarbeitung dient dem Zweck, zunächst die
wichtigsten Pixel zu ermitteln und diese entsprechend einer Priorisierung in ein
Prioritätenarray abzulegen. Dieses Array enthält zu jedem Zeitpunkt, die nach
der Priorisierung sortierten Pixelwerte. Entsprechend der Priorisierung werden
diese Pixel, und die für die Berechnung der Priorisierung benutzten Pixelwerte,
übertragen bzw. abgespeichert. Ein Pixel bekommt eine hohe Priorität, wenn
die Unterschiede zu seinen benachbarten Pixel sehr groß sind.
Zur Rekonstruktion werden die jeweils aktuellen Pixelwerte auf dem Display
dargestellt. Die noch nicht übertragenden Pixel werden aus den schon
übertragenden Pixel berechnet.
Entsprechend der Rechenleistung, der Übertragungsbandbreite und der Größe
des Displays können unterschiedliche Verfahren zur Berechnung der noch nicht
übertragenen Pixel eingesetzt werden. Steht eine sehr große Bandbreite zur
Verfügung kann eine einfache lineare Interpolation durchgeführt werden. Steht
nur eine sehr kleine Bandbreite zur Verfügung, kann dies bei der Übertragung
der priorisierten Pixel berücksichtigt werden.
Durch den Historienverlauf der übertragenden Pixel können Objekte
identifiziert, und damit eine Bewegungsabschätzung dieser Objekte
durchgeführt werden.
Der Grundgedanke des Verfahrens basiert auf der priorisierten
Pixelspeicherung bzw. Übertragung. Bei der Abspeicherung bzw. der
Videoübertragung müssen ferner die zeitlichen und positionellen (innerhalb des
Bildarrays) Abhängigkeiten der einzelnen Pixel oder in Pixelgruppen
zusammengefassten Pixel berücksichtigt werden.
Um eine extreme hohe Datenkompression zu erzielen werden jeweils die
Pixelgruppen übertragen, die die höchste Priorität haben, und bisher noch nicht
übertragen worden sind. Die Flächen, d. h. die Pixelwerte zwischen den schon
übertragenden Pixelgruppen werden aus den schon übertragenden
Pixelgruppen berechnet, z. B. durch Interpolation. Bei höherer Auflösung
(größeres Bildarray) steigt der erreichbare Kompressionsfaktor, da bei
natürlichen Aufnahmen größere Flächen meist einen gut vorhersagbaren
(gleichmäßigen) Farbverlauf haben, z. B. blauer Himmel.
Zu beachten ist auch, dass jeweils die exakten Pixelwerte übertragen werden.
Falls erforderlich erlaubt dies Verfahren eine verlustfreie Übertragung der
Videoinformationen.
Die Widerherstellung bzw. Rekonstruktion der Videodaten beruht auf
Abschätzungen ähnlich des menschlichen Sehverhaltens. Der Mensch nimmt
Reize war, aber die Interpretation was er auf diesem Bild erkennt, findet erst in
seinem Gehirn statt. Die Reize entsprechen den übertragenen Pixelgruppen,
die Interpretation entspricht dem Ausfüllen der Flächen zwischen den noch
nicht übertragenen Pixelgruppen.
Um dieses zu realisieren, können zusätzliche Arrays angelegt werden. Dies
sind unter anderem ein Array in welchem die Information vorhanden ist, aus
welchen Pixelgruppen der Pixelwert an der aktuellen Position ermittelt wurde.
Weitere Informationen können sein, wann diese Werte berechnet worden sind,
aus welchen Pixelgruppen diese berechnet bzw. übertragen worden sind. Auch
eine Einschätzung über die Genauigkeit der Werte (z. B. Berechnung aus direkt
benachbarten Pixel, geringe Varianz der zur Berechnung zugrunde liegenden
Pixel) kann als zusätzliche Information ausgewertet werden.
Das beschriebene Verfahren erlaubt eine wesentlich einfachere Anpassung des
Videodatenstroms an unterschiedliche Displaygrößen und Bildauflösungen.
Ein weitere Vorteil ist, dass durch die beschriebene Art der Kodierung des
Videos nicht automatisch festgelegt wird, mit welchen Algorithmen das Video
dekodiert werden muss. Dies wird durch Übertragung der priorisierten
Pixelwerte erreicht, die entgegen bei anderen Verfahren keine Mittelwertbildung
erfahren. Hersteller haben damit die Möglichkeit Low bis High Cost Endgeräte
zu entwickeln und sich durch unterschiedliche Algorithmen vom
Mitkonkurrenten hervorzuheben.
Die angestrebte massiv-parallele Verarbeitung der Videodaten in einem speziell
dafür entwickelten Chip erlaubt es, extrem niedrigen Taktraten zu verwenden,
was sich günstig auf den Stromverbrauch auswirkt.
Durch Priorisierung können bestimmte Bereiche des Videos (z. B. Lippen bei
Nachrichtensprechern) mit einer höheren Priorität und folglich einer besseren
Auflösung übertragen werden.
Das Verfahren erlaubt es, aus dem Datenstrom des Videos für unterschiedliche
Endgeräte die optimalen Teildatenströme herauszufiltern, ohne das dies bei der
Videoaufnahme berücksichtigt werden muss.
Ein Ausführungsbeispiel der Erfindung wird anhand der Zeichnungsfiguren
näher erläutert. Aus den Zeichnungen und deren Beschreibung ergeben sich
weitere Merkmale, Vorteile und Anwendungsmöglichkeiten der Erfindung. Es
zeigt:
Fig. 1 Darstellung eines Bildarrays aus 20 × 21 Pixeln;
Fig. 2 Darstellung verschiedener Formen von Pixelgruppen;
Fig. 3 Bildarray mit bewegtem Objekt zu einem Zeitpunkt t1;
Fig. 4 Bildarray mit bewegtem Objekt zu einem Zeitpunkt t2;
Fig. 5 Bildarray mit bewegtem Objekt zu einem Zeitpunkt t3;
Fig. 6 Neu generiertes Bildarray mit eingefügten Pixelgruppen in der
Bildecke;
Fig. 7 Ausfüllen der Flächen zwischen den bereits eingefügten
Pixelgruppen;
Fig. 8 Einfügen weitere Pixelgruppen und Ausfüllen der
dazwischenliegenden Flächen.
Nachfolgend wird anhand eines exemplarischen Beispiels eine Komprimierung .
und Dekomprimierung eines Videosignals beschrieben.
Folgende Annahmen werden getroffen:
Als Videoquelle steht ein derzeit übliches Videosignal zur Verfügung (z. B. PAL oder NTSC). Die Videoinformation kann mit einer handelsüblichen elektronischen Einrichtung (z. B. Framegrabber-Karte) ausgelesen werden. Zur Veranschaulichung des Verfahrens wird im folgenden ein minimiertes Bildarray mit einer Breite von 20 Pixel und einer Höhe von 21 Pixel verwendet (Fig. 1). Jedes Pixel des Arrays wird durch einen 32 Bit Wert (Pixelwert) repräsentiert. Die 32 Bit sind z. B. in 4 Werte (Transparent, Rot, Grün, Blau) mit jeweils 8 Bit aufgeteilt. Die Position der Pixel ist durch eine Integer Zahl festgelegt. Das Bildarray wird in der in Fig. 1 gezeigten Weise von 0 bis 419 durchgezählt. Die Zahl innerhalb jedes Kastens entspricht der Position des zugehörigen Pixels. Zwischen der Quelle und Senke besteht eine UDP (User Datagramm Protocol) Verbindung. Über diese werden dann die komprimierten Videodaten geschickt.
Als Videoquelle steht ein derzeit übliches Videosignal zur Verfügung (z. B. PAL oder NTSC). Die Videoinformation kann mit einer handelsüblichen elektronischen Einrichtung (z. B. Framegrabber-Karte) ausgelesen werden. Zur Veranschaulichung des Verfahrens wird im folgenden ein minimiertes Bildarray mit einer Breite von 20 Pixel und einer Höhe von 21 Pixel verwendet (Fig. 1). Jedes Pixel des Arrays wird durch einen 32 Bit Wert (Pixelwert) repräsentiert. Die 32 Bit sind z. B. in 4 Werte (Transparent, Rot, Grün, Blau) mit jeweils 8 Bit aufgeteilt. Die Position der Pixel ist durch eine Integer Zahl festgelegt. Das Bildarray wird in der in Fig. 1 gezeigten Weise von 0 bis 419 durchgezählt. Die Zahl innerhalb jedes Kastens entspricht der Position des zugehörigen Pixels. Zwischen der Quelle und Senke besteht eine UDP (User Datagramm Protocol) Verbindung. Über diese werden dann die komprimierten Videodaten geschickt.
Die Komprimierung des Videosignals erfolgt folgendermaßen:
Das Verfahren beruht darauf, dass ständig eine Priorisierung der einzelnen Pixel des Videosignals erfolgt, wobei die Pixel entsprechend ihrer Priorisierung in ein Array abgelegt werden. Dieses Array enthält zu jedem Zeitpunkt, die aktuellen, nach Priorität sortierten Pixelwerte. Ein Pixel bekommt eine hohe Priorität, wenn die Unterschiede zu seinen benachbarten Pixel sehr groß sind. Das Pixel wird zusammen mit seinen für die Berechnung verwendeten Nachbarpixeln zu einer Pixelgruppe zusammengefasst. Entsprechend der Priorisierung werden diese Pixelgruppen übertragen bzw. abgespeichert.
Das Verfahren beruht darauf, dass ständig eine Priorisierung der einzelnen Pixel des Videosignals erfolgt, wobei die Pixel entsprechend ihrer Priorisierung in ein Array abgelegt werden. Dieses Array enthält zu jedem Zeitpunkt, die aktuellen, nach Priorität sortierten Pixelwerte. Ein Pixel bekommt eine hohe Priorität, wenn die Unterschiede zu seinen benachbarten Pixel sehr groß sind. Das Pixel wird zusammen mit seinen für die Berechnung verwendeten Nachbarpixeln zu einer Pixelgruppe zusammengefasst. Entsprechend der Priorisierung werden diese Pixelgruppen übertragen bzw. abgespeichert.
Der Framegrabber hat zu jedem Zeitpunkt das jeweils aktuelle Bild in seinem
Bildarray das wie in Fig. 1 gezeigt beispielsweise ein 20 × 21 Pixel großes
Bildarray sein kann. Jedes Pixel ist durch seine Position (0 bis 419) und seinen
Pixelwert (Farb- bzw. Helligkeitswert) definiert.
Zuvor wurde festgelegt, welche benachbarten Pixel eine Pixelgruppe bilden. Mit
p0 ist dabei dasjenige Pixel bezeichnet, das die Position der Pixelgruppe angibt
und für das die Priorität berechnet wird. Die relative Position der übrigen Pixel,
z. B. p1-p4, einer Pixelgruppe zum Bezugspixel p0 ergibt sich aus der
verwendeten Art (Form) der Pixelgruppe. In Fig. 2 sind exemplarisch einige
mögliche Formen von Pixelgruppen dargestellt. Es können sowohl zum
Bezugspixel p0 symmetrische als auch unsymmetrische Pixelgruppen gebildet
werden. Welche Art von Pixelgruppe verwendet wird, ist u. a. von der Art des
Bildmaterials und der angestrebten Kompressionsrate abhängig. In der Regel
ist der zu erreichende Kompressionsfaktor umso größer, je mehr Pixel eine
Pixelgruppe umfasst. Zum kodieren und dekodieren, d. h. komprimieren und
dekomprimieren des Videobildes muss die gleiche Form von Pixelgruppen
verwendet werden.
Für jedes Pixel p0 einer Pixelgruppe wird nun die Priorität in Bezug auf dessen
Pixelgruppe berechnet. Dabei wird jedes Pixel 0-419 des Bildes einmal zum
Bezugspixel p0. Dabei ist erfindungsgemäß vorgesehen, dass die Berechnung
der Prioritätswerte der Pixel soweit wie möglich im Rahmen einer parallelen
Datenverarbeitung durchgeführt wird. Optimal ist, wenn die Berechnung der
Prioritäten aller Pixel des Bildes gleichzeitig erfolgt. Das es sich um ein
Videosignal handelt, werden die Prioritätswerte aller Pixel ständig neu
berechnet, da sich der Bildinhalt laufend ändert. Die Vielzahl der Pixelgruppen,
insbesondere die mit niedrigerer Priorisierung, werden sich aber mit einer
hohen Wahrscheinlichkeit nicht ändern.
Zur Berechnung der Priorität kann es verschiedene Rechenmethoden geben.
Exemplarisch wird hier eine lineare Methode verwendet.
Dazu werden die einzelnen Pixelwerte P0, P1, P2, P3 und P4 einer Pixelgruppe
in ihre Farbanteile Rot, Grün und Blau zerlegt. Jeder dieser Farbwerte wird
durch 8 Bit repräsentiert. Für jede Farbe eines jeden Pixels P1-P4 wird nun ein
Farbdifferenzwert in Bezug auf P0 ermittelt,
z. B. P0_rot-P1_rot, P0_rot-P2_rot, . . ., P0_blau-P4_blau. Die absoluten
Farbdifferenzwerte werden addiert und durch die Anzahl der Farben und Anzahl
der betrachteten Pixel geteilt. Das Ergebnis ist ein Prioritätswert für die
betrachtete Pixelgruppe. Dieser Prioritätswert ist umso höher, je
unterschiedlicher die Farbwerte der einzelnen Pixel der Pixelgruppe sind.
Weitere Methoden zur Ermittlung des Prioritätswert sind die Benutzung von
Grauwerten oder der Maximalwert einer Farbdifferenz einer Farbe. Da der
Prioritätswert später selbst nicht übertragen, bzw. abgespeichert wird, hat das
Verfahren zur Ermittlung des Prioritätswert keinen direkten Einfluss auf die
Dekodierung.
Durch diese Priorisierung wird erreicht, dass Bildbereiche, die einen großen
Farb- oder Kontrastwechsel aufweisen, wie z. B. Kanten, eine hohe Priorität
erhalten, und relativ gleichbleibende Bildinhalte, wie z. B. blauer Himmel, eine
Niedrige.
In diesem Schritt werden die Prioritätswerte der Größe nach absteigend
sortiert. Die Sortierung erfolgt nach Ermittlung jedes neuen Prioritätswertes
Für jeden Zeitpunkt besitzt man somit eine nach Prioritäten geordnete Liste von
Pixelgruppen die absteigend sortiert ist. Es ist anzustreben, dass
entsprechende Bildaufnehmer (CCD-Chips) entwickelt werden, welche
unmittelbar eine solche nach Prioritäten geordnete Liste bereitstellen.
Wird das zu komprimierende Bild direkt mit einer CCD Kamera oder einem
Scanner aufgenommen, besteht prinzipiell die Möglichkeit, aus dem in der
Kamera/dem Scanner vorhandenen, bildbearbeitenden Mikrochip direkt ein
nach Prioritäten sortiertes Array zu erhalten. Somit wird beim komprimieren ein
wesentlicher Teil des Rechenaufwandes eingespart.
Im Gegensatz zu Standbildern (z. B. Fotografien) ergibt sich bei
Videoinformationen eine ständig wechselnde Prioritätsänderung der
Pixelgruppen, z. B. bei Kameraschwenk oder bewegten Objekten. Um dies zu
verdeutlichen ist in den Fig. 3 bis 5 ein Videobildarray zu verschiedenen
Zeitpunkten t1 bis t3 dargestellt, wobei sich ein Objekt von rechts nach links
verschiebt.
Gemäß Fig. 2 enthält das Bild zum Zeitpunkt t1 ein Objekt, das die Pixel 156,
157, 176, 177, 191-197, 211-217, 231-237, 256, 257, 276, 277 ausfüllt.
Für die Berechnung der Prioritäten der Pixel (0-419) des Bildes wird die in Fig.
2 dick umrandeten Form der Pixelgruppe (links unten) verwendet.
Es ergibt sich eine Prioritätsverteilung der Pixel, wie sie in der weiteren
Beschreibung des Verfahrens beispielhaft in Tabelle 1 zum Zeitpunkt t1
dargestellt ist. Die Tabelle enthält jeweils nur die Nummer des Bezugspixels
(p0) einer Pixelgruppe. Diejenigen Pixelgruppen, die sich im Randbereich des
Objektes befinden und bei denen das jeweilige Bezugspixel (p0) den größten
Unterschied zu den übrigen Pixeln der Pixelgruppe aufweist, bekommen die
höchste Priorität A. Die Pixelgruppen, deren Bezugspixel einen geringeren
Unterschied zu den übrigen Pixeln der Pixelgruppe aufweisen bekommen eine
mittlere Priorität B und diejenigen Pixelgruppen, deren Bezugspixel gar keinen
Unterschied zu den übrigen Pixeln der Pixelgruppe aufweisen die niedrigste
Priorität C.
Im Rahmen der Komprimierung werden nun zunächst die mit Priorität A
versehenden Pixelgruppen übertragen bzw. abgespeichert, dann die
Pixelgruppen mit Priorität B und schließlich die Pixelgruppen mit der Priorität C.
Da sich das Objekt zwischenzeitlich bewegt und in Bezug zu Fig. 3 in den
Fig. 4 und 5 eine andere Position einnimmt, ändern sich die Prioritäten der
einzelnen Pixelgruppen. Die Prioritätenliste wird aktualisiert und es wird sofort
mit der Übertragung der aktuellen Pixelgruppen mit der höchsten Priorität
fortgefahren.
Die neu berechneten Prioritäten der Pixelgruppen für die Zeitpunkte t2 (Fig. 4)
und t3 (Fig. 5) sind in Tabelle 1 dargestellt.
Somit könnte eine mögliche komprimierte Übertragung eines Videosignals
gemäß Tabelle 1 folgendermaßen aussehen:
Zeitpunkt t1: Pixelgruppen mit der höchsten Priorität A werden übertragen:
175, 255, 231, 191, 156, 157, 277, 276, 177, 197, 217
Zum Zeitpunkt t2 werden neue Prioritäten erkannt. Andere Pixelgruppen erhalten höchste Priorität A. Es wird mit der Übertragung der neuen Priorität A fortgefahren:
189, 173, 154, 155, 274, 275, 253, 229
Danach folgt die Übertragung der Pixelgruppen mit Priorität B:
175, 195, 215, 235, 255, 190, 191, 192, 193, . . .
Zum Zeitpunkt t3 werden wieder neue Prioritäten erkannt. Andere Pixelgruppen erhalten höchste Priorität A. Es wird mit der Übertragung der neuen Priorität A fortgefahren:
187, 171, 227, 251, 152, 153, 272, 273
Zeitpunkt t1: Pixelgruppen mit der höchsten Priorität A werden übertragen:
175, 255, 231, 191, 156, 157, 277, 276, 177, 197, 217
Zum Zeitpunkt t2 werden neue Prioritäten erkannt. Andere Pixelgruppen erhalten höchste Priorität A. Es wird mit der Übertragung der neuen Priorität A fortgefahren:
189, 173, 154, 155, 274, 275, 253, 229
Danach folgt die Übertragung der Pixelgruppen mit Priorität B:
175, 195, 215, 235, 255, 190, 191, 192, 193, . . .
Zum Zeitpunkt t3 werden wieder neue Prioritäten erkannt. Andere Pixelgruppen erhalten höchste Priorität A. Es wird mit der Übertragung der neuen Priorität A fortgefahren:
187, 171, 227, 251, 152, 153, 272, 273
In einem zusätzlichen Array wird überprüft, welche Pixelgruppen bereits
übertragen worden sind. Wurde eine Pixelgruppe schon übertragen, braucht
Sie nicht ein 2tes mal übertragen werden, sofern sich ihre Priorität nicht
zwischenzeitlich geändert hat. Bestimmte Bildregionen, z. B. Gesichter, können
erkannt und bevorzugt übertragen werden. Zusätzlich können von dem
Empfänger auch bestimmte Pixelgruppen angefordert werden (z. B. bei
Erkennung von Übertragungsfehleren durch fehlerhaften CRC Check). Derart
angeforderte Pixelgruppen können dann eine hohe Priorität erhalten, so dass
Sie sofort Übertragen wird.
Die Begriffe "abspeichern" und "übertragen" werden nachfolgend synonym
verwendet. Zunächst werden einige Kenngrößen des Videobildes abgespeichert
bzw. übertragen. Exemplarisch aufgeführt sind das z. B.:
- - Bildbreite (in Pixel)
- - Bildhöhe (in Pixel)
- - Verwendete Form der Pixelgruppe (nicht notwendig wenn nur eine Form standardisiert ist)
Anschließend werden die einzelnen Pixelgruppen entsprechend ihrer Priorität
abgespeichert bzw. übertragen, d. h. Pixelgruppen mit hoher Priorität werden
zuerst gespeichert (und später auch zuerst ausgelesen).
Dazu wird zunächst der Positionswert des Bezugspixels p0 der Pixelgruppe
abgespeichert. Anschließend werden die Pixelwerte P0, P1, P2, P3, P4
abgespeichert.
Positionswert P0, Pixelwerte P0, P1, P2, P3, P4; nächster Positionswert P0 (mit
gleicher oder niedrigerer Priorität), Pixelwerte P0, P1, P2, P3, P4, . . ., nächster
Positionswert P0 (mit geringster Priorität), Pixelwerte P0, P1, P2, P3, P4.
Das Abspeichern kann durch verschiedene Methoden, die hier nur
exemplarisch angesprochen werden, optimiert werden.
Es kann eine Lauflängencodierung der Pixelgruppen vorgenommen werden.
Z. B. wenn in einem Bildbereich keine Rotanteile vorkommen, kann dies anstelle
von 8 Bit (rot) nur mit z. B. 2 Bit übertragen werden, oder es kann die Anzahl
der führenden Nullen ausgenutzt werden.
Ferner können allgemein übliche Komprimierungsmethoden, z. B. Zip-Format,
verwendet werden.
Durch Festlegung eines Grenzwertes für die Priorisierung kann eine bestimmte
Qualität gewährleistet werden. Z. B. kann ein Grenzwert für die
Pixeldifferenzwerte festgelegt werden unterhalb dessen die zugeordnete
Pixelgruppe immer den niedrigsten Prioritätswert bekommt.
Werden zunächst die 4 Pixelgruppen der Eckpunkte übertragen, bekommt man
mit wenigen Pixelgruppen eine größtmögliche Fläche berechnet.
Bei der Rekonstruktion der komprimierten Videodaten wird zunächst ein
Bildarray vergleichbar mit der Darstellung in Fig. 1 erzeugt. Dazu werden die
Kenndaten des Bildes eingelesen und ausgewertet. Exemplarisch sind dies
Bildbreite, Bildhöhe und Form der zur Komprimierung verwendeten
Pixelgruppe. Stimmen die Bildhöhe und Bildbreite zwischen dem Ursprungsbild
und der nun gewünschten Darstellung (z. B. begrenztes PDA Display oder
hochauflösender Bildschirm) nicht überein, muss entsprechend skaliert werden.
Dazu werden zunächst Umrechnungsfaktoren ermittelt (Bildbreite_Orginal/
Bildbreite_Display und Bildhöhe_Orginal/Bildhöhe_Display). Diese Faktoren
können benutzt werden um den Positionswert von dem Originalbild in den
Positionswert des neuen Displays umzurechnen.
Wie in Fig. 6 dargestellt ist, werden entsprechend der Reihenfolge der
priorisierten Pixelgruppen diese nun eingelesen. Beispielsweise werden die
ersten vier Pixelgruppen mit der höchsten Priorität in das Bildarray eingetragen.
In Fig. 6 sind dies die Pixelgruppen an den Ecken des Bildes. Die Position des
Bezugspixels p0 der jeweiligen Pixelgruppe ist durch die schwarz unterlegten
Felder 21, 38, 381 bzw. 398 bestimmt. Dieser Positionswert (p0) liegt als
Integerwert in der abgespeicherten Datei vor. Anschließend können die zur
jeweiligen Pixelgruppe gehörenden, dunkelgrau grau unterlegten Pixelwerte
(p1-p4) in das neue Bildarray eingetragen werden. Die dazwischen liegenden,
hellgrau markierten Pixelwerte lassen sich dann aus den dunkelgrau und
schwarz markierten Feldern berechnen. Zur Berechnung werden zunächst die
bekannten Pixelwerte in ihre Bestandteile Rot, Grün und Blau zerlegt.
Anschließend wird der Mittelwert jeder Farbe berechnet, z. B. Pixel(22) =
(Pixel(2) + Pixel(21) + Pixel(42))/3).
Nun werden die bereits vorhandenen Pixelgruppen durch Linien miteinander
verbunden. Dies ist in Fig. 7 dargestellt. Es ergeben sich Dreiecke, dessen
Ecken durch die entsprechenden Pixelgruppen definiert sind. Exemplarisch soll
dies an der Linie zwischen Pixelposition 2 und Pixelposition 17 verdeutlicht
werden. Der Farbverlauf der Linie wird anhand der Farbwerte der Pixel 2 und
17 berechnet. Zunächst wird die Anzahl der Pixel zwischen diesen beiden
Positionen ermittelt, im Beispiel 14. Anschließend wird für jede Farbe (Rot,
Grün, Blau) die Farbdifferenz ermittelt, z. B. Farbwert an Position 2 = 2;
Farbwert an Position 17 = 30 ergibt Farbdifferenz von 28). Eine
Farbwertsteigerung pro Pixel - vom Pixel 2 zum Pixel 17 - errechnet sich dann
aus Farbdifferenz/Anzahl (Im Beispiel 28/14 = 2).
Die noch übrigen Flächen werden durch Zeichnen von horizontalen Linien
ausgefüllt, z. B. von Position 63 nach Position 74, von Position 82 nach Position
93, usw. Auch hier wird ein vorläufiger Farbverlauf zwischen den Punkten wie
oben angegeben berechnet,
Wie Fig. 8 zeigt, ergibt jede weitere hinzufügte Pixelgruppe weitere Dreiecke
die entsprechend ausgefüllt werden können. Nachdem zunächst die gesamte
Fläche durch Nutzung der 4 Eckpunkte (21, 38, 398, 381) ausgefüllt wurde,
kann nun mit jeder weiteren Pixelgruppe die Auflösung verfeinert werden. Das
Hinzufügen der Pixelgruppe 87 führt zu 4 Dreiecken mit den Bezugspunkten
(21, 38, 87), (21, 87, 381), (381, 87, 398), (398, 78, 38). Wird nun innerhalb
eines solchen Dreieckes, z. B. 87, 381, 398, eine weitere Pixelgruppe (247)
eingefügt entstehen 3 neue Dreiecke (247, 381, 398), (247, 87, 381) und
(247, 87, 398). Jede neue Pixelgruppe erzeugt somit 3 neue Dreiecke, die
ausgefüllt werden können. Je mehr Pixelgruppen eingefügt sind, d. h. je mehr
Dreiecke gebildet werden, desto näher kommt der berechnete Farbverlauf dem
tatsächlichen Farbverlauf des Bildes. Da ab nun immer nur neue Dreiecke
entstehen, können für die Berechnungen optimierte Verfahren verwendet
werden. Ferner können die jeweils 3 neu entstehenden Dreiecke parallel
berechnet werden, um die Bearbeitungsgeschwindigkeit zu steigern.
Zusätzliche Möglichkeit der Parallelisierung entsteht dadurch, wenn neue
Pixelgruppen in unterschiedlichen Regionen des Bildes hinzugefügt werden.
Bei den oben beschriebenen Verfahrenschritten wurde vorausgesetzt, dass
sich der Bildinhalt zwischenzeitlich nicht geändert hat. Ändert sich der
Bildinhalt, dann werden die Prioritäten der einzelnen Pixelgruppen neu verteilt
und die aktuellen Pixelgruppen mit der höchsten Priorität übertragen. Es ändert
sich nur die Reihenfolge der gerade übertragenen und in das Bild eingefügten
Pixelgruppen. Am oben beschriebenen Prinzip der Rekonstruktion des Bildes
ändert sich jedoch nichts.
Um den zeitlichen Änderungen des Bildinhalts Rechnung zu tragen, können
jedoch noch zusätzliche Arrays (mit der Größe des Bildarrays) erzeugt werden.
Diese können Angaben enthalten über die
- - Zeit, d. h. wann wurde ein Pixelwert zuletzt berechnet bzw. übertragen
- - Berechnungsgrundlage. Welche übertragenen Pixel wurden zur Berechnung des Pixelwertes benutzt
- - Wahrscheinlichkeit/Genauigkeit. Wurde ein Pixelwert übertragen oder berechnet; falls er berechnet wurde wie groß ist die Varianz der Pixelgruppen aus denen der neue Wert berechnet wurde?
- - Abweichung von schon kalkulierten Pixelwerten mit dann übertragenden Pixelwerten
Aus diesen Größen lassen sich dann Bildregionen bestimmen in denen häufig
Pixelgruppenänderungen vorkommen. Benachbarte Pixelgruppen, oder auch
komplette Bereiche werden in aller Regel ähnlichen Veränderungen, z. B.
Helligkeitsänderungen, Farbänderungen unterliegen. Durch Auswertung dieser
Änderungen lassen sich in aller Regel Objekte und ihr dynamisches Verhalten
bestimmen, z. B. Gegenstand der sich im Video bewegt. Gleichmäßige
Änderungen bezogen auf das gesamte Bildarray können zum Beispiel auf einen
Kameraschwenk hinweisen. Werden diese Informationen z. B. mit Hilfe von
lernfähigen neuronalen Netzen ausgewertet, lassen sich sehr leicht
Abschätzungen über die Pixelwerte von noch nicht übertragenden Pixelgruppen
machen. Treffen diese Abschätzungen zu, können Pixelgruppen identifiziert
werden, die besonderen Einfluss auf Veränderungen auf Objekte besitzen.
Werden diese Pixelgruppen von der Quelle erneut angefragt, ist es möglich
Objektbewegungen mit nur wenig Pixelgruppen genau zu bestimmen und
vorherzusagen. In der Praxis bedeutet es, dass obwohl nur eine niedrige
Bandbreite zur Verfügung steht, niedrige Verzögerungszeiten auftreten, die
wesentlich geringer sind als bei Frame-basierten Verfahren. Die Auswertung
der zusätzlich im Empfänger generierten Arrays erlaubt auch eine gute
Objekterkennung.
In Abhängigkeit der verfügbaren Ressourcen können neben der reinen
Priorisierung durch die Farbwerte benachbarter Pixel auch Abhängigkeiten der
Lage der priorisierten Pixelgruppen herangezogen werden.
Ein Anwendungsfall soll dies verdeutlichen. Betrachtet man auf See einen
Horizont, erscheint dieser wie eine waagerechte Linie. Es ist zu erwarten, dass
die Prioritätswerte jeder Pixelgruppe entlang diesem Horizont in etwa gleich
sind. In diesem Fall besitzen die am weitesten auseinander liegenden Punkte
der Horizontlinie die größte Aussagekraft. Durch Übertragung der äußersten
linken und äußersten rechten Pixelgruppen des Horizonts ist es schon möglich,
diesen wieder zu rekonstruieren.
Eine weitere Möglichkeit der Priorisierung liegt in der Höherbewertung
bestimmter Bildbereiche. Ein solcher Bildbereich können zum Beispiel
Gesichter sein. Obwohl Gesichter auf Urlaubsvideos manchmal nur einen
prozentual kleinen Bereich des gesamten Bildes ausmachen, stehen sie beim
Betrachten meist im Mittelpunkt. Ein solches menschliches Sehverhalten kann
durch entsprechende Priorisierung der Pixelgruppen dieser Bildbereiche
(Gesichtsbereiche) berücksichtigt werden. Ebenso können die Pixelgruppen im
Zentrum des Videos eine entsprechend höhere Priorisierung erfahren.
Eine weitere Möglichkeit der Optimierung besteht in der Tatsache, dass sich
benachbarte Pixelgruppen gegenseitig überlagern. Durch geschickte Auswahl
der Pixelgruppen kann vermieden werden, dass sich überlagernde Pixelwerte
benachbarten Pixelgruppen wiederholt übertragen werden.
Der Aufwand der zum Dekodieren verwendet wird, ist frei skalierbar. Bei
kleineren Displays (z. B. Handys) ist sicherlich weniger Rechenaufwand
notwendig als die Wiedergabe auf einem hochauflösendem Großbildschirm,
obwohl beide den gleichen Quelldatenstrom, bestehend aus den priorisierten
Pixelgruppen, verwenden. Diese flexible Skalierung erlaubt es Herstellern von
Endgeräten, spezielle Optimierungen, z. B. Anzahl der Objekte, Historie der
Bildänderungen, in ihre Geräte einzubauen. Für die Hersteller ergibt sich eine
Möglichkeit, sich von ihren Mitbewerbern abzuheben, ohne die Kompatibilität
der Videoübertragung zu gefährden.
Claims (14)
1. Verfahren zur Komprimierung von Videodaten, die aus einem Array
einzelner Bildpunkte (Pixel) bestehen, wobei jedes Pixel (0-419) einen sich
zeitlich verändernden Pixelwert aufweist, der Farb- oder
Helligkeitsinformation des Pixels beschreibt,
gekennzeichnet durch die Schritte:
- a) Ermitteln eines Prioritätswertes für jedes Pixel des Arrays durch Berechnen eines Pixeldifferenzwertes anhand des jeweils momentanen Pixelwerts des Pixels in Bezug auf die momentanen Pixelwerte einer zuvor festgelegten Gruppe von benachbarten Pixeln;
- b) Zusammenfassen der für die Berechnung des Prioritätswertes hinzugezogenen Pixel zu einer Pixelgruppe (P0-P4),
- c) Sortieren der Pixelgruppen anhand ihres Prioritätswertes und Ablegen in einem Prioritätenarray; und
- d) Abspeichern und/oder Übertragen der Pixelgruppen entsprechend ihrer Priorität im Prioritätenarray,
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der
Pixeldifferenzwert sich aus der Differenz des Pixelwerts eines betrachteten
Pixels zum Pixelwert jedes seiner betrachteten Nachbarpixel der
Pixelgruppe ergibt.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass zu Beginn die Kenngrößen des Videobildes, wie
Bildbreite in Pixel, Bildhöhe in Pixel und Form der verwendeten Pixelgruppe
abgespeichert und/oder übertragen werden.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass für jede Pixelgruppe die Position eines Bezugspixels
(P0), dessen Pixelwert, sowie der Pixelwert der übrigen Pixel (P1-P4) der
Pixelgruppe abgespeichert oder übertragen wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass Pixelgruppen bestimmter Bildbereiche eine erhöhte
Priorität zugeordnet wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass die Pixelwerte der Pixelgruppen durch
Lauflängencodierung oder andere Kompressionsverfahren weiter
komprimiert werden.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass die laufende Ermittlung und Ausgabe der nach
Prioritäten sortierten Pixelgruppen bereits durch ein verwendetes
bildaufnehmendes System, wie z. B. Scanner, CCD-Kamera, erfolgt.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch
gekennzeichnet, dass Framegrabber Karten (bzw. Softwarelösungen)
eingesetzt werden können, um auch vorliegendes Videomaterial
verschiedenster Formate (z. B. AVI, MPEG-1, MPEG-2, MPEG-4, . . .) zu
konvertieren.
9. Verfahren zur Rekonstruktion von Videodaten, die mit dem Verfahren
gemäß den Ansprüchen 1 bis 8 komprimiert wurden,
dadurch gekennzeichnet,
dass die jeweils eingelesenen Pixelwerte in Form eines Bildarrays
dargestellt werden, wobei die noch nicht übertragenden Pixel aus den
schon übertragenden Pixeln berechnet werden.
10. Verfahren nach Anspruch 9,
gekennzeichnet durch die Schritte:
- a) Generieren eines leeren Bildarrays aus den eingelesenen Kenngrößen des komprimierten Videobildes,
- b) Kontinuierliches Einlesen der abgespeicherten bzw. übertragenen Pixelgruppen und Einfügen in das Bildarray,
- c) Bilden von Dreiecken durch Verbinden von jeweils drei unmittelbar benachbarter Pixelgruppen durch mindestens eine Linie,
- d) Ausfüllen der die Fläche der Dreiecke bildenden Pixel durch einen aus den das Dreieck bildenden Pixelgruppen berechneten Farb- und/oder Helligkeitsverlauf, und
- e) Wiederholen der Schritte b) bis e)
11. Verfahren nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet,
dass die Dreiecke in ihrer Größe skalierbar und an unterschiedliche
Bildauflösungen anpassbar sind.
12. Verfahren nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet,
dass zusätzliche Arrays erzeugt werden können, die Angaben enthalten
über die:
- - Zeit, d. h. wann wurde ein Pixelwert zuletzt berechnet bzw. übertragen,
- - Berechnungsgrundlage, d. h. welche übertragenen Pixel wurden zur Berechnung des Pixelwertes benutzt,
- - Wahrscheinlichkeit/Genauigkeit, d. h. wurde ein Pixelwert übertragen oder berechnet; falls er berechnet wurde, wie groß ist die Varianz der Pixelgruppen aus denen der neue Wert berechnet wurde,
- - Abweichung von schon kalkulierten Pixelwerten mit dann übertragenden Pixelwerten.
13. Verfahren nach einem der Ansprüche 9 bis 12, dadurch gekennzeichnet,
dass anhand der gemäß Anspruch 12 erzeugten Arrays, auf einfache Art
Bewegungsprofile und Objekte erkannt werden können.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass durch
Auswertung der Bewegungsprofile und Objekte flüssige Bewegungen mit
extrem niedrigen Latenzzeiten, trotz niedrigster Übertragungsraten erzielt
werden können.
Priority Applications (15)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10113880A DE10113880B4 (de) | 2001-03-21 | 2001-03-21 | Verfahren zur Komprimierung und Dekomprimierung von Videodaten |
| PCT/DE2002/000987 WO2002078352A1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von videodaten |
| ES02729802T ES2265504T3 (es) | 2001-03-21 | 2002-03-19 | Procedimiento para la compresion y la descompresion de datos de video. |
| PT02729802T PT1371229E (pt) | 2001-03-21 | 2002-03-19 | Metodo para comprimir e descomprimir dados video |
| JP2002576445A JP4102197B2 (ja) | 2001-03-21 | 2002-03-19 | ビデオデータを圧縮および解凍する方法 |
| CZ20032875A CZ20032875A3 (cs) | 2001-03-21 | 2002-03-19 | Způsob komprimování a dekomprimování videodat |
| AT02729802T ATE327638T1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von videodaten |
| DE50206894T DE50206894D1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von videodaten |
| EP02729802A EP1371229B1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von videodaten |
| US10/472,539 US7130347B2 (en) | 2001-03-21 | 2002-03-19 | Method for compressing and decompressing video data in accordance with a priority array |
| CNB028069617A CN1278563C (zh) | 2001-03-21 | 2002-03-19 | 视频数据压缩和解压缩的方法 |
| CA2441473A CA2441473C (en) | 2001-03-21 | 2002-03-19 | Method for compressing and decompressing video data |
| RU2003130965/09A RU2276470C2 (ru) | 2001-03-21 | 2002-03-19 | Способ уплотнения и распаковки видеоданных |
| PL368828A PL206719B1 (pl) | 2001-03-21 | 2002-03-19 | Sposób kompresji i dekompresji sygnałów wideo |
| DE2002131285 DE10231285B4 (de) | 2001-03-21 | 2002-07-10 | Verfahren zur Komprimierung und Dekomprimierung von Videodaten |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10113880A DE10113880B4 (de) | 2001-03-21 | 2001-03-21 | Verfahren zur Komprimierung und Dekomprimierung von Videodaten |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE10113880A1 true DE10113880A1 (de) | 2002-10-17 |
| DE10113880B4 DE10113880B4 (de) | 2004-04-29 |
Family
ID=7678464
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10113880A Expired - Fee Related DE10113880B4 (de) | 2001-03-21 | 2001-03-21 | Verfahren zur Komprimierung und Dekomprimierung von Videodaten |
| DE50206894T Expired - Lifetime DE50206894D1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von videodaten |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE50206894T Expired - Lifetime DE50206894D1 (de) | 2001-03-21 | 2002-03-19 | Verfahren zur komprimierung und dekomprimierung von videodaten |
Country Status (13)
| Country | Link |
|---|---|
| US (1) | US7130347B2 (de) |
| EP (1) | EP1371229B1 (de) |
| JP (1) | JP4102197B2 (de) |
| CN (1) | CN1278563C (de) |
| AT (1) | ATE327638T1 (de) |
| CA (1) | CA2441473C (de) |
| CZ (1) | CZ20032875A3 (de) |
| DE (2) | DE10113880B4 (de) |
| ES (1) | ES2265504T3 (de) |
| PL (1) | PL206719B1 (de) |
| PT (1) | PT1371229E (de) |
| RU (1) | RU2276470C2 (de) |
| WO (1) | WO2002078352A1 (de) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004006186A1 (de) * | 2002-07-02 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur speicherplatzverwaltung in einem speichermedium eines digitalen endgeräts bei einer datenspeicherung nach dem verfahren der priorisierten pixelübertragung |
| WO2004006583A1 (de) | 2002-07-08 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur übertragung von zusätzlichen informationen bei verwendung eines verfahrens zur komprimierung von daten mittels einer priorisierenden pixelübertragung |
| WO2004077838A1 (de) * | 2003-02-27 | 2004-09-10 | T-Mobile Deutschland Gmbh | Verfahren zur komprimierten übertragung von bilddaten für eine 3-dimensionale darstellung von szenen und objekten |
| US7369154B2 (en) | 2002-07-10 | 2008-05-06 | T-Mobile Deutschland Gmbh | Method for transmitting additional data within a video transmission |
| DE102007059273A1 (de) | 2007-12-08 | 2009-06-18 | T-Mobile Internationale Ag | Virtuelle Tastatur eines mobilen Endgerätes |
| DE102010047770A1 (de) * | 2010-10-08 | 2012-04-12 | Ats Comp Gmbh | Analysetool für Bussysteme |
| US8532389B2 (en) | 2007-11-05 | 2013-09-10 | T-Mobile International Ag | Method for image analysis, especially for mobile stations |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10229976B4 (de) * | 2002-07-03 | 2007-06-28 | T-Mobile Deutschland Gmbh | Verfahren zur Ver- und Entschlüsselung von nach dem Verfahren der priorisierten Pixelübertragung übertragenen oder gespeicherten digitalen Daten |
| DE10230809B4 (de) * | 2002-07-08 | 2008-09-11 | T-Mobile Deutschland Gmbh | Verfahren zur Übertragung von Audiosignalen nach dem Verfahren der priorisierenden Pixelübertragung |
| US7375347B2 (en) | 2004-04-26 | 2008-05-20 | Sensors For Medicine And Science, Inc. | Systems and methods for extending the useful life of optical sensors |
| FI127117B (fi) * | 2009-06-17 | 2017-11-30 | Gurulogic Microsystems Oy | Kuvaprosessoija ja tietokoneohjelma |
| CN102186067B (zh) * | 2011-03-31 | 2013-10-09 | 深圳超多维光电子有限公司 | 一种图像帧的传输方法和装置、显示方法和系统 |
| JP2013005204A (ja) * | 2011-06-16 | 2013-01-07 | Sony Corp | ビデオ送信装置、ビデオ受信装置、およびビデオ送信方法 |
| MX2014000159A (es) | 2011-07-02 | 2014-02-19 | Samsung Electronics Co Ltd | Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada. |
| US9921300B2 (en) | 2014-05-19 | 2018-03-20 | Rockwell Automation Technologies, Inc. | Waveform reconstruction in a time-of-flight sensor |
| US20150334371A1 (en) * | 2014-05-19 | 2015-11-19 | Rockwell Automation Technologies, Inc. | Optical safety monitoring with selective pixel array analysis |
| US11243294B2 (en) | 2014-05-19 | 2022-02-08 | Rockwell Automation Technologies, Inc. | Waveform reconstruction in a time-of-flight sensor |
| US9696424B2 (en) | 2014-05-19 | 2017-07-04 | Rockwell Automation Technologies, Inc. | Optical area monitoring with spot matrix illumination |
| CN105245888A (zh) * | 2014-06-11 | 2016-01-13 | 富士通株式会社 | 图像压缩方法和图像压缩装置 |
| US9625108B2 (en) | 2014-10-08 | 2017-04-18 | Rockwell Automation Technologies, Inc. | Auxiliary light source associated with an industrial application |
| US11044466B2 (en) | 2018-01-26 | 2021-06-22 | Samsung Electronics Co., Ltd. | Image processing device |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE6922682U (de) | 1969-06-06 | 1970-02-12 | Blaupunkt Werke Gmbh | Drahtwiderstand |
| US5122875A (en) * | 1991-02-27 | 1992-06-16 | General Electric Company | An HDTV compression system |
| JP3276985B2 (ja) * | 1991-06-27 | 2002-04-22 | ゼロックス・コーポレーション | イメージピクセル処理方法 |
| JPH05244435A (ja) | 1992-02-28 | 1993-09-21 | Fujitsu Ltd | 画像の階層符号化方法および画像符号化装置 |
| GB2270811B (en) * | 1992-09-17 | 1996-02-07 | Sony Broadcast & Communication | Video data compression |
| KR0155784B1 (ko) * | 1993-12-16 | 1998-12-15 | 김광호 | 영상데이타의 적응형 가변장 부호화/복호화방법 |
| JP2797959B2 (ja) * | 1994-03-12 | 1998-09-17 | 日本ビクター株式会社 | 多次元画像圧縮伸張方法 |
| EP0705027B1 (de) * | 1994-09-30 | 2000-11-22 | SANYO ELECTRIC Co., Ltd. | Bildübertragungssystem und Verfahren zur Datenreduktion von Farbbildern mittels Farbtabellen und Zusammenfassung von Bildbereichen |
| KR100249028B1 (ko) | 1995-03-20 | 2000-03-15 | 전주범 | 정지영상을 가진 영상신호를 부호화/복호화하기 위한 부호화/복호화시스템 |
| WO1997007635A2 (en) * | 1995-08-14 | 1997-02-27 | Barkfort Limited | A method and apparatus for compressing digital image data |
| DE19541457C1 (de) * | 1995-11-07 | 1997-07-03 | Siemens Ag | Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz |
-
2001
- 2001-03-21 DE DE10113880A patent/DE10113880B4/de not_active Expired - Fee Related
-
2002
- 2002-03-19 AT AT02729802T patent/ATE327638T1/de active
- 2002-03-19 US US10/472,539 patent/US7130347B2/en not_active Expired - Lifetime
- 2002-03-19 JP JP2002576445A patent/JP4102197B2/ja not_active Expired - Fee Related
- 2002-03-19 WO PCT/DE2002/000987 patent/WO2002078352A1/de not_active Ceased
- 2002-03-19 CA CA2441473A patent/CA2441473C/en not_active Expired - Fee Related
- 2002-03-19 RU RU2003130965/09A patent/RU2276470C2/ru not_active IP Right Cessation
- 2002-03-19 CZ CZ20032875A patent/CZ20032875A3/cs unknown
- 2002-03-19 DE DE50206894T patent/DE50206894D1/de not_active Expired - Lifetime
- 2002-03-19 PT PT02729802T patent/PT1371229E/pt unknown
- 2002-03-19 CN CNB028069617A patent/CN1278563C/zh not_active Expired - Fee Related
- 2002-03-19 PL PL368828A patent/PL206719B1/pl unknown
- 2002-03-19 ES ES02729802T patent/ES2265504T3/es not_active Expired - Lifetime
- 2002-03-19 EP EP02729802A patent/EP1371229B1/de not_active Expired - Lifetime
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004006186A1 (de) * | 2002-07-02 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur speicherplatzverwaltung in einem speichermedium eines digitalen endgeräts bei einer datenspeicherung nach dem verfahren der priorisierten pixelübertragung |
| US7515757B2 (en) | 2002-07-02 | 2009-04-07 | T-Mobile Deutschland Gmbh | Method for managing storage space in a storage medium of a digital terminal for data storage according to a prioritized pixel transfer method |
| WO2004006583A1 (de) | 2002-07-08 | 2004-01-15 | T-Mobile Deutschland Gmbh | Verfahren zur übertragung von zusätzlichen informationen bei verwendung eines verfahrens zur komprimierung von daten mittels einer priorisierenden pixelübertragung |
| US7583843B2 (en) | 2002-07-08 | 2009-09-01 | T-Mobile Deutschland Gmbh | Method for the transmission of additional information when using a method for compressing data by means of prioritizing pixel transmission |
| US7369154B2 (en) | 2002-07-10 | 2008-05-06 | T-Mobile Deutschland Gmbh | Method for transmitting additional data within a video transmission |
| WO2004077838A1 (de) * | 2003-02-27 | 2004-09-10 | T-Mobile Deutschland Gmbh | Verfahren zur komprimierten übertragung von bilddaten für eine 3-dimensionale darstellung von szenen und objekten |
| US7212662B2 (en) | 2003-02-27 | 2007-05-01 | T-Mobile Deutschland Gmbh | Method for the compressed transmission of image data for 3-dimensional representation of scenes and objects |
| US8532389B2 (en) | 2007-11-05 | 2013-09-10 | T-Mobile International Ag | Method for image analysis, especially for mobile stations |
| DE102007059273A1 (de) | 2007-12-08 | 2009-06-18 | T-Mobile Internationale Ag | Virtuelle Tastatur eines mobilen Endgerätes |
| CN101889256B (zh) * | 2007-12-08 | 2013-04-17 | T-移动国际股份公司 | 移动终端的虚拟键盘 |
| DE102010047770A1 (de) * | 2010-10-08 | 2012-04-12 | Ats Comp Gmbh | Analysetool für Bussysteme |
| DE102010047770B4 (de) * | 2010-10-08 | 2015-05-13 | Airbus Operations Gmbh | Analysetool für Bussysteme |
Also Published As
| Publication number | Publication date |
|---|---|
| PT1371229E (pt) | 2006-09-29 |
| CZ20032875A3 (cs) | 2004-01-14 |
| US20040095996A1 (en) | 2004-05-20 |
| CN1498501A (zh) | 2004-05-19 |
| PL368828A1 (en) | 2005-04-04 |
| EP1371229B1 (de) | 2006-05-24 |
| DE50206894D1 (de) | 2006-06-29 |
| PL206719B1 (pl) | 2010-09-30 |
| CN1278563C (zh) | 2006-10-04 |
| WO2002078352A1 (de) | 2002-10-03 |
| DE10113880B4 (de) | 2004-04-29 |
| ES2265504T3 (es) | 2007-02-16 |
| CA2441473C (en) | 2012-07-17 |
| US7130347B2 (en) | 2006-10-31 |
| RU2003130965A (ru) | 2005-04-27 |
| ATE327638T1 (de) | 2006-06-15 |
| CA2441473A1 (en) | 2002-10-03 |
| JP4102197B2 (ja) | 2008-06-18 |
| EP1371229A1 (de) | 2003-12-17 |
| RU2276470C2 (ru) | 2006-05-10 |
| JP2004534434A (ja) | 2004-11-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE10113880B4 (de) | Verfahren zur Komprimierung und Dekomprimierung von Videodaten | |
| DE69225941T2 (de) | Bildkodierung und/oder -dekodierung | |
| DE69837081T2 (de) | Videopufferspeicher zur nahtlosen verbindung von mpeg-strömen | |
| DE69230704T2 (de) | Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung | |
| DE69431292T2 (de) | Kanalpuffersteuerung in videodekodern | |
| DE202016009100U1 (de) | Online-Training von hierarchischen Algorithmen | |
| DE69408838T2 (de) | Videoschnittsystem | |
| DE102019103346B4 (de) | Ssim-basierte rate-distortion-optimierung für eine verbesserte wahrnehmbare qualität bei videos | |
| DE69713779T2 (de) | Objektorientiertes videosystem | |
| DE10310023A1 (de) | Verfahren und Anordnung zur Videocodierung, wobei die Videocodierung Texturanalyse und Textursynthese umfasst, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium | |
| DE69421449T2 (de) | Kodierer zur adaptiven Kodierung von Videobilddaten getrennt nach der ihnen zugeordneten Priorität | |
| DE69227879T2 (de) | Stehbildübertragungssystem | |
| EP1374559B1 (de) | Verfahren zur komprimierung und dekomprimierung von bilddaten | |
| EP0836785B1 (de) | Verfahren zur dekodierung und kodierung eines komprimierten videodatenstroms mit reduziertem speicherbedarf | |
| DE69509421T2 (de) | Verschiebungsstufe für einen Dekodierer von digitalen Kodes veränderlicher Länge | |
| DE69702756T2 (de) | Verfahren und vorrichtung zur endloswiedergabe von komprimierten videobitströmen | |
| DE10152612B4 (de) | Verfahren zur Komprimierung und Dekomprimierung von Bilddaten | |
| DE102004002824A1 (de) | Datenspeichereinheit und Speicher für eine Bildkompressionsvorrichtung | |
| AT500721B1 (de) | Verfahren und einrichtung zur übertragung von bildfolgen | |
| EP1600008B1 (de) | Verfahren zur komprimierten übertragung von bilddaten für eine 3-dimensionale darstellung von szenen und objekten | |
| DE10231286B4 (de) | Verfahren zur Übertragung von zusätzlichen Daten innerhalb einer Videodatenübertragung | |
| DE10231285B4 (de) | Verfahren zur Komprimierung und Dekomprimierung von Videodaten | |
| DE102005047730B4 (de) | Verfahren zur Verbesserung der Videobildqualität | |
| WO1998051085A1 (de) | Verfahren und vorrichtung zur codierung und decodierung eines digitalisierten bildes | |
| DE60309341T2 (de) | Digitale videosignalcodierung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AG | Has addition no. |
Ref document number: 10231285 Country of ref document: DE |
|
| 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 |