DE102006008780A1 - System von Komplexitätsvorverarbeitung innerhalb eines Bildes - Google Patents

System von Komplexitätsvorverarbeitung innerhalb eines Bildes Download PDF

Info

Publication number
DE102006008780A1
DE102006008780A1 DE102006008780A DE102006008780A DE102006008780A1 DE 102006008780 A1 DE102006008780 A1 DE 102006008780A1 DE 102006008780 A DE102006008780 A DE 102006008780A DE 102006008780 A DE102006008780 A DE 102006008780A DE 102006008780 A1 DE102006008780 A1 DE 102006008780A1
Authority
DE
Germany
Prior art keywords
record
pipeline
variation
stage
video
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.)
Granted
Application number
DE102006008780A
Other languages
English (en)
Other versions
DE102006008780B4 (de
Inventor
Steve Zhihua Zeng
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.)
ViXS Systems Inc
Original Assignee
ViXS Systems 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 ViXS Systems Inc filed Critical ViXS Systems Inc
Publication of DE102006008780A1 publication Critical patent/DE102006008780A1/de
Application granted granted Critical
Publication of DE102006008780B4 publication Critical patent/DE102006008780B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal

Abstract

Ein System mit einer Videopipeline wird offenbart, das einen Variationsberechnungsteil aufweist. Der Varianzberechnungsteil berechnet eine Mehrzahl von Varianzwerten für einen Makroblock. Ein Indikator eines DCT-Typs für den Makroblock wird, basierend auf der Mehrzahl von Varianzwerten, festgestellt.

