BRPI0614065A2 - aparelho de gravação e reprodução - Google Patents

aparelho de gravação e reprodução Download PDF

Info

Publication number
BRPI0614065A2
BRPI0614065A2 BRPI0614065-3A BRPI0614065A BRPI0614065A2 BR PI0614065 A2 BRPI0614065 A2 BR PI0614065A2 BR PI0614065 A BRPI0614065 A BR PI0614065A BR PI0614065 A2 BRPI0614065 A2 BR PI0614065A2
Authority
BR
Brazil
Prior art keywords
read control
program
unit
java program
playback
Prior art date
Application number
BRPI0614065-3A
Other languages
English (en)
Inventor
Satoshi Hashimoto
Takaaki Suzuki
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 BRPI0614065A2 publication Critical patent/BRPI0614065A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • H04N9/8045Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction using predictive coding

Abstract

APARELHO DE GRAVAçãO E REPRODUçãO. A presente invenção refere-se a um aparelho de gravação e reprodução que muda um programa o qual está correntemente sendo executado para um estado pausado, ou temporariamente muda um modo de desenho gráfico por um programa de aplicativo por um modo invisível, de modo a reproduzir um video gravado com uma funcionalidade de controle de leitura em uma velocidade de reprodução diferente de uma velocidade de reprodução normal, por meio disto tornando possível impedir um comportamento inesperado do programa mesmo quando um programa de aplicativo está executando um processo demorado.

Description

