Wie bereits erwähnt ist ''Non Real Time MPEG Encoding'' von geringer
wirtschaftlicher Bedeutung, da zu zeitaufwendig. Daher soll am Beispiel des
Video Risc Processors (VRP) CL-4000 von C-Cube dargestellt werden, wie ein
Realtime-MPEG-Encoder aufgebaut ist und wie er arbeitet (Abbildung
).
Der VRP bietet die Möglichkeit der Mikrocode-Programmierung, so daß
neben MPEG-1/2 auch JPEG und H.261 unterstützt werden könne. Der Baustein
verarbeitet im Encodermodus digitales Video im
4:2:2-Format.
Im Encoding-Modus wird in Video-Port A je nach der Auflösung des
Quellmaterials entschieden, ob ein Datenstrom unverändert durchgelassen
wird, oder ob eine Anpassung der Auflösung auf das CIF-Format vorgenommen
wird. Der Motion Estimator führt,
unter Kontrolle des Mikroprogramms als
Coprozessor, die Ermittlung des günstigsten Verschiebungsvektors durch. Die
RISC-CPU ist für die Diskrete Kosinustransformation und Quantisierung
zuständig. Im Anschluß daran wird die Huffman-Codierung im Variable
Length Coder (VLC) durchgeführt.
In der umgekehrten Betriebsweise als MPEG-Decoder nimmt der VLC zunächst
die Decodierung des Huffman-Codes vor. Die CPU führt dann die inversen
Schritte wie inverse Quantisierung, inverse DCT und Motion Compensation durch.
Am Ausgang Port B kann optional ein Interpolationsfilter eingeschaltet
werden, das aus CIF- oder QSIF-Material Zeilen mit bis zu 720 Pixeln pro
Zeile generiert. Im DRAM werden neben dem Mikrocode die komprimierten
Ausgangsbilder und die Referenzbilder für die Ermittlung der
Verschiebungsvektoren (also I- oder P-Bilder) gespeichert.
Die Rechenleistung des Motion Estimators beträgt 2 GOPs (zwei Milliarden
Operationen pro Sekunde). Eine qualitativ hochwertige Motion Compensation
erfordert jedoch einen derart hohen Rechenaufwand, daß die zu
komprimierenden Bilder in mehrere waagerechte Streifen aufgeteilt werden
müssen. Dies gilt im Besonderen für MPEG-2. Pro Streifen wird dann ein
Encoder eingesetzt. Diese Streifen müssen sich in vertikaler
Richtung um den Suchbereich überlappen oder die Decoder müssen die
Daten, die der einzelne Decoder nicht selber besitzt, untereinander
austauschen.
Figure: Blockschaltbild des VRP CL-4000 von C-Cube