DE102008012023B4 - Systeme und Verfahren zum zufälligen Zugreifen auf komprimierte Bilder - Google Patents

Systeme und Verfahren zum zufälligen Zugreifen auf komprimierte Bilder Download PDF

Info

Publication number
DE102008012023B4
DE102008012023B4 DE102008012023A DE102008012023A DE102008012023B4 DE 102008012023 B4 DE102008012023 B4 DE 102008012023B4 DE 102008012023 A DE102008012023 A DE 102008012023A DE 102008012023 A DE102008012023 A DE 102008012023A DE 102008012023 B4 DE102008012023 B4 DE 102008012023B4
Authority
DE
Germany
Prior art keywords
data unit
coefficient
quantized
bit stream
restart
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102008012023A
Other languages
English (en)
Other versions
DE102008012023A1 (de
Inventor
Cheng-Che Banciao Chen
Ching-Hua Bade Wen
Chan-Hung Su
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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Publication of DE102008012023A1 publication Critical patent/DE102008012023A1/de
Application granted granted Critical
Publication of DE102008012023B4 publication Critical patent/DE102008012023B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

Ein Verfahren zur Codierung von Quellenbildern umfassend eine Vielzahl von Dateneinheiten, durchgeführt durch eine Bildcodierungseinheit umfassend:
Erzeugen eines ersten quantisierten DC-Koeffizienten einer ersten Dateneinheit und einer Vielzahl von ersten AC-Koeffizienten der ersten Dateneinheit;
Bestimmen eines ersten Wertes beim (0,0) Element der ersten Dateneinheit gemäß dem ersten quantisierten DC-Koeffizienten;
Erzeugen eines ersten variablen Längencodierungs-(VLC)Stroms der ersten Dateneinheit durch Codieren des bestimmten ersten Wertes und der ersten AC-Koeffizienten;
Erzeugen eines codierten Bitstroms umfassend eine Restart-Markierung, gefolgt durch den ersten VLC-Strom der ersten Dateneinheit;
Speichern eines ersten Offsets, der auf eine Position zeigt korrespondierend zu der Restart-Markierung des codierten Bitstroms in einer Random-Access-Tabelle; und
Erzeugen und Speichern eines Kompressionsbildes umfassend den kodierten Bit-Strom und die Random-Access-Tabelle, in Form einer Datei;
wobei der Offset verwendet wird um zu der Position zu gelangen oder um von der Position zurückzukehren für zukünftiges decodieren des verbliebenen Anteils des kodierten Bitstroms,...

Description

  • Hintergrund
  • Die Erfindung bezieht sich auf eine Bildcodierung und Decodierung, und insbesondere auf ein Systeme und Verfahren zum zufälligen Zugreifen (Random Access) auf komprimierte Bilder.
  • Beim Betrachten von Bildern mag ein Benutzer bevorzugen, sich in einen besonderen Bereich eines Bildes hereinzuzoomen um diesen detailliert zu betrachten. Wenn ein Benutzer den bevorzugten Bereich eines Bildes auswählt, decodiert ein Bilddecodierverfahren vollständig das gesamte Bild und zeigt den ausgewählten Bereich des Bildes auf dem Bildschirm an. Das Decodieren von nicht dargestellten Bereichen eines Bildes, das dieses Bilddecodierverfahren verwendet hat, ist jedoch sehr Zeit konsumierend. Somit werden Systeme und Verfahren zum Codieren und Decodieren von komprimierten Bildern, die eine zufällige Zugriffsmöglichkeit erlauben, benötigt.
  • Die Druckschriften STRUTZ, T.: Bilddatenkompression-Grundlagen, Codierung, Wavelets, JPEG, MPEG, H. 264, Vieweg Verlag 3. Aufl. Mai 2005 beschreibt ein JPEG Verfahren und die damit verbundenen Nachteilen, bei einer Zoomoperation, da viele Daten einzulesen sind, die nicht benötigt werden, um in den Zoombereich zu gelangen.
  • RFC 2035 BERC, L; FENNER, W.; FREDERICK, R. et. Al.: RTP. Payload Format for JPEG-compressed Video zeigt einen RTP Strom, der in Segmente von Paketen zerlegt wird, die über das Internet übertragen werden, um Sie dann wieder zusammenzusetzen.
  • Die US 2007 00 81 730 A1 zeigt einen Ansatz zum Vermischen von Bildblöcken, die über die Restartmarken wieder entmischt werden können.
  • Überblick
  • Systeme und Verfahren zur Codierung von Quellenbildern/Source Images werden bereitgestellt. Eine Ausführungsform eines Verfahrens zum Codieren eines Quellenbildes umfassend eine Vielzahl von Dateneinheiten, das durch eine Bildcodierungseinheit durchgeführt wird, umfasst die folgenden Schritte. Ein quantisierter DC-Koeffizient und mehrere AC-Koeffizienten von Dateneinheiten werden erzeugt. Ein Wert am (0,0) Element der ersten Dateneinheit wird gemäß dem quantisierten DC-Koeffizienten bestimmt. Eine variabler Längenkodierungs-(VLC)Strom der Dateneinheit wird erzeugt durch Kodieren der bestimmten Werte und der AC-Koeffizienten. Ein kodierter Bit-Strom umfassend eine Restart-Marke (erneute Start-Marke) gefolgt durch den VLS-Strom der Dateneinheit wird erzeugt. Ein Offset (Versatz), der auf den Beginn der Restart-Marke des codierten Bit-Stroms zeigt, wird in einer Random-Access-Tabelle gespeichert. Ein Kompressionsbild umfassend den codierten Bitstrom und die Random-Access-Tabelle wird erzeugt. Eine Ausführungsform eines Systems zum Codieren eines Quellenbildes, das die beschriebene Ausführungsform des Verfahrens verwendend, wird ebenfalls offenbart.
  • Systeme und Verfahren zum Decodieren von komprimierten Bildern werden bereitgestellt.
  • Eine Ausführungsform eines Verfahrens zum Codieren eines komprimierten Bildes umfasst ein codierten Bitstrom und einer Random-Access-Tabelle, durchgeführt durch eine Bildcodiereinheit, umfassend die folgenden Schritte. Die mehrere Offsets umfassende Random-Access-Tabelle wird vom Kompressionsbild erlangt. Ein Offset, der zu einem Bereich des codierten Bitstroms korrespondiert, der decodiert werden soll, wird gefunden. Der codierte Bitstrom wird nach dem Finden des Offsets decodiert. Die decodierten Ergebnisse werden angezeigt. Eine Ausführungsform eines Systems zum Decodieren eines komprimierten Bildes, das die beschriebenen Ausführungsformen des Verfahrens verwendet, wird ebenfalls offenbart.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung kann besser verstanden werden durch Lesen der folgenden detaillierten Beschreibung und der Beispiele, die Bezug nehmen auf die beigefügten Zeichnungen, wobei
  • 1 ist ein Diagramm einer Hardwareumgebung, die auf eine Ausführungsform eines elektronischen Gerätes angewandt wird;
  • 2 ist ein Diagramm einer exemplarischen Dateneinheit;
  • 3a ist ein Diagramm eines exemplarischen 4:4:4 Formats
  • 3b ist ein Diagramm eines exemplarischen 4:2:2 co-sited (nebengeordneten) Formats;
  • 3c ist ein Diagramm eines exemplarischen 4:2:0 Formats;
  • 4 ist ein Flussdiagramm, das eine Ausführungsform eines Codierungsprozesses für eine Dateneinheit eines Quellenbildes darstellt;
  • 5 ist ein schematisches Diagramm vom DCT, um eine Zeit-Domänen Dateneinheit in eine Frequenz-Domänen Dateneinheit zu transformieren;
  • 6a und 6b sind Diagramme von exemplarischen Luminanz und Chrominanz – basierten Tabellen;
  • 7a ist ein Diagramm der [0,0] Element-Berechnung während des Codierens von mehreren Dateneinheiten, wenn das Restart-Marken-Einfügungs-Flag auf FALSE (Falsch) gesetzt ist;
  • 7b ist ein Diagramm einer [0,0] Element-Berechnung während des Codierens von mehreren Dateneinheiten, wenn ein Restart-Einfügungs-Flag auf TRUE und das andere auf FALSE gesetzt ist;
  • 8a zeigt ein Beispiel eines RLE Stroms, der keine Restart-Markierungen korrespondierend zur 7a umfasst;
  • 8b zeigt einen beispielhaften RLE Strom umfassend drei Restart-Marken korrespondierend zur 7b;
  • 9 ist ein Diagramm einer beispielhaften Ausrichtung in einer Zick-Zack-Ordnung;
  • 10a und 10b sind Diagramme von exemplarischen Luminanz DC-Differenz-Abbildungs- und Luminanz AC-Koeffizienten-Abbildungstabellen;
  • 11a und 11b sind schematische Diagramme, die einen exemplarischen VLC-Bit-Strom zeigen, versehen mit einer beispielhaften Random-Access-Tabelle;
  • 12 ist ein Diagramm der Datenstruktur eines exemplarischen JPEG-Images/Bildes;
  • 13 ist ein Diagramm einer Hardwareumgebung anwendbar auf eine Ausführungsform eines elektronischen Geräts;
  • 14 ist ein Diagramm einer exemplarischen Bilddecodierung mit Random-Access Control (zufälligem Zugriffs-Controlle);
  • 15 ist ein Diagramm einer DC-Koeffizienten-Berechnung für Dateneinheiten, die auf keine Restart-Marken folgen.
  • Detaillierte Beschreibung
  • Ein Bildverarbeitungssystem zum zufälligen Zugreifen auf komprimierte Bilder wird offenbart. Das System ist typischerweise zusammengesetzt aus einem Encoder bzw. Codierer und einem Decoder. Es ist zu beachten, dass der Codierer und der Decodierer in einer einzigen elektrischen Vorrichtung/Gerät oder in unterschiedlichen elektronischen Vorrichtungen/Geräten ausgeführt sein können.
  • Verfahren zur Erzeugung von komprimierten Bildern umfassend Random-Access-Informationen, verwendet in einem elektronischen Gerät wie z. B. einer digitalen Kamera, mobilen Telefon und Personal Digital Assistant (PDAs) mit oder ohne digitale Kameramodule und ähnlichen werden bereitgestellt. 1 ist ein Diagramm einer Hardwareumgebung anwendbar auf eine Ausführungsform eines elektronischen Geräts umfassend eine Verarbeitungseinheit/Bildcodierung 110 (auch als eine Bildcodierungseinheit bezeichnet), ein Arbeitsspeichergerät 130, ein Speichergerät 150 und ein digitales Kameramodul 170. Ein Quellenbild 100 kann durch das digitale Kameramodul erlangt werden oder kann im Arbeitsspeichergerät 130 wie einem dynamischen Random-Access Memory (DRAM), einem synchronen DRAM (SDRAM) Speicher oder ähnlichem, oder einem Speichermedium 151 wie z. B. einem Compact Flash (CF), einem Speicherstick (MS), einem Smart-Media (SM) oder einem SD Memory Card oder ähnlichem gespeichert werden, welche durch das Speichergerät 150 geladen werden.
  • Das digitale Kameramodul 170 umfasst ein Bildsensormodul umfassend mehrere Charge-coupled Device (CCD) Bildsensoren, komplementäre Metalloxid-Semikonduktoren (CMOS) Bildsensoren oder ähnliches, um die Intensität des Lichtes als unterschiedliche Ladungen aufzunehmen. Um den Inhalt des Bildsensormoduls in ein digitales Format zu konvertieren, quanitisiert ein Bildsignalprozessor (ISP) des digitalen Kameramoduls 170 die unterschiedlichen variablen Ladungen in eine diskrete Anzahl von Farben, um das Quellbild 100 zu erzeugen. Das Quellbild 100 enthält mehrere Pixeldaten (typischerweise umfassen diese R, G, B-Komponenten), quantifiziert durch den ISP 311 in einer vorgegebenen Auflösung wie z. B. 640×480, 1024×768 und so weiter.
  • Das offenbarte digitale Kameramodul muss bei einigen Ausführungsformen von elektronischen Geräten, wie z. B. auf Bildtranscodern und ähnlichen, nicht notwendigerweise darin angeordnet sein. Bei diesen kann das Quellbild 100 durch ein anderes elektronisches Gerät erzeugt und ausgegeben werden, und dann empfängt und speichert das offenbarte elektronische Gerät das ausgegebene Quellbild 100 im Arbeitsspeichergerät 130 oder im Speichermedium 151.
  • Die Bearbeitungseinheit/der Bildcodierer 110 erzeugt ein komprimiertes Bild 200 durch Codieren des Quellbildes 100 in einem Kompressionsformat wie z. B. Joint Photographic Experts Group (JPEG) Format. Das komprimierte Bild 200 kann weiterhin in einem Arbeitsspeichergerät 200/130 oder einem Speichermedium 151 abgelegt werden oder an ein anderes elektronisches Gerät zum entfernten Speichern oder Decodieren übermittelt werden. Während der Kompression des Quellenbildes 100 erzeugt die Bearbeitungseinheit/die Bildcodiereinheit 110 einen codierten Bitstrom umfassend mehrere Restart-Markierungen, eine Random-Access-Tabelle, die ihrerseits mehrere Random-Access Punkte aufzeichnet, von denen jeder durch ein Offset des codierten Bitstroms definiert ist, und kapselt den codierten Bitstrom mit der Random-Access-Tabelle in das komprimierte Bild 200. Es versteht sich ebenfalls, dass das Kompressionsbild 200 typischerweise in einem in Form eines Files/Datei gespeichert wird.
  • Um ein komprimiertes Bild 200 zu erzeugen, wird das Quellenbild 100 erlangt und die RGB-Dateneinheiten einer jeden Minimum-Code-Einheit (MCU), wird in YUV Dateneinheiten konvertiert. YUV ist eine von zwei primären Farbräumen, um digitale Bildkomponenten darzustellen (der andere ist RGB). Der Unterschied zwischen YUV und RGB ist der, dass YUV die Farben als Helligkeit und zwei Farb-Differenz-Signale darstellt, wohingegen RGB die Farben als rot, grün und blau darstellt. In YUV steht das Y für die Helligkeit (Luminanz), U für Blau minus Luminanz (B – Y) und V für Rot minus Luminanz (R – Y). Vorzugsweise enthält jede Dateneinheit 8×8 Pixel, wie in 2 gezeigt.
  • Um die Bandbreite zu komprimieren, können U und V weiterhin mit einer geringeren Rate als Y gesampelt werden, was technisch bekannt ist als „Chrominanz Subsampling” oder „Chrominanz Down-sampling”. Einige Farbinformationen im Bildsignal werden dabei weggelassen, jedoch nicht Helligkeit (Luminanz) Informationen. YUV ist bestimmt als 4:m:n”. Die „4” stellt typischerweise eine Sampling-Rate (Abtastrate) von 13,5 MHz dar. Die nächsten zwei Stellen repräsentieren die U und die V-Rate. Unterschiedliche Bildformate werden weiterhin beschrieben mit Bezugnahme auf die beiliegenden Zeichnungen. 3a ist ein Diagramm eines beispielhaften 4:4:4 Formats, wobei U und V mit der gleichen vollen Rate wie die Luminanz gesampelt werden. Beim Verwenden eines 4:4:4 Formats kann eine MCU (Y, U, V) Dateneinheiten umfassen:
  • 3b ist ein Diagramm eines beispielhaften 4:2:2 co-angeordneten Formats, wobei U und V mit der Hälfte der horizontalen Auflösung von y gesampelt werden. Der Begriff „co-sited” bedeutet, dass U/V samples zur gleichen Zeit wie Y genommen werden. Beim Verwenden des 4:2:2 co-sited Formats, kann eine MCU vier Dateneinheiten (Y1, Y2, U1,2 V1,2,) umfassen. 3c ist ein Diagramm eines beispielhaften 4:2:0 Formats, wobei die 0 in 4:2:0 bedeutet, dass U und V mit der Hälfte der vertikalen Auflösung von Y gesampelt werden können. Beim Verwenden eines 4:2:0 Formats kann eine MCU 6 Dateneinheiten (Y1, Y2, Y3, Y4, U1,2,3,4 V1,2,3,4) umfassen.
  • Nach dem Chrominanz Down-samplen, wird jede sich ergebende Y, U oder V-Dateneinheit des Quellbildes 100 durch Forward Discrete Cosinus Transformation (FDCT) Quantisierung, Zero Runlenght Encoding (RLE), Entropy Codierung und ähnlichem codiert. 4 ist ein Flussdiagramm, das eine Ausführungsform eines Codierungsprozesses für eine Dateneinheit des Quellbildes 100 (1) zeigt, durchgeführt durch eine Bearbeitungseinheit/Bildcodierer 110 (1). Y, U oder V-Daten der Dateneinheit werden erlangt (S411). Ein Restart-Marken-Einfügungs Flag wird gemäß einer Konfigurationseinstellung und der aktuellen Position, die die Dateneinheit lokalisiert (S413), bestimmt. Die Konfigurationseinstellungen zeigen eine von bestimmten Einfügungspolicies/Einfügungsstrategien an. Eine erste Einfügungspolicy mag anweisen, dass vor jeder Dateneinheit eine Restart-Marke, ein vordefiniertes Muster, eingefügt wird. Eine zweite Einfügungspolicy kann anweisen, dass vor jeder MCUs eine Restart-Marke eingefügt wird. Eine dritte Einfügungspolicy mag angeben, dass vor einer bestimmten Anzahl von MCUs wie z. B. nach jeweils zwei oder mehreren MCUs, eine Restart-Marke eingefügt wird. Das Restart-Marken-Einfügungs Flag wird auf TRUE gesetzt, wenn die Restart-Markierung notwendigerweise vor einer Dateneinheit einzufügen ist. Andernfalls wird das Restart-Markierungs-Einfügungs Flag auf FALSE gesetzt. Beispielsweise, wenn die Konfigurationseinstellung die erste Einfügungspolicy indiziert, wird das Restart-Marken-Einfügungs Flag für jede Dateneinheit auf TRUE gesetzt. Ein anderes Beispiel besagt, dass das Restart-Markierung-Einfügungs Flag auf TRUE gesetzt wird, wenn die Konfigurationseinstellung anzeigt, dass die zweite Einfügungspolicy gilt, und eine Dateneinheit mit Y, U oder V-Dateneinheit eines MCU beginnen. In noch einer anderen Ausführungsform wird das Restart-Markierungs-Einfügungs Flag auf TRUE gesetzt, wenn die dritte Einstellungspolicy angibt, dass eine Restart-Markierung vor jeder zwei MCUs eingefügt wird, dabei ist eine Dateneinheit der Anfang einer Y, U oder V-Dateneinheit dieser MCU und keine Restart-Markierungen werden vor den Dateneinheiten einer vorhergehenden MCU eingefügt.
  • Y, U oder V-Daten der Dateneinheit werden durch eine Forward Discrete Cosinus Transformations (FDCT) Formel (S413) in einen Satz von Frequenzen (auch DCT-Koeffizienten genannt) transformiert. Zum Beispiel, wenn eine Dateneinheit aus 8×8 Pixeln zusammengesetzt ist, so kann die Frequenz eines jeden einzelnen Pixels der Dateneinheit mit der folgenden FDCT Formel
    Figure 00160001
    berechnet werden, wobei Cu, Cv = 1/√2 für u, v = 0, Cu, Cv = 1 ansonsten, und Syx stellt die realen Daten von Y, U or V der y-sten Reihe und der x-ten Spalte der Dateneinheiten dar. Das Ergebnis ist ein 8×8 Transformationskoeffizientenarray bei dem das (0,0) Element der DC-(Null-Frequenz) Koeffizient ist und Einträge mit steigendem vertikalen und horizontalen Indexwerten stellen höhere vertikale und horizontale spatiale Frequenzen/Raumfrequenzen dar. Elemente, die anders sind als das (0,0) Element im entsprechenden Array, werden typischerweise als AC-Koeffizienten bezeichnet. 5 ist ein schematisches Diagramm eines DCT für die Transformierung einer Zeitdomainen-Einheit in einer Frequenz-Domänen Dateneinheit.
  • Die transformierten DCT Koeffizienten der Dateneinheit werden quantisiert mit Bezug zu einer vordefinierten Luminanz-Basistabelle oder einer vordefinierten Chrominanz-Basistabelle (S423). In 6a wird eine beispielhafte Luminanz Basis Tabelle 610 bereitgestellt zum Quantifizieren der Luminanz (Y) DCT Koeffizienten. 6b zeigt ist eine exemplarische Chrominanz-Basistabelle 630, die bereitgestellt wird für das Quantisieren der (U or V) DCT Koeffizienten. Jeder Luminanz oder Chrominanz DCT Koeffizient in einer Dateneinheit (d. h. einem Frequenz-Domänen Block) wird in eine korrespondierende Quantisierungsskalierung (typischerweise ein Integer) einer Luminanz-Basis-Tabelle oder einer Chrominanz-Basis-Tabelle aufgeteilt, and rundet dann diese zum nächsten Integer auf. Jeder Luminanz oder Chrominanz DCT Koeffizient Svu kann durch die folgende Quantisierungsgleichung quantisiert werden, die Bezug nimmt auf die Luminanz-Basis Tabelle 610 oder die Chrominanz-Basis-Tabelle 630:
    Figure 00180001
    wobei Svu den Luminanz oder Chrominanz-DCT-Koeffizienten der v-ten Reihe und der u-ten Spalte darstellt, und Qvu einen Quantisierungsbereich der v-ten Reihe und der u-ten Spalte in der Luminanz-Basis-Tabelle 610 oder der Chrominanz-Basis-Tabelle 630 darstellt.
  • Ein Prädiktor wird bestimmt gemäß der Restart-Markierungs-Einfügungs- bzw. Insertion-Flag (S431). Der Prädiktor wird auf 0 gesetzt, wenn das Restart-Markierungs-Einfügungs-Flag/Markierung auf TRUE/Wahr gesetzt wurde, andernfalls wird der Prädiktor auf einen Wert am (0,0) Element eines vorhergehenden Y, U oder V-Dateneinheit gesetzt, ebenfalls bezeichnet als vorhergehender DC-Koeffizient oder einer DC-Differenz eines vorhergehenden Y, U oder V-Dateneinheit. Ein Wert am (0,0) Element der Dateneinheit wird bestimmt gemäß dem quantifizierten DC-Koeffizienten und dem bestimmten Prädiktor. Der Wert der (0,0)-Elementes der Dateneinheit kann durch folgende Formel berechnet werden: Diff = zz(0) – pred;wobei ”Diff” den Ergebniswert am (0,0) Element der Dateneinheit darstellt, zz(0) den quantisierten DC- Koeffizienten der durch Schritt S423 erzeugt wurde, und ”pred” den durch Schritt S431 bestimmten Prädiktor darstellt. Es sollte verstanden sein, dass der Ergebniswert der quantifizierte DC-Koeffizient ist, wenn das Restart-Marken-Einfügungs-Flag auf TRUE gesetzt ist, und der Ergebniswert ein DC-Differenz ist, die berechnet wird durch Abziehen des quantifizierten DC-Koeffizienten von einem Wert am (0,0) Element der vorhergehenden Y, U oder V-Dateneinheit, wenn das Restart-Marken-Einfügungs-Flag auf FALSE steht. Somit ergibt sich, dass das (0,0) Elementwert der Dateneinheit unabhängig vom vorhergehenden Codierungsergebnis ist, wenn das Restart-Markierungs-Einfügungs-Flag auf WAHR bzw. TRUE gesetzt ist, andernfalls variiert das (0,0) Elementwert der Dateneinheit mit den vorhergehenden Codierungsergebnissen. 7a zeigt ein Diagramm der [0,0]-Elementberechnung während des Codierens von mehreren Dateneinheiten, wobei die Restart-Markierungs-Einfügungs-Flag auf FALSE gesetzt ist. So sind z. B. wie gezeigt, das [0,0]-Element der Dateneinheit Y3 die Diff[Y3] = DC[Y3] – Diff[Y2], das [0,0] Element der Dateneinheit U3,4 ist Diff[U3,4] = DC[U3,4] – Diff[U1,2], und das [0,0]-Element der Dateneinheit V3,4 ist Diff[V3,4] = DC[V3,4] – Diff[V1,2]. 7b ist ein Diagramm einer [0,0] Elementberechnung während des Codierens für mehrere Dateneinheiten, wobei das Restart-Markierungs-Einfügungs-Flag entsprechend auf TRUE bzw. FALSE gesetzt ist. Wie z. B. gezeigt, beim Codieren der Y1, Y2, U1,2, V1,2 und Y4, sind die Restart-Markierungs-Einfügungs-Flags auf FALSE, was dazu führt, dass die [0,0] Elemente der Dateneinheiten Y1, Y2, U1,2, V1,2 and Y4 jeweils mit denen der vorhergehenden Dateneinheiten variieren. Beim Codieren der Dateneinheiten Y3, U3,4 und V3,4, ist das Restart-Markierungs-Einfügungs-Flag TRUE, was dazu führt, dass die [0,0] Elemente der Dateneinheiten Y3, U3,4 und V3,4 unabhängig von dem der vorherigen Dateneinheiten sind.
  • Aus 4 wird deutlich, dass eine Restart-Markierung bereitgestellt wird, wenn das bestimmte Restart-Markierungs-Einfügungs-Flag TRUE ist (Schritt S451). Alle quantisierten DC-Koeffizienten werden sequenziell codiert durch ein Zero-Runlenght-Codierungs-(RLE)-Verfahren, um ein RLE-Code-Strom (Schritt S452) zu erzeugen. Insbesondere wird der RLE-Code-Strom angrenzend zu der Restart-Markierung gesetzt, wenn das bestimmte Reset-Markierungs-Einfügungs-Flag auf TRUE gesetzt ist, andernfalls wird der RLE-Code-Strom angrenzend zu dem vorherigen RLE-Code-Strom (Schritt S452) platziert. Die Restart-Markierung kann erkannt werden durch einen Decodierer, der anzeigt, dass der (0,0)-Elementwert dieser Dateneinheit ein quantifizierter DC-Koeffizient ist, der unabhängig von einem (0,0)-Elementwert der vorhergehenden Y, U oder V-Dateneinheiten ist. 8a zeigt ein beispielhaften RLE-Strom, enthaltend keine Restart-Markierungen korrespondierend zu 7a. 8 zeigt einen beispielhaften RLE-Strom, umfassend drei Restart-Markierungen M81 bis M85 korrespondierend zur 7b. Die quantisierten DCT-Koeffizienten, berechneten DC-Differenzen und eingefügten Restart-Markierungen der Dateneinheit werden, wie in 9 gezeigt, sequenziell in einer Zig-Zack-Ordnung ausgerichtet, um einen RLE-Code-Strom zu generieren. Als ein Resultat wird jeder quantisierte Luminanz- oder Chrominanz-DC-Koeffizient oder Differenzen in eine RLE-Code-Kombination einer Größe und Amplitude codiert, bei der die Amplitude das Einserkomplement der quantisierten Luminanz oder des Chrominanz-DC-Koeffizienten oder der DC-Differenz speichert und die Größe speichert die Länge der Amplitude (in bits). Jeder quantisierte Luminanz- oder Chrominanz-Koeffizient, außer dem „zero” bzw. „null”-Koeffizienten, wird in eine RLE-Code-Kombination einer Lauflänge, einer Größe und einer Amplitude codiert, wobei die Lauflänge eine Gesamtzahl von kontinuierlichen quantifizierten „zero” AC-Koeffizienten speichert, die diesen quantifizierten AC-Koeffizienten folgen, die Amplituden speichern das Einserkomplement dieses quantifizierten AC-Koeffizienten, die Größe speichert die Länge der Amplitude (in bits). Zum Beispiel, wenn sieben kontinuierliche quantifizierte „zero” AC-Koeffizienten einem quantifizierten „non-zero” AC-Koeffizienten folgen, dann ist die Lauflänge der quantifizierten „non”-zero” AC-Koeffizienten „sieben”.
  • Aus der 4 wird deutlich, dass der erzeugte RLE-Code-Strom mit einer Entropy-Coding-Verfahren (im allgemeinen Huffman-Codierung) bzw. entropisches Codierverfahren, das Bezug nimmt auf eine Luminanz DC-Koeffizienten/Differenz-Abbildungstabelle, eine Luminanz AC-Koeffizienten-Abbildungstabelle, eine Chrominanz DC-Koeffizienten/Differenz-Abbildungstabelle und eine Chriminanz AC-Koeffizienten-Abbildungstabelle, um einen Bitstrom mit variabler Längencodierung (VLC) (Schritt S453) zu generieren. Das entropische Codierverfahren codiert häufig Werte mit kürzerem Code. Insbesondere codiert das entropische Codierverfahren jede Größe einer RLE-Code-Kombination für eine quantifizierte Luminanz-DC-Koeffizient/Differenz in ein Codewort (im allgemeinen Huffman Code-Wort) mit Bezug auf die Luminanz DC-Koeffizienten/Differenz-Abblidungstabelle. Die Größe von jeder RLE-Kombination für einen quantisierten Chrominanz DC-Koeffizienten/Differenz wird mit Bezugnahme auf die Chrominanz DC Koeffizienten/Differenz-Abbildungstabelle in ein Codewort konvertiert. Das entropische Codierverfahren codiert jede Lauflänge/Größe einer RLE-Code-Kombination für einen quantisierten Luminanz-„non-zero” AC-Koeffizienten in ein Codewort mit Bezug auf die Luminanz-AC-Koeffizienten-Abbildungstabelle. Jede Laufänge/Größe einer RLE-Code Kombination für einen quantisierten Chrominanz „non-zero” AC-Koeffizienten wird abgebildet in ein Codewort mit Bezug auf die Chrominanz AC-Koeffizienten Abbildungstabelle. 10a und 10b sind Diagramme einer beispielhaften Luminanz-DC-Coeffizienten/Differenz-Abbildungs- und Luminanz-AC-Koeffizienten Abbildungstabelle 910 und 930. Z. B. wird eine RLE-Kombination für einen Luminanz-AC-Koeffizienten umfassend eine Lauflänge „1”, eine Größe „4” und eine Amplitude „0111” in ein Codewart „1111101100111” mit Bezugnahme auf die Luminanz-AC-Koeffizienten Abbildungstabelle 930 konvertiert. Es versteht sich, dass der erzeugte VLC-Bit-Strom- mit einer Restart-Markierung (falls notwendig) dieser Dateneinheit angehängt wird an einen zuvor codierten Bit-Strom korrespondierend zu vorhergehenden Dateneinheiten.
  • Bezugnehmend auf 4 wird ein Offset bzw. ein Versatz der Dateneinheit, die auf eine spezifische Position des codierten Bitstroms zeigt, in einer Random-Access-Tabelle (Schritt S455) gespeichert. Der Offset zeigt auf die Startposition bzw. Anfangsposition der eingefügten Restart-Markierung gefolgt von der Dateneinheit, oder der Anfangsposition der Dateneinheit, wenn dessen Restart- Markierungs-Einfügungs-Flag auf TRUE gesetzt ist, oder an die Startposition der Dateneinheit des VLC-Stroms, wenn dessen Restart-Markierungs-Einfügungs-Flag auf FALSE gesetzt ist. Es sollte berücksichtigt werden, dass der Offset durch einen Decoder verwendet werden kann, um an eine spezifische Codeposition des erzeugten VLC-Stroms zurückzugehen oder hinzugehen, wobei der verbliebene Bereich davon codiert wird. Die Random-Access-Tabelle kann auf einem flüchtigen Speicher aus Gründen des effizienten Zugriffs und/oder auf einen nicht-flüchtigen Speicher wie einem Speichergerät gespeichert werden, sodass ein Datenverlust verhindert wird, wenn ein außergewöhlicher Stromverlust oder Fehler auftreten. Ein Fachmann auf diesem Gebiet kann die Schritte modifizieren, um die Performance zu verbessern durch Nicht-Speichern in der Random-Access-Tabelle, wenn das Restart-Markierungs-Einfügungs-Flag davon FALSE ist. 11a ist ein schematisches Diagramm, das einen beispielhaften VLC-Bit-Strom darstellt, begleitet von einer beispielhaften Random-Access-Tabelle A100. Die Random-Access-Tabelle A100 speichert mehrere Offsets, jeder zeigt auf eine Position des Anfangs einer Dateneinheit oder auf eine Restart-Markierung korrespondierend zu einer Dateneinheit. 11b ist ein schematisches Diagramm, das einen anderen exemplarischen Bit-Strom darstellt, begleitet durch eine beispielhafte Random-Access-Tabelle A110. Die Random-Access-Tabelle A110 speichert mehrere Offsets, von denen jeder auf eine Position des Anfangs einer Dateneinheit angrenzend an eine Restart-Markierung zeigt.
  • Nachdem alle Dateneinheiten der Quellenbilder 100 (1) vollständig codiert wurden, werden das Kompressionsbild 200 (1), das den erzeugten VLC-Bit-Strom enthält, und die Random-Access-Tabelle erzeugt. 12 ist ein Diagramm der Datenstruktur eines beispielhaften JPEG Bildes 10000, umfassend zwei Anker, Start-of-Image/Beginn des Bildes (SOI) 11000 und end-of-Image/Ende des Bildes (EOI) 15000 und Rahmendaten 13000 zwischen ihnen. Die Rahmendaten 13000 sind zusammengesetzt aus Tabellen/Diverses 13100, Frameheader/Rahmenkopf 13300 und Scandaten 13500. Die Tabellen/Diverses 13100 speichern die Luminanz-Basistabelle 610 (6a) und die Chrominanz-Basistabelle 630 (6b). Die Tabelle/Diverses 13100 können weiterhin die erzeugten Random-Access-Tabellen speichern. Die Scandaten 13500 sind zusammengesetzt aus Tabellen/Diverses 13510, einem Scan-Header 13530 und den erzeugten VLC-Bitsrom 13550, der Restart-Markierungen enthält. Die Tabellen/Diverses 13510 speichern eine Luminanz-DC-Differenz-Abbildungstabelle und eine Luminanz-AC-Koeffizienz-Abbildungstabelle, eine Chrominanz-DC-Differenz-Abbildungstabelle und eine Chrominanz-AC-Koeffizienten-Abbildungstabelle. Die Tabellen/Diverses 13510 können weiterhin die erzeugten Random-Access-Tabellen speichern.
  • 13 ist ein Diagramm einer Hardwareumgebung anwendbar auf eine Ausbildungsform eines elektrischen Gerätes und einer Bearbeitungseinheit/Bilddecoder C110 (auch als Bildcodierungseinheit bezeichnet), ein Speichergerät C130, ein dauerhaftes Speichergerät C150 und einen Bildschirm C170. Ein komprimiertes Bild C200 in einem besonderen komprimierten Format wie dem Joint Photographic Experts Group (JPEG) Format kann in einem Speichergerät C130 wie z. B. einem dynamischen Random-Access-Memory (DRAM), einem synchronen DRAM (SDRAM), einem Flash Memory Device oder ähnlichem gespeichert werden oder aber auf einem Speichermedium C151 wie einem Compact Flash (CF), Memory Stick (MS), Smart Media (SM) oder SD Memory Card oder ähnlichem, oder kann durch das Speichergerät C150 geladen werden. Der Bildschirm C170 kann ein Farb Super-Twisted Nematic (CSTN) Display, ein Thin Film Transistor-Liquid Crystal Display (TFT-LCD), ein organic Light-Emitting Diode (LED) Display oder ähnliches sein. Details des Inhalts des Kompressionsbildes C200 mit dem Erzeugungsprozess werden im Folgenden beschrieben. Die Bearbeitungseinheit/der Bilddecoder C110 bestimmt einen Codierungsstartpunkt, decodiert das Kompressionsbild C200 danach, und zeigt das Decodierungsergebnis auf dem Display C170 an.
  • 14 zeigt ein Diagramm einer beispielhaften Bildcodierung mit einem Random-Access Controller, durchgeführt durch eine Bearbeitungseinheit/Bilddecodierer C110. Der codierte Bit-Strom/Bit-Strom wird decodiert durch sequenzielles Durchführen einer Random-Access Kontrolle B100, einer Entropie Decodierung B200, einer Zero Runlength Decodierung B300, einer Dequantisierung B500 und einer inversen, diskreten Cosinus-Transformation (IDCT) B700, um Bereiche eines decodierten Bildes zu erzeugen. Die Random-Access Kontrolle B100 erlangt eine Random-Access-Tabelle B110 von einer komprimierten Bilddatei (im allgemeinen A100 der 11), findet einen Offset, der zu einem Bereich des codierten Bit-Strom korrespondiert, um ihn zu decodieren, erlangt entsprechend den Bereich davon, und gibt diesen zum Entropy Decodieren B200 aus. Die Random-Accesss-Kontrolle B100 kann weiterhin nach dem Finden des Offsets ein Segment des codierten Bit-Strom überspringen, korrespondierend zu einigen Dateneinheiten oder MCUs, ohne vorangestellten Restart-Marken. Im Gegensatz zum Schritt S453 (4), konvertiert die Entropy Decodierung B200 VLC Codewörter (im allgemeinen Huffman Codes) des angegebenen codierten Bit-Stroms(Bit-Strom) in RLE-Codes mit Bezugnahme auf die Abblidungstabelle B210, wie zum Beispiel die oben genannte Luminanz-DC-Differenz, den Luminanz AC-Koeffizienten, die Chrominanz-DC-Differenz und die Chrominanz-AC-Koeffizienten-Abbildungstabellen, um eine VLD Codestream zu erzeugen.
  • Im Gegensatz zu Schritt S451 (4), decodiert das Zero Run Length Decoding (Null-Längen-Decodieren) B300 den zuvor erzeugten VLD Codestream (Code-Strom), um eine Serie von RLE Code-Kombinationen mit Restart-Marken zu erzeugen. Jede RLE Code-Kombination wird in einen quantisierten Y, U oder V-DC-Koeffizienten oder eine DC-Differenz oder in einen quantisierten Y, U oder V AC-Koeffizienten konvertiert. Für jede Dateneinheit wird die Zick-Zack-Sequenz der quantisierten Y, U oder V AC-Koeffizienten, wie in 9 gezeigt, in eine ursprüngliche Sequenz re-arangiert, um einen Datenblock zu scannen.
  • Es ist zu beachten, dass, wenn vor einer Y, U oder V Dateneinheit eine Restart-Marke vorhanden ist, dessen (0,0) Element ein quantisierter Y, U oder V DC-Koeffizient ist, dem eine Serie von quantisierten Luminanz- oder Chrominanz-AC-Koeffizienten folgt. Daraus ergibt sich, dass dessen (0,0) Element von einer entsprechenden vorherigen Y, U oder V Dateneinheit unabhängig ist.
  • Wenn vor einer Y, U oder V Dateneinheit keine Restart-Marke vorhanden ist, so ist das (0,0) Element davon eine quantisierte Y, U oder V DC-Differenz, der eine Serie/Reihe von quantisierten Y, U oder V AC-Koeffizienten folgt, und der quantisierte Y, U oder V DC-Koeffizient der Dateneinheit wird berechnet durch addieren von quantisierten Y, U oder V DC-Koeffizienten einer vorhergehenden korrespondierenden Y, U oder V Dateneinheit. 15 ist ein Diagramm einer DC-Koeffizienten Berechnung für Dateneinheiten, denen keine Restart-Markierung folgen. So ist beispielsweise der quantisierte DC-Koeffizient der Dateneinheit Y3 DC[Y3] = Diff[Y3] + DC[Y2], der quantisierte DC-Koeffizient der Dateneinheit U3,4 ist DC[U3,4] = Diff[U3,4] + DC[U1,2], und der quantisierte DC-Koeffizient der Dateneinheit V3,4 ist DC[V3,4] = Diff[V3,4] + DC[V1,2].
  • Im Gegensatz zu Schritt S423 (4), werden die quantisierten DC- and AC-Koeffiizienten jeder Dateneinheit de-quantisiert mit Bezugnahme auf die vordefinierte Luminanz- und Chrominanz-Basistabelle B510 (siehe auch 610 der 6a and 630 der 6b), um die quantisierten DCT-Koeffizienten zu erzeugen. Bezugnehmend auf 14 multipliziert die De-Quanitsierung B500 jeden quantisierten Luminanz- oder Chrominanz-DC- oder AC-Koeffizienten Squv durch eine korrespondierende Quantifizierungsskala einer Luminanzbasistabelle oder einer Chrominanzbasistabelle, wie z. B. 610 der 6a oder 630 of 6b, um einen de-quantisierten Luminanz- oder Chrominanz-DCT-Koeffizienten Svu zu erzeugen. So kann z. B. jeder Luminanz oder Chrominanz-DC- oder AC-Koeffizient Sq dequantisiert werden durch die folgende Dequantisierungsgleichung mit Bezugnahme auf die Luminanz Basistabelle 610 oder der Chrominanz-Basis-Tabelle 630: Svu = Sqvu × Qvu,wobei Sqvu einen quantisierten Luminanz- oder Chrominanz-DC- oder AC-Koeffizienten der v-ten Reihe und der u-ten Spalte der Chrominanz- oder Luminanz-Dateneinheit darstellt, und Qvu stellt eine quantisierte Skala der v-ten Reihe und der u-ten Spalte einer Chrominanz- oder Luminanz-Dateneinheit in der Luminanzbasistabelle 610 oder der Chrominanz-Basistabelle 630 dar.
  • Im Gegensatz zu Schritt S421 (4) wird jeder dequantisierte DCT Koeffizient einer jeden Y, U oder V Dateneinheit in eine decodierte Y, U oder V Dateneinheit durch eine inverse diskrete Cosinus-Transformation (IDCT) Formel transformiert. Zum Beispiel, wenn eine Dateneinheit zusammengesetzt ist aus 8×8 Pixeln, können die decodierten Y, U oder V Daten von jedem Pixel der Dateneinheit berechnet werden durch die folgende IDCT Formel:
    Figure 00330001
    wobei Cu, Cv = 1/√2 für u, v = 0, Cu, Cv = 1 steht, und Svu einen DCT Koeffizienten der y-ten Reihe und der x-ten Spalte der Dateneinheit darstellt. Es ist zu berücksichtigen, dass bevor die decodierten Y, U oder V Daten jedes Pixels der Dateneinheit angezeigt werden, diese einer Farbinterpolation und einer Farbraumtransformation unterzogen werden können.
  • Verfahren zum zufälligen Zugreifen auf komprimierte Bilder oder entsprechende Aspekte oder Bereiche davon können die Form eines Programm-Codes (im allgemeinen Instruktionen) annehmen, die auf einem greifbaren Medium abgelegt sind, wie z. B. auf einer Floppy Diskette, auf CD_ROMS, Festplatten oder ähnlichen anderen maschinenlesbaren Speichermedien, wobei, wenn die Programmcodes geladen werden und durch ein Gerät wie einen Computer, einen DVD-Rekorder oder ähnlichem ausgeführt werden, wird dieses Gerät eine Vorrichtung, um die Erfindung auszuführen. Die offenbarten Verfahren können ebenfalls in Form von Programmcodes ausgebildet sein, die über ein Übertragungsmedium übertragen werden wie z. B. eine elektrische Verkabelung oder Verdrahtung, wie z. B. Glasfaser oder über andere Formen von Übertragungsmedien, wobei, wenn der Programmcode empfangen wird und geladen wird und ausgeführt wird durch eine Maschine, wie durch einen Computer, wird die Maschine eine Vorrichtung zum Ausführen der Erfindung. Bei der Implementierung auf einem allgemeinen Prozessor wird der Programmcode in Kombination mit dem Prozessor eine einzigartige Vorrichtung, die analog arbeitet, um logische Schaltkreise zu spezifizieren.
  • Bestimmte Begriffe werden durchgängig durch die Beschreibung und die Ansprüche verwendet, um bestimmte Systemkomponenten zu beschreiben. Ein Fachmann auf diesem Gebiet würde diese entsprechend nennen, ein Hersteller von Konsumentenelektronik kann diese Komponenten mit einer anderen Bezeichnung verwenden. Dieses Dokument beabsichtigt nicht zwischen unterschiedlichen Komponenten zu unterscheiden, die lediglich im Namen unterschiedlich sind, nicht jedoch in ihrer Funktion.
  • Auch wenn die Beschreibung mit Begriffen wie bevorzugte Ausführungsform beschrieben wurde, wird keine Beschränkung hierin beabsichtigt. Ein Fachmann auf diesem Gebiet kann eine Vielzahl von Abweichungen und Modifikationen vornehmen ohne vom Schutzbereich und Geist der Erfindung abzuweichen. Daraus ergibt sich, dass der Schutzumfang der Erfindung durch die folgenden Ansprüche und ihre Äquivalente definiert werden soll.

Claims (21)

  1. Ein Verfahren zur Codierung von Quellenbildern umfassend eine Vielzahl von Dateneinheiten, durchgeführt durch eine Bildcodierungseinheit umfassend: Erzeugen eines ersten quantisierten DC-Koeffizienten einer ersten Dateneinheit und einer Vielzahl von ersten AC-Koeffizienten der ersten Dateneinheit; Bestimmen eines ersten Wertes beim (0,0) Element der ersten Dateneinheit gemäß dem ersten quantisierten DC-Koeffizienten; Erzeugen eines ersten variablen Längencodierungs-(VLC)Stroms der ersten Dateneinheit durch Codieren des bestimmten ersten Wertes und der ersten AC-Koeffizienten; Erzeugen eines codierten Bitstroms umfassend eine Restart-Markierung, gefolgt durch den ersten VLC-Strom der ersten Dateneinheit; Speichern eines ersten Offsets, der auf eine Position zeigt korrespondierend zu der Restart-Markierung des codierten Bitstroms in einer Random-Access-Tabelle; und Erzeugen und Speichern eines Kompressionsbildes umfassend den kodierten Bit-Strom und die Random-Access-Tabelle, in Form einer Datei; wobei der Offset verwendet wird um zu der Position zu gelangen oder um von der Position zurückzukehren für zukünftiges decodieren des verbliebenen Anteils des kodierten Bitstroms, wodurch vermieden wird, dass der vorhergehende Bereich des Bitstroms dekodiert werden muss.
  2. Das Verfahren nach Anspruch 1, weiterhin umfassend: Erzeugen eines zweiten quantisierten DC-Koeffizienten einer zweiten Dateneinheit und einer Vielzahl von zweiten AC-Koeffizienten der zweiten Dateneinheit; Feststellen eines zweiten Werts am (0,0) Element der zweiten Dateneinheit des zweiten quantisierten DC-Koeffizienten; Erzeugen einer zweiten VLC-Stroms der zweiten Dateneinheit durch Codieren des bestimmten zweiten Werts und des zweiten AC-Koeffizienten; Erzeugen des zweiten codierten Bit-Strom weiterhin umfassend den zweiten VLC-Strom der zweiten Dateneinheit; und Speichern eines zweiten Offsets, der auf den Beginn des zweiten VLC Stroms des zweiten codierten Bitstroms in der Random-Access-Tabelle zeigt.
  3. Das Verfahren nach Anspruch 2, wobei der erste Wert an dem (0,0) Element der ersten Dateneinheit der erste quantisierte DC-Koeffizient ist und der zweite Wert an dem (0,0) Element der zweiten Dateneinheit wird durch Subtraktion des zweiten quantisierten DC-Koeffizienten von einem quantisierten DC-Koeffizienten oder einer quantisierten DC-Differenz des (0,0) Elements der vorhergehenden Dateneinheit erzeugt.
  4. Das Verfahren nach Anspruch 2, weiterhin umfassend: Bereitstellen von Informationen, die anzeigen, dass ein Einfügen einer Restart-Markierung für die erste Dateneinheit benötigt wird; und Bereitstellen von Informationen, die anzeigen, dass ein Einfügen einer Restartmarkierung für die zweite Dateneinheit nicht benötigt wird.
  5. Das Verfahren nach Anspruch 4, wobei bestimmt wird, ob eine Einfügung einer Resteart-Markierung für eine Dateneinheit benötigt wird, gemäß einer aus einer Vielzahl von Einfügungspolicies.
  6. Das Verfahren nach Anspruch 5, wobei eine der Einfügungspolicies angibt, dass eine Restart-Markierung vor jeder Dateneinheit einzufügen ist, und eine Restart-Markierung wird eingefügt vor jeder Minimum-Code-Einheit (MCU) oder einer Restart-Markierung wird eingefügt vor einer bestimmten Anzahl von MCUs und jede MCU umfasst zumindest Y, U und V Dateneinheiten.
  7. Das Verfahren nach Anspruch 1, wobei die erste Dateneinheit des Quellenbildes eine Y, U oder V Dateneinheit ist, wobei Y die Luminanz darstellt, U blau minus Luminanz und V rot minus Luminanz.
  8. Das Verfahren nach Anspruch 1, wobei der erste quantisierte DC-Koeffizient durch quantisieren eines diskreten Cosinus-Transformations (DCT) Koeffizienten erzeugt wird, der folgende Quantisierungsgleichung verwendet
    Figure 00390001
    SQvw stellt den ersten quantisierten DC-Koeffizienten, Sv den DCT Koeffizienten und Qvu eine Quantisierungsskala am (0,0) Element dar, das in der Basistabelle präsent ist.
  9. Das Verfahren nach Anspruch 8, wobei der DCT Koeffizient durch eine Forward-Discrete-Transformation Formel (FDCT) transformiert wird, und die FDCT Formel eine Time-Domain Dateneinheit in eine Frequenzdomänen-Dateneinheit transformiert.
  10. Das Verfahren nach Anspruch 1, wobei der festgestellt erste Wert und der erste AC-Koeffizient durch ein Zero Runlenght-Codierungsverfahren und ein Entropie-Codierungsverfahren bestimmt werden.
  11. Das Verfahren nach Anspruch 1, wobei der erste Offset auf den Beginn der Restart-Markierung des codierten Bit-Stroms zeigt oder einen Ort, der mit dem Beginn der ersten Dateneinheit des codierten Bit-Stroms korrespondiert.
  12. Ein System zum Codieren eines Quellbildes umfassend eine Vielzahl von Dateneinheiten, umfassend: eine Bildcodierungseinheit, die einen ersten quantisierten DC-Koeffizienten einer ersten Dateneinheit erzeugt, und eine Vielzahl von ersten AC-Koeffizienten der ersten Dateneinheit, die einen ersten Wert am (0,0) Element der ersten Dateneinheit bestimmen dem ersten quantisierten DC-Koeffizienten gemäß, Erzeugen eines ersten variablen Längencodierungs-(VLC)Stroms der ersten Dateneinheit durch Codieren des bestimmten ersten Werts und der ersten AC-Koeffizienten, Erzeugen eines codierten Bitstroms umfassend eine Restart-Markierung gefolgt durch den ersten VLC-Strom der ersten Dateneinheit, Speichern eines ersten Offsets der auf eine Position zeigt, der mit der Restart-Markierung des codierten Bit-Strom einer Random-Access-Tabelle korrespondiert, und Erzeugen und speichern eines Kompressionsbildes umfassend den codierten Bitstrom und die Random-Access-Tabelle in Form einer Datei, wobei der Offset verwendet wird um zu der Position zu gelangen oder um von der Position zurückzukehren für zukünftiges decodieren des verbliebenen Anteils des kodierten Bitstroms, wodurch vermieden wird, dass der vorhergehende Bereich des Bitstroms dekodiert werden muss.
  13. Das System nach Anspruch 12, weiterhin umfassend ein digitales Kameramodul wobei das Quellbild durch das digitale Kameramodul erfasst wird.
  14. Das System nach Anspruch 12, weiterhin umfassend ein Speichergerät oder Speichermedium, wobei das Quellbild vom Speichermedium über das Speichergerät erlangt wird.
  15. Das System nach Anspruch 12, weiterhin umfassend ein Speichergerät oder ein Speichermedium, wobei das komprimierte Bild im Speichermedium durch das Speichergerät gespeichert wird.
  16. Ein Verfahren zum Decodieren eines komprimierten Bildes, umfassend einen codierten Bitstrom und eine Random-Access-Tabelle, durchgeführt durch eine Bild-Decodierungseinheit, umfassend: Erlangen der Random-Access-Tabelle umfassend eine Vielzahl von Offsets von dem Kompressionsbild in Form einer Datei; Finden eines Offsets korrespondierend zu einem Bereich des codierten Bit-Strom der decodiert werden soll; Decodieren des codierten Bit-Strom nach dem Finden des Offsets um das Dekodieren des Bereichs vor dem Offset zu vermeiden und Darstellen des decodierten Ergebnisses
  17. Das Verfahren nach Anspruch 16, weiterhin umfassend Überspringen von Segmenten von codierten Bit-Strom, korrespondierend zu bestimmten Dateneinheiten oder Minimum-Codierungseinheiten (MCU) ohne vorhergehende Restart-Markierung nach dem Finden des Offsets.
  18. Das Verfahren nach Anspruch 16, wobei die Codierschritte umfassen: Erlangen einer Vielzahl von Restart-Markierungen und einer Vielzahl von Dateneinheiten durch Decodieren der Bereiche des codierten Bit-Strom unter Verwendung einer Entropie-Decodierung und Zero-Runlenght-Decodierung, wobei jede Dateneinheit einen Wert am (0,0) Element umfasst, gefolgt von einer Reihe von AC-Koeffizienten; Updaten der Werte an dem (0,0) Element einer Dateneinheit, wenn keine Restart-Markierung davor vorhanden ist; und Decodieren jeder Dateneinheit durch De-Quantisierung und einer inversen diskreten Cosinus-Transformation (IDCT).
  19. Das Verfahren nach Anspruch 18, wobei der Wert am (0,0) Element upgedated wird durch Addieren eines Wertes am (0,0) Element der vorhergehenden korrespondierenden Dateneinheit.
  20. Das Verfahren nach Anspruch 16, wobei die Dateneinheit eine Y, U oder V Dateneinheit ist, wobei Y die Luminanz, U blau minus Luminanz und V rot minus Luminanz darstellt.
  21. Ein System zum Decodieren eines Compressionsbildes umfassend einen codierten Bitstrom und einer Random-Access-Tabelle, umfassend: Ein Display; und Eine Bilddecodiereinheit, die die Random-Access-Tabelle erlangt, umfassend eine Vielzahl von Offsets von den Kompressionsbildern in Form einer Datei, Finden eines Offsets korrespondierend zu einem Bereich des codierten Bitstroms, der decodiert werden soll, decodieren des codierten Bitstroms nach dem Finden des Offsets, um das Dekodieren des Bereichs vor dem Offset zu vermeiden, und Anzeigen des decodierten Resultats auf dem Display.
DE102008012023A 2007-12-07 2008-02-29 Systeme und Verfahren zum zufälligen Zugreifen auf komprimierte Bilder Expired - Fee Related DE102008012023B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/952,458 2007-12-07
US11/952,458 US8107754B2 (en) 2007-12-07 2007-12-07 Systems and methods for randomly accessing compressed images

Publications (2)

Publication Number Publication Date
DE102008012023A1 DE102008012023A1 (de) 2009-06-18
DE102008012023B4 true DE102008012023B4 (de) 2009-12-24

Family

ID=40680142

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008012023A Expired - Fee Related DE102008012023B4 (de) 2007-12-07 2008-02-29 Systeme und Verfahren zum zufälligen Zugreifen auf komprimierte Bilder

Country Status (4)

Country Link
US (1) US8107754B2 (de)
CN (1) CN101453648B (de)
DE (1) DE102008012023B4 (de)
TW (1) TWI382361B (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107754B2 (en) * 2007-12-07 2012-01-31 Mediatek Inc. Systems and methods for randomly accessing compressed images
US20130022114A1 (en) * 2008-06-23 2013-01-24 Mediatek Inc. Method and related apparatuses for decoding multimedia data
CN102238379B (zh) * 2010-04-27 2013-08-07 华晶科技股份有限公司 影像档案的处理方法
HUE047906T2 (hu) * 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
US9172963B2 (en) * 2010-11-01 2015-10-27 Qualcomm Incorporated Joint coding of syntax elements for video coding
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
CN102769743B (zh) * 2011-05-06 2014-11-26 华晶科技股份有限公司 影像文件的处理方法
TWI502550B (zh) * 2012-03-30 2015-10-01 Nation United University Differential layered image compression method
US9979958B2 (en) 2012-04-20 2018-05-22 Qualcomm Incorporated Decoded picture buffer processing for random access point pictures in video sequences
US9479776B2 (en) 2012-07-02 2016-10-25 Qualcomm Incorporated Signaling of long-term reference pictures for video coding
US9083977B2 (en) * 2012-11-27 2015-07-14 Omnivision Technologies, Inc. System and method for randomly accessing compressed data from memory
CN102970544A (zh) * 2012-12-07 2013-03-13 豪威科技(上海)有限公司 Jpeg编码和解码方法及系统
US20140192899A1 (en) * 2013-01-09 2014-07-10 Mediatek Inc. Method and apparatus for referring to bitstream address related information derived from segment of multi-tile picture to determine bitstream start address of tile of multi-tile picture
US9251731B2 (en) * 2013-05-10 2016-02-02 Intel Corporation Multi-sampling anti-aliasing compression by use of unreachable bit combinations
US9237350B2 (en) 2014-06-16 2016-01-12 Sony Corporation Image processing system with random access capable integral image compression and method of operation thereof
WO2019010233A1 (en) * 2017-07-05 2019-01-10 Red. Com, Llc PROCESSING VIDEO IMAGE DATA IN ELECTRONIC DEVICES
CN109309784B (zh) * 2017-07-28 2021-05-28 展讯通信(上海)有限公司 移动终端
CN110636308B (zh) * 2019-09-21 2022-05-10 苏州维赛智芯体育科技有限公司 一种基于改进型游程编码的线阵图像数据压缩方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081730A1 (en) * 2005-10-07 2007-04-12 Kenji Arakawa Image encoding apparatus and image decoding apparatus

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4729044A (en) * 1985-02-05 1988-03-01 Lex Computing & Management Corporation Method and apparatus for playing serially stored segments in an arbitrary sequence
US5003307A (en) * 1989-01-13 1991-03-26 Stac, Inc. Data compression apparatus with shift register search means
US5155484A (en) * 1991-09-13 1992-10-13 Salient Software, Inc. Fast data compressor with direct lookup table indexing into history buffer
US6091853A (en) * 1995-08-28 2000-07-18 Lockhead Martin Corporation Local area linear dynamic range compression
US5864859A (en) * 1996-02-20 1999-01-26 International Business Machines Corporation System and method of compression and decompression using store addressing
US6167083A (en) * 1997-04-04 2000-12-26 Avid Technology, Inc. Computer system and process for capture editing and playback of motion video compressed using interframe and intraframe techniques
US6381371B1 (en) * 1999-03-17 2002-04-30 Hewlett-Packard Company Method and apparatus for processing image files
US7212726B2 (en) * 2000-09-15 2007-05-01 International Business Machines Corporation System and method of processing MPEG streams for file index insertion
US6947598B2 (en) * 2001-04-20 2005-09-20 Front Porch Digital Inc. Methods and apparatus for generating, including and using information relating to archived audio/video data
JP3671925B2 (ja) * 2002-03-20 2005-07-13 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
JP4949037B2 (ja) 2003-11-18 2012-06-06 スカラド、アクチボラグ ディジタル画像を処理するための方法および画像表現形式
US7593465B2 (en) * 2004-09-27 2009-09-22 Lsi Corporation Method for video coding artifacts concealment
WO2007127741A2 (en) * 2006-04-24 2007-11-08 Sun Microsystems, Inc. Media server system
US7756817B2 (en) * 2007-07-05 2010-07-13 Yahoo! Inc. System and method for enabling parallel access to serially compressed files
US8107754B2 (en) * 2007-12-07 2012-01-31 Mediatek Inc. Systems and methods for randomly accessing compressed images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070081730A1 (en) * 2005-10-07 2007-04-12 Kenji Arakawa Image encoding apparatus and image decoding apparatus

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BERC, L. *
FENNER, W. *
FREDERICK, R. et.al.: RTP Payload Format for JPEG-compressed Video. RFC 2035, Network Working Group, October 1996, S. 1-16 *
STRUTZ, T.: Bilddatenkompression - Grundlagen, Codierung, Wavelets,JPEG, MPEG, H.264, Vieweg Verlag, 3. Aufl., Mai 2005, S. VII, S. 153, S. 159-166, S. 171-178 *
STRUTZ, T.: Bilddatenkompression - Grundlagen, Codierung, Wavelets,JPEG, MPEG, H.264, Vieweg Verlag, 3. Aufl., Mai 2005, S. VII, S. 153, S. 159-166, S. 171-178 BERC, L. FENNER, W. FREDERICK, R. et.al.: RTP Payload Format for JPEG-compressed Video. RFC 2035, Network Working Group, October 1996, S. 1-16

Also Published As

Publication number Publication date
TWI382361B (zh) 2013-01-11
TW200926069A (en) 2009-06-16
US8107754B2 (en) 2012-01-31
CN101453648B (zh) 2011-11-30
US20090148057A1 (en) 2009-06-11
CN101453648A (zh) 2009-06-10
DE102008012023A1 (de) 2009-06-18

Similar Documents

Publication Publication Date Title
DE102008012023B4 (de) Systeme und Verfahren zum zufälligen Zugreifen auf komprimierte Bilder
DE69815922T2 (de) Verfahren und Vorrichtung zur prädiktiven Bildkodierung und -dekodierung
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE60305325T2 (de) System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE60309375T2 (de) Parametrisierung für verlauf-kompensation
EP0687111B1 (de) Verfahren zur Codierung/Decodierung eines Datenstroms
KR101946598B1 (ko) 이미지 코딩, 디코딩 방법 및 장치
DE102016125379B4 (de) Bewegungsvektoraufteilung des letzten Frames
US20070248160A1 (en) System and method of providing directional information for direct prediction
US9510005B2 (en) Method and device for encoding blocks of values
KR100893276B1 (ko) 비디오 이미지들의 해상도 다운스케일링
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE69724440T2 (de) Mpeg-2-videodatendekodierer für codes variabler länge und dekodiererarchitektur mit zwei geschwindigkeiten
US6462681B1 (en) Scalable coding by scanning selected parts of respective bit-streams
DE69916749T2 (de) Einbettung eines Wasserzeichens in ein komprimiertes Bildsignal
Joshua Samuel Raj et al. Rapid efficient loss less color image compression using rct technique and hierarchical prediction
CN114245989A (zh) 编码器和编码帧序列的方法
CN110708547B (zh) 针对变换模式的有效熵编码组分组方法
DE60218560T2 (de) Bildkompression
KR20020026189A (ko) 고정된 비율 압축을 이용하는 효율적인 비디오 데이터엑세스
US20090304073A1 (en) Systems and Methods for the Bandwidth Efficient Processing of Data
JPH0487460A (ja) 画像処理装置
DE60319742T2 (de) Lauflängencodierung eines quantisierten digitalen bildes
DE602004011213T2 (de) Intraframe-komprimierung und dekomprimierung von videosignalen mit fester bitrate

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee