DE4141024A1 - Verfahren zum umsetzen zwischen zwei farbraeumen - Google Patents
Verfahren zum umsetzen zwischen zwei farbraeumenInfo
- Publication number
- DE4141024A1 DE4141024A1 DE4141024A DE4141024A DE4141024A1 DE 4141024 A1 DE4141024 A1 DE 4141024A1 DE 4141024 A DE4141024 A DE 4141024A DE 4141024 A DE4141024 A DE 4141024A DE 4141024 A1 DE4141024 A1 DE 4141024A1
- Authority
- DE
- Germany
- Prior art keywords
- bits
- component
- binary
- bit
- cycles
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/67—Circuits for processing colour signals for matrixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6016—Conversion to subtractive colour signals
- H04N1/6019—Conversion to subtractive colour signals using look-up tables
Description
Die Erfindung betrifft ein Verfahren zum Umsetzen zwischen
zwei Farbräumen, wie beispielsweise zwischen RGB- und YIQ-
Farbräumen.
Bei vielen Anwendungen, bei welchen eine Farbbildverarbeitung
durchgeführt wird, muß zwischen zwei Farbräumen hin
und her umgesetzt werden, wobei als ein Beispiel das Gebiet
der Farbbildverdichtung anzuführen ist, obwohl die Erfindung
nicht auf diesen einen Anwendungsfall beschränkt ist.
Eine typische Farbbild-Verdichtungseinrichtung weist ein
sendendes Farb-Faksimilegerät, eine Fernsprechverbindung und
ein empfangendes Farb-Faksimilegerät auf. Sendeseitig muß
das Faksimilegerät zuerst das Bild abtasten. Bei herkömmlichen
Abtastverfahren wird in dem roten, grünen und blauen
(RGB-)Farbraum abgetastet. Aus Hardware-/Kostengründen ist
dies üblicherweise die einfachste Methode. In früheren Arbeiten
ist jedoch gezeigt worden, daß es zum Verdichten eines
Farbbildes besser ist, die Verdichtung in einem Farbraum
durchzuführen, welcher aus einer Luminanz-Farbebene und zwei
Chrominanz-Farbebenen besteht. Ein derartiger Farbraum ist
der YIQ-Farbraum.
Hierbei stellt sich heraus, daß der YIQ-Farbraum besser für
eine Farbbildverdichtung ist, da in Raumtermen die Änderungsgeschwindigkeit
der I- und Q-Ebenen für das menschliche Auge
weniger wahrnehmbar ist als beispielsweise die Luminanzebene
Y. Bei Verdichtungsverfahren wird die Tatsache ausgenutzt,
eine einfache räumliche Verdichtung in den I- und Q-Ebenen
durchzuführen, bevor eine tatsächliche Quantisierung durchgeführt
wird, um die Daten weiter zu verdichten.
Ein typisches Verdichtungssystem würde beispielsweise den Anfangsscanner
aufweisen, welcher ein Farbbild erzeugt, das 24
Datenbits pro Pixel ergibt. Dies sind normalerweise acht rote
Bits, acht grüne Bits und acht blaue Bits. Die Umsetzung in
Y, I, Q kann drei neue 8 Bit-Zahlen ergeben, aber durch Verknüpfen
von zwei benachbarten I-Werten und zwei benachbarten
Q-Werten ergeben sich nunmehr Daten mit nur 16 Bits pro
Pixel. Folglich sind acht Bits pro Pixel beinahe unmittelbar
beseitigt worden.
Öfter noch wird die Umsetzung von RGB in YIQ in Software
durchgeführt, wie beispielsweise auf Einrichtungen, wie dem
Mikroprozessor Motorola 68030. In Fig. 3a ist eine Lineartransformation
von RGB in YIQ dargestellt. Hierbei sind die
Zahlen in der (3×3)-Matrix nicht sehr "freundlich bzw.
günstig". Sie werden Gleitpunkt- bzw. Fließkommazahlen zugeordnet.
Sollte der Benutzer sich entscheiden, die Umsetzung mit
Hilfe einer einfachen Multiplikation durchzuführen, würde
dies neun (9) Multiplikationen und sechs (6) Additionen
erfordern, d. h.:
Y = (0,299*R) + (0,587*G) + (0,114*B);
die Berechnung wird für I und Q zweimal mehr wiederholt.
Obwohl dies sich hinsichtlich Codelängen- und Speicherplatzanforderungen
als das Einfachste herausstellen würde, ist es
wegen der erforderlichen Multiplikationen sicherlich nicht
die schnellste Lösung.
Bei einer sehr einfachen Lösung, bei welcher keine Multiplikation
angewendet wird, müssen vorprogrammierte Verweistabellen
verwendet werden. Der Benutzer würde dann alle möglichen
R-, G- und B-Werte vorher multiplizieren und sie dann in
den Verweistabellen speichern. Eine anfängliche Prüfung würde
die Notwendigkeit für neun (9) gesonderte Verweistabellen
zeigen, und zwar jeweils 256 Einträge, 16 Bit breit. Die möglichen
Bereiche für R, G und B sind normalerweise 0 bis 255,
was in einer einzigen 8-Bit-Zahl gespeichert ist. Nach der
linearen Umsetzung hat jedoch Y einen Bereich von 0 bis 255
(8 Bits), I einen Bereich von +151 bis -151 und Q einen Bereich
von +136 bis -136. Um diese Werte darzustellen sind
9 Bits statt 8 Bits erforderlich.
Wegen der Struktur von modernen Mikroprozessor-Systemen sind
einmal 8-Bit-Zahlen überschritten worden, von denen eine normalerweise
zu Adressierzwecken auf 16 Bits springt. Folglich
beträgt eine Speicherförderung nunmehr insgesamt 9×256×2
Bytes oder 4,5 Bytes. Um die Umsetzung durchzuführen, entwirft
der Benutzer ein Programm, welches den R-Wert nimmt und
ihn in die Y-(R-)Tabelle indiziert, den Wert aufsucht und ihn
hält. Dann wird der G-Wert genommen, der Y-(G-)Wert aufgesucht
und zu dem Y-(R-)Wert addiert. Schließlich wird dasselbe
für 0 getan und zu dem vorherigen Gesamtwert addiert, damit
sich der endgültige Y-Wert ergibt. Dies erfordert drei
(3) Verweise und zwei Additionen. Derselbe Prozeß wird für I
und Q durchgeführt, so daß sich neun (9) Verweise und sechs
(6) Additionen ergeben. Im Vergleich zu dem Vorstehenden werden
die neun (9) Multiplikationen durch neun (9) Verweise ersetzt,
welche üblicherweise der Größe nach angeordnet sind und
damit schneller als eine Multiplikation (zu erhalten) sind.
Gemäß der Erfindung soll daher ein Verfahren zum Umsetzen
zwischen zwei Farbräumen auf einem 32-Bit-Mikroprozessor geschaffen
werden. Insbesondere soll ein Verfahren zum Umsetzen
zwischen RBG- und YIQ-Farbräumen geschaffen werden.
Gemäß der Erfindung ist dies bei einem Verfahren zum Umsetzen
zwischen zwei Farbräumen durch die Merkmale im kennzeichnenden
Teil des Patentanspruchs erreicht.
Durch die Erfindung ist somit eine verbesserte Umsetztechnik
geschaffen. Beispielsweise wird bei einer Ausführungsform der
Erfindung zwischen RGB- und YIQ-Farbräumen umgesetzt, wobei
die Gesamtanzahl an erforderlichen Operationen drei Verweise
auf Tabellen, zwei Additionen, zwei sogenannte "Barrel"-Verschiebungen
und zwei Maskenoperationen erfordert.
Nachfolgend wird die Erfindung anhand von bevorzugten Ausführungsformen
unter Bezugnahme auf die anliegenden Zeichnungen
im einzelnen erläutert. Es zeigt
Fig. 1 ein Diagramm einer verbesserten Genauigkeitsversion
gemäß der Erfindung,
Fig. 2 eine Anordnung von Daten in einem 32-Bit-Schieberegister
und
Fig. 3a und 3b Umsetzmatrizen für einen RGB- in einen YIQ-
bzw. einen YIQ- in einen RGB-Farbraum.
Viele Mikroprozessoren, wie beispielsweise der Mikroprozessor
Motorola 68030, enthält einen eingebauten sog. "Barrel"-Schiebe-
Mechanismus. Üblicherweise ist ein Verschieben in Software
eine verhältnismäßig langsame Operation, da die Befehl-Ausführungszeit
proportional der Anzahl an erforderlichen Verschiebungen
ist. Wenn beispielsweise eine Zahl X im Register
DO ist und fünfmal zu verschieben ist, kann es 300 ns dauern.
Wenn sie um zehn (10) Stellen verschoben werden soll, dann
würde dies ohne eine "Barrel"-Schiebeeinheit etwa 600 ns
dauern.
Der Vorteil einer "Barrel"-Schiebeeinheit besteht darin, daß
alle Verschiebungen unabhängig von der Anzahl Stellen die
gleiche Zeit dauern. Dies wird verwendet, um den Vorteil bei
der Erfindung zu erhöhen, bei welcher nur drei Verweistabellen
statt der vorerwähnten neun aufgebaut werden.
Es sind 256 Einträge von jeweils 32 Bit. Folglich sind die
Anforderungen bezüglich des Speicherbedarfs 3mal 256×4
Bytes oder nur 3 kBytes, was 33% weniger ist als eingangs ausgeführt.
Die Gewinnung bzw. Erzeugung der Tabellen erfolgt
folgendermaßen:
Die 32 Bit-Speicherstellen werden in drei (3) 10 Bit-Bereiche
aufgeteilt. Jedes vorher berechnete Verweiselement wird in
dem relevanten Bereich in der 32 Bit-Speicherstelle angeordnet.
Die Operationen, welche für die Umsetzung erforderlich sind,
bestehen nunmehr aus genau drei Verweisungen.
Zuerst wird eine 32 Bit-Zahl für die Rot-Komponente aufgesucht.
Dieser Wert wird gehalten. Als nächstes wird eine
32 Bit-Zahl für die G-Komponente aufgesucht, und die zwei
32 Bit-Zahlen werden addiert. Schließlich wird ein 32 Bitwert
für die B-Komponente aufgesucht und zu der vorherigen
32 Bit-Summe addiert. Nunmehr wird genau ein 32 Bit-Ergebnis
erhalten. Um den Y-Wert zu erhalten, welcher an den untersten
10 Bits des 32 Bit-Werts sitzt, deckt das Verfahren gemäß der
Erfindung die unteren 8 Bits ab. In dem Fall, daß der Wert Y
in dem Bereich 0 bis 255 liegt, ist dies Abdecken bzw. Maskieren
nicht notwendig.
Die Abdeckung bzw. Maskierung ist die einzige Operation, deren
Zeitaufwand annähernd einer einzigen Addition entspricht.
Nunmehr wird bei dem Verfahren die 32 Bit-Zahl 10mal nach
rechts verschoben, und es werden die unteren 9 Bits abgedeckt.
Dies erfordert eine einzige "Barrel"-Verschiebung und eine
Maskierungsoperation, damit sich I ergibt. Schließlich wird
bei dem Verfahren die 32 Bit-Zahl mehr als 10mal nach rechts
verschoben, und es werden die unteren 9 Bits abgedeckt, damit
sich Q ergibt. Folglich sind die insgesamt erforderlichen
Operationen drei (3) Verweis- oder Aufsuchvorgänge (look-ups),
zwei (2) Additionen, zwei (2) "Barrel"-Verschiebungen und
zwei (2) Maskieroperationen. Hinsichtlich der Geschwindigkeit
wird davon ausgegangen, daß dies Verfahren für Prozessoren,
wie beispielsweise den Prozessor Motorola 68030, und andere
ähnliche 32 Bit-Einrichtungen optimal ist.
Um den Prozeß im Betrieb darzustellen, wird ein spezifisches
Beispiel beschrieben, und es durchläuft alle Operationen in
beiden Richtungen. Wichtig ist zu bemerken, daß durch Verweistabellen
infolge des Rundens beim Erstellen der Tabelle
kleine numerische Fehler eingebracht werden können. Dies ist
die Erklärung dafür, warum die Eingangs- und Ausgangswerte
sich um einen kleinen Betrag unterscheiden.
In Fig. 2 ist ein Diagramm dargestellt, wie die Daten in den
32 Bit-Speicherstellen organisiert sind. Die drei Speicher-
Verweiswerte werden in einem einzigen Datenregister summiert,
und das Ergebnis wird dann maskiert und verschoben, um die
Y-, I- und Q-Werte zu schaffen. Als Eingang werden die Werte
genommen: R = 50, G = 75, B = 97. (Angenommene Basis 16.)
In den beigefügten Verweistabellen (Anhang A) ist auf
R_YIQbtl zu gehen. Um R = 50 zu lokalisieren, ist in der
ersten Spalte in die elfte (eingerahmte) Zeile zu gehen. Dadurch
ergibt sich die 32 Bit-Zahl $00608018. Nunmehr ist
dasselbe für G = 75 in der G_YIQebl zu tun. Hierbei ergibt
sich der (eingerahmte) Wert $0d73ac45. Dieser Wert ist zu
dem vorherigen Wert zu addieren, so daß sich $0e242c5d ergibt.
Schließlich ist B = 97 in B_YIQtbl zu lokalisieren. $01f38011
ist zu der vorherigen laufenden Summe zu addieren, so daß
sich als Ergebnis $1017ac6e ergibt. Nunmehr sind die Maskierungs-
und Schiebeoperationen zu starten.
Begonnen wird mit dem Wert $1017ac6e. Die unteren acht Bits
sind mit $000000ff abzudecken, so daß sich ein Y-Wert von
$6e (oder in Dezimalschreibweise +110) ergibt.
Nunmehr wird die 32 Bit-Zahl 10mal nach rechts verschoben.
Dies ergibt eine Zahl $000405eb. Nunmehr sind die niederwertigen
8 Bits mit einer Maske $000000ff abzudecken, so daß
sich $eb ergibt. Dies ist äquivalent zu dem Dezimalwert
-21, da I eine mit Vorzeichen versehene Zahl ist.
Nunmehr wird der 32 Bit-Wert um weitere zehn (10) Positionen
nach rechts verschoben. Dies ergibt die Zahl $00000101. Durch
Abdecken der niedrigerwertigen acht (8) Bits ergibt sich ein
Wert für Qof$01. Somit ist:
Y = $6e, I = $eb, Q = $01.
Nunmehr ist der zweite Tabellensatz zu verwenden, um die umgekehrte
Operation durchzuführen.
Für Y = $6e: Y_RBGtbl ergibt sich $06elb86e,
für I = $eb: I_RBGtbl ergibt sich $023027e2,
für Q = $01: a_RGBtbl ergibt sich $003ffc01.
für I = $eb: I_RBGtbl ergibt sich $023027e2,
für Q = $01: a_RGBtbl ergibt sich $003ffc01.
Das Addieren dieser Werte ergibt $0951dc51.
Durch Abdecken der niedrigerwertigen acht (8) Bits ergibt
sich Rot = $51 ($50 war der Startwert). Durch 10maliges
Verschieben nach rechts ergibt sich $00025477. Durch Abdecken
der niedrigerwertigen acht (8) Bits ergibt sich G (Grün) = $77
(ursprünglich $75). Durch ein Verschieben von mehr als 10mal
ergibt sich $00000095. Folglich ist B (Blau) = $95. Hierdurch
ist der Prozeß beendet.
In dem Tabellensatz, der als Anhang A beigefügt ist, sind
die Verweiswerte für I und a um einen konstanten Faktor von
1,5 verkleinert worden. Jedoch sollte betont werden, daß die
vorstehend beschriebene Methode vollständig paßt zu I und Q
als mit Vorzeichen versehenen 9 Bit-Zahlen, die von +151 bis
-151 für I und von +136 bis -136 für Q reichen.
Eines absolutes Funktionieren ist ein schwieriges Thema. Dies
hängt von dem tatsächlichen Prozessor ab, ist Sache der Taktgeschwindigkeit,
ob ein Cache-Speicher möglich ist, usw. Zu
Vergleichszwecken soll ein Motorola-Prozessor 68030 verwendet
werden. Hierbei werden Maschinenzyklen gezählt, um die veränderliche
Taktgeschwindigkeit zu eliminieren. Ebenso soll
mit einer ganzen Zahl multipliziert werden (beispielsweise
ein Skalieren der Multiplikatoren mit beispielsweise 1000.
In der praktischen Ausführung würde ein derartiges Skalieren
eine mit End-Teilerstufe erfordern. Obwohl dies bei der Berechnung
nicht gezählt wird.
Methode 1: Multiplikation
9 Multiplikationen @ jeweils 28 Zyklen = 252 Zyklen;
6 Additionen @ jeweils 2 Zyklen = 12 Zyklen;
insgesamt = 264 Zyklen.
9 Multiplikationen @ jeweils 28 Zyklen = 252 Zyklen;
6 Additionen @ jeweils 2 Zyklen = 12 Zyklen;
insgesamt = 264 Zyklen.
Methode 2: Einfache Verweismethode
9 Verweisvorgänge @ jeweils 4 Zyklen = 36 Zyklen;
6 Additionen @ jeweils 2 Zyklen = 12 Zyklen;
insgesamt = 48 Zyklen.
9 Verweisvorgänge @ jeweils 4 Zyklen = 36 Zyklen;
6 Additionen @ jeweils 2 Zyklen = 12 Zyklen;
insgesamt = 48 Zyklen.
Methode 3: Neue Verweismethoden
3 Verweisvorgänge @ jeweils 4 Zyklen = 12 Zyklen;
2 Additionen @ jeweils 2 Zyklen = 4 Zyklen;
2 Markierungen @ jeweils 2 Zyklen = 4 Zyklen;
2 10-Bit-Verschiebungen @ jeweils 2 Zyklen = 4 Zyklen;
insgesamt = 24 Zyklen.
3 Verweisvorgänge @ jeweils 4 Zyklen = 12 Zyklen;
2 Additionen @ jeweils 2 Zyklen = 4 Zyklen;
2 Markierungen @ jeweils 2 Zyklen = 4 Zyklen;
2 10-Bit-Verschiebungen @ jeweils 2 Zyklen = 4 Zyklen;
insgesamt = 24 Zyklen.
Dies ergibt bezüglich der Geschwindigkeit eine Verbesserung von
etwa 50%. Für ein Farbbild, d. h. 1024×1024 Pixels, werden
durch das Einsparen von 24 Zyklen pro Pixel bei beiden Umsetzungen
über 50 Millionen Operationszyklen eingespart. Bei
einem üblichen 16-MHz-Prozessor 68030 würde dies über drei
(3) Sekunden eingesparter Prozessorzeit ergeben.
In vielen Fällen ist die mit der vorstehend beschriebenen
Methode erreichte Genauigkeit angemessen. In einem Farbbild-
Verdichtungssystem kann bei hohen Bitraten der Fehler,
welcher durch das Verweisen eingebracht worden ist, unannehmbar
sein. Daher wird ein verbesserter Genauigkeitsmode
gewünscht, obwohl dies einen zusätzlichen Maschinenbefehl
zur Folge hat. Die beste Betriebsart ist in Fig. 1 dargestellt.
Nunmehr werden, statt drei (3) 10 Bit-Zellen zuzuordnen,
Y und I 11 Bits und Q 10 Bits zugeordnet. Daher werden alle
32 Bits verwendet. Die elf (11) Bits für Y werden in der folgenden
Weise verwendet. Der Wert von Y kann von 0 bis 255
reichen. Die zusätzlichen 3 Bits werden verwendet, um die
Genauigkeit auf der rechten Seite des Dezimalpunktes bzw.
-kommas darzustellen. Folglich kann gemäß der Erfindung mit
einer Genauigkeit von 1/8 für Y gespeichert werden. Wenn die
YR-, YG- und YB-Komponenten erzeugt werden, wird statt des
Rundens der nächsten ganzen Zahl der nächste 1/8-Wert gerundet.
Nachstehend ist ein Beispiel wiedergegeben, bei welchem hierdurch
eine deutliche Verbesserung gegenüber der vorherigen
Version erreicht ist.
Nunmehr soll sein: R = 65; G = 28; B = 37. Bei dem ersten
Schema werden die folgenden Komponenten erzeugt:
YR = 65*0,299 = 19.435 würde auf 19 gerundet,
YG = 28*0,587 = 16.436 würde auf 16 gerundet,
YB = 37*0,114 = 4.218 würde auf 4 gerundet.
YG = 28*0,587 = 16.436 würde auf 16 gerundet,
YB = 37*0,114 = 4.218 würde auf 4 gerundet.
Durch Addieren der Werte YR, YG und YB ergibt sich Y = 39.
Bei dem neuen Schema würde:
YR = 19,435 auf 19,375 oder 19⅜ gerundet;
YG = 16,435 auf 14,375 oder 14⅜ gerundet;
YB = 4,218 auf 4,25 oder 4¼ gerundet.
YG = 16,435 auf 14,375 oder 14⅜ gerundet;
YB = 4,218 auf 4,25 oder 4¼ gerundet.
Durch Aufaddieren der Werte von YR, YG und YB ergibt sich
Y = 40.
Wenn die ursprünglichen Gleitpunkt- bzw. Fließkommazahlen
addiert werden, würde man 40,089 erhalten. Folglich ist der
neue Schätzwert von 40 erheblich näher als 39.
Für I werden zwei zusätzliche Bits dediziert, um auf das
nächstliegende Viertel (¼) abzurunden und für Q reicht
ein (1) zusätzliches Bit, um auf den näçhsten Wert von ½
abzurunden. Dies ist eine willkürliche Zuteilung für die zusätzlichen
Bits. Zu beachten ist, daß durch andere Kombinationen
sogar eine bessere Genauigkeit erreichbar ist.
Für die inverse Berechnung, d. h. YIQ in RGB, sollten andere
Genauigkeiten gewählt werden. Infolge der Multiplikatoren,
wie 1,703, müssen mehr Bits auf der linken Seite der Dezimalstelle
zugelassen werden; folglich ist es notwendig, die
Genauigkeit auf der rechten Seite der Dezimalstelle zu
opfern. Die Übung, diese Bit-Zuteilungen zu optimieren,
braucht hier nicht weiter erörtert zu werden.
In Fig. 1 ist dargestellt, daß eine zusätzliche Verschiebung
erforderlich ist, um dieselben Ergebnisse zu erreichen. Die
erste Verschiebung erfolgt um drei (3) Stellen, um unerwünschte
Bits auf der rechten Seite der Dezimalstelle zu beseitigen.
Auch ist es möglich, das Ergebnis auf der Basis der Werte
dieser drei Bits zu runden. Wenn das dritte Bit gesetzt wird,
ist abzurunden oder sonst nichts zu tun. Jedoch würde dies
einen zusätzlichen Befehl erfordern. Die zweite Verschiebung
erfolgt über zehn (10) Stellen, um die I-Komponente
zu erhalten; wiederum ist ein Runden möglich, und schließlich
wird durch eine Verschiebung um 9 die Q-Komponente erhalten.
Vorausgesetzt, es wird nur eine Verschiebung hinzugefügt,
dann sind nur zwei (2) zusätzliche Taktzyklen erforderlich,
wodurch sich insgesamt 26 Zyklen ergeben.
Claims (1)
- Verfahren zum Umsetzen zwischen zwei Farbräumen, vorzugsweise zwischen RGB- und YIQ-Farbräumen, dadurch gekennzeichnet, daß
erste, zweite und dritte Verweistabellen erzeugt werden, die jeweils eine vorherbestimmte Anzahl von vorher berechneten Einträgen einer bestimmten Anzahl an Binärstellen, welche dem RGB-Farbraum entsprechen, haben;
jede der Binärstellen in zumindest drei Bereiche mit einer geringeren Anzahl von Binärstellen aufgeteilt wird;
auf eine erste Binärstellenzahl verwiesen wird, welche der Rot-(R-)Komponente entspricht;
auf eine Binärstellenzahl für die Grün-(G-)Komponente verwiesen wird und die zwei Binärstellenzahlen addiert werden;
auf eine Binärstelle für die Blau-(B-)Komponente verwiesen wird und die vorherige Binärstellengesamtzahl addiert wird, um ein berechnetes Bitergebnis zu erzeugen;
eine bestimmte Anzahl niederwertiger Bits abgedeckt wird, um den Y-Komponentenwert des zweiten Farbraums zu erhalten;
die Bitanzahl eine vorherbestimmte Anzahl Mal verschoben wird und die niederwertigen Bits mit Hilfe einer einzigen "Barrel"- Verschiebung abgedeckt und eine Maskier-Operation durchgeführt wird, um die I-Komponente zu erhalten, und
die Bitzahl eine bestimmte Anzahl Mal mehr nach rechts verschoben wird und die unteren niederwertigen Bits abgedeckt werden, um die Q-Komponente zu bilden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/628,904 US5218647A (en) | 1990-12-12 | 1990-12-12 | Method to convert between 2 color space on a 32 bit μ-processor |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4141024A1 true DE4141024A1 (de) | 1992-07-16 |
DE4141024C2 DE4141024C2 (de) | 1996-07-18 |
Family
ID=24520800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4141024A Expired - Fee Related DE4141024C2 (de) | 1990-12-12 | 1991-12-12 | Verfahren zum Umsetzen zwischen zwei Farbräumen |
Country Status (5)
Country | Link |
---|---|
US (1) | US5218647A (de) |
JP (1) | JP2901213B2 (de) |
DE (1) | DE4141024C2 (de) |
FR (1) | FR2670593B1 (de) |
GB (1) | GB2253320B (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438436A (en) * | 1989-05-02 | 1995-08-01 | Harris; Scott C. | Facsimile machine apparatus |
AU1996292A (en) * | 1991-05-17 | 1992-12-30 | Analytic Sciences Corporation, The | Continuous-tone image compression |
US5625713A (en) * | 1991-08-09 | 1997-04-29 | Ricoh Corporation | Apparatus and method for increasing the throughput of an acoustic or image compression system |
US5319793A (en) * | 1992-10-21 | 1994-06-07 | International Business Machines Corporation | Method and apparatus for improved compression and recording of color video data in a personal computer using a plurality of lookup tables |
JP2891073B2 (ja) * | 1993-11-15 | 1999-05-17 | 日本電気株式会社 | 色信号変換方式 |
US5689592A (en) * | 1993-12-22 | 1997-11-18 | Vivo Software, Inc. | Parallel processing of digital signals in a single arithmetic/logic unit |
DE4444231A1 (de) * | 1994-12-13 | 1996-06-20 | Sican Gmbh | Verfahren und Schaltungsanordnung zur Hin- und Rücktransformation von Bildinformation im YCrCb- und RGB-Format (Colour-Space-Conversion) |
US5973734A (en) | 1997-07-09 | 1999-10-26 | Flashpoint Technology, Inc. | Method and apparatus for correcting aspect ratio in a camera graphical user interface |
FR2774244B1 (fr) | 1998-01-23 | 2000-02-25 | Inst Nat Rech Inf Automat | Procede de conversion de la representation d'une image video entre deux systemes de codage |
US6201530B1 (en) * | 1998-05-29 | 2001-03-13 | Flashpoint Technology, Inc. | Method and system of optimizing a digital imaging processing chain |
US6308189B1 (en) | 1998-06-03 | 2001-10-23 | International Business Machines Corporation | Apparatus for partial logical shifts and method therefor |
US6317141B1 (en) | 1998-12-31 | 2001-11-13 | Flashpoint Technology, Inc. | Method and apparatus for editing heterogeneous media objects in a digital imaging device |
JP3729252B2 (ja) * | 2001-03-26 | 2005-12-21 | セイコーエプソン株式会社 | 画像処理システム、プログラムおよび情報記憶媒体 |
US7352893B2 (en) | 2003-07-09 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Representing extended color gamut information |
US9224145B1 (en) | 2006-08-30 | 2015-12-29 | Qurio Holdings, Inc. | Venue based digital rights using capture device with digital watermarking capability |
US7639263B2 (en) * | 2007-01-26 | 2009-12-29 | Microsoft Corporation | Fast filtered YUV to RGB conversion |
US10855886B2 (en) * | 2018-02-20 | 2020-12-01 | Filmic Inc. | Cubiform method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0292161A (ja) * | 1988-09-29 | 1990-03-30 | Dainippon Printing Co Ltd | 印刷伝送原色変換方法 |
EP0383331A2 (de) * | 1989-02-15 | 1990-08-22 | Hitachi, Ltd. | Farbdokumentenbildverarbeitungsgerät |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3486126T2 (de) * | 1983-09-29 | 1993-11-04 | Matsushita Electric Ind Co Ltd | Expansions- und/oder ziehungsverfahren und -geraet fuer bilddaten. |
EP0228028A1 (de) * | 1985-12-20 | 1987-07-08 | Siemens Aktiengesellschaft | Schaltungsanordnung zur Transformationscodierung |
JPS63151263A (ja) * | 1986-12-16 | 1988-06-23 | Victor Co Of Japan Ltd | 感熱記録装置の色補正回路 |
US4998286A (en) * | 1987-02-13 | 1991-03-05 | Olympus Optical Co., Ltd. | Correlation operational apparatus for multi-dimensional images |
US4887150A (en) * | 1987-03-16 | 1989-12-12 | Mitsubishi Denki Kabushiki Kaisha | Device for converting video image signals to printing data signals |
US4974071A (en) * | 1987-04-28 | 1990-11-27 | Canon Kabushiki Kaisha | Color image data encoding apparatus having improved resolution/efficiency characteristics |
GB2205465B (en) * | 1987-05-13 | 1991-09-04 | Ricoh Kk | Image transmission system |
US4951139A (en) * | 1988-03-30 | 1990-08-21 | Starsignal, Inc. | Computer-based video compression system |
US4951129A (en) * | 1989-01-09 | 1990-08-21 | Dubner Computer Systems, Inc. | Digital prefiltering of encoded video signals |
-
1990
- 1990-12-12 US US07/628,904 patent/US5218647A/en not_active Expired - Lifetime
-
1991
- 1991-12-12 DE DE4141024A patent/DE4141024C2/de not_active Expired - Fee Related
- 1991-12-12 FR FR9115459A patent/FR2670593B1/fr not_active Expired - Fee Related
- 1991-12-12 GB GB9126403A patent/GB2253320B/en not_active Expired - Fee Related
- 1991-12-12 JP JP3351649A patent/JP2901213B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0292161A (ja) * | 1988-09-29 | 1990-03-30 | Dainippon Printing Co Ltd | 印刷伝送原色変換方法 |
EP0383331A2 (de) * | 1989-02-15 | 1990-08-22 | Hitachi, Ltd. | Farbdokumentenbildverarbeitungsgerät |
Non-Patent Citations (1)
Title |
---|
LURRAN: "Chip set speeds color image processing", in Electronic Design, 12.1.89, S. 147-149 * |
Also Published As
Publication number | Publication date |
---|---|
DE4141024C2 (de) | 1996-07-18 |
GB9126403D0 (en) | 1992-02-12 |
FR2670593A1 (fr) | 1992-06-19 |
US5218647A (en) | 1993-06-08 |
GB2253320B (en) | 1995-03-29 |
FR2670593B1 (fr) | 1993-10-15 |
JPH04288684A (ja) | 1992-10-13 |
JP2901213B2 (ja) | 1999-06-07 |
GB2253320A (en) | 1992-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4141024C2 (de) | Verfahren zum Umsetzen zwischen zwei Farbräumen | |
DE2640140C2 (de) | Verfahren und Anordnung zur redundanzvermindernden Bildcodierung | |
DE4133460C2 (de) | Verfahren zum Verdichten von Bildern | |
DE19819198B4 (de) | Reversible DCT für verlustfreie/verlustbehaftete Kompression | |
DE2625973C3 (de) | Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern | |
DE2706080C2 (de) | Verfahren zur adaptiven Quantisierung von Transformationskoeffizienten eines Bildes und Anordnung zum Durchführen des Verfahrens | |
AT389966B (de) | Digitales filter | |
DE4428517A1 (de) | Verfahren zum Behandeln eines Teils eines komprimierten Bildes, Bildaufbereitungseinrichtung und Bildaufbereitungssystem | |
DE3732422A1 (de) | Verfahren und einrichtung zum feststellen einander entsprechender bereiche unter primaerfarbenbilder | |
DE4038240A1 (de) | Prozessor zum durchfuehren einer orthogonaltransformation | |
DE3632639A1 (de) | Einrichtung zum verarbeiten von bilddaten durch faltung | |
DE2905350C3 (de) | Wandler und monochrome Bildwiedergabeanordnung mit einem derartigen Wandler | |
DE3229452A1 (de) | Arithmetiklogikeinheit | |
DE3047695A1 (de) | Verfahren und vorrichtung zum herstellen einer speichertabelle fuer farbkontrollbedingungen | |
DE4215094A1 (de) | Bildverarbeitungsverfahren und -vorrichtung | |
DE3303269C2 (de) | ||
EP0077089A2 (de) | Anordnung zum Speichern oder Übertragen von transformationskodierten Bildsignalen und zum Rückgewinnen dieser Bildsignale | |
DE3728444A1 (de) | Verfahren und schaltungsanordnung zur verbesserung der aufloesung von digitalen signalen | |
DE3545106C2 (de) | ||
EP1034511B1 (de) | Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung | |
DE3341339C2 (de) | Befehlsfolgegenerator | |
DE2952689C2 (de) | ||
DE3104528C2 (de) | Verfahren zur Umwandlung linear codierter PCM-Worte in nichtlinear codierte PCM-Worte und umgekehrt | |
DE3302013A1 (de) | Divisionsvorrichtung | |
DE2647774A1 (de) | Schaltungsanordnung zur kodierung und dekodierung von bildern durch matrizentransformation mit gewichtetem beitrag mehrerer bildpunkte zu einem transformierten bildpunkt |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: H04N 1/46 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |