DE112017005664T5 - Umwandlungspuffer zum entkoppeln von normativem und umsetzungsdatenpfadinterleaving von videokoeffizienten - Google Patents

Umwandlungspuffer zum entkoppeln von normativem und umsetzungsdatenpfadinterleaving von videokoeffizienten Download PDF

Info

Publication number
DE112017005664T5
DE112017005664T5 DE112017005664.0T DE112017005664T DE112017005664T5 DE 112017005664 T5 DE112017005664 T5 DE 112017005664T5 DE 112017005664 T DE112017005664 T DE 112017005664T DE 112017005664 T5 DE112017005664 T5 DE 112017005664T5
Authority
DE
Germany
Prior art keywords
block
blocks
luma
directly
chroma channel
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
DE112017005664.0T
Other languages
English (en)
Inventor
Wen Tang
Iole Moccagatta
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 DE112017005664T5 publication Critical patent/DE112017005664T5/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

Landscapes

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

Abstract

Ein Videocodierer-Umwandlungspuffer zum Entkoppeln einer normativen Codierungsreihenfolge und einer Verarbeitungsreihenfolge für Videokoeffizienten für Intracodierungsverarbeitung solcher Videokoeffizienten sowie Interleavingschemas für die Verarbeitungsreihenfolge wird besprochen. Die Interleavingschemas umfassen die Schritte: Empfangen mehrerer Blocks quantisierter Resttransformationskoeffizienten, die einer Codierungseinheit eines Videorahmens in einer normativen Codierungsreihenfolge entsprechen; Interleaving der mehreren Blocks quantisierter Resttransformationskoeffizienten für die normative Codierungsreihenfolge in eine Verarbeitungsreihenfolge; und Durchführung von Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die mehreren Blocks quantisierter Koeffizienten in der Verarbeitungsreihenfolge.

Description

  • ANSPRUCH AUF PRIORITÄT
  • Diese Anmeldung beansprucht Priorität vor U.S. Pat. App. No. 15/348,783 , eingereicht am 10, November 2016, mit Titel „CONVERSION BUFFER TO DECOUPLE NORMATIVE AND IMPLEMENTATION DATA PATH INTERLEAVING OF VIDEO COEFFICIENTS“, die zu allen Zwecken in ihrer Gesamtheit hierin eingeschlossen ist.
  • ALLGEMEINER STAND DER TECHNIK
  • In Kompressions- / Dekompressions- (Codec-) Systemen sind die Kompressionseffizienz, Videoqualität und Rechnereffizienz wichtige Leistungskriterien. Ferner ist es von Vorteil für Bitstreams oder andere Datendarstellungen codierter Videos, auf Grundlage des H.264/MPEG-4 Advanced Video Coding (AVC) Standards, des High Efficiency Video Coding (HEVC) Standards, des VP9-Codierungsstandards, des Alliance for Open Media (AOM) Standards, der MPEG-4-Standards, und deren Erweiterungen.
  • Daher kann es von Vorteil sein, die Rechnereffizienz von Encodern und Decodern zu erhöhen, während die Standards basierend auf Bitstreams oder anderen Datendarstellungen codierter Videodaten erhalten bleiben. Bezüglich dieser und anderer Überlegungen wurden die vorliegenden Verbesserungen benötigt. Solche Verbesserungen können kritisch werden, wenn der Wunsch, Videodaten zu komprimieren und zu übertragen, häufiger wird.
  • Figurenliste
  • Das hierin beschriebene Material wird in den beiliegenden Figuren beispielhaft und nicht einschränkend illustriert. Aus Gründen der Einfachheit und Klarheit der Illustration sind die Elemente, die in den Figuren illustriert sind, nicht notwendigerweise maßstabsgetreu gezeichnet. Beispielsweise können die Abmessungen einiger Elemente im Vergleich zu anderen Elementen für eine klarere Darstellung übertrieben dargestellt sein. Wenn ferner für angemessen gehalten, wurden Referenzbezeichnungen unter den Figuren wiederholt, um auf entsprechende oder analoge Elemente hinzuweisen. In den Figuren:
    • 1 ist eine Illustration einer beispielhaften Vorhersageeinheit und entsprechenden Transformatoreinheiten;
    • 2 ist eine Illustration von beispielhaften Intravorhersageschleifenabhängigkeiten;
    • 3 ist eine Illustration von beispielhaften Transformatoreinheitenpipelineverarbeitung;
    • 4 ist eine Illustration eines beispielhaften Encoders;
    • 5 ist eine Illustration eines beispielhaften Encoderumwandlungspuffers;
    • 6 ist eine Illustration eines beispielhaften Decoders;
    • 7 ist eine Illustration eines beispielhaften Decoderumwandlungspuffers;
    • 8 ist eine Illustration von beispielhaften Verarbeitungsreihenfolgen einschließlich Farbinterleaving;
    • 9 ist eine Illustration von beispielhaften Verarbeitungsreihenfolgen einschließlich Farbinterleaving;
    • 10A bis 10C illustriert ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit um eine Codierungsreihenfolge bereitzustellen;
    • 11A und 11B illustriert ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit, um eine Codierungsreihenfolge bereitzustellen;
    • 12A bis 12C illustriert ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit, um eine Codierungsreihenfolge bereitzustellen;
    • 13A bis 13C illustriert ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit, um eine Codierungsreihenfolge bereitzustellen;
    • 14 ist ein Ablaufdiagramm, das einen beispielhaften Prozess für Videocodierung bereitstellt, einschließlich Interleavingtransformatorblocks nach Farbe in eine Verarbeitungsreihenfolge;
    • 15 ist ein illustratives Diagramm eines beispielhaften Systems für Videocodierung, einschließlich Interleavingtransformatorblocks nach Farbe in eine Verarbeitungsreihenfolge;
    • 16 ist ein illustratives Diagramm eines beispielhaften Systems; und
    • 17 illustriert eine beispielhafte Vorrichtung, vollständig angeordnet nach mindestens einigen Umsetzungen der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen oder Umsetzungen werden nun mit Verweis auf die beiliegenden Figuren beschrieben. Während spezifische Konfigurationen und Anordnungen besprochen werden, sollte verstanden werden, dass dies nur zu illustrativen Zwecken erfolgt. Fachleute des jeweiligen Gebiets werden erkennen, dass andere Konfigurationen und Anordnungen eingesetzt werden können, ohne vom Geist und Umfang der Beschreibung abzuweichen. Es ist für Fachleute des jeweiligen Gebiets offensichtlich, dass Techniken und/oder Anordnungen, die hierin beschrieben sind, ebenfalls in einer Vielzahl anderer Systeme und Anwendungen als der hierin beschriebenen angewendet werden können.
  • Während die folgende Beschreibung verschiedene Umsetzungen festlegt, die in Architekturen wie etwa System-auf-Chip- (SoC) Architekturen manifestiert sein können, sind die Umsetzungen der Techniken und/oder Anordnungen, die hierin beschrieben sind, nicht auf bestimmte Architekturen und/oder Rechnersysteme eingeschränkt und können durch jede Architektur und/oder jedes Rechnersystem zu ähnlichen Zwecken umgesetzt werden. Beispielsweise können verschiedene Architekturen, die beispielsweise mehrere Chips mit integrierten Schaltungen (IC) und/oder Paketen, und/oder verschiedenen Rechnervorrichtungen und/oder Verbraucherelektronik- (CE) Vorrichtungen wie Settop-Boxen, Smartphones usw., die Techniken und/oder Anordnungen umsetzen, die hierin beschrieben sind. Ferner kann, während die folgende Beschreibung zahlreiche spezifische Einzelheiten wie Logikumsetzungen, Typen und Beziehungen zwischen Systemkomponenten, Logikpartitionierung/Integrationsentscheidungen usw. festlegen kann, der beanspruchte Inhalt ohne diese spezifischen Details praktiziert werden. In anderen Fällen ist einiges Material, wie beispielsweise Steuerstrukturen und volle Softwareanweisungssequenzen, möglicherweise nicht ausführlich dargestellt, um das hierin offenbarte Material nicht zu verschleiern.
  • Das hierin offenbarte Material kann in Hardware, Firmware, Software oder einer Kombination daraus umgesetzt werden. Das hierin offenbarte Material kann auch als Anweisungen umgesetzt sein, die auf einem maschinenlesbaren Medium gespeichert sind, das durch einen oder mehrere Prozessoren gelesen und ausgeführt werden kann. Ein maschinenlesbares Medium kann jedes Medium und/oder jeden Mechanismus zum Speichern oder Übertragen von Informationen in einer Form enthalten, der durch eine Maschine lesbar ist (z. B. durch eine Rechnervorrichtung). Beispielsweise kann unter anderem ein maschinenlesbares Medium Read-Only-Memory (ROM); Direktzugriffsspeicher (RAM); Magnetscheibenspeichermedien; optische Speichermedien; Flashspeichervorrichtungen; oder elektrische, optische, akustische oder andere Formen von weitergeleiteten Signalen (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) und andere enthalten.
  • Verweise in dieser Vorgabe auf „eine Umsetzung“, eine „beispielhafte Umsetzung“ usw. weisen darauf hin, dass die beschriebene Umsetzung ein bestimmtes Merkmal, eine Struktur oder Eigenschaft enthalten kann, dass jedoch nicht jede Umsetzung notwendigerweise das bestimmte Merkmal, die Struktur oder die Eigenschaft enthält. Weiterhin beziehen sich solche Begriffe nicht notwendigerweise auf dieselbe Umsetzung. Ferner wird, wenn ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, festgehalten, dass es in den Bereich des Wissens eines Fachmanns fällt, diese Merkmale, Strukturen oder Eigenschaften in Verbindung mit anderen Umsetzungen einzusetzen, egal, ob diese hierin ausdrücklich beschrieben sind oder nicht.
  • Verfahren, Vorrichtungen, Apparate, Rechnerplattformen und Artikel werden hierin mit Verweis auf Videocodierung und insbesondere Entkoppelung eines normativen Datenpfads oder einer Reihenfolge mit einem Verarbeitungsdatenpfad oder einer Reihenfolge für verbesserten Durchsatz beschrieben.
  • Die besprochenen Techniken und Systeme können einen Umwandlungspuffer bereitstellen, um normatives und Umsetzungsdatenpfadinterleaving der in Zusammenhang mit einem solchen Umwandlungspuffer zu verwendenden Videocodeckoeffizienten und Interleavingtechnikschemas zu entkoppeln, um den Durchsatz eines Encoders und/oder Decoders zu verbessern. Beispielsweise können der Umwandlungspuffer und die assoziierten Techniken entkoppeln, wie Koeffizienten der verschiedenen Farben in dem tatsächlichen Bitstream der Videocodecs vom Interleaving derselben Koeffizienten in der Umsetzung solcher Videocodecs interleavt werden. Die besprochenen Techniken können in jedem geeigneten Codierungskontext verwendet werden, wie etwa in Umsetzung von auf H.264/MPEG-4 Advanced Video Coding (AVC) Standards basierenden Codecs, auf High Efficiency Video Coding (H.265/HEVC) Standards basierenden Codecs, Alliance for Open Media (AOM) Standards basierenden Codecs wie dem AVI-Standard, auf MPEG-Standards basierenden Codecs wie dem MPEG-4-Standard, auf VP9-Standards basierenden Codecs, oder jedem anderen geeigneten Codec oder einer Erweiterung oder eines Profils davon, die/das über einen Encoder oder Decoder umgesetzt ist.
  • Wie hierin weiter besprochen, können ein oder mehrere Puffer in der Umsetzung eines oder mehrerer Videocodecs bereitgestellt werden, sodass die Reihenfolge, in denen die Koeffizienten verschiedener Farben im tatsächlichen Bitstream des oder der Videocodecs interleavt werden, sich von dem Interleaving derselben Koeffizienten in Abschnitten der Pipeline, die den oder die Videocodecs verarbeitet, unterscheiden können. Die unterschiedliche Reihenfolge in der Verarbeitungspipeline stellt verbesserten Videodurchsatz und Leistung zur Verfügung, während ein oder mehrere Bitstreams erzeugt oder verarbeitet werden, die den Vorgaben für den oder die Videocodecs entsprechen. Daher verbessern die besprochenen Techniken den Durchsatz und die Leistung, während sie auf Standards basierende Bitstreams erzeugen oder verarbeiten, an denen keine normativen Änderungen notwendig sind.
  • Beispielsweise kann ein Umwandlungspuffer umgesetzt werden, um die Reihenfolge zu ändern, in der die Luma- (Y) und Chroma- (Cb und Cr oder U und V) Koeffizienten geinterleavt werden, um die Auswirkung der Intravorhersageschleifenverzögerung zu verringern und den Durchsatz der Verarbeitung rekonstruierter Pixel zu erhöhen. Es folgt eine Erklärung mit Bezug auf die Intravorhersage in der Pixeldomäne (z. B. wie in HEVC und seinen Erweiterungen und Profilen, VP9 und seinen Erweiterungen und Profilen, AV1 und seinen Erweiterungen und Profilen). Die folgenden Techniken und Systeme können jedoch ebenfalls auf Codecs angewendet werden, in denen die Intravorhersage in der Transformdomäne erfolgt (z. B. MPEG-4 Teil 1). Weiterhin können die Techniken mit einem Encoder und/oder Decoder bereitgestellt sein, um Durchsatz und Effizienz zu verbessern.
  • 1 ist eine Illustration einer beispielhaften Vorhersageeinheit 101 und entsprechenden Transformatoreinheiten, die nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet sind. Wie in 1 dargestellt, kann die Vorhersageeinheit (PU) 101 vier entsprechende Lumatransformatoreinheiten (TUs) 111, 112, 113, 114 und zwei entsprechende Chromatransformatoreinheiten 121, 122 aufweisen. In dem illustrierten Beispiel ist die Vorhersageeinheit 101 ein quadratischer Block, der vier quadratischen Lumatransformatoreinheiten 111, 112, 113, 114 (bezeichnet mit Y0, Y1, Y2, Y3) und zwei quadratischen Chromatransformatoreinheiten 121, 122 (bezeichnet mit Cb, Cr) entspricht. Ein solches Beispiel kann einem 4:2:0 Farbsampling im Y-Cb-Cr-Farbraum entsprechen. Die Vorhersageeinheit 101 kann jedoch jede geeignete Form, wie etwa rechteckig, und jede geeignete Größe aufweisen. Weiterhin kann die Vorhersageeinheit 101 jede beliebige Anzahl entsprechender Lumatransformatoreinheiten und Chromatransformatoreinheiten jeder geeigneten Größe aufweisen. Die hierin besprochenen Techniken können auf jede Farbsamplingstruktur wie 4:2:2 Farbsampling oder 4:4:4 Farbsampling angewendet werden. Beispiele solcher Strukturen sind hierin weiter besprochen. Außerdem kann jeder geeignete Farbraum verwendet werden, wie etwa ein Y-U-V-Farbraum. Nachfolgend werden Y-Cb-Cr- und Y-U-V-Farbräume austauschbar verwendet. Die Begriffe Vorhersageeinheit und Transformatoreinheit werden hierin verwendet. Solche Einheiten von Pixelsamples, Restsamples, Transformationskoeffizienten oder dergleichen können als Blocks oder dergleichen charakterisiert sein. In Codecsystemen können Intravorhersagen über Transformatoreinheiten hinweg durchgeführt werden, sodass eine Transformatoreinheit Samples darstellt, die durch eine Transformation in eine Frequenzdomäne verarbeitet werden.
  • 2 ist eine Illustration von beispielhaften Intravorhersageschleifenabhängigkeiten, die nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet sind. Wie in 2 bezüglich der Vorhersageeinheit 101 dargestellt, existieren Intravorhersageschleifenabhängigkeiten 201 zwischen Transformatoreinheiten der Vorhersageeinheit 101, sodass rekonstruierte Samples der Transformatoreinheit Y0 in der Intravorhersagerekonstruktion der Transformatoreinheiten Y1 und Y2 verwendet werden, und die rekonstruierten Samples von Transformatoreinheiten Y0, Y1 und Y2 in der Intravorhersagerekonstruktion der Transformatoreinheit Y3 verwendet werden. Weiterhin wird die Rekonstruktion der Vorhersageeinheit 101 durch die vorher rekonstruierten Pixel 202, 203, 204 unterstützt. Solche Intravorhersageschleifenabhängigkeiten 201 verlangen, dass vor der Verarbeitung eine abhängige Transformatoreinheit die Vorhersagerekonstruktion der Transformatoreinheit(en), von der/denen die abhängige Transformatoreinheit abhängen, vorher verarbeitet sein muss.
  • Mit Verweis auf 1 ist die normative oder standardbasierte Reihenfolge quantisierter Transformationskoeffizienten von Transformatoreinheiten für die Vorhersageeinheit 101 wie folgt: YO-Y1-Y2-Y3-Cb-Cr. Bei der Verarbeitung in dieser Reihenfolge muss die Rekonstruktion der Transformatoreinheiten 121, 122 (Cb und Cr-Samples) warten, bis die Verarbeitung aller Lumatransformatoreinheiten 111, 112, 113, 114 (Y0, Y1, Y2, Y3) durchgeführt wurde, was zu einer Verzögerung führt. Weiterhin ist die Leerlaufzeit länger, je kleiner die Transformatoreinheit ist.
  • 3 ist eine Illustration einer beispielhaften Transformatoreinheitenpipelineverarbeitung 300, die nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet ist. 3 stellt eine Illustration zum Einfügen von Chromaverarbeitung zwischen Lumaverarbeitung bereit, wie hierin weiter besprochen wird. Wie in 3 dargestellt, kann ein erstes Sample 311 der Lumatransformatoreinheit 111 (Y0) in Stufe A einer ersten Pipeline 301 der Pipelineverarbeitung 300 eingefügt werden. Danach kann ein letztes Lumasample 312 der Transformatoreinheit 111 (Y0) in Stufe A einer zweiten Pipeline 302 eingefügt werden und ein Chromasample 321 (Cb) kann in Stufe A der ersten Pipeline 301 eingefügt werden, da sich das erste Sample 311 in Stufe B der ersten Pipeline 301 befindet. Weiterhin kann, wenn auch nicht dargestellt, und Chromasample 322 (Cr) eines zweiten Farbkanals in Stufe A der zweiten Pipeline 302 eingefügt werden, da das erste Lumasample 311 sich in Stufe C der ersten Pipeline 301, das Chromasample 321 sich in Stufe B der ersten Pipeline 301, und das letzte Lumasample 312 sich in Stufe B der zweiten Pipeline 302 befindet. Wie dargestellt, befindet sich bei der weiteren Verarbeitung Chromasample 322 in Stufe Y der zweiten Pipeline 302, das erste Lumasample 311 in Stufe Z der ersten Pipeline 301, das Chromasample 321 in Stufe Y der ersten Pipeline 301, und das letzte Lumasample 312 in Stufe Z der zweiten Pipeline 302. Bei der nächsten Verarbeitungsstufe hat das erste Lumasample 311 die Verarbeitung abgeschlossen, und ein anderes Sample aus einem nächsten Lumasample kann eingeführt werden. Wie dargestellt, kann während der Leerlaufzeit 311 die Verarbeitung von mindestens Chromasamples 321, 322 bereitgestellt werden, um den Durchsatz zu erhöhen.
  • 4 ist eine Illustration eines beispielhaften Encoders 400, der nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet ist. Wie in 4 dargestellt, kann Encoder 400 ein Resterzeugungsmodul 401, ein Vorwärtstransformations- und Quantifizierungsmodul 402, ein Inverstransformations- und Quantifizierungsmodul 403, ein Intravorhersagemodul 404, einen Encoder-Umwandlungspuffer 405, einen Entropiecoder 406 enthalten. Das Resterzeugungsmodul 401, Vorwärtstransformations- und Quantifizierungsmodul 402, Inverstransformations- und Quantifizierungsmodul 403, und das Intravorhersagemodul 404 können als Intravorhersageschleife 409 oder dergleichen gekennzeichnet sein.
  • Wie dargestellt, kann Encoder 400 Quellvideo (YUV) 411 zum Codieren empfangen und einen codierten Bitstream 413 von codierten Videodaten bereitstellen. Das Quellvideo 411 kann jedes geeignete Format aufweisen, wie YUV oder YCbCr oder dergleichen, und kann jede geeignete Auflösung, Bittiefe usw. aufweisen. Der codierte Bitstream 413 kann jedes geeignete Datenformat enthalten. Beispielsweise kann der codierte Bitstream 413 ein Bitstream im standardkonformen Format sein, der jedem hierin besprochenen Standard entspricht. Das Resterzeugungsmodul 401 kann Quellvideo 411 oder Abschnitte davon und das Intravorhersagesignal 412 differenzieren, um Vorhersagereste für intracodierte Vorhersageeinheiten bereitzustellen. Die intracodierten Vorhersageeinheitenreste werden durch das Vorwärtstransformations- und Quantifizierungsmodul 402 vorwärtstransformiert und vorwärtsquantisiert, um quantisierte Transformationskoeffizienten zu erhalten, die durch das Inverstransformations- und Quantifizierungsmodul 403 inversquantisiert und inverstransformiert werden können, um die rekonstruierten Vorhersagereste zu erzeugen. Die rekonstruierten Vorhersagereste werden durch das Intravorhersagemodul 404 mit entsprechenden Vorhersagedaten (z. B. unter Verwendung der Intravorhersage, die auf zuvor decodierten Pixelsamples basiert) kombiniert, um das Intravorhersagesignal 412 zu erzeugen. Diese Verarbeitung kann für eine beliebige Anzahl von Vorhersageeinheiten oder Codierungseinheiten oder dergleichen der Videorahmen des Quellvideos 411 wiederholt werden.
  • Weiterhin können die besprochenen Vorwärtstransformationen, Vorwärtsquantisierung, Inversquantisierung und Inverstransformationsverarbeitung auf Transformatoreinheiten so ausgeführt werden, dass die Transformatoreinheiten Untereinheiten einer Vorhersageeinheit sein können (oder eine Transformatoreinheit kann eine gesamte Vorhersageeinheit sein). Wie in 4 dargestellt, kann eine beispielhafte Vorhersageeinheit 421, die durch eine Intravorhersageschleife 409 verarbeitet ist, in einer Verarbeitungsreihenfolge 422 sein. Die Verarbeitungsreihenfolge 422 kann auch als eine Intraverarbeitungsreihenfolge, eine Hardwarepipelinereihenfolge, ein internes Farbinterleaving oder dergleichen gekennzeichnet sein. Wie dargestellt, enthält die Verarbeitungsreihenfolge 422 Transformatoreinheiten (bezeichnet mit Y0, U0, V0, Y1, U1, V1) zusammen mit einem Header (H) in einer geinterleavten Reihenfolge für effizientere Verarbeitung durch die Intravorhersageschleife 409. Beispielsweise werden in einer Intravorhersageschleife 409, Farbkoeffizienten auf einer Transformationsfarbeinheit mit der Transformationsfarbeinheitenfarbbasis (z. B. auf Basis TU.Farbe um TU.Farbe) geinterleavt, sodass die Transformationsfarbeinheit für die Intravorhersage durch die Komponenten der Intravorhersageschleife 409 verwendet wird. Das Beispiel der Verarbeitungsreihenfolge 422 stellt eine Vorhersageeinheit 421 dar, die zwei Transformatoreinheiten gleicher Größe aufweist: TU0 und TU1. Weiterhin weist jede Transformatoreinheit drei Farbkoeffizientenblocks auf: TU.Y, TU.U und TU.V. Beispielsweise kann die Vorhersageeinheit 421 eine rechteckige Vorhersageeinheit sein, die zwei quadratische Transformatoreinheiten aufweist, die mit 4:4:4 Farbsampling umgesetzt sind.
  • Wie ebenfalls dargestellt, kann der Encoderumwandlungspuffer 405 umgesetzt sein, die Reihenfolge von Transformatoreinheiten der Vorhersageeinheit 421 in eine normative Codierungsreihenfolge 423 zu ändern. Beispielsweise entkoppelt der Encoderumwandlungspuffer 405, wie Koeffizienten verschiedener Farben in einem standardkonformen Bitstream (codierter Bitstream 413) von einem Interleaving derselben Koeffizienten in einer Umsetzung (Verarbeitungsreihenfolge 422) geinterleavt werden. In einer Ausführungsform übersetzt der Encoderumwandlungspuffer 405 Koeffizienten von Transformatoreinheiten von einem internen Farbinterleaving (Verarbeitungsreihenfolge 422) in ein externes Farbinterleaving (normative Codierungsreihenfolge 423). Die normative Codierungsreihenfolge 423 kann auch als standardbasierte Reihenfolge, Ausgabecodierungsreihenfolge, externes Farbinterleaving oder dergleichen gekennzeichnet sein. Beispielsweise kann der Entropiecoder 406 die Vorhersageeinheit 421 verarbeiten, um einen standardkonformen codierten Bitstream 413 zu erzeugen, in dem die Vorhersageeinheiten in der normativen Codierungsreihenfolge 423 dargestellt sind. Der Entropiecoder 406 kann den codierten Bitstream 413 unter Verwendung einer oder mehrerer geeigneter Techniken erzeugen. Beispielsweise kann der Entropiecoder 406 Samples-zu-Bin/Bit-Verarbeitung wie Multilevel- oder binärer Entropie-/Arithmetikcodierung oder dergleichen verwenden. Die hierin besprochenen Techniken können durch Bereitstellung der Vorhersageeinheit 421 in der normativen Codierungsreihenfolge 423 die Durchführung einer solchen Entropiecodierung unter Verwendung von Standards oder normativ basierten Techniken vorsehen, um einen standardkonform codierten Bitstream 413 zu erzeugen.
  • Wie dargestellt, kann die Verarbeitungsreihenfolge 422 in der folgenden Reihenfolge bereitgestellt werden: Header (H) - TU0.Y (Y0) - TU0.U (U0) - TU0.V (V0) - TU1.Y (Y1) - TU1.U (U1) - TU1.V (VI) und die normative Codierungsreihenfolge 423 kann als Header (H) - TU0.Y (Y0) - TU1.Y (Y1) - TU0.U (U0) - TU1.U (U1) - TU0.V (V0) - TU1.V (V1) bereitgestellt werden. Beispielhafte Verarbeitungsreihenfolgen sind hierin nachfolgend genauer beschrieben. Wie zu erkennen ist, unterscheiden sich die normative Codierungsreihenfolge 423 und die Verarbeitungsreihenfolge 422 darin, wie die Koeffizienteneinheiten oder Blocks geinterleavt werden, sodass die Verarbeitung durch die Intravorhersageschleife 409 effizienter ausgeführt werden kann.
  • Wie besprochen kann die Verarbeitungsreihenfolge 422 die Verarbeitungszeit verringern, die erforderlich ist, um die Vorhersageeinheit 421 zu verarbeiten, indem Verzögerungen bezüglich des Verarbeitens in normativer Codierungsreihenfolge 423 eliminiert werden. Beispielsweise kann die Verarbeitung von U0 direkt nach Y0 die Verzögerung verringern, da U0 nicht auf den Abschluss von Y1 wartet (die ihrerseits möglicherweise auf Y0 warten muss). Ähnlich kann die Verarbeitung von V0 direkt nach U0 die Verzögerung verringern, da V0 nicht auf den Abschluss von Y1 wartet.
  • 5 ist eine Illustration eines beispielhaften Encoderumwandlungspuffers 405, der nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet ist. Wie in 5 dargestellt, kann der Encoderumwandlungspuffer 405 Transformatoreinheiten der Vorhersageeinheit 421 in der Verarbeitungsreihenfolge 422 (TUO.Y, TUO.U, TUO.V, TU1.Y, TU1.U, TU1.V) empfangen und Transformatoreinheiten der Vorhersageeinheit 421 können in der normativen Codierungsreihenfolge 423 (TUO.Y, TU1.Y, TUO.U, TU1.U, TUO.V, TU1.V) abgerufen werden. Beispielsweise kann ein Prozessor (nicht dargestellt) wie ein zentraler Prozessor oder ein Videoprozessor oder dergleichen Blocks quantisierter Resttransformationskoeffizienten, die Transformatoreinheiten der Vorhersageeinheit 421 entsprechend, in der Verarbeitungsreihenfolge 422 (oder einer anderen hierin besprochenen Verarbeitungsreihenfolge) speichern, und der Prozessor oder ein anderer Prozessor kann die Blocks der quantisierten Resttransformationskoeffizienten Transformatoreinheiten der Vorhersageeinheit 421 entsprechende in der normativen Codierungsreihenfolge 423 abrufen.
  • Wie besprochen kann der Encoderumwandlungspuffer 405 verwendet werden, um auf Basis PU um PU von TU-Level-Farbinterleaving auf PU-Level-Farbinterleaving zu konvertieren. Der Encoderumwandlungspuffer 405 kann die Eingabe TU.Farbblocks nach Farbe in der Eingabesequenz speichern. Weiterhin kann der Encoderumwandlungspuffer 405 die Transformatoreinheiten in einer Vorhersageeinheit und die Transformationsfarbeinheiten in einer Transformatoreinheit speichern und/oder verfolgen. Beispielsweise kann der Encoderumwandlungspuffer 405 erkennen, dass alle Transformatoreinheiten einer Vorhersageeinheit empfangen werden und alle Transformatorlumaeinheiten (z. B. alle Transformatoreinheiten-Lumablocks) ausgeben, gefolgt von allen Transformations-U-Einheiten (z. B. alle Transformatoreinheiten-U- oder Cb-Blocks), gefolgt von allen Transformations-V-Einheiten (z. B. alle Transformatoreinheiten-V- oder Cr-Blocks).
  • 6 ist eine Illustration eines beispielhaften Decoders 600, der nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet ist. Wie in 6 dargestellt, kann der Decoder 600 einen Entropiedecoder 606, einen Decoderumwandlungspuffer 605, ein Inverstransformations- und Quantifizierungsmodul 603, ein Intravorhersagemodul 604 und ein Rekonstruktionsmodul 601 enthalten. Wie dargestellt, kann der Decoder 600 einen codierten Bitstream 613 für die Decodierung enthalten und kann rekonstruiertes Video (YUV) 611 zum Speichern oder Darstellen oder dergleichen bereitstellen. Der codierte Bitstream 613 kann jedes geeignete Datenformat enthalten. Beispielsweise kann der codierte Bitstream 613 ein Bitstream im standardkonformen Format sein, der jedem hierin besprochenen Standard entspricht.
  • Wie dargestellt, kann der Entropiedecoder 606 den codierten Bitstream 613 empfangen und den codierten Bitstream 613 verarbeiten, um die Vorhersageeinheit 621 zu erzeugen, die Transformatoreinheitendaten in einer normativen Codierungsreihenfolge 623 aufweist. Beispielsweise kann der Entropiedecoder 606 den codierten Bitstream 613 decodieren, um die Vorhersageeinheit 621 zu erzeugen. Der Entropiedecoder 606 kann den codierten Bitstream 613 unter Verwendung einer oder mehrerer geeigneter Techniken zum Erzeugen der Vorhersageeinheit 621 decodieren. Die hierin für den Decoderumwandlungspuffer 605 besprochenen Techniken wirken sich möglicherweise nicht auf die Verarbeitung von Entropiedecoder 606 aus. Beispielsweise kann der Entropiedecoder Bin/Bit-zu-Sample-Verarbeitung oder dergleichen bereitstellen. In einer Ausführungsform kann die Vorhersageeinheit 621 transformierte und quantisierte Restkoeffizienten für Transformatoreinheiten bereitstellen, sodass die Transformatoreinheiten sich in der normativen Codierungsreihenfolge 623 befinden. Analog zu dem Beispiel aus 4 und 5 stellt das Beispiel der Verarbeitungsreihenfolge 624 eine Vorhersageeinheit 621 dar, die zwei Transformatoreinheiten gleicher Größe aufweist: TU0 und TU1. Weiterhin weist jede Transformatoreinheit drei Farbkoeffizientenblocks auf: TU.Y, TU.U und TU.V. Beispielsweise kann die Vorhersageeinheit 421 eine rechteckige Vorhersageeinheit sein, die zwei quadratische Transformatoreinheiten aufweist, die mit 4:4:4 Farbsampling umgesetzt sind.
  • Wie ebenfalls dargestellt, kann der Decoderumwandlungspuffer 605 umgesetzt sein, die Reihenfolge von Transformatoreinheiten der Vorhersageeinheit 621 in eine Verarbeitungsreihenfolge 622 zu ändern. Beispielsweise entkoppelt, wie bezüglich des Encoderumwandlungspuffers 405 besprochen, der Decoderumwandlungspuffer 605 wie Koeffizienten verschiedener Farben in einem standardkonformen Bitstream (codierter Bitstream 613) von einem Interleaving derselben Koeffizienten in einer Umsetzung (Verarbeitungsreihenfolge 622) geinterleavt werden. Der Decoderumwandlungspuffer 605 kann Koeffizienten von Transformatoreinheiten von einem internen Farbinterleaving (Verarbeitungsreihenfolge 622) in ein externes Farbinterleaving (normative Codierungsreihenfolge 623) übersetzen. Die normative Codierungsreihenfolge 623 kann auch als standardbasierte Reihenfolge, Ausgabecodierungsreihenfolge, externes Farbinterleaving oder dergleichen gekennzeichnet sein. Wie dargestellt, kann eine normative Codierungsreihenfolge 623 als Header (H) - TU0.Y (Y0) - TU1.Y (Y1) - TU0.U (U0) - TU1.U (U1) - TU0.V (V0) - TU1.V (V1) bereitgestellt werden und die Verarbeitungsreihenfolge 622 kann als Header (H) - TU0.Y (Y0) - TU0.U (U0) - TU0.V (V0) - TU1.Y (Y1) - TU1.U (U1) - TU1.V (V1) bereitgestellt werden. Beispielhafte Verarbeitungsreihenfolgen sind hierin nachfolgend genauer beschrieben. Wie zu erkennen ist, unterscheiden sich die normative Codierungsreihenfolge 623 und die Verarbeitungsreihenfolge 622 darin, wie die Koeffizienteneinheiten oder Blocks geinterleavt werden, sodass die Verarbeitung durch die Decoder 600 effizienter ausgeführt werden kann.
  • Bei der Verarbeitung einer Vorhersageeinheit in der Verarbeitungsreihenfolge 622 können quantisierte Transformationskoeffizienten von Transformatoreinheiten der Vorhersageeinheit 621 durch das Inverstransformations- und Quantifizierungsmodul 603 inversquantisiert und inverstransformiert werden, um die rekonstruierten Vorhersagereste für die Transformatoreinheiten zu erzeugen. Die rekonstruierten Vorhersagereste werden durch das Intravorhersagemodul 604 mit entsprechenden Vorhersagedaten (z. B. unter Verwendung der Intravorhersage, die auf zuvor decodierten Pixelsamples basiert) kombiniert, um das Intravorhersagesignal 612 zu erzeugen. Diese intravorhergesagten Vorhersageeinheiten können durch das Rekonstruktionsmodul 601 verarbeitet werden, um Ausgaberahmen oder Bilder des rekonstruierten Videos 611 zu erzeugen, die gespeichert oder dargestellt werden können oder dergleichen.
  • 7 ist eine Illustration eines beispielhaften Decoderumwandlungspuffers 605, der nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet ist. Wie in 7 dargestellt, kann der Decoderumwandlungspuffer Transformatoreinheiten der Vorhersageeinheit 621 in der normativen Codierungsreihenfolge 623 (TUO.Y, TU1.Y, TUO.U, TU1.U, TUO.V, TU1.V) empfangen, und Transformatoreinheiten der Vorhersageeinheit 621 können in der Verarbeitungsreihenfolge 622 (TUO.Y, TUO.U, TUO.V, TU1.Y, TU1.U, TU1.V) abgerufen werden. Beispielsweise kann ein Prozessor (nicht dargestellt) wie ein zentraler Prozessor oder ein Videoprozessor oder dergleichen Blocks quantisierter Resttransformationskoeffizienten, die Transformatoreinheiten der Vorhersageeinheit 621 entsprechen, in der normativen Codierungsreihenfolge 623 (oder einer anderen hierin besprochenen Verarbeitungsreihenfolge) speichern, und der Prozessor oder ein anderer Prozessor kann die Blocks der quantisierten Resttransformationskoeffizienten, die Transformatoreinheiten der Vorhersageeinheit 621 entsprechen, in der Verarbeitungsreihenfolge 622 abrufen. Wie besprochen kann der Decoderumwandlungspuffer 605 verwendet werden, um von PU-Ebenen-Farbinterleaving auf Basis PU um PU auf TU-Ebenen-Farbinterleaving zu konvertieren. Der Decoderumwandlungspuffer 605 kann das Gegenteil der Umwandlung bereitstellen, die bezüglich des Encoderumwandlungspuffers 405 beschrieben ist, um von PU-Ebenen-Farbinterleaving auf internes Farbinterleaving zu konvertieren. In einer Ausführungsform speichert der Decoderumwandlungspuffer 605 eingehende TU.Farbblocks nach Farbe und wenn alle TU.Farbblocks einer TU empfangen wurden, kann der Decoderumwandlungspuffer 605 diese Blocks in der Reihenfolge Y, gefolgt von U und V, oder einer anderen Verarbeitungsreihenfolge wie hierin besprochen bereitstellen.
  • Wie besprochen kann der Encoder 400 einen Encoderumwandlungspuffer 405 umsetzen und der Decoder 600 kann einen entsprechenden Decoderumwandlungspuffer 605 umsetzen, um zwischen den normativen Codierungsreihenfolgen und Verarbeitungsreihenfolgen für die Transformatoreinheiten einer Vorhersageeinheit zu übersetzen. Die hierin besprochenen Verarbeitungsreihenfolgen können Y und Cb/Cr auf Basis der Transformatoreinheit interleaven, sodass eine Transformatoreinheit einen Block (z. B. einen quadratischen Block) von Samples darstellt, die durch eine Transformation verarbeitet werden. Da die Intravorhersagerekonstruktion über die Grenzen der Transformatoreinheit hinweg ausgeführt wird, kann ein solches Interleaving die Intravorhersagerekonstruktion von Y-, Cb- und Cr-Samples parallel erlauben, was die Intravorhersageschleifenverzögerung verringert. Solche Farbinterleavingschemas werden nachfolgend zur Verwendung zusammen mit den besprochenen Encoder- und Decoderumwandlungspuffern besprochen. Solche Farbinterleavingtechniken können den Intravorhersagedurchsatz verringern und die Verarbeitungseffizienz erhöhen.
  • 8 ist eine Illustration von beispielhaften Verarbeitungsreihenfolgen, die Farbinterleaving enthalten, nach mindestens einigen Umsetzungen der vorliegenden Offenbarung. 8 illustriert beispielhafte Verarbeitungsreihenfolgen 801, 802, 803, jeweils für eine Vorhersageeinheit 800, die vier Lumatransformatoreinheiten (Y0, Y1, Y2, Y3), zwei Chromakanal-Eins-Transformatoreinheiten (U0, U1) und zwei Chromakanal-Zwei-Transformatoreinheiten (V0, V1) aufweist. Wie hierin verwendet, bezeichnen die Begriffe Chromakanal eins und Chromakanal zwei erste und zweite Chromakanäle wie die Kanäle U und V, die Kanäle Cb und Cr, oder dergleichen. Das illustrierte Beispiele kann Transformatoreinheiten für ein 4:2:2 Farbsampling bereitstellen. Die illustrierten Transformatoreinheiten können jede geeignete Größe aufweisen, wie etwa eine Größe von 4x4-Pixel-Samples oder Transformationskoeffizienten. Weiterhin können, wie hierin besprochen, die illustrierten Transformatoreinheiten eine normative Codierungsreihenfolge oder standardbasierte Codierungsreihenfolge oder dergleichen in der folgenden Reihenfolge aufweisen: Y0, Y1, Y2, Y3, U0, U1, V0, V1.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge 801 für die Vorhersageeinheit 800 mit der Verarbeitungsreihenfolge ausgestattet sein, die der normativen Codierungsreihenfolge folgt, sodass die Transformatoreinheiten der Vorhersageeinheit 800 alle Lumatransformatoreinheiten (z. B. Y0, Y1, Y2, Y3) packen, dann alle Chromakanal-Eins-Transformatoreinheiten (z. B. U0, U1), dann alle Chromakanal-Zwei-Transformatoreinheiten (z. B. V0, V1).
  • Wie dargestellt, kann in einer Ausführungsform die Verarbeitungsreihenfolge 802 für die Vorhersageeinheit 800 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten bereitgestellt werden. Beispielsweise kann die Verarbeitungsreihenfolge 802 die Transformatoreinheiten mit einer ersten Lumatransformatoreinheit direkt gefolgt durch eine erste Chromakanal-Eins-Transformatoreinheit, sortieren, der ihrerseits direkt eine erste Chromakanal-Zwei-Transformatoreinheit (z. B. Y0, U0, V0) folgt. Wie hierin verwendet, soll der Begriff direkt gefolgt oder ähnliche Begriffe anzeigen, dass keine Zwischeneinheiten zwischen den Einheiten in der Reihenfolge vorliegen. Aufeinanderfolgende Gruppen einer nachfolgenden Lumatransformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Eins-Transformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Zwei-Transformatoreinheit, können ebenfalls bereitgestellt werden, bis in diesem Beispiel die Chromatransformatoreinheiten ausgehen. Dann können die verbleibenden Lumatransformatoreinheiten in die Verarbeitungsreihenfolge 802 gepackt werden. Beispielsweise stellt die Verarbeitungsreihenfolge 802, wie dargestellt, eine Untergruppe Y0, U0, V0 bereit, gefolgt durch eine fortlaufende Untergruppe von Y1, U1, VI, die alle Chromatransformatoreinheiten erschöpft, und dann den verbleibenden Lumatransformatoreinheiten: Y2, Y3.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge 803 für die Vorhersageeinheit 800 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit, einer Lumatransformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten oder aller verfügbaren Chromatransformatoreinheiten bereitgestellt werden. Beispielsweise kann die Verarbeitungsreihenfolge 803 die Transformatoreinheiten mit einer ersten Lumatransformatoreinheit direkt gefolgt durch eine erste Chromakanal-Eins-Transformatoreinheit, sortieren, der ihrerseits direkt eine zweite Lumatransformatoreinheit folgt, der ihrerseits direkt eine erste Chromakanal-Zwei-Transformatoreinheit (z. B. Y0, U0, Y1, V0) folgt. Aufeinanderfolgende Gruppen einer nachfolgenden Lumatransformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Eins-Transformatoreinheit, direkt gefolgt durch eine andere nachfolgende Lumatransformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Zwei-Transformatoreinheit, können ebenfalls bereitgestellt werden, bis in diesem Beispiel die Chromatransformatoreinheiten ausgehen. Dann können die verbleibenden Lumatransformatoreinheiten in die Verarbeitungsreihenfolge 803 gepackt werden. Beispielsweise stellt die Verarbeitungsreihenfolge 803, wie dargestellt, eine Untergruppe Y0, U0, Y1, V0 bereit, gefolgt durch eine fortlaufende Untergruppe von Y2, U1, Y3, VI, die alle Transformatoreinheiten aufbraucht.
  • In den Beispielen aus 8 ändern die Verarbeitungsreihenfolgen 801, 802, 803 die Verarbeitungsreihenfolge der Lumatransformatoreinheiten bezüglich der normativen Codierungsreihenfolge dieser Transformatoreinheiten nicht, die in mehreren Videocodecs verwendet werden. Weiterhin illustriert 8 die Bedeutung der Verarbeitungsreihenfolgen 802, 803 bezüglich der Verarbeitungsreihenfolge 801 bezüglich des Durchsatzes, da Verarbeitungsverzögerungen durch das Warten darauf, dass die Lumatransformatoreinheiten Y0, Y1, Y2, Y3 die Verarbeitung in der Verarbeitungsreihenfolge 801 abschließen, verwendet werden, um Chromakanal-Eins- und -Zwei-Transformatoreinheiten zu verarbeiten und damit allgemeine Verarbeitungszeit gespart wird.
  • 9 ist eine Illustration von beispielhaften Verarbeitungsreihenfolgen, die Farbinterleaving enthalten, nach mindestens einigen Umsetzungen der vorliegenden Offenbarung. 9 illustriert beispielhafte Verarbeitungsreihenfolgen 901, 902, 903, jeweils für eine Vorhersageeinheit 00, die vier Lumatransformatoreinheiten (Y0, Y1, Y2, Y3), zwei Chromakanal-Eins-Transformatoreinheiten (U0, U1) und zwei Chromakanal-Zwei-Transformatoreinheiten (V0, V1) aufweist. Das illustrierte Beispiel kann Transformatoreinheiten für ein 4:2:0 Farbsampling bereitstellen. Die illustrierten Transformatoreinheiten können jede geeignete Größe aufweisen, wie etwa eine Größe von 4x4-Pixel-Samples oder Transformationskoeffizienten. Weiterhin können, wie hierin besprochen, die illustrierten Transformatoreinheiten eine normative Codierungsreihenfolge oder standardbasierte Codierungsreihenfolge oder dergleichen in der folgenden Reihenfolge aufweisen: Y0, Y1, Y2, Y3, U0, V0.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge 901 für die Vorhersageeinheit 900 mit der Verarbeitungsreihenfolge ausgestattet sein, die der normativen Codierungsreihenfolge folgt, sodass die Transformatoreinheiten der Vorhersageeinheit 900 alle Lumatransformatoreinheiten (z. B. Y0, Y1, Y2, Y3) packen, dann alle Chromakanal-Eins-Transformatoreinheiten (z. B. U0), dann alle Chromakanal-Zwei-Transformatoreinheiten (z. B. V0).
  • In einer anderen Ausführungsform kann die Verarbeitungsreihenfolge 902 für die Vorhersageeinheit 900 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten bereitgestellt werden. Diese Sortierung folgt einer ähnlichen Packtechnik wie bezüglich Verarbeitungsreihenfolge 802 erklärt. Beispielsweise kann die Verarbeitungsreihenfolge 902 die Transformatoreinheiten mit einer ersten Lumatransformatoreinheit direkt gefolgt durch eine erste Chromakanal-Eins-Transformatoreinheit, sortieren, der ihrerseits direkt eine erste Chromakanal-Zwei-Transformatoreinheit (z. B. Y0, U0, V0) folgt. Aufeinanderfolgende Gruppen einer nachfolgenden Lumatransformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Eins-Transformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Zwei-Transformatoreinheit, können ebenfalls bereitgestellt werden. In diesem Beispiel gehen jedoch die Chromatransformatoreinheiten nach der ersten Gruppierung aus. Nachfolgend können die verbleibenden Lumatransformatoreinheiten in die Verarbeitungsreihenfolge 902 gepackt werden. Beispielsweise stellt die Verarbeitungsreihenfolge 902, wie dargestellt, eine Untergruppe Y0, U0, V0 bereit, die alle Chromatransformatoreinheiten erschöpft, gefolgt von den verbleibenden Lumatransformatoreinheiten: Y1, Y2, Y3.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge 903 für die Vorhersageeinheit 900 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit, einer Lumatransformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten oder aller verfügbaren Chromatransformatoreinheiten bereitgestellt werden. Diese Sortierung folgt einer ähnlichen Packtechnik wie bezüglich Verarbeitungsreihenfolge 803 erklärt. Beispielsweise kann die Verarbeitungsreihenfolge 903 die Transformatoreinheiten mit einer ersten Lumatransformatoreinheit direkt gefolgt durch eine erste Chromakanal-Eins-Transformatoreinheit, sortieren, der ihrerseits direkt eine zweite Lumatransformatoreinheit folgt, der ihrerseits direkt eine erste Chromakanal-Zwei-Transformatoreinheit (z. B. Y0, U0, Y1, V0) folgt. Aufeinanderfolgende Gruppen einer nachfolgenden Lumatransformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Eins-Transformatoreinheit, direkt gefolgt durch eine andere nachfolgende Lumatransformatoreinheit, direkt gefolgt durch eine nachfolgende Chromakanal-Zwei-Transformatoreinheit, können ebenfalls bereitgestellt werden. In diesem Beispiel gehen jedoch die Chromatransformatoreinheiten nach der ersten Untergruppe von Y0, U0, Y1, V1 aus. Nachfolgend können die verbleibenden Lumatransformatoreinheiten in die Verarbeitungsreihenfolge 903 gepackt werden. Beispielsweise stellt die Verarbeitungsreihenfolge 903, wie dargestellt, eine Untergruppe Y0, U0, V0 bereit, die alle Chromatransformatoreinheiten erschöpft, und dann den verbleibenden Lumatransformatoreinheiten: Y2, Y3.
  • Wie bei den Beispielen aus 8 ändern die Beispiele aus 9 die Verarbeitungsreihenfolge der Lumatransformatoreinheiten bezüglich der normativen Codierungsreihenfolge nicht, die in mehreren Videocodecs verwendet wird. Weiterhin illustriert 9 erneut die Bedeutung der Verarbeitungsreihenfolgen 902, 903 bezüglich der Verarbeitungsreihenfolge 901 bezüglich des Durchsatzes, da Verarbeitungsverzögerungen durch das Warten darauf, dass die Lumatransformatoreinheiten Y0, Y1, Y2, Y3 die Verarbeitung in der Verarbeitungsreihenfolge 901 abschließen, verwendet werden, um Chromakanal-Eins- und -Zwei-Transformatoreinheiten zu verarbeiten und damit allgemeine Verarbeitungszeit gespart wird.
  • Wie erklärt, können die Beispiele aus 8 mit 4:2:2-Farbsampling und die Beispiele aus 9 mit 4:2:0-Farbsampling verwendet werden. Im Kontext von 4:4:4-Farbsampling können die besprochenen Techniken für Transformatoreinheitspacken verwendet werden. Beispielsweise können die mit Bezug auf die Verarbeitungsreihenfolgen 802, 902 besprochenen Techniken verwendet werden, um eine normative Codierungsreihenfolge von Y0, Y1, Y2, Y3, U0, U1, U2, U3, V0, V1, V2, V3 in eine Verarbeitungscodierungsreihenfolge von Y0, U0, V0, Y1, U1, V1, Y2, U2, V2, Y3, U3, V3 zu interleaven, indem so viele Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar gepackt werden. Weiterhin können die mit Bezug auf die Verarbeitungsreihenfolgen 803, 903 besprochenen Techniken verwendet werden, um eine normative Codierungsreihenfolge von Y0, Y1, Y2, Y3, U0, U1, U2, U3, V0, V1, V2, V3 in eine Verarbeitungscodierungsreihenfolge von Y0, U0, Y1, V0, Y2, U1, Y3, U1, U2, V2, U3, V3 zu interleaven, indem so viele Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit gepackt werden, bis eine dieser Transformatoreinheiten aufgebraucht ist, und dann alle verfügbaren Lumatransformatoreinheiten oder andere verfügbaren Chromatransformatoreinheiten gepackt werden.
  • Außerdem ändern, wie erklärt, die Beispiele aus 8 und 9 die Verarbeitungsreihenfolge der Lumatransformatoreinheiten bezüglich der normativen Codierungsreihenfolge solcher Lumatransformatoreinheiten nicht. In anderen Beispielen kann die Verarbeitungsreihenfolge der Lumatransformatoreinheiten geändert werden.
  • 10A bis 10C illustriert ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit um eine Codierungsreihenfolge bereitzustellen, die nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet sind. Beispielsweise kann die Verarbeitungsreihenfolge aus 10A bis 10C mit Intravorhersagemodi kompatibel sein, die keine oberen rechten Samples verwenden. Wie in 10A dargestellt, kann eine beispielhafte Vorhersageeinheit 1000 16 Transformatoreinheiten (Y0-Y15), vier Chromakanal-Eins-Transformatoreinheiten (U0-U4) und vier Chromakanal-Zwei-Transformatoreinheiten (V0-V4) enthalten. Das illustrierte Beispiele kann Transformatoreinheiten für ein 4:2:0 Farbsampling bereitstellen. Die illustrierten Transformatoreinheiten können jede geeignete Größe aufweisen, wie etwa eine Größe von 4x4-Pixel-Samples oder Transformationskoeffizienten. Weiterhin können, wie hierin besprochen, die illustrierten Transformatoreinheiten eine normative Codierungsreihenfolge oder standardbasierte Codierungsreihenfolge oder dergleichen in der folgenden Reihenfolge aufweisen: Y0-Y15, U0-U4, V0-V4.
  • Außerdem können, wie in 10A dargestellt, Lumatransformatoreinheiten der Vorhersageeinheit 1000 in einer Wellenfrontreihenfolge gescannt werden, um eine Fortpflanzungsreihenfolge 1001 bereitzustellen. Beispielsweise können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in der folgenden Reihenfolge eingescannt werden. Eine erste Welle kann von einer oberen linken Transformatoreinheit (Y0) nach rechts scannen und dann nach unten zu einer unteren rechten Transformatoreinheit (Y15), sodass der erste Scan die folgenden Lumatransformatoreinheiten in der Reihenfolge: Y0, Y1, Y2, Y3, Y7, Y11, Y15 erreicht, wie dargestellt in Welle 1 (W1) der Fortpflanzungsreihenfolge 1001. Eine zweite Welle kann die verbleibenden Transformatoreinheiten erneut von einer (verfügbaren) oberen linken Transformatoreinheit (Y4) nach rechts scannen und dann nach unten zu einer unteren rechten Transformatoreinheit (Y14), sodass der zweite Scan die folgenden Lumatransformatoreinheiten in der Reihenfolge: Y4, Y5, Y6, Y10, Y14 erreicht, wie dargestellt in Welle 1 (W1). Dritte und vierte Wellen können erneut die verbleibenden Transformatoreinheiten von einer (verfügbaren) oberen linken Transformatoreinheit (Y8) nach rechts scannen und dann nach unten zu einer unteren rechten Transformatoreinheit (Y13), sodass der dritte Scan die folgenden Lumatransformatoreinheiten in der Reihenfolge: Y8, Y9, Y13 und dann die letzte verfügbare Transformatoreinheit (Y12) erreicht, sodass der vierte Scan die Y12-Lumatransformatoreinheit erreicht.
  • Wie in 10B dargestellt, können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in der Fortpflanzungsreihenfolge 1001 dann auf eine Lumaverarbeitungsreihenfolge 1002 übersetzt werden, sodass die Lumaverarbeitungsreihenfolge 1002 eine Zeitreihenfolge für die Verarbeitung bereitstellt, wie hierin mit bereitgestellten Zeitlücken besprochen, wie etwa Zeitlücke 1011, um Nachbarabhängigkeiten zu erfüllen. Beispielsweise kann die Lumaverarbeitungsreihenfolge 1002 aus der Fortpflanzungsreihenfolge 1001 erzeugt werden, indem die Fortpflanzungsreihenfolge 1001 beginnend an der linken Seite der Fortpflanzungsreihenfolge 1001 gescannt wird, und dann jede Spalte vertikal von oben nach unten gescannt wird, und sich der Vorgang von links nach rechts zur nächsten Spalte bewegt (entlang einer Zeile), die Spalte vertikal scannt und so weiter. Beispielsweise kann ein Scan der ersten Spalte die Lumatransformatoreinheit Y0 bereitstellen, der Scan der zweiten Spalte kann die Lumatransformatoreinheiten Y1, Y4 bereitstellen, der Scan der dritten Spalte kann die Lumatransformatoreinheiten Y2, Y5, Y8 bereitstellen und so weiter, wie in der Lumaverarbeitungsreihenfolge 1002 gezeigt. Dieses Wellenfrontscannen, gefolgt durch spaltenweises Scannen der Lumatransformatoreinheiten, kann eine Sortierung vorsehen, die nicht die Abhängigkeiten zwischen den Lumatransformatoreinheiten basierend auf den Intravorhersagemodi verletzt, die obere rechte Samples nicht verwenden. Außerdem können, wie in 10B dargestellt, Chromakanal-Eins-Transformatoreinheiten in einer Chromakanal-Eins-Transformatoreinheitenreihenfolge 1003 bereitgestellt werden, die der normativen Codierungsreihenfolge entspricht. Ähnlich können Chromakanal-Zwei-Transformatoreinheiten in einer Chromakanal-Zwei-Transformatoreinheitenreihenfolge 1004 bereitgestellt werden, die der normativen Codierungsreihenfolge entspricht.
  • Die Verarbeitung, die bezüglich 10A und 10B besprochen wird, um die Lumaverarbeitungsreihenfolge 1002 zu erzeugen, kann durch Ausführen mehrerer räumlich nach unten links orientierter Scans erzeugt werden, die jeweils an einer nachfolgenden Lumatransformatoreinheit der Wellenfront der Transformatoreinheiten beginnen, die Y0, Y1, Y2, Y3, Y7, Y11, Y15 enthalten. Beispielsweise kann ein erster nach unten links orientierter Scan in der Lumatransformatoreinheit Y0 beginnen und nur Lumatransformatoreinheit Y0 erreichen. Ein zweiter nach unten links orientierter Scan kann in der Lumatransformatoreinheit Y1 beginnen (z. B. der Transformatoreinheit in der oberen Zeile und direkt links von der vorher beginnenden Lumatransformatoreinheit) und kann durch Scannen nach unten links die Lumatransformatoreinheiten Y1, Y4 erreichen. Ähnlich kann ein dritter nach unten links orientierter Scan in der Lumatransformatoreinheit Y2 beginnen (z. B. der Transformatoreinheit in der oberen Zeile und direkt links von der vorher beginnenden Lumatransformatoreinheit Y1) und kann durch Scannen nach unten links die Lumatransformatoreinheiten Y2, Y5, Y8 erreichen. Ein analoger vierter Scan kann die Lumatransformatoreinheiten Y3, Y6, Y9, Y12 erreichen. Der Scan, der die Lumatransformatoreinheit beginnt, kann sich nun in einer Wellenfrontreihenfolge zu Lumatransformatoreinheit Y7 nach unten bewegen und der fünfte nach unten links orientierte Scan kann die Lumatransformatoreinheiten Y7, Y10, Y13 erreichen. Ähnlich können sechste und siebte Scans die Lumatransformatoreinheiten Y11, Y14 bzw. Y15 erreichen.
  • Nun wird mit Blick auf 10C eine Verarbeitungsreihenfolge 1005 für die Transformatoreinheiten der Vorhersageeinheit 1000 basierend auf den Techniken bereitgestellt, die bezüglich der Verarbeitungsreihenfolgen 802, 902 besprochen werden. Beispielsweise kann die Verarbeitungsreihenfolge 1005 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten gebildet werden. In dem besprochenen Kontext kann diese Sortierung die Verarbeitungsreihenfolge 1005 wie folgt bereitstellen: Y0, U0, V0, Y1, U1, V1, Y4, U2, V2, Y2, U3, V3, Y5, Y8, Y3, Y6, Y9, Y12, Y7, Y10, Y13, Y11, Y14, Y15. 10C illustriert außerdem eine Übersetzung von der Verarbeitungsreihenfolge 1005 in die normative Codierungsreihenfolge 1006, die in der Reihenfolge erfolgt, wie oben besprochen: YO-Y15, U0-U3, V0-V3. Wie zu erkennen ist, führt die Durchführung der Intravorhersage in der Verarbeitungsreihenfolge 1005 zu weniger Leerlaufzeit und effizienterer Verarbeitung. Wie besprochen kann diese Verarbeitungsreihenfolge 1005 an einem oder beiden der Elemente Encoder und Decoder verwendet werden, auf Grundlage der Umsetzung eines Codierungspuffers wie hierin besprochen. Beispielsweise können die Transformatoreinheiten oder Blocks in einer Verarbeitungsreihenfolge 1005 in einen Encoderumwandlungspuffer 405 eingegeben werden (nach der Intraverarbeitung) und von dem Encoderumwandlungspuffer 405 in der normativen Codierungsreihenfolge 1006 für Entropiecodierung in einem standardkonformen Bitstream abgerufen werden. Ähnlich können Transformatoreinheiten oder Blocks in der normativen Codierungsreihenfolge 1006 in den Decoderumwandlungspuffer 605 eingegeben werden (nach Entropiedecodierung) und von dem Decoderumwandlungspuffer 605 in der Verarbeitungsreihenfolge 1005 für Intraverarbeitung wie hierin besprochen abgerufen werden.
  • In einer anderen Ausführungsform kann eine Codierungsreihenfolge auf Grundlage der Techniken erzeugt werden, die bezüglich der Verarbeitungsreihenfolgen 803, 903 besprochen werden. Beispielsweise kann eine Verarbeitungsreihenfolge durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit, einer Lumatransformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten oder aller verfügbaren Chromatransformatoreinheiten gebildet werden. In dem besprochenen Kontext kann diese Sortierung eine Codierungsreihenfolge wie folgt bereitstellen: Y0, U0, Y1, V0, Y4, U1, Y2, V1, Y5, U2, Y8, V2, Y3, U3, Y6, V3, Y9, Y12, Y7, Y10, Y13, Y11, Y14, Y15.
  • 11A und 11B illustriert ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit, um eine Codierungsreihenfolge bereitzustellen, die nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet sind. Beispielsweise kann die Verarbeitungsreihenfolge aus 11A und 11B mit Intravorhersagemodi kompatibel sein, die keine oberen rechten Samples verwenden, und ein Beispiel für ein 4:4:4-Farbsampling bereitstellen. Mit Verweis auf 10A kann eine beispielhafte Vorhersageeinheit 16 Transformatoreinheiten (YO-Y15) enthalten. Weiterhin kann die Vorhersageeinheit bei einem 4:4:4-Farbsampling die 16 Chromakanal-Eins-Transformatoreinheiten (U0-U15) und 16 Chromakanal-Zwei-Transformatoreinheiten (V0-V15) enthalten, die wie illustriert bezüglich der Lumatransformatoreinheiten der Vorhersageeinheit 1000 angeordnet sind. Die Transformatoreinheiten können jede geeignete Größe aufweisen, wie etwa eine Größe von 4x4-Pixel-Samples oder Transformationskoeffizienten. Weiterhin können, wie hierin besprochen, die illustrierten Transformatoreinheiten eine normative Codierungsreihenfolge oder standardbasierte Codierungsreihenfolge oder dergleichen in der folgenden Reihenfolge aufweisen: Y0-Y15, U0-U15, V0-V15.
  • Mit weiterem Bezug auf 10A können Lumatransformatoreinheiten in einer Wellenfrontreihenfolge gescannt werden, um eine Fortpflanzungsreihenfolge 1001 bereitzustellen, wie erklärt. Ähnlich können Chromakanal-Eins-Transformatoreinheiten und Chromakanal-Zwei-Transformatoreinheiten in der Wellenfrontreihenfolge eingescannt werden, um Chromakanalfortpflanzungsreihenfolgen bereitzustellen, die analog zu der Fortpflanzungsreihenfolge 1001 sind. Beispielsweise kann die Chromakanal-Eins-Fortpflanzungsreihenfolge U0, U1, U4, U2, U5, U8, U3, U6, U9, U12, U7, U10, U13, U11, U14, U15 sein und die Chromakanal-Zwei-Fortpflanzungsreihenfolge kann V0, V1, V4, V2, V5, V8, V3, V6, V9, V12, V7, V10, V13, V11, V14, V15 sein. Die Fortpflanzungsreihenfolge 1001 und die analogen Chromakanalfortpflanzungsreihenfolgen sind in 11A als Lumaverarbeitungsreihenfolge 1102, Chromakanal-Eins-Transformatoreinheitenreihenfolge 1103 und Chromakanal-Zwei-Transformatoreinheitenreihenfolge 1104 illustriert. Wie bezüglich 10A bis 10C besprochen, kann diese Transformatoreinheitensortierung eine Sortierung vorsehen, die nicht die Abhängigkeiten zwischen den Transformatoreinheiten basierend auf den Intravorhersagemodi verletzt, die obere rechte Samples nicht verwenden.
  • Nun wird mit Blick auf 11B eine Verarbeitungsreihenfolge 1105 für die Transformatoreinheiten der besprochenen Vorhersageeinheit (d.h. mit 4:4:4-Farbsampling mit 16 Lumablocks, 16 Chroma-Eins-Blocks und 16 Chroma-Zwei-Blocks) basierend auf den Techniken bereitgestellt, die bezüglich der Verarbeitungsreihenfolgen 802, 902 besprochen werden. Beispielsweise kann die Verarbeitungsreihenfolge 1105 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) gebildet werden. In dem illustrierten Beispiel mit gleichen Zahlen von Luma- und Chromatransformatoreinheiten, werden die Transformatoreinheiten gleichzeitig über solche Gruppierungstechniken aufgebraucht. In dem besprochenen Kontext kann diese Sortierung die Verarbeitungsreihenfolge 1005 wie folgt bereitstellen: Y0, U0, V0, Y1, U1, V1, Y4, U4, V4, Y2, U2, V2, Y5, U5, V5, Y8, U8, V8, Y3, U3, V3, Y6, U6, V6, Y9, U9, V9, Y12, U12, V12, Y7, U7, V7, Y10, U10, V10, Y13, U13, V13, Y11, U11, V11, Y14, U14, V14, Y15, U15, V15. Es wird angemerkt, dass die Transformatoreinheiten V9 und Y12 direkt nebeneinander liegen, wenn sie auch zum Zweck einer klareren Darstellung getrennt voneinander illustriert sind. Wie bezüglich 10C erklärt kann eine Übersetzung der Verarbeitungsreihenfolge 1105 auf eine normative Codierungsreihenfolge von Y0-Y15, U0-U15, V0-V15 durch einen Encoder und/oder Decoder bereitgestellt werden, der die hierin besprochenen Umwandlungspuffer verwendet.
  • Wie besprochen können die bezüglich 10A bis 10C und 11A und 11B besprochenen Verarbeitungsreihenfolgen mit den Intravorhersagemodi kompatibel sein, die keine oberen rechten Samples verwenden. Die Erklärung wendet sich nun Verarbeitungsreihenfolgen zu, die mit Intravorhersagemodi kompatibel sind, die obere rechte Samples verwenden.
  • 12A bis 12C illustriert ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit um eine Codierungsreihenfolge bereitzustellen, die nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet sind. Beispielsweise kann die Verarbeitungsreihenfolge aus 12A bis 12C mit Intravorhersagemodi kompatibel sein, die obere rechte Samples verwenden. Wie in 12A dargestellt, kann eine beispielhafte Vorhersageeinheit 1000 16 Transformatoreinheiten (Y0-Y15), vier Chromakanal-Eins-Transformatoreinheiten (U0-U4) und vier Chromakanal-Zwei-Transformatoreinheiten (V0-V4) enthalten. Das illustrierte Beispiele kann Transformatoreinheiten für ein 4:2:0 Farbsampling bereitstellen. Die illustrierten Transformatoreinheiten können jede geeignete Größe aufweisen, wie etwa eine Größe von 4x4-Pixel-Samples oder Transformationskoeffizienten. Weiterhin können, wie hierin besprochen, die illustrierten Transformatoreinheiten eine normative Codierungsreihenfolge oder standardbasierte Codierungsreihenfolge oder dergleichen in der folgenden Reihenfolge aufweisen: Y0-Y15, U0-U4, V0-V4.
  • Außerdem können, wie in 12A dargestellt, Lumatransformatoreinheiten der Vorhersageeinheit 1000 in einer modifizierten Wellenfrontreihenfolge gescannt werden, um eine Fortpflanzungsreihenfolge 1201 bereitzustellen. Beispielsweise können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in einer Wellenfrontreihenfolge gescannt werden, die modifiziert wurde, um Abhängigkeiten für obere rechte Samples zu enthalten, wie durch die Abhängigkeiten 1210 illustriert. Die Abhängigkeiten 1210 sind durch Pfeile innerhalb der Vorhersageeinheit 1000 illustriert, sodass durchgezogene Pfeile der Abhängigkeiten 1210 auf Abhängigkeiten der Transformatoreinheit hinweisen, und gestrichelte Linien auf unabhängige Transformatoreinheiten hinweisen (z. B. solche ohne Abhängigkeiten). Beispielsweise können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in der folgenden Reihenfolge eingescannt werden. Der Scan kann von einer oberen linken Transformatoreinheit (Y0) starten und sich in Wellenfrontweise nach rechts bewegen, bis eine Abhängigkeit erreicht wird (d. h. Y5 abhängig von Y2, dann wird der Abhängigkeit gefolgt (um Y5 im Scan bereitzustellen). Der Scan kehrt dann in Y3 zur Wellenfrontreihenfolge zurück, folgt der Abhängigkeit zu Y6 und Y9, kehrt bei Y7 zum Wellenfrontscan zurück, folgt der Abhängigkeit zu Y10, kehrt bei Y11 zum Wellenfrontscan zurück, folgt der Abhängigkeit zu Y14 und kehrt bei Y15 zum Wellenfrontscan zurück. Ein zweiter modifizierter Wellenfrontscan wird dann beginnend in Y4 ausgeführt, und macht mit den nächsten verfügbaren Transformatoreinheiten weiter, in der Reihenfolge: Y8, Y12, Y13. Beispielsweise erreicht der erste modifizierte Wellenfrontscan die folgenden Lumatransformatoreinheiten in der Reihenfolge: Y0, Y1, Y2, Y5, Y3, Y6, Y9, Y7, Y10, Y11, Y14, Y15 wie in Scan 1 (S1) der Fortpflanzungsreihenfolge 1201 gezeigt. Der zweite modifizierte Wellenfrontscan erreicht die folgenden Lumatransformatoreinheiten in der Reihenfolge: Y4, Y8, Y12, Y13 wie in Scan 2 (S2) gezeigt. Weiterhin werden die Lumatransformatoreinheiten der S2 an denen von S1 ausgerichtet, sodass die Lumatransformatoreinheiten aus S2 so früh wie möglich bereitgestellt werden, mit der Einschränkung, dass sie Abhängigkeiten 1210 nicht verletzen können. Beispielsweise ist die Lumatransformatoreinheit Y4 abhängig von Y0 und Y1, kann jedoch gleichzeitig wie Y2 verarbeitet werden, da keine Abhängigkeit dazwischen vorliegt. Ähnlich muss die Lumatransformatoreinheit Y8 nach Y5 verarbeitet werden, kann jedoch gleichzeitig wie Y3 verarbeitet werden, die Lumatransformatoreinheit Y12 muss nach Y9 verarbeitet werden, kann jedoch gleichzeitig mit Y7 verarbeitet werden, und die Lumatransformatoreinheit Y13 muss nach Y10 verarbeitet werden, kann jedoch gleichzeitig mit Y3 verarbeitet werden.
  • Wie in 12B dargestellt, können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in der Fortpflanzungsreihenfolge 1201 dann auf eine Lumaverarbeitungsreihenfolge 1202 übersetzt werden, sodass die Lumaverarbeitungsreihenfolge 1202 eine Zeitreihenfolge für die Verarbeitung bereitstellt, wie hierin mit bereitgestellten Zeitlücken besprochen, um Nachbarabhängigkeiten zu erfüllen. Beispielsweise kann die Lumaverarbeitungsreihenfolge 1202 aus der Fortpflanzungsreihenfolge 1201 erzeugt werden, indem die Fortpflanzungsreihenfolge 1201 beginnend an der linken Seite der Fortpflanzungsreihenfolge 1201 gescannt wird, und dann jede Spalte vertikal von oben nach unten gescannt wird, und sich der Vorgang von links nach rechts zur nächsten Spalte bewegt (entlang einer Zeile), die Spalte vertikal scannt und so weiter. Beispielsweise kann ein Scan der ersten Spalte die Lumatransformatoreinheit Y0 bereitstellen, der Scan der zweiten Spalte kann die Lumatransformatoreinheit Y1 bereitstellen, der Scan der dritten Spalte kann die Lumatransformatoreinheiten Y2, Y4 bereitstellen und so weiter, wie in der Lumaverarbeitungsreihenfolge 1202 gezeigt. Dieses geänderte Wellenfrontscannen, gefolgt durch spaltenweises Scannen der Lumatransformatoreinheiten, kann eine Sortierung vorsehen, die nicht die Abhängigkeiten zwischen den Lumatransformatoreinheiten basierend auf den Intravorhersagemodi verletzt, die obere rechte Samples verwenden. Außerdem können, wie in 12B dargestellt, Chromakanal-Eins-Transformatoreinheiten in einer Chromakanal-Eins-Transformatoreinheitenreihenfolge 1203 bereitgestellt werden, die der normativen Codierungsreihenfolge entspricht. Ähnlich können Chromakanal-Zwei-Transformatoreinheiten in einer Chromakanal-Zwei-Transformatoreinheitenreihenfolge 1204 bereitgestellt werden, die der normativen Codierungsreihenfolge entspricht.
  • Nun wird mit Blick auf 12C eine Verarbeitungsreihenfolge 1205 für die Transformatoreinheiten der Vorhersageeinheit 1000 basierend auf den Techniken bereitgestellt, die bezüglich der Verarbeitungsreihenfolgen 802, 902 besprochen werden. Beispielsweise kann die Verarbeitungsreihenfolge 1205 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten gebildet werden. In dem besprochenen Kontext kann diese Sortierung die Verarbeitungsreihenfolge 1205 wie folgt bereitstellen: Y0, U0, V0, Y1, U1, V1, Y2, U2, V2, Y4, Y5, U3, V3, Y3, Y8, Y6, Y9, Y7, Y12, Y10, Y11, Y13, Y14, Y15. Wie bezüglich 10C besprochen, kann die Verarbeitungsreihenfolge 1205 in oder aus einer normativen Codierungsreihenfolge 1006 (YO-Y15, U0-U3, V0-V3) übersetzt werden, sodass Intraverarbeitung mit weniger Leerlaufzeit erfolgen kann. Diese Verarbeitungsreihenfolge 1205 kann an einem oder beiden der Elemente Encoder und Decoder, auf Grundlage der Umsetzung eines Codierungspuffers verwendet werden.
  • In einer anderen Ausführungsform kann eine Codierungsreihenfolge auf Grundlage der Techniken erzeugt werden, die bezüglich der Verarbeitungsreihenfolgen 803, 903 besprochen werden. Beispielsweise kann eine Verarbeitungsreihenfolge aus den Reihenfolgen 1202, 1203, 1204 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit, einer Lumatransformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten oder aller verfügbaren Chromatransformatoreinheiten gebildet werden. In dem besprochenen Kontext kann diese Sortierung eine Codierungsreihenfolge wie folgt bereitstellen: Y0, U0, Y1, V0, Y2, U1, Y4, V1, Y5, U2, Y3, V2, Y8, U3, Y6, V3, Y6, Y9, Y7, Y12, Y10, Y11, Y13, Y14, Y15.
  • 13A bis 13C illustrieren ein beispielhaftes Scannen und Sortieren von Transformatoreinheiten einer Vorhersageeinheit um eine Codierungsreihenfolge bereitzustellen, die nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet sind. Beispielsweise kann die Verarbeitungsreihenfolge aus 13A bis 13C mit Intravorhersagemodi kompatibel sein, die keine oberen rechten Samples verwenden und kann eine weiter optimierte Verarbeitungsreihenfolge bereitstellen, indem Lücken minimiert werden und die Verarbeitungsverdichtung optimiert wird. Wie in 13A dargestellt, kann eine beispielhafte Vorhersageeinheit 1000 16 Transformatoreinheiten (Y0-Y15), vier Chromakanal-Eins-Transformatoreinheiten (U0-U4) und vier Chromakanal-Zwei-Transformatoreinheiten (V0-V4) enthalten. Das illustrierte Beispiel kann Transformatoreinheiten für ein 4:2:0 Farbsampling bereitstellen. Die illustrierten Transformatoreinheiten können jede geeignete Größe aufweisen, wie etwa eine Größe von 4x4-PixelSamples oder Transformationskoeffizienten. Weiterhin können, wie hierin besprochen, die illustrierten Transformatoreinheiten eine normative Codierungsreihenfolge oder standardbasierte Codierungsreihenfolge oder dergleichen in der folgenden Reihenfolge aufweisen: YO-Y15, U0-U4, V0-V4.
  • Außerdem können, wie in 13A dargestellt, Lumatransformatoreinheiten der Vorhersageeinheit 1000 in einer modifizierten Wellenfrontreihenfolge gescannt werden, um eine Fortpflanzungsreihenfolge 1201 bereitzustellen. Beispielsweise können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in einer Wellenfrontreihenfolge gescannt werden, die modifiziert wurde, um die Effizienz zu erhöhen. Beispielsweise können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in der folgenden Reihenfolge eingescannt werden. Der Scan kann bei einer oberen linken Transformatoreinheit (Y0) beginnen und sich in einer Wellenfrontweise nach rechts durch eine obere rechte Transformatoreinheit (Y3) bewegen und kann sich dann diagonal nach unten links bewegen, um die Effizienz für die Transformatoreinheit Y6 zu verbessern, und dann wiederholt nach rechts und nach unten links. Ein zweiter Scan kann dann ausgeführt werden, der an der oberen linken verfügbaren Transformatoreinheit (Y4) beginnt, und sich wiederholt nach rechts und unten links bewegt, bis alle Transformatoreinheiten eingescannt sind. Beispielsweise erreicht der erste Scan die folgenden Lumatransformatoreinheiten in der Reihenfolge: Y0, Y1, Y2, Y3, Y6, Y7, Y10, Y11, Y14, wie in Scan 1 (S1) der Fortpflanzungsreihenfolge 1301 gezeigt. Der zweite Scan erreicht die folgenden Lumatransformatoreinheiten in der Reihenfolge: Y4, Y5, Y8, Y9, Y12, Y13 wie in Scan 2 (S2) gezeigt.
  • Wie in 13B dargestellt, können Lumatransformatoreinheiten der Vorhersageeinheit 1000 in der Fortpflanzungsreihenfolge 1201 dann auf eine Lumaverarbeitungsreihenfolge 1302 übersetzt werden, sodass die Lumaverarbeitungsreihenfolge 1302 eine Zeitreihenfolge für die Verarbeitung bereitstellt, wie hierin mit bereitgestellten Zeitlücken besprochen, um Nachbarabhängigkeiten zu erfüllen. Beispielsweise kann die Lumaverarbeitungsreihenfolge 1302 aus der Fortpflanzungsreihenfolge 1301 erzeugt werden, indem die Fortpflanzungsreihenfolge 1301 beginnend an der linken Seite der Fortpflanzungsreihenfolge 1301 gescannt wird, und dann jede Spalte vertikal von oben nach unten gescannt wird, und sich der Vorgang von links nach rechts zur nächsten Spalte bewegt (entlang einer Zeile), die Spalte vertikal scannt und so weiter. Beispielsweise kann ein Scan der ersten Spalte die Lumatransformatoreinheit Y0 bereitstellen, der Scan der zweiten Spalte kann die Lumatransformatoreinheit Y1 bereitstellen, der Scan der dritten Spalte kann die Lumatransformatoreinheiten Y2, Y4 bereitstellen und so weiter, wie in der Lumaverarbeitungsreihenfolge 1302 gezeigt. Ein solcher modifizierter Wellenfrontscan, gefolgt vom spaltenweisen Scan der Lumatransformatoreinheiten, kann eine Sortierung bereitstellen, die für die Maximierung der Verarbeitungsverdichtung effizient ist. Außerdem können, wie in 13B dargestellt, Chromakanal-Eins-Transformatoreinheiten in einer Chromakanal-Eins-Transformatoreinheitenreihenfolge 1303 bereitgestellt werden, die der normativen Codierungsreihenfolge entspricht. Ähnlich können Chromakanal-Zwei-Transformatoreinheiten in einer Chromakanal-Zwei-Transformatoreinheitenreihenfolge 1304 bereitgestellt werden, die der normativen Codierungsreihenfolge entspricht.
  • Nun wird mit Blick auf 13C eine Verarbeitungsreihenfolge 1305 für die Transformatoreinheiten der Vorhersageeinheit 1000 basierend auf den Techniken bereitgestellt, die bezüglich der Verarbeitungsreihenfolgen 802, 902 besprochen werden. Beispielsweise kann die Verarbeitungsreihenfolge 1305 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten gebildet werden. In dem besprochenen Kontext kann diese Sortierung die Verarbeitungsreihenfolge 1205 wie folgt bereitstellen: Y0, U0, V0, Y1, U1, V1, Y2, Y4, Y3, U3, V3, Y5, Y6, Y8, Y7, Y9, Y10, Y12, Y11, Y13, Y14, Y15. Wie anderswo hierin besprochen, kann die Verarbeitungsreihenfolge 1305 in oder aus einer normativen Codierungsreihenfolge 1006 (Y0-Y15, U0-U3, V0-V3) übersetzt werden, sodass Intraverarbeitung mit weniger Leerlaufzeit erfolgen kann. Diese Verarbeitungsreihenfolge 1205 kann an einem oder beiden der Elemente Encoder und Decoder, auf Grundlage der Umsetzung eines Codierungspuffers verwendet werden.
  • In einer anderen Ausführungsform kann eine Codierungsreihenfolge auf Grundlage der Techniken erzeugt werden, die bezüglich der Verarbeitungsreihenfolgen 803, 903 besprochen werden. Beispielsweise kann eine Verarbeitungsreihenfolge aus den Reihenfolgen 1302, 1303, 1304 durch Packen von so vielen Gruppen einer Lumatransformatoreinheit, einer Chromakanal-Eins-Transformatoreinheit, einer Lumatransformatoreinheit und einer Chromakanal-Zwei-Transformatoreinheit wie verfügbar (z. B. bis eine dieser Transformatoreinheiten ausgeht) und dann Packen aller verfügbaren Lumatransformatoreinheiten oder aller verfügbaren Chromatransformatoreinheiten gebildet werden. In dem besprochenen Kontext kann diese Sortierung eine Codierungsreihenfolge wie folgt bereitstellen: Y0, U0, Y1, V0, Y2, U1, Y4, V1, Y3, U2, Y5, V2, Y6, U3, Y8, V3, Y5, U2, Y3, Y5, Y6, Y8, Y7, Y9, Y10, Y12, Y11, Y13, Y14, Y15.
  • Die besprochenen Systeme und die hierin besprochenen Interleavingtechniken können verbesserte Verarbeitung an einem Encoder und/oder Decoder bereitstellen, während sie standardkonforme Bitstreams erzeugen oder darauf ausgeführt werden.
  • 14 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 1400 für Videocodierung bereitstellt, einschließlich Interleavingtransformatorblocks nach Farbe in eine Verarbeitungsreihenfolge, angeordnet nach mindestens einigen Umsetzungen der vorliegenden Offenbarung. Der Prozess 1400 kann eine oder mehrere Operationen 1401 bis 1408 enthalten wie in 14 illustriert. Der Prozess 1400 kann mindestens einen Teil des Videocodierungsprozesses bilden. In einem nicht einschränkenden Beispiel kann der Prozess 1400 mindestens einen Teil eines Videocodierungsprozesses bilden, der durch eine Vorrichtung oder ein System ausgeführt wird, die hierin besprochen werden, wie etwa Encoder 400 und/oder Encoder 600. Weiterhin wird der Prozess 1400 hierin mit Verweis auf System 1500 aus 15 beschrieben. In einigen Ausführungsformen können die Operationen 1401 bis 1404 durch einen Encoder durchgeführt werden und die Operationen 1405 bis 1408 können durch einen Decoder durchgeführt werden, der von dem Encoder getrennt ist.
  • 15 ist ein illustratives Diagramm, das ein beispielhaftes System 1500 für Videocodierung bereitstellt, einschließlich Interleavingtransformatorblocks nach Farbe in eine Verarbeitungsreihenfolge, angeordnet nach mindestens einigen Umsetzungen der vorliegenden Offenbarung. Wie in 15 dargestellt, kann das System 1500 einen zentralen Prozessor 1501, einen Videoprozessor 1502, einen Speicher 1503 (z. B. elektronischen Speicher, Computerspeicher, Computerspeicherplatz oder dergleichen) und einen Umwandlungspuffer 1504 enthalten. Wie ebenfalls dargestellt, kann der Videoprozessor 1502 einen Encoder 1511 und/oder einen Decoder 1512 enthalten oder umsetzen. In dem Beispiel aus System 1500 kann der Speicher 1503 Videodaten oder entsprechende Inhalte speichern, wie etwa Eingabevideo, Videodaten, Videosequenzen, Bilder, Bilddaten, Pixelsamples, Transformationskoeffizienten, Bitstreamdaten und/oder alle anderen Daten, wie hierin besprochen.
  • Wie dargestellt, kann in einigen Beispielen Encoder 1511 und/oder ein Decoder 1512 über den Videoprozessor 1502 umgesetzt sein. In anderen Beispielen können ein oder mehrere oder Abschnitte von Encoder 1511 und/oder einem Decoder 1512 über den zentralen Prozessor 1501 oder eine andere Verarbeitungseinheit umgesetzt sein, wie etwa einen Bildprozessor, einen Grafikprozessor oder dergleichen. Weiterhin kann in einigen Ausführungsformen das System 1500 nur Encoder 1511 enthalten und kann als ein Encodersystem gekennzeichnet sein. In anderen Ausführungsformen kann das System 1500 nur Encoder 1512 enthalten und kann als ein Encodersystem gekennzeichnet sein. Der Encoder 1511 kann alle geeigneten Merkmale enthalten, wie die aus Encoder 400 und/oder allen anderen Encoderkomponenten, wie etwa Bewegungsschätzungs- und Kompensationsmodulen, In-Schleifen-Filtermodulen und derbgleichen. Ähnlich kann der Encoder 1512 alle geeigneten Merkmale enthalten, wie die aus Decoder 600 und/oder allen anderen Encoderkomponenten, wie etwa Bewegungsschätzungs- und Kompensationsmodulen, In-Schleifen-Filtermodulen und derbgleichen.
  • Der Umwandlungspuffer 1504 kann jeden geeigneten Speicher oder Speicherplatz enthalten, wie etwa flüchtige oder nichtflüchtige Speicherressourcen. Beispielsweise kann der Umwandlungspuffer 1504 einen Encoderumwandlungspuffer 405 in Zusammenhang mit dem Encoder 1511 und/oder einen Decoderumwandlungspuffer 605 in Zusammenhang mit dem Decoder 1512 vorsehen. Wie bei dem Encoder 1511 und Decoder 1512 kann der Umwandlungspuffer 1504 einen Decoderumwandlungspuffer und/oder einen Encoderumwandlungspuffer umsetzen. Wie illustriert, kann der Umwandlungspuffer getrennt von einem Videoprozessor 1502 (z. B. auf einem separaten Chip bereitgestellt werden). In anderen Ausführungsformen kann der Umwandlungspuffer 1504 auf demselben Chip wie der Videoprozessor 1502 bereitgestellt werden (z. B. als ein Paket mit einem System auf einem Chip oder als einen Onboard-Speicher des Videoprozessors).
  • Der Videoprozessor 1502 kann jede Anzahl und Art von Video-, Bild- oder Grafikverarbeitungseinheiten enthalten, die die hierin besprochenen Operationen bereitstellen können. Solche Operationen können über Software oder Hardware oder eine Kombination daraus umgesetzt werden. Beispielsweise kann der Videoprozessor 1502 Schaltkreise enthalten, die vorgegeben sind, um Video, Bilder, Bilddaten oder dergleichen zu manipulieren, die aus dem Speicher 1503 erhalten wurden. Der zentrale Prozessor 1501 kann jede Anzahl und Art von Verarbeitungseinheiten oder Modulen enthalten, die Steuerung und andere High-Level-Funktionen für System 1500 bereitstellen können und/oder beliebige hierin besprochene Operationen bereitstellen können. Speicher 1503 kann jede Art von Speicher sein, wie etwa flüchtiger Speicher (z. B. statischer Direktzugriffsspeicher (SRAM), dynamischer Direktzugriffsspeicher (DRAM), usw.) oder nichtflüchtiger Speicher (z. B. Flashspeicher usw.) und so weiter. In einem nicht beschränkenden Beispiel kann der Speicher 1503 durch einen Cachespeicher implementiert sein. Der Umwandlungspuffer 1504 kann separat vom Speicher 1503 implementiert sein (wie dargestellt) oder als Abschnitt des Speichers 1503.
  • In einer Ausführungsform können ein oder mehrere Abschnitte des Encoders 1511 und/oder ein Decoder 1512 über eine Ausführungseinheit (EU) umgesetzt sein. Die EU kann beispielsweise programmierbare Logik oder Schaltkreise enthalten, wie etwa einen Logikkern oder -kerne, die eine große Auswahl an programmierbaren Logikfunktionen bereitstellen können. In einer Ausführungsform können ein oder mehrere Abschnitte des Encoders 1511 und/oder ein Decoder 1512 über spezielle Hardware wie Schaltungen mit fester Funktion und dergleichen umgesetzt sein. Schaltungen mit fester Funktion können spezielle Logik oder Schaltungen umfassen und können einen Satz fester Funktionseingangspunkte bereitstellen, die der speziellen Logik für einen festen Zweck oder eine Funktion zugeordnet sein können.
  • Zurück zur Besprechung von 14, kann Prozess 1400 mit Operation 1401 beginnen, wo mehrere Blocks, die einer Codierungseinheit eines Videorahmens entsprechen, in einer Verarbeitungsreihenfolge codiert werden können, um entsprechende mehrere Blocks quantisierter Resttransformationskoeffizienten zu erzeugen. Die Verarbeitungsreihenfolge, die in Operation 1401 umgesetzt ist, kann jede Verarbeitungsreihenfolge enthalten, wie hierin besprochen. In einer Ausführungsform können Codierungsaufgaben wie Modusauswahl oder dergleichen erfolgen und die Blocks (z. B. Transformatorblocks oder -einheiten) können geinterleavt werden, wie hierin besprochen, bevor die Intraverarbeitung stattfindet. In einer Ausführungsform können solche Codierungsaufgaben in der Verarbeitungsreihenfolge kann durchgeführt werden. Die Codierung der Blocks in der Verarbeitungsreihenfolge kann jede geeignete Technik oder geeigneten Techniken enthalten. Beispielsweise kann die Codierung eines oder mehrere aus Resterzeugungs-, Vorwärtstransformations-, Vorwärtsquantisierungs-, Inversquantifizierungs-, Inverstransformations- und Intravorhersageoperationen umfassen. In einer Ausführungsform kann Operation 1401 durch den Encoder 1511 erfolgen, wie durch den Videoprozessor 1502 umgesetzt.
  • Wie besprochen, kann die Verarbeitungsreihenfolge, die in Operation 1401 umgesetzt ist, jede Verarbeitungsreihenfolge enthalten, wie hierin besprochen. In einer Ausführungsform enthält die Verarbeitungsreihenfolge einen ersten Lumablock, direkt gefolgt durch einen ersten Chromakanal-Eins-Block. Beispielsweise kann der erste Lumablock ein räumlich oberer linker Lumatransformatorblock der Codierungseinheit sein. Der erste Chromakanal-Eins-Block kann der einzige Chromakanal-Eins-Block der Codierung sein oder ein räumlich oberer linker Lumatransformatorblock der Codierungseinheit oder dergleichen.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge den ersten Lumablock enthalten, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der einen oder mehreren Lumablocks wie bezüglich der Verarbeitungsreihenfolge 802 und anderswo hierin besprochen. Beispielsweise kann der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entsprechen, und der zweite Lumablock kann einer zweiten Region der Codierungseinheit entsprechen, die sich direkt rechts von der oberen linken Region befindet.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge den ersten Lumablock enthalten, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der einen oder mehreren Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der einen oder mehreren Lumablocks wie bezüglich der Verarbeitungsreihenfolge 803 und anderswo hierin besprochen. Beispielsweise kann der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entsprechen, und der zweite Lumablock kann einer zweiten Region der Codierungseinheit entsprechen, die sich direkt rechts von der oberen linken Region befindet, und der dritte Lumablock kann einer dritten Region der Codierungseinheit entsprechen, die sich direkt unter der oberen linken Region befindet.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge mehrere fortlaufende Gruppen umfassen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block und eine nachfolgende fortlaufende Gruppe verbleibender Lumablocks wie bezüglich der Verarbeitungsreihenfolge 803 und anderswo hierin besprochen. In einer Ausführungsform umfasst die Verarbeitungsreihenfolge mehrere fortlaufende Gruppen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block und eine nachfolgende fortlaufende Gruppe verbleibender Lumablocks wie bezüglich der Verarbeitungsreihenfolge 802 und anderswo hierin besprochen.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge Lumablocks, Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks enthalten, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierten Scans angeordnet sind, wobei ein erster der mehreren nach unten links angeordneten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt, wie bezüglich der Verarbeitungsreihenfolge 1005 und anderswo hierin besprochen. In einer Ausführungsform kann die Verarbeitungsreihenfolge Lumablocks enthalten, die basierend auf einem räumlichen Scan der Lumablocks sortiert sind, sodass der räumliche Scan einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block direkt rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks enthalten, wie bezüglich der Verarbeitungsreihenfolgen 1005, 1105 und anderswo hierin besprochen.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge Lumablocks enthalten, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks enthält, wie bezüglich der Verarbeitungsreihenfolge 1205 und anderswo hierin besprochen.
  • Die Verarbeitung kann in Operation 1402 fortgeführt werden, wobei die Blocks von der Verarbeitungsreihenfolge, die bezüglich der Operation 1401 besprochen wurde, auf eine normative Codierungsreihenfolge geinterleavt werden können. Beispielsweise kann die normative Codierungsreihenfolge jede standardbasierte Codierungsreihenfolge oder dergleichen sein. In einer Ausführungsform können Transformatorblocks (z. B. quantisierte restquantisierte Koeffizienten) von dem Videoprozessor 1502 in der Verarbeitungsreihenfolge auf dem Umwandlungspuffer 1504 gespeichert werden und von dem Umwandlungspuffer 1504 an den Videoprozessor 1502 in der normativen Codierungsreihenfolge für die weitere Verarbeitung abgerufen werden.
  • Die Verarbeitung kann in Operation 1403 fortgesetzt werden, wobei die Blocks in der normativen Codierungsreihenfolge entropiecodiert sein können. In einer Ausführungsform können die Transformatorblocks (z. B. quantisierte restquantisierte Koeffizienten) durch den Encoder 1511 in der normativen Codierungsreihenfolge entropiecodiert sein, um einen mit Standards (z. B. AVC, HEVC, AV1, VP9, oder dergleichen) konformen Bitstream zu erzeugen. Die Entropiecodierung kann unter Verwendung einer geeigneten Technik oder mehrerer Techniken erfolgen, wie etwa Samples-to-Bin/Bit-Verarbeitung oder dergleichen.
  • Die Verarbeitung kann in Operation 1404 fortgeführt werden, wo der Bitstream, der in Operation 1403 erzeugt wird, gespeichert, übertragen oder dergleichen werden kann. In einer Ausführungsform kann der Bitstream im Speicher 1503 gespeichert werden. In einer Ausführungsform kann der Bitstream an einen externen Speicher, eine externe Decodervorrichtung oder ein System, mehrere externe Decodervorrichtungen oder Systeme oder dergleichen übertragen werden.
  • Wie besprochen können in einigen Ausführungsformen die Operationen 1401 bis 1404 durch eine Encodervorrichtung oder ein System ausgeführt werden, die /das von einer Decodervorrichtung oder einem System getrennt ist, die/das die Operationen 1405 bis 1408 ausführt.
  • Die Verarbeitung kann in Operation 1405 an derselben oder einer getrennten Vorrichtung fortgesetzt werden, wobei ein Bitstream zur Verarbeitung empfangen werden kann. Der Bitstream kann derselbe Bitstream sein, wie bezüglich der Operation 1404 besprochen, oder kann ein anderer Bitstream sein, der unter Verwendung der besprochenen Techniken erzeugt wurde, oder nicht. In jedem Fall kann der Bitstream, der in Operation 1405 empfangen wurde, ein mit Standards (z. B. AVC, HEVC, AV1, VP9 oder dergleichen) konformer Bitstream sein, der Blocks in einer normativen Codierungsreihenfolge aufweist. Beispielsweise können die Blocks quantisierte Resttransformationskoeffizienten sein, die einer Codierungseinheit eines Videorahmens in einer normativen Codierungsreihenfolge entsprechen. In einer Ausführungsform enthält die normative Codierungsreihenfolge zwei oder mehr direkt angrenzende Lumablocks, gefolgt durch einen oder mehrere Chromakanal-Eins-Blocks, gefolgt von einem oder mehreren Chromakanal-Zwei-Blocks. Beispielsweise können die Blocks basierend auf einem Rasterscan der Lumablocks sortiert sein, gefolgt durch einen Rasterscan der Chromakanal-Eins-Blocks, gefolgt durch einen Rasterscan der Chromakanal-Zwei-Blocks.
  • Die Verarbeitung kann in Operation 1406 fortgesetzt werden, wobei die Blocks aus der normativen Codierungsreihenfolge in eine Verarbeitungsreihenfolge geinterleavt oder übersetzt werden können. Wie besprochen, können die Blocks quantisierter Resttransformationskoeffizienten enthalten, die einer Codierungseinheit eines Videorahmens entsprechen. Die Verarbeitungsreihenfolge kann jede hierin besprochene Verarbeitungsreihenfolge enthalten. In einer Ausführungsform enthält die Verarbeitungsreihenfolge mindestens einen ersten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Eins-Block der einen oder mehreren Chromakanal-Eins-Blocks. In einer Ausführungsform können Transformatorblocks (z. B. quantisierte restquantisierte Koeffizienten) von dem Videoprozessor 1502 in der normativen Codierungsreihenfolge auf dem Umwandlungspuffer 1504 gespeichert werden und von dem Umwandlungspuffer 1504 an den Videoprozessor 1502 in der Verarbeitungsreihenfolge für die weitere Verarbeitung abgerufen werden.
  • Wie besprochen, kann die Verarbeitungsreihenfolge, die in Operation 1406 umgesetzt ist, jede Verarbeitungsreihenfolge enthalten, wie hierin besprochen. In einer Ausführungsform kann die Verarbeitungsreihenfolge den ersten Lumablock enthalten, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks wie bezüglich der Verarbeitungsreihenfolge 802 und anderswo hierin besprochen. Beispielsweise kann der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entsprechen, und der zweite Lumablock kann einer zweiten Region der Codierungseinheit entsprechen, die sich direkt rechts von der oberen linken Region befindet.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge den ersten Lumablock enthalten, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehr Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks wie bezüglich der Verarbeitungsreihenfolge 803 und anderswo hierin besprochen. Beispielsweise entspricht der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit, und der zweite Lumablock entspricht einer zweiten Region der Codierungseinheit, die sich direkt rechts von der oberen linken Region befindet, und der dritte Lumablock entspricht einer dritten Region der Codierungseinheit, die sich direkt unter der oberen linken Region befindet.
  • In einer Ausführungsform kann das Interleaven der Blocks die Bereitstellung fortlaufender Gruppen umfassen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks wie bezüglich der Verarbeitungsreihenfolge 802 und anderswo hierin besprochen. In einer Ausführungsform kann das Interleaving der Blocks die Bereitstellung einer oder mehrerer fortlaufender Gruppen umfassen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks wie bezüglich der Verarbeitungsreihenfolge 803 und anderswo hierin besprochen.
  • In einer Ausführungsform umfasst die Verarbeitungsreihenfolge die Lumablocks, die räumlich in einer räumlichen Wellenfrontreihenfolge bezüglich der Codierungseinheit gescannt und basierend auf benachbarten Abhängigkeiten unter den Lumablocks sortiert wurden, wie bezüglich der Verarbeitungsreihenfolge 1205 und anderswo hierin besprochen. In einer Ausführungsform kann die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks enthalten, jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans angeordnet sind, wobei ein erster der mehreren nach unten links angeordneten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt, wie bezüglich der Verarbeitungsreihenfolge 1005 und anderswo hierin besprochen.
  • In einer Ausführungsform kann die Verarbeitungsreihenfolge die Lumablocks enthalten, die basierend auf einem räumlichen Scan der Lumablocks angeordnet sind, wobei der räumliche Scan einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block direkt rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks enthält, wie bezüglich der Verarbeitungsreihenfolge 1005, 1105 und anderswo hierin besprochen.
  • In einer Ausführungsform umfasst die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks enthält, wie bezüglich der Verarbeitungsreihenfolge 1205 und anderswo hierin besprochen.
  • Die Verarbeitung kann in Operation 1407 fortgesetzt werden, wobei die Intradecodierung auf die Blocks der Verarbeitungsreihenfolge ausgeführt werden kann, um eine rekonstruierte Codierungseinheit zu ersetzen, die die rekonstruierten Blocks enthält. In einer Ausführungsform enthält die Intradecodierung die Durchführung von Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die Blocks (z. B. Blocks quantisierter Koeffizienten) in der Verarbeitungsreihenfolge zum Erzeugen einer rekonstruierten Codierungseinheit, die den mehreren Blocks quantisierter Resttransformationskoeffizienten entspricht.
  • Die Verarbeitung kann in Operation 1408 fortgeführt werden, wobei die rekonstruierte Codierungseinheit, wie bezüglich der Operation 1407 besprochen, verwendet werden kann, um einen rekonstruierten Rahmen zu erzeugen, der einem Benutzer angezeigt, in einem Speicher gespeichert werden kann, oder dergleichen. Die Rahmenrekonstruktion kann unter Verwendung einer oder mehrerer geeigneter Techniken erfolgen. Beispielsweise können die Operationen 1405-1407 für mehrere Codierungseinheiten durchgeführt werden, und solche Codierungseinheiten, sowie inter-vorhergesagte Codierungseinheiten und dergleichen, können kombiniert werden, um einen oder mehrere Rahmen einer Videosequenz zu rekonstruieren. Die Videosequenz kann gespeichert und/oder an eine Anzeige übertragen werden, um einem Benutzer gezeigt zu werden.
  • Der Prozess 1400 oder Abschnitte davon können eine beliebige Anzahl von Malen wiederholt werden, entweder in Reihe oder parallel zueinander, und für eine beliebige Anzahl von Videosequenzen, Videorahmen, Codierungseinheiten oder dergleichen. Wie besprochen kann Prozess 1400 Videocodierung vorsehen, einschließlich Interleaving von Transformatorblocks nach Farbe in eine Verarbeitungsreihenfolge und Verarbeitung in der Verarbeitungsreihenfolge (auf der Encoder- und/oder Decoderseite). Beispielsweise können die besprochenen Techniken für die Videocodierung verbesserte Effizienz und Durchsatz für Intracodierungsoperationen bereitstellen.
  • Verschiedene Komponenten der hierin beschriebenen Systeme können in Software, Firmware, und/oder Hardware und/oder Kombinationen daraus umgesetzt werden. Beispielsweise können verschiedene Komponenten der Systeme oder Vorrichtungen, die hierin besprochen werden zumindest teilweise durch Hardware eines Rechner-System-on-a-Chip (SoC) bereitgestellt werden, das in einem Rechnersystem wie beispielsweise einem Smartphone zu finden ist. Fachleute können erkennen, dass die hierin beschriebenen Systeme weitere Komponenten enthalten können, die nicht in den entsprechenden Figuren dargestellt sind. Beispielsweise können die hierin besprochenen Systeme weitere Komponenten wie Bitstream-Multiplexer- oder - Demultiplexermodule und ähnliches enthalten, die im Interesse der Klarheit nicht dargestellt sind.
  • Während die Umsetzung der beispielhaften Prozesse, die hierin besprochen wurden, die Durchführung aller Operationen in der illustrierten Reihenfolge enthalten kann, ist die vorliegende Offenbarung diesbezüglich nicht eingeschränkt, und in verschiedenen Beispielen kann die Umsetzung der beispielhaften Prozesse hierin nur einen Untersatz der dargestellten Operationen, Operationen, die in anderer Reihenfolge als illustriert ausgeführt werden, oder weitere Operationen enthalten.
  • Weiterhin können jede eine oder mehrere der hierin besprochenen Operationen in Reaktion auf Anweisungen ausgeführt werden, die durch ein oder mehrere Computerprogrammprodukte bereitgestellt werden. Solche Programmprodukte können Signalträgermedien enthalten, die Anweisungen bereitstellen, die bei Ausführung beispielsweise durch einen Prozessor die hierin beschriebene Funktion bereitstellen können. Die Computerprogrammprodukte können in jeder Form einer oder mehrerer maschinenlesbarer Medien bereitgestellt werden. So kann etwa ein Prozessor, der eine oder mehrere Grafikverarbeitungseinheiten oder einen oder mehrere Prozessorkerne enthält, einen oder mehrere der Blocks der beispielhaften Prozesse hierin in Reaktion auf Programmcode und/oder Anweisungen oder Anweisungssätze ausführen, die der Prozessor durch eine oder mehrere der maschinenlesbaren Medien erhält. Allgemein kann das maschinenlesbare Medium Software in Form von Programmcode und/oder Anweisungen oder Anweisungssätzen übermitteln, die eine der Vorrichtungen und/oder Systeme, die hierin beschrieben werden, veranlassen können, mindestens Abschnitte der hierin besprochenen Operationen und/oder Abschnitte der Vorrichtungen, Systeme oder Module oder Komponenten wie hierin besprochen umzusetzen.
  • Wie in einer hierin beschriebenen Umsetzung verwendet, bezieht sich der Begriff „Modul“ auf jede Kombination aus Softwarelogik, Firmwarelogik, Hardwarelogik, und/oder Schaltkreisen, die konfiguriert sind, die hierin beschriebene Funktion bereitzustellen. Die Software kann als Softwarepaket, Code und/oder Anweisungssatz oder Anweisungen verpackt sein, und „Hardware“, wie in einer Umsetzung verwendet, die hierin beschrieben ist, kann beispielsweise einzeln oder in einer beliebigen Kombination festverkabelte Schaltungen, programmierbare Schaltungen, Zustandsmaschinenschaltungen, Festfunktionsschaltungen, Ausführungseinheitenschaltungen und/oder Firmware enthalten, die Anweisungen speichern, die durch programmierbare Schaltungen ausgeführt werden. Die Module können kollektiv oder einzeln als Schaltungen umgesetzt werden, die einen Teil eines größeren Systems bilden, beispielsweise einer integrierten Schaltung, (IC), eines System-on-Chip (SoC) und so weiter.
  • 16 ist ein illustratives Diagramm eines beispielhaften Systems 1600, der nach mindestens einigen Umsetzungen der vorliegenden Offenbarung angeordnet ist. In verschiedenen Umsetzungen kann das System 1600 ein mobiles System sein, wobei System 1600 diesbezüglich jedoch nicht beschränkt ist. Beispielsweise kann das System 1600 in einen Personal Computer (PC), Laptopcomputer, Ultralaptopcomputer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Handheld Computer, einen Palmtop Computer, einen Personal Digital Assistant (PDA), ein Handy, eine Kombination aus Handy/PDA, einen Fernseher, ein Smart Device (z. B. Smartphone, Smarttablet oder Smarttelevision), eine mobile Internetvorrichtung (MID), eine Nachrichtenvorrichtung, eine Datenkommunikationsvorrichtung, Kameras (z. B. Point-and-Shoot-Kameras, Super-Zoom-Kameras, Digital Single-Lens-Reflex- (DSLR) Kameras) und so weiter eingebaut sein.
  • In verschiedenen Umsetzungen enthält das System 1600 eine Plattform 1602, die mit einer Anzeige 1620 gekoppelt ist. Plattform 1602 kann Inhalte von einer Inhaltsvorrichtung empfangen, wie etwa einer oder mehreren Inhaltsservicevorrichtung(en) 1630 oder Inhaltsliefervorrichtung(en) 1640 oder anderen ähnlichen Inhaltsquellen. Ein Navigationscontroller 1650, der ein oder mehrere Navigationsmerkmale enthält, kann verwendet werden, um beispielsweise mit Plattform 1602 und/oder Anzeige 1620 zu interagieren. Jede dieser Komponenten wird nachfolgend ausführlicher beschrieben.
  • In verschiedenen Umsetzungen kann die Plattform 1602 jede Kombination aus einem Chipsatz 1605, Prozessor 1610, Speicher 1612, einer Antenne 1613, einem Speicherplatz 1614, einem Grafikuntersystem 1615, Anwendungen 1616 und/oder Funk 1618 enthalten. Der Chipsatz 1605 kann Kommunikation zwischen Prozessor 1610, Speicher 1612, Speicherplatz 1614, Grafikuntersystem 1615, Anwendungen 1616 und/oder Funk 1618 enthalten. Beispielsweise kann der Chipsatz 1605 einen Speicheradapter enthalten (nicht dargestellt), der in der Lage ist, Kommunikation mit dem Speicherplatz 1614 bereitzustellen.
  • Der Prozessor 1610 kann als ein Complex Instruction Set Computer (CISC) oder Reduced Instruction Set Computer (RISC) Prozessoren, x86-anweisungssatzkompatible Prozessoren, Mehrkern- oder jeden anderen Mikroprozessor oder zentrale Prozessoreinheit (CPU) umgesetzt sein. In verschiedenen Umsetzungen kann der Prozessor 1610 ein oder mehrere Dualkernprozessor(en), mobile(r) Dualkernprozessor(en) und so weiter sein.
  • Der Speicher 1612 kann als flüchtige Speichervorrichtung umgesetzt sein, wie einschließlich, aber nicht beschränkt auf einen Direktzugriffsspeicher (RAM), dynamischen Direktzugriffsspeicher (DRAM) oder statischen RAM (SRAM).
  • Der Speicherplatz 1614 kann als nichtflüchtige Speichervorrichtung umgesetzt sein, wie beispielsweise, aber nicht beschränkt auf, ein Magnetscheibenlaufwerk, optisches Diskettenlaufwerk, Magnetbandlaufwerk, eine interne Speichervorrichtung, eine befestigte Speichervorrichtung, Flashspeicher, auf Batterie gespeicherter SDRAM (synchroner DRAM), und/oder eine über ein Netzwerk zugängliche Speichervorrichtung. In verschiedenen Umsetzungen kann der Speicherplatz 1614 Technologie enthalten, um den durch Speicherleistung verbesserten Schutz für wertvolle digitale Medien zu verbessern, wenn beispielsweise mehrere Festplatten enthalten sind.
  • Das Grafikuntersystem 1615 kann die Verarbeitung von Bildern wie Standbildern oder Videos zur Anzeige durchführen. Das Grafikuntersystem 1615 kann beispielsweise eine Grafikverarbeitungseinheit (GPU) oder eine visuelle Verarbeitungseinheit (VPU) sein. Jede analoge oder digitale Schnittstelle kann verwendet werden, um das Grafikuntersystem 1615 und die Anzeige 1620 kommunikativ zu koppeln. Beispielsweise kann die Schnittstelle eine hochauflösende Multimediaschnittstelle, ein DisplayPort, eine drahtlose HDMI, und/oder drahtlose HD-konforme Techniken sein. Das Grafikuntersystem 1615 kann in den Prozessor 1610 oder den Chipsatz 1605 integriert sein. In einigen Umsetzungen kann das Grafikuntersystem 1615 eine eigenständige Vorrichtung sein, die kommunikativ mit dem Chipsatz 1605 gekoppelt ist.
  • Die hierin beschriebenen Grafik- und/oder Videoverarbeitungstechniken können in verschiedenen Hardwarearchitekturen umgesetzt werden. Beispielsweise kann die Grafik-und/oder Videofunktion in einen Chipsatz integriert sein. Alternativ kann ein diskreter Grafik- und/oder Videoprozessor verwendet werden. Als eine noch weitere Umsetzung können die Grafik- und/oder Videofunktionen durch einen Mehrzweckprozessor bereitgestellt werden, einschließlich eines Multikernprozessors. In weiteren Ausführungsformen können die Funktionen in einer Elektronikvorrichtung des Verbrauchers umgesetzt werden.
  • Funk 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 Netze umfassen. Beispielhafte drahtlose Netze enthalten (sind jedoch nicht beschränkt auf) drahtlose Ortsnetze (WLANs), drahtlose persönliche Netzwerke (WPANs), drahtlose Metropolitan Area Networks (WMANs), Handynetze und Satellitennetze. Bei der Kommunikation über solche Netze kann Funk 1618 in jeder Fassung nach einem oder mehreren zutreffenden Standards funktionieren.
  • In verschiedenen Umsetzungen kann die Anzeige 1620 jeden Bildschirm oder jede Anzeige vom Typ eines Fernsehers enthalten. Die Anzeige 1620 kann beispielsweise einen Computeranzeigebildschirm, eine Touchscreenanzeige, einen Videomonitor, eine fernseherähnliche Vorrichtung und/oder einen Fernseher umfassen. Die Anzeige 1620 kann digital und/oder analog sein. In verschiedenen Umsetzungen kann die Anzeige 1620 eine holographische Anzeige sein. Außerdem kann die Anzeige 1620 eine transparente Oberfläche sein, auf die eine optische Projektion erfolgen kann. Solche Projektionen können verschiedene Formen von Informationen, Bildern und/oder Objekten übermitteln. Beispielsweise könne 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 Umsetzungen können eine oder mehrere Inhaltsservicevorrichtung(en) 1630 durch einen nationalen, internationalen und/oder unabhängigen Service gehostet und daher für die Plattform 1602 etwa über das Internet zugänglich sein. Inhaltsservicevorrichtung(en) 1630 können mit der Plattform 1602 und/oder der Anzeige 1620 gekoppelt sein. Die Plattform 1602 und/oder Inhaltsservicevorrichtung(en) 1630 können mit einem Netz 1660 gekoppelt sein, um Medieninformationen an und von dem Netz 1660 zu kommunizieren (z. B. senden und/oder empfangen). Inhaltsliefervorrichtung(en) 1640 können mit der Plattform 1602 und/oder der Anzeige 1620 gekoppelt sein.
  • In verschiedenen Umsetzungen, können Inhaltsservicevorrichtung(en) 1630 eine Kabelfernsehbox, einen Personal Computer, ein Netz, Telefon, internetfähige Vorrichtungen oder Geräte, die digitale Informationen und/oder Inhalte übermitteln können sowie alle anderen ähnlichen Vorrichtungen enthalten, die in der Lage sind, Inhalte in einer oder in beiden Richtungen zwischen Inhaltsprovidern und der Plattform 1602 und/Anzeige 1620, über ein Netz 1660 oder direkt zu kommunizieren. Es ist zu erkennen, dass der Inhalt in einer und/oder beiden Richtungen an und von einer der Komponenten im System 1600 und einem Inhaltsprovider über das Netz 1660 kommuniziert werden kann. Beispiele für Inhalt können alle Medieninformationen enthalten, einschließlich beispielsweise Video, Musik, medizinische und Spielinformationen und so weiter.
  • Inhaltsservicevorrichtung(en) 1630 können Inhalte wie Kabelfernsehprogrammierung empfangen, einschließlich Medieninformationen, digitaler Informationen und/oder anderer Inhalte. Beispiele von Inhaltsprovidern können jeden Kabel- oder Satellitenfernseh- oder Radio- oder Internetinhaltsprovider umfassen. Die bereitgestellten Beispiele sollen die Umsetzungen nach der vorliegenden Offenbarung in keiner Weise einschränken.
  • In verschiedenen Umsetzungen kann die Plattform 1602 Steuersignale vom Navigationscontroller 1650 empfangen, der ein oder mehrere Navigationsmerkmale aufweist. Die Navigationsmerkmale können verwendet werden, um beispielsweise mit der Benutzerschnittstelle 1622 zu interagieren. In verschiedenen Ausführungsformen kann die Navigation eine Zeigervorrichtung sein, die eine Computerhardwarekomponente sein kann (insbesondere eine Mensch-Maschine-Schnittstelle), die einem Benutzer erlaubt, räumliche (z. B. fortlaufende und mehrdimensionale) Daten in einen Computer einzugeben. Viele Systeme wie eine grafische Benutzerschnittstelle (GUI) und Fernseher und Bildschirme erlauben dem Benutzer die Steuerung und Bereitstellung von Daten an den Computer oder Fernseher unter Verwendung physischer Gesten.
  • Bewegungen der Navigationsmerkmale können auf einer Anzeige (z. B. Anzeige 1620) durch Bewegungen eines Zeigers, Cursors, Fokusrings oder anderer optischer Anzeiger repliziert werden, die auf der Anzeige angezeigt werden. Beispielsweise können unter der Steuerung von Softwareanwendungen 1616 die Navigationsmerkmale auf der Navigation virtuellen Navigationsmerkmalen zugeordnet sein, die beispielsweise auf der Benutzerschnittstelle 1622 dargestellt sind. In verschiedenen Ausführungsformen muss es keine separate Komponente sein, sondern kann in die Plattform 1602 und/oder Anzeige 1620 integriert sein. Die vorliegende Offenbarung ist jedoch nicht auf die Elemente oder den Zusammenhang beschränkt, die/der hierin dargestellt oder beschrieben ist/sind.
  • In verschiedenen Umsetzungen können Treiber (nicht dargestellt) Technologie enthalten, um beispielsweise Benutzern zu ermöglichen, die Plattform 1602 bei Aktivierung unverzüglich wie einen Fernseher durch einen Tastendruck nach dem anfänglichen Einschalten ein- oder auszuschalten. Programmlogik kann es der Plattform 1602 erlauben, Inhalte auf Medienadapter oder andere Inhaltsservicevorrichtung(en) 1630 oder Inhaltsliefervorrichtung(en) 1640 zu streamen, selbst wenn die Plattform „aus“ ist. Weiterhin kann der Chipsatz 1605 beispielsweise Hardware- und/oder Softwaresupport für 5.1 Surroundsound-Audio und/oder High-Definition 7.1 Surroundsound-Audio enthalten. Treiber können einen Grafiktreiber für integrierte Grafikplattformen enthalten. In verschiedenen Ausführungsformen kann der Grafiktreiber eine Peripheral Component Interconnect (PCI) Expressgrafikkarte enthalten.
  • In verschiedenen Umsetzungen kann jede eine oder mehrere Komponenten, die in System 1600 dargestellt sind, integriert werden. Beispielsweise können Plattform 1602 und Inhaltsser- vicevorrichtung(en) 1630 integriert sein, oder Plattform 1602 und Inhaltsliefervorrichtung(en) 1640 können integriert sein, oder Plattform 1602, Inhaltsservicevorrichtung(en) 1630 und Inhaltsliefervorrichtung(en) 1640 können integriert sein. In verschiedenen Ausführungsformen können Plattform 1602 und Anzeige 1620 eine integrierte Einheit sein. Beispielsweise können Anzeige 1620 und Inhaltsservicevorrichtung(en) 1630 integriert sein, oder Anzeige 1620 und Inhaltsliefervorrichtung(en) 1640 können integriert sein. Diese Beispiele sollen die vorliegende Offenbarung nicht einschränken.
  • In verschiedenen Ausführungsformen kann System 1600 als drahtloses System, verkabeltes System oder eine Kombination daraus umgesetzt sein. Bei der Umsetzung als drahtloses System kann System 1600 Komponenten und Schnittstellen enthalten, die sich für die Kommunikation über geteilte drahtlose Medien eignen, wie etwa eine oder mehrere Antennen, Sender, Empfänger, Transceiver, Verstärker, Filter, Steuerlogik und so weiter. Ein Beispiel von geteilten drahtlosen Medien kann Abschnitte eines drahtlosen Spektrums enthalten, wie etwa eines RF-Spektrums und so weiter. Bei der Umsetzung als verkabeltes System kann System 1600 Komponenten und Schnittstellen enthalten, die sich für die Kommunikation über verkabelte Kommunikationsmedien eignen, wie etwa Eingabe-/Ausgabe- (E/A) Adapter, physische Anschlüsse zur Verbindung des E/A-Adapters mit einem entsprechend verkabelten Kommunikationsmedium, einer Netzwerkschnittstellenkarte (NIC), einem Festplattencontroller, einem Videocontroller, einem Audiocontroller und dergleichen. Beispiele verkabelter Kommunikationsmedien können einen Draht, ein Kabel, Metallleitungen, eine Platine (PCB), eine Backplane, ein Schaltmaterial, ein Halbleitermaterial, verdrillte Kabel, ein Koaxialkabel, Glasfaser usw. umfassen.
  • Plattform 1602 kann einen oder mehrere logische oder physische Kanäle aufbauen, um Informationen zu kommunizieren. Die Informationen können Medieninformationen und Steuerinformationen enthalten. Die Medieninformationen können sich auf alle Daten beziehen, die Inhalte darstellen, die für einen Benutzer vorgesehen sind. Inhaltsbeispiele können beispielsweise Daten von einer Stimmkonversation, Videokonferenz, Streamingvideo, einer Nachricht aus elektronischer Post („E-Mail“), Stimmnachrichten, alphanumerischen Symbolen, Grafiken, Bild, Video, Text und so weiter enthalten. Daten aus Stimmkonversationen können beispielsweise Sprachinformationen, Stillezeiten, Hintergrundgeräusche, Beruhigungsgeräusche, Töne und so weiter enthalten. Steuerinformationen können sich auf alle Daten beziehen, die Befehle, Anweisungen oder Steuerwörter darstellen, die für ein automatisiertes System vorgesehen sind. Beispielsweise können Steuerinformationen verwendet werden, um Medieninformationen durch ein System zu routen oder einen Knoten anzuweisen, die Medieninformationen in einer vorgegebenen Weise zu verarbeiten. Die Ausführungsformen sind jedoch nicht auf die Elemente oder den Zusammenhang beschränkt, die/der in 16 dargestellt oder beschrieben ist/sind.
  • Wie oben beschrieben, kann System 1600 in verschiedenen physischen Stilen oder Formfaktoren verkörpert sein. 17 illustriert eine beispielhafte Vorrichtung 1700 mit kleinem Formfaktor, angeordnet nach mindestens einigen Umsetzungen der vorliegenden Offenbarung. In einigen Beispielen kann System 1600 über die Vorrichtung 1700 umgesetzt sein. In anderen Beispielen kann System 1500 oder Abschnitte davon über die Vorrichtung 1700 umgesetzt sein. In verschiedenen Ausführungsformen kann beispielsweise Vorrichtung 1700 als eine mobile Rechnervorrichtung mit Drahtlosfähigkeiten umgesetzt sein. Eine mobile Rechnervorrichtung kann sich auf jede Vorrichtung beziehen, die ein Verarbeitungssystem und eine mobile Energiequelle oder -versorgung aufweist, wie beispielsweise eine oder mehrere Batterien.
  • Beispiele für eine mobile Rechnervorrichtung können einen Personal Computer (PC), Laptopcomputer, Ultralaptopcomputer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Handheld Computer, einen Palmtop Computer, einen Personal Digital Assistant (PDA), ein Handy, eine Kombination aus Handy/PDA, ein Smart Device (z. B. Smartphone, Smarttablet oder mobiles Smarttelevision), eine mobile Internetvorrichtung (MID), eine Nachrichtenvorrichtung, eine Datenkommunikationsvorrichtung, Kameras und so weiter enthalten.
  • Beispiele einer mobilen Rechnervorrichtung können auch Computer enthalten, die angeordnet sind, um durch eine Person getragen zu werden, wie etwa Handgelenkscomputer, Fingercomputer, Ringcomputer, Brillencomputer, Gürtelclipcomputer, Armbandcomputer, Schuhcomputer, Kleidungscomputer und andere tragbare Computer. In verschiedenen Ausführungsformen kann eine mobile Rechnervorrichtung beispielsweise als ein Smartphone umgesetzt sein, das in der Lage ist, Computeranwendungen sowie Stimmkommunikation und/oder Datenkommunikation auszuführen. Wenn auch beispielsweise einige Ausführungsformen mit einer mobilen Rechnervorrichtung beschrieben sind, die als Smartphone umgesetzt ist, ist zu verstehen, dass andere Ausführungsformen auch unter Verwendung anderer drahtloser Rechnervorrichtungen umgesetzt werden können. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • Wie in 17 dargestellt, kann die Vorrichtung 1700 ein Gehäuse mit einer Vorderseite 1701 und einer Rückseite 1702 enthalten. Die Vorrichtung 1700 enthält eine Anzeige 1704, eine Eingabe-/Ausgabe- (E/A) Vorrichtung 1706 und eine integrierte Antenne 1708. Die Vorrichtung 1700 kann auch Navigationsmerkmale 1712 enthalten. Die E/A-Vorrichtung 1706 kann jede geeignete E/A-Vorrichtung enthalten, um Informationen in eine mobile Rechnervorrichtung einzugeben. Beispiele für die E/A-Vorrichtung 1706 können eine alphanumerische Tastatur, eine numerische Tastatur, ein Touchpad, Eingabetasten, Tasten, Schalter, Mikrofone, Lautsprecher, eine Stimmerkennungsvorrichtung und Software und so weiter enthalten. Die Information können in die Vorrichtung 1700 auch über ein Mikrofon (nicht dargestellt) eingegeben werden oder können durch eine Stimmerkennungsvorrichtung digitalisiert werden. Wie dargestellt, kann die Vorrichtung 1700 eine Kamera 1705 enthalten (z. B. einschließlich einer Linse, einer Öffnung und eines Bildgebungssensors), sowie einen Blitz 1710, der in die Rückseite 1702 (oder anderswo) der Vorrichtung 1700 integriert ist. In anderen Beispielen können die Kamera 1705 und der Blitz 1710 in die Vorderseite 1701 der Vorrichtung 1700 integriert sein, oder Vorder- und Rückseitenkameras können bereitgestellt sein. Die Kamera 1705 und der Blitz 1710 können Komponenten eines Kameramoduls sein, um Bilddaten zu erzeugen, die in Streamingvideo verarbeitet sind, das an Anzeige 1704 ausgegeben und/oder extern von Vorrichtung 1700 beispielsweise über Antenne 1708 kommuniziert wird.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination der beiden umgesetzt werden. Beispiele für Hardwareelemente können Prozessoren, Mikroprozessoren, Schaltkreise, Schaltkreiselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren usw.), integrierte Schaltkreise, anwendungsspezifisch integrierte Schaltkreise (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), im Feld programmierbare Gatearray (FPGA), Logik-Gates, Register, eine Halbleitervorrichtung, 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, Subroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, Anwendungsprogrammschnittstellen (API), Anweisungssätze, Rechnercode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder jede Kombination davon enthalten. Die Bestimmung, ob eine Ausführungsform unter Verwendung von Hardwareelementen und/oder Softwareelementen umgesetzt wird, kann einer beliebigen Anzahl von Faktoren entsprechend variieren, wie etwa nach der gewünschten Rechengeschwindigkeit, den Energiepegeln, den Wärmetoleranzen, dem Verarbeitungszyklusbudget, den Eingabedatenraten, den Ausgabedatenraten, den Speicherressourcen, den Datenbusgeschwindigkeiten und nach anderen Design- oder Leistungseinschränkungen.
  • Ein oder mehrere Aspekte von mindestens einer Ausführungsform können durch repräsentative Anweisungen umgesetzt werden, die auf einem maschinenlesbaren Medium gespeichert sind, das unterschiedliche Logik innerhalb des Prozessors darstellt, was nach Lesen durch eine Maschine die Maschine veranlasst, eine Logik herzustellen, um die hierin beschriebenen Techniken auszuführen. Solche Darstellungen, bekannt als IP-Kerne, können auf einem greifbaren maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Herstellungseinrichtungen geliefert werden, um in die Herstellungsmaschinen geladen zu werden, die die Logik oder den Prozessor tatsächlich aufbauen.
  • Während bestimmte Merkmale, die hierin dargelegt sind, mit Verweis auf verschiedene Umsetzungen beschrieben wurden, soll diese Beschreibung nicht einschränkend ausgelegt werden. Daher sind verschiedene Modifikationen der hierin beschriebenen Umsetzungen sowie andere Umsetzungen, die für einen Fachmann des Gebiets, auf das sich die vorliegende Offenbarung bezieht, als im Geist und Umfang der vorliegenden Offenbarung liegend zu betrachten.
  • Die folgenden Ausführungsformen beziehen sich auf weitere Ausführungsformen.
  • In einer oder mehreren ersten Ausführungsformen umfasst ein computerumgesetztes Verfahren für Videocodierung den Empfang mehrerer Blocks quantisierter Resttransformationskoeffizienten, die einer Codierungseinheit eines Videorahmens in einer normativen Codierungsreihenfolge entsprechen, zur Codierung, wobei die normative Codierungsreihenfolge zwei oder mehr direkt aneinander angrenzende Lumablocks umfasst, auf die ein oder mehrere Chromakanal-Eins-Blocks folgen, auf die ein oder mehrere Chromakanal-Zwei-Blocks folgen, Interleaving der mehreren Blocks quantisierter Resttransformationskoeffizienten von der normativen Codierungsreihenfolge in eine Verarbeitungsreihenfolge, die Verarbeitungsreihenfolge umfassend mindestens einen ersten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Eins-Block der einen oder mehreren Chromakanal-Eins-Blocks und Durchführung der Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die mehreren Blocks der quantisierten Koeffizienten in der Verarbeitungsreihenfolge zum Erzeugen einer rekonstruierten Codierungseinheit, die mehreren Blocks der quantisierten Resttransformationskoeffizienten entsprechen.
  • Weiter umfasst in den ersten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks.
  • Weiter umfasst in den ersten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks und der erste Lumablock entspricht einer räumlich oberen linken Region der Codierungseinheit und der zweite Lumablock entspricht einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region.
  • Neben den ersten Ausführungsformen umfasst die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks.
  • Weiter umfasst in den ersten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks, und der erste Lumablock entspricht einer räumlich oberen linken Region der Codierungseinheit, wobei der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht und der dritte Lumablock einer dritten Region der Codierungseinheit direkt unter der oberen linken Region entspricht.
  • Weiter umfasst in den ersten Ausführungsformen das Interleaving der mehreren Blocks die Bereitstellung fortlaufender Gruppen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den ersten Ausführungsformen das Interleaving der mehreren Blocks die Bereitstellung einer oder mehrerer fortlaufender Gruppen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den ersten Ausführungsformen die Verarbeitungsreihenfolge die Lumablocks, die räumlich in einer räumlichen Wellenfrontreihenfolge bezüglich der Codierungseinheit gescannt und basierend auf benachbarten Abhängigkeiten unter den Lumablocks sortiert wurden.
  • Weiter umfasst in den ersten Ausführungsformen, die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans angeordnet sind, wobei ein erster der mehreren nach unten links angeordneten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
  • Weiter umfasst in den ersten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block direkt rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks umfasst.
  • Weiter umfasst in den ersten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks umfasst.
  • In einer oder mehreren zweiten Ausführungsformen umfasst ein System für die Videocodierung einen Entkoppelungspuffer zum Speichern von Blocks quantisierter Resttransformationskoeffizienten, die einer Codierungseinheit eines Videorahmens und eines Prozessors, der mit dem Entkoppelungspuffer gekoppelt ist, wobei der Prozessor die Blocks quantisierter Resttransformationskoeffizienten in einer normativen Codierungsreihenfolge in dem Entkoppelungspuffer speichern soll, wobei die normative Codierungsreihenfolge zwei oder mehr direkt aneinander angrenzende Lumablocks umfasst, auf die ein oder mehrere Chromakanal-Eins-Blocks folgen, auf die ein oder mehrere Chromakanal-Zwei-Blocks folgen, um die Blocks von dem Entkoppelungspuffer in einer interleavten Verarbeitungsreihenfolge abzurufen, die Verarbeitungsreihenfolge umfassend mindestens einen ersten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Eins-Block der einen oder mehreren Chromakanal-Eins-Blocks und das Durchführen der Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die mehreren Blocks der quantisierten Koeffizienten in der Verarbeitungsreihenfolge zum Erzeugen einer rekonstruierten Codierungseinheit, die mehreren Blocks der quantisierten Resttransformationskoeffizienten entsprechen.
  • Weiter umfasst in den zweiten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks.
  • Weiter umfasst in den zweiten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks und der erste Lumablock entspricht einer räumlich oberen linken Region der Codierungseinheit und der zweite Lumablock entspricht einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region.
  • Neben den zweiten Ausführungsformen umfasst die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks.
  • Weiter umfasst in den zweiten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks, und der erste Lumablock entspricht einer räumlich oberen linken Region der Codierungseinheit, wobei der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht und der dritte Lumablock einer dritten Region der Codierungseinheit direkt unter der oberen linken Region entspricht.
  • Weiter umfasst in den zweiten Ausführungsformen der Prozessor zum Abrufen der Blocks aus dem Entkoppelungspuffer in der interleavten Verarbeitungsreihenfolge das Abrufen fortlaufender Gruppen durch den Prozessor, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend den Abruf einer fortlaufenden Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den zweiten Ausführungsformen der Prozessor zum Abrufen der Blocks aus dem Entkoppelungspuffer in der interleavten Verarbeitungsreihenfolge das Abrufen einer oder mehrerer fortlaufender Gruppen durch den Prozessor, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend den Abruf einer fortlaufendem Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den zweiten Ausführungsformen die Verarbeitungsreihenfolge die Lumablocks, die räumlich in einer räumlichen Wellenfrontreihenfolge bezüglich der Codierungseinheit gescannt und basierend auf benachbarten Abhängigkeiten unter den Lumablocks sortiert wurden.
  • Weiter umfasst in den zweiten Ausführungsformen, die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks umfasst, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans angeordnet sind, wobei ein erster der mehreren nach unten links angeordneten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
  • Weiter umfasst in den zweiten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block direkt rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks umfasst.
  • Weiter umfasst in den zweiten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks umfasst.
  • In einer oder mehr dritten Ausführungsformen umfasst ein computerumgesetztes Verfahren für Videocodierung das Codieren mehrerer Blocks, die einer Codierungseinheit eines Videorahmens in einer Verarbeitungsreihenfolge entsprechen, zur Erzeugung entsprechender mehrerer Blocks quantisierter Resttransformationskoeffizienten, wobei die Codierung mindestens Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen umfasst und wobei die Verarbeitungsreihenfolge mindestens einen ersten Lumablock umfasst, direkt gefolgt durch einen ersten Chromakanal-Eins-Block, Interleaving der mehreren Blocks quantisierter Resttransformationskoeffizienten aus der Verarbeitungsreihenfolge in eine normative Codierungsreihenfolge, wobei die normative Codierungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch einen oder mehr direkt angrenzende Lumablocks, gefolgt durch dem ersten Chromakanal-Eins-Block, gefolgt durch einen oder mehr Chromakanal-Zwei-Blocks, und Entropiecodierung der mehreren Blocks quantisierter Resttransformationskoeffizienten in der normativen Codierungsreihenfolge, um einen Bitstream zu erzeugen.
  • Weiter umfasst in den dritten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der einem oder mehreren Lumablocks und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht und der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht.
  • Weiter umfasst in den dritten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der einen oder mehreren Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der einen oder mehreren Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht, wobei der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht und der dritte Lumablock einer dritten Region der Codierungseinheit direkt unter der oberen linken Region entspricht.
  • Weiter umfasst in den dritten Ausführungsformen die Verarbeitungsreihenfolge mehrere fortlaufende Gruppen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block und eine nachfolgende fortlaufende Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den dritten Ausführungsformen die Verarbeitungsreihenfolge mehrere fortlaufende Gruppen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block und eine nachfolgende fortlaufende Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den dritten Ausführungsformen die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans angeordnet sind, wobei ein erster der mehreren nach unten links angeordneten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
  • Weiter umfasst in den dritten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block direkt rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks umfasst.
  • Weiter umfasst in den dritten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks umfasst.
  • In einer oder mehr vierten Ausführungsformen umfasst ein System für Videocodierung einen Entkoppelungspuffer zum Speichern mehrerer Blocks, die einer Codierungseinheit eines Videorahmens entsprechen, in einer Verarbeitungsreihenfolge und einen Prozessor, der mit dem Entkoppelungspuffer gekoppelt ist, wobei der Prozessor die mehreren Blocks in der Verarbeitungsreihenfolge codiert, um entsprechende mehrere Blocks quantisierter Resttransformationskoeffizienten zu erzeugen, wobei die Codierung mindestens Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen umfasst, und wobei die Verarbeitungsreihenfolge mindestens einen ersten Lumablock umfasst, direkt gefolgt durch einen ersten Chromakanal-Eins-Block, Interleaving der mehreren Blocks quantisierter Resttransformationskoeffizienten aus der Verarbeitungsreihenfolge in eine normative Codierungsreihenfolge, wobei die normative Codierungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch einen oder mehr direkt angrenzende Lumablocks, gefolgt durch den ersten Chromakanal-Eins-Block, gefolgt durch einen oder mehr Chromakanal-Zwei-Blocks und Entropiecodierung der mehreren Blocks quantisierter Resttransformationskoeffizienten in einer normativen Codierungsreihenfolge, um einen Bitstream zu erzeugen.
  • Weiter umfasst in den vierten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der einen oder mehreren Lumablocks und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht und der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht.
  • Weiter umfasst in den vierten Ausführungsformen die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der einen oder mehreren Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block der einen oder mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der einen oder mehreren Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht, der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht und der dritte Lumablock einer dritten Region der Codierungseinheit direkt unter der oberen linken Region entspricht.
  • Weiter umfasst in den vierten Ausführungsformen die Verarbeitungsreihenfolge mehrere fortlaufende Gruppen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block und eine nachfolgende fortlaufende Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den vierten Ausführungsformen die Verarbeitungsreihenfolge mehrere fortlaufende Gruppen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block und eine nachfolgende fortlaufende Gruppe verbleibender Lumablocks.
  • Weiter umfasst in den vierten Ausführungsformen die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans angeordnet sind, wobei ein erster der mehreren nach unten links angeordneten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
  • Weiter umfasst in den vierten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks umfasst.
  • Weiter umfasst in den vierten Ausführungsformen die Verarbeitungsreihenfolge Lumablocks, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks umfasst.
  • In einer oder mehreren fünften Ausführungsformen kann das mindestens eine maschinenlesbare Medium mehrere Anweisungen enthalten, die in Reaktion auf die Ausführung auf einer Rechnervorrichtung die Rechnervorrichtung veranlassen, ein Verfahren nach einer der obigen Ausführungsformen durchzuführen.
  • In einer oder mehreren sechsten Ausführungsformen kann eine Vorrichtung oder ein System Mittel zur Durchführung eines Verfahrens nach einer der obigen Ausführungsformen enthalten.
  • Es versteht sich, dass die Ausführungsformen nicht auf die so beschriebenen Ausführungsformen beschränkt sind, sondern mit Modifizierungen und Änderungen ohne Abweichung vom Umfang der anhängenden Ansprüche ausgeführt werden können. Beispielsweise können die obigen Ausführungsformen spezifische Kombinationen von Merkmalen enthalten. Die obigen Ausführungsformen sind jedoch diesbezüglich nicht beschränkt, und in verschiedenen Umsetzungen können die obigen Ausführungsformen die Ausführung von nur einem Untersatz dieser Eigenschaften enthalten, die Ausführung dieser Merkmale in einer anderen Reihenfolge, die Ausführung verschiedener Kombinationen solcher Merkmale und/oder die Ausführung weiterer Merkmale als der ausdrücklich aufgeführten. Der Umfang der Ausführungsformen sollte daher mit Verweis auf die beiliegenden Ansprüche bestimmt werden, zusammen mit dem vollen Umfang der Entsprechungen, die diesen Ansprüchen zufallen.
  • 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 348783 [0001]

