DE69635970T2 - Schaltung und Verfahren zur Umwandlung eines Fernsehsignals - Google Patents

Schaltung und Verfahren zur Umwandlung eines Fernsehsignals Download PDF

Info

Publication number
DE69635970T2
DE69635970T2 DE69635970T DE69635970T DE69635970T2 DE 69635970 T2 DE69635970 T2 DE 69635970T2 DE 69635970 T DE69635970 T DE 69635970T DE 69635970 T DE69635970 T DE 69635970T DE 69635970 T2 DE69635970 T2 DE 69635970T2
Authority
DE
Germany
Prior art keywords
digital
memory
filter
signal
horizontal
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
DE69635970T
Other languages
English (en)
Other versions
DE69635970D1 (de
Inventor
Clarence Joon-Young Mount Laurel Hau
Kevin John Medford Stec
Kenneth E. Maple Shade Vavreck
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69635970D1 publication Critical patent/DE69635970D1/de
Publication of DE69635970T2 publication Critical patent/DE69635970T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0105Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level using a storage device with different write and read speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/0122Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/012Conversion between an interlaced and a progressive signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)
  • Television Signal Processing For Recording (AREA)

Description

  • Es gibt zahlreiche Fernseh- und Video-Digitalsignal-Abtastratenstandards. Eine Abtastrate von 13,5 MHz ist beispielsweise mit dem 4:2:2 Component Digital Standard (CCIR 601) kompatibel. Das Abtasten mit dieser Rate erzeugt 720 aktive Videoabtastwerte pro horizontaler linearisierter Zeile und 483 vertikale Zeilen an einer Standard-Fernsehröhre. Dieses Auflösungsniveau wird auch als Standarddefinitionsfernsehen (SDTV) bezeichnet. SDTV zeigt aktive Videoinformationen mit 483 von 525 Zeilen pro Vollbild im verschachtelten Modus an. Hochauflösendes Fernsehen (HDTV) tastet typischerweise im Abtastwertbereich im Bereich von 72 MHz bis 81 MHz ab. Die Society of Motion Picture and Television Engineers, SMPTE hat ein HDTV-Format von 1920 Abtastwerten (Pixeln) pro horizontaler Zeile und 1035 vertikalen Zeilen angenommen. Zusätzlich zu diesem Format existieren weitere Fernsehformate wie z. B. die D2-MAC-, PAL- und SECAM-Standards in Europa und der Wide Screen Television (WST) Standard.
  • Die horizontale und vertikale Pixelauflösung kann sich am besten als normierte horizontale und vertikale Dimension für das resultierende Bild vorgestellt werden. In diesem Zusammenhang werden die Bilder hinsichtlich eines Pixels mit Standardgröße normiert. Somit wird eine andere Bildauflösung direkt in eine andere Bildgröße umgesetzt.
  • Bei den vielen existierenden Standards ist es erwünscht, von einem Standard in den anderen umsetzen zu können, wie z. B. für die Anzeige eines in einem Standardformat aufgezeichneten Fernseh-/Videosignals in einem Fernsehgerät, das zur Anzeige eines anderen Standardformats ausgelegt ist. Es ist auch erwünscht, irgendeine Bildverzerrung, die durch die Umsetzung verursacht wird, auf einem Minimum zu halten. Da der anfängliche Standard und der endgültige Standard vor der Umsetzung nicht bekannt sein können, ist es auch erwünscht, ein universelleres System zu haben, das Umwandlungen unter allen Formaten handhaben kann.
  • In einigen Fällen wird diese räumliche Umsetzung als Videogrößenänderung bezeichnet. Die Videogrößenänderung ermöglicht beispielsweise, dass ein Bewegungsbildfilm mit voller Größe (35 mm, 24 Vollbilder pro Sekunde) mit einem Seitenverhältnis von mehr als 16 mal 9 an einem NTSC-Fernsehgerät mit einem Seitenverhältnis von 4 mal 3 angezeigt wird, ohne dass die Ausgangsanzeige zur "letter box" werden muss. Im digitalen Bereich erfordert die Videogrößenänderung, dass das Eingangssignal digital erneut abgetastet wird.
  • Die digitale Neuabtastung erzeugt eine andere Darstellung des digitalen Eingangssignals durch Berechnen von Punkten des angezeigten Signals, die nicht notwendigerweise im ursprünglichen Signal existierten. Neue Abtastwerte werden durch ein Interpolationsverfahren in Momenten erzeugt, die vorher keine Abtastwerte hatten. Eine flexible digitale Interpolationsfilterarchitektur ist in der Lage, eine Video-/Fernsehzeile in eine willkürliche Größe zu ändern. Ein Beispiel der Videogrößenänderung ist im US-Patent Nr. 08/317 474, herausgegeben am 4. November 1994, mit dem Titel FILTER SELECTION CIRCUIT FOR DIGITAL RESAMPLING SYSTEM, beschrieben, das durch den Hinweis hierin aufgenommen wird.
  • Ein weiteres Beispiel von Videogrößenänderung findet in Bild-in-Bild-Fernsehanzeigen statt. Das US-Patent Nr. 4 652 908, herausgegeben am 24. März 1987, mit dem Titel FILTERING SYSTEM FOR PROCESSING A REDUCED RESOLUTION VIDEO IMAGE, beschreibt ein System zur Videosignalverarbeitung, um ein Bild mit verringerter Größe für die Anzeige innerhalb eines Fernsehbildschirms mit größerem Bild zu erzeugen. Dieses System beinhaltet eine Verringerung des Signals auf eine bereits bekannte, kleinere Bildgröße.
  • Um die Größenänderung auszuführen, ist es erforderlich, dass sowohl eine hori zontale als auch eine vertikale Neuabtastung stattfinden. Um beispielsweise ein HDTV-Signal von 1920 × 1035 in ein SDTV-Signal von 720 × 483 umzusetzen, ist es erforderlich, dass sowohl eine horizontale als auch eine vertikale Neuabtastoperation stattfinden. Für Echtzeit- oder fast Echtzeit-Anwendungen ist es erwünscht, dass die horizontalen und vertikalen Größenänderungsoperationen im Wesentlichen gleichzeitig stattfinden. Eine Methode auf Blockbasis zum Ausführen dieses Prozesses wurde verwendet, wobei jedes Bild (d. h. Vollbild) in blockförmige Stücke aufgeteilt wird und jedes Stück durch einen separaten Prozessor erneut abgetastet wird. Jeder von diesen mehreren Prozessoren arbeitet parallel an einem einzelnen Block.
  • Dieser Prozess kann insofern ungünstig sein, als er Probleme einführt, die mit Interpolations- und Überlappungsanforderungen in Zusammenhang stehen. Sobald die Verarbeitung für jeden der separaten unterteilten Blöcke vollständig ist, wird das endgültige Bild erzeugt, indem die separat verarbeiteten Blöcke zusammengesetzt werden.
  • Ein weiteres Verfahren zum Ausführen sowohl einer horizontalen als auch vertikalen Neuabtastung besteht darin, ein nicht rekursives (FIR) Filter, das eine abgegriffene Verzögerungsleitung umfasst, für die vertikale Verarbeitung zu verwenden, wobei die gesamte Verzögerung, die von der Verzögerungsleitung vorgesehen wird, in der Größenordnung von mehreren Zeilenintervallen liegt. Dieses Verfahren erfordert jedoch einen sehr großen Aufwand aufgrund der Speicheranforderungen. Wenn eine ausreichende Verarbeitung nicht stattfindet (beispielsweise aufgrund eines unzureichenden Speichers), werden der Bereich und die Qualität der Umsetzung verschlechtert.
  • US 4 908 874 offenbart ein System zum räumlichen Transformieren von Bildern durch eine separate Transformation von jeder Dimension des Bildes durch ein Rasterabtast-Fernsehsystem, das für jede Farbkomponente einen Transponierungsspeicher, der eine Änderung der Abtastrichtung von horizontal zu vertikal vorsieht, ein vertikales Transformationssystem, das in der vertikalen Richtung die vertikal abgetasteten Videoinformationen transformiert, einen zweiten Transponierungsspeicher, der zum Empfangen der vertikal transformierten Videoinformationen und zum Vorsehen einer Änderung der Abtastrichtung von vertikal zurück zu horizontal gekoppelt ist, und ein horizontales Transformationssystem, das zum horizontalen Transformieren des horizontal abgetasteten Videosignals gekoppelt ist, um ein Farbkomponenten-Ausgangssignal zu erzeugen, umfasst. Das Transformationssystem wird durch eine Transformationszusammensetzungseinrichtung und eine Zerlegungseinrichtung, die Eingangsbefehle empfängt, die X- und Y-Vortranslationen, eine X- und Y-Größensteuerung, Z-Achsen-Drehwinkel und X- und Y-Nachtranslationen festlegen, um eine befohlene zusammengesetzte Transformation zu erzeugen, die dann in horizontale und vertikale Komponenten zerlegt wird, gesteuert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung umfasst ein System zum Umsetzen eines digitalen Eingangssignals mit einer Auflösung eines vertikalen und horizontalen Bildelements (Pixels) in ein digitales Ausgangssignal mit einer anderen horizontalen und vertikalen Pixelauflösung. Das digitale Eingangssignal wird in einen ersten Speicher eingespeist, der das Eingangssignal speichert. Ein horizontales Neuabtastfilter wird verwendet, um die normierte horizontale Dimension des digitalen Eingangssignals in die normierte horizontale Dimension des gewünschten Ausgangssignals umzusetzen, Das Ausgangssignal des horizontalen Neuabtastmittels wird so transponiert, dass die vertikale Dimension des Ausgangssignals in einer horizontalen Orientierung liegt. Das transponierte Signal wird dann in einem zweiten Speicher gespeichert.
  • Das transponierte Signal mit der erneut abgetasteten horizontalen Dimension im zweiten Speicher wird in ein vertikales Neuabtastfilter eingespeist, das die vertikalen Dimensionsinformationen des transponierten Signals in das gewünschte Format des Ausgangssignals umsetzt. Dieses vertikal erneut abgetastete Signal wird dann so transponiert, dass die horizontalen und vertikalen Dimensionen in derselben Orientierung liegen wie das digitale Eingangssignal. Das neu transponierte Signal wird dann in einem dritten Speicher als digitales Ausgangssignal gespeichert.
  • KURZBESCHREIBUNG DER FIGUREN
  • Die Erfindung wird anhand eines nicht begrenzenden Beispiels mit Bezug auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 ein Blockdiagramm eines Videogrößenänderungssystems mit drei Filtern gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist;
  • 2 ein Blockdiagramm des in 1 gezeigten Videogrößenänderungssystems mit dem Einschluss von FIFO-Speicherpuffern ist;
  • 3 ein Blockdiagramm einer alternativen Ausführungsform des in 2 gezeigten Videogrößenänderungssystems ist, wobei das Dezimierungsfilter auch eine Bandbegrenzungsfähigkeit umfasst und das Bandbegrenzungsfilter und Interpolationsfilter in einem einzelnen Block mit einer Rückkopplungsschleife enthalten sind;
  • 4A, 4B und 4C Ablaufdiagramme sind, die zum Beschreiben der Operation der beispielhaften Ausführungsform eines Videogrößenänderungssystems gemäß der vorliegenden Erfindung, das in 2 gezeigt ist, nützlich sind;
  • 5A, 5B und 5C Ablaufdiagramme sind, die zum Beschreiben der Operation der beispielhaften Ausführungsform der vorliegenden Erfindung, die in 3 gezeigt ist, nützlich sind;
  • 6A, 6B und 6C Frequenzkennlinienkurven für drei verschiedene Dezimie rungsfilter sind, die um Faktoren von 2, 4 bzw. 8 dezimieren;
  • 7A, 7B, 7C, 7D, 7E und 7F Frequenzkennlinienkurven sind, die verschiedenen Skalierungsfaktoren in der Operation der beispielhaften Ausführungsform der vorliegenden Erfindung, die in 3 gezeigt ist, entsprechen; und
  • 8 ein Blockdiagramm eines Eingangsprozessors für ein Videogrößenänderungssystem gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist;
  • 9 ein Blockdiagramm eines Ausgangsprozessors für ein Videogrößenänderungssystem gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist; und
  • 10 ein Ablaufplan ist, der ein Verfahren zum Betreiben einer beispielhaften Ausführungsform der vorliegenden Erfindung zeigt.
  • 11 ein Blockdiagramm einer Parallelverarbeitungsarchitektur gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist;
  • 12 ein Blockdiagramm einer in 1 gezeigten Verarbeitungszelle ist;
  • 13 ein Blockdiagramm einer beispielhaften Ausführungsform einer Verarbeitungszelle, wie in 1 gezeigt, mit einer Verbindung mit einer Schaltmatrix ist;
  • 14 ein Ablaufdiagramm ist, das zum Verstehen des Betriebs der vorliegenden Erfindung nützlich ist;
  • 15 ein Ablaufdiagramm ist, das zum Verstehen der Operation eines Systems mit vier Kanälen gemäß der vorliegenden Erfindung nützlich ist;
  • 16A eine Speicherabbildung für eine Systemkonfiguration mit zwei Kanälen gemäß der vorliegenden Erfindung ist;
  • 16B ein Blockdiagramm einer Parallelverarbeitungsarchitektur gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ist, das die Transponierung von Zeilen- und Spalteninformationen während der Verarbeitung ist;
  • 17A ein Blockdiagramm einer Schaltmatrixverbindung mit zwei Kanälen ist;
  • 17B ein Ablaufdiagramm ist, das zum Beschreiben der in 7A gezeigten Matrix nützlich ist;
  • 18A ein Blockdiagramm einer Schaltmatrixverbindung mit vier Kanälen ist;
  • 18B ein Ablaufdiagramm ist, das zum Beschreiben der in 18A gezeigten Matrix nützlich ist (welches Abtastwerte für einen der vier Kanäle zeigt);
  • 19 ein Ablaufplan ist, der ein Verfahren zum Betreiben einer beispielhaften Ausführungsform der vorliegenden Erfindung zeigt;
  • 20 ein Blockdiagramm einer Parallelverarbeitungsarchitektur ist, die parallele Zeileninformationen als ihre Eingabe empfängt und parallele Zeileninformationen als ihre Ausgabe liefert; und
  • 21 ein Blockdiagramm einer Parallelverarbeitungsarchitektur, die parallele Abtastinformationen annimmt und parallele Zeileninformationen ausgibt, gemäß der vorliegenden Erfindung ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • 1 zeigt ein beispielhaftes Videogrößenänderungssystem 10 gemäß der vorliegenden Erfindung. Das System 10 ist ein digitales Filtersystem, das digitale Signalinformationen entsprechend einem Fernseh-/Videosignal als ein Eingangssignal in einem Abtastformat annimmt und digitale Signalinformationen in einem anderen Abtastformat als dem Eingangssignalformat ausgibt. Das System 10 ist ein eindimensionales Filtersystem, das, wie nachstehend beschrieben, die Eingangssignale horizontal und vertikal verarbeiten kann. Für die hierin beschriebenen Ausführungsformen werden die Signalinformationen in das Filtersystem in einer horizontalen Orientierung (d. h. nach Zeilen) zur erneuten Abtastung eingelesen.
  • Das System 10 ist nicht für eine spezielle Videogrößenänderungs-Formatumsetzung ausgelegt, sondern ist vielmehr als flexible Interpolationsfilterarchitektur ausgelegt, die in der Lage ist, irgendein Videozeilenformat in eine willkürliche Größe zu ändern. Die Größenänderung wird im digitalen Bereich ohne Umwandlung von digitalen Signalen in analoge Signale zur Verarbeitung ausgeführt.
  • Die Videogrößenänderung gemäß der vorliegenden Erfindung ist in drei Bereiche oder Umsetzungsbereiche unterteilt. Der erste ist eine Abtastratenerhöhung, wobei die digitalen Eingangsabtastwerte in ein digitales Abtastformat mit einer höheren Abtastrate umgesetzt werden. Ein Beispiel geht von einem Fernsehsignal mit Standarddefinition (d. h. 720 Abtastwerte pro Zeile) zu einem hochauflösendem Fernsehsignal (d. h. 1920 Abtastwerte pro Zeile). Der zweite ist eine Abtastratenverringerung, wobei das Verhältnis der Abtastwerte pro Zeile der Eingangssignalinformationen zu den gewünschten Abtastwerten pro Zeile der Ausgangssignalinformationen größer ist als 0,5 und geringer ist als 1,0. Ein Beispiel für eine Abtastratenverringerung ist die Umsetzung von Breitbildschirm-Fernsehen (16 mal 9 Seitenverhältnis mit 960 Abtastwerten pro Zeile) in Standarddefinitions-Fernsehen (4 mal 3 Seitenverhältnis, d. h. 720 Abtastwerte pro Zeile). Schließlich ist der dritte Bereich die Dezimierung, wobei das Verhältnis des Eingangsabtast- zum Ausgangsabtastformat geringer als oder gleich 0,5 ist. Ein Beispiel für die Dezimierung ist die Umsetzung von hochauflösendem Fernsehen (d. h. 1920 Abtastwerte pro Zeile) in Standarddefinitions-Fernsehen (d. h. 720 Abtastwerte pro Zeile).
  • Das System 10 umfasst 3 Filter. Die drei Filter sind ein Dezimierungsfilter 12, ein Bandbegrenzungsfilter 14 und ein Interpolationsfilter 18. Das Dezimierungsfilter 12 und das Bandbegrenzungsfilter 14 können in einem einzelnen integrierten Schaltungschip kombiniert sein, der als Block 16 dargestellt ist. Eine zusätzliche Bandbegrenzung kann vor der Dezimierung geschehen.
  • Im Abtastratenerhöhungsmodus filtern das Dezimierungsfilter 12 und das Bandbegrenzungsfilter 14 die Eingangsdaten nicht, statt dessen arbeiten sie als "Allpass"-Filter. Dies liegt daran, dass das Interpolationsfilter 18 zur Abtastratenerhöhung der Eingangsdaten in ein höheres Abtastformat ohne Bedarf für Bandbegrenzung ausreicht. Das Interpolationsfilter 18 kann dann programmiert werden, um die zusätzlichen Abtastwerte zu erzeugen, die für das Format mit höherer Ausgangsabtastrate erforderlich sind.
  • Im Abtastratenverringerungsmodus filtert das Dezimierungsfilter 12 nicht die Eingangsabtastdaten (d, h. es wirkt als Allpassfilter), da die Bandbreite der höheren Eingangsabtastdaten nicht zu hoch ist für das niedrigere Abtastformat. Wenn ein digitales Signal einfach ohne Bandbegrenzung in der Abtastrate verringert wird, wird das Ergebnis rückgefaltet. Daher ist es erforderlich, das Eingangssignal vor der Abtastratenverringerung einer Bandbegrenzung zu unterziehen. Folglich dient das Bandbegrenzungsfilter 14 zum Verringern der Bandbreite des Eingangssignals vor der Abtastratenverringerung durch das Interpolationsfilter 18.
  • Das Bandbegrenzungsfilter 14 kann ein nicht-rekursives (FIR) Filter sein, das unter einer Gruppe von Filterkoeffizienten auswählen kann, die durch einen Skalierungsfaktor bestimmt sind. Der Skalierungsfaktor ist das Verhältnis der Eingangsabtastrate zur Ausgangsabtastrate. Das Bandbegrenzungsfilter 14 verringert die Bandbreite des Eingangssignals genügend, um zu verhindern, dass eine Rückfaltung im Interpolationsfilter 18 stattfindet.
  • Der dritte Modus erfordert eine Dezimierung im Abtastratenverringerungsprozess. Wenn der Skalierungsfaktor geringer ist als 0,5, kann die Qualität der Umsetzung vom Format der höheren Eingangsabtastrate in das Format der niedrigeren Ausgangsabtastrate unter Verwendung nur des Bandbegrenzungsfilters 14 nachteilig beeinflusst werden, da das Bandbegrenzungsfilter 14 die Bandbreite vor der Interpolation nicht ausreichend verringern kann. Wenn der Skalierungsfaktor geringer ist als 0,5, dezimiert das Dezimierungsfilter 12 in einer beispielhaften Ausführungsform die Eingangsdaten um einen ganzzahligen Betrag. In einer beispielhaften Ausführungsform kann das Dezimierungsfilter 12 beispielsweise eine integrierte Schaltung Harris HSP43168 sein. Dieses spezielle Dezimierungsfilter dezimiert die Eingangsdaten um einen Faktor von 2, 4 oder 8. Weitere Dezimierungen liegen vollständig innerhalb der Beschreibung der Erfindung, was eine andere integrierte Schaltung und/oder zusätzliche Schaltungsanordnung erfordert, wie es für Fachleute verständlich wäre. Zwei Harris HSP43168 Chips können beispielsweise in Reihe verwendet werden, um die Dezimierungsfaktoren zu erhöhen. Mit Rückbezug auf die in 1 gezeigte Ausführungsform kann der Eingangsabtastwert um einen Faktor von 2, 4 oder 8 dezimiert werden, um eine Abtastrate von 1/2, 1/4 oder 1/8 ihrer ursprünglichen Abtastrate vor dem Eintritt in das Bandbegrenzungsfilter 14 zu erreichen, um die Bandbreite weiter zu verringern. Das Harris-Filter ist auch in der Lage zu einfachen FIR-Filteroperationen, um eine Bandbegrenzung für den Abtastratenerhöhungs- und Abtastratenverringerungsmodus bereitzustellen, welches als kombiniertes Dezimierungsfilter und Bandbegrenzungsfilter wirkt.
  • Wenn ein Eingangssignal mit einer Abtastrate von 1920 Abtastwerten pro Zeile hinsichtlich der Größe auf ein SDTV-Abtastformat von 720 Abtastwerten pro Zeile geändert werden würde, würde ein Dezimierungsmodus (Modus 3) für das System 10 verwendet werden. Das Eingangssignal von 1920 Abtastwerten pro Zeile tritt in das Dezimierungsfilter 12 ein, in dem eine Dezimierung von 1/2 (Dezimierungsfaktor von 2) stattfindet. Dies führt dazu, dass jeder zweite Abtastwert herausgeworfen wird, d. h. nur eine Hälfte der Eingangssignalabtastwerte verwendet werden. Zwei ist die größte ganze Zahl, durch die 1920 dividiert werden kann und ein Ergebnis ergibt, das größer als die oder gleich der gewünschten Ausgangsabtastrate von 720 ist. Das dezimierte Signal von 960 Abtastwerten tritt dann in das Bandbegrenzungsfilter 14 ein, in dem die Bandbreite des Signals verringert wird. Das Signal mit verringerter Bandbreite von 960 Abtastwerten tritt dann in das Interpolationsfilter 18 ein, in dem eine Verkleinerungsinterpolation stattfindet, wobei die 960 Abtastwerte in 720 Abtastwerte umgesetzt werden. Die 720 Abtastwerte werden dann aus dem Interpolationsfilter 18 ausgegeben.
  • 2 zeigt ein eindimensionales Videogrößenänderungssystem 20. Das Videogrößenänderungssystem 20 nimmt die drei Filterkomponenten des Systems 10 und fügt einen FIFO-Speicherpuffer 22 zwischen dem Dezimierungsfilter 12 und dem Bandbegrenzungsfilter 14 und einen FIFO-Speicherpuffer 24 zwischen dem Bandbegrenzungsfilter 14 und dem Interpolationsfilter 18 hinzu. Die FIFO-Speicher 22 und 24 sind Zeilenpufferspeicher (First-in/First-out-Speicherschaltungen). Die FIFOs 22 und 24 halten Daten vor dem Eintritt in die nächste Schaltungsphase. Im Dezimierungsmodus unter Verwendung eines Skalierungsfaktors von 2 schreibt das Dezimierungsfilter 12 beispielsweise jeden zweiten Abtastwert in den FIFO 22. Das Bandbegrenzungsfilter 14 liest dann jeden Abtastwert aus dem FIFO 22 (960 Abtastwerte insgesamt), wenn es seine Bandbegrenzungsoperationen durchführt. Ohne den FIFO 22 würde das Bandbegrenzungsfilter 14 jeden zweiten Eingangsabtastwert bearbeiten (unter der Annahme eines Dezimierungsfaktors von 2), was erfordert, dass das Bandbegrenzungsfilter 14 konstant seine Operation startet und stoppt. Der FIFO 22 ermöglicht eine konstante Operation des Bandbegrenzungsfilters 14.
  • Eine Beispieloperation des Systems 20, die als drei Zeilen für jede der vorstehend beschriebenen drei Moden dargestellt ist, ist in 4A, 4B und 4C gezeigt.
  • 4A zeigt das System 20, das im Abtastratenerhöhungsmodus arbeitet, um die Anzahl von Abtastwerten in einer horizontalen Zeile eines Bildes zu erhöhen. Die Operation des Dezimierungsfilters 12, des Bandbegrenzungsfilters 16 und des Interpolationsfilters 18 ist in der Zeitsequenz gegen ein horizontales Synchronisationsimpulssignal H gezeigt. Wenn die erste Zeile von Eingangsdaten in das Dezimierungsfilter 12 des Systems 20 eintritt, wirkt das Dezimierungsfilter 12 als Allpassfilter, während das Bandbegrenzungsfilter 14 und das Interpolationsfilter 18 inaktiv sind, da noch keine Daten diese Filter erreicht haben. Während des zweiten Zeilenintervalls wirken das Dezimierungsfilter 12 und das Bandbegrenzungsfilter 14 beide als Allpassfilter, während das Interpolationsfilter 18 noch inaktiv ist. Während des dritten Zeilenintervalls wirken das Dezimierungsfilter 12 und das Bandbegrenzungsfilter 14 noch als Allpassfilter, während das Interpolationsfilter 18 die Eingangsdaten entsprechend der ersten Zeile von Videoinformationen interpoliert. Während des vierten Zeilenintervalls wirken das Dezimierungsfilter 12 und das Bandbegrenzungsfilter 14 als Allpassfilter und das Interpolationsfilter 18 interpoliert die zweite Zeile von Videoinformationen. Dies setzt sich für jede Zeile von Videoinformationen, die in das System 20 eingegeben wird, fort.
  • In 4B ist der Abtastratenverringerungsmodus der Operation des Systems 20 im Zeitzeilenformat dargestellt. In diesem Beispiel ist die Anzahl von Abtastwerten in einer horizontalen Zeile verringert. Während des ersten Zeilenintervalls des horizontalen Synchronisationssignals H wirkt das Dezimierungsfilter 12 als Allpassfilter, während das Bandbegrenzungsfilter 14 und das Interpolationsfilter 18 inaktiv sind. Während des zweiten Zeilenintervalls wirkt das Dezimierungsfilter 12 als Allpassfilter, während das Bandbegrenzungsfilter 14 die erste Zeile von Informationen einer Bandbegrenzung unterzieht. Das Interpolationsfilter 18 ist während dieses zweiten Zeilenintervalls noch inaktiv. Während des dritten Zeilenintervalls wirkt das Dezimierungsfilter 12 noch als Allpassfilter, während das Bandbegrenzungsfilter 14 die Bandbreite der zweiten Zeile von Daten begrenzt. Daten für die Zeile Eins haben nun das Interpolationsfilter 18 erreicht, in dem eine Interpolation für die Abtastratenverringerung stattfindet. Während des vierten Zeilenintervalls wirkt das Dezimierungsfilter 12 als Allpassfilter, während das Bandbegrenzungsfilter 14 die Bandbreite der dritten Zeile von Eingangsdaten begrenzt. Das Interpolationsfilter 18 interpoliert die zweite Zeile von Eingangsdaten.
  • 4C stellt die Operation des Dezimierungsmodus des Systems 20 in einem Zeitzeilenformat dar. Dieser Modus wird verwendet, wenn die Abtastratenverringerung um einen Faktor von mehr als zwei zu Eins stattfindet. Während des ersten Zyklus dezimiert das Dezimierungsfilter 12 die Informationen der Zeile Eins. Wenn von 1920 Abtastwerten zu einer letztlichen Ausgabe von 720 Abtastwerten gegangen wird, wird ein Skalierungsfaktor von 2 verwendet, um die Anzahl von Eingangsabtastwerten um eine Hälfte zu verringern. Während des ersten horizontalen Zeilenintervalls sind das Bandbegrenzungsfilter 14 und das Interpolationsfilter 18 inaktiv. Im zweiten Zeilenintervall dezimiert das Dezimierungsfilter 12 die zweite Zeile von Informationen. Das Bandbegrenzungsfilter 14 unterzieht die erste Zeile von Informationen während der ersten Hälfte des horizontalen Zeilenintervalls einer Bandbegrenzung und ist während der zweiten Hälfte inaktiv. Das Bandbegrenzungsfilter 14 arbeitet nur während einer Hälfte des horizontalen Zeilenintervalls, da nur eine Hälfte des ursprünglichen Eingangssignals nach der Dezimierung vorhanden ist. Das Interpolationsfilter 18 arbeitet auch nur während einer Hälfte des horizontalen Zeilenintervalls. Im dritten horizontalen Zeilenintervall dezimiert das Dezimierungsfilter 12 die dritte Zeile von Eingangsdaten, während das Bandbegrenzungsfilter 14 die Bandbreite der zweiten Zeile während der Hälfte des horizontalen Zeilenintervalls begrenzt. Das Interpolationsfilter 18 interpoliert die zweite Zeile von Eingangsdaten während einer Hälfte des horizontalen Zeilenintervalls. Ein ähnlicher Satz von Operationen findet während des vierten und der anschließenden horizontalen Zeilenintervalle statt.
  • Es ist auch möglich, das Filter mit unterschiedlichen Taktraten zu betreiben. Das Dezimierungsfilter 12 kann beispielsweise mit einer ersten Taktrate arbeiten, während das Bandbegrenzungsfilter 14 mit einer Hälfte der Taktrate des Dezimierungsfilters 12 arbeitet. In dieser Weise werden Daten in den FIFO 22 mit einer schnelleren Rate geschrieben und aus dem FIFO 22 mit einer langsameren Rate gelesen. Wenn das Dezimierungsfilter 12 die Daten hält, dann scheint der Datenfluss konstant (d. h. keine Inaktivitätsperiode).
  • 3 zeigt ein Videogrößenänderungssystem 30. Das Videogrößenänderungssystem 30 ist eine zusätzliche Ausführungsform der vorliegenden Erfindung, in der das Dezimierungsfilter 12 auch eine Bandbegrenzungsfähigkeit umfasst und das Bandbegrenzungsfilter 14 und das Interpolationsfilter 18 in einem einzelnen Halbleiterchip 26 kombiniert sind. Ein Rückkopplungsweg 28 führt Daten nach der Bandbegrenzungsoperation zu einem Eingang Y zurück, um die Interpolationsoperation auszuführen. Ein zusätzlicher FIFO 32 kann nach der Interpolation in der Interpolationsschaltung 26 arbeiten. Der FIFO 32 würde mit Daten entsprechend der stattfindenden Interpolation geladen werden.
  • Ein Computer 34 ist mit dem System 30 zur Steuerung der im System 30 enthaltenen Filter verbunden gezeigt. Der Computer 34 umfasst einen Mikroprozessor, eine Tastatur, eine Anzeige, eine Speichervorrichtung und eine Eingabe/Ausgabe-Hardware (E/A-Hardware) zur Verbindung mit dem System 30.
  • 5A, 5B und 5C stellen die Operation des Abtastratenerhöhungsmodus, des Abtastrateverringerungsmodus und des Dezimierungsmodus des Systems 30 dar. In 5A wirkt das Dezimierungsfilter 12 als Allpassfilter für alle horizontalen Zeilen des Bildes. Das Bandbegrenzungs-/Interpolationsfilter 26 ist während des ersten horizontalen Zeilenintervalls inaktiv. Während des zweiten und der anschließenden Zeilenintervalle interpoliert das Filter 26 die vorherige Zeile, die durch das Filter 12 gelaufen ist.
  • 5B stellt die Operation des Abtastratenverringerungsmodus des Systems 30 dar. Im Abtastratenverringerungsmodus wirkt das Filter 12 als Bandbegrenzungsfilter während jedes horizontalen Zeilenintervalls. Während des ersten horizontalen Zeilenintervalls ist das Filter 26 inaktiv. Während des zweiten und anschließender Zeilenintervalle interpoliert das Filter 26 die vorherige Eingangszeile, die während des vorherigen Zeilenintervalls einer Bandbegrenzung unterzogen wurde.
  • In 5C ist die Operation des Dezimierungsmodus des Systems 30 dargestellt. Während jedes horizontalen Zeilenintervalls dezimiert das Filter 12 die aktuelle Eingangszeile. Während des ersten Zeilenintervalls ist das Filter 26 inaktiv. Während des zweiten und anschließender Zeilenintervalle führt das Filter 26 eine Bandbegrenzungsoperation des Signals, das im vorherigen Zeilenintervall dezimiert wurde, aus. Während der zweiten Hälfte des Zeilenintervalls führt das Filter 26 seine Interpolationsoperation aus.
  • Das Interpolationsfilter 18 und das Bandbegrenzungs-/Interpolationsfilter 26 können in einer beispielhaften Ausführungsform der vorliegenden Erfindung ein Filter Gennum GF90101 sein. Dieses Filter ist eine integrierte Mehrphasen-FIR- Filterschaltung, die sowohl zur Interpolation als auch zur Abtastwert-FIR-Filterung in der Lage ist. Die Schaltung weist eine Doppel-Eingangsanschluss-Multiplexfähigkeit auf, die zwei gleichzeitige Filteroperationen (d. h. Dezimierungsmodus) ermöglicht. Im Dezimierungsmodus dezimiert das Dezimierungsfilter 12 des Systems 30 die Eingangsdaten, wobei weniger als die Hälfte der Eingangsdaten belassen wird, damit sie zum Bandbegrenzungs-/Interpolationsfilter 26 geleitet werden. Das Filter 26 hat somit genügend Zeit, um seine Bandbegrenzungsoperation und seine Interpolationsoperation gleichzeitig auszuführen.
  • Sowohl das Dezimierungsfilter 12 als auch das Bandbegrenzungs-Interpolationsfilter 26 des Systems 30 enthalten separate Speicherbänke mit auswählbaren Filterkoeffizienten in einer beispielhaften Ausführungsform der vorliegenden Erfindung. Das Dezimierungsfilter 12 weist einen Speicher auf, der aus 32 Stellen mit jeweils 8 Abgriffen besteht. Die Speicherstellen 0-19 enthalten die Abgriffsgewichtungskoeffizienten für die Dezimierungsfilter, während die Stellen 20–31 die Abgriffsgewichtungskoeffizienten für die Bandbegrenzungsfilter enthalten. Unter Verwendung der integrierten Harris-Schaltung in einer beispielhaften Ausführungsform kann das Filter 12 eine Faltungsfilterarchitektur verwenden. Obwohl es aus nur 8 Abgriffen besteht, ist es in der Lage, ein Filter mit 15 Abgriffen zu implementieren. Folglich stellen die Abgriffswerte, die im Speicher gespeichert sind, nur die Hälfte des vollständigen Filters dar (dies begrenzt diese Verwendung der integrierten Harris-Schaltung auf Anwendungen, in denen symmetrische Filter verwendet werden können).
  • Die Filterlänge, die für den Dezimierungsmodus verwendet wird, ist länger als für einfache FIR-Filter. Wenn beispielsweise um einen Faktor von 2 dezimiert wird, wird ein Filter mit 31 Abgriffen verwendet. Dies erfordert 2 separate Speicherstellen für jeden Abgriff. Wenn um einen Faktor von 4 dezimiert wird, wird ein Filter mit 63 Abgriffen verwendet, was 4 separate Speicherstellen für jeden Abgriff erfordert. Wenn um einen Faktor von Acht dezimiert wird, wird ein Filter mit 127 Abgriffen Verwendet und die integrierte Schaltung ist so konfiguriert, dass sie acht Speicherstellen pro Abgriff aufweist. TABELLE 1 Speicherinhalt des Dezimierungsfilters 12 für das System 30
    Stelle(n) Filter
    0, 1 Horizontale 2:1-Dezimierung
    2, 3 Vertikale 2:1-Dezimierung
    4, 5, 6, 7 Horizontale 4:1-Dezimierung
    8, 9, 10, 11 Vertikale 4:1-Dezimierung
    12 bis 19 Horizontale und Vertikale 8:1-Dezimierung
    20 Horizontales Bandbegrenzungsfilter #2
    21 Horizontales Bandbegrenzungsfilter #3
    22 Horizontales Bandbegrenzungsfilter #4
    23 Horizontales Bandbegrenzungsfilter #5
    24 Horizontales Bandbegrenzungsfilter #6
    25 Vertikales Bandbegrenzungsfilter #2
    26 Vertikales Bandbegrenzungsfilter #3
    27 Vertikales Bandbegrenzungsfilter #4
    28 Vertikales Bandbegrenzungsfilter #5
    29 Vertikales Bandbegrenzungsfilter #6
    30 Horizontales Bandbegrenzungsfilter #1
    31 Vertikales Bandbegrenzungsfilter #1
  • Der Speicher für das Bandbegrenzungs-/Interpolationsfilter 26 in einer beispielhaften Ausführungsform unter Verwendung des Gennum GF9101 Chips hat eine Kapazität von 108 Stellen von 12 Abgriffsgewichtungskoeffizienten pro Stelle.
  • Die Speicherstellen 0-95 enthalten Interpolationsfilter, die nicht mit der Software modifiziert werden können. Die Bandbegrenzungsfilter, die im Dezimierungsmodus verwendet werden, werden in den Stellen 96-107 gehalten. Die folgende Tabelle ist eine Auflistung des Speicherinhalts des Bandbegrenzungs-/Interpolationsfilters 26. TABELLE 2 Speicherinhalt des Bandbegrenzungs-/Interpolationsfilters 26 für das System 30
    Stelle(n) Filter
    0 bis 95 Interpolationsfilter
    96 Horizontales Bandbegrenzungsfilter #1
    97 Horizontales Bandbegrenzungsfilter #2
    98 Horizontales Bandbegrenzungsfilter #3
    99 Horizontales Bandbegrenzungsfilter #4
    100 Horizontales Bandbegrenzungsfilter #5
    101 Horizontales Bandbegrenzungsfilter #6
    102 Vertikales Bandbegrenzungsfilter #1
    103 Vertikales Bandbegrenzungsfilter #2
    104 Vertikales Bandbegrenzungsfilter #3
    105 Vertikales Bandbegrenzungsfilter #4
    106 Vertikales Bandbegrenzungsfilter #5
    107 Vertikales Bandbegrenzungsfilter #6
  • In einer beispielhaften Ausführungsform wurden die Betriebsarten des Systems 30 über sechs verschiedene Filtereigenschaften unterteilt. Diese Filtereigenschaften sind in der folgenden Tabelle gezeigt. TABELLE 3 Filterauswahltabelle für das System 30
    Skalierungsfaktor Bandbegrenzungsfilter
    >= 1,0 Horizontales/Vertikales Filter #1
    <= 1,0 und > 11/12 Horizontales/Vertikales Filter #2
    <= 11/12 und > 5/6 Horizontales/Vertikales Filter #3
    <= 5/6 und > 3/4 Horizontales/Vertikales Filter #4
    <= 3/4 und > 2/3 Horizontales/Vertikales Filter #5
    <= 2/3 und > 0,5 Horizontales/Vertikales Filter #6
  • Wenn die Anzahl von aktiven Eingangsabtastwerten beispielsweise 1920 ist (d. h. für verschachteltes HDTV) und die Anzahl von gewünschten aktiven Ausgangsabtastwerten 1280 ist (d. h. für progressives HDTV), wird der Skalierungsfaktor als 1280 ÷ 1920 = 2/3 berechnet. Aus der obigen Tabelle ist zu sehen, dass diese Umsetzung das Horizontale/Vertikale Filter #6 als Bandbegrenzungsfilterabschnitt des Dezimierungsfilters 12 des Systems 30 erfordert.
  • Wenn im Dezimierungsmodus gearbeitet wird, dezimiert das Filter 12 um einen Faktor von 2, wenn der Skalierungsfaktor > 0,25 und <= 0,5 ist. Wenn der Skalierungsfaktor > 0,125 und <= 0,25 ist, dezimiert das Dezimierungsfilter 12 um einen Faktor von 4. Wenn der Skalierungsfaktor schließlich geringer als oder gleich 0,125 ist, dezimiert das Dezimierungsfilter 12 um einen Faktor von 8.
  • Wenn im Dezimierungsmodus gearbeitet wird, arbeitet das Bandbegrenzungs-/Interpolationsfilter 26 in seinem Bandbegrenzungsmodus. Das zu verwendende spezielle Bandbegrenzungsfilter wird so ausgewählt, dass irgendeine Dezimierung berücksichtigt wird, die vor der Bandbegrenzung stattfindet. Wenn vom hochauflösenden Fernsehen zum Standarddefinitionsfernsehen gekommen wird, ist der Skalierungsfaktor beispielsweise 720 ÷ 1920 = 0,375. Da der Skalierungsfaktor < 0,5 ist, arbeitet das System 30 im Dezimierungsmodus. Sobald das Dezimierungsfilter 12 die Eingangsabtastwerte um einen Faktor von 2 dezimiert, werden 960 Abtastwerte zuerst zum FIFO 22 und dann zum Bandbegrenzungsinterpolationsfilter 26 geliefert. Das Filter 26 unterzieht die Signalauflösung von 960 Abtastwerten auf 720 Abtastwerte einer Bandbegrenzung. Der Skalierungsfaktor für das Filter B wird dann zu 720 960 = 0,75. Unter Verwendung der obigen Tabelle führt ein Skalierungsfaktor von 0,75 zur Verwendung des Bandbegrenzungsfilters #5 des Filters 26. Somit ist der Skalierungsfaktor für das Dezimierungsfilter 12 anders als jener des Bandbegrenzungs-/Interpolationsfilters 26.
  • 6A, 6B und 6C zeigen Beispielfilterkennliniengraphen für das Dezimierungsfilter 12, das im System 30 gezeigt ist. In jeder dieser Fig. ist fn gleich einer Nyquist-Frequenz. 6A zeigt die Filterkennlinie während einer 2:1-Dezimierung. 6B zeigt eine Filterkennlinie während einer 4:1-Dezimierung. 6C zeigt eine Filterkennlinie während einer 8:1-Dezimierung.
  • 7A7F sind Beispielfilterkennliniengraphen, die das Bandbegrenzungsfilter 26 darstellen, das im System 30 verwendet wird. 7A7F entsprechen den Filtern 1 bis 6, die in der vorstehend beschriebenen Tabelle 3 aufgelistet sind.
  • Mit Bezug auf 7A führt beispielsweise ein Skalierungsfaktor von mehr als oder gleich 1 zu der in 7A gezeigten Allpass-Frequenzgangkennlinie, wenn das horizontale/vertikale Filter Nr. 1 verwendet wird. Mit Bezug auf 7B ist ebenso eine Filterkennlinie, wenn der Skalierungsfaktor geringer als oder gleich 1,0 und größer als 11/12 ist, unter Verwendung eines horizontalen/vertikalen Filters Nr. 2 gezeigt. Die restlichen 7C7F entsprechen Frequenzkennlinien, wenn die horizontalen/vertikalen Filter Nr. 3-6 jeweils verwendet werden.
  • Wenn ein verschachteltes SDTV-Ausgangssignal behandelt wird, ist die aktive vertikale Größe gleich der Anzahl von aktiven Zeilen im vollen Vollbild. Wenn in ein SDTV-Verschachtelungsformat umgesetzt wird, erzeugt ein Videogrößenänderungssystem wie z. B. das System 30 ein progressives (nicht-verschachteltes) Ausgangssignal. Zusätzliche Ausgangsprozessoren (nicht dargestellt) lassen dann jede zweite Zeile aus, um ein Ausgangssignal im verschachtelten Format zu erzeugen.
  • Im Betrieb sind die in Tabellen 1 und 2 aufgelisteten Filter in einer Computerdatei enthalten, die im Computer 34 (3) gespeichert ist. Diese Datei kann beispielsweise in einer Speichervorrichtung wie z. B. einem Festplattenlaufwerk des Personalcomputers 34 enthalten sein. Andere Speichermittel als ein Festplattenlaufwerk und Prozessormittel als ein Personalcomputer können für diese Zwecke verwendet werden, wie für Fachleute verständlich ist. Die Formatsteuereinheit, die ein Videogrößenänderungssystem wie z. B. das System 30 betreibt, verwendet diese Datei beim Konstruieren der erforderlichen Filterkoeffizienten, um eine gewünschte Formatumsetzung auszuführen. In einer beispielhaften Ausführungsform wird ein separates Computerprogramm, das im Computer 34 gespeichert ist, verwendet, um eine zweite Computerdatei aus den Filterinformationen zu konstruieren, die in der ersten Computerdatei enthalten sind. Die zweite Computerdatei liegt in einer Form vor, die zur Verwendung durch das System 30 geeignet ist.
  • In einer alternativen Ausführungsform kann ein Anwender spezielle Filterkoeffizienten für das Dezimierungsfilter 12 oder das Bandbegrenzungsfilter 26 liefern. Das Liefern von Filterkoeffizienten ermöglicht die Erzeugung von Filterkennlinien mit Frequenzkennlinienkurven, die anders sind als die in 6A6C und 7A-7F gezeigten.
  • TABELLE 4 Eingangsdateiformat
    Figure 00210001
  • Tabelle 4 zeigt die Reihenfolge, in der die in einer beispielhaften Ausführungsform verwendeten Filter in der von einem Anwender gelieferten Eingangsdatei erscheinen. Das beispielhafte Format verwendet einen separaten Satz von Filterkoeffizienten für die Luminanz (Y) und Chrominanz (C). Folglich folgt das C-Filter unmittelbar den Y-Filtern mit dem identischen Format.
  • Das Folgende sind zusätzliche Beispiele der Operation einer beispielhaften Umsetzung unter Verwendung des Systems 30.
  • Das erste Beispiel setzt ein Bild mit 1125 Zeilen im verschachtelten Form in 525 Zeilen im progressiven Format um. Für diese Umsetzung werden die horizontalen Dimensionskomponenten von 1920 Abtastwerten pro Zeile auf 720 Abtastwerte pro Zeile einer Abtastratenverringerung unterzogen, während die vertikalen Dimensionskomponenten von 518 aktiven Abtastwerten pro Spalte auf 484 aktive Abtastwerte pro Spalte einer Abtastratenverringerung unterzogen werden. Der erste Schritt in der Umsetzung bestimmt, welche Filter für die Videogrößenänderung verwendet werden.
  • Für die horizontale Größenänderung wird der Skalierungsfaktor als 720 1920 = 0,375 bestimmt. Folglich arbeitet das Dezimierungsfilter 12 im Dezimierungsmodus (Modus 3) unter Verwendung eines Dezimierungsfaktors von 2. Der Skalierungsfaktor für das Bandbegrenzungs-/Interpolationsfilter 26 ist anders als der Skalierungsfaktor für das Dezimierungsfilter 12. Der Skalierungsfaktor für das Filter 26 ist 720 ÷ 960 = 0,75. Der Unterschied ist ein Ergebnis des Filters 26 mit einer Eingabe von 960, welches die ursprüngliche Eingabe von 1920, dezimiert um einen Faktor von 2, ist. In diesem Modus sind die erforderlichen Filter für die Umsetzung das horizontale 2:1-Dezimierungsfilter für das Dezimierungsfilter 12 und das horizontale/Bandbegrenzungsfilter für das Filter 26. Wenn die Bandbegrenzungskennlinie für das Filter 26 festgelegt wird, sollte das Filter 26 auf weniger als 0,75 der Nyquist-Frequenz eine Bandbegrenzung durchführen.
  • Für die vertikale Dimensionsumsetzung ist der Skalierungsfaktor 484 ÷ 518 = 0,934. Folglich arbeitet das Dezimierungsfilter 12 im Bandbegrenzungsmodus. In diesem Modus ist das verwendete Filter das Allpassfilter für das Dezimierungsfilter 12. Das Bandbegrenzungsfilter des Filters 26 ist in diesem Modus nicht erforderlich.
  • Das zweite Beispiel beinhaltet eine Umsetzung von 1125 Zeilen eines Signals im verschachtelten Format in ein verschachteltes Signalformat mit 525 Zeilen. Für diese Umsetzung werden die horizontalen Dimensionskomponenten von 1920 Abtastwerten pro Zeile auf 720 Abtastwerte pro Zeile einer Abtastratenverringerung unterzogen, während die vertikalen Dimensionskomponenten von 518 Abtastwerten pro Spalte in 484 Abtastwerte pro Spalte einer Abtastratenverringerung unterzogen werden. Die tatsächliche Anzahl von Zeilen pro Halbbild, die als Ausgangssignal erzeugt werden, ist 242. 484 vertikale Zeilen pro Vollbild sind erforderlich, da das System 30 ein progressives (nicht-verschachteltes) Ausgangssignal erzeugt. Wie vorher beschrieben, wird zum Erzeugen eines verschachtelten Ausgangssignals unter Verwendung der vorliegenden Erfindung jede zweite Zeile verworfen.
  • Für dieses zweite Beispiel sind die interessierenden Filter zu denjenigen identisch, die für das vorherige Beispiel beschrieben wurden (1125 verschachtelt zu 525 progressiv).
  • Für die dritte Umsetzung wird ein progressives Format von 525 Abtastwerten pro Zeile in ein verschachteltes Format von 1125 Abtastwerten pro Zeile umgesetzt. Für diese Umsetzung wird die horizontale Dimension von 720 Abtastwerten pro Zeile in 1920 Abtastwerte pro Zeile einer Abtastratenerhöhung unterzogen, während die vertikale Dimension von 484 aktiven Abtastwerten pro Spalte in 518 aktive Abtastwerte pro Spalte einer Abtastratenerhöhung unterzogen wird. Der Skalierungsfaktor für die horizontale Umsetzung ist 1920 ÷ 720 = 2,667. Folglich arbeitet das Dezimierungsfilter 12 im Allpassfiltermodus, während das Bandbe grenzungs-/Interpolationsfilter 26 keine Bandbegrenzungsfunktion ausführt. Für die vertikale Umsetzung ist der Skalierungsfaktor 518 ÷ 484 = 1,07. In diesem Modus arbeitet das Dezimierungsfilter 12 im Allpassfiltermodus, während das Filter 26 keine Bandbegrenzungsoperation ausführt.
  • In einer beispielhaften Ausführungsform weist das System 30 ein digitales Eingangsverarbeitungs-Vorderende und ein digitales Ausgangsverarbeitungs-Hinterende auf, die in 8 bzw. 9 gezeigt sind.
  • Der digitale Eingangsprozessor 40 umfasst einen parallelen Eingangsblock 42 zum Eingeben von Signalen über eine parallele Verbindung. Ein HDN-Quellensignal kann beispielsweise in einer parallelen 8-Bit-Form empfangen werden. Der digitale Eingangsprozessor 40 enthält auch einen seriellen Eingangsabschnitt zum Empfangen eines digitalen seriellen Eingangssignals wie z. B. eines SDN-Videosignals mit 270 Mbps oder eines Videosignals von Breitbildschirm-Standarddefinitions-TV (WSDN) mit 360 Mbps oder eines Videosignals von N mit erweiterter Definition (EDTV). Im parallelen Eingangsblock 42 werden ECL-Signale in den TTL-Pegel für die Verarbeitung umgesetzt. In einer beispielhaften Ausführungsform verwendet der serielle digitale Eingangsblock 44 einen seriellen Gennum-Empfänger GS9005, ein automatisches Abstimmuntersystem (GS9010) und einen Decodierer (GS9000), um serielle Eingangssignale zu empfangen. Der digitalisierte analoge Eingangsblock 46 wird verwendet, um digitalisierte analoge Signale von einem Analog-Digital-Umsetzer zu empfangen. Dies ist erforderlich, wenn ein analoges Eingangssignal verwendet wird. Nachdem die verschiedenen Komponenten des Eingangssignals zur digitalen Eingangsplatine 40 geliefert wurden, werden sie in Matrixblöcken 48 und in einem Gammatabellenblock 49 verarbeitet. Der Matrixblock 48 wird verwendet, um RGB-Quellen in eine Form eines Luminanzsignals (Y) und (R-Y) und (B-Y) Farbdifferenzsignals (d. h. YCrCb) umzusetzen, die verwendet wird, wenn Signale in einer beispielhaften Ausführungsform der vorliegenden Erfindung verarbeitet werden. RGB oder andere Signalformate können auch als Eingangssignal verwendet werden, wie für Fach leute verständlich ist. Die Gammatabelle 49 kann für die nicht-lineare Verarbeitung wie z. B. Ändern der Gammakurve eines Ausgangsvideosignals verwendet werden. Die Gammatabelle 49 kann auch verwendet werden, um den Schwarzpegel des Ausgangsvideo durch Addieren oder Subtrahieren eines festen Versatzes im Luminanzsignal zu ändern.
  • Die Signalverarbeitung fährt am Zeilenmultiplexerblock (Zeilen-MUX-Block) 50 fort, wo die Luminanz- und Chrominanzsignale für die parallele Verarbeitung umformatiert werden. Der Zeilen-MUX 50 teilt die geraden und ungeraden Luminanzsignale in vier Sätze von Zeilen-FIFOs auf, wobei jeder FIFO eine vollständige Luminanzzeile aufweist. Schließlich wird der Ausgangssteuerblock 52 verwendet, um Eingangssignalquellen unter Verwendung eines Referenzsignals auszuwählen, um das Schreiben von aktiven Daten in die FIFOs des Zeilen-MUX-Blocks 50 zu steuern. Die Ausgangssteuerung 52 gibt ein Signal zur Verarbeitung im System 30 über Gennum-Codierer (GS90002) aus.
  • In 9 ist ein Blockdiagramm des digitalen Ausgangsprozessors 60 gezeigt. Der digitale Ausgangsprozessor 60 nimmt umgesetzte Ausgangssignale vom System 30 zur Ausgabe an eine Vorrichtung wie z. B. ein HDN-Gerät oder ein SDTV-Gerät an. Der digitale Ausgangsprozessor 60 verwendet eine entsprechende Anzahl von Verarbeitungsblöcken für die Anzahl von Ausgangszeilen, die vom System 30 ausgegeben werden. In diesem Beispiel sind vier Verarbeitungsblöcke 62, 64, 66 und 68 gezeigt. Die Verarbeitungsblöcke 6268 setzen den seriellen Eingangsdatenstrom in einen parallelen Datenstrom unter Verwendung der Gennum-Decodierer (GS9000) um. Verschiedene Komponentensignale werden aus dem parallelen Videodatensignal extrahiert, bevor es an den ECL-Abschnitt 70 ausgegeben wird. Der ECL-Abschnitt 70 setzt das TTL-Signal, das vom Verarbeitungsblock 6268 ausgegeben wird, in ECL-Signale um. Der ECL-Umsetzerblock 70 erzeugt dann Signale zur Anzeige auf einer geeigneten Anzeigevorrichtung.
  • In 10 ist ein Ablaufplan gezeigt, der ein Betriebsverfahren einer beispielhaften Ausführungsform der vorliegenden Erfindung zeigt.
  • Ein Signal wird am Block 72 angelegt. Nach der Eingabe hängt die Bestimmung dessen, ob die Dezimierung erforderlich ist, von der Differenz zwischen der Abtastwertauflösung des Eingangssignals und jener des letztlichen Ausgangssignals ab. Wenn die Dezimierung erforderlich ist, findet die Dezimierung im Block 76 statt. Wenn nicht, wird eine Bestimmung im Block 78 durchgeführt, ob eine Bandbegrenzung erforderlich ist. Der Bandbegrenzungsschritt hängt von der Bandbreite des Signals vor der Interpolation ab. Wenn eine Bandbegrenzung erforderlich ist, findet die Bandbegrenzung statt, wie im Block 80 angegeben. Der nächste Schritt ist die Interpolation im Block 82. Die Interpolation erzeugt das Ausgangssignal, wie im Block 84 gezeigt. Zusätzliche Schritte können zu diesem allgemeinen Verfahren hinzugefügt werden, wie mit Bezug auf die Operation der Systeme 10, 20 und 30, die vorher beschrieben wurden, angegeben.
  • 11 zeigt ein beispielhaftes Videogrößenänderungssystem 90 gemäß der vorliegenden Erfindung. Das System 90 ist mit einem Eingangsvollbild 92, mit einer ersten Anzahl von horizontalen und vertikalen Abtastwerten gezeigt, die in ein erstes Verarbeitungszellennetz 98 eintreten, das das Eingangsvollbild 92 hinsichtlich der Größe ändert, um ein Ausgangsvollbild 94 mit einer zweiten Anzahl von horizontalen bzw. vertikalen Abtastwerten zu erzeugen. Das Eingangsvollbild 92 ist im Betrieb der vorliegenden Erfindung als digitales Eingangssignal dargestellt und das Ausgangsvollbild 95 ist als digitales Ausgangssignal dargestellt. Das Verarbeitungszellennetz 98 ist in eine Vielzahl von Verarbeitungszellen 961 , 962 ... 96n (einzeln und im Allgemeinen als "Verarbeitungszelle 96" bezeichnet) unterteilt. Das System 90 ist nicht für eine spezielle Videogrößenänderungs-Formatumsetzung ausgelegt, sondern ist vielmehr als flexible (variable) Interpolationsfilterarchitektur ausgelegt, die in der Lage ist, irgendein zweidimensionales Bild in eine andere Größe zu ändern. Die Größenänderung wird im digitalen Bereich ohne Umsetzung von digitalen Signalen in analoge Signale zur Verarbeitung ausgeführt.
  • Jede im Verarbeitungszellennetz 98 enthaltene Verarbeitungszelle 96 verarbeitet eine vorbestimmte Anzahl von horizontalen Zeilen (Reihen) von Informationen vom Eingangsvollbild 92 in Abhängigkeit von der Anzahl n von Verarbeitungszellen 96, die für eine spezielle Videogrößenänderungsumsetzung und/oder Ausführungsform der vorliegenden Erfindung verwendet werden. Die Verarbeitungszelle 961 verarbeitet beispielsweise die Zeilen 1, n+1, 2n+1 und so weiter des Eingangsvollbildes 92. Die Verarbeitungszelle 962 verarbeitet die Zeilen 2, n+2, 2n+2 und so weiter. Die Verarbeitungszelle 96n verarbeitet die Zeilen n, n+n, 2n+n und so weiter. Die Endzuweisung von Zeilen zur Verarbeitung durch eine spezielle Verarbeitungszelle 96 im Verarbeitungszellennetz 98 wird durch die Anzahl von Zellen n in einem speziellen Verarbeitungszellennetz 98 sowie das Eingangs- und Ausgangsvideoformat bestimmt.
  • 12 und 13 zeigen beispielhafte Ausführungsformen einer Verarbeitungszelle 96. In 12 ist eine Verarbeitungszelle 96 mit einem Videosignaleingang gezeigt, der in einen Eingangsvollbild-First-in/First-out- (FIFO) Speicher 100 mit einer als 1X bezeichneten Verarbeitungsrate eintritt. Die in 12 gezeigte Ausführungsform kann in einem System wie z. B. dem in 11 gezeigten verwendet werden, welches nur eine Verarbeitungszelle verwendet. 13 zeigt eine beispielhafte Verarbeitungszelle 96, die parallel mit anderen Verarbeitungszellen verwendet werden kann. In diesem beispielhaften System umfasst die in 11 gezeigte Verarbeitungszelle dann einen FIFO-Speicher 100, ein Neuabtastfilter 21, einen Matrixspeicher 102 und einen FIFO-Speicher 108. Jeder Speicher hält nur einen Abschnitt des Bildes (d. h. jede n-te Zeile oder n-te Spalte). Die Schaltmatrix 100 ist unter allen Verarbeitungszellen gezeigt. Sie leitet Abtastwerte vom Filter 30 zum Speicher 104 oder 106, um die Transponierungsfunktion zu implementieren. Der Deutlichkeit halber wird die Operation der in 12 gezeigten Verarbeitungsschaltungsanordnung beschrieben, gefolgt von einer Beschreibung der Operation der Schaltmatrix 110, die in 13 gezeigt ist, beim Verteilen der Abtastwerte. In einer beispielhaften Ausführungsform sind die FIFO-Speicher sequentielle Speicher und die Speicher 104 und 106 sind adressierbare Speicher. Zusätzliche Kanäle 111 sind gezeigt, die in die Schaltmatrix 110 eintreten, um Abtastwertdaten für die Transponierungsspeicherverarbeitung zu verteilen.
  • Ein Neuabtastfilter 21 wie z. B. die Größenänderungssysteme 10, 20 und 30 (vorher mit Bezug auf 1, 2 und 3 beschrieben) ist dazu ausgelegt, die horizontalen Zeilen- und vertikalen Spaltensegmente eines Eingangssignals in ein gewünschtes Ausgangssignalformat umzusetzen. Bei der Umsetzung von einem HDTV-Format von 1920 × 1035 in ein SDTV-Format von 720 × 483 wird beispielsweise eine Umsetzung von 1920 in 720 in der horizontalen Dimension und 1035 in 483 in der vertikalen Dimension durch das Neuabtastfilter 21 ausgeführt. In einer beispielhaften Ausführungsform wird das Größenänderungssystem 20 (vorstehend beschrieben) als Neuabtastfilter 21 verwendet. Das Neuabtastfilter 21 20 bearbeitet ein Eingangssignal in einer horizontalen Orientierung, d. h. es verarbeitet eine horizontale Zeile der Eingangsinformationen, um eine neu abgetastete horizontale Zeile auszugeben.
  • Die aus dem FIFO 100 gelesenen Informationen treten in den Vollbildverarbeitungszyklus des Neuabtasifilters 21 oder mit einer Verarbeitungsrate ein, die zweimal die Verarbeitungsrate ist, bei der die Signalinformationen in den FIFO 60 eingetreten sind. Das Neuabtastfilter 21 führt die horizontale Zeilenformatumsetzung während eines ersten Zeitraums des Vollbildverarbeitungszyklus aus. Die horizontale Zeilenformatumsetzung setzt die horizontale Dimension des digitalen Eingangssignals in die vorbestimmte horizontale Dimension des Ausgangssignals um. Die horizontale Dimension ist tatsächlich eine Anzahl von normierten horizontalen Abtastwerten pro Einheitslänge. Ebenso ist die vertikale Dimension der Eingangs- und Ausgangssignale die Anzahl von normierten vertikalen Abtastwerten pro Einheitslänge.
  • Das erneut abgetastete Signal vom Neuabtastfiltersystem 21 wird in der Transponierungsform in den Speicher 104 geschrieben. Der Speicher 104 ist als einer von zwei Speichern gezeigt, die den Speicherblock 102 bilden. Der zweite Speicher ist der Speicher 106. Das erneut abgetastete Signal wird in den Speicher 104 (in der Transponierungsform) während der ersten Hälfte des Verarbeitungszyklus (d. h. des ersten halben Vollbildintervalls) geschrieben. Während der zweiten Hälfte des Verarbeitungszyklus werden die Informationen, die im Speicher 104 gespeichert sind, im Spaltenformat gelesen und dann in das Neuabtastfilter 21 zurückgeführt. Das Zurückführen der erneut abgetasteten horizontalen Signalinformationen in das Neuabtastfilter 21 ermöglicht, dass das Neuabtastfilter 20 eine Neuabtastung der Abtastwerte der vertikalen Dimension ausführt, wodurch die Neuabtastung des ursprünglichen Eingangssignals vollendet wird, das in die spezielle Verarbeitungszelle 96 eingetreten ist. Die vertikale Neuabtastung entspricht der erforderlichen Umsetzung, um die vorbestimmte vertikale Ausgangsdimension für das Ausgangssignal zu erhalten. Die Informationen von der zweiten (vertikalen) Neuabtastung werden dann in den Speicher 106 in der Transponierungsform während der zweiten Hälfte des Verarbeitungszyklus geschrieben.
  • Während der ersten Hälfte des Verarbeitungszyklus werden Informationen, die im Speicher 106 gespeichert sind, auch vom Ausgangsvollbild-FIFO 108 gelesen. Das letzte Ausgangssignal wird vom Ausgangsvollbild-FIFO 108 gelesen. Aufgrund der sequentiellen Art der für diese beispielhafte Ausführungsform beschriebenen Verarbeitung wird, wenn ein Vollbild von Videoinformationen während eines Verarbeitungszyklus verarbeitet wird, ein neues Vollbild in den Vollbild-FIFO 100 geladen.
  • Um die separate horizontale und vertikale Verarbeitung in Echtzeit auszuführen, kann es in Abhängigkeit von dem Faktor, um den die Abtastwerte verringert oder erhöht werden, erwünscht sein, die Taktrate der Verarbeitung des Eingangssignals zu verdoppeln. In dieser Weise dauert die horizontale Verarbeitung ungefähr eine Hälfte des Verarbeitungszyklus, während die vertikale Verarbeitung ungefähr die zweite Hälfte des Verarbeitungszyklus dauert. Das Speichern des digitalen Eingangssignals im Eingangsvollbild-FIFO 100 wirkt als Puffer und ermöglicht, dass die Informationen mit einer schnelleren Taktrate gelesen werden. Dies ist in den Fig. als 1X-Signal, das in den Vollbild-FIFO 100 eintritt, und als 2X-Signal, das den Vollbild-FIFO 100 verlässt, dargestellt.
  • Die vorstehend für eine einzelne Zelle 96 beschriebene Verarbeitung wird durch eine Vielzahl von Verarbeitungszellen 961 96n in einer beispielhaften Ausführungsform in Abhängigkeit von der Anzahl von parallelen Verarbeitungszellen 96, die verwendet werden, ausgeführt. In beispielhaften Ausführungsformen der vorliegenden Erfindung führen Systeme mit 1, 2, 4 und 8 Zellen (oder Kanälen) die erforderlichen Umsetzungen aus. Eine größere oder geringere Anzahl von Verarbeitungszellen 96 kann in Abhängigkeit von der speziellen Anwendung der vorliegenden Erfindung auch verwendet werden.
  • Eines der von dem vorliegenden System gelösten Probleme betrifft die Geschwindigkeitseigenschaften von existierenden Filtern. Derzeit arbeiten Filter typischerweise mit einer Taktgeschwindigkeit von ungefähr bis zu 40 MHz. Filter dieser Art können die Abtastrate von ungefähr 75 MHz von einigen HDTV-Signalen nicht bearbeiten. Der Wunsch, die Eingangssignal-Abtastrate zu verdoppeln, um die horizontale und vertikale Signalneuabtastung in Echtzeit auszuführen, d. h. während eines einzelnen Verarbeitungszyklus, macht dieses Problem noch komplizierter. Um dieses Problem zu lösen, werden in einer beispielhaften Ausführungsform der vorliegenden Erfindung mehrere Verarbeitungszellen 96 verwendet und mit einer Schaltmatrix 110 miteinander verbunden, wie in 13 gezeigt. Zusammen sehen mehrere parallele Verarbeitungszellen 961 96n somit eine effektive Verarbeitungszeit vor, die ausreicht, um die Abtastratenanforderungen des Eingangssignals zu handhaben.
  • Unter Verwendung des Beispiels eines HDN-Signals mit ungefähr 75 MHz als Eingangssignal können vier Verarbeitungszellen 96 (d. h. 961 , 962 , 963 , 964 ) der in 13 gezeigten Art, die jeweils mit ungefähr 40 MHz arbeiten, verwendet werden, um eine effektive Abtastrate von 160 MHz bereitzustellen. Diese Abtast rate von 160 MHz ist geringfügig größer als die Abtastrate von 150 MHz (2 × 75 MHz), die erforderlich ist, wenn das eingegebene HDTV von 75 MHz während der Verarbeitung verdoppelt wird (zur Behandlung der horizontalen und vertikalen Verarbeitung in einem einzelnen Verarbeitungszyklus). In der beispielhaften Ausführungsform sehen vier Filter, die mit 40 MHz arbeiten, eine effektive Abtastrate von 160 MHz vor, die ausreicht, um die Verarbeitung auszuführen. Mehr Kanäle, die langsamere Filter verwenden, könnten auch verwendet werden, solange die kumulative Abtastrate größer als oder gleich zweimal die Abtastrate des Eingangssignals ist.
  • Da das Eingangssignal verdoppelt wird und derzeitige Filter mit Abtastraten von 40 MHz oder darunter arbeiten (aufgrund von Filtergeschwindigkeitsbegrenzungen in der hierin beschriebenen beispielhaften Ausführungsform), wird die Taktrate des Eingangssignals in den Vollbild-FIFO 100 wünschenswerterweise auf 20 MHz gesetzt oder verlangsamt. Wenn vier Verarbeitungszellen 96, die jeweils mit 20 MHz arbeiten (jeweils mit ihrem eigenen FIFO 100), verwendet werden, ist die maximale Eingangssignal-Taktfrequenz folglich 80 MHz (4 × 20 MHz). Mit erneutem Bezug auf das Beispiel eines Eingangssignals von ungefähr 75 MHz ist diese maximale Eingangssignalfrequenz größer als das Eingangssignal von ungefähr 75 MHz und reicht somit aus, um die gewünschte Verarbeitung auszuführen. Wenn sie über der Eingangssignalrate von 75 MHz liegt, sieht dies den zusätzlichen Vorteil von zusätzlicher Zeit zum Kompensieren von möglichen Übertragungsverzögerungen oder anderen Verzögerungen vor.
  • Um das Eingangssignal in Segmente zu unterteilen, die für die Unterverarbeitung durch jede der Verarbeitungszellen 961 96n geeignet sind, wird ein Transponierungsspeicher oder Verarbeitungsschema implementiert, um sowohl die horizontale als auch vertikale Signalverarbeitung vorzusehen und die Erzeugung eines endgültigen Ausgangsbildes aus den separat verarbeiteten Signalen in jeder der Verarbeitungszellen 96 zu ermöglichen. Spezielle horizontale Zeilen des Eingangsvollbildes 92 werden für jede separate Verarbeitungszelle 96 festgelegt, wie in 15 und 16 gezeigt. Während der Verarbeitung durch die separaten Verarbeitungszellen werden die Transponierungsspeicher 102 jeder Verarbeitungszelle durch die Schaltmatrix 110 miteinander verbunden.
  • 14 zeigt ein Ablaufdiagramm, das die Operation einer Verarbeitungszelle 96 darstellt, wie in 12 gezeigt. Das digitale Eingangssignal wird in den Eingangs-FIFO 100 während eines vollständigen Verarbeitungszyklus geschrieben. Ein gesamtes Eingangsvollbild von Informationen wird aus dem Eingangs-FIFO 100 in nur einer Hälfte eines Verarbeitungszyklus gelesen, da die Informationen mit zweimal der Verarbeitungsrate des Videoinformations-Eingangssignals, die im FIFO-100 gespeichert wurden, gelesen wird. Nach der Verarbeitung im Neuabtasffilter 21 treten die erneut abgetasteten Signalinformationen in den Transponierungsspeicher 102 ein und werden in den Speicher 104 geschrieben. In der zweiten Hälfte eines Verarbeitungszyklus werden Signalinformationen aus dem Speicher 104 zur Rückführung zum Neuabtasffilter 21 gelesen. In dieser Weise findet sowohl die horizontale als auch die vertikale Signalneuabtastung statt.
  • Während der ersten Hälfte eines Verarbeitungszyklus werden auch erneut abgetastete Signalinformationen aus dem Speicher 106 gelesen und in den Ausgangs-FIFO 108 geschrieben. Während der zweiten Hälfte eines Verarbeitungszyklus werden erneut abgetastete Signalinformationen in den Speicher 106 geschrieben. Während eines vollständigen Verarbeitungszyklus werden schließlich Informationen, die im Ausgangs-FIFO 108 gespeichert sind, gelesen, um das erneut abgetastete endgültige Ausgangssignal zu erzeugen.
  • 15 stellt die Operation des Systems 90 als Vier-Kanal-System dar. Die Operation jeder Verarbeitungszelle 961 964 ist über einen einzelnen Verarbeitungszyklus (d. h. einzelnes Vollbild) für jede Zeile und Spalte von verarbeiteten und gespeicherten Signalinformationen dargestellt. Die Eingangs- und Ausgangsvollbild-FIFOs 100 und 108 sind nur einmal dargestellt, da ihre Operation für jede der Verarbeitungszellen dieselbe ist.
  • Die in den Eingangsvollbild-FIFO 100 geschriebenen Signalinformationen werden über den vollen Verarbeitungszyklus mit einer als 1X bezeichneten Signalrate geschrieben. In einer beispielhaften Ausführungsform unter Verwendung eines HDTV-Eingangssignals von ungefähr 75 MHz wäre die 1X-Abtastrate für jede Prozessorzelle 961 964 20 MHz. Sobald ein Eingangsvollbild-FIFO ein Vollbild von Informationen enthält (nach einem Verarbeitungszyklus), können die Informationen mit zweimal (2X) der Taktrate während der ersten Hälfte des Verarbeitungszyklus ausgelesen werden. In einer beispielhaften Ausführungsform findet die horizontale Verarbeitung während der ersten Hälfte des Verarbeitungszyklus statt und die vertikale Verarbeitung findet während der zweiten Hälfte des Verarbeitungszyklus statt. Dies stellt alle Informationen für die Verarbeitung bereit, so dass sowohl die horizontale als auch die vertikale Neuabtastung während eines einzelnen Verarbeitungszyklus (Vollbildintervalls) stattfinden können. 15 stellt nur einen Abschnitt der verarbeiteten Vollbildinformationen dar. Die Anzahl von aktuellen verarbeiteten Zeilen und Spalten hängt von der Voilbildgröße des endgültigen Ausgangssignals ab. Wenn beispielsweise in ein 720 × 483 SDTV-Signal umgesetzt wird, wäre das endgültige Ausgangsbild 720 Zeilen mal 483 Spalten.
  • Aus der Darstellung in 15 ist zu sehen, dass die Zuweisung von Zeilen für die horizontale Verarbeitung vertikal verteilt ist, so dass die Ausgabe aus den Prozessoren 961 , 962 , 963 , 964 während jedes Verarbeitungszyklus Informationen für die vertikalen Spalten liefert. Die Verarbeitungszelle 961 verarbeitet beispielsweise die Zeilen 1, 5, 9 und so weiter in steigenden Schritten von 4. Die Verarbeitungszelle 962 beginnt die Verarbeitung mit der Zeile 2, dann der Zeile 6 und so weiter, auch in ansteigenden Schritten von 4. Die Verarbeitungszelle 963 beginnt die Verarbeitung mit der Zeile 3, dann der Zeile 7 und so weiter. Die Verarbeitungszelle 964 beginnt die Verarbeitung mit der Zeile 4, dann der Zeile 8 und so weiter. Nachdem jede Zeile verarbeitet ist, werden die im Speicher 104 gespeicherten resultierenden Informationen (für die Eingabe zurück in das Neuabtastfilter 21 zur vertikalen Neuabtastung) mit den vertikalen Spalteninformationen in einer horizontalen Formatorientierung orientiert, wie in 6 gezeigt, um einem Neuabtasifilter 21 gerecht zu werden, das horizontal verarbeitet. In dieser Weise werden, wenn jeder Verarbeitungszyklus vollständig ist, die Signalinformationen geeignet orientiert, um die Verarbeitung der vertikalen Signalinformationen während der zweiten Hälfte des Verarbeitungszyklus zu beginnen.
  • 16A stellt die Speicherabbildung für eine Konfiguration mit zwei Kanälen dar. In der Konfiguration mit zwei Kanälen wird die horizontale Zeile für die Verarbeitung durch zwei Prozessoren, "Kanal 0" und "Kanal 1", jeweils mit seinem eigenen Speicher 106, unterteilt. Jeder zweite Abtastwert wird in einen anderen der zwei Speicher 106 geschrieben. Wie in 16A gezeigt, ist eine erläuternde Zeile 0 gezeigt, während sie in einem Prozessor des Kanals 0 verarbeitet wird, und eine erläuternde Zeile 1 wird in einem Prozessor des Kanals 1 verarbeitet.
  • Wenn die Zeile 0 verarbeitet wird, werden die Abtastwerte 0, 2 und 4 in die Spalte 1 des Speichers 106 des Kanals 0 geschrieben. Die Abtastwerte 1 und 3 der Zeile 0 werden in die Spalte 1 des Speichers 106 des Kanals 1 geschrieben. Die Zeile 1 im Prozessor des Kanals 1 wird folgendermaßen geschrieben. Die Abtastwerte 0, 2 und 4 werden in die Spalte 2 des Speichers 106 des Kanals 0 geschrieben, während die Abtastwerte 1 und 3 in die Spalte 2 des Speichers 106 des Kanals 1 geschrieben werden. Folglich ist zu sehen, dass jede Zeile oder Reihe der jeweiligen Speicher des Kanals 0 und Kanals 1 nun Abtastwerte enthält, die derselben ydim-Position der verarbeiteten Eingangszeile entsprechen.
  • Bei der horizontalen Verarbeitung muss die Schaltmatrix (wie z. B. die Schaltmatrix 1/2 in 17A) vollständige Spalten in einen einzelnen Speicher 106 schreiben, während vollständige Zeilen während der vertikalen Verarbeitung geschrieben werden müssen. Um dies durchzuführen, müssen die aus dem zweiten Zeilen-FIFO 108 (für eine Konfiguration mit zwei Kanälen) gelesenen Daten um einen einzelnen Taktzyklus verzögert werden. In einem System mit vier Kanälen ist eine Verzögerung von einem Taktzyklus für jeden zusätzlichen Kanal erforderlich (d. h. zwischen dem zweiten und dem dritten Kanal und zwischen dem dritten und dem vierten Kanal). Tabelle 5 stellt die Datenfolge für eine Konfiguration mit zwei Kanälen dar und Tabelle 6 stellt die Datenfolge für eine Konfiguration mit vier Kanälen dar.
  • Tabelle 5
    Figure 00350001
  • Tabelle 6
    Figure 00350002
  • 16B zeigt ein Beispiel der Speicherkonfiguration des Eingangsvollbildes 92 (in 11 gezeigt) und des Zwischenausgangsvollbildes 95. Das Eingangsvollbild 92 weist eine Konfiguration von Zeilen, die mit A-J bezeichnet sind, und Spalten, die mit 1–6 bezeichnet sind, auf. Die Zeilen von Abtastwerten, d. h. A1, A2, ... A6; B1, B2, ... B6 usw. treten in jeweilige Neuabtastfilter 211 214 von jeweiligen Verarbeitungszellen 961 964 ein, um die horizontale Verarbeitung auszuführen. Das Neuabtastfilter 211 der Verarbeitungszelle 961 verarbeitet die Zeilen A, E und I. Das Neuabtastfilter 212 der Verarbeitungszelle 962 verarbeitet die Zeilen B, F und J. Das Neuabtastfilter 213 der Verarbeitungszelle 963 verarbeitet die Zeilen C, G, K. Das Neuabtastfilter 214 der Verarbeitungszelle 964 verarbeitet die Zeilen D, H, L. Nach der Verarbeitung geschieht eine Transponierung, durch die die horizontalen Zeileninformationen in vertikale Spalteninformationen umgesetzt werden und im Speicher 104 als Zwischenausgangsvollbild 95 gespeichert werden. Somit enthält die Zeile 1 des Zwischenausgangsvollbildes 95 nun die Abtastwerte A1, B1, C1, ... L1; während die Zeile 2 die Abtastwerte A2, B2, C2, ... L2 enthält, usw.
  • Die gezeigten Informationen, die als Zwischenausgangsvollbild 95 gespeichert werden, werden dann in das geeignete Neuabtastfilter 21 jeder Verarbeitungszelle 961 964 zurückgeführt, um die Verarbeitung in der vertikalen Dimension zu beenden.
  • In einer beispielhaften Ausführungsform wird die Verarbeitung für die vertikale Dimension durch die Neuabtastfilter 301 304 der Verarbeitungszellen 961 964 durch Verarbeiten der vertikalen Informationen in der horizontalen Konfiguration (Orientierung), die als Zwischenausgangsvollbild 95 gezeigt sind, ausgeführt. Durch Transponieren der erneut abgetasteten Informationen nach der horizontalen Neuabtastung werden die digitalen Eingangssignalinformationen folglich in einem Format orientiert, so dass die vertikale Neuabtastverarbeitung in den Verarbeitungszellen 961 964 stattfinden kann. Nach der vertikalen Neuabtastverarbeitung transponiert das transponierte Speicherschema der vorliegenden Erfindung den Speicher wieder in die ursprüngliche Orientierung der horizontalen und vertikalen Dimensionen für die Ausgabe als digitales Ausgangssignal.
  • Das transponierte Speicherschema wird durch Verbinden der Vielzahl von Verarbeitungszellen 96, die die parallele Verarbeitung des digitalen Eingangssignals ausführen, ausgeführt. Der transponierte Speicher verwendet eine Schaltmatrix 100 (13), um die Kommunikation unter den Verarbeitungszellen zu ermöglichen, die verwendet werden, um die Verarbeitung aller Informationen auszuführen und die ursprüngliche horizontale und vertikale Dimensionsorientierung wieder zu erzeugen.
  • 17A zeigt ein Beispiel eines Systems mit zwei Kanälen mit einem einzelnen Schalter, der zwischen zwei Neuabtastfilter 21 und zwei Speicher 106 geschaltet ist. 17b stellt das Ablaufdiagramm zum Umschalten zwischen den zwei Speichern 106 durch die Neuabtastfilter 21 dar. Der Schalter 112 schaltet mit der Hälfte des Verarbeitungszyklus um, wobei Informationen im Speicher 106 einer ersten Verarbeitungszelle im Speicher 106 einer zweiten Verarbeitungszelle für jedes der jeweiligen Neuabtastfilter 21 gespeichert werden. Dies stellt die Orientierung der Informationen, die erforderlich ist, um die vertikale Verarbeitung in den jeweiligen Neuabtastfiltern 21 auszuführen, und dann für die Umsetzung der aktuellen horizontalen verarbeiteten Signale zurück in die ursprüngliche horizontale/vertikale Orientierung (mit dem neuen erneut abgetasteten Format) nach der vertikalen Verarbeitung bereit.
  • Für das in 18a gezeigte Netz mit vier Kanälen sehen die Schalter 114, 116, 118 und 40 (die zum Schalter 112 identisch und äquivalent sind) das Umschalten von erneut abgetasteten Signalinformationen in die Speicher 106 gemäß dem in 18b gezeigten Ablaufdiagramm vor.
  • In einer beispielhaften Ausführungsform sind die für die Speicher 104 und 106 verwendeten Speichervorrichtungen statische RAMs. In einer beispielhaften Ausführungsform sind die Schalter, wie z. B. der Schalter 112, der in der Schaltmatrix 100 verwendet wird, auch High Speed CMOS Bus Exchange Switches, die von Quality Semiconductor, Inc. unter der Teilenummer QS32383 hergestellt werden. Jeder Halbleiterschalter 112 besteht aus einem Satz von fünf Vier-Punkt-Schaltern mit einer Verzögerung von Null, die in Abhängigkeit vom Zustand des Steuersignals für den speziellen Halbleiterschalter 112 jeweils die Abtastdaten durchlassen oder das Ausgangssignal durchlassen.
  • 19 zeigt einen Ablaufplan 130, der den Prozess einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt. Dieses Ablaufdiagramm ist vorgesehen, um darzustellen, wie der Prozess unter Verwendung eines Unversalcomputers wie z. B. des in 3 gezeigten Computers 34 implementiert werden kann. Im Block 132 wird das digitale Videoeingangssignal in einen FIFO-Vollbildspeicher mit einer einzelnen Verarbeitungsrate eingegeben. Das eingegebene digitale Videosignal wird aus dem FIFO-Vollbildspeicher mit der doppelten Eingangsverarbeitungsrate in Schritt 134 ausgelesen. Das digitale Eingangsvideosignal wird einer horizontalen Neuabtastung in Schritt 136 unterzogen und wird in Schritt 138 im Transponierungsspeicher gespeichert. Die Speicherung im Transponierungsspeicher ist derart, dass die Orientierung die Verarbeitung der Signalinformationen der vertikalen Dimension ermöglicht.
  • Das transponierte Signal wird in der vertikalen Dimension in Schritt 140 erneut abgetastet. Die vertikal erneut abgetasteten Signalinformationen werden dann in Schritt 142 im Speicher in der ursprünglichen Orientierung der horizontalen und vertikalen Signalinformationen in Schritt 144 gespeichert. Schließlich wird das gespeicherte, horizontal und vertikal umformatierte Signal aus dem Speicher mit der ursprünglichen Verarbeitungsrate in Schritt 146 gelesen.
  • Adressenerzeugung
  • Die Adresse des statischen Speichers wird zusammen mit der Matrixschaltersteuerung für die Transponierungsoperation behandelt. Die Speichergröße in einer beispielhaften Ausführungsform ist 512K. Diese Größe entspricht einer Adressenlänge von 19 Bits. Der Speicher mit 512K wurde so gewählt, dass er eine maximale Bildabmessung von 2K × 2K in einem beispielhaften System ermöglicht. Andere Speichergrößen und Bildabmessungen könnten mit geeigneten Einstellungen auch verwendet werden.
  • Die 19-Bit-Adressenbits werden in X- und Y-Koordinaten aufgeteilt, um die 2-dimensionale Art des Speichers zu realisieren. Das heißt, die Anzahl von Bits, die für jede Koordinate zugewiesen werden, ist durch die Größe des Bildes bestimmt.
  • Ein 22-Bit-Wort, das die X- und Y-Verarbeitungsdimension darstellt (4 Bits für jede Dimension), wird in eine Speichersteuerung über eine serielle Leitung in einer beispielhaften Ausführungsform heruntergeladen. Die Dimensionen legen die erforderliche Größe des Speichers für die Transponierungsoperation fest und werden aufgeteilt als: word[21:0] = ydim[10:0] || xdim[10:0], wobei "||" eine Verkettung darstellt.
  • Der xdim-Parameter nimmt den Wert der aktiven horizontalen Größe des Ausgangsformats. Dies wird verwendet, da, bis die Abtastdaten den Speicher 104 erreichen, er in die horizontale Ausgangsgröße umgesetzt wurde, was die Eingangsgröße für die Speicherzuweisung irrelevant macht. Der ydim-Parameter nimmt den Wert der größeren der aktiven vertikalen Größe des Eingangs- oder Ausgangsformats, so dass die Gesamtzahl an Eingangszeilen in den Speicher 104 während der horizontalen Verarbeitung geschrieben werden, während die Gesamtzahl von Ausgangszeilen in den Speicher 106 während der vertikalen Verarbeitung geschrieben werden. Folglich ist die größere der Eingangs- oder Ausgangszahl von Zeilen für die Zuweisung der Adressenbits erforderlich.
  • Das Adressierungssystem besteht aus vier einzelnen Zählern (nicht dargestellt) für die Speicheradressierungsanforderungen. Das heißt, es besteht ein Satz von X- und Y-Zählern für jeden Speicher (106 und 104). Diese Speicherzähler werden als xa, ya, xb und yb bezeichnet.
  • Die Operation der Speicherzähler ist für die horizontalen und vertikalen Verarbeitungsausgaben unterschiedlich. Die zwei Modi werden mit Bezug auf Tabelle 7 beschrieben (wobei nch = die Anzahl von Verarbeitungskanälen im System: 4 für Y (Luminanz), 2 für C (Chrominanz)).
  • Tabelle 7
  • Horizontale Verarbeitung
  • 1. Schreiben in die Speicherbank 1
    • yb:
      Rücksetzen am Beginn von jeder Zeile Zählen von 0 bis xdim/nch, Inkrementieren um 1 alle nch Zyklen
      xb:
      Rücksetzen am Beginn jedes Halbbildes/Vollbildes obere Bits: Zählen von 0 bis ydim Inkrementieren um 1 am Beginn jeder Zeile untere Bits: Zählen von 0 bis nch-1, Inkrementieren der unteren Bits um 1 bei jedem Zyklus, dann Zurücklaufen auf 0 und Inkrementieren fortsetzen
  • Beispiel:
    • 1. Zeile: 0, 1,... nch-1, 0, 1,..., nch-1,...
    • 2. Zeile: nch, nch+1,... 2nch-1, nch, nch+1,... 2nch-1,...
    • 3. Zeile: 2nch, 2nch+1,... 3nch-1, 2nch, 2nch+1,... 3nch-1... letzte Zeile: ydim, ydim+1,... ydim+nch-1, ydim, ydim+1,... ydim+nch-1,...
  • Tabelle 7 (Fortsetzung)
  • 2. Lesen aus der Speicherbank 0
    • xa:
      Rücksetzen am Beginn jedes Halbbildes/Vollbildes und nach "Zählungsende" Zählen von 0 bis xdim, Inkrementieren um 1 bei jedem Zyklus
      ya:
      Rücksetzen am Beginn jedes Teilbildes/Vollbildes Zählen von 0 bis ydim/nch, Inkrementieren um 1 nach jedem "Zählungsende" für xa
  • Vertikale Verarbeitung
  • 1. Lesen aus der Speicherbank 1
    • xb:
      Rücksetzen am Beginn jeder Zeile Zählen von 0 bis ydim, Inkrementieren um 1 bei jedem Zyklus
      yb:
      Rücksetzen am Beginn jedes Halbbildes/Vollbildes Zählen von 0 bis xdim/nch, Inkrementieren um 1 am Beginn jeder Zeile
  • 2. Schreiben in die Speicherbank A
    • ya:
      Rücksetzen am Beginn jeder Zeile Zählen von 0 bis ydim/nch, Inkrementieren um 1 alle nch Zyklen
      xa:
      Rücksetzen am Beginn jedes Halbbildes/Vollbildes obere Bits: Zählen von 0 bis xdim, Inkrementieren um 1 am Beginn jeder Zeile untere Bits: Zählen von 0 bis nch-1, Inkrementieren der unteren Bits um 1 bei jedem Zyklus
  • Tabelle 7 (Fortsetzung)
  • Beispiel:
    • 1. Spalte: 0, 1, ... nch-1, 0, 1, ... nch-1, ...
    • 2. Spalte: nch, nch-1, ... 2nch-1, nch, nch-1, ... 2nch-1, ...
    • 3. Spalte: 2nch, 2nch+1, ... 3nch-1, 2nch, 2nch-1, ... 3nch-1 ... letzte Spalte: xdim, xdim+1, ... xdim+nch-1, xdim, xdim+1, ... xdim+nch-1
  • Im Schreibmodus müssen die Speicherzähler um einen einzelnen Taktzyklus voneinander versetzt sein. Das heißt, die Zähler für den Kanal 1 (xb, yb) beginnen einen Taktzyklus später als die Zähler für den Kanal 0 (xa, ya) usw. Dies wird durch Verzögern des Signals act_v, das die Zähler startet, um die Kanalnummer durchgeführt.
  • Im Schreibmodus werden die unteren Bits von xa und xb separat von den oberen Bits gesteuert. Während die oberen Bits am Beginn jeder Zeile durch das Signal v_start zurückgesetzt werden, werden die unteren Bits alle nch Zyklen zurückgesetzt. In einer beispielhaften Ausführungsform wird ein separater Kanalzähler parallel mit den Adressenzählern laufen lassen. Er zählt von 0 bis nch-1 und fährt nach dem Rücksetzen auf 0 fort. Dies wird durch Erzeugen eines separaten Rücksetzsignals für die unteren Bits implementiert.
  • Dieser Kanalzähler wird auch verwendet, um Schaltmatrix-Steuersignale zu erzeugen, wie z. B. das Steuersignal, das für den Schalter 112 in 17B und die Schalter 114, 116, 118 und 120 in 18B dargestellt ist.
  • In einer beispielhaften Ausführungsform werden "Zählungsende"-Decodierungen nicht implementiert, wenn sie nicht erforderlich sind, um Platz zu sparen. Der Zählerwert wird mit dem Verarbeitungsgrößenparameter verglichen, was eine große Menge an Logik erfordern kann.
  • Im Lesemodus wird die "Zählungsende"=Decodierung für die xb-Zählung für die Kantenerweiterung verwendet. Während der vertikalen Verarbeitung werden Daten aus dem Speicher 104 gelesen und in die Neuabtastfilter 21 zur vertikalen Größenänderung zurückgeführt.
  • Während der horizontalen Verarbeitung werden Daten vom Speicher 106 gelesen und dann dem Ausgangsvollbild-FIFO 108 zugeführt. Dem letzten Abtastwert, der aus jeder Zeile gelesen wird, müssen unmittelbar die ersten Abtastwerte in der nächsten Zeile folgen. Um dies zu erleichtern, wird eine "Zählungsende"-Decodierung für die xb-Adresse verwendet, um das Ende jeder Zeile zu erfassen.
  • Im Schreibmodus müssen die "Zählungsende"-Decodierungen nicht für irgendeinen der Speicherzähler implementiert werden. Obwohl dies verursacht, dass "Mülldaten" in den Speicher geschrieben werden, wird auf diese Daten niemals zugegriffen. Um einen Überlauf zu verhindern, müssen die Speicherzähler gestoppt werden, bevor die Bits knapp werden. Die ya- und yb-Speicherzähler erfordern keine Zählungsende-Decodierungen entweder im Lese- oder Schreibmodus. Der Überlaufschutz muss natürlich wieder implementiert werden.
  • In einer beispielhaften Ausführungsform wird ein separates Freigabesignal erzeugt, um jeden der Speicherzähler zu inkrementieren. Im Schreibmodus schalten die Freigaben am Ende jeder Kanalzählung auf aktiv. Dies ist, wie die ya- und yb-Speicherzähler alle nch Zyklen inkrementieren. Ein separates (stopx) Signal wird jedoch erzeugt, um zu verhindern, dass die oberen Bits von xa und xb an diesem Punkt inkrementieren. Diese oberen Bits inkrementieren am Beginn jeder Zeile in einer beispielhaften Ausführungsform um Eins. Dies wird durch Deaktivieren des stopx-Signals einmal am Beginn jeder Zeile durchgeführt, so dass, sobald die unteren Bits einen Wert von nch erreichen, die oberen Bits automatisch um 1 inkrementieren. Im Lesemodus ermöglicht das Freigabesignal einfach, dass der xb-Zähler bei jedem Zyklus inkrementiert, während der yb-Zähler am Beginn jeder Zeile inkrementiert.
  • Die ya-, xa-Gruppe inkrementiert anders als die yb-, xb-Gruppe in ihren jeweiligen Lesemodi. Wenn aus dem Speicher 104 gelesen wird, werden die Abtastdaten zum Neuabtastfilter 21 zur vertikalen Verarbeitung zurückgeführt. Die Abtastdaten müssen in derselben Weise gelesen werden wie die Abtastdaten, die vom Eingangsvollbild-FIFO 100 während der horizontalen Verarbeitung geliefert werden. Das heißt, eine neue Spalte wird gelesen, was mit jedem v_start-Impuls beginnt.
  • Bei dieser beispielhaften Implementierung gibt es Zeitabschnitte, in denen keine Abtastdaten aus dem Speicher gelesen werden. Es ist jedoch immer noch erforderlich, bestimmte Merkmale der Verarbeitung (vor allem Kantenerweiterung) zu handhaben. Dies ist für das Auslesen aus dem Speicher 106 nicht der Fall. Die Daten, die aus dem Speicher 106 gelesen werden, werden direkt zum Ausgangsvollbild-FIFO 108 gesandt, der während der Verarbeitung nicht dieselben Einschränkungen hat.
  • Das Speicheradressierungsschema könnte den Bereich von Ausgangsformaten, die vom beispielhaften Verarbeitungssystem bearbeitet werden könnten, begrenzen. Bei einer Umsetzung von 11251 (verschachtelt) in 720p (progressiv) wird beispielsweise ein Halbbild von 1920 × 518 in ein Vollbild von 1280 × 720 umgesetzt. In diesem Modus werden 518 Impulse v_start erzeugt, um jede Eingangszeile anzugeben. Bei der Ausgabe sind jedoch 710 Zeilen erforderlich. Wenn eine einzelne Zeile nach jedem Impuls v_start gelesen wird, wäre somit nicht genügend Zeit, um alle 720 Zeilen aus dem Speicher zu lesen. Daher wird das Lesen in einem einzelnen Burst ausgeführt, wobei eine Zeile unmittelbar der anderen folgt.
  • Ein Freigabesignal wird erzeugt, um einem Ausgangsformatierer (nicht dargestellt) zu signalisieren, wenn die Abtastdaten vom Speicher geliefert werden. Das Freigabesignal kippt in einer beispielhaften Ausführungsform mit dem ersten Abtastwert im Vollbild von niedrig auf hoch.
  • Um zu verhindern, dass der FIFO 108 zusammenbricht, kann das Schreiben durch Kippen des Signals auf niedrig, bevor der FIFO 108 aufgefüllt ist, gestoppt werden. Die Position dieser fallenden Flanke muss nicht in der exakten Position des letzten Abtastwerts auftreten, sondern muss nur auftreten, nachdem geschrieben wird. Eine Schaltungsanordnung zum Implementieren einer exakten Decodierung könnte eine beträchtlich Menge an Platz belegen, so dass eine Abschätzung unter Verwendung von Schaltungen durchgeführt werden kann, die nur die oberen 6 Bits von ydim annehmen.
  • Während der horizontalen Verarbeitung sind die Dimensionen der Abtastdaten, die in die Speicherbank 104 geschrieben werden, xdim × ydim/nch. ydim/nch Zeilen werden in jeden Speicher 104 geschrieben, da die Gesamtzahl von Zeilen, ydim, über die nch Verarbeitungskanäle verteilt ist. Ebenso werden xdim/nch × ydim Abtastwerte in den Speicher 106 während der vertikalen Verarbeitung geschrieben.
  • Die 19 Adressenbits müssen zugewiesen werden, um diesem Speicherzuweisungsschema gerecht zu werden. Die Bits 18-11 sind für die unteren 8 Bits der Y-Adresse reserviert, während die Bits 7-0 für die unteren 8 Bits der X-Adresse reserviert sind. Dies belässt drei Bits, 10-8, die auf der Basis der Verarbeitungsdimensionen zugewiesen werden.
  • Dieses Speicherzuweisungsschema ist erforderlich, um eine unterschiedliche Kombination von X- und Y-Größen zu ermöglichen. Der 512K-Speicher ermöglicht Bildgrößen bis zu 2K × 2K, aber 8 Verarbeitungskanäle wären erforderlich (512K × 8 = 2K × 2K). Mit einer Konfiguration mit 4 Kanälen können Bildgrößen von bis zu 2K × 1K (oder 1K × 2K) verarbeitet werden. Tabelle 8 zeigt, wie die Bits 10-8 der Speicheradresse in einer beispielhaften Ausführungsform zugewiesen werden.
  • Tabelle 8
    • Speicherbank 0
    • wenn (xdim ≤ 255)
    • Der X-Adresse werden 8 Bits zugewiesen: xa[7:0] = addra[7:0]
    • Der Y-Adresse werden 11 Bits zugewiesen: ya[10:0] = addra[10:8] || addra[18:11]
    • wenn (256 ≤ xdim ≤ 511)
    • Der X-Adresse werden 9 Bits zugewiesen: xa[8:0] = addra [8:0]
    • Der Y-Adresse werden 10 Bits zugewiesen: xa[9:0] = addra[18:9] || addra[18:11]
    • wenn (512 ≤ xdim ≤ 1023)
    • Der X-Adresse werden 10 Bits zugewiesen: xa[9:0] = addra[9:0]
    • Der Y-Adresse werden 9 Bits zugewiesen: ya[8:0] = addra[10] || addra [10:11]
    • wenn (xdim ≤ 1024)
    • Der X-Adresse werden 11 Bits zugewiesen xa[10:0] = addra [10:0]
    • Der Y-Adresse werden 8 Bits zugewiesen ya[7:0] = addra[18:11]
    • Speicherbank 1
    • wenn (ydim ≤ 255)
    • Der X-Adresse werden 8 Bits zugewiesen: yb[7:0] = addrb[7:0]
    • Der Y-Adresse werden 11 Bits zugewiesen: yb[10:0] = addrb[10:8] || addrb[18:11]
    • wenn (256 ≤ ydim ≤ 511)
    • Der X-Adresse werden 9 Bits zugewiesen: xb[8:0] = addrb[8:0]
    • Der Y-Adresse werden 10 Bits zugewiesen: yb[9:0] = addrb[10:9] || addrb [18:11]
    • wenn (512 ≤ ydim ≤ 1023)
    • Der X-Adresse werden 10 Bits zugewiesen: xb[9:0] = addrb[9:0]
    • Der Y-Adresse werden 9 Bits zugewiesen: yb[8:0] = addrb[10] || addrb[18:11]
    • wenn (ydim ≤ 1024)
    • Der X-Adresse werden 11 Bits zugewiesen xbj[10:0] = addrb[10:0]
    • Der Y-Adresse werden 8 Bits zugewiesen yb[7:0] = addrb[18:11]
    • wobei addra = 19-Bit-Adresse der Speicherbank 0
    • wobei addrb = 19-Bit-Adresse der Speicherbank 1
  • Für HDTV 1920 × 518 würden beispielsweise 11 Bits für die X-Adresse zugewiesen werden und 8 Bits würden für die Y-Adresse des Speichers 106 zugewiesen werden. Für den Speicher 104 sind 10 Bits für die X-Adresse reserviert und 9 Bits sind für die Y-Adresse reserviert.
  • Die Adressenbits [18:11] und [7:0] werden einfach von den unteren 8 Bits der y- bzw. x-Speicherzähler genommen. Eine zusätzliche Logik kann jedoch erforderlich sein, um die Bits [10:8] auf der Basis der Verarbeitungsdimensionen zu multiplexieren. Das einfache Hinzufügen dieses zusätzlichen Niveaus an Logik zum Ausgang der Zähler kann die Zeitsteueranforderungen verletzen. Somit wird ein "Vorschau"-Inkrementierer im System implementiert. Das heißt, die Werte für die Bits [18:11] müssen in dem Zyklus berechnet werden, bevor sie erforderlich sind und registriert werden.
  • Dies wird durch Betrachten der 8 Adressenbits, die immer für die Zählerausgabe zugewiesen werden, durchgeführt. Wenn lauter 1-en erfasst werden, muss das Bit 8 den Zustand beim folgenden Taktzyklus ändern. Dasselbe Schema wird für die Bits 9 und 10 verwendet und kann als T-Flip-Flops implementiert werden. Somit stehen immer 11 Bits von jedem der 4 Zähler zur Verfügung, aber nicht alle werden gleichzeitig verwendet.
  • In 20 ist ein System 160 zum Annehmen von parallelen Abtastdaten und zum Ausgeben von parallelen Zeilenabtastdaten gezeigt. Im System 160 wird ein Eingangssignal in den Sequentiell-/Parallel-Zeilen-Demultiplexer 150 eingespeist. Der Sequentiell-/Parallel-Zeilen-Demultiplexer 150 unterteilt die parallelen Abtasteingangsdaten in separate parallele Kanäle. 20 stellt einen einzelnen verarbeiteten Kanal dar. Jeder zusätzliche Kanal nach dem Ausgang aus dem Sequentiell-/Parallel-Zeilen-Demultiplexer 150 tritt in eine Verarbeitungszelle ähnlich der für den Kanal 1 beschriebenen ein.
  • Nach dem Verlassen des Sequentiell-/Parallel-Zeilen-Demultiplexers 150 und dem Eintritt in den Abtastdatenvollbild-FIFO 108 treten die Abtastdaten in das Neuabtastfilter 21 ein, wo die horizontale Neuabtastung stattfindet. Das erneut abgetastete Signal tritt in die Schaltmatrix 110 vor dem Eintritt in den Transponierungsspeicher 102 ein. Die Transponierung findet so statt, dass die vertikale Verarbeitung ausgeführt werden kann. Die transponierten Daten verlassen den Transponierungsspeicher 102 und treten in das Neuabtastfilter 21 ein. Gleichzeitig treten die verarbeiteten Informationen in den Vollbild-FIFO 108 ein, wo sie später mit den vertikal erneut abgetasteten Daten vor dem Eintritt in den Parallel-/Sequentiell-Zeilen-Multiplexer 152 kombiniert werden. Eine endgültige Ausgabe wird vom Parallel-/Sequentiell-Zeilen-Multiplexer 152 erzeugt.
  • Da das System 160 dazu ausgelegt ist, parallele Zeilendaten anzunehmen und parallele Zeilendaten auszugeben, enthält jeder Kanal, der durch den Sequentiell-/Parallel-Zeilen-Demultiplexer 150 demultiplexiert wird, Abtastdaten mit denselben x- und y-Dimensionen für sowohl die Ausgangs- als auch Eingangssignale. Folglich geht das Neuabtastfilter 21 dem Transponierungsspeicher 102 voran.
  • Dieses Verfahren hält das Datenformat (parallele Zeilendaten) am Eingangs- und Ausgangsvollbild-FIFO (100 und 108) gleich. Dies erfordert jedoch, dass die Zeilen-FIFOs die parallelen Zeilen erzeugen, was die Menge an erforderlicher Hardware erhöhen würde. Wenn dies nicht erforderlich ist (und zum Verringern der Hardwareanforderungen), kann eine Sequentiell-/Parallel-Zeilenumsetzung folgendermaßen ausgelassen werden. Das in 21 gezeigte Neuabtastsystem 162 ist dazu ausgelegt, parallele Abtastdaten anzunehmen und eine parallele Zeilenausgabe zu liefern. Das Eingangssignal tritt in den Abtastdemultiplexer 154 ein. Ein einzelner Kanal 1 ist gezeigt, der den Abtastdemultiplexer 154 verlässt und in den Vollbild-FIFO 100 eintritt. Wie das System 160 können mehrere Kanäle (2, 4 usw.) vom Abtastdemultiplexer 154 erzeugt werden. Jeder Kanal würde dann in seine eigene Verarbeitungszelle ähnlich der für den Kanal 1 beschriebenen eintreten. Die Abtastdaten treten in den Vollbild-FIFO 100 vor dem Eintritt in den Transponierungsspeicher 102 ein. Vom Transponierungsspeicher 102 treten die Abtastdaten in das Neuabtastfilter 21 ein, um die vertikale Neuabtastung auszuführen. Die vertikal erneut abgetasteten Daten treten dann in die Schaltmatrix 110 ein, um die Informationen zur Speicherung im Transponierungsspeicher 102 zu transponieren. Nach der Transponierung kann eine horizontale Verarbeitung im Neuabtastfilter 21 stattfinden. Nach der Neuabtastung werden horizontal und vertikal verarbeitete Informationen im Vollbild-FIFO 108 vor der Parallel-/Sequentiell-Zeilen-Multiplexierung im Parallel-/Sequentiell-Zeilen-Multiplexer 152 gespeichert. Das endgültige Ausgangssignal verlässt den Parallel-/Sequentiell-Zeilen-Multiplexer 152.
  • Da parallele Abtastdaten eingegeben werden und parallele Zeilendaten ausgegeben werden, werden die Eingangssignalabtastwerte in der x-Dimension in Abhängigkeit von der Anzahl von Kanälen im System 162 inkrementiert. Wenn beispielsweise der Kanal 162 vier Kanäle aufweist, würde die erste Zeile, die vom Abtastdemultiplexer 154 erzeugt wird, den Abtastwert 0, 4, 8 usw. umfassen. Der zweite Kanal würde die Abtästwerte 1, 5, 9 usw. umfassen. Der dritte Kanal würde die Abtastwerte 2, 6, 10 usw. umfassen und der vierte Kanal würde die Abtastwerte 3, 7, 11 usw. umfassen.
  • Die Ausgangskanäle nach der Neuabtastung und Transponierung würden aus Zeilen mit den geeigneten x-Dimensionen (d. h. 0, 1, 2, 3, 4 usw.) bestehen. Jeder Kanal würde vor der Parallel-/Sequentiell-Zeilen-Multiplexierung in dieser Weise orientiert werden.
  • Es ist selbstverständlich, dass das System 160 auch rekonfiguriert werden könnte, um parallele Zeileninformationen anzunehmen und parallele Abtastdaten auszugeben. Dazu wäre die Schaltmatrix 110 für die vertikale Verarbeitung nicht aktiv und ein Parallel-/Sequentiell-Zeilen-Multiplexer 152 wäre durch einen Abtastmultiplexer (nicht dargestellt) ersetzt. Für ein solches Beispiel würden die Eingangsinformationen orientiert werden, wie mit Bezug auf das System 160 beschrieben. Die Ausgangssignalinformationen würden jedoch in derselben Weise orientiert werden wie das für das System 162 beschriebene Eingangssignal.
  • Obwohl spezielle Ausführungsformen der vorliegenden Erfindung hierin offenbart sind, ist nicht beabsichtigt, die Erfindung auf eine solche Offenbarung zu begrenzen, und Änderungen und Modifikationen können innerhalb des Schutzbereichs der folgenden Ansprüche integriert und verkörpert werden:

Claims (6)

  1. Videoformat-Umsetzer, um ein digitales Eingangssignal, das eine erste vertikale Abtastgröße pro Einheitslänge und eine erste horizontale Abtastgröße pro Einheitslänge besitzt, in ein digitales Ausgangssignal, das eine zweite vertikale Abtastgröße pro Einheitslänge und eine zweite horizontale Abtastgröße pro Einheitslänge besitzt, umzusetzen, der umfasst: a) ein erstes Speichermittel (100), um das digitale Eingangssignal zu speichern; b) mehrere Verarbeitungszellen (961,2,...,N ), wovon jede besitzt: i) horizontale Neuabtastmittel, die ein einziges Neuabtastprozessormittel (21) umfassen, um während einer ersten Zeitdauer die erste horizontale Abtastgröße pro Einheitslänge des digitalen Eingangssignals in die zweite horizontale Abtastgröße pro Einheitslänge umzusetzen, um ein horizontal neu abgetastetes digitales Eingangssignal zu bilden, ii) zweite Speichermittel (104), um das horizontal neu abgetastete digitale Eingangssignal in einem transponierten Format zu speichern, iii) vertikale Neuabtastmittel, die ein einziges Neuabtastprozessormittel (21) umfassen, um während einer zweiten Zeitdauer die erste vertikale Abtastgröße pro Einheitslänge des gespeicherten horizontal neu abgetasteten digitalen Eingangssignals in die zweite vertikale Abtastgröße pro Einheitslänge umzusetzen, um ein horizontal und vertikal neu abgetastetes digitales Eingangssignal zu bilden, und iv) dritte Speichermittel (106), um das digitale Eingangssignal in einem transponierten Format zu speichern, wobei das horizontal und vertikal neu abgetastete digitale Eingangssignal nach der Umsetzung in den vertikalen Neuabtastmitteln (21, 104) die zweite vertikale Abtastgröße hat; c) Schaltmittel (110), die jede der Verarbeitungszellen (961,2,...,N ) mit den zweiten Speichermitteln (104) und den dritten Speichermitteln (106) verbinden, um das horizontal neu abgetastete digitale Eingangssignal für die Speicherung in den zweiten Speichermitteln (104) zu transponieren und um das horizontal und vertikal neu abgetastete digitale Eingangssignal für die Speicherung in den dritten Speichermitteln (106) zu transponieren, d) vierte Speichermittel (108), um das horizontal und vertikal neu abgetastete digitale Eingangssignal von den dritten Speichermitteln zu übertragen und um das übertragene Signal als das digitale Ausgangssignal bereitzustellen.
  2. Videoformat-Umsetzer nach Anspruch 1, bei dem die mehreren Verarbeitungszellen (961,2,...,N ) in einer Anzahl im Bereich von zwei bis acht vorhanden sind.
  3. Videoformat-Umsetzer nach Anspruch 2, bei dem die ersten Speichermittel mehrere Eingangsspeicherabschnitte, einen für jede Verarbeitungszelle (961,2,...,N ) umfassen, wobei jeder Eingangsspeicherabschnitt einen ersten First-in/First-out-Speicher (FIFO-Speicher) (100) umfasst, wobei das digitale Eingangssignal aus dem Eingangs-FIFO-Speicher (100) mit einer Rate gelesen wird, die doppelt so hoch ist wie jene, mit der das digitale Eingangssignal in den Eingangs-FIFO-Speicher (100) geschrieben wird.
  4. Videoformat-Umsetzer nach Anspruch 3, bei dem die vierten Speichermittel mehrere Ausgangsspeichermittelabschnitte, einen für jede Verarbeitungszelle (961,2,...,N ), umfassen, wobei jeder Ausgangsspeicherabschnitt einen ersten First-in/First-out-Speicher (FIFO-Speicher) (108) umfasst, wobei das horizontal und vertikal neu abgetastete digitale Ausgangssignal aus dem Ausgangs-FIFO-Speicher (108) mit einer Rate ausgelesen wird, die halb so hoch ist wie jene, mit der das horizontal und vertikal abgetastete digitale Ausgangssignal von den dritten Speichermitteln (106) an den Ausgangs-FIFO-Speicher (108) übertragen wird.
  5. Videoformat-Umsetzer nach Anspruch 4, bei dem das digitale Eingangssignal eine Orientierung in parallelen Zeilen hat und das digitale Ausgangssignal eine Orientierung in parallelen Zeilen hat und der ferner umfasst: a) einen Sequentiell-/Parallel-Zeilen-Demultiplexierer (150), um das digitale Eingangssignal mit Orientierung in parallelen Zeilen zu demultiplexieren, bevor das digitale Eingangssignal in jeden der Eingangs-FIFO-Speicherabschnitte (100) gespeichert wird; und b) einen Parallel-/Sequentiell-Zeilen-Multiplexierer (152), um jedes der in jedem der Ausgangs-FIFO-Speicherabschnitte (108) gespeicherten Signale zu multiplexieren, um das digitale Ausgangssignal in der Orientierung in parallelen Zeilen zu erzeugen.
  6. Verfahren zum Verarbeiten horizontaler und vertikaler Abtastinformationen eines digitalen Abtastdaten-Videoeingangssignals, wobei das digitale Abtastdaten-Videoeingangssignal in mehreren vertikalen Spalten aus Abtastwerten mit einer ersten vertikalen Abtastgröße pro Einheitslänge und mit mehreren horizontalen Zeilen von Abtastwerten einer ersten horizontalen Abtastgröße pro Einheitslänge angeordnet ist, um ein digitales Abtastdaten-Ausgangssignal zu erzeugen, wobei das digitale Ausgangssignal mehrere vertikale Spalten mit einer zweiten vertikalen Abtastgröße pro Einheitslänge und mehrere horizontale Zeilen mit einer zweiten horizontalen Abtastgröße pro Einheitslänge besitzt, wobei das Verfahren die folgenden Schritte umfasst: a) Lesen mehrerer horizontaler Zeilen des digitalen Videoeingangssignals aus einer ersten Speichervorrichtung (100); b) konkurrentes erneutes Abtasten der mehreren horizontalen Zeilen des digitalen Videoeingangssignals, das aus der ersten Speichervorrichtung (92) ausgelesen wird, in mehreren Verarbeitungszellen (961,2,...,N ); c) Speichern der erneut abgetasteten Mehrzahl horizontaler Zeilen des digitalen Videoeingangssignals in einer zweiten Speichervorrichtung (104) in mehreren vertikalen Spalten; d) Wiederholen der Schritte (a), (b) und (c) für jede nachfolgende Mehrzahl horizontaler Zeilen des in der ersten Speichervorrichtung (92) gespeicherten digitalen Videoeingangssignals, bis alle horizontalen Zeilen von der ersten Speichervorrichtung (92) in der zweiten Speichervorrichtung (104) in vertikalen Spalten als ein digitales Zwischensignal gespeichert worden sind; e) Lesen mehrerer horizontaler Zeilen des digitalen Zwischensignals aus dem zweiten Speicher (104); f) konkurrentes erneutes Abtasten der mehreren horizontalen Zeilen des digitalen Zwischensignals, das aus dem zweiten Speicher (104) gelesen wird, in den mehreren Verarbeitungszellen (961,2,...,N ); g) Speichern der erneut abgetasteten Mehrzahl horizontaler Zeilen des digitalen Zwischensignals in einer dritten Speichervorrichtung (106) in mehreren vertikalen Spalten des digitalen Ausgangssignals; h) Wiederholen der Schritte (e), (f) und (g) für jede nachfolgende Mehrzahl horizontaler Zeilen des digitalen Zwischensignals, das in der zweiten Speichervorrichtung (104) gespeichert ist, bis die Verarbeitung vollständig ist und alle horizontalen Zeilen von der zweiten Speichervorrichtung (104) in der dritten Speichervorrichtung (106) als das digitale Ausgangssignal gespeichert worden sind; und i) Übertragen des digitalen Ausgangssignals von der dritten Speichervorrichtung (106) an eine vierte Speichervorrichtung (108), um das digitale Ausgangssignal von der vierten Speichervorrichtung (108) bereitzustellen.
DE69635970T 1995-08-25 1996-06-28 Schaltung und Verfahren zur Umwandlung eines Fernsehsignals Expired - Fee Related DE69635970T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US519437 1995-08-25
US08/519,437 US5587742A (en) 1995-08-25 1995-08-25 Flexible parallel processing architecture for video resizing

Publications (2)

Publication Number Publication Date
DE69635970D1 DE69635970D1 (de) 2006-05-18
DE69635970T2 true DE69635970T2 (de) 2006-09-07

Family

ID=24068302

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69635970T Expired - Fee Related DE69635970T2 (de) 1995-08-25 1996-06-28 Schaltung und Verfahren zur Umwandlung eines Fernsehsignals

Country Status (5)

Country Link
US (1) US5587742A (de)
EP (1) EP0762760B1 (de)
JP (1) JP3890097B2 (de)
DE (1) DE69635970T2 (de)
ES (1) ES2262149T3 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867608A (en) * 1995-11-07 1999-02-02 Sun Microsystems, Inc. Method and apparatus for scaling images
EP0807922A1 (de) 1996-05-08 1997-11-19 Matsushita Electric Industrial Co., Ltd. Bilformatumwandlungseinrichtung mit Interpolationsfiltern
US5859651A (en) * 1996-08-19 1999-01-12 International Business Machines Corporation Method and apparatus for block data transfer to reduce on-chip storage for interpolative video resizing
US5796392A (en) 1997-02-24 1998-08-18 Paradise Electronics, Inc. Method and apparatus for clock recovery in a digital display unit
US6370198B1 (en) * 1997-04-07 2002-04-09 Kinya Washino Wide-band multi-format audio/video production system with frame-rate conversion
US6177922B1 (en) * 1997-04-15 2001-01-23 Genesis Microship, Inc. Multi-scan video timing generator for format conversion
DE19718657A1 (de) * 1997-05-02 1998-11-05 Philips Patentverwaltung Verfahren und Anordnung zur Bildpunktwertberechnung
US6549577B2 (en) * 1997-09-26 2003-04-15 Sarnoff Corporation Computational resource allocation in an information stream decoder
US5920354A (en) * 1998-01-13 1999-07-06 Thomson Consumer Electronics HDTV to NTSC transcoder system
KR100327202B1 (ko) * 1998-03-12 2002-05-09 윤종용 메모리를효율적으로사용하는영상기기와방법
US6424749B1 (en) 1999-03-30 2002-07-23 Matsushita Electric Industrial Co., Ltd. System and method for scaling combined video and computer generated imagery
US6353459B1 (en) * 1999-03-31 2002-03-05 Teralogic, Inc. Method and apparatus for down conversion of video data
US6327000B1 (en) * 1999-04-02 2001-12-04 Teralogic, Inc. Efficient image scaling for scan rate conversion
TW496093B (en) * 1999-07-07 2002-07-21 Koninkl Philips Electronics Nv Digital video-processing unit
US6496192B1 (en) * 1999-08-05 2002-12-17 Matsushita Electric Industrial Co., Ltd. Modular architecture for image transposition memory using synchronous DRAM
DE19962730C2 (de) * 1999-12-23 2002-03-21 Harman Becker Automotive Sys Videosignalverarbeitungssystem bzw. Videosignalverarbeitungsverfahren
US6600495B1 (en) * 2000-01-10 2003-07-29 Koninklijke Philips Electronics N.V. Image interpolation and decimation using a continuously variable delay filter and combined with a polyphase filter
US7151849B1 (en) 2000-01-11 2006-12-19 Zebra Imaging, Inc. Efficient block transform including pre-processing and post processing for autostereoscopic displays
US6549308B1 (en) * 2000-01-11 2003-04-15 Zebra Imaging, Inc. Unibiased light field models for rendering and holography
US6608621B2 (en) * 2000-01-20 2003-08-19 Canon Kabushiki Kaisha Image displaying method and apparatus
CN1269076C (zh) * 2000-04-21 2006-08-09 松下电器产业株式会社 像素运算装置
CN1383688A (zh) * 2000-04-21 2002-12-04 松下电器产业株式会社 像素运算装置
US7114162B2 (en) * 2000-12-06 2006-09-26 Microsoft Corporation System and methods for generating and managing filter strings in a filter graph
US6882891B2 (en) 2000-12-06 2005-04-19 Microsoft Corporation Methods and systems for mixing digital audio signals
US6983466B2 (en) * 2000-12-06 2006-01-03 Microsoft Corporation Multimedia project processing systems and multimedia project processing matrix systems
US6768499B2 (en) 2000-12-06 2004-07-27 Microsoft Corporation Methods and systems for processing media content
US6959438B2 (en) 2000-12-06 2005-10-25 Microsoft Corporation Interface and related methods for dynamically generating a filter graph in a development system
US7103677B2 (en) 2000-12-06 2006-09-05 Microsoft Corporation Methods and systems for efficiently processing compressed and uncompressed media content
US7287226B2 (en) 2000-12-06 2007-10-23 Microsoft Corporation Methods and systems for effecting video transitions represented by bitmaps
US6961943B2 (en) 2000-12-06 2005-11-01 Microsoft Corporation Multimedia processing system parsing multimedia content from a single source to minimize instances of source files
US6774919B2 (en) 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
US6912717B2 (en) 2000-12-06 2005-06-28 Microsoft Corporation Methods and systems for implementing dynamic properties on objects that support only static properties
US7447754B2 (en) 2000-12-06 2008-11-04 Microsoft Corporation Methods and systems for processing multi-media editing projects
US6765966B2 (en) 2000-12-19 2004-07-20 General Instrument Corporation Methods and apparatus for re-encoding a high definition television signal to create a standard definition television signal
US6828977B2 (en) * 2001-02-15 2004-12-07 Sony Corporation Dynamic buffer pages
US7379069B2 (en) * 2001-02-15 2008-05-27 Sony Corporation Checkerboard buffer using two-dimensional buffer pages
US6795079B2 (en) * 2001-02-15 2004-09-21 Sony Corporation Two-dimensional buffer pages
US6803917B2 (en) * 2001-02-15 2004-10-12 Sony Corporation Checkerboard buffer using memory bank alternation
US6836294B2 (en) * 2001-03-29 2004-12-28 Matsushita Electric Industrial Co., Ltd. Method of decreasing delay through frame based format converters
US6993207B1 (en) * 2001-10-05 2006-01-31 Micron Technology, Inc. Method and apparatus for electronic image processing
US6765622B2 (en) * 2001-10-26 2004-07-20 Koninklijke Philips Electronics N.V. Line-buffer reuse in vertical pixel-processing arrangement
US20030080981A1 (en) * 2001-10-26 2003-05-01 Koninklijke Philips Electronics N.V. Polyphase filter combining vertical peaking and scaling in pixel-processing arrangement
US20030189581A1 (en) * 2002-04-08 2003-10-09 Nasoff David G. Content based window filtering for simultaneous display of multiple high-quality video and graphics windows
US7084924B2 (en) * 2003-03-24 2006-08-01 Matsushita Electric Industrial Co., Ltd. Method, apparatus, and system for displaying widescreen video images on standard video displays
KR100519776B1 (ko) * 2003-11-24 2005-10-07 삼성전자주식회사 영상 신호의 해상도 변환 방법 및 장치
US20050157171A1 (en) * 2004-01-15 2005-07-21 Bowser Todd S. Reducing burn-in associated with mismatched video image/display aspect ratios
WO2005076993A2 (en) * 2004-02-09 2005-08-25 Regis Development, L.L.C. Computer presentation and command integration apparatus and method
US20080309817A1 (en) * 2004-05-07 2008-12-18 Micronas Usa, Inc. Combined scaling, filtering, and scan conversion
US7408590B2 (en) * 2004-05-07 2008-08-05 Micronas Usa, Inc. Combined scaling, filtering, and scan conversion
US7411628B2 (en) * 2004-05-07 2008-08-12 Micronas Usa, Inc. Method and system for scaling, filtering, scan conversion, panoramic scaling, YC adjustment, and color conversion in a display controller
US7777812B2 (en) * 2005-11-18 2010-08-17 Sharp Laboratories Of America, Inc. Methods and systems for picture resampling
JP2007201995A (ja) * 2006-01-30 2007-08-09 Matsushita Electric Ind Co Ltd 映像データ転送処理装置および監視カメラシステム
JP4987364B2 (ja) * 2006-06-23 2012-07-25 株式会社東芝 ラインメモリ実装装置とテレビジョン受信装置
KR100806858B1 (ko) * 2006-09-26 2008-02-22 삼성전자주식회사 고화질 영상표시장치 및 그 프레임레이트변환방법
US8270765B1 (en) 2008-07-31 2012-09-18 Adobe Systems Incorporated Hybrid seam carving and scaling of images with configurable energy threshold
US8290300B2 (en) 2008-07-31 2012-10-16 Adobe Systems Incorporated Seam-based reduction and expansion of images with color-weighted priority
US8280191B1 (en) 2008-07-31 2012-10-02 Abode Systems Incorporated Banded seam carving of images with pyramidal retargeting
US8218900B1 (en) 2008-07-31 2012-07-10 Adobe Systems Incorporated Non-linear image scaling with seam energy
US8270766B1 (en) 2008-07-31 2012-09-18 Adobe Systems Incorporated Hybrid seam carving and scaling of images with configurable carving tolerance
US8280187B1 (en) 2008-07-31 2012-10-02 Adobe Systems Incorporated Seam carving and expansion of images with color frequency priority
US8265424B1 (en) 2008-07-31 2012-09-11 Adobe Systems Incorporated Variable seam replication in images with energy-weighted priority
US8625932B2 (en) 2008-08-28 2014-01-07 Adobe Systems Incorporated Seam carving using seam energy re-computation in seam neighborhood
US8180177B1 (en) 2008-10-13 2012-05-15 Adobe Systems Incorporated Seam-based reduction and expansion of images using parallel processing of retargeting matrix strips
US8581937B2 (en) 2008-10-14 2013-11-12 Adobe Systems Incorporated Seam-based reduction and expansion of images using partial solution matrix dependent on dynamic programming access pattern
US8963960B2 (en) 2009-05-20 2015-02-24 Adobe Systems Incorporated System and method for content aware hybrid cropping and seam carving of images
US8659622B2 (en) 2009-08-31 2014-02-25 Adobe Systems Incorporated Systems and methods for creating and editing seam carving masks
JP2011141823A (ja) * 2010-01-08 2011-07-21 Renesas Electronics Corp データ処理装置および並列演算装置
JP5739758B2 (ja) * 2011-07-21 2015-06-24 ルネサスエレクトロニクス株式会社 メモリコントローラ及びsimdプロセッサ
US20180095929A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Scratchpad memory with bank tiling for localized and random data access

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3177271D1 (de) * 1980-04-11 1992-03-19 Ampex Umstellungsspeicher fuer bildwandlersystem.
US4631750A (en) * 1980-04-11 1986-12-23 Ampex Corporation Method and system for spacially transforming images
FR2492617A1 (fr) * 1980-10-17 1982-04-23 Micro Consultants Ltd Systeme de traitement d'images video
EP0076259B1 (de) * 1981-04-10 1989-08-16 Ampex Corporation Steuerung für ein gerät zur räumlichen transformation von bildern
ATE45258T1 (de) * 1981-04-10 1989-08-15 Ampex Geraet zur raeumlichen transformation von bildern.
US4812099A (en) * 1985-03-01 1989-03-14 Quipp Incorporated Signature stacker
US4652908A (en) * 1985-03-25 1987-03-24 Rca Corporation Filtering system for processing a reduced-resolution video image
US4661987A (en) * 1985-06-03 1987-04-28 The United States Of America As Represented By The Secretary Of The Navy Video processor
US4774581A (en) * 1987-04-14 1988-09-27 Rca Licensing Corporation Television picture zoom system
US5057911A (en) * 1989-10-19 1991-10-15 Matsushita Electric Industrial Co., Ltd. System and method for conversion of digital video signals
DE69031865T2 (de) * 1990-02-28 1998-08-06 Texas Instruments Inc Ein SIMD-Prozessor als digitales Filter
GB2244887A (en) * 1990-04-11 1991-12-11 Rank Cintel Ltd Spatial transformation of video images
GB2264417B (en) * 1992-02-17 1995-12-06 Sony Broadcast & Communication Video standards conversion
JPH05283978A (ja) * 1992-03-31 1993-10-29 Sony Corp サンプリングレート変換装置
US5331346A (en) * 1992-10-07 1994-07-19 Panasonic Technologies, Inc. Approximating sample rate conversion system
US5274372A (en) * 1992-10-23 1993-12-28 Tektronix, Inc. Sampling rate conversion using polyphase filters with interpolation
KR960015397B1 (ko) * 1993-03-17 1996-11-11 엘지전자 주식회사 사이드컷 모드 및 상하절단 모드를 적용한 고화질 티브이신호 변환회로
US5528301A (en) * 1995-03-31 1996-06-18 Panasonic Technologies, Inc. Universal video format sample size converter

Also Published As

Publication number Publication date
EP0762760A3 (de) 1998-08-26
JP3890097B2 (ja) 2007-03-07
EP0762760B1 (de) 2006-03-29
JPH09135425A (ja) 1997-05-20
EP0762760A2 (de) 1997-03-12
DE69635970D1 (de) 2006-05-18
ES2262149T3 (es) 2006-11-16
US5587742A (en) 1996-12-24

Similar Documents

Publication Publication Date Title
DE69635970T2 (de) Schaltung und Verfahren zur Umwandlung eines Fernsehsignals
DE69126909T2 (de) Videosignalanzeigevorrichtung
DE4231158C5 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE3878504T2 (de) Vorrichtung zur verarbeitung eines videosignals.
DE69630345T2 (de) Videovergrösserungsgerät
DE69026521T2 (de) Regelbare Anti-Aliasfilter
DE69124050T2 (de) Videoanzeigegerät mit einer festen zweidimensionalen Matrix von Bildelementen
DE69126665T2 (de) Halbbildsynchronisierungssystem mit schreib-/lesezeigersteuerung
DE69417476T3 (de) Fernsehgerät fähig zum Vergrössern und Verkleinern des Bildes
DE69210303T2 (de) Breitbildschirmfernsehempfänger mit Bildseitenverhältnisumwandlungsfunktion und Verfahren zur Darstellung eines vergrösserten Abschnittes
DE69034167T2 (de) Fernsehgerät
DE69218396T2 (de) Rekursiver Video Signal Prozessor
DE69532640T2 (de) Adaptives mehrpunktvideogestaltungs- und überbrückungssystem
DE69022752T2 (de) Interaktive Audio-Video-Anzeige.
DE69839039T2 (de) Vorrichtung und verfahren zur skalierung und flickerreduktion mit dynamischer koeffizientengewichtung
DE69219596T2 (de) Digitales bildinterpolationssystem für zoom und schwenkeffekte
DE2919493C2 (de) Schaltungsanordnung zur Erzeugung einer digitalen Video-Mischsignalfolge, die ein aus mehreren Fernsehbildern zusammengesetztes Bild darstellt
DE4300043A1 (en) Wide-screen TV picture-within-picture horizontal deflection system - transfers succession of lines of smaller picture from memory with delay variable for selected horizontal position.
DE69736796T2 (de) Abtastzeilenumwandlungsschaltung und Interpolationskoeffizienterzeugungsschaltung
DE69010802T2 (de) Vorrichtung zur Umwandlung der Bildfrequenz und des Zeilenanzähles für einen hochauflösenden Fernsehempfänger.
DE3887340T2 (de) Videowiedergabesystem.
DE3687234T2 (de) Video-uebertragungs-systeme.
DE69839079T2 (de) System und verfahren für 2-abgriff/3-abgriff flimmerfiltern
DE19901370B4 (de) Bildrahmensynchronisationsvorrichtung und Verfahren
DE68923289T2 (de) Videosignal-verarbeitung und bildspeicher.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee