DE69830661T2 - Digitales videosystem und verfahren zur verfuegungstellung desselben - Google Patents

Digitales videosystem und verfahren zur verfuegungstellung desselben Download PDF

Info

Publication number
DE69830661T2
DE69830661T2 DE69830661T DE69830661T DE69830661T2 DE 69830661 T2 DE69830661 T2 DE 69830661T2 DE 69830661 T DE69830661 T DE 69830661T DE 69830661 T DE69830661 T DE 69830661T DE 69830661 T2 DE69830661 T2 DE 69830661T2
Authority
DE
Germany
Prior art keywords
video
video stream
interlaced
field
data
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 - Lifetime
Application number
DE69830661T
Other languages
English (en)
Other versions
DE69830661D1 (de
Inventor
R. Dale ADAMS
A. Laurence THOMPSON
D. Jano BANKS
C. David BUUCK
Hwee Cheng CHEE
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.)
Silicon Image Inc
Original Assignee
Silicon Image Inc
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 Silicon Image Inc filed Critical Silicon Image Inc
Publication of DE69830661D1 publication Critical patent/DE69830661D1/de
Application granted granted Critical
Publication of DE69830661T2 publication Critical patent/DE69830661T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B33/00Constructional parts, details or accessories not provided for in the other groups of this subclass
    • G11B33/10Indicating arrangements; Warning arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • G06T5/70
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B33/00Constructional parts, details or accessories not provided for in the other groups of this subclass
    • G11B33/02Cabinets; Cases; Stands; Disposition of apparatus therein or thereon
    • G11B33/022Cases
    • G11B33/025Portable cases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • 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/0112Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1631Panel PC, e.g. single housing hosting PC and display panel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0229De-interlacing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/147Scene change detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/66Transforming electric information into light information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein die Technologie von tragbaren Video-Spielern und die Verarbeitung von Videobildern und insbesondere Techniken für das De-Interlacing und Verbessern von Videobildern.
  • 2. Beschreibung des Standes der Technik
  • Wegen der Vorteile, die digitales Video zu bieten hat, kam es zu einer raschen Entwicklung von der analogen Video-Technologie hin zur digitalen Video-Technologie. Digitales Video kann mit geringeren Kosten als analoges Video gespeichert und vertrieben werden, da digitales Video auf Direktzugriffs-Medien wie beispielsweise Magnetplattenlaufwerke (Festplatten) und Laserplatten-Medien, auch als Compact Disc (CD) bekannt, gespeichert werden kann. Sobald die Speicherung auf einem Medium mit direktem Zugriff erfolgt ist, kann digitales Video interaktiv werden und daher in Spielen, Katalogen, beim Training, im Unterricht und anderweitig Anwendung finden.
  • Eines der neuesten Produkte, das auf digitaler Video-Technologie basiert, ist die digitale Videoplatte, manchmal "Digital Versatile Disc" oder einfach "DVD" genannt. Diese Platten haben die Größe einer Audio-CD und können dennoch bis zu 17 Billionen Datenbytes speichern, d.h. 26 mal die Daten einer Audio-CD. Die Speicherkapazität von DVDs (17 Gbyte) ist sehr viel höher als die einer CD-ROM (600 Mbyte), und eine DVD kann die Daten mit einer höheren Rate liefern als eine CD-ROM. Aus diesem Grund stellt die DVD-Technologie gegenüber traditionellen Systemen wie Fernseher, VCR und CD-ROM eine enorme Verbesserung der Bild- und Tonqualität dar.
  • Jedoch ist ein wesentliches Problem, das sich bei der Nutzung von DVD und anderen digitalen Video-Technologien für die Anzeige vom Bewegt-Bildern stellt, dass die Bewegt-Bilder in unterschiedlichen Frame-Geschwindigkeiten vorliegen. So wird ein Standardfilm zum Beispiel mit einer Rate von 24 Hz aufgenommen, während eine nach der US-Fernsehnorm National Television System Committee (NTSC) ausgestrahlte Sendung die Bewegung mit 60 Hz fortschreibt. Die Konvertierung eines Films in digitales Video durch ein Verfahren, das De-Interlacing genannt wird, produziert häufig eine deutlich wahrnehmbare Reduzierung der Auflösung sowie Verzerrungen, die als Bewegungs-Artefakte bekannt sind.
  • Ein weiteres Problem bei der Nutzung der digitalen Video-Technologie sind die unterschiedlichen Formate der Filme. Beispielsweise sind Kinofilme für eine Breitwand formatiert, während Video-Anzeigen häufig viel schmaler sind. Eine Videobildskalierung konvertiert ein digitales oder digitalisiertes Bild von einem Format in ein anderes. So kann es beispielsweise notwendig sein, ein digitales Bild mit einer räumlichen Auflösung von 720 horizontalen mal 480 vertikalen Pixel in eine andere Auflösung zu konvertieren, damit das Bild auf einem bestimmten Anzeigegerät, zum Beispiel auf einer Flüssigkristallanzeige mit einer festen Auflösung von 640 × 480, angezeigt werden kann. Jedoch liefern die meisten Videoskalierverfahren nach dem Stand der Technik eine schlechte Auflösung in dem konvertierten Bild. Skalierverfahren, die hinsichtlich der Auflösung Qualität bieten, sind extrem teuer in der Implementierung.
  • Ein noch weiteres Problem bei der Videoskalierung ist der gegebenenfalls notwendige Datentransfer zwischen zwei asynchronen und/oder unterschiedlichen Datenratenbereichen. Nimmt man das im vorhergehenden Absatz genannte Beispiel, so erfordert eine Skalierung von 720 horizontalen Pixel auf 640 Pixel (Verhältnis 9:8) eine Schnittstelle zwischen einem 54 Mhz-Bereich und einem 48 Mhz-Bereich (Verhältnis 9:8). Im Stand der Technik wurden für die Übertra gung von Daten zwischen zwei asynchronen und/oder unterschiedlichen Datenratenbereichen große, teuere Puffer verwendet.
  • Ein weiterer Grund für die schwierig zu nutzende digitale Video-Technologie ist, dass DVD-Spieler normalerweise große, unhandliche und daher schwer zu transportierende Geräte sind. Hinzu kommt, dass DVD-Spieler für ihren Betrieb an einem Video-Anzeigegerät wie zum Beispiel einem Fernsehgerät oder TV-Bildschirm angeschlossen sein müssen, wodurch es praktisch unmöglich ist, solche Geräte unter eingeschränkten Platzverhältnissen zu verwenden. Mobile Videosysteme nach dem Stand der Technik sind ferner mit vielen unangenehmen Problemen behaftet. Tragbare und mobile Fernsehgeräte haben die typischen Empfangskrankheiten wie Frequenzüberlagerungen und eine schwache oder sprunghafte Signalstärke in ländlichen Gegenden. Integrierte TV/VCR-Kombi-Einheiten begegnen diesem Problem, indem sie für die Möglichkeit einer Band-Wiedergabe sorgen, doch sind die Abmessungen dieser Geräte tendenziell groß, und die Geräte sind nicht wirklich tragbar.
  • Angesichts der vorstehenden Ausführungen besteht der Wunsch nach einem tragbaren Video-Spieler, der leicht transportiert werden und unter vielfältigen Bedingungen benutzt werden kann. Ferner sind ein Verfahren und eine Vorrichtung für ein De-Interlacing und für eine Umformatierung wünschenswert, dergestalt, dass bei einer Eliminierung von Bewegungs-Artefakten die volle Auflösung eines Bildes erhalten bleibt. Weiterhin sind ein Verfahren und eine Vorrichtung wünschenswert, das/die für eine Videoskalierung und vertikale Verarbeitung mit hoher Qualität sorgt. Schließlich werden ein Verfahren und eine Vorrichtung gewünscht, das/die bei minimalen Kosten eine asynchrone Datenschnittstelle vorsieht, wobei sich große und teuere Puffer gleichzeitig erübrigen.
  • Die Dokumente US 5,661,525 und US 4,937,667 beschreiben das De-Interlacing einer interlaced Videobildsequenz unter Verwendung von Interpolationsschätzungen wie beispielsweise räumlichen und zeitlichen Interpolationen.
  • Übersicht der Erfindung
  • Die vorliegende Erfindung sorgt für einen digitalen Bildverbesserer gemäß Anspruch 1 und für ein Verfahren zur Verarbeitung von digitalem Video gemäß Anspruch 6.
  • Es versteht sich, dass die vorliegende Erfindung auf viele Weisen implementiert sein kann, unter anderem als Prozess, als Vorrichtung, als System, als Gerät oder als Verfahren. Verschiedene Ausführungsformen der vorliegenden Erfindung werden nachstehend beschrieben.
  • In einer Ausführungsform der vorliegenden Erfindung ist ein digitaler Bildverbesserer offenbart. Der digitale Bildverbesserer umfasst einen De-Interlace-Prozessor, der für einen interlaced Videostrom empfänglich ist. Der De-Interlace-Prozessor umfasst einen ersten De-Interlacer und einen zweiten De-Interlacer und liefert einen de-interlaced Videostrom. Der digitale Bildverbesserer umfasst auch einen Videoausgabeprozessor, der für die Ausgabe des de-interlaced Videostroms empfänglich ist, für die Bereitstellung eines skalierten de-interlaced Videostroms.
  • In einer weiteren Ausführungsform der vorliegenden Erfindung ist ein digitaler Bildverbesserer offenbart, der einen De-Interlace-Prozessor umfasst, der für einen interlaced Videostrom empfänglich ist und der wirksam ist, für einen de-interlaced Videostrom zu sorgen. Der digitale Bildverbesserer umfasst auch einen Videoausgabeprozessor, der für die Ausgabe des De-Interlace-Prozessors empfänglich ist. Der De-Interlace-Prozessor verarbeitet den interlaced Videostrom in vertikalen Slices, um einen skalierten de-interlaced Videostrom bereitzustellen.
  • In einer noch weiteren Ausführungsform der vorliegenden Erfindung ist ein tragbarer DVD-Spieler offenbart. Der tragbare DVD-Spieler umfasst ein allge mein dünnes prismatisches Gehäuse mit einer ersten großen Oberfläche, einer von der ersten großen Oberfläche getrennten zweiten großen Oberfläche und mit Seitenflächen, die die erste große Oberfläche mit der zweiten großen Oberfläche verbinden. Zumindest ein Abschnitt der ersten großen Oberfläche weist ein Video-Display auf, und das Gehäuse hat eine DVD-Einschuböffnung, so dass eine DVD in das Gehäuse eingelegt werden kann.
  • Der tragbare DVD-Spieler umfasst auch ein digitales Verarbeitungssystem mit einem Dekodierer, einer Bildverbesserungs-Engine und einer Display-Steuereinheit. Der Dekodierer empfängt Signale von einer in das Gehäuse eingelegten DVD, um ein decodiertes interlaced Videosignal bereitzustellen. Die Bildverbesserungs-Engine konvertiert das interlaced Videosignal in ein de-interlaced Videosignal. Die Display-Steuereinheit nutzt das de-interlaced Videosignal, um ein progressiv abgetastetes Video auf dem Video-Display bereitzustellen.
  • In einer noch weiteren Ausführungsform der vorliegenden Erfindung ist ein Verfahren für die Verarbeitung von digitalem Video offenbart. Das Verfahren umfasst das De-Interlacing eines interlaced Videostroms durch zumindest eines von einer Anzahl von De-Interlace-Verfahren, um einen de-interlaced Videostrom zu liefern. Das Verfahren umfasst auch das Skalieren des de-interlaced Videostroms.
  • Weitere Aspekte und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Detailbeschreibung im Zusammenhang mit den anliegenden Zeichnungen, in denen die Grundgedanken der Erfindung anhand von Beispielen dargestellt sind.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung ist durch die folgende Detailbeschreibung in Verbindung mit den anliegenden Zeichnungen ohne weiteres verständlich. Zur Ver einfachung der Beschreibung sind gleiche Bauteile mit gleichen Bezugszeichen versehen.
  • 1A und 1B zeigen einen tragbaren DVD-Spieler gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2A, 2B und 2C zeigen mehrere unterschiedliche Anwendungen für den DVD-Spieler gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2D zeigt eine Andockstation und einen damit verbundenen Video-Monitor für den DVD-Spieler gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2E zeigt einen "DeskTablet®"-DVD-Spieler gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 ist ein Blockdiagramm des elektronischen Schaltkreises des DVD-Spielers gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 zeigt ein Systemdiagramm der Bildverbesserungs-Engine (IE2) gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 5 zeigt ein Verfahren zum Kombinieren von Fields zu Frames in einem De-Interlace-Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 6 ist ein Blockdiagramm eines Video-De-Interlacers gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 7 ist ein Systemdiagramm eines progressiven Frame-Detektors gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 8 ist ein Flussdiagramm der Verarbeitungsschritte in einem Field-Differenzierungsmodul gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 9 stellt Details des Frequenz-Detektionsmoduls gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • 10 ist ein Systemdiagramm des PFPD-Moduls gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 11 ist eine Darstellung eines De-Interlace-Prozesses gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 12 zeigt ein zweidimensionales Array von Pixelwerten, das zur Beschreibung der vorliegenden Erfindung verwendet wird.
  • 13 ist ein Diagramm zur Darstellung eines Verfahrens zur Gewinnung eines Ausgabe-Pixel aus dem zweidimensionalen Array von 12 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 14A ist eine für die Beschreibung des Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung verwendete Illustration.
  • 14B ist ein Graph einer Gruppe von Samples von der Abtastzeile von 14A.
  • 14C ist ein Graph einer abgetasteten Cosinuswelle.
  • 15 ist eine Darstellung, die verwendet wird für die Beschreibung eines Schwellwertverfahrens in Anwendung auf einen Detektionswert gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 16 ist ein Blockdiagramm einer Mischschaltung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 17 ist ein Diagramm eines exemplarischen Betriebs der Mischschaltung gemäß einer Ausführungsform der vorliegenden Erfindung, wenn der DV größer als "0", jedoch kleiner als "1" ist.
  • 18 ist eine Darstellung eines Verfahrens für die Detektion von diagonalen Merkmalen gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 19 ist ein Blockdiagramm einer Diagonal-Mischschaltung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 20 ist ein Diagramm, das die Pixel eines zweiten Arrays zeigt, das für die Berechnung der Ausgabe der Diagonal-Mischschaltung von 16 verwendet wird.
  • 21 ist ein Flussdiagramm eines Diagonal-Detektionsverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 22 ist ein Beispiel eines FIR-Filters mit variabler Skalierung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 23 ist ein Graph von Tiefpass-Filterkoeffizienten in dem Zeitbereich.
  • 24 ist eine Tabelle von Koeffizienten, die in L Gruppen von "mults" pro Gruppe organisiert ist.
  • 25 ist ein Flussdiagramm eines Verfahrens für eine Quantisierung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 26 ist ein Flussdiagramm eines Verfahrens zum Ändern von Koeffizienten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 27 stellt einen Video-Frame gemäß einer Ausführungsform der vorliegenden Erfindung dar, welcher in eine Anzahl von vertikalen Slices unterteilt ist, für eine Slice-Abtastsequenz, die durch eine entsprechende Anzahl von Abtastzeilen veranschaulicht ist.
  • 28 zeigt ein Beispiel eines initialen Slice-Kerns, bei dem ein Problem mit nicht verfügbaren Daten an seinem linken und rechten Rand besteht.
  • 29 zeigt einen Slice, bei dem entlang des linken und rechten Rands des initialen Slice-Kerns Wings angefügt sind.
  • 30 zeigt eine Gesamtstruktur von überlappenden Slice/Wing-Kombinationen.
  • 31 ist ein Flussdiagramm zur Darstellung eines Verfahrens zur Verarbeitung von Video gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 32 zeigt ein Systemdiagramm für einen Videoprozessor auf Slice-Basis gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 33 zeigt ein Systemdiagramm einer Videoverarbeitungs-Chiparchitektur gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 34 ist ein Diagramm einer asynchronen Schnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 35 ist ein Diagramm einer alternativen asynchronen Schnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 36 ist ein Diagramm einer 3-Puffer-Synchronisierer-Sequenz zur Darstellung der Sequenzierung und der relativen Beziehungen von Schreib- und Lesevorgängen zu drei RAM-Puffern gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 37 ist ein Flussdiagramm eines Verfahrens für eine Sequenzierung durch RAM-Adressen und Module gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 38 ist ein Diagramm eines Synchronisierers der vorliegenden Erfindung, der für die Nutzung bei einer Video-Skalieranwendung gemäß einer Ausführungsform der vorliegenden Erfindung konfiguriert ist.
  • Detailbeschreibung der bevorzugten Ausführungsformen
  • Die nachstehende Beschreibung enthält zahlreiche spezielle Details, die dazu beitragen, dass die vorliegende Erfindung von Grund auf verstanden wird. Der Fachmann wird jedoch erkennen, dass die praktische Ausführung der Erfindung auch ohne diese Details oder ohne manche dieser Details möglich ist. Andererseits wurde aus Gründen der Übersichtlichkeit der Erfindung auf die detaillierte Beschreibung von hinlänglich bekannten Prozess-Operationen verzichtet.
  • Die 1A und 1B zeigen einen tragbaren DVD-Spieler 10 gemäß einer Ausführungsform der vorliegenden Erfindung. Der DVD-Spieler 10 umfasst ein Gehäuse 12, das als Umhüllung oder Chassis für die Komponenten des DVD-Spielers 10 dient. An der Oberfläche des Gehäuses 12 befinden sich ein Bildschirm 14 für die Video-Betrachtung und Bedienknöpfe 16 zum Bedienen des DVD-Spielers 10. Netzstrom- und Signal-Schnittstellen 18 befinden sich an einer der beiden Seitenflächen des Gehäuses 12, während eine Infrarot-(IR)-Schnittstelle 20 und eine Medien-Schublade 22 an der anderen Seitenfläche vorgesehen sind. Eine DVD 24 kann in eine geeignet konfigurierte Vertiefung in der Medien-Schublade 22 eingelegt werden, und die Medien-Schublade 22 bewegt sich zurück in das Gehäuse 12, um das Abspielen der DVD 24 zu ermöglichen.
  • 2A ist eine Darstellung der Benutzung in einem Fahrzeug, doch lässt sich die Vorstellung auf die meisten Arten von Transportmitteln ausdehnen. Die vorliegende Erfindung ist ideal geeignet für den Reisenden, der viele Stunden pas siv in Verkehrsmitteln wie Flugzeug, Zug oder U-Bahn verbringt, wie das in 2B dargestellt ist. Darüber hinaus sind auch viele kommerzielle Anwendungen möglich, zum Beispiel Video-Werbung in Taxis oder an anderen Plätzen, an denen sich Publikum notgedrungen aufhält. Ebenso lässt sich die vorliegende Erfindung an dem Magazinhalter eines jeden Stairmaster®-Fitnessgeräts und Heimtrainers in einem Fitness-Center anbringen, wie das in 2C dargestellt ist.
  • Die vorliegende Erfindung ist überall dort einsetzbar, wo eine portable Video-Abspielung benötigt wird. Die vorliegende Erfindung ist die ideale mobile Lösung für sämtliche Orte, an denen eine großartige Ton-, DVD- oder CD Wiedergabe oder Fernsehen gewünscht wird. Sehr gute Beispiele für die Nutzungsvielfalt der vorliegenden Erfindung sind: Unterhaltung in Flugzeugen, Filme, Videos, individuelles Lernen und Studieren (jede Disk kann Tausende von Büchern speichern) und an Ort und Stelle einsetzbare Do-it-yourself-Videos beispielsweise für Autoreparatur, Haus und Garten und Kochen.
  • Ferner kann die vorliegende Erfindung als tragbares Videoanzeigegerät für Videospiele, Camcorder-Wiedergabe oder Bildbetrachtung bei einer Digital-Einzelbildkamera und für OEM-Anwendungen wie Video-Kiosks, kommerzielle Fluglinien und Fitness Center Verwendung finden. Der tragbare DVD-Spieler 10 kann auch für die Präsentation von Verkaufsinhalten verwendet werden: Videos in Bussen, Aufzügen, Taxis oder eine Führung durch Immobilien etc. Er lässt sich sogar als Fernseh-Flachbildschirm oder als Anzeigevorrichtung für Kunst- und Architektur-Disks, konstruktive Kunst etc. an der Wand aufhängen.
  • 2D zeigt eine "Heimkino-Andockstation", die eine Verbindung mit nur einem Handgriff vorsieht sowie die Möglichkeit des Betriebs als einfacher DVD-Spieler in Verbindung mit einem normalen Fernsehgerät. Das Dock sieht eine verkabelte elektrische Schnittstelle zu einem Fernsehgerät oder anderen Heimkinoelementen – zum Beispiel zu einem Audiosystem – vor, die als permanente Einrichtung am Ort verbleibt, wenn die vorliegende Erfindung in einem externen System verwendet wird. Das Dock hat vorzugsweise die gleiche Form wie ein typischer VCR und ist so gestaltet, dass es sich in die restlichen Systemkomponenten, die der Benutzer besitzt, einfügt und dass sofort erkennbar ist, für welche Funktion es vorgesehen ist.
  • Der Andockstation ist vorzugsweise eine Infrarot-Fernbedienung beigepackt. Die Fernbedienung ist serienmäßig mit einem umfangreichen Bedienfeld ausgestattet, das optimiert ist für den Zugriff auf sämtliche Erweiterungsfunktionen, die mit dem DVD-Format verfügbar sind. Zentraler Punkt bei der Gestaltung dieser Fernbedienung ist ein äußerst attraktives Industriedesign, das die sonst übliche unübersichtliche und kompliziert zu bedienende "Flut von Knöpfen", wie man sie bei Fernbedienungen von Verbraucherprodukten häufig findet, sorgfältig vermeidet.
  • 2E zeigt eine Ausführungsform der vorliegenden Erfindung für den Desktop-Markt, die im folgenden als "DeskTablet®"-DVD-Spieler bezeichnet wird. Der DeskTablet findet zum Beispiel Anwendung im Schlafzimmer, im Arbeitszimmer oder in der Küche, d.h. an Orten, an denen die Einheit sozusagen "fest" aufgestellt werden muss. Dieses Produkt ist im wesentlichen in einer Marketingkategorie mit konventionellen TV/VCR-Kombinationseinheiten. In der Form ähnlich wie "Monorail"-Personal Computer kann der schlanke DeskTablet freistehend oder an der Wand hängend betrieben werden. Befreit von vielen portabilitätsbedingten Einschränkungen, die von der mobilen Maschine der vorliegenden Erfindung gefordert werden, hat der DeskTablet ein integriertes Lautsprechersystem hoher Qualität.
  • 3 ist ein Blockdiagramm des Antriebsmoduls 26 des DVD-Spielers 10 der 1 und 2. Das Antriebsmodul 26 enthält die Medien-Schublade 22, die die DVD liest. Die Videodaten von der DVD werden dann zu einem MPEG/Dolby Digital (oder "MPEG/AC-3")-Dekodierer 28 übertragen. Nach der Dekodierung de-interlaced eine Bildverbesserungs-, d.h. Image Enhancement Engine® (IE2) 30 das digitale Video, um ein progressiv abgetastetes Videosignal zu liefem. Das Video wird schließlich durch ein Display 36 angezeigt.
  • Neben anderen dargestellten Komponenten, Bussen und Subsystemen umfasst das DVD-Antriebsmodul 26 auch eine Audio/Infrarot-Verbindung 32, eine System-Steuereinheit 34, ein Batteriepaket 38, ein Netzteil 40, einen Video-Datenpuffer 42 und eine Benutzer-Schnittstelle. Die Komponenten des DVD-Antriebsmoduls 26 befinden sich hauptsächlich in dem Gehäuse 12 und werden nachstehend jeweils im Detail erläutert.
  • Die DVD-Schublade 22 arbeitet vorzugsweise mit einem handelsüblichen Antriebsmodul 26, das für tragbare Computer entwickelt ist. Das Antriebsmodul 26 ist vorzugsweise siebzehn oder weniger als siebzehn Millimeter dick und ermöglicht daher eine sehr schlanke Bauform des Systems. Ein geeignetes DVD-Antriebsmodul 26 ist bei Toshiba America Information Systems, Inc., Tokyo, Japan erhältlich. Das Antriebsmodul 26 der vorliegenden Erfindung ist vorzugsweise physisch und elektronisch gegen mechanische Stöße und Schläge isoliert. Insbesondere ist das Antriebsmodul 26 in dem Gehäuse 12 fest gegen mechanische Stöße montiert, und Daten aus dem Antriebsmodul 26 werden vor der Dekodierung eine Weile zwischengespeichert, um ein nochmaliges Lesen von Sektoren zu ermöglichen, falls der Datenstrom bedingt durch einen Stoß bzw. eine Erschütterung unterbrochen wurde.
  • Der MPEG/Dolby Digital-Dekodierer 28 ist vorzugsweise ein Ein-Chip-Dekodierer, der für handelsübliche DVD-Spieler gebaut ist. Vorzugsweise führt er eine MPEG-1 und MPEG-2-Dekodierung, Dolby Digital ("AC-3"), MPEG und LPCM Audio-Dekodierung durch, hat eine A/V-Synchronisation und verfügt über die Charakteristik, dass für die Datenspeicherung und Pufferung nur eine einzige Speichereinrichtung notwendig ist. Derartige Dekodierer gibt es von einer Viel zahl von Herstellern, unter anderem von C-Cube Microsystems of Milpitas, Kalifornien.
  • Die IE2 30 de-interlaced vorzugsweise digitales Video von einer DVD oder einer beliebigen anderen Quelle, um progressiv abgetastete Videosignale zu liefern, wobei herstellerspezifische Hardware für Bewegungsdetektion und Kompensation enthalten ist. Ferner korrigiert sie vorzugsweise Helligkeit, Kontrast, Gamma und Farbtemperatur für eine klare und genaue Videoanzeige. Um das Bild weiter zu verbessern, wird eine hochwertige Scaling Engine der IE2 30 vorzugsweise für die Konvertierung eines Videobilds von rechteckigen in quadratische Pixel und zum Skalieren des Videos für eine Vollbilddarstellung auf anderen Flat Panel-Größen als 640 × 480 verwendet.
  • Die Audi/IR-Verbindung 32 (umfassend einen oder mehrere integrierte Schaltungschips) dekodiert den Dolby Digital-Datenstrom, der von dem MPEG2/Dolby Digital-Dekodierer 28 bereitgestellt wird, mischt 5.1 Kanäle auf 2 Kanäle für eine konventionelle Stereoausgabe ab und kodiert/verarbeitet 5.1 Kanäle für eine Surround-Kopfhörerausgabe (optionales Modul). Stereo D/A-Konverter sind für die Kopfhörerausgabe vorgesehen.
  • D/A-Konverter für einen 5.1 Kanal Dolby-Digitalstrom sind an dem Andockmodul-Verbinder verfügbar. Ein nicht dekodierter Dolby-Digitalstrom für Outboard-Dekodierer steht ebenfalls an dem Andockmodul-Verbinder zur Verfügung. Ein optionaler IR-Sender für schnurlose Kopfhörer kann vorgesehen sein, ebenso Stereolautsprecher mit schwacher Stereoleistungsverstärkung für Darbietungen oder Wiedergabe ohne Kopfhörer.
  • Die System-Steuereinheit 34 ist vorzugsweise ein Ein-Chip-Mikroprozessor, der die meisten, wenn nicht alle Systemsteuerfunktionen übernimmt. Zum Beispiel ist der Mikroprozessor vorzugsweise zuständig für den Systemstart und die Konfiguration, für die Benutzer-Schnittstelle und Bedienelemente, für die Aus wahl der Funktionsgruppen (z.B. Kindersicherung etc.), für die DVD-Antriebssteuerung und die Konfiguration der IE2, des MPEG-Dekodierers, des Audio-Systems und der Display-Steuereinheit. Ein geeigneter Mikroprozessor kann unter der Teilenummer MC68HC16 von Motorola, Inc., Austin, Texas, bezogen werden.
  • Das Display 36 ist vorzugsweise ein 11.3-Zoll-LCD Display (wobei Modelle sowohl mit aktiver als auch passiver Matrix erhältlich sind) mit einer leistungsstarken Kaltkathoden-Fluoreszenz-Rückbeleuchtung. Das Display 36 hat vorzugsweise eine Auflösung von 640 × 480 Pixel und eine Farbtiefe von 18 Bit. Ein geeignetes Display ist bei Sharp Electronics Corp., Camas, Washington, erhältlich. Die Video-Steuereinheit für das Display 36 sorgt für eine hohe Auflösung, eine flexible On Screen-Grafik, ein Grafik-Overlay auf einer Vollbild-Videowiedergabe und für LCD-Treiber für eine direkte Verbindung mit dem Display.
  • Das Gehäuse 12 hat vorzugsweise eine "Tablet"-Form (Schreibblock-Form), die einfach zu benutzen und mitzuführen ist. Das einstückige Design des Gehäuses sorgt für Einfachheit, leichte Herstellung, Robustheit, geringeres Gewicht und lange Lebensdauer. Eine optionale Andock-Station erlaubt den Anschluss an externe Videosysteme durch nur eine einzige Verbindung.
  • Das Batterie-Paket 38 ist vorzugsweise ein austauschbares, wiederaufladbares Modul auf Basis der NiMH-Technologie für eine hohe Leistungsdichte bei gleichzeitig niedrigen Kosten. Vorzugsweise arbeitet das Batterie-Paket 38 mit handelsüblichen Standard-Batteriezellen, die über eine Kapazität von 40 Wattstunden verfügen und die eine für einen ununterbrochenen Betrieb von mehr als 2,5 Stunden ausreichende Energie liefem. Diese Zeitspanne reicht normalerweise aus, um einen Spielfilm in voller Länge anzusehen.
  • Es sind auch Eingänge in und Ausgänge aus der Einheit dargestellt. Während Verbindungen von der System-Steuereinheit 34 zu anderen Komponenten als Bus dargestellt sind, können diese auch als Einzelverbindungen ausgeführt sein, sofern dies für die speziellen handelsüblichen Komponenten, die gewählt wurden, angebracht ist. Die Architektur des DVD-Antriebsmoduls 26 wurde für eine Modularität der Komponenten und für eine einfache Erweiterbarkeit konzipiert.
  • Die Systemerweiterung wird über eine Modulschnittstelle mit I/O-Option bewerkstelligt, die eine Interaktion des Antriebsmoduls 26 mit den Video- und Audio-Subsystemen sowie mit der System-Steuereinheit 34 ermöglicht. Diese Schnittstelle enthält Erweiterungsmodule mit Funktionen wie alternative Audio- und/oder Videoeingaben und spezialisierte Audiobearbeitung, wodurch der Benutzer die vorliegende Erfindung für eine Vielfalt von Anwendungen maßschneidern kann.
  • Alternative Produkt-Konfigurationen sind ohne weiteres unterzubringen, indem Komponenten des Tastensystems ausgetauscht werden. Da in vielen Bereichen des Systems (z.B. in dem DVD-Antriebsmodul 26) Standardkomponenten verwendet werden, können diese einfach durch ähnliche Komponenten ersetzt werden. Eine kompaktere Einheit lässt sich zum Beispiel bauen, indem ein kleineres LCD und eine kleinere Batterie verwendet werden. Die Display-Steuereinheit bietet direkt Platz für variierende Display-Größen, während der Leistungswandler und die Batterie-Ladeeinrichtung für verschiedene Batteriegrößen und verschiedene Technologien konfigurierbar sind. Basiskonfigurationen, die mit mehr Funktionen ausgestattet sind, sind möglich, indem für eine zusätzliche Funktionalität einfach zusätzliche (optionale) Komponenten integriert werden. Zum Beispiel erfordert eine Einheit mit einem kompletten Video- und Audio-I/O-Zusatz lediglich die Nachrüstung von weiteren DIA-Konvertern, einem Video-Dekodierer und zusätzlichen Verbindern sowie Gehäusemodifikationen.
  • Die System-Software des tragbaren DVD-Spielers der vorliegenden Erfindung hat vorzugsweise eine Struktur mit zwei Hauptebenen: die Software der höhe ren Ebene für die Benutzer-Schnittstelle und die Software der niederen Ebene für die Gerätesteuerung. Die Software läuft auf der System-Mikrosteuereinheit 34 und ist bevorzugt in einem Lesespeicher (ROM) (nicht dargestellt) gespeichert. Die Sektion der niederen Ebene ist direkt mit den verschiedenen Hardware-Komponenten des Systems zusammengeschaltet und interagiert direkt mit diesen auf einer Registerebene. Sie sorgt für das Anschalten und Initialisieren, für das Konfigurieren der Hardware-Komponenten, für die Basis-Gerätesteuerung und Synchronisation und für die Verbindung zur Benutzer-Schnittstellensoftware.
  • Zwischen den beiden Ebenen sieht die vorliegende Erfindung eine Schnittstelle für ein Anwendungsprogramm ("API") "Steuerung/Status" vor. Hierbei handelt es sich um eine Schnittstelle einer mittleren Ebene, wobei die API-Funktionen fast direkt mit den typischen Benutzer-Bedienelementen übereinstimmen – zum Beispiel: "Wiedergabe", "Sprung zur nächsten Spur", "Spielzeitanzeige" etc. Die Steuerfunktionen stellen für die Benutzerschnittstellen-Software ein Mittel zur Verfügung für die Erteilung von Befehlen zur Steuerung des Spielers, während die Benutzerschnittstellen-Software durch die Statusfunktion die Möglichkeit hat, Informationen über den Zustand der Hardware des Spielers zu erwerben.
  • Diese Architektur erlaubt eine kundenspezifische Benutzerschnittstellen-Software. Das "Steuerung/Status"-API sorgt für eine klare Trennung zwischen der Benutzerschnittstellen-Software und der Gerätesteuerungs-Software der niederen Ebene, wodurch es möglich ist, eine andere Benutzerschnittstelle, z.B. eine kundenspezifische Benutzerschnittstelle, in der Standard-Software des Spielers im Austausch zu verwenden. Es versteht sich daher, dass die Software-Architektur der vorliegenden Erfindung eine Vielfalt von Produkt-Konfigurationen unterstützen kann, was wiederum eine reichhaltige Produktfamilie mit ausgezeichneter Langlebigkeit und Skalierbarkeit ermöglicht.
  • Ein Netzteil 40 umfasst einen DC-DC-Wandler, um die Benutzung einer internen Batterie oder einer externen Gleichstromquelle zu ermöglichen. Der DVD-Spieler 10 entnimmt alle benötigten inneren Spannungen einer einzigen Gleichstromquelle. Ein Hochspannungs-Inverter liefert die für die Hintergrundbeleuchtung des Displays benötigte Energie. Eine (nicht gezeigte) Ladeeinrichtung wird zum Aufladen der aufladbaren internen Batterie verwendet. Für einen schnellen Zugriff auf die üblichen Funktionen umfasst die Benutzerschnittstelle eine unkomplizierte Bedienleiste an der Frontblende, und die Benutzerschnittstelle für die Software erlaubt eine Steuerung/Bedienung des Spielers, die dessen sämtliche Ausstattungsmerkmale umfasst, die aber dennoch einfach und intuitiv erfolgen kann. Software-Steuerungen, die über eine hochauflösende Grafik gemacht werden, können für die unmittelbare Rückmeldung an den Benutzer das Video überblenden.
  • 4 zeigt ein Systemdiagramm der Image-Enhancement-Engine (IE2) 30 (siehe 3) gemäß einer Ausführungsform der vorliegenden Erfindung. Die IE2 30 umfasst eine zweidimensionale Videoverarbeitungs-Chiparchitektur 50 und einen Videoausgabeprozessor 60. Die Chiparchitektur 50 enthält eine erste De-Interlacing-Stufe 70 und eine zweite De-Interlacing-Stufe 80 und eine Gruppe von Adressierungs- und Sequenzierungs-FIFOs 90. Die erste De-Interlacing-Stufe 70 umfasst eine progressive Frame-Sequenz-Detektion und Field-Differenz-Verarbeitung. Die zweite De-Interlacing-Stufe 80 umfasst eine vertikale Frequenz-Detektion, Vorzeichenumkehr-Detektion und eine Diagonalmerkmal-Detektion. Der Video-Ausgabeprozessor 60 umfasst eine horizontale Skalierung, Farbraum-Konvertierung, Dithering von 8 auf 6 bbp und Gamma-, Kontrast- und Helligkeits-Korrekturen.
  • Die erste De-Interlacing-Stufe 70 von 4 wird mit Bezug auf die 5 bis 10 näher erläutert. 5 zeigt ein Verfahren 100 zum Kombinieren von Fields zu Frames in einem De-Interlacing-Prozess gemäß einer Ausführungsform der vorliegenden Erfindung. Eine Reihe von Film-Frames 102 mit 24 Fra mes pro Sekunde wird in Video-Fields 104 mit 60 Fields pro Sekunde konvertiert. Die Video-Fields 104 werden dann durch einen De-Intelacing-Prozess in de-interlaced Frames 106 konvertiert. Die de-interlaced Frames 106a werden gebildet, indem die beiden aktuellsten Fields zu einem einzelnen Frame zusammengesetzt werden, jedoch erfolgt die Bildung der de-interlaced Frames 106b durch das Kombinieren von verschiedenen Video-Fields, deren Unterscheidung durch fett dargestellte Pfeile und fett dargestellte Umrahmungen erfolgt.
  • Wenn bezugnehmend auf 5 das Field 2 das "aktuelle" Field ist, dann wird der DI-Frame 1 durch das Kombinieren von Field 1 (das "letzte" Field) und Field 2 (das "aktuelle" Field) gebildet. Die Bildung des DI-Frame 2 erfolgt in der gleichen Weise durch das Kombinieren von Field 3 mit Field 2, wenn Field 3 das "aktuelle" Field ist. Wenn dagegen Field 4 das aktuelle Field ist, entsteht durch die Kombination von Field 4 und Field 5 der DI-Frame 3. In diesem Fall besteht die Kombination aus dem "aktuellen" Field und dem "nächsten" Field. Wenn die Field-Kombination auf diese Weise erfolgt, werden alle de-interlaced Frames 106 durch das Kombinieren von Fields gebildet, die demselben Quellen-Frame entstammen. Da diese sich zusammenschließenden Fields demselben Quellen-Frame entstammen, sind sie zeitkorreliert. Deshalb existieren in den de-interlaced Frames 106 keine Bewegungs-Artefakte.
  • Das Kombinieren von Fields zu Frames, wie das in 5 dargestellt ist, erfordert die Identifizierung des in der Originalquelle verwendeten Typs des Bewegt-Bildes. Zunächst muss eine Quelle identifiziert werden als eine solche, in der original progressive Frames vorhanden sind; zweitens muss die für die Bildung von Fields aus den Frames der Originalquelle verwendete Sequenzierung bestimmt werden, um Video-Fields zu Frames zusammenzusetzen und Artefakte zu vermeiden.
  • 6 ist ein Blockdiagramm eines Video-De-Interlacers 130 gemäß einer Ausführungsform der vorliegenden Erfindung. Ein digitaler Videostrom läuft durch ein FIFO-Speichermodul 132 in den De-Interlacer 130 ein, bevor er in eine digitale Speichereinheit 134 geschrieben wird. Die digitale Speichereinheit 134 hat die Kapazität zum Speichern von vier kompletten Video-Fields in einer Gruppe von Field-Puffern 134a–d. Das eingehende Field wird der Reihe nach in den jeweiligen der Field-Puffer 134a–d geschrieben. Also wird das erste eingehende Video-Field in den Puffer 134a, das zweite eingehende Video-Field in den Puffer 134b geschrieben etc. Nachdem der Field-Puffer 134d voll ist, wird das nächste eingehende Video-Field wieder in den Field-Puffer 134a geschrieben.
  • Während der Zeitperiode eines Fields wird das eingehende Field in einen Field-Puffer 134 geschrieben, und die drei vorhergehenden Fields werden aus den anderen Field-Pufern 134 ausgelesen. Wenn, wie in 6 gezeigt ist, zum Beispiel das eingehende Field in 134a geschrieben wird, dann werden die Field-Puffer 134b–d an eine Gruppe von FIFO-Speichern 136, 138 und 140 ausgelesen. Die FIFO-Speicher 136, 138 und 140 sind vorgesehen, um das Lesen und Schreiben der vier Video-Fields in einer einzigen physikalischen Speichereinheit 134 unterzubringen und auch, um die Taktungsbereiche des eingehenden Videos, der Speichereinheit 134 und der anschließenden De-Interlacing-Verarbeitungsstufen zu entkoppeln.
  • Die Bezeichnung der Field-Puffer 134a–d als "eingehendes", "1.", "2." und "3." vorhergehendes Field erfolgt vom Gesichtspunkt der eingehenden Videoströme. Die Ausgaben der drei gelesenen FIFOs 136, 138 und 140 werden jeweils als Nächstes Field, Aktuelles Field und Letztes Field bezeichnet. Diese Bezeichnung erfolgt vom Gesichtspunkt des De-Interlace-Prozessors 130 und impliziert, dass die De-Interlacing-Verarbeitung dem Videostrom eine Verzögerung von circa zwei Field-Zeitperioden aufprägt.
  • Die Ausgaben der FIFOs 136, 138 und 140 sind synchronisiert, so dass die den anschließenden Verarbeitungsstufen präsentierten drei Fields räumlich parallel sind. Die drei Fields werden dann als Eingaben einem Inter-Field-progressive-Frame-Detektor 142 präsentiert, der ein letztes/nächstes (L/N)-Signal 144, ein progressives Frame-Detektions-(PFD)-Signal 146 und einen Stage 1-Detektionswert (Stage1DV) 148 erzeugt. Das L/N-Signal 144 ist ein Steuersignal, das eine Field-Assembly-Stufe 150 anweist, das Aktuelle Field mit dem Letzten Field oder dem Nächsten Field zusammenzusetzen, die drei sequenzielle Fields aus dem Eingabe-Videostrom sind.
  • Mit den drei Fields produziert die Field-Assembly-Stufe 150 einen progressiv formatierten Ausgabe-Frame 152. Wenn das Aktuelle Field gerade ist, dann müssen das Nächste Field und das Letzte Field ungerade sein und umgekehrt. Deshalb ist der progressiv formatierte Frame 152, der von der Field-Assembly-Stufe 150 ausgegeben wird, stets eine Kombination eines geraden und eines ungeraden Fields. Dies ist wichtig, da die korrekte Zusammensetzung von Fields zu progressiven Frames ein gerades Field und ein ungerades Field für die Eingabe erfordert.
  • Der optionale Intra-Frame-De-Interlacer 154 kann für eine zusätzliche Verarbeitung sorgen, um Artefakte zu beseitigen, die unter bestimmten Bedingungen in dem Ausgabe-Frame 152 auftreten, beispielsweise wenn das PFD-Signal 146 negativ ist. Wenn der Frame-Detektor 142 detektiert, dass die eingehenden Videosignale ursprünglich aus einer Quelle kamen, die progressive Frames enthält, wird das PFD-Signal 146 positiv. Es werden drei Originaltypen eines Quellenvideos detektiert: Film mit 24 Frames pro Sekunde, Computer-Animationen oder Frames mit 30 Frames pro Sekunde oder Einzelbilder, bei denen über eine Periode von mehreren Fields keine Bewegung in dem Bild stattfindet. Wenn das PFD-Signal 146 positiv wird, wird der optionale Prozessor 154 ausgeschaltet.
  • Wenn aber der Frame-Detektor 142 keine progressive Frame-Sequenz aus den eingehenden Video-Fields ermitteln kann, setzt er das L/N-Signal 114 so, dass dieses stets Aktuelle und Letzte Fields in der Field-Assembly-Stufe 150 zusammensetzt. Dann setzt der Frame-Detektor 142 das PFD-Signal 146 auf "0", wodurch der optionale De-Interlacer 154 darüber informiert wird, dass Artefakte in dem Ausgabe-Frame 152 vorhanden sein können und dass eine weitere Verarbeitung nötig sein kann, um die Artefakte zu entfernen und einen endgültigen progressiven Ausgabe-Frame 152' zu bilden.
  • Die Detektion einer progressiven Frame-Sequenz erfordert eine Dokumentierung des Verlaufs des vorhergehenden Fields. Jedoch kann der progressive Frame-Detektor 142 nur ein Field vorausblicken. In Fällen, in denen ein bedeutender Übergang in dem Bild stattfindet, ist es möglich, dass sich die progressive Frame-Sequenz wegen Bearbeitungen in der Original-Videoquelle ändert. Diese Änderungen könnten Änderungen der Art und Weise erfordern, in welcher aus den eingehenden Fields Frames gebildet werden, jedoch ist es nicht möglich, von der Ankunft der eingehenden Fields im voraus zu erfahren.
  • Aus diesem Grund muss der progressive Frame-Detektor 142 in der Lage sein, Übergänge im Bewegt-Bild zu detektieren, weil Übergänge auf Bearbeitungen hinweisen können, die die progressive Field-Sequenzierung ändern können. Wenn ein Übergang detektiert wird, sorgt der progressive Frame-Detektor 142 dafür, dass das PFD-Signal 146 für die Zeitperiode, die für die Bestimmung der neuen progressiven Frame-Sequenz notwendig ist, negativ wird. Dadurch können Bewegungsartefakte während der für die Rückgewinnung der progressiven Frame-Sequenz notwendigen Zeitperiode durch den optionalen De-Interlacer 154 entfernt werden. In Fällen, in denen eine progressive Frame-Sequenz nicht detektiert wird und die PFD-Ausgabe nicht positiv ist, enthält die Ausgabe des Stage1DV 148 eine Größeninformation, die sich auf den Betrag der in dem Bild vorhandenen Bewegung bezieht. Diese Information kann in dem optionalen De-Interlacer 154 für die weitere Verarbeitung des Bildes verwendet werden.
  • 7 ist ein Systemdiagramm eines progressiven Frame-Detektors 142 gemäß einer Ausführungsform der vorliegenden Erfindung. Der Frame-Detektor 142 umfasst ein Field-Differenzierungsmodul 154, ein Frequenz-Detektionsmodul 156 und ein progressives Frame-Pattern-Detektions-Modul (PFPD) 158. Das Field-Differenzierungs-Modul 154 berechnet die Differenz zwischen einem Nächsten Field 160 und einem Letzten Field 162, verarbeitet die Differenzen zu dem Stage1DV 148, einem Transitions-Detektion 3:2-Wert 166 und einer Vielzahl von Equal-Field-History-Bits 168.
  • Das Frequenz-Detektionsmodul 156 kombiniert ein Aktuelles Field 164 und das Letzte Field 162 zu einem Frame und detektiert dann die vertikalen hohen Frequenzen, die das Ergebnis von Bewegungsartefakten sind. Dann gibt das Frequenz-Detektionsmodul 156 eine Anzahl von Frequenz-Detektions-History-Bits 170 und einen Transitions-Detektion 2:2-Wert 172 aus. Schließlich nimmt das PFPD 158 als Eingabe den Transitions-Detektion 3:2-Wert 166, die Vielzahl von Equal-Field-History-Bits 168, die Frequenz-Detektions-History-Bits 170 und den Transitions-Detektion-2:2 Wert 172, um das L/N-Signal 144 und das PFD-Signal 146 zu erzeugen.
  • 8 ist ein Flussdiagramm der Verarbeitungsschritte in dem Field-Differenzierungs-Modul 154 gemäß einer Ausführungsform der vorliegenden Erfindung. Ein Nächstes Array von Pixeln 174, welches eine Untermenge des Nächsten Fields 160 ist, und ein Letztes Array von Pixeln 176, welches eine Untermenge des Letzten Fields 162 ist, sind die Eingaben in einen Differenzierer 178. Das Nächste und das Letzte Pixel Array 174 und 176 können als Fenster betrachtet werden, die sich über ihre jeweiligen Fields bewegen. Das "Fenster" wird von links nach rechts und von oben nach unten bewegt. Jedes Mal, wenn die Fenster bewegt werden, wird eine neue Differenz berechnet. Das Ergebnis dieser Differenz-Operation 178 ist ein Array von Differenzen 180.
  • Die Berechnung des Stage1DV 148 erfolgt, indem ein gewichtetes Mittel des Arrays von Differenzen 180 verwendet wird. Die Gewichtung ist so, dass die Differenzwerte in der Nähe der Mitte des Arrays von Differenzen den größten Einfluss auf das gewichtete Mittel haben. Das Array von Differenzen 180 wird auch in einen Field-Differenz-Akkumulator 182 eingegeben, der die Differenzen über das gesamte Field summiert, um einen Field-Differenz-Wert 184 zu erzeugen. Die vorhergehenden Field-Differenz-Werte werden in einem Speichermodul 186 gespeichert und werden in einer Operation 188 summiert.
  • Die Summe der vorhergehenden fünf Field-Differenz-Werte wird in einer Operation 190 mit dem aktuellen Field-Differenz-Wert verglichen, und das Ergebnis ist das Transition 3:2-Ausgabesignal 192. Der aktuelle Field-Differenz-Wert 184 wird in einer Schwellenwert-Operation 194 mit dem Wert in einem programmierbaren Field-Differenz-Register 196 verglichen. Das Ergebnis der Schwellenwert-Operation 194 ist ein Equal-Field-Bit 198, welches ein einzelnes Bit ist, das anzeigt, dass das Nächste Field 160 und das Letzte Field 162 das gleiche sind. Die vorhergehenden Equal-Field-History-Bits 168 werden in einem Speichermodul 200 gespeichert und in dem PFPD 158 von 7 verwendet.
  • 9 zeigt Details des Frequenz-Detektions-Moduls 156 gemäß einer Ausführungsform der vorliegenden Erfindung. Vertikal benachbarte Pixels 206 aus dem Aktuellen Field 164 und dem Letzten Field 162 werden so assembliert, wie sie räumlich auf einem Display erscheinen würden. Ein Frequenz-Detektions-Wert wird in einer Operation 208 berechnet. Diese Berechnung erfolgt, um die Frequenzen zu detektieren, die mit den de-interlaced Bewegungsartefakten verbunden sind. In einer Operation 210 wird die Ausgabe der Frequenz-Detektion mit einem programmierbaren Schwellenwert 212 verglichen. Die Ergebnisse von fünf benachbarten Frequenz-Detektions-Werten werden in einem Speichermodul 214 gespeichert und in einer Operation 216 summiert.
  • Die Ausgabe der Operation 216 wird über die gesamte Field-Periode in einem Field-Frequenz-Detektions-Akkumulator 218 akkumuliert, um einen Field-Frequenz-Detektions-Wert 220 zu erzeugen. Der Field-Frequenz-Detektions-Wert 220 wird in einem Speichermodul 222 gespeichert, das die vorhergehenden fünf Field-Frequenz-Detektions-Werte enthält. Die fünf vorhergehenden Field-Frequenz-Detektions-Werte werden in einer Operation 224 summiert, und die Ergebnisse werden in einer Operation 226 mit dem aktuellen Frequenz-Detektions-Wert 220 verglichen. Das Ergebnis dieses Vergleichs in Operation 226 ist das Transition 2:2-Bit 228, welches anzeigt, dass eine Transition in der 2:2 Sequenz stattgefunden hat.
  • Als Teil eines parallelen Prozesses wird ein erster vorhergehender Field-Detektions-Wert 230, der in dem Speichermodul 222 gespeichert wurde, zu einer Multipliziereinheit 232 übertragen und mit einem Wert multipliziert, der in einem programmierbaren Field-Frequenz-Schwellwertregister 234 gespeichert ist. Das Ergebnis der Multiplikation wird in einer Operation 236 mit dem aktuellen Field-Frequenz-Detektions-Wert 220 verglichen. Das Ergebnis ist ein Relativ-Frequenz-Differenz-Bit 238, welches dann in einem Speichermodul 240 gespeichert wird. Die vorhergehenden zehn Relativ-Frequenz-Differenz-Bits 242 werden an das PFPD-Modul 158 ausgegeben.
  • 10 ist ein System-Diagramm des PFPD-Moduls 158 gemäß einer Ausführungsform der vorliegenden Erfindung. Das PFPD-Modul 158 führt logische Operationen an einem Satz von Field-Diferenz-History-Bits 244, an den Frequenz-Detektions-History-Bits 242, dem Transition 3:2-Wert 192 (siehe 8) und dem Transition 2:2-Wert 228 (siehe 9) durch. Nach Eingabe der Field-Differenz-History-Bit 244 bestimmt eine logische Operation 246 das 3:2 Pulldown-Detektions-Bit, indem nach Mustern gesucht wird, in denen jedes fünfte Field gleich ist. Dann detektiert eine logische Operation 248 Standbilder durch Einstellen des STILL-Bit, wenn die letzten vier Field-Differenzen Null sind.
  • Der Zustand des L/N-Steuersignals wird durch eine logische Operation 250 eingestellt.
  • Aus der Eingabe der Frequenz-Detektions-History-Bit 242 detektiert eine logische Operation 252 ein 2:2 Pulldown-Detektions-Bit durch ein Suchen nach alternierenden Mustern hoher Frequenz und niedriger Frequenzen in sukzessiven Field-Zeiten und durch Überwachen der Frequenz-Detektions-History-Bits 242. Dann bestimmt eine logische Operation 254 das L/N-Steuersignal für den Fall des 2:2 Pulldown. Das PFD-Signal 146 wird aus dem 3:2 Pulldown-Detektions-Bit, dem Transition 3:2-Wert 192, dem 2:2 Pulldown-Bit und dem Transition 2:2-Wert 228 bestimmt.
  • Es werden drei Arten von Quellen progressiver Frames detektiert. Film, der unter Verwendung des 3:2 Pulldown in Video konvertiert wird, wird detektiert durch die Berechnung der Differenz zwischen Paaren von geraden Fields oder Paaren von ungeraden Fields und durch Suchen nach dem Zustand, in dem jede fünfte Differenz Null ist. Dieser Zustand wird durch das 3:2 Pulldown-Signal angezeigt. Computergenerierte Animationen unter Verwendung des 2:2 Pulldown werden detektiert, indem ein Frequenz-Detektionsverfahren angewandt wird, das in jedem zweiten kombinierten Frame nach Frequenzen sucht, die mit Bewegungsartefakten verbunden sind, was durch das 2:2 Pulldown-Signal angezeigt wird. Standbilder werden detektiert, wenn die Field-Differenzen für mehrere konsekutive Fields Null sind, was durch das STILL-Signal angezeigt wird.
  • Progressive Frames sind einfach das logische ODER dieser drei Signale, wie das durch ein logisches ODER-Gatter 256 gezeigt ist. Jedoch müssen auch Transitionen berücksichtigt werden. Wie vorstehend erwähnt, ist eine Transition eine bedeutende Änderung der Field-Sequenz, die das Ergebnis von Bearbeitungen oder einer kurzzeitigen Unterbrechnung des Video-Signals ist. Wird eine große Änderung detektiert, so kann eine progressive Frame-Detektion, die von einer History von mehreren Fields abhängt, unzuverlässig sein für die Periode, die notwendig ist, um ein progressives Frame-Muster zu erstellen. In den dargestellten Beispielen beträgt diese Periode zehn Field-Zeiten oder etwa ein Sechstel einer Sekunde für 60 Hz-Fields.
  • In einer Gruppe von logischen Operationen 258 wird ein Impuls unter zwei Bedingungen erzeugt. Die eine ist, dass eine 3:2 Pulldown-Sequenz detektiert wird und eine Transition stattfindet; die zweite ist, dass eine 2:2 Pulldown-Sequenz detektiert wird und in der Sequenz eine Transition detektiert wird. Jeder dieser Fälle setzt einen Timer 260 in Gang, der einen Impuls einer Dauer von zehn Fields erzeugt, da zehn Fields die Zeitperiode sind, die benötigt wird, um eine neue progressive Sequenz zu erstellen. Während dieser Zeit deaktiviert ein logisches UND-Gatter 262 das PFD-Bit 146. Wie vorstehend erwähnt, kann der optionale Intra-Frame-De-Interlace-Prozessor 154 (in 6 dargestellt), wenn das PFD-Bit 146 nicht positiv ist, während dieser Auszeit Bewegungsartefakte beseitigen.
  • Es versteht sich deshalb, dass das progressive Frame-Detektionsverfahren der vorliegenden Erfindung für eine Eliminierung von Artefakten an Kanten in einem Videobild sorgt. Dies wird bewerkstelligt durch die Identifizierung des Typs des Originalfilms und die Verwendung dieser Information als Hilfe für das Kombinieren von Video-Fields im De-Interlacing-Verfahren. Die Kombination dieser Techniken liefert ein artefaktarmes de-interlaced Bild mit hoher Auflösung.
  • Die zweite De-Interlacing-Stufe 80 von 4 wird mit Bezug auf die 11 bis 21 näher erläutert. 11 zeigt ein Verfahren 300 für eine De-Interlacing-Verarbeitung. Ein Video-Field 302, das Abtastzeilen 306 enthält, und ein vorhergehendes Video-Field 304, das Abtastzeilen 308 enthält, werden in einen Field-Kombinations-Deinterlace-Prozessor 310 eingegeben. Jedes der Video-Fields hat 720 Pixel × 280 Pixel. Das Ergebnis ist ein kombinierter Frame 312 mit 720 Pixel × 480 Pixel, wobei die Abtastzeilen 314 auf das Video-Field 302 und die Abtastzeilen 316 auf das Video-Field 304 zurückgehen.
  • Wenn dieses einfache De-Interlacing nach dem Stand der Technik durchgeführt wird und ein für eine Interlace-Darstellung formatierter Film in ein progressives Format konvertiert wird, entsteht ein deutlich wahrnehmbares "Artefakt" bzw. ein Fehler, da der Bildinhalt der vertikal benachbarten Zeilen um 1/60 Sekunde zeitverschoben ist, wie das vorstehend erwähnt wurde. Dieser Fehler ist am stärksten rund um die Kanten/Ränder von Objekten sichtbar, die in Bewegung sind.
  • 12 zeigt ein zweidimensionales Array von Pixel-Werten 318, das eine Teilmenge des kombinierten Frame 312 von 11 ist, die verwendet wird, um die vorliegende Erfindung anhand eines Beispiels zu beschreiben. Das Array von Pixeln 318 hat in der Darstellung eine Breite von 5 und eine Höhe von 7 Pixeln. Das Array 318 ist in Querrichtung oben mit C0 bis C4 bezeichnet, wodurch Spalten gekennzeichnet sind, und auf der linken Seite vertikal von oben nach unten mit R0 bis R6, wodurch Reihen gekennzeichnet sind. Die in dem Array 318 enthaltenen Pixel werden verwendet, um einen Frequenz-Detektionswert zu berechnen. Darüber hinaus wird das Array 318 auch verwendet, um diagonale Merkmale zu detektieren, und schließlich, um das resultierende Pixel zu berechnen.
  • Das Array 318 ist so positioniert, dass eine Gruppe von geradzahligen Reihen 320 Pixel aus dem jüngsten oder "aktuellen" Field der Originalquelle und eine Gruppe von ungeradzahligen Reihen 322 Pixel aus dem vorhergehenden Field enthält. Das Array 318 wird dann horizontal von links nach rechts schrittweise über den kombinierten Frame 312 (siehe 11) bewegt. Jeder Schritt bewirkt, dass sich die Pixel in jeder der Spalten C1, C2 und C3 und C4 in die unmittelbar links daneben liegende Spalte bewegen. Die Pixel in Spalte C0 ver schieben sich nach außerhalb des Arrays 318, und eine neue Spalte von Pixeln schiebt sich in die Spalte C4.
  • Nachdem das Array 318 schrittweise über alle horizontalen Positionen des kombinierten Frame 312 bewegt wurde, wird es um zwei Pixel schrittweise vertikal nach unten und zurück zur linken Seite des kombinierten Frame 312 bewegt. Deshalb enthalten die mit geraden Zahlen nummerierten Reihen 320 Pixel aus dem letzten Field, und die mit ungeraden Zahlen nummerierten Zeilen 322 enthalten Pixel aus dem vorhergehenden Field. Der Vorgang wiederholt sich dann selbst, während das Array 318 erneut horizontal von links nach rechts schrittweise über den kombinierten Frame 312 bewegt wird. An jeder Position in dem zweidimensionalen Array wird ein Detektionswert (DV) berechnet.
  • 13 zeigt ein Verfahren 326 zur Gewinnung eines Ausgabe-Pixel 338 aus dem zweidimensionalen Array 318. In einer Operation 328 wird ein Frequenz-Detektionswert ermittelt, wofür die sieben Pixel einer jeden Spalte des zweidimensionalen Arrays verwendet werden. Da fünf Spalten vorhanden sind, werden fünf Frequenzdetektions-Operationen durchgeführt, die einen Satz von Detektionswerten fd0, fd1, fd2, fd3 und fd4 liefern. Dann vergleicht eine Operation 330 den Satz der Detektionswerte fd0–fd4 mit einem Schwellenwert. Danach wird in einer Operation 332 der Satz von Detektionswerten fd0–fd4 zu einem gewichteten Mittel kombiniert, um einen ultimativen Detektionswert (UDV) 334 zu erhalten.
  • Die Gewichtungsfaktoren können Variablen sein. Ein Beispiel für eine Gewichtung ist das folgende: UDV = (fd0 + (2·fd1) + (8·fd2) + (2·fd3) + fd4)/14. Die Gewichtung bewirkt, dass der der Mitte des Arrays 318 am nächsten liegende Frequenz-Detektionswert den größten Einfluss auf den UDV 334 hat. Auf diese Weise führt die Verwendung von fünf horizontal benachbarten Frequenz-Detektionswerten zu einem Tiefpaß-Filterungsvorgang, der für glattere Übergänge zwischen Bereichen innerhalb des kombinierten Frame 312 sorgt, in denen Bewegungsartefakte existieren und nicht existieren.
  • Der in der Operation 332 berechnete UDV wird zur Steuerung eines Abmischvorgangs 336 verwendet, der vorzugsweise die folgende Gleichung implementiert: pixelout = (UDV·(pR2C2 + pR4C2)/2) + ((1 – UDV)·pR3C2), wobei pixelout das neue Ausgabepixel der De-Interlacing-Operation, pR2C2 ein Pixel in dem Array 318 an dem Ort in Reihe 2, Spalte 2, pR4C2 ein Pixel in dem Array 318 an dem Ort in Reihe 4, Spalte 2 und pR3C2 ein Pixel in dem Array 318 an dem Ort in Reihe 3, Spalte 2 ist.
  • Das Ergebnis des Abmischvorgangs ist, dass der neue Wert von Pixel pR3C2 des Arrays 318 von dem UDV 334 abhängt. Wenn durch die Berechnung des UDV 334 keine Bewegung festgestellt wird, dann ist das Pixel bei pR3C2 der unmodifizierte Wert des Pixel an dieser Position in dem vorhergehenden Field. Ist das Ergebnis ein hoher UDV 334, d.h. es ergibt sich ein Wert von 1, so wurde ein starkes Bewegungsartefakt detektiert, und es wird der Wert von pR3C2 berechnet, indem ein Durchschnittswert der Werte von pR2C3 und pR4C3 des Arrays 318 ermittelt wird. Das Ergebnis dieser Durchschnittsermittlung zeigt keine Bewegungsartefakte, da es aus Werten des letzten Fields gebildet wird, die mit dem letzten Fields zeitkorreliert sind. Detektionswerte zwischen 0 und 1 bewirken, dass das Pixel bei pR3C eine Mischung aus pR3C2 und dem Durchschnitt von pR2C3 und pR4C3 ist.
  • In 14A ist ein Bild 340 dargestellt, das die Operation 328 in größerem Detail zeigt. Das Bild 340 zeigt die Berechnung eines einzelnen Frequenz-Detektionswerts für eine Spalte des Arrays 318. Das Bild 340 enthält ein verzerrtes Objekt 342, das durch ein Interlace-Bewegungsartefakt hervorgerufen wird. Das Bild wird entlang einer Linie 344 abgetastet, die zu Beispielzwecken dargestellt ist. Diese Abtastung entspricht einer der Spalten in dem zweidimensionalen Array 318. In diesem Beispiel durchläuft die Linie 344 einen Bereich, in dem Artefakte vorhanden sind, aber im Allgemeinen kann eine Abtastung von vertikal benachbarten Pixeln Artefakte enthalten oder nicht.
  • 14B ist ein Graph 346 einer Gruppe von Samples 348, die durch die Abtastung entlang der Linie 344 von 14A erhalten wurde. Die Gruppe von Samples 348 ist graphisch derart dargestellt, dass die Reihennummern entlang der horizontalen Achse und die Helligkeit oder Intensität des Pixel entlang der vertikalen Achse angegeben sind. Aus dem Graph 346 ist offensichtlich, dass die Bereiche, in denen Bewegungsartefakte vorhanden sind, wie beispielsweise die Gruppe von Samples 348, eine charakteristische Frequenz zeigen. Statt der zeitlichen Frequenz handelt es sich hier vielmehr und die räumliche Frequenz, und diese wird höchst vorteilhaft in Zyklen pro Zeile und nicht in Zyklen pro Sekunde oder in Hertz angegeben. Die charakteristische Frequenz beträgt 1 Zyklus/2 Zeilen oder 0,5 Zyklen/Zeile.
  • 14C ist ein Graph einer abgetasteten Cosinuswelle 350. Die durch das Bewegungsartefakt hervorgerufene charakteristische Frequenz wird durch Multiplizieren der Gruppe von Samples mit der abgetasteten Cosinuswelle 350 detektiert. Die abgetastete Cosinuswelle 350 hat eine Frequenz gleich der charakteristischen Frequenz des Bewegungsartefakts. Dann wird das Ergebnis unter Anwendung der folgenden Gleichung integriert:
    Figure 00320001
    wobei fd der Frequenz-Detektionswert für eine Spalte des Arrays 318 ist, R ein Zeilenindex ist, der dem R0 ... R6 des Arrays 318 entspricht und die Einheiten "line" hat, und wobei Y(R) der Satz von vertikal benachbarten Samples 348 ist.
  • Der Ausdruck cos(2πR·0,5 cycle/line) wird vereinfacht zu 1 für R = 0, 2, 4 und 6 und –1 für R = 1, 3 und 5. Wenn 1 und –1 für R0 .... R6 eingesetzt werden, wird die Frequenz-Detektionsgleichung zu: fd = (Y6/2 + Y4 + Y2 + Y0/2) – (Y5 + Y3 + Y1). Es ist zu beachten, dass Y6 und Y0 durch 2 geteilt werden, da die Integration über den Limits 0 bis 6 ist. Der endgültige fd ist der Absolutwert: fd = Abs(fd). Das Verfahren 326 von 13 wird für jede Spalte in dem Array 318 wiederholt und liefert die Gruppe von Frequenz-Detektionswerten 330.
  • 15 ist ein Graph 352, der die Thresholding/Binarisierungs-Operation 330 in größerem Detail zeigt. Jeder fd ist eine Zahl in dem Bereich 0 bis 1. Der Graph 352 umfasst eine non-thresholded/nichtbinarisierte Skala 354, aus der Werte durch ein Schwellwertverfahren in die thresholded/binarisierte Skala 356 übertragen werden. Das Schwellwertverfahren setzt alle Werte über dem oberen Schwellenpunkt 358 auf den Wert von 1. Alle Werte unterhalb des unteren Schwellenpunkts 360 werden auf den Wert von 0 gesetzt. Die Werte zwischen dem oberen und dem unteren Schwellenwert werden auf den Bereich 0 bis 1 ausgedehnt. Das Schwellwertverfahren kann mit der folgenden Gleichung beschrieben werden: tdf = (ptfd – LTH)/UTH, wobei tdf der thresholded/binarisierte Frequenz-Detektionswert ist, pthfd der pre-thresholded/vorbinarisierte Frequenz-Detektionswert (die Ausgabe von Operation 328) ist, LTH der untere Schwellenwert und UTH der obere Schwellenwert. Wenn tfd > 1,0, dann tfd = 0,1. Andernfalls gilt: Wenn tfd < 0, dann tfd = 0.
  • Es versteht sich daher, dass das erfindungsgemäße De-Interlacing-Verfahren für eine gute vertikale Auflösung ohne Bildung von Kanten-Artefakten in bewegten Objekten in einem Videobild sorgt. Dies wird bewerkstelltigt durch Anwenden eines Two-Field-Interlacing, wenn das Bild relativ statisch ist, und eines One-Field-Linedoubling, wenn sich das Bild rasch ändert. Die Kombination dieser Techniken liefert ein artefaktarmes de-interlaced Bild mit hoher Auflösung.
  • Der UDV 334 wird dann vorzugsweise in einer Mischschaltung 400 verwendet, die in 16 dargestellt ist. Die Mischschaltung 400 berechnet einen neuen Wert für das Pixel an dem Ort R3C2 des Arrays 318. Wenn keine Bewegungsartefakte detektiert werden, ist der Wert des UDV 334 "0", und die Mischschal tung 400 gibt das Original-Pixel R3C2 aus. Ist der Wert des UDV 334 "1", dann gibt die Mischschaltung 400 den Durchschnitt der Pixel über und unter R3C2 aus, so dass die Ausgabe der Mischschaltung 400 der Durchschnitt von R2C2 und R4C2 ist.
  • 17 ist ein Diagramm einer exemplarischen Operation der Mischschaltung 400, wenn der UDV 334 größer als "0", jedoch kleiner als "1" ist. Die Mischschaltung 400 verwendet Informationen aus dem Drei-Pixel-Array 402 durch Mischen von R3C2 und dem Durchschnitt von R2C2 und R4C2, um ein neues Ausgabe-Pixel 406 an dem Ort R3C2 zu bilden.
  • 18 ist eine Darstellung eines Verfahrens 408 zum Detektieren von Diagonal-Merkmalen. Ein zweites Array 410, das eine Untermenge von Array 318 ist, wird in eine Diagonal-Detektionsschaltung 412 eingegeben, die parallel zu dem Verfahren 326 von 13 arbeitet. Wenn kein Diagonal-Merkmal detektiert wird, dann liefert die Diagonal-Detektionsschaltung 412 keine Ausgabe. Wenn aber ein Diagonal-Merkmal detektiert wird, erzeugt die Diagonal-Detektionsschaltung 412 zwei Ausgaben: ein Einzelbit-Sign-Signal 414 und ein Mehrfachbit-SIopeFade-Signal 416. Das spezielle Verfahren zum Berechnen des Sign- und des SlopeFade-Signals 414 und 416 ist in 21 gezeigt und in der entsprechenden Beschreibung dargelegt.
  • Das Sign-Signal 414 wird verwendet, um zu bestimmen, welches Paar von Pixeln diagonal an R3C2 angrenzt. Das SlopeFade-Signal 416 ist ein Maß der Größe eines Diagonal-Merkmals. Die Größe wird bestimmt durch die Kontrastmenge entlang des Diagonal-Merkmals. Ein starker Kontrast, wie zum Beispiel eine diagonale weiße Linie über einem schwarzen Hintergrund, ergibt die höchsten Werte des SlopeFade-Signals 416. Ein schwächerer Kontrast resultiert in einem niedrigeren Wert des SlopeFade-Signals 416.
  • 19 ist ein Blockdiagramm einer Diagonal-Mischschaltung 418 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Diagonal-Mischschaltung 418 umfasst einen Multiplexer 420, einen ersten Mischer 422 und einen zweiten Mischer 424. Um zu bestimmen, welches Paar von diagonal benachbarten Pixeln verwendet wird, ist der Multiplexer 420 abhängig von dem Sign-Signal 414. Nachdem ein Paar von diagonal benachbarten Pixeln gewählt wurde, mischt der erste Mischer 422 die Pixelwerte, die vertikal an R3C2 angrenzen, mit jenen, die diagonal an R3C2 angrenzen. Der Mischbetrag wird durch das Slope-Fade-Signal 416 bestimmt, welches proportional zur Größe des Diagonal-Merkmals ist, das detektiert wird.
  • Der zweite Mischer 424 ist die endgültige Mischstufe und ist identisch mit der in 16 gezeigten Mischschaltung 400. Der zweite Mischer 424 produziert eine Ausgabe, die durch das Eingabepixel R3C2 und die Ausgabe des ersten Mischers 422 bestimmt wird. Der UDV 334 ist die Steuereingabe für den zweiten Mischer 424. Kurz zusammengefasst wird der neue Pixelwert bei R3C2 aus den Pixelwerten von dem zweiten Array 410 berechnet. Die Steuersignale zum Bestimmen des endgültigen Pixelwerts sind der UDV 334, das Sign-Signal 414 und das SlopeFade-Signal 416.
  • 20 ist ein Diagramm, das die Pixel des zweiten Arrays 410 zeigt, das für die Berechnung der Ausgabe der Diagonal-Mischschaltung 418 verwendet werden. Wenn keine Diagonal-Merkmale in dem zweiten Array 410 detektiert werden, dann wird die Ausgabe der Mischschaltung aus den Pixeln entlang einer Linie 426 bestimmt. Wird ein Diagonal-Merkmal in der Diagonal-Detektionsschaltung 412 detektiert, dann werden die diagonal an R3C2 angrenzenden Pixel entlang einer Linie 428 oder einer Linie 430 für die Berechnung des Ausgabepixel verwendet. Das Sign-Signal 414 wird verwendet, um zu bestimmen, welche Linie, nämlich 428 oder 430, verwendet wird.
  • 21 ist ein Flussdiagramm eines Diagonal-Detektionsverfahrens 432 gemäß einer Ausführungsform der vorliegenden Erfindung. Das Verfahren 432 zeigt den Ablauf von logischen und mathematischen Operationen, die für die Berechnung des SlopeFade-Signals 416 und des Sign-Signals 414 aus dem zweiten Array 410 angewendet werden. Die Eckpixel werden durch eine Operation 434 in zwei horizontale Paare und zwei vertikale Paare unterteilt. Die horizontalen Paare sind mit hv2 und hv4 und die beiden vertikalen Paare mit vv2 und vv4 bezeichnet. Differenzen für jedes Paar von Eckpixelwerten werden durch Subtraktion berechnet, wodurch ein Paar von horizontalen Differenzen und ein Paar von vertikalen Differenzen erzeugt wird.
  • In einer Operation 436 werden die beiden horizontalen und vertikalen Differenzen summiert, um einen Vektor der horizontalen und vertikalen Differenz für das zweite Array 410 zu bilden. Eine Operation 438 berechnet den Absolutwert der Vektoren der horizontalen und vertikalen Differenz. Ein Schwellenwert wird verwendet, um die Größe der SlopeFade-Ausgabe 416 in einer Operation 440 zu berechnen. Die Ausgabe der Operation 440 ist ein unqualifiziertes Slope-Fade-Signal (unQualSlopeFade), das noch einer "Ausradierung" durch das DiagDetect-Signal und das SlopeDisQual-Signal, die durch parallele Operationen des Verfahrens 432 erzeugt werden, unterzogen wird.
  • Die Signs (Vorzeichen) der horizontalen und vertikalen Differenzen aus Operation 434 werden aufgezeichnet und in einer Operation 442 gespeichert. Die Signs geben an, ob das Ergebnis der Operation 434 positive oder negative Zahlen ergeben hat. Dann sucht eine Operation 444 nach Fällen, in denen die Signs der horizontalen und vertikalen Differenz-Operationen entgegengesetzt sind. Wenn solche Fälle gefunden werden, dann wird SlopeDisQual auf "1" gesetzt. Bei nicht entgegengesetzten Signs der Differenz-Operationen ist SlopeDisQual "0".
  • In Operation 444 sucht der Diagonal-Detektor nach Diagonal-Merkmalen, die relativ bedeutend sind; insbesondere muss das Merkmal größer sein als das neun Pixel umfassende zweite Array 410, das als Eingabe in den Diagonal-Prozessor verwendet wird. Bildmerkmale, die kleiner sind als das zweite Array 410 können bewirken, dass die Diagonal-Verarbeitung ein Diagonal-Merkmal unkorrekt detektiert. Diese kleinen Merkmale lassen sich detektieren, indem die Vorzeichen observiert werden und SlopeDisQual entsprechend gesetzt wird.
  • Eine Operation 446 vergleicht die Größe der in Operation 438 berechneten horizontalen und vertikalen Vektoren, um ein Diagonal-Merkmal zu detektieren. Dann wird unter Verwendung der horizontalen und vertikalen Vektoren in Operation 446 das DiagDetect-Signal erzeugt. Das Verhältnis der Differenz der horizontalen und vertikalen Vektoren und der Summe der horizontalen und vertikalen Vektoren wird durch einen Schwellwert, diagDetThresh, eingestellt.
  • Eine endgültige SlopeFade-Ausgabe wird in einer Operation 448 berechnet, in der zwei Einzelbit-Eingaben verwendet werden, um die SlopeFade-Ausgabe zu qualifizieren. Das erste Bit ist ein DiagonalDetect-Bit, und das zweite Bit ist ein SlopeDisQual-Bit. SlopeFade ist Null, wenn DiagDetect 0 ist oder wenn SlopDisQual eine 1 ist, andernfalls nimmt SlopeFade den Wert von unQualSlopeFade an. Das SlopeDisQual-Signal ändert das SlopeFade-Signal in Null für Fälle, in denen die Steilheit des Diagonal-Merkmals nicht zuverlässig berechnet werden kann.
  • Schließlich wird unter Verwendung der Sign-Bits, die durch die in Operation 436 gebildeten Summen der horizontalen und vertikalen Vektoren erzeugt wurden, in einer Operation 450 das Sign-Signal berechnet. Das Sign-Signal 414 wird berechnet, indem diese logische Operation angewendet wird, um die Steilheit des Diagonal-Merkmals zu bestimmen.
  • Der Videoausgabe-Prozessor 60 von 4 wird im Einzelnen mit Bezug auf die 2227 erläutert. 22 zeigt ein Beispiel eines variablen Skalier-FIR-Filters 500. Das variable Skalier-FIR-Filter 500 enthält ein Verschieberegister 502 mit einer Reihe von Registern 504, deren jedes mit einem Taktgeber 506 verbunden ist. Jedes Register 504 ist durch eines einer Reihe von Filter-Taps 514 mit einem von einer Gruppe von Multiplizierern 508, 510 und 512 verbunden. Die Multiplizierer 508, 510 und 512 akzeptieren zwei zu multiplizierende Eingaben. Die erste Eingabe ist ein Acht-Bit-Datentwort, und die zweite Eingabe ist ein Koeffizient. Die Multiplizierer 508, 510 und 512 unterscheiden sich voneinander insofern, als sie Koeffizienten akzeptieren, die auf eine unterschiedliche Anzahl von Bit quantisiert sind. Die Multiplizierer 508 verwenden die kleinste Anzahl von Bit pro Koeffizient, und die Multiplizierer 512 verwenden die meisten Bit pro Koeffizient. Die Multiplizierer 508, 510 und 512 sind mit einer Koeffizienten-Speichereinheit 516 und mit einem Addierer 518 verbunden.
  • Acht Bit von Daten werden durch das Verschieberegister 502 in das variable Skalier-FIR-Filter 500 eingegeben. Die Ausgabe eines jeden Registers 504 ist durch eines einer Reihe von Filter-Taps 514 mit einem von einer Gruppe von Multiplizierern 508, 510 und 512 verbunden, um mit einem Koeffizienten multipliziert zu werden, der von der Koeffizienten-Speichereinheit 516 erzeugt wird. Eine neue Gruppe von Koeffizienten wird bei jedem Zyklus des Taktgebers 506 durch die Koeffizienten-Speichereinheit 516 in die Multiplizierer 508, 510 und 512 eingegeben. Die Ergebnisse aus jedem Multiplizierer 508, 510 und 512 werden durch den Addierer 518 summiert, um ein gefiltertes Ausgabe-Sample zu liefern.
  • 23 ist ein Graph von Tiefpass-Filterkoeffizienten 520 in dem Zeitbereich, die in der Koeffizienten-Speichereinheit 516 gespeichert sind, um Koeffizienten zu erzeugen. Die Tiefpass-Filterkoeffizienten 520 werden durch nachstehende Gleichung dargestellt:
  • Figure 00390001
  • Die nichtquantisierte und kontinuierliche Welle ist durch eine Kurve 522 dargestellt. Filterkoeffizienten 524 sind an oder in der Nähe der Kurve 522 aufgetragen. Manche Koeffizienten 524 scheinen geringfügig abseits der Kurve zu liegen, was auf den Fehler zurückzuführen ist, der durch die Quantisierung jedes Koeffizienten auf eine begrenzte Anzahl von Bit eingeführt wurde.
  • 24 zeigt die Koeffizienten 524 organisiert in L = 8 Gruppen von mults = 6 Koeffizienten pro Gruppe. Die Summe aller Koeffizienten in jeder Gruppe i, in der i = 1 bis L ist, ist durch die nachstehende Gleichung angegeben.
  • Figure 00390002
  • 25 ist ein Flussdiagramm eines Quantisierungsverfahrens 526 gemäß einer Ausführungsform der vorliegenden Erfindung. Das Verfahren 526 initialisiert sich mit einer gegebenen Gruppe von Parametern 528, die für die Berechnung der Koeffizienten benötigt wird, wobei L der Zähler des Skalierverhältnisses L/M ist, mults die Anzahl der in dem FIR-Filter verwendeten Multipliziereinheiten und n die Anzahl von Bit ist, auf welche die Koeffizienten quantisiert werden. Eine Operation 530 berechnet die FIR-Filterkoeffizienten durch Anwendung von Gleichung 1. In einer Operation 532 werden die Koeffizienten von links nach rechts organisiert und mit c(1), c(2), c(3), ... c(L·mults) bezeichnet.
  • In einer Operation 534 wird jeder Koeffizient durch Runden auf eine Anzahl n von Bit quantisiert. Dann startet eine Operation 536 eine Schleife, die L Male abgearbeitet wird, einmal für jede Koeffizientengruppe, wobei alle Koeffizienten in jeder Gruppe summiert werden. Eine Operation 538 summiert die Koeffizienten für Gruppe(i), die in 24 dargestellt sind. Dann testet eine Opera tion 540 das Ergebnis der Summieroperation 538 auf ein 1,0 Ergebnis. Wenn die Operation 540 ein wahres Ergebnis liefert, erfolgt keine weitere Verarbeitung.
  • Der Schleifen-Iterator wird in einer Operation 542 inkrementiert, und die Steuerung/Regelung führt zurück zu Operation 536. Wenn die Operation 540 ein falsches Ergebnis liefert, dann wird ein Fudge-Wert F in einer Operation 544 berechnet, indem die in der Operation 538 gebildete Summe von 1,0 subtrahiert wird. Die Verarbeitung führt dann weiter zu einer Operation 546, in der einer der Koeffizienten von Gruppe(i) derart geändert wird, dass die Summe aller Koeffizienten in der Gruppe(i) = 1,0 ist.
  • 26 ist ein Flussdiagramm der Operation 546 aus 25 in wesentlich größerem Detail. Eine Operation 548 ist eine Schleife, die so eingerichtet ist, dass sie in einer bestimmten Reihenfolge durch die Koeffizienten von Gruppe(i) führt. Die Reihenfolge beginnt mit dem äußersten Koeffizienten der Gruppe(i) und führt dann weiter in Richtung auf die Mitte der Gruppe. Die Operation 548 wird mehrmals (mults times) durchgeführt, da pro Gruppe eine Mehrzahl (mults number) von Koeffizienten vorhanden ist. Als nächstes wird in einer Operation 550 ein Index k berechnet, der für die Verarbeitung der Koeffizienten in der vorgenannten Reihenfolge verwendet wird.
  • Die Koeffizienten an dem linken oder dem rechten Rand der Gruppe von Koeffizienten müssen als Spezialfall behandelt werden. Deshalb wird an dem Index k eine Operation 552 durchgeführt, um zu bestimmen, ob der zu verarbeitende Koeffizient entweder der erste Koeffizient, c(1), oder der letzte Koeffizient, c(L·mults), ist. Wenn die Operation 552 bestimmt, dass der einzustellende Koeffizient derjenige ganz links ist, d.h. c(1), dann wird eine Operation 554 durchgeführt.
  • Die Operation 554 evaluiert, ob der Absolutwert der Summe von c(1) und F kleiner oder gleich dem Absolutwert des Koeffizienten rechts von c(1) ist. Dies bedeutet, dass c(k + 1) ≤ c(2) ist. Wenn das Ergebnis wahr ist, dann kann c(1) eingestellt werden durch Addieren von F, ohne eine Diskontinuität oder Divergenz von der Nullachse zu erzeugen. Der Koeffizient wird in einer Operation 564 eingestellt, und die Operation 546 wird erfolgreich beendet. Ist das Ergebnis falsch, dann führt die Operation 560 eine Schleifeniteration durch.
  • Wenn die Operation 552 bestimmt, dass der einzustellende Koeffizient der äußerst rechte ist, das heißt c(L·mults), dann führt das Verfahren weiter zu einer Operation 556. Die Operation 556 evaluiert, ob der Absolutwert der Summe von c(L·mults) und F kleiner oder gleich dem Absolutwert des Koeffizienten links von c(L·mults) ist, das heißt c(L·mults – 1). Wenn das Ergebnis wahr ist, dann kann c(L·mults) eingestellt werden durch Addieren von F, ohne eine Diskontinuität oder Divergenz von der Nullachse zu erzeugen. Der Koeffizient wird in 564 eingestellt, und die Operation 546 wird erfolgreich beendet. Wenn das Ergebnis der Operation 556 falsch ist, wird in Operation 560 eine Schleifeniteration durchgeführt.
  • Wenn die Operation 552 bestimmt, dass der einzustellende Koeffizient weder der äußerst linke noch der äußerst rechte ist, dann wird eine Operation 558 durchgeführt. Die Operation 558 evaluiert, ob die Summe von c(k) und F außerhalb der Grenzen der Koeffizienten auf der linken und auf der rechten Seite, d.h. c(k – 1) und c(k + 1) ist, indem die Gleichungen c(k – 1) ≤ c(k) ≤ c(k + 1) und c(k – 1) ≥ c(k) ≥ c((k + 1) evaluiert werden. Wenn eine der Gleichungen wahr ist, dann wird der Koeffizient c(k) in Operation 564 mit c(k) + F gleichgesetzt, und es wird keine Diskontinuität eingeführt. Deshalb wird die Operation 546 erfolgreich beendet. Wenn eine der Gleichungen falsch ist, dann wird in Operation 560 eine Schleifeniteration durchgeführt.
  • Die Operation 560 inkrementiert die Variable des Schleifeniterators, so dass der nächste Koeffizient evaluiert werden kann. Ein Operation 562 fragt, ob alle Koeffizienten in der Gruppe(i) evaluiert wurden. Wenn nicht alle Koeffizienten in der Gruppe(i) evaluiert wurden, führt die Steuerung zur Spitze von Operation 548, und die Prozedur wird für den nächsten Koeffizienten wiederholt. Wenn alle Koeffizienten in der Gruppe(i) evaluiert wurden, kann die Koeffizientengruppe nicht auf n Bit quantisiert werden, ohne eine inakzeptable Diskontinuität in die Koeffizientengruppe einzuführen. Deshalb wird n in einer Operation 566 inkrementiert, und Operation 546 wird beendet. Die Steuerung führt dann zurück zu dem Verfahren 526 bei Operation 534 (in 25), wo die Original-Koeffizienten auf den neuen Wert von n quantisiert werden und der Prozess wiederholt wird. In den Fällen, in denen die Operation 546 erfolgreich beendet wird, kehrt die Steuerung bei Operation 538 zu dem Verfahren 526 (in 25) zurück, und es wird die nächste Koeffizienten-Gruppe(i) evaluiert.
  • Die zweidimensionale Chip-Architektur 50 und die Adressierungs- und Sequenzierungs-FIFOs 90 von 4 werden detaillierter mit Bezug auf die 27 bis 33 beschrieben. 27 zeigt einen Video-Frame 600 gemäß einer Ausführungsform der vorliegenden Erfindung, der unterteilt ist in eine Anzahl von vertikalen Slices 602 für eine Slice-Abastsequenz, die beispielhaft durch eine entsprechende Anzahl von Abtastzeilen 604 dargestellt ist. Jeder Slice 602 wird einem Format ähnlich jenem abgetastet, das bei einer konventionellen Zeilenabtastsequenz verwendet wird, wobei die Abtastsequenz zum nächsten Slice übergeht, wenn das Ende eines gegebenen Slice erreicht ist. Der Vorteil dieses Formats ist, dass die Länge der Zeilenspeicher um einen Faktor reduziert ist, der annähernd gleich der Anzahl von verwendeten vertikalen Slices ist. Zeilenspeicher sind immer noch notwendig, doch sind sie jetzt viel kürzer als vorher, weshalb der Speicherbedarf auf dem Chip wesentlich reduziert ist. Wenn die Anzahl von Slices beispielsweise auf 10 festgelegt werden würde, so würde die Reduzierung des Speichers auf dem Chip eine komplette Größenordnung betragen.
  • Die Verwendung dieser "Slice"-Abtastorganisation führt jedoch zu Problemen. Erstens ist es häufig der Fall, dass die Verarbeitung sowohl in der horizontalen als auch vertikalen Richtung simultan erfolgen muss. Dies wiederum ergibt ein Problem an dem linken und rechten Slice-Grenzbereich, in dem horizontale Pixeldaten außerhalb des Slice möglicherweise nicht verfügbar sind. Zweitens wurde die konventionelle Zeilenabtastsequenz geändert, mit dem Ergebnis einer potenziellen Inkompatibilität mit üblichen Videoquellen und Anzeige-/Speichereinrichtungen. Diese beiden Probleme und deren Lösung durch die vorliegende Erfindung werden im Folgenden diskutiert.
  • 28 zeigt ein Beispiel eines Slice-Kerns 606, bei dem das Problem mit nicht verfügbaren Daten an seinem linken Rand 608 und seinem rechten Rand 610 besteht. Zu Darstellungszwecken sind nicht verfügbare Daten nur an dem linken Rand in 28 gezeigt. Die Video-Verarbeitung erfordert, dass die ein gegebenes Pixel umgebenden Daten sowohl in der horizontalen als auch in der vertikalen Richtung verfügbar sind (in diesem Fall 5 × 5 Matrizen 612 und 614, die an dem Pixel zentriert sind).
  • Die Verarbeitungsmatrix 612 liegt in der Mitte des Slice-Kerns 606, so dass kein Problem mit der Verfügbarkeit von Daten besteht, weil diese sowohl in der horizontalen als auch in der vertikalen Richtung an allen Seiten der Verarbeitungsmatrix 612 verfügbar sind. Die Situation an dem oberen Rand 618 und unteren Rand 620 des Slice-Kerns 606, wo Daten oberhalb des obersten Pixel und unterhalb des untersten Pixel nicht verfügbar sind, ist identisch mit der Situation bei einem konventionellen Zeilenabtast-Format. Dies kann auf vielfältige Weise gelöst werden, nämlich zum Beispiel, indem die nichtexistenten oberen/unteren Pixeldaten durch Null-Daten substituiert werden. Deshalb bereiten der obere und untere Rand 618 und 620 des Slice-Kerns keine Probleme mit Daten, die nicht verfügbar sind.
  • Andererseits liegt die Verarbeitungsmatrix 614 an dem linken Rand 608 der dem Slice-Kern 606 horizontal benachbarten Daten. Daher fehlen zwei Spalten von Pixeldaten 616, weil sie außerhalb des linken Rands 608 des Slice-Kerns 606 liegen. Als Lösung für diese Situation werden Daten für diese Spalten von dem Slice unmittelbar links neben dem Slice, der gerade verarbeitet wird, zur Verfügung gestellt.
  • 29 zeigt einen Slice 622, der ein Paar schmaler vertikaler Slices oder "Wings" (Flügel) 624 und 626 entlang des linken und rechten Rands 608 und 610 aufweist. Der Wing 624 wurde an den Slice-Kern 606 angefügt, um die für die Verarbeitungsmatrix benötigten Pixeldaten zu liefern. Der Wing 626 wurde an den rechten Rand 610 des Slice-Kerns 606 angefügt. Durch den an den Slice 622 angefügten Wing 624 leidet die Matrix 614 nicht mehr an dem Datenmangel außerhalb des linken Rands 608 des Slice 622.
  • 30 zeigt eine Gesamtstruktur von überlappenden Slice/Wing-Kombinationen 628. Der Slice 622 von 29 ist als exemplarischer Slice gezeigt. Die Wings 624 und 626 des Slice 622 sind aus Daten von einem Paar benachbarter Slices jeweils links und rechts neben dem Slice 622 zusammengesetzt. Insbesondere werden die fehlenden zwei Pixelspalten in Wing 624 von den beiden äußerst rechten Spalten 630 eines Slice 632 unmittelbar links neben dem Slice 622 geliefert. Also überlappt in einer Sequenz von Slices 634 der äußerst linke Wing von Slice N den Kern von Slice N – 1, während der äußerst rechte Wing von Slice N – 1 den Kern von Slice N überlappt.
  • 31 ist ein Flussdiagramm, das ein Verfahren 636 zur Verarbeitung von Video gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die Eingabe in einen Video-Verarbeitungsblock ist deshalb der Slice 622 mit dem Slice-Kern 606, dem linken Wing 624 und dem rechten Wing 626. Der linke Wing 624 ist unterteilt in einen linken äußeren Wing 638 und einen linken inneren Wing 640. Der rechte Wing 626 ist unterteilt in einen rechten äußeren Wing 644 und einen rechten inneren Wing 642. In diesem Beispiel hat der Video-Verarbeitungsblock mehrere Verarbeitungsstufen, deren jede ihren eigenen Bedarf an horizontalen Pixeln beiderseits der Mitte hat.
  • Das Verfahren 636 nutzt eine erste Verarbeitungsstufe 646 und eine zweite Verarbeitungsstufe 650. Die erste Verarbeitungsstufe 646 verwendet die äußeren Wings 638 und 644 und entfernt sie dann und hinterlässt einen Ausgabe-Slice 648, der aus dem Slice-Kern 606 und den inneren Wings 640 und 642 besteht. Die zweite Verarbeitungsstufe verwendet die inneren Wings 640 und 642 und entfernt sie dann. Deshalb werden die Wings 624 und 626 bei der Verarbeitung effektiv entfernt, und die Ausgabe des Verarbeitungsblocks ist ein Slice 652, dessen Breite gleich der Breite des Kerns 606 des Original-Slice ist.
  • Ein Effekt der Wings 624 und 626 ist es, den Slice-Zeilenspeicherbedarf auf dem Chip um die Breite der Wings 624 und 626 zu erhöhen. Doch ist die Wingbreite relativ zur Gesamtbreite des Slice üblicherweise gering. Die tatsächliche Slice- und Wingbreite ist abhängig von der Implementierung und von den Verarbeitungsanforderungen und der verfügbaren Bandbreite externer Speicher.
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung verwendet drei vertikale Video-Verarbeitungsblocks. Die erste Verarbeitungsstufe 646 erfordert ein Paar von äußeren Wings 638 und 644, die eine Breite von 2 Pixel haben; die zweite Verarbeitungsstufe 650 erfordert ein Paar von inneren Wings 640 und 642 mit einer Breite von 4 Pixel, und die dritte Verarbeitungsstufe 652 erfordert keine Wings, da der angewandte spezielle Verarbeitungsalgorithmus keine Daten benötigt, die horizontal zu den in Verarbeitung befindlichen vertikalen Daten sind. Die gewählte Breite des Slice-Kerns betrug 36 Pixel, was eine initiale Breite des Eingabe-Slice von 48 Pixel ergab. (Kern + linker innerer Wing + rechter innerer Wing + linker äußerer Wing + rechter äußerer Wing = 36 + 4 + 4 + 2 + 2 = 48)
  • Leider sind die Eingangsdaten und die Ausgangsdaten der vertikalen Verarbeitungsblöcke nicht in dem Zeilenabtastungs-Videoformat, das praktisch für alle Video-Eingabequellen und Video-Ausgabeanezigen und Speichereinrichtungen die Norm ist. Die vorliegende Erfindung umfasst eine standardisierte Eingabe/Ausgabe-Formatkonvertierung, die über die Verwendung eines externen Speichers der Video-Verarbeitungsvorrichtung erfolgt. Aus Kostengründen und wegen der Erhältlichkeit wird eine handelsübliche DRAM-Speichereinrichtung verwendet.
  • Je nach Art der Video-Verarbeitung, die durchzuführen ist, dienen ein oder mehrere Puffer in Field- oder Frame-Größe zusätzlich zur Konvertierung zwischen dem vollen Field/Frame-Format der Zeilenabtastung und dem Format der Slice-Abtastung auch noch anderen notwendigen Zwecken. Zum Beispiel erfordert das De-Interlacing-Verfahren üblicherweise einen (und manchmal mehrere) Field-Puffer, um mehrere Fields von Videodaten für die temporale Verarbeitung zu speichern. Puffer werden auch bei der Konvertierung der Frame-Rate benötigt, wenn die Ausgabe-Frame-Rate eine andere ist als die Eingabe-Rate. In diesem Fall können für das Verfahren zur Konvertierung der Frame-Rate mehrere Puffer für das Ausgabe-Field oder den Ausgabe-Frame erforderlich sein.
  • 32 zeigt ein Beispiel eines Systemdiagramms für einen Videoprozessor 654 auf Slice-Basis. Ein erster Eingabe-Puffer 656, ein zweiter Eingabe-Puffer 658, ein erster Ausgabe-Puffer 660 und ein zweiter Ausgabe-Puffer 662 sind für das Slice-Konvertierungsverfahren notwendig. Weil Videoanwendungen normalerweise Echtzeit-Eingaben und Ausgaben erfordern und weil die Abtastverfahren für eine Zeilenabtastung und eine Slice-Abtastung verschieden sind, wird der erste Eingabe-Puffer 656 zum Speichern des Video-Eingabedatenstroms aus dem Eingangsdaten-Formatierer 664 verwendet. Der (in der vorhergehenden Field/Frame-Periode gefüllte) zweite Eingabe-Puffer 658 wird verwendet, um Daten im Slice-Abtastformat für den vertikalen Video-Verarbeitungsabschnitt 666 bereitzustellen.
  • Ein ähnlicher Prozess wird für die Ausgabe verwendet. Der zweite Ausgabe-Puffer 662 empfängt verarbeitete Daten im Slice-Format aus dem vertikalen Video-Verarbeitungsabschnitt 666, während der erste Ausgabe-Puffer 660 (der in der vorhergehenden Field/Frame-Periode gefüllt wurde), für die Ausgabe von Daten in dem konventionellen Zeilenabtastformat an den Ausgangsdaten-Formatierer 668 verwendet wird. Der Ausgabedatenstrom kann übrigens Daten an zusätzliche Video-Verarbeitungsstufen liefern, die Daten nur in der horizontalen Richtung verarbeiten (z.B. horizontale Skalierung und Farbraumkonvertierung).
  • 33 zeigt ein Systemdiagramm eines Beispiels einer Videoverarbeitungs-Chiparchitektur 670. Die Videoverarbeitungs-Chiparchitektur 670 umfasst einen Video-Prozessor 672 und eine externe Speicherquelle 674. Bei dieser besonderen Implementierung der Video-Verarbeitung ist ein Speicher für mehrere Eingabe-Fields (für temporale Verarbeitung) erforderlich. Videodaten werden an eine Eingabestufe 676 in dem Video-Prozessor 672 geliefert, der die redundanten Wingdaten direkt in den Video-Datenstrom addiert. Die Daten werden dann (einschließlich Wings) durch die Speicher-Steuereinheit 680, die sich in dem Video-Prozessor 672 befindet, in einer Zeilenabtast-Sequenz in einen ersten Puffer 678 des Field-Speichers 678 in der externen Speicherquelle 674 geschrieben.
  • In anschließenden Field-Perioden werden Daten der Reihe nach in einen zweiten Puffer 682 des Field-Speichers, einen dritten Puffer 684 des Field-Speichers und einen vierten Puffer 686 des Field-Speichers geschrieben. Als nächstes werden die Daten aus dem zweiten, dritten und vierten Puffer 682, 684 und 686 des Field-Speichers gelesen, wobei sich sämtliche Puffer in der externen Speicherquelle 674 befinden und parallelgeschaltet sind. Die Field-Puffer 682, 684 und 686 speisen den vertikalen Video-Verarbeitungsabschnitt 688, der sich in dem Video-Prozessor 672 befindet. Die Daten werden in dem vertikalen Video-Verarbeitungsabschnitt 688, der die Wings entfernt, verarbeitet.
  • Die Daten werden von dem vertikalen Video-Verarbeitungsabschnitt 688 in einem Slice-Abtastformat in einen ersten Frame-Pufferbereich 690 in der externen Speicherquelle 674 zurückgeschrieben. Daten werden in einer konventionellen Zeilenabtastsequenz aus einem zweiten Frame-Pufferbereich 692 in die externe Speicherquelle 674 eingelesen, für eine Eingabe in einen horizontalen Verarbeitungsblock 694, der sich in dem Video-Prozessor 672 befindet. Die Ausgabe des horizontalen Verarbeitungsblocks 694 ist im Zeilenabtastformat und ist die Ausgabe des Video-Prozessors 672.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung werden Video-Eingabedaten als interlaced Fields von Daten in einem 720 × 240 Pixel Field-Format bereitgestellt. Jedes Video-Field ist konzeptuell in 20 Slices mit einer Breite von 36 Pixel unterteilt, wobei jeder Slice einen linken und einen rechten Wing mit jeweils 6 Pixel (äußere Wings mit jeweils 2 Pixel und innere Wings mit jeweils 4 Pixel) hat. Die Wings werden an den geeigneten Punkten in dem Video-Eingabedatenstrom addiert, und der resultierende Datenstrom wird in einer Zeilenabtastsequenz in einen ersten Field-Puffer in einem externen SDRAM geschrieben.
  • Drei Fields von Daten werden simultan aus dem SDRAM ausgelesen. Die Daten für diese Fields kommen aus dem zweiten, dritten und vierten Field-Puffer und werden in vertikalen Slices gelesen, die 48 Pixel (Slice-Kern und Wings) in der Breite mal 240 Reihen betragen. Die Daten werden durch eine erste vertikale Verarbeitungsstufe verarbeitet, die Daten im Slice-Abtastformat mit der zweifachen Eingaberate eines einzelnen Fields an eine zweite Stufe liefert. Die Slice-Daten, die in die zweite Stufe eingegeben werden, werden in Slices von 44 Pixel Breite mal 480 Reihen (wegen des Raten-Verdopplungsvorgangs der ersten Stufe) formatiert. Die zweite vertikale Verarbeitungsstufe verarbeitet die Daten und liefert Daten in einem 36 Pixel breiten Slice-Abtastformat mit der gleichen Rate wie die der Eingabe in diese Stufe an eine dritte vertikale Verarbeitungsstufe.
  • Die dritte Stufe ist ein vertikaler Skalierer und führt keine horizontale Verarbeitung durch und erfordert daher keine Wings an den Slice-Formatdaten. Die Daten werden von der dritten Verarbeitungsstufe in einem 36 Pixel breiten Slice-Abtastformat an einen ersten Frame-Pufferbereich in dem SDRAM ausgegeben. Die Anzahl von Reihen in jedem Slice ist abhängig von dem gewählten speziellen vertikalen Skalierverhältnis. Daten werden in eine nur horizontale Verarbeitungsstufe in einem üblichen Zeilenabtastformat von 720 × 480·M Pixel eingegeben, wobei M der vertikale Skalierfaktor in der dritten vertikalen Verarbeitungsstufe ist. Diese Daten werden durch den Horizontal-Prozessor (der einen Horizontal-Skalierer umfasst) verarbeitet und in einem üblichen Zeilenabtastformat mit einer Auflösung von 720·N × 480·N ausgegeben, wobei N der horizontale Skalierfaktor ist.
  • Insgesamt resultiert diese Implementierung aufgrund der Slice-Abtast-Architektur in einer Reduzierung des Speicherbedarfs auf dem Chip, die größer als 10× ist. Diese Kosteneinsparung durch die Reduzierung des Speicherbedarfs auf dem Chip gleicht den zusätzlich benötigten externen Speicher mehr als aus und schafft eine Vielfalt von Prototyp- und Produktionsoptionen.
  • Der Video-Ausgabeprozessor 60 von 4 wird detaillierter mit Bezug auf die 34 bis 38 erläutert. 34 ist ein Diagramm einer asynchronen Schnittstelle 700 gemäß einer Ausführungsform der vorliegenden Erfindung. Eine Datenquelle 702 liefert Daten, die mit dem Takt C1 in einem Eingabe-Datenstrom 704 synchron sind, an einen Synchronisierer 705. Sobald die Daten von dem Synchronisierer 705 empfangen wurden, organisiert eine Schreibsteuer-Logik (WCL) 706 das Schreiben dieser Daten in einen von einem ersten RAM-Puffer 708, einem zweiten RAM-Puffer 710 und einem dritten RAM-Puffer 712, indem sie Steuer- und Adresssignale an jeden dieser RAM-Puffer 708, 710 und 712 liefert.
  • Sobald die Daten in die RAM-Puffer 708, 710 und 712 geschrieben sind, organisiert eine Lesesteuer-Logik (RCL) 714 das Lesen von Daten aus den RAM-Puffern 708, 710 und 712, indem sie Adress- und Steuersignale an die RAM-Puffer 708, 710 und 712 liefert. Die wiederaufgefundenen Daten werden dann in einem kontinuierlichen Datenausgabestrom 716 mit der Takt-Rate C2 von dem Synchronisierer 705 an einen Datenzielort 718 ausgegeben.
  • Das Auslesen von Daten aus einem gegebenen RAM-Puffer 708, 710 oder 712 findet nicht statt, ehe der bestimmte RAM-Puffer 708, 710 oder 712 von der WCL-Einheit 706 gefüllt wurde. Nachdem einer der RAM-Puffer 708, 710 oder 712 gefüllt wurde, wird der nächste RAM-Puffer 708, 710 oder 712 beschrieben, und es können Daten aus dem(den) vorher aufgefüllten RAM-Pufter(n) 708, 710 und/oder 712 gelesen werden. Wenngleich diese besondere Ausführungsform mit drei RAM-Puffern arbeitet, versteht sich, dass abhängig von den Systemanforderungen auch mehr RAM-Puffer verwendet werden können.
  • Eine Synchronisationslogik-Einheit 720 außerhalb des Synchronisierers 705 koordiniert das Lesen und Schreiben von Daten. Optional könnte die Synchronisationslogik 720 Teil des Synchronisierers 705 selbst sein. Es können mehrere Synchronisationsschemen implementiert sein. Zum Beispiel könnte die Synchronisationslogik 720 der WCL-Einheit 706 und der Datenquelle 702 signalisieren, wann mit einem Datentransfer zu beginnen ist. Eine vorgegebene Periode später, wenn der erste RAM-Puffer 708 aufgefüllt ist und der zweite RAM-Puffer 710 gerade aufgefüllt wird, weist die Synchronisationslogik 720 die RCL-Einheit 714 an, mit dem Lesen von Daten aus dem ersten RAM-Puffer 708 zu beginnen und die Daten an den Datenzielort 718 zu liefern.
  • Ein alternatives Schema könnte einen mehr oder weniger freien Betrieb des Datentransfers vorsehen. Die WCL-Einheit 706 würde Daten aus der Datenquelle 702 nach Verfügbarkeit akzeptieren, würde diese Daten in den nächsten verfügbaren RAM-Puffer 708, 710 oder 712 schreiben und der RCL-Einheit 714 signalisieren, dass der betreffende Puffer voll ist. Das Signal "Puffer voll" muss von dem Takt-Bereich C1 auf den Takt-Bereich C2 synchronisiert werden, was üblicherweise durch einen Zweistufen-Synchronisierer bewerkstelligt wird. Die RCL-Einheit 714 könnte den Zustand des Signals "Puffer voll" entweder halten oder ein Quittungssignal (das von dem Takt-Bereich C1 auf den Takt-Bereich C2 synchronisiert sein muss) zurück zur WCL-Einheit 706 leiten und anzeigen, dass entweder das Signal "Puffer voll" empfangen wurde oder dass der RAM-Puffer 708, 710 oder 712 geleert wurde.
  • 35 ist ein Diagramm einer alternativen asynchronen Schnittstelle 722. Der Datentransfer wird über ein externes Signal an die WCL-Einheit 724 signalisiert, die anzeigt, dass ein Datentransfer zu beginnen hat. Die mit dem Takt C1 synchrone WCL 724 erzeugt Schreibfreigaben und Adressen für einen ersten RAM-Puffer 726 mit einem einzigen Port, einen zweiten RAM-Puffer 728 mit einem einzigen Port und einen dritten RAM-Puffer 730 mit einem einzigen Port. Die jeweils mit einem einzigen Port versehenen RAM-Puffer 726, 728 und 730 haben eine synchrone Lese- und eine asynchrone Schreibfähigkeit.
  • Es ist zu einer Zeit immer nur eine Schreibfreigabe aktiv, wobei die Schreibfreigabe zuerst für den RAM-Puffer 726 erteilt wird, gefolgt von jener für den RAM-Puffer 728, dann den RAM-Puffer 730, und schließlich wieder für den RAM-Puffer 726 usw. An dem Punkt, an dem der RAM-Puffer 728 voll ist und der RAM-Puffer 730 etwa halbvoll ist, wird ein externes Signal an die RCL-Einheit 732 positiv, um das Lesen der Daten aus den RAM-Puffern 726, 728 und 730 zu initiieren. Die mit dem Takt C2 synchrone RCL-Einheit 732 erzeugt Adressen und Datenauswahlleitungen für die RAM-Puffer 726, 728 und 730 für Leseoperation.
  • Individuelle RAM-Puffer 726, 728 und 730 erhalten eine Lese- oder Schreibadresse auf Grundlage dessen, in welchen der RAM-Puffer 726, 728 oder 730 aktuell eingelesen wird, d.h. ein RAM-Puffer 726, 728 oder 730, in den gerade eingelesen wird, erhält seine Adresse von der WCL-Einheit 724, während die anderen beiden RAM-Puffer 726, 728 und 730 ihre Adressen von der RCL-Einheit 732 erhalten. Ein Daten-MUX 734, der durch die RCL-Einheit 732 gesteuert wird, wählt den Ausgabedatenstrom aus einem der drei RAMs, die gerade ausgelesen werden. Obwohl in diesem Beispiel externe Signale den Lese- und Schreibvorgang des Datentransfers starten, kann eine optionale Synchronisationslogik-Einheit 736 vorhanden sein, sollten eines oder mehrere der externen "Start"-Signale fehlen.
  • 36 ist ein Diagramm einer 3-Puffer-Synchronisierer-Sequenz 738, die die Sequenzierung und die Beziehungsverhältnisse von Lese- und Schreiboperation zu den drei RAM-Puffern darstellt. Potenzielle Taktsynchronisationsprobleme, die zur Echtzeit-Puffersequenzierung für den kontinuierlichen Datenausgabestrom gehören, werden durch die Tatsache gemildert, dass Lese- und Schreiboperationen durch einen Skew/eine Divergenz von etwa 1½ RAM-Puffern voneinander getrennt sind.
  • Der Skew 739 sorgt für eine Pufferregion von etwa einer Hälfte eines RAM-Puffers, die potenzielle Kollisionen zwischen Lese- und Schreiboperationen in demselben RAM-Puffer zur selben Zeit separiert. Diese Pufferregion ist vorhanden, um Ungenauigkeiten in den Befehlen "starte Schreiben" und "starte Lesen" Variationen in Perioden einer Datenpause in dem Eingabedatenstrom, und Abweichungen in der Zeitsteuerung aufgrund von Synchronisationsverzögerungen und/oder Verschiebungen zwischen zwei Takt-Bereichen zu absorbieren.
  • 37 ist ein Flussdiagramm eines Verfahrens 740 für eine Sequenzierung durch RAM-Adressen und Module gemäß einer Ausführungsform der vorliegenden Erfindung. Das Verfahren 740 beginnt bei einer Operation 742, in der die RAM-Adresse sowohl für die Schreib- als auch Leseoperation auf Null gesetzt wird, ebenso wie der ausgewählte RAM-Puffer. Als nächstes fragt eine Operation 744, ob die Daten gültig sind. Wenn die Antwort Nein lautet, wieder holt sich die Operation 744 selbst, bis Daten gültig sind. Lautet die Antwort Ja, wurde das letzte RAM-Modul erreicht, und eine Operation 748 inkrementiert, um das nächste RAM-Modul auszuwählen, bevor eine Operation 750 durchgeführt wird. Wenn die Antwort aus Operation 746 Nein lautet, inkrementiert die Operation 750 die RAM-Adresse.
  • Als nächstes führt das Verfahren 740 weiter zu einer Operation 752, die bestimmt, ob die letzte RAM-Adresse erreicht wurde. Wenn ja, wird EndCnt in einer Operation 754 gleich 1 gesetzt. Wurde die letzte RAM-Adresse nicht erreicht, wird EndCnt in einer Operation 756 gleich 0 gesetzt. Von beiden Operationen 754 und 756 kehrt das Verfahren 740 in einer Schleife zurück zu Operation 744, wo der gesamte Ablauf erneut startet. Hier sei bemerkt, dass die Lese- und Schreibeoperationen zwar der gleichen Basis-Sequenz folgen, dass sie aber in der Zeit um etwa 1½ RAM-Puffer divergieren, wie vorstehend erwähnt wurde.
  • 38 ist ein Diagramm eines Synchronisierers 758 gemäß einer Ausführungsform der vorliegenden Erfindung zur Verwendung bei einer Video-Skalieranwendung. Die Eingabequelle erzeugt einen 8 Bit breiten Eingabedatenstrom 760 für den Synchronisierer 758. Der Eingabedatenstrom 760 läuft bei einer Taktrate von 732 MHz (C1) mit einer durchschnittlichen Datenrate von 48 MHz. Es werden RAM-Puffer 762, 764 und 766 verwendet, die 8 Bit breit und 16 Elemente lang sind. Eine WCL-Einheit 768 erzeugt drei RAM-Schreiberlaubnis-Signale und eine 4-Bit-RAM-Adresse.
  • Ein Video-Skalierer produziert ein Signal "Daten gültig", das anzeigt, wenn gültige Pixeldaten an dem Eingabedaten-Port verfügbar sind. Immer dann, wenn die Daten an diesem Port gültig sind, werden sie in die RAM-Puffer 762, 764 und 766 geschrieben. Die WCL-Einheit 768 führt diese Schreiboperation wie vorstehend beschrieben durch. Die WCL-Einheit 768 ist aus einem ersten Zähler 770, der von 0 bis 15 zählt und die RAM-Adresse erzeugt, und einem zwei ten Zähler 772 (ein Ringzähler), der von 0 bis 2 zählt und die RAM-Auswahl/Schreibfreigabe-Leitungen herstellt, zusammengesetzt.
  • Etwa an dem Punkt, an dem eineinhalb RAM-Puffer gefüllt wurden, wird ein externes Signal empfangen, das anzeigt, dass die Datenausgabe beginnen sollte. Eine RCL-Einheit 774 beginnt dann, eine Reihe von Adressen an die RAM-Puffer 762, 764 und 766 zu generieren, um die vorher unter der Steuerung der WCL-Einheit 768 eingelesenen Daten zu extrahieren. Die RCL-Einheit 774 ist ebenfalls aus einem dritten Zähler 776, der von 0 bis 15 zählt und eine RAM-Adresse erzeugt, und einem vierten Zähler 778, der von 0 bis 2 zählt und die Datenausgabe durch einen MUX 780 herstellt, zusammengesetzt.
  • Der MUX 780 produziert einen Ausgabedatenstrom 782, der kontinuierlich sein muss, da er den Echtzeit-Datenstrom für eine Anzeige mit Zeilenabtastung liefert. Jede Abtastzeile von Videodaten hat eine Länge von 1280 8-Bit-Daten, und es muss ein kontinuierlicher Datenstrom dieser Länge für jede Ausgabe-Abtastzeile erzeugt werden. Eine Logik in der Synchronisierer-Schaltung erkennt das Ende einer horizontalen Abtastzeile und setzt die WCL-Einheit 768 und die RCL-Einheit 774 am Ende einer Zeile in Vorbereitung auf die nächste Zeile von Videodaten zurück.
  • Während die Erfindung anhand mehrerer bevorzugter Ausführungsformen beschrieben wurde, wird der Fachmann nach Lektüre der vorstehenden Beschreibung und dem Studium der Zeichnungen erkennen, dass verschiedene Änderungen, Hinzufügungen, Permutationen und Äquivalente davon möglich sind, ohne den Rahmen der Erfindung zu verlassen.

Claims (9)

  1. Digitaler Bildverbesserer (30) umfassend: einen De-Interlace-Prozessor (50), der für mehrere Formate eines interlaced Videostroms empfänglich ist und der wirksam ist, einen de-interlaced Videostrom bereitzustellen, umfassend: – einen ersten De-Interlacer (70), der wirksam ist, um progressive Frames des interlaced Videostroms zu analysieren, um einen für den interlaced Videostrom verwendeten Originalquellen-Typ und eine verwendete Originalquellen-Sequenzierung zu bestimmen, und der weiterhin wirksam ist, unter Anwendung eines Konvertierungsverfahrens, das von der Detektion des Originalquellen-Typs und der Originalquellen-Sequenzierung abhängig ist, den interlaced Videostrom in einen de-interlaced Videostrom zu konvertieren; und – einen zweiten De-Interlacer (80), der wirksam ist, um Bewegungs-Artefakte, die durch eine Frequenzanalyse des interlaced Videostroms detektiert werden, zu reduzieren; und – eine Videoausgabeprozessor (60)-Einrichtung, die für den de-interlaced Videostrom empfänglich ist und die wirksam ist, einen skalierten de-interlaced Videostrom bereitzustellen.
  2. Digitaler Bildverbesserer nach Anspruch 1, wobei der zweite De-Interlacer wirksam ist, um diagonale Merkmale/Strukturen zu detektieren und um die detektierten diagonalen Merkmale/Strukturen zu glätten.
  3. Digitaler Bildverbesserer nach Anspruch 1, wobei der De-Interlace-Prozessor den de-interlaced Videostrom in vertikalen Slices verarbeitet.
  4. Digitaler Bildverbesserer nach Anspruch 1, wobei der Videoausgabe-Prozessor wirksam ist, um den de-interlaced Videostrom zu skalieren, um ein Videoanzeige-Ausgabeformat eines Videoausgabestroms zu modifizieren.
  5. Digitaler Bildverbesserer nach Anspruch 1, wobei der Videoausgabe-Prozessor einen Datenraten-Synchronisierer zwischen einer ersten Datenrate des de-interlaced Videostroms und einer zweiten Datenrate eines Videoausgabestroms aufweist.
  6. Verfahren zur Verarbeitung von digitalem Video, umfassend das De-Interlacing von mehreren Formaten eines interlaced Videostroms mit einem Videoprozessor mittels der folgenden Schritte: – Analysieren von progressiven Frames des interlaced Videostroms, um einen für den interlaced Videostrom verwendeten Originalquellen-Typ und eine verwendete Originalquellen-Sequenzierung zu bestimmen, – Konvertieren des interlaced Videostroms in einen de-interlaced Videostrom unter Anwendung eines Konvertierungsverfahrens, das von der Detektion des Originalquellen-Typs und der Originalquellen-Sequenzierung abhängig ist; – Reduzieren von Bewegungs-Artefakten, die durch eine Frequenzanalyse des interlaced Videostroms detektiert werden; und – Empfangen des de-interlaced Videostroms, um einen skalierten de-interlaced Videostrom bereitzustellen.
  7. Verfahren zur Verarbeitung von digitalem Video nach Anspruch 6, wobei die De-Interlace-Verfahren die Verarbeitung des interlaced Videostroms in vertikalen Slices umfassen.
  8. Verfahren zur Verarbeitung von digitalem Video nach Anspruch 6, wobei das Skalieren ein horizontales Skalieren des interlaced Videostroms umfasst.
  9. Verfahren zur Verarbeitung von digitalem Video nach Anspruch 6, wobei das Skalieren einen Datenraten-Synchronisierer zwischen einer ersten Datenrate des de-interlaced Videostroms und einer zweiten Datenrate eines Videoausgabestroms umfasst.
DE69830661T 1997-10-06 1998-10-06 Digitales videosystem und verfahren zur verfuegungstellung desselben Expired - Lifetime DE69830661T2 (de)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US6097497P 1997-10-06 1997-10-06
US60974P 1997-10-06
US9381598P 1998-07-23 1998-07-23
US93815P 1998-07-23
US9439098P 1998-07-28 1998-07-28
US94390P 1998-07-28
US9516498P 1998-08-03 1998-08-03
US95164P 1998-08-03
US9614498P 1998-08-11 1998-08-11
US96144P 1998-08-11
US10040198P 1998-09-15 1998-09-15
US100401P 1998-09-15
US10294698P 1998-10-02 1998-10-02
US102946P 1998-10-02
US16660698A 1998-10-05 1998-10-05
US166606 1998-10-05
PCT/US1998/021069 WO1999018727A1 (en) 1997-10-06 1998-10-06 Digital video system and methods for providing same

Publications (2)

Publication Number Publication Date
DE69830661D1 DE69830661D1 (de) 2005-07-28
DE69830661T2 true DE69830661T2 (de) 2006-05-04

Family

ID=27574435

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69830661T Expired - Lifetime DE69830661T2 (de) 1997-10-06 1998-10-06 Digitales videosystem und verfahren zur verfuegungstellung desselben

Country Status (7)

Country Link
US (1) US6380978B1 (de)
EP (1) EP1013089B1 (de)
JP (1) JP2002528931A (de)
AU (1) AU1068899A (de)
CA (1) CA2305368C (de)
DE (1) DE69830661T2 (de)
WO (1) WO1999018727A1 (de)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215376B2 (en) * 1997-10-06 2007-05-08 Silicon Image, Inc. Digital video system and methods for providing same
US8577205B2 (en) 1998-07-30 2013-11-05 Tivo Inc. Digital video recording system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US8380041B2 (en) * 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US20070211167A1 (en) * 1998-10-05 2007-09-13 Adams Dale R Digital video system and methods for providing same
EP1149496B1 (de) * 1998-12-02 2002-07-31 STMicroelectronics Asia Pacific Pte Ltd. Ermittlung von zeilensprung/progressiv -mode und von redundanten halbbildern für kodierer
US7084932B1 (en) * 1999-12-28 2006-08-01 Johnson Controls Technology Company Video display system for a vehicle
US20070171316A1 (en) * 1998-12-28 2007-07-26 Johnson Controls Technology Company Video display system for a vehicle
US20060109388A1 (en) * 1998-12-28 2006-05-25 Johnson Controls Technology Company Wireless signal system for a video display unit
JP2000224551A (ja) * 1999-01-29 2000-08-11 Canon Inc 映像信号処理装置および方法
US7124425B1 (en) 1999-03-08 2006-10-17 Immersion Entertainment, L.L.C. Audio/video system and method utilizing a head mounted apparatus with noise attenuation
US6578203B1 (en) 1999-03-08 2003-06-10 Tazwell L. Anderson, Jr. Audio/video signal distribution system for head mounted displays
US7210160B2 (en) * 1999-05-28 2007-04-24 Immersion Entertainment, L.L.C. Audio/video programming and charging system and method
US20060174297A1 (en) * 1999-05-28 2006-08-03 Anderson Tazwell L Jr Electronic handheld audio/video receiver and listening/viewing device
US20020057364A1 (en) * 1999-05-28 2002-05-16 Anderson Tazwell L. Electronic handheld audio/video receiver and listening/viewing device
US6386985B1 (en) * 1999-07-26 2002-05-14 Guy Jonathan James Rackham Virtual Staging apparatus and method
US6775835B1 (en) * 1999-07-30 2004-08-10 Electric Planet Web based video enhancement apparatus method and article of manufacture
US6909469B2 (en) * 1999-08-11 2005-06-21 Silicon Image, Inc. Interlace motion artifact detection using vertical frequency detection and analysis
US6647417B1 (en) 2000-02-10 2003-11-11 World Theatre, Inc. Music distribution systems
US20020056118A1 (en) * 1999-08-27 2002-05-09 Hunter Charles Eric Video and music distribution system
US7209900B2 (en) 1999-08-27 2007-04-24 Charles Eric Hunter Music distribution systems
WO2001022729A1 (en) 1999-09-20 2001-03-29 Tivo, Inc. Closed caption tagging system
JP2001160920A (ja) * 1999-12-02 2001-06-12 Pioneer Electronic Corp インバース・テレシネ変換装置
JP3998399B2 (ja) 1999-12-03 2007-10-24 松下電器産業株式会社 映像信号変換装置
US9252898B2 (en) 2000-01-28 2016-02-02 Zarbaña Digital Fund Llc Music distribution systems
US20060245741A1 (en) * 2000-03-09 2006-11-02 Cynthia Lakhansingh Digital enterainment recorder
US6901207B1 (en) * 2000-03-30 2005-05-31 Lsi Logic Corporation Audio/visual device for capturing, searching and/or displaying audio/visual material
JP3551887B2 (ja) * 2000-04-03 2004-08-11 日本電気株式会社 動画像再生方法および装置
US6565440B2 (en) * 2000-04-07 2003-05-20 Arista Enterprises Inc. Dedicated wireless digital video disc (dvd) controller for video game consoles
US6867814B2 (en) * 2000-04-18 2005-03-15 Silicon Image, Inc. Method, system and article of manufacture for identifying the source type and quality level of a video sequence
US7277765B1 (en) 2000-10-12 2007-10-02 Bose Corporation Interactive sound reproducing
US6972801B1 (en) * 2000-10-20 2005-12-06 Intervideo, Inc. System and method for deinterlacing a video signal for display on progressive display devices
US20070091015A1 (en) * 2000-10-27 2007-04-26 Lavelle Patrick M Vehicle seat entertainment system incorporating a databus
US7839355B2 (en) * 2000-10-27 2010-11-23 Audiovox Corporation Vehicle display device having a wireless transmitter
US6678892B1 (en) * 2000-10-27 2004-01-13 Audivox Corporation Multimedia entertainment unit for use in a vehicle
US7679578B2 (en) * 2003-05-15 2010-03-16 Audiovox Corporation Headrest mountable video system
US20060238529A1 (en) * 2000-10-27 2006-10-26 Lavelle Patrick M Vehicle display device having a wireless transmitter
US7667669B2 (en) * 2000-10-27 2010-02-23 Audiovox Corporation Vehicle display device having a wireless transmitter
US6409242B1 (en) 2000-11-14 2002-06-25 Chung L. Chang Flat thin screen T/V monitor automotive roof mount
US20020063794A1 (en) * 2000-11-30 2002-05-30 Donald Henry Willis High definition matrix display method for standard definition TV signals
US6839094B2 (en) * 2000-12-14 2005-01-04 Rgb Systems, Inc. Method and apparatus for eliminating motion artifacts from video
US7236204B2 (en) * 2001-02-20 2007-06-26 Digeo, Inc. System and method for rendering graphics and video on a display
JP2003018552A (ja) * 2001-06-27 2003-01-17 Nec Corp 走査線変換回路
US7233781B2 (en) 2001-10-10 2007-06-19 Ochoa Optics Llc System and method for emergency notification content delivery
KR20040054757A (ko) * 2001-11-01 2004-06-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 데이터의 에지 방향 보간
US7079190B2 (en) * 2001-12-27 2006-07-18 Zoran Corporation Technique for determining the slope of a field pixel
TWI221735B (en) * 2002-03-15 2004-10-01 Via Tech Inc Image processing apparatus
US7202907B2 (en) 2002-04-09 2007-04-10 Zoran Corporation 2:2 and 3:2 pull-down detection techniques
US6678003B2 (en) * 2002-05-21 2004-01-13 Alcon, Inc. Image deinterlacing system for removing motion artifacts and associated methods
US7218418B2 (en) * 2002-07-01 2007-05-15 Xerox Corporation Digital de-screening of documents
US6894726B2 (en) * 2002-07-05 2005-05-17 Thomson Licensing S.A. High-definition de-interlacing and frame doubling circuit and method
KR100902315B1 (ko) * 2002-07-25 2009-06-12 삼성전자주식회사 디인터레이싱장치 및 방법
US7044546B2 (en) 2002-08-14 2006-05-16 Johnson Safety, Inc. Headrest-mounted monitor
CN1486120A (zh) * 2002-09-27 2004-03-31 颜聪裕 5.1声道数码环绕耳机
US7725073B2 (en) * 2002-10-07 2010-05-25 Immersion Entertainment, Llc System and method for providing event spectators with audio/video signals pertaining to remote events
US6871356B2 (en) 2002-10-28 2005-03-22 Johnson Safety, Inc. Mobile video system
US7050124B2 (en) * 2002-11-05 2006-05-23 Samsung Electronics Co., Ltd. Mobile video system
KR20040050577A (ko) * 2002-12-10 2004-06-16 삼성전자주식회사 디인터레이싱 장치 및 방법
US7154555B2 (en) * 2003-01-10 2006-12-26 Realnetworks, Inc. Automatic deinterlacing and inverse telecine
KR100555901B1 (ko) * 2003-02-18 2006-03-03 삼성전자주식회사 영상매체 재생기능을 갖는 모바일 전자기기 및 그 재생방법
US20040179097A1 (en) * 2003-03-13 2004-09-16 Chao-Chee Ku Robust layered 3:2 pulldown film mode source detection
US7366935B1 (en) * 2003-04-01 2008-04-29 Extreme Networks, Inc. High speed bus with alignment, re-timing and buffer underflow/overflow detection enhancements
US7272672B1 (en) 2003-04-01 2007-09-18 Extreme Networks, Inc. High speed bus with flow control and extended burst enhancements between sender and receiver wherein counter is maintained at sender for free buffer space available
US7954894B2 (en) * 2003-05-15 2011-06-07 Audiovox Corporation Headrest mountable video system
US7909397B2 (en) * 2003-05-15 2011-03-22 Audiovox Corporation In-vehicle docking station for a portable media player
US7791586B2 (en) 2003-05-15 2010-09-07 Audiovox Corporation Entertainment system mountable in a vehicle seat
US7609946B2 (en) * 2003-05-15 2009-10-27 Audiovox Corporation Portable video system
KR100547120B1 (ko) * 2003-06-14 2006-01-26 삼성전자주식회사 그룹화에 의한 영화 영상 검출 방법 및 장치
US20040264943A1 (en) * 2003-06-30 2004-12-30 Chen Hong-Xi DVD player system with FM stereo transmitter for auto audio
JP2005027068A (ja) * 2003-07-03 2005-01-27 Pioneer Electronic Corp 映像信号変換装置及び方法
JP4382408B2 (ja) * 2003-07-31 2009-12-16 パイオニア株式会社 映像信号変換装置
KR20050015188A (ko) * 2003-08-04 2005-02-21 삼성전자주식회사 외부 입력에 대해 잠금 기능을 가지는 디스플레이 장치 및방법
US7593687B2 (en) * 2003-10-07 2009-09-22 Immersion Entertainment, Llc System and method for providing event spectators with audio/video signals pertaining to remote events
US20060047426A1 (en) * 2003-11-07 2006-03-02 Vitito Christopher J Vehicle entertainment system
US20050099547A1 (en) * 2003-11-07 2005-05-12 Vitito Christopher J. Automobile entertainment system
US8780282B2 (en) * 2003-11-07 2014-07-15 Voxx International Corporation Vehicle entertainment system
US7857176B2 (en) * 2003-11-10 2010-12-28 Audiovox Corporation Seat mountable video system
US20050141784A1 (en) * 2003-12-31 2005-06-30 Ferriz Rafael M. Image scaling using an array of processing elements
TWM249176U (en) * 2003-12-31 2004-11-01 Penbex Data Systems Inc Optical disk player
US7400359B1 (en) 2004-01-07 2008-07-15 Anchor Bay Technologies, Inc. Video stream routing and format conversion unit with audio delay
EP1592246A1 (de) * 2004-04-30 2005-11-02 Matsushita Electric Industrial Co., Ltd. Film-Mode-Bestimmung in unbeweglichen Videobildbereichen
US20050280705A1 (en) * 2004-05-20 2005-12-22 Immersion Entertainment Portable receiver device
FR2872370B1 (fr) * 2004-06-29 2007-04-20 Archos Sa Station d'accueil d'un lecteur mulitmedia
US7710501B1 (en) 2004-07-12 2010-05-04 Anchor Bay Technologies, Inc. Time base correction and frame rate conversion
US8854389B2 (en) 2004-09-22 2014-10-07 Intel Corporation Apparatus and method for hardware-based video/image post-processing
US7515766B2 (en) * 2004-09-22 2009-04-07 Intel Corporation Apparatus and method for edge handling in image processing
US20060075436A1 (en) * 2004-09-27 2006-04-06 Schedivy George C Plug-in television tuner module and method thereof
CA2588630C (en) 2004-11-19 2013-08-20 Tivo Inc. Method and apparatus for secure transfer of previously broadcasted content
US7398535B2 (en) * 2004-12-10 2008-07-08 Coby Electronics Corporation Portable media player
KR100594798B1 (ko) * 2004-12-28 2006-06-30 삼성전자주식회사 저더 검출 장치 및 이를 이용하는 디인터레이싱 장치그리고 그 방법
US20060146657A1 (en) * 2005-01-05 2006-07-06 Laraia Claudio R Headrest mounted disc player with display
US20060170760A1 (en) * 2005-01-31 2006-08-03 Collegiate Systems, Llc Method and apparatus for managing and distributing audio/video content
US7471336B2 (en) * 2005-02-18 2008-12-30 Genesis Microchip Inc. Global motion adaptive system with motion values correction with respect to luminance level
US7675573B2 (en) * 2005-02-18 2010-03-09 Genesis Microchip Inc. Global motion adaptive system with motion values correction with respect to luminance level
JP4703267B2 (ja) * 2005-05-31 2011-06-15 株式会社東芝 プルダウン信号検出装置、プルダウン信号検出方法、及び順次走査変換装置
US7864246B2 (en) * 2005-06-06 2011-01-04 Broadcom Corporation System, method, and apparatus for interlaced to progressive conversion using weighted average of spatial interpolation and weaving
US20070011290A1 (en) * 2005-07-05 2007-01-11 Schaedle R S Method and system for facilitating the advertising of an animal
US8120703B2 (en) * 2005-09-08 2012-02-21 Silicon Image/BSTZ Source-adaptive video deinterlacer
US7982798B2 (en) 2005-09-08 2011-07-19 Silicon Image, Inc. Edge detection
US8004606B2 (en) * 2005-09-08 2011-08-23 Silicon Image, Inc. Original scan line detection
US7591508B2 (en) * 2005-11-02 2009-09-22 Chung Lung Chang Headrest mounted entertainment system
US7762627B2 (en) 2005-11-02 2010-07-27 Chung Lung Chang Headrest-mounted entertainment systems
US7758117B2 (en) * 2005-11-02 2010-07-20 Chung Lung Chang Headrest-mounted entertainment systems
US7812784B2 (en) * 2005-11-02 2010-10-12 Chung Lung Chang Headrest mounted entertainment system
WO2007056425A2 (en) * 2005-11-07 2007-05-18 Audiovox Corporation Entertainment system mountable in a vehicle seat and methods for mounting and displaying same
US7484026B2 (en) * 2005-11-28 2009-01-27 Visteon Global Technologies, Inc. System and method for media damage prevention on a portable player
WO2007079480A2 (en) * 2006-01-04 2007-07-12 Coby Electronics Corporation Portable dvd player
US20100017827A1 (en) * 2006-01-04 2010-01-21 Audiovox Corporation Receiver and distribution unit for vehicle entertainment system
US8713613B2 (en) 2006-01-04 2014-04-29 Voxx International Corporation Data distribution unit for vehicle entertainment system
US7595805B2 (en) * 2006-04-11 2009-09-29 Qualcomm Incorporated Techniques to facilitate use of small line buffers for processing of small or large images
US7661121B2 (en) 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US8086067B2 (en) * 2006-12-20 2011-12-27 Silicon Image, Inc. Noise cancellation
US7982800B2 (en) * 2007-02-02 2011-07-19 Freescale Semiconductor, Inc. Video de-interlacer using motion residue compensation
US8388060B2 (en) 2007-04-16 2013-03-05 Chung Lung Chang Headrest-mounted entertainment systems
US8233086B2 (en) * 2007-06-08 2012-07-31 Nintendo Co., Ltd. Process for digitizing video over analog component video cables
JP4374047B2 (ja) * 2007-12-26 2009-12-02 株式会社東芝 映像信号処理装置および映像信号処理方法
US8593572B2 (en) * 2008-01-30 2013-11-26 Csr Technology Inc. Video signal motion detection
TWI392114B (zh) * 2008-03-04 2013-04-01 Huga Optotech Inc 發光二極體及其形成方法
US8559746B2 (en) 2008-09-04 2013-10-15 Silicon Image, Inc. System, method, and apparatus for smoothing of edges in images to remove irregularities
US8170370B2 (en) * 2008-12-04 2012-05-01 Cyberlink Corp. Method and apparatus of processing interlaced video data to generate output frame by blending deinterlaced frames
JP2012517774A (ja) 2009-02-10 2012-08-02 シリコン イメージ,インコーポレイテッド ブロックノイズの検出及びフィルタ処理
US8438596B2 (en) 2009-04-08 2013-05-07 Tivo Inc. Automatic contact information transmission system
US9392215B2 (en) * 2014-03-25 2016-07-12 Robert C. Weisgerber Method for correcting corrupted frames during conversion of motion pictures photographed at a low frame rate, for exhibition at a higher frame rate

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4790028A (en) 1986-09-12 1988-12-06 Westinghouse Electric Corp. Method and apparatus for generating variably scaled displays
US4731660A (en) 1987-02-20 1988-03-15 Yves C. Faroudja Processing methods using adaptive threshold for removal of chroma/luminance cross-talk in quadrature-modulated subcarrier color television systems
FR2623040B1 (fr) 1987-11-09 1990-02-09 France Etat Procede et dispositif de traitement de signaux d'image a balayage de trame entrelace
US4998287A (en) 1988-10-14 1991-03-05 General Instrument Corporation Determination of sequential positions of video fields derived from film
US4881125A (en) 1988-10-14 1989-11-14 General Instrument Corporation Progressive scan display of video derived from film
US4876596A (en) 1988-10-25 1989-10-24 Faroudja Y C Film-to-video converter with scan line doubling
US4989090A (en) 1989-04-05 1991-01-29 Yves C. Faroudja Television scan line doubler including temporal median filter
US5014119A (en) 1989-08-25 1991-05-07 Faroudja Y C Horizontal and vertical transition level enhancement within television system
JP2906791B2 (ja) 1990-12-21 1999-06-21 ミノルタ株式会社 画像処理装置
US5159451A (en) * 1991-03-19 1992-10-27 Faroudja Y C Field memory expansible line doubler for television receiver
US5488422A (en) 1991-03-19 1996-01-30 Yves C. Faroudja Video scan converter including the modification of spatially interpolated pixels as a function of temporal detail and motion
US5428398A (en) 1992-04-10 1995-06-27 Faroudja; Yves C. Method and apparatus for producing from a standard-bandwidth television signal a signal which when reproduced provides a high-definition-like video image relatively free of artifacts
US5291280A (en) 1992-05-05 1994-03-01 Faroudja Y C Motion detection between even and odd fields within 2:1 interlaced television standard
US5621470A (en) 1992-12-18 1997-04-15 Sid-Ahmed; Maher A. Interpixel and interframe interpolation of television pictures with conversion from interlaced to progressive scanning
FR2700090B1 (fr) 1992-12-30 1995-01-27 Thomson Csf Procédé de désentrelacement de trames d'une séquence d'images animées.
WO1994024633A1 (en) 1993-04-16 1994-10-27 Data Translaton, Inc. Displaying a subsampled video image on a computer display
JP3271108B2 (ja) 1993-12-03 2002-04-02 ソニー株式会社 ディジタル画像信号の処理装置および方法
CA2138834C (en) 1994-01-07 2004-10-19 Robert J. Gove Video display system with digital de-interlacing
US5625421A (en) 1994-01-14 1997-04-29 Yves C. Faroudja Suppression of sawtooth artifacts in an interlace-to-progressive converted signal
KR100371039B1 (ko) 1994-04-05 2003-05-12 코닌클리케 필립스 일렉트로닉스 엔.브이. 비월-순차주사변환
US5473383A (en) 1994-06-15 1995-12-05 Eastman Kodak Company Mechanism for controllably deinterlacing sequential lines of video data field based upon pixel signals associated with three successive interlaced video fields
CA2156463A1 (en) 1994-09-05 1996-03-06 Nobuyuki Aoki Data reproducing method and data reproducing apparatus
KR960028124A (ko) 1994-12-30 1996-07-22 이몬 제이. 월 필름 소스에 의해 생성된 비디오 필드 식별 방법 및 장치
US5563651A (en) 1994-12-30 1996-10-08 Thomson Consumer Electronics, Inc. Method and apparatus for identifying video fields produced by film sources employing 2-2 and 3-2 pull down sequences
US5602654A (en) 1995-01-06 1997-02-11 National Science Council Contour-sensitive, single-field deinterlacing method
USD371357S (en) 1995-03-15 1996-07-02 Sony Corporation Television for a digital video disc player
US5661525A (en) * 1995-03-27 1997-08-26 Lucent Technologies Inc. Method and apparatus for converting an interlaced video frame sequence into a progressively-scanned sequence
US5532751A (en) 1995-07-31 1996-07-02 Lui; Sam Edge-based interlaced to progressive video conversion system
US5754248A (en) 1996-04-15 1998-05-19 Faroudja; Yves C. Universal video disc record and playback employing motion signals for high quality playback of non-film sources
US5963261A (en) * 1996-04-29 1999-10-05 Philips Electronics North America Corporation Low cost scan converter for television receiver
US6034733A (en) * 1998-07-29 2000-03-07 S3 Incorporated Timing and control for deinterlacing and enhancement of non-deterministically arriving interlaced video data

Also Published As

Publication number Publication date
JP2002528931A (ja) 2002-09-03
CA2305368C (en) 2006-01-03
WO1999018727A1 (en) 1999-04-15
AU1068899A (en) 1999-04-27
EP1013089A4 (de) 2001-02-28
EP1013089B1 (de) 2005-06-22
EP1013089A1 (de) 2000-06-28
CA2305368A1 (en) 1999-04-15
US6380978B1 (en) 2002-04-30
DE69830661D1 (de) 2005-07-28

Similar Documents

Publication Publication Date Title
DE69830661T2 (de) Digitales videosystem und verfahren zur verfuegungstellung desselben
US7215376B2 (en) Digital video system and methods for providing same
EP0465732B1 (de) Vorrichtung zur Ableitung eines kompatiblen Zeilensprungfernsehsignals mit geringer Auflösung und anderen Komponenten eines hochauflösenden Zeilensprungfernsehsignals sowie Vorrichtung zur Wiederherstellung des Originalsignals
US5621470A (en) Interpixel and interframe interpolation of television pictures with conversion from interlaced to progressive scanning
DE69629423T2 (de) Vorrichtung zur Flimmerreduzierung
CN1666515A (zh) 高清晰度去隔行和倍帧电路及方法
JPH05244573A (ja) 画像信号処理装置及び方法
JPS62193378A (ja) 方式変換装置
EP0550229B1 (de) Vorrichtung zur Umwandlung des Bildseitenverhältnisses eines Fernsehbildschirmes
DE19713635B4 (de) Videokameravorrichtung vom digitalen Aufzeichnungstyp
US5668602A (en) Real-time television image pixel multiplication methods and apparatus
DE3444836A1 (de) Verfahren zur umwandlung eines videosignals
DE102005041249A1 (de) Verfahren zur Erzeugung räumlich darstellbarer Bilder
US20060274976A1 (en) Image scaling
JPH0898154A (ja) テレビジョン信号処理装置
TW449999B (en) Digital video system and methods for providing same
US5287179A (en) Image display system
DE102012108685B4 (de) Multi-Konverter für digitale, hochauflösende, stereoskopische Videosignale
JP2802766B2 (ja) 画像表示方法
JP2884648B2 (ja) 映像信号の変換方法
EP0470984A1 (de) Signalverarbeitungssystem
JPH08242418A (ja) 高精細マルチビジョンシステム
JPH02121491A (ja) 奥行信号分離式立体テレビジョン装置
JPH04159888A (ja) 垂直フィルタ回路
EP1750457A1 (de) Verfahren und Schaltungsanordnung zur Verarbeitung eines Videosignals und Kamera dafür

Legal Events

Date Code Title Description
8364 No opposition during term of opposition