DE19709391A1 - MPEG-Codier- und Decodiersystem für Multimediaanwendungen - Google Patents
MPEG-Codier- und Decodiersystem für MultimediaanwendungenInfo
- Publication number
- DE19709391A1 DE19709391A1 DE19709391A DE19709391A DE19709391A1 DE 19709391 A1 DE19709391 A1 DE 19709391A1 DE 19709391 A DE19709391 A DE 19709391A DE 19709391 A DE19709391 A DE 19709391A DE 19709391 A1 DE19709391 A1 DE 19709391A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- image
- graphic
- encoder
- mpeg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
Die vorliegende Erfindung betrifft eine Signalverarbeitung. Speziell betrifft sie
ein Multimediakomprimier- und -expandiersystem, das in Einklang mit den
Spezifikationen der internationalen Organisation für Standardisierung(ISO)/
internationalen elektrotechnischen Kommission (IEC)/Expertengruppe für
bewegte Bilder (Motion Picture Expert Group, MPEG) steht.
Eine Datenkompression kann in Datenverarbeitungssystemen so bereitgestellt
werden, daß die Zeit der Datenübertragung in Kommunikationsverbindungen
reduziert wird oder daß Signale mit breiter Bandbreite über Kommunikations
kanäle mit schmaler Bandbreite übertragen werden. Datenkompression kann
auch derart benutzt werden, daß die Menge der Daten, die in einem gegebenen
Raum gespeichert werden können, erhöht wird oder daß der Raum, der zum
Speichern einer gegebenen Menge von Daten benötigt wird, verringert wird.
Die MPEG-Standards definieren einen Kompressions- und Expansionsalgo
rythmus für Videodienstleistungen. Ein Beispiel einer solchen Dienstleistung
ist Video auf Abruf, bei dem ein Abonnent derart mit einem entfernten Video
speicher interagiert, daß die Darstellungen eines speziellen Films oder
Videoprogramms auf dem TV-Gerät des Abonnenten verlangt wird. Aufgrund
von Videokompression können Bilder des Films über einen
Kommunikationskanal unter Benutzung von nur einem Teil eines
herkömmlichen Fernsehkanals gesendet werden. Als Ergebnis können sehr viel
mehr Videokanäle über ein gegebenes Kommunikationsmedium, wie z. B. ein
Fernsehkabelmedium, übertragen werden. Weiterhin werden herkömmliche
Telefonverbindungen in die Lage versetzt, Fernsehsignale mit breiter
Bandbreite zu liefern.
Bei dem MPEG-Algorithmus ist jedes Einzelbild bzw. Halb- oder Vollbild
eines Videos entweder unabhängig oder als Änderung von einem
vorhergehenden und/oder zukünftigen angezeigten Einzelbild definiert. Eine
Videoszene kann durch ein ein einzelnes unabhängiges Einzelbild
(I-Einzelbild bzw. I-Frame), das die gesamte Szene so zeigt, wie sie ursprünglich
erscheint, gefolgt von einer langen Reihe von Änderungseinzelbildern
(P-Einzelbilder und/oder B-Einzelbilder), die die Änderungen in der Szene
beschreiben, beschrieben werden. Die MPEG-Videokompressionstechnik
beseitigt so die redundante Übertragung von sich nicht ändernden Elementen
der Szene.
Wie in Fig. 1 der Figur gezeigt ist, enthält ein der Anmelderin bekanntes
MPEG-Video Kompressions-/-Dekompressionssystem 10 eine Bildquelle 12,
z. B. eine Videokamera oder einen Videodienstleistungsspeicher zum Speichern
eines Videos. Ein MPEG-Codierer komprimiert Bilddaten von der Bildquelle 12
entsprechend dem MPEG-Kompressionsalgorithmus. Die komprimierten
Bilddaten werden beispielsweise zu einem Videodienstleistungsmedium 16,
einem TV-Kabel oder einem Telefonsystem zum Übertragen zu einem
entfernten Benutzer geliefert. Alternativ können die komprimierten Bilddaten
in einen lokalen Videospeicher zum weiteren Auslesen durch einen lokalen
oder entfernten Benutzer geladen werden. Ein MPEG-Decodierer 18 expandiert
die komprimierten Bilddaten entsprechend den MPEG-Expansionsalgorithmus
und liefert sie zu einem Video- oder TV-Monitor 20, der das empfangene Bild
anzeigt.
Der MPEG-Algorithmus ist in den folgenden Spezifikationen definiert:
ISO/IEC 11172, Nov. 1991 (MPEG 1) und ISO/IEC 13818, März 1995 (MPEG
2). Bei dem MPEG-1 behandelt er ein komplettes anzuzeigendes Bild, das als
Einzelbild bzw. Frame definiert ist. Die Größe des Einzelbildes wird auf 22
horizontale Makroblöcke × 16 vertikale Makroblöcke eingestellt, wobei ein
Makroblock aus sechs Blocks des Bildes aufgebaut ist, von denen vier Blocks
Luminanz und zwei Blocks Chrominanz darstellen. Jeder Bildblock enthält 8 ×
8 Bildelemente (Pixel).
Eine typische Verwirklichung des MPEG-Systems läßt nur die Kompression
von Bilddaten zu. Keine Kompression von graphischen Daten oder Textdaten,
die dem Bild zugeordnet sind, ist möglich. Weiterhin manipuliert der der
Anmelderin bekannte MPEG-Codierer nur Einzelbilder mit festgelegter Größe,
die ein komplettes Bild darstellen, sogar wenn nur ein Abschnitt des Bildes
dargestellt werden soll. Um die kompletten Einzelbilddaten unterzubringen,
wird ein Zwischenpufferspeicher zwischen dem MPEG-Decodierer und der
Bildanzeige benötigt. Als Ergebnis des Zwischendatenspeichers wird die
Datenlieferungsrate des MPEG-Systems wesentlich reduziert.
Es ist Aufgabe der Erfindung, ein MPEG-Codier- und -Decodiersystem und
ein Verfahren zur Kompression und Expansion von Daten bereitzustellen, die
Multimediadaten, die Graphik- und Textdaten sowie Bilddaten enthalten, be
handeln können.
Auch wäre es wünschenswert, das MPEG-Codier- und Decodiersystem, das
durch ein Anwendungsprogramm gesteuert wird, zu befähigen, Daten verschie
dener Größe angepaßt so zu bearbeiten, daß die Notwendigkeit für einen
Zwischendatenspeicher entfällt und somit die MPEG-Datenlieferungsrate an
steigt.
Die Aufgabe wird durch das System des Anspruches 1, 17 oder 21 und durch
das Verfahren zum Komprimieren und Dekomprimieren von Multimediadaten
des Anspruches 25 gelöst.
Folglich besteht ein Vorteil im Bereitstellen eines MPEG-Codier- und -Deco
diersystems, das zu komprimierende Multimediadaten, die Bild-, Graphik- und
Textdaten enthalten, zuläßt.
Ein weiterer Vorteil besteht im Bereitstellen eines MPEG-Codier- und Deco
diersystems, das in der Lage ist, Multimediadaten, die in Blöcken variabler
Größe angeordnet sind, zu bearbeiten.
Ein weiterer Vorteil besteht im Bereitstellen eines MPEG-Codier- und
-Decodiersystems, das zwischen einem Decodierer und einer Anzeige keine
Zwischendatenspeicherung durchführt.
Ein weiterer Vorteil liegt im Erhöhen der Datenlieferungsrate eines MPEG-
Codier- und Decodiersystems.
Die obigen und weitere Vorteile werden zumindest teilweise durch Bereitstel
len eines Systems zum Codieren und Decodieren von Multimediadaten, die
Bild-, Graphik und Textdaten enthalten, das einen Codierer zum
Komprimieren der Multimediadaten enthält, erreicht. Ein zentraler Prozessor
steuert den Codierer so, daß die Multimediadaten, die durch den Codierer
komprimiert sind, in einem Block mit variabler Größe angeordnet werden. Der
Block der komprimierten Daten kann in einem Strukturpuffer gespeichert
werden. Ein Decodierer liest den Datenblock von dem Puffer und expandiert
ihn.
Entsprechend einer bevorzugten Ausführungsform stellen der Codierer und der
Decodierer eine Datenkompression und -expansion unter Benutzung des Algo
rithmusses der Expertengruppe für Filmbilder (MPEG) bereit.
Entsprechend einem Aspekt enthält der Codierer einen Adreßgenerator zum
Erzeugen von Adreßdaten derart, daß der Datenblock in dem Strukturpuffer
gespeichert wird. Der Adreßgenerator reagiert auf eine Datengrößenanweisung
von dem zentralen Prozessor, die die Größe des Datenblockes anzeigt. Der
Adreßgenerator reagiert weiter auf eine Datentypanweisung von dem zentralen
Prozessor, die den Typ der durch den Codierer komprimierten Multimediadaten
anzeigt. Separate Bild-, Graphik- und Textadressenausgänge bzw. -ausgaben
können zum Speichern von jeweils den Bild-, Graphik- und Textdaten in dem
Strukturpuffer vorgesehen sein.
Entsprechend einem anderen Aspekt enthält der Decodierer einen
Adreßgenerator zum Erzeugen von Adreßdaten, um den Datenblock von dem
Strukturpuffer zu lesen. Der Decodieradreßgenerator reagiert auf die
Datengrößen- und Datentypanweisungen von dem zentralen Prozessor bzw.
Verarbeitungseinheit. Separate Bild-, Graphik- und Textadressenausgänge
bzw. -ausgaben können derart angeordnet sein, daß Adressen zum Lesen von
jeweils den Bild-, Graphik- und Textdaten von dem Strukturpuffer angezeigt
werden.
Das Codier- und Decodiersystem kann Kompressions- und
Expansionspipelines, die aus Einheiten zum Ausführen von Sequenzen von
durch den MPEG-Algorithmus definierten Codier- und Decodierschritten
gebildet sind, aufweisen. Eine endliche Anzahl von Maschinen werden durch
den zentralen Prozessor derart gesteuert, daß verschiedene Codiereinheiten in
verschiedene Decodiereinheiten in die Lage versetzt werden, gleichzeitig zu
arbeiten.
Entsprechend einem Verfahren werden die folgenden Schritte durchgeführt:
Eingeben von zu komprimierenden Bild-, Graphik- und Textdaten,
Komprimieren der Bild-, Graphik- und Textdaten entsprechend dem MPEG- Komressionsalgorithmus durch einen Codierer,
Steuern des Codierer derart, daß die komprimierten Bild-, Graphik- und Text daten, die in Blöcken mit variablen Größen angeordnet sind, in einen Puffer geschrieben werden,
Lesen der komprimierten Bild-, Graphik- und Textdaten von dem Puffer durch einen Decodierer,
Steuern des Decodierers derart, daß die Blöcke mit verschiedenen Größen von dem Puffer gelesen werden, und
Expandieren der gelesenen Bild-, Graphik- und Textdaten entsprechend dem MPEG-Expansionsalgorithmus.
Komprimieren der Bild-, Graphik- und Textdaten entsprechend dem MPEG- Komressionsalgorithmus durch einen Codierer,
Steuern des Codierer derart, daß die komprimierten Bild-, Graphik- und Text daten, die in Blöcken mit variablen Größen angeordnet sind, in einen Puffer geschrieben werden,
Lesen der komprimierten Bild-, Graphik- und Textdaten von dem Puffer durch einen Decodierer,
Steuern des Decodierers derart, daß die Blöcke mit verschiedenen Größen von dem Puffer gelesen werden, und
Expandieren der gelesenen Bild-, Graphik- und Textdaten entsprechend dem MPEG-Expansionsalgorithmus.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aufgrund
der Beschreibung von Ausführungsbeispielen anhand der Figuren. Von den
Figuren zeigen:
Fig. 1 ein Blockdiagramm eines der Anmelderin bekannten MPEG-Codier-
und -Decodiersystems;
Fig. 2 ein Blockdiagramm eines MPEG-Codier- und -Decodiersystems;
Fig. 3 ein Diagramm, das die Verwirklichung in einem Personalcomputer dar
stellt;
Fig. 4 ein Blockdiagramm des in Fig. 3 gezeigten MPEG-Codierers;
Fig. 5 ein Blockdiagramm des in Fig. 3 gezeigten MPEG-Decodierers und
Fig. 6 ein schematisches Diagramm, das die Verwirklichung in einem System
Video auf Abruf zeigt.
Obwohl die Erfindung allgemein in dem Feld der Datencodierung- und -deco
dierung anwendbar ist, basiert die beste Art zum Ausführen der Erfindung teil
weise auf der Realisierung eines Datenkompressions- und -dekompressions-
Systems, das mit den MPEG-Standard übereinstimmt.
Es wird nun auf Fig. 2 der Figuren Bezug genommen, die ein MPEG-Codier-
und -Decodiersystem 30 zeigt, das Multimediadaten, die jeweils durch Bild-,
Graphik- und Textquellen 32, 34 und 36 geliefert sind, bearbeitet. Ein MPEG-
Codierer 38 komprimiert die gelieferten Multimediadaten entsprechend dem
gut bekannten MPEG-Kompressionsalgorithmus. Die komprimierten
Multimediadaten können in einen Datenspeicher 40 geladen werden oder durch
einen Kommunikationskanal zu einem entfernten Benutzer geliefert werden.
Ein MPEG-Decodierer 42 expandiert die komprimierten Videodaten
entsprechend dem gut bekannten MPEG-Expansionsalgorithmus und liefert
diese an einen Multimediamonitor 44, der die dekomprimierten Bild-,
Graphik- und Textdaten anzeigt. Das MPEG-Codier- und -Decodiersystem
kann zum Bearbeiten von Multimediadaten in einem Personalcomputer, zum
Liefern von Multimediadaten von einem zentralen Ort an entfernte Benutzer
oder für andere Anwendungen, die einen wesentlichen Anteil von zu
bearbeitenden Multimediadaten benötigen, benutzt werden.
Wie in Fig. 3 gezeigt ist, kann das MPEG-Codier- und Decodiersystem 50 in
einem Personalcomputer drei Dateneingabequellen aufweisen: ein Bildquelle
52, eine graphische Quelle 54 und eine Textquelle 56. Die Bildquelle 52 kann
beispielsweise eine Videokamera und einen Analog- Digital-Wandler, der ein
durch die Videokamera erzeugtes Bild digitalisiert, enthalten. Die graphische
Quelle 54 und die Textquelle 56 können durch Kommunikationsverbindungen,
die graphische Daten und Textdaten übertragen, dargestellt werden. Alternativ
können die graphischen Daten und Textdaten durch Graphik- und
Textgeneratoren erzeugt werden.
Eine zentrale Verarbeitungseinheit (CPU) 58 des Personalcomputers liefert
einem Eingangsmultiplexer 16 eine Anweisung, die einen einzugebenden
Datentyp festlegt. Der Typ der Datenanweisung, die zum Eingeben von Bild-,
Graphik- oder Textdaten erzeugt ist, wird durch ein durch den Personalcom
puter betriebenes Anwendungsprogramm festgelegt. Eine der Eingabedaten
quellen 52, 54 oder 56 kann zu einer Zeit ausgewählt werden. Die Bild-, Gra
phik- und Textdaten werden als Pixelstrom geliefert. Ein Pixel der ausgewähl
ten Daten zu einer Zeit wird an dem Ausgang des Multiplexers 60 bereitge
stellt. Ein Bilderfassungseinheit bzw. Bildfangschaltung 62 erfaßt die
ausgewählten Daten und lädt diese in den Bildpuffer 64, der eine
Speicherkapazität aufweist, die ausreicht ein Bild (Halb- bzw. Vollbild) zu
speichern. Bei dem NTSC-System enthält beispielsweise ein Bild von
vorverarbeiteten MPEG-1 Bildern 352 × 240 Pixel. Jedes Bild wird von bis zu
3 Bytes dargestellt. Somit sollte bei dem NTSC-System der Bildpuffer 64 in
der Lage sein, maximal 352 × 240 × 3 = 253.240 Bytes zu speichern.
Als Reaktion auf eine Codieranweisung, die von der CPU 58 über einen
Systembus 66 geliefert wird, liest ein MPEG-Codierer 68 ein Datenbild von
dem Bildpuffer 64 derart, daß die erfaßten Multimediadaten komprimiert
werden. Ein PCI-Bus kann beispielsweise als der Systembus 66 benutzt
werden. Der MPEG-Codierer 68, der später detaillierter beschrieben wird,
komprimiert den ursprünglichen Pixelstrom mit einem Kompressionsverhältnis
von ungefähr 20 bis 50. Entsprechend mit der MPEG-Spezifikation ist ein Bild
durch ein I-Bild, das einem kompletten anzuzeigenden Bild entspricht,
dargestellt. Die kompletten Bilddaten werden jedoch für einige Anwendungen
nicht benötigt. Zum Beispiel wenn nur ein Abschnitt eines Bildes dargestellt
werden soll. Folglich wird der Codierer 68 durch die CPU 58 derart gesteuert,
daß ein Datenblock variabler Größe, der einen Teil des kompletten Bildes
darstellt, ausgegeben wird. Die Größe des Datenblockes wird durch die CPU 58
eingestellt und kann von einem Makroblock bis zu einem kompletten Bild (22
× 16 Makroblöcke für MPEG-1) variieren. Die komprimierten Bild-, Graphik-
und Textdaten werden in einen Strukturpuffer 70, der separate Abschnitte zum
Speichern von unterschiedlichen Datentypen aufweisen kann, plaziert. Da das
System die Komprimierung von Graphik- und Textdaten zusammen mit der
Komprimierung von Bilddaten bereitstellt, kann die Speicherkapazität des
Strukturpuffers 70 im Vergleich mit einem herkömmlichen Personalcomputer
wesentlich reduziert werden. Wenn eine Anforderung für die gespeicherten
Multimediadaten empfangen wird, z. B. zum Anzeigen der Daten auf einem
Monitor 72, gibt die CPU 58 eine Decodieranweisung aus, die über den
Systembus 66 an den MPEG-Decodierer 74 geliefert wird. In ihrer Anweisung
zeigt die CPU 58 den angeforderten Datentyp und die Größe des zu dekodie
renden Datenblockes an. Der MPEG-Decodierer 74 liest den ausgewählten
Datentyp von dem Strukturpuffer 70 in Blöcken der ausgewählten Größe aus
und stellt eine Datenexpansion entsprechend dem MPEG-Algorithmus bereit.
Der Aufbau und der Betrieb des Decodierers 74 werden später detaillierter be
schrieben.
Der decodierte Datenblock von dem MPEG-Decodierer 74 wird an einem
Graphikprozessor 76, der die anzuzeigenden Multimediadaten bearbeitet,
geliefert. Wenn der Graphikprozessor 76 eine direkte Schnittstelle mit dem
MPEG-Decodierer 74 aufweist, können die decodierten Daten direkt an den
Graphikprozessor 76 geliefert werden. Alternativ kann der MPEG-Decodierer
74 die decodierten Daten über dem Systembus 66 zu dem Graphikprozessor 76
liefern. Ein Multiplexer 78 ist an dem Eingang des Graphikprozessors 76 derart
bereitgestellt, daß eine direkte Eingabe von dem MPEG-Decodierer 74 und
eine Eingabe von dem Systembus 76 ermöglicht wird.
Weiterhin weist der Graphikprozessor 76 einen Eingabe-/Ausgabeanschluß 80
für nicht komprimierte Daten zum Empfangen von nicht komprimierten
Graphik- und Textdaten von dem Systembus 66 und zum Liefern von nicht
komprimierten Graphik- und Textdaten zu dem Systembus 66 auf. Beispiels
weise kann der Graphikprozessor 76 nicht komprimierte Graphik- und Text
daten von internen Quellen in dem Personalcomputer, wie z. B. Graphik- und
Textgeneratoren, empfangen. Die empfangenen nicht-komprimierten Daten
können in den Strukturpuffer bzw. Puffer 70 geladen werden und durch den
Graphikprozessor 76 zum Bilden eines Bildes auf dem Monitor 72 benutzt
werden.
Der Graphikprozessor 76 ist ein Graphikcontroller, der einen weiten Bereich
von Graphikfunktionen derart bereitstellt, daß ein gewünschtes Bild auf dem
Monitor 72 basierend auf den decodierten Multimediadaten, die von dem
MPEG-Decodierer 74 geliefert sind, und den in dem Strukturpuffer 74 ge
speicherten Daten gebildet wird. Zum Beispiel kann der Graphikprozessor 76
graphische Daten, Text- und Bilddaten derart mischen, daß ein kombiniertes
Bild auf dem Bildschirm auf dem Monitor 72 erzeugt wird, oder er kann ein
angezeigtes Bild mit überlagertem Text oder Graphik bilden. Ein durch die
IBM-Corporation hergestellter 8514/8 Graphikprozessor ist ein Beispiel des
Graphikprozessors 76. Das durch den Graphikprozessor 76 gebildete Bild wird
auf dem Monitor 72 angezeigt.
Der MPEG-Decodierer 74 gibt decodierte Daten, die in Blöcken von ausge
wählter variabler Größe angeordnet sind, aus. Wie oben beschrieben wurde,
wird die Größe des Datenblocks durch die CPU 58 eingestellt und kann von
einem Makroblock bis zu einem Bild variieren. Daher wird kein
Zwischenpuffern zwischen dem MPEG-Decodierer 74 und dem
Graphikprozessor 76, um die auf dem Monitor 72 anzuzeigenden Daten zu
speichern, benötigt. Als Ergebnis kann die Datenlieferungsrate des MPEG-
Systems erhöht werden. Im Gegensatz dazu wird in einem der Anmelderin
bekannten MPEG-System ein 4M-Bit dynamischer Direktzugriffsspeicher
(DRAM) zwischen einem Bilddecodierer und einem Graphikcontroller
benötigt, weil der Bilddecodierer ein komplettes MPEG-1 I-Bild, das 22 × 16
Makroblöcke enthält, ausgibt.
Wie in Fig. 4 gezeigt ist, enthält der MPEG-Codierer 68 eine Schnittstelle
102, die dem Codierer 68 ermöglicht, mit anderen Einheiten des MPEG-
Systems 50 zu kommunizieren. Speziell empfängt die Schnittstelle 102 den
original Pixelstrom von dem Bildpuffer 64 und überträgt die komprimierten
Daten zu dem Strukturpuffer 70. Die CPU 58 liefert der Schnittstelle 102 ein
Timingsteuersignal derart, daß die Ereignisse, die während des Betriebes des
Codierers 68 auftreten, zeitlich gesteuert werden. Auch sendet die CPU 58 zu
der Schnittstelle 102 Datentyp- und Datengrößenanweisungen. Die
Datentypanweisung zeigt an, was für ein Datentyp (Bild-, Graphik- oder
Textdaten) durch den empfangenen Originalstrom dargestellt ist. Die
Datengrößenanweisung zeigt die Größe des komprimierten Datenblockes, der
zu dem Strukturpuffer ausgegeben werden soll, an. Wie oben beschrieben
wurde, wird für einige Anwendungen nur ein Abschnitt eines Bildes zum
Anzeigen oder Übertragen benötigt. Obwohl der Codierer 68 ein von dem
Bildpuffer 64 empfangenes komplettes Bild komprimiert, gibt er nur den
benötigten Abschnitt des Bildes aus. Die Größe des Datenblocks, der durch den
Codierer 68 dem Strukturpuffer 70 geliefert wird, kann von einem Makroblock
bis zu 22 × 16 Makroblöcken in Abhängigkeit der speziellen Anwendungen
variieren.
Über die Schnittstelle 102 wird der original Pixelstrom zu einer MPEG-Kom
pressionspipeline, die aus einer Aufbauschaltung 104, einer Schaltung 106 für
diskrete Kosinustransformation (DCT), einem Quantisierer 108, einem Zick
zackdecodierer 110 und einem Codierer 112 für variable Länge gebildet ist,
geliefert. Die durch die Kompressionspipelineseinheiten ausgeführten Opera
tionen sind durch die MPEG-Standards definiert. Speziell eliminiert die Auf
bauschaltung 104 die zeitliche Redundanz des Orignalstromes durch Entfernen
von identischen Pixeln in dem Strom. Die DCT-Schaltung 106 entfernt die
räumliche Redundanz der Daten durch Transformieren der Daten in eine Matrix
von DCT-Koeffizienten, die durch die MPEG-Spezifikation definiert sind. Die
Werte der DCT-Matrix bzw. -Matrize stellen Zwischenbilder, die
Referenzbildern entsprechen, dar. Der Quantisierer 108 teilt die DCT-Werte
durch einen entsprechenden Wert von einer Standard-MPEG-Q-Matrix derart,
daß quantisierte DCT-Werte erzeugt werden. Der Rest des Teilungsprozesses
wird nicht berücksichtigt, um die Größe der Daten zu reduzieren. Der
Zickzackcodierer 110 ordnet die quantisierte Gruppe von DCT-Werten in der
Reihe eines Raumes, der eine Zickzackkurve, die einen langen Lauf darstellt,
füllt, an. Der VLC 112 stellt ein statistisches Codieren von Daten eines langen
Laufes entsprechend mit dem Huffman-Lauflängencodierungsalgorithmus
bereit.
Ein endlicher Steuerungsapparat bzw. Einrichtung zur Steuerung von endlichen
Einheiten (FSM) 114 steuert die Kompressionspipeline derart, daß es verschie
denen Codiereinheiten ermöglicht wird, gleichzeitig zu arbeiten. Der FSM 114
empfängt Anweisungen von der CPU 58 über die Schnittstelle 102 derart, daß
die durch verschiedene Einheiten der Kompressionspipeline ausgeführten
Schritte gestartet werden.
Über die Schnittstelle 102 werden die komprimierten Daten von der Kompri
mierungspipeline zu dem Strukturpuffer 70 geliefert. Ein Pufferadreßgenerator
116 stellt dem Strukturpuffer 70 Adreßinformationen, die zum Speichern der
komprimierten Daten benötigt werdend basierend auf dem Datentyp- und der
Datengrößeninformation von der Schnittstelle 102, zur Verfügung. Zum Bei
spiel kann der Strukturpuffer 70 separate Abschnitte zum Speichern von Bild-,
Graphik- und Textdaten aufweisen. An seinem ersten Ausgang kann der
Pufferadreßgenerator 116 die Adreßdaten zum Speichern der komprimierten
Bilddaten in dem Bildabschnitt des Strukturpuffers 70 anzeigen. Der zweite
Ausgang des Adreßgenerators 116 kann Adreßdaten zum Speichern der
komprimierten Graphikdaten in dem Graphikabschnitt des Strukturpuffers 70
anzeigen. Schließlich kann der dritte Ausgang des Adreßgenerators 116
Adreßdaten zum Speichern der komprimierten Textdaten in dem Textabschnitt
des Strukturpuffers 70 bereitstellen. Ein Multiplexer 118 ist mit den Ausgän
gen des Adreßgenerators 116 derart verbunden, daß dem Strukturpuffer 70
Adreßdaten entsprechend dem Typ der komprimierten Daten an dem Ausgang
des Codierers 68 geliefert werden. Alternativ können die Bild-, Graphik- und
Textdaten in verschiedenen Orten des gleichen Speichergebietes gespeichert
werden. In diesem Fall stellt der Adreßgenerator 116 Adressen von Orten zum
Speichern von Bild-, Graphik- und Textdaten bereit. Wie oben beschrieben
wurde, gibt der MPEG-Codierer 68 einen Block variabler Größe von kompri
mierten Daten entsprechend einem benötigten Abschnitt eines Bildes aus.
Es wird jetzt Bezug zu Fig. 5 genommen, die den MPEG-Decodierer 74, der
die Bild-, Graphik- und Textdaten, die durch den MPEG-Codierer 68 kompri
miert sind, expandiert. Als Reaktion auf eine Decodieranweisung von der CPU
58 werden die komprimierten Daten an eine Schnittstelle 142 geliefert, was
den Decodierer 74 in die Lage versetzt, einen codierten Bitstrom von dem
Strukturpuffer 70 zu empfangen und decodierte Daten zu dem
Graphikprozessor 76 zu übertragen. Die CPU 58 liefert der Schnittstelle 102
ein Timingsteuersignal derart, daß die Decodierereignisse, die während des
Betriebs des Decodierers 74 auftreten, zeitlich gesteuert werden. Auch sendet
die CPU 58 an die Schnittstelle 142 die Datentyp- und
Datengrößenanweisungen, die anzeigen was für ein Datentyp decodiert wird
und die Größe des von dem Strukturpuffer zu lesenden Datenblocks. Die Größe
des durch den Decodierer 74 von dem Strukturpuffer 70 gelesenen
Datenblockes kann von einem Makroblock bis zu 22 × 16 Makroblöcken
variieren.
Die Schnittstelle 142 liefert einem Pufferadreßgenerator 144 die Datentyp-
und Datengrößeninformationen derart, daß Adressen, die zum Lesen von
komprimierten Datenblöcken von dem Strukturpuffer 70 benötigt werden, be
rechnet werden. Zum Beispiel kann der Adreßgenerator 144 an seinem ersten
Ausgang Bilddatenadressen in dem Bildabschnitt des Strukturpuffers 70 anzei
gen. Der zweite Ausgang des Adreßgenerators 144 kann Graphikdatenadressen
in dem Graphikabschnitt des Strukturpuffers 70 anzeigen. An seinem dritten
Ausgang kann der Adreßgenerator 144 Textdatenadressen in dem Textabschnitt
des Strukturpuffers 70 anzeigen. Wenn die Bild-, Graphik- und Textdaten in
dem gleichen Speichergebiet des Strukturpuffers 70 gespeichert sind, stellt der
Adreßgenerator 144 Adressen von Orten, bei denen verschiedene Datentypen
gespeichert sind, bereit. Ein Multiplexer 146 ist mit den Ausgängen des
Adreßgenerators 146 derart verbunden, daß die Adressen entsprechend einem
Datentyp, der decodiert wird, ausgewählt werden.
Die Schnittstelle 142 liest von dem Strukturpuffer einen Datenblock vorge
schriebenen Typs und Größe und sendet ihn an eine Expansionspipeline, die
aus einem Decodierer (VLD) für variable Länge 148, einem
Zickzackdecodierer 150, einem inversen Quantisierer 152, einer Schaltung 154
für inverse diskrete Kosinustransformation (IDCT) und einer
Rekonstruktionsschaltung 156 gebildet ist. Der Betrieb von jeder
Decodiereinheit in der Decodierpipeline ist durch die MPEG-
Expansionsspezifikation definiert. Der VLD 148 decodiert die einkommenden
Daten entsprechend mit dem Huffman-Lauflängendecodierungsalgorithmus.
Der Zickzackdecoder 150 erzeugt die quantisierten DCT-Koeffizienten, die in
dem inversen Quantisierer 152 mit den Q-Matrixtabellenwerten in einem
Verfahren, das invers zu dem Kompressionsprozeß ist, multipliziert sind. In
der IDCT-Schaltung 154 wird die invers Transformierte der diskreten Kosi
nustransformierten hergeleitet und die Ausgabedaten in dem räumlichen Be
reich werden der Rekonstruktionsschaltung 156 derart geliefert, daß die Origi
naldaten rekonstruiert werden. Als Reaktion auf die CPU-Anweisungen steuert
ein endlicher Steuerungsautomat (FSM) bzw. Einrichtung 158 zur Steuerung
von endlichen Einheiten die Decodierungspipeline derart, daß verschiedene
Decodierungseinheiten in die Lage versetzt werden, gleichzeitig zu arbeiten.
Die Expansionspipeline liefert die expandieren bzw. dekomprimierten Daten
dem Graphikbuscontroller 160, der diese zu dem Graphikprozessor 76 sendet.
Wenn der Graphikprozessor 76 mit einer direkten Schnittstelle, die es ihm er
möglicht mit dem MPG-Decodierer 68 zu kommunizieren, bereitgestellt ist,
sendet der Graphikbuscontroller 160 die dekomprimierten Daten zu der
Schnittstelle 142, die diese direkt dem Graphikprozessor 76 über den Multi
plexer 78 liefert. Wenn keine direkte Decodierschnittstelle in dem
Graphikprozessor 76 verfügbar ist, kann der Graphikbuscontroller 160 eine
Schnittstelle mit dem Systembus 66 derart bereitstellen, daß die
dekomprimierten Daten über dem Systembus 66 gesendet werden.
Da der MPEG-Decodierer 74 in der Lage ist, einen Datenblock mit einer
variablen Größe, die durch die CPU 58 festgelegt ist, zu lesen, wird keine
Zwischendatenspeicherung zwischen dem MPEG-Decodierer und dem
Graphikprozessor benötigt.
Es wird jetzt Bezug genommen zu Fig. 6 der Figuren, die schematisch die An
wendung des Multimediacodier- und -decodiersystems bei einer
Dienstleistung Video auf Abruf darstellt. An einem zentralen Ort, z. B. in einer
Kabel-TV-Station, sind Bild-, Graphik- und Textdaten von einer
Multimediadatenquelle 202 durch einen MPEG-Codierer 204 entsprechend den
MPEG-Standards komprimiert. Die komprimierten Daten können in einem
codierten Multimediaspeicher 206 gespeichert sein. Das
Datenkompressionsverfahren kann durch eine CPU 208 gesteuert sein.
Der zentrale Ort ist über TV-Kabel oder Telefonleitungen mit einer Mehrzahl
von peripheren Orten 210 verbunden. Jeder der peripheren Orte 210 ist mit
einem MPEG-Decodierer 212 und mit einem Personalcomputer (PC) 214, der
fähig ist, Multimediainformationen zu präsentieren, ausgerüstet. Wenn ein Be
nutzer von einem der peripheren Orte 208 eine Anforderung für in dem Mul
timediaspeicher 206 gespeicherten Multimediadaten sendet, gibt die CPU 208
den dem Benutzer zugeordneten MPEG-Decodierer 212 derart frei, daß die
angeforderten Daten von dem Speicher 206 gelesen werden. Basierend auf der
Benutzeranforderung stellt die CPU 208 den MPEG-Decoder 212 Datentyp-
und Datengrößeninformationen derart bereit, daß erlaubt, daß verschiedene
Datentypen, die in Blöcken variabler Länge angeordnet sind, gelesen werden.
Alternativ können die Datentyp- und Datengrößeninformationen durch den PC
214 geliefert werden. Der MPEG-Decodierer 212 dekomprimiert die kompri
mierten Bild-, Graphik- und Textdaten und liefert diese dem PC 214 zum An
zeigen. Da das Codier-/Decodiersystem ermöglicht, daß Datenblöcke mit
variabler Größe von dem MPEG-Decodierer ausgegeben werden, wird kein zu
sätzlicher Datenspeicher an dem peripheren Ort zum Zwischenspeichern von
Multimediadaten vor dem Anzeigen benötigt. Weiterhin kann die Datenliefe
rungsrate des Systems Videos auf Abruf wesentlich im Vergleich zu herkömm
lichen Systemen erhöht werden.
Es wurde folglich ein Multimediadatencodier- und -decodiersystem beschrie
ben, daß es ermöglicht, daß verschiedene Datentypen, die in Blöcken mit
variabler Größe angeordnet sind, entsprechend den MPEG-Spezifikationen
komprimiert und dekomprimiert werden. Halb- bzw. Vollbilder von Bild-,
Graphik- und Textdaten werden dem Bildpuffer geliefert. Als Reaktion auf
eine Codieranweisung von der CPU komprimiert der MPEG-Codierer die
Daten von dem Bildpuffer und gibt an den Strukturpuffer einen Datenblock
variabler Größe aus, der dem anzuzeigenden Bildabschnitt entspricht. Die
Größe des Datenblockes wird durch die CPU eingestellt und kann von einem
Makroblock bis zu 22 × 16 Makroblöcken (ein MPEG-1 Bild) variieren. Der
MPEG-Decodierer liest den Datenblock variabler Größe von dem
Strukturpuffer, dekomprimiert und liefert sie dem Graphikprozessor, der
verschiedene Datentypen derart bearbeitet, daß ein anzuzeigendes Bild auf dem
Videomonitor erzeugt wird.
Da das Multimediadatencodier- und decodiersystem in der Lage ist, die Größe
der Datenblöcke zu steuern, wird keine Zwischendatenpufferung zwischen dem
MPEG-Decodierer und dem Graphikprozessor benötigt. Als Ergebnis kann die
Datenlieferungsrate des Systems erhöht werden.
Claims (27)
1. System zum Codieren und Decodieren von Multimediadaten, die Bild-
und zumindest Graphik- oder Textdaten enthalten, mit
einem Codierer (38, 68) zum Komprimieren der Multimediadaten,
einem mit dem Codierer (68) verbundenen zentralen Prozessor (58) zum An ordnen der durch den Codierer (68) komprimierten Multimediadaten in einem Block variabler Größe und
einem Decodierer (42, 74) zum Dekomprimieren der komprimierten Multi mediadaten der variablen Blockgröße.
einem Codierer (38, 68) zum Komprimieren der Multimediadaten,
einem mit dem Codierer (68) verbundenen zentralen Prozessor (58) zum An ordnen der durch den Codierer (68) komprimierten Multimediadaten in einem Block variabler Größe und
einem Decodierer (42, 74) zum Dekomprimieren der komprimierten Multi mediadaten der variablen Blockgröße.
2. System nach Anspruch 1, wobei
der Codierer (38, 68) und der Decodierer (42, 74) Kompression und Dekom
pression entsprechend mit einem Algorithmus der Expertengruppe für bewegte
Bilder (MPEG) bereitstellen.
3. System nach Anspruch 1 oder 2 weiter mit
einem mit dem Codierer (68) verbundenen Strukturpuffer (70) zum Speichern
des Blocks der durch den Codierer (68) komprimierten Multimediadaten.
4. System nach Anspruch 3, wobei
der Codierer (68) einen Adreßgenerator (116), der auf eine Datengrößenan
weisung von dem zentralen Prozessor (58), die die Größe des Blockes anzeigt,
reagiert, zum Erzeugen von Adreßdaten zum Speichern des Blocks in dem
Strukturpuffer (70) aufweist.
5. System nach Anspruch 4, wobei
der Adreßgenerator (116) weiter auf eine Datentypanweisung von dem zentra
len Prozessor (58), die einen Typ der durch den Codierer (68) komprimierten
Multimediadaten anzeigt, reagiert.
6. System nach Anspruch 4 oder 5, wobei
der Adreßgenerator (116) separate Bild-, Graphik- und Textadressenausgänge
zum Anzeigen von Adressen zum Speichern von jeweils Bild-, Graphik- und
Textdaten in dem Strukturpuffer (70) bereitstellt.
7. System nach einem der Ansprüche 3 bis 6, wobei
der Strukturpuffer (70) weiter nicht-komprimierte Daten speichert.
8. System nach einem der Ansprüche 1 bis 7, weiter mit
einem graphischen Prozessor (76) zum Bearbeiten der durch den Decodierer
(74) dekomprimierten Multimediadaten und der in dem Strukturpuffer (70) ge
speicherten nicht-komprimierten Daten derart, daß ein anzuzeigendes Bild ge
bildet wird.
9. System nach Anspruch 8, wobei
der Graphikprozessor (76) mit einem Eingangsmultiplexer (78) zum Empfangen
der Multimediadaten direkt von dem Decodierer (74) und zum Empfangen der
Multimediadaten durch einen Systembus (76) bereitgestellt ist.
10. System nach einem der Ansprüche 3 bis 9, wobei
der Decodierer (74) einen Adreßgenerator (114), der auf eine Datengrößenan
weisung von dem zentralen Prozessor (58), die die Größe des Blockes anzeigt,
reagiert, zum Erzeugen von Adreßdaten zum Lesen des Blocks von dem
Strukturpuffer (70) aufweist.
11. System nach Anspruch 10, wobei
der Adreßgenerator (144) weiter auf eine Datentypanweisung von dem zentra
len Prozessor (58), die einen Datentyp der durch den Decodierer (74) zu lesen
den Multimediadaten anzeigt, reagiert.
12. System nach Anspruch 10 oder 11, wobei
der Adreßgenerator (144) separate Bild-, Graphik- und Textadressenausgänge
zum Anzeigen von Adressen zum Lesen von jeweils Bild-, Graphik- und
Textdaten von dem Strukturpuffer (70) bereitstellt.
13. System nach einem der Ansprüche 1 bis 12, wobei
der Codierer (38) eine Kompressionspipeline, die aus Codiereinheiten (104,
106, 108, 110, 112) zum Durchführen einer Sequenz von Codierschritten, die
durch den MPEG-Kompressionsalgorithmus definiert sind, gebildet ist, auf
weist.
14. System nach Anspruch 13, wobei
der Codierer (38) weiter eine endliche Einrichtung (114), die auf den zentralen
Prozessor (58) reagiert, zum Steuern der Kompressionspipeline derart, daß
verschiedene Codiereinheiten (104, 106, 108, 110, 112) derart freigegeben
werden, daß sie gleichzeitig arbeiten, aufweist.
15. System nach einem der Ansprüche 1 bis 14, wobei
der Decodierer (74) eine Dekomprimierungspipeline, die aus Decodierungsein
heiten (148, 150, 152, 154, 156) zum Ausführen einer Sequenz von Decodier
schritten, die durch den MPEG-Dekompressionsalgorithmus definiert sind,
gebildet ist, aufweist.
16. System nach Anspruch 15, wobei
der Decodierer (74) weiter eine endliche Einrichtung (158), die auf den zentra
len Prozessor (58) reagiert, zum Steuern der Dekomprimierungspipeline derart,
daß verschiedene Decodierungseinheiten (148, 150, 152, 154, 156) derart frei
gegeben werden, daß sie gleichzeitig arbeiten, aufweist.
17. MPEG-System (30, 50) zum Komprimieren von Multimediadaten mit
einem zentralen Prozessor (58) zum Steuern eines Kompressionsverfahrens,
einem Multimediadatenselektor (60), der mit Quellen (52, 54, 56) von Bild-, Graphik- und Textdaten verbunden ist und auf den zentralen Prozessor (58) zum Eingeben der zu komprimierenden Bild-, Graphik- und Textdaten reagiert,
einem Codierer (68), der auf den Selektor (60) zum Komprimieren der Bild-, Graphik- und Textdaten entsprechend dem MPEG-Kompressionsaigorithmus reagiert, und
einem Strukturpuffer (70), der auf den Codierer (68) zum Empfangen von Blöcken der Bild-, Graphik- und Textdaten, die durch den Codierer (68) komprimiert sind, reagiert,
wobei der zentrale Prozessor (58) den Codierer (68) derart steuert, daß die Größen der durch den Codierer (68) gelieferten Blöcke variieren.
einem zentralen Prozessor (58) zum Steuern eines Kompressionsverfahrens,
einem Multimediadatenselektor (60), der mit Quellen (52, 54, 56) von Bild-, Graphik- und Textdaten verbunden ist und auf den zentralen Prozessor (58) zum Eingeben der zu komprimierenden Bild-, Graphik- und Textdaten reagiert,
einem Codierer (68), der auf den Selektor (60) zum Komprimieren der Bild-, Graphik- und Textdaten entsprechend dem MPEG-Kompressionsaigorithmus reagiert, und
einem Strukturpuffer (70), der auf den Codierer (68) zum Empfangen von Blöcken der Bild-, Graphik- und Textdaten, die durch den Codierer (68) komprimiert sind, reagiert,
wobei der zentrale Prozessor (58) den Codierer (68) derart steuert, daß die Größen der durch den Codierer (68) gelieferten Blöcke variieren.
18. System nach Anspruch 17, wobei
der Codierer (68) einen Adreßgenerator (116), der auf eine Datengrößenan
weisung von dem zentralen Prozessor (58), die die Größen der gelieferten
Blöcke anzeigt, reagiert, zum Erzeugen von Adreßdaten zum Speichern der
Blöcke der Bild-, Graphik- und Textdaten in dem Strukturpuffer (70) auf
weist.
19. System nach Anspruch 18, wobei
dem Adreßgenerator (116) weiter eine Datentypanweisung von dem zentralen
Prozessor (58) derart geliefert wird, daß angezeigt wird, ob Bild-, Graphik-
oder Textdaten komprimiert werden.
20. System nach Anspruch 18 oder 19, wobei
der Adreßgenerator (116) separate Adreßausgänge zum Schreiben der Bild-,
Graphik- und Textdaten in den Strukturpuffer (70) bereitstellt.
21. MPEG-System (30, 50) zum Dekomprimieren von Multimediadaten mit
einem zentralen Prozessor (58) zum Steuern eines Dekomprimierungsverfah rens,
einem Strukturpuffer (70) zum Speichern von Blöcken variabler Größe von komprimierten Bild-, Graphik- und Textdaten,
einem Decoder (74), der auf den zentralen Prozessor (58) zum Lesen und Dekomprimieren der Blöcke der Bild-, Graphik- und Textdaten, die in dem Strukturpuffer (70) gespeichert sind, entsprechend dem MPEG-Dekomprimie rungsalgorithmus reagiert und
einen Multimediamonitor (72) zum Anzeigen der durch den Decodierer (74) dekomprimierten Bild-, Graphik- und Textdaten,
wobei der zentrale Prozessor (58) den Decodierer (74) derart steuert, daß Größen der durch den Decodierer (74) gelesenen Blöcke variieren.
einem zentralen Prozessor (58) zum Steuern eines Dekomprimierungsverfah rens,
einem Strukturpuffer (70) zum Speichern von Blöcken variabler Größe von komprimierten Bild-, Graphik- und Textdaten,
einem Decoder (74), der auf den zentralen Prozessor (58) zum Lesen und Dekomprimieren der Blöcke der Bild-, Graphik- und Textdaten, die in dem Strukturpuffer (70) gespeichert sind, entsprechend dem MPEG-Dekomprimie rungsalgorithmus reagiert und
einen Multimediamonitor (72) zum Anzeigen der durch den Decodierer (74) dekomprimierten Bild-, Graphik- und Textdaten,
wobei der zentrale Prozessor (58) den Decodierer (74) derart steuert, daß Größen der durch den Decodierer (74) gelesenen Blöcke variieren.
22. System nach Anspruch 21, wobei
der Decodierer (74) einen Adreßgenerator (144), der auf eine
Datengrößenanweisung von dem zentralen Prozessor (58), die die Größen der
gelesenen Blöcke anzeigt, zum Erzeugen von Adreßdaten zum Lesen der
Blöcke der Bild-, Graphik- und Textdaten von dem Strukturpuffer (70)
reagiert, aufweist.
23. System nach Anspruch 22, wobei
dem Adreßgenerator (144) weiter eine Datentypanweisung von dem zentralen
Prozessor (58) derart geliefert wird, daß angezeigt wird, ob Bild-, Graphik-
und Textdaten dekomprimiert werden.
24. System nach Anspruch 22 oder 23, wobei
der Adreßgenerator (144) separate Adreßausgänge zum Lesen der Bild-,
Graphik- und Textdaten von dem Strukturpuffer (70) bereitstellt.
25. Verfahren des Komprimierens und Dekomprimierens von Multimedia
daten mit den Schritten:
Empfangen von zu komprimierenden Bild-, Graphik- und Textdaten,
Komprimieren der Bild-, Graphik- und Textdaten entsprechend dem MPEG- Komprimierungsalgorithmus,
Anordnen der komprimierten Bild-, Graphik- und Textdaten in Blöcken von variabler Größe,
Schreiben der Blöcke von variabler Größe in einen Puffer (70),
Lesen der Blöcke von variabler Größe von dem Puffer (70) und
Dekomprimieren der gelesenen Bild-, Graphik- und Textdaten entsprechend dem MPEG-Dekomprimierungsalgorithmus.
Empfangen von zu komprimierenden Bild-, Graphik- und Textdaten,
Komprimieren der Bild-, Graphik- und Textdaten entsprechend dem MPEG- Komprimierungsalgorithmus,
Anordnen der komprimierten Bild-, Graphik- und Textdaten in Blöcken von variabler Größe,
Schreiben der Blöcke von variabler Größe in einen Puffer (70),
Lesen der Blöcke von variabler Größe von dem Puffer (70) und
Dekomprimieren der gelesenen Bild-, Graphik- und Textdaten entsprechend dem MPEG-Dekomprimierungsalgorithmus.
26. Verfahren nach Anspruch 25, wobei der Schritt des Schreibens Bilden
von Adressen zum Schreiben der Bild-, Graphik- und Textdaten in den Puffer
(70) basierend auf dem Typ der Daten und den Größen der Blöcke aufweist.
27. Verfahren nach Anspruch 25 oder 26, wobei
der Schritt des Lesens Bilden von Adressen zum Lesen der Bild-, Graphik-
und Textdaten von dem Puffer (70) basierend auf einem Typ der Daten und der
Größen der Blöcke aufweist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/612,512 US5845083A (en) | 1996-03-07 | 1996-03-07 | MPEG encoding and decoding system for multimedia applications |
FR9702952A FR2760580B1 (fr) | 1996-03-07 | 1997-03-07 | Systeme de codage et decodage mpeg pour des applications multimedia |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19709391A1 true DE19709391A1 (de) | 1997-10-30 |
Family
ID=26233389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19709391A Withdrawn DE19709391A1 (de) | 1996-03-07 | 1997-03-07 | MPEG-Codier- und Decodiersystem für Multimediaanwendungen |
Country Status (4)
Country | Link |
---|---|
US (1) | US5845083A (de) |
JP (1) | JP2912593B2 (de) |
DE (1) | DE19709391A1 (de) |
FR (1) | FR2760580B1 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19806913A1 (de) * | 1998-02-19 | 1999-08-26 | Cit Alcatel | Verfahren zum Generieren einer Einsprungstelle in einen Bilddatenstrom und Vorrichtung zur Durchführung des Verfahrens |
WO1999059343A1 (en) * | 1998-05-12 | 1999-11-18 | Hitachi, Ltd. | Method and apparatus for video decoding at reduced cost |
US6122321A (en) * | 1998-05-12 | 2000-09-19 | Hitachi America, Ltd. | Methods and apparatus for reducing the complexity of inverse quantization operations |
US6385248B1 (en) | 1998-05-12 | 2002-05-07 | Hitachi America Ltd. | Methods and apparatus for processing luminance and chrominance image data |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909572A (en) | 1996-12-02 | 1999-06-01 | Compaq Computer Corp. | System and method for conditionally moving an operand from a source register to a destination register |
US6173366B1 (en) * | 1996-12-02 | 2001-01-09 | Compaq Computer Corp. | Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage |
US6009505A (en) * | 1996-12-02 | 1999-12-28 | Compaq Computer Corp. | System and method for routing one operand to arithmetic logic units from fixed register slots and another operand from any register slot |
US6061521A (en) * | 1996-12-02 | 2000-05-09 | Compaq Computer Corp. | Computer having multimedia operations executable as two distinct sets of operations within a single instruction cycle |
US6344272B1 (en) | 1997-03-12 | 2002-02-05 | Wm. Marsh Rice University | Metal nanoshells |
US6852252B2 (en) | 1997-03-12 | 2005-02-08 | William Marsh Rice University | Use of metalnanoshells to impede the photo-oxidation of conjugated polymer |
JP3104643B2 (ja) * | 1997-05-07 | 2000-10-30 | 株式会社セガ・エンタープライゼス | 画像処理装置及び画像処理方法 |
US6868121B2 (en) * | 1997-12-31 | 2005-03-15 | Sony Corporation | Coded data output device and method |
US6699724B1 (en) * | 1998-03-11 | 2004-03-02 | Wm. Marsh Rice University | Metal nanoshells for biosensing applications |
US6430603B2 (en) | 1999-04-28 | 2002-08-06 | World Theatre, Inc. | System for direct placement of commercial advertising, public service announcements and other content on electronic billboard displays |
US6424998B2 (en) | 1999-04-28 | 2002-07-23 | World Theatre, Inc. | System permitting the display of video or still image content on selected displays of an electronic display network according to customer dictates |
FR2795540B1 (fr) * | 1999-06-23 | 2001-08-31 | Innovatron Sa | Procede d'acquisition d'une sequence audio, video ou textuelle aupres d'un site distant depuis un dispositif utilisateur local par teletransmission de donnees numeriques representatives de cette sequence |
US8090619B1 (en) | 1999-08-27 | 2012-01-03 | Ochoa Optics Llc | Method and system for music distribution |
US7647618B1 (en) | 1999-08-27 | 2010-01-12 | Charles Eric Hunter | Video distribution system |
US6952685B1 (en) | 1999-08-27 | 2005-10-04 | Ochoa Optics Llc | Music distribution system and associated antipiracy protection |
US20060212908A1 (en) | 1999-08-27 | 2006-09-21 | Ochoa Optics Llc | Video distribution system |
US6647417B1 (en) | 2000-02-10 | 2003-11-11 | World Theatre, Inc. | Music distribution systems |
US7209900B2 (en) | 1999-08-27 | 2007-04-24 | Charles Eric Hunter | Music distribution systems |
KR20020044573A (ko) * | 1999-11-10 | 2002-06-15 | 밀러 제리 에이 | 오디오/비디오 데이터 및 비-오디오/비디오 데이터를저장하기 위한 디바이스 |
US7151800B1 (en) * | 2000-01-15 | 2006-12-19 | Sony Corporation | Implementation of a DV video decoder with a VLIW processor and a variable length decoding unit |
US9252898B2 (en) | 2000-01-28 | 2016-02-02 | Zarbaña Digital Fund Llc | Music distribution systems |
US7120924B1 (en) | 2000-02-29 | 2006-10-10 | Goldpocket Interactive, Inc. | Method and apparatus for receiving a hyperlinked television broadcast |
US7367042B1 (en) | 2000-02-29 | 2008-04-29 | Goldpocket Interactive, Inc. | Method and apparatus for hyperlinking in a television broadcast |
US7343617B1 (en) | 2000-02-29 | 2008-03-11 | Goldpocket Interactive, Inc. | Method and apparatus for interaction with hyperlinks in a television broadcast |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US7054256B2 (en) | 2000-10-20 | 2006-05-30 | Ochoa Optics Llc | High capacity digital data storage by transmission of radiant energy through arrays of small diameter holes |
US20020116517A1 (en) * | 2001-01-17 | 2002-08-22 | Hudson Michael D. | Virtual program streaming multi-media system |
US8112311B2 (en) | 2001-02-12 | 2012-02-07 | Ochoa Optics Llc | Systems and methods for distribution of entertainment and advertising content |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
US7360149B2 (en) | 2001-04-19 | 2008-04-15 | International Business Machines Corporation | Displaying text of video in browsers on a frame by frame basis |
US6993283B1 (en) | 2001-07-16 | 2006-01-31 | Nasaco Electronics (Hong Kong) Ltd. | Wireless audio transmission system |
US7960005B2 (en) | 2001-09-14 | 2011-06-14 | Ochoa Optics Llc | Broadcast distribution of content for storage on hardware protected optical storage media |
US7233781B2 (en) | 2001-10-10 | 2007-06-19 | Ochoa Optics Llc | System and method for emergency notification content delivery |
DE10163152A1 (de) * | 2001-12-20 | 2003-07-03 | Thomson Brandt Gmbh | MPEG-Video-Aufzeichnungsträger und Wiedergabegerät |
US8284844B2 (en) | 2002-04-01 | 2012-10-09 | Broadcom Corporation | Video decoding system supporting multiple standards |
US7039247B2 (en) * | 2003-01-31 | 2006-05-02 | Sony Corporation | Graphic codec for network transmission |
US9330060B1 (en) | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) * | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
US7136988B2 (en) * | 2003-10-03 | 2006-11-14 | International Business Machines Corporation | Mass data storage library frame spanning for mixed media |
JP4955544B2 (ja) * | 2004-06-03 | 2012-06-20 | ヒルクレスト・ラボラトリーズ・インコーポレイテッド | ズーム可能ユーザインターフェースのためのクライアント/サーバアーキテクチャおよび方法 |
KR100703682B1 (ko) * | 2004-08-27 | 2007-04-05 | 삼성전자주식회사 | 디지털 방송 수신기에서 채널 절환 지연 시간을감소시키는 방법 및 그 방법을 사용하는 디지털 방송 수신기 |
US20070166000A1 (en) * | 2005-03-01 | 2007-07-19 | Ramesh Nallur | System and method for generating trick mode streams |
EP1785933A3 (de) * | 2005-04-29 | 2008-04-09 | Angelo Dalli | Verfahren und Vorrichtung zur Anzeige von Multimedia- und Textinhalten auf elektronischen Schild- oder Tafelanzeigen mittels Eingabe aus elektronischen Kommunikationsnetzen |
US8074248B2 (en) | 2005-07-26 | 2011-12-06 | Activevideo Networks, Inc. | System and method for providing video content associated with a source image to a television in a communication network |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
US8724702B1 (en) | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
US8660380B2 (en) * | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
US20080098447A1 (en) * | 2006-10-19 | 2008-04-24 | Moshe Yannai | Programming of informational channels for digital video broadcasting |
US9826197B2 (en) | 2007-01-12 | 2017-11-21 | Activevideo Networks, Inc. | Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device |
US9355681B2 (en) | 2007-01-12 | 2016-05-31 | Activevideo Networks, Inc. | MPEG objects and systems and methods for using MPEG objects |
US8756482B2 (en) * | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US20080291209A1 (en) * | 2007-05-25 | 2008-11-27 | Nvidia Corporation | Encoding Multi-media Signals |
US9118927B2 (en) * | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
US8873625B2 (en) * | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
US9100716B2 (en) * | 2008-01-07 | 2015-08-04 | Hillcrest Laboratories, Inc. | Augmenting client-server architectures and methods with personal computers to support media applications |
JP4900722B2 (ja) * | 2008-03-12 | 2012-03-21 | 株式会社メガチップス | 画像処理装置 |
US8666181B2 (en) * | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
WO2012051528A2 (en) | 2010-10-14 | 2012-04-19 | Activevideo Networks, Inc. | Streaming digital video between video devices using a cable television system |
US8565540B2 (en) * | 2011-03-08 | 2013-10-22 | Neal Solomon | Digital image and video compression and decompression methods |
EP2695388B1 (de) | 2011-04-07 | 2017-06-07 | ActiveVideo Networks, Inc. | Latenzreduktion in videoverteilungsnetzwerken mit adaptiver bitrate |
US10409445B2 (en) | 2012-01-09 | 2019-09-10 | Activevideo Networks, Inc. | Rendering of an interactive lean-backward user interface on a television |
US9800945B2 (en) | 2012-04-03 | 2017-10-24 | Activevideo Networks, Inc. | Class-based intelligent multiplexing over unmanaged networks |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
US9679530B2 (en) * | 2012-04-30 | 2017-06-13 | Nvidia Corporation | Compressing graphics data rendered on a primary computer for transmission to a remote computer |
US9015744B1 (en) * | 2012-06-25 | 2015-04-21 | IMBD.com, Inc. | Ascertaining events in media |
US9407920B2 (en) * | 2013-01-22 | 2016-08-02 | Vixs Systems, Inc. | Video processor with reduced memory bandwidth and methods for use therewith |
WO2014145921A1 (en) | 2013-03-15 | 2014-09-18 | Activevideo Networks, Inc. | A multiple-mode system and method for providing user selectable video content |
US9294785B2 (en) | 2013-06-06 | 2016-03-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9219922B2 (en) | 2013-06-06 | 2015-12-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9326047B2 (en) | 2013-06-06 | 2016-04-26 | Activevideo Networks, Inc. | Overlay rendering of user interface onto source video |
US9852522B2 (en) * | 2014-03-17 | 2017-12-26 | Sony Interactive Entertainment Inc. | Image decoder, graphics processing system, image decoding method, and graphics processing method |
JP5928914B2 (ja) * | 2014-03-17 | 2016-06-01 | 株式会社ソニー・インタラクティブエンタテインメント | グラフィックス処理装置およびグラフィックス処理方法 |
US9788029B2 (en) | 2014-04-25 | 2017-10-10 | Activevideo Networks, Inc. | Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks |
US10719907B2 (en) * | 2018-02-27 | 2020-07-21 | Canon Medical Systems Corporation | Method of, and apparatus for, data processing |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5208745A (en) * | 1988-07-25 | 1993-05-04 | Electric Power Research Institute | Multimedia interface and method for computer system |
US5321750A (en) * | 1989-02-07 | 1994-06-14 | Market Data Corporation | Restricted information distribution system apparatus and methods |
US5229852A (en) * | 1989-12-05 | 1993-07-20 | Rasterops Corporation | Real time video converter providing special effects |
DE69230481T2 (de) * | 1991-01-22 | 2000-05-18 | Canon K.K., Tokio/Tokyo | Multimedienübertragungsanordnung |
US5371532A (en) * | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
US5432900A (en) * | 1992-06-19 | 1995-07-11 | Intel Corporation | Integrated graphics and video computer display system |
US5331431A (en) * | 1992-08-31 | 1994-07-19 | Motorola, Inc. | Method and apparatus for transmitting and receiving encoded data |
US5379122A (en) * | 1992-10-02 | 1995-01-03 | Xerox Corporation | Decompression of standard ADCT-compressed images |
US5402147A (en) * | 1992-10-30 | 1995-03-28 | International Business Machines Corporation | Integrated single frame buffer memory for storing graphics and video data |
US5404437A (en) * | 1992-11-10 | 1995-04-04 | Sigma Designs, Inc. | Mixing of computer graphics and animation sequences |
CA2154353A1 (en) * | 1993-01-21 | 1994-08-04 | Guy A. Primiano | Apparatus and methods for providing close captioning in a digital program services delivery system |
US5359676A (en) * | 1993-07-19 | 1994-10-25 | Xerox Corporation | Decompression of standard ADCT-compressed document images |
US5321522A (en) * | 1993-07-19 | 1994-06-14 | Xerox Corporation | ADCT compression with minimum compression ratio |
US5418713A (en) * | 1993-08-05 | 1995-05-23 | Allen; Richard | Apparatus and method for an on demand data delivery system for the preview, selection, retrieval and reproduction at a remote location of previously recorded or programmed materials |
US5442747A (en) * | 1993-09-27 | 1995-08-15 | Auravision Corporation | Flexible multiport multiformat burst buffer |
US5425101A (en) * | 1993-12-03 | 1995-06-13 | Scientific-Atlanta, Inc. | System and method for simultaneously authorizing multiple virtual channels |
US5422674A (en) * | 1993-12-22 | 1995-06-06 | Digital Equipment Corporation | Remote display of an image by transmitting compressed video frames representing background and overlay portions thereof |
US5838380A (en) * | 1994-09-30 | 1998-11-17 | Cirrus Logic, Inc. | Memory controller for decoding a compressed/encoded video data frame |
-
1996
- 1996-03-07 US US08/612,512 patent/US5845083A/en not_active Expired - Lifetime
-
1997
- 1997-03-06 JP JP9051650A patent/JP2912593B2/ja not_active Expired - Fee Related
- 1997-03-07 FR FR9702952A patent/FR2760580B1/fr not_active Expired - Fee Related
- 1997-03-07 DE DE19709391A patent/DE19709391A1/de not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19806913A1 (de) * | 1998-02-19 | 1999-08-26 | Cit Alcatel | Verfahren zum Generieren einer Einsprungstelle in einen Bilddatenstrom und Vorrichtung zur Durchführung des Verfahrens |
US6240136B1 (en) | 1998-02-19 | 2001-05-29 | Alcatel | Method of providing an access point into a video data stream and apparatus for carrying out the method |
WO1999059343A1 (en) * | 1998-05-12 | 1999-11-18 | Hitachi, Ltd. | Method and apparatus for video decoding at reduced cost |
US6122321A (en) * | 1998-05-12 | 2000-09-19 | Hitachi America, Ltd. | Methods and apparatus for reducing the complexity of inverse quantization operations |
US6148032A (en) * | 1998-05-12 | 2000-11-14 | Hitachi America, Ltd. | Methods and apparatus for reducing the cost of video decoders |
US6385248B1 (en) | 1998-05-12 | 2002-05-07 | Hitachi America Ltd. | Methods and apparatus for processing luminance and chrominance image data |
Also Published As
Publication number | Publication date |
---|---|
FR2760580B1 (fr) | 2003-08-29 |
FR2760580A1 (fr) | 1998-09-11 |
JPH1056387A (ja) | 1998-02-24 |
JP2912593B2 (ja) | 1999-06-28 |
US5845083A (en) | 1998-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19709391A1 (de) | MPEG-Codier- und Decodiersystem für Multimediaanwendungen | |
DE69519886T2 (de) | Bilddekodierer | |
DE69719069T2 (de) | Bilddatenprozessor für bildspeichersystem mit erneuter komprimierung | |
DE69219786T2 (de) | Gerät zur Dekomprimierung von Video-Daten für unabhängig komprimierte gerade und ungerade Datenfelder | |
DE69838729T2 (de) | Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder | |
DE69817137T2 (de) | Bildverarbeitung für elektronisches Wasserzeichensetzen | |
DE69521102T2 (de) | Syntaxparser für einen Prozessor zur Videodekompression | |
DE69522861T2 (de) | Verfahren und Einrichtung zur Codeumwandlung von codiertem Datenstrom | |
DE69512548T2 (de) | Verfahren und Vorrichtung zur Vermeidung von wiederholenden Zufallsfehlern in Transformationskoeffizienten von Bewegtbildsignalen | |
DE69116869T2 (de) | Digitale bildkodierung mit einer zufallsabtastung der bilder | |
DE19521973C2 (de) | Bilddecodiervorrichtung | |
DE69716465T2 (de) | System zur erhaltung der kontinuität eines datenstromes bei unterbrochenen quellendaten | |
DE69122595T2 (de) | Aufzeichnungs- und Abspielgerät | |
DE69633815T2 (de) | Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales | |
EP0687111A2 (de) | Verfahren zur Codierung/Decodierung eines Datenstroms | |
DE69627920T2 (de) | Speichersteuerungsanordnung und Bilddekodierer damit | |
DE60029828T2 (de) | Verfahren und vorrichtung zur dekodierung von videosignalen mittels eines multiprozessorsystems | |
DE69521255T2 (de) | Verfahren zum betrieb eines interaktiven bildanzeigesystems und bildanzeigesystem zur durchführung des verfahrens | |
DE4408522C2 (de) | Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten | |
DE69736620T2 (de) | Videodecoder mit einem horizontalen Polyphasen-Fir-Filter | |
EP1472888A1 (de) | Kontextsensitive kodierung und dekodierung eines videodatenstroms | |
DE69525424T2 (de) | Verfahren und Vorrichtung zur Dekodierung von kodierten Videosignalen | |
DE69616850T2 (de) | Videodecodersystem | |
DE69425720T2 (de) | Bildverarbeitungsgerät | |
EP0836785B1 (de) | Verfahren zur dekodierung und kodierung eines komprimierten videodatenstroms mit reduziertem speicherbedarf |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |