DE112017008181T5 - Stfreie pixelkompression basierend auf abgeleiteter steuerinformationpixelkompression - Google Patents

Stfreie pixelkompression basierend auf abgeleiteter steuerinformationpixelkompression Download PDF

Info

Publication number
DE112017008181T5
DE112017008181T5 DE112017008181.5T DE112017008181T DE112017008181T5 DE 112017008181 T5 DE112017008181 T5 DE 112017008181T5 DE 112017008181 T DE112017008181 T DE 112017008181T DE 112017008181 T5 DE112017008181 T5 DE 112017008181T5
Authority
DE
Germany
Prior art keywords
compression
storage region
pixel storage
pixel
logic
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
DE112017008181.5T
Other languages
English (en)
Inventor
James Holland
Hiu-Fai CHAN
Fangwen Fu
Qian Xu
Sang-Hee Lee
Vidhya Krishnan
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 DE112017008181T5 publication Critical patent/DE112017008181T5/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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access

Landscapes

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

Abstract

Ein verlustfreier Pixelkompressor kann Technologie zum Erkennen eines Formats einer Pixelspeicherregion und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt, enthalten. Andere Ausführungsformen sind offenbart und werden beansprucht.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen betreffen im Allgemeinen Grafiksysteme. Insbesondere betreffen Ausführungsformen verlustfreie Pixelkompression basierend auf abgeleiteter Steuerinformation.
  • STAND DER TECHNIK
  • Verlustfreie Kompression kann sich auf Datenkompression beziehen, die es ermöglicht, dass Originaldaten vollkommen aus den komprimierten Daten wiederhergestellt werden. Verlustbehaftete Kompression kann demgegenüber nur die Wiederherstellung einer Annäherung an die Originaldaten ermöglichen. Verlustbehaftete Kompression kann von verschiedenen Anwendungen verwendet werden, wie etwa ZIP (.zip-Dateien) und GZIP (.gz-Dateien). Verlustfreie Kompression kann dort geeigneter sein, wo die Original- und die dekomprimierten Daten identisch sein müssen, wie etwa bei ausführbaren Programmen, Textdokumenten, Quellcode usw. Verlustbehaftete Kompression kann dort geeigneter sein, wo eine Annäherung an das Original akzeptabel sein kann, wie bei Audiodateien/-formaten (beispielsweise WMA. MP3), Bilddateien/-formaten (beispielsweise JPEG, PNG), Videodateien/-formaten (beispielsweise WMV, MP4) usw.
  • Figurenliste
  • Die verschiedenen Vorteile der Ausführungsformen werden dem Fachmann durch Lektüre der folgenden Spezifikation und der beiliegenden Ansprüche ersichtlich, und durch Bezugnahme auf die folgenden Zeichnungen; es zeigen:
    • 1 ein Blockdiagramm eines elektronischen Verarbeitungssystems gemäß einer Ausführungsform;
    • 2 ein Blockdiagramm eines Beispiels einer Halbleiterpackungsvorrichtung gemäß einer Ausführungsform;
    • 3A bis 3D Ablaufdiagramme eines Beispiels eines Verfahrens zum Komprimieren von Pixeln gemäß einer Ausführungsform;
    • 4 ein Blockdiagramm eines Beispiels eines verlustfreien Pixelkompressors gemäß einer Ausführungsform;
    • 5 ein veranschaulichendes Diagramm eines Beispiels eines Restformats für eine komprimierte Cachezeile gemäß einer Ausführungsform;
    • 6 ein veranschaulichendes Diagramm eines Beispiels einer auf mehreren Leveln angewendeten Kompressionstabelle gemäß einer Ausführungsform;
    • 7 ein veranschaulichendes Diagramm einer Ausgangspunktrechnung für eine komprimierte Cachezeile gemäß einer Ausführungsform;
    • 8 ein veranschaulichendes Diagramm einer komprimierten Cachezeilengestaltung gemäß einer Ausführungsform;
    • 9 ein Blockdiagramm eines anderen Beispiels eines verlustfreien Pixelkompressors gemäß einer Ausführungsform;
    • 10 ein Blockdiagramm eines Format- und Tiefendetektors gemäß einer Ausführungsform;
    • 11 ein Blockdiagramm eines Beispiels eines Bitkostenrechners gemäß einer Ausführungsform;
    • 12 ein Blockdiagramm eines Beispiels eines Systems mit einer Navigationssteuerung gemäß einer Ausführungsform; und
    • 13 ein Blockdiagramm eines Beispiels eines Systems mit einem kleinen Formfaktor gemäß einer Ausführungsform.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Unter Bezugnahme auf 1 kann eine Ausführungsform eines elektronischen Verarbeitungssystems 10 einen Prozessor 11, einen Speicher 12, der kommunikationstechnisch mit dem Prozessor 11 verkoppelt ist, und Logik 13 zum Erkennen eines Formats einer Pixelspeicherregion und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt, enthalten. In manchen Ausführungsformen kann die Logik 13 ferner zum Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken, Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation konfiguriert sein. Beispielsweise kann die Logik 13 zum Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion konfiguriert sein. Zusätzlich oder alternativ kann die Logik 13 außerdem zum Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich konfiguriert sein. In manchen Ausführungsformen kann die Logik 13 ferner zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind, und/oder zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind, konfiguriert sein. In manchen Ausführungsformen kann die Logik 13 außerdem zum Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat konfiguriert sein (beispielsweise können die Teilregionen homogener oder komprimierbarer sein, wenn sie zweckmäßig umgeordnet sind). Beispielsweise kann die Logik 13 außerdem zum Erkennen einer Tiefe der Pixelspeicherregion konfiguriert sein. In manchen Ausführungsformen kann die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle (beispielsweise wie hierin detaillierter beschrieben) enthalten.
  • Ausführungsformen von jedem des obigen Prozessors 11, Speichers 12, Logik 13 und anderen Systemkomponenten können in Hardware, Software oder jeglicher geeigneten Kombination davon implementiert sein. Beispielsweise können Hardware-Implementierungen konfigurierbare Logik enthalten, wie etwa beispielsweise programmierbare logische Felder (PLAs), feldprogrammierbare Gate-Arrays (FPGAs), komplexe programmierbare Logikbauelemente (CPLDs) oder Logikhardware mit festgelegter Funktionalität unter Benutzung von Schaltungstechnologie, wie etwa beispielsweise anwendungsspezifische integrierte Schaltungs- (ASIC-), komplementäre Metalloxidhalbleiter- (CMOS-) oder Transistor-Transistor-Logik- (TTL-) Technologie oder jegliche Kombination davon.
  • Alternativ oder zusätzlich können alle diese oder Abschnitte dieser Komponenten in einem oder mehr Modulen als ein Satz von Logikanweisungen implementiert sein, die in einem maschinen- oder rechnerlesbaren Speichermedium, wie etwa einem Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), programmierbarem ROM (PROM), Firmware, Flash-Speicher usw., gespeichert sind, zur Ausführung durch einen Prozessor oder ein Rechengerät. Beispielsweise kann Computerprogrammcode zum Ausführen der Betriebsvorgänge der Komponenten in jeglicher Kombination von einer oder mehr, für ein Betriebssystem (OS) anwendbare/geeignete Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache, wie etwa PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen, und herkömmliche verfahrensorientierte Programmiersprachen, wie etwa die „C“-Programmiersprache oder ähnliche Programmiersprachen. Beispielsweise können der Speicher 12, Permanentspeichermedien oder ein anderer Systemspeicher einen Satz von Anweisungen speichern, die, wenn sie durch den Prozessor 11 ausgeführt werden, bewirken, dass das System 10 ein/e/n oder mehr Komponenten, Merkmale oder Aspekte des Systems 10 implementiert (beispielsweise dass die Logik 13, die ein Format einer Pixelspeicherregion erkennt, die Pixelspeicherregion zusammen mit eingebetteter Steuerinformation komprimiert, welche das erkannte Format der Pixelspeicherregion anzeigt, usw.).
  • Unter Bezugnahme auf 2 kann eine Ausführungsform einer Halbleiterpackungsvorrichtung 20 ein Substrat 21 und Logik 22, die an das Substrat gekoppelt ist, enthalten, wobei die Logik 22 mindestens teilweise in konfigurierbarer Logik und/oder Hardwarelogik mit festgelegter Funktionalität implementiert ist. Die Logik 22, die an das Substrat 21 gekoppelt ist, kann zum Erkennen eines Formats einer Pixelspeicherregion und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt, konfiguriert sein. In manchen Ausführungsformen kann die Logik 22 ferner zum Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken, Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation konfiguriert sein. Beispielsweise kann die Logik 22 zum Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion konfiguriert sein. Zusätzlich oder alternativ kann die Logik 22 außerdem zum Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich konfiguriert sein. In manchen Ausführungsformen kann die Logik 22 ferner zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind, und/oder zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind, konfiguriert sein. In manchen Ausführungsformen kann die Logik 22 außerdem zum Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat konfiguriert sein (beispielsweise können die Teilregionen homogener oder komprimierbarer sein, wenn sie zweckmäßig umgeordnet sind). Beispielsweise kann die Logik 22 außerdem zum Erkennen einer Tiefe der Pixelspeicherregion konfiguriert sein. In manchen Ausführungsformen kann die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthalten.
  • Ausführungsformen der Logik 22 und anderer Komponenten der Vorrichtung 20 können in Hardware, Software oder jeglicher Kombination davon implementiert sein, darunter mindestens eine Teilimplementierung in Hardware. Beispielsweise kann Hardware-Implementierung konfigurierbare Logik, wie etwa beispielsweise PLAs, FPGAs, CPLDs, oder Logikhardware mit festgelegter Funktionalität unter Benutzung von Schaltungstechnologie, wie etwa beispielsweise ASIC-, CMOS- oder TTL-Technologie oder jegliche Kombination davon, enthalten. Zusätzlich können Abschnitte dieser Komponenten in einem oder mehr Modulen als ein Satz von Logikanweisungen implementiert sein, die in einem maschinen- oder rechnerlesbaren Speichermedium, wie etwa einem RAM, ROM, PROM, Firmware, Flash-Speicher usw., gespeichert sind, zur Ausführung durch einen Prozessor oder ein Rechengerät. Beispielsweise kann Computerprogrammcode zum Ausführen der Betriebsvorgänge der Komponenten in jeglicher Kombination von einer oder mehr, für ein Betriebssystem (OS) anwendbare/geeignete Programmiersprachen geschrieben sein, wie etwa PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen und herkömmliche verfahrensorientierte Programmiersprachen, wie etwa die „C“-Programmiersprache oder ähnliche Programmiersprachen.
  • Unter Bezugnahme auf 3A bis 3D kann eine Ausführungsform eines Verfahrens 25 zum Komprimieren von Pixeln Erkennen eines Formats einer Pixelspeicherregion bei Block 26 und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt, bei Block 27 enthalten. Manche Ausführungsformen der Erfindung können ferner Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken bei Block 28, Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen bei Block 29 und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation bei Block 30 enthalten. Beispielsweise kann das Verfahren 25 Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken bei Block 31 und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion bei Block 32 enthalten. Zusätzlich oder alternativ kann das Verfahren 25 außerdem Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle bei Block 33 und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich bei Block 34 enthalten. Beispielsweise kann das Verfahren 25 außerdem Erkennen einer Tiefe der Pixelspeicherregion bei Block 35 enthalten. In manchen Ausführungsformen kann die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle bei Block 36 enthalten. Manche Ausführungsformen des Verfahrens 25 können ferner Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind, bei Block 37 und/oder Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind, bei Block 38 enthalten. Beispielsweise kann das Verfahren 25 außerdem Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat bei Block 39 enthalten (beispielsweise können die Teilregionen homogener oder komprimierbarer sein, wenn sie zweckmäßig umgeordnet sind).
  • Ausführungsformen des Verfahrens 25 können in einem System, einer Vorrichtung, einem Rechner, einem Gerät usw., beispielsweise wie jene, die hierin beschrieben sind, implementiert werden. Insbesondere können Hardware-Implementierungen des Verfahrens 25 konfigurierbare Logik, wie etwa beispielsweise PLAs, FPGAs, CPLDs, oder Logikhardware mit festgelegter Funktionalität unter Benutzung von Schaltungstechnologie, wie etwa beispielsweise ASIC-, CMOS- oder TTL-Technologie oder jegliche Kombination davon, enthalten. Alternativ oder zusätzlich kann das Verfahren 25 in einem oder mehr Modulen als ein Satz von Logikanweisungen implementiert werden, die in einem maschinen- oder rechnerlesbaren Speichermedium, wie etwa einem RAM, ROM, PROM, Firmware, Flash-Speicher usw., gespeichert sind, zur Ausführung durch einen Prozessor oder ein Rechengerät. Beispielsweise kann Computerprogrammcode zum Ausführen der Betriebsvorgänge der Komponenten in jeglicher Kombination von einer oder mehr, für ein Betriebssystem (OS) anwendbare/geeignete Programmiersprachen geschrieben sein, wie etwa PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen und herkömmliche verfahrensorientierte Programmiersprachen, wie etwa die „C“-Programmiersprache oder ähnliche Programmiersprachen.
  • Beispielsweise kann das Verfahren 25 auf einem rechnerlesbaren Medium implementiert werden, wie in Verbindung mit Beispiel 19 bis 27 nachstehend beschrieben. Ausführungsformen oder Anteile des Verfahrens 25 können in Firmware, Anwendungen (beispielsweise über eine Anwendungsprogrammierschnittstelle (API)) oder Treibersoftware, die auf einem Betriebssystem (OS) laufen, implementiert werden.
  • Unter Bezugnahme auf 4 kann eine Ausführungsform eines verlustfreien Pixelkompressors 44 einen Formatdetektor 45 enthalten, der kommunikationstechnisch an einen Kompressionsselektor 46 und einen Kompressor 47 gekoppelt ist. Der Formatdetektor 45 kann Technologie zum Erkennen eines Formats einer Pixelspeicherregion enthalten, und der Kompressor 47 kann Technologie zum Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt, enthalten. In manchen Ausführungsformen kann der Kompressionsselektor 46 Technologie zum Bestimmen von Kompressionsergebnissen für zwei oder mehr verlustfreie Pixelkompressionstechniken und zum Auswählen von einer der zwei oder mehr verlustfreien Pixelkompressionstechniken basierend auf den bestimmten Kompressionsergebnissen enthalten. Der Kompressor 47 kann die Pixelspeicherregion unter Benutzung der ausgewählten verlustfreien Pixelkompressionstechnik zusammen mit der eingebetteten Steuerinformation komprimieren. Beispielsweise kann der Kompressionsselektor 46 mit dem Kompressor 47 zum Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr verlustfreien Pixelkompressionstechniken und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion zusammenarbeiten. Zusätzlich oder alternativ kann der Kompressionsselektor 46 außerdem Technologie zum Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr verlustfreien Pixelkompressionstechniken mit einer Schwelle und Auswählen von einer der zwei oder mehr verlustfreien Pixelkompressionstechniken basierend auf dem Schwellenvergleich enthalten. Beispielsweise kann der Formatdetektor 45 außerdem Technologie zum Erkennen einer Tiefe der Pixelspeicherregion enthalten. In manchen Ausführungsformen kann die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthalten. In manchen Ausführungsformen kann der Kompressor 47 ferner zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind, und/oder zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind, konfiguriert sein. In manchen Ausführungsformen kann der Prozessor 47 außerdem zum Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat konfiguriert sein (beispielsweise um die Kompression zu erhöhen). Beispielsweise kann ARGBARGB zu AARRGGBB umformatiert werden, sodass jede Teilregion homogener sein kann und sich besser komprimieren lässt. Gleicherweise könnte Umordnen von ARGBARGB zu ARARGBGB nicht notwendigerweise homogener sein, wobei sich jedoch ARARGBGB in manchen Fällen immer noch besser als ARGBARGB komprimieren lässt.
  • Ausführungsformen des Formatdetektors 45, des Kompressionsselektors 46, des Kompressors 47 und anderer Komponenten des verlustfreien Pixelkompressors 44 können in Hardware, Software oder jeglicher Kombination davon implementiert sein, darunter mindestens eine Teilimplementierung in Hardware. Beispielsweise können Hardware-Implementierungen konfigurierbare Logik, wie etwa beispielsweise PLAs, FPGAs, CPLDs, oder Logikhardware mit festgelegter Funktionalität unter Benutzung von Schaltungstechnologie, wie etwa beispielsweise ASIC-, CMOS- oder TTL-Technologie oder jegliche Kombination davon, enthalten. Zusätzlich können Abschnitte dieser Komponenten in einem oder mehr Modulen als ein Satz von Logikanweisungen implementiert sein, die in einem maschinen- oder rechnerlesbaren Speichermedium, wie etwa einem RAM, ROM, PROM, Firmware, Flash-Speicher usw., gespeichert sind, zur Ausführung durch einen Prozessor oder ein Rechengerät. Beispielsweise kann Computerprogrammcode zum Ausführen der Betriebsvorgänge der Komponenten in jeglicher Kombination von einer oder mehr, für ein Betriebssystem (OS) anwendbare/geeignete Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie etwa PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen und herkömmliche verfahrensorientierte Programmiersprachen, wie etwa die „C“-Programmiersprache oder ähnliche Programmiersprachen.
  • Manche Ausführungen können vorteilhafterweise abgeleitete Steuerinformation für verlustfreie Pixelkompression nutzen. Bei verlustfreier Speicherkompression für 2D-Bildanwendungen sind beispielsweise verschiedene Speicherverpackungsstrukturen gemeinsam. Manche Ausführungsformen können vorteilhafterweise automatisch gemeinsame Formate erkennen und das erkannte Format innerhalb einer komprimierten Cachezeile einbetten. Manche Ausführungsformen können vorteilhafterweise das Erfordernis zum Übertragen von Seitenbandinformation reduzieren oder beseitigen und könnten nicht erfordern, dass der Sender die Speichergestaltung, die durch den Kompressor benutzt würde, explizit codiert.
  • Manche Ausführungsformen können zusätzlich oder alternativ Kompression in Fällen verbessern, in denen bestimmte Pixelmuster höhere Kompression mit einem Format erzielen, das sich von einem ursprünglich angegebenen Format unterscheidet. Beispielsweise kann, wenn ein Paar (oder mehr) Cachezeilen einer Ausführungsform eines Kompressorblocks zugeführt werden, der Kompressor, statt explizit zu signalisieren, wie die Gestaltung ist (beispielsweise 8-8-8-8, 10-10-10-2, 16-16 mit nur 10 benutzten Bits usw.), das Format durch Ausprobieren von verschiedenen Kombinationen von Byte-Gruppierungen erkennen. Die beste Kompressionstechnik kann dann ausgewählt werden und Steuerinformation kann in der (den) Cachezeile(n) zur Verwendung durch den Dekompressor eingebettet werden.
  • Manche Ausführungsformen können vorteilhafterweise verbesserte Leistung und Leistungsfähigkeit von video- und pixelbasierten Speicheranwendungen ohne Verschlechterung der Bildqualität auf einen größeren Satz von Pixelformaten und -gestaltungen vorsehen, als möglich sein könnte, wenn alle Typen über das interne Ausführen von Komprimieren und Dekomprimieren hinweg verwaltet würden. Beispielsweise kann ein P010-Format ein Wort (16 Bits) für jeden Pixelwert nutzen, obgleich der zulässige Bereich für jegliches Pixel auf 1023 begrenzt ist, unter Erfordernis von nur 10 Bits. Die oberen sechs (6) Bits sind immer Null (0), und eine Ausführungsform eines Kompressors kann dieses Muster erkennen und mit einem (1) Bit das Vorhandensein von 192 Nullen signalisieren (beispielsweise unter Vorsehung von ungefähr 192 zu 1 verlustfreier Kompression).
  • In manchen anderen Systemen kann jedes Pixel mit variabler Länge codiert werden, unter Ausnahme eines Keims, und verschiedene Einzelheiten darüber, wie die Daten komprimiert werden, können durch Seitenbandinformation gehandhabt werden. Statt jedes Pixel strikt als ein Byte oder ein Wort zu behandeln und die Deltas unter jedem Pixel eines nach dem anderen zu errechnen, können manche Ausführungsformen die Gesamtheit einer Cachezeile analysieren, um Schlüsselmuster zu erkennen, die innerhalb der Cachezeile als eingebettete Information zur Benutzung durch den Dekompressor signalisiert werden können. Manche Ausführungsformen können die Steuerinformationshandhabung vereinfachen (beispielsweise durch Software) und außerdem in Fällen Kompression versehen, in denen vermischte Formate innerhalb derselben Speicherregion benutzt werden.
  • Unter Bezugnahme auf 5 kann eine Ausführungsform eines Restformats für eine komprimierte Cachezeile 50 eingebettete Steuerinformation enthalten. Beispielsweise kann die Cachezeile 50 einen Formatindex 51 zum Anzeigen eines Formats für die gesamte Cachezeile 50, einen Tabellenindex 52, einen Bitmapabschnitt 53 und Restdaten 54 enthalten. Beispielsweise kann eine Cachezeile 512 Bits enthalten, die als vierundsechzig (64) Acht- (8) Bit-Bytes organisiert sein können, welche vier (4) Gruppen von sechzehn (16) Bytes oder vier (4) 4x4-Blöcke von Pixeln darstellen. In manchen Ausführungsformen kann der Formatindex 51 fünf (5) Bits zum Indizieren von bis zu 32 verschiedenen Formaten enthalten, kann der Tabellenindex 52 drei (3) Bits für jeden von vier 4x4-Blöcken zum Indizieren von bis zu 8 Einträgen in einer auf mehreren Leveln angewendeten Tabelle enthalten (beispielsweise 12 Bits insgesamt für den Tabellenindex 52), und kann der Bitmapabschnitt 53 fünfzehn (15) Bits pro codiertem 4x4-Block enthalten (beispielsweise bis zu 60 Bits insgesamt für den Bitmapabschnitt 53). Die Restdaten 54 können einen adaptiven Zweilängenrest pro Pixel innerhalb von jedem codierten 4x4-Block enthalten. Abhängig von den Daten in der Cachezeile 50 könnten der Bitmapabschnitt 53 und/oder die Restdaten 54 für einen oder mehr der 4x4-Blöcke nicht codiert sein.
  • Unter Bezugnahme auf 6 kann eine Ausführungsform einer auf mehreren Leveln angewendeten Kompressionstabelle 60 acht (8) Tabelleneinträge enthalten. Jeder Eintrag null (0) bis sieben (7) kann einen Level-0- (L0-) Wert, einen Level-1- (L1-) Wert, einen Bitmapwert, einen Minimal- (Min-) Wert und einen Maximal- (Max-) Wert enthalten. Die Tabelle 60 kann als auf zwei Leveln angewendete Kompressionstabelle angesehen werden. Andere Ausführungsformen können mehr Level und/oder mehr oder weniger Tabelleneinträge enthalten. Die Tabelle 60 kann zum Bestimmen, welche Kompressionstechnik auf die Cachezeile angewendet wurde, benutzt werden. Beispielsweise kann die Information in der Tabelle 60 zum Erstellen, was vorher als Seitenbandinformation kommuniziert wurde, die jeden Satz von komprimierten Daten begleitet hat, genutzt werden. Vorteilhafterweise kann, weil die Min- und Max-Werte nicht in Seitenbandinformation enthalten sind, ein weiter Bereich von Min- und Max-Restwerten unterstützt werden, und manche Ausführungsformen können verbesserte oder optimalere Kompression vorsehen.
  • Für manche Ausführungsformen der Tabelle 60 kann für den Tabelleneintrag null (0) keine Bitmap und kein Rest zu codieren sein (beispielsweise können Keime immer explizit codiert werden). Für die Tabelleneinträge drei (3) bis sieben (7) können sowohl Bitmap als auch Rest zu codieren sein. Für den Tabelleneintrag sieben (7) können, wenn 8 Bits erforderlich sind, manche Ausführungsformen die Rohdaten anstelle des Rests codieren.
  • In der Tabelle 60 können die L0-Werte der Anzahl von Bits entsprechen, die zum Darstellen des Restwerts benutzt werden, wenn der entsprechende Bitmapwert 0 ist. Die L1-Werte können der Anzahl von Bits entsprechen, die zum Darstellen des Restwerts benutzt werden, wenn der entsprechende Bitmapwert 1 ist. Der Bitmapwert sieht ein Bit pro Pixel eines 4x4-Blocks vor, unter Ausschluss des Keims (beispielsweise 15 Bits pro 4x4-Block) . Wenn die Bitmap codiert wird, stellt jedes Bit entweder L0 oder L1 dar, die zum Codieren des entsprechenden Rests benutzt werden. Der Min-Wert kann einen minimalen Restwert für den Eintrag darstellen, während der Max-Wert einen maximalen Restwert für den Eintrag darstellen kann.
  • Unter Bezugnahme auf 7 kann eine Ausführungsform einer Ausgangspunktrechnung 70 zum Decodieren einer Cachezeile die folgende Rechnung beinhalten: starting_point = +  L 0   *  #bitmap0  +  L1 * #bitmap1
    Figure DE112017008181T5_0001
    wobei k der Anzahl von Bits zum Darstellen des ersten Pixelwerts in jedem 4x4-Block entspricht (beispielsweise k = 8), #bitmap0 dem Bitmapwert 0 an der spezifizierten Position im 4x4-Block entspricht, und #bitmap1 dem Bitmapwert 1 an der spezifizierten Position im 4x4-Block entspricht. Unter Benutzung der Tabelle 60 kann Restdecodieren für jedes Pixel wie folgt ausgeführt werden. Wenn das Pixel ein Keimpixel ist, können 8 Bits zum Decodieren des Pixelwerts benutzt werden (beispielsweise kann der Keim in ein separates Segment herausgezogen werden). Wenn der Cachezeilen-Bitmapwert für das Pixel 0 ist, kann L0 zum Decodieren des Pixelwerts benutzt werden. Andernfalls kann L1 zum Decodieren des Pixelwerts benutzt werden.
  • Voraussage auf der Kompressorseite kann dieselbe wie im Dekompressor sein. Zusätzlich zum Ausführen einer Voraussage und Codieren des Rests kann der Kompressor die richtige Länge (entsprechend dem Tabellenindex) zum Codieren der Reste aufnehmen. Zum Bestimmen der Tabellenindexauswahl können manche Ausführungsformen die Minimum- und Maximumreste für jeden 4x4-Block in der Cachezeile bestimmen. Beispielsweise können in der Tabelle 60 die Einträge mit einem ansteigenden Bereich von Min/Max-Restpaaren angeordnet werden (beispielsweise unter Herabsetzung von Min und Erhöhung von Max). Der Kompressor kann bei Eintrag 0 beginnen und den Eintrag mit der niedrigsten Zahl auswählen, der die bestimmten Min/Max-Restwerte für die Cachezeile abdeckt.
  • Unter Bezugnahme auf 8 kann ein veranschaulichender Satz von komprimierten Cachezeilen (CLs) wie oben in Verbindung mit 7 beschrieben decodiert werden. Ein Wert von UC kann einem nicht komprimierten Keimwert entsprechen. Ein Wert von 1D kann einem komprimierten Fehler basierend auf 1 von oberer/linker/unterer/rechter Voraussage entsprechen. Ein Wert von 2D kann einem komprimierten Fehler basierend auf oberer/unterer und linker/rechter Voraussage entsprechen. Es können 4 kritische Pfade von 4 Voraussagen zum Vervollständigen der 512 Bits vorliegen. Einige andere komprimierte Cachezeilengestaltungen können 18 Stufen zum Dekomprimieren des gesamten Blocks benötigen. Manche Ausführungsformen können die Latenz durch Unterteilen einer 16x4-Cachezeile in 4 4x4-Teilcachezeilen verbessern. Jede Teilcachezeile kann ihren eigenen, nicht komprimierten Keimwert aufweisen, wodurch ermöglicht ist, dass die 4 Teilcachezeilen parallel dekomprimiert werden. Der UC kann zur Mitte hin angeordnet werden, um zu ermöglichen, dass Dekompression von der Mitte nach außen ausgeführt wird (beispielsweise kann ein Radius kleiner als ein Durchmesser sein). Manche Ausführungsformen können vorteilhafterweise nur 4 Stufen benötigen, die parallel erfolgen können.
  • Die Größe in Bit von jedem 4x4 kann basierend auf der Komplexität jeden Blocks variabel sein. Vorteilhafterweise können, da die Anzahl von Bits für jeden 4x4 bekannt ist, die Versätze zum Ausgangspunkt von jedem 4x4 zum Ermöglichen von paralleler Dekompression errechnet werden. Statt drei (3) 9-Bit-Versatzwerte innerhalb des Cachezeilenheaders zu beinhalten, können manche Ausführungsformen eines Decodierers die Versätze basierend auf der anderen Information, die durch den Header vorgesehen wird, errechnen.
  • Die Darstellung, die in 8 gezeigt ist, kann einem monochromen Fall entsprechen. In dem Fall, in dem die Pixel als ARGBARGBARGB usw. erkannt wurden, kann der Kompressor einen 4x4 von A, einen 4x4 von R, einen 4x4 von G und einen 4x4 von B herstellen. Innerhalb jeden 4x4 kann die Kompression/Dekompression so wie der monochrome Fall gehandhabt werden, wonach die Dekompression die Bytes zurück zu ARGBARGBARGB umstellen kann. Für einen ähnlichen Fall von YUYV (YUY2) sind zwei (2) 4x4-Blöcke Y, ist ein (1) 4x4 U und ist ein (1) 4x4 V. Diese Fälle können alle 8-Bit-Werte pro Komponente enthalten. Im Falle von höheren Bittiefen können manche Ausführungsformen 4x2-Blöcke von 16-Bit-Datentypen nutzen, die immer noch 16 Pixel pro 4x4-Datengruppe aufweisen.
  • In manchen Ausführungsformen kann die Erkennungslogik für nur eine der unterteilten Regionen ausgeführt werden. Die Analyse für die eine unterteilte Region kann dann auf den gesamten Block angewendet werden, um die Menge von redundanter Analyse zu verringern. Vorteilhafterweise kann der Versatz zur Ausgangsbitstelle innerhalb der komprimierten Cachezeile durch Untersuchung des Headers abgeleitet (beispielsweise nicht explizit signalisiert) werden. Manche Ausführungsformen können einen oder mehr nicht komprimierte Keime vorsehen. Beispielsweise können manche Ausführungsformen nur einen Keim für eine erste Teilregion vorsehen und dann die anderen drei Pseudokeime als ein Delta aus dem nur roh codierten Keim komprimieren. Vorsehen von vier rohen Keimen kann ferner die Latenz verringern, wobei jedoch nur ein Keim (beispielsweise nicht komprimierter Pixelwert) benötigt werden kann.
  • Unter Bezugnahme auf 9 kann eine Ausführungsform eines Kompressors 80 einen Format- und Tiefendetektor (FDD) 81 enthalten, der kommunikationstechnisch an einen Cachezeilenzwischenspeicher 82 gekoppelt ist. Beispielsweise kann der Cachezeilenzwischenspeicher 82 zwei oder mehr Cachezeilen von Pixeldaten speichern. Der FDD 81 kann zwei oder mehr Detektoren 81a bis 81n enthalten. Jeder der Detektoren kann Technologie zum Erkennen eines spezifischen Pixelpackungsformats und/oder Pixeltiefe enthalten. Beispielhafte Pixeltiefen können eine Acht- (8-) Bit-Tiefe (beispielsweise eine Bytetiefe), eine Sechzehn- (16-) Bit-Tiefe (beispielsweise eine Worttiefe), eine Zehn- (10-) Bit-Tiefe (beispielsweise 16 Bits, wobei 6 immer null sind), eine Zwölf- (12-) Bit-Tiefe (beispielsweise 16 Bits, wobei 4 immer null sind) usw. beinhalten. Beispielsweise kann Detektor 81a zum Erkennen eines Y21 (dist=2) Formats (wobei „dist“ beispielsweise der Distanz derselben Kanalpixel in der Pixelspeicherregion entspricht) konfiguriert sein, kann Detektor 81b zum Erkennen eines UV21 (dist=2) Formats konfiguriert sein, kann Detektor 81c zum Erkennen eines YUYV (dist=2, 4) Formats konfiguriert sein, kann Detektor 81d zum Erkennen eines RGBA (dist=4) Formats konfiguriert sein, kann Detektor 81e zum Erkennen eines RGBA (dist=4) Formats einem Y410-Konverter 83 folgend konfiguriert sein, kann Detektor 81f zum Erkennen eines Y216 (dist=4, 8) Formats konfiguriert sein, kann Detektor 81g zum Erkennen eines Y416 (dist=8) Formats konfiguriert sein, kann Detektor 81n zum Erkennen eines Y416-Formats einem FP16-Konverter 84 folgend konfiguriert sein, usw. (beispielsweise können andere Konverter und/oder Formatdetektoren enthalten sein).
  • Die Detektoren 81a bis 81n können zur Ausführung parallel gekoppelt sein, und der FDD 81 kann ein Ergebnis der Formaterkennung einem Kompressionsselektor 85 zuführen. Der Kompressionsselektor 85 kann die Daten im Cachezeilenzwischenspeicher 82 und/oder die erkannte Formatinformation zum Auswählen einer besten Kompressionstechnik für die Daten im Cachezeilenzwischenspeicher 82 analysieren. Beispielsweise kann der Kompressionsselektor 85 eine oder mehr Kompressionstechniken auf einen Anteil der Daten im Cachezeilenzwischenspeicher 82 anwenden, um zu bestimmen, ob jegliche der verfügbaren Kompressionstechniken eine Zielrate erzielen (beispielsweise 2:1-Kompression, 3:2-Kompression, 4:3-Kompression, 3:1-Kompression usw.). In manchen Ausführungsformen kann der Kompressionsselektor 85 alle verfügbaren Kompressionstechniken anwenden und die Kompressionstechnik auswählen, die die beste Kompression vorsieht. Alternativ kann der Kompressionsselektor 85 in manchen Ausführungsformen die erste Kompressionstechnik auswählen, die genügend gute Kompression vorsieht (beispielsweise im Vergleich zu einer Schwelle oder einem Bereich von annehmbarer Kompression).
  • Pseudocode für eine mehrformatige Mehrfachtiefenerkennungsstruktur kann wie folgt dargestellt werden:
    Figure DE112017008181T5_0002
  • Unter Bezugnahme auf 10 kann eine Ausführungsform eines Format- und Tiefendetektors 90 einen Prädiktor 91 zum Bestimmen einer Voraussage basierend auf Cachezeilendaten, Formatklasseninformation (darunter beispielsweise Voraussage von dist) usw. und zum Vorsehen von Restdaten basierend auf der Voraussage enthalten. Der Detektor 90 kann ferner einen Bitkostenschätzer 92 zum Schätzen von Bitkosten für verschiedene Tiefenwerte und zum Vorsehen von geschätzten Bitkosten für den besten Tiefenwert enthalten. Beispielsweise kann der Bitkostenschätzer 92 einen ersten Schätzer 93 für 4x4-Block 0 und einen zweiten Schätzer 94 für 4x4-Block 3 zum Bestimmen von verschiedenen Bitkostenschätzungen für die verschiedenen Tiefen enthalten. Der Bitkostenschätzer 93 kann Logik zum Ausführen von Zählen einer Anzahl von Restnullverschiebungsvorgängen für 2-Bits, 3-Bits und 4-Bits (beispielsweise numRes_shift0(2 bit, 3 bit, 4 bit)) für den 4x4-Block 0 und, wenn Tiefenerkennung ermöglicht ist, zum Ausführen von ähnlichen Vorgängen für Vorgänge für Verschiebung um 2, Verschiebung um 3 und Verschiebung um 4 (beispielsweise numRes_shift2(2 bit, 3 bit, 4 bit) usw.) enthalten. Beispielsweise kann sich numRes shiftx (2 bit) auf die Anzahl von Resten beziehen, die mit 2-Bits dargestellt werden können, nachdem der Rest um x Bit innerhalb einer 4x4-Gruppe verschoben wurde. Logik 93b kann die Bitkosten für den Nullverschiebungsvorgang berechnen (siehe beispielsweise 11 unten). Wenn Verschiebungserkennung benötigt wird, kann Logik 93c die Bitkosten für den Verschiebungsvorgang um 2 als 16*6 = 96 roh codieren, kann Logik 93d die Bitkosten für den Verschiebungsvorgang um 3 als 16*4 = 64 roh codieren und kann Logik 93e die Bitkosten für den Verschiebungsvorgang um 4 als 16*2 = 32 roh codieren.
  • Gleicherweise kann der Bitkostenschätzer 94 Logik zum Ausführen von Zählen einer Anzahl von Restnullverschiebungsvorgängen für 2-Bits, 3-Bits und 4-Bits (beispielsweise numRes_shift0(2 bit, 3 bit, 4 bit)) für den 4x4-Block 3 und, wenn Tiefenerkennung ermöglicht ist, zum Ausführen von ähnlichen Vorgängen für Vorgänge für Verschiebung um 2, Verschiebung um 3 und Verschiebung um 4 (beispielsweise numRes_shift2(2 bit, 3 bit, 4 bit) usw.) enthalten. Dieselben Vorgänge können ebenfalls auf 4x4-Block 1 und 2 angewendet werden. Logik 94b kann die Bitkosten für den Nullverschiebungsvorgang berechnen (siehe beispielsweise 11 unten). Wenn Verschiebungserkennung benötigt wird, kann Logik 94c die Bitkosten für den Verschiebungsvorgang um 2 als 16*6 = 96 roh codieren, kann Logik 94d die Bitkosten für den Verschiebungsvorgang um 3 als 16*4 = 64 roh codieren und kann Logik 94e die Bitkosten für den Verschiebungsvorgang um 4 als 16*2 = 32 roh codieren. Ein Selektor 95 für die beste Tiefe kann zum Bestimmen des besten Tiefenwerts basierend auf den geschätzten Bitkosten konfiguriert sein.
  • Unter Bezugnahme auf 11 kann eine Ausführungsform eines Verfahrens 100 zum Berechnen von Bitkosten Auffinden des besten Codes bei Block 101 und Bestimmen, ob L1 = 0 ist, bei Block 102 enthalten. Falls dies so ist, können die Bitkosten bei Block 103 als die Anzahl von Bits für die Bitmap (beispielsweise 15) plus L0 plus die Anzahl von Bits für den Keim im 4x4-Block (beispielsweise 8) plus die Anzahl von Bits für den Tabellenindex (beispielsweise 3) berechnet werden. Andernfalls können die Bitkosten bei Block 104 wie folgt berechnet werden: bitcost = numRes_shift ( L 0 ) * L 0 + ( bitmap_size numRes_shift0 ( L 0 ) ) * L 1 + bitmap_size + seed_size_in_bits + table_index_size
    Figure DE112017008181T5_0003
    wobei bitmap _ size der Anzahl von Bits in der Bitmap entspricht, seed_size_in-bits der Anzahl von Bits zum Darstellen des Keims im 4x4-Block entspricht, und table_index_size der Anzahl von Bits für den Tabellenindex entspricht. In manchen Ausführungsformen können die Berechnungen alle oder vorwiegend Ganzzahlberechnungen sein. Manche Ausführungsformen können zusätzlich oder alternativ Gleitkommaberechnungen nutzen.
  • Vorteilhafterweise können manche Ausführungsformen die auf mehreren Leveln angewendeten Kompressionstabelle zusammen mit eingebetteter Steuerinformation zum Vereinfachen des Kompressions-/Dekompressionsprozesses ohne Seitenbandinformation nutzen. Manche Ausführungsformen können zusätzlich oder alternativ die Leistung und Leistungsfähigkeit für video- und pixelbasierte Speicheranwendungen ohne Verschlechterung der Bildqualität verbessern.
  • 12 stellt eine Ausführungsform eines Systems 700 dar. In manchen Ausführungsformen kann das System 700 ein Mediensystem sein, obwohl das System 700 nicht auf diesen Kontext beschränkt ist. Beispielsweise kann das System 700 in einen Personal Computer (PC), Laptop-Computer, Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, handgehaltenen Computer, Palmtop-Computer, Personal Digital Assistant (PDA), ein Mobiltelefon, eine Mobiltelefon/PDA-Kombination, einen Fernseher, ein intelligentes Gerät (beispielsweise Smartphone, Smart-Tablet oder Smart-TV) , mobiles Internet-Gerät (MID), Nachrichtenübermittlungsgerät, Datenkommunikationsgerät usw. integriert sein.
  • In Ausführungsformen weist das System 700 eine Plattform 702 auf, die an eine Anzeige 720 gekoppelt ist, welche visuellen Inhalt anzeigt. Die Plattform 702 kann Videobitstrominhalt von einem Inhaltsgerät wie etwa Inhaltsdienstgerät(en) 730 oder Inhaltzufuhrgerät(en) 740 oder anderen ähnlichen Inhaltsquellen empfangen. Eine Navigationssteuerung 750, die ein oder mehr Navigationsmerkmale aufweist, kann zum Interagieren mit beispielsweise der Plattform 702 und/oder der Anzeige 720 benutzt werden. Jede dieser Komponenten wird nachstehend detaillierter beschrieben.
  • In Ausführungsformen kann die Plattform 702 jegliche Kombination eines Chipsatzes 705, Prozessors 710, Speichers 712, einer Speicherung 714, eines Grafikuntersystems 715, von Anwendungen 716 und/oder eines Funkgeräts 718 (beispielsweise Netzwerksteuerung) aufweisen. Der Chipsatz 705 kann Interkommunikation zwischen dem Prozessor 710, Speicher 712, der Speicherung 714, dem Grafikuntersystem 715, Anwendungen 716 und/oder dem Funkgerät 718 vorsehen. Beispielsweise kann der Chipsatz 705 einen Speicherungsadapter (nicht dargestellt) enthalten, der zum Vorsehen von Interkommunikation mit der Speicherung 714 imstande ist.
  • Der Prozessor 710 kann als Complex Instruction Set Computer- (CISC-) oder Reduced Instruction Set Computer-(RISC-) Prozessoren, mit Prozessoren kompatibler x86-Anweisungssatz, Multicore- oder jeglicher andere Mikroprozessor oder zentrale Recheneinheit (CPU) implementiert sein. In Ausführungsformen kann der Prozessor 710 (einen) Dualcore-Prozessor(en), mobilen Dualcore-Prozessor(en) usw. aufweisen.
  • Der Speicher 712 kann als flüchtiges Speichergerät implementiert sein, wie etwa u.a. ein Direktzugriffsspeicher (RAM), dynamischer Direktzugriffsspeicher (DRAM) oder statischer RAM (SRAM).
  • Die Speicherung 714 kann als nichtflüchtiges Speichergerät implementiert sein, wie etwa u.a. ein Magnetplattenlaufwerk, optisches Plattenlaufwerk, Bandlaufwerk, ein internes Speichergerät, ein beigeordnetes Speichergerät, Flashspeicher, batterieunterstützter SDRAM (synchroner DRAM) und/oder netzwerkzugängliches Speichergerät. In Ausführungsformen kann die Speicherung 714 Technologie zum Erhöhen von durch Speicherungsleistung gesteigerten Schutz für wertvolle Digitalmedien aufweisen, wenn beispielsweise mehrere Festplatten enthalten sind.
  • Das Grafikuntersystem 715 kann Verarbeiten von Bildern ausführen, wie etwa Standbilder oder Video zur Anzeige. Das Grafikuntersystem 715 kann beispielsweise eine Grafikverarbeitungseinheit (GPU) oder eine visuelle Verarbeitungseinheit (VPU) sein. Eine analoge oder digitale Schnittstelle kann zum kommunikationstechnischen Verkoppeln des Grafikuntersystems 715 und der Anzeige 720 benutzt sein. Beispielsweise kann die Schnittstelle jegliches einer High-Definition Multimedia Interface (HDMI), DisplayPort, drahtlosen HDMI und/oder drahtlosen HDkompatible Techniken sein. Das Grafikuntersystem 715 könnte in den Prozessor 710 oder Chipsatz 705 integriert sein. Das Grafikuntersystem 715 könnte eine eigenständige Karte sein, die kommunikationstechnisch an den Chipsatz 705 gekoppelt ist. In einem Beispiel enthält das Grafikuntersystem 715 ein Rauschminderungsuntersystem, wie hierin beschrieben.
  • Die hierin beschriebenen Grafik- und/oder Videoverarbeitungstechniken können in verschiedenen Hardwarearchitekturen implementiert sein. Beispielsweise kann Grafik- und/oder Videofunktionalität innerhalb eines Chipsatzes integriert sein. Alternativ kann ein diskreter Grafik- und/oder Videoprozessor benutzt werden. Als weiterhin andere Ausführungsform können die Grafik- und/oder Videofunktionen durch einen Mehrzweckprozessor, darunter ein Multicore-Prozessor, implementiert werden. In einer weiteren Ausführungsform können die Funktionen in einem Verbraucherelektronikgerät implementiert sein.
  • Das Funkgerät 718 kann eine Netzwerksteuerung mit einem oder mehr Funkgeräten sein, die zum Übertragen und Empfangen von Signalen unter Benutzung von verschiedenen geeigneten drahtlosen Kommunikationstechniken imstande ist. Derartige Techniken beinhalten Kommunikationen über ein oder mehr Drahtlosnetzwerke hinweg. Beispielhafte Drahtlosnetzwerke beinhalten (u.a.) drahtlose lokale Netzwerke (WLANs), drahtlose persönliche Netzwerke (WPANs), drahtlose städtische Netzwerke (WMANs), Zellnetzwerke und Satellitennetzwerke. Beim Kommunizieren über derartige Netzwerke hinweg kann das Funkgerät 718 gemäß einem oder mehr anwendbaren Standards in jeglicher Version arbeiten.
  • In Ausführungsformen kann die Anzeige 720 jeglichen Fernsehmonitor oder -anzeige aufweisen. Die Anzeige 720 kann beispielsweise einen Computeranzeigenbildschirm, eine Berührungsbildschirmanzeige, einen Videomonitor, ein fernseherartiges Gerät und/oder einen Fernseher aufweisen. Die Anzeige 720 kann digital und/oder analog sein. In Ausführungsformen kann die Anzeige 720 eine holografische Anzeige sein. Außerdem kann die Anzeige 720 eine transparente Oberfläche sein, die eine visuelle Projektion empfangen kann. Derartige Projektionen können verschiedene Formen von Information, Bildern und/oder Objekten transportieren. Beispielsweise können derartige Projektionen eine visuelle Einblendung für eine mobile Augmented Reality- (MAR-) Anwendung sein. Unter der Steuerung von einer oder mehr Softwareanwendungen 716 kann die Plattform 702 die Benutzeroberfläche 722 auf der Anzeige 720 anzeigen.
  • In Ausführungsformen kann ein Inhaltsdienstgerät (können Inhaltsdienstgeräte) 730 durch jeglichen nationalen, internationalen und/oder unabhängigen Dienst gehostet werden und dadurch für die Plattform 702, beispielsweise über das Internet, zugänglich sein. Das (die) Inhaltsdienstgerät(e) 730 kann (können) an die Plattform 702 und/oder an die Anzeige 720 gekoppelt sein. Die Plattform 702 und/oder das (die) Inhaltsdienstgerät(e) können an ein Netzwerk 760 zum Übermitteln (beispielsweise Senden und/oder Empfangen) von Medieninformation an das oder vom Netzwerk 760 gekoppelt sein. Das (die) Inhaltszufuhrgerät (e) 740 kann (können) ebenfalls an die Plattform 702 und/oder die Anzeige 720 gekoppelt sein.
  • In Ausführungsformen kann das Inhaltsdienstgerät (können die Inhaltsdienstgeräte) 730 eine Kabelfernsehbox, einen Personal Computer, ein Netzwerk, Telefon, internetfähige Geräte oder Einrichtung, die zum Zuführen von Digitalinformation und/oder -inhalt imstande sind, und jegliches andere ähnliche Gerät aufweisen, das zum unidirektionalen oder bidirektionalen Übermitteln von Inhalt zwischen Inhaltanbietern und der Plattform 702 und der Anzeige 720 über das Netzwerk 760 oder direkt imstande ist. Es versteht sich, dass der Inhalt unidirektional und/oder bidirektional an jegliche und von jeglicher der Komponenten im System 700 und einem Inhaltanbieter über das Netzwerk 760 übermittelt werden kann. Beispiele von Inhalt können jegliche Medieninformation beinhalten, darunter beispielsweise Video-, Musik-, medizinische und Spielinformation usw.
  • Das (die) Inhaltdienstgerät(e) 730 empfängt (empfangen) Inhalt wie etwa Kabelfernsehprogrammierung, darunter Medieninformation, Digitalinformation und/oder anderer Inhalt. Beispiele von Inhaltanbietern können jegliche Kabel- oder Satellitenfernseh- oder Funk- oder Internetinhaltanbieter beinhalten. Die vorgesehenen Beispiele sollen Ausführungsformen nicht einschränken.
  • In Ausführungsformen kann die Plattform 702 Steuersignale von einer Navigationssteuerung 750 empfangen, die ein oder mehr Navigationsmerkmale aufweist. Die Navigationsmerkmale der Steuerung 750 können beispielsweise zum Interagieren mit der Benutzeroberfläche 722 benutzt werden. In Ausführungsformen kann die Navigationssteuerung 750 ein Zeigegerät sein, das eine Computerhardwarekomponente (spezifisch ein menschliches Schnittstellengerät) sein kann, welche es einem Benutzer ermöglicht, räumliche (beispielsweise kontinuierliche und mehrdimensionale) Daten in einen Computer einzugeben. Zahlreiche Systeme, wie etwa grafische Benutzeroberflächen (GUI) und Fernseher und Monitore, ermöglichen es dem Benutzer, unter Nutzung von physischen Gesten den Computer oder Fernseher zu steuern oder mit Daten zu versehen.
  • Bewegungen der Navigationsmerkmale der Steuerung 750 können auf einer Anzeige (beispielsweise Anzeige 720) durch Bewegungen eines Zeigers, Cursors, Fokusrings oder anderer visueller Indikatoren, die auf der Anzeige angezeigt werden, wiedergegeben werden. Beispielsweise können, unter der Steuerung von Softwareanwendungen 716, die Navigationsmerkmale, die sich auf der Navigationssteuerung 750 befinden, beispielsweise auf virtuelle Navigationsmerkmale abgebildet werden, die auf der Benutzeroberfläche 722 angezeigt werden. In Ausführungsformen könnte die Steuerung 750 keine separate Komponente sein, sondern in die Plattform 702 und/oder die Anzeige 720 integriert sein. Ausführungsformen sind jedoch nicht auf die Elemente oder den Kontext beschränkt, die hierin gezeigt oder beschrieben sind.
  • In Ausführungsformen können Treiber (nicht gezeigt) Technologie zum Ermöglichen aufweisen, dass Benutzer die Plattform 702 beispielsweise wie einen Fernseher mit der Berührung eines Knopfs nach dem anfänglichen Hochfahren augenblicklich einschalten und ausschalten, wenn aktiviert. Programmlogik kann es der Plattform 702 ermöglichen, Inhalt zu Medienadaptern oder einem anderen Inhaltdienstgerät (anderen Inhaltdienstgeräten) 713 oder Inhaltzufuhrgerät(en) 740 zu streamen, wenn die Plattform ausgeschaltet ist. Zudem kann der Chipsatz 705 beispielsweise Hardware- und/oder Softwareunterstützung für 5.1 Surround Sound Audio und/oder 7.1 Surround Sound Audio mit hoher Definition aufweisen. Treiber können einen Grafiktreiber für integrierte Grafikplattformen beinhalten. In Ausführungsformen kann der Grafiktreiber eine Peripheral Component Interconnect (PCI) Express-Grafikkarte aufweisen.
  • In verschiedenen Ausführungsformen können jegliche eine oder mehr der Komponenten, die im System 700 gezeigt sind, integriert sein. Beispielsweise können die Plattform 702 und das (die) Inhaltdienstgerät (e) 730 integriert sein, oder können die Plattform 702 und das (die) Inhaltzufuhrgerät(e) 740 integriert sein oder können beispielsweise die Plattform 702, das (die) Inhaltdienstgerät(3) 730 und das (die) Inhaltzufuhrgerät(e) 740 integriert sein. In verschiedenen Ausführungsformen können die Plattform 702 und die Anzeige 720 eine integrierte Einheit sein. Beispielsweise können die Anzeige 720 und das (die) Inhaltdienstgerät(e) 730 integriert sein oder können die Anzeige 720 und das (die) Inhaltzufuhrgerät(e) 740 integriert sein. Diese Beispiele sollen die Ausführungsformen nicht einschränken.
  • In verschiedenen Ausführungsformen kann das System 700 als ein drahtloses System, ein verdrahtetes System oder eine Kombination von beiden implementiert sein. Wenn es als ein drahtloses System implementiert ist, kann das System 700 Komponenten und Schnittstellen enthalten, die zum Kommunizieren über drahtlose geteilte Medien geeignet sind, wie etwa eine oder mehr Antennen, Sender, Empfänger, Transceiver, Verstärker, Filter, Steuerlogik usw. Ein Beispiel von drahtlosen geteilten Medien kann Abschnitte eines drahtlosen Spektrums beinhalten, wie etwa das RF-Spektrum usw. Wenn es als ein verdrahtetes System implementiert ist, kann das System 700 Komponenten und Schnittstellen enthalten, die zum Kommunizieren über verdrahtete Kommunikationsmedien geeignet sind, wie etwa einen Eingabe/Ausgabe- (I/O-) Adapter, physische Verbinder zum Verbinden des I/O-Adapters mit einem entsprechenden verdrahteten Kommunikationsmedium, eine Netzwerkschnittstellenkarte (NIC), Plattensteuerung, Videosteuerung, Audiosteuerung usw. Beispiele von verdrahteten Kommunikationsmedien können einen Draht, ein Kabel, metallische Zuleitungen, eine Leiterplatte (PCB), eine Backplane, Switch Fabric, Halbleitermaterial, Twisted-Pair-Draht, koaxiales Kabel, Faseroptik usw. beinhalten.
  • Die Plattform 702 kann einen oder mehr logische oder physikalische Kanäle zum Übermitteln von Information einrichten. Die Information kann Medieninformation und Steuerinformation enthalten. Medieninformation kann sich auf jegliche Daten beziehen, die Inhalt darstellt, der für einen Benutzer bestimmt ist. Beispiele von Inhalt können beispielsweise Daten aus einer gesprochenen Unterhaltung, Videokonferenz, Streaming-Video, elektronischen Post- („E-Mail“-) Nachricht, Sprachnachricht, alphanumerischen Zeichen, Grafik, Bild, Video, Text usw. beinhalten. Daten aus einer gesprochenen Unterhaltung können beispielsweise Sprachinformation, Stilleperioden, Hintergrundrauschen, Komfortrauschen, Töne usw. sein. Steuerinformation kann sich auf jegliche Daten beziehen, die Befehle, Anweisungen oder Steuerwörter darstellen, welche für ein automatisiertes System bestimmt sind. Beispielsweise kann Steuerinformation zum Leiten von Medieninformation durch ein System oder zum Anweisen eines Knotens zum Verarbeiten von Medieninformation auf vorbestimmte Art und Weise benutzt werden. Die Ausführungsformen sind jedoch nicht auf die Elemente oder den Kontext beschränkt, die in 12 gezeigt oder beschrieben sind.
  • Wie oben beschrieben kann das System 700 in variierenden physikalischen Ausführungen oder Formfaktoren verkörpert sein. 13 stellt Ausführungsformen eines Geräts 800 mit kleinem Formfaktor dar, in dem das System 700 verkörpert sein kann. In Ausführungsformen kann das Gerät 800 beispielsweise in einem mobilen Rechengerät mit Drahtlosfähigkeiten implementiert sein. Ein mobiles Rechengerät kann sich auf jegliches Gerät mit einem Verarbeitungssystem und einer mobilen Stromquelle oder -versorgung, wie etwa beispielsweise einer oder mehr Batterien, beziehen.
  • Wie oben beschrieben können Beispiele eines mobilen Rechengeräts einen Personal Computer (PC), Laptop-Computer, Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, handgehaltenen Computer, Palmtop-Computer, Personal Digital Assistant (PDA), ein Mobiltelefon, eine Mobiltelefon/PDA-Kombination, einen Fernseher, ein intelligentes Gerät (beispielsweise Smartphone, Smart-Tablet oder Smart-TV), mobiles Internet-Gerät (MID), Nachrichtenübermittlungsgerät, Datenkommunikationsgerät usw. beinhalten.
  • Beispiele eines mobilen Rechengeräts können außerdem Computer beinhalten, die zum Tragen von einer Person angeordnet sind, wie etwa ein Handgelenkcomputer, Fingercomputer, Ringcomputer, Brillencomputer, Gürtelclipcomputer, Armbandcomputer, Schuhcomputer, Kleidungscomputer und andere tragbare Computer. In Ausführungsformen kann ein mobiles Rechengerät beispielsweise als ein Smartphone implementiert sein, das zum Ausführen von Computeranwendungen sowie von Sprachkommunikationen und/oder Datenkommunikationen imstande ist. Obgleich manche Ausführungsformen mit einem mobilen Rechengerät, das beispielhaft als ein Smartphone implementiert ist, beschrieben sein können, versteht es sich, dass andere Ausführungsformen auch unter Benutzung von anderen mobilen Rechengeräten implementiert sein können. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Wie in 13 gezeigt, kann das Gerät 800 ein Gehäuse 802, eine Anzeige 804, ein Eingabe/Ausgabe- (I/O-) Gerät 806 und eine Antenne 808 aufweisen. Das Gerät 800 kann außerdem Navigationsmerkmale 812 aufweisen. Die Anzeige 804 kann jegliche geeignete Anzeigeneinheit zum Anzeigen von Information aufweisen, die für ein mobiles Rechengerät zweckmäßig ist. Das I/O-Gerät 806 kann jegliches geeignete I/O-Gerät zum Eingeben von Information in ein mobiles Rechengerät aufweisen. Beispiele für das I/O-Gerät 806 können eine alphanumerische Tastatur, ein numerisches Tastenfeld, ein Touchpad, Eingabetasten, Knöpfe, Schalter, Kippschalter, Mikrofone, Lautsprecher, ein Spracherkennungsgerät und Software usw. beinhalten. Information kann außerdem über ein Mikrofon in das Gerät 800 eingegeben werden. Derartige Information kann durch ein Spracherkennungsgerät digitalisiert werden. Die Ausführungsformen sind in diesem Kontext nicht beschränkt.
  • Gemäß einigen Ausführungsformen können das System 700 und/oder das Gerät 800 vorteilhafterweise mit einem oder mehr Merkmalen eines verlustfreien Pixelkompressors/ -dekompressors wie hierin beschrieben konfiguriert sein (beispielsweise mit Mehrfachtiefen- und/oder Mehrformaterkennung). Beispielsweise können das System 700 und/oder das Gerät 800 ein oder mehr Merkmale enthalten, die in den nachfolgenden zusätzlichen Anmerkungen und Beispielen beschrieben sind.
  • Zusätzliche Anmerkungen und Beispiele
  • Beispiel 1 kann eine Halbleiterpackungsvorrichtung enthalten, die ein Substrat und Logik, die an das Substrat gekoppelt ist, aufweist, wobei die Logik mindestens teilweise in konfigurierbarer Logik und/oder Hardwarelogik mit festgelegter Funktionalität implementiert ist, wobei die Logik zum Erkennen eines Formats einer Pixelspeicherregion und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt, an das Substrat gekoppelt ist.
  • Beispiel 2 kann die Vorrichtung von Beispiel 1 enthalten, wobei die Logik ferner zum Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken, Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation dient.
  • Beispiel 3 kann die Vorrichtung von Beispiel 2 enthalten, wobei die Logik ferner zum Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion dient.
  • Beispiel 4 kann die Vorrichtung von Beispiel 2 enthalten, wobei die Logik ferner zum Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich dient.
  • Beispiel 5 kann die Vorrichtung von Beispiel 1 enthalten, wobei die Logik ferner zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind, dient.
  • Beispiel 6 kann die Vorrichtung von Beispiel 1 enthalten, wobei die Logik ferner zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind, dient.
  • Beispiel 7 kann die Vorrichtung von Beispiel 1 enthalten, wobei die Logik ferner zum Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat dient.
  • Beispiel 8 kann die Vorrichtung von Beispiel 1 bis 7 enthalten, wobei die Logik ferner zum Erkennen einer Tiefe der Pixelspeicherregion dient.
  • Beispiel 9 kann die Vorrichtung von Beispiel 1 bis 7 enthalten, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  • Beispiel 10 kann ein Verfahren zum Komprimieren von Pixeln enthalten, aufweisend Erkennen eines Formats einer Pixelspeicherregion und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt.
  • Beispiel 11 kann das Verfahren von Beispiel 10 enthalten, ferner aufweisend Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken, Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation.
  • Beispiel 12 kann das Verfahren von Beispiel 11 enthalten, ferner aufweisend Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion.
  • Beispiel 13 kann das Verfahren von Beispiel 11 enthalten, ferner aufweisend Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich.
  • Beispiel 14 kann das Verfahren von Beispiel 10 enthalten, ferner aufweisend Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind.
  • Beispiel 15 kann das Verfahren von Beispiel 10 enthalten, ferner aufweisend Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind.
  • Beispiel 16 kann das Verfahren von Beispiel 10 enthalten, ferner aufweisend Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat.
  • Beispiel 17 kann das Verfahren nach jeglichem der Beispiele 10 bis 16 enthalten, ferner aufweisend Erkennen einer Tiefe der Pixelspeicherregion.
  • Beispiel 18 kann das Verfahren nach jeglichem der Beispiele 10 bis 16 enthalten, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  • Beispiel 19 kann mindestens ein rechnerlesbares Medium enthalten, aufweisend einen Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Erkennen eines Formats einer Pixelspeicherregion und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt, veranlassen.
  • Beispiel 20 kann das mindestens eine rechnerlesbare Medium von Beispiel 19 enthalten, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken, Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation veranlassen.
  • Beispiel 21 kann das mindestens eine rechnerlesbare Medium von Beispiel 20 enthalten, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion veranlassen.
  • Beispiel 22 kann das mindestens eine rechnerlesbare Medium von Beispiel 20 enthalten, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich veranlassen.
  • Beispiel 23 kann das mindestens eine rechnerlesbare Medium von Beispiel 19 enthalten, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind, veranlassen.
  • Beispiel 24 kann das mindestens eine rechnerlesbare Medium von Beispiel 19 enthalten, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind, veranlassen.
  • Beispiel 25 kann das mindestens eine rechnerlesbare Medium von Beispiel 19 enthalten, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat veranlassen.
  • Beispiel 26 kann das mindestens eine rechnerlesbare Medium von jeglichem der Beispiele 19 bis 25 enthalten, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zum Erkennen einer Tiefe der Pixelspeicherregion veranlassen.
  • Beispiel 27 kann das mindestens eine rechnerlesbare Medium von jeglichem der Beispiele 19 bis 25 enthalten, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  • Beispiel 28 kann ein elektronisches Verarbeitungssystem enthalten, aufweisend einen Prozessor, einen Speicher, der kommunikationstechnisch an den Prozessor gekoppelt ist, und Logik, die kommunikationstechnisch an den Prozessor gekoppelt ist, zum Erkennen eines Formats einer Pixelspeicherregion und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt.
  • Beispiel 29 kann das System von Beispiel 28 enthalten, wobei die Logik ferner zum Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken, Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation dient.
  • Beispiel 30 kann das System von Beispiel 29 enthalten, wobei die Logik ferner zum Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion dient.
  • Beispiel 31 kann das System von Beispiel 29 enthalten, wobei die Logik ferner zum Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich dient.
  • Beispiel 32 kann das System von Beispiel 28 enthalten, wobei die Logik ferner zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind, dient.
  • Beispiel 33 kann das System von Beispiel 28 enthalten, wobei die Logik ferner zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind, dient.
  • Beispiel 34 kann das System von Beispiel 28 enthalten, wobei die Logik ferner zum Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat dient.
  • Beispiel 35 kann das System von jeglichem der Beispiele 28 bis 34 enthalten, wobei die Logik ferner zum Erkennen einer Tiefe der Pixelspeicherregion dient.
  • Beispiel 36 kann das System von jeglichem der Beispiele 28 bis 34 enthalten, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  • Beispiel 37 kann eine Pixelkompressorvorrichtung enthalten, aufweisend Mittel zum Erkennen eines Formats einer Pixelspeicherregion und Mittel zum Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt.
  • Beispiel 38 kann die Vorrichtung von Beispiel 37 enthalten, ferner aufweisend Mittel zum Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken, Mittel zum Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen und Mittel zum Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation.
  • Beispiel 39 kann die Vorrichtung von Beispiel 38 enthalten, ferner aufweisend Mittel zum Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken und Mittel zum Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion.
  • Beispiel 40 kann die Vorrichtung von Beispiel 38 enthalten, ferner aufweisend Mittel zum Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle und Mittel zum Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich.
  • Beispiel 41 kann die Vorrichtung von Beispiel 37 enthalten, ferner aufweisend Mittel zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind.
  • Beispiel 42 kann die Vorrichtung von Beispiel 37 enthalten, ferner aufweisend Mittel zum Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind.
  • Beispiel 43 kann die Vorrichtung von Beispiel 37 enthalten, ferner aufweisen Mittel zum Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat.
  • Beispiel 44 kann die Vorrichtung von jeglichem der Beispiele 37 bis 43 enthalten, ferner aufweisend Mittel zum Erkennen einer Tiefe der Pixelspeicherregion dient.
  • Beispiel 45 kann die Vorrichtung von jeglichem der Beispiele 37 bis 43 enthalten, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  • Ausführungsformen sind zum Gebrauch mit allen Arten von Halbleiterplatten- („IC-“) Chips anwendbar. Beispiele dieser IC-Chips beinhalten u.a. Prozessoren, Steuerungen, Chipsatzkomponenten, programmierbare logische Felder (PLAs), Speicherchips, Netzwerkchips, Systems-on-Chip (SoCs), SSD/NAND Steuerungs-ASICs und dergleichen. Zudem sind in einigen Zeichnungen Signalleiterleitungen mit Linien dargestellt. Manche können zum Anzeigen von mehr einen Teil bildenden Signalwegen verschieden sein, zum Anzeigen einer Anzahl von einen Teil bildenden Signalwegen ein Zahlenetikett aufweisen und/oder zum Anzeigen einer primären Informationsflussrichtung Pfeile an einem oder mehr Enden aufweisen. Dies ist jedoch nicht einschränkend aufzufassen. Stattdessen können derartige zusätzliche Details in Verbindung mit einer oder mehr beispielhaften Ausführungsformen zum Ermöglichen des leichteren Verständnisses einer Schaltung benutzt werden. Jegliche dargestellten Signalleitungen, ob sie nun zusätzliche Information aufweisen oder nicht, können tatsächlich ein oder mehr Signale aufweisen, die in mehrfache Richtungen laufen und mit jeglicher geeigneten Art von Signalschema implementiert werden können, beispielsweise digitale oder analoge Leitungen, die mit Differentialpaaren implementiert werden, Glasfaserleitungen und/oder Eintaktleitungen.
  • Es können beispielhafte Größen/Modelle/Werte/Bereiche angegeben worden sein, auch wenn Ausführungsformen nicht darauf beschränkt sind. Im Verlaufe der Ausreifung von Herstellungstechniken (beispielsweise Fotolithografie) wird erwartet, dass Geräte mit geringerer Größe hergestellt werden können. Zudem können allgemein bekannte Strom/Erde-Verbindungen mit IC-Chips und anderen Komponenten in den Figuren gezeigt oder nicht gezeigt sein, zur Vereinfachung der Darstellung und Besprechung, und um bestimmte Aspekte der Ausführungsformen nicht zu verschleiern. Ferner können Anordnungen in Blockdiagrammform gezeigt sein, um die Verschleierung von Ausführungsformen zu vermeiden, und außerdem hinsichtlich der Tatsache, dass Details bezüglich der Implementierung derartiger Blockdiagrammanordnungen in hohem Maße von der Plattform abhängt, in der die Ausführungsform implementiert werden soll, d.h., dass derartige Details allgemein innerhalb des Zuständigkeitsbereichs des Fachmanns liegen sollten. Wo spezifische Details (beispielsweise Schaltungen) zum Beschreiben von beispielhaften Ausführungsformen dargelegt sind, versteht es sich für den Fachmann, dass Ausführungsformen ohne diese oder mit Variation dieser spezifischen Details in die Praxis umgesetzt werden können. Die Beschreibung ist daher als veranschaulichend statt als einschränkend betrachten.
  • Der Begriff „verkoppelt“ kann hierin als bezüglich jeglicher Art von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten verwendet sein und für elektrische, mechanische, fluidtechnische, optische, elektromagnetische, elektromechanische oder andere Verbindungen gelten. Zudem können die Begriffe „erst/e/r/s“, „zweite/r/s“ usw. lediglich zur Erleichterung der Besprechung verwendet sein und haben keine besondere zeitliche oder chronologische Bedeutung, solange nicht anders angegeben.
  • Wie in dieser Anmeldung und in den Ansprüchen verwendet, kann eine Liste von Elementen, die durch den Begriff „ein oder mehr“ verbunden sind, jegliche Kombination der aufgelisteten Elemente bedeuten. Beispielsweise können die Formulierung „eines oder mehr von A, B und C“ und die Formulierung „eines oder mehr von A, B oder C“ beide bedeuten: A; B; C; A und B; A und C; B und C; oder A, B und C.
  • Der Fachmann wird aus der vorstehenden Beschreibung verstehen, dass die allgemeinen Techniken der Ausführungsformen in vielerlei Form implementiert werden können. Daher sollte, obgleich die Ausführungsformen in Verbindung mit bestimmten Beispielen davon beschrieben wurden, der wahre Umfang der Ausführungsformen nicht eingeschränkt werden, da dem Fachmann nach einer Untersuchung der Zeichnungen, der Spezifikation und der folgenden Ansprüche andere Modifikationen ersichtlich werden.

