-
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.