DE69930333T2 - Verfahren und Vorrichtung zum Verarbeiten von Bildern und Aufnahmemedium dafür - Google Patents

Verfahren und Vorrichtung zum Verarbeiten von Bildern und Aufnahmemedium dafür Download PDF

Info

Publication number
DE69930333T2
DE69930333T2 DE1999630333 DE69930333T DE69930333T2 DE 69930333 T2 DE69930333 T2 DE 69930333T2 DE 1999630333 DE1999630333 DE 1999630333 DE 69930333 T DE69930333 T DE 69930333T DE 69930333 T2 DE69930333 T2 DE 69930333T2
Authority
DE
Germany
Prior art keywords
image
order
motion distribution
distribution image
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE1999630333
Other languages
English (en)
Other versions
DE69930333D1 (de
Inventor
Tetsujiro Shinagawa-ku Kondo
Hideo Shinagawa-ku Nakaya
Kenji Shinagawa-ku Tanaka
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of DE69930333D1 publication Critical patent/DE69930333D1/de
Publication of DE69930333T2 publication Critical patent/DE69930333T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung ist bezogen auf US 6 078 616 , das ein Verfahren zum Detektieren von Bewegungsvektoren beschreibt und auf die Anmelderin der vorliegenden Erfindung teilweise übertragen ist, und US 5 872 604 , das ein Verfahren zur Fehlerverbergung unter Benutzung einer zeitlichen Domänenbewegungsvektorschätzung beschreibt und auf die Anmelderin der vorliegenden Erfindung übertragen ist.
  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Bildverarbeitungsvorrichtungen, Bildverarbeitungsverfahren und Aufzeichnungsmedien dafür, und insbesondere eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungsverfahren und ein Aufzeichnungsmedium dafür, bei denen von in der Zeit kontinuierlichen Bildern in Einheiten von Pixeln eine Bewegung geschätzt werden kann.
  • 2. Beschreibung der verwandten Technik
  • Als ein Verfahren zum Schätzen eines eine Bildbewegung anzeigenden Parameters (nachfolgend als Bewegungsschätzung bezeichnet) von einem Bewegtbild ist ein Verfahren bekannt, das eine Minimum vorhersagende Restregel, beispielsweise ein Blockanpassungsverfahren, benutzt. Bei dem die Minimum vorhersagende Restregel benutzenden Bewegungsschätzungsverfahren ist, da ein Bild in aus mehreren Pixeln bestehende Blöcke geteilt ist und die Bewegungsschätzung in Einheiten von Blöcken ausgeführt wird, die räumliche Auflösung der Bewegungsschätzung niedrig, und die Bewegungsschätzung kann nur für einen starren Körper, dessen Bestandteile sich parallel bewegen, ausgeführt werden. Als ein Resultat kann für einen nicht starren Körper, der eine nicht gleichmäßige Bewegungsverteilung aufweist, die Bewegungsschätzung nicht unter Benutzung dieses Verfahrens ausgeführt werden.
  • Bei dem die Minimum vorhersagende Restregel beispielsweise mit dem Blockanpassungsverfahren benutzenden Bewegungsschätzungsverfahren weist, wenn eine tatsächliche Bewegung außerhalb eines Suchbereichs ist, die Bewegungsschätzung einen großen Fehler auf, und es kommt eine niedrige Robustheit zum Vorschein. Demgemäss wäre es wünschenswert, ein Verfahren, eine Vorrichtung und ein Computerprogramm zur Erhöhung der räumlichen Auflösung bei der Bewegungsschätzung eines Bildes bereitzustellen und Robustheit sicherzustellen.
  • Aus EP-A-0 574 192 ist ein Bildverarbeitungssystem zur Ausführung einer hierarchischen Bewegungsanalyse von Bildern in Echtzeit bekannt.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum Schätzen der Bewegung eines Bewegtbildes und eine Programmspeichereinrichtung bereitzustellen, mit denen die räumliche Auflösung der Bewegingsschätzung vergrößert werden kann und Robustheit durch ein Nichtentscheidungstheorieverfahren mit der Benutzung einer objektiven bzw. von systematischen Fehlern freien bzw. erwartungstreuen (unbiased) Schätzung sichergestellt werden kann.
  • Diese Aufgabe wird durch ein Verfahren und eine Vorrichtung zum Schätzen der Bewegung eines Bewegtbildes und eine Programmspeichereinrichtung gemäß den beigefügten unabhängigen Ansprüchen gelöst. Vorteilhafte Merkmale der vorliegenden Erfindung sind in den korrespondierenden Unteransprüchen definiert. Es ist ein Merkmal der vorliegenden Erfindung, die Bewegungsschätzung in Einheiten von Pixeln durch die Benutzung einer objektiven bzw. von systematischen Fehlern freien bzw. erwartungsfreien Schätzung auszuführen und dadurch die räumliche Auflösung der Bewegungsschätzung und die Robustheit zu erhöhen.
  • Es ist ein Vorteil der vorliegenden Erfindung, die räumliche Auflösung bei der Bewegungsschätzung eines Bildes zu erhöhen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das eine Konfiguration einer Bildverarbeitungsvorrichtung, bei der die vorliegende Erfindung angewendet ist, zeigt.
  • 2 ist ein Flussdiagramm, das Operationen der in 1 gezeigten Bildverarbeitungsvorrichtung darstellt.
  • 3 ist eine Darstellung, die Operationen der in 1 gezeigten Bildverarbeitungsvorrichtung zeigt.
  • 4 ist ein Flussdiagramm einer bei einem Schritt S3 der 2 gezeigten Schätzverarbeitung.
  • 5 ist eine Darstellung, die eine bei einem Schritt S6 der 2 gezeigte Vorhersageverarbeitung darstellt.
  • 6 ist eine andere Darstellung, welche die beim Schritt S6 der 2 gezeigte Vorhersageverarbeitung darstellt.
  • 7 ist ein Flussdiagramm der beim Schritt S6 der 2 gezeigten Vorhersageverarbeitung.
  • 8 ist ein Flussdiagramm einer bei einem Schritt S7 der 2 gezeigten Interpolationsverarbeitung.
  • 9 ist ein Flussdiagramm einer bei einem Schritt S5 der 2 gezeigten Aktualisierungsverarbeitung.
  • 10A und 10B sind Fotografien von zum Vergleichen zwischen der vorliegenden Erfindung und einer herkömmlichen Bildverarbeitung auf einer Anzeige gezeigten Grauskalabildern.
  • 11A, 11B, 11C und 11D zeigen Fotos von auf einer Anzeige zum Beschreiben eines Falles, bei dem die vorliegende Erfindung auf ein verkleinertes Bild bzw. Zoom-Out-Bild (zoom-out image) angewendet ist, gezeigten Grauskalabildern.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Eine Ausführungsform der vorliegenden Erfindung wird nun unten beschrieben. Eine Konfiguration einer Bildverarbeitungsvorrichtung, bei der die vorliegende Erfindung angewendet ist, wird unten anhand der 1 beschrieben. Ein Steuerungsabschnitt 1 in dieser Bildverarbeitungsvorrichtung steuert die ganze Vorrichtung. Eine Festplatte 2 speichert im Voraus eingegebene Bewegtbilder und gibt die Bewegtbilder entsprechend der Steuerung durch den Steuerungsabschnitt 1 an einen Wiedergabeabschnitt 3 aus. Eine Serie von Bewegtbildern (eine einzelne Szene) ist aus mehreren Stehbildern (Rahmen), denen serielle Rahmennummern (fr = 0, 1, 2, ... k, k + 1, ... N) zugeordnet sind, gebildet.
  • Der Wiedergabeabschnitt 3 gibt die von der Festplatte 2 gesendeten Bewegtbilder in Einheiten von Rahmen (als Stehbilder) wieder und gibt solche Daten an einen Schätzabschnitt 4 aus.
  • Der Schätzabschnitt 4 berechnet für jedes Pixel einen Bewegungsvektor und seine Zuverlässigkeit, die vom k-ten und (k + 1)-ten Rahmen, die in der Zeitordnung kontinuierlich sind und vom Wiedergabeabschnitt 3 gesendet werden, mit dem k-ten Rahmen korrespondieren. Der Schätzabschnitt 4 erzeugt auch das mit dem k-ten Rahmen korrespondierende Bewegungsverteilungsbild erster Ordnung durch Zuordnen eines Bewegungsvektors und seiner Zuverlässigkeit zu jedem Pixel (Ausführen einer erwartungstreuen Schätzung), und gibt solche Daten an einen Aktualisierungsabschnitt 5 aus. Das mit dem 0-ten Rahmen korrespondierende Bewegungsverteilungsbild erster Ordnung wird an einen Vorhersageabschnitt 6 ausgegeben.
  • Der Aktualisierungsabschnitt 5 kombiniert das mit dem vom Schätzabschnitt 4 gesendeten (k + 1)-ten Rahmen korrespondierende Bewegungsverteilungsbild erster Ordnung und das mit dem von einem Interpolationsabschnitt 7 (später beschrieben) gesendeten (k + 1)-ten Rahmen korrespondierende Bewegungsverteilungsbild vierter Ordnung, um das mit dem (k + 1)-ten Rahmen korrespondierende Bewegungsverteilungsbild zweiter Ordnung zu erzeugen, und gibt es an den Vorhersageabschnitt 6 aus. Im Fall des mit dem 0-ten Rahmen (fr = 0) korrespondierenden Bewegungsverteilungsbild erster Ordnung wird diese Aktualisierungsoperation nicht ausgeführt.
  • Der Vorhersageabschnitt 6 sagt das mit dem (k + 1)-ten Rahmen korrespondierende Bewegungsverteilungsbild dritter Ordnung entsprechend dem mit dem vom Aktualisierungsabschnitt 5 gesendeten k-ten Rahmen korrespondierenden Bewegungsverteilungsbild zweiter Ordnung (oder im Fall fr = 0 dem mit dem vom Schätzabschnitt 4 gesendeten 0-ten Rahmen korrespondierenden Bewegungsverteilungsbild erster Ordnung) voraus und gibt es an den Interpolationsabschnitt 7 aus. In diesem Fall wird im Bewegungsverteilungsbild dritter Ordnung der Bewegungsvektor für jedes Pixel unter der Annahme vorhergesagt, dass sich der Bewegungsvektor für jedes Pixel im Verteilungsbild zweiter Ordnung (oder im Fall fr = 0 in dem mit dem 0-ten Rahmen korrespondierenden Bewegungsverteilungsbild erster Ordnung) nicht ändert.
  • Der Interpolationsabschnitt 7 interpoliert mit der Benutzung einer erwartungstreuen Schätzung in einen Leerraum des mit dem eingegebenen (k + 1)-ten Rahmen korrespondierenden Bewegungsverteilungsbild dritter Ordnung, um das mit dem (k + 1)-ten Rahmen korrespondierende Bewegungsverteilungsbild vierter Ordnung zu erzeugen. Das mit dem (k + 1)-ten Rahmen korrespondierende Bewegungsverteilungsbild vierter Ordnung wird als ein endgültiges Bewegungsverteilungsbild ausgegeben, das eine Bewegung vom k-ten Rahmen zum (k + 1)-ten Rahmen darstellt und dem Aktualisierungsabschnitt 5 bereitgestellt wird.
  • Ein Speicher 8 speichert temporär Information als einen Arbeitsbereich jedes Abschnitts und gibt sie bzw. ihn an jeden Abschnitt aus. Wie in 1 gezeigt sind der Steuerungsabschnitt 1, die Festplatte 2, der Wiedergabeabschnitt 3, der Schätzabschnitt 4, der Aktualisierungsabschnitt 5, der Vorhersageabschnitt 6, der Interpolationsabschnitt 7 und der Speicher 8 über einen Bus 9 gekoppelt.
  • Ein Betrieb dieser Bildverarbeitungsvorrichtung wird unten anhand eines in 2 und 3 gezeigten Flussdiagramms beschrieben. Bei einem Schritt S1 prüft der Steuerungsabschnitt 1 die Gesamtzahl N von Rahmen, die eine in der Festplatte 2 gespeicherte einzelne Szene bilden, und initialisiert einen die Ordnung der Rahmen anzeigenden Parameter fr (fr ist auf 0 eingestellt).
  • Bei einem Schritt S2 wird bestimmt, ob fr gleich N (N zeigt den letzten Rahmen an) ist oder nicht. Wenn bestimmt wird, dass fr nicht N ist, geht die Verarbeitung zu einem Schritt S3 weiter.
  • Beim Schritt S3 wird eine Schätzverarbeitung ausgeführt. Details der Schätzverarbeitung werden unten anhand des Flussdiagramms der 4 beschrieben.
  • Bei einem Schritt S11 werden die Koordinaten (i, j) des in einem geschätzten Rahmen (der k-te Rahmen) zu schätzenden Pixels auf (0, 0) initialisiert. Bei einem Schritt S12 wird bestimmt, ob die Koordinaten (i, j) des zu schätzenden Pixels nicht größer als das Maximum (imax, jmax) (das heißt in einem Rahmens) sind. Wenn bestimmt wird, dass die Koordinaten (i, j) des zu schätzenden Pixels nicht größer als das Maximum (imax, jmax) (das heißt im Rahmens) sind, geht die Verarbeitung zu einem Schritt S13 weiter.
  • Beim Schritt S13 werden variable „counter" (Zähler) und „sum" (Summe) auf 0 eingestellt. Bei einem Schritt S14 werden die Koordinaten (ix, iy) eines referenzierten Pixels im referenzierten Rahmen (der (k + 1)-te Rahmen) auf (i-range (i-Bereich), j-range (j-Bereich)) initialisiert. Der referenzierte Pixelbereich im Referenzrahmen ist ein Quadrat, das eine Seite mit der spezifizierten Länge, ein 2 × range, aufweist und bei den Koordinaten (i, j) ein Zentrum aufweist. Deshalb zeigen die Koordinaten (ix-range, iy-range) das Pixel bei der oberen linken Ecke des referenzierten Bereichs an.
  • Bei einem Schritt S15 wird der Wert von 1/(die Summe der Quadrate der Differenz zwischen den Pixelwerten des zu schätzenden Pixels (i, j) und des referenzierten Pixels (ix, ij) + 0,01)) berechnet und zur Variablen „sum" addiert. Der Wert 0,01 ist ein Kompensationswert zur Verhinderung, dass die Zuverlässigkeit ins Unendliche divergiert.
  • Bei einem Schritt S16 werden die Differenzen (ix – i, iy – j) (Bewegungsvektor) zwischen den Koordinaten (ix, ij) des Referenzpixels und den Koordinaten (i, j) des zu schätzenden Pixels berechnet. Die berechneten Werte (Bewegungsvektor) werden in einem Array iv_hist[counter] mit der Seriennummer „counter" des Pixels im referenzierten Bereich angeordnet. In der gleichen Weise wird die Variable „sum" in einem Array sum_hist[counter] mit der Seriennummer „counter" des Pixels im referenzierten Bereich angeordnet. Die Variable „sum" und das Array sum_hist[counter] werden bei einem später beschriebenen Schritt S21 zur Berechnung der Zuverlässigkeit p benutzt.
  • Bei einem Schritt S17 wird bestimmt, ob die Koordinaten (ix, iy) des referenzierten Pixels kleiner als das Maximum (i + range, j + range) sind (ob ein Pixel, das noch nicht referenziert worden ist, im referenzierten Bereich existiert). Wenn bestimmt wird, dass sie nicht kleiner sind (dass alle Pixel im referenzierten Bereich referenziert worden sind), geht die Verarbeitung zu einem Schritt S18 weiter. Wenn ein Pixel, das noch nicht referenziert worden ist, existiert, geht die Verarbeitung zu einem Schritt S23 weiter, und die Variable „counter" wird inkrementiert. Die Verarbeitung geht dann zu einem Schritt S24 weiter, bei dem die Koordinaten (ix, iy) inkrementiert werden. Die Verarbeitung des Schritts S15 wird dann mit einem zur Behandlung eingestellten anderen Pixel ausgeführt.
  • Beim Schritt S18 wird eine Variable „sum_thres" als die mit einer Zufallszahl (zwischen 0 und 1) multiplizierte Variable „sum" definiert. In anderen Worten wird durch die Benutzung einer Zufallszahl eine Schwelle definiert. Beim Schritt S19 wird die Variable „counter" auf null initialisiert.
  • Bei einem Schritt S20 wird bestimmt, ob der Wert des Arrays sum_hist[counter] größer als das beim Schritt S18 zufällig definierte sum_thres (Schwelle) ist (ob er als ein referenziertes Pixel nicht geeignet ist). Wenn der Wert des Arrays sum_hist[counter] kleiner oder gleich sum_thres ist (er ist nicht als referenziertes Pixel geeignet), geht die Verarbeitung zu einem Schritt S25 weiter. Die Variable „counter" wird inkrementiert, und die Verarbeitung kehrt zum Schritt S20 zurück. Wie beim Schritt S15 beschrieben, wird, da in der Variablen „sum" verarbeitete Werte sequentiell akkumuliert werden, wenn die Variable „counter" groß wird, der Wert von sum_hist[counter] auch groß. Als ein Resultat nimmt die Wahrscheinlichkeit, dass der Wert von sum_hist[counter] größer als der Wert von sum_thres wird, zu.
  • Wenn bestimmt wird, dass der Wert des Arrays sum_hist[counter] größer als sum_thres ist (das heißt, das Pixel ist als ein referenziertes Pixel geeignet), geht die Verarbeitung zu einem Schritt S21 weiter. Beim Schritt S21 wird der in dem mit dem Array „sum_hist[counter]" korrespondierenden Array „iv_hist[counter]" angeordnete Bewegungsvektor als der Bewegungsvektor des zu schätzenden Pixels (das Pixel bei den Koordinaten (i, j)) kopiert, und der Wert von (sum_hist[counter] – sum_hist[counter – 1])/sum wird als seine Zuverlässigkeit p berechnet und eingestellt.
  • Beim Schritt S22 werden die Koordinaten (i, j) inkrementiert. Die Verarbeitung kehrt zum Schritt S12 zurück, wobei andere Koordinaten zur Verarbeitung eingestellt werden.
  • Beim Schritt S12 wird, wenn bestimmt wird, dass (i, j) größer als das Maximum (imax, jmax) (nicht im Rahmen) ist, die Schätzverarbeitung für das mit dem fr-ten Rahmen korrespondierende Schätz- bzw. Bewegungsverteilungsbild erster Ordnung beendet, und die Verarbeitung für das mit dem fr-ten Rahmen korrespondierende Schätz- bzw. Bewegungsverteilungsbild erster Ordnung kehrt zum Schritt S3 in 2 zurück.
  • In der vorhergehenden Weise ist beispielsweise das in 3 gezeigte Bewegungsverteilungsbild erster Ordnung für fr = 0 durch die Benutzung einer erwartungstreuen Schätzung erzeugt worden.
  • Das in 2 gezeigte Flussdiagramm wird wieder beschrieben.
  • Nachdem die Schätzverarbeitung in der vorhergehenden Weise ausgeführt worden ist, wird bei einem Schritt S4 bestimmt, ob für den Rahmenparameter fr = 0 gilt (zeigt den Startrahmen an). Wenn bestimmt wird, dass fr nicht null ist, geht die Verarbeitung zu einem Schritt S5 weiter. Beim Schritt S5 führt der Aktualisierungsabschnitt 5 eine Aktualisierungsverarbeitung aus. Wenn jedoch fr zunächst null ist, wird die Aktualisierungsverarbeitung beim Schritt S5 übersprungen, und die Verarbeitung geht zu einem Schritt S6 weiter.
  • Beim Schritt S6 wird eine wie in 5 gezeigte Vorhersageverarbeitung ausgeführt. Das heißt, es wird für jedes mit dem (fr + 1)-ten Rahmen korrespondierende Pixel ein Bewegungsvektor unter der Annahme vorhergesagt, dass sich Pixel in dem mit dem fr-ten Rahmen korrespondierenden eingegebenen Bewegungsverteilungsbild zweiter Ordnung (oder dem mit den 0-ten Rahmen korrespondierenden Bewegungsverteilungsbild erster Ordnung, wenn fr null ist) mit der gleichen Geschwindigkeit bewegen. Auch wird, wie in 6 gezeigt, wenn mehrere Bewegungsvektoren in Betracht gezogen werden können, der Bewegungsvektor, der die maximale Zuverlässigkeit p aufweist, angewendet. Details der Vorhersageverarbeitung werden unten anhand des Flussdiagramms der 7 beschrieben.
  • Bei einem Schritt S31 werden der Bewegungsvektor (x, y) und die Zuverlässigkeit p des mit dem fr-ten Rahmen korrespondierenden eingegebenen Bewegungsverteilungsbildes zweiter Ordnung (oder des mit dem fr-ten-Rahmen korrespondierenden Bewegungsverteilungsbildes erster Ordnung, wenn fr null ist) in einem Eingangsdatenarray src[i, j] angeordnet.
  • Bei einem Schritt S32 wird ein Ausgangsarray dst[i, j] initialisiert (es werden Bewegungsvektoren und Zuverlässigkeiten p alle auf null eingestellt). Bei einem Schritt S33 werden die Koordinaten (i, j) des vorherzusagenden Pixels auf (0, 0) initialisiert.
  • Bei einem Schritt S34 wird bestimmt, ob die Koordinaten (i, j) des vorherzusagenden Pixels des fr-ten Rahmens nicht größer als das Maximum (imax, jmax) (im Rahmen) sind. Wenn bestimmt wird, dass die Koordinaten (i, j) nicht größer als das Maximum (imax, jmax) (im Rahmen) sind, geht die Verarbeitung zu einem Schritt S35 weiter.
  • Beim Schritt S35 werden Variable (fx, fy) auf den Bewegungsvektor (x, y) des Eingangsdatenarrays (src[i, j] eingestellt (fx wird auf die x-Komponente des Bewegungsvektors eingestellt, und fy wird auf die y-Komponente des Bewegungsvektors eingestellt).
  • Bei einem Schritt S36 wird bestimmt, ob die Zuverlässigkeit p von dst[i + fx, j + fy] kleiner als die von src[i, j] ist. Wenn bestimmt wird, dass die Zuverlässigkeit p von dst[i + fx, j + fy] kleiner als die von src[i, j] ist, geht die Verarbeitung zu einem Schritt S37 weiter. Beim Schritt S37 wird der Bewegungsvektor dst[i + fx, j + fy] (Bewegungsvektor des Bewegungsverteilungsbildes dritter Ordnung) auf den von src[i, j] eingestellt. In anderen Worten wird die in 6 gezeigte Verarbeitung ausgeführt. Wenn bestimmt wird, dass die Zuverlässigkeit p von dst[i + fx, j + fy] nicht kleiner als die von src[i, j] ist, oder wenn der Schritt S37 beendet worden ist, werden beim Schritt S38 die Koordinaten (i, j) inkrementiert, und die Verarbeitung kehrt dann zum Schritt S34 zurück, wobei ein anderes Pixel zur Behandlung eingestellt wird.
  • Beim Schritt S34 wird, wenn bestimmt wird, dass die Koordinaten (i, j) des zu vorhersagenden Pixels größer als das Maximum (imax, jmax) (nicht im Rahmen) sind, die Vorhersageverarbeitung beendet, und die Verarbeitung kehrt zum Schritt S6 in 2 zurück. In der vorhergehenden Weise wird ein mit dem (fr + 1)-ten Rahmen korrespondierendes Bewegungsverteilungsbild durch die in 3 gezeigte Vorhersageverarbeitung erhalten.
  • Die in 2 gezeigte Verarbeitung wird wieder beschrieben.
  • Nachdem die Vorhersageverarbeitung für das mit dem (fr + 1)-Rahmen korrespondierende Bewegungsverteilungsbild dritter Ordnung in der vorhergehenden Weise ausgeführt worden ist, führt der Interpolationsabschnitt 7 bei einem Schritt S7 eine Interpolationsverarbeitung an dem mit dem (fr + 1)-ten Rahmen korrespondierenden Bewegungsverteilungsbild dritter Ordnung aus. Details der Interpolationsverarbeitung werden unten anhand eines in 8 gezeigten Flussdiagramms beschrieben.
  • Bei einem Schritt S41 werden die Koordinaten (i, j) eines zu interpolierenden Pixels des (fr + 1)-ten Rahmens (Interpolationsziel) auf (0, 0) initialisiert. Bei einem Schritt S42 wird bestimmt, ob die Koordinaten (i, j) nicht größer als das Maximum (imax, jmax) (in einem Rahmen) sind. Wenn bestimmt wird, dass die Koordinaten (i, j) des zu interpolierenden Pixels nicht größer als das Maximum (imax, jmax) (in einem Rahmen) sind, geht die Verarbeitung zu einem Schritt S43 weiter.
  • Beim Schritt S43 bestimmt der Interpolationsabschnitt 7, ob die Zuverlässigkeit p(i, j) des Pixels bei den Koordinaten (i, j) kleiner als der spezifizierte Referenzwert ist. Wenn bestimmt wird, dass die Zuverlässigkeit p kleiner als der spezifizierte Referenzwert ist (dem Pixel fehlt Information), geht die Verarbeitung zu einem Schritt S44 weiter. Wenn die Zuverlässigkeit p(i, j) nicht kleiner als der spezifizierte Wert ist, ist, da dem Pixel nicht Information fehlt, eine Interpolationsverarbeitung nicht nötig. Die Verarbeitung geht zu einem Schritt S55 weiter. Die Koordinaten (i, j) werden inkrementiert. Die Verarbeitung kehrt dann zum Schritt S42 zurück, wobei ein anderes Pixel zur Behandlung eingestellt wird, und es wird die gleiche Verarbeitung ausgeführt.
  • Beim Schritt S44 werden die Variablen „counter" und „sum" auf null eingestellt. Bei einem Schritt S45 werden die Koordinaten (ix, iy) eines referenzierten Pixels im Referenzrahmen (der (fr + 1)-te Rahmen) auf (i-range, j-range) initialisiert. Der referenzierte Pixelbereich ist ein Quadrat mit einer Seite mit der spezifizierten Länge, 2 × range, und mit einem Zentrum bei den Koordinaten (i, j). Deshalb zeigen die Koordinaten (i-range, j-range) das Pixel an der oberen linken Ecke des referenzierten Bereichs an.
  • Bei einem Schritt S46 bestimmt der Interpolationsabschnitt 7, ob die Zuverlässigkeit p(ix, iy) des Pixels bei den Koordinaten (ix, iy) größer als null ist. Wenn bestimmt wird, dass die Zuverlässigkeit größer als null ist (dass das Pixel als das Quellenpixel zum Kopieren seiner Information (Pixelwert) auf ein Pixel, dem Information fehlt, geeignet ist), geht die Verarbeitung zu einem Schritt S47 weiter. Wenn die Zuverlässigkeit p null ist, ist das Pixel als das Kopiequellenpixel nicht geeignet. Die Verarbeitung geht deshalb zu einem Schritt S56 weiter. Die Koordinaten (ix, iy) werden inkrementiert, und die Verarbeitung kehrt zum Schritt S46 zurück, wobei ein anderes Pixel zur Behandlung eingestellt wird.
  • Beim Schritt S47 wird der Wert von L((ix, iy), (i, j)) zur Variablen „sum" addiert, wobei L((ix, iy), (i, j)) eine Funktion anzeigt, die zeigt, ob das Pixel bei den Koordinaten (ix, iy) als das Kopierquellenpixel für das zu interpolierende Pixel (i, j) geeignet ist, und wie folgt ausgedrückt ist: L((ix, iy), (i, j)) = p(ix, iy) × Exp(D1((ix, iy), (i, j)/a – D2((ix, iy),(i, j/b),wobei p(ix, iy) die Zuverlässigkeit des referenzierten Pixels anzeigt, D1((ix, iy), (i, j)) den Abstand zwischen den Koordinaten (ix, iy), und (i, j) anzeigt, und D2((ix, iy), (i, j)) die Differenz zwischen den Pixelwerten von (ix, iy) und (i, j) anzeigt.
  • Bei einem Schritt S48 werden die Differenzen (ix – i, iy – j) (Bewegungsvektor) zwischen den Koordinaten (ix, iy) des referenzierten Pixels, das als ein Kopiequellenpixel angesehen wird, dessen Pixelwert geeignet ist, und den Koordinaten (i, j) des zu interpolierenden Pixels berechnet. Die berechneten Werte (Bewegungsvektor) werden in einem Array iv_hist[counter] mit der Seriennummer „counter" des Pixels im referenzierten Bereich angeordnet. In der gleichen Weise wird die Variable „sum" in einem Array sum_hist[counter] mit der Seriennummer „counter" des Pixels im referenzierten Bereich angeordnet.
  • Bei einem Schritt S49 wird bestimmt, ob die Koordinaten (ix, iy) des referenzierten Pixels kleiner als das Maximum (i + range, j + range) sind (ob ein Pixel, das noch nicht referenziert worden ist, im referenzierten Bereich existiert). Wenn bestimmt wird, dass sie nicht kleiner sind (dass alle Pixel im referenzierten Bereich referenziert worden sind), geht die Verarbeitung zu einem Schritt S50 weiter. Wenn ein Pixel, das noch nicht referenziert worden ist, bleibt, geht die Verarbeitung zu einem Schritt S57 weiter, und die Variable „counter" wird inkrementiert. Die Verarbeitung geht dann zu einem Schritt S56 weiter. Die Koordinaten (ix, iy) werden inkrementiert. Die Verarbeitung ab dem Schritt S46 wird mit einem zur Behandlung eingestellten anderen Pixel ausgeführt.
  • Beim Schritt S50 wird bestimmt, ob die Variablen „sum" und „counter" größer als null sind. Wenn bestimmt wird, dass sowohl „sum" als auch „counter" größer als null sind (im referenzierten Bereich existiert ein für eine Kopiequelle geeignetes Pixel), geht die Verarbeitung zu einem Schritt S51 weiter. Wenn wenigstens eines von „sum" und „counter" null ist, geht die Verarbeitung, da ein für eine Kopiequelle geeignetes Pixel im referenzierten Bereich nicht existiert, zu einem Schritt S58 weiter. Die Zuverlässigkeit p der Koordinaten (ix, iy) wird auf null eingestellt, und die Verarbeitung geht zum Schritt S55 weiter. Die Koordinaten (ix, iy) werden inkrementiert, und die Verarbeitung ab dem Schritt S42 wird mit einem zur Behandlung eingestellten anderen Pixel ausgeführt.
  • Beim Schritt S51 wird eine Variable „sum_thres als die mit einer Zufallszahl (zwischen 0 und 1) multiplizierte Variable „sum" definiert. In anderen Worten wird mit der Benutzung einer Zufallszahl eine Schwelle definiert. Bei einem Schritt S52 wird die Variable „counter" auf null initialisiert.
  • Bei einem Schritt S53 wird bestimmt, ob der Wert des Arrays sum_hist[counter] größer als die beim Schritt S51 zufällig definierte sum_thres (Schwelle) ist (ob er als ein Kopiequellenpixel nicht geeignet ist). Wenn der Wert des Arrays sum_hist[counter] nicht größer als sum_thres ist (er ist als ein Kopiequellenpixel nicht geeignet), geht die Verarbeitung zu einem Schritt S59 weiter. Die Variable „counter" wird inkrementiert, und die Verarbeitung kehrt zum Schritt S53 zurück. Wie beim Schritt S47 beschrieben, wird, da verarbeitete Werte in der Variablen „sum" sequenziell akkumuliert werden, wenn die Variable „counter" groß wird, auch der Wert von sum_hist[counter) groß. Als ein Resultat nimmt eine Wahrscheinlichkeit, dass der Wert von sum_hist[counter] größer als der Wert von sum_thres wird, zu.
  • Wenn der Wert des Arrays sum_hist[counter] größer als sum_thres ist (er ist als ein Kopiequellenpixel geeignet), geht die Verarbeitung zu einem Schritt S54 weiter. Beim Schritt S54 werden die Zuverlässigkeit und der Bewegungsvektor, die im Array „iv_hist[counter]" angeordnet sind, als die Zuverlässigkeit p(i, j) und der Bewegungsvektor V1(i, j) des zu interpolierenden Pixels kopiert. Dann werden beim Schritt S55 die Koordinaten (i, j) inkrementiert. Die Verarbeitung kehrt zum Schritt S42 zurück, und es wird die nachfolgende Verarbeitung ausgeführt.
  • Beim Schritt S42 wird, wenn bestimmt wird, dass (i, j) größer als das Maximum (imax, jmax) (nicht im Rahmen) sind (in anderen Worten, dass alle Pixel im Rahmen verarbeitet worden sind), die Interpolationsverarbeitung beendet, und die Verarbeitung kehrt zum Schritt S7 in 2 zurück.
  • Auf die vorhergehende Weise ist ein mit dem (fr + 1)-ten Rahmen korrespondierendes Bewegungsverteilungsbild vierter Ordnung durch die wie in 3 gezeigte Interpolationsverarbeitung mit der Benutzung einer erwartungstreuen Schätzung erzeugt worden. Das mit dem (fr + 1)-ten Rahmen korrespondierende Bewegungsverteilungsbild vierter Ordnung wird als das endgültige Bewegungsverteilungsbild ausgegeben und zur Aktualisierung des mit dem (fr + 1)-ten Rahmen korrespondierenden Verteilungsbildes erster Ordnung und zur Erzeugung des mit dem (fr – 1)-ten Rahmen korrespondierenden Bewegungsverteilungsbildes zweiter Ordnung benutzt.
  • Es wird wieder das in 2 gezeigte Flussdiagramm beschrieben.
  • Nachdem die Interpolationsverarbeitung in der vorhergehenden Weise ausgeführt worden ist, wird beim Schritt S8 fr um 1 inkrementiert, und die Verarbeitung kehrt zum Schritt S2 zurück.
  • Bei den Schritten S2 und S3 wird die obige Verarbeitung auf die gleiche Weise ausgeführt. Beim Schritt S4 geht die Verarbeitung, da fr nicht null ist, zum Schritt S5 weiter, und der Aktualisierungsabschnitt 5 führt eine Aktualisierungsverarbeitung aus. Details der Aktualisierungsverarbeitung werden unten anhand der 9 beschrieben.
  • Bei einem Schritt S71 werden die Koordinaten (i, j) des zu aktualisierenden Pixels auf (0, 0) initialisiert. Bei einem Schritt S72 wird bestimmt, ob (i, j) nicht größer als das Maximum (imax, jmax) (in einem Rahmen) sind. Wenn bestimmt wird, dass (i, j) nicht größer als das Maximum (imax, jmax) (im Rahmen) sind, geht die Verarbeitung zu einem Schritt S73 weiter.
  • Beim Schritt S73 wird eine Variable pp auf die Zuverlässigkeit p eines Datenarrays pre[i, j] des mit dem Stehbild, das ein vom Interpolationsabschnitt 7 gesendetes fr von (k + 1) (anfänglich k = 0) aufweist, korrespondierenden Bewegungsverteilungsbildes vierter Ordnung eingestellt. In der gleichen Weise wird eine Variable cp auf die Zuverlässigkeit p eines Datenarrays cur[i, j] des mit dem Stehbild, das ein vom Interpolationsabschnitt 7 gesendetes fr von (k + 1) aufweist, korrespondierenden Bewegungsverteilungsbildes erster Ordnung eingestellt.
  • Bei einem Schritt S74 wird bestimmt, ob die Variable pp größer als die Variable cp ist. Wenn bestimmt wird, dass pp größer als cp ist (die Zuverlässigkeit p des Bewegungsverteilungsbildes vierter Ordnung ist höher als die des Bewegungsverteilungsbildes erster Ordnung), geht die Verarbeitung zu einem Schritt S75 weiter. Wenn bestimmt wird, dass pp nicht größer als cp ist (die Zuverlässigkeit p des Bewegungsverteilungsbildes erster Ordnung ist höher als die des Bewegungsverteilungsbildes vierter Ordnung), wird der Bewegungsvektor nicht aktualisiert, und die Verarbeitung geht zu einem Schritt S76 weiter. Die Koordinaten (i, j) werden inkrementiert, und die Verarbeitung kehrt zum Schritt S72 zurück, wobei ein zu behandelndes anderes Pixel eingestellt wird.
  • Beim Schritt S75 werden der gewichtete Mittelwert des Bewegungsvektors des Bewegungsverteilungsbildes erster Ordnung und desjenigen des Bewegungsverteilungsbildes vierter Ordnung durch den folgenden Ausdruck berechnet, wobei „pp" und „cp" benutzt werden, um den Bewegungsvektor des mit dem (k + 1)-ten Rahmen korrespondierenden Bewegungsverteilungsbildes zweiter zu erhalten Ordnung und einzustellen. Bewegunsvektor des Bewegungsverteilungsbildes zweiter Ordnung
    = (Bewegungsvektor von pre[i, j] × {pp/(pp + cp)}
    + (Bewegungsvektor von cur[i, j]} × {cp/(pp + cp)}.
  • Beim Schritt S72 wird, wenn bestimmt wird, dass (i, j) größer als das Maximum (imax, jmax) sind, die Aktualisierungsverarbeitung beendet, und die Verarbeitung kehrt zum Schritt S5 in 2 zurück.
  • In der vorhergehenden Weise wird das Bewegungsverteilungsbild zweiter Ordnung durch den wie in 3 gezeigten Aktualisierungsprozess erhalten.
  • Es werden nun von der obigen Bildverarbeitungsvorrichtung erhaltene Bewegungsverteilungsbilder mit den durch das herkömmliche Verfahren erhaltenen verglichen. 10A zeigt Bewegungsverteilungsbilder, die durch eine Bewegungsverarbeitungsvorrichtung erhalten werden, bei der die vorliegenden Erfindung angewendet ist. 10B zeigt Bewegungsverteilungsbilder, die gemäß der Maximumwahrscheinlichkeitsschätzung, die ein herkömmliches Verfahren ist, erhalten werden. In beiden Verfahren werden die gleichen Bilder (bei denen sich ein Modell-Lastwagen auf einem festen Tisch in der Richtung nach links bewegt) behandelt. In 10 sind startend mit dem obersten Bild die mit dem ein fr = 0 aufweisenden Stehbild korrespondierenden Bewegungsverteilungsbilder erster Ordnung, die mit dem ein fr = 1 aufweisenden Stehbild korrespondierenden Bewegungsverteilungsbilder dritter Ordnung und die mit dem ein fr = 4 aufweisenden Stehbild korrespondierenden Bewegungsverteilungsbilder dritter Ordnung gezeigt. Die Dichte eines Pixels in diesen Bildern zeigt die Größe des Bewegungsvektors in der horizontalen Richtung (in den Bildern in der Richtung nach links) an.
  • In den in 10B gezeigten Bildern ist die Kontur des Modelllasters dunkel, und Pixel eines Tisches, der fest und unter dem Modell ist, weisen eine gewisse Dichte auf (die eine Bewegung anzeigt). Andererseits wird bei den in 10A gezeigten Bildern Information akkumuliert, wenn fr zunimmt. Die Kontur des Modelllasters wird deshalb klar, und die Dichte von Pixeln des fixierten Teils (Tisch) nimmt ab. Anders dargelegt nimmt der relative Kontrast wie zwischen dem festen Abschnitt des Bildes und dem sich bewegenden Abschnitt des Bildes zu. Deshalb wird festgestellt, dass 10A Bewegungsverteilungsbilder zeigt, die eine weniger irrtümliche Entscheidung aufweisen.
  • Mit einem auf diese Weise erhaltenen korrekten Bewegungsverteilungsbild kann ein Bild eines sich bewegenden Abschnitts herausgenommen und verfolgt werden, und es wird eine Bewegungsschätzung möglich.
  • Bezugnehmend nun auf die 11A11D wird, wenn ein Bild verkleinert (zoomed out) wird, angenommen, dass der Bewegungsvektor (horizontale Komponente des Bildes) wie in 11D gezeigt eine Richtung zum Zentrum des Bildes aufweist und eine Größe aufweist, die zunimmt, wenn seine Position von der Zentrumslinie weg kommt. 11A stellt ein Bild auf Basis von Quellendaten dar, die für das Bild von Schmetterlingen repräsentativ sind. 11B zeigt eine Verkleinerung (zoom out) des Bildes von 11A, wobei diese 11B ein mit fr = 1 korrespondierendes Bewegungsverteilungsbild dritter Ordnung ist. In 11C die das mit einem fr = 4 korrespondierende Bewegungsverteilungsbild dritter Ordnung zeigt, wird die Dichte eines Pixels im Bild vom linken Ende zum rechten Ende graduell dicht bzw. groß. In anderen Worten ändert der Bewegungsvektor kontinuierlich seine Richtung von negativ nach positiv, wenn die Richtung nach links auf positiv eingestellt ist, wenn sich die Position vom linken Ende zum rechten Ende bewegt. Seine Natur ist ähnlich zu der in 11D gezeigten. Deshalb kann gesagt werden, dass diese Bildverarbeitungsvorrichtung der vorliegenden Erfindung dazu benutzt werden kann, eine Bewegungsschätzung für ein Zoomen (zooming) ausführen zu können.
  • Wenn zur Erläuterung der vorliegenden Erfindung als ein Beispiel nur eine horizontale Bewegung benutzt ist, so ist die vorliegende Erfindung für eine Bewegung entlang anderer Achsen wie beispielsweise der vertikalen Achse ebenso anwendbar. Außerdem kann die vorliegende Erfindung auch zum Schätzen eines Tiefe anzeigenden Parameters angewendet werden.
  • Wenn zur Erläuterung der vorliegenden Erfindung das Bewegungsverteilungsbild vierter Ordnung als endgültiges Bewegungsverteilungsbild ausgegeben wird, so kann ein anderes Bewegungsverteilungsbild, das heißt das erste, zweite oder dritte Bewegungsverteilungsbild als ein endgültiges Bewegungsverteilungsbild ausgegeben werden.
  • Ein Computerprogramm, das jede der obigen Verarbeitungen implementiert, kann dem Benutzer durch Netzwerkmedien wie beispielsweise das Internet und einen digitalen Satelliten angeboten werden. Zusätzlich können eine Programmspeichereinrichtung oder Informationsaufzeichnungsmedien wie beispielsweise eine Magnetplatte, eine CD-ROM, ein RAM, ein Magnetband oder eine DVD zur Realisierung eines solchen Computerprogramms benutzt werden. Ein solches Computerprogramm kann durch eine Maschine zum Ausführen von Verfahrensschritten zur Schätzung einer Bewegung entsprechend der vorliegenden Erfindung ausgeführt werden.
  • Wie oben beschrieben wird gemäß einer Bildverarbeitungsvorrichtung, einem Bildverarbeitungsverfahren und einem Aufzeichnungsmedium der vorliegenden Erfindung, da eine Bewegungsschätzung durch Benutzung einer erwartungstreuen Schätzung in Einheiten von Pixeln ausgeführt wird, die räumliche Auflösung der Bewegungsschätzung erhöht und Robustheit sichergestellt.
  • Wenn nur gewisse Ausführungsformen detailliert beschrieben worden sind, so versteht der Fachmann zweifellos, dass viele Modifikationen ohne Abweichung von ihren Lehren möglich sind. Alle solchen Modifikationen sind von den folgenden Ansprüchen umfasst.

Claims (36)

  1. Verfahren zum Schätzen der Bewegung eines Bewegtbildes, wobei das Bewegtbild mehrere Bilder aufweist, wobei das Verfahren die Schritt aufweist: Schätzen (4) von einem k-ten Bild und einem (k + 1)-ten Bild eines mit jedem Pixel des k-ten Bildes korrespondierenden Bewegungsparameters zum Erzeugen eines mit dem k-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung, wobei das mit dem k-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung durch die mit den Pixeln des k-ten Bildes korrespondierenden Bewegungsparameter dargestellt wird, Schätzen (4) vom wenigstens dem (k + 1)-ten Bild eines mit jedem Pixel des (k + 1)-ten Bildes korrespondierenden Bewegungsparameters zum Erzeugen eines mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung, wobei das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung durch die mit den Pixeln des (k + 1)-ten Bildes korrespondierenden Bewegungsparameter dargestellt wird, Aktualisieren (5) des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung zum Erzeugen eines mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes zweiter Ordnung, Vorhersagen (6) eines mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung von dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung, und Interpolieren (7) des mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung zum Erzeugen eines mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes vierter Ordnung, wobei k eine ganze Zahl ist, und wobei der Schritt zum Aktualisieren das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung unter Benutzung eines vom k-ten Bild erzeugten Bewegungsverteilungsbildes höherer Ordnung aktualisiert.
  2. Verfahren nach Anspruch 1, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild vierter Ordnung ist.
  3. Verfahren nach Anspruch 1, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild vierter Ordnung ist, außerdem mit den Schritten: Vorhersagen (6) des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung von dem mit dem k-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung, und Interpolieren (7) des (k + 1)-ten Bewegungsverteilungsbildes dritter Ordnung zum Erzeugen des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes vierter Ordnung.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt zum Vorhersagen (6) das mit dem (k + 2)-ten Bild korrespondierende Bewegungsverteilungsbild dritter Ordnung von dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung unter der Annahme vorhersagt, dass sich Pixel mit der gleichen Geschwindigkeit wie in dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung bewegen.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Bewegungsparameter einen Bewegungsvektor und eine Anzeige einer Zuverlässigkeit aufweist.
  6. Verfahren nach Anspruch 5, wobei der Schritt zum Aktualisieren (5) für jedes Pixel einen Bewegungsvektor, der das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung darstellt, und einen Bewegungsvektor, der ein vom k-ten Bild erzeugtes Bewegungsverteilungsbild höherer Ordnung darstellt, das mit der Zuverlässigkeit des vom k-ten Bild erzeugten Bewegungsverteilungsbildes erster Ordnung und höherer Ordnung korrespondiert, kombiniert.
  7. Verfahren nach Anspruch 6, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung ein mit dem (k + 1)-ten Bild korrespondierendes Bewegungsverteilungsbild vierter Ordnung ist.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bewegungsverteilungsbild erster Ordnung von zwei kontinuierlichen Rahmen auf Basis des Bewegungsvektors für jedes der Pixel des früheren Rahmens der zwei kontinuierlichen Rahmen erzeugt wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bewegungsverteilungsbild zweiter Ordnung auf Basis der Zuverlässigkeit des vom k-ten Bild erzeugten Bewegungsverteilungsbild vierter Ordnung und des vom (k + 1)-ten Bild erzeugten Bewegungsverteilungsbildes erster Ordnung erzeugt wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bewegungsverteilungsbild dritter Ordnung auf Basis der Annahme erzeugt wird, dass sich Pixel mit der gleichen Geschwindigkeit wie in dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung bewegen.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bewegungsverteilungsbild vierter Ordnung auf Basis einer Interpolation auf Basis der Zuverlässigkeit von Pixeln des Bewegungsverteilungsbildes dritter Ordnung erzeugt wird.
  12. Verfahren nach Anspruch 11, wobei die Interpolation im Fall, dass ein oder mehrere Pixel des Bewegungsverteilungsbildes dritter Ordnung mit niedriger Zuverlässigkeit detektiert wird/werden, verarbeitet wird.
  13. Vorrichtung zum Schätzen der Bewegung eines Bewegtbildes, wobei das Bewegtbild mehrere Bilder aufweist, wobei die Vorrichtung aufweist: eine Einrichtung (4) zum Schätzen von einem k-ten Bild und einem (k + 1)-ten Bild eines mit jedem Pixel des k-ten Bildes korrespondierenden Bewegungsparameters zum Erzeugen eines mit dem k-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung, wobei das mit dem k-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung durch die mit den Pixeln des k-ten Bildes korrespondierenden Bewegungsparameter dargestellt wird, eine Einrichtung (4) zum Schätzen von wenigstens dem (k + 1)-ten Bild eines mit jedem Pixel des (k + 1)-ten Bildes korrespondierenden Bewegungsparameters zum Erzeugen eines mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung, wobei das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung durch die mit den Pixeln. des (k + 1)-ten Bildes korrespondierenden Bewegungsparameter dargestellt wird, eine Einrichtung (5) zum Aktualisieren des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung zum Erzeugen eines mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes zweiter Ordnung, eine Einrichtung (6) zum Vorhersagen eines mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung von dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung, und eine Einrichtung (7) zum Interpolieren des mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung zum Erzeugen eines mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes vierter Ordnung, wobei k eine ganze Zahl ist, und wobei die Einrichtung zum Aktualisieren das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung unter Benutzung eines vom k-ten Bild erzeugten Bewegungsverteilungsbild höherer Ordnung aktualisiert.
  14. Vorrichtung nach Anspruch 13, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild vierter Ordnung ist.
  15. Vorrichtung nach Anspruch 13, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung ein mit dem (k + 1)-ten Bild korrespondierendes Bewegungsverteilungsbild vierter Ordnung ist, wobei die Einrichtung (6) zum Vorhersagen so ausgebildet ist, dass sie das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild dritter Ordnung von dem mit dem k-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung vorhersagt, und die Einrichtung (7) zum Interpolieren so ausgebildet ist, dass sie das (k + 1)-te Bewegungsverteilungsbild dritter Ordnung zum Erzeugen des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes vierter Ordnung interpoliert.
  16. Vorrichtung nach einem der Ansprüche 13 bis 15, wobei die Einrichtung (6) zum Vorhersagen so ausgebildet ist, dass sie das mit dem (k + 2)-ten Bild korrespondierende Bewegungsverteilungsbild dritter Ordnung von dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung unter der Annahme vorhersagt, dass sich Pixel mit der gleichen Geschwindigkeit wie in dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung bewegen.
  17. Vorrichtung nach einem der Ansprüche 13 bis 16, wobei der Bewegungsparameter einen Bewegungsvektor und eine Anzeige einer Zuverlässigkeit aufweist.
  18. Vorrichtung nach Anspruch 17, wobei die Einrichtung (5) zum Aktualisieren für jedes Pixel einen Bewegungsvektor, der das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnuug darstellt, und einen Bewegungsvektor, der ein vom k-ten Bild erzeugtes Bewegungsverteilungsbild höherer Ordnung darstellt, das mit der Zuverlässigkeit des vom k-ten Bild erzeugten Bewegungsverteilungsbildes erster Ordnung und höherer Ordnung korrespondiert, kombiniert.
  19. Vorrichtung nach Anspruch 18, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung ein mit dem (k + 1)-ten Bild korrespondierendes Bewegungsverteilungsbild vierter Ordnung ist.
  20. Vorrichtung nach einem der Ansprüche 13 bis 19, wobei das Bewegungsverteilungsbild erster Ordnung von zwei kontinuierlichen Rahmen auf Basis eines Bewegungsvektors für jedes der Pixel des früheren Rahmens der zwei kontinuierlichen Rahmen erzeugt wird.
  21. Vorrichtung nach einem der Ansprüche 13 bis 20, wobei das Bewegungsverteilungsbild zweiter Ordnung auf Basis der Zuverlässigkeit des vom k-ten Bild erzeugten Bewegungsverteilungsbildes vierter Ordnung und des vom (k + 1)-ten Bild erzeugten Bewegungsverteilungsbildes erster Ordnung erzeugt wird.
  22. Vorrichtung nach einem der Ansprüche 13 bis 21, wobei das Bewegungsverteilungsbild dritter Ordnung auf Basis der Annahme erzeugt wird, dass sich Pixel mit der gleichen Geschwindigkeit wie in dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung bewegen.
  23. Vorrichtung nach einem der Ansprüche 13 bis 22, wobei das Bewegungsverteilungsbild vierter Ordnung auf Basis einer Interpolation auf Basis der Zuverlässigkeit von Pixeln des Bewegungsverteilungsbildes dritter Ordnung erzeugt wird.
  24. Vorrichtung nach Anspruch 23, wobei die Interpolation im Fall, dass ein oder mehrere Pixel des Bewegungsverteilungsbildes dritter Ordnung mit niedriger Zuverlässigkeit detektiert wird/werden, verarbeitet wird.
  25. Von einer Maschine lesbare Programmspeichereinrichtung, die materiell ein Programm von Instruktionen verkörpert, das von der Maschine zum Ausführen von Verfahrensschritten zum Schätzen der Bewegung eines Bewegtbildes ausführbar ist, wobei die Verfahrensschritte aufweisen: Schätzen (4) von einem k-ten Bild und einem (k + 1)-ten Bild eines mit jedem Pixel des k-ten Bildes korrespondierenden Bewegungsparameters zum Erzeugen eines mit dem k-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung, wobei das mit dem k-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung durch die mit den Pixeln des k-ten Bildes korrespondierenden Bewegungsparameter dargestellt wird, Schätzen (4) von wenigstens dem (k + 1)-ten Bild eines mit jedem Pixel des (k + 1)-ten Bild korrespondierenden Bewegungsparameters zum Erzeugen eines mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung, wobei das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung durch die mit den Pixeln des (k + 1)-ten Bildes korrespondierenden Bewegungsparameter dargestellt wird, Aktualisieren (5) des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes erster Ordnung zum Erzeugen eines mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes zweiter Ordnung, Vorhersagen (6) eines mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung von dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung, und Interpolieren (7) des mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung zum Erzeugen eines mit dem (k + 2)-ten Bild korrespondierenden Bewegungsverteilungsbildes vierter Ordnung, wobei k eine ganze Zahl ist, und wobei der Schritt zum Aktualisieren das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung unter Benutzung eines vom k-ten Bild erzeugten Bewegungsverteilungsbildes höherer Ordnung aktualisiert.
  26. Programmspeichereinrichtung nach Anspruch 25, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild vierter Ordnung ist.
  27. Programmspeichereinrichtung nach Anspruch 25, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild vierter Ordnung ist, außerdem mit den Schritten: Vorhersagen (6) des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes dritter Ordnung von dem mit dem k-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung, und Interpolieren (9) des (k + 1)-ten Bewegungsverteilungsbildes dritter Ordnung zum Erzeugen des mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbildes vierter Ordnung.
  28. Programmspeichereinrichtung nach einem der Ansprüche 25 bis 27, wobei der Schritt des Vorhersagens (6) das mit dem (k + 2)-ten Bild korrespondierende Bewegungsverteilungsbild dritter Ordnung von dem mit dem (k + 1)-ten Bild korrespondierenden Bewegungsverteilungsbild zweiter Ordnung unter der Annahme vorhersagt, dass sich Pixel mit der gleichen Geschwindigkeit wie in dem mit dem (k + 1)-ten Bild krrespondierenden Bewegungsverteilungsbild zweiter Ordnung bewegen.
  29. Programmspeichereinrichtung nach einem der Ansprüche 25 bis 28, wobei der Bewegungsparameter einen Bewegungsvektor und eine Anzeige einer Zuverlässigkeit aufweist.
  30. Programmspeichereinrichtung nach Anspruch 29, wobei der Schritt zum Aktualisieren (5) für jedes Pixel einen Bewegungsvektor, der das mit dem (k + 1)-ten Bild korrespondierende Bewegungsverteilungsbild erster Ordnung darstellt, und einen Bewegungsvektor, der ein vom k-ten Bild erzeugtes Bewegungsverteilungsbild höherer Ordnung darstellt, das mit der Zuverlässigkeit des vom k-ten Bild erzeugten Bewegungsverteilungsbildes der ersten Ordnung und der höheren Ordnung korrespondiert, kombiniert.
  31. Programmspeichereinrichtung nach Anspruch 30, wobei das vom k-ten Bild erzeugte Bewegungsverteilungsbild höherer Ordnung ein mit dem (k + 1)-ten Bild korrespondierendes Bewegungsverteilungsbild vierter Ordnung ist.
  32. Programmspeichereinrichtung nach einem der Ansprüche 25 bis 31, wobei das Bewegungsverteilungsbild erster Ordnung von zwei kontinuierlicher Rahmen auf Basis eines Bewegungsvektors für jedes Pixel des früheren Rahmens der zwei kontinuierlichen Rahmen erzeugt wird.
  33. Programmspeichereinrichtung nach einem der Ansprüche 25 bis 32, wobei das Bewegungsverteilungsbild zweiter Ordnung auf Basis der Zuverlässigkeit des vom k-ten Bild erzeugten Bewegungsverteilungsbildes vierter Ordnung und des vom (k + 1)-ten Bild erzeugten Bewegungsverteilungsbildes erster Ordnung erzeugt wird.
  34. Programmspeichereinrichtung nach einem der Ansprüche 25 bis 33, wobei das Bewegungsverteilungsbild dritter Ordnung auf Basis der Annahme erzeugt wird, dass sich Pixel mit der gleichen Geschwindigkeit wie in dem mit dem (k + 1)-ten Bild erzeugten Bewegungsverteilungsbild zweiter Ordnung bewegen.
  35. Programmspeichereinrichtung nach einem der Ansprüche 25 bis 34, wobei das Bewegungsverteilungsbild vierter Ordnung auf Basis einer Interpolation auf Basis der Zuverlässigkeit von Pixeln des Bewegungsverteilungsbildes dritter Ordnung erzeugt wird.
  36. Programmspeichereinrichtung nach Anspruch 35, wobei die Interpolation im Fall, dass ein oder mehrere Pixel des Bewegungsverteilungsbildes dritter Ordnung mit niedriger Zuverlässigkeit detektiert wird/werden, verarbeitet wird.
DE1999630333 1998-01-07 1999-01-07 Verfahren und Vorrichtung zum Verarbeiten von Bildern und Aufnahmemedium dafür Expired - Lifetime DE69930333T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1345698A JP4016227B2 (ja) 1998-01-07 1998-01-07 画像処理装置および方法、並びに記録媒体
JP1345698 1998-01-07

Publications (2)

Publication Number Publication Date
DE69930333D1 DE69930333D1 (de) 2006-05-11
DE69930333T2 true DE69930333T2 (de) 2006-10-05

Family

ID=11833660

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999630333 Expired - Lifetime DE69930333T2 (de) 1998-01-07 1999-01-07 Verfahren und Vorrichtung zum Verarbeiten von Bildern und Aufnahmemedium dafür

Country Status (8)

Country Link
US (1) US6285712B1 (de)
EP (1) EP0929192B1 (de)
JP (1) JP4016227B2 (de)
KR (1) KR100590145B1 (de)
CN (1) CN1154361C (de)
AU (1) AU748671B2 (de)
CA (1) CA2257669C (de)
DE (1) DE69930333T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60127866T2 (de) 2001-01-16 2007-12-20 Koninklijke Philips Electronics N.V. Verringern von aura-artigen effekten bei der bewegungskompensierten interpolation
US7408989B2 (en) * 2003-01-16 2008-08-05 Vix5 Systems Inc Method of video encoding using windows and system thereof
US20060233258A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
US8229166B2 (en) 2009-07-07 2012-07-24 Trimble Navigation, Ltd Image-based tracking
US8494052B2 (en) * 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
US8155195B2 (en) 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
GB2479933B (en) 2010-04-30 2016-05-25 Snell Ltd Motion estimation
JP5961589B2 (ja) * 2013-07-10 2016-08-02 日本電信電話株式会社 映像生成装置、方法及びプログラム
KR102357965B1 (ko) 2015-01-12 2022-02-03 삼성전자주식회사 객체 인식 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2648254B2 (fr) 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US5276513A (en) 1992-06-10 1994-01-04 Rca Thomson Licensing Corporation Implementation architecture for performing hierarchical motion analysis of video images in real time
FR2699780B1 (fr) 1992-12-22 1995-03-17 Philips Electronique Lab Dispositif de traitement récursif de signal vidéo comprenant une pluralité de branches.
KR100292138B1 (ko) * 1993-07-12 2002-06-20 이데이 노부유끼 디지탈비디오신호용송신기및수신기
JP3321936B2 (ja) * 1993-11-05 2002-09-09 株式会社豊田中央研究所 移動物体検出装置
KR0128875B1 (ko) * 1994-02-24 1998-04-10 배순훈 큰 움직임을 갖는 영상의 움직임 벡터 추정 방법
IL114475A0 (en) * 1995-07-06 1995-11-27 Grid Point Ltd Method for 2D and 3D image capturing representation processing and compression
JPH0955941A (ja) * 1995-08-16 1997-02-25 Sony Corp 画像符号化方法、画像符号化装置、及び画像符号化データの記録装置
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
US6078616A (en) * 1997-03-13 2000-06-20 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation

Also Published As

Publication number Publication date
EP0929192B1 (de) 2006-03-15
JP4016227B2 (ja) 2007-12-05
AU9824198A (en) 1999-07-29
CN1154361C (zh) 2004-06-16
US6285712B1 (en) 2001-09-04
CA2257669C (en) 2009-09-22
DE69930333D1 (de) 2006-05-11
KR100590145B1 (ko) 2006-06-15
CA2257669A1 (en) 1999-07-07
EP0929192A2 (de) 1999-07-14
JPH11203483A (ja) 1999-07-30
EP0929192A3 (de) 1999-08-04
AU748671B2 (en) 2002-06-06
CN1230079A (zh) 1999-09-29
KR19990067759A (ko) 1999-08-25

Similar Documents

Publication Publication Date Title
DE69922973T2 (de) Verfolgung semantischer objekte in vektorbildsequenzen
DE69733978T2 (de) Bilddateninterpolationsgerät
US6233365B1 (en) Image-processing method
DE102004007637B4 (de) Verfahren zum Erzeugen eines Bildes mit erhöhter Auflösung unter Verwendung einer Mehrzahl von Bildern mit niedriger Auflösung
DE3629472A1 (de) Verfahren zur bewegungskompensierten bild-zu-bild-praediktionscodierung
DE102011056982A1 (de) Digitales Bildstabilisierungsverfahren mit adaptiver Filterung
DE69930333T2 (de) Verfahren und Vorrichtung zum Verarbeiten von Bildern und Aufnahmemedium dafür
DE102010053087A1 (de) Auf bidirektionaler, lokaler und globaler Bewegungseinschätzung basierende Bildfrequenzumwandlung
EP1585059A2 (de) Verfahren und Vorrichtung zur Ermittlung von Bewegungsvektoren, die Bildbereichen eines Bildes zugeordnet sind
DE112020000448T5 (de) Kameraselbstkalibrierungsnetz
DE602005001583T2 (de) Verfahren und Anordnung für Bildinterpolierungssysteme mit Bewegungsschätzung und -kompensation
DE69626475T2 (de) Verfahren zur Korrektur von Bewegungsschätzung in Bildern mit periodischen Strukturen
DE602005000425T2 (de) Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden
JP4517409B2 (ja) データ処理装置およびデータ処理方法
EP1906357A1 (de) Kombinierte Optimierung von Bewegungsschätzer und Hochauflösung
DE69738480T2 (de) Interpolationsverfahren von Binärbildern
DE60031559T2 (de) Verfahren und gerät zur lernfähigen klassenauswahl nach mehreren klassifikationen
EP0477616B1 (de) Verfahren zur Schätzung von Bewegung in einem aufgenommenen Bild
EP2487649A1 (de) Testen eines Bewegungsvektors
DE202019102260U1 (de) Vorrichtung zum Erstellen eines neuronalen Netzes
DE102011007644A1 (de) Verfahren und Vorrichtung zur Bestimmung von zur Entzerrung eines Bildes geeigneten Werten und zur Entzerrung eines Bildes
Wu Variable splitting based method for image restoration with impulse plus Gaussian noise
Guan Image restoration by a neural network with hierarchical cluster architecture
DE69923747T2 (de) Datenverarbeitungsanlage und -verfahren
DE102017216854A1 (de) Verfahren und Vorrichtung zum Bewerten von Bildern, Betriebsassistenzverfahren und Betriebsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)