Claims (36)

  1. Halbleiterpackungsvorrichtung, aufweisend: ein Substrat; und Logik, die an das Substrat gekoppelt ist, wobei die Logik mindestens teilweise in konfigurierbarer Logik und/oder Hardwarelogik mit festgelegter Funktionalität implementiert ist, wobei die Logik an das Substrat gekoppelt ist zum: Erkennen eines Formats einer Pixelspeicherregion, und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt.
  2. Vorrichtung nach Anspruch 1, wobei die Logik ferner dient zum: Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken; Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen; und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation.
  3. Vorrichtung nach Anspruch 2, wobei die Logik ferner dient zum: Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken; und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion.
  4. Vorrichtung nach Anspruch 2, wobei die Logik ferner dient zum: Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle; und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich.
  5. Vorrichtung nach Anspruch 1, wobei die Logik ferner dient zum: Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind.
  6. Vorrichtung nach Anspruch 1, wobei die Logik ferner dient zum: Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind.
  7. Vorrichtung nach Anspruch 1, wobei die Logik ferner dient zum: Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat.
  8. Vorrichtung nach einem der Ansprüche 1 bis 7, wobei die Logik ferner dient zum: Erkennen einer Tiefe der Pixelspeicherregion.
  9. Vorrichtung nach einem der Ansprüche 1 bis 7, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  10. Verfahren zum Komprimieren von Pixeln, aufweisend: Erkennen eines Formats einer Pixelspeicherregion; und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt.
  11. Verfahren nach Anspruch 10, aufweisend: Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken; Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen; und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation.
  12. Verfahren nach Anspruch 11, ferner aufweisend: Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken; und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion.
  13. Verfahren nach Anspruch 11, ferner aufweisend: Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle; und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich.
  14. Verfahren nach Anspruch 10, ferner aufweisend: Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind.
  15. Verfahren nach Anspruch 10, ferner aufweisend: Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind.
  16. Verfahren nach Anspruch 10, ferner aufweisend: Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat.
  17. Verfahren nach einem der Ansprüche 10 bis 16, ferner aufweisend: Erkennen einer Tiefe der Pixelspeicherregion.
  18. Verfahren nach einem der Ansprüche 10 bis 16, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  19. Mindestens ein rechnerlesbares Medium, aufweisend einen Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Erkennen eines Formats einer Pixelspeicherregion; und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt.
  20. Mindestens ein rechnerlesbares Medium nach Anspruch 19, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken; Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen; und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation.
  21. Mindestens ein rechnerlesbares Medium nach Anspruch 20, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken; und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion.
  22. Mindestens ein rechnerlesbares Medium nach Anspruch 20, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle; und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich.
  23. Mindestens ein rechnerlesbares Medium nach Anspruch 19, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind.
  24. Mindestens ein rechnerlesbares Medium nach Anspruch 19, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind.
  25. Mindestens ein rechnerlesbares Medium nach Anspruch 19, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat.
  26. Mindestens ein rechnerlesbares Medium nach einem der Ansprüche 19 bis 25, aufweisend einen weiteren Satz von Anweisungen, die, wenn sie durch ein Rechengerät ausgeführt werden, das Rechengerät zu Folgendem veranlassen: Erkennen einer Tiefe der Pixelspeicherregion.
  27. Mindestens ein rechnerlesbares Medium nach einem der Ansprüche 19 bis 25, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
  28. Elektronisches Verarbeitungssystem, aufweisend: einen Prozessor; einen Speicher, der kommunikationstechnisch an den Prozessor gekoppelt ist; und Logik, die kommunikationstechnisch an den Prozessor gekoppelt ist, zum: Erkennen eines Formats einer Pixelspeicherregion, und Komprimieren der Pixelspeicherregion zusammen mit eingebetteter Steuerinformation, die das erkannte Format der Pixelspeicherregion anzeigt.
  29. System nach Anspruch 28, wobei die Logik ferner dient zum: Bestimmen von Kompressionsergebnissen für zwei oder mehr Kompressionstechniken; Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf den bestimmten Kompressionsergebnissen; und Komprimieren der Pixelspeicherregion unter Benutzung der ausgewählten Kompressionstechnik zusammen mit der eingebetteten Steuerinformation.
  30. System nach Anspruch 29, wobei die Logik ferner dient zum: Komprimieren eines Abschnitts der Pixelspeicherregion unter Benutzung von einer der zwei oder mehr Kompressionstechniken; und Schätzen der Kompressionsergebnisse für die gesamte Pixelspeicherregion basierend auf einem Kompressionsergebnis für den komprimierten Abschnitt der Pixelspeicherregion.
  31. System nach Anspruch 29, wobei die Logik ferner dient zum: Vergleichen eines Kompressionsergebnisses für eine der zwei oder mehr Kompressionstechniken mit einer Schwelle; und Auswählen von einer der zwei oder mehr Kompressionstechniken basierend auf dem Schwellenvergleich.
  32. System nach Anspruch 28, wobei die Logik ferner dient zum: Unterteilen von Cachezeilen in Teilregionen, die unabhängig komprimierbar sind.
  33. System nach Anspruch 28, wobei die Logik ferner dient zum: Unterteilen von Cachezeilen in Teilregionen, die unabhängig dekomprimierbar sind.
  34. System nach Anspruch 28, wobei die Logik ferner dient zum: Umordnen von Bytes der Pixelspeicherregion in Teilregionen basierend auf dem erkannten Pixelformat.
  35. System nach einem der Ansprüche 28 bis 34, wobei die Logik ferner dient zum: Erkennen einer Tiefe der Pixelspeicherregion.
  36. System nach einem der Ansprüche 28 bis 34, wobei die eingebettete Steuerinformation einen Index zu einer auf mehreren Leveln angewendeten Kompressionstabelle enthält.
DE112017008181.5T 2017-12-05 2017-12-05 Stfreie pixelkompression basierend auf abgeleiteter steuerinformationpixelkompression Pending DE112017008181T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/114614 WO2019109248A1 (en) 2017-12-05 2017-12-05 Lossless pixel compression based on inferred control information

Publications (1)

Publication Number Publication Date
DE112017008181T5 true DE112017008181T5 (de) 2020-09-03

Family

ID=66750358

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017008181.5T Pending DE112017008181T5 (de) 2017-12-05 2017-12-05 Stfreie pixelkompression basierend auf abgeleiteter steuerinformationpixelkompression

Country Status (5)

Country Link
US (1) US11729403B2 (de)
CN (1) CN111149345A (de)
DE (1) DE112017008181T5 (de)
TW (1) TWI804517B (de)
WO (1) WO2019109248A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405622B2 (en) * 2020-04-22 2022-08-02 Apple Inc. Lossless compression techniques

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366289B1 (en) * 1998-07-17 2002-04-02 Microsoft Corporation Method and system for managing a display image in compressed and uncompressed blocks
WO2006090334A2 (en) 2005-02-28 2006-08-31 Nxp B.V. New compression format and apparatus using the new compression format for temporarily storing image data in a frame memory
EP1999946A1 (de) 2006-03-17 2008-12-10 Nxp B.V. Komprimierungsschema unter verwendung von wasserzeichenkennzeichnung und vorrichtung zur vorübergehenden speicherung von bilddaten in einem rahmenspeicher unter verwendung des komprimierungsschemas
EP2380353B1 (de) * 2009-01-19 2017-11-08 Telefonaktiebolaget LM Ericsson (publ) Bildverarbeitung für speicherkompression
JP5381189B2 (ja) 2009-03-16 2014-01-08 株式会社リコー 画像処理方法および画像処理装置
JP5595151B2 (ja) * 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
US9106936B2 (en) 2012-01-25 2015-08-11 Altera Corporation Raw format image data processing
US9778937B1 (en) * 2013-10-16 2017-10-03 American Megatrends, Inc. Method and implementation for starting and stopping the playing of media content during booting process
KR102285332B1 (ko) * 2014-11-11 2021-08-04 삼성전자주식회사 반도체 패키지 및 이를 포함하는 반도체 장치

