Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ARRANGEMENT FOR PROCESSING DIGITAL VIDEO SIGNALS IN REAL TIME
Document Type and Number:
WIPO Patent Application WO/2001/080549
Kind Code:
A1
Abstract:
An arrangement for processing digital video signals in real time has at least one field-programmable gate array (1) which can be configured for processing by a program, respectively. The arrangement is preferably provided with a memory consisting of at least one SDRAM (13) into which video data streams to be processed, processed video data streams and video data streams forming intermediate results (6) can be written and from which said video data streams can be read out, in such a way that digital video signals that are delivered to the arrangement are picked up in real time and processed digital video signals are output in real time.

Inventors:
HASENZAHL SIEGHARD (NL)
ERNST ROLF (NL)
RUEFFER PETER (NL)
HENRISS KERSTEN (DE)
Application Number:
PCT/EP2001/004364
Publication Date:
October 25, 2001
Filing Date:
April 17, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KONINKL PHILIPS ELECTRONICS NV (NL)
PHILIPS CORP INTELLECTUAL PTY (DE)
HASENZAHL SIEGHARD (NL)
ERNST ROLF (NL)
RUEFFER PETER (NL)
HENRISS KERSTEN (DE)
International Classes:
H04N5/14; H04N5/46; (IPC1-7): H04N5/14
Domestic Patent References:
WO2000017766A22000-03-30
WO1998047292A11998-10-22
WO2001008017A12001-02-01
Foreign References:
US5497498A1996-03-05
DE19535100A11996-04-25
US6151682A2000-11-21
Attorney, Agent or Firm:
Gössmann, Klemens (Prof Holstlaan 6, AA Eindhoven, NL)
Download PDF:
Claims:
PATENTANSPRÜCHE :
1. Anordnung zur Verarbeitung von digitalen Videosignalen in Echtzeit, gekennzeichnet durch mindestens ein feldprogrammierbares GateArray (1), welches durch ein Programm zur jeweiligen Verarbeitung konfigurierbar ist.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß ein Speicher (13) von mindestens einem SDRAM gebildet ist, in den zur Verarbeitung anstehende, verarbeitete und Zwischenergebnisse bildende VideoDatenströme derart einschreibbar und aus dem Speicher (13) auslesbar sind, daß der Anordnung zugeführte digitale Videosignale in Echtzeit aufgenommen und verarbeitete digitale Videosignale in Echtzeit abgegeben werden.
3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß im Speicher (13) mehrere Speicherbänke gebildet sind, die zeitlich überlappend für Speicherzugriffe aktiviert werden.
4. Anordnung nach Anspruch 13, dadurch gekennzeichnet, daß Daten mehrerer Pixel als Datenblock verarbeitet und unter einer StartAdresse im Speicher (13) abgelegt werden.
5. Anordnung nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, daß in dem Speicher (13) ferner Parameter und/oder Tabellen für die Verarbeitung der digitalen Videosignale speicherbar sind.
6. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das mindestens eine feldprogrammierbare GateArray (1) einen Video Schnittstellenbereich (4), einen Schnittstellenbereich (6) für den Speicher (13), einen Schnittstellenbereich (5) für einen digitalen Signalprozessor (14) und einen Schnittstellenbereich (8) für eine ebenfalls von dem feldprogrammierbaren GateArray (1) gebildete Arithmetikeinheit (7) aufweist.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß eine Prioritätenverwaltung für die Zugriffe der Schnittstellenbereiche auf den Speicher (13) vorgesehen ist.
8. Anordnung nach einem der Ansprüche 6 oder 7, dadurch gekennzeichnet, daß in dem feldprogrammierbaren GateArray (1) ferner ein Bereich als Konfigurations Schnittstelle (2) vorgesehen ist.
9. Anordnung nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß in dem Bereich der VideoSchnittstelle (4) Pufferspeicher (9,10) zum Ausgleich der Takte der zugeführten und der abgegebenen digitalen Videosignale und einem für die Verarbeitung der VideoDatenströme benutzten weiteren Taktes vorgesehen sind.
10. Anordnung nach Anspruch 9, dadurch gekennzeichnet, daß der Speicher (13) mit dem weiteren Takt betrieben wird.
11. Anordnung nach Anspruch 10, dadurch gekennzeichnet, daß der digitale Signalprozessor (14) mit einem dritten Takt betrieben wird und daß der Bereich (5) der Schnittstelle für den digitalen Signalprozessor (14) Pufferspeicher (11) zum Ausgleich von Differenzen zwischen dem weiteren und dem dritten Takt aufweist.
Description:
Anordnung zur Verarbeitung von digitalen Videosignalen in Echtzeit

Die Erfindung betrifft eine Anordnung zur Verarbeitung von digitalen Videosignalen in Echtzeit.

In professionellen Fernsehstudios sowie innerhalb von femsehtechnischen Geräten ist in der Regel eine sogenannte Echtzeit-Verarbeitung erforderlich. Diese kann beispielsweise in der Mischung verschiedener Signale, in einer Filterung oder in einer Beeinflussung der Videosignale bezüglich ihrer Kennlinie (Gradation, Schwarzabhebung, Gesamtamplitude und der einzelnen Komponenten eines Farb-Videosignals untereinander) bestehen. Mit der Einführung von digitalen Videosignalen wurden auch Schaltungen zur Verarbeitung dieser Signale bekannt, die jedoch wegen der relativ hohen Datenrate- beispielsweise beim Standard CCIR 601,270 Mbit/s-spezielle"Hardware"-Schaltungen sind.

Diese weisen den Nachteil auf, daß für jede Anwendung eine spezielle Schaltung entwickelt und hergestellt werden muß, wobei häufig auch nachträgliche Änderungen nicht möglich sind, wie beispielsweise die Änderung des Einstellbereichs eines Stellgliedes oder die Zahl der Stützstellen eines digitalen Filters.

Eine Verbesserung in dieser Hinsicht ist durch die Anwendung von digitalen Signalprozessoren möglich. Eine solche Anwendung ist beispielsweise beschrieben in Maas, Herrmann, Ernst, Rüffer, Hasenzahl, Seitz :"A Processor-Coprocessor Architecture for High End Video Applications"in Proceeding International Conference Acoustics, Speech, and Signal Processing, IEEE pp. 595-598,1997. Durch die beschriebene Hardware und die ebenfalls dort beschriebenen Software-Entwicklungswerkzeuge ist zwar eine weitgehend flexible Fertigung der Geräte möglich, eine nachträgliche Änderung ist jedoch ebenfalls ausgeschlossen.

Aufgabe der vorliegenden Erfindung ist es, eine Anordnung zur Echtzeit- Verarbeitung von digitalen Videosignalen vorzuschlagen, die seitens der Hardware weitgehend neutral ist und durch entsprechende Software konfiguriert und rekonfiguriert werden kann.

Die Lösung dieser Aufgabe erfolgt erfindungsgemäß durch mindestens ein feldprogrammierbares Gate-Array, welches durch ein Programm zur jeweiligen Verarbeitung konfigurierbar ist.

Eine besonders günstige und schnelle Signal-Verarbeitung ermöglicht eine Weiterbildung der erfindungsgemäßen Anordnung dadurch, daß ein Speicher von mindestens einem SDRAM gebildet ist, in den zur Verarbeitung anstehende, verarbeitete und Zwischenergebnisse bildende Video-Datenströme derart einschreibbar und aus dem Speicher auslesbar sind, daß der Anordnung zugeführte digitale Videosignale in Echtzeit aufgenommen und verarbeitete digitale Videosignale in Echtzeit abgegeben werden.

Dabei ist vorzugsweise vorgesehen, daß im Speicher mehrere Speicherbänke gebildet sind, die zeitlich überlappend für Speicherzugriffe aktiviert werden. Außerdem kann diese Weiterbildung derart gestaltet werden, daß Daten mehrerer Pixel als Datenblock verarbeitet und unter einer Start-Adresse im Speicher abgelegt werden. Dadurch wird die zur Verfügung stehende Speicherbandbreite optimal genutzt.

Die erfindungsgemäße Anordnung kann mit jeweils zwei Eingängen und zwei Ausgangen für digitale Videosignale versehen sein. Außerdem kann die erfindungsgemäße Anordnung für Standard-Fernsehen, beispielsweise für digitale Videosignale nach CCIR 601, oder für hochauflösendes Femsehen (HDTV), beispielsweise nach der Norm SMPTE 274M, angewendet werden.

Eine Ausgestaltung der Erfindung besteht darin, daß zwei unabhängige Video- Eingänge mit jeweils 20 Bit parallel und zwei synchrone 20 Bit parallele Video-Ausgänge für hochauflösendes Fernsehen vorgesehen sind, wobei für Standard-Fernsehen nach CCIR 601 lediglich 10 Bit erforderlich sind.

Bei einer anderen vorteilhaften Ausgestaltung ist vorgesehen, daß in dem Speicher ferner Parameter und/oder Tabellen für die Verarbeitung der digitalen Videosignale speicherbar sind. Diese Parameter bzw. Tabellen können beispielsweise nichtlineare Kennlinien darstellen.

Die Verarbeitung von digitalen Videosignalen in Echtzeit bedeutet im Zusammenhang mit der vorliegenden Erfindung nicht, daß die Videosignale unverzögert an den Ausgängen anliegen. So kann es beispielsweise durchaus zu Verzögerungen von einigen Zeilen oder sogar Bildern kommen, wenn die Verarbeitung dies erfordert-beispielsweise wenn zu Zwecken einer Rauschreduktion Signale mehrerer Bilder integriert werden.

Eine weitere vorteilhafte Ausgestaltung der erfindungsgemäßen Anordnung besteht darin, daß das mindestens eine feldprogrammierbare Gate-Array einen Video-

Schnittstellenbereich, einen Schnittstellenbereich für den Speicher, einen Schnittstellenbereich für einen digitalen Signalprozessor und einen Schnittstellenbereich für eine ebenfalls von dem feldprogrammierbaren Gate-Array gebildete Arithmetikeinheit aufweist. Eine solche Konfiguration des feldprogrammierbaren Gate-Array kann durch ein Programm erfolgen, das außerhalb der Anordnung-beispielsweise auf einer Festplatte- abgelegt ist. Dabei dient der digitale Signalprozessor unter anderem dazu, das Laden dieses Programms einzuleiten und zu steuern. Der digitale Signalprozessor kann ferner Verwaltungsaufgaben bei dem Betrieb der erfindungsgemäßen Anordnung übernehmen.

Greifen einzelne Schnittstellenbereiche mehrfach hintereinander auf den Speicher zu, könnte es vorkommen, daß andere Schnittstellenbereiche Speicherzugriffe, die zur Echtzeitverarbeitung notwendig sind, nicht vornehmen können. Um derartige Staus zu verhindern, kann bei der erfindungsgemäßen Anordnung eine Prioritätenverwaltung für die Zugriffe der Schnittstellenbereiche auf den Speicher vorgesehen sein. Dabei kann beispielsweise die Priorität auf einen Speicherzugriff reihum weitergereicht werden.

Zum Laden des Konfigurationsprogramms kann die erfindungsgemäße Anordnung derart ausgestaltet sein, daß in dem feldprogrammierbaren Gate-Array ferner ein Bereich als Konfigurations-Schnittstelle vorgesehen ist. Um eine Echtzeit-Verarbeitung zu ermöglichen, ist innerhalb der erfindungsgemäßen Anordnung ein wesentlich höherer Takt als der Pixeltakt der digitalen Videosignale erforderlich. Um beide Takte nicht miteinander verkoppeln zu müssen, sind in dem Bereich der Video-Schnittstelle Pufferspeicher zum Ausgleich der Takte der zugeführten und der abgegebenen digitalen Videosignale und eines für die Verarbeitung der Video-Datenströme benutzten weiteren Taktes vorgesehen.

Mit den Pufferspeichern, die in vorteilhafter Weise durch FIFOs realisiert werden, ist auch die Bildung von Bursts möglich, das heißt, daß jeweils mehrere Pixeldaten zusammengefaßt und als Datenblock verarbeitet werden, beispielsweise unter einer Start- Adresse im Speicher abgelegt werden. Dazu ist es vorteilhaft, wenn auch der Speicher mit dem weiteren Takt betrieben wird.

Bei der erfindungsgemäßen Anordnung kann ferner vorgesehen sein, daß der digitale Signalprozessor mit einem dritten Takt betrieben wird und daß der Bereich der Schnittstelle für den digitalen Signalprozessor Pufferspeicher zum Ausgleich von Differenzen zwischen dem weiteren und dem dritten Takt aufweist. Damit kann auch der digitale Signalprozessor bezüglich seiner Taktfrequenz optimal betrieben werden.

Ausführungsbeispiele der Erfindung sind in der Zeichnung anhand mehrerer Figuren dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt :

Fig. 1 ein Blockschaltbild einer erfindungsgemäßen Anordnung und Fig. 2 die Schreib-und Lesevorgänge im SDRAM.

In Fig. 1 sind einfache Leitungen dünn und Mehrfachleitungen dick mit entsprechend breiten Pfeilen dargestellt, welche die Datenübertragungsrichtung kennzeichnen.

Im vorliegenden Zusammenhang werden die zugeführten und zu verarbeitenden sowie die verarbeiteten Videosignale als digitale Videosignale bezeichnet.

Die mit Hilfe eines Datenbusses 37 übertragenen Daten, die größtenteils ebenfalls Bildinformationen darstellen, werden im Gegensatz dazu als Videodaten bzw. Video- Datenströme bezeichnet, um hervorzuheben, daß hier kein pixelweise serieller Datenstrom vorliegt.

Fig. 1 zeigt eine erfindungsgemäße Anordnung mit einem feldprogrammierbaren Gate-Array 1, das über eine festinstallierte Konfigurations- Schnittstelle 2 mit Hilfe eines bei 3 zugeführten Programms in Form eines JTAG-Programm- Codes konfiguriert ist. Für die Erfindung ist beispielsweise ein rekonfigurierbares feldprogrammierbares Gate-Array (FPGA) des Typs Xilinx Virtex XCV600 oder XC4085 geeignet. Durch die Konfiguration werden folgende Bereiche gebildet : -Video-Schnittstelle 4, -Video-Schnittstelle für einen digitalen Signalprozessor (DSP interface) 5, -eine Schnittstelle für das SDRAM 6 und -eine Arithmetikeinheit 7 mit zugehöriger Schnittstelle 8.

Von den Schnittstellen 4,5,6 und 8 sind lediglich FIFO-Speicher 9,10,11,12 dargestellt, welche für das Verständnis des zeitlichen Ablaufs der Signalverarbeitung wichtig sind. Weitere Funktionen, insbesondere die Steuerung des Signalverlaufs zwischen den Schnittstellen und den weiteren Komponenten sind in Fig. 1 nicht dargestellt.

Mit dem feldprogrammierbaren Gate-Array 1 sind ein SDRAM 13 und ein digitaler Signalprozessor 14 verbunden. Sowohl das SDRAM 13 als auch der digitale Signalprozessor 14 verfügen über je einen eigenen Taktgenerator 15,16. Optional kann eine arithmetische Erweiterung 17 angeschlossen werden. Diese kann ein Coprozessor oder eine aus einem weiteren feldprogrammierbaren Gate-Array gebildete Verarbeitungseinheit sein.

Der digitale Signalprozessor arbeitet mit einer Speichereinheit 18, die ein SRAM und EPROM enthält. Dabei dient das SRAM als Arbeitsspeicher, wahrend im EPROM Daten zur Initialisierung der Anordnung nach dem Einschalten abgelegt sind, die Basis für eine weitere Konfiguration der Anordnung mit Hilfe der bei 3 zugeführten Daten ist. Weitere Daten können über eine Tor-Schnittstelle 19 und einen Ein/Ausgang 20 geführt werden.

Für die zu verarbeitenden Videosignale sind zwei jeweils 20 Bit breite Eingänge 21,22 vorgesehen mit entsprechenden Takteingängen 23,24. Für die verarbeiteten Videosignale sind ebenfalls zwei jeweils 20 Bit breite Ausgänge 25,26 angeordnet mit einem gemeinsamen Ausgang, denen ein Takteingang 27 zugeordnet ist. Außerdem kann eine externe Synchronisierung der beiden weiteren Eingänge 28 erfolgen.

Zwischen den einzelnen Schnittstellenbereichen dienen Busleitungen 29,30, 31 als Steuerleitungen, insbesondere zur Übertragung der Informationen"request, acknowledge, read/write, read FIFO, write FIFO. Weitere Busleitungen 32,33,34 dienen zur Übertragung von Frame-, Field-, Line-und Burst-Adressen. Schließlich werden innerhalb des Gate-Arrays über eine Leitung 35 in der Video-Schnittstelle abgeleitete Video- Synchronisiersignale an die Schnittstellen 5,6 und 8 verteilt. An sich erfolgt jedoch innerhalb des Gate-Arrays und im SDRAM die Verarbeitung nach dem bei 15 erzeugten Taktsignal fSDRAM, wozu dieses über Leitungen 36 den FIFO-Speichern 9 bis 12 und der SDRAM- Schnittstelle 6 zugeführt wird. Als Eingangstakt wird ferner das Taktsignal fDsP vom Taktgenerator 16 den FIFOs 11 als Eingangstakt zugeführt.

Das Bussystem 37 verbindet die Ausgänge der FIFO-Speicher 9, die Eingänge der FIFO-Speicher 10, Ein-und Ausgänge der FIFO-Speicher 11 und der FIFO-Speicher 12 mit den Daten-Ein/Ausgängen des SDRAMs 13. Es weist bei dem Ausführungsbeispiel eine Breite von 64 Bit auf.

Weitere Busleitungen sind in Fig. 1 entsprechend der durch sie transportierten Daten mit C wie Control, A wie Adressen und D wie Daten gekennzeichnet.

Fig. 2 verdeutlicht die Adressierung sowie den Schreib-und Leseprozeß beim SDRAM 13. Die obere Zeile stellt die Kontrolldaten dar, während die untere Zeile die jeweils gelesenen oder geschriebenen Daten darstellt. Bei den Steuerdaten bedeutet ACT Aktivieren, NOP kein Betrieb bzw. no operation, WR Schreiben und RD Lesen. Nach einer Vorbereitung durch ACT und NOP wird bei WR der Schreibvorgang für einen aus vier Datenworten bestehenden Datenblock Da, Da+1, Da+2 und Da+3 gestartet. Nach dem nächsten Schreibbefehl WR wird der Datenblock aus den Datenworten Db bis Db+3 geschrieben. Die nachfolgenden Steuerdaten bewirken ein Lesen eines Datenblockes Qc bis Qc+3, worauf

wiederum ein Lesebefehl kommt, der das Lesen eines Datenblocks von Qd bis Qd+3 zur Folge hat. Durch die relativ geringe Zahl von Adressierungsvorgängen (die Adresse wird jeweils einheitlich bei einem Schreib-bzw. Lesebefehl für den darauffolgenden Datenblock eingegeben. Das SDRAM 13 (Fig. 1) sehr effektiv betrieben werden.

Die zugeführtcn Videosignale gemäß der Norm CCIR 601 umfassen 10-Bit- Abtastwerte mit einer Frequenz von 27 MHz. Bei dem 64-Bit-SDRAM können mit einer Frequenz fsDRAM=40, 5 MHz neun Speicherzugriffe innerhalb des vorgegebenen Abtastintervalls erfolgen.

Bei 20-Bit-Abtastwerten gemäß SMPTE 274M ist die Abtastfrequenz 74,25 MHz. Arbeitet das SDRAM mit der gleichen Frequenz, dann sind drei Speicherzugriffe pro Abtastwert bzw. Datenwort möglich. Da die Takte des SDRAMs, der digitalen Videosignale und des digitalen Signalprozessors durch die Anwendung von FIFO-Speichem unabhängig voneinander sind, kann durch entsprechende Erhöhung der Taktfrequenz fSDRAM die Anzahl der Zugriffe pro Datenwort der Videosignale erhöht werden. Die Schreib/Lese- Geschwindigkeit und damit auch die gesamte Verarbeitungs-Geschwindigkeit kann durch Anwendung von DDR-SDRAMs (double data rate SDRAMs) erhöht werden, bei denen jeweils an der Vorder-und an der Rückflanke Lese-bzw. Schreibvorgänge erfolgen.