Description

  • Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 09/823,646 (Attorney Docket Number 1459-ViXS002), eingereicht am 20. März 2001 mit dem Titel „ADAPTIVE BANDWITH FOOTPRINT MATCHING FOR MULTIPLE COMPRESSED VIDEO STREAMS IN A FIXED BANDWITH NETWORK," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 09/864,524 (Attorney Docket Number 1459-ViXS003), eingereicht am 24. Mai 2001 mit dem Titel „METHOD AND APPARATUS FOR A MULTIMEDIA SYSTEM," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 09/864,602 (Attorney Docket Number 1459-ViXS004), eingereicht am 24. Mai 2001 mit dem Titel „METHOD AND APPARATUS OF MULTIPLEXING A PLURALITY OF CHANNELS IN A MULTIMEDIA SYSTEM," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 09/864,476 (Attorney Docket Number 1459-ViXS008), eingereicht am 24. Mai 2001 mit dem Titel „METHOD AND APPARATUS FOR MANAGING RESOURCES IN A MULTIMEDIA SYSTEM," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 09/990,976 (Attorney Docket Number 1459-ViXS0012), eingereicht am 21. No vember 2001 mit dem Titel „SYSTEM AND METHOD FOR MULTIPLE CHANNEL VIDEO TRANSCODING," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 09/990,737 (Attorney Docket Number 1459-ViXS0013), eingereicht am 21. November 2001 mit dem Titel „METHOD AND SYSTEM FOR RATE CONTROL DURING VIDEO TRANSCODING," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/137,151 (Attorney Docket Number 1459-ViXS0036), eingereicht am 2. Mai 2002 mit dem Titel „METHOD AND SYSTEM FOR PROTECTING VIDEO DATA," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/174,371 (Attorney Docket Number 1459-ViXS0038), eingereicht am 18. Juni 2002 mit dem Titel „DYNAMICALLY ADJUSTING DATA RATE OF WIRELESS COMMUNICATIONS," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/376,581 (Attorney Docket Number 1459-ViXS0048), eingereicht am 28. Februar 2003 mit dem Titel „METHOD AND APPARATUS FOR NONINTRUSIVE TRANSCEIVER PROPERTY ADJUSTMENT," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/376,853 (Attorney Docket Number 1459-ViXS0051), eingereicht am 28. Februar 2003 mit dem Titel „SYSTEM FOR PROVIDING DATA TO MULTIPLE DEVICES AND METHOD THEREOF," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/345,710 (Attorney Docket Number 1459-ViXS0053), eingereicht am 16. Januar 2003 mit dem Titel „METHOD OF MOTION VECTOR PREDICTION AND SYSTEM THEREOF," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/345,847 (Attorney Docket Number 1459-ViXS0054), eingereicht am 16. Januar 2003 mit dem Titel „METHOD OF VIDEO ENCODING USING WINDOWS AND SYSTEM THEREOF," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/375,582 (Attorney Docket Number 1459-ViXS0059), eingereicht am 24. Februar 2003 mit dem Titel „METHOD AND SYSTEM FOR TRANSCODING VIDEO DATA," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/461,095 (Attorney Docket Number 1459-ViXS0060), eingereicht am 13. Juni 2003 mit dem Titel „SYSTEM AND METHOD FOR PROCESSING AUDIO FRAMES," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/683,062 (Attorney Docket Number 1459-ViXS0061), eingereicht am 10. Oktober 2003 mit dem Titel „METHOD AND APPARATUS FOR ACCURATELY DETECTING VALIDITY OF A RECEIVED SIGNAL," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/673,693 (Attorney Docket Number 1459-ViXS0062), eingereicht am 29. September 2003 mit dem Titel „METHOD AND SYSTEM FOR SCALING IMAGES," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird. Zugehörige Inhalte finden sich in einer gleichzeitig anhängigen US-Patentanmeldung mit der Anmeldungsnummer 10/673,612 (Attorney Docket Number 1459-ViXS0063), eingereicht am 29. September 2003 mit dem Titel „METHOD AND SYSTEM FOR NOISE REDUCTION IN AN IMAGE," welche hiermit durch Referenz in ihrer Gesamtheit aufgenommen wird.
  • HINTERGRUND Gebiet der Erfindung
  • Die vorliegende Offenbarung bezieht sich allgemein auf Videoverarbeitung und insbesondere auf die Verarbeitung von Varianzen für Videobilder.
  • Techniken zur Videoverarbeitung arbeiten auf einer Folge von einzelnen Bildern, die ein bewegtes Video darstellen, wenn sie sequentiell angezeigt werden. Für Rohbilddaten ist es oft wünschenswert, dass sie komprimiert werden, um die Menge der benötigten Daten zu verringern, die zum Darstellen der Folge von einzelnen Bildern benötigt werden, aus denen das Video besteht. Eine übliche Komprimierungstechnik besteht darin, räumliche Redundanz aus den Quellbildern unter Verwendung eines blockbasierten DCT- (Diskrete Cosinus Transformation-) Verfahrens zu entfernen. Das blockbasierte DCT-Verfahren kann entweder Vollbilddaten (Picture Frame Data) oder Halbbilddaten (Picture Field Data) beim Versuch komprimieren, die Kompression der Quellbilder zu optimieren. Deshalb wäre ein System und Verfahren zum Verbessern der Optimierung von Quellbildern nützlich.
  • KUZRE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Offenbarung kann besser verstanden und ihre zahllosen Merkmale und Vorteile können Fachleuten durch Bezug auf die beigefügten Zeichnungen deutlich gemacht werden.
  • 1 ist ein Blockdiagramm, das ein System in Übereinstimmung mit der vorliegenden Offenbarung darstellt.
  • 2 und 4 sind spezifische Ausführungsformen einer Pipeline in Übereinstimmung mit einer besonderen Ausführungsform der vorliegenden Offenbarung.
  • 3 zeigt acht Blöcke, die einen Makroblock in Übereinstimmung mit einer spezifischen Ausführungsform der Offenbarung zugeordnet sind.
  • 5 und 6 zeigen in Form eines Blockdiagramms eine spezifische Implementierung eines Variationsberechnungsmoduls der Pipeline aus 2 und 4 in Übereinstimmung mit einer spezifischen Ausführungsform der Offenbarung.
  • 7 und 8 zeigen Verfahren in Übereinstimmung mit einer spezifischen Ausführungsform der Offenbarung.
  • Der Gebrauch desselben Bezugszeichens in verschiedenen Zeichnungen weist auf ähnliche oder identische Einheiten hin.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Ein System und Verfahren zum Festlegen und Speichern eines Indikators eines DCT-Typs wird offenbart. Insbesondere wird eine Mehrzahl von Varianten für einen Makroblock festgelegt und dazu verwendet um festzulegen, ob Vollbild- oder Halbbildkompression des Makroblocks implementiert werden sollte. Die vorliegende Offenbarung wird besser mit Bezug auf die 1 bis 7 verstanden.
  • 1 zeigt ein System 100 in Übereinstimmung mit einer spezifischen Ausführungsform der vorliegenden Offenbarung. Das System 100 stellt ein Videoverarbeitungssystem dar mit einer Mehrzahl von Modulen einschließlich Videoeingabe 110, Videopipeline 120, Videokompression 130, Speichercontroller 140 (Memory Controller, MC), Controller 150 und Speicher 160.
  • Der Begriff „Port" wird hier breit verwendet und bezieht sich auf funktional bezogene Verbindungen eines Systems oder eines Teils eines Systems. Zum Beispiel kann sich der Begriff „Port" auf eine oder mehrere Eingabeverbindungen, eine oder mehrere Ausgabeverbindungen und eine oder mehrere bidirektionale Verbindungen beziehen, die auf einen spezifischen Teil eines Systems bezogen sind. Es sollte klar sein, dass spezifische Typen von Ports zwischen Komponenten in den Figuren nur veranschaulichend sind und nicht notwendigerweise so gemeint sind, dass sie Verbindungen auf einen spezifischen Typ von Port beschränken oder die Existenz von separaten Ports implizieren. Zum Beispiel kann ein spezifisches Modul, das mit einem Eingabeport, das durch einen „in"-Pfeil dargestellt wird, und einen Ausgabeport, der durch einen „out"-Pfeil dargestellt wird, in der tatsächlichen Implementierung einen einzigen bidirektionalen Port aufweisen.
  • Die Videoeingabe 110 weist einen Port zum Empfang von Videodaten SOURCE VIDEO auf und ist mit dem Variationsrechner 140 des Speichercontrollers und Controller 150 verbunden. Die Videopipeline 120 ist mit dem Speichercontroller 140 und dem Controller 150 verbunden. Der Videokomprimierer 130 ist mit dem Speichercontroller 140 und dem Controller 150 verbunden. Der Speichercontroller 140 ist zusätzlich mit dem Controller 150 und dem Speicher 160 verbunden.
  • Im Betrieb wird SOURCE VIDEO, die eine Mehrzahl von Rohbildern eines Videostroms darstellen, bei der Videoeingabe 110 erhalten. Die Rohbilder werden an die Videopipeline 120 bereitgestellt, die die Bilder für Videokompression vorbereitet. Ein spezifisches Modul 240 der Videopipeline 120 ist dargestellt und stellt ein Pipelinestufenmodul dar, das verwendet wird, um Variationen innerhalb der Bilder festzustellen. Der Videokomprimierer 130 empfängt und komprimiert die vorverarbeiteten Bilder aus der Videopipeline 120, basierend auf der Variationsinformation aus dem Variationsrechner 240. In der gezeigten Ausführungsform werden Daten zwischen den Modulen 110, 120 und 130 durch den Speichercontroller 140 transferiert, was in einer Verzögerungsdauer resultiert, die von dem Zeitpunkt reicht, wenn die Daten von dem Speicher 160 angefordert werden, bis zu dem Zeitpunkt, wenn sie bei den Modulen verfügbar sind.
  • Verarbeitungseffizienz wird durch Berechnen von Bildvariationsinformationen innerhalb der Videopipeline 120 realisiert, da ein einziger Zugriff auf den Speicher 160 dazu verwendet werden kann, um mehrere Vorkomprimierungsstufen innerhalb der Videopipeline 120 zu unterstützen, einschließlich der Stufe des Variationsrechner 240. Die Möglichkeit zum Gebrauch eines einzigen Zugriffs, der hier beschrieben wird, verringert die Anforderungen an die Bandbreite der Daten zwischen dem Speichercontroller 140 und dem Speicher 160 und zwischen dem Speichercontroller 140 und seinen Clients. Eine spezifische Implementierung der Videopipeline 120 wird in 2 dargestellt.
  • 2 zeigt eine spezifische Ausführungsform der Videopipeline 120 einschließlich Skalierer 210, Rauschverringerungsfilter 220 (Noise Reduction Filter, NRF), Variationsrechner 240 und DCT-Typ Selektor 250. Eine oder mehrere Verbindungen wie etwa die Verbindungen, die durch 202, 212, 222, 242 und 243 dargestellt sind, können zum Implementieren einer oder mehrerer Datenflussoptionen durch die Videopipeline 120 verwendet werden. Zum Beispiel können alle Daten sequentiell von dem Skalierer 210 zu dem Rauschverringerungsfilter 220 zum Variationsrechner 240 zum DCT-Typ Selektor 250 fließen. In einer weiteren Ausführungsform können die Daten selektiv, wie etwa durch den Gebrauch eines Registers (nicht gezeigt), den Skalierer 210 oder das Rauschreduktionsfilter oder beide überbrücken, wie durch die Verbindung 202 dargestellt.
  • Im Betrieb werden Quellvideobilder bei der Videopipeline 120 von 2 aus dem Speicher 160 erhalten. Typischerweise werden die Quellbilder bei der Videopipeline 120 als Datensätze erhalten und bearbeitet, die nur einen Teil eines Quellbildes darstellen. Zum Beispiel kann der Teil ein spezifischer Block des Quellbildes sein. In einer Ausführungsform kann der spezifische Block einer oder mehrere Makroblöcke sein. Man beachte, dass der hier gebrauchte Begriff „Mak roblock" in einem spezifischen Kontext gebraucht wird, wie er mit Bezug auf eine oder mehrere MPEG-Spezifikationen verstanden wird, wie etwa gegenwärtig verfügbare Versionen der verschiedenen MPEG-Standards, die als MPEG 1, MPEG 2 und MPEG 4 bezeichnet werden, die alle Fachleuten gut bekannt sind. Allerdings sollte es klar sein, dass der Gebrauch von spezifischen Kontexten in dieser Offenbarung nur für Zwecke der Darstellung ist und andere blockbasierte Kontexte der Verarbeitung von Videoinformationen umfasst.
  • Das Ziel der Quellbildinformationen innerhalb der Videopipeline 120 können eine oder mehrere Stufen einschließlich Skalierer 210, Rauschverringerungsfilter 220 und Variationsrechner 240 sein, wie durch die Verbindung 202 angedeutet wird. Das Ziel der Quellvideobilder in der Videopipeline 120 kann je nach Ausführung fest oder variabel sein. Zum Beispiel kann das System 100 so ausgeführt sein, dass es ausschließlich Quellbilddaten an den Skalierer 210 bereitstellt. Alternativ kann das System 100 Register (nicht dargestellt) bereitstellen, die es den Quelldaten erlauben, an eine oder mehrere Stufen der Videopipeline 120 bereitgestellt zu werden. Zum Beispiel könnten die Quelldaten entweder an den Skalierer 210, das Rauschreduktionsfilter 220 oder den Variationsrechner 240 bereitgestellt werden, basierend auf einem Wert, der in einem Register gespeichert ist.
  • Wie dargestellt, kann der Skalierer 210 rohe Quellbilddaten empfangen, wie etwa Makroblöcke aus dem Speicher 160, die als MB aus MC 140 gekennzeichnet sind. Der Skalierer 210 ist ein Videoskalierer, der zum Skalieren der Quellbilder in einer vertikalen oder einer horizontalen Richtung oder beiden in der Lage ist. Skalierte Bilder aus dem Skalierer 210, die Darstellungen der Quellbilder sind, können an eine oder mehrere Stufen der Videopipeline 120 und den Speicher 160 durch den Speichercontroller 140 bereitgestellt werden. Ob die skalierten Bilder aus dem Skalierer 210 an den Speicher 160 und eine Stufe der Videopipeline 120, wie etwa Rauschverringerungsfilter 220 und Variationsrechner 240, bereitgestellt werden, kann je nach Ausführung fest oder variabel sein.
  • Zum Beispiel kann das System 100 so ausgeführt sein, um die skalierten Bilder immer an ein oder mehrere Ziele bereitzustellen. Zum Beispiel könnten die skalierten Bilddaten immer an das Rauschverringerungsfilter 220 bereitgestellt werden, oder immer an das Rauschverringerungsfilter 220 und den Speicher 160 bereitgestellt werden. In einer weiteren Ausführungsform kann das System 100 Register (nicht dargestellt) bereitstellen, die es den skalierten Daten ermöglichen, an eine oder mehrere Stufen der Videopipeline 120 bereitgestellt zu werden. Zum Beispiel könnten die skalierten Daten entweder an den Rauschverringerungsfilter 220 oder den Variationsrechner 240 basierend auf einem Registerwert bereitgestellt werden, und könnten an den Speicher 160 basierend auf einem anderen Registerwert bereitgestellt werden.
  • Das Rauschverringerungsfilter 220 empfängt Bilddaten wie etwa Makroblöcke, die durch MB gekennzeichnet sind, aus Speicher 160 oder skalierte Daten aus dem Skalierer 210. Das Rauschverringerungsfilter 220 filtert empfangene Bilddaten und stellt gefilterte Bilddaten durch die Verbindung 222 bereit. Gefilterte Bilddaten aus dem Rauschverringerungsfilter 220 können an eine oder mehrere Stufen der Videopipeline 120 (die Fähigkeit, gefilterte Daten an eine oder mehrere Stufen bereitzustellen, ist nicht spezifisch gezeigt) und den Speicher 160 bereitgestellt werden. Ob die gefilterten Daten aus dem Rauschverringerungsfilter 220 entweder an den Speicher 160 oder eine Stufe der Videopipeline 120, wie etwa den Variationsrechner 240, oder an beide bereitgestellt werden, kann je nach Ausführungsform fest oder variabel sein, auf eine Weise, die ähnlich zu der mit Bezug auf den Skalierer 210 oder den Rauschverringerungsfilter 220 besprochenen Weise.
  • Der Variationsrechner 240 empfängt Bilddaten wie etwa Makroblöcke, die mit MB gekennzeichnet sind, aus Speicher 160, skalierte Daten aus dem Skalierer 210 oder gefilterte Daten von dem Rauschverringerungsfilter 220 und stellt Variationsinformationen für die empfangenen Bilddaten fest. In einer Ausführungsform werden die Variationsinformationen für 8 × 8 Blöcke der Helligkeitsdaten berech net. Allerdings kann für Zwecke der Effizienz die Berechnung auf der Basis eines Makroblocks durchgeführt werden.
  • Ein 16 × 16 Makroblock enthält vier Halbbildblöcke und vier Vollbildblöcke. 3 zeigt die vier Vollbildblöcke und vier Halbbildblöcke für einen Makroblock 310. Vollbildblock 1 umfasst die 64 Pixel ganz oben und ganz links des Makroblocks 310. Der Vollbildblock 2 umfasst die 64 Pixel ganz oben und ganz rechts des Makroblocks 310. Vollbildblock 3 umfasst die 64 Pixel ganz unten und ganz links des Makroblocks 310. Vollbildblock 4 umfasst die 64 Pixel ganz unten und ganz rechts des Makroblocks 310. Die oberen Halbbildblöcke 5 und 6 werden in 3B dargestellt, wobei die Halbbildblöcke 5 und 6 die oberen Halbbilder (die unschattierten Pixelzeilen von 3A) der linken bzw. der rechten Hälfte des Makroblocks 310 umfassen. Die unteren Halbbildblöcke 7 und 8 werden in 3C dargestellt, wobei die Halbbildblöcke 7 und 8 die unteren Felder (die schattierten Pixelzeilen von 3A) der linken bzw. der rechten Hälfte des Makroblocks 310 umfassen. Eine oder mehrere dieser acht Varianzberechnungen können an den Speicher 160 zum späteren Gebrauch bereitgestellt werden, wie durch die Verbindung 243 und die Verbindung 242 dargestellt. In Übereinstimmung mit einer spezifischen Ausführungsform der vorliegenden Offenbarung werden Werte berechnet, die Variationsinformationen für jeden der acht Blöcke darstellen. Der DCT-Typ Selektor 250 legt einen DCT-Typ für jeden Makroblock fest, der auf den Variationsinformationen beruht, die durch den Variationsrechner 240 berechnet werden. In einer Ausführungsform stellt der DCT-Typ Selektor 250 einen Vollbild-DCT-Indikator für einen Makroblock bereit, wenn eine Summierung der Vollbildvariationen für den Makroblock kleiner als eine Summierung der Halbbildvarianzen des Makroblocks ist. Ähnlich stellt der DCT-Typ Selektor 250 einen Halbbild-DCT-Indikator für einen Makroblock bereit, wenn eine Summierung der Halbbildvarianzen für den Makroblock kleiner ist als eine Summierung der Vollbildvarianzen des Makroblocks. Durch Auswahl eines DCT-Typs für einen Makroblock, der auf der kleinsten gesamten Vollbild- oder Halbbildvarianz basiert, und Komprimieren des Makroblocks durch den Videokomprimierer 130, die auf dem berechneten DCT-Typ beruht, wurde gezeigt, dass eine verbesserte Gesamtkomprimierung erhalten wird.
  • 4 zeigt eine alternative Ausführungsform der Videopipeline 120. Elemente, die den vorher beschriebenen Elementen ähnlich sind, sind ähnlich numeriert. In der Ausführungsform von 4 werden die Variationswerte der acht Blöcke, die durch den Variationsrechner 240 für jeden Makroblock berechnet wurden, an die Variationsselektor 280 und den DCT-Typ Selektor 290 bereitgestellt.
  • Die Varianzselektor 280 wählt die kleinste Varianz der Variationswerte der acht Blöcke aus und liefert diesen Wert oder eine abgeschnittene oder gerundete Darstellung dieses Wertes an die Ausgabe des Varianzselektors 280. In einer Ausführungsform sind die durch den Variationsrechner 240 berechneten Variationen 16-Bit-Werte, und die durch den Varianzselektor 280 ausgegebenen Variationswerte sind 15-Bit-Werte.
  • Die DCT-Typ Selektor 290 legt einen 1-Bit-DCT-Typ-Indikator basierend auf der Mehrzahl von Varianzen auf eine Weise fest, die ähnlich zu der vorher beschriebenen ist.
  • In der dargestellten Ausführungsform von 4 wird der 1-Bit-DCT-Typ-Indikator mit dem Variationswert kombiniert, dargestellt als 15-Bit-Varianz (σ2), um ein Datenwort zu bilden, das in dem Speicher 160 gespeichert werden kann. Auf diese Weise können sowohl die Variation als auch die DCT-Typ-Daten mit einer einzigen Schreiboperation gespeichert werden, wodurch weniger Bandbreite erforderlich ist, als wenn die DCT-Typ-Daten und Varianzdaten separat gespeichert werden.
  • Die Variationen, die durch den Variationsrechner 240 berechnet werden, messen die räumliche Aktivität für einen Makroblock. Die räumliche Aktivität (actj wie etwa die Variation eines Makroblocks j) wird berechnet aus den vier Helligkeits-, Vollbild-organisierten Blöcken 1 bis 4 aus 3 und den vier Helligkeits-, Halbbild-organisierten Blöcken 5 bis 8 von 3, wie in Gleichung 1 angezeigt. Man beachte, dass die Halbbildvariation weggelassen werden kann, wenn der Makroblock Teil eines Progressiv-Bildes ist. actj = 1 + min(vblk1, vblk2, ..., vblk8) Gleichung 1
  • Dabei sind vblk1-vblk8 die Variationen der acht Blöcke des Makroblocks j. In der spezifischen Ausführungsform sind die Variationen vblk1-vblk8 durch Gleichung 2 bestimmte Variationen:
    Figure 00120001
  • Dabei stellt n einen der acht Blöcke dar, k stellt eines der 64 Pixel des Blocks n dar, Pk stellt den Wert des kten Pixels dar und Pmeann ist der Mittelwert der 64 Pixel des Blocks n.
  • In einer Ausführungsform wird die Variation auf 8 × 8 Blöcken von Helligkeitsdaten auf einer Basis von Makroblöcken berechnet. Ein 16 × 16 Makroblock sollte vier Variationswerte und vier Halbbild-Variationswerte enthalten. In einer weiteren Ausführungsform werden weitere zwei der kleinsten Variationen unter den acht Variationen als die Varianz des MB ausgewählt, obwohl andere Verfahren verwendet werden können, um die Varianz des MB festzustellen. Die resultierende Variation wird in den Speicher als Teil eines 16 Bit Wert (15 Bit Varianz und ein 1 Bit DCT) für einen gegebenen Makroblock j geschrieben.
  • Wenn vertikale Skalierung auf dem Vollbild (Frame) durchgeführt wird, dann ergeben sich nur vier Varianzberechnungen anstelle von acht. Diese Verringerung in der Zahl von Varianzen resultiert aus dem Weglassen entweder des oberen oder unteren Halbbildes (Field), wenn die vertikale Skalierung durchgeführt wird. Allerdings gibt es in einer spezifischen Ausführungsform des Systems 100 immer noch vier Varianzwerte, da die Varianz über einen ganzen 16 × 16 Makroblock berechnet wird. Dies resultiert in 16 geraden Halbbildzeilen (2, 4, 6, ..., 32) oder 16 ungeraden Halbbildzeilen (1, 3, 5, ..., 31).
  • In einer Ausführungsform werden alle gewählten Varianzen zu einem gesamten Bild akkumuliert und dann als Teil des Datenraten-Steueralgorithmus normalisiert. Diese Normalisierung wird am Ende eines Vollbildes durchgeführt, indem die Summe der Varianzen durch die Gesamtzahl von Makroblöcken in diesem Vollbild dividiert wird.
  • In einer Ausführungsform ist die berechnete Variation für einen Block seine Varianz. Der verwendete Varianzalgorithmus kann wie folgt vereinfacht und reduziert werden. Zu Beginn wird die Varianzberechnung nur auf den Ausgaben der 8-Bit-Y-Komponenten wie etwa der Ausgabe aus dem NRF berechnet. Die Varianz (σ2) wird festgestellt, indem die folgenden Akkumulationen der 64 Komponenten eines 8 × 8 Blocks durchgeführt werden.
    • 1. Initialisiere s = s2 = 0
    • 2. für jede Y-Komponente (64 gesamt): sei v = YCURRENT; s = s + v; s2 = s2 + v·v;
    • 3. nach dem Erhalt aller 64 Komponenten σ2 = s2 – (s·s)/64
  • 5 zeigt eine spezifische Implementierung als integrierte Schaltung zum Festlegen von s und s2. Insbesondere wird jede Eingabe, Y-Komponente (Helligkeit), an den Variationsblock auf dieselbe Weise bearbeitet. Um deshalb die Fläche der integrierten Schaltung zu verringern, wird derselbe Block zum Berechnen von s und s2 für jede Helligkeitskomponente verwendet. Diese Berechnung wird auf einer einzigen Zeile von 8 Pixeln durchgeführt, wobei jedes Pixel ein 8-Bit-Wert ohne Vorzeichen ist, der von dem NRF oder VS (Variation Select, Variationsselektor) erhalten wird. Jeder der dargestellten Teile des Akkumulators wird nach dem Erhalt einer Menge von 8 Pixeln (1/2 einer Makroblockzeile) zurückgesetzt. Sobald die zwei Zwischenvariablen s1 und s2 berechnet sind, werden sie an den Akkumulationsblock der Variationsvariablen von 6 weitergeleitet.
  • Der Akkumulationsblock der Variablen von 6 akkumuliert acht Sätze von Variablen s1 und s2, die zum Berechnen der Varianz (σ2) von jeder der Helligkeitsblöcke verwendet werden, indem die Gleichung von Schritt 3 oben angewendet wird.
  • Um die Fläche der integrierten Schaltung zu verringern, werden die arithmetischen Funktionen des Akkumulationsblocks der Variablen zwischen den acht Helligkeitsblöcken gemeinsam verwendet. Die gezeigte spezifische Implementierung hat einen arithmetischen Datenpfad, der zweimal instanziiert ist, um der Tatsache Rechnung zu tragen, dass jede Hälfte einer MB-Zeile für zwei Varianz-Halbbild-Berechnungen erforderlich sein könnte. Deshalb gibt es für jede gegebene Hälfte einer MB-Zeile zwei Akkumulationen für die Sätze der Variablen s und s2.
  • In einer Ausführungsform des Systems 100 verarbeiten das Rauschverringerungsfilter 220 oder der Skalierer 210 insgesamt 64 Pixel. Diese 64 Pixel stellen nicht die Pixel eines einzigen Makroblocks dar. Vielmehr entsprechen sie einer Zeile von Pixeln, die vier horizontal benachbarte Makroblöcke überspannt. Deshalb gibt es innerhalb jedes der zwei Akkumulationspfade von 6 MUX-Abschnitte, die ein Maximum von 16 Akkumulationsregistern zum Akkumulieren der Variablen s und s2 der vier möglichen MBs enthalten.
  • Die Varianz wird durch Verwendung der endgültigen Werte der Variablen s und s2 für einen gegebenen 8 × 8 Datenblock berechnet. Deshalb können zwei identische Instanziierungen des Schaltkreises von 6 verwendet werden, um alle acht möglichen Varianzen zu berechnen. Der endgültige Varianzwert wird zu einem 15-Bit-Ergebnis abgeschnitten, anstelle des tatsächlichen 16-Bit-Resultats, das von Software erwartet wird. Diese Bit-Reduktion ist notwendig, um das Schreiben des verketteten Varianzinformation-Datenblocks zu unterstützen, der aus der endgültigen MB-Varianz und dem DCT-Typ besteht.
  • In einer Ausführungsform ist der Variationsrechner 240 auch für das Feststellen der durchschnittlichen Varianz des Vollbildes verantwortlich. Diese durchschnittliche Varianz ist einfach die Summierung aller MB-Varianzen für das Vollbild geteilt durch die Anzahl der MBs in dem Vollbild.
  • Allerdings ist ein Teilen durch einen nicht konstanten Teiler in Hardware keine triviale Implementierung. Deshalb stellt die Software einen Normalisierungs-Multiplikationsfaktor von 1/n bereit, um die Implementierung der durchschnittlichen Varianzberechnung zu unterstützen. 7 zeigt ein Verfahren in Übereinstimmung mit einer spezifischen Ausführungsform der vorliegenden Offenbarung. Bei Schritt 501 wird ein erster Datensatz erhalten, der einen ersten Teil eines zu komprimierenden Videobildes darstellt. Mit Bezug auf 2 kann der erste Datensatz ein oder mehrere Makroblöcke sein, die bei dem Variationsrechner 240 erhalten werden. Der erste Datensatz kann von einer Mehrzahl der Pipelinestufen erhalten werden, basierend auf einer Auswahl eines Anwenders.
  • Bei Schritt 502 wird eine erste Mehrzahl von Varianzwerten festgestellt, basierend auf dem ersten Datensatz. Zum Beispiel können acht Varianzwerte, einer für jeden Vollbild- und Halbbild-Helligkeitsblock, festgestellt werden.
  • Ein oder mehrere Varianzwerte, die bei 502 berechnet wurden, können zum Speichern im Speicher bei Schritt 503 bereitgestellt werden. Ausführen von 502 kann von einer Auswahl eines Anwenders abhängig sein. Der Datenpfad 520 deutet an, dass der Schritt 504 unabhängig von Schritt 503 durchgeführt werden kann.
  • Bei Schritt 504 wird ein DCT-Typ, der eine Komprimierung des ersten Datensatzes steuert, basierend auf der ersten Mehrzahl von Varianzwerten festgestellt. Zum Beispiel wird der DCT-Typ auf Halbbild-DCT gesetzt, wenn die Halbbildvarianzen eine kleinere Summe als die Vollbildvarianzen aufweisen. Ähnlich wird der DCT-Typ auf Vollbild-DCT gesetzt, wenn die Vollbildvarianzen eine kleinere Summe als die Halbbildvarianzen aufweisen.
  • Schritte 505 und 506 können selektiv und unabhängig voneinander ausgeführt werden. Bei Schritt 506 wird ein Indikator des DCT-Typs und wenigstens ein Varianzwert gleichzeitig als Teil eines gemeinsamen Schreibens der Daten dem Speicher bereitgestellt.
  • Bei Schritt 505 wird der Indikator des DCT-Typs im Speicher gespeichert. Der Videokomprimierer 130 verwendet den Indikator des DCT-Typs zur Steuerung, ob der Makroblock, der dem DCT-Typ zugeordnet ist, als Vollbild- oder Halbbilddaten komprimiert wird.
  • 8 zeigt ein weiteres Verfahren in Übereinstimmung mit der vorliegenden Offenbarung. Insbesondere wird bei Schritt 601 während einer ersten Zeitdauer eine Mehrzahl von Video-Makroblöcken aus dem Speicher empfangen.
  • Bei Schritt 602 wird die Mehrzahl von Video-Makroblöcken in einer ersten Stufe einer Pipeline verarbeitet, um eine Mehrzahl von ersten modifizierten Datenblöcken zu erzeugen. Zum Beispiel können die ersten modifizierten Datenblöcke skalierte Daten aus der Skaliererstufe oder gefilterte Daten aus einer Daten-Filterstufe der Pipeline sein.
  • Bei Schritt 603 wird die Mehrzahl der ersten modifizierten Makroblöcke in einer zweiten Stufe der Pipeline verarbeitet, um während einer dritten Zeitdauer eine Mehrzahl von Varianzwerten für jeden Makroblock festzulegen.
  • In der vorangegangenen detaillierten Beschreibung wurde Bezug genommen auf die beigefügten Zeichnungen, die einen Teil davon bilden und in denen auf dem Wege der Abbildung spezifische Ausführungsformen gezeigt werden, in denen die Erfindung ausgeführt werden kann. Diese Ausführungsformen und bestimmte Varianten davon wurden in ausreichendem Detail beschrieben, um Fachleuten die Ausführung der Erfindung zu ermöglichen. Es sollte klar sein, dass andere geeignete Ausführungsformen verwendet werden können und dass logische und elektrische Änderungen gemacht werden können, ohne vom Geist oder dem Bereich der Erfindung abzuweichen. Zusätzlich sollte es klar sein, dass die funktionalen Blöcke, die in den Figuren gezeigt werden, auf mehrere Weisen kombiniert oder geteilt werden könnten, ohne von dem Geist oder dem Bereich der Erfindung abzuweichen. Die vorangegangene detaillierte Beschreibung ist deshalb nicht dazu gedacht, auf die hier dargelegten spezifischen Formen beschränkt zu sein, sondern im Gegenteil ist es beabsichtigt, solche Alternativen, Modifikationen und Äquivalente abzudecken, die vernünftigerweise innerhalb des Geistes und des Bereichs der angehängten Ansprüche umfasst sein können.

Claims (24)

  1. Ein Verfahren aufweisend: Erhalten eines ersten Datensatzes, der einen ersten Teil eines zu komprimierenden Videobildes darstellt; Feststellen einer ersten Mehrzahl von Variationswerten, wobei jeder Variationswert auf einer entsprechenden Teilmenge des ersten Datensatzes basiert; und Feststellen eines DCT-Typs, basierend auf der ersten Mehrzahl von Variationswerten.
  2. Verfahren gemäß Anspruch 1, wobei Feststellen des DCT-Typs basierend auf der Mehrzahl von Variationswerten Feststellen des DCT-Typs basierend auf einem Vergleich eines ersten Variationswerts der Mehrzahl von Variationswerten mit einem zweiten Variationswert der ersten Mehrzahl von Variationswerten umfasst.
  3. Verfahren gemäß Anspruch 1, wobei die erste Mehrzahl von Variationswerten einen Vollbildvariationswert basierend auf einer ersten Teilmenge des ersten Datensatzes und einen Halbbildvariationswert basierend auf einer zweiten Teilmenge des ersten Datensatzes umfasst.
  4. Verfahren gemäß Anspruch 1, wobei die erste Mehrzahl von Variationswerten einen ersten Halbbildvariationswert basierend auf einer ersten Teilmen ge des ersten Datensatzes und einen Halbbildvariationswert basierend auf einer zweiten Teilmenge des ersten Datensatzes umfasst.
  5. Verfahren gemäß Anspruch 1, weiterhin aufweisend: Bereitstellen von wenigstens einem Variationswert, um in einem Speicher gespeichert zu werden, wobei der wenigstens eine Variationswert auf wenigstens einem der Mehrzahl von Variationswerten basiert.
  6. Verfahren gemäß Anspruch 5, wobei der wenigstens eine Variationswert kein Vorzeichen hat und durch eine ungerade Anzahl von Bits dargestellt wird.
  7. Verfahren gemäß Anspruch 6, weiterhin aufweisend: Bereitstellen eines Indikators des DCT-Typs, um im Speicher gespeichert zu werden.
  8. Verfahren gemäß Anspruch 7, wobei der Indikator des DCT-Typs und der wenigstens eine Variationswert gleichzeitig gespeichert werden.
  9. Verfahren gemäß Anspruch 7, wobei der Indikator des DCT-Typs und der eine Variationswert in einem gemeinsamen Datenwort gespeichert werden.
  10. Verfahren gemäß Anspruch 1, wobei Erhalten des ersten Datensatzes Erhalten des ersten Datensatzes in einer ersten Stufe einer Pipeline aus einer zweiten Stufe der Pipeline umfasst.
  11. Verfahren gemäß Anspruch 10, wobei die zweite Stufe der Pipeline einen Videoteiler umfasst.
  12. Verfahren gemäß Anspruch 10, wobei die zweite Stufe der Pipeline einen Rauschverringerungsfilter aufweist.
  13. Verfahren gemäß Anspruch 10, weiterhin aufweisend: Identifizieren der zweiten Stufe der Pipeline als eine einer dritten Stufe der Pipeline und einer vierten Stufe der Pipeline.
  14. Verfahren gemäß Anspruch 13, wobei Identifizieren der zweiten Stufe weiterhin Lesen eines Werts aus einem Speicherort aufweist, um die zweite Stufe zu identifizieren.
  15. Ein Verfahren aufweisend: Erhalten einer Mehrzahl von Video-Makroblöcken aus einem Speicher während einer ersten Zeitdauer; Verarbeiten der Mehrzahl von Video-Makroblöcken in einer ersten Stufe einer Pipeline während einer zweiten Zeitdauer, um eine Mehrzahl von ersten modifizierten Makroblöcken zu erzeugen; Verarbeiten der Mehrzahl von ersten modifizierten Makroblöcken in einer zweiten Stufe der Pipeline während einer dritten Zeit, um eine Mehrzahl von Variationswerten für jeden Makroblock festzustellen.
  16. Verfahren gemäß Anspruch 15, wobei Verarbeiten der Mehrzahl von Video-Makroblöcken in der ersten Stufe der Pipeline auf N-Makroblöcken arbeitet, wobei N eine positive ganze Zahl größer als 1 ist.
  17. Ein System aufweisend: eine erste Stufe einer Pipeline, aufweisend eine Eingabe, um einen ersten Datensatz zu erhalten, der einen Teil eines Videobildes darstellt, und eine Ausgabe, um einen zweiten Datensatz bereitzustellen, der den Teil eines Videobildes darstellt, der auf dem ersten Datensatz basiert; und eine zweite Stufe der Pipeline, aufweisend eine Eingabe, die an die Ausgabe der ersten Stufe angeschlossen ist, um den zweiten Datensatz zu erhalten, und eine Ausgabe, wobei die zweite Stufe der Pipeline aufweist: einen ersten Teil, um einen oder mehrere Halbbild-Variationswerte des zweiten Datensatzes festzustellen; und einen zweiten Teil, um einen oder mehrere Vollbild-Variationswerte des zweiten Datensatzes festzustellen.
  18. System von Anspruch 17, wobei der erste Teil zum Feststellen einer Mehrzahl von Halbbild-Variationswerten dient, die auf dem zweiten Datensatz basieren, und wobei der zweite Teil dazu dient, eine Mehrzahl von Vollbild-Variationswerten festzustellen, die auf dem zweiten Datensatz basieren.
  19. System von Anspruch 18, weiterhin aufweisend: einen dritten Teil, der an das erste Modul und das zweite Modul angeschlossen ist, um Varianzwerte zu erhalten, und um einen Indikator zum Steuern der Komprimierung des zweiten Datensatzes bereitzustellen.
  20. System von Anspruch 17, weiterhin aufweisend: einen Speicher, aufweisend eine Ausgabe, um einen dritten Datensatz, der den Teil des Videobildes darstellt, an die Pipeline bereitzustellen, wobei der erste Datensatz entweder derselbe wie der dritte Datensatz oder eine Darstellung des dritten Datensatzes ist.
  21. System gemäß Anspruch 20, wobei die Ausgabe des ersten Moduls an den Speicher angeschlossen ist, um den zweiten Datensatz an einer Eingabe des Speichers bereitzustellen.
  22. Ein System aufweisend: einen Speicher, der zum Übertragen von N Bits von Information gleichzeitig in der Lage ist; ein Verarbeitungsmodul, das an den Speicher angeschlossen ist, um Videoinformationen zu erhalten, die einen Teil eines Videobildes darstellt, und um einen X-Bit-Wert bereitzustellen, der eine Varianzberechnung darstellt, die auf dem Teil des Videobildes basiert, und einen Y-Bit-Wert, der auf einen Typ der Kompression hinweist, die auf den Teil des Videobildes angewandt werden soll, wobei X, Y und N ganze Zahlen sind und die Summe von X und Y kleiner oder gleich N ist.
  23. System von Anspruch 22, wobei das Verarbeitungsmodul weiter dazu dient, den Y-Bit-Wert bereitzustellen, wobei der Y-Bit-Wert ein Ein-Bit-Wert ist.
  24. System gemäß Anspruch 22, wobei der Speicher zum gleichzeitigen Übertragen von 16 oder mehr Bits von Information in der Lage ist.
DE102006008780A 2005-02-08 2006-02-24 System von Komplexitätsvorverarbeitung innerhalb eines Bildes Expired - Fee Related DE102006008780B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/053,586 US7609766B2 (en) 2005-02-08 2005-02-08 System of intra-picture complexity preprocessing
US11/053,586 2005-02-08

Publications (2)

Publication Number Publication Date
DE102006008780A1 true DE102006008780A1 (de) 2007-03-22
DE102006008780B4 DE102006008780B4 (de) 2012-06-21

Family

ID=36178651

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006008780A Expired - Fee Related DE102006008780B4 (de) 2005-02-08 2006-02-24 System von Komplexitätsvorverarbeitung innerhalb eines Bildes

Country Status (5)

Country Link
US (1) US7609766B2 (de)
JP (1) JP5160038B2 (de)
CN (1) CN1893651A (de)
DE (1) DE102006008780B4 (de)
GB (1) GB2425430B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7609766B2 (en) 2005-02-08 2009-10-27 Vixs Systems, Inc. System of intra-picture complexity preprocessing
US8483268B1 (en) * 2006-03-14 2013-07-09 Geo Semiconductor Inc. Method and apparatus for frame, field and macroblock adaptive progressive/interlace coding selection
FR2899743A1 (fr) * 2006-04-11 2007-10-12 Vixs Systems Inc Systeme de pre-traitement de donnees intra-images
KR101370288B1 (ko) 2007-10-24 2014-03-05 삼성전자주식회사 이미지 신호의 압축 방법 및 장치
US8872856B1 (en) * 2008-08-14 2014-10-28 Zenverge, Inc. Macroblock based scaling of images using reduced memory bandwidth
US20130266080A1 (en) * 2011-10-01 2013-10-10 Ning Lu Systems, methods and computer program products for integrated post-processing and pre-processing in video transcoding
WO2015172337A1 (en) 2014-05-14 2015-11-19 Mediatek Singapore Pte. Ltd. Alternative transforms for data compression

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866395A (en) 1988-11-14 1989-09-12 Gte Government Systems Corporation Universal carrier recovery and data detection for digital communication systems
US5115812A (en) 1988-11-30 1992-05-26 Hitachi, Ltd. Magnetic resonance imaging method for moving object
GB2231227B (en) 1989-04-27 1993-09-29 Sony Corp Motion dependent video signal processing
US5093847A (en) 1990-12-21 1992-03-03 Silicon Systems, Inc. Adaptive phase lock loop
US5696531A (en) 1991-02-05 1997-12-09 Minolta Camera Kabushiki Kaisha Image display apparatus capable of combining image displayed with high resolution and image displayed with low resolution
FR2680619B1 (fr) 1991-08-21 1993-12-24 Sgs Thomson Microelectronics Sa Predicteur d'image.
JP2956726B2 (ja) * 1991-10-14 1999-10-04 ケイディディ株式会社 動画像の高能率符号化方法及び装置
US5253056A (en) 1992-07-02 1993-10-12 At&T Bell Laboratories Spatial/frequency hybrid video coding facilitating the derivatives of variable-resolution images
US5614952A (en) 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
JP3332443B2 (ja) 1993-01-18 2002-10-07 キヤノン株式会社 情報処理装置および情報処理方法
JP3486427B2 (ja) 1993-01-18 2004-01-13 キヤノン株式会社 制御装置および制御方法
CN1075323C (zh) 1993-03-24 2001-11-21 索尼公司 运动矢量编码和解码方法及装置,图像信号编码和解码方法及装置
KR970009302B1 (en) 1993-08-17 1997-06-10 Lg Electronics Inc Block effect reducing apparatus for hdtv
US5764698A (en) 1993-12-30 1998-06-09 International Business Machines Corporation Method and apparatus for efficient compression of high quality digital audio
JPH07210670A (ja) 1994-01-21 1995-08-11 Fuji Xerox Co Ltd 画像処理装置
US5732391A (en) 1994-03-09 1998-03-24 Motorola, Inc. Method and apparatus of reducing processing steps in an audio compression system using psychoacoustic parameters
US5940130A (en) 1994-04-21 1999-08-17 British Telecommunications Public Limited Company Video transcoder with by-pass transfer of extracted motion compensation data
DE4416967A1 (de) 1994-05-13 1995-11-16 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Transcodierung von Bitströmen mit Videodaten
US6005623A (en) 1994-06-08 1999-12-21 Matsushita Electric Industrial Co., Ltd. Image conversion apparatus for transforming compressed image data of different resolutions wherein side information is scaled
US5602589A (en) 1994-08-19 1997-02-11 Xerox Corporation Video image compression using weighted wavelet hierarchical vector quantization
US5644361A (en) 1994-11-30 1997-07-01 National Semiconductor Corporation Subsampled frame storage technique for reduced memory size
US5652749A (en) 1995-02-03 1997-07-29 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of a multiple program multimedia data stream
US5526054A (en) * 1995-03-27 1996-06-11 International Business Machines Corporation Apparatus for header generation
JPH08275160A (ja) * 1995-03-27 1996-10-18 Internatl Business Mach Corp <Ibm> 離散余弦変換方法
US5559889A (en) 1995-03-31 1996-09-24 International Business Machines Corporation System and methods for data encryption using public key cryptography
EP0739138A3 (de) 1995-04-19 1997-11-05 AT&T IPM Corp. Verfahren und Gerät zur Anpassung von komprimierten Videosignalen an einen Kommunikationskanal
US5610659A (en) * 1995-05-08 1997-03-11 Futuretel, Inc. MPEG encoder that concurrently determines video data encoding format and rate control
KR970057947A (ko) 1995-12-28 1997-07-31 배순훈 영상 부호화기에서의 타입 결정 및 버퍼 제어 장치
KR100219133B1 (ko) 1996-01-06 1999-09-01 윤종용 변환부호화시스템의 변환계수선택방법및그장치
JP3773585B2 (ja) * 1996-03-29 2006-05-10 富士通株式会社 画像符号化装置
GB9608271D0 (en) 1996-04-22 1996-06-26 Electrocraft Lab Video compession
JP3423835B2 (ja) 1996-05-01 2003-07-07 沖電気工業株式会社 スクランブル付き圧縮符号化装置及びその伸長再生装置
US6141693A (en) 1996-06-03 2000-10-31 Webtv Networks, Inc. Method and apparatus for extracting digital data from a video stream and using the digital data to configure the video stream for display on a television set
US6222886B1 (en) 1996-06-24 2001-04-24 Kabushiki Kaisha Toshiba Compression based reduced memory video decoder
US6215821B1 (en) 1996-08-07 2001-04-10 Lucent Technologies, Inc. Communication system using an intersource coding technique
US5850443A (en) 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
FR2752655B1 (fr) 1996-08-20 1998-09-18 France Telecom Procede et equipement pour affecter a un programme de television deja en acces conditionnel un acces conditionnel complementaire
US6366614B1 (en) 1996-10-11 2002-04-02 Qualcomm Inc. Adaptive rate control for digital video compression
SE515535C2 (sv) 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder
JP3355964B2 (ja) * 1996-10-29 2002-12-09 ケイディーディーアイ株式会社 適応直交変換モード判定方法
US6480541B1 (en) 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US6005624A (en) 1996-12-20 1999-12-21 Lsi Logic Corporation System and method for performing motion compensation using a skewed tile storage format for improved efficiency
JP3328532B2 (ja) 1997-01-22 2002-09-24 シャープ株式会社 デジタルデータの符号化方法
US6182203B1 (en) 1997-01-24 2001-01-30 Texas Instruments Incorporated Microprocessor
JP3393143B2 (ja) 1997-02-26 2003-04-07 三菱電機株式会社 ビデオデータ配信方法、ビデオデータ配信システム、並びに、そのビデオデータ配信方法
JP3633204B2 (ja) * 1997-05-14 2005-03-30 ソニー株式会社 信号符号化装置、信号符号化方法、信号記録媒体及び信号伝送方法
US6014694A (en) 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
JPH1127670A (ja) * 1997-07-07 1999-01-29 Ricoh Co Ltd 復号装置および復号方法
US6144402A (en) 1997-07-08 2000-11-07 Microtune, Inc. Internet transaction acceleration
CN1236527A (zh) 1997-07-22 1999-11-24 皇家菲利浦电子有限公司 在视频序列之间进行切换的方法及相应的装置
EP0896300B1 (de) 1997-08-07 2002-01-30 Matsushita Electric Industrial Co., Ltd. Vorrichtung und Verfahren zur Detektion eines Bewegungsvektors
EP0917362A1 (de) 1997-11-12 1999-05-19 STMicroelectronics S.r.l. Makroblockvarianzscchätzung für MPEG2-Videocodierer
EP0926899A3 (de) 1997-12-25 1999-12-15 SANYO ELECTRIC Co., Ltd. Gerät und Verfahren für Bilddekomprimierung
US6507673B1 (en) 1998-03-06 2003-01-14 Divio, Inc. Method and apparatus for video encoding decision
JPH11331842A (ja) * 1998-03-19 1999-11-30 Matsushita Electric Ind Co Ltd 画像データ圧縮装置及びその方法
US6310919B1 (en) 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
US6385248B1 (en) 1998-05-12 2002-05-07 Hitachi America Ltd. Methods and apparatus for processing luminance and chrominance image data
KR100548891B1 (ko) 1998-06-15 2006-02-02 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치 및 음성 부호화 방법
US6584509B2 (en) 1998-06-23 2003-06-24 Intel Corporation Recognizing audio and video streams over PPP links in the absence of an announcement protocol
WO2000007091A1 (en) 1998-07-27 2000-02-10 Webtv Networks, Inc. Remote computer access
US6167084A (en) 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
US6219358B1 (en) 1998-09-11 2001-04-17 Scientific-Atlanta, Inc. Adaptive rate control for insertion of data into arbitrary bit rate data streams
US6259741B1 (en) 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6625211B1 (en) 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US6263022B1 (en) 1999-07-06 2001-07-17 Philips Electronics North America Corp. System and method for fine granular scalable video with selective quality enhancement
DE19946267C2 (de) 1999-09-27 2002-09-26 Harman Becker Automotive Sys Digitales Transcodiersystem
FR2800222B1 (fr) 1999-10-26 2001-11-23 Mitsubishi Electric Inf Tech Procede de mise en conformite a un contrat de trafic d'un flux de paquets d'un reseau de transport de paquets a longueur variable
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
US6714202B2 (en) 1999-12-02 2004-03-30 Canon Kabushiki Kaisha Method for encoding animation in an image file
US6300973B1 (en) 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
US6847684B1 (en) 2000-06-01 2005-01-25 Hewlett-Packard Development Company, L.P. Zero-block encoding
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US6438168B2 (en) 2000-06-27 2002-08-20 Bamboo Media Casting, Inc. Bandwidth scaling of a compressed video stream
FR2813742A1 (fr) 2000-09-05 2002-03-08 Koninkl Philips Electronics Nv Methode de conversion de flux binaires
US6748020B1 (en) 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
US6608792B2 (en) 2000-11-09 2003-08-19 Texas Instruments Incorporated Method and apparatus for storing data in an integrated circuit
JP4517495B2 (ja) 2000-11-10 2010-08-04 ソニー株式会社 画像情報変換装置及び画像情報変換方法並びに符号化装置及び符号化方法
KR100433516B1 (ko) 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US20020085633A1 (en) 2001-01-03 2002-07-04 Kim Hyun Mun Method of performing video encoding rate control
US6549561B2 (en) 2001-02-21 2003-04-15 Magis Networks, Inc. OFDM pilot tone tracking for wireless LAN
US8107524B2 (en) 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
US6993647B2 (en) 2001-08-10 2006-01-31 Hewlett-Packard Development Company, L.P. Method and apparatus for booting an electronic device using a plurality of agent records and agent codes
US20040013198A1 (en) 2001-08-31 2004-01-22 Haruo Togashi Encoding apparatus and method for encoding
US7403564B2 (en) 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
JP2003324732A (ja) 2002-04-30 2003-11-14 Sony Corp 画像処理装置およびその方法
US20040120398A1 (en) * 2002-12-19 2004-06-24 Ximin Zhang System and method for adaptive field and frame video encoding using rate-distortion characteristics
US7092442B2 (en) * 2002-12-19 2006-08-15 Mitsubishi Electric Research Laboratories, Inc. System and method for adaptive field and frame video encoding using motion activity
HU2762U (en) 2002-12-20 2004-06-28 Procter & Gamble Disposable absorbent article
SG140441A1 (en) * 2003-03-17 2008-03-28 St Microelectronics Asia Decoder and method of decoding using pseudo two pass decoding and one pass encoding
JP4279108B2 (ja) * 2003-09-30 2009-06-17 タカタ株式会社 座席上の物体の状態の判別装置
US20050074062A1 (en) 2003-10-06 2005-04-07 Sung Chih-Ta Star Fast DCT method and apparatus for digital video compression
US7869500B2 (en) 2004-04-27 2011-01-11 Broadcom Corporation Video encoder and method for detecting and encoding noise
US7609766B2 (en) 2005-02-08 2009-10-27 Vixs Systems, Inc. System of intra-picture complexity preprocessing

