Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TRANSMISSION OF IMAGE DATA DURING APPLICATION SHARING
Document Type and Number:
WIPO Patent Application WO/2006/005495
Kind Code:
A1
Abstract:
The invention relates to the transmission of image data during which first image data are continuously generated by a first computer (PC1) and are or can be displayed in the form of a first temporal sequence of first images on an image display device of the first computer. At least a partial number of the first images are continuously acquired and corresponding second image data are generated therefrom and transmitted to a compression device (CO). The second image data are compressed by the compression device for a data transmission whereby resulting in the generation of third image data, whereby second image data are continuously taken into consideration during compression that correspond to a portion of the first sequence with a number of the first images. The third image data are output to a data transmission device (PR) that generates data transmission signals corresponding to the third image data. As a result, after the data transmission signals are received and after a decompression (DEC) effected by a second computer (PC2), a second temporal sequence of second images that corresponds to the third image data can be generated that, with regard to the continuous generation of the first image data, can be displayed in real time. Items of control information sent from the second computer (PC2) are received by the data transmission device (PR) and used for controlling the operation of the first computer whereby influencing the generation of the first image data.

Inventors:
STORK ANDRE (US)
SANTOS PEDRO (DE)
ACRI DOMINIK (DE)
Application Number:
PCT/EP2005/007283
Publication Date:
January 19, 2006
Filing Date:
June 30, 2005
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRAUNHOFER GES FORSCHUNG (DE)
STORK ANDRE (US)
SANTOS PEDRO (DE)
ACRI DOMINIK (DE)
International Classes:
H04N7/24; (IPC1-7): H04N7/24; G06F3/14; H04N7/26
Foreign References:
US20030191860A12003-10-09
US20030085922A12003-05-08
US6225984B12001-05-01
US6384821B12002-05-07
US6078349A2000-06-20
Attorney, Agent or Firm:
Effert, Bressel Und Kollegen (Berlin, DE)
Download PDF:
Claims:
Patentansprüche
1. Verfahren zur Übertragung von Bilddaten, wobei (a) von einem ersten Computer fortlaufend erste Bilddaten erzeugt werden, die auf einer Bilddarstellungseinrichtung des ersten Computers als erste zeitliche Folge von ersten Bildern dargestellt werden oder dargestellt werden können, (b) fortlaufend zumindest eine Teilanzahl der ersten Bilder erfasst wird und daraus entsprechende zweite Bilddaten erzeugt und zu einer Komprimierungseinrichtung übertragen werden, (c) die zweiten Bilddaten von der Komprimierungseinrichtung für eine Datenübertragung komprimiert werden, sodass dritte Bilddaten entstehen, wobei bei der Komprimierung fortlaufend zweite Bilddaten berücksichtigt werden, die einem Teil der ersten Folge mit einer Mehrzahl der ersten Bilder entsprechen, (d) die dritten Bilddaten an eine Datenübertragungseinrichtung ausgegeben werden, die den dritten Bilddaten entsprechende Datenübertragungssignale erzeugt, sodass nach einem Empfang der Datenübertragungssignale und nach einer Dekomprimierung durch einen zweiten Computer eine den dritten Bilddaten entsprechende zweite zeitliche Folge von zweiten Bildern erzeugt werden kann, die, bezogen auf die fortlaufende Erzeugung der ersten Bilddaten, in Echtzeit dargestellt werden kann, und (e) von dem zweiten Computer gesendete Steuerinformationen von der Datenübertragungseinrichtung empfangen werden und zur Steuerung des Betriebs des ersten Computers verwendet werden, sodass die Erzeugung der ersten Bilddaten beeinflusst wird.
2. Verfahren nach Anspruch 1 , wobei die Datenübertragungssignale über eine DatenFernübertragungsverbindung zu dem zweiten Computer übertragen werden.
3. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Datenübertragungssignale über eine Datenübertragungsverbindung übertragen werden und anschließend dekomprimiert werden, sodass dekomprimierte vierte Bilddaten zur Verfügung stehen, und wobei der zweite Computer aus den dekomprimierten vierten Bilddaten eine zweite zeitliche Folge von zweiten Bildern erzeugt und in Echtzeit auf einer Bilddarstellungseinrichtung darstellt.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei mit den Datenübertragungssignalen wiederholt Kontrollsignale zu dem zweiten Computer übertragen werden, wobei von dem zweiten Computer zumindest ein Teil der Kontrollsignale oder entsprechende Antwortsignale zu dem ersten Computer zurück übertragen werden und wobei unter Verwendung der zurück übertragenen Kontrollsignale oder Antwortsignale entschieden wird, ob eine Komprimierungsrate bei der Komprimierung der zweiten Bilddaten und/oder eine Datenrate der von der Komprimierungseinrichtung ausgegebenen dritten Bilddaten geändert wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei bei der Komprimierung abhängig von Inhalten der ersten Bilder eine mit Verlust von Bildinformationen behaftete Komprimierung der zweiten Bilddaten durchgeführt wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die ersten Bilder von einem auf dem ersten Computer ausgeführten Bilderfassungsprogramm fortlaufend erfasst werden und daraus die zweiten Bilddaten erzeugt werden.
7. Verfahren nach dem vorhergehenden Anspruch, wobei das Bilderfassungsprogramm und zumindest ein Anwendungsprogramm, mit dem die ersten Bilddaten erzeugt werden, gleichzeitig oder quasigleichzeitig von einem zentralen Datenprozessor des ersten Computers ausgeführt werden.
8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die ersten Bilder jeweils einem gesamten Bildinhalt der Bilddarstellungseinrichtung des ersten Computers entsprechen.
9. Verfahren nach dem vorhergehenden Anspruch, wobei für die Erfassung der ersten Bilder Bildinformationen über die ersten Bilder verwendet werden, die unmittelbar von einem Betriebssystem des ersten Computers zur Verfügung gestellt werden, wobei Bildinformationen Bildeigenschaften des jeweiligen ersten Bildes, insbesondere Bildgröße, örtliche Bildauflösung, Farbtiefe und/oder Bildformat, und eine Speicheradresse und/oder einen Pointer auf eine Speicheradresse eines Bilddatenspeichers aufweisen und wobei unter der Speicheradresse die Bilddaten des jeweils zu erfassenden ersten Bildes gespeichert sind bzw. wobei unter Verwendung des Pointers der Speicherort der Bilddaten in dem Bilddatenspeicher gefunden werden kann.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei die ersten Bilddaten zumindest ein bewegliches dreidimensionales Objekt darstellen und wobei das dreidimensionale Objekt mit einer auf dem ersten Computer ausgeführten Anwendung erzeugt wird.
11. Verfahren nach dem vorhergehenden Anspruch, wobei die ersten Bilddaten geeignet sind, auf der Bilddarstellungseinrichtung des ersten Computers durch zwei parallele erste zeitliche Folgen von ersten Bildern dreidimensional dargestellt zu werden, und wobei erste Bilder von beiden ersten Folgen erfasst, komprimiert und mit Hilfe der Datenübertragungssignale übertragen werden, sodass auf der Bilddarstellungseinrichtung des zweiten Computers in Echtzeit den ersten Bilddaten entsprechende Bilder dreidimensional dargestellt werden können.
12. Anordnung zur Übertragung von Bilddaten, mit: (a) einem ersten Computer (PC1), in dem eine Anwendung gespeichert ist, die ausgestaltet ist, bei Ausführung durch den ersten Computer (PC1) fortlaufend erste Bilddaten zu erzeugen, die auf einer Bilddarstellungseinrichtung des ersten Computers als erste zeitliche Folge von ersten Bildern dargestellt werden können, (b) eine Erfassungseinrichtung (FG), die mit dem ersten Computer (PC1 ) verbunden ist oder Teil des ersten Computers (PC1 ) ist und die ausgestaltet ist, fortlaufend zumindest eine Teilanzahl der ersten Bilder zu erfassen und daraus entsprechende zweite Bilddaten zu erzeugen und zu einer Komprimierungseinrichtung zu übertragen, (c) der Komprimierungseinrichtung (CO), die mit der Erfassungseinrichtung (FG) verbunden ist und ausgestaltet ist, die zweiten Bilddaten von der Komprimierungseinrichtung für eine Datenübertragung zu komprimieren, sodass dritte Bilddaten entstehen, wobei bei der Komprimierung fortlaufend zweite Bilddaten berücksichtigt werden, die einem Teil der ersten Folge mit einer Mehrzahl der ersten Bilder entsprechen, (d) einer Übertragungseinrichtung (PC1 ), die mit der Komprimierungseinrichtung (CO) verbunden ist und die ausgestaltet ist, die dritten Bilddaten an eine Datenübertragungseinrichtung (PR) auszugeben, die den dritten Bilddaten entsprechende Datenübertragungssignale erzeugt, und (e) einer Empfangseinrichtung (PC1 ), die mit dem ersten Computer (PC1) verbunden ist oder Teil des ersten Computers (PC1 ) ist und die ausgestaltet ist, von einem zweiten Computer (PC2) gesendete Steuerinformationen von der Datenübertragungseinrichtung zu empfangen, wobei der erste Computer ausgestaltet ist, die Steuerinformationen zur Steuerung des Betriebs der Anwendung zu verwenden, sodass die Erzeugung der ersten Bilddaten beeinflusst wird.
13. Anordnung nach dem vorhergehenden Anspruch, wobei die Komprimierungseinrichtung (CO) ausgestaltet ist, bei der Komprimierung abhängig von Inhalten der zweiten Bilddaten eine mit Verlust von Bildinformationen behaftete Komprimierung der zweiten Bilddaten durchzuführen.
14. Anordnung nach einem der beiden vorhergehenden Ansprüche, wobei die Erfassungseinrichtung (FG) als Anwendungsprogramm ausgeführt ist, das auf dem ersten Computer gespeichert ist und das bei seiner Ausführung fortlaufend zumindest die Teilanzahl der ersten Bilder erfasst.
15. Personal Computer, der eine Anordnung nach einem der vorhergehenden Ansprüche aufweist.
16. Application SharingSystem, mit der Anordnung nach einem der Ansprüche 12 bis 14, und mit einem zweiten Computer (PC2), der eine Empfangseinrichtung (PC2) zum Empfangen der Datenübertragungssignale, eine Dekomprimierungseinrichtung (DEC) zur Dekomprimierung der Datenübertragungssignale und eine Bilddarstellungseinrichtung (SC) aufweist, wobei die Dekomprimierungseinrichtung (DEC) ausgestaltet ist, aus den Datenübertragungssignalen dekomprimierte vierte Bilddaten zu erzeugen, und wobei der zweite Computer (PC2) ausgestaltet ist, aus den vierten Bilddaten eine zweite zeitliche Folge von zweiten Bildern zu erzeugen, die zumindest einem Teil der ersten zeitlichen Folge von ersten Bildern entspricht und die, bezogen auf die fortlaufende Erzeugung der ersten Bilddaten, in Echtzeit dargestellt werden kann.
Description:
Übertragung von Bilddaten bei Application Sharing

Beschreibung

Die Erfindung betrifft ein Verfahren und eine Anordnung zum Übertragen von Bilddaten, wobei die Bilddaten teilweise oder vollständig von zumindest einer auf einem ersten Computer, insbesondere auf einem konventionellen Personal Computer (PC), ausgeführten Anwendung (Computerprogramm) erzeugt werden. Die Bilddaten können auf einer Bilddarstellungseinrichtung des ersten Computers als Folge von Bildern dargestellt werden oder werden darauf dargestellt. Außerdem werden im Zuge eines Application Sharing auf einer Bilddarstellungseinrichtung eines zweiten Computers Bilder dargestellt, die den auf dem ersten Computer erzeugten Bilddaten entsprechen. Durch Steuersignale kann die zumindest eine Anwendung gesteuert werden, sodass die weitere Erzeugung der Bilddaten beeinflusst wird. Diese Steuersignale werden von einem Benutzer des zweiten Computers erzeugt oder ausgelöst.

Im Fall des Application Sharing wird auf dem ersten Computer zumindest eine Anwendung ausgeführt, deren Resultate zumindest teilweise auf einem zweiten Computer oder einer anderen Einrichtung (die eigenständig ist und entfernt von dem ersten Computer angeordnet ist) zur Verfügung stehen sollen. Die eigentliche Anwendung wird also nicht auf dem zweiten Computer oder der anderen Einrichtung ausgeführt. Daher sind i. d. R. auch keine Lizenzgebühren für die Ausführung auf dem zweiten Computer oder der anderen Einrichtung zu zahlen. Ein weiterer Vorteil des Application Sharing besteht darin, dass der zweite Computer oder die andere Einrichtung nicht für die Ausführung der Anwendung vorbereitet sein muss. Beispielsweise müssen nicht die für die Ausführung der Anwendung erforderlichen Daten vorhanden sein und/oder muss nicht dieselbe Rechenleistung wie bei dem ersten Computer zur Verfügung stehen. Auch ist es somit möglich, die Resultate der Anwendung einer Mehrzahl von zweiten Computern und/oder anderen Einrichtungen zur Verfügung zu stellen, und zwar wahlweise und/oder zeitlich nacheinander. In dieser Beschreibung wird unter dem Begriff "zweiter Computer" auch immer der Fall der anderen Einrichtung mit verstanden. Bei der anderen Einrichtung handelt es sich beispielsweise um eine Station, die alle üblichen Bedien- und Anzeigeelemente eines Computers hat, an der jedoch nur begrenzte Rechenleistung oder eine auf den Betrieb der Bedien- und Anzeigeelemente spezialisierte Recheneinrichtung zur Verfügung steht. Insbesondere soll jedoch die andere Einrichtung in der Lage sein, die Datenübertragungssignale zu empfangen und die entsprechenden Bilder darzustellen.

Derzeit existiert kein Application Sharing-System, mit dem Bilder, die die Bewegung von Objekten darstellen, in zufrieden stellender Weise bei einer heute üblichen Farbtiefe von zumindest 16 Bit und bei Auflösungen von mindestens 800*600 Pixeln auf der Bilddarstellungseinrichtung des zweiten Computers dargestellt werden können, sodass ein Benutzer des zweiten Computers die auf dem ersten Computer ausgeführte Anwendung in Echtzeit steuern kann. Insbesondere kommt es bei Anwendungen der grafischen Datenverarbeitung - z.B. CAD (Computer Aided Design), CAS (Computer Aided Styling) - darauf an, dass der Benutzer die Bewegung kontinuierlich und ohne erkennbare Zeitverzögerung sehen kann. Andernfalls wird er unter Umständen Steuerbefehle (z. B. mit einer Maus erzeugte Steuerbefehle) auslösen, die nicht mehr dem aktuellen Ausführungszustand der Anwendung entsprechen.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Anordnung der eingangs genannten Art anzugeben, die ein Application Sharing mit einer qualitativ hohen Darstellung von Bilddaten auf der Bilddarstellungseinrichtung des zweiten Computers ermöglichen. Insbesondere sollen die Merkmale eines Application Sharing-Systems erreicht werden können, das die in dem vorangegangenen Absatz beschriebenen Merkmale aufweist, nämlich eine feine örtliche Auflösung, eine geringe erforderliche Bandbreite der Übertragungsverbindung zwischen dem ersten Computer und dem zweiten Computer, die Fähigkeit, die auf dem ersten Computer erzeugten Bilder in Echtzeit auf dem zweiten Computer darstellen zu können, und eine hohe Bildwiederholrate.

Es wird ein Verfahren zur Übertragung von Bilddaten vorgeschlagen, wobei (a) von einem ersten Computer fortlaufend erste Bilddaten erzeugt werden, die auf einer Bilddarstellungseinrichtung des ersten Computers als erste zeitliche Folge von ersten Bildern dargestellt werden oder dargestellt werden können, (b) fortlaufend zumindest eine Teilanzahl der ersten Bilder erfasst wird und daraus entsprechende zweite Bilddaten erzeugt und zu einer Komprimierungseinrichtung übertragen werden, (c) die zweiten Bilddaten von der Komprimierungseinrichtung für eine Datenübertragung komprimiert werden, sodass dritte Bilddaten entstehen, wobei bei der Komprimierung fortlaufend zweite Bilddaten berücksichtigt werden, die einem Teil der ersten Folge mit einer Mehrzahl der ersten Bilder entsprechen, (d) die dritten Bilddaten an eine Datenübertragungseinrichtung ausgegeben werden, die den dritten Bilddaten entsprechende Datenübertragungssignale erzeugt, sodass nach einem Empfang der Datenübertragungssignale und nach einer Dekomprimierung durch einen zweiten Computer eine den dritten Bilddaten entsprechende zweite zeitliche Folge von zweiten Bildern erzeugt werden kann, die, bezogen auf die fortlaufende Erzeugung der ersten Bilddaten, in Echtzeit dargestellt werden kann, und (e) von dem zweiten Computer gesendete Steuerinformationen von der Datenübertragungseinrichtung empfangen werden und zur Steuerung des Betriebs des ersten Computers verwendet werden, sodass die Erzeugung der ersten Bilddaten beeinflusst wird. -A -

Es ist nicht erforderlich, dass die ersten Bilder mit derselben Frequenz erfasst werden, die als Bildwiederholfrequenz von modernen Computerbildschirmen üblich ist. Vielmehr reicht es für das Application Sharing beispielsweise aus, 15 erste Bilder pro Sekunde zu erfassen und daraus die zweiten Bilddaten zu erzeugen.

Unter Echtzeit wird verstanden, dass die zweite Folge von Bildern innerhalb eines definierten Zeitraumes erzeugt werden kann. Insbesondere kann eine Länge des Zeitraumes definiert werden, der bildweise mit der fortlaufenden Erzeugung der ersten Bilddaten oder mit der Darstellung der ersten zeitlichen Folge von Bildern beginnt und innerhalb dessen zumindest die Erfassung des Bildes, die Komprimierung der zweiten Bilddaten und die Datenübertragung abgeschlossen sind. Vorzugsweise ist die Länge des Zeitraumes auf einen Wert festgelegt, sodass ein Betrachter nur geringfügige Unterschiede zwischen der Darstellung der ersten Folge von Bildern und der Darstellung der zweiten Folge von Bildern wahrnehmen kann oder sodass der zeitliche Unterschied der Darstellungen wie bei anderen Datenfernübertragungen von Daten (z. B. der Übertragung von akustischen Signale während eines Telefongesprächs) ist. Ein derartig geringer zeitlicher Unterschied der Darstellungen ist für das Application Sharing ein entscheidender Vorteil.

Unter Echtzeit wird insbesondere auch verstanden, dass die zweite Folge von Bildern fortlaufend mit derselben zeitlichen Verzögerung oder derselben maximalen zeitlichen Verzögerung gegenüber der Erzeugung oder Darstellung der ersten Folge von Bildern sichtbar dargestellt werden kann.

Gemäß einem wesentlichen Gedanken der vorliegenden Erfindung werden bei der Komprimierung fortlaufend zweite Bilddaten berücksichtigt, die einem Teil der ersten Folge mit einer Mehrzahl der ersten Bilder entsprechen. Aufgrund der Mehrzahl der ersten Bilder, die durch die Komprimierung der zweiten Bilddaten berücksichtigt werden, kann die Komprimierung effektiver, mit höherem Komprimierungsgrad durchgeführt werden. Dabei können insbesondere zeitliche Entwicklungen bei der Veränderung der Bildinhalte berücksichtigt werden.

Bei der Mehrzahl der Bilder kann es sich um zwei Bilder handeln. Vorzugsweise werden bei der Komprimierung jedoch fortlaufend (insbesondere zu vielen verschiedenen Zeitpunkten der Komprimierung) mehr als zwei Bilder (d.h. eine Vielzahl von Bildern) berücksichtigt, z. B. vier bis acht Bilder. Ausnahmen davon können zeitweise und wiederholt gemacht werden, etwa um einen so genannten Keyframe oder I-Frame (Bild, dessen Bilddaten unabhängig von anderen Bildern sind) zu übertragen. Die Anzahl der Bilder, die bei der Komprimierung berücksichtigt werden, kann sich mit fortschreitender Zeit verändern und/oder schwanken.

Bevorzugtermaßen wird dabei abhängig vom Inhalt der zweiten Bilddaten eine verlustbehaftete Komprimierung der zweiten Bilddaten durchgeführt. Optional kann die verlustbehaftete Komprimierung der zweiten Bilddaten außerdem abhängig von der zur Verfügung stehenden Datenübertragungskapazität der Signalübertragung durchgeführt werden.

Insbesondere kann/können bei der Komprimierung eine oder mehrere der folgenden Maßnahmen angewendet werden: • Informationen über Objekte, die sich in der ersten zeitlichen Folge von Bildern bewegen, werden mit feinerer örtlicher Auflösung und/oder größerer Farbtiefe übertragen als ruhende Teile der Bilder. Vorzugsweise wird nur die Farbtiefe reduziert und/oder die Farbtiefe stärker reduziert als die örtliche Auflösung. Dem entspricht die Fähigkeit des menschlichen Auges, Helligkeitsunterschiede besser auflösen zu können als Farbunterschiede. • Informationen über Objekte, die sich vor einem Hintergrund bewegen, werden aus der Folge von Bildern gewonnen und zumindest zeitweise separat übertragen. - S -

Es wird bei der Komprimierung, eine Wavelet-Transformation angewendet. Die Komprimierung wird dynamisch an die Datenübertragungsrate angepasst. Informationen über Teilinhalte von Bildern, die in der ersten zeitlichen Folge über einen gegebenen Zeitraum konstant bleiben, werden durch die Komprimierung zumindest teilweise eliminiert. Es werden statistische Informationen über Inhalte einzelner Bilder und/oder über Inhalte einer Mehrzahl von Bildern in der ersten Folge von Bildern zur Komprimierung verwendet. Beispielsweise werden hierbei Korrelationen zwischen zeitlich (d. h. in verschiedenen Bildern) und räumlich (d. h. in demselben Teilbereich eines oder mehrerer Bilder) benachbarten Bildelementen (Pixeln) verwendet. Insbesondere können statistisch häufiger auftretende Bildstrukturen unter Verwendung von kürzeren Codewörtern (d.h. Datenstrukturen mit weniger Dateiibits) codiert werden als Bildstrukturen, die statistisch seltener auftreten. Es wird eine (insbesondere vorwärts gerichtete diskrete) Kosinus- Transformation angewendet, um festzustellen, für welche Teilbereiche von Bildern eine größere Datenkapazität bei der Übertragung zur Verfügung gestellt wird. Es werden bei der Komprimierung Informationen darüber erzeugt, mit denen auf der Empfangsseite (durch Dekomprimierung) zeitlich zwischen anderen Bildern liegende Bilder oder zeitlich in der Zukunft liegende Bilder errechnet werden können. Insbesondere kann bei der Erzeugung der Informationen nach Teilbildern gesucht werden, die sich gegenüber zeitlich benachbarten Bildern nicht verändert haben bzw. verändern werden. Ein weiterer Anwendungsfall betrifft die Situation, dass sich bewegende Objekte in der Regel über einen Zeitraum kontinuierlich und in ähnlicher Weise weiter bewegen (so genanntes Motion Prediction, deutsch: Bewegungsvorhersage). Diese Situation tritt häufig bei Anwendungen der grafischen Datenverarbeitung auf. Insbesondere kann die Komprimierung gemäß dem Standard MPEG (Moving Picture Experts Group)-4 durchgeführt werden. Der MPEG-4 Standard wurde entwickelt, um Audio- und Videodaten zur Speicherung auf CD-ROM und DVD und für das digitale Fernsehen zu komprimieren. Der vorliegenden Erfindung liegt die Erkenntnis zu Grunde, dass eine derartige Komprimierung für ein Application Sharing geeignet ist. Damit wird insbesondere der Meinung der Fachwelt begegnet, dass bei einem Application Sharing eine verlustlose Komprimierung anzuwenden ist, also eine Reduktion der in den übertragenen Signalen enthaltenen Informationen nicht zulässig ist. Die Erfindung ist jedoch nicht auf MPEG-4 beschränkt. Vielmehr kann beispielsweise auch eine Komprimierung gemäß dem MPEG-2 Standard durchgeführt werden.

Der Rechenaufwand für die Dekomprimierung auf der Empfangsseite ist in der Regel geringer als der Rechenaufwand für die Komprimierung. Ein Vorteil besteht also darin, dass die Rechenleistung des zweiten Computers geringer sein kann als die Rechenleistung des ersten Computers.

Bei einer speziellen Ausgestaltung der Erfindung wird auf dem ersten Computer eine Anwendung ausgeführt, die zumindest zeitweise grafisch darstellbare Objekte erzeugt, die sich kontinuierlich bewegen und/oder die dreidimensionale Objekte sind, wobei die Objekte bzw. die Bewegung mit der ersten Folge von Bildern dargestellt wird bzw. dargestellt werden kann. Insbesondere bei dieser Ausgestaltung hat sich die erfindungsgemäße Komprimierung mit Berücksichtigung einer Mehrzahl der ersten Bilder als zweckmäßig erwiesen. Insbesondere hierbei kann eine verlustbehaftete Komprimierung durchgeführt werden, ohne dass ein Benutzer des zweiten Computers dies als erhebliche Minderung der Qualität bei der Darstellung empfindet. Dies betrifft vor allem Bilddaten aus Zeiträumen, in denen der Benutzer selbst eine Bewegung eines Objekts herbeiführt und/oder eine Veränderung des Objekts herbeiführt (beispielsweise unter Verwendung einer Zeigereinrichtung). Insbesondere zu diesem Zweck werden verschiedene Bildbereiche desselben Bildes und/oder verschiedene Bilder der Folge von Bildern auf unterschiedliche örtliche Bildauflösungen komprimiert und/oder eine Bewegungsvorhersage bei der Komprimierung verwendet.

Bei den ersten Bilddaten handelt es sich insbesondere um Bilddaten, die zur Anzeige auf einem Bildschirm bestimmt sind. Im Gegensatz zu Systemen, bei denen die ersten Bilddaten dem Computer zugeführt werden (beispielsweise von einer externen Kamera), werden die ersten Bilddaten von dem ersten Computer selbst erzeugt, insbesondere von einer oder mehreren Anwendungen. Dabei kann eine Mehrzahl von Computerprogrammen gleichzeitig und/oder quasi-gleichzeitig von dem ersten Computer ausgeführt werden, beispielsweise unter Verwaltung eines Bildschirmfenster-basierten Betriebssystems wie Windows® von der Microsoft Corporation, Unix oder Linux.

Eine- bevorzugte Ausführungsform der Erfindung ist speziell für den Einsatz auf Computern mit solchen Betriebssystemen ausgestaltet. Beispielsweise werden fortlaufend die ersten Bilder erfasst, die das Resultat von mehreren auf dem ersten Computer ausgeführten Computerprogrammen sind, und es werden diesen ersten Bildern entsprechende zweite Bilddaten fortlaufend zu der Komprimierungseinrichtung übertragen. Die zweiten Bilddaten können insbesondere in einem Haupt-Arbeitsspeicher (meist ein RAM) gespeichert werden.

Vorzugsweise entsprechen die ersten Bilder jeweils der Darstellung auf einem Bildschirm (Screen), der dem ersten Computer zugeordnet ist und z. B. bei Windows den Desktop und/oder die Inhalte der aktiven Fenster zeigt. Die fortlaufende Erfassung der ersten Bilder erzeugt daher insbesondere eine zeitliche Folge von Screen-Shots. Bei der Weiterverarbeitung der zweiten Bilddaten können jedoch jeweils auch ein oder mehrere einzelne Teile (z. B. Teil-Frames) der ersten Bilder ausgeschnitten und/oder aus den ersten Bildern isoliert werden und kann dieser Teil bzw. können diese Teile komprimiert werden und mit den Datenübertragungssignalen übertragen werden. - S -

Bei einer bevorzugten Ausführungsform werden die ersten Bilder von einem auf dem ersten Computer ausgeführten Bilderfassungsprogramm fortlaufend erfasst und daraus die zweiten Bilddaten erzeugt. Prinzipiell kann auch Hardware, beispielsweise eine Framegrabber-Karte, hierfür verwendet werden. Die Verwendung des Bilderfassungsprogramms (also von Software) hat jedoch den Vorteil, dass der erste Computer auf einfache und kostengünstige Weise für die erfindungsgemäße Erfassung der ersten Bilder vorbereitet werden kann. Außerdem sind im Handel erhältliche Framegrabber-Karten nicht ohne weitere Maßnahmen dazu geeignet, Bilder des Computers zu erfassen, in dem sie angeordnet sind. Vielmehr dienen sie dazu, Bilder von externen Anwendungen oder Geräten (z. B. Videogeräten, Webkameras, Videokameras) zu erfassen.

Bei dem Bilderfassungsprogramm handelt es sich insbesondere um ein Anwendungsprogramm, das selbständig unter dem Betriebssystem arbeitet und lediglich die für beliebige Anwendungsprogramme zur Verfügung stehenden Schnittstellen zu dem Betriebssystem nutzt (beispielsweise im Gegensatz zu Anwendungsprogrammen, die unter dem Betriebssystem Windows Schnittstellen zu DirectX nutzen). Insbesondere kann der erste Computer ein handelsüblicher Personal Computer (PC) sein, von dessen zentraler Prozessoreinheit (CPU) das Bilderfassungsprogramm ausgeführt wird. Dabei kann das Bilderfassungsprogramm quasi-parallel zu anderen Anwendungen ausgeführt werden. Ein Application Sharing mit der erfindungsgemäßen Bildübertragung ist somit bei einem handelsüblichen PC möglich (z. B. mit einem Pentium 4-Prozessor als CPU bei einer Taktfrequenz von 3 GHz). Bei einem Ausführungsbeispiel der Erfindung werden mit handelsüblichen PCs auf diese Weise Übertragungsraten von zumindest 25 Bildern pro Sekunde erreicht, bei einer Auflösung von 800 x 600 Pixeln und einer Farbtiefe von 16 Bit. Es sind auch höhere Bildauflösungen erreichbar.

Das Bilderfassungsprogramm kann ein Programm sein, das selbständig von demjenigen Anwendungsprogramm (z. B. dem grafischen Programm) ausgeführt werden kann, das die ersten Bilddaten erzeugt. Das Bilderfassungsprogramm ist also insbesondere nicht in das Anwendungsprogramm integriert. Dies hat den Vorteil, dass das Bilderfassungsprogramm die Bilddaten beliebiger Anwendungsprogramme erfassen kann und dass die Anwendungsprogramme selbst nicht modifiziert werden müssen.

Bei einer besonders bevorzugten Ausgestaltung des Bilderfassungsprogramms werden Bildinformationen über die ersten Bilder verwendet, die unmittelbar von dem Betriebssystem des ersten Computers zur Verfügung gestellt werden. Die Bildinformationen weisen die folgenden Informationen auf: • Bildeigenschaften des jeweiligen ersten Bildes, insbesondere Bildgröße, örtliche Bildauflösung, Farbtiefe und/oder Bildformat, • Speicheradresse und/oder Pointer auf Speicheradresse des Bilddatenspeichers, unter der die Bilddaten des jeweiligen ersten Bildes gespeichert sind bzw. über den der Speicherort der Bilddaten gefunden werden kann. Anstelle der Speicheradresse (des Pointers) kann alternativ eine von dem Betriebssystem zur Verfügung gestellte Prozedur genutzt werden, mit der auf die Bilddaten eines bestimmten ersten Bildes, insbesondere des aktuellen Bildes zur Ausgabe auf einem Bildschirm, zugegriffen werden kann. Bei den Bilddaten handelt es sich zweckmäßigerweise um Bilddaten in einem pixel¬ basierten Bildformat (z. B. Bitmap oder Pixmap).

Unter einem Bild wird in der vorliegenden Beschreibung insbesondere eine Gesamtheit von Bilddaten verstanden, die die vollständigen Informationen darüber enthält, wie ein entsprechendes sichtbares Bild auf einer Bilddarstellungseinrichtung darzustellen ist. Beispielsweise weist die Gesamtheit von Bilddaten für ein Bild in einem pixel-basierten Bildformat die vollständigen Informationen über den Farbwert und die Helligkeit jedes einzelnen Pixels auf.

Wie bereits erwähnt werden bei der vorliegenden Erfindung nicht nur die Datenübertragungssignale von dem ersten Computer zu dem zweiten Computer gesendet, wobei die Datenübertragungssignale die entsprechenden Informationen über die ersten Bilddaten aufweisen. Vielmehr besteht außerdem die Möglichkeit (beispielsweise über einen oder mehrere zusätzliche Kanäle derselben Datenübertragungsverbindung) Steuerinformationen zur Steuerung der Anwendung von dem zweiten Computer zu dem ersten Computer zu senden. So ist es möglich, dass von dem zweiten Computer zu dem ersten Computer Befehle eines Benutzers des zweiten Computers, insbesondere Tastaturbefehle und/oder Befehle einer Zeigereinrichtung (z. B. Maus), als Steuerinformationen übertragen werden, mit denen die Anwendung gesteuert wird.

Optional können auch zusätzliche Informationen über Resultate und/oder Zustände der Anwendung von dem ersten Computer zu dem zweiten Computer übertragen werden. Beispielsweise können Informationen über akustische Signale über einen zusätzlichen Kanal übertragen werden (in eine oder beide Richtungen), wobei die akustischen Signale zeitlich synchron mit Teilen der Folgen von Bildern hörbar zu machen sind (beispielsweise über einen an dem Computer angeschlossenen Lautsprecher). Es ist jedoch auch möglich, die akustischen Signale zeitlich synchronisiert mit der ersten Folge von Bildern über denselben Übertragungskanal wie die Bilddaten zu übertragen. Beispielsweise können die akustischen Signale von derselben Komprimierungseinrichtung wie die Bilddaten komprimiert werden.

Die zweite Folge von Bildern muss nicht mit der ersten Folge von Bildern identisch sein. Beispielsweise können bei der Erfassung der Bilder einzelne Bilder ausgelassen werden und/oder kann auf sonstige Weise eine Reduktion der Bildinformationen stattfinden, die übertragen werden.

Die Datenübertragungssignale können über eine Daten- Femübertragungsverbindung, z. B. eine Datenleitung eines Computemetzwerks und/oder eine DSL-Datenverbindung, zu dem zweiten Computer übertragen werden. Dabei können zumindest Teilstrecken der Verbindung, beispielsweise das letzte Teilstück vor dem Erreichen des zweiten Computers, als Verbindungsstrecken mit drahtloser Signalübertragung ausgestaltet sein (z. B. Wireless LAN).

Vorzugsweise werden von dem ersten Computer mit den Datenübertragungssignalen wiederholt Kontrollsignale übertragen.

Die Kontrollsignale können derart ausgestaltet sein, dass auf der Empfangsseite (von dem zweiten Computer) festgestellt werden kann, ob die Kontrollsignale und damit die eigentlichen Datenübertragungssignale in der richtigen zeitlichen Reihenfolge empfangen werden. Anhand der Kontrollsignale kann der zweite Computer beispielsweise feststellen, ob einzelne Datenpakete später empfangen werden als andere Datenpakete, die später gesendet wurden. In diesem Fall kann der zweite Computer entscheiden, die zu spät empfangenen Datenpakete auszusondern oder sie anhand ihrer zeitlichen Signatur sortieren und wenn möglich zur Bilderstellung zu verwenden.

Alternativ oder zusätzlich können die Kontrollsignale oder entsprechende Antwortsignale von dem zweiten Computer zu dem ersten Computer zurück gesendet werden. Dies ermöglicht es dem ersten Computer festzustellen, dass bestimmte Teile der ursprünglich von ihm gesendeten Datenübertragungssignale zumindest mit hoher Wahrscheinlichkeit den zweiten Computer erreicht haben.

Bei einer bevorzugten Ausgestaltung werden die Kontrollsignale in regelmäßigen zeitlichen Abständen von dem ersten Computer gesendet und/oder weisen andere Zeitinformationen auf. Anhand der Zeitinformationen kann der erste Computer feststellen, zu welchem Zeitpunkt und/oder mit welchem zeitlichen Abstand zueinander die Kontrollsignale erzeugt oder von dem ersten Computer abgesendet wurden. Unter Zeitinformationen wird auch die Information darüber verstanden, um welches bestimmte Kontrollsignal es sich handelt. In diesem Fall kann der erste Computer durch Auswertung weiterer Informationen feststellen, wann das Kontrollsignal erzeugt oder gesendet wurde bzw. wie viel Zeit seit dem Zeitpunkt der Absendung oder Erzeugung verstrichen ist.

Vorzugsweise wird nicht jedes von dem zweiten Computer empfangene Kontrollsignal (oder das entsprechende Antwortsignal) zu dem ersten Computer zurück gesendet, um die Datenmenge bei der Übertragung von Daten von dem zweiten Computer zu dem ersten Computer nicht unnötig zu erhöhen.

Abhängig von der Auswertung der wieder zurück erhaltenen Kontrollsignale oder der empfangenen Antwortsignale kann der erste Computer die Komprimierungsrate bei der Komprimierung der zweiten Bilddaten und/oder die Datenrate der von der Komprimierungseinrichtung ausgegebenen dritten Bilddaten ändern. Auf diese Weise kann die Komprimierung der zweiten Bilddaten an die Übertragungsverhältnisse zu dem zweiten Computer angepasst werden. Insbesondere wird verhindert, dass bei der Komprimierung zu große Datenmengen erzeugt werden, die nicht oder nicht in angemessener Zeit übertragen werden können. Beispielsweise kann ein oberer Grenzwert für die Zeitspanne zwischen Erzeugung oder Absendung eines Kontrollsignals durch den ersten Computer bis zum Empfang des Antwortsignals oder bis zum Rückerhalt des Kontrollsignals durch den ersten Computer vorgegeben werden. Wird der obere Grenzwert z. B. einmal oder mehrmals überschritten, wird die Komprimierung angepasst. Dementsprechend kann auch ein unterer Grenzwert für die Zeitspanne vorgegeben werden. Wird der Grenzwert z. B. einmal oder mehrmals überschritten, wird die Komprimierungsrate vergrößert und/oder die Datenübertragungsrate von komprimierten Daten gesteigert. Alternativ zu dem unteren Grenzwert kann die Datenübertragungsrate und/oder die Komprimierungsrate auch dann vergrößert werden, wenn der obere Grenzwert nicht erreicht wird oder nicht überschritten wird.

Insbesondere erzeugt eine Übertragungseinrichtung des ersten Computers, die die dritten Bilddaten gemäß einem Übertragungsprotokoll (z. B. das User Datagram Protocol - UDP, auf das noch näher eingegangen wird) in die Datenübertragungssignale umwandelt, die Kontrollsignale und wertet aus, wann die entsprechenden Antwortsignale oder die zurück gesendeten Kontrollsignale von dem zweiten Computer eintreffen.

Das Application Sharing ist nicht auf den Fall beschränkt, dass ein einziger Computer die Datenübertragungssignale empfängt und entsprechende zweite Bilder erzeugt und dargestellt werden. Vielmehr kann eine Mehrzahl von zweiten Computer (Einrichtungen, die die Anwendung nicht selbst ausführen) gleichzeitig betrieben werden. Auch kann die Anwendung von mehreren der zweiten Computer aus gesteuert werden, wobei jeweils entsprechende Steuerinformationen zu dem ersten Computer übertragen werden.

Neben dem bereits beschriebenen Verfahren zur Übertragung von Bilddaten wird auch eine Anordnung vorgeschlagen, die ausgestaltet sein kann, das Verfahren in einer seiner beschriebenen Varianten auszuführen. Insbesondere weist die Anordnung zur Übertragung von Bilddaten auf: (a) einen ersten Computer, in dem eine Anwendung gespeichert ist, die ausgestaltet ist, bei Ausführung durch den ersten Computer fortlaufend erste Bilddaten zu erzeugen, die auf einer Bilddarstellungseinrichtung des ersten Computers als erste zeitliche Folge von ersten Bildern dargestellt werden können, (b) eine Erfassungseinrichtung, die mit dem ersten Computer verbunden ist oder Teil des ersten Computers ist und die ausgestaltet ist, fortlaufend zumindest eine Teilanzahl der ersten Bilder zu erfassen und daraus entsprechende zweite Bilddaten zu erzeugen und zu einer Komprimierungseinrichtung zu übertragen, (c) die Komprimierungseinrichtung, die mit der Erfassungseinrichtung verbunden ist und ausgestaltet ist, die zweiten Bilddaten für eine Datenübertragung zu komprimieren, sodass dritte Bilddaten entstehen, wobei bei der Komprimierung fortlaufend zweite Bilddaten berücksichtigt werden, die einem Teil der ersten Folge mit einer Mehrzahl der ersten Bilder entsprechen, (d) eine Übertragungseinrichtung, die mit der Komprimierungseinrichtung verbunden ist und die ausgestaltet ist, die dritten Bilddaten an eine Datenübertragungseinrichtung auszugeben, die den dritten Bilddaten entsprechende Datenübertragungssignale erzeugt, und (e) eine Empfangseinrichtung, die mit dem ersten Computer verbunden ist oder Teil des ersten Computers ist und die ausgestaltet ist, von einem zweiten Computer gesendete Steuerinformationen von der Datenübertragungseinrichtung zu empfangen, wobei der erste Computer ausgestaltet ist, die Steuerinformationen zur Steuerung des Betriebs der Anwendung zu verwenden, sodass die Erzeugung der ersten Bilddaten beeinflusst wird.

Die Komprimierungseinrichtung kann insbesondere ausgestaltet sein, bei der Komprimierung abhängig von Inhalten der ersten Bilder eine mit Verlust von Bildinformationen behaftete Komprimierung der zweiten Bilddaten durchzuführen.

Beispielsweise ist die Komprimierungseinrichtung als Anwendungsprogramm ausgestaltet, das auf dem ersten Computer ausgeführt wird. Insbesondere kann das Komprimierungsprogramm von demselben Prozessor (z. B. der CPU) des ersten Computers ausgeführt werden. Somit ist eine erhebliche Rechenleistung des ersten Computers erforderlich. Dies gilt insbesondere dann, wenn außer dem Komprimierungsprogramm und dem Anwendungsprogramm, das die ersten Bilddaten erzeugt, auch die Erfassung der ersten Bilder durch denselben Prozessor durchgeführt wird. Versuche haben jedoch gezeigt, dass auch hierfür ein handelsüblicher PC ausreicht. Es können die bereits genannten Übertragungsraten von zumindest 25 Bildern pro Sekunde erreicht werden, bei einer Auflösung von 800 x 600 Pixeln und einer Farbtiefe von 16 Bit. Zur Entlastung des ersten Computers kann die Komprimierungseinrichtung jedoch alternativ zumindest teilweise durch Hardware realisiert sein, beispielsweise durch eine für die Komprimierung ausgestaltete Karte, die an ein Bussystem des ersten Computers angeschlossen ist.

Bei einer speziellen Ausgestaltung der Anordnung weist das Anwendungsprogramm, das die Komprimierungseinrichtung realisiert; auch die Erfassungseinrichtung auf. Dasselbe Computerprogramm steuert somit sowohl die Erfassung der ersten Bilder als auch die Komprimierung der zweiten Bilddaten. Dennoch ist es zweckmäßig, dass die zweiten Bilddaten nach ihrer Erzeugung zunächst vollständig in einem Speicher des Computers abgelegt werden und die Komprimierungseinrichtung auf diese gespeicherten Bilddaten zugreift.

Vorzugsweise ist die Erfassungseinrichtung als Anwendungsprogramm ausgeführt, das auf dem ersten Computer gespeichert ist und das bei seiner Ausführung fortlaufend zumindest eine Teilanzahl der ersten Bilder erfasst.

Die Anordnung kann vollständig in einem Personal Computer enthalten sein.

Zum Umfang der Erfindung gehört auch ein entsprechendes Application Sharing-System, mit der beschriebenen Anordnung und mit einem zweiten Computer. Der zweite Computer weist eine Empfangseinrichtung zum Empfangen der Datenübertragungssignale, eine Dekomprimierungseinrichtung zur Dekomprimierung der Datenübertragungssignale und eine Bilddarstellungseinrichtung auf. Die Dekomprimierungseinrichtung ist ausgestaltet, aus den Datenübertragungssignalen dekomprimierte vierte Bilddaten zu erzeugen. Der zweite Computer ist ausgestaltet, aus den vierten Bilddaten eine zweite zeitliche Folge von zweiten Bildern zu erzeugen, die zumindest einem Teil der ersten zeitlichen Folge von ersten Bildern entspricht und die, bezogen auf die fortlaufende Erzeugung der ersten Bilddaten, in Echtzeit dargestellt werden kann.

Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung wird nun unter Bezugnahme auf die beigefügte Zeichnung beschrieben. Die einzelnen Figuren zeigen:

Fig. 1 ein Application Sharing-System gemäß der vorliegenden Erfindung,

Fig. 2 ein Flussdiagramm mit einer Prozedur zur Erfassung eines Bildes und Fig. 3 ein schematisches Diagramm, das die Übertragung und Rücksendung von Kontrollsignalen (Syncmarken) veranschaulicht.

Fig. 1 zeigt einen ersten Computer PC1 , der mit einem Arbeitsspeicher ST, einer Bilderfassungseinrichtung FG und mit einer Komprimierungseinrichtung CO ausgestattet ist. Beispielsweise handelt es sich bei dem Computer um einen handelsüblichen PC mit einer Intel Pentium-4 CPU (Taktfrequenz 3 GHz) oder einer ähnlich leistungsfähigen Intel Centrino CPU, wobei der Arbeitsspeicher ST ein RAM ist und eine Speicherkapazität von 512 MByte hat. Ferner weist der erste Computer PC1 , wie nicht näher in Fig. 1 dargestellt ist, eine Übertragungseinrichtung und eine Grafikkarte auf, die ebenfalls mit dem Bezugszeichen PC1 bezeichnet sind. Die Übertragungseinrichtung bereitet Bildsignale gemäß einem Übertragungsprotokoll auf und überträgt entsprechende Sendesignale über eine Übertragungsverbindung L. In Fig. 1 ist die Übertragung gemäß dem Übertragungsprotokoll symbolisch durch einen mit PR bezeichneten Block dargestellt.

Auf der Empfangsseite der Übertragungsverbindung L ist wiederum ein mit PR bezeichneter Block dargestellt, der die Übertragung gemäß dem Übertragungsprotokoll symbolisiert. Die Übertragungsverbindung L endet an einem zweiten Computer PC2, der mit einer Dekomprimierungseinrichtung DEC, einem Lautsprecher SP und einem Bildschirm SC ausgestattet ist. Wie nicht näher dargestellt ist, kann der zweite Computer PC2 mit den üblichen Bedienungselementen wie Tastatur sowie Maus, Trackball oder dergleichen Zeigerinstrumente ausgestattet sein.

Das Application Sharing-System gemäß Fig. 1 wird beispielsweise wie folgt betrieben: Eine von dem zentralen Prozessor des ersten Computers ausgeführte Anwendung (beispielsweise eine grafische 3D-Anwendung) erzeugt abhängig von Steuersignalen fortlaufend erste Bilddaten. Die Steuersignale werden von einem Benutzer des zweiten Computers PC2 unter Verwendung der Tastatur und/oder des Zeigerinstruments ausgelöst. Auf diese Weise steuert der Benutzer des zweiten Computers PC2 die auf dem ersten Computer PC1 ausgeführte Anwendung. Insbesondere können die ersten Bilddaten eine für den Benutzer als dreidimensional erkennbare grafische Darstellung ermöglichen und kann der Bildschirm SC (und/oder andere Bilddarstellungsmittel des zweiten Computers PC2) entsprechend ausgestaltet sein.

Die ersten Bilddaten werden (eventuell gemeinsam mit weiteren Bilddaten von anderen Anwendungen und/oder Bilddaten des Betriebssystems) von dem Betriebssystem und der Grafikkarte des ersten Computers PC1 in eine erste Folge von Bildern umgewandelt, die auf einem nicht in Fig. 1 dargestellten Bildschirm des ersten Computers PC1 dargestellt werden können. Von der Bilderfassungseinrichtung FG werden fortlaufend einzelne dieser ersten Bilder aus der Grafikkarte erfasst und in dem Arbeitsspeicher ST abgelegt. Die Komprimierungseinrichtung CO greift auf eine Mehrzahl dieser zweiten Bilddaten zu, komprimiert diese und reduziert somit die zu übertragende Datenmenge. Unter Verwendung des MPEG-4 Standards können derzeit Kompressionsraten von z. B. 1 :40 erreicht werden, wobei trotz verlustbehafteter Kompression hohe Bildqualitäten erreicht werden.

Die von der Komprimierungseinrichtung CO erzeugten Datenübertragungssignale werden an die Übertragungseinrichtung ausgegeben, die daraus gemäß dem Übertragungsprotokoll Sendesignale erzeugt, die über die Übertragungsverbindung L gesendet werden.

Die Signale werden von dem zweiten Computer PC2 empfangen und gemäß dem Übertragungsprotokoll der Dekomprimierungseinrichtung DEC zugeführt, die daraus die vierten Bilddaten erzeugt. Es liegen somit Bilddaten vor, die den ersten Bilddaten entsprechen, wobei die zeitliche Auflösung jedoch in der Regel gröber ist. Aus den vierten Bilddaten erzeugt der zweite Computer PC2 eine zweite Folge von (zweiten) Bildern, die auf dem Bildschirm SC dargestellt werden. Gegebenenfalls werden mit den Bilddaten synchronisierte Audiosignale von dem zweiten Computer PC2 empfangen, dekomprimiert und von dem Lautsprecher SP synchron mit den zweiten Bildern ausgegeben.

Als Übertragungsprotokoll PR wird vorzugsweise das User Datagram Protocol (UDP) verwendet. UDP ist wie das Transport Control Protocol (TCP) in Schicht 4 des Open Systems Interconnection Standards (OSI) eingeordnet. UDP wird hier in Verbindung mit dem Internet Protocol (IP, in Schicht 3 des OSI) verwendet. Im Vergleich zu TCP, bei dem der Empfang jedes empfangenen Datenpakets einzeln bestätigt wird, können mit UDP höhere Übertragungsraten bei geringeren Verzögerungszeiten bis zum Eintreffen der Datensignale auf der Empfängerseite erzielt werden.

UDP selbst ist nicht auf die Übertragungsverbindung bezogen. Da auf der Senderseite nicht überprüft wird, ob der Empfänger überhaupt existiert oder ob der Empfänger Datenpakete erhält, kann unabhängig von Störungen der Übertragungsverbindung mit einer fortschreitenden Änderung der Bildinhalte der ersten Bilder Schritt gehalten werden. Für das Application Sharing kann in Kauf genommen werden, dass Teile der Bildinformationen verloren gehen, die die Komprimierungseinrichtung erzeugt hat.

Eine Anwendung die UDP zur Übertragung verwendet, muss selbst feststellen in wie weit Fehler in der Übertragung aufgetreten sind, und je nach Bedarf darauf reagieren. Aufgrund der fehlenden Sicherheit die TCP bietet, können mit UDP sehr schnell Daten zwischen zwei Rechnern ausgetauscht werden.

Fig. 2 zeigt ein Flussdiagramm, anhand dessen eine bevorzugte Ausführungsform einer Prozedur beschrieben werden soll. Mit der Prozedur kann unter Nutzung von Bildinformationen ein einzelnes der ersten Bilder erfasst werden. Bei der Wiederholung der Erfassungsprozedur, um weitere der ersten Folge der ersten Bilder zu erfassen, können u. U. einzelne der nachstehenden Schritte ausgelassen werden, da z. B. die entsprechenden Informationen noch von einer früheren Ausführung und/oder von einer Initialisierung der Erfassungsprozedur vorhanden sind: Schritt S1 : Ermitteln des Orts, wo die Bildeigenschaften gespeichert sind, und/oder Ermitteln von äquivalenten Informationen, unter deren Nutzung auf die Bildeigenschaften zugegriffen werden kann (unter Windows von der Microsoft Corporation - im Folgenden kurz: Windows - wird der Schritt beispielsweise mit der Funktion GetDesktopWindow ausgeführt, die einen Pointer d.h. Adresszeiger auf den Speicherort der Bildeigenschaften zurückliefert), Schritt S2: Auslesen der für eine Erfassung des ersten Bildes erforderlichen Bildeigenschaften, insbesondere der Bildgröße (unter Windows wird der Schritt beispielsweise mit der Funktion GetDC ausgeführt), Schritt S3: Anlegen (insbesondere Reservieren von Speicherplatz) einer Speicherstruktur für die Bildeigenschaften des zu erfassenden ersten Bildes (unter Windows wird der Schritt beispielsweise mit der Funktion CreateCompatibleDC ausgeführt), Schritt S4: Anlegen (insbesondere Reservieren von Speicherplatz) einer Speicherstruktur für die Bilddaten des zu erfassenden ersten Bildes (unter Windows wird der Schritt beispielsweise mit der Funktion CreateCompatibleBitmap ausgeführt), Schritt S5: Zuweisen des zu erfassenden ersten Bildes zu den angelegten Speicherstrukturen (unter Windows wird der Schritt beispielsweise mit der Funktion SelectObject ausgeführt), Schritt S6: Kopieren der Bilddaten des zu erfassenden ersten Bildes in die angelegte Speicherstruktur.

Unter dem Betriebssystem Windows hat sich die zuvor beschriebene Ausgestaltung der Erfassungsprozedur überraschenderweise als besonders schnell erwiesen, insbesondere auch im Gegensatz zu Anwendungsprogrammen, die für den gleichen Zweck Schnittstellen zu DirectX nutzen. Daher kann das erfindungsgemäße Bilderfassungsprogramm auf einem Standard-PC (Personal Computer) ausgeführt werden, ohne die CPU (Central Processing Unit) zu stark zu belasten. Die CPU kann somit ihre eigentlichen Aufgaben, nämlich die Ausführung der laufenden Anwendungsprogramme ohne Störungen oder Verzögerungen erfüllen. Dies ist eine wichtige Voraussetzung für ein Application Sharing, das von Benutzern akzeptiert wird.

Fig. 3 zeigt eine mit PR1 bezeichnete erste Übertragungseinrichtung des ersten Computers, beispielsweise des ersten Computers PC1 gemäß der Anordnung von Fig. 1. Die Übertragungseinrichtung PR1 ist über die Übertragungsverbindung L mit einer zweiten Übertragungseinrichtung PR2 des zweiten Computers PC2 verbunden. Die Übertragungseinrichtungen PR1 , PR2 führen einem Übertragungsprotokoll (insbesondere UDP über IP) entsprechende Operationen aus, um aus Bilddaten Datenübertragungssignale zu erzeugen bzw. umgekehrt aus Datenübertragungssignalen Bilddaten zu erzeugen. Als Ergebnis werden über die Übertragungsverbindung L Datenpakete PA und Kontrollsignale übertragen, wobei die Kontrollsignale im Folgenden als Syncmarken SY bezeichnet werden. Dabei findet eine Übertragung der Datenpakete PA und der Syncmarken SY von dem ersten Computer zu dem zweiten Computer (in der Darstellung von links nach rechts) statt. Über einen für eine Datenübertragung in umgekehrter Richtung zur Verfügung stehenden Übertragungskanal derselben Übertragungsverbindung L werden lediglich einzelne der Syncmarken SY von dem zweiten Computer zurück zu dem ersten Computer übertragen (in der Darstellung von rechts nach links), nicht aber die zugeordneten Datenpakete PA.

Dargestellt sind in Fig. 3 insgesamt drei Datenpakete PA1 , PA2, PA3, stellvertretend für einen kontinuierlichen Strom von Datenpaketen. Jedem der Datenpakete PA1 , PA2, PA3 ist eine der Syncmarken SY1 , SY2, SY3 zugeordnet. Die Syncmarken SY1 , SY2, SY3 werden mit dem jeweiligen Datenpaket PA1 , PA2, PA3 verbunden übertragen (z. B. als Bestandteil des Datenpakets, etwa in einem Datenpaket-Kopf). Die Datenpakete werden in dem hier beschriebenen Ausführungsbeispiel von dem ersten Computer mit konstanter Datenübertragungsrate gesendet, solange die Datenübertragungsrate nicht an die Übertragungsverhältnisse angepasst wird. Wenn die zweite Übertragungseinrichtung PR2 eines der Datenpakete PA1 , PA2, PA3 mit den Syncmarken SY1 , SY2, SY3 empfangen hat, entscheidet sie, ob die Syncmarke SY1 , SY2, SY3 zurück an die erste Übertragungseinrichtung PR1 zu senden ist. In dem dargestellten Beispiel werden die Syncmarken SY1 , SY3 jedes zweiten empfangenen Datenpakets PA1 , PA3 zurück gesendet. In der Praxis hat es sich als zweckmäßig erwiesen, weniger als die Syncmarke jedes zweiten empfangenen Datenpakets zurück zu senden, z. B. die Syncmarke jedes zehnten empfangenen Datenpakets.

Alternativ kann die zweite Übertragungseinrichtung PR2 beispielsweise ausschließlich anhand einer fortlaufenden Nummerierung der Datenpakete bzw. ausschließlich anhand der Syncmarken feststellen, ob die jeweilige Syncmarke zurück zu senden ist. Insbesondere wird in diesem Fall eine Syncmarke nur dann zurückgesendet, wenn sie einem zweiten oder zehnten (allgemein n-ten, wobei n eine natürliche Zahl ist) Datenpaket (bzw. einem ganzzahligen Vielfachen von 2, 10 oder n) in der Reihenfolge der Datenpakete zugeordnet ist.

Die erste Übertragungseinrichtung PR1 prüft anhand der zurück empfangenen Syncmarken, wie viel Zeit seit der Sendung oder Erzeugung der jeweiligen Syncmarke verstrichen ist. Dabei kann insbesondere die Übertragungsfrequenz der Datenpakete verwendet werden. Außerdem oder zusätzlich kann beispielsweise anhand der aus der Syncmarke entnehmbaren Information über die fortlaufende Nummer des zugeordneten Datenpakets festgestellt werden, wann das Datenpaket gesendet (oder erzeugt) wurde bzw. wie viel Zeit seitdem verstrichen ist.

Unter Verwendung des Ergebnisses dieser Prüfung entscheidet die erste Übertragungseinrichtung PR1 , ob die Rate der durch die Komprimierung der zweiten Bilddaten erzeugten dritten Bilddaten an die gegenwärtigen Übertragungsverhältnisse angepasst wird. Die Prüfung und Entscheidung kann beispielsweise fortlaufend, in regelmäßigen Zeitabständen oder zu Beginn eines Application Sharing stattfinden. Im Folgenden wird nun ein Ausführungsbeispiel für eine Konfiguration der Komprimierungseinrichtung und der entsprechenden Dekomprimierungseinrichtung beschrieben. Das Ausführungsbeispiel wurde auf einem Computer mit dem Betriebssystem Windows ausgeführt.

Die Komprimierung wird gemäß dem MPEG-4 Standard durchgeführt. Zur Definition des Standards wird auf das Dokument ISO/IEC JTC1/SC29/WG11 - N4668, Titel: „MPEG-4 Overview - (V.21 - Jeju Version)" von März 2002 Bezug genommen.

MPEG 4 spezifiziert verschiedene Profile für das Kodieren von Videomaterial, z. B. so genannte Simple-Profile und Advanced Realtime Simple-Profile. Die Profile werden genutzt, um verschiedene Merkmale von MPEG-4 möglichst effizient nutzen zu können. Die Profile begrenzen die Werkzeuge (Tools), die einer Komprimierungseinrichtung zur Verfügung stehen, um für bestimmte - Anwendungsgebiete eine möglichst optimale Qualität zu erreichen. Diese Profile verfügen über eine oder mehrere Unterteilungen, die Levels genannt werden und beliebig kombiniert werden können. Entsprechende Profile existieren auch für den MPEG-2 Standard.

Von den existierenden Profilen hat sich keines als vorteilhaft für das Application Sharing erwiesen. Es wurde daher eine Lösung ohne Profile verwendet, eine (so genannte „unrestricted") Implementierung des XviD Codec (Komprimierer/Dekomprimierer), Version 1.0.1. XviD ist ein Resultat eines Open Source Projekts, das z. B. unter der offiziellen Webseite des Projekts (http://www.xvid.org/) beschrieben ist. Der Codec weist eine Anzahl von Merkmalen auf, die bei der Komprimierung bzw. Dekomprimierung der Bilddaten aktiviert oder deaktiviert bzw. gesetzt werden können. Merkmale des XviD Codec sind z. B. in dem Dokument „XviD Options Explained, Maintained by Koepi (de_koepi@lycos.de)" beschrieben, das unter der Internet-Adresse http://nic.dnsalias.com/XviD_Options_Explained.pdf verfügbar ist. Das Merkmal „Motion Search Precision" wird auf „6 - Ultra High" gesetzt. Dieses Merkmal definiert mit welcher Präzision nach bewegten Objekten in der Folge der ersten Bilder gesucht werden soll. Durch Experimente wurde festgestellt, dass eine Erhöhung der Präzision der Bewegungssuche in den Bildern ein deutlich besseres Ergebnis erzielt und dass hierfür nur geringfügig mehr Rechenleistung benötigt wird.

Beim Sharing von Büro-Anwendungsprogrammen (wie z. B. von der Microsoft Corporation unter der Bezeichnung Office angebotenen Anwendungen) konnte eine bessere Bildqualität erreicht werden, wenn der „Cartoon Mode" aktiviert wurde. Dieser Modus (Mode) wurde für Zeichentrickfilme entwickelt, doch ließen sich insbesondere große gleichfarbige Flächen des Desktops damit gut komprimieren.

Der „VHQ Mode" war deaktiviert, da der Qualitätsgewinn nicht im Verhältnis zu der zusätzlichen Prozessorlast steht.

Die Komprimierungseinrichtung soll bei großen Veränderungen der Bildinhalte in der zeitlichen Folge von Bildern die Übertragung eines I-Frames erzwingen Ein I-Frame (I = internal) ist ein Bild, dessen Bilddaten unabhängig von den Biiddaten des darauf folgenden und des vorangegangenen Bildes sind. Da bei Experimenten festgestellt wurde, dass dies nicht immer zuverlässig der Fall war, wurde das Merkmal „Maximum I Intervall" dynamisch angepasst, und zwar abhängig von der pro Sekunde zu dem zweiten Computer zu übertragenden Bilder. Die Rate der zu übertragenden Bilder ist insbesondere identisch mit der Rate der aus der Folge der ersten Bilder erfassten Bilder.

Bei einer Ausgestaltung der Erfindung hängt diese Bildübertragungsrate von der auf dem ersten Computer momentan für die Erfassung der ersten Bilder und für die Komprimierung zur Verfügung stehenden Rechenleistung (insbesondere der Rechenleistung der CPU) ab. Je mehr Bilder pro Sekunde übertragen werden sollen, umso höher kann der Wert für „Maximum I Intervall" gesetzt werden. Bei einer Bildübertragungsrate von 20-25 Bildern pro Sekunde hat sich ein Default-Wert von 300 Bildern bis zur Übertragung des I-Frame als zweckmäßig erwiesen. Bei geringeren Bildübertragungsraten muss dieser Wert verringert werden. Er sollte jedoch den Wert 25 Bilder bis zur Übertragung des nächsten I-Frames nicht unterschreiten. Dabei ist zu berücksichtigen, dass ein niedriger Wert die Bildqualität der auf der Bilddarstellungseinrichtung des zweiten Computers verringert, da die Übertragung eines I-Frames die Übertragung einer großen Datenmenge bedeutet, sodass für die anderen Bilder nur eine geringere Datenmenge zur Verfügung steht.

Bei einer besonderen Ausgestaltung der Erfindung (die unabhängig von dem beschriebenen Ausführungsbeispiel ist) führt die Anwendung, die die ersten Bilddaten erzeugt, (z. B. eine grafische 3D-Anwendung) nach ihrem Start einen Test durch. Bei dem Test wird ermittelt, mit welcher Geschwindigkeit ein Bild von der Erfassungseinrichtung erfasst wird und von der Komprimierungseinrichtung komprimiert wird. Die Anwendung setzt daraufhin den Wert für die Anzahl von Bildern bis zur Übertragung des nächsten I-Frames fest. Dieser Wert wird bei starker Änderung dynamisch angepasst.

„Target Bitrate" wird je nach verfügbarer Bandbreite der Datenübertragungsverbindung bzw. je nach verfügbarer Datenübertragungsrate angepasst. Der Benutzer kann den Wert selbst festlegen, oder der Wert wird über eine Bandbreitenmessung bzw. Messung der Datenübertragungsrate im Hintergrund automatisch (z. B. von der als Computerprogramm ausgestalteten Komprimierungsanwendung) ermittelt.

Soweit Einstellungen von Merkmalen und/oder von Optionen des XviD Codec hier nicht explizit beschrieben wurden, entsprachen diese Einstellungen den in dem Codec voreingestellten Werten und/oder Definitionen (Default).