-
Die
vorliegende Erfindung bezieht sich allgemein auf ein System zur
variablen Quantisierung in JPEG für zusammengesetzte Dokumente,
und insbesondere auf eine JPEG-Datenkomprimierung
für zusammengesetzte
Bilder, die Aufnahmen und Text aufweisen.
-
JPEG
ist der Name sowohl eines Komitees als auch eines Standards. JPEG
steht für
Joint Photographic Experts Group (Verbund der Gruppe fotografischer
Experten), den ursprünglichen
Namen des Komitees, das den JPEG-Standard schrieb. Der JPEG-Standard
ist ein internationaler Standard, der für die verlustbehaftete und
verlustfreie Komprimierung von entweder Vollfarben- oder Grauskalierungsbildern
von echten, realen Szenen gilt.
-
Eine
verlustbehaftete Bildkomprimierung komprimiert, indem sie versucht,
so viel von den Bilddaten wie möglich
zu verwerfen, ohne das Erscheinungsbild des Bildes für das menschliche
Auge wesentlich zu beeinflussen. Eine verlustfreie Komprimierung
ist eine Komprimierung, die erzielt wird, ohne Bilddaten zu verwerfen.
-
Der
JPEG-Standard funktioniert gut bei Einzelfotografien, naturalistischen
Grafiken und ähnlichem Material
(die hierin allgemein als „Aufnahmen" bezeichnet werden),
jedoch nicht so gut bei Beschriftungen, einfachen Cartoons oder
Strichzeichnungen (die hierin allgemein als „Text" bezeichnet werden). Zusammengesetzte
Bilder sind diejenigen, die sowohl Aufnahmen als auch Text enthalten
(und die hierin kollektiv als „Bilder" bezeichnet werden).
In manchen Fällen
enthalten zusammengesetzte Bilder Aufnahmen, die in der Aufnahme selbst
auch Text enthalten.
-
Dieser
Standard wird in der Computerbranche verwendet. Weit verbreitete
grafikfähige
Browser im World Wide Web können diesen
bestimmten Typ eines Bilddatenformats lesen und schreiben, so dass,
wenn ein komprimiertes Bild über
das Web an einen derartigen Browser gesendet wird, dieser weiß, wie das
Bild zu dekomprimieren und anzuzeigen ist.
-
Komprimierung
ist aus zwei Gründen
wichtig. Der erste ist der Speicherplatz. Falls auf einem Festplattenlaufwerk
eine große
Anzahl von Bildern vorliegt, wird das Festplattenlaufwerk sehr schnell
voll, es sei denn, die Daten können
stark komprimiert werden. Computer weisen Puffer einer festgelegten
Größe und einen
begrenzten Speicher auf, und ein Bild muss hineinpassen, ansonsten
kann es nicht in demselben gespeichert werden.
-
Der
zweite Grund ist die Bandbreite. Wenn Daten durch einen Browser
oder durch elektronische Post gesendet werden, wird um so mehr Zeit
benötigt,
je mehr Bits übertragen
werden müssen.
Beispielsweise kann es bei einem 28,8K-Modem eine halbe Stunde dauern,
bis eine Aufnahme vollständig übertragen
ist. Wenn eine Komprimierung von 50 zu 1 erzielt werden kann, kann
dieselbe Aufnahme in etwa 30 Sekunden vollständig übertragen werden, und falls
sie ordnungsgemäß komprimiert
ist, bemerkt der Empfänger
keinen Unterschied zwischen der ursprünglichen und der komprimierten
Version.
-
Bei
Vollfarbenbildern betragen die nicht-komprimierten Daten normalerweise
24 Bits pro Pixel. JPEG kann bei Aufnahmen üblicherweise eine Komprimierung
von 10:1 bis 20:1 ohne sichtbaren Verlust erzielen, wodurch das
effektive Speichererfordernis auf 1 bis 2 Bits pro Pixel verringert
wird. Dies ist darauf zurückzuführen, dass
geringe Farbveränderungen
weniger genau wahrgenommen werden als geringe Veränderungen der
Helligkeit. Bei kleinen bis mittleren Defekten ist sogar eine Komprimierung
von 30:1 bis 50:1 möglich,
während
für Zwecke
einer sehr niedrigen Qualität,
z. B. Vorausdarstellungen oder Archivindizes, eine Komprimierung
von 100:1 durchaus denkbar ist.
-
Bei
Grauskalierungs- und Schwarz-Weiß-Bildern ist es schwierig,
derart hohe Komprimierungsfaktoren zu erhalten, da die Helligkeitsschwankungen
bei diesen Bildern offensichtlicher sind als Farbtonschwankungen.
Eine Grauskalierungs-JPEG-Datei ist allgemein nur etwa 10 bis 25%
kleiner als eine Vollfarben-JPEG-Datei einer ähnlichen visuellen Qualität, wobei
die nicht-komprimierten Grauskalierungsdaten lediglich bei 8 Bits/Pixel
oder einem Drittel des Umfangs der Farbdaten liegen. Die Schwelle
des sichtbaren Verlusts liegt bei Grauskalierungsbildern oft bei
einer Komprimierung um 5:1.
-
Obwohl
es eine Anzahl von Einstellungen gibt, die vordefiniert werden können, um
unterschiedliche Komprimierungsverhältnisse zu erzielen, gibt es
lediglich einen Parameter – er
wird als Qualitätsfaktor
bezeichnet – der
bei JPEG auf einer Bild-um-Bild-Basis regelmäßig mit einer Einstellung für ein aktives
Bild angepasst wird. Der Qualitätsfaktor
ist eine einzelne Zahl in einer willkürlichen, relativen Skala. Ein
hoher Qualitätsfaktor
liefert ein dekomprimiertes Bild einer relativ hohen Qualität, erfordert
jedoch eine relativ große
Datei. Und je geringer die Qualität ist, desto grober ist selbstverständlich die
Annäherung
des Bildes und desto höher ist
die Komprimierung bei einer entsprechend kleineren Dateigröße, desto
mehr sichtbare Defekte oder Artefakte liegen aber auch in dem dekomprimierten
abschließenden
Bild vor. Text zeigt allgemein beträchtliche Komprimierungsartefakte
bei höheren
Qualitätsfaktoren
als Aufnahmen. Ferner liefert der Qualitätsfaktor lediglich eine ungefähre Enddateigröße.
-
Somit
besteht ein Ziel der Bildkomprimierung seit langem darin, eine maximale
wahrnehmbare Bildqualität
aufrechtzuerhalten und gleichzeitig eine maximale Komprimierung
zu erzielen.
-
Es
wird schwieriger, dieses Ziel zu erreichen, da zusammengesetzte
Dokumente gerade erst beginnen, immer wichtiger zu werden. Erst
kürzlich
wurde es möglich,
in dem heute möglichen
Umfang Aufnahmen in Textdokumente einzusetzen. Zuvor waren elektronische Übertragungen
entweder ein Textdokument oder ein Aufnahmedokument. Nun sieht man
immer häufiger
ein zusammengesetztes Bild, wo jemand ein Rundschreiben erstellt
oder eine Website einrichtet. Die Leute möchten einige Aufnahmen einstreuen
und möchten aber
trotzdem auch Text haben. Somit werden zusammengesetzte Dokumente
wichtiger; ob es nun darum geht, sie einfach zu fotokopieren oder
einfach an einen Drucker zu senden oder über das Internet zu übertragen – diese
wurden zu einer wichtigeren Klasse von Bildern.
-
Ferner
beruhen die meisten Techniken, die in der Vergangenheit für zusammengesetzte
Dokumente entwickelt wurden, auf firmeneigenen (nicht standardmäßigen) Komprimierungstechniken,
so dass die Bilder lediglich unter Verwendung eines Produkts eines
spezifischen Unternehmens dekomprimiert werden konnten.
-
Seit
langem weiß man,
dass die Unfähigkeit,
die Dateigröße zu minimieren
und gleichzeitig eine hohe wahrnehmbare Qualität aufrechtzuerhalten, zu schädlichen
Kompromissen der Leistungsfähigkeit
führt,
so dass man seit langem nach Verfahrensverbesserungen sucht, die
sich jedoch Fachleuten bisher nicht erschlossen. Desgleichen weiß man seit
langem, dass die Probleme bei zusammengesetzten Dokumenten schwerwiegender
werden, und somit sucht man seit langem nach einer allgemein anwendbaren
Lösung.
-
Soon
Hie Tan offenbart eine Technik einer variablen Quantisierung auf
der Basis eines adaptiven Klassifizierens des Szeneninhalts eines
Bildblocks, um die Dateigröße zu minimieren
und gleichzeitig eine hohe wahrnehmbare Qualität aufrechtzuerhalten. Diese
Klassifizierung beruht auf Energie und wird als Funktion der Wechselstromkoeffizienten
des Bildblocks berechnet. Soon Hie Tan et al, „Classified Perceptual Coding
with Adaptive Quantization",
IEEE Transac tion on Circuits and Systems for Video Technology, Bd.
6, Nr. 4, August 1996, S. 375-388.
-
Die
vorliegende Erfindung liefert eine einfache Metrik für eine Aufnahme-/Text-Segmentierung
von zusammengesetzten Dokumenten in dem Bereich der diskreten Cosinustransformation
gemäß Anspruch
1. Dies ermöglicht,
dass Bereiche eines Inhalts einer hohen Frequenz wie z. B. Text
bei einer besseren Qualität
als Aufnahmen komprimiert werden können, wodurch die wahrnehmbare
Gesamtqualität
verbessert und gleichzeitig die Dateigröße minimiert wird. Die Metrik
wird unter Verwendung der quantisierten Ausgabe der diskreten Cosinustransformation
berechnet. Von keinem anderen Teil des JPEG-Codierers werden weitere
Informationen benötigt.
-
Ferner
ist ein Bildkomprimierungssystem offenbart, das verwendet werden
kann, um verschiedene, geeignete Quantisierungsfaktoren auf kleine
Aufnahme- und Textblöcke
anzuwenden, um eine beträchtliche Bildkomprimierung
zu liefern.
-
Ferner
ist ein Bildkomprimierungssystem offenbart, das in der Lage ist,
zwischen Text und Aufnahmen bei zusammengesetzten Bildern zu unterscheiden.
-
Des
weiteren ist eine Vorrichtung zum Bewahren der Textqualität, ohne
Bandbreite zu opfern, offenbart, die gleichzeitig dem JPEG entspricht.
-
Ferner
ist ein Bildkomprimierungssystem offenbart, das den jüngsten Erweiterungen
des aktuellen JPEG-Standards vollständig entspricht.
-
1 ist
eine schematische Ansicht eines bekannten JPEG-Basisliniencodierers;
-
2 ist
eine schematische Ansicht eines JPEG-Teil-3-Codierers, der eine variable Quantisierung
unterstützt;
und
-
3 ist
eine schematische Ansicht eines variablen Quantisierungsteilsystems
der vorliegenden Erfindung.
-
Unter
Bezugnahme auf 1 des Standes der Technik ist
dort ein JPEG-Basisliniencodiersystem 10 für Digitalkameras,
Scanner, Drucker, Bilderzeugungsserver usw. gezeigt. Das JPEG-Codiersystem 10 ist
für ein
Bild mit einer einzigen Farbkomponente gedacht. Für Farbbilder
würde ein
JPEG-Codiersystem 10 für jede der
Farbkomponenten vorliegen.
-
Das
System 10 empfängt
Bildpixel bzw. digitale Eingangsbilddaten an einem Eingang 12,
der mit einem diskreten Cosinustransformator 14 verbunden
ist. Der diskrete Cosinustransformator 14 teilt die digitalen Eingangsbilddaten 12 zunächst in
nicht überlappende
Bildblöcke
einer feststehenden Länge
auf, allgemein 8 × 8.
Nach einem Normierungsschritt verringert der diskrete Cosinustransformator 14 die
Datenredundanz und transformiert jeden Bildblock der feststehenden
Länge,
indem er eine diskrete Cosinustransformation auf einen entsprechenden
Block von diskreten Cosinustransformationskoeffizienten anwendet.
Diese Transformation wandelt jeden Bildblock der feststehenden Länge als
neuen Frequenzbereichsbildblock in den Frequenzbereich um. Der erste
Koeffizient in dem Block, der Koeffizient der niedrigsten Frequenz,
ist der Gleichstromkoeffizient, und die anderen Koeffizienten sind
die Wechselstromkoeffizienten (beispielsweise liegen für einen
8 × 8-Block
ein Gleichstromkoeffizient und 63 Wechselstromkoeffizienten
vor).
-
Quantisierungstabellen 16 sind
wirksam mit dem diskreten Cosinustransformator 14 verbunden.
Die Quantisierungstabellen 16 enthalten Faktoren einer
verlustbehafteten Quantisierung (gemäß dem Faktor skaliert), die
auf jeden Block von diskreten Cosinustransformationskoeffizienten
angewendet werden sollen. Ein Satz von Mustertabellen findet sich
im Anhang K des JPEG-Standards (ISO/IEC JTC1 CD 10918; ISO, 1993). Diese
Tabellen und die benutzerdefinierten Qualitätsfaktoren liefern in der Tat
keine Komprimierungsverhältnisse
an sich, sondern liefern Faktoren, die angeben, wie stark die Bildqualität bei einem
gegebenen Frequenzbereichskoeffizienten verringert werden kann,
bevor die Verschlechterung des Bildes wahrnehmbar wird.
-
Man
sollte verstehen, dass die Tabellen Tabellierungen verschiedener
Gleichungen darstellen. Die Nachschlagtabellen könnten durch Teilroutinen ersetzt
werden, die die Berechnungen durchführen könnten, um die Faktoren zu liefern.
-
Ein
Quantisierer 18 ist mit dem diskreten Cosinustransformator 14 und
den Quantisierungstabellen 16 verbunden, um jeden Frequenzbereichsbildblock
durch das entsprechende Element von der Quantisierungstabelle 16 zu
teilen, um die quantisierte diskrete Cosinustransformationsausgabe
auszugeben.
-
Ein
Entropiecodierer 20 ist mit dem Quantisierer 18 und
mit Huffman-Tabellen 22 verbunden. Der Entropiecodierer 20 empfängt die
Ausgabe von dem Quantisierer 18 und ordnet sie in einer
Zickzack-Reihenfolge neu an. Die Zickzack-Ausgabe wird dann unter
Verwendung einer Lauflängencodierung
in dem Entropiecodierer 20 komprimiert, was eine verlustfreie
Entropiecodierung jedes Blocks der quantisierten diskreten Cosinustransformationsausgabe
darstellt. Der Entropiecodierer 20 der vorliegenden Erfindung
verwendet Huffman-Codes von den Huffman-Tabellen 22, obwohl
auch eine arithmetische Codierung verwendet werden kann. Die Huffman-Codes
nutzen Ähnlichkeiten
zwischen den quantisierten diskreten Cosinustransformationskoeffizienten.
JPEG enthält
zwei Sätze
typischer Huffman-Tabellen, eine für die Luminanz- oder Grauskala-Komponenten
und eine für
die Chrominanz- oder Farb-Komponenten. Jeder Satz weist zwei separate
Tabellen auf, eine für
die Gleichstromkomponenten und die andere für die Wechselstromkomponenten.
-
Der
Bitstrom, der den Entropiecodierer 20 bei Ausgang 24 verlässt, ist
eine JPEG-Datei 26, die Anfangsblöcke 28, Tabellen 30 und
Daten 32 enthält.
Die Tabellen 30 enthalten Informationen von den Quantisierungstabellen 16 und
den Huffman-Tabellen 22 der entsprechenden Informationen,
die beim Verarbeiten jedes Datenblocks verwendet werden, damit die
Daten ordnungsgemäß dekomprimiert
werden können.
Die Daten 32 enthalten die Ausgabe von dem Entropiecodierer 20 in
Form eines komprimierten Blockes, so dass eine Sequenz aller komprimierten
Blöcke
die komprimierten Digitalbilddaten bildet.
-
Unter
Bezugnahme auf 2 ist dort ein JPEG-Codiersystem 50 gezeigt,
das die variable Quantisierung der vorliegenden Erfindung unterstützt. Das
System 50 entspricht dem JPEG-Teil-3-Standard. Dieselben Elemente
wie in 1 sind in 2 mit denselben
Zahlen versehen. Somit empfängt
das System 50 digitale Eingangsbilddaten in den diskreten
Cosinustransformator 14, der mit dem Quantisierer 18 verbunden
ist.
-
Die
Quantisierungstabellen 16 sind mit einem Multiplikationsübergang 52 verbunden,
der mit dem Quantisierer 18 verbunden ist. Ebenfalls mit
dem Multiplikationsübergang 52 verbunden
ist ein variables Quantisierungsteilsystem 54, das ferner
mit dem Entropiecodierer 20 verbunden ist.
-
Der
Entropiecodierer 20 ist mit dem Quantisierer 18 und
den Huffman-Tabellen 22 verbunden. Der den Entropiecodierer 20 am
Ausgang 24 verlassende Bitstrom ist eine JPEG-Datei 26,
die Anfangsblöcke 28,
Tabellen 30 und Daten 32 enthält. Die Tabellen 30 enthalten
komprimierungsbezogene Informationen von den Quantisierungstabellen 16 und
den Huffman-Tabellen 22, die durch ein (nicht gezeigtes)
JPEG-Dekomprimierungssystem
verwendet werden können,
um die Daten 32 von dem Entropiecodierer 20 zu
dekomprimieren. Der Quantisierungsskalenfaktor von dem variablen
Quantisie rungsteilsystem 54 wird durch den Entropiecodierer 20 in
die Daten 32 integriert.
-
Unter
Bezugnahme auf 3 ist dort das variable Quantisierungsteilsystem 54 gezeigt,
das mit dem diskreten Cosinustransformator 14 wirksam verbunden
ist. Der diskrete Cosinustransformator 14 ist bei dem variablen
Quantisierungsteilsystem 54 mit einem Quantisierer 58 verbunden.
Der Quantisierer 58 weist mit demselben verbundene Quantisierungstabellen 56 auf,
welche die Faktoren sind, die sich auf die Aktivitätsmetriken
beziehen. Der Quantisierer 58 ist derselbe wie der Quantisierer 18.
Der Einfachheit halber sind die Quantisierungstabellen 56 für die Aktivitätsmetriken
dieselben wie die Quantisierungstabellen 16 für die Codierung, dies
ist jedoch nicht notwendig.
-
Der
Quantisierer 58 ist ferner mit einem Aktivitätscomputer 60 zum
Berechnen einer Aktivitätsmetrik Mi verbunden, wie später beschrieben wird. Der Aktivitätscomputer 60 ist
mit einem Skalencomputer 62 zum Berechnen von qscale verbunden,
wie ebenfalls später
beschrieben wird. Der Skalencomputer 62 ist mit dem Multiplikationsübergang 52 verbunden,
mit dem die Quantisierungstabelle 16 verbunden ist. Der
diskrete Cosinustransformator 14 sowie der Multiplikationsübergang 52 sind
mit dem Quantisierer 18 verbunden, wie ebenfalls in 2 gezeigt
ist.
-
Im
Betrieb des bekannten JPEG-Basisliniencodiersystems 10 der 1 werden
Bildpixel in nicht-überlappende
8 × 8-Blöcke aufgeteilt,
wobei yi den i-ten Eingangsblock bezeichnet.
Diese Aufteilung gilt für
alle Bilder, einschließlich
Text, Aufnahmen und zusammengesetzte Bilder sowie Aufnahmen, die
Text enthalten. Nach einem Normierungsschritt wird jeder Block unter
Verwendung der diskreten Cosinustransformation in den Frequenzbereich
transformiert.
-
Mathematisch
verwendet der JPEG bei seiner Verarbeitung die diskrete Cosinustransformation.
Eine diskrete Cosinustrans formation in dem Frequenzbereich beruht
auf der Annahme, dass ein Bild sich an beiden Grenzen selbst spiegelt.
Dies gewährleistet
einen glatten Übergang
ohne Hochfrequenzspitzen, da dieselben sehr schwer zu komprimieren
sind. Und die höheren
Frequenzen liegen sehr nahe bei null, wenn eine stufenlos variierende
Funktion vorliegt.
-
Die
Ausgabe des obigen Schrittes ist eine neue 8 × 8-Matrix Y
i.
Als nächstes
wird jedes Element von Y
i durch das entsprechende
Element der Codierungsquantisierungstabelle Q
e geteilt.
Wenn Q
e[j, k] gegeben ist, gilt:
-
Bei
dem JPEG-Basisliniencodiersystem 10 wird für das ganze
Bild ein einziger Satz von Quantisierungstabellen 16 verwendet.
Für ein
cmpnd 1-ISO-Testbild (cmpnd = compound, zusammengesetzt) würde das
ganze Bild 512 Pixel mal 513 Pixel betragen.
-
Nach
der Quantisierung wird die Ausgabe des quantisierten diskreten Cosinustransformators 14 in
einer Raster- oder Zickzack-Reihenfolge neu angeordnet und unter
Verwendung einer Lauflängencodierung,
die eine verlustfreie Entropiecodierung ist, die die Huffman-Tabellen 22 in
dem Entropiecodierer 20 verwendet, komprimiert. Gemäß dem JPEG-Standard
können
die Quantisierungstabellen für
jede Farbkomponente in den Anfangsblocktabellen 30 der
JPEG-Datei 26 definiert sein. Die Ausgabe des Entropiecodierers 20 ist
eine Sequenz komprimierter Blöcke,
die das komprimierte Bild bilden, das anhand eines standardmäßigen JPEG-Dekomprimierungssystems
dekomprimiert werden kann.
-
Im
Betrieb verwendet das in 2 gezeigte variable JPEG-Quantisierungscodiersystem 50 der
vorliegenden Erfindung den JPEG-Zusatzstandard (ISO/IEC JTCI CD
10918: ISO, 1993), der dahingehend erweitert wurde, dass er eine
variable Quantisierung unterstützt.
Bei einer variablen Quantisierung können die Werte der ursprünglichen
Quantisierungsmatrix auf kleinen Pixelblöcken, die nur 8 Pixel mal 8
Pixel betragen, neu skaliert werden. Normalerweise bleibt die Quantisierungsmatrix
für das
ganze Bild dieselbe, der Zusatzstandard ermöglicht diese Änderungen
jedoch auf einer Block-um-Block-Basis. Diese Änderung wurde vorwiegend für ein Ratensteuerproblem,
die richtige Anzahl von Bits an dem Ausgang zu erhalten, entworfen.
Wenn ein Block verändert
wird, können
die Informationen in den Bitstrom eingegeben werden, so dass ein
Decodierer an dem Empfangsende sie später aufheben kann. Somit werden
die verschiedenen Skalierungsfaktoren ebenfalls als Teil des Datenbitstroms
codiert. Im Prinzip ermöglicht
eine variable Quantisierung eine bessere Ratensteuerung oder eine
effizientere Codierung, was der ursprüngliche Zweck der JPEG-Erweiterung
ist.
-
Obwohl
die jüngsten
JPEG-Erweiterungen die Syntax für
die Unterstützung
einer variablen Quantisierung liefern, ist die eigentliche Art und
Weise, die Skalierungsfaktoren zu spezifizieren, anwendungsabhängig und
nicht Bestandteil des JPEG-Zusatzstandards.
-
Die
vorliegende Erfindung ermöglicht
die variable Quantisierung zusammengesetzter Bilder. Das JPEG-Codiersystem 50 der 2 erfasst
automatisch den Textteil und den Bildteil eines Dokuments, indem es
misst, wie rasch sich Pixel in den eingehenden Daten verändern. Schwarzer
Text auf weißem
Hintergrund verändert
sich sogar innerhalb eines sehr kleinen Pixelblocks sehr rasch von
schwarz zu weiß und
wieder zurück
zu schwarz. Aufnahmepixel, z. B. das Bild eines menschlichen Gesichts, ändern sich
durch Farbabstufungen hindurch viel langsamer.
-
Bei
dem JPEG-Standard erfolgt die Quantisierung in einem transformierten
Bereich, nicht an den Pixeln direkt. Die Pixel werden durch eine
lineare Matrixtransformation (die diskrete Cosinustransformation)
in eine Frequenzbereichsdarstellung transformiert, und die Quantisierung
wird im Frequenzbereich durchgeführt. Ebenfalls
im Frequenzbereich können
die Frequenzkomponenten bestimmt werden, um festzustellen, wie aktiv
ein bestimmter Block ist. Eine „aktive Metrik" wird durch die verwendete
mathematische Gleichung geliefert. Je größer diese Aktivitätsmetrik
letztendlich ist, desto mehr Dinge ändern sich in dem 8 × 8-Block.
-
Ferner
weist die diskrete Cosinustransformation den Vorteil auf, dass sie
echte Zahlen nimmt und sie in echte Zahlen transformiert, die quantisiert
werden können.
In diesem Bereich ist es möglich,
grob vorauszusagen, wie viele Bits benötigt werden, um die Daten,
die sich tatsächlich
in dem Block befinden, darzustellen.
-
Um
eine gegebene Zahl darzustellen, z. B. jede Zahl zwischen 0 und
15, wird die größte Zahl
genommen, und die Protokollbasis 2 hiervon liefert die
erforderliche Anzahl von Bits. In diesem Fall wäre dies 4, da mit 4 Bits jede
Zahl zwischen 1 und 15 dargestellt werden kann.
-
Somit
wird also der Absolutwert der echten Zahlen genommen und wird die
Protokollbasis 2 derselben genommen, was uns sagt, wie
viele Bits für
jede einzelne benötigt
werden, und diese werden dann zusammengefasst, und das liefert,
wie viele Bits benötigt
werden, um die Daten in dem gesamten Block darzustellen. Diese Zahl
wird sehr groß sein,
wenn viel Aktivität
herrscht, da ein großer
Teil der Frequenzkomponenten groß sein wird, und sie wird sehr
klein sein, wenn sich das Bild langsam verändert, da alle hohen Frequenzen
nahe bei null liegen werden.
-
Auf
der Basis der Aktivität
eines Blocks oder Makroblockes (eines 16 × 16-Blockes) bezüglich der
diskreten Cosinustransformation werden Quantisierungsskalierungsfaktoren
abgeleitet, die die Quantisierung automatisch anpassen, so dass
Textblöcke
bei einer höheren
Qualität
komprimiert werden als Bildblöcke.
Fachleute sind sich darüber
im Klaren, dass Text auf Grund seiner scharfen Ränder empfindlicher bezüglich der JPEG-Komprimierung
ist, wobei diese Ränder
im Fall einer zu starken Komprimierung unscharf würden oder ...Artefakte
(Kräuselungen
um die Ränder
herum) aufweisen würden.
Gleichzeitig können
Bilder stark komprimiert werden, ohne durch das menschliche Auge
wahrgenommene Qualitätsunterschiede
des Bildes drastisch zu beeinflussen.
-
Es
gibt viele Möglichkeiten,
die Aktivität
in einem Block zu messen. Ein Verfahren zum Bestimmen der Aktivität bezüglich der
diskreten Cosinustransformation besteht darin, die Elemente des
i-ten Ausgabeblocks der diskreten Cosinustransformation mit Y
i[j, k] zu bezeichnen, so dass Y
i[0,
0] die Gleichstromkomponente des i-ten Blocks bezeichnet. Bei der
vorliegenden Erfindung verwendet der Aktivitätscomputer
60 die
folgende Aktivitätsmetrik:
wobei die Summierung über alle
Elemente der Y
i[j, k]-Matrix mit der Ausnahme
von Y
i[0, 0] durchgeführt wird. (Die obige Formulierung
geht davon aus, dass Argumente in der log
2-Funktion immer größer als
null sind.)
-
Die
Motivation, die hinter dieser Metrik steckt, beruht darauf, dass:
(a) JPEG eine Differenzcodierung zum Codieren der diskreten Cosinuskoeffizienten
verwendet, und (b) die Anzahl von Bits, die benötigt werden, um einen Gleichstromtransformationskoeffizienten
zu codieren, proportional zu dem Basis-Zwei-Logarithmus seiner Größe ist.
Die Gleichung berücksichtigt
nicht (und muss dies auch nicht) zusätzliche Codierungsbits, die für die Huffman-Codierung
von entweder Größen- oder
Lauf/-Größeninformationen
der diskreten Cosinustransformationskoeffizienten benötigt werden.
Die Anzahl dieser Bits liegt zwischen 2 und 16 pro Nicht-null-Koeffizient. Angenommen,
dass zu diesem Zweck durchschnitt lich c Bits pro Nicht-null-Koeffizient
benötigt
werden, kann das folgende Verfahren verwendet werden, um Mi (und die Gesamtbitrate) präziser zu
berechnen.
-
-
In
den Experimenten gilt: c = 4.
-
Nach
dem Definieren einer Aktivitätsmatrix
besteht der nächste
Schritt darin, die Beziehung zwischen der Aktivitätsmasszahl
und der Quantisierungsskala zu definieren.
-
Das
cmpnd 1-ISO-Testbild wird als das standardmäßige zusammengesetzte Bild
mit durch einen Computer erzeugtem Text, einem Farbbild vom Typ
einer Fotografie und einem durch einen Computer erzeugten Text in
dem Bild verwendet. Die obere Hälfte
ist Text und die untere Hälfte
das Farbbild. Dies ist ein Gesamtbild von 512 × 513 Pixeln, mit 1056 Makroblöcken (16 × 16-Pixel-Blöcken). Der
Farbbildteil beginnt ungefähr
bei dem 508ten Makroblock.
-
Die
Werte der Aktivitätsmetrik
Mi, die in dem Aktivitätscomputer 60 für jeden
der Luminanzmakroblöcke
in dem ISO- Testbild
berechnet werden, sind in den Textregionen des Bildes höher. Jedoch
ist die Unterscheidung zwischen Bild- und Textbereichen sogar noch besser,
wenn Mi unter Verwendung quantisierter Werte
von Yi, d. h. YQM.i,
berechnet wird. Wenn die Quantisierungsmatrizes QM und
Qe in den Quantisierungstabellen 56 bzw. 16 beide
dieselbe sind wie die in dem Anhang K des JPEG-Standards angegebene,
entsprechen Aktivitätswerte
von mehr als 1,2 Textbereichen in dem Bild. Man sollte verstehen,
dass die zwei Quantisierungstabellen 56 und 16 unterschiedlich
sein könnten.
Experimente zeigen, dass die Bandbreite von Werten für Mi für
das ISO-Testbild
mit der Bandbreite von Werten, die von anderen Testbildern erhalten
werden, übereinstimmt.
-
Im
Grunde variiert die Quantisierung umgekehrt zur Metrik. Wenn eine
höhere
Metrik eine höhere
Aktivität
bedeutet, skaliere um weniger, um feiner zu quantisieren oder in
geringerem Umfang zu komprimieren. Und bei einer sehr kleinen Metrik
skaliere die Quantisierung sehr grob oder komprimiere in größerem Umfang, da
das Bild ein derartig glatter Block ist, dass es keine Rolle spielt,
wie viel Quantisierung vorliegt, da sie nicht wahrnehmbar sein wird.
-
Die
Ausgabe des Skalencomputers 62 lautet qscale, was den Parameter
bezeichnet, der zum Skalieren der Wechselstromwerte der ursprünglichen
Quantisierungsmatrix verwendet wird, wobei ein Wert von qscale =
0,5 für
die Komprimierung von Text durchaus akzeptabel ist. Dagegen können Werte
von qscale größer 2 schwerwiegende
blockige Artefakte auf einem Bild ergeben. Um die Implementierung
zu vereinfachen ist eine lineare, jedoch begrenzte Beziehung zwischen
qscale und der Aktivitätsmetrik
(Mi) überragend,
z. B.
-
-
wobei
a und b Konstanten sind, die auf der Basis der gewünschten
Verhältnisse
zwischen Ausgabequalität
und Komprimierung zu definieren sind. Eine Möglichkeit, wie a und b definiert
werden können,
ist Folgende: angenommen, ml bezeichne den Wert der Aktivitätsmetrik
M
i, wofür
qscale = 1. Angenommen, m
u bezeichne den
Wert von M
i, wofür qscale = 0,5 gilt. Nach dem
Lösen zweier
Gleichungen mit zwei Unbekannten:
-
Falls
beispielsweise ml = 0,6 und mu = 1,2, dann
a = –0,83
und b = 1,498.
-
Die
Auswahlen für
ml und mu bewirken die folgenden Komprimierungsverhältnisse.
Falls ml erhöht wird,
werden in der Tat mehr Blöcke
mit qscale > 1 quantisiert;
somit ist die Komprimierung verbessert, die Bildqualität kann jedoch
verringert sein. Falls mu erhöht wird,
sinkt die Anzahl von Blöcken,
die mit qscale = 0,5 quantisiert werden; somit ist die Textqualität verringert,
die Komprimierungsraten sind jedoch verbessert.
-
Bei
dem variablen Quantisierungsteilsystem der 3, das das
Verfahren der variablen Quantisierung zeigt, ist die QM-Quantisierungsmatrix
dieselbe wie Qe, dies ist jedoch eventuell
nicht immer der Fall. Beispielsweise kann QM dasselbe
sein wie Anhang K des JPEG-Standards, jedoch kann Qe eine
kundenspezifische Quantisierungstabelle sein.
-
Unter
Verwendung der obigen Metrik wurden die oberen Textbereiche in dem
ISO-Testbild als Bereiche einer Aktivität bei hoher Frequenz identifiziert,
jedoch auch der Text in der Farbaufnahme auf der unteren Hälfte.
-
qscale
wird dem Multiplikationsübergang 52 bereitgestellt,
um Qe von der Quantisierungstabelle 16 zu dem
Quantisierer 18 zu steuern.
-
Man
sollte verstehen, dass dasselbe Verfahren, wie es oben beschrieben
ist, verwendet werden kann, um die Chromaquantisierungstabellen
unter Verwendung derselben Skalierungsfaktoren unabhängig von
den Luminanztabellen anzupassen.
-
Der
JPEG selbst legt als Standard nicht fest, wie mit Farbe umzugehen
ist. Üblicherweise
wird jedoch ein Farbbild in eine Luminanz- und Chrominanzdarstellung
umgewandelt, so dass dieselbe die Helligkeit des Bildes mit zwei
anderen Komponenten, die die Farbigkeit zeigen, zeigt. Und es stellt
sich heraus, dass das menschliche Auge viel sensibler auf die Luminanz
reagiert. Ein langsamer Übergang
von einem Rot zu einem Orange gegenüber einem scharfen Übergang
ist nicht einmal erkennbar, jedoch wird ein langsamer Übergang der
Luminosität
gegenüber
einem scharfen Übergang
als Unschärfe
erkennbar sein. Bei der vorliegenden Erfindung wird die Aktivitätsmetrik
lediglich für
die Luminanzkomponente berechnet, um Rechenaufwand einzusparen,
und anschließend
wird die Chrominanz auf dieselbe Weise skaliert. Man stellte fest,
dass dies auch bei der Chrominanz relativ gut funktioniert, da zusammengesetzte
Dokumente üblicherweise
schwarzen Text auf weißem
Hintergrund aufweisen und Fehler in der Farbe besonders leicht erkennbar
sind. Ein kleiner roter Rand um jeden Buchstaben herum ist unmittelbar
zu sehen, es ist jedoch weniger wahrscheinlich, dass er in einem
Bild zu sehen ist.
-
Wie
Fachleute kennen werden, wurde die vorliegende Erfindung anhand
gesonderter Komponenten beschrieben, sie kann jedoch auch in Software
oder in zweckgebundenen integrierten Schaltungen durchgeführt werden.