DE112018000280T5 - Entblockungsfilterung für 360-video - Google Patents

Entblockungsfilterung für 360-video Download PDF

Info

Publication number
DE112018000280T5
DE112018000280T5 DE112018000280.2T DE112018000280T DE112018000280T5 DE 112018000280 T5 DE112018000280 T5 DE 112018000280T5 DE 112018000280 T DE112018000280 T DE 112018000280T DE 112018000280 T5 DE112018000280 T5 DE 112018000280T5
Authority
DE
Germany
Prior art keywords
pixels
video frame
video
frame
pixel
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.)
Pending
Application number
DE112018000280.2T
Other languages
English (en)
Inventor
Sang-Hee Lee
Ximin Zhang
Jill M. Boyce
Yi-Jen Chiu
Keith W. ROWE
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.)
Intel Corp
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 DE112018000280T5 publication Critical patent/DE112018000280T5/de
Pending legal-status Critical Current

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Techniken zur Entblockungsfilterung für 360-Videos werden besprochen. Solche Videokodiertechniken umfassen das Bestimmen aus einem 2D-Video-Frame, der eine Projektion aus einem 360-Videoraum enthält, einer Gruppe von Pixeln zum Entblockungsfiltern, die einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln enthalten, die nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind, und ein erstes Pixel des ersten Satzes von Pixeln und ein zweites Pixel des zweiten Satzes von Pixeln umfassen, die benachbarte Pixel im 360-Videoraum sind, und das Entblockungsfiltern der Gruppe von Pixeln.

Description

  • PRIORITÄTSANSPRUCH
  • Diese Anmeldung beansprucht die Priorität der am 21. Februar 2017 eingereichten US-Patentanmeldung Nr. 15/438,128 mit dem Titel „DEBLOCK FILTERING FOR 360 VIDEO“, welche für alle Zwecke durch Bezugnahme in ihrer Gesamtheit aufgenommen ist.
  • HINTERGRUND
  • Bei 360-Video, das auch als 360-Grad-Video, immersives Video oder sphärisches Video bezeichnet wird, werden Videoaufzeichnungen aus jeder Richtung (d.h. über 360 Grad) gleichzeitig unter Verwendung einer omnidirektionalen Kamera oder einer Sammlung von Kameras oder dergleichen aufgenommen. Bei der Wiedergabe kann der Betrachter eine Betrachtungsrichtung oder ein Betrachtungsfenster zum Betrachten aus einer der verfügbaren Richtungen auswählen. In Komprimierungs-/Dekomprimierungssystemen (Codec-Systemen) sind die Komprimierungseffizienz, die Videoqualität und die Recheneffizienz wichtige Leistungskriterien. Darüber hinaus wird die Komprimierung/Dekomprimierung von 360-Videos ein wichtiger Faktor bei der Verbreitung von 360-Videos und bei der Benutzererfahrung beim Betrachten solcher 360-Videos sein.
  • Daher kann es vorteilhaft sein, die Komprimierungseffizienz, die Videoqualität und die Recheneffizienz von Codec-Systemen für die Verarbeitung von 360-Videos zu erhöhen. In Bezug auf diese und andere Überlegungen waren die vorliegenden Verbesserungen erforderlich.
  • Figurenliste
  • Das hier beschriebene Material ist in den beigefügten Figuren beispielhaft und nicht als einschränkend dargestellt. Zur Vereinfachung und Klarheit der Darstellung sind in den Figuren dargestellte Elemente nicht unbedingt maßstabsgetreu gezeichnet. Beispielsweise können die Abmessungen einiger Elemente zur Verdeutlichung in Bezug auf andere Elemente übertrieben sein. Ferner wurden, wo es angemessen erschien, Bezugszeichen in den Figuren wiederholt, um entsprechende oder analoge Elemente anzuzeigen. Die Figuren im Einzelnen:
    • 1 ist ein veranschaulichendes Diagramm eines beispielhaften Systems zum Entblocken von 2D-Video-Frames, die von einem 360-Videoraum projiziert werden;
    • 2 stellt ein Beispiel eines 2D-Video-Frames mit einer Projektion aus einem 360-Videoraum in einem äquirektangulären Format und einem Darstellungsfenster dar, das den 2D-Video-Frame überlagert;
    • 3 zeigt eine beispielhafte Entblockungsfilterung im Darstellungsfenster.
    • 4 zeigt einen beispielhaften 2D-Video-Frame, der eine Projektion aus einem 360-Videoraum in einem äquirektangulären Format und ausgewählte Gruppen von Pixeln zur Entblockungsfilterung umfasst;
    • 5 und 6 veranschaulichen einen beispielhaften 2D-Video-Frame, der eine Projektion von einem 360-Videoraum in einem Cubemap-Format und ausgewählte Gruppen von Pixeln für die Entblockungsfilterung umfasst;
    • 7 stellt einen beispielhaften Würfel zum Empfangen von Projektionen aus einem 3D-Videoraum dar;
    • 8 und 9 veranschaulichen einen beispielhaften 2D-Video-Frame mit einer Projektion von einem 360-Videoraum in einem kompakten Cubemap-Format und ausgewählten Pixelgruppen für die Entblockungsfilterung;
    • 10 stellt ein Blockdiagramm eines beispielhaften Kodierers dar;
    • 11 stellt ein Blockdiagramm eines beispielhaften Dekodierers dar;
    • 12 stellt ein Blockdiagramm eines beispielhaften Kodierers dar;
    • 13 stellt ein Blockdiagramm eines beispielhaften Dekodierers dar;
    • 14 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Videokodieren von Video-Frames darstellt, die Projektionen von einem 360-Videoraum enthalten;
    • 15 ist ein veranschaulichendes Diagramm eines beispielhaften Systems zum Videokodieren von Video-Frames, die Projektionen von einem 360-Videoraum enthalten;
    • 16 ist ein veranschaulichendes Diagramm eines beispielhaften Systems; und
    • 17 veranschaulicht eine beispielhafte Vorrichtung, wobei alles gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist.
  • DETAILLIERTE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen oder Implementierungen werden nun unter Bezugnahme auf die beigefügten Figuren beschrieben. Während spezifische Konfigurationen und Anordnungen diskutiert werden, versteht es sich von selbst, dass dies nur zum Zwecke der Darstellung erfolgt. Fachleute werden erkennen, dass andere Konfigurationen und Anordnungen verwendet werden können, ohne vom Geist und Umfang der Beschreibung abzuweichen. Für Fachleute ist ersichtlich, dass die hierin beschriebenen Techniken und/oder Anordnungen auch in einer Vielzahl anderer Systeme und Anwendungen als den hierin beschriebenen eingesetzt werden können.
  • Während die folgende Beschreibung verschiedene Implementierungen darlegt, die sich in Architekturen wie beispielsweise System-on-a-Chip (SoC)-Architekturen manifestieren können, ist die Implementierung der hier beschriebenen Techniken und/oder Anordnungen nicht auf bestimmte Architekturen und/oder Computersysteme beschränkt und sie können für ähnliche Zwecke von jeder Architektur und/oder jedem Computersystem implementiert werden. Zum Beispiel können verschiedene Architekturen, die zum Beispiel vielfache (Integrierte Schaltungs-) IC-Chips und/oder -Pakete und/oder verschiedene Computergeräte und/oder Unterhaltungselektronikgeräte (CE-Geräte) wie Set-Top-Boxen, Smartphones usw. verwenden, die Techniken und/oder die hierin beschriebenen Anordnungen implementieren. Während die folgende Beschreibung zahlreiche spezifische Details, wie Logikimplementierungen, Typen und Wechselbeziehungen von Systemkomponenten, Logik-Partitionierungs-/Integrationsentscheidungen usw. darlegen kann, kann der beanspruchte Erfindungsgegenstand ohne solche spezifischen Details ausgeführt werden. In anderen Fällen kann es sein, dass einige Materialien, wie zum Beispiel Steuerstrukturen und vollständige Softwareanweisungssequenzen, nicht im Detail gezeigt werden, um das hierin offenbarte Material nicht zu verschleiern.
  • Das hierin offenbarte Material kann in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert sein. Das hierin offenbarte Material kann auch als Anweisungen implementiert werden, die auf einem maschinenlesbaren Medium gespeichert sind, die von einem oder mehreren Prozessoren gelesen und ausgeführt werden können. Ein maschinenlesbares Medium kann ein beliebiges Medium und/oder einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer von einer Maschine lesbaren Form (z.B. einem Computergerät) umfassen. Beispielsweise kann ein maschinenlesbares Medium einen Nur-Lese-Speicher (ROM); Direktzugriffsspeicher (RAM); Magnetplatten-Speichermedien; optische Speichermedien; Flash-Speichergeräte; elektrische, optische, akustische oder andere Formen von sich ausbreitenden Signalen (z.B. Trägerwellen, Infrarotsignale, digitale Signale usw.) und andere umfassen.
  • Verweise in der Spezifikation auf „eine bestimmte Implementierung“, „eine beliebige Implementierung“, „eine beispielhafte Implementierung“ usw. geben an, dass die beschriebene Implementierung ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft enthalten kann, wobei aber nicht jede Ausführungsform unbedingt das bestimmte Merkmal, die bestimmte Struktur oder die bestimmte Eigenschaft enthalten muss. Darüber hinaus beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Implementierung. Wenn ferner ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen in Verbindung mit einer Ausführungsform beschrieben wird, wird angenommen, dass es im Wissen einer Fachperson liegt, ein solches Merkmal, eine solche Struktur oder Eigenschaft in Verbindung mit anderen Implementierungen zu bewirken, unabhängig davon, ob dies hierin explizit beschrieben ist oder nicht.
  • Hierin werden Verfahren, Vorrichtungen, Geräte, Computerplattformen und Artikel beschrieben, die sich auf die Videokodierung und insbesondere auf die Entblockungsfilterung von zweidimensionalen (2D-) Video-Frames beziehen, die Projektionen von einem 360-Videoraum sind.
  • Die hier diskutierten Techniken bieten Entblocken für 360-Videos. Zum Beispiel kann das Entblocken entlang der Grenzen von 2D-Videoeinzelbildern und Flächen solcher 2D-Videoeinzelbilder aktiviert werden, die in der projizierten 2D-Ebene nicht zusammenhängend sind, wenn solche Grenzen in dem entsprechenden 360-Video (z.B. in der entsprechenden 360-Video-Sphäre) zusammenhängend sind. Insbesondere in einigen 360-Videokodierungskontexten können 2D-Video-Frames, die Projektionen von einem 360-Videoraum sind (z.B. Projektionen von 360-Video auf eine 2D-Ebene basierend auf einem vorbestimmten Format), einem Kodierer zum Kodieren in einen Bitstrom wie einem standardkomformen Bitstream bereitgestellt werden. Der Bitstrom kann von einem Dekodierer gespeichert oder übertragen oder dergleichen und verarbeitet werden. Der Dekodierer, wie beispielsweise ein standardkonformer Dekodierer, kann den Bitstrom dekodieren, um die 2D-Video-Frames zu rekonstruieren (z.B. die Projektionen des 360-Videos). Die rekonstruierten 2D-Video-Frames können zur Präsentation für einen Benutzer verarbeitet werden. Beispielsweise kann ein ausgewähltes Darstellungsfenster verwendet werden, um einen Teil oder Teile der rekonstruierten 2D-Video-Frames zu bestimmen, die nach Bedarf zusammengestellt und einer Anzeigevorrichtung zur Präsentation für einen Benutzer bereitgestellt werden können.
  • Bei solchen Techniken können die standardkonformen Codec- (Kodier-/Dekodier-) Techniken eine In-Frame-Entblockungsfilterung für angrenzende oder benachbarte Pixel in Video-Frames umfassen, die Blockgrenzen (z.B. Makroblock, Kodiereinheit usw.) überschreiten. Bei der Projektion vom 360-Pixel-Videoraum auf 2D-Video-Frames werden jedoch einige Pixel, die Nachbarn im 360-Pixel-Videoraum sind, in den 2D-Video-Frames als nicht benachbarte Pixel dargestellt oder formatiert. Wie hier verwendet, soll der Begriff „nicht benachbart“ bedeuten, dass Pixel nicht räumlich benachbart sind (z.B. in einem 2D-Video-Frame) und dass Sätze von Pixeln keine benachbarten Pixel zwischeneinander haben (z.B. dass kein Pixel eines ersten Satzes von Pixeln räumlich einem beliebigen Pixel eines zweiten Satzes von Pixeln in einem 2D-Video-Frame benachbart ist). Beispielsweise können sich solche benachbarten Pixel im 3D-Videoraum an gegenüberliegenden Grenzen des entsprechenden 2D-Video-Frame befinden, an nicht benachbarten Grenzen von Flächenprojektionen innerhalb des entsprechenden 2D-Video-Frame oder dergleichen, wie hierin weiter diskutiert wird.
  • In einigen Ausführungsformen kann eine Gruppe von Pixeln zum Entblockungsfiltern innerhalb eines 2D-Video-Frame identifiziert werden, der eine Projektion von einem 360-Videoraum ist, so dass die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln umfasst, die nicht benachbarte Sätze von Pixeln in dem 2D-Video-Frame sind und so dass sie ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln aufweisen, die benachbarte Pixel im 360-Videoraum sind. Die identifizierte Gruppe von Pixeln (z.B. eine Linie von Pixeln mit dem ersten und dem zweiten Satz von Pixeln auf gegenüberliegenden Seiten einer Grenze) wird unter Verwendung eines Tiefpassfilters oder dergleichen entblockungsgefiltert, um gefilterte Pixelwerte zu bestimmen. Solche Techniken können Zeile für Zeile als Basis für einen oder alle Sätze von Pixeln wiederholt werden, die im 2D-Video-Frame nicht benachbart sind, aber benachbarte Pixel im 360-Videoraum sind, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  • Solche Pixelauswahl- oder Anpassungs- und Entblockungsfiltertechniken können in jedem geeigneten Kodierungs-, Dekodierungs-, Videovorverarbeitungs- oder Videonachverarbeitungs-Kontext implementiert werden. Zum Beispiel können solche Techniken in einer lokalen Kodierschleife eines Videokodierers als Vorverarbeitung vor dem Bereitstellen von Video-Frames an einen Kodierer, als Nachdekodierverarbeitung oder dergleichen angewendet werden, wie hierin weiter diskutiert wird. Darüber hinaus können die diskutierten Techniken in jedem geeigneten Kodierungskontext verwendet werden, wie beispielsweise bei der Implementierung von H.264/MPEG-4 auf der Basis von AVC-Standards (Advanced Video Coding)-Codecs, hocheffizienten Videokodierung-Codecs auf Basis von (H.265/HEVC)-Standards, vorgeschlagenen Codecs für die Videokodierung (H.266), Codecs auf Basis von Alliance for Open Media (AOM)-Standards wie der AVI-Standard, Codecs auf Basis von MPEG-Standards wie der MPEG-4-Standard, VP9-Standards basierten Codecs oder anderen geeigneten Codecs oder Erweiterungen oder Profilen davon. Die besprochenen Techniken reduzieren blockige Artefakte von kodiertem Video, das den Benutzern angezeigt wird, und bieten ein verbessertes 360-Video-Erlebnis.
  • 1 ist ein veranschaulichendes Diagramm eines beispielhaften Systems 100 zum Entblocken von 2D-Video-Frames, die von einem 360-Videoraum projiziert werden, das gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 1 gezeigt, kann das System 100 eine 360-Kamera 101, ein 360-zu-2D-Projektionsmodul 102, einen Kodierer 103, einen Darstellungsfenstergenerator 107 und eine Anzeige 108 umfassen. Wie ebenfalls gezeigt, kann der Kodierer 103 einen Projektionsflächenbegrenzungs-Entblocker 104 implementieren, der ein Pixelauswahl- und -anpassungsmodul 105 und einen Entblockungsfilter 106 aufweisen kann.
  • Wie gezeigt, kann der Kodierer 103 in einigen Zusammenhängen 2D-Video-Frames 112 (z.B. 2D-Video-Frames, die von einem 360- oder Kugelraum projiziert werden) vom 360-zu-2D-Projektionsmodul 102 empfangen und der Kodierer 103 kann einen entsprechenden Ausgangsbitstrom 113 erzeugen. Obwohl in Bezug auf den Kodierer 103, der 2D-Video-Frames 112 vom 360-zu-2D-Projektionsmodul 102 empfängt, dargestellt, kann der Kodierer 103 2D-Video-Frames 112 von einer beliebigen Quelle, wie beispielsweise einem Speicher, einem anderen Gerät oder dergleichen empfangen. In solchen Kontexten kann der Kodierer 103 eine Kodiererfähigkeit für das System 100 bereitstellen (und in solchen Kontexten müssen Eingangsbitstrom 114 und 2D-Video-Frames 115 nicht eingesetzt werden). Die 360-Kamera 101 kann eine beliebige geeignete Kamera oder Gruppe von Kameras sein, die ein 360-Video oder ein sphärisches Video oder dergleichen erzielen können. Darüber hinaus kann das 360-zu-2D-Projektionsmodul 102 ein 360-Video 111 empfangen und das 360-zu-2D-Projektionsmodul 102 kann 2D-Video-Frames 112 unter Verwendung einer beliebigen geeigneten Technik oder Techniken erzeugen. Zum Beispiel kann das 360-zu-2D-Projektionsmodul 102 das 360-Video 111 auf 2D-Video-Frames 112 in jedem geeigneten 2D-Format, das die Projektion von 360 Video darstellt, projizieren.
  • Andere Module oder Komponenten des Systems 100 können bei Bedarf auch 2D-Video-Frames 112 oder Abschnitte davon empfangen. Das System 100 kann zum Beispiel Videokomprimierung bereitstellen und das System 100 kann ein Videokodierer sein, der über einen Computer oder ein Computergerät oder dergleichen implementiert wird. Beispielsweise kann das System 100 einen Ausgangsbitstrom 113 erzeugen, der mit einem Videokomprimierungs-Dekomprimierungs (Codec) -Standard, wie dem AVC-Standard (H.264/MPEG-4 Advanced Video Coding), dem H.265/HEVC-Standard (High Efficiency Video Coding), vorgeschlagenen Videokodierungsstandards (H.266), dem VP8-Standard, dem VP9-Standard oder dergleichen kompatibel ist.
  • In anderen Ausführungsformen kann der Kodierer 103 einen Eingangsbitstrom 114 empfangen, der 2D-Frames entspricht oder diese darstellt, die von einem 360-Grad-Raum oder einem sphärischen Raum projiziert werden, und der Kodierer 103 kann entsprechende 2D-Video-Frames 115 erzeugen (z.B. derart, dass 2D-Frames von einem 360-Grad-Raum oder einem Kugelraum projiziert werden). Der Eingangsbitstrom 114 kann aus dem Speicher, einer anderen Vorrichtung oder dergleichen empfangen werden. In solchen Kontexten kann der Kodierer 103 eine Dekodierfähigkeit für das System 100 bereitstellen (und in solchen Kontexten können die 2D-Video-Frames 112 und der Ausgangsbitstrom 113 nicht verwendet werden). In einer Ausführungsform kann der Eingangsbitstrom zu 2D-Video-Frames 115 dekodiert werden, die einem Benutzer über die Anzeige 108 basierend auf einem ausgewählten Darstellungsfenster in 2D-Video-Frames angezeigt werden können. Die Anzeige 108 kann eine beliebige geeignete Anzeige sein, beispielsweise eine VR-Anzeige (Virtual Reality), eine am Kopf montierte VR-Anzeige oder dergleichen.
  • Obwohl darüber hinaus mit allem von 360-Kameras 101, 360-zu-2D-Projektionsmodul 102, Kodierer 103, Darstellungsfenstergenerator 107 und Anzeige 108 dargestellt, kann das System 100 auch nur einige von 360-Kameras 101, 360-zu-2D-Projektionsmodul 102, Kodierer 103, Darstellungsfenstergenerator 107 und Anzeige 108 aufweisen. In einer Ausführungsform umfasst das System 100 eine 360-Kamera 101 und ein 360-zu-2D-Projektionsmodul 102 und einen Kodierer. In einer Ausführungsform umfasst das System 100 einen Kodierer 103, einen Darstellungsfenstergenerator 107 und eine Anzeige 108. Andere Kombinationen der 360-Kamera 101, des 360-zu-2D-Projektionsmoduls 102, des Kodierers 103, des Darstellungsfeldgenerators 107 und der Anzeige 108 sowie anderer Komponenten können in Abhängigkeit von der Art der Vorrichtung, in dem das System 100 implementiert ist, für das System 100 bereitgestellt werden. Das System 100 kann über ein beliebiges geeignetes Gerät implementiert werden, wie beispielsweise einen Server, einen Personal-Computer, einen Laptop, ein Tablet, ein Phablet, ein Smartphone, eine Digitalkamera, eine Spielekonsole, ein tragbares Gerät, eine Anzeigevorrichtung, ein All-in-One-Gerät, ein Two-in-One-Gerät oder dergleichen oder eine Plattform wie eine mobile Plattform oder dergleichen. Zum Beispiel kann, wie hierin verwendet, ein System, eine Vorrichtung, ein Computer oder eine Rechenvorrichtung eine solche Vorrichtung oder Plattform enthalten.
  • Wie besprochen, kann der Kodierer 103 2D-Video-Frames 112 empfangen. 2D-Video-Frames 112 (sowie 2D-Video-Frames 115 und andere hier besprochene Videobilder) können beliebige geeignete Videodaten wie Pixel oder Pixelwerte oder Daten, eine Videosequenz, Bilder einer Videosequenz, Video-Frames, Videobilder, eine Sequenz von Video-Frames, eine Gruppe von Frames, Gruppen von Frames, Videodaten oder dergleichen in irgendeiner geeigneten Auflösung umfassen. 2D-Video-Frames 112 können als Video, Eingangsvideodaten, Videodaten, Rohvideo oder dergleichen charakterisiert sein. Zum Beispiel können 2D-Video-Frames 112 Video-Grafikarray (VGA), High Definition (HD), Full-HD (z.B. 1080p) oder Video mit 4K-Auflösung oder dergleichen sein. Darüber hinaus können die 2D-Video-Frames 112 eine beliebige Anzahl von Video-Frames, Sequenzen von Video-Frames, Frames, Gruppen von Frames oder dergleichen enthalten. Hier diskutierte Techniken werden in Bezug auf Pixel und Pixelwerte von Video-Frames zum Zwecke der Klarheit der Darstellung diskutiert. Solche Video-Frames und/oder Videodaten können jedoch als Bilder, Videobilder, Frames, Framesequenzen, Videosequenzen oder dergleichen charakterisiert werden. Wie hierin verwendet, kann der Begriff Pixel oder Pixelwert einen Wert umfassen, der ein Pixel eines Video-Frames darstellt, wie beispielsweise einen Luminanzwert für das Pixel, einen Farbkanalwert für das Pixel oder dergleichen. In verschiedenen Beispielen können 2D-Video-Frames 112 Rohvideo oder dekodiertes Video sein. Darüber hinaus kann der Kodierer 103, wie hierin diskutiert, sowohl Kodierungs- als auch Dekodierungsfunktionalität liefern.
  • Wie gezeigt, empfängt der Projektionsflächenbegrenzungs-Entblocker 104 2D-Video-Frames 112, die Projektionen von einem 360-Videoraum enthalten. Wie hierin verwendet, bedeutet der Begriff „von einem 360-Videoraum projiziert“, dass das Format von 2D-Video-Frames Bild- oder Videoinformationen enthält, die einem 360-Raum, einem sphärischen Raum oder dergleichen entsprechen. Zum Beispiel kann 360-Video unter Verwendung bekannter Techniken in eine 2D-Bild- oder -Video-Frame-Ebene oder dergleichen formatiert oder projiziert werden. Analogien zu solchen Projektionen (und ihren verschiedenen Vor- und Nachteilen) können im Zusammenhang mit der Erstellung von 2D-Karten aus dem Globus gefunden werden. Das Format derartiger 2D-Video-Frames kann ein beliebiges geeignetes Format umfassen, beispielsweise ein äquirektanguläres (ERF) Format, ein Cubemap-Format, ein kompaktes Cubemap-Format oder dergleichen.
  • Das Pixelauswahl- und -abgleichungsmodul 105 kann für einige oder alle der 2D-Video-Frames 112 Gruppen von Pixeln zum Entblockungsfiltern bestimmen. Das Pixelauswahl- und -abgleichungsmodul 105 kann solche Gruppen von Pixeln zum Entblockungsfiltern unter Verwendung einer beliebigen geeigneten Technik oder beliebiger geeigneter Techniken bestimmen. In einer Ausführungsform kann das Pixelauswahl- und -abgleichungsmodul 105 einen Indikator oder Indikatoren empfangen, die einen Formattyp von 2D-Video-Frames 112 anzeigen (z.B. das gleichrechtwinkelige Format, das Cubemap-Format, das kompakte Cubemap-Format oder dergleichen), und das Pixelauswahl- und -anpassungsmodul 105 kann Gruppen von Pixeln für die Entblockungsfilterung als Reaktion auf den oder die Formattypindikatoren bestimmen. Jede dieser Pixelgruppen für die Entblockungsfilterung enthält einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln, so dass der erste und der zweite Satz von Pixeln im 2D-Video-Frame nicht benachbart sind, aber dass sie im 360-Videoraum benachbart sind. Darüber hinaus sind solche ersten und zweiten Sätze von Pixeln durch eine Grenze getrennt, über die eine Entblockungsfilterung angewendet werden kann. Die Grenze kann durch eine Frame-Grenze des 2D-Video-Frames, eine Flächengrenze eines Projektionsabschnitts des 2D-Video-Frames oder dergleichen bereitgestellt werden. Zum Beispiel können die zwei Sätze von Pixeln einer Gruppe von Pixeln zum Entblockungsfiltern ausgewählt und orientiert/ausgerichtet sein. Wie in 1 gezeigt, kann eine solche Entblockungsfilterung durch den Entblockungsfilter 106 des Projektionsflächengrenzentblockers 104 angewendet werden. Die entsperrten Pixel können vom Kodierer 103 als Teil der Kodierung, Dekodierung, Vor- oder Nachverarbeitung verwendet werden, wie hierin weiter erläutert wird.
  • 2 zeigt einen beispielhaften 2D-Video-Frame 201 mit einer Projektion von einem 360-Videoraum in einem äquirektangulären Format und ein Darstellungsfenster 202, das den 2D-Video-Frame 201 überlagert, gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet. In dem Beispiel von 2 enthält der 2D-Video-Frame 201 eine Projektion von 360-Video im äquirektangulären Format, das hier auch mit Bezug auf 4 besprochen wird. Zum Beispiel kann das äquirektanguläre Format ein kugelförmiges 3D-Bild oder -Frame auf orthogonale Koordinaten eines 2D-Bildes oder -Frames projizieren. Wie in 2 gezeigt, kann ein Darstellungsfenster 202 in Bezug auf den 2D-Video-Frame 201 angewendet werden (z.B. durch den Darstellungsfenstergenerator 107, siehe 1), so dass ein Benutzer möglicherweise das dem Darstellungsfenster 202 entsprechende Video ansehen möchte. Wie ebenfalls gezeigt, kann sich das Darstellungsfenster 202 um den 2D-Video-Frame 201 wickeln, so dass sich ein Abschnitt 203 des Darstellungsfensters 202 auf einer rechten Seite des 2D-Video-Frame 201 und ein anderer Abschnitt 204 des Darstellungsfensters 202 auf einer linken Seite des 2D-Video-Frame 201 befindet. Um zum Beispiel die Videodaten des Darstellungsfensters 202 zu erhalten, muss der Abschnitt 204 des Darstellungsfensters 202, der die Bildgrenze 205 des 2D-Video-Frames 201 überragt, von der linken Seite des 2D-Video-Frames 201 aus erreicht werden. Ein zusammengesetztes Darstellungsfenster 202 mit Abschnitten 203, 204 kann beispielsweise einem Benutzer präsentiert werden.
  • 3 zeigt eine beispielhafte Entblockungsfilterung innerhalb des Darstellungsfensters 202, angeordnet gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung. Wie in 3 gezeigt, kann eine Gruppe von Pixeln 302 zum Entblockungsfiltern ausgewählt werden, so dass die Gruppe von Pixeln 302 einen Satz von Pixeln 303 und einen Satz von Pixeln 304 enthält, die im 360-Videoraum benachbart sind, jedoch nicht in der entsprechenden 2D-Video-Frame-Projektion. Beispielsweise liefert das Darstellungsfenster 202 eine zusammenhängende Ansicht im 360-Videobereich. Ferner sind der Satz von Pixeln 303 und der Satz von Pixeln 304 diskontinuierliche nicht benachbarte Pixel im 2D-Video-Frame 201, da der Satz von Pixeln 303 von einer rechten Seite des 2D-Video-Frames 201 stammt und der Satz von Pixeln 304 von einer linken Seite des 2D-Video-Frames 201 stammt (siehe 2). Zum Beispiel sind der Satz von Pixeln 303 und der Satz von Pixeln 304 durch die Grenze 205 getrennt, so dass die Grenze 205 Pixel trennt, die im 2D-Video-Frame-Raum nicht benachbart sind, aber im 360- oder sphärischen Raum benachbart sind. Deshalb können ein Satz von Pixeln 303 und ein Satz von Pixeln 304 vorteilhafterweise für ein verbessertes Erscheinungsbild des Darstellungsfensters 202 (oder für eine verbesserte Videokodierungseffizienz in anderen Zusammenhängen) entblockungsgefiltert werden.
  • Wie ebenfalls gezeigt, enthält der Satz von Pixeln 303 ein Pixel 305 (markiert mit einem grauen Kasten) entlang der Grenze 205 und der Satz von Pixeln 304 enthält ein Pixel 306 (ebenfalls markiert mit einem grauen Kasten), die Nachbarn im 3D-Videoraum sind, jedoch nicht im 2D-Video-Frame. In der Entblockungsfilterung der Gruppe von Pixeln 302 können ein Satz von Pixeln 303 und ein Satz von Pixeln 304 so ausgerichtet werden (z.B. in eine Zeile oder Spalte gesetzt werden), dass im 3D-Videoraum benachbarte Pixel 305, 306 zur Entblockungsfilterung nebeneinander gesetzt sind. In den folgenden Abbildungen sind solche im 3D-Videoraum benachbarte Pixel aus Gründen der Klarheit der Darstellung mit grauen Kästchen markiert.
  • Wie in Bezug auf das System 100 besprochen, kann die Gruppe von Pixeln 302 durch das Pixelauswahl- und -anpassungsmodul 105 ausgewählt, zur Entblockungsfilterung durch das Pixelauswahl- und -anpassungsmodul 105 ausgerichtet und durch den Entblockungsfilter 106 entblockungsgefiltert werden, um entblockungsgefilterte Pixel oder Pixelwerte oder Ähnliches zu erzeugen. Eine beliebige Auswahl von Pixelgruppen und/oder Entblockungsfilterung, die hierin besprochen werden, können durch das Pixelauswahl- und - anpassungsmodul 105 ausgeführt und beziehungsweise durch den Entblockungsfilter 106 entblockungsgefiltert werden. Darüber hinaus kann jede hierin diskutierte Entblockungsfilterung für eine Gruppe von Pixeln über eine Grenze hinweg (z.B. für eine Gruppe von Pixeln 302 über die Grenze 205 oder dergleichen) unter Verwendung einer beliebigen geeigneten Technik oder beliebiger geeigneter Techniken durchgeführt werden. Beispielsweise kann die Gruppe von Pixeln 302 N Pixel enthalten, so dass N/2 aus dem Satz von Pixeln 303 und N/2 aus dem Satz von Pixeln 304 stammen. In verschiedenen Ausführungsformen kann N im Bereich von ungefähr 4 bis 16 oder dergleichen liegen. In anderen Beispielen können der Satz von Pixeln 303 und der Satz von Pixeln 304 unterschiedliche Anzahlen von Pixeln aufweisen. Die Entblockungsfilterung kann eine beliebige Filterung umfassen, beispielsweise eine Tiefpassfilterung, eine gewichtete Filterung mit einer beliebigen geeigneten Gewichtung oder dergleichen. In einer Ausführungsform kann die Entblockungsfilterung gemäß der HEVC-Entblockungsfilterung für benachbarte Pixel über die Blockgrenzen bereitgestellt werden. In einer Ausführungsform enthält die Gruppe von Pixeln 302 eine einzelne Zeile von Pixeln, die entblockungsgefiltert werden kann.
  • Der gleiche Entblockungsfilter kann auf jede ausgewählte Gruppe von Pixeln angewendet werden oder die Entblockungsfilter (z.B. ihre Länge, Gewichtung oder dergleichen) können unterschiedlich sein. In einigen Ausführungsformen kann der ausgewählte Entblockungsfilter auf Blockgrößen, Vorhersage-Typen, Transformationstypen oder dergleichen, die den Blöcken entsprechen, aus denen die Sätze von Pixeln ausgewählt werden, aufgebaut sein. In einer Ausführungsform wird ein kürzerer Filter (z.B. ungefähr 4 Pixel) verwendet, wenn eine Gruppe von Pixeln einen Satz von Pixeln aufweist oder beide Sätze von Pixeln aus einem oder mehreren kleineren Blöcken (z.B. einem Block von 8×8 oder weniger) stammen und es wird, wenn eine Gruppe von Pixeln einen Satz von Pixeln aufweist oder beide Sätze von Pixeln aus einem größeren Block oder Blöcken stammen (z.B. einem Block, der größer als 8×8 ist), ein längerer Filter verwendet (z.B. ungefähr 8 oder mehr Pixel). In einer Ausführungsform wird ein kürzerer Filter verwendet (z.B. ungefähr 4 Pixel), wenn eine Gruppe von Pixeln einen Satz von Pixeln aufweist oder wenn beide Sätze von Pixeln von einem oder mehreren intra-vorhergesagten Blöcken stammen, und es wird ein längerer Filter verwendet (z.B. ungefähr 8 oder mehr Pixel), wenn die Gruppe von Pixeln einen Satz von Pixeln aufweist oder beide Sätze von Pixeln von einem oder mehreren inter-vorhergesagten Blöcken stammen.
  • Mit Bezug auf 2 können zusätzliche Pixelgruppen (z.B. Pixelzeilen) über die Grenze 205 ausgewählt werden, so dass der erste und der zweite Satz von Pixeln von einer rechten Seite des 2D-Video-Frames 201 (z.B. benachbart zu einer rechten Grenze oder Kante des 2D-Video-Frames 201) und einer linken Seite des Video-Frames 201 (z.B. benachbart zu einer linken Grenze oder Kante des 2D-Video-Frames 201) stammen. Beispielsweise sind in dem äquirektangulären Format alle am weitesten links liegenden und entsprechenden am weitesten rechts liegenden Pixel des 2D-Video-Frames 201 im 360-Videoraum benachbart, während sie im 2D-Video-Frame 201 nicht benachbart (diskontinuierlich) sind. Ein solches Entblockungsfiltern von Pixelgruppen kann für einige oder alle Zeilen von Pixeln durchgeführt werden, die Pixel von der linken und rechten Seite des 2D-Video-Frame 201 (z.B. alle horizontalen Linien von Pixeln, die an der rechten Grenze 205 und der linken Grenze des 2D-Video-Frame 201 liegen) aufweisen.
  • 4 veranschaulicht einen beispielhaften 2D-Video-Frame 400, der eine Projektion von einem 360-Videoraum in einem äquirektangulären Format und ausgewählte Gruppen von Pixeln zum Entblockungsfiltern umfasst, die gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. In dem Beispiel von 4 umfasst ein 2D-Video-Frame 400, wie in 2, eine Projektion von 360-Video im äquirektangulären Format. Wie in 4 können Gruppen von Pixeln einschließlich Gruppen von Pixeln 411, 412 für die Entblockungsfilterung ausgewählt werden. Beispielsweise enthält die Gruppe von Pixeln 411 einen Satz von Pixeln 401 und einen Satz von Pixeln 402 in Analogie zur Gruppe von Pixeln 302, wie in 3 dargestellt. Zum Beispiel kann zur Entblockungsfilterung der Satz von Pixeln 401 rechts von dem Satz von Pixeln 402 ausgerichtet werden und es kann eine Entblockungsfilterung durchgeführt werden. Weiterhin enthält die Gruppe von Pixeln 412 einen Satz von Pixeln 403 und einen Satz von Pixeln 404, so dass zum Entblockungsfiltern der Satz von Pixeln 403 invertiert werden kann und an der Spitze des Satzes von Pixeln 404 ausgerichtet werden kann (oder umgekehrt) und eine Entblockungsfilterung durchgeführt werden kann.
  • Wie gezeigt, sind der Satz von Pixeln 401 und der Satz von Pixeln 402 in dem 2D-Video-Frame 400 nicht benachbart (d.h., kein Pixel des Satzes von Pixeln 401 hängt mit einem Pixel des Satzes von Pixeln 402 im 2D-Video-Frame 400 zusammen oder grenzt an dieses an). Im 360-Pixel-Videobereich ist jedoch ein Pixel eines Satzes von Pixeln 401 an der Frame-Grenze 406 (markiert mit einem grauen Kästchen innerhalb des Satzes von Pixeln 401) Nachbar eines Pixels des Satzes von Pixeln 402 an der Frame-Grenze 407 (markiert mit einem grauen Kästchen innerhalb des Satzes von Pixeln 402). Beispielsweise kann der Satz von Pixeln 401 an dem markierten Pixel des Satzes von Pixeln 401 an der Frame-Grenze 406 beginnen und sich zu einem Innenraum des 2D-Video-Frames 400 erstrecken, und der Satz von Pixeln 402 kann am markierten Pixel des Satzes von Pixeln 402 an der Frame-Grenze 407 beginnen und sich zu einem Innenraum des 2D-Video-Frames 400 erstrecken. Ferner können der erste und der zweite Satz von Pixeln 401, 402 den gleichen Abstand (d2) von einer unteren Frame-Grenze 409 (und einer oberen Frame-Grenze 408) aufweisen. Mit Bezug auf 4 kann für einen beliebigen horizontalen Satz von Pixeln, der an die linke Frame-Grenze 406 angrenzt, ein entsprechender horizontaler Satz von Pixeln benachbart zur rechten Frame-Grenze 407 (im gleichen Abstand zur unteren Frame-Grenze 409 oder zur oberen Frame-Grenze 409) im äquirektangulären Format gefunden werden, so dass die Sätze von Pixeln im 2D-Video-Frame 400 nicht benachbart sind, sondern im 360-Videoraum benachbart sind, um eine Gruppe von Pixeln in Analogie zur Gruppe von Pixeln 411 zu erzeugen.
  • Weiterhin zeigt 4 eine Gruppe von Pixeln 411 einschließlich eines Satzes von Pixeln 403 und eines Satzes von Pixeln 404 zur Entblockungsfilterung. Beispielsweise kann zur Entblockungsfilterung ein Satz von Pixeln 403 invertiert werden und mit der Oberseite des Satzes von Pixeln 404 ausgerichtet werden (oder der Satz von Pixeln 404 kann invertiert und mit der Oberseite des Satzes von Pixeln 403 ausgerichtet werden) und es kann eine Entblockungsfilterung durchgeführt werden. Wie gezeigt, sind der Satz von Pixeln 403 und der Satz von Pixeln 404 im 2D-Video-Frame 400 nicht benachbart (d.h., kein Pixel des Satzes von Pixeln 403 hängt mit einem Pixel des Satzes von Pixeln 404 zusammen oder grenzt an dieses an). In dem 360-Videoraum ist jedoch ein Pixel eines Satzes von Pixeln 403 an der Frame-Grenze 408 (markiert mit einem grauen Kästchen innerhalb des Satzes von Pixeln 403) ein Nachbar eines Pixels eines Satzes von Pixeln 404, ebenfalls an der Frame-Grenze 408 (markiert mit einem grauen Kasten innerhalb des Satzes von Pixeln 404) und mit gleichem Abstand (d.h. beide mit d1) von der Mittellinie 405 des 2D-Video-Frames 400. Beispielsweise kann der Satz von Pixeln 403 am markierten Pixel des Satzes von Pixeln 403 an der Frame-Grenze 408 beginnen und sich in Richtung des Innenraums des 2D-Video-Frames 400 hin erstrecken und der Satz von Pixeln 404 kann am markierten Pixel des Satzes von Pixeln 404 an der Frame-Grenze 408 beginnen und sich in Richtung des Innenraums des 2D-Video-Frames 400 hin erstrecken. Des Weiteren kann, wie besprochen, der erste und der zweite Satz von Pixeln 403, 404 den gleichen Abstand (d1) von einem Nordpol des 2D-Video-Frames 400 (d.h. der Mittellinie 405 des 2D-Video-Frames 400) aufweisen.
  • Mit Bezug auf 4 für einen beliebigen vertikalen Satz von Pixeln, die an die obere Frame-Grenze 408 (mit Ausnahme von Pixeln, die genau an der Mittellinie 405 liegen, falls vorhanden) angrenzen, kann ein entsprechender vertikaler Satz von Pixeln gefunden werden, der auch an der oberen Frame-Grenze 408 anliegt, so dass die Sätze von Pixeln im 2D-Video-Frame 400 nicht benachbart sind, im 360-Videoraum jedoch schon benachbart sind. Beispielsweise kann für einen vertikalen Satz von Pixeln, der an die obere Frame-Grenze 408 angrenzt und um einen Abstand x von der Mittellinie 405 links von der Mittellinie 405 liegt, der entsprechende vertikale Satz von Pixeln für die Entblockungsfilterung auch angrenzend an die obere Frame-Grenze 408 und rechts von der Mittellinie 405 um den Abstand x gefunden werden.
  • In ähnlicher Weise kann für jeden vertikalen Satz von Pixeln, der an die untere Frame-Grenze 409 angrenzt (außer für Pixel, die genau an der Mittellinie 405 liegen, falls vorhanden), ein entsprechender vertikaler Satz von Pixeln gefunden werden, der ebenfalls an die untere Frame-Grenze 409 angrenzt, so dass die Sätze von Pixeln im 2D-Video-Frame 400 nicht benachbart sind, aber im 360-Videoraum benachbart sind. Beispielsweise kann für einen vertikalen Satz von Pixeln, der an die untere Frame-Grenze 409 angrenzt und um einen Abstand x von der Mittellinie 405 links von der Mittellinie 405 liegt, der entsprechende vertikale Satz von Pixeln für die Entblockungsfilterung auch an der unteren Frame-Grenze 409 angrenzend und rechts von der Mittellinie 405 um den Abstand x liegend gefunden werden. Für solche vertikalen Sätze von Pixeln, die an die untere Frame-Grenze 409 angrenzen, sind die Pixel von jedem Satz, der an die untere Frame-Grenze 409 angrenzt, im 360-Videoraum benachbart, und solche Pixel können zum Entblockungsfiltern in Analogie zu den x-markierten Pixeln von Sätzen von Pixeln 403, 404 nebeneinander platziert werden.
  • Wie diskutiert, können horizontale und vertikale Gruppen einer beliebigen Anzahl von Pixeln im 2D-Video-Frame 400 bestimmt und entblockungsgefiltert werden. In einer Ausführungsform werden alle diese horizontalen (d.h. alle horizontalen Gruppen mit linearer Einzelpixeltiefe, die einen horizontalen Pixelsatz neben der linken Frame-Grenze 406 und einen horizontalen Pixelsatz neben der rechten Frame-Grenze 407 aufweisen) und vertikalen (d.h. alle vertikalen Gruppen mit linearer Einzelpixeltiefe, die einen vertikalen Pixelsatz angrenzend an die obere Frame-Grenze 408 und einen vertikalen Pixelsatz angrenzend an die obere Frame-Grenze 408 und äquidistant zu dem entsprechenden vertikalen Pixelsatz aufweisen, und alle vertikalen Gruppen mit linearer Einzelpixeltiefe, die einen vertikalen Pixelsatz benachbart zur unteren Frame-Grenze 409 und einen vertikalen Pixelsatz benachbart zur unteren Frame-Grenze 409 und äquidistant zum entsprechenden vertikalen Pixelsatz aufweisen) Gruppen von Pixeln entblockungsgefiltert. In einer anderen Ausführungsform wird eine Teilmenge jeder dieser verfügbaren horizontalen und vertikalen Pixelgruppen entblockungsgefiltert. In jedem Fall kann eine solche Entblockungsfilterung aus einem 2D-Video-Frame einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame erzeugen, der auf dem 2D-Video-Frame basiert. Wie hier verwendet, soll der Begriff 360-Videoraum-entblockungsgefilterter 2D-Video-Frame einen 2D-Video-Frame bezeichnen, der für Nachbarn im 360-Videoraum entblockungsgefiltert wurde. Solch ein 360-Videoraum-entblockungsgefilterter 2D-Video-Frame kann auch innerhalb des 2D-Video-Frame entblockungsgefiltert werden oder eben nicht.
  • Die beschriebenen Pixelauswahl- und Entblockungsfiltertechniken für 2D-Video-Frames, die Projektionen von einem 360-Videoraum sind, können für jedes Projektionsformat durchgeführt werden. Zum Beispiel kann der 2D-Video-Frame ein äquirektangulärer Frame, der aus dem 360-Videoraum projiziert wird (wie in Bezug auf die 2 - 4 und an anderer Stelle hierin besprochen), ein Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird (wie in Bezug auf die 5 und 6 und an anderer Stelle hierin besprochen), ein kompakter Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird (wie in Bezug auf die 8 und 9 und an anderer Stelle hierin besprochen), eine Umgebungsabbildung auf eine beliebige Form, ein geometrisches Netz einer beliebigen 3D-Form oder Ähnliches sein. Beispielsweise kann ein Cubemap-Format den 360-Grad-Videoraum auf die Seiten eines Würfels projizieren, der innerhalb des 2D-Video-Frame entfaltet oder angeordnet sein kann.
  • 5 und 6 veranschaulichen einen beispielhaften 2D-Video-Frame 500, der eine Projektion von einem 360-Videoraum in einem Cubemap-Format und ausgewählte Gruppen von Pixeln zum Entblockungsfiltern umfasst, die gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. Wie vorgestellt, zeigt 5 einen 2D-Video-Frame 500 mit einem 2D-Bild und 6 zeigt einen 2D-Video-Frame 500, wobei das 2D-Bild entfernt ist und Abschnitte des 2D-Video-Frames 500 der Übersichtlichkeit halber gekennzeichnet sind. Wie gezeigt, können Gruppen von Pixeln einschließlich die Gruppen von Pixeln 511, 512 für die Entblockungsfilterung ausgewählt werden. Zum Beispiel enthält die Gruppe von Pixeln 511 einen Satz von Pixeln 501 und einen Satz von Pixeln 502, und zur Entblockungsfilterung kann der Satz von Pixeln 501 rechts vom Satz von Pixeln 502 ausgerichtet werden, und es kann eine Entblockungsfilterung durchgeführt werden. Ferner enthält die Gruppe von Pixeln 512 einen Satz von Pixeln 503 und einen Satz von Pixeln 504, so dass zum Entblockungsfiltern ein Satz von Pixeln 503 gedreht und an der Oberseite des Satzes von Pixeln 504 ausgerichtet werden kann (oder umgekehrt) und eine Entblockungsfilterung durchgeführt werden kann. Wie weiter unten besprochen wird, können andere Kombinationen von Pixelsätzen in Pixelgruppen ausgerichtet und entblockungsgefiltert werden.
  • 7 zeigt einen beispielhaften Würfel 700 zum Empfangen von Projektionen von einem 3D-Videoraum, der gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Wie in 7 gezeigt, hat der Würfel 700 6 Flächen (mit A-F bezeichnet, so dass A die Rückseite, B die Vorderseite, C die Oberseite, D die Unterseite, E die rechte Seite und F die linke Seite ist). Zum Beispiel kann ein 3D-Video (z.B. Frames oder Bilder) auf den Würfel 700 projiziert werden, so dass jede Fläche des Würfels 700 einen Abschnitt des 3D-Videos oder des -Raumes enthält. Mit Bezug auf 6 kann jede Seite des Würfels 700 im Cubemap-Format in einer Kantenverbindungsart über den 2D-Video-Frame 500 offengelegt werden. Beispielsweise umfasst der 2D-Video-Frame 500 ein geometrisches Würfelnetz 700. Obwohl die Flächen in einem seitlichen T-Format gezeigt sind, kann jedes geeignete Format verwendet werden, wie beispielsweise kompaktes Cubemap-Format, wie weiter unten mit Bezug auf 8 und 9 besprochen.
  • Wie in 7 gezeigt, können sich ein Satz von Pixeln 503 und ein Satz von Pixeln 504 an der Grenze zwischen den Flächen B und C in Bezug auf den Würfel 700 verbinden. Beispielsweise sind ein Pixel des Satzes von Pixeln 503 an der Grenze und ein Pixel des Satzes von Pixeln 504 ebenfalls an der Grenze benachbarte Pixel in dem auf den Würfel 700 projizierten 3D-Videoraum. Wie weiter unten besprochen wird, kann eine Gruppe von Pixeln 512 einschließlich eines Satzes von Pixeln 503 und eines Satzes von Pixeln 504 entblockungsgefiltert werden. In ähnlicher Weise kann jede Gruppe von Pixeln mit einem ersten Satz von Pixeln, der sich orthogonal von einer Grenze weg zwischen benachbarten Flächen entlang einer Fläche erstreckt, und mit einem zweiten Satz von Pixeln, der sich orthogonal von der Grenze entlang der anderen Fläche weg erstreckt, die von der Grenze gemeinsam genutzt wird, entblockungsgefiltert werden. Zum Beispiel können solche Gruppen von Pixeln zwischen beliebigen orthogonalen Sätzen von Pixeln von Fläche C und Fläche B, die ein gemeinsames Pixel an der Grenze zwischen Fläche C und Fläche B aufweisen (wie in Bezug auf den Satz von Pixeln 503 und den Satz von Pixeln 504 gezeigt), zwischen beliebigen orthogonalen Sätzen von Pixeln von Fläche C und Fläche E, die ein gemeinsames Pixel an der Grenze zwischen Fläche C und Fläche E haben, zwischen orthogonalen Sätzen von Pixeln von Fläche A und Fläche F, die ein gemeinsames Pixel an der Grenze zwischen Fläche A und Fläche F haben (wie in Bezug auf den Satz von Pixeln 501 und den Satz von Pixeln 502 in 5 und 6 gezeigt) und so weiter gebildet werden. Es wird angemerkt, dass die diskutierten Pixelauswahl- und Entblockungsfiltertechniken zwischen den Flächen F und B, zwischen den Flächen B und E und zwischen den Flächen E und A im Kontext des 2D-Video-Frames 500 möglicherweise nicht erforderlich sind, da eine solche Filterung bereits während der Standard-In-Frame-Entblockungsfilterung angewendet werden kann.
  • Wie in Bezug auf 6 gezeigt, umfasst der 2D-Video-Frame 500 eine linke Frame-Grenze 506, eine rechte Frame-Grenze 507, eine obere Frame-Grenze 508 und eine untere Frame-Grenze 509. Darüber hinaus kann der 2D-Video-Frame 500 leere Pixelbereiche 521, 522 enthalten, die im 2D-Video-Frame 500 als schwarz dargestellt sind, aber jedoch beliebige geeignete Farb- oder Pixelwerte enthalten können. Wie in Bezug auf die Fläche A - F gezeigt, kann jede Fläche eine linke Flächengrenze, eine rechte Flächengrenze, eine obere Flächengrenze und eine untere Flächengrenze aufweisen. Solche Grenzen können, wie gezeigt, mit einer anderen Fläche, einem leeren Pixelbereich oder einer Frame-Grenze geteilt werden. Wie bezüglich 7 besprochen, können Sätze von Pixeln (z.B. Linien von Pixeln) in rechten Winkeln zu den folgenden Flächengrenzen abgeglichen, ausgerichtet und entblockungsgefiltert werden: obere Grenze von Fläche B mit rechter Grenze von Fläche C, untere Grenze von Fläche B mit rechter Grenze von Fläche D, obere Grenze von Fläche E mit oberer Grenze von Fläche C, untere Grenze von Fläche E mit unterer Grenze von Fläche D, obere Grenze von Fläche A mit linker Grenze von Fläche C, rechte Grenze von Fläche A mit linker Grenze von Fläche F, untere Grenze von Fläche A mit linker Grenze von Fläche D.
  • Wie gezeigt, sind der Satz von Pixeln 501 und der Satz von Pixeln 502 in dem 2D-Video-Frame 500 nicht benachbart (d.h., kein Pixel des Satzes von Pixeln 501 hängt an einem Pixel des Satzes von Pixeln 502 im 2D-Video-Frame 500 oder grenzt an dieses an). Im 3 60-Videoraum ist jedoch ein Pixel des Satzes von Pixeln 501 an der Frame-Grenze 506 (an der linken Grenze der Fläche F, markiert mit einem grauen Kasten im Satz von Pixeln 501) ein Nachbar eines Satzes von Pixeln 502 an der Frame-Grenze 507 (an der rechten Grenze der Fläche A, markiert mit einem grauen Kasten innerhalb des Satzes von Pixeln 502). Beispielsweise kann der Satz von Pixeln 501 an dem markierten Pixel des Satzes von Pixeln 501 an der Frame-Grenze 506 beginnen und sich in Richtung eines Innenraums des 2D-Video-Frames 500 (und der Fläche F) erstrecken, und der Satz von Pixeln 502 kann an dem markierten Pixel des Satzes von Pixeln 502 an der Frame-Grenze 507 beginnen und sich in Richtung eines Innenraums des 2D-Video-Frames 500 (und Fläche A) erstrecken. Ferner können der erste und der zweite Satz von Pixeln 501, 502 den gleichen Abstand (d2) von einer unteren Frame-Grenze 509 (und einer oberen Frame-Grenze 508) aufweisen.
  • Weiterhin zeigt 5 eine Gruppe von Pixeln 512 einschließlich eines Satzes von Pixeln 503 und eines Satzes von Pixeln 504 zur Entblockungsfilterung. Beispielsweise kann zur Entblockungsfilterung ein Satz von Pixeln 503 gedreht und an der Oberseite des Satzes von Pixeln 504 ausgerichtet werden (oder der Satz von Pixeln 504 kann gedreht und an der rechten Seite des Satzes von Pixeln 503 ausgerichtet werden), und es kann eine Entblockungsfilterung durchgeführt werden. Wie gezeigt, sind der Satz von Pixeln 503 und der Satz von Pixeln 504 im 2D-Video-Frame 500 nicht benachbart (d.h., kein Pixel des Satzes von Pixeln 503 hängt an einem Pixel des Satzes von Pixeln 504 oder grenzt an dieses an). Im 360-Videoraum ist jedoch ein Pixel des Satzes von Pixeln 503 an der rechten Grenze der Fläche C (markiert mit einem grauen Kästchen innerhalb des Satzes von Pixeln 503) ein Nachbar eines Pixels des Satzes von Pixeln 504 an der oberen Grenze der Fläche B (markiert mit einem grauen Kästchen innerhalb des Satzes von Pixeln 504) und äquidistant (d.h. beide mit d2) von der Ecke der rechten Grenze von Fläche C und der Grenze von Fläche B. Beispielsweise kann der Satz von Pixeln 503 an dem markierten Pixel des Satzes von Pixeln 503 an der rechten Grenze von Fläche C beginnen und sich zu einem Innenraum von Fläche C erstrecken und der Satz von Pixeln 504 kann an dem markierten Pixel des Satzes von Pixeln 504 an der oberen Grenze der Fläche B beginnen und sich zu einem Innenraum der Fläche B erstrecken.
  • Mit Bezug auf die 5 - 7 kann für jeden vertikalen Satz von Pixeln, der an der oberen Grenze der Fläche B beginnt, ein entsprechender horizontaler Satz von Pixeln, der an der rechten Grenze der Fläche C beginnt, zur Entblockungsfilterung gefunden und damit abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der unteren Grenze der Fläche B beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der rechten Grenze der Fläche D beginnt, gefunden und für die Entblockungsfilterung darauf abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der oberen Grenze der Fläche E beginnt, kann ein entsprechender vertikaler Satz von Pixeln gefunden werden, der an der oberen Grenze der Fläche C beginnt, und zur Entblockungsfilterung darauf abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der unteren Grenze der Fläche E beginnt, kann ein entsprechender vertikaler Satz von Pixeln, der an der unteren Grenze der Fläche D beginnt, gefunden und für die Entblockungsfilterung darauf abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der oberen Grenze von Fläche A beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der linken Grenze von Fläche C beginnt, gefunden und für die Entblockungsfilterung darauf abgeglichen werden; für jeden horizontalen Satz von Pixeln, der an der rechten Grenze von Fläche A beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der linken Grenze von Fläche F beginnt, gefunden und für die Entblockungsfilterung darauf abgeglichen werden; und für jeden vertikalen Satz von Pixeln, der an der unteren Grenze der Fläche A beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der linken Grenze der Fläche D beginnt, gefunden und zur Entblockungsfilterung darauf abgeglichen werden.
  • 8 und 9 veranschaulichen einen beispielhaften 2D-Video-Frame 800, der eine Projektion von einem 360-Videoraum in einem kompakten Cubemap-Format und ausgewählte Gruppen von Pixeln zum Entblockungsfiltern umfasst, die gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. Wie gezeigt, stellt 8 einen 2D-Video-Frame 800 mit einem 2D-Bild dar und 9 stellt einen 2D-Video-Frame 800 dar, wobei das 2D-Bild entfernt ist und Abschnitte des 2D-Video-Frames 800 der Übersichtlichkeit halber beschriftet sind. Wie gezeigt, können Gruppen von Pixeln einschließlich Gruppen von Pixeln 811, 812 für die Entblockungsfilterung ausgewählt werden. Zum Beispiel enthält die Gruppe von Pixeln 811 einen Satz von Pixeln 801 und einen Satz von Pixeln 802 und für die Entblockungsfilterung kann der Satz von Pixeln 801 gedreht und an der Unterseite des Satzes von Pixeln 802 ausgerichtet werden (oder umgekehrt), und eine Entblockungsfilterung kann erfolgen. Weiterhin enthält die Gruppe von Pixeln 812 einen Satz von Pixeln 803 und einen Satz von Pixeln 804, so dass zur Entblockungsfilterung der Satz von Pixeln 803 gedreht und rechts vom Satz von Pixeln 804 ausgerichtet werden kann (oder umgekehrt), und es kann eine Entblockungsfilterung durchgeführt werden. Wie weiter unten besprochen wird, können andere Kombinationen von Pixelsätzen in Pixelgruppen ausgerichtet und entblockungsgefiltert werden.
  • Mit Bezug auf die 7 und 8 gezeigt, kann jede Fläche des Würfels 700 in dem kompakten Cubemap-Format innerhalb des Video-Frame 800, wie gezeigt, vorgesehen sein. In Bezug auf die Ausrichtung der Würfelflächen in 6 können die Flächen A, B, E und F die gleiche Ausrichtung haben, während die Flächen C' und D' um 180° gedreht werden können. Obwohl in einem bestimmten kompakten Cubemap-Format dargestellt, kann jedes geeignete Format für die Projektion aus dem 360-Grad-Videobereich verwendet werden.
  • Wie oben und unter Bezugnahme auf 7 besprochen, kann jede Gruppe von Pixeln mit einem ersten Satz von Pixeln, der sich orthogonal von einer Grenze zwischen benachbarten Flächen entlang einer Fläche weg erstreckt, und einem zweiten Satz von Pixeln, der sich orthogonal von der Grenze entlang der anderen von der Grenze gemeinsam genutzten Fläche weg erstreckt, entblockungsgefiltert werden. Beispielsweise können solche Pixelgruppen zwischen beliebigen orthogonalen Sätzen von Pixeln von Fläche C und Fläche B, die ein gemeinsames Pixel an der Grenze zwischen Fläche C und Fläche B haben, zwischen beliebigen orthogonalen Sätzen von Pixeln von Fläche C und Fläche E, die ein gemeinsames Pixel an der Grenze zwischen Fläche C und Fläche E haben, zwischen beliebigen orthogonalen Sätzen von Pixeln von Fläche A und Fläche F, die ein gemeinsames Pixel an der Grenze zwischen Fläche A und Fläche F aufweisen, und so weiter gebildet werden. Es wird angemerkt, dass die diskutierte Pixelauswahl und die besprochenen Entblockungsfiltertechniken zwischen allen Flächen im Kontext des 2D-Video-Frame 800 erforderlich sein können, da keine benachbarten Flächen im 2D-Video-Frame 800 im 3D-Videoraum benachbart sind.
  • Wie in Bezug auf 9 umfasst der 2D-Video-Frame 800 eine linke Frame-Grenze 806, eine rechte Frame-Grenze 807, eine obere Frame-Grenze 808 und eine untere Frame-Grenze 809. Wie in Bezug auf die Fläche A, B, C', D', E, F gezeigt, kann jede Fläche eine linke Flächengrenze, eine rechte Flächengrenze, eine obere Flächengrenze und eine untere Flächengrenze aufweisen. Solche Grenzen können wie gezeigt mit einer anderen Fläche oder einer Frame-Grenze geteilt werden. Wie in Bezug auf 7 können Sätze von Pixeln (z.B. Linien von Pixeln) in rechten Winkeln zu den folgenden Flächengrenzen abgeglichen, ausgerichtet und entblockungsgefiltert werden: obere Grenze von Fläche B mit linker Grenze von Fläche C', untere Grenze von Fläche B mit linker Grenze von Fläche D', obere Grenze von Fläche E mit unterer Grenze von Fläche C', untere Grenze von Fläche E mit oberer Grenze von Fläche D', obere Grenze von Fläche A mit rechter Grenze von Fläche C', rechte Grenze von Fläche A mit linker Grenze von Fläche F, untere Grenze von Fläche A mit rechter Grenze von Fläche D'.
  • Wie gezeigt, sind der Satz von Pixeln 801 und der Satz von Pixeln 802 im 2D-Video-Frame 800 nicht benachbart (d.h., kein Pixel des Satzes von Pixeln 801 hängt an einem Pixel des Satzes von Pixeln 802 im 2D-Video-Frame 800 oder grenzt an diesen an). In dem 360-Video-Raum ist jedoch ein Pixel eines Satzes von Pixeln 801 an der Bildgrenze 806 (an der linken Grenze der Fläche D', markiert mit einem grauen Kasten innerhalb des Satzes von Pixeln 801) ein Nachbar eines Pixels des Satzes von Pixeln 802 an der unteren Grenze von Fläche B (markiert mit einem grauen Kasten innerhalb des Satzes von Pixeln 802). Beispielsweise kann ein Satz von Pixeln 801 an dem markierten Pixel des Satzes von Pixeln 801 an der Frame-Grenze 806 beginnen und sich in Richtung eines Innenraums des 2D-Video-Frame 800 (und der Fläche D') erstrecken, und der Satz von Pixeln 802 kann an dem markierten Pixel des Satzes von Pixeln 802 an der unteren Grenze von Fläche B beginnen und sich zu einem Innenraum von Fläche B erstrecken.
  • Weiterhin zeigt 8 eine Gruppe von Pixeln 812 einschließlich eines Satzes von Pixeln 803 und eines Satzes von Pixeln 804 zum Entblockungsfiltern. Zum Beispiel kann zur Entblockungsfilterung der Satz von Pixeln 803 gedreht und links von dem Satz von Pixeln 804 ausgerichtet werden (oder der Satz von Pixeln 804 kann gedreht und oben von dem Satz von Pixeln 803 ausgerichtet werden) und es kann eine Entblockungsfilterung durchgeführt werden. Wie gezeigt, sind der Satz von Pixeln 803 und der Satz von Pixeln 804 im 2D-Video-Frame 800 nicht benachbart (d.h., kein Pixel des Satzes von Pixeln 803 hängt an einem beliebigen Pixel des Satzes von Pixeln 804 oder grenzt an dieses an). Im 360-Video-Raum ist jedoch ein Pixel des Satzes von Pixeln 803 an der oberen Grenze der Fläche B (markiert mit einem grauen Kasten innerhalb des Satzes von Pixeln 803) ein Nachbar eines Pixels des Satzes von Pixeln 504 an der linken Grenze von Fläche C' (markiert mit einem grauen Kasten innerhalb des Satzes von Pixeln 804). Beispielsweise kann der Satz von Pixeln 803 an dem markierten Pixel des Satzes von Pixeln 803 an der oberen Grenze der Fläche B beginnen und sich in Richtung eines Innenraums der Fläche B erstrecken und der Satz von Pixeln 804 kann an dem markierten Pixel des Satzes von Pixeln 804 an der linken Grenze der Fläche C' beginnen und sich in Richtung eines Innenraums der Fläche C' erstrecken.
  • Mit Bezug auf die 7 - 9 kann für jeden vertikalen Satz von Pixeln, der an der oberen Grenze der Fläche B beginnt, ein entsprechender horizontaler Satz von Pixeln, der an der linken Grenze der Fläche C' beginnt, gefunden und zur Entblockungsfilterung darauf abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der unteren Grenze der Fläche B beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der linken Grenze der Fläche D' beginnt, gefunden und für die Entblockungsfilterung darauf abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der oberen Grenze der Fläche E beginnt, kann ein entsprechender vertikaler Satz von Pixeln, der an der unteren Grenze der Fläche C' beginnt, gefunden und zur Entblockungsfilterung darauf abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der unteren Grenze der Fläche E beginnt, kann ein entsprechender vertikaler Satz von Pixeln, der an der oberen Grenze der Fläche D' beginnt, gefunden und für die Entblockungsfilterung darauf abgeglichen werden; für jeden vertikalen Satz von Pixeln, der an der oberen Grenze von Fläche A beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der rechten Grenze von Fläche C' beginnt, gefunden und für die Entblockungsfilterung darauf abgeglichen werden; für jeden horizontalen Satz von Pixeln, der an der rechten Grenze von Fläche A beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der linken Grenze der Fläche F beginnt, zur Entblockungsfilterung gefunden und damit abgeglichen werden; und für jeden vertikalen Satz von Pixeln, der an der unteren Grenze der Fläche A beginnt, kann ein entsprechender horizontaler Satz von Pixeln, der an der rechten Grenze der Fläche D' beginnt, gefunden und zur Entblockungsfilterung darauf abgeglichen werden.
  • Wie besprochen, können die hier besprochenen Pixelauswahl- und Entblockungsfiltertechniken in jedem geeigneten 3D-Videokodierungs-, Dekodierungs-, Vor- oder Nachverarbeitungskontext verwendet werden.
  • 10 zeigt ein Blockdiagramm eines beispielhaften Kodierers 1000, der gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Zum Beispiel kann der Kodierer 1000 ein Entblocken der Flächengrenze in einer Schleifenprojektion auf der Grundlage der hierin diskutierten Techniken bereitstellen. Wie gezeigt, kann der Kodierer 1000 ein Bewegungsschätzungs-(ME-) Modul 1001, ein Bewegungskompensations- (MC-) Modul 1002, ein Intra-Vorhersage- (Intra-) Modul 1004, einen Bildpuffer (FB) 1005 und ein In-Frame-Entblockungsfilterungs- (DF-) Modul 1006, einen Subtrahierer 1007, einen Auswahlschalter 1008, einen Addierer 1009, ein Transformations- (T-) Modul 1010, ein Quantisierungs- (Q-) Modul 1011, ein Invers-Quantisierungs- (IQ-) Modul 1012, ein Invers-Transformations- (IT-) Modul 1013, ein Entropie-Kodierer- (EE-) Modul 1014 und einen Projektionsflächen-Grenzflächen-Entblocker (PFBD) 104 umfassen. Der Kodierer 1000 kann zusätzlich Module und/oder Verschaltungen umfassen, die der Übersichtlichkeit halber nicht dargestellt sind.
  • Wie gezeigt, kann der Kodierer 1000 2D-Video-Frames 112 empfangen (z.B. 2D-Video-Frames, die von einem 360°- oder sphärischen Raum projiziert werden) und der Kodierer 1000 kann einen Ausgangsbitstrom 113 erzeugen, wie hierin besprochen. Beispielsweise kann der Kodierer 1000 einen einzelnen 2D-Frame von 2D-Video-Frames 112 in Blöcke unterschiedlicher Größe unterteilen, die entweder zeitlich (inter) über das Bewegungsschätzmodul 1001 und das Bewegungskompensationsmodul 1002 oder räumlich (intra) über das Intra-Vorhersagemodul 1004 vorhergesagt werden können. Eine solche Kodierungsentscheidung kann über den Auswahlschalter 1008 implementiert sein. Ferner kann basierend auf der Verwendung von Intra- oder Interkodierung eine Differenz zwischen Quellpixeln und vorhergesagten Pixeln über den Subtrahierer 1007 gebildet werden (z.B. zwischen Pixeln von zuvor dekodierten 360-Videoraum-entblockungsgefilterten rekonstruierten Frames und Pixeln der Quell- oder Original-Frames). Die Differenz kann über das Transformationsmodul 1010 in den Frequenzbereich (z.B. basierend auf einer diskreten Cosinustransformation) und in quantisierte Koeffizienten über das Quantisierungsmodul 1011 umgewandelt werden. Solche quantisierten Koeffizienten können zusammen mit verschiedenen Steuersignalen über das Entropiekodiermodul 1014 entropiekodiert werden, um einen kodierten Bitstrom 1021 zu erzeugen, der zu einem Dekodierer gesendet oder übertragen oder in ähnlicher Weise übermittelt werden kann. Weiterhin können als Teil einer lokalen Dekodierschleife die quantisierten Koeffizienten über das Inversquantisierungsmodul 1012 invers quantisiert und über das Inverstransformationsmodul 1013 zum Erzeugen rekonstruierter Differenzen oder Residuen transformiert werden. Die rekonstruierten Differenzen oder Residuen können über den Addierer 1009 mit Referenzblöcken kombiniert werden, um rekonstruierte Blöcke zu erzeugen, die, wie gezeigt, dem Intra-Vorhersage-Modul 1004 zur Verwendung in der Intra-Vorhersage bereitgestellt werden können. Weiterhin können die rekonstruierten Blöcke In-Frame über das Entblockungsfiltermodul 1006 entblockt und zur Erzeugung rekonstruierter Frames 1021 rekonstruiert werden. Rekonstruierte Frames 1021 können dem Entblocker 104 für Projektionsflächengrenzen zum Entblocken von Pixelgruppen bereitgestellt werden, die in rekonstruierten Frames 1021 keine Nachbarn sind und im 360-Videoraum, von dem rekonstruierte Frames 1021 Projektionen enthalten, Nachbarn sind. Wie gezeigt, kann der Projektionsflächengrenz-Entblocker 104 entblockungsgefilterte rekonstruierte Frames vom 360-Videoraum (gefilterte Frames) 1022 auf der Grundlage von rekonstruierten Frames 1021 erzeugen, die in dem Frame-Puffer 1005 gespeichert und dem Bewegungsschätzungsmodul 1001 und dem Bewegungskompensationsmodul 1002 zur Verwendung bei der Inter-Vorhersage bereitgestellt werden können.
  • Durch Implementieren des Kodierers 1000 und insbesondere des Projektionsflächenbegrenzungs-Entblockers 104 innerhalb des Kodierers 1000 können eine verbesserte Kodierqualität und -komprimierung und eine verbesserte Videoqualität des durch den Ausgangsbitstrom 113 dargestellten Videos erreicht werden. Zum Beispiel kann, wie besprochen, der Projektionsflächenbegrenzungs-Entblocker 104 einen einzelnen rekonstruierten 2D-Video-Frame von rekonstruierten Video-Frames 1021 empfangen, so dass der einzelne rekonstruierte 2D-Video-Frame eine Projektion von einem 360-Videoraum enthält. Der Projektionsflächenbegrenzungs-Entblocker 104 bestimmt, dass Gruppen von Pixeln aus dem einzelnen rekonstruierten 2D-Video-Frame in dem einzelnen rekonstruierten 2D-Video-Frame nicht benachbart sind und dass er Pixel enthält, die im 360-Videoraum benachbart sind. Solche Gruppen von Pixeln werden entblockungsgefiltert, um einen gefilterten Frame von 360-Videoraum-entblockungsgefilterten rekonstruierten Frames 1022 zu erzeugen. Wie ebenfalls erläutert, kann ein Abschnitt (z.B. ein Block oder eine Kodiereinheit oder dergleichen) des 360-Videoraum-entblockungsgefilterten, rekonstruierten Frames durch den Subtrahierer 1007 mit einem entsprechenden Abschnitt des 2D-Video-Frames 112 (z.B. einem Abschnitt eines ursprünglichen 2D-Video-Frames) subtrahiert werden, um einen Restabschnitt zu erzeugen. Der Restabschnitt kann durch das Transformationsmodul 1010 transformiert und durch das Quantisierungsmodul 1011 quantisiert werden, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen. Die quantisierten Transformationskoeffizienten können in den Ausgangsbitstrom 113 durch das Entropie-Kodierermodul 1014 kodiert werden.
  • 11 zeigt ein Blockdiagramm eines beispielhaften Dekodierers 1100, der gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Zum Beispiel kann der Dekodierer 1100 auf der Grundlage der hierin besprochenen Techniken ein Entblocken der Flächengrenzen in einer Schleifenprojektion bereitstellen. Wie gezeigt, kann der Decoder 1100 ein Bewegungskompensations- (MC) -Modul 1102, ein Intra-Vorhersage- (Intra-) Modul 1104, einen Frame-Puffer (FB) 1105, ein In-Frame-Entblockungsfilter-(DF-) Modul 1106, einen Auswahlschalter 1108, einen Addierer 1109, ein Inverse-Quantisierungs- (IQ-) Modul 1112, ein Inverse-Transformations- (IT-) Modul 1113, ein Entropiedekodier- (ED-) Modul 1114 und einen Projektionsflächenbegrenzungs-Entblocker (PFBD) 104 enthalten. Der Decoder 1100 kann zusätzliche Module und/oder Verbindungen enthalten, die aus Gründen der Übersichtlichkeit der Darstellung nicht dargestellt sind.
  • Wie gezeigt, kann der Dekodierer 1100 einen Eingangsbitstrom 114 empfangen (z.B. einen Eingangsbitstrom, der 2D-Video-Frames entspricht oder sie darstellt, die von einem 360- oder sphärischen Raum projiziert werden) und der Dekodierer 1100 kann 2D-Video-Frames 115 erzeugen (z.B. derart, dass 2D-Frames von einem 360-Grad-Raum oder einem sphärischen Raum projiziert werden), wie hierin besprochen. Beispielsweise kann das Entropiedekodierermodul 1114 den Eingangsbitstrom 114 entropiedekodieren, um quantisierte Koeffizienten zusammen mit verschiedenen Steuersignalen zu bestimmen. Die quantisierten Koeffizienten können über das Inverse-Quantisierungsmodul 1112 invers quantisiert und über das Inverse-Transformationsmodul 1113 invers transformiert werden, um rekonstruierte Differenzen oder Residuen zu erzeugen. Die rekonstruierten Differenzen oder Residuen können über den Addierer 1109 mit Referenzblöcken (aus zuvor dekodierten Frames) kombiniert werden, um rekonstruierte Blöcke zu erzeugen, die, wie gezeigt, dem Intra-Vorhersagemodul 1104 zur Verwendung in der Intra-Vorhersage bereitgestellt werden können. Weiterhin können die rekonstruierten Blöcke über das Entblockungsfiltermodul 1006 in-Frame-entblockt und zur Erzeugung rekonstruierter Frames 1121 rekonstruiert werden. Rekonstruierte Frames 1121 können dem Projektionsflächenbegrenzungs-Entblocker 104 zum Entblocken von Pixelgruppen bereitgestellt werden, die in rekonstruierten Frames 1121 keine Nachbarn sind und im 360-Videoraum, von dem rekonstruierte Frames 1121 Projektionen enthalten, Nachbarn sind. Wie gezeigt, kann der Projektionsflächenbegrenzungs-Entblocker 104 2D-Video-Frames 115 erzeugen (z.B. 360-Videoraum-entblockungsgefilterte, rekonstruierte Frames) basierend auf rekonstruierten Frames 1121, die im Frame-Puffer 1105 gespeichert und dem Bewegungskompensationsmodul 1102 zur Verwendung bei der Vorhersage bereitgestellt werden können. Weiterhin können 2D-Video-Frames 115 zur Ausgabe an eine Anzeigevorrichtung oder dergleichen zum Betrachten durch einen Benutzer bereitgestellt werden.
  • Durch Implementieren des Dekodierers 1100 und insbesondere des Entblockers 104 für die Projektionsflächengrenze innerhalb des Dekodierers 1100 wurde eine verbesserte Videoqualität des durch 2D-Video-Frames 115 dargestellten Videos erreicht. Zum Beispiel kann, wie besprochen, der Projektionsflächenbegrenzungs-Entblocker 104 einen einzelnen rekonstruierten 2D-Video-Frame von rekonstruierten Video-Frames 1121 empfangen, so dass der einzelne rekonstruierte 2D-Video-Frame eine Projektion von einem 360-Videoraum enthält. Der Projektionsflächenbegrenzungs-Entblocker 104 bestimmt, dass Gruppen von Pixeln aus dem einzelnen rekonstruierten 2D-Video-Frame in dem einzelnen rekonstruierten 2D-Videoframe nicht benachbart sind und dass sie Pixel, die im 360-Videoraum benachbart sind, enthalten. Solche Gruppen von Pixeln werden entblockungsgefiltert, um einen gefilterten Frame von 2D-Video-Frames 115 zu erzeugen (z.B. einen 360-Videoraum-entblockungsgefilterten rekonstruierten Frame). Wie ebenfalls besprochen, wird der Eingangsbitstrom 114 durch das Entropiedekodierermodul 1114 dekodiert, um quantisierte Transformationskoeffizienten für einen Restabschnitt (z.B. einen Block oder eine Kodiereinheit oder dergleichen) des rekonstruierten 2D-Video-Frames zu bestimmen. Die quantisierten Transformationskoeffizienten können durch das Inverse-Quantisierungsmodul 1112 invers quantisiert und durch das Inverse-Transformationsmodul 1113 invers transformiert werden, um einen Restabschnitt zu erzeugen. Der Restabschnitt kann durch den Addierer 1109 zu einem entsprechenden Vorhersageabschnitt addiert werden, um einen rekonstruierten Abschnitt zu erzeugen. Der rekonstruierte Abschnitt kann dann durch das In-Frame-Entblockungsfilter- (DF-) Modul 1106 in-Frame-entblockungsgefiltert werden und der Vorhersageabschnitt und andere Vorhersageabschnitte können zusammengesetzt werden, um einen rekonstruierten Frame der rekonstruierten Frames 1121 zu erzeugen.
  • Der Projektionsflächenbegrenzungs-Entblocker 104 kann den rekonstruierten Frame der rekonstruierten Frames 1121 empfangen, so dass das einzelne rekonstruierte 2D-Videobild eine Projektion von einem 360-Videoraum enthält. Der Projektionsflächenbegrenzungs-Entblocker 104 bestimmt, dass Gruppen von Pixeln aus dem einzelnen rekonstruierten 2D-Video-Frame in dem einzelnen rekonstruierten 2D-Video-Frame nicht benachbart sind und dass sie Pixel enthalten, die im 360-Videoraum benachbart sind. Solche Gruppen von Pixeln werden entblockungsgefiltert, um einen gefilterten Frame der 2D-Video-Frames 115 zu erzeugen. Unter Bezugnahme auf 1 können 2D-Video-Frames 115 einem Benutzer angezeigt werden, indem ein Anzeigefenster für die Anzeige ausgewählt wird (z.B. durch den Benutzer oder Anwendungsauswahl oder dergleichen), wobei ein Abschnitt des gefilterten Frames der 2D-Video-Frames 115 zur Anzeige basierend auf dem Darstellungsfenster bestimmt wird und der Abschnitt des rekonstruierten 2D-Video-Frames einem Benutzer oder Benutzern oder dergleichen angezeigt wird.
  • 12 zeigt ein Blockdiagramm eines beispielhaften Kodierers 1200, der gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Beispielsweise kann der Kodierer 1200 auf der Grundlage der hierin diskutierten Techniken ein Entblocken der Projektionsflächengrenzen außerhalb der Schleife oder ein Vorverarbeiten vorsehen. Wie gezeigt, kann der Kodierer 1200 ein Bewegungsschätzungs- (ME-) Modul 1001, ein Bewegungskompensations- (MC-) Modul 1002, ein Intra-Vorhersage- (Intra-) Modul 1004, einen Frame-Puffer (FB) 1005, ein In-Frame-Entblockungsfilterungs- (DF-) Modul 1006, einen Subtrahierer 1007, einen Auswahlschalter 1008, einen Addierer 1009, ein Transformations (T) -Modul 1010, ein Quantisierungs- (Q-) Modul 1011, ein Inverses-Quantisierungs- (IQ-) Modul 1012, ein Inverses-Transformations- (IT-) Modul 1013, ein Entropie-Kodierer- (EE-) Modul 1014 und einen Projektionsflächenbegrenzungs-Entblocker (PFBD) 104 umfassen. Der Kodierer 1200 kann zusätzliche Module und/oder Verschaltungen aufweisen, die der Übersichtlichkeit halber nicht dargestellt sind.
  • Wie gezeigt, kann der Kodierer 1200 2D-Video-Frames 112 empfangen (z.B. 2D-Video-Frames, die von einem 360-Grad-Raum oder einem sphärischen Raum projiziert werden), und der Kodierer 1200 kann einen Ausgangsbitstrom 113 erzeugen, wie hierin diskutiert. Beispielsweise kann der Kodierer 1200 einen Projektionsflächenbegrenzungs-Entblocker 104 als Vorprozessor oder Vorfilter für eine verbesserte Kodierereffizienz und Videoqualität enthalten. In einigen Beispielen kann der Projektionsflächenbegrenzungs-Entblocker 104 als ein Teil des Kodierers 1200 gekennzeichnet sein und in anderen Beispielen kann der Projektionsflächenbegrenzungs-Entblocker 104 vor der Kodierungsverarbeitung als ein Vorprozessor oder ein Vorfilter charakterisiert werden.
  • Beispielsweise kann der Projektionsflächenbegrenzungs-Entblocker 104 2D-Video-Frames 112 (z.B. 2D-Video-Frames, die von einem 360-Grad-Raum oder einem sphärischen Raum projiziert werden) empfangen und der Projektionsflächenbegrenzungs-Entblocker 104 kann 360-Videoraum-entblockungsgefilterte Frames (gefilterte Frames) 1221 erzeugen, wie hierin besprochen. Die gefilterten Frames 1221 können dann kodiert werden, um einen Ausgangsbitstrim 113 zu erzeugen, wie dies mit Bezug auf 10 erläutert wurde. Der Kürze halber wird eine solche Kodierungsverarbeitung nicht wiederholt beschrieben.
  • Durch Implementieren des Kodierers 1200 und insbesondere des Projektionsflächenbegrenzungs-Entblockers 104 kann eine verbesserte Kodierungsqualität und -komprimierung und eine verbesserte Videoqualität des durch den Ausgangsbitstrom 113 dargestellten Videos erzielt werden. Zum Beispiel kann, wie diskutiert, der Projektionsflächenbegrenzungs-Entblocker 104 einen einzelnen 2D-Video-Frame der 2D-Video-Frames 112 empfangen, so dass der einzelne 2D-Video-Frame eine Projektion von einem 360-Videoraum enthält. Der Projektionsflächenbegrenzungs-Entblocker 104 bestimmt, dass Gruppen von Pixeln aus dem einzelnen 2D-Video-Frame in dem einzelnen rekonstruierten 2D-Video-Frame nicht benachbart sind und dass sie Pixel enthalten, die im 360-Videoraum benachbart sind. Solche Gruppen von Pixeln werden entblockungsgefiltert, um einen gefilterten Frame von entblockungsgefilterten 360-Videoraum-Frames 1221 zu erzeugen. Wie ebenfalls erläutert, kann ein Abschnitt (z.B. ein Block oder eine Kodiereinheit oder dergleichen) des entblockungsgefilterten 360-Videoraum-Frames durch den Subtrahierer 1007 mit einem entsprechenden Abschnitt von einem rekonstruierten Video-Frame (z.B. wie durch die lokale Dekodierschleife rekonstruiert und wie durch Intra- oder Inter-Vorhersage ausgewählt) unterschieden werden, um einen Restabschnitt zu erzeugen. Der Restabschnitt kann durch das Transformationsmodul 1010 transformiert und durch das Quantisierungsmodul 1011 quantisiert werden, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen. Die quantisierten Transformationskoeffizienten können durch das Entropie-Kodierermodul 1014 in den Ausgangsbitstrom 113 kodiert werden.
  • 13 zeigt ein Blockdiagramm eines beispielhaften Dekodierers 1300, der gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. Zum Beispiel kann der Dekodierer 1300 auf der Grundlage der hierin diskutierten Techniken ein Entblocken der Projektionsflächengrenze außerhalb der Schleife oder nach der Verarbeitung bereitstellen. Wie gezeigt, kann der Dekodierer 1300 ein Bewegungskompensationsmodul (MC-Modul) 1102, ein Intra-Vorhersagemodul (Intra-Modul) 1104 und einen Frame-Puffer (FB) 1105, ein In-Frame-Entblockungsfilter (DF-) Modul 1106, einen Auswahlschalter 1108, einen Addierer 1109, ein Inverse-Quantisierungs (IQ-) Modul 1112, ein Inverse-Transformations (IT-) Modul 1113, ein Entropiedekodier (ED-) Modul 1114 und einen Projektionsflächenbegrenzungs-Entblocker (PFBD) 104 umfassen. Der Dekodierer 1300 kann zusätzliche Module und/oder Verbindungen enthalten, die aus Gründen der Klarheit der Darstellung nicht gezeigt sind.
  • Wie gezeigt, kann der Dekodierer 1300 einen Eingangsbitstrom 114 empfangen (z.B. einen Eingangsbitstrom, der 2D-Video-Frames entspricht oder repräsentiert, die von einem 360°-Raum oder einem sphärischen Raum projiziert werden) und der Dekodierer 1300 kann 2D-Video-Frames 115 erzeugen (z.B. so wie jene 2D-Frames von einem 360- oder sphärischen Raum projiziert werden). Beispielsweise kann der Dekodierer 1300 einen Projektionsflächenbegrenzungs-Entblocker 104 als Postprozessor oder Postfilter für eine verbesserte Videoqualität aufweisen. In einigen Beispielen kann der Projektionsflächenbegrenzungs-Entblocker 104 als ein Teil des Dekodierers 1300 charakterisiert werden, und in anderen Beispielen kann der Projektionsflächenbegrenzungs-Entblocker 104 als ein Postprozessor oder ein Postfilter vor der Dekodierverarbeitung charakterisiert werden.
  • Beispielsweise kann der Dekodierer 1300 den Eingangsbitstrom 114 empfangen, der dekodierverarbeitet werden kann, um rekonstruierte Frames 1121 zu erzeugen (z.B. rekonstruierte 2D-Video-Frames, die von einem 360-Grad-Raum oder einem Kugelraum projiziert werden). Eine solche Dekodierverarbeitung wird der Kürze halber nicht wiederholt. Wie gezeigt, können rekonstruierte Frames 1121 im Frame-Puffer 1105 gespeichert und zum Dekodieren der nachfolgenden Video-Frames verwendet werden. Weiterhin kann der Projektionsflächenbegrenzungs-Entblocker 104 einen rekonstruierten Frame der rekonstruierten Frames 1321 empfangen, so dass der einzelne rekonstruierte 2D-Video-Frame eine Projektion aus einem 360-Videoraum aufweist. Der Projektionsflächenbegrenzungs-Entblocker 104 bestimmt, dass Gruppen von Pixeln aus dem einzelnen rekonstruierten 2D-Video-Frame in dem einzelnen rekonstruierten 2D-Video-Frame nicht benachbart sind und dass sie Pixel enthalten, die in dem 360-Videoraum benachbart sind. Solche Gruppen von Pixeln werden entblockungsgefiltert, um einen gefilterten Frame der 2D-Video-Frames 115 zu erzeugen. Bezugnehmend auf 1 können 2D-Video-Frames 115 einem Benutzer angezeigt werden, indem ein Darstellungsfenster zur Anzeige ausgewählt wird (z.B. durch Benutzer- oder Anwendungsauswahl oder dergleichen), wobei ein Abschnitt des gefilterten Frames der 2D-Video-Frames 115 zur Anzeige basierend auf dem Darstellungsfenster bestimmt wird und der Abschnitt des rekonstruierten 2D-Video-Frames für einen Benutzer oder die Benutzer oder dergleichen angezeigt wird.
  • 14 ist ein Flussdiagramm, das einen beispielhaften Prozess 1400 zum Videokodieren von Video-Frames darstellt, die Projektionen von einem 360-Videoraum enthalten, die gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. Der Prozess 1400 kann eine oder mehrere Operationen 1401 - 1403 umfassen, wie in 14 dargestellt. Der Prozess 1400 kann wenigstens einen Teil eines Videokodierungsprozesses bilden. Als nicht einschränkendes Beispiel kann der Prozess 1400 wenigstens einen Teil eines Videokodierungsprozesses, eines Videodekodierungsprozesses, einer Videovorbearbeitung oder einer Videonachbearbeitung für Videos bilden, wie von System 100, wie hier besprochen, ausgeführt. Darüber hinaus wird die Verarbeitung 1400 hier unter Bezugnahme auf das System 1500 von 15 beschrieben.
  • 15 ist ein veranschaulichendes Diagramm eines beispielhaften Systems 1500 zum Videokodieren von Video-Frames, die Projektionen von einem 360-Videoraum enthalten, die gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet sind. Wie in 15 gezeigt, kann das System 1500 einen Grafikprozessor 1501, einen Zentralprozessor 1502 und einen Speicher 1503 umfassen. Wie gezeigt, kann der Grafikprozessor 1501 auch einen Kodierer 103 umfassen, der einen Projektionsflächenbegrenzungs-Entblocker 104 umfassen kann, der, wie gezeigt, ein Pixelauswahl- und Anpassungsmodul 105 und einen Entblockungsfilter 106 aufweisen kann. In dem Beispiel des Systems 1500 kann der Speicher 1503 Videoinhalte wie z.B. Video-Frames oder einen Bitstrom oder irgendwelche anderen Daten oder Parameter, die hier besprochen werden, speichern.
  • Der Grafikprozessor 1501 kann eine beliebige Anzahl und einen beliebigen Typ von Grafikprozessoren oder Verarbeitungseinheiten enthalten, welche die hierin diskutierten Operationen bereitstellen können. Solche Operationen können über Software oder Hardware oder eine Kombination davon implementiert werden. In einer Ausführungsform können die dargestellten Module des Grafikprozessors 1501 über eine Schaltung oder dergleichen implementiert werden. Beispielsweise kann der Grafikprozessor 1501 eine Schaltung aufweisen, die zum Manipulieren von Videodaten zum Erzeugen eines komprimierten Bitstroms bestimmt ist, und/oder eine Schaltung, die zum Manipulieren eines komprimierten Bitstroms zum Erzeugen von Videodaten und zum Bereitstellen der hier diskutierten Operationen bestimmt ist. Beispielsweise kann der Grafikprozessor 1501 eine elektronische Schaltung zum Manipulieren und Ändern des Speichers, um die Erzeugung von Video-Frames in einem Frame-Puffer zu beschleunigen, und/oder zum Manipulieren und Ändern des Speichers aufweisen, um die Erstellung eines Bitstreams auf der Grundlage von Bildern oder Video-Frames zu beschleunigen.
  • Der Zentralprozessor 1502 kann eine beliebige Anzahl und einen beliebigen Typ von Verarbeitungseinheiten oder -modulen enthalten, die eine Steuerung und andere Funktionen auf hoher Ebene für das System 1500 bereitstellen und/oder die hierin diskutierten Operationen bereitstellen können. Beispielsweise kann der Zentralprozessor 1502 eine elektronische Schaltung zum Ausführen der Anweisungen eines Computerprogramms durch Ausführen von Grundrechen-, Logik-, Steuer-, Eingabe-/Ausgabeoperationen und dergleichen, die durch die Anweisungen spezifiziert sind, umfassen.
  • Der Speicher 1503 kann ein beliebiger Speichertyp sein, beispielsweise ein flüchtiger Speicher (z.B. ein statischer Direktzugriffsspeicher (SRAM), ein dynamischer Direktzugriffsspeicher (DRAM) usw.) oder ein nichtflüchtiger Speicher (z.B. ein Flash-Speicher usw.). In einer Ausführungsform kann der Speicher 1503 konfiguriert sein, um Videodaten wie Pixelwerte, Steuerparameter, Bitstromdaten oder irgendwelche anderen hierin diskutierten Videodaten zu speichern. In einem nicht einschränkenden Beispiel kann der Speicher 1503 durch einen Cache-Speicher implementiert werden. In einer Ausführungsform kann der Kodierer 103 über Ausführungseinheiten (EU) des Grafikprozessors 1501 implementiert werden. Die Ausführungseinheiten können beispielsweise programmierbare Logik oder Schaltungen wie einen Logikkern oder Kerne, die eine breite Palette von programmierbaren Logikfunktionen bieten können, umfassen. In einer Ausführungsform kann der Kodierer 103 über dedizierte Hardware wie eine feste Funktionsschaltung oder dergleichen implementiert werden. Feste Funktionsschaltungen können dedizierte Logik oder Schaltungen enthalten und können einen Satz von festen Funktionseintrittspunkten bereitstellen, die für einen festen Zweck oder eine feste Funktion auf die dedizierte Logik abgebildet werden können.
  • Zurückkommend auf die Diskussion von 14 kann der Prozess 1400 bei Operation 1401 beginnen, wo ein einzelner zweidimensionaler (2D) Video-Frame aus einer Videosequenz von 2D-Video-Frames zur Verarbeitung empfangen wird, so dass der einzelne 2D-Video-Frame eine Projektion aus einem 360-Videoraum enthält. Der einzelne 2D-Video-Frame kann eine Projektion von jedem geeigneten 360-Videoraum in jedem geeigneten Format enthalten. Beispielsweise kann der einzelne 2D-Video-Frame einen vom 360-Videoraum projizierten äquirektangulären Frame, einen von dem 360-Videoraum projizierten Cubemap-Format-Frame, einen vom 360-Videoraum projizierten kompakten Cubemap-Format-Frame oder dergleichen umfassen. Beispielsweise kann der Kodierer 103, so wie er über den Grafikprozessor 1501 implementiert ist, den einzelnen zweidimensionalen Video-Frame zur Verarbeitung empfangen oder erzeugen.
  • Darüber hinaus kann der einzelne 2D-Video-Frame zur Verarbeitung in einem beliebigen geeigneten Kontext empfangen werden. Beispielsweise können der Grafikprozessor 1501 und/oder der Zentralprozessor 1502 einen beliebigen Kodierer, Dekodierer, Vorprozessor, Nachprozessor oder dergleichen implementieren, die hierin besprochen werden. In einer Ausführungsform ist der einzelne 2D-Video-Frame ein rekonstruierter 2D-Video-Frame und der Prozess 1400 umfasst ferner das Subtrahieren eines Abschnitts des Flächengrenzen-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines ursprünglichen 2D-Video-Frames, um einen Restabschnitt zu erzeugen, das Transformieren und Quantisieren des Restabschnitts, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und das Kodieren des quantisierten Transformationskoeffizienten in einen Bitstrom. Beispielsweise kann eine solche Verarbeitung eine In-Loop-Entblockungsfilterung für die Kodierung bereitstellen.
  • In einer anderen Ausführungsform ist der einzelne 2D-Video-Frame ein gefilterter rekonstruierter 2D-Video-Frame, und der Prozess 1400 umfasst ferner das Dekodieren eines Bitstroms zum Bestimmen quantisierter Transformationskoeffizienten für einen Restabschnitt des rekonstruierten 2D-Video-Frames, das inverse Quantisieren und die inverse Transformation der quantisierten Transformationskoeffizienten, um den Restabschnitt zu bestimmen, Addieren des Restabschnitts zu einem Vorhersageanteil, um einen rekonstruierten Abschnitt eines rekonstruierten 2D-Video-Frames zu erzeugen, In-Frame-Entblockungsfilterung des rekonstruierten 2D-Video-Frames, um den gefilterten rekonstruierten 2D-Video-Frame zu erzeugen, Bestimmen eines Abschnitts des Flächengrenzen-entblockungsgefilterten 2D-Video-Frames zur Anzeige basierend auf einem Darstellungsfenster (z.B. ein 100-Grad-Sichtfeld) und Anzeigen des Abschnitts des rekonstruierten 2D-Video-Frames für einen Benutzer. Zum Beispiel kann eine solche Verarbeitung eine Entblockungsfilterung zum Dekodieren und Anzeigen für einen Benutzer bereitstellen.
  • In einer Ausführungsform umfasst der Prozess 1400 ferner das Subtrahieren eines Abschnitts des Flächengrenzen-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines rekonstruierten Video-Frames, um einen Restabschnitt zu erzeugen, Transformieren und Quantisieren des Restabschnitts, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen und Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom. Beispielsweise kann eine solche Verarbeitung eine Vorverarbeitungs-Entblockungsfilterung für die Kodierung bereitstellen.
  • Die Verarbeitung kann bei Operation 1402 fortgesetzt werden, bei der aus dem einzelnen 2D-Video-Frame eine Gruppe von Pixeln zur Entblockungsfilterung derart bestimmt werden kann, dass die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames enthält, so dass der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind und so dass ein erstes Einzelpixel des ersten Satzes von Pixeln und ein zweites Einzelpixel des zweiten Satzes von Pixeln benachbarte Pixel im 360-Videoraum sind. Beispielsweise kann das Pixelauswahl- und Anpassungsmodul 105 des Kodierers 103, wenn über den Grafikprozessor 1501 implementiert, die Gruppe von Pixeln für die Entblockungsfilterung bestimmen. Die Gruppe von Pixeln zur Entblockungsfilterung kann unter Verwendung einer beliebigen geeigneten Technik oder beliebiger geeigneter Techniken wie etwa einer beliebigen, hierin diskutierten Technik bestimmt werden.
  • In einer Ausführungsform beginnt der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames und der zweite Satz von Pixeln beginnt mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung des Innenraums des einzelnen 2D-Video-Frames. In einer Ausführungsform ist der einzelne 2D-Video-Frame ein aus dem 360-Videoraum projizierter äquirektangulärer Frame, und der erste Satz von Pixeln beginnt mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames, der zweite Satz von Pixeln beginnt mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung des Innenraums des einzelnen 2D-Video-Frames und die erste Position und die zweite Position der oberen Grenze sind gleich weit von der Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt.
  • In einer Ausführungsform ist der einzelne 2D-Video-Frame ein Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird, und der erste Satz von Pixeln beginnt mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten Grenze eines leeren Pixelbereichs des einzelnen 2D-Video-Frames und erstreckt sich zu einem Innenraum der ersten Flächenprojektion, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten Grenze des leeren Pixelbereichs beginnt und sich in Richtung des Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten Grenze des leeren Pixelbereichs gleich weit entfernt sind. In einer Ausführungsform ist der einzelne 2D-Video-Frame ein kompakter Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird, und der erste Satz von Pixeln beginnt mit dem ersten einzelnen Pixel bei einer ersten Flächenprojektions- und Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung eines Innenraums der ersten Flächenprojektion, und der zweite Satz von Pixeln beginnt mit dem zweiten einzelnen Pixel bei einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze und erstreckt sich in Richtung eines Innenraums der zweiten Flächenprojektion.
  • Für die Entblockungsfilterung können beliebig viele Pixelgruppen identifiziert werden. In einer Ausführungsform ist die Gruppe von Pixeln eine einzelne Zeile von Pixeln und der Prozess 1400 umfasst ferner das Bestimmen einer zweiten Gruppe von Pixeln zum Entblockungsfiltern aus dem einzelnen 2D-Video-Frame, so dass die zweite Gruppe von Pixeln einen dritten Satz von Pixeln und einen vierten Satz von Pixeln des einzelnen 2D-Video-Frames enthält, so dass der dritte Satz von Pixeln und der vierte Satz von Pixeln nicht benachbarte Pixel in dem einzelnen 2D-Video-Frame sind und wenigstens ein drittes einzelnes Pixel des dritten Satzes von Pixeln und ein viertes einzelnes Pixel des vierten Satzes von Pixeln benachbarte Pixel im 360-Videoraum sind. Beispielsweise kann der einzelne 2D-Video-Frame ein äquirektangulärer Frame sein, der aus dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnen und sich in das Innere des einzelnen 2D-Video-Frames erstrecken kann, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames beginnen und sich zum Innenraum des einzelnen 2D-Video-Frame erstrecken kann, der dritte Satz von Pixeln mit dem dritten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnen und sich zum Innenraum des einzelnen 2D-Video-Frames erstrecken kann, der vierte Satz von Pixeln mit dem vierten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frame beginnen und sich in Richtung des Innenraums des einzelnen 2D-Video-Frame erstrecken kann und die erste Position und die zweite Position der oberen Grenze gleich weit von der Mitte der oberen Begrenzung des einzelnen 2D-Video-Frame entfernt sein können.
  • Die Verarbeitung kann bei Operation 1403 fortgesetzt werden, wo die Gruppe von Pixeln einschließlich des ersten und des zweiten Satzes von Pixeln entblockungsgefiltert werden kann, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen. Die Gruppe von Pixeln oder Gruppen von Pixeln kann (können) unter Verwendung einer beliebigen geeigneten Technik oder beliebiger geeigneter Techniken entblockungsgefiltert werden. Jede Gruppe kann mit denselben Filtertechniken oder unterschiedlichen Filtertechniken entblockungsgefiltert werden. In einer Ausführungsform umfasst die Gruppe von Pixeln eine einzelne Zeile von Pixeln und das Entblockungsfiltern der Pixelgruppe umfasst das Anwenden eines Tiefpassfilters auf die Pixelgruppe.
  • Verschiedene Komponenten der hier beschriebenen Systeme können in Software, Firmware und/oder Hardware und/oder einer beliebigen Kombination davon implementiert sein. Beispielsweise können verschiedene Komponenten des Systems 100 oder des Systems 1500 wenigstens teilweise durch Hardware eines Computersystems-on-a-Chip (SoC) bereitgestellt werden, wie es in einem Computersystem wie beispielsweise einem Smartphone zu finden ist. Die Fachperson kann erkennen, dass die hier beschriebenen Systeme zusätzliche Komponenten enthalten können, die in den entsprechenden Figuren nicht dargestellt wurden. Zum Beispiel können die hier besprochenen Systeme zusätzliche Komponenten wie zum Beispiel Bitstrom-Multiplexer- oder Demultiplexer-Module und dergleichen aufweisen, die in der Beschreibung im Interesse der Klarheit nicht dargestellt wurden.
  • Während die Implementierung der hierin diskutierten beispielhaften Prozesse die Durchführung aller in der veranschaulichten Reihenfolge gezeigten Operationen umfassen kann, ist die vorliegende Offenbarung in dieser Hinsicht nicht beschränkt, und in verschiedenen Beispielen kann die Implementierung der hierin diskutierten beispielhaften Prozesse nur eine Teilmenge der gezeigten Operationen, Operationen, die in einer anderen Reihenfolge als abgebildet durchgeführt werden, oder zusätzliche Operationen umfassen.
  • Zusätzlich können eine oder mehrere der hierin besprochenen Operationen als Reaktion auf Anweisungen durchgeführt werden, die von einem oder mehreren Computerprogrammprodukten bereitgestellt werden. Solche Programmprodukte können Signalträgermedien enthalten, die Anweisungen bereitstellen, die, wenn sie beispielsweise von einem Prozessor ausgeführt werden, die hierin beschriebene Funktionalität bereitstellen können. Die Computerprogrammprodukte können in einer beliebigen Form von einem oder von mehreren maschinenlesbaren Medien bereitgestellt werden. So kann beispielsweise ein Prozessor, der eine oder mehrere Grafikverarbeitungseinheiten oder einen oder mehrere Prozessorkerne enthält, einen oder mehrere der Blöcke der hier beschriebenen beispielhaften Prozesse als Reaktion auf den Programmcode und/oder die Anweisungen oder Befehlssätze ausführen, die an diese von einem oder mehreren maschinenlesbaren Medien übermittelt werden. Im Allgemeinen kann ein maschinenlesbares Medium Software in der Form von Programmcode und/oder Anweisungen oder Anweisungssätzen übermitteln, die dazu führen können, dass eine der hier beschriebenen Vorrichtungen und/oder Systeme die hier diskutierten Techniken, Module, Komponenten oder dergleichen implementiert.
  • Wie in jeder hier beschriebenen Implementierung verwendet, bezieht sich der Begriff „Modul“ auf eine beliebige Kombination von Softwarelogik, Firmwarelogik, Hardwarelogik und/oder Schaltungen, die dazu konfiguriert sind, die hier beschriebene Funktionalität zu bieten. Die Software kann als Softwarepaket, Code und/oder Befehlssatz oder Befehle ausgeführt sein, und die „Hardware“, wie sie in einer hierin beschriebenen Implementierung verwendet wird, kann zum Beispiel einzeln oder in einer beliebigen Kombination festverdrahteter Schaltungen, programmierbarer Schaltungen, Zustandsmaschinenschaltung, Festfunktionsschaltung, Ausführungseinheitschaltungen und/oder Firmware, die Anweisungen speichert, die durch programmierbare Schaltungen ausgeführt werden, vorliegen. Die Module können zusammen oder einzeln als eine Schaltung ausgeführt sein, die einen Teil eines größeren Systems bildet, beispielsweise eine integrierte Schaltung (IC), ein On-Chip-System (SoC) und so weiter.
  • 16 ist ein veranschaulichendes Diagramm eines beispielhaften Systems 1600, das gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. In verschiedenen Implementierungen kann das System 1600 ein mobiles System sein, obwohl das System 1600 nicht auf diesen Kontext beschränkt ist. Zum Beispiel kann das System 1600 in einen Personal-Computer (PC), einen Laptop-Computer, einen Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Handheld-Computer, einen Palmtop-Computer, einen Personal Digital Assistant (PDA), ein Mobiltelefon, eine Kombination von Mobiltelefon/PDA, Fernsehen, Smart-Gerät (z.B. Smartphone, Smart Tablet oder Smart Television), mobiles Internet-Gerät (MID), Messaging-Gerät, Datenkommunikationsgerät, Kameras (z.B. Point-and-Shoot-Kameras, Super-Zoom-Kameras, digitale Spiegelreflexkameras (DSLR)) usw. eingebaut sein.
  • In verschiedenen Implementierungen umfasst das System 1600 eine Plattform 1602, die mit einer Anzeige 1620 gekoppelt ist. Die Plattform 1602 kann Inhalt von einem Inhaltsgerät, wie z.B. einem Inhaltsdienstgerät 1630 oder einem Inhaltsliefergerät 1640 oder anderen ähnlichen Inhaltsquellen, empfangen. Eine Navigationssteuerung 1650 mit einem oder mehreren Navigationsmerkmalen kann verwendet werden, um beispielsweise mit der Plattform 1602 und/oder der Anzeige 1620 zu interagieren. Jede dieser Komponenten wird nachstehend ausführlicher beschrieben.
  • In verschiedenen Implementierungen kann die Plattform 1602 eine beliebige Kombination eines Chipsatzes 1605, eines Prozessors 1610, eines Speichers 1612, einer Antenne 1613, einer Ablage 1614, eines Grafikuntersystems 1615, von Anwendungen 1616 und/oder eines Radios 1618 umfassen. Der Chipsatz 1605 kann eine Kommunikation zwischen dem Prozessor 1610 und dem Speicher 1612, der Ablage 1614, dem Grafikuntersystem 1615, den Anwendungen 1616 und/oder dem Funk 1618 bereitstellen. Beispielsweise kann der Chipsatz 1605 einen Ablageadapter (nicht dargestellt) aufweisen, der in der Lage ist, eine Kommunikation mit der Ablage 1614 bereitzustellen.
  • Der Prozessor 1610 kann als Complex Instruction Set Computer (CISC) - Prozessor oder Reduced Instruction Set Computer (RISC) -Prozessor, x86-Befehlssatz-kompatibler Prozessor, Multi-Core oder als ein beliebiger anderer Mikroprozessor oder eine Zentraleinheit (CPU) implementiert sein. In verschiedenen Implementierungen kann der Prozessor 1610 (ein) Dual-Core-Prozessor(en) oder (ein) Dual-Core-Mobil Prozessor(en) usw. sein.
  • Der Speicher 1612 kann als eine flüchtige Speichervorrichtung implementiert sein, wie beispielsweise, ohne darauf beschränkt zu sein, ein Direktzugriffsspeicher (RAM), ein dynamischer Direktzugriffsspeicher (DRAM) oder ein statischer RAM (SRAM).
  • Der Speicher 1614 kann als eine nichtflüchtige Speichervorrichtung implementiert sein, wie z.B., aber nicht beschränkt darauf, ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk, ein internes Speichergerät, ein angeschlossenes Speichergerät, ein Flash-Speicher, ein batteriegepuffertes SDRAM (synchroner DRAM) und/oder ein netzwerkzugängliches Speichergerät. In verschiedenen Implementierungen kann der Speicher 1614 eine Technologie aufweisen, um die Speicherleistung zu erhöhen und den Schutz für wertvolle digitale Medien zu verbessern, wenn beispielsweise mehrere Festplatten miteingeschlossen sind.
  • Das Grafik-Subsystem 1615 kann eine Verarbeitung von Bildern wie Standbild oder Video zur Anzeige durchführen. Das Grafikuntersystem 1615 kann beispielsweise eine Grafikverarbeitungseinheit (GPU) oder eine visuelle Verarbeitungseinheit (VPU) sein. Eine analoge oder digitale Schnittstelle kann verwendet werden, um das Grafikuntersystem 1615 und die Anzeige 1620 kommunikativ zu koppeln. Die Schnittstelle kann eine High-Definition-Multimedia-Schnittstelle, ein DisplayPort, ein drahtloses HDMI und/oder ein drahtloses HD-kompatibles Verfahren sein. Das Grafikuntersystem 1615 kann in den Prozessor 1610 oder den Chipsatz 1605 integriert sein. In einigen Implementierungen kann das Grafikuntersystem 1615 ein eigenständiges Gerät sein, das kommunikativ mit dem Chipsatz 1605 gekoppelt ist.
  • Die hier beschriebenen Grafik- und/oder Videoverarbeitungstechniken können in verschiedenen Hardware-Architekturen implementiert sein. Beispielsweise können Grafik- und/oder Videofunktionalität in einen Chipsatz integriert sein. Alternativ kann ein diskreter Grafik- und/oder Videoprozessor verwendet werden. Als noch eine andere Implementierung können die Grafik- und/oder Videofunktionen von einem Allzweckprozessor bereitgestellt werden, der einen Mehrkernprozessor umfasst. In weiteren Ausführungsformen können die Funktionen in einem Unterhaltungselektronikgerät implementiert sein.
  • Das Funkgerät 1618 kann ein oder mehrere Funkgeräte umfassen, die in der Lage sind, Signale unter Verwendung verschiedener geeigneter drahtloser Kommunikationstechniken zu senden und zu empfangen. Solche Techniken können Kommunikationen über ein oder mehrere drahtlose Netzwerke beinhalten. Beispielhafte drahtlose Netzwerke umfassen (ohne darauf beschränkt zu sein) drahtlose lokale Netzwerke (WLANs), drahtlose persönliche Netzwerke (WPANs), drahtlose Metropolitan Area Networks (WMANs), zellulare Netzwerke und Satellitennetze. Bei der Kommunikation über solche Netzwerke kann das Funkgerät 1618 gemäß einem oder mehreren anwendbaren Standards in einer beliebigen Version arbeiten.
  • In verschiedenen Implementierungen kann die Anzeige 1620 einen beliebigen Fernsehmonitor oder eine beliebige Fernsehanzeige enthalten. Die Anzeige 1620 kann zum Beispiel einen Computeranzeigebildschirm, eine Berührungsbildschirmanzeige, einen Videomonitor, ein fernsehähnliches Gerät und/oder einen Fernseher umfassen. Die Anzeige 1620 kann digital und/oder analog sein. In verschiedenen Implementierungen kann die Anzeige 1620 eine holographische Anzeige sein. Die Anzeige 1620 kann auch eine transparente Oberfläche sein, die eine visuelle Projektion empfangen kann. Solche Projektionen können verschiedene Formen von Informationen, Bildern und/oder Objekten vermitteln. Beispielsweise können solche Projektionen eine visuelle Überlagerung für eine Mobile Augmented Reality (MAR) -Anwendung sein. Unter der Steuerung einer oder mehrerer Softwareanwendungen 1616 kann die Plattform 1602 die Benutzerschnittstelle 1622 auf der Anzeige 1620 anzeigen.
  • In verschiedenen Implementierungen können die Inhaltsdienstgeräte 1630 von jedem nationalen, internationalen und/oder unabhängigen Dienst gehostet werden und somit der Plattform 1602 beispielsweise über das Internet zugänglich sein. Die Inhaltsdienstgeräte 1630 können mit der Plattform 1602 und/oder der Anzeige 1620 gekoppelt sein. Die Plattform 1602 und/oder die Inhaltsdienstgeräte 1630 können mit einem Netzwerk 1660 gekoppelt sein, um Medieninformationen zu und von dem Netzwerk 1660 zu kommunizieren (z.B. zu senden und/oder zu empfangen). Die Inhaltsliefervorrichtung(en) 1640 können auch mit der Plattform 1602 und/oder der Anzeige 1620 gekoppelt sein.
  • In verschiedenen Implementierungen können die Inhaltsdienstgeräte 1630 eine Kabel-Fernsehbox, Personal-Computer, Netzwerk-, Telefon-, internetfähige Geräte oder Vorrichtungen, die digitale Informationen und/oder Inhalte liefern können, und alle ähnlichen Geräte umfassen, die Inhalte zwischen Inhaltsanbietern und Plattform 1602 und/oder Anzeige 1620, über Netzwerk 1660 oder direkt unidirektional oder bidirektional übertragen können. Es versteht sich von selbst, dass der Inhalt unidirektional und/oder bidirektional zu und von jeder beliebigen Komponente im System 1600 und einem Inhaltsanbieter über das Netzwerk 1660 kommuniziert werden kann. Beispiele für Inhalte können beliebige Medieninformationen umfassen, einschließlich beispielsweise Video-, Musik-, Medizin- und Spielinformationen und so weiter.
  • Das (Die) Inhaltsdienstgerät(e) 1630 kann (können) Inhalte wie Kabelfernsehprogramme empfangen, einschließlich Medieninformationen, digitaler Informationen und/oder anderer Inhalte. Beispiele für Inhaltsanbieter können Kabel- oder Satellitenfernsehen-, Radio- oder Internetinhaltsanbieter sein. Die bereitgestellten Beispiele sollen Implementierungen gemäß der vorliegenden Offenbarung in keiner Weise einschränken.
  • In verschiedenen Implementierungen kann die Plattform 1602 Steuersignale von der Navigationssteuerung 1650 mit einem oder mehreren Navigationsmerkmalen empfangen. Die Navigationsfunktionen können beispielsweise zur Interaktion mit der Benutzerschnittstelle 1622 verwendet werden. In verschiedenen Ausführungsformen kann die Navigation ein Zeigegerät sein, das eine Computerhardwarekomponente sein kann (insbesondere ein Benutzeroberflächengerät), das es einem Benutzer ermöglicht, räumliche (z.B. kontinuierliche und mehrdimensionale) Daten in einen Computer einzugeben. Viele Systeme, wie z.B. grafische Benutzeroberflächen (GUI) sowie Fernseher und Monitore, ermöglichen dem Benutzer die Steuerung und Bereitstellung von Daten für den Computer oder das Fernsehen mit physischen Gesten.
  • Bewegungen der Navigationsmerkmale können auf einer Anzeige (z.B. der Anzeige 1620) durch Bewegungen eines Zeigers, Cursors, Fokusrings oder anderer visueller Indikatoren, die auf der Anzeige angezeigt werden, nachgebildet werden. Beispielsweise können unter der Steuerung von Softwareanwendungen 1616 die Navigationsmerkmale, die sich in der Navigation befinden, virtuellen Navigationsmerkmalen zugeordnet werden, die auf der Benutzerschnittstelle 1622 angezeigt werden. In verschiedenen Ausführungsformen kann es sich nicht um eine separate Komponente handeln, sondern sie kann in die Plattform 1602 und/oder die Anzeige 1620 integriert sein. Die vorliegende Offenbarung ist jedoch nicht auf die Elemente oder auf diese im hier gezeigten oder beschriebenen Kontext beschränkt.
  • In verschiedenen Implementierungen können Treiber (nicht gezeigt) eine Technologie enthalten, die es Benutzern ermöglicht, die Plattform 1602 wie einen Fernseher mit einem Knopfdruck beispielsweise nach dem anfänglichen Hochfahren, wenn aktiviert, sofort ein- und auszuschalten. Die Programmlogik kann es der Plattform 1602 ermöglichen, Inhalte zu Medienadaptern oder anderen Inhaltsdienstgeräten 1630 oder Inhaltsliefergeräten 1640 zu streamen, selbst wenn die Plattform „ausgeschaltet“ ist. Zusätzlich kann der Chipsatz 1605 Hardware - und/oder Software-Unterstützung für zum Beispiel 5.1 Surround Sound Audio und/oder High Definition 7.1 Surround Sound Audio umfassen. Treiber können einen Grafiktreiber für integrierte Grafikplattformen enthalten. In verschiedenen Ausführungsformen kann der Grafiktreiber eine PCI (Peripheral Component Interconnect) -Express-Grafikkarte enthalten.
  • In verschiedenen Implementierungen können eine oder mehrere der im System 1600 gezeigten Komponenten integriert sein. Zum Beispiel können Plattform 1602 und Inhaltsdienstgerät(e) 1630 integriert sein oder die Plattform 1602 und die Inhaltslieferungsvorrichtung(en) 1640 können integriert sein oder die Plattform 1602, die Inhaltsdienstvorrichtung(en) 1630 und die Inhaltslieferungsvorrichtung(en) 1640 können zum Beispiel integriert sein. In verschiedenen Ausführungsformen können die Plattform 1602 und die Anzeige 1620 eine integrierte Einheit sein. Die Anzeige 1620 und die Inhaltsdienstvorrichtung(en) 1630 können beispielsweise integriert sein, oder die Anzeige 1620 und die Inhaltslieferungsvorrichtung(en) 1640 können beispielsweise integriert sein. Diese Beispiele sollen die vorliegende Offenbarung nicht einschränken.
  • In verschiedenen Ausführungsformen kann das System 1600 als ein drahtloses System, ein verdrahtetes System oder eine Kombination von beiden implementiert sein. Wenn das System 1600 als ein drahtloses System implementiert ist, kann es Komponenten und Schnittstellen enthalten, die zur Kommunikation über ein drahtloses gemeinsam genutztes Medium geeignet sind, wie beispielsweise eine oder mehrere Antennen, Sender, Empfänger, Transceiver, Verstärker, Filter, Steuerlogik und so weiter. Ein Beispiel für gemeinsam genutzte Funkmedien kann Teile eines Funkspektrums wie das HF-Spektrum usw. umfassen. Wenn das System 1600 als ein verdrahtetes System implementiert ist, kann es Komponenten und Schnittstellen enthalten, die zur Kommunikation über verdrahtete Kommunikationsmedien geeignet sind, wie z.B. Eingabe/Ausgabe (I/O-) Adapter, physikalische Verbinder zum Verbinden des Eingabe/Ausgabe (I/O-) Adapters mit einem entsprechenden verdrahteten Kommunikationsmedium, eine Netzwerkschnittstellenkarte (NIC), ein Disc-Controller, Video-Controller, Audio-Controller und dergleichen. Beispiele für drahtgebundene Kommunikationsmedien können Drähte, Kabel, Metallleitungen, Leiterplatten (PCB), Rückwandplatinen, Schaltergewebe, Halbleitermaterial, Twisted-Pair-Drähte, Koaxialkabel, Lichtwellenleiter usw. sein.
  • Die Plattform 1602 kann einen oder mehrere logische oder physikalische Kanäle für die Kommunikationsinformationen einrichten. Die Informationen können Medieninformationen und Steuerinformationen umfassen. Medieninformationen können sich auf alle Daten beziehen, die für einen Benutzer bestimmten Inhalt darstellen. Beispiele für Inhalte können beispielsweise Daten aus einer Sprachkonversation, einer Videokonferenz, einem Streaming-Video, einer E-Mail-Nachricht („E-Mail“), einer Voicemail-Nachricht, alphanumerischen Symbolen, Grafik, Bild, Video, Text usw. sein. Daten aus einem Sprachgespräch können beispielsweise Sprachinformationen, Pausen, Hintergrundgeräusche, Komfortgeräusche, Töne usw. sein. Steuerinformationen können sich auf beliebige Daten beziehen, die Befehle, Anweisungen oder Steuerwörter darstellen, die für ein automatisiertes System bestimmt sind. Beispielsweise können Steuerinformationen verwendet werden, um Medieninformationen durch ein System zu leiten oder um einen Knoten anzuweisen, die Medieninformationen in einer vorgegebenen Weise zu verarbeiten. Die Ausführungsbeispiele sind jedoch nicht auf die Elemente oder auf den Kontext beschränkt, der in 16 gezeigt oder beschrieben ist.
  • Wie oben beschrieben, kann das System 1600 in unterschiedlichen physikalischen Stilen oder Formfaktoren ausgeführt sein. 17 zeigt eine beispielhafte Vorrichtung 1700 mit kleinem Formfaktor, die gemäß wenigstens einigen Implementierungen der vorliegenden Offenbarung angeordnet ist. In einigen Beispielen kann das System 1600 über die Vorrichtung 1700 implementiert sein.
  • In anderen Beispielen können das System 1500 oder Abschnitte davon über die Vorrichtung 1700 implementiert werden. In verschiedenen Ausführungsformen kann die Vorrichtung 1700 beispielsweise als mobiles Computergerät mit drahtlosen Fähigkeiten implementiert werden. Ein mobiles Computergerät kann sich auf ein beliebiges Gerät beziehen, das ein Verarbeitungssystem und eine mobile Energiequelle oder -versorgung aufweist, wie beispielsweise eine oder mehrere Batterien.
  • Beispiele für ein mobiles Computergerät können ein Personal-Computer (PC), ein Laptop-Computer, ein Ultra-Laptop-Computer, ein Tablet, ein Touchpad, ein tragbarer Computer, ein Handheld-Computer, ein Palmtop-Computer, ein Personal Digital Assistant (PDA), ein Mobiltelefon oder eine Kombination aus Mobiltelefonen/PDA, Smart Device (z.B. Smartphone, Smart Tablet oder Smart Mobile Television), Mobile Internet Device (MID), Messaging Device, Datenkommunikationgerät, Kameras usw. sein.
  • Beispiele für ein mobiles Computergerät können auch Computer umfassen, die so angeordnet sind, dass sie von einer Person getragen werden können, wie beispielsweise Armbandcomputer, Fingercomputer, Ringcomputer, Brillencomputer, Gürtelclipcomputer, Armbandcomputer, Schuhcomputer, Bekleidungscomputer und andere tragbare Computer. In verschiedenen Ausführungsformen beispielsweise kann ein mobiles Computergerät als ein Smartphone implementiert sein, das Computeranwendungen sowie Sprachkommunikation und/oder Datenkommunikation ausführen kann. Obwohl einige Ausführungsformen beispielhaft mit einem mobilen Computergerät beschrieben werden können, das als Smartphone implementiert ist, versteht es sich von selbst, dass andere Ausführungsformen auch unter Verwendung anderer drahtloser mobiler Computergeräte implementiert werden können. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • Wie in 17 gezeigt, kann die Vorrichtung 1700 ein Gehäuse mit einer Vorderseite 1701 und einer Rückseite 1702 umfassen. Die Vorrichtung 1700 enthält eine Anzeige 1704, eine Eingabe-/Ausgabe- (I/O-) Vorrichtung 1706 und eine integrierte Antenne 1708. Die Vorrichtung 1700 kann auch Navigationsmerkmale 1712 aufweisen. Die 1/0-Vorrichtung 1706 kann ein beliebiges geeignetes 1/0-Gerät zum Eingeben von Informationen in ein mobiles Computergerät umfassen. Beispiele für die 1/0-Vorrichtung 1706 können eine alphanumerische Tastatur, ein numerisches Tastenfeld, ein Berührungsfeld, Eingabetasten, Knöpfe, Schalter, Mikrofone, Lautsprecher, eine Spracherkennungsvorrichtung und Software usw. umfassen. Informationen können auch über ein Mikrofon (nicht gezeigt) in die Vorrichtung 1700 eingegeben oder durch ein Spracherkennungsgerät digitalisiert werden. Wie gezeigt, kann die Vorrichtung 1700 eine Kamera 1705 (z.B. mit einer Linse, einer Blende und einem Bildsensor) und einen Blitz 1710 enthalten, der in die Rückseite 1702 (oder an einer anderen Stelle) der Vorrichtung 1700 integriert ist. In anderen Beispielen können Kamera 1705 und Blitz 1710 in die Vorderseite 1701 der Vorrichtung 1700 integriert sein oder es können sowohl Vorder- als auch Rückkameras vorgesehen sein. Die Kamera 1705 und der Blitz 1710 können Komponenten eines Kameramoduls sein, um Bilddaten zu erzeugen, die in einen Videostream verarbeitet werden können, der an die Anzeige 1704 ausgegeben und/oder von der Vorrichtung 1700 über die Antenne 1708 fernübertragen wird.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination von beiden implementiert werden. Beispiele für Hardwareelemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z.B. Transistoren, Widerstände, Kondensatoren, Induktivitäten, usw.), integrierte Schaltkreise, anwendungsspezifische integrierte Schaltkreise (ASIC), programmierbare Logikbausteine (PLD), digitale Signalprozessoren (DSP), feldprogrammierbare Gate-Arrays (FPGA), Logikgatter, Register, Halbleiterbausteine, Chips, Mikrochips, Chipsätze und so weiter umfassen. Beispiele für Software können Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Unterprogramme, Funktionen, Methoden, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen (API), Befehlssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder eine beliebige Kombination davon umfassen. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann in Übereinstimmung mit einer beliebigen Anzahl von Faktoren, wie der gewünschten Rechenrate, Leistungsstufen, Wärmetoleranzen, dem Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und anderen Design- oder Leistungsbeschränkungen, variieren.
  • Ein oder mehrere Aspekte von wenigstens einer Ausführungsform können durch repräsentative Anweisungen implementiert werden, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logik innerhalb des Prozessors darstellt, die, wenn sie von einer Maschine gelesen wird, die Maschine veranlasst, Logik herzustellen, um die hier beschriebenen Techniken auszuführen. Solche Darstellungen, die als IP-Kerne bekannt sind, können auf einem materiellen, maschinenlesbaren Medium gespeichert und verschiedenen Kunden oder Fertigungsstätten zur Verfügung gestellt werden, um sie in die Fertigungsmaschinen zu laden, aus denen die Logik oder der Prozessor tatsächlich besteht.
  • Während bestimmte hierin dargelegte Merkmale unter Bezugnahme auf verschiedene Implementierungen beschrieben wurden, soll diese Beschreibung nicht in einem einschränkenden Sinne ausgelegt werden. Daher wird in Bezug auf verschiedene Modifikationen der hier beschriebenen Implementierungen sowie anderen Implementierungen, die für Fachleute auf dem Gebiet, dem die vorliegende Erfindung zuzuordnen ist, offensichtlich sind, davon ausgegangen, dass die Offenbarung innerhalb des Geistes und Umfangs der vorliegenden Offenbarung liegt.
  • In einer oder mehreren ersten Ausführungsformen umfasst ein computerimplementiertes Verfahren zur Videokodierung das Empfangen eines einzelnen zweidimensionalen (2D) Video-Frames aus einer Videosequenz von 2D-Video-Frames, so dass der einzelne 2D-Video-Frame eine Projektion aus einem 360-Videoraum umfasst, das Bestimmen einer Gruppe von Pixeln für die Entblockungfilterung aus dem einzelnen 2D-Video-Frame, so dass die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln im einzelnen 2D-Video-Frame sind und wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel im 360-Videoraum umfassen, und das Entblockungsfiltern der Gruppe von Pixeln, die den ersten und zweiten Satz von Pixeln umfasst, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  • Weiter zu den ersten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen vom 360-Videoraum projizierten äquirektangulären Frame, einen vom 360-Videoraum projizierten Cubemap-Format-Frame oder einen vom 360-Videoraum projizierten kompakten Cubemap-Format-Frame.
  • Weiter zu den ersten Ausführungsformen beginnt der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames und erstreckt sich zu einem Innenraum des einzelnen 2D-Video-Frames und der zweite Satz von Pixeln beginnt mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung des Innenraums des einzelnen 2D-Video-Frames.
  • Weiter zu den ersten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen äquirektangulären Frame, der aus dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und die erste Position und die zweite Position der oberen Grenze von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames äquidistant sind.
  • Weiter zu den ersten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten leeren Pixelbereichsgrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten Grenze eines leeren Pixelbereichs beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position äquidistant von einem Schnittpunkt der Grenzen des ersten und des zweiten leeren Pixelbereichs sind.
  • Weiter zu den ersten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame, der vom 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Flächenprojektions- und Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt.
  • Weiter zu den ersten Ausführungsformen umfasst die Gruppe von Pixeln eine einzelne Zeile von Pixeln und das Entblockungsfiltern der Gruppe von Pixeln umfasst das Anwenden eines Tiefpassfilters auf die Gruppe von Pixeln.
  • Weiter zu den ersten Ausführungsformen umfasst die Gruppe von Pixeln eine einzelne Zeile von Pixeln und das Verfahren umfasst weiter das Bestimmen einer zweiten Pixelgruppe aus dem einzelnen 2D-Video-Frame zur Entblockungsfilterung, so dass die zweite Pixelgruppe einen dritten Satz von Pixeln und einen vierten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der dritte Satz von Pixeln und der vierte Satz von Pixeln nicht benachbarte Pixel in dem einzelnen 2D-Video-Frame sind und wenigstens ein drittes Einzelpixel des dritten Satzes von Pixeln und ein viertes Einzelpixel des vierten Satzes von Pixeln umfassen, die benachbarte Pixel im 360-Videoraum sind, so dass der einzelne 2D-Video-Frame einen äquirektangulären Frame umfasst, der aus dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt, der dritte Satz von Pixeln mit dem dritten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt, der vierte Satz von Pixeln mit dem vierten einzelnen Pixel an einer zweiten Position der oberen Begrenzung des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  • Weiter zu den ersten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame und das Verfahren umfasst ferner das Subtrahieren eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines ursprünglichen 2D-Video-Frames, um einen Restabschnitt zu erzeugen, so dass der 360-Videoraumentblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist, umfasst weiter das Transformieren und Quantisieren des Restabschnitts, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und umfasst dann das Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom.
  • Weiter zu den ersten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame und das Verfahren umfasst ferner das Dekodieren eines Bitstroms zum Bestimmen quantisierter Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames, das inverse Quantisieren und das inverse Transformieren der quantisierten Transformationskoeffizienten zum Bestimmen des Restabschnitts, das Addieren des Restabschnitts zu einem zu erzeugenden Vorhersageabschnitt, um einen rekonstruierten Abschnitt des rekonstruierten 2D-Video-Frames zu erzeugen, das In-Frame-Entblockungsfiltern des rekonstruierten 2D-Video-Frames, um den gefilterten rekonstruierten 2D-Video-Frame zu erzeugen, das Bestimmen eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames zur Anzeige basierend auf einem Darstellungsfenster und das Anzeigen des Abschnitts des rekonstruierten 2D-Video-Frames für einen Benutzer.
  • Weiter zu den ersten Ausführungsformen umfasst das Verfahren das Subtrahieren eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines rekonstruierten Video-Frames, um einen Restabschnitt zu erzeugen, das Transformieren und das Quantisieren des Restabschnitts, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und das Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom.
  • In einer oder mehreren zweiten Ausführungsformen umfasst ein System zur Videokodierung einen Speicher zum Speichern eines einzelnen zweidimensionalen (2D) Video-Frames aus einer Videosequenz von 2D-Video-Frames, so dass der einzelne 2D-Video-Frame eine Projektion aus einem 360-Videoraum aufweist, und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor den einzelnen zweidimensionalen (2D) Video-Frame empfängt, um aus dem einzelnen 2D-Video-Frame eine Gruppe von Pixeln zum Entblockungsfiltern zu bestimmen, so dass die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind und wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel im 360-Videoraum sind, und um die Gruppe von Pixeln entblockend zu filtern, die den ersten und zweiten Satz von Pixeln umfasst, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  • Weiter zu den zweiten Ausführungsformen umfasst der einzelne 2D-Video-Frame eines aus einem äquirektangulären Frame, der aus dem 360-Videoraum projiziert wird, einem Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird, oder einem kompakten Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird.
  • Weiter zu den zweiten Ausführungsformen beginnt der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames und erstreckt sich zu einem Innenraum des einzelnen 2D-Video-Frames und der zweite Satz von Pixeln beginnt mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung des Innenraums des einzelnen 2D-Video-Frames.
  • Weiter zu den zweiten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen äquirektangulären Frame, der von dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  • Weiter zu den zweiten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen aus dem 360-Videoraum projizierten Cubemap-Format-Frame, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten leeren Pixelbereichsgrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel in einer zweiten Position einer zweiten Flächenprojektion und einer zweiten leeren Pixelbereichsgrenze beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten leeren Pixelbereichsgrenze gleich weit entfernt sind.
  • Weiter zu den zweiten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame, der von dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel bei einer ersten Flächenprojektions- und Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames beginnt und sich zu einem Innenraum der ersten Flächenprojektion erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel bei einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich in Richtung des Innenraums der zweiten Flächenprojektion erstreckt.
  • Weiter zu den zweiten Ausführungsformen umfasst die Gruppe von Pixeln eine einzelne Zeile von Pixeln und der Prozessor zum Entblockungsfiltern der Gruppe von Pixeln umfasst den Prozessor zum Anwenden eines Tiefpassfilters auf die Gruppe von Pixeln.
  • Weiter zu den zweiten Ausführungsformen umfasst die Gruppe von Pixeln eine einzelne Zeile von Pixeln und der Prozessor dient ferner dazu, aus dem einzelnen 2D-Video-Frame eine zweite Gruppe von Pixeln zum Entblockungsfiltern zu bestimmen, so dass die zweite Gruppe von Pixeln einen dritten Satz von Pixeln und einen vierten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der dritte Satz von Pixeln und der vierte Satz von Pixeln nicht benachbarte Pixel in dem einzelnen 2D-Video-Frame sind und wenigstens ein drittes einzelnes Pixel des dritten Satzes von Pixeln und ein viertes einzelnes Pixel des vierten Satzes von Pixeln benachbarte Pixel im 360-Videoraum umfasst, so dass der einzelne 2D-Video-Frame einen äquirektangulären Frame umfasst, der vom 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, der dritte Satz von Pixeln mit dem dritten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt, der vierte Satz von Pixeln mit dem vierten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  • Weiter zu den zweiten Ausführungsbeispielen umfasst der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame und der Prozessor dient ferner dazu, einen Abschnitt des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames von einem Teil eines ursprünglichen 2D-Video-Frames zu unterscheiden, um einen Restabschnitt zu erzeugen, so dass der 360-Videoraumentblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist, um den Restabschnitt zu transformieren und zu quantisieren, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und die quantisierten Transformationskoeffizienten in einen Bitstrom zu kodieren.
  • Weiter zu den zweiten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame und der Prozessor dient ferner dazu, einen Bitstrom zu dekodieren, um quantisierte Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames zu bestimmen, die quantisierten Transformationskoeffizienten invers zu quantisieren und invers zu transformieren, um den Restabschnitt zu bestimmen, den Restabschnitt zu einem Vorhersageabschnitt zu addieren, um einen rekonstruierten Abschnitt des rekonstruierten 2D-Video-Frames zu erzeugen, den rekonstruierten 2D-Video-Frame zum Erzeugen des gefilterten rekonstruierten 2D-Video-Frames in-Frame-entblockend zu filtern, um den gefilterten rekonstruierten 2D-Video-Frame zu erzeugen, einen Abschnitt des 360-Videoraums für die Anzeige basierend auf einem Darstellungsfenster zu bestimmen und den Abschnitt des rekonstruierten 2D-Video-Frames für einen Benutzer anzuzeigen.
  • Weiter zu den zweiten Ausführungsformen dient der Prozessor ferner dazu, einen Abschnitt des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames von einem Abschnitt eines rekonstruierten Video-Frames zu unterscheiden, um einen Restabschnitt zu erzeugen, den Restabschnitt zu transformieren und zu quantisieren, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und die quantisierten Transformationskoeffizienten in einen Bitstream zu kodieren.
  • In einer oder in mehreren dritten Ausführungsformen umfasst ein System Mittel zum Empfangen eines einzelnen zweidimensionalen (2D) Video-Frames aus einer Videosequenz von 2D-Video-Frames, so dass der einzelne 2D-Video-Frame eine Projektion aus einem 360-Videoraum umfasst, Mittel zum Bestimmen einer Gruppe von Pixeln aus dem einzelnen 2D-Video-Frame für die Entblockungsfilterung, so dass die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind und wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel in dem 360-Videoraum umfassen, und Mittel zum Entblockungsfiltern der Gruppe von Pixeln, die den ersten und zweiten Satz von Pixeln umfasst, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  • Weiter zu den dritten Ausführungsformen beginnt der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames und der zweite Satz von Pixeln beginnt mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung des Innenraums des einzelnen 2D-Video-Frames.
  • Weiter zu den dritten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen aus dem 360-Videoraum projizierten äquirektangulären Frame, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  • Weiter zu den dritten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen Cubemap-Format-Frame, der von dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten Einzelpixel an einer ersten Position einer ersten Flächenprojektion und einer ersten leeren Pixelbereichsgrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten Einzelpixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten leeren Pixelbereichsgrenze beginnt und sich in Richtung des Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten Grenze des leeren Pixelbereichs gleich weit entfernt sind.
  • Weiter zu den dritten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Flächenprojektions- und Video-Frame-Randgrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Flächensprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt.
  • Weiter zu den dritten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame und das System umfasst ferner das Subtrahieren eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines ursprünglichen 2D-Video-Frames, um einen Restabschnitt zu erzeugen, so dass der 360-Videoraumentblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist, umfasst Mittel zum Transformieren und Quantisieren des Restabschnitts, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und umfasst Mittel zum Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom.
  • Weiter zu den dritten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame und das System umfasst ferner Mittel zum Dekodieren eines Bitstroms zum Bestimmen quantisierter Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames, Mittel zum inversen Quantisieren und inversen Transformieren der quantisierten Transformationskoeffizienten, um den Restabschnitt zu bestimmen, Mittel zum Addieren des Restabschnitts zu einem Vorhersageabschnitt zum Erzeugen eines rekonstruierten Abschnitts des rekonstruierten 2D-Video-Frames, Mittel zum In-Frame-Entblockungsfiltern des rekonstruierten 2D-Video-Frames zum Erzeugen des gefilterten rekonstruierten 2D-Video-Frames, Mittel zum Bestimmen eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames zur Anzeige basierend auf einem Darstellungsfenster und Mittel zum Anzeigen des Teils des rekonstruierten 2D-Video-Frames für einen Benutzer.
  • In einer oder in mehreren vierten Ausführungsformen umfasst wenigstens ein maschinenlesbares Medium eine Vielzahl von Anweisungen, die als Reaktion auf die Ausführung auf einem Computergerät das Computergerät veranlassen, eine Videokodierung durchzuführen durch Empfangen eines einzelnen zweidimensionalen (2D) Video-Frames aus einer Videosequenz von 2D-Video-Frames, so dass das einzelne 2D-Videobild eine Projektion aus einem 360-Videoraum umfasst, durch Bestimmen aus dem einzelnen 2D-Video-Frame einer Gruppe von Pixeln zur Entblockungsfilterung, so dass die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind und wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel in dem 360-Videoraum umfassen, und durch Entblockungsfiltern der Gruppe von Pixeln, die den ersten und zweiten Satz von Pixeln umfasst, einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  • Weiter zu den vierten Ausführungsformen beginnt der erste Satz von Pixeln mit dem ersten Einzelpixel an einer linken Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames und der zweite Satz von Pixeln beginnt mit dem zweiten Einzelpixel an einer rechten Grenze des einzelnen 2D-Video-Frames und erstreckt sich in Richtung des Innenraums des einzelnen 2D-Video-Frames.
  • Weiter zu den vierten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen äquirektangulären Frame, der vom 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  • Weiter zu den vierten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen Cubemap-Format-Frame, der aus dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten leeren Pixelbereichsgrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten Grenze eines leeren Pixelbereichs beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten Grenze der leeren Pixelregion gleich weit entfernt sind.
  • Weiter zu den vierten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame, der von dem 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Flächenprojektions- und Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt und wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich zu einem Innenraum der zweiten Flächenprojektion erstreckt.
  • Weiter zu den vierten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame und das maschinenlesbare Medium umfasst ferner eine Vielzahl von Befehlen, die als Reaktion auf die Ausführung auf dem Computergerät das Computergerät veranlassen, eine Videokodierung durchzuführen, indem ein Teil des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Teil eines ursprünglichen 2D-Video-Frames verglichen wird, um einen Restabschnitt zu erzeugen, so dass der 360-Videoraumentblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist, wobei der Restabschnitt transformiert und quantisiert wird, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und wobei die quantisierten Transformationskoeffizienten dann in einen Bitstrom kodiert werden.
  • Weiter zu den vierten Ausführungsformen umfasst der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame und das maschinenlesbare Medium umfasst ferner eine Vielzahl von Befehlen, die als Reaktion auf die Ausführung auf dem Computergerät das Computergerät zum Durchführen einer Videokodierung durch Dekodieren eines Bitstroms zum Bestimmen quantisierter Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames, inverser Quantisierung und inverser Transformation der quantisierten Transformationskoeffizienten zum Bestimmen des Restabschnitts, Hinzufügung des Restabschnitts zu einem Vorhersageabschnitt, um einen rekonstruierten Abschnitt des rekonstruierten 2D-Video-Frames zu erzeugen, In-Frame-Entblockungsfilterung des rekonstruierten 2D-Video-Frames zum Erzeugen des gefilterten rekonstruierten 2D-Video-Frames, Bestimmung eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames zur Anzeige basierend auf einem Darstellungsfenster und Anzeige des Abschnitts des rekonstruierten 2D-Video-Frames für einen Benutzer veranlassen.
  • In einer oder in mehreren fünften Ausführungsformen kann wenigstens ein maschinenlesbares Medium eine Vielzahl von Anweisungen umfassen, die als Reaktion auf die Ausführung auf einem Computergerät die Rechenvorrichtung veranlassen, ein Verfahren gemäß einer der obigen Ausführungsformen durchzuführen.
  • In einer oder in mehreren sechsten Ausführungsformen kann eine Vorrichtung oder ein System Mittel zum Durchführen eines Verfahrens gemäß einer der obigen Ausführungsformen aufweisen.
  • Es ist zu erkennen, dass die Ausführungsformen nicht auf die so beschriebenen Ausführungsformen beschränkt sind, sondern mit Modifikation und Abänderung praktiziert werden können, ohne vom Schutzumfang der beigefügten Ansprüche abzuweichen. Zum Beispiel können die obigen Ausführungsformen eine spezifische Kombination von Merkmalen enthalten. Die obigen Ausführungsformen sind jedoch in dieser Hinsicht nicht beschränkt, und in verschiedenen Implementierungen können die obigen Ausführungsformen das Übernehmen nur einer Teilmenge solcher Merkmale, das Übernehmen einer anderen Reihenfolge solcher Merkmale, das Übernehmen einer anderen Kombination solcher Merkmale und/oder das Übernehmen zusätzlicher Funktionen als dieser explizit aufgeführten Funktionen umfassen. Der Umfang der Ausführungsformen sollte daher unter Bezugnahme auf die beigefügten Ansprüche zusammen mit dem vollen Umfang der Äquivalente bestimmt werden, zu denen solche Ansprüche berechtigt sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 15438128 [0001]

Claims (32)

  1. Computerimplementiertes Verfahren zur Videokodierung, umfassend: Empfangen eines einzelnen zweidimensionalen (2D) Video-Frames aus einer Videosequenz von 2D-Video-Frames, wobei der einzelne 2D-Video-Frame eine Projektion von einem 360-Videoraum umfasst; Bestimmen einer Gruppe von Pixeln zum Entblockungsfiltern aus dem einzelnen 2D-Video-Frame, wobei die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind, und wobei wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel in dem 360-Videoraum umfassen; und Entblockungsfiltern der Gruppe von Pixeln, die den ersten und den zweiten Satz von Pixeln umfasst, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  2. Verfahren nach Anspruch 1, wobei der einzelne 2D-Video-Frame einen äquirektangulären Frame, der vom 360-Videoraum projiziert wird, einen Cubemap-Format-Frame, der vom 360-Videoraum projiziert wird oder einen kompakten Cubemap-Format-Frame, der vom 360-Videoraum projiziert wird, umfasst.
  3. Verfahren nach Anspruch 1, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt.
  4. Verfahren nach Anspruch 1, wobei der einzelne 2D-Video-Frame einen äquirektangulären Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  5. Verfahren nach Anspruch 1, wobei der einzelne 2D-Video-Frame einen Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten Grenze eines leeren Pixelbereichs des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten Grenze eines leeren Pixelbereichs beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten Grenze des leeren Pixelbereichs gleich weit entfernt sind.
  6. Verfahren nach Anspruch 1, wobei der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel bei einer ersten Flächenprojektions- und Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel bei einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt.
  7. Verfahren nach Anspruch 1, wobei die Gruppe von Pixeln eine einzelne Zeile von Pixeln umfasst und das Entblockungsfiltern der Gruppe von Pixeln das Anwenden eines Tiefpassfilters auf die Gruppe von Pixeln umfasst.
  8. Verfahren nach Anspruch 1, wobei die Gruppe von Pixeln eine einzelne Zeile von Pixeln umfasst und das Verfahren ferner umfasst: Bestimmen einer zweiten Gruppe von Pixeln zum Entblockungsfiltern aus dem einzelnen 2D-Video-Frame, wobei die zweite Gruppe von Pixeln einen dritten Satz von Pixeln und einen vierten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der dritte Satz von Pixeln und der vierte Satz von Pixeln nicht benachbarte Pixel in dem einzelnen 2D-Video-Frame sind und wobei wenigstens ein drittes einzelnes Pixel des dritten Satzes von Pixeln und ein viertes einzelnes Pixel des vierten Satzes von Pixeln benachbarte Pixel in dem 360-Videoraum umfassen, wobei der einzelne 2D-Video-Frame einen äquirektangulären Frame umfasst, der vom 360-Videoraum projiziert wird, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt, wobei der dritte Satz von Pixeln mit dem dritten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt, wobei der vierte Satz von Pixeln mit dem vierten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  9. Verfahren nach Anspruch 1, wobei der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame umfasst und das Verfahren ferner umfasst: Subtrahieren eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines ursprünglichen 2D-Video-Frames, um einen Restabschnitt zu erzeugen, wobei der 360-Videoraumentblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist; Transformieren und Quantisieren des Restabschnitts, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen; und Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom.
  10. Verfahren nach Anspruch 1, wobei der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame umfasst und das Verfahren ferner umfasst: Dekodieren eines Bitstroms, um quantisierte Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames zu bestimmen; inverses Quantisieren und inverses Transformieren der quantisierten Transformationskoeffizienten, um den Restabschnitt zu bestimmen; Hinzufügen des Restabschnitts zu einem Vorhersageabschnitt, um einen rekonstruierten Abschnitt des rekonstruierten 2D-Video-Frames zu erzeugen; In-Frame-Entblockungsfiltern des rekonstruierten 2D-Video-Frames zur Erzeugung des gefilterten rekonstruierten 2D-Video-Frames; Bestimmen eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames zur Anzeige basierend auf einem Darstellungsfenster; und Anzeigen des Abschnitts des rekonstruierten 2D-Video-Frames für einen Benutzer.
  11. Verfahren nach Anspruch 1, ferner umfassend: Subtrahieren eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines rekonstruierten Video-Frames, um einen Restabschnitt zu erzeugen; Transformieren und Quantisieren des Restabschnitts, um die quantisierten Transformationskoeffizienten für den Restabschnitt zu bestimmen; und Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom.
  12. System zur Videokodierung, umfassend: einen Speicher zum Speichern eines einzelnen zweidimensionalen (2D) Video-Frames aus einer Videosequenz von 2D-Video-Frames, wobei der einzelne 2D-Video-Frame eine Projektion von einem 360-Videoraum umfasst; und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor den einzelnen zweidimensionalen (2D) Video-Frame empfängt, um aus dem einzelnen 2D-Video-Frame eine Gruppe von Pixeln zum Entblockungsfiltern zu bestimmen, wobei die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind und wobei wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel in dem 360-Videoraum umfassen, und um die Gruppe von Pixeln, die den ersten und zweiten Satz von Pixeln umfasst, entblockend zu filtern, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  13. System nach Anspruch 12, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt.
  14. System nach Anspruch 12, wobei der einzelne 2D-Video-Frame einen äquirektangulären Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze gleich weit von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames entfernt sind.
  15. System nach Anspruch 12, wobei der einzelne 2D-Video-Frame einen Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten Grenze eines leeren Pixelbereichs des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten Grenze eines leeren Pixelbereichs beginnt und sich in Richtung des Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten Grenze des leeren Pixelbereichs gleich weit entfernt sind.
  16. System nach Anspruch 12, wobei der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel bei einer ersten Flächenprojektion und einer Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel bei einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich zu einem Innenraum der zweiten Flächenprojektion erstreckt.
  17. System nach Anspruch 12, wobei der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame umfasst und der Prozessor ferner dazu dient, einen Abschnitt des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines ursprünglichen 2D-Video-Frames zu subtrahieren, um einen Restabschnitt zu erzeugen, wobei der 360-Videoraum-entblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist, um den Restabschnitt zu transformieren und zu quantisieren, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen, und die quantisierten Transformationskoeffizienten in einen Bitstrom zu kodieren.
  18. System nach Anspruch 12, wobei der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame umfasst und der Prozessor ferner dazu dient, einen Bitstrom zu dekodieren, um quantisierte Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames zu bestimmen, die quantisierten Transformationskoeffizienten zu quantisieren und umzuwandeln, um den Restabschnitt zu bestimmen, den Restabschnitt zu einem Vorhersageteil hinzuzufügen, um einen rekonstruierten Abschnitt des rekonstruierten 2D-Video-Frames zu erzeugen, den rekonstruierten 2D-Video-Frame in-Frame entblockend zu filtern, um den gefilterten rekonstruierten 2D-Video-Frame zu erzeugen, einen Abschnitt des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames zur Anzeige basierend auf einem Darstellungsfenster zu bestimmen und den Abschnitt des rekonstruierten 2D-Video-Frames für einen Benutzer anzuzeigen.
  19. System, umfassend: Mittel zum Empfangen eines einzelnen zweidimensionalen (2D) Video-Frames von einer Videosequenz von 2D-Video-Frames, wobei der einzelne 2D-Video-Frame eine Projektion von einem 360-Videoraum umfasst; Mittel zum Bestimmen einer Gruppe von Pixeln aus dem einzelnen 2D-Video-Frame für Entblockungsfiltern, wobei die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind, und wobei wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel im 360-Videoraum umfassen; und Mittel zum Entblockungsfiltern der Gruppe von Pixeln, die den ersten und zweiten Satz von Pixeln umfasst, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  20. System nach Anspruch 19, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt.
  21. System nach Anspruch 19, wobei der einzelne 2D-Video-Frame einen äquirektangulären Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames gleich weit entfernt sind.
  22. System nach Anspruch 19, wobei der einzelne 2D-Video-Frame einen Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten Grenze des leeren Pixelbereichs des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten Grenze eines leeren Pixelbereichs beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten Grenze des leeren Pixelbereichs gleich weit entfernt sind.
  23. System nach Anspruch 19, wobei der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel bei einer ersten Flächenprojektions- und Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt und wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel auf einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt.
  24. System nach Anspruch 19, wobei der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame umfasst und das System ferner umfasst: Subtrahieren eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines ursprünglichen 2D-Video-Frames, um einen Restabschnitt zu erzeugen, wobei der 360-Videoraumentblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist; Mittel zum Transformieren und Quantisieren des Restabschnitts zum Bestimmen der quantisierten Transformationskoeffizienten für den Restabschnitt; und Mittel zum Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom.
  25. System nach Anspruch 19, wobei der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame umfasst und das System ferner umfasst: Mittel zum Dekodieren eines Bitstroms, um quantisierte Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames zu bestimmen; Mittel zum inversen Quantisieren und inversen Transformieren der quantisierten Transformationskoeffizienten, um den Restabschnitt zu bestimmen; Mittel zum Hinzufügen des Restabschnitts zu einem Vorhersageabschnitt, um einen rekonstruierten Abschnitt des rekonstruierten 2D-Video-Frames zu erzeugen; Mittel zum In-Frame-Entblockungsfiltern des rekonstruierten 2D-Video-Frames, um den gefilterten rekonstruierten 2D-Video-Frame zu erzeugen; Mittel zum Bestimmen eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames zur Anzeige basierend auf einem Darstellungsfenster; und Mittel zum Anzeigen des Abschnitts des rekonstruierten 2D-Video-Frames für einen Benutzer.
  26. Maschinenlesbares Medium bzw. maschinenlesbare Medien mit mehreren Anweisungen, die als Antwort auf die Ausführung auf einem Computergerät das Computergerät veranlassen, die Videokodierung durchzuführen, durch: Empfangen eines einzelnen zweidimensionalen (2D) Video-Frames aus einer Videosequenz von 2D-Video-Frames, wobei der einzelne 2D-Video-Frame eine Projektion von einem 360-Videoraum umfasst; Bestimmen einer Gruppe von Pixeln zum Entblockungsfiltern aus dem einzelnen 2D-Video-Frame, wobei die Gruppe von Pixeln einen ersten Satz von Pixeln und einen zweiten Satz von Pixeln des einzelnen 2D-Video-Frames umfasst, wobei der erste Satz von Pixeln und der zweite Satz von Pixeln nicht benachbarte Sätze von Pixeln in dem einzelnen 2D-Video-Frame sind und wobei wenigstens ein erstes einzelnes Pixel des ersten Satzes von Pixeln und ein zweites einzelnes Pixel des zweiten Satzes von Pixeln benachbarte Pixel im 360-Videoraum umfassen; und Entblockungsfiltern der Gruppe von Pixeln, die den ersten und den zweiten Satz von Pixeln umfasst, um einen 360-Videoraum-entblockungsgefilterten 2D-Video-Frame basierend auf dem einzelnen 2D-Video-Frame zu erzeugen.
  27. Maschinenlesbares Medium nach Anspruch 26, wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer linken Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt und der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer rechten Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt.
  28. Maschinenlesbares Medium nach Anspruch 26, wobei der einzelne 2D-Video-Frame einen äquirektangulären Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums des einzelnen 2D-Video-Frames erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position der oberen Grenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung des Innenraums des einzelnen 2D-Video-Frames erstreckt und wobei die erste Position und die zweite Position der oberen Grenze äquidistant von einer Mitte der oberen Grenze des einzelnen 2D-Video-Frames sind.
  29. Maschinenlesbares Medium nach Anspruch 26, wobei der einzelne 2D-Video-Frame einen Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel an einer ersten Position einer ersten Flächenprojektion und einer ersten Grenze des leeren Pixelbereichs des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt, wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel an einer zweiten Position einer zweiten Flächenprojektion und einer zweiten Grenze des leeren Pixelbereichs beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt und wobei die erste Position und die zweite Position von einem Schnittpunkt der ersten und der zweiten Grenze des leeren Pixelbereichs gleich weit entfernt sind.
  30. Maschinenlesbares Medium nach Anspruch 26, wobei der einzelne 2D-Video-Frame einen kompakten Cubemap-Format-Frame umfasst, der vom 360-Videoraum projiziert wird, und wobei der erste Satz von Pixeln mit dem ersten einzelnen Pixel bei einer ersten Flächenprojektion und einer ersten Video-Frame-Kantengrenze des einzelnen 2D-Video-Frames beginnt und sich in Richtung eines Innenraums der ersten Flächenprojektion erstreckt und wobei der zweite Satz von Pixeln mit dem zweiten einzelnen Pixel bei einer zweiten Flächenprojektions- und einer dritten Flächenprojektionsgrenze beginnt und sich in Richtung eines Innenraums der zweiten Flächenprojektion erstreckt.
  31. Maschinenlesbares Medium nach Anspruch 26, wobei der einzelne 2D-Video-Frame einen rekonstruierten 2D-Video-Frame umfasst und das maschinenlesbare Medium ferner mehrere Anweisungen umfasst, die als Antwort auf die Ausführung auf dem Computergerät das Computergerät veranlassen, eine Videokodierung durchzuführen durch: Subtrahieren eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames mit einem Abschnitt eines ursprünglichen 2D-Video-Frames, um einen Restabschnitt zu erzeugen, wobei der 360-Videoraumentblockungsgefilterte 2D-Video-Frame ein Referenz-Frame in Bezug auf den ursprünglichen 2D-Video-Frame ist; Transformieren und Quantisieren des Restabschnitts, um quantisierte Transformationskoeffizienten für den Restabschnitt zu bestimmen; und Kodieren der quantisierten Transformationskoeffizienten in einen Bitstrom.
  32. Maschinenlesbares Medium nach Anspruch 26, wobei der einzelne 2D-Video-Frame einen gefilterten rekonstruierten 2D-Video-Frame umfasst und das maschinenlesbare Medium ferner eine Vielzahl von Befehlen umfasst, die als Antwort auf die Ausführung auf dem Computergerät das Computergerät veranlassen, die Videokodierung durchzuführen durch: Dekodieren eines Bitstroms, um quantisierte Transformationskoeffizienten für einen Restabschnitt eines rekonstruierten 2D-Video-Frames zu bestimmen; inverses Quantisieren und inverses Transformieren der quantisierten Transformationskoeffizienten, um den Restabschnitt zu bestimmen; Hinzufügen des Restabschnitts zu einem Vorhersageabschnitt, um einen rekonstruierten Abschnitt des rekonstruierten 2D-Video-Frames zu erzeugen; In-Frame-Entblockungsfiltern des rekonstruierten 2D-Video-Frames zur Erzeugung des gefilterten rekonstruierten 2D-Video-Frames; Bestimmen eines Abschnitts des 360-Videoraum-entblockungsgefilterten 2D-Video-Frames für die Anzeige basierend auf einem Darstellungsfenster; und Anzeigen des Abschnitts des rekonstruierten 2D-Video-Frames für einen Benutzer.
DE112018000280.2T 2017-02-21 2018-01-19 Entblockungsfilterung für 360-video Pending DE112018000280T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/438,128 2017-02-21
US15/438,128 US20180242016A1 (en) 2017-02-21 2017-02-21 Deblock filtering for 360 video
PCT/US2018/014534 WO2018156281A1 (en) 2017-02-21 2018-01-19 Deblock filtering for 360 video

Publications (1)

Publication Number Publication Date
DE112018000280T5 true DE112018000280T5 (de) 2019-09-12

Family

ID=63167523

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018000280.2T Pending DE112018000280T5 (de) 2017-02-21 2018-01-19 Entblockungsfilterung für 360-video

Country Status (5)

Country Link
US (1) US20180242016A1 (de)
CN (1) CN110214447A (de)
DE (1) DE112018000280T5 (de)
TW (1) TWI751261B (de)
WO (1) WO2018156281A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410376B1 (en) * 2016-09-26 2019-09-10 Amazon Technologies, Inc. Virtual reality media content decoding of portions of image frames
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10506255B2 (en) 2017-04-01 2019-12-10 Intel Corporation MV/mode prediction, ROI-based transmit, metadata capture, and format detection for 360 video
US10506196B2 (en) * 2017-04-01 2019-12-10 Intel Corporation 360 neighbor-based quality selector, range adjuster, viewport manager, and motion estimator for graphics
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10848761B2 (en) 2017-06-29 2020-11-24 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
KR102342874B1 (ko) * 2017-07-04 2021-12-23 엘지전자 주식회사 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치
US10798417B2 (en) * 2017-07-05 2020-10-06 Qualcomm Incorporated Deblock filtering for 360-degree video coding
EP3729812A1 (de) * 2017-12-19 2020-10-28 VID SCALE, Inc. Gesichtsdiskontinuitätsfilterung zur codierung von 360-grad-video
JP7305873B2 (ja) 2019-08-23 2023-07-10 北京字節跳動網絡技術有限公司 ビデオ処理方法、ビデオ・データ処理装置、記憶媒体及び記憶方法
CN114600461A (zh) 2019-10-23 2022-06-07 北京字节跳动网络技术有限公司 用于多编解码工具的计算
CN114641992B (zh) 2019-10-23 2024-04-05 北京字节跳动网络技术有限公司 参考图片重采样的信令

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置
US8644375B2 (en) * 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
CN107347157B (zh) * 2011-07-22 2020-03-17 Sk电信有限公司 视频解码装置
EP2774359B1 (de) * 2011-11-04 2015-12-30 Panasonic Intellectual Property Corporation of America Entblockierungsfilterung mit modifizierter bildblockgrenzstärkenableitung
WO2015178796A1 (en) * 2014-05-23 2015-11-26 Huawei Technologies Co., Ltd. Method and apparatus for pre-prediction filtering for use in block-prediction techniques
US20160112713A1 (en) * 2014-10-20 2016-04-21 Google Inc. Mapping spherical image to 2d representations
US9918082B2 (en) * 2014-10-20 2018-03-13 Google Llc Continuous prediction domain
US10104361B2 (en) * 2014-11-14 2018-10-16 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
US9930315B2 (en) * 2015-04-29 2018-03-27 Lucid VR, Inc. Stereoscopic 3D camera for virtual reality experience
CN109479138B (zh) * 2016-07-13 2023-11-03 韩国电子通信研究院 图像编码/解码方法和装置
US20180109810A1 (en) * 2016-10-17 2018-04-19 Mediatek Inc. Method and Apparatus for Reference Picture Generation and Management in 3D Video Compression
US10999602B2 (en) * 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision

Also Published As

Publication number Publication date
TWI751261B (zh) 2022-01-01
TW201832561A (zh) 2018-09-01
WO2018156281A1 (en) 2018-08-30
CN110214447A (zh) 2019-09-06
US20180242016A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
DE112018000280T5 (de) Entblockungsfilterung für 360-video
DE102019218837A1 (de) VERFAHREN UND SYSTE M ZUR NEURONALNETZ WERK-SCHLEIFENFILTERUNG ZUR VlDEOCODIERUNG
EP2952003B1 (de) Inhaltsadaptive partitionierung zur prädiktion und codierung für video der nächsten generation
US10341658B2 (en) Motion, coding, and application aware temporal and spatial filtering for video pre-processing
DE112018005250T5 (de) Punktwolkenkomprimierung
DE112017002119T5 (de) Augenkontaktkorrektur in Echtzeit unter Verwendung von auf neuronalen Netzwerken basierendem maschinellem Lernen
DE102020127627A1 (de) Verfahren und System zum Videocodieren mit Intra-Block-Kopieren
DE112017002339T5 (de) Verfahren und Vorrichtung zum Abbilden von Omnidirektionalbildern in ein Anordnungsausgabeformat
DE112015004764T5 (de) Kontinuierlicher prädiktionsbereich
DE112017003212T5 (de) Verfahren und System zur Videocodierung mit Kontextdecodierung und Rekonstruktionsumgehung
DE112016002377T5 (de) Streamen von sphärischem video
CN108063976B (zh) 一种视频处理方法及装置
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
DE102019209067A1 (de) Adaptive in-loop filtering for video coding
DE112016005457T5 (de) Effiziente, kompatible und skalierbare Intra-Video/Bild-Codierung unter Verwendung von Wavelets und HEVC-Codierung
US10687083B2 (en) Loop restoration filtering for super resolution video coding
DE102020129800A1 (de) Interaktive segmentierung mit hoher wiedergabetreue für videodaten mit tief faltenden tessellationen und kontextsensitiven skip-verbindungen
DE102016120173A1 (de) Verfahren zum Codieren von Videodaten, Videocodierer, welcher dasselbe durchführt und elektronisches System mit demselben
DE102018119625A1 (de) Reduzieren von strukturierten IR-Mustern bei der Stereoskopischen Tiefensensorbildgebung
DE102020202059A1 (de) Mehrdurchgangs-zusatzwerkzeug zur kohärenten und vollständigen ansichtssynthese
DE102020125206A1 (de) Verfahren und system zur mehrkanalvideocodierung mit frameratenänderung und kanalübergreifender referenzierung
DE102017009145A1 (de) Erfassung und Wiedergabe von 360-Grad-Videos
DE102019201370A1 (de) Verarbeitung von multidirektionalen bildern in räumlich geordneten videokodieranwendungen
DE102019218316A1 (de) 3d-renderer-zu-videocodierer-pipeline für verbesserte visuelle qualität und geringe latenz
DE112015006587T5 (de) Adaptive Batch-Codierung für Slow-Motion-Videoaufzeichnung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE