DE102011056970A1 - Rasterausgabe von rotierten, interpolierten Pixeln, die für digitale Bildstabilisierung optimiert ist - Google Patents

Rasterausgabe von rotierten, interpolierten Pixeln, die für digitale Bildstabilisierung optimiert ist Download PDF

Info

Publication number
DE102011056970A1
DE102011056970A1 DE102011056970A DE102011056970A DE102011056970A1 DE 102011056970 A1 DE102011056970 A1 DE 102011056970A1 DE 102011056970 A DE102011056970 A DE 102011056970A DE 102011056970 A DE102011056970 A DE 102011056970A DE 102011056970 A1 DE102011056970 A1 DE 102011056970A1
Authority
DE
Germany
Prior art keywords
frame
line
pixels
meta
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102011056970A
Other languages
English (en)
Inventor
ChinCheng Lin
Yongjian Zhou
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102011056970A1 publication Critical patent/DE102011056970A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Abstract

Eine digitale Bildstabilisierungsvorrichtung und ein Verfahren wendet eine Haupt-Transformation mit einer rotatorischen Bewegungskomponente auf einen Quell-Rahmen an, und interpoliert die Bilddaten jedes Pixels einer gesamten Reihe des Ziel-Rahmens und gibt diese in Rasterordnung aus. Ein erster Schritt identifiziert die diagonal orientierten Meta-Reihen der Quell-Rahmen-Daten, welche den Pixeln einer gesamten Reihe des Ziel-Rahmens entsprechen, basierend auf den Haupt-Transformations-Koeffizienten. Ein zweiter Schritt ist es, die Quelle-Rahmen-Daten der Meta-Reihen, welche den Pixeln einer gesamten Reihe des Ziel-Rahmens entsprechen, durch Speichern jeder Meta-Reihe der Quell-Rahmen-Daten in eine Reihe eines Speicher-Puffers, wie eines Multi-Zeilen-Puffers, horizontal anzuordnen. Dann interpoliert ein Bewegungsfenster-Interpolationsschritt der Reihe nach, basierend auf den Haupt-Transformations-Koeffizienten, und gibt die Bilddaten einer gesamten Reihe des Ziel-Rahmens in Rasterordnung aus.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität nach 35 U.S.C. §120 der vorläufigen US-Anmeldungen mit den Nummern US 61/426,970 und US 61/426,975, welche beide am 23. Dezember 2010 beim US-amerikanischen Patent- und Markenamt eingereicht wurden. Die Offenbarungen der beiden vorläufigen Anmeldungen werden hiermit durch Inbezugnahme mit aufgenommen.
  • 1. Technisches Gebiet
  • Das vorliegende erfinderische Konzept betrifft eine digitale Bildstabilisierung (DIS) und insbesondere ein Verfahren zum Rotieren eines Ziel-Rahmenabschnitts eines Quell-Rahmens, basierend auf einer Fenstertechnik-Interpolation der Pixel in einer horizontalen Zeile eines Ziel-Meta-Rahmens, und Ausgeben der interpolierten Pixel des Ziel-Rahmens in Rasterordnung.
  • 2. Diskussion des Standes der Technik
  • Digitalkameras, digitale Videokameras und tragbare Vorrichtungen einschließlich solcher Kameras werden häufig dazu verwendet, Bilder oder Videos aufzunehmen, während die Kamera in der Hand eines Bedieners betrieben wird. Daher kann die Videokamera in der Hand des Bedieners wackeln oder zittern, während das Bild oder das Video aufgenommen wird. Das Zittern kann eine horizontale Komponente, eine vertikale Komponente und eine Drehkomponente enthalten. Das Zittern kann das mit der Hand aufgenommene Video für den Betrachter störend oder verwirrend machen und daher ist es wünschenswert, digitale Schaltkreise zu verwenden, um die Kamera-Trajektorie digital zu beurteilen (d. h., das zwischen jedem Paar von aufeinanderfolgenden Rahmen erfasste Zittern) und um das Zittern aus einer Sequenz von Videorahmen der gleichen Szene zu entfernen.
  • Das durch eine festgelegte, entweder stationäre oder sich bewegende Videokamera erzeugte Video enthält hauptsächlich gleichmäßige Bewegungen (Translation, Rotation) in dem aufgenommenen Video. Andererseits erzeugt eine wackelige Videokamera ein Video mit hochfrequentem Zittern (translatorisch und/oder rotatorisch) bei allen Videobildern.
  • Ein digitales Bildstabilisierungs(DIS)-System beurteilt zunächst unerwünschte (unbeabsichtigte) Bewegung und wendet anschließend Korrekturen (Kompensationen) auf jeden Rahmen in der Bildsequenz an. Der visuelle Effekt eines stabilisierten Videos hängt im hohem Maße von der Qualität der Kamera-Trajektorien-Beurteilung ab. Die globale Bewegung der Kamera/Szene wird analysiert, um zwischen beabsichtigter (z. B. Schwenken) und unbeabsichtigter (Zittern) globaler Bewegung zu unterscheiden.
  • In der Mathematik ist die affine Geometrie die Lehre der geometrischen Eigenschaften, welche durch affine Transformationen unverändert bleiben, d. h., nicht-singuläre lineare Transformationen und Translationen. Ein mathematisches System von durch numerische Koeffizienten definierten Gleichungen, als eine affine Matrix bezeichnet, wurde entwickelt, um das Horizontale, Vertikale, Rotationale und Skalare (bspw. Heranzoomen oder Herauszoomen) der Bewegung, welche zwischen jedem Paar von auf einanderfolgenden Rahmen oder zwischen Abschnitten von diesen (bspw. bewegende Objekte in den Rahmen) erfasst werden, zu kennzeichnen. Die affine Transformationsgleichung ist: x' = sx·x + ry·y + tx y' = rx·x + sy·y + ty wobei (x, y) eine Ziel-Rahmen-Pixelposition ist, und (x', y') die berechnete Quell-Rahmen-Pixelposition nach der affinen Transformation ist, sx, ry, rx, sy, tx und ty sind die affinen Transformations-Koeffizienten.
  • Diese mathematische Beschreibung der Gruppe kann lineare Verschiebung, einen Rotationswinkel, einen Maßstab usw. der Szene enthalten.
  • Das Kamerazittern kann durch eine erste mit irgendwelchen tatsächlich stationären Objekten (z. B. Felsen, Tische, geparkte Fahrzeuge, Berge, die Sonne) in der Szene in Beziehung stehende affine Transformationsmatrix P(n), welche als eine Haupttransformation P(n) oder eine globale Transformation bezeichnet wird, gekennzeichnet sein, während irgendwelche sich bewegenden Objekte (z. B. Vögel, Personen, Bälle, sich bewegende Fahrzeuge, vorbeifahrende Züge) in dem Rahmen durch zusätzliche affine Matrizen Ti(n) gekennzeichnet sein können. Daher kann die Haupttransformation P(n) als eine kompakte Beschreibung der Bewegung des Hintergrundes in dem Rahmen dienen. Transformationen mit kleinen Bewegungen sind als Haupttransformationen P(n) wahrscheinlicher.
  • Sobald die Haupttransformation P(n) erhalten ist, wird diese auf den Quell-Rahmen der aufgenommenen Bilddaten angewendet, und dadurch wird ein korrigierter Ziel-Rahmen erhalten. Wenn die Haupttransformation P(n) eine Drehkomponente enthält, können die Quell-Rahmen-Daten innerhalb der gleichen Zeile des Ziel-Rahmens aus vielen verschiedenen Zeilen des Quell-Rahmens hervorgehen.
  • Die Quell-Rahmen-Pixelposition, welche bestimmt wurde, einer bestimmten Ziel-Rahmen-Pixelposition entsprechen, stimmt möglicherweise nicht exakt mit der Mitte eines vorhandenen Pixels in dem Quell-Rahmen überein. Die Quell-Rahmen-Pixelposition, welche bestimmt wurde, einer bestimmten Ziel-Rahmen-Pixelposition zu entsprechen, kann sogar äquidistant zwischen zwei oder vier benachbarten Pixeln des Quell-Rahmens angeordnet sein. Daher wird keines dieser benachbarten Pixel einzeln die gleiche Helligkeit und Farbe wie das entsprechende Ziel-Rahmen-Pixel aufweisen, deren Durchschnitt jedoch schon. Wenn eine Rotationsbewegung vorliegt, werden sodann viele oder die meisten Pixel des Ziel-Rahmens nicht exakt mit ganzen Pixeln in dem Quell-Rahmen übereinstimmen. In solchen Fällen ist es notwendig, jedes Pixel der Ziel-Rahmen-Bilddaten Ddf von den Bilddaten Dsf einer Mehrzahl von benachbarten Pixeln des Quell-Rahmens zu interpolieren. Diese Interpolation wird unter Verwendung einer affinen Transformationsmatrix, basierend auf den affinen Transformations-Koeffizienten sx, ry, rx, sy, tx und ty durchgeführt. Jedoch können aufgrund des Rotationswinkels des Ziel-Rahmens relativ zu dem Quell-Rahmen die Quell-Rahmen-Daten von Pixeln innerhalb irgendeiner gegebenen Zeile Rd des Ziel-Rahmens aus unterschiedlichen Zeilen des Quell-Rahmens hervorgehen. Falls der Rotationswinkel bspw. ±45 Grad beträgt, können dann die Quell-Rahmen-Daten von Pixeln innerhalb der mittleren Zeile Rd des Ziel-Rahmens aus einem Bereich von Quell-Rahmen-Zeilen hervorgehen, welcher einen Großteil der vertikalen Dimension des Quell-Rahmens umfasst. Daher ist ein Ansatz zum Ausgeben einens Ziel-Rahmens, den Quell-Rahmen in Kacheln (Blöcke) aufzuteilen und lediglich einen Abschnitt jedes Ziel-Rahmens (Zeile Rd) von jeder aus der Mehrzahl von Kacheln (Blöcken) zu interpolieren.
  • Zum Kodieren der Helligkeit und der Farbe von jedem Pixel eines Bildes können verschiedene Datenformate verwendet werden. Ein System ist das der Graustufendaten, bei dem lediglich ein Luma(Y)-Datenwert pro Pixel gespeichert wird. Ein weiteres System ist das 8-Bit-4:2:2-Datenformat, bei dem 4 Luma(Y)-Werte und 2 Chroma(Cb und Cr)-Werte von 4 Pixeln in einem Verhältnis von 4:2:2 gespeichert werden, da das menschliche Auge auf Details der Lichthelligkeit sensibler reagiert als auf Details der Farbvariation. Daher kann es beim Interpolieren eines Pixels eines Ziel-Rahmens von einem Quell-Rahmen optimal sein, verschieden große Interpolationsbereiche für die Luma- und Chroma-Datenwerte zu verwenden. Bspw. kann ein 4×8-Bereich der Luma(Y)-Daten und ein 4×4-Bereich der Chroma(Cb und Cr)-Daten vom dem Quell-Rahmen zur Interpolation jedes Pixels des Ziel-Rahmens in dem 8-Bit-4:2:2-Datenformat verwendet werden.
  • Die Kachel(Block)-Form des Speicher-Managementkonzepts weist einen Mehraufwand auf, um auf die überlappenden Quell-Rahmen-Daten zwischen den benachbarten Kacheln und ebenso die ausgegebenen Ziel-Rahmen-Daten in der Blockform zuzugreifen. Wenn nachfolgende Stufen der Bildverarbeitung die Ziel-Rahmen-Bilddaten in Rasterordnung benötigen (z. B. gesamte Zeilen der Pixel von links nach rechts), erfordert der Aufwand des Verknüpfens dieser Blöcke der interpolierten Ziel-Rahmen-Daten und des Auslesens der Pixel jeder Zeile Rd in Rasterordnung eine größere Bus-Bandbreite, oder erfordert mehrere Zeilenpuffer, um dies zu erreichen.
  • KURZFASSUNG
  • Ein Aspekt des erfinderischen Konzepts sieht ein Pixel-Interpolationsverfahren vor, um eine Bildrotation ohne überlappenden Quell-Rahmen-Zugriff zwischen benachbarten Kacheln durchzuführen. Das offenbarte Verfahren benötigt keinen zusätzlichen rechnerischen Aufwand oder Speicheraufwand, um Zieldaten in Rasterordnung zu erzeugen.
  • Ein Aspekt der Erfindung sieht ein Verfahren zur digitalen Bildstabilisierung, einschließlich Anwenden einer Haupttransformation P(n), welche ein stationäres-/Hintergrund-Objekt in der Szene eines Videorahmens darstellt, vor.
  • Gemäß einer Ausführungsform wird in einer ersten affinen Transformationsvorrichtung der Kompensationseinheit, basierend auf den empfangenen affinen Koeffizienten sx, sy, rx, ry, tx und ty und basierend auf berechneten Ziel-Rahmen-Koordinaten, eine affine Transformation durchgeführt, um die entsprechenden physikalischen Speicherpositionen der erforderlichen Pixeldaten des Quell-Rahmens zu erzeugen. In einigen Farbdaten-Systemen ist zum Durchführen eines Interpolationsvorganges für jedes Pixel des Ziel-Rahmens ein Interpolationsbereich von Daten (z. B. 4 Zeilen mal 8 Spalten) von dem Quell-Rahmen erforderlich. Um auf die erforderlichen Daten für die Rotations-Bildtransformation von dem Quell-Rahmenbereich zuzugreifen, greift das offenbarte Verfahren auf die Pixel des Quell-Rahmens in diagonal angeordneten Meta-Zeilen, die einer Zeile des Ziel-Rahmens entsprechen, zu, und positioniert diese Quell-Daten-Pixel horizontal in mehrere Zeilenpuffer neu, wobei die in den Zeilenpuffern gespeicherten Daten inhaltlich einer oder mehreren gesamten Zeilen von Pixeln in den Ziel-Rahmen entsprechen. Daher kann die Interpolation für eine oder mehrere gesamte Zeilen des Ziel-Rahmens in Rasterordnung fortschreiten.
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung führen eine affine Transformation (Bild-Interpolation) mit Translation, Skalierung und Rotation durch. Sämtliche zum Erzeugen der interpolierten Pixel der aktuellen Zeile Rd des Ziel-Rahmens benötigten Quell-Rahmen-Daten werden innerhalb mehrerer Zeilenpuffer eines Meta-Rahmen-Puffers ausgerichtet. Ein horizontal bewegendes Fensterverfahren wird während des Quell-Rahmen-Daten-Interpolationsverfahrens zum Erzeugen der Ziel-Rahmen-Daten in Rasterordnung verwendet. Die Gestalt des erforderlichen Speicher-Fensterbereichs (z. B. 4×8) des Quell-Rahmens zur Interpolation jedes Pixels des Ziel-Rahmens wird umgestellt, falls die Quell-Rahmen-Daten in dem Zeilenpuffer von unterschiedlichen Zeilen des Quell-Rahmens kommen.
  • Eine Bildverarbeitungsschaltung ist zum Rotieren eines Bildes vorgesehen, mit: einer ersten Transformationsvorrichtung, welche konfiguriert ist zum Erzeugen eines einzelnen Satzes von horizontalen Positionen, welche den. Beginn und das Ende jeder Meta-Zeile von Pixeln in einem Ziel-Meta-Rahmenabschnitt eines ursprünglichen Bild-Rahmens angeben; einer Steuerung für direkten Speicherzugriff, welche dafür eingerichtet ist, jede Meta-Zeile von Pixeln in dem Ziel-Meta-Rahmenabschnitt zu lesen und jede Meta-Zeile horizontal in einen von einer Mehrzahl von Zeilenpuffern zu schreiben; und einer zweiten affinen Transformationsvorrichtung, welche dafür eingerichtet ist ist, jedes Pixel des Ziel-Rahmens zu interpolieren und zu rotieren und die rotierten Pixel in Rasterandordnung auszugeben.
  • Gemäß einer Ausführungsform berechnet das Verfahren die Positionen der Bilddaten, welche innerhalb diagonaler Meta-Zeilen in dem Quell-Rahmen diagonal verteilt sind, und führt Zeilenpuffer-Speichermanagement-Aufgaben durch, um die Rotation eines Bildes mit einem Winkel von bis zu ±45 Grad zu unterstützen.
  • Ein Aspekt des vorliegenden erfinderischen Konzepts sieht eine Bildverarbeitungsschaltung zum Rotieren eines Bildes vor, mit: einer ersten Transformationsvorrichtung, welche konfiguriert ist zum Erzeugen eines Satzes von horizontalen Positionen, welche den Beginn und das Ende jeder Meta-Zeile von Pixeln in einem rotierten Ziel-Rahmenabschnitt eines ursprünglichen Bild-Rahmens angeben; einer Steuerung für direkten Speicherzugriff, welche konfiguriert ist zum Lesen jeder Meta-Zeile von Pixeln in einem Ziel-Rahmenabschnitt und zum Schreiben jeder Zeile in einen von einer Mehrzahl von Zeilenpuffern; und einer zweiten affinen Transformationsvorrichtung, welche konfiguriert ist zum Interpolieren jedes Pixels des rotierten Ziel-Rahmens und zum Ausgeben der Pixel in Rasterordnung.
  • Das Fenster-Interpolations-Bewegungsfenster-Verfahren erzeugt die Ziel-Rahmen-Daten in Rasterordnung. Die Interpolations-Fenster-Mittelposition (x', y') wird basierend auf einer Rotationsgleichung, beispielweise mit affinen Transformations-Gleichungs-Koeffizienten berechnet. Die Interpolations-Fenster-Gestalt und -Position wird in Abhängigkeit von der Mittelposition y' und der vertikalen Position, wo die Quell-Daten in den Zeilenpuffern gespeichert sind, angepasst.
  • Ein weiterer Aspekt des vorliegenden erfinderischen Konzepts sieht ein Verfahren zum Rotieren eines Ziel-Rahmenabschnitts eines ursprünglichen Rahmens gemäß affinen Transformations-Koeffizienten vor, aufweisend: Kopieren der Daten, die den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, in den ersten aus einer Mehrzahl von Zeilenpuffern, basierend auf den affinen Transformations-Koeffizienten; Kopieren der Daten, die den Pixeln der zweiten Zeile des Ziel-Rahmens entsprechen, in den zweiten aus der Mehrzahl von Zeilenpuffern, basierend auf den affinen Transformations-Koeffzienten; Interpolieren und Rotieren jedes Pixels der Reihe nach in der ersten Zeile des Ziel-Rahmens, basierend auf den in der Mehrzahl von Zeilenpuffern gespeicherten Daten, und Ausgeben der interpolierten Pixel der ersten Zeile des Ziel-Rahmens in Rasterordnung, und anschließendes Interpolieren und Rotieren jedes Pixels der Reihe nach in der zweiten Zeile des Ziel-Rahmens, basierend auf den in der Mehrzahl von Zeilepuffern gespeicherten Daten, und Ausgeben der interpolierten Pixel der zweiten Zeile des Ziel-Rahmens in Rasterordnung.
  • Ein weiterer Aspekt der Erfindung sieht ein Verfahren zum Anwenden einer Haupttransformation P(n), welche ein stationäres-/Hintergrund-Objekt in der Szene eines Videorahmens darstellt, vor.
  • Ein weiterer Aspekt der vorliegenden Erfindung sieht ein Verfahren zum Rotieren eines Ziel-Rahmenabschnitts eines Quell-Rahmens gemäß affinen Transformations-Koeffizienten vor, aufweisend: Kopieren der Bilddaten von Pixeln eines Quell-Rahmens in einer ersten Meta-Zeile, die den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, in einen ersten Zeilenpuffer, basierend auf den affinen Transformations-Koeffizienten; Kopieren der Bilddaten von Pixeln eines Quell-Rahmens in einer zweiten Meta-Zeile, die den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, in einen zweiten Zeilenpuffer, basierend auf den affinen Transformations-Koeffizienten; und Interpolieren jedes Pixels der ersten Zeile des Ziel-Rahmens der Reihe nach, basierend auf den Bilddaten, welche in den ersten und zweiten Zeilenpuffern gespeichert sind, und Ausgeben der interpolierten Pixel der ersten Zeile des Ziel-Rahmens in Rasterordnung.
  • Das beispielhafte Verfahren kann ferner aufweisen: Kopieren der Bilddaten von Pixeln des Quell-Rahmens in einer dritten Meta-Zeile, die den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, in einen dritten Zeilenpuffer, basierend auf den affinen Transformations-Koeffizienten; Kopieren der Bilddaten von Pixeln des Quell-Rahmens in einer vierten Meta-Zeile, die den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, in einen vierten Zeilenpuffer, basierend auf den affinen Transformations-Koeffizienten; und Interpolieren jedes Pixels der ersten Zeile des Ziel-Rahmens der Reihe nach, basierend auf den Bilddaten, welche in den ersten, zweiten, dritten und vierten Zeilenpuffern gespeichert sind, und Ausgeben der interpolierten Pixel der ersten Zeile des Ziel-Rahmens in Rasterordnung.
  • Verschiedene beispielhafte Ausführungsformen des erfinderischen Konzepts behandeln affine Transformationen, einschließlich translatorischer und rotatorischer Bewegung innerhalb eines bestimmten Rotationsgrades (z. B. bis zu ±45 Grad). Verschiedene andere beispielhafte Ausführungsformen des erfinderischen Konzepts sind optimiert, um affine Transformationen, einschließlich translatorischer und rotatorischer Bewegung innerhalb eines 4:2:2-Datenformats und eines geringeren Rotationsgrads zu behandeln.
  • Da die Quell-Rahmen-Daten von Pixeln innerhalb der gleichen Zeile Rd des Ziel-Rahmens von unterschiedlichen Zeilen des Quell-Rahmens stammen können, ist es ein erster Schritt, die Quell-Rahmen-Daten in horizontale Meta-Zeilen, entsprechend dem Winkel der Rotation des Ziel-Rahmens, neu anzuordnen. Der erste Schritt ordnet sämtliche benötigten Quell-Rahmen-Daten, die einer gesamten Zeile Rd eines Ziel-Rahmens entsprechen, innerhalb mehrerer horizontaler Zeilenpuffer, welche Meta-Zeilen der Quell-Rahmen-Daten Dsf horizontal speichern, an. Vorzugsweise kann jede Zeile des Puffer-Speichers zeitgleich während des Interpolationsverfahrens gelesen werden, und alle Zeilen des Puffer-Speichers, welche in das Interpolationsverfahren dann nicht involviert sind, können zeitgleich mit den nächsten benötigten Quell-Rahmen-Daten beschrieben werden. Daher ist vorzugsweise jede Zeile des Puffer-Speichers als ein unabhängig zugänglicher Zeilenpuffer implementiert.
  • Wenn die benötigten Quell-Rahmen-Daten in dem Puffer-Speicher verfügbar sind, wird ein einfaches und gleichmäßiges horizontales Bewegungsfenster-Interpolationsverfahren durchgeführt zum Erzeugen der Ziel-Rahmen-Daten Ddf jedes Pixels in jeder Zeile Rd des Ziel-Rahmens in Rasterordnung.
  • Die Größe des Meta-Rahmen-Puffers, welche zum Speichern der horizontalen Meta-Zeilen der Quell-Rahmen-Daten Dsf benötigt wird, wird in verschiedenen beispielhaften Ausführungsformen durch Wiederverwenden eines k-Zeilenpuffers reduziert, wobei k eine ganze Zahl ist, um die Ziel-Rahmen-Daten Ddf, die einer oder mehreren Zeilen Rd des Ziel-Rahmens entsprechen, temporär zu speichern. Falls das horizontale Bewegungsfenster ein Nennmaß von 4×4 Pixel oder 4×8 Pixel aufweist, werden dann lediglich vier Zeilen des Zeilenpuffers benötigt, um Ziel-Rahmen-Daten Ddf, die einer oder mehreren Zeilen Rd des Ziel-Rahmens entsprechen, zu speichern, falls der Rotationswinkel des Ziel-Rahmens gleich Null ist (siehe beispielsweise 14). Falls das Bewegungsfenster jedoch einen Nennmaß von 4×4 Pixel aufweist, und falls der Rotationswinkel des Ziel-Rahmens gleich ±45 Grad ist, werden dann sieben Zeiten des Zeilenpuffers benötigt, um die Ziel-Rahmen-Daten Ddf, die lediglich einer Zeile Rd des Ziel-Rahmens entsprechen, zu speichern. Daher enthält ein Sieben-Zeilenpuffer, welcher sieben horizontale Meta-Zeilen der Quell-Rahmen-Daten Dsf speichert, genügend Daten, um in Abhängigkeit von dem Rotationswinkel des Ziel-Rahmens wenigstens eine, und bis zu vier gesamte Zeilen Rd des Ziel-Rahmens 4×4 zu interpolieren. Falls das Interpolationsfenster ein Nennmaß von 4×8 Pixel aufweist, kann dann ein Sieben-Zeilenpuffer einen Rotationswinkel von bis zu 22,5 Grad verarbeiten. Falls der Rotationswinkel des Ziel-Rahmens gleich ±45 Grad ist, werden mehr als sieben Zeilen des Puffers benötigt, um die Ziel-Rahmen-Daten Ddf, die einer Zeile Rd des Ziel-Rahmens entsprechen, zu speichern.
  • Die geteilte Gestalt des horizontalen Bewegungsfensters des Interpolationsschrittes wird sich in Abhängigkeit des Rotationswinkels des Ziel-Rahmens und bei niedrigen Winkeln verändern, abhängig davon, ob dieses durch keine Unterbrechungslinien, durch eine Unterbrechungslinie oder durch mehrere Unterbrechungslinien geteilt ist. In einigen beispielhaften Ausführungsformen ist der Rotationswinkel derart limitiert, dass jedes Bewegungsfenster des Interpolationsschrittes durch höchstens eine Unterbrechungslinie geteilt wird (siehe beispielsweise 15).
  • Ein Aspekt der Erfindung sieht einen digitalen Bildstabilisierungsschaltkreis vor, welcher dafür eingerichtet ist, die hierin offenbarten DIS-Verfahren durchzuführen. Der Schaltkreis, welcher eingesetzt wird, um das durch die Trajektorie der Kamera hervorgerufene Zittern von einer Sequenz von Videorahmen herauszufiltern, kann innerhalb einer Kamera enthalten sein, und betätigt werden, um das Zittern vor dem Speichern der aufgenommenen Videorahmen in Echtzeit zu entfernen. Alternativ kann der DIS-Schaltkreis, welcher eingesetzt wird, um die Trajektorie der Kamera zwischen aufeinanderfolgenden Videorahmen zu beurteilen, und um das Zittern von einer gespeicherten Sequenz von Videorahmen herauszufiltern, ein Mehrzweck-Mikrocomputer sein, welcher durch Software gesteuert wird, die ein digitales Bildstabilisierungs-(DIS)-Verfahren verkörpert, oder kann eine bestimmte Hardware, wie ein MEPG-Videoencoder, sein, welcher in einem ASIC (application specific integrated circuit = anwendungsspezifischer integrierter Schaltkreis) verkörpert ist, welcher dafür optimiert ist, ein digitales Bildstabilisierungs-(DIS)-Verfahren durchzuführen.
  • Beispielhafte Ausführungsformen des erfinderischen Konzepts werden nachfolgend mit Bezug auf die beigefügten Abbildungen detaillierter beschrieben. Das erfinderische Konzept kann jedoch in verschiedenen Gestalten ausgeführt sein, und sollte nicht dahingehend ausgelegt werden, dass dieses auf die hierin dargelegten Ausführungsformen beschränkt ist. Diese Ausführungsformen sind vielmehr vorgesehen, so dass diese Offenbarung gründlich und vollständig ist, und den Schutzumfang des erfinderischen Konzepts dem Fachmann vollständig vermitteln wird. Gleicher Nummerierungen beziehen sich durchgängig auf gleiche Elemente.
  • KURZE BESCHREIBUNG DER ABBILDUNGEN
  • Die beigefügten Abbildungen sind enthalten, um für ein besseres Verständnis des erfinderischen Konzepts zu sorgen, und sind in dieser Spezifikation aufgenommen und bilden einen Teil dieser. Die Abbildungen stellen beispielhafte Ausführungsformen des erfinderischen Konzepts dar, und dienen zusammen mit der Beschreibung dazu, die Prinzipien des erfinderischen Konzepts zu erläutern. In den Figuren ist:
  • 1 ein Blockdiagramm eines digitalen Bildstabilisierungs-(DIS)-Schaltkreises, welcher gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts ein DIS-Verfahren durchführt;
  • 2 ein Blockdiagramm der DIS-Kompensationseinheit in dem DIS-Schaltkreis von 1, welche dafür eingerichtet ist, die Kompensationstransformation P(n) auf die aufgenommenen Quell-Rahmen-Bilddaten Dsf anzuwenden, die Daten Ddf der Pixel eines Ziel-Rahmens zu interpolieren und zu rotieren und in Rasterordnung auszugeben;
  • 3 ein Diagramm des aufgenommenen Quell-Rahmens mit einem beispielhaften Ziel-Meta-Rahmen, welcher eine Mehrzahl von diagonal orientierten Meta-Zeilen aufweist, die jeweils eine Teilmenge der Quell-Rahmen-Bilddaten Dsf enthalten und die relative Position eines Ziel-Rahmens, welche durch Interpolieren der Quell-Rahmen-Bilddaten Dsf, die in den Meta-Zeilen des Ziel-Meta-Rahmens enthalten sind, erhalten werden soll, darstellen, gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts;
  • 4 ein Diagramm eines Abschnittes von horizontalen Meta-Zeilen des in 3 gezeigten beispielhaften Ziel-Meta-Rahmens, wie in einem Luma-Y-Meta-Rahmen-Puffer gespeichert, und der Interpolationsfenster von drei beispielhaften Pixeln des Ziel-Rahmens gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts;
  • 5 ein Diagramm, welches vierzehn diagonale, in Stufen ausgerichtete Meta-Zeilen eines beispielhaften Ziel-Meta-Rahmens, und eine Mehrzahl von regelmäßig beabstandeten vertikalen Unterbrechungslinien, die eine Mehrzahl von geteilten/verschobenen/abgestuften Spaltengruppen in einem Ziel-Meta-Rahmen definieren, zeigt;
  • 6 ein Diagramm, welches horizontale Meta-Zeilen zeigt, die in dem Luma-Y-Meta-Rahmen-Puffer gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts gespeichert sind;
  • 7A ein Flussdiagramm eines Verfahrens des sequenziellen horizontalen Anordnens von diagonalen, in Stufen ausgerichteten Meta-Zeilen eines Ziel-Meta-Rahmens in einem Quell-Rahmen-Bild, und des Schreibens der horizontalen Bilddaten Dsf in Zeilen des Meta-Rahmen-Puffers für die Bewegungsfenster-Interpolation der Pixel in Rasterordnung gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts;
  • 7B ein Flussdiagramm eines weiteren Verfahrens des sequenziellen horizontalen Anordnens jeder Gruppe der k + 1 diagonal, stufenweise ausgerichteten Meta-Zeilen eines Ziel-Meta-Rahmens in einem Quell-Rahmen-Bild, und des Schreibens der k + 1 Zeilen der horizontalen Bilddaten in einen (k + 1)-Zeilen-Meta-Rahmen-Puffer für die Bewegungsfenster-Interpolation der Pixel in Rasterordnung gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts;
  • 8 ein Flussdiagramm eines beispielhaften Verfahrens des sequenziellen Interpolierens jedes Pixels jeder Zeile eines Ziel-Rahmens durch Bewegungsfenster-Interpolation von Bilddaten in horizontalen Meta-Zeilen des Ziel-Meta-Rahmens gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts;
  • 9 ein Blockdiagramm einer beispielhaften Implementierung eines Luma-Y-Meta-Rahmen-Puffers, welcher die Ausrichtung der Quell-Rahmen-Daten Dsf und die Startpositionen für die Interpolation darstellt;
  • 10 ein Diagramm, welches die Implementierung eines Luma-Y-Meta-Rahmen-Puffers und Variationen bei den horizontalen Startpositionen der Bewegungsfenster-Interpolation der Meta-Zeilen gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts darstellt;
  • 11 ein Blockdiagramm einer beispielhaften Zeilenpuffer-Implementierung eines Luma-Y-Meta-Rahmen-Puffers, der Variationen der vertikalen Startposition (winyshift) der Bewegungsfenster-Interpolation von Meta-Zeilen gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts darstellt;
  • 12 ein Diagramm eines beispielhaften Modus der Speicherung der Luma Y und Chroma (CB und CR) Quell-Rahmen-Daten mit einem Zeilenpuffer zum Speichern von Bits, welche die Positionen der vertikalen Unterbrechungslinien-Stellen angeben;
  • 13 ein Diagramm, welches die Gestalt eines beispielhaften 4×8 Pixel-Interpolationsfensters darstellt, welches aufgrund Rotation im Uhrzeigersinn des Ziel-Rahmens durch eine vertikale Unterbrechungslinie aufgeteilt ist;
  • 14(a) bis (d) stellen die Gestalt und die vertikalen Positionen von beispielhaften, nicht aufgeteilten 4×8 Pixel-Bewegungsfenstern zum Interpolieren von Pixeln in unterschiedlichen Zeilen eines nicht-rotierten Ziel-Rahmens von Quell-Rahmen-Daten gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts dar;
  • 15(a) bis 15(e) Diagramme, welche die Gestalt und die Positionen von beispielhaften, aufgeteilten 4×8 Pixel-Bewegungsfenstern zum Interpolieren von unterschiedlichen Pixeln eines ersten, im Uhrzeigersinn rotierten Ziel-Rahmens von Quell-Rahmen-Daten gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts darstellen; und
  • 15(f) bis 15(j) Diagramme, welche die Gestalt und die Positionen von beispielhaften, aufgeteilten 4×8 Pixel-Bewegungsfenstern zum Interpolieren von unterschiedlichen Pixeln eines zweiten, entgegen dem Uhrzeigersinn rotierten Ziel-Rahmens von Quell-Rahmen-Daten gemäß einer Ausführungsform des vorliegenden erfinderischen Konzepts darstellen.
  • BESCHREIBUNG VON BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
  • 1 ist ein Blockdiagramm eines digitalen Bildstabilisierungs-(DIS)-Schaltkreises, welcher gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts ein DIS-Verfahren durchführt. Der DIS-Schaltkreis weist eine Erfassungseinheit (DU = Detection Unit), welche empfangene, ruckartige Videodaten Dsf von einem Quell-Rahmen analysiert, und Zwischenrahmen-Transformationen Ti(n) ausgibt, eine Trajektorieneinheit (TU = Trajectory Unit), welche eine ausgewählte Haupt-/Kompensations-Transformation P(n) ausgibt, welche aus dem Zwischenrahmen-Transformationen Ti(n) ausgewählt ist, und eine Kompensationseinheit (CU = Compensation Unit), welche stabilisierte Videodaten Ddf eines Ziel-Rahmens durch Modifizieren des ruckartigen Videos, basierend auf der ausgewählten Haupt-/Kompensations-Transformation P(n), ausgibt, auf.
  • Nachdem die Erfassungseinheit (DU) die Zwischenrahmen-Transformationen Ti(n) bestimmt, wählt die Trajektorieneinheit (TU) eine der Zwischenrahmen-Transformationen Ti(n) als die Haupttransformation P(n) aus. Falls die Haupttransformation P(n) eine rotatorische Bewegungskomponente enthält, rotiert, interpoliert und gibt die Kompensationseinheit (CU) stabilisierte Videodaten Ddf der Pixel des Ziel-Rahmens in Rasterordnung aus (zeilenweise, beginnend bei der obersten Zeile und von links nach rechts innerhalb jeder Zeile).
  • 2 ist ein Blockdiagramm der DIS-Kompensationseinheit 6000 in dem DIS-Schaltkreis von 1, welche dafür eingerichtet ist, die Kompensations-Transformation P(n) auf die aufgenommenen Quell-Rahmen-Bilddaten Dsf anzuwenden, die Daten Ddf des Ziel-Rahmens in Rasterordnung zu interpolieren und auszugeben.
  • Die DIS-Kompensationseinheit 6000 enthält eine erste Transformationsvorrichtung 6220 zum Erzeugen horizontaler Positionsinformationen (z. B. Leseadressen) und zum Berechnen des Unterbrechungslinien-Abstandes, eine DMA(direct memory access = Direktspeicherzugriff)-Steuerung/Read Master 6232, und eine zweite Transformationsvorrichtung 6250 zum Interpolieren (z. B. Rotieren, Verschieben, Skalieren) von Pixeln des Ziel-Rahmens in Rasterordnung. Die Transformationsvorrichtungen können eine der geometrischen Transformationen, wie eine ähnliche Transformation, affine Transformation oder dergleichen sein. Die affine Transformation wird zur Darstellung und Erläuterung der Ausführungsformen des vorliegenden erfinderischen Konzepts ausgewählt, jedoch können andere, wie geometrische Transformationen verwendet werden, ohne von dem Schutzumfang und Grundgedanken der vorliegenden Erfindung abzuweichen.
  • Die parallele Daten-Ausgangs-Schnittstelle 6252 gibt Bilddaten (4:2:2) aus und sieht die Bild-Rahmen-Synchronisationssignale und einen Gegendruck-Abwürg-(Ausgangspuffer)-Mechanismus vor. Die DMA-Steuerung/Read Master 6232 liest ausgewählte Abschnitte der Quell-Rahmen-Daten Dsf, welche in dem Quell-Rahmen-Puffer 6230 gespeichert sind, und schreibt die Quell-Rahmen-Daten Dsf in jeden geeigneten Zeilenpuffer des horizontalen Meta-Rahmen-Puffers 6240. Jede Vorgabe-Quell-Rahmen-Daten-Zugriffsspeicher-Adresse wird durch die erste affine Transformationsvorrichtung 6220 aus der affinen Transformationsgleichung, basierend auf den Koeffizienten der Haupt-Transformation P(n) sx, ry, rx, sy, tx und ty berechnet.
  • Die DIS-Kompensationseinheit 6000 enthält ferner Konfigurations-Register 6210, welche die Koeffizienten der Haupt-Transformation P(n) sx, ry, rx, sy, tx und ty empfangen und speichern, und diese zu jeder der ersten und zweiten affinen Transformationsvorrichtungen 6220 und 6250 weitergeben.
  • Die DMA/Read Master 6232 auf dem AXI-Bus empfängt Anweisungen (Vorgabe-Quell-Rahmen-Daten-Zugriffsspeicher-Adressen) von der ersten affinen Transformationsvorrichtung 6220, basierend auf Bildposition und Rotationsinformationen P(n), welche von dem APB-Bus mittels einer APB-Schnittstelle (I/F) 6212 und von den Konfigurations-Registern 6210 empfangen werden.
  • 3 ist ein Diagramm des aufgenommenen Quell-Rahmens mit einem beispielhaften Ziel-Meta-Rahmen, mit einer Mehrzahl von diagonalen, stufenweise orientierten Meta-Zeilen Xd, die jeweils eine Teilmenge der Quell-Rahmen-Bilddaten Dsf und die relative Position des Ziel-Rahmens, welche durch Interpolieren der Quell-Rahmen-Bilddaten Dsf, die in den Meta-Zeilen Xd des Ziel-Meta-Rahmens enthalten sind, gewonnen werden soll, enthalten, gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts. Eine Mehrzahl (z. B. vier) von benachbarten, diagonalen, stufenweise orientierten Meta-Zeilen Xd enthält die Bilddaten Dsf, welche benötigt werden, um jede Zeile Rd des Ziel-Rahmens zu interpolieren.
  • Vier Eckpunkte des Ziel-Rahmens (0, 0), (0, dst_w), (dst_h, 0) und (dst_h, dst_w) und die affinen Koeffizienten P(n) (sx, sy, rx, ry, tx, ty) werden an die erste affine Transformationsvorrichtung 6220 gesendet, um die entsprechenden Quell-Rahmen-Datenpositionen zu berechnen. Die affinen Skalierungs-Koeffizienten stellen sicher, dass die Quell-Rahmen-Daten zum Interpolieren des Ziel-Rahmens verfügbar sind.
  • Der rechteckige Quell-Rahmen in 3 zeigt das Bestimmen der Start- und Endpositionen jeder unterbrochenen Linie von Pixeln in einer Meta-Zeile Xd, die einer horizontalen Zeile Rd von Pixeln des rechteckigen Ziel-Rahmens (mit punktierten Linien rotiert gezeigt) entsprechen, Quell-Rahmen. Der Satz von horizontalen Positionen X'[1] gibt den Kreuzungspunkt der oberen Unterbrechungslinie in jeder Zeile von Pixeln des ursprünglichen Quell-Rahmens an. Der Satz von horizontalen Positionen Xs[0][n] gibt den „Beginn” jeder Meta-Zeile über die M×N Pixel des Ziel-Meta-Rahmens an den Kreuzungspunkten der linken Unterbrechungslinie in jeder Zeile von Pixeln des ursprünglichen Quell-Rahmens an. Der Satz von horizontalen Positionen Xs[M][n] gibt das „Ende” jeder Meta-Zeile von Pixeln des Ziel-Meta-Rahmens an den Kreuzungspunkten der linken Unterbrechungslinie in jeder Zeile von Pixeln des ursprünglichen Quell-Rahmens an.
  • 4 ist ein Blockdiagramm des Chroma-Meta-Rahmen-Puffers 6241-C, welches einen Abschnitt von sieben horizontalen Meta-Zeilen des in 3 gezeigten beispielhaften Ziel-Meta-Rahmens, welcher in dem Chroma-C-Meta-Rahmen-Puffer 6241-C der DIS-Kompensationseinheit 6000 von 2 gespeichert ist, und die Interpolationsfenster von drei beispielhaften Pixel des Ziel-Rahmens zeigt, wobei zwei der Interpolationsfenster durch eine vertikale Unterbrechungslinie gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts aufgeteilt/verschoben/abgestuft sind.
  • In 4 ist ein Abschnitt von sieben horizontalen Meta-Zeilen des in 3 gezeigten beispielhaften Ziel-Meta-Rahmens gezeigt, welche in sieben Zeilenpuffern LB0 bis LB6 des Chroma-C-Meta-Rahmen-Puffers 6241-C der DIS-Kompensationseinheit 6000 von 2 gespeichert sind. 4 stellt außerdem die Interpolationsfenster von drei beispielhaften Pixeln des Ziel-Rahmens dar, wobei zwei der Interpolationsfenster durch eine vertikale Unterbrechungslinie gemäß einer beispielhaften Ausführungsform des erfinderischen Konzepts aufgeteilt/verschoben/abgestuft sind. Jedes Interpolationsfenster ist durch jede Unterbrechungslinie aufgeteilt/verschoben, welche vertikal durch dieses läuft, oder durch keine Unterbrechungslinie, falls keine Unterbrechungslinie vertikal durch dieses läuft. Das 4×4-Interpolationsfenster, welches Ecken mit durchgezogenen bzw. dicken Linien und strichpunktierte Seitenlinien besitzt, ist nicht durch irgendeine Unterbrechungslinie geteilt, und dieses ist ein intaktes Quadrat. Das 4×4-Interpolationsfenster, welches Ecken mit durchgezogenen Linien und strichpunktierte Seitenlinien besitzt, weist lediglich Daten von der Spaltengruppe scg0 und von lediglich vier Zeilen Rs (x' – 1, x, x' + 1, x' + 2) des Quell-Rahmens auf.
  • Das 4×4-Interpolationsfenster mit gestrichelten Linien ist durch eine Unterbrechungslinie zwischen dessen dritter und vierter Spalte geteilt, und ist daher durch diese Unterbrechungslinie geteilt und verschoben. Daher weist der linke 3×4-Abschnitt des 4×4-Interpolationsfensters mit gestrichelten Linien Daten von der Spaltengruppe scg0 und von der Spaltengruppe scg1 auf. Der rechte Abschnitt 1×4 des Interpolationsfensters weist Daten von der Spaltengruppe scg1 auf, und der linke Abschnitt 3×4 des Interpolationsfenster weist Daten von der Spaltengruppe scg0 auf, welche durch die Unterbrechungslinie begrenzt sind. Während das 4×4-Interpolationsfenster mit gestrichelten Linien Daten von lediglich vier Zeilen Rs (x' – 1, x, x' + 1, x' + 2) des Quell-Rahmens aufweist, überspannt dieses fünf Zeilenpuffer (LB1, LB2, LB3, LB4, LB5), aufgrund der horizontalen Anordnung des 4×4-Interpolationsfensters des Ziel-Meta-Rahmens innerhalb der Zeilenpuffer.
  • Das 4×4-Interpolationsfenster mit strichpunktierten Linien ist durch die gleiche Unterbrechungslinie zwischen dessen ersten und zweiten Spalten geteilt, und ist daher durch diese gleiche Unterbrechungslinie geteilt und verschoben. Daher weist der linke 1×4-Abschnitt des 4×4-Interpolationsfensters mit strichpunktierten Linien Daten von der Spaltengruppe scg0 auf, während der rechte 3×4-Abschnitt des 4×4-Interpolationsfenster Daten von der Spaltengruppe scg1 aufweist, welche durch die Unterbrechungslinie begrenzt sind. Während das 4×4-Interpolationsfenster mit strichpunktierten Linien Daten von lediglich vier Zeilen Rs (x' – 2, x' – 1, x, x' + 1) des Quell-Rahmens aufweist, überspannt dieses fünf Zeilenpuffer (LB0, LB1, LB2, LB3, LB4).
  • 5 ist ein detailliertes Diagramm eines Abschnitts von vierzehn diagonalen, stufenweise orientierten Meta-Zeilen Xd des in 3 gezeigten beispielhaften Ziel-Meta-Rahmens, welche in dem Quell-Rahmen-Puffer 6230 von 2 gespeichert sind, welches eine Mehrzahl von regelmäßig beabstandeten vertikalen Unterbrechungslinien darstellt, die eine Mehrzahl von geteilten/verschobenen/abgestuften Spaltengruppen (scg) in dem Ziel-Meta-Rahmen definieren.
  • Gemäß 3 und 5 ist jede diagonale, stufenweise orientierte Meta-Zeile Xd durch eine Anzahl von vertikalen Unterbrechungslinien aufgeteilt, welche von keiner Unterbrechungslinie im Falle keiner Rotation oder sehr geringfügiger Rotation, bis zu nicht weniger als einer Unterbrechungslinie pro Pixelbreite im Falle einer ±45 Grad-Rotation reicht. Da alle Meta-Zeilen Xd eines gegebenen Ziel-Meta-Rahmens die gleiche horizontale Ausdehnung besitzen, und da die Unterbrechungslinien regelmäßig beabstandet sind (mit der Breite jeder gestuften Säulengruppe, zum Beispiel scg0), werden sämtliche Meta-Zeilen Xd des Ziel-Meta-Rahmens ungefähr die gleiche Anzahl von Unterbrechungslinien, mit einer Variation von ±1 aufgrund horizontaler Verschiebung, Rotationswinkel und der horizontalen Größe des Ziel-Rahmens besitzen. Für kleine Rotationswinkel wird jede Meta-Zeile Xd des Ziel-Meta-Rahmens keine, eine oder zwei Unterbrechungslinien besitzen. Sämtliche Meta-Zeilen, welche eine oder mehrere Unterbrechungslinien umfassen, werden notwendigerweise deren in verschiedene Zeilen Rs des Quell-Rahmens diagonal verteilte Quell-Rahmen-Daten Dsf besitzen (zum Beispiel in den Quell-Rahmen-Zeilen x', x' – 1, x' – 2, x' – 3 usw.).
  • 6 ist ein detailliertes Diagramm eines Abschnittes von neun horizontalen Meta-Zeilen des in 3 gezeigten beispielhaften Ziel-Meta-Rahmens, welche in dem Luma-Y-Meta-Rahmen-Puffer 6241-1-Y (eine beispielhafte Implementierung von 6241-Y der DIS-Kompensationseinheit 6000 von 2 gemäß einer ersten beispielhaften Ausführungsform des erfinderischen Konzepts) gespeichert sind. Das 8-Bit 4:2:2 (eine Ebene, YC-Daten im Interleave-Format)-Datenformat wird durch diese beispielhafte Implementierung mit einem Rotationswinkel von bis zu ±45 Grad in vollem Umfang unterstützt.
  • Gemäß 4 und 6 werden, wenn die Quell-Rahmen-Daten Dsf einer Meta-Zeile Xd des Ziel-Meta-Rahmens in einen Zeilenpuffer kopiert wurden, die Quell-Rahmen-Daten Dsf von zwei oder mehreren unterschiedlichen Zeilen Rs (zum Beispiel von Zeilen x', x' – 1, x' – 2, x' – 3 usw.) des Quell-Rahmens in den Zeilenpuffer kopiert, welcher ausgewählt wird, um die horizontalen Quell-Rahmen-Daten Dsf der einen Meta-Zeile Xd des Ziel-Meta-Rahmens zu speichern.
  • 5 und 6 stellen gemeinsam das Ergebnis eines Verfahrens zum horizontalen Anordnen von diagonalen, stufenweise orientierten Meta-Zeilen dar. In 5 ist lediglich ein Abschnitt der Quell-Rahmen-Bild-Daten Dsf innerhalb vierzehn der Meta-Zeilen Xd des Meta-Rahmens des Ziel-Rahmens gezeigt. Jede der in 5 gezeigten Meta-Zeilen Xd ist durch den gleichen Satz von Unterbrechungslinien (zum Beispiel durch 9 Pixelbreiten voneinander beabstandet) bei Xd[9][], Xd[18][], Xd[27][] aufgeteilt. Daher enthält der Abschnitt von jeder der in 5 gezeigten Meta-Zeilen Xd Quell-Rahmen-Bild-Daten Dsf von vier Zeilen Rs (zum Beispiel x' + 3, x' + 2, x' + 1 und x in der ersten Meta-Zeile) des Quell-Rahmens. Innerhalb des Meta-Rahmens des Ziel-Rahmens ist die Grenze des interpolierten Ziel-Rahmens gezeigt. Sieben der gleichen Meta-Zeilen Xd, welche in 5 diagonal verteilt gezeigt sind, sind in 6 horizontal in sieben Zeilenpuffern LB0, LB1, LB2, LB3, LB4, LB5 und LB6 angeordnet gezeigt. Wie in 6 dargestellt ist, wird das Segment einer gegebenen Meta-Zeile Xd, welche in jedem Spaltengruppen-Segment angeordnet ist (zum Beispiel scg0, scg1 usw.) in den gleichen Zeilenpuffer kopiert. Dies ist der Schritt des horizontalen Anordnens. Beispielsweise weist in 5 die erste Meta-Zeile Xd ein erstes Segment innerhalb scg0 und Zeile x' + 3 des Ziel-Rahmens, und ein zweites Segment innerhalb scg1 und Zeile x' + 2 des Ziel-Rahmens, ein drittes Segment innerhalb scg2 und Zeile x' + 1 des Ziel-Rahmens und ein viertes Segment innerhalb scg3 und Zeile x' des Ziel-Rahmens auf. In 6 sind das erste Segment, das zweite Segment, das dritte Segment und das vierte Segment der ersten Meta-Zeile Xd in dem Ziel-Meta-Rahmen alle gezeigt, wie diese horizontal in den ersten Zeilenpuffer LB0 des Meta-Rahmen-Puffer-Speichers 6241-1-Y kopiert sind. Die DMA-Steuerung/Read Master 6232 von 2 führt diesen selektiven Kopier- und Einfügevorgang nacheinander für jede Meta-Zeile Xd des Ziel-Meta-Rahmens, unter der Steuerung der ersten affinen Transformations-Vorrichtung 6220, durch. Die beispielhafte Implementierung 6241-1-Y des Luma-Y-Meta-Rahmen-Puffers 6241-Y in dem horizontalen Meta-Rahmen-Puffer 6240 in 6 speichert die Luma-Y-Daten des gesamten Meta-Rahmens des Ziel-Rahmens. Daher kann in dieser beispielhaften Implementierung die DMA-Steuerung/Read Master 6232 von 2 die benötigten Quell-Bild-Daten des gesamten Ziel-Meta-Rahmens in den Luma-Meta-Rahmen-Speicher 6241-1-Y von 6 kopieren und einfügen. Bei verschiedenen alternativen Ausführungsformen führt die DMA-Steuerung/Read Master 6232 von 2 einen Kopier- und Einfügevorgang nacheinander für jeden gesamten Spaltengruppenabschnitt des Ziel-Meta-Rahmens durch, schreibt jede Spaltengruppe nacheinander (zum Beispiel scg0, dann scg1 usw.) in die Zeilenpuffer bis sämtliche Meta-Zeilen des Meta-Rahmens horizontal in die Zeilenpuffer gespeichert sind. Bei den alternativen Ausführungsformen der 7B, 9, 10 und 11 führt die DMA-Steuerung/Read Master 6232 von 2 einen Kopier- und Einfügevorgang für sieben Meta-Zeilen des Ziel-Meta-Rahmens in einen Puffer mit sieben Zeilenpuffern LB0 bis LB6, welche zur Interpolation des gesamten Ziel-Rahmens wiederverwendet werden, durch.
  • Gemäß den 2, 3 und 4 liest die DMA-Steuerung 6232, wie hierin nachfolgend vollständig beschrieben wird, die diagonal verteilten Quell-Rahmen-Bild-Daten Dsf in Meta-Zeilen, welche zu Zeilen Rd des Ziel-Rahmens von mehreren Zeilen Rs des Quell-Rahmens gehören, und schreibt dann die Bild-Daten Dsf horizontal in die Luma-(Y)-Zeilenpuffer des Meta-Rahmen-Puffers 6241-Y und in die Chroma-(C)-Zeilenpuffer des Meta-Rahmen-Puffers 6241-C. Nachfolgend liest die zweite affine Transformations-Vorrichtung 6250 Interpolationsfenster (zum Beispiel 4×4 oder 4×8 Pixelbereiche) der horizontalen Luma- und Chroma-Quell-Daten (zum Beispiel im Falle von 4:2:2, 4×8 Pixel der Luma-Y-Daten und 4×4 Pixel der Chroma-C-Daten), welche in den Zeilenpuffern gespeichert werden, um jedes interpolierte Pixel des (rotierten) Ziel-Rahmens zu erzeugen, und die interpolierten Pixel jeder Zeile des (rotierten) Ziel-Rahmens in Rasterordnung auszugeben.
  • Die Vorgabe-Quell-Rahmen-Daten-Zugangsspeicher-Adresse wird unter Verwendung der affinen Transformations-Gleichung und der empfangenen affinen Transformations-Koeffizienten von P(n) berechnet. Lese-DMA-Kanäle greifen auf die Daten des Quell-Rahmen im Puffer 6230 (oder in einem externen DRAM) mittels der AXI-Bus-Master-Schnittstelle mit einer 128-Bit Datenbusbreite zu.
  • 7A ist ein Flussdiagramm eines ersten beispielhaften Verfahrens zum sequenziellen horizontalen Anordnen der Mehrzahl von diagonalen, stufenweise orientierten Meta-Zeilen eines Ziel-Meta-Rahmens in einem Quell-Rahmen-Bild, welches in dem Quell-Rahmen-Puffer 6230 der DIS-Kompensationseinheit 6000 von 2 gespeichert ist. Dieses Verfahren schreibt sämtliche horizontale Bild-Daten Dsf in sämtliche Zeilen des Meta-Rahmen-Puffers 6240 für die Bewegungsfenster-Interpolation der Pixel in Rasterordnung. Dieser Schritt wird durch die affine Transformations-Vorrichtung II 62520 der DIS-Kompensationseinheit 6000 von 2 durchgeführt.
  • In Schritt S6110 werden die affinen Transformations-Koeffizienten einschließlich eines Skalierungsfaktors, basierend auf den Quell-Rahmen-Dimensionen M'×N', eingestellt, um die Ziel-Rahmen-Dimensionen M×N derart einzustellen, dass die gesamten zum Interpolieren der Ziel-Rahmen-Daten Ddf benötigten Quell-Rahmen-Daten Dsf innerhalb des Quell-Rahmen-Bereichs (verfügbar) sind.
  • In Schritt S6112 wird der Schleifenindex derart initialisiert, dass die erste Meta-Zeile Xd = 0 des Ziel-Meta-Rahmens ausgewählt ist. In Schritt S6120-A wird die Start-Adresse der horizontalen und vertikalen Position der aktuellen Meta-Zeile Xd des Ziel-Meta-Rahmens in dem Quell-Bild durch die erste affine Transformations-Vorrichtung 6220 berechnet. In Schritt S6130-A kopiert die DMA-Steuerung 6232 die Quell-Bild-Daten in der ausgewählten Meta-Zeile Xd von dem Quell-Rahmen-Puffer 6230 in einen der Zeilenpuffer des horizontalen Meta-Rahmen-Puffers 6240. In Schritt S6142 wird eine Zeile Rd des Ziel-Bildes für die Interpolation, basierend auf den Meta-Zeilen Xd, welche horizontal in die Zeilenpuffer des horizontalen Meta-Zeilen-Puffers 6240 kopiert wurden, ausgewählt.
  • In Schritt S6150 wird dann, falls und während die gesamten benötigten Quell-Bild-Daten Dsf der Meta-Zeilen Xd, die der ausgewählten Zeile Rd des Ziel-Rahmens entsprechen, in dem horizontalen Meta-Rahmen-Puffer 6240 gespeichert werden, ein Verfahren der Interpolation (Schritt 6230 von 8) aller Pixel der ausgewählten Zeile Rd des Ziel-Rahmens durchgeführt, und die interpolierten Ziel-Rahmen-Daten Ddf der ausgewählten Zeile Rd werden in Rasterordnung ausgegeben.
  • In Schritt dS6180 wird überprüft, ob sämtliche Zeilen Rd des Ziel-Rahmens interpoliert wurden. Falls bei dem Entscheidungsschritt dS6180 nicht sämtliche Zeilen Rd des Ziel-Rahmens interpoliert wurden (NEIN-Zweig von dS6180), wird dann die Meta-Zeilen-Indexzahl erhöht (Schritt S6182-A) und das Verfahren wiederholt beim Start der nächsten Ausführung der Schleife den Schritt S6120-A. Falls beim Entscheidungsschritt dS6180 sämtliche Zeilen Rd des Ziel-Rahmens interpoliert wurden (JA-Zweig von dS6180), ist anschließend das Verfahren des Interpolierens des Ziel-Rahmens des aktuellen Quell-Rahmens abgeschlossen.
  • In der Praxis kann der Schritt des Interpolierens (Schritt S6230 von 8) der Pixel einer ausgewählten Zeile Rd des Ziel-Rahmens unter Verwendung eines ersten Satzes von Zeilenpuffer zur gleichen Zeit durchgeführt werden (paralleler Pfad), zu welcher während Schritt S6130-A Quell-Rahmen-Daten in einen zweiten Satz von Zeilenpuffern kopiert werden, und die interpolierten Ziel-Rahmen-Daten Ddf der ausgewählten Zeile Rd werden in Rasterordnung ausgegeben. Daher kann bei den Parallel-Pfad-Implementierungen des Verfahrens der Schritt (S6230 von 8) des Interpolierens der Zeilen Rd des Ziel-Rahmens in der Schleife einfach parallel hinter dem Vorgang des Meta-Zeilen-Kopier-Schrittes S6130-A fortschreiten. Diese beispielhafte Ausführungsform kann durch Vorsehen eines großen horizontalen Meta-Rahmen-Puffers 6240 implementiert werden, in welchen die gesamten Quell-Rahmen-Daten Dsf kopiert und gespeichert werden, die benötigt werden, um den gesamten Ziel-Rahmen zu interpolieren. Bei verschiedenen anderen beispielhaften Implementierungen kann die Anzahl an Zeilenpuffern in dem horizontalen Meta-Rahmen-Puffer 6240 durch Wiederverwenden der Zeilenpuffer, um die Quell-Rahmen-Daten Dsf von verschiedenen Meta-Zeilen des Ziel-Rahmens zu unterschiedlichen Zeitpunkten zu speichern, reduziert werden. Falls beispielsweise das Interpolationsfenster gleich 4×8 ist, und der gewünschte maximale Rotationswinkel gleich ±45 Grad ist, werden dann bis zu 11 mit horizontalen Quell-Rahmen-Daten gefüllte Zeilenpuffer benötigt, um die Pixel einer Zeile Rd des Ziel-Rahmens zu interpolieren. Daher ist ein horizontaler Meta-Rahmen-Puffer 6240, welcher im Wesentlichen aus 11 Zeilenpuffern besteht, minimal ausreichend, um die gesamten Pixel aller Zeilen Rd des Ziel-Rahmens in Rasterordnung mit einem Rotationswinkel von bis zu ±45 Grad 4×8 zu interpolieren. Das Vorsehen von weniger als 11 Zeilenpuffern reduziert den Rotationswinkel, welcher 4×8 interpoliert werden kann, wirksam. Andererseits ermöglicht das Vorsehen von mehr als 11 Zeilenpuffern eine Ring-Wiederverwendung der Zeilenpuffer für die 4×8-Interpolation einer Sequenz von Zeilen Rd, zum Beispiel basierend auf Abbilden einer horizontalen Unterbrechungslinie, welche mehrere Interpolationsfenster aufteilt.
  • 7B ist ein Flussdiagramm eines zweiten beispielhaften Verfahrens des sequenziellen, horizontalen Anordnens jeder Gruppe von k + 1 diagonalen, stufenweise orientierten Meta-Zeilen Xd eines Ziel-Meta-Rahmens in dem Quell-Rahmen-Bild, welche in dem Quell-Rahmen-Puffer 6230 der DIS-Kompensationseinheit 6000 von 2 gespeichert sind. Dieses Verfahren schreibt k + 1 Zeilen von horizontalen Bild-Daten Dsf von k + 1 Zeilen des Ziel-Meta-Rahmens in die (k + 1) Zeilenpuffer des Meta-Rahmen-Puffers 6241-2-Y. Die horizontalen Bild-Daten Dsf in den (k + 1) Zeilenpuffern des Meta-Rahmen-Puffers 6241-2-Y werden nachfolgend für die Bewegungsfenster-Interpolation der Pixel in einer oder mehreren Zeilen Rd des Ziel-Rahmens in Rasterordnung durch die affine Transformations-Vorrichtung II 6250 der DIS-Kompensationseinheit 6000 von 2 verwendet. Nachdem die gesamten horizontalen Bild-Daten Dsf in den (k + 1) Zeilenpuffern für die Interpolationen verwendet wurden, springt dieses Verfahren zurück, und schreibt die nächsten k Zeilen von horizontalen Bild-Daten Dsf von k-Zeilen des Ziel-Meta-Rahmens in die (k + 1) Zeilenpuffer des Meta-Rahmen-Puffers 6241-2-Y.
  • In Schritt S6110 werden die affinen Transformations-Koeffizienten, einschließlich eines Skalierungsfaktors, basierend auf den Quell-Rahmen-Dimensionen M'×N' eingestellt, um die Ziel-Rahmen-Dimensionen M×N derart einzustellen, dass die gesamten zur Interpolation der Ziel-Rahmen-Daten Ddf benötigten Quell-Rahmen-Daten Dsf innerhalb des Quell-Rahmen-Bereichs (verfügbar) sind.
  • In Schritt S6112 wird der Schleifenindex derart initialisiert, dass die erste Meta-Zeile Xd = 0 des Ziel-Meta-Rahmens ausgewählt ist, und die Anzahl von Zeilenpuffern (k + 1), welche in dem horizontalen Meta-Rahmen-Puffer 6240 verwendet werden, wird bestimmt.
  • In Schritt S6120-B wird die Start-Adresse der horizontalen und vertikalen Positions-Quell-Rahmen-Daten Dsf der ausgewählten Meta-Zeilen Xd bis Xd+k des Ziel-Meta-Rahmens in dem Quell-Bild durch die erste affine Transformations-Vorrichtung 6220 berechnet. In Schritt S6130-B kopiert die DMA-Steuerung 6232 Quell-Rahmen-Daten Dsf der ausgewählten Meta-Zeilen Xd bis Xd+k des Ziel-Meta-Rahmens von dem Quell-Rahmen-Puffer 6230 horizontal in k + 1 Zeilenpuffer des horizontalen Meta-Rahmen-Puffers 6240.
  • In Schritt S6140 werden alle möglichen Ziel-Rahmen-Pixelinterpolationen, basierend auf den Quell-Rahmen-Daten Dsf der Meta-Zeilen Xd bis Xd+k, welche in den k + 1 Zeilenpuffern des horizontalen Meta-Rahmen-Puffers 6240 gespeichert sind, durchgeführt.
  • In dem Unterschritt S6142 wird eine Zeile Rd des Ziel-Bildes für die Interpolation, basierend auf den Meta-Zeilen Xd bis Xd+k, welche horizontal in die Zeilenpuffer des horizontalen Meta-Zeilen-Puffers 6240 kopiert wurden, ausgewählt (durch Einstellen eines Ziel-Zeilen-Index).
  • In dem Unterschritt sS6150 wurden die benötigten Quell-Bild-Daten Dsf der Meta-Zeilen Xd, die der ausgewählten Zeile Rd des Ziel-Rahmens entsprechen, in dem horizontalen Meta-Rahmen-Puffer 6240 gespeichert, und ein Verfahren des Interpolierens (Schritt S6230 von 8) aller Pixel der ausgewählten Zeile Rd des Ziel-Rahmens wird durchgeführt, und die interpolierten Ziel-Rahmen-Daten Ddf der ausgewählten Zeile Rd werden in Rasterordnung ausgegeben.
  • Bei dem Entscheidungsschritt dS6180 wird überprüft, ob alle Zeilen Rd des Ziel-Rahmens, welche von den horizontal in die Zeilenpuffer des horizontalen Meta-Rahmen-Puffers 6240 kopierten Meta-Zeilen Xd bis Xd+k interpoliert werden können, interpoliert wurden. Falls bei dem Entscheidungsschritt dS6150 alle interpolierbaren Zeilen Rd des Ziel-Rahmens nicht interpoliert wurden (NEIN-Zweig von dS6150), wird dann die Meta-Zeilen-Indexzahl erhöht, und das Verfahren wiederholt beim Start der nächsten Ausführung der Schleife den Schritt S6120-A. Daher wird im Unterschritt sS6146 der Index der Ziel-Rahmen-Zeile Rd erhöht, und der Unterschritt sS6150 wird für die nächste Ziel-Rahmen-Zeile Rd+1 wiederholt.
  • Falls bei dem Entscheidungsschritt dS6180 alle interpolierbaren Zeilen Rd des Ziel-Rahmens interpoliert wurden (JA-Zweig von dS6150), ist dann das Interpolieren der Zeilen Rd, welche interpoliert werden können, basierend auf den Meta-Zeilen Xd, welche horizontal in die Zeilenpuffer des horizontalen Meta-Rahmen-Puffers 6240 kopiert wurden, abgeschlossen.
  • Bei dem Entscheidungsschritt dS6180 wird überprüft, ob alle Zeilen Rd des Ziel-Rahmens interpoliert wurden. Falls bei dem Entscheidungsschritt dS6180 nicht alle Zeilen Rd des Ziel-Rahmens interpoliert wurden (NEIN-Zweig von dS6180), wird dann die Meta-Zeilen-Indexzahl erhöht (zum Beispiel durch k – 1 in Schritt S6182-B), und das Verfahren wiederholt beim Start der nächsten Ausführung der Schleife Schritt S6120-B. Falls bei dem Entscheidungsschritt dS6180 alle Zeilen Rd des Ziel-Rahmens interpoliert wurden (JA-Zweig von dS6180), ist dann das Verfahren des Interpolierens des Ziel-Rahmens des aktuellen Quell-Rahmens abgeschlossen.
  • Der Schritt des Interpolierens (Schritt S6230 von 8) von Pixeln einer ausgewählten Zeile Rd des Ziel-Rahmens wird unter Verwendung der horizontalen Bild-Daten Dsf, welche in den k + 1 Zeilenpuffern gespeichert sind, durchgeführt. In Abhängigkeit des Rotationswinkels kann die Interpolation von zusätzlichen Zeilen Rd des Ziel-Rahmens unter Verwendung der horizontalen Bild-Daten, welche in den k + 1 Zeilenpuffern gespeichert sind, durchgeführt werden. Beispielsweise können, falls k gleich 11 ist (12 Zeilenpuffer), dann zwei Zeilen Rd des Ziel-Rahmens mit einem Rotationswinkel von ±45 Grad 4×8 interpoliert werden. In gleicher Weise können, falls k gleich 11 ist (12 Zeilenpuffer), dann fünf Zeilen Rd des Ziel-Rahmens mit einem Rotationswinkel von ±45 Grad 4×4 interpoliert werden.
  • Bei solch beispielhaften Implementierungen wird die Anzahl von Zeilenpuffern in dem horizontalen Meta-Rahmen-Puffer 6240 durch Wiederverwenden von Zeilenpuffern, um die Quell-Rahmen-Daten Dsf von verschiedenen Meta-Zeilen des Ziel-Rahmens zu unterschiedlichen Zeitpunkten zu speichern, reduziert. Beispielsweise werden, falls das Interpolationsfenster gleich 4×8 Pixel ist und der gewünschte maximale Rotationswinkel gleich ±45 Grad ist, dann 11 Zeilenpuffer für die Interpolation der Pixel einer Zeile Rd des Ziel-Rahmens benötigt, welche mit horizontalen Quell-Rahmen-Daten Dsf gefüllt sind. Daher ist ein horizontaler Meta-Rahmen-Puffer 6240, welcher im Wesentlichen aus 11 Zeilenpuffern besteht, minimal ausreichend, um alle Pixel aller Zeilen Rd des Ziel-Rahmens in Rasterordnung mit einem Rotationswinkel von bis zu ±45 Grad 4×8 zu interpolieren. Das Vorsehen von weniger als 11 Zeilenpuffern reduziert den maximalen Rotationswinkel, welcher 4×8 interpoliert werden kann, wirkungsvoll. Andererseits ermöglicht das Vorsehen von mehr als 11 Zeilenpuffern eine Ring-Wiederverwendung der Zeilenpuffer für die 4×8 Interpolation einer Sequenz von Zeilen Rd (zum Beispiel basierend auf Abbilden einer horizontalen Unterbrechungslinie, welche einige Interpolationsfenster aufteilt).
  • 8 ist ein Flussdiagramm eines beispielhaften Verfahrens des sequenziellen Interpolierens jedes Pixels jeder Zeile Rd eines Ziel-Rahmens durch eine Bewegungsfenster-Interpolation von Bild-Daten Dsf in horizontalen Meta-Zeilen des Ziel-Meta-Rahmens, welcher in dem Meta-Rahmen-Puffer 6240 von 2 gespeichert ist.
  • Bei dem Entscheidungsschritt dS6210 wird ermittelt, ob genügend horizontale Quell-Rahmen-Daten Dsf in dem horizontalen Meta-Rahmen-Puffer 6240 (hineinkopiert wurden) für die Interpolation der aktuell ausgewählten Ziel-Rahmen-Zeile Rd zum Fortschreiten verfügbar sind. Falls genügend horizontale Quell-Rahmen-Daten Dsf verfügbar sind (JA-Zweig des Entscheidungsschrittes dS6210), beginnt dann die Interpolation der aktuell ausgewählten Zeile Rd des Ziel-Rahmens mit dem Identifizieren der vertikalen Position und der horizontalen Position der benötigten Quell-Rahmen-Daten Dsf, welche in den Zeilenpuffern des horizontalen Meta-Rahmen-Puffers 6240 angeordnet sind. Eine vertikale Startposition für die Interpolation der aktuellen Zeile Rd hängt von dem Rotationswinkel ab, und wird in Schritt S6220 berechnet. In gleicher Weise hängt eine horizontale Startposition für die Interpolation des ersten Pixels (erste Spalte Cd = 0) in der aktuellen Zeile Rd des Ziel-Rahmens von dem Rotationswinkel ab, und wird ebenso in Schritt S6220 berechnet.
  • In Schritt S6230 wird ein Verfahren der Interpolation aller Pixel der aktuell ausgewählten Zeile Rd des Ziel-Rahmens durchgeführt und die interpolierten Ziel-Rahmen-Daten Ddf der ausgewählten Zeile Rd werden in Rasterordnung ausgegeben. Im Unterschritt sS6232 wird das Pixel bei Spalte Cd und Zeile Rd des Ziel-Rahmens von den horizontalen Bild-Daten Dsf, welche in den Zeilenpuffern gespeichert sind, interpoliert (zum Beispiel unter Verwendung eines 4×4-Pixel- oder 4×8-Pixel-Interpolationsfensters). Bei dem Entscheidungsschritt dS6234 wird ermittelt, ob das Pixel in der letzten Spalte (Cd = M) der aktuell ausgewählten Zeile Rd des Ziel-Rahmens interpoliert wurde.
  • Falls das letzte Pixel (Cd = M) der aktuell ausgewählten Zeile Rd nicht interpoliert wurde (NEIN-Zweig des Entscheidungsschrittes dS6234), wird dann der Spaltenindex erhöht (Cd = Cd+1), und der Interpolations-Unterschritt sS6232 wird bei dem nächsten Pixel in der aktuell ausgewählten Zeile Rd des Ziel-Rahmens wiederholt. Falls das letzte Pixel (Cd = M) der aktuell ausgewählten Zeile Rd interpoliert wurde (JA-Zweig des Entscheidungsschrittes dS6234), wird dann der Entscheidungsschritt dS6250 nachfolgend durchgeführt, um zu ermitteln, ob die letzte Zeile (Rd = N) des Ziel-Rahmens interpoliert wurde.
  • Falls die letzte Zeile (Rd = N) des Ziel-Rahmens nicht interpoliert wurde (JA-Zweig des Entscheidungsschrittes dS6234), wird dann der Zeilen-Index erhöht (Rd = Rd+1) und die Ausführung des Entscheidungsschrittes dS6210 wird für die nächste Zeile Rd des Ziel-Rahmens wiederholt. Falls die letzte Zeile (Rd = N) des Ziel-Rahmens interpoliert wurde (JA-Zweig des Entscheidungsschrittes dS6234), wurde dann der Ziel-Rahmen vollständig interpoliert und alle Ziel-Rahmen-Daten Ddf wurden in Rasterordnung ausgegeben.
  • 9 ist eine Speicher-Abbildung einer beispielhaften Implementierung 6241-2-Y des Luma-Y-Meta-Rahmen-Puffers 6241-Y in dem horizontalen Meta-Rahmen-Puffer 6240 in 2, welche die Quell-Rahmen-Daten Dsf-Ausrichtung und Startpositionen für die Interpolation darstellt. Ein 7-Zeilen-Puffer 6241-Y ist bei dieser beispielhaften Implementierung vorgesehen, um die Schritte des Verfahrens von 8B durchzuführen. Ein einzelner Anschluss SRAM kann jeden Zeilenpuffer (LB0 bis LB6) verwendet werden. Sieben Zeilenpuffer können gleichzeitig während des Prozesses des Interpolierens der Ziel-Rahmen-Zeile Rd gelesen werden, währenddessen einer oder mehrere zusätzliche Zeilenpuffer (nicht gezeigt) mit den Quell-Rahmen-Daten Dsf, welche für die Interpolation der nächsten Ziel-Rahmen-Zeile Rd+1 benötigt werden, beschrieben werden können. Ein 4×8/4×4-Fensterbereich der Quell-Rahmen-Daten Dsf wird für den Interpolationsvorgang jedes Pixels des Ziel-Rahmens benötigt. Aufgrund der Rotations-Charakteristik können die benötigten Quell-Rahmen-Daten Dsf, welche benötigt werden, um eine Ziel-Rahmen-Zeile Rd zu interpolieren, mehr als 4 Zeilenpuffer umfassen, welche die Quell-Rahmen-Daten enthalten (siehe Diagramme der 4×4-Pixel-Interpolations-Fenster in 4 und siehe Diagramme der 4×8-Pixel-Interpolations-Bereiche in den 13 und 14). Daher sind mehrere (zum Beispiel sieben) Zeilenpuffer vorgesehen, um den Interpolations-Fenster-Vorgang zu unterstützen. Das 8-Bit 4:2:2 (eine Ebene, YC-Daten im Interleave-Format) Datenformat wird durch eine beispielhafte Implementierung bis zu einem Rotationswinkel von 22,5 Grad unterstützt, was ein ausreichender Winkelbereich für die DIS-Kompensation sein kann. Bei alternativen Ausführungsformen ist ein 11-Zeilenpuffer 6241-Y vorgesehen und ein 7-Zeilenpuffer 6241-C vorgesehen, um einen Rotationswinkel von bis zu ±45 Grad zu unterstützen, im Falle einer 4:2:2-Chroma-Unterabtastung.
  • Die DMA-Steuerung 6232 liest die Quell-Rahmen-Daten Dsf und schreibt diese dann in die sieben Luma-Y-Zeilenpuffer 6241-Y (siehe 6241-2-Y) und in die sieben Chroma-(C)-Zeilenpuffer 6241-C. Nachfolgend liest die zweite affine Transformations-Vorrichtung 6250 einen 4×8-Pixel-Fensterbereich der Quell-Rahmen-Luma-Y-Daten (und im Falle der 4:2:2-Chroma-Unterabtastung ein 4×4-Pixel-Fensterbereich der Quell-Rahmen-Chroma-Daten des Quell-Rahmens) von den Zeilenpuffern, um jedes Pixel des interpolierten (zum Beispiel rotierten) Ziel-Rahmens zu erzeugen, und die Pixel des rotierten Bildes (Ziel-Rahmen) in Rasterordnung auszugeben.
  • Gemäß 2 können entsprechend der beispielhaften Implementierung 6241-2-Y von 9 sechzehn 1152×17 innere SRAMs (8 für den Luma-Y-Puffer 6241-Y und 8 für den Chroma-C-Puffer 6241-C) als Zeilenpuffer des Meta-Rahmen-Puffers 6240 verwendet werden, um die geeigneten Interpolations-Fensterdaten vorzusehen, um bis zur HD-Auflösung (1920×1080) des Ziel-Ausgangs-Bildes mit einem Rotationswinkel von bis zu ±22,5 Grad zu unterstützen. Eine größere horizontale Größe des Bildes kann durch Erhöhen der horizontalen Zeilenpuffer-Dimension unterstützt werden.
  • Beim Durchführen des Verfahrens von 8B erzeugt die erste affine Transformations-Vorrichtung 6220 horizontale Positionsinformationen (zum Beispiel Leseadressen), um die Steuerung für direkten Speicherzugriff (DMA)/Read Master 6232 zu steuern, um die ersten sieben Zeilenpuffer des Luma-Y-Meta-Rahmen-Puffers 6241-2-Y zu füllen. Die horizontale Positionsinformation enthält ferner Unterbrechungslinien-Positionsinformationen (zum Beispiel ein Bit), welche zu der zweiten affinen Transformations-Vorrichtung 6250 zum Gebrauch während des Interpolierens (Rotieren, Skalieren) der Pixel des Ziel-Rahmens in Rasterordnung übertragen wird. Die horizontale Positionsinformation enthält ferner horizontale Startpositionsinformationen (zum Beispiel HstartLB0–5), basierend auf der Position des linken Endes jeder Meta-Zeile Xd des Ziel-Meta-Rahmens, da diese in den entsprechenden Zeilenpuffer (zum Beispiel LB0–LB5) kopiert ist. Beispielsweise kann das linke Ende jeder der Meta-Zeilen Xd des Ziel-Meta-Rahmens, welche horizontal in den Zeilenpuffern LB0 bis LB5 gespeichert sind, acht Pixel von dem linken Ende von deren entsprechendem Zeilenpuffer aus LB0 bis LB5 positioniert sein. Die rechtswinklig gekennzeichneten, dicken, dunklen Linien in 9 bilden einen 6×15-Pixelbereich des Ziel-Meta-Rahmens, welcher horizontal in den Zeilenpuffern LB0 bis LB5 gespeichert ist, ab, welcher bei einer horizontalen Startposition (zum Beispiel HstartLB0–5), acht Pixel von dem linken Ende der Zeilenpuffer LB0 bis LB5 positioniert ist. Die in dem Zeilenpuffer LB6 gespeicherten Bild-Daten der Meta-Zeile Xd sind nicht mit den Bild-Daten der Meta-Zeilen Xd, welche in den Zeilenpuffern LB0 bis LB5 gespeichert sind, ausgerichtet. Daher starten die in dem Zeilenpuffer LB6 gespeicherten Bild-Daten der Meta-Zeile Xd bei einer unterschiedlichen horizontalen Zeilenpuffer-Speicheradresse.
  • Jede Vorgabe-Quell-Rahmen-Daten-Zugangsspeicher-Adresse wird durch die affine Transformations-Gleichung, basierend auf affinen Koeffizienten der Haupt-Transformation P(n), welche durch den APB-Bus empfangen werden, berechnet. Lese-DMA-Kanäle greifen auf den Quell-Rahmen-Puffer 6230 (oder einen externen DRAM) mittels der AXI-Bus-Master-Schnittstelle zu, welche eine 128-Bit-Datenbusbreite sein kann. Die DMA/Read Master 6232 auf dem AXI-Bus empfängt Anweisungen (Vorgabe-Quell-Rahmen-Daten-Zugriffsspeicher-Adressen) von der ersten affinen Transformations-Vorrichtung 6220 basierend auf Bildposition und Rotationsinformationen P(n), welche von dem APB-Bus mittels einer APB-I/F 6212 und einem oder mehreren Konfigurations-Registern 6210 empfangen werden.
  • Die erste affine Transformations-Vorrichtung 6220 identifiziert die Positionen in dem Quell-Rahmen-Puffer 6230 der Quell-Rahmen-Daten Dsf, welche benötigt werden, um die ersten sieben Zeilenpuffer LB0 bis LB6 des 6241-2-Y in 9 zu füllen, basierend auf affinen Parametern sx, sy, rx, ry, tx und ty, um die entsprechenden physikalischen Speicherpositionen zu erzeugen. Vier in 3 benannte Ecken des Ziel-Rahmens (0, 0), (0, dst_w), (dst_h, 0) und (dst_h, dst_w) und affine Parameter (sx, sy, rx, ry, tx, ty) werden durch die erste affine Transformations-Vorrichtung 6220 verwendet, um die zugehörigen Quell-Rahmen-Daten-Positionen (Adressen) zu berechnen. Aufgrund der Verteilung der Unterbrechungslinien kann jede Meta-Zeile Xd von benötigten Quell-Rahmen-Daten mehrere horizontale Startpositionen aufweisen, welche basierend auf der Position des ersten Pixels jeder Meta-Zeile bei den Ziel-Meta-Rahmen-Koordinaten Xd[0][y] berechnet werden, wobei y ein Index der Meta-Zeilen ist und bei 0 beginnt und bis zu der letzten vertikalen Position [N] des Ziel-Meta-Rahmens ansteigt.
  • Die erste affine Transformations-Vorrichtung 6241 berechnet die Unterbrechungslinien-Positions-Informationen aus den affinen (Rotations) Gleichungen:
    Figure 00320001
  • Worin: Yd = C (Konstante); Xd[m] aus Xd[0] = Xdi (Min.); Xd[m] = Xde. (ganze Zahl); Xd[m + 1] = Xd[m] + 1; sämtliche Xs[m][C] und Ys[m][C] sind auf ganzzahlige Positionen gerundet. X'[I] wird auf Xs[m][C] eingestellt, lediglich wenn Ys[m][C] ≠ Ys[m – 1][C].
  • Auf alle benötigten Quell-Rahmen-Daten wird von der Start-Horizontal-Position (Xs[0][n]) bis zu der End-Horizontal-Position (Xs[M][n]) zugegriffen, wobei Yd aus 0 bis M (maximale Größe des Ziel-Rahmens) und Tx ein horizontaler Versatz ist (3). Für jede Quell-Vertikalpositions-Berechnung mit der affinen Transformation kann die Ziel-Vertikalposition mehr als eine Quell-Rahmen-Zeile voranschreiten. In diesem Fall stellt die DMA-Steuerung 6232 die Quell-Vertikalposition auf die (n)-te Zeile zwischen der vorhergehenden (n – 1)-ten Zeile und der aktuellen (n + 1)-ten Zeile ein, und stellt dann die (n + 1)-te Zeile als die nächste Quell-Rahmen-Daten-Vertikal-Start-Zugangsposition ein.
  • Die DMA-Steuerung 6232 liest die benötigten Quell-Rahmen-Daten Dsf Meta-Zeile für Meta-Zeile unter Verwendung des Satzes von Unterbrechungslinien-Informationen (Quell-Rahmen-Vertikal-Linien-Positionen), welche basierend auf den Ziel-Meta-Rahmen-Horizontalkoordinaten Xd[x][0] berechnet wurden, wobei x ein Index einer Spaltenposition von Pixeln in den Meta-Zeilen ist und bei 0 beginnt und bis zu dem letzten horizontalen Pixel [M] der Zeile des Ziel-Rahmens ansteigt. Jede durch die DMA-Steuerung 6232 gelesene Meta-Zeile wird in einen Zeilenpuffer des Luma-Y-Meta-Rahmen-Puffers 6242-2-Y von 9 kopiert. Da die Horizontalpositionen der Unterbrechungslinien in dem Quell-Rahmen ebenso vertikal in allen Zeilenpuffern ausgerichtet werden, werden die Unterbrechungslinien-Informationen ebenso gespeichert (als eine Bit-Datei, wie in 12 gezeigt ist) und dazu verwendet, um die Interpolations-Fenstergestalt während des Interpolationsverfahrens, welches durch die zweite affine Transformations-Vorrichtung 6250 durchgeführt wird, zu definieren. X'[I] gibt die veränderte vertikale Position an (Zunahme oder Abnahme hängt von der Rotationsrichtung ab). Während die DMA-Steuerung 6232 auf die benötigten Quell-Rahmen-Daten in dem Zeilenpuffer, welche mit der horizontalen Zeile des Ziel-Rahmens ausgerichtet sind, zugreift und speichert, wird während der Quell-Rahmen-Lesebearbeitung die nachfolgende Positions-(Adress-)-Information gespeichert und der zweiten affinen Transformations-Vorrichtung 6250 verfügbar gemacht:
    Horizontale Startposition;
    Vertikale Startposition;
    AXI-Lese-Transaktions-Start- und Endposition.
  • Die bevorzugte Datenbusbreite des AXI-Datenbusses in der aktuellen beispielhaften Implementierung ist 128 Bit (RDATA = WDATA = 128 Bit). Daher stellt jede AXI-Lese-Anforderungs-Transaktion die Unterbrechungslinien-Positionsinformation, welche ebenso gespeichert werden soll, dar, nicht nur damit die zweite Interpolationsvorrichtung 6250 weiß, die passenden Gestalt-Interpolations-Fenster-Daten auszuwählen, sondern auch um die redundanten Daten zu verwerfen, falls die Start- oder Endposition der AXI-Lese-Daten nicht 128-Bit ausgerichtet ist. Vorzugsweise startet jede gültige Anforderungs-Quell-Rahmen-Datei innerhalb einer AXI-Lese-Transaktion von der geraden Pixelposition der Luma-Y-Daten, um zu vermeiden, nicht übereinstimmende Chroma-Cb-, Cr-Daten an der gleichen horizontalen Position zwischen der Unterbrechungslinien-Position während der Interpolation zu erhalten.
  • Die erforderlichen Kriterien der AXI-Lese-Transaktion hängen von den nachfolgenden Bedingungen ab:
    die affine Transformation trifft die Unterbrechungslinien-Bedingung und der Pixelabstand von der letzten Unterbrechungslinien-Position, mit Ausnahme der ersten Anforderung jeder Linie, ist größer als 7 Pixel;
    ausgerichtete Unterbrechungsposition bezüglich der vorhergehenden Linie; und
    der fortlaufende, benötigte Quell-Rahmen-Daten-Zähler hat während dem Vorgang der beiden vorstehenden Bedingungen die maximale AXI-Ausbruch-Transaktionslänge erreicht.
  • 10 ist ein Speicherabbild der beispielhaften Implementierung 6241-2-Y von 9, welches Variationen der horizontalen Startposition der Bewegungsfenster-Interpolation von in dem Meta-Rahmen-Zeilenpuffer 6241-2-Y gespeicherten Meta-Zeilen darstellt, um die Schritte des Verfahrens von 8B durchzuführen.
  • Beim Durchführen des Verfahrens von 8B erzeugt die erste affine Transformations-Vorrichtung 6220 horizontale Positionsinformationen (z. B. Leseadressen), um die Steuerung für direkten Speicherzugriff (DMA)/Read Master 6232 zu steuern, um die ersten sieben Zeilenpuffer LB0–LB6 des Luma-Y-Meta-Rahmen-Puffers 6241-2-Y zu füllen. Die horizontale Positionsinformation enthält horizontale Startpositions-Information (z. B. HstartLB0–5) basierend auf der Position des linken Endes jeder Meta-Zeile Xd des Ziel-Meta-Rahmens, da diese in deren entsprechenden Zeilenpuffer kopiert ist (zum Beispiel LB0–LB5). Beispielsweise ist das linke Ende jeder der Meta-Zeilen Xd des Ziel-Meta-Rahmens, welche horizontal in den Zeilenpuffern LB0 bis LB5 gespeichert sind, sechzehn Pixel (HstartLB0–5 = 16) von dem linken Ende von deren entsprechenden Zeilenpuffer aus LB0 bis LB5 positioniert. Dabei ist das linke Ende der Meta-Zeile Xd des Ziel-Meta-Rahmens, welche horizontal in dem Zeilenpuffer LB6 gespeichert ist, acht Pixel (HstartLB6 = 8) von dem linken Ende von deren entsprechenden Zeilenpuffer LB6 positioniert. Die in den Zeilenpuffern LB0 bis LB5 gespeicherten Bild-Daten wurden vorher eingeholt. Der horizontale Adresszeiger ist für die Zeilenpuffer LB0 bis LB5 gleich acht, und der horizontale Adresszeiger für den Zeilenpuffer LB6 ist gleich null, diese zeigen jedoch auf die gleiche horizontale Position der Quell-Bild-Daten. Daher starten die Bild-Daten der Meta-Zeile Xd, welche in dem Zeilenpuffer LB6 gespeichert ist, bei einer unterschiedlichen horizontalen Zeilenpuffer-Speicheradresse.
  • 11 ist ein Diagramm der beispielhaften Zeilenpuffer-Implementierung 6241-2-Y von 9, welches Variationen der vertikalen Startposition winyshift der Bewegungsfenster-Interpolation von Meta-Zeilen, welche in dem Meta-Rahmen-Zeilenpuffer 6241-2-Y gespeichert sind, darstellt. Es gibt interne 2-Bit Signale in einer bevorzugten Implementierung der DIS-Kompensationseinheit 6000 von 2 in dem DIS-Schaltkreis von 1, welche das Verfahren von 8B zum Angeben der vertikalen Position der Interpolation während der Bewegungsfenster-Interpolations-Bearbeitung jeder Zeile Rd des Ziel-Rahmens durchführt. Die Mitte der Zeilenpuffer-Position des Interpolationsfensters (x', y') verändert sich in Abhängigkeit des Unterbrechungslinien-Indikators. Tabelle 1 zeigt die Bedeutung der internen 2-Bit Signale. Tabelle 1 Zeilenpuffer-Vertikal-Fensterbereich-Auswahl-Befehl (winyshift)
    WINYSHIFT[1:0]
    00 Mitte der Zeilenpuffer-Position ist gleich der Bearbeitungs-Position
    01 Mitte der Zeilenpuffer-Position ist größer als eine Bearbeitungs-Position
    10 Mitte der Zeilenpuffer-Position ist kleiner als eine Bearbeitungs-Position
    11 Mitte der Zeilenpuffer-Position ist kleiner als zwei Bearbeitungs-Position
  • Wie durch die Pfeil-begrenzten Linien in 11 gezeigt ist, entsprechen unterschiedliche Sätze von Zeilenpuffern LB0 bis LB6 den vier unterschiedlichen winyshift-Befehlen.
  • Es gibt drei Typen von Zeilenpuffer-Vertikalrichtungs-Aktionen, um die nächste Mittellinien-Position anzugeben. Falls die aktuelle Mittellinie gleich n ist,
    1. Erhöhung Voranschreiten zu der nächsten vertikalen Quell-Rahmen-Linie (n + 1)
    2. Wiederholen der Linie Verbleiben auf der gleichen vertikalen Quell-Rahmen-Linie (n)
    3. Überspringen der Linie Voranschreiten um zwei vertikale Quell-Rahmen-Linien (n + 2)
    Tabelle 2 charakterisiert die Aktionen, welche die vertikale Richtungsbewegung der Interpolations-Fenster-Mitte in den Zeilenpuffern betrifft:
    Aktion Bedingung
    Wiederholen der Linie Immer wenn der oberste Zeilenpuffer verwendet
    wurde und mit Sicherheit nicht erneut verwendet
    wird
    Überspringen der Linie Immer wenn winyshift = 2'b11
    Erhöhung Sonstiges als die beiden vorstehenden Bedingungen
  • 12 ist ein Diagramm eines beispielhaften Modus des Speicherns von Luma-Y und Chroma-(CB und CR)-Quell-Rahmen-Daten, welche in dem Meta-Rahmen-Zeilenpuffer 6240 von 2 gespeichert sind, mit einem Zeilenpuffer zum Speichern von Bits, welche die Positionen der vertikalen Unterbrechungslinien-Positionen angeben. Die Quell-Bild-Daten (Luma-Y-Daten und Chroma-Cb, -Cr-Daten) und die Unterbrechungslinien-Informations-Bits sind in dem in 12 gezeigten Zeilenpuffer gespeichert. Die Bits, welche die Positionen der vertikalen Unterbrechungslinien-Positionen angeben, weisen ein Bit pro Horizontalposition auf, welche das Vorhandensein oder Nichtvorhandensein einer Unterbrechungslinie angeben.
  • 13 ist ein Diagramm, welches die Gestalt eines beispielhaften 4-8-Pixel-Interpolationsfensters darstellt, welches durch eine vertikale Unterbrechungslinie in dem horizontalen Meta-Rahmen-Puffer 6240 in 2 geteilt ist (aufgrund Rotation des Ziel-Rahmens relativ zu dem Quell-Rahmen im Uhrzeigersinn). Der Kreis kennzeichnet die mathematische Mitte des 4-8-Pixel-Interpolationsfensters vor dem horizontalen Anordnen, und die angenäherte Position des Pixels des Ziel-Rahmens, welches davon interpoliert werden soll.
  • 14(a) bis 14(d) sind Diagramme, welche die gleichmäßig rechteckige Gestalt und die vertikalen Positionen von beispielhaften nichtgeteilten 4-8-Pixel-Interpolationsfensters zum Interpolieren von Pixeln in verschiedenen Zeilen Rd eines Ziel-Rahmens darstellen. Die 14(a) bis 14(d) stellen unterschiedliche Werte der vertikalen Startposition winyshift der Bewegungsfenster-Interpolation von in einem horizontalen 7-Zeilen-Meta-Rahmen-Zeilenpuffer gespeicherten Meta-Zeilen dar. Die Ziel-Rahmen-Pixel werden von den Quell-Rahmen-Daten Dsf, welche in vier horizontalen Meta-Zeilen des Ziel-Meta-Rahmens enthalten sind, welche in vier Zeilenpuffern im horizontalen Meta-Rahmen-Puffer 6240 in 2 gespeichert sind, interpoliert. Der Wert jeder vertikalen Startposition winyshift ist ebenso angegeben.
  • Die 15(a) bis 15(e) sind Diagramme, welche die Gestalt und Positionen von beispielhaften geteilten 4-8-Pixel-Bewegungsfenstern zum Interpolieren von unterschiedlichen Pixeln eines ersten, im Uhrzeigersinn rotierten Ziel-Rahmens von Quell-Rahmen-Daten Dsf, welche in horizontalen Meta-Zeilen des Ziel-Meta-Rahmens, welche in dem horizontalen Meta-Rahmen-Puffer 6240 in 2 gespeichert sind, enthalten sind, darstellen. Die 15(a) bis 15(e) sind Diagramme, welche die Gestalt eines beispielhaften 4-8-Pixel-Interpolationsfensters darstellen, welches aufgrund einer Rotation im Uhrzeigersinn des Ziel-Rahmens, relativ zu dem Quell-Rahmen, durch eine vertikale Unterbrechungslinie in dem horizontalen Meta-Rahmen-Puffer 6240 in 2 aufgeteilt ist. Der Wert jeder vertikalen Startposition winyshift ist ebenso angegeben.
  • Die 15(f) bis 15(j) sind Diagramme, welche die Gestalt und Positionen von beispielhaften aufgeteilten 4-8-Pixel-Bewegungsfenstern zum Interpolieren von unterschiedlichen Pixeln eines zweiten, im Uhrzeigersinn rotierten Ziel-Rahmens von Quell-Rahmen-Daten Dsf, welche in horizontalen Meta-Zeilen des Ziel-Meta-Rahmens enthalten sind, welche in dem horizontalen Meta-Rahmen-Puffer 6240 in 2 gespeichert sind, darstellen. Die 15(f) bis 15(j) sind Diagramme, welche die Gestalt eines beispielhaftes 4-8-Pixel-Interpolationsfenster darstellen, welches aufgrund einer Rotation im Uhrzeigersinn des Ziel-Rahmens, relativ zu dem Quell-Rahmen, durch eine vertikale Unterbrechungslinie in dem horizontalen Meta-Rahmen-Puffer 6240 in 2 aufgeteilt ist.
  • In jeder der 14(a) bis 14(d) und den 15(a) bis 15(j) gibt es höchstens eine Unterbrechungslinie in jedem 4×8-Interpolations-Fensterbereich. Diese Beschränkung als eine Gestaltungs-Auswahlmöglichkeit reduziert die Implementierungs-Komplexität, da lediglich eine Unterbrechungslinie innerhalb eines 4×8-Interpolations-Fensterbereichs auftritt, reduziert jedoch den Bereich der Rotationswinkel, welche interpoliert werden können. Die korrekten Quell-Rahmen-Daten sollten basierend auf den Unterbrechungslinien-Markierungspunkten gesammelt werden. Jede Zeile von Interpolations-Quell-Rahmen-Daten sollte von der gleichen Quell-Rahmen-Zeile stammen. Die zweite affine Transformationsvorrichtung ermittelt die Interpolations-Fensterposition (Gestalt) durch Vergleichen der Ausgangs-Koordinaten-Information mit der Koordinaten-Information, welche durch die erste affine Transformationsvorrichtung berechnet wurde und in einigen inneren FIFOs und Zeilenpuffern gespeichert ist.
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung reduzieren den Aufwand des Quell-Rahmen-Daten-Zugriffs und Erzeugen den Rasterordnungs-Abtastungs-Typ der Ausgangs-Ziel-Rahmen-Daten. Die Raster-Abtastungs-Ordnung der Ausgangs-Ziel-Rahmen-Daten wird durch die Neuausrichtungs-Anordnung von diagonal verteilten Quell-Rahmen-Daten in mehrere Zeilenpuffer erleichtert.
  • Die Nutzung der Ausführungsformen des vorliegenden erfinderischen Konzepts reduziert den Aufwand, da die gleichen Quell-Rahmen-Daten im Vergleich zu überlappendem Lesen der Quell-Rahmen-Daten bei dem Kachel-Verfahren lediglich einmal gelesen werden, und erzeugt außerdem die Rasterordnungs-Ziel-Rahmen-Daten-Ausgangssequenz nahtlos, ohne weiteren Berechnungs- oder Speicheraufwand.
  • Der vorstehend offenbarte Gegenstand soll als erklärend und nicht als beschränkend angesehen werden, und die beigefügten Ansprüche sind vorgesehen, um alle derartigen Modifikationen, Erweiterungen und andere Ausführungsformen, die in den wahren Erfindungsgedanken und Schutzumfang des erfinderischen Konzepts fallen, abzudecken. Somit soll der Schutzbereich des erfinderischen Konzepts bis zu einem durch das Gesetz erlaubten Ausmaß durch die breitest zulässige Interpretation der nachfolgenden Ansprüche und deren Äquivalente bestimmt werden, und soll durch die vorangehende detaillierte Beschreibung nicht beschränkt oder eingegrenzt werden.

Claims (21)

  1. Bildverarbeitungsschaltung, mit: einer ersten affinen Transformationsvorrichtung (6220), welche konfiguriert ist zum Erzeugen eines Satzes von horizontalen Positionsdaten, welche den Beginn jeder Meta-Zeile von Pixeln in einem Quell-Rahmen angeben, und Pixeln in Zeilen eines Ziel-Rahmens entsprechen; einer Speicherzugriff-Steuerung (6232), welche basierend auf den horizontalen Positionsdaten gesteuert wird, um jede Meta-Zeile von Pixeln von dem Ziel-Rahmen zu lesen, und um jede Meta-Zeile von Pixeln horizontalisiert in einen von einer Mehrzahl von Zeilenpuffern (LB0–LB6) zu schreiben; und einer zweiten affinen Transformationsvorrichtung (6250), welche dafür eingerichtet ist, jedes Pixel in jeder Zeile der Pixel des Ziel-Rahmens von einer Mehrzahl der horizontalisierten Meta-Zeilen von Pixeln des Quell-Rahmens, welche in der Mehrzahl von Zeilenpuffern gespeichert sind, in Rasterordnung zu interpolieren und auszugeben.
  2. Schaltung nach Anspruch 1, wobei der Ziel-Rahmen während der Interpolation der Pixel des Ziel-Rahmens gemäß einem empfangenen Satz von affinen Transformations-Koeffizienten rotiert wird.
  3. Schaltung nach Anspruch 1, wobei die erste affine Transformationsvorrichtung (6220) den Satz von horizontalen Positionsdaten erzeugt, die den Beginn jeder Meta-Zeile von Pixeln in dem Quell-Rahmen angeben, basierend auf einem empfangenen Satz von affinen Transformations-Koeffizienten, und basierend auf Positions- und Dimensionsinformationen über den Ziel-Rahmen, mit Bezug auf den Quell-Rahmen.
  4. Schaltung nach Anspruch 1, wobei die Mehrzahl von Zeilenpuffern (LB0–LB6) wenigstens fünf Zeilenpuffer aufweist.
  5. Schaltung nach Anspruch 4, wobei die Mehrzahl von Zeilenpuffern (LB0–LB6) wenigstens sieben Zeilenpuffer aufweist.
  6. Schaltung nach Anspruch 5, wobei die Mehrzahl von Zeilenpuffern (LB0–LB6) wenigstens elf Zeilenpuffer aufweist.
  7. Schaltung nach Anspruch 6, wobei die zweite affine Transformationsvorrichtung (6250) jedes Pixel in jeder Zeile der Pixel des Ziel-Rahmens unter Verwendung eines 4×8-Pixel-Interpolationsfensters, welches jeden der elf Zeilenpuffer umfasst, in Rasterordnung interpoliert und ausgibt.
  8. Verfahren zum Interpolieren eines Ziel-Rahmens von den Pixeln in einer Mehrzahl von Zeilen eines Quell-Rahmens gemäß affinen Transformations-Koordinaten einschließlich Rotation, aufweisend: Kopieren der gesamten Quell-Rahmen-Daten (Dsf), die basierend auf den affinen Transformations-Koordinaten den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, horizontal in eine Mehrzahl von Zeilenpuffern (LB0–LB6); und Interpolieren jedes Pixels der ersten Zeile des Ziel-Rahmens von den in der Mehrzahl von Zeilenpuffern (LB0–LB6) gespeicherten Quell-Rahmen-Daten (Dsf) und Ausgeben der interpolierten Pixel der ersten Zeile des Ziel-Rahmens in Rasterordnung.
  9. Verfahren nach Anspruch 8, wobei die Mehrzahl von Zeilenpuffern (LB0–LB6) wenigstens fünf Zeilenpuffer aufweist.
  10. Verfahren nach Anspruch 9, wobei die Mehrzahl von Zeilenpuffern (LB0–LB6) wenigstens elf Zeilenpuffer aufweist.
  11. Verfahren nach Anspruch 8, ferner aufweisend: Kopieren der gesamten Quell-Rahmen-Daten (Dsf), die basierend auf den affinen Transformations-Koordinaten den Pixeln der zweiten Zeile des Ziel-Rahmens entsprechen, horizontalisiert in die Mehrzahl von Zeilenpuffern; und Interpolieren jedes Pixels der zweiten Zeile des Ziel-Rahmens von den in der Mehrzahl von Zeilenpuffern gespeicherten Quell-Rahmen-Daten (Dsf) und Ausgeben der interpolierten Pixel der zweiten Zeile des Ziel-Rahmens in Rasterordnung.
  12. Verfahren nach Anspruch 11, wobei die Schritte des Kopierens der gesamten Quell-Rahmen-Daten (Dsf), die den Pixeln der ersten und zweiten Zeile des Ziel-Rahmens entsprechen, abgeschlossen werden vor dem Beginn der Schritte des Interpolierens jedes Pixels der ersten und zweiten Zeile des Ziel-Rahmens von den in der Mehrzahl von Zeilenpuffern gespeicherten Quell-Rahmen-Daten (Dsf).
  13. Verfahren nach Anspruch 11, ferner aufweisend: Kopieren der gesamten Quell-Rahmen-Daten (Dsf), die basierend auf den affinen Transformations-Koordinaten den Pixeln der dritten und vierten Zeilen des Ziel-Rahmens entsprechen, horizontalisiert in die Mehrzahl von Zeilenpuffer; und Interpolieren jedes Pixels der dritten und vierten Zeilen des Ziel-Rahmens von den in der Mehrzahl von Zeilenpuffern gespeicherten Quell-Rahmen-Daten (Dsf) und Ausgeben der interpolierten Pixel der dritten und vierten Zeilen des Ziel-Rahmens in Rasterordnung.
  14. Verfahren nach Anspruch 13, wobei die Schritte des Kopierens der gesamten Quell-Rahmen-Daten (Dsf), die den Pixeln der ersten, zweiten, dritten und vierten Zeilen des Ziel-Rahmens entsprechen, abgeschlossen werden vor dem Beginn der Schritte des Interpolierens jedes Pixels der ersten, zweiten, dritten und vierten Zeilen des Ziel-Rahmens von den in der Mehrzahl von Zeilenpuffern gespeicherten Quell-Rahmen-Daten (Dsf).
  15. Verfahren nach Anspruch 11, wobei der Schritt des Kopierens der gesamten Quell-Rahmen-Daten (Dsf), die den Pixeln der zweiten Zeile des Ziel-Rahmens entsprechen, durchgeführt wird während der Schritt des Interpolierens jedes Pixels der ersten Zeile des Ziel-Rahmens durchgeführt wird.
  16. Verfahren nach Anspruch 15, wobei der Schritt des Kopierens der gesamten Quell-Rahmen-Daten (Dsf), die den Pixeln der zweiten Zeile des Ziel-Rahmens entsprechen, abgeschlossen wird vor dem Abschluss des Schrittes des Interpolierens jedes Pixels der ersten Zeile des Ziel-Rahmens.
  17. Bildverarbeitungsschaltung, mit: einer Bildverarbeitungseinheit, welche derart konfiguriert ist, dass sie ein Verfahren des Rotierens eines Ziel-Rahmenabschnitts eines Quell-Rahmens durchzuführt, wobei das Verfahren aufweist: Kopieren der Quell-Rahmen-Daten (Dsf), die einem Ziel-Rahmenabschnitt entsprechen, horizontalisiert in mehrere Zeilenpuffer (LB0–LB6), basierend auf einem Satz von horizontalen Unterbrechungslinien-Positionsinformationen, basierend auf affinen Transformations-Koeffizienten, während die Ausrichtung der Quell-Rahmen-Daten (Dsf) innerhalb der mehreren Zeilenpuffer (LB0–LB6) zum Interpolieren der Pixel des Ziel-Rahmens unter Verwendung eines Bewegungsfenster-Interpolationsverfahrens aufrechterhalten wird.
  18. Verfahren nach Anspruch 17, wobei der Schritt des Kopierens der gesamten Quell-Rahmen-Daten (Dsf) das Anordnen der Quell-Rahmen-Daten (Dsf) in mehrere Zeilenpuffer (LB0–LB6), basierend auf lediglich einem Satz von horizontalen Daten-Ausrichtungs-Informationen zum Gebrauch mit jeder Zeile der Quell-Rahmen-Daten (Dsf), enthält.
  19. Bildverarbeitungsschaltung, mit: einer ersten Transformationsvorrichtung (6220), welche konfiguriert ist zum Erzeugen eines Satzes von horizontalen Positionen, welche den Beginn und das Ende jeder Meta-Zeile von Pixeln in einem rotierten Ziel-Rahmenabschnitt eines ursprünglichen Bild-Rahmens angeben; einer Steuerung (6232) für direkten Speicherzugriff, welche konfiguriert ist zum Lesen jeder Meta-Zeile von Pixeln in einem Ziel-Rahmenabschnitt, und zum Schreiben jeder Zeile in einen von einer Mehrzahl von Zeilenpuffern (LB0–LB6); und einer zweiten Transformationsvorrichtung (6250), welche konfiguriert ist zum Interpolieren jedes Pixel des rotierten Ziel-Rahmens und zum Ausgeben der Pixel in Rasterordnung.
  20. Verfahren zum Rotieren eines Ziel-Rahmenabschnitts eines Quell-Rahmens gemäß affinen Transformations-Koeffizienten, aufweisend: Kopieren der Bilddaten von Pixeln eines Quell-Rahmens in einer ersten Meta-Zeile, die den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, in einen ersten Zeilenpuffer (LB0), basierend auf den affinen Transformations-Koeffizienten; Kopieren der Bilddaten von Pixeln des Quell-Rahmens in einer zweiten Meta-Zeile, die den Pixeln der ersten Zeile des Ziel-Rahmens entsprechen, in einen zweiten Zeilenpuffer (LB1), basierend auf den affinen Transformations-Koeffizienten; und Interpolieren jedes Pixels der ersten Zeile des Ziel-Rahmens der Reihe nach, basierend auf den Bilddaten, welche in den ersten und zweiten Zeilenpuffern (LB0, LB1) gespeichert sind, und Ausgeben der interpolierten Pixel der ersten Zeile des Ziel-Rahmens in Rasterordnung.
  21. Verfahren nach Anspruch 20, ferner aufweisend: Kopieren der Bilddaten von Pixeln des Quell-Rahmens in einer dritten Meta-Zeile, die den Pixeln der dritten Zeile des Ziel-Rahmens entsprechen, in einen dritten Zeilenpuffer (LB2), basierend auf den affinen Transformations-Koeffizienten; Kopieren der Bilddaten von Pixeln des Quell-Rahmens in einer vierten Meta-Zeile, die den Pixeln der vierten Zeile des Ziel-Rahmens entsprechen, in einen vierten Zeilenpuffer (LB3), basierend auf den affinen Transformations-Koeffizienten; und Interpolieren jedes Pixels der ersten Zeile des Ziel-Rahmens der Reihe nach, basierend auf den Bilddaten, welche in den ersten, zweiten, dritten und vierten Zeilenpuffern (LB0–LB3) gespeichert sind, und Ausgeben der interpolierten Pixel der ersten Reihe des Ziel-Rahmens in Rasterordnung.
DE102011056970A 2010-12-23 2011-12-23 Rasterausgabe von rotierten, interpolierten Pixeln, die für digitale Bildstabilisierung optimiert ist Withdrawn DE102011056970A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201061426975P 2010-12-23 2010-12-23
US201061426970P 2010-12-23 2010-12-23
US61/426,970 2010-12-23
US61/426,975 2010-12-23

Publications (1)

Publication Number Publication Date
DE102011056970A1 true DE102011056970A1 (de) 2012-06-28

Family

ID=46316237

Family Applications (6)

Application Number Title Priority Date Filing Date
DE102011056975A Pending DE102011056975A1 (de) 2010-12-23 2011-12-23 Digitale Bildstabilisierung
DE102011056982A Pending DE102011056982A1 (de) 2010-12-23 2011-12-23 Digitales Bildstabilisierungsverfahren mit adaptiver Filterung
DE102011056983A Pending DE102011056983A1 (de) 2010-12-23 2011-12-23 Globales Aktivierungsverfahren für Bildverarbeitungskette
DE102011056972A Withdrawn DE102011056972A1 (de) 2010-12-23 2011-12-23 Vorrichtung und Verfahren zur digitalen Bildstabilisierung
DE102011056970A Withdrawn DE102011056970A1 (de) 2010-12-23 2011-12-23 Rasterausgabe von rotierten, interpolierten Pixeln, die für digitale Bildstabilisierung optimiert ist
DE102011056977A Withdrawn DE102011056977A1 (de) 2010-12-23 2011-12-23 Vorrichtung und Verfahren zur digitalen Bildstabilisierung

Family Applications Before (4)

Application Number Title Priority Date Filing Date
DE102011056975A Pending DE102011056975A1 (de) 2010-12-23 2011-12-23 Digitale Bildstabilisierung
DE102011056982A Pending DE102011056982A1 (de) 2010-12-23 2011-12-23 Digitales Bildstabilisierungsverfahren mit adaptiver Filterung
DE102011056983A Pending DE102011056983A1 (de) 2010-12-23 2011-12-23 Globales Aktivierungsverfahren für Bildverarbeitungskette
DE102011056972A Withdrawn DE102011056972A1 (de) 2010-12-23 2011-12-23 Vorrichtung und Verfahren zur digitalen Bildstabilisierung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE102011056977A Withdrawn DE102011056977A1 (de) 2010-12-23 2011-12-23 Vorrichtung und Verfahren zur digitalen Bildstabilisierung

Country Status (5)

Country Link
US (7) US20120162449A1 (de)
JP (7) JP5855445B2 (de)
KR (7) KR101830804B1 (de)
CN (5) CN102572278B (de)
DE (6) DE102011056975A1 (de)

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896715B2 (en) * 2010-02-11 2014-11-25 Microsoft Corporation Generic platform video image stabilization
US20120162449A1 (en) * 2010-12-23 2012-06-28 Matthias Braun Digital image stabilization device and method
US8384787B2 (en) * 2011-02-24 2013-02-26 Eastman Kodak Company Method for providing a stabilized video sequence
US8724854B2 (en) * 2011-04-08 2014-05-13 Adobe Systems Incorporated Methods and apparatus for robust video stabilization
JP2012234258A (ja) * 2011-04-28 2012-11-29 Sony Corp 画像処理装置と画像処理方法およびプログラム
CN102789642B (zh) * 2011-05-16 2017-08-25 索尼公司 消失方向确定方法和装置、摄像机自标定方法和装置
GB2492529B (en) * 2011-05-31 2018-01-10 Skype Video stabilisation
US20130050560A1 (en) * 2011-08-23 2013-02-28 Bae Systems Information And Electronic Systems Integration Inc. Electronic selection of a field of view from a larger field of regard
GB201116566D0 (en) 2011-09-26 2011-11-09 Skype Ltd Video stabilisation
GB2497507B (en) 2011-10-14 2014-10-22 Skype Received video stabilisation
US8810666B2 (en) * 2012-01-16 2014-08-19 Google Inc. Methods and systems for processing a video for stabilization using dynamic crop
JP2013187726A (ja) * 2012-03-08 2013-09-19 Casio Comput Co Ltd 画像解析装置、画像処理装置、画像解析方法及びプログラム
KR101939628B1 (ko) * 2012-05-30 2019-01-17 삼성전자주식회사 모션 검출 방법 및 모션 검출기
US8957973B2 (en) 2012-06-11 2015-02-17 Omnivision Technologies, Inc. Shutter release using secondary camera
US8928730B2 (en) * 2012-07-03 2015-01-06 DigitalOptics Corporation Europe Limited Method and system for correcting a distorted input image
US9242602B2 (en) 2012-08-27 2016-01-26 Fotonation Limited Rearview imaging systems for vehicle
JP6007682B2 (ja) * 2012-08-31 2016-10-12 富士通株式会社 画像処理装置、画像処理方法及びプログラム
US9912847B1 (en) 2012-09-25 2018-03-06 Amazon Technologies, Inc. Image capture guidance to reduce specular reflection effects
KR101640527B1 (ko) * 2012-10-09 2016-07-18 에스케이 텔레콤주식회사 단일객체의 크기를 추정하는 영상 감시장치 및 방법
KR101618814B1 (ko) 2012-10-09 2016-05-09 에스케이텔레콤 주식회사 단일객체에 대한 기울기를 추정하는 영상을 감시하는 장치 및 방법
IN2015DN03877A (de) * 2012-11-12 2015-10-02 Behavioral Recognition Sys Inc
JP6091172B2 (ja) * 2012-11-15 2017-03-08 オリンパス株式会社 特徴点検出装置およびプログラム
CN103837170B (zh) * 2012-11-28 2016-08-10 常州大学 频率输出类传感器自动频率补偿电路及方法
KR101783990B1 (ko) 2012-12-21 2017-10-10 한화테크윈 주식회사 디지털 영상 처리 장치 및 영상의 대표 움직임 예측 방법
US9244694B2 (en) * 2012-12-27 2016-01-26 Intel Corporation Executing a command within a transport mechanism based on a get and set architecture
US9235260B2 (en) 2012-12-27 2016-01-12 Intel Corporation Camera command set host command translation
JP5988879B2 (ja) * 2013-01-09 2016-09-07 オリンパス株式会社 特徴点検出装置およびプログラム
US9712818B2 (en) * 2013-01-11 2017-07-18 Sony Corporation Method for stabilizing a first sequence of digital image frames and image stabilization unit
US9177245B2 (en) 2013-02-08 2015-11-03 Qualcomm Technologies Inc. Spiking network apparatus and method with bimodal spike-timing dependent plasticity
KR102121558B1 (ko) * 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
US9307148B1 (en) * 2013-05-15 2016-04-05 Amazon Technologies, Inc. Video enhancement techniques
US9445061B2 (en) * 2013-07-08 2016-09-13 Semiconductor Components Industries, Llc Image sensors with pixel array sub-sampling capabilities
KR102069269B1 (ko) * 2014-01-21 2020-01-22 한화테크윈 주식회사 영상 안정화 장치 및 방법
US10136063B2 (en) 2013-07-12 2018-11-20 Hanwha Aerospace Co., Ltd Image stabilizing method and apparatus
US20150022677A1 (en) * 2013-07-16 2015-01-22 Qualcomm Incorporated System and method for efficient post-processing video stabilization with camera path linearization
JP5822411B2 (ja) * 2013-08-12 2015-11-24 株式会社アポロジャパン 画像情報のコード変換装置、画像情報のコード変換方法、画像コードを用いた画像関連情報提供システム、画像情報のコード変換プログラム、及びそのプログラムを記録した記録媒体
JP6230345B2 (ja) * 2013-09-06 2017-11-15 キヤノン株式会社 画像処理方法、画像処理装置、及びプログラム
JP6206804B2 (ja) * 2013-09-27 2017-10-04 パナソニックIpマネジメント株式会社 移動体追跡装置、移動体追跡システムおよび移動体追跡方法
US10051274B2 (en) * 2013-10-25 2018-08-14 Canon Kabushiki Kaisha Image processing apparatus, method of calculating information according to motion of frame, and storage medium
KR20150049535A (ko) * 2013-10-30 2015-05-08 삼성전자주식회사 전자장치 및 그 이용방법
JP6147172B2 (ja) * 2013-11-20 2017-06-14 キヤノン株式会社 撮像装置、画像処理装置、画像処理方法、及びプログラム
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
CN103841296B (zh) * 2013-12-24 2017-01-18 哈尔滨工业大学 一种具有大范围旋转及平移运动估计的实时电子稳像方法
CN103731658B (zh) * 2013-12-25 2015-09-30 深圳市墨克瑞光电子研究院 双目摄像机复位方法和双目摄像机复位装置
US11080865B2 (en) * 2014-01-02 2021-08-03 Hanwha Techwin Co., Ltd. Heatmap providing apparatus and method
KR102150705B1 (ko) 2014-01-22 2020-09-01 한화테크윈 주식회사 영상 처리 장치 및 방법
JP6305806B2 (ja) * 2014-03-28 2018-04-04 日本コントロールシステム株式会社 情報処理装置、情報処理方法、およびプログラム
US9939253B2 (en) 2014-05-22 2018-04-10 Brain Corporation Apparatus and methods for distance estimation using multiple image sensors
US9713982B2 (en) 2014-05-22 2017-07-25 Brain Corporation Apparatus and methods for robotic operation using video imagery
US10194163B2 (en) * 2014-05-22 2019-01-29 Brain Corporation Apparatus and methods for real time estimation of differential motion in live video
GB2521491B (en) * 2014-06-17 2016-10-19 Imagination Tech Ltd Motion estimation
CN104077099B (zh) * 2014-06-18 2017-09-29 浙江德景电子科技有限公司 一种智能终端平台支持更高分辨率的方法
US9848112B2 (en) 2014-07-01 2017-12-19 Brain Corporation Optical detection apparatus and methods
US10057593B2 (en) 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9386234B2 (en) 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
JP6395506B2 (ja) * 2014-08-22 2018-09-26 キヤノン株式会社 画像処理装置および方法、プログラム、並びに撮像装置
CN104243819B (zh) * 2014-08-29 2018-02-23 小米科技有限责任公司 照片获取方法及装置
JP6234349B2 (ja) * 2014-09-16 2017-11-22 株式会社東芝 移動体位置推定装置、移動体位置推定方法及び移動体位置推定プログラム
US10032280B2 (en) 2014-09-19 2018-07-24 Brain Corporation Apparatus and methods for tracking salient features
EP3195590A4 (de) * 2014-09-19 2018-04-25 Intel Corporation Trajektorieplanung zur videostabilisierung
DE102014220423A1 (de) * 2014-10-08 2016-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Erzeugen eines Videoausgangsdatenstroms, Videoquelle, Videosystem und Verfahren zum Erzeugen eines Videoausgangsdatenstroms bzw. eines Videoquellendatenstroms
KR102281184B1 (ko) * 2014-11-20 2021-07-23 삼성전자주식회사 영상 보정 방법 및 장치
US9626733B2 (en) * 2014-11-24 2017-04-18 Industrial Technology Research Institute Data-processing apparatus and operation method thereof
EP3034000A1 (de) * 2014-12-16 2016-06-22 Agfa Healthcare Bewegungskorrekturverfahren in Doppelenergieradiografie
US10284794B1 (en) 2015-01-07 2019-05-07 Car360 Inc. Three-dimensional stabilized 360-degree composite image capture
US9998663B1 (en) 2015-01-07 2018-06-12 Car360 Inc. Surround image capture and processing
US10163000B2 (en) * 2015-01-14 2018-12-25 Samsung Electronics Co., Ltd. Method and apparatus for determining type of movement of object in video
US10013735B2 (en) * 2015-01-28 2018-07-03 Qualcomm Incorporated Graphics processing unit with bayer mapping
KR102305118B1 (ko) 2015-02-11 2021-09-27 삼성전자주식회사 이미지 안정화 방법 및 그 전자 장치
JP2016164709A (ja) * 2015-03-06 2016-09-08 キヤノン株式会社 画像処理装置、撮像装置および画像処理プログラム
US9336582B1 (en) 2015-04-17 2016-05-10 Google Inc. Convolutional color correction
US9794540B2 (en) * 2015-04-17 2017-10-17 Google Inc. Hardware-based convolutional color correction in digital images
US9736366B1 (en) 2015-05-23 2017-08-15 Google Inc. Tile-based digital image correspondence
US9342873B1 (en) * 2015-05-23 2016-05-17 Google Inc. Tile-based optical flow
CN106294905B (zh) * 2015-06-01 2021-07-06 鸿富锦精密电子(郑州)有限公司 印刷电路板布线系统及方法
JP6579807B2 (ja) * 2015-06-08 2019-09-25 キヤノン株式会社 撮像制御装置、撮像装置および撮像制御プログラム
US10197664B2 (en) 2015-07-20 2019-02-05 Brain Corporation Apparatus and methods for detection of objects using broadband signals
KR102368625B1 (ko) 2015-07-23 2022-03-02 삼성전자주식회사 디지털 촬영 장치 및 그 방법
KR102457617B1 (ko) * 2015-09-16 2022-10-21 한화테크윈 주식회사 영상 움직임 추정 방법 및 장치, 영상 안정화 방법 및 장치, 및 컴퓨터 기록매체
JP6332212B2 (ja) * 2015-09-18 2018-05-30 カシオ計算機株式会社 姿勢推定装置、姿勢推定方法及びプログラム
JP6602141B2 (ja) * 2015-10-05 2019-11-06 キヤノン株式会社 画像処理装置および方法
JP6431245B1 (ja) 2015-11-05 2018-11-28 グーグル エルエルシー エッジ認識双方向画像処理
CN105491023B (zh) * 2015-11-24 2020-10-27 国网智能电网研究院 一种面向电力物联网的数据隔离交换和安全过滤方法
CN105681663B (zh) * 2016-02-26 2018-06-22 北京理工大学 一种基于帧间运动几何平滑性的视频抖动检测方法
US9756248B1 (en) 2016-03-02 2017-09-05 Conduent Business Services, Llc Methods and systems for camera drift correction
US9984305B2 (en) 2016-04-19 2018-05-29 Texas Instruments Incorporated Efficient SIMD implementation of 3x3 non maxima suppression of sparse 2D image feature points
US9756249B1 (en) * 2016-04-27 2017-09-05 Gopro, Inc. Electronic image stabilization frequency estimator
CN109561816B (zh) * 2016-07-19 2021-11-12 奥林巴斯株式会社 图像处理装置、内窥镜系统、信息存储装置和图像处理方法
US20180070089A1 (en) * 2016-09-08 2018-03-08 Qualcomm Incorporated Systems and methods for digital image stabilization
US20180150703A1 (en) * 2016-11-29 2018-05-31 Autoequips Tech Co., Ltd. Vehicle image processing method and system thereof
US10600290B2 (en) * 2016-12-14 2020-03-24 Immersion Corporation Automatic haptic generation based on visual odometry
CN107063228B (zh) * 2016-12-21 2020-09-04 上海交通大学 基于双目视觉的目标姿态解算方法
CA2964966C (en) * 2017-02-24 2018-04-10 Piotr KUCHNIO Video stabilization system and method
US10255891B2 (en) * 2017-04-12 2019-04-09 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with multiple LSR processing engines
US10430983B2 (en) * 2017-06-05 2019-10-01 Microsoft Technology Licensing, Llc Vertex pixel buffer
US10764499B2 (en) 2017-06-16 2020-09-01 Microsoft Technology Licensing, Llc Motion blur detection
US10289791B1 (en) * 2017-06-23 2019-05-14 Cadence Design Systems, Inc. Anchor-point based hierarchical electronic design process
US10453187B2 (en) * 2017-07-21 2019-10-22 The Boeing Company Suppression of background clutter in video imagery
CN107360377B (zh) * 2017-09-04 2020-09-25 云南电网有限责任公司电力科学研究院 一种车载视频稳像方法
CN107766021B (zh) * 2017-09-27 2020-12-25 芯启源(上海)半导体科技有限公司 图像处理方法、设备、显示系统及存储介质
CN107808388B (zh) * 2017-10-19 2021-10-12 中科创达软件股份有限公司 包含运动目标的图像处理方法、装置及电子设备
US11080864B2 (en) * 2018-01-08 2021-08-03 Intel Corporation Feature detection, sorting, and tracking in images using a circular buffer
JP6886622B2 (ja) * 2018-01-22 2021-06-16 京セラドキュメントソリューションズ株式会社 画像処理装置
US10726522B2 (en) * 2018-01-24 2020-07-28 Fotonation Limited Method and system for correcting a distorted input image
CN110300239A (zh) * 2018-03-22 2019-10-01 精工爱普生株式会社 图像处理装置、图像处理方法以及显示装置
US10497173B2 (en) * 2018-05-07 2019-12-03 Intel Corporation Apparatus and method for hierarchical adaptive tessellation
CN110557522A (zh) * 2018-05-31 2019-12-10 阿里巴巴集团控股有限公司 一种去除视频抖动的方法及装置
CN110708458B (zh) * 2018-07-10 2021-03-23 杭州海康微影传感科技有限公司 一种图像帧补偿方法、摄像机和热成像摄像机
KR20200016443A (ko) * 2018-08-07 2020-02-17 주식회사 마크애니 콘텐츠의 영상 데이터 복원방법 및 장치
US11470343B2 (en) * 2018-08-29 2022-10-11 Intel Corporation Apparatus and method for feature point tracking using inter-frame prediction
WO2020042021A1 (zh) * 2018-08-29 2020-03-05 深圳市大疆创新科技有限公司 电子设备的控制方法、装置、电子设备及存储介质
CN109272041B (zh) * 2018-09-21 2021-10-22 联想(北京)有限公司 特征点的选取方法及装置
CN110800282B (zh) * 2018-11-20 2021-07-27 深圳市大疆创新科技有限公司 云台调整方法、云台调整设备、移动平台及介质
US11490112B2 (en) * 2018-11-29 2022-11-01 Interdigital Vc Holdings, Inc. Motion vector predictor candidates ordering in merge list
EP3672228A1 (de) 2018-12-20 2020-06-24 Axis AB Verfahren und system zur anpassung einer bildpipeline-einstellung
EP3731522A4 (de) * 2019-01-01 2021-04-14 LG Electronics Inc. Verfahren und vorrichtung zur verarbeitung von videosignalen auf der basis einer historienbasierten bewegungsvektorvorhersage
CN109977775B (zh) * 2019-02-25 2023-07-28 腾讯科技(深圳)有限公司 关键点检测方法、装置、设备及可读存储介质
US11543514B2 (en) * 2019-03-29 2023-01-03 Elemenf Hope, Inc. Activity detection in sand environment
EP4304181A3 (de) 2019-04-01 2024-02-21 Beijing Bytedance Network Technology Co., Ltd. Verwendung von interpolationsfiltern zur vorgeschichte basierend auf der bewegungsvektorvorhersage
CN114097219A (zh) * 2019-07-04 2022-02-25 北京字节跳动网络技术有限公司 基于历史的运动矢量预测表中的运动信息的存储
US11176386B2 (en) * 2019-07-08 2021-11-16 Nxp Usa, Inc. System and method for continuous operation of vision/radar systems in presence of bit errors
BR112022002480A2 (pt) 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
CN111061729B (zh) * 2019-11-29 2021-04-16 武汉大学 顾及粒度的矢量瓦片组织方法
KR20210079467A (ko) 2019-12-19 2021-06-30 삼성디스플레이 주식회사 광 제어 패널 및 이를 포함하는 표시 장치
US11748844B2 (en) 2020-01-08 2023-09-05 Carvana, LLC Systems and methods for generating a virtual display of an item
US11356604B2 (en) * 2020-02-14 2022-06-07 Pixelworks, Inc. Methods and systems for image processing with multiple image sources
KR20210155284A (ko) 2020-06-15 2021-12-22 한화테크윈 주식회사 영상처리장치
CN111974081A (zh) * 2020-07-31 2020-11-24 湖北三江航天红阳机电有限公司 一种气凝胶胶液回收装置、方法、系统、设备和存储介质
US20220046200A1 (en) * 2020-08-10 2022-02-10 Micron Technology, Inc. Methods and apparatus for integrated image signal processing
WO2023177799A1 (en) * 2022-03-16 2023-09-21 Beijing Dajia Internet Information Technology Co., Ltd. Adaptive picture modifications for video coding
WO2023203522A2 (en) * 2022-04-21 2023-10-26 Augmedics Ltd. Reduction of jitter in virtual presentation
DE102022112743B4 (de) 2022-05-20 2024-02-01 Audi Aktiengesellschaft Verfahren zur Verbesserung der Qualität einer Audio- und/oder Videoaufzeichnung sowie Steuervorrichtung für ein mobiles Endgerät
US20240005518A1 (en) * 2022-06-29 2024-01-04 Qualcomm Incorporated Scale image resolution for motion estimation
CN115174817A (zh) * 2022-09-05 2022-10-11 深圳深知未来智能有限公司 一种基于深度学习的混合防抖方法及系统
CN115601688B (zh) * 2022-12-15 2023-02-21 中译文娱科技(青岛)有限公司 基于深度学习的视频主体内容检测方法及系统

Family Cites Families (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2679778B2 (ja) * 1990-05-16 1997-11-19 松下電器産業株式会社 画像の動き検出装置
US5446501A (en) * 1992-10-22 1995-08-29 Accom, Incorporated Three-dimensional median and recursive filtering apparatus and method for video image enhancement
US5748947A (en) * 1993-02-25 1998-05-05 Ricoh Company, Ltd. Information processing system for switchably processing data associated with straight line vectors
US5608458A (en) 1994-10-13 1997-03-04 Lucent Technologies Inc. Method and apparatus for a region-based approach to coding a sequence of video images
KR0181063B1 (ko) * 1995-04-29 1999-05-01 배순훈 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치
DE59509450D1 (de) * 1995-08-12 2001-08-30 Micronas Gmbh Equalizer für digitalisierte Signale
US6025840A (en) * 1995-09-27 2000-02-15 Cirrus Logic, Inc. Circuits, systems and methods for memory mapping and display control systems using the same
JP3332202B2 (ja) * 1996-10-04 2002-10-07 日本電信電話株式会社 カメラワーク算出方法及び装置
JP3104868B2 (ja) 1997-11-25 2000-10-30 富士ゼロックス株式会社 画像処理装置
EP0954180B1 (de) * 1998-04-28 2006-02-08 Sanyo Electric Co., Ltd. Vorrichtung zur seriellen Übertragung von Daten
JP4004653B2 (ja) 1998-08-03 2007-11-07 カスタム・テクノロジー株式会社 動きベクトル検出方法および装置、記録媒体
EP1110407B1 (de) * 1998-08-18 2002-05-08 Siemens Aktiengesellschaft Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
US7136110B2 (en) * 2000-06-14 2006-11-14 Canon Kabushiki Kaisha Image signal processing apparatus
GB2401703B (en) 2000-06-30 2005-01-19 Royal Mail Group Plc Image processing
JP3659157B2 (ja) 2000-10-17 2005-06-15 日本電気株式会社 映像内容に重み付けをする画像圧縮方式
US6940557B2 (en) * 2001-02-08 2005-09-06 Micronas Semiconductors, Inc. Adaptive interlace-to-progressive scan conversion algorithm
JP3636672B2 (ja) * 2001-04-06 2005-04-06 松下電器産業株式会社 表示処理装置
US7043058B2 (en) * 2001-04-20 2006-05-09 Avid Technology, Inc. Correcting motion vector maps for image processing
JP3578735B2 (ja) * 2001-08-02 2004-10-20 松下電器産業株式会社 情報処理装置及び情報処理方法
US6765622B2 (en) 2001-10-26 2004-07-20 Koninklijke Philips Electronics N.V. Line-buffer reuse in vertical pixel-processing arrangement
KR100492127B1 (ko) 2002-02-23 2005-06-01 삼성전자주식회사 적응형 움직임 추정장치 및 추정 방법
JP2003331292A (ja) * 2002-05-09 2003-11-21 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム
EP1377040A1 (de) * 2002-06-19 2004-01-02 STMicroelectronics S.r.l. Bildsequenzstabilisationsverfahren
US6950473B2 (en) 2002-06-21 2005-09-27 Seiko Epson Corporation Hybrid technique for reducing blocking and ringing artifacts in low-bit-rate coding
JP4198550B2 (ja) 2002-09-10 2008-12-17 株式会社東芝 フレーム補間方法およびこのフレーム補間方法を用いた装置
US20040076333A1 (en) * 2002-10-22 2004-04-22 Huipin Zhang Adaptive interpolation filter system for motion compensated predictive video coding
GB0229096D0 (en) * 2002-12-13 2003-01-15 Qinetiq Ltd Image stabilisation system and method
JP3925415B2 (ja) * 2003-01-22 2007-06-06 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
WO2004073300A1 (ja) * 2003-02-14 2004-08-26 Mitsubishi Denki Kabuskiki Kaisha 動画像合成装置、動画像合成方法、及び動画像合成機能付き情報端末装置
JP4182801B2 (ja) 2003-04-24 2008-11-19 日本電気株式会社 マルチプロセサシステム
JP2004343483A (ja) * 2003-05-16 2004-12-02 Acutelogic Corp 手振れ補正装置および方法、手振れ検出装置
US7503049B2 (en) 2003-05-29 2009-03-10 Panasonic Corporation Information processing apparatus operable to switch operating systems
KR100541953B1 (ko) 2003-06-16 2006-01-10 삼성전자주식회사 움직임 보상을 위한 화소값 선택 장치 및 방법
JP2005009883A (ja) 2003-06-16 2005-01-13 Calsonic Kansei Corp ステレオカメラ装置
KR100579542B1 (ko) 2003-07-29 2006-05-15 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
JP4263976B2 (ja) * 2003-09-24 2009-05-13 株式会社東芝 オンチップマルチコア型耐タンパプロセッサ
US7295616B2 (en) 2003-11-17 2007-11-13 Eastman Kodak Company Method and system for video filtering with joint motion and noise estimation
US7457438B2 (en) * 2003-12-23 2008-11-25 Genesis Microchip Inc. Robust camera pan vector estimation using iterative center of mass
US7433497B2 (en) 2004-01-23 2008-10-07 Hewlett-Packard Development Company, L.P. Stabilizing a sequence of image frames
US7880769B2 (en) * 2004-02-13 2011-02-01 Qualcomm Incorporated Adaptive image stabilization
WO2006002322A2 (en) 2004-06-22 2006-01-05 Sarnoff Corporation Method and apparatus for visual odometry
JP4404822B2 (ja) * 2004-08-31 2010-01-27 三洋電機株式会社 手ぶれ補正装置および撮像機器
US20060050976A1 (en) * 2004-09-09 2006-03-09 Stephen Molloy Caching method and apparatus for video motion compensation
US7447337B2 (en) 2004-10-25 2008-11-04 Hewlett-Packard Development Company, L.P. Video content understanding through real time video motion analysis
US7793083B2 (en) * 2004-11-26 2010-09-07 Panasonic Corporation Processor and system for selectively disabling secure data on a switch
CN100487522C (zh) * 2005-01-13 2009-05-13 奥林巴斯映像株式会社 模糊校正方法及摄像装置
JP4755490B2 (ja) * 2005-01-13 2011-08-24 オリンパスイメージング株式会社 ブレ補正方法および撮像装置
FR2882160B1 (fr) 2005-02-17 2007-06-15 St Microelectronics Sa Procede de capture d'images comprenant une mesure de mouvements locaux
JP4321472B2 (ja) * 2005-03-28 2009-08-26 トヨタ自動車株式会社 制御装置
KR100732683B1 (ko) * 2005-05-06 2007-06-27 삼성전자주식회사 움직임 보상을 수행하는 영상변환장치 및 움직임 보상방법
JP5006568B2 (ja) * 2005-05-06 2012-08-22 キヤノン株式会社 レジスタ設定制御装置、レジスタ設定制御方法、プログラム及びデジタルカメラ
JP2006338272A (ja) * 2005-06-01 2006-12-14 Nissan Motor Co Ltd 車両挙動検出装置、および車両挙動検出方法
DE102005025634A1 (de) * 2005-06-03 2006-12-07 Micronas Gmbh Verfahren und Vorrichtung zur Ermittlung von Bewegungsvektoren
FR2888349A1 (fr) * 2005-07-06 2007-01-12 St Microelectronics Sa Adaptation de debit binaire dans un flot de traitement de donnees
JP4640068B2 (ja) * 2005-09-16 2011-03-02 ソニー株式会社 撮像方法および撮像装置
US20070076796A1 (en) 2005-09-27 2007-04-05 Fang Shi Frame interpolation using more accurate motion information
JP4334533B2 (ja) 2005-11-24 2009-09-30 株式会社東芝 動画像符号化/復号化方法および装置
JP4695972B2 (ja) * 2005-12-14 2011-06-08 キヤノン株式会社 画像処理装置、撮像装置および画像処理方法
CN100440933C (zh) * 2005-12-31 2008-12-03 北京中星微电子有限公司 一种用于手持数码摄像设备的防抖方法及装置
JP4981325B2 (ja) * 2006-02-13 2012-07-18 キヤノン株式会社 カメラシステム
JP4595834B2 (ja) * 2006-03-03 2010-12-08 日本ビクター株式会社 動きベクトル検出方法及び装置
JP4961850B2 (ja) 2006-06-15 2012-06-27 ソニー株式会社 動き検出方法、動き検出方法のプログラム、動き検出方法のプログラムを記録した記録媒体及び動き検出装置
WO2008012822A2 (en) * 2006-07-26 2008-01-31 Human Monitoring Ltd Image stabilizer
US20080144124A1 (en) * 2006-10-13 2008-06-19 Ramin Samadani Auxiliary information for reconstructing digital images processed through print-scan channels
JP4823179B2 (ja) * 2006-10-24 2011-11-24 三洋電機株式会社 撮像装置及び撮影制御方法
EP2040192A4 (de) 2006-12-22 2011-03-30 Panasonic Corp Informationsverarbeitungsvorrichtung, integrierte schaltung, verfahren und programm
US8090022B2 (en) 2007-01-05 2012-01-03 Sony Corporation Video coding system
US8565337B2 (en) * 2007-02-07 2013-10-22 Valens Semiconductor Ltd. Devices for transmitting digital video and data over the same wires
JP2008203992A (ja) * 2007-02-16 2008-09-04 Omron Corp 検出装置および方法、並びに、プログラム
JP4212109B2 (ja) * 2007-03-20 2009-01-21 パナソニック株式会社 撮影装置および撮影方法
US8144170B2 (en) * 2007-03-28 2012-03-27 Himax Technologies Limited Apparatus for scaling image and line buffer thereof
JP4958610B2 (ja) 2007-04-06 2012-06-20 キヤノン株式会社 画像防振装置、撮像装置及び画像防振方法
JP4798055B2 (ja) * 2007-04-25 2011-10-19 ソニー株式会社 画像処理装置およびカメラシステム
EP3683768B1 (de) 2007-05-03 2023-06-28 Sony Group Corporation Verfahren und system zum initialisieren von vorlagen von objekten in bewegung
JP4893471B2 (ja) * 2007-05-24 2012-03-07 カシオ計算機株式会社 画像処理装置及びプログラム
JP2009002496A (ja) * 2007-06-20 2009-01-08 Tomoyasu Yutaka 簡易高圧用シャフトシール
JP4377932B2 (ja) * 2007-07-26 2009-12-02 株式会社モルフォ パノラマ画像生成装置およびプログラム
JP4389981B2 (ja) * 2007-08-06 2009-12-24 ソニー株式会社 固体撮像装置、固体撮像装置のアナログ−デジタル変換方法および撮像装置
EP2048886A1 (de) * 2007-10-11 2009-04-15 Panasonic Corporation Kodierung von adaptiven Interpolationsfilter-Koeffizienten
KR101496324B1 (ko) * 2007-10-17 2015-02-26 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP4438099B2 (ja) * 2007-11-22 2010-03-24 カシオ計算機株式会社 撮像装置及びそのプログラム
JP4876065B2 (ja) * 2007-12-14 2012-02-15 キヤノン株式会社 動きベクトル検出装置及び動きベクトル検出方法及び撮像装置及びプログラム
EP3272395B1 (de) 2007-12-23 2019-07-17 Carl Zeiss Meditec, Inc. Vorrichtungen für den nachweis, die kontrolle und die vorhersage von strahlenabgabe
JP5133734B2 (ja) * 2008-02-26 2013-01-30 セイコーインスツル株式会社 イメージセンサ
CN101237581B (zh) * 2008-02-29 2010-11-17 上海大学 基于运动特征的h.264压缩域实时视频对象分割方法
JP4491488B2 (ja) * 2008-03-03 2010-06-30 シャープ株式会社 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法
JP4534172B2 (ja) * 2008-04-03 2010-09-01 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
CN102057575A (zh) * 2008-06-05 2011-05-11 松下电器产业株式会社 信号处理装置、信号处理方法、信号处理用集成电路及电视接收机
US8204336B2 (en) * 2008-07-16 2012-06-19 Panasonic Corporation Removing noise by adding the input image to a reference image
JP4964852B2 (ja) * 2008-09-24 2012-07-04 富士フイルム株式会社 画像処理装置、方法及びプログラム
JP5213613B2 (ja) * 2008-09-26 2013-06-19 キヤノン株式会社 画像処理装置及び画像処理方法及び撮像装置及びプログラム
JP5284048B2 (ja) * 2008-11-12 2013-09-11 キヤノン株式会社 画像処理装置、撮像装置及び画像処理方法
JP5328307B2 (ja) * 2008-11-14 2013-10-30 キヤノン株式会社 振れ補正機能を有する撮影装置及びその制御方法
JP4631966B2 (ja) * 2008-12-22 2011-02-16 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
TWI463878B (zh) 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
JP4915424B2 (ja) * 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、カメラモーション成分算出方法、画像処理プログラム及び記録媒体
JP5182178B2 (ja) * 2009-03-18 2013-04-10 ソニー株式会社 情報処理装置及び情報処理方法
CN101511024A (zh) * 2009-04-01 2009-08-19 北京航空航天大学 实时电子稳像中基于运动状态识别的运动补偿方法
JP5374220B2 (ja) 2009-04-23 2013-12-25 キヤノン株式会社 動きベクトル検出装置およびその制御方法、ならびに撮像装置
JP5226600B2 (ja) * 2009-04-28 2013-07-03 富士フイルム株式会社 画像変形装置およびその動作制御方法
JP2011008316A (ja) * 2009-06-23 2011-01-13 Seiko Epson Corp 情報処理装置、画像表示装置及び情報処理方法
TWI399094B (zh) * 2009-06-30 2013-06-11 Silicon Integrated Sys Corp 自適應移動補償內插法與其裝置
KR20110022133A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 영상의 움직임 추정방법 및 영상처리장치
JP2011050001A (ja) * 2009-08-28 2011-03-10 Sony Corp 画像処理装置および方法
EP2489180A1 (de) * 2009-10-14 2012-08-22 CSR Technology Inc. Verfahren und vorrichtung zur bildstabilisierung
KR20120094102A (ko) * 2010-01-08 2012-08-23 닛본 덴끼 가부시끼가이샤 유사도 산출 디바이스, 유사도 산출 방법 및 프로그램
JP2011199716A (ja) * 2010-03-23 2011-10-06 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
WO2011126309A2 (ko) * 2010-04-06 2011-10-13 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP5776688B2 (ja) * 2010-04-30 2015-09-09 日本電気株式会社 情報処理装置及びタスク切り替え方法
JP2011259272A (ja) 2010-06-10 2011-12-22 On Semiconductor Trading Ltd デジタルフィルタ
CN102714696B (zh) * 2010-11-11 2016-03-02 松下电器(美国)知识产权公司 图像处理装置、图像处理方法及摄影装置
US20120162449A1 (en) 2010-12-23 2012-06-28 Matthias Braun Digital image stabilization device and method
JP2012142827A (ja) * 2011-01-05 2012-07-26 Sony Corp 画像処理装置および画像処理方法
KR101782818B1 (ko) * 2011-01-21 2017-09-29 삼성디스플레이 주식회사 데이터 처리 방법, 데이터 구동 회로 및 이를 포함하는 표시 장치
US8768069B2 (en) 2011-02-24 2014-07-01 Sony Corporation Image enhancement apparatus and method
US8724854B2 (en) * 2011-04-08 2014-05-13 Adobe Systems Incorporated Methods and apparatus for robust video stabilization
US9824426B2 (en) 2011-08-01 2017-11-21 Microsoft Technology Licensing, Llc Reduced latency video stabilization
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
KR101861723B1 (ko) * 2011-12-20 2018-05-30 삼성전자주식회사 티어링과 플리커를 방지하기 위한 동기 신호를 조절하는 장치들과 그 방법
KR101350737B1 (ko) * 2012-02-20 2014-01-14 엘지디스플레이 주식회사 타이밍 컨트롤러 및 이를 포함하는 액정 표시 장치
KR101969565B1 (ko) * 2012-04-30 2019-04-17 삼성디스플레이 주식회사 업-스케일링 기능을 갖는 데이터 드라이버 및 그것을 포함하는 표시 장치

Also Published As

Publication number Publication date
CN102665041B (zh) 2017-03-15
KR20120072348A (ko) 2012-07-03
US20120162460A1 (en) 2012-06-28
KR101861771B1 (ko) 2018-05-28
US20120162452A1 (en) 2012-06-28
US8849054B2 (en) 2014-09-30
KR101830804B1 (ko) 2018-02-21
KR20120072350A (ko) 2012-07-03
JP2012164302A (ja) 2012-08-30
DE102011056983A1 (de) 2012-06-28
US20120162450A1 (en) 2012-06-28
JP2012164303A (ja) 2012-08-30
US9041817B2 (en) 2015-05-26
JP2012138906A (ja) 2012-07-19
JP2012165365A (ja) 2012-08-30
JP2012138905A (ja) 2012-07-19
KR101861770B1 (ko) 2018-05-28
KR101830889B1 (ko) 2018-02-21
CN102572278B (zh) 2016-08-31
CN102572278A (zh) 2012-07-11
DE102011056982A1 (de) 2012-06-28
CN102547120A (zh) 2012-07-04
CN102547118A (zh) 2012-07-04
DE102011056975A1 (de) 2012-06-28
KR20120072354A (ko) 2012-07-03
US9036031B2 (en) 2015-05-19
JP2012165364A (ja) 2012-08-30
JP5933970B2 (ja) 2016-06-15
DE102011056977A1 (de) 2012-06-28
US20120162475A1 (en) 2012-06-28
CN102572277A (zh) 2012-07-11
CN102572279B (zh) 2017-03-01
KR20120072353A (ko) 2012-07-03
CN102547120B (zh) 2017-07-28
US20120162449A1 (en) 2012-06-28
KR101798010B1 (ko) 2017-12-12
CN102665041A (zh) 2012-09-12
US8988536B2 (en) 2015-03-24
KR101861722B1 (ko) 2018-05-29
JP5967926B2 (ja) 2016-08-10
US8797414B2 (en) 2014-08-05
JP2012165363A (ja) 2012-08-30
US20120162454A1 (en) 2012-06-28
CN102572279A (zh) 2012-07-11
KR20120072349A (ko) 2012-07-03
KR20120072351A (ko) 2012-07-03
CN102547119A (zh) 2012-07-04
US20120162451A1 (en) 2012-06-28
KR20120072352A (ko) 2012-07-03
US9083845B2 (en) 2015-07-14
JP5855445B2 (ja) 2016-02-09
DE102011056972A1 (de) 2012-09-06

Similar Documents

Publication Publication Date Title
DE102011056970A1 (de) Rasterausgabe von rotierten, interpolierten Pixeln, die für digitale Bildstabilisierung optimiert ist
DE60133202T2 (de) Zusammenführen von bildern zur bildung eines panoramischen bildes
DE69735488T2 (de) Verfahren und vorrichtung zum ausrichten von bildern
DE102015116599B4 (de) Elektronische Vorrichtung und Verfahren zum Steuern ihrer Kameras
DE102020201787A1 (de) Erzeugen von blickkorrigierten bildern unter verwendung eines bidirektional trainierten netzwerks
DE102020131265A1 (de) Segmentieren von video-rahmen unter verwendung eines neuronalen netzes mit verringerter auflösung und von masken aus vorhergehenden rahmen
DE60127016T2 (de) Verfahren und Gerät zur Durchführung einer lokalen Farbkorrektur
DE69729916T2 (de) Dynamische bildgrössenänderung
DE102006038646B4 (de) Bildverarbeitungsvorrichtung für Farb-Bilddaten
DE102015111787A1 (de) Entschachteln eines verschachtelten Hoch-Dynamik-Bereich-Bildes mittels eines Benutzens von YUV-Interpolation
DE3315148C2 (de)
DE102008059372A1 (de) Bildverzeichnungskorrektur
CN106791623A (zh) 一种全景视频拼接方法及装置
DE19715491A1 (de) Interpolationsverfahren und -vorrichtung zur schnellen Bildvergrößerung
DE102011006272A1 (de) Bildverarbeitungsvorrichtung und Verfahren des Steuerns von dieser
DE102012210521A1 (de) Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering
DE102020133244A1 (de) Kantenbewusste Aufwärtsskalierung für verbesserte Bildschirminhaltsqualität
DE4221320A1 (de) Bewegungsvektor-erfassungsvorrichtung
WO2003042920A1 (de) Verfahren und vorrichtung zum entzerren einer eingescannten abbildung
DE102014008686B4 (de) Verfahren und Vorrichtung zur Farbinterpolation
DE4316847A1 (de) Verfahren zum Entzerren von Röntgenaufnahmen und Anordnung zur Durchführung des Verfahrens
DE4037739C1 (de)
DE4232704C2 (de) Verfahren und Schaltungsanordnung zur elektronischen Retusche von Bildern
DE69629265T2 (de) Bildskalierungsverfahren und -gerät
DE69927269T2 (de) Vorrichtung und verfahren zum erkennen und erzeugen grafischer elemente

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination