-
Stand der Technik
-
Die Erfindung betrifft ein Videosystem zur Darstellung von Bilddaten mit einem Server, wobei der Server eine Codereinrichtung aufweist, die in mehreren Betriebsarten als aktive Betriebsart betreibbar ist, wobei die Codereinrichtung zur Kodierung von Videodaten gemäß der aktiven Betriebsart und zur Ausgabe von kodierten Übertragungsdaten ausgebildet ist, und mit einem Client, wobei der Client mit dem Server über ein Netzwerk verbindbar ist und wobei der Client in einer Sitzung zur Anforderung, zur Weiterverarbeitung und zur Anzeige der kodierten Übertragungsdaten von der Codereinrichtung ausgebildet ist. Die Erfindung betrifft auch ein Verfahren zur Darstellung von Bilddaten, ein Computerprogramm sowie eine Codereinrichtung.
-
Es ist mittlerweile üblich, Bilddaten, wie zum Beispiel Videosequenzen, auf Servern zu speichern und diese bedarfsgerecht mittels eines Clients, der mit dem Server verbunden ist, über ein Netzwerk zu laden und auf dem Client anzuzeigen.
-
Nachdem die Bilddaten flexibel abgerufen werden sollen, muss sichergestellt sein, dass ein Abruf der Bilddaten auch bei Netzwerkverbindungen mit unterschiedlichen Datenübertragungsraten stets mit einer der Datenübertragungsrate entsprechenden guten Qualität erfolgen kann. Die Datenübertragungsraten erstrecken sich z.B. von 144kbit/s bei einer ISDN Verbindung bis zu 1000 Mbit/s bei einem 1000-Mbit-Ethernet Netzwerk. Um insbesondere bei bandbreitenbegrenzten Netzwerkverbindungen die Bilddaten latenz- und ruckelfrei zu übertragen, ist es üblich, die Bilddaten in unterschiedlichen Arten zu komprimieren, wobei sich die unterschiedlichen Kompressionsarten durch die benötigte Bitrate zur Übertragung der komprimierten Bilddaten unterscheidet. Wird nun ein Client über eine Netzwerkverbindung mit einer geringen Datenübertragungsrate mit dem Server verbunden, werden diesem die komprimierten Bilddaten mit einer geringen Bitrate zur Verfügung gestellt. Ist dagegen die Datenübertragungsrate der Netzwerkverbindung hoch, so erhält der Client die komprimierten Bilddaten mit einer entsprechend höheren Bitrate und somit in einer höheren Bildqualität.
-
Ein derartiges Verfahren zur Übertragung von Bilddaten ist beispielsweise in der Druckschrift
US 2011/0225315 A1 dargestellt, die wohl den nächstkommenden Stand der Technik bildet. In diesem Dokument wird ein Server-Client-System beschrieben, wobei der Server den Client mit einem Bilddatenstrom versorgt. Die Bilddaten sind bei dem Server in verschiedenen Versionen abgespeichert, wobei sich die Versionen durch ihre Bitrate und somit in der Qualität unterscheiden. Bei der Übertragung der Bilddaten wird ein Übertragungspuffer in dem Server beobachtet, wobei in Abhängigkeit des Füllstands des Übertragungspuffers die aktuelle Version der Bilddaten beibehalten oder eine Version der Bilddaten mit einer höheren oder niedrigeren Bitrate gewählt wird.
-
Offenbarung der Erfindung
-
Die Erfindung betrifft ein Videosystem mit den Merkmalen des Anspruchs 1, ein Verfahren mit den Merkmalen des Anspruchs 10, ein Computerprogramm mit den Merkmalen des Anspruchs 12, sowie eine Codereinrichtung nach Anspruch 13. Bevorzugte oder vorteilhafte Ausführungsformen der Erfindung ergeben sich aus den Unteransprüchen, der nachfolgenden Beschreibung sowie den beigefügten Figuren.
-
Das erfindungsgemäße Videosystem ist zur Darstellung von Bilddaten geeignet und/oder ausgebildet. Die Bilddaten sind insbesondere als ein Bilddatenstrom, im speziellen als eine Videosequenz ausgebildet. Unter einer Videosequenz wird insbesondere eine Aneinanderreihung von Einzelbildern verstanden, die zeitlich äquidistant angeordnet sind und/oder einen zeitlichen Verlauf einer Bildszene zeigen.
-
Das Videosystem umfasst einen Server, wobei der Server eine Codereinrichtung aufweist, die in mehreren Betriebsarten als aktive Betriebsart betreibbar ist. Bei dem Server kann es sich z.B. um einen einzelnen Computer, einen virtuellen Server oder um eine logische Einheit als Server handeln.
-
Die Codereinrichtung ist zur Kodierung von Videodaten in Abhängigkeit von der aktiven Betriebsart und zur Ausgabe von kodierten Übertragungsdaten ausgebildet. Die Videodaten liegen vor der Kodierung besonders bevorzugt als Rohdaten vor, also als Einzelbilder, welche zeitlich so hintereinander geordnet sind, dass diese den Bilddatenstrom ergeben. Bei den kodierten Übertragungsdaten handelt es sich um die komprimierten Videodaten. Beispiele für die Komprimierung von Videodaten sind durch den MPEG-2, MPEG-4-Standard gegeben. Insbesondere erfolgt die Kodierung nach dem Standard H.264.
-
Das Videosystem umfasst einen Client, wobei der Client beispielsweise als ein weiterer Computer, alternativ oder ergänzend auch als ein Handy, Smartphone, PDA etc. ausgebildet sein kann. Der Client ist mit dem Server über ein Netzwerk, beispielsweise ein Ethernet-Netzwerk oder das Internet, kabellos oder kabelgebunden verbindbar, insbesondere verbunden. Über das Netzwerk können Client und Server bidirektional Daten austauschen. Der Client ist ausgebildet, in, insbesondere während einer Sitzung kodierte Übertragungsdaten von der Codereinrichtung anzufordern, weiterzuverarbeiten und nachfolgend z. B. auf einem Bildschirm anzuzeigen. Die Weiterverarbeitung betrifft insbesondere die Umsetzung der kodierten Übertragungsdaten in mittels des Clients darstellbare Bilddaten. Die Sitzung kann insbesondere als die Nutzungsdauer des Servers durch den Client definiert werden.
-
Insbesondere wird durch das Videosystem ein Streaming umgesetzt, wobei die Bilddaten als kodierte Übertragungsdaten von dem Client empfangen und gleichzeitig wiedergegeben werden. Die übertragenen Bilddaten werden auch als Livestream oder Stream bezeichnet. Vorzugsweise entsprechen die kodierten Übertragungsdaten dem MPEG-4_AVC-BP Standard auch Baseline-Profil genannt.
-
Im Rahmen der Erfindung wird vorgeschlagen, dass die Codereinrichtung neben der Betriebsart Wiedergabe auch in der Betriebsart Stopp, Standbild, Schnellvorlauf und/oder Schnellrücklauf als aktive Betriebsart betreibbar ist, wobei der Client die aktive Betriebsart der Codereinrichtung bestimmt. Die genannten Betriebsarten werden beispielsweise von einem Nutzer des Clients an dem Client als aktive Betriebsart angefordert. Der Client übermittelt die aktive Betriebsart an die Codereinrichtung, die ihre Betriebsart gemäß der Anforderung wechselt und kodierte Übertragungsdaten gemäß der aktiven Betriebsart kodiert und ausgibt. Insbesondere ist das Videosystem ausgebildet, dass der Client die aktive Betriebsart der Codereinrichtung einstellen oder wählen kann. Der Client weist zur Weiterverarbeitung der kodierten Übertragungsdaten eine Dekodereinrichtung auf, welche besonders bevorzugt nach dem MPEG-4_AVC-BP Standard auch Baseline-Profil genannt arbeitet. Insbesondere können die kodierten Übertragungsdaten unabhängig von der gewählten Betriebsart von dem Client als Stream behandelt werden, der im Rahmen des Baseline-Profils dekodierbar sind.
-
Der Vorteil der Erfindung ist darin zu sehen, dass die Codereinrichtung nur die Videodaten kodieren und das Netzwerk nur die kodierten Übertragungsdaten übermitteln muss, die von dem Benutzer des Clients aktuell angefordert werden. So kann bei der Betriebsart Stopp als aktive Betriebsart die Kodierung sowie die Übertragung weiterer Bilddaten sofort eingestellt werden und somit der Server und das Netzwerk entlastet werden. Bei den Betriebsarten Schnellvorlauf und Schnellrücklauf als aktive Betriebsart kann eine zeitlich geraffte Version der Bilddaten von der Codereinrichtung kodiert werden, wobei die zeitlich geraffte Version der Bilddaten weniger Bilder umfassen als die zeitlich ungeraffte Version der gleichen Bilddaten, so dass auch in diesen Betriebsarten der Server und das Netzwerk entlastet werden. Ein weiterer Vorteil der Erfindung ist es, dass die Anforderungen an den Client sehr gering sind. So wird der Client unabhängig von der gewählten Betriebsart und insbesondere in der Betriebsart Standbild, Schnellvorlauf und/oder Schnellrücklauf mit einem Stream versorgt.
-
Bei einer bevorzugten Ausführungsform der Erfindung ist die Codereinrichtung während der Sitzung dem Client exklusiv zugeordnet ist. Durch die exklusive Zuordnung wird eine 1:1-Verbindung zwischen Client und Codereinrichtung gebildet, sodass die Codereinrichtung exklusiv auf die Anforderungen des Clients eingehen kann. Der Vorteil der Ausführungsform ist insbesondere darin zu sehen, dass durch die exklusive Zuordnung und die Möglichkeit der Bestimmung der Betriebsart der Codereinrichtung dem Nutzer des Clients maximale Flexibilität und Interaktivität zur Steuerung der Generierung und der Übertragung der kodierten Übertragungsdaten geboten wird. Dem Benutzer steht es somit frei, zu beliebigen Zeitpunkten in die Übertragung der kodierten Übertragungsdaten einzugreifen und die Codereinrichtung in eine andere Betriebsart zu versetzen. Insbesondere kann der Benutzer durch Befehlseingabe an dem Client jederzeit wahlfrei zu beliebigen Stellen der Bilddaten springen und von dort ausgehend eine beliebige Betriebsart der Codereinrichtung starten.
-
Die Codereinrichtung kann eine Hardwarekomponente des Servers sein, bevorzugt ist die Codereinrichtung als eine Coderinstanz, also als eine Softwarekomponente ausgebildet. Beispielsweise kann bei einer Mehrzahl von Clients für jeden Client eine eigene Coderinstanz auf dem Server gestartet werden. Insbesondere ist jede der Coderinstanzen genau einem Client exklusiv zugeordnet.
-
Bei einer vorteilhaften Ausführungsform der Erfindung ist die Codereinrichtung zur Kodierung der Videodaten in Echtzeit ausgebildet. Die Echtzeit wird dabei durch die Anforderungen des Clients definiert, sodass bei der Betriebsart Wiedergabe Videodaten mit einem Zeitverzug von zum Beispiel weniger als zwei Sekunden, insbesondere weniger als eine Sekunde kodiert werden. Bei der Betriebsart Schnellvorlauf oder Schnellrücklauf werden die kodierten Übertragungsdaten nach der Anforderung durch den Client mit einer Verzögerung von weniger als 2 Sekunden, insbesondere von weniger als 1 Sekunde kodiert. Die Echtzeitverarbeitung ist vorteilhaft, da bei einem Umschalten der Betriebsart die Codereinrichtung schnell darauf reagieren kann und ein Nutzer das Abspielen der Bilddaten verzögerungsfrei oder verzögerungsarm kontrollieren kann. Insbesondere werden die kodierten Übertragungsdaten von der Codereinrichtung on-the-fly generiert und können dabei auf die aktuelle Betriebsart zugeschnitten werden.
-
Besonders bevorzugt ist vorgesehen, dass das Videosystem eine Einrichtung zur Bestimmung oder Abschätzung der verfügbaren oder nutzbaren Datenübertragungsrate des Netzwerks, insbesondere der Netzwerkverbindung zwischen Server und Client aufweist. Beispielsweise kann die Einrichtung anhand eines Füllstands eines Ausgangspuffers des Servers zu dem Netzwerk die verfügbare oder nutzbare Datenübertragungsrate abschätzen. Die Einrichtung kann beispielsweise wie in der eingangs zitierten
US 2011/0225315 A1 ausgebildet sein. Das Videosystem und insbesondere der Server und im speziellen die Codereinrichtung ist bzw. sind ausgebildet, in Abhängigkeit der verfügbaren oder nutzbaren Datenübertragungsrate der eingesetzten Netzwerkverbindung eine Komprimierung für die Videodaten zu wählen, die zu kodierten Übertragungsdaten führt, deren Datenübertragungsrate – auch Bitrate genannt – kleiner als die verfügbare Datenübertragungsrate der Netzwerkverbindung ist, um eine latenz- und ruckelfreie Darstellung der Bilddaten auf dem Client zu ermöglichen. Alternativ kann durch den Client die Datenübertragungsrate der kodierten Übertragungsdaten bestimmt werden.
-
Die beschriebene automatische oder manuelle, flexible Anpassung bzw. Änderung der Datenübertragungsrate der kodierten Übertragungsdaten wird durch die exklusive Zuordnung der Codereinrichtung zu dem Client besonders speichersparend ermöglicht, da die Codereinrichtung bei einem Wechsel der gewünschten Datenübertragungsrate der kodierten Übertragungsdaten die Kodierung umstellt. Insbesondere erfolgt die Umstellung der Kodierung sofort, unverzüglich und/oder in Echtzeit. Statt dieses Vorgehens müssten ansonsten – wie aus dem Stand der Technik bekannt – die Bilddaten in mehreren Qualitätsstufen komprimiert werden, um dann bedarfsgerecht die kodierten Übertragungsdaten auszuwählen und zu verwenden, die die gewünschte Datenübertragungsrate haben. Dieses bekannte Vorgehen hätte den Nachteil, dass Bilddaten, die möglicherweise niemals abgerufen werden, in mehrfachen Kopien als kodierte Übertragungsdaten komprimiert und in unterschiedlichen Qualitätsstufen auf Vorrat gespeichert werden müssten.
-
Es ist bevorzugt, dass in der Betriebsart Schnellvorlauf und/oder Schnellrücklauf nur eine Auswahl von Bildern der Bilddaten, insbesondere der Ausgangsdaten, als Auswahlbilder von der Codereinrichtung als kodierte Übertragungsdaten kodiert ausgegeben werden. insbesondere befinden sich in den Bilddaten zwischen den Auswahlbildern Zwischenbilder, die in dieser Betriebsart nicht übertragen werden. Verfügt eine Videosequenz beispielsweise über 50 Bilder pro Sekunde, wird in der Betriebsart Schnellvorlauf bzw. Schnellrücklauf nur jedes zweite, jedes dritte, jedes vierte etc. Bild der Bilddaten kodiert und als kodierte Übertragungsdaten über das Netzwerk an den Client übertragen. Diese Ausgestaltung hat den Vorteil, dass bei einem Schnellvorlauf oder Schnellrücklauf die Bilddaten nicht vollständig übertragen werden und der Client den Schnellvorlauf bzw. Schnellrücklauf auf Basis der vollständigen Bilddaten clientseitig aktiviert, sondern die genannten Betriebsarten bereits von der Codereinrichtung serverseitig vorbereitet werden.
-
Bei einer bevorzugten Weiterbildung der Erfindung ist das Videosystem so ausgebildet, dass in der Betriebsart Standbild ein aktuelles Bild der Videodaten in erhöhter Qualität gegenüber dem zuvor übertragenen gleichen, aktuellen Bild kodiert und an den Client übertragen wird. Sobald ein Nutzer die Betriebsart Standbild an dem Client auswählt, wird davon ausgegangen, dass der Nutzer das aktuelle Bild näher betrachten möchte. In der Betriebsart Standbild wird das aktuelle Bild an dem Server nachkodiert und weitere Übertragungsdaten zu dem aktuellen Bild an den Client übertragen, so dass die Bildqualität des aktuellen Bilds an dem Client verbessert wird. Optional ergänzend kann vorgesehen sein, dass bei der Nachkodierung die Auflösung des aktuellen Bilds geändert wird und das aktuelle Bild mit einer höheren Auflösung kodiert und an den Client übertragen wird. In der Betriebsart Standbild wird die verfügbare Datenübertragungsrate der Netzwerkverbindung genutzt, um ein aktuelles Bild in der Darstellung auf dem Client zu verbessern.
-
In einer möglichen, konkreten Ausgestaltung der Erfindung ist die Codereinrichtung als eine Transkodereinrichtung ausgebildet, wobei der Server eine Speichereinrichtung, insbesondere eine Datenbank, aufweist, in der kodierte Ausgangsdaten abgelegt sind. Somit ist vorgesehen, dass die Bilddaten zur Speicherung zunächst als kodierte Ausgangsdaten kodiert werden, um den Speicherbedarf in der Speichereinrichtung des Servers niedrig zu halten. Diese erste Kodierung erfolgt vorzugsweise mit minimalem oder keinem Qualitätsverlust der Bilddaten. Insbesondere erfolgt die Kodierung nach dem Standard MPEG-4 und/oder H.264.
-
Die Transkodereinrichtung ist ausgebildet, entsprechend der aktiven Betriebsart die kodierten Ausgangsdaten aus der Datenbank in einem Dekodermodul zu den Videodaten zu decodieren und nachfolgend in einem Enkodermodul zu kodieren und als kodierte Übertragungsdaten auszugeben. Besonders bevorzugt entspricht die Kodierung des Enkodermoduls nicht der ersten Kodierung.
-
In einer möglichen konkreten Ausführungsform der Erfindung sind die kodierten Ausgangsdaten so organisiert, dass diese eine Vielzahl von Key-Frames und eine Vielzahl von Inter-Frames, insbesondere P-Frames oder B-Frames aufweisen. Bei der Videocodierung ist es üblich, die kodierten Bilddaten in Bildergruppen – sogenannten GoP (Group of Pictures) – zu gruppieren, die aus einer Gruppe von in Abhängigkeit untereinander codierten, aufeinanderfolgenden Einzelbilder (englisch Frames) im Bilderstrom einer Videosequenz als Bilddaten angeordnet sind. Das Key-Frame – auch Schlüssel- oder Intra-Bild genannt – ist ein Referenzbild in einer Bildergruppe, welches einem Standbild entspricht und von den anderen Bildtypen in dem gleichen Bildergruppe unabhängig ist. Das Key-Frame kann somit von den kodierten Ausgangsdaten ohne umfangreiche Berechnungen ausgelesen werden.
-
Nach der Dekodierung liegen die Bilddaten als Videodaten vor, wobei die Videodaten bevorzugt als Raw-Frames ausgebildet sind, also als aufeinanderfolgende, voneinander unabhängige Bilder.
-
Die Videodaten werden von dem Enkodermodul zu den kodierten Übertragungsdaten kodiert, wobei die kodierten Übertragungsdaten bevorzugt wieder in Bildergruppen (GoPs) organisiert sind. Insbesondere erfolgt die Kodierung nach dem MPEG-4 und/oder H.264.
-
Es ist bevorzugt vorgesehen, dass in der Betriebsart Schnellvorlauf und/oder Schnellrücklauf aus den kodierten Ausgangsdaten nur Key-Frames als Auswahlbilder ausgewählt werden. Dagegen werden keine Inter-Frames verwendet, die damit den Zwischenbildern entsprechen. Die Auswahl von Einzelbildern aus einem Bilddatenstrom wird auch als Scratching bezeichnet. Diese Ausbildung hat den Vorteil, dass das Dekodermodul stark entlastet ist, da die Key-Frames unabhängig von anderen Frames in dem Bilddatenstrom sind und daher mit geringerem Aufwand als die Inter-Frames dekodiert werden können.
-
Es ist insbesondere vorgesehen, dass die als Auswahlbilder ausgewählten Key-Frames von dem Dekodermodul in Raw-Frames gewandelt werden, welche dann von dem Enkodermodul in die kodierten Übertragungsdaten gewandelt werden. Beispielsweise werden aus fünf Bildergruppen der kodierten Ausgangsdaten mit jeweils fünf Bildern nur die Key-Frames ausgelesen und in Raw-Frames gewandelt, sodass fünf Raw-Frames zur Verfügung stehen. Diese fünf Raw-Frames werden nachfolgend von dem Enkodermodul in eine weitere Bildergruppe gewandelt, welche nur ein einziges Key-Frame und vier nachfolgende Inter-Frames aufweist. Mit dieser Signalverarbeitung ist die Belastung der Transkodereinrichtung und zugleich der Netzwerkverbindung minimiert.
-
Es ist besonders bevorzugt vorgesehen, dass in der Betriebsart Standbild neue Inter-Frames kodiert werden und an den Client gesendet werden, so dass ein aktuelles Bild in der Detailgenauigkeit verbessert wird. Insbesondere wird das Standbild auf dem Client nachgeschärft. Alternativ dazu wird in der Betriebsart Standbild das aktuelle Bild in einer verbesserten Auflösung, insbesondere in der maximal verfügbaren Auflösung oder in der Auflösung des Raw-Frames neu kodiert und an den Client übertragen. Die Übertragung kann insbesondere über eine Bildergruppe (GoP) erfolgen, so dass zunächst ein Key-Frame mit der verbesserten Auflösung und nachfolgend Inter-Frames zur Verbesserung der Detailgenauigkeit übertragen wird.
-
Bei einer bevorzugten Ausführungsform der Erfindung betreffen die Bilddaten eine stationäre Überwachungsszene von mindestens einer Überwachungskamera. In dieser Ausgestaltung kann die Videokomprimierung besonders vorteilhaft eingesetzt werden. Insbesondere der Schnellvorlauf und/oder Schnellrücklauf sind besonders effektiv, da die Auswahlbilder übereinstimmend die gleiche Überwachungsszene gegebenenfalls mit unterschiedlichen Überwachungsobjekten zeigen.
-
Ein weiterer Gegenstand der Erfindung betrifft ein Verfahren zur Darstellung von Bilddaten von einem Server auf einem Client, wobei der Client in einer Sitzung von dem Server Bilddaten zu einer aktiven Betriebsart anfordert, weiterverarbeitet und zur Anzeige bringt, wobei eine Codereinrichtung des Servers Videodaten entsprechend der aktiven Betriebsart kodiert und als kodierte Übertragungsdaten an den Client sendet, wobei die Codereinrichtung neben der Betriebsart Wiedergabe in der Betriebsart Stopp, Standbild, Schnellvorlauf und/oder Schnellrücklauf als aktive Betriebsart betreibbar ist und wobei der Client die aktive Betriebsart der Codereinrichtung bestimmt.
-
Ein weiterer Gegenstand der Erfindung betrifft ein Computerprogramm mit den Merkmalen des Anspruchs 12, sowie eine Codereinrichtung mit den Merkmalen des Anspruchs 13.
-
Weitere Merkmale, Vorteile und Wirkungen der Erfindung ergeben sich aus der nachfolgenden Beschreibung bevorzugter Ausführungsbeispiel der Erfindung sowie der beigefügten Figuren. Dabei zeigen:
-
1 eine schematische Blockdarstellung eines Videosystems als ein erstes Ausführungsbeispiel der Erfindung;
-
2 mit gleicher Darstellung wie in der 1 ein Videosystem als ein zweites Ausführungsbeispiel der Erfindung;
-
3 eine schematische Illustration zur Veranschaulichung der Betriebsweise Schnellvorlauf der Videosysteme in den vorhergehenden Figuren,
-
4 eine schematische Illustration zur Veranschaulichung der Betriebsweise Standbild der Videosysteme in den vorhergehenden Figuren in einer ersten Ausführung;
-
5 eine schematische Illustration zur Veranschaulichung der Betriebsweise Standbild der Videosysteme in den vorhergehenden Figuren in einer zweiten Ausführung.
-
Die 1 zeigt in einer schematischen Darstellung ein Videosystem 1 zur Darstellung von Bilddaten als ein Ausführungsbeispiel der Erfindung.
-
Bei den Bilddaten handelt es sich insbesondere um Videosequenzen, welche eine Mehrzahl von aufeinanderfolgenden Bildern aufweisen, die in zeitlich äquidistanten Abständen zueinander angeordnet sind, sodass aus der Videosequenz ein Film darstellbar ist. In einer möglichen Anwendung des Videosystems sind die Bilddaten als Videosequenzen von Überwachungskameras ausgebildet, wobei die Bilddaten eine stationäre Überwachungsszene zeigen. Diese Anwendung kann besonders vorteilhaft bei dem Videosystem 1 umgesetzt werden, da die Bilddaten stets einen im Wesentlichen gleichen Szenenhintergrund aufweist, sodass eine besonders effektive Komprimierung der Bilddaten erfolgen kann.
-
Das Videosystem 1 umfasst einen Server 2, welcher zur Bereitstellung von Ausgangsdaten ausgebildet ist. Die Ausgangsdaten zu den Bilddaten werden z.B. bei einer Überwachung durch die von der mindestens einen Überwachungskamera übertragenen Bilddaten gebildet und in einem Speicher, mit dem der Server verbunden ist oder der in dem Server integriert ist, hinterlegt.
-
Das Videosystem 1 umfasst ferner einen Client 3, welcher über ein Netzwerk 4 mit dem Server 2 verbunden ist. Bei dem Netzwerk 4 kann es sich um ein kabelloses oder kabelgebundenes Netzwerk, beispielsweise um ein Ethernet oder das Internet handeln. Der Client 3 ist dazu ausgebildet, über das Netzwerk 4 Bilddaten von dem Server 2 anzufordern, weiterzubearbeiten und anzuzeigen.
-
Zur Anforderung von Bilddaten kann der Client 3 Befehle B über das Netzwerk 4 an den Server 2 übertragen. Insbesondere wird über die Befehle B die Auswahl einer aktiven Betriebsart an den Server 2 übermittelt. Bei der Betriebsart kann es sich beispielsweise um eine Wiedergabe, einen Stopp, ein Standbild, einen Schnellvorlauf oder einen Schnellrücklauf handeln.
-
Bei der Wiedergabe werden die Bilddaten in Normalgeschwindigkeit auf dem Client 3 angezeigt. Bei der Betriebsart Stopp werden keine Bilddaten auf dem Client 3 angezeigt. Bei der Betriebsart Standbild wird ein aktives oder aktuelles Bild der Bilddaten auf dem Client 3 dauerhaft angezeigt. Bei der Betriebsart Schnellvorlauf werden die Bilddaten in einem Zeitraffer vorwärts und bei einem Schnellrücklauf im Zeitraffer rückwärts angezeigt.
-
Der Server 2 umfasst eine Codereinrichtung 5, welche Videodaten auf Basis der Ausgangsdaten gemäß der aktiven Betriebsart auswählt und kodiert und als kodierte Übertragungsdaten ausgibt. Die Codierung der Videodaten erfolgt beispielsweise nach dem MPEG-4 Standard und/oder H.264 Codec, wie dieser in den entsprechenden Normen niedergelegt ist. Die Codereinrichtung 5 ist als eine Software oder Programminstanz ausgebildet und während der Dauer einer Sitzung dem Client 3 exklusiv zugeordnet. Dies bedeutet, dass die Codereinrichtung 5 während der Sitzung oder Nutzungsdauer ausschließlich für den zugeordneten Client 3 Videodaten kodiert und entsprechende kodierte Übertragungsdaten in Abhängigkeit der aktiven Betriebsart ausgibt.
-
Der Vorteil an dieser Konstellation ist, dass die Codereinrichtung 5 ausschließlich auf Befehle B des Client 3 tätig wird und Ressourcen des Servers 2 belegt. Um auf die Befehle B und insbesondere auf den Wechsel der aktiven Betriebsart zeitnah reagieren zu können, erfolgt die Kodierung der Videodaten in Echtzeit oder "on-the-fly" oder bedarfsgerecht. Dies bedeutet z.B., dass sobald die Betriebsart Stopp über den Befehl B aktiv wird, die Codereinrichtung 5 die Kodierung von Videodaten beendet.
-
Bei der Betriebsart Schnellvorlauf oder Schnellrücklauf als aktive Betriebsart ist es möglich, dass die Codereinrichtung 5 nur eine Auswahl der verfügbaren Bilder der Ausgangsdaten kodiert und als kodierte Übertragungsdaten über das Netzwerk 4 übermittelt, da bei einem schnellen Vorlauf in einem sogenannten Scratch-Modus nur jedes zweite, dritte, vierte, etc. Bild einer Bildersequenz dargestellt und folglich übertragen werden muss. Das gleiche gilt für die Betriebsart Schnellrücklauf, auch hier ist es möglich, die Anzahl der übertragenen Bilder zu reduzieren.
-
Real betrachtet ist die Datenübertragungsrate in einem Netzwerk 4 oftmals begrenzt. Diesem Umstand wird dadurch Rechnung getragen, dass die Codereinrichtung 5 die Videodaten vor der Übertragung über das Netzwerk 4 kodiert und dadurch komprimiert. Allerdings erlauben die üblichen Videokompressionsstandards unterschiedliche Kompressionsfaktoren, die zum einen zu unterschiedlichen Qualitäten der angezeigten Bilddaten auf dem Client 3, und zum anderen zu unterschiedlichen Datenübertragungsraten – auch Bitraten genannt – der kodierten Übertragungsdaten führen. So ist es beispielsweise möglich, bei einer niedrigen verfügbaren Datenübertragungsrate des Netzwerks 4 eine geringere Bitrate bei der Komprimierung zu wählen.
-
Die Bitrate zur Kodierung der Videodaten kann zum einen vom Client 3 vorgegeben werden, wobei der Client 3 beispielsweise ein Auswahlfeld aufweist, in dem unterschiedliche Bitraten zur Auswahl angeboten werden. Sobald auf dem Client 3 eine Bitrate ausgewählt ist, wird diese als Befehl B an den Server 2 übertragen und die Codereinrichtung 5 kodiert die Videodaten nachfolgend passend zu der gewählten Bitrate. Alternativ oder ergänzend kann auch die Bildfrequenz oder die Bildgröße bei der Kodierung von dem Client 3 über einen oder mehrere Befehle B bestimmt werden. Alternativ hierzu kann der Server 2 und/oder die Codereinrichtung 5 eine adaptive oder selbststeuernde oder selbstregelnde Parametereinstellung für Parameter zur Kodierung der Videodaten aufweisen. Beispielsweise wird ein Ausgangspuffer, insbesondere ein TCP/IP-Puffer des Servers 2 zu dem Netzwerk 4 beobachtet, wobei der Füllstand des Ausgangspuffers ein Maß für die erfolgte Übertragung von kodierten Übertragungsdaten ist. Steigt die Füllhöhe des Puffers an, so wird daraus geschlossen, dass die gewählte Bitrate zu groß für die verfügbare Datenübertragungsrate des Netzwerks 4 ist und die Bitrate wird bei der Kodierung der Videodaten heruntergesetzt. Fällt der Füllstand des Ausgangspuffers zu stark ab, so wird festgestellt, dass die Bitrate zu klein für die verfügbare Datenübertragungsrate des Netzwerks 4 ist. In diesem Fall wird die Bitrate bei der Kodierung der Videodaten erhöht.
-
Der automatische oder manuelle Wechsel der Bitrate wird von der Codereinrichtung 5 unverzüglich umgesetzt, sodass die Videodaten nur mit einer einzigen Bitrate als Parameter kodiert werden und insbesondere nicht parallel in mehrere Kopien mit unterschiedlichen Bitraten kodiert werden.
-
In der Betriebsart Standbild wird zunächst das aktive Bild mit der aktuellen Codierung auf dem Client 3 dargestellt. Nachdem jedoch nach der Übermittlung der Betriebsart Standbild über den Befehl B die Kodierung von weiteren Videodaten und die Ausgabe von kodierten Übertragungsdaten gemäß der aktiven Betriebsart Standbild pausiert, ist zum einen die Codereinrichtung 5 unbeschäftigt und zum anderen ausreichend Datenübertragungsrate des Netzwerks 4 verfügbar. In der Betriebsart Standbild erfolgt eine Neukodierung oder Rekodierung des aktiven Bilds, wobei das aktive Bild mit einer verbesserten Auflösung oder einer geringeren Kodierung, jedenfalls mit einer besseren Qualität an den Client 3 übermittelt wird. Dabei kann es sich um eine Neuübermittlung des aktiven Bildes oder um eine Ergänzung von Bildinformationen zu dem aktiven Bild handeln, welches bereits auf dem Client 3 vorliegt.
-
Die 2 zeigt ein zweites Ausführungsbeispiel der Erfindung, wobei gleiche Komponenten wieder mit gleichen Bezugszeichen versehen sind, sodass auf die vorhergehende Beschreibung verwiesen wird. In dem Ausführungsbeispiel in der 2 wird der Signalweg der Bilddaten in dem Server 2 genauer erläutert. Die von extern stammenden Bilddaten werden in einem Speicher 6 abgelegt, wobei die Bilddaten als kodierte Ausgangsdaten A hinterlegt werden. Beispielsweise werden die Bilddaten auf Basis des MPEG-4 oder H.264 Codecs komprimiert.
-
Die kodierten Ausgangsdaten A werden nachfolgend an die Codereinrichtung 5, die in diesem Ausführungsbeispiel als eine Transkodereinrichtung ausgebildet ist, übergeben. Die Codereinrichtung 5 umfasst in dieser Ausgestaltung ein Dekodermodul 7 und ein Enkodermodul 8. In dem Dekodermodul 7 werden die codierten Ausgangsdaten vom Speicher 6 decodiert und liegen nachfolgend als Videodaten V in Form einer Serie aufeinanderfolgender Einzelbilder vor, welche voneinander unabhängig sind. Insbesondere sind die Videodaten V als sogenannte Raw-Frames ausgebildet.
-
In dem Enkodermodul 8 werden die Videodaten V zu kodierten Übertragungsdaten U kodiert, wobei das MPEG-4-Verfahren oder der H.264-Standard zum Einsatz kommt. Die Kodierung im Enkodermodul 8 ist abhängig von der aktiven Betriebsart und/oder von den gewählten Parametern, insbesondere der gewählten Datenübertragungsrate/Bitrate oder die Bildauflösung oder die Bildfrequenz (fps-frames per second) für die kodierten Übertragungsdaten.
-
Die 3 illustriert das Verfahren zur Erzeugung von kodierten Übertragungsdaten U bei der aktiven Betriebsart Schnellvorlauf. Im unteren Bereich der 3 sind die kodierten Ausgangsdaten A schematisch illustriert, wie diese in dem Speicher 6 abgelegt sind. Die codierten Ausgangsdaten A sind in Bildgruppen GoP geordnet, wobei jedes GoP ein Schlüsselbild 9 – englisch auch Key-Frame oder Intra-Frame genannt – und eine Mehrzahl von Inter-Frames 10 umfasst.
-
Jeder der Frames 9, 10 entspricht einem Bild in einer Videosequenz. Der Key-Frame 9 ist von anderen Frames unabhängig und enthält alle Bildinformationen zu dessen zugeordnetem Bild. Die Inter-Frames dagegen beziehen sich auf vorauslaufende oder nachfolgende Frames, sodass ein Inter-Frame 10 alleine nicht alle für das zugrunde liegende Bild notwendigen Bildinformationen aufweist.
-
Bei der Betriebsart Schnellvorlauf – auch Scratch-Modus genannt – werden von der Codereinrichtung 5, insbesondere von dem Dekodermodul 7, nur die Key-Frames 9 der Ausgangsdaten A ausgewählt und die Inter-Frames 10 verworfen. In dem gezeigten Beispiel wird somit nur jeder vierte Frame decodiert. Das Decodieren erfordert einen geringen Aufwand, da in den Key-Frames 9 alle Bildinformationen bereits vorhanden sind. Als Ergebnis liegen die Videodaten V in Form von Raw-Frames 11 vor, die Auswahlbilder der ursprünglichen Bilddaten bilden, da zwischen den Auswahlbildern 11 jeweils drei Zwischenbilder, in diesem Fall Inter-Frames 10, angeordnet sind.
-
Es ist auch möglich, dass nur jeder zweite, dritte oder n-te Key-Frame 9 für die Videodaten V decodiert wird und die dazwischen liegenden Frames 9, 10 verworfen werden. Die Betriebsart Schnellvorlauf hat den Vorteil, dass sehr weite Zeitbereiche einfach gescannt werden können.
-
In dem Enkodermodul 8 werden die Raw-Frames 11 der Videodaten V zu den kodierten Übertragungsdaten U codiert, welche wieder als GoPs mit Key-Frames 9 und Inter-Frames 10 ausgebildet sind. Die Parameter der Kodierung sind unabhängig von den Parametern der Kodierung der Bilddaten zu den kodierten Ausgangsdaten A. Diese kodierten Übertragungsdaten U werden nachfolgend über das Netzwerk 4 an den Client 3 übertragen. Der Client 3 empfängt die kodierten Übertragungsdaten, dekodiert diese und zeigt die Bilddaten in der aktiven Betriebsart Schnellvorlauf an.
-
Der Vorteil dieser Art des Schnellvorlaufs liegt darin, dass die Decodierung nur sehr wenig Rechenzeit beansprucht, da nur Key-Frames 9 als Auswahlbilder verwendet werden. Unabhängig davon werden zur Übertragung an den Client 3 nur die Frames kodiert, die tatsächlich auch angezeigt werden sollen. Dies führt zu einer effektiven Reduktion der Datenübertragung über das Netzwerk 4 und der Datenvorbereitung durch die Codereinrichtung 5. In analoger Weise kann die Betriebsart Schnellrücklauf umgesetzt werden.
-
Die 4 zeigt in gleicher Darstellung wie die 3 die Betriebsart Standbild in einer ersten Ausführung. In dieser Betriebsart wird davon ausgegangen, dass der Benutzer an dem Client 3 bei einem aktuellen oder aktiven Bild zu einem Zeitpunkt t0 die Betriebsart Standbild aktiviert. Die Betriebsart wird als Befehl B an den Server 2 und insbesondere an die Codereinrichtung 5 übertragen. Dieser bzw. diese kodiert keine neuen Videodaten V, sondern beginnt das zum Zeitpunkt t0 aktuelle Bild – in diesem Fall übertragen als ein Inter-Frame 10 – aus dem korrespondierenden Raw-Frame 11 nachzukodieren, um die Bildqualität, insbesondere die Detailgenauigkeit des auf dem Client 3 angezeigten aktuellen Bilds zu verbessern. Zu diesem Zweck werden von dem Dekodermodul 8 weitere Inter-Frames 10 aus dem Raw-Frame 11 des aktuellen Bilds kodiert, welche weitere Detailinformationen aus dem Raw-Frame 11 beinhalten und als Übertragungsdaten U an den Client 3 übertragen. Der Client 3 empfängt die zusätzlichen Inter-Frames 10 zu dem aktuellen Bild und kann dieses sukzessive in besserer Qualität anzeigen.
-
Die 5 zeigt ein abgewandeltes Ausführungsbeispiel, wobei nach der Aktivierung der Betriebsart Standbild das zu dem aktuellen Bild korrespondierende Raw-Frame 11 neukodiert wird und als GoP mit einem Key-Frame 9 und weiteren Inter-Frames 10 an den Client 3 übertragen wird. Diese abgewandelte Ausführungsform hat den Vorteil, dass auch die Bildauflösung, also die Anzahl der Pixel pro Bild, in der Betriebsart Standbild geändert werden kann. So ist es z.B. möglich, bei einer bandbreitenbegrenzten Netzverbindung über das Netzwerk 4 das aktuelle Bild durch die Betriebsart Standbild nochmals in verbesserter Auflösung anzufordern.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 2011/0225315 A1 [0004, 0016]
-
Zitierte Nicht-Patentliteratur
-
- MPEG-4-Standard [0008]
- Standard H.264 [0008]
- MPEG-4_AVC-BP Standard [0010]
- MPEG-4_AVC-BP Standard [0011]
- Standard MPEG-4 [0020]
- H.264 [0020]
- MPEG-4 Standard [0043]
- H.264 Codec [0043]
- H.264-Standard [0052]