DE602004001797T2 - Bilddatenformat sowie Lese- und Schreibemethoden dafür - Google Patents

Bilddatenformat sowie Lese- und Schreibemethoden dafür Download PDF

Info

Publication number
DE602004001797T2
DE602004001797T2 DE602004001797T DE602004001797T DE602004001797T2 DE 602004001797 T2 DE602004001797 T2 DE 602004001797T2 DE 602004001797 T DE602004001797 T DE 602004001797T DE 602004001797 T DE602004001797 T DE 602004001797T DE 602004001797 T2 DE602004001797 T2 DE 602004001797T2
Authority
DE
Germany
Prior art keywords
bit
data
frame
image data
bitstream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE602004001797T
Other languages
English (en)
Other versions
DE602004001797D1 (de
Inventor
Jean-Marc Porchet
Michel Eid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avid Technology Inc
Original Assignee
Avid Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Avid Technology Inc filed Critical Avid Technology Inc
Publication of DE602004001797D1 publication Critical patent/DE602004001797D1/de
Application granted granted Critical
Publication of DE602004001797T2 publication Critical patent/DE602004001797T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/926Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

  • Bilddaten haben viele Abtastauflösungen. Es gibt eine temporäre Abtastrate, üblicherweise Bildfrequenz genannt, von Bewegtbilddaten. Jedes Bild weist auch eine vertikale und eine horizontale Abtastauflösung auf, die die Anzahl individueller Elemente, üblicherweise Pixel genannt, in der horizontalen und vertikalen Dimension des Bilds angibt. Jedes Pixel wird typischerweise durch eine Anzahl von Komponenten repräsentiert, um eine Farbe zu definieren. Die Komponenten können Luminanz und Chrominanz (z.B. YCrCb) repräsentieren, oder sie können Farbkanäle (z.B. rot, grün und blau) repräsentieren. Ein Wert für jede Komponente wird im Allgemeinen mittels einer Anzahl von Bits, Bittiefe genannt, repräsentiert. Typische für Bilder verwendete Bittiefen sind acht Bits, zehn Bits und sechzehn Bits.
  • Hochwertige digitale Videoverarbeitungssysteme verwenden häufig eine Bittiefe pro Zehnbit-Komponente. Diese Bittiefe liefert einen guten Kompromiss zwischen Qualität und Bandbreite sowie eine effiziente Implementation von Verarbeitungsfunktionen in Hardware. Auf einem Universalcomputer haben die Bitpfade jedoch eine Bittiefe, die auf einer Zweierpotenz (z.B. acht, sechzehn, zweiunddreißig oder vierundsechzig Bits) basiert. Daher werden 10-Bit Daten im Allgemeinen in 16-Bit Daten umgewandelt, bevor sie von dem Computer verarbeitet werden. Es wäre jedoch nicht effizient, alle sechzehn Bits zu übertragen oder zu senden.
  • Manchmal ist es auch erwünscht, Bilddaten unter Verwendung einer Bittiefe von nur acht Bits zu verarbeiten. Eine 8-Bit Darstellung kann aus einer 10-Bit Darstellung durch Rundung erhalten werden. Es würden jedoch Daten verloren gehen, wenn nur acht Bits übertragen oder gespeichert würden.
  • Um 10-Bit Daten auf einer Diskette zu speichern, wurden Techniken entwickelt, um die 10-Bit Daten in Datenworte zu packen, die eine Bittiefe aufweisen, die auf einer Zweierpotenz (z.B. 8-Bit und 32-Bit Worte) basiert. Im US-Patent 6,239,815 werden beispielsweise 10-Bit YCrCb Daten für zwei Pixel in fünf Bytes gepackt. Ein anderes üblicherweise verwendetes Packformat, das als „10:10:10:2" bezeichnet wird, wird beispielsweise im OpenGL Graphiksystem verwendet.
  • OpenGL ist eine Marke von Silicon Graphics, Inc. In diesem Format werden drei 10-Bit Werte in einem 32-Bit Wort gespeichert, wobei zwei Bits unbenutzt bleiben. Mit diesen gepackten Daten werden jedoch verschiedene Operationen durchgeführt, um entweder 8-Bit oder 10-Bit Daten zu extrahieren.
  • Die EP 0 405 885 offenbart eine Aufzeichnungsvorrichtung, die bei einem Beispiel eine 10-Bit Abtastung eines digitalen Signals in ein Wort A der 8 signifikantesten Bits und ein Wort B der 2 am wenigsten signifikanten Bits aufteilt. Die Worte B entsprechender Abtastungen werden zu einem Wort C von 8 Bits kombiniert, und die Worte A und C werden aufgezeichnet.
  • Die US 2001/0049778 offenbart ein Verfahren zum Speichern von Datenelementen in einem Speicher, in dem Datenelemente in aufeinander folgende Datenstücke fallender Signifikanz aufgeteilt werden und einzelne Datenstücke in dem Speicher gespeichert oder verworfen werden, je nach Signifikanz im Bezug auf die Signifikanz der bereits in dem Speicher gespeicherten Datenstücke.
  • Die vorliegende Erfindung trachtet danach, effizientere Speicherung von und effizienteren Zugriff auf Bilddaten bereitzustellen.
  • Demgemäß besteht die vorliegende Erfindung bei einem Aspekt aus einer Bildverarbeitungsvorrichtung mit: einem Bitstrom-Speicher, der m-Bit Bilddaten enthält, einschließlich, für jeden Frame von Bilddaten: einem ersten Datenabschnitt, der n signifikanteste Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält, wobei n eine ganze Zahl und eine Potenz von Zwei ist; einem zweiten Datenabschnitt, der k am wenigsten signifikante Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält, wobei k gleich dem Unterschied zwischen m und n ist; wobei der erste Datenabschnitt an einer Speicherseitengrenze endet; und wobei der zweite Datenabschnitt dem ersten Datenabschnitt in dem Bitstrom-Speicher vorangeht und benachbart ist; sowie Bildverarbeitungseinrichtungen, die mit dem Bitstrom-Speicher kommunizieren.
  • Bei einem weiteren Aspekt besteht die vorliegende Erfindung aus einem Erzeugnis mit: einem computerlesbaren Medium mit Daten, die auf dem computerlesbaren Medium gespeichert sind, die, wenn sie von einem Computer ausgewertet werden, einen Bitstrom mit m-Bit Bilddaten aufweisen. Der Bitstrom weist, für jeden Frame von Bilddaten, einen ersten Datenabschnitt auf, der n signifikanteste Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält. N ist eine ganze Zahl und eine Potenz von Zwei. Ein zweiter Datenabschnitt enthält k am wenigsten signifikante Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block. K ist gleich dem Unterschied zwischen m und n. Der erste Datenabschnitt endet an einer Speicherseitengrenze. Der zweite Datenabschnitt geht dem ersten Datenabschnitt in dem Bitstrom voran und ist dazu benachbart.
  • Bei einem anderen Aspekt besteht die vorliegende Erfindung aus einem Verfahren und einem Computerprogramm-Erzeugnis, das einen Bitstrom von m-Bit Bilddaten liest. Der Bitstrom weist für jeden Frame von Bilddaten einen ersten Datenabschnitt auf, der n signifikanteste Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält, und einen zweiten Datenabschnitt, der k am wenigsten signifikante Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält. N ist eine ganze Zahl und eine Potenz von Zwei. K ist gleich dem Unterschied zwischen m und n. Der erste Datenabschnitt endet an einer Speicherseitengrenze. Der zweite Datenabschnitt geht dem ersten Datenabschnitt in dem Bitstrom voran und ist dazu benachbart. Das Verfahren zum Lesen umfasst das Zugreifen auf eine n-Bit Darstellung für einen einzelnen Frame von Bilddaten. Ein Offset und die Größe der n-Bit Daten für den einzelnen Frame in dem Bitstrom werden bestimmt. Der Offset wird auf die nächstgelegene Speichergrenze abgerundet. Die Größe wird auf die nächstgelegene Speichergrenze aufgerundet. Eine Lese-Operation wird für den Bitstrom mittels des gerundeten Offsets und der gerundeten Größe durchgeführt.
  • Bei einem weiteren Aspekt besteht die vorliegende Erfindung in einem Verfahren und einem Computerprogramm-Erzeugnis, das m-Bit Bilddaten in einen Bitstrom schreibt. Für jeden Frame der Bilddaten ist Speicher für den Bitstrom zugeteilt. Die n signifikantesten Bits jedes m-Bit Werts des Frames werden gesammelt, um n-Bit Werte bereitzustellen. N ist eine ganze Zahl und eine Potenz von Zwei. Die gesammelten n-Bit Werte werden als benachbarter Block in einem ersten Datenabschnitt des Bitstroms in dem zugeteilten Speicher platziert. Der erste Datenabschnitt endet an einer Speichergrenze. Die k am wenigsten signifikanten Bits jedes m-Bit Werts des Frames werden in n-Bit Worten der k-Bit Werte gesammelt. Die n-Bit Worte der k-Bit Werte werden als benachbarter Block in einem zweiten Datenabschnitt des Bitstroms in dem zugeteilten Speicher platziert. Der zweite Datenabschnitt geht dem ersten Datenabschnitt in dem Bitstrom voran und ist dazu benachbart.
  • Bestimmte Beispiele der vorliegenden Erfindung können die folgenden Merkmale aufweisen.
  • Bilddaten mit einer Bittiefe von m Bits, wobei m keine Potenz von Zwei ist, können zum Speichern in zwei Teile aufgeteilt werden. Der erste Teil sind die n signifikantesten Bits, wobei n eine Potenz von Zwei ist. Der zweite Teil sind die k am wenigsten signifikanten Bits, wobei k = m – n und k < n. Beispielsweise können 10-Bit Daten in 8-Bit und 2-Bit Teile getrennt werden. Die 8-Bit Daten für ein gegebe nes Bild werden als benachbarter Block in dem Bitstrom platziert, wobei das Ende der Daten mit einer Speichergrenze, beispielsweise einer Seitengrenze, ausgerichtet ist. Die 2-Bit Daten werden in Bytes gesammelt, die als benachbarter Block in dem Bitstrom platziert werden. Der Block von 2-Bit Daten wird in dem Bitstrom dem Block von 8-Bit Daten vorangehend und dazu benachbart platziert. Auffüllung (padding) kann vorgesehen werden, um den Anfang der Bilddaten mit einer Speichergrenze auszurichten. Die Bilddaten für mehrere Bilder können in dem Bitstrom zum Speichern benachbart angeordnet werden.
  • 10-Bit Daten für einen Alphakanal können gegebenenfalls ebenfalls in 8-Bit und 12-Bit Teile aufgeteilt werden. Die 8-Bit Alphadaten für ein gegebenes Bild werden in dem Bitstrom als benachbarter Block platziert, wobei der Anfang der Daten mit einer Speichergrenze, beispielsweise einer Seitengrenze, ausgerichtet wird. Die 2-Bit Alphadaten werden in Bytes gesammelt, die in dem Bitstrom als benachbarter Block platziert werden. Der Block von 2-Bit Alphadaten wird in dem Bitstrom nach und benachbart mit dem Block von 8-Bit Alphadaten platziert. Auffüllung kann vorgesehen werden, um das Ende der Alphadaten mit einer Seitengrenze auszurichten. Die Alphadaten für mehrere Bilder können in dem Bitstrom zum Speichern benachbart angeordnet werden.
  • Zum Speichern können die Alphadaten in einer Datendatei gespeichert werden, die von der Datendatei, die die Bilddaten speichert, getrennt ist. Auf diese Weise muss nicht auf die Alphadaten zugegriffen werden, wenn sie nicht zu verarbeiten sind. Wenn die Alphadaten zu verarbeiten sind, können sie aus der Alphadatendatei ausgelesen und mit den Bilddaten aus der Bilddatendatei in dem Speicher zur effizienten Verarbeitung gemischt werden. Somit sind die Bilddaten und die Alphadaten für jedes Bild in dem Bitstrom benachbart, und Daten für mehrere Bilder sind in dem Bitstrom benachbart.
  • Durch das Speichern von 10-Bit Daten in einem derartigen Format wird das Packen effizient. Es ermöglicht auch Zugriff auf den 8-Bit Abschnitt eines einzelnen Bilds ohne Unkosten für Zentralrechnereinheit, Diskette oder Speicherbandbreiten. Zum Zugriff auf mehrere Bilder ermöglichen Streuungs-/Sammel-Operationen (scatter/gather operations) durch das Betriebssystem effizienten Zugriff auf den 8-Bit Abschnitt des Bilds. Die 10-Bit Daten können gelesen und in 16-Bit Worte umgewandelt werden, und umgekehrt, unter Verwendung von Streuungs-/Sammel-Operationen und einfachen Schiebeoperationen. Daten in diesem Format können mit minimalem Verarbeitungsaufwand auch in und von sechzehn Bit pro Komponente umgewandelt werden.
  • Die Erfindung wird nun beispielhaft unter Bezug auf die beigefügten Zeichnungen beschrieben. Es zeigt:
  • 1 ein Datenflussdiagramm eines beispielhaften Bildverarbeitungssystems, das gepackte 10-Bit Daten verwendet.
  • 2 ein Diagramm einer beispielhaften gepackten Form von 10-Bit Daten.
  • 3 ein Flussdiagramm, das beschreibt, wie ein einzelner Frame von 8-Bit Bilddaten gelesen wird.
  • 4 ein Flussdiagramm, das beschreibt, wie ein einzelner Frame von 10-Bit Bilddaten gelesen wird.
  • 5 ein Flussdiagramm, das beschreibt, wie mehrere Frames von 8-Bit Bilddaten gelesen werden.
  • 6 ein Flussdiagramm, das beschreibt, wie mehrere Frames von 10-Bit Bilddaten gelesen werden.
  • 7 ein Flussdiagramm, das beschreibt, wie jeder Frame von 10-Bit Bilddaten geschrieben wird.
  • Bilddaten mit einer Bittiefe von m Bit, wobei m keine Potenz von Zwei ist, können zum Speichern in zwei Teile aufgeteilt werden. Der erste Teil sind die n signifikantesten Bits, wobei n eine Potenz von Zwei ist. Der zweite Teil sind die k am wenigsten signifikanten Bits, wobei k = m – n und k < n. Bei dem folgenden Beispiel werden 10-Bit Daten in 8-Bit und 2-Bit Teile getrennt.
  • 1 ist ein Datenflussdiagramm eines beispielhaften Bildverarbeitungssystems, das gepackte 10-Bit Daten verwendet. Das Bildverarbeitungssystem 100 weist einen Datenspeicher 102 auf, der 10-Bit Daten, die in einen Bitstrom gepackt sind, speichert, der beispielsweise in einer oder mehreren Datendateien gespeichert, oder der durch Metadaten in einem Dateiformat wie MXF oder AAF referenziert werden kann. Ein solcher Bitstrom kann auch in einem Speicher, wie z.B. einem Cache, gespeichert werden. Dieses Bitstromformat kann auch als Format für die Übertragung von Daten verwendet werden. In diesem Fall stellt 102 ein Übertragungsmedium dar, über das die komprimierten Bilddaten als computerlesbare Signale übertragen werden. Die Daten 104, die einen 10-Bit gepackten Bitstrom aufweisen, werden mittels einer Leseanwendung 106 eingelesen. Derartige Daten, wie bei 108 gezeigt, werden mittels der Schreibanwendung 110 auf unten beschriebene Art und Weise in ein solches Format geschrieben.
  • Die Leseanwendung 106 liest, auf unten beschriebene Art und Weise, entweder einen einzigen Frame oder mehrere Frames von 8-Bit Bilddaten oder einen einzigen Frame oder mehrere Frames von 10-Bit Bilddaten aus dem Bitstrom. Die Lese awendung 106 stellt die Lese-Bilddaten 112 für eine Bildverarbeitungsanwendung 114 bereit.
  • Die Bildverarbeitungsanwendung 114 führt Operationen für die Bilddaten durch, um verarbeitete Bilddaten 116 zu erzeugen. Derartige Bildverarbeitungsoperationen können beispielsweise Operationen zum Kombinieren von Bildern, z.B. Zusammensetzen (compositing), Mischen (blending) und Tastung (keying) umfassen, oder Operationen innerhalb eines Bilds, z.B. Nachprägen (resizing), Filtern und Farbkorrektur, oder Operationen zwischen zwei Bildern, z.B. Bewegungsabschätzung, sind jedoch nicht hierauf beschränkt. Die Ergebnisse derartiger Bildverarbeitungsoperationen können Bilddaten in 10-Bit Format oder in anderem Format sein. Die Bildverarbeitungsanwendung kann auch eine Anwendung sein, die digitale Bilddaten erfasst und/oder erzeugt, ohne Eingangsbilddaten zu verwenden. Die Bildverarbeitungsanwendung kann auch Metadaten über die Bilddaten manipulieren, z.B. um eine Sequenz von Szenen von Bewegtbildinformationen zu definieren. Die Bildverarbeitungsanwendung kann auch Bilddaten in ein oder mehrere Formate zurückspielen, ohne Ausgangsdaten bereitzustellen.
  • Obwohl 1 nur eine Bildverarbeitungsoperation zeigt, kann es mehrere Bildverarbeitungsoperationen geben, die die Bilddaten parallel bearbeiten, oder die als Abfolge von Operationen arbeiten. Es gibt eine Vielzahl von Arten, auf die eine Bildverarbeitungsoperation Bilddaten verarbeiten kann, und die Erfindung wird dadurch nicht beschränkt. Als Beispiel können die Leseanwendung und/oder die Bildverarbeitungsanwendung und/oder die Schreibanwendung Teil einer größeren Anwendung zum Editieren von Videoinformationen sein und auf die Bilddaten in demselben Zwischenspeicher in dem Speicher zugreifen. Als weiteres Beispiel können die Leseanwendung und/oder die Bildverarbeitungsanwendung und/oder die Schreibanwendung sich in eine Editieranwendung „einschalten", die Zugriff auf Bilddaten in dem Speicher über eine Schnittstelle zur Anwendungsprogrammierung (Application Programming Interface; API) ermöglicht. Die Lese- und Schreibanwendungen können in Hardware implementiert werden, auf die durch die Bildverarbeitungsanwendung zugegriffen wird.
  • Unter Bezug auf 2 werden die 8-Bit Daten für ein gegebenes Bild in dem Bitstrom als benachbarter Block 200 platziert, wobei das Ende 202 der Daten mit einer Speichergrenze, beispielsweise einer Seitengrenze, ausgerichtet wird. Die 2-Bit Daten werden in Bytes gesammelt, die in dem Bitstrom als benachbarter Block 204 platziert werden. Der Block von 2-Bit Daten wird in dem Bitstrom vor und benachbart zu dem Block 200 von 8-Bit Daten platziert. Auffüllung 212 kann vorgese hen werden, um den Anfang der Bilddaten mit einer Speichergrenze auszurichten. Die Bilddaten für mehrere Bilder können in einem Bitstrom zum Speichern benachbart platziert werden.
  • 10-Bit Daten für einen Alphakanal können gegebenenfalls ebenfalls in 8-Bit und 2-Bit Teile gespalten werden. Die 8-Bit Alphadaten für ein gegebenes Bild werden in dem Bitstrom als benachbarter Block 206 platziert, wobei der Anfang 208 der Daten mit einer Speicherseitengrenze ausgerichtet wird. Die 2-Bit Alphadaten werden in Bytes gesammelt, die in dem Bitstrom als benachbarter Block 210 platziert werden. Der Block von 2-Bit Alphadaten wird in dem Bitstrom nach und benachbart zu dem Block 206 von 8-Bit Alphadaten platziert. Auffüllung 214 kann vorgesehen werden, um das Ende der Alphadaten mit einer Speichergrenze auszurichten. Die Alphadaten für mehrere Bilder können in einem Bitstrom zum Speichern benachbart platziert werden.
  • Zum Speichern können die Alphadaten in einer Datendatei gespeichert werden, die von der Datendatei, die die Bilddaten speichert, getrennt ist. Auf diese Weise muss nicht auf die Alphadaten zugegriffen werden, wenn sie nicht zu verarbeiten sind. Wenn die Alphadaten zu verarbeiten sind, können sie aus der Alphadatendatei ausgelesen und mit den Bilddaten aus der Bilddatendatei in dem Speicher zur effizienten Verarbeitung gemischt werden. Somit sind die Bilddaten und die Alphadaten für jedes Bild in dem Bitstrom benachbart, und Daten für mehrere Bilder sind in dem Bitstrom benachbart.
  • Daten sind in einem Bitstrom benachbart, wenn der Offset und die Größe eines Blocks von Daten in dem Bitstrom verwendet werden können, um den Offset eines anderen Blocks von Daten zu ermitteln, der in diesem Bitstrom dazu benachbart ist. Benachbart bedeutet nicht, dass die Daten an benachbarten Speicherstellen in einem beliebigen Speichermedium gespeichert werden. Jeder Block von Daten kann Kopf- und/oder Fußinformationen (header and/or footer information) enthalten, die in dem Block gespeichert sind. Das Vorhandensein derartiger Kopf- und Fußinformationen hat keinen Einfluss darauf, ob Blöcke von Daten benachbart sind.
  • 3 ist ein Flussdiagramm, das beschreibt, wie ein einzelner Frame von 8-Bit Bilddaten aus einem Bitstrom, wie er in 2 gezeigt ist, ausgelesen wird. Die Größe der gewünschten 8-Bit Daten und ihr Offset in dem Bitstrom wird bestimmt (300). Der Offset der Leseoperation wird durch Abrunden des Offsets der gewünschten 8-Bit Daten in dem Bitstrom auf die nächstliegende Seitengrenze bestimmt. Der Wert wird durch Berechnen des Offset-Modulos 4096 und Subtrahieren dieses Werts von dem Offset abgerundet. Die Größe der Leseoperation wird durch Aufrunden der Größe der 8-Bit Daten auf ein Vielfaches der Seitengrenze bestimmt (304). Dieser Wert wird durch Berechnen des Offset-Modulos 4096 und seines Addierens zu der 8-Bit Größe aufgerundet. Dann werden die Daten, die an dem bestimmten Offset beginnen und die bestimmte Größe haben, gelesen (306). Der Unterschied zwischen dem tatsächlichen 8-Bit Offset und dem abgerundeten 8-Bit Offset ist die Menge von Daten am Anfang der Lesedaten, die verworfen werden kann.
  • Nehmen wir zum Beispiel an, dass ein Bild eine aktive Gesamt-Bildatengröße von 5184000 Bytes hat. Unter der Annahme einer Seitengröße von 4096 (4 K) Bytes ist die Gesamtgröße der Daten 5185536 Bytes. Daher weist der Block von Daten, der das Bild repräsentiert, Auffüllung von 1536 Bytes, 2-Bit Daten von 1036800 Bytes und 8-Bit Daten von 4147200 Bytes auf. Der Offset des 8-Bit Abschnitts ist die Summe der Auffüllgröße und der 2-Bit Datengröße, also 1038336 Bytes. Der Offset für die Leseoperation ist der 8-Bit Offset minus das Offset-Modulo 4096, also 1036288. Die Größe für die Leseoperation ist die 8-Bit Größe plus das 8-Bit Offset-Modulo 4096, also 4149248. Somit werden 2048 Bytes am Anfang der Lesedaten verworfen. Alphainformationen für das Bild werden nicht gelesen.
  • Wenn es Alphainformationen gibt, kann auf die 8-Bit Alphainformationen für einen einzelnen Frame folgendermaßen zugegriffen werden. Eine Leseoperation startet am Anfang der 8-Bit Alphainformationen für das Bild mit dem Lesen. Die Größe der Leseoperation ist die Größe der 8-Bit Alphainformationen, aufgerundet auf die nächstliegende Seitengröße. Der Unterschied zwischen der Lesegröße und der tatsächlichen Größe der 8-Bit Alphainformationen gibt die Menge von Daten an, die am Ende der Lesedaten zu verwerfen sind. Der Anfang der 10-Bit Alphainformationen kann in einem Bitstrom benachbart mit dem Ende der 10-Bit Bilddaten platziert werden.
  • 4 ist ein Flussdiagramm, das beschreibt, wie ein einzelner Frame von 10-Bit Bilddaten aus einem Bitstrom gelesen wird. Der ganze Frame von Bilddaten wird in einen Zwischenspeicher gelesen (400). Offsets für die 8-Bit und 2-Bit Abschnitte werden in dem Zwischenspeicher bestimmt (402). Vier Bytes der 8-Bit Bilddaten werden in das am wenigsten signifikante Bit von vier 16-Bit Registern geschoben (404), das signifikanteste Bit zuerst. Von dem entsprechenden Byte der 2-Bit Bilddaten wird jede 2-Bit Date, das signifikanteste Bit zuerst, in dasselbe am wenigsten signifikante Bit des 16-Bit Registers, das entsprechende 8-Bit Daten speichert, geschoben (406). Das Ergebnis dieser Operationen ist ein ganzzahliger 16-Bit Wert in jedem Register, wobei die 6 signifikantesten Bits auf Null gesetzt sind und die 10 am wenigsten signifikanten Bits den gewünschten 10-Bit Wert repräsentieren.
  • In einer Hardware-Implementierung können zwei DMA-Maschinen verwendet werden, um Daten aus einem Zwischenspeicher in Bit-Schieber zu schreiben, um jeden 10-Bit Wert zu erzeugen. Nachdem diese vier Werte verarbeitet worden sind, wiederholt sich der Prozess für die restlichen Bilddaten, wenn Bilddaten zur Verarbeitung (wie bei 408 bestimmt) in dem Zwischenspeicher verblieben sind.
  • Wenn Alphainformationen vorliegen, kann auf die 10-Bit Alphainformationen für einen einzelnen Frame auf ähnliche Weise zugegriffen werden. Eine Leseoperation startet am Anfang der 8-Bit Alphainformationen mit dem Lesen. Die Gesamtmenge von 8-Bit Alpha-, 2-Bit Alpha- und Auffüllungsdaten für den Frame wird in einen Zwischenspeicher gelesen. Die 8-Bit Alphadaten und die 2-Bit Alphadaten werden zu 10-Bit Daten verarbeitet, die auf dieselbe Weise wie die 8-Bit Bilddaten und die 2-Bit Bilddaten als 16-Bit ganze Zahlen repräsentiert werden. Der Anfang der 10-Bit Alphainformationen kann in einem Bitstrom benachbart mit dem Ende der 10-Bit Bilddaten platziert werden.
  • 5 ist ein Flussdiagramm, das beschreibt, wie mehrere Frames von 8-Bit Bilddaten aus einem Bitstrom gelesen werden. Das Lesen mehrerer Frames von 8-Bit Daten involviert den Zugriff auf den ersten Frame von 8-Bit Daten wie oben in Zusammenhang mit 3 beschrieben, dann das Lesen des Bitstroms, einschließlich der 2-Bit Abschnitte, für die folgenden Bilder. Auf die Daten von den folgenden Bildern wird unter Verwendung von Streuungs-/Sammeloperationen zugegriffen, die durch das Betriebssystem bereitgestellt werden. Insbesondere werden die Aufüllungsabschnitte und die 2-Bit Abschnitte für jedes Bild in dieselben Speicherplätze eingelesen, um sie zu verwerfen.
  • Insbesondere werden der Offset und die Größe des ersten Frames von 8-Bit Daten in dem Bitstrom an der nächstgelegenen Seitengrenze auf dieselbe Weise bestimmt (500) wie oben in Zusammenhang mit 3 beschreiben. Für jeden nachfolgenden Frame werden der Offset und die Größe der 8-Bit Daten bestimmt (502). Der Offset und die Größe der Auffüllungsdaten und der 2-Bit Daten dieses Frames werden ebenfalls bestimmt (504). Diese Berechnungen (502, 504) werden wiederholt (506), bis der Offset und die Größe der 2-Bit Daten und der 8-Bit Daten für alle Frames bestimmt worden sind. Dann wird eine Liste von Offsets und Größen für 8-Bit Daten und 2-Bit Daten aufgestellt (508). Diese Liste wird als Parameter für eine Streuungs-/Sammel-Leseoperations-Anfrage (510) für das Betriebssystem bereitgestellt. Das Betriebssystem wird insbesondere aufgefordert, die Auffüllungsdaten und die 2-Bit Daten an dieselben Speicherplätze zu leiten, um sie zu verwerfen.
  • Wenn Alphainformationen in einer getrennten Datendatei vorliegen und die Alphainformationen nicht benutzt werden, können sie ignoriert werden. Wenn Alphainformationen in einer getrennten Datendatei vorliegen und die 8-Bit Alphainformationen benutzt werden, werden der Offset und die Größe in dem Bitstrom jedes Teils der Alphainformationen ebenfalls bestimmt. Diese Informationen werden zu der Streuungs-/Sammelliste hinzugefügt, um das Betriebssystem zu instruieren, die 8-Bit Alphainformationen in geeignete Zwischenspeicher zu lesen, die mit den 8-Bit Bilddaten durchsetzt sind. Diese Informationen werden auch in der Streuungs-/Sammelliste verwendet, um das Betriebssystem zu instruieren, die 2-Bit Alphainformationen und die Auffüllung während einer Leseoperation in derselben Weise zu verwerfen wie die 2-Bit Bilddaten oder die Auffüllung verworfen werden.
  • 6 ist ein Flussdiagramm, das beschreibt, wie mehrere Frames von 10-Bit Bilddaten aus einem Bitstrom gelesen werden. Für mehrere Frames von 10-Bit Daten ist das Verfahren ähnlich zu dem von 4, außer dass es für mehrere Frames wiederholt wird. Insbesondere wird der gesamte Frame von Bilddaten in einen Zwischenspeicher gelesen (600). Offsets in dem Zwischenspeicher für die 8-Bit Abschnitte und die 2-Bit Abschnitte werden bestimmt (602). Vier Bytes der 8-Bit Bilddaten werden in das am wenigste signifikante Bit von vier 16-Bit Registern geschoben, das signifikanteste Bit zuerst. Von dem entsprechenden Byte von 2-Bit Bilddaten wird jede 2-Bit Date, das signifikanteste Bit zuerst, in dasselbe am wenigsten signifikante Bit des 16-Bit Registers geschoben (606), das entsprechende 8-Bit Daten speichert. Nachdem diese vier Werte verarbeitet worden sind, wird der Prozess für die verbleibenden Bilddaten wiederholt, wenn Bilddaten in dem Zwischenspeicher zur Verarbeitung (wie bei 608 bestimmt) verblieben sind. Nachdem die Bilddaten für das Bild verarbeitet worden sind, wird der Prozess (600, 602, 604, 606, 608) wiederholt, wenn Bilder zur Verarbeitung übrig geblieben sind, wie bei 610 bestimmt.
  • Wenn Alphainformationen in einer getrennten Datendatei vorliegen und die Alphainformationen nicht benutzt werden, können sie ignoriert werden. Wenn Alphainformationen in einer getrennten Datendatei vorliegen und die Alphainformationen benutzt werden, werden die Alphainformationen auf dieselbe Weise gelesen und verarbeitet wie die Bilddaten, unter Verwendung der Streuungs-/Sammelliste, um die Bilddaten und die Alphadaten in dem Speicher zu mischen. Die Alphadaten können auch in 10-Bit Daten, die mittels 16-Bit ganzen Zahlen repräsentiert werden, umgewandelt werden.
  • 7 ist ein Flussdiagramm, das beschreibt, wie jeder Frame von 10-Bit Bilddaten in ein gepacktes Format umgewandelt wird. Im Allgemeinen werden 10- Bit Daten verarbeitet, indem 10-Bit Werte als 16-Bit Ganzzahl-Werte dargestellt werden, was als Eingabeformat für das vorliegende Beispiel angenommen wird. Für jeden Frame von Videoinformationen wird ein Zwischenspeicher zugeteilt (700), um den Bitstrom für das Bild aufzubauen. Die acht signifikantesten Bits der 10-Bit Videoinformationen werden für alle Pixel in dem Frame lokalisiert. Die 8-Bit Abschnitte werden gesammelt und in einem ersten Datenabschnitt des Bitstroms am Ende des Zwischenspeichers platziert (702). Insbesondere werden die 8-Bit Daten, die dem letzten Pixel des Bilds entsprechen, am Ende des Blocks von 8-Bit Daten platziert und mit einer Speicherseitengrenze ausgerichtet. Die beiden am wenigsten signifikanten Bits der 10-Bit Videoinformationen werden für alle Pixel in dem Frame lokalisiert. Die 2-Bit Abschnitte werden in Bytes gesammelt und in einem zweiten Datenabschnitt des Bitstroms vor den 8-Bit Daten in dem Zwischenspeicher platziert (704). Auffüllungs- oder Kopfzeileninformationen werden dann vor dem zweiten Datenabschnitt in dem Zwischenspeicher platziert (706).
  • Alle Alphainformationen können auf ähnliche Weise verarbeitet werden. Insbesondere können 8-Bit Abschnitte von Alphainformationen gesammelt und in einem ersten Alphaabschnitt am Anfang eines Zwischenspeichers in einem Bitstrom platziert werden. Die 2-Bit Abschnitte der Alphainformationen werden gesammelt und in einem zweiten Alphabschnitt in dem Bitstrom nach dem 8-Bit Alphaabschnitt platziert. Auffüllungs- oder Kopfzeilen-/Fußzeileninformationen werden dann in dem Zwischenspeicher am Ende des Zwischenspeichers platziert. Die Alphadaten für mehrere Bilder werden benachbart in dem Bitstrom platziert und können in einer Datei getrennt von den Bilddaten gespeichert werden.
  • Die verschiedenen Bestandteile des in 1 gezeigten Systems und die Flussdiagramme der 3 bis 7 können als Computerprogramm unter Verwendung eines Universal-Computersystems implementiert werden. Ein derartiges Computersystem umfasst typischerweise eine Haupteinheit, die sowohl mit einer Ausgabevorrichtung verbunden ist, die einem Benutzer Informationen anzeigt, als auch mit einer Eingabevorrichtung, die Eingaben von einem Benutzer empfängt. Die Haupteinheit umfasst im Allgemeinen einen Prozessor, der über einen Verbindungsmechanismus mit einem Speichersystem verbunden ist. Die Eingabevorrichtung und die Ausgabevorrichtung sind ebenfalls über den Verbindungsmechanismus mit dem Prozessor und dem Speichersystem verbunden.
  • Eine oder mehrere Ausgabevorrichtungen kann/können mit dem Computersystem verbunden sein. Beispielhafte Ausgabevorrichtungen umfassen, sind jedoch nicht beschränkt auf, eine Bildröhren (Cathode Ray Tube; CRT) – Anzeige, Flüssig kristallanzeigen (Liquid Crystal Display; LCD) und andere Videoausgabegeräte, Drucker, Kommunikationsvorrichtungen wie z.B. ein Modem, sowie Speichervorrichtungen wie Diskette oder Band. Eine oder mehrere Eingabevorrichtungen kann/können mit dem Computersystem verbunden sein. Beispielhafte Eingabevorrichtungen umfassen, sind jedoch nicht beschränkt auf, Tastatur, Tastenfeld, Track Ball, Maus, Grafiktablett, Kommunikationsvorrichtung und Dateneingabevorrichtungen. Die Erfindung ist nicht auf die bestimmten Eingabe- oder Ausgabevorrichtungen, die in Kombination mit dem Computersystem verwendet werden, oder auf diejenigen, die hier beschrieben sind, beschränkt.
  • Das Computersystem kann ein Universal-Computersystem sein, das mittels einer Computer-Programmiersprache wie „C++", Visual Basic, JAVA oder einer anderen Sprache, z.B. einer Skriptsprache oder auch Assemblersprache, programmierbar ist. Das Computersystem kann auch speziell programmierte Spezialhardware sein. Bei einem Universal-Computersystem ist der Prozessor typischerweise ein handelsüblicher Prozessor, wie z.B. verschiedene Prozessoren, die von Intel, AMD, Cyrix, Motorola und IBM erhältlich sind. Der Universalcomputer weist auch typischerweise ein Betriebssystem auf, das die Ausführung anderer Computerprogramme steuert und Planung, Fehlerbeseitigung, Eingangs-/Ausgangssteuerung, Buchhaltung, Kompilation, Speicherzuordnung, Datenverwaltung und Speicherverwaltung, sowie Kommunikationssteuerung und verwandte Dienste zur Verfügung stellt. Beispielhafte Betriebssysteme umfassen, sind jedoch nicht beschränkt auf, das UNIX Betriebssystem und diejenigen, die von Microsoft und Apple Computer erhältlich sind.
  • Ein Speichersystem umfasst typischerweise ein computerlesbares Medium. Das Medium kann flüchtig oder nicht flüchtig, beschreibbar oder nicht beschreibbar und/oder zurückschreibbar oder nicht zurückschreibbar sein. Ein Speichersystem speichert Daten typischerweise in binärer Form. Solche Daten können ein Anwendungsprogramm definieren, das durch den Mikroprozessor auszuführen ist, oder Informationen, die auf der durch das Anwendungsprogramm zu bearbeitenden Diskette gespeichert sind. Die Erfindung ist nicht auf ein bestimmtes Speichersystem beschränkt.
  • Ein System wie das oben beschriebene kann in Software oder Hardware oder Firmware, oder in einer Kombination dieser drei implementiert werden. Die verschiedenen Elemente des Systems können entweder einzeln oder in Kombination als ein oder mehrere Computerprogramm-Erzeugnisse implementiert werden, in dem/denen Computerprogrammbefehle zur Ausführung durch einen Computer auf einem computerlesbaren Medium gespeichert sind. Verschiedene Schritte eines Ver fahrens können von einem Computer durchgeführt werden, der derartige Computerprogrammbefehle ausführt. Das Computersystem kann ein Multiprozessor-Computersystem sein oder kann mehrere Computer umfassen, die über ein Computernetzwerk miteinander verbunden sind. Die in 1 gezeigten Bestandteile können getrennte Module eines Computerprogramms sein, oder können getrennte Computerprogramme sein, die auf getrennten Computern betrieben werden können. Die von diesen Bestandteilen erzeugten Daten können in einem Speichersystem gespeichert oder zwischen Computersystemen übertragen werden.
  • Nachdem nun eine beispielhafte Ausführungsform beschrieben worden ist, sollte es für den Fachmann offensichtlich sein, dass das Vorstehende nur illustrativ und nicht einschränkend ist, da es nur als Beispiel dargelegt worden ist. Zahlreiche Modifikationen liegen innerhalb der Fähigkeiten eines Durchschnittsfachmanns und werden als in den Umfang der Erfindung fallend betrachtet.

Claims (14)

  1. Bildverarbeitungsvorrichtung mit: einem Bitstrom-Speicher (102), der m-Bit Bilddaten enthält, einschließlich, für jeden Frame von Bilddaten: einem ersten Datenabschnitt (200), der n signifikanteste Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält, wobei n eine ganze Zahl und eine Potenz von Zwei ist; einem zweiten Datenabschnitt (204), der k am wenigsten signifikante Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält, wobei k gleich dem Unterschied zwischen m und n ist; wobei der erste Datenabschnitt an einer Speicherseitengrenze endet; und wobei der zweite Datenabschnitt dem ersten Datenabschnitt in dem Bitstrom-Speicher vorangeht und benachbart ist; sowie Bildverarbeitungseinrichtungen (114), die mit dem Bitstrom-Speicher kommunizieren.
  2. Vorrichtung nach Anspruch 1, die des Weiteren eine Bitstrom-Lesevorrichtung (106) aufweist, die auf eine n-Bit Darstellung für einen einzelnen Frame von Bilddaten zugreifen kann, einschließlich Einrichtungen zum: Bestimmen eines Offsets und der Größe der n-Bit Daten für den einzelnen Frame in dem Bitstrom; Abrunden des Offsets auf die nächstgelegene Speichergrenze; Aufrunden der Größe auf die nächstgelegene Speichergrenze; und Durchführen einer Lese-Operation für den Bitstrom mittels des gerundeten Offsets und der gerundeten Größe.
  3. Vorrichtung nach Anspruch 1 oder 2, die des Weiteren eine Bitstrom-Schreibvorrichtung (110) aufweist, die für jeden Frame der Bilddaten geeignet ist, um Speicher für einen Bitstrom zuzuteilen; um n signifikanteste Bits jedes m-Bit Werts des Frames zu sammeln, um n-Bit Werte bereitzustellen, wobei n eine ganze Zahl und eine Potenz von Zwei ist; um die gesammelten n-Bit Werte als benachbarten Block in einem ersten Datenabschnitt (200) des Bitstroms in dem zugeteilten Speicher zu platzieren, wobei der erste Datenabschnitt an einer Speichergrenze endet; um k am wenigsten signifikante Bits jedes m-Bit Werts des Frames in n-Bit Worte der k-Bit Werte zu sammeln; und um die n-Bit Worte der k-Bit Werte als benachbarten Block in einem zweiten Datenabschnitt (204) des Bitstroms in dem zugeteilten Speicher zu platzieren, wobei der zweite Datenabschnitt dem ersten Datenabschnitt in dem Bitstrom vorangehet und dazu benachbart ist.
  4. Erzeugnis mit: einem computerlesbaren Medium; Daten, die auf dem computerlesbaren Medium gespeichert sind, die, wenn sie von einem Computer ausgewertet werden, einen Bitstrom zum Speichern von m-Bit Bilddaten aufweisen, einschließlich, für jeden Frame von Bilddaten: einem ersten Datenabschnitt (200), der n signifikanteste Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält, wobei n eine ganze Zahl und eine Potenz von Zwei ist; einem zweiten Datenabschnitt (204), der k am wenigsten signifikante Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block enthält, wobei k gleich dem Unterschied zwischen m und n ist; wobei der erste Datenabschnitt an einer Speicherseitengrenze endet; und wobei der zweite Datenabschnitt dem ersten Datenabschnitt in dem Bitstrom vorangeht und dazu benachbart ist.
  5. Erzeugnis nach Anspruch 4, wobei der Bitstrom des Weiteren Alpha-Informationen (206, 210) aufweist, die jedem Frame von Bilddaten entsprechen.
  6. Erzeugnis nach Anspruch 5, wobei die Alpha-Informationen m-Bit Alpha-Informationen sind und umfassen: einen ersten Alpha-Abschnitt (206) einschließlich n signifikanteste Bits der m-Bit Alpha-Informationen für den Frame in einem benachbarten Block; und einen zweiten Alpha-Abschnitt (210) einschließlich k am wenigsten signifikante Bits der m-Bit Alpha-Informationen für den Frame in einem benachbarten Block.
  7. Erzeugnis nach Anspruch 6, wobei der erste Alpha-Abschnitt an einer Speichergrenze beginnt.
  8. Erzeugnis nach Anspruch 7, wobei der zweite Alpha-Abschnitt dem ersten Alpha-Abschnitt in dem Bitstrom nachfolgt und dazu benachbart ist.
  9. Erzeugnis nach einem der Ansprüche 4 bis 8, wobei m gleich Zehn ist, n gleich Acht ist und k gleich Zwei ist.
  10. Verfahren zum Lesen eines Bitstroms von m-Bit Bilddaten, wobei der Bitstrom für jeden Frame von Bilddaten aufweist: einen ersten Datenabschnitt (200) einschließlich n signifikanteste Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block, wobei n eine ganze Zahl und eine Potenz von Zwei ist, einen zweiten Datenabschnitt (204) einschließlich k am wenigsten signifikante Bits der m-Bit Bilddaten für alle Pixel in dem Frame in einem benachbarten Block, wobei k gleich dem Unterschied zwischen m und n ist, wobei der erste Datenabschnitt an einer Speichergrenze endet; und wobei der zweite Datenabschnitt dem ersten Datenabschnitt in dem Bitstrom vorangeht und dazu benachbart ist, wobei das Verfahren zum Lesen umfasst: Zugreifen auf eine n-Bit Darstellung für einen einzelnen Frame von Bilddaten, einschließlich: Bestimmen (300) eines Offsets und der Größe der n-Bit Daten für den einzelnen Frame in dem Bitstrom; Abrunden (302) des Offsets auf die nächstgelegene Speichergrenze; Aufrunden (304) der Größe auf die nächstgelegene Speichergrenze; und Durchführen einer Lese-Operation (306) für den Bitstrom mittels des gerundeten Offsets und der gerundeten Größe.
  11. Verfahren nach Anspruch 10, wobei der Bitstrom des Weiteren Alpha-Informationen (206, 210) aufweist, die jedem Frame von Bilddaten entsprechen, wobei die Alpha-Informationen für einen Frame in dem Bitstrom dem ersten Datenabschnitt (200) für den entsprechenden Frame nachfolgen und dazu benachbart sind, wobei das Verfahren des Weiteren umfasst: Bestimmen eines Offsets und der Größe von n-Bit Alpha-Informationen in dem Bitstrom; Aufrunden der Größe auf die nächstgelegene Speichergrenze; Durchführen einer Lese-Operation für den Bitstrom mittels des Offsets und der gerundeten Größe.
  12. Verfahren nach Anspruch 11, das des Weiteren den Zugriff auf eine n-Bit Darstellung zusätzlicher Frames von Bilddaten aufweist und umfasst: Bestimmen eines Offsets und der Größe der n-Bit Bilddaten für jedes zusätzliche Frame in dem Bitstrom; Abrunden des Offsets auf die nächstgelegene Speichergrenze; Aufrunden der Größe auf die nächstgelegene Speichergrenze; Bestimmen eines Offsets und der Größe für weitere Daten in dem Bitstrom entsprechend jedem zusätzlichen Frame; und Instruieren eines Betriebssystems, den Bitstrom einschließlich der weiteren Daten und der n-Bit Bilddaten für jeden zusätzlichen Frame mittels einer Streuungs-/Sammel-Operation zu lesen, um die weiteren Daten zu verwerfen und die n-Bit Bilddaten in einem Speicher zu behalten.
  13. Verfahren zum Schreiben von m-Bit Bilddaten in einen Bitstrom, das umfasst: für jeden Frame der Bilddaten Zuteilen von Speicher für den Bitstrom; Sammeln von n signifikantesten Bits jedes m-Bit Werts des Frames, um n-Bit Werte bereitzustellen, wobei n eine ganze Zahl und eine Potenz von Zwei ist; Platzieren der gesammelten n-Bit Werte als benachbarten Block in einem ersten Datenabschnitt (200) des Bitstroms in dem zugeteilten Speicher, wobei der erste Datenabschnitt an einer Speichergrenze endet; Sammeln von k am wenigsten signifikanten Bits jedes m-Bit Werts des Frames in n-Bit Worten der k-Bit Werte; und Platzieren der n-Bit Worte der k-Bit Werte als benachbarten Block in einem zweiten Datenabschnitt (204) des Bitstroms in dem zugeteilten Speicher, wobei der zweite Datenabschnitt dem ersten Datenabschnitt in dem Bitstrom vorangeht und dazu benachbart ist.
  14. Computerprogramm-Erzeugnis mit: einem computerlesbaren Medium; Computerprogramm-Befehlen, die in dem computerlesbaren Medium gespeichert sind, die, wenn sie von einem Computer ausgewertet werden, den Computer instruieren, ein Verfahren gemäß einem der Ansprüche 10 bis 13 durchzuführen.
DE602004001797T 2003-04-03 2004-04-02 Bilddatenformat sowie Lese- und Schreibemethoden dafür Expired - Lifetime DE602004001797T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US406013 1999-09-24
US10/406,013 US7145567B2 (en) 2003-04-03 2003-04-03 Bitstream format and reading and writing methods and apparatus therefor

Publications (2)

Publication Number Publication Date
DE602004001797D1 DE602004001797D1 (de) 2006-09-21
DE602004001797T2 true DE602004001797T2 (de) 2007-08-16

Family

ID=32850636

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004001797T Expired - Lifetime DE602004001797T2 (de) 2003-04-03 2004-04-02 Bilddatenformat sowie Lese- und Schreibemethoden dafür

Country Status (5)

Country Link
US (2) US7145567B2 (de)
EP (1) EP1465418B1 (de)
JP (1) JP4129242B2 (de)
CA (1) CA2462413C (de)
DE (1) DE602004001797T2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4111192B2 (ja) * 2004-12-28 2008-07-02 セイコーエプソン株式会社 メモリコントローラ、表示コントローラ及びメモリ制御方法
EP1713285B1 (de) * 2005-04-15 2015-09-09 Thomson Licensing Verfahren und Vorrichtung zur Aufzeichnung von kodierten digitalen Daten
EP1713284A1 (de) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Aufzeichnung von kodierten digitalen Daten
US8866915B2 (en) * 2005-11-15 2014-10-21 Lawrence Livermore National Security, Llc High speed, real-time, camera bandwidth converter
US7474313B1 (en) * 2005-12-14 2009-01-06 Nvidia Corporation Apparatus, method, and system for coalesced Z data and color data for raster operations
US8212828B2 (en) * 2006-01-04 2012-07-03 Lsi Corporation Hybrid multiple bit-depth video processing architecture
US7471218B2 (en) * 2006-09-18 2008-12-30 National Semiconductor Corporation Methods and systems for efficiently storing and retrieving streaming data
US20120183234A1 (en) * 2011-01-14 2012-07-19 Sony Corporation Methods for parallelizing fixed-length bitstream codecs
EP2749026A1 (de) * 2011-11-18 2014-07-02 Koninklijke Philips N.V. Kodierung medizinischer bilder von hoher qualität unter verwendung standardisierter bildformate von niedriger qualität
WO2014209279A1 (en) * 2013-06-25 2014-12-31 Intel Corporation Management and access of media with media capture device operator perception data
GB2530898A (en) * 2014-08-21 2016-04-06 Samsung Electronics Co Ltd Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing
KR102264161B1 (ko) * 2014-08-21 2021-06-11 삼성전자주식회사 이미지 처리 장치, 이미지 처리 시스템, 이미지 처리 시스템의 동작방법 및 이미지 처리 시스템을 포함하는 시스템 온 칩
US10672148B2 (en) 2015-10-30 2020-06-02 Agfa Healthcare Compressing and uncompressing method for high bit-depth medical gray scale images
US10304155B2 (en) 2017-02-24 2019-05-28 Advanced Micro Devices, Inc. Delta color compression application to video
EP3367683A1 (de) * 2017-02-24 2018-08-29 Advanced Micro Devices, Inc. Deltafarbenkompressionsanwendung auf video
US10956245B1 (en) * 2017-07-28 2021-03-23 EMC IP Holding Company LLC Storage system with host-directed error scanning of solid-state storage devices
GB2567427B (en) * 2017-10-06 2020-10-07 Imagination Tech Ltd Data compression
US11153578B2 (en) 2018-04-27 2021-10-19 Ati Technologies Ulc Gradient texturing compression codec
GB2575435B (en) * 2018-06-29 2022-02-09 Imagination Tech Ltd Guaranteed data compression
CN110351562A (zh) * 2019-06-25 2019-10-18 西安交通大学 一种10比特yuv图像存储格式

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721942B2 (ja) 1984-10-11 1995-03-08 ソニー株式会社 チヤンネル符号化方法
JP2693809B2 (ja) 1989-03-17 1997-12-24 シャープ株式会社 画像記録再生装置
JPH0329517A (ja) 1989-06-27 1991-02-07 Matsushita Electric Ind Co Ltd 記録装置と再生装置
CA2028329C (en) 1989-10-23 2000-01-18 Hideaki Yamanaka Cell exchanging apparatus
US4965668A (en) 1989-11-09 1990-10-23 The Grass Valley Group, Inc. Adaptive rounder for video signals
US5237316A (en) 1990-02-02 1993-08-17 Washington University Video display with high speed reconstruction and display of compressed images at increased pixel intensity range and retrofit kit for same
US5081450A (en) 1990-03-09 1992-01-14 International Business Machines Corporation Apparatus and method for compressing and expanding multibit digital pixel data
JP3103914B2 (ja) 1992-08-21 2000-10-30 ソニー株式会社 データの丸め処理回路およびデータの復元回路
WO1994008287A1 (en) * 1992-09-29 1994-04-14 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
JPH0784851A (ja) * 1993-09-13 1995-03-31 Toshiba Corp 共有データ管理方法
JPH07105638A (ja) 1993-10-05 1995-04-21 Matsushita Electric Ind Co Ltd 画像データの記録再生装置
US5570356A (en) 1995-06-07 1996-10-29 International Business Machines Corporation High bandwidth communications system having multiple serial links
US5673065A (en) 1995-12-29 1997-09-30 Intel Corporation Color reduction and conversion using an ordinal lookup table
FI100563B (fi) * 1996-01-30 1997-12-31 Nokia Oy Ab Digitaalisten esitysobjektien salaus lähetyksessä ja tallennuksessa
US6239815B1 (en) * 1998-04-03 2001-05-29 Avid Technology, Inc. Video data storage and transmission formats and apparatus and methods for processing video data in such formats
EP1183874A1 (de) 2000-03-13 2002-03-06 Koninklijke Philips Electronics N.V. Speicherung von komprimierten datenstücken

Also Published As

Publication number Publication date
JP4129242B2 (ja) 2008-08-06
US20040196291A1 (en) 2004-10-07
EP1465418B1 (de) 2006-08-09
EP1465418A1 (de) 2004-10-06
US7145567B2 (en) 2006-12-05
DE602004001797D1 (de) 2006-09-21
CA2462413C (en) 2008-07-08
CA2462413A1 (en) 2004-10-03
US20070076009A1 (en) 2007-04-05
JP2004328723A (ja) 2004-11-18

Similar Documents

Publication Publication Date Title
DE602004001797T2 (de) Bilddatenformat sowie Lese- und Schreibemethoden dafür
DE69109346T2 (de) Übertragungssystem für digitalisierte Fernsehbilder.
DE69131370T2 (de) Pipelinestrukturen für vollfarbfähigen Rechnergraphik
DE69418510T2 (de) Vorrichtung und Verfahren zur Kompression von Bildsignalen
DE3877374T2 (de) Verfahren und vorrichtung zur herstellung transponierter bilddaten von einer &#34;run end&#34;- oder &#34;run length&#34;-bilddarstellung.
DE60022610T2 (de) Verfahren zur Animationskodierung in einer Bilddatei
DE69119847T2 (de) Elektronische standbildkamera mit mehrformatspeicherung von bildern mit voller und beschränkter auflösung
DE69015235T2 (de) Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle.
DE69227360T2 (de) Bildverarbeitungsverfahren und Vorrichtung dazu
DE102006029326A1 (de) Adaptive Videokompression eines graphischen Nutzerinfaces unter Verwendung von Applikations-Metadaten
DE3346458A1 (de) Bildverarbeitungssystem
DE68919669T2 (de) Graphikbilddatenkompressionsverfahren.
DE19531004A1 (de) Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten
DE3520515C2 (de) Signalaufzeichnungsverfahren
DE69820148T2 (de) Verfahren zur Kompression/Dekompression von Bilddaten
DE3751390T2 (de) Videoanzeige von Faksimilebilder.
DE112018002432T5 (de) Verfahren und Vorrichtung zum Reduzieren von Artefakten in einem projektionsbasierten Rahmen
WO2014146981A1 (de) Verfahren zur komprimierten speicherung von grafischen daten
DE60133267T2 (de) Bildaufzeichnungsvorrichtung und verfahren, bildwiedergabevorrichtung und verfahren und aufzeichnungsmedium, auf dem das bildverarbeitungsprogramm aufgezeichnet wird
DE3486243T2 (de) Elektronischer Einzelbildspeicher mit Schnellsortierung und Verfahren zu seinem Betrieb.
DE69631415T2 (de) System und verfahren zur stochastischen rasterung mit mehreren dichtepegeln
DE69513841T2 (de) Paketiertes yuv9 format zur verschachtelten speicherung und effizienten bearbeitung von digitalen videodaten
DE69416579T2 (de) Bildübertragungsgerät in welchem Pixeldaten geändert werden unter Verwendung von Folgenummern für die respektiven Rahmen
DE69301855T2 (de) Methode und Vorrichtung zur Anzeige von Strahlungsbildern
DE69729752T2 (de) Adaptive bildblockkompression

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M