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