-
Allgemeiner
Stand der Technik
-
Diese
Erfindung bezieht sich auf ein Wiederherstellen eines komprimierten
Bildes und insbesondere bezieht sie sich auf eine Transformierung
derartiger Bilder.
-
Die
mit einer Digitalkamera (DSC = Digital Still Camera) aufgenommenen
Bilddaten werden üblicherweise
mit JPEG komprimiert und in dem von der Japanischen Interessensgemeinschaft
der Elektronikentwicklungsindustrie (JEIDA = Japan Electronic Industry
Development Association) festgelegten Austausch-Bild-Dateiformat
(EXIF = Exchangeable Image File Format) gespeichert. Eine der Rechenengpässe beim
Decodieren der EXIF-Datei ist das Durchführen diskreter Kosinustransformationsoperationen
(DCT = Discrete Cofime Transform) in dem JPEG Dekompressionsprozess,
insbesondere, wenn das Bildformat groß ist. Bestehende Wiederherstellungsverfahren
erfordern den teuren und zeitaufwendigen Vorgang der Entwicklung
neuer Wiederherstellungs-Chips, maßgeschneidert für das EXIF-Format.
Als Folge besteht ein Bedarf für
eine wirtschaftlichere und vielseitige Wiederherstellung von Bilddaten,
welche in dem EXIF-Format gespeicherte Bilddaten mit einschließen.
-
Weitere
Einschränkungen
und Nachteile der üblichen
und herkömmlichen
Ansätze
werden dem Fachmann ersichtlich beim Vergleich derartiger Systeme
mit der vorliegenden Erfindung, wie im verbleibenden Teil der vorliegenden
Anmeldung unter Bezugnahme auf die Zeichnungen dargestellt.
-
Ein Überblick über die
Komprimierungsstandards für
Bilder mit konstanter Farbtiefe, einschließlich JPEG, sowie über die
Komprimierungsstandards für
Bewegtbilder, einschließlich
MPEG, ist zu finden bei Gonzalez R. C. et al.: "Digital Image processing", Upper Saddle River,
NJ; Prentice Hall, US, 2002, Seiten 498–502, 510–512.
-
WU
J-L et al.: "An
efficient JPEG to MPEG-1 Transcoding Algorithm" IEEE Transactions on Consumer Electronics,
IEEE Inc. New York, US, Band 42, Nr. 3, 1. August 1996, Seiten 447–457 bezieht
sich auf Transcodierverfahren, die geeignet sind, gemäß dem JPEG
Bildkomprimierungsstandard codierte Bilder in gemäß dem MPEG-1
Bildkomprimierungsstandard codierte Bilddaten zu konvertieren.
-
KIM
D et al.: "Transcoding
DV into MPEG-2 in the DCT Domain" Proceedings
of the Spie, Spie, Bellingham, VA, US, Band 3653, Nr. 1/2, 1998,
Seiten 1026–1032
bezieht sich auf Transcodierverfahren, die geeignet sind, digitale
Videodaten in gemäß dem MPEG-2
Bildkomprimierungtsstandard codierte Bilddaten umzuwandeln.
-
WO
00/51357 A beschreibt Transcodierverfahren zwischen gemäß verschiedenen
Bildverarbeitungsstandards codierten Bildern, wobei die Standards
auf direkten Kosinustransformationen basieren.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, eine wirtschaftlichere
und vielseitige Wiederherstellung von Bilddaten bereitzustellen.
-
Diese
Aufgabe wird durch die Vorrichtung gemäß Anspruch 1 und das Verfahren
gemäß Anspruch
4 gelöst.
Vorteilhafte Ausführungsformen
der Erfindung sind in den abhängigen
Ansprüchen
definiert.
-
Eine
Ausbildung der Vorrichtung der Erfindung kann verwendet werden,
um ein Bild aus komprimierten Bilddaten wiederherzustellen. In einem
solchen Umfeld weist die Vorrichtung einen Transcoder zum Transcodieren
der komprimierten Bilddaten in einen Bitstrom von komprimierten
Bewegtbild-Daten und einen Decoder zum Erzeugen des wiederhergestellten
Bildes, indem der Bitstrom von komprimierten Bewegtbild-Daten decodiert
wird.
-
Eine
Ausbildung des Verfahrens der Erfindung kann verwendet werden, um
ein Bild aus komprimierten Bilddaten wiederherzustellen. In einem
solchen Umfeld weist das Verfahren ein Transcodieren der komprimierten
Bilddaten in einen Bitstrom von komprimierten Bewegtbild-Daten und
ein Erzeugen des wiederhergestellten Bildes durch ein Decodieren
des Bitstroms von komprimierten Bewegtbild-Daten auf.
-
Durch
das Anwenden der vorangehenden Verfahren können komprimierte Bilddaten
mit einem bisher unerreichbaren Grad an Wirtschaftlichkeit und Benutzerfreundlichkeit
wiederhergestellt werden. Diese und andere Vorteile und neue Merkmale
der vorliegenden Erfindung sowie Einzelheiten eines erläuterten
Ausführungsbeispiels
hiervon sind aus der folgenden Beschreibung und den Zeichnungen
besser in vollem Umfang nachzuvollziehen.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt
ein schematisches Blockdiagramm einer Ausbildung eines Transcoders
und Decoders zur erfindungsgemäßen Wiederherstellung
eines Bildes aus komprimierten Bilddaten.
-
2 zeigt
ein Flussdiagramm, welches das Verfahren erläutert, welches von dem in 1 gezeigten Transcoder
durchgeführt
wird.
-
3 zeigt
ein Flussdiagramm, welches Schritte des Datenstrom-Transcodier-Teiles des in 2 dargestellten
Flussdiagramms zeigt.
-
4 zeigt
ein Flussdiagramm, welches den Teil des in 3 dargestellten
Transcodierdatenstroms zeigt, in welchem der JPEG Dateikopf herausgezogen
wird.
-
5 zeigt
ein Flussdiagramm, welches den Teil des in 3 dargestellten
Transcodierdatenstromes zeigt, in welchen der MPEG Dateikopf ausgegeben
wird.
-
6 zeigt
ein Flussdiagramm, welches den Teil des in 3 dargestellten
Transcodierdatenstromes zeigt, in welchem der Datenübertragungsblock
transcodiert wird.
-
7 zeigt
ein Flussdiagramm, welches den Teil des in 6 dargestellten
Transcodier-Datenübertragungsblockes
zeigt, in welchen die JPEG Zeile J·2 und die JPEG Zeile J·2 + 1
decodiert werden.
-
8 zeigt
ein Flussdiagramm, welches den in 7 dargestellten
Teil des Decodierens einer JPEG Zeile zeigt, in welchem der JPEG
Block decodiert wird.
-
9 zeigt
ein Flussdiagramm, welches den Teil des in 6 dargestellten
Transcodier-Datenübertragungsblockes
zeigt, in welchen die MPEG Zeile codiert wird.
-
Ausführliche
Beschreibung der Erfindung
-
Die
Antragsteller haben herausgefunden, dass komprimierte Bilddaten überraschenderweise
wiederhergestellt werden können,
indem zuerst die Bilddaten in komprimierte Bewegtbild-Daten transcodiert
und dann die komprimierten Bewegtbild-Daten decodiert werden, um das Bild
wiederherzustellen.
-
Insbesondere
haben die Antragsteller herausgefunden, dass die ASIC Chips von
digitalen Fernsehempfängern
(DTV = Digital Television) auf die Verarbeitung von komprimierten
Bewegtbildern ausgelegt sind und dass diese Chips sehr effizient
den Typ von DCT Operationen ausführen,
welcher benötigt
wird, um unbewegte Bilder wiederherzustellen, vorausgesetzt, dass
die Bilddaten in ein mit den komprimierten Bewegtbild-Daten kompatiblen
Format transcodiert werden. Die meisten derartigen Chips können die
unbewegten Bilder nicht direkt decodieren. Um diese Chips zum Verarbeiten
der Bilddaten zu befähigen,
ist eine Konversion komprimierter Bilddaten in einem Bitstrom komprimierter
Bewegtbild-Daten notwendig. Zum Beispiel kann ein in dem EXIF Bilddateiformat
komprimiertes Bild wiederhergestellt werden, indem die in dem EXIF
benützten JPEG
Bilder in einen Bitstrom mit MPEG-2 4:2:2 Profil mit nur internen
Bildern transcodiert werden. Der MPEG-2 4:2:2 Bitstrom kann dann
mit existierenden MPEG-2 Decodierchips decodiert werden.
-
Das
EXIF ist ein Standarddateiformat für von Digitalkameras (DSC =
Digital Still Cameras) aufgenommenen Bildern. Der EXIF Standard
ist in "Digital
Still Camera Image File Format Standard", Japan Electronic Industry Development
Association, Version 2.1, 12. Juni 1998, beschrieben, deren vollständige Offenbarung durch
Bezugnahme in dieser Beschreibung aufgenommen wird. Ziel von EXIF
ist es, die Kompatibilität
und Austauschbarkeit von Daten sicherzustellen, wobei ein System
bereitgestellt wird, in welchem Digitalkameraprodukte leicht von
Durchschnittsverbrauchern verwendet werden können.
-
Der
EXIF Standard besteht aus der EXIF Bilddatei-Spezifikation und der
EXIF-Audiodatei-Spezifikation.
Die EXIF Bilddatei wird üblicherweise
von den meisten auf dem Markt befindlichen DSCs verwendet. Bilddaten
in dem EXIF verwenden die folgenden existierenden Bildformate, abhängig von
dem Bilddatentyp:
Nicht komprimierte RGB Daten: Baseline TIFF
Rev. 6.0 RGB Full Color Images;
nicht komprimierte YCbCr Daten:
TIFF Rev. 6.0 Extensions YcbCr Images; und
JPEG-komprimierte
Daten: JPEG Baseline ADCT
-
Die
Antragsteller haben herausgefunden, dass JPEG komprimierte Daten
geeignet sind, um mindestens eine Ausführungsform der Erfindung auszuführen. Deshalb
konzentriert sich der verbleibende Teil der Beschreibung auf die
Struktur eines JPEG komprimierten Datentyps. Einige wichtige Fakten
für EXIF
in JPEG komprimierten Bildern sind im folgenden zusammengefasst:
Bilddaten werden als quadratische Pixels mit einem Pixel-Seitenverhältnis von
1:1 aufgenommen.
-
Die
Pixelabtastung für
Bilddaten ist entweder Y:Cb:Cr = 4:2:2 oder Y:Cb:Cr = 4:2:0 mit
jeweils 8 Bit. JPEG erlaubt auch 12 Bit Pixel, aber nicht in dem
EXIF) Wie die Abtastpunkte auf den Elementen, welche Pixel bilden,
können
die Y und Cb, Cr Abtastpunkte entweder "co-sited" oder zentriert sein. Für Y:Cb:Cr
= 4:2:2 ist räumliches "co-siting" zu empfehlen, als
das gleiche wie MPEG-2 Video für
verbesserte Bildqualität
auf TV Systemen. Für
Y:Cb:Cr = 4:2:0 ist räumliches
Zentrieren, wie für
die TIFF Standardeinstellung, zu empfehlen und ist dasselbe wie
MPEG-1 Video.
-
Quantisierungstabellen:
In dem EXIF verwendete JPEG Dateien erlauben höchstens drei Quantisierungstabellen
für Y,
Cb bzw. Cr. (Im allgemeinen erlaubt JPEG höchstens vier Quantisierungstabellen,
aber nicht in dem EXIF) Jede Tabelle hat eine Genauigkeit von 8
Bit. (JPEG kann eine Genauigkeit von entweder 8 oder 16 Bit für die Tabelle
aufweisen, aber nicht in dem EXIF.)
-
Da
JPEG Bilder in Blocks von 8 × 8
Pixel komprimiert, sollte die als die Breite und Höhe des Bildes festgesetzte
Pixelzahl vorzugsweise ein genaues Vielfaches der 8 × 8 Pixel
sein (z.B. Vielfaches von 16 für
die Breite und Vielfaches von 8 für die Höhe, wenn Y:Cb:Cr = 4:2:2 oder
von 16, wenn Y:Cb:Cr = 4:2:0).
-
Die
Bilddatenanordnung lautet Y1 Y2 Cb1 Cr1 Y3 Y4 Cb2 Cr2 für Y:Cb:Cr
= 4:2:2 und lautet Y1 Y2 Y3 Y4 Cb Cr für Y:Cb:Cr = 4:2:0.
-
Das
MPEG-2 4:2:2 Profil ist für
professionelle Videoanwendungen vorgesehen, in welchen ein Bearbeiten
von komprimierten Videos und Mehrfach-Generations-Codieren/Decodieren
von Videos wichtige Erfordernisse darstellen.
-
Die
wichtigsten Anwendungsmöglichkeiten,
auf welche dieses Profil gerichtet ist, sind: Speicherung; Bearbeiten
und Erzeugen von visuellen Effekten; Aufnahmen auf Videoband oder
-scheibe für
professionelle Anwendung (Abgabequalität); Studionachproduktion von
hochwertigen Videosequenzen und effiziente Übertragung zur Speicherung
und Verteilung von Abgabequalitäts-Videos.
-
Das
4:2:2 Profil kann eine höhere
Videoqualität
und bessere Farbauflösung
liefern und ermöglicht
eine höhere
Bitrate (auf Hauptstufe (ML = Main Level), bis zu 50 Mbit/s) als
ein Hauptprofil (MP = Main Profile) (z.B. MP@ML). Bei Studioanwendungen
werden häufig
hochwertige Videos und ein ITU-R 601 4:2:2 Videoformat benötigt, um
Einblenden und andere Spezialeffekte zu erleichtern. Wegen der Erfordernis
eines Erleichterns der Bearbeitung sind häufigere INTRA Bilder nötig, welche
auch zu hohen Codier-Bitraten führen.
Das 4:2:2 Profil erlaubt das Codieren aller I-Bilder. Dies ermöglicht eine
schnelle Erholung von Übertragungsfehlern
und kann Bearbeitungsanwendungen vereinfachen. Dieses Profil ermöglicht die
zur Aufrechterhaltung einer hohen Qualität nötigen hohen Bitraten, obwohl
nur I-Bildercodierung verwendet wird. Das 4:2:2 Profil ermöglicht auch den
Gebrauch von P- und B-Bildcodierungstypen,
welche die Qualität
weiter verbessern können
oder die Bitraten bei gleicher Qualität reduzieren. Der für die in
dieser Beschreibung erläuterten
Ausführungsformen
am besten geeignete MPEG-2 Standard ist in ANSI/SMPTE 308M; SMPTE
STANDARD for television – MPEG-2 4:2:2
Profile at High Level, 1997 beschrieben, deren vollständige Offenbarung
durch Bezugnahme in dieser Beschreibung aufgenommen wird.
-
In
einer typischen Fernsehübertragungskette
geht ein Video durch mehrere Codier/Decodiergenerationen, da lokale
Fernsehstationen lokale Programminformation und Werbesendungen zu
dem Video hinzufügen,
bevor es an Verbraucher zum Empfang zuhause verteilt wird. Bei analogem
Fernsehen können
mehrere Codier/Decodiergenerationen zu signifikanten Bildqualitätverlusten
führen.
Auf der anderen Seite kann das MPEG-2 4:2:2 Profil nach mehreren
Codier/Decodiergenerationen eine hohe Qualität sichern. In dem Fall mehrerer
Generationen, ohne Bildmanipulation oder Änderung in dem Bildcodierungstyp
zwischen den Generationen, bleibt die Qualität von dem 4:2:2 Profil-Codierer
nach der ersten Generation annähernd
konstant. Eine Verwendung von Bildmanipulation oder ein Wechsel
in einem Bildcodierungstyp zwischen den Generationen bewirkt eine
gewisse Verschlechterung in der Qualität. Dennoch ist die resultierende
Qualität
für ein
breites Anwendungsgebiet akzeptabel.
-
Ein
Fernsehstudio erzeugt üblicherweise
ein Video in Studioqualität,
welches normalerweise ein ITU-R 601 Quellvideo oder ein 4:2:2 PC@ML
(4:2:2P@HL) komprimiertes Video ist. Dieses Video wird dann codiert und
als Fernsehen in Vertiebsqualität übertragen.
Digitales Fernsehen und Fernsehen mit hoher Bildschärfe (HDTV
= High-Definition Television) haben in Nordamerika MPEG-2 MP@ML
und MP@HL als ihren Videocodierstandard übernommen. Sowohl MP@ML als
auch MP@HL codieren und übertragen
nur Video in Studioqualität
in 4:2:0 Format. Zum Beispiel ist die Gesamtdatenübertragungsrate
für ein
HDTV System, welches komprimierte Video-, komprimierte Audio- und
Zugangsberechtigungsdaten und einen Hilfsdatenkanal einschließt, ungefähr 18 bis
20 Mbits/s.
-
Zwei
Ausführungsformen
der Erfindung umfassen ein Verfahren und eine Vorrichtung zum Konvertieren
einer EXIF Bilddatei mit komprimierten JPEG Bildern in einen Bitstrom
von MPEG-2 4:2:2 Profil mit Intra-Bildern. Dieser Konvertierungsprozess
wird oft als "Transcodieren" bezeichnet und wird
von einem "Transcoder" durchgeführt. Solch
ein Transcoder ist ein Instrument, welches einen komprimierten JPEG
Bitstrom in einen MPEG 4:2:2P Bitstrom mit gleicher Qualität konvertiert.
Ein Transcoder, der einen komprimierten JPEG Bitstrom in einen MPEG-2
4:2:2P Bitstrom konvertiert, kann einfach eine Verkettung eines
partiellen JPEG Decoders und eines partiellen MPEG 4:2:2P Codierers
sein, ohne Durchführen
der diskreten Kosinustransformierung (DCT = Discrete Cosine Transform). 1 zeigt
ein Blockdiagramm eines derartigen Transcoders 10. Wenn
ein Bitstrom von einer EXIF Bilddatei mit JPEG komprimierten Bildern über einen
Pfad 16 an einen EXIF Dateikopf-Parser 20 eingegeben
wird, decodiert im allgemeinen der Transcoder teilweise den JPEG
Bitstrom und fügt
die Ergebnisse wieder zu einem 4:2:2P Bitstrom auf einem Pfad 18 zusammen.
-
Die
gestrichelten Linien in 1 bedeuten, dass der Transcoder 10 die
Cr Komponente nochmals quantisieren muss, falls die unterschiedlichen
Quantisierungsmatrizen für
Cb und Cr benutzt werden. Bei den meisten Anwendungen benutzen Cb
und Cr gemeinsam die gleiche Quantisierungsmatrix. Folglich kann
der Teil mit gestrichelten Linien bei derartigen Anwendungen ignoriert
werden. Die Teile mit gestrichelten Linien schließen ein
inverses Quantisierungs-Cr-Modul 22 und ein Quantisierungs-Cr-
und ein Sättigungsmodul 24 ein.
-
Weiterhin
bezugnehmend auf 1, weist der Transcoder 10 auch
einen JPEG Decoder 30 auf, welcher eine Eingabe von der
in einem Speicher 40 gespeicherten Spezifikationsaufstellung
empfängt.
Die Ausgabe von Decoder 30 wird an ein DC Prädiktions-
und Quantisierungsmodul 50 übertragen. Die Ausgabe von Modul 50 wird
an einen MPEG Huffman Codierer 60 geschickt, welcher einen
Huffman Code mit variabler Länge
erzeugt. Der Code mit variabler Länge von Codierer 60 wird
an ein 4:2:2P Datenkette-Konstruktionsmodul 70 geschickt,
welches den Huffman Code mit MPEG-2 Tabellenwerten bündelt, welche
von Speicher 40 empfangen wurden. Die MPEG-2 Tabellenwerte
werden aus JPEG Tabellenwerten in später beschriebener Weise transcodiert.
Der Arbeitsvorgang von Modul 70 ergibt einen MPEG-2 4:2:2P
Bitstrom mit ausschließlich
Intra-Bildern, welche über
Pfad 18 zu einem üblichen
MPEG-2 4:2:2P Decoder 80 von dem Typ gesendet wird, welcher
in Chips zu finden ist, die von Broadcom Corporation unter der Modellnummer
BCM 7020 produziert werden. Der Decoder 80 führt eine
diskrete Kosinustransformation durch, um ein unbewegtes Bild 90 zu
erzeugen, welches in einem digitalen Speicher 100 gespeichert
werden kann.
-
Weiterhin
bezugnehmend auf 1, führt der Parser 20 die
in 4 erläuterten
Arbeitsvorgänge durch;
der Decoder 30 führt
die in 6, 7 und 9 gezeigten
Decodier-Arbeitsvorgänge
durch; das Quantisierungsmodul 50 führt den in 6 gezeigten
Schritt 260 durch; und der Codierer 60 führt die
Arbeitsvorgänge
durch, die in dem "Makroblock
mit variabler Länge – codieren" – Teil von 8 dargestellt
sind.
-
Die
Syntaxabbildung einer EXIF eines JPEG-komprimierten Bildes auf einen
4:2:2P Bitstrom kann in der folgenden Tabelle zusammengefasst werden:
-
-
-
-
Im
Allgemeinen analysiert der Parser 20 die JPEG Daten in
einem Kopf eines EXIF Datenübertragungsblockes,
wie in der linken Spalte von Tabelle 1 gezeigt, und legt die analysierten
Daten in den Speicher 40 ab. Der Parser 20 bildet
auch die Daten ab oder transformiert die Daten in zugehörige MPEG-2
Daten, wie in der rechten Spalte von Tabelle 1 gezeigt.
-
Ein
Konstruktionsmodul 70 bündelt
die Daten in der rechten Spalte von Tabelle 1 mit der Ausgabe von Codierer 60,
um einen MPEG-2 4:2:2P Bitstrom mit nur "intro" Bildern auf Pfad 18 zu bilden.
-
Bezugnehmend
auf das Ausführungsbeispiel
von Tabelle 1, schließen
JPEG Helligkeitsdaten Daten von JPEG Tabelle Y ein und MPEG Helligkeitsdaten
schließen
MPEG intra_quantiser_matrix Daten ein. JPEG Farbartdaten schließen JPEG
Quantisierungstabellen Cb und Cr ein und MPEG Farbartdaten schließen MPEG
chroma_intra_quantiser_matrix Daten ein. JPEG Blockdaten schließen die
8 mal 8 Pixel eines JPEG Blocks ein und MPEG Blockdaten schließen die
16 mal 16 Pixel eines MPEG Makroblockes ein. JPEG Codierdaten variabler
Länge schließen die
JPEG Huffman Tabellen ein und MPEG Codierdaten variabler Länge schließen die
MPEG Codiertabellen variabler Länge
ein. JPEG Vertikalliniendaten schließen die JPEG Vertikallinien
und MPEG Vertikalliniendaten schließen die MPEG vertical_size_value
und vertical_size_extension ein. JPEG Horizontalliniendaten schließen die
JPEG Horizontallinien ein und MPEG Horizontalliniendaten schließen die
MPEG horizontal_size_value und horizontal_size_extension ein. JPEG
DC-Koeffizientendaten schließen die
JPEG Huffman Tabelle ein und MPEG DC-Koeffizientendaten schließen die
MPEG DC-Koeffizienten intra-codierter Blöcke ein. Eine JPEG Linie schließt eine
Zahl von JPEG Blöcken
mit der gleichen vertikalen Position ein. Eine MPEG Linie schließt eine
Zahl von MPEG Makroblöcken
mit der gleichen vertikalen Position ein. Ein Paar von JPEG Linien
kann in eine einzelne MPEG Linie konvertiert werden.
-
Bezugnehmend
auf 2, beginnt Transcoder 10 einen Operationszyklus,
indem er einen Initialisierungsschritt 200 durchführt. In
Schritt 202 wird der Bitstrom von einer auf Pfad 16 eingegebenen
EXIF Bilddatei zu einem MPEG-2 4:2:2P Bitstrom mit nur intra-Bildern
auf Pfad 18 transcodiert. In einem Schritt 204 wird
der Operationszyklus beendet.
-
3 beschreibt
Schritt 202 aus 2 detaillierter. In einem Schritt 210 werden
die Eingangs- und Ausgangsströme
auf Pfad 16 und 18 erstellt. In einem Schritt 212 zieht
Parser 20 den Datenübertragungsblockkopf
der EXIF Bilddatei heraus. In einem Schritt 214 gibt Konstruktionsmodul 70 einen
MPEG Dateikopf aus. In einem Schritt 216 transcodieren
Decoder 30, Quantisierungsmodul 50 und Codierer 60 einen
JPEG Datenübertagungsblock
zu einem MPEG Datenübertragungsblock.
-
4 erläutert Schritt 212 aus 3.
In einem Schritt 218 analysiert Parser 20 einen
JPEG Dateikopf von der auf Pfad 16 eingegebenen EXIF Bilddatei.
In einem Schritt 220 umgeht ("bypasses") Parser 20 den JPEG Abtast-Dateikopf
der auf Pfad 16 eingegebenen EXIF Bilddatei. In einem Schritt 222 liest
Parser 20 die EXIF Quantisierungstabelle in Speicher 40.
In einem Schritt 224 liest Parser 20 EXIF Dateiübertragungsblockinformation
in Speicher 40. In einem Schritt 226 liest Parser 20 die
EXIF Huffman Tabellen in Speicher 40. In einem Schritt 228 umgeht
("bypasses") Parser 20 die
APP 1 und APP 2 Markierungen in dem EXIF Datenübertragungsblock. In einem
Schritt 230 beginnt Parser 20 mit dem nächsten JPEG
Datenübertragungsblock-Kopf
in dem Bitstrom auf Pfad 16 zu arbeiten. Wenn der JPEG
Dateikopf analysiert worden ist, kehren die in 4 gezeigten
Schritte zu Schritt 214 aus 3 zurück.
-
5 zeigt
Schritt 214 aus 3 detaillierter. In einem Schritt 280 gibt
Modul 70 einen MPEG-2 Sequenz-Dateikopf aus. In einem Schritt 282 gibt
Modul 70 einen MPEG-2 Sequenzerweiterung-Dateikopf aus. In
einem Schritt 284 gibt Modul 70 einen MPEG-2 Bildausgabe-Dateikopf
aus. In einem Schritt 286 gibt Modul 70 ei nen
MPEG-2 Bild-Erweiterung-Dateikopf aus. Der Arbeitsablauf kehrt dann
zu Schritt 216 aus 3 zurück.
-
6 erläutert den
Datenübertragungsblock-Transcodierschritt 216 aus 3.
In einem Schritt 250 initialisiert und bildet Decoder 30 Decodiertabellen,
um die JPEG-Daten in Speicher 40 zu decodieren. In einem
Schritt 252 beginnt Decoder 30 mit einer ersten
JPEG Datenlinie J = 1. In einem Schritt 254 ermittelt Decoder 30,
ob die bearbeitete Linie die letzte Linie in dem JPEG Datenübertragungsblock
ist. Diese Information ist aus den in Tabelle 1 gezeigten Vertikallinien-Daten
verfügbar.
Wenn die Antwort auf Block 254 negativ ist, decodiert Decoder 30 in
einem Schritt 256 JPEG Linie J·2. In diesem Zusammenhang
bedeutet J·2
die gerade Linie.
-
In
einem Schritt 258 decodiert Decoder 30 die nächste Linie
nach Linie J·2,
welche als Linie J·2
+ 1 gekennzeichnet ist. Schritt 258 ist notwendig, weil
2 JPEG Linien kombiniert werden, um einen MPEG Daten-Makroblock
zu bilden.
-
7 erläutert die
Arbeitsvorgänge,
die sowohl für
Schritt 256 als auch für
Schritt 258 durchgeführt werden,
welche in 6 gezeigt sind. In einem Schritt 270 ermittelt
Decoder 30, ob der bearbeitete JPEG Block der Endblock
in der JPEG Datenlinie ist. Wenn nicht, decodiert Decoder 30 in
einem Schritt 272 einen 8 mal 8 Pixel JPEG Block der bearbeiteten
Linie. Die nachfolgenden Blöcke
in der JPEG Linie werden decodiert, bis das Ende der Linie erreicht
ist, an welchem Punkt der Arbeitsablauf zu 6 zurückkehrt.
-
8 erläutert Schritt 272 aus 7 detaillierter.
In einem Schritt 280 ermittelt Decoder 30, ob
der Block, der decodiert wird, ein Helligkeitsblock ist. Wenn dies
der Fall ist, ermittelt Decoder 30 in einem Schritt 282,
ob der Helligkeitsblock einen DC Wert aufweist. Wenn dies der Fall
ist, wird in einem Schritt 284 der Ydc Wert aus der JPEG
Huffman Tabelle decodiert, und in einem Schritt 286 dequantisiert Decoder 30 den
decodierten Ydc Wert. In einem Schritt 288 decodiert Decoder 30 den
Yac Wert aus der JPEG Huffman Tabelle.
-
Zurückkehrend
zu Schritt 280, bestimmt daraufhin Decoder 30,
wenn der Block, der bearbeitet wird, kein Helligkeitsblock ist,
in einem Schritt 290, ob der Block einen Farbart DC Wert
aufweist. Wenn dies der Fall ist, decodiert Decoder 30 in
einem Schritt 292 einen Cdc Wert aus der JPEG Huffman Tabelle,
und dequantisiert in einem Schritt 294 den decodierten
Cdc Wert. In einem Schritt 296 decodiert Decoder 30 einen
Cac Wert aus der JPEG Huffman Tabelle. Der Decoder 30 kehrt
dann zu dem in 6 gezeigten Arbeitsvorgang zurück.
-
Zurückkehrend
zu 6, führt
Quantisierermodul 50 in einem Schritt 260 eine
MPEG-2 DC Prädiktion durch,
gemäß dem Abschnitt
7.4.1 der MPEG-2 Spezifikation, basierend auf den decodierten und
dequantisierten Ydc Werten, den decodierten Yac Werten, den decodierten
und dequantisierten Cdc Werten und den decodierten Cac Werten, welche
in den in 8 gezeigten Schritten erlangt
wurden. Modul 50 quantisiert auch die MPEG Werte, welche
aus den in 8 gezeigten Schritten hergeleitet
wurden.
-
Zusätzlich zu
den in 6 gezeigten Arbeitsschritten bildet Decoder 30 auch
die decodierten JPEG Daten in MPEG-2 Syntaxelemente ab, wie in Tabelle
1 gezeigt wird.
-
Weiterhin
bezugnehmend auf 6, codiert in einem Schritt 262 Codierer 60 eine
MPEG Linie. Schritt 262 wird in 9 detaillierter
gezeigt. In einem Schritt 264 ermittelt Codierer 60,
ob das Ende der aktuellen MPEG Linie erreicht worden ist. Wenn nicht,
wird in einem Schritt 266 das Codieren eines MPEG-2 Makroblockes
mit variabler Länge
mit dem 16 mal 16 MPEG-2 Makroblock, der bearbeitet wird, durchgeführt. Am
Ende der aktuellen MPEG-2 Linie kehrt der Arbeitsablauf zu 6 zurück.
-
Wiederum
bezugnehmend auf 6, kehrt der Arbeitsvorgang
in einem Schritt 268 zu Schritt 254 zurück, welcher
von Decoder 30 durchgeführt
wird.
-
Die
in den 2 bis 9 erläuterten Arbeitsvorgänge können von
zugeordneter Hardware des in 1 gezeigten
Typs durchgeführt
werden, oder können
alternativ von einem digitalen Signalprozessor durchgeführt werden,
oder einem anderen Typ von Computerprozessor.
-
Der
auf Pfad 18 erzeugte MPEG-2 4:2:2P Bitstrom mit nur intra-Bildern
wird von Decoder 80 decodiert, um ein unbewegtes Bild zu
erzeugen, welches sich aus der EXIF Bilddatei ergibt, welche in
einem digitalen Speicher 100 gespeichert werden kann. Decoder 80 führt eine
diskrete Kosinustransformation durch, um das Bild zu erzeugen.
-
Die
in Verbindung mit den Flussdiagrammen gezeigten Arbeitsvorgänge können wie
folgt abgeändert werden:
Für den Fall
von Vertical_size = (Vertical lines/16)·16 und Horizontal_size =
(Horizontal_lines/16)·16,
wenn entweder „Vertical
lines" oder „Horizontal
lines" einen Wert
von mehr als 14 Bits hat, wird die Größe und die Erweiterungswerte
in der zugehörigen
MPEG Seite als der erlaubte Maximalwert codiert.
-
Aspect_ratio_information
kann basierend auf einem Bildseitenverhältnis (DAR = display aspect
ratio) neu programmiert werden, z.B.
Aspect_ratio_information
= „0010" wenn DAR = 3:4,
Aspect_ratio_information
= „0011 " wenn DAR = 9:16.
-
Wenn
Horizontallinien ≤ 720
und Vertikallinien ≤ 576,
wird der Ausgabestrom als ein 4:2:2 Profil auf der MPEG Hauptstufe
(Main Level) codiert; andernfalls wird der Ausgabestrom als ein
4:2:2 Profil auf der MPEG Hochstufe (High Level) codiert.
-
Zusätzliche
Details über
die Arbeitsschritte von Transcoder 10 schließen das
Folgende ein:
Der Transcoder-Parser 20 analysiert
die EXIF Datei und zieht Codierparameter heraus (einschließlich einer Huffman
Tabelle und Quantisierungsmatrizen, etc.) und bildet sie, wie in
Tabelle 1 beschrieben, auf MPEG-2 Syntaxelemente ab.
-
Der
Decoder 30 führt
das JPEG Decodieren durch, indem er die herausgezogenen Huffman
Tabellen verwendet.
-
Das
Modul 50 führt
die inverse (JPEG-) Quantisierung und die (MPEG-) Re-Quantisierung zu
DC von jedem 8 × 8
JPEG Block durch und führt
die Re-Quantisierung
der DC Koeffizienten über
QDC
(8 bits) = DC//8 für
intra_dc_precision = 8,
QDC (9 bits) = DC//4 für intra_dc_precision
= 9,
QDC (10 bits) = DC//2 intra_dc_precision = 10,
QDC
(10 bits) = DC//1 intra_dc_precision = 11.
-
Wenn
die Cb und Cr verschiedene Quantisierungsmatrizen verwenden, wird
eine inverse Quantisierung und Re-Quantisierung benötigt, welche
von Modul 22 und 24 (1) durchgeführt wird.
Um diesen Konvertierungsprozess zu vereinfachen, wird in diesem
Fall die Quantisierungsmatrix für
Cb für
eine Re-Quantisierung benutzt. Die inverse Quantisierung schließt den Sättigungsprozess
mit dem Bereich [–2048,
+2047] für
jeden Koeffizienten aus der inversen Quantisierungsarithmetik ein.
Wenn die JPEG Quantisierungstabellen für Cb und Cr die gleichen sind,
wie das für
die meisten Fälle
zutreffend ist, werden Operationen inverser Quantisierung und Re-Quantisierung
auf nicht-CD CDT Koeffizienten nicht benötigt. Dies stellt eine signifikante
Recheneinsparung dar.
-
MPEG
DC Prädiktor
in Modul 50 wird am Anfang jedes Teils (alle zwei Reihen
von 8 × 8
Blöcken)
zurückgesetzt.
Modul 50 puffert zwei Reihen von 8 × 8 Blöcken und ordnet die Datenblöcke als
Y1 Y2 Y3 Y4 Cb1 Cr1 Cb2 Cr2. Modul 50 führt dann die DC Prädiktion
durch.
-
Codierer 60 führt die
MPEG Huffman-Codierung durch.
-
Modul 70 setzt
die codierten Ergebnisse wieder zu einem MPEG-2 4:2:2P Bitstrom
zusammen.
-
Die
obigen Verfahren liefern einen eleganten Transcodierer mit einem
guten Kompromiss zwischen Kosten und Leistung. Um ein vollkommen
verlustfreies Transcodieren zu erzielen, muss man eine inverse Quantisierung
von allen codierten DCT Koeffizienten und eine Fehlanpassungskontrolle
jedes 8 × 8
Blockes und dann eine Requantisierung dieser Koeffizienten durchführen.
-
Um
ein besseres visuelles Erleben zu bieten, kann die Sequenz-Anzeigeerweiterung
eingefügt
werden, um Farbeinstellungen, Farbabstands-Übertragungscharakteristika
und Matrixkoeffizienten einzufügen. Sie
kann auch die Anzeigengröße spezifizieren.
Die Bildanzeigeerweiterung kann auch verwendet werden, um die Lage
des Bildes auf dem Bildschirm zu spezifizieren.
-
Obwohl
die Erfindung unter Bezugnahme auf ein oder mehrere bevorzugte Ausführungsformen
beschrieben wurde, wissen Fachleute, dass Abänderungen vorgenommen werden
können
und Äquivalente
ersetzt werden können,
ohne den Schutzumfang der Erfindung zu verlassen. Zusätzlich können viele
Modifikationen vorgenommen werden, um einen speziellen Schritt,
eine Struktur oder ein Material an die Lehre der Erfindung anzupassen,
ohne ihren Schutzumfang zu verlassen. Daher ist beabsichtigt, dass
die Erfindung nicht auf die beschriebene, bestimmte Ausführungsform
beschränkt
wird, sondern dass die Erfindung alle Ausführungsformen einschließt, welche
in den Schutzumfang der angefügten
Ansprüche
fallen.