-
Ausführungsformen der vorliegenden Erfindung betreffen Radaranwendungen, insbesondere eine effiziente Weise zum Verarbeiten von Radarsignalen, die von mindestens einem Radarsensor, z. B. über mindestens eine Antenne, erhalten werden. In dieser Hinsicht betrifft das Verarbeiten von Radarsignalen insbesondere Radarsignale, die durch einen Sensor oder eine Antenne empfangen werden.
-
Einige Radarvarianten können in Autos für verschiedene Anwendungen verwendet werden. Zum Beispiel kann Radar für Totwinkel-Detektion (Parkassistent, Fußgängerschutz, Querverkehr), Kollisionsminderung, Spurwechselassistent und adaptiven Tempomat verwendet werden. Zahlreiche Anwendungsfallszenarien für Radargeräte können in verschiedene Richtungen (z. B. Heck, Seite, Front), variierende Winkel (z. B. Azimut-Richtungswinkel) und/oder verschiedene Distanzen (kurz-, mittel- oder langreichweitig) ausgerichtet sein. Eine adaptive Geschwindigkeitsregelung kann zum Beispiel einen ±18 Grad betragenden Azimut-Richtungswinkel verwenden, wobei das Radarsignal von der Front des Autos emittiert wird, was eine Detektionsreichweite von bis zu mehreren hundert Metern ermöglicht.
-
Eine Radarquelle emittiert ein Signal und ein Sensor detektiert ein zurückgekehrtes Signal. Eine Frequenzverschiebung zwischen dem emittierten Signal und dem detektierten Signal (basierend auf z. B. einem sich bewegenden Auto, das das Radarsignal emittiert) kann dazu verwendet werden, Informationen zu erhalten, die auf der Reflexion des emittierten Signals basieren. Eine Frontend-Verarbeitung des durch den Sensor erhaltenen Signals kann eine schnelle Fourier-Transformation (FFT: Fast Fourier Transform) umfassen, die ein Signalspektrum ergeben kann, d. h. ein über die Frequenz verteiltes Signal. Die Amplitude des Signals kann eine Stärke eines Echos angeben, wobei eine Spitze ein Ziel repräsentieren kann, das detektiert und für eine weitere Verarbeitung verwendet werden soll, z. B. Anpassen der Geschwindigkeit des Autos basierend auf einem anderen, vorausfahrenden Auto.
-
Eine Radarverarbeitungsvorrichtung kann verschiedene Ausgabearten bereitstellen, z. B. einen Befehl an eine Steuereinheit, ein Objekt oder eine Objektliste, das/die durch mindestens eine Steuereinheit nachverarbeitet werden soll, mindestens eine FFT-Spitze, die durch mindestens eine Steuereinheit nachverarbeitet werden soll. Das Verwenden von FFT-Spitzen ermöglicht eine Hochleistungsnachverarbeitung.
-
US 2017 / 0 054 449 A1 betrifft die Komprimierung von Radarsignalen. Hierbei wird vorgeschlagen, eine blockweise Komprimierung von Fließkommazahlen nach einer eindimensionalen Doppler-FFT durchzuführen.
-
US 2018 / 0 231 636 A1 schlägt ein Radarsystem mit Speicheroptimierung vor, bei dem die Leistung einer Empfangs-Pipeline gesteigert wird.
-
US 2011 / 0 099 295 A1 betrifft die Komprimierung von Signalen unter Berücksichtigung blockweiser Fließkommazahlen.
-
US 2016 / 0 033 631 A1 beschreibt eine Radardatenkompression, die die Datenmenge reduziert, die zwischen einer Entfernung(Range)-FFT und einer Doppler-FFT in einem Radarsystem angesammelt werden muss, das eine Wellenform mit schnellem Chirp verwendet.
-
Die Aufgabe besteht in dem Verbessern bestehender Lösungen und in insbesondere einem effizienten Verarbeiten von Signalen in einem Radarsystem, das letztlich zu einer verbesserten Zielerkennung führen kann.
-
Dieses Problem wird gemäß den Merkmalen der unabhängigen Ansprüche gelöst. Weitere Ausführungsformen ergeben sich aus den abhängigen Ansprüchen.
-
Die hier vorgeschlagenen Beispiele können insbesondere auf mindestens einer der folgenden Lösungen basieren. Insbesondere könnten Kombinationen der folgenden Merkmale genutzt werden, um ein gewünschtes Ergebnis zu erreichen. Die Merkmale des Verfahrens könnten mit einem oder mehreren beliebigen Merkmalen der Vorrichtung, der Einrichtung oder des Systems kombiniert werden oder umgekehrt.
-
Eine Radarvorrichtung wird bereitgestellt, die zum Durchführen der folgenden Schritte eingerichtet ist:
- - Auswählen einer Menge von Operanden, die einige Operanden umfasst,
- - Bestimmen eines gemeinsamen Exponenten für die Operanden der Menge von Operanden,
- - Normieren der Operanden auf der Grundlage des gemeinsamen Exponenten,
- - Komprimieren jedes Operanden durch Reduzieren der Auflösung von dessen Mantisse,
- - Speichern des gemeinsamen Exponenten und der komprimierten Operanden in einem Speicher, wobei der gemeinsame Exponent auf der Grundlage der Menge von Operanden bestimmt wird.
-
Gemäß einer Ausführungsform sind die Operanden durch eine FFT-Operation gelieferte Operanden.
-
Eine FFT-Einheit kann als Teil der Radarvorrichtung oder zur Radarvorrichtung extern vorgesehen sein. Die FFT-Einheit kann FFT-Ergebnisse liefern, die als Operanden verwendet werden.
-
Die FFT-Operation kann eine 1.-Stufen-FFT-, eine 2.-Stufen-FFT- oder eine 3.-Stufen-FFT-Operation sein, die auf der Grundlage von durch die Radarvorrichtung erhaltenen (detektierten und abgetasteten) Signalen vorgenommen wird.
-
Gemäß einer Ausführungsform werden einige Mengen von Operanden verarbeitet, bis alle Operanden komprimiert und in dem Speicher gespeichert wurden.
-
Gemäß einer Ausführungsform wird die Menge von Operanden auf eine vorbestimmte Blockgröße komprimiert.
-
Die Blockgröße kann 64 Bit, 128 Bit oder beliebige Vielfache davon sein.
-
Gemäß einer Ausführungsform sind die Operanden der Menge von Operanden Gleitkommazahlen, die ein Vorzeichen, einen Exponenten und eine Mantisse umfassen.
-
Gemäß einer Ausführungsform werden die Operanden der Menge von Operanden unter Verwendung einer Auflösung einer Mantisse komprimiert.
-
Gemäß einer Ausführungsform werden die Operanden der Menge von Operanden unter Verwendung von mindestens zwei Auflösungen komprimiert, die durch mindestens zwei Mantissen von reduzierter Größe, verglichen mit der Auflösung der Mantisse der unkomprimierten Operanden, bereitgestellt werden.
-
Gemäß einer Ausführungsform wird der gemeinsame Exponent auf der Grundlage des größten Exponenten innerhalb der Menge von Operanden bestimmt.
-
Gemäß einer Ausführungsform wird der gemeinsame Exponent auf der Grundlage der Menge von Operanden und mindestens eines zusätzlichen Wertes, Versatz oder Konstante, bestimmt.
-
Ein Fahrzeug wird vorgeschlagen, das mindestens eine wie hier beschriebene Radarvorrichtung umfasst.
-
Ferner wird ein Verfahren zum Verarbeiten von Radarsignalen bereitgestellt, das Folgendes umfasst:
- - Auswählen einer Menge von Operanden, die einige Operanden umfasst,
- - Bestimmen eines gemeinsamen Exponenten für die Operanden der Menge von Operanden,
- - Normieren der Operanden auf der Grundlage des gemeinsamen Exponenten,
- - Komprimieren jedes Operanden durch Reduzieren der Auflösung von dessen Mantisse,
- - Speichern des gemeinsamen Exponenten und der komprimierten Operanden in einem Speicher, wobei der gemeinsame Exponent auf der Grundlage der Menge von Operanden bestimmt wird.
-
Außerdem ist ein Computerprogrammprodukt vorgeschlagen, das direkt in einen Speicher einer digitalen Verarbeitungsvorrichtung ladbar ist und das Softwarecodeteile zum Durchführen der Schritte des wie hierin beschriebenen Verfahrens umfasst.
-
Ausführungsformen sind unter Bezugnahme auf die Zeichnungen dargestellt und veranschaulicht. Die Zeichnungen dienen dazu, das Grundprinzip zu veranschaulichen, so dass nur für das Verständnis des Grundprinzips notwendige Aspekte veranschaulicht werden. Die Zeichnungen sind nicht maßstabsgetreu. In den Zeichnungen bezeichnen die gleichen Bezugszeichen gleiche Merkmale.
- 1 zeigt ein beispielhaftes Diagramm, das Schritte zum Erhalten und Speichern komprimierter Radardaten umfasst;
- 2 zeigt ein beispielhaftes Diagramm eines alternativen Ansatzes zum Erhalten und Speichern komprimierter Radardaten;
- 3 zeigt eine Tabelle zum beispielhaften Visualisieren des wie in 1 vorgeschlagenen Kompressionsschemas;
- 4 zeigt eine Tabelle, die die Werte „Mantisse12“ (siehe Spalte 8 von 3), „Mantisse7“ (siehe Spalte 9 von 3) und „Mantisse8“ für die Operanden 1 bis 8 umfasst.
-
Der hier beschriebene Ansatz schlägt insbesondere Nutzen von Datenkompression von Werten in Gleitkommadarstellung vor, die in Radarverarbeitungsanwendungen verwendet werden können. Komprimieren von Daten, bevor diese in einem Speicher gespeichert werden, birgt den Vorteil, dass vorhandener Speicher effizienter genutzt werden kann oder dass weniger Speicherplatz ausreichen kann.
-
Ein geeignetes Datenformat kann Gleitkomma sein, das einer solchen Kompression unterzogen werden kann. Radarsysteme können ein Operandenformat von z. B. 8 Bit oder 16 Bit nutzen.
-
1 zeigt ein beispielhaftes Diagramm, das Schritte zum Erhalten und Speichern komprimierter Radardaten umfasst. Eine FFT-Einheit 101 stellt FFT-Ergebnisse bereit. Eine Menge (oder eine Auswahl) von Operanden der FFT-Ergebnisse wird in einem nachfolgenden Schritt 102 bestimmt. Als Nächstes werden die Operanden in einem Schritt 103 analysiert und in einem Schritt 104 werden die Operanden normiert, und ein für alle Operanden zu verwendender gemeinsamer Exponent wird bestimmt. In einem nachfolgenden Schritt 105 wird die Auflösung der Mantisse der Operanden angepasst und die komprimierten Daten werden im Schritt 106 gespeichert.
-
In einem Schritt 107 wird geprüft, ob alle Operanden komprimiert wurden. Falls dies wahr ist, hat die Kompression ihr Ende erreicht (siehe Schritt 108). Falls dies nicht wahr ist, und zusätzliche Operanden komprimiert werden müssen, wird zum Schritt 102 verzweigt. Somit können einige Mengen von Operanden durch Nutzen des Kompressionsschemas gemäß den Schritten 103 bis 105 und Speichern der komprimierten Menge von Operanden in Schritt 106 komprimiert werden.
-
Somit werden FFT-Ergebnisse, nach einer FFT-Stufe (sei es eine Erst-, eine Zweit- oder eine Dritt-Stufen-FFT) auf der Grundlage von mindestens einer Menge von Operanden komprimiert.
-
Der Operand kann insbesondere eine reale oder komplexe Darstellung sein oder er kann die reale Zahl oder die imaginäre Zahl des ausgewählten Operanden sein.
-
3 zeigt eine Tabelle zum beispielhaften Visualisieren des wie in 1 vorgeschlagenen Kompressionsschemas. Es sei angemerkt, dass dies keine Zwangslösung für jegliche Art von Implementation ist. Sie wird dafür verwendet, die zum Erreichen der Kompression vorgenommenen Schritte zu erläutern und zu Visualisieren.
-
Die erste Spalte „Operand #“ gibt die Nummer eines Operanden an. In diesem Beispiel sind acht Operanden gezeigt, die durch die Ziffern 1 bis 8 bezeichnet sind. Hier begründen die acht Operanden die beispielhafte Menge von Operanden.
-
Die zweite Spalte „16-Bit-Gleitspeicherung"zeigt die 16-Bit-Darstellung des Operanden, umfassend
- - ein erstes Vorzeichenbit (siehe auch dritte Spalte);
- - die folgenden 5 Bit repräsentieren den Exponenten (siehe auch vierte Spalte); und
- - die folgenden 10 Bit repräsentieren den Bruchanteil (siehe auch fünfte Spalte).
-
Der tiefgestellte Buchstabe „h“ gibt an, dass es sich um einen hexadezimalen Wert handelt. Die Binärdarstellung des 16-Bit-Gleitspeicherungsoperanden ist in der zweiten Spalte visualisiert.
-
Die sechste Spalte zeigt einen temporären Wert „m_tmp“, die siebente Spalte zeigt einen temporären Wert „m_tmp12“, die achte Spalte zeigt eine Mantisse „Mantisse12“ und die neunte Spalte zeigt eine komprimierte Mantisse „Mantisse7“. Die sechste bis achte Spalte werden zum ausführlicheren Erläutern des Wandlungsprozesses verwendet.
-
Die komprimierte Mantisse „Mantisse7“ wird durch Vornehmen der folgenden Schritte bestimmt:
- (1) Bestimmen des höchsten Werts von jeglichen Operanden 1 bis 8 auf der Grundlage des in der vierten Spalte gezeigten Exponenten des Operanden. In diesem Beispiel weist der Operand 1 den größten Exponenten 1Ah auf, der als der gemeinsame Exponent gewählt wird.
- (2) Bestimmen des temporären Werts „m_tmp" durch Erweitern der MSBs (höchstwertige Bits, z. B. die Bits zur Linken) der Binärdarstellung des Bruchanteils durch die zwei Bits „01“ (Anhängen der zwei Bits „01“ zur Linken des Werts des Bruchanteils).
Hinsichtlich Operand 2 wird die 10-Bit-Darstellung des Bruchanteils erweitert, um eine 12-Bit-Darstellung „m_tmp“ wie folgt zu erhalten:
- (3) Bestimmen des temporären Werts „m_tmp12“ durch Erstellen des 2s-Komplements, für den Fall, dass das Vorzeichen 1 ist. Falls das Vorzeichen 0 ist, ist m_tmp12 gleich m_tmp.
Das 2s-Komplement wird bestimmt durch (i) Invertieren der Bits von m_tmp und (ii) Addieren von 1. Dies ist in 3 beispielhaft für die Operanden 2, 4, 5 und 8 gezeigt.
- (4) Der Wert „Mantisse12“ wird durch „vorzeichenerweiterte Rechtsverschiebung“ des „m_tmp12“-Werts in Abhängigkeit von dem Wert des Vorzeichens und in Abhängigkeit von der Differenz zwischen dem gemeinsamen Exponenten und dem tatsächlichen Exponenten bestimmt.
Für Operand 2 ergibt sich das Folgende: Der gemeinsame Exponent beträgt 1Ah (=2610) und der Exponent des Operanden 2 ist 19h (=2510). Somit beträgt die Differenz zwischen den Exponenten 1. Die „vorzeichenerweiterte Rechtsverschiebung“ umfasst eine Rechtsverschiebung des „m_tmp“-Werts um ein Bit, Auffüllen der linkshändigen Seite der Bits mit dem Wert des Vorzeichens - der für den Operanden 2 1 ist.
Ein weiteres Beispiel ist der Operand 3: Die Differenz zwischen dem gemeinsamen Exponenten und dem Exponenten von Operand 3 beträgt 7. Da das Vorzeichen von Operand 3 0 ist, werden sieben 0-Werte an der linkshändigen Seite eingegeben und der Wert von „m_tmp 12“ wird um 7 Bit rechtsverschoben.
Die Ergebnisse der „vorzeichenerweiterten Rechtsverschiebung“ sind in der achten Spalte der in 3 gezeigten Tabelle visualisiert.
- (5) Der Wert von „Mantisse7“ wird auf der Grundlage der „Mantisse12“ folgendermaßen bestimmt: Die 7 MSBs der Mantisse12 werden herangenommen, und das 8-te MSB des Mantisse12-Werts bestimmt, ob eine Rundung angewandt wird: Falls das 8-te MSB 1 ist, wird der Wert 1 addiert, und falls das 8-te MSB 0 ist, wird nichts addiert.
Mit anderen Worten wird, falls das 8-te MSB von Mantisse12 0 ist, der Wert von Mantisse7 durch Extrahieren der 7 MSBs aus der Mantisse12 erhalten. Dies ist für die Operanden 2, 3, 7 und 8 anwendbar.
Falls das 8-te MSB von Mantisse12 1 ist, wird der Wert von Mantisse7 durch Extrahieren der 7 MSBs aus der Mantisse12 und Addieren des Binärwerts 1 erhalten. Dies ist für die Operanden 1, 4, 5 und 6 anwendbar.
-
Somit kann ein Block von komprimierten Daten durch Verketten der Bits des gemeinsamen Exponenten (1A
h) mit den Bits der Mantisse7 für alle Operanden 1 bis 8 bestimmt werden, was zu den folgenden Bits führt:
wobei „X“ ein zusätzliches (willkürliches) Bit angibt. In diesem Beispiel werden drei derartige „X“-Bits zum Auffüllen eines Blocks von 64 Bit hinzugefügt.
-
Diese Darstellung kann in 4-Bit-Portionen folgendermaßen umsortiert werden
was in hexadezimaler Notation dem Folgenden entspricht:
-
Die in der zweiten Spalte der Tabelle von 3 gezeigte 16-Bit-Gleitkommadarstellung benötigt achtmal 16 Bit, d. h. 128 Bit an Speicherplatz, wohingegen die komprimierte Darstellung lediglich viermal 16 Bit benötigt, d. h. 64 Bit an Speicherplatz.
-
2 zeigt ein beispielhaftes Diagramm eines alternativen Ansatzes zum Erhalten und Speichern komprimierter Radardaten; Eine FFT-Einheit 201 stellt FFT-Ergebnisse bereit. Eine Menge (oder eine Auswahl) von Operanden der FFT-Ergebnisse wird in einem nachfolgenden Schritt 202 bestimmt. Als Nächstes wird in einem Schritt 203 ein erster Anteil der Operanden unter Verwendung eines ersten Kompressionsschemas komprimiert. In einem nachfolgenden Schritt 204 wird mindestens ein verbliebener Anteil von Operanden unter Verwendung mindestens eines zusätzlichen Kompressionsschemas komprimiert.
-
Auf jeden der Schritte 203 und 204 folgend werden die jeweiligen komprimierten Daten in einem Schritt 205 gespeichert.
-
In einem Schritt 206 wird - auf den Schritt 204 folgend - geprüft, ob alle Operanden komprimiert wurden. Falls dies wahr ist, hat die Kompression ihr Ende erreicht (siehe Schritt 207). Falls dies nicht wahr ist, und zusätzliche Operanden komprimiert werden müssen, wird zum Schritt 202 verzweigt.
-
Somit schlägt die 2 entsprechende alternative Ausführungsform Kombinieren verschiedener Kompressionsschemas anstelle einer einzigen Kompression vor. Dies lässt flexible Zuweisung von Bits zum effizienten Nutzen vorgegebener Blockgrößen (z. B. von 64 Bit) zu. Insbesondere können die Größen der Mantissen für verschiedene Kompressionsschemas variieren.
-
Auf der Grundlage des im Hinblick auf 3 oben erläuterten Beispiels können die als „X“ bezeichneten nicht verwendeten Bit effizient genutzt werden, indem eine 8-Bit-Mantisse „Mantisse8“ für drei Operanden anstelle der 7-Bit-Mantisse „Mantisse7“ vorgesehen wird.
-
Somit kann eine Codierung mit variabler Genauigkeit angewandt werden, wobei manche Operanden mit höherer Genauigkeit als andere Operanden gespeichert werden. Auf der Grundlage des oben gezeigten Beispiels können die Operanden 1, 3, 5, 7 und 8 die Mantisse „Mantisse7“ mit geringerer Genauigkeit nutzen, und die Operanden 2, 4 und 6 können die Mantisse mit höherer Genauigkeit „Mantisse 8“ nutzen.
-
4 zeigt eine Tabelle, die die Werte „Mantisse12“ (siehe Spalte 8 von 3), „Mantisse7“ (siehe Spalte 9 von 3) und „Mantisse8“ für die Operanden 1 bis 8 umfasst.
-
Der Wert der Mantisse8 wird ähnlich dem Wert der Mantisse7 bestimmt: Die 8 MSBs des Mantisse12-Werts werden herangenommen, und das 8-te MSB des Mantisse12-Werts bestimmt, ob eine Rundung angewandt wird. Somit wird, falls das 9-te MSB 1 ist, der Wert 1 addiert; falls das 9-te MSB 0 ist, wird nichts addiert.
-
Somit wird der 64-Bit-Block von komprimierten Daten durch Verketten der Bits des gemeinsamen Exponenten (1A
h) und der Bits der Mantisse7 mit den Bits der Mantisse8 (für die Operanden 2, 4 und 6) für die jeweiligen Operanden bestimmt, was zu Folgendem führt:
-
Diese Darstellung kann in 4-Bit-Portionen folgendermaßen umsortiert werden
was in hexadezimaler Notation dem Folgenden entspricht:
-
Diese komprimierte Darstellung verwendet effizient alle Bits eines 64-Bit-Blocks.
-
Weitere Ausführungsformen, Alternativen und Vorteile:
-
In dem oben erläuterten Beispiel wird der gemeinsame Exponent als der größte der Exponenten der ausgewählten Gruppe von Operanden bestimmt.
-
Als eine Alternative kann der gemeinsame Exponent voreingestellt oder vorkonfiguriert werden. Als eine weitere Alternative kann der gemeinsame Exponent auf der Grundlage einer Konstanten oder eines Versatzes bestimmt werden, der von dem höchsten Exponenten der Menge von Operanden subtrahiert werden kann. Im Hinblick auf das obige Beispiel (siehe insbesondere die Tabelle von 3) kann ein konstanter Wert von 5 von dem höchsten Exponenten 1Ah subtrahiert werden, was dazu führt, dass 15h als der gemeinsame Exponent verwendet wird.
-
Somit beziehen sich hier beschriebene Beispiele auf einen Kompressionsansatz für Radarsignale, der Gleitkommadarstellungen auf eine effiziente und verbesserte Weise durch Normieren einer ausgewählten Gruppe von Operanden auf einen gemeinsamen Exponenten und Anpassen der Mantisse gemäß dem ausgewählten gemeinsamen Exponenten und gemäß einer vordefinierten Genauigkeit nutzt.
-
Die Kompression kann in verschiedenen Domänen von Radaranwendungen verwendet werden, z. B. im Hinblick auf Operanden, die in einer Entfernungs-, einer Doppler- und/oder einer Antennendomäne verwendet werden.
-
Die Kompression lässt eine effiziente Nutzung vorhandenen Speicherplatzes oder von Anwendungen, die weniger physischen Speicher benötigen, zu. Dies erhöht die Flexibilität im Hinblick auf Radaranwendungen, die beispielsweise in Fahrzeugen implementiert werden können.
-
Bei einem oder mehreren Beispielen können die hier beschriebenen Funktionen wenigstens teilweise in Hardware implementiert sein, wie etwa als spezielle Hardwarekomponenten oder als ein Prozessor. Allgemeiner können die Techniken in Hardware, Prozessoren, Software, Firmware oder einer beliebigen Kombination davon implementiert sein. Falls sie in Software implementiert sind, können die Funktionen als eine oder mehrere Anweisungen oder Code auf einem computerlesbaren Medium gespeichert oder über ein solches übertragen werden und können durch eine hardwarebasierte Verarbeitungseinheit ausgeführt werden. Computerlesbare Medien können computerlesbare Speichermedien beinhalten, die einem greifbaren Medium, wie etwa Datenspeichermedien, oder Kommunikationsmedien einschließlich eines beliebigen Mediums entsprechen, das einen Transfer eines Computerprogramms von einer Stelle zu einer anderen, z. B. gemäß einem Kommunikationsprotokoll, ermöglicht. Auf diese Weise können computerlesbare Medien allgemein (1) greifbaren, computerlesbaren Speichermedien, die nichtflüchtig sind, oder (2) einem Kommunikationsmedium, wie etwa einem Signal oder einer Trägerwelle, entsprechen. Datenspeichermedien können beliebige verfügbare Medien sein, auf die von einem oder mehreren Computern oder von einem oder mehreren Prozessoren zugegriffen werden kann, um Anweisungen, Code und/oder Datenstrukturen zur Implementierung der in dieser Offenbarung beschriebenen Techniken abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Medium beinhalten.
-
Als Beispiel und nicht als Beschränkung können derartige computerlesbare Speichermedien RAM, ROM, EEPROM, CD-ROM oder andere optische Plattenspeicher, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen, Flash-Speicher oder ein beliebiges anderes Medium, das zum Speichern eines gewünschten Programmcodes in Form von Anweisungen oder Datenstrukturen verwendet werden kann und auf das von einem Computer zugegriffen werden kann, umfassen. Ebenfalls wird eine beliebige Verbindung zweckmäßig als ein computerlesbares Medium, d. h. als ein computerlesbares Übertragungsmedium, bezeichnet. Falls zum Beispiel Anweisungen von einer Website, einem Server oder einer anderen fernen Quelle unter Verwendung eines Koaxialkabels, eines Glasfaserkabels, einer verdrillten Doppelleitung (Twisted Pair), eines digitalen Teilnehmeranschlusses (DSL - Digital Subscriber Line) oder drahtloser Technologien, wie etwa Infrarot, Funk und Mikrowellen, übertragen werden, dann sind das Koaxialkabel, das Glasfaserkabel, die verdrillte Doppelleitung, der DSL oder die drahtlosen Technologien, wie etwa Infrarot, Funk und Mikrowellen, in der Definition von Medium eingeschlossen. Es versteht sich allerdings, dass computerlesbare Speichermedien und Datenspeichermedien keine Verbindungen, Trägerwellen, Signale oder andere transiente Medien beinhalten, sondern stattdessen auf nichttransiente, greifbare Speichermedien abzielen. Disk und Disc beinhalten, so wie sie hier verwendet werden, eine Compact Disc (CD), eine Laser-Disc, eine optische Disc, eine Digital-Versatile-Disc (DVD), eine Floppy-Disk und eine Blu-ray-Disc, wobei Disks Daten üblicherweise magnetisch reproduzieren, wohingegen Discs Daten optisch mit Lasern reproduzieren. Kombinationen des Obigen sollten ebenfalls innerhalb des Umfangs von computerlesbaren Medien enthalten sein.
-
Anweisungen können durch einen oder mehrere Prozessoren ausgeführt werden, wie etwa durch eine oder mehrere Zentralverarbeitungseinheiten (CPU), digitale Signalprozessoren (DSPs), Mehrzweckmikroprozessoren, anwendungsspezifische integrierte Schaltkreise (ASICs), feldprogrammierbare Logikarrays (FPGAs) oder eine andere äquivalente integrierte oder diskrete Logikschaltungsanordnung. Dementsprechend kann sich der Ausdruck „Prozessor“, so wie er hier verwendet wird, auf eine beliebige der vorausgehenden Strukturen oder eine beliebige andere für eine Implementation der vorliegend beschriebenen Techniken geeignete Struktur beziehen. Außerdem kann die hier beschriebene Funktionalität bei manchen Aspekten innerhalb dedizierter Hardware- und/oder Softwaremodule bereitgestellt sein, die zum Codieren und Decodieren konfiguriert sind, oder in einen kombinierten Codec eingebunden sein. Auch könnten die Techniken vollständig in einem oder mehreren Schaltkreisen oder einem oder mehreren Logikelementen implementiert sein.
-
Die Techniken dieser Offenbarung können in einer breiten Vielfalt von Vorrichtungen oder Einrichtungen implementiert werden, einschließlich eines drahtlosen Handapparats, eines integrierten Schaltkreises (IC) oder eines Satzes von ICs (z. B. eines Chipsatzes). Verschiedene Komponenten, Module oder Einheiten werden in dieser Offenbarung beschrieben, um funktionale Aspekte von Vorrichtungen zu betonen, die dazu ausgelegt sind, die offenbarten Techniken durchzuführen, die aber nicht notwendigerweise eine Realisierung durch verschiedene Hardwareeinheiten erfordern. Stattdessen können, wie oben beschrieben, verschiedene Einheiten in einer einzigen Hardwareeinheit kombiniert oder durch eine Sammlung von interoperativen Hardwareeinheiten bereitgestellt werden, einschließlich, wie oben beschrieben, eines oder mehrerer Prozessoren zusammen mit geeigneter Software und/oder Firmware.
-
Obwohl verschiedene Ausführungsbeispiele der Erfindung offenbart wurden, wird es einem Fachmann ersichtlich sein, dass verschiedene Änderungen und Modifikationen vorgenommen werden können, die manche der Vorteile der Erfindung erzielen werden, ohne von der Idee und dem Schutzumfang der Erfindung abzuweichen. Es wird für einen Durchschnittsfachmann offensichtlich sein, dass andere Komponenten, die die gleichen Funktionen durchführen, zweckmäßig ersetzt werden können. Es sei erwähnt, dass Merkmale, die unter Bezugnahme auf eine spezielle Figur erklärt wurden, mit Merkmalen anderer Figuren kombiniert werden können, selbst in jenen Fällen, in denen dies nicht ausdrücklich erwähnt wurde. Ferner können die Verfahren der Erfindung entweder in reinen Softwareimplementierungen unter Verwendung der geeigneten Prozessoranweisungen oder in Hybridimplementierungen, die eine Kombination von Hardwarelogik und Softwarelogik nutzen, um die gleichen Ergebnisse zu erzielen, erzielt werden. Derartige Modifikationen an dem erfinderischen Konzept sollen durch die angehängten Ansprüche abgedeckt werden.