DE112012004368T5 - Videobildinformations-wiedergabeverfahren und videobildinformations-wiedergabevorrichtung - Google Patents

Videobildinformations-wiedergabeverfahren und videobildinformations-wiedergabevorrichtung Download PDF

Info

Publication number
DE112012004368T5
DE112012004368T5 DE112012004368.5T DE112012004368T DE112012004368T5 DE 112012004368 T5 DE112012004368 T5 DE 112012004368T5 DE 112012004368 T DE112012004368 T DE 112012004368T DE 112012004368 T5 DE112012004368 T5 DE 112012004368T5
Authority
DE
Germany
Prior art keywords
virtual machine
decryption
program
reproduction
based content
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.)
Withdrawn
Application number
DE112012004368.5T
Other languages
English (en)
Inventor
c/o Mitsubishi Electric Corp. Ryu Tomoaki
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112012004368T5 publication Critical patent/DE112012004368T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Abstract

Ein Videobildinformations-Wiedergabeverfahren und eine Videobildinformations-Wiedergabevorrichtung, mit der die Nutzerfreundlichkeit beim Start von Wiederaufnahmewiedergabe erhalten werden kann. Das Videobildinformations-Wiedergabeverfahren ist ein Verfahren der Wiedergabe eines Aufzeichnungsmediums, auf welchem Virtuell-maschinenbasierter Inhalt aufgezeichnet worden ist. Während der normalen Wiedergabe des Virtuell-maschinenbasierten Inhalts führen ein auf einer virtuellen Maschine laufendes Programm und ein Entschlüsselungsprogramm, das verschlüsselten virtuellen maschinenbasierten Inhalt entschlüsselt, eine Entschlüsselungsverarbeitung für den Virtuell-maschinenbasierten Inhalt während des Austauschens von Daten durch. Nach Suspendierung der Wiedergabe des virtuellen maschinenbasierten Inhalts beim Start der Wiederaufnahmewiedergabe, welche nachfolgend einer Anweisung zur Wiederaufnahmewiedergabe ausgeführt wird, wird ein Proxy-Programm anstelle des Programms gestartet, das auf der virtuellen Maschine abläuft. Das Proxy-Programm und das Entschlüsselungsprogramm führen Wiedergabe des Videobildes des Virtuell-maschinenbasierten Inhalts während des Austauschs von Daten durch.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf ein Videobildinformations-Wiedergabeverfahren zum Wiedergeben eines Videobildes von einem Aufzeichnungsmedium, auf dem virtuell maschinenbasierter Inhalt, der in der Lage ist, Wiedergabe des Videobildes durch ein auf einer virtuellen Maschine laufendes Programm zu steuern, aufgezeichnet ist, und auf eine Videobildinformations-Wiedergabevorrichtung.
  • STAND DER TECHNIK
  • Ein Typ von Vorrichtung zum Abspielen von Bildinhalten, wie etwa Spielfilmen und Dramen, ist ein DVD-Abspielgerät. Navigationsbefehle, die eine relativ einfache Steuersprache bilden, werden verwendet, um Videobildwiedergabe auf einem DVD-Abspielgerät zu steuern. Zusätzlich werden virtuelle Java-Maschinen verwendet, um das Betrachten komplexen Inhaltes mit hoher Interaktivität auf Blu-ray-Disk(BD)-Abspielgeräten zu ermöglichen, die sich in letzter Zeit verbreitet haben (siehe beispielsweise Patentreferenz 1).
  • Die Wiedergabedaten auf einer DVD beinhalten Videobilddaten, Audiodaten, Graphikdaten und Videosteuerdaten, die in eine einzelne Datei kombiniert sind. Auf einem DVD-Abspielgerät wird, wenn die Wiedergabe angehalten (unterbrochen oder aufgehoben) wird, und dann wieder gestartet (wieder aufgenommen) wird, nach einigen Sekunden Warten die Wiedergabe ab der Position, an der sie gestoppt worden ist, wieder aufgenommen. In diesem Fall, da die Videobilddaten, Audiodaten und andere Daten, die für die Wiedergabe erforderlich sind, alle in einer einzelne Datei kombiniert sind, kann die Wiedergabe ab der Stoppposition wieder aufgenommen werden, durch Neulesen der Verwaltungsinformationsdatei mit einer kleinen Datengröße von der optischen Disk, und somit ist die Wartezeit für die Wiedergabewiederaufnahme kurz.
  • Bei der Wiedergabe von Inhalt unter Verwendung einer Java-Anwendung (virtuelle Java-Maschine-basierter Inhalt) auf einer Blu-ray-Disk (BD) jedoch, wenn die Wiedergabe gestoppt und dann wieder aufgenommen wird, muss die Wiedergabeoperation ab dem Anfangszustand durchgeführt werden, in welchem die BD in die Videobildinformations-Wiedergabevorrichtung geladen wurde, und die auf der virtuellen Maschine ablaufende Java-Anwendung muss neu gestartet werden, so dass es mehrere zehn Sekunden oder mehrere Minuten dauert, bis die Wiedergabe ab der vorherigen Stoppposition wieder aufgenommen wird. Um dies zu vermeiden, ist ein vorstellbares Verfahren des Reduzierens der Zeit bis zur Wiederaufnahme der Wiedergabe, den Inhalt unter Verwendung einer Java-Anwendung zu behandeln, als wenn er Inhalt wäre, der keine Java-Anwendung verwendet.
  • REFERENZEN DES STANDS DER TECHNIK
  • PATENTREFERENZ
    • Patentreferenz 1: Japanische Patentoffenanmeldung Nr. 2009-193642
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • DURCH DIE ERFINDUNG ZU LÖSENDES PROBLEM
  • Für einigen virtuellen maschinenbasierten Inhalt jedoch, wenn verschlüsselte Videobilddaten oder Audiodaten entschlüsselt werden, werden in einigen Fällen die verschlüsselten Daten durch Datenaustausch zwischen der Entschlüsselungsanwendung und einer Java-Anwendung entschlüsselt. Falls Wiederaufnahme der Wiedergabe eines solchen Inhaltes ohne Starten der Java-Anwendung durchgeführt wird, wird es unmöglich, die Videobilddaten oder Audiodaten zu entschlüsseln, so dass die Java-Anwendung neu gestartet werden muss. Es hat daher das Problem gegeben, dass die Anwenderbequemlichkeit beim Starten der Wiederaufnahmewiedergabe auf einem BD-Abspielgerät signifikant beeinträchtigt ist.
  • Die vorliegende Erfindung adressiert das obige Problem mit der Aufgabe der Bereitstellung eines Videobildinformations-Wiedergabeverfahrens und einer Videobildinformations-Wiedergabevorrichtung, die beim Starten von Wiederaufnahmewiedergabe die Wiedergabe rasch und normal von einem Aufzeichnungsmedium starten kann, auf welchem virtueller maschinenbasierter Inhalt aufgezeichnet ist.
  • MITTEL ZUM LÖSEN DES PROBLEMS
  • Ein Videobildinformations-Wiedergabeverfahren gemäß der Erfindung ist ein Verfahren zum Wiedergeben eines Aufzeichnungsmediums, auf dem virtueller maschinenbasierter Inhalt aufgezeichnet ist, wobei Videowiedergabe, die durch eine Mehrzahl von auf einer virtuellen Maschine ablaufenden Programmen zu steuern ist, ermöglicht wird. Bei normaler Wiedergabe des virtuellen maschinenbasierten Inhaltes empfängt ein Entschlüsselungs-Unterstützungsprogramm, das eines aus der Mehrzahl von Programmen ist, die auf der virtuellen Maschine laufen, einen numerischen Wert aus einem Beschreibungsprogramm zum Entschlüsseln verschlüsselter Virtuell-Maschinenbasierter Inhalte; das Entschlüsselungs-Unterstützungsprogramm führt eine vorgegebene Berechnung unter Verwendung des numerischern Wertes durch; das Entschlüsselungsprogramm führt einen Entschlüsselungsprozess unter Verwendung eines Ergebnisses der Berechnung aus; und beim Start der Wiederaufnahmewiedergabe, welche nachfolgend einer Anweisung zum Wiederaufnehmen der Wiedergabe, nachdem die Wiedergabe des virtuellen maschinenbasierten Inhaltes suspendiert ist, ausgeführt wird, wird ein Proxy-Programm, das in einer anderen Umgebung als der virtuellen Maschine abläuft, anstelle des Entschlüsselungs-Unterstützungsprogramms, das in der virtuellen Maschine läuft, gestartet, und wird die Videowiedergabe des Virtuell-Maschinenbasierten Inhalts ausgeführt, während das Proxy-Programm und das Entschlüsselungsprogramm Daten austauschen.
  • Eine Videobildinformations-Wiedergabevorrichtung gemäß der Erfindung beinhaltet eine Wiedergabeeinheit zum Wiedergeben eines Aufzeichnungsmediums, auf welchem maschinenbasierter Inhalt aufgezeichnet ist, Ermöglichen einer Videowiedergabe, die durch ein auf einer virtuellen Maschine ablaufendes Programm zu steuern ist, und eine Wiedergabesteuereinheit zum Steuern der Wiedergabeverarbeitung in der Wiedergabeeinheit. Bei normaler Wiedergabe des Virtuell-Maschinenbasierten Inhalts wird ein Entschlüsselungsprozess für den virtuellen maschinenbasierten Inhalt ausgeführt durch ein Entschlüsselungs-Unterstützungsprogramm, das auf der virtuellen Maschine in der Wiedergabesteuereinheit läuft, und ein Entschlüsselungsprogramm zum Entschlüsseln des verschlüsselten virtuellen maschinenbasierten Inhalts, das auf einer Entschlüsselungssteuereinheit in der Wiedergabeeinheit abläuft. Beim Start der Wiederaufnahmewiedergabe, die nachfolgend einer Anweisung zum Wiederaufnehmen der Wiedergabe, nachdem die Wiedergabe des virtuellen maschinenbasierten Inhalts suspendiert ist, ausgeführt wird, wird ein Proxy-Programm, das in einer anderen Umgebung als der virtuellen Maschine läuft, anstelle des Entschlüsselungs-Unterstützungsprogramms gestartet, das auf der virtuellen Maschine in der Wiedergabesteuereinheit läuft, und es wird die Videowiedergabe des virtuellen maschinenbasierten Inhaltes ausgeführt, während das Proxy-Programm und das Entschlüsselungsprogramm Daten austauschen.
  • WIRKUNG DER ERFINDUNG
  • Gemäß der Erfindung, da die Wiederaufnahmewiedergabe ausgeführt wird durch Ausführen, anstelle eines Programms, das auf einer virtuellen Maschine abläuft, eines Proxy-Programms, das in einer anderen Umgebung als der virtuellen Maschine abläuft, beim Start der Wiederaufnahmewiedergabe, kann die Wiedergabe normal und rasch von einem Aufzeichnungsmedium gestartet werden, auf welchem Virtuell-Maschinenbasierter Inhalt aufgezeichnet ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das schematisch die Konfiguration einer Videobildinformations-Wiedergabevorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung illustriert.
  • 2 ist ein Diagramm, das eine beispielhafte Verzeichnisstruktur in einem Aufzeichnungsmedium gemäß der Erfindung illustriert.
  • 3 ist ein Diagramm, das ein Beispiel der Syntax einer plst-Datei zeigt.
  • 4 ist ein Diagramm, das eine beispielhafte Beziehung zwischen einer Abspielliste und ”Stream”-Dateien illustriert.
  • 5 ist ein Diagramm, das ein Beispiel der Syntax einer clip-Datei zeigt.
  • 6 ist ein Diagramm, das ein Beispiel der Syntax einer Movie.title-Datei zeigt.
  • 7 ist ein Diagramm, das ein Beispiel der Struktur einer jar-Datei zeigt.
  • 8 ist ein Diagramm (1/3), das den Quellcode eines Java-Anwendungsprogramms illustriert.
  • 9 ist ein Diagramm (2/3), das den Quellcode des Java-Anwendungsprogramms illustriert.
  • 10 ist ein Diagramm (3/3), das den Quellcode des Java-Anwendungsprogramms illustriert.
  • 11(a) und 11(b) sind Diagramme, die beispielhafte Graphikbilder zeigen, die durch die Java-Anwendung angezeigt werden.
  • 12 ist ein Diagramm, das die Syntax einer plst-Datei illustriert, die sich auf das Videobildinformations-Wiedergabeverfahren gemäß der Ausführungsform der Erfindung bezieht.
  • 13 ist ein Diagramm, das einen beispielhaften Menübildschirm gemäß der Ausführungsform der Erfindung illustriert.
  • 14 ist ein Betriebssequenzdiagramm, das Prozesse im Videobildinformations-Wiedergabeverfahren gemäß der Erfindung illustriert.
  • 15 ist ein Flussdiagramm, das einen Prozess im Videobildinformations-Wiedergabeverfahren gemäß der Ausführungsform der Erfindung illustriert.
  • 16 ist ein Flussdiagramm, das einen Prozess im Videobildinformations-Wiedergabeverfahren gemäß der Ausführungsform der Erfindung illustriert.
  • 17(a) und 17(b) sind Timing-Diagramme, die Prozesse beim Start von Inhaltswiedergabe bei Videobildinformations-Wiedergabeverfahren in den Vergleichsbeispielen 1 bzw. 2 illustrieren.
  • 18 ist ein Timing-Diagramm, das den Prozess beim Start der Inhaltswiedergabe im Videobildinformations-Wiedergabeverfahren gemäß der Ausführungsform der Erfindung illustriert.
  • 19 ist ein Flussdiagramm, das ein anderes Beispiel des Prozesses des Videobildinformations-Wiedergabeverfahrens gemäß der Ausführungsform der Erfindung illustriert.
  • MODUS ZUM AUSFÜHREN DER ERFINDUNG
  • 1 ist ein Blockdiagramm, welches schematisch die Konfiguration einer Videobildinformations-Wiedergabevorrichtung gemäß einer Ausführungsform der Erfindung illustriert. Die Videobildinformations-Wiedergabevorrichtung gemäß dieser Ausführungsform soll ein Aufzeichnungsmedium wiedergeben, auf welchem Inhalt (Virtuell-Maschinenbasierter Inhalt), dessen Videowiedergabe durch ein Anwendungsprogramm gesteuert werden kann, das auf einer Virtuell-Maschine läuft (unten als ”ein auf einer virtuellen Maschine laufendes Programm” oder als ”eine Anwendung” bezeichnet) gesteuert werden kann. Beispielhafte Aufzeichnungsmedien, auf denen ein solcher Inhalt aufgezeichnet ist, sind optische Disks wie etwa DVDs, CDs und Blu-ray-Disks, aber es können andere Typen von Aufzeichnungsmedien, wie etwa nicht-flüchtiger Halbleiterspeicher und dergleichen verwendet werden. Die Beschreibung dieser Ausführungsform betrifft den Fall, in welchem das Aufzeichnungsmedium eine Blu-ray-Disk (BD) ist und die virtuelle Maschine eine virtuelle Java-(registrierte Marke)Maschine ist.
  • Die in 1 illustrierte Videobildinformations-Wiedergabevorrichtung beinhaltet eine Wiedergabeeinheit 10 zum Wiedergeben einer Optikdisk (BD) 11 als ein beispielhaftes Aufzeichnungsmedium, eine CPU 21, die eine Wiedergabesteuereinheit zum Steuern der gesamten Vorrichtung und Ausführen einer Java-Anwendung (ein in einer virtuellen Maschine laufendes Programm) und einen nicht-flüchtigen Speicher 22. Die Wiedergabeeinheit 10 beinhaltet ein Laufwerk 12, eine Entschlüsselungsverarbeitungs-CPU 18, die als eine Entschlüsselungssteuereinheit verwendet wird, einen Demultiplexer 13, einen Videodecodierer 14, einen Untertitel-Decodierer 15, einen Audio-Decodierer 16 und eine Graphik-Überlagerungseinheit 17.
  • Das Laufwerk 12 liest Informationen aus der optischen Disk 11 und gibt sie an die Entschlüsselungsverarbeitungs-CPU 18 aus.
  • Die Entschlüsselungsverarbeitungs-CPU 18 entschlüsselt die empfangene Information und gibt die Information an den Demultiplexer 13 aus. Der Demultiplexer 13 trennt die durch das Laufwerk 12 gelesenen Daten in Videobildinformation, Audioinformation und Untertitelgraphik-Information. Der Videodecodierer 14 decodiert die Videobildinformation, der Untertitel-Decodierer 15 decodiert die Untertitelgraphik-Information und der Audio-Decodierer 16 decodiert die Audioinformation. Die Graphik-Überlagerungseinheit 17 überlagert Graphikinformation, welche durch die Java-Anwendung angezeigt wird, eingegeben aus der CPU 21, auf die decodierte Videobildinformation und decodierte Untertitelgraphik-Information. Das aus der Graphik-Überlagerungseinheit 17 ausgegebene Videobildsignal wird an eine externe Anzeigenvorrichtung 31 gesendet und die externe Anzeigenvorrichtung 31 zeigt das Videobild an. Ein aus dem Audio-Decodierer 16 ausgegebenes Audiosignal wird an eine Audio-Ausgabevorrichtung gesendet, aus der Ton ausgegeben wird.
  • In der Videobildinformations-Wiedergabevorrichtung gemäß der Ausführungsform, wenn eine Stoppoperation während der Wiedergabe des Hauptvideobildes von virtuellem maschinenbasierten Inhalt unter Verwendung einer Java-Anwendung durchgeführt wird und die Wiedergabe ab der Stoppposition wieder gestartet wird, kann die CPU 21 die Wiedergabe wieder aufnehmen und Daten mit der Entschlüsselungsverarbeitungs-CPU 18 (der Entschlüsselungsanwendung) austauschen (entsprechend dem Fall im Vergleichsbeispiel in der später beschriebenen 17(b)). Jedoch erhöht dieses Wiedergabeverfahren die Wartezeit zur Wiedergabewiederaufnahme, was die Anwenderfreundlichkeit beeinträchtigt. In der Videobildinformations-Wiedergabevorrichtung und dem -Verfahren in dieser Ausführungsform wird daher beim Start der Wiederaufnahmewiedergabe, die nach Anweisung zur Wiederaufnahme der Wiedergabe gegeben wird, anstelle der auf der virtuellen Maschine ablaufenden Java-Anwendung eine Proxy-Anwendung als ein Proxy-Programm gestartet, das in einer anderen Umgebung als der virtuellen Maschine läuft, und führen die Proxy-Anwendung und das Entschlüsselungsprogramm Videobildwiedergabe des virtuellen maschinenbasierten Inhaltes durch, während Daten miteinander ausgetauscht werden, wodurch eine normale Wiedergabe beim Start der Wiederaufnahmewiedergabe erzielt wird.
  • 2 ist ein Diagramm, das ein Beispiel der Struktur von Dateien und Verzeichnissen zeigt, die auf der Optikdisk 11 aufgezeichnet sind und für Wiedergabe einer BD notwendig sind. In 2 gibt die ”Movie.Title”-Datei Information, welche zum Steuern eines Titels notwendig ist, was die höchste hierarchische Einheit der Wiedergabe ist. ”PLST” in 2 bezeichnet einen PLST-Ordner, der Dateien speichert, die für die Wiedergabesteuerung einer Abspielliste (PlayList) notwendige Informationen geben. Im PLST-Ordner gibt es eine Mehrzahl von plst-Dateien, die als ”xxx.plst” bezeichnet werden, wobei ”xxx” eine dreistellige Zahl ist. ”STREAM” in 2 bezeichnet einen STREAM-(Strom)Ordner, der zur Wiedergabe notwendige Dateien speichert, wie etwa Videobildinformation, Audioinformation und Graphikinformation. Im STREAM-Ordner gibt es eine Mehrzahl von STREAM-Dateien, die ”yyy.strm” bezeichnet werden, wobei ”yyy” eine dreiziffrige Zahl ist. Eine STREAM-Datei ist eine Datei, die einen TS (Transportstrom) enthält, wie bei Digitalrundfunk verwendet, bei dem Videobildinformation, Audioinformation und Graphikinformation mit eindeutigen Paket-IDs überlagert werden. ”CLIP” in 2 ist ein Clip-Ordner, der Clip-Dateien speichert, welche die zur Wiedergabesteuerung der STREAM-Dateien notwendige Information gibt. Im CLIP-Ordner ? gibt es eine Mehrzahl von ”zzz.clip” bezeichneten Clip-Dateien, wobei ”zzz” eine dreiziffrige Zahl ist. Die Clip-Dateien und Stream-Dateien stehen in einer Eins-zu-eins-Entsprechung. Beispielsweise falls der Clip-Ordner eine ”123.clip”-Clip-Datei aufweist, hat der STREAM-Ordner eine ”123.strm”-Stream-Datei, die ”123.clip” entspricht. ”JAR” in 2 ist ein JAR (Java-Archiv) Ordner, der Anwendungen zur Titelwiedergabesteuerung speichert, die auf einer virtuellen Java-Maschine abläuft. Im JAR-Ordner gibt es jar-Dateien ¥¥¥.jar, jeweils eine ZIP-Formatdatei, in der ein Satz von Dateien, die zum Ablaufen einer Java-Anwendung notwendig ist, komprimiert ist, wobei ¥¥¥ eine dreiziffrige Zahl ist. Die ”Decrypt.prg”-Datei in 2 ist eine Datei, die ein Programm zum Entschlüsseln verschlüsselten Inhaltes speichert. Der detaillierte Betrieb der ”Decrypt.prg”-Datei wird später beschrieben.
  • 3 ist ein Diagramm, das ein Beispiel der Syntax der plst-Datei ”xxx.plst” zeigt. In 3 bezeichnet ”number_of_stream” die Gesamtzahl der Playlist (PlayList) wiederzugebenden Stream-Dateien. Die ”for” Schleife wird ”number_of_stream” Mal wiederholt. Der ”stream_file_name” in der Schleife gibt den Dateinamen der wiederzugebenden Stream-Datei an; ”in_time” und ”out_time” geben die Startzeit und Endzeit des Teils, der wiederzugeben ist, in der stream-Datei. Diese Zeiten werden in einem PTS (Presentation-Zeitstempel), der jedem Paket in der Stream-Datei hinzugefügt wird, gegeben.
  • 4 ist ein Diagramm, das ein Beispiel der Beziehung zwischen einer Playlist (PlayList), angezeigt durch eine PLST-Datei in 2, und den Stream-Dateien anzeigt. Wenn die in 2 gezeigte Playlist wiedergegeben wird, werden der Teil aus ”in_time” bis ”out_time” in ”001.strm” und der Teil aus ”in_time” zu ”out_time” in ”003.strm” sukzessive wiedergegeben.
  • 5 ist ein Diagramm, das ein Beispiel der Syntax einer Clip-Datei ”zzz.clip” in 2 zeigt. Die in der Clip-Datei in 5 gegebene Information beinhaltet Überlagerungsinformation für die Videobildinformation, Audioinformation und andere Informationen in der entsprechenden Stream-Datei und Index-Information, die für wahlfreien Zugriff und dergleichen notwendig sind. ”stream_info()” gibt Attributinformation für die überlagerte Videobildinformation, Audioinformation und Graphikinformation. Da ”stream_info()” nicht direkt die vorliegende Erfindung betrifft, wird eine detaillierte Beschreibung weggelassen. ”index_info()” gibt Zeit-Information und Positions-Information über den Kopf jeder GOP in der stream-Datei. Die gesamte Anzahl von GOPs (Gruppen von Bildern), die in der stream-Datei enthalten sind, wird als ”number_of_GOP” bezeichnet. Die nachfolgende ”for”-Schleife wird ”number_of_GOP” Mal wiederholt. Die PTS-Information der I-Bilder am Kopf einer GOP wird ”start_PTS” bezeichnet. Die relative Byte-Nummer ab dem Kopf der Stream-Datei bis zum Kopf des I-Bilds wird ”relative_byte” bezeichnet.
  • 6 ist ein Diagramm, das ein Beispiel der Syntax der ”Movie.title”-Datei zeigt. Wenn die Optikdisk 11 in das Laufwerk 12 geladen wird, liest das Laufwerk 12 zuerst die ”Movie.title”-Datei der Optikdisk 11 unter Steuerung der CPU 21 aus. In 6 bezeichnet ”number_of_title” die Gesamtanzahl von Titeln, die auf der Optikdisk 11 aufgezeichnet sind. Die nachfolgende ”for”-Schleife wird ”number_of_title” Mal wiederholt. ”title_type” wird auf ”1” gesetzt, falls der Titelinhalt eine Java-Anwendung verwendet und auf ”0”, falls der Titelinhalt keine Java-Anwendung verwendet. ”title_attribute” wird auf ”1” gesetzt, falls der betreffende Titel ein Titel zum Anzeigen eines Menübildschirms ist, und auf ”0”, falls der Titel kein Titel zum Anzeigen eines Menübildschirms ist. In der nachfolgenden ”if”-Aussage wird der Name einer jar-Datei- in der die Java-Anwendung gespeichert ist, falls ”title_type” ”1” ist, gegeben. Der beispielhafte jar-Dateiname ist ”123.jar”. Das nachfolgende ”else”-Statement wird eine Wiedergabedatei, die wiederzugeben ist, falls ”title_type” ”0” ist, gegeben. Eine beispielhafte wiederzugebende Wiedergabedatei ist ”123.plst”.
  • ”next_title-id” gibt die als Nächstes nach Abschluss der Wiedergabe des aktuell wiedergegeben werdenden Titels wiederzugebende ”title_id”.
  • Die CPU 21 führt die Verarbeitung auf Basis der aus der Optikdisk 11 durch das Laufwerk 12 ausgelesenen ”Movie.title”-Datei anhand der am Kopf der Datei angegebenen Titelinformation aus. Falls die nachfolgenden Bedingungen erfüllt sind,
    title_type = 1 und
    title_attribute = 0
    weist dann der Titel Inhalt auf, der eine Java-Anwendung verwendet, so dass die CPU 21 eine Datei ausliest und analysiert (z. B. ”001.jar”), welche die zu verwendende Java-Anwendung speichert.
  • 7 ist ein Diagramm, das ein Beispiel der Struktur von ”001.jar” zeigt, welche einer Jar-Datei im Jar-Ordner in 2 entspricht. Die ”001.jar”-Datei in 7 beinhaltet drei Dateien: ”test_img.png”, ”test.class”, und ”test$timer.class”. ”test_img.png” ist eine png-Format-Datei, die durch Komprimieren der in dieser Anwendung verwendeten Bilddaten erhalten wird. ”test.class” und ”test$timer.class” sind ausführbare Dateien, die durch Kompilieren der Java-Anwendung in ein ausführbares Format erzeugt werden. Die Operation von ”test_class” und ”test$timer.class” wird nunmehr unter Verwendung des Quellcodes vor Kompilierung beschrieben.
  • 8 bis 10 sind Diagramme, die eine Auflistung von Quellcode für ”test_class” und ”test$timer.class” vor Kompilierung zeigen. Die Operation der Videobild-Wiedergabevorrichtung wird nunmehr auf Basis des in 8 bis 10 illustrierten Quellcodes beschrieben.
  • Abschnitt T1 des in 8 illustrierten Quellcodes ist ein Teil, der die für das Ausführen der Anwendung notwendigen Pakete importiert. Das ”org.disc.net.DisLocator”-Paket, das in der vorliegenden Ausführungsform spezifiziert wird, wird für die Playlisten-Wiedergabe vorgesehen, weil die Playlisten-Wiedergabe durch Java nicht unterstützt wird.
  • Der Abschnitt T2 des in 8 illustrierten Quellcodes ist der Teil, der Variablen deklariert. I_POS[][] und die nachfolgende Beschreibung gibt Koordinateninformation der Bilddaten ”test_img.png” an, welche unter Verwendung der Java-Anwendung angezeigt werden.
  • 11(a) und 11(b) sind Diagramme, die Beispiele der unter Verwendung der Java-Anwendung angezeigten Bilder zeigen. 11(a) ist ein schematisches Diagramm der durch ”test_img.png” ausgedrückten Bilder, wobei (Xn, Yn) Koordinatenwerte im Speicher repräsentieren. Hier bedeutet die Koordinateninformation {0, 0, 128, 128} in der in Abschnitt T2 des Quellcodes in 8 gezeigten I_POS[][], dass ein Quadratbereich mit Eckpunkten (zwei diagonal entgegen gesetzten Eckpunkten) mit Koordinaten, die durch (X0, Y0) = (0, 0) und (X1, Y1) = (128, 128) angegeben sind, zu extrahieren und anzuzeigen ist. Das heißt, dass ein Bild einer Zahl ”1” angezeigt wird. Der angezeigte Zustand (11(b)) der Bilder in 11(a) wird später beschrieben.
  • Abschnitt T3 des Quellcodes in 9 ist ein Teil, der ”test_img.png” lautet und die PNG-Datei decodiert. Nachdem die Decodierung im Abschnitt T3 abgeschlossen ist, schreitet die Verarbeitung zu Abschnitt T4 des Quellcodes fort. Abschnitte T4 bis T6 des Quellcodes sind Teile, welche die Wiedergabe einer Abspielliste (PlayList) eines Trailers oder dergleichen durchführen, der wiederzugeben ist, bis ein Menübildschirm angezeigt wird. Hier ist ”iPlayListID”, was den Dateinamen der wiederzugebenden Abspielliste bezeichnet, im Abschnitt T des Quellcodes ”0”, so dass ”000.plst” wiedergegeben wird. Ähnlich wird ”iPlayListID = 1” im Abschnitt T5 des Quellcodes angegeben, so dass die Abspielliste ”001.plst” wiedergegeben wird, und wird ”iPlayListID = 2” im Abschnitt T6 des Quellcodes angegeben, so dass die Abspielliste ”002.plst” wiedergegeben wird. Wenn die Wiedergabe einer Abspielliste in jedem von Abschnitten T4 bis T5 des Quellcodes bezeichnet wird, werden die entsprechenden Abspiellistendaten aus der Optikdisk 11 durch das Laufwerk 12 ausgelesen. Die ausgelesenen Daten werden durch den Demultiplexer 13 in Videoinformation, Audioinformation und Untertitelgraphikinformation aufgetrennt. Die Videobildinformation wird im Videodecodierer 14 decodiert, die Audioinformation wird im Audio-Decodierer 16 decodiert, die Untertitelgraphikinformation wird im Untertitel-Decodierer 15 decodiert.
  • 12 ist ein Diagramm, das die Syntax einer plst-Datei für das Videobildinformations-Wiedergabeverfahren gemäß dieser Erfindung illustriert. Der Betrieb der CPU 21, wenn der Prozess im Abschnitt T4 des Quellcodes ausgeführt wird, um die Wiedergabe der Abspielliste ”000.plst” zu steuern, wird hier beschrieben. Nachdem die Wiedergabe der Abspielliste ”000.plst” gestartet wird, prüft die Java-Steuereinheit in der CPU 21 die Wiedergabezeit der Abspielliste ”000.plst” in der Abspiellisten-Wiedergabeeinheit in gleichmäßigen Zeitintervallen. Während der Wiedergabe der Abspielliste berichtet in Reaktion auf eine Prüfanfrage aus der Java-Steuereinheit die Abspiellisten-Wiedergabeeinheit die aktuelle Wiedergabezeit der Abspielliste. Falls die Wiedergabezeit der Abspielliste, welche durch die Abspiellisten-Wiedergabeeinheit berichtet wird, zur Endzeit der Abspielliste ”000.plst” passt, erkennt die Java-Steuereinheit, dass die Wiedergabe der Abspielliste ”000.plst” abgeschlossen ist und führt den nachfolgenden Prozess in T5 durch, um das Abspielen der Abspielliste ”001.plst” durch eine ähnliche Abfolge durchzuführen.
  • Abschnitt T7 des Quellcodes ist Quellcode zum Ausführen eines Prozesses der Anzeige eines Menübildschirms nach dem Ausführen der Prozesse in den Abschnitten T4 bis T6 (nachdem der Trailer und andere Abspiellisten angezeigt werden). Da der Abschnitt T7 den essentiellen Teil der Erfindung in der vorliegenden Anwendung nicht betrifft, wird er nicht im Detail beschrieben.
  • 13 ist ein Diagramm, das einen Menübildschirm illustriert, der als ein Ergebnis der Durchführung des Prozesses im Abschnitt T7 des Quellcodes angezeigt wird. Der in 13 illustrierte Menübildschirm beinhaltet drei auswählbare Tasten und eines der drei Hauptobjekte von Videoinhalt kann selektiv durch Betätigen der entsprechenden der drei Tasten wiedergegeben werden. Bei dieser Ausführungsform wird der Betrieb beschrieben, wenn der linkeste ”Inhalt 1” ausgewählt wird.
  • 10 ist ein Diagramm, das Quellcode zum Durchführen der Wiedergabe der Abspielliste illustriert, welche Inhalt 1 bildet. Wenn einmal die ”Inhalt 1”-Taste ausgewählt ist, wird die Verarbeitung anhand Abschnitt T8 des in 10 gezeigten Quellcodes durchgeführt. Der Abschnitt T8 verwendet die Java-Anwendung zur Anzeige der in 11(a) illustrierten Graphikbilder, während die Abspielliste ”003.plst” wiedergegeben wird. Spezifisch werden die Bilder ”1” bis ”30”, die in 11(a) illustriert sind, dem Abspiellisten-Videobild 40 überlagert, das durch ”003.plst” spezifiziert ist und sequentiell in Intervallen von beispielsweise einer Sekunde angezeigt wird, wie in der ”Szene Nr. 1” bis ”Szene Nr. 15”, gezeigt von oben nach unten in 11(b). Zu dieser Zeit werden die durch die CPU 21 erzeugten Graphikbildschirme ”1” bis ”30” in 11(a) der Ausgangsbildschirm des Videodecodierers 14 und der Ausgabebildschirm des Untertitel-Decodierers 15 durch die Graphik-Überlagerungseinheit 17 überlagert und wird das Bildsignal des überlagerten Bildes an die externe Anzeigenvorrichtung 31 ausgegeben.
  • Durch Verwenden der Java-Anwendung wie oben beschrieben, kann eine komplexe Videowiedergabe durchgeführt werden, wie etwa Anzeigen verschiedener Graphikbilder gleichzeitig auf dem Hauptvideobild. Die Java-Anwendung wird, wie in Abschnitt T3 des Quellcodes, so geschrieben, dass sie eine zum Anzeigen von Graphikbildern verwendete PNG-Datei codiert, bevor die Wiedergabe startet. Der Grund dafür ist, dass die Prozesse des Decodierens von PNG-Daten und die JPEG-Daten einer CPU, die für Wiedergabe spezialisiert ist, eine signifikant schwere Belastung auferlegen und die Graphiken nicht glatt angezeigt werden können, falls die CPU das Decodieren durchführen muss, während sie die Java-Anwendung ausführt. Aus diesem Grund gibt es eine Wartezeit von mehreren 10 Sekunden bis mehreren Minuten ab dann, wenn der Anwender einen Befehl zum Starten der Wiedergabe erteilt, bis die Decodierung des PNG und anderer Dateien abgeschlossen ist und das Videowiedergabebild tatsächlich angezeigt wird.
  • Als Nächstes wird eine Beschreibung eines Problems gegeben, das verursacht wird, wenn die Wiedergabe von Inhalt unter Verwendung einer Java-Anwendung suspendiert wird und dann die Wiederaufnahme der Wiedergabe durchgeführt wird. Beispielsweise falls die Wiedergabe suspendiert wird, wenn das ”15”-Bild, das in 11(a) gezeigt ist, angezeigt wird, ist es dann, um Wiederaufnahmewiedergabe ab der Zeit der Anzeige des ”15”-Bildes durchzuführen, notwendig, in einen nicht-flüchtigen Speicher wie etwa einen Flash-Speicher den Gesamtzustand von CPU 21 und aller Informationen in ihrem externen Speicher (RAM) zur Zeit der Anzeige des ”15”-Bildes zu speichern. Es würde jedoch schwierig sein, dieses Schema in einer Konsumentenvorrichtung anzunehmen, die mit einer Minimal-Hardware konfiguriert ist, welche zum Implementieren der Videowiedergabefunktion benötigt wird. Entsprechend, wenn die Wiedergabe unter Verwendung der Java-Anwendung wieder aufgenommen wird, werden zuerst die Prozesse in den Abschnitten T1 bis T3 des Quellcodes neu ausgeführt und dann wird die Wiedergabe ab dem Kopf der Abspielliste (dem ”1”-Anzeigebildschirm) wieder aufgenommen, was eine beachtliche Unbequemlichkeit für den Anwender darstellt.
  • Um das oben beschriebene Problem zu lösen, führt die Videobildinformations-Wiedergabevorrichtung gemäß dieser Ausführungsform eine Wiederaufnahmewiedergabe (auch als eine ”einfache Wiederaufnahmewiedergabe” bezeichnet) durch, welche Wiedergabe ohne Starten der Java-Anwendung startet, wobei die Abspielliste als eine Abspielliste behandelt wird, welche die Java-Anwendung nicht verwendet. Dies ermöglicht es, die Wiedergabe rasch am Start der Wiederaufnahmewiedergabe zu beginnen. In diesem Fall, da die Java-Anwendung nicht läuft, werden die ”1”- bis ”30”-Graphiken nicht angezeigt, aber beispielsweise werden das Hauptvideobild aus dem Videodecodierer 14 und der Ton aus dem Audio-Decodierer 16 wiedergegeben. Für einen Spielfilminhalt des Typs, der im Allgemeinen auf dem Markt verkauft wird, obwohl einige Funktionen beschränkt sind, können das Videobild, Ton und Untertitel angezeigt werden und das ist genug, um den Inhalt verständlich zu machen, selbst wenn die Java-Anwendung nicht läuft.
  • Als Nächstes wird die Prozedur, durch welche verschlüsselter Inhalt durch Austausch von Daten zwischen der Java-Anwendung der CPU 21 und einer Entschlüsselungsanwendung der Entschlüsselungsverarbeitungs-CPU 18 entschlüsselt wird, beschrieben. Wenn eine, eine verschlüsselte Stream-Datei enthaltende Wiedergabeliste wiedergegeben wird, wird die ”decrypt.prg”-Datei, in der die Entschlüsselungsanwendung gespeichert ist, in die Entschlüsselungsverarbeitungs-CPU 18 in 2 geladen. Eine virtuelle Maschine (die sich von der virtuellen Java-Maschine unterscheidet) zum Laufenlassen der Entschlüsselungsanwendung wird durch die Entschlüsselungsverarbeitungs-CPU 18 implementiert und die Entschlüsselungsanwendung wird auf dieser virtuellen Maschine ausgeführt. Ein Vorteil des Ausführens der Entschlüsselungsanwendung auf der virtuellen Maschine besteht darin, dass es dies sehr schwierig macht, die Natur der auf der Entschlüsselungsverarbeitungs-CPU 18 durchgeführten Berechnungen abzuleiten, wodurch eine Immunität gegenüber einem Hacken bereitgestellt wird. Die Entschlüsselungsanwendung wird geladen, und gleichzeitig wird eine, eine Java-Anwendung enthaltende JAR-Datei ”xxx.jar”, die Daten mit der Entschlüsselungsanwendung austauscht, in die CPU 21 geladen. Das ”xxx” wird nicht ausdrücklich spezifiziert, weil es in der JAR-Datei angegeben wird, die zur Wiedergabe der Wiedergabeliste geladen worden war.
  • 14 ist ein normales Wiedergabesequenzdiagramm, was Datenaustausch zwischen der Entschlüsselungsverarbeitungs-CPU 18 und der CPU 21 illustriert. Wie in 14 gezeigt, wird ein ”Numerikwert A” aus der Entschlüsselungsanwendung in die Entschlüsselungsverarbeitungs-CPU 18 zur Java-Anwendung in CPU 21 weitergeleitet. Hier ist ”Numerikwert A” ein unspezifischer Wert, der als Ergebnis der Verarbeitung in der Entschlüsselungsanwendung der CPU 18 erzeugt wird.
  • Als Nächstes berechnet die Java-Anwendung in der CPU 21 eine Funktion F(A) unter Verwendung des empfangenen ”Numerikwerts A”.
  • Als Nächstes wird ein ”Numerikwert B”, der von der Berechnung der Funktion F(A) herrührt, zur Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 weitergereicht. Die Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 führt einen Entschlüsselungsprozess unter Verwendung des Berechnungsergebnisses ”Numerikwert B” durch.
  • Verschlüsselter Inhalt wird durch periodisches Durchführen von Datenaustäuschen wie oben entschlüsselt. Im oben beschriebenen Fall ist der Datenaustausch zwischen der Java-Anwendung in CPU 21 und der Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 ein Eins-zu-Eins-Datenaustausch von ”Numerikwert A” gegen ”Numerikwert B”, aber die Korrespondenz zwischen ”Numerikwert A” und ”Numerikwert B” ist nicht auf einen Eins-zu-Eins-Datenaustausch beschränkt. Beispielsweise kann ein Zwei-zu-Eins-Datenaustausch stattfinden, in welchem die Entschlüsselungsanwendung in der CPU 21 einen ”Numerikwert A” und einen ”Numerikwert C” an die Java-Anwendung in der Entschlüsselungsverarbeitungs-CPU 18 weiterleitet und die Java-Anwendung in der CPU 21 das berechnete Ergebnis einer Funktion F (A, C) an die Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 weiterleitet.
  • Das Obige illustriert eine Operation während normaler Wiedergabe, in welcher die Java-Anwendung geladen ist, aber am Start der Wiederaufnahmewiedergabe wird die Wiedergabe ohne Starten der Java-Anwendung durchgeführt. Wenn die Java-Anwendung nicht gestartet ist, kann die Entschlüsselungsanwendung den für den Entschlüsselungsprozess notwendigen ”Numerikwert B” nicht ermitteln, so dass es ein Problem gibt: der normale Entschlüsselungsprozess kann nicht ausgeführt werden und das normale Videobild und Ton können nicht reproduziert werden.
  • Das Verfahren, durch welches ein verschlüsselter Inhalt normalerweise am Start der Wiederaufnahmewiedergabe durch das Videobildinformations-Wiedergabeverfahren und die Videobildinformations-Wiedergabevorrichtung gemäß dieser Ausführungsform entschlüsselt wird, selbst ohne Starten der Java-Anwendung, wird nunmehr beschrieben. Die Java-Anwendung, welche Daten mit der Entschlüsselungsanwendung austauscht, berechnet eine vorgegebene Funktion F(A) durch Durchführen von Berechnungen, die aus der Analyse der JAR-Datei verstanden werden können. Die innerhalb der Java-Anwendung durchgeführten Berechnungen können auch in eine andere Sprache als Java übersetzt werden. Das heißt, dass die verschlüsselten Daten am Start der Wiederaufnahmewiedergabe entschlüsselt werden können, selbst ohne Starten der Java-Anwendung, unter Verwendung von C-Sprache oder einer anderen Sprache, die nativ auf der CPU 21 läuft, um ein Proxy-Berechnungsprozess-Äquivalent zur Funktion F(A) auszuführen.
  • 15 ist ein Flussdiagramm, das einen durch die Java-Anwendung in CPU 21 durchgeführten Prozess illustriert, wenn der Austausch von Numerikwerten zwischen der Java-Anwendung in der CPU 21 und der Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 in der normalen Wiedergabe detektiert wird. Wie in 15 gezeigt, überwacht die Java-Anwendung in der CPU 21 das Auftreten eines Austauschs von Numerikwerten (Empfangen eines Numerikwerts und Senden eines Numerikwertes) mit der Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 (Schritt S1). Falls es keinen Austausch von Numerikwerten mit der Entschlüsselungsanwendung gibt (NEIN in Schritt S1), wenn dann die Java-Anwendung in CPU 21 einen Wiedergabestoppbefehl (JA in Schritt S2) empfängt, setzt sie das ”crypt_flag” auf ”0” (Schritt S3). Falls die Java-Anwendung in CPU 21 den Transfer eines Numerikwerts aus der Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 detektiert (JA in Schritt S1), stellt sie das ”crypt_flag” auf ”1” (Schritt S4) und dann, wenn sie einen Wiedergabestoppbefehl empfängt (JA in Schritt S5), stoppt sie die Verarbeitung. Hier ist ”crypt_flag” ein Informationsobjekt, das im Arbeitsspeicher von CPU 21 gehalten wird; es wird auf ”1” gesetzt, wenn der Numerikwert aus der Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 transferiert wird, und wird ansonsten auf ”0” gesetzt. Falls es notwendig ist, diese Information zu bewahren, selbst nachdem die Videobildinformations-Wiedergabevorrichtung ausgeschaltet ist, muss die Information im nicht-flüchtigen Speicher 22 gehalten werden.
  • 16 ist ein Flussdiagramm, das den Entschlüsselungsprozess am Start der Wiederaufnahmewiedergabe illustriert. Wie in 16 gezeigt, wenn die CPU 21 einen Wiederaufnahmewiedergabe-Startbefehl empfängt, prüft sie, ob der Wert des ”crypt_flag”-Flags auf ”1” gesetzt ist oder nicht (Schritt S11). Falls der Wert des ”crypt_flag”-Flags nicht auf ”1” gesetzt ist (NEIN in Schritt S11), gibt dies einen Inhalt an, für den Numerikwerte nicht zwischen der Java-Anwendung und der Entschlüsselungsanwendung ausgetauscht werden, so dass eine normale Wiederaufnahmewiedergabe durchgeführt wird, welche keine Entschlüsselung durch die Entschlüsselungsanwendung involviert (Wiederaufnahmewiedergabe ohne Verwendung der Proxy-Anwendung) (Schritt S16). Falls das ”crypt_flag”-Flag auf ”1” gesetzt ist, überwacht die Java-Anwendung der CPU 21 die Übertragung eines Numerikwerts A aus der Entschlüsselungsanwendung der Entschlüsselungsverarbeitungs-CPU 18 (Schritt S12). Falls die Java-Anwendung der CPU 21 die Übertragung eines ”Numerikwerts A” aus der Entschlüsselungsanwendung detektiert, führt sie eine Berechnung anstelle der Java-Anwendung unter Verwendung eines Computerprozesses für eine Funktion F'(A) in der Java-Anwendung aus, die äquivalent zum Berechnungsprozess für F(A) in der Java-Anwendung ist, und in der Proxy-Anwendung stattfindet, die ein in der C-Sprache codiertes Proxy-Programm ist (Schritt S13). Die Proxy-Anwendung der CPU 21 überträgt das Berechnungsergebnis der Funktion F'(A) an die Entschlüsselungsanwendung in der Entschlüsselungsverarbeitungs-CPU 18 (Schritt S14). Die Proxy-Anwendung in der CPU 21 iteriert die Verarbeitung ab Schritt S12 zu Schritt S14, wodurch der Entschlüsselungsprozess für den verschlüsselten Inhalt durchgeführt wird (Schritt S15).
  • Wie oben beschrieben, wird bei dieser Ausführungsform am Start der Wiederaufnahmewiedergabe selbst für Inhalt, für den Numerikwerte zwischen der Java-Anwendung in der CPU 21 und der Entschlüsselungsanwendung in der CPU 18 ausgetauscht werden, Wiederaufnahmewiedergabe durch Laufenlassen einer Proxy-Anwendung gestartet, die ein einfacheres Programm als die Java-Anwendung ist, anstelle des direkten Laufenlassens der Java-Anwendung. Auf diese Weise tauscht unmittelbar nach dem Empfang des Wiederaufnahmewiedergabebefehls die Proxy-Anwendung Numerikwerte mit der Entschlüsselungsanwendung aus, um die verschlüsselten Daten zu entschlüsseln, so dass eine Wiedergabe normal gestartet werden kann, unmittelbar nach dem Erteilen des Wiederaufnahmewiedergabe-Startbefehls. Da die Proxy-Anwendung verschlüsselte Daten durch Ausführen als eine Proxy-Anwendung entschlüsselt, die im nativen Modus auf der CPU 21 abläuft, kann die normale Wiedergabe unmittelbar nach dem Wiederaufnahmewiedergabebefehl beginnen.
  • Die Effekte dieser Ausführungsform werden nunmehr detaillierter beschrieben. 17(a) und 17(b) sind Zeitdiagramme, die Prozesse am Start der Inhaltswiedergabe im Videobildinformations-Wiedergabeverfahren in den Vergleichsbeispielen 1 und 2 illustrieren; 18 ist ein Timing-Diagramm, das einen Prozess am Start von Inhaltwiedergabe im Videobildinformations-Wiedergabeverfahren gemäß dieser Ausführungsform illustriert.
  • In einem Videobildinformations-Wiedergabeverfahren, das die Zeit, bis die Wiedergabe startet, um beispielsweise Behandeln von Inhalt unter Verwendung einer Java-Anwendung, als wäre es Inhalt, der keine Java-Anwendung verwendet (Vergleichsbeispiel 1), wie in 17(a) gezeigt, reduziert, wird normale Wiedergabe zur Zeit t0 suspendiert, beginnt Wiedergabe (funktionell beschränkte Wiedergabe) unmittelbar nachdem die Wiedergabestartoperation zur Zeit t1 ausgeführt wird, und findet ein Übergang zur normalen Wiedergabe zur Zeit t2 statt, nachdem Vorbereitungen zum Starten der Java-Anwendung abgeschlossen sind.
  • In einigen Fällen jedoch wird die Entschlüsselung verschlüsselter Videobilddaten und Audiodaten von virtuellem maschinenbasiertem Inhalt durch Datenaustausch zwischen der Entschlüsselungsanwendung und der Java-Anwendung durchgeführt (Vergleichsbeispiel 2). Für einen solchen Inhalt muss die Java-Anwendung gestartet werden, weil, falls Wiederaufnahmewiedergabe ohne Starten der Java-Anwendung durchgeführt wird, die Daten nicht entschlüsselt werden können. Aus diesem Grund, wie in 17(b) gezeigt, wird die normale Wiedergabe zur Zeit t0 suspendiert, aber die Wiedergabe (funktionell beschränkte Wiedergabe) wird nicht unmittelbar nachdem der Wiedergabestartvorgang zur Zeit t1 ausgeführt wird, gestartet; die normale Wiedergabe wird zur Zeit t12 gestartet, nachdem Vorbereitungen zum Starten der Java-Anwendung abgeschlossen sind.
  • Wie oben beschrieben, beinhalten die Videobildinformations-Wiedergabeverfahren in den Vergleichsbeispielen einen Fall, in welchem die Wiederaufnahmewiedergabe unmittelbar nach der Wiedergabestartoperation, wie in 17(a), startet, und einen Fall, in welchem die Wiederaufnahmewiedergabe nach Verstreichen der Zeit startet, die zum Vorbereiten der Wiederaufnahmewiedergabe nachfolgend der Wiedergabestartoperation benötigt wird, wie in 17(b), in welchem Fall die Wartezeit bis die Wiederaufnahmewiedergabe beginnt, nicht verkürzt wird.
  • Im Gegensatz dazu wird in dem Videobildinformations-Wiedergabeverfahren gemäß der vorliegenden Ausführungsform, wie in 18 gezeigt, die normale Wiedergabe zur Zeit t0 suspendiert, wird die Proxy-Anwendung unmittelbar nachdem die Wiedergabestartoperation zur Zeit t1 durchgeführt wird, gestartet, wird Wiederaufnahmewiedergabe zur Zeit t22 gestartet, wenn die Proxy-Anwendung bereit ist, gestartet zu werden, und wird ein Übergang zur normalen Wiedergabe zur Zeit t23 gemacht, nachdem die Java-Anwendung bereit ist, gestartet zu werden. Auf diese Weise kann in der vorliegenden Ausführungsform beim Start der Wiederaufnahmewiedergabe selbst für Inhalt, bei dem Numerikwerte zwischen einer Java-Anwendung und einer Entschlüsselungsanwendung ausgetauscht werden, die normale Wiedergabe unmittelbar nach der Anweisung zur Wiederaufnahmewiedergabe beginnen, weil die Wiederaufnahmewiedergabe durchgeführt wird, indem eine Proxy-Anwendung laufen gelassen wird, die ein einfacheres Programm als die Java-Anwendung ist, um die verschlüsselten Daten zu entschlüsseln, ohne unmittelbar die Java-Anwendung laufen zu lassen. Die Proxy-Anwendung ist ein Programm, welches die Minimumkomponenten enthält, die erforderlich sind, um die Wiederaufnahmewiedergabe zu beginnen, und kann das Ablaufenlassen in einer kürzeren Zeit starten als die Java-Anwendung.
  • 19 ist ein Flussdiagramm, das einen Prozess illustriert, der gegenüber 16 Verbesserungen zeigt. Schritte, welche dieselben wie in 16 sind, werden durch dieselben Bezugszeichen bezeichnet. In dem Prozess in 19 wird die Berechnung von Funktion F(A) manchmal unter Verwendung eines ”Numerikwert A” und eines ”Festwert” definiert, wie in ”F(A) = ”Numerikwert A” & ”Festwert””. Dies bedeutet, dass es einen Fall gibt, bei dem unter einigen Bedingungen ”F(A) = ”Numerikwert”” und unter anderen Bedingungen ”F(A) = ”Festwert””. Der Festwert unterscheidet sich für jede Optikdisk und F(A) unterscheidet sich auch für jede Optikdisk. Entsprechend wird es unmöglich, den Entschlüsselungsprozess normal nur aus dem Berechnungsergebnis der Funktion F'(A) durchzuführen, welche durch die Proxy-Anwendung verwendet wird, um eine Proxy-Berechnung in CPU 21 durchzuführen.
  • Daher wird der Prozess im Beispiel in 19 in der folgenden Weise durchgeführt. Zuerst, wenn die CPU 21 einen Austausch von Numerikwerten zwischen der Java-Anwendung und der Entschlüsselungsanwendung detektiert (JA in Schritt S1), setzt sie den Wert des ”crypt_flag”-Flags auf 1 (Schritt S4), analysiert den Inhalt der, die Java-Anwendung enthaltene JAR-Datei, welche Numerikwerte mit der Entschlüsselungsanwendung austauscht, und führt eine Suche nach einem festen Wert aus, der in Funktion F(A) enthalten ist (Schritt S20). Wie das ”crypt_flag”-Flag, wird hier der detektierte Festwert in einem Arbeitsspeicher der CPU 21 gehalten, und falls es notwendig ist, diesen Wert zu bewahren, selbst nachdem der Strom ausgeschaltet ist, wird der Wert im nicht-flüchtigen Speicher 22 gehalten. Die Verarbeitung am Start der Wiederaufnahmewiedergabe ist die gleiche wie die in 16 illustrierte Verarbeitung, aber in der in Schritt S30 in 16 durchgeführten Proxy-Berechnung ist es notwendig, F'(a) unter Verwendung des wie oben ermittelten Festwertes zu berechnen. Im obigen Beispiel wird ein Fall mit einem einzelnen Festwert beschrieben, aber mehr als ein Festwert kann verwendet werden.
  • Wie oben beschrieben, wenn ein in der Funktion F(A) verwendeter Festwert sich für jede Optikdisk unterscheidet, wird der Festwert aus einer JAR-Datei wiedergewonnen, bevor eine vereinfachte Wiedergabe startet, und wird die Funktion F'(A) unter Verwendung des wiedergewonnenen Festwerts berechnet, was Entschlüsselung und normale Wiedergabe der verschlüsselten Daten ermöglicht.
  • BEZUGSZEICHEN
    • 10 Wiedergabeeinheit, 11 Optikdisk (Aufzeichnungsmedium), 12 Laufwerk, 13 Demultiplexer, 14 Videodecodierer, 15 Untertitel-Decodierer, 16 Audio-Decodierer, 17 Graphik-Überlagerungseinheit, 18 Entschlüsselungsverarbeitungs-CPU, 21 CPU (Wiedergabesteuermittel), 22 nicht-flüchtiger Speicher, 31 externe Anzeigenvorrichtung.

