DE69517718T2 - Datenreorganisationsschaltung und Verfahren - Google Patents

Datenreorganisationsschaltung und Verfahren

Info

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
Application number
DE69517718T
Other languages
English (en)
Other versions
DE69517718D1 (de
Inventor
Alain Artieri
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of DE69517718D1 publication Critical patent/DE69517718D1/de
Application granted granted Critical
Publication of DE69517718T2 publication Critical patent/DE69517718T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements 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/785Arrangements 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.
DE69517718T 1994-02-16 1995-02-15 Datenreorganisationsschaltung und Verfahren Expired - Fee Related DE69517718T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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