Also Published As

Publication number Publication date
GB2425430B (en) 2011-03-23
JP5160038B2 (ja) 2013-03-13
GB0603667D0 (en) 2006-04-05
JP2006246455A (ja) 2006-09-14
US20060176952A1 (en) 2006-08-10
GB2425430A (en) 2006-10-25
DE102006008780B4 (de) 2012-06-21
US7609766B2 (en) 2009-10-27
CN1893651A (zh) 2007-01-10

Similar Documents

Publication Publication Date Title
DE69837728T2 (de) Adaptives Filter
DE69631108T2 (de) Nachfilterung zur Entfernung von Artefakten in DCT-codierten Bildern
DE602005004694T2 (de) Verfahren und Vorrichtung für lokal adaptive Bildverarbeitungsfilter
DE69627982T2 (de) Signaladaptives Nachverarbeitungssystem um Blockierungseffekte und Ringstörungen zu verringern
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
DE19506372B4 (de) Bi-Direktionales Bewegungsschätzverfahren und ein dafür vorgesehenes Gerät
DE102006008780B4 (de) System von Komplexitätsvorverarbeitung innerhalb eines Bildes
EP0517324B1 (de) Vorrichtung zur Steuerung des Quantisierers eines Hybridkodierers
DE69935478T2 (de) Bewegtbildkodiergerät
DE19815861A1 (de) Verfahren und Vorrichtung für eine auf Blöcken basierende Bildverarbeitung
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE60307942T2 (de) Digitale Rauschverminderungstechniken
DE69733106T2 (de) Bildkodierung und -dekodierung unter Verwendung Pixelblockklasseninformation entsprechender Abbildungskoeffizienten
DE4206280A1 (de) Verfahren zum aufzeigen eines bewegungsvektors
CA2381486C (en) Apparatus for monitoring quality of picture in transmission
DE60031601T2 (de) Gerät und Verfahren zur Rauschverminderung in einem Videosignal
DE10331048A1 (de) Vorrichtung und Verfahren für die Detektion, ob sich ein ankommendes Bildsignal in einem Filmmodus befindet
WO2002078352A1 (de) Verfahren zur komprimierung und dekomprimierung von videodaten
DE19816898B4 (de) Vorrichtung und Verfahren zum adaptiven Codieren eines Bildsignals
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE60023837T2 (de) Vorrichtung und verfahren zur filterung
EP0525900B1 (de) Filterschaltung zur Vorverarbeitung eines Videosignals
EP0897247A2 (de) Verfahren zur Berechnung von Bewegungsvektoren
DE60031559T2 (de) Verfahren und gerät zur lernfähigen klassenauswahl nach mehreren klassifikationen
EP3655920B1 (de) Verfahren und vorrichtung zur bewertung von bildausschnitten für eine korrespondenzbildung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20120922

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0007260000

Ipc: H04N0019000000