Claims (6)

  1. Videobildinformations-Wiedergabeverfahren zum Wiedergeben eines Aufzeichnungsmediums, auf dem Virtuell-Maschinen-basierter Inhalt aufgezeichnet ist, wobei Videowiedergabe, die durch eine Mehrzahl von auf einer virtuellen Maschine ablaufenden Programmen zu steuern ist, ermöglicht wird, wobei: bei normaler Wiedergabe des Virtuell-Maschinenbasierten Inhaltes ein Entschlüsselungs-Unterstützungsprogramm, das eines aus der Mehrzahl von Programmen ist, die auf der virtuellen Maschine laufen, einen numerischen Wert aus einem Beschreibungsprogramm zum Entschlüsseln verschlüsselter Virtuell-Maschinenbasierter Inhalte empfängt; das Entschlüsselungs-Unterstützungsprogramm eine vorgegebene Berechnung unter Verwendung des numerischen Wertes durchführt; das Entschlüsselungsprogramm einen Entschlüsselungsprozess unter Verwendung eines Ergebnisses der Berechnung ausführt; und beim Start der Wiederaufnahmewiedergabe, welche nachfolgend einer Anweisung zum Wiederaufnehmen der Wiedergabe, nachdem die Wiedergabe des virtuellen maschinenbasierten Inhaltes suspendiert ist, ausgeführt wird, ein Proxy-Programm, das in einer anderen Umgebung als der virtuellen Maschine abläuft, anstelle des Entschlüsselungs-Unterstützungsprogramms, das in der virtuellen Maschine läuft, gestartet wird, und die Videowiedergabe des Virtuell-Maschinenbasierten Inhalts ausgeführt wird, während das Proxy-Programm und das Entschlüsselungsprogramm Daten austauschen.
  2. Videobildinformations-Wiedergabeverfahren nach Anspruch 1, wobei: wenn der virtuelle maschinenbasierte Inhalt wiedergegeben wird, Datenaustäusche zwischen dem auf der virtuellen Maschine laufenden Entschlüsselungs-Unterstützungsprogramm und dem Entschlüsselungsprogramm detektiert werden und ein Flag-Wert, der anzeigt, ob solche Datenaustäusche durchgeführt werden, oder nicht, anhand der detektierten Ergebnisse gesetzt wird; und beim Start von Wiederaufnahmewiedergabe aus dem Flag-Wert bestimmt wird, ob das Proxy-Programm zu starten ist oder nicht.
  3. Videobildinformations-Wiedergabeverfahren nach Anspruch 1, wobei: wenn der virtuelle maschinenbasierte Inhalt wiedergegeben wird, ein bei der Berechnung im Proxy-Programm, das mit dem Entschlüsselungsprogramm kommuniziert, verwendeter Festwert aus dem Programm wiedergewonnen wird, das auf der virtuellen Maschine läuft; und beim Start der Wiederaufnahmewiedergabe das Proxy-Programm unter Verwendung des wiedergewonnenen Festwertes ausgeführt wird.
  4. Videobildinformations-Wiedergabevorrichtung, umfassend: eine Wiedergabeeinheit zum Wiedergeben eines Aufzeichnungsmediums, auf welchem maschinenbasierter Inhalt aufgezeichnet ist, was eine Videowiedergabe, die durch ein auf einer virtuellen Maschine ablaufendes Programm zu steuern ist, ermöglicht; und eine Wiedergabesteuereinheit zum Steuern der Wiedergabeverarbeitung in der Wiedergabeeinheit, wobei: bei normaler Wiedergabe des Virtuell-Maschinenbasierten Inhalts ein Entschlüsselungsprozess für den virtuellen maschinenbasierten Inhalt durch ein Entschlüsselungs-Unterstützungsprogramm, das auf der virtuellen Maschine in der Wiedergabesteuereinheit abläuft, und ein Entschlüsselungsprogramm zum Entschlüsseln des verschlüsselten virtuellen maschinenbasierten Inhalts, das auf einer Entschlüsselungssteuereinheit in der Wiedergabeeinheit abläuft, ausgeführt wird; und beim Start der Wiederaufnahmewiedergabe, die nachfolgend einer Anweisung zum Wiederaufnehmen der Wiedergabe, nachdem die Wiedergabe des virtuellen maschinenbasierten Inhalts suspendiert ist, ausgeführt wird, ein Proxy-Programm, das in einer anderen Umgebung als der virtuellen Maschine läuft, anstelle des Entschlüsselungs-Unterstützungsprogramms gestartet wird, das auf der virtuellen Maschine in der Wiedergabesteuereinheit läuft, und die Videowiedergabe des virtuellen maschinenbasierten Inhaltes ausgeführt wird, während das Proxy-Programm und das Entschlüsselungsprogramm Daten austauschen.
  5. Videobildinformations-Wiedergabevorrichtung nach Anspruch 4, wobei: wenn der virtuelle maschinenbasierte Inhalt wiedergegeben wird, die Wiedergabe-Steuereinheit Datenaustäusche zwischen dem auf der virtuellen Maschine laufenden Entschlüsselungs-Unterstützungsprogramm und dem Entschlüsselungsprogramm detektiert und einen Flag-Wert, der anzeigt, ob solche Datenaustäusche durchgeführt werden, oder nicht, anhand der detektierten Ergebnisse setzt; und beim Start von Wiederaufnahmewiedergabe aus dem Flag-Wert bestimmt wird, ob das Proxy-Programm zu starten ist oder nicht.
  6. Videobildinformations-Wiedergabevorrichtung nach Anspruch 4, wobei: wenn der virtuelle maschinenbasierte Inhalt wiedergegeben wird, die Wiedergabe-Steuereinheit einen bei der Berechnung im Proxy-Programm, das mit dem Entschlüsselungsprogramm kommuniziert, verwendeten Festwert aus dem Programm wiedergewinnt, das auf der virtuellen Maschine läuft; und beim Start der Wiederaufnahmewiedergabe die Wiedergabe-Steuereinheit das Proxy-Programm unter Verwendung des wiedergewonnenen Festwertes ausführt.