Relatório Descritivo da Patente de Invenção para "APARELHODE GRAVAÇÃO E REPRODUÇÃO".
CAMPO DA TÉCNICA
A presente invenção refere-se a um aparelho de gravação e re-produção o qual acumula um conteúdo e reproduz o conteúdo acumulado.
Especificamente, a presente invenção refere-se a uma configuração parareceber uma onda de transmissão que inclui um conteúdo composto de ví-deo e áudio assim como dados tal como um programa que são multiplexa-dos na onda de transmissão em sincronização uns com os outros e transmi-tidos, e para acumular o vídeo, o áudio e os dados, assim como uma confi-guração para executar um controle de leitura tal como o avanço rápido e re-torno do conteúdo enquanto mantendo a sincronização entre o vídeo e oáudio e os dados tal como um programa.
ANTECEDENTES DA TÉCNICA
Vários conteúdos são incluídos em uma onda de transmissãoenviada de uma estação de transmissão. Além de vídeo e áudio utilizadosem uma apresentação de TV normal, existe casos onde os dados estão in-cluídos no conteúdo. Existem diversos métodos para enviar os dados, osquais podem ser grosseiramente divididos em um método de enviar os da-dos cronologicamente e um método de enviar repetidamente os dados porum intervalo determinado. No primeiro método de enviar os dados cronologi-camente, por exemplo, os dados que continuam ao longo do curso do temposão enviados em ordem seqüencial. Este método está adequado para enviargrandes quantidades de dados durante um longo período de tempo, masexiste uma desvantagem pelo fato de que os dados que não puderam serrecebidos no tempo do envio não podem ser recebidos novamente. Por ou-tro lado, no último método de enviar repetidamente os dados em um interva-lo determinado, os mesmos dados são repetidamente enviados qualquernúmero de vezes durante um período fixo. Este método tem uma vantagemde que durante o período quando os mesmos dados estão sendo enviados,é aceitável receber qualquer um dos trechos de dados repetidamente envia-dos, e assim o tempo de recebimento não está limitado.A transmissão de dados, representada por BML1 e o envio dearquivos através de um carrossel de dados DSM-CC são exemplos destemétodo. É desconhecido, especificamente na transmissão, quando um rece-bedor selecionará um canal e iniciará a recepção. No método de enviar osdados cronologicamente, quando o início de recepção fica para trás do tem-po do envio e assim da aquisição de dados, os dados não podem ser read-quiridos. Portanto, quando enviando dados tais como um programa de apli-cativo juntamente o vídeo e o áudio na onda de transmissão, o método deenviar repetidamente os dados por intervalo determinado é favorável.
No presente, as especificações para receber uma onda detransmissão que inclui vídeo, áudio, e um programa de aplicativo e executaro programa de aplicativo em sincronização com o vídeo e o áudio, como nométodo acima, foram desenvolvidas, e estão em operação. É possível rece-ber e enviar um programa de aplicativo, carregar o programa de aplicativoem um terminal, e realizar várias funções extras pela execução do programade aplicativo, ao invés de simplesmente ver o vídeo e áudio.
Este método para enviar o programa de aplicativo e carregar oprograma de aplicativo no terminal é também denominado "carregamento".Por exemplo, uma especificação denominada Digital Video Broadcasting -Multimídia Home Platform (DVB-MHP) ETSIES201812 v1.1.1 (2003-12) foidesenvolvida na Europa, e as operações de acordo com esta especificaçãojá iniciaram. Além disso, a especificação Open Cable Application Platform(OCAP) 0C-SP-0CAP1.0-114-050119, a qual provê a mesma estrutura noambiente de transmissão a cabo, está sendo desenvolvida nos Estados Uni-dos, e realmente as operações estão determinadas para iniciar. Nestas es-pecificações, o programa de aplicativo está escrito na linguagem Java. Vá-rias Interfaces de Programação de Aplicativo (APIs) para sintonização, exibi-ção de gráfico, e similares estão providas no terminal, e o programa de apli-cativo Java pode controlar estas funções chamando as APIs.
Além disso, na América do Norte, a especificação OCAP-DVROC-SP-OCAP-DVR-IOI-040524, a qual objetiva adicionar uma funçãopara gravar e reproduzir o conteúdo na especificação OCAP, está sendodesenvolvida. Com esta especificação, o vídeo, o áudio e o programa deaplicativo Java executados em sincronização uns com os outros, os quaissão enviados como uma transmissão de televisão a cabo, são gravados co-mo um conteúdo, e mais ainda, são reproduzidos no mesmo modo comoquando o conteúdo gravado é diretamente reproduzido da onda de transmis-são. O programa de aplicativo é reproduzido em sincronização com o vídeoe o áudio, no mesmo modo que a reprodução direta da onda de transmissão.
Mais ainda, com o OCAP-DVR, o controle de leitura do conteúdoé executado pela gravação do conteúdo de transmissão em um meio de ar-mazenamento acessível aleatoriamente de alta velocidade, tal como um dis-co rígido, uma memória de semicondutor, e similares. Aqui, o controle deleitura refere-se a funções para reproduzir o conteúdo em uma velocidadearbitrária, de uma posição arbitrária, e assim por diante, tal como avançorápido, retorno, câmera lenta, pausa, saltar, e similares. Com o OCAP-DVR,o programa de aplicativo carregado no terminal da onda de transmissão po-de controlar a gravação e o controle de leitura do conteúdo. Em outras pala-vras, as APIs para gravar e controlar a leitura estão providas no terminal, e oprograma de aplicativo Java controla cada função chamando estas APIs.
Tipicamente, as informações de controle para sincronização sãomultiplexadas com antecedência em uma onda de transmissão de modo aexecutar um programa de aplicativo em sincronização com o vídeo e o áu-dio. Os programas de aplicativo são executados e terminados um por um deacordo com as informações de controle de sincronização. Portanto, é possí-vel mudar para um programa de aplicativo adequado a ser executado parauma cena específica de vídeo e áudio.
Além disso de acordo com a especificação de OCAP-DVR e si-milares, durante a reprodução de um conteúdo gravado com uma funcionali-dade de controle de leitura, um terminal precisa executar um programa deaplicativo em sincronização com a reprodução de vídeo e de áudio. Por e-xemplo, no caso onde um terminal avança rápido um conteúdo, este precisaexecutar um processamento de início / término de um programa de aplicati-vo, um processamento de desenho de gráfico pelo programa de aplicativo, esimilares, em um tempo apropriado de acordo com a velocidade de reprodu-ção do conteúdo.
Como acima mencionado, de acordo com a especificação deOCAP-DVR e similares, durante a reprodução de um conteúdo gravado comuma funcionalidade de controle de leitura, um terminal precisa executar umprograma de aplicativo em sincronização com a reprodução de vídeo e deáudio.
No entanto, em alguns casos, é difícil para o terminal executar oprograma de aplicativo em sincronização com o controle de leitura do vídeoe do áudio do conteúdo gravado. Por exemplo, no caso onde um terminalavança rápido um conteúdo gravado, é geralmente difícil executar o proces-samento de início / término de um programa de aplicativo, um processamen-to de desenho de gráfico por um programa de aplicativo, e similares, em umtempo apropriado de acordo com a velocidade de reprodução do vídeo e doáudio. Tipicamente, um programa de aplicativo inclui que tais processamen-tos demorados sejam executados. Além disso, no caso onde um programade aplicativo é executado em um terminal com baixa velocidade de proces-samento, o processamento de início / término do programa de aplicativo e oprocessamento de desenho de gráfico pelo programa de aplicativo, por e-xemplo, são retardados, o que dispara um comportamento inesperado doprograma de aplicativo.
De modo a resolver o problema acima mencionado, é um objetoda presente invenção prover um aparelho de gravação e reprodução paracontrolar os comportamentos inesperados de um programa de aplicativo,mesmo se um terminal precisar executar o programa de aplicativo em sin-cronização com a reprodução de vídeo e de áudio de um conteúdo gravadocom uma funcionalidade de controle de leitura.
DESCRIÇÃO DA INVENÇÃO
De modo a atingir o objeto acima, um aparelho de gravação ereprodução da presente invenção inclui: uma unidade de reprodução de con-teúdo a qual reproduz um conteúdo gravado em um meio de armazenamen-to; uma unidade de execução de programa a qual executa um programa econtrola o estado do programa; uma unidade de mudança de velocidade dereprodução de conteúdo a qual muda uma velocidade de reprodução do con-teúdo com base em uma instrução do programa o qual está em um estadode execução; uma unidade de detecção de controle de leitura a qual detectaum dos seguintes: que a velocidade de reprodução foi mudada de uma velo-cidade de reprodução normal para uma velocidade de reprodução diferenteda velocidade de reprodução normal; e que a velocidade de reprodução foimudada de uma velocidade de reprodução diferente da velocidade de repro-dução normal para a velocidade de reprodução normal; e uma unidade deprocessamento de controle de leitura a qual instrui a unidade de execuçãode programa para mudar o estado do programa com base na detecção pelaunidade de detecção de controle de leitura, e a unidade de execução deprograma controla o estado do programa de modo que o estado do progra-ma seja mudado para um estado instruído pela unidade de processamentode controle de leitura.
Por exemplo, quando a unidade de detecção de controle de lei-tura detecta que a velocidade de reprodução foi mudada da velocidade dereprodução normal para a velocidade de reprodução diferente, a unidade deprocessamento de controle de leitura instrui a unidade de execução de pro-grama para mudar o estado do programa o qual está no estado de execuçãopara um estado pausado, e a unidade de execução de programa pausa aexecução do programa de modo que o estado do programa seja mudadopara o estado pausado.
Como acima mencionado, enquanto um terminal está reprodu-zindo um conteúdo gravado com funcionalidade de controle de leitura, umprograma de aplicativo é mudado para um estado pausado. Portanto, é pos-sível controlar os comportamentos inesperados do programa de aplicativo. Étambém possível reduzir um acesso de alta carga a uma memória de semi-condutor ou similar representada por um disco rígido, um Disco Blu-ray (BD),um Disco Versátil Digital (DVD), um cartão de memória Digital Seguro (SD) esimilares, e reduzir a deterioração de tal meio de armazenamento, especifi-camente durante o avanço rápido e o retorno.Quando a unidade de detecção de controle de leitura detectaque a velocidade de reprodução mudou da velocidade de reprodução dife-rente para a velocidade de reprodução normal, a unidade de processamentode controle de leitura pode instruir a unidade de execução de programa amudar o estado do programa do estado pausado para o estado de execu-ção, e a unidade de execução de programa pode reiniciar a execução doprograma de modo que o estado do programa seja mudado para o estado deexecução.
A unidade de processamento de controle de leitura pode instruira unidade de execução de programa a mudar o estado de um programa es-pecífico somente, o programa específico sendo identificado entre os programas.
O programa específico pode ser identificado com base em in-formações multiplexadas no conteúdo.
O programa específico pode ser identificado com base em in-formações as quais foram previamente registradas por um programa privile-giado entre os programas.
Mais ainda, para atingir o objeto acima, um aparelho de grava-ção e reprodução da presente invenção inclui: uma unidade de reproduçãode conteúdo a qual reproduz um conteúdo gravado em um meio de armaze-namento; uma unidade de execução de programa a qual executa um pro-grama e controla o estado do programa; uma unidade de exibição de gráficoa qual controla um modo de gráfico entre um modo visível e um modo invisí-vel, o gráfico sendo desenhado pelo programa executado pela unidade deexecução de programa; uma unidade de mudança de velocidade de repro-dução de conteúdo a qual muda uma velocidade de reprodução do conteúdocom base em uma instrução do programa; uma unidade de detecção de con-trole de leitura a qual detecta um dos seguintes: que a velocidade de repro-dução foi mudada de uma velocidade de reprodução normal para uma velo-cidade de reprodução diferente da velocidade de reprodução normal; e que avelocidade de reprodução foi mudada de uma velocidade de reprodução di-ferente da velocidade de reprodução normal para a velocidade de reprodu-ção normal; e uma unidade de processamento de controle de leitura a qualinstrui a unidade de exibição de gráfico para mudar o modo do gráfico combase na detecção pela unidade de detecção de controle de leitura.
Por exemplo, quando a unidade de detecção de controle de Iei-tura detecta que a velocidade de reprodução foi mudada da velocidade dereprodução normal para a velocidade de reprodução diferente, a unidade deprocessamento de controle de leitura instrui a unidade de exibição de gráficopara mudar o modo do gráfico do modo visível para o modo invisível.
Como acima mencionado, enquanto um terminal está reprodu-zindo um conteúdo gravado com funcionalidade de controle de leitura, umdesenho de gráfico pelo programa de aplicativo é temporariamente desati-vado. Portanto, é possível controlar os comportamentos inesperados do pro-grama de aplicativo. É também possível reduzir um acesso de alta carga auma memória de semicondutor ou similar representada por um disco rígido,um Disco Blu-ray (BD), um Disco Versátil Digital (DVD), um cartão de memó-ria Digital Seguro (SD) e similares, e reduzir a deterioração de tal meio dearmazenamento, especificamente durante o avanço rápido e o retorno.
Quando a unidade de detecção de controle de leitura detectaque a velocidade de reprodução mudou da velocidade de reprodução dife-rente para a velocidade de reprodução normal, a unidade de processamentode controle de leitura pode instruir a unidade de exibição de gráfico a mudaro modo do gráfico do modo invisível para o modo visível.
A unidade de processamento de controle de leitura pode instruira unidade de exibição de gráfico a mudar o modo de somente um gráficodesenhado por um programa específico identificado entre os programas.
O programa específico pode ser identificado com base em in-formações multiplexadas no conteúdo.
O programa específico pode ser identificado com base em in-formações as quais foram previamente registradas por um programa privile-giado entre os programas.
O conteúdo e o programa podem ser informações incluídas emuma onda de transmissão e gravadas no meio de armazenamento.Note que a presente invenção pode ser implementada não so-mente como o aparelho de gravação e reprodução acima mencionado mastambém como um método de gravação e reprodução, um programa para ométodo e um meio de armazenamento para armazenar o programa.
Como informações adicionais sobre o fundamento técnico destepedido, a descrição do Pedido Provisório U.S. Número 60/696503 deposita-do em 06 de Julho de 2005, que inclui a especificação, os desenhos e asreivindicações, está aqui incorporado por referência em sua totalidade.
BREVE DESCRIÇÃO DOS DESENHOS
Estes e outros objetivos, vantagens e características da inven-ção ficarão mais aparentes da sua descrição seguinte tomada em conjuntocom os desenhos acompanhantes que ilustram uma modalidade específicada invenção. Nos Desenhos:
Figura 1 é um diagrama de configuração de um sistema detransmissão de acordo com a presente invenção;
Figura 2 é um diagrama que mostra um exemplo de como utilizaruma banda de freqüência utilizada em comunicações entre um sistema dolado de estação de transmissão e um aparelho de terminal, em um sistemade televisão a cabo de acordo com a presente invenção;
Figura 3 é um diagrama que mostra um exemplo de como utilizaruma banda de freqüência utilizada em comunicações entre um sistema dolado de estação de transmissão e um aparelho de terminal, em um sistemade televisão a cabo de acordo com a presente invenção;
Figura 4 é um diagrama que mostra um exemplo de como utilizaruma banda de freqüência utilizada em comunicações entre um sistema dolado de estação de transmissão e um aparelho de terminal, em um sistemade televisão a cabo de acordo com a presente invenção;
Figura 5 é um diagrama de configuração de um pacote de TSpredefinido por especificações de MPEG-2;
Figura 6 é um diagrama esquemático de um fluxo de transportede MPEG-2;
Figura 7 é um diagrama que mostra um exemplo de divisãoquando um pacote de PES predefinido por especificações de MPEG-2 é e-xecutado em pacotes de TS;
Figura 8 é um diagrama que mostra um exemplo de divisãoquando uma seção de MPEG-2 predefinida por especificações de MPEG-2 éexecutada em pacotes de TS
Figura 9 é um diagrama de configuração de uma seção deMPEG-2 predefinida por especificações de MPEG-2;
Figura 10 é um diagrama que mostra um exemplo de utilizaçãode uma seção de MPEG-2 predefinida por especificações de MPEG-2;
Figura 11 é um diagrama que mostra um exemplo de utilizaçãode uma PMT predefinida por especificações de MPEG-2;
Figura 12 é um diagrama que mostra um exemplo de utilizaçãode uma PAT predefinida por especificações de MPEG-2;
Figura 13 é um diagrama que mostra um exemplo de configura-ção de uma configuração de hardware de um aparelho de gravação e repro-dução de acordo com a presente invenção;
Figura 14 é um diagrama que mostra um exemplo de um painelfrontal de uma unidade de entrada 1310 em uma configuração de hardwarede um aparelho de terminal 1200 de acordo com a presente invenção;
Figura 15 é um diagrama que mostra um exemplo de uma cone-xão no momento de gravação, no aparelho de gravação e reprodução deacordo com a presente invenção;
Figura 16 é um diagrama que mostra um exemplo de uma cone-xão no momento de reprodução, no aparelho de gravação e reprodução deacordo com a presente invenção;
Figura 17 é um diagrama que mostra uma estrutura de um pro-grama armazenado em um aparelho de terminal de acordo com a presenteinvenção;
Figura 18 é um diagrama que mostra um exemplo de um EPGexecutado por um aparelho de terminal de acordo com a presente invenção;
Figura 19 é um diagrama que mostra um exemplo de um EPGexecutado por um aparelho de terminal de acordo com a presente invenção;Figura 20 é um diagrama que mostra um exemplo de informa-ções armazenadas em uma unidade de armazenamento secundário de a-cordo com a presente invenção;
Figura 21 é um diagrama que mostra um exemplo de uma tabelade gerenciamento de informações de gravação de acordo com a presenteinvenção;
Figura 22 é um diagrama esquemático que mostra os detalhesde uma AIT especificada no padrão DVB-MHP de acordo com a presenteinvenção;
Figura 23 é um diagrama esquemático que mostra um sistemade arquivo enviado em formato DSM-CC de acordo com a presente invenção;
Figura 24 é um diagrama que mostra um exemplo de uma cone-xão no momento de gravação, no aparelho de gravação e reprodução deacordo com a presente invenção;
Figura 25 é um diagrama que mostra um exemplo de uma cone-xão no momento de reprodução, no aparelho de gravação e reprodução deacordo com a presente invenção;
Figura 26 é um diagrama que mostra um exemplo de uma tabelade gerenciamento de informações de gravação de acordo com a presenteinvenção;
Figura 27 é um diagrama que mostra um exemplo de uma confi-guração de um gerenciador de controle de leitura e um AM de acordo com apresente invenção;
Figura 28A é um diagrama esquemático que mostra os detalhesde uma AIT para estender o padrão DVB-MHP de acordo com a presenteinvenção;
Figura 28B é um diagrama esquemático que mostra os detalhesde uma AIT para estender o padrão DVB-MHP de acordo com a presenteinvenção;
Figura 29 é um fluxograma no momento de reproduzir de umserviço de acordo com a presente invenção;Figura 30 é um fluxograma no momento de mudar uma veloci-dade de reprodução de um serviço de acordo com a presente invenção;
Figura 31 é um fluxograma no momento de atualizar uma AIT deacordo com a presente invenção;
Figura 32 é um diagrama que mostra um exemplo de um geren-ciador de controle de leitura e um AM de acordo com a presente invenção;
Figura 33 é um fluxograma no momento de atualizar um sinali-zador pausado por um programa Java de acordo com a presente invenção;
Figura 34 é um fluxograma no momento de reproduzir de umserviço de acordo com a presente invenção;
Figura 35 é um diagrama que mostra um exemplo de uma confi-guração de um gerenciador de controle de leitura e outros de acordo com apresente invenção;
Figura 36A é um diagrama esquemático que mostra os detalhesde uma AIT para estender o padrão DVB-MHP de acordo com a presenteinvenção;
Figura 36B é um diagrama esquemático que mostra os detalhesde uma AIT para estender o padrão DVB-MHP de acordo com a presenteinvenção;
Figura 37 é um fluxograma no momento de mudar uma veloci-dade de reprodução de um serviço de acordo com a presente invenção;
Figura 38 é um fluxograma no momento de atualizar uma AIT deacordo com a presente invenção;
Figura 39 é um diagrama que mostra um exemplo de uma confi-guração de um gerenciador de controle de leitura e outros de acordo com apresente invenção;
Figura 40 é um fluxograma no momento de atualizar um sinali-zador invisível por um programa Java de acordo com a presente invenção;
Figura 41 é um diagrama esquemático que mostra os detalhesde informações de processamento de intervalo de controle de leitura de a-cordo com a presente invenção; e
Figura 42 é um diagrama esquemático que mostra os detalhesde informações de processamento de intervalo de controle de leitura de a-
cordo com a presente invenção.
MELHOR MODO PARA EXECUTAR A INVENÇÃO
A primeira invenção é um aparelho de gravação e reprodução oqual grava uma onda de transmissão e reproduz a onda de transmissão gra-vada, o aparelho incluindo: uma unidade de determinação de início / fim decontrole de leitura a qual determina uma mudança de reprodução normalpara controle de leitura ou um retorno de controle de leitura para reproduçãonormal da onda de transmissão gravada; uma unidade de gerenciamento deprocessamento de intervalo de controle de leitura a qual identifica um pro-grama o qual deve ser mudado para um estado pausado ou um programa oqual deve ser retornado de um estado pausado, em um intervalo de controlede leitura; e uma unidade de processamento de intervalo de controle de lei-tura a qual faz uma solicitação para mudar o programa para o estado pausa-do ou para retornar o programa do estado pausado, em que a unidade dedeterminação de início / fim de controle de leitura notifica a unidade de ge-renciamento de processamento de intervalo de controle de leitura da mu-dança da reprodução normal para o controle de leitura ou o retorno do con-trole de leitura para a reprodução normal, e a unidade de gerenciamento deprocessamento de intervalo de controle de leitura notifica a unidade de pro-cessamento de intervalo de controle de leitura do programa o qual deve sermudado para o estado pausado ou do programa o qual deve ser retornadodo estado pausado.
A segunda invenção é um aparelho de gravação e reprodução oqual grava uma onda de transmissão e reproduz a onda de transmissão gra-vada, o aparelho incluindo: uma unidade de determinação de início / fim decontrole de leitura a qual determina uma mudança de reprodução normalpara controle de leitura ou um retorno de controle de leitura para reproduçãonormal da onda de transmissão gravada; uma unidade de gerenciamento deprocessamento de intervalo de controle de leitura a qual identifica um pro-grama o qual deve ser mudado para um modo invisível ou um programa oqual deve ser retornado de um modo invisível, em um intervalo de controlede leitura; e uma unidade de processamento de intervalo de controle de lei-tura a qual faz uma solicitação para mudar o programa para o modo invisívelou para retornar o programa do modo invisível, em que a unidade de deter-minação de início / fim de controle de leitura notifica a unidade de gerencia-mento de processamento de intervalo de controle de leitura da mudança dareprodução normal para o controle de leitura ou o retorno do controle de lei-tura para a reprodução normal, e a unidade de gerenciamento de processa-mento de intervalo de controle de leitura notifica a unidade de processamen-to de intervalo de controle de leitura do programa o qual deve ser mudadopara o modo invisível ou do programa o qual deve ser retornado do modoinvisível.
A terceira invenção é um método de gravação e reprodução paragravar uma onda de transmissão e reproduzir a onda de transmissão grava-da, o método incluindo: uma etapa de determinação de início / fim de contro-Ie de leitura para determinar uma mudança de reprodução normal para con-trole de leitura ou um retorno de controle de leitura para reprodução normalda onda de transmissão gravada; uma etapa de gerenciamento de proces-samento de intervalo de controle de leitura para identificar um programa oqual deve ser mudado para um estado pausado ou um programa o qual de-ve ser retornado de um estado pausado, em um intervalo de controle de lei-tura; e uma etapa de processamento de intervalo de controle de leitura parafazer uma solicitação para mudar o programa para o estado pausado ou pa-ra retornar o programa do estado pausado, em que na etapa de determina-ção de início / fim de controle de leitura, a mudança da reprodução normalpara o controle de leitura ou o retorno do controle de leitura para a reprodu-ção normal é notificada para a etapa de gerenciamento de processamentode intervalo de controle de leitura e na etapa de gerenciamento de proces-samento de intervalo de controle de leitura, o programa o qual deve ser mu-dado para o estado pausado ou o programa o qual deve ser retornado doestado pausado é notificado para a etapa de processamento de intervalo decontrole de leitura.
A quarta invenção é um método de gravação e reprodução paragravar uma onda de transmissão e reproduzir a onda de transmissão grava-da, o método incluindo: uma etapa de determinação de início / fim de contro-le de leitura para determinar uma mudança de reprodução normal para con-trole de leitura ou um retorno de controle de leitura para reprodução normalda onda de transmissão gravada; uma etapa de gerenciamento de proces-samento de intervalo de controle de leitura para identificar um programa oqual deve ser mudado para um modo invisível ou um programa o qual deveser retornado de um modo invisível, em um intervalo de controle de leitura; euma etapa de processamento de intervalo de controle de leitura para fazeruma solicitação para mudar o programa para o modo invisível ou para retor-nar o programa do modo invisível, em que na etapa de determinação de iní-cio / fim de controle de leitura, a mudança da reprodução normal para o con-trole de leitura ou o retorno do controle de leitura para a reprodução normal énotificada para a etapa de gerenciamento de processamento de intervalo decontrole de leitura e na etapa de gerenciamento de processamento de inter-valo de controle de leitura, o programa o qual deve ser mudado para o modoinvisível ou o programa o qual deve ser retornado do modo invisível é notifi-cado para a etapa de processamento de intervalo de controle de leitura.
PRIMEIRA MODALIDADE
Daqui em diante, um aparelho e um método de acordo com aprimeira modalidade da presente invenção serão descritos com referênciaaos desenhos. A presente invenção objetiva a gravação e a reprodução deum conteúdo enviado e recebido com um meio arbitrário: no entanto, na pre-sente modalidade, um sistema de transmissão de televisão a cabo está des-crito como um exemplo. No sistema de transmissão de televisão a cabo oaparelho de gravação e reprodução de transmissão (aparelho de gravação ereprodução) é geralmente denominado um aparelho de terminal.
A Figura 1 é um diagrama de blocos que mostra uma relação deaparelhos que compõem um sistema de transmissão; o sistema de transmis-são está composto de um sistema do lado de estação de transmissão 101(cabeça de rede), e três aparelhos de terminal: um aparelho de terminalA111, um aparelho de terminal B112, e um aparelho de terminal C113. Umacoplamento 121 entre o sistema do lado de estação de transmissão e cadaaparelho de terminal é, no sistema de cabo, um acoplamento com fio tal co-mo um cabo coaxial, um cabo de fibra ótica, e similares. Na Figura 1, umsistema do lado de estação de transmissão está acoplado com três apare-Ihos de terminal, mas o número de aparelhos de terminal é arbitrário.
O sistema do lado de estação de transmissão 101 envia infor-mações tais como vídeo / áudio / dados para uma transmissão de dados emum sinal de transmissão para uma pluralidade de aparelhos de terminal. Osinal de transmissão é enviado utilizando uma freqüência dentro de umabanda de freqüência determinada pelas normas operacionais do sistema detransmissão, as leis de uma região / país no qual o sistema de transmissão éoperado, e assim por diante.
Com o sistema de cabo na presente modalidade, a banda defreqüência utilizada na transmissão de um sinal de transmissão é divididapara cada um de detalhes de dados e direções de transmissão (de entrada,de saída) e atribuída a estes. A Figura 2 é uma planilha que indica um e-xemplo da divisão da banda de freqüência. A banda de freqüência estágrossamente dividida em dois tipos: Fora De Banda (abrev. OOB) e Em-banda. 5 MHz a 130 MHz é atribuído como OOB, e é principalmente utilizadoem troca de dados de entrada / de saída entre o sistema do lado de estaçãode transmissão 110 e o aparelho de terminal A111, o aparelho de terminalB112, e o aparelho de terminal C113. 130 MHz a 864 MHz é atribuído comoEm-banda, e é principalmente utilizado em um canal de transmissão somen-te de saída que inclui vídeo / áudio. Um formato de modulação QPSK é utili-zado com OOB, e um formato de modulação QAM64 ou QAM256 é utilizadoEm-banda. A tecnologia de formato de modulação é geralmente conhecida ede pouca importância para a presente invenção, e portanto as descriçõesdetalhadas são omitidas.
A Figura 3 é um exemplo de uma utilização mais detalhada debanda de freqüência de OOB. 70 MHz a 74 MHz é utilizado nos dados desaída enviados do sistema do lado de estação de transmissão 101, e todosos aparelho de terminal A111, o aparelho de terminal B112, e o aparelho determinal C113 recebem os mesmos dados do sistema do lado de estação detransmissão 101. Por outro lado, 10,0 MHz a 10,1 MHz é utilizado nos dadosde entrada enviados do aparelho de terminal A111 para o sistema do lado deestação de transmissão 101; 10,1 MHz a 10,2 MHz é utilizado nos dados deentrada enviados do aparelho de terminal B112 para o sistema do lado deestação de transmissão 101; e 10,2 MHz a 10,3 MHZ é utilizado nos dadosde entrada enviados do aparelho de terminal C113 para o sistema do ladode estação de transmissão 101. Através disto, é possível enviar independen-temente dados únicos de cada aparelho de terminal A111, B112, e C113para o sistema do lado de estação de transmissão 101.
A Figura 4 é um exemplo de utilização de uma banda de fre-qüência Em-banda. 150 MHZ a 156 MHz e 156 MHz a 162 MHz são atribuí-dos a um canal de TV 1 e um canal de TV 2 respectivamente, e após o que,os canais de TV são atribuídos em intervalos de 6 MHz. Os canais de rádiosão atribuídos em unidades de 1 MHz de 310 MHz em diante. Cada um des-tes canais pode ser utilizado como uma transmissão analógica ou umatransmissão digital. A transmissão digital é enviada em formato de pacote deTS com base em especificações de MPEG-2, e é também possível enviarvários tipos de dados tais como dados de transmissão de dados e informa-ções de organização de apresentação de TV para configurar EPG, além deáudio e de vídeo.
O sistema do lado de estação de transmissão 101 utiliza as ban-das de freqüência acima descritas para enviar um sinal de transmissão a-propriado para os aparelhos de terminal, e portanto tem uma unidade demodulação de QPSK, uma unidade de modulação de QAM, e assim por di-ante. Além disso, o sistema do lado de estação de transmissão 101 tem umdemodulador de QPSK para receber os dados dos aparelhos de terminal.
Mais ainda, o sistema do lado de estação de transmissão 101 pode ser ima-ginado como tendo vários dispositivos relacionados com a unidade de modu-lação e a unidade de demodulação. No entanto, a presente invenção refere-se principalmente aos aparelhos de terminal, e portanto as descrições deta-lhadas são omitidas.Enquanto isto, os aparelhos de terminal A111, B112,e C113 ca-da um tem uma unidade de demodulação de QAM e uma unidade de demo-dulação de QPSK de modo a receber e reproduzir um sinal de transmissãopara o sistema do lado de estação de transmissão 101. Além disso cada a-parelho de terminal tem uma unidade de modulação de QSPK de modo aenviar os seus dados únicos para o sistema do lado de estação de transmis-são 101. Na presente invenção os aparelhos de terminal são aparelhos degravação e de reprodução de transmissão (aparelhos de gravação e repro-dução), e as configurações detalhadas serão posteriormente descritas.
O sistema do lado de estação de transmissão 101 modula umfluxo de transporte de MPEG-2 e transmite o fluxo dentro do sinal de trans-missão, Um aparelho de terminal recebe o sinal de transmissão, demodula ereproduz o fluxo de transporte de MPEG-2, e extrai as informações necessá-rias do fluxo, e as utiliza. De modo a descrever uma função de dispositivo euma estrutura de conexão presente no aparelho de terminal, a estrutura dofluxo de transporte de MPEG-2 é primeiro descrita em um modo simples.
A Figura 5 é um diagrama que mostra a estrutura de um pacotede TS. Um pacote de TS 500 tem um comprimento de 188 bytes, e estácomposto de um cabeçalho 501, um campo de adaptação 502, e uma carga503. O cabeçalho 501 contém as informações de controle do pacote de TS.
O cabeçalho tem um comprimento de 4 bytes, e tem a estrutura mostradaem 504. No cabeçalho 501, existe um campo denotado como "ID de Pacote"(daqui em diante, PID), e o pacote de TS é identificado através do valor des-ta PID. O campo de adaptação 502 contém informações adicionais tais comoas informações de tempo. O campo de adaptação 502 não necessariamenteprecisa estar presente, e existe casos onde o campo de adaptação 502 nãoestá presente. A carga 503 contém as informações carregadas nos pacotesde TS, tais como os dados de vídeo, de áudio, e de transmissão de dados.
A Figura 6 é um diagrama esquemático de um fluxo de transpor-te de MPEG-2. O pacote de TS contém várias informações na carga, taiscomo o vídeo, o áudio, os dados utilizados para a transmissão de dados, esimilares. Um pacote de TS 601 e um pacote de TS 603 cada um contémuma PID 100 no cabeçalho, e contém as informações referentes ao vídeo 1na carga. Um pacote de TS 602 e um pacote de TS 605 cada um contémuma PID 200 no cabeçalho, e contém as informações referentes aos dados1 na carga. Um pacote de TS 604 contém uma PID 300 no cabeçalho, e con-tém as informações referentes ao áudio 1 na carga. A mistura de pacotes deTS os quais contém vários tipos de dados nas cargas e o envio destes paco-tes como uma série em seqüência é denominado multiplexação. Um fluxo detransporte de MPEG-2 600 é um exemplo de uma configuração na qual ospacotes de TS 601 a 605 são multiplexados.
Os pacotes de TS que tem PIDs idênticas contém tipos idênticosde informações. Portanto, o aparelho de terminal reproduz o vídeo e o áudio,e reproduz os dados tais como as informações de organização de apresen-tação de TV1 recebendo os pacotes de TS multiplexados e extraindo, porPID, as informações que o pacote de TS contém. Na Figura 6, o pacote deTS 601 e o pacote de TS 603 cada um carrega as informações referentes aovídeo 1, e o pacote de TS 602 e o pacote de TS 605 cada um carrega asinformações referentes aos dados 1.
Aqui, uma descrição é fornecida referente a um formato de cadatipo de dados contidos na carga. O vídeo e o áudio estão representados porum formato denominado um pacote de Fluxo Elementar Empacotado (PES).
O pacote de PES inclui as informações de vídeo ou as informações de áudiode certas horas de um dia, e pelo recebimento do pacote de PES, o aparelhode gravação e reprodução de transmissão pode emitir as informações devídeo e de áudio contidas naquele pacote de PES para uma tela e um alto-falante. A estação de transmissão transmite os pacotes de PES sem pausa,e portanto é possível que o aparelho de gravação e reprodução de transmis-são reproduza continuamente o vídeo e o áudio sem pausa. Quando o paco-te de PES é realmente transmitido, o pacote de PES é dividido e armazena-do nas cargas de uma pluralidade de pacotes de TS no caso onde o pacotede PES tem um tamanho maior do que a carga de um pacote de TS. A Figu-ra 7 mostra um exemplo de divisão quando um pacote de PES é carregado.
Um pacote de PES 701 é muito grande para ser armazenado e transmitidoem uma carga de um único pacote de TS, e portanto, o pacote de PES 701está dividido em uma divisão de pacote de PES A 702a, uma divisão de pa-cote de PES B 702b, e uma divisão de pacote de PES C 702c, e é carregadoem três pacotes de TS 703 a 705 os quais tem PIDs idênticas. Na realidade,o vídeo e o áudio são cada um obtidos como um fluxo elementar (ES) que éobtido concatenando os dados contidos nas cargas de uma pluralidade depacotes de PES. O formato deste fluxo elementar é de vídeo e áudio digitali-zados, tal como definido pelo padrão de Vídeo MPEG-2, o padrão de ÁudioMPEG-1 e 2, e similares.
Por outro lado, as informações tais como as informações de or-ganização de apresentação de TV e os dados utilizados para a transmissãode dados são expressos utilizando um formato denominado seção deMPEG-2. Quando a seção de MPEG-2 é realmente transmitida, a seção deMPEG-2 é dividida e armazenada nas cargas de uma pluralidade de pacotesde TS no caso onde a seção de MPEG-2 tem um tamanho maior do que acarga de um pacote de TS. A Figura 8 mostra um exemplo de divisão quan-do a seção de MPEG-2 é executada. Como uma seção de MPEG-2 801 émuito grande para ser armazenada e transmitida em uma carga de um únicopacote de TS, a seção de MPEG-2 801 é dividida em uma divisão de seçãoA 802a, uma divisão de seção B 802b, e uma divisão de seção C 802c, e écarregada em três pacotes de TS 803 a 805 os quais tem PIDs idênticas.
A Figura 9 expressa uma estrutura da seção de MPEG-2. Umaseção de MPEG-2 900 está configurada em um cabeçalho 901 e uma carga902. O cabeçalho 901 contém as informações de controle da seção deMPEG-2. Esta configuração está expressa por uma configuração de cabeça-lho 903. A carga 902 contém os dados carregados na seção de MPEG-2900. Uma tablejd presente na configuração de cabeçalho 903 expressa otipo da seção de MPEG-2, e uma table_id_extension é um identificador deextensão utilizado para distinguir adicionalmente entre as seções de MPEG-2 com uma tablejd idêntico. O caso onde as informações de organização deapresentação de TV são transmitidas, como na Figura 10, pode ser dadocomo um exemplo de utilização da seção de MPEG-2. Neste exemplo, comodenotado na linha 1004, as informações necessárias para demodular o sinalde transmissão estão denotadas na seção de MPEG-2 a qual tem uma ta-blejd de 64 na estrutura de cabeçalho 903, e esta seção de MPEG-2 é adi-cionalmente carregada em um pacote de TS atribuído com uma PID de 16.
O formato de PES não existe no caso da seção de MPEG-2. Poresta razão, o fluxo elementar (ES) é uma concatenação das cargas de paco-tes de TS identificados por PIDs idênticas dentro do fluxo de transporte deMPEG-2. Por exemplo, na Figura 8, os pacotes de TS 803 a 805, nos quaisa seção de MPEG-2 801 é dividida e carregada, estão todos identificadoscom as PIDs de 200. Pode ser dito que estes são os ESs os quais carregama seção de MPEG-2 801.
Um conceito denominado um programa ainda existe no fluxo detransporte de MPEG-2. O programa está expresso como uma coleção deESs, e é utilizado no caso onde uma manipulação de uma pluralidade deESs todos juntos é desejável. Quando o programa é utilizado, é possívelmanipular vídeo / áudio, assim como acompanhar os dados de transmissãode dados, todos juntos. Por exemplo, no caso de manipular simultaneamenteo vídeo / áudio a ser reproduzido, agrupando o ES de vídeo e o ES de áudiocomo um programa, o aparelho de gravação e reprodução de transmissãodeve reproduzir simultaneamente estes dois ESs como uma apresentaçãode TV.
Para expressar o programa, duas tabelas, denominadas umaTabela de Mapa de Programa (PMT) e uma Tabela de Associação de Pro-grama (PAT) são utilizadas em MPEG-2. As descrições detalhadas podemser encontradas nas especificações de ISO/IEC 13818-1, "MPEG-2 Sys-tems". A PMT e a PAT estão aqui adiante descritas em termos simples.
A PMT é uma tabela, como muitas as quais estão incluídas nofluxo de transporte de MPEG-2 como o número de programas. A PMT estáconfigurada como uma seção de MPEG-2, e tem uma tablejd de 2. A PMTcontém um número de programa utilizado na identificação do programa einformações adicionais do programa, assim como as informações referentesaos ESs que pertencem ao programa. Um exemplo da PMT está fornecidona Figura 11. 1100 mostra um número de programa. Os números de pro-grama são atribuídos unicamente a programas no mesmo fluxo de transpor-te, e são utilizados para identificar as PMTs. As linhas 1111 a 1114 expres-sam as informações referentes a ESs individuais. Uma coluna 1101 mostraos tipos de ESs1 nos quais "vídeo", "áudio", "dados", e assim por diante es-tão especificados. Uma coluna 1102 mostra as PIDs dos pacotes de TS quecompõem cada ES. Uma coluna 1103 mostra as informações adicionais re-ferentes aos ESs. Por exemplo, o ES mostrado na linha 1111 é um ES deáudio, e é carregado em um pacote de TS com uma PID de 5011.
A PAT é uma tabela, das quais somente uma está presente nofluxo de transporte de MPEG-2. A PAT está configurada como uma seção deMPEG-2, tem uma tablejd de 0, é a carregada em um pacote de TS comuma PID de 0. A PAT contém uma transport_streamJd utilizada na identifi-cação do fluxo de transporte de MPEG-2, e informações referentes a todasas PMTs que representam os programas que existem no fluxo de transportede MPEG-2. Um exemplo da PAT está dado na Figura 12. 1200 é umatransport_stream_id. A transport_stream_id é utilizada na identificação dofluxo de transporte de MPEG-2. As linhas 1211 a 1213 expressam as infor-mações referentes aos programas. Uma coluna 1201 mostra os números deprograma. Uma coluna 1202 mostra as PIDs dos pacotes de TS os quaiscarregam as PMTs que correspondem aos respectivos programas. Por e-xemplo, a PMT do programa mostrado na linha 1211 tem um número deprograma de 101, e a PMT correspondente é carregada no pacote de TScom uma PID de 501.
No caso onde o aparelho de terminal reproduz um certo progra-ma, o aparelho de terminal utiliza a PAT e a PMT e identifica o vídeo e o áu-dio que compõem o programa, e reproduz aquele vídeo e áudio. Por exem-plo, em relação ao fluxo de transporte de MPEG-2 que carrega a PAT naFigura 12 e a PMT na Figura 11, o seguinte procedimento é seguido no casoonde o vídeo e o áudio que pertencem ao programa com um número de pro-grama de 101 são reproduzidos. Primeiro, a PAT transmitida como uma se-ção de MPEG-2 com uma tablejd de "0" é adquirida de um pacote de TScom uma PID de "0". A PAT é pesquisada para encontrar um programa como número de programa "101", e a linha 1211 é obtida. Da linha 1211, a PID"501", do pacote de TS o qual carrega a PMT do programa com um númerode programa "101", é obtida. A seguir, a PMT carregada como a seção deMPEG-2 com uma tablejd de "2" é adquirida do pacote de TS com a PID de"501". Uma linha 1111, a qual são informações de ES de áudio, e uma linha1112, a qual são informações de ES de vídeo, são obtidas da PMT. UmaPID "5011" do pacote de TS a qual carrega o ES de áudio é obtida da linha1111. Além disso, uma PID "5012" do pacote de TS a qual carrega o ES deáudio é obtida da linha 1112. A seguir, um pacote de PES de áudio é adqui-rido do pacote de TS com uma PID "5011", e um pacote de PES de vídeo éadquirido do pacote de TS com uma PID de "5012". Através disto, é possívelobter os pacotes de PES de vídeo e de áudio a serem reproduzidos, e o ví-deo e o áudio carregados nestes pacotes podem ser reproduzidos.
Note que existe casos onde o fluxo de transporte de MPEG-2está misturado. Esta é uma configuração denominada sistema de acessocondicional. Por exemplo, embaralhando os pacotes de PES os quais carre-gam certo vídeo e áudio, somente espectadores especificados os quais po-dem desembaralhá-los são capazes de assistir este vídeo e áudio. De modoa desembaralhar e assistir o vídeo e o áudio, um espectador deve desemba-ralhá-los utilizando um dispositivo denominado um desembaralhador. Porexemplo, em um aparelho de terminal compatível com OCAP, um adaptadorem forma de cartão com um desembaralhador interno é utilizado. Um opera-dor de televisão a cabo distribui um adaptador ajustado para ser capaz dedesembaralhar um programa especificado para cada espectador, e o espec-tador insere aquele adaptador no aparelho de terminal. Fazendo isto, o a-daptador desembaralha o programa especificado com base em informaçõesde desembaralhamento tais como uma chave de desembaralhamento e in-formações de contrato de cada detentor de contrato. Um método para de-sembaralhar, um método para obter uma chave de desembaralhamento, esimilares dependem do adaptador, e não tem uma influência sobre a imple-mentação da presente invenção.Até agora, descrições simples referentes às especificações deMPEG-2 foram fornecidas, e após o que, definições detalhadas de termino-logia são fornecidas. Na presente invenção, dois tipos do termo "programa"existem. Um é um "programa" o qual aparece nas especificações de MPEG-2, e o outro é um "programa" que refere-se a uma montagem de código exe-cutada por uma CPU. Como a primeira é um sinônimo do termo "serviço"utilizado nas normas de operação, daqui em diante, para evitar confusão, oprimeiro será denominado "serviço" e o último será denominado simples-mente "programa". Mais ainda, referindo ao último, um "programa" especifi-camente escrito na linguagem Java (TM) é denominado um "programa Java".
Uma descrição foi fornecida referente a diversos tipos de infor-mações gerais especificadas nas especificações de MPEG-2 de acordo coma presente invenção. Daqui em diante, o terminal de gravação e reproduçãode transmissão utilizado na presente modalidade será descrito em detalhes.
A Figura 13 é um diagrama de blocos que mostra uma configu-ração de hardware geral do aparelho de gravação e reprodução de trans-missão de acordo com a presente modalidade; em outras palavras, umaconfiguração interna específica dos aparelhos de terminal 111, 112, e 113mostrados na Figura 1. 1300 é um aparelho de gravação e reprodução detransmissão, o qual está configurado em: um sintonizador 1301; um decodi-ficador de TS (Demultiplexador de TS) 1302; um decodificador de AV 1303;um alto-falante 1304; um display 1305; uma CPU 1306; uma unidade de ar-mazenamento secundário 1307; uma unidade de armazenamento primário1308; uma ROM 1309; uma unidade de entrada 1310; um adaptador 1311;um codificador de AV 1312; um multiplexador (multiplexador de fluxo detransporte de MPEG-2 ou similar) 1313; e um plano de gráfico 1314. Noteque a presente modalidade é obtida pela expansão de um terminal de gra-vação e reprodução de transmissão realizado pelas especificações de O-CAP-DVR, e a configuração de hardware básica é quase idêntica àquelarequerida pelas especificações de OCAP-DVR.
O sintonizador 1301 é um dispositivo o qual demodula um sinalde transmissão modulado e transmitido do sistema do lado de estação detransmissão 101, de acordo com as informações de sintonização tais comouma freqüência e similares especificadas pela CPU 1306. Aqui, as informa-ções de sintonização são informações nas quais uma freqüência, um forma-to de modulação, e similares podem ser especificadas. Um fluxo de transpor-te de MPEG-2 obtido como um resultado de demodulação pelo sintonizador1301 é enviado para o decodificador de TS 1302 através do adaptador 1311com uma função de desembaralhador.
O decodificador de TS 1302 é um dispositivo o qual tem umafunção de segregar os pacotes de PES e as seções de MPEG-2 as quaisestão em conformidade com as condições especificadas do fluxo de trans-porte de MPEG-2, com base em uma PID, uma condição de filtro de seção,e assim por diante prescritas pela CPU 1306. No caso onde uma transmis-são é recebida e um serviço é reproduzido sem gravação, o fluxo de trans-porte de MPEG-2 o qual o adaptador 1311 emite é inserido no decodificadorde TS 1302. Por outro lado, no caso de reproduzir um serviço gravado naunidade de armazenamento secundário 1307, o fluxo de transporte deMPEG-2 o qual a unidade de armazenamento secundário 1307 emite é inse-rido no decodificador de TS 1302. Qual entrada receber é controlado pelaCPU 1306.
Os pacotes de PES do vídeo e do áudio os quais o decodificadorde TS 1302 segregou são emitidos para o decodificador de AV 1303. Alémdisso, a seção de MPEG-2 segregada pelo decodificador de TS 1302 étransferida para a unidade de armazenamento primário 1308 através de A-cesso de Memória Direto (DMA), e é utilizada por um programa executadapela CPU 1306.
O decodificador de AV 1303 é um dispositivo com uma funçãode decodificar o ES de vídeo e o ES de áudio codificados. O decodificadorde AV recolhe o ES do pacote de PES que carrega as informações de áudioe de vídeo transferidas do decodificador de TS, e decodifica o ES. Um sinalde áudio e um sinal de vídeo obtidos através da decodificação executadapelo decodificador de AV 1303 são emitidos para o alto-falante 1304 e o dis-play 1305 no momento de reprodução de serviço, mas são emitidos para ocodificador de AV 1312 no momento de gravação de serviço. Qual rota desaída tomar é controlado pela CPU 1306, de acordo com uma instrução deum usuário.
O alto-falante 1304 reproduz o áudio emitido do decodificador deAV 1303.
O display 1305 reproduz o vídeo emitido do decodificado de AV1303, e exibe os gráficos no plano de gráfico 1314 desenhado pela CPU.
A CPU 1306 executa um programa que opera no aparelho degravação e reprodução de transmissão. A CPU 1306 executa um programacontido na ROM 1309. Ou, a CPU 1306 executa um programa baixado deum sinal de transmissão ou de uma rede e mantido na unidade de armaze-namento primário 1308. Ou, a CPU executa um programa baixado de umsinal de transmissão ou de uma rede e mantido na unidade de armazena-mento secundário 1307. O sintonizador 1301, o decodificador de TS 1302, odecodificador de AV 1303, o alto-falante 1304, o display 1305, a unidade dearmazenamento secundário 1307, a unidade de armazenamento primário1308, a ROM 1309, a unidade de entrada 1310, o adaptador 1311, o codifi-cador de AV 1312, o multiplexador 1313 e o plano de gráfico 1314 são con-trolados de acordo com a instrução do programa executado. Além disso, aCPU 1306 é capaz de controlar o adaptador 1311 através de comunicaçãonão somente com os dispositivos presentes dentro do aparelho de terminal1300, mas com os dispositivos dentro do adaptador 1311.
A unidade de armazenamento secundário 1307 é um aparelhode memória, a memória do que não é apagada mesmo se o suprimento deenergia para o dispositivo for interrompido. A unidade de armazenamentosecundário 1307 está configurada em um dispositivo onde as informaçõesnão são apagadas mesmo quando a energia para o aparelho de terminal1300 é desligada; por exemplo, uma memória não volátil tal como uma FLA-SH-ROOM, uma Unidade de Disco Rígido (HDD), uma mídia reescrevível talcomo um CD-R e um DVD-R. A unidade de armazenamento secundário1307 salva as informações com base em uma instrução da CPU 1306.A unidade de armazenamento primário 1308 é um dispositivo oqual tem uma função de salvar temporariamente as informações de acordocom uma instrução da CPU 1306, um dispositivo capaz de transferência deDMA, e assim por diante, e está configurada em uma RAM ou similar.
A ROM 1309 é um dispositivo de memória não reescrevível, epara ser mais específico, está configurada em uma ROM, um CD-ROM, umDVD, e similares. O programa o qual a CPU 1306 executa está armazenadona ROM 1309.
A unidade de entrada 1310 está, para ser mais específico, confi-gurada em um painel frontal ou um receptor de controle remoto, e aceitauma entrada do usuário. A Figura 14 é um exemplo do caso onde a unidadede entrada 1310 está configurada no painel frontal. Um painel frontal 1400tem sete botões: um botão de cursor de subida 1401, um botão de cursor dedescida 1402, um botão de cursor esquerdo 1403, um botão de cursor direito1404, um botão de OK 1405, um botão de cancelar 1406, um botão de EPG1407, e um botão de chave de modo 1408. Quando o usuário pressiona umbotão, um identificador do botão pressionado é notificado para a CPU 1306.
O adaptador 1311 é um dispositivo para desembaralhar um fluxode transporte de MPEG-2 embaralhado carregado na faixa de freqüênciaem-banda, e inclui um ou mais desembaralhadores. O fluxo de transporte deMPEG-2 emitido pelo sintonizador 1301a é inserido no adaptador 1311, e odesembaralhamento é executado no pacote de TS que tem a PID especifi-cada pela CPU 1306. O adaptador 1311 emite o fluxo de transporte deMPEG-2 desembaralhado para o decodificador de TS 1302.
Mais ainda, o adaptador 1311 também executa uma conversãode formato de dados enviados em uma faixa de freqüência de OOB. As in-formações que são enviadas em OOB são moduladas no formato de modu-lação de QPSK. Referindo à transmissão de saída, o demodulador de QPSK1301b demodula o sinal de saída enviado do sistema do lado de estação detransmissão 101, e insere um fluxo de bits gerado no adaptador 1311. O a-daptador 1311 extrai as informações especificadas pela CPU 1306 dentrevárias informações incluídas no fluxo de bits, converte as informações emum formato que pode ser interpretado por um programa que opera na CPU1306, e provê isto para a CPU 1306. Por outro lado, referindo à transmissãode entrada, a CPU 1306 insere as informações a serem enviadas para o sis-tema do lado de estação de transmissão 101, no adaptador 1311. O adapta-dor 1311 converte as informações inseridas da CPU 1306 em um formatoque possa ser interpretado pelo sistema do lado de estação de transmissão101, e insere isto no modulador de QPSK 1301c. O modulador de QPSK1301 c modula por QPSK as informações inseridas do adaptador 1311, e en-via isto para o sistema do lado de estação de transmissão 101.
Um CableCARD, anteriormente denominado um Ponto de De-senvolvimento (POD), utilizado no sistema de cabo dos Estados Unidos, po-de ser dado como um exemplo específico do adaptador 1311.
O codificador de AV 1312 codifica o sinal de áudio decodificadopelo decodificador de AV 1303 em áudio no formato de áudio MPEG, e codi-fica o sinal de vídeo em vídeo no formato de vídeo MPEG. O codificador deAV 1312 emite o vídeo e o áudio codificados para o multiplexador 1313.
O multiplexador 1313 é um dispositivo com uma função de mul-tiplexar o vídeo e o áudio inseridos no codificador de AV 1312, no fluxo detransporte de MPEG-2.
O plano de gráfico 1314 é um dispositivo que tem uma função deconter temporariamente os gráficos desenhados pela CPU. Os gráficos de-senhados no plano de gráfico 1314 são mesclados com o vídeo emitido dodecodificador de AV 1303 e exibidos no display 1305, de acordo com umainstrução da CPU para transferir o gráfico para o display 1305.
Uma operação na qual o aparelho de gravação e reprodução detransmissão acima descrito grava um serviço contido em uma onda detransmissão na unidade de armazenamento secundário 1307, e uma opera-ção na qual o aparelho de gravação e reprodução de transmissão consecuti-vamente lê o serviço da unidade de armazenamento secundário 1307 e oreproduz, serão daqui em diante descritos em detalhes.
Primeiro, a operação na qual o serviço contido na onda detransmissão é gravado na unidade de armazenamento secundário 1307 serádescrito.
A Figura 15 mostra um diagrama conceituai o qual representa aseqüência de conexão física, os detalhes de processamento, e o formato dedados de entrada / saída de cada dispositivo durante a gravação do serviço.1500 é um aparelho de terminal, o qual tem: o sintonizador 1301; o adapta-dor 1311; um desembaralhador 1501; o decodificador de TS 1302; um filtrode PID 1502; um filtro de seção 1503; o decodificador de AV 1303; a unida-de de armazenamento primário 1308; o codificador de AV 1312; o multiple-xador 1313; e uma área de gravação 1504. Os elementos constituintes naFigura 15 que tem os mesmos números de referência que na Figura 13 temas mesmas funções e assim a descrição é omitida.
Primeiro, o sintonizador 1301 executa a sintonização sobre aonda de transmissão de acordo com as informações de sintonização especi-ficadas pela CPU 1306. Aqui, as informações de sintonização são informa-ções nas quais uma freqüência, um formato de modulação, e similares po-dem ser especificados. O sintonizador 1301 demodula a onda de transmis-são e insere o fluxo de transporte de MPEG-2 no adaptador 1311.
O desembaralhador 1501, o qual está incluído no adaptador1311, desembaralha o fluxo de transporte de MPEG-2 com base em infor-mações de acesso condicionais para cada espectador. O fluxo de transportede MPEG-2 desembaralhado é inserido no decodificador de TS.
Dois tipos de dispositivos que processam o fluxo de transportede MPEG-2 estão presentes no decodificador de TS 1302: o filtro de PID1502 e o filtro de seção 1503.
O filtro de PID 1502, extrai, do fluxo de transporte de MPEG-2inserido, um pacote de TS que tem uma PID especificada pela CPU 1306, eentão extrai um pacote de PES e uma seção de MPEG-2 presentes naquelacarga. Por exemplo, quando o fluxo de transporte de MPEG-2 na Figura 6 éinserido no caso onde a CPU 1306 instruiu a filtragem de PID a qual extrai opacote de TS com uma PID = 100, os pacotes 601 e 603 são extraídos, en-tão concatenados, e assim um pacote de PES de um vídeo 1 é reconfigura-do. Ou, quando o fluxo de transporte de MPEG-2 na Figura 6 é inserido nocaso onde a CPU 1306 instruiu a filtragem de PID a qual extrai o pacote deTS com uma PID = 200, os pacotes 602 e 605 são extraídos, então concate-nados, e assim uma seção de MPEG-2 de dados 1 é reconfigurada.
O filtro de seção 1503 extrai a seção de MPEG-2 a qual está emconformidade com uma condição de filtro de seção especificada pela CPU1306 dentre as seções de MPEG-2 inseridas, e transfere por DMA esta se-ção de MPEG-2 para a unidade de armazenamento primário 1308. Por e-xemplo, é assumido que a CPU 1306 especifica, para o filtro de seção 1503,uma filtragem de PID a qual extrai o pacote de TS com um PID = 200, e umaseção de filtragem a qual extrai uma seção com uma tablejd de 64. Comoanteriormente mencionado, após a seção de MPEG-2 dos dados 1 ser re-configurada, o filtro de seção 1503 extrai somente a seção com uma tablejdde 64 dentre estas seções de MPEG-2, e transfere por DMA isto para a uni-dade de armazenamento primário 1308.
A seção de MPEG-2 que é inserida na unidade de armazena-mento primário 1308 é inserida no multiplexador 1313.
Um pacote de PES de vídeo e um pacote de PES de áudio ex-traídos pelo decodificador de TS 1302 são inseridos no decodificador de AV 1303.
O decodificador de AV decodifica o pacote de PES de vídeo demodo a convertê-lo no vídeo, e insere isto no codificador de AV 1312. O de-codificador de AV também decodifica o pacote de PES de áudio de modo aconvertê-lo no áudio, e insere isto no codificador de AV 1312.
O codificador de AV 1312 converte o vídeo em vídeo MPEG einsere isto no multiplexador 1313. O codificador de AV 1312 também conver-te o áudio em áudio MPEG e insere isto no multiplexador 1313.
O multiplexador 1313 multiplexa o vídeo MPEG e o áudio MPEGinseridos no codificador de AV na seção de MPEG-2 inserida na unidade dearmazenamento primário 1308, e assim gera um fluxo de transporte deMPEG-2. O fluxo de transporte de MPEG-2 gerado é gravado na área degravação 1504.
A área de gravação 1504 está composta de toda ou uma parteda unidade de armazenamento secundário 1307, ou outra área de gravação,e armazena o fluxo de transporte de MPEG-2 que compõe um serviço.
A seguir, a operação será descrita na qual o serviço é consecuti-vamente lido da unidade de armazenamento secundário 1307 e reproduzido.
A Figura 16 mostra um diagrama conceituai o qual representa aseqüência de conexão física, os detalhes de processamento, e o formato dedados de entrada / saída de cada dispositivo durante a gravação do serviço.1600 é um aparelho de terminal, o qual tem: a área de gravação 1504; o de-codificador de TS 1302; o filtro de PID 1502; o filtro de seção 1503; o decodi-ficador de AV 1303; o alto-falante 1304; o display 1305; e a unidade de ar-mazenamento primário 1308. Os elementos constituintes na Figura 16 quetem os mesmos números de referência que na Figura 13 tem as mesmasfunções e assim a descrição é omitida.
O fluxo de transporte de MPEG-2 gravado na área de gravação1504 no procedimento descrito na Figura 15 é inserido no decodificador deTS 1302.
Então, o PES de vídeo e o PES de áudio que tem as PIDs espe-cificadas pela CPU 1306 são extraídos pelo filtro de PID 1502 dentro do de-codificador de TS 1302. Os pacotes de PES extraídos são inseridos no de-codificador de AV 1303. Ou, a seção de MPEG-2 que tem a PID e a tablejdespecificadas pela CPU 1306 é extraída pelo filtro de PID 1502 e o filtro deseção 1503 dentro do decodificador de TS 1302. A seção de MPEG-2 extra-ída é transferida por DMA para a unidade de armazenamento primário 1308.
O PES de vídeo e o PES de áudio inseridos no decodificador deAV 1303 são decodificados e emitidos como um sinal de áudio e um sinal devídeo. Após isto, o sinal de áudio e o sinal de vídeo são inseridos no display1305 e no alto-falante 1304, assim reproduzindo o áudio e o vídeo.
A seção de MPEG-2 inserida na unidade de armazenamentoprimário 1308 é inserida na CPU 1306 conforme apropriado.
Até agora, um exemplo de uma configuração de hardware refe-rente à presente invenção foi descrito. Daqui em diante, uma função princi-pal da presente invenção, a qual é o controle de gravação e o controle decontrole de leitura de um serviço através de um programa Java, será descrita.
A gravação do serviço na presente invenção refere-se à grava-ção de um vídeo, um áudio, um programa Java, as informações de sincroni-zação do programa Java, e assim por diante que estão contidos no serviço,em um meio de gravação tal como um disco rígido, um Disco Blu-ray (BD),um Disco Versátil Digital (DVD), e um cartão de memória Digital Seguro(SD). A reprodução do serviço refere-se à reprodução e à execução do ví-deo, do áudio e do programa Java gravado no meio de gravação, com basenas informações de sincronização. Um resultado de reprodução de um ser-viço gravado é requerido ser quase equivalente ao resultado de reproduzirdiretamente o serviço quando do recebimento de uma onda de transmissão.
A Figura 17 é um diagrama de configuração de um programanecessário para a gravação e a reprodução do serviço, e está gravado emsoftware na ROM 1309.
Um programa 1700 está composto de um OS 1701, um EPG1702, um Java VM 1703, e uma biblioteca Java 1704, os quais são subpro-gramas.
O OS 1701 é um Sistema Operacional; Linux, Windows, e simila-res são exemplos. O OS 1701 está composto de: um núcleo 1701a para e-xecutar outros subprogramas tais como o EPG 1702 e o Java VM 1703; euma biblioteca 1701b a qual os subprogramas utilizam para controlar os e-Iementos constituintes do aparelho de terminal 1300. O núcleo 1701a é umatecnologia publicamente conhecida e portanto a descrição detalhada é omitida.
A biblioteca 1701b provê, por exemplo, uma função de sintoni-zação para controlar o sintonizador. A biblioteca 1701b recebe, de outrosubprograma, as informações de sintonização nas quais uma freqüência, umformato de modulação e similares podem ser especificados, e supre isto pa-ra o sintonizador 1301. O sintonizador 1301 executa um processamento dedemodulação com base nas informações de sintonização providas, e podepassar o fluxo de transporte de MPEG-2 para o decodificador de TS 1302.Como um resultado, outros subprogramas podem controlar o sintonizador1301 através da biblioteca 1701b.
Também, a biblioteca 1701b provê as informações de canal paraidentificar unicamente um canal. Um exemplo das informações de canal estámostrado na Figura 20. As informações de canal são enviadas utilizandouma faixa de freqüência OOB ou uma em-banda, são convertidas em umformato de planilha pelo adaptador 1311, e são armazenadas em uma uni-dade de memória temporária a qual pode ser acessada pela biblioteca. Umacoluna 2001 mostra os identificadores de canal, e é equivalente, por exem-pio, a sourceJDs como definido pelas Informações de Serviço SCTE65 For-necidas Fora de Banda Para Televisão A Cabo Digital. Uma coluna 2002mostra os nomes de canal, e é equivalente a source_name e similares, domesmo padrão SCTE65. Uma coluna 2003 são informações de sintonização,e são informações nas quais uma freqüência, uma taxa de transferência, umformato de modulação, e similares podem ser especificados, que são forne-cidos para o sintonizador 1301. Uma coluna 2004 mostra os números deprograma para identificar as PMTs. Por exemplo, uma linha 2011 é um grupode informações de serviço que incluem um identificador de canal de "1", umnome de canal de "canal 1", uma freqüência de "150 MHz ..." nas informa-ções de sintonização, e um número de programa de "101".
A Java VM 1703 é uma máquina virtual que seqüencialmenteanalisa e executa os programas escritos na linguagem Java (TM). Os pro-gramas escritos na linguagem Java são compilados de um código intermedi-ário o qual não depende do hardware, denominado bytecode. A máquinavirtual Java é uma intérprete a qual executa este bytecode. o Java VM 1703executa a biblioteca Java 1704 que está escrita em linguagem Java. Os de-talhes da linguagem Java e do Java VM estão explicados em publicaçõestais como "Java Language Specification" (ISBN 0-201-63451-1) e "Java Vir-tual Machine Specification" (ISBN 0-201-63451-X), e assim por diante. Alémdisso, é possível chamar ou ser chamado por outros subprogramas não es-critos na linguagem Java através de uma Interface Nativa Java (JNI). Os de-talhes referentes à JNI podem ser encontrados no livro "Java Native Interfa-ce" e assim por diante.
A biblioteca Java 1704 é uma biblioteca escrita na linguagemJava e a qual é chamada pelo programa Java de modo a controlar as fun-ções do aparelho de gravação e reprodução de transmissão. No entanto,existem situações onde um subprograma escrito em uma linguagem nãoJava, tal como a biblioteca 1701b do OS 1701, é utilizado conforme neces-sário. O programa Java pode utilizar uma função provida pela biblioteca Java1704 chamando uma Interface de Programação de Aplicativo Java (API)contida pela biblioteca Java 1704.
Um Sintonizador 1704c é uma biblioteca Java para controlar osintonizador de recepção Em-banda 1301a no terminal de gravação e repro-dução de transmissão. Quando o programa Java passa as informações desintonização para o sintonizador 1704c, o sintonizador 1704c utiliza estasinformações para chamar uma função de sintonização da biblioteca 1701b, ecomo um resultado, é possível controlar uma operação do sintonizador derecepção Em-banda 1301a do terminal de gravação e reprodução de trans-missão. Aqui, as informações de sintonização são informações nas quaisuma freqüência, um formato de modulação, e similares podem ser especifi-cados.
Um SF 1704e é uma biblioteca Java para controlar uma funçãodo filtro de PID 1502 e do filtro de seção 1503 do terminal de gravação e re-produção de transmissão. Quando o programa Java passa as condições defiltro tal como uma PID, tablejd, e similares para o SF 1704e, o SF 1704eutiliza uma função da biblioteca 1701b e similares com bases nestas condi-ções, de modo a controlar o filtro de PID 1502 e o filtro de seção 1503, ad-quire uma seção de MPEG-2 que preenche as condições de filtro desejadase passa a seção de MPEG-2 para o programa Java que determinou as con-dições de filtro.
Um DSM-CC 1704d é uma biblioteca Java para acessar um sis-tema de arquivo de um carrossel de objeto de DSM-CC. O carrossel de obje-to de DSM-CC está incluído na seção de MPEG-2 adquirida pelo SF 1704e.
O DSM-CC está definido pelo padrão ISO/IEC 13818-6, e é um mecanismopara utilizar a seção de MPEG-2 de modo a executar um arquivo arbitrário.Utilizando isto, é possível enviar um arquivo de uma estação de transmissãopara um terminal. Com base em um identificador de arquivo e similares es-pecificado pelo programa Java e assim por diante, o DSM-CC 1704d utiliza oSF 1704e e adquire a seção de MPEG-2, recolhe um arquivo com base nopadrão ISO/IEC 13818-6, e emite este arquivo para a unidade de armaze-namento primário 1308. Um método detalhado para implementar o DSM-CCnão tem relação com a presente invenção, e portanto os detalhes estão omi-tidos.
Um AM 1704b é um gerenciador de programa de aplicativo queprovê uma função para gerenciar a execução e a terminação do programaJava contido no serviço. O AM 1704b extrai um programa Java multiplexadoem um canal especificado de um fluxo de transporte de MPEG-2 especifica-do, e causa a execução ou a terminação daquele programa Java extraído deacordo com as informações de sincronização separadamente multiplexadas.
Um arquivo de classe Java do programa Java é multiplexado no fluxo detransporte de MPEG-2 no formato de DSM-CC acima mencionado. Alémdisso, as informações de sincronização do programa Java são multiplexadasno fluxo de transporte de MPEG-2 em um formato denominado ΑΙΤ. AIT éum acrônimo de Tabela de Informações de Aplicativo, como definido na se-ção 10 da especificação de DVB-MHP (ETSITS 101812 DVB-MHP specifica-tion V1.0.2), e é uma seção de MPEG-2 com uma tablejd de "0x74".
Uma configuração detalhada do AM 1704b está mostrada naFigura 27. O AM 1704b está configurado em uma unidade de monitoramentode AIT 2711 e uma unidade de gerenciamento de estado de aplicativo 2712.
A unidade de monitoramento de AIT 2711 monitora o estado deatualização de AIT recebendo um fluxo de transporte de MPEG-2 e um iden-tificador de canal como entrada, e se a AIT estiver atualizada, notifica a uni-dade de gerenciamento de estado de aplicativo 2712 e a unidade de geren-ciamento de processamento de intervalo de controle de leitura 2703 sobre aAIT atualizada. Primeiro, o JMF 1704b pesquisa por informações de canal nabiblioteca 1701b utilizando um identificador de canal especificado como umachave, e encontra o número de programa. A seguir, utilizando o SF 1704e esimilares, uma PAT é adquirida do fluxo de transporte de MPEG-2. Então aPID de uma PMT que corresponde ao número de programa obtido é obtidadas informações da PMT. Mais uma vez, utilizando o SF 1704e, a PMT realé adquirida. A PMT adquirida está em um formato como mostrado na Figura11, e escreveu a PID de um fluxo elementar que tem "dados" como um tipode fluxo e "AIT" como informações suplementares. Mais ainda, quando a PIDe a tablejd "0x74" da AIT agora obtida como as condições de filtro são for-necidas para o SF 1704e, a AIT real é obtida.
A Figura 22 é uma planilha que mostra esquematicamente umexemplo de informações de AIT. Um número de versão de AIT 2200 expres-sa a versão daquela AIT. Quanto mais alta for a versão da AIT1 mais nova éa AIT. Uma AIT da mesma versão de AIT é repetidamente recebida, mas oAM 1704b não analisa uma AIT com a mesma versão de AIT como uma AITque já foi analisada, mas analisa somente uma AIT que é mais nova do quea AIT já analisada e executa o processamento correspondente. Uma coluna2201 mostra os identificadores dos programas Java. Uma coluna 2202 mos-tra as informações de controle dos programas Java. Como as informaçõesde controle, existem "autopartida", "presente", "cancelar", e similares; "auto-partida" significa que o aparelho de terminal 1300 executa o programa Javaautomaticamente em um instante, "presente" significa não executar a execu-ção automática, e "cancelar" significa parar o programa Java. Uma coluna2203 é um identificador de DSM-CC para extrair a PID que inclui o programaJava no formato de DSM-CC. Uma coluna 2204 é um nome de programa doprograma Java.
Uma coluna 225 é um sinalizador pausado que corresponde acada programa Java. O sinalizador pausado é um sinalizador que indica se oprograma Java correspondente deve ou não ser pausado durante o controlede leitura. O valor "verdadeiro" do sinalizador pausado significa que o pro-grama Java correspondente está pausado em um modo de controle de leitu-ra, e então, quando o modo de controle de leitura é cancelado para retornarpara um modo de reprodução normal, a execução do programa Java pausa-do é reiniciada. O valor "falso" do sinalizador pausado significa que o pro-grama Java correspondente é continuado a ser executado sem ser pausadomesmo em um modo de controle de leitura. Na Figura 22, como um progra-ma Java "/a/TopXIet" que corresponde a um identificador de programa Java"301" tem o seu valor de sinalizador pausado de "verdadeiro", o programaJava é pausado durante o controle de leitura.
As linhas 2211, 2212, 2213, e 2214 são um grupo das informa-ções dos programas Java. O programa Java definido na linha 2211 é umgrupo que inclui um identificador de programa Java "301", as informações decontrole "autopartida", um identificador de DSM-GC "1", um nome de pro-grama "a/TopXIet", e um sinalizador pausado "verdadeiro". Similarmente, oprograma Java definido na linha 2212 é um grupo que inclui um identificadorde programa Java "302", as informações de controle "presente", um identifi-cador de DSM-CC "1", um nome de programa "b/GameXIet", e um sinaliza-dor pausado "falso". Aqui, os três programas Java definidos nas linhas 2211,2212, e 2214 tem os mesmos identificadores de DSM-CC. Isto indica que ostrês programas Java estão incluídos em um sistema de arquivo codificado noformato de DSM-CC. Aqui, cinco tipos de informações estão prescritas paracada programa Java, mas na realidade, mais tipos de informações estãodefinidos. Os detalhes podem ser encontrados na especificação de DVB-MHP.
A unidade de gerenciamento de estado de aplicativo 2712 ge-rencia o estado de execução de programa Java pela aceitação de uma soli-citação da unidade de processamento de intervalo de controle de leitura2702 ou pela análise dos detalhes da AIT atualizada passados da unidadede monitoramento de AIT 2711.
Primeiro, a operação da unidade de gerenciamento de estado deaplicativo 2712 quando a AIT é passada da unidade de monitoramento deAIT 2711 será daqui em diante descrito.
A unidade de gerenciamento de estado de aplicativo 2712 en-contra um programa Java com "autopartida" dentro da AIT, e extrai o identifi-cador de DSM-CC e o nome do programa Java. Referindo à Figura 22, aunidade de gerenciamento de estado de aplicativo 2712 extrai o programaJava da linha 2211 e adquire o identificador de DSM-CC de "1" e o nome deprograma Java de "a/TopXIet". A seguir, a unidade de gerenciamento de es-tado de aplicativo 2712 utiliza o identificador de DSM-CC adquirido da AITde modo a adquirir, da PMT, a PID do pacote de TS que armazena o pro-grama Java no formato de DSM-CC. Especificamente, a PID do fluxo ele-mentar com um identificador de DSM-CC em conformidade nas informaçõessuplementares e o qual tem um tipo de fluxo de "dados" é adquirida da PMT.Assumindo aqui que o identificador de DSM-CC é "1" e a PMT é como naFigura 11, o fluxo elementar da linha 1114 está em conformidade com o flu-xo elementar acima, e a PID "5014" é recolhida.
A unidade de gerenciamento de estado de aplicativo 2712 es-pecifica, para o SF 1704e, as condições de filtro de seção e a PID do pacotede TS o qual carrega a seção de MPEG-2 incorporada com dados no forma-to de DSM-CC. Aqui, a PID "5014" é fornecida. Como um resultado, a unida-de de gerenciamento de estado de aplicativo 2712 reconstitui o sistema dearquivo utilizando o DSM-CC 1704d de acordo com o formato de DSM-CC, esalva o sistema de arquivo na unidade de armazenamento primário 1308. Orecolhimento de dados tais como um sistema de arquivo para um pacote deTS em um fluxo de transporte de MPEG-2 e o salvamento dos dados nomeio de armazenamento tal como a unidade de armazenamento primário1308 e unidade de armazenamento secundário 1307 é daqui em diante de-nominado carregamento.
A Figura 23 é um exemplo de um sistema de arquivo carregado.No diagrama, um círculo representa um diretório e um quadrado representaum arquivo. 2301 é um diretório de raiz, 2302 é um diretório "a", 2303 é umdiretório "b", 2304 é um arquivo "TopXIet.class", 2305 é um arquivo "Game-Xiet.class", 2306 é um diretório "z", 2307 é um arquivo "MusicXIet.class", e2308 é um arquivo "StudyXIet.class".
A seguir, a unidade de gerenciamento de estado de aplicativo2712 passa o programa Java a ser executado para o Java VM 1703, dentreos sistemas de arquivo carregados para a unidade de armazenamento pri-mário 1308. Aqui, quando o nome do programa Java a ser executado é "a/TopXIet", o arquivo "a/ TopXIet.class", no qual ".class" é adicionado ao finaldo nome de programa Java, é o arquivo a ser executado."/" é um diretório euma divisão de nome de arquivo, e referindo à Figura 23, o arquivo 2304 é oprograma Java o qual deve ser executado. A seguir, a unidade de gerencia-mento de estado de aplicativo 2712 passa o arquivo 2304 para o Java VM1703, e o arquivo é executado, como um programa Java, no Java VM. Nocaso onde as informações de controle de "cancelar" são especificadas, oprograma Java é terminado.
Cada vez que recebe uma AIT com uma nova versão de AIT, aunidade de gerenciamento de estado de aplicativo 2712 analisa a AIT e mu-da o estado de execução do programa Java.
A seguir, a operação da unidade de gerenciamento de estado deaplicativo 2712 quando esta é solicitada pela unidade de processamento deintervalo de controle de leitura 2702 para mudar o estado de um programaJava será daqui em diante descrita.
A unidade de gerenciamento de estado de aplicativo 2712 provê,como uma função de gerenciamento do estado de execução de programaJava, uma função de pausar um programa Java que corresponde a um iden-tificador de programa Java especificado, e uma função de reiniciar o pro-grama Java pausado. Mais especificamente, a unidade de gerenciamento deestado de aplicativo 2712 provê um método "pause(int appID)" para pausarum programa Java, e um método "resume(int appID)" para executar o pro-grama Java pausado novamente. Aqui, appID é um identificador de progra-ma Java. Quando a unidade de processamento de intervalo de controle deleitura 2702 chama o método de pausar, a unidade de gerenciamento deestado de aplicativo 2712 pausa um programa Java que corresponde a umidentificador de programa Java especificado como um argumento. Por e-xemplo, se pausar (503) for chamado, a unidade de gerenciamento de esta-do de aplicativo 2712 pausa um programa Java que corresponde a um iden-tificador de programa Java de "503". Quando a unidade de processamentode intervalo de controle de leitura 2702 chama o método de reiniciar, a uni-dade de gerenciamento de estado de aplicativo 2712 reinicia um programaJava que corresponde a um identificador de programa Java especificadocomo um argumento. Por exemplo, se reiniciar (503) for chamado, a unidadede gerenciamento de estado de aplicativo 2712 reinicia um programa Javaque corresponde a um identificador de programa Java de "503".
O JMF 1704a trata do controle de reprodução do vídeo e do áu-dio contido no serviço. Para ser mais específico, o JMF 1704a insere o ESde vídeo e o ES de áudio multiplexados no canal especificado do fluxo detransporte de MPEG-2 especificado, no decodificador de AV para reprodu-ção. No caso onde o serviço é reproduzido diretamente da onda de trans-missão recebida, este é instruído para reproduzir o fluxo de transporte deMPEG-2 emitido do adaptador 1311. Por outro lado, no caso onde o serviçoo qual foi armazenado uma vez na unidade de armazenamento secundário1307 é reproduzido, este é instruído para reproduzir o fluxo de transporte deMPEG-2 emitido da área de gravação 1504 na unidade de armazenamentosecundário 1307.
Primeiro, o JMF 1704a pesquisa por informações de canal nabiblioteca 1701b com um identificador de canal especificado como uma cha-ve, e adquire o número de programa. A seguir, utilizando o SF 1704e e simi-lares, uma PAT é adquirida do fluxo de transporte de MPEG-2. Então, a PIDda PMT que corresponde ao número de programa adquirido é obtida dasinformações da PMT. Mais uma vez, utilizando o SF 1704e, a PMT real éadquirida. A PMT adquirida está em um formato como mostrado na Figura11, e escreveu as PIDs de fluxos elementares que tem "vídeo" e "áudio" co-mo os tipos de fluxo. Quando o JMF 1704a determina estas PIDs para o filtrode PID 1502 do decodificador de TS 1302, o ES de vídeo e o ES de áudiomultiplexados com estas PIDs são reproduzidos através do decodificador deAV 1303, como mostrado na Figura 15 ou na Figura 16.
Aqui, no caso onde o JMF 1704a recebe, como uma entrada, umfluxo de transporte de MPEG-2 o qual já foi gravado na unidade de armaze-namento secundário, o JMF 1704a pode mudar a velocidade de reproduçãode vídeo e de áudio mudando a velocidade de leitura e lendo a posição dofluxo de transporte de MPEG-2 de uma área de armazenamento 1607 daunidade de armazenamento secundário 1307. Assim, um controle de leituratal como o avanço rápido e o salto torna-se possível. Por exemplo, se umfluxo de transporte de MPEG-2 for lido na velocidade dupla da velocidadenormal, o vídeo e o áudio são também reproduzidos na velocidade dupla.
Além disso, se um fluxo de transporte de MPEG-2 for lido enquanto saltandosomente um intervalo de tempo específico, o vídeo e o áudio são reproduzi-dos enquanto saltando-o. Pela utilização da função da biblioteca 1701b, oJMF 1704a controla a unidade de armazenamento secundário 1307 e mudaa velocidade de leitura e a posição de leitura em um fluxo de transporte deMPEG-2. Como o método para executar um tal controle de leitura suave-mente em um alto nível está fora do escopo da presente invenção, a suadescrição é omitida.
Para que um programa Java instrua um controle de leitura, JMF1704a provê uma API tal como setRate (fator de flutuação) para o programaJava. Quando 1,0 é determinado para um fator de parâmetro, uma reprodu-ção de velocidade normal é executada, e quando 2,0 é determinado, umcontrole de leitura na velocidade dupla é executado. Mais ainda, no casoonde um programa Java instrui um controle de leitura através de uma API, oJMF 1704a passa a velocidade de reprodução antes da instrução do controlede leitura e a velocidade de reprodução após esta instrução para a unidadede determinação de início / fim de controle de leitura 2701 do gerenciador decontrole de leitura 1704g.
Tendo um identificador de canal, um tempo de início, e um tem-po de fim como entradas, o gerenciador de gravação 1704h grava o serviçona unidade de armazenamento secundário 1307, somente para o período detempo entre o tempo de início e o tempo de fim especificados do serviço. Porexemplo, se o EPG 1702 especifica o identificador de canal, o tempo de iní-cio, e o tempo de fim, o gerenciador de gravação 1704h aguarda até o tem-po de início. Após isto, este inicia a gravação do serviço especificado quan-do o tempo de início é alcançado, e este pára de gravar quando o tempo defim é alcançado.Os detalhes estão abaixo descritos.
No tempo de início de gravação, o gerenciador de gravação1704h primeiro assegura, dentro da unidade de armazenamento secundário1307, uma área de gravação 1504 para gravar o fluxo de transporte deMPEG-2 do tempo de início até o tempo de fim especificados na unidade dearmazenamento secundário 1307. Um identificador de mídia é suprido paraa área de gravação assegurada. A seguir, com o identificador de canal comouma chave, o gerenciador de gravação 1704h obtém as informações de sin-tonização que correspondem ao identificador de canal das informações decanal contidas pela biblioteca 1701b. Após isto, quando o gerenciador degravação 1704h supre as informações de sintonização para o Sintonizador1704c, o Sintonizador 1704c inicia a sintonizar. Aqui, as informações de sin-tonização são informações nas quais uma freqüência, um formato de modu-lação, e similares podem ser especificados. Então, como mostrado na Figura15, o fluxo de transporte de MPEG-2 é inserido no decodificador de TS atra-vés do adaptador 1311.
Enquanto isto, utilizando o SF 1704e, o gerenciador de gravação1704h adquire a PAT do fluxo de transporte de MPEG-2 obtida através dasintonização. Mais ainda, este pesquisa a biblioteca 1701b para encontrar onúmero de programa que corresponde ao identificador de canal especifica-do, e pesquisa a PAT para encontrar a PID da PMT que corresponde aonúmero de programa obtido. Após isto, utilizando o SF 1704e, este adquire aPMT real de modo a obter todas as PIDs dos ESs os quais compõem o ca-nal especificado. O gerenciador de gravação 1704h determina as PIDs obti-das para o filtro de PID 1502 do decodificador de TS. Mais ainda, um destinode saída de cada elemento constituinte de hardware é determinado atravésda biblioteca 1701b de modo a seguir a operação de gravar o serviço incluí-do na onda de transmissão na unidade de armazenamento secundário 1307.
Então, de acordo com o fluxo explicado na Figura 15, todos os ESs quecompõem um canal desejado são gravados na área de gravação 1504 quefoi assegurada.
Após isto, quando o tempo de fim especificado é alcançado, ogerenciador de gravação 1704h pára a operação de sintonização do Sintoni-zador 1704c, e faz com que a escrita do fluxo de transporte de MPEG-2 naárea de gravação 1504 termine. Além disso, uma tabela de gerenciamentode informações de gravação como mostrado na Figura 21 é criada como asinformações de gerenciamento do fluxo de transporte de MPEG-2 o qual foianteriormente gravado.
A Figura 21 é um exemplo da tabela de· gerenciamento de infor-mações de gravação para gerenciar as informações de gravação gravadasna área de gravação 1504 da unidade de armazenamento secundário 1307e similares. As informações de gravação são gravadas em formato de plani-lha. Uma coluna 2101 mostra os identificadores de gravação. Uma coluna2102 mostra os identificadores de canal. Uma coluna 2103 mostra os núme-ros de programa. Uma coluna 2104 mostra os tempos de início de gravaçãopara os respectivos serviços, e uma coluna 2105 mostra os tempos de fimde gravação para os serviços. Uma coluna 2106 mostra os identificadores demídia que identificam os fluxos de transporte de MPEG-2 que são gravadoscomo serviços. Cada uma das linhas 2111 a 2112 são um grupo de cadaidentificador de gravação, identificador de canal, número de programa, tem-po de início, tempo de fim, e identificador de mídia. Por exemplo, a linha2111 mostra um identificador de gravação de "000", um identificador de ca-nal de "2", um número de programa de "102", um tempo de início de"30/03/2005 11:00", um tempo de fim de "30/03 2005 12:00", e um identifica-dor de mídia de "TS_001".
O gerenciador de serviço 1704f gerencia a reprodução do servi-ço dentro do fluxo de transporte de MPEG-2 que foi gravado na unidade dearmazenamento secundário 1307, ou o serviço dentro do fluxo de transportede MPEG-2 inserido do adaptador 1311.
Daqui em diante, uma operação no caso de gerenciar a reprodu-ção do serviço contido no fluxo de transporte de MPEG-2 a qual foi gravadana unidade de armazenamento secundário 1307 será descrita. Isto é equiva-lente à reprodução de um serviço já gravado. Neste caso, o gerenciador deserviço 1704f tem o identificador de gravação como uma entrada. O serviçojá gravado na unidade de armazenamento secundário 1307 e identificadopor este identificador de gravação deve ser reproduzido.
Primeiro, referindo à tabela de gerenciamento de informações degravação criada pelo gerenciador de gravação 1704h, o gerenciador de ser-viço 1704f obtém o identificador de canal e o identificador de mídia do servi-ço a ser reproduzido, com o identificador de gravação especificado. Então,através da biblioteca 1701b, o gerenciador de serviço 1704f instrui a unidadede armazenamento secundário 1307 para emitir, para o decodificador de TS1302, o fluxo de transporte de MPEG-2 identificado pelo identificador de mí-dia obtido. Além disso, através da biblioteca 1701b, o gerenciador de serviço1704f determina o destino de saída de cada elemento constituinte de hard-ware para fluir através do percurso mostrado na Figura 16. Após isto, a uni-dade de armazenamento secundário 1307 é provida para o JMF 1704a co-mo a localização do fluxo de transporte de MPEG-2, e o identificador de ca-nal do serviço a ser reproduzido é provido. Então, através da operação aci-ma descrita, o JMF 17Ò4a inicia a reprodução do áudio e do vídeo multiple-xados no fluxo de transporte de MPEG-2 emitido da unidade de armazena-mento secundário 1307.
Após isto, a unidade de armazenamento secundário 1307 étambém provida para o AM 1704b como a localização do fluxo de transportede MPEG-2, e o identificador de canal do serviço a ser reproduzido é provi-do. Então, de acordo com a AIT multiplexada no fluxo de transporte deMPEG-2 emitido da unidade de armazenamento secundário 1307, o AM1704b inicia a execução e a terminação do programa Java multiplexado nofluxo de transporte de MPEG-2 emitido da unidade de armazenamento se-cundário 1307. Após isto, a reprodução do serviço acima mencionado é con-tinuada até o final do fluxo de transporte de MPEG-2 emitido da unidade dearmazenamento secundário 1307.
Por outro lado, o caso de gerenciar a reprodução do serviço den-tro do fluxo de transporte de MPEG-2 inserido do adaptador 1311 será des-crito daqui em diante. Isto é equivalente a reproduzir o serviço diretamenteda onda de transmissão. Neste caso, o gerenciador de serviço 1704f tem oidentificador de canal do serviço a ser reproduzido como uma entrada.
Através da biblioteca 1701, o gerenciador de serviço 1704f ins-trui o fluxo de transporte de MPEG-2 emitido do adaptador 1311 da Figura15 a ser emitido para o decodificador de TS 1302. Além disso, através dabiblioteca 1701b, o gerenciador de serviço 1704f determina o destino de saí-da de cada elemento constituinte de hardware para fluir através do percursomostrado na Figura 16. Primeiro, com o identificador de canal como umachave, o gerenciador de serviço 1704f obtém as informações de sintoniza-ção contidas na biblioteca 1701b. Após isto, quando as informações de sin-tonização são fornecidas para o Sintonizador 1704c, o Sintonizador 1704cinicia a sintonizar. Aqui, as informações de sintonização são informaçõesnas quais uma freqüência, um formato de modulação, e similares podem serespecificados. Após isto, o adaptador 1311 é provido para o JMF 1704a co-mo a localização do fluxo de transporte de MPEG-2, e o identificador de ca-nal do serviço a ser reproduzido é provido. Então, através da operação aci-ma descrita, o JMF 1704a inicia a reprodução do áudio e do vídeo multiple-xados no fluxo de transporte de MPEG-2 emitido do adaptador 1311.
Mais ainda, o adaptador 1311 é também provido para o AM1704b como a localização do fluxo de transporte de MPEG-2, e o identifica-dor de canal do serviço a ser reproduzido é provido. Então, de acordo com aAIT multiplexada no fluxo de transporte de MPEG-2 emitido do adaptador1311, o AM 1704b inicia a execução e a terminação do programa Java mul-tiplexado no fluxo de transporte de MPEG-2 emitido da unidade de armaze-namento secundário 1307. Após isto, a reprodução do serviço é continuadaaté o final do fluxo de transporte de MPEG-2 emitido da unidade de armaze-namento secundário 1307.
O gráfico 1704i provê uma função para desenhar, no plano degráfico 1314, um gráfico instruído para ser desenhado por um programa Ja-va incluído em um serviço, através da biblioteca 1701b. Isto é implementadopela função de Kit de Ferramentas de Janela Abstrata Java (AWT). Os gráfi-cos desenhados no plano de gráfico 1314 são transferidos para o display1305 e exibidos no mesmo com uma freqüência apropriada instruída pelaCPU.
O gerenciador de controle de leitura 1704g monitora o estado decontrole de leitura de um serviço o qual está correntemente sendo reprodu-zido, e instrui o AM 1704b para controlar um programa Java incluído no ser-viço de acordo com a mudança no estado.
A Figura 27 é um diagrama que mostra uma configuração deta-lhada do gerenciador de controle de leitura 1704g.
A unidade de determinação de início / fim de controle de leitura2701 determina o início e o fim de controle de leitura como avanço rápido,retorno, reprodução lenta, ou pausa. No caso onde o JMF 1704a mudou avelocidade de leitura de um fluxo de transporte de MPEG-2 em resposta auma solicitação de um programa Java, a unidade de determinação de início /fim de controle de leitura 2701 é notificada da velocidade de leitura antes damudança e a velocidade de leitura após a mudança do JMF 1704a, e deter-mina o início ou o fim de controle de leitura. No caso onde a velocidade deleitura foi mudada de uma velocidade de 1,0 veze para uma velocidade maisalta ou mais baixa do que a velocidade de 1,0 veze, a unidade de determi-nação de início / fim de controle de leitura 2701 determina o início de contro-le de leitura, enquanto que no caso onde a velocidade de leitura foi mudadade uma velocidade mais alta ou mais baixa do que a velocidade de 1,0 veze,esta determina o final de controle de leitura. Por exemplo, se a velocidade deleitura de um fluxo de transporte de MPEG-2 foi mudada de uma velocidadede 1,0 veze para uma velocidade de 2,0 vezes, a unidade de determinaçãode início / fim de controle de leitura 2701 determina que o controle de leiturainiciou. Ao contrário, se a velocidade de leitura de um fluxo de transporte deMPEG-2 foi mudada de uma velocidade de 2,0 vezes para uma velocidadede 1,0 veze, a unidade de determinação de início / fim de controle de leitura2701 determina que o controle de leitura terminou. Se o resultado da deter-minação for ou o início ou o fim de controle de leitura, a unidade de determi-nação de início / fim de controle de leitura 2701 passa o resultado da deter-minação para a unidade de gerenciamento de processamento de intervalode controle de leitura 2703.A unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 instrui a unidade de processamento de intervalo decontrole de leitura 2702 para executar um processamento de início / fim decontrole de leitura para o programa Java, com base no resultado da determi-nação feita pela unidade de determinação de início / fim de controle de leitu-ra 2701 ou a AIT atualizada notificada pela unidade de monitoramento deAIT 2711. Mais especificamente, a unidade de gerenciamento de processa-mento de intervalo de controle de leitura 2703 passa o identificador de pro-grama Java a ser processado e um valor de sinalizador de controle de leiturapara a unidade de processamento de intervalo de controle de leitura 2702para executar o processamento.
Primeiro, descrições são fornecidas abaixo do caso onde a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 instrui a unidade de processamento de intervalo de controle de leitura2702 para executar um processamento de início / fim de controle de leituraem um programa Java, com base no resultado da determinação feita pelaunidade de determinação de início / fim de controle de leitura 2701.
A unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 tem em si própria um armazenamento para armaze-nar temporariamente as informações de processamento de controle de leitu-ra que é uma lista de dados tal como um sinalizador.
Quando notificada do resultado da determinação da unidade dedeterminação de início / fim de controle de leitura 2701 , a unidade degerenciamento de processamento de intervalo de controle de leitura 2703primeiro especifica um identificador de programa Java que corresponde aum programa Java a ser processado, com referência às informações de pro-cessamento de controle de leitura contidas em si própria.
A Figura 41 mostra um exemplo de informações de processa-mento de intervalo de controle de leitura contidas na unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703. Na Figura41, as colunas 2201, 2204, 2205 e 4101 mostram um identificador de pro-grama Java, o nome de programa correspondente, um sinalizador pausado eum sinalizador de controle de leitura, respectivamente.
Um sinalizador de controle de leitura é um sinalizador que indicase a reprodução de um fluxo de transporte de MPEG-2 está ou não em ummodo de controle de leitura neste ponto no tempo. Um valor de sinalizadorde controle de leitura de "ligado" significa que a reprodução está em um mo-do de controle de leitura neste ponto no tempo, enquanto que um valor desinalizador de controle de leitura de "desligado" significa que a reproduçãonão está no modo de controle de leitura neste ponto no tempo. O sinalizadorde controle de leitura é atualizado com base no resultado notificado da uni-dade de determinação de início / fim de controle de leitura 2701.Para sermais específico, quando a unidade de determinação de início / fim de contro-le de leitura 2701 determina que o controle de leitura iniciou, o valor de sina-lizador de controle de leitura é atualizado para "ligado", enquanto que quan-do esta determina que o controle de leitura terminou, o valor de sinalizadorde controle de leitura é atualizado para "desligado".
O sinalizador pausado é um sinalizador que indica se o progra-ma Java correspondente deve ou não ser pausado durante a operação decontrole de leitura. O valor de sinalizador pausado de "verdadeiro" significaque o programa Java correspondente deve ser pausado durante o controlede leitura. Por exemplo, referindo à figura 41, como o programa Java"/a/TopXIet" que corresponde a um identificador de programa Java de "301"tem o seu valor de sinalizador pausado de "verdadeiro", o programa Java épausado durante o controle de leitura.
A unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 especifica um identificador de programa Java a serpassado para a unidade de processamento de intervalo de controle de leitu-ra 2702, com base no sinalizador pausado acima mencionado. Mais especi-ficamente, a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 passa, para a unidade de processamento de interva-Io de controle de leitura 2702, o identificador de programa Java com o valorde sinalizador pausado de "verdadeiro" sendo determinado, juntamente como valor de sinalizador de controle de leitura. Por exemplo, referindo à Figura41 aqui, o identificador de programa Java com o valor de sinalizador pausa-do de "verdadeiro" é "301". No caso onde a unidade de determinação de iní-cio / fim de controle de leitura 2701 determina que o controle de leitura ini-ciou, a unidade de gerenciamento de processamento de intervalo de controlede leitura 2703 passa, para a unidade de processamento de intervalo decontrole de leitura 2702, o resultado que indica que o controle de leitura ini-ciou, a saber, o valor de sinalizador de controle de leitura de "ligado", assimcomo o identificador de programa Java1 e instrui a unidade de processamen-to de intervalo de controle de leitura 2702 para executar um processamentopara pausar o programa Java que corresponde àquele identificador de pro-grama Java. No caso onde a unidade de determinação de início / fim de con-trole de leitura 2701 determina que o controle de leitura terminou, a unidadede gerenciamento de processamento de intervalo de controle de leitura 2703passa, para a unidade de processamento de intervalo de controle de leitura2702, o resultado que indica que o controle de leitura terminou, a saber, ovalor de sinalizador de controle de leitura de "desligado", assim como o iden-tificador de programa Java, e instrui a unidade de processamento de interva-lo de controle de leitura 2702 para executar um processamento para reiniciaro programa Java o qual foi pausado e corresponde àquele identificador deprograma Java.
A seguir, descrições são fornecidas abaixo do caso onde a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 instrui a unidade de processamento de intervalo de controle de leitura2702 para executar um processamento de início / fim de controle de leituraem um programa Java, com base na AIT atualizada notificada da unidade demonitoramento de AIT 2711.
A Figura 28A ou a Figura 28B mostra um exemplo de uma AITnotificada da unidade de monitoramento de AIT 2711 do AM 1704b. Cadavez que uma AIT é atualizada, a unidade de monitoramento de AIT 2711notifica a unidade de gerenciamento de processamento de intervalo de con-trole de leitura 2703 da AIT atualizada. Primeiro, de modo a determinar se ovalor de sinalizador pausado foi mudado, a unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703 salva as informaçõesde processamento de intervalo de controle de leitura que incluem o valor desinalizador pausado naquele ponto no tempo em um armazenamento tempo-rário antes de atualizar. A seguir, a unidade de gerenciamento de processa-mento de intervalo de controle de leitura 2703 analisa a AIT notificada, e a-tualiza um sinalizador pausado que corresponde a cada programa Java eminformações de processamento de intervalo de controle de leitura contidasna unidade de gerenciamento de processamento de intervalo de controle deleitura 2703. Por exemplo, no caso onde a AIT mostrada na Figura 28B édetectada após a AIT mostrada na Figura 28A ter sido detectada pela unida-de de monitoramento de AIT 2711, um valor de sinalizador pausado que cor-responde ao identificador de programa Java de "301" nas informações deprocessamento de intervalo de controle de leitura contidas na unidade degerenciamento de processamento de intervalo de controle de leitura 2703 éatualizado de "verdadeiro" para "falso".
Quando as informações de processamento de intervalo de con-trole de leitura foram atualizadas, a unidade de gerenciamento de proces-samento de intervalo de controle de leitura 2703 compara o valor de sinali-zador pausado salvo no armazenamento temporário e o valor de sinalizadorpausado nas informações de processamento de intervalo de controle de lei-tura, e determina os programas Java que tem o valor de sinalizador pausadomudado pela atualização. Se o valor de sinalizador pausado não for muda-do, nada é feito. Se o valor de sinalizador pausado for mudado, a unidade degerenciamento de processamento de intervalo de controle de leitura 2703retém o valor mudado, e então determina se um controle de leitura está ounão em progresso no presente momento com base no sinalizador de contro-le de leitura nas informações de processamento de intervalo de controle deleitura. Se o valor de sinalizador de controle de leitura for "desligado", a sa-ber o controle de leitura não está em progresso no presente momento, nadaé feito. Se o valor de sinalizador de controle de leitura for "ligado", a saber ocontrole de leitura está em progresso no presente momento, a unidade degerenciamento de processamento de intervalo de controle de leitura 2703determina se o valor de sinalizador pausado foi mudado de "verdadeiro" para"falso", ou de "falso" para "verdadeiro".
No primeiro caso, a saber no caso onde o valor de sinalizadorpausado foi mudado de "verdadeiro" para "falso", a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 passa, pa-ra a unidade de processamento de intervalo de controle de leitura 2702, oresultado que indica que o controle de leitura terminou, a saber, o valor desinalizador de controle de leitura de "desligado", assim como o identificadorde programa Java que corresponde àquele sinalizador pausado, e instrui aunidade de processamento de intervalo de controle de leitura 2702 para e-xecutar um processamento para reiniciar o programa Java que foi pausado ecorresponde àquele identificador de programa Java.
No último caso, a saber no caso onde o valor de sinalizadorpausado foi mudado de "falso" para "verdadeiro", a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 passa, pa-ra a unidade de processamento de intervalo de controle de leitura 2702, oresultado que indica que o controle de leitura iniciou, a saber, o valor de si-nalizador de controle de leitura de "ligado", assim como o identificador deprograma Java que corresponde àquele sinalizador pausado, e instrui a uni-dade de processamento de intervalo de controle de leitura 2702 para execu-tar um processamento para pausar o programa Java que corresponde àque-le identificador de programa Java.
A unidade de processamento de intervalo de controle de leitura2702 recebe o identificador de programa Java a ser processado e o valor desinalizador de controle de leitura da unidade de gerenciamento de proces-samento de intervalo de controle de leitura 2703, e executa um processa-mento apropriado para o programa Java que corresponde àquele identifica-dor de programa Java. Se o valor de sinalizador de controle de leitura for"ligado", a unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java como um argumen-to, um método de pausar provido pela unidade de gerenciamento de estadode aplicativo 2712, e instrui para pausar o programa Java que correspondeàquele identificador de programa Java. Ao contrário, se o valor de sinaliza-dor de controle de leitura for "desligado", a unidade de processamento deintervalo de controle de leitura 2702 chama, utilizando o identificador de pro-grama Java como um argumento, um método de reiniciar provido pela uni-dade de gerenciamento de estado de aplicativo 2712, e instrui para reiniciaro programa Java que corresponde àquele identificador de programa Java.
Por exemplo, referindo à Figura 41, no caso onde a unidade degerenciamento de processamento de intervalo de controle de leitura 2703passa o identificador de programa Java de "301" e o valor de sinalizador decontrole de leitura de "ligado" para a unidade de processamento de intervalode controle de leitura 2702, a unidade de processamento de intervalo decontrole de leitura 2702 chama, utilizando o identificador de programa Javade "301" como um argumento, o método de pausar provido pela unidade degerenciamento de estado de aplicativo 2712 no AM 1704b, e instrui parapausar um programa Java de "/a/TopXIet" que corresponde ao identificadorde programa Java de "301", de modo a pausar aquele programa Java de"/a/TopXIet" que corresponde ao identificador de programa Java de "301".
No caso onde a unidade de gerenciamento de processamento de intervalode controle de leitura 2703 passa o identificador de programa Java de "301"e o valor de sinalizador de controle de leitura de "desligado" para a unidadede processamento de intervalo de controle de leitura 2702, a unidade deprocessamento de intervalo de controle de leitura 2702 chama, utilizando oidentificador de programa Java de "301" como um argumento, o método dereiniciar provido pela unidade de gerenciamento de estado de aplicativo2712 no AM 1704b, e instrui para reiniciar um programa Java de "/a/TopXIet"que corresponde ao identificador de programa Java de "301", de modo areiniciar aquele programa Java de "/a/TopXIet" que corresponde ao identifi-cador de programa Java de "301".
O EPG 1702 é um Guia de Programa Elétrico, e é uma função aqual faz com que um usuário escolha uma apresentação de TV para ser gra-vada e reproduzida. A reprodução normal através da recepção de uma ondade transmissão está fora do escopo da presente invenção e assim a descri-ção é omitida.
No caso de gravar a apresentação de TV, o EPG 1702 exibeuma lista de apresentações de TV transmitidas, e faz com que o usuário es-colha uma apresentação de TV desejada. A Figura 19 é um exemplo de umaexibição de tela para causar a seleção de uma apresentação de TV a sergravada. Um tempo 1901 e os canais 1902 e 1903 estão apresentados emuma grade, e é possível verificar as apresentações de TV de cada canalgravável em cada tempo. É possível que o usuário mova um foco 1911 den-tro da tela utilizando os botões de cursor superior, inferior, direito, e esquer-do 1401 a 1404, os quais estão incluídos na unidade de entrada 1310 doaparelho de terminal 1300. Mais ainda, quando um botão de OK 1405 épressionado, a apresentação de TV a qual está correntemente destacada éselecionada para ser gravada. O EPG 1702 adquire o identificador de canalda apresentação de TV da biblioteca, e quando a apresentação de TV a sergravada é selecionada pelo usuário, notifica o identificador de canal, o tempode início, e o tempo de fim da apresentação de TV para o gerenciador degravação 1704h. Com base nestas informações, o gerenciador de serviço1704h grava a apresentação de TV na unidade de armazenamento secundá-rio 1307.
Por outro lado, no caso de reproduzir uma apresentação de TVjá gravada, o EPG 1702 exibe uma lista das apresentações de TV já grava-das, e faz com que o usuário escolha uma apresentação de TV desejada. AFigura 18 é um exemplo de uma exibição de tela para causar a seleção deuma apresentação de TV já gravada. Todas as apresentações de TV arma-zenadas na unidade de armazenamento secundário 1307 neste ponto notempo estão listadas. É possível que o usuário mova um foco 1801 dentro datela utilizando os botões de cursor superior e inferior 1401 e 1402, os quaisestão incluídos na unidade de entrada 1310 do aparelho de terminal 1300.
Mais ainda, quando o botão de OK 1405 é pressionado, a apresentação deTV a qual está correntemente destacada é selecionada para ser reproduzi-da. O EPG 1702 adquire o identificador de gravação da apresentação de TVdo gerenciador de gravação 1704h, e quando a apresentação de TV a serreproduzida é selecionada pelo usuário, este notifica o gerenciador de servi-ço 1704f do identificador de gravação daquela apresentação de TV. Combase nestas informações, o gerenciador de serviço 1704f lê a apresentaçãode TV da unidade de armazenamento secundário 1307 e a reproduz.
Uma operação típica na presente modalidade que tem a configu-ração acima descrita será abaixo descrita utilizando um fluxograma.
A Figura 29 é um fluxograma que mostra o caso de reproduzirum serviço dentro de üm fluxo de transporte de MPEG-2 gravado na unidadede armazenamento secundário 1307,
Primeiro, um usuário instrui o EPG 1702 para reproduzir um ser-viço dentro de um fluxo de transporte de MPEG-2 (S2901). Por meio disto,ao gerenciador de serviço 1704f é fornecida uma instrução para reproduzir oserviço dentro do fluxo de transporte de MPEG-2 gravado na unidade dearmazenamento secundário 1307, e o identificador de gravação que identifi-ca este serviço. A seguir, o gerenciador de serviço 1704f instrui o JMF 1704apara reproduzir o vídeo e o áudio dentro do fluxo de transporte de MPEG-2gravado na unidade de armazenamento secundário 1307, e o JMF 1704acomeça a reproduzir o vídeo e o áudio (S2902). Além disso, como o geren-ciador de serviço 1704f instrui o AM 1704b para detectar uma AIT dentro dofluxo de transporte de MPEG-2 gravado na unidade de armazenamento se-cundário 1307, a unidade de monitoramento de AIT 2711 do AM 1704b co-meça a detectar uma AIT (S2903).
Aqui, se uma AIT atualizada for detectada, o programa Java cor-respondente é controlado com base nas informações de controle da AIT(S2904). Quanto a um programa Java especificado com as informações decontrole de "autopartida" em AIT, a unidade de gerenciamento de estado deaplicativo 2712 do AM 1704b inicia aquele programa Java (S2905). Quanto aum programa Java especificado com as informações de controle de "cance-lar" em AIT, a unidade de gerenciamento de estado de aplicativo 2712 doAM 1704b termina aquele programa Java (S2906). A seguir, a unidade demonitoramento de AIT 2711 do AM 1704b notifica a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 no geren-ciador de controle de leitura 1704g da AIT atualizada (S2907).
A Figura 28A e a Figura 28B cada uma mostra um exemplo deuma ΑΙΤ. Cada vez que uma AIT é atualizada, a unidade de monitoramentode AIT 2711 notifica a unidade de gerenciamento de processamento de in-tervalo de controle de leitura 2703 da AIT atualizada. A unidade de gerenci-amento de processamento de intervalo de controle de leitura 2703 analisa aAIT notificada, e atualiza um sinalizador pausado que corresponde a cadaprograma Java nas informações de processamento de intervalo de controlede leitura contidas na unidade de gerenciamento de processamento de inter-valo de controle de leitura 2703. Por exemplo, no caso onde a AIT mostradana Figura 28B é detectada após a AIT mostrada na Figura 28A ter sido de-tectada pela unidade de monitoramento de AIT 2711, um valor de sinalizadorpausado que corresponde ao identificador de programa Java de "301" nasinformações de processamento de intervalo de controle de leitura contidasna unidade de gerenciamento de processamento de intervalo de controle deleitura 2703 é atualizado de "verdadeiro" para "falso".
Então, o gerenciador de controle de leitura 1704g executa o pro-cessamento dependendo da atualização das informações de processamentode intervalo de controle de leitura contidas na unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703 (S2908). Este pro-cessamento será posteriormente descrito. Após isto, o processo retorna paraa detecção de AIT pela unidade de monitoramento de AIT 2711 (S2903).
Se nenhuma AIT atualizada for detectada, é julgado se o pro-grama Java instruiu o controle de leitura ou não (S2909). Aqui, se o progra-ma Java chamar setRate () utilizando um fator de "2,0", mais especificamen-te, se este instruir o controle de leitura, o JMF 1704a determina a velocidadepara a leitura do fluxo de transporte de MPEG-2 da unidade de armazena-mento secundário 1307 em uma velocidade dupla daquela normal (S2910).
Se o controle de leitura não for instruído, o processo retorna para a detecçãode AIT pela unidade de monitoramento de AIT 2711 (S2903). A seguir, oJMF 1704a notifica a unidade de determinação de início / fim de controle deleitura 2701 no gerenciador de controle de leitura 1704g dos valores de velo-cidade de leitura de fluxo de transporte de MPEG-2 antes e após a mudançada velocidade (S2911).
Então, o gerenciador de controle de leitura 1704g executa o pro-cessamento dependendo da mudança da velocidade de reprodução do fluxode transporte de MPEG-2 (S2912). Este processamento será posteriormentedescrito. Após isto, o processo retorna para a detecção de AIT pela unidadede monitoramento de AIT 2711 (S2903).
A Figura 30 é um fluxograma que mostra um fluxo de processa-mento executado pelo gerenciador de controle de leitura 1704g dependendode uma mudança na velocidade de reprodução de um fluxo de transporte deMPEG-2.
No caso onde setRate () é chamado por um programa Java demodo a mudar uma velocidade de reprodução de um fluxo de transporte deMPEG-2, quando o JMF 1704a notifica a unidade de determinação de início /fim de controle de leitura 2701 no gerenciador de controle de leitura 1704gdas velocidades de reprodução antes e após a mudança, a unidade de de-terminação de início / fim de controle de leitura 2701 primeiro determina se avelocidade de reprodução antes da mudança é "1,0" ou não (S3001). Se avelocidade de reprodução antes da mudança for "1,0", a unidade de deter-minação de início / fim de controle de leitura 2701 ainda determina se a ve-locidade de reprodução após a mudança é "1,0" ou não (S3002), e se a ve-locidade de reprodução após a mudança não for "1,0", esta determina que ocontrole de leitura iniciou. Então, esta passa o seu resultado da determina-ção para a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703. Se a velocidade de reprodução após a mudança for"1,0", nada é feito.
Quando recebendo o resultado de que o controle de leitura ini-ciou, a unidade de gerenciamento de processamento de intervalo de controlede leitura 2703 determina se existe ou não um identificador de programa Ja-va que tenha um valor de sinalizador pausado de "verdadeiro" nas informa-ções de processamento de intervalo de controle de leitura contidas em siprópria (S3003). Referindo à Figura 41 aqui, o identificador de programa Ja-va com o valor de sinalizador pausado de "verdadeiro" é "301". A unidade degerenciamento de processamento de intervalo de controle de leitura 2703passa, para a unidade de processamento de intervalo de controle de leitura2702, o resultado que indica que o controle de leitura iniciou, a saber, o valorde sinalizador de controle de leitura de "ligado", assim como o identificadorde programa Java, e instrui a unidade de processamento de intervalo decontrole de leitura 2702 para executar um processamento para pausar oprograma Java que corresponde àquele identificador de programa Java(S3004). A unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java de "301" como umargumento, um método de pausar provido pela unidade de gerenciamentode estado de aplicativo 2712 no AM 1704b, e instrui para pausar o programaJava que corresponde àquele identificador de programa Java (S3005).
Se a velocidade de reprodução antes da mudança não for "1,0",a unidade de determinação de início / fim de controle de leitura 2701 aindadetermina se a velocidade de reprodução após a mudança é "1,0" ou não(S3006), e se a velocidade de reprodução após a mudança for "1,0", estadetermina que o controle de leitura terminou. Então, esta passa o seu resul-tado de determinação para a unidade de gerenciamento de processamentode intervalo de controle de leitura 2703. Se a velocidade de reprodução apósa mudança não for "1,0", nada é feito.
Quando do recebimento do resultado de que o controle de leituraterminou, a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 determina se existe ou não um identificador de pro-grama Java que tem um valor de sinalizador pausado de "verdadeiro" nasinformações de processamento de intervalo de controle de leitura contidasem si própria (S3007). Referindo à Figura 41 aqui, o identificador de progra-ma Java com o valor de sinalizador pausado de "verdadeiro" é "301". A uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 passa, para a unidade de processamento de intervalo de controle deleitura 2702, o resultado que indica que o controle de leitura terminou, a sa-ber, o valor de sinalizador de controle de leitura de "desligado", assim comoo identificador de programa Java, e instrui a unidade de processamento deintervalo de controle de leitura 2702 para executar um processamento parareiniciar o programa Java o qual foi pausado e corresponde àquele identifi-cador de programa Java (S3008). A unidade de processamento de intervalode controle de leitura 2702 chama, utilizando o identificador de programaJava de "301" como um argumento, o método de reiniciar provido pela uni-dade de gerenciamento de estado de aplicativo 2712 no AM 1704b, e instruipara reiniciar o programa Java o qual foi pausado e corresponde àquele i-dentificador de programa Java (S3009).
A Figura 31 é um fluxograma que mostra um fluxo de processa-mento executado pelo gerenciador de controle de leitura 1704g dependendode uma atualização de informações de processamento de intervalo de con-trole de leitura na unidade de gerenciamento de processamento de intervalode controle de leitura 2703.
No caso onde uma AIT atualizada é detectada, quando as infor-mações de processamento de intervalo de controle de leitura contidas naunidade de gerenciamento de processamento de intervalo de controle deleitura 2703 são atualizadas, a unidade de gerenciamento de processamentode intervalo de controle de leitura 2703 determina se um valor de sinalizadorpausado que corresponde a qualquer programa Java foi mudado ou não(S3101). Aqui, de modo a determinar se o valor de sinalizador pausado foimudado ou não, a unidade de gerenciamento de processamento de intervalode controle de leitura 2703 salva as informações de processamento de inter-valo de controle de leitura que incluem o valor de sinalizador pausado na-quele ponto no tempo em um armazenamento temporário antes de atualizá-las. A unidade de gerenciamento de processamento de intervalo de controlede leitura 2703 compara o valor de sinalizador pausado salvo no armazena-mento temporário e o valor de sinalizador pausado incluído nas informaçõesde processamento de intervalo de controle de leitura, e determina, com basenos valores antes e após a atualização, se o valor de sinalizador pausado foimudado ou não. Se o valor de sinalizador pausado não for mudado, nada éfeito. Se o valor de sinalizador pausado for mudado, a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 retém ovalor mudado (S3102), e então determina se o controle de leitura estão ounão em progresso no presente momento com base no sinalizador de contro-le de leitura nas informações de processamento de intervalo de controle deleitura (S3103).
Se o valor de sinalizador de controle de leitura for "desligado", asaber o controle de leitura não está em progresso no presente momento,nada é feito. Se o valor de sinalizador de controle de leitura for "ligado", asaber o controle de leitura está em progresso no presente momento, a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 determina se o valor de sinalizador pausado foi mudado de "verdadei-ro" para "falso", ou de "falso" para "verdadeiro" (S3104). No último caso, asaber no caso onde o valor de sinalizador pausado foi mudado de "falso"para "verdadeiro", a unidade de gerenciamento de processamento de inter-valo de controle de leitura 2703 passa, para a unidade de processamento deintervalo de controle de leitura 2702, o resultado que indica que o controle deleitura começou, a saber, o valor de sinalizador de controle de leitura de "li-gado", assim como o identificador de programa Java que corresponde àque-le sinalizador pausado, e instrui a unidade de processamento de intervalo decontrole de leitura 2702 para executar um processamento para pausar oprograma Java que corresponde àquele identificador de programa Java(S3105). A unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java de "301" como umargumento, um método de pausar provido pela unidade de gerenciamentode estado de aplicativo 2712 no AM 1704b, e instrui para pausar o programaJava que corresponde àquele identificador de programa Java (S3106).
No primeiro caso, a saber no caso onde o valor de sinalizadorpausado foi mudado de "verdadeiro" para "falso", a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 passa, pa-ra a unidade de processamento de intervalo de controle de leitura 2702, oresultado que indica que o controle de leitura terminou, a saber, o valor desinalizador de controle de leitura de "desligado", assim como o identificadorde programa Java que corresponde àquele sinalizador pausado, e instrui aunidade de processamento de intervalo de controle de leitura 2702 para e-xecutar um processamento para reiniciar o programa Java o qual foi pausa-do e corresponde àquele identificador de programa Java (S3107). A unidadede processamento de intervalo de controle de leitura 2702 chama, utilizandoo identificador de programa Java de "301" como um argumento, um métodode reiniciar provido pela unidade de gerenciamento de estado de aplicativo2712 no AM 1704b, e instrui para reiniciar o programa Java o qual foi pausa-do e corresponde àquele identificador de programa Java (S3108).
Como acima descrito, de acordo com a primeira modalidade, umprograma Java para o qual um sinalizador pausado é determinado é mudadopara um estado pausado durante o controle de leitura, e assim é possívelimpedir um comportamento inesperado do programa Java durante o controlede leitura.
SEGUNDA MODALIDADE
Daqui em diante, um aparelho e um método de acordo com asegunda modalidade da presente invenção serão descritos com referênciaaos desenhos.
Como a configuração de hardware e similares utilizadas na se-gunda modalidade são as mesmas que aquelas na primeira modalidade dapresente invenção, a Figura 1 até a Figura 16 são aqui utilizadas novamente.
Como os elementos constituintes nestes diagramas tem as mesmas funçõesque os elementos constituintes dos mesmos nomes e dos mesmos númerosde referência na primeira modalidade, as descrições não são repetidas.
A configuração de software da segunda modalidade é a mesmaque aquela mostrada na Figura 17. Como os elementos constituintes outrosdo que o AM 1704b e o gerenciador de controle de leitura 1704g tem asmesmas funções que os elementos constituintes dos mesmos nomes e dosmesmos números de referência na configuração de software da primeiramodalidade, as descrições não são repetidas. Como vários formatos de da-dos utilizados na segunda modalidade são os mesmos que aqueles mostra-dos na Figura 20 até a Figura 22 e na Figura 41, as descrições não são re-petidas.
A Figura 32 é um diagrama que mostra uma configuração deta-lhada do AM 1704b e do gerenciador de controle de leitura 1704g na biblio-teca Java 1704.
O AM 1704b está configurado em uma unidade de monitoramen-to de AIT 2711 e uma unidade de gerenciamento de estado de aplicativo2712. Como a unidade de gerenciamento de estado de aplicativo 2712 temas mesmas funções que na primeira modalidade, as descrições não são re-petidas.
A unidade de monitoramento de AIT 2711 monitora o estado deatualização de AIT, utilizando um fluxo de transporte de MPEG-2 e um iden-tificador de canal como entradas, como na primeira modalidade. Na primeiramodalidade, se uma AIT for atualizada, a AIT atualizada é notificada para aunidade de gerenciamento de processamento de intervalo de controle deleitura 2703 e para a unidade de gerenciamento de estado de aplicativo2712. No entanto, na presente modalidade, a AIT atualizada é notificadasomente para a unidade de gerenciamento de estado de aplicativo 2712.
Exceto uma operação de notificar a unidade de gerenciamento de proces-samento de intervalo de controle de leitura 2703 da AIT atualizada, as ope-rações da unidade de monitoramento de AIT 2711 na presente modalidadesão as mesmas que as operações da unidade de monitoramento de AIT2711 na primeira modalidade.
O gerenciador de controle de leitura 1704g é compreendido deuma unidade de determinação de início / fim de controle de leitura 2701,uma unidade de processamento de intervalo de controle de leitura 2702,uma unidade de gerenciamento de processamento de intervalo de controlede leitura 2703 e uma unidade de determinação de privilégio de registro deinformações de processamento de intervalo de controle de leitura 3201. Co-mo a unidade de determinação de início / fim de controle de leitura 2701 e aunidade de processamento de intervalo de controle de leitura 2702 respecti-vamente tem as mesmas funções que na primeira modalidade, as descri-ções não são repetidas.Como na primeira modalidade, a unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703 contém as informa-ções de processamento de intervalo de controle de leitura na qual um pro-cessamento de início / fim de controle de leitura para cada programa Javaestá descrito, e também instrui a unidade de processamento de intervalo decontrole de leitura 2702 para executar um processamento de início / fim decontrole de leitura para um programa Java apropriado com base nas infor-mações de processamento de intervalo de controle de leitura. Na primeiramodalidade, se uma AIT for atualizada, a AIT atualizada é notificada da uni-dade de monitoramento de AIT 2711, e com base nesta AIT1 um sinalizadorpausado nas informações de processamento de intervalo de controle de lei-tura contidas é atualizado. No entanto, na presente modalidade, mesmo se aAIT for atualizada a AIT atualizada não é notificada da unidade de monito-ramento de AIT 2711. A unidade de gerenciamento de processamento deintervalo de controle de leitura 2703 provê, como JavaAPI, um método "set-PausingFlag(int appID, Boolean pausingFlag") que tem um valor de sinaliza-dor pausado como um argumento.
Aqui, um argumento appID é um identificador de programa Javaa ser determinado com um valor de sinalizador pausado, e um argumentopausingFlag é um valor de sinalizador pausado. Quando o método setPau-singFlag é chamado por um programa Java, o sinalizador pausado nas in-formações de processamento de intervalo de controle de leitura contidas éatualizado. Por exemplo, setPausingFlag (301, verdadeiro) é chamado porum programa Java, o sinalizador pausado que corresponde a um programaJava que tem um identificador de programa Java de "301" é determinadopara "verdadeiro". Por outro lado, setPausingFlag (301, falso) é chamado porum programa Java, o sinalizador pausado que corresponde ao programaJava que tem o identificador de programa Java de "301" é determinado para"falso".
Quando o método setPausingFlag é chamado, a unidade de ge-renciamento de processamento de intervalo de controle de leitura 2703 pri-meiro passa o identificador de programa Java do programa Java de chama-dor para a unidade de determinação de privilégio de registro de informaçõesde processamento de intervalo de controle de leitura 3201, de modo a de-terminar se o programa Java de chamador tem ou não um privilégio, isto é,uma permissão para atualizar um sinalizador pausado. A unidade de deter-minação de privilégio de registro de informações de processamento de inter-valo de controle de leitura 3201, retorna o seu resultado de determinação seo programa Java para o qual o seu identificador foi passado tem ou não umprivilégio de atualizar o sinalizador pausado.
Se o resultado da determinação enviado da unidade de determi-nação de privilégio de registro de informações de processamento de interva-lo de controle de leitura 3201 indicar que o programa Java de chamador nãotem um privilégio de atualizar o sinalizador pausado, a unidade de gerenci-amento de processamento de intervalo de controle de leitura 2703 retorna ofato para o programa Java de chamador. Por outro lado, se o resultado dadeterminação indicar que o programa Java de chamador tem um privilégiode atualizar o sinalizador pausado, a unidade de gerenciamento de proces-samento de intervalo de controle de leitura 2703 salva as informações deprocessamento de intervalo de controle de leitura que incluem o valor desinalizador pausado naquele ponto no tempo em um armazenamento tempo-rário, e determina o valor de sinalizador pausado especificado pelo programaJava a este. A seguir, a unidade de gerenciamento de processamento deintervalo de controle de leitura 2703 determina se o valor de sinalizador pau-sado que corresponde ao programa Java foi mudado ou não. A unidade degerenciamento de processamento de intervalo de controle de leitura 2703compara o valor de sinalizador pausado salvo no armazenamento temporá-rio e o valor de sinalizador pausado incluído nas informações de processa-mento de intervalo de controle de leitura, e determina os programas Javaque têm o valor de sinalizador pausado mudado pela atualização. Se o valorde sinalizador pausado não foi mudado, nada é feito. Se o valor de sinaliza-dor pausado foi mudado, a unidade de gerenciamento de processamento deintervalo de controle de leitura 2703 retém o valor mudado, e então determi-na se um controle de leitura está ou não em progresso no presente momentocom base no sinalizado de controle de leitura nas informações de processa-mento de intervalo de controle de leitura. Se o valor de sinalizador de contro-le de leitura for "desligado", a saber o controle de leitura não está em pro-gresso no presente momento, nada é feito. Se o valor de sinalizador de con-trole de leitura for "ligado", a saber o controle de leitura está em progressono presente momento, a unidade de gerenciamento de processamento deintervalo de controle de leitura 2703 determina se o valor de sinalizador pau-sado foi mudado de "verdadeiro" para "falso", ou de "falso" para "verdadeiro".
No primeiro caso, a saber no caso onde o valor de sinalizadorpausado foi mudado de "verdadeiro" para "falso", a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 passa, pa-ra a unidade de processamento de intervalo de controle de leitura 2702, oresultado que indica que o controle de leitura terminou, a saber, o valor desinalizador de controle de leitura de "desligado", assim como o identificadorde programa Java que corresponde àquele sinalizador pausado, e instrui aunidade de processamento de intervalo de controle de leitura 2702 para e-xecutar um processamento para reiniciar o programa Java o qual foi pausa-do e corresponde àquele identificador de programa Java.
No último caso, a saber no caso onde o valor de sinalizadorpausado foi mudado de "falso" para "verdadeiro", a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 passa, pa-ra a unidade de processamento de intervalo de controle de leitura 2702, oresultado que indica que o controle de leitura iniciou, a saber, o valor de si-nalizador de controle de leitura de "ligado", assim como o identificador deprograma Java que corresponde àquele sinalizador pausado, e instrui a uni-dade de processamento de intervalo de controle de leitura 2702 para execu-tar um processamento para pausar o programa Java que corresponde àque-le identificador de programa Java.
A unidade de determinação de privilégio de registro de informa-ções de processamento de intervalo de controle de leitura 3201 determina seo programa Java que corresponde ao identificador de programa Java especi-ficado tem um privilégio de atualizar o sinalizador pausado nas informaçõesde processamento de intervalo de controle de leitura. Quando do recebimen-to do identificador de programa Java passado da unidade de gerenciamentode processamento de intervalo de controle de leitura 2703, a unidade de de-terminação de privilégio de registro de informações de processamento deintervalo de controle de leitura 3201 determina se o programa Java que cor-responde àquele identificador de programa Java tem uma permissão paraatualizar o sinalizador pausado nas informações de processamento de inter-valo de controle de leitura, e então, se este tem a permissão, permite que aunidade de gerenciamento de processamento de intervalo de controle deleitura 2703 atualize o sinalizador pausado nas informações de processa-mento de intervalo de controle de leitura.
Aqui, o privilégio, a saber a permissão para atualizar o sinaliza-dor pausado nas informações de processamento de intervalo de controle deleitura pode ser determinado com, por exemplo, MonitorAppPermission esimilares nas especificações de OCAP. Este é um método no qual um arqui-vo de descrição de permissão é também armazenado em um diretório ondeum programa Java está armazenado e uma lista de privilégios permitidospara o programa Java está incluída no arquivo de descrição de permissão.
Por exemplo, se um nome de aplicativo de um programa Java estiver descri-to em um arquivo denominado ocap.applicationname.perm em um formatotal como <ocap:monitorapplication name = "setPausingFlag" value = truex/ocap:monitorapplication>, o programa Java identificado com tal nome de a-plicativo pode ter um privilégio de atualizar um sinalizador pausado nas in-formações de processamento de intervalo de controle de leitura.
Primeiro, o programa Java chama um método setPausingFlagprovido pela unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 no gerenciador de controle de leitura 1704g, e solici-ta para determinar o valor de sinalizador pausado nas informações de pro-cessamento de intervalo de controle de leitura. A unidade de gerenciamentode processamento de intervalo de controle de leitura 2703 passa, para a u-nidade de determinação de privilégio de registro de informações de proces-samento de intervalo de controle de leitura 3201, o identificador de programaJava que correspondente ao programa Java o qual chama o método setPau-singFlag, de modo a determinar se o programa Java tem ou não um privilé-gio de atualizar o sinalizador pausado. Aqui, se o programa Java não tiverum privilégio de atualizar o sinalizador pausado, a unidade de determinaçãode privilégio de registro de informações de processamento de intervalo decontrole de leitura 3201 retorna o fato para a unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703, e termina o proces-so. Se o programa Java tiver um privilégio de atualizar o sinalizador pausa-do, a unidade de determinação de privilégio de registro de informações deprocessamento de intervalo de controle de leitura 3201 retorna o fato para aunidade de gerenciamento de processamento de intervalo de controle deleitura 2703.
Uma operação típica na presente modalidade que tem a configu-ração acima explicada será abaixo descrita utilizando um fluxograma.
A Figura 33 é um fluxograma que mostra o caso onde um pro-grama Java instrui o gerenciador de controle de leitura 1704g para atualizarum sinalizador pausado nas informações de processamento de intervalo decontrole de leitura.
Primeiro, o programa Java chama um método setPausingFlagprovido pela unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 no gerenciador de controle de leitura 1704g, e solici-ta para determinar o valor de sinalizador pausado nas informações de pro-cessamento de intervalo de controle de leitura (S3301). A unidade de geren-ciamento de processamento de intervalo de controle de leitura 2703 passa,para a unidade de determinação de privilégio de registro de informações deprocessamento de intervalo de controle de leitura 3201, o identificador deprograma Java que correspondente ao programa Java o qual chama o mé-todo setPausingFlag, de modo a determinar se o programa Java tem ou nãoum privilégio de atualizar o sinalizador pausado (S3302). Aqui, se o progra-ma Java não tiver um privilégio de atualizar o sinalizador pausado, a unidadede determinação de privilégio de registro de informações de processamentode intervalo de controle de leitura 3201 retorna o fato para a unidade de ge-renciamento de processamento de intervalo de controle de leitura 2703, etermina o processo. Se o programa Java tiver um privilégio de atualizar osinalizador pausado, a unidade de determinação de privilégio de registro deinformações de processamento de intervalo de controle de leitura 3201 re-torna o fato para a unidade de gerenciamento de processamento de intervalode controle de leitura 2703, e determina o valor de sinalizador pausado es-pecificado por aquele programa Java (S3303). Aqui, a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 determinase o valor de sinalizador pausado que corresponde ao programa Java foimudado ou não (S3304). Aqui, de modo a determinar se o valor de sinaliza-dor pausado foi mudado ou não, a unidade de gerenciamento de processa-mento de intervalo de controle de leitura 2703 salva as informações de pro-cessamento de intervalo de controle de leitura que incluem o valor de sinali-zador pausado naquele ponto no tempo em um armazenamento temporárioantes de atualizá-lo. A unidade de gerenciamento de processamento de in-tervalo de controle de leitura 2703 compara o valor de sinalizador pausadosalvo no armazenamento temporário e o valor de sinalizador pausado incluí-do nas informações de processamento de intervalo de controle de leitura, edetermina, com base nos valores antes e após a atualização, se o valor desinalizador pausado foi mudado ou não.
Aqui, se o valor de sinalizador pausado não foi mudado, nada éfeito. Se o valor de sinalizador pausado foi mudado, a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 retém ovalor mudado (S3305), e então determina se um controle de leitura está ounão em progresso no presente momento com base no sinalizador de contro-le de leitura nas informações de processamento de intervalo de controle deleitura (S3306). Se o valor de sinalizador de controle de leitura for "desliga-do", a saber o controle de leitura não está em progresso no presente mo-mento, nada é feito. Se o valor de sinalizador de controle de leitura for "liga-do", a saber o controle de leitura está em progresso no presente momento, aunidade de gerenciamento de processamento de intervalo de controle deleitura 2703 determina se o valor de sinalizador pausado foi mudado de"verdadeiro" para "falso", ou de "falso" para "verdadeiro" (S3307). No últimocaso, a saber no caso onde o valor de sinalizador pausado foi mudado de"falso" para "verdadeiro", a unidade de gerenciamento de processamento deintervalo de controle de leitura 2703 passa, para a unidade de processamen-to de intervalo de controle de leitura 2702, o resultado que indica que o con-trole de leitura iniciou, a saber, o valor de sinalizador de controle de leiturade "ligado", assim comò o identificador de programa Java que correspondeàquele sinalizador pausado, e instrui a unidade de processamento de inter-valo de controle de leitura 2702 para executar um processamento para pau-sar o programa Java que corresponde àquele identificador de programa Java(S3308). A unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java de "301" como umargumento, o método de pausar provido pela unidade de gerenciamento deestado de aplicativo 2712 no AM 1704b, e instrui para pausar um programaJava que corresponde àquele identificador de programa Java (S3309).
No primeiro caso, a saber no caso onde o valor de sinalizadorpausado foi mudado de "verdadeiro" para "falso", a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 passa, pa-ra a unidade de processamento de intervalo de controle de leitura 2702, oresultado que indica que o controle de leitura terminou, a saber, o valor desinalizador de controle de leitura de "desligado", assim como o identificadorde programa Java que corresponde àquele sinalizador pausado, e instrui aunidade de processamento de intervalo de controle de leitura 2702 para e-xecutar um processamento para reiniciar o programa Java o qual foi pausa-do e corresponde àquele identificador de programa Java (S3310). A unidadede processamento de intervalo de controle de leitura 2702 chama, utilizandoo identificador de programa Java de "301" como um argumento, um métodode reiniciar provido pela unidade de gerenciamento de estado de aplicativo2712 no AM 1704b, e instrui para reiniciar o programa Java o qual foi pausa-do e corresponde àquele identificador de programa Java (S3311).
A Figura 34 é um fluxograma que mostra o caso de reproduzirum serviço dentro de um fluxo de transporte de MPEG-2 gravado na unidadede armazenamento secundário 1307.
Primeiro, um usuário instrui o EPG 1702 para reproduzir um ser-viço dentro de um fluxo de transporte de MPEG-2 (S3401). Por meio disto,ao gerenciador de serviço 1704f é fornecida uma instrução para reproduzir oserviço dentro do fluxo de transporte de MPEG-2 gravado na unidade dearmazenamento secundário 1307, e o identificador de gravação que identifi-ca este serviço. A seguir, o gerenciador de serviço 1704f instrui o JMF 1704apara reproduzir o vídeo e o áudio dentro do fluxo de transporte de MPEG-2gravado na unidade de armazenamento secundário 1307, e o JMF 1704acomeça a reproduzir o vídeo e o áudio (S3402). Além disso, como o geren-ciador de serviço 1704f instrui o AM 1704b para detectar uma AIT dentro dofluxo de transporte de MPEG-2 gravado na unidade de armazenamento se-cundário 1307, a unidade de monitoramento de AIT 2711 do AM 1704b co-meça a detectar uma AIT (S3403).
Aqui, se uma AIT atualizada for detectada, o programa Java cor-respondente é controlado com base nas informações de controle na AIT(S3404). Quanto para um programa Java especificado com as informaçõesde controle de "autopartida" em AIT, a unidade de gerenciamento de estadode aplicativo 2712 do AM 1704b inicia aquele programa Java (S3405). Quan-to para um programa Java especificado com as informações de controle de"cancelar" em AIT, a unidade de gerenciamento de estado de aplicativo 2712do AM 1704b termina aquele programa Java (S3406). Após isto, o processoretorna para a detecção de AIT pela unidade de monitoramento de AIT 2711(S3403).
Se nenhuma AIT atualizada for detectada, é julgado se o pro-grama Java instruiu o controle de leitura ou não (S3407). Aqui, se o progra-ma Java chamar setRate () utilizando um fator de "2,0", mais especificamen-te, se este instruir o controle de leitura, o JMF 1704a determina a velocidadepara a leitura do fluxo de transporte de MPEG-2 da unidade de armazena-mento secundário 1307 em uma velocidade dupla daquela normal (S3408).
Se o controle de leitura for instruído, o processo retorna para a detecção deAIT pela unidade de monitoramento de AIT 2711 (S3403). A seguir, o JMF1704a notifica a unidade de determinação de início / fim de controle de leitu-ra 2701 no gerenciador de controle de leitura 1704g dos valores de veloci-dade de leitura de fluxo de transporte de MPEG-2 antes e após a mudançada velocidade (S3409).
Então, o gerenciador de controle de leitura 1704g executa o pro-cessamento dependendo da mudança da velocidade de reprodução do fluxode transporte de MPEG-2 (S3410). Como o processamento é o mesmo quena primeira modalidade, as descrições não são repetidas com referência àFigura 30. Após isto, o processo retorna para a detecção de AIT pela unida-de de monitoramento de AIT 2711 (S3403).
Como acima descrito, de acordo com a segunda modalidade, umprograma Java para o qual um sinalizador pausado é determinado é mudadopara um estado pausado durante o controle de leitura, e assim é possívelimpedir um comportamento inesperado do programa Java durante o controlede leitura. Além disso, como um programa Java determina um sinalizadorpausado, é possível controlar o sinalizador pausado mais flexivelmente doque o controle do sinalizador pausado por ΑΙΤ.
TERCEIRA MODALIDADE
Daqui em diante, um aparelho e um método de acordo com aterceira modalidade da presente invenção estão descritos com referênciaaos desenhos.
Como a configuração de hardware e similares utilizadas na ter-ceira modalidade são as mesmas que aquelas na primeira modalidade dapresente invenção, a Figura 1 até a Figura 16 são aqui utilizadas novamente.
Como os elementos constituintes neste diagrama têm as mesmas funçõesque os elementos constituintes dos mesmos nomes e dos mesmos númerosde referência na primeira modalidade, as descrições não são repetidas.
A configuração de software da terceira modalidade é a mesmaque aquela mostrada na Figura 17. Como os elementos constituintes outrosdo que o AM 1704b, o gerenciador de controle de leitura 1704g e o gráfico1704i tem as mesmas funções que os elementos constituintes dos mesmosnomes e dos mesmos números de referência na configuração de softwareda primeira modalidade, as descrições não são repetidas. Como vários for-matos de dados utilizados na terceira modalidade são os mesmos que aque-les mostrados na Figura 20 até a Figura 21 exceto a Figura 22 e a Figura 41,as descrições não são repetidas.
A Figura 35 é um diagrama que mostra as configurações deta-lhadas do AM 1704b, do gerenciador de controle de leitura 1704g e do gráfi-co 1704i na biblioteca Java 1704.
O AM 1704b está configurado da unidade de monitoramento deAIT 2711 e da unidade de gerenciamento de estado de aplicativo 2712, co-mo na primeira modalidade. Como a unidade de monitoramento de AIT 2711tem as mesmas funções que na primeira modalidade, as descrições não sãorepetidas.
Na primeira modalidade, a unidade de gerenciamento de estadode aplicativo 2712 gerencia o estado de execução de programa Java acei-tando uma solicitação da unidade de processamento de intervalo de controlede leitura 2702 ou analisando os detalhes da AIT atualizada passada da uni-dade de monitoramento de AIT 2711. No entanto, na presente modalidade,esta gerencia o estado de execução de programa Java somente analisandoos detalhes da AIT atualizada passada da unidade de monitoramento de AIT2711. Exceto uma operação de aceitação da solicitação da unidade de pro-cessamento de intervalo de controle de leitura 2702, as operações da unida-de de gerenciamento de estado de aplicativo 2712 na presente modalidadesão as mesmas que as operações da unidade de gerenciamento de estadode aplicativo 2712 na primeira modalidade.
O gerenciador de controle de leitura 1704g está compreendidoda unidade de determinação de início / fim de controle de leitura 2701, daunidade de processamento de intervalo de controle de leitura 2702, e da u-nidade de gerenciamento de processamento de intervalo de controle de Iei-tura 2703. Como a unidade de determinação de início / fim de controle deleitura 2701 tem as mesmas funções que na primeira modalidade, as descri-ções não são repetidas.A unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 instrui a unidade de processamento de intervalo decontrole de leitura 2702 para executar um processamento de início / fim decontrole de leitura no programa Java, com base no resultado da determina-ção feita pela unidade de determinação de início / fim de controle de leitura2701 ou a AIT atualizada notificada pela unidade de monitoramento de AIT2711. Mais especificamente, a unidade de gerenciamento de processamentode inten/alo de controle de leitura 2703 passa um identificador de programaJava a ser processado e um valor de sinalizador de controle de leitura para aunidade de processamento de intervalo de controle de leitura 2702 de modoa fazê-la processá-los.
Primeiro, descrições são fornecidas abaixo do caso onde a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 instrui a unidade de processamento de intervalo de controle de leitura2702 para executar um processamento de início / fim de controle de leituraem um programa Java, com base no resultado da determinação feita pelaunidade de determinação de início / fim de controle de leitura 2701.
Quando notificada do resultado da determinação da unidade dedeterminação de início / fim de controle de leitura 2701 , a unidade degerenciamento de processamento de intervalo de controle de leitura 2703primeiro identifica um identificador de programa Java que corresponde a umprograma Java a ser processado, com referência às informações de proces-samento de controle de leitura contidas em si própria.
A Figura 42 mostra um exemplo de informações de processa-mento de intervalo de controle de leitura contidas na unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703. Na Figura42, as colunas 2201, 2204, 2205 e 4101 mostram os identificadores de pro-grama Java, os nomes de programa correspondentes, os sinalizadores invi-síveis, e um sinalizador de controle de leitura, respectivamente.
Um sinalizador de controle de leitura é um sinalizador que indicase a reprodução de um fluxo de transporte de MPEG-2 está ou não em ummodo de controle de leitura neste ponto no tempo, como na primeira modali-dade.
Um sinalizador invisível é um sinalizador que indica se ocultar ounão um gráfico desenhado por um programa Java durante o controle de lei-tura. O valor "verdadeiro" do sinalizador invisível significa que o gráfico de-senhado pelo programa Java correspondente está oculto em um modo decontrole de leitura, e então, quando o controle de leitura è cancelado pararetornar para um modo de reprodução normal, o gráfico oculto desenhadopelo programa Java é novamente exibido. O valor "falso" do sinalizador invi-sível significa que o gráfico desenhado pelo programa Java correspondenteé continuado a ser exibido sem ficar oculto mesmo em um modo de controlede leitura. Por exemplo, referindo à Figura 42, como um programa Java"/a/TopXIet" que corresponde a um identificador de programa Java "301" temo seu valor de sinalizador invisível de "verdadeiro", o gráfico desenhado peloprograma Java é oculto durante a o controle de leitura.
A unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 especifica o identificador de programa Java a serpassado para a unidade de processamento de intervalo de controle de leitu-ra 2702, com base no sinalizador invisível acima mencionado. Mais especifi-camente, a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 passa, para a unidade de processamento de interva-lo de controle de leitura 2702, o identificador de programa Java com o valorde sinalizador invisível de "verdadeiro" sendo determinado, juntamente como valor de sinalizador de controle de leitura. Por exemplo, referindo à Figura42 aqui, o identificador de programa Java como valor de sinalizador invisívelde "verdadeiro" é "301". No caso onde a unidade de determinação de início /fim de controle de leitura 2701 determina que o controle de leitura começou,a unidade de gerenciamento de processamento de intervalo de controle deleitura 2703 passa, para a unidade de processamento de intervalo de contro-le de leitura 2702, o resultado que indica que o controle de leitura começou,a saber, o valor de sinalizador de controle de leitura de "ligado", assim comoo identificador de programa Java, e instrui a unidade de processamento deintervalo de controle de leitura 2702 para executar um processamento paraocultar o gráfico desenhado por aquele programa Java. No caso onde o con-trole de leitura é terminado, a unidade de gerenciamento de processamentode intervalo de controle de leitura 2703 passa, para a unidade de processa-mento de intervalo de controle de leitura 2702, o resultado que indica que ocontrole de leitura terminou, a saber, o valor de sinalizador de controle deleitura de "desligado", assim o identificador de programa Java, e instrui aunidade de processamento de intervalo de controle de leitura 2702 para e-xecutar um processamento para exibir novamente o gráfico desenhado poraquele programa Java.
A seguir, descrições são fornecidas do caso onde a unidade degerenciamento de processamento de intervalo de controle de leitura 2703instrui a unidade de processamento de intervalo de controle de leitura 2702para executar um processamento de início / fim de controle de leitura em umprograma Java, com base na AIT atualizada notificada da unidade de moni-toramento de AIT 2711.
A Figura 36A e a Figura 36B cada uma mostra um exemplo deuma AIT notificada da unidade de monitoramento de AIT 2711 do AM 1704b.Como os identificadores de programa Java 2201, as informações de controle2202, os identificadores de DSM-CC 2203 e os nomes de programa 2204 naFigura 36A e na Figura 36B são os mesmos que aqueles na AIT na Figura22, as descrições não são repetidas. Uma coluna 3605, mostra os sinaliza-dores invisíveis que correspondem aos respectivos programas Java.
Cada vez que uma AIT é utilizada, a unidade de monitoramentode AIT 2711 notifica a unidade de gerenciamento de processamento de in-tervalo de controle de leitura 2703 da AIT atualizada. Primeiro, de modo adeterminar se o valor de sinalizador invisível foi mudado, a unidade de ge-renciamento de processamento de intervalo de controle de leitura 2703 salvaas informações de processamento de intervalo de controle de leitura queincluem o valor de sinalizador invisível naquele ponto no tempo em um ar-mazenamento temporário antes de atualizá-lo. A seguir, a unidade de geren-ciamento de processamento de intervalo de controle de leitura 2703 analisaa AIT notificada, e atualiza um sinalizador invisível que corresponde a cadaprograma Java nas informações de processamento de intervalo de controlede leitura contidas em si própria. Por exemplo, no caso onde a AIT mostradana Figura 36B é detectada após a AIT mostrada na Figura 36A ter sido de-tectada pela unidade de monitoramento de AIT 2711, o valor de sinalizadorinvisível que corresponde a cada identificador de programa Java de "301"nas informações de processamento de intervalo de controle de leitura conti-das na unidade de gerenciamento de processamento de intervalo de contro-le de leitura 2703 é atualizado de "verdadeiro" para "falso".
Quando as informações de processamento de intervalo de con-trole de leitura foram atualizadas, a unidade de gerenciamento de proces-samento de intervalo de controle de leitura 2703 compara o valor de sinali-zador invisível salvo no armazenamento temporário e o valor de sinalizadorinvisível nas informações de processamento de intervalo de controle de leitu-ra, e determina os programas Java que tem o valor de sinalizador invisívelmudado pela atualização. Aqui, se o valor de sinalizador pausado não foimudado, nada é feito. Se o valor de sinalizador invisível foi mudado, a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 retém o valor mudado, e então determina se um controle de leitura estáou não em progresso no presente momento com base no sinalizador de con-trole de leitura nas informações de processamento de intervalo de controlede leitura. Se o valor de sinalizador de controle de leitura for "desligado", asaber o controle de leitura não está em progresso no presente momento,nada é feito. Se o valor de sinalizador de controle de leitura for "ligado", asaber o controle de leitura está em progresso no presente momento, a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 determina se o valor de sinalizador invisível foi mudado de "verdadeiro"para "falso", ou de "falso" para "verdadeiro".
No primeiro caso, a saber no caso onde o valor de sinalizadorinvisível foi mudado de "verdadeiro" para "falso", a unidade de gerenciamen-to de processamento de intervalo de controle de leitura 2703 passa, para aunidade de processamento de intervalo de controle de leitura 2702, o resul-tado que indica que o controle de leitura terminou, a saber, o valor de sinali-zador de controle de leitura de "desligado", assim como o identificador deprograma Java que corresponde àquele sinalizador invisível, e instrui a uni-dade de processamento de intervalo de controle de leitura 2702 para execu-tar um processamento para exibir o gráfica desenhado pelo programa Java oqual corresponde àquele identificador de programa Java.
No último caso, a saber no caso onde o valor de sinalizador invi-sível foi mudado de "falso" para "verdadeiro", a unidade de gerenciamentode-processamento de intervalo de controle de leitura 2703 passa, para a u-nidade de processamento de intervalo de controle de leitura 2702, o resulta-do que indica que o controle de leitura iniciou, a saber, o valor de sinalizadorde controle de leitura de "ligado", assim como o identificador de programaJava que corresponde àquele sinalizador invisível, e instrui a unidade deprocessamento de intervalo de controle de leitura 2702 para executar umprocessamento para ocular o gráfico desenhado pelo programa Java o qualcorresponde àquele identificador de programa Java.
A unidade de processamento de intervalo de controle de leitura2702 recebe o identificador de programa Java a ser processado e o valor desinalizador de controle de leitura da unidade de gerenciamento de proces-samento de intervalo de controle de leitura 2703, e executa um processa-mento apropriado para o programa Java que corresponde àquele identifica-dor de programa Java. Se o valor de sinalizador de controle de leitura for"ligado", a unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java como um argumen-to, um método de "invalidate(int appID") provido pela unidade de filtro deplano de gráfico 3502, e instrui para ocultar o gráfico desenhado no plano degráfico 1314 pelo programa Java que corresponde àquele identificador deprograma Java. Aqui, um argumento appID é um identificador de programaJava. Por exemplo, se invalidar (301) for chamado, o gráfico desenhado noplano de gráfico 1314 pelo programa Java que corresponde ao identificadorde programa Java de "301" é oculto. Por outro lado, se o valor de sinalizadorde controle de leitura for "desligado", a unidade de processamento de inter-valo de controle de leitura 2702 chama, utilizando o identificador de progra-ma Java como um argumento, um método "validate(int appID") provido pelaunidade de filtro de plano de gráfico 3502, e instrui para exibir novamente ográfico desenhado no plano de gráfico 1314 pelo programa Java que corres-ponde àquele identificador de programa Java.
Aqui, um argumento appID é um identificador de programa Java.
Por exemplo, se validar (301) for chamado, o gráfico desenhado no plano degráfico 1314 pelo programa Java que corresponde ao identificador de pro-grama Java de "301" é novamente exibido.
Por exemplo, referindo à Figura 42, no caso onde a unidade degerenciamento de processamento de intervalo de controle de leitura 2703passa o identificador de programa Java de "301" e o valor de sinalizador decontrole de leitura de "ligado" para a unidade de processamento de intervalode controle de leitura 2702, a unidade de processamento de intervalo decontrole de leitura 2702 chama invalidar (301) de modo a ocultar o gráficodesenhado pelo programa Java que corresponde ao identificador de pro-grama Java de "301", e instrui para invalidar o desenho de gráfico no planode gráfico 1314 por aquele programa Java. No caso onde a unidade de ge-renciamento de processamento de intervalo de controle de leitura 2703 pas-sa o identificador de programa Java de "301" e o valor de sinalizador de con-trole de leitura de "desligado" para a unidade de processamento de intervalode controle de leitura 2702, a unidade de processamento de intervalo decontrole de leitura 2702 chama validar (301) de modo a exibir novamente ográfico desenhado pelo programa Java que corresponde ao identificador deprograma Java de "301", e instrui para validar o desenho de gráfico no planode gráfico 1314 por aquele programa Java.
O gráfico 1704i está compreendido da unidade de desenho deplano de gráfico 3501 e a unidade de filtro de plano de gráfico 3502.
A unidade de desenho de plano de gráfico 3501 tem uma funçãode desenho, através da biblioteca 1701b, gráficos instruídos para serem de-senhados por um programa Java, no plano de gráfico 1314. Isto é implemen-tado pela função de Kit de Ferramentas de Janela Abstrata Java (AWT). Osgráficos desenhados no plano de gráfico 1314 são transferidos e exibidos nodisplay 1305 com uma freqüência apropriada,de acordo com uma instruçãoda CPU 1306.
A unidade de filtro de plano de gráfico 3502 provê uma funçãode invalidar ou validar o desenho de gráfico no plano de gráfico 1314 peloprograma Java que corresponde ao identificador de programa Java passadoda unidade de processamento de intervalo de controle de leitura 2702.
Para ser mais específico, a unidade de filtro de plano de gráfico3502 apaga o display do gráfico desenhado pelo programa Java especifica-do do display 1305. Quando a unidade de processamento de intervalo decontrole de leitura 2702 chama um método de invalidar que utiliza o identifi-cador de programa Java como um argumento, a unidade de filtro de planode gráfico 3502 invalida o desenho de gráfico no plano de gráfico 1314 peloprograma Java que corresponde àquele identificador de programa Java.
Quando a unidade de processamento de intervalo de controle de leitura2702 chama um método de validar que utiliza o identificador de programaJava como um argumento, a unidade de filtro de plano de gráfico 3502 validao desenho de gráfico no plano de gráfico 1314 pelo programa Java que cor-responde àquele identificador de programa Java. Como o desenho de gráfi-co no plano de gráfico 1314 por um programa Java específico é invalidadodurante o controle de leitura e validado durante a reprodução normal, de a -cordo com uma instrução da unidade de processamento de intervalo de con-trole de leitura 2702, o gráfico instruído para ser desenhado pelo programaJava é ocultado do display 1305 durante o controle de leitura.
Como um fluxo de processos no caso onde um serviço dentro deum fluxo de transporte de MPEG-2 gravado na unidade de armazenamentosecundário 1307 é reproduzido é o mesmo como mostrado no fluxograma daFigura 29 na primeira modalidade, a Figura 29 é também aqui referida e asdescrições não são repetidas.
A Figura 37 é um fluxograma que mostra um fluxo de processa-mento executado pelo gerenciador de controle de leitura 1704g que dependeem uma mudança em velocidade de reprodução de um fluxo de transportede MPEG-2.No caso onde setRate () é chamado por um programa Java demodo a mudar uma velocidade de reprodução de um fluxo de transporte deMPEG-2, quando o JMF 1704a notifica a unidade de determinação de início /fim de controle de leitura 2701 no gerenciador de controle de leitura 1704gdas velocidades de reprodução antes e após a mudança, a unidade de de-terminação de início / fim de controle de leitura 2701 primeiro determina se avelocidade de reprodução antes da mudança é "1,0" ou não (S3701). Se avelocidade de reprodução antes da mudança for "1,0", a unidade de deter-minação de início / fim de controle de leitura 2701 ainda determina se a ve-Iocidade de reprodução após a mudança é "1,0" ou não (S3702), e se a ve-locidade de reprodução após a mudança não for "1,0", esta determina que ocontrole de leitura iniciou. Então, esta passa o seu resultado da determina-ção para a unidade de gerenciamento de processamento de intervalo decontrole dé leitura 2703. Se a velocidade de reprodução após a mudança for"1,0", nada é feito.
Quando recebendo o resultado que indica que o controle de lei-tura iniciou, a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 determina se existe ou não um identificador de pro-grama Java que tenha um valor de sinalizador invisível de "verdadeiro" nasinformações de processamento de intervalo de controle de leitura contidasem si própria (S3703). Referindo-se à Figura 42 aqui, o identificador de pro-grama Java com o valor de identificador invisível de "verdadeiro" é "301". Aunidade de gerenciamento de processamento de intervalo de controle deleitura 2703 passa, para a unidade de processamento de intervalo de contro-Ie de leitura 2702, o resultado que indica que o controle de leitura iniciou, asaber, o valor de sinalizador de controle de leitura de "ligado", assim como oidentificador de programa Java, e instrui a unidade de processamento deintervalo de controle de leitura 2702 para executar um processamento paraocultar o gráfico desenhado por aquele programa Java (S3704). A unidadede processamento de intervalo de controle de leitura 2702 chama, utilizandoo identificador de programa Java como um argumento, um método de invali-dar provido pela unidade de filtro de plano de gráfico 3502 e instrui para in-validar o desenho de gráfico no plano de gráfico 1314 por aquele programaJava (S3705).
Se a velocidade de reprodução antes da mudança não for "1,0",a unidade de determinação de início / fim de controle de leitura 2701 aindadetermina se a velocidade de reprodução após a mudança é "1,0" ou não(S3706), e se a velocidade de reprodução após a mudança for "1,0", estadetermina que o controle de leitura terminou. Então, esta passa o seu resul-tado de determinação para a unidade de gerenciamento de processamentode intervalo de controle de leitura 2703. Se a velocidade de reprodução apósa mudança não for "1,0", nada é feito.
Quando do recebimento do resultado que indica que o controlede leitura terminou, a unidade de gerenciamento de processamento de inter-valo de controle de leitura 2703 determina se existe ou não um identificadorde programa Java que tem um valor de sinalizador invisível de "verdadeiro"nas informações de processamento de intervalo de controle de leitura conti-das em si própria (S3707). Referindo à Figura 42 aqui, o identificador deprograma Java com o valor de sinalizador invisível de "verdadeiro" é "301". Aunidade de gerenciamento de processamento de intervalo de controle deleitura 2703 passa, para a unidade de processamento de intervalo de contro-Ie de leitura 2702, o resultado que indica que o controle de leitura terminou,a saber, o valor de sinalizador de controle de leitura de "desligado", assimcomo o identificador de programa Java, e instrui a unidade de processamen-to de intervalo de controle de leitura 2702 para executar um processamentopara exibir novamente o gráfico desenhado por aquele programa Java(S3708). A unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java como um argumen-to, o método de validar provido pela unidade de filtro de plano de gráfico3502, e instrui para validar novamente o desenho de gráfico no plano de grá-fico 1314 por aquele programa Java (S3709).
A Figura 38 é um fluxograma que mostra um fluxo de processa-mento executado pelo gerenciador de controle de leitura 1704g dependendode uma atualização de informações de processamento de intervalo de con-trole de leitura contidas na unidade de gerenciamento de processamento deintervalo de controle de leitura 2703.
A Figura 36A e a Figura 36B cada uma mostra um exemplo deuma AIT notificada da unidade de monitoramento de AIT 2711 do AM 1704b.
Como os identificadores de programa Java 2201, as informações de controle2202, os identificadores de DSM-CC 2203 e os nomes de programa 2204 naFigura 36A e na Figura 36B são os mesmos que aqueles na AIT na Figura22, as descrições não são repetidas. Uma coluna 3605, mostra os sinaliza-dores invisíveis que correspondem aos respectivos programas Java. Umsinalizador invisível é um sinalizador que indica se ocultar ou não um gráficodesenhado por um programa Java durante o controle de leitura. O valor"verdadeiro" do sinalizador invisível significa que o gráfico desenhado peloprograma Java está oculto durante o controle de leitura. Por exemplo, refe-rindo à Figura 36A, como um programa Java "/a/TopXIet" que corresponde aum identificador de programa Java "301" tem o seu valor de sinalizador invi-sível de "verdadeiro", o gráfico desenhado pelo programa Java é oculto du-rante a o controle de leitura.
Cada vez que uma AIT é utilizada, a unidade de monitoramentode AIT 2711 notifica a unidade de gerenciamento de processamento de in-tervalo de controle de leitura 2703 da AIT atualizada. A unidade de gerenci-amento de processamento de intervalo de controle de leitura 2703 analisa aAIT notificada, e atualiza um sinalizador invisível que corresponde a cadaprograma Java nas informações de processamento de intervalo de controlede leitura contidas na unidade de gerenciamento de processamento de inter-valo de controle de leitura 2703. Por exemplo, no caso onde a AIT mostradana Figura 36B é detectada após a AIT mostrada na Figura 36A ter sido de-tectada pela unidade de monitoramento de AIT 2711, o valor de sinalizadorinvisível que corresponde a cada identificador de programa Java de "301"nas informações de processamento de intervalo de controle de leitura conti-das na unidade de gerenciamento de processamento de intervalo de contro-le de leitura 2703 é atualizado de "verdadeiro" para "falso".
No caso onde uma AIT atualizada daquela na Figura 36A a Figu-ra 36Β é detectada, quando as informações de processamento de intervalode controle de leitura contidas na unidade de gerenciamento de processa-mento de intervalo de controle de leitura 2703 são atualizadas, a unidade degerenciamento de processamento de intervalo de controle de leitura 2703determina se um valor de sinalizador invisível foi mudado ou não (S3801).
Aqui, de modo a determinar se o valor de sinalizador invisível foi mudado ounão, a unidade de gerenciamento de processamento de intervalo de controlede leitura 2703 salva as informações de processamento de intervalo de con-trole de leitura que incluem o valor de sinalizador invisível naquele ponto notempo em um armazenamento temporário antes de atualizá-las. A unidadede gerenciamento de processamento de intervalo de controle de leitura 2703compara o valor de sinalizador invisível salvo no armazenamento temporárioe o valor de sinalizador invisível incluído nas informações de processamentode intervalo de controle de leitura, e determina, com base nos valores antese após a atualização, se o valor de sinalizador invisível foi mudado ou não.
Aqui, se o valor de sinalizador invisível não foi mudado, nada é feito. Se ovalor de sinalizador invisível foi mudado, a unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703 retém o valor muda-do (S3802), e então determina se o controle de leitura estão ou não em pro-gresso no presente momento com base no sinalizador de controle de leituranas informações de processamento de intervalo de controle de leitura(S3803).
Se o valor de sinalizador de controle de leitura for "desligado", asaber o controle de leitura não está em progresso no presente momento,nada é feito. Se o valor de sinalizador de controle de leitura for "ligado", asaber o controle de leitura está em progresso no presente momento, a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 determina se o valor de sinalizador invisível foi mudado de "verdadeiro"para "falso", ou de "falso" para "verdadeiro" (S3804). No último caso, a saberno caso onde o valor de sinalizador invisível foi mudado de "falso" para "ver-dadeiro", a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 passa, para a unidade de processamento de interva-Io de controle de leitura 2702, o resultado que indica que o controle de leituracomeçou, a saber, o valor de sinalizador de controle de leitura de "ligado",assim como o identificador de programa Java que corresponde àquele sina-lizador invisível, e instrui a unidade de processamento de intervalo de contro-Ie de leitura 2702 para executar um processamento para ocultar o gráficodesenhado pelo programa Java o qual corresponde àquele identificador deprograma Java (S3805). A unidade de processamento de intervalo de con-trole de leitura 2702 chama, utilizando o identificador de programa Java de"301" como um argumento, um método de invalidar provido pela unidade defiltro de plano de gráfico 3502, e instrui para invalidar o desenho de gráficono plano de gráfico 1314 pelo programa Java (S3806).
No primeiro caso, a saber no caso onde o valor de sinalizadorinvisível foi mudado de "verdadeiro" para "falso", a unidade de gerenciamen-to de processamento de intervalo de controle de leitura 2703 passa, para aunidade de processamento de intervalo de controle de leitura 2702, o resul-tado que indica que o controle de leitura terminou, a saber, o valor de sinali-zador de controle de leitura de "desligado", assim como o identificador deprograma Java que corresponde àquele sinalizador invisível, e instrui a uni-dade de processamento de intervalo de controle de leitura 2702 para execu-tar um processamento para exibir novamente o gráfico desenhado pelo pro-grama Java o qual corresponde àquele identificador de programa Java(S3807). A unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java como um argumen-to, um método de validar provido pela unidade de filtro de plano de gráfico3502, e instrui para validar novamente o desenho de gráfico no plano de grá-fico 1314 por aquele programa Java (S3808).
Como acima descrito, de acordo com a terceira modalidade, umgráfico desenhado por um programa Java é ocultado durante o controle deleitura quando um sinalizador invisível é determinado, e assim é possívelimpedir uma distorção do gráfico desenhado durante a reprodução de leitura.
QUARTA MODALIDADE
Daqui em diante, um aparelho e um método de acordo com aquarta modalidade da presente invenção serão descritos com referência aosdesenhos.
Como a configuração de hardware e similares utilizadas na quar-ta modalidade são as mesmas que aquelas na primeira modalidade da pre-sente invenção, a Figura 1 até a Figura 16 são aqui utilizadas novamente.Como os elementos constituintes nestes diagramas têm as mesmas funçõesque os elementos constituintes dos mesmos nomes e dos mesmos númerosde referência na primeira modalidade, as descrições não são repetidas.
A configuração de software da quarta modalidade é a mesmaque aquela mostrada na Figura 17. Como os elementos constituintes outrosdo que o AM 1704b e o gerenciador de controle de leitura 1704g têm asmesmas funções que os elementos constituintes dos mesmos nomes e dosmesmos números de referência na configuração de software da terceira mo-dalidade, as descrições não são repetidas. Como vários formatos de dadosutilizados na quarta modalidade são os mesmos que aqueles mostrados naFigura 20 até a Figura 21, na Figura 36A, na Figura 36B e na Figura 42, asdescrições não são repetidas.
A Figura 39 é um diagrama que mostra configurações detalha-das do AM 1704b e do gerenciador de controle de leitura 1704g na bibliotecaJava 1704.
O AM 1704b está configurado na unidade de monitoramento deAIT 2711 e na unidade de gerenciamento de estado de aplicativo 2712, co-mo na primeira modalidade. Como a unidade de unidade de monitoramentode AIT 2711 tem as mesmas funções que na segunda modalidade, as des-crições não são repetidas. Como a unidade de gerenciamento de estado deaplicativo 2712 tem as mesmas funções que na terceira modalidade, as des-crições não são repetidas.
O gerenciador de controle de leitura 1704g é compreendido daunidade de determinação de início / fim de controle de leitura 2701, da uni-dade de processamento de intervalo de controle de leitura 2702, da unidadede gerenciamento de processamento de intervalo de controle de leitura 2703e da unidade de determinação de privilégio de registro de informações deprocessamento de intervalo de controle de leitura 3201. Como a unidade dedeterminação de início / fim de controle de leitura 2701 e a unidade de pro-cessamento de intervalo de controle de leitura 2702 respectivamente tem asmesmas funções que na terceira modalidade, as descrições não são repetidas.
Como na terceira modalidade, a unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703 contém as informa-ções de processamento de intervalo de controle de leitura na qual um pro-cessamento de início / fim de controle de leitura para um programa Java édescrito, e também instrui a unidade de processamento de intervalo de con-trole de leitura 2702 para executar um processamento de início / fim de con-trole de leitura com base nas informações de processamento de intervalo decontrole de leitura. Na terceira modalidade, se uma AIT for atualizada, a AITatualizada é notificada da unidade de monitoramento de AIT 2711, e combase nesta AIT, um sinalizador invisível nas informações de processamentode intervalo de controle de leitura contidas é atualizado. No entanto, na pre-sente modalidade, mesmo se a AIT for atualizada a AIT atualizada não énotificada da unidade de monitoramento de AIT 2711. A unidade de gerenci-amento de processamento de intervalo de controle de leitura 2703 provê,como JavaAPI, um método " setlnvisibleFlag(int appID, Boolean invisible-Flag") que tem um valor de sinalizador invisível como um argumento.
Aqui, um argumento appID é um identificador de programa Javaa ser determinado com um valor de sinalizador invisível, e um argumentoinvisibleFlag é um valor de sinalizador invisível. Quando o método setlnvisi-bleFlag é chamado por um programa Java1 o sinalizador invisível nas infor-mações de processamento de intervalo de controle de leitura contidas é atu-alizado. Por exemplo, setlnvisibleFlag (301, verdadeiro) é chamado por umprograma Java, o sinalizador invisível que corresponde a um programa Javaque tem um identificador de programa Java de "301" é determinado para"verdadeiro". Por outro lado, setlnvisibleFlag (301, falso) é chamado por umprograma Java, o sinalizador invisível que corresponde ao programa Javaque tem o identificador de programa Java de "301" é determinado para "fal-SO.
Quando ο método setlnvisibleFlag é chamado, a unidade de ge-renciamento de processamento de intervalo de controle de leitura 2703 pas-sa o identificador de um programa Java de chamador para a unidade de de-terminação de privilégio de registro de informações de processamento deintervalo de controle de leitura 3201, de modo a determinar se o programaJava de chamador tem ou não um privilégio, isto é, uma permissão para atu-alizar um sinalizador invisível. A unidade de determinação de privilégio deregistro de informações de processamento de intervalo de controle de leitura3201, retorna o seu resultado de determinação se o programa Java para oqual o seu identificador foi passado tem ou não um privilégio de atualizar osinalizador invisível.
Se o resultado da determinação enviado da unidade de determi-nação de privilégio de registro de informações de processamento de interva-Io de controle de leitura 3201 indicar que o programa Java de chamador nãotem um privilégio de atualizar o sinalizador invisível, a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 retorna ofato para o programa Java de chamador. Por outro lado, se o resultado dadeterminação indicar que o programa Java de chamador tem um privilégiode atualizar o sinalizador invisível, a unidade de gerenciamento de proces-samento de intervalo de controle de leitura 2703 salva as informações deprocessamento de intervalo de controle de leitura que incluem o valor desinalizador invisível naquele ponto no tempo em um armazenamento tempo-rário, e determina o valor de sinalizador invisível especificado pelo programaJava a este. A seguir, a unidade de gerenciamento de processamento deintervalo de controle de leitura 2703 determina se o valor de sinalizador invi-sível que corresponde ao programa Java foi mudado ou não. A unidade degerenciamento de processamento de intervalo de controle de leitura 2703compara o valor de sinalizador invisível salvo no armazenamento temporárioe o valor de sinalizador invisível incluído nas informações de processamentode intervalo de controle de leitura, e determina, com base nos valores antese após a atualização, se o valor de sinalizador invisível foi mudado ou não.Aqui, se o valor de sinalizador invisível não foi mudado, nada é feito.Se ovalor de sinalizador invisível foi mudado, a unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703 retém o valor muda-do, e então determina se um controle de leitura está ou não em progresso nopresente momento com base no sinalizado de controle de leitura nas infor-mações de processamento de intervalo de controle de leitura. Se o valor desinalizador de controle de leitura for "desligado", a saber o controle de leituranão está em progresso no presente momento, nada é feito. Se o valor desinalizador de controle de leitura for "ligado", a saber o controle de leituraestá em progresso no presente momento, a unidade de gerenciamento deprocessamento de intervalo de controle de leitura 2703 determina se o valorde sinalizador invisível foi mudado de "verdadeiro" para "falso", ou de "falso"para "verdadeiro".
No primeiro caso, a saber no caso onde o valor de sinalizadorinvisível foi mudado de "verdadeiro" para "falso", a unidade de gerenciamen-to de processamento de intervalo de controle de leitura 2703 passa, para aunidade de processamento de intervalo de controle de leitura 2702, o resul-tado que indica que o controle de leitura terminou, a saber, o valor de sinali-zador de controle de leitura de "desligado", assim como o identificador deprograma Java que corresponde àquele sinalizador invisível, e instrui a uni-dade de processamento de intervalo de controle de leitura 2702 para execu-tar um processamento para exibir novamente o gráfico desenhado pelo pro-grama Java o qual corresponde àquele identificador de programa Java.
No último caso, a saber no caso onde o valor de sinalizador invi-sível foi mudado de "falso" para "verdadeiro", a unidade de gerenciamentode processamento de intervalo de controle de leitura 2703 passa, para a u-nidade de processamento de intervalo de controle de leitura 2702, o resulta-do que indica que o controle de leitura iniciou, a saber, o valor de sinalizadorde controle de leitura de "ligado", assim como o identificador de programaJava que corresponde àquele sinalizador invisível, e instrui a unidade deprocessamento de intervalo de controle de leitura 2702 para executar umprocessamento para ocultar o gráfico desenhado pelo programa Java o qualcorresponde àquele identificador de programa Java.
A unidade de determinação de privilégio de registro de informa-ções de processamento de intervalo de controle de leitura 3201 determina seo programa Java que corresponde ao identificador de programa Java especi-ficado tem ou não um privilégio de atualizar o sinalizador invisível nas infor-mações de processamento de intervalo de controle de leitura. Quando dorecebimento do identificador de programa Java passado da unidade de ge-renciamento de processamento de intervalo de controle de leitura 2703, aunidade de determinação de privilégio de registro de informações de proces-samento de intervalo de controle de leitura 3201 determina se o programaJava que corresponde àquele identificador de programa Java tem ou nãouma permissão para atualizar o sinalizador invisível nas informações de pro-cessamento de intervalo de controle de leitura, e então, se este tem a per-missão, permite que a unidade de gerenciamento de processamento de in-tervalo de controle de leitura 2703 atualize o sinalizador invisível nas infor-mações de processamento de intervalo de controle de leitura.
Aqui, o privilégio, a saber a permissão para atualizar o sinaliza-dor invisível nas informações de processamento de intervalo de controle deleitura pode ser determinado com, por exemplo, MonitorAppPermission esimilares nas especificações de OCAP. Este é um método no qual um arqui-vo de descrição de permissão é também armazenado em um diretório ondeum programa Java está armazenado e uma lista de privilégios permitidospara o programa Java está incluída no arquivo de descrição de permissão.
Por exemplo, se um nome de aplicativo de um programa Java estiver descri-to em um arquivo denominado ocap.applicationname.perm em um formatotal como <ocap:monitorapplication name = "setlnvisibleFlag" value = truex/ocap:monitorapplication>, o programa Java identificado com tal nome de a-plicativo pode ter um privilégio de atualizar um sinalizador invisível nas in-formações de processamento de intervalo de controle de leitura.
Primeiro, o programa Java chama um método setlnvisibleFlagprovido pela unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 no gerenciador de controle de leitura 1704g, e solici-ta para determinar o valor de sinalizador invisível nas informações de pro-cessamento de intervalo de controle de leitura. A unidade de gerenciamentode processamento de intervalo de controle de leitura 2703 passa, para a u-nidade de determinação de privilégio de registro de informações de proces-samento de intervalo de controle de leitura 3201, o identificador de programaJava que correspondente ao programa Java o qual chama o método setlnvi-sibleFlag, de modo a determinar se o programa Java tem ou não um privilé-gio de atualizar o sinalizador invisível. Aqui, se o programa Java não tiver umprivilégio de atualizar o sinalizador invisível, a unidade de determinação deprivilégio de registro de informações de processamento de intervalo de con-trole de leitura 3201 retorna o fato para a unidade de gerenciamento de pro-cessamento de intervalo de controle de leitura 2703, e termina o processo.Se o programa Java tiver um privilégio de atualizar o sinalizador invisível, aunidade de determinação de privilégio de registro de informações de proces-samento de intervalo de controle de leitura 3201 retorna o fato para a unida-de de gerenciamento de processamento de intervalo de controle de leitura 2703.
Um processo típico na presente modalidade que tem a configu-ração acima explicada será abaixo descrito utilizando um fluxograma.
A Figura 40 é um fluxograma que mostra o caso onde um pro-grama Java instrui o gerenciador de controle de leitura 1704g para atualizarum sinalizador invisível nas informações de processamento de intervalo decontrole de leitura.
Primeiro, o programa Java chama um método setlnvisibleFlagprovido pela unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 no gerenciador de controle de leitura 1704g, e solici-ta para determinar o valor de sinalizador invisível nas informações de pro-cessamento de intervalo de controle de leitura (S4001). A unidade de geren-ciamento de processamento de intervalo de controle de leitura 2703 passa,para a unidade de determinação de privilégio de registro de informações deprocessamento de intervalo de controle de leitura 3201, o identificador deprograma Java que correspondente ao programa Java o qual chama o mé-todo setlnvisibleFlag, e determina se o programa Java tem ou não um privi-légio de atualizar o sinalizador invisível (S4002). Aqui, se o programa Javanão tiver um privilégio de atualizar o sinalizador invisível, a unidade de de-terminação de privilégio de registro de informações de processamento deintervalo de controle de leitura 3201 retorna o fato para a unidade de geren-ciamento de processamento de intervalo de controle de leitura 2703, e ter-mina o processo. Se o programa Java tiver um privilégio de atualizar o sina-lizador invisível, "a unidade de determinação de privilégio de registro de in-formações de processamento de intervalo de controle de leitura 3201 retornao fato para a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703, e determina o valor de sinalizador invisível especifi-cado por aquele programa Java (S4003).
Aqui, a unidade de gerenciamento de processamento de interva-lo de controle de leitura 2703 determina se o valor de sinalizador invisívelque corresponde ao programa Java foi mudado ou não (S4004). Aqui, demodo a determinar se o valor de sinalizador invisível foi mudado ou não, aunidade de gerenciamento de processamento de intervalo de controle deleitura 2703 salva as informações de processamento de intervalo de controlede leitura que incluem o valor de sinalizador invisível naquele ponto no tem-po em um armazenamento temporário antes de atualizá-lo. A unidade degerenciamento de processamento de intervalo de controle de leitura 2703compara o valor de sinalizador invisível salvo no armazenamento temporárioe o valor de sinalizador invisível incluído nas informações de processamentode intervalo de controle de leitura, e determina, com base nos valores antese após a atualização, se o valor de sinalizador invisível foi mudado ou não.
Aqui, se o valor de sinalizador invisível não foi mudado, nada éfeito. Se o valor de sinalizador invisível foi mudado, a unidade de gerencia-mento de processamento de intervalo de controle de leitura 2703 retém ovalor mudado (S4005), e então determina se um controle de leitura está ounão em progresso no presente momento com base no sinalizador de contro-le de leitura nas informações de processamento de intervalo de controle deleitura (S4006).Se o valor de sinalizador de controle de leitura for "desligado", asaber o controle de leitura não está em progresso no presente momento,nada é feito. Se o valor de sinalizador de controle de leitura for "ligado", asaber o controle de leitura está em progresso no presente momento, a uni-dade de gerenciamento de processamento de intervalo de controle de leitura2703 determina se o valor de sinalizador invisível foi mudado de "verdadeiro"para "falso", ou de "falso" para "verdadeiro" (S4007). No último caso, a saberno caso onde o valor de sinalizador invisível foi mudado de "falso" para "ver-dadeiro", a unidade de gerenciamento de processamento de intervalo decontrole de leitura 2703 passa, para a unidade de processamento de interva-lo de controle de leitura 2702, o resultado que indica que o controle de leiturainiciou, a saber, o valor de sinalizador de controle de leitura de "ligado", as-sim como o identificador de programa Java que corresponde àquele sinali-zador invisível, e instrui a unidade de processamento de intervalo de controlede leitura 2702 para executar um processamento para ocultar o gráfico de-senhado pelo programa Java o qual corresponde àquele identificador deprograma Java (S4008). A unidade de processamento de intervalo de con-trole de leitura 2702 chama, utilizando o identificador de programa Java co-mo um argumento, o método de invalidar provido pela unidade de filtro deplano de gráfico 3502, e instrui para invalidar o desenho de gráfico no planode gráfico 1314 pelo programa Java (S4009).
No primeiro caso, a saber no caso onde o valor de sinalizadorinvisível foi mudado de "verdadeiro" para "falso", a unidade de gerenciamen-to de processamento de intervalo de controle de leitura 2703 passa, para aunidade de processamento de intervalo de controle de leitura 2702, o resul-tado que indica que o controle de leitura terminou, a saber, o valor de sinali-zador de controle de leitura de "desligado", assim como o identificador deprograma Java que corresponde àquele sinalizador invisível, e instrui a uni-dade de processamento de intervalo de controle de leitura 2702 para execu-tar um processamento para exibir novamente o gráfico desenhado pelo pro-grama Java o qual corresponde àquele identificador de programa Java(S4010). A unidade de processamento de intervalo de controle de leitura2702 chama, utilizando o identificador de programa Java como um argumen-to, um método de validar provido pela unidade de filtro de plano de gráfico3502, e instrui para validar novamente o desenho de gráfico no plano de grá-fico 1314 por aquele programa Java (S4011).
Como um fluxo de processos na caso de reproduzir um serviçodentro de um fluxo de transporte de MPEG-2 gravado na unidade de arma-zenamento secundário 1307 é o mesmo como mostrado no fluxograma naFigura 34, a Figura 34 é novamente aqui referida, e as descrições não sãorepetidas. Como um fluxo de processamento executado pelo gerenciador decontrole de leitura 1704g dependendo de uma mudança na velocidade dereprodução de um fluxo de transporte de MPEG-2 é o mesmo que aquele naterceira modalidade, a descrição não é repetida referindo à Figura 37.
Como acima descrito, de acordo com a quarta modalidade, ográfico desenhado por um programa Java é oculto durante o controle de Iei-tura quando um sinalizador invisível é determinado, e assim é possível im-pedir uma distorção do gráfico desenhado durante o controle de leitura. Alémdisso, como um programa Java determina um sinalizador invisível, é possí-vel controlar o sinalizador invisível mais flexivelmente do que o controle dosinalizador invisível por ΑΙΤ.
Algumas das modalidades acima descritas indicam os exemplosde implementação da presente invenção, mas outras modalidades podemser implementadas desde que os objetos da presente invenção sejam alcan-çados.
Nas modalidades, uma configuração para um sistema de cabofoi mostrada, mais a presente invenção pode ser aplicada independentemen-te do tipo de um sistema de transmissão. Por exemplo, a presente invençãopode ser facilmente aplicada a um sistema de satélite, um sistema de ondaterrestre, ou um sistema de distribuição de exibição de TV que utiliza umarede IP. Além disso, como a presente invenção não tem nenhuma relaçãodireta com as diferenças entre os respectivos sistemas de transmissão, apresente invenção pode ser aplicada em um meio de transmissão arbitrárioindependente do sistema de transmissão. A presente invenção é tambémaplicável independentemente se o sistema é um sistema com fio ou sem fio.
Não é necessário que o decodificador de AV decodifique o vídeoe o áudio ao mesmo tempo. A presente invenção pode ser implementadamesmo se o decodificador de AV estiver configurado como decodificadoresde vídeo e de áudio separados. Além disso, o decodificador de AV pode teruma função de decodificação para dados tais como closed caption e simila-res sem nenhuma interferência. O sinal de áudio e o sinal de vídeo decodifi-cados pelo decodificador de AV podem ser embaralhados em qualquer está-gio até serem armazenados na área de gravação 1504.
Nas modalidades, um exemplo é dado no qual um adaptadorque controla um sistema de acesso condicional foi introduzido, mas o adap-tador não é sempre necessário para a implementação da presente invenção.
O adaptador pode ser de qualquer formato, e uma configuração sem o adap-tador é também possível. Em um tal caso, na Figura 15, o fluxo de transportede MPEG-2 do sintonizador é inserido diretamente no decodificador de TS. Apresente invenção é aplicável em tal caso também. Além disso, o desemba-ralhamento do fluxo de transporte de MPEG-2 pelo adaptador não necessa-riamente precisa ser executado antes do decodificador de TS. Uma configu-ração na qual o adaptador está em uma posição arbitrária e é utilizado paradesembaralhar o fluxo de transporte de MPEG-2 é facilmente implementável,e a presente invenção é aplicável em tal caso também.
Referindo-se a um formato de codificação no qual o codificadorde AV codifica o sinal de áudio e de vídeo, um formato arbitrário é aceitável.
A presente invenção é aplicável independentemente do formato de codifica-ção. Um formato de multiplexação do multiplexador pode também ser umformato arbitrário. A presente invenção é aplicável independentemente doformato de multiplexação.
O display e o alto-falante podem estar contidos dentro do apare-lho de gravação e reprodução de transmissão, ou um display e um alto-falante externos podem estar conectados no aparelho de gravação e repro-dução de transmissão. A presente invenção é aplicável independentementeda localização e do número de displays e de alto-falantes.A presente invenção pode ser implementada mesmo se a pró-pria CPU for um sistema o qual executa múltiplos processos, os processossendo todos ou alguns de decodificação de TS1 decodificação de AV, codifi-cação de AV, e multiplexação.
Como um formato para gravar o serviço, o fluxo de transporte deMPEG-2 pode também ser gravado diretamente na área de gravação apósser emitido do sintonizador, sem passar através do decodificador de TS; ou,o formato do fluxo de transporte de MPEG-2 do sintonizador pode ser con-vertido, pela instalação de um tradutor que converte o formato do fluxo detransporte de MPEG-2, e gravado na área de gravação. A presente invençãopode ser implementada independentemente do método de gravação de serviço.
Algumas das máquinas virtuais Java traduzem o código de bytesem uma forma executável a qual pode ser interpretada pela CPU e passar aresultante para a CPU, a qual executa-a; a presente invenção é aplicável emtal caso também.
As modalidades acima descrevem um método para implementa-ção referente à AIT no qual o fluxo de transporte é obtido de Em-banda; noentanto, o método para referir ao programa Java o qual o AM deverá execu-tar não somente depende da ΑΙΤ. Em OCAP, o qual é assumido ser utilizadopelo sistema de cabo dos Estados Unidos, e a XAIT, a qual tem informaçõesde referência registradas de um programa Java na OOB denotada na Figura3, é utilizada. Além disso, métodos tais como iniciar um programa pré-gravado na ROM, iniciar um programa carregado e gravado na unidade dearmazenamento secundário, e assim por diante podem ser considerados.
Apesar de que somente algumas modalidades explicativas destainvenção foram descritas acima em detalhes, aqueles versados na técnicaprontamente apreciarão que muitas modificações são possíveis nas modali-dades exemplares sem afastar-se materialmente dos novos ensinamentos evantagens desta invenção. Consequentemente, todas tais modificações pre-tendem estar incluídas dentro do escopo desta invenção.
APLICABILIDADE INDUSTRIALDe acordo com o aparelho de gravação e reprodução e o méto-do de gravação e reprodução da presente invenção, no caso onde um termi-nal reproduz um conteúdo gravado com uma funcionalidade de controle deleitura, um programa de aplicativo é mudado para um estado pausado, ouum desenho de gráfico pelo programa de aplicativo é temporariamente can-celado, mesmo se o programa de aplicativo estiver executando um proces-samento demorado, ou mesmo se o programa de aplicativo estiver sendoexecutado em um terminal com baixa potência de processamento. Portanto,é possível controlar os comportamentos inesperados do programa de aplica-tivo. Além disso, é possível, especificamente durante o avanço rápido e oretorno, reduzir o alto acesso de carga para uma memória de semicondutorou similar representada por um disco rígido, um Disco Blu-ray (BD), um Dis-co Versátil Digital (DVD), um cartão de memória Digital Seguro (SD) e simila-res, e assim reduzir a deterioração de tal meio de armazenamento. Portanto,é altamente possível que a presente invenção seja utilizada especificamentena indústria de eletrônicos de consumidor que envolve os aparelhos de gra-vação e reprodução de transmissão. Por exemplo, a presente invenção éaplicável a STB a cabo, TV digital, e similares. Mais ainda, a presente inven-ção é também aplicável a dispositivos com uma função de recepção detransmissão, tais como, por exemplo um dispositivo de telefone celular e similares.

Claims (13)

1. Aparelho de gravação e reprodução, que compreende:uma unidade de reprodução de conteúdo operável para reprodu-zir um conteúdo gravado em um meio de armazenamento;uma unidade de execução de programa operável para executarum programa e controlar um estado do programa;uma unidade de mudança de velocidade de reprodução de con-teúdo operável para mudar uma velocidade de reprodução do conteúdo combase em uma instrução do programa o qual está em um estado de execução;uma unidade de detecção de controle de leitura operável paradetectar um dos seguintes: que a velocidade de reprodução foi mudada deuma velocidade de reprodução normal para uma velocidade de reproduçãodiferente da velocidade de reprodução normal; e que a velocidade de repro-dução foi mudada de uma velocidade de reprodução diferente da velocidadede reprodução normal para a velocidade de reprodução normal; euma unidade de processamento de controle de leitura operávelpara instruir a dita unidade de execução de programa para mudar o estadodo programa com base na detecção pela dita unidade de detecção de con-trole de leitura,em que a dita unidade de execução de programa é operável pa-ra controlar o estado do programa de modo que o estado do programa sejamudado para um estado instruído pela dita unidade de processamento decontrole de leitura.
2. Aparelho de gravação e reprodução de acordo com a reivindi-cação 1,em que quando a unidade de detecção de controle de leituradetecta que a velocidade de reprodução foi mudada da velocidade de repro-dução normal para a velocidade de reprodução diferente,a dita unidade de processamento de controle de leitura é operá-vel para instruir a dita unidade de execução de programa para mudar o esta-do do programa o qual está no estado de execução para um estado pausa-do, ea dita unidade de execução de programa é operável para pausara execução do programa de modo que o estado do programa seja mudadopara o estado pausado.
3. Aparelho de gravação e reprodução de acordo com a reivindi-cação 2,em que quando a dita unidade de detecção de controle de leituradetecta que a velocidade de reprodução foi mudada da velocidade de repro-dução diferente para a velocidade de reprodução normal,a dita unidade de processamento de controle de leitura é operá-vel para instruir a dita unidade de execução de programa a mudar o estadodo programa do estado pausado para o estado de execução, ea dita unidade de execução de programa é operável para reinici-ar a execução do programa de modo que o estado do programa seja muda-do para o estado de execução.
4. Aparelho de gravação e reprodução de acordo com a reivindi-cação 1,em que a dita unidade de processamento de controle de leitura éoperável para instruir a dita unidade de execução de programa a mudar umestado de um programa específico somente, o programa específico sendoidentificado entre os programas.
5. Aparelho de gravação e reprodução de acordo com a reivindi-cação 4,em que o programa específico é identificado com base em in-formações multiplexadas no conteúdo.
6. Aparelho de gravação e reprodução de acordo com a reivindi-cação 4,em que o programa específico é identificado com base em in-formações as quais foram previamente registradas por um programa privile-giado entre os programas.
7. Aparelho de gravação e reprodução, que compreende:uma unidade de reprodução de conteúdo operável para reprodu-zir um conteúdo gravado em um meio de armazenamento;uma unidade de execução de programa operável para executarum programa e controlar um estado do programa;uma unidade de exibição de gráfico operável para controlar ummodo de gráfico entre um modo visível e um modo invisível, o gráfico sendodesenhado pelo programa executado pela dita unidade de execução de pro-grama;uma unidade de mudança de velocidade de reprodução de con-teúdo operável para mudar uma velocidade de reprodução do conteúdo combase em uma instrução do programa;uma unidade de detecção de controle de leitura operável paradetectar um dos seguintes: que a velocidade de reprodução foi mudada deuma velocidade de reprodução normal para uma velocidade de reproduçãodiferente da velocidade de reprodução normal; e que a velocidade de repro-dução foi mudada de uma velocidade de reprodução diferente da velocidadede reprodução normal para a velocidade de reprodução normal; euma unidade de processamento de controle de leitura operávelpara instruir a dita unidade de exibição de gráfico para mudar o modo dográfico com base na detecção pela dita unidade de detecção de controle deleitura.
8. Aparelho de gravação e reprodução de acordo com a reivindi-cação 7,em que quando a dita unidade de detecção de controle de leituradetecta que a velocidade de reprodução foi mudada da velocidade de repro-dução normal para a velocidade de reprodução diferente, a dita unidade deprocessamento de controle de leitura é operável para instruir a dita unidadede exibição de gráfico para mudar o modo do gráfico do modo visível para omodo invisível.
9. Aparelho de gravação e reprodução de acordo com a reivindi-cação 8,em que quando a dita unidade de detecção de controle de leituradetecta que a velocidade de reprodução foi mudada da velocidade de repro-dução diferente para a velocidade de reprodução normal, a dita unidade deprocessamento de controle de leitura é operável para instruir a dita unidadede exibição de gráfico para mudar o modo do gráfico do modo invisível parao modo visível.
10. Aparelho de gravação e reprodução de acordo com a reivin-dicação 7,em que a dita unidade de processamento de controle de leitura éoperável para instruir a dita unidade de exibição de gráfico a mudar o modode somente um gráfico desenhado por um programa específico identificadoentre os programas.
11. Aparelho de gravação e reprodução de acordo com a reivin-dicação 10,em que o programa específico é identificado com base em in-formações multiplexadas no conteúdo.
12. Aparelho de gravação e reprodução de acordo com a reivin-dicação 10,em que o programa específico é identificado com base em in-formações as quais foram previamente registradas por um programa privile-giado entre os programas.
13. Aparelho de gravação e reprodução de acordo com a reivin-dicação 1 ou 7,em que o conteúdo e o programa são informações incluídas emuma onda de transmissão e gravadas no meio de armazenamento.
BRPI0614065-3A 2005-07-06 2006-07-05 aparelho de gravação e reprodução BRPI0614065A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US69650305P 2005-07-06 2005-07-06
US60/696,503 2005-07-06
PCT/JP2006/313805 WO2007004744A1 (en) 2005-07-06 2006-07-05 Recording and reproduction apparatus

Publications (1)

Publication Number Publication Date
BRPI0614065A2 true BRPI0614065A2 (pt) 2011-03-09

Family

ID=37074810

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0614065-3A BRPI0614065A2 (pt) 2005-07-06 2006-07-05 aparelho de gravação e reprodução

Country Status (8)

Country Link
US (1) US20070022208A1 (pt)
EP (1) EP1900203A1 (pt)
JP (1) JP2008545284A (pt)
KR (1) KR20080027821A (pt)
CN (1) CN101218817A (pt)
BR (1) BRPI0614065A2 (pt)
CA (1) CA2614217A1 (pt)
WO (1) WO2007004744A1 (pt)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577397B2 (en) * 2005-10-27 2009-08-18 International Business Machines Corporation System and method for reducing data loss over radio frequencies to roving digital receivers
US7803998B2 (en) * 2005-12-21 2010-09-28 Pioneer Hi-Bred International, Inc. Methods and compositions for modifying flower development
US8428443B2 (en) * 2007-03-12 2013-04-23 At&T Intellectual Property I, L.P. Systems and methods of providing modified media content
JP5211569B2 (ja) * 2007-07-26 2013-06-12 ソニー株式会社 コンテンツ再生装置、コンテンツ再生方法、およびプログラム
JP5282383B2 (ja) * 2007-09-06 2013-09-04 ソニー株式会社 コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム
US8687938B2 (en) * 2008-03-31 2014-04-01 Panasonic Corporation Video recording system, video recording apparatus, and video recording method
US8055784B2 (en) * 2008-07-07 2011-11-08 Disney Enterprises, Inc. Content navigation module for managing delivery of content to computing devices and method therefor
KR101530195B1 (ko) 2008-12-03 2015-06-29 엘지전자 주식회사 디스플레이장치 및 그의 데이터 방송 제공 방법
CN102595196A (zh) * 2012-01-12 2012-07-18 华为技术有限公司 一种应用数据的接收方法及装置
CN103875253B (zh) * 2012-08-21 2018-05-22 索尼公司 信息处理设备、信息处理方法、程序和服务器设备
US9542211B2 (en) * 2014-03-26 2017-01-10 Intel Corporation Co-designed dynamic language accelerator for a processor
JP6455212B2 (ja) * 2015-02-19 2019-01-23 アイコム株式会社 無線通信システム、無線機、無線通信方法、パケットの生成方法およびパケットからのデータ再生方法
JP6418000B2 (ja) * 2015-02-19 2018-11-07 アイコム株式会社 無線通信システム、無線機、無線通信方法、パケットの生成方法およびパケットからのデータ再生方法
JP6507704B2 (ja) * 2015-02-19 2019-05-08 アイコム株式会社 無線通信システム、無線機、無線通信方法、パケットの生成方法およびパケットからのデータ再生方法
TWI569638B (zh) * 2015-03-10 2017-02-01 晨星半導體股份有限公司 應用於電視節目資訊分享網絡之管理方法及管理裝置及非暫態電腦可讀取儲存媒體

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570728B2 (en) * 1992-12-28 2003-05-27 Sony Corporation Tape cassette including memory unit storing reproduction control instructions
US6622171B2 (en) * 1998-09-15 2003-09-16 Microsoft Corporation Multimedia timeline modification in networked client/server systems
JP2000358217A (ja) * 1999-06-14 2000-12-26 Matsushita Electric Ind Co Ltd デジタル放送システムおよびデジタルビデオ記録再生装置
US20030037330A1 (en) * 2001-08-20 2003-02-20 General Instrument Corporation Methods and apparatus for the display of advertising material during personal versatile recorder trick play modes
EP1286349A1 (en) * 2001-08-21 2003-02-26 Canal+ Technologies Société Anonyme File and content management
US7657152B2 (en) * 2002-05-28 2010-02-02 Panasonic Corporation Broadcast playback and/or recording apparatus
DE60309914T2 (de) * 2002-10-10 2007-09-20 Koninklijke Philips Electronics N.V. ITV-Trick-Abspielen über eine digitale Schnittstelle
US20040210949A1 (en) * 2003-04-21 2004-10-21 Matsushita Electric Industrial Co., Ltd. Data reception and playback apparatus, data reception and playback method, and data reception and playback processing program
US8484308B2 (en) * 2004-07-02 2013-07-09 MatrixStream Technologies, Inc. System and method for transferring content via a network
US7664872B2 (en) * 2005-01-05 2010-02-16 Divx, Inc. Media transfer protocol
WO2006085667A1 (en) * 2005-02-10 2006-08-17 Matsushita Electric Industrial Co., Ltd. Broadcast recording apparatus
CN101917580B (zh) * 2005-05-18 2011-10-05 松下电器产业株式会社 内容再现装置

Also Published As

Publication number Publication date
CN101218817A (zh) 2008-07-09
JP2008545284A (ja) 2008-12-11
KR20080027821A (ko) 2008-03-28
US20070022208A1 (en) 2007-01-25
EP1900203A1 (en) 2008-03-19
CA2614217A1 (en) 2007-01-11
WO2007004744A1 (en) 2007-01-11

Similar Documents

Publication Publication Date Title
BRPI0614065A2 (pt) aparelho de gravação e reprodução
KR20080015087A (ko) 방송 기록 및 재생 장치와 그 방법
EP2190192B1 (en) Picture coding apparatus and picture decoding apparatus
KR101089974B1 (ko) 재생 장치, 재생 방법, 및 기록 매체
CN101208750B (zh) 记录和再现装置以及记录和再现方法
RU2516463C2 (ru) Устройство воспроизведения, записывающее устройство, способ воспроизведения и способ записи
RU2473980C2 (ru) Носитель записи, устройство воспроизведения, устройство записи, способ воспроизведения и способ записи
JP4790725B2 (ja) デジタル放送システム、受信装置、出力装置、受信方法、プログラム及び記録媒体
US20130268991A1 (en) Broadcast receiving terminal and program execution method
KR101154796B1 (ko) 재생 장치, 재생 방법 및 기록 매체
KR20080012293A (ko) 콘텐트 재생 장치
JP2009520381A (ja) 残量検出部を有する記録装置
BR9810774B1 (pt) Aparelho para processamento de um fluxo de dados digital, dispositivo para operação, sistema para processamento de dados e método de processamento do dito fluxo de dados digital
KR20080012330A (ko) 방송 수신 단말
KR20050056208A (ko) 데이터 관리 방법
KR20070095751A (ko) 방송 수신장치
KR20080077991A (ko) 콘텐츠 관리 시스템
KR100570925B1 (ko) 정보 재생 장치 및 정보 재생 방법
KR101151506B1 (ko) 정보 기록 장치 및 정보 기록 방법
KR20080015096A (ko) 기록 및 재생 장치
US20040096186A1 (en) Information playback apparatus and information playback method
US20050108773A1 (en) Information storage medium with AV data including non-multiplexed streams recorded thereon, and method of and apparatus for recording and reproducing the same
US20080170840A1 (en) Information storage medium, information playback apparatus, and information playback method
MX2007016502A (es) Aparato de grabacion y reproduccion.
MX2007013537A (es) Aparato y metodo para la grabacion y reproduccion de transmisiones.

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]