-
Es
wird Bezug genommen auf die gleichzeitig hiermit eingereichte WO-01-28229
mit dem Titel "Zugriff
auf in einer digitalen Kamera gespeicherte Bilddateien durch einen
Hostrechner" von
Edward Wolf et al., und die gleichzeitig hiermit eingereichte WO-01-28227
mit dem Titel "Prioritätsverwaltung
der Übertragung
von Bilddateien von einer digitalen Kamera zu einem Hostrechner" von Edward Wolf
et al.
-
Die
Erfindung bezieht sich allgemein auf den Zugriff auf Bilddateien,
die von einer digitalen Kamera an einen Hostrechner übertragen
wurden, durch das Erstellen von Icons, die jeweils Teile jeder übertragenen
Bilddatei repräsentieren.
-
Digitale
Bilder werden häufig
mit elektronischen Stehbildkameras erzeugt, etwa mit der von der Eastman
Kodak Company vertriebenen Kamera Kodak Digital Science DC265TM. Beispiele digitaler Kameras sind im einzelnen
in den gemeinsam abgetretenen US-Patenten 5 828 406, 5 633 678 und
5 477 264 beschrieben. Diese Kameras weisen einen Bildsensor, einen
Analog/Digital-Wandler und ein Speichermedium zum Speichern der
digitalen Bilddateien auf. Es gibt viele Speichermedien, auf denen diese
digitalen Bilder gespeichert werden können, etwa magnetische Speicherdisketten,
Magnetplatten und Halbleiterspeicherkarten (z.B. Flash-Speicher).
-
Die
Bilder können
in der Weise geladen werden, dass man die Speicherkarte (etwa die
CompactFlash-Karte) aus der digitalen Kamera entnimmt und in einen
mit dem Hostrechner verbundenen Kartenleser einführt oder indem man die digitale
Kamera mit dem Hostrechner verbindet. Normalerweise wird mit der
digitalen Kamera gelieferte Software auf dem Hostrechner installiert
und dient zur Steuerung der Kameraschnittstelle. Diese Software
enthält
normalerweise Befehle, die das Übertragen
von Thumbnail-Bildern (d.h. von Bildern mit verringerter Auflösung) und
von Bildern voller Größe von der
Kamera zum Hostrechner ermöglichen.
-
Eine
Art einer solchen Software ist in US-A-5 848 420 beschrieben. Dieses
Patent beschreibt ein System und ein Verfahren für den Zugriff auf Daten einer
digitalen Kamera durch einen Personal Computer, der ein Festplattenbetriebssystem
mit einem Softwareprogramm aufweist, das es dem Computer ermöglicht, über die
serielle Schnittstelle auf den Speicher in der digitalen Kamera
zuzugreifen, wobei der Speicher dem Betriebssystem als Festplatte
erscheint.
-
US-A-5
706 457 beschreibt ein System und Verfahren zum Anzeigen und Archivieren
von Bildern, mit deren Hilfe Bild- und Dokumentdaten von mehreren
Quellen erfasst und an mehrere Bestimmungsorte verteilt werden können. Siehe
auch US-A-5 706 097, die einen Index-Print mit einem digitalen Aufzeichnungsmedium
beschreibt, das Stehbilder, bewegte Bildfolgen und Audiosequenzen
enthält.
-
Die
Identifizierung nicht nur eines digitalen Bildes innerhalb einer
auf einen Hostrechner übertragenen
Bilddatei, sondern auch wesentlicher Komponenten der Bilddatei,
etwa eines Audiodatensegments, stellt jedoch ein Problem dar.
-
Aufgabe
der Erfindung ist es, den Zugriff auf in einer digitalen Kamera
gespeicherte Bilddateien zu ermöglichen.
-
Eine
weitere Aufgabe der Erfindung besteht darin, den Zugriff auf mehrere
in einer Bilddatei gespeicherte Komponenten, etwa ein digitales
Bild und ein Audiodatensegment, zu ermöglichen.
-
Diese
Aufgaben werden durch ein im beiliegenden Anspruch 1 beschriebenes
Verfahren gelöst.
-
Die
Erfindung ermöglicht
dem Benutzer den Zugang zu in einer Bilddatei (zum Beispiel Audiodaten)
eingebetteten Daten, indem sie Icons für die eingebetteten Dateien
erstellt und diese damit dem Benutzer als eigenständige Dateien
erscheinen, die von einer entsprechenden Anwendung (zum Beispiel
einer Wellen-Datei, die von einer Tonwiedergabeanwendung wiedergegeben
kann) benutzt werden können.
-
Die
Erfindung wird im Folgenden anhand eines in der Zeichnung dargestellten
Ausführungsbeispiels
näher erläutert.
-
Es
zeigen:
-
1 ein
digitales Bilderzeugungssystem mit einer digitalen Kamera und einen
erfindungsgemäßen Hostrechner;
-
2 ein
Blockdiagramm erfindungsgemäßer Softwarekomponenten;
-
3A ein
Beispiel einer Bildschirmansicht auf einem Monitor des Hostrechners
gemäß 1 nach
Verbindung der digitalen Kamera mit dem Hostrechner;
-
3B ein
weiteres Beispiel einer Bildschirmansicht auf einem Monitor des
Hostrechners mit Dateien (einschl. Bilddaten- und Audiodatensegmentdateien)
und Verzeichnisse (oder Alben) repräsentierenden Icons;
-
4A die
Bilddateistruktur in dem Fall, dass kein Ton mit dem Bild aufgezeichnet
wurde (zum Beispiel Datei P0000046.jpg in 3B); und
-
4B die
Bilddateistruktur in dem Fall, dass Ton mit dem Bild aufgezeichnet
wurde (zum Beispiel Datei P0000047.jpg in 3B).
-
1 zeigt
ein System zur Steuerung einer mit einem Hostrechner 40 verbundenen
digitalen Kamera 10 mittels einer auf einer CD 48 oder
einem anderen erfindungsgemäßen Medium
vorhandenen Software. Die CD 48, die die Software für die in
dieser Erfindung beschriebenen Verfahren enthält, wird in ein bekanntes CD-ROM-Laufwerk 46 im
Hostrechner 40 eingelegt. Alternativ kann die Software
auch auf einer (nicht dargestellten) Diskette, einer entnehmbaren
Speicherkarte 40 oder einem Medium anderer Art gespeichert
sein. Die CD 48, die Diskette oder entnehmbare Speicherkarte 30 oder
das sonstige digitale Speichermedium wird dem Benutzer zusammen
mit der digitalen Kamera 10 geliefert.
-
Die
digitale Kamera 10 erzeugt digitale Bilder, die auf der
entnehmbaren Speicherkarte 30 gespeichert werden. Die digitale
Kamera 10 weist eine Linse 12 mit verstellbarer
Blende und einen (nicht dargestellten) Verschluss auf, die das Licht
mittels des bekannten Bayer-Farbfiltermusters von einer (nicht dargestellten)
Szene auf einen Bildsensor 14, zum Beispiel eine Ein-chip-Farb-CCD fokussieren. Das
analoge Ausgangssignal des Bildsensors 14 wird von einem
A/D-Wandler 16 in digitale Daten umgewandelt. Die digitalen
Daten werden von einem Prozessor 18 verarbeitet, und die
verarbeitete digitale Bilddatei wird einer Speicherkarten-Schnittstelle 20 zugeleitet,
die die digitale Bilddatei auf einer entnehmbaren Speicherkarte 30 speichert.
Entnehmbare Speicherkarten 30 sind dem Fachmann bekannt. Als
entnehmbare Speicherkarte 30 können zum Beispiel für den PCMCIA-Karten-Schnittstellenstandard adaptierte
Speicherkarten dienen, wie sie im PC Card Standard, Release 2.0,
veröffentlicht
von der Personal Computer Memory Card International Association,
Sunnyvale, California, September 1991, beschrieben sind. Die entnehmbare
Speicherkarte 30 kann aber auch für den Compact Flash-Schnittstellenstandard
adaptiert sein, wie er in der CompactFlash Specification Version
1.3, veröffentlicht
von der CompactFlash Association, Palo Alto, California, 5. August
1998, beschrieben wird.
-
Für die Erzeugung
von sRGB-Bildwiedergabedaten führt
der Prozessor 18 eine Farbinterpolation und anschließend eine
Farb- und Farbtonkorrektur durch. Die sRGB-Bildwiedergabedaten werden dann
nach dem JPEG-Verfahren komprimiert und als Exif-Version 2.1-Datei
auf der entnehmbaren Speicherkarte 30 gespeichert. Das
Exif-Bildformat ist in der Veröffentlichung "Digital Still Camera
Image File Format Standard, Exchangeable image file format for Digital
Still Camera (Bilddateiformat-Standard für digitale Stehbildkameras,
austauschbares Bilddateiformat für
digitale Stehbildkameras): Exif'', JEIDA-49-1998;
Juni 1998, der Japan Electronics Industries Development Association
(JEIDA) definiert, der sRGB-Farbraum ist in der Veröffentlichung "A standard default
color space for the internet – sRGB
(Ein Standard-Vorgabefarbraum für
das Internet – sRBG)" von Michael Stokes
et. al., die unter http://www.color-org/sRGB.html verfügbar ist, beschrieben. Außerdem übermittelt
der Prozessor Bilddaten in "Thumbnail"-Größe an ein
Bilddisplay 22, etwa ein Farb-LCD-Display, das das erfasste
Bild für
die Überprüfung durch
den Benutzer anzeigt. Die digitale Kamera 10 wird durch
eine Reihe von Betätigungsknöpfen 24 betätigt.
-
Die
digitale Kamera 10 weist ferner ein Mikrofon 19 und
einen Audioverstärker
und A/D-Wandler 21 auf.
Nach dem Erfassen eines Bildes kann der Benutzer einen der Betätigungsknöpfe 24 drücken, um
zum Beispiel eine von ihm gesprochene Anmerkung aufzuzeichnen. Die
vom Mikrofon 19 kommenden Audiosignale werden verstärkt und
mittels des Audioverstärkers
und A/D-Wandlers 21 in digitale Daten umgewandelt. Die
Audiosignale können
zum Beispiel mittels des bekannten IMA ADPCM-Kompressionsalgorithmus
komprimiert und als Daten mit Flashpix-Erweiterung innerhalb der
Exif 2.1-Bilddatei gespeichert werden. Die Flashpix-Audioerweiterung ist
in der Veröffentlichung "Extension to Flashpix
version 1.0, Embedded Audio Annotations (Erweiterungen bei Flashpix
Version 1.0, eingebettete Tonanmerkungen)", 26. Januar 1998, der Digital Imaging Group
beschrieben, die unter http://www.digitalimaging.org/ verfügbar ist.
-
Mittels
der Betätigungsknöpfe 24 können ferner
weitere Kamera-Einstellungen und Betriebsarten ausgewählt werden.
Die Auswahl dieser Einstellungen ist auch über den Hostrechner 40 möglich. Zu den
Einstellungen und Betriebsarten gehören unter anderem Selbstauslöser, Blitzlicht,
Brennweite, Belichtung, Weißabgleich,
Bildqualität
(Kompression), Bereitschafts- und Abschaltzeiten, Schnellansicht, Videoausgabeformat
und Zoom-Position.
-
Nachdem
eine Reihe von Bildern von der digitalen Kamera 10 erfasst
und auf der entnehmbaren Speicherkarte 30 gespeichert wurden,
kann die entnehmbare Speicherkarte 30 in einen Speicherkarten-Leser 42 im
Hostrechner 40 eingeführt
werden. Alternativ kann auch ein Schnittstellenkabel 36 für die Verbindung
zwischen einer Host-Schnittstelle 26 in der digitalen Kamera 10 und
einer Kamera-Schnittstelle 44 im Hostrechner 40 verwendet
werden. Das Schnittstellenkabel 36 kann zum Beispiel der
bekannten Schnittstellenspezifikation Universal Serial Bus (USB)
entsprechen.
-
Es
versteht sich, dass eine Zentraleinheit (CPU) 50 mit einer
erfindungsgemäßen Software
arbeitet, die im einzelnen noch unter Bezugnahme auf 2, 3A–3B und 4A–4B beschrieben
wird. Die CPU 50 ist mit einem Monitor 52 und
einer Tastatur 54 verbunden. Mittels einer Maus 55 kann
der Benutzer in einfacher Weise mit der CPU 50 kommunizieren.
Ferner ist die CPU 50 mit einer Festplatte 56 und
einem Direktzugriffsspeicher (RAM) 58 verbunden. Außerdem kommuniziert
die CPU 50 über
eine Netzkarte 60 mit vernetzten Geräten. Die Netzkarte ist mit
einem zweiten Rechner 62, einem dritten Rechner 64,
der als Internetprovider-Anschluss für das Internet dient, und einem Hardcopy-Drucker 66 verbunden.
-
2 zeigt
einen Satz erfindungsgemäßer Softwarekomponenten
für den
Betrieb auf einem Betriebssystem, etwa einem PC mit dem Betriebssystem
Windows 95 oder Windows 98, das Anwendungen für die Kommunikation
mit einer oder mehreren digitalen Kameras ermöglichet. Eine dieser Softwarekomponenten,
das installierbare Dateisystem IFS 70, ist ein verbindungsabhängiges Dateisystem,
das Anwendungen für
die Kommunikation mit der digitalen Kamera 10 über eine
Win32 Application Programmers Interface (API) 71 als Dateisystem
eines Festplattenspeichers ermöglicht.
Siehe zum Beispiel das Kapital 16 der Veröffentlichung "Systems Programming
for Windows 95 (Systemprogrammierung für Windows 95)", veröffentlicht
von Microsoft Press, Redmond, Washington, Copyright 1996, von Walter Oney.
Andere Komponenten ermöglichen
den Zugriff auf die Kamerafunktionen und deren Einstellung sowie
das Einleiten der Erfassung eines neuen Bildes mit der digitalen
Kamera 10.
-
Im
Benutzermodus steuert ein Application Programming Interface (API) 72 den
Betrieb der Kamera und ermöglicht
den Zugriff auf in der Bilddatei aufgezeichnete Information. Client-Anwendungen 73 greifen
auf die Benutzermodus-API 72 über eine Gruppe von COM-Schnittstellen
(nicht dargestellt) zu, die
- • die jeweils
an das System angeschlossenen Kameras erkennen auflisten;
- • mit
einer bestimmten Kamera kommunizieren (unter anderem diese für kamerabezogene
Ereignisse registrieren); und
- • auf
zu einer Bilddatei gehörende
Daten (zum Beispiel Thumbnail- und Audiosegmentdaten) zugreifen
können.
-
Über die
Win32 API 71 wird auf eine Bilddatei und dann auf das IFS 70 zugegriffen.
Es versteht sich, dass immer wenn in dieser Beschreibung vom Zugriff
auf eine Bilddatei die Rede ist, auch auf nur einen Teil einer Bilddatei,
etwa ein Audiodatensegment, zugegriffen, dieses übertragen und bearbeitet werden
kann.
-
Die
Benutzermodus-API 72 arbeitet mit COM-Schnittstellen. Diese
Schnittstellen sind für
den Zugriff auf Bilddateidaten und zugehörige Daten zuständig, etwa
Audiosegmentdaten, Daten und Zeiten der Bilderfassung, Ursprungshinweise,
und dergleichen. 4A und 4B zeigen
Beispiele von Bilddateien und deren Organisationsstrukturen. Die
Bilddatei in 4A ist mit 100a, die
Bilddatei in 4B mit 100b bezeichnet.
Für die
Beschreibung der Bilddateien 100a und 100b werden
Akronyme verwendet, die der Fachmann versteht. Die Benutzermodus-API 72 ermöglicht dem
Benutzer ferner die Steuerung der Funktion der digitalen Kamera 10.
Die Funktion der digitalen Kamera 10 kann über ein
Netzwerk gesteuert werden. Im einzelnen arbeitet der Hostrechner 40 (in 1 dargestellt)
selektiv mit einer Vielzahl von Bilddateien, die von der digitalen
Kamera 10 erfasst wurden. Die einzelnen Bilddateien enthalten
jeweils mindestens ein digitales Bild. Normalerweise enthält die Bilddatei
auch Audiosegmentdaten. Gesteuert durch den Hostrechner 40 oder
alternativ den Benutzer der digitalen Kamera 10 wird eine
Vielzahl erfasster Bilder auf der entnehmbaren Speicherkarte 30 der
digitalen Kamera 10 gespeichert. Die digitale Kamera 10 ist
mit dem Hostrechner 40 verbunden, und der Hostrechner 40 identifiziert die
Vielzahl der erfassten, auf der entnehmbaren Speicherkarte 30 gespeicherten
Bilddateien. Erfindungsgemäß identifiziert
der Hostrechner 40 die entnehmbare Speicherkarte so, als
wäre sie
ein Dateisystem eines zusätzlichen
Festplattenspeichers für den
Zugriff auf die erfassten Bilddateien. Der Hostrechner 40 greift
auf die erfassten Bilddateien zu und überträgt sie selektiv von der entnehmbaren
Speicherkarte 30 in den RAM-Speicher 58 des Hostrechners 40.
-
Die
IFS-Softwarekomponente 70 ermöglicht es dem Betriebssystem,
die digitale Kamera 10 als Dateisystem eines zusätzlichen
Festplattenspeichers anzusehen. Das IFS 70 kann als aus
zwei Komponenten bestehend angesehen werden. Die erste ist eine
externe Komponente (IFS-E), die die Anforderungen des Betriebssystems
(OS) erfüllt,
etwa dem OS neue Dateien anzeigt und sich vom OS Laufwerks-Buchstaben
zuteilen lässt
und diese freigibt. Die zweite ist eine interne Komponente (IFS-I),
die das Tracking und Puffern von Dateien verwaltet. Die IFS-I übernimmt
auch für
andere Schichten die zweckmäßige Speicherung
und flexible Informationsabfrage.
-
Eine
Camera Manager-Softwarekomponente 80 sorgt für die Zusammenarbeit
verschiedener anderer Komponenten. Wenn der Camera Manager 80 die
Information "Kamera
angeschlossen" erhält, die
ihm anzeigt, dass die digitale Kamera 10 an den Hostrechner 40 angeschlossen
wurde, weist sie das IFS 70 an, sich vom System einen Laufwerks-ID-Buchstaben
zuteilen zu lassen (zum Beispiel 3½'' Diskettenlaufwerk
(A:) gemäß 3A)
und dann mit der entsprechenden Datei- und Ordner-Information zu
versorgen. Der Camera Manager 80 verfolgt die kamerabezogene
Information, etwa die Verknüpfung
zwischen der von einer Kameraschicht-Softwarekomponente 84 zugewiesenen
eindeutigen Identifikation und dem Laufwerks-ID-Buchstaben, den
das IFS 70 vom System zugewiesen erhält. Wenn der Camera Manager 80 die
Mitteilung "Kamera
getrennt" erhält, die
ihm anzeigt, dass die digitale Kamera 10 vom Hostrechner 40 getrennt wurde,
weist sie das IFS 70 an, das zuvor mit der getrennten digitalen
Kamera 10 verbundene Laufwerk zu löschen. Außerdem bestimmt der Camera
Manager 80, was zu tun ist, wenn die digitale Kamera 10 getrennt
wird, während
eine Operation in Ausführung ist
(oder sich ein Job in der Warteschlange (work queue) befindet),
und dann später
wieder angeschlossen wird.
-
Eine
Work Queue Manager-Softwarekomponente 82 erleichtert die Übertragung
der von der digitalen Kamera 10 erfassten Bilddateien an
den Hostrechner 40 entsprechend der jeweils zugeordneten Priorität. Wenn
ein Benutzer den Hostrechner zur Bearbeitung einer bestimmten, noch
nicht übertragenen Bilddatei
auffordert, veranlasst der Work Queue Manager 82 die Unterbrechung
der Bilddateiübertragung
und nimmt die Übertragung
des verbleibenden Teils der noch nicht übertragenen Bilddateien an
den Hostrechner 40 wieder auf, nachdem die vom Benutzer
angeforderte Bilddatei übertragen
wurde.
-
Außerdem hat
der Work Queue Manager 82 die folgenden Funktionen:
- • Er
leitet Anforderungen zwischen der Kameraschicht 84 und
den Schichten direkt über
dem Work Queue Manager weiter;
- • er
serialisiert die Arbeitsanforderungen;
- • er
stellt Puffer für
die Übertragung
von Parameter- und Anforderungsdaten zwischen anderen Schichten
bereit;
- • er
leitet Anforderungen an die zuständige
Softwarekomponente weiter; und
- • er
verwaltet Rückrufdaten/asynchrone
Anforderungen.
-
Wenn
die Kameraschicht 84 dem Camera Manager 80 eine
neue Verbindung einer digitalen Kamera 10 mit dem Hostrechner 40 anzeigt,
kann der Camera Manager 80 die Eigenschaften der Kamera wie
folgt abfragen:
- • Ob es sich bei der digitalen
Kamera 10 um einen Nur-Lese-Speicher handelt;
- • ob
die digitale Kamera 10 Dateien löschen kann;
- • ob
die digitale Kamera 10 Dateien umbenennen kann (ohne die
Datei zu kopieren und zu löschen);
- • ob
die digitale Kamera 10 nur ganze Dateien lesen kann;
- • ob
die digitale Kamera 10 die Aufnahme von Bildern während ihrer
Verbindung unterstützt;
und
- • ob
die digitale Kamera 10 das CoolFS-Modul unterstützt.
-
Eine
weitere Softwarekomponente, die Protokollschicht 86, interpretiert
Auswahlbefehle, die von der im Flash EPROM 29 (in 2 dargestellt)
vorhandenen Kamera-Firmware verstanden werden. Die Protokollschicht 86 bestimmt
die eigentliche Funktionalität
der digitalen Kamera 10 (d.h. setzt den Auswahlbefehl in
kameraspezifische Befehle um oder weist ihn als Fehler zurück). Wenn
die Protokollschicht 86 die Anforderungen in kameraspezifische Befehle
umsetzt, ruft sie anschließend
wählbare Schnittstellen-Verfahren
wie TransportSend und TransportReceive einer Transportschicht-Softwarekomponente 88 auf.
Damit wird es möglich,
eine neu angeschlossene digitale Kamera 10 zu unterstützen, indem
nur eine Protokollschicht für
jene neu angeschlossene digitale Kamera 10 erzeugt wird,
ohne die anderen Schichten zu verändern (vorausgesetzt, die erforderliche
Transportschicht ist bereits von einer vorher angeschlossenen Kamera
her vorhanden). Die Protokollschicht 86 ist auch jene Schicht,
die eine Bilddatei mit eingebettetem Ton als zwei eigenständige Dateien
behandelt (wobei eine Datei die Bilddaten, die andere die Audiosegmentdaten
enthält).
-
Die
Transportschicht 88 ist die Softwarekomponente, die für das Packen
der protokollspezifischen Befehle im erforderlichen Transportformat (z.B.
Win95/Win98 Serial, WINNT Serial oder USB) zuständig ist, damit sie über das
Schnittstellenkabel 36 an die Host-Schnittstelle 26 der
digitalen Kamera 10 übermittelt
werden können.
-
Im
Folgenden wird nun der erfindungsgemäße Vorgang des Zugreifens auf
digitale Kameradateien auf einem Hostrechner beschrieben.
-
Der
Benutzer verbindet die digitale Kamera 10 mit Hilfe der
Host-Schnittstelle 26 mit dem Hostrechner 40.
Das System erkennt, dass die Kamera angeschlossen ist, und zeigt
der Kameraschicht 84 das neue Gerät an. Immer wenn eine digitale
Kamera 10 mit der Hostrechner 40 verbunden wird,
wird in der Protokollschicht 86 ein Kamera-Alias erzeugt.
Das Kamera-Alias dient als Adresse der digitalen Kamera 10.
-
Die
Daten der Schnittstelle 44 werden von der Kameraschicht 84 weggepuffert,
und die Kameraschicht 84 erzeugt für die Kommunikation mit dem Camera
Manager 80 ein eindeutiges Kamera-Alias. Mit Hilfe dieses
eindeutigen Kamera-Alias kann der Camera Manager 80 bestimmen,
mit welcher digitalen Kamera 10 er kommunizieren will.
-
Die
Kameraschicht 84 bestimmt anhand des Registers, welcher
Protokolltreiber in der Protokollschicht 86 der Hersteller-ID/Produkt-ID
der angeschlossenen digitalen Kamera 10 entspricht, und
lädt dann
jenen Treiber. Da der Transport bereits weiß, dass die digitale Kamera 10 erkannt
wurde, treten jetzt die in 2 dargestellten
Schichten in Funktion: Die Kameraschicht 84, die Protokollschicht 86 und die
Transportschicht 88.
-
Die
Kameraschicht 84 übermittelt
an den Camera Manager 80 ein Signal "Kamera angeschlossen" mit dem eindeutigen Kamera-Alias und
zeigt damit an, dass die digitale Kamera 10 erkannt wurde. Der
Camera Manager 80 erzeugt daraufhin sein eigenes Softwaremodell
der Kamera für
die Verwaltung von Daten wie dem einmaligen Alias der Kamera (das
der Kameraschicht 84 bekannt ist) sowie dem Laufwerks-ID-Buchstaben
(der dem IFS 70 bekannt ist). Dies ist ein Beispiel dafür, wie der
Camera Manager 80 die Softwarekomponenten miteinander verbindet.
-
Anschließend informiert
der Camera Manager 80 das IFS 70, dass ein neues
Dateisystemgerät installiert
wurde. Das IFS 70 lässt
sich vom System einen neuen Laufwerks-ID-Buchstaben zuteilen und fragt
dann bei der Kameraschicht 84 den Inhalt des Laufwerks
ab.
-
Die
Kameraschicht 84 fragt die Verzeichnisinformation ab und übermittelt
sie an das IFS 70 (als AddFile- und AddFolder-Nachrichten
(Datei hinzufügen
und Ordner hinzufügen).
Ob die Datei- und
Ordner-Information rekursiv übermittelt
oder die IFS 70-Anforderung abgewartet wird, ist abhängig von den
verschiedenen, in der Kameraschicht 84 gesetzten Prioritäten.
-
Ein
Client Application-Modul 73 übermittelt einen Befehl über die
User Mode API 72 oder die Win32 API 71. Wenn der
Befehl von der Win32 API 71 kam, wird er über die
Softwarekomponente IFS 70 übermittelt.
-
Vom
Camera Manager 80 wird die Kamera-Modellinformation abgerufen,
und die Anforderung wird dem eindeutigen Kamera-Alias im Work Queue Manager 82 zugeleitet.
Die Kameraschicht 84 erfasst die Anforderung und bestimmt
anhand ihrer eigenen Kamera-Modellinformation, an welchen Protokolltreiber
in der Protokollschicht 86 die Anforderung weiterzuleiten
ist.
-
Der
Protokolltreiber setzt dann den auswählbaren Befehl der Kamera 80 in
kameraspezifische Befehle um, um zum Beispiel festzustellen, welche Bilder
in der entnehmbaren Speicherkarte 30 der digitalen Kamera 10 gespeichert
sind, und Daten der entnehmbaren Speicherkarte 30 zu lesen
sowie die Datums- und Zeitmerkmale der digitalen Kamera 10 einzustellen.
Anschließend
werden die kameraspezifischen Befehle an die Transportschicht 88 übermittelt,
die sie über
das Schnittstellenkabel 36 an die digitale Kamera 10 weiterleitet.
Eine eventuelle Antwort der Kamera wird abgerufen und in umgekehrter Reihenfolge
zurück übermittelt.
-
Das
folgende Verfahren dient der Übertragung
von Bilddateien von der entnehmbaren Speicherkarte 30 der
digitalen Kamera 10 zum Hostrechner 40 entsprechend
einer zugewiesenen Priorität und
ermöglicht
es, diese Übertragung
zu unterbrechen, um bei einem nicht übertragenen Bild einzugreifen.
Wenn die digitale Kamera 10 mit dem Hostrechner 40 verbunden
ist und keine Benutzerbefehle oder OS-Datenanforderungen vorliegen,
weist der Camera Manager 80 Lese-Anforderungen geringerer Priorität zu und
veranlasst, dass während
Leerlaufzeiten des Hostrechners 40 Bilddateien geringer
Priorität übertragen
werden. Dieser Prozess ist auch als "Prefetching" bekannt. Der Hostrechner 40 überträgt die Bilddateien
einzeln von der entnehmbaren Speicherkarte 30 der digitalen
Kamera 10 in den Speicher des Hostrechners (zum Beispiel
den RAM 58 oder die Festplatte 56).
-
Wenn
die Client Application-Softwarekomponente 73 die Übertragung
einer Bilddatei der digitalen Kamera 10 anfordert, gibt
es zwei Situationen: Wenn die angeforderte Bilddatei vorangefordert
(pre-fetched) oder bereits an den Hostrechner 40 übertragen wurde,
kann die vorangeforderte Bilddatei sofort entweder von der Festplatte 76 oder
dem RAM 58 aufgerufen und angezeigt werden. Es ist in diesem
Fall nicht nötig,
die Bilddatei von der digitalen Kamera 10 über die
Schnittstelle begrenzter Bandbreite zum Hostrechner 40 zu übertragen,
wodurch sich die Reaktionszeit für
den Benutzer verlängern
würde.
In diesem Fall scheint es so, als ob die Softwarekomponente IFS 70 das
Aufrufen von Daten aus einer in der digitalen Kamera 10 gespeicherten
Datei anfordert; tatsächlich
ruft sie jedoch die Datei von er Festplatte 76 oder dem
RAM 58 des Rechners 40 ab.
-
Im
zweiten Fall ist die digitale Kamera 10 gerade dabei, Bilddateien
niedriger Priorität
an den Hostrechner 40 zu übertragen, und die angeforderte Bilddatei
wurde noch nicht übertragen.
Unter diesen Umständen übermittelt
die Softwarekomponente IFS 70 eine Anforderung höherer Priorität an den
Work Queue Manager 82, und die Kameraschicht 84 antwortet
dem Work Queue Manager 82 und nimmt die Anforderung höherer Priorität entgegen.
Der Work Queue Manager 82 veranlasst die Unterbrechung der Übertragung
von Bilddateien niedriger Priorität und fordert die Kameraschicht 84 auf,
die betreffende noch nicht übertragene
Bilddatei höherer
Priorität
zu bearbeiten. Nach Abschluss dieses Vorgangs in der vorstehend
beschriebenen Weise wendet sich der Work Queue Manager 82 wieder
den Anforderungen niedriger Priorität zu und setzt die Übertragung
der Bilddateien niedriger Priorität fort.
-
Wenn
der Benutzer die digitale Kamera 10 vom Hostrechner 40 trennt,
wird dieser Vorgang der Kameraschicht 84 angezeigt, die
dann alle an die betreffende digitale Kamera 10 gerichteten
Anforderungen blockiert. Die Kameraschicht 84 übermittelt
an den Camera Manager 80 ein Signal "Kamera getrennt". Dabei ist zu beachten, dass es bei
digitalen Kameras im Allgemeinen zwei übliche Arten des seriellen
Transports gibt. Diese werden als RS-232 und Universal Serial Bus
(USB) bezeichnet. Im Falle der Transportart RS-232 erkennt die Kameraschicht 84 durch
ein Fehlschlagen der Kommunikation, dass die Kamera getrennt wurde.
Der Camera Manager 80 teil dies daraufhin der ISF 70 mit,
und die ISF 70 entfernt den Laufwerks-ID-Buchstaben im
Hostrechner 40. Anschließend führt die Kameraschicht 84 die
noch übrigen
Anforderungen des Work Queue Manager 80 für die digitale
Kamera 10 abschließend
durch.
-
In 3A ist
ein Beispiel einer Bildschirmansicht eines Monitors 52 des
Hostrechners 40 nach Verbindung der digitalen Kamera 10 mit
dem Hostrechner 40 dargestellt. Daraus ist ersichtlich,
dass die digitale Kamera 10 dem Hostrechner 40 als
zusätzliches
Laufwerk erscheint. In der Darstellung der 3A sind
zum Beispiel A: ein Diskettenlaufwerk, C: und D: Festplatten, E:
eine CD-ROM und F: die digitale Kamera DC290. Links im Bildschirm
erscheinen die Speicherkapazität
der digitalen Kamera 10 und die Angabe, wie viel Speicher
bereits belegt ist; diese Angaben werden dem Benutzer für jedes
Laufwerk des Hostrechners 40 angezeigt.
-
3B zeigt
ein weiteres Beispiel einer Bildschirmansicht auf dem Monitor 52 des
Hostrechners 40 mit Icons für Dateien (einschließlich Bilddaten
und Audiosegmentdaten) und Verzeichnisse. Das als Beispiel dargestellte
Verzeichnis ist ein Album.
-
Erfindungsgemäß kann auf
die in der digitalen Kamera 10 gespeicherten Bilddateien über ein Netzwerk,
unter anderem auch das Internet, zugegriffen werden (d.h. sie können betrachtet,
kopiert oder gelöscht
werden), und die digitale Kamera 10 kann über das
Netzwerk gesteuert werden (zum Beispiel Aufnahme eines neuen Bildes
durch "Auswahl" eines entsprechenden
Datei-Icons "current" (Aktives Bild).
Mittels der in 3B dargestellten Datei current.jpg
kann ein Benutzer ein neues Bild entweder vom Hostrechner 40 oder
einem der Netzwerk-Rechner (z.B. dem Computer 62 oder Computer 64 in 1)
aus aufnehmen, wenn die digitale Kamera 10 über die
Host-Schnittstelle 62 mit dem Hostrechner 40 verbunden
ist. Mit dem Öffnen
der Datei current.jpg durch den Benutzer leitet die Win32-API 71 die
Benutzer-Anforderung an die Softwarekomponente IFS 70 weiter.
Dann wird diese Anforderung über
die verschiedenen Softwareschichten an die digitale Kamera 10 weiter
geleitet.
-
Wenn
der Benutzer die Datei current.jpg auf dem Hostrechner 40 öffnet, belichtet
die digitale Kamera 10 ein neues Bild auf den Bildsensor 14,
verarbeitet das Bild und speichert das verarbeitete Bild vorläufig im
RAM 28. Die Protokollschicht 86 überwacht
die digitale Kamera 10, die reagiert, wenn das Bild erfasst
und gespeichert ist. Dann wird das Bild automatisch von der digitalen
Kamera 10 zum Hostrechner 40 übertragen und in dessen Speicher
(z.B. RAM 58 oder Festplatte 56) gespeichert und
dem Benutzer auf dem Monitor 52 des Hostrechners 40 angezeigt.
Somit kann der Benutzer durch einfaches Öffnen der entsprechenden Bilddatei
die digitale Kamera 10 anweisen, ein neues Bild aufzunehmen,
und das erfasste Bild sofort entweder an Ort und Stelle oder über ein
Netzwerk auf dem Hostrechner 40 anzeigen.
-
Erfindungsgemäß identifiziert
und überträgt der Hostrechner 40 selektiv
mindestens eine von der digitalen Kamera 10 erfasst Bilddatei,
die ein digitales Bild und mindestens ein Audiodatensegment enthält. Nach
dem Speichern der erfassten Bilddatei in der entnehmbaren Speicherkarte 30 der
digitalen Kamera 10 wird die digitale Kamera 10 über das
Schnittstellenkabel 36 mit dem Hostrechner 40 verbunden. Der
Hostrechner 40 identifiziert die erfasste Bilddatei und
erkennt das in der entnehmbaren Speicherkarte 30 gespeicherte
digitale Bild und das Audiodatensegment.
-
In 3B sind
auf dem Monitor 52 des Hostrechners 40 mindestens
zwei Icons vorhanden, die jeweils das digitale Bild und das Audiodatensegment repräsentieren.
Die digitale Bilddatei erscheint als Datei P0000047.jpg.
-
Obwohl
P0000047.jpg eine einzelne Datei ist, wird das Audiodatensegment
zusätzlich
zur Bilddatei als eigenständige
Wellendatei P0000047.wav dargestellt. Der Benutzer kann so selektiv
auf das Icon des digitalen Bildes oder das Icon des Audiodatensegments
zugreifen, um zu veranlassen, dass das digitale Bild oder das Audiodatensegment
von der entnehmbaren Speicherkarte 30 der digitalen Kamera 10 zum
Hostrechner 40 übertragen
wird.
-
In 4A ist
die Bilddateistruktur für
den Fall dargestellt, dass kein Ton zusammen mit dem Bild aufgezeichnet
wurde (z.B. Datei P0000046.jpg in 3B). In 4B ist
die Bilddateistruktur für
den Fall dargestellt, dass Ton zusammen mit dem Bild aufgezeichnet
wurde. Es ist dies die Datei P0000047.jpg in 3B. Obwohl
P0000047.jpg eine einzelne Datei ist, wird der Ton wie in 3B dargestellt
neben der Bilddatei als Wellendatei P0000047.wav dargestellt.
-
Wenn
der Benutzer ein Audiodatensegment einer bestimmten Bilddatei öffnet, z.B.
durch Doppelklick auf den Icon der Datei P0000047.wav in 3B,
um diese Audiodatei mittels des vorgegebenen Tonwiedergabegeräts abzuspielen, übermittelt die
Win32 API 71 eine Lese-Anforderung an die IFS 70.
Anhand der beiden zuvor beschriebenen Übertragungssituationen wird
dann festgestellt, wie mit der angeforderten Bilddatei verfahren
werden soll. Wenn die Audiodaten segment-Datei noch nicht an den Hostrechner 40 übertragen
wurde, empfängt
die Protokollschicht 86 die Lese-Anforderung und stellt
die zugehörige
Bilddatei fest. Dann liest die Protokollschicht 86 nur
das Audiodatensegment der entsprechenden Bilddatei auf der entnehmbaren
Speicherkarte 30 der digitalen Kamera 10 und bringt
es in die geeignete Form.