DE112012004368.5T 2011-10-21 2012-05-23 Videobildinformations-wiedergabeverfahren und videobildinformations-wiedergabevorrichtung Withdrawn DE112012004368T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011231903 2011-10-21
JPJP2011231903 2011-10-21
PCT/JP2012/063121 WO2013057977A1 (ja) 2011-10-21 2012-05-23 映像情報再生方法及び映像情報再生装置

Publications (1)

Publication Number Publication Date
DE112012004368T5 true DE112012004368T5 (de) 2014-07-31

Family

ID=48140637

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012004368.5T Withdrawn DE112012004368T5 (de) 2011-10-21 2012-05-23 Videobildinformations-wiedergabeverfahren und videobildinformations-wiedergabevorrichtung

Country Status (5)

Country Link
US (1) US9020331B2 (de)
JP (1) JP5615445B2 (de)
CN (1) CN103890848B (de)
DE (1) DE112012004368T5 (de)
WO (1) WO2013057977A1 (de)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
WO2014145805A1 (en) 2013-03-15 2014-09-18 Mandiant, Llc System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9189627B1 (en) * 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9740857B2 (en) 2014-01-16 2017-08-22 Fireeye, Inc. Threat-aware microvisor
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10554507B1 (en) 2017-03-30 2020-02-04 Fireeye, Inc. Multi-level control for enhanced resource and object evaluation management of malware detection system
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10880272B2 (en) * 2017-04-20 2020-12-29 Wyse Technology L.L.C. Secure software client
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
CN110944228B (zh) * 2018-09-21 2022-04-01 中国移动通信有限公司研究院 一种视频流保护方法、装置、计算装置和可读介质
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1890745B (zh) 2003-10-10 2010-05-12 夏普株式会社 再现装置、再现装置的控制方法
JP5090415B2 (ja) 2003-10-10 2012-12-05 シャープ株式会社 再生装置、ビデオデータの再生方法、制御プログラム、及びコンテンツ記録媒体
JP5132871B2 (ja) 2003-10-10 2013-01-30 シャープ株式会社 コンテンツ再生装置、コンテンツ再生装置の制御方法、コンテンツ記録媒体、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体
CN1757074A (zh) * 2003-11-28 2006-04-05 索尼株式会社 再现设备、再现方法、再现程序、和记录介质
CN101542439B (zh) 2007-07-05 2012-10-31 松下电器产业株式会社 数据处理装置、数据处理方法及集成电路
JP5092782B2 (ja) 2008-02-15 2012-12-05 ソニー株式会社 ディスク、オーサリング方法、および再生制御方法、並びに情報処理装置
JP2009232123A (ja) 2008-03-21 2009-10-08 Fujitsu Ten Ltd コンテンツ再生装置およびコンテンツ再生制御方法
JP2009259356A (ja) 2008-04-18 2009-11-05 Fujitsu Ten Ltd コンテンツ再生装置およびコンテンツ再生制御方法
JP5197202B2 (ja) * 2008-07-14 2013-05-15 富士通テン株式会社 コンテンツ再生装置、方法およびプログラム
JP5032408B2 (ja) * 2008-07-25 2012-09-26 パナソニック株式会社 簡易レジューム再生装置及び簡易レジューム再生方法
EP2378522A4 (de) 2008-12-04 2013-06-12 Mitsubishi Electric Corp Verfahren zur wiedergabe von videoinformationen, vorrichtung zur wiedergabe von videoinformationen, aufzeichnungsmedium und videoinhalt
US8717857B2 (en) * 2009-05-20 2014-05-06 Sony Dadc Austria Ag Method for copy protection
EP2254116A1 (de) * 2009-05-20 2010-11-24 Sony DADC Austria AG Kopierschutzverfahren
JP5347714B2 (ja) * 2009-05-26 2013-11-20 三菱電機株式会社 映像情報再生方法及び映像情報再生装置
WO2010143439A1 (ja) * 2009-06-12 2010-12-16 パナソニック株式会社 再生装置、集積回路、記録媒体
GB2471456B (en) * 2009-06-29 2012-06-20 Geco Technology Bv Interpolation and/or extrapolation of seismic data
KR20110001618A (ko) * 2009-06-30 2011-01-06 애니포인트 미디어 그룹 장치-특화 및 애플리케이션-특화된 컴퓨팅 장치, 재생 장치 및 컴퓨팅 장치를 이용한 재생 장치의 제어 방법