Claims (31)

  1. Computerumgesetztes Verfahren zur Videocodierung, umfassend: Empfang mehrerer Blocks quantisierter Resttransformationskoeffizienten, die einer Codierungseinheit eines Videorahmens entsprechen, zur Codierung, in einer normativen Codierungsreihenfolge, wobei die normative Codierungsreihenfolge zwei oder mehr direkt aneinander angrenzende Lumablocks umfasst, auf die ein oder mehrere Chromakanal-Eins-Blocks folgen, auf die ein oder mehrere Chromakanal-Zwei-Blocks folgen; Interleaving der mehreren Blocks quantisierter Resttransformationskoeffizienten von der normativen Codierungsreihenfolge in eine Verarbeitungsreihenfolge, die Verarbeitungsreihenfolge umfassend mindestens einen ersten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Eins-Block des einen oder der mehreren Chromakanal-Eins-Blocks; und Durchführung von Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die mehreren Blocks quantisierter Koeffizienten in der Verarbeitungsreihenfolge zum Erzeugen einer rekonstruierten Codierungseinheit, die den mehreren Blocks quantisierter Resttransformationskoeffizienten entspricht.
  2. Verfahren nach Anspruch 1, wobei die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks umfasst.
  3. Verfahren nach Anspruch 2, wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht und der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht.
  4. Verfahren nach Anspruch 1, wobei die Verarbeitungsreihenfolge den ersten Lumablock, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks umfasst.
  5. Verfahren nach Anspruch 4, wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht, und der zweite Lumablock einer zweiten Region der Codierungseinheit entspricht, die sich direkt rechts von der oberen linken Region befindet, und der dritte Lumablock einer dritten Region der Codierungseinheit entspricht, die sich direkt unter der oberen linken Region befindet.
  6. Verfahren nach Anspruch 1, wobei das Interleaving der mehreren Blocks umfasst: Bereitstellung fortlaufender Gruppen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks.
  7. Verfahren nach Anspruch 1, wobei das Interleaving der mehreren Blocks umfasst: Bereitstellung einer oder mehrerer fortlaufender Gruppen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks.
  8. Verfahren nach Anspruch 1, wobei die Verarbeitungsreihenfolge Lumablocks umfasst, die räumlich in einer räumlichen Wellenfrontreihenfolge bezüglich der Codierungseinheit gescannt und basierend auf benachbarten Abhängigkeiten unter den Lumablocks sortiert sind.
  9. Verfahren nach Anspruch 1, wobei die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks umfasst, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans sortiert sind, wobei ein erster der mehreren nach unten links orientierten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
  10. Verfahren nach Anspruch 1, wobei die Verarbeitungsreihenfolge Lumablocks umfasst, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block direkt rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks umfasst.
  11. Verfahren nach Anspruch 1, wobei die Verarbeitungsreihenfolge Lumablocks umfasst, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks umfasst.
  12. System für Videocodierung, umfassend: einen Entkoppelungspuffer, um Blocks quantisierter Resttransformationskoeffizienten zu speichern, die einer Codierungseinheit eines Videorahmens entsprechen; und einen Prozessor, der mit dem Entkoppelungspuffer gekoppelt ist, wobei der Prozessor die Blocks quantisierter Resttransformationskoeffizienten in einer normativen Codierungsreihenfolge in dem Entkoppelungspuffer speichern, wobei die normative Codierungsreihenfolge zwei oder mehr direkt aneinander angrenzende Lumablocks umfasst, auf die ein oder mehrere Chromakanal-Eins-Blocks folgen, auf die ein oder mehrere Chromakanal-Zwei-Blocks folgen, die Blocks von dem Entkoppelungspuffer in einer interleavten Verarbeitungsreihenfolge abrufen, die Verarbeitungsreihenfolge umfassend mindestens einen ersten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Eins-Block der einen oder mehreren Chromakanal-Eins-Blocks und Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die mehreren Blocks der quantisierten Koeffizienten in der Verarbeitungsreihenfolge zum Erzeugen einer rekonstruierten Codierungseinheit, die den mehreren Blocks der quantisierten Resttransformationskoeffizienten entsprechen, durchführen soll.
  13. System nach Anspruch 12, wobei die Verarbeitungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht und der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht.
  14. System nach Anspruch 12, wobei die Verarbeitungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht, wobei der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht und der dritte Lumablock einer dritten Region der Codierungseinheit direkt unter der oberen linken Region entspricht.
  15. System nach Anspruch 12, wobei das Abrufen der Blocks aus dem Entkoppelungspuffer in der interleavten Verarbeitungsreihenfolge durch den Prozessor das Abrufen fortlaufender Gruppen durch den Prozessor, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock, direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend das Abrufen einer fortlaufenden Gruppe verbleibender Lumablocks umfasst.
  16. System nach Anspruch 12, wobei das Abrufen der Blocks aus dem Entkoppelungspuffer in der interleavten Verarbeitungsreihenfolge durch den Prozessor das Abrufen einer oder mehrerer fortlaufender Gruppen durch den Prozessor, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend das Abrufen einer fortlaufenden Gruppe verbleibender Lumablocks umfasst.
  17. System nach Anspruch 12, wobei die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks umfasst, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans sortiert sind, wobei ein erster der mehreren nach unten links orientierten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
  18. System nach Anspruch 12, wobei die Verarbeitungsreihenfolge Lumablocks umfasst, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt unter dem ersten Block, einen vierten Block direkt rechts des zweiten Blocks und einen fünften Block direkt rechts des dritten Blocks umfasst.
  19. System nach Anspruch 12, wobei die Verarbeitungsreihenfolge die Lumablocks umfasst, die auf Grundlage eines räumlichen Scans der Lumablocks sortiert sind, wobei der räumliche Scan mindestens einen ersten Block an einem oberen linken Lumablock der Codierungseinheit, einen zweiten Block direkt rechts des ersten Blocks, einen dritten Block direkt rechts des zweiten Blocks, einen vierten Block direkt unter dem ersten Block und einen fünften Block direkt rechts des vierten Blocks umfasst.
  20. System, umfassend: Mittel zum Empfang mehrerer Blocks quantisierter Resttransformationskoeffizienten, die einer Codierungseinheit eines Videorahmens entsprechen, zur Codierung, in einer normativen Codierungsreihenfolge, wobei die normative Codierungsreihenfolge zwei oder mehr direkt aneinander angrenzende Lumablocks umfasst, auf die ein oder mehrere Chromakanal-Eins-Blocks folgen, auf die ein oder mehrere Chromakanal-Zwei-Blocks folgen; Mittel zum Interleaving der mehreren Blocks quantisierter Resttransformationskoeffizienten von der normativen Codierungsreihenfolge in eine Verarbeitungsreihenfolge, die Verarbeitungsreihenfolge umfassend mindestens einen ersten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Eins-Block des einen oder der mehreren Chromakanal-Eins-Blocks; und Mittel zur Durchführung von Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die mehreren Blocks quantisierter Koeffizienten in der Verarbeitungsreihenfolge zum Erzeugen einer rekonstruierten Codierungseinheit, die den mehreren Blocks quantisierter Resttransformationskoeffizienten entspricht.
  21. System nach Anspruch 20, wobei die Verarbeitungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht und der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht.
  22. System nach Anspruch 20, wobei die Verarbeitungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht, der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht und der dritte Lumablock einer dritten Region der Codierungseinheit direkt unter der oberen linken Region entspricht.
  23. System nach Anspruch 20, wobei das Mittel zum Interleaving der mehreren Blocks umfasst: Mittel zur Bereitstellung fortlaufender Gruppen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock, direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und Mittel zur Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks nach den fortlaufenden Gruppen.
  24. System nach Anspruch 20, wobei das Mittel zum Interleaving der mehreren Blocks umfasst: Mittel zur Bereitstellung einer oder mehrerer fortlaufender Gruppen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und Mittel zur Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks nach den fortlaufenden Gruppen.
  25. System nach Anspruch 20, wobei die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks umfasst, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans sortiert sind, wobei ein erster der mehreren nach unten links orientierten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
  26. Maschinenlesbare(s) Medium/Medien, umfassend mehrere Anweisungen die, in Reaktion darauf, dass sie auf einer Rechnervorrichtung ausgeführt werden, die Rechnervorrichtung veranlassen, Videocodierung auszuführen durch: Empfang mehrerer Blocks quantisierter Resttransformationskoeffizienten, die einer Codierungseinheit eines Videorahmens entsprechen, zur Codierung, in einer normativen Codierungsreihenfolge, wobei die normative Codierungsreihenfolge zwei oder mehr direkt aneinander angrenzende Lumablocks umfasst, auf die ein oder mehrere Chromakanal-Eins-Blocks folgen, auf die ein oder mehrere Chromakanal-Zwei-Blocks folgen; Interleaving der mehreren Blocks quantisierter Resttransformationskoeffizienten von der normativen Codierungsreihenfolge in eine Verarbeitungsreihenfolge, die Verarbeitungsreihenfolge umfassend mindestens einen ersten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Eins-Block des einen oder der mehreren Chromakanal-Eins-Blocks; und Durchführung von Inversquantisierungs-, Inverstransformations- und Intravorhersageoperationen auf die mehreren Blocks quantisierter Koeffizienten in der Verarbeitungsreihenfolge zum Erzeugen einer rekonstruierten Codierungseinheit, die den mehreren Blocks quantisierter Resttransformationskoeffizienten entspricht.
  27. Maschinenlesbares Medium nach Anspruch 26, wobei die Verarbeitungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht und der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht.
  28. Maschinenlesbares Medium nach Anspruch 26, wobei die Verarbeitungsreihenfolge den ersten Lumablock umfasst, direkt gefolgt durch den ersten Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten Lumablock der zwei oder mehr Lumablocks, direkt gefolgt durch einen ersten Chromakanal-Zwei-Block des einen oder der mehreren Chromakanal-Zwei-Blocks, direkt gefolgt durch einen dritten Lumablock der zwei oder mehr Lumablocks, und wobei der erste Lumablock einer räumlich oberen linken Region der Codierungseinheit entspricht, der zweite Lumablock einer zweiten Region der Codierungseinheit direkt rechts der oberen linken Region entspricht und der dritte Lumablock einer dritten Region der Codierungseinheit direkt unter der oberen linken Region entspricht.
  29. Maschinenlesbares Medium nach Anspruch 26, wobei das Interleaving der mehreren Blocks umfasst: Bereitstellung fortlaufender Gruppen, die aus einem ersten einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen zweiten einzelnen Lumablock, direkt gefolgt durch einen einzelnen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks.
  30. Maschinenlesbares Medium nach Anspruch 26, wobei das Interleaving der mehreren Blocks umfasst: Bereitstellung einer oder mehrerer fortlaufender Gruppen, die aus einem einzelnen Lumablock bestehen, direkt gefolgt durch einen einzelnen Chromakanal-Eins-Block, direkt gefolgt durch einen Chromakanal-Zwei-Block, bis die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks aufgebraucht sind, und nachfolgend die Bereitstellung einer fortlaufenden Gruppe verbleibender Lumablocks.
  31. Maschinenlesbares Medium nach Anspruch 26, wobei die Verarbeitungsreihenfolge die Lumablocks, die Chromakanal-Eins-Blocks und die Chromakanal-Zwei-Blocks umfasst, die jeweils auf Grundlage mehrerer räumlich nach unten links orientierter Scans sortiert sind, wobei ein erster der mehreren nach unten links orientierten Scans an einem oberen linken Block der Codierungseinheit beginnt, und jeder nachfolgende nach unten links orientierte Scan an einem Block rechts von jedem vorherigen nach unten links orientierten Scan beginnt.
DE112017005664.0T 2016-11-10 2017-10-09 Umwandlungspuffer zum entkoppeln von normativem und umsetzungsdatenpfadinterleaving von videokoeffizienten Pending DE112017005664T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/348,783 US20180131936A1 (en) 2016-11-10 2016-11-10 Conversion buffer to decouple normative and implementation data path interleaving of video coefficients
US15/348,783 2016-11-10
PCT/US2017/055792 WO2018089146A1 (en) 2016-11-10 2017-10-09 Conversion buffer to decouple normative and implementation data path interleaving of video coefficients

Publications (1)

Publication Number Publication Date
DE112017005664T5 true DE112017005664T5 (de) 2019-08-22

Family

ID=62064173

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017005664.0T Pending DE112017005664T5 (de) 2016-11-10 2017-10-09 Umwandlungspuffer zum entkoppeln von normativem und umsetzungsdatenpfadinterleaving von videokoeffizienten

Country Status (4)

Country Link
US (1) US20180131936A1 (de)
CN (1) CN109891887B (de)
DE (1) DE112017005664T5 (de)
WO (1) WO2018089146A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013034162A (ja) * 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
WO2020228693A1 (en) * 2019-05-12 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Coding of multiple intra prediction methods
US11245915B1 (en) * 2020-09-18 2022-02-08 Xilinx, Inc. Conversion between raster and coded formats
EP4348271A1 (de) 2021-06-03 2024-04-10 DH Technologies Development PTE. Ltd. System und verfahren zur probenverarbeitung mit massenspektrometrie mit magnetischen kügelchen

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US348783A (en) 1886-09-07 Charles scheef

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383424B1 (en) * 2000-06-15 2008-06-03 Hewlett-Packard Development Company, L.P. Computer architecture containing processor and decoupled coprocessor
US6937652B2 (en) * 2002-04-19 2005-08-30 Seiko Epson Corporation Frame compression using radix approximation
US20060002468A1 (en) * 2004-06-22 2006-01-05 Minhua Zhou Frame storage method
KR100779173B1 (ko) * 2005-07-20 2007-11-26 한국전자통신연구원 폴리페이즈 다운 샘플링기반 리던던트 슬라이스 코딩 방법및 그 방법을 이용하는 코덱
CN103797792B (zh) * 2011-09-15 2018-06-05 Vid拓展公司 用于空间预测的系统和方法
WO2013128526A1 (ja) * 2012-02-28 2013-09-06 パナソニック株式会社 画像処理装置、及び、画像処理方法
US9503724B2 (en) * 2012-05-14 2016-11-22 Qualcomm Incorporated Interleave block processing ordering for video data coding
US9514510B2 (en) * 2013-03-29 2016-12-06 Mediatek Inc. Method and apparatus for arranging pixels of picture in storage units each having storage size not divisible by pixel size
WO2015200822A1 (en) * 2014-06-26 2015-12-30 Huawei Technologies Co., Ltd Method and device for reducing a computational load in high efficiency video coding
US9832388B2 (en) * 2014-08-04 2017-11-28 Nvidia Corporation Deinterleaving interleaved high dynamic range image by using YUV interpolation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US348783A (en) 1886-09-07 Charles scheef

Also Published As

Publication number Publication date
WO2018089146A1 (en) 2018-05-17
US20180131936A1 (en) 2018-05-10
CN109891887B (zh) 2022-10-11
CN109891887A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
DE102019218837A1 (de) VERFAHREN UND SYSTE M ZUR NEURONALNETZ WERK-SCHLEIFENFILTERUNG ZUR VlDEOCODIERUNG
DE112016002026B4 (de) Verfahren und System zum adaptiven Referenz-Frame-Caching für die Videocodierung
DE112018000280T5 (de) Entblockungsfilterung für 360-video
DE112017003212T5 (de) Verfahren und System zur Videocodierung mit Kontextdecodierung und Rekonstruktionsumgehung
DE102020127627A1 (de) Verfahren und System zum Videocodieren mit Intra-Block-Kopieren
JP6120390B2 (ja) 次世代動画用コンテンツに適応的な特性補償済み予測
DE112017005664T5 (de) Umwandlungspuffer zum entkoppeln von normativem und umsetzungsdatenpfadinterleaving von videokoeffizienten
KR20150090206A (ko) 차세대 비디오를 위한 코딩을 위한 콘텐츠 적응적 파라메트릭 변환
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
DE202016008175U1 (de) Adaptive gerichtete Intra-Prädiktion mit Blockgröße
CN113545063B (zh) 使用线性模型进行帧内预测的方法及装置
CN107810636A (zh) 使用混合递归滤波器的视频帧内预测
DE102020125206A1 (de) Verfahren und system zur mehrkanalvideocodierung mit frameratenänderung und kanalübergreifender referenzierung
DE202016008192U1 (de) Auswahl des Referenz-Bewegungsvektors über Referenzeinzelbild Puffer-Nachverfolgung
DE202016008164U1 (de) Intelligente Sortierung der rekursiven Blockaufteilung für die erweiterte Intra-Prädiktion bei der Videocodierung
KR20150070313A (ko) 다수의 독립 코딩 스트림들 사이에서 공유된 모션 추정을 포함하는 비디오 코딩
DE102022106872A1 (de) Verfahren und system zur mehrschichtigen videocodierung
DE102016015996B3 (de) Anpassungsfähige Kachel-Daten-Grössenkodierung für Video- und Bildkompression
JP2023126795A (ja) ビデオコーディングにおけるクロマイントラ予測のための方法及び装置
US11095890B2 (en) Memory-efficient filtering approach for image and video coding
CN113676726A (zh) 高质量先进邻居管理编码器体系结构
CN102055970A (zh) 多重标准视频解码系统
CN101459839A (zh) 去块效应滤波方法及实现该方法的装置
WO2019130794A1 (ja) 映像処理装置

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