DE112008004040T5 - Verfahren und System zum Erhöhen einer Rahmenanzeigerate - Google Patents

Verfahren und System zum Erhöhen einer Rahmenanzeigerate Download PDF

Info

Publication number
DE112008004040T5
DE112008004040T5 DE112008004040T DE112008004040T DE112008004040T5 DE 112008004040 T5 DE112008004040 T5 DE 112008004040T5 DE 112008004040 T DE112008004040 T DE 112008004040T DE 112008004040 T DE112008004040 T DE 112008004040T DE 112008004040 T5 DE112008004040 T5 DE 112008004040T5
Authority
DE
Germany
Prior art keywords
video frame
video
frame
motion vector
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112008004040T
Other languages
English (en)
Inventor
Leonard Tsai
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112008004040T5 publication Critical patent/DE112008004040T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0247Flicker reduction other than flicker reduction circuits used for single beam cathode-ray tubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/106Determination of movement vectors or equivalent parameters within the image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • 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/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Ausführungsbeispiele der vorliegenden Erfindung schaffen eine effiziente und kostengünstige Implementierung eines Verfahrens und Systems zum Erhöhen der Rahmenanzeigerate einer Videoanzeigevorrichtung. Videodaten werden in eine Videoanzeigevorrichtung oft in einer komprimierten Form eingegeben, die codierte und komprimierte Bewegungsvektoren umfasst. Die Bewegungsvektoren stellen Informationen über Teile aufeinanderfolgender Videorahmen (video frames) bereit, die sich bezüglich ihrer relativen Position verändern. Die Bewegungsvektoren werden zusammen mit den Rahmen dekomprimiert und decodiert. Bei bestimmten Ausführungsbeispielen der vorliegenden Erfindung werden von einer Verarbeitungskomponente an eine Zeitsteuerungskomponente einer Videoanzeigevorrichtung ein erster Rahmen und eine begleitende Bewegungsvektortabelle übertragen, unter deren Verwendung die Zeitsteuerungskomponente einen zweiten Rahmen generieren kann, der nach dem Anzeigen des ersten Rahmens angezeigt wird.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf Fernseher, Computermonitore und andere Anzeigevorrichtungen und insbesondere auf ein Verfahren und System zum Erhöhen der Rahmenanzeigerate einer Anzeigevorrichtung unter Verwendung von Bewegungsinformationen, die aus einem codierten und komprimierten Eingangs-Videostrom extrahiert werden.
  • Hintergrund der Erfindung
  • Filme, Fernsehsendungen und Videos, die auf Videoanzeigevorrichtungen wiedergegeben werden, geben einem Zuschauer durch schnelles Anzeigen einer Sequenz von Standbildern die Illusion kontinuierlicher Bewegung. Die Standbilder werden als „Rahmen” (frames) bezeichnet. Wenn eine ausreichende Zahl Rahmen pro Sekunde angezeigt werden, füllt das menschliche visuelle System die Zeitzwischenräume zwischen aufeinanderfolgenden Rahmen, um die Illusion kontinuierlicher Bewegung zu erzeugen. Filme zeigen 24 Rahmen pro Sekunde mit einem Intervall von 1 / 30 Sekunden zwischen Rahmen an, Analogfernsehen zeigt 30 Rahmen pro Sekunde oder, äquivalent, 60 verschachtelnde Felder pro Sekunde an, und es wird erwartet, dass zukünftige Standards für hochauflösendes Fernsehen („HDTV” = high-definition television) eine Rahmenanzeigerate von 60 Rahmen pro Sekunde spezifizieren werden.
  • Zwar ermöglicht die Illusion kontinuierlicher Bewegung, die durch das Anzeigen einer Sequenz von Standbildern erzeugt wird, Menschen generell das Ansehen und Genießen von Filmen und Fernsehsendungen, jedoch ist die durch Filme und Fernsehsendungen bereitgestellte Illusion kontinuierlicher Bewegung nicht vollkommen. Aus der diskontinuierlichen Eigenschaft von Filmen, Fernsehen und dem Anzeigen von Video, in diesem Dokument zusammenfassend als „Anzeigen von Video” bezeichnet, ergeben sich bestimmte Artefakte und Beeinträchtigungen. Ein exemplarisches Artefakt besteht darin, dass bei einer Fernsehübertragung von alten Westernfilmen die Räder an Planwagen und Kutschen sich gelegentlich rückwärts zu bewegen scheinen, wenn die Kutschen und Planwagen sich vorwärts bewegen und die Rotation der Räder, in Umdrehungen pro Sekunde, etwas langsamer ist als die Rahmenerfassungsrate der Filmkamera. Ein Beispiel für eine Beeinträchtigung, die sich aus der diskreten Eigenschaft des Anzeigens von Video ergibt, ist das wahrnehmbare Flimmern von Fernsehanzeigen und Computermonitoren auf Kathodenröhrenbasis.
  • Mit der Verbesserung von Videoanzeigevorrichtungen im Lauf der Jahre und mit ihrer Entwicklung von analogen Vorrichtungen zu digitalen Vorrichtungen haben Videoanzeigevorrichtungen die Fähigkeit entwickelt, höhere Anzeigeraten bereitzustellen, einschließlich Anzeigeraten, die höher sind als die Rahmenerfassungsraten, mit denen Videorahmen aufgezeichnet und durch verschiedene Sende- und elektronische oder optische Datenübertragungsmedien übertragen werden. Erhöhte Anzeigeraten stellen generell eine bessere Illusion kontinuierlicher Bewegung mit weniger Artefakten und Beeinträchtigungen bereit. Jedoch können Implementierungen von Videoanzeigevorrichtungen, die diese höheren Rahmenanzeigeraten beherrschen, wesentlich komplexer und teurer sein. Aus diesem Grund sind die Konstrukteure und Hersteller von Videoanzeigevorrichtungen verschiedenen Typs bestrebt, Rahmenanzeigeraten zu erhöhen und gleichzeitig Erhöhungen der Hardwarekomplexität und der Implementierungskosten zu minimieren.
  • Zusammenfassung der Erfindung
  • Ausführungsbeispiele der vorliegenden Erfindung schaffen eine effiziente und kostengünstige Implementierung eines Verfahrens und Systems zum Erhöhen der Rahmenanzeigerate einer Videoanzeigevorrichtung. Videodaten werden in eine Videoanzeigevorrichtung häufig in einer komprimierten Form eingegeben, die codierte und komprimierte Bewegungsvektoren umfasst. Die Bewegungsvektoren stellen Informationen über Teile von aufeinanderfolgenden Videorahmen bereit, die sich bezüglich ihrer relativen Position verändern. Die Bewegungsvektoren werden zusammen mit den Rahmen dekomprimiert und decodiert. In bestimmten Ausführungsbeispielen der vorliegenden Erfindung werden von einer Verarbeitungskomponente an eine Zeitsteuerungskomponente einer Videoanzeigevorrichtung ein erster Rahmen und eine begleitende Bewegungsvektortabelle übertragen, unter deren Verwendung die Zeitsteuerungskomponente einen zweiten Rahmen generieren kann, der nach einem Anzeigen des ersten Rahmens angezeigt wird. Auf diese Weise ist das Anzeigen der generierten Rahmen zwischen einem Anzeigen von dekomprimierten und decodierten Rahmen verschachtelt, was eine erhöhte Rahmenanzeigerate relativ zu der Rate ergibt, mit der Rahmen durch Dekomprimieren und Decodieren eines Eingangsvideosignals empfangen werden.
  • Kurze Beschreibung der Zeichnungen
  • 13A13I illustrieren den Betrieb einer momentan verfügbaren Videoanzeigevorrichtung.
  • 14 illustriert eine LCD-Anzeige.
  • 15 illustriert dieses Verwischen bewegter Objekte durch Abtast-und-Halte-Anzeigevorrichtungen.
  • 16A16B illustrieren eine mögliche Lösung des Verwischungsproblems, das Abtast-und-Halte-Anzeigevorrichtungen mit niedrigen und mittleren Rahmenanzeigeraten eigen ist.
  • 17 illustriert ein Verfahren, mit dem Zwischenrahmen generiert werden können, um die Rahmenanzeigerate in einer Abtast-und-Halte-Anzeigevorrichtung zu erhöhen.
  • 18 illustriert Veränderungen an der mit Bezug auf 13A beschriebenen Videoanzeigevorrichtung, um eine Rahmeninterpolation zu implementieren, um die Rahmenanzeigerate zu verdoppeln, wie oben mit Bezug auf 16A17 erläutert.
  • 19 illustriert die Bewegungsvektoren, die durch ein Videoverarbeitungssystem zusammen mit Videorahmen aus einem codierten und komprimierten Videosignal extrahiert werden.
  • 20 illustriert ein Rahmeninterpolationsverfahren, das eine Tabelle von Bewegungsvektoren verwendet.
  • 21A21D illustrieren den Betrieb einer Videoanzeigevorrichtung, die Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung enthält.
  • 22 stellt ein Zustandsübergangsdiagramm für das Videoverarbeitungssystem einer Videoanzeigevorrichtung bereit, das Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung enthält.
  • 23 stellt ein Zustandsübergangsdiagramm für das Zeitsteuerungssystem einer Videoanzeigevorrichtung bereit, das Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung enthält.
  • Detaillierte Beschreibung der Erfindung
  • Ausführungsbeispiele der vorliegenden Erfindung sind auf Verfahren und Hardwaresysteme zum Erhöhen der Rahmenanzeigerate von Videoanzeigevorrichtungen auf effiziente und kostengünstige Arten gerichtet. Insbesondere erhöhen Ausführungsbeispiele der vorliegenden Erfindung die Rahmenanzeigerate einer Videoanzeigevorrichtung durch Generieren eines zweiten Satzes von Rahmen, die zwischen den aus einem Eingangs-Videostrom extrahierten Rahmen eingefügt werden, um die Anzahl von Rahmen zu erhöhen, die während jedes Zeitintervalls zum Anzeigen durch die Videoanzeigevorrichtung verfügbar sind. Beispielsweise wird bei einem HDTV, der 30 Rahmen pro Sekunde zum Anzeigen empfängt und die verfügbaren Rahmen durch einen Entschachtelungsprozess auf 60 Rahmen pro Sekunde verdoppelt, die Anzahl von Rahmen, die zum Anzeigen in dem Eingangs-Videostrom verfügbar sind, in einem Ausführungsbeispiel der vorliegenden Erfindung wiederum auf 160 Rahmen pro. Sekunde verdoppelt, wobei jeder Rahmen des so entstehenden Ausgangs-Videostroms für 1/120 einer Sekunde angezeigt wird, um eine Rahmenanzeigerate von 120 Hz zu erzeugen.
  • In einem ersten Unterabschnitt wird unten eine Codierung, Kompression, Dekompression und Decodierung von Videodaten im Überblick beschrieben. In einem zweiten Unterabschnitt wird eine momentan verfügbare Videoanzeigevorrichtung einschließlich einer vorgeschlagenen Implementierung zum Verdoppeln der Rahmenanzeigerate der momentan verfügbaren Videoanzeigevorrichtung beschrieben. In einem letzten Unterabschnitt werden unten Ausführungsbeispiele der vorliegenden Erfindung erläutert.
  • Codierung, Kompression, Dekompression und Decodierung von Videodaten
  • 1 illustriert einen pixelbasierten Videosignal-Rahmen. Der Rahmen 102 kann als zweidimensionales Array von Pixelwerten betrachtet werden. Jede Zelle des zweidimensionalen Arrays, wie etwa Zelle 104, stellt einen Pixelwert zum Anzeigen durch ein entsprechendes Pixel einer elektronischen Anzeigevorrichtung dar, wie etwa einer Fernsehanzeige oder eines Computermonitors. Es gibt unterschiedliche Standards für Videosignal-Rahmen, einschließlich eines Standards, der spezifiziert, dass jeder Rahmen 240×352 Pixel zum Anzeigen auf einem Computermonitor enthält, und eines Standards, der spezifiziert, dass jeder Rahmen 1920×1080 Pixel zum Anzeigen auf einem Flachbildschirm-HDTV enthält. Die digitale Darstellung jedes Pixels, wie etwa des Pixelwerts 106, umfasst einen Luminanzwert 108 und zwei Chrominanzwerte 110111. Der Luminanzwert 108 ist so vorstellbar, dass er die Grauskalierungs-Dunkelheit oder -Helligkeit des Pixels steuert, und die Chrominanzwerte 110 und 111 spezifizieren die durch das Pixel anzuzeigende Farbe.
  • 2 illustriert die Codierung eines rahmenbasierten Videosignals. Ein rohes Videosignal kann als eine Serie oder Sequenz von Rahmen 120 betrachtet werden, die mit Bezug auf die Zeit geordnet sind. In einem üblichen Standard sind zwei aufeinanderfolgende Rahmen, wie etwa die Rahmen 122 und 124 in 2, durch eine Zeitdifferenz von 1/30 einer Sekunde getrennt. Der Videocodierungsprozess teilt die Sequenz von Rahmen in dem Rohsignal in eine zeitlich geordnete Sequenz aus Subsequenzen, wobei jede Subsequenz als eine „GOP” („group of pictures” = Bildgruppe) bezeichnet wird. Jede GOP kann die vorhergehenden und nachfolgenden GOPs in den ersten und letzten Rahmen überlappen. In 2 weisen die 13 Rahmen 126 eine einzige GOP auf. Die Anzahl von Rahmen in einer GOP kann unterschiedlich sein, abhängig von der jeweiligen Codec-Implementierung, der gewünschten Genauigkeit der Wiederherstellung des Videosignals, der gewünschten Auflösung und anderer Faktoren. Eine GOP beginnt und endet generell mit Zwischenrahmen wie etwa den Zwischenrahmen 128 und 130 in GOP 126. Zwischenrahmen, auch als „I-Rahmen” („I frames”) bezeichnet, sind Referenzrahmen, die räumlich codiert sind. In der GOP kann eine Anzahl von P-Rahmen 132134 und B-Rahmen 136139 sowie 140143 auftreten. P-Rahmen und B-Rahmen können sowohl räumlich als auch zeitlich codiert sein. Die Codierung eines P-Rahmens stützt sich auf einen vorhergehenden I-Rahmen oder P-Rahmen, während die Codierung eines B-Rahmens sich sowohl auf einen vorhergehenden als auch einen nachfolgenden I-Rahmen oder P-Rahmen stützt. Generell werden I-Rahmen und P-Rahmen als Referenzrahmen betrachtet. Wie in 2 durch Pfeile wie etwa den Pfeil 144 gezeigt, können die für P-Rahmen und B-Rahmen ausgewählten Rahmen in der GOP in einer anderen Reihenfolge auftreten als der Reihenfolge, in der sie in einem Eingangsvideosignal auftreten. Jede GOP wird in zeitlicher Reihenfolge in ein Codierungsmodul 148 eingegeben, das die in der GOP enthaltenen Informationen in einen komprimierten Bitstrom 150 codiert, der zum Speichern auf einem elektronischen Speichermedium oder zur Übertragung über ein elektronisches Kommunikationsmedium ausgegeben werden kann.
  • 3 illustriert einen ersten, logischen Schritt bei der Codierung eines Rahmens. Wie mit Bezug auf 1 oben erläutert, kann ein Videorahmen 102 als zweidimensionales Array von Pixelwerten betrachtet werden, wobei jeder Pixelwert einen Luminanzwert und zwei Chrominanzwerte aufweist. Somit kann ein einzelner Videorahmen alternativ so betrachtet werden, dass er aus einem Luminanzrahmen 302 und zwei Crominanzrahmen 304 und 306 zusammengesetzt ist. Da die menschliche visuelle Wahrnehmung schärfer auf Luminanz als auf Chrominanz eingestellt ist, werden die zwei Chrominanzrahmen 304 und 306 generell um einen Faktor 2 in jeder Dimension oder um einen Gesamtfaktor von 4 dezimiert, um niedriger auflösende Rahmen zu erzeugen. Beispielsweise kann ein 240 × 352-Videorahmen dezimiert werden, um einen niedriger auflösenden 120 × 175-Rahmen zu erzeugen.
  • 4 illustriert die Zusammensetzung eines Videorahmens in Makroblöcke. Wie in 4 gezeigt, kann ein Videorahmen, wie etwa der 240 × 352-Videorahmen 401, von dem nur ein kleiner Teil in 4 erscheint, in einen Satz von nichtüberlappenden 16 × 16-Makroblöcken zerlegt werden. Dieser in 4 gezeigte kleine Teil des Rahmens ist in vier Makroblöcke 404407 geteilt worden. Wenn die Makroblöcke in der Reihenfolge ihres Erscheinens von links nach rechts in aufeinanderfolgenden Zeilen des Videorahmens numerisch bezeichnet werden, ist der erste Makroblock 401 in 4 mit „0” bezeichnet und der zweite Makroblock 405 ist mit „1” bezeichnet. Auf den Makroblock 1 in der ersten Zeile des Videorahmens folgen 20 weitere Makroblöcke, in 4 nicht gezeigt, so dass der in 4 gezeigte dritte Makroblock 406, der erste Makroblock der zweiten Zeile, mit „22” bezeichnet ist und der in 4 gezeigte letzte Makroblock 407 mit „23” bezeichnet ist.
  • 5 illustriert die Zerlegung eines Makroblocks in sechs 8 × 8-Blöcke. Wie oben erläutert, kann ein Videorahmen, wie etwa der Videorahmen 102 in 1, in eine Reihe von 16 × 16-Makroblöcken, wie etwa den Makroblock 404 in 4, zerlegt werden. Wie mit Bezug auf 3 erläutert, kann jeder Videorahmen oder Makroblock in einem Videorahmen so betrachtet werden, dass er aus einem Luminanzrahmen und zwei Chrominanzrahmen beziehungsweise einem Luminanzmakroblock und zwei Chrominanzmakroblöcken zusammengesetzt ist. Wie mit Bezug auf 3 erläutert, werden Chrominanzrahmen und/oder -makroblöcke generell um einen Gesamtfaktor 4 dezimiert. Somit kann ein gegebener Makroblock in einem Videorahmen, wie etwa der Makroblock 404 in 4, so betrachtet werden, dass er aus einem Luminanz-16 × 16-Makroblock 502 und zwei 8 × 8-Chrominanzblöcken 504 und 505 zusammengesetzt ist. Der Luminanzmakroblock 502 kann, wie in 5 gezeigt, in vier 8 × 8-Blöcke zerlegt werden. Somit kann ein gegebener Makroblock in einem Videorahmen, wie etwa der in 4 gezeigte Makroblock 404 in Videorahmen 401, in sechs 8 × 8-Blöcke 506 zerlegt werden, die vier Luminanz-8 × 8-Blöcke und zwei Chrominanz-8 × 8-Blöcke umfassen. Die räumliche Codierung von Videorahmen wird auf Basis von 8 × 8-Blöcken durchgeführt. Die zeitliche Codierung von Videorahmen wird auf Basis von 16 × 16-Makroblöcken durchgeführt.
  • 6 illustriert die räumliche Codierung eines aus einem Videorahmen extrahierten 8 × 8-Blocks, wie oben mit Bezug auf 15 erläutert. Jede Zelle oder jedes Element des 8 × 8-Blocks 602, wie etwa die Zelle 604, enthält einen Luminanz- oder Chrominanzwert f(i, j), wobei i und j die Zeilen- beziehungsweise Spaltenkoordinaten der Zelle sind. Die Zelle wird aus der Raumdomäne, die durch das Array von Intensitätswerten f(i, j) dargestellt ist, in die Frequenzdomäne, die durch ein zweidimensionales 8 × 8-Array von Frequenzdomäne-Koeffizienten F(u, v) dargestellt ist, transformiert 606, in vielen Fällen unter Verwendung einer diskreten Kosinustransformation („DCT” = discrete cosine transform). Ein Ausdruck für eine exemplarische DCT ist oben in 6 gezeigt 608. Die Koeffizienten in der Frequenzdomäne zeigen räumliche Periodizitäten in vertikaler, horizontaler und sowohl vertikaler als auch horizontaler Richtung in der Raumdomäne an. Der Koeffizient F(0,0) 610 wird als der „DC”-Koeffizient bezeichnet und weist einen Wert proportional zu der durchschnittlichen Intensität innerhalb des 8 × 8-Raumdomäne-Blocks 602 auf. Die durch die Frequenzdomäne-Koeffizienten dargestellten Periodizitäten erhöhen sich bezüglich der Frequenz von dem Koeffizienten der niedrigsten Frequenz 610 zu dem Koeffizienten der höchsten Frequenz 612 entlang der Diagonale, die den DC-Koeffizienten 610 mit dem Koeffizienten der höchsten Frequenz 612 verbindet.
  • Als Nächstes werden die Frequenzdomäne-Koeffizienten quantisiert 614, um einen 8 × 8-Block von quantisierten Frequenzdomäne-Koeffizienten 616 zu erzeugen. 7 illustriert eine exemplarische Quantisierung von Frequenzdomäne-Koeffizienten. Die Quantisierung verwendet eine 8 × 8-Quantisierungsmatrix Q 702. In einem exemplarischen Quantisierungsprozess, in 7 durch den Ausdruck 704 dargestellt, wird jeder Frequenzdomäne-Koeffizient f(i, j) mit 8 multipliziert, und dann wird er unter Verwendung ganzzahliger Division durch den entsprechenden Wert in der Quantisierungsmatrix Q, Qi,j, dividiert, der zuerst um einen Skalierungsfaktor skaliert werden kann. Quantisierte Koeffizienten weisen klein-ganzzahlige Werte auf. Eine Untersuchung der Quantisierungsmatrix Q ergibt, dass in dem Quantisierungsprozess Koeffizienten höherer Frequenzen generell durch größere Werte dividiert werden als Koeffizienten niedrigerer Frequenzen. Da Q-Matrix-Ganzzahlen für Koeffizienten höherer Frequenzen größer sind, sind die Koeffizienten höherer Frequenzen am Ende in einem kleineren Bereich von Ganzzahlen oder Quantisierungsbehältern (quantization bins) quantisiert. Anders ausgedrückt, der Bereich quantisierter Werte für Koeffizienten niedrigerer Frequenzen ist größer als für Koeffizienten höherer Frequenzen. Da Koeffizienten niedrigerer Frequenzen generell größere Beträge aufweisen und generell mehr zu einem wahrgenommenen Bild beitragen als Koeffizienten höherer Frequenzen, hat die Quantisierung zum Ergebnis, dass viele der quantisierten Koeffizienten höherer Frequenzen in dem unteren rechten dreieckigen Teil des Quantisierte-Koeffizienten-Blocks 616 auf Null gebracht werden. Als Nächstes wird der Block quantisierter Koeffizienten 618 im Zickzack durchquert, um einen eindimensionalen Vektor von quantisierten Koeffizienten 620 zu erzeugen. Der eindimensionale Vektor von quantisierten Koeffizienten wird dann unter Verwendung unterschiedlicher Entropiecodierungstechniken codiert, generell Lauflängencodierung, gefolgt von Huffman-Codierung, um einen komprimierten Bitstrom 622 zu erzeugen. Entropiecodierungstechniken nutzen eine ungleichmäßige Verteilung der Frequenz des Auftretens von Symbolen innerhalb eines Symbolstroms, um den Symbolstrom zu komprimieren. Ein letzter Teil des eindimensionalen Quantisierte-Koeffizienten-Vektors 620 mit höchsten Indizes enthält oft nur Nullwerte. Eine Lauflängencodierung kann eine lange, aufeinanderfolgende Sequenz von Nullwerten durch ein einzelnes Auftreten des Wertes „0” und die Länge der Subsequenz von Nullwerten darstellen. Die Huffman-Codierung verwendet bitlängenvariable Codierungen von Symbolen, bei denen Codierungen kürzerer Länge häufiger auftretende Symbole darstellen, um eine Symbolkette zu komprimieren.
  • Eine räumliche Codierung verwendet nur Informationen, die in einem bestimmten 8 × 8-Raumdomäne-Block enthalten sind, um den Raumdomäne-Block zu codieren. Wie oben erläutert, werden I-Rahmen nur unter Verwendung einer räumlichen Codierung codiert. Anders ausgedrückt, jeder I-Rahmen wird in 8 × 8-Blöcke zerlegt, und jeder Block wird räumlich codiert, wie oben mit Bezug auf 6 erläutert. Da die Codierung von I-Rahmen nicht von anderen Rahmen in einem Videosignal abhängig ist, dienen I-Rahmen als eigenständige Referenzpunkte, die den Decodierungsprozess in gleichmäßig beabstandeten Intervallen verankern, wodurch eine Drift in dem decodierten Signal, die durch Interdependenzen zwischen codierten Rahmen entsteht, verhindert wird.
  • Da eine Sequenz von Videorahmen, oder ein Videosignal, oft ein dynamisches Bild von Menschen oder Objekten, die sich mit Bezug auf einen relativ festen Hintergrund bewegen, eine über einen Hintergrund geschwenkte Videokamera oder eine Szene codiert, die während eines Zeitraums relativ statisch ist, enthält eine Sequenz von Videobildern häufig eine große Menge redundanter Informationen, von denen einige oder viele aus einer anfänglichen Position in einem anfänglichen Rahmen an eine Reihe von nachfolgenden Positionen über nachfolgende Rahmen translatiert oder verschoben werden. Aus diesem Grund stellt eine Erfassung einer Bewegung von Bildern oder Teilbildern innerhalb einer Reihe von Videorahmen eine Einrichtung für relativ hohe Kompressionsniveaus bereit.
  • Techniken zum Erfassen der Bewegung von Bildern und Teilbildern innerhalb einer Sequenz von Videorahmen im Zeitverlauf und Verwenden der redundanten Informationen, die in diesen bewegten Bildern und Teilbildern enthalten sind, wird als zeitliche Kompression bezeichnet.
  • 8 illustriert eine Teilbildbewegung über eine Sequenz von Rahmen und Bewegungsvektoren, die die Teilbildbewegung beschreiben. In 8 sind drei aus einer GOP ausgewählte Videorahmen 802804 gezeigt. Rahmen 803 wird als der momentane Rahmen oder zu codierende und zu komprimierende Rahmen betrachtet. Rahmen 802 ist in der Sequenz von Rahmen des ursprünglichen Videosignals zeitlich früher aufgetreten als der momentane Rahmen 803, und Rahmen 804 folgt in dem ursprünglichen Videosignal auf Rahmen 803. Ein bestimmter 16 × 16-Makroblock 806 in dem momentanen Rahmen 803 wird in dem vorhergehenden Rahmen 802 an einer ersten und anderen Position 808 und in dem nachfolgenden Rahmen 804 an einer zweiten und anderen Position 810 gefunden. Beim Übereinanderlegen der Positionen des Makroblocks 806 in den vorhergehenden, momentanen und nachfolgenden Rahmen innerhalb eines einzelnen Rahmens 812 wird beobachtet, dass der Makroblock sich in der Sequenz von Rahmen in dem ursprünglichen Videosignal anscheinend von der ersten Position 808 durch die momentane Position 806 diagonal nach unten an die zweite Position 810 bewegt hat. Die Position des Makroblocks in dem momentanen Rahmen 806 und zwei Verschiebungs- oder Bewegungsvektoren 814 und 816 beschreiben die zeitliche und räumliche Bewegung des Makroblocks 806 in dem Zeitraum, der durch die vorhergehenden, momentanen und nachfolgenden Rahmen dargestellt ist. Das Grundkonzept der zeitlichen Kompression besteht darin, dass der Makroblock 806 in dem momentanen Rahmen als entweder einer der oder beide Bewegungsvektoren 814 und 816 codiert werden kann, da der Makroblock in Codierungen der vorhergehenden und nachfolgenden Rahmen codiert worden sein wird und daher in dem momentanen Rahmen redundante Informationen darstellt, abgesehen von den bewegungsvektorbasierten Informationen, die seine Position innerhalb des momentanen Rahmens betreffen.
  • 9 zeigt die zum zeitlichen Codieren eines momentanen Rahmens verwendeten Informationen. Die zeitliche Codierung eines momentanen Rahmens verwendet den momentanen Rahmen 902 und entweder einen einzelnen vorhergehenden Rahmen 904 und einen einzelnen Bewegungsvektor 906, der dem vorhergehenden Rahmen zugeordnet ist, oder sowohl den vorhergehenden Rahmen und den zugeordneten Bewegungsvektor 904 und 906 als auch einen nachfolgenden Rahmen 908 und zugeordneten Bewegungsvektor 910. Eine zeitliche P-Rahmen-Codierung verwendet möglicherweise nur einen vorhergehenden Rahmen und einen vorhergehenden I-Rahmen oder P-Rahmen, und eine B-Rahmen-Codierung verwendet möglicherweise sowohl einen vorhergehenden als auch einen nachfolgenden I-Rahmen und/oder P-Rahmen.
  • 10 illustriert eine zeitliche P-Rahmen-Codierung. Bei der zeitlichen P-Rahmen-Codierung werden ein 16 × 16-Makroblock des momentanen Rahmens 1002 und ein in dem vorhergehenden Rahmen gefundener, passender 16 × 16-Makroblock 1004 zum Codieren des 16 × 16-Makroblocks des momentanen Rahmens 1002 verwendet. Der Makroblock des vorhergehenden Rahmens 1004 wird identifiziert als dem Makroblock des momentanen Rahmens 1002 ausreichend ähnlich, um durch zeitliche Kompression komprimierbar zu sein, und als der Makroblock, der dem Makroblock des momentanen Rahmens am ähnlichsten ist. Zum Identifizieren eines am besten passenden Makroblocks in einem vorhergehenden Rahmen für einen gegebenen Makroblock innerhalb des momentanen Rahmens können unterschiedliche Techniken verwendet werden. Ein am besten passender Makroblock in dem vorhergehenden Rahmen kann für ausreichend ähnlich erachtet werden, wenn die Summe absoluter Differenzen („SAD” = sum of absolute differences) oder die Summe quadratischer Differenzen („SSD” = sum of squared differences) zwischen entsprechenden Werten in dem Makroblock des momentanen Rahmens und dem am besten passenden Makroblock des vorhergehenden Rahmens unterhalb eines Schwellenwertes liegen. Dem Makroblock des momentanen Rahmens 1002 und dem am besten passenden Makroblock des vorhergehenden Rahmens 1004 ist ein Bewegungsvektor (906 in 9) zugeordnet. Der Bewegungsvektor kann berechnet werden als die horizontalen und vertikalen Versätze Δx und Δy der oberen linken Zellen der Makroblöcke des momentanen Rahmens und des am besten passenden Makroblocks des vorhergehenden Rahmens. Der Makroblock des momentanen Rahmens 1002 wird von dem am besten passenden Makroblock des vorhergehenden Rahmens 1004 subtrahiert, um einen Restmakroblock 1006 zu erzeugen. Sodann wird der Restmakroblock in sechs 8 × 8-Blöcke 1008 zerlegt, wie oben mit Bezug auf 5 erläutert, und jeder der 8 × 8-Blöcke wird durch eine DCT 1010 transformiert, um einen 8 × 8-Block von Frequenzdomäne-Koeffizienten 1012 zu erzeugen. Der Block von Frequenzdomäne-Koeffizienten wird quantisiert 1014 und linearisiert 1015, um den eindimensionalen Vektor von quantisierten Koeffizienten 1016 zu erzeugen. Der eindimensionale Vektor von quantisierten Koeffizienten 1016 wird dann lauflängencodiert und Huffman-codiert und mit dem Bewegungsvektor zusammen paketiert, der dem Makroblock des momentanen Rahmens 1002 und dem am besten passenden Makroblock des vorhergehenden Rahmens 1004 zugeordnet ist, um den komprimierten Bitstrom 1018 zu erzeugen. Die zeitliche Kompression eines P-Blocks wird Makroblock für Makroblock durchgeführt. Wenn in dem vorhergehenden Rahmen für einen bestimmten Makroblock des momentanen Rahmens kein ähnlicher Makroblock zu finden ist, kann der Makroblock des momentanen Rahmens räumlich codiert werden, wie oben mit Bezug auf 6 erläutert. Während der zeitlichen Codierung eines momentanen Rahmens kann entweder ein vorhergehender I-Rahmen oder ein vorhergehender P-Rahmen als der vorhergehende Rahmen verwendet werden.
  • 11 illustriert eine zeitliche B-Rahmen-Codierung. Viele der Schritte bei der zeitlichen B-Rahmen-Codierung sind mit denen bei der P-Rahmen-Codierung identisch. Bei der B-Rahmen-Codierung werden ein am besten passender Makroblock aus einem vorhergehenden Rahmen 1102 und ein am besten passender Makroblock aus einem nachfolgenden Rahmen 1104, die einem Makroblock eines momentanen Rahmens 1106 entsprechen, zusammengemittelt, um einen gemittelten passenden Rahmen 1108 zu erzeugen. Der Makroblock des momentanen Rahmens 1106 wird von dem gemittelten passenden Makroblock 1108 subtrahiert, um einen Restmakroblock 1110 zu erzeugen. Der Restmakroblock wird dann genau auf dieselbe Weise räumlich codiert, wie der Restmakroblock 1006 bei der P-Rahmen-Codierung räumlich codiert wird, wie in 10 beschrieben. Der eindimensionale Quantisierte-Koeffizienten-Vektor 1112, der sich aus der räumlichen Codierung des Restmakroblocks ergibt, wird entropiecodiert und mit den zwei Bewegungsvektoren paketiert, die dem am besten passenden Makroblock des vorhergehenden Rahmens 1102 und dem am besten passenden Makroblock des nachfolgenden Rahmens 1104 zugeordnet sind, um einen komprimierten Bitstrom 1114 zu erzeugen. Jeder Makroblock in einem B-Rahmen kann zeitlich komprimiert werden unter Verwendung nur eines am besten passenden Makroblocks des vorhergehenden Rahmens und zugeordneten Bewegungsvektors, wie in 10, nur eines am besten passenden Makroblocks des nachfolgenden Rahmens und zugeordneten Bewegungsvektors oder mit sowohl einem am besten passenden Makroblock des vorhergehenden Rahmens und zugeordnetem Bewegungsvektor als auch einem am besten passenden Makroblock des nachfolgenden Rahmens und zugeordnetem Bewegungsvektor, wie in 11 gezeigt. Zusätzlich kann, wenn für einen bestimmten Makroblock des momentanen Rahmens weder in dem vorhergehenden noch dem nachfolgenden Rahmen ein passender Makroblock zu finden ist, der momentane Makroblock räumlich codiert werden, wie mit Bezug auf 6 erläutert. Vorhergehende und nachfolgende Rahmen können entweder P- oder I-Rahmen sein.
  • 12 illustriert eine DC-Codierung. Wie oben erläutert, stellt der Koeffizient F(0,0) der Frequenzdomäne die durchschnittliche Intensität in der Raumdomäne dar. Der DC-Koeffizient ist mit Bezug auf eine hochgenaue Rahmen-Wiederherstellung die wichtigste Information. Daher sind die DC-Koeffizienten generell mit höchstmöglicher Auflösung dargestellt und sind durch DCPM-Codierung codiert. Bei der DCPM-Codierung wird der DC-Koeffizient 1202 des ersten I-Rahmens 1204 in den Bitstrom codiert, und für jeden DC-Koeffizienten nachfolgender Rahmen 12061208 wird die Differenz zwischen dem DC-Koeffizienten des nachfolgenden Rahmens und dem DC-Koeffizienten des ersten Referenzrahmens 1202 in den Bitstrom codiert.
  • Die Decodierung des komprimierten Bitstroms (150 in 2), der durch das oben mit Bezug auf 113 erläuterte Videocodierungsverfahren generiert wird, wird durch Umkehrung der Codierungsschritte durchgeführt. Eine Entropiedecodierung des Bitstroms gibt eindimensionale Quantisierte-Koeffizienten-Vektoren für räumlich codierte Blöcke und für Restblöcke zurück, die während der zeitlichen Kompression generiert werden. Außerdem gibt die Entropiedecodierung Bewegungsvektoren und andere Anfangsblockinformationen zurück, die in dem komprimierten Bitstrom paketiert sind, um die codierten Informationen zu beschreiben und die Decodierung zu ermöglichen. Die eindimensionalen Quantisierte-Koeffizienten-Arrays können dazu verwendet werden, entsprechende zweidimensionale Quantisierte-Koeffizienten-Blöcke und quantisierte Restblöcke zu generieren, und die Quantisierte-Koeffizienten-Blöcke und quantisierten Restblöcke können dann in wiederhergestellte Frequenzdomäne-Koeffizientenblöcke umgewandelt werden. Eine Wiederherstellung der Frequenzdomäne-Koeffizientenblöcke führt generell Rauschen ein, da bei dem Quantisierungsschritt des Codierungsprozesses Informationen verloren gegangen sind. Die wiederhergestellten Frequenzdomäne-Koeffizientenblöcke können dann unter Verwendung einer inversen DCT in die Raumdomäne transformiert werden und zu wiederhergestellten Videorahmen zusammengesetzt werden, wobei Restrahmen wieder zu Makroblöcken hinzugefügt werden, die durch Bewegungsvektoren in bereits wiederhergestellten Rahmen während der inversen zeitlichen Codierung gefunden wurden.
  • Eine momentan verfügbare Videoanzeigevorrichtung und vorgeschlagene Verbesserung
  • 13A–I illustrieren den Betrieb einer momentan verfügbaren Videoanzeigevorrichtung. Die in 13A gezeigte Videoanzeigevorrichtung besteht aus einem Videoverarbeitungssystem 1302, das komprimierte und codierte Videodaten 1304 als Eingang empfängt, die als ein „Videosignal” bezeichnet werden, das Eingangsvideosignal unter Verwendung eines internen Prozessors und/oder von Logikschaltungen 1306 verarbeitet, um dekomprimierte und decodierte Videorahmen zu erzeugen, die in Videorahmenpuffern 1308 und 1310 gespeichert werden, und dekomprimierte und decodierte Videorahmen über ein internes Kommunikationsmedium 1312 an ein Zeitsteuerungssystem 1314 überträgt. Das Zeitsteuerungssystem 1314 empfängt die dekomprimierten und decodierten Videorahmen aus dem Videoverarbeitungssystem 1302 in Videorahmenpuffern 1316 und 1318, aus denen die Zeitsteuerung dann die Videorahmen liest, um einen Anzeigeschirm 1320 zu steuern, um die Videorahmen einem oder mehreren Zuschauern anzuzeigen. Die in 13A beschriebene Videoanzeigevorrichtung zeigt die Videorahmen auf einem Flüssigkristall-Anzeigeschirm an, der eine zweidimensionale Matrix von Anzeigeelementen aufweist, die wiederum jeweils drei verschiedenfarbige Anzeigeelementkomponenten aufweisen, die elektronisch gesteuert werden können, um rotes, grünes beziehungsweise blaues Licht zu emittieren. Jedes Anzeigeelement wird in dem vorliegenden Dokument als ein „Pixel” bezeichnet.
  • Das Videoverarbeitungssystem 1302 ist primär für die rechenintensive Aufgabe zuständig, das komprimierte und codierte Videodatensignal, das durch Übertragungsmedien oder durch elektronische Kommunikationsmedien empfangen wird, zu dekomprimieren und decodieren. Wie unten detaillierter erläutert, werden zwei Videorahmenpuffer 1308 und 1310 verwendet, um LESE/SCHREIB-Konflikte sowohl in dem Videoverarbeitungssystem als auch in dem Zeitsteuerungssystem zu vermeiden. Das interne Kommunikationsmedium 1312 ist bei vielen LCD-Anzeigevorrichtungen ein Satz von Paaren von Niederspannungs-Differenzsignalisierungs-Signalleitungen („LVDS” = low-voltage differential signaling) wie etwa denen, die bei den Kommunikationsmedien mit serieller angefügter SCSI („SAS” = serial attached SCSI) und PCIe (PCI express) verwendet werden. LVDS-basierte Kommunikationsmedien verfügen über hohe Bandbreiten und flexible Konfiguration. Zusätzliche Paare von LVDS-Leitungen können beispielsweise hinzugefügt werden, um die Bandbreite eines LVDS-basierten Kommunikationsmediums schrittweise zu erhöhen. Jedes zusätzliche Paar von LVDS-Signalleitungen erhöht jedoch die Implementierungskosten und vermehrt die Entwurfskomplexität.
  • Wie in 13B gezeigt, wird zu Beginn des Anzeigens von Video ein erster Rahmen aus dem Videostrom durch den Prozessor 1306 des Videoverarbeitungssystems 1302 dekomprimiert und decodiert und in dem ersten Videorahmenpuffer 1308 gespeichert. Bei vielen momentan verfügbaren Systemen werden Rahmen mit halber Auflösung ungefähr mit der Rahmenanzeigerate empfangen. Somit wird in 13B der erste Rahmen mit halber Auflösung in dem Videorahmenpuffer 1308 platziert, dargestellt durch Kreuzschraffur. Der nächste Rahmen wird dekomprimiert und decodiert und, wie in 13C gezeigt, zu dem ersten Rahmen mit halber Auflösung hinzugefügt, um einen kompletten Videorahmen mit voller Auflösung zu erzeugen, der in dem Videorahmenpuffer 1308 gespeichert ist. LC-Anzeigen führen eine fortlaufende Anzeige von Rahmen mit voller Auflösung durch, im Gegensatz zu CRT-Anzeigen, die verschachtelte Felder anzeigen, die jeweils abwechselnde Zeilen einer CRT-Anzeige aufweisen. Wie in 13D gezeigt, beginnt der Prozessor einen nächsten Videorahmen in dem zweiten Videorahmenpuffer 1310 aufzubauen, während der in dem ersten Rahmenpuffer 1308 gespeicherte Rahmen an den ersten Rahmenpuffer 1316 in dem Zeitsteuerungssystem 1314 übertragen wird. Der nächste Videorahmen wird unter Verwendung eines Entschachtelungsprozesses, der einen Rahmen mit voller Auflösung erzeugt, aus einem nächsten dekomprimierten und decodierten Rahmen mit halber Auflösung und dem zuvor aufgebauten Rahmen aufgebaut. Der Entschachtelungsprozess erlaubt das Aufbauen von Rahmen mit voller Auflösung mit der Rate, mit der halbauflösende Rahmen empfangen, dekomprimiert und decodiert werden. Eine doppelte Pufferung wird verwendet, damit Videodaten aus dem ersten Videorahmen an das Zeitsteuerungssystem übertragen werden können, während neu dekomprimierte und decodierte Videodaten in den zweiten Videorahmenpuffer geschrieben werden können und umgekehrt. Als Nächstes setzt sich der Prozess, wie in 13E–F gezeigt, unbegrenzt fort, während Videorahmen durch das Videoverarbeitungssystem kontinuierlich dekomprimiert und decodiert werden. Ein nächster Rahmen wird in dem ersten Videorahmenpuffer 1308 aufgebaut, wie in 13E gezeigt, während der bereits aufgebaute Videorahmen in dem zweiten Videorahmenpuffer 1310 an den zweiten Videorahmenpuffer 1318 in dem Zeitsteuerungssystem von 1314 übertragen wird. Sodann werden, wie in 13F gezeigt, die Puffer getauscht, so dass der nächste Videorahmen in dem zweiten Videorahmenpuffer 1310 des Videoverarbeitungssystems 1302 aufgebaut wird, während der bereits aufgebaute Videorahmen in dem ersten Videorahmenpuffer 1308 an den ersten Videorahmenpuffer 1316 des Zeitsteuerungssystems 1314 übertragen wird. In dem Videoverarbeitungssystem wird zu jeder gegebenen Zeit ein nächster Rahmen aus neu dekomprimierten und decodierten Videodaten aufgebaut, während gleichzeitig ein bereits aufgebauter Rahmen an das Zeitsteuerungssystem übertragen wird. In dem Zeitsteuerungssystem wird ein nächster Rahmen in einem der zwei Videorahmenpuffer empfangen, während gleichzeitig ein bereits empfangener Videorahmen in einem anderen Videorahmenpuffer gelesen und in LCD-Anzeige-Steuerungssignale umgewandelt wird, die an den LCD-Bildschirm übertragen werden.
  • 14 illustriert eine LCD-Anzeige. Die LCD-Anzeige 1402 zeigt eine Videosequenz 1404 auf einer zweidimensionalen Matrix von Pixelelementen an. Wie in 14 gezeigt, erscheint jeder kleine Teil der LCD-Anzeige 1406 unter Vergrößerung oder bei Betrachtung aus der Nähe als zweidimensionale Matrix von Anzeigeelementen oder Pixeln 1408. Bei noch größerer Vergrößerung 1410 ist sichtbar, dass jedes Pixel drei Unterelemente 14121414 aufweist, die, wenn sie elektronisch dazu gesteuert werden, blaues, grünes beziehungsweise rotes Licht emittieren. Ein Pixel kann Licht einer Farbe, die aus einem Bereich verschiedener Farben ausgewählt ist, mit einer Intensität emittieren, die aus einem Bereich von Intensitäten ausgewählt ist.
  • LCD-Anzeigen sind Abtast-und-Halte-Vorrichtungen. Wenn ein Pixel elektronisch dazu gesteuert wird, Licht einer bestimmten Farbe und Intensität zu emittieren, emittiert das Pixel weiter Licht der bestimmten Farbe und Intensität bis zu einem nächsten Zeitpunkt, zu dem das Pixel dazu gesteuert wird, Licht einer anderen Farbe und/oder Intensität zu emittieren. Die Abtast-und-Halte-Eigenschaft von LCD-Anzeigen unterscheidet sich von derjenigen eines CRT-Bildschirms, bei dem eine Elektronenkanone eine phosphorbeschichtete Oberfläche abtastet, um Pixel zu illuminieren, deren Emissionsintensität sinkt, während die Abtastung auf einen nächsten Teil der Oberfläche des phosphorbeschichteten Bildschirms übergeht.
  • Leider führen Abtast-und-Halte-Anzeigen ein wahrnehmbares Verwischen bewegter Objekte ein. 15 illustriert dieses Verwischen bewegter Objekte durch Abtast-und-Halte-Anzeigevorrichtungen. 15 zeigt einen ersten Teil eines Videobildes, das ein bewegtes Objekt auf ideale Weise sowie auf die entschieden nichtkontinuierliche Weise 1504 anzeigt, die durch Abtast-und-Halte-Anzeigevorrichtungen erzeugt wird. Idealerweise würde ein bewegtes Objekt, das sich von Position 1506 an Position 1508 bewegt, dem Betrachter als eine Sequenz von Objektbildern 1506, 1508 und 15101512 mit relativ kleinen inkrementellen Positionsveränderungen erscheinen, die es dem Sichtsystem des Betrachters erlauben würden, leicht eine Illusion kontinuierlicher Bewegung bereitzustellen. Bei einer CRT-basierten Anzeige sinkt die Intensität der Pixel im Verlauf des Zwischen-Rahmen-Intervalls, was dem menschlichen visuellen System dabei hilft, eine Illusion kontinuierlicher Bewegung bereitzustellen. Bei einer Abtast-und-Halte-Anzeigevorrichtung dagegen wird das Objekt für ein volles Rahmenanzeigeintervall an einer ersten Position 1520 angezeigt, wechselt für ein zweites volles Rahmenanzeigeintervall plötzlich an eine zweite Position 522 und wechselt dann wieder an eine dritte Position 1524. Anders ausgedrückt, die Abtast-und-Halte-Anzeigevorrichtung stellt keine Wahrnehmung kontinuierlicher Bewegung bereit, was ein wahrgenommenes Verwischen eines Objektes in Bewegung durch das menschliche visuelle System zum Ergebnis hat. Ein menschlicher Betrachter sieht das bewegte Objekt verwischt über die Region, die die drei diskreten Objektbilder 1520, 1522 und 1524 enthält.
  • 16A–B illustrieren eine mögliche Lösung des Verwischungsproblems, das Abtast-und-Halte-Anzeigevorrichtungen mit niedrigen und mittleren Rahmenanzeigeraten eigen ist. In 16A sind drei kleine Teile einer digital codierten Videosequenz 16021604 mit Bezug auf eine Zeitlinie 1606 dargestellt. Zu der Zeit t1 1608 umfasst ein Videorahmenteil 1602 ein kleines Objekt 1612 in der unteren linken Ecke. Zu der Zeit t2 1614 wird ein neuer Videorahmenteil angezeigt, bei dem das Objekt sich an eine neue Position 1616 bewegt hat. Der anfängliche Videorahmenteil 1602 wird von der Zeit t1 bis zu der Zeit t2 kontinuierlich angezeigt. Der Videorahmenteil 1608 wird von der Zeit t2 1614 bis zu der Zeit t3 1618 kontinuierlich angezeigt, wobei an diesem Punkt ein nächster Videorahmenteil 1604 angezeigt wird. Es wird darauf hingewiesen, dass das Objekt sich noch weiter an eine neue Position 1620 bewegt hat. Wie mit Bezug auf 15 erläutert, wird dieses diskontinuierliche Springen des bewegten Objektes von einer Position an eine andere zu Zeitpunkten, die dem Anzeigen von Rahmen entsprechen, von einem menschlichen Betrachter als ein Verwischen des Objektes wahrgenommen.
  • 16B illustriert einen Ansatz zur Verbesserung des Verwischens von schnell bewegten Objekten in einer Videoszene, das durch eine Abtast-und-Halte-Anzeigevorrichtung eingeführt wird. Wie in 16B gezeigt, sind zwei neue Rahmenteile 1630 und 1632 zu den Zeiten
    Figure 00160001
    1634 beziehungsweise
    Figure 00160002
    1636 eingeführt worden. Durch Einführung der zwei neuen, verschachtelnden Rahmen ist die Bewegung in horizontaler Richtung bei der in 16B gezeigten Sequenz aus fünf Rahmenteilen relativ kontinuierlicher als bei der in 16A gezeigten Sequenz aus drei Rahmenteilen. Jedoch ist aufgrund der niedrigeren Begrenzung der Objektgrenzen, die sich aus der endlichen Pixelgröße ergibt, die Bewegung in vertikaler Richtung immer noch in dem Intervall t1 bis t2 und in dem Intervall t2 bis t3 festgelegt. Jedoch erzeugen die fünf in 16B gezeigten Rahmenteile, wenn sie mit der doppelten Rahmenanzeigerate der in 16A gezeigten Rahmenteile angezeigt werden, eine signifikante Verbesserung des wahrgenommenen Verwischens von schnell bewegten Objekten. Leider werden Videosignale mit einer festen Rahmenerfassungsrate erfasst, und der Wunsch nach einer Verbesserung von Verwischen durch Einführen zusätzlicher, verschachtelnder Rahmen in eine Rahmensequenz kann nicht durch Erhöhen der Rahmenerfassungsrate erfüllt werden.
  • 17 illustriert ein Verfahren, mit dem Zwischenrahmen erzeugt werden können, um die Rahmenanzeigerate in einer Abtast-und-Halte-Videoanzeigevorrichtung zu erhöhen. 17 zeigt einen Rahmen n 1702, der ein kleines bewegtes Objekt 1704 enthält, und einen Rahmenteil n + 1 1706, in dem das kleine bewegte Objekt sich an eine andere Position 1708 bewegt hat. Ein verschachtelnder n / 2 -Rahmen 1710 kann durch Mitteln der Pixelwerte von Rahmenteilen n und n + 1 erzeugt werden. Anders ausgedrückt, der Pixelwert für jedes Pixel Pi,j in dem Rahmen n / 2 wird berechnet als: Pi,j( n / 2) = 1 / 2(Pi,j(n) + Pi,j(n + 1))
  • Wie in 17 gezeigt, führt dies nicht zu einer vollkommenen Interpolation, bei der das Objekt an einer Zwischenposition erscheint, sondern erzeugt stattdessen zwei Bilder mit halber Intensität 1712 und 1714 des Objekts. Durch Erhöhung der Rahmenanzeigerate und Bereitstellen eines zusätzlichen Bewegungshinweises für das menschliche visuelle System ergibt sich jedoch eine signifikante Verringerung des wahrgenommenen Verwischens. Bei alternativen Entwürfen können alternative Arten von Rahmeninterpolation verwendet werden, einschließlich verschiedener Arten von Pixelkombinationsfunktionen.
  • 18 illustriert Veränderungen an der mit Bezug auf 13A beschriebenen Videoanzeigevorrichtung, um Rahmeninterpolation zu implementieren, um die Rahmenanzeigerate zu verdoppeln, wie oben mit Bezug auf 16A17 erläutert. Zu dem Videoverarbeitungssystem 1806 sind zwei zusätzliche Videorahmenpuffer 1802 und 1804 hinzugefügt worden, und zu dem Zeitsteuerungssystem 1812 sind zwei zusätzliche Videorahmenpuffer 1808 und 1810 hinzugefügt worden. Während der bereits aufgebaute Videorahmen in Videorahmenpuffer 1 1814 von dem Videoverarbeitungssystem 1806 an das Zeitsteuerungssystem 1812 übertragen wird und während ein nächster Rahmen in dem Videorahmenpuffer 2 1816 dekomprimiert und decodiert und aufgebaut wird, wird ein interpolierter Rahmen generiert und in Puffer 3 1802 platziert. Der bereits aufgebaute Videorahmen in Puffer 4 1804 wird an den Puffer 4 1810 des Zeitsteuerungssystems 1812 übertragen. Gleichzeitig wird der bereits empfangene Videorahmen in Puffer 3 1808 des Zeitsteuerungssystems 1812 auf dem Anzeigemonitor angezeigt. Die Rahmeninterpolation wird in dem Videoverarbeitungssystem 1806 durchgeführt, da das Videoverarbeitungssystem die Rechenressourcen für diesen relativ rechenaufwendigen Prozess aufweist.
  • Die Implementierung der in 18 gezeigten, verbesserten Vorrichtung mit höherer Rahmenanzeigerate bringt signifikant erhöhte Kosten und Entwurfskomplexitäten mit sich. Das Videoverarbeitungssystem 1806 und das Zeitsteuerungssystem 1812 erfordern jeweils eine Verdoppelung des für Videorahmenpuffer benötigten Speichers, und die Signalleitungen der Interkommunikationsmedien zwischen dem Videoverarbeitungssystem und dem Zeitsteuerungssystem müssen ebenfalls verdoppelt sein, um die zusätzliche Bandbreite bereitzustellen, die benötigt wird, um zweimal so viele Rahmen pro Sekunde zwischen dem Videoverarbeitungssystem und dem Zeitsteuerungssystem zu übertragen.
  • Ausführungsbeispiele der vorliegenden Erfindung
  • 19 illustriert die Bewegungsvektoren, die durch ein Videoverarbeitungssystem zusammen mit Videorahmen aus einem codierten und komprimierten Videosignal extrahiert werden. Wie in dem ersten Unterabschnitt oben erläutert, verwendet die Videocodierung Bewegungsvektoren, um die Bewegung von Makroblöcken von Rahmen zu Rahmen zu beschreiben, so dass anstelle der Makroblöcke Bewegungsvektoren übertragen werden können, um das Kompressionsverhältnis für komprimierte und codierte Videosignale signifikant zu erhöhen. Wenn ein dekomprimierter und decodierter Videorahmen als zweidimensionale Matrix von Makroblöcken betrachtet wird, von der ein kleiner Vier-Makroblock-Teil in 19 1902 gezeigt ist, so erzeugt der Dekompressions- und Decodierungsprozess zusätzlich eine zweidimensionale Tabelle von Bewegungsvektoren für jeden Makroblock, von der ein Teil 1904, der dem Teil des zweidimensionalen Arrays von Makroblöcken entspricht, in 19 gezeigt ist. Somit gibt es für jeden Makroblock, wie etwa den Makroblock 1906, einen entsprechenden Bewegungsvektor, wie etwa den Bewegungsvektor 1908, in einer begleitenden Tabelle von Bewegungsvektoren. Wie in dem ersten Unterabschnitt erläutert, wird im Fall von Diskontinuitäten in der Videosequenz möglicherweise nicht immer ein Bewegungsvektor für einen Makroblock gefunden, wobei dann ein Bewegungsvektor der Länge 0 angenommen werden kann. Bewegungsvektoren werden auf mehrere verschiedene Arten codiert. Beispielsweise kann ein Bewegungsvektor so codiert sein, dass er eine von acht oder 16 verschiedenen Richtungen aufweist, wobei drei beziehungsweise vier Bits verwendet werden, zusammen mit einer Länge, die in ausreichend zusätzlichen Bits codiert ist, um die größtmögliche Translationsdistanz eines Makroblocks zwischen aufeinanderfolgenden Rahmen zu beschreiben. Alternativ können die horizontalen und vertikalen Verschiebungen eines Makroblocks zusammen als ein Bewegungsvektor codiert sein.
  • 20 illustriert ein Rahmeninterpolationsverfahren, das eine Tabelle von Bewegungsvektoren verwendet. 20 zeigt einen kleinen Teil eines Videorahmens n 2002 und Videorahmens n + 1 2004, wobei sich ein kleines Objekt 2006 von einer unteren linken Region des Bildteils zu einer oberen rechten Region des Bildteils bewegt. Es wird darauf hingewiesen, dass die Teile von Rahmen Rasterlinien aufweisen, die eher Makroblöcken als Pixeln entsprechen. Um einen interpolierten Rahmen 2008 aus dem Teil des Rahmens n 2002 und dem Teil des Rahmens n + 1 2004 zu erzeugen, ist es ausreichend, über den Rahmenteil 2002 zusammen mit der für den Rahmenteil n + 1 2004 erstellten Bewegungsvektortabelle zu verfügen. Insbesondere enthält die Bewegungsvektortabelle die rückwärts weisenden Bewegungsvektoren, d. h. die Bewegungsvektoren, die die Bewegung von Makroblöcken zwischen den Rahmenteilen 2002 und 2004 beschreiben. Die Bewegung der Makroblöcke des bewegten Objektes in dem Intervall zwischen Rahmen 2002 und Rahmen 2004 wird durch Bewegungsvektoren beschrieben, die eine positive horizontale Translation von 96 Pixeln und eine positive vertikale Translation von 96 Pixeln spezifizieren. Daher kann der interpolierte Rahmen 2008 generiert werden, indem die Bewegungsvektoren in der Bewegungsvektortabelle modifiziert werden, indem die Längen der Bewegungsvektoren im Wesentlichen durch zwei geteilt werden. Somit kann der interpolierte Rahmen generiert werden, indem der Rahmenteil des vorhergehenden Rahmens in einen Puffer kopiert wird, während gemäß modifizierten Bewegungsvektoren in einer begleitenden Bewegungsvektortabelle Translationen auf die Makroblöcke angewandt werden. Wie bei jedem Interpolationsverfahren ist ein bewegungsvektorbasiertes Rahmeninterpolationsverfahren nicht vollkommen. Jedoch kann für die Mehrheit der Makroblöcke in einem Bild eine sinnvolle Interpolation vorgenommen werden, wodurch die wahrgenommenen Diskontinuitäten in der Bewegung, die sich aus Abtast-und-Halte-Anzeigevorrichtungen ergeben, signifikant verbessert werden.
  • 21A–D illustrieren den Betrieb einer Videoanzeigevorrichtung, die Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung enthält. Das Videoverarbeitungssystem 2102 umfasst zusätzlich zu Videorahmenpuffern 1 (2104) und 2 (2106) zwei Bewegungsvektortabellenpuffer 2108 und 2110. Das Zeitsteuerungssystem 2112 umfasst zwei zusätzliche Videorahmenpuffer 2114 und 2116 zur Aufnahme interpolierter Rahmen und umfasst eine zusätzliche Verarbeitungskomponente 2118, die Videorahmeninterpolation auf Basis von Bewegungsvektortabellen durchführt, wie oben mit Bezug auf 20 erläutert. Die zusätzliche Verarbeitungskomponente kann in Firmware, Software oder Logikschaltungen oder einer Kombination aus zweien oder mehr von Firmware, Software und Logikschaltungen implementiert sein. Ein erweitertes Kommunikationsmedium 2120 verbindet das Videoverarbeitungssystem 2102 mit dem Zeitsteuerungssystem 2112. Beispielsweise können ein oder mehrere zusätzliche Paare von LVDS-Signalleitungen zu dem Satz von LVDS-Signalleitungspaaren des Kommunikationsmediums 1312 in 13A hinzugefügt sein. Anders als bei der in 18 illustrierten Vorrichtung braucht das Kommunikationsmedium jedoch nicht die doppelte Bandbreite bereitzustellen wie das in 13A gezeigte Kommunikationsmedium, weil Bewegungsvektortabellen viel kleiner sind als Videorahmen, generell zwischen 1/6 und 1/3 so groß wie Videorahmen, und daher keine Verdoppelung der Bandbreite des Kommunikationsmediums erfordern. Somit ist die Videoanzeigevorrichtung, die Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung enthält, unter Verwendung von bewegungsvektorbasierter Videorahmeninterpolation gemäß Verfahren der vorliegenden Erfindung in der Lage, die Rahmenanzeigerate unter Verwendung von bewegungsvektorbasierter Rahmeninterpolation bei nur mäßiger Erhöhung der Komplexität und der Kosten der Videoanzeigevorrichtung zu verdoppeln.
  • In 21A dekomprimiert und decodiert das Videoverarbeitungssystem und einen Rahmen und speichert den dekomprimierten und decodierten Rahmen in dem Videorahmenpuffer 1 (2104), während es Rückwärtsbewegungsvektoren, die während des Dekompressions- und Decodierungsprozesses gewonnen und für die Rahmeninterpolation modifiziert wurden, wie oben erläutert, in den Bewegungsvektortabellenpuffer 2 (2110) speichert. Der bereits aufgebaute Videorahmen in Videorahmenpuffer (2106) in dem Videoverarbeitungssystem wird an den Videorahmenpuffer 2 (2122) in dem Zeitsteuerungssystem übertragen, und der in Videorahmenpuffer 1 (2124) gespeicherte, bereits empfangene Videorahmen des Zeitsteuerungssystems wird auf dem LCD-Bildschirm angezeigt.
  • In 21B wird der Inhalt der Bewegungsvektortabelle 2 (2110) des Videoverarbeitungssystems an das Zeitsteuerungssystem 2112 übertragen, während damit begonnen worden ist, einen nächsten Rahmen zu dekomprimieren und decodieren und in den Videorahmenpuffer 2 (2106) des Videoverarbeitungssystems zu speichern. Das Zeitsteuerungssystem verwendet die Bewegungsvektoren der Bewegungsvektortabelle 2 und einen bereits empfangenen Videorahmen in Videorahmenpuffer 2 (2122), um einen interpolierten Rahmen zu generieren, der in dem Videorahmenpuffer 2.5 (2116) gespeichert wird.
  • In 21C wird der Rahmen, mit dessen Dekomprimierung und Decodierung in 21B begonnen wurde, weiter dekomprimiert und decodiert und in Videorahmenpuffer 2 2106 gespeichert, wobei Bewegungsvektoren, die während dieses Prozesses extrahiert werden und zur Rahmeninterpolation modifiziert werden, in Bewegungsvektortabellenpuffer 1 2108 gespeichert werden. Der in Videorahmenpuffer 1 (2104) gespeicherte, bereits aufgebaute Videorahmen wird an Videorahmenpuffer 1 (2124) in dem Zeitsteuerungssystem 2112 übertragen.
  • In 21D ist damit begonnen worden, einen nächsten Rahmen zu dekomprimieren und decodieren und in den Videorahmenpuffer 1 (2104) zu speichern, während die Bewegungsvektoren in dem Bewegungsvektortabellenpuffer 1 2108 an das Zeitsteuerungssystem 2112 übertragen werden. Das Zeitsteuerungssystem verwendet die Bewegungsvektoren zusammen mit dem in Videorahmenpuffer 1 (2124) gespeicherten, bereits empfangenen Videorahmen, um einen interpolierten Rahmen zu generieren, der in Videorahmenpuffer 1.5 (2114) gespeichert wird, während der in Videorahmenpuffer 2.5 (2116) gespeicherte, bereits aufgebaute, interpolierte Rahmen auf dem LCD-Bildschirm angezeigt wird. Die in 21A–D illustrierte Sequenz von Operationen läuft somit kontinuierlich ab, um Videorahmen in dem Eingangsvideosignal zu decodieren und dekomprimieren, Bewegungsvektoren zu extrahieren, modifizieren und in Bewegungsvektortabellen zu speichern, die dekomprimierten und decodierten Videorahmen und modifizierten Bewegungsvektortabellen an das Zeitsteuerungssystem zu übertragen, durch das Zeitsteuerungssystem interpolierte Rahmen zu generieren und sowohl die dekomprimierten und decodierten Videorahmen aus dem Eingangsvideosignal als auch die interpolierten Rahmen auf verschachtelte Weise mit dem Zweifachen der nominalen Rahmenanzeigerate anzuzeigen. Auf diese Weise kann beispielsweise ein 60-Hz-LDC-Fernseher erweitert werden, um einen 120-Hz-LCD-Fernseher herzustellen. Bei alternativen Ausführungsbeispielen können zusätzliche interpolierte Rahmen zwischen dekomprimierten und decodierten Rahmen eingefügt werden, um die Rahmenanzeigerate weiter zu erhöhen.
  • In dem ersten Unterabschnitt werden mehrere verschiedene Rahmentypen erläutert, die in einem codierten und komprimierten Videosignal enthalten sind, einschließlich I-, B- und P-Rahmen. Codierte I-Rahmen sind nicht von Bewegungsvektoren begleitet, P-Rahmen umfassen Rückwärtsbewegungsvektoren, und B-Rahmen umfassen sowohl Rückwärts- als auch Vorwärtsbewegungsvektoren. Eine zusätzliche Komplexität zu der Videorahmeninterpolation auf Basis von Bewegungsvektoren in bestimmten Ausführungsbeispielen der vorliegenden Erfindung besteht darin, dass für den Rahmen, der einem I-Rahmen vorausgeht, Vorwärtsbewegungsvektoren für die Bewegungsvektortabelle extrahiert werden, die den I-Rahmen begleitet, während für alle anderen Rahmen Rückwärtsbewegungsvektoren aus nachfolgenden Rahmen verwendet werden, um die Bewegungsvektortabellen zu vergleichen, die die vorhergehenden Rahmen begleiten. Es können alternative Verfahren verwendet werden, um das Fehlen von Bewegungsvektoren in codierten I-Rahmen zu überwinden, einschließlich eines Interpolierens eines Rahmens zwischen einem ersten Rahmen und einem zweiten I-Rahmen durch ein Mittlungsverfahren oder ein anderes Berechnungsverfahren, das keine Bewegungsvektoren verwendet.
  • 22 stellt ein Zustandsübergangsdiagramm für das Videoverarbeitungssystem einer Videoanzeigevorrichtung bereit, das Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung enthält. Ein Videoverarbeitungssystem durchläuft generell Übergänge durch einen Zyklus, der Zustände 22022205 aufweist. Zustand 2202 entspricht dem in 21A abgebildeten Zustand, Zustand 2203 entspricht dem in 21B abgebildeten Zustand, Zustand 2204 entspricht dem in 21C abgebildeten Zustand und Zustand 2205 entspricht dem in 21D abgebildeten Zustand. Wenn der nächste zu decodierende Rahmen jedoch einem I-Rahmen vorhergeht, wird die Sequenz von Zuständen 22062209 oder die Sequenz von Zuständen 22102213 durchgeführt, um in den Zuständen 2206 und 2210 sowohl Rückwärts- als auch Vorwärtsbewegungsvektoren zu extrahieren und modifizieren, so dass eine Bewegungsvektortabelle für einen I-Rahmen in den Zuständen 2208 und 2212 erstellt werden kann. Bei alternativen Ausführungsbeispielen kann alternativ ein Interpolationsverfahren für I-Rahmen verwendet werden, das keine Bewegungsvektoren verwendet, oder bei bestimmten Ausführungsbeispielen kann anstelle einer Interpolation eines Rahmens zwischen einem Rahmen, der einem I-Rahmen vorhergeht, und einem nachfolgenden I-Rahmen der dem I-Rahmen vorhergehende Rahmen einfach wiederholt werden, ohne Interpolation, mit nur geringen Kosten bezüglich einer Verschlechterung oder eines Verwischens des so entstehenden angezeigten Videobildes.
  • 23 stellt ein Zustandsübergangsdiagramm für das Zeitsteuerungssystem einer Videoanzeigevorrichtung dar, die Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung enthält. Zustand 2302 entspricht dem in 21A gezeigten Zustand, Zustand 2304 entspricht dem in 21B gezeigten Zustand, Zustand 2306 entspricht dem in 21C angezeigten Zustand und Zustand 2308 entspricht dem in 21D gezeigten Zustand.
  • Obwohl die vorliegende Erfindung bezüglich besonderer Ausführungsbeispiele beschrieben worden ist, ist nicht beabsichtigt, dass die Erfindung auf diese Ausführungsbeispiele begrenzt wird. Für den Fachmann sind Modifikationen innerhalb des Gedankens der Erfindung ersichtlich. Beispielsweise können Verfahrens- und Systemausführungsbeispiele der vorliegenden Erfindung in einer Vielzahl verschiedener Typen von Videoanzeigevorrichtungen, einschließlich Fernsehern, Computermonitoren und anderen Typen von Videoanzeigesystemen enthalten sein. Die bewegungsvektorbasierte Rahmeninterpolation kann unter Verwendung einer Vielzahl von verschiedenen Interpolationsverfahren durchgeführt werden, einschließlich des einfachen Verfahrens, die Längen der Bewegungsvektoren durch zwei zu teilen, während die Bewegungsvektorrichtungen beibehalten werden, wie mit Bezug auf 20 erläutert, oder durch andere, rechenaufwendigere Verfahren. Es ist eine große Vielzahl verschiedener Software-, Firmware-, Logikschaltungs- oder Kombinationsimplementierungen der Logik für die Bewegungsvektorextraktion, -modifikation und -pufferung sowie Videorahmeninterpolation auf Basis von Bewegungsvektortabellen möglich, indem unterschiedliche Entwurfsparameter variiert werden, einschließlich einer modularen Organisation, Steuerstrukturen, Datenstrukturen, Steuerfluss und anderen solchen Entwurfsparametern. Bei alternativen Ausführungsbeispielen kann die Rahmenanzeigerate weiter erhöht werden, indem die Anzahl interpolierter Rahmen erhöht wird, die in dem Ausgangs-Videostrom zwischen ursprünglichen, in dem Eingangsvideosignal empfangenen Rahmen enthalten sind.
  • Die vorangehende Beschreibung hat zu Erklärungszwecken eine spezifische Nomenklatur verwendet, um ein gründliches Verständnis der Erfindung bereitzustellen. Für den Fachmann ist jedoch ersichtlich, dass die spezifischen Details zur Ausübung der Erfindung nicht erforderlich sind. Die vorhergehenden Beschreibungen spezifischer Ausführungsbeispiele der vorliegenden Erfindung werden zum Zweck der Illustration und Beschreibung vorgelegt. Es ist nicht beabsichtigt, dass sie erschöpfend sind oder die Erfindung genau auf die offenbarten Formen begrenzen. Viele Modifikationen und Variationen sind angesichts der obigen Lehren möglich. Die Ausführungsbeispiele werden gezeigt und beschrieben, um die Prinzipien der Erfindung und deren praktische Anwendungen bestmöglich zu erklären, um dadurch anderen Fachleuten eine bestmögliche Nutzung der Erfindung und unterschiedlicher Ausführungsbeispiele mit unterschiedlichen Modifikationen zu ermöglichen, wie sie für die erwogene besondere Verwendung geeignet sind. Es ist beabsichtigt, dass der Umfang der Erfindung durch die folgenden Ansprüche und ihre Äquivalente definiert wird.

