DE102010046508B4 - Verfahren und Vorrichtung, um einen Suchbereich für die Bewegungsabschätzung adaptiv auszuwählen - Google Patents

Verfahren und Vorrichtung, um einen Suchbereich für die Bewegungsabschätzung adaptiv auszuwählen Download PDF

Info

Publication number
DE102010046508B4
DE102010046508B4 DE102010046508.9A DE102010046508A DE102010046508B4 DE 102010046508 B4 DE102010046508 B4 DE 102010046508B4 DE 102010046508 A DE102010046508 A DE 102010046508A DE 102010046508 B4 DE102010046508 B4 DE 102010046508B4
Authority
DE
Germany
Prior art keywords
block
frame
motion
blocks
motion vectors
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.)
Active
Application number
DE102010046508.9A
Other languages
English (en)
Other versions
DE102010046508A1 (de
Inventor
Lidong Xu
Yi Jen Chiu
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.)
Tahoe Research Ltd
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE102010046508A1 publication Critical patent/DE102010046508A1/de
Application granted granted Critical
Publication of DE102010046508B4 publication Critical patent/DE102010046508B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • 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

Abstract

Verfahren zur Bewegungsabschätzung für einen ersten Block eines ersten Frames, umfassend:
Bestimmen einer Reihe von Bewegungsvektoren, die jeweils einem Block entsprechen, wobei jeder Block mit dem ersten Block als zeitlicher oder räumlicher unmittelbarer oder mittelbarer Nachbar verbunden ist;
Berechnen eines Durchschnittswerts (mean value, mv) der Reihe von Bewegungsvektoren; und
Berechnen eines Suchbereich-Vektors gemäß der Formel ( α * mv ) + β ,
Figure DE102010046508B4_0001
wobei α = 1,1 und β = (4, 4) ist; und
der Suchbereich-Vektor eine Bewegungssuche zur Ermittlung der Bewegungsabschätzung für den ersten Block begrenzt.

Description

  • HINTERGRUND
  • Bewegungsabschätzung (motion estimation, ME) bei der Videocodierung kann verwendet werden, um die Videokomprimierungsleistung zu verbessern, indem temporäre Redundanz zwischen Videoframes entfernt oder verringert wird. Um einen Eingabeblock zu codieren, kann herkömmliche Bewegungsabschätzung bei einem Encoder innerhalb eines spezifizierten Suchfensters in Referenzframes durchgeführt werden. Dadurch kann ein Bewegungsvektor bestimmt werden, um die Gesamtabweichungen (sum of absolute differences, SAD) zwischen dem Eingabeblock und einem Referenzblock in einem Referenzframe zu minimieren. Die Information des Bewegungsvektors (motion vector, MV) kann dann an einen Decoder zur Bewegungskompensation übertragen werden. Der Bewegungsvektor kann für nicht ganzzahlige Pixeleinheiten bestimmt werden, und Interpolationsfilter können verwendet werden, um nicht ganzzahlige Pixelwerte zu berechnen.
  • Wo die ursprünglichen Eingabeframes bei dem Decoder nicht verfügbar sind, kann ME bei dem Decoder mittels der rekonstruierten Referenzframes durchgeführt werden. Bei der Codierung eines vorhergesagten Frames (P-Frame) kann es mehrere Referenzframes in einem Vorwärts-Referenzpuffer geben. Bei der Codierung eines Doppelvorhersage-Frames (B-Frame) kann es mehre Referenzframes im Vorwärtsreferenzpuffer und mindestens einen Referenzframe in einem Rückwärtsreferenzpuffer geben. Zur Codierung eines B-Frames kann Spiegel-ME oder projektive ME durchgeführt werden, um den MV zu erhalten. Zur Codierung eines P-Frames kann projektive ME durchgeführt werden, um den MV zu erhalten.
  • Bei anderen Zusammenhängen kann ein blockbasierter Bewegungsvektor beim Videodecoder durch Ausführen der Bewegungsabschätzung an verfügbaren zuvor decodierten Pixeln in Bezug auf Blocks in einem oder mehreren Frames erzeugt werden. Die verfügbaren Pixel könnten zum Beispiel räumlich angrenzende Blocks in der sequenziellen Scancodierungsreihenfolge des derzeitigen Frames, Blocks in einem zuvor decodierten Frame oder Blocks in einem Downsampling-Frame in einer unteren Schicht sein, wenn Schichtcodierung verwendet wurde. Die verfügbaren Pixel können alternativ eine Kombination der oben erwähnten Blocks sein.
  • In „CHEN, Z.; SONG, Y; IKENAGA T.; GOTO S.: A Macroblock Level Adaptive Search Range Algorithm For Variable Block Size Motion Estimation In H.264/AVC. In: Proceedings of 2007 International Symposium on Intelligent Signal Processing and Communication Systems, Xiamen, China, Nov. 28-Dec. 1, 2007, p. 598-601" ist ein adaptiver Algorithmus zum Ermitteln eines Suchbereichs (search range) offenbart. Die Größe des Suchbereichs wird durch einen skalaren Wert definiert. Ferner ist die Verwendung von Bewegungsvektoren offenbart.
  • In „HISA, C.-H.; CHIANG, J.-S.; CHOU S.-G-: High Efficiency and Low Complexity Motion Estimation Algorithm for MPEG-4 AVC/H.264 Coding. In: Tamkang Journal of Science and Engineering, vol. 10, 2007, no. 3, p. 221-234“ sind verschiedene Suchmuster (search pattern) offenbart, die zur Suche nach Bewegungsvektoren dienen sollen.
  • In „NISAR, H.; CHOI, T.S.: Fast Motion Estimation Algorithm based on Spatio-Temporal Correlation and Direction of Motion Vectors. In: Electronic Letters, Vol. 42, Nov. 23, 2006, No. 24“ ist eine Konstruktion statischer Suchmuster offenbart.
  • In „WERDA, I.: CHAOUCH, H.; SAMET, A.; AYED, M.; MASMOUDI, N.: Optimal DSP-Based Motion Estimation Tools Implementation for H.264/AVC Baseline Encoder. In: International Journal of Computer Science and Network Security, Vol. 7, May 2007, No. 5, S. 141-150" sind ebenfalls bestimmte statische Suchmuster offenbart.
  • In US 2007/0064803 A1 ist ein adaptives Verfahren zur Bestimmung eines Suchbereichs zur Bewegungsabschätzung offenbart. Das Suchbereichsfenster wird verkleinert, wenn in der Umgebung des Fensterzentrums nur geringe Bewegung vorausgesagt wird. Werte für den Suchbereich werden aus zuvor betrachteten Bewegungsvektoren der benachbarten Blöcke eines betreffenden Blocks ermittelt. Hierzu wird ein Mittelwert dieser Bewegungsvektoren berechnet.
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine möglichst präzise Bewegungsabschätzung für einen Block zu ermöglichen.
  • Figurenliste
    • 1 veranschaulicht Spiegelbewegungsabschätzung bei einem Decoder gemäß einer Ausführungsform.
    • 2 veranschaulicht projektive Bewegungsabschätzung bei einem Decoder gemäß einer Ausführungsform.
    • 3 zeigt MV-Ableitung unter Verwendung bereits decodierter Blocks von einem derzeitigen Frame, wo die Bewegungssuche gemäß einer Ausführungsform auf Blocks in zwei unterschiedlichen Referenzframes basiert.
    • 4 zeigt MV-Ableitung unter Verwendung zuvor decodierter Blocks von bereits decodierten vorherigen und nachfolgenden Frames gemäß einer Ausführungsform.
    • 5 zeigt MV-Ableitung unter Verwendung eines zuvor decodierten Blocks von einem niedrigeren Niveau in einem Schichtcodierungszusammenhang gemäß einer Ausführungsform.
    • 6 ist ein Ablaufdiagramm, das die Bestimmung eines Suchbereichvektors auf Blockniveau gemäß einer Ausführungsform zeigt.
    • 7 ist ein Ablaufdiagramm, das die Bestimmung eines Suchbereichvektors auf Bildniveau gemäß einer Ausführungsform zeigt.
    • 8 zeigt einen Berechnungszusammenhang einer exemplarischen Softwareausführungsform.
    • 9 ist ein Blockdiagramm, das ein MV-Selbstableitungsmodul im Zusammenhang mit einem H.264-Encoder gemäß einer Ausführungsform zeigt.
    • 10 ist ein Blockdiagramm, das ein MV-Selbstableitungsmodul im Zusammenhang mit einem H.264-Decoder gemäß einer Ausführungsform zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Im Folgenden werden Systeme, Verfahren und Computerprogramm-Produkte beschrieben, die verwendet werden können, um einen Suchbereich-Vektor (search range, SR) beim Durchführen der Bewegungsabschätzung bei zum Beispiel einem Videoencoder oder -decoder zu bestimmen. Das Bestimmen eines Bewegungsvektors für einen derzeitigen Block während der Bewegungsabschätzung kann die Suche innerhalb eines Suchfensters einschließen, das sich in einem Referenzframe oder in einem zuvor decodierten Block befinden kann, der räumlich oder zeitlich an den derzeitigen Block grenzt. Solch eine Suche sucht einen Bewegungsvektor, der eine Metrik wie z. B. ein SAD zwischen entsprechenden Blocks von Referenzframes minimiert. Ein Bewegungsvektor, der solch eine Metrik minimiert, kann ein guter Kandidat für die Verwendung in der Bewegungsabschätzung sein. Die Suche kann leistungsfähiger werden, wenn ein Suchbereich so bestimmt wird, dass das Ausmaß der Suche begrenzt ist.
  • Eine Suche kann auf Blockniveau oder auf Bildniveau durchgeführt werden. Beim Bestimmen eines Suchbereich-Vektors auf Blockniveau kann der Suchbereich-Vektor für unterschiedliche Blocks im gesamten Frame unterschiedlich sein. Beim Bestimmen eines Suchbereich-Vektors auf Bildniveau kann derselbe Suchbereich-Vektor für jeden Block im Frame verwendet werden.
  • Bei einer Ausführungsform kann ein Suchbereich-Vektor aus einer Suchbereich-Komponente in jedem der horizontalen und vertikalen Richtungen bestehen.
  • Es ist zu beachten, dass die Begriffe „Frame“ und „Bild“ hier auf austauschbare Weise gebraucht werden, wie es ein Fachmann verstehen würde.
  • Spiegel-ME
  • Spiegel-ME kann sowohl Vorwärts- als auch Rückwärts-Referenzframes verwenden und wird demzufolge im Allgemeinen zur Codierung von B-Frames angewendet. 1 zeigt, wie Spiegel-ME gemäß einer Ausführungsform 100 durchgeführt werden kann. Bei der Ausführungsform von 1 kann es zwei B-Frames, 110 und 115, zwischen einem Vorwärts-Referenzframe 120 und einem Rückwärts-Referenzframe 130 geben. Frame 110 kann der derzeitige Codierungsframe sein. Bei der Codierung des derzeitigen Blocks 140 kann Spiegel-ME durchgeführt werden, um Bewegungsvektoren zu erhalten, indem Suchläufe in den Suchfenstern 160 und 170 der Referenzframes 120 bzw. 130 durchgeführt werden. Wie vorstehend erwähnt, kann Spiegel-ME mit den zwei Referenzframes durchgeführt werden, wo der derzeitige Eingabeblock bei dem Decoder möglicherweise nicht verfügbar ist.
  • Eine exemplarische Bewegungssuche in diesem Zusammenhang kann wie folgt ablaufen. Ein Suchfenster kann im Vorwärts-Referenzframe angegeben werden. Dieses Suchfenster kann sowohl bei dem Encoder als auch dem Decoder das gleiche sein. Ein Suchpfad kann im Vorwärtssuchfenster angegeben sein. Gesamtsuche oder jedes schnelle Suchschema kann hier verwendet werden, solange der Encoder und Decoder dem gleichen Suchpfad folgen. Für einen Vektor MV0 im Suchpfad kann dessen Spiegel-Bewegungsvektor MV1 im Rückwärtssuchfenster erhalten werden. Hier kann davon ausgegangen werden, dass die Bewegungskurve während der zugehörigen Zeitdauer eine gerade Linie ist, die relativ kurz sein kann. MV1 kann als die folgende Funktion von MV0 erhalten werden, wobei d0 und d1 die Abstände zwischen dem derzeitigen Frame und jedem der entsprechenden Referenzframes sein können. M V 1 = d 1 d 0 M V 0
    Figure DE102010046508B4_0002
  • Eine Metrik, wie z. B. eine SAD, kann zwischen (i) dem Referenzblock, auf den durch MV0 im Vorwärts-Referenzframe gezeigt wird, und (ii) dem Referenzblock, auf den durch MV1 im Rückwärts-Referenzframe gezeigt wird, berechnet werden. Diese Referenzblocks sind als 150 und 180 gezeigt in 1. Es kann bestimmt werden, ob in dem Suchpfad irgendwelche zusätzlichen Bewegungsvektoren MV0 vorhanden sind. Wenn dem so ist, kann mehr als ein MV0 erhalten werden, wo jeder MV0 einen verbundenen MV1 aufweist. Außerdem kann für jedes eines solchen zugehörigen Paares eine Metrik, z. B. eine SAD, erhalten werden. Der MV0, der den optimalen Wert für die Metrik generiert, z. B. die minimale SAD, wird ausgewählt.
  • Angesichts des Paars von Bewegungsvektoren MV0 und MV1, das für den derzeitigen Block erhalten wird, können seine Vorwärts-Vorhersagen P0(MV0) mit MV0 erhalten werden, seine Rückwärts-Vorhersagen P1(MV1) können mit MV1 erhalten werden und seine Bidirektional-Vorhersagen können mit sowohl MV0 als auch MV1 erhalten werden. Die Bidirektional-Vorhersagen können beispielsweise der Mittelwert von P0(MV0) und P1(MV1) oder der gewichtete Mittelwert (P0(MV0) * d1 + P1(MV1) * d0) / (d0 + d1) sein. Eine alternative Funktion kann verwendet werden, um eine Bidirektional-Vorhersage zu erhalten. Bei einer Ausführungsform können der Encoder und Decoder das gleiche Vorhersageverfahren verwenden.
  • Spiegel-ME nimmt an, dass Bewegungen zwischen jeden zwei angrenzenden Bildern linear sind, wie gezeigt in 1. Bei der Codierung eines derzeitigen Blocks in Bild 110 können die zwei Referenzbilder, FWRef 120 und BWRef 130 in einem Referenzpuffer verfügbar sein. Angenommen der verfügbare Block-MV zwischen BWRef 130 und FWRef 120 sei Ref_MVi für Block i (hier ist der Bewegungsvektor gemäß der Entfernung des Bildes angepasst), dann kann der Suchbereich-Vektor unter Verwendung aller Ref_MVi bestimmt werden, indem man eine lineare oder nichtlineare Verarbeitungsfunktion f() verwendet, SR = SR _ Pic = f ( Ref _ MVi ) .
    Figure DE102010046508B4_0003
  • Die Verarbeitungsfunktion f() kann bei einer Ausführungsform wie folgt sein. Zuerst kann der Durchschnittswert von absolutem Ref_MVi über Blocks i erhalten werden. Der Durchschnittswert kann mit mv_ref bezeichnet sein. Dann kann für das Bild 110 der adaptive Suchbereich wie folgt berechnet werden. α und β können zwei vorherbestimmte Konstanten sein (ein Skalar und ein Vektor). Diese können bei einer Ausführungsform auf 1,1 und (4, 4) gesetzt sein. Hier ist der berechnete adaptive SR als SR_Pic gezeigt. Dies kann als der adaptive Bildniveau-Suchbereich-Vektor verwendet werden. SR = SR _ Pic = α * mv _ ref + β
    Figure DE102010046508B4_0004
  • Für jeden Block im Frame 110 kann der Blockniveau-Suchbereich basierend auf den Bewegungsvektoren von zeitlichen und/oder räumlichen angrenzenden Blocks bestimmt werden. Nehmen wir zum Beispiel an, dass die Bewegungsvektoren von angrenzenden Blocks i Nbr_MVi sind (hier ist der Bewegungsvektor gemäß der Entfernung des Bildes skaliert). Dann kann der Suchbereich-Vektor unter Verwendung aller Nbr_MVi bestimmt werden, indem man eine lineare oder nichtlineare Verarbeitungsfunktion g() verwendet, SR = SR _ Blk = g ( Nbr _ MVi ) .
    Figure DE102010046508B4_0005
  • Bei einer Ausführungsform kann die Verarbeitungsfunktion g() wie folgt sein. Zuerst kann der Durchschnittswert von absolutem Nbr_MVi erhalten werden, bezeichnet mit mv_nbr. Dann kann der adaptive Blockniveau-Suchbereich-Vektor SR_Blk wie folgt berechnet werden. Wo α und β zwei Konstanten sind, die bei einer Ausführungsform auf 1,1 und (4, 4) gesetzt sein können, SR = SR _ Blk = α * mv _ nbr + β
    Figure DE102010046508B4_0006
  • Bei einigen Ausführungsformen kann es sein, dass die horizontalen und vertikalen Komponenten in einem Suchbereich-Vektor identisch sein müssen. Hier kann der Wert der größeren von den zwei Komponenten sowohl für die horizontalen als auch die vertikalen Komponenten verwendet sein.
  • Projektive Bewegungsabschätzung
  • Projektive ME kann durchgeführt werden, um einen MV zur Codierung des derzeitigen Blocks abzuleiten. 2 zeigt ein exemplarisches projektives ME-Szenarium, das zwei Vorwärtsreferenz-Frames, FWRef0 (gezeigt als Referenzframe 220) und FWRef1 (gezeigt als Referenzframe 230) verwenden kann. Diese Referenzframes können verwendet werden, um einen Bewegungsvektor für einen Zielblock 240 in einem derzeitigen Frame 210 abzuleiten. Ein Suchfenster 270 kann in Referenzframe 220 spezifiziert sein, und ein Suchpfad kann in Suchfenster 270 spezifiziert sein. Für jeden Bewegungsvektor MV0 in dem Suchpfad kann sein projektiver Bewegungsvektor MV1 in Suchfenster 260 von Referenzframe 230 bestimmt werden. Für jedes Paar von Bewegungsvektoren, MV0 und sein zugehöriger Bewegungsvektor MV1, kann eine Metrik, wie z. B. ein SAD zwischen (1) dem Referenzblock 280, auf den durch MV0 in Referenzframe 220 gezeigt wird, und (2) dem Referenzblock 250, auf den durch MV1 in Referenzframe 230 gezeigt wird, berechnet werden. Der Bewegungsvektor MV0, der den Optimalwert für die Metrik ergibt, z. B. die minimale SAD, kann anschließend als der Bewegungsvektor für Zielblock 240 ausgewählt werden.
  • Der Prozess für den projektiven ME kann wie folgt ablaufen. Es kann ein Suchfenster in einem ersten Vorwärts-Referenzframe spezifiziert sein. Dieses Fenster kann sowohl bei dem Encoder als auch dem Decoder das gleiche sein. Ein Suchpfad kann in diesem Suchfenster spezifiziert sein. Gesamtsuche oder schnelle Suchschemata können hier verwendet werden, sodass beispielsweise der Encoder und Decoder dem gleichen Suchpfad folgen können. Für einen Bewegungsvektor MV0 im Suchpfad kann dessen projektiver Bewegungsvektor MV1 in einem zweiten Suchfenster in einem zweiten Vorwärts-Referenzframe erhalten werden. Hier kann davon ausgegangen werden, dass die Bewegungskurve über diese kurze Zeitdauer eine gerade Linie ist. MV1 kann als die folgende Funktion von MV0 erhalten werden, wobei d0 und d1 die Abstände zwischen dem derzeitigen Frame und jedem der entsprechenden Referenzframes sein können. M V 1 = d 1 d 0 M V 0
    Figure DE102010046508B4_0007
  • Eine Metrik, wie z. B. eine SAD, zwischen (i) dem Referenzblock, auf den durch MV0 in dem ersten Referenzframe gezeigt wird, und (ii) dem Referenzblock, auf den durch MV1 in dem zweiten Referenzframe gezeigt wird, kann berechnet werden. Diese Referenzblocks sind als 150 und 180 gezeigt in 1. Es kann bestimmt werden, ob es irgendwelche zusätzlichen Bewegungsvektoren MV0 gibt, die in dem Suchpfad verbleiben und die noch nicht berücksichtigt worden sind. Auf diese Weise können Paare, MV0 und MV1, bestimmt und eine Metrik, wie z. B. eine SAD, für jedes Paar berechnet werden. Auf diese Art und Weise kann ein Satz von Paaren, MV0 und MV1, bestimmt und eine Metrik, z. B. eine SAD, für jeden Satz berechnet werden. Einer der MV0s kann ausgewählt werden, wobei der ausgewählte MV0 den Optimalwert für die Metrik ergibt, wie z. B. die minimale SAD. Dieser MV0 kann dann verwendet werden, um Bewegung für den derzeitigen Block vorherzusagen.
  • Die Vorhersagen für den derzeitigen Block können auf verschiedene Arten erhalten werden. Die Vorhersagen können beispielsweise P0(MV0), P1(MV1), (P0(MV0) + P1(MV1)) / 2 oder (P0(MV0) * d1 + P1(MV1) * d0) / (d0 + d1) sein. Bei weiteren Ausführungsformen können andere Funktionen verwendet werden. Die Vorhersagen können sowohl bei dem Encoder als auch dem Decoder auf die gleiche Art und Weise erhalten werden.
  • Der projektive ME kann annehmen, dass Bewegung zwischen zwei angrenzenden Bildern linear ist, wie gezeigt in 2 verkörpern. Indem man dasselbe Verfahren, wie für Spiegel-ME oben beschrieben verwendet, kann der Bildniveau-Suchbereich unter Verwendung der Block-Bewegungsvektoren zwischen FWRef0 erhalten werden (Frame 220 von 2) und FWRef1 (Frame 430). Der Blockniveau-Suchbereich kann unter Verwendung der Bewegungsvektor-Information von Blocks erhalten werden, die an den derzeitigen Block zeitlich und räumlich, wie oben beschrieben in Bezug auf Spiegel-ME, angrenzen.
  • Auf räumlich angrenzenden Blocks basierende Bewegungsabschätzung
  • 3 zeigt eine Ausführungsform 300, die eine oder mehrere angrenzende Blocks 340 (hier gezeigt als Blocks darüber und links vom Zielblock 330) in einem derzeitigen Frame 310 verwenden kann. Das kann die Generierung eines Bewegungsvektors basierend auf einem oder mehreren entsprechenden Blocks 350 und 355 in einem vorherigen Referenzframe 320 und einem nachfolgenden Referenzframe 360 ermöglichen, wo sich die Begriffe „vorherig“ und „nachfolgend“ auf eine zeitliche Reihenfolge beziehen. Der Bewegungsvektor kann dann auf Zielblock 330 angewandt werden. Bei einer Ausführungsform kann man eine Rasterscan-Codierungsreihenfolge verwenden, um räumliche Nachbarblocks darüber, links, darüber und links und darüber und rechts vom Zielblock zu bestimmen. Dieser Ansatz kann für B-Frames verwendet werden, die sowohl vorhergehende als auch folgende Frames für die Decodierung einsetzen.
  • Der veranschaulichte Ansatz durch 3 kann auf verfügbare Pixel von räumlich angrenzenden Blocks in einem derzeitigen Frame angewandt werden, solange die angrenzenden Blocks vor dem Zielblock in der sequenziellen Scancodierungsreihenfolge decodiert wurden. Des Weiteren kann dieser Ansatz Bewegungssuche in Bezug auf Referenzframes in Referenzframe-Listen für einen derzeitigen Frame anwenden.
  • Die Verarbeitung der Ausführungsform von 3 kann wie folgt stattfinden. Zuerst können ein oder mehrere Blocks von Pixeln im derzeitigen Frame identifiziert werden, wo die identifizierten Blocks an den Zielblock des derzeitigen Frames angrenzen. Die Bewegungssuche für die identifizierten Blocks kann dann basierend auf entsprechenden Blocks in einem zeitlich nachfolgenden Referenzframe und auf entsprechenden Blocks in einem vorherigen Referenzframe durchgeführt werden. Die Bewegungssuche kann in Bewegungsvektoren für die identifizierten Blocks resultieren. Alternativ können die Bewegungsvektoren der angrenzenden Blocks vor der Identifizierung dieser Blocks bestimmt werden. Die Bewegungsvektoren können dann verwendet werden, um den Bewegungsvektor für den Zielblock abzuleiten, der dann für die Bewegungskompensation für den Zielblock verwendet werden kann. Diese Ableitung kann unter Verwendung jedes geeigneten Prozesses durchgeführt werden, der dem Fachmann bekannt ist. Solch ein Prozess kann zum Beispiel und ohne Einschränkung Durchschnittswichtung oder Medianfilterung sein.
  • Wenn das derzeitige Bild sowohl Rückwärts- als auch Vorwärtsreferenzbilder im Referenzpuffer aufweist, kann man dasselbe Verfahren verwenden, wie das für Spiegel-ME verwendete, um die adaptiven Bildniveau- und Blockniveau-Suchbereich-Vektoren zu erhalten. Wenn nur Vorwärtsreferenzbilder verfügbar sind, kann man das für projektive ME oben beschriebene Verfahren verwenden, um den adaptiven Bildniveau- und Blockniveau-Suchbereich zu erhalten.
  • Auf zeitlich angrenzenden Blocks basierende Bewegungsabschätzung
  • Bei einer alternativen Ausführungsform können die entsprechenden Blocks von vorherigen und nachfolgenden rekonstruierten Frames in der zeitlichen Reihenfolge verwendet werden, um einen Bewegungsvektor abzuleiten. Dieser Ansatz ist in 4 als Ausführungsform 400 gezeigt. Um einen Zielblock 430 in einem derzeitigen Frame 410 zu codieren, kann man bereits decodierte Pixel verwenden, wobei diese Pixel in einem entsprechenden Block 440 eines vorherigen Frames 415 und in einem entsprechenden Block 465 eines nachfolgenden Frames 455 gefunden werden können. Ein erster Bewegungsvektor kann für den entsprechenden Block 440 anhand der Durchführung einer Bewegungssuche durch einen oder mehrere Blocks 450 des Referenzframes 420 abgeleitet werden. Block(s) 450 können an einen Block im Referenzframe 420 grenzen, der dem Block 440 des vorherigen Frames 415 entspricht. Ein zweiter Bewegungsvektor kann für den entsprechenden Block 465 des nachfolgenden Frames 455 anhand der Durchführung einer Bewegungssuche durch einen oder mehrere Blocks 470 des Referenzframes 460 abgeleitet werden. Block(s) 470 kann an einen Block im Referenzframe 460 grenzen, der dem Block 465 des nachfolgenden Frames 455 entspricht. Basierend auf den ersten und zweiten Bewegungsvektoren, können die Vorwärts- und/oder Rückwärtsbewegungsvektoren für den Zielblock 430 bestimmt werden. Diese letzteren Bewegungsvektoren können dann für die Bewegungskompensation für den Zielblock verwendet werden.
  • Die ME-Vearbeitung für solch eine Situation ist wie folgt. Ein Block kann zuerst in einem vorherigen Frame identifiziert werden, wo dieser identifizierte Block dem Zielblock des derzeitigen Frames entsprechen kann. Ein erster Bewegungsvektor kann für diesen identifizierten Block des vorherigen Frames bestimmt werden, wo der erste Bewegungsvektor relativ zu einem entsprechenden Block eines ersten Referenzframes definiert werden kann. Ein Block kann in einem nachfolgenden Frame identifiziert werden, wo dieser Block dem Zielblock des derzeitigen Frames entsprechen kann. Ein zweiter Bewegungsvektor kann für diesen identifizierten Block des nachfolgenden Frames bestimmt werden, wo der zweite Bewegungsvektor relativ zu dem entsprechenden Block eines zweiten Referenzframes definiert werden kann. Ein oder zwei Bewegungsvektoren können für den Zielblock unter Verwendung der jeweiligen ersten und zweiten Bewegungsvektoren oben bestimmt werden.
  • Beim Codieren/Decodieren des derzeitigen Bildes sind die Block-Bewegungsvektoren zwischen dem vorherigen Frame 415 und dem Referenzframe 420 verfügbar. Indem man diese Bewegungsvektoren verwendet, kann der adaptive Bildniveau-Suchbereich in der für den projektiven ME oben beschriebenen Weise bestimmt werden. Die Bewegungsvektoren des entsprechenden Blocks und der Blocks, die räumlich an den entsprechenden Block angrenzen, können verwendet werden, um den adaptiven Blockniveau-Suchbereich wie im Fall vom Spiegel-ME abzuleiten.
  • Bewegungsabschätzung basierend auf Blocks in einer unteren Downsampling-Schicht
  • Bei einer Ausführungsform können Pixel, die verwendet werden können, um einen MV für einen Zielblock zu bestimmen, aus entsprechenden Blocks in einer unteren Schicht kommen, deren Video von einem Originaleingang in einem skalierbaren Videocodierungsszenarium downgesampelt wurde. 5 zeigt ein Beispiel 500, das einen Block der unteren Schicht 540 entsprechend dem Zielblock 530 des derzeitigen Bildes 510 verwendet. Der Block 540 kann in einem Bild 515 auftreten, der dem derzeitigen Bild 510 entspricht. Der entsprechende Block 540 kann verwendet werden, um die Bewegungssuche, bei gegebenen ein oder mehreren Blocks 550 und 570 in den jeweiligen Referenzbildern 520 und 560 in der unteren Schicht, durchzuführen. Die Referenzbilder in der unteren Schicht können die Vorwärts- oder Rückwärts- (vorherigen oder nachfolgenden) -Bilder in der zeitlichen Reihenfolge sein. Da der Bewegungsvektor in der Downsampling-Schicht abgeleitet werden kann, kann der Bewegungsvektor vergrößert werden, bevor er auf den Zielblock 530 in der Zielschicht angewandt wird.
  • Dieser Ansatz kann ebenfalls auf bereits decodierte Blocks angewandt werden, die räumliche Nachbarn zum Block 540 in der unteren Schicht entsprechend dem Zielframe 530 im derzeitigen Bild 510 sind.
  • Die Verarbeitung für diese Ausführungsform ist wie folgt. In Anbetracht eines Zielblocks in einem derzeitigen Frame kann ein entsprechender Block in einem entsprechenden Frame in einer unteren Schicht identifiziert werden. Ein Bewegungsvektor kann für den entsprechenden Block in der unteren Schicht relativ zu einem oder mehreren Referenzframes in der unteren Schicht bestimmt werden. Der bestimmte Bewegungsvektor kann dann für die Bewegungsabschätzung für den Zielblock im derzeitigen Frame verwendet werden. Bei einer alternativen Ausführungsform wird der Bewegungsvektor an der unteren Schicht vor der Identifizierung des Blocks in der unteren Schicht für ME-Zwecke für die Zielschicht bestimmt.
  • Beim Decodieren des derzeitigen Bildes in der Zielschicht wurde das Bild der unteren Schicht bereits decodiert und die Block-Bewegungsvektoren zwischen dem derzeitigen Bild der unteren Schicht und den Referenzbildern der unteren Schicht sind verfügbar. Diese Block-Bewegungsvektoren kann man verwenden, um den adaptiven Bildniveau-Suchbereich, wie oben beschrieben in Bezug auf Spiegel-ME, zu bestimmen. Außerdem können die Bewegungsvektoren des ortsgleich angeordneten Blocks der unteren Schicht und der Blocks, die räumlich an den ortsgleich angeordneten Block der unteren Schicht angrenzen, verwendet werden, um den adaptiven Blockniveau-Suchbereich, wie oben beschrieben für Spiegel-ME, zu bestimmen.
  • Verarbeitung für die adaptive Bestimmung von SR
  • Ein Prozess 600, um einen Suchbereich-Vektor auf Blockniveau adaptiv zu bestimmen, ist in 6 gemäß einer Ausführungsform veranschaulicht. Bei 610 können eine Reihe von Blocks berücksichtigt werden, wo die Blocks an den derzeitigen Block in einem derzeitigen Frame angrenzen können. Für jeden angrenzenden Block i im derzeitigen Frame kann der jeweilige Bewegungsvektor, Nbr_MVi erhalten werden. Hier können angrenzende Blocks räumliche Nachbarn sein. Räumliche Nachbarn können unmittelbar an den derzeitigen Block angrenzen, oder auch nicht. Alternativ können angrenzende Blocks, wie oben beschrieben, zeitliche Nachbarn sein.
  • Bei 620 kann der Durchschnittswert der Vektoren Nbr_MVi berechnet werden. Das resultiert in einem Vektor mv_nbr. Bei 630 wird der Suchbereich-Vektor auf Blockniveau bestimmt, SR _ Blk = ( α * mv _ nbr ) + β
    Figure DE102010046508B4_0008
  • Hier sind α und β im Voraus festgelegte Konstanten, die experimentell bestimmt werden können, wobei α ein Skalarwert und β ein zweidimensionaler Vektor sein kann. Bei einer Ausführungsform ist α = 1,1 and β = (4, 4). Der Prozess 600 endet bei 640.
  • Ein Prozess 700, um einen Suchbereich-Vektor auf Bildniveau adaptiv zu bestimmen, ist in 7 gemäß einer Ausführungsform veranschaulicht. Bei 710 kann für jeden Block i in einem nachfolgenden oder vorhergehenden Frame der jeweilige Bewegungsvektor, Ref_MVi erhalten werden. Solch ein Frame kann zum Beispiel ein Referenzframe sein. Bei 720 kann der Durchschnittswert der Vektoren Ref_MVi berechnet werden. Das resultiert in einem Vektor mv_ref. Bei 730 wird der Suchbereich-Vektor auf Bildniveau bestimmt, SR _ Pic = ( α * mv _ ref ) + β
    Figure DE102010046508B4_0009
  • Wie zuvor sind α und β im Voraus festgelegte Konstanten, die experimentell bestimmt werden können, wobei α ein Skalarwert und β ein zweidimensionaler Vektor sein kann. Bei einer Ausführungsform ist α = 1,1 and β = (4, 4). Der Prozess 700 endet bei 740.
  • Implementierung
  • Die vorstehend beschriebene Verarbeitung kann in Hardware, Firmware oder Software oder einer Kombination davon implementiert sein. Zusätzlich können ein oder mehr hierin offenbarte Merkmale in Hardware, Software, Firmware oder Kombinationen davon implementiert sein, einschließlich separater und integrierter Schaltkreislogik, anwendungsspezifischer integrierter Schaltkreis-(application specific integrated circuit, ASIC)-Logik und Mikrocontrollern, und können als Teil eines Domain-spezifischen integrierten Schaltkreisgehäuses oder einer Kombination von integrierten Schaltkreisgehäusen implementiert sein. Der Begriff Software, wie hierin verwendet, kann sich auf ein Computerprogramm-Produkt beziehen, einschließlich eines computerlesbaren Mediums, in dem Computerprogrammlogik gespeichert ist, um ein Computersystem zu veranlassen, ein oder mehr Merkmal(e) und/oder Kombinationen von Merkmalen, die hierin offenbart sind, auszuführen.
  • Eine Software- oder Firmwareausführungsform der vorstehend beschriebenen Verarbeitung ist in 8 dargestellt. System 800 kann einen Prozessor 820 und einen Speicherkörper 810 beinhalten, der ein oder mehr computerlesbare Medien beinhalten kann, die eine Computerprogrammlogik 840 speichern können. Speicher 810 kann als eine Festplatte und ein Laufwerk, ein Wechselmedium, wie z. B. Compact Disk und Compact Drive, oder ein Read-Only-Memory-(ROM)-Gerät implementiert sein. Prozessor 820 und Speicher 810 können mittels einer von vielen Technologien, die einem Fachmann bekannt sind, wie z. B. einem Bus, in Kommunikation stehen. In Speicher 810 enthaltene Logik kann von Prozessor 820 gelesen und ausgeführt werden. Ein oder mehr I/O-(Eingabe-/Ausgabe)-Ports und/oder I/O-(Eingabe-/Ausgabe)-Geräte, insgesamt als I/O 830 gezeigt, kann/können ebenfalls mit Prozessor 820 und Speicher 810 verbunden sein.
  • Computerprogrammlogik 840 kann Bewegungsabschätzungslogik 860 beinhalten. Bewegungsabschätzungslogik 860 kann, wenn sie ausgeführt wird, die vorstehend beschriebene Bewegungsabschätzungsverarbeitung durchführen. Die Bewegungsabschätzungslogik 860 kann zum Beispiel projektive Bewegungsabschätzungslogik umfassen, welche die oben beschriebenen Operationen durchführen kann, wenn sie ausgeführt wird. Logik 860 kann ebenfalls, oder alternativ, zum Beispiel Spiegel-Bewegungsabschätzungslogik, Logik, um ME basierend auf zeitlichen oder räumlichen Nachbarn eines derzeitigen Blocks auszuführen, oder Logik, um ME basierend auf einem Block der unteren Schicht, der dem derzeitigen Block entspricht, auszuführen, umfassen.
  • Bevor die Bewegungsabschätzungslogik 860 seine Verarbeitung durchführt, kann ein Suchbereich-Vektor generiert werden. Dies kann wie oben beschrieben von der Suchbereich-Berechnungslogik 850 durchgeführt werden. Dieses Modul kann deshalb die Operationen, die in 6 und 7 gezeigt sind, ausführen. Sobald der Suchbereich-Vektor generiert ist, kann man diesen Vektor verwenden, um die Suche, die von Bewegungsabschätzungslogik 860 ausgeführt wird, zu begrenzen.
  • Eine Logik, um Suchbereich-Vektorbestimmung durchzuführen, kann in einem MV-Selbstableitungsmodul enthalten sein, das in einer größeren Codec-Architektur verwendet wird. 9 zeigt eine exemplarische H.264-Videoencoder-Architektur 900, die ein MV-Selbstableitungsmodul 940 umfassen kann, wobei H.264 ein Videocodec-Standard ist. Information über das derzeitige Video kann von einem derzeitigen Videoblock 910 in Form von einer Vielzahl an Frames bereitgestellt werden. Das derzeitige Video kann an eine Differenzierungseinheit 911 weitergegeben werden. Die Differenzierungseinheit 911 kann Teil der Differenzialpulsecodemodulation- (DPCM) (auch als Kernvideocodierung bezeichnet) -Schleife sein, die eine Bewegungskompensationsphase 922 und eine Bewegungsabschätzungsphase 918 umfassen kann. Die Schleife kann ebenfalls eine interne Vorhersagephase 920 und interne Interpolationsphase 924 umfassen. In einigen Fällen kann auch ein schleifeninterner Deblocking-Filter 926 in der Schleife verwendet sein.
  • Das derzeitige Video 910 kann der Differenzierungseinheit 911 und der Bewegungsabschätzungsphase 918 bereitgestellt werden. Die Bewegungskompensationsphase 922 oder die interne Interpolationphase 924 kann einen Ausgang durch einen Switch 923 erzeugen, der dann vom derzeitigen Video 910 abgezogen werden kann, um einen Restwert zu erzeugen. Der Restwert kann dann in Transformier/Quantisier-Phase 912 transformiert und quantisiert und der Entropie-Codierung im Block 914 unterzogen werden. Eine Kanalausgabe erfolgt bei Block 916.
  • Der Ausgang der Bewegungskompensationphase 922 oder Zwischeninterpolationsphase 924 kann einem Summator 933 bereitgestellt werden, der ebenfalls einen Eingang von der Rückquantisierungseinheit 930 und der Rücktransformationseinheit 932 empfangen kann. Diese letzten zwei Einheiten können die Transformation und Quantisierung der Transformier/Quantisier-Phase 912 annullieren. Die Rücktransformationseinheit 932 kann der Schleife entquantisierte und enttransformierte Information wieder bereitstellen.
  • Das MV-Selbstableitungsmodul 940 kann die für die Ableitung eines Bewegungsvektors hier beschriebene Verarbeitung implementieren. Das MV-Selbstableitungsmodul 940 kann den Ausgang des schleifeninternen Deblocking-Filters 926 empfangen und einen Ausgang an die Bewegungskompensationsphase 922 bereitstellen.
  • 10 zeigt einen H.264-Videodecoder 1000 mit einem MV-Selbstableitungsmodul 1010. Hier kann ein Decoder 1000 für den Encoder 900 der 9 einen Kanaleingang 1038 umfassen, der mit einer Entropie-Decodiereinheit 1040 gekoppelt ist. Der Ausgang von Decodiereinheit 1040 kann einer Rückquantisierungseinheit 1042, Rücktransformiereinheit 1044 und dem MV-Selbstableitungsmodul 1010 bereitgestellt werden. Das MV-Selbstableitungsmodul 1010 kann mit einer Bewegungskompensationseinheit 1048 gekoppelt sein. Der Ausgang der Entropie-Decodiereinheit 1040 kann ebenfalls einer internen Interpolationseinheit 1054 bereitgestellt werden, die einen Auswahl-Switch 1023 bedienen kann. Die Information von Rücktransformationseinheit 1044 und entweder der Bewegungskompensationseinheit 1048 oder der internen Interpolationseinheit 1054, wie ausgewählt durch Switch 1023, kann dann summiert und einer schleifeninternen Deblocking-Einheit 1046 bereitgestellt und der internen Interpolationseinheit 1054 wieder zugeführt werden. Der Ausgang der schleifeninternen Deblocking-Einheit 1046 kann dann dem MV-Selbstableitungsmodul 1010 zugeführt werden.
  • Das MV-Selbstableitungsmodul kann sich am Videoencoder befinden und mit der Videodecoderseite synchronisieren. Das MV-Selbstableitungsmodul könnte alternativ auf eine generische Videcodec-Architektur angewandt werden und ist nicht auf die H.264-Codierungsarchitektur beschränkt.
  • Schlussfolgerung
  • Verfahren und Systeme werden hierin mithilfe funktionaler Bausteine offenbart, wie z. B. denjenigen, die vorstehend aufgeführt sind, die deren Funktionen, Merkmale und Beziehungen beschreiben. Zumindest einige der Grenzen dieser funktionalen Bausteine wurden zum besseren Verständnis der Beschreibung hierin willkürlich definiert. Alternative Grenzen können definiert werden, solange deren spezifizierte Funktionen und Beziehungen angemessen durchgeführt werden. Außerdem können der vorstehend beschriebene Encoder und Decoder in entsprechenden Systemen eingebaut sein, die ein Videosignal unter Verwendung der vorstehend angeführten Prozesse codieren bzw. das so erhaltene codierte Signal decodieren.
  • Obwohl hierin verschiedene Ausführungsformen offenbart sind, sollte es selbstverständlich sein, dass diese lediglich beispielhaft und nicht einschränkend dargelegt wurden. Es ist für Fachleute offensichtlich, dass verschiedene Änderungen hinsichtlich Form und Detail daran vorgenommen werden können, ohne von dem Geist und Umfang der hierin offenbarten Verfahren und Systeme abzuweichen. Somit sollten die Bandbreite und der Umfang der Ansprüche nicht durch eine der beispielhaften Ausführungsformen, die hierin offenbart sind, eingeschränkt werden.

Claims (17)

  1. Verfahren zur Bewegungsabschätzung für einen ersten Block eines ersten Frames, umfassend: Bestimmen einer Reihe von Bewegungsvektoren, die jeweils einem Block entsprechen, wobei jeder Block mit dem ersten Block als zeitlicher oder räumlicher unmittelbarer oder mittelbarer Nachbar verbunden ist; Berechnen eines Durchschnittswerts (mean value, mv) der Reihe von Bewegungsvektoren; und Berechnen eines Suchbereich-Vektors gemäß der Formel ( α * mv ) + β ,
    Figure DE102010046508B4_0010
    wobei α = 1,1 und β = (4, 4) ist; und der Suchbereich-Vektor eine Bewegungssuche zur Ermittlung der Bewegungsabschätzung für den ersten Block begrenzt.
  2. Verfahren nach Anspruch 1, wobei die Reihe von Bewegungsvektoren mit den jeweiligen Blocks eines Referenzframes verbunden ist, und wobei der Suchbereich-Vektor verwendet wird, um die Bewegungsabschätzung für den ersten Block des ersten Frames und für einen zweiten Block des ersten Frames durchzuführen.
  3. Verfahren nach Anspruch 1, wobei die Reihe von Bewegungsvektoren mit Blocks verbunden ist, die an den ersten Block angrenzen.
  4. Verfahren nach Anspruch 3, wobei die angrenzenden Blocks im ersten Frame an den ersten Block räumlich angrenzen.
  5. Verfahren nach Anspruch 3, wobei die angrenzenden Blocks in zeitlich angrenzenden Frames relativ zum ersten Frame auftreten und dem ersten Block entsprechen.
  6. Vorrichtung, umfassend: einen Prozessor; und einen mit dem Prozessor in Kommunikation stehenden Speicher, um eine Vielzahl an Verarbeitungsbefehlen zu speichern, um den Prozessor anzuweisen, eine Reihe von Bewegungsvektoren, die jeweils einem Block entsprechen, wobei jeder Block mit einem ersten Block als zeitlicher oder räumlicher unmittelbarer oder mittelbarer Nachbar verbunden ist, zu bestimmen; einen Durchschnittswert (mean value, mv) der Reihe von Bewegungsvektoren zu berechnen; und einen Suchbereich-Vektor gemäß der Formel ( α * mv ) + β ,
    Figure DE102010046508B4_0011
    zu berechnen, wobei α = 1,1 und β = (4, 4) ist, und wobei der Suchbereich-Vektor verwendet wird, um eine Ermittlung der Bewegungsabschätzung für den ersten Block zu begrenzen.
  7. Vorrichtung nach Anspruch 6 wobei der Prozessor und Speicher in einem Videoencoder enthalten sind.
  8. Vorrichtung nach Anspruch 6, wobei der Prozessor und Speicher in einem Videodecoder enthalten sind.
  9. Vorrichtung nach Anspruch 6, wobei die Reihe von Bewegungsvektoren mit den jeweiligen Blocks eines Referenzframes verbunden ist, und wobei der Suchbereich-Vektor verwendet wird, um die Bewegungsabschätzung für den ersten Block eines ersten Frames und für einen zweiten Block des ersten Frames durchzuführen.
  10. Vorrichtung nach Anspruch 6, wobei die Reihe von Bewegungsvektoren mit Blocks verbunden ist, die an den ersten Block angrenzen.
  11. Vorrichtung nach Anspruch 10, wobei die angrenzenden Blocks im ersten Frame an den ersten Block räumlich grenzen.
  12. Vorrichtung nach Anspruch 10, wobei die angrenzenden Blocks in zeitlich angrenzenden Frames relativ zum ersten Frame auftreten und dem ersten Block entsprechen.
  13. Ein Computerprogramm-Produkt einschließlich eines computerlesbaren Mediums, in dem Computerprogrammlogik gespeichert ist, wobei die Computerprogrammlogik beinhaltet: Logik, um einen Prozessor zu veranlassen, eine Reihe von Bewegungsvektoren zu bestimmen, die jeweils einem Block entsprechen, wobei jeder Block mit einem ersten Block als zeitlicher oder räumlicher unmittelbarer oder mittelbarer Nachbar verbunden ist; Logik, um weiter den Prozessor zu veranlassen, einen Durchschnittswert (mean value, mv) der Reihe von Bewegungsvektoren zu berechnen; und Logik, um weiter den Prozessor zu veranlassen, einen Suchbereich-Vektor zu berechnen gemäß der Formel ( α * mv ) + β ,
    Figure DE102010046508B4_0012
    wobei α = 1,1 und β = (4, 4) ist, und der Suchbereich-Vektor eine Bewegungssuche zur Ermittlung einer Bewegungsabschätzung für den ersten Block begrenzt.
  14. Computerprogramm-Produkt nach Anspruch 13, wobei die Reihe von Bewegungsvektoren mit jeweiligen Blocks eines Referenzframes verbunden ist, und wobei der Suchbereich-Vektor verwendet wird, um die Bewegungsabschätzung für den ersten Block eines ersten Frames und für einen zweiten Block im ersten Frame durchzuführen.
  15. Computerprogramm-Produkt nach Anspruch 13, wobei die Reihe von Bewegungsvektoren mit Blocks verbunden ist, die an den ersten Block angrenzen.
  16. Computerprogramm-Produkt nach Anspruch 15, wobei die angrenzenden Blocks im ersten Frame an den ersten Block räumlich angrenzen.
  17. Computerprogramm-Produkt nach Anspruch 15, wobei die angrenzenden Blocks in zeitlich angrenzenden Frames relativ zum ersten Frame auftreten und dem ersten Block entsprechen.