Also Published As

Publication number Publication date
JP5615445B2 (ja) 2014-10-29
CN103890848B (zh) 2016-03-09
CN103890848A (zh) 2014-06-25
JPWO2013057977A1 (ja) 2015-04-02
WO2013057977A1 (ja) 2013-04-25
US9020331B2 (en) 2015-04-28
US20140169762A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
DE112012004368T5 (de) Videobildinformations-wiedergabeverfahren und videobildinformations-wiedergabevorrichtung
US20200162787A1 (en) Multimedia content navigation and playback
US6889383B1 (en) Delivery of navigation data for playback of audio and video content
DE69627766T2 (de) Datenaufzeichnungsverfahren, -gerät und -medien sowie Datenwiedergabeverfahren und -gerät
DE60003844T2 (de) Beseitigen von bildformatstörungen in mpeg spezialwiedergabemoden
DE69734222T2 (de) Informationsaufzeichnungsträger, Aufzeichnungsgerät und Wiedergabegerät dafür
DE60210611T2 (de) Effizientes übertragen und abspielen digitaler information
DE69924788T2 (de) Aufzeichnungsmedium zur Speicherung von stillstehenden Bildern
US20010004417A1 (en) Video editing system
DE112009004272B4 (de) Wiedergabevorrichtung und Wiedergabeverfahren
AU2002211296A1 (en) Filtering objectionable multimedia content
DE60003455T2 (de) Abspielen von interaktiven programmen
DE10393469T5 (de) Optische Platte, Wiedergabevorrichtung, Programm, Wiedergabeverfahren und Aufzeichnungsverfahren
WO2010064433A1 (ja) 映像情報再生方法、映像情報再生装置、記録媒体、及び映像コンテンツ
TW201523575A (zh) 資訊處理裝置,資訊記錄媒體,資訊處理方法,及程式
US20090080852A1 (en) Audiovisual Censoring
US8676039B2 (en) Recording apparatus, control method thereof, and non-transitory computer-readable storage medium
JP2006049988A (ja) デジタルデータ記録再生装置
DE102013201024A1 (de) Wiedergabevorrichtung, Steuerverfahren und Aufzeichnungsmedium
JP2001346148A (ja) 動画再生制御方法および画像再生装置
JP4328265B2 (ja) 動画像処理装置、動画像処理方法、及びプログラム
JPS5857879A (ja) フレ−ム合成録画装置
JP2004040150A (ja) 圧縮データ再生装置、方法及びシステム
KR20140132607A (ko) 개인용 영상 녹화기, 개인용 영상 녹화기의 녹화물 데이터 디스크램블링 방법 및 컴퓨터 판독 가능한 기록 매체
JPH08172647A (ja) 映像再生装置の制御方法

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee