DE112020001299B4 - Verzögerungsarme Entschärfung und Wiederherstellung von Inhalten (CDR) eines Live-Streaming-Videos - Google Patents

Verzögerungsarme Entschärfung und Wiederherstellung von Inhalten (CDR) eines Live-Streaming-Videos Download PDF

Info

Publication number
DE112020001299B4
DE112020001299B4 DE112020001299.9T DE112020001299T DE112020001299B4 DE 112020001299 B4 DE112020001299 B4 DE 112020001299B4 DE 112020001299 T DE112020001299 T DE 112020001299T DE 112020001299 B4 DE112020001299 B4 DE 112020001299B4
Authority
DE
Germany
Prior art keywords
data stream
encoded video
video data
stream
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112020001299.9T
Other languages
English (en)
Other versions
DE112020001299T5 (de
Inventor
Ophir Azulai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020001299T5 publication Critical patent/DE112020001299T5/de
Application granted granted Critical
Publication of DE112020001299B4 publication Critical patent/DE112020001299B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Verfahren (100) zum Decodieren und Wieder-Codieren eines codierten Video-Datenstroms, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, aufweisend:Verwendung mindestens eines Prozessors (212) zum Entfernen oder Umändern von böswilligen Agenten, die potentiell in dem codierten Video-Datenstrom eingebettet sind, durch:Decodieren (104) eines empfangenen codierten Video-Datenstroms, um einen decodierten Video-Datenstrom zu erhalten;Extrahieren (108) von Codierungsinformationen aus dem codierten Video-Datenstrom, die von einem ursprünglichen Codierer berechnet wurden, um den codierten Video-Datenstrom zu erstellen;Anpassen (110) der Codierungsinformationen durch Ersetzen zumindest eines in den Codierungsinformationen definierten Quantisierungsparameters durch einen entsprechenden angepassten Quantisierungsparameter, der beruhend auf einer zufälligen Auswahl eines Wertes aus einem Bereich von Quantisierungsparameterwerten berechnet wurde,wobei der zufällig ausgewählte Wert, der während der Codierung genutzt wird, um Zufälligkeit zu einer Struktur einen Ausgabe-Video-Datenstroms einzuführen, der codiert wird durch die Nutzung der angepassten Codierungs-Information, wobei eine Vorhersehbarheit der Struktur verhindert wird, und wobei der vorher definierte Bereich konfiguriert ist, um eine Qualitätsverschlechterung des Ausgabe-Video-Datenstrom im Vergleich zu dem empfangenen codierten Video-Datenstrom zu verhindern;Codieren (112) des decodierten Video-Datenstroms unter Verwendung der angepassten Codierungsinformationen, um einen abgeänderten codierten Video-Datenstrom zu erzeugen, der in dem gleichen Codierungs-Protokoll codiert wird wie ein Codierungs-Protokoll des empfangenen Video-Datenstroms; undÜbertragen des abgeänderten codierten Video-Datenstroms.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich in einigen Ausführungsformen auf eine Entschärfung und Wiederherstellung von Inhalten (CDR, Content Disarm and Reconstruction) eines codierten Video-Datenstroms und insbesondere, aber nicht ausschließlich, auf eine verzögerungsarme CDR beim Streaming eines codierten Live-Video-Datenstroms unter Verwendung von Codierungsinformationen, die aus dem codierten Video extrahiert und angepasst werden, um einen abgeänderten codierten Video-Datenstrom zu erzeugen.
  • Durch die ständig wachsende Abhängigkeit von Diensten, Anwendungen, Systemen und Plattformen für Informationstechnologie, Informationsaustausch und verteilte Datenverarbeitung des heutigen Alltags ist der Weg frei für Cyber-Bedrohungen und Cyber-Angriffe, die von böswilligen Parteien (z.B. Hackern) ausgehen, um zu versuchen, derartige Informationen und Computerressourcen auszuspähen, zu verändern, unbrauchbar zu machen, zu zerstören, zu stehlen, unbefugten Zugriff darauf zu erlangen oder sie unbefugt zu nutzen.
  • Cyber-Sicherheit ist daher zu einer enormen Herausforderung geworden, und es findet ein ständiger Wettlauf zwischen den böswilligen Parteien, die böswillige Cyber-Angriffe planen, und den Bemühungen um Cyber-Sicherheit statt, Gegenmaßnahmen zu entwickeln und einzusetzen, um diese böswilligen Cyber-Angriffe zu erkennen, zu blockieren und/oder zu neutralisieren.
  • Im Rahmen der Bemühungen um Cyber-Sicherheit wurden viele Verfahren, Techniken und Werkzeuge entwickelt, die sich auf verschiedene Aspekte und Eigenschaften der Cyber-Bedrohungen konzentrieren und sich diese zu Nutze machen. Da sich jedoch die Art, der Fußabdruck, der Typ, das Muster, die Eigenschaften, die Auswirkung und/oder die Arbeitsweise der Cyber-Bedrohungen ständig ändern, ist die Herausforderung im Bereich der Cyber-Sicherheit ständig vorhanden.
  • In diesem Zusammenhang sind bereits veröffentlichte Dokumente bekannt. Das Dokument US 2014 / 0 037 005 A1 beschreibt ein Verfahren und eine zugehörige Vorrichtung zum Transkodieren von Video-Daten. Dies umfasst ein Dekodieren eines Video-Stroms, um die dekodierten Frames zu erhalten. Außerdem kann ein Dekodierungsparameter aus dem Video-Strom extrahiert werden und die Frames können unter Nutzung des Dekodierungsparameters verschlüsselt werden. Außerdem ist im Dokument US 2018 / 0 191 737 A1 ein Verfahren zum Entschärfen von Angriffs-Code in einem Computersystem beschrieben. Dabei werden Inhalte empfangen, die Angriffs-Code aufweisen, der aber durch den Prozessor inaktiviert wird.
  • Ergänzend sei auch noch auf das Dokument US 6 278 385 B1 verwiesen. Hierin wird ein Vektor-Quantisierer und ein entsprechendes Verfahren beschrieben, welches es erschwert, eine Position von eingebetteten Watermark-Informationen zu identifizieren. Auf diese Weise kann verhindert werden, dass die quantisierte Vektor-Information, die korrekt identifiziert wurde, zu Angriffszwecken genutzt wird.
  • Trotzdem weisen die bekannten Sicherheitsmaßnahmen weiterhin Lücken auf, welche durch das hier vorgestellte Verfahren - mindestens teilweise - geschlossen werden sollen.
  • KURZDARSTELLUNG
  • Lösungen für die oben skizzierte Aufgabe sind durch die unabhängigen Ansprüche beschrieben. Weitere Ausführungsformen ergeben sich aus den jeweils abhängigen Ansprüchen
  • Dabei werden insbesondere die ersten, zweiten, dritten, vierten und fünften Programmanweisungen des Computerprogrammproduktes von einem oder mehreren Prozessoren aus dem nichtflüchtigen, durch einen Computer lesbaren Speichermedium ausgeführt werden.
  • In einer weiteren Umsetzungsform des ersten, zweiten und/oder dritten Aspekts wird der empfangene codierte Video-Datenstrom aus einem empfangenen Transport-Datenstrom extrahiert, in den der codierte Video-Datenstrom einkapselt ist.
  • In einer weiteren Umsetzungsform des ersten, zweiten und/oder dritten Aspekts ist der abgeänderte codierte Video-Datenstrom in einen ausgegebenen Transport-Datenstrom eingekapselt.
  • In einer weiteren Umsetzungsform des ersten, zweiten und/oder dritten Aspekts handelt es sich bei dem codierten Video-Datenstrom um einen live codierten Video-Datenstrom, der ein Live-Ereignis darstellt.
  • In einer weiteren Umsetzungsform des ersten, zweiten und/oder dritten Aspekts ist der codierte Video-Datenstrom nach einem Videocodierungsprotokoll codiert, zum Beispiel MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264 und/oder H.265.
  • In einer weiteren Umsetzungsform des ersten, zweiten und/oder dritten Aspekts umfassen die Codierungsinformationen Bewegungsvektoren, Quantisierungsparameter und Makroblocktypen, die von dem ursprünglichen Codierer für eine Mehrzahl von in dem codierten Video-Datenstrom codierten Einzelbildern (frames) erzeugt wurden.
  • In einer weiteren Umsetzungsform des ersten, zweiten und/oder dritten Aspekts ist der Quantisierungsparameterwert der entsprechenden angepassten Quantisierung gleich oder kleiner als der Quantisierungsparameterwert des entsprechenden Quantisierungsparameters.
  • Andere Systeme, Verfahren, Merkmale und Vorteile der vorliegenden Offenbarung werden für einen Fachmann bei der Betrachtung der folgenden Zeichnungen und der detaillierten Beschreibung offensichtlich sein oder werden. Es ist beabsichtigt, dass alle derartigen zusätzlichen Systeme, Verfahren, Merkmale und Vorteile in dieser Beschreibung enthalten sind, zum Umfang der vorliegenden Offenbarung gehören und durch die beigefügten Ansprüche geschützt sind.
  • Sofern nicht anders definiert, haben alle hierin verwendeten technischen und/oder wissenschaftlichen Begriffe die gleiche Bedeutung, wie sie von einem Fachmann auf dem Gebiet, auf das sich die Erfindung bezieht, gemeinhin verstanden wird. Obwohl ähnliche oder gleichwertige Verfahren und Materialien wie die hierin beschriebenen in der Praxis oder beim Testen von Ausführungsformen der Erfindung verwendet werden können, werden nachfolgend beispielhafte Verfahren und/oder Materialien beschrieben. Im Falle eines Widerspruchs ist die Patentschrift, einschließlich Definitionen, maßgeblich. Zusätzlich dienen die Materialien, Verfahren und Beispiele lediglich zur Veranschaulichung und sollen nicht zwangsläufig einschränkend sein.
  • Eine Umsetzung des Verfahrens und/oder des Systems von Ausführungsformen der Erfindung kann mit einem manuellen oder automatischen Durchführen oder Erledigen ausgewählter Aufgaben oder einer Kombination davon einhergehen. Außerdem könnten je nach tatsächlicher Instrumentierung und Ausstattung von Ausführungsformen des erfindungsgemäßen Verfahrens und/oder Systems mehrere ausgewählte Aufgaben durch Hardware, durch Software oder durch Firmware oder durch eine Kombination davon unter Verwendung eines Betriebssystems umgesetzt werden.
  • Zum Beispiel könnte Hardware zum Durchführen ausgewählter Aufgaben gemäß Ausführungsformen der Erfindung als Chip oder Schaltung umgesetzt sein. Als Software könnten ausgewählte Aufgaben gemäß Ausführungsformen der Erfindung als eine Mehrzahl von Softwareanweisungen umgesetzt sein, die von einem Computer unter Verwendung eines beliebigen geeigneten Betriebssystems ausgeführt werden. In einer beispielhaften Ausführungsform der Erfindung werden eine oder mehrere Aufgaben gemäß beispielhaften Ausführungsformen des Verfahrens und/oder des Systems, wie hierin beschrieben, von einem Datenprozessor wie zum Beispiel einer Datenverarbeitungsplattform zum Ausführen einer Mehrzahl von Anweisungen durchgeführt. Optional umfasst der Datenprozessor einen flüchtigen Speicher zum Speichern von Anweisungen und/oder Daten und/oder einen nichtflüchtigen Speicher, zum Beispiel eine magnetische Festplatte und/oder austauschbare Medien, zum Speichern von Anweisungen und/oder Daten. Optional wird auch ein Netzwerkanschluss bereitgestellt. Eine Anzeige und/oder eine Benutzereingabeeinheit wie zum Beispiel eine Tastatur oder Maus werden optional ebenfalls bereitgestellt.
  • Figurenliste
  • Einige Ausführungsformen der Erfindung werden hierin nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Mit konkretem Bezug auf die Zeichnungen im Detail wird nun betont, dass die gezeigten Einzelheiten beispielhaft sind und zum Zwecke der veranschaulichenden Erörterung von Ausführungsformen der Erfindung dienen. Diesbezüglich macht die Beschreibung zusammen mit den Zeichnungen dem Fachmann deutlich, wie Ausführungsformen der Erfindung ausgeführt werden können.
  • Es zeigen:
    • 1 einen Ablaufplan eines beispielhaften Prozesses eines Entschärfens und Wiederherstellens eines codierten Video-Datenstroms, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, gemäß einigen Ausführungsformen der vorliegenden Erfindung; und
    • 2 eine schematische Darstellung eines beispielhaften Systems zum Entschärfen und Wiederherstellen eines codierten Video-Datenstroms, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, gemäß einigen Ausführungsformen der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung bezieht sich in einigen Ausführungsformen auf eine CDR eines codierten Video-Datenstroms und insbesondere, aber nicht ausschließlich, auf eine verzögerungsarme CDR beim Streaming eines codierten Live-Video-Datenstroms unter Verwendung von Codierungsinformationen, die aus dem codierten Video extrahiert und angepasst werden, um einen abgeänderten codierten Video-Datenstrom zu erzeugen.
  • Gemäß einigen Ausführungsformen der vorliegenden Erfindung werden Verfahren, Systeme und Computerprogrammprodukte zur Entschärfung und Wiederherstellung von Inhalten (CDR) eines empfangenen codierten Video-Datenstroms bereitgestellt, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, der eine Folge von Einzelbildern aufweist, die gemäß einem oder mehreren Codierungsprotokollen codiert sind, zum Beispiel MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264, H.265 und/oder dergleichen.
  • Insbesondere zielt die CDR darauf ab, die Unanfälligkeit eines sicheren (internen) Netzwerks, zum Beispiel eines privaten Netzwerks, eines Firmennetzwerks, eines Organisationsnetzwerks, eines Fabriknetzwerks, eines Institutionsnetzwerks und/oder dergleichen gegenüber Cyber-Bedrohungen zu erhöhen, die von einem externen, nicht vertrauenswürdigen Netzwerk wie zum Beispiel dem Internet ausgehen. Von daher kann die CDR auf den empfangenen codierten Video-Datenstrom von einem oder mehreren Zugangssystemen und/oder Einheiten angewendet werden, zum Beispiel einem Gateway, einem Router, einem Proxy-Server und/oder dergleichen, die als Tor zwischen einem sicheren (internen) Netzwerk und dem externen, nicht vertrauenswürdigen Netzwerk dienen.
  • Da der codierte Video-Datenstrom aus dem nicht vertrauenswürdigen Netzwerk empfangen wird, können sich in den empfangenen (eingegebenen) codierten Video-Datenströmen möglicherweise eine oder mehrere schädliche Programmkomponenten befinden, zum Beispiel ein Virus, ein Wurm, ein Trojanisches Pferd, ein böswilliger Agent, eine Ransomware, eine Spyware, eine Adware, eine Scareware und/oder dergleichen. Derartige schädliche Programmkomponenten können so konfiguriert sein, dass sie Ressourcen in dem sicheren Netzwerk ausspähen, verändern, unbrauchbar machen, zerstören, stehlen, sich unbefugten Zugriff darauf verschaffen und/oder sie unbefugt nutzen.
  • Während des CDR-Prozesses wird der empfangene codierte Video-Datenstrom zunächst decodiert, um das codierte Video zu decodieren, dann wird das decodierte Video wiederhergestellt, d.h. gemäß dem/den ursprünglichen Codierungsprotokoll(en) neu codiert, um einen ausgegebenen codierten Video-Datenstrom zu erzeugen, der im Vergleich zu dem empfangenen codierten Video-Datenstrom verändert sein kann. Da das Video decodiert und dann neu codiert wird, kann jede redundante Komponente, insbesondere jede schädliche Programmkomponente, die dem empfangenen codierten Video-Datenstrom hinzugefügt wurde, in diesen eingefügt wurde und/oder darin enthalten ist, entfernt oder zumindest in einem Maße verändert werden, das die schädliche(n) Programmkomponente(n) unschädlich macht und somit den schädlichen Arbeitsschritt der schädlichen Programmkomponente(n) verhindert.
  • Das Decodieren des eingegebenen codierten Video-Datenstroms kann relativ einfach sein, so dass nur begrenzte Datenverarbeitungsressourcen wie zum Beispiel Verarbeitungsleistung, Verarbeitungszeit, Speicherressourcen und/oder dergleichen verbraucht werden. Allerdings kann ein erneutes Codieren des decodierten Videos zum Erzeugen des ausgegebenen codierten Video-Datenstroms erhebliche Datenverarbeitungsressourcen erfordern, da das/die Codierungsprotokoll(e), das/die zum Komprimieren des Video-Datenstroms unter Beibehaltung einer hohen Videoqualität angewendet wird/werden, extrem Ressourcen in Anspruch nehmend sein kann/können.
  • Eine Komprimierung des Video-Datenstroms beruht in erster Linie auf einem Verringern der räumlichen und zeitlichen Redundanz zwischen aufeinander folgenden Einzelbildern des Video-Datenstroms. Um diese Redundanz zu erkennen und einen Vorteil daraus zu ziehen, werden fortschrittliche Verfahren zur Bewegungsschätzung angewendet, um Codierungsinformationen zu berechnen, zum Beispiel Bewegungsvektoren, Quantisierungsparameter, Makroblocktypen und/oder dergleichen, um den codierten Video-Datenstrom zu erzeugen. Die Bewegungsschätzung geht mit komplexen Bildverarbeitungs- und Bewegungsvorhersage-Algorithmen einher, die erhebliche Datenverarbeitungsressourcen erfordern können, zum Beispiel Verarbeitungsleistung, Verarbeitungszeit, Speicherressourcen und/oder dergleichen, was darüber hinaus zu einer erheblichen elektrischen Leistungsaufnahme führen kann.
  • Um die für ein erneutes Codieren des Video-Datenstroms zum Erzeugen des ausgegebenen codierten Video-Datenstroms erforderlichen Datenverarbeitungsressourcen zu verringern, können daher die Codierungsinformationen, die von dem ursprünglichen Codierer berechnet wurden, der den empfangenen (eingegebenen) codierten Video-Datenstrom codiert hat, aus dem eingegebenen codierten Video-Datenstrom extrahiert und zum Erzeugen des ausgegebenen codierten Video-Datenstroms verwendet werden. Daher werden während des CDR-Prozesses keine Berechnungen zur Bewegungsschätzung durchgeführt, um den ausgegebenen codierten Video-Datenstrom zu erzeugen, sondern der ausgegebene codierte Video-Datenstrom wird vielmehr unter Verwendung der von dem ursprünglichen Codierer berechneten Codierungsinformationen erzeugt (codiert).
  • Insbesondere kann ein Erzeugen des ausgegebenen codierten Video-Datenstroms unter Verwendung der extrahierten Codierungsinformationen die CDR-Zeit erheblich verkürzen und damit die Latenz zwischen dem Empfangen des eingegebenen codierten Video-Datenstroms und dem Übertragen des ausgegebenen codierten Video-Datenstroms erheblich verringern. Dies kann von besonderer Bedeutung sein, wenn es sich bei dem codierten Video-Datenstrom um einen codierten Live-Streaming-Video-Datenstrom handelt, der ein Live-Ereignis darstellt.
  • Allerdings kann eine böswillige Partei, entweder menschlich und/oder automatisiert, in der Lage sein, eine Struktur des wiederhergestellten ausgegebenen codierten Video-Datenstroms vorherzusagen und die schädliche(n) Programmkomponente(n) in einer Weise einzufügen, die es einer oder mehreren der schädlichen Programmkomponenten ermöglicht, den CDR-Prozess zu überstehen (überleben) und ihre schädliche Funktionalität in dem ausgegebenen codierten Video-Datenstrom beizubehalten.
  • Um eine derartige Ausnutzung zu verhindern, können die aus dem eingegebenen codierten Video-Datenstrom extrahierten Codierungsinformationen angepasst werden, bevor sie zum Erzeugen (Codieren) des ausgegebenen codierten Video-Datenstroms verwendet werden, der im Vergleich zu dem empfangenen codierten Video-Datenstrom verändert sein kann. Insbesondere können die Codierungsinformationen durch Ersetzen eines oder mehrerer der in den Codierungsinformationen definierten Quantisierungsparametern durch einen oder mehrere angepasste Quantisierungsparameter angepasst werden. Um eine Unvorhersehbarkeit der Struktur und/oder des Musters des abgeänderten codierten Video-Datenstroms sicherzustellen, können der eine oder die mehreren angepassten Quantisierungsparameter beruhend auf einer zufälligen Auswahl eines Wertes aus einem Bereich und/oder einer Gruppe von Quantisierungsparameterwerten berechnet werden. Die zufällig und unvorhersehbar abgeänderte Struktur und/oder das zufällig und unvorhersehbar abgeänderte Muster des abgeänderten codierten Video-Datenstroms kann somit verhindern, dass die böswillige Partei eine oder mehrere schädliche Programmkomponenten einfügt, die den CDR-Prozess überstehen könnten, oder zumindest derartige Einfügungsversuche vereiteln.
  • Nach der Anpassung werden die angepassten Codierungsinformationen verwendet, um den ausgegebenen codierten Video-Datenstrom zu erzeugen (zu codieren), der somit gegenüber dem (empfangenen) eingegebenen codierten Video-Datenstrom abgeändert ist. Der abgeänderte codierte Video-Datenstrom kann dann übertragen, verteilt und/oder einem oder mehreren decodierenden Clients zur Verfügung gestellt werden, zum Beispiel einem Server, einem Netzwerkknoten, einem Datenverarbeitungsknoten, einem Computer, einem Smartphone und/oder dergleichen, die mit dem sicheren Netzwerk verbunden sind.
  • Der Quantisierungsparameter bezieht sich direkt auf den Quantisierungsschritt, der die Abtastrate und die Anzahl der Abtastungen für ein Abtasten der Einzelbilder in dem codierten Video-Datenstrom festlegt. Der Quantisierungsschritt beeinflusst daher die Qualität des codierten Video-Datenstroms in Bezug auf die Bitrate des codierten Video-Datenstroms. Der Quantisierungsschritt ist umgekehrt proportional zur Qualität, da die Abtastrate und die Anzahl der Abtastungen so in Qualität umgerechnet werden, dass die Videoqualität umso höher ist, je niedriger der Quantisierungsschritt ist, und umgekehrt, je höher der Quantisierungsschritt ist, desto niedriger ist die Qualität. Allerdings ergeben die Abtastrate und die Anzahl der Abtastungen auch die Bitrate, und der Quantisierungsschritt ist umgekehrt proportional zu der Bitrate des codierten Videos, so dass die Bitrate umso höher ist, je niedriger der Quantisierungsschritt ist, und umgekehrt, je höher der Quantisierungsschritt ist, desto niedriger ist die Bitrate.
  • Um die Videoqualität beizubehalten und eine Verschlechterung des ausgegebenen (und möglicherweise abgeänderten) codierten Video-Datenstroms im Vergleich zu dem eingegebenen codierten Video-Datenstrom zu verhindern, wird der angepasste Quantisierungsparameter zufällig so gewählt, dass er gleich oder niedriger als der ursprüngliche Quantisierungsparameter ist, der in den Codierungsinformationen definiert ist, die aus dem codierten Video-Datenstrom extrahiert wurden. Da der angepasste Quantisierungsparameter gleich oder niedriger ist als der ursprüngliche Quantisierungsparameter, ist ein entsprechender Quantisierungsschritt eines abgeänderten Video-Datenstroms ebenfalls niedriger, was zu keiner Qualitätsverschlechterung des abgeänderten Video-Datenstroms im Vergleich zu dem ursprünglich empfangenen codierten Video-Datenstrom führt.
  • Es sollte betont werden, dass ein Erzeugen (Codieren) des abgeänderten codierten Video-Datenstroms unter Verwendung der angepassten Codierungsinformationen für jeden Decoder transparent ist, der mit dem/den Codierungsprotokoll(en) konform ist, so dass der Decoder den abgeänderten Video-Datenstrom ähnlich wie für den ursprünglich codierten Video-Datenstrom durchgeführt decodieren kann.
  • Ein Anwenden der auf angepassten Codierungsinformationen beruhenden CDR kann im Vergleich zu bestehenden CDR- und/oder Cybersicherheitsverfahren und -systemen erhebliche Vorteile und Nutzen bringen.
  • Erstens kann die auf angepassten Codierungsinformationen beruhende CDR die Struktur unbekannter schädlicher Programmkomponenten entfernen oder zumindest ändern, die sich in den codierten Video-Datenströmen befinden können und die einen unbekannten Fußabdruck, ein unbekanntes Muster, unbekannte Eigenschaften, Auswirkungen, Funktionsweisen und/oder dergleichen aufweisen können. Die CDR muss daher nicht darauf ausgelegt und/oder trainiert werden, bekannte Cyber-Bedrohungen, d.h. bekannte schädliche Programmkomponenten, zu erkennen, wie dies bei einigen Verfahren der Cybersicherheit der Fall sein kann. Zudem kann die Anzahl derartiger schädlicher Programmkomponenten extrem hoch sein, was zu einer hohen Auslastung von Datenverarbeitungsressourcen und/oder zu einer Latenz beim Übertragen des empfangenen codierten Video-Datenstroms an die Clients in dem sicheren Netzwerk führt. Die auf angepassten Codierungsinformationen beruhende CDR hingegen verarbeitet den codierten Video-Datenstrom nicht, um bekannte schädliche Programmkomponenten zu identifizieren, und kann daher deutlich geringere Datenverarbeitungsressourcen verwenden sowie eine deutlich geringere Latenz für ein Übertragen des codierten Video-Datenstroms an die sicheren Netzwerk-Clients aufweisen. Während ein Übertragen von codierten Video-Datenströmen mit geringer Latenz für jeden beliebigen Video-Datenstrom einen großen Vorteil darstellen kann, kann eine geringe Latenz beim Übertragen der codierten Live-Video-Datenströme von noch größerem Nutzen sein, da Verzögerungen beim Übertragen die Benutzererfahrung und/oder dergleichen erheblich beeinträchtigen können.
  • Zudem können einige der bestehenden CDR-Verfahren den empfangenen codierten Video-Datenstrom decodieren und dann das decodierte Video codieren, um den ausgegebenen codierten Video-Datenstrom zu erzeugen. Wie hierin bereits erwähnt, kann ein Codieren des decodierten Videos beträchtliche Datenverarbeitungsressourcen erfordern, was aufgrund der komplexen und Ressourcen in Anspruch nehmenden Bewegungsvorhersage-Algorithmen, die zum Berechnen der Codierungsinformationen für den codierten Video-Datenstrom angewendet werden, möglicherweise zu einer erheblichen Latenz führen kann. Die bestehenden CDR-Verfahren erfordern daher möglicherweise umfangreiche Datenverarbeitungsressourcen zum Wiederherstellen des ausgegebenen codierten Video-Datenstroms und können üblicherweise eine erhebliche Latenz beim Übermitteln des ausgegebenen codierten Video-Datenstroms an die Clients in dem sicheren Netzwerk verursachen. Die auf angepassten Codierungsinformationen beruhende CDR hingegen führt keine Bewegungsschätzungsberechnungen zum Berechnen der Codierungsinformationen durch, sondern verwendet stattdessen Codierungsinformationen, die auf den ursprünglichen Codierungsinformationen beruhen, die von dem ursprünglichen Codierer berechnet und aus dem empfangenen codierten Video-Datenstrom extrahiert wurden. Die auf angepassten Codierungsinformationen beruhende CDR kann daher die Datenverarbeitungsressourcen zum Wiederherstellen des ausgegebenen codierten Video-Datenstroms erheblich verringern. Da die Berechnungszeit verkürzt ist, kann eine Verwendung der auf angepassten Codierungsinformationen beruhenden CDR auch die Latenz beim Übermitteln des empfangenen codierten Video-Datenstroms an die Clients in dem sicheren Netzwerk erheblich verringern.
  • Des Weiteren kann der abgeänderte codierte Video-Datenstrom eine zufällige und unvorhersehbare Struktur und/oder ein zufälliges und unvorhersehbares Muster aufweisen, da die auf angepassten Codierungsinformationen beruhende CDR auf einem zufälligen Anpassen der Codierungsinformationen und einem Verwenden dieser zum Erstellen des abgeänderten codierten Video-Datenstroms beruht. Die böswillige Partei ist möglicherweise nicht in der Lage, die Struktur und/oder das Muster des abgeänderten codierten Video-Datenstroms vorherzusagen und ist daher möglicherweise nicht in der Lage, eine oder mehrere schädliche Programmkomponenten zu entwerfen, die, wenn sie sich in dem codierten Video-Datenstrom befinden, den auf angepassten Codierungsinformationen beruhenden CDR-Prozess überstehen (überleben).
  • Bevor mindestens eine Ausführungsform der Erfindung im Einzelnen erläutert wird, sei darauf hingewiesen, dass die Erfindung in ihrer Anwendung nicht notwendigerweise auf die Konstruktionsdetails und die Anordnung der Komponenten und/oder Verfahren beschränkt ist, die in der folgenden Beschreibung dargelegt und/oder in den Zeichnungen und/oder den Beispielen veranschaulicht sind. Die Erfindung kann auch in anderen Ausführungsformen oder auf verschiedene Art und Weise durchgeführt oder ausgeführt werden.
  • Der Fachmann wird verstehen, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Entsprechend können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, im Speicher befindliche Software, Mikrocode usw.) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform annehmen, die hierin alle allgemein als „Schaltkreis“, „Modul“ oder „System“ bezeichnet sein können. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines auf einem oder mehreren durch einen Computer lesbaren Medien enthaltenen Computerprogrammprodukts annehmen, die durch einen Computer lesbaren Programmcode enthalten.
  • Es kann jede Kombination aus einem oder mehreren durch einen Computer lesbaren Medien verwendet werden. Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Medium kann es sich um ein durch einen Computer lesbares Signalmedium oder ein durch einen Computer lesbares Speichermedium handeln. Bei einem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu konkreteren Beispielen (eine nicht erschöpfende Liste) des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination daraus. In dem Kontext dieses Dokuments kann es sich bei einem durch einen Computer lesbaren Speichermedium um jedes beliebige physische Medium handeln, das ein Programm enthalten bzw. speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen verwendet wird.
  • Ein durch einen Computer lesbares Signalmedium kann ein weitergeleitetes Datensignal mit darin enthaltenem durch einen Computer lesbarem Programmcode beinhalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein derartiges weitergeleitetes Signal kann eine beliebige Form aus einer Vielfalt an Formen annehmen, darunter elektromagnetische, optische bzw. jede geeignete Kombination daraus, jedoch nicht darauf beschränkt. Bei einem durch einen Computer lesbaren Signalmedium kann es sich um ein beliebiges durch einen Computer lesbares Medium handeln, das kein durch einen Computer lesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten bzw. transportieren kann.
  • Computerprogrammcode, der durch einen Computer lesbare Programmanweisungen aufweist, die auf einem durch einen Computer lesbaren Medium enthalten sind, kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter drahtlos, drahtgebunden, Lichtwellenleiter-Kabel, HF usw. oder jede beliebige geeignete Kombination daraus, aber nicht darauf beschränkt.
  • Der Programmcode für das Ausführen von Vorgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen.
  • Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Der Programmcode kann von einem durch einen Computer lesbaren Speichermedium auf entsprechende Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Unter Bezugnahme auf die Zeichnungen zeigt 1 einen Ablaufplan eines beispielhaften Prozesses eines Entschärfens und Wiederherstellens eines codierten Video-Datenstroms, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, gemäß einigen Ausführungsformen der vorliegenden Erfindung. Ein beispielhafter Prozess 100 kann ausgeführt werden, um CDR auf einen codierten Video-Datenstrom anzuwenden, der von einem nicht vertrauenswürdigen (externen) Ursprung her empfangen wird, bevor der codierte Video-Datenstrom an den/die Client(s) eines sicheren (internen) Netzwerks übertragen wird, um die Unanfälligkeit des sicheren Netzwerks gegenüber Cyber-Bedrohungen zu erhöhen, die von einer oder mehreren böswilligen Programmkomponenten ausgehen, die sich möglicherweise in dem empfangenen codierten Video-Datenstrom befinden können.
  • Es wird auch auf 2 Bezug genommen, bei der es sich um eine schematische Darstellung eines beispielhaften Systems zum Entschärfen und Wiederherstellen eines codierten Video-Datenstroms handelt, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, gemäß einigen Ausführungsformen der vorliegenden Erfindung. Ein beispielhaftes System 200 zur Entschärfung und Wiederherstellung von Inhalten (CDR), zum Beispiel ein Computer, ein Server, ein Datenverarbeitungsknoten, ein Cluster von Datenverarbeitungsknoten und/oder dergleichen, kann einen Prozess wie zum Beispiel den Prozess 100 zum Entschärfen und Wiederherstellen eines eingegebenen codierten Video-Datenstroms 202 und zum Wiederherstellen des decodierten Videos ausführen, um einen ausgegebenen codierten Video-Datenstrom 204 zu erzeugen.
  • Der eingegebene codierte Video-Datenstrom 202, der eine Folge von Einzelbildern aufweist, wird gemäß einem oder mehreren Codierungsprotokollen codiert, zum Beispiel MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264, H.265 und/oder dergleichen. Bei dem eingegebenen codierten Video-Datenstrom 202 kann es sich um einen codierten Live-Streaming-Video-Datenstrom handeln, der ein gerade stattfindendes Live-Ereignis darstellt, zum Beispiel ein Sportereignis, ein Musikkonzert, eine Live-Show, eine öffentliche Aufführung und/oder dergleichen.
  • Insbesondere kann das CDR-System 200 in einem oder mehreren Zugangssystemen und/oder Einheiten umgesetzt sein, zum Beispiel einem Gateway, einem Router, einem Proxy-Server und/oder dergleichen, die als Tor zwischen einem sicheren (internen) Netzwerk 240, zum Beispiel einem privaten Netzwerk, einem Firmennetzwerk, einem Organisationsnetzwerk, einem Fabriknetzwerk, einem Institutionsnetzwerk und/oder dergleichen und einem externen, nicht vertrauenswürdigen Netzwerk 242 wie zum Beispiel dem Internet dienen.
  • Das CDR-System 200 kann eine Netzwerkschnittstelle 210 zum Empfangen des eingegebenen codierten Video-Datenstroms 202 und zum Übertragen des ausgegebenen codierten Video-Datenstroms 204, einen oder mehrere Prozessoren 212 zum Ausführen des Prozesses 100 und einen Speicher 214 zum Speichern von Code und/oder Daten umfassen.
  • Die Netzwerkschnittstelle 210 kann eine oder mehrere Netzwerkschnittstellen zum Verbinden mit einem oder mehreren drahtgebundenen und/oder drahtlosen Netzwerken umfassen, zum Beispiel einem lokalen Netzwerk (LAN), einem Weitverkehrsnetz (WAN), einem kommunalen Netzwerk (MAN, Municipal Area Network), einem Mobilfunknetz, dem Internet und/oder dergleichen, um den Datenaustausch mit einem oder mehreren Netzwerkknoten, die mit dem sicheren Netzwerk 240 verbunden sind, sowie zum Austauschen von Daten mit einer oder mehreren entfernt angeordneten Ressourcen zu ermöglichen, die mit dem nicht vertrauenswürdigen Netzwerk 242 verbunden sind.
  • Der/die Prozessor(en) 212 weist/weisen einen oder mehrere homogene oder heterogene Prozessoren auf, die jeweils einen oder mehrere Verarbeitungsknoten umfassen, die zur parallelen Verarbeitung, als Cluster und/oder als ein oder mehrere Mehrkernprozessoren angeordnet sind. Der/die Prozessor(en) 212 kann/können darüber hinaus eine oder mehrere hardwarespezifische Komponenten umfassen, zum Beispiel eine anwendungsspezifische integrierte Schaltung (ASIC), eine im Feld programmierbare Gatter-Anordnung (FPGA), einen digitalen Signalprozessor (DSP), eine Grafikprozessoreinheit (GPU), einen Netzwerkprozessor und/oder dergleichen, um die Ausführung des Prozesses 100 zu unterstützen.
  • Der zum Speichern von Daten und/oder Programmcode verwendete Speicher 214 kann eine oder mehrere nicht flüchtige Speichereinheiten umfassen, entweder dauerhafte nicht flüchtige Einheiten, zum Beispiel ein Festplattenlaufwerk, ein Solid-State-Laufwerk (SSD), eine Magnetplatte, ein Flash-Array und/oder dergleichen und/oder flüchtige Einheiten, zum Beispiel eine Direktzugriffsspeicher-Einheit (RAM, Random Access Memory), einen Cachespeicher und/oder dergleichen. Der Speicher 214 kann darüber hinaus eine oder mehrere Netzwerkspeicherressourcen aufweisen, zum Beispiel einen Speicherserver, einen an das Netzwerk angeschlossenen Speicher (NAS, Network Attached Storage), ein Netzlaufwerk und/oder dergleichen, auf die über ein oder mehrere Netzwerke mittels der Netzwerkschnittstelle 210 zugegriffen werden kann.
  • Der/die Prozessor(en) 212 kann/können ein oder mehrere Software-Module ausführen, zum Beispiel einen Prozess, eine Anwendung, einen Agenten, ein Dienstprogramm, ein Werkzeug, ein Skript, ein Betriebssystem (OS) und/oder dergleichen, die jeweils eine Mehrzahl von Programmanweisungen aufweisen, die in einem nicht flüchtigen Medium wie zum Beispiel dem Speicher 214 gespeichert sind und von einem oder mehreren Prozessoren wie zum Beispiel der Verarbeitungsschaltung 212 ausgeführt werden.
  • Der/die Prozessor(en) 212 kann/können ein oder mehrere Funktionsmodule ausführen, die durch ein oder mehrere der Software-Module, eine oder mehrere der hardwarespezifischen Komponenten und/oder eine Kombination davon umgesetzt werden können. Die Funktionsmodule können zum Beispiel unter anderem ein Demultiplexing-Modul 220, ein Decodierungsmodul 222, ein Codierungsinformations-Extraktionsmodul 224, ein Quantisierungsparameter-Berechnungsmodul 226, ein Codierungsmodul 228 und ein Multiplexing-Modul 230 umfassen.
  • Das Demultiplexing-Modul 220 kann so konfiguriert sein, dass es über die Netzwerkschnittstelle 210 den eingegebenen codierten Video-Datenstrom 202 aus dem nicht vertrauenswürdigen Netzwerk 242 empfängt. Der eingegebene codierte Video-Datenstrom 202 kann üblicherweise in einen eingehenden Transport-Datenstrom eingekapselt sein, bei dem es sich um ein digitales Standardcontainerformat handelt, das üblicherweise in Rundfunksystemen für die Übertragung und Speicherung von Audio-, Video- und PSIP- (Program and System Information Protocol-) Daten verwendet wird. Das Demultiplexing-Modul 220 kann daher so konfiguriert sein, dass es den eingehenden Transport-Datenstrom demultiplext und den eingekapselten eingegebenen codierten Video-Datenstrom 202 extrahiert.
  • Das Decodierungsmodul 222 kann so konfiguriert sein, dass es den eingegebenen codierten Video-Datenstrom 202, der aus dem eingehenden Transport-Datenstrom extrahiert wurde, decodiert, um einen decodierten Video-Datenstrom zu erzeugen.
  • Das Codierungsinformations-Extraktionsmodul 224 kann so konfiguriert sein, dass es aus dem eingegebenen codierten Video-Datenstrom 202 die Codierungsinformationen extrahiert, die von einem ursprünglichen Codierer berechnet wurden, der den eingegebenen codierten Video-Datenstrom 202 codiert und erzeugt hat.
  • Das Quantisierungsparameter-Berechnungsmodul 226 kann so konfiguriert sein, dass es einen oder mehrere Quantisierungsparameter anpasst, die in den extrahierten Codierungsinformationen definiert sind, um angepasste Codierungsinformationen zu erzeugen.
  • Das Codierungsmodul 228 kann so konfiguriert sein, dass es das aus dem eingegebenen codierten Video-Datenstrom 202 decodierte Video unter Verwendung der angepassten Codierungsinformationen neu codiert, um den ausgegebenen codierten Video-Datenstrom 204 zu erzeugen.
  • Das Multiplexing-Modul 230 kann so konfiguriert sein, dass es den ausgegebenen codierten Video-Datenstrom 204 in einen ausgehenden Transport-Datenstrom einkapselt, der über die Netzwerkschnittstelle 210 an einen oder mehrere mit dem sicheren Netzwerk 240 verbundene Clients übertragen werden kann.
  • Wie bei 102 gezeigt ist, beginnt der Prozess 100 damit, dass das Demultiplexing-Modul 220 den eingegebenen codierten Video-Datenstrom 202 über die Netzwerkschnittstelle 210 empfängt.
  • Da der eingegebene codierte Video-Datenstrom 202 üblicherweise aus dem nicht vertrauenswürdigen Netzwerk empfangen wird, können sich in dem eingegebenen codierten Video-Datenstrom 202 möglicherweise eine oder mehrere schädliche Programmkomponenten befinden, zum Beispiel ein Virus, ein Wurm, ein Trojanisches Pferd, ein böswilliger Agent, eine Ransomware, eine Spyware, eine Adware, eine Scareware und/oder dergleichen.
  • Wie bei 104 gezeigt ist, kann das Demultiplexing-Modul 220, falls der eingegebene codierte Video-Datenstrom 202 in einen eingehenden Transport-Datenstrom eingekapselt ist, den eingehenden Transport-Datenstrom demultiplexen und den eingekapselten eingegebenen codierten Video-Datenstrom 202 extrahieren.
  • Wie bei 106 gezeigt ist, kann das Decodierungsmodul 222 den eingegebenen codierten Video-Datenstrom 202 decodieren, um den darin codierten Video-Datenstrom zu extrahieren.
  • Wie bei 108 gezeigt ist, kann das Codierungsinformations-Extraktionsmodul 224 die Codierungsinformationen aus dem eingegebenen codierten Video-Datenstrom 202 extrahieren. Die Codierungsinformationen, die von dem ursprünglichen Codierer berechnet und erzeugt wurden, der den eingegebenen codierten Video-Datenstrom 202 codiert und erzeugt hat, können zum Beispiel Bewegungsvektoren, Quantisierungsparameter, Makroblocktypen und/oder dergleichen für den eingegebenen codierten Video-Datenstrom 202 umfassen. Wie hierin bereits beschrieben wurde, beziehen sich die Codierungsinformationen in erster Linie auf eine Bewegungsabschätzung, weshalb ein Erzeugen der Codierungsinformationen mit ressourcenintensiven Berechnungen einhergeht, die erhebliche Datenverarbeitungsressourcen in Anspruch nehmen können.
  • Wie bei 110 gezeigt ist, kann das Quantisierungsparameter-Berechnungsmodul 226 die Codierungsinformationen anpassen. Insbesondere kann das Quantisierungsparameter-Berechnungsmodul 226 einen oder mehrere der in den Codierungsinformationen für den eingegebenen codierten Video-Datenstrom 202 definierten Quantisierungsparameter anpassen.
  • Der Quantisierungsparameter bezieht sich direkt auf den Quantisierungsschritt eines oder mehrerer Einzelbilder des codierten Video-Datenstroms und beeinflusst daher die Abtastrate und die Anzahl der Abtastungen des Videos, was sich auf die Qualität des codierten Videos in Bezug auf die Bitrate des codierten Videos auswirkt. Der Quantisierungsschritt ist umgekehrt proportional zur Qualität, da die Abtastrate und die Anzahl der Abtastungen so in Qualität umgerechnet werden, dass die Videoqualität umso höher ist, je niedriger der Quantisierungsschritt ist, und umgekehrt, je höher der Quantisierungsschritt ist, desto niedriger ist die Qualität. Allerdings ergeben die Abtastrate und die Anzahl der Abtastungen auch die Bitrate, und der Quantisierungsschritt ist umgekehrt proportional zu der Bitrate des codierten Videos, so dass die Bitrate umso höher ist, je niedriger der Quantisierungsschritt ist, und umgekehrt, je höher der Quantisierungsschritt ist, desto niedriger ist die Bitrate.
  • Das Quantisierungsparameter-Berechnungsmodul 226 kann einen oder mehrere der Quantisierungsparameter anpassen, indem es sie durch entsprechende angepasste Quantisierungsparameter ersetzt, die beruhend auf einer zufälligen Auswahl von Quantisierungsparameterwerten aus einem Bereich von Quantisierungsparameterwerten berechnet werden. Allerdings ist das Quantisierungsparameter-Berechnungsmodul 226 so konfiguriert, dass es einen oder mehrere angepasste Quantisierungsparameter berechnet, die gleich oder niedriger als die ursprünglichen Quantisierungsparameter sind, um eine Qualitätsverschlechterung des ausgegebenen codierten Video-Datenstroms 204 im Vergleich zu dem eingegebenen codierten Video-Datenstrom 202 zu vermeiden, nachdem der/die angepasste(n) Quantisierungsparameter verwendet wurde(n), um das Video erneut zu codieren und den ausgegebenen codierten Video-Datenstrom 204 zu erzeugen.
  • Optional ist das Quantisierungsparameter-Berechnungsmodul 226 so konfiguriert, dass es einen oder mehrere angepasste Quantisierungsparameter unter einer maximalen Bitratenbeschränkung berechnet, so dass der ausgegebene codierte Video-Datenstrom 204, der unter Verwendung des/der angepassten Quantisierungsparameter(s) codiert (erzeugt) wird, eine Bitrate aufweist, welche die maximale Bitrate nicht überschreitet.
  • Angenommen, der eingegebene codierte Video-Datenstrom 202 ist zum Beispiel nach dem H.264-Codierungsprotokoll codiert, das einen Bereich von 0 bis 51 für die Quantisierungsparameter definiert. Angenommen, die aus dem eingegebenen codierten Video-Datenstrom 202 extrahierten Codierungsinformationen umfassen einen bestimmten Quantisierungsparameter mit einem Wert von 15. In einem solchen Fall kann das Quantisierungsparameter-Berechnungsmodul 226 einen entsprechenden angepassten Quantisierungsparameter berechnen, der auf einer zufälligen Auswahl des entsprechenden angepassten Quantisierungsparameters aus einem bestimmten Bereich von Quantisierungsparameterwerten 10 bis 15 beruht, der niedrigere Quantisierungsparameterwerte umfasst, um eine Verschlechterung der Videoqualität zu vermeiden.
  • Wie bei 112 gezeigt ist, codiert das Codierungsmodul 228 das aus dem eingegebenen codierten Video-Datenstrom 202 decodierte Video, um den ausgegebenen codierten Video-Datenstrom 204 zu erzeugen, bei dem es sich üblicherweise um einen im Vergleich zu dem eingegebenen codierten Video-Datenstrom 202 abgeänderten codierten Video-Datenstrom handelt. Allerdings führt das Codierungsmodul 228 keine Berechnungen zur Bewegungsschätzung durch, sondern verwendet stattdessen die angepassten Codierungsinformationen, die auf den Codierungsinformationen beruhen, die von dem ursprünglichen Codierer berechnet wurden, der den eingegebenen codierten Video-Datenstrom 202 erzeugt hat. Das Codierungsmodul 228 benötigt daher deutlich geringere Datenverarbeitungsressourcen zum Erzeugen (Codieren) des ausgegebenen codierten Video-Datenstroms 204.
  • Wie bei 114 gezeigt ist, kann das Multiplexing 230 den ausgegebenen codierten Video-Datenstrom 204 in einen ausgehenden Transport-Datenstrom einkapseln.
  • Wie bei 116 gezeigt ist, kann das Multiplexing 230 den ausgegebenen codierten Video-Datenstrom 204, der optional in den ausgehenden Transport-Datenstrom eingekapselt ist, über die Netzwerkschnittstelle 210 übertragen. Der ausgegebene codierte Video-Datenstrom 204 kann somit an einen oder mehrere Netzwerkknoten (Clients), die mit dem sicheren Netzwerk 240 verbunden sind, übertragen, verteilt und/oder übermittelt werden. Da der ausgegebene codierte Video-Datenstrom 204 nach dem/den gleichen Codierungsprotokoll(en) codiert ist wie der ursprüngliche eingegebene codierte Video-Datenstrom 202, kann der CDR-Prozess 100 für jeden Decoder, der mit dem/den gewählten Codierungsprotokoll(en) konform ist, transparent sein. Daher kann jeder Decoder, der in der Lage ist, den eingegebenen codierten Video-Datenstrom 202 zu decodieren, in der Lage sein, den ausgegebenen codierten Video-Datenstrom 204 zu decodieren.
  • Es ist davon auszugehen, dass während der Laufzeit eines aus dieser Anmeldung hervorgehenden Patents viele einschlägige Systeme, Verfahren und Computerprogramme entwickelt werden, und der Anwendungsbereich der Begriffe Videocodierungsprotokolle und Transport-Datenstrom-Protokolle soll alle derartigen neuen Technologien von vornherein mit einschließen.
  • Der hierin verwendete Begriff „etwa“ bezieht sich auf ± 10 %.
  • Die Begriffe „weist auf“, „aufweisend“, „umfasst“, „umfassend“, „mit“ und deren Entsprechungen bedeuten „einschließlich, ohne darauf beschränkt zu sein“.
  • Der Begriff „bestehend aus“ bedeutet „umfassend und beschränkt auf“.
  • Die Verwendung der Singularform „ein“, „eine“ bzw. „der“, „die“, „das“ hierin schließt Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Zum Beispiel kann der Begriff „eine Verbindung“ oder „mindestens eine Verbindung“ eine Mehrzahl von Verbindungen, einschließlich Mischungen davon, umfassen.
  • In dieser Anmeldung können verschiedene Ausführungsformen dieser Erfindung in einem Bereichsformat dargestellt sein. Es sollte klar sein, dass die Beschreibung im Bereichsformat lediglich der Einfachheit und Kürze dient und nicht als starre Begrenzung des Umfangs der Erfindung ausgelegt werden sollte. Dementsprechend sollte davon ausgegangen werden, dass die Beschreibung eines Bereichs alle möglichen Teilbereiche sowie einzelne Zahlenwerte innerhalb dieses Bereichs ausdrücklich offenlegt. Zum Beispiel sollte bei einer Beschreibung eines Bereichs wie zum Beispiel von 1 bis 6 davon ausgegangen werden, dass Teilbereiche wie zum Beispiel von 1 bis 3, von 1 bis 4, von 1 bis 5, von 2 bis 4, von 2 bis 6, von 3 bis 6 usw. sowie einzelne Zahlen innerhalb dieses Bereichs, zum Beispiel 1, 2, 3, 4, 5 und 6, ausdrücklich offengelegt sind. Dies gilt unabhängig von dem Umfang des Bereichs.
  • Wenn hierin ein Zahlenbereich angegeben ist, umfasst er jede angegebene Zahl (Bruchzahl oder ganze Zahl) innerhalb des angegebenen Bereichs. Die Ausdrücke „liegt zwischen“ einer ersten angegebenen Zahl und einer zweiten angegebenen Zahl und „reicht von“ einer ersten angegebenen Zahl „bis“ zu einer zweiten angegebenen Zahl werden hier austauschbar verwendet und sollen die erste und die zweite angegebene Zahl sowie alle dazwischen liegenden Bruchzahlen und ganzen Zahlen einschließen.
  • Es versteht sich, dass bestimmte Merkmale der Erfindung, die aus Gründen der Übersichtlichkeit im Zusammenhang mit separaten Ausführungsformen beschrieben sind, auch in Kombination in einer einzigen Ausführungsform vorgesehen sein können. Umgekehrt können verschiedene Merkmale der Erfindung, die der Kürze halber im Zusammenhang mit einer einzelnen Ausführungsform beschrieben sind, auch separat oder in jeder beliebigen geeigneten Teilkombination oder wie in jeder anderen beschriebenen Ausführungsform der Erfindung geeignet vorgesehen sein. Bestimmte Merkmale, die im Zusammenhang mit verschiedenen Ausführungsformen beschrieben sind, sind nicht als wesentliche Merkmale dieser Ausführungsformen anzusehen, es sei denn, die Ausführungsform ist ohne diese Elemente nicht funktionsfähig.
  • Obwohl die Erfindung in Verbindung mit bestimmten Ausführungsformen beschrieben wurde, ist es offensichtlich, dass viele Alternativen, Abänderungen und Abwandlungen für den Fachmann offensichtlich sind. Dementsprechend ist beabsichtigt, alle derartige Alternativen, Abänderungen und Abwandlungen, die in den Sinngehalt und weiten Anwendungsbereich der beigefügten Ansprüche fallen, einzubeziehen.
  • Alle Veröffentlichungen, Patente und Patentanmeldungen, die in dieser Beschreibung erwähnt werden, sind in ihrer Gesamtheit durch Bezugnahme in die Beschreibung aufgenommen, und zwar in demselben Umfang, wie wenn jede einzelne Veröffentlichung, jedes einzelne Patent oder jede einzelne Patentanmeldung spezifisch und einzeln als durch Bezugnahme hierin aufgenommen angegeben wäre. Zudem ist eine Nennung oder Identifizierung einer Bezugnahme in dieser Anmeldung nicht als Eingeständnis zu werten, dass eine derartige Bezugnahme als Stand der Technik der vorliegenden Erfindung vorliegt. Soweit Abschnittsüberschriften verwendet werden, sind sie nicht als zwingend einschränkend zu verstehen. Zusätzlich sind alle Prioritätsdokumente dieser Anmeldung hiermit in ihrer Gesamtheit durch Bezugnahme hierin aufgenommen.

Claims (16)

  1. Verfahren (100) zum Decodieren und Wieder-Codieren eines codierten Video-Datenstroms, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, aufweisend: Verwendung mindestens eines Prozessors (212) zum Entfernen oder Umändern von böswilligen Agenten, die potentiell in dem codierten Video-Datenstrom eingebettet sind, durch: Decodieren (104) eines empfangenen codierten Video-Datenstroms, um einen decodierten Video-Datenstrom zu erhalten; Extrahieren (108) von Codierungsinformationen aus dem codierten Video-Datenstrom, die von einem ursprünglichen Codierer berechnet wurden, um den codierten Video-Datenstrom zu erstellen; Anpassen (110) der Codierungsinformationen durch Ersetzen zumindest eines in den Codierungsinformationen definierten Quantisierungsparameters durch einen entsprechenden angepassten Quantisierungsparameter, der beruhend auf einer zufälligen Auswahl eines Wertes aus einem Bereich von Quantisierungsparameterwerten berechnet wurde, wobei der zufällig ausgewählte Wert, der während der Codierung genutzt wird, um Zufälligkeit zu einer Struktur einen Ausgabe-Video-Datenstroms einzuführen, der codiert wird durch die Nutzung der angepassten Codierungs-Information, wobei eine Vorhersehbarheit der Struktur verhindert wird, und wobei der vorher definierte Bereich konfiguriert ist, um eine Qualitätsverschlechterung des Ausgabe-Video-Datenstrom im Vergleich zu dem empfangenen codierten Video-Datenstrom zu verhindern; Codieren (112) des decodierten Video-Datenstroms unter Verwendung der angepassten Codierungsinformationen, um einen abgeänderten codierten Video-Datenstrom zu erzeugen, der in dem gleichen Codierungs-Protokoll codiert wird wie ein Codierungs-Protokoll des empfangenen Video-Datenstroms; und Übertragen des abgeänderten codierten Video-Datenstroms.
  2. Verfahren (100) nach Anspruch 1, wobei der empfangene codierte Video-Datenstrom aus einem empfangenen Transport-Datenstrom extrahiert wird, in den der codierte Video-Datenstrom eingekapselt ist.
  3. Verfahren (100) nach Anspruch 1, wobei der abgeänderte codierte Video-Datenstrom in einen ausgegebenen Transport-Datenstrom eingekapselt ist.
  4. Verfahren (100) nach Anspruch 1, wobei die Codierungsinformationen Bewegungsvektoren, Quantisierungsparameter und Makroblocktypen aufweisen, die von dem ursprünglichen Codierer für eine Mehrzahl von in dem codierten Video-Datenstrom codierten Einzelbildern erzeugt wurden.
  5. Verfahren (100) nach Anspruch 1, wobei der Quantisierungsparameterwert der entsprechenden angepassten Quantisierung gleich oder kleiner ist als der Quantisierungsparameterwert des mindestens einen Quantisierungsparameters.
  6. System (200) zum Decodieren und Wieder-Codieren eines codierten Video-Datenstroms, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, aufweisend: mindestens einen Prozessor (212), der einen Code ausführt zum Entfernen oder Umändern von böswilligen Agenten, die potentiell in dem codierten Video-Datenstrom eingebettet sind, wobei der Code aufweist: Code-Anweisungen zum Decodieren eines empfangenen codierten Video-Datenstroms, um einen decodierten Video-Datenstrom zu erhalten; Code-Anweisungen zum Extrahieren von Codierungsinformationen aus dem codierten Video-Datenstrom, die von einem ursprünglichen Codierer berechnet wurden, um den codierten Video-Datenstrom zu erstellen; Code-Anweisungen zum Anpassen der Codierungsinformationen durch Ersetzen zumindest eines in den Codierungsinformationen definierten Quantisierungsparameters durch einen entsprechenden angepassten Quantisierungsparameter, der beruhend auf einer zufälligen Auswahl eines Wertes aus einem Bereich von Quantisierungsparameterwerten berechnet wurde, wobei der zufällig ausgewählte Wert, der während der Codierung genutzt wird, um Zufälligkeit zu einer Struktur einen Ausgabe-Video-Datenstroms einzuführen, der codiert wird durch die Nutzung der angepassten Codierungs-Information, wobei eine Vorhersehbarheit der Struktur verhindert wird, und wobei der vorher definierte Bereich konfiguriert ist, um eine Qualitätsverschlechterung des Ausgabe-Video-Datenstrom im Vergleich zu dem empfangenen codierten Video-Datenstrom zu verhindern; Code-Anweisungen zum Codieren des decodierten Video-Datenstroms unter Verwendung der angepassten Codierungsinformationen, um einen abgeänderten codierten Video-Datenstrom zu erzeugen, der in dem gleichen Codierungs-Protokoll codiert wird wie ein Codierungs-Protokoll des empfangenen Video-Datenstroms; und Code-Anweisungen zum Übertragen des abgeänderten codierten Video-Datenstroms.
  7. System (200) nach Anspruch 6, wobei der empfangene codierte Video-Datenstrom aus einem empfangenen Transport-Datenstrom extrahiert wird, in den der codierte Video-Datenstrom eingekapselt ist.
  8. System (200) nach Anspruch 6, wobei der abgeänderte codierte Video-Datenstrom in einen ausgegebenen Transport-Datenstrom eingekapselt ist.
  9. System (200) nach Anspruch 6, wobei die Codierungsinformationen Bewegungsvektoren, Quantisierungsparameter und Makroblocktypen aufweisen, die von dem ursprünglichen Codierer für eine Mehrzahl von in dem codierten Video-Datenstrom codierten Einzelbildern erzeugt wurden.
  10. System (200) nach Anspruch 6, wobei der Quantisierungsparameterwert der entsprechenden angepassten Quantisierung gleich oder kleiner ist als der Quantisierungsparameterwert des mindestens einen Quantisierungsparameters.
  11. Computerprogrammprodukt zum Decodieren und Wieder-Codieren eines codierten Video-Datenstroms, um böswillige Agenten zu beseitigen, die möglicherweise in den codierten Video-Datenstrom eingebettet sind, aufweisend: ein nichtflüchtiges durch einen Computer lesbares Speichermedium zum Entfernen oder Umändern von böswilligen Agenten, die potentiell in dem codierten Video-Datenstrom eingebettet sind, wobei das Speichermedium aufweist; erste Programmanweisungen zum Decodieren eines empfangenen codierten Video-Datenstroms, um einen decodierten Video-Datenstrom zu erhalten; zweite Programmanweisungen zum Extrahieren von Codierungsinformationen aus dem codierten Video-Datenstrom, die von einem ursprünglichen Codierer berechnet wurden, um den codierten Video-Datenstrom zu erstellen; dritte Programmanweisungen zum Anpassen der Codierungsinformationen durch Ersetzen zumindest eines in den Codierungsinformationen definierten Quantisierungsparameters durch einen entsprechenden angepassten Quantisierungsparameter, der beruhend auf einer zufälligen Auswahl eines Wertes aus einem Bereich von Quantisierungsparameterwerten berechnet wurde, wobei der zufällig ausgewählte Wert, der während der Codierung genutzt wird, um Zufälligkeit zu einer Struktur einen Ausgabe-Video-Datenstroms einzuführen, der codiert wird durch die Nutzung der angepassten Codierungs-Information, wobei eine Vorhersehbarheit der Struktur verhindert wird, und wobei der vorher definierte Bereich konfiguriert ist, um eine Qualitätsverschlechterung des Ausgabe-Video-Datenstrom im Vergleich zu dem empfangenen codierten Video-Datenstrom zu verhindern; vierte Programmanweisungen zum Codieren des decodierten Video-Datenstroms unter Verwendung der angepassten Codierungsinformationen, um einen abgeänderten codierten Video-Datenstrom zu erzeugen, der in dem gleichen Codierungs-Protokoll codiert wird wie ein Codierungs-Protokoll des empfangenen Video-Datenstroms; und fünfte Programmanweisungen zum Übertragen des abgeänderten codierten Video-Datenstroms; wobei die ersten, zweiten, dritten, vierten und fünften Programmanweisungen von mindestens einem Prozessor aus dem nichtflüchtigen, durch einen Computer lesbaren Speichermedium ausgeführt werden.
  12. Computerprogrammprodukt nach Anspruch 11, wobei der empfangene codierte Video-Datenstrom aus einem empfangenen Transport-Datenstrom extrahiert wird, in den der codierte Video-Datenstrom eingekapselt ist.
  13. Computerprogrammprodukt nach Anspruch 11, wobei der abgeänderte codierte Video-Datenstrom in einen ausgegebenen Transport-Datenstrom eingekapselt ist.
  14. Computerprogrammprodukt nach Anspruch 11, wobei es sich bei dem codierten Video-Datenstrom um einen live codierten Video-Datenstrom handelt, der ein Live-Ereignis darstellt.
  15. Computerprogrammprodukt nach Anspruch 11, wobei die Codierungsinformationen Bewegungsvektoren, Quantisierungsparameter und Makroblocktypen aufweisen, die von dem ursprünglichen Codierer für eine Mehrzahl von in dem codierten Video-Datenstrom codierten Einzelbildern erzeugt wurden.
  16. Computerprogrammprodukt nach Anspruch 11, wobei der Quantisierungsparameterwert der entsprechenden angepassten Quantisierung gleich oder kleiner ist als der Quantisierungsparameterwert des mindestens einen Quantisierungsparameters.
DE112020001299.9T 2019-03-17 2020-03-12 Verzögerungsarme Entschärfung und Wiederherstellung von Inhalten (CDR) eines Live-Streaming-Videos Active DE112020001299B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/355,775 US11115661B2 (en) 2019-03-17 2019-03-17 Low delay content disarm and reconstruction (CDR) of live streaming video
US16/355,775 2019-03-17
PCT/IB2020/052222 WO2020188421A1 (en) 2019-03-17 2020-03-12 Low delay content disarm and reconstruction (cdr) of live streaming video

Publications (2)

Publication Number Publication Date
DE112020001299T5 DE112020001299T5 (de) 2021-12-16
DE112020001299B4 true DE112020001299B4 (de) 2023-02-23

Family

ID=72423589

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020001299.9T Active DE112020001299B4 (de) 2019-03-17 2020-03-12 Verzögerungsarme Entschärfung und Wiederherstellung von Inhalten (CDR) eines Live-Streaming-Videos

Country Status (6)

Country Link
US (1) US11115661B2 (de)
JP (1) JP7372013B2 (de)
CN (1) CN113614724A (de)
DE (1) DE112020001299B4 (de)
GB (1) GB2595426B (de)
WO (1) WO2020188421A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760988B (zh) * 2023-08-18 2023-11-10 瀚博半导体(上海)有限公司 基于人类视觉系统的视频编码方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278385B1 (en) 1999-02-01 2001-08-21 Yamaha Corporation Vector quantizer and vector quantization method
US20140037005A1 (en) 2012-08-02 2014-02-06 Penne Y. LEE Transcoding video data
US20180191737A1 (en) 2017-01-05 2018-07-05 Votiro Cybersec Ltd. System and method for protecting systems from malicious attacks

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9607591D0 (en) * 1996-04-12 1996-06-12 Snell & Wilcox Ltd Playback and monitoring of compressed bitstreams
US7295610B2 (en) 2002-03-27 2007-11-13 Scientific-Atlanta, Inc. Hybrid rate control in a digital stream transcoder
JP4139416B2 (ja) 2006-05-29 2008-08-27 日本電信電話株式会社 符号化ストリーム再符号化装置、符号化ストリーム再符号化方法、符号化ストリーム再符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4624321B2 (ja) * 2006-08-04 2011-02-02 株式会社メガチップス トランスコーダおよび符号化画像変換方法
WO2008090793A1 (ja) 2007-01-22 2008-07-31 Nec Corporation 画像再符号化装置、画像再符号化方法及び画像符号化プログラム
US8220051B2 (en) 2007-09-28 2012-07-10 Vantrix Corporation Generation and delivery of multimedia content-adaptation notifications
CN101909211B (zh) 2010-01-04 2012-05-23 西安电子科技大学 基于快速模式判决的h.264/avc高效转码器
CN102572413B (zh) * 2012-02-08 2014-07-23 北京数码视讯科技股份有限公司 传输流台标字幕插入系统的输出码率控制方法与装置
CN102831893B (zh) * 2012-05-07 2014-07-16 电子科技大学 一种快速破坏广播音频文件病毒的方法
US8887276B2 (en) 2012-11-21 2014-11-11 Owl Computing Technologies, Inc. System for providing a secure video display
US9877034B2 (en) * 2014-04-14 2018-01-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Pipelined video decoder system
US9549203B2 (en) * 2014-04-28 2017-01-17 Arris Enterprises, Inc. Error recovery for video delivery via a segmentation process
US20160234496A1 (en) 2015-02-09 2016-08-11 Qualcomm Incorporated Near visually lossless video recompression
JP2017184092A (ja) * 2016-03-31 2017-10-05 株式会社メガチップス 画像処理装置
US9858424B1 (en) * 2017-01-05 2018-01-02 Votiro Cybersec Ltd. System and method for protecting systems from active content
US10331890B2 (en) * 2017-03-20 2019-06-25 Votiro Cybersec Ltd. Disarming malware in protected content
US10904313B2 (en) * 2017-06-20 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278385B1 (en) 1999-02-01 2001-08-21 Yamaha Corporation Vector quantizer and vector quantization method
US20140037005A1 (en) 2012-08-02 2014-02-06 Penne Y. LEE Transcoding video data
US20180191737A1 (en) 2017-01-05 2018-07-05 Votiro Cybersec Ltd. System and method for protecting systems from malicious attacks

Also Published As

Publication number Publication date
DE112020001299T5 (de) 2021-12-16
JP2022524963A (ja) 2022-05-11
WO2020188421A1 (en) 2020-09-24
JP7372013B2 (ja) 2023-10-31
CN113614724A (zh) 2021-11-05
GB2595426A (en) 2021-11-24
US11115661B2 (en) 2021-09-07
US20200296373A1 (en) 2020-09-17
GB2595426B (en) 2022-04-13

Similar Documents

Publication Publication Date Title
DE102013114633B4 (de) Netzwerk-adaptive Latenzzeit-Verringerung durch Framerate-Steuerung
DE60109467T2 (de) Verfahren und vorrichtung zur übertragung von netzwerkinformationen durch sichere transkodierung
DE102005051577B4 (de) Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens
DE69817137T2 (de) Bildverarbeitung für elektronisches Wasserzeichensetzen
DE102016125379B4 (de) Bewegungsvektoraufteilung des letzten Frames
DE602004003067T2 (de) Verfahren zur verschlüsselung eines fehlertoleranzkomprimierten audio- oder videostroms
DE602004003520T2 (de) Verfahren und Vorrichtung zur Verschlüsselung und Entschlüsselung eines Datenstromes
DE102016125125B4 (de) Tile-Copying für Videokompression
EP1212857B1 (de) Verfahren und vorrichtung zum einbringen von informationen in einen datenstrom sowie verfahren und vorrichtung zum codieren eines audiosignals
DE102009022233A1 (de) Verwendung einer Zeichenkette in Sytemen der Kryptographie, der Statistik, der Simulation, der Randomisierung, von Spielautomaten und dgl.
DE10306685A1 (de) Vorrichtung und Verfahren zur skalierbaren verlustlosen Audio-Codierung/-Decodierung
DE112020001299B4 (de) Verzögerungsarme Entschärfung und Wiederherstellung von Inhalten (CDR) eines Live-Streaming-Videos
DE112010005315T5 (de) Verfahren und Vorrichtung zur sicheren Verteilung und Speicherung von Daten unter Verwendung von N Kanälen
DE69928616T2 (de) System zur extrahierung von codierungsparametern aus videodaten
DE112013000995T5 (de) Skalierbare Wasserzeicheneinfügung für fragmentierte Medienstrom-Bereitstellung
DE112015001607T5 (de) Orthogonale Datenorganisation für Fehlerdetektion und -korrektur in seriellen Videoschnittstellen
DE602004010577T2 (de) System und Verfahren zur individuellen Video-Verschlüsselung
DE60032714T2 (de) Verfahren und Apparat für den Kanalfehlerschutz eines quellencodierten Bitstromes
DE112016000791T5 (de) Medienschlüsselblock-basierende Rundfunkverschlüsselung
DE112020000150T5 (de) Verbesserte bildwasserzeichen
DE60104213T2 (de) Teilverschlüsselung von zusammengesetzten bitströmen
DE112020003381T5 (de) Schlüssel-komprimierbare verschlüsselung
DE10229976B4 (de) Verfahren zur Ver- und Entschlüsselung von nach dem Verfahren der priorisierten Pixelübertragung übertragenen oder gespeicherten digitalen Daten
DE102004054549B3 (de) Vorrichtung und Verfahren zum Detektieren einer Manipulation eines Informationssignals
DE102015010412B3 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Komprimieren eines Eingangsdatensatzes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021570000

Ipc: G06F0021560000

R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final