DE102010046508.9A 2009-10-20 2010-09-24 Verfahren und Vorrichtung, um einen Suchbereich für die Bewegungsabschätzung adaptiv auszuwählen Active DE102010046508B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/582,061 US8462852B2 (en) 2009-10-20 2009-10-20 Methods and apparatus for adaptively choosing a search range for motion estimation
US12/582,061 2009-10-20

Publications (2)

Publication Number Publication Date
DE102010046508A1 DE102010046508A1 (de) 2011-06-01
DE102010046508B4 true DE102010046508B4 (de) 2021-11-25

Family

ID=43086778

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010046508.9A Active DE102010046508B4 (de) 2009-10-20 2010-09-24 Verfahren und Vorrichtung, um einen Suchbereich für die Bewegungsabschätzung adaptiv auszuwählen

Country Status (7)

Country Link
US (2) US8462852B2 (de)
JP (1) JP4928627B2 (de)
KR (2) KR101239567B1 (de)
CN (1) CN102045563B (de)
DE (1) DE102010046508B4 (de)
GB (1) GB2474745B (de)
TW (1) TWI495328B (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US20110002387A1 (en) * 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
US8855205B2 (en) * 2010-05-26 2014-10-07 Newratek Inc. Method of predicting motion vectors in video codec in which multiple references are allowed, and motion vector encoding/decoding apparatus using the same
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
KR102080449B1 (ko) 2010-11-24 2020-02-21 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
JP5721851B2 (ja) 2010-12-21 2015-05-20 インテル・コーポレーション Dmvd処理のシステムおよび方法の改善
CN106878742B (zh) 2011-01-12 2020-01-07 太阳专利托管公司 动态图像编解码装置
JP6108309B2 (ja) * 2011-02-22 2017-04-05 サン パテント トラスト 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
JP5358746B2 (ja) 2011-03-03 2013-12-04 パナソニック株式会社 動画像符号化方法、動画像符号化装置及びプログラム
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
US20130107960A1 (en) * 2011-11-02 2013-05-02 Syed Ali Scene dependent motion search range adaptation
TWI461066B (zh) * 2011-11-03 2014-11-11 Ind Tech Res Inst 彈性調整估算搜尋範圍的移動估算方法及視差估算方法
PL409214A1 (pl) * 2011-11-08 2015-07-20 Kt Corporation Sposób i urządzenie do skanowania współczynników na podstawie trybu podziału jednostki predykcji
EP2839654A4 (de) * 2012-04-20 2015-11-18 Intel Corp Fraktionale bewegungsschätzung mit effizienter leistung und bandbreite
GB2512829B (en) 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
CN103281533B (zh) * 2013-05-14 2016-02-24 芯原微电子(北京)有限公司 用于可伸缩视频编码中增强层运动估计的设备和方法
KR101382367B1 (ko) * 2013-11-13 2014-04-09 주식회사 아나패스 움직임 추정 방법 및 이를 이용한 영상 처리 장치
TWI538487B (zh) 2013-12-05 2016-06-11 財團法人工業技術研究院 螢幕視訊之預測編碼的方法與系統
US20150208082A1 (en) * 2014-01-21 2015-07-23 Vixs Systems, Inc. Video encoder with reference picture prediction and methods for use therewith
JP6159292B2 (ja) * 2014-05-26 2017-07-05 日本電信電話株式会社 動きベクトル検出装置、動きベクトル検出方法及び動きベクトル検出プログラム
JP6538609B2 (ja) * 2016-05-11 2019-07-03 日本電信電話株式会社 動きベクトル検出装置、動きベクトル検出方法及び動きベクトル検出プログラム
CN106851302B (zh) * 2016-12-22 2019-06-25 国网浙江省电力公司杭州供电公司 一种基于帧内编码压缩域的监控视频运动目标检测方法
CN111656788A (zh) * 2018-01-29 2020-09-11 Vid拓展公司 低复杂度的帧速率上变换
CN109145744B (zh) * 2018-07-19 2020-08-18 西安理工大学 一种基于自适应预测模式的lstm网络行人重识别方法
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
CN111083489A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
KR102628361B1 (ko) 2018-11-12 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인터-예측을 위한 대역폭 제어 방법
CN113170093B (zh) 2018-11-20 2023-05-02 北京字节跳动网络技术有限公司 视频处理中的细化帧间预测
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
MX2021010876A (es) * 2019-03-11 2021-10-22 Ericsson Telefon Ab L M Refinamiento de movimiento y prediccion ponderada.
JP7307192B2 (ja) 2019-04-02 2023-07-11 北京字節跳動網絡技術有限公司 デコーダ側の動きベクトルの導出
CN116074533B (zh) * 2023-04-06 2023-08-22 湖南国科微电子股份有限公司 运动矢量预测方法、系统、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070064803A1 (en) 2005-09-16 2007-03-22 Sony Corporation And Sony Electronics Inc. Adaptive motion search range

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0170932B1 (ko) * 1994-12-29 1999-03-20 배순훈 영상의 시각적, 기하학적 특성에 따른 고속 움직임 추정장치
JP4237256B2 (ja) 1996-02-29 2009-03-11 シーメンス メディカル ソリューションズ ユーエスエイ インコーポレイテッド 超音波トランスジューサ
JPH1023420A (ja) * 1996-07-02 1998-01-23 Matsushita Electric Ind Co Ltd 動き検出方法および動き検出装置
GB2320388B (en) 1996-11-29 1999-03-31 Sony Corp Image processing apparatus
JP3226020B2 (ja) * 1997-05-28 2001-11-05 日本電気株式会社 動きベクトル検出装置
JP3149840B2 (ja) * 1998-01-20 2001-03-26 日本電気株式会社 動きベクトル検出装置及び方法
US6519005B2 (en) 1999-04-30 2003-02-11 Koninklijke Philips Electronics N.V. Method of concurrent multiple-mode motion estimation for digital video
JP2000350211A (ja) * 1999-06-07 2000-12-15 Toshiba Corp 動画像符号化方法及び動画像符号化装置
US20030012287A1 (en) 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
DE10127238C1 (de) 2001-05-28 2003-01-16 Demag Cranes & Components Gmbh Einrichtung zur Erfassung einer Seilbewegung für ein Hebezeug, insbesondere für einen pneumatisch betriebenen Seilbalancer
KR100408294B1 (ko) 2001-09-05 2003-12-01 삼성전자주식회사 저전송율 동영상 부호화에 적합한 움직임 추정 방법
DE60141961D1 (de) 2001-09-10 2010-06-10 Texas Instruments Inc Verfahren und Vorrichtung zur Bewegungsvektorenabschätzung
CN1303818C (zh) * 2001-09-12 2007-03-07 皇家飞利浦电子股份有限公司 运动估计和/或补偿
JP2003169338A (ja) * 2001-09-18 2003-06-13 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び装置並びに方法プログラムを記録した媒体
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100746314B1 (ko) 2002-01-18 2007-08-03 가부시끼가이샤 도시바 동화상 복호화방법 및 장치
KR100474285B1 (ko) 2002-04-08 2005-03-08 엘지전자 주식회사 모션벡터결정방법
JP2003319400A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
US7386048B2 (en) 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
US7289672B2 (en) 2002-05-28 2007-10-30 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode estimation
JP2004048512A (ja) * 2002-07-12 2004-02-12 Renesas Technology Corp 動画像符号化方法と動画像符号化回路
US6707367B2 (en) 2002-07-23 2004-03-16 Broadcom, Corp. On-chip multiple tap transformer and inductor
US7023921B2 (en) 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
US6925123B2 (en) 2002-08-06 2005-08-02 Motorola, Inc. Method and apparatus for performing high quality fast predictive motion search
JP4198550B2 (ja) 2002-09-10 2008-12-17 株式会社東芝 フレーム補間方法およびこのフレーム補間方法を用いた装置
US7319862B1 (en) 2002-09-26 2008-01-15 Exphand, Inc. Block-based encoding and decoding information transference system and method
US7010279B2 (en) 2002-11-27 2006-03-07 Broadcom Corporation Radio frequency integrated circuit electro-static discharge circuit
KR100534207B1 (ko) 2002-12-09 2005-12-08 삼성전자주식회사 비디오 부호화기의 움직임 추정기 및 그 방법
JP3968712B2 (ja) * 2003-04-28 2007-08-29 ソニー株式会社 動き予測補償装置及びその方法
JP2004343349A (ja) * 2003-05-14 2004-12-02 Matsushita Electric Ind Co Ltd 動きベクトル検出装置およびディジタルカメラ装置
US7526028B2 (en) 2003-07-25 2009-04-28 Taiwan Imaging-Tek Corp. Motion estimation method and apparatus for video data compression
JP2005057270A (ja) 2003-08-01 2005-03-03 Stmicroelectronics Sa 切換え可能なインダクタンス
JP4366571B2 (ja) * 2003-09-18 2009-11-18 日本電気株式会社 動画像符号化装置及び方法
US20050135481A1 (en) 2003-12-17 2005-06-23 Sung Chih-Ta S. Motion estimation with scalable searching range
US7346109B2 (en) 2003-12-23 2008-03-18 Genesis Microchip Inc. Motion vector computation for video sequences
US7751482B1 (en) 2004-02-27 2010-07-06 Vbrick Systems, Inc. Phase correlation based motion estimation in hybrid video compression
JP4252916B2 (ja) * 2004-03-18 2009-04-08 富士通マイクロエレクトロニクス株式会社 動きベクトルの探索範囲を決定する方法
KR100631777B1 (ko) 2004-03-31 2006-10-12 삼성전자주식회사 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치
US7515637B2 (en) 2004-05-21 2009-04-07 Broadcom Advanced Compression Group, Llc Video decoding for motion compensation with weighted prediction
EP1610560A1 (de) 2004-06-24 2005-12-28 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zur Erzeugung und zur Decodierung von codierten Bilddateien
US20050286777A1 (en) 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
JP4537136B2 (ja) * 2004-07-16 2010-09-01 財団法人北九州産業学術推進機構 動き推定方法及び動き推定装置、並びにプログラム
KR100907847B1 (ko) 2004-07-20 2009-07-14 퀄컴 인코포레이티드 순간적 비디오 압축으로 이동 벡터 예측을 위한 방법 및장치
US8553776B2 (en) 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
EP3133813B1 (de) 2004-09-16 2020-06-17 InterDigital VC Holdings, Inc. Verfahren und vorrichtung zur gewichteten prädiktion von video-codec unter verwendung von lokaler helligkeitsschwankung
US7764740B2 (en) 2004-11-24 2010-07-27 Electronics And Telecommunications Research Institute Fast block mode determining method for motion estimation, and apparatus thereof
TWI254571B (en) * 2004-12-07 2006-05-01 Sunplus Technology Co Ltd Method for fast multiple reference frame motion estimation
US8693540B2 (en) 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
US7526256B2 (en) 2005-05-25 2009-04-28 Broadcom Corporation Transformer-based multi-band RF front-end architecture
TWI277010B (en) 2005-09-08 2007-03-21 Quanta Comp Inc Motion vector estimation system and method
US8005308B2 (en) 2005-09-16 2011-08-23 Sony Corporation Adaptive motion estimation for temporal prediction filter over irregular motion vector samples
WO2007069403A1 (ja) 2005-12-16 2007-06-21 Murata Manufacturing Co., Ltd. 複合トランスおよび絶縁型スイッチング電源装置
BRPI0706803A2 (pt) 2006-02-02 2011-04-05 Thomson Licensing método e aparelho para estimativa de animação usando bi-predição de referências combinadas
US20070239546A1 (en) 2006-04-10 2007-10-11 Scott Blum Computer implemented interactive advertising system and method
US20070268964A1 (en) 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
TW200803516A (en) * 2006-06-02 2008-01-01 Tatung Co Ltd Moving estimation method
KR100829169B1 (ko) 2006-07-07 2008-05-13 주식회사 리버트론 H.264 코딩의 압축모드 예측 장치 및 방법
JP4322904B2 (ja) 2006-09-19 2009-09-02 株式会社東芝 補間フレーム作成装置、動きベクトル検出装置、補間フレーム作成方法、動きベクトル検出方法、補間フレーム作成プログラムおよび動きベクトル検出プログラム
US7756348B2 (en) 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
CN100548049C (zh) * 2007-01-09 2009-10-07 浙江大学 一种基于多参考帧的h.264快速运动估计的方法
US7675365B2 (en) 2007-01-10 2010-03-09 Samsung Electro-Mechanics Systems and methods for power amplifiers with voltage boosting multi-primary transformers
KR101365574B1 (ko) 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US7586458B2 (en) 2007-03-19 2009-09-08 Ahmadreza Rofougaran Method and system for using a transformer for FM transmit and FM receive functionality
KR20080085423A (ko) 2007-03-20 2008-09-24 엘지전자 주식회사 Bma 연산기 및 이를 이용한 인코더
US20080240242A1 (en) 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
US8160150B2 (en) 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
US20080281685A1 (en) 2007-05-07 2008-11-13 Christopher Jaffe Media with embedded advertising
JP4523023B2 (ja) * 2007-08-07 2010-08-11 パナソニック株式会社 画像符号化装置および方法
KR101396365B1 (ko) 2007-08-28 2014-05-30 삼성전자주식회사 영상의 시공간적 움직임 추정/보상 방법 및 장치
CN101378504B (zh) * 2007-08-31 2011-12-07 昆山杰得微电子有限公司 用于h.264编码的块匹配运动估计方法
JP5453304B2 (ja) * 2007-12-20 2014-03-26 クゥアルコム・インコーポレイテッド 適応探索範囲を用いた動き推定
KR100929607B1 (ko) 2007-12-26 2009-12-03 한양대학교 산학협력단 엠펙-2 메인 프로파일에서 h.264/avc 베이스라인프로파일로의 트랜스코딩 방법
US9602774B2 (en) 2007-12-28 2017-03-21 Verizon Patent And Licensing Inc. Method and apparatus for providing virtual channels
US8044759B2 (en) 2008-01-08 2011-10-25 Samsung Electro-Mechanics Overlapping compact multiple transformers
US20090207915A1 (en) 2008-02-15 2009-08-20 Freescale Semiconductor, Inc. Scalable motion search ranges in multiple resolution motion estimation for video compression
KR20090095317A (ko) 2008-03-05 2009-09-09 삼성전자주식회사 영상 부호화 및 복호화 방법 및 장치
WO2009115901A2 (en) 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
US20090238268A1 (en) * 2008-03-20 2009-09-24 Mediatek Inc. Method for video coding
US20110261882A1 (en) 2008-04-11 2011-10-27 Thomson Licensing Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
US20090323807A1 (en) 2008-06-30 2009-12-31 Nicholas Mastronarde Enabling selective use of fractional and bidirectional video motion estimation
TWI357086B (en) 2008-07-03 2012-01-21 Advanced Semiconductor Eng Transformer and method for adjusting mutual induct
TW201019620A (en) 2008-11-04 2010-05-16 Ra Link Technology Corp Front-end architecture of RF transceiver and transceiver chip thereof
US8358696B2 (en) 2008-12-31 2013-01-22 Intel Corporation Motion estimation techniques
WO2010086018A1 (en) 2009-01-29 2010-08-05 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for efficient hardware motion estimation
WO2010086041A1 (en) 2009-01-30 2010-08-05 Gottfried Wilhelm Leibniz Universität Hannover Method and apparatus for coding and decoding a video signal
US8076996B2 (en) 2009-02-10 2011-12-13 Electronics And Telecommunications Research Institute Hybrid balun apparatus
US8279018B1 (en) 2009-03-16 2012-10-02 Marvell International Ltd. Trifila balun for wireless transceiver
US8295551B2 (en) * 2009-04-08 2012-10-23 Samsung Electronics Co., Ltd. System and method of adaptive vertical search range tracking for motion estimation in digital video
US8494056B2 (en) 2009-05-21 2013-07-23 Ecole De Technologie Superieure Method and system for efficient video transcoding
US20110002387A1 (en) 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
GB2477033B (en) 2009-07-03 2012-04-18 Intel Corp Techniques for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
JP5216710B2 (ja) 2009-07-24 2013-06-19 日立コンシューマエレクトロニクス株式会社 復号化処理方法
JP5248632B2 (ja) 2010-01-14 2013-07-31 インテル コーポレイション 動き推定のための技術
US7940152B1 (en) 2010-05-21 2011-05-10 Samsung Electro-Mechanics Company, Ltd. Multi-primary and distributed secondary transformer for power amplifier systems
JP5579937B2 (ja) 2010-10-06 2014-08-27 インテル コーポレイション 低複雑度の動きベクトルを導出するシステム及び方法
JP5721851B2 (ja) 2010-12-21 2015-05-20 インテル・コーポレーション Dmvd処理のシステムおよび方法の改善
US8519814B2 (en) 2011-09-30 2013-08-27 Intel Corporation Switchable transformer with embedded switches inside the windings

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070064803A1 (en) 2005-09-16 2007-03-22 Sony Corporation And Sony Electronics Inc. Adaptive motion search range

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
„CHEN, Z.; SONG, Y; IKENAGA T.; GOTO S.: A Macroblock Level Adaptive Search Range Algorithm For Variable Block Size Motion Estimation In H.264/AVC. In: Proceedings of 2007 International Symposium on Intelligent Signal Processing and Communication Systems, Xiamen, China, Nov. 28-Dec. 1, 2007, p. 598-601"
„HISA, C.-H.; CHIANG, J.-S.; CHOU S.-G-: High Efficiency and Low Complexity Motion Estimation Algorithm for MPEG-4 AVC/H.264 Coding. In: Tamkang Journal of Science and Engineering, vol. 10, 2007
„NISAR, H.; CHOI, T.S.: Fast Motion Estimation Algorithm based on Spatio-Temporal Correlation and Direction of Motion Vectors. In: Electronic Letters, Vol. 42, Nov. 23, 2006
„WERDA, I.: CHAOUCH, H.; SAMET, A.; AYED, M.; MASMOUDI, N.: Optimal DSP-Based Motion Estimation Tools Implementation for H.264/AVC Baseline Encoder. In: International Journal of Computer Science and Network Security, Vol. 7, May 2007, No. 5, S. 141-150"
CHEN, Z.; SONG, Y.; IKENAGA T.; GOTO S.: A Macroblock Level Adaptive Search Range Algorithm For Variable Block Size Motion Estimation In H.264/AVC. In: Proceedings of 2007 International Symposium on Intelligent Signal Processing and Communication Systems, Xiamen, China, Nov. 28 - Dec. 1, 2007, p.598-601.
HSIA, C.-H.; CHIANG, J.-S.; CHOU S.-G.: High Efficiency and Low Complexity Motion Estimation Algorithm for MPEG-4 AVC/H.264 Coding. In: Tamkang Journal of Science and Engineering, vol. 10, 2007, no. 3, p. 221-234.
NISAR, H.; CHOI, T.-S: Fast Motion Estimation Algorithm based on Spatio-Temporal Correlation and Direction of Motion Vectors. In: Electronic Letters, Vol. 42, Nov. 23, 2006, No. 24, S. ?.
WERDA, I.; CHAOUCH, H.; SAMET, A.; AYED, M.; MASMOUDI, N: Optimal DSP-Based Motion Estimation Tools Implementation for H.264/AVC Baseline Encoder. In: International Journal of Computer Science and Network Security, Vol. 7, May 2007, No. 5, S. 141 - 150.

Also Published As

Publication number Publication date
CN102045563A (zh) 2011-05-04
US8462852B2 (en) 2013-06-11
KR101713354B1 (ko) 2017-03-07
DE102010046508A1 (de) 2011-06-01
JP4928627B2 (ja) 2012-05-09
KR20110043490A (ko) 2011-04-27
CN102045563B (zh) 2014-06-18
US9445103B2 (en) 2016-09-13
KR20120100853A (ko) 2012-09-12
KR101239567B1 (ko) 2013-03-05
GB2474745B (en) 2011-11-23
US20130336402A1 (en) 2013-12-19
US20110090964A1 (en) 2011-04-21
GB201015985D0 (en) 2010-11-03
TWI495328B (zh) 2015-08-01
GB2474745A (en) 2011-04-27
TW201121334A (en) 2011-06-16
JP2011091794A (ja) 2011-05-06

Similar Documents

Publication Publication Date Title
DE102010046508B4 (de) Verfahren und Vorrichtung, um einen Suchbereich für die Bewegungsabschätzung adaptiv auszuwählen
DE60311720T9 (de) Direkt-Modus Bewegungsvektorberechnung für B-Bilder
DE69929430T2 (de) Verfahren und vorrichtung zur codierung von video-information
EP0259562B1 (de) Verfahren zur bewegungskompensierten Bild-zu-Bild-Prädiktionscodierung
DE10300529B4 (de) Verfahren zum Kodieren bewegter Bilder
DE60319239T2 (de) Bewegungsschätzung mit gewichteter vorhersage
DE19825042C2 (de) Verfahren zur Bewegungsvektorcodierung bei MPEG-4
DE102010025816A1 (de) Verfahren und Systeme zum Abschätzen von Bewegung basierend auf rekonstruierten Referenzframes bei einem Videodecoder
DE602004002455T2 (de) Bewegungsvektorschätzung durch adaptive zeitliche Vorhersage
DE69635369T2 (de) Videokodierungsvorrichtung
DE102011008630A1 (de) Techniken zur Bewegungsseinschätzung
DE102005029127A1 (de) Verfahren und Vorrichtung zur optimierten prädiktiven Videocodierung
EP2067359A2 (de) Verfahren zur datenkompression in einer videosequenz
DE10300692A1 (de) Blockvorhersageverfahren unter Verwendung eines verbesserten Direkt-Modus
EP2490448A1 (de) Kodierverfahren und Bildkodiervorrichtung zur Kompression einer Bildsequenz
DE3837590A1 (de) Verfahren zum reduzieren der datenrate von digitalen bilddaten
DE69630199T2 (de) Verfahren und gerät zur selektiven kompression von video-codec
DE102013015821A1 (de) System und Verfahren zur Verbesserung der Videokodierung unter Verwendung von Inhaltsinformation
DE60213039T2 (de) MPEG4-Videokodierung mit "skipped macroblock" Mode
DE602005000425T2 (de) Verfahren und Anordnung zur Erzeugung von Kandidatenvektoren für Bildinterpolierungssysteme, die Bewegungsabschätzung und -kompensation verwenden
DE19717608B4 (de) Wahrnehmungsfehlerbearbeitungsverfahren und Bildkodierungsvorrichtung, welche dieses Verfahren verwendet
DE4405803C2 (de) Verfahren zur Quellcodierung
DE60036585T2 (de) Videodatencoder und Verfahren zur Codierung von Videodaten
EP1101196B1 (de) Verfahren und anordnung zur bewegungsschätzung in einem digitalisierten bild mit bildpunkten
DE10392466T5 (de) Verfahren zur Abschätzung von Rückwertsbewegungs-Vektoren innerhalb einer Videosequenz

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0007260000

Ipc: H04N0019000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0007260000

Ipc: H04N0019000000

Effective date: 20131204

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: TAHOE RESEARCH, LTD., IE

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: DENNEMEYER & ASSOCIATES S.A., DE