DE4218189A1 - Anordnung zur zweidimensionalen Transformation - Google Patents
Anordnung zur zweidimensionalen TransformationInfo
- Publication number
- DE4218189A1 DE4218189A1 DE19924218189 DE4218189A DE4218189A1 DE 4218189 A1 DE4218189 A1 DE 4218189A1 DE 19924218189 DE19924218189 DE 19924218189 DE 4218189 A DE4218189 A DE 4218189A DE 4218189 A1 DE4218189 A1 DE 4218189A1
- Authority
- DE
- Germany
- Prior art keywords
- dimensional transformation
- transformation
- arrangement
- dimensional
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Die Erfindung betrifft eine Anordnung zur zweidimensiona
len Transformation von n*n strukturierten Eingangsdaten.
Eine solche Anordnung wird beispielsweise bei der Bildco
dierung angewandt um Bilddaten zu reduzieren bzw. redu
zierte Bilddaten wieder in die ursprüngliche Form zurück
zuführen. Hierbei hat sich als Transformationsalgorithmus
die Diskrete Cosinus-Transformation (DCT) bzw. die Inverse
Diskrete Cosinus-Transformation (IDCT) als besonders ge
eignet erwiesen.
Aus EP 0 286 184 ist eine Anordnung zur zweidimensionalen
Transformation (2d-Transformation) von n*n seriellen
Eingangsdaten bekannt, die eine erste und eine zweite
Anordnung zur jeweils eindimensionalen Transformation (1d-
Transformation) aufweist. Hierbei werden die seriellen
Eingangsdaten in n Zeilen mit jeweils n Elementen geordnet
und zeilenweise der ersten Anordnung zur eindimensionalen
Transformation zugeführt. Die 1d-transformierten Daten
wörter werden wiederum zeilenweise zwischengespeichert und
spaltenweise ausgelesen und der zweiten Anordnung zur
eindimensionalen Transformation zugeführt. Durch das spal
tenweise Auslesen der zeilenweise eingelesenen Daten wer
den die 1d-transformierten Datenwörter auf diese Weise
transpositioniert. Durch zweimalige eindimensionale Trans
formation sind die am Ausgang der zweiten Anordnung zur
eindimensionalen Transformation erhältlichen Datenwörter
zweidimensional transformiert.
Die zweidimensionale Transformation entspricht einer Ma
trix-Multiplikation von zwei n*n-Matrizen. Hierfür
sind n2 Multiplikationen und n(n-1) Additionen erforder
lich. Es sind jedoch auch "schnelle" Algorithmen bekannt,
bei denen bei hinreichender Genauigkeit die Anzahl der
Multiplikationen und Additionen drastisch reduziert ist.
So benötigt beispielsweise der in EP 0 286 184 beschriebe
ne Algorithmus bei n = 8 zur eindimensionalen Transforma
tion lediglich 16 Multiplikationen und 32 Additionen bzw.
Subtraktionen.
Um den Platzbedarf für eine Schaltungsanordnung zur Be
rechnung einer solchen schnellen Transformation möglichst
gering zu halten, werden bei bekannten Anordnungen die
einzelnen Multiplikationen hintereinander ausgeführt, so
daß nur ein einziger Multiplizierer benötigt wird. Da
doppelt soviele Additionen wie Multiplikationen anfallen,
hat es sich als optimal erwiesen, eine Schaltungsanordnung
mit einem Multiplizierer und zwei Addierern zu wählen, bei
denen die einzelnen Eingangsdaten seriell hintereinander
eingelesen werden und die einzelnen bei der eindimensiona
len Transformation anfallenden internen Zwischenergebnisse
in dafür vorgesehenen Registern zwischengespeichert wer
den. Durch entsprechend geschickte Auswahl der Berech
nungsreihenfolge sind bei der bekannten Anordnung bereits
nach 32 Berechnungsschritten alle 1d-transformierten Da
tenwörter berechnet. Die 1d-transformierten Datenwörter
werden zwischengespeichert und transpositioniert an eine
zweite Anordnung zur eindimensionalen Transformation wei
tergegeben.
Eine Aufgabe der vorliegenden Erfindung ist es, den Platz
bedarf für eine zweidimensionale Transformation von n*n
strukturierten Eingangsdaten zu reduzieren.
Diese Aufgabe wird dadurch gelöst, daß bei einer Anordnung
der eingangs genannten Art folgende Mittel vorgesehen
sind:
- - Mittel zur eindimensionalen Transformation von je weils eine Zeile bildenden n Datenwörtern zu trans formierten Datenwörtern,
- - Mittel zur Transposition der n*n-1d-transformier ten Datenwörter in transpositionierte Datenwörter
- - Mittel zum wahlweisen Einlesen der n*n-struktu rierten Eingangsdaten bzw. der transpositionierten Datenwörter in die Mittel zur eindimensionalen Trans formation.
Durch die Mittel zum wahlweisen Einlesen der n*n-struk
turierten Eingangsdaten bzw. der transpositionierten Da
tenwörter wird nur noch ein einziges Mittel zur eindimen
sionalen Transformation benötigt. Die Mittel zur Trans
position der n*n-transformierten Datenwörter werden in
bekannterweise mit den Ergebnissen der ersten eindimensio
nalen Transformation zeilenweise aufgefüllt. Durch spal
tenweises Auslesen wird die 1d-transformierte Matrix tran
positioniert. Anstelle die erstmals transformierten und
transpositionierten Ergebnisse in eine zweite Anordnung
zur eindimensionalen Transformation einzulesen, werden
diese Ergebnisse ein zweites Mal den Mitteln zur eindimen
sionalen Transformation zugeführt. Nach der zweiten ein
dimensionalen Transformation liegen die Ergebnisse nunmehr
zweidimensional transformiert vor.
Auf diese Weise kann der Platzbedarf für die Mittel zur
zweidimensionalen Transformation um die Hälfte reduziert
werden. Der Platzbedarf für die Mittel zum wahlweisen
Einlesen der Eingangsdaten bzw. der erstmals transformier
ten Datenwörter fällt dem gegenüber nicht ins Gewicht.
Dieser reduzierte Platzbedarf ermöglicht es, außer der
Anordnung zur Transformation auch noch andere Teile einer
Bildcodierung auf nur einem einzigen gemeinsamen Chip zu
integrieren.
Bei Verwendung von bekannten Anordnungen zur eindimensio
nalen Transformation muß wegen der erforderlichen Trans
position der nach der ersten 1d-Transformation erhaltene
nen Zwischenergebnisse die erstmals transformierte Matrix
fast vollständig vorliegen, bevor mit dem zweiten Trans
formationsdurchlauf begonnen werden kann. Durch die hier
durch bedingten Wartezeiten verringert der sich der theo
retisch maximal erzielbare Datendurchsatz.
Eine weitere Aufgabe der Erfindung ist es, mit dieser
Anordnung den theoretisch maximal möglichen Datendurchsatz
zu erzielen.
Diese Aufgabe wird dadurch gelöst, daß vorgesehen ist,
nach der Eingabe der letzten Zeile der Eingabedaten ohne
Verzögerung die erste transponierte Zeile folgen zu las
sen, wobei vorgesehen ist, das erste Datenwort der letzten
Zeile spätestens bei der Eingabe des letzten Datenworts
der ersten transformierten Zeile bereitzustellen.
Bei den bekannten Anordnungen werden die 1d-transformierten
Datenwörter in fortlaufender Reihenfolge in die Mittel zur
1d-Transformation eingeschrieben und in fortlaufender
Reihenfolge wieder ausgelesen. Dies bietet den Vorteil,
daß zum Einschreiben in den Speicher zur Speicherung der
transformierten Datenwörter der Adreßzähler zur Ansteue
rung der einzelnen Speicherelemente fortlaufend erhöht
werden kann. Für ein lückenloses Ineinandergreifen des
ersten und zweiten eindimensionalen Transformationsdurch
laufs in ein und derselben Anordnung ist dann aber das
erste 1d-transformierte Datenwort der letzten Zeile erst
dann berechnet, wenn es bereits als letztes Datenwort der
ersten Spalte bereits zur zweiten 1d-Transformation wieder
eingelesen sein müßte. Durch Änderung der Ausgabereihen
folge bzw. wenn dies erforderlich wäre auch unter Änderung
der Berechnungsreihenfolge kann dieses erste Datenwort der
letzten Zeile bereits vorher oder genau zu dem Zeitpunkt
vorliegen, an dem es als Eingangsdatum wieder benötigt
wird.
Eine Ausführungsform bei der dieses Prinzip angewendet
wird sieht vor, daß das erste Datenwort der letzten Zeile
unter Durchbrechung der Ausgabereihenfolge bereits zu
einem früheren Zeitpunkt ausgegeben wird und durch eine
entsprechend geänderte Ansteuerung der Mittel zur Trans
position an der für dieses Datenwort vorgesehenen Spei
cherplatz gespeichert wird. Auf diese Weise steht dieses
Datenwort beim Auslesen aus den Mitteln zur Transposition
bzw. beim Einlesen in die Anordnung zur eindimensionalen
Transformation für den zweiten Transformationslauf bereits
zu dem erforderlichen Zeitpunkt zur Verfügung.
Auf diese Weise kann ein Umschalten zwischen den struk
turierten Eingangsdaten und den transpositionierten Daten
wörtern so vorgenommen werden, daß eine verzögerungsfreie
Fortführung der Berechnungen zwischen erster und zweiter
Transformation möglich ist.
Eine weitere Ausführungsform sieht vor, das erste Daten
wort der letzten Zeile nach der ersten eindimensionalen
Transformation unter Umgehung der Mittel zur Transposition
in die Mittel zur eindimensionalen Transformation als Ein
gabe-Datenwort vorzugeben.
Insbesondere bei Schaltungsanordnungen, die mit weniger
internen Registern als die aus der EP 0 286 184 bekannte
Anordnung auskommen, ist eine so frühzeitige Ausgabe des
ersten Datenwortes der letzten 1d-transformierten Zeile
nicht möglich, daß es so rechtzeitig in die Mittel zur
Transposition eingeschrieben werden kann, daß es zum benö
tigten Ausgabezeitpunkt bereitsteht. Unter Umgehung der
Mittel zur Transposition kann das Datenwort dann doch noch
rechtzeitig zur Verfügung stehen.
Zur Umgehung der Mittel zur Transposition kann bei
spielsweise ein speziell dafür vorgesehenes Schaltmittel
für eine direkte Übergabe dieses Datenworts vorgesehen
sein.
Eine besonders vorteilhafte Ausführungsform ergibt sich
dadurch, die Berechnung dieses ersten Datenwortes der
letzten Zeile so zu legen, daß der Ausgang des Addierers,
in welchem dieses Datenwortes berechnet wird, direkt mit
dem Eingang verbunden werden kann und das betreffende
Datenwort auf diese Weise durch eine interne Verbindung
direkt auf den Eingang des Registers bzw. und/oder auf den
Eingang des Addierers, der dieses Datenwort als Eingabeda
tum benötigt geschaltet werden kann. Es ist dem Belieben
des Fachmanns überlassen, den Berechnungzeitpunkt so zu
wählen, daß eventuelle interne Verzögerungszeiten, bei
spielsweise auch durch zwischengeschaltete Rundungslogiken
und dergleichen entsprechend berücksichtigt werden.
Diese Ausführungsform bietet den Vorteil, daß außerhalb
der Anordnung zur eindimensionalen Transformation keine
Schaltungsänderungen notwendig sind. Auf diese Weise kann
auch die Auslesereihenfolge der transformierten Elemente
beibehalten werden.
Die Erfindung wird nun im folgenden anhand eines Ausfüh
rungsbeispiels näher beschrieben und erläutert.
Es zeigen:
Fig. 1 ein Blockschaltbild einer Anordnung zur zweidi
mensionalen Transformation mit nur einer einzi
gen Anordnung zur eindimensionalen Transforma
tion,
Fig. 2 eine Anordnung zur eindimensionalen Transforma
tion,
Fig. 3 ein Diagramm mit den Ein- und Ausgabezeitpunkten
von zu transformierenden, bzw. transformierten
Datenwörtern,
Fig. 4 ein Zeit-Zustandsdiagramm mit den ursprünglichen
und den für die Erfindung modifizierten Berech
nungszeitpunkten einzelner Zwischen- und Ender
gebnisse des zweiten Addierers/Subtrahierers in
Fig. 2.
Die Anordnung zur zweidimensionalen Transformation von
n*n-strukturierten Eingangsdaten ist im Ausführungsbei
spiel Teil einer Einrichtung zur Codierung bzw. Decodie
rung von Bildern zum Zwecke der Datenreduzierung. Bei
solchen Einrichtungen wird beispielsweise ein zu übertra
gendes Bild mittels einer optoelektrischen Einrichtung,
beispielsweise einer Videokamera oder bei Standbildern
durch einen Scanner in Bildzeilen zerlegt, wobei jede
Bildzeile sich aus einer bestimmten Anzahl von Bildpunkten
zusammensetzt. Wie aus dem Stand der Technik hinreichend
bekannt, wird ein solches Bild in Teilbilder zerlegt,
wobei üblicherweise bei der Aufteilung in Teilbilder un
terschiedliche Teilbilder für die Helligkeitsinformation
(Luminanz) und die Farbinformation (Chrominanzkomponenten)
erzeugt werden. Jedes Teilbild setzt sich aus n unterein
anderliegenden Bildzeilen zusammen, wobei jede Bildzeile
ebenfalls nur n aufeinanderfolgen Bildpunkte aufweist. Als
besonders geeignet hat sich hierfür eine Anzahl von n = 8
Bildpunkten pro Zeile bzw. Zeilen erwiesen. Ohne Beschrän
kung auf diese Anzahl von Bildpunkten bzw. Bildzeilen für
ein Teilbild wird im folgenden Ausführungsbeispiel von
8*8-strukturierten Teilbildern ausgegangen.
Durch Abtastung mittels eines Analog-Digital-Umsetzers
wird jeder Bildpunkt beispielsweise durch ein 8-bit-brei
tes PCM-Wort repräsentiert.
Fig. 1 zeigt eine Einrichtung zur zweidimensionalen Trans
formation von n*n-strukturierten Eingangsdaten, die sich
prinzipiell sowohl zum Codieren als auch zum Decodieren
eignet. Im Coderbetrieb sind einem Bildspeicher 1 die PCM-
Worte mehrerer Teilbilder gespeichert. Durch entsprechende
Adressierung dieses Bildspeichers 1 werden die jeweils 64
Bildpunkte eines Teilbildes X zeilenweise seriell ausgele
sen und über den symbolisch als Umschalter dargestellten
Eingangsdatenselektor 2 der Einrichtung zur eindimensiona
len Diskreten Cosinus-Transformation 3 zugeführt. Dieser
Datenselektor besteht in der bevorzugten Ausführungsform
aus einem Multiplexer.
In der Anordnung zur eindimensionalen Diskreten Cosinus-
Transformation 3 werden die eingelesenen Teilbilder X, wie
noch später erläutert, zum ersten Mal transformiert. Die
einmal transformierten Teilbilder P werden durch einen
symbolisch als Umschalter dargestellten Ausgangsselektor 4
in einen Transpositionsspeicher 5 eingelesen. Dieser
Transpositionsspeicher 5 ist so bemessen, daß er ein voll
ständiges Teilbild aufnehmen kann. Die einmal transfor
mierten Teilbilder P werden zeilenweise in diesen Trans
positionsspeicher 5 eingeschrieben, aber spaltenweise
wieder ausgelesen. Auf diese Weise werden die einmal
transformierten Teilbilder P transpositioniert.
Nach dem ersten vollständigen Durchlauf eines Teilbildes X
wechseln der Eingangsselektor 2 und der Ausgangsselektor 4
ihre Schaltstellungen. Auf diese Weise wird der Einrich
tung zur eindimensionalen diskreten Cosinus-Transformation
3 das transpositionierte Teilbild PT zugeführt. Die trans
positionierten Teilbilder PT durchlaufen die Anordnung zur
eindimensionalen Diskreten Cosinus-Transformation 3 auf
diese Weise ein zweites Mal. Die dabei entstehenden Aus
gangsdaten Y werden über den Ausgangsselektor 4 einem
Ausgangsspeicher 6 seriell zugeführt. In diesem Ausgangs
speicher 6 kann jeweils ein vollständig zweidimensional
transformiertes Teilbild Y zwischengespeichert werden.
Diese zweidimensionale transformierten Teilbilder Y können
dann einer nicht mehr gezeigten Anordnung zur Codierung
zugeführt werden. Der Ausgansspeicher 6 ist Teil der nicht
dargestellten Anordnung zur Codierung und somit für die
Anordnung zur zweidimensionalen Transformation als solches
nicht unbedingt erforderlich.
In der bevorzugten Ausführungsform jedoch sind der Trans
positionsspeicher 5 und der Ausgangsspeicher 6 ein ein
ziger Speicher, wobei die 1d-transformierten Teilbilder P
in einem anderen Adreßraum liegen als die für die nach
folgende Codierung zu speichernden 2d-transformierten
Teilbilder Y. Die Funktion des Ausgangsselektors 4 ist
hierbei durch entsprechende Adressierung dieses gemein
samen Speichers beim Einlesen realisiert.
Als Anordnung zur eindimensionalen diskreten Cosinus-
Transformation 3 eignet sich eine Einrichtung wie sie aus
EP 0 286 184 bekannt ist. Abgesehen von den für die vor
teilhafte Ausführungsform vorgenommenen Änderungen, ent
spricht die Fig. 2 dieser Anmeldung der Fig. 4 der EP 0 286 184.
Da die Wirkungsweise dieser Anordnung aus der EP
0 286 184 bereits bekannt ist, wird im folgenden nur noch
ein kurzer Überblick über diese Anordnung gegeben, um dann
die für eine vorteilhafte Ausführungsform erforderliche
Abwandlung dieser bekannten Anordnung zu erklären.
Die bekannte Anordnung weist einen Multiplizierer 14.32
und zwei Addierer/Subtrahierer 14.30, 14.31 und eine ge
taktete Ablaufsteuerung auf. In dem Multiplizierer 14.32
bzw. den Addierern/Subtrahierern 14.30, 14.31 zugeordneten
Registern M1, M2 bzw. R1, R2, R3, R4 werden Eingangsdaten
bzw. Zwischenergebnisse der Multiplikationen bzw. Additio
nen zwischengespeichert. In einem ersten Festwertspeicher
14.44 sind die Faktoren für die Multiplikationen gespei
chert. Ein- und Ausgang dieser Anordnung, als auch die
Ein- und Ausgänge 14.33, 14.34, 14.35, 14.36, 14.37, 14.38
der Register sind teilweise fest mit verschiedenen Daten
bussen verbunden bzw. können mittels Schaltern (SW1, . . . ,
SW12) mit verschiedenen Datenbussen 14.22, 14.23, 14.24,
14.25 zeitweilig verbunden werden. Auf diese Weise werden
die Eingangsdaten bzw. die berechneten Zwischenergebnisse
zu den entsprechenden Eingängen geführt, an denen sie zu
den entsprechenden Taktzeiten benötigt werden.
Wegen der 16 erforderlichen Multiplikationen sind minde
stens 16 Berechnungsschritte für jeweils 8 Eingangsdaten
erforderlich. Nach jeweils 16 Berechnungsschritten wie
derholt sich ein solcher Berechnungszyklus für die näch
sten 8 Eingangswerte. Da durch die zwei Addierer jeweils
gleichzeitig bei jedem Berechnungstakt zwei Additionen
bzw. Subtraktionen erfolgen können, werden insgesamt auch
nur 16 Berechnungstakte für die Additionen bzw. Subtrak
tionen benötigt. Einige der Additionen können zeitgleich
mit den Multiplikationen erfolgen. Da allerdings einige
Additionen schon vor der ersten Multiplikation und einige
Additionen nach der letzten Multiplikationen erforderlich
sind, ist die Durchlaufzeit zur Berechnung der einzelnen
Werte größer als 16 Berechnungstakte. Durch geschickte
Verschachtelung der Berechnungen aufeinanderfolgender
Eingangsdaten können der bekannten Einrichtung zur eindi
mensionalen Diskreten Cosinus-Transformation nach 16 Be
rechnungsschritten schon die nächsten Eingabedaten zuge
führt werden. Die transformierten Ergebnisse der Eingangs
werte werden wegen der erforderlichen Berechnungsschritte
erst um zwei volle Berechnungszyklen versetzt ausgegeben.
Die Steuerung der Schalter SW1, . . . , SW13 bzw. die Um
schaltung zwischen Addition bzw. Subtraktion und die An
steuerung der richtigen Koeffizienten für die Multiplika
tion wird von einer Ablaufsteuerung erzeugt, welche mit
tels eines Modulo 16-Zählers 14.47 aus einem Schaltzu
standsspeicher 14.45 für jedes anzusteuernde Element den
entsprechenden Schaltzustand ausliest und über einen An
steuerungsbus 14.46 den zu Steuereingängen der Schalter,
der Addierer/Subtrahierer bzw. Adreßeingängen AD5, AD6,
AD7, AD8, AD9, AD10 und AD11 den Registern R1, R2, R3, R4,
M1, M2 und dem Festwertspeicher 14.44 zuführt. Die Schalt
zustände sind durch Zeit-Zustands-Diagramme für die DCT in
Fig. 10 und die IDCT in Fig. 11 der EP 0 286184 hinrei
chend herleitbar. Einen Ausschnitt aus dem Zeit-Zustands-
Diagramm für die DCT zeigt Fig. 3 dieses Dokuments.
Fig. 3 zeigt jeweils in einer ersten Spalte einen Takt
zeitpunkt C1, in einer zweiten Spalte das diesem Taktzeit
punkt zugeordnete Eingangs-PCM-Wort IN und in einer drit
ten das zu diesem Taktzeitpunkt ausgegebene Ausgangs-PCM-
Wort OUT. Die erste Ziffer vor dem Punkt ist die fortlau
fende Nummer des jeweiligen Berechnungszyklus und die
Nummer nach dem Punkt gibt die sich zyklisch wiederholende
Nummer eines Berechnungstaktes an. So ist aus dieser Fig.
3 ersichtlich, daß zum Zeitpunkt 1.1, d. h. zum ersten
Taktsignal des ersten Berechnungszyklus das PCM-Wort des
ersten Bildpunktes X00 eingelesen wird, zum Zeitpunkt 1.3
der zweite Bildpunkt X01 der ersten Zeile des Teilbildes
usw. eingelesen wird. Erst mit dem Einlesen des ersten
Bildpunktes X20 der dritten Bildzeile des Teilbildes zum
Zeitpunkt 3.1 wird der erste transformierte Wert P00 ausge
geben. Ein- und Ausgabe erfolgen somit genau um zwei Be
rechnungszyklen versetzt. Nach acht Berechnungszyklen sind
alle Bildpunkte eines Teilbildes zum ersten Mal eingele
sen. Mit Beginn des neunten Berechnungszyklus 9.1 kann nun
spaltenweise aus dem Transpositionsspeicher 5 der erste
transpositionierte Zwischenwert eingelesen werden. Dies
ist zum Zeitpunkt 9.1 der Wert P00. Da dieser Wert bereits
zum Zeitpunkt 3.1 ausgegeben wurde, ist das Einschreiben
dieses Wertes unkritisch. Gleiches gilt für die Werte P10
bis P60. Ein Problem ergibt sich allerdings beim Werte P70
zum Zeitpunkt 9.15. Dieser Wert wird erst zum Zeitpunkt
9.16 berechnet und zum Zeitpunkt 10.1 ausgegeben.
Die einfachste Lösung wäre es, das Einlesen der transposi
tionierten Zwischenergebnisse einen Berechnungszyklus
auszusetzen. Dies hätte aber zur Folge, daß der maximal
erzielbare Datendurchsatz hierdurch entsprechend sinken
wurde.
Die bevorzugte Ausführungsform beschreitet hingegen einen
anderen Lösungsweg. Fig. 4 ist ein Ausschnitt des Zeit-Zu
stands-Diagramms der Fig. 10 der EP 0 286 184. In der
ersten Spalte sind die verschiedenen Takte 1 bis 16 eines
Berechnungszyklus wiedergegeben. In der zweiten Spalte A-
S(2) sind die Zwischenergebnisse und Endergebnisse der
Addition des zweiten Addierers entsprechend derselben
Spalte in Fig. 10 der EP 0 286 184 nach dem Stand der
Technik wiedergegeben. In der dritten Spalte A-S(2)′ ist
die nach der Erfindung modifizierte Berechnung der Zwi
schenergebnisse und Ergebnisse des zweiten Addierers wie
dergegeben.
Wie aus Fig. 4 ersichtlich ist wurde lediglich die Berech
nungsreihenfolge von P0, P6 und P7 vertauscht. P7 wird aus
den Summanden P′′7 und Z10 bereits schon im Takt 11, P6 aus
den Summanden Z3 und Z2 erst im Takt 16 berechnet, damit P0
aus den Summanden Z6 und Z1 nunmehr erst in Takt 14 im
zweiten Addierer 14.31 berechnet werden kann. Alle anderen
Berechnungen bleiben in der ursprünglichen Reihenfolge
erhalten. Der Übersichtlichkeit halber sind diese gleich
bleibenden Berechnungen in Fig. 4 in der Spalte A/S(2)′
lediglich durch drei Punkte dargestellt. Eine Änderung der
Berechnungsreihenfolge des ersten Addierers bzw. des Mul
tiplizierers ist bei der bekannten Anordnung nicht erfor
derlich.
Nachdem die beiden Summanden Z6 und Z1 dem zweiten Addierer
A/S (2) jeweils im 14. Berechnungstakt zugeführt werden,
ist das Ergebnis der Addition dieser beiden Summanden
wegen der endlichen Rechenzeit des Addierers nicht sofort
am Ausgang des zweiten Addierers 14.31 vorhanden. Da die
Rechenzeit des Addierers aber kürzer als eine Taktperiode
ist, ist das Ergebnis schon vor Beginn des 15. Berech
nungstaktes vorhanden und wird über ein hierfür speziell
vorgesehenes Schaltmittel SW13 vom Ausgang des Addierers
direkt an den Eingang 14.33 des Registers R1 geführt.
Dieses Schaltmittel SW13 wird nur dann geschlossen, wenn
der erste 1d-transformierte Wert P70 einer letzten Zeile P70
. . . P77 im zweiten Berechnungslauf wegen der Transformation
als letzter Wert P70 der ersten Zeile P00 . . . P70 dem Regi
ster R1 zugeführt werden soll. In diesem Fall darf der
Schalter SW1, der in allen anderen Taktperioden, die über
den Eingang 14.20 auf den Eingangsdatenbus 14.22 jeweils
im 15. Berechnungstakt eingelesenen Eingangsdaten X07, X17,
X27, . . . , X77 und P71, P72, . . . , P77 an den Eingang 14.33 des
Registers R1 durchschaltet, nicht geschlossen werden.
Durch den Schalter SW13 und dessen geeignete Ansteuerung
ist eine Schaltungsänderung nur innerhalb der Anordnung
zur eindimensionalen Transformation erforderlich. Wegen
der Vertauschung der Berechnungszeitpunkte von P0, P6 und P7
muß noch entweder deren Abspeicherung in den Registerzel
len der Registers R3, R4 oder wahlweise die Ansteuerung
beim Auslesen aus diesen Registerzellen vertauscht werden.
Es bleibt natürlich in das Belieben des Fachmanns ge
stellt, das Ergebnis der Addition über Schaltmittel auf
den Eingangsdatenbus 14.22 und von dort auf den Eingang
14.33 des Registers R1 zu führen oder andere ähnliche
Ausgestaltungen zu wählen. Alle diese "internen" Varianten
bieten den Vorteil, daß eine Änderung in der Außenbeschal
tung der Anordnung zur eindimensionalen Transformation
nicht erforderlich ist.
Die gleiche technische Lehre kann auch bei der inversen
diskreten Cosinus-Transformation (IDCT) angewandt werden,
wobei lediglich die Berechnungsreihenfolge und die für die
Multiplikation erforderlichen Koeffizienten entsprechend
der in der EP 0 286 184 geoffenbarten Lehre entsprechend
angepaßt werden müssen.
Die beschriebene Anordnung zur eindimensionalen Transfor
mation eignet sich daher je nach dem im Schaltzustands
speicher 14.45 gespeicherten Steuerinformationen wahlweise
als Anordnung zur zweidimensionalen Cosinus-Transformation
bzw. als Anordnung zur zweidimensionalen Inversen Diskre
ten Cosinus-Transformation. Je nach Auswahl des entspre
chenden Ablaufprogramms ist auch eine Umschaltung zwischen
diesen beiden Betriebsarten möglich. Hierbei ist jedoch zu
beachten, daß bei jeder Umschaltung wegen der sich über
mehrere Berechnungszyklen erstreckenden Durchlaufzeit und
der für jede Betriebsart unterschiedlichen Schaltzustände
und Koeffizienten nach der letzten Eingabe in eine der
beiden Betriebsarten bis zur Eingabe des ersten Wertes in
der anderen Betriebsart die entsprechende Anzahl von vol
len Berechnungszyklen ohne Eingabewerte durchlaufen werden
müssen bis der letzte DCT-Wert der entsprechenden Be
triebsart ausgegeben ist.
Claims (6)
1. Anordnung zur zweidimensionalen Transformation von N*N
strukturierten Eingangsdaten, bei der vorgesehen sind
- - Mittel zur eindimensionalen Transformation (3) von jeweils eine Zeile bildenden N Datenwörtern (X00 . . . X0N) zu N transformierten Datenwörtern (P00 . . . P0N)
- - Mittel zur Transposition (5) der N*N transformier ten Datenwörter ((P00 . . . P0N) . . . (P0N . . . PNN)) in transponierte Datenwörter ((P00 . . . PN0) . . . (PN0 . . . PNN))
- - Mittel zum wahlweisen Einlesen der N*N strukturierten Eingangsdaten ((X00 . . . X0N) . . . (XN0 . . . XNN), bzw. der transponierten Datenwörter ((P00 . . . PN0) . . . (PN0 . . . PNN)) in die Mittel zur eindimensionalen Trans formation (3).
2. Anordnung zur zweidimensionalen Transformation von N*N
strukturierten Eingangsdaten nach Anspruch 1,
dadurch gekennzeichnet,
daß vorgesehen ist, nach der Eingabe der letzten Zeile der
Eingabedaten (XN0 . . . XNN) ohne Verzögerung die erste trans
ponierte Zeile (P00 . . . PN0) folgen zu lassen, wobei vor
gesehen ist das erste Datenwort (PN0) der letzten Zeile
einer erstmals eindimensional-transformierten Zeile (PN0
. . . PNN) spätestens bei der Eingabe des letzten Datenwortes
(PN0) der ersten transformierten Zeile bereitzustellen (P00
PN0).
3. Anordnung zur zweidimensionalen Transformation von N*N
strukturierten Eingangsdaten nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
daß vorgesehen ist, das erste Datenwort (PN0) der letzten
Zeile (PN0 . . . PNN) nach der ersten eindimensionalen Trans
formation unter Umgehung der Mittel zur Transposition (5)
den Mitteln zur eindimensionalen Transformation (3) als
Eingabe-Datenwort vorzugeben.
4. Anordnung zur zweidimensionalen Transformation von N*N
strukturierten Eingangsdaten nach Anspruch 3,
dadurch gekennzeichnet,
daß zur Umgehung der Mittel zur Transposition (5) Schalt
mittel (SW13) vorgesehen sind.
5. Anordnung zur zweidimensionalen Transformation von N*N
strukturierten Eingangsdaten nach einem der Ansprüche 1
bis 4,
dadurch gekennzeichnet,
daß als Transformationsalgorithmus die Diskrete Cosinus
Transformation bzw. die Inverse Diskrete Cosinus Trans
formation vorgesehen ist.
6. Anordnung zur zweidimensionalen Transformation von N*N
strukturierten Eingangsdaten nach einem der Ansprüche 1
bis 5,
dadurch gekennzeichnet,
daß die Anordnung zur zweidimensionalen Transformation
Teil einer Einrichtung zur Bildverarbeitung bzw. Bildüber
tragung ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19924218189 DE4218189A1 (de) | 1992-06-03 | 1992-06-03 | Anordnung zur zweidimensionalen Transformation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19924218189 DE4218189A1 (de) | 1992-06-03 | 1992-06-03 | Anordnung zur zweidimensionalen Transformation |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4218189A1 true DE4218189A1 (de) | 1993-12-09 |
Family
ID=6460235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19924218189 Withdrawn DE4218189A1 (de) | 1992-06-03 | 1992-06-03 | Anordnung zur zweidimensionalen Transformation |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4218189A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2734926A1 (fr) * | 1995-05-31 | 1996-12-06 | United Microelectronics Corp | Circuit bi-dimensionnel en temps reel de transformation en cosinus discret/transformation inverse en cosinus discret |
NL1000506C2 (en) * | 1995-06-07 | 1996-12-10 | United Microelectronics Corp | Real=time two=dimensional discrete cosine transform circuit |
-
1992
- 1992-06-03 DE DE19924218189 patent/DE4218189A1/de not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2734926A1 (fr) * | 1995-05-31 | 1996-12-06 | United Microelectronics Corp | Circuit bi-dimensionnel en temps reel de transformation en cosinus discret/transformation inverse en cosinus discret |
NL1000506C2 (en) * | 1995-06-07 | 1996-12-10 | United Microelectronics Corp | Real=time two=dimensional discrete cosine transform circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69028075T2 (de) | Digitaler bildinterpolator | |
DE2640140C2 (de) | Verfahren und Anordnung zur redundanzvermindernden Bildcodierung | |
DE3688353T2 (de) | Nichtrekursiver zweidimensionaler digitalfilter. | |
DE69425847T2 (de) | Rechner für die inverse diskrete Cosinus-Transformation | |
DE69020724T2 (de) | Schneller interpolationsfilter für fernsehnormenumsetzung. | |
DE69728247T2 (de) | Pyramidenförmiger pipeline-prozessor für ein bildverarbeitungssystem | |
DE3872424T2 (de) | Fernsehuebertragungssystem mit verwendung von transformationskodierung. | |
DE3789116T2 (de) | Prozessor zur zweidimensionalen diskreten cosinustransformation. | |
DE69422871T2 (de) | Digitaler integrierter Abtastratenumwandlungsschaltkreis und Anwendung bei einer schnellen Grössenänderung eines Bildes | |
DE4033552C2 (de) | ||
DE2640157C2 (de) | Verfahren und Anordnung zum redundanzvermindernden Codieren von Bildern | |
DE3689926T2 (de) | Einrichtung zur sequenziellen Bildtransformation. | |
DE68921847T2 (de) | Verfahren und Anordnung zur Filterung des Bilddarstellungssignals. | |
DE3632639C2 (de) | Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung | |
DE4133460A1 (de) | Einrichtung und verfahren zum verdichten von bildern | |
DE4038240A1 (de) | Prozessor zum durchfuehren einer orthogonaltransformation | |
DE639032T1 (de) | Struktur und Verfahren für einen Mehrnormen-Bildkodierer/-dekodierer. | |
DE69117579T2 (de) | Gammakorrekturschaltungen | |
DE69633716T2 (de) | Hochgeschwindigkeitssystem zur Skalierung von Bildern | |
DE4141024A1 (de) | Verfahren zum umsetzen zwischen zwei farbraeumen | |
DE9219006U1 (de) | Digitale Zoomvorrichtung mit Bildpufferspeichern | |
DE69721373T2 (de) | Quantisierer für ein Videokodierungssystem | |
DE3505796C2 (de) | ||
DE69221923T2 (de) | Gemeinsamer Zwischenformat-Umwandler mit verringerter Multipliziereranzahl | |
EP0304836A2 (de) | Verfahren und Schaltungsanordnung zur Verbesserung der Auflösung von digitalen Signalen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 17/14 |
|
8127 | New person/name/address of the applicant |
Owner name: PHILIPS CORPORATE INTELLECTUAL PROPERTY GMBH, 2233 |
|
8130 | Withdrawal |