Claims (14)

  1. Eine Videoanzeigevorrichtung, die folgende Merkmale aufweist: ein Videoverarbeitungssystem, das ein komprimiertes und codiertes Videosignal empfangt, Videorahmen und zugeordnete Bewegungsvektoren aus dem komprimierten und codierten Videosignal dekomprimiert und decodiert und die dekomprimierten und decodierten Videorahmen und zugeordneten Bewegungsvektoren in Speicherpuffern speichert; ein Kommunikationsmedium, das die dekomprimierten und decodierten Videorahmen und zugeordneten Bewegungsvektoren, die in Speicherpuffern gespeichert sind, an ein Zeitsteuerungssystem überträgt; und ein Zeitsteuerungssystem, das die dekomprimierten und decodierten Videorahmen und zugeordneten Bewegungsvektoren von dem Kommunikationsmedium empfängt und für empfangene Videorahmen und zugeordnete Bewegungsvektoren interpolierte Videorahmen aus empfangenen Videorahmen und zugeordneten Bewegungsvektoren berechnet und eine Anzeige dazu steuert, um die interpolierten Videorahmen zwischen einem Anzeigen der empfangenen Videorahmen anzuzeigen.
  2. Die Videoanzeigevorrichtung gemäß Anspruch 1, bei der die Videoanzeigevorrichtung durch Anzeigen der interpolierten Videorahmen zwischen dem Anzeigen der empfangenen Videorahmen die Rahmenanzeigerate um einen Faktor erhöht, der gleich der Anzahl von Videorahmen ist, die aus jedem dekomprimierten und decodierten Videorahmen interpoliert werden.
  3. Die Videoanzeigevorrichtung gemäß Anspruch 1, bei der das Videoverarbeitungssystem einen ersten und zweiten Videorahmenspeicherpuffer und einen ersten und zweiten Bewegungsvektortabellen-Speicherpuffer umfasst, die jeweils eine einem Videorahmen zugeordnete Bewegungsvektortabelle speichern; wobei ein Videorahmen und eine Bewegungsvektortabelle zur Übertragung an das Zeitsteuerungssystem aus dem ersten Videorahmenspeicherpuffer und dem ersten Bewegungsvektortabellen-Speicherpuffer gelesen werden, während ein(e) momentan dekomprimierte(r) und decodierte(r) Videorahmen und Bewegungsvektortabelle in den zweiten Videorahmenspeicherpuffer und den zweiten Bewegungsvektortabellen-Speicherpuffer geschrieben werden; und wenn die beziehungsweise der aus dem ersten Videorahmenspeicherpuffer und dem ersten Bewegungsvektortabellen-Speicherpuffer gelesene Videorahmen und Bewegungsvektortabelle an das Zeitsteuerungssystem übertragen worden sind und die beziehungsweise der momentan dekomprimierte und decodierte Videorahmen und Bewegungsvektortabelle in den zweiten Videorahmenspeicherpuffer und den zweiten Bewegungsvektortabellen-Speicherpuffer geschrieben worden sind, damit begonnen wird, die beziehungsweise den in den zweiten Videorahmenspeicherpuffer und den zweiten Bewegungsvektortabellen-Speicherpuffer geschriebene(n) Videorahmen und Bewegungsvektortabelle zur Übertragung an das Zeitsteuerungssystem zu lesen, während damit begonnen wird, eine(n) nächste(n) Videorahmen und Bewegungsvektortabelle zu dekomprimieren und decodieren und in den ersten Videorahmenspeicherpuffer und den ersten Bewegungsvektortabellen-Speicherpuffer zu schreiben.
  4. Die Videoanzeigevorrichtung gemäß Anspruch 1, bei der das Zeitsteuerungssystem einen ersten, zweiten, dritten und vierten Videorahmenspeicherpuffer umfasst; bei der ein Videorahmen von dem Kommunikationsmedium empfangen und in den zweiten Videorahmenspeicherpuffer geschrieben wird, während ein in dem ersten Videorahmenpuffer gespeicherter Videorahmen gelesen wird, um das Anzeigen des Videorahmens zu steuern; bei der nach Beendigung des Schreibens des von dem Kommunikationsmedium empfangenen Videorahmens in den zweiten Videorahmenspeicherpuffer und Anzeigens des in dem ersten Videorahmenpuffer gespeicherten Videorahmens ein von dem Kommunikationsmedium empfangener Bewegungsvektor zusammen mit dem von dem Kommunikationsmedium empfangenen Videorahmen verwendet wird, um einen interpolierten Rahmen zu generieren, der in dem vierten Videorahmenpuffer gespeichert wird, während ein in dem dritten Videorahmenpuffer gespeicherter Videorahmen zum Steuern des Anzeigens des Videorahmens gelesen wird; bei der nach Beendigung des Schreibens des interpolierten Videorahmens in den vierten Videorahmenpuffer und Anzeigens des in dem dritten Videorahmenpuffer gespeicherten Videorahmens ein Videorahmen von dem Kommunikationsmedium empfangen und in den ersten Videorahmenspeicherpuffer geschrieben wird, während der in dem zweiten Videorahmenpuffer gespeicherte Videorahmen zum Steuern des Anzeigens des Videorahmens gelesen wird; und bei der nach Beendigung des Schreibens des von dem Kommunikationsmedium empfangenen Videorahmens in den ersten Videorahmenspeicherpuffer und Anzeigens des in dem zweiten Videorahmenpuffer gespeicherten Videorahmens ein von dem Kommunikationsmedium empfangener Bewegungsvektor zusammen mit dem von dem Kommunikationsmedium empfangenen Videorahmen verwendet wird, um einen interpolierten Rahmen zu generieren, der in dem dritten Videorahmenpuffer gespeichert wird, während der in dem vierten Videorahmenpuffer gespeicherte Videorahmen zum Steuern des Anzeigens des Videorahmens gelesen wird.
  5. Die Videoanzeigevorrichtung gemäß Anspruch 1, bei der nach dem Dekomprimieren und Decodieren eines Videorahmens und zugeordneter Bewegungsvektoren aus dem komprimierten und codierten Videosignal und vor dem Speichern des dekomprimierten und decodierten Videorahmens und der zugeordneten Bewegungsvektoren in Speicherpuffern das Videoverarbeitungssystem die zugeordneten Bewegungsvektoren modifiziert.
  6. Die Videoanzeigevorrichtung gemäß Anspruch 5, bei der das Videoverarbeitungssystem die zugeordneten Bewegungsvektoren durch Halbieren der Längen der Bewegungsvektoren modifiziert.
  7. Die Videoanzeigevorrichtung gemäß Anspruch 1, bei der das Zeitsteuerungssystem einen interpolierten Videorahmen aus einem empfangenen Videorahmen und zugeordneten Bewegungsvektoren berechnet, indem Makroblöcke in dem empfangenen Videorahmen gemäß einem Bewegungsvektor verschoben werden, der dem Makroblock entspricht.
  8. Ein Verfahren zum Erhöhen der Rahmenanzeigerate einer Videoanzeigevorrichtung, wobei das Verfahren folgende Schritte aufweist: Dekomprimieren und Decodieren von Videorahmen und zugeordneten Bewegungsvektoren durch ein Videoverarbeitungssystem aus einem komprimierten und codierten Videosignal; Übertragen der dekomprimierten und decodierten Videorahmen und zugeordneten Bewegungsvektoren an ein Zeitsteuerungssystem; Empfangen der Videorahmen und zugeordneten Bewegungsvektoren durch das Zeitsteuerungssystem; Verwenden der jedem dekomprimierten und decodierten Videorahmen zugeordneten Bewegungsvektoren durch das Zeitsteuerungssystem, um einen oder mehrere interpolierte Rahmen zu generieren; und Anzeigen des einen oder der mehreren interpolierten Rahmen durch das Zeitsteuerungssystem nach dem Anzeigen des dekomprimierten und decodierten Videorahmens, aus dem die interpolierten Rahmen generiert sind.
  9. Das Verfahren gemäß Anspruch 8, bei dem die Videoanzeigevorrichtung durch Anzeigen der interpolierten Videorahmen nach dem Anzeigen der empfangenen Videorahmen, aus denen dieselben generiert sind, die Rahmenanzeigerate um einen Faktor erhöht, der gleich der Anzahl interpolierter Videorahmen ist, die aus jedem dekomprimierten und decodierten Videorahmen generiert werden.
  10. Das Verfahren gemäß Anspruch 8, das ferner folgende Schritte umfasst: Bereitstellen eines ersten und zweiten Videorahmenspeicherpuffers und eines ersten und zweiten Bewegungsvektortabellen-Speicherpuffers, die jeweils eine einem Videorahmen zugeordnete Bewegungsvektortabelle speichern, in dem Videoverarbeitungssystem; Lesen eines Videorahmens und einer Bewegungsvektortabelle aus dem ersten Videorahmenspeicherpuffer und dem ersten Bewegungsvektortabellen-Speicherpuffer zur Übertragung an das Zeitsteuerungssystem, während ein(e) momentan dekomprimierte(r) und decodierte(r) Videorahmen und Bewegungsvektortabelle in den zweiten Videorahmenspeicherpuffer und den zweiten Bewegungsvektortabellen-Speicherpuffer geschrieben werden; und wenn die beziehungsweise der aus dem ersten Videorahmenspeicherpuffer und dem ersten Bewegungsvektortabellen-Speicherpuffer gelesene Videorahmen und Bewegungsvektortabelle an das Zeitsteuerungssystem übertragen worden sind und die beziehungsweise der momentan dekomprimierte und decodierte Videorahmen und Bewegungsvektortabelle in den zweiten Videorahmenspeicherpuffer und den zweiten Bewegungsvektortabellen-Speicherpuffer geschrieben worden sind, Beginnen damit, die beziehungsweise den in den zweiten Videorahmenspeicherpuffer und den zweiten Bewegungsvektortabellen-Speicherpuffer geschriebene(n) Videorahmen und Bewegungsvektortabelle zur Übertragung an das Zeitsteuerungssystem zu lesen, während damit begonnen wird, eine(n) nächste(n) Videorahmen und Bewegungsvektortabelle zum Schreiben in den ersten Videorahmenspeicherpuffer und den ersten Bewegungsvektortabellen-Speicherpuffer zu dekomprimieren und decodieren.
  11. Das Verfahren gemäß Anspruch 8, das ferner folgende Schritte umfasst: Bereitstellen eines ersten, zweiten, dritten und vierten Videorahmenspeicherpuffers in dem Zeitsteuerungssystem; Empfangen eines Videorahmens von dem Kommunikationsmedium und Schreiben des Videorahmens in den zweiten Videorahmenspeicherpuffer, während ein in dem ersten Videorahmenpuffer gespeicherter Videorahmen gelesen wird, um ein Anzeigen des Videorahmens zu steuern; nach Beendigung des Schreibens des von dem Kommunikationsmedium empfangenen Videorahmens in den zweiten Videorahmenspeicherpuffer und Anzeigens des in dem ersten Videorahmenpuffer gespeicherten Videorahmens, Verwenden eines von dem Kommunikationsmedium empfangenen Bewegungsvektors zusammen mit dem von dem Kommunikationsmedium empfangenen Videorahmen, um einen interpolierten Rahmen zu generieren, der in dem vierten Videorahmenpuffer gespeichert wird, während ein in dem dritten Videorahmenpuffer gespeicherter Videorahmen zum Steuern des Anzeigens des Videorahmens gelesen wird; nach Beendigung des Schreibens des interpolierten Videorahmens in den vierten Videorahmenpuffer und Anzeigens des in dem dritten Videorahmenpuffer gespeicherten Videorahmens, Empfangen eines Videorahmens von dem Kommunikationsmedium und Schreiben des Videorahmens in den ersten Videorahmenspeicherpuffer, während der in dem zweiten Videorahmenpuffer gespeicherte Videorahmen zum Steuern des Anzeigens des Videorahmens gelesen wird; und nach Beendigung des Schreibens des von dem Kommunikationsmedium empfangenen Videorahmens in den ersten Videorahmenspeicherpuffer und Anzeigen des in dem zweiten Videorahmenpuffer gespeicherten Videorahmens, Verwenden eines von dem Kommunikationsmedium empfangenen Bewegungsvektors zusammen mit dem von dem Kommunikationsmedium empfangenen Videorahmen, um einen interpolierten Rahmen zu generieren, der in dem dritten Videorahmenpuffer gespeichert wird, während der in dem vierten Videorahmenpuffer gespeicherte Videorahmen zum Steuern des Anzeigens des Videorahmens gelesen wird.
  12. Das Verfahren gemäß Anspruch 8, das ferner den Schritt umfasst, nach dem Dekomprimieren und Decodieren eines Videorahmens und zugeordneter Bewegungsvektoren aus dem komprimierten und codierten Videosignal und vor dem Übertragen der dekomprimierten und decodierten Videorahmen und zugeordneten Bewegungsvektoren an ein Zeitsteuerungssystem die zugeordneten Bewegungsvektoren zu modifizieren.
  13. Das Verfahren gemäß Anspruch 12, bei dem ferner das Modifizieren der zugeordneten Bewegungsvektoren ferner ein Halbieren der Längen der Bewegungsvektoren umfasst.
  14. Das Verfahren gemäß Anspruch 8, bei dem das Verwenden der jedem dekomprimierten und decodierten Videorahmen zugeordneten Bewegungsvektoren durch das Zeitsteuerungssystem, um einen oder mehrere interpolierte Rahmen zu generieren, ferner ein Verschieben von Makroblöcken in dem empfangenen Videorahmen gemäß einem Bewegungsvektor umfasst, der dem Makroblock entspricht.
DE112008004040T 2008-10-24 2008-10-24 Verfahren und System zum Erhöhen einer Rahmenanzeigerate Withdrawn DE112008004040T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/012132 WO2010047680A1 (en) 2008-10-24 2008-10-24 Method and system for increasing frame-display rate

Publications (1)

Publication Number Publication Date
DE112008004040T5 true DE112008004040T5 (de) 2013-01-31

Family

ID=42119540

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008004040T Withdrawn DE112008004040T5 (de) 2008-10-24 2008-10-24 Verfahren und System zum Erhöhen einer Rahmenanzeigerate

Country Status (5)

Country Link
US (1) US9185339B2 (de)
CN (1) CN102204242B (de)
DE (1) DE112008004040T5 (de)
TW (1) TW201019735A (de)
WO (1) WO2010047680A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100178038A1 (en) * 2009-01-12 2010-07-15 Mediatek Inc. Video player
US8665367B2 (en) * 2010-01-29 2014-03-04 Sharp Laboratories Of America, Inc. Video resolution enhancement technique
TWI478589B (zh) * 2010-06-03 2015-03-21 Univ Nat Taiwan 區塊方式的動作估算方法及圖框速率提高方法
US20110310956A1 (en) * 2010-06-22 2011-12-22 Jian-Liang Lin Methods for controlling video decoder to selectively skip one or more video frames and related signal processing apparatuses thereof
US9479682B2 (en) * 2011-05-18 2016-10-25 Sharp Kabushiki Kaisha Video signal processing device and display apparatus
TWI519147B (zh) * 2011-12-28 2016-01-21 財團法人工業技術研究院 提供與傳送複合濃縮串流之方法以及系統
KR101966921B1 (ko) * 2012-09-12 2019-08-27 삼성전자주식회사 멀티 세션 관리 방법 및 장치
US9720496B2 (en) * 2014-03-20 2017-08-01 Intel Corporation Techniques for stabilizing a display scene output
US20160148000A1 (en) * 2014-11-25 2016-05-26 Freescale Semiconductor, Inc. Method and apparatus for encoding image data
US9706086B2 (en) * 2015-08-26 2017-07-11 Intel Corporation Camera-assisted display motion compensation
JP6362116B2 (ja) * 2016-11-30 2018-07-25 キヤノン株式会社 表示装置及びその制御方法、プログラム、記憶媒体
US10713997B2 (en) * 2018-03-23 2020-07-14 Valve Corporation Controlling image display via mapping of pixel values to pixels
US11082168B1 (en) * 2020-03-19 2021-08-03 Western Digital Technologies, Inc. Entropy driven endurance for normalized quality of service
CN112804561A (zh) * 2020-12-29 2021-05-14 广州华多网络科技有限公司 视频插帧方法、装置、计算机设备及存储介质
CN115035238B (zh) * 2022-04-25 2024-06-11 Oppo广东移动通信有限公司 人体重建插帧方法及相关产品

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3800640B2 (ja) * 1995-07-04 2006-07-26 ソニー株式会社 画像情報の動き検出方法及びその装置、画像情報の符号化方法及びその装置、画像情報伝送システム、画像情報記録システム並びに記録媒体
KR100553893B1 (ko) * 2003-10-14 2006-02-24 삼성전자주식회사 타임 시프트와 움직임 보상을 이용한 프레임 레이트 변환장치 및 그 방법
KR100584597B1 (ko) 2004-05-10 2006-05-30 삼성전자주식회사 적응적 가중치를 적용한 움직임 추정 방법 및 그를 적용한프레임 레이트 변환 장치
US9881535B2 (en) 2005-09-30 2018-01-30 Sharp Kabushiki Kaisha Image display device and method
JP4983317B2 (ja) 2006-03-09 2012-07-25 ソニー株式会社 フレームレート変換システム,フレームレート変換方法,受信装置
US8204104B2 (en) * 2006-03-09 2012-06-19 Sony Corporation Frame rate conversion system, method of converting frame rate, transmitter, and receiver
US8472524B2 (en) * 2006-04-03 2013-06-25 Intel Corporation Motion compensated frame rate conversion with protection against compensation artifacts
JP4734168B2 (ja) 2006-05-09 2011-07-27 株式会社東芝 画像復号化装置及び画像復号化方法
KR100790178B1 (ko) * 2006-10-20 2008-01-02 삼성전자주식회사 동영상의 프레임 레이트 변환 방법
JP4844370B2 (ja) * 2006-12-04 2011-12-28 株式会社日立製作所 フレームレート変換装置及び表示装置
JP4615508B2 (ja) * 2006-12-27 2011-01-19 シャープ株式会社 画像表示装置及び方法、画像処理装置及び方法
CN101159838A (zh) 2007-11-14 2008-04-09 北京华纬讯电信技术有限公司 利用分场处理提升视频图像显示质量的方法
CN101246680B (zh) * 2008-02-04 2010-09-08 炬力集成电路设计有限公司 一种图像帧速率转换方法、图像缩放转换装置及设备
US8184200B1 (en) * 2008-04-22 2012-05-22 Marvell International Ltd. Picture rate conversion system for high definition video

