-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht den Vorteil der vorläufigen U. S. Anmeldung Nr. 61/931,629 eingereicht am 26. Januar 2014, deren Offenbarung hier in ihrer Gesamtheit zum Zwecke der Bezugnahme zitiert wird.
-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft Transformationen, die zum Transformieren von Daten geeignet sind, wie, aber nicht unbedingt eingeschränkt auf, jene, die zum Transformieren von Daten aus einer räumlichen Domäne in eine Frequenzdomäne geeignet sind.
-
HINTERGRUND
-
Transformationen können zum Umwandeln von Daten von einer Domäne in eine andere Domäne verwendet werden. Eine diskrete Kosinustransformation (DCT) kann zum Transformieren von Daten aus einer räumlichen Domäne in eine Frequenzdomäne verwendet werden und eine inverse diskrete Kosinustransformation (IDCT) kann zum Transformieren von Daten aus der Frequenzdomäne in die räumliche Domäne verwendet werden. DCT kann zur Bild/Videokompression verwendet werden, um Blöcke von Bildelementen (Pixel) in Bildern oder Videoframes räumlich zu dekorrelieren. Die erhaltenen Transformationskoeffizienten können weniger voneinander abhängig sein, was diese Koeffizienten besonders für eine Quantisierung und Codierung geeignet macht. DCT weist auch eine Energieverdichtungseigenschaft auf, d. h., die Fähigkeit, den Großteil der Energie eines Blocks von Pixeln auf nur einige (typischerweise niederwertige) Transformationskoeffizienten abzubilden, was das Design von Codierungsalgorithmen vereinfachen und/oder die übertragene Datenmenge verbessern kann.
-
Die DCT wird weitgehend als die beste suboptimale orthogonale Transformation für den Zweck der Energieverdichtung angesehen, insbesondere in Bezug auf natürliche Bilder. Das heißt, ihre Fähigkeit, die Energie natürlicher Bilder in eine relativ kleine Zahl von Transformationskoeffizienten zu konzentrieren, ist der optimalen Karhunen-Loeve Transformation (KLT) sehr nahe. Die DCT ist auch eine einheitliche Transformation, was bedeutet, dass sie aus orthonormalen Basisfunktionen (die Norm jedes ihrer Basisvektoren ist Eins) besteht und ihr Inverses ihre Transponierte ist. Typ-2 DCT wird am häufigsten in beliebten Standbild- und Videostandards wie JPEG7, MPEG18, MPEG 29, H.26310 und MPEG 411 eingesetzt und dient auch als die Definition für die Fixpunktimplementierung, die sie in MPEG C (ISO/IEC 23002-2) nähert, deren Offenbarungen hiermit in ihrer Gesamtheit hier zum Zwecke der Bezugnahme zitiert wird.
-
Eine zweidimensionale Typ-2 DCT einer M mal N Matrix f ist unten in Gleichung (1) definiert als:
f(x, y) eine zweidimensionale Eingabematrix von Probenwerten darstellt und F(u, v) eine zweidimensionale Koeffizientenmatrix als eine M mal N Matrix von Transformationskoeffizienten darstellt.
-
Die Matrix f(x, y) kann perfekt aus F(u, v) rekonstruiert werden durch Anwenden der entsprechenden IDCT wie unten in Gleichung (2) definiert:
-
Die DCT ist eine trennbare Transformation wie unten in Gleichung (3) definiert:
-
Die entsprechenden Basisfunktionen können wie folgt sein:
================================
sf = 0,353553
p = 0, m = 0, Koeff = 1,0000000000000000
p = 0, m = 1, Koeff = 1,0000000000000000
p = 0, m = 2, Koeff = 1,0000000000000000
p = 0, m = 3, Koeff = 1,0000000000000000
p = 0, m = 4, Koeff = 1,0000000000000000
p = 0, m = 5, Koeff = 1,0000000000000000
p = 0, m = 6, Koeff = 1,0000000000000000
p = 0, m = 7, Koeff = 1,0000000000000000
================================
sf = 0,500000
p = 1, m = 0, Koeff = 0,9807852804032304
p = 1, m = 1, Koeff = 0,8314696123025452
p = 1, m = 2, Koeff = 0,5555702330196023
p = 1, m = 3, Koeff = 0,1950903220161283
p = 1, m = 4, Koeff = –0,1950903220161282
p = 1, m = 5, Koeff = –0,5555702330196020
p = 1, m = 6, Koeff = –0,8314696123025453
p = 1, m = 7, Koeff = –0,9807852804032304
================================
sf = 0,500000
p = 2, m = 0, Koeff = 0,9238795325112867
p = 2, m = 1, Koeff = 0,3826834323650898
p = 2, m = 2, Koeff = –0,3826834323650897
p = 2, m = 3, Koeff = –0,9238795325112867
p = 2, m = 4, Koeff = –0,9238795325112867
p = 2, m = 5, Koeff = –0,3826834323650903
p = 2, m = 6, Koeff = 0,3826834323650900
p = 2, m = 7, Koeff = 0,9238795325112865
================================
sf = 0,500000
p = 3, m = 0, Koeff = 0,8314696123025452
p = 3, m = 1, Koeff = –0,1950903220161282
p = 3, m = 2, Koeff = –0,9807852804032304
p = 3, m = 3, Koeff = –0,5555702330196022
p = 3, m = 4, Koeff = 0,5555702330196018
p = 3, m = 5, Koeff = 0,9807852804032304
p = 3, m = 6, Koeff = 0,1950903220161288
p = 3, m = 7, Koeff = –0,8314696123025451
================================
sf = 0,500000
p = 4, m = 0, Koeff = 0,7071067811865476
p = 4, m = 1, Koeff = –0,7071067811865475
p = 4, m = 2, Koeff = –0,7071067811865477
p = 4, m = 3, Koeff = 0,7071067811865475
p = 4, m = 4, Koeff = 0,7071067811865477
p = 4, m = 5, Koeff = –0,7071067811865467
p = 4, m = 6, Koeff = –0,7071067811865472
p = 4, m = 7, Koeff = 0,7071067811865466
================================
sf = 0,500000
p = 5, m = 0, Koeff = 0,5555702330196023
p = 5, m = 1, Koeff = –0,9807852804032304
p = 5, m = 2, Koeff = 0,1950903220161283
p = 5, m = 3, Koeff = 0,8314696123025456
p = 5, m = 4, Koeff = –0,8314696123025451
p = 5, m = 5, Koeff = –0,1950903220161280
p = 5, m = 6, Koeff = 0,9807852804032307
p = 5, m = 7, Koeff = –0,5555702330196015
================================
sf = 0,500000
p = 6, m = 0, Koeff = 0,3826834323650898
p = 6, m = 1, Koeff = –0,9238795325112867
p = 6, m = 2, Koeff = 0,9238795325112865
p = 6, m = 3, Koeff = –0,3826834323650898
p = 6, m = 4, Koeff = –0,3826834323650906
p = 6, m = 5, Koeff = 0,9238795325112867
p = 6, m = 6, Koeff = –0,9238795325112863
p = 6, m = 7, Koeff = 0,3826834323650896
================================
sf = 0,500000
p = 7, m = 0, Koeff = 0,1950903220161283
p = 7, m = 1, Koeff = –0,5555702330196022
p = 7, m = 2, Koeff = 0,8314696123025456
p = 7, m = 3, Koeff = –0,9807852804032307
p = 7, m = 4, Koeff = 0,9807852804032304
p = 7, m = 5, Koeff = –0,8314696123025450
p = 7, m = 6, Koeff = 0,5555702330196015
p = 7, m = 7, Koeff = –0,1950903220161286
(sf ist der Skalierungsfaktor, der zum Skalieren der erhaltenen Koeffizienten verwendet wird.)
-
Wie angegeben, ist die DCT ein Analysewerkzeugt, das zum Trennen eines Bild- oder Videosignals in seine Frequenzkomponenten geeignet ist, so dass die Größen dieser Frequenzkomponenten anschließend abgestimmt werden können, um einen gewünschten Grad an Kompression für das Originalbild- oder Videosignal zu erhalten. Die DCT wird typischerweise unter Verwendung eines Satzes von Kosinusbasisfunktionen durchgeführt, die so gewählt sind, dass sie orthonormal sind, d. h., die entsprechenden Basisfunktionen werden dann zur Analyse sowohl der vertikalen als auch horizontalen Frequenzen des Eingangssignals, wenn Bilder oder Video, unter Verwendung derselben Basisfunktionen.
-
Die DCT in herkömmlichen Bild- und Videosystemen, wie, aber nicht unbedingt eingeschränkt auf, jene, die in ISO/IEC 23008-2 High Efficiency Video Coding (HEVC), beschrieben sind, deren Offenbarung hiermit in ihrer Gesamtheit zum Zwecke der Bezugnahme zitiert wird, ist aufgrund einer gemeinsamen Behandlung vertikaler und horizontaler Frequenzen gestaltet, an quadratischen Blöcken von Probenwerten zu arbeiten, z. B., Blöcken, die entweder 4 × 4, 8 × 8, 16 × 16, oder 32 × 32 große Proben sind. Die Anwendung solcher quadratischen Funktionen kann problematisch sein, wenn die darunterliegenden Daten, das Signal, Bild, Video, usw. nicht quadratisch ist oder auf andere Weise die Eigenschaften nicht teilt, die eine günstige Transformation quadratischer Proben mit der oben angegebenen DCT bewirken.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt ein System zum Transformieren von Daten gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung.
-
2 zeigt ein Diagramm zum Transformieren von Daten aus einer räumlichen Domäne in eine Frequenzdomäne gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung.
-
3 zeigt ein Diagramm zum Transformieren von Daten aus einer Frequenzdomäne in eine räumliche Domäne gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung.
-
4 zeigt ein Diagramm zum Bestimmen, ob transformierte Daten quadratisch oder nicht quadratisch sind, gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung.
-
5 zeigt ein Diagramm zum Transformieren von Proben (S) in der räumlichen Domäne zu Transformationskoeffizienten (C) gemäß einem nicht einschränkenden Aspekt.
-
6 zeigt ein Diagramm zum Transformieren von Transformationskoeffizienten (C) in der Frequenzdomäne zu Proben (S) in der räumlichen Domäne gemäß einem nicht einschränkenden Aspekt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Wie erforderlich, sind hier ausführliche Ausführungsformen der vorliegenden Erfindung offenbart; es ist jedoch klar, dass die offenbarten Ausführungsformen nur beispielhaft für die Erfindung sind, die in verschiedenen und alternativen Formen ausgeführt werden kann. Die Figuren sind nicht unbedingt im Maßstab; einige Merkmale können übertrieben oder minimiert sein, um Einzelheiten besonderer Komponenten zu zeigen. Daher sollen spezielle strukturelle und funktionelle Einzelheiten, die hier offenbart sind, nicht als Einschränkung, sondern nur als repräsentative Basis ausgelegt werden, um einen Fachmann auf dem Gebiet unterschiedliche Verwendungen der vorliegenden Erfindung zu lehren.
-
1 zeigt ein System 10 zum Transformieren von Daten gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung. Das System 10 beschreibt eine beispielhafte Anwendung, wo ein Codierer 12 Daten zum Transport über ein Netzwerk 14 zu einem Decodierer 16 codiert, für eine anschließende Decodierung und Ausgabe. Das System 10 beinhaltet jede Umgebung, wo Daten über das Netzwerk 14, wie das Internet, ein Heimnetzwerk, usw. oder durch jede andere drahtlose und/oder verdrahtete Netzwerk oder Medium übertragen werden können. Der Codierer 12 und der Decodierer 16 sind getrennt voneinander dargestellt, aber die entsprechenden Vorrichtungen und die damit verknüpften Operationen können an derselben Stelle liegen oder in eine einzige Vorrichtung integriert sein. Der getrennte Codierer und Decodierer 12, 16 sind dargestellt, um einen nicht einschränkenden Aspekt der vorliegenden Erfindung zu zeigen, wo der Codierer 12, wie einer, der mit einem Dienstanbieter verknüpft ist, Daten zur Übertragung zu Decodierern 16 an Teilnehmereinrichtungen codiert, wie zum Bereitstellen von Kabelfernsehdiensten, Rundfunkfernsehdiensten, Hochgeschwindigkeits-Internet/Datendiensten, Mobil- oder Sprachtelefonie-(Voice over Internet Protocol, VoIP)Diensten und jeder anderen Art von datenabhängigem Dienst, der für die hier betrachteten Datentransformationen zugänglich ist.
-
Der Codierer und Decodierer 12, 16 oder die andere Vorrichtung, der bzw. die die hier in Betracht gezogenen Datentransformationen erleichtern oder implementieren, können ein computerlesbares Medium mit nicht flüchtigen Anweisungen enthalten, das mit einem Prozessor betreibbar ist, um Datentransformationen gemäß einer Transformation zu erleichtern. Die hier ermöglichten Datentransformationskapazitäten können für verschiedenen Arten von Transformationen verwendet werden, wie, aber nicht unbedingt beschränkt auf, diskrete Kosinustransformation (DCT), inverse diskrete Kosinustransformation (IDCT), diskrete Fourier Transformation (DFT), inverse DFT (IDFT), modulierte geläppte Transformation (MLT), inverse MLT, modulierte komplexe geläppte Transformation (MCLT), inverse MCLT, usw. Die in Betracht gezogenen Datentransformationen können für alle Anwendungen geeignet sein, wie Bild-, Video- und Audioverarbeitung, Kommunikation, Berechnung, Datenvernetzung, Datenspeicherung, Grafik, usw. Die vorliegende Erfindung kann für jede Anwendung verwendet werden, die sich auf eine Transformation bezieht, und für beispielhafte, nicht einschränkende Zwecke ist sie vorwiegend in Bezug auf eine Erleichterung einer Transformation von Bildern und/oder Video zwischen einer räumlichen Domäne und einer Frequenzdomäne gemäß DCT und IDCT beschrieben, um somit einen Transport von Videoframes gemäß ISO/IEC 13818-2 zu erleichtern, deren Offenbarung hiermit in ihrer Gesamtheit zum Zwecke der Bezugnahme zitiert wird.
-
2 zeigt ein Diagramm 20 zum Transformieren von Daten aus einer räumlichen Domäne in eine Frequenzdomäne gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung. Die in Betracht gezogene Datentransformation kann vom Codierer 12 durchgeführt werden, der eine Eingabematrix von Probenwerte (Proben) bestimmt, eine horizontale Transformation und dann eine vertikale Transformation (oder umgekehrt) der eingegebenen Proben gemäß einer DCT durchführt, um eine Ausgabematrix von Transformationskoeffizienten zu generieren. 3 zeigt ein Diagramm 30 zum Transformieren von Daten aus einer Frequenzdomäne in eine räumliche Domäne gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung. Die in Betracht gezogene Datentransformation kann vom Decodierer 16 durchgeführt werden, der eine Eingabematrix von Transformationskoeffizienten bestimmt, eine vertikale Transformation und dann eine horizontale Transformation (oder umgekehrt) der eingegebenen Koeffizienten gemäß einer IDCT durchführt, um eine Ausgabematrix von Proben zu generieren. Die dargestellten Datentransformationsprozesse können in einer Weise ähnlich jener durchgeführt werden, die in ”Information technology-MPEG Video technologies-Part 2: Fixed-point 8 × 8 inverse discrete cosine transform and discrete cosine transform”, ISO/IEC 23002-2, erste Auflage, veröffentlicht am 1. Juni 2008, beschrieben ist, deren Offenbarung hiermit in ihrer Gesamtheit zum Zwecke der Bezugnahme zitiert wird. Ein nicht einschränkender Aspekt der vorliegenden Erfindung zieht die Auswahl der DCT und entsprechenden IDCT abhängig von den Eigenschaften der transformierten Daten/des transformierten Signals in Betracht, wie eine Anwendung einer nicht quadratischen DCT/IDCT, wenn die zugrundeliegenden Daten nicht quadratisch sind, und einer quadratischen DCT/IDCT, wenn die zugrundeliegenden Daten quadratisch sind.
-
4 zeigt ein Diagramm
40 zum Bestimmen, ob die transformierten Daten quadratisch oder nicht quadratisch sind, gemäß einem nicht einschränkenden Aspekt der vorliegenden Erfindung. Während die vorliegende Erfindung ein Transformieren von Daten/Signalen jeder Art in Betracht zieht, zeigt das Diagramm
40 ein beispielhaftes Szenario, wo ein Block oder Makroblock (B) für die Transformation gewählt wird, wie jener, der in
US Patent Seriennr. 11/956,471 , mit dem Titel Method of Coding and Transmission of Progressive Video Using Differential Signal Overlay, beschrieben ist, dessen Offenbarung hiermit in ihrer Gesamtheit zum Zwecke der Bezugnahme zitiert wird. Der Block (B) entspricht in der Darstellung einem Abschnitt von acht Pixeln eines Videoframes
42, der transformiert und transportiert werden soll, hier als 8 × 8 Block bezeichnet. Während die vorliegende Erfindung gleichermaßen für Blöcke von 4 × 4, 16 × 16, 32 × 32 und anderen Größen verwendet werden kann, wie mit MPEG-2, AVC|H.264, und HEVC|H.265 verwendet, wird angenommen, dass der 8 × 8 Block allgemein verwendet wird und wird daher vorwiegend für beispielhafte, nicht einschränkende Zwecke beschrieben. Das Diagramm
40 zeigt eine quadratische Matrix
44 und eine nicht quadratische Matrix
46 für den Block (B), abgeleitet aus einer Skalierung oder anderen Verarbeitung der Pixel, wie durch Darstellen jedes Pixels mit drei Attributen (jeweils acht Bits lang) – einem Leuchtdichteattribut (Y) und zwei Chrominanzattributen (CbCr).
-
Im Sinne von MPEG-2 kann das Bild eines entsprechenden Blocks (B) Pixel in der räumlichen Domäne als eine zweidimensionale Eingabematrix von Proben (S) innerhalb des YCbCr Farbraums darstellen, wobei Y der Leuchtdichtenraum ist, Cb das blaue Farbdifferenzsignal ist und Cr das rote Farbdifferenzsignal ist (mehrere Blöcke (B) können transformiert werden, um eine Gesamtheit des entsprechenden Frames 42) zu transportieren. Die erhaltenen quadratischen und nicht quadratischen Matrizen 44, 46 nehmen auf die Proben (S) in der räumlichen Domäne Bezug, da die zugeordneten Proben (S) aus jeder Anzahl zusätzlicher Prozesse generiert werden können, optional enthaltend jene, die ein Abrunden, Filtern, Mittelwertbereichsbestimmen und andere Manipulationen bereitstellen, die ein Umwandeln der rohen Pixel zu Proben (S) erleichtern sollen, die für eine Transformation geeignet sind. Die quadratischen und nicht quadratischen Matrizen 44, 46 sind zur Veranschaulichung einer Art präsentiert, in der die transformierten Blöcke (B) zur unterschiedlichen Darstellung der zugrundeliegenden Daten verwendet werden können. Die quadratische Matrix 44 kann zur Erleichterung einer Transformation und eines Transports eines progressiven Bildes/Videos verwendet werden, d. h., eines, in dem jedes Pixel neben einem anderen Pixel mit Farbe/Bild liegt, und die nicht quadratische Matrix 46 kann zur Erleichterung einer Transformation und eines Transports eines verschachtelten Bildes/Videos verwendet werden, d. h., eines, in dem jedes Pixel in der horizontalen Richtung (Spalten) neben einem anderen Pixel liegt und jedes Pixel in der vertikalen Richtung (Reihen) neben einer Leerstelle (nicht farbiges/leeres Pixel) liegt.
-
Die Proben (S), welche die quadratischen und nicht quadratischen Matrizen 44, 46 umfassen, sind relativ zu einem X-Y-Koordinatensystem dargestellt, das eine Positionierung jedes entsprechenden Pixels relativ zu einer X-Achsen-(horizontalen)Position (x) und Y-Achsen- (vertikalen) Position (y) zeigt, die dem Videoframe 42 zugeordnet sind. Die Korrelation jeder Probe (S) zum Videoframe 42 kann mit zweidimensionalen Koordinaten (x, y) dargestellt werden, z. B. kann ein erstes Pixel 48 (x, y) entsprechen, ein zweites 50 Pixel kann (x + 1, y + 1) entsprechen, usw. Die quadratische Matrix 44 enthält die Proben (S) in der vertikalen Richtung, wo die unterstrichenen Daten benachbarten Pixeln des Videoframes entsprechen, d. h., bei Y, Y + 1, ..., Y + 7, während die nicht quadratische Matrix 46 die Proben (S) in der vertikalen Richtung enthält, wo die zugrundeliegenden Daten nicht benachbarten Pixeln oder jeder zweiten Reihe von Pixeln für den Videoframe entsprechen, d. h., bei Y, Y + 2, ..., Y + 14. Die quadratischen und nicht quadratischen Matrizen 44, 46 enthalten allgemein die Proben (S) in der horizontalen Richtung, wo die zugrundeliegenden Daten benachbarten Pixeln des Videoframes entsprechen, d. h., bei X, X + 1, ..., X + 7. Der Codierer 12 kann zum Generieren der quadratischen und nicht quadratischen Matrizen 44, 46 aus den Pixeln im Videoframe 42 durch Codieren acht benachbarter Reihen von Pixeln in der vertikalen Richtung für die quadratische Matrix 42 und Codieren jeder zweiten von 16 benachbarten Reihen von Pixeln in einer vertikalen Richtung für die nicht quadratische Matrix 44 konfiguriert ist.
-
5 zeigt ein Diagramm 60 zum Transformieren der Proben (S) in der räumlichen Domäne zu Transformationskoeffizienten (C) in der Frequenzdomäne unter Verwendung einer DCT-Transformation gemäß einem nicht einschränkenden Aspekt. 6 zeigt ein Diagramm 70 zum Transformieren der Transformationskoeffizienten (C) in der Frequenzdomäne zu Proben (S) in der räumlichen Domäne unter Verwendung einer IDCT-Transformation gemäß einem nicht einschränkenden Aspekt. Die in 2, 3, 5 und 6 dargestellten Transformationen können unter Verwendung von DCTs und IDCTs durchgeführt werden, die gemäß einer quadratischen oder einer nicht quadratischen Codierung der Originalproben (S) gewählt werden. Ein nicht einschränkender Aspekt der vorliegenden Erfindung zieht die Verwendung einer ersten DCT und einer entsprechenden ersten IDCT in Betracht, falls die Eigenschaft quadratisch ist, und einer zweiten DCT und einer entsprechenden zweiten IDCT falls die Eigenschaft nicht quadratisch ist. Die erste DCT kann der oben unter ”Hintergrund” beschriebenen DCT und IDCT entsprechen, unter der Annahme eines 8 × 8 Blocks (B), und die zweite DCT und IDCT kann einer mit verschiedenen Basisfunktionen entsprechen, die zum Ausgleichen der Proben (S) bestimmt ist, die jede zweite Linie vertikaler Pixel in dem codieren Videoframe, Bild, usw. darstellen. Es wird angenommen, dass die zweite DCT und IDCT besser für ein anschließendes Decodieren und Ausgeben eines verschachtelten oder nicht quadratischen Mediums geeignet sind. Die zweite DCT und IDCT, untereinander austauschbar als zweite Transformation bezeichnet, sind hier für beispielhafte, nicht einschränkende Zwecke in Bezug auf einen 8 × 8 Block (B) beschrieben, können aber an andere Blockgrößen angepasst werden, ohne vom Umfang und der Anschauung der vorliegenden Erfindung abzuweichen.
-
Die zweite Transformation kann eine zweidimensionale Typ-2 DCT einer M mal N Matrix f wie unten in Gleichung (3) definiert sein:
f(x, y) eine zweidimensionale Eingabematrix von Probenwerten darstellt und F(u, v) eine zweidimensionale Koeffizientenmatrix als eine M mal N Matrix von Transformationskoeffizienten darstellt.
-
Die Matrix f(x, y) kann perfekt aus F(u, v) rekonstruiert werden durch Anwenden der entsprechenden IDCT wie unten in Gleichung (2) definiert:
-
Die DCT ist eine trennbare Transformation wie unten in Gleichung (4) definiert:
-
Was bei Überprüfung zeigt, dass die 2-D Transformation in zwei einzelne 1-D Transformationen getrennt werden können, die zuerst entlang einer Achse (wie die Spalten/vertikale Richtung in einem Block von Videoproben) und dann entlang der anderen Achse (die Reihen/horizontale Richtung des Ausgabeblocks, der sich aus der Spaltentransformation ergibt) durchgeführt werden können.
-
Die zweite Transformation kann Basisfunktionen generieren, die durch Faktorieren in die Definition einer Type 2 DCT neuer Werte abgeleitet werden, die der Länge einer Periode des Signals und dem Abstand zwischen zwei benachbarten Probenwerten entsprechen. Die Länge der Periode wird von 8 auf 16 für die vertikale Richtung für einen 8 × 8 Block (B) erhöht und der Abstand zwischen den zwei benachbarten Probenwerten wird von Eins auf Zwei für die vertikale Richtung erhöht. Diese Modifizierungen sind für die horizontale Richtung nicht relevant, die nicht dezimiert wird, wodurch ein Verhältnis von horizontalen zu vertikalen Proben für ein verschachteltes abgetastetes Video mit 2:1 errichtet wird. Das Verhältnis könnte für andere Signale variiert werden und allgemein könnte die DCT so modifiziert werden, dass sie an ein anderes Verhältnis angepasst ist. Ferner kann eine Größen-(Größenordnungs-)DCT so modifiziert werden, d. h. diese Erfindung ist weder auf ein bestimmtes Verhältnis, noch auf eine bestimmte Größen-(Größenordnungs-)DCT beschränkt. Daher können die numerischen Werte und Operanden, die in Gleichung (2) dargestellt sind, variiert werden, ohne vom Umfang und der Anschauung der vorliegenden Erfindung abzuweichen, d. h., die Werte und/oder Operanden können in einem Optimierungsprozess geändert werden, wobei die Werte wiederholt variiert werden, bis eine optimierte Transformation erreicht ist.
-
Ein nicht einschränkender Aspekt der vorliegenden Erfindung ist im Sinne der 8 × 8 DCT beschrieben, die allgemein in MPEG-2, AVC|H.264 und HEVC|H.265 verwendet wird. Es ist möglich, eine Codierung von Verschachtelungssignalen gemäß der vorliegenden Erfindung unter Verwendung eines anderen Satzes orthogonaler Basisfunktionen für die vertikale Richtung einer 2-dimensionalen DCT als jener, die in der Folge beschrieben sind, zu verbessern. Daher sind die in der Folge bereitgestellten beispielhaften Basisfunktionen nur ein Mittel, durch das eine Codierung verbessert werden kann. Die vorliegende Erfindung ist auch für beispielhafte, nicht einschränkende Zwecke im Sinne eines Signals beschrieben, das in einer räumlichen Richtung (vertikal) relativ zur anderen Richtung (horizontal) dezimiert ist, was zu einem rechteckigen (gegenüber quadratischen) Signal führt. Das Verhältnis zwischen der horizontalen und vertikalen Richtung, wie in dieser Erfindung dargestellt, ist 2:1, ist aber nicht auf 2:1 beschränkt. Das heißt, es könnte jedes Verhältnis für die modifizierte DCT verwendet werden, die in dieser Erfindung beschrieben ist.
-
Die zweiten Transformationsbasisfunktionen können zur Anpassung des Verhältnisses horizontal:vertikal von 2:1 sowohl für die Periode wie auch den Abstand zwischen benachbarten Proben und der Länge der Periode eines verschachtelten Videosignals, wie folgt sein:
================================
sf = 0,353553
p = 0, m = 0, Koeff = 1,0000000000000000
p = 0, m = 1, Koeff = 1,0000000000000000
p = 0, m = 2, Koeff = 1,0000000000000000
p = 0, m = 3, Koeff = 1,0000000000000000
p = 0, m = 4, Koeff = 1,0000000000000000
p = 0, m = 5, Koeff = 1,0000000000000000
p = 0, m = 6, Koeff = 1,0000000000000000
p = 0, m = 7, Koeff = 1,0000000000000000
================================
sf = 0,500000
p = 1, m = 0, Koeff = 0,9807852804032304
p = 1, m = 1, Koeff = 0,5555702330196023
p = 1, m = 2, Koeff = –0,1950903220161282
p = 1, m = 3, Koeff = –0,8314696123025453
p = 1, m = 4, Koeff = –0,9807852804032304
p = 1, m = 5, Koeff = –0,5555702330196022
p = 1, m = 6, Koeff = 0,1950903220161283
p = 1, m = 7, Koeff = 0,8314696123025452
================================
sf = 0,500000
p = 2, m = 0, Koeff = 0,9238795325112867
p = 2, m = 1, Koeff = –0,3826834323650897
p = 2, m = 2, Koeff = –0,9238795325112867
p = 2, m = 3, Koeff = 0,3826834323650900
p = 2, m = 4, Koeff = 0,9238795325112867
p = 2, m = 5, Koeff = –0,3826834323650898
p = 2, m = 6, Koeff = –0,9238795325112867
p = 2, m = 7, Koeff = 0,3826834323650898
================================
sf = 0,500000
p = 3, m = 0, Koeff = 0,8314696123025452
p = 3, m = 1, Koeff = –0,9807852804032304
p = 3, m = 2, Koeff = 0,5555702330196018
p = 3, m = 3, Koeff = 0,1950903220161288
p = 3, m = 4, Koeff = –0,8314696123025456
p = 3, m = 5, Koeff = 0,9807852804032304
p = 3, m = 6, Koeff = –0,5555702330196015
p = 3, m = 7, Koeff = –0,1950903220161300
================================
sf = 0,500000
p = 4, m = 0, Koeff = 0,7071067811865476
p = 4, m = 1, Koeff = –0,7071067811865477
p = 4, m = 2, Koeff = 0,7071067811865477
p = 4, m = 3, Koeff = –0,7071067811865472
p = 4, m = 4, Koeff = 0,7071067811865472
p = 4, m = 5, Koeff = –0,7071067811865475
p = 4, m = 6, Koeff = 0,7071067811865475
p = 4, m = 7, Koeff = –0,7071067811865475
================================
sf = 0,500000
p = 5, m = 0, Koeff = 0,5555702330196023
p = 5, m = 1, Koeff = 0,1950903220161283
p = 5, m = 2, Koeff = –0,8314696123025451
p = 5, m = 3, Koeff = 0,9807852804032307
p = 5, m = 4, Koeff = –0,5555702330196026
p = 5, m = 5, Koeff = –0,1950903220161286
p = 5, m = 6, Koeff = 0,8314696123025438
p = 5, m = 7, Koeff = –0,9807852804032308
================================
sf = 0,500000
p = 6, m = 0, Koeff = 0,3826834323650898
p = 6, m = 1, Koeff = 0,9238795325112865
p = 6, m = 2, Koeff = –0,3826834323650906
p = 6, m = 3, Koeff = –0,9238795325112863
p = 6, m = 4, Koeff = 0,3826834323650909
p = 6, m = 5, Koeff = 0,9238795325112868
p = 6, m = 6, Koeff = –0,3826834323650912
p = 6, m = 7, Koeff = –0,9238795325112854
================================
sf = 0,500000
p = 7, m = 0, Koeff = 0,1950903220161283
p = 7, m = 1, Koeff = 0,8314696123025456
p = 7, m = 2, Koeff = 0,9807852804032304
p = 7, m = 3, Koeff = 0,5555702330196015
p = 7, m = 4, Koeff = –0,1950903220161302
p = 7, m = 5, Koeff = –0,8314696123025450
p = 7, m = 6, Koeff = –0,9807852804032297
p = 7, m = 7, Koeff = –0,5555702330196007
(sf ist der Skalierungsfaktor der zum Skalieren der erhaltenen Koeffizienten verwendet wird.)
-
Die entsprechende Identitätsmatrix, die zeigt, dass die Basisfunktionen orthonormal sind:
1,0000 0,0000 0,0000 –0,0000 0,0000 –0,0000 0,0000 0,0000
0,0000 1,0000 –0,0000 –0,0000 0,0000 –0,0000 –0,0000 0,0000
0,0000 –0,0000 1,0000 –0,0000 –0,0000 0,0000 0,0000 –0,0000
–0,0000 –0,0000 –0,0000 1,0000 0,0000 0,0000 0,0000 0,0000
0,0000 0,0000 –0,0000 0,0000 1,0000 –0,0000 –0,0000 –0,0000
–0,0000 –0,0000 0,0000 0,0000 –0,0000 1,0000 –0,0000 0,0000
0,0000 –0,0000 0,0000 0,0000 –0,0000 –0,0000 1,0000 –0,0000
0,0000 0,0000 –0,0000 0,0000 –0,0000 0,0000 –0,0000 1,0000
-
Zur Berechnung einer 2D DCT mit den horizontalen Basisfunktionen als die Originalfunktionen (wie sie für eine Verschachtelung vorliegen) und mit neuen vertikalen Basisfunktionen, wird die ursprüngliche 1D DCT für die horizontale Domäne und die neue 1D DCT für die vertikale Domäne durchgeführt. Die erhaltene Transformationsmatrix ist orthogonal, da sowohl der ursprüngliche als auch modifizierte Satz von Basisfunktionen orthonormal sind.
-
Das C-Programm, das zum Generieren dieser Basisfunktionen verwendet wird, kann wie unten angeführt demonstriert werden:
* Größe der Periode, die zum Beschreiben von Basisfunktionen verwendet wird. Zum Verflechten ist dies M = 16, da jede der Proben tatsächlich zwei Proben in der vertikalen Dimension (relativ zur horizontalen Dimension) entfernt ist.
* Modifizieren der Basisfunktionen, die wir berechnen, für Verschachtelung gegenüber progressiv
* NEU modifiziert, welche Funktionen wir berechnen. Das ursprüngliche Typ YPE 2 DCT ist in der
* Für eine einheitliche Transformation ist das Inverse einfach die Transponierte der Vorwärtstransformation
* Die DCT ist eine einheitliche Transformation, was bedeutet, dass das Inverse einfach die Transponierte ist.
-
Während oben beispielhafte Ausführungsformen beschrieben sind, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen der Erfindung beschreiben. Vielmehr sind Wörter, die in der Patentschrift verwendet werden, beschreibende und nicht einschränkende Wörter und es ist klar, dass verschiedene Änderungen vorgenommen werden können, ohne vom Wesen und Umfang der Erfindung abzuweichen. Zusätzlich können die Merkmale verschiedener implementierender Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
-
Zitierte Nicht-Patentliteratur
-
- ISO/IEC 23002-2 [0004]
- ISO/IEC 23008-2 [0010]
- ISO/IEC 13818-2 [0019]
- ISO/IEC 23002-2 [0020]