DE69517718T2 - Datenreorganisationsschaltung und Verfahren - Google Patents
Datenreorganisationsschaltung und VerfahrenInfo
- Publication number
- DE69517718T2 DE69517718T2 DE69517718T DE69517718T DE69517718T2 DE 69517718 T2 DE69517718 T2 DE 69517718T2 DE 69517718 T DE69517718 T DE 69517718T DE 69517718 T DE69517718 T DE 69517718T DE 69517718 T2 DE69517718 T2 DE 69517718T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- register
- reorganization
- memory
- read
- 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.)
- Expired - Fee Related
Links
- 230000008521 reorganization Effects 0.000 title claims description 48
- 238000000034 method Methods 0.000 title claims description 9
- 230000015654 memory Effects 0.000 claims description 51
- 230000009977 dual effect Effects 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000002401 inhibitory effect Effects 0.000 claims description 2
- 230000000750 progressive effect Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 238000001994 activation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
- G06F7/785—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Dram (AREA)
Description
- Die vorliegende Erfindung betrifft Schaltungen, mittels welchen Daten, die an der Schaltung in einer ersten vorgegebenen Reihenfolge ankommen, in einer vorgegebenen zweiten Reihenfolge abgegeben werden können.
- Bei derartigen Schaltungen findet allgemein ein Speicher mit doppeltem Zugriff bzw. doppeltem Zugang Anwendung, d. h. ein Speicher, in welchen man mit Hilfe eines Eingangsbus und eines ersten Adressenbus schreiben kann und in welchem man praktisch gleichzeitig mit den Schreibvorgängen lesen kann, mit Hilfe eines Ausgangsbus und eines zweiten Adressenbus.
- In herkömmlichen Schaltungen zur Datenreorganisation beginnt man mit dem Füllen des Speichers gemäß einer ersten Reihenfolge, bevor man mit dem Leeren des Speichers in einer zweiten Reihenfolge beginnt. Da die Eingangs- und Ausgangsreihenfolgen der Daten im allgemeinen distinkt und beliebig sind, weiß man in der Tat im Zeitpunkt, in dem man ein Datum lesen will, nicht, ob dieses Datum tatsächlich schon eingeschrieben wurde. Ein Nachteil einer derartigen Schaltung besteht somit darin, daß sie eine Ansprechverzögerung oder Latenzzeit besitzt, die gleich der Anzahl von Lesezyklen ist, die zum Füllen des Speichers erforderlich sind.
- Ein Ziel der vorliegenden Erfindung ist die Schaffung einer Datenreorganisationsschaltung mit einem Speicher mit doppel tem Zugriff bzw. Zugang, der das Lesen des Speichers in dem Moment gestattet, wo wenigstens ein Datum, das gelesen werden kann, in dem Speicher vorliegt.
- Indem dieses Ziel durch die Erfindung erreicht wird, gestattet die Erfindung je nach den Eingangs- und Ausgangsreihenfolgen der Daten das Lesen der Daten in dem Speicher, bevor dieser voll gefüllt ist.
- Dieses Ziel wird erreicht durch ein Verfahren zur Datenreorganisation, welches die Verfahrensschritte Schreiben der Daten werden in einer ersten vorgegebenen Reihenfolge in einen Speicher mit doppeltem Zugriff bzw. Zugang, sowie Lesen der Daten in dem Speicher in einer vorgegebenen zweiten Reihenfolge. Bei jedem Einschreiben eines laufenden Datums wird ein Register um ein Inkrement inkrementiert, dessen optimaler Betrag gleich 1 plus der Differenz zwischen dem Eingangsrang des Datums und dem Ausgangsrang dieses Datums ist und Null ist, wenn die Differenz negativ ist, wobei der tatsächliche Betrag dieses Inkrements solcher Art ist, daß die Summe der bis zum Schreiben des laufenden Datums angewendeten Inkremente kleiner oder gleich der Summe der optimalen Werte dieser Inkremente ist. Das Lesen der Daten ist nur erlaubt bzw. autorisiert, wenn der Inhalt des Registers nicht Nullist, und bei jedem Lesevorgang wird das Register dekrementiert.
- Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, daß das Reorganisationsverfahren den Verfahrensschritt umfaßt, wonach das Einschreiben von Daten zwischen dem Zeitpunkt, in welchem das Einschreiben eines Datenpakets beendet ist, und dem Zeitpunkt, in welchem das Auslesen dieses Datenpakets beendet ist, gesperrt ist.
- Die Erfindung bezweckt auch eine Schaltung zur Datenreorga nisation, mit einem Speicher mit doppeltem Zugriff bzw. Zugang, der mit einem System zum Schreiben von Daten in einer ersten vorgegebenen Reihenfolge mit Hilfe eines Bus und zum Lesen dieser Daten in einer zweiten vorgegebenen Reihenfolge mit Hilfe eines zweiten Bus verbunden ist. Mit der Reorganisationsschaltung ist ein Register verbunden, um die Lesevorgänge aus dem Register nur dann zu erlauben bzw. zu autorisieren, wenn der Inhalt des Registers nicht Null ist. Es sind Mittel vorgesehen, um den Registerinhalt bei bei jedem Lesen eines Datums in dem Speicher zu dekrementieren. Ein Dekoder für auf dem ersten Bus anliegende Adressen liefert ein Inkrements, dessen optimaler Betrag gleich 1 plus der Differenz zwischen dem Eingangsrang des auf dem ersten Bus präsentierten laufenden Datums und dem Ausgangsrang dieses Datums ist, und Null beträgt, falls die Differenz negativ ist, wobei der tatsächliche oder effektive Wert dieses Inkrements solcher Art ist, daß die Summe der bis zum Einschreiben des laufenden Datums angewendeten Inkremente kleiner oder gleich der Summe der optimalen Beträge dieser Inkremente ist. Ein Addierer fügt bei jedem Schreibvorgang das Inkrement zum Inhalt des Registers hinzu.
- Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, daß die Reorganisationsschaltung einen Schreibzähler aufweist, der bei jedem Einschreiben eines Datums inkrementiert und am Ende jedes Auslesens eines Datenpakets auf Null rückgestellt wird, sowie Mittel zum Inhibieren bzw. Sperren von Schreibvorgängen, solange der Schreibzähler seinen maximalen Zählbetrag besitzt.
- Diese und weitere Ziele, Merkmale, Eigenschaften und Vorteile der vorliegenden Erfindung werden in der nachfolgenden, nicht einschränkenden Beschreibung spezieller Ausführungsbeispiele erläutert mit Hilfe der beigefügten Zeichnungsfiguren; in diesen zeigen:
- Fig. 1 schematisch eine Ausführungsform einer Vorrichtung zur Datenreorganisation gemäß der vorliegenden Erfindung,
- Fig. 2 ein Zeitdiagramm zur Veranschaulichung der Arbeits- und Wirkungsweise der Schaltung aus Fig. 1,
- Fig. 3 einen Makroblock eines Digitalbilds, der Daten darstellt, welche mit einer Reorganisationsschaltung gemäß der Erfindung behandelt werden können,
- Fig. 4 eine Einfügung einer erfindungsgemäßen Reorganisationsschaltung in eine Verarbeitungskette von gemäß einer MPEG-Norm komprimierten Bilddaten,
- Figg. 5A bis 5D Darstellungen zur Veranschaulichung von vier mit einer erfindungsgemäßen Schaltung durchgeführten Reorganisationstypen bzw. -arten, im Rahmen einer Behandlung von nach einer MPEG-Norm komprimierten Bildmakroblöcken, sowie
- Fig. 6 eine Ausführungsform eines Speichers mit doppeltem Zugriff bzw. Zugang, der besonders vorteilhaft auf dem Gebiet der MPEG-Dekodierung ist.
- In Fig. 1 werden zu reorganisierende Daten in einen Speicher 10 mit doppeltem Zugriff bzw. Zugang geschrieben, über einen Schreibbus DW. Die Schreibadressen dieser Daten werden durch einen Schreibadressenbus WA ausgewählt. Die in den Speicher 10 geschriebenen Daten werden auf einem Lesebus DR unter durch einen Lese-Adressenbus RA ausgewählten Adressen wiedergelesen. Jeder Schreibvorgang in dem Speicher 10 wird durch einen Schreib-Taktgeber W aktiviert, jeder Lesevorgang durch einen Lese-Taktgeber R.
- Im Beispiel von Fig. 1 werden die Schreibadressen WA und die Leseadressen RA von einer Steuerschaltung 12 geliefert, welche die Reorganisation der Daten bestimmt. Beispielsweise werden die Schreibadressen WA jeweils um eine Einheit inkrementiert nach Maßgabe des Einschreibens der Daten, und die Leseadressen RA variieren in einer beliebigen fest vorgegebenen Weise, um die Reihenfolge der Lektüre (oder die Ausgangsreihenfolge) der Daten, die in den Speicher 10 eingeschrieben sind, zu bestimmen.
- Allgemein werden die Daten gemäß Paketen konstanter Länge reorganisiert. Der Speicher 10 ist beispielsweise zur Aufnahme eines Datenpakets vorgesehen, und die Bildung der Schreibadressen WA und der Leseadressen RA erfolgt gemäß Folgen mit einer Periode gleich der Anzahl von Daten eines Pakets.
- Das Problem, das durch die Erfindung gelöst werden soll, ist die Synchronisation der Emission bzw. Ausgabe der Leseadressen RA mit der Emission bzw. Ausgabe der Schreibadressen WA, derart daß ein Datum gelesen wird, sobald seine Ausgangs- bzw. Ausgabereihenfolge da ist.
- Hierfür sieht die Erfindung ein Register 14 vor, das die Anzahl N von in dem Speicher 10 zum Auslesen verfügbaren Daten enthält, d. h. die Zahl von Daten, die in der richtigen Reihenfolge gelesen werden können. Die Zahl N wird laufend beim Einschreiben eines Datums in den Speicher 10 aktualisiert durch Hinzufügen eines Inkrements X zu der Zahl N. Hierzu wird beispielsweise das Register 14 durch das Schreibsignal W aktiviert, und das Register 14 erhält an seinem Eingang über einen Addierer 16 die Summe aus der Ausgangsgröße des Registers und dem von einem Dekoder 18 gelieferten Wert X(WA). Der Dekoder 18 ordnet jeder Schreib adresse WA einen Betrag X zu. Jedes Inkrement X ist jeweils gleich 1 plus dem Unterschied zwischen dem Eingangsrang des jeweils gerade geschriebenen Datums und dem Ausgangsrang desselben Datums. Ist diese Differenz negativ, ist das Inkrement X gleich Null.
- Die Beträge der Inkremente X, wie sie vorstehend definiert wurden, sind optimale Werte Xopt. Zum Betrieb der Schaltung reicht es aus, daß die Summe der bis zu dem gerade laufend eingeschriebenen Datum verwendeten Inkremente kleiner oder gleich der Summe der entsprechenden optimalen Inkremente ist. In jedem Fall ist die Gesamtsumme der für ein Datenpaket verwendeten Inkremente X gleich der Anzahl von Daten des Pakets.
- Der Inhalt des Registers 14 wird für jeden Lesevorgang in dem dem Speicher 10 um eine Einheit dekrementiert. Hierfür wird beispielsweise das Lesesignal R einem Dekrementierungseingang des Registers 14 zugeführt. Das Register 14 kann ein Rückwärts- bzw. Abwärtszähler sein, dem an einem Dekrementierungseingang das Lesesignal R, an einem Lade-Aktivierungseingang das Signal W und an einem Ladeeingang die Ausgangsgröße des Addierers 16 zugeführt werden.
- Die Steuerschaltung 12 erhält den Inhalt des Registers 14 zur Bestimmung der Aktivierung von Steuersignalen RDYW und RDYR. Das Signal RDYW dient zur Anzeige für eine (nicht dargestellte) Schreibschaltung, daß die Reorganisationsschaltung zum Empfang der Daten bereit ist oder nicht bereit ist. Bei Aktivierung des Signals RDYW aktiviert die Schreibschaltung aufeinanderfolgend das Schreibsignal W in dem Maße, wie die Daten auf dem Bus DW präsentiert werden. Die Schreibadressen WA werden durch die Steuerschaltung 12 im Rhythmus des Schreibsignals W inkrementiert.
- Das Signal RDYR dient dazu, einer (nicht dargestellten) Leseschaltung anzuzeigen, ob die Reorganisationsschaltung zur Lieferung bzw. Abgabe von Daten bereit oder nicht bereit ist. Falls das Signal RDYR aktiviert ist, aktiviert die Leseschaltung aufeinanderfolgend die Leseleitung R in dem Maße, wie sie auf dem Bus DR vorliegende Daten liest. Bei jeder Aktivierung des Lesesignals R modifiziert die Steuerschaltung 12 die Leseadresse RA derart, daß die gelesenen Daten in der richtigen Reihenfolge abgegeben werden. Die Aufeinanderfolge bzw. Sequenz der Leseadressen RA ist vorbestimmt in Abhängigkeit von der Reihenfolge, in welcher die in dem Speicher 10 befindlichen Daten gelesen werden sollen. Diese Adressen sind beispielsweise in einem Speicher gespeichert, der durch einen Zähler adressiert wird, welcher durch das Lesesignal R inkrementiert wird.
- Das Signal RDYR ist aktiv, wenn die in dem Register 14 gespeicherte Zahl N nicht Null ist. So wird beispielsweise das Signal RDYR von einem ODER-Gatter geliefert, das sämtliche Bits des Registers 14 erhält.
- Das Signal RDYW ist aktiv, sobald ein Datenpaket aus dem Speicher 10 abgefragt wurde. Zur Erzeugung dieses Signals RDYW verwendet man beispielsweise einen Schreibzähler 12-1, der die Zahl von in den Speicher 10 eingeschriebenen Daten zählt. Das Signal RDYW wird beispielsweise von einer (nicht dargestellten) RS-Kippschaltung geliefert, die auf 0 gestellt wird, sobald die Zahl der eingeschriebenen Daten NW gleich der Zahl der Daten eines Pakets ist, und sie wird auf 1 gestellt, wenn die Zahl N der in dem Speicher 10 verfügbaren Daten Null ist und die Zahl geschriebener Daten NW gleich der Zahl der Daten eines Pakets ist. Die Aktivierung des Signals RDYW setzt die Zahl geschriebener Daten NW auf Null.
- Fig. 2 ist ein Zeitdiagramm zur Veranschaulichung der Arbeits- und Funktionsweise der Schaltung aus Fig. 1 mit Hilfe eines Beispiels der Reorganisation eines Pakets von acht Daten 1 bis 8. In diesem Falle sollen die Daten in der Reihenfolge:
- 1, 2, 3, 4, 5, 6, 7, 8
- geschrieben werden, und die Daten sollen den Speicher 10 gemäß der Reihenfolge
- 2, 1, 4, 3, 5, 8, 6, 7
- verlassen. Somit sind die Ausgangsränge der Wörter 1 bis 8 wie folgt:
- 2, 1, 4, 3, 5, 7, 8, 6.
- Die jedem der geschriebenen Daten zugeordneten Werte X sind
- 0, 2, 0, 2, 1, 0, 0, 3.
- In einem Zeitpunkt t&sub0; ist der Speicher 10 leer, die Zahl N beträgt Null, und das Signal RDYW ist aktiviert. Das Schreibsignal W wird dann aufeinanderfolgend aktiviert zum Einschreiben der acht Daten in den Speicher 10.
- Die Zahl N beträgt Null bis zum Zeitpunkt, in dem das Datum 2 eingeschrieben wird, d. h. das Datum mit Eingangsrang 2 und Ausgangsrang 1. Die Zahl N wird dann um 2 inkrementiert, und das Signal RDYR wird aktiviert, was aufeinanderfolgende Aktivierungen des Lesesignals R bewirkt zum Lesen der Daten in dem Speicher 10, beispielsweise mit der Frequenz bzw. dem Taktrhythmus des Schreibsignals. Zuerst wird das Datum 2 gelesen, die Zahl N geht in den Wert 1 über, sodann das Datum 1, die Zahl N geht in 0 über, was die Deaktivierung des Signals RDYR zur Folge hat.
- Nachdem das Datum 4 in den Speicher 10 eingeschrieben ist, wird die Zahl N um 2 inkrementiert, wobei diese Inkrementierung im Beispielsfall von Fig. 2 auftritt, nachdem die Zahl N nach dem Lesen des Datums 1 Null geworden ist. Das Signal RDYR ist erneut aktiviert, und das Auslesen der Daten wird wieder aufgenommen.
- Beim Lesen des Datums 4 geht die Zahl N in 1 über, sodann liest man das Datum 3. In der Zwischenzeit wurde das Datum 5 geschrieben und die Zahl N um 1 inkrementiert. Im Zeitpunkt des Auslesens des Datums 3 geht die Zahl N in 1 über, das Datum 5 wird gelesen, die Zahl N geht in 0 über, wodurch das Signal RDYR deaktiviert wird.
- Beim Schreiben des Datums 8, des letzten Datums in dem Paket, wird die Zahl N um 3 inkrementiert. Das Signal RDYW wird deaktiviert und das Signal RDYR aktiviert. Aufeinanderfolgend werden die Daten 8, 6 und 7 gelesen, wobei die Zahl N in 2 übergeht, dann in 1 und schließlich in 0.
- Nach dem Lesen des Datums 7 ist der Speicher 10 leer. Das Signal RDYW ist erneut aktiviert, was das Einschreiben eines neuen Pakets von acht Daten gestattet.
- Man ersieht, daß die Latenzzeit der erfindungsgemäßen Reorganisationsschaltung, d. h. die Versetzung zwischen dem Ende des Einschreibens eines Pakets und dem Ende seines Auslesens, drei Lesezyklen beträgt, was dem maximalen Betrag des Inkrements X entspricht.
- Selbstverständlich kann eine erfindungsgemäße Reorganisationsschaltung vorgesehen werden zur Durchführung mehrerer Reorganisationen, die mit Hilfe eines Bus FCT (Fig. 1) ausgewählt werden, welcher die Kodierungsfunktion des Dekoders 18 und die Funktion der Erzeugung von Leseadressen RA der Steuerschaltung 12 bestimmt.
- Eine erfindungsgemäße Reorganisationsschaltung ist besonders geeignet zur Durchführung der Filterung in einer Kodierung oder Dekodierung von Bildblöcken gemäß den MPEG-Normen. In derartigen Kodierungs- oder Dekodierungsschaltungen werden die Daten in dem verarbeitet, was man als Makroblöcke, entsprechend Bildblöcken von 16 · 16 Pixeln, bezeichnet.
- Fig. 3 veranschaulicht ein Beispiel eines als 4 : 2 : 0 bezeichneten Formats eines MPEG-Makroblocks. Dieser Makroblock umfaßt einen aus vier Blöcken Y0 bis Y3 von jeweils 8 · 8 Pixeln gebildeten Luminanz- bzw. Helligkeitsblock und einen aus zwei Blöcken U und V von 8 · 8 Pixeln gebildeten Chrominanz- oder Farbwertblock. Ein anderes mögliches Format ist das mit 4 : 2 : 2 bezeichnete Format, wo der Chrominanzblock zwei Blöcke von 8 · 16 Pixeln umfaßt. Ein Makroblock des Formats 4 : 2 : 0 besteht aus einem Paket von 384 Pixeln zu 8 Bits.
- Fig. 4 gibt schematisch einen Teil der MPEG-Dekoderschaltung wieder, welche die Filterung der Makroblöcke ausführt. Ein laufend dekodierter Makroblock MBc wird einer Schaltung 20 für die inverse diskrete Cosinus-Transformation (DCT) zugeführt.
- Die Ausgangsgröße der DCT-Schaltung 20 wird in einem Addierer 22 mit der Ausgangsgröße eines als Demipixel-Filter bezeichneten Filters 24 summiert zur Bildung eines rekonstruierten Makroblocks MBr. Das Filter 24 erhält Makroblöcke MBp, die als sogenannte Vorhersage-Makroblöcke bezeichnet werden und von einem zuvor rekonstruierten Bild herkommen. Die Reihenfolge des Eintreffens der Pixel am Filter 24 ist von der Ausgangsreihenfolge der Pixel der DCT-Schaltung verschieden. Infolgedessen muß am Ausgang des Filters 24 eine Reorganisationsschaltung 26 vorgesehen werden, bei welcher es sich vorteilhafterweise um eine Reorganisationsschaltung gemäß der Erfindung handelt. Das Schreibsignal W und das Signal RDYW werden zwischen der Schaltung 26 und dem Filter 24 ausgetauscht. Das Lesesignal R und das Signal RDYR werden zwischen der Schaltung 26 und der DCT-Schaltung 20 ausgetauscht.
- Die von dem Filter 16 und von der DCT-Schaltung zugeführten Daten sind 16-Bit-Daten, deren jedes jeweils einem Pixelpaar entspricht.
- Außerdem liefert die DCT-Schaltung Makroblöcke in verschachtelter bzw. verflochtener oder in progressiver Form, unabhängig von der Tatsache, daß die dem Filter 24 zugeführten Vorhersage-Makroblöcke gleichfalls in verschachtelter oder progressiver Form zugeführt werden können. Somit bestehen vier Möglichkeiten der Reorganisation, die durch den FCT-Bus ausgewählt werden.
- Die Figg. 5A bis 5D dienen zur Veranschaulichung von Beispielen jeder dieser Reorganisationen. Sie stellen Tabellen der Inkremente X dar, die jeweils jedem Pixelpaar eines in den Speicher 10 der Reorganisationsschaltung eingeschriebenen Makroblocks zugeordnet sind. Es wird angenommen, daß diese Figuren einen integrierenden Teil der vorliegenden Beschreibung bilden.
- Fig. 5A veranschaulicht eine Reorganisation von Makroblöcken in dem Fall, wo die Makroblöcke von dem Filter 24 in progressiver Form zugeführt und der Addiervorrichtung 22 ebenfalls in progressiver Form zugeführt werden.
- Die von dem Filter 24 gelieferten Pixelpaare treffen beispielsweise in Spalten von 16 Pixelpaaren ein, mittels Abtastung von oben nach unten und von links nach rechts, und zwar zunächst der Luminanz- bzw. Helligkeitsblöcke Y und sodann der Chrominanzblöcke U und V. Näherhin treffen die Luminanzblöcke Y unter Abwechslung zwischen einer Spalte des Blocks Y0 und einer Spalte des Blocks Y2 ein, sodann, nachdem die Blöcke Y0 und Y2 eingetroffen sind, unter Abwechslung zwischen einer Spalte des Blocks Y1 und einer Spalte des Blocks Y3. Die Chrominanzblöcke U und V treffen im Wechsel zwischen einem Pixelpaar U und einem Pixelpaar V ein. Die Pixelpaare werden in die Reorganisationsschaltung in der Reihenfolge ihres Eintreffens eingeschrieben.
- Die Pixelpaare werden beispielsweise in Spalten von acht Pixelpaaren von oben nach unten und von links nach rechts ausgelesen, derart daß in vollständiger Weise aufeinanderfolgend die Blöcke Y0, Y1, Y2, Y3, U und V geliefert werden, wie teilweise durch Pfeile veranschaulicht ist.
- Man erkennt, daß in der Tabelle von Fig. 5A der größte Wert bzw. Betrag von X 57 ist, was besagt, daß die Latenz der Reorganisationsschaltung in diesem Fall 57 Lesezyklen bei 192 geschriebenen Pixelpaaren beträgt.
- Fig. 5B zeigt eine Reorganisation von Makroblöcken in einem Fall, wo die Makroblöcke von dem Filter 24 in progressiver Form zugeführt werden, während der Addierer 22 sie in verschachtelter Form erhält. Die Pixelpaare werden in die Reorganisationsschaltung 26 auf dieselbe Weise wie oben eingeschrieben.
- Die Pixelpaare werden kolonnenweise derart ausgelesen, daß man Pixelpaare von ungeraden Zeilen der aufeinanderfolgenden Blöcke Y0, Y2, Y1, Y3 erhält, sodann die Pixelpaare gerad zahliger Linien der aufeinanderfolgenden Blöcke Y0, Y2, Y1, Y3. Die Chrominanzblöcke werden in derselben Weise wie im Fall von Fig. 5A ausgelesen.
- Man erkennt, daß die Latenz in diesem Falle 64 Lesezyklen beträgt.
- Fig. 5C veranschaulicht eine Reorganisation in dem Fall, wo das Filter 24 Makroblöcke in verschachtelter Form liefert und diese dem Addierer 22 in progressiver Form zugeführt werden.
- Die von dem Filter 24 gelieferten Pixelpaare treffen in Kolonnen von 8 Pixelpaaren ein, durch Abtastung der ungeraden Lumineszenzblöcke (Y0(1) bis Y3(1)), der geraden Luminanzblöcke (Y0(2) bis Y3(2)), der ungeraden Chrominanzblöcke (U(1) und V(1)) und schließlich der geraden Chrominanzblöcke (U(2) und V(2)), von unten nach oben und von links nach rechts. Ein ungerader, mit (1) indizierter Block enthält nur die Pixelpaare von ungeraden Linien bzw. Zeilen des entsprechenden kompletten Blocks, und ein mit (2) indizierter geradzahliger Block enthält nur die Pixelpaare geradzahliger Linien des entsprechenden kompletten Blocks. Jeder der ungeradzahligen und geradzahligen Blöcke (Luminanzblöcke wie Chrominanzblöcke) trifft in derselben Weise wie der entsprechende vollständige Block in Fig. 5A ein, mit dem Unterschied, daß jeder ungerade oder gerade Block jeweils nur 4 Pixelpaare in diesen Spalten enthält.
- Die Pixelpaare werden derart ausgelesen, daß sie in Kolonnen von 8 Pixelpaaren aufeinanderfolgend die vollständigen Blöcke Y0, Y1, Y2, Y3, U und V liefern. Die Reihenfolge des Auslesens ist teilweise durch kreisumrandete Ziffern wiedergegeben. Um beispielsweise die erste Spalte des Blocks Y0 zu rekonstituieren, werden abwechselnd in den Blöcken Y0(1) und Y0(2) die ersten bis vierten Pixelpaare gelesen. Die Blöcke U und V werden in ähnlicher Weise rekonstituiert.
- Man erkennt, daß in diesem Fall die Latenz der Reorganisationsschaltung 58 Lesezyklen beträgt.
- Fig. 5D zeigt eine Reorganisation für den Fall, wo das Filter 24 Makroblöcke in verschachtelter bzw. ineinandergeflochtener Form liefert, welche dem Addierer 22 in verschachtelter Form zugeführt werden müssen.
- Das Einschreiben der Blöcke in die Reorganisationsschaltung erfolgt gemäß dem, was mit Bezug auf Fig. 5C beschrieben wurde, und sie werden in derselben Reihenfolge ausgelesen. Tatsächlich ist die Reorganisationsschaltung in diesem Fall ohne Nutzen. Sämtliche Inkremente X betragen 1, und die Latenzzeit ist ein Lesezyklus.
- Bei dieser Anwendung auf eine MPEG-Verarbeitungsschaltung wie im allgemeinen Fall verbietet die Reorganisationsschaltung den Beginn des Einschreibens eines neuen Datenpakets (neuen Makroblocks), solange das vorhergehende Paket nicht gelesen ist. Somit können die Daten der Reorganisationsschaltung nicht in kontinuierlichem Strom zugeführt werden.
- Eine herkömmliche Lösung zur Vermeidung dieses Nachteils bestünde in der Verwendung eines der Reorganisationsschaltung vorgeschalteten Pufferspeichers, dessen Kapazität der Zahl von während der Latenz der Reorganisationsschaltung eingeschriebenen Daten entspricht.
- Die MPEG-Verarbeitung eignet sich besonders gut zur Anwendung von zwei parallelgeschalteten erfindungsgemäßen Reorganisationsschaltungen, zur Verarbeitung der zu schreibenden Pixel in kontinuierlichem Strom. Beispielsweise reorganisierte die erste Reorganisationsschaltung die Luminanzblöcke Y0 bis Y3, und die zweite Reorganisationsschaltung die Chrominanzblöcke U und V; dies ist leicht zu realisieren, da die Luminanz- und die Chrominanzblöcke jeweils deutlich unterschiedlichen Paketen entsprechen (die Chrominanzpixel sind nicht mit den Luminanzpixeln vermischt, und zwar weder am Eingang noch am Ausgang). Der verwendete Speicher entspricht dann einem Makroblock, und es ist unnütz, diesen Speicher durch Zufügung eines Pufferspeichers zu vermehren.
- Fig. 6 zeigt eine besonders vorteilhafte Ausführungsform eines Speichers mit doppeltem Zugriff bzw. Zugang, zur Verwendung in einer erfindungsgemäßen Reorganisationsschaltung in Anpassung zur Verarbeitung von MPEG-Bildern. Dieser Speicher weist 12 Pufferspeicher vom First-in/First-out(FIFO)- Typ auf, von 16 Worten zu je 16 Bits. Der Schreib-Bus DW ist mit sämtlichen Eingängen dieser FIFO-Speicher verbunden, der Lese-Bus DR mit sämtlichen Ausgängen dieser FIFO-Speicher. Der Schreib-Adressenbus WA weist beispielsweise 12 Leitungen auf, die jeweils jeden der Speicher im Schreibmode anwählen, und der Lese-Adressenbus RA umfaßt beispielsweise 12 Leitungen, welche jeweils jeden der FIFO-Speicher im Lesemode auswählen.
- Jeder der FIFO-Speicher ist zur Aufnahme der Pixelpaare von geradem Rang oder der Pixelpaare von ungeradem Rang jedes Blocks von 8 · 8 Pixeln eines Makroblocks bestimmt. Auf diese Weise können die Pixelpaare in jedem der vier vorstehend beschriebenen Fälle in der richtigen Reihenfolge geliefert werden, unter Verwendung einer besonders einfachen Adressierung und eines preisgünstigen Aufbaus des Speichers mit doppeltem Zugriff bzw. Zugang.
Claims (4)
1. Verfahren zur Datenreorganisation, welches die
folgenden Verfahrensschritte umfaßt:
- die Daten werden in einer ersten vorgegebenen
Reihenfolge in einen Speicher (10) mit doppeltem Zugriff bzw. Zugang
geschrieben;
- die Daten in dem Speicher werden in einer vorgegebenen
zweiten vorgegebenen Reihenfolge gelesen;
dadurch gekennzeichnet, daß das
Verfahren die folgenden Verfahrensschritte umfaßt:
- bei jedem Einschreiben eines laufenden Datums wird
ein Register (14) um ein Inkrement (X) inkrementiert, dessen
optimaler Betrag gleich 1 plus der Differenz zwischen dem
Eingangsrang des Datums und dem Ausgangsrang dieses Datums ist
und Null ist, wenn die Differenz negativ ist, wobei der
tatsächliche Betrag dieses Inkrements solcher Art ist, daß die
Summe der bis zum Schreiben des laufenden Datums angewendeten
Inkremente kleiner oder gleich der Summe der optimalen Werte
dieser Inkremente ist;
- das Lesen der Daten ist nur erlaubt bzw. autorisiert,
wenn der Inhalt des Registers nicht Null ist;
- bei jedem Lesevorgang wird das Register dekrementiert.
2. Reorganisationsverfahren nach Anspruch 1, dadurch
gekennzeichnet, daß es den Verfahrensschritt umfaßt, wonach
das Einschreiben von Daten zwischen dem Zeitpunkt, in welchem
das Einschreiben eines Datenpakets beendet ist, und dem
Zeitpunkt, in welchem das Auslesen dieses Datenpakets beendet ist,
gesperrt ist.
3. Schaltung zur Datenreorganisation, mit einem
Speicher (10) mit doppeltem Zugriff bzw. Zugang, der mit einem
System zum Schreiben von Daten in einer ersten vorgegebenen
Reihenfolge mit Hilfe eines Bus (DR,WA) und zum Lesen dieser
Daten in einer zweiten vorgegebenen Reihenfolge mit Hilfe
eines zweiten Bus (DR,RA) verbunden ist,
dadurch gekennzeichnet, daß die Schaltung
umfaßt:
- ein mit der Reorganisationsschaltung verbundenes
Register (14), welches die Lesevorgänge aus dem Register nur
erlaubt bzw. autorisiert, wenn der Inhalt des Registers nicht
Null ist;
- Mittel (R) zum Dekrementieren des Registerinhalts bei
jedem Lesen eines Datums in dem Speicher;
- einen Dekoder (18) für auf dem ersten Bus anliegende
Adressen, zur Bildung eines Inkrements (X), dessen optimaler
Betrag gleich 1 plus der Differenz zwischen dem Eingangsrang
des auf dem ersten Bus präsentierten laufenden Datums und dem
Ausgangsrang dieses Datums ist, und Null beträgt, falls die
Differenz negativ ist, wobei der tatsächliche Wert dieses
Inkrements solcher Art ist, daß die Summe der bis zum
Einschreiben des laufenden Datums angewendeten Inkremente
kleiner oder gleich der Summe der optimalen Beträge dieser
Inkremente ist; sowie
- einen Addierer (16), der bei jedem Schreibvorgang
das Inkrement zum Inhalt des Registers hinzufügt.
4. Reorganisationsschaltung nach Anspruch 3, dadurch
gekennzeichnet, daß sie einen Schreibzähler (12-1) aufweist,
der bei jedem Einschreiben eines Datums inkrementiert und am
Ende jedes Auslesens eines Datenpakets auf Null rückgestellt
wird, sowie Mittel zum Inhibieren bzw. Sperren von
Schreibvorgängen, solange der Schreibzähler seinen maximalen
Zählbetrag besitzt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9402071A FR2716276B1 (fr) | 1994-02-16 | 1994-02-16 | Circuit de réorganisation de données. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69517718D1 DE69517718D1 (de) | 2000-08-10 |
DE69517718T2 true DE69517718T2 (de) | 2001-02-01 |
Family
ID=9460361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69517718T Expired - Fee Related DE69517718T2 (de) | 1994-02-16 | 1995-02-15 | Datenreorganisationsschaltung und Verfahren |
Country Status (5)
Country | Link |
---|---|
US (1) | US5717899A (de) |
EP (1) | EP0668557B1 (de) |
JP (1) | JP2833509B2 (de) |
DE (1) | DE69517718T2 (de) |
FR (1) | FR2716276B1 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781664A (en) * | 1995-09-11 | 1998-07-14 | National Semiconductor Corporation | Highly efficient method and structure for motion compensation in a video decompression system |
US5938763A (en) * | 1997-08-06 | 1999-08-17 | Zenith Electronics Corporation | System for transposing data from column order to row order |
US6385670B1 (en) * | 1998-06-01 | 2002-05-07 | Advanced Micro Devices, Inc. | Data compression or decompressions during DMA transfer between a source and a destination by independently controlling the incrementing of a source and a destination address registers |
US6891845B2 (en) * | 2001-06-29 | 2005-05-10 | Intel Corporation | Method and apparatus for adapting to a clock rate transition in a communications network using idles |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1981001064A1 (en) * | 1979-10-09 | 1981-04-16 | Burroughs Corp | Improvements in or relating to data communications |
US4393444A (en) * | 1980-11-06 | 1983-07-12 | Rca Corporation | Memory addressing circuit for converting sequential input data to interleaved output data sequence using multiple memories |
US4608633A (en) * | 1983-04-01 | 1986-08-26 | Honeywell Information Systems Inc. | Method for decreasing execution time of numeric instructions |
US4563702A (en) * | 1983-05-27 | 1986-01-07 | M/A-Com Linkabit, Inc. | Video signal scrambling and descrambling systems |
JPS61245256A (ja) * | 1985-04-23 | 1986-10-31 | Mitsubishi Electric Corp | 情報格納方式 |
US4803654A (en) * | 1985-06-20 | 1989-02-07 | General Datacomm Industries, Inc. | Circular first-in, first out buffer system for generating input and output addresses for read/write memory independently |
US4807044A (en) * | 1985-12-27 | 1989-02-21 | Canon Kabushiki Kaisha | Image processing apparatus |
DE3620932A1 (de) * | 1986-06-23 | 1988-01-07 | Siemens Ag | Anordnung zum verarbeiten von bilddaten |
US4847812A (en) * | 1986-09-18 | 1989-07-11 | Advanced Micro Devices | FIFO memory device including circuit for generating flag signals |
US4995005A (en) * | 1986-09-18 | 1991-02-19 | Advanced Micro Devices, Inc. | Memory device which can function as two separate memories or a single memory |
US5293586A (en) * | 1988-09-30 | 1994-03-08 | Hitachi, Ltd. | Data processing system for development of outline fonts |
JP2855633B2 (ja) * | 1989-02-03 | 1999-02-10 | ミノルタ株式会社 | マルチプロセッサシステムにおけるデュアルポートメモリの故障診断装置 |
US5206684A (en) * | 1989-03-14 | 1993-04-27 | Minolta Camera Kabushiki Kaisha | Recording apparatus including a memory into which information is written in a particular order and from which memory information is read in the reverse order |
US5117486A (en) * | 1989-04-21 | 1992-05-26 | International Business Machines Corp. | Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor |
US5283763A (en) * | 1989-09-21 | 1994-02-01 | Ncr Corporation | Memory control system and method |
US5206834A (en) * | 1989-10-14 | 1993-04-27 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device performing last in-first out operation and the method for controlling the same |
JPH03224197A (ja) * | 1990-01-30 | 1991-10-03 | Toshiba Corp | 多ポートram及び情報処理装置 |
US5042007A (en) * | 1990-02-26 | 1991-08-20 | Eastman Kodak Company | Apparatus for transposing digital data |
US5177704A (en) * | 1990-02-26 | 1993-01-05 | Eastman Kodak Company | Matrix transpose memory device |
US5440706A (en) * | 1990-07-20 | 1995-08-08 | Matsushita Electric Industrial Co., Ltd. | Data shuffling apparatus possessing reduced memory |
JPH04147493A (ja) * | 1990-10-09 | 1992-05-20 | Mitsubishi Electric Corp | 半導体メモリ |
JPH04188243A (ja) * | 1990-11-21 | 1992-07-06 | Nippon Steel Corp | 記憶装置 |
US5293540A (en) * | 1991-07-29 | 1994-03-08 | Nview Corporation | Method and apparatus for merging independently generated internal video with external video |
GB2268657B (en) * | 1992-07-03 | 1995-11-08 | Sony Broadcast & Communication | Video memory |
US5455907A (en) * | 1993-09-10 | 1995-10-03 | Compaq Computer Corp. | Buffering digitizer data in a first-in first-out memory |
-
1994
- 1994-02-16 FR FR9402071A patent/FR2716276B1/fr not_active Expired - Fee Related
-
1995
- 1995-02-09 JP JP7043650A patent/JP2833509B2/ja not_active Expired - Fee Related
- 1995-02-13 US US08/388,022 patent/US5717899A/en not_active Expired - Lifetime
- 1995-02-15 EP EP95410010A patent/EP0668557B1/de not_active Expired - Lifetime
- 1995-02-15 DE DE69517718T patent/DE69517718T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5717899A (en) | 1998-02-10 |
EP0668557A1 (de) | 1995-08-23 |
FR2716276A1 (fr) | 1995-08-18 |
JP2833509B2 (ja) | 1998-12-09 |
DE69517718D1 (de) | 2000-08-10 |
FR2716276B1 (fr) | 1996-05-03 |
EP0668557B1 (de) | 2000-07-05 |
JPH07320479A (ja) | 1995-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2814084C2 (de) | Sichtanzeigeeinrichtung | |
DE69429207T2 (de) | Bildverarbeitungssystem | |
DE69321856T2 (de) | Vorrichtung und Verfahren zur Kodierung eines digitalen Bildsignals | |
DE69114825T2 (de) | Verfahren und Einrichtung zur Erhöhung der Verarbeitungsgeschwindigkeit eines Anzeigesystems mit Doppel-Pufferspeicher. | |
DE69127739T2 (de) | Bilddatenverarbeitungsgerät | |
DE3875334T2 (de) | Verfahren zur synchronisierung fuer die uebertragung ueber einen asynchronen kanal einer folge von kodierten bildern, die mittels eines kodes mit variabler laenge kodiert sind und einrichtung zur durchfuehrung dieses verfahrens. | |
DE69330157T2 (de) | Vorrichtung und Verfahren für die Aufzeichnung von Videosignalen | |
DE69419663T2 (de) | Multitasking-Prozessorarchitektur | |
DE3879637T2 (de) | Pufferspeichergeraet und -verfahren, insbesondere fuer die matrixtransposition von datenfolgen. | |
EP0137208B1 (de) | Verfahren zur Umwandlung eines Eingangsbitstromes | |
DE2907992A1 (de) | Verfahren zur behandlung von videodaten | |
DE69627920T2 (de) | Speichersteuerungsanordnung und Bilddekodierer damit | |
DE69328399T2 (de) | Sprachdaten-Verarbeitung | |
DE69112865T2 (de) | Verarbeitungsverfahren von digitalen Kontrolldaten, die mit einem HD-MAC-Videosignal verbunden sind. | |
DE3632639A1 (de) | Einrichtung zum verarbeiten von bilddaten durch faltung | |
DE69418860T2 (de) | Verfahren und Vorrichtung zur Block Verschachtelung und Entschachtelung | |
DE3888891T2 (de) | Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit. | |
DE69128665T2 (de) | Datenmischendes Gerät | |
DE69517718T2 (de) | Datenreorganisationsschaltung und Verfahren | |
DE3876771T2 (de) | Adaptives verfahren zur transformationskodierung und -dekodierung einer folge von bildern und einrichtungen zur durchfuehrung dieses verfahrens. | |
DE69721373T2 (de) | Quantisierer für ein Videokodierungssystem | |
DE69230047T2 (de) | Fernsehsystem zum Übertragen von Bildsignalen in einem digitalen Format | |
DE3789818T2 (de) | Videospeichersteuereinrichtung. | |
DE69221923T2 (de) | Gemeinsamer Zwischenformat-Umwandler mit verringerter Multipliziereranzahl | |
DE69516854T2 (de) | Bildkodierung mit variabler anzeigerate |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |