DE10300623A1 - Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich - Google Patents

Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich

Info

Publication number
DE10300623A1
DE10300623A1 DE2003100623 DE10300623A DE10300623A1 DE 10300623 A1 DE10300623 A1 DE 10300623A1 DE 2003100623 DE2003100623 DE 2003100623 DE 10300623 A DE10300623 A DE 10300623A DE 10300623 A1 DE10300623 A1 DE 10300623A1
Authority
DE
Germany
Prior art keywords
motion vector
value
block
maximum
determined
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.)
Ceased
Application number
DE2003100623
Other languages
English (en)
Inventor
Min Cheol Hong
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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of DE10300623A1 publication Critical patent/DE10300623A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Es wird ein adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich offenbart, in welchem Bewegungsvektor-Werte von Blöcken, die einem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart angeordnet sind, bestimmt werden, und dann ein Bewegungsvektor-Suchbereich des spezifizierten Blocks bestimmt wird auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke. Deshalb sieht die vorliegende Erfindung vor, dass die Komplexität der Bewegungsvektor-Abschätzung für einen Dienst für bewegte Bilder auf einer Echtzeitbasis beträchtlich reduziert werden kann und eine Komplexität der Bewegungsvektor-Abschätzung auch beträchtlich reduziert werden kann, ohne eine Kompressionseffizienz zu beeinflussen.

Description

  • Die vorliegende Erfindung betrifft einen Videocodierer und insbesondere ein adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich.
  • Kürzlich hat sich herausgestellt, dass ein Video-Kompressionsverfahren der nächsten Generation den herkömmlichen Video-Kompressionsverfahren im Hinblick auf Leistungsfähigkeit überlegen ist.
  • Das Video-Kompressionsverfahren der nächsten Generation zeigt einen Hauptunterschied zu den herkömmlichen Video- Kompressionsverfahren dahingehend, dass es eine auf 4 × 4- Blöcken basierende Transformation und Codierung verwendet und eine Bewegungsabschätzung und Kompensation auf der Grundlage diese Blocks durchführt.
  • Obwohl das Video-Kompressionsverfahren der nächsten Generation im Hinblick auf die Leistungsfähigkeit dem Video- Standardisierungsverfahren überlegen ist, ist hierbei jedoch problematisch, dass dann, wenn ein Codierer einen Bewegungsvektor für einen variablen Block bestimmt, eine Komplexität für die Bewegungsvektor-Abschätzung beträchtlich erhöht ist.
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, ein adaptives Bestimmungsverfahren für einen Bewegungsvektor- Suchbereich anzugeben, welches in der Lage ist, die Komplexität der Bewegungsvektor-Abschätzung für einen Dienst für bewegte Bilder auf einer Echtzeitbasis zu reduzieren.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein adaptives Bestimmungsverfahren für einen Bewegungsvektor- Suchbereich vorzuschlagen, welches in der Lage ist, eine Komplexität der Bewegungsvektor-Abschätzung zu reduzieren, ohne eine Kompressionseffizienz zu beeinflussen, und zwar durch Abschätzen des Suchbereichs aus Bewegungsvektoren von dem gegenwärtigen Block benachbarten Blöcken.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein adaptives Bestimmungsverfahren für einen Bewegungsvektor- Suchbereich bereitzustellen, welches in der Lage ist, die Komplexität eines Codierers, welcher ein H.26L-Verfahren anwendet, zu reduzieren, und zwar durch Abschätzen des Suchbereichs aus Bewegungsvektoren von dem gegenwärtigen Block benachbarten Blöcken.
  • Um diese und weitere Vorteile zu erreichen und in Übereinstimmung mit dem Zweck der vorliegenden Erfindung, wie sie hier ausgeführt und breit beschrieben ist, wird ein adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich bereitgestellt, welches die Schritte umfasst: Bestimmen von Bewegungsvektor-Werten von einem spezifizierten Block benachbarten Blöcken; und Bestimmen eines Bewegungsvektor-Suchbereichs des spezifizierten Blocks auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke.
  • Um die obigen Ziele zu erreichen, wird ein adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich bereitgestellt, welches die Schritte umfasst: Bestimmen von Bewegungsvektor-Werten von Blöcken, welche einem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart sind; und Bestimmen eines Bewegungsvektor-Suchbereichs des Blocks, wo ein Bewegungsvektor zu bestimmen ist, und zwar auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke.
  • Um die obigen Ziele zu erreichen, wird ein adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich bereitgestellt, welches die Schritte umfasst: Bestimmen von Bewegungsvektor-Werten von Blöcken, die einem spezifizierten Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart sind; Bestimmen eines maximalen Bereichswerts eines lokalen Bewegungsvektors des spezifizierten Blocks auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke; Definieren eines minimalen Werts des Bewegungsvektors des spezifizierten Blocks; Berechnen eines maximalen Werts durch Vergleichen des bestimmten maximalen Bereichswerts des lokalen Bewegungsvektors und des definierten minimalen Werts des Bewegungsvektors, und Bestimmen des berechneten maximalen Werts als einen maximalen Suchbereichswert für den Bewegungsvektor des spezifizierten Blocks; Bestimmen eines minimalen Werts des maximalen Suchbereichswerts für den Bewegungsvektor des spezifizierten Blocks und eines vorab durch einen Benutzer definierten Suchbereichswert, und zwar als einen finalen maximalen Suchbereichswert für den Bewegungsvektor des spezifizierten Blocks.
  • Um die obigen Ziele zu erreichen, wird ein adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich bei einer Bewegungsvektor-Bestimmung eines Videocodierers vorgeschlagen, welches die Schritte umfasst: Bestimmen von Bewegungsvektor-Werten in horizontaler und vertikaler Richtung für Blöcke, welche einem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart sind; Bestimmen eines maximalen Bereichswerts eines lokalen Bewegungsvektors in horizontaler und vertikaler Richtung des spezifizierten Blocks auf der Grundlage der Bewegungsvektorwerte der benachbarten Blöcke; Definieren eines minimalen Werts des Bewegungsvektors in horizontaler und vertikaler Richtung des spezifizierten Blocks; Berechnen eines maximalen Werts durch Vergleichen des bestimmten maximalen Bereichswerts des lokalen Bewegungsvektors und des definierten minimalen Werts des Bewegungsvektors und Bestimmen des berechneten maximalen Werts als einen maximalen Suchbereichswert für den Bewegungsvektor des spezifizierten Blocks; und Bestimmen eines minimalen Werts des maximalen Suchbereichswerts für den Bewegungsvektor des spezifizierten Blocks und einem vorab durch einen Benutzer definierten Suchbereichswert, als einen finalen maximalen Suchbereichswert für den Bewegungsvektor des spezifizierten Blocks.
  • Die vorgenannten und andere Ziele, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung der vorliegenden Erfindung in Verbindung mit den beiliegenden Zeichnungen verständlicher.
  • Die beiliegenden Zeichnungen, welche angefügt sind, um ein weiteres Verständnis der Erfindung zu ermöglichen und einen Teil dieser Beschreibung bilden, erläutern Ausführungsformen der Erfindung und dienen zusammen mit der Beschreibung der Erläuterung der Prinzipien der Erfindung.
  • Hierbei ist:
  • Fig. 1 eine Ansicht, welche, gemäß der vorliegenden Erfindung, einen Block, wo ein Bewegungsvektor zu bestimmen ist, und benachbarte Blöcke zeigt, und
  • Fig. 2 ein Flussdiagramm eines Verfahrens zum adaptiven Bestimmen, gemäß der vorliegenden Erfindung, eines Bewegungsvektor-Suchbereichs des Blocks, wo der Bewegungsvektor zu bestimmen ist.
  • Es wird nun auf die bevorzugten Ausführungsformen der Erfindung, von welcher Beispiele in den beiliegenden Zeichnungen dargestellt sind, im Detail Bezug genommen.
  • Ein Verfahren zum adaptiven Bestimmen eines Bewegungsvektor-Suchbereichs, welches in der Lage ist, eine Komplexität der Bewegungsvektor-Bestimmung merklich zu reduzieren, und zwar durch Bestimmung eines Bewegungsvektor- Suchbereichs eines Blocks auf der Grundlage von Bewegungsvektor-Werten von benachbarten Blöcken, welches auch in der Lage ist, die Komplexität der Bewegungsvektor-Bestimmung merklich zu reduzieren, und zwar ohne eine Kompressionseffizienz zu beeinflussen, um einen Dienst für bewegte Bilder auf einer Echtzeitbasis bereitzustellen, und welches in der Lage ist, eine Komplexität eines Codierers, der ein H.26L-Verfahren anwendet, merklich zu reduzieren, wird nun mit einer bevorzugten Ausführungsform unter Bezugnahme auf die Fig. 1 und 2 beschrieben. Insbesondere wird nun ein Fall des H.26L-Videokompressionsverfahrens als bevorzugte Ausführungsform der Erfindung beschrieben.
  • Zunächst werden bei dem H.26L-Videokompressionsverfahren zeitlich und räumlich komprimierte Information und zusätzliche Information, welche zum Decodieren benötigt wird, unter Verwendung eines Verfahrens übertragen, bei dem ein Codierer räumlich und zeitlich redundante Information entfernt. In dem Video-Kompressionsverfahren ist der Decoder dazu ausgebildet, eine zu dem Codierer umgekehrte Operation auszuführen.
  • Zudem stellt die vorliegende Erfindung ein Verfahren bereit, um die Komplexität des Codierers merklich zu reduzieren, ohne eine Kompressionseffizienz zu beeinflussen, und zwar durch adaptives Bestimmen eines Bewegungsvektor- Suchbereichs aus Information von benachbarten Blöcken.
  • Insbesondere stellt die vorliegende Erfindung ein Verfahren bereit, welches in der Lage ist, einen Bewegungsvektor- Suchbereich eines gegenwärtigen Blocks auf der Grundlage effektiv zu bestimmen, dass die Charakteristiken des Bewegungsvektors des gegenwärtigen Blocks (d. h. des Blocks, wo ein Bewegungsvektor zu bestimmen ist) zu Bewegungsvektoren von vorangehend codierten benachbarten Blöcken hoch korreliert sind.
  • Fig. 1 ist eine Ansicht, welche einen Block, wo ein Bewegungsvektor gemäß der vorliegenden Erfindung zu bestimmen ist, und benachbarte Blöcke zeigt.
  • Wie in Fig. 1 gezeigt ist, wird angenommen, dass "E" ein gegenwärtiger Block ist, d. h. ein Block, wo ein Bewegungsvektor zu bestimmen ist, und "A", "B" und "C" dem Block (E) benachbarte 4 × 4 Blöcke sind. Bewegungsvektor-Werte in horizontaler (x) und vertikaler (y) Richtung für den benachbarten Block (A) sind als MVAx, MVAy dargestellt, Bewegungsvektoren-Werte in horizontaler (x) und vertikaler (y) Richtung für den benachbarten Block (B) sind als MVBx, MVBy dargestellt, und Bewegungsvektor-Werte in horizontaler (x) und vertikaler (y) Richtung für den benachbarten Block (C) sind als MVCx, MXCy, dargestellt.
  • D. h. das Verfahren zum Bestimmen eines Bewegungsvektor- Suchbereichs eines Blocks, wo ein Bewegungsvektor zu bestimmen ist, umfasst die Schritte: Bestimmen von Bewegungsvektoren von einem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbarten Blöcken; und Bestimmen eines Bewegungsvektor-Suchbereichs des Blocks, wo ein Bewegungsvektor zu bestimmen ist, auf der Grundlage der bestimmten Bewegungsvektoren der benachbarten Blöcke.
  • Fig. 2 ist ein Flussdiagramm eines Verfahrens zum adaptiven Bestimmen eines Bewegungsvektor-Suchbereichs des Blocks, wo der Bewegungsvektor zu bestimmen ist, gemäß der vorliegenden Erfindung.
  • Wie in Fig. 2 gezeigt, umfasst ein Verfahren zum Bestimmen eines Bewegungsvektor-Suchbereichs einen ersten Schritt (S21) zum Bestimmen von Bewegungsvektor-Werten (MVAx, MVAY), (MVBx, MVBy) und (MVCx, MVCy) in horizontaler (x) und vertikaler (y) Richtung für einem spezifizierten Block (E), wo ein Bewegungsvektor zu bestimmen ist, benachbarte Blöcke (A, B, C); einen zweiten Schritt (S22) zum Bestimmen eines maximalen Bereichswerts (max_MVEx, max_MVEy) eines lokalen Bewegungsvektors in horizontaler (x) und vertikaler (y) Richtung aus den Bewegungsvektor-Werten in horizontaler (x) und vertikaler (y) Richtung der benachbarten Blöcke (A, B, C); einen dritten Schritt (S23) zum Definieren eines minimalen Werts des Bewegungsvektors in horizontaler (x) und vertikaler (y) Richtung des Blocks (E); einen vierten Schritt (S24) zum Bestimmen eines maximalen Werts des definierten minimalen Werts des Bewegungsvektors und des bestimmten maximalen Bereichswerts des lokalen Bewegungs- .vektors als einen maximalen Suchbereichswert für den Bewegungsvektor in horizontaler (x) und vertikaler (y) Richtung des Blocks (E); und einen fünften Schritt (S25) zum abschließenden Bestimmen eines minimalen Werts des bestimmten maximalen Bereichswerts des Bewegungsvektors und eines Suchbereichswerts, welcher vorangehend durch einen Benutzer definiert ist, als einen abschließenden maximalen Suchbereichswert für den Bewegungsvektor des Blocks (E). In dieser Hinsicht ist der benutzerdefinierte Suchbereichswert ein Suchbereichswert, der in einem Codierer durch einen Benutzer definiert ist.
  • Ein Verfahren zum Bestimmen eines Blocks, wo ein Bewegungsvektor zu bestimmen ist, wird nun in Bezugnahme auf Fig. 1 im Detail beschrieben.
  • Zunächst werden Bewegungsvektor-Werte (MVAx, MVAy), (MVBx, MVBy) und (MVCx, MVCy) in horizontaler (x) und vertikaler (y) Richtung für die dem spezifizierten Block (E), wo ein Bewegungsvektor zu bestimmen ist, benachbarten Blöcke (A, B, C) bestimmt.
  • D. h., wie in dem allgemeinen Kompressionsverfahren werden die Bewegungsvektoren (MVAx, MVAy), (MVBx, MVBy) und (MVCx, MVCy) in horizontaler (x) und vertikaler (y) Richtung der 4 × 4 Blöcke (A, B, C), welche in dem H.26L-Kompressionsverfahren dem Block (E) benachbart sind, vor der Bestimmung des Bewegungsvektors des Blocks (E) bestimmt. Die Bewegungsvektoren (MVAx, MVAy), (MVBx, MVBy) und (MVCx, MVCy) in horizontaler (x) und vertikaler (y) Richtung für die Blöcke (A, B, C) können erhalten werden unter Verwendung einer Bewegungsabschätzung, welche in dem Video-Kompressionsverfahren allgemein bekannt ist (Schritt S21) (deshalb werden detaillierte Beschreibungen hierzu weggelassen).
  • Hiernach wird ein maximaler Suchbereichswert (max_ MVEx, max­MVEy) des lokalen Bewegungsvektors in horizontaler (x)und vertikaler (y) Richtung des Blocks (E) bestimmt, und zwar aus den Bewegungsvektor-Werten in horizontaler (x) und vertikaler (y) Richtung des benachbarten Blocks (A, B, C). D. h. der maximale Bereich (max_MVEx, max_MVEy) des lokalen Bewegungsvektors in horizontaler (x) und vertikaler (y) Richtung des Blocks (E) wird bestimmt als ein maximaler Wert von Absolutwerten jedes Bewegungsvektors in horizontaler (x) und vertikaler (y) Richtung der benachbarten Blöcke (A, B, C), welche gemäß der Formel (1) berechnet werden:

    max_MVEx = max(abs (MVAx), max(abs (MVBx), abs(MVCx))
    max_MVEy = max(abs (MVAy), max (abs(MVBy), abs(MVCy)) (1)

    wobei max(u,v) einen maximalen Wert von 'u' und 'v' bezeichnet und abs(.) eine Absolutwertfunktion bezeichnet (Schritt S22).
  • Bei dem gemäß der Formel (1) bestimmten maximalen Bereich des lokalen Bewegungsvektors des Blocks (E), kann wenn die Bewegung des Blocks (E) sehr verschieden ist von der des benachbarten Blocks, ein wesentlicher Fehler des Bewegungsvektors auftreten. Um einen solchen Fehler zu vermeiden, wird ein minimaler Bereichswert (ki; (kx, ky)) des Bewegungsvektors in horizontaler (x) und vertikaler (y) Richtung für den Block (E) durch die Formel (2) bestimmt, und zwar unter Verwendung statistischer Charakteristiken für die lokale Bewegung (Schritt S23):


    αi = abs(MVAi) + abs(MVBi) + abs(MVCi)
    wobei 'i' die horizontale (x) und vertikale (y) Richtung eines Blocks ist und input search range einen benutzerdefinierten Suchbereich bezeichnet.
  • Hiernach wird ein maximaler Bewegungsvektor-Suchbereich in horizontaler (x) und vertikaler (y) Richtung des Blocks (E), wo ein Bewegungsvektor zu bestimmen ist, durch Formel (3) bestimmt. D. h. ein Wert (2 × max_MVEi), der durch Multiplizieren des maximalen Bereichswerts des lokalen Bewegungsvektors des Blocks (E) gemäß der Formel (1) mit "2" erhalten ist, und der minimale Bereichswert (ki), der dadurch definiert ist, dass er über die Formel (2) berechnet ist, werden verglichen, und der maximale Wert von diesen wird als ein maximaler Bewegungsvektor-Suchbereich (local_search_rangei) bestimmt, und zwar in horizontaler (x) und vertikaler (y) Richtung (Schritt S24).

    local_search_rangex = max(kx, 2 × max_MVEx)
    local_search_rangey = max(ky, 2 × max MVEy) (3)
  • Hierbei kann ein Fehler auftreten, dass der Bewegungsvektor-Suchbereich (local_search_rangei), der durch Berechnung über die Formel (3) bestimmt ist, größer gesetzt wird als der benutzerdefinierte Suchbereich (input_search_range). Um einen solchen Fehler zu vermeiden, wird somit der maximale Suchbereichswert (new_search_rangei) für den Bewegungsvektor des Blocks (E) schließlich durch die Formel (4) bestimmt:

    new_search_rangex = min(input_search_range, local_search_rangex)
    new_search_rangey = min(input_search_range, local_search_rangey) (4)

    wobei "i" x, y angibt.
  • Soweit bisher beschrieben, hat das adaptive Bestimmungsverfahren für den Bewegungsvektor-Suchbereich gemäß der vorliegenden Erfindung viele Vorteile.
  • So werden Bewegungsvektor-Werte von Blöcken, welche einem Block, wo ein Bewegungsvektor zu bestimmen ist, bestimmt, und dann wird ein Bewegungsvektor-Suchbereich des Blocks bestimmt, wo ein Bewegungsvektor zu bestimmen ist, und zwar auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke. Deshalb kann die Komplexität der Bewegungsvektorbestimmung für einen Dienst für bewegte Bilder auf Echtzeitbasis beträchtlich reduziert werden.
  • Da die Bewegungsvektor-Werte von Blöcken, die einem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart sind, bestimmt werden und dann der Bewegungsvektor-Suchbereich des Blocks, wo ein Bewegungsvektor zu bestimmen ist, auf der Grundlage des bestimmten Bewegungsvektor-Werts bestimmt wird, kann die Komplexität der Bewegungsbestimmung beträchtlich reduziert werden, ohne die Kompressionseffizienz zu beeinflussen.
  • Da die Bewegungsvektor-Werte von Blöcken, die einem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart sind, bestimmt werden und dann der Bewegungsvektor-Suchbereich des Blocks, wo ein Bewegungsvektor zu bestimmen ist, auf der Grundlage des bestimmten Bewegungsvektor-Werts bestimmt wird, kann die Komplexität eines Codierers, der das H.26L- Verfahren ausführt, reduziert werden. D. h. es kann in einem digitalen Video-Spieler, der das H.26L-Video-Kompressionsverfahren ausführt, Hochgeschwindigkeitscodieren ausgeführt werden, sodass eine Leistungsfähigkeit des digitalen Videospielers verbessert werden kann. Insbesondere kann durch Anwenden der vorliegenden Erfindung auf ein Kompressionscodierverfahren, welches eine niedrige Bitrate oder eine hohe Verarbeitungsgeschwindigkeit verlangt, der vorangehend beschriebene Effekt erreicht werden.
  • In der vorliegenden Erfindung wurde der Fall der Anwendung des Verfahrens zum Bestimmen eines Bewegungsvektor-Suchbereichs auf ein H.26L-Video-Kompressionsverfahren beschrieben, das Verfahren des Bestimmens eines Bewegungsvektor-Suchbereichs gemäß der vorliegenden Erfindung kann jedoch auf jedes Video-Kompressionsverfahren, wie etwa MPEG-4 und H.263 angewendet werden, um den gleichen Effekt zu erreichen.
  • Zusammenfassend wird ein adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich offenbart, in welchem Bewegungsvektor-Werte von Blöcken, die einem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart angeordnet sind, bestimmt werden, und dann ein Bewegungsvektor-Suchbereich des spezifizierten Blocks bestimmt wird auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke. Deshalb sieht die vorliegende Erfindung vor, dass die Komplexität der Bewegungsvektor-Abschätzung für einen Dienst für bewegte Bilder auf einer Echtzeitbasis beträchtlich reduziert werden kann und eine Komplexität der Bewegungsvektor-Abschätzung auch beträchtlich reduziert werden kann, ohne eine Kompressionseffizienz zu beeinflussen.

Claims (16)

1. Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich, umfassend die Schritte:
Bestimmen von Bewegungsvektor-Werten von Blöcken, die einem spezifizierten Block benachbart sind, und
Bestimmen eines Bewegungsvektor-Suchbereichs des spezifizierten Blocks auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke.
2. Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich, insbesondere in Verbindung mit dem Verfahren gemäß Anspruch 1, umfassend die Schritte:
Bestimmen von Bewegungsvektor-Werten von Blöcken, die einem Block benachbart sind, wo ein Bewegungsvektor zu bestimmen ist, und
Bestimmen eines Bewegungsvektor-Suchbereichs des Blocks, wo ein Bewegungsvektor zu bestimmen ist, auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke.
3. Verfahren nach Anspruch 2, wobei in dem Schritt des Bestimmens des Bewegungsvektor-Werts der benachbarten Blöcke Bewegungsvektor-Werte in horizontaler und vertikaler Richtung der benachbarten Blöcke bestimmt werden.
4. Verfahren nach Anspruch 3, wobei der Schritt des Bestimmens eines Bewegungsvektor-Suchbereichs des Blocks, wo ein Bewegungsvektor zu bestimmen ist, ein Schritt des Bestimmens eines maximalen Bereichswerts eines lokalen Bewegungsvektors in horizontaler und vertikaler Richtung des Blocks, wo ein Bewegungsvektor zu bestimmen ist, ist, und zwar auf der Grundlage der Bewegungsvektor-Werte in horizontaler und vertikaler Richtung für die benachbarten Blöcke.
5. Verfahren nach Anspruch 4, wobei der Schritt des Bestimmens eines Bewegungsvektor-Suchbereichs des Blocks, wo ein Bewegungsvektor zu bestimmen ist, (d. h. eines Bewegungsvektor-Bestimmungsblocks) umfasst:
Definieren eines minimalen Werts des Bewegungsvektors jeweils in horizontaler und vertikaler Richtung des Bewegungsvektor-Bestimmungsblocks, und
Bestimmen eines maximalen Werts des bestimmten maximalen Bereichswerts des lokalen Bewegungsvektors und des definierten minimalen Werts des Bewegungsvektors, und zwar als einen maximalen Suchbereichswert für den Bewegungsvektor in horizontaler und vertikaler Richtung des Bewegungsvektor-Bestimmungsblocks.
6. Verfahren nach Anspruch 5, wobei der Schritt des Bestimmens eines Bewegungsvektor-Suchbereichs des Bewegungsvektor-Bestimmungsblocks umfasst:
Bestimmen eines minimalen Werts des bestimmten maximalen Suchbereichswerts für den Bewegungsvektor in horizontaler und vertikaler Richtung des Bewegungsvektor-Bestimmungsblocks und eines Suchbereichswerts, welcher vorangehend durch einen Benutzer definiert wurde, als einen abschließenden maximalen Suchbereichswert des Bewegungsvektors für den Bewegungsvektor-Bestimmungsblocks.
7. Verfahren nach Anspruch einem der Ansprüche 2 bis 6, wobei der Schritt des Bestimmens eines Bewegungsvektor-Suchbereichs des Blocks, wo ein Bewegungsvektor zu bestimmen ist, (d. h. des Bewegungsvektor-Bestimmungsblocks) umfasst:
Bestimmen von Bewegungsvektor-Werten in horizontaler und vertikaler Richtung für Blöcke, die dem Bewegungsvektor-Bestimmungsblock benachbart sind,
Bestimmen eines maximalen Bereichswerts des lokalen Bewegungsvektors und horizontaler und vertikaler Richtung des Bewegungsvektor-Bestimmungsblocks auf der Grundlage der Bewegungsvektor-Werte der benachbarten Blöcke,
Definieren eines minimalen Werts des Bewegungsvektors in horizontaler und vertikaler Richtung des Bewegungsvektor-Bestimmungsblocks,
Bestimmen eines maximalen Werts des bestimmten maximalen Bereichswerts des lokalen Bewegungsvektors und des definierten minimalen Werts des Bewegungsvektors als einen maximalen Bewegungsvektor-Suchbereich in horizontaler und vertikaler Richtung für den Bewegungsvektor-Bestimmungsblock, und
Bestimmen eines minimalen Werts des maximalen Bewegungsvektor-Suchbereichswerts für den Bewegungsvektor-Bestimmungsblock und des benutzerdefinierten Suchbereichswerts, und zwar als einen abschließenden maximalen Bewegungsvektor-Suchbereichswert für den Bewegungsvektor-Bestimmungsblock.
8. Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich, insbesondere in Verbindung mit dem Verfahren gemäß einem der Ansprüche 1 bis 7, umfassend die Schritte:
Bestimmen von Bewegungsvektor-Werten von Blöcken, welche einem spezifischen Block, wo ein Bewegungsvektor zu bestimmen ist, benachbart sind,
Bestimmen eines maximalen Bereichswerts des lokalen Bewegungsvektors des spezifischen Blocks auf der Grundlage der bestimmten Bewegungsvektor-Werte der benachbarten Blöcke,
Definieren eines minimalen Werts des Bewegungsvektors des spezifizierten Blocks,
Berechnen eines maximalen Werts des Vergleichen des bestimmten maximalen Bereichswerts des lokalen Bewegungsvektors und des definierten minimalen Werts des Bewegungsvektors, und
Bestimmen des berechneten maximalen Werts als einen maximalen Suchbereichswert für den Bewegungsvektor des spezifizierten Blocks, und
Bestimmen eines minimalen Werts des maximalen Suchbereichswerts für den Bewegungsvektor des spezifizierten Blocks und eines Suchbereichswerts, welcher vorangehend durch einen Benutzer definiert wurde, als einen abschließenden maximalen Suchbereichswert für den Bewegungsvektor des spezifizierten Blocks.
9. Verfahren nach Anspruch 8, wobei der Bewegungsvektor des spezifizierten Blocks ein Bewegungsvektor in horizontaler und vertikaler Richtung des spezifizierten Blocks ist, und die Bewegungsvektoren der benachbarten Blöcke Bewegungsvektoren in horizontaler und vertikaler Richtung der benachbarten Blöcke sind.
10. Verfahren nach einem der Ansprüche 7 bis 9, wobei die Bewegungsvektor-Werte in horizontaler und vertikaler Richtung für benachbarte Blöcke verglichen werden und ein maximaler Wert der Vergleichsergebniswerte als ein maximaler Bereichswert des lokalen Bewegungsvektors in horizontaler (x) und vertikaler (y) Richtung des Blocks, wo ein Bewegungsvektor zu bestimmen ist, bestimmt wird, und zwar durch die folgende Formel:

max_MVEx = max(abs(MVAx), max(abs(MVBx), abs (MVCx))
max_MVEy, = max(abs(MVAy), max(abs (MVBy), abs (MVCy))

wobei max_MVEx ein maximaler Bereichswert des lokalen Bewegungsvektors in horizontaler Richtung ist, max_MVEy ein maximaler Bereichswert des lokalen Bewegungsvektors in vertikaler Richtung ist, MVAx, MVAy, MVBx, MVBy und MVCx, MVCy Bewegungsvektor-Werte in horizontaler und vertikaler Richtung von benachbarten Blöcken sind, max(u,v) ein Maximumwert von 'u' und 'v' ist, und abs(.) eine Absolutwertfunktion ist.
11. Verfahren nach einem der Ansprüche 7 bis 10, wobei der definierte minimale Wert des Bewegungsvektors bestimmt wird durch die Formel


αi = abs(MVAi) + abs(MVBi) + abs(MVCi)
wobei 'i' eine horizontale Richtung (x) und vertikale Richtung (y) des Blocks ist und input_search_range ein benutzerdefinierter Bereich ist.
12. Verfahren nach einem der Ansprüche 7 bis 11, wobei der Schritt des Bestimmens eines maximalen Bereichswerts des Bewegungsvektors in horizontaler und vertikaler Richtung des Blocks, wo ein Bewegungsvektor zu bestimmen ist, umfasst:
einen ersten Schritt, in welchem der bestimmte maximale Bereichswert des lokalen Bewegungsvektors verglichen wird mit dem definierten minimalen Wert des Bewegungsvektors, und der berechnete maximale Wert als ein Bewegungsvektor-Suchbereichswert (local_search_rangei) bestimmt wird, und
einen zweiten Schritt; in welchem ein minimaler Wert des bestimmten Bewegungsvektor-Suchbereichswerts (local_search_rangei) und des benutzerdefinierten Bereichswerts des Bewegungsvektors (input_search_rangei) schließlich bestimmt wird durch eine Formel new_search_rangei = min(input_search_range, local_search_rangei), als ein maximaler Suchbereichswert des Bewegungsvektors (new_search_rangei), wobei "i" die horizontale (x) und vertikale (y) Richtung des Blocks bezeichnet.
13. Verfahren nach Anspruch 12, wobei der als der Bewegungsvektor-Suchbereichswert bestimmte maximale Wert bestimmt wird durch die Formel

local_search_rangex = max(kx, Konstante × max_MVEx)
local_search_rangey = max(ky, Konstante × max_MVEy)

wobei max_MVEx ein maximaler Bewegungsvektor-Bereichswert in horizontaler Richtung des Blocks, wo ein Bewegungsvektor zu bestimmen ist, ist, max_MVEy ein maximaler Bewegungsvektor-Bereichswert in vertikaler Richtung des Blocks, wo ein Bewegungsvektor zu bestimmen ist, ist, kx ein minimaler Bewegungsvektor- Bereichswert in horizontaler Richtung des Blocks, wo ein Bewegungsvektor zu bestimmen ist, ist und ky ein minimaler Bewegungsvektor-Bereichswert in vertikaler Richtung des Blocks, wo ein Bewegungsvektor zu bestimmen ist, ist.
14. Verfahren nach Anspruch 13, wobei die Konstante "2" ist.
15. Verfahren nach einem der Ansprüche 1 bis 14, wobei der dem Block, wo ein Bewegungsvektor zu bestimmen ist, benachbarte Block ein 4 × 4 Block ist.
16. Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich bei einer Bewegungsvektor-Bestimmung eines Video-Codierers, insbesondere in Verbindung mit dem Verfahren gemäß einem der Ansprüche 1 bis 15, umfassend die Schritte:
Bestimmen von Bewegungsvektor-Werten in horizontaler und vertikaler Richtung für Blöcke, die einem Block benachbart sind, wo ein Bewegungsvektor zu bestimmen ist,
Bestimmen eines maximalen Bereichswerts des lokalen Bewegungsvektors und horizontaler und vertikaler Richtung des spezifizierten Blocks auf der Grundlage der Bewegungsvektor-Werte der benachbarten Blöcke,
Definieren eines minimalen Werts des Bewegungsvektors in horizontaler und vertikaler Richtung des spezifizierten Blocks,
Berechnen eines maximalen Werts durch Vergleichen des bestimmten maximalen Bereichswerts des lokalen Bewegungsvektors und des definierten minimalen Werts des Bewegungsvektors und bestimmen des berechneten maximalen Werts als einen maximalen Suchbereichswert des Bewegungsvektors des spezifizierten Blocks, und
Bestimmen eines minimalen Werts des maximalen Suchbereichswerts für den bestimmten Bewegungsvektor des spezifizierten Blocks und eines vorab durch einen Benutzer definierten Suchbereichswerts, und zwar als einen abschließenden maximalen Bewegungsvektor-Suchbereichswert für den spezifizierten Block.
DE2003100623 2002-01-26 2003-01-10 Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich Ceased DE10300623A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0004667A KR100455119B1 (ko) 2002-01-26 2002-01-26 움직임 벡터 영역의 적응적 결정 방법

Publications (1)

Publication Number Publication Date
DE10300623A1 true DE10300623A1 (de) 2003-08-07

Family

ID=36712998

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003100623 Ceased DE10300623A1 (de) 2002-01-26 2003-01-10 Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich

Country Status (10)

Country Link
US (1) US20030142749A1 (de)
EP (1) EP1335606A3 (de)
JP (1) JP2003244707A (de)
KR (1) KR100455119B1 (de)
CN (1) CN1197382C (de)
DE (1) DE10300623A1 (de)
GB (1) GB2386019B (de)
NL (1) NL1022352C2 (de)
RU (1) RU2277761C2 (de)
TW (1) TW586320B (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100560843B1 (ko) * 2003-04-10 2006-03-13 에스케이 텔레콤주식회사 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치
JPWO2005036887A1 (ja) * 2003-10-14 2006-12-28 日本電気株式会社 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラム
CN100556139C (zh) * 2004-01-08 2009-10-28 Nxp股份有限公司 基于局部运动复杂性来分配候选矢量
CN100385957C (zh) * 2004-05-21 2008-04-30 中国科学院计算技术研究所 一种运动矢量预测的方法
CN100433835C (zh) * 2005-03-01 2008-11-12 凌阳科技股份有限公司 动态调整运动估计的方法及系统
CN100366092C (zh) * 2005-04-08 2008-01-30 北京中星微电子有限公司 一种视频编码中基于运动矢量预测的搜索方法
US8107748B2 (en) 2005-09-16 2012-01-31 Sony Corporation Adaptive motion search range
US8494052B2 (en) * 2006-04-07 2013-07-23 Microsoft Corporation Dynamic selection of motion estimation search ranges and extended motion vector ranges
US8098898B2 (en) * 2006-10-27 2012-01-17 Panasonic Corporation Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system
EP3264772B1 (de) 2007-03-14 2022-09-07 Nippon Telegraph And Telephone Corporation Quantisierungssteuerungsverfahren und -vorrichtung, programm dafür und speichermedium mit darauf gespeichertem programm
JP4949462B2 (ja) 2007-03-14 2012-06-06 日本電信電話株式会社 符号量推定方法、装置、そのプログラムおよび記録媒体
CA2679767C (en) 2007-03-14 2013-06-25 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
KR101083379B1 (ko) 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 움직임 벡터 탐색 방법 및 장치 그리고 프로그램을 기록한 기록매체
JP2009153102A (ja) * 2007-11-28 2009-07-09 Oki Electric Ind Co Ltd 動きベクトル検出装置、フレーム間符号化装置、動画像符号化装置、動きベクトル検出プログラム、フレーム間符号化プログラム及び動画像符号化プログラム
US9445089B2 (en) 2011-03-09 2016-09-13 Nippon Telegraph And Telephone Corporation Video encoding device, video encoding method and video encoding program
KR101532665B1 (ko) * 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
TW201306568A (zh) * 2011-07-20 2013-02-01 Novatek Microelectronics Corp 移動估測方法
TWI461066B (zh) * 2011-11-03 2014-11-11 Ind Tech Res Inst 彈性調整估算搜尋範圍的移動估算方法及視差估算方法
KR101347062B1 (ko) * 2012-06-27 2014-01-10 숭실대학교산학협력단 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
GB2518919B (en) * 2014-03-14 2015-11-18 Imagination Tech Ltd Error tracking and mitigation for motion compensation-based video compression
US20170332094A1 (en) * 2016-05-16 2017-11-16 Google Inc. Super-wide area motion estimation for video coding
CN109496431A (zh) * 2016-10-13 2019-03-19 富士通株式会社 图像编码/解码方法、装置以及图像处理设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428396A (en) * 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
US5351083A (en) * 1991-10-17 1994-09-27 Sony Corporation Picture encoding and/or decoding system
JPH0955941A (ja) * 1995-08-16 1997-02-25 Sony Corp 画像符号化方法、画像符号化装置、及び画像符号化データの記録装置
KR100234264B1 (ko) * 1997-04-15 1999-12-15 윤종용 타겟윈도우 이동을 통한 블록 매칭방법
WO2000022833A1 (en) * 1998-10-13 2000-04-20 Stmicroelectronics Asia Pacific Pte Ltd Motion vector detection with local motion estimator
US6081209A (en) * 1998-11-12 2000-06-27 Hewlett-Packard Company Search system for use in compression
EP1120976A4 (de) * 1999-07-29 2006-03-29 Mitsubishi Electric Corp Verfahren zur bewegungsvektordetektion
US7072398B2 (en) * 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
EP1134981A1 (de) * 2000-03-17 2001-09-19 STMicroelectronics S.r.l. Automatische Bestimmung der optimalen Suchfenstergrösse für Bewegungsschätzung
TW550953B (en) * 2000-06-16 2003-09-01 Intel Corp Method of performing motion estimation
US6842483B1 (en) * 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation

Also Published As

Publication number Publication date
JP2003244707A (ja) 2003-08-29
TW200302668A (en) 2003-08-01
RU2277761C2 (ru) 2006-06-10
KR20030064162A (ko) 2003-07-31
CN1436002A (zh) 2003-08-13
GB2386019B (en) 2004-04-07
EP1335606A2 (de) 2003-08-13
NL1022352C2 (nl) 2003-12-23
CN1197382C (zh) 2005-04-13
GB2386019A (en) 2003-09-03
US20030142749A1 (en) 2003-07-31
KR100455119B1 (ko) 2004-11-06
GB0300286D0 (en) 2003-02-05
EP1335606A3 (de) 2004-09-01
TW586320B (en) 2004-05-01
NL1022352A1 (nl) 2003-07-30

Similar Documents

Publication Publication Date Title
DE10300623A1 (de) Adaptives Bestimmungsverfahren für einen Bewegungsvektor-Suchbereich
DE19638632B4 (de) Verfahren und Vorrichtung zur Bewegtbildkodierung
DE19825042C2 (de) Verfahren zur Bewegungsvektorcodierung bei MPEG-4
DE60220106T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
EP0309669B1 (de) Verfahren zur szenenmodellgestützten Bilddatenreduktion für digitale Fernsehsignale
DE19730360B4 (de) Bilddatenfilterungsvorrichtung und Verfahren zur Verminderung von Bilddatencodierfehlern
DE69933483T2 (de) Vorrichtung und Verfahren zum Codieren mit bewegungskompensierter Vorhersage
DE69635369T2 (de) Videokodierungsvorrichtung
DE19734882C2 (de) Verfahren zum Kodieren von Bewegungsvektoren bei Filmaufnahmen
EP1635578B1 (de) Verfahren und Anordnung zur Videocodierung, wobei die Videocodierung Texturanalyse und Textursynthese sowie Texturverzerrung umfasst, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE60035740T2 (de) Vorrichtung und Verfahren zur Kodierung von Bewegtbildsignalen
DE102010025816A1 (de) Verfahren und Systeme zum Abschätzen von Bewegung basierend auf rekonstruierten Referenzframes bei einem Videodecoder
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
DE10300048A1 (de) Verfahren und Vorrichtung zur Bildcodierung und -decodierung
EP0285902A2 (de) Verfahren zur Datenreduktion digitaler Bildsequenzen
DE102014006442A1 (de) Codierung eines Bildes
EP1665805B1 (de) Verfahren zur transcodierung eines datenstroms, der ein oder mehrere codierte digitalisierte bilder umfasst mit intra-prädiktionsmodi
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE19717608B4 (de) Wahrnehmungsfehlerbearbeitungsverfahren und Bildkodierungsvorrichtung, welche dieses Verfahren verwendet
DE19711670B4 (de) Verfahren und Vorrichtung zum Codieren des Umrisses eines Gegenstandes unter Verwendung des Flächenschwerpunktes
DE4405803C2 (de) Verfahren zur Quellcodierung
Kong et al. Guided cnn restoration with explicitly signaled linear combination
EP0845909B1 (de) Verfahren und Filter zur Reduzierung des Blocking Effektes
DE102006003168A1 (de) Kodiervorrichtung, Verfahren zum Anpassen einer Dekodierberechnung und Computerprogrammprodukt hierfür

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection