DE10234128A1 - Bandbreitenverwaltung für paketierte Bilddaten - Google Patents

Bandbreitenverwaltung für paketierte Bilddaten

Info

Publication number
DE10234128A1
DE10234128A1 DE10234128A DE10234128A DE10234128A1 DE 10234128 A1 DE10234128 A1 DE 10234128A1 DE 10234128 A DE10234128 A DE 10234128A DE 10234128 A DE10234128 A DE 10234128A DE 10234128 A1 DE10234128 A1 DE 10234128A1
Authority
DE
Germany
Prior art keywords
segments
precedence
data
records
record
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.)
Withdrawn
Application number
DE10234128A
Other languages
English (en)
Inventor
Tim Goldstein
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10234128A1 publication Critical patent/DE10234128A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Communication Control (AREA)

Abstract

Ein Verfahren, eine Vorrichtung und ein computerlesbares Medium zum Kommunizieren einer Mehrzahl von Datensätzen zwischen einer Quelle und einem Zielpunkt. Die Technologie umfaßt ein Segmentieren jedes Datensatzes in eine Mehrzahl von Segmenten und ein Zuordnen einer Übertragungspräzedenz zu jedem der Segmente gemäß dem Datensatz, von dem sie stammte. Die Segmente werden dann in der Reihenfolge der zugeordneten Präzedenz übertragen, wodurch Segmente einer niedrigeren Präzedenz während der Leerlaufübertragungszeit zwischen Segmenten höherer Präzedenz übertragen werden.

Description

  • Diese Offenbarung bezieht sich allgemein auf Multiplexkommunikationen und spezieller auf eine priorisierte Warteschlangenanordnung für paketierte Bilddaten.
  • Punkt-zu-Punkt-Netzwerke müssen während ihres betriebsamsten Zeitraums allgemein eine ausreichende Kapazität zur Handhabung des gesamten "Kommunikationsverkehrs" aufweisen. Bei herkömmlichen leitungsgeschalteten Telefonnetzwerken gibt es üblicherweise an jedem Vormittag eines Wochentags eine "betriebsame Stunde" (busy hour), wenn der Kommunikationsverkehr seinen Höchststand erreicht hat. Sobald jedoch dieser Wochentag vorüber ist, fällt die Nutzungsrate um etwa 2 Uhr morgens jäh auf einen Niedrigstand von etwa 0,2% der Kapazität ab. Folglich müssen viele Telefonschaltungen mit einer Überschußkapazität konzipiert sein, die niemals voll ausgenutzt werden kann.
  • Speicher- und Weiterleitungskommunikationssysteme, wie z. B. Telex, weisen im Verlauf des Tages im allgemeinen gleichmäßigere Nutzungsraten auf. Solche "nachrichtengeschalteten" Netzwerke erfordern jedoch, daß jede Nachricht in ihrer Gesamtheit gesendet wird, bevor andere Nachrichten zur Übertragung in eine Warteschlange eingereiht werden. Folglich werden sich bestimmte Nachrichten stets verzögern, speziell, wenn ältere Nachrichten in der Warteschlange ziemlich groß sind. Ferner bestehen ständig Bedenken, daß die in der Warteschlange eingereihte Nachricht während Zeiten mit Spitzennutzungsraten keinen Platz mehr in der Speicherungseinrichtung findet.
  • Paketnetzwerke versuchen, die Unmittelbarkeit und unausgeschöpfte Nutzung von Punkt-zu-Punkt-Netzwerken gegenüber der niedrigeren Geschwindigkeit und den höheren Nutzungsraten von Speicherungs- und Weiterleitungsnetzwerken auszugleichen. Bei einem Paketnetzwerk wird jede Nachricht oder jeder "Datensatz" in mehreren "Segmenten" (die als Pakete, Rahmen oder Blöcke bezeichnet werden) durch einen Prozeß der "Segmentierung" an einem Ende der Kommunikationsschaltung und der "Neuanordnung" an dem anderen Ende der Schaltung übertragen. Jedes Segment von Daten ist typischerweise mit Adreß- und Steuerungsinformationen "verkapselt", so daß die Segmente von verschiedenen Quellen auf den gleichen Schaltungen getragen werden können. Jedes Segment empfängt auch eine "Sequenznummer", um die Neuanordnung am Bestimmungsort zu erleichtern.
  • Verschiedene Kommunikationsstandards oder "Protokolle" sind für paketgeschaltete Netzwerke entwickelt worden. Zum Beispiel basieren viele "WAN"-Protokolle (WAN = wide area network = weites Netz) auf dem Referenzmodell der OSI (OSI = Open System Interconnection = offene Systemverbindung) und auf Gruppen von Spezifikationen, wie den Protokollen des ISDN (ISDN = Integrated Services Digital Network = diensteintegriertes digitales Netz), des ATM (ATM = Asynchronous Transfer Mode = asynchroner Übertragungsmodus), der FDDI (FDDI = Fiber Distribution Interface = Faserverteilungsschnittstelle), des SONET (SONET = Synchronous Optical Network = synchrones optisches Netzwerk) und des VSAT (VSAT = Very Small Aperture Terminal = Bodenstation mit sehr kleinem Antennendurchmesser). Andere Protokolle sind für LANs (LAN = local area network = lokales Netzwerk) implementiert worden, die Konfigurationsstandards wie CSMA (CSMA = Carrier Sense Multiple Access = Trägererfassungsmehrfachzugriff), Ethernet und verschiedene Token-Ring- Konfigurationsstandards umfassen. Jeder dieser Standards wird durch Bezugnahme hierin aufgenommen.
  • Diese kleineren Netzwerke sind häufig zu größeren Netzwerken zueinander verbunden, auf die nur durch die Mitglieder von kleineren Netzwerken mit einer Autorisierung oder "Intranets" zugegriffen werden kann. Das Internet ist das größte von miteinander verbundenen paketgeschalteten Netzwerken und umfaßt Tausende von Netzwerken, die durch Netzübergänge (Gateways) und Router miteinander verbunden sind, die Segmente zwischen verschiedenen "Host"-Computern gemäß der TCP/IP-Reihe (TCP/IP = Transmission Control Protocol over Internet Protocol = Übertragungssteuerungsprotokoll über das Internetprotokoll), die in den Standards 5, 7 dargelegt sind, und weiteren RFCs (RFC = request for comment = Kommentaranforderung) der IETF (IETF = Internet Engineering Task Force = Internet-Technik-Einsatzbelegschaft), die hiermit durch Bezugnahme in diese Offenbarung aufgenommen werden, weiterleiten. Das IP (bzw. Internet-Protokoll) liefert Richtlinien für die "Fragmentierung" (Segmentierung), die Adressierung und das Leiten von "Datagram"- Paketsegmenten, während das TCP (bzw. Übertragungssteuerungsprotokoll) Zuverlässigkeits-, Multiplex- und Flußsteuerungs-Parameter hinzufügt.
  • Das IP-Datagram-Format umfaßt einen "QoS"-Parameter ("QoS"; QoS = quality of service = Dienstgüte). Speziell ist ein "Dienstart"-Feld in jedem Datagram mit einer Dienstpräzedenzanzeige vorgesehen, damit einem Hochpräzedenzverkehr mehr Bedeutung eingeräumt wird als dem anderen Verkehr. Dieses Protokoll legt nahe, daß dies durch Akzeptieren von ausschließlich eines Verkehrs über einer bestimmten Präzedenz während Hochlastzeiten implementiert werden kann. Der Diensttyp ist in den RFCs 1122 und 1349, die hierin ebenfalls durch Bezugnahme aufgenommen worden sind, ausführlicher beschrieben.
  • Die "Flußsteuerung" bezieht sich auf die Verwaltung des Datenflusses von der Quelle zum Bestimmungsort, um die volle Kapazität aller Komponenten in dem Kommunikationssystem beizubehalten. Die Flußsteuerung kann mit einer Hardware, Software oder einer Kombination aus denselben erreicht werden. Typischerweise weist der Empfänger am Bestimmungsort einen Speicherpuffer einer festen Größe auf, in den die Daten geschrieben werden, sobald sie empfangen worden sind.
  • Wenn der Betrag von gepufferten Daten einen bestimmten Pegel nahe der Kapazität des Puffers überschreitet, signalisiert der Empfänger dem Sender an der Quelle, die Übertragen einzustellen, bis ein bestimmter Betrag von Daten aus dem Puffer gelesen worden ist und die Pufferkapazität wiederhergestellt worden ist. An diesem Punkt signalisiert der Empfänger typischerweise dem Sender, die Übertragung wiederaufzunehmen, um wieder mit dem Befüllen des Puffers zu beginnen.
  • Zum Beispiel basiert der Flußsteuerungsmechanismus in dem TCP auf einem "Fenster", das ein zusammenhängendes Intervall von sequenznumerierten Datagrammen definiert, die ein Empfänger ohne Überlaufen seines Puffers akzeptieren kann. Da die Daten durch den Empfänger akzeptiert werden, wird die Bestätigung zurück an den Sender in Form der höchsten Sequenzanzahl gesendet, die der Empfänger empfangen kann, ohne Probleme hervorzurufen. Wenn der Puffer voll bleibt, kann der Empfänger einfach mehrere Bestätigungen mit dem gleichen Fenster senden. In diesem Fall kann ein "Zeitablauf" ("timeout") auftreten oder eine letzte Verbindung erfolgen, die zu einer Leerlaufzeit zwischen dem Sender und dem Empfänger führt. Dieser Typ von Leerlaufzeit ist eine bedeutsame Quelle von Datenübertragungsverzögerungen, speziell, wenn alle der Hochprioritätssegmente in einer Warteschlange vor Segmenten mit niedrigerer Priorität versendet werden müssen.
  • Zum Beispiel wird das U.S.-Patent Nr. 6.018.515 durch Bezugnahme in diese Offenbarung aufgenommen und beschreibt ein Nachrichtenpufferungssystem für eine priorisierte Nachrichtenübertragung und Stauungsverwaltung (Überlastverwaltung), die für unterschiedliche Kommunikationsanwendungen konfigurierbar ist. Eine Mehrzahl von Puffern ist an einem Kommunikationspunkt mit unterschiedlichen Puffern entsprechend unterschiedlichen Nachrichtenprioritäten vorgesehen. Die Puffer können z. B. FIFO-Puffer sein (FIFO = First-In- First-Out = zuerst-hinein-zuerst-hinaus). Nachrichten, die von dem Kommunikationspunkt übertragen werden sollen, werden verarbeitet, um die Priorität von jeder Nachricht zu bestimmen. Jede Nachricht wird in einem von der Mehrzahl von Puffern entsprechend ihrer bestimmten Priorität gespeichert. Die Nachrichten werden dann, ausgehend von dem Puffer mit der höchsten Priorität, unter Fortsetzung zu dem Puffer der nächsten Priorität usw., übertragen.
  • Das U.S.-Patent Nr. 6.205.150 wird ebenfalls durch Bezugnahme aufgenommen und offenbart ein Verfahren zur Zeitplanung von Datensegmenten niedrigerer und höherer Priorität in einem Netzwerksystem. Das Verfahren erlaubt, daß eine Netzwerkvorrichtung, die Reihenfolge, in der die Datensegmente auf einem Netzwerksystem unter Verwendung von mehreren Warteschlangen gesendet und empfangen werden, plant. Während die Netzwerkvorrichtung die Datensegmente empfängt, ordnet die Netzwerkvorrichtung die Datensegmente in einer ersten Warteschlange an und sortiert die Datensegmente als Datensegmente höherer und niedrigerer Priorität basierend auf einer Übertragungsfrist von jedem Datenpaket. Folglich ordnet die Netzwerkvorrichtung die Datensegmente höherer Priorität in einer zweiten Warteschlange und die Datensegmente niedrigerer Priorität in einer dritten Warteschlange an. Die Netzwerkvorrichtung plant die Datensegmente für die Ausführung in einer zweiten Warteschlange unter Verwendung eines ersten Planungsverfahrens ein, während ein zweites Planungsverfahren verwendet wird, um die Datensegmente in der dritten Warteschlange einzuplanen. Wenn eine Übertragungsfrist für ein Datenpaket niedrigerer Priorität in der dritten Warteschlange abläuft, befördert die Netzwerkvorrichtung ein Datenpaket für eine Umplanung von der dritten Warteschlange zur zweiten Warteschlange.
  • Sogar bei priorisierten Puffern kann es während der Leerlaufzeit zwischen Segmenten von dem Puffer höchster Priorität, der zu einem beliebigen speziellen Zeitpunkt genutzt wird, immer noch Verzögerungen geben.
  • Es ist eine Aufgabe der Erfindung, ein Verfahren, eine Vorrichtung und ein computerlesbares Medium zur Bandbreitenverwaltung für paketierte Bilddaten zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, eine Vorrichtung gemäß Anspruch 5 sowie ein computerlesbares Medium gemäß Anspruch 9 gelöst.
  • Diese und andere Nachteile der herkömmlichen Technologie werden hierin angegangen, indem ein Verfahren, eine Vorrichtung und ein computerlesbares Medium zum Kommunizieren einer Mehrzahl von Datensätzen zwischen einer Quelle und einem Bestimmungsort geschaffen werden. Die Technologie umfaßt das Segmentieren eines jeden Datensatzes in eine Mehrzahl von Segmenten und ein Zuordnen einer Übertragungspräzedenz zu jedem der Segmente gemäß dem Datensatz, aus dem es stammte. Die Segmente werden dann in der Reihenfolge der zugeordneten Präzedenz übertragen, wodurch Segmente einer niedrigeren Präzedenz während der Leerlaufübertragungszeit zwischen Segmenten höherer Präzedenz übertragen werden.
  • Die Erfindung kann unter Bezugnahme auf die nachstehenden Zeichnungen besser verstanden werden. Die Komponenten in den Zeichnungen sind nicht notwendigerweise maßstabsgetreu, wobei statt dessen Wert auf eine deutliche Darstellung der Grundsätze der vorliegenden Erfindung gelegt wurde. Außerdem bezeichnen in den Zeichnungen identische Bezugszeichen die entsprechenden Teile in den verschiedenen Ansichten. Es zeigen:
  • Fig. 1 eine schematische Ansicht eines Ausführungsbeispiels einer Kamera gemäß der vorliegenden Erfindung,
  • Fig. 2 eine schematische Ansicht eines Ausführungsbeispiels eines Datenübertragungssystems, das die Kamera, wie jene, die in Fig. 1 gezeigt ist, umfaßt,
  • Fig. 3 ein exemplarisches Flußdiagramm des Datenübertragungssystems von Fig. 2 und
  • Fig. 4 ein exemplarisches Zeitdiagramm für das Datenübertragungssystem von Fig. 2.
  • Fig. 1 ist ein schematisches Diagramm eines Ausführungsbeispiels einer Kamera 100 gemäß der vorliegenden Erfindung. Obwohl Fig. 1 als eine digitale Kamera zum Aufnehmen von Standphotos dargestellt ist, kann eine Vielfalt von anderen Kameras, die Filmkameras, Videokameras, Laufbildkameras und andere Vorrichtungen umfassen, die Bildinformationen erfassen und/oder aufzeichnen, ähnlich konfiguriert sein. Andere Typen von Datenerfassungsvorrichtungen können neben Bilddatenerfassungsvorrichtungen ebenfalls verwendet werden, die Tonaufnahmegeräte zum Erfassen von Audiodaten, Energieaufnahmegeräte zum Erfassen von Energiedaten, wie Temperatur, Druck, Fluß, Spannung und/oder Strom, und persönliche digitale Assistenten zum Erfassen von persönlichen Daten (Ansprechpartner, Termine etc.) umfassen können.
  • Die Kamera 100 umfaßt einen Körper 105, der eine Linse 110, eine Verschlußaktivierung 115, einen Blitz 120, einen Sucher 125 und einen Steuerungsknopf 130 trägt. Die Kamera 100 kann auch mit einer Vielfalt von anderen Komponenten wie einem Lichtsensor, einem Entfernungsmesser, einer Brennweitenkontrolle, einem Mikrophon und anderen Merkmalen versehen sein.
  • In dem Körper 105 ist ein Blockdiagramm von bestimmten Komponenten zum Implementieren eines Verwaltungssystems 140 zum Verwalten verschiedener Betriebsaspekte der Kamera 100, die nachstehend ausführlicher beschrieben ist, gezeigt. Das Kameraverwaltungssystem 140 kann in vielen verschiedenen elektrischen, elektronischen, computertechnischen, mechanischen und/oder manuellen Konfigurationen implementiert sein. Bei einem bevorzugten Ausführungsbeispiel ist das Verwaltungssystem 140 jedoch zumindest teilweise computerisiert, wobei verschiedene Aspekte des Systems durch eine Software, Hardware, Firmware oder eine Kombination aus denselben implementiert sind.
  • Im Hinblick auf die Hardwarearchitektur umfaßt das Verwaltungssystem 140 vorzugsweise einen Prozessor 150 und einen Speicher 160, die mit ein oder mehreren Eingabe- und/oder Ausgabevorrichtungen (I/O-Vorrichtungen, I/O = input/output), wie z. B. einem Lichtsensor 170, einem Datenport 180, einem Schalter 130, einem Blitz 120 und/oder einer Verschlußsteuerung 115 verbunden sind. Jede der I/O- Vorrichtungen ist über eine lokale Schnittstelle 190 mit dem Prozessor 150 kommunikativ gekoppelt. Der Einfachheit halber sind jedoch die Schnittstelle 190 für den Blitz 120 und die Verschlußsteuerung 115 nicht in Fig. 1 gezeigt.
  • Die lokale Schnittstelle 190 kann ein oder mehrere Busse oder andere verdrahtete Verbindungen, die in der Technik bekannt sind, umfassen. Obwohl in Fig. 1 nicht gezeigt, kann die Schnittstelle 190 andere Kommunikationselemente wie Steuerungen, Puffer- (Cache-) Treiber, Repeater und/oder Empfänger aufweisen. Es können verschiedene Adreß- Steuerungs- und/oder Datenverbindungen zu der lokalen Schnittstelle 190 vorgesehen sein, um Kommunikationen unter den verschiedenen Komponenten des Kameraverwaltungssystems 140 zu ermöglichen. Der Datenport 180 ist eine externe Schnittstelle zum Kommunizieren mit der lokalen Schnittstelle 190. Zum Beispiel kann der Port 180 ein Behältnis zum Empfangen eines (elektrischen oder optischen) Kabels oder eine elektromagnetischen Sensors für drahtlose Kommunikationen sein.
  • Der Speicher 160 kann flüchtige Speicherelemente (z. B. einen Direktzugriffsspeicher oder "RAM" wie einen DRAM, SRAM etc.), nichtflüchtige Speicherelemente (z. B. Festplatte, Band, Nur-Lese-Speicher oder "ROM", CDROM etc.) oder eine beliebige Kombination aus denselben aufweisen. Der Speicher 160 kann auch elektronische, magnetische, optische und/oder andere Typen von Speichervorrichtungen umfassen. Eine verteilte Speicherarchitektur, in der verschiedene Speicherkomponenten entfernt voneinander angeordnet sind, kann ebenfalls verwendet werden.
  • Der Prozessor 150 ist vorzugsweise ein Hardwarevorrichtung zum Implementieren einer Software, die in dem Speicher 160 gespeichert ist. Der Prozessor 150 kann ein beliebiger kundenspezifisch gefertigter oder im Handel erhältlicher Prozessor sein, der halbleiterbasierte Mikroprozessoren (in Form eines Mikrochips) und/oder Makroprozessoren umfaßt. Der Prozessor 150 kann eine zentrale Verarbeitungseinheit (CPU = central processing unit) oder ein Hilfsprozessor unter mehreren Prozessoren sein, die der Kamera 100 zugeordnet sind. Beispiele von geeigneten im Handel erhältlichen Mikroprozessoren umfassen die McKinley-Prozessor- und die PA-RISC-Reihe von Mikroprozessoren von der Firma Hewlett- Packard, USA, die 80 × 86- und die Pentium-Reihe von Mikroprozessoren der Firma Intel, USA, die PowerPC- Mikroprozessoren von der Firma IBM, USA, die Sparc- Mikroprozessoren von Sun Microsystems, Inc., und die 68xxx- Reihe von Mikroprozessoren von der Firma Motorola, USA, sind jedoch nicht auf dieselben beschränkt.
  • Der Speicher 160 speichert die Software in Form von Anweisungen und/oder Daten zur Verwendung durch den Prozessor 150. Die Anweisungen umfassen allgemein ein oder mehrere separate Programme, von denen jedes eine geordnete Auflistung von ausführbaren Anweisungen zum Implementieren von ein oder mehreren logischen Funktionen aufweist. Die Daten umfassen allgemein ein oder mehrere gespeicherte Datensätze, die separaten Bildern entsprechen, die durch die Kamera 100 erfaßt worden sind. Andere Daten können ebenfalls enthalten sein, wie z. B. eine Besitzer- oder Seriennummeridentifizierung, Kreditkartendaten und/oder Benutzereinstellungsdaten. In dem speziellen Beispiel, das in Fig. 1 gezeigt ist, umfaßt die Software, die in dem Speicher 160enthalten ist, ein geeignetes Betriebssystem 162 ("O/S" = operating system) zusammen mit gespeicherten Daten 164, ein Kommunikationssystem 166 und alle gepufferten Daten 168, die nachstehend ausführlicher beschrieben sind.
  • Das Betriebssystem 162 implementiert die Ausführung von anderen Computerprogrammen wie der Kommunikation 166 und stellt Planungs-, Eingabe-Ausgabesteuerungs-, Datei- und Datenverwaltungs-, Speicherverwaltungs-, Kommunikationssteuerungs- und andere verwandte Dienste bereit. Verschiedene im Handel erhältliche Betriebssysteme 160 können verwendet werden, die das DigitaOS-Betriebssystem von Flashpoint Technologies, USA, das Windows-Betriebssystem von Microsoft, USA, das Netware-Betriebssystem von Novell, Inc., USA, und verschiedene UNIX-Betriebssysteme, die bei Anbietern wie der Firma Hewlett-Packard, USA, Sun Microsystems, Inc., USA, und der AT & T Corporation, USA, erhältlich sind, umfassen, jedoch nicht auf dieselben beschränkt sind.
  • In der Architektur, die in Fig. 1 gezeigt ist, kann das Kommunikationssystem 166 ein Quellenprogramm (oder "Quellencode"), ein ausführbares Programm ("Objektcode"), ein Skript oder jede andere Entität sein, die einen Satz von Anweisungen aufweist, die, wie nachstehend ausführlicher beschrieben ist, ausgeführt werden sollen. Um mit einem speziellen Betriebssystem 162 zu arbeiten, wird jeder Quellencode über einen herkömmlichen Kompilierer, Assembler, Interpretierer oder dergleichen typischerweise in einen Objektcode übersetzt, der in dem Speicher 160 umfaßt sein kann (oder nicht). Das Kommunikationssystem 166 kann unter Verwendung einer objektorientierten Programmiersprache mit Klassen von Daten und Verfahren und/oder einer Prozedurprogrammiersprache mit Routinen, Teilroutinen und/oder Funktionen geschrieben sein. Zum Beispiel umfassen geeignete Programmiersprachen z. B. C, C++, Pascal, Basic, Fortran, Cobol, Perl, Java und Ada, sind jedoch nicht auf dieselben beschränkt.
  • Wenn die Kommunikation 166 und/oder das Betriebssystem 162 in einer Software implementiert sind, können sie auf jedem computerlesbaren Medium zur Verwendung durch oder in Verbindung mit jedem computerbezogenen System oder Verfahren gespeichert sein, wie dem Verwaltungssystem 140 auf der Kamera 100 oder einem Emulator für dieses System. In dem Kontext dieses Dokuments umfaßt ein "computerlesbares Medium" jede elektronische, magnetische, optische oder andere physische Vorrichtung oder Einrichtung, die ein Computerprogramm zur Verwendung durch oder in Verbindung mit einem computerbezogenen System oder Verfahren enthalten oder speichern kann. Das computerbezogene System kann ein beliebiges Anweisungsausführungssystem-, Gerät oder Anweisungsausführungsvorrichtung, wie z. B. ein computerbasiertes System, prozessorenthaltendes System oder anderes System sein, das die Anweisungen von dem Anweisungsausführungssystem-, Gerät oder der Anweisungsausführungsvorrichtung holen und dann diese Anweisungen ausführen kann. Daher kann in dem Kontext dieses Dokuments ein computerlesbares Medium eine beliebige Einrichtung sein, die das Programm zur Verwendung durch das oder in Verbindung mit dem Anweisungsausführungssystem-, Gerät oder der Anweisungsausführungsvorrichtung speichert, kommuniziert, ausbreitet oder transportiert.
  • Zum Beispiel kann das computerlesbare Medium eine Vielfalt von Formen annehmen, die ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem-, Vorrichtung, Gerät oder Ausbreitungsmedium umfassen, jedoch nicht auf dieselben beschränkt sind. Mehr spezifische Beispiele eines computerlesbaren Mediums umfassen ohne Einschränkung eine elektrische Verbindung (elektronisch) mit einem oder mehreren Drähten, eine Diskette (magnetisch) eines tragbaren Computers, einen Direktzugriffsspeicher (RAM; RAM = random access memory) (elektronisch), einen Nur-Lese-Speicher (ROM; ROM = read-only memory) (elektronisch), einen löschbaren und programmierbaren Festwertspeicher (EPROM (EPROM = erasable programmable read- only memory), EEPROM (EEPROM = electrically erasable programmable read-only memory) oder Flash-Speicher) (elektronisch), eine optische Faser (optisch) und einen tragbaren Kompakt-Disk-Nur-Lese-Speicher (CDROM; CDROM = compact disk read-only memory) (optisch). Das computerlesbare Medium könnte sogar Papier oder ein anderes geeignetes Medium sein, auf dem das Programm gedruckt ist, da das Programm elektronisch erfaßt, z. B. über optisches Erfassen oder Abtasten des Papiers, und dann kompiliert, interpretiert oder anderweitig in einer geeigneten Weise verarbeitet werden kann, bevor es in dem Speicher 160 gespeichert wird.
  • Bei einem weiteren Ausführungsbeispiel, wo entweder das Betriebssystem 162 oder das Kommunikationssystem 168 oder beide zumindest teilweise in einer Hardware implementiert sind, kann das Kameraverwaltungssystem 140 unter Verwendung einer Vielfalt von Technologien implementiert sein, die diskrete logische Schaltungen mit logischen Gattern zum Implementieren von logischen Funktionen auf Datensignale hin, anwendungsspezifische integrierte Schaltungen (ASIC; ASIC = application specific integrated circuit) mit geeigneten kombinatorischen logischen Gattern, programmierbare Gatterarrays (PGA; PGA = programmable gate array) und/oder feldprogrammierbare Gatterarrays (FPGA) umfassen können, jedoch nicht auf dieselben beschränkt sind.
  • Sobald auf das Verwaltungssystem 140 zugegriffen wird, führt der Prozessor 150 Anweisungen in dem Betriebssystem 162 aus, die in dem Speicher 160 gespeichert sind. Der Prozessor 150 empfängt und führt weitere Anweisungen in Verbindung mit den gespeicherten Daten 164, den gepufferten Daten 168 und jeder I/O-Vorrichtung aus, um das System 140 gemäß den Anweisungen und den in der Software und/oder Hardware enthaltenen Daten allgemein zu betreiben, wie nachstehend im Hinblick auf Fig. 2 bis 4 beschrieben ist.
  • Fig. 2 ist eine schematische Ansicht eines Ausführungsbeispiels eines Datenübertragungssystems 200 zwischen einer Kamera und einer Recheneinrichtung, wie jenen, die in Fig. 1 gezeigt sind, nämlich der Kamera 100 (Quelle) und einem Computer 240 (Bestimmungsort). Der Datenport 180 (Sender) der Kamera 100 ist mit einer Datenleitung 290 verbunden, die zu dem Computer 240 führt. Obwohl die Datenleitung 290 in Fig. 2 als ein Kabel dargestellt ist, können eine Vielfalt von anderen verdrahteten, drahtlosen und/oder anderen Kommunikationstechnologien verwendet werden, um die Daten von der Kamera 100 an den Computer 240 zu übertragen. Der Datencomputer 240 umfaßt vorzugsweise einen Speicher 260 (Empfänger) mit mehreren Puffern zum Empfangen von Daten mit unterschiedlichen Prioritäten. Der Computer 240 kann z. B. eine Einzelzelle sein, die Kamerabenutzern ermöglicht, priorisierte Sätze von gespeicherten Daten 164 zu drucken und/oder von dem Speicher 160 und der Kamera 100 an einen Hoch-Puffer 268 von hoher Priorität und einen Niedrig- Puffer 269 von niedrigerer Priorität zu senden. Zusätzliche Prioritäten und/oder Puffer können ebenfalls vorgesehen sein und/oder ein einzelner Puffer kann mit Daten mit unterschiedlichen Prioritäten verwendet werden.
  • Fig. 3 ist ein Flußdiagramm für ein Ausführungsbeispiel des Kommunikationssystems 166. Fig. 4 stellt ein exemplarisches Zeitdiagramm dar, das vorzugsweise dem Flußdiagramm in Fig. 3 entspricht. Spezieller zeigt Fig. 3 die Architektur, die Funktionalität und den Betrieb eines Ausführungsbeispiels eines Softwaresystems 300 gemäß der vorliegenden Erfindung zum Implementieren des Kommunikationssystems 166 mit dem Verwaltungssystem 140. Wie jedoch vorstehend angemerkt ist, kann eine Vielfalt von anderen Computer-, elektrischen, elektronischen, mechanischen und/oder manuellen Systemen ähnlich konfiguriert sein.
  • Jeder Block in Fig. 3 stellt eine Aktivität, einen Schritt, ein Modul, ein Segment oder einen Abschnitt eines Computercodes dar, der typischerweise ein oder mehrere ausführbare Anweisungen zum Implementieren der spezifischen logischen Funktionen aufweist. Es wird ebenfalls darauf hingewiesen, daß bei verschiedenen alternativen Ausführungsbeispielen die Funktionen, die in den Blöcken angemerkt sind, außerhalb der Reihenfolge, die in Fig. 3 angemerkt ist, erfolgen. Zum Beispiel können mehrere Funktionen in unterschiedlichen Blöcken im wesentlichen gleichzeitig, in einer anderen Reihenfolge, unvollständig und/oder über einen verlängerten Zeitraum abhängig von der involvierten Funktionalität ausgeführt werden. Verschiedene Schritte können manuell beendet werden.
  • In dem Flußdiagramm 300, das in Fig. 3 gezeigt ist, werden die gespeicherten Bilddaten 164 bei Schritt 310 zuerst zu einer Mehrzahl von Datensätzen segmentiert. Zum Beispiel kann jedes erfaßte Bild in der Kamera 100 unter Verwendung von verschiedenen Kommunikationsprotokollen, wie z. B. des IP-Protokolls zum Segmentieren von Datensätzen in Datagramme, in Pakete, Rahmen und/oder Blöcke aufgeteilt werden. Bei Schritt 320 wird einigen oder allen der Segmente eine Übertragungspräzedenz zugeordnet. Zum Beispiel kann einem Segment von einem speziellen Bild, das an einer Zelle (Kiosk) oder anderen Computer 240 zur Reproduktion und/oder Speicherung übertragen wird, eine hohe Übertragungspräzedenz zugeordnet werden. Es kann davon ausgegangen werden, daß die Segmente für die verbleibenden Bilddatensätze eine niedrigere Präzedenz aufweisen oder tatsächlich einer niedrigeren Präzedenz zugeordnet werden.
  • Die Übertragungspräzedenz wird vorzugsweise gemäß den Bilddatensätzen, aus denen sie segmentiert wurde, zugeordnet. Zum Beispiel kann allen Segmenten von dem Bilddatensatz mit der höchsten Priorität, die durch den Computer 240 verarbeitet werden sollen, die höchste Präzedenz eingeräumt werden. Segmente von allen anderen Datensätzen wird eine niedrigere Präzedenz eingeräumt. Alternativ können den Segmenten von mehr als einem Datensatz eine hohe Präzedenz eingeräumt werden und/oder mehr als ein Präzedenzpegel kann anderen Segmenten des gleichen Datensatzes zugeordnet werden.
  • Bei Schritt 330 werden einige oder alle der Segmente mit einer zugeordneten Präzedenz in einem Speicherpuffer in der Kamera 100 angeordnet. Der Speicherpuffer kann ein Abschnitt des Speichers 160 sein, wie in Fig. 1 gezeigt ist, oder separat von dem Speicher 160 sein. Segmente mit anderen Präzedenzpegeln werden vorzugsweise in anderen Sektionen des Speichers 160 oder anderen Speicherpuffern gespeichert, um einen schnelleren Zugriff auf die gepufferten Daten 168 zu liefern. Segmente mit einer anderen Übertragungspräzedenz können auch in den gleichen Pufferspeicher geladen werden.
  • Bei Schritt 340 werden die gepufferten Daten 168 von der Kamera 100 durch den Datenport 180 über die Datenleitung 290 übertragen, wo sie durch den Speicher 260 im Computer 240, der in Fig. 2 gezeigt ist, empfangen werden. Die Segmente werden vorzugsweise in der Reihenfolge der zugeordneten Präzedenz übertragen, so daß die Segmente einer höheren Präzedenz vor den Segmenten einer niedrigeren Präzedenz übertragen werden. Zusätzlich werden die Segmente einer niedrigeren Präzedenz während der Leerlaufübertragungszeit zwischen Segmenten einer hohen Präzedenz übertragen. Diese Leerlaufzeit kann z. B. durch Aufbereiten der übertragenen Daten oder anderen Betriebsaspekte des Computers 240 bewirkt werden.
  • Unter Bezugnahme auf Fig. 2 werden die Segmente hoher Präzedenz, zum Beispiel und nicht aufgrund einer Einschränkung, vorzugsweise an den Hoch-Puffer 268 übertragen, während die Segmente niedriger Präzedenz vorzugsweise an den Niedrig-Puffer 269 übertragen werden. Durch Bereitstellen von separaten Puffern in dem Speicher 260 können die Segmente niedrigerer Priorität durch den Datenport 180 übertragen und durch den Speicher 260 empfangen werden, wenn der Hoch-Puffer 268 im Leerlauf ist und daher nicht in der Lage ist, zusätzliche Bilddatensegmente einer hohen Präzedenz zu empfangen.
  • Um einen Zeitablauf (timeout) zu verhindern, während die Pakete niedriger Präzedenz warten, kann ein Paket niedriger Präzedenz außerhalb der Sequenz gesendet werden. Zum Beispiel kann das System konfiguriert sein, um ein Paket niedriger Präzedenz nach einer bestimmten Anzahl von Paketen hoher Präzedenz oder nach einer bestimmten Leerlaufzeitdauer zu senden. Verschiedene Verhältnisse zwischen Paketen hoher Präzedenz und Paketen niedriger Präzedenz können ebenfalls verwendet werden. Zum Beispiel und nicht aufgrund einer Einschränkung können für je einhundert übertragende Pakete hoher Präzedenz drei Pakete niedriger Präzedenz gesendet werden (unter der Annahme, daß sich ausreichende Pakete in der Kamera 100 befinden).
  • Fig. 4 stellt ein Beispiel einer Zeitsequenz für den Hoch- Puffer 268 (oben) und den Niedrig-Puffer 269 (unten) dar. Während der Zeit zwischen t1 und t2 ist der Hoch-Puffer 268 im Leerlauf und daher nicht in der Lage, zusätzliche Datensegmente einer hohen Präzedenz zu empfangen. Zum Beispiel kann während der Zeit t1 bis t2 der Hoch-Puffer 268 bis zur maximalen Kapazität befüllt werden. Wie in dem unteren Abschnitt von Fig. 4 gezeigt ist, empfängt der Niedrig-Puffer 269 während der Zeit, wenn der Hoch-Puffer 268 im Leerlauf ist, Datensegmente einer niedrigen Präzedenz. Durch Übertragen von Segmenten einer niedrigen Präzedenz während der Leerlaufübertragungszeit zwischen den Segmenten hoher Präzedenz können mehr Datensätze zwischen der Kamera 100 und dem Computer 250 übertragen werden als erwartet. Diese zusätzlichen Datensätze könnten dann dem Betreiber der Kamera 100 für eine zusätzliche Verarbeitung und/oder Speicherung ohne Beeinträchtigung der Geschwindigkeit des Datenübertragungssystems 200 präsentiert werden.

Claims (12)

1. Verfahren zum Kommunizieren einer Mehrzahl von Datensätzen, das folgende Schritte aufweist:
Segmentieren (310) eines jeden Datensatzes in eine Mehrzahl von Segmenten;
Zuordnen (320) einer Übertragungspräzedenz zu jedem der Segmente gemäß dem Datensatz, von dem es segmentiert wurde; und
Übertragen der Segmente in einer Reihenfolge der zugeordneten Präzedenz, wodurch Segmente niedrigerer Präzedenz während einer Leerlaufübertragungszeit (350) zwischen Segmenten höherer Präzedenz (340) übertragen (360) werden.
2. Verfahren gemäß Anspruch 1, das ferner ein Zuordnen einer Priorität zu zumindest einem der Datensätze aufweist, wodurch Segmenten von jedem solchen Datensatz eine höhere Präzedenz (268) zugeordnet wird.
3. Verfahren gemäß Anspruch 1 oder 2, bei dem die Segmente Internetprotokoll-Datagramme sind.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Datensätze Bilddatensätze sind.
5. Vorrichtung zum Kommunizieren einer Mehrzahl von Datensätzen, die folgende Merkmale aufweist:
eine Einrichtung zum Segmentieren (370) jedes Datensatzes in eine Mehrzahl von Segmenten;
eine Einrichtung zum Zuordnen (320) einer Übertragungspräzedenz zu jedem der Segmente gemäß dem Datensatz, von dem es segmentiert wurde; und
eine Einrichtung zum Übertragen der Segmente in der Reihenfolge der zugeordneten Präzedenz, wodurch Segmente niedrigerer Präzedenz während einer Leerlaufübertragungszeit (350) zwischen Segmenten (340) höherer Präzedenz übertragen (360) werden.
6. Vorrichtung gemäß Anspruch 5, die ferner eine Einrichtung zum Zuordnen einer Priorität zu zumindest einem der Datensätze aufweist, wodurch Segmenten von einem Prioritätsdatensatz eine höhere Präzedenz (268) zugeordnet wird.
7. Vorrichtung gemäß Anspruch 5 oder 6, bei dem die Segmente Internetprotokoll-Datagramme sind.
8. Vorrichtung gemäß einem der Ansprüche 5 bis 7, bei dem die Datensätze Bilddatensätze sind.
9. Computerlesbares Medium zum Kommunizieren einer Mehrzahl von Datensätzen, das folgende Merkmale aufweist:
eine Logik, die konfiguriert ist, um jeden Datensatz in eine Mehrzahl von Segmenten zu segmentieren (310);
eine Logik, die konfiguriert ist, um eine Übertragungspräzedenz jedem der Segmente gemäß dem Datensatz, von dem es segmentiert wurde, zuzuordnen; und
eine Logik, die konfiguriert ist, um die Segmente in der Reihenfolge der zugeordneten Präzedenz zu übertragen, wodurch die Segmente niedrigerer Präzedenz während einer Leerlaufübertragungszeit (350) zwischen Segmenten (340) einer höheren Präzedenz übertragen (360) werden.
10. Computerlesbares Medium gemäß Anspruch 9, das ferner eine Logik (320) aufweist, die zumindest einem der Datensätze eine Priorität zuordnet, wodurch Segmenten von einem Prioritätsdatensatz eine höhere Präzedenz zugeordnet wird.
11. Computerlesbares Medium gemäß Anspruch 9 oder 10, bei dem die Segmente Internetprotokoll-Datagramme sind.
12. Verfahren gemäß einem der Ansprüche 9 bis 11, bei dem die Datensätze Bilddatensätze sind.
DE10234128A 2001-08-13 2002-07-26 Bandbreitenverwaltung für paketierte Bilddaten Withdrawn DE10234128A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/928,317 US20030031206A1 (en) 2001-08-13 2001-08-13 Bandwidth management for packetized image data

Publications (1)

Publication Number Publication Date
DE10234128A1 true DE10234128A1 (de) 2003-03-06

Family

ID=25456076

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10234128A Withdrawn DE10234128A1 (de) 2001-08-13 2002-07-26 Bandbreitenverwaltung für paketierte Bilddaten

Country Status (4)

Country Link
US (1) US20030031206A1 (de)
JP (1) JP2003152819A (de)
DE (1) DE10234128A1 (de)
GB (1) GB2380026B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050134691A1 (en) * 2003-12-23 2005-06-23 Cox Earl C. Method and system for a communication device having a single button photo send
JP4312633B2 (ja) * 2004-03-15 2009-08-12 Okiセミコンダクタ株式会社 送信方法および送信装置
US8325600B2 (en) 2005-12-30 2012-12-04 Intel Corporation Segmentation interleaving for data transmission requests
US20130089080A1 (en) * 2011-10-06 2013-04-11 Cambridge Silicon Radio Limited Data merging for bluetooth devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6447149A (en) * 1987-08-18 1989-02-21 Nec Corp Packet exchange system
US6018515A (en) * 1997-08-19 2000-01-25 Ericsson Messaging Systems Inc. Message buffering for prioritized message transmission and congestion management
JPH11146224A (ja) * 1997-11-07 1999-05-28 Nikon Corp デジタルスチルカメラ
US6584509B2 (en) * 1998-06-23 2003-06-24 Intel Corporation Recognizing audio and video streams over PPP links in the absence of an announcement protocol
GB2344029A (en) * 1998-10-02 2000-05-24 Gen Datacomm Adv Res Transmission of data packets of different size and priority
AU2001293783A1 (en) * 2000-09-29 2002-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for transmitting data
GB0027071D0 (en) * 2000-11-06 2000-12-20 Nokia Networks Oy Data transmission

Also Published As

Publication number Publication date
US20030031206A1 (en) 2003-02-13
GB0218331D0 (en) 2002-09-18
JP2003152819A (ja) 2003-05-23
GB2380026A (en) 2003-03-26
GB2380026B (en) 2005-08-24

Similar Documents

Publication Publication Date Title
DE3856370T2 (de) Vermittlungssystem und Verfahren zur Konstruktion davon
DE69927339T2 (de) Datenübertragungverfahren
DE69731606T2 (de) Anlage und verfahren zur änderung von schwellen für überlastkontrolle in atm-vermittlungsstellen
DE69331309T2 (de) Bandbreitenzuordnung, Übertragungsplanung und Vermeidung von Blockierungen in Breitband Asynchroner-Transfer-Modus Netzwerken
DE69927808T2 (de) Adaptive zuweisungsanlage und-verfahren zur bedienung von mehrstufigen qos in der aal-2 schicht
DE69738359T2 (de) System zur Verbesserung des Datendurchsatzes einer TCP/IP Netzwerkverbindung mit langsamen Rückkanal
DE69534540T2 (de) Apparat und Methode zur Verarbeitung von Bandbreitenanforderungen in einer ATM-Vermittlungsstelle
DE69931052T2 (de) Middleware-basiertes echtzeit-kommunikationssystem
DE69924732T2 (de) Quellknoten fuer ein breitbandnetzwerk mit atm zellen
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE69130286T2 (de) Verfahren zur priorisierung, selektiven ablösung und multiplexierung von schnellen paketen verschiedener verkehrsarten
DE60120830T2 (de) Paketvermittlungssystem und Verfahren
EP0885506B1 (de) Verfahren und anordnung zur übertragung eines datenpakets im ethernet von einer ersten anordnung zu mindestens einer zweiten anordnung
DE60018799T2 (de) Netzwerkvermittlung mit paketfolgesteuerung
EP1646192A2 (de) Paketvermittlungseinrichtung, Plannungsgerät, Entlassung-Kontrollvorrichtung, Mehrfachsübermittlung-Kontrollvorrichtung und Dienstqualität-Kontrollvorrichtung
DE19726076A1 (de) Verfahren und System für eine Overheadbandbreitenrückgewinnung in einem Paketvermittlungsnetz
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes
EP0730362A2 (de) Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung
DE4434724C1 (de) Verfahren und Schaltungsanordnung zum Weiterleiten von einer ATM-Kommunikationseinrichtung zugeführten Nachrichtenzellen
EP0730361A2 (de) Schaltungsanordnung zur Aufnahme und Weiterleitung von Nachrichtenzellen durch eine ATM-Kommunikationseinrichtung
DE69618321T2 (de) Anlage zur Regulierung des ATM-Zellenflusses in einer ATM-Vermittlungsstelle
DE69901170T2 (de) Verfahren zur Erzeugung von ATM Zellen für Anwendungen mit niedriger Bitrate
DE60112680T2 (de) Netzwerkerweiterungsmodul
DE10234128A1 (de) Bandbreitenverwaltung für paketierte Bilddaten
EP0660557A1 (de) Verfahren zum statistischen Multiplexen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8130 Withdrawal