DE69535382T2 - Datendekomprimierung- und Übertragungssystem - Google Patents

Datendekomprimierung- und Übertragungssystem Download PDF

Info

Publication number
DE69535382T2
DE69535382T2 DE69535382T DE69535382T DE69535382T2 DE 69535382 T2 DE69535382 T2 DE 69535382T2 DE 69535382 T DE69535382 T DE 69535382T DE 69535382 T DE69535382 T DE 69535382T DE 69535382 T2 DE69535382 T2 DE 69535382T2
Authority
DE
Germany
Prior art keywords
data
file
hardware
compressed
digital signal
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.)
Expired - Lifetime
Application number
DE69535382T
Other languages
English (en)
Other versions
DE69535382D1 (de
Inventor
Linden A. Plantation deCarmo
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69535382D1 publication Critical patent/DE69535382D1/de
Application granted granted Critical
Publication of DE69535382T2 publication Critical patent/DE69535382T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf Datendekompression und Datenübertragung allgemein, insbesondere in Systemen, die digitalisierte Audio-, Video- und andere Signale unter Verwendung einer oder mehrerer Kompressionstechniken speichern und verarbeiten.
  • Hintergrund der Erfindung
  • Digitale Signaleinheiten („Einheiten") sind periphere Computereinheiten, die die Schnittstelle zwischen Computern und analoge Signale verarbeitenden Komponenten wie z.B. Mikrofonen, Lautsprechern, Videokameras oder Cassettenrecordern bilden. Diese Einheiten können eine Vielfalt von Datentypen verarbeiten, darunter Video-, Grafik- und Audiosignale. Beispielsweise sind „Audioeinheiten" Einheiten, die Audiodaten verarbeiten. Eine allgemein bekannte Art von Audioeinheit ist eine „Soundkarte", die an einen Bus in einem Computersystem angeschlossen werden kann. Es gibt eine Menge kommerziell erhältlicher Soundkarten.
  • Eine digitale Signaleinheit tastet periodisch ein analoges Eingangssignal ab und codiert die abgetastete Signalamplitude, um einen Fluss digitaler Wörter auszugeben, der „Digitalsignale" oder „digitalisierte Daten" darstellt. Der zu den Daten gehörige Name kann ihren Inhalt wiedergeben, z.B. „Audiodaten". Die Daten können in Computerdateien gespeichert werden, beispielsweise als eine digitale Darstellung von Musik oder Animation. Digitale Signale können auch in Dateien eingebunden sein, die andere Arten von Daten enthalten, z.B. können Audiodaten in einer elektronischen Nachricht und in Dateien zur Textverarbeitung oder Tabellenkalkulation enthalten sein.
  • Digitale Signalanwendungen („Anwendungen") sind Programme, die es einem Anwender erlauben, gespeicherte Digitalsignale zu manipulieren, beispielsweise Musik zu komponieren oder ein Segment der Audiodaten aus einer Datei zu entfernen und es in eine andere Datei einzufügen. Eine Menge solcher digitaler Signalanwendungen sind kommerziell erhältlich. Anwendungen und digitale Signaleinheiten wechselwirken mit Dateien aus gespeicherten Digitaldaten mittels eines Ein-/Ausgabe-(E/A-)Bedienprogramms. Das Datei-E/A-Bedienprogramm kann Bestandteil des Computerbetriebssystems sein und verwaltet die administrativen Operationen des Öffnens und Schließens von Dateien und das eigentliche Speichern in und das Abrufen von Daten aus einer Speichereinheit.
  • Eine Anwendung kann mit einer digitalen Signalvorrichtung wechselwirken, indem sie die Einheit anweist, ein analoges Eingangssignal in ein Digitalsignal umzuwandeln und das Digitalsignal in einer Datei zu speichern („Aufnahme"), oder die Einheit anweist, ein Digitalsignal aus einer Datei abzurufen und dieses in ein Analogsignal umzuwandeln („Wiedergabe"). Aufnahme und Wiedergabe werden gewöhnlich als „Echtzeit"-Operationen bezeichnet, da die erforderlichen Umwandlungen nicht länger als die eigentliche Zeitdauer des Analogsignals dauern dürfen. Während der Aufnahme, Wiedergabe und anderen Echtzeit-Operationen verarbeitet die Anwendung die Digitaldaten nicht, sondern die digitale Signaleinheit wechselwirkt direkt mit der Datei.
  • Die zunehmende Verwendung digitaler Audio-, Video- und anderer signalverarbeitender Anwendungen und Einheiten hat die Menge an digitalen Signaldaten, die von Computern gespeichert und verarbeitet werden müssen, weiter zunehmen lassen. Obwohl die Abtastrate und die Anzahl der Bits pro Abtastung den für die Speicherung eines gegebenen Digitalsignals tatsächlich benötigten Speicherplatz bestimmen, ist der benötigte Speicher im Allgemeinen verhältnismäßig groß. Digitalsignale können jedes Bit jeder Abtastung beinhalten, üblicherweise als „Puls-Code-modulierte (PCM)" oder „unkomprimierte" Signale bezeichnet. Hingegen können die Signale komprimiert sein, um den benötigten Speicherplatz zu verringern, üblicherweise als „komprimierte" Signale bezeichnet.
  • Verschiedene Techniken werden zur Durchführung der Kompression verwendet. Diese Kompressionstechniken sind untereinander nicht kompatibel, sodass eine mit einer Kompressionstechnik erzeugte Datei nicht mit einer anderen Technik entpackt oder dekomprimiert werden kann. Zu einigen der mehr gebräuchlichen Techniken gehören adaptive Puls-Code-Modulation (APCM), μ-Law, und Lauflängencodierung (Run-Length-Encoding, RLE). In der Regel enthält eine Datei weder eine Mischung aus komprimierten und unkomprimierten Daten noch Daten, die mit einer Mischung von Kompressionstechniken erzeugt wurden.
  • In einigen digitalen Signaleinheiten sind eine Hardwarekomponente, die als digitaler Signalprozessor (DSP) bekannt ist, sowie ihr zugehöriger Speicher und eine Steuerschaltung integriert. Hier werden im Folgenden ein DSP und seine zugehörigen Komponenten gemeinsam als ein „DSP" bezeichnet. Diese Einheiten können den DSP verwenden, um Digitalsignale zu komprimieren oder zu dekomprimieren (COmpress/DECompress oder „CODEC"); dies wird üblicherweise als eine „Hardware-CODEC"-Technik bezeichnet. Mit DSP ausgestattete Einheiten können auch unkomprimierte Digitalsignale verarbeiten, jedoch verschwendet dies Ressourcen, da mit DSP versehene Einheiten teurer sind als Einheiten ohne DSPs.
  • Einheiten ohne DSP können die meisten komprimierten Digitalsignale nicht verarbeiten und arbeiten folglich im Allgemeinen nur mit unkomprimierten Digitalsignalen. Falls eine solche Einheit mit einer komprimierten Datei zu arbeiten hat, muss die CODEC-Funktion von einer Software ausgeführt werden, die auf einer Zentraleinheit (CPU) in einem zugehörigen Computer läuft, bevor die Einheit die Daten speichert oder aus der Datei abruft; diese dazwischenliegende CODEC-Funktion wird üblicherweise als eine „Software-CODEC"-Technik bezeichnet.
  • Gelegentlich passen der Datentyp einer komprimierten oder unkomprimierten Datei und die Fähigkeit einer Einheit, eine Hardware-CODEC-Funktion auszuführen, nicht zueinander. Wenn diese Fehlanpassungen auftreten, führen sie zu einem von zwei Hauptproblemen: herabgesetzte Systemleistung oder geringe Ressourcen-Ausnutzung. Besonders die Verarbeitung einer komprimierten Datei mit einer Einheit, die über keine Hardware-CODEC-Fähigkeiten verfügt, verlangt die Ausführung zusätzlicher Verarbeitung durch die CPU, d.h. Softwarekompression/-dekompression, und beeinträchtigt so die gesamte Systemleistung negativ. Andererseits unterfordert die Verarbeitung einer unkomprimierten Datei durch eine Einheit, die Hardware-CODEC-Fähigkeiten besitzt, den verhältnismäßig teuren DSP und verschwendet Speicherplatz und E/A-Bandbreite, da eine komprimierte Datei viel weniger Platz beanspruchen würde.
  • Bis heute waren die Verfasser kommerzieller digitaler Signaldateien in der Regel gezwungen, unkomprimierte Dateien zur Verfügung zu stellen, um die höchste erreichbare Kompatibilität mit der Vielfalt der erhältlichen Einheiten zu gewährleisten. Dies beanspruchte große Mengen an Datei-Speicherkapazität; ebenso unterforderte es den DSP auf Systemen mit Einheiten, die eine Hardware-CODEC-Funktion ausführen können.
  • Auf ähnliche Weise wie digitale Signaleinheiten müssen Anwendungen, die Digitalsignale manipulieren, diese speichern und aus Dateien abrufen können, in denen die Daten möglicherweise mittels einer von vielen Kompressionstechniken komprimiert worden sind. In Systemen nach dem Stand der Technik muss eine Anwendung, um Daten zu speichern oder aus einer komprimierten Datei abzurufen, eine Software-CODEC-Routine enthalten, die zu der Kompressionsart der Datei passt.
  • Ferner werden die Daten üblicherweise strukturiert, wenn sie in einer Datei gespeichert werden. Die Struktur stimmt speziell mit einem „Dateiformat" überein, d.h. einer Spezifikation der Anordnung der Datenwörter im Datenteil der Datei sowie dem Inhalt und der Gliederung eines Dateikopfes. Dateiformate sind unabhängig vom Dateiinhalt, und darüber hinaus vermögen Anwendungen mehrere Dateien zu erzeugen, die alle den gleichen Datentyp enthalten, aber verschiedene Dateiformate verwenden. Dateien werden oft unter verschiedenen Betriebssystemen unterschiedlich formatiert, z.B. MS-DOS und OS/2(R). Folglich muss jede Software-CODEC-Routine so geschrieben werden, dass Daten sowohl mittels einer speziellen Kompressionstechnik als auch eines speziellen Dateiformates komprimiert und dekomprimiert werden können. Da es eine Vielzahl von Kompressionsarten und Dateiformaten gibt, muss jede Anwendung viele solcher Software-CODEC-Routinen beinhalten, um mit so viel wie möglichen Kompressionsarten und Dateiformaten kompatibel zu sein.
  • Jedoch haben Anwendungen, die viele CODEC-Routinen beinhalten, Probleme mit der Programmgröße und Programmkomplexität. Große oder komplexe Programme sind schwieriger zu schreiben, auszutesten und zu pflegen. Jeder Anwendungsentwickler muss CODEC-Routinen duplizieren, die bereits in anderen Anwendungen vorhanden sind, womit das Problem des doppelten Aufwands entsteht. Es werden fortwährend neue Kompressionstechniken entwickelt, womit die Aktualisierung bestehender Anwendungen problematisch wird. Andererseits hat eine Anwendung mit nur einer oder einer kleinen Anzahl von CODEC-Routinen den Nachteil, dass sie nur eine begrenzte Anzahl von Kompressionsarten und Dateiformaten verarbeiten kann.
  • Einige der Systeme nach dem Stand der Technik unterstützen daher mehrere Kompressionsarten. Diese Systeme lassen sich in zwei Gruppen aufteilen: „reine Hardware"-CODEC-Systeme und „reine Software"-CODEC-Systeme. Reine Hardware-CODEC-Systeme gewährleisten die Fähigkeit der Einheit, jede Datei verarbeiten zu können, indem sie stets einen DSP voraussetzen. Diese Systeme haben zwei Nachteile. Sie schließen die Verwendung weniger teurer Einheiten aus, die keinen DSP verwenden, und da sie die zwischen Anwendungen und Dateien übertragenen Daten nicht komprimieren oder dekomprimieren, scheitern sie daran, das Problem der Anwendungsgröße und Anwendungskomplexität zu lösen.
  • Es gibt auch reine Software-CODEC-Systeme, die alle CODEC-Funktionen unabhängig davon, ob ein DSP verfügbar ist, in Software ausführen. Das Datei-E/A-Bedienprogramm in diesen Systemen erkennt typischerweise das Format einer Datei und welche Kompressionstechnik ggf. verwendet wurde, indem der Dateikopf beim Öffnen der Datei gelesen wird. Das Datei-E/A-Bedienprogramm unterhält eine Bibliothek von CODEC-Routinen. Mittels der passenden Routine transferiert das Datei-E/A-Bedienprogramm unkomprimierte Daten zu und von der Anwendung oder der Einheit, unabhängig von der Kompressionsart der Datei. Ist jedoch eine mit einem DSP ausgestattete Einheit verfügbar, verschwenden diese Systeme wertvolle CPU-Zeit mit der Ausführung von Software-CODEC-Funktionen und beeinträchtigen deswegen die Gesamtleistung des Systems.
  • Infolgedessen lösen weder reine Hardware- noch reine Software-CODEC-Systeme die Probleme der Ressourcen-Ausnutzung, der Anwendungsgröße und der Anwendungskomplexität.
  • Die europäische Patentanmeldung EP 0 512 174 A1 beschreibt ein Verfahren und eine Vorrichtung zur Datenübermittlung, in die Hardware- und Software-Datenkompression zusammen mit der Gliederung und dem Wiederaufbau der Datendatei integriert sind. Die Art der verwendeten Datenkompression wird vom Datentyp bestimmt.
  • Zusammenfassung der Erfindung
  • Entsprechend stellt die vorliegende Erfindung in Reaktion auf eine Anforderung ein Verfahren zur Datenübertragung einschließlich komprimierter Daten an Nutzungsmittel bereit, wobei das Verfahren die folgenden Schritte umfasst: Ermitteln, ob die Nutzungsmittel Hardware zur Dekomprimierung der komprimierten Daten enthalten; Feststellen einer zur Komprimierung der komprimierten Daten verwendeten Kompressionstechnik; Übertragen der komprimierten Daten an die Nutzungsmittel; Verwenden einer Softwareroutine zur Dekomprimierung der komprimierten Daten, falls die Nutzungsmittel die Hardware nicht enthalten; und Steuern der Hardware, um die komprimierten Daten gemäß der Kompressionstechnik zu dekomprimieren, falls die Nutzungsmittel die Hardware enthalten.
  • Gemäß einem anderen Aspekt stellt die Erfindung auch ein Datenübertragungssystem zur Übertragung von Daten einschließlich komprimierter Daten an Nutzungsmittel in Reaktion auf eine Anforderung bereit, wobei das System Folgendes umfasst: auf die Anforderung reagierende Mittel zur Ermittlung, ob die Nutzungsmittel Hardware zur Dekomprimierung der komprimierten Daten enthalten; auf die Anforderung reagierende Mittel zur Feststellung einer Kompressionstechnik, die zur Komprimierung der komprimierten Daten verwendet wurde; ein auf die Anforderung reagierendes Datei-E/A-Bedienprogramm zur Übertragung der Daten an die Nutzungsmitteln, wobei während der Datenübertragung an die Nutzungsmittel das Datei-E/A-Bedienprogramm zur Dekomprimierung der komprimierten Daten steuerbar ist; mit den Ermittlungs- und Feststellungsmitteln zusammenarbeitende Mittel zur Steuerung des Datei-E/A- Bedienprogramms, um die Daten zu dekomprimieren, falls die Nutzungsmittel die Hardware nicht enthalten; und Mittel zur Steuerung der Hardware zur Dekomprimierung der komprimierten Daten nach der Kompressionstechnik, falls die Nutzungsmittel die Hardware enthalten.
  • Systeme in Einklang mit der Erfindung können zwischen einem gebräuchlichen, umkomprimierten Datenformat und jedem von mehreren Datenformaten übersetzen. Diese Systeme wählen dynamisch aus, ob die Ausführung der Übersetzung in Software oder in Hardware erfolgt. Diese Systeme entscheiden anhand des jeweiligen zur Datenkompression verwendeten Formates sowie dem Vorhandensein oder der Abwesenheit von Hardware-Ressourcen zur Übersetzung.
  • Dies wird erreicht, indem dynamisch zwischen Hardware- und Software-CODEC-Techniken anhand der verfügbaren Hardware-Ressourcen und der Kompressionsart jeder Datei ausgewählt wird. Die Erfindung stellt ferner ein gewöhnliches, unkomprimiertes Format zum Datenaustausch zwischen Anwendungen und Datendateien zur Verfügung, das unabhängig von der Kompressionstechnik oder dem Dateiformat ist, in dem die Datendatei erzeugt wurde.
  • Genauer betrachtet wird in einer bevorzugten Ausführungsform der Erfindung ein digitalen Signalverwalter verwendet, der zwischen dem Datei-E/A-Bedienprogramm und den digitalen Signaleinheiten oder den Anwendungsprogrammen angeordnet ist. In Reaktion auf die Kompressionsart einer Datei, wie sie im Dateikopf angegeben ist, und die Merkmale der digitalen Signaleinheit, wie sie in einer „Ressourcendatei" gespeichert sind oder vom digitalen Signalverwalter erkannt oder direkt von der digitalen Signaleinheit angefordert werden, wählt der digitale Signalverwalter dynamisch entweder eine Hardware- oder eine Software-CODEC-Technik für die Übertragung zwischen der digitalen Signaleinheit und der Datei aus. Der digitale Signalverwalter stellt auch ein gewöhnliches Format zum Datenaustausch für die Anwendungsprogramme zur Verfügung, welches nach einer veranschaulichenden Ausführungsform aus unkomprimierten Daten besteht. So muss sich jede Anwendung nur mit einer einzigen Kompressionsart und einem einzigen Dateiformat befassen.
  • Genauer weist der digitale Signalverwalter in Reaktion auf eine Anforderung der Anwendung zum Öffnen einer Datei, falls eine bestehende Datei komprimierte Daten enthält oder eine neue Datei komprimierte Daten enthalten soll, das Datei-E/A-Bedienprogramm an, die geeignete Dekompressions-Routine einzuleiten, wenn die Anwendung Daten aus der Datei abruft, und die geeignete Kompressions-Routine einzuleiten, wenn die Anwendung Daten in der Datei speichert. Falls die Datei unkomprimierte Daten enthält oder eine neue Datei komprimierte Daten enthalten soll, weist der digitale Signalverwalter das Datei-E/A-Bedienprogramm an, die Daten unmodifiziert zwischen der Anwendung und der Datei zu übergeben. D.h., der digitale Signalverwalter erweckt für die Anwendung den Eindruck, als wären alle Dateien unkomprimiert. Dieses gewöhnliche, unkomprimierte Dateiformat bringt Kompatibilität unter im Wesentlichen allen Anwendungen und allen digitalen Signaldateien mit sich, unabhängig von den ggf. bei der Erzeugung der Dateien eingesetzten Kompressionstechniken.
  • Der digitale Signalverwalter verwaltet Ressourcendateien, die ausgewählte Betriebsmerkmale jeder verfügbaren digitalen Signaleinheit enthalten. Die Ressourcendateien können beispielsweise von den Verkäufern der Einheiten bereitgestellt werden. Diese Merkmale beinhalten Informationen bzgl. der Betriebsart/-en der Einheit, einschließlich der Abtastrate für jede Betriebsart, d.h. die Anzahl der von der Einheit in der Sekunde ausgeführten Abtastungen; der Präzision, d.h. die Anzahl der Datenbits pro Abtastung; und die Anzahl der verwendeten Analogkanäle. Die Ressourcendateien beinhalten auch zusätzliche Informationen wie z.B. das Vorhandensein und die Menge an Hardware-Komponenten in der Einheit, die zur Datenkompression oder -dekompression nützlich sind, z.B. ein DSP und die dem DSP verfügbare Speicherkapazität.
  • In Reaktion auf eine Anforderung der Anwendung, eine Dateikennung zwischen einer bestehenden Datei und einer digitalen Signaleinheit einzurichten, verwendet der digitale Signalverwalter das Datei-E/A-Bedienprogramm, um den Dateikopf zu lesen und die Dateimerkmale festzustellen. Zu diesen Merkmalen gehören die Abtastrate, Präzision, Anzahl der Kanäle und die ggf. zur Erzeugung der Datei eingesetzte Kompressionstechnik. Falls die Anwendung eine neue Datei erklärt, kann die Anwendung die Dateimerkmale festlegen, obwohl das Datei-E/A-Bedienprogramm Standardmerkmale vorgibt. Der digitale Signalverwalter verwendet sowohl die Dateimerkmale als auch die Hardwaremerkmale der Einheit, wie sie in der Ressourcendatei wiedergegeben sind, um zu entscheiden, ob die Einheit die Daten direkt verarbeiten kann oder die Daten zuerst von einer Software-CODEC-Routine komprimiert oder dekomprimiert werden müssen.
  • Der digitale Signalverwalter steuert daraufhin das Datei-E/A-Bedienprogramm, um die Daten auf dementsprechende Weise zu übertragen. Falls der digitale Signalverwalter beispielsweise feststellt, dass die Einheit die Daten in der Datei direkt verarbeiten kann, passt der digitale Signalverwalter die Betriebsmerkmale der Einheit so gut wie möglich an die Merkmale an, mit denen die Datendatei erzeugt wurde. Der digitale Signalverwalter weist dann das Datei-E/A-Bedienprogramm an, die Daten zwischen der Einheit und der Datei direkt weiterzuleiten, d.h., ohne dass das Datei-E/A-Bedienprogramm die Daten komprimiert oder dekomprimiert.
  • Falls der digitale Signalverwalter hingegen feststellt, dass die Daten komprimiert oder dekomprimiert werden müssen, beauftragt der digitale Signalverwalter das Datei-E/A-Bedienprogramm, die geeignete Dekompressionsroutine einzuleiten, wenn die Einheit aus der Datei liest, und die geeignete Kompressionsroutine einzuleiten, wenn die Einheit in die Datei schreibt; das Datei-E/A-Bedienprogramm führt Kompression/-Dekompression in Software aus.
  • Die Verwendung des digitalen Signalverwalters zur Entscheidung, ob die Daten mit einer Software-CODEC-Routine komprimiert oder dekomprimiert werden müssen, verbessert die Ressourcen-Ausnutzung. Wann immer es möglich ist, wird ein DSP zur Datenverarbeitung eingesetzt, was die Zentraleinheit (CPU) zur Ausführung anderer Funktionen freigibt. Die CPU führt Kompression/-Dekompression in Software nur dann aus, wenn die Einheit nicht in der Lage ist, die Daten direkt zu verarbeiten; dennoch sind Einheiten ohne DSPs nicht auf den Betrieb mit unkomprimierten Datendateien beschränkt.
  • Kurze Beschreibung der Zeichnungen
  • Die obigen und weitere Vorteile der Erfindung werden besser verstanden, wenn Bezug auf die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen genommen wird, in denen:
  • 1 ein schematisches Blockschaltbild eines Computers ist, auf dem eine Ausführungsform der Erfindung eingerichtet werden kann;
  • 2 ein schematisches Blockschaltbild ist, das ein System zur Datenübertragung nach der Erfindung in Beziehung mit anderen Software- und Hardwarekomponenten darstellt, mit denen es wechselwirkt.
  • 3 ein Flussdiagramm ist, das Aspekte eines Verfahrens nach der Erfindung in Zusammenhang mit dem in 2 veranschaulichten System darstellt;
  • 4 ein Flussdiagramm ist, das ein Verfahren nach der Erfindung in Zusammenhang mit dem in 2 veranschaulichten System darstellt; und
  • 5A, 5B und 5C zusammen ein Flussdiagramm bilden, das einen Teil des in 4 veranschaulichten Verfahrens genauer abbildet.
  • Ausführliche Beschreibung der veranschaulichenden Ausführungsformen
  • Die Erfindung wird bevorzugt in Zusammenhang mit einem Betriebssystems ausgeführt, das sich auf einem Personalcomputer befindet wie z.B. das in 1 vorgestellte System. Der Computer 100 wird von einer Zentraleinheit (CPU) 102, die ein gewöhnlicher Mikroprozessor sein kann, und von einer Reihe weiterer Einheiten, die zur Lösung bestimmter Aufgaben vorgesehen sind, gesteuert. Ein Systembus 104 verbindet die CPU 102 und die anderen Einheiten. Obwohl ein bestimmter Computer nur manche der in 1 dargestellten Einheiten oder weitere nicht abgebildete Komponenten haben kann, werden die meisten Computer zumindest die abgebildeten Einheiten beinhalten. Insbesondere enthält der Computer 100 einen Nur-Lese-Speicher (ROM) 106 zur permanenten Speicherung der Computerkonfiguration und grundlegender Betriebsbefehle; einen Zufalls-Zugriffs-Speicher (RAM) 108 zum vorübergehenden Speichern von Befehlen und Daten; einen Ein-/Ausgabe-(E/A) Adapter 110 zur Verbindung mit peripheren Einheiten wie z.B. einer Disketteneinheit 112; einen Tastaturadapter 114 zum Anschluss einer Tastatur 116; einen Anzeigenadapter 118 zum Anschluss einer Anzeige 120; und eine digitale Signaleinheit, die in diesem Beispiel eine Soundkarte 122 zum Anschluss eines Lautsprechers 124 und eines Mikrofons 126 ist. Hier werden im Folgenden der ROM 106, der RAM 108 und die Disketteneinheit 112 gemeinsam als die „Datenspeichereinheit" bezeichnet.
  • 2 zeigt verschiedene Dateien, die Programme und Daten enthalten und in den verschiedenen Datenspeichereinheiten in dem System vorliegen. Das System kann eine oder mehrere digitale Signaleinheiten enthalten, beispielsweise 200a, 200b und 200c. Optional können eine oder mehrere Einheiten wie z.B. 200c einen digitalen Signalprozessor (DSP) 202 beinhalten. In der bevorzugten Ausführungsform der Erfindung stellt der Verkäufer der Einheit auch eine Ressourcendatei zur Verfügung, beispielsweise 204a, 204b oder 204c, entsprechend der Einheit 200a, 200b bzw. 200c. Hier wird im Folgenden die Ressourcendatei als „Ressourcendatei 204" bezeichnet. Jede Ressourcendatei 204 listet auf, ob die zugehörige Einheit 200 beispielsweise einen DSP enthält, die dem DSP zugehörige Speicherkapazität, die anpassungsfähigen Merkmale der Einheit 200 und den Wertebereich dieser Merkmale. Die Verwendung der Ressourcendatei wird weiter unten genauer beschrieben.
  • Das System enthält eine oder mehrere Anwendungen, beispielsweise 206a, 206b und 206c, die alle im RAM 108 oder ROM 106 aus 1 vorliegen. Hier wird im Folgenden die Anwendung als „Anwendung 206" bezeichnet.
  • Die digitalen Signaldateien 208, 210a, 210b und 210c enthalten Digitalsignale, und die Datei 208 enthält unkomprimierte Daten. Die Dateien 210a, 210b und 210c enthalten dagegen mit verschiedenen Kompressionstechniken komprimierte Daten, obgleich es mehr als drei solcher Techniken gibt. Jede Datei enthält einen Datenteil, der Digitalsignale enthält, und einen Dateikopf, der Merkmale des Datenteils angibt, z.B. die Abtastrate, Anzahl der Bits pro Abtastung und das Kompressionsformat, d.h. unkomprimiert oder die Kompressionstechnik. Die Anwendung 206 oder die Einheit 200 wechselwirkt mit einer Datei 208 oder 210 über ein Datei-Ein-/Ausgabe-(E/A-)Bedienprogramm 212. Das Datei-E/A-Bedienprogramm 212 ist Teil des Computerbetriebssystems 214 und verwaltet die administrativen Operationen des Öffnens und Schließens von Dateien und das tatsächliche Speichern in eine und das Abrufen von Daten aus einer Speichereinheit. Das Betriebssystem 214 und sein Datei-E/A-Bedienprogramm 212 befinden sich im RAM 108 und/oder ROM 106 aus 1.
  • Eine Anwendung 206 kann zwei Arten von Operationen ausführen. Bei der ersten Art liest und/oder schreibt die Anwendung 206 ein Digitalsignal in eine oder mehrere Dateien 208 und/oder 210, um eine Operation in Nicht-Echtzeit auszuführen, beispielsweise um ein Segment von Audiodaten aus einer Datei herauszuschneiden und es in eine andere Datei einzufügen. Bei der zweiten Operationsart beauftragt die Anwendung 206 die Einheit 200, eine Echtzeit-Operation auszuführen, beispielsweise die Aufnahme oder Wiedergabe, und daraufhin liest die Einheit 200 aus einer oder schreibt ein Digitalsignal in eine Datei 208 oder 210. Diese beiden Operationsarten sind weiter unten ausführlicher beschrieben.
  • Wenn eine Operation erster Art, d.h. eine in Nicht-Echtzeit, ausgeführt wird, sendet die Anwendung 206 eine Anforderung an das Betriebssystem 214, d.h. an einen digitalen Signalverwalter 216. Die Anforderung kennzeichnet die Datei 208 oder 210 zur Verarbeitung. Der digitale Signalverwalter 216 führt Operationen aus, die im Flussdiagramm in 3 allgemein veranschaulicht sind. So beginnt der digitale Signalverwalter 216 in Schritt 300 und sendet in Schritt 302 eine Anforderung an das Datei-E/A-Bedienprogramm 212, die Datei 208 oder 210 zu öffnen und festzustellen, welche Kompressionstechnik ggf. zur Erzeugung der Datei verwendet wurde und in welchem Format die Datei vorliegt.
  • Das Datei-E/A-Bedienprogramm 212 kann eine „E/A-Prozedur" für jede Kombination aus Dateiformat und Speichermedium, die vom System unterstützt wird, enthalten, z.B. 218a, 218b oder 218c. Jede E/A-Prozedur ist in der Lage, Daten in einer Datei zu speichern oder aus einer Datei abzurufen sowie zwischen dem Dateiformat und einem gewöhnlichen Format zu übersetzen. Das Datei-E/A-Bedienprogramm 212 fragt die E/A-Prozeduren ab, bis es eine findet, von der die Datei 208 oder 210 erkannt wird; das Datei-E/A-Bedienprogramm verwendet diese E/A-Prozedur für alle Übertragungen zu und von der Datei 208 oder 210. Diese Anordnung, die nicht Teil der vorliegenden Erfindung ist, wird ausführlicher beschrieben in der gemeinschaftlich zugewiesenen US-Patentanmeldung mit der Seriennummer 07/960 976, eingereicht am 31. Dezember 1991 von D. M. Dorrance u.a. „Data Processing File Format Transparency System", die hiermit als Bezug aufgenommen wird. Das Datei-E/A-Bedienprogramm erkennt auch, welche Kompressionstechnik ggf. verwendet wurde, um die Datei 208 oder 210 zu erzeugen, indem der Dateikopf gelesen wird, und es stellt diese Informationen dem digitalen Signalverwalter zur Verfügung.
  • In Schritt 304 untersucht der digitale Signalverwalter 216 die Antwort des Datei-E/A-Bedienprogramms 212. Falls die Datei unkomprimiert ist, richtet der digitale Signalverwalter 216 in Schritt 306 eine Dateikennung 220 zwischen dem Datei-E/A-Bedienprogramm 212 und der Anwendung 206 ein. Eine Dateikennung wird manchmal als „Kanal" bezeichnet, und es ist bestens bekannt, wie ein Dateizeiger eingerichtet wird, siehe z.B. Multimedia Presentation Manager Programmer Reference, IBM Bezugsnummer 71G2222. Die Anwendung 206 liest dann aus der Datei 208 und/oder schreibt in sie. Der digitale Signalverwalter schließt die Operation in Schritt 308 ab.
  • Falls die Datei komprimiert ist, lädt das Datei-E/A-Bedienprogramm 212 die zugehörige Kompressionsart-spezifische Kompressions-/Dekompressions-(COmpression/DECompression oder CODEC) Routine, z.B. 222a, 222b oder 222c, in das Datei-E/A-Bedienprogramm. Dieser Vorgang, der nicht Teil der vorliegenden Erfindung ist, wird ausführlicher beschrieben in gemeinschaftlich zugewiesenen US-Patentanmeldung mit der Seriennummer 07/981040 „Software Mechanism for Providing CODEC Transparency", eingereicht am 24. November 1992 von Fetchi Chan und Michael Dorrance, die hiermit als Bezug aufgenommen wird. Der digitale Signalverwalter 216 richtet in Schritt 310 eine Dateikennung 220 zwischen dem Datei-E/A-Bedienprogramm 212 und der Anwendung 206 ein. Der digitale Signalverwalter weist das Datei-E/A-Bedienprogramm 212 an, die geeignete CODEC-Routine 222 zur Datenübertragung zwischen der Anwendung 206 und der Datei 210 zu verwenden. Die CODEC-Routine 222 dekomprimiert die Daten, wenn die Anwendung 206 aus der Datei 210 liest, und komprimiert die Daten, wenn die Anwendung 206 in die Datei 210 schreibt. Der digitale Signalverwalter 216 schließt die Operation in Schritt 308 ab.
  • Auf diese Weise gewährleistet der digitale Signalverwalter 216, dass die Anwendung 206 Daten mit der Datei 208 oder 210 in einem gewöhnlichen, unkomprimierten Format austauscht.
  • Bei der zweiten Operationsart weist die Anwendung 206 eine Einheit 200 an, eine Echtzeit-Operation auszuführen. Das Flussdiagramm in 4 veranschaulicht den Betrieb des digitalen Signalverwalters 216 allgemein, wenn er eine Operation dieser Art ausführt. Die Anwendung 206 sendet eine Anforderung an das Betriebssystem 214, d.h. den digitalen Signalverwalter 216. Die Anforderung gibt an, dass die Anwendung 206 eine Einheit 200 anweist, ein Digitalsignal in einer Datei 208 oder 210 zu lesen oder in diese zu schreiben.
  • Der digitale Signalverwalter 216 beginnt in Schritt 400. Er stellt in Schritt 402 fest, welche Merkmale der Einheit 200 angepasst werden können sowie den Wertebereich dieser Merkmale. In der bevorzugten Ausführungsform ermittelt der digitale Signalverwalter 216 die Merkmale der Einheit, indem er in Schritt 402 die Ressourcendatei 204 liest. In einer anderen Ausführungsform stellt er die Merkmale der Einheit fest, indem er die Einheit 118 befragt. Zu diesen Merkmalen gehören die Anzahl der Abtastungen in der Sekunde; die Präzision, d.h. die Anzahl der Datenbits pro Abtastung; und die Anzahl der verwendeten Kanäle. Der digitale Signalverwalter ermittelt in Schritt 402 auch, ob die Einheit 200 einen DSP 202 besitzt und wenn ja, die Speicherkapazität, die dem DSP zur Verfügung steht.
  • In Schritt 404 sendet der digitale Signalverwalter 216 eine Anforderung an das Datei-E/A-Bedienprogramm 212, die Datei 208 oder 210 zu öffnen und zu ermitteln, welche Kompressionstechnik ggf. zur Erzeugung der Datei verwendet wurde. In Schritt 406 untersucht der digitale Signalverwalter 216 die Antwort des Datei-E/A-Bedienprogramms 212. Falls die Datei unkomprimiert ist, legt der digitale Signalverwalter 216 in Schritt 408 die anpassungsfähigen Merkmale der Einheit fest und weist hiermit die Einheit 200 an, ein unkomprimiertes Digitalsignal zu verarbeiten. Der digitale Signalverwalter 216 legt die anpassungsfähigen Merkmale der Einheit anhand bestens bekannter Mittel fest, beispielsweise durch Setzen und Löschen der entsprechenden Bits in den Steuerregistern der Einheit. Der digitale Signalverwalter 216 richtet in Schritt 410 eine Dateikennung 224 zwischen dem Datei-E/A-Bedienprogramm 212 und der Einheit 200 ein. Die Einheit 200 liest und/oder schreibt dann aus der oder in die Datei 208. Der digitale Signalverwalter schließt die Operation in Schritt 412 ab.
  • Falls die Datei komprimiert ist, ermittelt der digitale Signalverwalter 216 in Schritt 414, ob die Einheit 200 über einen DSP 202 und ausreichend Speicher zur Verarbeitung des Digitalsignals verfügt. Falls die Einheit 200 keinen DSP oder keinen ausreichenden Speicher hat, richtet der digitale Signalverwalter 216 in Schritt 416 eine Dateikennung 224 zwischen dem Datei-E/A-Bedienprogramm 212 und der Einheit 200 ein. Der digitale Signalverwalter 216 weist das Datei-E/A-Bedienprogramm 212 an, für die Datenübertragung zwischen der Einheit 200 und der Datei 210 eine CODEC-Routine 222 anzuwenden. Die CODEC-Routine 222 dekomprimiert die Daten, wenn die Einheit 200 aus der Datei 210 liest, und komprimiert die Daten, wenn die Einheit 200 in die Datei 210 schreibt. Obgleich die Datei 210 tatsächlich komprimiert vorliegt, verarbeitet die Einheit 200 dann unkomprimierte Daten. Deshalb legt in Schritt 418 der digitale Signalverwalter 216 die anpassungsfähigen Merkmale der Einheit fest und weist so die Einheit 200 an, ein unkomprimiertes Digitalsignal zu verarbeiten. Der digitale Signalverwalter 216 schließt die Operation in Schritt 412 ab.
  • Falls die Einheit 200 über einen DSP und zur Verarbeitung des Digitalsignals ausreichenden Speicher verfügt, berechnet der digitale Signalverwalter 216 in Schritt 420 die zugehörigen Werte für die anpassungsfähigen Merkmale der Einheit. Der digitale Signalverwalter gleicht diese Werte so genau wie möglich an die Merkmale an, mit denen die digitale Signaldatei erzeugt wurde. Der digitale Signalverwalter 216 berechnet die Anzahl der Bits pro Abtastung, die Anzahl der Kanäle und die Abtastrate (die Anzahl der Abtastungen in der Sekunde), die von der Einheit 200 verwendet werden müssen.
  • Die Flussdiagramme in 5A, 5B und 5C veranschaulichen allgemein die Operationen in Schritt 420. Wie zuerst in 5A gezeigt ist, beginnt der digitale Signalverwalter 216 die Berechnung der Anzahl-der-Bits-pro-Abtastung in Schritt 500 und legt in Schritt 502 die „momentane Näherung" für die Anzahl der Bits pro Abtastung in der ersten Betriebsart der Einheit fest. In Schritt 504 prüft er, ob es noch weitere Betriebsarten der Einheit gibt, die berücksichtigt werden müssen. Falls keine weiteren Betriebsarten zu berücksichtigen sind, legt der digitale Signalverwalter in Schritt 506 die „Anzahl der Bits für die bestens übereinstimmende Abtastung" als die „momentane Näherung" fest und geht in Schritt 508 zum Flussdiagramm in 5B über.
  • Falls weitere Betriebsarten zu berücksichtigen sind, legt der digitale Signalverwalter 216 in Schritt 510 „X" als die Anzahl der Bits pro Abtastung in der nächsten Betriebsart der Einheit fest. In Schritt 512 legt der digitale Signalverwalter 216 „A" als den Absolutwert der Differenz aus der Anzahl der Bits pro Abtastung in der Datei 210 und der „momentanen Näherung" fest. In Schritt 514 legt der digitale Signalverwalter 216 „B" als den Absolutwert der Differenz aus der Anzahl der Bits pro Abtastung in der Datei 210 und „X" fest. In Schritt 516 vergleicht der digitale Signalverwalter 216 „A" mit „B". Ist „B" größer als „A", fällt der digitale Signalverwalter in der Schleife zum Schritt 504 zurück.
  • In 5B beginnt der digitale Signalverwalter 216 die Berechnung der Anzahl der Kanäle in Schritt 600 und bestimmt in Schritt 602 die „momentane Näherung" als die Anzahl der Kanäle in der ersten Betriebsart der Einheit. In Schritt 604 prüft er, ob es noch weitere Betriebsarten der Einheit 200 gibt, die berücksichtigt werden müssen. Falls keine weiteren Betriebsarten zu berücksichtigen sind, legt der digitale Signalverwalter in Schritt 606 die „Anzahl der Kanäle mit der besten Übereinstimmung" als die „momentane Näherung" fest und geht in Schritt 608 zum Flussdiagramm in 5C über.
  • Falls weitere Betriebsarten zu berücksichtigen sind, legt der digitale Signalverwalter 216 in Schritt 610 „X" als die Anzahl der Kanäle in der nächsten Betriebsart der Einheit fest. In Schritt 612 legt der digitale Signalverwalter „A" als den Absolutwert der Differenz aus der Anzahl der Kanäle der Datei 210 und der „momentanen Näherung" fest. In Schritt 614 legt der digitale Signalverwalter 216 „B" als den Absolutwert der Differenz aus der Anzahl der Kanäle in der Datei 210 und „X" fest. In Schritt 616 vergleicht der digitale Signalverwalter 216 „A" mit „B". Ist „B" größer als „A", springt der digitale Signalverwalter in der Schleife direkt zu Schritt 604 zurück. Andernfalls legt er „X" als die „momentane Näherung" fest und springt in der Schleife zum Schritt 604 zurück.
  • In 5C beginnt der digitale Signalverwalter 216 die Berechnung der Abtastrate in Schritt 700 und legt in Schritt 702 die „momentane Näherung" als die Abtastrate in der ersten Betriebsart der Einheit fest. In Schritt 704 prüft er, ob die Einheit noch weitere Betriebsarten hat, die berücksichtigt werden müssen. Falls keine weitere Betriebsarten zu berücksichtigen sind, legt der digitale Signalverwalter in Schritt 706 die „Abtastrate mit der besten Übereinstimmung" als die „momentane Näherung" fest und schließt die Operation in Schritt 708 ab.
  • Falls weitere Betriebsarten zu berücksichtigen sind, legt der digitale Signalverwalter 216 „X" als die Abtastrate in der nächsten Betriebsart der Einheit fest. In Schritt 712 legt der digitale Signalverwalter 216 „A" als den Absolutwert der Differenz aus der Abtastrate in der Datei 210 und der „momentanen Näherung" fest. In Schritt 714 legt der digitale Signalverwalter 216 „B" als den Absolutwert der Differenz aus der Abtastrate in der Datei 210 und „X" fest. In Schritt 716 vergleicht der digitale Signalverwalter 216 „A" mit „B". Falls „B" größer ist als „A", springt der digitale Signalverwalter 216 in der Schleife zum Schritt 704 zurück. Andernfalls legt er in Schritt 718 „X" als die „momentane Näherung" fest und springt in der Schleife direkt zum Schritt 704 zurück.
  • In Schritt 422 in 4 legt der digitale Signalverwalter 216 die anpassungsfähigen Merkmale der Einheit so fest, dass sie mit den in Schritt 420 berechneten konsistent sind. Der digitale Signalverwalter 216 richtet in Schritt 410 eine Dateikennung 224 zwischen dem Datei-E/A-Bedienprogramm 212 und der Einheit 200 ein. Die Einheit 200 liest und schreibt dann aus der oder in die Datei 208. Die Einheit 200 führt die CODEC-Funktion aus; dies wird als „Hardware CODEC" bezeichnet. Der digitale Signalverwalter 216 schließt die Operation in Schritt 412 ab.
  • Auf diese Weise wählt der digitale Signalverwalter 216 dynamisch zwischen Hardware- und Software-CODEC-Techniken aus und nutzt somit die Hardwarefähigkeiten der digitalen Signaleinheit maximal aus. D.h., er setzt immer Hardware-CODEC-Techniken ein, wenn sie zur Verarbeitung der digitalisierten Signale anwendbar sind, und wendet Software-CODEC-Routinen immer dann an, wenn keine Hardware-CODEC- Techniken einsetzbar sind. Auf diese Weise gewährleistet er den Betrieb nicht kompressionsspezifischer Anwendungsprogramme und optimiert gleichzeitig die Gesamt-Leistungsfähigkeit des Systems im Umgang mit digitalen Signaldateien.

Claims (11)

  1. Verfahren zur Datenübertragung einschließlich komprimierter Daten in Reaktion auf eine Anforderung, wobei die Daten von einem Computer mit einer Zentraleinheit (central processing unit – CPU) an ein Nutzungsmittel (200) übertragen werden, das dem Computer zugehörig ist, wobei das Verfahren die folgenden Schritte umfasst: Ermitteln (402) durch im Computer vorhandene Mittel, ob das Nutzungsmittel Hardware zur Dekompression der Daten ohne die CPU enthält, wobei diese Hardware in dem Nutzungsmittel einstellbare Merkmale hat; Feststellen (404, 406) einer Kompressionstechnik, mit der die Daten komprimiert wurden, durch im Computer vorhandene Mittel; Übertragen (410, 416) der komprimierten Daten durch im Computer vorhandene Mittel an das Nutzungsmittel in Reaktion auf die Anforderung; Verwenden einer Softwareroutine zur Dekompression der komprimierten Daten, falls das Nutzungsmittel keine Hardware zur Dekompression der Daten enthält; Festlegen der einstellbaren Merkmale des Nutzungsmittels und der Hardware, wenn das Nutzungsmittel diese Hardware enthält, so dass sie mit den Merkmalen der komprimierten Daten übereinstimmen, und Steuern der Hardware, um die Daten gemäß der Kompressionstechnik zu dekomprimieren.
  2. Verfahren nach Anspruch 1, worin der Schritt des Ermittelns des Weiteren die folgenden Schritte umfasst: Gewinnen einer Ressourcendatei (204), die Merkmale des Nutzungsmittels enthält; und Lesen der Ressourcendatei, um zu ermitteln, ob das Nutzungsmittel die Hardware enthält.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, worin der Schritt des Feststellens das Lesen von Daten bzgl. der Kompressionstechnik aus Vorsatzdaten in einer Datei komprimierter Daten umfasst, die übertragen werden sollen.
  4. Verfahren nach einem der vorherigen Ansprüche, das die Schritte des Ermittelns (304, 406), ob die zu übertragenden Daten komprimiert oder unkomprimiert sind, und die direkte Übertragung unkomprimierter Daten an die Nutzungsmittel beinhaltet.
  5. Verfahren nach Anspruch 4 zur Anwendung in einem System, in dem die Nutzungsmittel eine digitale Signaleinheit (200) enthalten und das System ein Anwendungsprogramm (206) zur Ausgabe von Anforderungen zur Datenübertragung an die digitale Signaleinheit oder an das Anwendungsprogramm selbst umfasst, wobei das Verfahren den weiteren Schritt umfasst, eine Softwareroutine (222) zur Dekomprimierung der Daten anzuwenden (310), wenn die an das Anwendungsprogramm zu übertragenden Daten komprimiert sind.
  6. Verfahren nach Anspruch 1, worin der Schritt des Ermittelns die direkte Anforderung des Nutzungsmittels zum Ermitteln umfasst, ob das Nutzungsmittel die Hardware enthält.
  7. Datenübertragungssystem zur Datenübertragung einschließlich komprimierter Daten in Reaktion auf eine Anforderung, wobei die Daten von einem Computer mit einer Zentraleinheit (CPU) an ein Nutzungsmittel (200) übertragen werden, das dem Computer zugehörig ist, wobei das System umfasst: ein Mittel in dem Computer zum Ermitteln (402) durch im Computer vorhandene Mittel, ob das Nutzungsmittel Hardware zur Dekompression von Daten ohne die CPU enthält, wobei diese Hardware einstellbare Merkmale hat; Mittel in dem Computer zur Feststellung (404, 406) einer Kompressionstechnik, mit der die Daten komprimiert wurden; ein Datei-E/A-Bedienprogramm (212) in dem Computer zur Übertragung (410, 416) der komprimierten Daten an die Nutzungsmittel in Reaktion auf eine Anforderung; wobei das Datei-E/A-Bedienprogramm eine Softwareroutine zur Dekompression der komprimierten Daten enthält, wenn das Nutzungsmittel keine Hardware zur Dekompression der Daten enthält; Mittel zum Festlegen der einstellbaren Merkmale des Nutzungsmittels und der Hardware, so dass sie den Merkmalen der komprimierten Daten entsprechen, wenn die Gebrauchsmittel diese Hardware enthalten, und Steuern dieser Hardware zur Dekompression der Daten gemäß der Kompressionstechnik.
  8. System nach Anspruch 7, das ferner eine Ressourcendatei (204) enthält, die Merkmale des Nutzungsmittels beinhaltet, und worin das Mittel zum Ermitteln angeordnet ist, um die Ressourcendatei zu lesen und so zu ermitteln, ob das Nutzungsmittel die Hardware enthält.
  9. System nach Anspruch 7 oder Anspruch 8, wobei das Feststellungsmittel angeordnet ist, um Information bzgl. der Kompressionstechnik aus den Kopfdaten einer Datei komprimierter Daten, die übertragen werden sollen, zu lesen.
  10. System nach einem der Ansprüche 7 bis 9, worin das Nutzungsmittel eine digitale Signaleinheit umfasst, die die Dekompressionshardware beinhaltet.
  11. System nach einem der Ansprüche 7 bis 10, wobei das System Mittel (304, 406) zur Ermittlung, ob die zu übertragenden Daten komprimiert oder unkomprimiert sind, und ein Anwendungsprogramm (206) zur Ausgabe von Anforderungen zur Datenübertragung an das Nutzungsmittel oder an das Anwendungsprogramm selbst beinhaltet, wobei das System ferner Mittel (310) enthält, die auf Anforderungen zur Datenübertragung an das Anwendungsprogramm selbst und auf eine Feststellung (304), dass die Daten komprimiert sind, reagieren, um das Datei-E/A-Bedienprogramm (212) zu steuern, um die Daten zu dekomprimieren (222).
DE69535382T 1994-05-31 1995-05-24 Datendekomprimierung- und Übertragungssystem Expired - Lifetime DE69535382T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US251498 1994-05-31
US08/251,498 US5838996A (en) 1994-05-31 1994-05-31 System for determining presence of hardware decompression, selectively enabling hardware-based and software-based decompression, and conditioning the hardware when hardware decompression is available

Publications (2)

Publication Number Publication Date
DE69535382D1 DE69535382D1 (de) 2007-03-22
DE69535382T2 true DE69535382T2 (de) 2007-11-08

Family

ID=22952237

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69535382T Expired - Lifetime DE69535382T2 (de) 1994-05-31 1995-05-24 Datendekomprimierung- und Übertragungssystem

Country Status (4)

Country Link
US (1) US5838996A (de)
EP (1) EP0685824B1 (de)
JP (1) JP2986067B2 (de)
DE (1) DE69535382T2 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
US5974471A (en) * 1996-07-19 1999-10-26 Advanced Micro Devices, Inc. Computer system having distributed compression and decompression logic for compressed data movement
US6510438B2 (en) * 1997-10-31 2003-01-21 Yamaha Corporation Electronic mail system, method of sending and receiving electronic mail, and storage medium
US7188068B1 (en) * 1998-04-03 2007-03-06 Sony Corporation Method and apparatus for data reception
US6216175B1 (en) * 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6557001B1 (en) * 1998-11-23 2003-04-29 Moonlight Cordless Ltd. Method for enhancing video compression through automatic data analysis and profile selection
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
WO2001033569A1 (en) * 1999-11-02 2001-05-10 Iomega Corporation Portable audio playback device and removable disk drive
JP3468183B2 (ja) * 1999-12-22 2003-11-17 日本電気株式会社 音声再生記録装置および方法
US20010047473A1 (en) 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
KR100415104B1 (ko) * 2000-05-26 2004-01-13 (주)싸이버훼밀리 인터넷상에서의 아이에스에스에이(issa) 미디어 관리장치
JP2002062898A (ja) * 2000-08-22 2002-02-28 Sony Corp メモリカード再生機
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US7890741B2 (en) 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522964B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7526349B2 (en) 2000-12-01 2009-04-28 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7424201B2 (en) * 2001-03-30 2008-09-09 Sandisk 3D Llc Method for field-programming a solid-state memory device with a digital media file
US7124086B2 (en) * 2001-05-30 2006-10-17 Olympus Corporation Data reproducing apparatus and data reproducing system for reproducing contents stored on a removable recording medium
US6988182B2 (en) * 2002-02-13 2006-01-17 Power Measurement Ltd. Method for upgrading firmware in an electronic device
US20040257611A1 (en) * 2003-04-01 2004-12-23 Fuji Photo Film Co., Ltd. Print order receipt unit
CN1836432B (zh) * 2003-06-17 2011-01-26 诺基亚西门子通信有限责任两合公司 通过简化处理信令信息在与分组网络中的语音对话***进行用户交互时更节约的资源使用
US7149693B2 (en) * 2003-07-31 2006-12-12 Sony Corporation Automated digital voice recorder to personal information manager synchronization
US10645347B2 (en) * 2013-08-09 2020-05-05 Icn Acquisition, Llc System, method and apparatus for remote monitoring
US20070208893A1 (en) * 2006-02-23 2007-09-06 Microsoft Corporation File-based compression on a fat volume
US20070239748A1 (en) * 2006-03-29 2007-10-11 Smith Ned M Management of reference data for platform verification
US20070260615A1 (en) * 2006-05-08 2007-11-08 Eran Shen Media with Pluggable Codec
US9680686B2 (en) * 2006-05-08 2017-06-13 Sandisk Technologies Llc Media with pluggable codec methods
US7647350B2 (en) * 2006-09-06 2010-01-12 Red Hat, Inc. Database access server with compression translator
US20090113116A1 (en) * 2007-10-30 2009-04-30 Thompson E Earle Digital content kiosk and methods for use therewith
US20110179191A1 (en) * 2010-01-21 2011-07-21 Beni Imanilov Remote CPU-Less Decompression
US8982942B2 (en) 2011-06-17 2015-03-17 Microsoft Technology Licensing, Llc Adaptive codec selection
CN102298534B (zh) * 2011-09-22 2015-02-18 四川长虹电器股份有限公司 软件写入机顶盒的方法
CN103593424A (zh) * 2013-11-07 2014-02-19 浪潮电子信息产业股份有限公司 一种软硬件压缩可配置的大数据处理***
US10101938B2 (en) 2014-12-30 2018-10-16 International Business Machines Corporation Data storage system selectively employing multiple data compression techniques
US9467166B2 (en) * 2015-01-12 2016-10-11 Microsoft Technology Licensing, Llc Enhanced compression, encoding, and naming for resource strings
US11113113B2 (en) * 2017-09-08 2021-09-07 Apple Inc. Systems and methods for scheduling virtual memory compressors
CN108599774B (zh) * 2018-04-26 2022-03-08 郑州云海信息技术有限公司 一种压缩方法、***、装置及计算机可读存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4386416A (en) * 1980-06-02 1983-05-31 Mostek Corporation Data compression, encryption, and in-line transmission system
US4641238A (en) * 1984-12-10 1987-02-03 Itt Corporation Multiprocessor system employing dynamically programmable processing elements controlled by a master processor
US5164839A (en) * 1988-12-27 1992-11-17 Explore Technology, Inc. Method for handling audio/video source information
US4981371A (en) * 1989-02-17 1991-01-01 Itt Corporation Integrated I/O interface for communication terminal
US5191431A (en) * 1989-08-29 1993-03-02 Canon Kabushiki Kaisha Recording apparatus having plural operating modes involving diverse signal compression rates and different apportioning of pilot signal recording area
US5054360A (en) * 1990-11-01 1991-10-08 International Business Machines Corporation Method and apparatus for simultaneous output of digital audio and midi synthesized music
CA2062200A1 (en) * 1991-03-15 1992-09-16 Stephen C. Purcell Decompression processor for video applications
DE69124794D1 (de) * 1991-05-08 1997-04-03 Semaphore Inc Gerät und Verfahren zur parallelen und regelgestützten Datenübertragung
US5274738A (en) * 1991-12-31 1993-12-28 Dictaphone Corporation Modular digital voice processing system
US5557749A (en) * 1992-10-15 1996-09-17 Intel Corporation System for automatically compressing and decompressing data for sender and receiver processes upon determination of a common compression/decompression method understood by both sender and receiver processes
US5535311A (en) * 1994-07-28 1996-07-09 Hewlett-Packard Company Method and apparatus for image-type determination to enable choice of an optimum data compression procedure

Also Published As

Publication number Publication date
JPH0863332A (ja) 1996-03-08
DE69535382D1 (de) 2007-03-22
EP0685824A2 (de) 1995-12-06
US5838996A (en) 1998-11-17
EP0685824B1 (de) 2007-02-07
JP2986067B2 (ja) 1999-12-06
EP0685824A3 (de) 1997-01-08

Similar Documents

Publication Publication Date Title
DE69535382T2 (de) Datendekomprimierung- und Übertragungssystem
DE69126655T2 (de) Verfahren und Vorrichtung zur gleichzeitig Erzeugung eines Ausgangssignals aus digitalen Audio-Daten und durch MIDI synthesierter Musik
DE69317443T2 (de) Dateienumsetzungssystem
DE60031113T2 (de) Automatisiertes übertragungssystem und -verfahren mit zwei instanzen zur sprachumwandlung und rechnergestützter korrektur
DE69522854T2 (de) Verfahren und Gerät zum Editieren von Multimediadaten
DE69423304T2 (de) Verfahren und System zur Kodierung von Chipfreigabesignalen für nichtflüchtige Speicherchips
DE69433047T2 (de) Verfahren und Anordnung zur Zuteilung von Systembetriebsmitteln, um die Dienstqualität zu sichern
DE69718543T2 (de) Ebenenkompression mit Löchern in Dateiensystemen
EP0363609B1 (de) Digitales Programmiergerät für Hörgeräte
EP0712131B1 (de) Vorrichtung zur Sprachaufzeichnung mit anschliessender Texterstellung
DE69728811T2 (de) Datenprozessor
DE69127048T2 (de) Verfahren und Vorrichtung zur Editierung von MIDI-Dateien
DE69608292T2 (de) Audio-synthesizer
DE69031936T2 (de) System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format
DE102005016561B4 (de) Verfahren und Vorrichtung zur strukturierten Erfassung und Bearbeitung von in einem System auftretenden Problemen
DE10355760A1 (de) System und Verfahren zum Codieren von Daten
DE3910467A1 (de) Verfahren und vorrichtung zur erzeugung von berichten
DE69528736T2 (de) Digitales Aufzeichnungsgerät für komprimierte Tonsignale
EP0126962A2 (de) Elektronisches Tastenmusikinstrument und Verfahren zu dessen Betrieb
EP0820006A2 (de) Signalprozessor
DE19615177C2 (de) Verfahren zum Ändern einer Funktion eines Druckertreibers
DE69224944T2 (de) Gerät zur Vektorquantisierung
DE69932524T2 (de) Verfahren zum handhaben von datenobjekten in vom benutzer definierten datentypen
DE69516931T2 (de) Aufzeichnungs- und Antriebsgerät für optische Scheiben
DE60116392T2 (de) Verfahren und vorrichtung für verschachtelte datensicherung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)