Also Published As

Publication number Publication date
CN111149345A (zh) 2020-05-12
TW201926909A (zh) 2019-07-01
US20200288152A1 (en) 2020-09-10
US11729403B2 (en) 2023-08-15
WO2019109248A1 (en) 2019-06-13
TWI804517B (zh) 2023-06-11

Similar Documents

Publication Publication Date Title
CN108696761B (zh) 一种图片文件处理方法及其设备、系统
DE102015002023B4 (de) Kompakte Tiefenebenendarstellung zum Sortieren letzter Architekturen
DE102015001814A1 (de) Farbkomprimierung unter Verwendung einer selektiven Farbtransformation
DE112013004618T5 (de) Tiefenpufferung
DE102015002218B4 (de) Vermeiden des Sendens unveränderlicher Gebiete zur Anzeige
DE112013004778T5 (de) Kodierung von Bildern unter Verwendung eines 3D-Netzes von Polygonen und entsprechenden Strukturen
US9386319B2 (en) Post-process filter for decompressed screen content
US8687902B2 (en) System, method, and computer program product for decompression of block compressed images
DE102020129800A1 (de) Interaktive segmentierung mit hoher wiedergabetreue für videodaten mit tief faltenden tessellationen und kontextsensitiven skip-verbindungen
US20190166379A1 (en) Method and device for image encoding and image decoding
DE112012007037T5 (de) Verarbeiten von Videoinhalt
US11863799B2 (en) Image encoding method and apparatus, image decoding method and apparatus, and chip
DE102020125206A1 (de) Verfahren und system zur mehrkanalvideocodierung mit frameratenänderung und kanalübergreifender referenzierung
CN111696026B (zh) 基于l0正则项的可逆灰度图算法、计算设备
DE112020001290T5 (de) Videocodierungsverfahren mit Syntaxelementsignalisierung einer Guard-Band-Konfiguration eines projektionsbasierten Rahmens und dazugehörige Videodecodierungsverfahren und Vorrichtungen
DE112013003714T5 (de) Stochastische Tiefenpufferkompression mittels verallgemeinerter Ebenencodierung
DE102018130085A1 (de) Erzeugen eines 2d-videos aus einem 360-video
DE112012006970T5 (de) Verteilte Grafikverarbeitung
CN106031168A (zh) 具有减少色彩分辨率的视频流的自适应处理
CN102308582A (zh) 用于对图像进行分割编码的方法
US11102493B2 (en) Method and apparatus for image compression that employs multiple indexed color history buffers
DE112013004920T5 (de) Polygonrasterisierung mit reduzierter Bitanzahl
DE112017008181T5 (de) Stfreie pixelkompression basierend auf abgeleiteter steuerinformationpixelkompression
DE102019122181A1 (de) Generalisierte niedriglatenzbenutzerinteraktion mit video auf verschiedenen transporteinrichtungen
US20170201759A1 (en) Method and device for image encoding and image decoding