PT727074E - Formato de bloco de dados para portador de software e respectivo aparelho - Google Patents

Formato de bloco de dados para portador de software e respectivo aparelho Download PDF

Info

Publication number
PT727074E
PT727074E PT94931889T PT94931889T PT727074E PT 727074 E PT727074 E PT 727074E PT 94931889 T PT94931889 T PT 94931889T PT 94931889 T PT94931889 T PT 94931889T PT 727074 E PT727074 E PT 727074E
Authority
PT
Portugal
Prior art keywords
data
block
bit
bits
field
Prior art date
Application number
PT94931889T
Other languages
English (en)
Inventor
Christopher J Cookson
Lewis S Ostrover
Original Assignee
Time Warner Entertainm Co Lp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22517368&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PT727074(E) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Time Warner Entertainm Co Lp filed Critical Time Warner Entertainm Co Lp
Publication of PT727074E publication Critical patent/PT727074E/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/0122Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal the input and the output signals having different aspect ratios
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/46Receiver circuitry for the reception of television signals according to analogue transmission standards for receiving on more than one standard at will
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • 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/87Regeneration of colour television signals
    • H04N9/877Regeneration of colour television signals by assembling picture element blocks in an intermediate memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1251Formatting, e.g. arrangement of data block or words on the record carriers on discs for continuous data, e.g. digitised analog information signals, pulse code modulated [PCM] data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10592Audio or video recording specifically adapted for recording or reproducing multichannel signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2583Optical discs wherein two standards are used on a single disc, e.g. one DVD section and one CD section
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/002Recording, reproducing or erasing systems characterised by the shape or form of the carrier
    • G11B7/0037Recording, reproducing or erasing systems characterised by the shape or form of the carrier with discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/007Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track
    • G11B7/013Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track for discrete information, i.e. where each information unit is stored in a distinct discrete location, e.g. digital information formats within a data block or sector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection
    • H04N2005/91307Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
    • H04N2005/91321Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being a copy protection control signal, e.g. a record inhibit signal
    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • 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
    • 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/806Transformation 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 with processing of the sound signal
    • H04N9/8063Transformation 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 with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8211Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a sound signal
    • H04N9/8216Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a sound signal using time division multiplex
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8233Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a character code signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Circuits Of Receivers In General (AREA)
  • Stored Programmes (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Communication Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

-1 -
DESCRIÇÃO "FORMATO DE BLOCO DE DADOS PARA PORTADOR DE SOFTWARE E RESPECTIVO APARELHO"
Esta invenção está relacionada com a execução de um portador de software (por exemplo, um filme), e mais particularmente a um formato de bloco de dados para tais portadores e respectivos aparelhos que permitam o uso eficiente da capacidade do portador para que vários sinais possam ser representados no mesmo portador.
Antecedentes de invenção O meio mais generalizado para a distribuição de filmes é a cassete de vídeo. Todavia, discos ópticos codificados digitalmente são em teoria muito superiores para a distribuição de filmes e outras formas de representação. Especialmente vantajoso é o uso de “vídeo comprimido”, através do qual é possível codificar digitalmente um filme num disco não maior que um CD áudio actual. O armazenamento de informação num disco óptico de maior densidade poderia permitir a um único disco conter múltiplas versões (por exemplo, filmes de classificação R ou de classificação PG) do mesmo filme, múltiplas bandas sonoras em diferentes idiomas, e dados para outros sinais relacionados ou mesmo não relacionados.
Devido aos diferentes padrões na indústria de televisão pelo mundo fora, existem um igual número de padrões de cassetes de vídeo. Uma cassete de vídeo de NTSC vendida nos Estados Unidos, por exemplo, não irá tocar na -2- maioria dos aparelhos de vídeo encontrados na Inglaterra. A fim de evitar que uma editora de software tenha de produzir discos ópticos em tantos formatos diferentes como existem presentemente para cassetes de vídeo, seria de longe preferível que os dados armazenados num disco óptico fossem convertidos para um padrão em particular pelo aparelho. Dessa forma, o mesmo disco poderia ser vendido em qualquer parte do mundo. Devido às vantagens oferecidas pelo armazenamento de dados digitais em discos ópticos, é possível atingir esta flexibilidade a par do armazenamento de tantos sinais diferentes. Não obstante o facto de os discos ópticos permitirem elevadíssimas densidades de bits existem todavia limites de quanta informação (dados) podem ser armazenados num disco óptico. Especialmente se versões múltiplas de um filme, múltiplas bandas sonoras, e outros tipos de sinais são para ser reproduzidos do disco, tem de haver cuidado na maneira como os dados são organizados no disco. Aproximações do estado da arte sobre a organização de dados em disco têm sido mal concebidas. Um considerável tralho tem sido feito para desenvolver padrões de compressão de vídeo, especificamente os padrões MPEG1 e MPEG2, e seria de pensar que os ganhos em bits completos oferecidos por estes padrões teriam feito o seu caminho para os discos ópticos. Mas isto não é o caso. A aproximação que está a ser divulgada pelos fabricantes de produtos em disco óptico é uma que estabelece um ritmo médio de bits para um filme, baseado na compressão proporcionada pelos novos padrões, e a utilização deste ritmo de bits para representar a totalidade do filme. Isto não é para dizer que cada imagem representada requeira o mesmo número de bits. Claramente, um ímpeto para a compressão de vídeo é o facto de diferentes imagens poderem ser representadas por diferentes números de bits; relativamente poucos bits são requeridos ao passar de uma imagem para a seguinte que seja particularmente igual, enquanto que são requeridos inúmeros bits para representar a primeira imagem de uma cena nova. Não obstante, os inventores de sistemas vislumbram que o número de -3- bits por unidade de tempo será constante ao longo da totalidade de duração do filme. Técnicas padrão de buffering são contempladas para o armazenamento um número suficiente de bits para representar uma sucessão de imagens, com apenas aqueles bits requeridos para cada imagem a serem acedidos ao ritmo de imagens. O defeito básico desta aproximação é de que esta assume que a mesma média de ritmo de bits é aplicável à totalidade de um filme de duas horas, quando isto pode não ser o caso de todo em todo. Por exemplo, uma cena de perseguição de automóvel que dura 15 minutos pode requerer um ritmo de bits muito elevado, enquanto que outras cenas no mesmo filme podem requerer um ritmo de bits muito baixo ao longo de um período de tempo extenso. Para aplicar uma única média para a totalidade do filme resulta no desnecessário armazenamento de bits para cenas com alterações lentas, e um número insuficiente de bits para representar cenas com alterações rápidas. O que complica ainda mais a situação é que mesmo que seja empregue um ritmo de bits variável, um ritmo que muda para reflectir quanta informação de vídeo tem de ser representada (em oposição a limitar a quantidade de informação que pode ser representada com um ritmo de bits fixo) os outros sinais armazenados no disco podem de forma semelhante ser representados com a máxima eficiência empregando ritmos de bits variáveis, mas ritmos de bits que variam de formas diferentes daquelas requeridas para o vídeo. Por exemplo, uma cena com alterações rápidas sem som requer um ritmo de bits de vídeo elevado mas um ritmo de bits de áudio baixo. Para maximizar a quantidade de informação que pode ser armazenada num disco, não é apenas necessário empregar um ritmo de bits variável, mas também empregar ritmos de bits variáveis para diferentes sinais a serem representados, com os vários ritmos de bits a alterarem de acordo com as necessidades dos respectivos sinais que estes representam em vez de serem ligados uns aos outros. -4- É um objectivo geral da presente invenção proporcionar um formato de armazenamento de dados para um portador de software que permita o uso eficiente da capacidade de bits do portador. É de entender que os princípios da presente invenção não está limitada a quaisquer tipos de portadores ou a quaisquer tipos de software, embora não haja dúvida de que a invenção tem particular aplicação para discos ópticos. Não obstante, é de entender que a invenção não está limitada a um meio em particular (por exemplo, é aplicável a portadores de fitas e todos os meios de armazenamento digital), nem está limitada a apenas à distribuição de filmes. Por exemplo, num caso extremo, a invenção é aplicável a uma distribuição de uma biblioteca de imagens paradas, em que não existe de todo em todo qualquer “movimento”. O termo “editora de software” abraça assim muito mais do que uma empresa produtora de filmes, e o termo “portador” abraça muito mais do que um disco óptico codificado digitalmente. A descrição da patente europeia N° 0460251A2 apresenta a codificação do sinal de vídeo em blocos de código de comprimentos variáveis mas a um ritmo de bits geral constante. A descrição da patente PCT N° W094/14277 apresenta o uso de um bloco de 2048 bits em que o comprimento dos segmentos de vídeo e de áudio podem variar em relação uns com os outros.
Sumário da invenção
De acordo com a presente invenção, é proporcionado um disco óptico conforme definido na reivindicação 1 abaixo. -5-
De acordo com os princípios da invenção, todos os sinais são representados por respectivas sequências de bits. Sucessivos blocos de dados podem conter um número suficiente de bits de vídeo para representar múltiplas imagens, mas não necessariamente um número de imagens ou um número de bits que seja igual para cada bloco. De facto, não é necessário que um bloco contenha quaisquer dados que representem informação de imagens. Da mesma maneira, um bloco pode conter dados que representam uma ou mais bandas sonoras, com os bits a não representar necessariamente a mesma duração de tempo para cada banda sonora; é também possível que uma banda sonora em particular não será representada de todo em todo num bloco em particular, enquanto que outras bandas sonoras poderão. Se for proporcionada informação de subtítulos, esta também é representada nos blocos de dados. Se os subtítulos forem proporcionados em múltiplos idiomas de entre os quais o utilizador pode seleccionar um, é possível que os subtítulos de idiomas diferentes correspondendo à mesma cena sejam contidos em blocos de dados totalmente diferentes. O princípio base de operação é que o ritmo de bits ( representado pelo número de bits lidos do disco por unidade de tempo) para cada sinal é uma função desse sinal em vez de ser em função de um ritmo de bits requerido para o disco como um todo. Porque o número de bits para um sinal individual que seja armazenado num bloco de dados em particular pode ir de nenhum a muitos (onde “muitos” significa muitos relativamente ao número de bits armazenados para outros sinais), cada bloco de dados identifica os tipos de informação de bits armazenados em si mesmo, e os bits que representam um sinal são delineados de bits que representam outro sinal. Mas desde de que seja tomado claro o que cada grupo de bits num bloco de dados representa, cada sinal pode gozar do seu próprio ritmo de bits para assim maximizar o uso eficiente da capacidade geral de bits do disco.
Isto não é para dizer que um grupo grande de blocos de dados -6- deverá ser utilizado para armazenar informação de vídeo, um seguinte grupo grande deverá ser utilizado para armazenar informação áudio, etc. Tal esquema é possível com buffers suficientemente longos, mas os bujfers seriam desnecessariamente longos. Existe um buffer diferente proporcionado no aparelho para cada sinal a ser gerado do disco, com os bits a representar cada sinal a ser carregado para o respectivo buffer conforme estes são lidos, e com cada sinal a ser gerado através da leitura da informação de bit do respectivo buffer ao ritmo apropriado. Porque os vários sinais são normalmente sincronizados uns com os outros, as várias sequências de bits têm de ser processadas de uma maneira sincronizada. Isto significa que tem sempre de haver bits disponíveis nos buffers para todos os sinais conforme estes são requeridos. Isto, por sua vez, significa que enquanto que cada buffer não necessita de ser mantido cheio, este tem de conter sempre bits suficientes para as necessidades imediatas. No outro extremo, a leitura de blocos de dados tem de parar quando qualquer buffer estiver cheio porque quaisquer bits fornecidos àquele buffer serão perdidos (ou irão substituir outros bits no buffer que serão perdidos). Consequentemente, o hardware de controlo requerido é de que a leitura dos blocos de dados cesse temporariamente quando qualquer buffer estiver cheio, com os seus bits a representar sinais diferentes a serem distribuídos entre os blocos de dados de forma a que todos os buffers tenham em todos os momentos um número suficiente de bits para as necessidades imediatas. A invenção é apresentada no contexto de um sistema geral que oferece numerosas funções vantajosas. A totalidade do sistema é descrito apesar de as reivindicações anexadas serem dirigidas a funções específicas. A lista geral de funções que são de interesse particular na descrição abaixo inclui: • Vídeo padrão e impedimento territorial. • Executação em relações de aspectos múltiplos. • Executação em versões múltiplas, por exemplo, classificação PG e -7- classificação R, do mesmo filme no mesmo disco, com desactivação parental automática e selectiva de visualização de classificação R. • Códigos de autorização encriptados que previnem que editoras não autorizadas produzam discos utilizáveis. • Fornecimento de faixas de áudio em múltiplos idiomas e faixas de subtítulos em múltiplos idiomas num único disco, com o utilizador a escolher o idioma da sua escolha. • Fornecimento de múltiplas “outras” faixas de áudio, por exemplo, cada uma contendo algum componente de música orquestral, com o utilizador a escolher a mistura desejada. • A codificação em ritmo variado dos blocos de dados, e uso eficiente da capacidade de bits com comutação e/ou mistura de faixas, para permitir todas as capacidades acima referidas num único portador.
Outros objectivos, funções e vantagens da invenção serão aparentes após a consideração das seguintes descrições detalhadas em conjunto com os desenhos, em que: A figura 1 mostra um sistema do estado da arte e tipifica a falta de flexibilidade na, e o pobre desempenho de, sistemas de media actualmente disponíveis; A figura 2 mostra o enquadramento ilustrativo da invenção; A figura 3 é uma tabela que lista os campos na porção de introdução da faixa de dados digitais de um disco óptico que pode ser executado no sistema da figura 2; A figura 4 é uma tabela semelhante que lista os campos em cada -δ ίκη dos blocos de dados que seguem a secção de introdução da faixa da figura 3;
As figuras 5A-5E compreendem um gráfico de operação que ilustra o processamento pelo sistema da figura 2 dos dados contidos na secção de introdução da faixa de um disco óptico que esteja a ser tocado. A figura 6 é um gráfico de operação que ilustra o processamento de blocos de dados, no formato apresentado na figura 4, que segue à secção de introdução da faixa; A figura 7A é um diagrama de estado e legenda que caracteriza a forma como o aparelho da invenção lê apenas aqueles blocos de dados numa faixa de um disco que são requeridos para a execução de uma versão seleccionada de um filme ou outra apresentação de vídeo, e a figura 7B mostra a forma como uma de duas versões alternativas podem ser tocadas seguindo as regras ilustradas pelo diagrama de estado na figura 7A; A figura 8 mostra simbolicamente uma técnica do estado da arte utilizada na compressão da representação digital de um sinal de vídeo; e A figura 9 ilustra as relações entre três diferentes relações de aspectos de imagens. O estado da arte
As limitações do actual estado da arte são exemplificadas pelo sistema na figura 1. Tal sistema está presentemente disponível para executar uma única fonte de material de programa, usualmente uma cassete de vídeo VHS, para gerar um sinal de vídeo em conformidade com a selecção de um de entre -9- múltiplos padrões. Um sistema deste tipo é referido como sendo um gravador de cassetes de vídeo (VCR) de múltiplos padrões, apesar de serem mostrados no desenho componentes independentes. Tipicamente, uma fita VHS 7 tem gravado em si um sinal (analógico) NTSC de vídeo, e a fita é tocada num gravador de cassetes de vídeo VHS 5. O sinal analógico é convertido em forma digital num conversor analógico-digital A/D 9, e as representações digitais de sucessivas imagens são escritas para o armazém 11 de imagens de vídeo. O circuito 13 apaga depois as imagens em excesso, ou estima e adiciona imagens adicionais, necessárias para estar em conformidade com o padrão seleccionado, por exemplo, PAL. Para converter de um padrão para outro, é geralmente necessário mudar o número de linhas horizontais num campo ou imagem (graduação de imagem). Isto é usualmente conseguido deixando cair algumas linhas e/ou repetindo algumas ou tirando a média de sucessivas linhas para derivar uma nova linha a ser inserida entre estas. A função principal do circuito 13, naturalmente, é o de converter uma representação de uma imagem digital na sua forma analógica como saída do vídeo.
Sistemas deste tipo mostrados na figura 1 degradam geralmente a saída do vídeo. Cassetes de vídeo convencionais fornecem uma qualidade de vídeo reduzida quando estas suportam mais do que um padrão de vídeo. Uma razão é porque existe uma dupla conversão de analógico para digital e vice-versa. Outra é porque a graduação de imagens é usualmente executada de uma forma tosca (apagando linhas, repetindo linhas e tomando a média das linhas). Existem formas conhecidas, todavia, de executar a graduação de imagens no domínio digital sem degradar a imagem. Embora não seja geralmente utilizada, a técnica está no estado da arte e será resumidamente descrita uma vez que também é utilizada no enquadramento ilustrativo da invenção.
Para dar um exemplo concreto, o padrão PAL tem 625 linhas por -10- imagem, enquanto que o padrão NTSC tem 525 linhas por imagem. Em virtude de nenhuma parte da imagem ser formada durante o retraçar vertical, nem todos os varrimentos das linhas horizontais em qualquer dos padrões são utilizáveis para a representação da informação da imagem. No padrão PAL existem normalmente 576 linhas por imagem com informação da imagem, e numa imagem de NTSC existem normalmente 483 linhas com informação da imagem.
Para converter de um padrão para outro, são primeiro desentrelaçados sucessivos campos. Depois 576 linhas são convertidas em 483, ou viçe-versa, e entrelaçadas novamente. Como isto é feito é fácil de visualizar conceptualmente. Considere-se, por exemplo, um fatia vertical muito fina através de uma imagem PAL. A fatia é dividida na suas três componentes de cores. A graduação da imagem para converter de PAL para NTSC, de um ponto de vista conceptual, não é mais do que o desenhar de uma curva baseada em 576 pedaços PAL de dados de cor e depois o dividir da curva em 483 partes para derivar um pedaço de dados para cada linha horizontal do desejado sinal NTSC. Na realidade, isto é conseguido através de um processo de interpolação, e é feito digitalmente. (A graduação da imagem, em geral, pode também envolver uma alteração da relação de aspecto, por exemplo, ao ir de HDTV para NTSC, e pode requerer o tosquiar de informação em ambos os lados de cada linha horizontal.).
Embora os sistemas do estado da arte proporcionem de facto a conversão de padrões, este é quase o limite da sua flexibilidade. O sistema na figura 2, por outro lado, oferece uma flexibilidade sem precedentes em formas ainda não contempladas no estado da arte. O sistema ilustrativo da invenção O sistema da figura 2 inclui uma drive de disquetes 21 para - 11 - executar um disco óptico 23. Dados digitais armazenados no disco aparecem no condutor 25 de SAÍDA DE DADOS. O funcionamento da drive do disco é governado pelo microprocessador 27 controlador da drive do disco. A cabeça de leitura é posicionada por comandos emitidos através do cabo condutor 29 do CONTROLO DA POSIÇÃO DA CABEÇA, e a velocidade da rotação do disco é governada por comandos emitidos através do condutor 31 de CONTROLO DO RITMO. Discos ópticos são usualmente conduzidos a velocidade linear constante ou a velocidade angular constante. (Outra possibilidade envolve o uso de um número discreto de velocidades angulares constantes.) Discos da invenção pode ser conduzidos a velocidade linear constante de forma a que o comprimento linear da faixa tomada por cada bit é o mesmo quer um bit seja gravado numa porção interna ou externa da faixa. Isto permite o armazenamento da maioria dos dados. Uma velocidade linear constante requer que o ritmo de rotação do disco diminua quando as faixas externas estão a ser lidas. Este tipo de controlo de disco óptico é convencional. Por exemplo, o padrão áudio CD também requer discos que são rodados a um ritmo linear constante. O microprocessador 41 é o controlador mestre do sistema. Como tal, este emite comandos ao controlador da drive do disco através dos condutor 43 e determina o estado do controlador da drive do disco através dos condutor 45. O controlador da drive do disco é proporcionado com duas outras entradas. O analisador 47 de número / apontador de bloco emite comandos ao controlador da drive do disco através dos condutor 49, e o condutor 51 de BUFFER CHEIO estende um sinal de controlo do gate OR 54 para o controlador da drive do disco. Estas duas entradas serão descritas mais abaixo. (Em geral, embora seja feita referência a condutores individuais, deverá ser entendido que neste contexto alguns destes condutores são na realidade cabos para estender os bits em paralelo. Por exemplo, enquanto que a saída do gate OR 54 pode ser estendida para o controlador da drive do disco através de um único condutor 51, o analisador 47 -12- de número / apontador de bloco poderá ser ligado ao controlador da drive do disco através de um cabo 49 para que dados de múltiplos bits possam ser enviados em paralelo em vez de em série).
Uma característica importante do sistema na figura 2 é o de a informação de bit ser armazenada no disco a um ritmo que varia de acordo com a complexidade do material codificado. Quer com isto dizer que não são o número de bits por segundo que realmente aparecem no condutor 25 de SAÍDA DE DADOS que variam, mas antes que o número de bits que são utilizados por segundo é que variam. Informação de vídeo é armazenada em forma digital comprimida. A figura 8 mostra a maneira como as imagens de vídeo são codificadas de acordo com os padrões MPEG1 e MPEG2. Uma imagem I independente é codificado na sua totalidade. Imagens previstas ou imagens P são imagens que são previstas com base nas imagens independentes precedentes, e a informação digital que é realmente requerida para uma imagem P representa simplesmente a diferença entre a imagem efectiva e a sua previsão. Imagens B bidireccionais previstas são imagens que são previstas a partir de imagens I e/ou P, com a informação requerida para uma tal imagem representando mais uma vez a diferença entre a forma efectiva e a sua previsão. (Conforme poderá ser apreciado, as funções de avanço rápido e de retrocesso rápido, se desejadas, são melhor implementadas utilizando imagens I.) O número de bits requeridos para representar qualquer imagem depende não só no seu tipo, mas também na informação visual efectiva que é para ser representada. Obviamente, isto requer muito menos bits para representar um céu azul do que requer para representar um campo de flores. Os padrões MPEG são desenvolvidos para permitir a codificação de imagens com um número mínimo de bits. A informação das imagens é requerida a um ritmo constante. Por exemplo, se um filme é representado em forma digital no disco, 24 imagens serão representadas para cada segundo de filmagem. 0 número de bits requeridos para uma imagem difere -13- radicalmente de imagem para imagem. Uma vez que as imagens são processadas a um ritmo constante, é aparente que o número de bits que são processados (usados) por segundo podem variar desde valores muito baixos até valores muito altos. Assim quando bits são realmente lidos do disco, embora possam ser lidos do disco a um ritmo constante, estes não são necessariamente processados a um ritmo constante.
Aplicam-se considerações similares a qualquer áudio armazenado no disco. Qualquer bloco de dados poderá conter a informação de bit requerida para um número variável de imagens. Qualquer bloco de dados pode conter de forma semelhante a informação de bit requerida para um período de tempo variável de um número variável de até numerosas faixas de áudio. (Existe apenas uma faixa física. A referência a múltiplas faixas de áudio é para diferentes séries de fatias de divisão de tempo (time-division) contendo os respectivos materiais áudio.) As faixas de áudio contêm informação digital, que poderá também estar em forma comprimida. Isto significa que se houver informação armazenada em qualquer bloco de dados para uma faixa de áudio em particular, aqueles bits não representam necessariamente o mesmo período de tempo. Poder-se-á pensar que a duração do som gravado para qualquer faixa de áudio correspondente a qualquer imagem representada num bloco seria a duração das imagens. Todavia, isto não é necessariamente verdade. Isto significa que informação de áudio pode ser lida antes desta ser relamente necessária, com a leitura de mais informação de áudio a poder fazer uma pausa quando uma quantidade suficiente tiver sido acumulada ou com a não inclusão do áudio em alguns blocos de dados para compensar pelo sobre fornecimento precedente. Isto leva ao conceito de buffering, a função dos buffers de áudio 53, o buffer de vídeo 55, o buffer de pan scan 57, o buffer de subtítulos 59, e o gate OR 54 que gera o sinal BUFFER CHEIO.
Conforme cada bloco de dados é lido do disco, este passa pelo gate - 14- 61, desde de que o gate esteja aberto, e os campos de bits são distribuídos pelo multiplexador 63 para os vários buffers e, através da linha COMANDO / DADOS 65, para o controlador mestre 41. Cada bloco de dados no enquadramento ilustrativo da invenção contém informação de bit de vídeo correspondente a um número variável de imagens. Conforme acima referido, pode haver um grande número de bits, ou um número pequeno, ou mesmo até nenhum bit (por exemplo, se o disco em particular que está a ser tocado não representa qualquer vídeo). Sucessivos grupos de dados de vídeo são armazenados no bujfer de vídeo 55 separados por marcadores. O descodificador de vídeo 67 emite um comando através do condutor 69 quando este quer ser fornecido com uma nova fornada de dados através do condutor 71. Comandos são emitidos a um ritmo estável, embora o número de bits fornecidos em resposta variam de acordo com o número de bits requeridos para as imagens em particular que estão a ser processadas. O ritmo a que os bits estão a ser lidos da drive do disco é suficientemente elevada para acomodar as imagens que necessitam de informação máxima, mas a maioria das imagens não necessitam. Isto significa que o ritmo a que os blocos de dados são realmente lidos é superior ao ritmo a que são utilizados. Isto não significa, todavia, que um sistema bem desenvolvido deverá atrasar a leitura de um bloco de dados até que os dados sejam realmente requeridos para processamento. Para já, quando os dados são realmente requeridos, a cabeça de leitura pode não estar posicionada no início do desejado bloco de dados. É por esta razão que o buffering é proporcionado. O bujfer de vídeo 55 contém a informação de bit para um número de sucessivas imagens (o número efectivo dependendo do ritmo a que os bits são lidos, o ritmo a que as imagens são processadas, etc. conforme é sabido no estado da arte), e a informação de bloco de dados de vídeo é lida do bujfer de vídeo a um ritmo constante de imagens determinado pelo descodificador 67 de vídeo. Dados de vídeo são fornecidos ao bujfer apenas até que o bujfer esteja cheio. Uma vez cheio o bujfer não deverá ser enviada mais informação porque esta não poderá ser armazenada. Quando o bujfer de vídeo - 15- estiver cheio, um sinal no condutor 69 leva a que a saída do gate OR 54 tenha um valor elevado para informar ao controlador 27 do drive do disco que um dos buffers está cheio.
Comentários semelhantes aplicam-se aos outros três tipos de buffers . (Existe um único buffer de subtítulos 59, um único buffer de pan scan 57, e numerosos buffers de áudio 53, as funções de cada um serão abaixo descritas). Quando qualquer destes buffers estiver cheio, a sua saída correspondente leva a que o gate OR 54 controle o condutor do BUFFER CHEIO para um valor elevado para assim informar ao controlador da drive do disco que um dos buffers está cheio. Os buffers de áudio 53 e o buffer de subtítulos 59 funcionam de uma forma comparável àquela descrita para o buffer de vídeo 55. O descodificador 71 do processador de áudio emite um comando ao buffer de áudio quando este requer dados da faixa de áudio, altura em que os buffers de áudio fornecem tais dados. Deste forma semelhante, o gerador de gráficos 73 extrai dados do buffer de subtítulos 59, e o processador / graduador vertical 87 de pan scan recebe dados do buffer de pan scan 57 conforme será abaixo descrito.
Quando qualquer um dos quatro buffers estiver cheio (que inclui qualquer um dos buffers individuais dentro do bloco 53), o controlador da drive do disco 27 leva a que o drive do disco pare de ler dados. Os dados não voltam a ser lidos até que todos os buffers possam aceitá-los, isto é até que nenhum buffers esteja cheio e o condutor 51 tenha um valor baixo. (Dum modo oposto, se os buffers estiverem a ser esvaziados de dados rapidamente demais, um ajuste no sinal de RITMO DE CONTROLO no condutor 31 aumenta a velocidade do disco e consequentemente o ritmo a que os buffers são enchidos.)
Esta discussão sobre buffering surgiu da consideração da entrada 51 do BUFFER CHEIO para o controlador da drive do disco 27. A outra entrada que -16- fica por descrever é aquela representada pelo cabo 49. Conforme será descrito mais abaixo, cada bloco de dados tem um número serial do bloco assim como informação do apontador no seu início. O circuito 47 lê o número serial do bloco e analisa a informação do apontador. O apontador, que é um número serial do bloco, aponta para o bloco de dados que deverá ser lido de seguida. Esta informação é fornecida ao controlador da drive do disco através do cabo 49. É desta forma que o controlador da drive do disco pode controlar o posicionamento da cabeça de leitura do drive do disco para que possa aceder ao bloco de dados desejado. Muitas vezes será lido o bloco errado — isto é de se esperar no caso de haver um salto para um novo bloco, como é o caso, por exemplo, quando é dado um salto de uma faixa para outra quando se toca um disco áudio de CD. Se o drive do disco lê um bloco de dados cujo número serial do bloco é muito elevado ou muito baixo, isto é determinado pelo analisador 47 do número / apontador do bloco que depois emite um novo comando através do cabo 49 para o controlador da drive do disco para o levar a ler outro bloco com um número serial do bloco mais baixo ou mais elevado respectivamente. Durante o tempo que a cabeça de leitura se está a posicionar para ler um novo bloco, os dados que são lidos não são na realidade utilizados. O gate 61 permanece fechado para que a informação não seja entregue ao desmultiplexador 63 para distribuição aos quatro buffers e ao controlador mestre 41 através do cabo condutor de COMANDO / DADOS. É apenas quando chegar ao bloco de dados correcto, conforme determinado pelo circuito 47 analisando o número serial do bloco no início do bloco, que o condutor 75 é impulsionado para um valor elevado para abrir o gate 61. O remanescente do bloco é então entregue ao desmultiplexador. Os bits de dados lidos do disco são também entregues ao controlador mestre 41 do microprocessador através do condutor 77. Cada bloco de dados contém não só informação de bit que tem de ser distribuída aos vários buffers, mas também informação de controlo, por exemplo, bits que identificam o tipo de dados - 17- realmente encontrados no bloco. Os bits de identificação (bandeiras e semelhantes, conforme será descrito mais abaixo) são fornecidos ao controlador mestre para que esteja em controlo do sistema em todos os momentos. Os bits de identificação são utilizados pelo desmultiplexador para controlar a distribuição de dados aos vários buffers. (O controlador mestre emite comandos através do condutor 76 para o analisador 47 de número / apontador de bloco que exerce não só um controlo geral sobre este elemento, como também controlo específico levando o elemento 47 a desligar o sinal activo no condutor 75 conforme for apropriado para prevenir que blocos de dados completos entrem no desmultiplexador se estes não forem requeridos para processamento subsequente.) O controlador mestre está no coração do sistema e de facto executa a maioria do processamento que será descrito mais abaixo. O utilizador do aparelho comunica com o controlador mestre via o interface 79, tipicamente um teclado. Ao utilizador é também proporcionado um mecanismo de chave e fechadura, mostrado simbolicamente pelo número 81, que é aqui referido como a opção “fechadura parental”. Se a fechadura estiver fechada, não serão mostrados filmes de classificação R. A forma como isto é controlado por bits representados na realidade no disco será descrito mais abaixo. Se a fechadura estiver fechada, e se apenas estiver no disco um filme de classificação R, um sinal de desactivação no condutor 83 de CONTROLO DA FECHADURA PARENTAL fecha o gate 61. Nenhum dos bits de dados são transmitidos através do gate e o disco não poderá ser tocado. Conforme será aparente mais abaixo, se o disco também tiver uma versão do filme que não seja de classificação R, este será mostrado se for seleccipnado pelo espectador. Embora a funcionalidade da fechadura parental é mostrada como requerendo o uso de uma chave e fechadura física, é de se entender que esta funcionalidade pode ser implementada requerendo entradas no teclado conhecidas apenas pelos pais das crianças. A forma de informar o - 18- controlador mestre que as versões de classificação R de um filme não são para serem vistas não é restrita a qualquer forma específica. Assim como chaves físicas e chaves codificadas são utilizadas alternadamente para controlar o acesso a um computador, assim estas podem ser no sistema na figura 2. O que é importante é a forma como duas versões diferentes podem ser representadas no mesmo disco (sem requer uma versão completa de cada uma), e como o sistema determina se uma versão seleccionada pode à partida ser vista. Isto será descrito mais abaixo. O controlador mestre 41 inclui várias outras saídas que ainda não foram descritas aqui. O condutor 85 representa um bus de RELÓGIO MESTRE que é estendido a todos os sub-sistemas mostrados na figura 2. Em qualquer sistema digital, é requerido um sinal relógio mestre para controlar o faseamento correcto dos vários circuitos. As outras seis saídas do controlador mestre são estendidas ao desmultiplexador 63, ao descodificador 71 do processador de áudio, ao processador / graduador vertical 87 de pan scan, ao armazém de imagens de vídeo, ao circuito de entrelaçamento e de pulldown 3:2 89, ao gerador de gráficos 73, e ao gerador de sincronização e conversor 92 de DVA. Estes são cabos condutores de controlo para gerir as operações dos blocos dos circuitos individuais. O descodificador 71 do processador de áudio processa os dados nos buffers 53 e obtém sinais analógicos individuais de áudio que são estendidos a um sistema de amplificador / altifalante mostrado simbolicamente pelo número 91. O descodificador de vídeo 67 obtém um sinal de VÍDEO DIGITAL no condutor 93 dos dados de vídeo comprimidos que são lidos do buffer 55. O vídeo digital é fornecido ao processador / graduador vertical 87 de pan scan imagem por imagem. A codificação / descodificação de um vídeo em particular que é empregue não é uma caractrística da presente invenção. Um padrão preferido seria na linha do MPEG1 e MPEG2, mas estes são apenas ilustrativos. 0 mesmo -19- é verdade para a codificação da faixa de áudio. A presente invenção não é limitada a métodos de codificação específicos. O funcionamento de circuitos 57 e 87 podem melhor ser compreendidos considerando primeiro o desenho simbólico na figura 9. A informação digital que é armazenada no disco óptico no enquadramento preferido da invenção caracteriza imagens que tenham uma relação de aspecto “mestre” de 16:9, a chamada imagem de “ecran largo”. A relação de aspecto mestre é mostrado no canto superior esquerdo na figura 9. Se o sinal analógico final a ser mostrado no receptor de televisão do utilizador requer esta relação de aspecto, e o número de linhas horizontais de varrimento com informação de imagem (em oposição a linhas horizontais de varrimento que ocorrem durante a reconstituição vertical) corresponde ao número de linhas horizontais representadas pela informação bit de vídeo armazenada no disco, então o gerar do sinal analógico de vídeo é linear. Mas se o receptor de televisão do utilizador acomodar um sinal de TV tendo uma relação de aspecto de 4:3, e a relação de aspecto mestre no disco for de 16:9 em vez de 4:3, então existem duas escolhas. Uma é o de mostrar a imagem original em forma de “caixa de correio”. Conforme apresentado no lado direito da figura 9, o que é feito neste caso é uma compressão vertical uniforme de uma imagem mestre para que a sua dimensão horizontal caiba nos limites do receptor de televisão. Isto resulta na dimensão vertical sendo encurtada ao mesmo tempo para que esta encha menos do que a totalidade da altura da área do ecran da TV. O que isto significa é que os varrimentos das linhas horizontais em cima e em baixo de cada imagem em geral têm de ser postos sem dados, formando bandas escuras nos seus lugares -- mas a relação de aspecto original é preservado. A outra opção é para um pan scan de relação de aspecto reduzido. O que isto envolve é a sobreposição de uma caixa tendo uma relação de aspecto de 4:3 na imagem original de ecran largo. Como resultado, o lado esquerdo desta imagem, o lado direito, ou ambos os lados, são tosquiados. (Em todos os casos, mesmo que -20- uma imagem de écran largo correspondente a uma relação de aspecto mestre 16:9 é para ser mostrada, poderá ser necessário efectuar um número de varrimentos das linhas horizontais o que é diferente do número de linhas horizontais representados no disco. O número de linhas horizontais é uma função do padrão do sinal de vídeo ao qual a saída do vídeo tem de se conformar. Alterando o número de linhas é um processo conhecido como graduação vertical, conforme acima descrito.)
No que diz respeito ao processamento pan scan, será aparente da figura 9 que a fim de identificar aquela porção de uma imagem com relação de aspecto mestre 16:9 que deverá ser utilizada para formar uma imagem de pan scan de relação de aspecto reduzido, tudo o que é requerido é o especificar do ponto de partida ao longo de cada varrimento da linha horizontal da informação que deverá ser utilizada. Especificando um único número (por exemplo, coluna 200 de entre um total de 960 colunas) é suficiente para esta finalidade. A questão, todavia, é se a mesma coluna é sempre utilizada. Nalguns casos pode ser dito ao gravador que se for desejada uma relação de aspecto 4:3, este deverá sempre ser tirado do centro da imagem de ecran largo. Noutros casos, um ponto de partida de coluna variável pode ser desejado, e neste caso um bloco de dados contém realmente informação que representa o número da coluna inicial que deverá ser utilizada desde aquele ponto até que outra alteração seja efectuada.
Conforme será aparente mais abaixo, a informação de vídeo em cada bloco de dados inclui uma bandeira que representa se a informação de coluna do pan scan deverá ser actualizada. Se existir tal bandeira, o descodificador 67 de vídeo emite um comando através do condutor 95 para o buffer de pan scan 57. Nesta altura o bujfer aceita uma actualização de pan scan vinda do desmultiplexador 63. Aquela actualização permanece no buffer, para uso pelo processador / graduador vertical 87 de pan scan com as imagens -21 - seguintes, até que outra alteração tenha lugar. / E no processador / graduador vertical 87 de pan scan que o número de linhas horizontais é ajustado e é alterada a relação de aspecto. O vídeo digital é fornecido pelo descodifícador 67 de vídeo e a informação de pan scan, se esta for requerida, é providenciada pelo buffer 57. A saída do circuito 87 consiste em vídeo digital não comprimido, na relação de aspecto desejado e representado pelo número de linhas horizontais requeridas para o padrão de televisão seleccionado.
Uma vez armazenada em forma digital a informação da imagem vídeo no armazém de imagem 89, esta pode ser repartida em campos entrelaçados se o padrão seleccionado o requer. Também, o pulldown 3:2 é a técnica utilizada para converter filmes de 24-imagens-por-segundo em vídeo de 60-imagens-por-segundo (os valores nominais de 24 e 60 são na realidade 23,97 e 59,94); para converter dados representativos de um filme para um formato NTSC, a informação (bloco de dados) da imagem tem de ser lida a um ritmo de 24 por segundo. (Conforme é padrão no actual estado da arte, tal transformação aplica a imagem 1 do material da fonte aos campos 1, 2 e 3 do sinal de vídeo, imagem 2 do material da fonte aos campos 4 e 5 do sinal de vídeo, imagem 3 do material da fonte aos campos 6, 7 e 8, etc., assim produzindo 60 campos para 24 imagens de origem.) Por outro lado, a conversão para o padrão PAL é relativamente simples, e o pulldown 3:2 não é requerido. O padrão PAL requer 50 campos por segundo. As imagens são processadas a um ritmo de 25 por segundo, e todas as imagens são utilizadas para formar dois campos. (Devido ao facto de os filmes serem gravados a um ritmo de 24 imagens por segundo embora sejam processados a um ritmo de 25 por segundo quando convertidos para PAL, tudo o que acontece num ecran de TV ocorre 4% mais rápido na Europa do que nos Estados Unidos.) Se as imagens são processadas a um ritmo de 25 por segundo ou de 24 por segundo é controlado alterando a frequência do sinal do RELÓGIO MESTRE no condutor 85. -22-
A saída do bloco 89 é digital, e é estendida ao gerador de sincronização e ao conversor digital-analógico 92. É neste elemento que impulsos apropriados de sincronização são inseridos nos campos, e a informação digital é convertida em analógica. Quaisquer subtítulos que são requeridos são contidos no buffer 59. Sob o controlo do microprocessador 41, os comandos são emitidos através do cabo condutor 97 de controlo para o gerador de gráficos 73. Este circuito convencional extrai informação codificada dos caracteres do buffer de subtítulos, e gera um sinal de VÍDEO no condutor 99 que descreve os subtítulos. O sinal de accionamento (KEY) é gerado no condutor 98, e os dois sinais são estendidos a um circuito convencional 96 de accionamento. Este dispositivo funde os subtítulos com a imagem de vídeo (utilizando accionamento rígido ou linear conforme a opção do fabricante, como é conhecido no estado da arte), e estende o sinal de vídeo composto para um ecran 94 de TV convencional.
Campos de introdução da faixa
Antes de proceder com a descrição do processamento em detalhe, será de grande ajuda considerar a informação que é armazenada na porção de introdução da faixa do disco. Esta informação é armazenada em campos individuais conforme mostrado na figura 3, e é esta informação que controla o subsequente processamento dos dados lidos do disco. O formato do bloco de dados é mostrado na figura 4, mas para uma compreensão de como os dados neste bloco são utilizados, é necessário apreciar a informação de preparação que é lida primeira.
Fazendo referência à figura 3, no início da faixa existem um número de bits de sincronização de introdução (lead-irt). Embora para todas as -23- outras entradas são mostrados números dé bits mínimos e máximos nas colunas apropriadas, nenhum destes números são proporcionados para o bits de sincronização de introdução. O número de bits de sincronização requeridos no início da faixa depende do hardware utilizado. Dado um hardware em particular e o âmbito das velocidades de disco envolvidas, são proporcionados um número suficiente de bits de sincronização no início da faixa para permitir aos circuitos envolvidos na leitura do disco, incluindo o controlador da drive do disco 27 e o analisador 47 de número / apontador de bloco, para se sincronizarem ao fluxo de bits no condutor 25 de SAÍDA DE DADOS. A sincronização de bits é uma técnica bem conhecida em sistemas digitais. O segundo campo consiste em 40 bits que representam territórios autorizados. Existem várias formas como as editoras de software podem bloquear a execução do seu software. O mais importante envolve o controlar se filmes com classificação R podem ser vistos (a opção de bloqueio parental), e se o sinal analógico de vídeo final de saída pode assumir o padrão seleccionado pelo utilizador. É desta forma, por exemplo, que uma editora de software poderá permitir que um filme seja visto num receptor NTSC mas não num receptor PAL. Mas desde que o aparelho seja proporcionado com este tipo de controlo de bloqueio, este pode ser estendido a territórios. Todos os aparelhos utilizados com os discos da invenção conformem com o mesmo conjunto de especificações. Uma característica do desenvolvimento é de que cada aparelho é proporcionado com uma representação do território ou territórios para os quais este foi entendido para venda. Por exemplo, o território ou territórios podem ser representados pelas configurações de um interruptor DEP, um código armazenado no ROM de um microprocessador (por exemplo, no controlador mestre 41) ou semelhante. É presumido que existem um total de 40 territórios possíveis. Cada disco tem um campo de 40 bits na sua secção de introdução, sendo cada um destes bits associado a um dos 40 territórios. Um 1 em qualquer posição do bit é uma -24- indicação de que o disco está autorizado a ser executado no respectivo território, e um 0 é uma indicação de que o disco não está autorizado. O aparelho cujo código indica que este está para venda na China, por exemplo, não executará um disco se existir um 0 no campo de território dos 40 bits na posição associada com a China.
Como exemplo do uso de tal característica, considere-se um aparelho destinado para venda num país em particular. Uma editora de software poderá distribuir um filme que por razões contratuais não pode ser distribuído naquele país. É por esta razão que um 0 seria armazenado na posição do bit associado com aquele país no campo dos territórios autorizados da secção de introdução da faixa. Ao detectar este bit, o controlador mestre 41 levará o circuito 47 a gerar um sinal de inibição no condutor 75 que iria levar o gate 61a bloquear a passagem de todos os dados. O terceiro campo é um bit único, uma bandeira que indica se existe qualquer informação no campo que lhe segue. Esta informação é aqui designada “software especial”. O aparelho da figura 2 executa normalmente o mesmo código de software, tipicamente contido em memória de apenas de leitura. É este código que será descrito em relação aos gráficos de operação do desenho. Todavia, uma vez que o aparelho é controlado por microprocessador, não existe razão para que este não seja utilizado para um propósito totalmente não relacionado, e isto pode ser feito simplesmente carregando software do disco. Se a bandeira do software especial for um 1, então o controlador mestre 41 lê através do condutor 77 o software que se segue imediatamente no campo 4. Assim, dependendo de a bandeira do software especial ser um 0 ou um 1, o quarto campo ou é vazio ou contém um software de comprimento indeterminado. No final do software existe uma palavra de sincronização que é única no sentido em que esta palavra não é permitida existir noutro local no fluxo geral de dados. Quando o -25- padrão da palavra de sincronização aparece, isto é uma indicação de que o campo de dados precedentes chegou ao fim, e que se segue um novo campo. (Na eventualidade de dados tendo o padrão da palavra de sincronização aparecerem no fluxo de dados e serem mal interpretados como sendo uma palavra de sincronização, isto pode ser evitado utilizando técnicas conhecidas. Por exemplo, se a palavra de sincronização consistir em 32 bits de um determinado padrão, e alguma sequência geral de dados incluir nela este padrão, então depois da gravação de 31 bits dos dados de padrão, um bit extra, tendo um valor oposto ao valor do último bit do padrão da palavra de sincronização, pode ser inserido no fluxo de bits. Quando o aparelho vê este bit, este descarta-o e trata o seguinte bit como sendo um bit de dados em vez do último bit da palavra de sincronização.)
Um exemplo de software especial pode ser o software para controlar jogos de vídeo. Enquanto o aparelho é proporcionado com um sistema de operação desenhado para passar filmes e áudio de múltiplas faixas, é perfeitamente exequível que o aparelho execute funções adicionais e/ou diferentes envolvidas na utilização de jogos de vídeo. Isto é especialmente verdade se o interface do utilizador for separável e joysticks e semelhantes possam ser ligados no lugar de um teclado para acomodar o equipamento periférico de jogos. O sistema pode ser convertido num aparelho de jogos de vídeo simplesmente através do armazenamento do software necessário conforme este é lido de um disco. Enquanto que nos gráficos de operação que serão descritos mais abaixo o software especial é mostrado como sendo contido em si mesmo e não envolvendo os passos de processamento padrão, o software especial pode certamente chamar subrotinas do sistema de operação para a execução a fim de tirar vantagem do código incorporado. O quinto campo consiste em 12 posições de bits, cada um correspondendo a um padrão diferente. Os padrões incluem European HDTV de -26- 1250 linhas, Japanese HDTV de 1125 linhas, o proposto American HDTV de 1050 linhas, (assim como 1080 linhas e 787 linhas dos padrões propostos), PAL de 625 linhas, NTSC de 525 linhas, SECAM de 625 linhas, “caixa de correio” de 360 linhas, etc. Até é possível acomodar padrões futuros, embora para formar um sinal de vídeo apropriado em tal caso seria necessário software diferente. Todavia, isso implica simplesmente proporcionar software num disco para complementar o sistema operativo incorporado.
Como exemplo simples, se a posição do primeiro bit de um campo de 12 bits corresponde ao padrão NTSC, e se o utilizador seleccionar um padrão NTSC para executar no seu receptor de TV, ou se este é a sua configuração default (conforme será descrito mais abaixo), então um sinal NTSC será gerado apenas se o primeiro bit no campo de padrões autorizados for um 1. O campo 6 contém sempre 100 bits. Estes bits representam idiomas de áudio representativos — diálogo — para um filme. É raro que sejam preparadas tantas versões do mesmo filme, e não é contemplado que tantas versões sejam realmente incluídas num disco. De facto, existem um máximo de 16 faixas de áudio que podem conter diálogo em idiomas diferentes. Cada um dos 100 bits, exceptuando o primeiro, representa um de 99 idiomas. Se houver um 1 na posição de bit correspondente, isto é uma indicação de que existe uma faixa de áudio com diálogo no idioma correspondente. A primeira das posições dos 100 bits não corresponde realmente a um idioma. Em vez disso, um 1 na primeira posição de bit significa que existe uma faixa de “música e efeitos” (“M&E”). (Por “efeitos” significa tais coisas como o som associado à trovoada, tiros de armas e semelhantes.) Conforme indicado no campo de Comentários na figura 3, existem N “l”s no campo 6 da secção de introdução da faixa em geral, onde N tem um valor máximo de 16 (uma faixa de M&E e até 15 faixas de diálogo, ou até 16 faixas com diálogo sem -27- M&E). Como exemplo único, suponhamos que a terceira posição de bit corresponde a francês, o quinto a grego, e o campo de 100 bits é 10101000....0. Isto significa que existe uma faixa de M&E, assim como faixas de diálogo em francês e em grego. Isto não significa que cada bloco de dados no disco inclui informação de bit que representa M&E, e diálogo em francês e em grego. O que isto de facto significa é que qualquer bloco de dados tem no máximo três faixas de áudio com M&E e/ou diálogo. Isto também significa que qualquer bloco de dados que tenha tal informação de faixa de áudio contém a informação na ordem M&E, francês, grego. Exactamente como o sistema determina que blocos de dados específicos contêm a informação áudio para aqueles idiomas representados no campo de 100 bits será descrito mais abaixo em relação aos campos contidos num bloco de dados.
Deverá ser entendido que as faixas de áudio de idioma não incluem necessariamente apenas diálogo. Conforme será descrito em breve, é possível misturar uma faixa de M&E com uma faixa de diálogo em francês, com o resultado sendo uma faixa de áudio completa adequada para executar em França. Mas é certamente possível que uma faixa de áudio em particular incluirá M&E pré-misturada e diálogo original. Por exemplo, se a posição do bit 10 do campo de 100 bits representar diálogo em inglês e existir um 1 lá armazenado, isto significa que existe uma versão de áudio no idioma inglês no disco. Todavia, é possível que na correspondente faixa de áudio exista não só diálogo em inglês, mas uma banda sonora completa incluindo a M&E. Ao mesmo tempo, pode existir M&E numa faixa separada, se existir um 1 na primeira posição do campo de 100 bits. Como as várias faixas são processadas a fim de obter uma banda sonora completa para executar em qualquer dado idioma depende de informação subsequente. O campo 6 representa simplesmente quais os idiomas de áudio que estão disponíveis, assim como se existe uma faixa separada de M&E (sem qualquer diálogo).
I
Existe outro bocado de informação que é necessário para que o esquema áudio possa funcionar, e essa informação é representada no campo 7. Para cada uma das N faixas disponíveis para idiomas de áudio (até a um máximo de 16), existe um código de 3 bits no sétimo campo. Antes de descrever o significado dos códigos, tem de ser entendido como os códigos estão associados a uma faixa e idioma em particular. Suponhamos que o campo 6 é 101010000100...0 que é interpretado a significar que existe uma faixa de M&E, uma faixa em francês, uma faixa em grego e uma faixa em inglês. Desta informação por si, não há maneira de dizer se existe se quer alguma M&E na faixa francesa, grega ou inglesa. A única coisa que é sabida em termos de idiomas é que existe diálogo em apenas três idiomas. Para este exemplo, haveriam 12 bits no campo 7. Os primeiros três bits estão associados à faixa de M&E, os segundos três bits estão associados à faixa em francês, e os terceiros e quartos três bits estão associados à faixa em grego e em inglês respectivamente. Os códigos de três bits são como se seguem: 000 — misturador mestre (M&E ) 001 — comutador mestre (M&E ) 010 — diálogo + (M&E ), faixa de áudio completa 011-- faixa a ser misturada com o misturador mestre 100 -- faixa a ser comutada com o comutador mestre
Estes cinco códigos são tudo o que é necessário para formar bandas sonoras completas em três idiomas disponíveis, francês, grego e inglês. Como as faixas são combinadas será descrito mais abaixo, mas o que tem de ser lembrado é que a razão de ser da totalidade do arranjo é o de proporcionar bandas sonoras em muitos idiomas (até 15), sem necessitar de aquilo que poderá ser uma gravação de duas horas para cada. De facto, se um filme tem uma duração de duas horas, mas o diálogo em si é de apenas 30 minutos, o objectivo é de gravar uma faixa completa (M&E ou banda sonora original), com apenas uma gravação -29- de áudio de 30 minutos de diálogo para um idioma em particular. O campo 8 contém Nx4 bits, isto é, 4 bits para cada um dos N “l”s no campo 6. Existe assim um código de 4 bits no campo 8 para cada faixa de idioma de áudio que está disponível no disco. O código de 4 bits representa o tipo de faixa, e existe um máximo de 16 possibilidades. Tipos de faixas típicas são mono de canal único, Dolby de dois canais, Musicam de 5,1 canais (“5.1-channel”), etc. [O termo (“5.1-channel”) refere-se a canais da esquerda, direita, centro, esquerda de trás e direita de trás em conjunto com um canal de sub-woofer.] Os códigos do tipo de faixa de 4 bits permitem ao controlador mestre determinar a forma como o descodificador 71 do processador de áudio opera nos dados das de-até-16 faixas de áudio para obter saídas analógicas para o sistema de altifalantes 91.
Considerando novamente o campo 7, existem várias formas como uma banda sonora completa, num idioma seleccionado, pode ser obtida de um disco. A operação de mistura envolve a mistura (o somar) de duas bandas sonoras. A operação de comutação envolve a comutação entre duas bandas sonoras, e a execução de uma delas em qualquer dado momento. A primeira faixa é sempre de M&E, se esta estiver disponível. O código para esta faixa é sempre 000 ou 001. Se o código for 000, isto significa que não existe diálogo na faixa e a sua M&E é para ser misturado com a faixa do idioma seleccionado. Se o código 001 estiver associado com a faixa em francês, por exemplo, isto significa que a primeira e a terceira faixa devem sempre ser misturadas. O diálogo, quando este existe, aparece na faixa em francês, e misturando-a com o misturador mestre proporciona uma banda sonora completa em francês. Por outro lado, a primeira faixa pode ser um comutador mestre. O que isto significa é que música e efeitos são gravados nesta faixa, com ou sem diálogo. A faixa francesa neste caso seria representada pelo código 100. Este contém M&E e diálogo, mas apenas quando há diálogo. A faixa de M&E, a primeira, é tocada sozinha quando não há -30- qualquer diálogo, mas a quinta faixa é tocada sozinha quando existe diálogo. As faixas são comutadas e não misturadas. A faixa francesa, quando diálogo é gravado nela, inclui não só diálogo mas também de M&E uma vez que isto seria a única fonte de M&E numa operação do tipo comutação. A quinta possibilidade (010) é que uma faixa em particular contém por acaso a banda sonora original, M&E em conjunto com diálogo no idioma original. Se o diálogo estiver no idioma seleccionado, a faixa pode ser tocada do início ao fim, sozinha. Esta faixa pode também servir como um comutador mestre (código 001) para outros idiomas.
Quando se trata de misturar faixas, quaisquer áudios que estejam nas duas faixas especificadas (o misturador mestre e a faixa que é misturada com este) são simplesmente adicionadas em conjunto em todos os tempos; qualquer áudio que exista nas duas faixas será tocado. É apenas quando comutando entre o comutador mestre e a faixa com a qual esta está comutada que uma faixa é tocada r em vez da outra. E verdade que cada faixa pode conter informação áudio apenas quando a outra não a contém (o que permitiria a mistura), mas é concebível que o comutador mestre também incluirá diálogo, isto é, se esta for uma gravação da banda sonora original do filme. É por isso que é empregue a comutação -- apenas uma faixa é ouvida em qualquer dado momento. Conforme será descrito mais abaixo, cada bloco de dados inclui bits que informam ao controlador mestre quais faixas de áudio contêm na realidade dados naquele bloco. Se uma faixa de idioma de áudio seleccionada com um código original de faixa 100 tem dados em qualquer bloco de dados, então o descodificador 71 do processador de áudio processa os dados naquela faixa de áudio excluindo quaisquer dados que possam estar na faixa do comutador mestre. O campo 9 na figura 3 contém seis bits que são codificados para -31 - representar um número M. Isto é o número de “outras” faixas de áudio, separadas e para além das até-16 faixas de idioma de áudio. A utilização usual destas faixas é a de representar, em forma digital comprimida, instrumentos individuais ou misturas de instrumentos, tendo o utilizador a opção de as combinar. Numa forma extrema, poderia haver 63 faixas de instrumentos, sendo o utilizador capaz de combinar qualquer faixa que este desejar, e de fixar os seus níveis relativos antes de fazer a mistura. Se uma das faixas contém à partida o som combinado, é possível apagar qualquer instrumento da mistura orquestral especificando que o conteúdo da sua informação deverá ser apagada, ou subtraída, da mistura orquestral. Isto iria permitir ao utilizador, por exemplo, tocar o seu piano acompanhado por uma orquestra a tocar um concerto da qual o som do piano terá sido eliminado. Iria também permitir a um utilizador de separar um instrumento em particular para facilitar o treino. O que o utilizador faz precisamente com as “outras” faixas de áudio é determinado pelas selecções de menu que lhe estão disponíveis. O campo 8 identifica simplesmente quantas “outras” faixas de áudio estão presentes no disco. (O termo “outras” faixas de áudio parece ser tanto ou quanto pouco descritivo, mas isto não é o caso. A intenção é de que o termo possa subsumir qualquer uso da faixa de áudio que não seja o proporcionar de faixas de áudio para filmes. Em vez de ter música orquestral nestas “outras” faixas de áudio, por exemplo, é possível ter vocalistas individuais, permitido a um utilizador estudar diferentes harmonizações.). r E aparente que se existem de facto 63 “outras” faixas de áudio, então muita se não toda a capacidade do disco pode ser atribuída a dados de áudio. Mas esta é precisamente a razão porque são disponibilizadas tantas faixas de áudio. E certamente contemplado que alguns discos executáveis no sistema da figura 2 não incluirão vídeo. De facto, o campo 19, a ser descrito mais abaixo, é um campo de 1 bit que informa ao controlador mestre se existe quaisquer dados de vídeo no disco. -32-
Uma vez determinado que existem M “outras” faixas de áudio, o campo seguinte especifica como cada faixa está codificada. À semelhança do caso do campo 8, um código de 4 bits é utilizado para cada uma das “outras” faixas de áudio. Assim o número de bits no campo 10 pode ser tão baixo como 0 (se não houverem “outras” faixas de áudio) ou tão elevado como 252 (63x4).
Enquanto o aparelho pode determinar pela leitura dos campos 9 e 10 quantas “outras” faixas de áudio existem, o utilizador tem de ser dito o que está nestas faixas a fim de este saber o que fazer com elas. Existe uma descrição de cada faixa, e está em múltiplos idiomas. A primeira coisa que o utilizador tem de ser dado é uma lista dos idiomas em que existem descrições das “outras” faixas de áudio. Um campo de 100 bits é utilizado para esta finalidade. Conforme indicado na figura 3, o campo 11 tem 100 bits. Um 1 em qualquer posição de bit é uma indicação de que estão disponíveis definições de faixas no respectivo idioma. A correspondência entre posições de bits e idiomas é a mesma no campo 11 como no campo 6. Será de lembrar que a primeira posição de bit no campo 6 corresponde à M&E, não a um idioma tradicional. A primeira posição de bit no campo 11 é assim não utilizada, e podem estar no máximo 99 “l”s no campo 11.
Antes das definições das faixas serem realmente lidas e processadas, o aparelho tem de determinar quais as opções de menu a proporcionar ao utilizador. Suponhamos, por exemplo, que existem dez “outras” faixas de áudio, cada uma tendo sons de diferentes instrumentos de orquestra. Uma vez disponibilizadas ao sistema operativo as definições das faixas no idioma seleccionado, este pode apresentar um menu padrão ao utilizador. O utilizador pode então escolher faixas específicas para serem tocadas em conjunto, faixas específicas para serem eliminadas os seus níveis relativos, e outras opções “padrão”. Todavia, na eventualidade das “outras” faixas de áudio não representarem música de orquestra, ou representam-na mas duma forma que -33- requer selecções de menu fora do comum, o software padrão do sistema operativo de interface com o utilizador para que o sistema possa determinar o que é para ser feito com as “outras” faixas de áudio não será suficiente. Para acomodar situações fora do comum, o sistema operativo tem de ser proporcionado com software especial para a criação do menu, assim como para controlar como as faixas seleccionadas são misturadas / eliminadas depois das selecções do utilizador. A técnica utilizada é a mesma que a técnica acima descrita em relação ao carregamento de software especial para alterar a operação geral do aparelho (campos 3 e 4). O campo 12 é um bit único. Se este for um 1, é uma indicação de que existe um campo 13 que contém software especial de mistura / eliminação. Conforme indicado na figura 3, o campo 13 tem assim entre nenhum bits a um número indeterminado de bits que é dependente do comprimento do software especial a ser carregado na máquina vindo do disco. O software especial termina com uma palavra de sincronização para que o aparelho saiba quando se inicia o próximo campo. O campo seguinte, campo 14, consiste nas definições das faixas propriamente ditas. Uma vez que existem M “outras” faixas de áudio, e existem P idiomas nos quais estas têm de ser definidas para o utilizador, estão representadas P x M sequências de caracteres no campo 14. Cada série é separada da seguinte por um caractere de escapar. Primeiro existem M sequências de caracteres (definições das faixas) no primeiro idioma correspondendo à primeira posição no campo 11 que contém um 1, depois existem M sequências de caracteres no segundo idioma correspondendo à segunda posição de bit no campo 11 que contém um 1, etc. Conforme será descrito mais abaixo, o utilizador informa ao aparelho em qual dos idiomas disponíveis deverá ser mostrado o menu que inclui as definições das faixas. Enquanto que a totalidade da série de bits de DADOS DE SAÍDA da drive do disco é estendida ao controlador mestre no sistema na figura 2, apenas a sequência de caracteres correspondente ao idioma seleccionado é processada. Estas são processadas e mostradas de acordo com o software -34- padrão, ou com o software especial de mistura / eliminação que fora só lido do campo 12 se tal software estiver incluído no disco. (Deverá ser notado que é a função do desmultiplexador 63 distribuir aos vários bujfers apenas os respectivos bits de dados que lhes são destinados. É o controlador 41 que diz ao desmultiplexador o que fazer depois do controlador interpretar a informação tanto na secção de introdução das faixas como nos bloco de dados individuais.).
Conforme descrito em relação à figura 2, é feita provisão para a inserção de subtítulos. O idioma é seleccionado pelo utilizador conforme será descrito, mas o aparelho tem de ser dito em que idiomas estão disponíveis os subtítulos. Outro campo de 100 bits é utilizado para este fim. Conforme indicado na linha 15 da figura 3, os “l”s no campo representam os idiomas individuais disponíveis para subtítulos. Como no caso dos idiomas disponíveis para mostrar, existe um máximo de 99 uma vez que a primeira posição de bits corresponde a M&E que não é num sentido estrito um “idioma”. O campo 16 é um código de versões múltiplas de 4 bits. O aparelho é informado não apenas se existem duas versões da mesma apresentação de vídeo no disco, mas também quais são as escolhas em relação às mesmas. O primeiro bit é um 0 se existir apenas uma versão no disco, e neste caso o segundo e quarto bits são ignorados. O bit 1 tem um valor de 1 se existirem duas versões no disco. O segundo bit no código diz ao aparelho se é para ser implementada a opção de fechadura parental, ou se um outro critério é para ser utilizado na selecção sobre qual a versão a ser tocada. A situação usual é quando é implementada a opção de fechadura parental, e neste caso o bit na segunda posição do código de 4 bits é um 0. Isto informa ao aparelho que este deve determinar se a opção de fechadura parental está “ligada”. Se estiver ligada, versões de classificação R (ou, no sentido mais lato, de classificação para adultos) não deverão ser tocadas. O bit na posição 3 do código é uma indicação de se a versão A (a primeira ou única -35- versão) é de classificação R ou não (0 = não, 1 = sim), e o quarto bit no código proporciona a mesma informação para a versão B se existirem duas versões; se existir apenas uma versão então o quarto bit é ignorado. Isto é toda a informação de que o aparelho necessita para determinar se qualquer das duas ou ambas as versões podem ser tocadas. Quando existem duas versões do mesmo filme no disco, é perguntado ao utilizador para seleccionar uma delas. Mas se a opção de fechadura parental estiver “ligada” e uma das duas versões for de classificação R, o utilizador é apenas dada a possibilidade de tocar a versão de não-adulto, ou de tocar nenhuma, conforme será descrito mais abaixo. Se ambas as versões forem de classificação R e a opção de fechadura parental estiver “ligada”, então o utilizador não poderá ver qualquer versão.
Por outro lado, é possível que existam duas versões do mesmo material no disco, mas não havendo a questão de um deles ser de classificação para adultos e o outro não. Por exemplo, uma versão poderá ser um filme didáctico incluindo perguntas e respostas, e a outra poderá envolver um teste sobre a mesma matéria incluindo apenas as perguntas. Para a maior parte as duas versões seriam iguais. Nestes casos, o primeiro bit no campo 16 seria ainda um 1 para indicar que estão disponíveis duas versões, mas o segundo bit seria um 1 em vez de um 0, para indicar que a escolha entre as duas versões não depende de elas serem ou não de classificação R. Um 1 na segunda posição de bit é uma indicação de que o terceiro e quarto bit caracterizam as duas versões respectivamente em relação a uma característica que não é a classificação. O que o terceiro e quarto bit realmente significam neste caso, e quais as escolhas de menu proporcionadas ao utilizador, tem de ser determinado recorrendo a critérios diferentes. A mesma técnica que foi anteriormente aqui utilizada é agora utilizada mais uma vez — software especial é proporcionado a par dos códigos de versão. O campo 17 consiste num único bit que serve de -36- bandeira para indicar se está disponível software especial de versão. Se o bit for um 1, então o campo 18 é lido para aceder ao software. Como no caso dos dois campos de software anteriores, o campo 18 termina com um palavra de sincronização para indicar o início do campo seguinte. O software especial controla uma apresentação no menu que é exclusiva do disco em particular. O campo seguinte consiste num único bit. Conforme indicado na figura 3, este informa ao aparelho se estão disponíveis dados de vídeo. Se não estiverem, isto significa simplesmente que não existem campos de bloco de dados de vídeo na totalidade dos blocos de dados para serem descritos em relação à figura 4. O campo 20 é um único bit, e identifica a relação de aspecto base ou mestre. Se o bit tiver um valor 0, isto é uma indicação de que qualquer vídeo no disco tem uma relação de aspecto de “ecran largo” de 16:9, conforme apresentado na figura 9. Por outro lado, se o bit tiver for um 1, isto é uma indicação de que a relação de aspecto do vídeo no disco é de 4:3.
Conforme acima descrito, se o vídeo original tiver uma relação de aspecto de “ecran largo”, então existem duas maneiras de derivar uma relação de aspecto reduzido de 4:3. Uma maneira é a de formar a imagem de vídeo desde a parte central do original em “ecran largo”. Outra maneira é a de fazer um pan scan no sentido em que a secção da imagem original que é realmente utilizada não é necessariamente sempre a parte central. De facto, a figura 9 mostra a utilização de mais informação no lado esquerdo do que no lado direito da imagem originál. O campo 21 é um único bit que é indicativo da disponibilidade de pan scan. Se o campo 21 é um 1, a relação de aspecto de base é 4:3 para que a disponibilidade de pan scan seja irrelevante — um bit único no campo 21 é simplesmente ignorado. Mas se a relação de aspecto de base for 16:9 (o campo 20 -37- tem um 0), o valor do bit no campo 21 diz ao aparelho se os subsequentes blocos de dados proporcionam informação sobre a coluna de partida que possa ser carregada no buffer de pan scan 57 na figura 2. Se o bit no campo 21 é um 0, os blocos de dados não incluem informação sobre a coluna de partida, e se o vídeo é para ser tocado com a relação de aspecto 4:3 de um original de “ecran largo”, então a imagem de vídeo é formada a partir da parte central de cada imagem original. Por outro lado, se a informação de pan scan estiver disponível nos blocos de dados, então o buffer 57 na figura 2 é actualizado conforme requerido e o vídeo finalmente formado terá um grau de variabilidade adicional. O campo 22 é um número de 20 bits que representa o número total de blocos de dados no disco. Todavia, se existem duas versão diferentes, embora tenham muitos blocos de dados em comum, o restante número de blocos nas duas versões poderão ser diferentes. Por exemplo, uma cena poderá ser totalmente omitida de uma das versões, e neste caso teria um número total de blocos de dados inferior. Por esta razão, se o campo 16 indicar que existem duas versões de um filme ou de outro material de fonte no disco, o campo 23 proporciona o número total de blocos de dados na versão A, e o campo 24 proporciona o número total de blocos de dados na versão B. Ambos os campos são omitidos se apenas existir uma versão no disco.
Cada bloco de dados pode incluir informação de vídeo para um número variável de imagens. O sistema poderia determinar o tempo total de excussão através do número de blocos de dados (tanto o número total se só existir uma versão, ou dois números diferentes se existirem duas versões), apenas se o sistema for informado sobre o ritmo original de imagens e do número médio de imagens representadas em cada bloco para o disco na sua totalidade. Dois discos com o mesmo número de blocos de dados terão tempos diferentes de excussão se o material original de fonte de um deles for filme cujas imagens foram geradas a -38- um ritmo de 24 por segundo e o outro tinha um material original de fonte derivado de uma câmara de vídeo de 30 imagens por segundo. O campo 25 é um valor de 4 bits que identifica o ritmo original de imagens (24, 30, etc.), um número necessário para a correcta geração do sinal de vídeo. Embora o tempo representado por cada bloco de dados poderá ser determinado através do ritmo de imagens se cada bloco de dados conter apenas uma imagem. Também, pode não haver qualquer informação de imagem, isto é, a bandeira de vídeo disponível no campo 19 pode ser 0. Consequentemente, o campo 26 é proporcionado. Este campo contém um número de 10 bits que representa o factor temporal do bloco, isto é, a duração média representada por cada bloco. A multiplicação do factor temporal do bloco pelo número total de blocos (ou o número total numa versão em particular) resulta no tempo de execução. (Na prática, o factor temporal do bloco é quase o mesmo para ambas as versões no disco. Se desejado, podem ser proporcionados factores temporais de bloco independentes.)
Conforme é de prática comum em discos ópticos em geral, o disco da invenção pode ser proporcionado com uma tabela de conteúdo para permitir ao utilizador seleccionar uma parte em particular para tocar, ou simplesmente para informá-lo do que está precisamente no disco e quanto tempo cada parte leva a tocar. O campo 27, se incluído, é uma tabela de conteúdo. Se apenas estiver uma versão do material fonte em disco, então existe apenas uma tabela de conteúdo. Caso contrário, existe um campo 28 adicional que consiste numa tabela de conteúdo para uma segunda versão. A figura 3 apresenta os sub-campos do campo 27.
Por falta de um termo melhor, a representação de vídeo é dividida naquilo que é chamado de “capítulos”. Para cada capítulo a tabela de conteúdo inclui um número de capítulo de 8 bits, permitindo assim um máximo de 255 capítulos individuais. A seguir a cada número de capítulo existe um número serial -39- do bloco de 20 bits do bloco de partida. Será de recordar que todos os blocos de dados no disco são numerados em série. Por outras palavras, enquanto que blocos de dados podem ser comuns a ambas as versões A e B, ou específicas a apenas uma versão, os números dos blocos de dados estão em ordem de série ao longo da faixa do disco. A tabela de conteúdo inclui o número serial do bloco do bloco de dados que é o bloco de partida para cada capítulo.
De igual modo, a fim de determinar o tempo de execução de cada capítulo, o sistema tem de saber quantos blocos estão incluídos em cada capítulo. Por esta razão, o seguinte pedaço de informação é um 20 bit de duração do bloco. Multiplicando este número pelo factor temporal do bloco permite a determinação do tempo de execução de cada capítulo. Altemativamente, o tempo de execução efectivo de cada capítulo poderá ser proporcionado em vez da duração do bloco. (Tal informação poderá ser proporcionada para diferentes versões e padrões.). A fim de apresentar o título de cada capítulo, têm de ser proporcionados séries de idiomas. Mais uma vez, o sistema tem de ser avisado sobre os idiomas que estão disponíveis para mostrar os títulos dos capítulos para que o utilizador possa seleccionar um deles. A técnica usual de proporcionar um bloco de 100 bits para a identificação dos idiomas disponíveis é empregue.
Finalmente, as séries de idioma propriamente ditas para a identificação individual dos capítulos são proporcionadas. Cada série termina com um caractere de escapar para a separar da próxima série. Esta é a mesma técnica utilizada em relação às definições das “outras” faixas de áudio acima descritas em relação ao campo 14. O campo 29 tem um mínimo de 100 bits e um máximo de 1200 bits. É de lembrar que podem existir até 12 padrões autorizados, isto é, a saída final de -40- vídeo pode ser em até 12 diferentes formatos. A fim de assegurar a conformidade com os padrões de qualidade acordados entre todos os fabricantes de aparelhos e todas as editoras de software que acordaram em suportar um conjunto comum de especificações, é possível prevenir que editoras de software desautorizadas publiquem discos que irão tocar em aparelhos da invenção.
Mais, é possível limitar a algumas editoras em particular o fabrico de discos que irão tocar de acordo com apenas um subconjunto dos 12 padrões. Por exemplo, se há direitos de autores a serem pagos por cada disco que é fabricado de acordo com umas das especificações acordadas, e os direitos de autores variam de acordo com o número de padrões para o qual um disco pode ser tocado, é possível limitar certos fabricantes de software a apenas o subconjunto de padrões para os quais estes concordaram pagar. Por esta razão, existe um código de autorização encriptado para cada padrão; os códigos são todos armazenados no campo 29. O disco tocará de acordo com um padrão em particular apenas se o código de autorização encriptado correcto estiver contido no disco. O campo 29 inclui 100 bits para cada um dos padrões autorizados no campo 5. Uma vez que pelo menos um padrão tem de ser autorizado existem pelo menos 100 bits. O número máximo de bits são 1200 se todos os 12 padrões forem autorizados. O esquema de encriptação é baseado em princípios de criptografia de chave pública. Criptografia de chave pública é presentemente muito conhecida, e uma exposição bastante clara sobre o assunto pode ser encontrada na edição de Agosto de 1979 do “Scientific American”, num artigo de HellMan entitulado “The Mathematics of Public-key Cryptography”. O uso do sistema de criptografia de chave pública permite que uma mensagem seja encriptada no local A de acordo com uma chave secreta, ser transmitida ao local B, e desencriptada no local B de acordo com uma chave pública. A chave secreta para encriptar a -41 - mensagem é conhecida apenas pelo transmissor. Tal esquema é tipicamente utilizado para autenticar uma mensagem. Após a desencriptação no local de recepção da mensagem encriptada transmitida, a mensagem será legível apenas se tiver sido encriptada com o par da chave privada. E uma vez que a chave privada é privada, se mensagem encriptada for legível, deve ter tido origim no detentor da chave privada.
Criptografia de chave pública é utilizado na invenção da seguinte maneira. Os dados propriamente ditos da faixa são processados pela editora de software de acordo com um algoritmo predeterminado. Os pormenores do processamento não são importantes. Qualquer processador não trivial que proporcione, por exemplo, um resultado de 100 bits baseado nos dados do disco será suficiente. Um resultado de 100 bits é uma “mensagem” a ser transmitida via o disco em qualquer uma de entre uma e doze formas de encriptação. Existem 12 pares de chaves no sistema de criptografia, cada um associado a um dos diferentes padrões. A chave privada para o primeiro padrão autorizado no disco é utilizada para encriptar a mensagem de 100 bits e a encriptação de 100 bits é armazenada no campo 29. Esta encriptação é o código de autorização para um padrão em particular. A mesma coisa é feita para todos os outros padrões autorizados para um disco em particular, com a chave privada associada a cada um dos padrões a ser utilizada em cada caso. O sistema operativo do aparelho computa o mesmo resultado ou mensagem de 100 bits que foi originalmente computada pela editora de software. O software do aparelho usa depois a chave pública associada a cada um dos padrões autorizados no disco para desencriptar o respectivo código de autorização encriptado para aquele padrão. A mensagem desencriptada deverá condizer com a mensagem computada pelo sistema operativo depois de processar os dados do disco. Se não condizerem, é uma indicação de que a editora de -42- software não tinha a chave privada para encriptação do código de autorização para o padrão em particular, e o aparelho não produzirá um sinal de vídeo de acordo com aquele padrão.
Para explicar isto de uma maneira diferente, vamos assumir que a chave privada para o padrão autorizado N no disco dá origem a uma mensagem encriptada PriN(X), onde X é a mensagem a ser encriptada. Igualmente, a função Pub^X) representa a desencriptação de uma função X utilizando um par de chave pública. Admitemos ainda que seja assumido que o algoritmo pré-determinado para o processamento dos dados no disco é conhecido por todos os fabricantes de aparelhos e das editoras de software, e dá origem a um resultado de 100 bits que é tratado como um “mensagem” M cujo conteúdo (valor) depende dos dados no disco. Para o padrão N, a editora de software, depois de primeiro derivar M, armazena no disco o código PriN(X) de autorização encriptada de 100 bits. Ó aparelho deriva primeiro o valor M da mesma forma que a editora de software o fez. O software do aparelho utiliza então a chave pública associada ao padrão N para desencriptar o código de autorização encriptado. O sistema operativo deriva assim o PubN(PriN(M)). Uma vez que a desencriptação de uma mensagem encriptada deverá resultar na mensagem original, o resultado desta desencriptação deverá ser o mesmo valor M que o sistema operativo deriva ao processar os dados no disco. Se for, então o padrão em particular não só está autorizado, como a editora tem o direito de o autorizar. Por outro lado, se a desencriptação do código de autorização encriptado M não condizer com o resultado algorítmico M derivado pelo aparelho (porque a editora de software não tinha a chave privada com a qual derivar PriN(M)), então aquele padrão em particular é trancado fora.
Embora um tal esquema funciona em abstracto, existe um problema prático que tem de ser ultrapassado. Suponhamos, por exemplo, que o algoritmo / -43- utilizado para derivar a “mensagem” original M envolve o processamento de 20 blocos de dados no disco com números de bloco disposto em série predeterminados. (O processamento poderá ser algo tão simples como a multiplicação por cada um dos sucessivos grupos de 100 bits cada, e utilizando como resultado de cada multiplicação — para a próxima multiplicação -- apenas os 100 bits menos significantes.). Uma editora que não tem poder para autorizar o padrão N no disco pode todavia, desejar fazê-lo. Este não conhece a chave privada com a qual deve encriptar o valor M derivado que é aplicável ao seu software. Consequentemente, este não sabe qual código encriptado de 100 bits este deveria pôr no disco que irá desencriptar para o valor M num aparelho. Mas o que este pode fazer é copiar os 20 blocos de dados predeterminados de outro disco legítimo e pô-los no seu próprio disco, e também copiar o código de autorização encriptado no campo 29. Esses 20 blocos de dados, quando processados num aparelho, resultam no valor M, e irão condizer com o código de autorização encriptado “roubado” depois de este ser desencriptado no aparelho. Naturalmente, a editora de software pode ter cometido infracção do Copyright, mas isto simplesmente agrava o crime. O problema prático que a editora de software enfrenta é que este terá blocos de dados que são “tocados” e que estarão totalmente fora de contexto no que diz respeito ao seu filme. Todavia, devido à maneira como versões múltiplas de um filme podem ser armazenadas no mesmo disco em primeiro lugar é que o aparelho pode ser controlado para saltar por cima de certos blocos de dados, conforme será descrito mais abaixo, a editora de software pode codificar os seus próprios blocos de dados para que os blocos de dados copiados não sejam tocados. Desta maneira, a protecção encriptada pode ser tomada ineficaz. A solução é que enquanto o algoritmo que deriva a “mensagem” M pode em primeiro lugar também operar em blocos de dados predeterminados, este poderia operar em pelo menos a secção de introdução da faixa. Não há maneira -44- nenhuma que uma editora não autorizada possa copiar os campos de introdução da faixa de outro disco porque isso daria ao aparelho informações incorrectas sobre o conteúdo vídeo e áudio no disco da editora não autorizada. Os dados de introdução são uma função do assunto em particular no disco, e tem de aparecer na faixa a fim de permitir o correcto funcionamento do disco. Assim a informação apresentada na figura 3 pode ser tratada como uma “mensagem” M cujas encriptações, uma para cada padrão autorizado, são derivadas utilizando as respectivas chaves privadas e são armazenadas no campo 29 de introdução. (Em todo o rigor, a “mensagem” M é o resultado do processamento de todos os campos exceptuando o campo 29. Também, os campos mais compridos, como aqueles que contêm software, podem ser omitidos do processamento.). O aparelho deriva a mesma “mensagem”, desencripta um código de autorização encriptado com a chave pública associada ao respectivo padrão, e depois compara os dois. Se estes não condizerem, o aparelho determina que aquele padrão em particular não foi autorizado para a editora do disco em particular. O campo do código de autorização encriptado é mostrado perto do fim dá figura 3 e assim o correspondente processamento é descrito perto do fim do gráfico de operação das figuras 5A - 5C conforme será descrito mais abaixo. O posicionamento do campo do código de autorização encriptado conforme apresentado facilita uma descrição do seu processamento, mas de facto o campo pode ser colocado com vantagens no início do processamento. É de recordar que pode ser lido software especial do disco para modificar a sequência do aparelho normal. É assim concebível que um falsificador poderia escrever software especial que permitisse passar ao lado do processamento do código de autorização. Fazendo o processamento antes até da leitura de qualquer software especial, impede que o código de autorização seja passado ao lado.
Voltando à descrição dos campos das faixas de introdução, o campo 30 é uma bandeira de comando / dados de um bloco de dados de 1 bit. Este bit -45- informa ao sistema operativo se os blocos de dados incluem informação de comando ou dados que são para ser lidos durante a execução do disco. Como o sistema determina se um bloco de dados em particular contém comandos ou dados será descrito mais abaixo. O campo 30 indica simplesmente se tal informação existe de todo. Finalmente, os campos 31 e 32 são campos de "apanha tudo" para permitir ao disco controlar maneiras pouco usuais do aparelho processar a informação no disco. É de recordar que o campo 3 contém uma bandeira que indica se o campo 4 contém software especial que leve o aparelho a operar de acordo com um programa que é totalmente diferente daquele que é usualmente empregue, o campo 12 .indica se o campo 13 contém software especial de mistura / eliminação para uso com as “outras” faixas de áudio, e o campo 17 contém uma bandeira que indica se o campo 18 contém software de versão especial para o processamento do código de versões múltiplas de 4 bit. O campo 31, indica se existe um software “suplementar” no campo 32. O software “suplementar” é diferente do software especial do campo 4 no sentido em que o software no campo 4 é basicamente um substituto do processamento que é normalmente utilizado, enquanto que o software “suplementar” trabalha geralmente com aquele código, em conjunto com comandos e dados que são encontrados nos blocos de dados.
Tipicamente, o software “suplementar” iria permitir a execução de um jogo de vídeo, com comandos e dados relacionados nos blocos de dados a determinar o percurso da execução. Mas existem outras utilizações para esta técnica. Como outro exemplo da maneira como o software “suplementar”, e comandos e dados nos blocos de dados, podem ser utilizados, consideremos um disco desenvolvido para tocar / passar um filme clássico com subtítulos, mas que também é proporcionado com um comentário crítico que é para ser mostrado periodicamente em vez dos subtítulos, talvez durante momentos em que o ecran é lavado a fica em branco à excepção do comentário crítico. Para mostrar a flexibilidade que é possível, vamos até considerar um caso em que o comentário -46- crítico é para ser num idioma diferente. O que é requerido em tal caso é que o buffer de subtítulos 59 na figura 2 seja carregado durante a execução de alguns blocos de dados com subtítulos num idioma e com subtítulos noutro idioma durante a execução de outros blocos de dados (alguns blocos de dados contendo subtítulos correspondentes ao filme original, e outros contendo comentário crítico noutro idioma). Em tais casos, tem de ser dito ao sistema de alguma maneira para comutar para frente e para trás entre os subtítulos dos idiomas, isto é, as diferentes faixas de subtítulos têm de ser processadas em diferentes blocos de dados. Isto pode ser controlado convenientemente através de emissão de comandos nos próprios blocos de dados. Da mesma forma, se for desejado pôr o ecran em branco e interromper o filme durante a apresentação do comentário, poderá ser incluído no bloco de dados um valor de dados que representa o tempo de duração do ecran em branco. Alternadamente, se for para fazer um comentário num idioma diferente, poderá ser escolhida uma faixa de áudio diferente para este propósito. Em qualquer caso, o software especial carregado do campo 32 iria controlar o processamento dos comandos e dados contidos nos blocos de dados, e iria trabalhar em conjunto com o sistema operativo do aparelho. O processamento dos campos das faixas de introdução O gráfico de operação das figuras 5A-5E representam o processamento da informação nos campos das faixas de introdução. A descrição deste processamento preliminar é agora apresentado, tendo em mente as funções dos campos individuais. Os campos nos blocos de dados, assim como o processamento dos blocos de dados, são descritos mais abaixo. O processamento do sistema começa, conforme mostrado no topo da figura 5A, com a leitura das regulações default. Estas são regulações estabelecidas pelo interruptores DIP, códigos ROM, ou o uso de qualquer outro -47- t dispositivo ou técnica que configure o sistema quando este é ligado. E típico em sistemas baseados em microprocessadores a reconfiguração de todas as bandeiras e a leitura das regulações default quando o aparelho é ligado.
Existem quatro regulações default que são assim determinadas a fim de configurar o sistema. O primeiro é o padrão -- aparelhos vendidos nos Estados Unidos, por exemplo, serão tipicamente configurados, no estado default, para produzirem um sinal de vídeo NTSC. A seguinte regulação default é o idioma — o idioma do diálogo da banda sonora, o idioma dos subtítulos (se existem), e o idioma no qual o menu é para Ser apresentado no ecran. Nos Estados Unidos, por exemplo, o idioma default seria o inglês. Se o utilizador não informar o aparelho de que outro idioma é desejado para uma ou mais destas funções, a faixa 10 de idioma de áudio será utilizada para gerar a banda sonora, e sequências de caracteres no idioma inglês serão utilizados na composição do menu de mistura / eliminação para as “outras” faixas de áudio e para a tabela de conteúdos. Quanto aos subtítulos, o default usual é “sem idioma”. O terceiro default é a relação de aspecto, 4:3 nos Estados Unidos. A relação de aspecto determina as dimensões relativas do ecran representado pelo sinal de saída final de vídeo.
Finalmente, o estado da fechadura parental é determinada. No sistema da figura 2, isto implica simplesmente a determinação da regulação da fechadura 81. Mas também é possível dispensar o fecho e chave física, e de armazenar o estado da fechadura parental numa memória não-volátil depois de primeiro introduzir no teclado uma palavra-chave conhecida apenas pelas pessoas que exercitam o controlo sobre a função de fecho. -48-
Conforme acontece em muitos dispositivos de grande consumo, o teclado pode ser utilizado pelo utilizador em qualquer momento para interrogar ou controlar o aparelho. Sequências de controlo rotineiro que são padrão no estado da arte não são mostradas nos gráficos de operação. Por exemplo, o teclado, ou um dispositivo de controlo remoto associado, pode ser utilizado para controlar o volume, avanço rápido, um salto para um capítulo específico, etc. O processamento normal pode ser interrompido para controlar um ecran através da operação da tecla de menu, conforme é conhecido no estado da arte. No início do processamento da figura 5A, é mostrado um teste para determinar se a tecla de menu é utilizada. A razão para mostrar uma interrogação sobre se a tecla de menu é utilizada no início do processamento, em oposição a qualquer outro período durante a execução do disco, é porque este é o mecanismo pelo qual as regulações default podem ser alteradas. Se a tecla de menu for utilizada quando o aparelho é ligado, o sistema mostra o menu. Conforme indicado no gráfico de operação, o utilizador é dado a opção de alterar os defaults, de visualizar as tabelas de conteúdos do disco, e/ou (no caso da tecla de menu ter sido utilizada acidentalmente) retomar simplesmente ao processamento sem alterar nada. Conforme indicado, dependendo da selecção do menu, os defaults são alterados, a totalidade do processo de selecção do menu é abortado, ou uma bandeira de TOC (tabela de conteúdos) é fixada em 1. Esta bandeira será examinada mais tarde para determinar se a tabela de conteúdos deverá ser apresentada.
Até aqui, nenhuma informação do disco foi processada. (Nesta descrição, são por vezes feitas referências à leitura de um campo e outras vezes ao processamento de um campo. Deverá ser compreendido que mesmo quando é dito que depois de um certo passo de processamento é lido um campo, o campo poderá na realidade ter sido lido antes mas armazenado num bujfer para uso mais tarde. Dependendo do contexto, a leitura de um campo significa lê-lo na realidade para que os bits apareçam no condutor 25 de SAÍDA DE DADOS na figura 2, ou -49- para fazer alguma coisa com os dados se estes foram anteriormente lidos e bujfered). Com referência à figura 3, o primeiro campo de informação que é lido da secção da faixa de introdução é um campo de 40 bits representando territórios autorizados. De seguida, é feita uma verificação para ver se o território no qual o aparelho foi destinado a ser utilizado é um daqueles autorizados no disco. O território do aparelho é também um tipo de configuração default, mas não é agrupado com os outros porque este não pode ser alterado pelo utilizador. (Para permitir a um utilizado mudar de um território para outro onde queira usar o seu aparelho, o território do aparelho pode ser alterado por um técnico autorizado.). Se o aparelho tiver sido desenvolvido para utilização na China, por exemplo, e a China não for um dos territórios autorizados no disco, a execução do disco será abortado.
Por outro lado, se o disco tiver sido autorizado para tocar no território do aparelho, o campo 3 é lido. Este bit único diz simplesmente ao sistema se software especial está presente. Conforme mostrado no gráfico de operação, se este estiver presente então o software especial é lido do campo 4 e é executado. O processamento termina com o passo “executar o software especial”. Isto é destinado a mostrar que o software especial no campo 4 substitui basicamente o sistema operativo incorporado. Tal software será empregue quando uma mudança radical estiver envolvida no uso geral do aparelho. (Conforme acima mencionado, isto não é para dizer que o software especial não pode chamar rotinas BIOS e semelhantes dos chips de ROM que contêm o sistema operativo.)
Se não estiver presente nenhum software especial, o sistema lê o padrão default, por exemplo, determina que um padrão NTSC é para ser empregue. Se o utilizador tiver alterado o padrão default através de uma selecção de menu, por exemplo, para PAL, então PAL será o novo padrão default. O sistema acede depois ao campo 5 que autoriza até 12 padrões. O teste que é -50- efectuado é para determinar se o padrão default (o original, ou conforme alterado no início do processamento) é autorizado. Se este não for, é apresentado um ecran que mostra ao utilizador os padrões autorizados, e este selecciona depois um. Depois de ser feita uma selecção apropriada, ou se o padrão default for autorizado, o sistema processa os campos 6 e 7. A leitura do campo 6 informa ao aparelho sobre os idiomas de áudio disponíveis (até 16, incluindo a M&E e 15 idiomas.)
Mais uma vez, um valor default é testado contra um conjunto de opções permitidas. Anteriormente, foi o padrão default que fora testado contra os padrões autorizados lidos do disco. Desta vez é o idioma de áudio default (quer seja o idioma default no momento da ligação quer seja um idioma diferente seleccionado pelo utilizador se a tecla de menu fora operada) que é comparado com todos aqueles disponíveis. Conforme mostrado no gráfico de operação, se o idioma default não estiver disponível, é formada uma apresentação que lista os idiomas de áudio disponíveis, e o utilizador selecciona um deles. O sistema lê depois os tipos de faixas no campo 7. Este é o campo que informa ao sistema operativo se existe uma faixa de M&E, se esta é para ser utilizada como um mestre de mistura ou de comutação, e se a faixa de idioma seleccionada é uma faixa de áudio completa, é para ser misturada com o misturador mestre, ou para ser comutada com o comutador mestre. De seguida, são lidos do campo 8 os códigos das faixas. Conhecendo o idioma seleccionado, e o seu tipo de faixa e código de faixa, assim como a informação sobre M&E, mistura e comutação, o sistema operativo tem toda a informação que necessita para gerar uma banda sonora para o filme que a acompanha que vem de encontro às necessidades do espectador. A seguinte coisa que é feita é a leitura do campo 9 para determinar o número de “outras” faixas de áudio que estão no disco, sendo desde nenhum até -51 - \ 63. Se não existirem de facto “outras” faixas de áudio, todo o processamento para determinar o que é para ser feito com estas faixas é passado ao lado. Mas se existirem tais faixas, o campo 10 é primeiro lido para determinar como estas estão codificadas. Em virtude de o utilizador ter de ser informado sobre o que está nas faixas antes deste poder determinar o que é para ser feito com as faixas, o sistema tem seguidamente de determinar lendo o campo 11 quais os idiomas de menus das “outras” faixas que estão em disco. O tipo de verificação usual é então efectuado para ver se o menu está disponível no idioma default. Se não estiver, os idiomas disponíveis são apresentados e o utilizador selecciona um deles.
Conforme acima descrito, o sistema operativo pode executar uma rotina! padrão para ler o menu, apresentá-lo, e interagir com o utilizador enquanto este determina o que deve ser feito com as “outras” faixas de áudio. Mas na eventualidade de requer uma mistura ou eliminação especial, será necessário software especial de mistura / eliminação. O campo 12 é lido para ver se tal software está disponível e, conforme indicado no gráfico de operação, qualquer software especial de mistura / eliminação que estiver no disco é lido do campo 13. Só então é que os itens do menu propriamente ditos (no idioma seleccionado) são lidos do campo 14 e apresentados ao utilizador. Utilizando os menus disponibilizados pelo sistema operativo, o utilizador selecciona o modo de execução para as “outras” faixas de áudio. O utilizador pode, por exemplo, misturá-las em qualquer maneira autorizada, utilizar o que está numa faixa para eliminação (por inversão de fases) de outra faixa mais inclusiva, ajustar uma faixa para tocar exclusivamente, ajustar os níveis relativos de áudio, etc. O software especial de mistura / eliminação, pode, naturalmente, proporcionar estas opções assim como outras não comummente oferecidas.
Conforme mostrado na figura 5B, a informação dos subtítulos é agora processada de acordo com o modelo estabelecido. Primeiro, o sistema -52- determina se subtítulos são de todo em todo desejados. No início mesmo do processamento na figura 5A, é de recordar que uma das regulações default é o idioma dos subtítulos. As regulações default usuais serão de que os subtítulos não são desejados. Se este for de facto o caso, o processamento dos subtítulos é simplesmente passado por cima. Mas se subtítulos são desejados, os idiomas de subtítulos disponíveis são lidos do campo 15. É depois feito um teste para ver se o idioma de subtítulos default está disponível. São não estiver, são apresentados os idiomas de subtítulos disponíveis e o utilizador selecciona um deles.
De seguida, o código de 4 bits de versões múltiplas é lido no campo 16. O primeiro bit indica se existem duas versões, ou apenas uma. Não é feita aqui uma ramificação porque primeiro o sistema tem de determinar se está disponível um software especial de versão, e isto é determinado no campo 17. Se estiver disponível um software especial de versão, este é lido do campo 18 e executado. Até ao ponto em que este software tem de saber se são disponíveis versões múltiplas, e o que os códigos na terceira e quarta posição representam, já foi aqui determinado. Embora esteja indicado no gráfico de operação que as opções apresentadas ao utilizador são para seleccionar de entre as versões autorizadas, ou para sair, é para ser entendido que as opções apresentadas serão geralmente diferentes se for executado software especial de versões. Também, é para ser entendido que pode existir software especial de versões mesmo que exista apenas uma versão que possa ser tocada. Por exemplo, pode ser apropriado avisar o utilizador de que um programa em particular pode ser extraordinariamente perturbador, e perguntar por uma resposta de “continuar” antes de iniciar a execução — tudo isto sendo separado e à parte de uma classificação R.
Se software especial de versões não estiver disponível, então os bits 3 e 4 no código de 4 bits de versões múltiplas são utilizados por razões de -53- classificação. É feito um teste para ver se a fechadura parental está ligada. Se não estiver, então não existem restrições na execução das versões A e B, e ambas as versões são autorizadas. Se tiver sido previamente determinado que existe apenas uma versão, então essa versão é considerada como sendo a versão A e esta é autorizada.
Por outro lado, se a fechadura parental estiver ligada, têm se ser feitos testes para ver se as versões no disco têm classificação R. Conforme mostrado na figura 5C, se a versão A for de classificação R, assim como a versão B, então é abortado a execução do sistema; embora não mostrada, pode ser apresentada uma mensagem apropriada para informar ao utilizador a razão porque o sistema parou de tocar. Se a versão A for de classificação R mas a versão B não for, então é apenas autorizada a versão B. Por outro lado, se a versão A não for de classificação R mas a versão B for, então é apenas autorizada a versão A. Finalmente, mesmo que a fechadura parental esteja ligada, se nenhuma das versões for de classificação R, ambas as versões são autorizadas. O sistema apresenta de seguida as opções disponíveis ao utilizador. Este pode escolher de entre as versões autorizadas, ou pode sair e parar de tocar o disco. (Este último caso poderá surgir, por exemplo, se uma criança tentar ver uma versão de classificação R, é lhe dito que esta não pode ser tocada, e é tomada uma decisão para avançar para uma coisa mais interessante.).
Se apenas estiver disponível uma versão, se esta não for de classificação R, e se não existir nenhum software especial de versões, então pode não haver necessidade para uma apresentação — existe apenas um filme que possa ser tocado, e não existem restrições sobre quem o pode ver. Não obstante, conforme mostrado no gráfico de operação, ao utilizador ainda é dada a opção entre executar o que está no disco ou abortar a execução. O sistema poderia ser -54- desenvolvido para saltar a apresentação nestes casos e simplesmente assumir que o utilizador quer ver a única versão do filme que está no disco. Por outro lado, o gerar da apresentação permite ao utilizador verificar que o disco que este meteu no aparelho é de facto o disco que este pretende.
Embora a invenção tenha sido descrita até agora em termos de uma ou duas versões de um filme num disco, é para ser entendido que podem existir três ou mais versões. Esta é uma das principais razões de proporcionar desde logo a capacidade de ler software especial de versões. Este software pode incluir toda a informação requerida sobre as várias versões donde são formados os écrans dos menus para que o utilizador possa escolher o que é para ser executado. Conforme acima descrito, o software especial de versões pode permitir escolhas entre modos de ensinamento e de testes, e outras opções que nada têm a haver com se filmes em particular são de classificação para adultos. i O sistema lê de seguida o bit de disponibilidade de vídeo no campo 11, e assim determina se os blocos de dados que serão processados contêm subsequentemente dados de vídeo. Se estiverem presentes dados de vídeo, então a relação de aspecto de base ou mestre no qual tenha sido armazenado no disco tem de ser determinado. O passo seguinte envolve assim a leitura do campo 20 para determinar se a relação de aspecto base ou mestre é 16:9 ou 4:3. Se a relação de aspecto mestre for 4:3, os seguintes cinco passos são passados por cima porque a disponibilidade de pan scan é irrelevante. Se a relação de aspecto default for de 4:3, então existe uma correspondência de um para um entre as imagens armazenadas e as apresentadas; se a relação de aspecto default for 16:9, então é apresentada uma imagem 4:3 num “ecran largo” com uma banda escura em cada lado. (Altemativamente, a imagem 4:3 poderia ser expandida para preencher o ecran 16:9, com a consequente perda de informação de cima e/ou de baixo.) mas se a relação de aspecto for 16:9, conforme mostrado na figura 9, existem várias -55- possibilidades que têm de ser exploradas.
Um dos valores default que são determinados desde o início do processamento é a relação de aspecto. O sistema operativo verifica se a relação de aspecto default é pan scan de 4:3. Com referência à figura 9, se a relação de aspecto mestre é “ecran largo” (sendo processada a ramificação do gráfico de operação), então as possibilidades são “caixa de correio”, pan scan centrada na imagem “ecran largo” (não mostrado na figura 9), ou pan scan variável (isto é com um número variável de coluna de partida). Se o default não for pan scan 4:3, então não existem escolhas para o utilizador fazer neste momento. O default é então “ecran largo” ou “caixa de correio”, e o processamento subsequente é de acordo com o default que já tiver sido determinado.
Por outro lado, se o default for pan scan 4:3, a questão é se informação de pan scan variável existe no disco. O bit de disponibilidade de pan scan é então lido do disco no campo 21. Se pan scan estiver disponível, isto significa que os blocos de dados irão especificar ao sistema operativo quais os números da coluna de partida para o pan scan -- o utilizador não necessita de escolher nada neste momento. Por outro lado, se pan scan não estiver disponível, e este era o default do utilizador, este terá de decidir de entre duas possibilidades -- um corte ao centro, em que a parte central de cada imagem de “ecran largo” pode ser vista, ou uma forma de “caixa de correio” em que a totalidade de todas as imagens pode ser vista, mas o ecran tem bandas escuras em cima e em baixo. É formada uma apresentação de menu, e o utilizador selecciona um dos dois modos.
Este uso de uma relação de aspecto comum no disco que não obstante permite ao utilizador escolher de entre vários tipos diferentes de apresentações exemplifica a abordagem de desenvolvimento da invenção. A ideia básica é a de proporcionar a máxima flexibilidade ao mesmo tempo que se -56- armazena todos os dados requeridos num disco óptico sensivelmente do tamanho de um CD convencional. Depois de estar armazenado no disco um filme de “ecran largo”, quase mais nenhum bem de raiz adicional é requerido para permitir ao utilizador gerar uma saída de vídeo tendo outra qualquer relação de aspecto. Embora possam existir até 15 idiomas no qual o dialogo possa ser ouvido, não existem nem de longe 15 bandas sonoras completas por causa das capacidades de mistura e comutação incluídas no aparelho e a maneira como informação redundante é eliminada das faixas de idioma de áudio. A mesma coisa se aplica aos padrão de vídeo. Enquanto que até à data o vídeo de elevada qualidade tem requerido um meio que possa ser tocado apenas em NTSC ou PAL, etc., a presente invenção permite que o mesmo disco dê origem a sinais de vídeo até 12 padrões. Uma das vantagens da invenção é que esta reduz grandemente o número de discos diferentes que têm de ser produzidos, por exemplo, por uma produtora de filmes que distribui filmes em todo mundo. Embora seja verdade que alguns campos terão de ser alterados de tempos a tempos, por exemplo, diferentes padrões têm de ser autorizados quando os vídeos forem lançados em NTSC e em PAL em alturas diferentes, tais alterações são relativamente triviais e são facilmente feitas.
Uma vez tomada a decisão sobre o modo do ecran, o campo 22 é lido para determinar o número total de blocos de dados no disco. Se existirem versões múltiplas, são também lidos os campos 23 e 24 a fim de determinar o número total de blocos de dados em cada versão. O campo 25 é então lido para determinar o ritmo original de imagens, e o campo 26 é lido para determinar o factor temporal do bloco. O campo 27 é então processado. E de recordar da figura 3 que este é o campo que contém todas as informações necessárias para a apresentação da tabela de conteúdos. A tabela de conteúdos para a versão seleccionada (campo 27 se apenas existir uma versão, ou existem duas e a primeira foi seleccionada; ou o -57-
I campo 28 se existem duas e a segunda foi seleccionada) inclui uma representação de 100 bits dos idiomas de apresentação dos capítulos disponíveis. O idioma de menu default é verificado contra aqueles que estão disponíveis. Se o idioma de menu default não estiver disponível, o utilizador é informado dos idiomas em que os títulos dos capítulos podem ser apresentados, e este selecciona de entre estes. Uma vez determinado o idioma de apresentação da informação dos capítulos, são calculadas as durações em tempo das várias tabelas de conteúdos. Uma vez que é conhecida quantos blocos de dados existem em cada capítulo, a duração de cada capítulo pode ser determinada multiplicando o número de blocos pelo factor temporal do bloco. A tabela de conteúdos não é necessariamente apresentada. Esta é apenas apresentada se a bandeira TOC fora activada no início do processamento, tendo o utilizador indicado que a tabela de conteúdos deveria ser apresentada. Se a bandeira TOC for 0, não há necessidade de apresentar a tabela de conteúdos. O sistema selecciona automaticamente o primeiro bloco de dados como o ponto de partida, isto é, a execução do disco começa no início. Por outro lado, se a bandeira TOC for um 1, a tabela de conteúdos é apresentada e o utilizador é dado a opção de seleccionar o ponto de partida. A seguir à tabela ou tabelas de conteúdos no disco estão os códigos de autorização encriptados para os padrões autorizados no campo 5. O sistema operativo lê o código de autorização encriptado para o padrão que está seleccionado. Este lê a seguir os dados predeterminados para o padrão que está r seleccionado. E de recordar que para cada um dos 12 padrões possíveis, são processados dados predeterminados no disco para derivar uma “mensagem” M que serve como um código de autorização. É este código de autorização que é armazenado em forma encriptada no disco utilizando a chave privada associada a cada padrão. Os dados que são lidos do disco podem ser diferentes para cada -58- padrão, desde que os mesmos dados são lidos e processados tanto durante o processo de encriptação como quando o aparelho deriva por si só a “mensagem” M. Conforme acima referido, é preferível que os dados incluam pelo menos parte dos campos de introdução porque seria auto-derrotismo para uma editora autorizada copiar estes dados.
Depois de estarem lidos os dados predeterminados para o padrão seleccionado, o código de autorização (“mensagem” M) é computado através dos dados. Utilizando a chave pública associada com o padrão seleccionado, cuja chave é imbuída no sistema operativo, o código de autorização armazenado no disco para o padrão seleccionado é desencriptado. O teste para saber se a editora de software está autorizada a publicar discos que irão executar como sinais de vídeo no padrão seleccionado envolve a comparação o código de autorização de desencriptação com o código de autorização computado. Se estes não combinarem, é abortado a execução.
Se estes dois códigos combinarem, é lido o campo 30. Este bit único informa simplesmente ao processador mestre se existem quaisquer comandos ou dados armazenados nos blocos de dados para além do complemento normal mostrado na figura 4 e que será descrito mais abaixo. Se a bandeira é um 0, o sistema operativo nem procura tais comandos ou dados adicionais nos blocos de dados. Se a bandeira é um 1, isto significa que comandos ou dados podem estar presente num bloco de dados, mas não necessariamente.
Finalmente, o campo 31 é lido a fim de determinar se está disponível software “suplementar”. Se estiver, este é lido do campo 32. O software “suplementar”, conforme acima descrito, não é para ser utilizado em vez do software do sistema operativo, mas antes como suplemento a este. Esta é a diferença básica entre o software nos campos 4 e 32. Falando de uma forma -59- geral, o software “suplementar” opera em comandos e dados incluídos nos blocos de dados num campo cuja presença é indicada (embora não necessariamente em todos os blocos de dados, conforme será aparente mais abaixo) pela bandeira do software “suplementar”.
Com a leitura do campo 32 e a sua integração com o sistema operativo, a cabeça de leitura é levada a mover-se para o ponto de partida. Conforme acima descrito, o ponto de partida ou é o primeiro bloco de dados ou um bloco de dados determinado pelo utilizador se um capítulo diferente do primeiro tiver sido seleccionado. Os blocos de dados são lidos em sequência e o desmultiplexador 63 na figura 2 distribui os campos de dados a vários buffers. Conforme descrito no gráfico de operação, a leitura dos blocos de dados ocorre apenas se nenhum dos buffers estiver cheio. Mais, antes de ser lido um novo bloco de dados, o sistema verifica se existem algumas interrupções que têm de ser atendidas. O controlador 41 é a fonte de todas as interrupções. Por exemplo, se o utilizador tiver operado o teclado, o controlador gera uma interrupção na linha 43 na figura 2 que temporariamente pára a leitura dos blocos de dados. Depois das interrupções terem sido processadas, ou se não existir nenhuma interrupção a ser atendida, é lido o bloco de dados seguinte. Conforme será descrito, o número serial do bloco é uma das primeiras coisa a serem lidas. O analisador 47 de número / apontador de bloco sabe o número do bloco seguinte que é requerido. Muitas vezes, isto será simplesmente o bloco que se segue na sequência da série. Todavia, o número do bloco pode estar fora de sequência, por exemplo, se tiver de ser dado um salto para outro capítulo, ou, conforme será aparente mais abaixo, certos blocos têm de ser saltados no disco quando se toca uma de múltiplas versões de um filme. Em qualquer caso, os sistemas verificam se o bloco que está a ser lido é o bloco correcto. Se não for, é feita um ramificação para o início do processo de leitura de blocos para que possa ser lido um bloco diferente. Também, o gate 61 na figura 2 é fechado para que os dados “incorrectos” no -60- condutor 25 não sejam estendidos ao desmultiplexador 63.
Se o bloco lido for o bloco requerido, uma das primeiras coisas lidas imediatamente a seguir ao número do bloco são os dados do apontador. Os dados do apontador são utilizados pelo analisador 47 de número / apontador de bloco para determinar o número do bloco do bloco de dados seguinte que é requerido, conforme é indicado lá para o final do gráfico de operação. O número do bloco é transmitido através do cabo 49 para o microprocessador controlador 27 áo drive do disco a fim de aceder a este bloco de dados ao completar a leitura do actual bloco de dados. Conforme indicado no final do gráfico de operação, o remanescente do bloco de dados que está a ser processado neste momento é lido e carregado nos vários bujfers, depois do qual pode ser lido outro bloco de dados. O gráfico de operação que se acabou de rever controla o processamento do aparelho. O que é realmente feito com os dados lidos dos blocos de dados é mostrado no gráfico de operação na figura 6, e este gráfico de operação será descrito depois dos campos num bloco de dados, conforme listado na figura 4, serem compreendidos. Mas a fim de apreciar a função dos dados do apontador que estão incluídas num bloco de dados, serão primeiro descritas as figuras 7A e 7B. Estas figuras mostram como blocos de dados associados a versões individuais ou ambas as versões de um filme se interrelacionam uma com a outra, e como o sistema é controlado para saltar por cima de certos blocos de dados a fim de executar a versão seleccionada.
Figuras 7A e 7B — A Função dos Dados do Apontador
No enquadramento ilustrativo da invenção, pode haver duas versões do mesmo filme no disco. A maioria dos blocos de dados irão representar vídeo e áudio que é comum às duas versões. Todavia, haverá outros blocos que são específicos a uma versão ou à outra. A questão é como controlar a leitura em -61 - sucessão dos blocos de dados que são requeridos para a versão seleccionada entre as duas versões.
Por questões de descrição, serão utilizadas as letras A, B e C para identificar respectivamente os blocos de dados que são específicos à versão A do filme, blocos de dados que são específicos à versão B, e blocos de dados que são comuns a ambas. A figura 7B ilustra uma porção da faixa com sucessivos blocos de dados sendo marcados A, B, ou C. É para ser entendido que na prática existem muitos milhares de blocos de dados em sucessão do mesmo tipo, com a maioria dos blocos de dados no disco sendo do tipo C. Todavia, para ilustrar a maneira como o sistema salta por cima de blocos de dados que não são requeridos, a figura 7B mostra no máximo dois blocos do mesmo tipo em sucessão. A figura 7B mostra duas sequências, uma em cima para executar a versão B, e outra em baixo para executar a versão A. Se for seleccionada a versão B, e é assumido que de alguma forma o bloco B no lado esquerdo está a ser executado, é aparente que os dois blocos A que se seguem têm de ser saltados por cima a fim de ir para o quarto bloco, um bloco B. Depois deste bloco ser executado, o bloco A que se segue tem de ser saltado por cima. São depois executados dois blocos comuns do tipo C, depois do qual o bloco A que se segue tem de ser saltado por cima para outro bloco C. O bloco seguinte, um bloco B, é então executado, seguido por blocos B, C e B. Finalmente, é dado um salto por cima de um bloco A para o último bloco mostrado na figura 7B, um bloco C.
Se estiver em execução a versão A, por outro lado, são executados dois sucessivos blocos A, depois há um salto por cima de um bloco B, são executados os seguintes cinco blocos — A, C, C, A, C —, seguido de dois saltos por cima de dois blocos B para um bloco C, e finalmente há um salto por cima de outro bloco B para um bloco A seguido por um bloco C. -62- -62-
O padrão que emerge é que existem três tipos de transições de um bloco para outro. Primeiro, existe a execução de um bloco imediatamente a seguir à execução do bloco precedente. Existem sete exemplos disto mostrado na figura 7B - AA, BB, CC, CA, CB, AC e BC. As duas possibilidades que são excluídas são AB e BA, uma vez que blocos específicos às duas versões nunca serão executados durante a mesma sessão de execução do disco, e muito menos uma a seguir à outra. Embora existam sete tipos de transição de um tipo de bloco para outro tipo de bloco, existem na realidade apenas três operações básicas — ir de um bloco de um tipo qualquer para o seguinte bloco de um tipo qualquer; um salto de tanto um A para um A ou C, como de um B para um B ou C; ou uma ramificação de um bloco C tanto para um A ou B adjacente, como para um B ou A algures mais adiante na linha. A maioria das transições são do primeiro tipo. O segundo tipo ocorre quando um A é seguido de um B (cujos dois blocos nunca podem ser executados em sucessão); tem de ser dado um salto de A para outro A ou para um C. Reparos similares aplicam-se a um B seguido por um A. O terceiro tipo ocorre no final da execução de um bloco C, quando já não existe qualquer material comum para ser tocado e tem de ser feita uma comutação para uma versão ou para outra; o bloco seguinte é executado se este fizer parte da versão seleccionada, ou senão alguns blocos terão de ser saltados por cima se a ramificação for para um bloco na outra versão. A figura 7A mostra o diagrama de estado que define como e quando as transições são feitas de um bloco para outro. Conforme será abaixo descrito, todos os blocos de dados incluem uma bandeira apontadora de dois bits, possivelmente seguida de um campo que contém um apontador de 20 bits. (Quando o apontador está presente, este aponta sempre para o número serial do bloco de outro bloco de dados.). Fazendo referência ao código na figura 7A, se a bandeira apontadora de dois bits for 00, isto é uma indicação de que o processamento deve continuar com o bloco seguinte: neste caso, não há -63- necessidade de um apontador. Se a bandeira apontadora de dois bits for um código 01, isto é uma indicação de que deverá ser dado um salto para um bloco na mesma versão a alguma distância mais abaixo, ou para um bloco C a alguma distância mais abaixo. Em qualquer destes casos, é necessário um apontador.
Os códigos 10 e 11 são utilizados quando é para ser feita uma ramificação de um bloco comum C. Qual o código que é utilizado depende do bloco que se segue ser um A ou um B. Se o bloco que segue ao C for um A, é utilizado o código 10 e o apontador é para um B ou um C mais abaixo na linha. Se o código for 11, isto significa que o bloco seguinte é um B, e o apontador é para um A ou um C mais abaixo na faixa. O sistema operativo sabe qual a versão que está a ser tocada. Se estiver a ser executada a versão A e o actual bloco tem uma bandeira apontadora de 10, isto significa que o bloco seguinte, um A, deverá ser executado depois do actual bloco. Não há necessidade de um apontador. O apontador é necessário no caso de estar a ser executada a versão B. Neste caso, uma vez que o bloco seguinte é um A, este não deverá ser executado. O aparelho deverá saltar para o bloco identificado pelo apontador — ou para um outro C, ou para um B específico à versão B que está a ser executada.
Da mesma maneira, se estiver a ser executada a versão A e o actual bloco for um C com um código 11 na sua bandeira apontadora, isto significa que o bloco seguinte é um B. Uma vez que está a ser executada a versão A, o bloco seguinte não deverá ser executado depois do actual. Em vez disso, é dado um salto para o bloco A ou C identificado pelo apontador. Por outro lado, se estiver a ser executada a versão B o sistema continua simplesmente para o bloco seguinte. A legenda na figura 7A mostra se é utilizado ou não o apontador quando são encontradas bandeiras apontadoras 10 e 11 num bloco C. A representação 10(P) é uma indicação de que o apontador deverá ser utilizado, e a -64- representação 10 [P] é uma indicação de que o apontador deverá ser ignorado. É de recordar que o código 10 é utilizado para um bloco C quando o bloco seguinte for um A. Se estiver a ser executada uma versão A, o apontador não é necessário. r E por isso que uma transição do bloco C para o bloco seguinte, um bloco A, é mostrada pelo símbolo 10[P]. Por outro lado, se estiver a ser executada uma versão B, uma vez que o bloco seguinte é um A este não pode ser executado depois do actual C. Em vez disso, tem de haver um salto para o bloco identificado pelo ápontador e assim o uso da representação 10(P) -- o apontador aponta ou para o bloco B ou para outro C.
Argumentos semelhantes aplicam-se às representações 11(P) e 11[P]. Em ambos os casos, é o bloco C que está a ser executado e o bloco seguinte é um B. Se a versão A estiver a ser executada, o bloco seguinte não deverá ser executado e assim o símbolo 11(P) é requerido para mostrar uma transição de estado. Por outro lado, se a versão B estiver a ser executada, deverá ser executado o seguinte bloco B, e assim o símbolo 11 [P] é apropriado.
Os quatro códigos, assim como as utilizações de (P) e [P], são apresentadas na figura 7B. Fazendo referência à sequência de transição EXECUTAR B, a primeira transição mostrada é 01(P). É de recordar que o código 01 representa um salto de uma versão para um bloco da mesma versão ou para um bloco comum, e é requerido um apontador. A primeira transição mostrada é 01(P), um salto de um bloco B para outro bloco B. A transição seguinte na linha EXECUTAR B é 01(P), um salto de um B para um C. De seguida é um exemplo da transição mais comum, 00, a execução ordeira do bloco seguinte depois do actual bloco. A quarta transição na linha EXECUTAR B é representada por um símbolo 10(P). O código 10 representa uma ramificação de um bloco C quando o -65- bloco! seguinte é um A, o exemplo ilustrado na figura 7B. Em tal caso, conforme indicado na figura 7A, se está a ser executada a versão B é dado um salto para o bloco identificado pelo apontador — neste caso, o C seguinte. O código 11 é utilizado para identificar uma ramificação de um bloco C quando o bloco seguinte é um B. Se estiver a ser executada a versão B, o caso em consideração, o apontador não é necessário porque o bloco seguinte é para ser executado. É por isso que o seguinte código mostrado é 11[P]. Seguem-se dois códigos 00 que representam transições óbvias para blocos adjacentes, seguidos por um código 11[P], uma ramificação de um bloco C para o bloco seguinte que é um B. Finalmente, é dado um salto deste bloco B por cima do seguinte bloco A para um bloco C. Isto requer um código 01 (P) -- o código utilizado para saltar de um bloco de qualquer versão para um bloco da mesma versão ou para um bloco comum. A sequência EXECUTAR A na figura 7B assume que é a versão A que está a ser executada. Os primeiros quatro códigos representam transições para blocos adjacentes, ou um salto de um bloco de uma versão para outro bloco na mesma versão. O seguinte código, 10[P], é utilizado para mostrar uma ramificação de um bloco C para um bloco A adjacente. O apontador não é utilizado uma vez que a versão A está a ser executada, e o código 10 é empregue porque o seguinte bloco é um bloco A. O seguinte código 00 simboliza a transição do bloco A para o seguinte bloco C.
Segue-se um salto do bloco C para outro bloco C, saltando por cima de dois blocos B. O código 11 é utilizado porque este é o código empregue quando um bloco B segue um bloco C. O símbolo utilizado é 11(P), e não 11[P], porque o apontador é requerido na ida de um bloco C para outro bloco C mais abaixo na linha. Da mesma maneira, o código seguinte é mais uma vez um código -66- 11(P) para simbolizar uma ramificação do bloco C para um bloco A mais abaixo na linha. A sequência na figura 7B termina com a transição de um bloco A para o bloco seguinte que é um C, para o qual é utilizado o código 00. O diagrama de estado na figura 7A resume todas as possibilidades. Consideremos primeiro o estado em que um bloco A está a ser processado, representado pelo círculo com um A no seu interior no canto superior esquerdo. A bandeira apontadora de dois bits num bloco A é 00 se o seguinte bloco também for um A (mostrado pela transição de A de volta a A). Se o bloco seguinte for um B, por outro lado, então este claramente não deverá ser executado. Tem de haver um salto do bloco A por cima do B, ou para outro A ou para um C. Em qualquer caso, o código é 01(P). O desenho mostra tanto um salto por cima de B (para outro A), como um salto por cima de B para um C. A única outra transição de um bloco A é para o bloco seguinte se este for um C. Isto é mostrado pelo código 00.
Existem quatro transições semelhantes mostradas para o estado B, isto é quando um bloco de dados na versão B está a ser lida. O código 00 é utilizado se o bloco seguinte for um B ou um C. O código 01(P) é utilizado quando o bloco seguinte for um A, e este é saltado por cima para que o sistema possa de seguida ler outro B ou um C.
As transições de um bloco C são mais complicadas porque existem sete destas, em vez de apenas quatro como é o caso de cada um dos blocos A e B. Se o bloco seguinte também for um C, o código é simplesmente 00 -- lê o bloco seguinte. Se o bloco seguinte for um B e tem de ser dado um salto para outro C, o código 10(P) controla o salto por cima do A. Da mesma maneira, o código 11(P) controla um salto por cima de um B para outro C. É de recordar que estes dois códigos são utilizados para controlar as ramificações de um bloco C, dependendo de o bloco seguinte ser um A ou B. Em quaisquer dos casos se o bloco seguinte não é para ser lido, este (e blocos iguais a este) têm de ser saltados por cima para o próximo C.
Todavia, depois de ler um bloco C, também é possível ler um A ou um B. Para ler um A, são utilizados um dos códigos 11(P) ou 10[P]. O código 11 é empregue quando o bloco seguinte é um B, e neste caso é requerido o apontador. O código 10 é utilizado quando o bloco seguinte é um A, e neste caso o apontador não é utilizado. Da mesma maneira, para ler de seguida um bloco B, ou é utilizado o código 10(P) ou o 11 [P]. O primeiro é empregue quando o bloco seguinte no disco for um A, e o apontador é requerido porque este bloco tem de ser saltado por cima. Por outro lado, se o bloco seguinte for um B, o código 11 diz ao sistema para prosseguir para este bloco que se segue, e no processo ignorar o apontador porque este não é necessário.
Talvez o ponto mais importante a reconhecer é um que não é aparente dos desenhos, e é que a maioria dos blocos irão conter bandeiras apontadoras 00 e nenhum apontador. (O código 00 é o único sem um campo apontador a seguir.). Isso é porque uma vez que uma imagem de qualquer versão esteja a ser executada, ou uma vez que uma imagem do material comum esteja a ser executada, o mais provável é que a imagem seguinte seja do mesmo tipo. Consequentemente, um código 00 por si só faz o trabalho. O resultado final é que as duas versões do mesmo filme podem ser armazenadas no disco, tendo o utilizador a opção de executar qualquer uma delas (desde que seja permitido pela fechadura parental), e apenas uma fracção muito pequena da totalidade dos bens de raiz do disco é “desperdiçado” por se estar a fazer a gestão de arquivo de bits que controlam as transições de um bloco para o bloco seguinte que é para ser lido depois deste. Mais uma vez, isto vai de encontro à filosofia subjacente ao desenvolvimento de proporcionar a máxima flexibilidade e o maior número de opção possíveis, sem desnecessariamente desperdiçar bits no processo. -68-
Também deverá ser notado que a invenção não está limitada à colocação de apenas duas versões de um filme num disco. É possível usar a mesma técnica com três ou mais versões (embora a necessidade para tantas versões é menos provável). Em tal caso, os blocos comuns requeriam dois apontadores, não apenas um. Se existem três versões no disco, a seguir a um bloco C, o bloco seguinte poderá ser um A, B ou D. Dois apontadores seriam requeridos para apontar para os dois blocos que são para ser encontrados mais abaixo na linha. Obviamente, isto é apenas uma das alterações que teriam de ser feitas. A questão é que versões múltiplas podem ser acomodadas, embora seja à custa de mais bits de gestão de arquivo. Não obstante, o número total de bits de apontadores deste tipo é ainda inconsequente em comparação com o número total de bits áudio e vídeo.
Campos de Blocos de Dados A figura 4 mostra os campos de um bloco de dados, e o formato é semelhante àquele que e mostrado para os campos da faixa de introdução na figura 3. Todos os blocos de dados começam com uma palavra de sincronização. Conforme acima descrito, o padrão da palavra de sincronização não pode aparecer nos dados, e assim quando este é detectado o sistema operativo sabe que um novo bloco de dados está prestes a iniciar. O segundo campo é um número serial do bloco de 20 bits. Todos os blocos no disco são numerados em ordem serial. O número do bloco é a primeira coisa lida porque este é utilizado pelo analisador 47 de número / apontador de bloco na figura 2. O número do bloco é essencial, por exemplo, para saltar de um bloco para outro. A cabeça de leitura será normalmente posicionada num ponto perto do bloco desejado, mas é muito improvável que o bloco correcto seja seleccionado na primeira tentativa. Isto é particularmente verdade uma vez que o -69-
número de bits nos blocos de dados é variável, e o sistema não tem maneira de saber quantos bits existem nos blocos que são saltados. Lendo o número do bloco no início do bloco de dados, o sistema pode rapidamente determinar se a cabeça tem de ser reposicionada. O terceiro campo é um código de dois bits que representa se o bloco faz parte da versão A, da versão B, ou se é comum a ambas. (Apenas três de entre quatro códigos possíveis são utilizados.) Pode-se interrogar porque é que o sistema alguma vez teria de verificar a versão num bloco em particular, uma vez que quando começa a executar a versão A ou a versão B, os apontadores discutidos em relação às figuras 7A e 7B irão sempre identificar um bloco que seja ou comum ou parte da versão que está a ser executada. A resposta tem a ver com as operações de avanço rápido e recuo rápido. Embora estas operações não tenham sido discutidas extensivamente por serem técnicas inteiramente convencionais, quando avançando rapidamente, por exemplo, a cabeça de leitura pode ser posicionada mais ou menos arbitrariamente. O vídeo não deverá ser mostrado se este for da versão errada. Não é possível determinar a versão de um bloco olhando simplesmente para o número ou para o apontador do bloco. Nenhum destes identifica a versão. E por esta razão que o sistema tem de determinar a versão do bloco quando este é primeiro lido.
Os campos 4 e 5 contêm a bandeira apontadora de dois bits e o apontador de 20 bits que têm de ser explicados em pormenor em relação às figuras 7A e 7B. O campo 6 é uma bandeira de um bit que pode ou não estar presente. Com referência à figura 3, a bandeira de disponibilidade do vídeo no campo 19 diz ao sistema operativo se existe algum vídeo nos blocos de dados. Mesmo que exista, todavia, isto não significa que todos os blocos de dados -70- contêm vídeo. Para um sistema em que existe uma única imagem representada em cada bloco de dados, e os bloco de dados são processados a um ritmo fixo, haveria vídeo em todos os blocos de dados, mesmo que seja um vídeo “minimalista” que consiste de um código representando um “sem alteração”. Mas podem existir sistemas em que um bloco de dados possa representar mais ou menos que uma única imagem. Por exemplo, pode-se dar o caso de a informação de vídeo num bloco de dados, se de todo presente, seja sempre do mesmo número de bits. Dependendo da compressão, pode-se dar o caso de muitas imagens serem representadas num único bloco de dados. Em tal caso, alguns dos blocos seriam desprovidos de bits de vídeo. Dependendo do esquema de codificação empregue, o bit no campo 6 informa ao sistema operativo se existe de todo um campo 7. Se existe vídeo, o campo 7 contém a informação de vídeo, terminando com uma palavra de sincronização. Conforme acima referido, a codificação propriamente dita dos blocos de vídeo e áudio não faz parte da presente invenção. Embora esquemas de MPEG sejam preferidos, outros podem ser utilizados. O campo 8 contém de entre nenhum até 16 bits. É de recordar que o campo 6 da faixa de introdução contém 100 posições de bits, mas apenas N destes (onde o N máximo é 16) podem representar bits de valor 1 porque só podem existir no máximo 16 faixas de áudio no disco (das quais a M&E é considerada como sendo uma destas). Para cada uma destas N faixas, o campo 8 informa ao sistema operativo se existe algum áudio presente no bloco de dados. Existem assim X “l”s, até a um máximo de N. A primeira posição de bits de N do campo 8 corresponde à primeira faixa de idioma de áudio identificada no campo 6 da faixa de introdução. O segundo bit no campo 8 de um bloco de dados está associado ao segundo idioma de áudio representado no campo 6 da faixa de introdução, etc. A razão porque existem apenas N (máximo = 16) bits no campo 8 da figura 4, em vez de 100, é porque é sabido através da faixa de introdução quais os idiomas que podem estar presentes num bloco de dados. Não há razão para -71 - proporcionar 84 ou mais posições de bits em cada bloco de dados para indicar que os idiomas correspondentes não estão presente quando é sabido através da faixa de introdução que estes não se encontram em lugar algum no disco. É de recordar que o valor X na figura 4 não é igual ao valor N na figura 3. Esta última representa o número total de idiomas de áudio existentes em qualquer parte do disco, e o seu valor máximo é 16. O símbolo X representa quantos daqueles N estão realmente representados no actual bloco de dados. O campo 9 contém X blocos de idioma de áudio. Suponhamos que existem 10 idiomas de áudio representados no disco, mas que apenas seis destes estão representados no actual bloco de dados. Neste caso, existiriam X sequências de bits correspondentes aos idiomas de áudio, cada um terminando com um caractere de escapar. O caractere de escapar é utilizado para separar os blocos de áudio uns dos outros. Se sempre que um bloco de áudio estiver presente este tiver uma duração fixa, então, uma vez que é sabido quantos blocos de áudio estão presente num bloco de dados através da informação no campo 8, não é necessário proporcionar uma palavra de sincronização no final do campo. O blocos de áudio de comprimento variável requereriam uma palavra de sincronização no final do campo. O campo 9 na faixa de introdução contém um valor de 0 a 63 que representa o número de “outras” faixas de áudio. Embora possam existir M tais “outras” faixas de áudio, conforme mostrado na figura 3, isto não significa que cada uma delas é representada no actual bloco de dados. O campo 10 em cada bloco de dados contém M bits, um para cada uma das “outras” faixas de áudio no disco. Se o actual bloco de dados contém realmente informação de bits para qualquer uma destas M faixas depende de se a correspondente posição de bit no campo 10 contém um 1. Se existirem Y “l”s e Y é inferior a M, isto significa que nem todas as “outras” faixas de áudio estão representadas no actual bloco de dados. O campo 11 contém Y “outras” faixas de áudio, cada uma terminando com um caractere de escapar. Será de apreciar que a maneira como as faixas de áudio e as “outras” faixas de áudio são representadas no bloco de dados são comparáveis.
Com referência novamente à figura 2, é de recordar que os bits de dados num bloco de dados são distribuídos para buffers de áudio, um bujfer de vídeo, um buffer de pan scan e um buffer de subtítulos, assim como para o controlador mestre 41 através da linha 65 de COMANDO / DADOS. Até aqui, a representação dos blocos de áudio, “outras” faixas de áudio e um bloco de vídeo foram considerados na análise dos campos na figura 4. Antes de proceder com a representação dos dados dos subtítulos, todavia, é de entender que existe uma diferença na maneira como é representada a informação dos subtítulos, em oposição aos dados de áudio e vídeo. Estes últimos são representados numa base de bloco-por-bloco, e os buffers são continuamente atestados com novos dados de áudio e vídeo. Os subtítulos, por outro lado, não necessitam de mudar de imagem para imagem. De facto, um subtítulo nem será distinguido se este não ficar no ecran por mais de uma imagem. Consequentemente, uma vez representados os dados do subtítulo no buffer 59 se figura 2, este leva à formação de um subtítulo no ecran permanecendo lá até que nova informação de subtítulo for carregada no buffer. Para remover um subtítulo sem introduzir um novo, é carregado no buffer um novo subtítulo que consiste num campo em branco. O campo 12 no bloco de dados consiste em P bits, cada um correspondendo a um dos P idiomas diferentes de subtítulos identificados no campo 15 da faixa de introdução. (É de recordar que a primeira posição em todos os campos de 100 bits correspondentes a idiomas não representam realmente um idioma, mas antes a M&E, de forma a que existem um máximo de 99 idiomas de subtítulos.) Qualquer subtítulo para o qual existe uma actualização no actual -73- bloco de dados tem um 1 na sua posição correspondente no campo 12. Podem existir até Z “l”s, sendo o valor máximo de Z igual a P.
Para cada idioma de subtítulos para o qual exista uma actualização no actual bloco de dados, a actualização aparece no campo 13. Existem Z blocos de actualização, cada um terminando com um caractere de escapar. É importante compreender que um bloco de actualização pode ser um campo em branco. Esta é a maneira como um subtítulo é removido quando um novo subtítulo ainda não está para ocupar o seu lugar. O campo 14 consiste num bit que pode ou não estar presente. Ò campo está presente apenas se o campo 21 na faixa de introdução for um 1. Em tal caso, a informação de pan scan está disponível no bloco de dados. Se a informação de pan scan estiver disponível, cada bloco de dados tem de dizer ao sistema operativo se contém realmente uma nova coluna de partida para o pan scan. O campo 14 é um único bit, uma bandeira, que indica se existe uma actualização de pan scan. Se o bit for um 1, o campo 15 é um número de coluna de 9 bits, isto é, uma actualização de pan scan.
Finalmente, o campo 16 é um único bit que pode ou não estar presente, dependendo do valor do campo 30 na faixa de introdução. Esta bandeira de um bit na faixa de introdução diz ao sistema operativo se comandos “suplementares” e dados podem estar presentes no campo 17 de um bloco de dados. Se a bandeira de comando / dados presente for um 1, o bloco comando / dados é lido do campo 17. O campo termina com um caractere de escapar.
Um campo de bloco de dados contém assim até seis tipos diferentes de dados — áudio, “outro” áudio, vídeo, informação de pan scan, subtítulos e um bloco de comando / dados. Estes são os seis tipos de informação que foram acima -74- discutidos em relação com a figura 2, com desmultiplexador 63 a distribuir os diferentes blocos de informação para os bujfers áudio, buffer vídeo, buffer de pan scan, buffer de subtítulos, e controlador mestre.
Processamento dos Campos dos Blocos de Dados O processamento dos dados num bloco de dados é relativamente linear. O processamento mostrado no gráfico de operação da figura 6 ensambla com os campos dos blocos de dados propriamente ditos mostrados na figura 4. Já foi descrito como o analisador 47 de número / apontador de bloco na figura 2 processa o número serial do bloco, versão, bandeira apontadora de dois bits e apontador contido nos campos 2-5 do bloco de dados. O campo seguinte é a bandeira de vídeo presente. Conforme mostrado na figura 6, se for determinado que dados de vídeo estão presentes, o buffer de vídeo 55 na figura 2 é carregado com o vídeo no campo 7. Se os dados de vídeo não estiverem presente, o buffer é simplesmente carregado com um marcador. E importante perceber a necessidade de ter marcadores. A fim de o sistema operativo ser sempre capaz de sincronizar informação de vídeo, áudio, subtítulos, etc., este tem de ser capaz de dizer onde nos vários buffers diferentes está a informação do mesmo bloco de dados. Por outras palavras, o sistema operativo tem de saber qual parte dos dados áudio num buffer de áudio vai com qual parte dos dados vídeo num buffer de vídeo. Caso contrário os vários itens de informação não podem ser sincronizados uns com os outros. Proporcionando marcadores nos buffers para dados que não estão presente nos blocos de dados, o sistema operativo pode manter os vários itens de informação sincronizados uns com os outros.
De seguida, o sistema operativo olha para o campo 8 para -75- determinar quantas das N faixas de áudio no disco (ver figura 3) estão realmente representadas no actual bloco de dados. O mesmo é verdade para as M “outras” faixas de áudio representadas o campo 10. Todos os dados de áudio e “outras” faixas de áudio são carregados nos seus respectivos buffers. O gráfico de operação mostra a sequência apenas para a primeira e última faixa de áudio. Em cada caso, é efectuado um teste para ver se a faixa de áudio ou “outras” faixas de áudio têm dados presentes no actual bloco de dados. Cada uma das faixas resulta em qualquer coisa ser carregado no seu respectivo buffer -- ou dados propriamente ditos seguidos de um marcador, ou somente um marcador.
Depois da informação áudio e vídeo, um bloco de dados contém actualizações de subtítulos. Se existir informação de actualização para os subtítulos num idioma seleccionado, este é carregado no buffer de subtítulos; caso contrário é apenas armazenado um marcador. Os três blocos que dizem respeito a subtítulos dizem respeito apenas a uma única faixa, esta correspondendo ao idioma do subtítulo seleccionado.
De seguida, é lida a bandeira de actualização de pan scan no campo 14. Se estiver presente informação de actualização de pan scan, este também é carregado, desta vez num buffer de pan scan. Se não estiver disponível qualquer informação nova, o marcador é simplesmente colocado no buffer de pan scan para indicar que outro bloco de dados passou sem qualquer nova informação de actualização de pan scan.
Finalmente, o sistema determina se estão disponíveis comandos ou dados (se o campo 30 da faixa de introdução disser que existem comandos ou dados nos blocos de dados). Se comandos / dados estiverem presente, i.e. o campo 16 no bloco de dados for um 1, este é carregado do campo 17 para a memória no controlador mestre 41 da figura 2. Se não existirem comandos ou dados disponíveis apenas é carregado um marcador na memória do -76- microprocessador.
Deve ser notado que nenhuma das sequências de processamento da figura 6 mostram a verificação a ser feita sobre se o respectivo tipo de informação está disponível no disco em primeiro lugar. Mas é de entender que um teste como “está presente o comando / dados?” consiste na realidade em duas partes. Primeiro, a bandeira de comandos / dados do bloco de dados no campo 30 da faixa de introdução é um 0 ou um 1? Se for 0, os comandos e dados nem são procurados durante o processamento do bloco de dados. Por outro lado, se comandos ou dados podem estar presente num bloco de dados como resultado de a bandeira de dados no campo 30 da faixa de introdução ser um 1, então cada bloco de dados tem o seu campo 16 verificado para ver se a bandeira de comandos / dados presente é um 1. É o valor da bandeira no bloco de dados que determina se apenas um marcador é carregado, ou se um marcador seguido de bits de dados. Comentários semelhantes aplicam-se às outras sequências. Por exemplo, não há razão para verificar se está presente uma actualização de pan scan se da faixa de introdução é determinado que não existe informação de pan scan em nenhum lugar no disco.
Lisboa, 12 de Setembro de 2000
v_ "Ί
JORGE CRUZ
Agente Oficial da Propriedade Industrial RUA VICTOR CORDON, 14 1200 LISBOA - 1 -
- 1 - Figura 1 estado da arte gravador VHS conversor armazém de gerador de Saída de vídeo analógico-digital imagem de vídeo sincronização, AID conversor de padrões, e
conversor digital-analógico D/A imagens previstas imagens bidireccionais previstas imagens previstas
Figura 8 estado da arte referência intra-imagem independente | imagem imagens bidireccionais previstas
Figura 9
Relação de aspecto de “ecran largo” Relação de aspecto original de “caixa de correio”
Relação de aspecto reduzido de pan scan -2- figura2
Amplifíer
Audio buffers
Audio processor decoder
Block number /pointer analyzer
Buffer full
CD ROM
Command / data
Data out
Demultiplexer
Display
Gate
Graphics generator Head position control Key Keyer
Master clock
Microprocessor disk drive controller
Microprocessor master controller Pan scan buffer
Pan scan processor / vertical scaler Parental lock control Rate control Subtitle buffer
Sync generator and D/A convertor
User interface Video
Video buffer
Video frame store, interface e 3:2 pulldown Circuit
Video decoder figura 3
Amplificador Buffers de áudio
Descodificador processador de áudio
Analisador de número / apontador em bloco
Buffer cheio
CD ROM
Comandos / dados
Saída de dados
Desmultiplexador
Ecran
Gate
Gerador de gráficos Controlo de posição da cabeça Chave
Accionador
Relógio mestre
Controlador do microprocessador do drive do disco
Controlador mestre do microprocessador
Buffer de pan scan
Processador de pan scan / graduador vertical Controlador da fechadura parental Controlo de ritmo Buffer de subtítulos
Gerador de sincronização e conversor digital-analógico D/A Interface do utilizador Vídeo
Buffer de vídeo
Armazém de imagens de vídeo, interface e circuito de pulldown 3:2 Descodificador de vídeo bits de sincronização de introdução territórios autorizados bandeira de software especial software especial com terminação em palavra de sincronização padrões autorizados idiomas de áudio disponíveis, M&E mais 99 tipos de faixas codificação das faixas número de “outras” faixas de áudio codificação para as “outras” faixas de áudio idiomas de apresentação disponíveis bandeira do software especial de mistura / eliminação software especial de mistura / eliminação com terminação em palavra de sincronização sequências P x M cada um terminando com caractere de escapar idiomas de subtítulos disponíveis código de versão múltipla bandeira de software de versão especial software de versão especial com terminação em palavra de sincronização bandeira de disponibilidade de vídeo relação de aspecto de base disponibilidade de pan scan número total de blocos de dados
número de blocos de dados na versão A
número de blocos de dados na versão B ritmo original de imagens factor temporal do bloco tabela de conteúdos para a primeira versão para cada capítulo: número do capítulo de 8 bits número serial do bloco de 20 bits do bloco de partida bloco de duração do capítulo de 20 bits idiomas de apresentação dos capítulos disponíveis (100 bits) sequências de idiomas identificando os capítulos cada um terminando com -4- caractere de escapar tabela de conteúdos para a segunda versão código de autorização encriptado para cada padrão com terminação em palavra de sincronização bandeira de comandos / dados do bloco de dados bandeira de software “suplementar” software “suplementar” com terminação em palavra de sincronização -5- palavra de sincronização número serial do bloco versão (A, B ou comum) bandeira apontadora de 2 bits apontador bandeira de vídeo presente bloco de vídeo com terminação em palavra de sincronização faixas de áudio presente X blocos de idiomas de áudio, cada um terminando com caractere de escapar “outras” faixas de áudio presente Y “outras” faixas de áudio presente actualização de subtítulos presente Z blocos de actualização de subtítulos, cada um terminando com caractere de escapar bandeira de actualização de pan scan actualização de pan scan bandeira de comandos / dados presente bloco de comandos / dados terminando com caractere de escapar
-6- figura 5A partida ler configurações default: 1. Padrão 2. Idioma A. Áudio B. Subtítulos C. Menus 3. Relação de aspecto 4. Estado da fechadura parental teclas do menu operadas ? apresentar o menu: alterar • os defaults • tabela de conteúdos • retomar selecção do menu ? alterar defaults alterar defaults tabela de conteúdos fixar bandeira TOC = 1 ler territórios autorizados o território é autorizado ? abortar
ler bandeira de software especial A
A o software especial está presente ? ler software especial executar software especial ler padrão default ler padrões autorizados o padrão default é autorizado ? apresentar padrões autorizados -7- seleccionar um padrão autorizado ler idiomas de áudio e tipos de faixas disponíveis o idioma de áudio defaulí está disponível ?
B C
figura 5B
B
apresentar idiomas de áudio disponíveis seleccionar um idioma de áudio disponível C ler codificação para o idioma de áudio seleccionado ler número de “outras” faixas de áudio quantas ? ler codificação para “outras” faixas de áudio disponíveis ler idiomas de menus disponíveis o idioma de menus default está disponível ?
apresentar idiomas de menus disponíveis seleccionar um idioma de menus disponível D
D o software especial de mistura / eliminação está disponível ?
ler software especial de mistura / eliminação ler menu de “outras” faixas de áudio apresentar menu de “outras” faixas de áudio seleccionar modo de tocar de “outras” faixas de áudio os subtítulos requeridos estão em default ? ler idiomas de subtítulos disponíveis o idioma de subtítulos default está disponível ? apresentar idiomas de subtítulos disponíveis seleccionar um idioma de subtítulos disponível E -8- \
figura 5 C E ler código de 4 bits de versão múltipla determinar se estão disponíveis versões múltiplas software especial está disponível ? fechadura parental está ligada ?
autorizar versões A e B versão A tem de classificação R ? versão B tem de classificação R ? abortar autorizar a versão A versão B tem de classificação R ?
autorizar a versão B F ler software de versão especial executar software de versão especial
F apresentar opções: • versões autorizadas • sair seleccionar versão ou sair sair ? ler bit de disponibilidade de vídeo o vídeo está presente ? ler relação de aspecto de base relação de aspecto ?
H
G
figura 5 D
G
H o default épan scan 4:3 ? ler bit de disponibilidade de pan scan o pan scan está disponível ? -9- apresentar escolhas: • corte central • caixa de correio seleccionar modo de apresentação ler número de bloco (20 ou 60 bits) ler ritmo original de imagens ler factor temporal do bloco ler tabela de conteúdos para a versão seleccionada I I o idioma de menu default está disponível ? apresentar idiomas de apresentação de capítulos disponíveis seleccionar idioma de apresentação de capítulo calcular duração de tabela de conteúdos bandeira TOC ? fixar a partida no início apresentar tabela de conteúdos seleccionar ponto de partida ler código de autorização encriptado para o padrão seleccionado ler dados do disco predeterminados para o padrão seleccionado
J
figura 5 E
J computar código de autorização para o padrão seleccionado dos dados do disco predeterminados desencriptar código de autorização para o padrão seleccionado o código de desencriptação = código computado ? ler bandeira de comandos / dados do bloco de dados ler bit de software “suplementar” o software “suplementar” está presente ? ler software “suplementar” e integrar com o sistema operativo
K K ir para o ponto de partida - 10- algum buffer esta cheio ? interrupção do controlador ? interromper processo ler número do bloco este é o bloco requerido de seguida ? ler dados do apontador processar dados do apontador para identificar bloco requerido de seguida ler remanescente do conteúdo do bloco de dados e carregá-lo nos buffers - 11 -
- 11 - figura 6 Partida o vídeo está presente ? carregar o marcador no buffer de vídeo carregar o buffer de vídeo o primeiro áudio seleccionado está presente ? carregar o marcador no buffer de áudio carregar o buffer de áudio o último áudio seleccionado está presente ? carregar o marcador no buffer de áudio carregar o buffer de áudio B Β a informação de actualização do subtítulo seleccionado está presente ? carregar o marcador no buffer de subtítulos carregar o buffer de subtítulos ler bandeira de actualização de pan scan a actualização de país está presente ? carregar o marcador no buffer de pan scan carregar o buffer de pan scan ler bandeira de comandos / dados o comandos / dados está presente ? carregar o marcador na RAM carregar o comandos / dados na RAM A figura 7 A jump over to another saltar por cima para outro next próximo use pointer ignore pointer utilizar apontador ignorar apontador continue to next block continuar para o bloco seguinte -12-
jump to same version or common, one pointer branch írom commom
next block is an A, pointer is to a B or a C (if version A is being played, continue to next block) (if version B is being played, jump to block identified by pointer) branch írom commom
next block is an B, pointer is to a A or a C (if version A is being played, jump to block identified by pointer) (if version B is being played, continue to next block) saltar para a mesma versão ou comum, um apontador ramificar de um comum
bloco Seguinte é um A, apontador para um B
ou umC (se versão A está a ser tocada, continuar para o bloco Seguinte)
(se versão B está a ser tocada, saltar para o bloco identificado pelo apontador) ramificar de um comum bloco Seguinte é um B, apontador para um A ou um C (se versão A está a ser tocada, saltar para o bloco identificado pelo apontador) (se versão B está a ser tocada, continuar para o bloco seguinte)

Claims (6)

  1. REIVINDICAÇÕES 1. Um portador de software, para uso num aparelho compatível que lê bits de um portador, para representar uma pluralidade de sinais que são para ser executados em sincronização uns com os outros, os ditos sinais a serem representados no portador na forma de dados digitais, caracterizado por cada um dos ditos sinais ser representado por uma sequência de bits desenvolvida para ser processada durante a execução do portador de software a um ritmo de uso de bits que varia com o conteúdo da informação do sinal propriamente dito e com o ritmo de uso de bits para a dita pluralidade de sinais sendo independentes uns dos outros, os dados digitais no portador de software sendo organizados numa série de blocos de dados entre os quais estão blocos de dados contendo diferentes números de bits em respectivos uns de múltiplas sequências de bits, as sequências de bits sendo distribuídas entre os blocos de dados de forma a que bits de cada sequência de bits, depois de serem lidos do portador e bujfered por um aparelho compatível, estão em todos os momentos disponíveis para uso quando requeridos para a reconstituição apropriada do respectivo sinal representado.
  2. 2. Um portador de software de acordo com a reivindicação 1, em quê alguns blocos de dados não têm bits de uma ou mais das ditas sequências de bits.
  3. 3. Um portador de software de acordo com a reivindicação 1 ou reivindicação 2, em que cada um dos ditos blocos de dados contém códigos indicativos de quais as sequências de bits têm bits contidos em tais blocos de dados.
  4. 4. Um portador de software de acordo com a reivindicação 1 ou -2- -2- A reivindicação 3, em que cada um dos ditos blocos de dados contém caracteres identificadores da fronteira das diferentes sequências de bits neles contidos.
  5. 5. Um portador de software de acordo com a reivindicação 1, 3 e 4, em que uma secção de introdução do portador de software contém códigos identificadores das sequências de bits individuais contidas nas ditas séries de blocos de dados.
  6. 6. Um portador de software de acordo com qualquer uma das reivindicações anteriores, em que o portador de dados é um disco óptico. Lisboa, 12 de Setembro de 2000
    JORGE CRUZ Agente Oficial da Propriedade Industrial RUA VICTOR CORDON, 14 1200 LISBOA
PT94931889T 1993-10-29 1994-10-13 Formato de bloco de dados para portador de software e respectivo aparelho PT727074E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/146,440 US5463565A (en) 1993-10-29 1993-10-29 Data block format for software carrier and player therefor

Publications (1)

Publication Number Publication Date
PT727074E true PT727074E (pt) 2000-12-29

Family

ID=22517368

Family Applications (3)

Application Number Title Priority Date Filing Date
PT99117859T PT969472E (pt) 1993-10-29 1994-10-13 Formato de bloco de dados para um portador de software e aparelho associado
PT94931889T PT727074E (pt) 1993-10-29 1994-10-13 Formato de bloco de dados para portador de software e respectivo aparelho
PT99117858T PT969464E (pt) 1993-10-29 1994-10-13 Formato de bloco de dados para um portador de software e aparelho associado

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PT99117859T PT969472E (pt) 1993-10-29 1994-10-13 Formato de bloco de dados para um portador de software e aparelho associado

Family Applications After (1)

Application Number Title Priority Date Filing Date
PT99117858T PT969464E (pt) 1993-10-29 1994-10-13 Formato de bloco de dados para um portador de software e aparelho associado

Country Status (14)

Country Link
US (2) US5463565A (pt)
EP (3) EP0969464B1 (pt)
JP (2) JP3272364B2 (pt)
KR (1) KR100231632B1 (pt)
AT (3) ATE221245T1 (pt)
AU (1) AU673783B2 (pt)
CA (1) CA2174225C (pt)
DE (4) DE69431080T2 (pt)
DK (3) DK0969464T3 (pt)
ES (3) ES2149892T3 (pt)
GR (1) GR3034448T3 (pt)
HK (2) HK1024975A1 (pt)
PT (3) PT969472E (pt)
WO (1) WO1995012179A1 (pt)

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469370A (en) * 1993-10-29 1995-11-21 Time Warner Entertainment Co., L.P. System and method for controlling play of multiple audio tracks of a software carrier
US5576843A (en) * 1993-10-29 1996-11-19 Time Warner Entertainment Co., L.P. System and method for controlling play of multiple dialog audio tracks of a software carrier
US6408129B1 (en) * 1993-10-29 2002-06-18 Time Warner Entertainment Co, Lp Method for processing a plurality of synchronized audio tracks, including phase inversion of a selected track
JP2853727B2 (ja) 1994-02-22 1999-02-03 日本ビクター株式会社 再生プロテクト方法及びプロテクト再生装置
US5715355A (en) * 1994-03-19 1998-02-03 Sony Corporation Optical disk having a particular format to store user-selected data, such as video data or computer files, including a dedicated TOC region
US5515107A (en) * 1994-03-30 1996-05-07 Sigma Designs, Incorporated Method of encoding a stream of motion picture data
JP2677775B2 (ja) * 1994-04-14 1997-11-17 株式会社東芝 再生装置
JPH07322248A (ja) * 1994-05-30 1995-12-08 Matsushita Electric Ind Co Ltd 動画像データの伝送方法および伝送装置
JPH09507364A (ja) * 1994-10-11 1997-07-22 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 相互作用音声映像番組伝送方法および装置
BE1008964A3 (nl) * 1994-11-18 1996-10-01 Philips Electronics Nv Werkwijze voor overdracht van informatie, een informatiedrager, alsmede een inrichting voor ontvangen en een inrichting voor verzenden van informatie.
US5778142A (en) * 1994-11-24 1998-07-07 Kabushiki Kaisha Toshiba Large capacity recording medium, method and apparatus for reproducing data from a large-capacity recording medium, and method and apparatus for recording data on a large-capacity recording medium
US5809245A (en) * 1995-01-24 1998-09-15 Kabushiki Kaisha Toshiba Multimedia computer system
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
CN1869997A (zh) * 1995-02-13 2006-11-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5842169A (en) * 1995-02-28 1998-11-24 Sanyo Electric Co., Ltd. Read/write control method and circuit for a sound recording/reproducing device
KR100256663B1 (ko) * 1995-04-11 2000-05-15 니시무로 타이죠 데이타 기록 매체
CA2173929C (en) * 1995-04-14 2001-04-03 Kazuhiko Taira Method, apparatus and recording medium for reproducing information
US5703997A (en) * 1995-04-14 1997-12-30 Kabushiki Kaisha Toshiba Data recording medium having reproduction timing information, and system for reproducing record data by using the reproduction timing information
CN1114212C (zh) * 1995-04-14 2003-07-09 株式会社东芝 记录媒体的数据记录装置和方法以及数据再生装置和方法
US6009234A (en) * 1995-04-14 1999-12-28 Kabushiki Kaisha Toshiba Method of reproducing information
US5813010A (en) * 1995-04-14 1998-09-22 Kabushiki Kaisha Toshiba Information storage and information transmission media with parental control
US5623424A (en) * 1995-05-08 1997-04-22 Kabushiki Kaisha Toshiba Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels
US5819004A (en) * 1995-05-08 1998-10-06 Kabushiki Kaisha Toshiba Method and system for a user to manually alter the quality of previously encoded video frames
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US5684714A (en) * 1995-05-08 1997-11-04 Kabushiki Kaisha Toshiba Method and system for a user to manually alter the quality of a previously encoded video sequence
US5838874A (en) * 1995-05-08 1998-11-17 Kabushiki Kaisha Toshiba Audiovisual encoding system with a reduced number of audio encoders
KR100428921B1 (ko) * 1995-05-30 2005-01-13 산요덴키가부시키가이샤 가변비트레이트데이터의기록장치및기록방법과,재생장치및재생방법
US5646867A (en) * 1995-07-24 1997-07-08 Motorola Inc. Method and system for improved motion compensation
US5758091A (en) * 1995-08-10 1998-05-26 Intel Corporation Method and apparatus for adjusting video data to limit the effects of automatic gain control on motion estimation video coders
MX9702847A (es) * 1995-08-21 1997-07-31 Matsushita Electric Ind Co Ltd Disco optico de multimedia que facilita la reproduccion de ramificacion para las secciones de bloqueo paternal usando informacion reducida de control y un dispositivo de reproducciones para este disco
EP0788094A4 (en) * 1995-08-21 1998-06-24 Matsushita Electric Ind Co Ltd MULTIMEDIA OPTICAL DISK WHICH CAN COMPLETELY GENERATE UNEXPECTED SCENES THROUGH INTERACTIVE CONTROL, THEIR PLAYBACK DEVICE AND PLAYBACK METHOD
CN1106642C (zh) * 1995-08-21 2003-04-23 松下电器产业株式会社 制作者能自由协调引入特殊再现后的视听形态的光盘的再现装置及方法
WO1997007509A1 (fr) 1995-08-21 1997-02-27 Matsushita Electric Industrial Co., Ltd. Disque optique multimedia capable de conserver pendant longtemps la fraicheur du contenu en images, appareil et procede de reproduction de ce disque
MY115648A (en) * 1995-08-23 2003-08-30 Sony Corp Encoding/decoding fields of predetermined field polarity apparatus and method
JPH0974566A (ja) * 1995-09-04 1997-03-18 Sony Corp 圧縮符号化装置及び圧縮符号化データの記録装置
TW303569B (pt) * 1995-09-29 1997-04-21 Matsushita Electric Ind Co Ltd
TW335480B (en) * 1995-09-29 1998-07-01 Matsushita Electric Ind Co Ltd Method and apparatus for encoding a bistream for multi-angle connection
TW436777B (en) * 1995-09-29 2001-05-28 Matsushita Electric Ind Co Ltd A method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
EP0847198B1 (en) * 1995-09-29 1999-04-28 Matsushita Electric Industrial Co., Ltd. Method, device and disc for recording and reproducing interleaved bit stream on and from the disk
TW305043B (pt) 1995-09-29 1997-05-11 Matsushita Electric Ind Co Ltd
TW385431B (en) * 1995-09-29 2000-03-21 Matsushita Electric Ind Co Ltd A method and an apparatus for encoding a bitstream with plural possible searching reproduction paths information useful in multimedia optical disk
EP0847199B1 (en) * 1995-09-29 1999-04-28 Matsushita Electric Industrial Co., Ltd. Method, disc and device for encoding seamless-connection of telecine-converted video data
JP3007689B2 (ja) * 1995-10-09 2000-02-07 松下電器産業株式会社 国毎に異なるレーティングシステムに対応する再生装置、再生方法
US5764921A (en) * 1995-10-26 1998-06-09 Motorola Method, device and microprocessor for selectively compressing video frames of a motion compensated prediction-based video codec
US5699277A (en) * 1996-01-02 1997-12-16 Intel Corporation Method and apparatus for source clipping a video image in a video delivery system
KR100322853B1 (ko) 1996-01-08 2002-06-24 니시무로 타이죠 정보기록매체및기록방법및재생장치
JP3016598B2 (ja) * 1996-02-21 2000-03-06 タイム ワーナー エンターテイメント カンパニー エル ピー 共通素材データを有する多数のプログラムバージョンの途切れのない再生のためのデータインターリーブ方法
US5644507A (en) * 1996-02-21 1997-07-01 Time-Warner Entertainment Co., L.P. Method for interleaving data for seamless playback of multiple program versions having common material
US20010011253A1 (en) 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
JP4112644B2 (ja) * 1996-02-28 2008-07-02 パイオニア株式会社 情報記録媒体、情報記録装置及び情報記録方法並びに情報再生装置及び情報再生方法
JP3748287B2 (ja) 1996-02-28 2006-02-22 パイオニア株式会社 情報再生装置及び方法
JP3816571B2 (ja) * 1996-03-15 2006-08-30 パイオニア株式会社 情報記録装置及び情報記録方法並びに情報再生装置及び情報再生方法
JP3719758B2 (ja) * 1996-03-19 2005-11-24 パイオニア株式会社 情報記録装置及び方法並びに情報再生装置及び方法
US6757483B1 (en) 1996-03-19 2004-06-29 Pioneer Electronic Corporation Information recording medium with aggregate attribute information recorded in video manager, apparatus for recording the same and apparatus for reproducing the same
JP4012585B2 (ja) * 1996-03-22 2007-11-21 パイオニア株式会社 記録装置及び記録方法並びに再生装置及び再生方法
DE69710279T2 (de) * 1996-04-05 2002-06-27 Matsushita Electric Industrial Co., Ltd. Optische multimedia-platte mit mehrkanaligen audiodaten und untergeordneten bilddaten zusammen mit zeitlich veränderlichen bilddaten sowie datenwiedergabeverfahren und -vorrichtung dazu
US6798981B1 (en) 1996-04-05 2004-09-28 Matsushita Electric Industrial Co., Ltd. Multimedia optical disc for storing audio data and sub-picture data in a plurality of channels as well as moving picture data and apparatus and method for reproducing the multimedia optical disc
KR100439879B1 (ko) * 1996-04-12 2004-12-03 마츠시타 덴끼 산교 가부시키가이샤 오디오비디오기능을실행할영상타이틀과,그렇지않은영상타이틀을수록하고,그들의차이를순간에분별할수있는광디스크및그재생장치,재생방법
AU3205797A (en) * 1996-05-15 1997-12-05 Intertrust Technologies Corp. Cryptographic methods, apparatus and systems for storage media electronic rights management in closed and connected appliances
US5661665A (en) * 1996-06-26 1997-08-26 Microsoft Corporation Multi-media synchronization
CN1214352C (zh) * 1996-09-04 2005-08-10 英特托拉斯技术公司 一种从用户站点向外部站点发布使用数据的方法
US5812790A (en) * 1996-09-09 1998-09-22 Sonic Solutions Variable encoding rate plan generation
CN1110779C (zh) * 1996-10-31 2003-06-04 传感电子公司 视频信息智能管理系统
CN1110778C (zh) * 1996-10-31 2003-06-04 传感电子公司 视频信息智能管理系统
EP1453312A3 (en) * 1996-10-31 2004-11-10 Sensormatic Electronics Corporation Intelligent video information management system
US5884042A (en) * 1996-10-31 1999-03-16 Sensormatic Electronics Corporation Data identification in an intelligent video information management system
US5828848A (en) * 1996-10-31 1998-10-27 Sensormatic Electronics Corporation Method and apparatus for compression and decompression of video data streams
US5875304A (en) * 1996-10-31 1999-02-23 Sensormatic Electronics Corporation User-settable features of an intelligent video information management system
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
FR2765354B1 (fr) * 1997-06-25 1999-07-30 Gregoire Parcollet Systeme de synchronisation du doublage de films
IL121640A (en) 1997-08-27 2000-06-01 Scitex Corp Ltd Ink cartridge
US6112181A (en) 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
CN1253017C (zh) * 1997-12-15 2006-04-19 松下电器产业株式会社 用于把视频目标记录在光盘上的记录设备及其方法
US6614987B1 (en) 1998-06-12 2003-09-02 Metabyte, Inc. Television program recording with user preference determination
US8352984B2 (en) * 1998-06-12 2013-01-08 Thomson Licensing System and method for generating and managing user preference information for scheduled and stored television programs
US7146627B1 (en) * 1998-06-12 2006-12-05 Metabyte Networks, Inc. Method and apparatus for delivery of targeted video programming
JP5068910B2 (ja) * 1999-08-31 2012-11-07 トムソン ライセンシング ターゲット決めされたビデオ番組編成の配送のための方法および装置
US6121963A (en) * 2000-01-26 2000-09-19 Vrmetropolis.Com, Inc. Virtual theater
CN1383669A (zh) * 2000-06-28 2002-12-04 索尼公司 附加信息嵌入装置及附加信息嵌入方法
US8087051B2 (en) * 2000-06-30 2011-12-27 Thomson Licensing Database management system and method for electronic program guide and television channel lineup organization
US8302127B2 (en) * 2000-09-25 2012-10-30 Thomson Licensing System and method for personalized TV
US8818871B2 (en) 2001-06-21 2014-08-26 Thomson Licensing Method and system for electronic purchases using an intelligent data carrier medium, electronic coupon system, and interactive TV infrastructure
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
EP1463056A4 (en) * 2001-11-29 2006-07-05 Sharp Kk DATA RECORDING METHOD, DATA ERASING METHOD, DATA DISPLAY METHOD, RECORDING APPARATUS, RECORDING MEDIUM, AND PROGRAM
US7061540B2 (en) * 2001-12-19 2006-06-13 Texas Instruments Incorporated Programmable display timing generator
US7009655B2 (en) * 2002-07-23 2006-03-07 Mediostream, Inc. Method and system for direct recording of video information onto a disk medium
US20070061413A1 (en) * 2005-09-15 2007-03-15 Larsen Eric J System and method for obtaining user information from voices
RU2352985C2 (ru) * 2002-10-22 2009-04-20 Конинклейке Филипс Электроникс Н.В. Способ и устройство для санкционирования операций с контентом
DE60318332D1 (de) * 2002-12-20 2008-02-07 Philips Intellectual Property Modul zum lesen eines datenträgers
KR100804380B1 (ko) 2003-10-10 2008-02-15 샤프 가부시키가이샤 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체
US20060130119A1 (en) * 2004-12-15 2006-06-15 Candelore Brant L Advanced parental control for digital content
US8041190B2 (en) * 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US8108693B2 (en) * 2005-04-01 2012-01-31 Ged-I Ltd. Method for data storage protection and encryption
KR20060120396A (ko) * 2005-05-20 2006-11-27 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치
US20070250875A1 (en) * 2005-08-26 2007-10-25 Weaver Timothy H Methods, apparatuses, and computer program products for delivering one or more television programs for viewing during a specified viewing interval
US20070240185A1 (en) * 2005-08-26 2007-10-11 Weaver Timothy H Methods, apparatuses, and computer program products for delivering audio content on demand
US8616973B2 (en) * 2005-09-15 2013-12-31 Sony Computer Entertainment Inc. System and method for control by audible device
US8645985B2 (en) 2005-09-15 2014-02-04 Sony Computer Entertainment Inc. System and method for detecting user attention
US8185921B2 (en) * 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US7995234B2 (en) * 2007-07-31 2011-08-09 Hewlett-Packard Development Company, L.P. Adjusting scan rate within scanning device
CN103513764B (zh) 2007-09-18 2017-04-26 森赛格公司 用于感觉刺激的方法和设备
FI20085475A0 (fi) * 2008-05-19 2008-05-19 Senseg Oy Kosketuslaiteliitäntä
US20110161585A1 (en) * 2009-12-26 2011-06-30 Sailesh Kottapalli Processing non-ownership load requests hitting modified line in cache of a different processor
US8797376B2 (en) * 2010-05-28 2014-08-05 Polycom, Inc. Videoconferencing system with enhanced telepresence using a single wide aspect ratio camera
US10356484B2 (en) * 2013-03-15 2019-07-16 Samsung Electronics Co., Ltd. Data transmitting apparatus, data receiving apparatus, data transceiving system, method for transmitting data, and method for receiving data
US9436605B2 (en) 2013-12-20 2016-09-06 Intel Corporation Cache coherency apparatus and method minimizing memory writeback operations

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3698806A (en) * 1970-08-20 1972-10-17 Technicolor Pan scan system
US3919474A (en) * 1974-01-18 1975-11-11 Goldmark Communications Corp System for transferring motion picture films to video recordings, and for changing aspect ratios
US4679191A (en) * 1983-05-04 1987-07-07 Cxc Corporation Variable bandwidth switching system
US4729012A (en) * 1985-08-30 1988-03-01 Rca Corporation Dual mode television receiver for displaying wide screen and standard aspect ratio video signals
US5023707A (en) * 1985-12-02 1991-06-11 Media Transference International, Ltd. System for combining multiple audio channels into the baseband video signal and the recovery of the audio channels therefrom
NL8601182A (nl) * 1986-05-12 1987-12-01 Philips Nv Werkwijze en inrichting voor het opnemen en/of weergeven van een beeldsignaal en een bijbehorend audiosignaal in respektievelijk van een registratiedrager, en een registratiedrager verkregen volgens de werkwijze.
US5146833A (en) * 1987-04-30 1992-09-15 Lui Philip Y F Computerized music data system and input/out devices using related rhythm coding
US4918523A (en) * 1987-10-05 1990-04-17 Intel Corporation Digital video formatting and transmission system and method
JP2914975B2 (ja) * 1988-02-05 1999-07-05 株式会社日立製作所 画像符号化方法及び装置
US5280572A (en) * 1988-06-24 1994-01-18 Time Warner Interactive Group Inc. Method and apparatus for storing text data in subcode packs
JP2845920B2 (ja) * 1989-02-09 1999-01-13 パイオニア株式会社 記録再生方式
US5224089A (en) * 1989-06-30 1993-06-29 Matsushita Electric Industrial Co., Ltd. Digital signal information reproduction apparatus
JP2712656B2 (ja) * 1989-10-25 1998-02-16 日本電気ホームエレクトロニクス株式会社 Cd―rom記録方法
US5045940A (en) * 1989-12-22 1991-09-03 Avid Technology, Inc. Video/audio transmission systsem and method
GB9012538D0 (en) * 1990-06-05 1990-07-25 Philips Nv Coding of video signals
CA2335403C (en) * 1990-06-05 2002-03-19 Koninklijke Philips Electronics N.V. Optical readable disc storing full-motion video scene
US5130815A (en) * 1990-07-20 1992-07-14 Mti Associates Method and apparatus for encoding a video signal having multi-language capabilities
JPH04229461A (ja) * 1990-12-27 1992-08-18 Sony Corp 光ディスクのソフトウェア制作システム
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5262964A (en) * 1991-04-10 1993-11-16 International Business Machines Corporation Method and apparatus for variable playback speed of multimedia data interchange within a data processing system
US5715224A (en) * 1991-07-05 1998-02-03 Sony Corporation Recording medium with synthesis method default value and reproducing device
JPH05217294A (ja) * 1992-02-03 1993-08-27 Pioneer Video Corp ディスク演奏装置
JPH05250809A (ja) * 1992-03-03 1993-09-28 Pioneer Video Corp 記録媒体及びその記録情報再生システム
DE69320620T2 (de) * 1992-09-22 1999-01-14 Sony Corp., Tokio/Tokyo Vorrichtung und verfahren zur verarbeitung von digitalen videosignalen
WO1994014277A1 (en) * 1992-12-15 1994-06-23 Viacom International Inc. Synchronizing the digital video and audio signals
US5493339A (en) * 1993-01-21 1996-02-20 Scientific-Atlanta, Inc. System and method for transmitting a plurality of digital services including compressed imaging services and associated ancillary data services
EP0790743B1 (en) * 1993-09-16 1998-10-28 Kabushiki Kaisha Toshiba Apparatus for synchronizing compressed video and audio signals
KR100188294B1 (ko) * 1993-10-29 1999-06-01 니시무로 타이죠 멀티 신 기록매체 및 재생장치 및 그 방법
US5652824A (en) * 1993-10-29 1997-07-29 Tokyo Shibaura Electric Co Multilingual recording medium and reproducing apparatus with automatic selection of substitutes and languages based on frequency of selections

Also Published As

Publication number Publication date
AU673783B2 (en) 1996-11-21
US5619424A (en) 1997-04-08
GR3034448T3 (en) 2000-12-29
ES2181349T3 (es) 2003-02-16
DE69425068D1 (de) 2000-08-03
JP2000125264A (ja) 2000-04-28
DE69425068T2 (de) 2001-03-08
DK0969472T3 (da) 2002-10-28
EP0969472A1 (en) 2000-01-05
HK1024974A1 (en) 2000-10-27
DK0727074T3 (da) 2000-11-06
JPH08511124A (ja) 1996-11-19
ES2149892T3 (es) 2000-11-16
EP0727074A4 (en) 1998-10-07
CA2174225C (en) 2000-02-15
PT969472E (pt) 2002-11-29
ATE221247T1 (de) 2002-08-15
DE727074T1 (de) 1998-01-02
DE69431080D1 (de) 2002-08-29
EP0727074A1 (en) 1996-08-21
US5463565A (en) 1995-10-31
ATE221245T1 (de) 2002-08-15
PT969464E (pt) 2002-11-29
ATE194240T1 (de) 2000-07-15
DK0969464T3 (da) 2002-10-28
KR960706135A (ko) 1996-11-08
EP0969464A1 (en) 2000-01-05
ES2181350T3 (es) 2003-02-16
AU8080894A (en) 1995-05-22
EP0727074B1 (en) 2000-06-28
KR100231632B1 (ko) 1999-11-15
DE69431080T2 (de) 2003-03-06
HK1024975A1 (en) 2000-10-27
CA2174225A1 (en) 1995-05-04
WO1995012179A1 (en) 1995-05-04
DE69431081D1 (de) 2002-08-29
JP3272364B2 (ja) 2002-04-08
EP0969472B1 (en) 2002-07-24
DE69431081T2 (de) 2003-03-06
EP0969464B1 (en) 2002-07-24

Similar Documents

Publication Publication Date Title
PT727074E (pt) Formato de bloco de dados para portador de software e respectivo aparelho
PT726013E (pt) Sistema e metodo para controlar o tocar de multiplas versoes do mesmo filme armazenadas em disco optico
PT728358E (pt) Sistema e metodo para a autenticacao de portadores de software
PT726012E (pt) Sistema e metodo para controlar a execucao de multiplas faixas de audio de um portador de software
PT726016E (pt) Sistema e metodo para as editoras de software em discos controlarem a distribuicao dos discos
PT971536E (pt) Portador/gravador digital de software e feixe de dados para controlar a apresentacao de subtitulos
PT729621E (pt) Sistema e metodo para controlar a execucao de multiplas faixas de audio de um portador de software
US7043145B2 (en) Method of distributing multimedia presentations in different formats on optical discs