DE60318771T2 - Verwaltung der Softwarekomponenten in einem Bildverarbeitungssystem - Google Patents

Verwaltung der Softwarekomponenten in einem Bildverarbeitungssystem Download PDF

Info

Publication number
DE60318771T2
DE60318771T2 DE60318771T DE60318771T DE60318771T2 DE 60318771 T2 DE60318771 T2 DE 60318771T2 DE 60318771 T DE60318771 T DE 60318771T DE 60318771 T DE60318771 T DE 60318771T DE 60318771 T2 DE60318771 T2 DE 60318771T2
Authority
DE
Germany
Prior art keywords
task
components
component
software
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60318771T
Other languages
English (en)
Other versions
DE60318771D1 (de
Inventor
Hiroaki Yoshio
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE60318771D1 publication Critical patent/DE60318771D1/de
Publication of DE60318771T2 publication Critical patent/DE60318771T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Image Processing (AREA)
  • Facsimiles In General (AREA)

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Bildverarbeitungsvorrichtung zum Durchführen von Video-Bildverarbeitung und betrifft insbesondere die Implementierung einer Bildverarbeitungsfunktion, die den Anforderungen von Benutzern und den Anwendungen entspricht, die sie verwenden.
  • Beschreibung der verwandten Technik
  • In jüngster Zeit haben, mit der Entwicklung fortgeschrittener digitaler Verfahren und Netzwerk-Infrastrukturen Verfügbarkeit und Nutzung von Video-Verteilungssystemen Verbreitung gefunden, die es verschiedenen Betrachtungs- bzw. Durchsucheinrichtungen (browser), wie beispielsweise tragbaren Endgeräten und Personal Computern, ermöglichen, Videoinhalte auf Anforderung oder in Echtzeit zu betrachten bzw. zu durchsuchen. Derartige Systeme sind so gestaltet, dass ein Server gleichzeitig mehrere Videobilder zuführen kann und die Auflösungen oder die Bitraten für den Videoinhalt entsprechend den im Netzwerk vorhandenen Bedingungen oder den Spezifikationen für ein Endgerät ändern kann und so gewährleisten kann, dass Video kontinuierlich und unterbrechungsfrei angezeigt wird.
  • Als Konsequenz der Anforderung von Benutzern ist das Spektrum der Videoverteilungssysteme jedoch erweitert worden, so dass sie alle Systeme abdecken, die von einem System, das "lediglich Video verteilt", über ein System, das "eine Bitrate reguliert oder ein Format umwandelt, um einen Übertragungsknoten zum Verteilen von Video an ein anderes Netzwerk zu nutzen" bis zu einem System reichen, das "eine Videoüberwachung hoher Qualität im Zusammenwirken mit einer Bilderkennungsvorrichtung realisiert". Daher besteht ein Wunsch nach dem Aufbau eines Systems, das es ermöglicht, Funktionen einfach zu erweitern oder an individuelle Anforderungen anzupassen, so dass innerhalb kurzer Zeit ein System entwickelt werden kann, das sich schnell an verschiedene Anforderungen anpassen und diese befriedigen kann.
  • Als Maßnahme wird ein Verfahren verteilter Objekte vorgeschlagen, das eine Formatumwandlungseinrichtung, eine Auflösungs-Umwandlungseinrichtung und eine Bilderkennungs-Einheit bereitstellt, die als unabhängige Objekte zu behandeln sind, sowie eine Eingangs- /Ausgangs-Schnittstelle sowie eine Statusverschiebung, die von allen Objekten gemeinsam genutzt werden, und die so definiert und verwaltet werden, dass das Zurückführen (Recycling) der Objekte verbessert wird, Repräsentative Beispiele dieses Verfahrens sind CORBA (Common Object Request Broker Architecture), das von OMG (Object Management Group) erarbeitet wurde, sowie COM (Component Object Model), das von Microsoft Corp. entwickelt wurde.
  • CORBA ist ein Mechanismus, mit dem der Austausch von Daten durch Objekte in einer verteilten Umgebung implementiert wird, wobei den CORBA-Standards entsprechend erzeugte Objekte kooperieren können, um über ein Netzwerk eine einzelne Funktion selbst in einer ferngesteuerten Umgebung bereitzustellen. COM implementiert im Wesentlichen die gleiche Funktion, und darüber hinaus extrahiert COM, um die Entwicklungseffizienz zu verbessern, automatisch Objekte, die miteinander gekoppelt werden können, d. h. ausgewählte Objekte, und verknüpft diese Objekte sequenziell, um automatisch eine Softwarefunktion zu generieren. Wenn beispielsweise ein Objekt zum Lesen von komprimiertem Video aus einer Datei ausgewählt wird, können ein Objekt zum Decodieren des komprimierten Video und ein Objekt zum Anzeigen des decodierten Video auf einem Monitor automatisch extrahiert werden, um so die automatische Erzeugung von Software mit einer Video-Wiedergabefunktion zu ermöglichen.
  • CLOUARD R ET AL: "BORG: A KNOWLEDGE-BASED SYSTEM FOR AUTOMATIC GENERATION OF IMAGE PROCESSING PROGRAMS" IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, Vol. 21. Nr. 2, Februar 1999 (1999–02), Seiten 128–144 offenbart ein System für automatische Erzeugung von Bildverarbeitungsanwendungen. Auf Basis einer Anforderung, die die Verarbeitung angibt, die ein Benutzer an Bildern durchführen möchte, wird eine Anwendung unter Verwendung von Wissensdatenbanken zusammengesetzt, um die Anforderung in separate Teilaufgaben aufzuteilen. Die Teilaufgaben werden von Operatoren implementiert, die aus einer Bibliothek ausgewählt werden. Daten fließen von dem Ausgang einer Teilaufgabe zum Eingang einer weiteren.
  • Ein Verfahren zum automatischen Generieren von Software mit Videoverarbeitungsfunktion wird auch in JP-A-2000-56958 offenbart. Die Vorrichtung, die das Verfahren zum automatischen Generieren dieser Software verwendet, umfasst, wie in 27 dargestellt, eine Speichervorrichtung 93 zum Speichern mehrerer Softwarekomponenten mit Eingabe-/Ausgabe- Argumente, die zum Verarbeiten von Bilddaten dienen, sowie einen automatischen Generator 90, der die Softwarekomponenten aus der Speichervorrichtung 92 entsprechend Umrissprozeduren extrahiert, mit denen Prozessprozeduren beschrieben werden, und automatisch Bildverarbeitungs-Software generiert. Der automatische Generator 90 enthält:
    eine Einheit 91 zum Bestimmen der Wahl von Verbindungen, die die Eingangs-/Ausgangsbeziehung zwischen dem Argument für die Softwarekomponente, die zuerst auszuführen ist, und dem Argument für die Softwarekomponente, die als nächstes auszuführen ist, bestimmt, und wenn das Argument für die Softwarekomponente, die zuerst auszuführen ist, den Ausgang anzeigt, und das Argument für die Softwarekomponente, die als nächstes auszuführen ist, den Eingang anzeigt, bestimmt, dass diese Softwarekomponenten Wahlmöglichkeiten für Verbindungen sind, sowie eine Verbindungs-Einheit (92), die die Argumente für die Softwarekomponenten prüft, die durch die Einheit 91 zum Bestimmen der Wahl von Verbindungen als Wahlmöglichkeiten für Verbindungen bestimmt werden, und bestimmt, ob die Typen von Bilddaten, die verarbeitet werden sollen, übereinstimmen, und die, wenn die Datentypen übereinstimmen, die Argumente für die Softwarekomponenten verbindet.
  • 28 ist ein Flussdiagramm, das die Verbindungsbeziehungen von Bildverarbeitungs-Softwarekomponenten zeigt, die zum Prüfen von Halbleiterdefekten verwendet werden. Bild-Softwarekomponenten, d. h., Alignment-, Binarisierungs-, Maskenverarbeitungs- und Ausdehnungs-/Schrumpf-Komponenten, Komponenten zum Extrahieren charakteristischer Werte und Bestimmungskomponenten werden automatisch verbunden.
  • Wenn die automatische Erzeugungsfunktion für diese Bildverarbeitungs-Software für die Bildverarbeitungsvorrichtung des Videoverteilungssystems bereitgestellt wird und wenn eine zu implementierende Funktion in die Umriss-Prozedur geschrieben wird, um Videoformat-Umwandlungs-, Auflösungsumwandlungs- und Bilderkennungs-Softwarekomponenten beliebig zu kombinieren, entsteht eine Funktion, die den Anforderungen von Benutzern und den Anwendungen entspricht, die sie verwenden.
  • Es sind jedoch die folgenden Probleme aufgetreten, wenn das herkömmliche Verfahren zum automatischen Generieren von Bildverarbeitungs-Software eingesetzt wird, das die Bildverarbeitungsvorrichtung zum Verarbeiten von Bildern, so beispielsweise verteilten Videobildern, bildet.
  • (Problem 1)
  • Selbst bei gleichen Teilen unterscheidet sich das Verhalten in Abhängigkeit von den Funktionen der zu implementierenden Bildverarbeitungsvorrichtung. Wenn beispielsweise, wie in 23A dargestellt, eine Auflösung in Echtzeit an einem Video-Übertragungsknoten zum Übertragen von Live-Video verändert werden soll, ist es erforderlich, dass, wenn Echtzeit als wichtig betrachtet wird, die Auflösung verändert wird, indem Frames bzw. Einzelbilder nach dem Best-Effort-Prinzip ausgedünnt werden. Andererseits ist es, wie in 23B dargestellt, wenn eine Auflösung auf Anforderung bereitgestellt werden soll, indem Kamera-Videobilder in einer Datei gesammelt und das Verhältnis von Länge zu Breite sowie die Auflösung verändert wird, erforderlich, dass die Auflösung, wenn Aufrechterhaltung von Qualität von Inhalt als wichtig betrachtet wird, verändert wird, ohne dass die Einzelbilder ausgedünnt werden.
  • Zusätzlich ist für das Bildverarbeitungssystem in dem Videoverteilungssystem ein detailliertes Design für jede zu implementierende Funktion erforderlich, das unter Berücksichtigung der Verzögerung und Fluktuation des Prozesses für jeden Teil erarbeitet wird. Bei dem Beispiel in 23A muss die Größe eines Puffers berücksichtigt werden, der zwischen der Videoempfangskomponente und einer Auflösungsänderungskomponente einzuordnen ist, so dass Schwankung des Netzwerkbandes ausgeglichen wird. Diese Größe des Puffers variiert ebenfalls in Abhängigkeit von der Netzwerkumgebung.
  • Diese Probleme, die den einzelnen Komponenten nicht inhärent sind, resultieren aus Funktionen, die durch die Bildverarbeitungsvorrichtung implementiert werden, und für jede dieser Funktionen muss ein Datenaustauschverfahren, so beispielsweise die Größe eines Puffers zwischen den Komponenten oder eine Anforderung bezüglich des Ausdünnens von Einzelbildern definiert werden, und es muss ein Mechanismus für die Bildverarbeitungsvorrichtung bereitgestellt werden, der gemäß der Definition gesteuert werden kann.
  • (Problem 2)
  • Es wird davon ausgegangen, dass mehrere Videoinhalte für mehrere Nutzer bereitgestellt werden sollen, indem die Auflösungen oder Formate geändert werden. Bei dem herkömmlichen Verfahren ändert, wie dies in 24 dargestellt ist, die Bildverarbeitungsvorrichtung entsprechend einem Benutzerendgerät 1 die Auflösung oder das Format eines Videobildes, das durch einer Kamera eingegeben wird, und stellt das erzeugte Bild dem Benutzer-Endge rät 1 zur Verfügung, oder ändert entsprechend dem Benutzer-Endgerät 2 die Auflösung oder das Format eines durch eine Kamera eingegebenen Videobildes und stellt das erzeugte Bild dem Benutzer-Endgerät 2 bereit. Da jedoch für die Umwandlung der Auflösung oder des Formates eine große Anzahl an Berechnungen erforderlich ist, muss die Verarbeitung durch die gemeinsame Nutzung der Prozesse optimiert werden, die durch die Abschnitte X (Videoeingabeprozess), Y (Auflösungsumwandlungsprozess) und Z (Formatumwandlungsprozess) in 24 angedeutet sind.
  • (Problem 3)
  • Zusätzlich sind, da eine Videoverarbeitungsfunktion ein integrierender Prozess, wie beispielsweise Bildsynthetisierung oder Video-/Audio-Multiplexen ist, ein Isolationsprozess, wie beispielsweise inverses Multiplexen sowie ein Prozess zum Umwandeln eines Parameters für eine Komponente erforderlich. Des Weiteren muss die Bildverarbeitungsvorrichtung, um diese Prozesse zu optimieren, eine Steuer-Verwaltungsfunktion einschließen.
  • (Problem 4)
  • Des Weiteren werden, wenn die Video-Wiedergabefunktion, welche durch die gleiche Komponentengruppe gebildet wird, um sequenziell Videobilder auf einer Zeitachse wiederzugeben, während Einzelbilder nach dem Best-Effort-Prinzip ausgedünnt werden, oder um ein Videobild für jedes Einzelbild wiederzugeben, ohne dass die Einzelbilder ausgedünnt werden, ein Raten-Wiedergabemodus und ein Wiedergabemodus mit Einzelbildzufuhr bereitgestellt, die von einem Benutzer ausgewählt werden können. Daher muss die Bildverarbeitungsvorrichtung einen Mechanismus zum Umschalten von Wiedergabemodi gemäß einer Benutzeranforderung enthalten.
  • (Problem 5)
  • Des Weiteren ist, wenn ein Abspielmodus geändert wird, während, um die Wiedergabefunktion einzurichten, eine große Anzahl von Komponenten verwendet wird, entweder eine längere Zeit zum Ändern eines Modus erforderlich, oder es muss, aus Sicht eines Benutzers, die Reihenfolge geändert werden, in der Einzelbilder wiedergegeben werden.
  • Ein spezifisches Beispiel dieses Phänomens ist in 25A bis 25C dargestellt. In 25A werden Einzelbilder von einer Platte in einen Puffer in der Vorwärtsrichtung gelesen, und Wiedergabemodus mit Einzelbildzufuhr wird durchgeführt. Einzelbilder 1 und 2 sind von der Platte ausgelesen worden und bereits aus dem Puffer ausgegeben, während die Einzelbilder 3 und 4 noch darin gehalten werden. Es wird angenommen, dass, wie in 25B dargestellt, ein Benutzer bei dem dritten Einzelbild eine Anforderung von Wiedergabe mit umgekehrter Einzelbildzufuhr ausgibt. Auf Basis dieser Forderung wird Einzelbild 7 nach Einzelbild 8 von der Platte gelesen. Da jedoch Einzelbild 7 nach den Einzelbildern 4, ... und 8 aus dem Puffer ausgegeben wird, wird der Wechsel zur Wiedergabe mit umgekehrter Einzelbildzufuhr um eine Zeit verzögert, die der Anzahl von Einzelbildern äquivalent ist, die in dem Puffer gehalten werden.
  • Dabei entstehen, selbst wenn, wie in 25C dargestellt, ein Mechanismus zum Leeren des Puffers bei Änderung eines Befehls vorhanden ist, für den Benutzer Zweifel, dass der Befehl angenommen ist, da, nachdem die Einzelbilder 1, 2 und 3 in dieser Reihenfolge zugeführt werden, die Einzelbilder umgekehrt in der Reihenfolge 7, 6 und 5 statt in der Reihenfolge 3, 2 und 1 zugeführt werden, die der Benutzer erwartet.
  • (Problem 6)
  • Bei dem herkömmlichen Verfahren zum automatischen Erzeugen der Bildverarbeitungs-Software werden Softwarekomponenten mit Eingabe-/Ausgabe-Argumenten (Softwarekomponenten, die für einen Prozess erforderliche Daten eingeben und die die Verarbeitungsergebnisse ausgeben) zusammen verwendet. Daher kann die Softwarekomponente "zum Empfangen eines nicht komprimierten Bildes und zum Ausgeben von Erkennungsergebnissen", die einen "Bilderkennungsprozess" durchführt, nicht für eine in 26B gezeigte Funktion verwendet werden (da der Typ von Daten, die von der "Bilderkennungs"-Softwarekomponente ausgegeben werden, nicht mit dem Typ von Daten übereinstimmt, die in die "Bildkompressions"-Softwarekomponente eingegeben werden), wobei sie gleichzeitig nicht für eine in 26A gezeigte Funktion eingesetzt werden kann, da der Typ von Daten, die von der "Bilderkennungs"-Softwarekomponente ausgegeben werden, dem Typ von Daten entspricht, die in die "Erkennungsergebnis-Aufzeichnungs"-Softwarekomponente eingegeben werden. So ist, damit diese Komponenten flexibel verwendet werden können, ein geeignetes Verfahren erforderlich, mit dem alle Softwarekomponenten zusammen verwendet werden können.
  • Zusammenfassung der Erfindung
  • Um diese Probleme zu lösen, besteht eine Aufgabe der vorliegenden Erfindung darin, eine Bildverarbeitungsvorrichtung zu schaffen, die auf einfache Weise eine Bildverarbeitungsfunktion implementieren kann, die den Anforderungen von Benutzern und den Anwendungen entsprechen, die sie verwenden.
  • Um diese Aufgabe zu erfüllen, schafft die vorliegende Erfindung eine Bildverarbeitungsvorrichtung zum Ausführen von Aufgaben gemäß Aufgabenszenario-Informationen, wobei die Vorrichtung umfasst:
    eine Aufgaben-Speichereinrichtung zum Speichern von Aufgabenszenario-Informationen, die Komponenten, die für eine Aufgabe eingesetzt werden, und Kopplungsinformationen der Komponenten anzeigen, von Komponenten-Informationen, die Charakteristiken der Komponenten anzeigen, und von Komponenten-Bibliotheken, in denen jede Komponente gespeichert ist;
    eine Aufgaben-Analysier-und-Verwaltungs-Einrichtung zum Analysieren der Ausgangsszenario-Informationen, zum Bestimmen von Komponenten zum Einsatz für die Aufgabe und von Software-Bussen zum Einsatz beim Koppeln der Komponenten sowie zum Verwalten der Ausführung der Aufgabe;
    eine Komponenten-Verwaltungseinrichtung zum Erzeugen oder Löschen von durch die Aufgaben-Analysier-und-Verwaltungs-Einrichtung bestimmten Komponenten und zum Steuern der durch die Komponenten durchgeführten Operationen; und
    eine Software-Bus-Verwaltungseinrichtung zum Erzeugen oder Löschen von durch die Aufgaben-Analysier-und-Verwaltungs-Einrichtung bestimmten Softeware-Bussen und zum Steuern des Austauschs von Daten über die Softwarebusse.
  • Gemäß der Bildverarbeitungsvorrichtung der Erfindung ist die Software-Bus-Verwaltungseinrichtung vorhanden, um den Austausch von Daten (Informationen dahingehend, ob Einzelbilder ausgedünnt werden sollen) durch die Prozesskomponenten zu steuern. Daher muss nur das Aufgabenszenario, das das Datenaustauschverfahren definiert, überschrieben werden, so dass eine Bildverarbeitungsvorrichtung geschaffen werden kann, die eine Funk tion hat, die den Anforderungen von Benutzern und von Anwendungen entspricht, die Benutzer verwenden.
  • Die vorliegende Erfindung schafft des Weiteren ein Verfahren zum Verarbeiten von Bildern gemäß Aufgabenszenario-Informationen. Das Verfahren umfasst die folgenden Schritte:
    Lesen eines Ausgangsszenarios zum Auswählen geeigneter Aufgabenszenario-Informationen auf Basis von Aufgabeninformationen, Inhaltinformationen und Informationen über eine Ausgabe-Endgerätevorrichtung und zum Lesen der ausgewählten Aufgabenszenario-Informationen;
    Software-Bus-Erzeugung zum Erzeugen von Software-Bussen auf Basis von Kopplungsinformationen von Komponenten, die in den Aufgabenszenario-Informationen enthalten sind;
    Komponentenlesen zum Lesen von in den Aufgabenszenario-Informationen angegebenen Komponenten aus in einer Komponentenbibliothek gespeicherten Komponenten auf Basis der Aufgabenszenario-Informationen und der Komponenteninformationen;
    Betreiben von Komponenten, um die gelesenen Komponenten so einzustellen, dass sie nacheinander in der Reihenfolge der Erwähnung in den Aufgabenszenario-Informationen betrieben werden; und
    Software-Bus-Datensteuerung zum Steuern von Daten, die in den Software-Bus geleitet werden, so dass Ausgangsdaten, die erzeugt werden, indem eine ausgeführte Komponente einen Inhalt verarbeitet, als Eingangsdaten einer nächsten Komponente verwendet werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockschaltbild, das die Konfiguration einer Bildverarbeitungsvorrichtung gemäß einer ersten Ausführung der vorliegenden Erfindung zeigt.
  • 2A, 2B und 2C sind schematische Darstellungen, die die Rollen der einzelnen Bildverarbeitungs-Einheiten gemäß der ersten Ausführung zeigen.
  • 3 ist ein Schema, das die Struktur einer Komponente gemäß der ersten Ausführung zeigt.
  • 4 ist ein Schema, das die Steuerprozeduren für eine Komponente und die Statusverschiebung zeigt, die gemäß der ersten Ausführung durchgeführt wird.
  • 5 ist ein Schema, das einen Video-Software-Bus-Manager gemäß der ersten Ausführung zeigt.
  • 6 ist eine Tabelle, die die Datenstruktur eines gemeinsam genutzten Speichers gemäß der ersten Ausführung zeigt.
  • 7 ist ein Schema, das die Spezifikation für die Zugriffsverwaltung für den gemeinsam genutzten Speicher gemäß der ersten Ausführung zeigt.
  • 8A ist ein Schema, das das Format für Aufgabenszenario-Informationen zeigt, und
  • 8B ist ein Schema, das das Format für Komponenteninformationen gemäß der ersten Ausführung zeigt.
  • 9A und 9B sind schematische Darstellungen zur Erläuterung der gemeinsamen Verwendung von Komponenten gemäß der ersten Ausführung.
  • 10 ist ein Schema, das die Struktur einer Aufgaben-Verwaltungseinrichtung bzw. eines Task-Managers gemäß der ersten Ausführung zeigt.
  • 11 ist ein Schema, das Verwaltungstabellen für den Task-Manager gemäß der ersten Ausführung zeigt.
  • 12 ist ein Schema, das einen Pfad-Integrationsprozess zeigt, der von einer Bildverarbeitungsvorrichtung gemäß einer zweiten Ausführung der vorliegenden Erfindung durchgeführt wird.
  • 13 ist ein Schema, das den Prozess zum gemeinsamen Nutzen von Komponenten einschließlich des Pfadintegrationsprozesses gemäß der zweiten Ausführung zeigt.
  • 14A und 14B sind ein Schema sowie ein Flussdiagramm, die den Pfadintegrationsprozess gemäß der zweiten Ausführung zeigen.
  • 15 ist ein Schema, das einen Pfad-Teilungsprozess gemäß der zweiten Ausführung zeigt.
  • 16 ist ein Schema, das den Prozess zum gemeinsamen Nutzen von Komponenten einschließlich des Pfad-Teilungsprozesses gemäß der zweiten Ausführung zeigt.
  • 17A und 17B sind ein Schema und ein Flussdiagramm, die den Pfad-Teilungsprozess gemäß der zweiten Ausführung zeigen.
  • 18A, 18B und 18C sind schematische Darstellungen, die den Parameter-Änderungsprozess gemäß der zweiten Ausführung zeigen.
  • 19 ist ein Schema, das den Aufbau des Task-Managers zeigt, der gemäß der zweiten Ausführung den Parameter-Änderungsprozess durchführt.
  • 20 ist ein Schema, das den Aufbau eines Task-Managers gemäß einer dritten Ausführung der vorliegenden Erfindung zeigt.
  • 21 ist ein Schema zur Erläuterung des Wiedergabeprozesses t, der durch eine Bildverarbeitungsvorrichtung gemäß der dritten Ausführung durchgeführt wird.
  • 22 ist ein Schema, das den Wiedergabeprozess zeigt, der durch die Bildverarbeitungsvorrichtung gemäß der dritten Ausführung durchgeführt wird.
  • 23A und 23B sind schematische Darstellungen zur Erläuterung des Problems bei Videoverteilung bei Durchführung mit einer herkömmlichen Bildverarbeitungsvorrichtung.
  • 24 ist ein Schema zur Erläuterung des Problems bei Verarbeitungseffizienz, das bei der herkömmlichen Bildverarbeitungsvorrichtung auftritt.
  • 25A, 25B und 25C sind schematische Darstellungen zur Erläuterung des Problems bei dem Wiedergabesystem der herkömmlichen Bildverarbeitungsvorrichtung.
  • 26A und 26B sind schematische Darstellungen zur Erläuterung des Problems bei einer Softwarekomponentenkombination der herkömmlichen Bildverarbeitungsvorrichtung.
  • 27 ist ein Blockschaltbild, das die Struktur einer herkömmlichen Vorrichtung zum automatischen Erzeugen von Bildverarbeitungs-Software zeigt.
  • 28 ist eine schematische Darstellung, die Softwarekomponenten zeigt, die von der herkömmlichen Vorrichtung zum automatischen Erzeugen von Bildverarbeitungs-Software erzeugt werden.
  • In den Zeichnungen bezieht sich das Bezugszeichen 10 auf eine Bildverarbeitungsvorrichtung; 11 auf einen Task-Manager (Aufgaben-Analysier-und-Verwaltungs-Einrichtung), 12 auf einen Komponenten-Manager (Komponenten-Verwaltungseinrichtung), 13 auf einen Video-Software-Bus-Manager (Software-Bus-Verwaltungseinrichtung), 14 auf einen Aufgabenspeicher (Aufgaben-Speichereinrichtung), 15 auf Aufgabenszenario-Informationen, 16 auf Komponenten-Informationen, 17 auf eine Komponenten-Bibliothek, 18 auf eine Aufgaben-Eingabeeinrichtung, 21 auf einen Datenspeicherbereich, 22 auf einen gemeinsam genutzten Speicher, 23 auf einen Zugriffs-Manager, 30 auf eine Einheit zum Bestimmen von Aufgabenerzeugungs-Komponenten (Einrichtung zum Bestimmen von Aufgabenerzeugungskomponenten), 31 auf eine Einheit zum Bestimmen der gemeinsamen Nutzung von Aufgaben (Einrichtung zum Bestimmen gemeinsamer Nutzung von Aufgaben), 32 auf aktuell verarbeitete Aufgaben-Informationen, 41 und 42 jeweils auf eine Kamera, 43 auf ein Mikrofon, 44, 45 und 46 jeweils auf ein Endgerät, 50 auf eine Einheit zum Bestimmen gemeinsamer Nutzung von Komponenten (Einrichtung zum Bestimmen gemeinsamer Nutzung von Komponenten), 51 auf eine Parameteränderungs-Einheit (Parameteränderungseinrichtung), 60 auf eine Einheit zum Anhalten und Wiederingangsetzen von Komponenten (Einrichtung zum Anhalten und Wiederingangsetzen von Komponenten), 61 auf eine Einheit zum Ändern des Modus eines Video-Software-Busses (Einrichtung zum Ändern des Modus eines Software-Busses), 90 auf eine automatische Erzeugungsvorrichtung, 91 auf eine Einheit zum Bestimmen der Wahl von Verbindungen, 92 auf eine Verbindungs-Einheit und 93 auf einen Speicherort.
  • Ausführliche Beschreibung der bevorzugten Ausführungen
  • (Erste Ausführung)
  • Im Folgenden werden die Grundkonfiguration und die Funktion einer Bildverarbeitungsvorrichtung 10 gemäß einer ersten Ausführung der vorliegenden Erfindung sowie die gemeinsame Nutzung der Verarbeitung erläutert.
  • Für den Inhalt, der von der Bildverarbeitungsvorrichtung zu verwenden ist, wird eine Inhalts-Kennung zum Identifizieren des Inhaltes festgelegt, und für die Bildverarbeitung (Aufgabe), die für den Inhalt durchgeführt wird, wird eine Aufgaben-Kennung zum Identifizieren einer Aufgabe festgelegt.
  • Die Bildverarbeitungsvorrichtung umfasst, wie in 1 dargestellt, einen Aufgabenspeicher 14. In dieser Ausführung werden für jede Aufgabe Szenario-Informationen 15, die Videoverarbeitungs-Komponenten (Softwarekomponenten), die eine Aufgabe bilden, und Informationen zum Verbinden der Prozesskomponenten anzeigen, sowie eine Komponenten-Bibliothek 17, in der die Substanz jeder der Video-Verarbeitungskomponenten gespeichert ist, in dem Aufgabenspeicher 14 verwaltet, der in den Ansprüchen als "Aufgaben-Speichereinrichtung" aufgeführt wird.
  • Eine Funktion, die durch Verbinden der Komponenten implementiert wird, die Reihenfolge, in der die Komponenten verbunden werden, und ein Verfahren zum Austausch von Daten mit einem Puffer (einem Software-Bus), der die Komponenten verbindet, beispielsweise Informationen dahingehend, ob Einzelbilder ausgedünnt werden sollten oder nicht, werden als die Aufgabenszenario-Informationen 15 eingegeben. Beispielhafte Aufgabenszenario-Informationen sind in 8A dargestellt.
  • Die Funktionen der Komponenten, der Name der Komponenten-Bibliothek 17, in der die Substanz jeder der Komponenten gespeichert ist, die Eingabe- und die Ausgabedaten für die Komponenten sowie die Parameter-Informationen für die Komponenten werden als die Komponenten-Informationen 16 eingegeben. Beispielhafte Komponenten-Informationen sind in 8B dargestellt.
  • Die Bildverarbeitungsvorrichtung 10 umfasst des Weiteren: eine Aufgaben-Eingabeeinheit 18 zum Empfangen einer Inhalts-Kennung für den zu verarbeitenden Inhalt sowie einer Aufgaben-Kennung für eine Aufgabe für den Inhalt, einen Task-Manager 11 zum Analysieren der Aufgabenszenario-Informationen 15, die durch Kennung der eingegebenen Aufgabe bezeichnet werden, der bestimmt, welche Komponenten und Software-Busse zum Ausführen der angegebenen Aufgabe erforderlich sind und der die Aufgabe verwaltet, einen Komponenten-Manager 12, der durch den Task-Manager 11 bestimmte Komponenten erzeugt oder löscht und die Komponenten steuert, sowie einen Video-Software-Bus-Manager 13, der die von dem Task-Manager 11 bestimmten Software-Busse erzeugt oder löscht und den Austausch von Daten über die Software-Busse steuert.
  • In den Ansprüchen ist der Task-Manager als "Aufgaben-Analysier-und-Verwaltungs-Einrichtung" aufgeführt, der Komponenten-Manager ist als "Komponenten-Verwaltungseinrichtung" aufgeführt, und der Video-Software-Bus-Manager ist als "Software-Bus-Verwaltungseinrichtung" aufgeführt.
  • 2A bis 2C sind spezifische schematische Darstellungen, die die Rollen des Task-Managers 11, des Komponenten-Managers 12 und des Video-Software-Bus-Managers 13 zeigen. Der Task-Manager 11 analysiert die Aufgabenszenario-Informationen 15 für eine Aufgabe (2A) und bestimmt, welche Komponenten (2B), Software-Busse (2C) und welches Software-Bus-Datenaustauschverfahren verwendet werden. Der Komponenten-Manager prüft die Komponenten-Informationen 16, bestätigt die Orte in der Komponenten-Bibliothek 17, an der die durch den Task-Manager 11 bestimmten zu verwendenden Komponenten gespeichert sind, erzeugt betreffende Komponenten 1, 2 und 3 und kontrolliert die aktuellen Zustände dieser Komponenten. Der Video-Software-Bus-Manager 13 erzeugt durch die Aufgaben-Analysier-Verwaltungs-Einheit 11 bestimmte Software-Busse 1 und 2 und steuert das für den Datenaustausch durch die Komponenten 1, 2 und 3 verwendete Verfahren.
  • Für den durch die Inhalt-Kennung angegebenen Inhalt führt der Task-Manager 11 die Bildverarbeitung für die Aufgabe durch. Wenn die Aufgabe abgeschlossen worden ist, weist der Task-Manager 11 die Löschung der Komponenten 1, 2 und 3 sowie der Software-Busse 1 und 2 an. Auf Basis der Anweisung löscht der Komponenten-Manager die Komponenten 1, 2 und 3, und der Video-Software-Bus-Manager 13 löscht die Software-Busse 1 und 2.
  • Für die Komponenten werden, wie in 3 dargestellt, eine Dateneingangs-Schnittstelle (ein Verfahren zum Austauschen von Daten mit einem Eingangsbus), eine Datenausgangs-Schnittstelle (ein Verfahren zum Austauschen von Daten mit einem Ausgangsbus) und Steuerprozeduren für die Komponenten definiert. Die Definitionen für die Steuerprozeduren der Komponenten sind, wie in dem Beispiel in 4 dargestellt, "BIND (Zugriff eines Software-Busses starten)", "UNBIND (Zugriff eines Software-Busses unterbrechen)", "PARAMETER CHANGE (Parameteränderung für eine Komponente)", "CTRL (Steuerbefehl, beispielsweise ein Wiedergabe-Befehl, wie beispielsweise Abspielen, Stopp oder Pause)". Wenn "BIND" angegeben ist, wird der Status der Komponente von dem Ruhezustand zu dem aktiven Zustand geändert (die Verarbeitung wird in Gang gesetzt). Wenn "UNBIND" angegeben ist, wird der Status der Komponente von dem aktiven Zustand zu dem Ruhezu stand geändert. Des Weiteren wird, wenn "CTRL" oder "PARAMETER CHANGE" angegeben sind, der Prozess in dem aktiven Zustand initialisiert. Auf diese Weise können, wenn die Steuerprozeduren und die damit einhergehende Zustandsverschiebung gemeinsam für die Komponenten definiert sind, die für Videoformat-Umwandlung Auflösungs-Umwandlung und Bilderkennung verwendet werden, die von der Bildverarbeitungsvorrichtung abgewickelt werden, beliebige Komponente entsprechend den Anforderungen eines Benutzers oder der verwendeten Anwendung kombiniert werden.
  • 5 ist ein Schema, das die innere Struktur des Video-Software-Bus-Managers 13 zeigt. Der Video-Software-Bus-Manager 13 enthält als Software-Bus eine zirkulierende Struktur, die aus mehreren gemeinsamen Speichern 22 besteht, die Datenspeicherbereiche 21 enthalten, und enthält des Weiteren einen Zugriffs-Manager 23, der die Schreib-/Leseorte in den gemeinsamen Speichern 22 verwaltet und exklusive Steuerung bereitstellt.
  • 6 ist ein Tabelle, die beispielhafte Datenstrukturformate zeigt, die in die gemeinsamen Speicher 22 geschrieben werden. In dieser Tabelle sind alle Videokomponenten-Informationen gespeichert, die zum Durchführen der Bildverarbeitung erforderlich sind, d. h. eine Medienform (Video/Audio), ein Codiertyp, eine Wichtigkeitsstufe des Mediums, ein Medien-Zeitcode, eine Medien-Kennung, eine maximale Speichergröße, eine tatsächliche Datenspeichergröße und ein realer Datenzeiger.
  • Der Zugriffs-Manager 23 verwaltet den/das Anfang/Ende der Erzeugung des Software-Busses und den Schreib-/Leseort jeder Komponente sowie ein Verfahren zum Austauschen von Daten durch die einzelnen Komponenten und den Software-Bus.
  • 7 ist ein Schema, das die Spezifikationen für einen Steuermechanismus zeigt, der durch den Zugriffs-Manager 23 zu implementieren ist.
  • Gemäß den Spezifikationen wird für jeden Software-Bus nur eine Komponente zum Schreiben verwendet, während mehrere Komponenten zum Lesen eingesetzt werden können und Lesen/Schreiben nicht gleichzeitig für eine gemeinsame genutzte Speicher-Datenstruktur zugelassen wird.
  • Des Weiteren können die Modi für a) FIFO/LIO-Lesen, b) asynchrones/synchrones Schreiben und c) asynchrones/synchrones Quittieren als Verfahren zum Austauschen von Daten zwischen Komponenten festgelegt werden.
  • Der Modus a) FIFO/LIO-Lesen definiert, wie mehrere Datenstrukturen, die sich an dem Software-Bus befinden, zu lesen sind, und "FIFO-Lesen = Daten beginnend mit der ältesten Datenstruktur senden" sowie "LIO-Lesen = konstant die letzte Datenstruktur senden" sind definiert.
  • Der Modus b) asynchrones/synchrones Schreiben definiert eine Bedingung für das Überschreiben von Daten in die gemeinsam genutzte Speicherdatenstruktur und "asynchrones Schreiben = Überschreiben aktivieren, selbst wenn Lesen einer gemeinsam genutzten Speicherdatenstruktur nicht durchgeführt wird", sowie "synchrones Schreiben = Überschreiben verhindern, bis Lesen einer gemeinsam genutzten Speicherdatenstruktur durchgeführt wird", sind definiert.
  • Der Modus c) asynchrone/synchrone Bestätigung definiert ein Antwortverfahren, wenn das Lesen/Schreiben von Daten in Bezug auf den Software-Bus unterdrückt wird, und "asynchrone Bestätigung = sofortiges Benachrichtigen einer Komponente über Unterdrückung von Lesen/Schreiben" sowie "synchrone Bestätigung = keine Antwort senden, bis Lese/Schreibprozess aktiviert wird" sind definiert.
  • Da für jede Komponente ein detailliertes Datenaustauschverfahren festgelegt werden kann, das durch den Zugriffs-Manager 23 gesteuert wird, müssen Unterschiede der Datenaustauschverfahren, die für die einzelnen Komponenten verwendet werden, nicht identifiziert werden.
  • Des Weiteren werden als Steuerbefehle von Task-Manager 11 Anforderungen eines Bus-Reset (Initialisieren eines Zugriffspunktes für jede Komponente und Zurücksetzen des Busses unter Verwendung eines angegebenen Parameters (FIFO/LIO-Lesen, asynchrones/synchrones Schreiben oder asynchrone/synchrone Bestätigung)) und der Erfassung der letzten Leseposition (Ermitteln von Informationen, die die Speicherorte in der gemeinsam genutzten letzten Speicherstruktur betreffen, für die Daten-Lesen durchgeführt worden ist) ausgegeben.
  • Über diese Verarbeitung kann der Ausgang-Manager 11 das Datenaustauschverfahren für jede Komponente steuern.
  • Des Weiteren wird das detaillierte Datenaustauschverfahren für jede Komponente auf diese Weise festgelegt.
  • Die Komponente zum Schreiben von Daten in den Software-Bus gibt eine Schreib-Anforderung an den Zugriffs-Manager 23 aus und beginnt beim Empfang einer Mitteilung von dem Zugriffs-Manager 23, die einen Schreibpositions-Zeiger angibt, mit dem Schreiben von Daten. Die Komponente, die zum Lesen von Daten aus dem Software-Bus verwendet wird, gibt dann eine Lese-Anforderung an den Zugriffs-Manager 23 aus und beginnt beim Empfang einer Mitteilung von dem Zugriffs-Manager 23, die einen Lesepositions-Zeiger angibt, mit dem Lesen von Daten.
  • Da der so eingerichtete Video-Software-Bus-Manager 13 vorhanden ist, kann jede Komponente zu den Eingangsdaten Ergebnisse hinzufügen, die durch den Prozess der Komponente gewonnen wurden, und kann die resultierenden Daten ausgeben. Dadurch können Funktionen implementiert werden, die verschiedenen Anforderungen entsprechen.
  • Für die Aufgabenszenario-Informationen in 8 ist der Modus zum Austauschen von Daten mit dem Eingangsbus für Komponente 1 definiert, und die Anzahl von Puffern für den Ausgangsbus sowie der Datenaustausch-Modus sind für Komponente 2 definiert. In einem Fall, in dem nur die Komponenten 1 und 2 vorhanden sind, oder in einem Fall, in dem Komponenten 1 und 2 die an beiden Enden der Aufgabe befindlichen sind, sind diese Definitionen nicht erforderlich.
  • Im Folgenden wird ein Verfahren erläutert, das es Aufgaben ermöglicht, eine Komponente gemeinsam zu nutzen.
  • 9A und 9B sind schematische Darstellungen, die ein Beispiel zeigen, bei dem, wenn eine Aufgabe 2 zum Verarbeiten von Videobildern, die mit einer Kamera gewonnen werden, gestartet wird, während eine Aufgabe 1 läuft (9A), die Komponenten "Videoeingabe" und "Formatumwandlung" von den Aufgaben gemeinsam genutzt werden. Der interne Status der Bildverarbeitungsvorrichtung zu diesem Zeitpunkt ist in 9B dargestellt. Die Komponenten "Videoeingabe" und "Formatumwandlung" werden von den Aufgaben 1 und 2 gemeinsam genutzt, und die Auflösungsumwandlungs-Komponente für die Aufgabe 1 sowie die Endgerät-Ausgabe-Komponente für die Aufgabe 2 empfangen Daten von dem Software-Bus 2, der dazu dient, die Prozessergebnisse auszugeben, die von der Formatumwandlungs-Komponente gewonnen werden.
  • 10 ist ein Schema, das die Struktur des Task-Managers 11 zum automatischen Bereitstellen der gemeinsamen Nutzung der Komponenten zeigt. Der Task-Manager 11 enthält: eine Einheit 31 zum Bestimmen gemeinsamer Nutzung von Aufgaben, die die Aufgaben-Informationen 32 prüft, die aktuell verarbeitet werden und die bestimmt, welche Komponenten gemeinsam mit einer Aufgabe genutzt werden können, die neu gestartet wird, sowie eine Einheit zum Bestimmen einer Aufgabenerzeugungs-Komponente, die einen Video-Software-Bus und Komponenten außer denen, die gemeinsam genutzt werden können, bestimmt, die erzeugt werden sollten.
  • Wenn die Inhalt-Kennung und die Aufgaben-Kennung von der Aufgaben-Eingabeeinheit 18 empfangen werden, prüft die Einheit 32 zum Bestimmen der gemeinsamen Nutzung von Aufgaben die Aufgaben-Informationen, die aktuell verarbeitet werden, und sucht unter den Aufgaben, die aktuell ausgeführt werden, eine Aufgabe, die den Inhalt verarbeitet, der durch die eingegebene Inhalt-Kennung angegeben wird. Dann bestimmt die Einheit zum Bestimmen gemeinsamer Nutzung von Aufgaben, beginnend mit der vorgelagerten Komponente, die die betreffende Aufgabe bildet, ob die Komponente und der Parameter übereinstimmen und betrachtet die Komponenten, für die Übereinstimmung mit dem Parameter bestätigt wird, als die Komponenten, bei denen die Verarbeitung durch die Aufgaben gemeinsam genutzt werden kann. Des Weiteren bestimmt die Einheit 30 zum Bestimmen von Aufgabenerzeugungs-Komponenten nur für die Komponenten, bei denen die Verarbeitung nicht gemeinsam genutzt werden kann, notwendige Komponenten und einen Video-Software-Bus, die erzeugt werden müssen.
  • 11 ist ein Schema, das die innere Datenverwaltungsstruktur des Task-Managers 11 zeigt. Der Task-Manager 11 verwaltet in einem "Aufgaben-Verwaltungs"-Bereich, einem "Komponentenverwaltungs"-Bereich und einem "Software-Bus-Verwaltungs"-Bereich gespeicherte Daten.
  • In dem "Aufgaben-Verwaltungs"-Bereich werden Informationen (Pfad zu Eingangs-, Eingangs-/Ausgangs- und Ausgangskomponenten (CMP)) für jede Aufgabe, die aktuell durch die Bildverarbeitungsvorrichtung ausgeführt wird, verwaltet. Eine Eingangs-CPM und eine Ausgangs-CPM sind stets erforderlich, während eine beliebige Anzahl (0 bis N) Eingangs-/Ausgangs-CPM vorhanden sein kann.
  • In dem "Komponentenverwaltungs"-Bereich werden Informationen für die Eingangs-, Eingangs-/Ausgangs- und Ausgangskomponenten, die die Aufgabe bilden, d. h. eine Komponenten-Identifizierungsnummer, ein Parameter, Software-Bus-Informationen und ein Be zugs-Zähler verwaltet. Die Software-Bus-Informationen sind Informationen, die zum Zugreifen auf den Software-Bus verwendet werden, und der Wert des Bezugszählers stellt die Anzahl von Aufgaben dar, die die Komponente verwenden können.
  • In dem "Software-Bus-Verwaltungs"-Bereich werden die Software-Bus-Informationen, die von den Komponenten genutzt werden, d. h. ein Bezugszähler, ein Datenaustauschverfahren für jede Komponente und die Anzahl von Puffern verwaltet. Der Wert des Bezugszählers stellt die Anzahl von Komponenten dar, die auf den Software-Bus zugreifen.
  • In 11 verwenden die Aufgabe 1 und die Aufgabe 2 die Komponenteeingangs-CMP1 gemeinsam. In diesem Fall wird ein "CMP ID" der Komponenteneingangs-CMP1 in die Eingangs-CMP der Aufgabe 1 und die Eingangs-CMP der Aufgabe 2 in dem "Aufgaben-Verwaltungs"-Bereich eingegeben.
  • Da die Komponenten-Eingangs-CMP1 gemeinsam verwendet wird, stimmen die Software-Bus-Informationen (OUT) für die Komponenten-Eingangs-CMP1, die Software-Bus-Informationen (IN) für die Komponenten-Eingangs-/Ausgangs-CMP1, die von der Aufgabe 1 verwendet werden, und die Software-Bus-Informationen (IN) für die Komponenten-Eingangs-/Ausgangs-CMP2, die von der Aufgabe 2 verwendet werden, überein und die gleichen Informationen wie die für den Software-Bus werden geschrieben.
  • Wenn die Komponente auf diese Weise gemeinsam genutzt wird, kann die Anzahl von Berechnungen, die für die Bildverarbeitungsvorrichtung erforderlich sind, reduziert werden.
  • Die Aufgabenerzeugungs-Verarbeitung, die von der Bildverarbeitungsvorrichtung durchgeführt wird, wird im Folgenden beschrieben.
  • 1. Bestimmung einer Abzweigposition
  • Wenn eine Eingangskomponente für eine neue zu erzeugende Aufgabe (eine neue Aufgabe) bereits in den "Komponentenverwaltungs"-Bereich vorhanden ist, wird eine Aufgabe (eine aktuell ausgeführte Aufgabe), die die gleiche Eingangskomponente hat, aus dem "Aufgaben-Verwaltungs-Bereich" extrahiert.
  • Dann wird beginnend mit der Eingangskomponente der Zählwert N (eine ganze Zahl), bei dem die gleiche Eingangs-/Ausgangs-Komponente zwischen der neuen Aufgabe und der extrahierten, aktuell ausgeführten Aufgabe fortgesetzt wird, berechnet. Die Anzahl von Wie derholungen der Durchführung dieses Prozesses entspricht der Anzahl von Aufgaben, die aktuell ausgeführt werden, und der Punkt, an dem das Maximum N erreicht ist, wird als ein Abzweigpunkt bestimmt, an dem die neue Aufgabe von der aktuellen Aufgabe abzweigt.
  • Wenn die gleiche Inhalts-Identifizierungsnummer für die Aufgaben vorhanden ist und die Komponenten und Parameter übereinstimmen, wird festgestellt, dass die Eingangs-/Ausgangskomponente identisch ist. Es gibt jedoch einen Fall, in dem sich die Software-Bus-Informationen (die Anzahl von Puffern und der Datenaustauschmodus), die von den Komponenten ausgegeben werden, in Abhängigkeit von der Aufgabe selbst unter den gleichen Komponenten unterscheiden. Daher können die gesamten Software-Bus-Informationen, die von der Komponente ausgegeben werden, oder ein Teil derselben ebenfalls zusätzlich für diese Bestimmung verwendet werden.
  • 2. Aktualisieren der Bezugszähler für die bis zum Abzweigpunkt vorhandenen Komponenten
  • Die Komponenten, die bis zu dem Abzweigpunkt vorhanden sind, werden aus dem "Komponentenverwaltungs"-Bereich extrahiert, und die Bezugszähler-Werte der Komponenten werden imkrementiert.
  • 3. Erzeugung von Komponenten und Software-Bussen nach dem Abzweigpunkt
  • Die Komponenten, die auf den Abzweigpunkt folgen, werden zu dem "Komponentenverwaltungs"-Bereich hinzugefügt, und die Software-Busse, die die Komponenten verbinden, werden zu dem "Software-Bus-Verwaltungs"-Bereich hinzugefügt. Dann werden die Komponenten und die Software-Busse, die hinzugefügt worden sind, erzeugt, und die Verbindung dieser Komponenten mit den Software-Bussen wird in Gang gesetzt. Es ist anzumerken, dass der Bezugzähler für die Komponenten, die auf den Abzweigpunkt folgen, auf 1 gesetzt werden.
  • Die Aufgabenbeendigungs-Verarbeitung wird im Folgenden beschrieben.
  • 1. Feststellung, ob eine Komponente gelöscht werden kann
  • Für die Eingangs-, die Eingangs-/Ausgangs- und die Ausgangskomponenten für eine abzuschließende Aufgabe werden die Werte der Bezugszähler in dem "Komponentenverwal tungs"-Bereich dekrementiert, und für eine Komponente, für die der Bezugszähler-Wert 0 erreicht hat, wird festgestellt, dass sie eine Komponente ist, die gelöscht werden kann.
  • 2. Beenden einer Verbindung mit einem Softwarebus und Löschen des Softwarebusses
  • Die Verbindung von Software mit einer Komponente, die gelöscht werden kann, wird beendet. Anschließend werden die Bezugszähler in dem "Software-Bus-Verwaltungs"-Bereich dekrementiert, und der Software-Bus, für den der Bezugszähler 0 erreicht hat, wird gelöscht.
  • 3. Abschließen einer Komponente
  • Eine Komponente, für die der Bezugszähler in dem "Komponentenverwaltungs"-Bereich 0 erreicht hat, wird abgeschlossen.
  • Die Bildverarbeitungsvorrichtung verwendet, wie oben beschrieben, die Aufgabenszenario-Informationen, um die Puffergröße für jede Komponente und das Datenaustauschverfahren zu definieren, sowie Informationen dahingehend, ob Einzelbilder ausgedünnt werden sollten oder nicht, und des Weiteren ist ein Mechanismus vorhanden, der es dem Video-Software-Bus-Manager ermöglicht, den Bus zu steuern, der die Komponenten verbindet. Daher muss nur das Überschreiben der Aufgabenszenario-Informationen durchgeführt werden, so dass Komponenten für die Videoformatumwandlung, für die Auflösungsumwandlung und für die Bilderkennung beliebig kombiniert werden können, um eine gewünschte Funktion dynamisch zu implementieren, ohne dass erneutes Zusammenstellen erforderlich ist.
  • Des Weiteren können, wenn eine Komponente, wie beispielsweise eine Auflösungsumwandlungs-Komponente oder eine Formatumwandlungs-Komponente, die eine große Anzahl von Berechnungen erfordern, von mehreren Aufgaben verwendet wird, die Komponenten, die von den Aufgaben gemeinsam genutzt werden können, automatisch gemeinsam genutzt werden, und der Prozess kann optimiert werden. Dadurch kann die gesamte Anzahl von Berechnungen reduziert werden.
  • Des Weiteren kann, da der Video-Software-Bus-Manager den Austausch von Daten an dem Software-Bus verwaltet, ein Teil der von der Komponente ausgegebenen Daten ausgewählt und zu einer nachgelagerten Komponente übertragen werden. Daher kann jede Komponente die gewonnenen Ergebnisse zusammen mit den empfangenen Daten über den Prozess ausgeben. So empfängt beispielsweise in der in 26B gezeigten Aufgabe die Bilderkennungskomponente nicht komprimierte/nicht dekomprimierte Bilddaten, führt Bilderkennung für die Daten durch und gibt an den Softwarebus aus (nicht komprimierte/nicht dekomprimierte Bilddaten und Bilderkennungsergebnisse). Von diesen empfangenen Daten gibt der Video-Software-Bus-Manager die nicht komprimierten/nicht dekomprimierten Daten an die folgende Bildkompressionskomponente aus und gibt die Bilderkennungsergebnisse an die folgende Video-Aufzeichnungskomponente aus. Die Bildkompressionskomponente komprimiert die nicht komprimierten/nicht dekomprimierten Bilddaten und überträgt die resultierenden Daten zu der Videoaufzeichnungs-Komponente, die ihrerseits die komprimierten Bilddaten und die Bilderkennungsergebnisse auf einer Platte speichert.
  • Da der Video-Software-Bus-Manager vorhanden ist, kann ein Mechanismus konstruiert werden, der wie auf einer Fertigungsstraße nur den notwendigen Teil der Daten extrahiert und die aktuellen ermittelten Ergebnisse zu den Ergebnissen hinzufügt, die mit dem vorgelagerten Prozess ermittelt wurden.
  • Des Weiteren können gemäß der Bildverarbeitungsvorrichtung der Erfindung Informationen dahingehend, welche Objektfunktion welcher Komponenten-Bibliothek 17 die aktuell verwendete Komponente ist, in die Komponenten-Informationen 16 geschrieben werden. Daher kann, wenn eine neue Komponentenbibliothek unter Verwendung der UNIX(Warenzeichen)/Linux-Load Library oder der Dynamic Load Library (DLL) von Windows (Warenzeichen) erzeugt wird und die Komponenteninformationen einfach hinzugefügt werden, die neue Komponente registriert werden, so dass keine neue Zusammenstellung für die Bildverarbeitungsvorrichtung erforderlich ist.
  • Des Weiteren kann, wenn der Aufgabenspeicher 14 die Aufgabenszenario-Informationen 15 periodisch liest und bestimmt, ob die Komponenten, die die Aufgabe bilden, korrekt verbunden worden sind, ein Fehler für die manuell geschriebenen Aufgabenszenario-Informationen erfasst werden.
  • (Zweite Ausführung)
  • Für eine zweite Ausführung der vorliegenden Erfindung erfolgt eine Erläuterung für den Pfad-Integrationsprozess begleitet durch Bildsynchronisation und Video-/Audio-Multiplexen, den Pfad-Isolationsprozess begleitet durch inverses Multiplexen und einen Prozess zum Ändern der Parameter für Komponenten.
  • Zunächst wird im Folgenden der Pfad-Integrationsprozess beschrieben. Der Pfad-Integrationsprozess kann, wie in 12 dargestellt, durchgeführt werden, wenn durch mehrere Kameras empfangene Bilder synthetisiert werden und das synthetisierte Bild an ein Endgerät ausgegeben wird, oder wenn ein Bild, das mit einer Kamera gewonnen wird und Töne, die über ein Mikrofon empfangen werden, multiplexiert werden und die Ergebnisse an ein Endgerät ausgegeben werden.
  • 13 ist ein Schema, das ein Beispiel zeigt, bei dem Komponenten einschließlich der Komponente zum Durchführen des Pfad-Integrationsprozesses gemeinsam verwendet werden. Bei diesem Beispiel werden ein mit einer Kamera 41 gewonnenes Bild und ein mit einer Kamera 42 gewonnenes Bild synthetisiert, und das synthetisierte Bild wird an ein Endgerät 44 ausgegeben (Aufgabe 1), das mit der Kamera 42 gewonnene Bild wird unabhängig an einem Endgerät 45 ausgegeben (Aufgabe 2), und das mit der Kamera 42 gewonnene Bild sowie die über ein Mikrofon 43 empfangenen Töne werden multiplexiert, und die Ergebnisse werden an einem Endgerät 46 ausgegeben (Aufgabe 3). Die Videoeingangs-Komponente für die Kamera 42 wird gemeinsam von den Aufgaben 2 und 3 verwendet, und die Video-Signalauflösungsumwandlungs-Komponente für die Kamera 42 wird gemeinsam von den Aufgaben 1 und 2 verwendet.
  • Für die Verwaltung, die durch die Verwaltungs-Einheit 11 für die Aufgabenszenario-Informationen und die Aufgabenanalyse bereitgestellt wird, wird, wie in 14A dargestellt, die Gesamtaufgabe des Integrierens der Pfade als eine Eltern-Aufgabe betrachtet, die durch mehrere Kind-Aufgaben vor Integration und eine einzelne Kind-Aufgabe nach Integration gebildet wird.
  • 14B ist ein Flussdiagramm, das die durch den Task-Manager 11 zum Integrieren von Pfaden durchgeführte Verarbeitung zeigt, wobei die Komponenten gemeinsam verwendet werden. Bei dieser Verarbeitung stellt die "aktuell ausgeführte Aufgabe" eine normale Aufgabe dar, die keine Pfade integriert und die Eltern-Aufgabe nicht einschließt.
  • Schritt 1: Alle Aufgaben vor Integration werden überprüft, um zu bestimmen, ob sie gemeinsam mit einer aktuell ausgeführten Aufgabe verwendet werden können.
  • Schritt 2: Wenn wenigstens eine Aufgabe vor Integration vorhanden ist, die gemeinsam genutzt werden kann,
  • Schritt 3: wird eine Prüfung durchgeführt, um zu bestimmen, ob die Komponenten aller Aufgaben vor Integration gemeinsam verwendet werden können. Wenn die Antwort JA ist,
  • Schritt 4: wird, um eine weitere Möglichkeit gemeinsamer Nutzung zu finden, eine Prüfung durchgeführt, um zu bestimmen, ob die integrierten Aufgaben in der aktuell ausgeführten Aufgabe gemeinsam verwendet werden können.
  • Schritt 5: Wenn die integrierten Aufgaben gemeinsam verwendet werden können,
  • Schritt 6: wird eine Komponente, die nicht gemeinsam von den integrierten Aufgaben verwendet werden kann, erzeugt.
  • Wenn die Antwort in Schritt 3 NEIN ist,
  • Schritt 8: werden Komponenten, die nicht gemeinsam verwendet werden können, für alle integrierten Aufgaben vor Integration erzeugt.
  • Schritt 9: Alle Komponenten für die integrierten Aufgaben werden erzeugt.
  • Wenn in Schritt 5 die integrierten Aufgaben nicht gemeinsam verwendet werden können, werden alle Komponenten für die integrierten Aufgaben ebenfalls erzeugt (Schritt 9).
  • Wenn in Schritt 2 keine Aufgabe vor Integration vorhanden ist, die gemeinsam verwendet werden kann,
  • Schritt 7: werden alle Komponenten in der Eltern-Aufgabe erzeugt.
  • Schritt 10: Abschließend werden die Video-Software-Busse erzeugt, und die Pfade werden integriert.
  • Der Abschlussprozess für die Aufgabe, für die die Pfade integriert werden, wird auf die gleiche Weise durchgeführt wie der für die erste Ausführung erläuterte Abschlussprozess.
  • Der Pfad-Isolationsprozess wird im Folgenden beschrieben. Wie in 15 dargestellt, wird der Pfad-Isolationsprozess durchgeführt, um Videobilder und Töne zu trennen, die multiple xiert sind, und die gewonnenen Videobilder und die Töne an eine Videovorrichtung und eine Audiovorrichtung auszugeben.
  • 16 ist ein Schema, das ein Beispiel zeigt, bei dem die Komponenten während des Pfad-Isolierungs- und Aufteil-Prozesses gemeinsam genutzt werden. Bei diesem Beispiel wird ein multiplexiertes Video-/Audio-Signal in Bilder und Töne getrennt, und die Bilder und Töne werden an eine Videovorrichtung sowie eine Audiovorrichtung eines Benutzers 2 ausgegeben (Aufgabe 2), nur ein Videosignal wird von dem Eingangssignal getrennt und wird an eine Videovorrichtung eines Nutzers 1 ausgegeben (Aufgabe 1); und nur ein Audiosignal wird von dem Eingangssignal getrennt und wird an eine Audiovorrichtung eines Benutzers 3 ausgegeben (Aufgabe 3). Eine Video-/Audio-Eingangs-Komponente zum Empfangen eines multiplexierten Signals und eine Nicht-Multiplexier-Komponente zum Trennen des multiplexierten Video-/Audio-Signals werden gemeinsam von der Aufgabe 1, der Aufgabe 2 und der Aufgabe 3 verwendet, wobei eine Komponente zum Umwandeln der Auflösung eines mit einer Kamera 42 gewonnenen Videosignals gemeinsam von der Aufgabe 1 und der Aufgabe 2 verwendet wird.
  • Des Weiteren wird, wie in 17A dargestellt, für die durch die Verwaltungs-Einheit 11 für die Aufgabenszenario-Informationen und die Aufgaben-Analyse bereitgestellte Verwaltung die Gesamtaufgabe, für die der Pfad getrennt wird, als eine Eltern-Aufgabe gehandhabt, die durch mehrere Kind-Aufgaben vor Aufteilung und Kind-Aufgaben nach Aufteilung gebildet wird.
  • Für die Bildverarbeitungsvorrichtung dieser Ausführung wird eine Aufgabe, wie in 17A dargestellt, die durch eine Kind-Aufgabe 1 vor Aufteilung und eine Kind-Aufgabe 2 nach Aufteilung (beispielsweise eine Aufgabe zum inversen Multiplexieren eines Video-/Audio-Signals und zum Ändern der Auflösung lediglich des Videosignals sowie zum Übertragen des gewonnenen Signals zu dem Endgerät) gebildet wird, nicht als eine normale Aufgabe betrachtet, sondern als eine Aufgabe zum Aufteilen eines Weges.
  • 17B ist ein Flussdiagramm, das die durch den Task-Manager 11 zum Aufteilen des Pfades durchgeführte Verarbeitung zeigt. Bei dieser Verarbeitung ist die "aktuelle ausgeführte Aufgabe" eine Kind-Aufgabe vor Integration oder nach Integration, eine Kind-Aufgabe vor Trennung oder nach Trennung oder eine normale Aufgabe, für die die Integration von Pfa den nicht durchgeführt wird. Die Eltern-Aufgabe ist nicht als die aktuell ausgeführte Aufgabe eingeschlossen.
  • Schritt 20: Eine Prüfung wird durchgeführt, um zu bestimmen, ob eine Aufgabe vor Trennung gemeinsam mit einer aktuell ausgeführten Aufgabe verwendet werden kann.
  • Schritt 21: Wenn die Aufgabe vor Trennung gemeinsam verwendet werden kann,
  • Schritt 22: wird eine Prüfung durchgeführt, um zu bestimmen, ob alle Komponenten der Aufgabe vor Trennung gemeinsam verwendet werden können. Wenn die Entscheidung im Schritt 22 JA lautet,
  • Schritt 23: wird eine Prüfung durchgeführt, um zu bestimmen, ob jede Aufgabe nach Trennung gemeinsam mit der aktuell ausgeführten Aufgabe verwendet werden kann.
  • Schritt 24: Dann wird eine Komponente, die nicht gemeinsam verwendet werden kann, für jede Aufgabe nach Trennung erzeugt.
  • Schritt 25: Der Prozess in den Schritten 23 und 24 wird wiederholt, bis alle Aufgaben nach Trennung geprüft worden sind.
  • Wenn die Entscheidung in Schritt 22 NEIN lautet,
  • Schritt 26: wird eine Komponente, die nicht gemeinsam verwendet wird, für die Aufgabe vor Trennung erzeugt.
  • Schritt 27: Alle Komponenten für alle Aufgaben nach Trennung werden erzeugt.
  • Wenn in Schritt 21 die Aufgabe vor Trennung nicht gemeinsam verwendet werden kann, Schritt 28: werden alle Komponenten in der Eltern-Aufgabe erzeugt.
  • Schritt 29: Schließlich wird der Video-Software-Bus erzeugt, und die Pfade werden integriert.
  • Der Abschlussprozess für die Aufgabe, für die der Pfadisolierungsprozess durchgeführt worden ist, wird auf die gleiche Weise wie der für die erste Ausführung erläuterte Abschlussprozess durchgeführt.
  • Im Folgenden wird die Verarbeitung zum Ändern des Parameters für eine Komponente erläutert, die gemeinsam verwendet wird.
  • Es gibt einen Parameter, so beispielsweise den zum Verbessern der Bildqualitätsgenauigkeit für die Auflösungsumwandlung, der verändert werden kann und dabei eine andere Aufgabe beeinflusst, sowie einen Parameter, wie beispielsweise das Vertikal-Horizontal-Verhältnis für die Auflösungsumwandlung, der für jede Aufgabe geändert werden sollte, ohne eine andere Aufgabe zu beeinflussen.
  • Im Prozess zum Ändern des Parameters für die Komponente, die von den Aufgaben gemeinsam genutzt wird, wird ein "Parameter, der eine andere Aufgabe beeinflussen kann" geändert, während die gemeinsame Nutzung der Komponente fortgesetzt wird. Für einen "inhärenten Parameter, der für jede Aufgabe geändert werden sollte" muss eine neue Komponente bereitgestellt werden, und eine Aufgabe muss neu erzeugt werden.
  • 18A bis 18C sind spezifische schematische Darstellungen, die den Parameter-Änderungsprozess zeigen. In 18A wird in den Aufgaben 1, 2 und 3 zum Ausgeben ein und desselben Videosignals an verschiedenen Endgeräten die gemeinsam genutzte Komponente für Videoeingabe und Auflösungsumwandlung verwendet. Während des Auflösungsumwandlungs-Prozesses wird der Parameter des Vertikal-Horizontal-Verhältnisses auf 1/2 eingestellt, und der Bildqualitätsgenauigkeits-Parameter wird auf "mittel" eingestellt. In diesem Fall ist der "Parameter, der eine andere Aufgabe beeinflussen kann" der Bildqualitätsgenauigkeits-Parameter, und der "inhärente Parameter, der für jede Aufgabe geändert werden sollte", ist der Parameter des Vertikal-Horizontal-Verhältnisses.
  • Um den Parameter des Vertikal-Horizontal-Verhältnisses, der für die Auflösungsumwandlung in der Aufgabe 1 verwendet wird, auf 1/4 zu ändern, wird, wie in 18B dargestellt, die Komponente zum Durchführen der Auflösungsumwandlung in der Aufgabe 1 neu generiert, und der Parameter des Vertikal-Horizontal-Verhältnisses wird auf 1/4 eingestellt, während der Bildqualitätsgenauigkeits-Parameter auf mittel eingestellt wird. Die Auflösungsumwandlung für die Aufgaben 2 und 3 wird unter Verwendung der Komponenten durchgeführt, die gemeinsam verwendet werden.
  • Um den Bildqualitätsgenauigkeits-Parameter, der für die Auflösungsumwandlung in der Aufgabe 1 verwendet wird, von mittel auf hoch zu verbessern, wird, wie in 18C dargestellt, der Bildqualitätsgenauigkeits-Parameter der gemeinsam genutzten Komponenten von mittel auf hoch verändert. Dadurch wird die mit den Bildprozessen in den Aufgaben 1, 2 und 3 erzielte Bildqualität verbessert.
  • 19 ist ein Schema, das den Aufbau des Task-Managers 11 zeigt, der den Parameteränderungs-Prozess durchführt. Der Aufgabenmanager 11 enthält: eine Einheit 50 zum Bestimmen gemeinsamer Nutzung von Komponenten, die die Aufgaben-Informationen, die aktuell verarbeitet werden, prüft und bestimmt, ob eine Komponente, für die der Parameter zu ändern ist, von den Aufgaben gemeinsam verwendet wird, und eine Parameteränderungs-Einheit 51 zum Ändern des Parameters.
  • Beim Empfang einer Aufgaben-Nummer und des Parameters einer Komponente von der Aufgabeneingabe-Einheit 18 prüft die Einheit 450 zum Bestimmen gemeinsamer Nutzung von Komponenten die Aufgaben-Informationen 32, die aktuell verarbeitet werden, und bestimmt, ob die Komponente, für die der Parameter zu ändern ist, von den Aufgaben gemeinsam verwendet wird. Wenn die Einheit 50 zum Bestimmen gemeinsamer Nutzung von Komponenten bestimmt, dass die Komponente, für die der Parameter zu ändern ist, von den Aufgaben gemeinsam verwendet wird, ändert die Parameteränderungs-Einheit 51 entsprechend dem Parameter-Typ den Parameterwert der gemeinsam genutzten Komponente oder erzeugt eine Aufgabe neu und setzt einen Parameterwert, der in eine neue Komponente eingegeben wird. Der durch die Parameteränderungs-Einheit 51 geänderte Parameter wird zu der Komponentenverwaltungs-Einheit 12 und dem Video-Software-Bus-Manager 13 übertragen.
  • Die Bildverarbeitungsvorrichtung kann unter Berücksichtigung der gemeinsamen Nutzung des Prozesses zwischen den Aufgaben, wie oben beschrieben, einen Integrationsprozess, so beispielsweise die Bildsynthetisierung oder Video-/Audio-Multiplexieren, den Isolationsprozess zum Trennen von Videobildern und Tönen sowie den Prozess zum Ändern von Komponenten-Parametern durchführen.
  • (Dritte Ausführung)
  • Für eine dritte Ausführung wird die Verarbeitung erläutert, die durchgeführt wird, um einen Wiedergabemodus entsprechend einer Benutzeranforderung zu ändern und Videobilder störungsfrei wiederzugeben.
  • 20 ist ein Schema, das den Aufbau eines Task-Managers 11 zeigt, der den Videowiedergabe-Prozess durchführt. Der Task-Manager 11 enthält: eine Einheit 60 zum Anhalten und Wiederingangsetzen von Komponenten, die alle Komponenten, die eine Aufgabe bilden vorübergehend in Ruhezustand versetzt und die Operationen der Komponenten wieder in Gang setzt, und eine Einheit 61 zum Ändern des Modus eines Video-Software-Busses, die die Größe eines Puffers für den Video-Software-Bus ändert, der die Komponenten verbindet, oder die das Datenaustauschverfahren ändert. Es wird angenommen, dass in 21 eine Wiedergabe mit Einzelbildzufuhr in Gang ist. Eine Komponente 1 verarbeitet von einer Platte gelesene Daten und schreibt die resultierenden Daten in einen Software-Bus 1, eine Komponente 2 verarbeitet über den Software-Bus 1 gelesene Daten und schreibt die resultierenden Daten in einen Software-Bus 2, und eine Komponente 3 verarbeitet über den Software-Bus 2 gelesene Daten und gibt die resultierenden Daten an einem Endgerät aus. Das Endgerät empfängt ein Einzelbild 5, Einzelbilder 6 und 7 werden in den Software-Bus geschrieben, und Einzelbilder 8 und 9 werden in den Software-Bus 1 geschrieben.
  • Wenn ein Benutzer ein Wiedergabeverfahren ändert, werden eine Aufgabennummer und Busänderungs-Informationen, die eine Änderung der Puffergröße des Software-Busses und das Datenaustauschverfahren anzeigen (Änderung von "kein Ausdünnen der Einzelbilder" auf "Ausdünnen der Einzelbilder") über eine Aufgabeneingabe-Einheit 18 eingegeben.
  • Die in diesem Fall durchgeführten Abläufe sind in 22 dargestellt. Der Task-Manager 11 prüft Aufgaben-Informationen 32, die aktuell verarbeitet werden und gibt eine Anforderung an einen Komponenten-Manager 12 zum Anhalten der Operationen der durch eine angegebene Aufgabe verwendeten Komponenten aus, so dass die Operationen der Komponenten 1, 2 und 3 angehalten werden ((1) in 22). Die Einheit 61 zum Ändern des Modus des Video-Software-Busses erfasst, dass das Einzelbild 6 in den Software-Bus eines Video-Software-Bus-Managers 13 geschrieben worden ist und identifiziert das aktuell wiedergegebene Einzelbild als das Einzelbild 5 ((2)). Dann gibt die Einheit 61 zum Ändern eines Modus des Video-Software-Busses eine Anweisung an den Video-Software-Bus-Manager 13 zum Zurücksetzen der Software-Busse 1 und 2 aus ((3)).
  • Entsprechend dieser Bus-Rücksetz-Anweisung werden alle Zugriffe auf die Software-Busse 1 und 2 beendet, und das Verfahren zum Austauschen von Daten über die Software-Busse 1 und 2 wird zu dem durch die Aufgabeneingabe-Einheit 18 gegebenen Verfahren geändert, wenn gleichzeitig die Daten für die Software-Busse 1 und 2 gelöscht werden.
  • Danach gibt die Einheit 60 zum Anhalten und Wiederingangsetzen von Komponenten eine Anforderung an den Komponenten-Manager 12 dahingehend aus, die Operationen der Komponenten in Gang zu setzen ((4)). Wenn die Operationen der Komponenten 1, 2 und 3 in Gang gesetzt werden, informiert die Einheit 61 zum Ändern eines Modus des Video-Software-Busses die Komponente 1 über das aktuell wiedergegebene Einzelbild (Einzelbild 5) ((5)).
  • Die Komponente 1 beginnt die angegebene Operation beginnend mit dem Einzelbild, das auf das aktuell wiedergegebene (Einzelbild 5) folgt, und wenn die Benutzeranweisung Wechsel zu einer umgekehrten Einzelbildzufuhr fordert, wie dies in 21 dargestellt ist, werden die Daten zu dem Endgerät in der Reihenfolge Einzelbild 4, Einzelbild 3, ... übertragen. Wenn die Benutzeranweisung Wechsel zu Wiedergabe mit doppelter Geschwindigkeit fordert, werden die Daten zu dem Endgerät in der Reihenfolge Einzelbild 7, Einzelbild 9, ... übertragen.
  • Gemäß der Bildverarbeitungsvorrichtung dieser Ausführung werden, wie oben beschrieben, alle Videoinformationen in dem Video-Software-Bus entsprechend einer Nutzeranforderung zum Ändern eines Wiedergabemodus gelöscht, und die Kennung des letzten Einzelbildes, das von einer Komponente verarbeitet wird, die in der Aufgabe am weitesten nachgelagert angeordnet ist, kann ermittelt und zu der am weitesten vorgelagerten Komponente übertragen werden. Dadurch kann Videowiedergabe implementiert werden, wie sie von einem Benutzer angefordert wird.
  • Die Bildverarbeitungsvorrichtung der Erfindung kann nicht nur für ein Videoverteilungssystem verwendet werden, das verschiedene Video-Inhalte innerhalb nicht nur auf mehrere Betrachtungseinrichtungen, wie beispielsweise tragbare Videogeräte und Personal Computer über ein IP-Netzwerk, wie beispielsweise das Internet oder ein Intranet, verteilt, sondern auch für verschiedene andere Systeme, wie beispielsweise ein Rundsendesystem und ein Überwachungssystem.
  • Wie aus der Erläuterung ersichtlich wird, muss die Bildverarbeitungsvorrichtung der Erfindung nur ein Aufgabenszenario überschreiben, das Komponenten definiert, die eine Aufgabe bilden und ein Verfahren zum Austauschen von Daten über einen Software-Bus, so dass eine Funktion, die den Anforderungen eines Benutzers und einer Anwendung entspricht, die der Benutzer verwendet, geschaffen werden kann.
  • Des Weiteren kann durch einfaches Überschreiben einer Aufgabendatei eine Funktion dynamisch implementiert werden, indem beliebig eine Videoformatumwandlungs-Komponente, eine Auflösungsumwandlungs-Komponente und eine Bilderkennungs-Komponente kombiniert werden, ohne dass neues Zusammenstellen erforderlich ist.
  • Des Weiteren können, wenn eine Komponente, wie beispielsweise eine Auflösungsumwandlungs-Komponente oder eine Formatumwandlungs-Komponente, die eine große Anzahl von Berechnungen erfordert, von mehreren Funktionen verwendet wird, die Komponenten, die von den Funktionen gemeinsam genutzt werden können, automatisch optimiert werden, so dass insgesamt die Anzahl von Berechnungen reduziert werden kann.
  • Des Weiteren können der Integrationsprozess, wie beispielsweise Bildsynthetisierung oder Video-/Audio-Multiplexen, der Isolationsprozess, wie beispielsweise inverses Multiplexen, und ein Prozess zum Ändern der Parameter von Komponenten durchgeführt werden, wenn die gemeinsame Verwendung der Prozesse durch Funktionen berücksichtigt wird.
  • Des Weiteren können, da der Komponenten-Manager, die Komponenten in den Ruhezustand versetzt und der Video-Software-Bus-Manager den Modus für den Bus zwischen den Komponenten ändert, die Wiedergabemodi, wie beispielsweise Raten-Wiedergabemodus und Wiedergabemodus mit Einzelbildzufuhr, entsprechend einer Benutzeranforderung umgeschaltet werden.
  • Des Weiteren kann, da die Komponente, die am weitesten nachgelagert angeordnet ist, über die Kennung eines Einzelbildes informiert wird, das aktuell wiedergegeben wird, die Zeit zum Ändern des Wiedergabemodus verkürzt werden, und Bilder können unterbrechungsfrei eingegeben werden.
  • Des Weiteren können, da wie an einer Fertigungsstraße ein Mechanismus vorhanden ist, der nur einen erforderlichen Teil extrahiert und die stromauf gewonnenen Ergebnisse zu den aktuell gewonnenen Ergebnissen hinzufügt, Funktionen implementiert werden, die verschiedenen Anforderungen entsprechen.

Claims (12)

  1. Bildverarbeitungsvorrichtung zum Ausführen von Aufgaben gemäß Aufgabenszenario-Informationen, wobei die Bildverarbeitungsvorrichtung umfasst: eine Aufgaben-Speichereinheit (14) zum Speichern von Aufgabenszenario-Informationen (15), die Komponenten, die für eine Aufgabe verwendet werden, und Kopplungsinformationen der Komponenten anzeigen, von Komponenten-Informationen (16), die Charakteristiken der Komponenten anzeigen, und von Komponenten-Bibliotheken (17), in denen jede Komponente gespeichert ist; eine Aufgaben-Analysier-und-Verwaltungs-Einrichtung (11) zum Analysieren der Aufgabenszenario-Informationen (15), zum Bestimmen von Komponenten zur Verwendung für die Aufgabe und von Software-Bussen zur Verwendung beim Koppeln der Komponenten sowie zum Verwalten der Ausführung der Aufgabe; eine Komponenten-Verwaltungseinrichtung (12) zum Erzeugen oder Löschen von durch die Aufgaben-Analysier-und-Verwaltungs-Einrichtung (11) bestimmten Komponenten und zum Steuern der durch die Komponenten durchgeführten Operationen; und eine Software-Bus-Verwaltungseinrichtung (13) zum Erzeugen oder Löschen von durch die Aufgaben-Analysier-und-Verwaltungs-Einrichtung (11) bestimmten Software-Bussen und zum Steuern des Austauschs von Daten über die Software-Busse.
  2. Bildverarbeitungsvorrichtung nach Anspruch 1, wobei die Komponenten-Bibliothek (17) dynamisch verknüpft und aufgerufen werden kann, und wobei die Komponenten-Informationen (16) Informationen enthalten, die zum Verknüpfen der Komponentenbibliothek (17) erforderlich sind.
  3. Bildverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei, wenn eine neue Aufgabe durch die Bildverarbeitungsvorrichtung ausgeführt wird, die Aufgaben-Analysier-und-Verwaltungs-Einrichtung (11) Komponenten und Software-Busse bestimmt, die von der neuen Aufgabe und einer aktuell laufenden Aufgabe gemeinsam zu nutzen sind, die Komponenten-Verwaltungseinrichtung (12) auffordert, nur Komponenten zu erzeugen, die für die neue Aufgabe zu verwenden sind und nicht gemeinsam mit der aktuell laufenden Aufgabe zu nutzen sind, und die Software-Bus-Verwaltungseinrichtung (13) auffordert, nur die für die neue Aufgabe zu verwendenden Busse und nicht die gemeinsam mit der aktuell laufenden Aufgabe zu nutzenden Software-Busse zu erzeugen.
  4. Bildverarbeitungsvorrichtung nach Anspruch 3, wobei die Aufgaben-Analysier-und-Verwaltungs-Einrichtung (11) enthält: eine Aufgabenteilungs-Bestimmungseinrichtung (31), die die Komponenten erfasst, die gemeinsam von einer Aufgabe und einer weiteren Aufgabe genutzt werden können; und eine Einrichtung (30) zum Bestimmen der Erzeugung von Aufgabenkomponenten, mit der die zu erzeugenden Komponenten und Software-Busse bestimmt werden; wobei die Aufgabenteilungs-Bestimmungseinrichtung (31) eine aktuell laufende Aufgabe spezifiziert, die den gleichen Inhalt wie die neue Aufgabe verarbeitet, die für die neue Aufgabe eingesetzten Komponenten und die für die aktuell laufende Aufgabe eingesetzten Komponenten vorn beginnend hinsichtlich der Eigenschaften einschließlich der Parameter der Komponenten vergleicht und die Komponenten für die neue Aufgabe, die genau mit den Komponenten für die aktuell laufende Aufgabe übereinstimmen und sich vor einer nicht übereinstimmenden Komponente befinden, als gemeinsam zu nutzende Komponenten bestimmt.
  5. Bildverarbeitungsvorrichtung nach Anspruch 3, wobei eine Pfadintegrationsaufgabe zum Integrieren mehrerer Pfade, die die Verbindung der Komponenten darstellen, in die Aufgabenszenario-Informationen (15) geschrieben werden kann, und wobei die Aufgaben-Analysier-und-Verwaltungs-Einrichtung (15) die Aufgaben-Szenarioinformationen (15) analysiert und Komponenten zur Verwendung für die Pfadintegrationsaufgabe und einen Software-Bus zum Verbinden der Komponenten bestimmt.
  6. Bildverarbeitungsvorrichtung nach Anspruch 3, wobei eine Pfadaufteilungsaufgabe zum Aufteilen eines Pfads in mehrere Pfade, die die Verbindung der Komponenten darstellen, in die Aufgabenszenario-Informationen (15) geschrieben werden kann, und wobei die Aufgaben-Analysier-und-Verwaltungs-Einrichtung (13) die Aufgabenszenario-Informationen (15) analysiert und die Komponenten, die für Pfadaufteilungsaufgabe zu verwenden sind, sowie einen Software-Bus zum Verbinden der Komponenten bestimmt.
  7. Bildverarbeitungsvorrichtung nach Anspruch 3, wobei die Aufgaben-Analysier-und-Verwaltungs-Einrichtung (11) eine Einrichtung (50) zum Bestimmen der gemeinsamen Nutzung von Komponenten, die bestimmt, ob die Komponenten von mehreren Aufgaben gemeinsam genutzt werden, sowie eine Parameter-Änderungseinrichtung (51) enthält, die Parameter der gemeinsam genutzten Komponenten ändert, und wobei, wenn ein Befehl zum Ändern der Parameter der durch die aktuell laufende Aufgabe verwendeten Komponenten empfangen wird, die Parameter-Änderungseinrichtung (51) neue Parameter einstellt, die den Komponenten zugewiesen werden, indem sie die Parameter der gemeinsam genutzten Komponenten entsprechend einem Typ des zu ändernden Parameters ändert oder eine neue Aufgabe neu erzeugt.
  8. Bildverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei die Aufgaben-Analysierund-Verwaltungs-Einrichtung (11) enthält: eine Einrichtung (60) zum Anhalten und erneuten Ingangsetzen von Komponenten, mit der durch alle für die aktuell laufende Aufgabe verwendeten Komponenten durchgeführten Operationen angehalten werden und anschließend die durch die Komponenten durchgeführten Operationen wieder aufgenommen werden, wenn ein Befehl zum Ändern einer Puffergröße für den Software-Bus empfangen wird, der für die aktuell laufende Aufgabe oder ein Datenaustauschverfahren über den Software-Bus empfangen wird; und eine Einrichtung (61) zum Ändern des Modus eines Video-Software-Busses, die den Zugriff auf den Software-Bus aufhebt und die Puffergröße für den Software-Bus oder das Datenaustauschverfahren über den Software-Bus ändert.
  9. Bildverarbeitungsvorrichtung nach Anspruch 8, wobei, wenn die Einrichtung (60) zum Anhalten und erneuten Ingangsetzen von Komponenten die Operationen aller Komponenten anhält, die Einrichtung (61) zum Ändern des Modus eines Video-Software-Busses die letzte Frame-Kennung ermittelt, die durch die Komponente verarbeitet wurde, die sich am weitesten hinten befindet, und anschließend alle Videoinformationen an dem Software-Bus löscht, und wobei, wenn die Einrichtung (60) zum Anhalten und erneuten Ingangsetzen von Komponenten die Operation aller Komponenten wieder aufnimmt, die Einrichtung (61) zum Ändern des Modus eines Video-Software-Busses die Komponente benachrichtigt, die sich am weitesten vor der Frame-Kennung befindet.
  10. Bildverarbeitungsvorrichtung nach Anspruch 1, wobei eine durch die Komponenten-Verwaltungseinrichtung (12) erzeugte Komponente Eingangsdaten zusammen mit den durch die Komponente erzielten Ergebnissen ausgibt.
  11. Bildverarbeitungsvorrichtung nach Anspruch 1, wobei die Aufgaben-Speichereinrichtung (14) die Aufgabenszenario-Informationen (15) periodisch liest, um zu bestimmen, ob die Verbindung der für die Aufgabe verwendeten Komponenten richtig ist.
  12. Verfahren zum Verarbeiten von Bildern gemäß Aufgabenszenario-Informationen (15), wobei das Verfahren die folgenden Schritte umfasst: Lesen eines Aufgabenszenarios zum Auswählen geeigneter Aufgabenszenario-Informationen auf Basis von Aufgabeninformationen, Inhaltinformationen und Informationen über eine Ausgangsanschlussvorrichtung und zum Lesen der ausgewählten Aufgabenszenario-Informationen; Software-Bus-Erzeugung zum Erzeugen von Software-Bussen auf Basis von Kopplungsinformationen von Komponenten, die in den Aufgabenszenario-Informationen enthalten sind; Komponenten-Lesen zum Lesen von in den Aufgabenszenario-Informationen angegebenen Komponenten aus in einer Komponentenbibliothek gespeicherten Komponenten auf Basis der Aufgabenszenario-Informationen und der Komponenten-Informationen; Betreiben von Komponenten, um die gelesenen Komponenten so einzustellen, dass sie nacheinander in der Reihenfolge der Erwähnung in den Aufgabenszenario-Informationen betrieben werden; und Software-Bus-Datensteuerung zum Steuern von Daten, die in den Software-Bus geleitet werden, so dass durch eine Komponente erzeugte Ausgangsdaten als Eingangsdaten einer nächsten Komponente verwendet werden.
DE60318771T 2002-04-08 2003-04-08 Verwaltung der Softwarekomponenten in einem Bildverarbeitungssystem Expired - Lifetime DE60318771T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002105508 2002-04-08
JP2002105508A JP4086529B2 (ja) 2002-04-08 2002-04-08 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
DE60318771D1 DE60318771D1 (de) 2008-03-13
DE60318771T2 true DE60318771T2 (de) 2009-01-22

Family

ID=29390179

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60318771T Expired - Lifetime DE60318771T2 (de) 2002-04-08 2003-04-08 Verwaltung der Softwarekomponenten in einem Bildverarbeitungssystem

Country Status (5)

Country Link
US (1) US7228347B2 (de)
EP (1) EP1372071B1 (de)
JP (1) JP4086529B2 (de)
CN (1) CN1264336C (de)
DE (1) DE60318771T2 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4285307B2 (ja) 2004-04-02 2009-06-24 株式会社日立製作所 データ処理装置およびその方法
JP2006031261A (ja) * 2004-07-14 2006-02-02 Matsushita Electric Ind Co Ltd マルチメディア処理システム
JP2006309533A (ja) * 2005-04-28 2006-11-09 Hitachi Kokusai Electric Inc 分散処理プログラム
JP4828927B2 (ja) * 2005-12-16 2011-11-30 パナソニック株式会社 ストリーム制御装置
US20070156879A1 (en) * 2006-01-03 2007-07-05 Klein Steven E Considering remote end point performance to select a remote end point to use to transmit a task
JP2007282199A (ja) * 2006-03-15 2007-10-25 Ricoh Co Ltd フロー実装システム、フロー実装方法、フロー実装プログラム及び画像処理装置
JP4826407B2 (ja) * 2006-09-21 2011-11-30 株式会社日立製作所 記録再生装置
US9792090B2 (en) * 2006-11-03 2017-10-17 Metropolitan Life Insurance Co. Method and apparatus for achieving efficient upgrade of insurance products
CN101939727A (zh) * 2007-11-08 2011-01-05 遗传学金融(巴巴多斯)有限公司 执行复杂算法的分布式网络
JP2009116881A (ja) * 2008-11-07 2009-05-28 Hitachi Ltd データ処理装置およびその方法
CN102576287B (zh) * 2009-07-31 2016-09-28 三星电子株式会社 用于创建综合用户界面的方法和设备
JP4973714B2 (ja) * 2009-10-15 2012-07-11 株式会社日立製作所 記録再生装置
KR101059658B1 (ko) * 2010-07-01 2011-08-25 엔에이치엔(주) 개발자 인터페이스 제공 방법 및 시스템
JP4875199B1 (ja) 2010-11-30 2012-02-15 株式会社東芝 番組合成装置および番組合成方法
CN102486738B (zh) * 2010-12-06 2013-07-24 中国航空工业集团公司第六三一研究所 高可靠性空投空降任务管理计算机
KR20130039213A (ko) * 2011-10-11 2013-04-19 한국전자통신연구원 장치 클라우드를 이용한 가상 머신 제공 시스템 및 그 방법
US9626273B2 (en) 2011-11-09 2017-04-18 Nec Corporation Analysis system including analysis engines executing predetermined analysis and analysis executing part controlling operation of analysis engines and causing analysis engines to execute analysis
WO2013099062A1 (ja) * 2011-12-28 2013-07-04 日本電気株式会社 解析処理システム
US20140007004A1 (en) * 2012-06-29 2014-01-02 Nokia Corporation Method and apparatus for task chaining
US9378055B1 (en) 2012-08-22 2016-06-28 Societal Innovations Ipco Limited Configurable platform architecture and method for use thereof
US10154095B2 (en) 2014-05-21 2018-12-11 N.Io Innovation, Llc System and method for aggregating and acting on signals from one or more remote sources in real time using a configurable platform instance
US9891893B2 (en) 2014-05-21 2018-02-13 N.Io Innovation, Llc System and method for a development environment for building services for a platform instance
EP3146428A1 (de) 2014-05-21 2017-03-29 Societal Innovations Ipco Limited System und verfahren für voll konfigurierbare echtzeitverarbeitung
JP6531374B2 (ja) * 2014-10-31 2019-06-19 キヤノンマーケティングジャパン株式会社 情報処理装置、その制御方法、及びプログラム
WO2016151398A1 (en) 2015-03-23 2016-09-29 Societal Innovations Ipco Limited System and method for configuring a platform instance at runtime
US20210208929A1 (en) * 2015-11-20 2021-07-08 N.Io Innovation, Llc System And Method For Providing Configurable Communications For A Software Platform On A Per Service Basis
CN106959863B (zh) * 2017-03-30 2021-03-12 成都长天信息技术有限公司 一种静态流媒体处理方法及装置
CN107291565B (zh) * 2017-06-09 2020-07-14 千寻位置网络有限公司 运维可视化自动化作业平台及实现方法
CN107910003A (zh) * 2017-12-22 2018-04-13 智童时刻(厦门)科技有限公司 一种用于智能设备的语音交互方法及语音控制系统
JP7449841B2 (ja) * 2020-11-02 2024-03-14 株式会社日立製作所 中継装置および中継方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992017875A1 (en) * 1991-04-08 1992-10-15 Hitachi, Ltd. Method and apparatus for image or data processing, and monitoring method and apparatus using the same
JP2000056958A (ja) 1998-08-10 2000-02-25 Toshiba Corp 画像処理ソフトウエアの自動生成方法及びその装置
JP3880277B2 (ja) * 2000-03-03 2007-02-14 キヤノン株式会社 画像処理装置およびその制御方法
EP1132863A1 (de) 2000-03-08 2001-09-12 MVTec Software GmbH Verfahren und System zur Entwicklung von Bildverarbeitungsanwendungen
US6785748B2 (en) * 2000-07-18 2004-08-31 Canon Kabushiki Kaisha Image communication apparatus wirelessly connectable to other apparatuses, system having the image communication apparatus, and method for controlling the same
US6925475B2 (en) * 2001-10-12 2005-08-02 Commissariat A L'energie Atomique Process and apparatus for management of multimedia databases
US20040030992A1 (en) * 2002-08-06 2004-02-12 Trandafir Moisa System and method for management of a virtual enterprise

Also Published As

Publication number Publication date
JP2003303102A (ja) 2003-10-24
CN1264336C (zh) 2006-07-12
US7228347B2 (en) 2007-06-05
EP1372071A3 (de) 2006-05-03
EP1372071B1 (de) 2008-01-23
CN1476232A (zh) 2004-02-18
DE60318771D1 (de) 2008-03-13
EP1372071A2 (de) 2003-12-17
JP4086529B2 (ja) 2008-05-14
US20030212831A1 (en) 2003-11-13

Similar Documents

Publication Publication Date Title
DE60318771T2 (de) Verwaltung der Softwarekomponenten in einem Bildverarbeitungssystem
DE69934808T2 (de) Automatische konvertierung visueller darstellungen in digitale datenformate
DE69635528T2 (de) Bildverarbeitungsgerät
DE602004007199T2 (de) Aufzeichnungs- und Wiedergabesystem und -verfahren für Videodaten mit einer Aufnahmepositionsinformation
DE69908663T2 (de) Wiedergabeverfahren, Wiedergabegerät und Computerlesbares Speichermedium
DE10251671B4 (de) Persönlicher Videorekorder mit einer Netzschnittstelle
DE69836790T2 (de) Suchen von Videobildern, Produktion von Videoinformationen und Speichermedium zur Speicherung eines Verarbeitungsprogramms dafür
DE69530263T2 (de) Verfahren und Gerät zur Aufzeichnung und Verarbeitung von Daten
DE69433047T2 (de) Verfahren und Anordnung zur Zuteilung von Systembetriebsmitteln, um die Dienstqualität zu sichern
DE60016032T2 (de) Videoschnittarbeitsflussverfahren und -system
DE69630721T2 (de) Filmwiederauffindungssystem
DE602004009622T2 (de) Datenübertragung
DE69838786T2 (de) Vorrichtung und verfahren zur spekulativen dekompression von kompromierten bilddaten in einer bildaufnahmeeinheit
DE69836890T2 (de) System zur Kodierung und Aufzeichnung einer Vielzahl von Bildern
DE69731995T2 (de) Informationsübertragungsverfahren und -vorrichtung
DE10146580A1 (de) Abbildungssystem mit von einem Benutzer auswählbaren, vorgespeicherten Dateien zur Konfiguration einer Kommunikation mit entfernten Vorrichtungen
DE19835647A1 (de) Computersystem und Verfahren zum Lesen von HID-Dateneinheiten
DE69819507T2 (de) Set-top-box gerätetreiber für die ieee1394 norm
DE69730399T2 (de) Schnittstellengerät zur Anpassung von Datenbreite an Systembusbreite
DE69732061T2 (de) Datenverarbeitungssystem und -verfahren
DE10226611A1 (de) Eingabevorrichtungssteuerung mit mehreren Instanzen
DE102007010330B4 (de) Bildspeichersystem
DE69932524T2 (de) Verfahren zum handhaben von datenobjekten in vom benutzer definierten datentypen
DE69930705T2 (de) Netzwerkgerät und Netzwerkkommunikationsverfahren zur Bilderübertragung in einem mobilen Netzwerk
DE10026392A1 (de) Verfahren und Anordnung zur Kodierung von Livebildern in der Mikroskopie

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP