-
Es
wird Bezug genommen auf die Parallelanmeldung WO-A-01-28228 mit
dem Titel „Producing Icons
For Accessing Image Files Transferred From A Digital Camera" (Erzeugung von Symbolen
für den Zugriff
auf von einer Digitalkamera übertragene
Bilddateien) von Edward Wolf et al, sowie auf die Parallelanmeldung
WO-A-01-28227 mit dem Titel „Prioritizing
The Transfer of Image Files from a Digital Camera to a Host Computer" (Prioritisierung
der Übertragung
von Bilddateien von einer Digitalkamera auf einen Zentralcomputer)
von Edward Wolf et al.
-
Die
Erfindung betrifft den Zugriff auf Bilddateien in einer Digitalkamera über einen
Zentralcomputer oder Hostcomputer.
-
Digitalbilder
werden häufig
mithilfe elektronischer Standbildkameras erzeugt, beispielsweise
der von Eastman Kodak Company vertriebenen Kamera des Typs Kodak
Digital Science DC265TM. Exemplarische Digitalkameras
werden detaillierter in den Parallelanmeldungen US-A-5,828,406,
5,633,678 und 5,477,264 beschrieben. Diese Kameras umfassen einen
Bildsensor, einen Analog-/Digitalwandler und eine Speichereinrichtung
zur Speicherung der Digitalbilddateien. Es gibt zahlreiche Speichereinrichtungen,
auf denen diese Digitalbilder gespeichert werden können, u.a.
Disketten, Festplattenlaufwerke und Halbleiterspeicherkarten (z.B.
Flash Memory).
-
Die
Bilder lassen sich herunterladen, indem man die Speicherkarte (z.B.
eine CompactFlash-Karte)
aus der Digitalkamera entnimmt und in ein an einem Hostcomputer
angeschlossenes Kartenlesegerät
steckt, oder indem man die Digitalkamera und den Hostcomputer über ein
Kabel (z.B. Universal Serial Bus/USB) oder eine drahtlose (z.B.
IrDA) Schnittstelle miteinander verbindet. Die mit der Digitalkamera ausgelieferte
Software wird typischerweise auf dem Hostcomputer installiert und
dient zur Steuerung der Kameraschnittstelle. Diese Soft ware stellt üblicherweise
Befehle zur Verfügung,
die es ermöglichen, Bildminiaturen
(d.h. kleine Bilder in reduzierter Auflösung) von der Kamera auf den
Hostcomputer zu übertragen.
-
Eine
Art der Implementierung einer derartigen Software wird in US-A-5,848,420
beschrieben. Das genannte Patent beschreibt ein System und ein Verfahren
für den
Zugriff auf Daten einer Digitalkamera über einen mit einem Betriebssystem
ausgestatteten Personal Computer oder PC, das ein Softwareprogramm
umfasst, welches es dem Computer ermöglicht, auf den Speicher in
der Digitalkamera über
den seriellen Anschluss zuzugreifen, um den Speicher als einen Datenträger gegenüber dem
Betriebssystem bekannt zu machen.
-
JP 10243153 beschreibt
ein Verfahren zur Übertragung
einer Bilddatei mithilfe eines TCP/IP-Protokolls (Transmission Control Protocol/Internet
Protocol) über
ein kommerzielles Kommunikationsnetz. Siehe auch US-A-5,754,227
zwecks Beschreibung einer digitalen, elektronischen Kamera, die über eine
Ein-/Ausgabeschnittstelle mit einer externen Verarbeitungsvorrichtung
kommuniziert, die die Kamera überwacht
und/oder steuert.
-
Die
Erfindung betrifft die Übertragung
von Bilddateien von einer Digitalkamera auf einen Zentralcomputer
oder Hostcomputer. Wenn der Benutzer ein Bild zur Betrachtung auswählt, müssen die
Bilder, nachdem der Benutzer seine Auswahl getroffen hat von der
Digitalkamera auf den Hostcomputer übertragen werden. Ein mit der
Bildübertragung
verbundenes Problem besteht darin, dass jedes Mal die gesamte Bilddatei
von der Digitalkamera zum Hostcomputer übertragen wird, wenn der Benutzer
auf eine Bilddatei zugreifen oder diese öffnen möchte, ungeachtet der Tatsache,
ob die Bilddatei bereits zuvor übertragen
worden ist. Da Bilddateien nicht nur ein Digitalbild enthalten,
sondern auch anderen Komponenten, muss der Benutzer auf die gesamte
Bilddatei zugreifen, auch wenn er nur an diesen Komponenten interessiert
ist.
-
Der
vorliegenden Erfindung liegt die Aufgabe zugrunde, einem Hostcomputer
den einfachen und leichten Zugriff auf Bilder von einer Digitalkamera
zu ermöglichen.
-
Der
Erfindung liegt zudem die Aufgabe zugrunde, den Zugriff auf zuvor übertragene
Bilddateien oder Teile davon zu ermöglichen, ohne die Bilddatei
von der Digitalkamera erneut zum Hostcomputer übertragen zu müssen.
-
Weiterhin
liegt der vorliegenden Erfindung die Aufgabe zugrunde, einem Benutzer
den wahlweisen Zugriff auf Teile einer Bilddatei zu ermöglichen.
-
Diese
Aufgaben werden durch ein Verfahren nach Anspruch 1 gelöst.
-
Die
Erfindung wird im folgenden anhand in der Zeichnung dargestellter
Ausführungsbeispiele näher erläutert.
-
Es
zeigen
-
1 ein
Digitalbebilderungssystem mit einer Digitalkamera und einem Hostcomputer
unter Implementierung der vorhandenen Erfindung;
-
2 ein
Blockdiagramm der Softwarekomponenten gemäß der vorliegenden Erfindung;
-
3A eine
exemplarische Ansicht einer Bildschirmdarstellung an einem Monitor
des Hostcomputers aus 1 nach Anschluss der Digitalkamera
an den Hostcomputer;
-
3B eine
weitere exemplarische Ansicht einer Bildschirmdarstellung an einem
Anzeigemonitor des Hostcomputers zur Darstellung der Symbole, die
die Dateien (einschließlich
Bilddaten und Audiosegmentdaten) und Verzeichnisse (oder Alben)
darstellen;
-
4A die
Bilddateistruktur, wenn mit dem Bild, beispielsweise Datei P0000046.jpg
in 3B) kein Ton aufgezeichnet wurde; und
-
4B die
Bilddateistruktur, wenn mit dem Bild, beispielsweise Datei P0000046.jpg
in 3B) kein Ton aufgezeichnet wurde.
-
1 zeigt
ein System, das für
die Steuerung einer an einen Hostcomputer 40 angeschlossenen
Digitalkamera 10 mittels einer auf einer CD 48 befindlichen
Software oder anderen Medien erfindungsgemäß verwendbar ist. Die CD 48,
auf der sich die Software befindet, in der die in der vorliegenden Erfindung
beschriebene Software implementiert ist, wird in ein in der Technik
bekanntes CD-ROM-Laufwerk des Hostcomputers 40 eingelegt.
Alternativ hierzu kann die Software auf einer (nicht gezeigten) Diskette,
auf einer entnehmbaren Speicherkarte 30 oder auf einem
anderen Medium gespeichert werden. Die CD 48, die Diskette
oder die entnehmbare Speicherkarte 30 oder eine andere
Art eines digitalen Speichermediums wird zusammen mit der Digitalkamera 10 dem
Benutzer ausgehändigt.
-
Die
Digitalkamera 10 erzeugt Digitalbilder, die auf der entnehmbaren
Speicherkarte 30 gespeichert werden. Die Digitalkamera 10 umfasst
ein Objektiv 12 mit einstellbarer Blende und einstellbarem Verschluss
(nicht gezeigt) aus einer (nicht gezeigten) Szene auf einen Bildsensor 14,
beispielsweise einen Einzel-Chip-CCD (Charge Coupled Device), der
das bekannte Bayer-Farbfiltermuster verwendet. Das analoge Ausgangssignal
von dem Bildsensor 14 wird durch einen Analog-/Digital-Wandler 16 (A/D-Wandler)
in digitale Daten umgesetzt. Die Digitalbilddatei wird in einem
Prozessor 18 verarbeitet, und die verarbeitete Digitalbilddatei
wird einer Speicherkartenschnittstelle 20 bereitgestellt,
die die Digitalbilddatei auf der entnehmbaren Speicherkarte 30 speichert. Verwendbare
Speicherkarten 30 sind einschlägigen Fachleuten bekannt. Die
entnehmbare Speicherkarte 30 kann beispielsweise eine Speicherkarte
sein, die für
die PCMCIA-Kartenschnittstellennorm ausgelegt ist, wie in der PC
Card Standard, Release 2.0 dargelegt, veröffentlicht von der Personal
Computer Memory Card International Association, Sunnyvale, Kalifornien,
USA, September 1991. Die entnehmbare Speicherkarte 30 kann
zudem auf die Compact-Flash-Schnittstellennorm ausgelegt sein, wie
in der CompactFlash Specification Version 1.3 beschrieben, herausgegeben
von der CompactFlash Association, Palo Alto, Kaliforien, USA, 5.
August 1998.
-
Der
Prozessor 18 führt
eine Farbinterpolation durch, gefolgt von einer Farb- und Tonkorrektur, um
sRGB-Bilddaten zu erzeugen. Die erzeugten sRGB-Bilddaten werden
dann im JPEG-Format
komprimiert und als Datei des Typs Exif Version 2.1 auf der entnehmbaren
Speicherkarte 30 gespeichert. Das Bildformat Exif ist definiert
in "Digital Still
Camera Image File Format Standard, Exchangeable image file format
for Digital Still Camera: Exif," JEIDA-49-1998, Juni 1998,
Japan Electronics Industries Development Association (JEIDA), und
der Farbraum sRGB wird beschrieben in "A standard default color space for the
internet – sRGB" von Michael Stokes,
et al., verfügbar
im Internet unter http://www.color.org/sRGB.html. Der Prozessor 18 erzeugt
ein Bild mit reduzierter Auflösung
oder eine so genannte „Miniatur", die an eine Bildanzeige 22 ausgegeben
wird, beispielsweise an einen LCD-Schirm (Liquid Crystal Display),
der das aufgenommene Bild zur Betrachtung durch den Benutzer anzeigt.
Die Digitalkamera 10 wird durch eine Reihe von Benutzertasten 24 gesteuert.
-
Die
Digitalkamera 10 umfasst zudem ein Mikrofon 19 und
einen Audioverstärker
sowie einen A/D-Wandler 21. Nach Erfassung eines Bildes
kann der Benutzer eine der Benutzertasten 24 betätigen, um
Ton aufzuzeichnen, beispielsweise eine Anmerkung des Fotografen.
Die Audiosignale vom Mikrofon 19 werden verstärkt und
von dem Audioverstärker und
dem A/D-Wandler 21 in
digitale Daten umgewandelt. Die Audiosignale können dann komprimiert werden,
beispielsweise mithilfe des bekannten IMA ADPCM Komprimierungsalgorithmus,
und als Flashpix-Extension-Daten in der Exif 2.1 Bilddatei gespeichert
werden. Die Flashpix-Audioerweiterung
ist in "Extension
to Flashpix version 1.0, Embedded Audio Annotations", 26. Januar 1998,
Digital Imaging Group, definiert und steht im Internet unter http://www.digitalimaging.org/
zur Verfügung.
-
Die
Benutzertasten 24 ermöglichen
auch die Wahl weiterer Kamerafunktionen und Betriebsarten. Diese
Betriebsarten können
auch über
den Hostcomputer 40 gewählt
werden. Diese Merkmale und Betriebsarten umfassen den Selbstauslöser, den
Blitzbetrieb, die Fokussierung, die Belichtung, den Weißabgleich,
die Bildqualität
(Komprimierungsstufe), die Auflösung,
die Abschaltzeitpunkte, die Vorabansicht, das Videoausgabeformat
und die Zoom-Stellung.
-
Nachdem
mit der Digitalkamera 10 eine Reihe von Bildern aufgenommen
und auf der entnehmbaren Speicherkarte 30 gespeichert worden
ist, kann die entnehmbare Speicherkarte 30 in ein Kartenlesegerät 42 im
Hostcomputer 40 eingesteckt werden. Alternativ hierzu ist
ein Schnittstellenkabel 36 verwendbar, um den Anschluss
zwischen einer Hostschnittstelle 26 in der Digitalkamera 10 und
einer Kameraschnittstelle 44 im Hostcomputer 40 herzustellen. Das
Schnittstellenkabel 36 kann beispielsweise der bekannten
USB-Schnittstellennorm (Universal Serial Bus) entsprechen.
-
Eine
zentrale Verarbeitungseinheit (CPU) 50 verwendet Software
gemäß der vorliegenden
Erfindung, die detaillierter unter Bezug auf 2, 3A–3B und 4A–4B beschrieben wird.
Die CPU 50 ist mit einem Anzeigemonitor 52 und
einer Tastatur 54 verbunden. Eine Maus 55 ermöglicht dem
Benutzer die bequeme Kommunikation mit der CPU 50. Die
CPU 50 ist zudem mit einer Festplatte 56 und einem
Schreib-/Lesespeicher (RAM) 58 verbunden. Die CPU 50 kommuniziert
mit vernetzten Einrichtungen über
eine Netzkarte 60. Die Netzkarte 60 ist mit einem
zweiten Computer 62, einem dritten Computer 64,
der als Verbindung zu einem Internet-Serviceanbieter im Internet
dient, und einem Hardcopydrucker 66 verbunden.
-
2 zeigt
einen Satz von erfindungsgemäßen Softwarekomponenten
zum Betrieb unter einem Betriebssystem, wie beispielsweise PCs mit
Windows 95 und Windows 98, die es Anwendungen
ermöglichen,
mit einer oder mehreren Digitalkameras zu kommunizieren. Eine dieser
Softwarekomponenten, das installierbare Dateisystem (IFS/Installable File
System) 70, ist ein verbindungsabhängiges Dateisystem, das es
Anwendungen ermöglicht,
mit der Digitalkamera 10 über eine Win32 API (Application
Programmers Interface) 71 als Dateisystem eines Festplattenspeichers
zu kommunizieren. Siehe auch beispielsweise Kapitel 16 der
Publikation "Systems Programming
for Windows 95," herausgegeben
von Microsoft Press, Redmond, Washington, USA, Copyright 1996 by
Walter Oney. Weitere Komponenten ermöglichen Anwendungen, auf die
Kameraeigenschaften zuzugreifen und diese einzustellen und die Erfassung
eines neuen Bildes mit der Digitalkamera 10 auszulösen.
-
Eine
Benutzermodus-API 72 (Application Programming Interface)
steuert den Betrieb der Kameravorrichtung und greift auf Informationen
zu, die in der Bilddatei gespeichert sind. Client-Anwendungen 73 greifen
auf die Benutzermodus-API 72 über eine (nicht gezeigte) COM-Schnittstelle
(Component Object Model) zu, die folgendes ermöglicht:
- – Erfassung/Aufzählung der
derzeit an das System angeschlossenen Kameras;
- – Kommunikation
mit einer bestimmten Kamera (einschließlich der Registrierung kamerabezogener
Ereignisse); und
- – Zugriff
auf Daten, die einer Bilddatei zugeordnet sind (z.B. Miniaturen
und Audiosegmentdaten).
-
Der
Zugriff auf eine Bilddatei erfolgt über die Win32-API 71,
die ihrerseits auf das installierbare Dateisystem IFS 70 zugreift.
Wenn in der Beschreibung von dem Zugriff auf eine Bilddatei die
Rede ist, ist dies so zu verstehen, dass auf einen Teil einer Bilddatei,
beispielsweise auf ein Audiodatensegment, einzeln zugegriffen werden
kann oder dass dies einzeln übertragen
oder bearbeitet werden kann.
-
Die
Benutzermodus-API 72 arbeitet über COM-gestützte Schnittstellen.
Diese Schnittstellen sind für
den Zugriff auf Bilddateidaten sowie auf alle zugehörigen Daten
zuständig,
beispielsweise Audiosegmentdaten, Datum und Zeit der Bilderfassung, Ursprungsdaten
usw. 4A und 4B zeigen
exemplarische Bilddateien und deren Aufbau. Die Bilddatei in 4A trägt die Bezugsziffer 100a,
die Bilddatei in 4B trägt die Bezugsziffer 100b.
Die Nomenklatur zur Beschreibung der Bilddateien 100a und 100b greift
auf Akronyme zurück,
die einschlägigen
Fachleuten bekannt sind. Die Benutzermodus-API 72 ermöglicht einem
Benutzer die Steuerung des Betriebs der Digitalkamera 10.
Der Betrieb der Digitalkamera 10 lässt sich über ein Netz steuern. Der (in 1 gezeigte)
Hostcomputer 40 bearbeitet wahlweise eine Vielzahl von
Bilddateien, die mit der Digitalkamera 10 erfasst worden
sind. Jede Bilddatei umfasst mindestens ein Digitalbild. Typischerweise umfasst
die Bilddatei Audiosegmentdaten. Unter der Steuerung des Hostcomputers 40 oder
alternativ dazu unter der Steuerung eines Benutzers der Digitalkamera 10 wird
eine Vielzahl erfasster Bilddateien auf der entnehmbaren Speicherkarte 30 in
der Digitalkamera 10 gespeichert. Die Digitalkamera 10 wird dann
mit dem Hostcomputer 40 verbunden, und der Hostcomputer 40 erkennt
die Vielzahl der erfassten und auf der entnehmbaren Speicherkarte 30 gespeicherten
Bilddateien. Der Hostcomputer 40 erkennt die entnehmbare
Speicherkarte 30 so als wäre sie ein Dateisystem eines
zusätzlichen
Festplattenspeichers mit Zugriff auf die erfassten Bilddateien.
Der Hostcomputer 40 greift auf die erfassten Bilddateien der
entnehmbaren Speicherkarte 30 zu und überträgt diese wahlweise in den RAM-Speicher 58 des
Hostcomputers 40.
-
Die
Softwarekomponente für
das installierbare Dateisystem IFS 70 ermöglicht es
dem Betriebssystem, die Digitalkamera 10 als ein Dateisystem
eines zusätzlichen
Festplattenspeichers zu betrachten. Das installierbare Dateisystem
IFS 70 kann man sich in Form von zwei Komponenten vorstellen.
Die erste Komponente ist die externe Komponente (IFS-E), die Anfragen
des Betriebssystems beantwortet, beispielsweise die Benachrichtigung
des Betriebssystems (OS/Operating System) über neue Dateien und die Übernahme
und Freigabe von Laufwerksbuchstaben. Die zweite Komponente ist
eine interne Komponente (IFS-I), die die Nachverfolgung und Zwischenspeicherung
von Dateien verwaltet. IFS-I ermöglicht zudem
anderen Ebenen die Speicherung von Informationen und den Rückgriff
auf Informationen.
-
Ein
Kameraverwaltungsprogramm 80 ist dafür zuständig, dass mehrere andere Komponenten zusammenarbeiten.
Wenn das Kameraverwaltungsprogramm 80 das Ereignis „Kamera anschluss" erkennt, das besagt,
dass die Digitalkamera 10 an den Hostcomputer 40 angeschlossen
worden ist, benachrichtigt es das installierbare Dateisystem IFS 70,
um einen entsprechenden Laufwerksbuchstaben abzurufen (im Falle
von 3A den Buchstaben (A:) für das 3,5-Zoll-Diskettenlaufwerk),
um dann Datei- und Verzeichnisinformationen auf das Laufwerk zu schreiben.
Das Kameraverwaltungsprogramm 80 verwaltet Informationen
bezüglich
der Kameraereignisse oder Instanzen, wie beispielsweise die Verbindung
zwischen der eindeutigen Erkennung durch eine Kameraebenen-Softwarekomponente 84 und dem
alphabetischen Laufwerksbuchstaben, den das installierbare Dateisystem
IFS 70 vom System erhält. Wenn
das Kameraverwaltungsprogramm 80 das Ereignis „Kamerawegfall" erkennt, das besagt,
dass die Digitalkamera 10 vom Hostcomputer 40 getrennt worden
ist, benachrichtigt es das installierbare Dateisystem IFS 70,
um den Laufwerksbuchstaben zu entfernen, der der Digitalkamera 10 zugeordnet
war. Das Kameraverwaltungsprogramm 80 bestimmt zudem, was
zu tun ist, wenn die Digitalkamera 10 vom Hostcomputer
während
eines laufenden Prozesses (oder während sich Operationen in der
Warteschlange befinden) getrennt und zu einem späteren Zeitpunkt wieder angeschlossen
wird.
-
Ein
Arbeitswarteschlangen-Verwaltungsprogramm 82 ermöglicht es,
von der Digitalkamera 10 erfasste Bilddateien nach einer
zugewiesenen Priorität
zum Hostcomputer 40 zu übertragen.
Wenn ein Benutzer den Hostcomputer 40 anweist, eine bestimmte,
noch nicht übertragene
Bilddatei zu verarbeiten, veranlasst das Arbeitswarteschlangen-Verwaltungsprogramm 82 die
Unterbrechung der laufenden Bilddateiübertragung, um den verbleibenden
Teil der nicht übertragenen
Bilddateien zu übertragen, nachdem
die vom Benutzer angeforderte Bilddatei zum Hostcomputer 40 übertragen
worden ist.
-
Das
Arbeitswarteschlangen-Verwaltungsprogramm 82 führt zudem
folgende Funktionen durch:
- – Weitergabe der Anfragen zwischen
der Kameraebene 84 und den Ebenen direkt oberhalb des Arbeitswarteschlangen-Verwaltungsprogramms 82;
- – Einreihung
der Arbeitsanforderungen;
- – Bereitstellung
von Zwischenspeichern für
die Übertragung
von Parametern und Datenanfragen zwischen anderen Ebenen;
- – Weiterleitung
von Anfragen an die entsprechende Softwarekomponente; und
- – Verwaltung
von Rückrufinformationen/asynchronen
Anfragen.
-
Sobald
die Kameraebene 84 das Kameraverwaltungsprogramm 80 über den
erneuten Anschluss einer Digitalkamera 10 an den Hostcomputer 40 informiert,
kann das Kameraverwaltungsprogramm 80 folgende Merkmale
abfragen:
- – Ob
es sich bei der Digitalkamera 10 um eine nur lesbare Einrichtung
handelt;
- – Ob
die Digitalkamera 10 Dateien zu löschen vermag;
- – Ob
die Digitalkamera 10 Dateien umzubenennen vermag (ohne
die Datei zu kopieren und zu löschen);
- – Ob
die Digitalkamera 10 vollständige Dateien zu lesen vermag;
- – Ob
die Digitalkamera 10 das Aufnehmen von Bildern im angeschlossenen
Zustand unterstützt; und
- – Ob
die Digitalkamera 10 das CoolFS-Modul unterstützt.
-
Eine
Protokollebene 86 ist eine Softwarekomponente, die generische
Befehle unterstützt,
die dann über
die Kameraebene 84 an Befehle weitergegeben werden, die
von der im Flash EPROM 29 befindlichen (siehe 1)
Firmware der Kamera verstanden werden. Die Protokollebene 86 ermittelt
die wahre Funktionalität
der Digitalkamera 10 (d.h. sie interpretiert den generischen
Befehl in den speziellen Kamerabefehl oder meldet einen Fehler zurück. Sobald
die Protokollebene 86 die Anfragen zu kameraspezifischen
Befehlen interpretiert, ruft sie auf einer Transportebene 88 generische
Schnittstellenverfahren auf, wie beispielsweise TransportSend und TransportReceive.
Auf diese Weise kann sie eine neu angeschlossene Digitalkamera 10 unterstützen, indem
sie nur eine Protokollebene für
die neu angeschlossene Digitalkamera 10 erzeugt, ohne Änderungen
an den übrigen
Ebenen vorzunehmen (vorausgesetzt, die erforderliche Transportebene
ist bereits von einer zuvor angeschlossenen Kamera vorhanden). Die
Protokollebene 86 ist zudem die Ebene, die eine Bilddatei
mit darin eingebetteten Audiosignalen in Form von zwei getrennten
Dateien darstellt (eine Datei als Bilddaten und die andere Datei
als Audiosegmentdaten).
-
Eine
Transportebene 88 ist die Softwarekomponente, die dafür zuständig ist,
die protokollspezifischen Befehle in das erforderliche Transportformat
umzusetzen (z.B. Win95/Win98 Serial, WINNT Serial oder USB, damit
diese über
das Schnittstellenkabel 36 an die Hostschnittstelle 26 der Digitalkamera 10 übertragen
werden können.
-
Die
folgenden Ausführungen
beschreiben den erfindungsgemäßen Zugriff
auf die Dateien der Digitalkamera über einen Hostcomputer:
Der
Benutzer schließt
die Digitalkamera 10 über
die Hostschnittstelle 26 an den Hostcomputer 40 an.
Das System erkennt, dass eine Kameravorrichtung angeschlossen worden
ist und benachrichtigt die Kameraebene 84 über die
neue Vorrichtung. Sobald eine Digitalkamera 10 an den Hostcomputer 40 angeschlossen
wird, wird ein Kameraalias auf der Protokollebene 86 erzeugt.
Der Kameraalias dient als Adresse der Digitalkamera 10.
-
Informationen über die
Schnittstelle 44 werden von der Kameraebene 84 zwischengespeichert, und
die Kameraebene 84 erzeugt einen eindeutigen Kameraalias
zur Verwendung in der Kommunikation mit dem Kameraverwaltungsprogramm 80.
Dieser eindeutige Kameraalias ermöglicht dem Kameraverwaltungsprogramm 80 die
Angabe, mit welcher Digitalkamera 10 dieses zu kommunizieren
wünscht.
-
Die
Kameraebene 84 schaut in der Registrierung nach, um zu
ermitteln, welcher Protokolltreiber auf der Protokollebene 86 der
Herstellerkennung/Produktkennung der angeschlossenen Digitalkamera 10 entspricht
und lädt
diesen Treiber. Da die Transportebene bereits davon Kenntnis hat,
dass die Digitalkamera 10 erkannt worden ist, werden die
folgenden, in 2 gezeigten Ebenen, in Betrieb
gesetzt: die Kameraebene 84, die Protokollebene 86 und
die Transportebene 88.
-
Die
Kameraebene 84 sendet das Signal „Kameraanschluss" mit dem eindeutigen
Kameraalias an das Kameraverwaltungsprogramm 80, womit
sie darauf hinweist, dass die Digitalkamera 10 erkannt
worden ist. Das Kameraverwaltungsprogramm 80 erzeugt dann
sein eigenes Softwaremodell der Kamera, um bestimmte Informationen
zu erhalten, wie beispielsweise den eindeutigen Kameraalias (wie
von der Kameraebene 84 erkannt) sowie den alphabetischen
Laufwerksbuchstaben (wie dem installierbaren Dateisystem IFS 70 bekannt).
Dies ist ein Beispiel dafür,
wie das Kameraverwaltungsprogramm 80 die Softwarekomponenten
miteinander verbindet.
-
Das
Kameraverwaltungsprogramm 80 informiert dann das installierbare
Dateisystem IFS 70 darüber,
dass eine neue Dateisystemeinrichtung installiert worden ist. Das
installierbare Dateisystem IFS 70 bezieht vom System einen
neuen alphabetischen Laufwerksbuchstaben und fragt dann die Kameraebene 84 über den
Inhalt des Laufwerks ab.
-
Die
Kameraebene 84 ruft die Verzeichnisinformationen ab und
sendet diese an das installierbare Dateisystem IFS 70 zurück (in Form
von AddFile- und AddFolder-Meldungen). Die Entscheidung, ob Datei-
und Verzeichnisinformationen rekursiv gesendet werden oder gewartet
werden soll, bis das installierbare Dateisystem IFS 70 diese
anfordert, hängt von
den in der Kameraebene 84 jeweils implementierten Prioritäten ab.
-
Eine
Client-Anwendung 73 sendet einen Befehl über die
Benutzermodus-API 72 oder über die Win32-API 71.
Wenn die Anfrage über
die Win32-API 71 kommt, wird sie über das installierbare Dateisystem
IFS 70 weitergeleitet.
-
Das
Kameraverwaltungsprogramm 80 ruft die Kameramodellinformationen
ab und leitet die Abfrage an den eindeutigen Kameraalias im Arbeitswarteschlangen-Verwaltungsprogramm 82 weiter.
Die Kameraebene 84 greift die Anfrage auf und verwendet
ihre eigenen Kameramodellinformationen, um zu ermitteln, an welchen
Protokolltreiber in der Protokollebene 86 die Anfrage weitergeleitet
werden soll.
-
Der
Protokolltreiber formatiert dann den generischen Befehl der Kameraebene 84 in
den oder die kameraspezifischen Befehle um. Derartige Befehle können Abfragen
sein, die ermitteln, welche Bilder auf der entnehmbaren Speicherkarte 30 der
Digitalkamera 10 gespeichert sind, um dann die Informationen
von der entnehmbaren Speicherkarte 30 zu lesen und dabei
die Datums- und Uhrzeiteigenschaften der Digitalkamera 10 einzustellen.
Die kameraspezifischen Befehle werden dann an die Transportebene 88 gesendet,
die diese wiederum über
das Schnittstellenkabel 36 an die Digitalkamera 10 sendet. Wenn
eine Antwort der Kamera vorliegt, wird auf diese zugegriffen und
in umgekehrter Reihenfolge zurückgeleitet.
-
Die
folgenden Schritte dienen dazu, die Bilddateien von der entnehmbaren
Speicherkarte 30 der Digitalkamera 10 zum Hostcomputer 40 zu übertragen,
und zwar gemäß der zugewiesenen
Priorität, und
die Unterbrechung einer derartigen Übertragung zur Verarbeitung
eines noch nicht übertragenen
Bildes zu gestatten. Wenn die Digitalkamera 10 an den Hostcomputer 40 angeschlossen
ist und keine Benutzerbefehle oder Dateianfragen des Betriebssystems vorliegen,
werden von dem Kameraverwaltungsprogramm 80 Leseanfragen
niedriger Priorität zugewiesen,
wodurch Bilddateien niedriger Priorität während Leerlaufzeiten des Hostcomputers 40 übertragen
werden. Dieser Prozess wird auch als „Pre-Fetching" bezeichnet, also
der Vorgriff auf eine möglicherweise
notwendige Dateiübertragung.
Der Hostcomputer 40 überträgt die Bilddateien
jeweils hintereinander von der entnehmbaren Speicherkarte 30 der
Digitalkamera 10 in den Speicher des Hostcomputers (d.h.
den RAM 58 oder die Festplatte 56).
-
Wenn
die Client-Anwendung 73 die Übertragung einer Bilddatei
von der Digitalkamera 10 anfordert, gelten zwei Bedingungen.
Wenn die angeforderte Bilddatei bereits durch „Pre-Fetching" oder reguläre Übertragung zum Hostcomputer 40 übertragen worden
ist, ist der Zugriff und die Anzeige dieser Bilddatei, die sich
dann auf dem Festplattenlaufwerk 56 oder im RAM-Speicher 58 befindet,
innerhalb kurzer Zeit möglich.
Es ist also nicht mehr notwendig, die Bilddatei von der Digitalkamera 10 zum
Hostcomputer 40 über
die Schnittstelle mit beschränkter
Bandbreite zu übertragen,
was für
den Benutzer mit Wartezeiten verbunden wäre. In diesem Fall scheint
es so, dass das installierbare Dateisystem IFS 70 den Zugriff
auf die in der Digitalkamera 10 gespeicherten Bilddaten
anfordert, während
in Wirklichkeit die Datei vom Festplattenlaufwerk 56 oder
vom RAM-Speicher 58 des Hostcomputers 40 geladen
wird.
-
Im
anderen Fall läuft
gerade eine Übertragung
von Bilddateien niedriger Priorität von der Digitalkamera 10 zum
Hostcomputer 40, wobei die angeforderte Bilddatei noch
nicht übertragen
worden ist. In diesem Fall sendet das installierbare Dateisystem IFS 70 eine
Anfrage höherer
Priorität
an das Arbeitswarteschlangen-Verwaltungsprogramm 82, die
von der Kameraebene 84 entsprechend beantwortet wird. Das
Arbeitswarteschlangen-Verwaltungsprogramm 82 veranlasst
die Unterbrechung der Bilddateiübertragung
niedriger Priorität
und fordert die Kameraebene 84 auf, die noch nicht übertragene
Bilddatei höherer
Priorität
zu übertragen.
Nachdem diese Operation in der zuvor besprochenen Weise abgeschlossen
worden ist, kehrt das Arbeitswarteschlangen-Verwaltungsprogramm 82 wieder
zu den Anfragen niedriger Priorität zurück und setzt die Übertragung
der Bilddateien niedriger Priorität fort.
-
Wenn
der Benutzer die Digitalkamera 10 vom Hostcomputer 40 trennt,
wird die Kameraebene 84 davon unterrichtet und weist alle
für diese
Digitalkamera 10 vorgesehenen Anfragen ab. Die Kameraebene 84 sendet
dann das Signal „Kamerawegfall" an das Kameraverwaltungs programm 80.
Es sei darauf hingewiesen, dass Digitalkameras im Allgemeinen mit
zwei üblichen
Protokollen ausgestattet sind. Hierbei handelt es sich um RS-232
und USB (Universal Serial Bus). Im Falle des RS-232-Protokolls erkennt
die Kameraebene 84 die Trennung durch einen Kommunikationsfehler.
Das Kameraverwaltungsprogramm 80 unterrichtet dann das
installierbare Dateisystem IFS 70 über die Trennung, und das installierbare
Dateisystem IFS 70 entfernt den alphabetischen Laufwerksbuchstaben
vom Hostcomputer 40. Die Kameraebene 84 schließt dann
die verbleibenden Anfragen für
die Digitalkamera 10 aus dem Arbeitswarteschlangen-Verwaltungsprogramm 82 ab.
-
3A zeigt
eine exemplarische Ansicht einer Bildschirmdarstellung an einem
Monitor 52 des Hostcomputers 40 nach Anschluss
der Digitalkamera 10 an den Hostcomputer 40. Dies
macht deutlich, dass die Digitalkamera 10 im Hostcomputer 40 als zusätzliches
Laufwerk angezeigt wird. Wie in 3A gezeigt,
steht A: für
ein Diskettenlaufwerk, C: und D: stehen für Festplattenlaufwerke, E:
steht für
ein CD-ROM-Laufwerk und F: steht für die Digitalkamera DC290.
Auf der linken Bildschirmseite wird die Speicherkapazität der Digitalkamera 10 und
der bereits verbrauchte Speicherplatz angezeigt; dies entspricht dem,
was dem Benutzer für
andere Laufwerke des Hostcomputers 40 ebenfalls angezeigt
würde.
-
3B zeigt
eine weitere exemplarische Ansicht einer Bildschirmdarstellung an
einem Anzeigemonitor 52 des Hostcomputers 40 zur
Darstellung der Symbole, die die Dateien (einschließlich Bilddaten und
Audiosegmentdaten) und Verzeichnisse darstellen. Das gezeigte repräsentative
Verzeichnis ist ein Album.
-
Erfindungsgemäß kann der
Zugriff (z.B. anzeigen, kopieren oder löschen) auf die in der Digitalkamera 10 gespeicherten
Bilddateien über
ein Netz, wie beispielsweise das Internet, erfolgen, und die Digitalkamera 10 kann über das
Netz gesteuert werden (z.B. Aufnahme eines neuen Bildes durch „Wahl" eines entsprechenden
Dateisymbols für
ein „aktuelles Bild"). Die in 3B gezeigte
Datei „current.jpg" ermöglicht es
einem Benutzer, ein neues Bild entweder vom Hostcomputer 40 oder
von einem der vernetzten Computer (d.h. Computer 62 oder
Computer 64 aus 1) aufzunehmen, wenn die Digitalkamera 10 über die
Hostschnittstelle 26 mit dem Hostcomputer 40 verbunden
ist. Wenn der Benutzer die Datei current.jpg öffnet, leitet die Win32-API 71 diese
Benutzeranfrage an das installierbare Datei system IFS 70 weiter.
Diese Anfrage wird über
die verschiedenen Softwareebenen zur Digitalkamera 10 weitergeleitet.
-
Wenn
der Benutzer die Datei „current.jpg" auf dem Hostcomputer 40 öffnet, belichtet
die Digitalkamera 10 den Bildsensor 14 mit einem
neuen Bild, verarbeitet das Bild und speichert das verarbeitete Bild
vorübergehend
im RAM-Speicher 28. Die Protokollebene 86 überwacht
die Digitalkamera 10, die ihrerseits antwortet, wenn das
Bild erfasst und gespeichert worden ist. Das Bild wird dann automatisch
von der Digitalkamera 10 zum Hostcomputer 40 übertragen
und im Speicher (z.B. RAM 58 oder Festplatte 56)
des Hostcomputers gespeichert und dem Benutzer am Anzeigemonitor 52 des
Hostcomputers 40 angezeigt. Durch einfaches Öffnen der
jeweiligen Bilddatei ist der Benutzer also in der Lage, die Digitalkamera 10 anzuweisen,
ein neues Bild zu erfassen und das erfasste Bild unmittelbar am
Hostcomputer 40 entweder lokal oder über das Netz anzuzeigen.
-
Erfindungsgemäß erkennt
der Hostcomputer 40 die von der Digitalkamera 10 erfasste
mindestens eine Bilddatei und überträgt diese,
die ein Digitalbild und mindestens ein Audiodatensegment umfasst. Nach
Speichern der erfassten Bilddatei auf der entnehmbaren Speicherkarte 30 der
Digitalkamera 10 wird die Digitalkamera 10 über das
Schnittstellenkabel 36 an den Hostcomputer 40 angeschlossen.
Der Hostcomputer 40 erkennt dann die erfasste Bilddatei und
erkennt das Vorhandensein des Digitalbildes und des auf der entnehmbaren
Speicherkarte 30 gespeicherten Audiodatensegments.
-
Wie
in 3B gezeigt, werden mindestens zwei Symbole am
Anzeigemonitor 52 des Hostcomputers 40 angezeigt,
die jeweils das Digitalbild und das Audiodatensegment darstellen.
Die Digitalbilddatei wird als Datei „P0000047.jpg" gezeigt.
-
Obwohl
die Datei „P0000047.jpg" eine einzelne Datei
ist, wird das Audiodatensegment als separate Wave-Datei „P0000047.wav" zusammen mit der
Bilddatei dargestellt. Ein Benutzer kann wahlweise auf das Digitalbildsymbol
oder auf das Audiodatensegment-Symbol zugreifen, um zu veranlassen, dass
das Digitalbild oder das Audiodatensegment von der entnehmbaren
Speicherkarte 30 der Digitalkamera 10 zum Hostcomputer 40 übertragen
wird.
-
4A zeigt
die Bilddateistruktur, wenn mit dem Bild (beispielsweise Datei „P0000046.jpg" in 3B)
kein Ton aufgezeichnet wurde. 4B zeigt die
Bilddateistruktur, wenn mit dem Bild Ton aufgezeichnet wurde. Dies
ist als Datei „P0000047.jpg " in 3B dargestellt.
Obwohl die Datei „P0000047.jpg" eine einzelne Datei
ist, wird das Audiodatensegment als separate Wave-Datei „P0000047.wav" zusammen mit der
Bilddatei dargestellt, wie in 3B gezeigt.
-
Wenn
der Benutzer ein Audiodatensegment einer bestimmten Bilddatei öffnet, d.h.
wenn der Benutzer auf das Symbol „P0000047.wav " aus 3B doppelt
klickt, um die Audiodatei mit seinem standardmäßigen Tonwiedergabeprogramm
wiederzugeben, führt
die Win32-API 71 eine Leseanfrage für das installierbare Dateisystem
IFS 70 aus. Daraufhin werden die beiden zuvor beschriebenen Übertragungsbedingungen
aufgerufen, um zu ermitteln, wie mit der angeforderten Bilddatei
zu verfahren ist. Wenn die Audiodatensegmentdatei noch nicht zum Hostcomputer 40 übertragen
worden ist, empfängt die
Protokollebene 86 eine Leseanforderung und ermittelt die
zugehörige
Bilddatei. Die Protokollebene 86 liest dann das Audiodatensegment
von der entsprechenden Bilddatei auf der entnehmbaren Speicherkarte 30 der
Digitalkamera 10 und setzt diese in die geeignete Form
um.