-
Die vorliegende Erfindung betrifft
eine Bildkompressions-/Bildwiederherstellungsvorrichtung und im
Besonderen ein Speicherschnittstellenverfahren für einen Decoder variabler Länge und
eine Schaltung dafür.
-
Da die Menge an Informationen, die
mit Datenspeicher- und Datenwiedergewinnungssystemen sowie Bildverarbeitern
verarbeitet werden und üblicherweise
analoger Art sind, auf Grund der Umwandlung in digitale Modi immer
größer wird,
sollte die Informationsmenge für
eine effiziente Nutzung von Speichermedien und Übertragungskanälen reduziert (komprimiert)
werden. Für
das Erzielen dieser Reduzierung hat die Moving Pictures Expert Group (MPEG)
Normen vereinbart. Nach einem allgemeinen Verfahren zur Kompression
eines MPEG-codierten Bitstroms, d. h. Kodierung variabler Länge, werden
wiederholt auftretende (redundante) Informationen entfernt, wobei
Zeit- und Raumkorrelationen der Bildinformationen, die den Bitstrom
umfassen, genutzt werden.
-
Ein Codierer variabler Länge in der
Bildkompressionsvorrichtung weist hier den häufiger auftauchenden Symbolen
einen kürzeren
Code zu, und dies wird dann zur Wiederherstellung des codierten Bildsignals
auf eine Bildwiederherstellungsvorrichtung angewendet, die einen
Decoder variabler Länge enthält, mit
dem das mit variabler Länge
komprimierte Signal in seiner ursprünglichen Form wiederhergestellt
wird. Im Besonderen steuert der Decoder variabler Länge einen
externen Speicher zum langsameren Lesen der kürzeren Codes und zum schnelleren Lesen
der längeren
Codes, indem ein Anforderungssignalerzeugt und dieses Anforderungssignal
rechtzeitig an den externen Speicher geliefert wird. Entsprechend
sendet der externe Speicher, immer dann, wenn das Anforderungssignal
von dem Decoder variabler Länge
empfangen wird, die Daten unverzüglich
und unabhängig
von der Codelänge
an den Decoder variabler Länge.
-
In dem externen Speicher wird jedoch
eine Vielfalt von Daten gespeichert, auf die zugegriffen werden
muss, und wenn ein Anforderungssignal mit einer höheren Priorität von anderswo
im System empfangen wird, muss das Anforderungssignal vom Decoder
variabler Länge
warten. Während
dieser kurzen Wartezeit wird der Bildkompressions- /Bildwiederherstellungsprozess
unvermeidbar unterbrochen, da der Decoder variabler Länge ohne
Schnittstellenschaltungen direkt mit dem externen Speicher verbunden
ist.
-
Das US-Patent Nr. 5,280,584 legt
eine durch einen FIFO-Speicher implementierte Zweiwegdatenübertragungsvorrichtung
offen.
-
Ein Ziel der bevorzugten Ausführungen
der vorliegenden Erfindung ist die Bereitstellung eines Speicherschnittstellenverfahrens
für einen
Decoder variabler Länge
in einer Bildkompressions-/Bildwiederherstellungsvorrichtung zur
Verarbeitung eines Anforderungssignals von einem Decoder variabler Länge mittels
Verwendung eines internen Speichers und zur Anforderung eines seitenweisen
Schnellzugriffs auf einen externen Speicher, wenn die Datenmenge
im internen Speicher unter einen vorgegebenen Wert fällt.
-
Nach einem ersten Aspekt der vorliegenden Erfindung
wird ein Speicherschnittstellenverfahren bereitgestellt, dadurch
gekennzeichnet, dass es für einen
Decoder variabler Länge
vorgesehen ist und folgende Schritte umfasst:
- (a)
Erzeugung eines Chipenable-Lesesignals und einer Leseadresse auf
der Basis eines ersten Anforderungssignalausgangs des Decoders variabler
Länge,
um Daten aus einem internen Speicher auszulesen;
- (b) Erzeugung eines zweiten Anforderungssignals, wenn die an
einer Adresse des internen Speichers gespeicherten Daten, die einen
vorgegebenen Wert übersteigen,
aus dem internen Speicher ausgelesen werden; und
- (c) Erzeugung und Anwendung einer Schreibadresse und eines Schreibabschnittssignals
für den
internen Speicher, wenn ein Akzeptanzsignal als Reaktion auf das
zweite Anforderungssignal erzeugt wird, um von einem externen Speicher bereitgestellte
Daten in den internen Speicher zu schreiben.
-
Nach einem zweiten Aspekt der Erfindung wird
außerdem
eine Speicherschnittstellenschaltung bereitgestellt, dadurch gekennzeichnet,
dass sie für einen
Decoder variabler Länge
vorgesehen ist und Folgendes umfasst:
Eine Lesesteuerung zum
Erzeugen eines Chipenable-Lesesignals und einer Leseadresse auf
der Basis eines ersten Anforderungssignalausgangs des Decoders variabler
Länge,
zum Erzeugen eines zweiten Anforderungssignals, wenn die Leseadresse
einen vorgegebenen Wert erreicht, und zum Bereitstellen des zweiten
Anforderungssignals für
einen externen Speichercontroller, der mit einem externen Speicher verbunden
ist;
eine Schreibsteuerung zum Erzeugen einer Schreibadresse
und eines Schreibabschnittssignals auf der Basis eines Akzeptanzsignals,
wenn das Akzeptanzsignal als Reaktion auf das zweite Anforderungssignal
vom externen Speichercontroller erzeugt wird; und
einen internen
Speichercontroller mit einem internen Speicher zur Steuerung von
Daten, die von einem externen Speicher bereitgestellt werden, um
anhand der Schreibadresse und des von der Schreibsteuerung erzeugten
Schreibabschnittssignals in den internen Speicher geschrieben zu
werden.
-
Die Schreibsteuerung kann Folgendes
umfassen:
einen ersten Multiplexer, der das erste Anforderungssignal
empfängt
und als Reaktion darauf einen Lesetakt erzeugt, einen ersten Zähler, der
diesen Lesetakt empfängt
und durch Auszählen
anhand dieses Lesetakts die Leseadresse erzeugt, eine Decodiereinheit, die
mit diesem ersten Zähler
verbunden ist und prüft, ob
die Leseadresse einem ersten vorgegebenen Wert und einem zweiten
vorgegebenen Wert entspricht, einen ersten Signalgenerator, der
mit dem Decoder verbunden ist und das zweite Anforderungssignal
(SECOND REQUEST) auf der Basis eines Decodierergebnisses dieser
Decodiereinheit erzeugt und einen zweiten Signalgenerator, der mit
dem ersten Multiplexer verbunden ist und auf der Basis des Lesetakts
das Chipenable-Lesesignal erzeugt.
-
Vorzugsweise umfasst diese Schreibsteuerung
das Folgende: einen dritten Signalgenerator (D6, D7, NA2), der das
Akzeptanzsignal (VLD-ACCEPT) empfängt und als Reaktion darauf
ein Resetsignal (R) erzeugt, einen zweiten Zähler, der den ersten Takt und
das Resetsignal (R) empfängt,
die Schreibadresse (WADDR) durch Auszählen anhand des ersten Takts
erzeugt, ein Reset-Carry-Signal (RC) erzeugt und als Reaktion auf
das Resetsignal (R) die Zählung
zurücksetzt,
einen vierten Signalgenerator (D8– D10, A2), der als Reaktion
auf das Resetsignal (R) und das vom zweiten Zähler erzeugte Reset-Carry-Signal
(RC) das Schreibabschnittssignal (WRITE SECTION) erzeugt, einen
fünften
Signalgenerator, der als Reaktion auf das Schreibabschnittssignal
(WRITE SECTION) ein Lese-/Schreibsteuersignal (RIW) erzeugt und
ein Signal erzeugt, das durch Verriegelung des ersten Takts gemäß einem
zweiten Takt erzielt wurde und einen sechsten Signalgenerator (O3),
der als Reaktion auf den zweiten Takt, das Schreibabschnittssignal
und das durch Verriegelung des ersten Takts gemäß dem zweiten Takt erzielte
Signal ein Chipenable-Schreibsignal (WCEN) erzeugt.
-
Das Chipenable-Lesesignal basiert
vorzugsweise auf dem Lesetakt und dem zweiten Takt.
-
Der interne Speichercontroller kann
Folgendes umfassen: einen zweiten Multiplexer, der als Reaktion
auf das durch Verriegelung des ersten Takts gemäß dem zweiten Takt erzielte
Signal die Leseadresse und die Schreibadresse (WADDR) selektiv als ein
Adresssignal ausgibt, einen siebten Signalgenerator, der aus dem
Chipenable-Lesesignal
und dem Chipenable-Schreibsignal ein Chipenable-Signal erzeugt,
ein erstes Schieberegister, das die vom externen Speichercontroller
bereitgestellten Daten empfängt
und verschiebt, ein zweites Schieberegister, das die Daten ausgibt,
die dem Lesetakt entsprechend vom internen Speicher ausgegeben wurden; und
einen dritten Multiplexer, der die vom zweiten Schieberegister ausgegebenen
Daten empfängt,
entsprechend dem Lesetakt in obere und untere Bits aufteilt und
die aufgeteilten Daten ausgibt, wobei der interne Speicher die vom
ersten Schieberegister verschobenen Daten als Reaktion auf das Chipenable-Signal,
das Adresssignal und das Lese-/Schreibsteuersignal speichert.
-
Die Decodiereinheit umfasst vorzugsweise erste
und zweite Decoder, die jeweils mit dem ersten Zähler verbunden sind und den
ersten bzw. zweiten vorgegebenen Wert bestimmen.
-
Der erste vorgegebene Wert lautet
vorzugsweise "32" und der zweite vorgegebene
Wert "0".
-
Der erste Takt wird vorzugsweise
durch Division der Frequenz des zweiten Takts durch den Faktor Zwei
ermittelt.
-
Zum besseren Verständnis der
Erfindung und zur Darstellung, wie Ausführungen derselben wirksam gemacht
werden können,
folgen nun in beispielhafter Form Verweise auf die begleitenden
Diagramme:
-
1 ist
ein Blockdiagramm einer Speicherschnittstellenschaltung für einen
Decoder variabler Länge
gemäß einer
Ausführung
der vorliegenden Erfindung;
-
2 ist
ein detaillierter Schaltplan der in 1 dargestellten
Speicherschnittstellenschattung;
-
3A–3G sind Operationszeitdiagramme zur
Darstellung der Schreiboperationen der in 2 dargestellten Speicherschnittstellenschaltung;
-
4A–4H sind Operationszeitdiagramme zur
Darstellung der Leseoperationen der in 2 dargestellten Speicherschnittstellenschaltung;
-
5A–5K sind Operationszeitdiagramme zur
Darstellung der Schreiboperationen in der in 2 dargestellten Speicherschnittstellenschaltung nach
Erzeugung eines Akzeptanzsignals.
-
Wie in 1 dargestellt,
umfasst eine Speicherschnittstellenschaltung (10) für einen
Decoder variabler Länge
im Sinne der vorliegenden Erfindung eine Lesesteuerung (15)
zur Erzeugung eines Chipenable-Lesesignals (RCEN) und einer Leseadresse (RADDR)
auf der Basis eines ersten Anforderungssignalausgangs von einem
Decoder variabler Länge (VLD)
(21). Erreicht die Leseadresse einen vorgegebenen Wert,
erzeugt die Lesesteuerung (15) ein zweites Anforderungssignal
und gibt das zweite Anforderungssignal an einen externen Speichercontroller
(13). Die Speicherschnittstellenschaltung (10)
umfasst außerdem
eine Schreibsteuerung (17) zur Erzeugung einer Schreibadresse
(WADDR) und eines Schreibabschnittssignals, das auf einem Akzeptanzsignal (VLD-ACCEPT)
basiert, welches vom externen Speichercontroller (13) empfangen
und im Hinblick auf das zweite Anforderungssignal erzeugt wird. Darüber hinaus
ist ein interner Speichercontroller (19) enthalten, der
einen internen Speicher zur Steuerung der Daten umfasst, die von
einem mit einem externen Speichercontroller (13) verbundenen
externen Speicher (11) bereitgestellt werden, um gemäß der WADDR
und den Schreibabschnittssignalen in den internen Speicher geschrieben
zu werden. (Obwohl dies nicht ausdrücklich gezeigt wird, ist der
interne Speicher hier vorzugsweise ein FIFO-Speicher oder RAM mit
einer Kapazität
64 Bit x 64 Wörter.)
-
2 ist
ein detaillierter Schaltplan der in 1 dargestellten
Speicherschnittstellenschaltung (10). Die Lesesteuerung
(15) umfasst fünf
D-Flipflops (D1–D5),
einen ersten Multiplexer (MUX1), einen ersten Zähler (151), erste
und zweite Decoder (152 und 153), eine erste ODER-Schaltung
(O1), eine erste UND-Schaltung (A1) und eine erste NAND-Schaltung (NA1).
Die Schreibsteuerung (17) umfasst fünf D-Flipflops (D6–D10), eine
zweite NAND-Schaltung (N2), einen zweiten Zähler (171), eine NICHT-Schaltung
(I1), eine zweite UND-Schaltung (A2) und zweite und dritte ODER-Schaltungen
(O2 und O3). Der interne Speichercontroller (19)
umfasst einen RAM (191), zwei 64-Bit-Schieberegister (192 und 193), zwei
D-Flipflops (D11 und D12), zweite und dritte Multiplexer (MUX2 und
MUX3), eine Pufferschaltung (B1) und eine dritte UND-Schaltung (A3).
-
3A–3G sind Operationszeitdiagramme zur
Darstellung der Schreiboperationen der in 2 dargestellten Speicherschnittstellenschaltung.
-
3A zeigt
ein 40-MHz-Taktsignal (CLK40);
-
3B zeigt
ein 20-MHz-Taktsignal (CLK20);
-
3C zeigt
einen Schreibabschnittssignalausgang der UND-Schaltung (A2);
-
3D zeigt
ein Signal, das durch Verriegelung des Taktsignals (CLK20) an den
fallenden Flanken des Taktsignals (CLK40) im Flipflop D11 erzielt wurde;
-
3E zeigt
den Q-Ausgang von D-Flipflop D12;
-
3F zeigt
den Ausgang eines Chipenable-Schreibsignals (WCEN) als Ergebnis
der ODER-Verknüpfung,
die im Hinblick auf das Taktsignal (CLK40), das Schreibabschnittssignal
(3C) und den Q-Ausgang
(3E) von D-Flipflop
D12 durch die ODER-Schaltung
O3 vollzogen wurde; und
-
3G zeigt
ein Lese-/Schreibsteuersignal (R/W), das als Ergebnis der ODER-Verknüpfung ausgegeben
wurde, die im Hinblick auf das Schreibabschnittssignal ( 3C) und den Q-Ausgang (3E) von D-Flipflop D12 durch
die ODER-Schaltung O2 erfolgte.
-
4A–4H sind Operationszeitdiagramme zur
Darstellung der Leseoperationen der in 2 dargestellten Speicherschnittstellenschaltung.
-
4A und 4B zeigen die Taktsignale (CLK40
bzw. CLK20);
-
4C zeigt
den zweiten Anforderungssignalausgang der UND-Schaltung (A1);
-
4D zeigt
den Ausgang von Multiplexer (MUX1), der auf den Select-Port (S)
von Multiplexer (MUX3) angewendet wird;
-
4E zeigt
den Q-Ausgang von D-Flipflop (D4);
-
4F zeigt
den Q-Ausgang von D-Flipflop (D5);
-
4G zeigt
ein von der NAND-Schaltung (NA1) ausgegebenes Chipenable-Lesesignal (RCEN);
und
-
4H zeigt
eine vom ersten Zähler
(151) ausgegebene Leseadresse (RADDR).
-
5A–5K sind Operationszeitdiagramme zur
Darstellung einer Schreiboperation der in 2 dargestellten Speicherschnittstellenschaltung
nach Erzeugung eines Akzeptanzsignals.
-
5A zeigt
das Taktsignal (CLK20);
-
5B zeigt
einen VLD-Akzeptanzsignaleingang zu D-Flipflop D6;
-
5C zeigt
ein Signal, das durch Verriegelung des VLD-Akzeptanzsignals an den
fallenden Flanken des Taktsignals (CLK20) in D-Flipflop D6 erzielt
wurde;
-
5D zeigt
ein Signal, das durch Verriegelung des Q-Ausgangs (5C) von D-Flipflop (D6) in D-Flipflop (D7) erzielt
wurde;
-
5E zeigt
einen Signalausgang der NAND-Schaltung (NA2);
-
5F zeigt
eine von einem zweiten Zähler (171)
ausgegebene Schreibadresse WADDR[4 : 0] (wobei das signifikanteste
Bit WADDR[5] vorgegeben wird);
-
5G zeigt
ein Signal, das durch Verriegelung des Reset-Carry-Ausgangs (RC)
des zweiten Zählers
(171) an den fallenden Flanken des Taktsignals (CLK20)
in D-Flipflop (D9) erzielt wurde;
-
5H zeigt
ein Signal, das durch Verriegelung des Q-Ausgangs (5G) von D Flipflop (D9) an den steigenden
Flanken des Taktsignals (CLK20) in D-Flipflop (D10) erzielt wurde;
-
5I zeigt
ein Signal, das durch Verriegelung des Ausgangs (5E) der NAND-Schaltung (NA2) an den steigenden Flanken
des Taktsignals (CLK20) in D-Flipflop (D8) erzielt wurde;
-
5J zeigt
den Schreibabschnittssignalausgang der UND-Schaltung (A2); und
-
5K zeigt
das Datensignal, das an den fallenden Flanken des Taktsignals (CLK20)
in den internen Speicher zu schreiben ist.
-
Mit Bezugnahme auf 1 bis 5 wird
nun die Operation der Speicherschnittstellenschaltung gemäß der vorliegenden
Erfindung beschrieben.
-
Die Schreiboperation der Speicherschnittstellenschaltung
(10) vor dem VLD-Akzeptanzsignal wird
wie folgt erzeugt:
-
Zunächst wird im internen Speichercontroller (19)
das Taktsignal (CLK20) (3A)
an den fallenden Flanken des Taktsignals (CLK40) (3B) durch den D-Flipflop (D11), der das
in 3D dargestellte Signal
ausgibt, verriegelt und dann an den steigenden Flanken des Taktsignals
(CLK40) (3B) durch den
D-Flipflop (D12), der das in 3E dargestellte Signal
ausgibt, erneut verriegelt. Der Ausgang (3E) des D-Flipflop (D12) wird durch die NICHT-Schaltung
(B1), die das in 3F dargestellte
Signal ausgibt, umgekehrt. In der Schreibsteuerung (17)
werden ein Taktsignal (CLK40) (3B), der
Ausgang (3E) des D-Flipflop
(D12) und das Schreibabschnittssignal (3C) einer ODER-Verknüpfung durch die ODER-Schaltung
(O3) unterzogen, die das in 3G dargestellte
Chipenable-Schreibsignal (WCEN) ausgibt. Außerdem werden das Schreibabschnittssignal
(3C) und der Ausgang
(3F) der NICHT-Schaltung
(B1) einer ODER-Verknüpfung
durch die ODER-Schaltung (O2) unterzogen, die das Lese- oder Schreibsignal
(R/W) ausgibt.
-
In der Lesesteuerung (15)
wird das vom Decoder variabler Länge
(21) erzeugte erste Anforderungssignal, wenn es aktiv,
z. B. hoch, ist, anhand eines CLK20-Signals (ein 20-MHz-Taktsignal, das durch
Teilen der CLK40-Taktfrequenz durch zwei erzielt wurde) verriegelt,
und die Frequenz des verriegelten Signals wird dann durch zwei geteilt.
Der interne Speichercontroller (19) liest hier die Daten
aus dem RAM (191) aus; d. h. der Multiplexer (MUX1) kippt
den Ausgang des D-Flipflop (D1). Andererseits gibt der Multiplexer
(MUX1) das in 4D dargestellte
Signal aus, indem der vorhergehende Eingabewert gehalten wird, wenn
das erste Anforderungssignal niedrig ist. So wird bei jedem zweimaligen
Auftreten des ersten Anforderungssignals der Ausgabewert des ersten
Zählers
(151), d. h. die Leseadresse (RADDR) (4H), um eins erhöht, um die Daten des internen
Speichers auszulesen. Hier wird zusammen mit der Leseadresse (RADDR)
ein Lese-/Schreibsteuersignal (R/W) erzeugt.
-
Das heißt, dass nach N-maligem Kippen
des ersten Anforderungssignals vom Decoder variabler Länge (21)
das Anforderungssignal als ein Lesetakt für den internen Speicher verwendet
wird, wobei N eine Funktion der Anzahl der Datenbits in einer Speichereinheit
des internen Speichers und einer Anzahl von Bits in einer VLD-Verarbeitungseinheit
ist. Lautet beispielsweise das Verhältnis der Datenbitanzahl des internen
Speichers zur Bitanzahl in einer VLD-Verarbeitungseinheit 64 : 32,
dann ist N gleich eins.
-
Gleichzeitig decodieren die ersten
und zweiten Decoder (152 und 153) die Werte "32" bzw. eine "0" unter den vom ersten Zähler (151)
ausgegebenen Zählwerten.
Die Ausgänge
der ersten und zweiten Decoder (152 und 153) werden
von der ODER-Schaltung (O1) logisch verknüpft. Das zweite Anforderungssignal
(4C) wird anhand des
Ausgangs der ODER-Schaltung (O1) über D-Flipflop (D2), D-Flipflop
(D3) und UND-Schaltung
(A1) im Einklang mit dem Taktsignal (CLK20) erzeugt und dann an
den externen Speichercontroller (13) geliefert. Das heißt, dass,
wenn die Leseadresse (RADDR) den vorgegebenen Werten "32" oder "0" entspricht, so dass die diesen vorgegebenen
Adressen entsprechenden Daten aus dem RAM (191) ausgelesen
werden, das zweite Anforderungssignal an den externen Speichercontroller
(13) geliefert wird.
-
Der Ausgang (4D) von Multiplexer (MUX1) wird durch
den D-Flipflop (D4), der das in 4E dargestellte
Signal ausgibt, an den fallenden Flanken des Taktsignals (CLK40)
verriegelt und dann vom D-Flipflop (D5) erneut an den steigenden
Flanken des Taktsignals (CLK40) verriegelt, um das in 4F dargestellte Signal auszugeben.
Der Q-Ausgang von D-Flipflop (D4) und der Q-Ausgang von D-Flipflop
(D5) werden anhand einer NAND-Verknüpfung durch die NAND-Schaltung
(NA1) logisch verknüpft,
um das Chipenable-Lesesignal (RCEN) (4G)
mit einer dem CLK40-Signal entsprechenden Rate zu erzeugen.
-
Der externe Speichercontroller (13)
empfängt
das zweite Anforderungssignal und erzeugt ein VLD-Akzeptanzsignal
im Einklang mit einer Gültigkeitszeit,
die auf dem Zustand anderer Anforderungssignale basiert, die von
anderswo an den externen Speichercontroller (13) geliefert
werden. Das VLD-Akzeptanzsignal wird dann auf die Schreibsteuerung
(17) angewendet.
-
In der Schreibsteuerung (17)
wird, wenn das VLD-Akzeptanzsignal (5B)
im Hinblick auf das von der Lesesteuerung (15) erzeugte
zweite Anforderungssignal erzeugt wird, das VLD-Akzeptanzsignal
vom D-Flipflop (D6) verriegelt, um das in 5C dargestellte Signal auszugeben, welches
dann vom Flipflop (D7) erneut verriegelt wird, um das in 5D dargestellte Signal auszugeben,
und zwar jeweils an den fallenden Flanken des Taktsignals (CLK20) (5A). Der Q-Ausgang von D-Flipflop
(D6) und der Q-Ausgang von D-Flipflop (D7) werden von der NAND-Schaltung
(NA2) logisch verknüpft,
und das Ergebnis wird als Reset-Signal (R) an den zweiten Zähler (171)
geliefert.
-
Der zweite Zähler (171) gibt, nachdem
er durch den Ausgang (5E)
der NAND-Schaltung (NA2)
zurückgesetzt
wurde, den Zählwert
wie in 5F dargestellt
aus, und dann wird der Zählwert mit
einer umgekehrten Leseadresse (RADDR[5]) verknüpft, um
eine Schreibadresse (WADDR[5 : 0]) zu erzeugen.
-
In der Zwischenzeit wird das Reset-Carry-Ausgangssignal
des zweiten Zählers
(171) durch D-Flipflop (D9) an den fallenden Flanken des
Taktsignals (CLK20) (5A)
verriegelt, um das in 5G dargestellte
Signal auszugeben. Der Q-Ausgang (5G)
von Flipflop (D9) wird dann vom D-Flipflop (D10) an den steigenden
Flanken des Taktsignals (CLK20) verriegelt, um das in 5H dargestellte Signal auszugeben.
Der Q-Ausgang von
Flipflop (D9) wird ebenfalls auf den Freigabe-Port (EN) des zweiten
Zählers
(171) angewendet. Flipflop (D9) wird hier zum Entfernen
eines Störimpulses
bereitgestellt.
-
Das Ausgangssignal (5E) der NAND-Schaltung (NA2) wird vom
D-Flipflop (D8) an den steigenden Flanken des Taktsignals (CLK20) verriegelt,
um das in 5I dargestellte
Signal auszugeben. Die UND-Schaltung (A2) vollzieht eine UND-Verknüpfung im
Hinblick auf den Q-Ausgang (5I)
vom Flipflop (D8), den Q-Ausgang (5G) vom
Flipflop (D9) und den Q-Ausgang (5H)
vom D-Flipflop (D10), um das in 5J dargestellte Schreibabschnittssignal
auszugeben.
-
Die ODER-Schaltung (O2) vollzieht
eine ODER-Verknüpfung
im Hinblick auf das Schreibabschnittssignal (5J) und den Q-Ausgang vom Flipflop (D12)
im internen Speicher des internen Speichercontrollers (19)
und gibt das Lese-/Schreibsteuersignal (R/W) aus. Hier wird das
Lese-/Schreibsteuersignal (R/W) im Hinblick auf den verbleibenden Abschnitt,
der nicht eine Schreiböffnung
des Schreibabschnitts ist, im Hochzustand gehalten.
-
Die ODER-Schaltung (O3) vollzieht
eine ODER-Verknüpfung
im Hinblick auf das Schreibabschnittssignal (5J), den Q-Ausgang vom Flipflop (D12)
und das Taktsignal (CLK40), um ein Chipenable-Schreibsignal (WCEN)
mit einer CLK40 entsprechenden Rate zu erzeugen.
-
Im internen Speichercontroller (19)
verschiebt das erste 64-Bit-Schieberegister (192) die eingehenden
seriellen Daten, die vom externen Speichercontroller (13)
ausgegeben wurden, um 64-Bit-Paralleldaten mit einer CLK20 entsprechenden
Rate zu erzeugen und gibt die Paralleldaten dann an den RAM (191).
Der RAM (191) gibt die 64-Bit-Paralleldaten aus, die durch das 64-Bit-Schieberegister
(193) gemäß dem Chipenable-Lesesignal (RCEN)
in obere und untere 32-Bit-Signale geteilt werden, und das Ergebnis
wird an den Multiplexer (MUX3) geliefert. Der Multiplexer (MUX3)
wählt die oberen
32 Bits und die unteren 32 Bits gemäß dem Signalausgang des Multiplexer
(MUX1) der Lesesteuerung (15) und liefert das gewählte Datensignal an
den Decoder variabler Länge
(21). Die UND-Schaltung (A3) erzeugt aus dem Chipenable-Lesesignal
(RCEN) und dem Chipenable-Schreibsignal (WCEN) ein Chipenable-Signal
(CEN).
-
Aus Zweckmäßigkeitsgründen wird davon ausgegangen,
dass 64-Bit-Daten an Positionen des externen Speichers (11)
gespeichert werden und der Decoder variabler Länge (21) im Hinblick
auf die Daten eine VLD-Verarbeitung durchführt, indem diese in eine 32-Bit-Einheit
geteilt werden. So werden beim Schreiben von Daten aus dem externen
Speicher (11) in den RAM (191) des internen Speichercontrollers
(19) 64-Bit-Daten geschrieben. Jedoch sollten 64-Bit-Daten,
wenn die Leseadresse im Hinblick auf das zweite Anforderungssignal
erzeugt wird, zur Lieferung an den Decoder variabler Länge (21)
in eine 32-Bit-Einheit geteilt werden. So kann der RAM (191),
der in der bevorzugten Ausführung
der vorliegenden Erfindung 64 Bit x 64 Wörter aufweist, auf der Grundlage
der jeweiligen Anwendung geändert
werden. Außerdem
kann die Adresse der im RAM (191) des internen Speichercontrollers
gespeicherten 64-Bit-Daten, auch wenn sie hier mit "64" dargestellt wird,
je nach Anwendung geändert
werden, da sich dieser Wert auf die Verarbeitungsgeschwindigkeit des
Decoders variabler Länge
und auf die maximale Verzögerungszeit
bis zur Erzeugung eines Akzeptanzsignals für das zweite VLD-Anforderungssignal bezieht.
Darüber
hinaus wird das zweite Anforderungssignal erzeugt, wenn die Leseadressen
unter den 64-Bit-Daten "0" und "32" sind; die einzelnen
Leseadressen können
jedoch einfach geändert
werden.
-
Die Taktsignale (CLK20 und CLK40)
können neben
den bevorzugten Frequenzen von 20 MHz und 40 MHz auch andere Frequenzen
haben, solange sie das gleiche oben beschriebene Verhältnis aufweisen, welches
dadurch erzielt wird, das die Frequenz von einem der Taktsignale
durch zwei geteilt wird.
-
Die Speicherschnittstellenschaltung
kann als Puffersteuerung zur Steuerung eines Puffers gemäß der Dateneingabegeschwindigkeit
oder als Speicherschnittstelle für
eine Vorrichtung, die der weithin verwendeten VLD-Architektur entspricht,
angewendet werden. Darüber
hinaus kann die Schnittstellenverknüpfung unabhängig von dem Zustand des externen
Speichers einfach vollzogen werden, indem die Steuerung des Puffers
unter Verwendung eines Anforderungs-/Akzeptanzmodus für den externen
Speicher erfolgt.
-
Die Anwendung einer Speicherschnittstellenschaltung
im Einklang mit den Ausführungen
der vorliegenden Erfindung erfolgt nach den Kompressionsnormen der
MPEG, bei denen die VLD-Verarbeitungseinheit aus 32 Bits besteht
und mit einem externen 64-Bit-Speicher
verwendet wird und deren Anwendung auf HDTV-Systeme erfolgen kann.
-
Wie oben beschrieben, werden gemäß dem Speicherschnittstellenverfahren
des Decoders variabler Länge
in einer Bildkompressions-/Bildwiederherstellungsvorrichtung und
der Schaltung dafür
die Daten des internen Speichers unter Berücksichtigung des vom Decoder
variabler Länge
erzeugten Anforderungssignals ausgelesen, und es wird ein Hochgeschwindigkeitsdatenanforderungssignal
an den externen Speicher geliefert, wenn der leere Teil des internen
Speichers ein vorgegebenes Niveau überschreitet. Nach Erzeugung
des Akzeptanzsignals werden die Eingabedaten in den internen Speicher
geschrieben; so dass die komplizierte Signalverarbeitung auf Grund
des häufigen
Speicherzugriffs zwischen einem Decoder variabler Länge und einem
externen Speicher vereinfacht werden kann.
-
Sämtliche
in dieser Patentschrift offengelegten Merkmale (einschließlich der
begleitenden Ansprüche,
Zusammenfassung und Zeichnungen) bzw. sämtliche Schritte von auf diese
Weise offengelegten Verfahren oder Prozessen können in jeglicher Kombination
kombiniert werden. Ausgenommen davon sind Kombinationen, bei denen
sich wenigstens einige derartige Merkmale bzw. Schritte gegenseitig
ausschließen.