Also Published As

Publication number Publication date
CN102204242A (zh) 2011-09-28
WO2010047680A1 (en) 2010-04-29
US20110194612A1 (en) 2011-08-11
TW201019735A (en) 2010-05-16
US9185339B2 (en) 2015-11-10
CN102204242B (zh) 2013-11-06

Similar Documents

Publication Publication Date Title
DE112008004040T5 (de) Verfahren und System zum Erhöhen einer Rahmenanzeigerate
DE112011103365B4 (de) Tonwertumsetzung von Videosignalen mit hohem Dynamikumfang
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE69839100T2 (de) Verbesserte Videokodierung unter Verwendung von adaptiven Blockparametern für kodierte/unkodierte Blöcke
DE69323123T2 (de) Kodierung und Dekodierung von Bildsignalen
EP2198610B1 (de) Verfahren und vorrichtung zum erstellen eines kodierten ausgangsvideostroms aus mindestens zwei kodierten eingangsvideoströmen, sowie verwendung der vorrichtung
DE60220106T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE60015566T2 (de) Verfahren und vorrichtung zur komprimierung eines bewegungsvektorfeldes
DE69908562T2 (de) Bewegungsvektorenextrapolation zur transkodierung von videosequenzen
DE69603740T2 (de) Stereoskopische bildcodierung
DE69329478T2 (de) Vorrichtung zur Bildkodierung
DE69915843T2 (de) Teilbandkodierung/-dekodierung
WO1999022518A1 (de) Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
WO2002078352A1 (de) Verfahren zur komprimierung und dekomprimierung von videodaten
DE69126525T2 (de) Digitale bildverarbeitung mit filterung der blockkanten
DE19919412B4 (de) Decoder für einen digitalen Fernsehempfänger
DE19744859B4 (de) Verfahren zum Codieren eines binären Formsignals
DE19907132B4 (de) Videodecoder für einen Digitalfernseher
DE19749604A1 (de) Verfahren zum Kodieren eines Modus beim Kodieren binärer Formen
EP1110407A1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines objektgesamtbewegungsvektors
DE3401809A1 (de) Kompatibles hochaufloesendes fernsehsystem unter verwendung von hadamard-basisfunktionen
DE69810476T2 (de) Abstimmungsverfahren für videobildbände und filtervorrichtung
DE60208388T2 (de) Verfahren zur Berechnung von zeitlichen Wavelet-Koeffizienten eines GOP
DE19617171C2 (de) Videodecoder und entsprechendes Verfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140501