MX2007013061A - Aparato de reproduccion de contenido. - Google Patents

Aparato de reproduccion de contenido.

Info

Publication number
MX2007013061A
MX2007013061A MX2007013061A MX2007013061A MX2007013061A MX 2007013061 A MX2007013061 A MX 2007013061A MX 2007013061 A MX2007013061 A MX 2007013061A MX 2007013061 A MX2007013061 A MX 2007013061A MX 2007013061 A MX2007013061 A MX 2007013061A
Authority
MX
Mexico
Prior art keywords
program
ait
java
unit
mpeg
Prior art date
Application number
MX2007013061A
Other languages
English (en)
Inventor
Satoshi Hashimoto
Germano Leichsenring
Original Assignee
Matsushita Electric Ind Co Ltd
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 Matsushita Electric Ind Co Ltd filed Critical Matsushita Electric Ind Co Ltd
Publication of MX2007013061A publication Critical patent/MX2007013061A/es

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

En la tecnologia convencional, cuando un programa que opera en sincronizacion con reproduccion de video y audio instruye una reproduccion de truco de video y audio tal como adelantado y rebobinado, la reproduccion de truco del video y audio continua incluso despues de que el programa ha terminado. Esto hace imposible cancelar una reproduccion de truco redundante que continua durante un intervalo de tiempo que no es esperado por el programa. En la presente solicitud, un programa que instruye una reproduccion de truco de video y audio es retenido, y cuando el programa termina, se determina si el programa ha instruido o no la reproduccion de truco, y si ese programa ha instruido la reproduccion de truco, la reproduccion de truco del video y audio es cancelada. Como resultado, es posible cancelar esta reproduccion de truco redundante que de otra manera hubiera continuado durante algun intervalo de tiempo que no era esperado por el programa.

Description

APARATO DE REPRODUCCIÓN DE CONTENIDO CAMPO DE LA INVENCIÓN La presente invención se refiere a un aparato de grabación y reproducción que es un aparato de reproducción de contenido que acumula contenidos y reproduce los contenidos acumulados. En particular, la presente invención se refiere a un aparato para recibir una onda de transmisión que incluye contenido formado de video y audio así como datos tales como un programa que son multiplexados en una onda de transmisión en sincronización unos con otros y transmitidos, y para acumular el video, audio y datos, así como a un aparato para ejecutar reproducción de truco tal como adelantado rápido y rebobinado del contenido mientras se mantiene sincronización entre el video y audio y los datos tales como un programa.
ANTECEDENTES DE LA INVENCIÓN Varios contenidos están incluidos en una onda de transmisión enviada desde una estación transmisora. Aparte del video y audio usados en un programa de TV normal, hay casos en los que los datos están incluidos en los contenidos.
Existen varios métodos para enviar datos, los cuales pueden dividirse ampliamente en un método de envío de datos cronológicamente y un método para enviar repetidamente los datos en orden secuencial . En el primer método de REF.; 183385 envío de los datos cronológicamente, por ejemplo, los datos que continúan durante el curso de tiempo son enviados en orden secuencial . Este método es adecuado para enviar grandes cantidades de datos durante un largo periodo de tiempo, pero existe una desventaja en que los datos que no pueden ser recibidos a la sincronización del envío no pueden ser recibidos de nuevo. Por otro lado, en el segundo método de enviar repetidamente los datos a un intervalo fijo, los datos se envían repetidamente cualquier número de veces durante un periodo fijo. Este método tiene una ventaja en que durante el periodo cuando los mismos datos están siendo enviados, es aceptable recibir cualquiera de las piezas de datos enviadas repetidamente, y así la sincronización de recepción no está limitada. Loe datos transmitidos, representados por BML, y el envío de archivos a través de un carrusel de datos DSM-CC son ejemplos de este método. Se desconoce, particularmente en transmisión, cuándo un receptor seleccionará un canal y empezará una recepción. En el método de envío de los datos cronológicamente, cuando el inicio de recepción falla detrás de la sincronización del envío y de esta manera la adquisición de los datos, los datos no pueden ser readquiridos . Por lo tanto, cuando se envían datos tales como un programa de aplicación junto con video y audio en la onda de transmisión, el método de enviar repetidamente los datos por intervalo fijo es favorable.
Actualmente, se han desarrollado y están en operación especificaciones para recibir una onda de transmisión que incluye video, audio y un programa de aplicación y para ejecutar un programa de aplicación en sincronización con video y audio, como en el método anterior. Es posible recibir el programa de aplicación enviado, cargar el programa de aplicación en una terminal y realizar varias funciones adicionales al ejecutar el programa de aplicación, en lugar de simplemente ver el video y audio. Este método para enviar el programa de aplicación y cargar el programa de aplicación en la terminal es también llamado "descarga" . Por ejemplo, una especificación llamada transmisión de video digital - Plataforma Doméstica Multimedia (DVB-MHP) ETSIES201812 vl .1.1 (2003-12) se ha desarrollado en Europa, y las operaciones de acuerdo con esta especificación ya han empezado. Además, la Especificación de la Plataforma de Aplicación de Cable Abierto (OCAP, por sus siglas en inglés) OC-SP-OCAP1.0-114-050119, la cual proporciona el mismo marco en el ambiente de transmisión por cable, se está desarrollando en los Estados unidos, y de hecho las operaciones están programadas para empezar. En estas especificaciones, el programa de aplicación está escrito en el lenguaje Java. Varias interfaces de programación de aplicaciones (APIs, por sus siglas en inglés) para sintonizar, presentación visual de gráficos y similares se proporcionan en la terminal, y el programa de aplicación Java puede controlar esas funciones al llamarlas APIs. Además, en Norteamérica, se está desarrollando la especificación OCAP-DVROC-SP-OCAP-DVR-I01-040524 la cual está enfocada a añadir una función para grabar y reproducir los contenidos en la especificación OCAP. Con esta especificación, el video, el audio y el programa de aplicación Java en sincronización unos con otros, los cuales son enviados como una transmisión por cable, son grabados como un contenido, y más aún, son reproducidos de la misma manera que cuando el contenido grabado es reproducido directamente de la onda transmitida. El programa de aplicación se reproduce en sincronización con el video y elaudio, de la misma manera que la reproducción directa proveniente de la onda de transmisión. Además, con OCAP-DVR, la reproducción de truco de los contenidos se logra al grabar contenidos transmitidos en un medio de almacenamiento accesible aleatorio de alta velocidad, tal como un disco duro, una memoria semiconductora y similares. Aquí, la reproducción de truco se refiere a las funciones para reproducir los contenidos a una velocidad arbitraria, desde una posición arbitraria y así sucesivamente, tal como adelantado, rebobinado, cámara lenta, pausa, salto y similares. Con OCAP-DVR, el programa de aplicación cargado en la terminal proveniente de la onda de transmisión puede controlar la grabación y reproducción de truco del contenido. En otras palabras, APIs para grabar y reproducción de truco se proporcionan en la terminal, y el programa de aplicación Java controla cada función al invocar estas APIs. Típicamente, la información de control para la sincronización es multiplexada por anticipado con una onda de transmisión para poder ejecutar un programa de aplicación en sincronización con video y audio. Los programas de aplicación son ejecutados y terminados uno por uno de acuerdo con la información de control de sincronización. Por lo tanto, es posible cambiar a un programa de aplicación adecuado que será ejecutado para una escena particular de video y audio. Por cierto, en caso de que la reproducción de truco de contenido grabado por una terminal se lleve a cabo de acuerdo con OCAP-DVR o similar, es necesario cambiar adecuadamente entre programas de aplicación que dependen de un tipo de reproducción de truco. Por ejemplo, en caso de que el video cambie a otro por adelantado, un programa de aplicación asociado con el video en sincronización con el mismo también cambia a otro de acuerdo con la velocidad de la reproducción. Además, en el caso de salto, un programa de aplicación, el cual es, por ejemplo, sincronizado con la posición de inicio de la reproducción en el video después del salto, es ejecutado. De esta forma, en caso de que la reproducción se adelante, una terminal puede ser incapaz de cambiar y ejecutar un programa de aplicación de acuerdo con su propia velocidad de adelantado. Por ejemplo, toma tiempo iniciar un programa de aplicación, por lo que la sincronización de inicio del siguiente programa de aplicación se pierde durante el inicio del anterior. En el caso de la reproducción por salto, un programa de aplicación, el cual está sincronizado con cualquier sincronización hasta una posición de inicio de reproducción después del salto, no se reproduce, sino sólo un programa de aplicación que está sincronizado con el tiempo de inicio de reproducción es ejecutado. Aquí, existe un problema en el caso en el que el programa de aplicación ejecutado use el resultado del programa de aplicación ejecutado previamente. Para poder resolver este problema, la traducción al japonés de la solicitud de patente internacional 2003-513555 proporciona un juego de documentos para notificar un programa de aplicación sobre la información de control de un programa de aplicación que aún no ha sido detectado, durante la reproducción de truco tal como salto o similar, debido a la ejecución de la reproducción de truco. Con esta notificación, se hace posible tomar una acción deseada incluso si los programas de aplicación son ejecutados en el orden diferente al orden primario. De acuerdo con la invención descrita en la traducción al japonés de la solicitud de patente internacional de PCT 2003-513555, es posible descubrir que un programa de aplicación particular no ha sido detectado, por lo que una acción deseada puede tomarse. Sin embargo, ya que la traducción al japonés de la solicitud de patente internacional de PCT 2003-513555 sólo notifica la información de control del programa de aplicación que no ha sido detectada durante la reproducción de truco, permanece un problema en el siguiente caso. Por ejemplo, se asume que un programa de aplicación ejecuta reproducción de truco de adelantado de contenido incluyendo el propio programa de aplicación. En caso de que la ejecución del programa de aplicación establecido en la información de control de sincronización haya pasado debido a que el contenido se reproduce por adelantado a una velocidad más alta que la velocidad normal, el programa de aplicación es forzado a ser terminado. Aquí, incluso si el programa de aplicación terminado de manera forzada es en realidad terminado, la reproducción de truco actual de adelantado continúa. Sin embargo, no siempre va a ser posible tomar un enfoque de concluir la reproducción de truco de adelantado cuando el programa de aplicación se termine de manera forzada. Esto se debe a que la actual reproducción de truco de adelantado podría no ser la reproducción de truco ejecutada por este programa de aplicación terminado de manera forzada. En otras palabras, para poder resolver este problema, es necesario determinar si ese programa de aplicación es idéntico o no al programa de aplicación que instruyó la reproducción de truco, cuando el programa de aplicación no es terminado, y ejecutar el procesamiento tal como continuación y terminación de la reproducción de truco dependiendo de la situación, cuando el programa de aplicación que instruyó la reproducción de truco sea terminado.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Un aparato de reproducción de contenido de la presente invención incluye: una unidad de reproducción de contenido que reproduce un contenido grabado; una unidad de ejecución de programas que inicia y termina un programa; una unidad de cambio de velocidad de reproducción de contenido que cambia una velocidad de reproducción del contenido grabado con base en una instrucción proveniente del programa; una unidad de identificación de programas de instrucción de reproducción de truco que identifica un programa que ha instruido a la unidad de cambio de velocidad de reproducción de contenido cambiar la velocidad de reproducción del contenido; una unidad de identificación de programas terminados que identifica un programa terminado de programas que serán ejecutados por la unidad de ejecución de programas; una unidad de determinación de programas de instrucción de reproducción de truco que determina si el programa que es identificado por la unidad de identificación de programas de instrucción de reproducción de truco como un programa que ha instruido el cambio en la velocidad de reproducción de contenido es o no el programa terminado identificado por la unidad de identificación de programas terminados; y una unidad de procesamiento de terminación de programas de instrucción de reproducción de truco que cambia la velocidad de reproducción del contenido a una velocidad de reproducción normal cuando la unidad de determinación de programas de instrucción de reproducción de truco determina que el programa que ha instruido un cambio en la velocidad de reproducción del contenido es el programa terminado. En consecuencia, es posible determinar si un programa arbitrario es o no un programa que cambió una velocidad de reproducción de una onda de transmisión grabada, y cambiar la velocidad de reproducción de la onda de transmisión grabada cuando el programa sea terminado. Por lo tanto, es posible evitar que la onda de transmisión grabada continúe siendo reproducida a la velocidad de reproducción instruida por el programa ya terminado. Además, el contenido mencionado arriba incluye video, audio, un programa e información de sincronización para sincronizar el video, el audio y el programa unos con otros, y el programa incluido en el contenido puede ser ejecutado por la unidad de ejecución de programas con base en la información de sincronización. El aparato de reproducción de contenido mencionado arriba incluye además una unidad de recepción de programas que recibe el programa, y el programa recibido por la unidad de recepción de programas puede ser ejecutado por la unidad de ejecución de programas. La unidad de ejecución de programas mencionada arriba puede iniciar y terminar el programa con referencia a la información de sincronización incluida en el contenido. La información de sincronización mencionada arriba incluye un indicador de cooperación con reproducción de truco que indica si el programa debe o no ser forzado a terminar, y la unidad de ejecución de programas puede iniciar y terminar el programa con base en el indicador de cooperación de reproducción de truco en la información de sincronización incluida en el contenido. La unidad de ejecución de programas mencionada arriba puede además forzar al programa a terminar cuando ocurra una anormalidad durante la ejecución del programa. En consecuencia, es posible terminar un programa si ha ocurrido cualquier anormalidad. Por lo tanto, es posible reducirle daño al software y hardware cuando haya un cambio en la velocidad de reproducción. Además, la unidad de ejecución de programas mencionada arriba puede referirse a la información de sincronización incluida en el contenido, sólo cuando la velocidad de reproducción del contenido sea lenta. Por ejemplo, la unidad de ejecución de programas se refiere a la información de sincronización incluida en el contenido, sólo cuando la velocidad de reproducción del contenido es igual a o menor que la velocidad de reproducción normal. Nótese que la presente invención puede implementarse no sólo como el aparato de reproducción de contenido mencionado arriba sino también como un método de reproducción de contenido, un programa para el método y un medio de almacenamiento para almacenar el programa. Como información adicional acerca del antecedente técnico de esta solicitud, la descripción de la solicitud de E.U.A. provisional No. 60/681974 presentada el 18 de mayo de 2005, incluyendo la especificación, figuras y reivindicaciones, se incorpora en la presente a manera de referencia en su totalidad.
BREVE DESCRIPCIÓN DE LAS FIGURAS Estos y otros objetivos, ventajas y características de la invención se harán aparentes a partir de la siguiente descripción de la misma tomada en conjunto con las figuras anexas que ilustran una modalidad específica de la invención. La figura 1 es un diagrama de configuración de un sistema de transmisión de acuerdo con la presente invención. La figura 2 es un ejemplo de cómo usar una banda de frecuencias usada en comunicaciones entre un sistema del lado de estación de transmisión y un aparato terminal, en un sistema de televisión por cable de acuerdo con la presente invención . La figura 3 es un ejemplo de cómo usar una banda de frecuencias usada en comunicaciones entre un sistema del lado de estación de transmisión y un aparato terminal, en un sistema de televisión por cable de acuerdo con la presente invención . La figura 4 es un ejemplo de cómo usar una banda de frecuencias usada en comunicaciones entre un sistema del lado de estación de transmisión y un aparato terminal, en un sistema de televisión por cable de acuerdo con la presente invención . La figura 5 es un diagrama de configuración de un paquete TS predefinido por especificaciones MPEG-2. La figura 6 es un diagrama esquemático de una corriente de transporte MPEG-2. La figura 7 es un ejemplo de la división cuando un paquete PES predefinido por las especificaciones MPEG-2 es portado en paquetes TS. La figura 8 es un ejemplo de la división cuando una sección MPEG-2 predefinida por las especificaciones PEG-2 es portada en paquetes TS . La figura 9 es un diagrama de configuración de una sección MPEG-2 predefinida por las especificaciones MPEG-2. La figura 10 es un ejemplo de uso de una sección MPEG-2 predefinida por las especificaciones MPEG-2. La figura 11 es un ejemplo de uso de una PMT predefinida por las especificaciones MPEG-2. La figura 12 es un ejemplo de uso de una PAT predefinida por especificaciones MPEG-2. La figura 13 es un ejemplo de configuración de una configuración de hardware de un aparato de grabación y reproducción de acuerdo con la presente invención. La figura 14 es un ejemplo de un panel frontal de una unidad de entrada 1310 en una configuración de hardware de un aparato terminal 1200 de acuerdo con la presente invención . La figura 15 es un ejemplo de una conexión del dispositivo en el momento de grabación, en el aparato de grabación y reproducción de acuerdo con la presente invención. La figura 16 es un ejemplo de una conexión de dispositivo en el momento de la reproducción, en el aparato de grabación y reproducción de acuerdo con la presente invención. La figura 17 es un diagrama que muestra la estructura de un programa almacenado en un aparato terminal de acuerdo con la presente invención. La figura 18 es un ejemplo de una EPG ejecutada por un aparato terminal de acuerdo con la presente invención. La figura 19 es un ejemplo de una EPG ejecutada por un aparato terminal de acuerdo con la presente invención. La figura 20 es un ejemplo de información almacenada en una unidad de almacenamiento secundaria de acuerdo con la presente invención. La figura 21 es un ejemplo de una tabla de administración de información de grabación de acuerdo con la presente invención. La figura 22 es un diagrama esquemático que muestra los detalles de una AIT especificada en la norma DVB-MHP de acuerdo con la presente invención. La figura 23 es un diagrama esquemático que muestra un sistema de archivos enviado en formato DSM-CC de acuerdo con la presente invención. La figura 24 es un ejemplo de una conexión de dispositivo en el momento de grabación, en el aparato de grabación y reproducción de acuerdo con la presente invención. La figura 25 es un ejemplo de una conexión de dispositivo en el momento de reproducción, en el aparato de grabación y reproducción de acuerdo con la presente invención . La figura 26 es un ejemplo de una tabla de administración de información de grabación de acuerdo con la presente invención. La figura 27 es un ejemplo de un administrador de reproducción de truco de acuerdo con la presente invención. La figura 28 es un diagrama esquemático que muestra los detalles de una AIT para extender la norma DVB-MHP de acuerdo con la presente invención. La figura 29 es un diagrama esquemático que muestra los .detalles de una AIT para extender la norma DVB-MHP de acuerdo con la presente invención. La figura 30 es un diagrama de flujo en el momento de la conclusión de un programa de reproducción de instrucción de reproducción de truco de acuerdo con la presente invención. La figura 31 es un ejemplo de un administrador de reproducción de truco de acuerdo con la presente invención. La figura 32 es un diagrama de flujo en el momento de la terminación de un programa de instrucción de reproducción de truco de acuerdo con la presente invención. La figura 33 es un diagrama esquemático que muestra los detalles de una AIT especificada en la norma DVB-MHP de acuerdo con la presente invención. La figura 34 es un diagrama esquemático que muestra los detalles de una AIT especificada en la norma DVB-MHP de acuerdo con la presente invención. La figura 35 es un ejemplo de una configuración de un administrador de aplicaciones de acuerdo con la presente invención. La figura 36 es un diagrama de flujo en el momento de la terminación del programa de instrucción en la reproducción de truco de acuerdo con la presente invención. La figura 37 es un diagrama de flujo en el momento de la terminación de un programa de instrucción de reproducción de truco de acuerdo con la presente invención. La figura 38 es un diagrama esquemático que muestra los detalles de una AIT especificada en la norma DVB-MHP de acuerdo con la presente invención. La figura 39 es un diagrama de flujo en el momento de la terminación del programa de instrucción de reproducción de truco de acuerdo con la presente invención. La figura 40 es un ejemplo dé una configuración de un administrador de aplicaciones de acuerdo con la presente invención. La figura 41 es un diagrama de flujo en el momento de la terminación de un programa de instrucción de reproducción de truco de acuerdo con la presente invención. La figura 42 es un ejemplo de un administrador de reproducción de truco de acuerdo con la presente invención.
La figura 43 es un diagrama de flujo de acuerdo con la terminación de un programa de reproducción de instrucción de truco de acuerdo con la presente invención. La figura 44 es un diagrama de flujo en el momento de la terminación de un programa de instrucción de reproducción de truco de acuerdo con la presente invención. La figura 45 es un diagrama de flujo en el momento de la terminación de un programa de instrucción de reproducción de truco de acuerdo con la presente invención. La figura 46 es un ejemplo de una configuración de un administrador de aplicaciones AM de cuerdo con la. presente invención . La figura 47 es un diagrama esquemático que muestra los detalles de una AIT en la cual un indicador de control de reproducción de truco de acuerdo con la presente invención es añadido . La figura 48 es un diagrama esquemático que muestra los detalles de otra AIT en la cual un indicador de control de reproducción de truco de acuerdo con la presente invención es añadido y La figura 49 es un diagrama esquemático que muestra los detalles de otra AIT en el cual un indicador de control de reproducción de truco de acuerdo con la presente invención es añadido.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La primera invención es un aparato de reproducción y grabación que graba una onda de transmisión y reproduce la onda de transmisión grabada, y el aparto incluye: una unidad de retención de información de programas para retener información que identifica un programa para cambiar una velocidad de reproducción de la onda de transmisión grabada; una unidad de determinación de programas para determinar si un programa arbitrario es idéntico al programa y una unidad de procesamiento de terminación de programas para cambiar la velocidad de reproducción de la onda de transmisión cuando el programa sea terminado . De acuerdo con la primera invención anterior, es posible determinar si un programa arbitrario es o no idéntico a un programa que cambió a una velocidad de reproducción de una onda de transmisión grabada, y cambió la velocidad de reproducción de la onda de transmisión grabada cuando el programa sea terminado. Por lo tanto, es posible evitar que la onda de transmisión grabada continúe siendo reproducida a la velocidad de reproducción instruida por el programa que ya terminó . La segunda invención es la invención que depende de la primera invención, en la cual el programa es terminado en el caso de que un programa no cumpla con la velocidad de reproducción de la onda de transmisión durante la reproducción de la onda de transmisión. De acuerdo con la primera modalidad de la invención, es posible terminar un programa que no cumpla con un cambio en una velocidad de reproducción de una onda de transmisión grabada. Por lo tanto, es posible evitar cualquier comportamiento inesperado del programa cuando haya un cambio en la velocidad de reproducción. La tercera invención es la invención que depende de la primera invención, en la cual el programa es terminado en caso de que una posición especificada en la onda de transmisión haya sido reproducida durante la reproducción de la onda de transmisión. De acuerdo con la tercera invención anterior, es posible terminar un programa en una posición especificada en una onda de transmisión grabada. Por lo tanto, es posible ejecutar el programa sólo dentro de un intervalo de tiempo fijo, cando haya un cambio en la velocidad de reproducción. La cuarta invención es la invención que depende de la primera invención, en la cual el programa es terminado en caso de que uno de los siguientes haya ocurrido durante la reproducción de una onda de transmisión: una anormalidad en el programa; una anormalidad en un sistema en el cual opere el programa y una falta de recursos para causar que el programa opere. De acuerdo con la cuarta invención anterior, es posible terminar un programa si ha ocurrido cualquier anormalidad. Por lo tanto, es posible reducir el daño a software y hardware cuando haya un cambio en la velocidad de reproducción . La quinta invención es la invención que depende de una de la segunda, tercera y cuarta invenciones, en la cual cuando el programa es terminado, la unidad de procesamiento de terminación de programas reproduce la onda de transmisión a una velocidad normal. De acuerdo con la quinta invención anterior, es posible establecer una reproducción de velocidad normal de una onda de transmisión grabada cuando un programa que cambió una velocidad de reproducción de la onda de transmisión sea terminado. Por lo tanto, es posible establecer una reproducción de velocidad normal sin ninguna implicación de un usuario, en un intervalo de tiempo en el cual la ejecución del programa no se espere. La sexta invención es la invención que depende de una de la segunda, tercera y cuarta invenciones, en la cual cuando el programa es terminado, la unidad de procesamiento de terminación de programas detiene temporalmente la onda de transmisión . De acuerdo con la sexta invención anterior, es posible detener temporalmente la transmisión de una onda de transmisión grabada cuando un programa que cambió una velocidad de transmisión de la onda de transmisión sea terminado. Por lo tanto, es posible detener temporalmente la reproducción sin ninguna implicación de un usuario, en un intervalo de tiempo en el cual la ejecución del programa no se espere. La séptima invención es la invención que depende de la tercera invención, en la cual el programa es terminado en caso de que una posición especificada en la onda de transmisión se reproduzca durante la transmisión de la onda de transmisión a una velocidad normal. De acuerdo con la séptima invención anterior, es posible terminar un programa en una posición especificada en una onda de transmisión grabada durante una reproducción de velocidad normal. Por lo tanto, es posible ejecutar el programa sólo dentro de un intervalo de tiempo fijo durante la reproducción de velocidad normal. La octava invención es la invención que depende de la séptima invención, en la cual el programa es terminado en caso de que la onda de transmisión sea detenida temporalmente dentro de una escala especificada de la onda de transmisión. De acuerdo con la octavct invención anterior, es posible terminar un programa si la onda de transmisión se detiene temporalmente dentro de una escala especificada de la onda de transmisión grabada. Por lo tanto, es posible ejecutar el programa sólo dentro de un intervalo fijo de tiempo durante la detención temporal. La novena invención es la invención que depende de la octava invención, en la cual el programa es terminado en caso de que una posición especificada en la onda de transmisión sea reproducida durante la reproducción de la onda de transmisión a menor velocidad que la velocidad normal, en particular, una velocidad que varíe de una velocidad de 0 veces a una velocidad de 1 vez . De acuerdo con la novena invención anterior, es posible terminar un programa en una posición especificada en una onda de transmisión grabada durante la reproducción a una velocidad que varíe de un velocidad de 0 veces a una velocidad de 1 vez. Por lo tanto, es posible ejecutar el programa sólo dentro de un intervalo fijo de tiempo durante la reproducción a una velocidad que varíe de una velocidad de 0 veces a una velocidad de 1 vez . La décima invención es un aparato de grabación y reproducción que graba una onda de transmisión y reproduce una onda de transmisión grabada, y el aparato incluye: una unidad de retención de información de programas para retener información que identifique un programa para cambiar una reproducción de la onda de transmisión grabada; una unidad de determinación de programas para determinar si un programa arbitrario es idéntico o no al programa y una unidad de procesamiento de terminación de programas para llevar a cabo procesamiento predeterminado cuando el procesamiento sea terminado. De acuerdo con la décima invención anterior, es posible determinar si un programa arbitrario es idéntico o no d a un programa que cambió velocidad de reproducción de una onda de transmisión grabada, y llevar a cabo procesamiento predeterminado cuando el programa sea terminado. Por lo tanto, es posible llevar a cabo procesamiento consistente cuando el programa que cambió la velocidad de reproducción 0 sea terminado. La onceava invención es la invención que depende de la décima invención, en la cual el programa es terminado en caso de que el programa no cumpla con un cambio en la velocidad de reproducción de la onda de transmisión durante 6 la reproducción de la onda de transmisión. De acuerdo con la onceava invención anterior, es posible terminar un programa que no cumpla con un cambio en la velocidad de reproducción de una onda de transmisión grabada. Por lo tanto, es posible evitar cualquier 0 comportamiento inesperado del programa cuando haya un cambio en la velocidad de la reproducción. La doceava invención es la invención que depende de la décima invención, en la cual el programa es terminado en caso de que una posición especificada en la onda de d transmisión se reproduzca durante la transmisión de la onda de transmisión. De acuerdo con la doceava invención anterior, es posible terminar un programa a una posición especificada en una onda de transmisión grabada. Por lo tanto, es posible ejecutar el programa sólo dentro de un intervalo fijo de tiempo cuando haya un cambio en la velocidad de reproducción. La treceava invención es la invención que depende de la décima invención, en la cual el programa es terminado en caso de que uno de los siguientes haya ocurrido durante la reproducción de la onda de transmisión: una anormalidad en el programa; una anormalidad en un sistema en el cual opere el programa y una falta de recursos para causar que el programa opere . De acuerdo con la treceava invención anterior, es posible terminar un programa si ha ocurrido cualquier anormalidad. Por lo tanto, es posible reducir daño a software y hardware cuando haya un cambio en la velocidad de reproducción . La catorceava invención es la invención que depende de una de la onceava, doceava y treceava invenciones, en la cual cuando el programa es terminado, la unidad de procesamiento de terminación de programa lleva a cabo el procesamiento registrado por otro programa. De acuerdo con la catorceava invención anterior, es posible llevar a cabo procesamiento registrado por otro programa, cuando un programa que cambió una velocidad de reproducción sea terminado. Por lo tanto, es posible reemplazar el procesamiento que se llevará a cabo cuando el programa que cambió la velocidad de reproducción sea terminado, con otro programa. La quinceava invención es la invención que depende de una de la onceava, doceava y treceava invenciones, en la cual cuando el programa es terminado, la unidad de procesamiento de terminación de programas pasa estados antes y después de la terminación de programa al procesamiento predeterminado, y lleva a cabo el procesamiento predeterminado . De acuerdo con la quinceava invención anterior, es posible pasar los estados antes y después de la terminación de un programa que cambió una velocidad de reproducción a procesamiento predeterminado y llevar a cabo el procesamiento predeterminado. Por lo tanto, es posible llevar a cabo el procesamiento dependiendo de los estados antes y después de la terminación del programa. La dieciseisava invención es la invención que depende de la quinceava invención, en la cual los estados antes y después de la terminación del programa, los cuales son pasados al procesamiento predeterminado para ser llevados a cabo por la unidad de procesamiento de terminación de programas, cuando el programa es terminado, incluyen información que identifica el programa terminado. De acuerdo con la dieciseisava invención anterior, es posible pasar información que identifique un programa terminado que cambió una velocidad de reproducción a procesamiento predeterminado, cuando el programa sea terminado, y llevar a cabo el procesamiento predeterminado. Por lo tanto, es posible llevar a cabo el procesamiento dependiendo de la información que identifique al programa terminado. La diecisieteava invención es la invención que depende de la quinceava invención, en la cual los estados antes y después de la terminación del programa, los cuales son pasados al procesamiento predeterminado para ser llevados a cabo por la unidad de procesamiento de terminación de programas, cuando el programa es terminado, incluyen una velocidad de reproducción de la onda de transmisión inmediatamente antes de la terminación. De acuerdo con la diecisieteava invención, es pogible pasar, a procesamiento predeterminado, una velocidad de reproducción de una onda de transmisión inmediatamente antes de la terminación de un programa que cambió una velocidad de reproducción, cuando el programa sea terminado, y llevar a cabo el procesamiento predeterminado. Por lo tanto, es posible llevar a cabo el procesamiento dependiendo de la velocidad de reproducción de la onda de transmisión inmediatamente antes de la terminación. La dieciochoava invención es la invención que depende de la quinceava invención, en la cual los estados antes y después de la terminación del programa, los cuales son pasados al procesamiento predeterminado para ser llevados a cabo por la unidad de procesamiento de terminación de programas, cuando el programa es terminado, incluyen una posición de reproducción en la onda de transmisión en el momento de la terminación. De acuerdo con la dieciochoava invención anterior, es posible pasar, a procesamiento predeterminado, una posición de reproducción en una onda de transmisión en el momento de la terminación de un programa que cambió la velocidad de reproducción, cuando el programa- es terminado, y llevar a cabo el procesamiento predeterminado. Por lo tanto, es posible llevar a cabo el procesamiento dependiendo de la posición de reproducción en la onda de transmisión en el momento de la terminación. La diecinueveava invención es un aparato de grabación y reproducción que graba una onda de transmisión y reproduce la onda de transmisión grabada, y el aparto incluye: una unidad de retención de información de programas para retener información que identifique un programa para cambiar a una velocidad de reproducción de la onda de transmisión grabada; una unidad de determinación de programas para determinar si un programa arbitrario es idéntico o no al programa y una unidad de procesamiento de terminación de programas, para cambiar de la onda de transmisión que será reproducida a otra onda de transmisión, cuando el programa sea terminado. De acuerdo con la diecinueveava invención anterior, es posible determinar si un programa arbitrario es idéntico o no a un programa que cambió la velocidad de reproducción de una onda de transmisión grabada, y cambiar de la onda de transmisión que será reproducida a otra onda de transmisión en el momento de terminación del programa. Por lo tanto, es posible detener la reproducción continua de la onda de transmisión grabada en la velocidad de reproducción instruida por el programa que ya terminó e iniciar la reproducción de una onda de transmisión alternativa. La veinteava invención es la invención que depende de la diecinueveava invención, en la cual el programa es terminado en caso de que el programa no cumpla con un cambio de la velocidad de reproducción de transmisión durante la transmisión de la onda de transmisión. De acuerdo con la veinteava invención anterior, es posible terminar un programa que no cumpla con un cambio en una velocidad de reproducción de una onda de transmisión grabada. Por lo tanto, es posible evitar cualquier comportamiento inesperado del programa cuando haya un cambio en la velocidad de reproducción. La veintiunava invención es la invención que depende de la diecinueveava invención en la cual el programa es terminado en caso de que una posición especificada en la onda de transmisión se reproduzca durante la reproducción de la onda de transmisión. De acuerdo con la vemtiunava invención anterior, es posible terminar un programa en una posición especificada en una onda de transmisión grabada. Por lo tanto, es posible ejecutar el programa solo dentro de un intervalo de tiempo fi o cuando hay un cambio en la velocidad de reproducción. La vemtidosava invención es la invención que depende de la diecinueveava invención, en la cual el programa es terminado en caso de que algo de lo siguiente haya ocurrido durante la reproducción de la onda de transmisión: una anormalidad en el programa; una anormalidad en un sistema en el cual opere el programa y una falta de recursos para causar que el programa opere. De acuerdo con la veintidosava invención anterior, es posible terminar un programa si ha ocurrido cualquier anormalidad. Por lo tanto, es posible reducir el daño software y hardware cuando hay un cambio en la velocidad de reproducción . La vemtitresava invención es la invención que depende de una de la veinteava, vemtiunava y vemtidosava invenciones, en la cual cuando el programa es terminado, la unidad de procesamiento de terminación de programas cambia de la onda de transmisión que será reproducida a una onda de transmisión que actualmente está siendo transmitida. De acuerdo con la veintitresava invención anterior, es posible cambiar a una onda de transmisión que será reproducida la cual está siendo actualmente transmitida, en el momento de la terminación de un programa que cambió una velocidad de reproducción. Por lo tanto, es posible detener la reproducción de la onda de transmisión grabada en un intervalo de tiempo en el cual la ejecución del programa no se espere, y continuar la reproducción de la onda de transmisión que actualmente está siendo transmitida. De acuerdo con el aparato de reproducción de contenido y el método de grabación y reproducción de la presente invención, cuando se termina un programa de aplicación arbitrario, se determina si ese programa de aplicación ha cambiado o no la velocidad de reproducción de contenido que actualmente está siendo reproducida, y procesamiento prescrito, tal como el reinicio de la velocidad de reproducción del contenido, se ejecuta con base en el resultado de la determinación, o la reproducción de contenido alternativo se inicia. Esto evita la reproducción continua del contenido a una velocidad no deseada que no sea una velocidad normal, a pesar de la terminación del programa que ha cambiado la velocidad de reproducción del contenido. Además, esto evita la reproducción del contenido grabado a una velocidad de reproducción que ha sido cambiada inadecuadamente. Por lo tanto, es posible reducir el acceso de alta carga a una memoria semiconductora o similar representada por un disco duro, un disco Blu-Ray (BD) , un Disco Versátil Digital (DVD) , una Tarjeta de Memoria Digital Segura (SD) y similares, y reducir el deterioro de este medio de almacenamiento.
Primera Modalidad En adelante se describe con referencia a las figuras un aparato y un método de acuerdo con la primera modalidad de la presente invención. La presente invención está enfocada a la grabación y reproducción de contenidos enviados y recibidos con un medio arbitrario; sin embargo, en la presente modalidad, se describe como un ejemplo un sistema de transmisión de televisión por cable. En el sistema de transmisión de televisión por cable, el aparato de grabación y reproducción de transmisión (aparato de reproducción de contenido) se llama generalmente un aparato terminal. La figura 1 es un diagrama de bloques que muestra una relación de aparatos que constituyen un sistema de transmisión; el sistema de transmisión está constituido por un sistema del lado de la estación de transmisión (centro distribuidor) 101, y tres aparatos terminales: un aparato terminal Allí, un aparato terminal B112 y un aparato terminal C113. Un acoplamiento 121 entre el sistema del lado de estación de transmisión y cada aparato terminal es, en el sistema de cable, un acoplamiento cableado tal como un cable coaxial, un cable de fibra óptica y similares. En la figura 1, un sistema del lado de estación de transmisión está acoplado con tres aparatos terminales, pero el número de aparatos terminales es arbitrario. El sistema del lado de estación de transmisión 101 envía información tal como video/audio/datos para la transmisión de datos en una señal de transmisión a una pluralidad de aparatos terminales. La señal de transmisión es enviada usando una frecuencia dentro de una banda de frecuencias establecida por las regulaciones operativas del sistema de transmisión, las leyes de una región/país en el cual el sistema de transmisión sea operado, y así sucesivamente . Con el sistema de cable de la presente modalidad, la banda de frecuencia es usada en la transmisión de señales de transmisión se divide para cada uno de los detalles y direcciones de transmisión de datos (entrada, salida) y se asignan a los mismos. La figura 2 es una gráfica que indica un ejemplo de la división de la banda de frecuencias. La banda de frecuencias se divide ampliamente en dos tipos: Fuera de Banda (abreviatura OOB) y En Banda. 5MHz a 130MHz Se asignan como OOB, y se usan principalmente en el intercambio de datos de entrada/salida entre el sistema del lado de estación de transmisión 110 y el aparato terminal Allí, el aparato terminal B112 y el aparato terminal C113. De 130MHz a 864Mtz se asignan como en banda, y se usan principalmente en un canal de transmisión sólo de salida que incluye video/audio. Se usa el método de modulación QPSK con OOB, y el método de modulación QAM64 o QAM256 se usa con En Banda. La tecnología de métodos de modulación se conoce generalmente y es de poca preocupación para la presente invención, y por lo tanto se omiten descripciones detalladas. La figura 3 es un ejemplo de un uso más detallado de la banda de frecuencias de OOB. Se usan 70MHz a 74MHz en el envío de datos de salida desde el sistema del lado de estación de transmisión 101, y todos los aparatos terminal Allí, el aparato terminal B112 y el aparato terminal C113 reciben los mismos datos provenientes del sistema del lado de estación de transmisión 101. Por otro lado, 10.0MHz a 10.1MHz se usan en el envío de datos de entrada desde el aparato terminal Allí hasta el sistema del lado de estación de transmisión 101; 10.1MHz a 10.2MHz se usan en el envío de datos de entada del aparato terminal B112 al sistema del lado de estación de transmisión 101; y 10.2MHz a 10.3MHz se usan en el envío de datos de entrada del aparato terminal C113 al sistema del lado de estación de transmisión 101. A través de esto, es posible enviar independientemente datos únicos desde cada aparato terminal Allí, B112 y C113 hasta el sistema del lado de estación de transmisión 101. La figura 4 es un ejemplo de uso de una banda de frecuencias En Banda. Se asignan 150MHz a 156MHz y 156MHz a 162MHz a un canal de televisión 1 y a un canal de televisión 2, respectivamente, y posteriormente, los canales de televisión son asignados a intervalos de 6 MHz. Los canales de radio se asignan en unidades de 1MHz desde 310 MHz en adelante. Cada uno de estos canales puede usarse como transmisión análoga o como transmisión digital. La transmisión digital se envía en formato de paquetes TS con base en las especificaciones MPEG-2, y también es posible enviar varios tipos de datos tales como datos de transmisión de datos e información de organización de programas de televisión para configurar EPG, además de audio y video. El sistema del lado de estación de transmisión 101 usa las bandas de frecuencia descritas arriba para enviar una señal de transmisión adecuada a los aparatos terminales, y por lo tanto tiene una unidad de modulación QPSK, una unidad de modulación QAM, y así sucesivamente. Además, el sistema del lado de estación de transmisión 101 tiene un desmodulador QPSK para recibir datos desde aparatos terminales. Más aún, el sistema del lado de estación de transmisión 101 se puede concebir como teniendo varios dispositivos relacionados con la unidad de modulación y la unidad de desmodulación. Sin embargo, la presente invención se refiere principalmente a los aparatos terminales, y por lo tanto se omiten descripciones detalladas. Mientras tanto, los aparatos terminales Allí, B112 y C113 tienen cada uno una unidad de desmodulación QAM y una unidad de desmodulación QPSK para recibir y reproducir una señal de transmisión desde el sistema del lado de estación de transmisión 101. Además, cada aparato terminal tiene una unidad de desmodulación QSPK para poder enviar sus datos únicos al lado de sistema de estación de transmisión 101. En la presente invención, los aparatos terminales son aparatos de reproducción y grabación de transmisiones, y las configuraciones detalladas se describen más adelante. El sistema del lado de estación de transmisión 101 modula una corriente de transporte MPEG-2 y transmite la corriente dentro de la señal de transmisión. Un aparato terminal recibe la señal de transmisión, desmodula y reproduce la corriente de transporte MPEG-2, y extrae la información necesaria de la corriente, y la usa. Para poder describir una función del dispositivo y una estructura de conexión presente en el aparato terminal, la estructura de la corriente de transporte MPEG-2 se describe primero de una manera simple.
La figura 5 es un diagrama que muestra la estructura de un paquete TS. Un paquete TS 500 tiene una longitud de 188 bytes, y esta compuesto de un encabezado 501, un campo de adaptación 502 y una carga útil 503. El encabezado 501 contiene información de control del paquete TS. El encabezado tiene una longitud de 4 bytes, y tiene la estructura mostrada 504. En el encabezado 501, hay un campo indicado como "ID de Paquete" (en adelante, PID) , y el paquete TS se identifica a través del valor de su PID. El campo de adaptación 502 contiene información adicional tal como información de tiempo. El campo de adaptación 502 no necesariamente tiene que estar presente, y hay casos en los que el campo de adaptación 502 no está presente. La carga útil 503 contiene información llevada en los paquetes TS, tal como video, audio y datos de transmisión de datos. La figura 6 es un diagrama esquemático de una corriente de transporte MPEG-2. El paquete TS contiene varia información en la carga útil, tal como video, audio, datos usados para la transmisión de datos y similares. Un paquete TS 601 y un paquete TS 603 contienen cada uno un PID 100 en el encabezado, y contienen información que se refiere a video 1 en la carga util. Un paquete TS 602 y un paquete TS 605 contienen cada uno un PID 200 en el encabezado, y contienen información que se refiere a datos 1 en la carga útil. Un paquete TS 604 contiene un PID 300 en el encabezado, y contiene información que se refiere a audio 1 en la carga útil. Mezclar paquetes TS que contienen varios tipos de datos en las cargas útiles y enviar estos paquetes como una serie en secuencia se llama multiplexión. Una corriente de transporte MPEG-2 600 es un ejemplo de una configuración en la cual los paquetes TS 601 y 605 son multiplexados. Los paquetes TS que tienen PIDs idénticos contienen tipos idénticos de información. Por lo tanto, el aparato terminal reproduce video y audio, y reproduce datos tales como información de organización de programas de TV, al recibir paquetes TS multiplexados y extraer, por PID, la información que contiene el paquete TS . En la figura 6, el paquete TS 601 y el paquete TS 603 llevan cada uno información que se refiere al video 1, y el paquete TS 602 y el paquete TS 605 llevan cada uno información que se refiere a los datos 1. Aquí, se da una descripción que se refiere a un formato de cada tipo de los datos contenidos en la carga útil. Video y audio son representados por un formato llamado un paquete de Corriente Elemental Empaquetada (PES, por sus siglas en inglés) . El paquete PES incluye información de video o información de audio de ciertas horas de un día, y al recibir el paquete PES, el aparato de grabación y reproducción de transmisiones puede enviar la información de video y audio contenido en ese paquete PES a una pantalla y un altavoz. La estación de transmisión transmite los paquetes PES sin pausa, y por lo tanto es posible que el aparato de grabación y reproducción de transmisiones reproduzcan continuamente el video y audio sin pausa. Cuando el paquete PES es transmitido realmente, el paquete PES se divide y almacena en las cargas útiles de una pluralidad de paquetes TS en caso de que el paquete PES tenga un tamaño más grande que la carga útil de un paquete TS. La figura 7 muestra un ejemplo de la división cuando un paquete PES es llevado. Un paquete PES 701 es demasiado grande como para ser almacenado y transmitido en una carga útil de un solo paquete TS, y por lo tanto el paquete PES 701 se divide en una división de paquete PES A 702a, una división de paquete PES B 702b y una división de paquete PES C 702c, y es llevado en tres paquetes TS 703 a 705 los cuales tienen PIDs idénticos. En realidad, el video y audio se obtienen cada uno como una corriente elemental (ES) que se obtiene al concatenar datos contenidos en las cargas útiles de una pluralidad de paquetes PES. El formato de esta corriente elemental es video y audio digitalizado, tal como se define por la norma de video MPEG-2, la norma de audio MPEG-1 y 2 y similares. Por otro lado, la información tal como la información de organización de programas de TV y datos usados para la transmisión de datos se expresan usando un formato llamado sección MPEG-2. Cuando la sección MPEG-2 es realmente transmitida, la sección MPEG-2 se divide y almacena en las cargas útiles de una pluralidad de paquetes TS en caso de que la sección MPEG-2 tenga un tamaño más grande que la carga útil de un paquete TS. La figura 8 muestra un ejemplo de la división cuando se lleva la sección MPEG-2. Ya que una sección MPEG-2 801 es demasiado grande como para ser almacenada y transmitida en una carga útil de un solo paquete TS, la sección MPEG-2 801 se divide en una división de sección A 802a, una división de sección B 802b y una división de sección C 802c, y es llevada en tres paquetes TS 803 a 805 que tienen idénticos PIDs. La figura 9 expresa una estructura de la sección MPEG-2. Una sección MPEG-2 900 se configura de un encabezado 901 y una carga útil 902. El encabezado 901 contiene información de control de la sección MPEG-2. Esa configuración es expresada por una configuración de encabezado 903. La carga útil 902 contiene datos llevados en la sección MPEG-2 900. Un table_id (identificador de tabla) presente en la configuración de encabezado 903 expresa el tipo de la sección MPEG-2, y una table_id_extension (extensión de identificador de tabla) es un identificador de extensión usado cuando se distingue más entre secciones MPEG-2 con un table_?d idéntico. El caso en el que la información de organización de programas de TV es transmitida, como en la figura 10, puede darse como un ejemplo de uso de la sección MPEG-2. En este ejemplo, como se indica en la hilera 1004, la información necesaria para desmodular la señal transmitida es indicada en la sección MPEG-2 la cual tiene un table_id de 64 en la estructura de encabezado 903, y esta sección MPEG-2 es llevada además en un paquete TS asignado con un PID de 16. El formato PES no existe en el caso de la sección MPEG-2. Por esa razón, la corriente elemental (ES, por sus siglas en inglés) es una concatenación de las cargas útiles de paquetes TS identificados por PIDs idénticos dentro de la corriente de transporte MPEG-2. Por ejemplo, en la figura 8, los paquetes TS 803 a 805, en los cuales la sección MPEG-2 801 se divide y se lleva, se identifican todos por los PUte de 200. Se puede decir que estos son los ESs que llevan la sección MPEG-2 801. Un concepto llamado un programa existe además en la corriente de traneporte MPEG-2. El programa se expresa como una colección de ESs, y se usa en caso de que sea deseable el manejo de una pluralidad de ESs todos juntoe. Cuando se uea el programa, ee poeible manejar el video/audio, así como datos de transmisión de datos acompañantes, todos juntos. Por ejemplo, en el caso de manejar simultáneamente el video/audio que será reproducido, al agrupar el ES de video y el ES de audio como un programa, el aparato de grabación y reproducción de transmisiones debería reproducir simultáneamente estoe doe ESe como un programa de TV. Para expresar el programa, doe tablas, llamadas una Tabla de Mapa de Programas (PMT, por sus siglas en inglés) y una Tabla de Asociación de Programae (PAT, por eue eiglae en inglés) ee usan en MPEG-2. Descripcionee detalladae pueden encontrarse en las eepecificaciones de ISO/IEC 13818-1, "Sistemas MPEG-2". La FMT y la PAT se describen en adelante en términos eimplee. La PMT ee una tabla, como muchae de lae cuales eetán incluidae en la corriente de transporte MPEG-2 como el número de programas. La PMT se configura como una eección MPEG-2, y tiene un table_id de 2. La PMT contiene un número de programa ueado para identificar el programa e información adicional del programa, así como información que se refiere a ESs que pertenecen al programa. Un ejemplo de la PMT se da en la figura 11. 1100 Muestra números de programa. Los números de programa son asignados de manera única a programas en la misma corriente de transporte, y se usan para identificar las PMTs . Las hileras 1111 a 1114 expresan información que se refiere a ESs individualee . Una columna 1101 mueetra tipoe de ESs, en la cual se especifican "video", "audio", "datos" y así sucesivamente. Una columna 1102 muestra los PIDs de los paquetes TS que constituyen cada ES. Una columna 1103 muestra información adicional que se refiere a los ESs. Por ejemplo, el ES mostrado en la hilera 1111 ee un ES de audio, y es llevado en paquetes TS con PIDe de 5011.
La PAT es una tabla, de la cual sólo una está presente, en la corriente de transporte de MPEG-2. La PAT se configura como una sección MPEG-2, tiene un table_id de 0 y es llevado en un paquete TS con un PID de 0. La PAT contiene una transport_stream_id (identificador de corriente de transporte) usado en la identificación de la corriente de transporte MPEG-2, e información que se refiere a todas las PMTs que representan programas que existen en la corriente de transporte MPEG-2. Un ejemplo de la PAT se da en la figura 12. 1200 Es un transport_stream_id. El transport_stream_id se usa para identificar la corriente de transporte MPEG-2. Las hileras 1211 a 1213 expresan información que se refiere a los programas. Una columna 1201 muestra los números de programa. Una columna 1202 muestra los PIDs de los paquetes TS que llevan las PMTs que corresponden a programas respectivos. Por ejemplo, la PMT mostrada en la hilera 1211 tiene un número de programa de 101, y la PMT correspondiente es llevada en el paquete TS con un PID de 501. En caso de que el aparato terminal reproduzca cierto programa, el aparato terminal usa la PAT y la PMT e identifica el video y el audio que constituyen el programa, y reproduce ese video y audio. Por ejemplo, con respecto a la corriente de transporte MPEG-2 que lleve la PAT en la figura 12 y la PMT en la figura 11, se sigue el siguiente procedimiento en caso de que el audio y video que pertenezcan al programa con un número de programa de 101 sean reproducidos. Primero, una PAT transmitida como una sección MPEG-2 con un table_id de "0" se adquiere de un paquete TS con un PID de entre "0". Se busca en la PAT para encontrar un programa con el número de programa "101", y se obtiene la hilera 1211. De la hilera 1211, el PID "501" del paquete TS que lleva a la PMT del programa con un número de programa "101", es obtenido. Después, la PMT llevada como la sección MPEG-2 con un table_id de "2" se adquiere del paquete TS por el PID de "501". Una hilera 1111, la cual es información ES de audio, y una hilera 1112, la cual es información ES de video, se obtienen de la PMT. Un PID "5011" del paquete TS que lleva el ES de audio se obtiene de la hilera 1111. Además, un PID "5012" del paquete TS que lleva el ES de audio se obtiene de la hilera 1112. Después, un paquete PES de audio se adquiere del paquete TS con un PID "5011", y un paquete PES de video se adquiere del paquete TS con un PID de "5012". A través de esto, es posible obtener los paquetes PES de video y audio que serán reproducidos, y el video y audio llevado en esos paquetes puede ser reproducido. Nótese que hay casos en los que la corriente de transporte MPEG-2 está aleatorizada. Este es un escenario llamado un sistema de acceso condicional. Por ejemplo, al aleatorizar los paquetes PES que llevan cierto video y audio, sólo observadores específicos quienes pueden desaleatopzarlos son capaces de ver ese video y audio. Para desaleatorizar y ver el video y audio, un observador debe desaleatorizarlos usando un dispositivo llamado un desaleatorizador . Por ejemplo, en un aparato terminal compatible con OCAP, un adaptador en forma de tarjeta con un desaleatorizador interno se usa. Un operador de televisión por cable se distribuye una adaptador programado para ser capaz de desaleatopzar un programa especificado para cada observador, y el observador inserta ese adaptador en el aparato terminal. Después de hacer esto, el adaptador desaleatoriza el programa especificado con base en la información de desaleatorización tal como una clave de desaleatorización e información de contrato de cada tenedor de contrato. Un método de desaleatorización, un método para obtener una clave de desaleatorización y similares dependen del adaptador, y no tienen influencia en la implementación de la presente invención. Hasta el momento, se han dado descripciones simples que se refieren a las especificaciones MPEG-2, y en adelante, se dan definiciones detalladas de terminología. En la presente, invención, existen dos tipos del termino "programa". Uno es un "programa" que aparece en las especificaciones MPEG-2, y el otro es un "programa" que se refiere a un ensamblaje de códigos ejecutados por una CPU. Ya que el primero es sinónimo del término "servicio" usado en las regulaciones de operación, en adelante, para evitar confusión, el primero es llamado "servicio" y el segundo es llamado simplemente "programa". Más aún, con referencia al último, un "programa" particularmente escrito en el lenguaje Java™ es llamado un "programa Java". Se ha dado la descripción que se refiere a varios tipos de información general especificada en las especificaciones MPEG-2 de acuerdo con la presente invención. En adelante, la terminal de grabación y reproducción de transmisión es usada en la presente modalidad se describe en detalle . La figura 13 es un diagrama de bloques que muestra una configuración de hardware general del aparato de grabación y reproducción de transmisiones de acuerdo con la presente modalidad; en otras palabras, una configuración interna específica de los aparatos terminales 111, 112 y 113 se muestra en la figura 1. 1300 Es el aparato de grabación y reproducción de transmisiones, el cual está configurado de: un sintonizador 1301; un decodificador TS (Desmultiplexor TS) 1302; un decodificador AV 1303; un altavoz 1304; un presentador visual 1305; una CPU 1306; una unidad de almacenamiento secundario 1307; una unidad de almacenamiento primaria 1308; una ROM 1309; una unidad de entrada 1310; un adaptador 1311; un codificador AV 1312 y un multiplexor (Multiplexor de Corriente de Transporte MPEG-2 o similar) 1313. Nótese que la presente modalidad se obtiene al expandir una terminal de grabación y reproducción de transmisiones realizada por las especificaciones de OCAP-DVR, y la configuración de hardware básica es casi idéntica a aquella requerida por las especificaciones de OCAP-DVR. El sintonizador 1301 es un dispositivo que desmodula una señal transmitida modulada y transmitida desde el sistema del lado de estación de transmisión 101, de acuerdo con información de sintonización tal como una frecuencia y similares especificada por la CPU 1306. Aquí, la información de sintonización es información en la cual una frecuencia, un método de modulación y similares pueden ser especificados. Una corriente de transporte MPEG-2 obtenida como resultado de la desmodulación del sintonizador 1301 es enviada al decodificador TS 1302 por medio del adaptador 1311 con una función de desaleatorización. El decodificador TS 1302 es un dispositivo que tiene una función de segregar paquetes PES y secciones MPEG-2 que cumplen con condiciones especificadas de la corriente de transporte MPEG-2, con base en un PID, una condición de filtro de sección, y así sucesivamente prescritos por la CPU 1306. En caso de que una transmisión se reciba y se reproduzca un servicio sin grabación, la corriente de transporte MPEG-2 que envía el adaptador 1311 es ingresada en el decodificador 1302. Por otro lado, en caso de reproducir un servicio grabado en la unidad de almacenamiento secundaria 1307, la corriente de transporte MPEG-2 que envía la unidad de almacenamiento secundaria 1307 es ingresada en el decodificador TS 1302. Qué entrada recibir ee controlado por la CPU 1306. Loe paquetes PES del video y audio que segregó el decodificador TS 1302 eon enviados al decodificador AV 1303. Además, la sección MPEG-2 eegregada por el decodificador TS 1302 ee transferida a la unidad de almacenamiento primario 1308 a través de Acceso de Memoria Directa (DMA, por sus siglas en inglés) , y se usa por un programa ejecutado por la CPU 1306. El decodificador AV 1306 es un diepoeitivo con una función de decodificar el ES de video codificado y ES de audio. El decodificador AV extrae el ES del paquete TS que lleva la información de audio y video traneferida del decodificador TS y decodifica el ES. Una eeñal de audio y una eeñal de video obtenidae a travée de la decodificación llevada a cabo por el decodificador AV 1303 eon enviadae al altavoz 1304 y al preeentador visual 1305 en el momento de la reproducción del servicio, pero son enviadas al codificador AV 1312 en el momento de la grabación del servicio. Qué ruta de salida tomar es controlado por el CPU 1306, de acuerdo con una instrucción proveniente de un usuario. El altavoz 1304 reproduce audio enviado desde el codificador AV 1303.
El presentador visual 1305 reproduce video enviado desde el decodificador AV 1303. La CPU 1306 ejecuta un programa que opera en el aparato de grabación y reproducción de transmisiones. La CPU 1306 ejecuta un programa contenido en la ROM 1309. O, la CPU 1306 ejecuta un programa descargado de una señal de transmisión o una red y contenido en la unidad de almacenamiento primaria 1308. O, la CPU ejecuta un programa -descargado de una señal de transmisión o una red y contenido en la unidad de almacenamiento secundaria 1307. El sintonizador 1301, decodificador TS 1302, decodificador AV 1303, altavoz 1304, presentador visual 1305, unidad de almacenamiento secundaria 1307, unidad de almacenamiento primaria 1308, ROM 139, unidad de entrada 1310, adaptador 1311, codificador AV 1312 y multiplexor 1313 son controlados de acuerdo con las instrucciones del programa ejecutado. Además, la CPU 1306 es capaz de controlar el adaptador 1311 a través de comunicación no sólo con dispositivos presentes dentro del aparato terminal 1300, sino con los dispositivos dentro del adaptador 1311. La unidad de almacenamiento secundaria 1307' es un aparato de memoria, cuya memoria no es borrada incluso si el suministro de energía al dispositivo es interrumpido. La unidad de almacenamiento secundaria 1307 está configurada de un dispositivo en donde la información no es borrada incluso cuando la energía del aparato terminal 1300 es apagada; por ejemplo, una memoria no volátil tal como una FLASH-RM, una unidad de Disco Duro (HDD) , un medio reecribible tal como un CD-R y DVD-R. La unidad de almacenamiento secundaria 1307 guarda información con base en una instrucción proveniente de la CPU 1306. La unidad de almacenamiento primaria 1308 es un dispoeitivo que tiene una función de guardar temporalmente información de acuerdo con una inetrucción proveniente de la CPU 1306, un dispositivo capaz de la transferencia DAM y así sucesivamente, y está configurada de una DAM o similar. La ROM 1309 es un dispositivo de memoria no rescribible, y para ser más específicoe, eetá configurada de una ORM, una CD-ROM, un DVD y similares. El programa que ejecuta la CPU 1306 está almacenado en la ROM 1309. La unidad de entrada 1310 está, para eer máe específieos, configurada de un panel frontal o un receptor de control remoto, y acepta una entrada proveniente del usuario. La figura 14 es un ejemplo en el que la unidad de entrada 1310 se configura del panel frontal. Un panel frontal 1400 tiene eiete botonee: un botón de cursor arriba 1401, un botón de cursor abajo 1402, un botón de cursor izquierda 1403, un botón de cursor derecho 1404, un botón OK 1405, un botón cancelar 1406, un botón EPG 1407 y un botón de cambio de modo 1408. Cuando el usuario oprime un botón, un identificador del botón oprimido es notificado a la CPU 1306. El adaptador 1311 es un diepoeitivo para desaleatorizar una corriente de transporte MPEG-2 aleatorizada llevada en la eecala de frecuenciae En Banda, e incluye uno o más desaleatorizadores . La corriente de transporte MPEG-2 enviada por el sintonizador 1301a es ingresado en el adaptador 1311, y se lleva a cabo la desaleatorización en el paquete TS que tiene el PID eepecificado por la CPU 1306. El adaptador 1311 envía la corriente de transporte MPEG-2 desaleatorizada al decodificador TS 1302. Además, el adaptador 1311 se lleva también a cabo la conversión del formato de datos en una escala de frecuencias OOB. La información que se envía en OOB se modula en el formato de modulación QSPK. Con referencia a la transmisión de salida, el deemodulador QPSK 1301b deemodula la eeñal de salida enviada desde el sistema del lado de estación de transmisión 101, e ingresa la corriente de bits generada en el adaptador 1311. El adaptador 1311 extrae información eepecificada por el CPU 1306 de entre varios tipos de información incluida en la corriente de bits, convierte la información en un formato que puede ser identificado por un programa en la CPU 1306, y proporciona esto a la CPU 1306. Por otro lado, con referencia a la transmisión de entrada, los CPU 1306 envía información el sistema del lado de eetación de tranemisión 101, en el adaptador 111. El adaptador 1311 convierte la información ingresada de la CPU 1306 en un formato que puede ser interpretado por el eietema del lado de tranemisión 101, e ingresa éste al modulador QPSK 1301c. El modulador QPSK 1301c modula por QPSK la información ingreeada desde el adaptador 1311, y envía esto al sistema del lado de transmisión 101. Una CableCARD, antiguamente llamada un Punto de Instalación (POD) , usada en el eietema de cable de Eetadoe Unidoe, ee puede dar como un ejemplo eepecífico del adaptador 1311. El codificador AV 1312 codifica la eeñal de audio decodificada por el decodificador 1303 en audio en el formato de audio MPEG, y codifica la eeñal de video en video en el formato de video MPEG. El codificador AV 1312 envía el video y audio codificadoe al multiplexor 1313. El multiplexor 1313 es un dispositivo con una función de multiplexar video y audio ingresado del codificador AV 1312, en la corriente de transporte MPEG-2. En adelante se describe en detalle una operación en la cual el aparato de grabación y reproducción de transmisión descrito arriba graba un servicio contenido en una onda de transmieión en la unidad de almacenamiento secundaria 1307, y una operación en la cual el aparato de grabación y reproducción de transmisionee lee coneecutivamente el servicio proveniente de la unidad de almacenamiento eecundaria 1307 y lo reproduce. Primero ee describe la operación en la cual el servicio contenido en la onda de tranemieión ee grabado en la unidad de almacenamiento eecundaria 1307. La figura 15 mueetra un diagrama conceptual que repreeenta la eecuencia de conexión fíeica, detalles de procesamiento y formato de datos de entrada/salida de cada dispositivo durante la grabación del servicio. 1500 Es un aparato terminal, el cual tiene: el sintonizador 1301; el adaptador 1311; un desaleatorizador 1501; el decodificador TS 1302; un filtro PID 1502; un filtro de sección 1503; el decodificador AV 1303; la unidad de almacenamiento primaria 1308; el codificador AV 1312; el multiplexor 1313 y un área de grabación 1504. Los elementos constituyentee de la figura 15 que tienen los mismos números de referencia que en la figura 13 tienen las mismas funciones y de eeta manera ee omite eu deecripción. Primero, el sintonizador 1301 lleva a cabo lasintonización en la onda de transmieión de acuerdo con la información de sintonización especificada por la CPU 1306. Aquí, la información de sintonización es información en la cual una frecuencia, un método de modulación y similaree pueden eer eepecificados . El sintonizador 1301 desmodula la onda de transmieión e ingreea la corriente de traneporte MPEG-2 en el adaptador 1311. El desaleatorizador 1501, el cual está incluido en el adaptador 1311, desaleatoriza la corriente de transporte MPEG-2 con base en la información de acceso convencional para cada observador. La corriente de transporte MPEG-2 es ingresada en el decodificador TS. Dos tipos de dispositivos que procesan la corriente de transporte MPEG-2 están presentes dentro del decodificador 1302: el filtro PID 1502 y el filtro de sección 1503. El filtro PID 1502 extrae, de la corriente de transporte MPEG-2 ingresada, un paquete TS que tiene un PID especificado por la CPU 1306, y luego extrae un paquete PES y una sección MPEG-2 presentes en esa carga útil. Por ejemplo, cuando la corriente de transporte MPEG-2 en la figura 6 es ingresada en caso de que la CPU 1306 haya instruido filtración PID que extrae el paquete TS con un PID igual 100, los paquetes 601 y 603 son extraídos, luego concatenados, y así se reconfigura un paquete PES de un video 1. O, cuando la corriente de transporte MPEG-2 en la figura 6 es ingresada en caso de que la CPU 1306 haya instruido filtración PID que extrae el paquete TS con un PID = 200, se extraen los paquetes 602 y 605, luego se concatenan y así se reconfigura una sección MPEG-2 de datos 1. El filtro de sección 1503 se extrae de la sección MPEG-2 que se conforma con una condición de filtro de sección especificada por la CPU 1306 de entre las secciones MPEG-2 ingresadas, y transfiere por DMA esta sección MPEG-2 a la unidad de almacenamiento primaria 1308. Por ejemplo, se asume que la CPU 1306 especifica, para el filtro de sección 1503, filtración PID que extrae el paquete TS con un PID = 200, y filtración de sección que extrae una sección con un table_id de 64. Como se mencionó antes, después de que la sección MPEG-2 de los datos 1 es reconfigurada, el filtro de sección 1503 extrae sólo la sección con un table_id de 64 de entre aquellas secciones MPEG-2, y transfiere por DMA esto a la unidad de almacenamiento primaria 1308. La sección MPEG-2 que es ingresada en la unidad de almacenamiento primaria 1308 es ingresada en el multiplexor 1313. Un paquete PES de video y un paquete PES de audio extraídos por el decodificador 1302 son ingresados en el decodificador AV 1303. El decodificador AV decodifica el paquete PES de video para de esta manera convertirlo en el video, e ingresa esto en el codificador AV 1312. El decodificador AV decodifica también el paquete PES de audio para de esta manera convertirlo en el audio, e ingresa esto en el codificador AV 1312. El codificador AV 1312 convierte el video en video MPEG e ingresa esto en el multiplexor 1313. El codificador AV 1312 convierte también el audio en audio MPEG e ingreea esto en el multiplexor 1313. El multiplexor 1313 multiplexa el video MPEG y audio MPEG ingreeadoe del codificador AV en la sección MPEG-2 ingresada deede la unidad de almacenamiento primaria 1308, y de eeta manera genera una corriente de traneporte MPEG-2. La corriente de traneporte MPEG-2 generada es grabada en el área de grabación 1504. El área de grabación 1504 está constituida de toda o parte de la unidad de almacenamiento secundaria 1307, u otra área de grabación, y almacena la corriente de transporte MPEG-2 que constituye un servicio. A continuación se describe la operación en la cual el servicio se lee consecutivamente de la unidad de almacenamiento secundaria 1307 y se reproduce. La figura 16 mueetra un diagrama conceptual que repreeenta la secuencia de conexión física, detalles de procesamiento y formato de datoe de entrada/ealida de cada diepoeitivo durante la grabación del eervicio. 1600 ee un aparato terminal, el cual tiene: el área de grabación 1504; el decodificador TS 1302; el filtro PID 1502; el filtro de eección 1503; el decodificador AV 1303; el altavoz 1304; el preeentador visual 1305 y la unidad de almacenamiento primaria 1308. Los elementoe conetituyentes en la figura 16 que tienen loe mismos números de referencia que en la figura 13 tienen las mismas funciones y de esta manera se omite su descripción . La corriente de transporte MPEG-2 grabada en el área de grabación 1504 del procedimiento descrito en la figura 15 es ingresada en el decodificador TS 1302. Después, un PES de video y un PES de audio que tienen los PIDs identificados y especificados por la CPU 1306 son extraídos por el filtro PID 1502 dentro del decodificador TS 1302. Los paquetes PES extraídos son ingresados en el decodificador AV 1303. O, la sección MPEG-2 que tiene el PID y table_id especificados por la CPU 1306 es extraída por el filtro PID 1502 y el filtro de sección 1503 dentro del decodificador TS 1302. La seccidn MPEG-2 extraída es transferida por DMA a la unidad de almacenamiento primaria 1308. El PES de video y el PES de audio ingresados en el decodificador AV 1303 son decodificados y enviados como una señal de audio y una señal de video. Después de eso, la señal de audio y la señal de video son ingresadas en el presentador visual 1305 y el altavoz 1304, reproduciendo así el audio y el video. La sección MPEG-2 ingresada en la unidad de almacenamiento primaria 1308 es ingresada en la CPU 1306 según sea adecuado. Hasta el momento, se ha descrito un ejemplo de la configuración de hardware que se refiere a la presente invención. En adelante se describe una función principal de la presente invención, la cual es el control de la grabación y el control de la reproducción de truco de un servicio por medio del programa Java. La grabación del servicio en la presente invención se refiere a grabar video, audio, un programa Java, información de sincronización del programa Java y demás que están contenidas en el servicio, en un medio de grabación tal como disco duro, un disco Blu-ray (BD) , un Disco Versátil Digital (DVD) y una Tarjeta en Memoria Digital Segura (SD) . La reproducción del servicio se refiere a la reproducción y ejecución del video, audio y programa Java grabados en el medio de grabación, con base en la información de sincronización. Un resultado de reproducción de un servicio grabado se requiere que sea casi equivalente a un resultado de reproducir directamente el servicio después de recibir una onda de transmisión. La figura 17 es un diagrama de configuración de un programa necesario para la grabación y reproducción del servicio, y es grabado por software en la ROM 1309. Un programa 1700 está constituido de un OS 101, una EPG 1702, una VM Java 1703 y una biblioteca Java 1704, las cuales son subprogramas . El OS 1701 es un Sistema Operativo; Linux, Windows, y similares son ejemplos. El OS 1701 está formado de: un núcleo 1701a para ejecutar otros programas tales como la EPG 1702 y la VM Java 1703; y una biblioteca 1701b la cual usa los subprogramas para controlar los elementos constituyentes del aparato terminal 1300. El núcleo 1701 es tecnología conocida públicamente y por lo tanto se omite su descripción detallada . La biblioteca 1701b proporciona, por ejemplo, una función de sintonización para controlar el sintonizador. La biblioteca 1701 acepta, de otro subprograma, información de sintonización en la cual una frecuencia, un método de modulación y similares pueden especificarse, y suministra esto al sintonizador 1301. El sintonizador 1301 lleva a cabo procesamiento de desmodulación con base en la información de sintonización proporcionada, y puede pasar la corriente de transporte MPEG-2 desmodulada al decodificador TS 1302. Como resultado, otros subprogramas pueden controlar el sintonizador 1301 a través de la biblioteca 1701b. Asimismo, la biblioteca 1701b proporciona información de canal para identificar de manera única un canal. Un ejemplo de la información de canal se muestra en la figura 20. La información de canal es enviada usando un OOB o una escala de frecuencias En Banda, se convierte en un formato de gráfica por el adaptador 1311, y es almacenada en una unidad de memoria temporal que puede ser accesada por la biblioteca. Una columna 2001 muestra identificadores de canal, y es equivalente a, por ejemplo, source_IDs como el definido por SCTE65 Service Information Delivered Out-Of-Band for Digital Cable Televisión. Una columna 2002 muestra nombres de canal, y es equivalente a source_name (nombre de origen) y similares, de la misma norma SCTE65. Una columna 2003 muestra información de sintonización que es información en la cual una frecuencia, una velocidad de transferencia, un método de modulación o similares pueden ser especificados, y se da el sintonizador 1301. Una columna 2004 muestra números de programa para identificar las PMTs. Por ejemplo, una hilera 2011 es un grupo de información de servicio que incluye un identificador de canal de "1", un nombre de canal de "canal 1" , una frecuencia de "150 MHz..." en la información de sintonización y un número de programa de "101". La VM Java 1703 es una máquina virtual Java que analiza secuencialmente y ejecuta programas escritos en el lenguaje Java™. Los programas escritos en el lenguaje Java son compilados de código intermedio que no depende de hardware, llamados código de bytes. La máquina virtual Java es un intérprete que ejecuta el código de bytes. La VM Java 1703 ejecuta la biblioteca Java 1704 que está escrita en lenguaje Java. Los detalles del lenguaje Java y VM Java se obtienen en publicaciones tales como "Especificación de Lenguaje Java" (ISBN 0-201-63451-1) y "Especificación de Máquina Virtual Java" (ISBN 0-201-63451-X) , y así sucesivamente. Además, es posible invocar o ser invocado por otros subprogramas no escritos en el lenguaje Java a través de una ínterfaz nativa Java (JNI). Los detalles que se refieren a la JNI pueden encontrarse en el libro "Interfaz Nativa Java" y así sucesivamente. La biblioteca Java 1704 es una biblioteca escrita en el lenguaje Java y la cual es llamada por el lenguaje Java para controlar así funciones del aparato de grabación y reproducción de transmisiones. Sin embargo, hay situaciones en las que un subprograma escrito en lenguaje no Java, tal como la biblioteca 1701b del OS 1701, se usa según sea necesario. El programa Java puede usar una función proporcionada por la biblioteca Java 1701 al invocar una Interfaz de Programación de Aplicación Java (API) contenida por la biblioteca Java 1704. Un sintonizador 1704c es una biblioteca Java para controlar al sintonizador de recepción En Banda 1301a en la terminal de grabación y reproducción de transmisiones. Cuando el programa Java pasa información de sintonización al sintonizador 1704c, el sintonizador 1704c usa esa información para invocar una función de sintonización de la biblioteca 1701b, y como resultado, es posible controlar una operación del sintonizador de recepción En Banda 1301 de la terminal de grabación y reproducción de transmisiones. Aquí, la información de sintonizaciones de información en la cual una frecuencia, un método de modulación y similares pueden ser especificados . Un SF 1704e es una biblioteca Java para controlar una función del filtro PID 1502 y el filtro de sección 1503 de la terminal de grabación y reproducción de transmisiones. Cuando el programa Java pasa a condiciones de filtro tales como una PID, table_?d, y similares al SF 1704e, el SF 1704e usa una función de la biblioteca 1701b y similares con base en esas condiciones, para controlar así el filtro PID 1502 y el filtro de sección 1503, adquiere una sección MPEG-2 que complete las condiciones de filtro deseadas y pasa la sección MPEG-2 al programa Java que establece las condiciones de filtro. Un DSM-CC 1704d es una biblioteca Java para tener acceso a un sistema de archivos de un carrusel de objetos DSM-CC. El carrusel de objetos DSM-CC está incluido en la sección MPEG-2 adquirida por el SF 1704e. El DSM-CC se define por la norma ISO/IEC 13818-6, y es un mecanismo para usar la sección MPEG-2 para llevar de esta manera un archivo arbitrario. Al usar esto, es posible enviar un archivo desde una estación de transmisión hasta una terminal. Un método detallado para implementar el DSM-CC no está relacionado con la presente invención, y por lo tanto se omiten sus detalles.
Un AM 1704b es un adminietrador de aplicaciones que proporciona una función para administrar la ejecución y terminación de la aplicación Java contenida en el servicio. El AM 1704b extrae un programa Java multiplexado con un canal especificado de una corriente de transporte MPEG-2 especificada, y causa la ejecución o terminación de ese programa Java extraído de acuerdo con información de sincronización multiplexada por separado. Un archivo clase Java del programa Java es multiplexado en la corriente de transporte MPEG-2 en el formato DSM-CC mencionado arriba. Además, la información de sincronización del programa Java es multiplexada en la corriente de transporte MPEG-2 en un formato llamado AIT. AIT es un acrónimo de Tabla de Información de Aplicaciones, como el definido en la Sección 10 de la especificación de DVB-MHP (ETSITS 101812 DVB-MHP eepecificación Vl .0.2 , y es una sección MPEG-2 con un table_id de "0x74" . Una configuración interna del AM 1704b se muestra en la figura 46. El AM 1704b está configurado de una unidad de monitoreo de AIT 3052 y una unidad de adminietración de eetado de aplicación 3503. La unidad de monitoreo de AIT 3502 monitorea estado de actualización de AIT, usando una corriente de transporte MPEG-2 y un identificador de canal como entradas. Primero, el JMF 1704b busca información de canal en la biblioteca 1701b usando un identificador de canal especificado como una clave, y encuentra el número de programa. Después, usando el SF 1704e y similares, se adquiere una PAT de la corriente de transporte MPEG-2. Luego, el PID de una PMT que corresponda al número de programa obtenido se obtiene de la información de la PMT. Una vez más, usando el SF 1704e, se adquiere la PMT actual. La PMT adquirida está en un formato como el mostrado en la figura 11, y tiene escrito el PID de una corriente elemental que tiene "datos" como un tipo de corriente y "AIT" como información complementaria. Además, cuando el PID y table_id "0x74" de la AIT obtenida ahora como las condiciones de filtro se dan a la SF 1701e, se obtiene la AIT real. La figura 22 es una gráfica que muestra esquemáticamente un ejemplo de la información AIT. Un número de versión de AIT 2200 expresa la versión de esa AIT. Entre más alta sea la versión de la AIT, más nueva será la AIT. Una AIT de la misma versión de AIT es recibida repetidamente, pero la AM 1704b no analiza una AIT con la misma versión de AIT que una AIT que ya ha sido analizada, sino que analiza sólo una AIT que es más nueva que la AIT ya analizada y lleva a cabo el procesamiento correspondiente. Una columna 2201 muestra identificadores de los programas Java. Una columna 2202 muestra información de control de los programas Java. Como la información de control, existen "autoinicio" , "presente", "eliminar" y similares; "automicio" significa que el aparato terminal 1300 ejecuta el programa Java automáticamente en un instante, "presente" significa que no ejecuta una función automática y "eliminar" significa detener el programa Java. Una columna 2203 muestra identificadores DSM-CC para extraer los PIDs que incluyan los programas Java en el formato DSM-CC. Una columna 2204 muestra nombres de programa de los programas Java. Las hileras 2211, 2212, 2213 y 2214 son un grupo de la información de los programas Java. El programa Java definido en la hilera 2211 es un grupo que incluye un identificador de programa Java "301", una información de control "automicio", un identificador DSM-CC "1" y un nombre de programa "a/TopXlet". En forma similar, el programa Java definido en la hilera 2212 es un grupo que incluye un identificador de programa Java "302", información de control "presente", un identificador DSM-CC "1" y un nombre de programa "a/GameXlet" . Aquí, los tres programas Java definidos por las hileras 2211, 2212 y 2214 tienen los identificadores DSM-CC idénticos. Esto indica que tres programas Java están incluidos en un sistema de archivos codificado en el formato DSM-CC. Aquí, cuatro tipos de información son prescritos para el programa Java, pero en realidad se definen mas tipos de información. Detalles pueden encontrarse en las especificaciones de DVB-MHP.
La unidad de administración de estado de aplicación 3503 analiza los detalles de la AIT actualizada y administra el estado de ejecución del programa Java. La unidad de administración de estado de aplicaciones 3503 encuentra un programa Java con "automicio" dentro de la AIT, y extrae el identificador DSM-CC correspondiente y el nombre de programa Java. En referencia a la figura 22, el AM 1704b extrae el programa Java de la hilera 2211 y adquiere el identificador DSM-CC de "1" y el nombre de programa Java de "a/TopXlet". Después, el AM 1704b usa el identificador DSM-CC adquirido de la AIT para adquirir de esta manera, de la MPT, el ID de paquete TS que almacena el programa Java en el formato DSM-CC. Específicamente, el PID de la corriente elemental con un identificador DSM-CC que se conforma en la información complementaria y el cual tiene un tipo de corriente de "datos" se adquiere de la PMT. En este momento, suponiendo que el identificador DSM-CC sea "1" y que la PMT sea como la de la figura 11, la corriente elemental de la hilera 1114 se conforma a ellos, y el PID "5014" es extraído. El AM 1704b prescribe, al SF 1704e, las condiciones de filtro de sección, y el PID del paquete TS que envía la sección MPEG-2 incrustada con datos en el formato DSM-CC. Aquí, se da el PID "5014". Como resultado, el AM 1704b puede recolectar las secciones DSM-CC MPEG-2 necesarias. El AM 1704b reconstituye el sistema de archivos a partir de las secciones MPEG-2 colectadas de acuerdo con el formato DSM-CC, y guarda el sistema de archivos en la unidad de almacenamiento primaria 1308. La extracción de datos tales como un sistema de archivos de un paquete TS en una corriente de transporte MPEG-2 y guardar los datos en un medio de almacenamiento tal como la unidad de almacenamiento primaria 1308 y la unidad de almacenamiento secundaria 1307 es en adelante llamado descarga. La figura 23 es un ejemplo de un sistema de archivos descargado. En el diagrama, un círculo representa un directorio y un cuadrado representa un archivo. 2301 Es un directorio de raíz, 2302 es un directorio "a", 2303 es un directorio "b'J 2304 es un archivo "TopXlet . class", 2305 es un archivo "GameXlet . class", 2306 es un directorio " z'J 2307 es un archivo "MusicXlet . class" y 2308 es un archivo "StudyXlet. class". Después, de entre los sistemas de archivos descargados en la unidad de almacenamiento primaria 1308, el AM 104b pasa el programa Java que será ejecutado a la VM Java 1703. Aqui, cuando el nombre de programa Java que será ejecutado es "A/TopXlet", el archivo "a/TopXlet . class" en el cual se añade ".class" al final del nombre de programa Java, es el archivo que será ejecutado. "/" es una división de directorio y nombre de archivo, y en referencia a la figura 23, el archivo 2304 es el programa Java que debe ser ejecutado. Después, el AM 1704b pasa el archivo 2304 a la Java VM 1703, y el archivo se ejecuta, como un programa Java, en la VM Java. Cada vez que se recibe una AIT con una nueva versión de AIT, el AM 1704b analiza la AIT y cambia el estado de ejecución del programa Java. Aquí, en caso de que se especifique "eliminar" en la información de control, el AM 1704b termina el programa Java y notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identíficador de programa Java del programa Java terminado. El JMF 1704a maneja el control de la reproducción del video y audio contenidos en el servicio. Para ser más específicos, el JMF 1704a ingresa el ES de video y ES de audio multiplexados en el canal especificado de la corriente de transporte MPEG-2 especificada, en el decodificador AV para su reproducción. En caso de' que el servicio se reproduzca directamente de la onda de transmisión recibida, se instruye reproducir la corriente de" transporte MPEG-2 enviada desde el adaptador 1311. Por otro lado, en caso de que el servicio que haya sido almacenado una vez en la unidad de almacenamiento secundaria 1303 sea reproducido, se instruye reproducir la corriente de transporte MPEG-2 enviada desde el área de grabación 1504 en la unidad de almacenamiento secundaria 1307. Primero, el JMF 1704a busca información de canal en la biblioteca 1701b con un identificador de canal especificado tal como una clave, y adquiere el número de programa. Después, usando el SF 1704e y similares, se adquiere una PAT de la corriente de transporte MPEG-2. Luego, el PID de la PMT que corresponde al número de programa adquirido se obtiene de la información de la PMT. Una vez más, usando el SF 1704e, se adquiere la PMT real. La PMT adquirida está en un formato como el mostrado en la figura 11, y tiene escritos los PIDs de corrientes elementales que tienen "video" y "audio" como los tipos de corriente. Cuando el JMF 1704a programa estos PIDs al filtro de PID 1502 del decodificador 1302, el ES de video y ES de audio multiplexados con estos PIDs son reproducidos a través del decodificador AV 1303, como se muestra en la figura 15 o en la figura 16. Aquí, en caso de que el JMF 1704a reciba, como una entrada, una corriente de transporte MPEG-2 que ya haya sido grabada en la unidad de almacenamiento secundaria, el JMF 1704a puede cambiar la velocidad de reproducción de video y audio al cambiar la velocidad de lectura y posición de lectura en la corriente de transporte MPEG-2 de un área de almacenamiento 1607 de un área de almacenamiento secundaria 1307. Así, reproducción de truco tal como adelantado rápido y salto se hace posible. Por ejemplo, si una corriente de transporte MPEG-2 es leída al doble de la velocidad normal, video y audio también son reproducidos al doble de velocidad. Además, si una corriente de transporte MPEG-2 es leída mientras se salta sólo un intervalo de tiempo específico, video y audio son reproducidos mientras se salta. Usando la función de la biblioteca 1701b, el JMF 1704a controla la unidad de almacenamiento secundaria 1307 y cambia la velocidad de lectura y posición de lectura en una corriente de transporte MPEG-2. Ya que el método para llevar a cabo esta reproducción de truco solamente y a un alto nivel está fuera del alcance de la presente invención, se omite la descripción del mismo. Para que un programa Java instruya reproducción de truco, el MF 1704a proporciona un API tal como setRate (factor de flote) al programa Java. Cuando se establece 1.0 para un factor de parámetro, se lleva a cabo reproducción a velocidad normal, y cuando se establece 2.0, la reproducción de truco al doble de velocidad se lleva a cabo. Además, en caso de que un programa Java instruya reproducción trucada a través de un API, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 1703 del identificador de programa Java que identifica ese programa Java. Al tener un identificador de canal, tiempo de inicio y tiempo final como entradas, el administrador de grabación 1704h graba el servicio en la unidad de almacenamiento secundaria 1307, sólo durante el periodo de tiempo entre el tiempo de inicio especificado y el tiempo final del servicio. Por ejemplo, si la EPG 1702 especifica el identificador de canal, tiempo de inicio y tiempo de fin, el administrador de grabación 1704h se mantiene hasta el tiempo de inicio. Después de eso, empieza a grabar el servicio especificado cuando el tiempo de inicio es alcanzado, y deja de grabar cuando el tiempo final es alcanzado. Los detalles se describen abajo. En el tiempo de inicio de grabación, el administrador de grabación 1704h asegura primero, dentro de la unidad de almacenamiento secundaria 1307, un área de grabación 1504 para grabar la corriente de transporte MPEG-2 desde el momento de inicio hasta el momento final especificado en la unidad de almacenamiento secundaria 1307. Un identificador de medios es suministrado al área de grabación asegurada. Después, usando un identificador de canal como una clave, el administrador de grabación 1704h obtiene información de sintonización que corresponde a ese identificador de canal, de la información de canal contenida en la biblioteca 1701b. Después de eso, cuando da la información de sintonización al sintonizador 1704c, el sintonizador 1704c empieza la sintonización. Aquí, la información de sintonización es información en la cual una frecuencia, un método de modulación y similares pueden ser especificados. Después, como se muestra en la figura 15, la corriente de transporte EMPG 2 es ingresada en el decodificador TS por medio del adaptador 1311. Mientras tanto, usando el SF 1704e, el administrador de grabaciones 1704h adquiere la PAT de la corriente de transporte MPEG-2 obtenida a través de la sintonización. Además, busca en la biblioteca 1701b el número de programa correspondiente al identificador de canal especificado, y busca el PID de la PMT que corresponde al número de programa obtenido. Después de esto, usando el SF 1704b, adquiere la PMT real para obtener así todos los PIDs para los ESs que constituyen el canal especificado. El administrador de grabación 1704h ajusta los PIDs obtenidos al filtro PID 1502 del decodificador TS. El administrador de grabación 1704h programa además el destino de salida de cada elemento de configuración de hardware por medio de la biblioteca 1701b, de acuerdo con la operación de grabación del servicio incluido en la onda de transmisión en la unidad de almacenamiento secundaria 1307. Después, de acuerdo con el flujo explicado en la figura 15, todos los ESs que constituyen un canal deseado son grabados en el área de grabación 1504 que ha sido asegurada. Después de eso, cuando el tiempo final especificado se alcanza, el administrador de grabación 1704h detiene el proceso de sintonización del Sintonizador 1704c, y causa que concluya la escritura de la corriente de transporte MPEG-2 en el área de grabación 1504. Además, una tabla de administración de información de grabación como la mostrada en la figura 21 se crea como información de administración de la corriente de transporte MPEG-2 que ha sido grabada anteriormente . La figura 21 es un ejemplo de la tabla de administración de grabación para administrar la información de grabación grabada en el área de grabación 1504 de la unidad de almacenamiento secundaria 1307 y similares. La información de grabación es grabada en formato de gráfica. Una columna 2101 muestra identificadores de grabación. Una columna 2102 muestra identificadores de canal. Una columna 2103 muestra números de programa. Una columna 2104 muestra tiempos de inicio de grabación para servicios respectivos, y una columna 2105 muestra tiempos de fin de grabación para los servicios. Una columna 2106 muestra identificadores de medios que identifica las corrientes de transporte MPEG-2 que son grabadas como servicios. Cada una de las hileras 2111 a 2112 de cada identificador de grabación, identificador de canal, el número de programa, tiempo de inicio, tiempo final e identificador de medios. Por ejemplo, la hilera 2111 muestra un identificador de grabación de "000", un identificador de canal de "2", un número de programa de "102", un tiempo de inicio de "2005/03/30 11:00", un tiempo de fin de "2005/03/30 12:00" y un identificador de medios de "TS_001". El administrador de servicios 1704f administra la reproducción del servicio dentro de la corriente de transporte MPEG-2 que ha sido grabada en la unidad de almacenamiento secundaria 1307, o el servicio dentro de la corriente de transporte MPEG-2 ingresada desde el adaptador 1311. En adelante, se describe una operación en caso de administrar la reproducción del servicio contenido dentro de la corriente de transporte MPEG-2 que ha eido grabada en la unidad de almacenamiento secundaria 1307. Esto es equivalente a la reproducción de un servicio ya grabado. En este caso, el administrador de servicios 1704F detiene el identificador de grabación como una entrada. El servicio ya grabado en la unidad de almacenamiento secundaria 1307 e identificado por ese identificador de grabación va a ser reproducido. Primero, en referencia a la tabla de administración de información de grabación creada por el administrador de grabación 1704h, el administrador de eervicios 1704f obtiene el identificador de canal y el identificador de medios del servicio que será reproducido, con el identificador de grabación especificado, después, a través de la biblioteca 1701b, el administrador de servicios 1704f instruye a la unidad de almacenamiento secundaria 1307 enviar, al decodificador TS 1302, la corriente de transporte MPEG-2 identificada por el ídentificador de medios obtenido. También programa el destino de salida de cada elemento de configuración de hardware, por medio de la biblioteca 1701b, de tal forma que los datos fluyan a través de la trayectoria mostrada en la figura 16. Después de eso, la unidad de almacenamiento secundaria 1307 es provista al JMF 1704a como la ubicación de la corriente de transporte MPEG-2, y el identificador de canal del servicio que será reproducido es provisto. Luego, a través de una operación descrita arriba, el JMF 1704a empieza la reproducción del audio y video multiplexados en la corriente de transporte MPEG-2 enviada desde la unidad de almacenamiento secundaria 1307. Después de eso, la unidad de almacenamiento secundaria 1307 también es provista al AM 1704b como la ubicación de la corriente de transporte MPEG-2, y el identificador de canal del servicio que será reproducido es provisto. Luego, de acuerdo con la AIT multiplexada en la corriente de transporte MPEG-2 enviada desde la unidad de almacenamiento secundaria 1307, el AM 1704b empieza la ejecución y terminación del programa Java multiplexado en la corriente de transporte MPEG-2 enviado desde la unidad de almacenamiento secundaria 1307. Después de esto, la reproducción del servicio mencionada arriba se continúa hasta el final de la corriente de transporte MPEG-2 enviada desde la unidad de almacenamiento secundaria 1307. Por otro lado, se describe en adelante el caso de administrar la reproducción del servicio dentro de la corriente de transporte MPEG-2 ingresada desde el adaptador 1311. Esto es equivalente a reproducir el servicio directamente de la onda de transmisión. En este caso, el administrador de servicios 1704f tiene el identificador de canal del servicio que será reproducido como la entrada. A través de la biblioteca 1701, el administrador de servicios 1704f instruye a la corriente de transporte MPEG-2 enviada desde el adaptador 1311 de la figura 15 que sea enviada al decodificador 1302. También establece el destino de salida de cada elemento de configuración de hardware, por medio de la biblioteca 1701b, de tal forma que los datos fluyan a través de la trayectoria mostrada en la figura 16. Después de eso, el adaptador 1311 es provisto al JMF 1704a como la ubicación de la corriente de transporte MPEG-2, y el identificador de canal de servicio que será reproducido es proporcionado. Luego, a través de la operación descrita arriba, el JMF 1604a empieza la reproducción del audio y video multiplexados dentro de la corriente de reproducción MPEG-2 enviada desde el adaptador 1311. Más aún, el adaptador 1311 también está provisto al AM 1704b como la ubicación de la corriente de transporte MPEG-2, y el iden'tificador de canal del servicio que será reproducido es proporcionado. Luego, de acuerdo con la AIT multiplexada en la corriente de transporte MPEG-2 enviada desde el adaptador 1311, el AM 1704b comienza la ejecución y terminación del programa Java multiplexado en la corriente de transporte MPEG-2 enviada desde la unidad de almacenamiento secundaria 1307. Después de eso, la reproducción del servicio se continúa hasta el final de la corriente de transporte MPEG-2 enviada desde la unidad de almacenamiento secundaria 1307. El administrador de reproducción de truco 1704g monitorea el estado de ejecución de una aplicación de servicio que actualmente está siendo reproducido, y monitorea y controla el estado de la reproducción de truco. La figura 27 es un diagrama que muestra una configuración detallada del administrador de reproducción de truco 1704g. La unidad de almacenamiento de información de programas de instrucción de reproducción de truco 2703 almacena "un identíficador de programa Java de un programa Java que instruyó la reproducción de truco" notificado desde la JMF 1704a. En caso de que "un identificador de programa Java de un programa Java terminado" sea notificado desde el AM 1704b, la unidad de determinación de programas de instrucción de reproducción de truco 2702 juzga si el identificador de programa Java notificado es o no idéntico al "identificador de programa Java del programa Java que instruyó la reproducción de truco" almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. Ya que el hecho de que estos identificadores de programa Java son idénticos es equivalente al de un programa que es instruido y la reproducción del truco actual desde el servicio a través del JMF 1704a ha sido concluida, la unidad de determinación de instrucción de reproducción de truco 2702 instruye a la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 llevar a cabo el procesamiento prescrito. La unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 cancela la reproducción de truco para el servicio que actualmente está bajo la reproducción de truco. En otras palabras, 1.0 se establece como un factor de parámetro, de tal forma que el setRate (factor de flote) API del JMF 1704a sea invocado para reproducir el servicio a una velocidad normal . La EPG 1702 es una Guía Electrónica de Programas, y es una función que causa que un usuario seleccione un programa de televisión que será grabado y reproducido. La reproducción normal a través de recibir una onda de transmisión está fuera del alcance de la presente invención y su descripción se omite. En caso de grabar el programa de TV, la EPG 1702 despliega una lista de programas de TV transmitidos, y hace que el usuario seleccione un programa de TV deseado. La figura 19 es un ejemplo de un presentador visual de pantalla para causar la selección de un programa de TV que será grabado. Un tiempo 1901 y canales 1902 y 1903 son presentados visualmente en una rejilla, y es posible revisar los programas de TV de cada canal grabable en cada momento. Es posible que el usuario mueva un foco 1911 dentro de la pantalla usando los botones de cursor superior, inferior, derecho e izquierdo 1401 a 1404, los cuales están incluidos en la unidad de entrada 1310 del aparato terminal 1300. además, cuando un botón OK 1405 es oprimido, el programa de TV que está siendo actualmente resaltado se selecciona para ser grabado. La EPG 1702 adquiere el identificador de canal del programa de TV de la biblioteca, y cuando el programa de TV que será grabado se selecciona por el usuario, notifica al identificador de canal, tiempo de inicio y tiempo final del programa de TV al administrador de grabación 1704h. Con base en esa información, el administrador de servicios 1704h graba el programa de TV en la unidad de almacenamiento secundaria 1307. Por otro lado, en caso de reproducir un programa de TV ya grabado, la EPG 1702 presenta vieualmente una lieta de loe programae de TV ya grabadoe, y hace que el ueuario eeleccione un programa de TV deeeado. La figura 18 es un ejemplo de un presentador visual de pantalla para causar la eelección de un programa de TV ya grabado. Todos los programas de TV almacenados en la unidad de almacenamiento secundaria 1307 en ese unto son listados en tiempo. Es posible que el ueuario mueva un foco 1801 dentro de la pantalla usando los botones de cursor arriba y abajo 1401 y 1402, los cualee están incluidos en la unidad de entrada 1310 del aparato terminal 1300. Además, cuando se oprime el botón OK 1405, el programa de TV que actualmente eetá eiendo reealtado se selecciona para ser reproducido. La EPG 1702 adquiere el identificador de grabación del programa de TV del adminietrador de grabación 1704h, y cuando el programa de TV que eerá reproducido se eelecciona por el usuario, notifica al adminietrador de servicios 1704f del identificador de grabación de ese programa de TV. Con base en eea información, el adminietrador de servicios 1704 lee el programa de TV de la unidad de almacenamiento secundaria 1307 y lo reproduce. Una operación típica en la presente modalidad que tiene la configuración explicada arriba se deecribe abajo ueando un diagrama de flujo. La figura 30 ee un diagrama de flujo que muestra un caso de reproducir un servicio dentro de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruya a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifique ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio son reproducidos en S3002. Ademas, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el AM 1704b empieza a detectar una AIT en S3003. Se asume aquí que una AIT actualizada de una nueva versión se detecta, se selecciona Si, de tal forma que el proceso pasa a S3004. Se asume que el programa Java especificado con la información de control de "autiomicio" en AIT se encuentra en S3004. En ese caso, el proceso pasa a S3005 para ejecutar el programa Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada no haya sido detectada en S3003, el proceso pasa a S3006. Se juzga en S3006 si el programa Java instruyó la reproducción de truco o no. Ahora, se asume que el programa Java especificó el factor = 2.0 e invocó setRate () en S3006, es decir, instruyó reproducción de truco. Después, el proceso pasa a S3007, en donde el JMF 1704A controla la unidad de almacenamiento secundaria 1307 para ajustar la velocidad para la lectura de la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java del programa Java que ha invocado setRate () para almacenarlo. Después de eso, el proceso regresa a la etapa S3003. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal . Nuevamente aquí, suponiendo que la AIT actualizada haya sido detectada en S3003, el proceso pasa a S3004. Se asume que en la AIT actualizada, la información de control de "eliminar" ha sido especificada al programa Java que ha sido ejecutado en S3005. Después, el proceso pasa a S3008, en donde el AM 1704b termina ese programa Java. El AM 1704b notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java de programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación d de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene o no un identificador de programa Java idéntico al almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. Si 0 son idénticos, el proceso pasa a S3010, y la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica el factor = 1.0 e invoca setRate (). Al hacer esto, la reproducción del servicio, la cual ha estado en el modo de reproducción de d truco, regresa a la velocidad de reproducción normal. Como se describió arriba, de acuerdo con la primera modalidad, en caso de que un programa Java sea terminado después de instruir la reproducción de truco de un servicio, la reproducción de truco del servicio es cancelada 0 automáticamente y regresa a la velocidad de reproducción normal . Nótese que también es posible en la presente modalidad detener temporalmente un servicio cuando setRate (factor de flote) API del JMF 1704a sea invocado, si la 5 unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 cambia la configuración para el ajuste 0.0 como un factor de parámetro, en lugar de 1.0.
Segunda Modalidad En adelante se describen con referencia a las figuras un aparato y un método de acuerdo con la segunda modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la segunda modalidad son iguales a los de la primera modalidad de la presente invención, se usan la figura 1 a la figura 16 para los mismos. Como los elementos constituyentes de este programa tienen las mismas funciones que la primera modalidad, no se repiten sus descripciones. La configuración de software de la segunda modalidad es la misma que la mostrada en la figura 17 y figura 46. Ya que los elementos constituyentes que no son el administrador de reproducción de truco 1704g son iguales a los de la configuración de software de la primera modalidad, no s'e repiten sus descripciones. Ya que varios formatos de datos usados en la segunda modalidad son iguales a los mostrados en la figura 20 a figura 23 en la primera modalidad, no se repiten sus descripciones. La figura 31 muestra la configuración del administrador de reproducción de truco 1704g usado en la segunda modalidad. El administrador de reproducción de truco 1704g está formado de: la unidad de retención de información de programas de instrucción de reproducción de truco 2703; la unidad de determinación de programas de instrucción de reproducción de truco 2702; una unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 3101; una unidad de registro de manejador de procesamiento de terminación 3102; y una unidad de determinación de privilegios de registro de manejador de procesamiento de terminación 3103. Ya que la unidad de retención de información de programas de instrucción de reproducción de truco 2703 y la unidad de determinación de programas de instrucción de reproducción de truco 2702 son iguales a las de la primera modalidad, se omiten sus descripciones. La unidad de determinación de privilegios de registro de manejador de procesamiento de terminación 3103 determina si un programa Java identificado tiene o no • el privilegio de registrar un manejador de procesamientos de terminación. Cuando se recibe un identificador de programa Java como una entrada, revisa si el programa Java tiene o no un permiso para registrar un manejador de procesamiento de terminación y envía el resultado. Aquí, el privilegio de registrar el manejador de procesamiento de terminación puede programarse con, por ejemplo, MonitorAppPermission y similares en las especificaciones de OCAP. Este es un método en el cual un archivo de descripción de permiso también es almacenado en un directorio en donde está almacenado un programa Java y el programa Java tiene una lista de privilegios permitidos para el archivo de descripción de permisos. Por ejemplo, un nombre de aplicación es escrito en un archivo de "ocap. application ñame. perm" en un formato como <ocap:monitorapplication ñame = "registerTrickHandler" value=true> </ocap:monitorapplication>, un programa Java identificado por el nombre de aplicación puede tener un privilegio de registrar un manejador de procesamiento de terminación . La unidad de registro de manejadores de procesamiento de terminación 3102 proporciona una función para permitir que el programa Java que tenga el privilegio de registro de manejador de procesamiento de terminación registre un código de programa Java arbitrario como • un manejador de procesamiento de terminación. Un código de programa Java es un caso de una clase Java definida arbitrariamente, y usando esto, es posible escribir el idioma Java procesamiento deseado. La unidad de registro de manejadores de procesamiento de terminación 3102 proporciona una API Java de registerHandler (Manejador h) . Cuando esta API es invocada con una instancia de una clase Java arbitraria, como un parámetro h, la unidad de registro de manejadores de procesamiento de terminación 3102 ingresa el identificador de programa Java del programa Java en la unidad de determinación de privilegios de registro de manejador de procesamiento de terminación 3103 para de esta manera preguntar si el programa Java tiene un privilegio de registro de manejadores de procesamiento de terminación. Si el programa Java tiene el privilegio de registro de manejadores de procesamiento de terminación, la unidad de registro de manejadores de procesamiento de terminación 3102 almacena internamente la instancia del manejador de procesamiento de terminación h como un manejador de procesamiento de terminación. La unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 3101 ejecuta la instancia de la clase Java almacenada en la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 3101. En cuanto a la ejecución. de una instancia, un código de lenguaje escrito en la instancia es ejecutado como la ejecución de un programa Java. No hay límite en los detalles del código, y el código de programa arbitrario puede ser escrito. Se describe abajo usando un diagrama de flujo una operación típica en la presente modalidad que tiene la configuración explicada arriba.
La figura 32 es un diagrama de flujo que muestra el caso de reproducir un servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de registro que identifica ese servicio. Ya que el administrador de servicios 1704 instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio se reproducen en S3002. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el AM 1704b empieza a detectar una AIT en S3003. En la segunda modalidad, se asume que la AIT de la versión 1 mostrada en la figura 33 y la AIT de la versión 2 mostrada en la figura 34 son multiplexadas en la corriente de transporte MPEG-2. Cada elemento en estos diagramas tiene el mismo significado que el descrito en la primera modalidad.
Se asume aquí que la AIT de la versión 1 es recientemente detectada, se selecciona Sí, por lo que el proceso pasa a S3004. En S3004, identificadores de programa Java 301 y 302 se encuentran como programas Java especificados con información de control de "autoinicio" en la AIT. Por lo tanto, en relación a estos programas Java, el proceso pasa a S3005, en donde se ejecutan los programas Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada no se detecte a S3003, el proceso pasa a S3211. Se asume aquí que el programa Java con el identificador de programa Java 302 tiene su propio manejador de procesamiento de terminación h. Se asume que en ese manejador de procesamiento de terminación, setRate (1.0) se escribe como un código de lenguaje Java para regresar la reproducción de truco a la velocidad normal. Después, el programa • Java con el identificador de programa Java 302 invoca registerHandler (h) para de esta manera registrar al manejador h en la unidad' de registro de manejadores de procesamiento de terminación. Nótese que se asume que el programa Java con el identificador de programa Java 302 tiene un privilegio de registrar un manejador de procesamiento de terminación. Después, el proceso pasa a S3006. Mientras tanto, ya que el programa Java con el identificador de programa Java 301 no tiene un manejador de procesamiento de terminación, pasa a S3006 sin registrar el manejador de procesamiento de terminación. Se asume que el programa Java con el identificador de programa Java 302 especificó factor = 2.0 e invocó setRate (), es decir, instruyó reproducción de truco en S3006. Después, el proceso pasa a S3007. Mientras tanto, el programa Java con el identificador de programa Java 301 pasa a S3007 sin instruir reproducción de truco. En S3007, el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para la lectura de la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de contención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java 302 del programa Java que invocó setRate (), para almacenarlo. Después de eso, el proceso regresa a S3003 de nuevo. En este punto de tiempo, el servicio esté en el modo de reproducción de truco al doble de la velocidad normal. Suponiendo aquí que la AIT de la figura 2 mostrada en la figura 34 haya sido detectada en S3003, el proceso pasa a S3004. En la AIT actualizada de la versión 2, se especifica "autoinicio" para el programa Java con el identificador de programa Java 301 ejecutado en S3005. Ya que el programa Java con el identificador de programa Java 301 ya ha sido ejecutado, el proceso pasa a S3005, en donde la ejecución del mismo continúa. Por otro lado, se asume que la información de control de "eliminar" es especificada en el programa Java con el identificador del programa Java 302. En relación el programa Java con el identificador de programa Java 302, el proceso pasa a S3008, en donde este programa es terminado. El AM 1704b notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene o no un identificador de programa Java idéntico a aquél almacenado en la unidad de retención de información de programas de reproducción de truco 2703. En este caso, ya que ambos identificadores son 302 e idénticos, el proceso pasa a S3010, en donde la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 invoca al manejador 'de procesamiento de terminación h del identificador de programas Java 302 registrado en la unidad de registro de manejadores de procesamiento de terminación 3102. Más específicamente, invoca el código de lenguaje Java de setRate (1.0) escrito en el manejador de procesamiento de terminación h. Al hacer esto, la reproducción del servicio, la cual ha estado en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. Como se describió arriba, de acuerdo con la segunda modalidad, es posible ejecutar un manejador de procesamiento de terminación registrado por separado cuando un .programa sea terminado después de que el programa Java instruya la reproducción de truco de un servicio, para de esta manera ejecutar código de lenguaje Java arbitrario.
Tercera Modalidad En adelante se describen con referencia a las figuras un aparato y un método de acuerdo con la tercera modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la tercera modalidad son iguales a los de la primera modalidad de la presente invención, se usan las figuras 1 a figura 16 para los mismos. Como los elementos constituyentes en este diagrama tienen las mismas funciones que en la primera modalidad, no se repiten sus descripciones. La configuración de software de la tercera modalidad es igual a la mostrada en la figura 17. Ya que los elementos constituyen que no son el AM 1704b son iguales a aquellos en la configuración de software en la primera modalidad, no se repiten sus descripciones. Ya que varios formatos usados en la tercera modalidad son iguales a los mostrados en la figura 20 a la figura 23 en la primera modalidad, no se repiten sus descripciones. El AM 1704b tiene una función de ignorar una actualización de una AIT de acuerdo con la velocidad de reproducción actual, además de las funciones de la primera modalidad. La figura 35 muestra un diagrama de configuración del AM 1704b en la tercera modalidad. Ya que la unidad de monitoreo de AIT 3502 y la unidad de administración de estado de aplicación es 3503 son iguales a la unidad de monitoreo AIT 3502 y la unidad de monitoreo de estado de aplicaciones 3503 de la primera modalidad, no se repiten las descripciones. Sin embargo, la presente modalidad es diferente de la primera modalidad en que una actualización de AIT por una actualización de versión se ejecuta únicamente cuando la unidad de permiso de actualización de AIT 3501 permite la actualización. Para ser más específicos, cuando la unidad de monitoreo de AIT 3502 detecta una actualización de una AIT, solicita a la unidad de actualización AIT 3501 determinar si se analiza o no la AIT de versión actualizada. Sólo en caso de que la velocidad de la reproducción de truco que esté actualmente efectiva para este servicio esté dentro de la escala de 0.0<=reproduction speed<=1.0, la unidad de permiso de actualización de AIT 3501 permite el análisis de la nueva AIT actualizada. Cuando se le pide determinar si se permite el análisis de la AIT, la unidad de permiso de actualización de AIT 3501 pregunta a la JMF 1704a acerca de la velocidad de reproducción actual. El JMF 1704a envía de regreso la velocidad de reproducción de truco ajustada en setRate (). Si la velocidad de reproducción está en la escala de 0.0<=reproduction speed<=1.0, el JMF 1704a contesta que la actualización del AIT se permite, en respuesta a la solicitud de determinar si se actualiza la AIT. Una operación típica en la presente modalidad que tiene la configuración descrita arriba se describe abajo usando un diagrama de flujo. La figura 36 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce a partir de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicio 1704f se le da una instrucción de reproducir .el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicio 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio son reproducidos en S3002.
Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte de MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de AIT 3502 del AM 1704b comienza la detección de una AIT en S3003. Se asume aquí que una AIT actualizada de una versión nueva se detecta, se selecciona Sí, por lo que el suceso pasa a S3601. Ningún programa Java está siendo ejecutado ahora, y no se especifica ninguna reproducción de truco. Por lo tanto, la velocidad de reproducción es 1.0, y la unidad de permiso de AIT es 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 comienza a analizar la AIT. En otras palabras, se selecciona así, por lo que el proceso pasa a -3004. Se asume que el programa Java especificado con la información de control de "autoinicio" en la AIT se encuentra en S3004. En ese caso, el proceso pasa a S3005 para ejecutar el programa Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada no haya sido actualizada en S3003, el proceso pasa a S3006. Se juzga en S3006 si el programa Java instruyó la reproducción de truco o no. Ahora, supóngase que el programa Java especificó factor =2.0 e invocó setRate () en S3006, es decir, instruyó reproducción de truco. Entonces, el proceso pasa a S3007, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para la lectura de la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción reproducción de truco 2703 del identificador de programa Java del programa Java que ha invocado setRate (), para almacenarlo. Después de esto, el proceso regresa a S3003 de nuevo. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal . Aquí, suponiendo que la AIT actualizada fuera detectada de nuevo en S3003, el proceso pasa a S3601. La unidad de monitoreo AIT 3502 pregunta a la unidad de permiso AIT 3501 si la actualización de la AIT se permite o no,- pero la velocidad de reproducción actual es 2.0 y por lo tanto la actualización de la AIT no se permite. Por lo tanto, incluso si la información de control de "eliminar" está escrita en 'la AIT actualizada para el programa Java que está corriendo, el programa Java no se concluye y continúa siendo ejecutado. El control regresa a S3003 de nuevo. A menos que la AIT actualizada adicional se detecte en S3003, el proceso pasa a S3006. Se asume que el programa Java especificó el factor = 0.5 e invocó setRate (), es decir, instruyó reproducción de truco en S3006. Entonces, el proceso pasa a S3007, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para la lectura de la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de contención de información de programa de información de reproducción de truco 2703 del identificador del programa Java que ha invocado setRate (), para almacenarlo. Después de eso, el proceso regresa a S3003 de nuevo. Aquí, suponiendo que la AIT actualizada haya sido detectada en S3003, el proceso pasa a S3004. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de AIT 3501- si la actualización de AIT se permite o no, pero la velocidad de reproducción actual es 0.5 y por lo tanto no se permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT que fue detectada en ese momento. En otras palabras, se selecciona así, por lo que el proceso pasa a S3004. En S3004, se asume que en la AIT actualizada, la información de control de "eliminar" ha sido especificada en el programa Java que fue ejecutado primero en S3005. Después, el proceso pasa a S3008, en donde el AM 1704b termina ese programa Java. El AM 1704b notifica a la unidad de determinación de programa de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programa de instrucción de reproducción de truco 2702 determina si el programa Java que fue terminado por el AM 104b tiene o no un identificador de programa Java idéntico al almacenado en la unidad de contención de información de programas de instrucción de reproducción de truco 2703. Ya que son idénticos esta vez, el proceso pasa a S3010, y la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica factor = 1.0 e invoca setRate (). Al hacer esto, la reproducción del servicio, la cual ha estado en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. Como se describió arriba, de acuerdo con la tercera modalidad, el análisis de la AIT se ejecuta sólo en caso del intervalo de 0.0<=reproduction speed<=1.0. Y en el caso en el que el programa Java sea terminado de acuerdo con la información de control de una AIT después de instruir • la reproducción trucada del servicio, la reproducción de truco del servicio se cancela automáticamente y regresa a la reproducción de velocidad normal. Nótese que también es posible en la presente modalidad detener temporalmente un servicio cuando setRate (factor de flote) API de la JMF 1704a sea invocado, si la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 cambia la configuración para ajuste a 0.0 como un factor de parámetro, en lugar de 1.0.
Cuarta Modalidad En adelante se describen con referencia a las figuras un aparato y un método de acuerdo con la cuarta modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la cuarta modalidad son iguales a los de la tercera modalidad de la presente invención, se usan las figuras 1 a figura 16 para los mismos. Ya que los elementos constituyentes en estos diagramas tienen las mismas funciones que en la tercera modalidad, no se repiten sus descripciones. La configuración de software de la cuarta modalidad es la misma que la mostrada en la figura 17 y figura 35. Ya que los elementos constituyentes excepto por el administrador de reproducción de truco 1704g son iguales a aquellos en . la configuración de software de la tercera modalidad y el administrador de reproducción de truco 1704g es idéntico a aquel de la segunda modalidad, nos se repiten sus descripciones. Ya que varios formatos usados en la cuarta modalidad son iguales a los mostrados en la figura 20 a figura 23 en la primera modalidad, no se repiten sus descripciones.
Una operación típica en la presente modalidad que tiene la configuración explicada arriba se describe a continuación usando un diagrama de flujo. La figura 37 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicios 1704f se le da una instrucción de reproducción de servicios dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704 a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio son reproducidos en S3002. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de AIT 3502 del AM 1704b empieza la detección de una AIT en S3003. En la cuarta modalidad, se asume que la AIT de la versión 1 mostrada en la figura 33, la AIT de la versión 2 mostrada en la figura 34 y la AIT de la versión 3 mostrada en la figura 38 son multiplexadas en la corriente de transporte MPEG-2. Cada elemento de estos diagramas tiene el mismo significado que el descrito en la primera modalidad. Suponiendo aquí que la AIT de la versión 1 fuera detectada, se selecciona Sí y el proceso pasa a S3701. Ningún programa Java está siendo ahora ejecutado y ninguna reproducción de truco está especificada. Por lo tanto, la velocidad de reproducción es 1.0, y la unidad de permiso de AIT 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT. En otras palabras, se selecciona Sí, por lo que el proceso pasa a S3004. En S3004, identificadores de programa Java 301 y 302 se encuentran como programas Java especificados con información de control de "autoinicio" en la AIT. Por lo tanto, en relación a estos programas Java, el proceso pasa a S3005, en donde los programas Java son ejecutados. Después de eso, el proceso regresa a S3003. Aquí, en caso de que una AIT recientemente actualizada no se detecte en S3003, el proceso pasa a S3211. Se asume aquí que el programa Java con el identificador de programa Java 302 tiene su propio manejador de procesamiento de terminación h. Se asume que en ese manejador de procesamiento de terminación, setRate (1.0) se escribe como código de lenguaje Java para regresar la reproducción de truco a la velocidad normal. Después, el programa Java con el identificador de programa Java 302 invoca registerHandler (h) para de esta manera registrar al manejador h en la unidad de registro de manejadores de procesamiento de terminación. Nótese que se asume que el programa Java con el identificador de programa 302 tiene un privilegio de registrar un manejador de procesamiento de terminación. Después, el proceso pasa a S3006. Mientras tanto, ya que el programa Java con el identificador de programa Java 301 no tiene un manejador de procesamiento de terminación, pasa a S3006 sin registrar el manejador de procesamiento de terminación. Se asume que el programa Java con el identificador de programa Java 302 especificó el factor = 2.0 e invocó setRate (), es decir, instruyó reproducción de truco en S3006. Después, el proceso pasa a S3007. Mientras tanto, el programa Java con el identificador de programa Java 301 pasa a S3007 sin instruir reproducción de truco. En S3007, el JMF 1704 controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de truco 2703 del identificador de programa JAVA 302 del programa Java que invocó setRate (), para almacenarlo. Después de eso, el proceso regresa a S3003 de nuevo. En este punto de tiempo el servicio está en el modo de reproducción de truco al doble de la velocidad normal. Aquí, suponiendo que la AIT actualizada de la versión 2 fuera detectada en S003, el proceso pasa a S3701. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de AIT 3501 si la actualización de la AIT se permite o no, pero la velocidad de reproducción actual es 2.0 y por lo tanto la actualización de la AIT no se permite. Por lo tanto, incluso si la información de control de "eliminar" está escrita en la AIT actualizada para el programa Java que está ocurriendo, el programa Java no se termina y continúa siendo ejecutado. El proceso regresa a S3003 de nuevo. A menos que al AIT actualizada adicional se detecte en S3003, el proceso pasa a S3006. Se asume que el programa Java con el identificador de programa Java 302 especificó el factor = 0.5 e invocó setRate (), es decir, instruyó reproducción de truco a la mitad de la velocidad normal S3006. Entonces, el proceso pasa a S3007, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para la lectura de la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de contención de programas de instrucción de reproducción de truco 2703 del identificador de programa Java del programa Java que invocó setRate (), para almacenarlo. Después de esto, el proceso regresa a S3003 de nuevo. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal. Aquí, suponiendo que la AIT actualizada de' la versión 3 fuera detectada en S3003, el proceso pasa a S3601. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso 3501 si la actualización de la AIT se permite o no, pero la velocidad de la reproducción actual es 0.5 y por lo tanto la actualización de la AIT se permite. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT que fue detectada en este momento. En otras palabras, se selecciona así, por lo que el proceso pasa a S3004. En la AIT actualizada de la versión 3, se especifica "autoinicio" para el programa Java con el identificador de programa Java 301 ejecutado en S3005. Ya que el programa Java con el identificador de programa Java 301 ya ha sido ejecutado, el proceso pasa a S3005, en donde continúa la ejecución del mismo. Por otro lado, se asume que la información de control de "eliminar" es especificada para el programa Java con el identificador de programa Java 302. En relación al programa Java con el identificador de programa Java 302, el proceso pasa a S3008, en donde este programa es terminado. El AM 1704b notifica a la unidad de determinación de programas de instrucción y reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene o no un identificador de programa idéntico al almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. En este caso, ya que ambos identificadores son 302 e idénticos, el proceso pasa a S3010, en donde la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 invoca al manejador de procesamiento de terminación h del identificador de programa Java 302 registrado en la unidad de registro de manejadores de procesamiento de terminación 3102. Más específicamente, invoca el código de lenguaje Java de setRate (1.0) escrito en el manejador de procesamiento de terminación h. Al hacer esto, la reproducción del servicio, la cual ha sido reproducida en modo de reproducción de truco, regresa a la velocidad de reproducción normal. Como se describió arriba, de acuerdo con la cuarta modalidad, el análisis de la AIT se ejecuta sólo en caso del intervalo de 0.0<=reproduction speed<1.0. Y, también es posible ejecutar un administrador de procesamiento de terminación registrado por separado cuando un programa Java sea terminado después de que el programa Java instruya reproducción de truco de un servicio, para de esta manera ejecutar un código de lenguaje Java arbitrario.
Quinta Modalidad En adelante se describen con referencia a los dibujos un aparato y un método de acuerdo con la quinta modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la quinta modalidad son los mismos que en la primera modalidad de la presente invención, se usan la figura 1 a Ja figura 16 para los mismos. Ya que los elementos constituyentes en este diagrama tienen las mismas funciones que en la primera modalidad, no se repiten sus descripciones. La configuración de software de la quinta modalidad es igual a aquella mostrada en la figura 17. Ya que los elementos constituyentes que no son el AM 1704b son idénticos a aquellos en la configuración de software de la primera modalidad, no se repiten sus descripciones. Ya que varios formatos usados en la quinta modalidad son iguales a los mostrados en la figura 20 a figura 23 en la primera modalidad, no se repiten sus descripciones. El AM 1704b tiene la configuración mostrada en la figura 40. Ya que los elementos constituyentes que no son la unidad de permiso de actualización de AIT 3501 y la unidad de monitoreo de AIT 3502 son los mismos que aquellos de la tercera modalidad, no se repiten sus descripciones. La unidad de permiso de actualización de AIT 3051 tiene la misma función que en la tercera modalidad, pero se asume que permite la actualización de la AIT sólo en caso de una velocidad de reproducción = 1.0. La unidad de monitoreo de AIT 3502 no sólo detecta actualizaciones de versión de una AIT todo el tiempo, sino que también empieza el filtrado de sección de acuerdo con una instrucción proveniente de la unidad de procesamiento de programas de instrucción de reproducción de truco 2701 mencionada posteriormente y detecta la AIT que será actualizada que puede obtenerse en el momento de la filtración de sección. La unidad de instrucción de cambio de estado de aplicación 4001 proporciona una función para permitir que un programa Java cambie el estado de sí mismo y otro programa Java. Por ejemplo, es posible que un programa Java termine forzosamente la ejecución de otro programa Java. La unidad de instrucción de cambio de estado de aplicación 4001 proporciona una AIT para permitir que un programa Java termine un programa Java arbitrario. Por ejemplo, cuando se especifica un identificador de programa Java, la unidad de instrucción de cambio de estado 4001 proporciona un programa Java con una instancia de una clase directiva AppProxy para controlar el estado del programa Java que corresponda a ese identificador de programa Java. AppProxy tiene métodos tales como inicio () para iniciar la ejecución de programa Java, detener () para terminar forzosamente la ejecución, y similares . Si un programa Java invoca estos métodos, es posible iniciar y terminar la ejecución de un programa Java que corresponda a AppProxy. Por ejemplo, cuando se invoca detener (), la unidad de instrucción de cambio de estado 4001 lleva a cabo, en el programa Java que corresponde a AppProxy, el mismo procesamiento que en el caso en el que la información de control de "eliminar" sea especificada en AIT. Para ser más específicos, la unidad de instrucción de cambio de aplicación 4001 termina el programa Java, y después notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java, del programa Java que ha sido terminado.. La figura 27 muestra una configuración detallada del administrador de reproducción de truco 1704g. La unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 cancela la reproducción de truco para el servicio que está actualmente bajo la reproducción de truco, y después fuerza la detección de una AIT. En otras palabras, 1.0 se establece como un factor de parámetro por lo que el setRate (factor de flote) API del JMF 1704a es invocado para reproducir el servicio a la velocidad normal. Después de eso, la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 instruye a la unidad de monitoreo de AIT 3502 detectar la AIT actualizada que puede obtenerse en ese momento. Una operación típica en la presente modalidad que tiene la configuración explicada arriba se describe abajo usando un diagrama de flujo. La figura 39 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicios 1704f se le da una instrucción de reproducir • el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifique ese servicio. Ya que el administrador de servicio 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio son reproducidos en S3002.
Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de la AIT 3502 del AM 1704b empieza a detectar una AIT en S3003. Se asume aquí que una AIT actualizada de una nueva versión es detectada, se selecciona Sí, por lo que el proceso pasa a S3601. Ningún programa Java está siendo ahora ejecutado y ninguna reproducción de truco se especifica. Por lo tanto, la velocidad de reproducción es 1.0, y la unidad de permiso de AIT 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT. En otras palabras, se selecciona así, por lo que el proceso pasa a S3004. Se asume que el programa Java especificado con la información de control de "autoinicio" en AIT se encuentra en S3004. En ese caso, el proceso pasa a S3005 para ejecutar el programa Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada en S3003 no sea detectada, el proceso pasa a S3901. Ahora, suponiendo que AppProxy . stop () no fuera invocado en S3501, el proceso pasa a S3006. Se juzga en S3006 si el programa Java instruyó reproducción de truco o no. Ahora, se asume que el factor especificado por el programa Java = 2.0 e invocó setRate () en S3006, es decir, instruyó reproducción de truco. Después, el proceso pasa a S3007, en donde el JMF 1704 controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para la lectura de la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención la información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java del programa Java que fue invocado setRate () para almacenarlo. Después de eso, el proceso regresa a S3003 de nuevo. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal . Aquí, suponiendo que la AIT actualizada fuera detectada de nuevo en S003, el proceso pasa a S3601. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso 3501 si la actualización de la AIT se permite o no, pero la velocidad de reproducción actual es 2.0 y por lo tanto la actualización de la AIT no se permite. Por , lo tanto, incluso si la información de control de "eliminar" está escrita en la AIT actualizada para el programa Java que está corriendo, el programa Java no se termina y continúa siendo ejecutado. El control regresa a S3003 de nuevo. A menos que la AIT actualizada adicional se detecte en S3003, el procesado pasa a S3901. Aquí, se asume que en S3901, el programa Java especificó su propio identificador de programa Java para obtener una instancia AppProxy, e invocó su método de detener (). Después, el proceso pasa a S3008, en donde la unidad de instrucción de cambio de estado de aplicación 4001 opera para causar que el AM 1704b termine el programa Java. Además, el AM 1704b notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene un identificador de programa Java idéntico al almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. Ya que son idénticos esta vez, el proceso pasa a S3910 y la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica el factor = 1.0 e invoca setRate (). Al hacer esto, la reproducción del servicio, , la cual ha sido en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. Más aún, la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 instruye a la unidad monitoreo de AIT 3502 empezar a detectar una AIT. Por lo tanto, el proceso regresa a S3003 de nuevo, en donde el programa Java es ejecutado o terminado con base en la AIT detectada. Ya que la velocidad de reproducción es 1.0 en este punto de tiempo, el análisis de la AIT que se detecta posteriormente se permite en S3601. Como se describió arriba, de acuerdo con la quinta modalidad, el análisis de la AIT se ejecuta sólo en caso de la velocidad de reproducción = 1.0. Y en el caso en el que el programa Java se termine de acuerdo con la información de control de una AIT después de instruir la reproducción de truco de un servicio, la reproducción de truco del servicio se cancela automáticamente, regresa a la reproducción normal y se ejecuta el análisis de la AIT actualizada en ese punto de tiempo.
Sexta Modalidad En adelante se describe con referencia a las figuras un aparato y un método ae acuerdo con la sexta modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la sexta modalidad son iguales a los de la primera modalidad de la presente invención, se usan aquí también las figuras 1 a la figura 16. Ya que los elementos constituyentes en este diagrama tienen las mismas funciones que en la primera modalidad, no se repiten sus descripciones. Las configuraciones de software de la sexta modalidad son iguales a las mostradas en la figura 17 y figura 40. Ya que los elementos constituyentes que no son el AM 1704b y el administrador de reproducción de truco 1704g son iguales a los de la configuración de software de la quinta modalidad, no se repiten las descripciones. Ya que varios formatos de datos usados en la sexta modalidad son iguales a los mostrados en la figura 20 a la figura 23 en la primera modalidad, no se repiten sus descripciones. El AM 1704b tiene la configuración mostrada en la figura 40. Ya que los elementos constituyentes que no son la unidad de administración de estado de aplicación 3503 son iguales a los de la quinta modalidad, no se repiten sus descripciones . Además de llevar a cabo las mismas funciones que en la quinta modalidad, la unidad de administración de estado de aplicación 3503 fuerza la terminación de programa Java como en el caso en el que la información de control de "eliminar" se especifica en AIT, por ejemplo, cn caso de que el programa Java no funcione debido a falta de recursos tales como una memoria y similares, o en caso de que algo anormal ocurra en una función de sistema requerida para operar el programa Java y el sistema no pueda seguir ejecutando ese programa Java, o en caso de que el propio programa Java termine anormalmente debido a un error o algo anormal que ocurra en el mismo, o similares. En cualquier caso, la unidad de administración de estado de aplicación 3503 notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado. Una operación típica en la presente modalidad que tiene la configuración explicada arriba se describe abajo usando un diagrama de flujo. La figura 41 es un diagrama de flujo que muestra el caso en el que un servicio es reproducido de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de registro que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio se reproducen en S3002. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad monitoreo de AIT 3502 del AM 1704b empieza a detectar un AIT en S3003. Se asume aquí que una AIT actualizada de una nueva versión se detecta, se selecciona Sí, por lo que el proceso pasa a S3601. Ningún programa Java se está ejecutando ahora, y no se especifica reproducción de truco. Por lo tanto, la velocidad de reproducción es 1.0, y la unidad de permiso de AIT 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT. En otras palabras, se selecciona Sí, por lo que el proceso pasa a S3004. Se asume que el programa Java especificado con la información de control de "autoinicio" en la AIT se encuentra en S3004. En ese caso, el proceso pasa a S3005 para ejecutar el programa Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada no haya sido detectada en S3003, el proceso pasa a S3901. Ahora, en S4101, suponiendo que nada anormal que cause la terminación del programa Java ocurriera, el proceso pasa a S3006. Se juzga en S3006 si el programa Java instruyó la reproducción de truco o no. Ahora, se asume que el programa Java especificó el factor 2.0 e invocó setRate () en S3006, esto es, instruyó reproducción de truco. Después, el proceso pasa a S3007, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad de lectura de la corriente de transporte MPEG-2, al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java del programa Java que ha llamado setRate (), para almacenarlo. Después de eso, el proceso regresa de nuevo a S3003. En este punto de tiempo, el servicio esté en el modo de reproducción de truco al doble de la velocidad normal . Aquí, suponiendo que la AIT actualizada fuera detectada de nuevo en S3003, el proceso pasa a S3601. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de AIT 3501 si la actualización de la AIT se permite o no, pero la velocidad de reproducción actual es 2.0 y por lo tanto la actualización de la AIT no se permite. Por lo tanto, incluso si la información de control de "eliminar" se escribe en la AIT actualizada para el programa Java que corre, el programa Java no es terminado y continúa siendo ejecutado. El proceso regresa a S3003 de nuevo. A menos que una AIT actualizada adicional se detecte en S3003, el proceso pasa a S3901. Aquí, se asume en S3901 que el programa Java cayó en un estado anormal en el cual tiene que ser terminado debido a su propio error. Después, el proceso pasa a S3008, en donde la unidad de administración de estado de aplicación 3503 termina el' programa Java. Además, la unidad de administración de estado de aplicación 3503 notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene o no un identificador de programa Java idéntico al almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. Ya que son idénticos esta vez, el proceso pasa a S3910 y la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica el factor = 1.0 e invoca setRate () . Al hacer esto, la reproducción del servicio, que ha estado en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. Más aún, se instruye a la unidad monitoreo AIT 3502 a empezar a detectar una AIT. Por lo tanto, el proceso regresa a S3003 de nuevo, en donde el programa Java es ejecutado o terminado con base en la AIT detectada. Ya que la velocidad de reproducción es 1.0 en este punto de tiempo, el análisis de la AIT que se detecta posteriormente se permite en S3601. Como se describió arriba, de acuerdo con la sexta modalidad, el análisis de la AIT se ejecuta sólo en caso de que la velocidad de reproducción = 1.0. Y en caso de que el programa Java se termine anormalmente después de instruir la reproducción de truco de un servicio, la reproducción de truco del servicio se cancela automáticamente, regresa a la reproducción de velocidad normal y se ejecuta el análisis de la AIT actualizada en ese punto de tiempo. Nótese que también es posible configurar la función de la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 para que pueda detener temporalmente la reproducción de un servicio que esté en el modo de reproducción de truco al especificar la velocidad de reproducción de truco de 0.0 para el servicio y luego detectar una AIT forzosamente, en lugar de cancelar la reproducción de truco del servicio que está ahora en el modo de reproducción de truco y luego detectar la AIT forzosamente. En otras palabras, 0.0 se establece como un factor de parámetro, por lo que el setRate (factor de flote) API del JMF 1704a es invocado para detener temporalmente . la reproducción del servicio. Después de esto, se instruye a la unidad de monitoreo de AIT 3502 detectar la AIT actualizada que puede ser obtenida en ese momento.
Séptima Modalidad En adelante se describen con referencia a las figuras un aparato y un método de acuerdo con la séptima modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la séptima modalidad son iguales a los de la primera modalidad de la presente invención, se usan de nuevo aquí la figura 1 a la figura 16. Ya que los elementos constituyentes en este diagrama tienen las mismas funciones que en la primera modalidad, no se repiten sus descripciones. Las configuraciones de software en la séptima modalidad son iguales a las mostradas en la figura 17 y figura 40. Ya que los elementos constituyentes que no son el administrador de reproducción de truco 1704g son iguales a los de la configuración de software de la sexta modalidad, no se repiten sus descripciones. Ya que varios formatos de datos usados en la séptima modalidad son iguales a los mostrados en la figura 20 a la figura 23 en la primera modalidad, no se repiten sus descripciones. El administrador de reproducción de truco 1704g tiene una configuración mostrada en la figura 42. Ya que . la unidad de determinación de programas de instrucción de reproducción de truco 2702 y unidad de retención de información de programas de instrucción de reproducción de truco 2703 son iguales a las de la sexta modalidad, no se repiten sus descripciones. La unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica un identificador de grabación al administrador de servicios 1704f para hacer que inicie la reproducción de un nuevo servicio. El identificador de grabación que será especificado se obtiene de la unidad de registro de identificadores de grabación alternativos 4201 mencionada arriba. Al mismo tiempo, la velocidad de reproducción del servicio se establece para que sea una velocidad normal al invocar setRate (1.0) usando el JMF 1704a. La unidad de registro de identificadores de grabación alternativos 4201 causa que un programa Java ingrese un identificador de grabación. La reproducción de un servicio que corre se concluye cuando el programa Java es terminada, y la reproducción de un nuevo servicio identificado por este identificador de grabación comienza. La unidad de registro de identificadores de grabación alternativos 4201 proporciona al programa Java un método registerRecordID (int recordID) como una API. Cuando el programa Java establece un identificador de grabación como recordID e invoca este método, la unidad de registro de identificadores de grabación alternativos 4201 almacena el identificador de grabación. Este identificador de grabación se da a la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701. Una operación típica en la presente modalidad que tiene la configuración descrita arriba se describe abajo usando un diagrama de flujo. La figura 43 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce a partir de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio se reproducen en S3002. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad monitoreo de AIT 3502 del AM 1704b empieza a detectar una AIT en S3003. Se asume aquí que una AIT actualizada de una versión nueva se detecta, se selecciona Sí, por lo que el proceso pasa a S3601. Ningún programa Java se está ejecutando ahora, y no se especifica reproducción de truco.
Por lo tanto, la velocidad de reproducción es 1.0, y la unidad de permiso de AIT 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT. En otras palabras se selecciona Sí, y el proceso pasa a S3004. Se asume que el programa Java especificado con la información de control de "autoinicio" en la AIT se encuentra en S3004. En ese caso, el proceso pasa a S3005 para ejecutar el programa Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada no haya sido detectada en S3003, el proceso pasa a S3901. Ahora, en S4101, suponiendo que nada anormal que cause la terminación del programa Java ocurriera, el proceso pasa a S4311. Se asume que en S4311 el programa Java invocó un método de registerRecordID (RecordID) para identificar un identificador de grabación alternativo, usando la unidad de registro de identificadores de grabación alternativos 4201. Después, el proceso pasa a S4312, en donde la unidad de registro , de identificadores de grabación alternativos 4201 almacena ese identificador de grabación. Luego, supóngase que el programa Java especificó el factor 2.0 e invocó setRate () en S3006, es decir, instruyó reproducción de truco. Entonces, el proceso pasa a S3007, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad de lectura de la corriente de transporte MPEG-2, al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java del programa Java que ha invocado setRate (), para almacenarlo. Después de eso, el proceso regresa de nuevo a S3003. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal. Aquí, suponiendo que la AIT actualizada fuera detectada de nuevo en S3003, el proceso pasa a S3601. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de AIT 3501 si la actualización de la AIT se permite o no, pero la velocidad de reproducción actual es 2.0 y por lo tanto la actualización de la AIT no se permite. Por lo tanto, incluso si la información de control de "eliminar" se escribe en la AIT actualizada para el programa Java que corre, el programa Java no se termina y continúa siendo ejecutado. El control regresa a S3003 de nuevo. A menos que la AIT actualizada adicional se detecte en S3003, el proceso pasa a S3901. Aquí, se asume en S3901 que el programa Java cayó en un estado anormal en el cual tiene que ser terminado debido a su propio error. Después, el proceso pasa a S3008, en donde la unidad de administración de estado de aplicación 3503 termina el programa Java. Más aún, la unidad de administración de estado de aplicación 3503 notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene o no un identificador de programa Java idéntico al almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. Ya que son idénticos esta vez, el proceso pasa a S4313, en donde la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica el identificador de grabación alternativo obtenido de la unidad de registro de identificadores de grabación alternativos 4201, al administrador de servicios 1704f, para hacerle que empiece a reproducir un nuevo servicio. Al mismo tiempo, la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica un factor = 1.0 e invoca setRate (). Al hacer esto, la reproducción del servicio, que ha estado en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. En otras palabras, la reproducción del servicio identificado por el identificador de' grabación de servicios alternativos empieza en la velocidad normal. Más aún, se instruye a la unidad monitoreo AIT 3502 empezar a detectar una AIT. Por lo tanto, el proceso regresa a S3003 de nuevo, en donde el programa Java es ejecutado o terminado con base en la AIT detectada. Ya que la velocidad de reproducción es 1.0 en este punto de tiempo, el análisis de la AIT que se detecta posteriormente se permite en S3601. Como se describió arriba, de acuerdo con la séptima modalidad, el análisis de la AIT se ejecuta sólo en caso de que la velocidad de reproducción = 1.0. Y en caso de que un programa Java se termine de acuerdo con información de control de una AIT después de instruir la reproducción de truco de un servicio, la reproducción de un servicio alternativo identificado por separado se inicia, mientras que la reproducción de truco del servicio se cancela automáticamente y regresa a la reproducción de velocidad normal, y se ejecuta el análisis de la AIT actualizada en ese punto de tiempo. Nótese que también es posible configurar la función de la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 para que pueda detener temporalmente la reproducción de un servicio que esté en el modo de reproducción de truco al especificar la velocidad de reproducción de truco de 0.0 para el servicio y luego detectar una AIT forzosamente, en lugar de cancelar la reproducción de truco del servicio que está ahora en el modo de reproducción de truco y luego detectar la AIT forzosamente. En otras palabras, 0.0 se establece como un factor de parámetro, por lo que el setRate (factor de flote) API de la JMF 1704a es invocado para detener temporalmente la reproducción del servicio. Después de esto, se instruye a la unidad de monitoreo de AIT 3502 detectar la AIT actualizada que puede ser obtenida en ese momento.
Octava Modalidad En adelante se describe con referencia a las figuras un aparato y un método de acuerdo con la octava modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la octava modalidad son iguales a los de la primera modalidad de la presente invención, se usan aqui también , la figura 1 a la figura 16. Ya que los elementos constituyentes en estos diagramas tienen las mismas funciones que en la primera modalidad, no se repiten sus descripciones. Ya que varios formatos de datos usados en la octava modalidad son los mismos que los mostrados en figura 20, figura 21 y figura 23 en la primera modalidad, asi como los mostrados en la figura 28 y figura 29 los cuales se usan además en la octava modalidad. Ya que las descripciones de la figura 20, figura 21 y figura 23 son iguales a las de la primera modalidad, estas descripciones no se repiten. La figura 28 y figura 29 muestran AITs en las cuales un indicador que cumple con reproducción de truco 2805 se añade a la AIT mostrada en la figura 22. El indicador que cumple con reproducción de truco es un indicador que especifica si el programa Java va a ser ejecutado o no durante la reproducción de truco del servicio. Para ser más especificos, un programa Java en el cual el indicador que cumple con reproducción de truco 2805 indica "verdadero" es ejecutado incluso durante la reproducción de truco de servicio. Por otro lado, un programa Java en el cual el indicador que cumple con reproducción de truco 2805 indica "falso" es terminado forzosamente inmediatamente después de que inicia la reproducción de truco del servicio. La configuración de software de la octava modalidad es la misma que la mostrada en la figura 17, figura 27 y figura 46. En la figura 17, ya que los elementos constituyentes que no son el JMF 1704a, AM 1704b y administrador de reproducción de truco 1704g son iguales a los de la configuración de software de la primera modalidad, no se repiten sus descripciones. Además de las operaciones descritas en la primera modalidad, el JMF 1704a notifica a la unidad de 1 8 administración de estado de aplicación del AM 1704b que se ha iniciado la reproducción de truco, cuando setRate (factor de flote) del valor que no es el factor = 1.0 es invocado. Además de las operaciones descritas en la primera modalidad, la unidad de administración de estado de aplicación en el AM 1704b lleva a cabo las siguientes operaciones. Cuando el JMF 1704a notifica a la unidad de administración de estado de aplicación que se ha iniciado una reproducción de truco, la unidad de administración de estado de aplicación examina el indicador que cumple con reproducción de truco escrito en la AIT que se refiere al programa Java que corre. Si el valor del indicador que cumple con reproducción de truco del programa Java que está corriendo es verdadero, el JMF 1704a continúa la ejecución del programa Java. Si el valor del indicador que cumple con reproducción de truco del programa Java que está corriendo es falso, el JMF 1704a termina el programa • Java inmediatamente, y notifica además a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado. En otras palabras, el JMF 1704a lleva a cabo las mismas operaciones que en el caso en el que la información de control = eliminar se especifica para ese programa Java. Una operación típica en la presente modalidad que tiene la configuración descrita arriba se describe a continuación usando un diagrama de flujo. La figura 44 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de la corriente de transporte MPEG-2. Después, en S4401, al administrador de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en' la unidad de almacenamiento secundaria 1307, el video y audio son reproducidos en S4402. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de AIT 3502 del AM 1704b empieza a detectar una AIT en S4403. Supóngase aquí que una AIT mostrada en la figura 28 sea detectada, se selecciona Sí, por lo que el proceso pasa a S4404. Se asume que un programa Java con un idén'tificador de programa Java = 301 especificado con la información de control de "autoinicio" en la AIT se encontró en S4404. En ese caso, el proceso pasa a S4408, en donde el programa Java con el identificador de programa Java = 301 es ejecutado. Después de eso, el proceso pasa a S4409. Aquí, ya que el programa Java que corre es el programa Java dentro del identificador de programa Java = 301 solamente, el indicador que cumple con reproducción de truco del mismo es leído. Ya que el indicador indica verdadero en este caso, el proceso regresa a S4403. En S4403, una AIT actualizada no se detecta porque la AIT mostrada en la figura 28 aún está siendo recibida, y el proceso pasa a S4406. Después, se asume que el programa Java con el identificador de programa Java = 301 especificó el factor 2.0 e invocó setRate () en S4406, es decir, instruyó reproducción de truco en S4406. Entonces, el proceso pasa a S4407, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para lectura ,de la corriente de transporte MPEG-2, al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java 301 del programa Java que invocó setRate (), para almacenarlo. Después de eso, el proceso regresa de nuevo a S4403.
En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal . Aquí, suponiendo que la AIT actualizada mostrada en la figura 29 se detectara en S4404, el proceso pasa a S4404. En la AIT mostrada en la figura 29, se especifica autoinicio como la información de control del programa Java con el identificador de programa Java = 301, y por lo tanto el proceso pasa a S4408. Sin embargo, no se hace nada ahí porque la ejecución del programa Java con el identificador de programa Java = 301 ya ha sido iniciada, y el proceso pasa a S4409. En S4409, se confirma que el valor del indicador que cumple con reproducción de truco especificado en el programa Java que corre con el identificador de programa Java = 301 es falso, con referencia a la AIT mostrada en la figura 29. Entonces, el proceso pasa a S4410, en donde el programa Java es terminado y el identificador de programa Java = 301 es notificado a la unidad de determinación de programas de instrucción de reproducción de truco. Después, la unidad de determinación de programas de instrucción de reproducción de truco compara el valor del identificador de programa Java almacenado en la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado. En otras palabras, el JMF 1704a lleva a cabo las mismas operaciones como en el caso en donde la información de control = eliminar se especifica para ese programa Java. Una operación tipica en la presente modalidad que tiene la configuración descrita arriba se describe a continuación usando un diagrama de flujo. La figura 44 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de la corriente de transporte MPEG-2. Después, en S4401, al administrador de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio son reproducidos en S4402. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de AIT 3502 del AM 1704b empieza a detectar una AIT en S4403. Supóngase aqui que una AIT mostrada en la figura 28 sea detectada, se selecciona Sí, por lo que el proceso pasa a S4404. Se asume que un programa Java con un identificador de programa Java = 301 especificado con la información de control de "autoinicio" en la AIT se encontró en S4404. En ese caso, el proceso pasa a S4408, en donde el programa Java con el identificador de programa Java = 301 es ejecutado. Después de eso, el proceso pasa a S4409. Aquí, ya que el programa Java que corre es el programa Java dentro del identificador de programa Java = 301 solamente, la unidad de retención de información de programa con el valor del identificador notificado del programa Java terminado. Ambos valores son 301 e idénticos, y por lo tanto, el proceso pasa a S4412. En S4412, la velocidad de lectura de la corriente de transporte MPEG-2 de la unidad de almacenamiento secundaria se cambia a 1.0. En otras palabras, el servicio se reproduce a la velocidad normal. Como se describió arriba, de acuerdo con la octava modalidad, en caso de que un programa Java se termine de acuerdo con el cambio de un indicador que cumpla con reproducción de truco en AIT después de instruir la reproducción de truco de un servicio, la reproducción de truco del servicio se cancela automáticamente y regresa a la reproducción de velocidad normal.
Nótese que también es posible configurar la función de la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 para que pueda detener temporalmente la reproducción de un servicio que esté ahora siendo reproducido en modo de reproducción de truco al especi'ficar la velocidad de reproducción de truco de 0.0 para el servicio y luego invocar setRate (factor de flote) API de la JMF 1704a en lugar de cancelar la reproducción de truco del servicio que está siendo ahora reproducido en el modo de reproducción de truco.
Novena Modalidad En adelante se describen con referencia a las figuras un aparato y un método de acuerdo con la novena modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la novena modalidad son iguales a los de la primera modalidad de la presente invención, se usan aquí de nuevo , la figura 1 a la figura 16. Ya que los elementos constituyentes en estos diagramas tienen las mismas funciones que en la primera modalidad, no se repiten sus descripciones. Varios formatos de datos usados en la novena modalidad son iguales a los mostrados en figura 20, figura 21, figura 23 y figura 28 en la octava modalidad. Debido a que éstos son los mismos que los descritos en la octava modalidad, no se repiten sus descripciones. La configuración de software de la novena modalidad es la misma que la mostrada en la figura 17, figura 31 y figura 46. Ya que los elementos constituyentes mostrados en la figura 17 son iguales a los de la configuración de software de la octava modalidad, no se repiten sus descripciones. Ya que los elementos constituyentes mostrados en la figura 31 son iguales a los de la configuración de software de la segunda modalidad, no se repiten sus descripciones. Una operación típica en la presente modalidad que tiene la configuración explicada arriba se describe a continuación usando un diagrama de flujo. La figura 45 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S4501, el administrador de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio se reproducen en S4502. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de AIT 3502 del AM 1704b empieza a detectar un AIT en S4503. Suponiendo aquí que una AIT mostrada en la figura 28 fuera detectada, se selecciona Sí, y el proceso pasa a S4504. Se asume que un programa Java con un identificador de programa Java = 301 especificado con la información de control de "autoinicio" en la AIT se encontró en S4504. En ese caso, el proceso pasa a S4509, en donde el programa Java con el identificador de programa Java = 301 es ejecutado. Después de eso, el proceso pasa a S4510. Aquí, ya que el programa Java que corre es el programa Java con el identificador de programa Java = 301 solamente, el indicador que cumple con reproducción de truco del mismo es leído. Ya que el indicador indica verdadero en este caso, el proceso regresa a S4503. En S4503, una AIT actualizada no se detecta porque la AIT mostrada en la figura 28 aún está siendo recibida, y el proceso pasa a S4505. Se asume aqui en S4505 que el programa Java con el identificador de programa Java = 301 tiene ahora su propio manejador de procesamiento de terminación h. Se asume que en ese manejador de procesamiento de terminación, setRate (1.0) se escribe como código de lenguaje Java para regresar la reproducción de truco a una velocidad normal. Después, el programa Java con el identificador de programa Java = 301 invoca registerHandler (h) para de esta manera registrar al manejador h en la unidad de registro de manejadores de procesamiento de terminación. Nótese que se asume que el programa Java con el identificador de programa Java = 301 tiene un privilegio de registrar un manejador de procesamiento de terminación. Luego, el proceso pasa a S4507. Después, se asume que el programa Java con el identificador de programa Java = 301 especificó el factor 2.0 e invocó setRate (), es decir, instruyó reproducción de truco en S4507. Entonces, el proceso pasa a S4508, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para lectura de la corriente de transporte MPEG-2, al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java = 301 del programa Java que invocó setRate (), para almacenarlo. Después de eso, el proceso regresa de nuevo a S4503.
En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal. Aquí, suponiendo que la AIT actualizada mostrada en la figura 29 se detectara en S4404, el proceso pasa a S4504. En la AIT mostrada en la figura 29, se especifica autoinicio como la información de control del programa Java con el identificador de programa Java = 301, y por lo tanto el proceso pasa a S4509. Sin embargo, no se hace nada ahí porque la ejecución del programa Java con el identificador de programa Java = 301 ya ha sido iniciada, y el proceso pasa a S4510. En S4510, se confirma que el valor del indicador que cumple con reproducción de truco especificado en el programa Java que corre con el identificador de programa Java = 301 es falso, con referencia a la AIT mostrada en la figura 29. Entonces, el proceso pasa a S4410, en donde el programa Java es terminado y el identificador de programa Java = 301 es notificado a la unidad de determinación de programas , de instrucción de reproducción de truco. Después, la unidad de determinación de programas de instrucción de reproducción de truco compara el valor del identificador de programa Java almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco con el valor del identificador notificado del programa Java terminado. Ambos valores son 301 e idénticos, y por lo tanto, el proceso pasa a S4513. En 4513, la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 invoca el manejador de procesamiento de terminación h del identificador de programa Java = 302 grabado en la unidad de registro de manejadores de procesamiento de terminación 3102. Más específicamente, invoca el código de lenguaje Java de setRate (1.0) escrito en el manejador de procesamiento de terminación h. Al hacer esto, la reproducción del servicio, que ha estado en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. Como se describió arriba, de acuerdo con la novena modalidad, es posible ejecutar un manejador de procesamiento de terminación registrado por separado, en donde un programa Java es terminado de acuerdo con un cambio en un indicador que cumple con reproducción de truco en la AIT después de que el programa Java instruya la reproducción por truco de un servicio, para de esta manera ejecutar arbitrariamente código de lenguaje Java.
Décima Modalidad En adelante se describen con referencia a las figuras un aparato y un método de acuerdo con la décima modalidad de la presente invención. Ya que la configuración de hardware y similares usados en la décima modalidad son iguales a los de la primera modalidad de la presente invención, se usan aquí de nuevo la figura 1 a la figura 16. Ya que los elementos constituyentes en estos diagramas tienen las mismas funciones que en la primera modalidad, no se repiten sus descripciones. Ya que las descripciones de la figura 20, figura 21 y figura 23 son las mismas que en la primera modalidad, estas descripciones no se repiten. La figura 47 muestra una AIT en la cual un indicador de control de reproducción de truco 4705 es añadido a la AIT mostrada en la figura 22. El indicador de control de reproducción de truco es un indicador que especifica si un programa Java va a ser iniciado o terminado de acuerdo con la información de control 2202 de una AIT durante la reproducción de truco de un servicio. Para ser más específicos, un programa Java en el cual el indicador de control de reproducción de truco 4705 indica "verdadero" es iniciado o terminado de acuerdo con un cambio en la información de control 2202 incluso durante , la reproducción de truco de un servicio. Por otro lado, un programa Java en el cual el indicador de control de reproducción de truco 4705 indica "falso" ignora un cambio en la información de control 2202 como es el caso con la quinta modalidad después de que inicia la reproducción de truco del servicio . La configuración de software de la décima modalidad es la misma que la mostrada en la figura 17. Ya que los elementos constituyentes que no son el AM 1704b son iguales a los de la configuración de software de la primera modalidad, no se repiten las descripciones. El AM 1704b tiene una función de ignorar una actualización de una AIT de acuerdo con la velocidad de reproducción actual y el indicador de control de reproducción de truco 4705, además de las funciones de la primera modalidad. La figura 35 muestra un diagrama de configuración del AM 1704b en la décima modalidad. Ya que la unidad de monitoreo de AIT 3502 y la unidad de administración de estado de aplicación 3503 son iguales a la unidad de monitoreo de AIT 3502 y la unidad de administración de estado de aplicación 3503 en la tercera modalidad, no se repiten sus descripciones. Además, son iguales a las de la tercera modalidad porque una actualización de una AIT por una actualización de versión se permite sólo en caso de que la unidad de permiso de actualización de AIT 3501 permita hacerlo, pero es diferente de la de la tercera modalidad en las condiciones para permitir esta actualización de una AIT por una actualización de versión. La unidad de permiso de actualización de AIT 3501 permite el análisis de una AIT actualizada nueva en caso de que una velocidad de reproducción de truco que actualmente sea efectiva para un servicio sea de 1.0, o en caso de que una velocidad de reproducción de truco sea un valor que no sea 1.0 y el valor de un indicador de control de reproducción de truco sea "verdadero". Cuando se le pide determinar si se permite o no el análisis de la AIT, la unidad de permiso de actualización de AIT 3501 pregunta al JMF 1704a acerca de la velocidad de reproducción actual. El JMF 1704a envía de regreso la velocidad de reproducción de truco establecida en setRate ( ) . Una operación típica en la presente modalidad que tiene la configuración explicada arriba se describe a continuación usando un diagrama de flujo. La figura 36 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, supóngase que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Entonces, en S3001, al administrador.de servicios 1704f se le da una instrucción de reproducir el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio se reproducen en S3002. Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de AIT 3502 del AM 1704b empieza a detectar un AIT en S3003. Suponiendo aqui que una AIT actualizada de una versión nueva se detecte, se selecciona Sí, por -lo que el proceso pasa a S3601. No se está ejecutando ahora programa Java alguno, y no se especifica reproducción de truco. Por lo tanto, la velocidad de reproducción es 1.0, y la unidad de permiso de AIT 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT. En otras palabras, se selecciona Sí, por lo que el proceso pasa a S3004. Se asume que un programa Java especificó información de control de "autoinicio" y un indicador de control de reproducción de "falso" se encontró en S3004. En ese caso, el proceso pasa a S3005, para ejecutar el programa Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada en S3003 no sea detectada, el proceso pasa a S3006. Se juzga en S3006 si el programa Java instruyó la reproducción de truco o no. ahora, se asume que el programa Java especificó el factor = 2.0 e invocó setRate () en S3006, es decir, instruyó reproducción de truco. Entonces, el proceso pasa a S3007, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para lectura de la corriente de transporte MPEG-2, al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java del programa Java que fue invocado setRate ( ) , para almacenarlo. Después de eso, el proceso regresa de nuevo a S3003. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal . Aqui, supóngase que la AIT actualizada se detectó de nuevo en S3003, el proceso pasa á S3601. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de actualización de AIT 3501 si se permite o no la actualización de la AIT, pero la velocidad de reproducción actual es 2.0 y el valor del indicador de reproducción de truco escrito en la AIT es "falso", y por lo tanto la actualización de la AIT no se permite. Por lo tanto, incluso si la información de control de "eliminar" está escrita en la AIT actualizada para el programa Java que corre el programa Java no es terminado y continúa siendo ejecutado. El control regresa a S3003 de nuevo.
A menos que la AIT actualizada adicional se detecte en S3003, el proceso pasa a S3006. Suponiendo que una AIT actualizada de una nueva versión se detectara en S3003 cuando la velocidad de lectura de la corriente de transporte MPEG-2 fuera una velocidad normal, se selecciona Sí, por lo que el proceso pasa a S3601. No se está ejecutando ahora programa Java alguno, y no se especifica reproducción de truco. Ya que la velocidad de reproducción es 1.0, la unidad de permiso de AIT 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT. En otras palabras se selecciona Sí, por lo que el proceso pasa a S3004. Se asume que el programa Java especificó la información de control de "autoinicio" y un indicador de control de reproducción de truco de "verdadero" se encontró en S3004. En tal caso, el proceso pasa a S3005 para ejecutar el programa Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT actualizada en S3003 no haya sido detectada, el proceso pasa a S3006. Se juzga en S3006 si el programa Java instruyó la reproducción de truco o no. Ahora, se asume que el programa Java especificó el factor = 2.0 e invocó setRate () en S3006, es decir, instruyó reproducción de truco. Después, el proceso pasa a S3007, en donde el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad de lectura de la corriente de transporte MPEG-2, al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java del programa Java que ha invocado setRate (), para almacenarlo. Después de eso, el proceso regresa de nuevo a S3003. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal . Aquí, suponiendo que la AIT actualizada fuera detectada de nuevo en S3003, el proceso pasa a S3601. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de AIT 3501 si se permite o no la actualización de la AIT, pero la velocidad de reproducción actual es 2.0 y el valor del indicador de control de reproducción de truco es "verdadero" y por lo tanto la actualización de la AIT se permite. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT que fue detectada esta vez. En otras palabras, se selecciona Si, por lo que el proceso pasa a S3004. En S3004, se asume que la AIT actualizada, la información de control de "eliminar" ha sido especificada para el programa Java que fue ejecutado primero en S3005.
Después, el proceso pasa a S3008, en donde el AM 1704b termina ese programa Java. El AM 1704b notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene o no un identificador de programa Java idéntico al almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. Ya que son idénticos esta vez, el proceso pasa a S3010 y la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 especifica el factor = 1.0 e invoca setRate (). Al hacer esto, la reproducción del servicio, que ha estado en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. Como se describió arriba, de acuerdo con la décima modalidad, el análisis de la AIT se ejecuta sólo en caso de que la velocidad de reproducción sea 1.0, o en caso de que la velocidad de reproducción sea un valor que no sea 1.0 y el valor del indicador de control de reproducción de truco sea "verdadero". Y en caso de que un programa Java se termine de acuerdo con la información de control de una AIT después de instruir reproducción de truco de un servicio, la reproducción de truco del servicio se cancela automáticamente y regresa a la reproducción de velocidad normal. Nótese que también es posible en la presente modalidad detener temporalmente un servicio cuando setRate (factor de flote) API del JMF 1704a sea invocado, si la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 cambia la configuración para establecer 0.0 como un factor parámetro, en lugar de 1.0.
Onceava Modalidad En adelante se describen un aparato y un método de acuerdo con la onceava modalidad con referencia a las figuras . Ya que la configuración de hardware y similares usados en la onceava modalidad son los mismos que aquellos de la décima modalidad de la presente invención, se usan de nuevo aqui la figura 1 a la figura 16. Ya que los elementos constituyentes en estos diagramas tienen las mismas funciones que en la décima modalidad, no se repiten sus descripciones. La configuración de software de la onceava modalidad es igual a la mostrada en la figura 17 y figura 35. Ya que los elementos constituyentes que no son el administrador de reproducción de truco 1704g son los mismos que los de la configuración de software de la décima modalidad, y que el administrador de reproducción de truco 1704g es el mismo que en la segunda modalidad, no se repiten sus descripciones. Ya que varios formatos de datos usados en la onceava modalidad son iguales a los mostrados en la figura 20, figura 21 y figura 23 de la primera modalidad, así como los mostrados en la figura 47 en la décima modalidad, no se repiten sus descripciones. Una operación típica en la presente modalidad que tiene la configuración explicada arriba se describe a continuación usando un diagrama de flujo. La figura 37 es un diagrama de flujo que muestra el caso en el que un servicio se reproduce de una corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307. Primero, se asume que un usuario instruye a la EPG 1702 reproducir un servicio dentro de una corriente de transporte MPEG-2. Después, en S3001, al administrador de servicios 1704f se le da una instrucción de reproducir .el servicio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, y el identificador de grabación que identifica ese servicio. Ya que el administrador de servicios 1704f instruye al JMF 1704a reproducir video y audio dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, el video y audio se reproducen en S3002.
Además, ya que el administrador de servicios 1704f instruye al AM 1704b detectar una AIT dentro de la corriente de transporte MPEG-2 grabada en la unidad de almacenamiento secundaria 1307, la unidad de monitoreo de AIT 3502 del AM 1704b empieza a detectar una AIT en S3003. En la onceava modalidad, se asume que la AIT de la versión 1 mostrada en la figura 47, la AIT de la versión 2 mostrada e la figura 48 y la AIT de la versión 3 mostrada e la figura 49 son multiplexadas en la corriente de transporte MPEG-2. Cada elemento en estos diagramas tiene el mismo significado que el descrito en la décima modalidad. Suponiendo aquí que la AIT de la versión 1 se detectara, se selecciona Sí, y el proceso pasa a S3701. No se está ejecutando ahora programa Java alguno, y ninguna reproducción de truco se especifica. Por lo tanto, la velocidad de reproducción es 1.0, y la unidad de permiso de AIT 3501 permite la actualización de la AIT. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT. En otras palabras, se selecciona Sí, por lo que el proceso pasa a S3004. En S3004, identificadores de programa Java 301 y 302 se encuentran como programas Java especificados con información de control de "autoinicio" en AIT. Por lo tanto, no obstante estos programas Java, el proceso pasa a S3005, en donde se ejecutan los programas Java. Después de eso, el proceso regresa a S3003. Aquí, en caso de que la AIT recién actualizada en S3003 no se detecte, el proceso pasa a S3211. Se asume aquí que el programa Java con el identificador de programa Java 302 tiene su propio manejador de procesamiento de terminación h. Se asume que en ese manejador de procesamiento de terminación, setRate (1.0) está escrito como código de lenguaje Java para regresar la reproducción de truco a una velocidad normal. Después, . el programa Java con el identificador de programa Java = 302 invoca registerHandler (h) para de esta manera registrar al manejador h en la unidad de registro de manejadores de procesamiento de terminación. Nótese que se asume que el programa Java con el identificador de programa Java = 302 tiene un privilegio de registrar un manejador de procesamiento de terminación. Luego, el proceso pasa a S3006. Mientras tanto, ya que el programa Java con el identificador de programa Java = 301 no tiene un manejador de procesamiento de terminación, pasa a S3006 sin registrar , el manejador de procesamiento de terminación. Se asume que el programa Java con el identificador de programa Java 302 especificó el factor = 2.0 e invocó setRate (), es decir, instruyó reproducción de truco en S3006. Entonces, el proceso pasa a S3007. Mientras tanto, el programa Java con el identificador de programa Java 301 pasa a S3007 sin instruir reproducción de truco. En S3007, el JMF 1704a controla la unidad de almacenamiento secundaria 1307 para establecer la velocidad para la lectura de la corriente de transporte MPEG-2 al doble de la velocidad normal. Al mismo tiempo, el JMF 1704a notifica a la unidad de retención de información de programas de instrucción de reproducción de truco 2703 del identificador de programa Java 302 del programa Java que invocó setRate (), para almacenarlo. Después de eso, el proceso regresa de nuevo a S3003. En este punto de tiempo, el servicio está en el modo de reproducción de truco al doble de la velocidad normal . Aquí, suponiendo que la AIT actualizada de la versión 2 se detectara en S3003, el proceso pasa a S3701. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de AIT 3501 si permite o no la actualización de la AIT. Ya que la velocidad de reproducción actual es 2.0 y los indicadores de control de reproducción de truco que corresponden a los identificadores de programa Java 301 y 302 son "falso" y "verdadero" respectivamente, la actualización de la AIT se permite sólo para el programa Java del identificador de programa Java 302. La información de control de "eliminar" es escrita en la AIT actualizada para el programa Java con el identificador de programa Java 302. Por lo tanto, con respecto a este programa Java con el identificador de programa Java 302, el proceso pasa a S3008, en donde el AM 1704b termina este programa Java. El AM 1704b notifica a la unidad de determinación de programas de instrucción de reproducción de truco 2702 del identificador de programa Java del programa Java que ha sido terminado, y el proceso pasa a S3009. En S3009, la unidad de determinación de programas de instrucción de reproducción de truco 2702 determina si el programa Java que ha sido terminado por el AM 1704b tiene un identificador de programa Java idéntico al almacenado en la unidad de retención de información de programas de instrucción de reproducción de truco 2703. En este caso, ya que ambos identificadores son 302 e idénticos, el proceso pasa a S0910 en donde la unidad de procesamiento de terminación de programas de instrucción de reproducción de truco 2701 invoca al manejador de procesamiento de terminación h del identificador de programa Java 302 registrado en la unidad de registro de manejador , de procesamiento de terminación 3102. Más específicamente, invoca el código de lenguaje Java de setRate (1.0) escrito en el manejador de procesamiento de terminación h. Al hacer esto, la reproducción del servicio, que ha estado en el modo de reproducción de truco, regresa a la velocidad de reproducción normal. Después de eso, el control regresa a S3003 de nuevo.
Aqui, suponiendo que la AIT actualizada de la versión 3 fuera detectada en S3003, el proceso pasa a S3601. La unidad de monitoreo de AIT 3502 pregunta a la unidad de permiso de AIT 3501 si se permite o no la actualización del AIT, pero la velocidad de reproducción actual es 1.0 y por lo tanto la actualización de la AIT se permite. En respuesta a esto, la unidad de monitoreo de AIT 3502 empieza a analizar la AIT que fue detectada esta vez. En otras palabras se selecciona Si, por lo que el proceso pasa a S3004. En la AIT actualizada de la versión 3, se especifica "eliminar" para el programa Java con el identificador de programa Java 30] ejecutado en S3005. Por lo tanto, el AM 1704b termina el programa Java con el identificador de programa Java 302. Como se describió arriba, de acuerdo con la onceava modalidad, el análisis de la AIT se ejecuta sólo en caso de la velocidad de reproducción sea 1.0 o en caso de que la velocidad de reproducción sea un valor que no sea 1.0 y , el valor del indicador de control de reproducción de truco sea "verdadero". Además, es posible ejecutar un manejador de procesamiento de terminación registrado por separada cuando un programa Java se termine después de que el programa Java instruya la reproducción de truco de un servicio, para de esta manera ejecutar código en lenguaje Java arbitrario.
Doceava Modalidad En adelante se describen un aparato y un método de acuerdo con la doceava modalidad de la presente invención con referencia a las figuras. La doceava modalidad proporciona otra configuración de hardware para implementar la primera a onceava modalidades descritas arriba. La configuración de huésped y similares usados en la doceava modalidad se muestran en la figura 24 y figura 25. La figura 24 muestra un diagrama conceptual que representa la secuencia de conexión física, detalles de procesamiento y formato de datos de entrada/salida de cada dispositivo durante la grabación del servicio. Los elementos constituyentes en el diagrama que tienen números idénticos a los elementos constituyentes mostrados en la figura 15 ya han sido descritos en la primera modalidad, y por lo tanto, no se repiten sus descripciones. A diferencia de la figura 15, con la configuración de hardware mostrada en la figura 24, después de pasar a través de la unidad de almacenamiento primaria 1308, la sección filtrada por el decodificador TS 1302 pasa a través de la unidad de conversión de sección 2801 y es grabada en el área de grabación 1504 sin pasar a través del multiplexor. Aquí, un segundo método cuando se graba la sección en el área de grabación 1504 difiere dependiendo de un formato de la sección.
En caso de un sistema de archivos grabado dentro de una corriente de transporte MPEG-2 en un formato de sistema de archivo DSM-CC, la unidad de conversión de sección 2801 convierte este sistema de archivos en un formato de sistema de archivo único para el área de grabación 1504, la cual a su vez es única para la terminal, y graba el sistema de archivos en el área de grabación 1504. Además, en el caso de una AIT, la unidad de conversión de sección 2801 convierte la AIT en un formato de tabla de administración de información de grabación expandido como se muestra en la figura 26, y graba la AIT en el área de grabación 1504. La tabla de administración de información de grabación mostrada en la figura 26 es una versión expandida de la tabla de administración de información de grabación mostrada en la figura 21, y ya que los artículos identificados por los mismos números de referencia en ambas tablas tienen el mismo significado que aquellos en la tabla de administración de información de grabación mostrada en¡ la figura 21, se omiten las descripciones. Cada una de las hileras 2611 y 2612 muestra información de grabación para un servicio. Cada una de las hileras 2611 y 2612 tiene un identificador de grabación 2101, un identificador de canal 2102, un número de programa 2103, un tiempo de inicio de grabación de servicio 2104, un tiempo de fin de grabación de servicio 2105, un identificador de medios 2106 y una referencia a una tabla de administración de información de AIT. La tabla de administración de información de grabación de AIT tiene un tiempo de medios 2621 y una versión de AIT 2622 que corresponde a la misma. El tiempo de medios 2621 es un tiempo que es un tiempo de reproducción de la corriente de transporte MPEG-2 correspondiente, y muestra una posición en la corriente de transporte MPEG-2 correspondiente. Un número de versión de AIT 2622 corresponde a una versión de AIT 2200 en la figura 22. Por ejemplo, la información de grabación de un servicio que tenga un identificador de grabación 2101 de "001" tiene un identificador de medios 2106 de "TS_002", y en el tiempo de medios 2621 de "00:00:00" en la tabla de administración de información de AIT referida, la versión de AIT correspondiente 2622 es "1". De la misma manera, la versión de AIT 2622 que corresponde al tiempo de medios 2621 de "00:05:00" es "2", y la versión de AIT 2622 que corresponde al tiempo de medios 2621 de "00:20:00" es "3".. En el momento de la reproducción del servicio que tenga un identificador de canal 2601 de "001", en referencia a la tabla de administración de información de grabación, la corriente de transporte MPEG-2 que es multiplexada con el video y audio identificado por el identificador de medios 2602 de "TS_002" se reproduce; además, en regencia a la tabla de administración de información de AIT, cuando el tiempo de medios 2621 alcanza "00:00:00", el control para iniciar o terminar el programa Java se lleva a cabo de acuerdo con la AIT con la versión de AIT 2622 de "1". De una manera similar, el control para iniciar o terminar el programa Java se lleva a cabo, de acuerdo con la AIT con una versión de AIT 2622 de "2" cuando el tiempo de medios 2621 alcanza "00:05:00", y de acuerdo con la AIT con un número de versión de AIT 2622 de "3" cuando el tiempo de medios 2621 alcanza "00:20:00", respectivamente. La AIT real se convierte, como un archivo binario en formato de sección privado, en el formato de sistema de archivos único para el área de grabación 1504, la cual es a su vez única para la terminal y está grabada en el área de grabación 150 . El archivo grabado se le da un nombre de archivo único mediante el cual puede identificarse en forma única, y el cual es grabado en la tabla de administración de información de grabación como un nombre de archivo AIT 2623. En la onda de transmisión real, las AITs con la misma versión de AIT se transmiten repetidamente cualquier número de veces, pero en la presente modalidad, al detectar un cambio en la versión de AIT recibida, sólo la primera AIT que está actualizada en ese punto de tiempo es grabada en el área de grabación 1504. La figura 25 muestra un diagrama conceptual que representa la secuencia de conexión física, detalles de procesamiento y formato de datos de entrada/salida de cada dispositivo durante la grabación del servicio. Los elementos constituyentes en el diagrama que tienen números idénticos a los elementos constituyentes mostrados en la figura 16 ya han sido descritos en la primera modalidad, y por lo tanto, no se repiten sus descripciones. La configuración de hardware de la figura 25 difiere de la de la figura 16 en que la sección grabada en el área de grabación 1504 es leída en el almacenamiento primario a través de la unidad de lectura de sección 2901 sin pasar a través del decodificador TS. La unidad de lectura de sección 2901 busca el tiempo de medios que corresponda al tiempo de reproducción presente de la corriente de transporte MPEG-2 leída del área de grabación, y lee, de un archivo, la AIT y sistema de archivos DSM-CC que corresponde a ese tiempo de medios, y pasa éstos a la unidad de monitoreo de AIT 3502. En otras palabras, la unidad de monitoreo de AIT 3502 mostrada en la figura 46 y similares no hace referencia a un resultado de filtración del decodificador TS, sino que más bien obtiene una archivo binario AIT y un sistema de archivos DSM-CC de la unidad de lectura de sección 2901. Aquí, el caso en donde el servicio que corresponde al identificador de canal de "001" se reproduce del área de grabación 1504 con base en la AIT mostrada en la figura 22 y la tabla de administración de información de grabación mostrada en la figura 26 se muestra como un ejemplo. Cuando el servicio que corresponde al identificador de canal de "001" es identificado como un servicio que será reproducido, video y audio que pertenezcan al servicio así como un programa Java que pertenezca al servicio se reproducen e inician respectivamente. En caso de que el tiempo de medios en el cual inicia la reproducción no sea especificado, la reproducción inicia en el tiempo de medios 2621 de "00:00:00". Para ser más específicos, como video y audio, una corriente de transporte MPEG-2 que tenga un identificador de canal 2102 de "TS_002" que corresponda a un identificador de grabación 2101 de "001" se reproduce en el tiempo de medios 2621 de "00:00:00". En referencia a la tabla de administración de información de AIT, la versión de AIT 2622 que corresponde al tiempo de medios 2621 de "00:00:00", y por lo tanto una AIT de la versión de AIT 2200 de "1" es leída del archivo AIT. Con base en los detalles de la AIT, un programa Java que corresponda a un nombre de programa 2204 de la información de control 2202 de "autoinicio" es iniciado. Después, se continúa la reproducción del servicio, y cuando la posición en la cual la corriente de transporte MPEG-2 que corresponde al unidad de monitoreo de AIT 3502 de "TS_002" está siendo reproducida alcanza un tiempo de medios 2621 de "00:05:00", un programa Java que corresponde a un nombre de programa 2204 de la información de control 2202 de "autoinicio" es iniciado con base en la AIT de la versión de AIT 2202 de "2" porque la versión de AIT 2622 que corresponde al tiempo de medios 2621 de "00:05:00" es "2" que se refiere a la tabla de administración de información de AIT, y un programa Java que corresponde un nombre de programa 2204 de la información de control 2202 de "destruir" o "eliminar" es terminado. Aquí, en referencia a la figura 22, ya que un nombre de programa de la información de control 2202 de "destruir" es "/b/MusicXlet" y un nombre de programa de la información de control 2202 de "eliminar", es "/z/StudyXlet", los programas Java que correspondan a estos nombres de programa son terminados si están siendo ejecutados en el tiempo de medios 2621 de "00:05:00". Después, se continúa la reproducción del servicio, y cuando la posición en la cual la corriente de transporte MPEG-2 que corresponde al identificador de medios 2106 de "TS_002" está siendo reproducida alcanza un tiempo de medios 2621 de "00:20:00", un programa Java que corresponda a un nombre de programa 2204 de la información de control 2202 de "autoinicio" es iniciado con base en la AIT de la versión de AIT 2200 de "3" porque la versión de AIT 2622 que corresponde al tiempo de medios 2621 de "00:20:00" es "3" que se refiere a la tabla de administración de información de AIT, y un programa Java que corresponde a un nombre de programa 2204 de la información de control 2202 de "destruir" o "eliminar" es terminada. De acuerdo con la doceava modalidad descrita arriba, es posible reproducir un servicio al combinar video y audio multiplexados por un multiplexor, con un sistema de archivos DSM-CC y un archivo AIT grabado por separado en otro formato, de acuerdo con las primera a onceava modalidades. En consecuencia, un sistema de archivos DSM-CC y una AIT, los cuales hayan sido transmitidos repetidamente en transmisión, tienen que ser grabados sólo una vez cuando sean actualizados, y por lo tanto es posible reducir el consumo de capacidad de almacenamiento de un área de grabación. Algunas de las modalidades descritas arriba indican los ejemplos de implementación de la presente invención, pero otras modalidades pueden implementarse siempre y cuado los objetivos de la presente invención sean logrados. En las modalidades se ha mostrado una configuración para un sistema de cable, pero la presente invención puede aplicarse independientemente del tipo de un sistema de transmisión. Por ejemplo, la presente invención puede aplicarse fácilmente a un sistema de satélite, un sistema de ondas terrestres o un sistema de distribución de programas de TV que use una red IP. Además, ya que la presente invención no tiene relación directa con las diferencias entre sistemas de transmisión respectivos, la presente invención puede aplicarse a un medio de transmisión arbitrario no obstante el sistema de transmisión. La presente invención también es aplicable no obstante de si el sistema es un sistema alámbrico o inalámbrico. No es necesario que el codificador AV decodifique video y audio al mismo tiempo. La presente invención puede ser implementada incluso si el codificador AV se configura como decodificadores de video y audio separados. Además, el codificador AV puede tener una función de decodificación para datos tales como subtitulaje para audición deficiente y similares sin ninguna interferencia. La señal de audio y señal de video decodificadas por el codificador AV pueden ser aleatorizadas en cualquier etapa hasta ser almacenadas en el área de grabación 1504. En las modalidades, se da un ejemplo en el cual un adaptador que controla un sistema de acceso condicional ha sido introducido, pero el adaptador no siempre es necesario para la implementación de la presente invención. El adaptador puede ser de cualquier formato, y una configuración sin el adaptador es también posible. En tal caso, en la figura 15, la corriente de transporte MPEG-2 del sintonizador es ingresada directamente en el decodificador TS. La presente invención es aplicable en este caso también. Además, la desaleatorización de la corriente de transporte MPEG-2 por el adaptador no necesariamente tiene que ser llevada a cabo antes que el decodificador TS. Una configuración en la cual el adaptador esté en una posición arbitraria y se use para desaleatorizar la corriente de transporte MPEG-2 es fácilmente implementable, y la presente invención es aplicable en tal caso también. Con respecto a un formato de decodificación en el cual el codificador AV codifica la señal de audio y video, es aceptado un formato arbitrario. La presente invención es aplicable no obstante el formato de codificación. Un formato de multiplexión del multiplexor también puede ser un formato arbitrario. La presente invención es aplicable no obstante el formato de multiplexión. El presentador visual y el altavoz pueden estar contenidos dentro del aparato de grabación y reproducción de transmisiones, o un presentador visual y altavoz externos pueden conectarse al aparato de grabación y reproducción de transmisiones. La presente invención es aplicable no obstante la ubicación y número del presentador visual y altavoz. La presente invención puede implementarse incluso si la propia CPU es un sistema que lleve a cabo varios procesos, los procesos siendo' todos o algunos de decodificación TS, de decodificación AV, codificación AV y multiplexión.
Como un formato para grabar el servicio, la corriente de transporte MPEG-2 también puede ser grabada directamente en el área de grabación después de ser enviada del sintonizador, sin pasar a través del decodificador TS; o, el formato de la corriente de transporte MPEG-2 del sintonizador puede convertirse, al instalar un traductor que convierta el formato a la corriente de transporte MPEG-2, y grabarse en el área de grabación. La presente invención puede implementarse no obstante el método de grabación de servicio. Algunas de las máquinas virtuales Java traducen el código de bytes en una forma ejecutable que puede interpretarse por la CPU y pasan el resultado a la CPU, la cual los ejecuta; la presente invención es aplicable en tal caso también. Las modalidades anteriores describen un método para la implementación no obstante la AIT en la cual la corriente de transporte se obtiene de en banda; sin embargo, el método para hacer referencia al programa Java que el AM ejecutará no depende únicamente de la AIT. En OCAP, la cual se asume que se usa por el sistema de cable de Estados Unidos, se usa un XAIT, el cual tiene información de referencia registrada de un programa de aplicación en el OOB indicado en la figura 3. Además, métodos tales como iniciar un programa pre-grabado en la ROM, iniciar un programa descargado y grabado en la unidad de almacenamiento secundario y demás, pueden ser considerados . Aunque sólo algunas modalidades ejemplares de esta invención han sido descritas en detalle arriba, aquellos expertos en la técnica fácilmente apreciarán que muchas modificaciones son posibles en las modalidades ejemplares sin materialmente alejarse de las enseñanzas y ventajas nuevas de esta invención. En consecuencia, todas estas modificaciones están diseñadas para ser incluidas dentro del alcance de esta invención.
Aplicabilidad industrial De acuerdo con el aparato de grabación y reproducción y el método de grabación y reproducción de acuerdo con la presente invención, es posible contener un programa que instruyó reproducción de truco de video y audio, determinar si un programa es o no idéntico al programa que instruyó la reproducción de truco, cuando el programa sea terminado, y si es idéntico al programa que instruyó la reproducción de truco, cancelar la reproducción de truco del video y audio, para de esta manera cancelar reproducción de truco redundante en un intervalo de tiempo inesperado por el programa. Por lo tanto, es altamente posible que la presente invención se use en la industria de electrónica de consumo, particularmente incluyendo aparatos de grabación y reproducción de transmisiones. For ejemplo, la presente invención es aplicable a un STB de cable, TV digital y similares. Más aún, la presente invención también es aplicable a dispositivo con una función de recepción de transmisiones, tales como, por ejemplo, un dispositivo de teléfono celular y similares. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (8)

REIVINDICACIONES Habiéndoee deecrito la invención como antecede, ee reclama como propiedad lo contenido en las siguientes reivindicaciones:
1. Un aparato de reproducción de contenido caracterizado porque comprende: una unidad de reproducción de contenido para reproducir un contenido grabado; una unidad de ejecución de programas que funciona para iniciar y terminar un programa; una unidad de cambio de velocidad de reproducción de contenido que funciona para cambiar una velocidad de reproducción del contenido grabado con base en una instrucción proveniente del programa; una unidad de identificación de programas de instrucción de reproducción de truco que funciona para identificar un programa que ha instruido a la unidad de cambio de velocidad de reproducción de contenido para cambiar la velocidad de reproducción del contenido; una unidad de identificación de programas terminados que funciona para identificar un programa terminado de programas que serán ejecutados por la unidad de ejecución de programas; una unidad de determinación de programae de instrucción de reproducción de truco que funciona para determinar si el programa que ee identificado por la unidad de identificación de programas de instrucción de reproducción de truco como un programa que ha inetruido el cambio en la velocidad de reproducción de contenido, ee o no el programa terminado identificado por la unidad de identificación de programae terminadoe y una unidad de proceeamiento de terminación de programas de instrucción de reproducción de truco que funciona para cambiar la velocidad de reproducción del contenido a una velocidad de reproducción normal cuando la unidad de determinación de programas de instrucción de reproducción de truco determine que el programa que ha instruido un cambio en la velocidad de reproducción del contenido sea el programa terminado .
2. El aparato de reproducción de contenido de conformidad con la reivindicación 1, caracterizado porque el contenido incluye video, audio, un programa e información de sincronización para sincronizar el video, el audio y el programa unos con otros, y el programa incluido en el contenido es ejecutado por la unidad de ejecución de programas con base en la información de sincronización.
3. El aparato de reproducción de contenido de conformidad con la reivindicación 1 , caracterizado porque comprende además una unidad de recepción de programas que funciona para recibir el programa, en donde el programa recibido por la unidad de recepción de programas puede ser ejecutado por la unidad de ejecución de programas.
4. El aparato de reproducción de contenido de conformidad con la reivindicación 2, caracterizado porque la unidad de ejecución de programas funciona para iniciar y terminar el programa con referencia a la información de sincronización incluida en el contenido .
5. El aparato de reproducción de contenido de conformidad con la reivindicación 2, caracterizado porque la información de sincronización incluye un indicador de cooperación con reproducción de truco que indica si el programa debe o no ser forzado a terminar, y la unidad de ejecución de programas funciona para iniciar y terminar el programa con base en el indicador de cooperación de reproducción de truco en la información de sincronización incluida en el contenido.
6. El aparato de reproducción de contenido de conformidad con la reivindicación 2, caracterizado porque la unidad de ejecución de programas funciona además para forzar al programa a terminar cuando ocurra una anormalidad durante la ejecución del programa.
7. El aparato de reproducción de contenido de conformidad con la reivindicación 4, caracterizado porque la unidad de ejecución de programas funciona para referirse a la información de sincronización incluida en el contenido, sólo cuando la velocidad de reproducción del contenido sea lenta.
8. El aparato de reproducción de contenido de conformidad con la reivindicación 7, caracterizado porque la unidad de ejecución de programas funciona para referirse a la información de sincronización incluida en el contenido, sólo cuando la velocidad de reproducción del contenido sea igual a o menor que la velocidad de reproducción normal.
MX2007013061A 2005-05-18 2006-05-15 Aparato de reproduccion de contenido. MX2007013061A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68197405P 2005-05-18 2005-05-18
JP2006010078 2006-05-15

Publications (1)

Publication Number Publication Date
MX2007013061A true MX2007013061A (es) 2008-01-16

Family

ID=40273370

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007013061A MX2007013061A (es) 2005-05-18 2006-05-15 Aparato de reproduccion de contenido.

Country Status (2)

Country Link
AT (1) ATE482567T1 (es)
MX (1) MX2007013061A (es)

Also Published As

Publication number Publication date
ATE482567T1 (de) 2010-10-15

Similar Documents

Publication Publication Date Title
EP1900206B1 (en) Content reproduction apparatus
US8739174B2 (en) Broadcast receiving terminal and program execution method
US7840116B2 (en) Broadcast receiving terminal
US20060280443A1 (en) Broadcast recording and reproduction apparatus and method thereof
US20070022208A1 (en) Recording and reproduction apparatus
US7590331B2 (en) Broadcast recording apparatus
WO2007072957A1 (en) Recording apparatus with remaining capacity detection unit
US20070157263A1 (en) Content management system
US20070140650A1 (en) Broadcast receiving apparatus
US20070011357A1 (en) Recording and reproduction apparatus
US20070154172A1 (en) Recording and reproduction apparatus
MX2007013061A (es) Aparato de reproduccion de contenido.
MX2007013537A (es) Aparato y metodo para la grabacion y reproduccion de transmisiones.
MX2007014724A (es) Terminal de recepcion de transmisiones y metodo de ejecucion de programas.
JP2006345505A (ja) 放送蓄積端末

Legal Events

Date Code Title Description
HC Change of company name or juridical status
FG Grant or registration