ES2640192T3 - Procesamiento de datos - Google Patents
Procesamiento de datos Download PDFInfo
- Publication number
- ES2640192T3 ES2640192T3 ES07021089.3T ES07021089T ES2640192T3 ES 2640192 T3 ES2640192 T3 ES 2640192T3 ES 07021089 T ES07021089 T ES 07021089T ES 2640192 T3 ES2640192 T3 ES 2640192T3
- Authority
- ES
- Spain
- Prior art keywords
- audio
- data
- game
- files
- track
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title description 16
- 230000005236 sound signal Effects 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 description 17
- 230000008451 emotion Effects 0.000 description 16
- 238000000034 method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000007667 floating Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 4
- DNIAPMSPPWPWGF-UHFFFAOYSA-N Propylene glycol Chemical compound CC(O)CO DNIAPMSPPWPWGF-UHFFFAOYSA-N 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 239000004400 Neutral Methacrylate Copolymer Substances 0.000 description 2
- 239000004349 Polyvinylpyrrolidone-vinyl acetate copolymer Substances 0.000 description 2
- 239000004373 Pullulan Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000001259 polydextrose Substances 0.000 description 2
- 239000001253 polyvinylpolypyrrolidone Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 102100024170 Cyclin-C Human genes 0.000 description 1
- 101000980770 Homo sapiens Cyclin-C Proteins 0.000 description 1
- 102100032884 Neutral amino acid transporter A Human genes 0.000 description 1
- 101710160582 Neutral amino acid transporter A Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004002 angle-resolved photoelectron spectroscopy Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/814—Musical performances, e.g. by evaluating the player's ability to follow a notation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/95—Storage media specially adapted for storing game information, e.g. video game cartridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8047—Music games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Stored Programmes (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
Un medio de almacenamiento de disco compacto de audio que lleva datos dispuestos como una o más pistas de audio reproducibles como una señal de audio de salida cuando el medio de almacenamiento se inserta en un aparato de reproducción de disco compacto de audio, existiendo un orden de reproducción para los datos dentro de las pisas de audio, los datos comprenden datos de audio que tienen un rango dinámico potencial predeterminado y datos de descripción asociados que comprenden datos de juego y datos de vídeo almacenados como uno o más bits menos significativos de muestras de audio que representan datos de audio simulados de modo que, si las muestras de audio simuladas se reproducen como audio de salida, el audio de salida tiene un rango dinámico más pequeño que dicho rango dinámico potencial predeterminado, el medio de almacenamiento lleva información de la tabla de contenidos que identifica una porción deseada de los datos que se reproducirán como una señal de audio de salida por el aparato de reproducción de disco compacto de audio, la porción identificada no comprende los datos de descripción, las pistas de audio comprenden datos de audio y al menos una de las pistas de audio además comprende los datos de descripción que preceden, en el orden de reproducción para dicha pista de audio, a los datos de audio de dicha pista de audio, la información de la tabla de contenidos identifica una posición de desplazamiento deseada en el orden de reproducción para dicha pista de audio en la cual comenzará la reproducción de dicha pista de audio por el aparato de reproducción de disco compacto de audio, la posición deseada es una posición posterior a los datos de descripción de dicha pista de audio.
Description
5
10
15
20
25
30
35
40
45
DESCRIPCION
Procesamiento de datos.
La presente invencion se refiere al procesamiento de datos.
A modo de ejemplo del procesamiento de datos, los juegos electronicos son conocidos y se pueden proveer en una variedad de medios de distribucion como, por ejemplo, discos magneticos y/u opticos. Los ordenadores generales o consolas de juego mas dedicadas se pueden usar para jugar dichos juegos.
Se conoce que los juegos hacen uso de archivos de audio y/o video que se almacenan en el medio de distribucion. Por ejemplo, los juegos de karaoke como, por ejemplo, el juego Sony SingStar, son conocidos, en los cuales un jugador canta en un microfono conectado al ordenador o consola de juegos. El ordenador o la consola de juegos pueden mostrar video y/o interpretar una pista de audio, la intencion siendo que el jugador cante. Las letras y/o notas se pueden mostrar al jugador de modo que el jugador sabe que cantar y en que tono.
Solo un numero limitado de archivos de audioMdeo se puede almacenar en el medio de distribucion. Como tal, el jugador solo tiene un numero limitado de pistas para seleccionar cuando se juega el juego.
Se conoce que un juego de la tecnica anterior permite (i) insertar un CD de musica "general" (no relacionado con el juego) en el ordenador o consola de juegos y (ii) al jugador seleccionar una pista de dicho CD de musica general como el archivo de audio que se reproducira.
Se conoce que otro juego de la tecnica anterior permite a un jugador insertar un "disco de expansion" en el ordenador o consola de juegos, siendo el disco de expansion un medio que simplemente actua como un medio de almacenamiento de datos de audioMdeo.
Se conoce el lanzamiento de diferentes versiones de un juego. Dichas versiones diferentes tienen, con frecuencia, varias mejoras como, por ejemplo, una nueva funcionalidad del juego. Ademas, las diferentes versiones pueden tener diferentes archivos de audioMdeo almacenados en ellos, por ejemplo para persuadir a un usuario que compre el juego. Sin embargo, cuando juega una version de un juego, si el jugador desea reproducir una pista de otra version de dicho juego, es necesario salir de la version actual del juego y cargar la otra version del juego en el ordenador o consola de juegos. Ello, con frecuencia, consume tiempo y quita merito al placer del juego.
Las disposiciones previamente propuestas se describen en el documento EP-a-1 238 689, NONHOFF-ARPS P: "DAUER-BERIESLELUNG MP3-SPIELER FUER UNTERWEGS MIT FESTPLATTENSPEICHER SATT CT MAGAZIN FUER DE, no. 1, 31 de diciembre de 2001 (), paginas 52-54,56/57, y FURINI M Y OTROS: "Audio-text synchronization inside mp3 files: a new approach and its implementation" CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE, 2004. CCNC 2004. PRIMER IEEE LAS VEGAS, NV, EE.UU. 5-8 ENE. 2004, PISCATAWAY, NJ, EE.UU., IEEE, 5 de enero de 2004 (), paginas 522-526.
La presente invencion provee un medio de almacenamiento segun la reivindicacion 1.
Varios aspectos y caractensticas respectivas adicionales de la invencion se definen en las reivindicaciones anexas.
A continuacion se describiran las realizaciones de la invencion, unicamente a modo de ejemplo, con referencia a los dibujos anexos, en los cuales:
la Figura 1 ilustra, de forma esquematica, la arquitectura general del sistema de la PlayStation2;
la Figura 2 ilustra, de forma esquematica, la arquitectura del Emotion Engine;
la Figura 3 ilustra, de forma esquematica, la configuracion de un Sintetizador Grafico;
la Figura 4 ilustra, de forma esquematica, un metodo de carrusel para seleccionar un archivo de audioMdeo;
la Figura 5 ilustra, de forma esquematica, un medio de distribucion;
la Figura 6 es un diagrama de flujo esquematico que ilustra las etapas implicadas en la seleccion de un archivo de audioMdeo;
la Figura 7 ilustra, de forma esquematica, archivos de descripcion;
la Figura 8 ilustra, de forma esquematica, dos medios de distribucion;
la Figura 9 es un diagrama de flujo esquematico que ilustra el uso de modulos de software; y
la Figura 10 ilustra, de forma esquematica, el almacenamiento de archivos en un medio de distribucion segun una realizacion de la invencion.
5
10
15
20
25
30
35
40
45
50
55
La Figura 1 ilustra, de forma esquematica, la arquitectura general del sistema de la PlayStation2. Se provee una unidad de sistema 10, con varios dispositivos perifericos conectables a la unidad de sistema.
La unidad de sistema 10 comprende: un Emotion Engine 100; un Sintetizador Grafico 200; una unidad de procesador de sonido 300 que tiene una memoria dinamica de acceso aleatorio (DRAM, por sus siglas en ingles); una memoria de solo lectura (ROM, por sus siglas en ingles) 400; un lector de disco compacto (CD, por sus siglas en ingles) y de disco versatil digital (DVD, por sus siglas en ingles) 450; una unidad de Memoria Dinamica de Acceso Aleatorio para tecnologfa Rambus (RDRAM, por sus siglas en ingles) 500; un procesador de entrada/salida (IOP, por sus siglas en ingles) 700 con RAM dedicada 750. Se puede conectar una unidad de disco duro externa (HDD, por sus siglas en ingles) 390 (opcional).
El procesador de entrada/salida 700 tiene dos puertos de Bus de Serie Universal (USB, por sus siglas en ingles) 715 y un iLink o puerto IEEE 1394 (iLink es la implementacion de Sony Corporation del estandar IEEE 1394). El IOP 700 maneja todo el trafico de datos del controlador de juegos, USB e iLink. Por ejemplo, cuando un usuario esta jugando un juego, el IOP 700 recibe datos del controlador de juegos y los dirige al Emotion Engine 100 que actualiza, por consiguiente, el estado actual del juego. El IOP 700 tiene una arquitectura de Acceso Directo a Memoria (DMA, por sus siglas en ingles) para facilitar las rapidas tasas de transferencia de datos. DMA implica la transferencia de datos de la memoria principal a un dispositivo sin pasarlos a traves de la CPU. La interfaz USB es compatible con la Interfaz de Controlador Host Abierto (OHCI, por sus siglas en ingles) y puede manejar tasas de transferencia de datos de entre 1,5 Mbps y 12 Mbps. La provision de dichas interfaces significa que la PlayStation2 es potencialmente compatible con dispositivos perifericos como, por ejemplo, videograbadores (VCR, por sus siglas en ingles), camaras digitales, microfonos, descodificadores, impresoras, teclado, raton y joystick.
En general, para que ocurra una comunicacion exitosa de datos con un dispositivo periferico conectado a un puerto USB 715, se debe proveer una pieza de software apropiada como, por ejemplo, un controlador de dispositivos. La tecnologfa del controlador de dispositivos es muy conocida y no se describira en detalle aqrn, excepto para decir que una persona con experiencia sera consciente de que un controlador de dispositivos o interfaz de software similar se puede requerir en la realizacion descrita en la presente memoria.
En la presente realizacion, un microfono USB 730 se conecta al puerto USB. Se apreciara que el microfono USB 730 puede ser un microfono portatil o puede formar parte de auriculares que usa el operador humano. La ventaja de usar auriculares es que las manos del operador humano estan libres para llevar a cabo otras acciones. El microfono incluye un convertidor analogico-digital (ADC, por sus siglas en ingles) y una disposicion basica de compresion y codificacion de datos en tiempo real basada en hardware, de modo que los datos de audio se transmiten por el microfono 730 al puerto USB 715 en un formato apropiado como, por ejemplo, un PCM mono de 16 bits (un formato no comprimido) para la descodificacion en la unidad de sistema 10 de la PlayStation2.
Aparte de los puertos USB, otros dos puertos 705, 710 son zocalos patentados que permiten la conexion de una tarjeta de memoria 720 RAM permanente patentada para almacenar informacion relacionada con el juego, un controlador de juegos portatil 725 o un dispositivo (no se muestra) similar a un controlador portatil como, por ejemplo, una alfombra de baile.
La unidad de sistema 10 se puede conectar a un adaptador de red 805 que provee una interfaz (como, por ejemplo, una interfaz de Ethernet) a una red. La presente red puede ser, por ejemplo, LAN, WAN o Internet. La red puede ser una red general o una que es dedicada para la comunicacion relacionada con el juego. El adaptador de red 805 permite que los datos se transmitan y reciban desde otras unidades de sistema 10 que se conectan a la misma red (las otras unidades de sistema 10 tambien tiene adaptadores de red 805 correspondientes).
El Emotion Engine 100 es una Unidad de Procesamiento Central (CPU, por sus siglas en ingles) de 128 bits que se ha disenado espedficamente para la simulacion eficiente de graficos tridimensionales (3D) para aplicaciones de juegos. Los componentes del Emotion Engine incluyen un bus de datos, memoria cache y registradores, todos los cuales son de 128 bits. Ello facilita el rapido procesamiento de grandes volumenes de datos multimedia. Los PC convencionales, a modo de comparacion, tienen una estructura de datos basica de 64 bits. El rendimiento de calculo de coma flotante de la PlayStation2 es de 6,2 GFLOP. El Emotion Engine tambien comprende circuitos de descodificador MPEG2 que permiten el procesamiento simultaneo de datos graficos 3D y datos DVD. El Emotion Engine lleva a cabo calculos geometricos que incluyen transformaciones y conversiones matematicas y tambien lleva a cabo calculos asociados a la ffsica de objetos de simulacion, por ejemplo, el calculo de la friccion entre dos objetos. Ello produce secuencias de comandos de renderizacion de imagenes que se utilizan, posteriormente, por el Sintetizador Grafico 200. Los comandos de renderizacion de imagenes se producen en la forma de listas de visualizacion. Una lista de visualizacion es una secuencia de comandos de dibujos que especifica al Sintetizador Grafico que objetos graficos primitivos (p.ej. puntos, lmeas, triangulos, formas graficas moviles) dibujar en la pantalla y en que coordenadas. Por consiguiente, una lista de visualizacion tfpica comprendera comandos para dibujar vertices, comandos para sombrear las caras de polfgonos, renderizar mapas de bit y asf sucesivamente. El Emotion Engine 100 puede generar, de forma asincronica, multiples listas de visualizacion.
5
10
15
20
25
30
35
40
45
50
55
El Sintetizador Grafico 200 es un acelerador de video que lleva a cabo la renderizacion de las listas de visualizacion producidas por el Emotion Engine 100. El Sintetizador Grafico 200 incluye una unidad de interfaz grafica (GIF, por sus siglas en ingles) que maneja, rastrea y administra las multiples listas de visualizacion. La funcion de renderizacion del Sintetizador Grafico 200 puede generar datos de imagenes que admiten varios formatos de imagen de salida estandares alternativos, a saber, NTSC/PAL, TV Digital de Alta Definicion y VESA. En general, la capacidad de renderizacion de sistemas graficos se define por el ancho de banda de memoria entre un motor de pfxeles y una memoria de video, cada uno de los cuales se ubica dentro del procesador grafico. Los sistemas graficos convencionales usan Memoria externa de Acceso Aleatorio de Video (VRAM, por sus siglas en ingles) conectada a la logica de pixel mediante un bus externo que tiende a limitar el ancho de banda disponible. Sin embargo, el Sintetizador Grafico 200 de la PlayStation2 provee la logica de pixel y la memoria de video en un solo chip de alto rendimiento que permite un ancho de banda de acceso a memoria comparativamente grande de 38,4 Gigabytes por segundo. El Sintetizador Grafico puede, en teona, alcanzar una capacidad pico de dibujo de 75 millones de polfgonos por segundo. Incluso con un rango total de efectos como, por ejemplo, texturas, iluminacion y transparencia, una tasa sostenida de 20 millones de polfgonos por segundo se puede dibujar de forma continua. Por consiguiente, el Sintetizador Grafico 200 puede renderizar una imagen con calidad de pelfcula.
La Unidad de Procesador de Sonido (SPU, por sus siglas en ingles) 300 es, de manera efectiva, la tarjeta de sonido del sistema que puede reconocer sonido digital 3D como, por ejemplo, sonido Ambiente de Cine en Casa Digital (DTS(R), por sus siglas en ingles) y AC-3 (tambien conocido como Dolby Digital) que es el formato de sonido usado para DVD.
Un dispositivo de visualizacion y salida de sonido 305 como, por ejemplo, un monitor de video o aparato de television con una disposicion de altavoz asociado 310 se conecta para recibir senales de video y audio del sintetizador grafico 200 y de la unidad de procesamiento de sonido 300.
La memoria principal que admite el Emotion Engine 100 es el modulo RDRAM (Memoria Dinamica de Acceso Aleatorio para tecnologfa Rambus) 500 producido por Rambus Incorporated. Dicho subsistema de memoria RDRAM comprende RAM, un controlador RAM y un bus que conecta la RAM al Emotion Engine 100.
La Figura 2 ilustra, de forma esquematica, la arquitectura del Emotion Engine 100 de la Figura 1. El Emotion Engine 100 comprende: una unidad de coma flotante (FPU, por sus siglas en ingles) 104; un nucleo de la unidad de procesamiento central (CPU) 102; unidad de vector cero (VU0) 106; unidad de vector uno (VU1) 108; una unidad de interfaz grafica (GIF) 110; un controlador de interrupciones (INTC) 112; una unidad de temporizador 114; un controlador directo de acceso a memoria 116; una unidad de procesador de datos de imagenes (IPU, por sus siglas en ingles) 118; un controlador de memoria dinamica de acceso aleatorio (DRAMC, por sus siglas en ingles) 120; una interfaz de sub-bus (SIF, por sus siglas en ingles) 122; y todos dichos componentes se conectan mediante un bus principal 124 de 128 bits.
El nucleo de la CPU 102 es un procesador de 128 bits cronometrado en 300 MHz. El nucleo de la CPU tiene acceso a 32 MB de memoria principal mediante el DRAMC 120. El conjunto de instrucciones del nucleo de la CPU 102 se basa en MIPS III RISC con algunas instrucciones MIPS IV RISC junto con instrucciones multimedia adicionales. MIPS III y IV son arquitecturas de conjuntos de instrucciones de Ordenador con Conjunto de Instrucciones Reducidas (RISC, por sus siglas en ingles) patentadas por MIPS Technologies, Inc. Las instrucciones estandares son superescalar bidireccional de 64 bits, lo cual significa que dos instrucciones se pueden ejecutar de manera simultanea. Las instrucciones multimedia, por otro lado, usan instrucciones de 128 bits mediante dos tubenas. El nucleo de la CPU 102 comprende un cache de instrucciones de 16KB, un cache de datos de 8KB y una RAM asociada de 16 KB que es una porcion del cache reservado para uso privado directo por la CPU.
La FPU 104 sirve como un primer coprocesador para el nucleo de la CPU 102. La unidad de vector 106 actua como un segundo coprocesador. La FPU 104 comprende una unidad logica aritmetica de suma de producto de coma flotante (FMAC) y un calculador de division de coma flotante (FDIV). Tanto FMAC como FDIV funcionan en valores de 32 bits de modo que cuando una funcion se lleva a cabo en un valor de 128 bits (compuesto de cuatro valores de 32 bits), una funcion se puede llevar a cabo en las cuatro partes de manera simultanea. Por ejemplo, anadir 2 vectores juntos se puede llevar a cabo al mismo tiempo.
Las unidades de vector 106 y 108 llevan a cabo funciones matematicas y son, basicamente, FPU especializadas que son extremadamente rapidas para evaluar la multiplicacion y suma de ecuaciones de vector. Ellas usan Calculadores Multiplicar-Sumador de Coma Flotante (FMAC, por sus siglas en ingles) para funciones de suma y multiplicacion y Divisores de Coma Flotante (FDIV, por sus siglas en ingles) para funciones de division y rafz cuadrada. Tienen memoria incorporada para almacenar microprogramas e interactuar con el resto del sistema mediante Unidades de Interfaz de Vector (VIF, por sus siglas en ingles). La unidad de vector cero 106 puede funcionar como un coprocesador para el nucleo de la CPU 102 mediante un bus de 128 bits dedicado de modo que es, basicamente, una segunda FPU especializada. La unidad de vector uno 108, por otro lado, tiene un bus dedicado para el Sintetizador Grafico 200 y, por consiguiente, se puede considerar como un procesador completamente separado. La inclusion de dos unidades de vector permite al desarrollador de software dividir el
5
10
15
20
25
30
35
40
45
50
55
trabajo en diferentes partes de la CPU y las unidades de vector se pueden usar en una conexion en serie o paralela.
La unidad de vector cero 106 comprende 4 FMAC y 1 FDIV. Se conecta al nucleo de la CPU 102 mediante una conexion de coprocesador. Tiene 4 Kb de memoria de unidad de vector para datos y 4 Kb de micromemoria para instrucciones. La unidad de vector cero 106 es util para llevar a cabo calculos de ffsica asociados a las imagenes para la visualizacion. Principalmente, ejecuta un procesamiento geometrico sin pautas junto con el nucleo de la CPU 102.
La unidad de vector uno 108 comprende 5 FMAC y 2 FDIV. No tiene un trayecto directo al nucleo de la CPU 102, aunque sf tiene un trayecto directo a la unidad GIF 110. Tiene 16 Kb de memoria de unidad de vector para datos y 16 Kb de micromemoria para instrucciones. La unidad de vector uno 108 es util para llevar a cabo transformaciones. Principalmente, ejecuta un procesamiento geometrico con pautas y produce, de manera directa, una lista de visualizacion generada para la GlF 110.
La GIF 110 es una unidad de interfaz para el Sintetizador Grafico 200. Convierte datos segun una especificacion de etiqueta al comienzo de un paquete de lista de visualizacion y transfiere comandos de dibujo al Sintetizador Grafico 200 mientras arbitra, de forma mutua, la transferencia multiple. El controlador de interrupciones (INTC) 112 sirve para arbitrar interrupciones desde dispositivos perifericos, excepto por el DMAC 116.
La unidad de temporizador 114 comprende cuatro temporizadores independientes con contadores de 16 bits. Los temporizadores son accionados por el reloj de bus (en intervalos de 1/16 o 1/256) o mediante un reloj externo. El DMAC 116 maneja transferencias de datos entre la memoria principal y procesadores perifericos o la memoria principal y la memoria temporal. Arbitra el bus principal 124 al mismo tiempo. La optimizacion del rendimiento del DMAC 116 es una manera clave a traves de la cual mejorar el rendimiento de Emotion Engine. La unidad de procesamiento de imagenes (IPU) 118 es un procesador de datos de imagenes que se usa para expandir animaciones e imagenes de textura comprimidas. Lleva a cabo la descodificacion del macrobloque I-PICTURE, la conversion de espacios de color y la cuantificacion de vectores. Finalmente, la interfaz de sub-bus (SIF) 122 es una unidad de interfaz para el IOP 700. Tiene su propia memoria y bus para controlar dispositivos E/S como, por ejemplo, chips de sonido y dispositivos de almacenamiento.
La Figura 3 ilustra, de forma esquematica, la configuracion del Sintetizador Grafico 200. El Sintetizador Grafico comprende: una interfaz host 202; una unidad de configuracion / rasterizacion; una tubena de pfxeles 206; una interfaz de memoria 208; una memoria local 212 que incluye una memoria intermedia de pagina de trama 214 y una memoria intermedia de pagina de textura 216; y un convertidor de video 210.
La interfaz host 202 transfiere datos con el host (en el presente caso, el nucleo de la CPU 102 de Emotion Engine 100). Tanto los datos de dibujo como los datos de la memoria intermedia del host atraviesan dicha interfaz. La salida desde la interfaz host 202 se provee al Sintetizador Grafico 200 que desarrolla los graficos para dibujar pfxeles segun la informacion de vertice recibida del Emotion Engine 100 y calcula la informacion como, por ejemplo, valor RGBA, valor de profundidad (a saber, valor Z), valor de textura y valor de niebla para cada pixel. El valor RGBA especifica los componentes de color rojo, verde, azul (RGB, por sus siglas en ingles) y el componente A (Alfa) representa la opacidad de un objeto de imagen. El valor Alfa puede ir de completamente transparente a totalmente opaco. Los datos de pixel se proveen a la tubena de pfxeles 206 que lleva a cabo procesos como, por ejemplo, mapeo de textura, niebla y mezclado Alfa y determina el color final del dibujo segun la informacion de pixel calculada.
La tubena de pfxeles 206 comprende 16 motores de pfxeles PE1, PE2,..., PE 16 de modo que puede procesar un maximo de 16 pfxeles de manera simultanea. La tubena de pfxeles 206 se ejecuta a 150MHz con un color de 32 bits y un buffer de profundidad de 32 bits. La interfaz de memoria 208 lee datos de y escribe datos para la memoria local 212 del Sintetizador Grafico. Escribe los valores de pixel de dibujo (RGBA y Z) para la memoria al final de una funcion de pixel y lee los valores de pixel de la memoria intermedia de trama 214 desde la memoria. Dichos valores de pixel lefdos desde la memoria intermedia de trama 214 se usan para la prueba de pfxeles o mezclado Alfa. La interfaz de memoria 208 tambien lee de la memoria local 212 los valores RGBA para los contenidos actuales de la memoria intermedia de trama. La memoria local 212 es una memoria de 32 Mbits (4MB) que se incorpora al Sintetizador Grafico 200. Se puede organizar como una memoria intermedia de trama 214, memoria intermedia de textura 216 y un buffer de profundidad de 32 bits 215. La memoria intermedia de trama 214 es la porcion de la memoria de video donde se almacenan los datos de pixel como, por ejemplo, la informacion de color.
El Sintetizador Grafico usa un proceso de mapeo de textura 2D a 3D para anadir detalle visual a la geometna 3D. Cada textura puede envolverse alrededor de un objeto de imagen 3D y se estira e inclina para dar un efecto grafico 3D. La memoria intermedia de textura se usa para almacenar la informacion de textura para objetos de imagen. El buffer de profundidad 215 es la memoria disponible para almacenar la informacion de profundidad para un pixel. Las imagenes se construyen a partir de bloques de construccion basicos conocidos como primitivos graficos o polfgonos. Cuando un polfgono se renderiza con el buffer de profundidad, el valor de profundidad de cada uno de sus pfxeles se compara con el valor correspondiente almacenado en el buffer de profundidad.
5
10
15
20
25
30
35
40
45
50
55
Si el valor almacenado en el buffer de profundidad es mayor que o igual a la profundidad del nuevo valor de pixel entonces dicho pixel se determina como visible de modo que se debe renderizar y el buffer de profundidad se actualizara con la nueva profundidad de pixel. Sin embargo, si el valor de profundidad del buffer de profundidad es menor que el nuevo valor de profundidad de pixel, el nuevo valor de pixel se encuentra detras de lo que ya se ha dibujado y no se renderizara.
La memoria local 212 tiene un puerto de lectura de 1024 bits y un puerto de escritura de 1024 bits para acceder a la memoria intermedia de trama y al buffer de profundidad y un puerto de 512 bits para la lectura de textura. El convertidor de video 210 es utilizable para mostrar los contenidos de la memoria de trama en un formato de salida especificado.
La Figura 4 ilustra, de forma esquematica, un metodo de carrusel para seleccionar un archivo de audioMdeo para que se reproduzca durante el asf llamado juego de karaoke. En la presente realizacion, el juego de karaoke se juega en una consola de juegos PlayStation2, aunque se apreciara que diferentes realizaciones pueden hacer uso de diferentes consolas de juego (que pueden ser ordenadores generales o maquinas de juegos mas dedicadas). Asimismo, se apreciara que las realizaciones no se encuentran limitadas a dichos juegos de karaoke, sino que tambien incluyen cualquier otro sistema en el que se pueda seleccionar un archivo de audioMdeo. Ademas, se apreciara que las realizaciones no se encuentran limitadas a archivos de audioMdeo, sino que otros archivos de datos se pueden mostrar para la seleccion por un usuario.
En el presente ejemplo que se muestra en la Figura 4, un numero (por ejemplo, 30) de iconos de pistas de audioMdeo se muestran en una disposicion de carrusel 1000 en el dispositivo de salida de visualizacion 305, con un icono de pista de audioMdeo actualmente seleccionado 1010 que se muestra mas cercano al jugador. Otros iconos de pista de audioMdeo 1020, 1030, 1040, 1050, etc., se muestran como si formaran parte de un gran carrusel circular. El jugador puede interactuar con la consola de juegos mediante un dispositivo de entrada como, por ejemplo, el controlador de juegos portatil 725, para rotar el carrusel, de modo que se selecciona el proximo icono de pista de audioMdeo. La seleccion puede ser en direccion hacia adelante o hacia atras. Por ejemplo, si el jugador presiona una tecla "izquierda" en el controlador de juegos portatil 725, el carrusel se puede mover hacia la izquierda de modo que el icono de pista de audioMdeo 1040 se convierte en el icono de pista de audioMdeo actualmente seleccionado.
Una vez que el jugador ha encontrado la pista de audioMdeo que desea usar, informa a la consola de juegos sobre dicho hecho, por ejemplo, eliminando la presion sobre un boton en el controlador de juegos portatil 725, y una pista de audioMdeo correspondiente al icono de pista de audioMdeo actualmente seleccionado se reproduce por la consola de juegos.
La Figura 5 ilustra, de forma esquematica, un medio de distribucion 1100 y los datos almacenados en el medio de distribucion 1100. En el presente ejemplo, el medio de distribucion 1100 es un DVD, aunque se apreciara que otras realizaciones pueden hacer uso de cualquier otra forma de medio de distribucion que sea compatible con la consola de juegos.
El medio de distribucion 1100 almacena software de aplicacion 1110 para el juego. Normalmente, el software de aplicacion 1110 comprende uno o mas archivos de software (como, por ejemplo, archivos ejecutables, bibliotecas de enlace dinamico (DLL, por sus siglas en ingles), etc.). Ademas, el software de aplicacion 1110 puede comprender uno o mas archivos de datos diferentes que pueden, por ejemplo, contener datos de configuracion.
Para el juego de karaoke actual, el medio de distribucion 1100 almacena tambien uno o mas archivos de audio 1120. Cada archivo de audio 1120 comprende datos de audio relacionados con una cancion que el jugador del juego de karaoke cantara. Para cada archivo de audio 1120, el medio de distribucion 1100 tambien almacena un archivo de video 1130 correspondiente y un archivo de descripcion 1140 correspondiente. Cada archivo de video 1130 comprende datos de video relacionados con una secuencia de video que se visualizara mientras se reproduce el archivo de audio 1120 correspondiente. Los archivos de descripcion 1140 se describiran en mayor detalle mas adelante.
En la Figura 5, hay m archivos de audio 1120, m archivos de video 1130 y m archivos de descripcion 1140. Se apreciara que son posibles otras disposiciones de los archivos de audio 1120, archivos de video 1130 y archivos de descripcion 1140. Por ejemplo: (i) un archivo de audio 1120 y su correspondiente archivo de video 1130 se pueden fusionar en un archivo de audioMdeo multiplexado; (ii) uno de los archivos de video 1130 se puede asociar a mas de uno de los archivos de audio 1120; y/o (iii) los archivos de descripcion 1140 se pueden fusionar en un archivo de descripcion unificado.
Se puede hacer referencia, de forma conjunta, a un archivo de audio 1120 y su correspondiente archivo de video 1130 como un archivo de audioMdeo 1150 (ya sea que el archivo de audio 1120 y el archivo de video 1130 se almacenen como archivos separados en el medio de distribucion 1100 o como un solo archivo multiplexado).
5
10
15
20
25
30
35
40
45
50
55
Diferentes versiones del juego de karaoke pueden comprender diferentes grupos de archivos de audioMdeo 1150 (y, por consiguiente, diferentes archivos de descripcion 1140). Segun la presente realizacion, cuando el jugador esta jugando una primera version del juego, entonces dicho jugador no tiene que reconfigurar la consola de juegos y cargar una segunda version del juego si el jugador desea jugar el juego usando un archivo de audioMdeo 1150 que no forma parte de la primera version del juego pero que forma parte de la segunda version del juego.
La Figura 6 es un diagrama de flujo esquematico que ilustra las etapas implicadas en seleccionar un archivo de audioMdeo 1150 cuando juega el juego de karaoke.
En una etapa E1200, la consola de juegos se inicia con la version de la aplicacion de software del juego 1110 que se almacena en el medio de distribucion 1100 que se carga, actualmente, en la consola de juegos. Para la presente realizacion, esta es la unica vez que la consola de juegos necesita iniciarse con la aplicacion de software 1110 mientras se juega el juego.
En una etapa E1202, el jugador controla el juego (por ejemplo, usando el controlador de juegos portatil 725) para entrar en un modo de seleccion a traves del cual se visualiza la disposicion de carrusel 1000 que se muestra en la Figura 4. Ello puede constituir una oportunidad apropiada para que el usuario expulse el medio de distribucion 1100 actual e inserte otro, segun se describe mas abajo.
En una etapa E1204, el jugador interactua con la disposicion de carrusel 1000 para buscar un archivo de audioMdeo 1150 deseado (usando un metodo segun se describe con referencia a la Figura 4). Si, en una etapa E1206, el jugador puede ubicar el archivo de audioMdeo 1150 deseado (a saber, el archivo de audioMdeo 1150 deseado se almacena en el medio de distribucion 1100 que se carga, actualmente, en la consola de juegos), entonces, en una etapa E1208, el jugador selecciona el archivo de audioMdeo 1150 deseado (usando un metodo segun se describe con referencia a la Figura 4). Luego, en una etapa E1210, la consola de juegos hace uso del archivo de audioMdeo 1150 seleccionado de modo que el jugador puede jugar el juego. Una vez que el jugador ha finalizado su turno, el procesamiento regresa a la etapa E1202.
Si, en la etapa E1206, el jugador no puede ubicar el archivo de audioMdeo 1150 deseado (a saber, el archivo de audioMdeo 1150 deseado no se almacena en el medio de distribucion 1100 que se carga, actualmente, en la consola de juegos), entonces, en una etapa E1212, el jugador puede ordenar a la consola de juegos que expulse el medio de distribucion 1100 que se carga, actualmente, en la consola de juegos. Ello se puede lograr, por ejemplo, eliminando la presion sobre un boton en el controlador de juegos portatil 725. De manera alternativa, el jugador puede eliminar la presion sobre un boton en la consola de juegos.
En una etapa E1214, el jugador inserta un medio de distribucion 1100 diferente en la consola de juegos. Preferiblemente, dicho medio de distribucion 1100 recientemente insertado almacena el archivo de audioMdeo 1150 que el jugador desea.
En una etapa E1216, los archivos de audioMdeo 1150 que se almacenan en el medio de distribucion 1100 recientemente insertado se detectan por la consola de juegos bajo el control del software de aplicacion 1110. La disposicion de carrusel 1000 que se muestra en la Figura 4 se actualiza entonces segun los archivos de audioMdeo 1150 recientemente detectados. El control luego retorna a la etapa E1204 en la cual el jugador busca el archivo de audioMdeo 1150 deseado.
Por lo tanto, segun la presente realizacion, el jugador puede solicitar a la consola de juegos que expulse el medio de distribucion 1100 que se ha usado para iniciar la consola de juegos con la presente (primera) version del juego.
El jugador puede entonces insertar un medio de distribucion 1100 que contiene una (segunda) version diferente del juego en la consola de juegos. Luego, se detectan los archivos de audioMdeo 1150 almacenados en dicho medio de distribucion 1100 recientemente insertado. La disposicion de carrusel 1000 segun se muestra en la Figura 4 para visualizar los archivos de audioMdeo 1150 se actualiza entonces segun los archivos de audioMdeo 1150 recientemente detectados a partir del medio de distribucion 1100 recientemente insertado. Aqm, las referencias a "primera" y "segunda" versiones se refieren al orden en el cual los medios de distribucion se han insertado en la consola de juegos, no al orden de lanzamiento de las versiones.
Se apreciara que los iconos de pista de audioMdeo visualizados en la disposicion de carrusel 1000 en la etapa E1216 pueden simplemente corresponder a los archivos de audioMdeo 1150 del medio de distribucion 1100 recientemente insertado. De manera alternativa, la consola de juegos puede almacenar (en la memoria, por ejemplo) una descripcion de los archivos de audioMdeo 1150 del primer medio de distribucion 1100 (por ejemplo, los iconos de pista de audioMdeo correspondientes que pueden formar parte de los archivos de descripcion 1140 correspondientes), de modo que cuando el segundo medio de distribucion 1100 se encuentra presente en la consola de juegos, la disposicion de carrusel 1000 puede mostrar iconos de pista de audioMdeo correspondientes a los archivos de audioMdeo 1150 desde el primer y segundo medios de distribucion 1100. Si el jugador luego selecciona, en la etapa E1208, un archivo de audioMdeo 1150 que no se almacena en el medio de distribucion 1100 actualmente presente en la consola de juegos, se motiva al jugador (p.ej. mediante un mensaje de pantalla) a que inserte el medio de distribucion 1100 apropiado en la consola de juegos.
5
10
15
20
25
30
35
40
45
50
55
60
La presente realizacion permite, por lo tanto, al jugador tener acceso a los archivos de audioMdeo 1150 desde una version diferente del juego que se juega sin tener que (i) reiniciar la consola de juegos o (ii) abandonar el juego actual y reiniciar el nuevo juego.
Asimismo, se apreciara que el jugador puede tener acceso a mas de dos medios de distribucion 1100, cada uno de los cuales almacena una version diferente del juego, y que el proceso de mas arriba se puede usar para permitir al jugador acceder a cualquiera de los archivos de audioMdeo 1150 almacenados en cualquiera de dichos medios de distribucion 1100.
Se apreciara que el propio software de aplicacion de juego 1110 se puede cargar en la memoria de la consola de juegos de modo que el unico proposito de intercambiar medios de distribucion 1100 es simplemente permitir al jugador acceder a diferentes archivos de audioMdeo 1150 sin tener que reiniciar el juego.
Con el fin de facilitar el juego, es, con frecuencia, necesario tener los asf llamados archivos de descripcion 1140 almacenados en el medio de distribucion 1100 en asociacion con los archivos de audioMdeo 1150 (segun se muestra en la Figura 5). Por ejemplo, dichos archivos de descripcion 1140 pueden contener las letras y/o notas de una cancion y un juego de karaoke muestra dicha informacion para permitir a un jugador cantar una cancion. Un CD de musica general convencional no puede, por lo tanto, usarse para dicho juego de karaoke ya que no esta disenado/fabricado con dichos archivos de descripcion 1140. Asimismo, puede ser que los archivos de audioMdeo esten encriptados o al menos que acceder a ellos este limitado. Un CD convencional o similar no es compatible con dichas restricciones de acceso.
Ademas, los "discos de expansion" que contienen puramente archivos de datos de audioMdeo 1150 (y posiblemente archivos de descripcion 1140) no almacenan el software de aplicacion 1110 del juego real que se usa para iniciar la consola de juegos y controlar el juego. Por consiguiente, en juegos alternativos que hacen uso de dichos discos de expansion, si un jugador desea jugar el juego usando un archivo de audioMdeo 1150 que no se almacena en un medio de distribucion que contiene el software de aplicacion 1110 sino que, en cambio, se almacena solamente en un disco de expansion, entonces dicho jugador requiere tanto el medio de distribucion que contiene el software de aplicacion 1110 como el disco de expansion. Segun la presente realizacion, sin embargo, el archivo de audioMdeo 1150 deseado se almacena en un medio de distribucion 1100 que tambien almacena software de aplicacion 1110 para jugar el juego.
La Figura 10 ilustra, de forma esquematica, una realizacion alternativa de la invencion en la cual los archivos de audio 1120 deseados se almacenan en un CD 1610 de la misma manera en la que se almacenan los datos de audio (pistas) en un CD de musica general convencional. Sin embargo, la primera pista de audio comprende no solo los datos de audio del archivo de audio 1120 correspondiente a dicha primera pista de audio, sino tambien los datos de los archivos de descripcion 1140 y, preferiblemente (pero no necesariamente), los archivos de video 1130 correspondientes a cada uno de los archivos de audio 1120, archivos de video 1130 y archivos de descripcion 1140 que se codifican como datos de audio. (Nuevamente, se apreciara que la disposicion de los archivos de video 1130 y archivos de descripcion 1140 como archivos separados es puramente a modo de ejemplo y dichos archivos pueden, por ejemplo, combinarse en uno o mas archivos diferentes). Los archivos de video 1130 y archivos de descripcion 1140 preceden (en el orden de reproduccion de datos en un CD de musica general convencional) al archivo de audio 1120 dentro de la primera pista de audio.
Se conoce que se usa un valor de desplazamiento para indicar, a un reproductor de CD de musica general convencional, el punto dentro de una pista de audio en el cual comenzara la reproduccion de dicha pista de audio. Ello se puede especificar, por ejemplo, en una tabla de contenidos del CD (no se muestra en la Figura 10). Por lo tanto, segun la presente realizacion, se especifica que un valor de desplazamiento para la primera pista de audio es la posicion 1600 en la cual finalizan los datos para los archivos de video 1130 y archivos de descripcion 1140 y comienza el archivo de audio 1120 para la primera pista de audio (aunque se apreciara que el valor de desplazamiento puede encontrarse en cualquier posicion despues de los archivos de video 1130 y archivos de descripcion 1140). Como tal, cuando el CD 1610 se usa con un reproductor de CD de musica general convencional, la reproduccion de la primera pista de audio comenzara con el correspondiente archivo de audio 1120 y no reproducira (como audio) los archivos de video 1130 y los archivos de descripcion 1140. Por consiguiente, el CD 1610 se puede usar de la misma manera que un CD de musica general convencional en un reproductor de CD de musica general convencional. Sin embargo, el CD 1610 puede usarse tambien como un medio de distribucion para proveer archivos de audio 1120 adicionales (y archivos de video 1130 y archivos de descripcion 1140 asociados) para el juego de karaoke (como se ha descrito mas arriba), el juego disponiendose para detectar el uso de dicho CD 1610 y para identificar la ubicacion de los archivos de audio 1120, archivos de video 1130 y archivos de descripcion 1140.
Es posible que algunos reproductores de CD de musica generales convencionales puedan permitir al usuario reproducir la primera pista de audio desde una posicion que precede al valor de desplazamiento para la primera pista de audio (por ejemplo, si la primera pista de audio se reproduce y el usuario explora hacia atras a traves de la primera pista de audio). Las realizaciones preferidas de la invencion codifican, por lo tanto, los datos para los archivos de video 1130 y los archivos de descripcion 1140 en el CD 1610 de modo que, si se reproducen como audio, el audio de salida es de bajo volumen. Mientras ello aumenta la cantidad de datos requeridos para
5
10
15
20
25
30
35
40
45
50
55
almacenar los archivos de v^deo 1130 y archivos de descripcion 1140 en el CD 1610, ello evita que los altavoces de un usuario se danen si los datos de los archivos de video 1130 y archivos de descripcion 1140 se reproducen como audio. Dicha codificacion de los archivos de video 1130 y archivos de descripcion 1140 se puede lograr, por ejemplo, solamente usando uno o mas de los bits menos significativos (LSB, por sus siglas en ingles) asignados a una muestra de audio para limitar el rango dinamico del audio de salida respecto del posible rango dinamico total alcanzable desde todos los bits asignados a una muestra de audio de los archivos de audio 1120. Se apreciara que el unico o mas de uno de los bits mas significativos (MSB, por sus siglas en ingles) de una muestra de audio que no se usan para codificar los archivos de video 1130 y archivos de descripcion 1140 se pueden usar, en cambio, para otros propositos. Por ejemplo, si los MSB se usan para representar una senal de audio real como, por ejemplo, musica o voz, entonces en la reproduccion de dicha seccion de la pista de audio, dicha musica o voz se reproducira como una senal de audio dominante, debido al uso de los MSB, con una pequena cantidad de ruido resultante de la reproduccion como audio de los archivos de video 1130 y archivos de descripcion 1140 codificados como LSB.
Se apreciara que los archivos de video 1130 y archivos de descripcion 1140 se pueden almacenar dentro de una o mas pistas de audio diferentes de o ademas de la primera pista de audio, con el CD que lleva valores de desplazamiento apropiados para cada una de las pistas de audio que se usan para almacenar los archivos de video 1130 y archivos de descripcion 1140 de modo que un reproductor de CD de musica general convencional no reproducira los archivos de video 1130 y archivos de descripcion 1140 como audio de salida.
Mientras la realizacion ilustrada en la Figura 10 se ha descrito con respecto a los CD, se apreciara que ello aplica igualmente a otros medios de distribucion (como, por ejemplo, Super Audio CD, DVD de musica, etc.). En el presente caso, los archivos de video 1130 y archivos de descripcion 1140 se pueden almacenar como datos de audio en cualquier lugar dentro de una pista de audio (no necesariamente anterior a los archivos de audio 1120 en el orden de reproduccion), con el medio de distribucion que almacena informacion que un aparato de reproduccion puede usar para determinar una porcion de una pista de audio para que se reproduzca como un audio de salida y una porcion de la pista de audio (correspondiente a los archivos de video 1130 y archivos de descripcion 1140) que, aunque se representa como datos de audio, no se reproducira como audio de salida.
Diferentes versiones del juego pueden requerir informacion diferente o adicional sobre los archivos de audioMdeo 1150. Dicha informacion se puede almacenar en los archivos de descripcion 1140. Sin embargo, cuando una version actual de un juego intenta hacer uso de un archivo de audioMdeo 1150 desde un medio de distribucion 1100 para una version anterior del juego, la version anterior puede no tener la informacion necesaria para algunas de las caractensticas de la version actual que se esta jugando. Ello se ilustra, de forma esquematica, en la Figura 7, en la cual un archivo de descripcion 1300 de la version anterior del juego contiene informacion relevante para un archivo de audioMdeo 1150 particular almacenado en un medio de distribucion 1100 para dicha version anterior del juego, mientras un archivo de descripcion 1310 de una version actual (posterior) del juego contiene informacion relevante para un archivo de audioMdeo 1150 diferente que se almacena en un medio de distribucion 1100 para la version actual del juego.
El archivo de descripcion 1310 puede ser de un formato totalmente diferente del archivo de descripcion 1300 debido a caractensticas de la version actual del juego que se han introducido o cambiado desde la version anterior del juego. De manera alternativa, el archivo de descripcion 1310 puede comprender una porcion de datos 1320 (similar en formato al archivo de descripcion 1300) que contiene informacion para caractensticas de la version anterior del juego y una porcion de datos 1330 que contiene informacion para caractensticas de la version actual del juego.
Se apreciara que una variedad de formatos se pueden usar para los archivos de descripcion 1140 (1300 y 1310). Sin embargo, en las realizaciones preferidas, el formato usado es XML.
La Figura 8 ilustra, de forma esquematica, dos medios de distribucion 1100a y 1100b que almacenan software de aplicacion 1110a y 1110b respectivamente, siendo el software de aplicacion 1110a para una version anterior del juego y siendo el software de aplicacion 1100b para una version actual (posterior) del juego. El medio de distribucion 1100a almacena m archivos de audioMdeo 1150a y archivos de descripcion 1140a correspondientes. Los archivos de descripcion 1140a son del formato del archivo de descripcion 1300 de la Figura 7. El medio de distribucion 1100b almacena n archivos de audioMdeo 1150b y archivos de descripcion 1140b correspondientes. Los archivos de descripcion 1140b son del formato del archivo de descripcion 1310 de la Figura 7.
Segun la presente realizacion, el medio de distribucion 1100b tambien almacena archivos de descripcion 1400 adicionales. Estos son m archivos de descripcion 1400 adicionales, uno para cada archivo de audioMdeo 1150a almacenado en el medio de distribucion 1100a. Cada archivo de descripcion 1400 adicional puede ser un archivo de descripcion autonomo, a saber, un archivo de descripcion entero del mismo formato que los archivos de descripcion 1140b. De manera alternativa, los archivos de descripcion 1400 adicionales pueden comprender los datos necesarios de modo que, cuando se combinan con los archivos de descripcion 1140a, forman un archivo de descripcion 1310 como se muestra en la Figura 7 (con el archivo de descripcion 1140a que forma la porcion de datos 1320 y el archivo de descripcion 1400 adicional que forma la porcion de datos 1330).
5
10
15
20
25
30
35
40
45
50
55
Se apreciara que el medio de distribucion 1100b puede almacenar archivos de descripcion 1400 adicionales que corresponden a mas de una version anterior del juego. Se apreciara tambien que los archivos de descripcion 1400 adicionales se pueden almacenar en una disposicion alternativa. Por ejemplo, en lugar de almacenar m archivos de descripcion 1400 adicionales individuales, los archivos de descripcion 1400 adicionales se pueden almacenar como un archivo de descripcion 1400 adicional unificado.
Por lo tanto, segun la presente realizacion, el medio de distribucion 1100 para una version del juego puede almacenar archivos de descripcion 1140 no solo para los archivos de audioMdeo 1150 asociados a dicha version, sino tambien archivos de descripcion 1400 adicionales para archivos de audioMdeo 1150 de versiones anteriores. Cuando una version actual del juego se carga por la consola de juegos, los archivos de descripcion 1140 y 1400 (siendo pequenos en tamano) se pueden cargar en la memoria de la consola de juegos. Cuando se selecciona un archivo de audioMdeo 1150 de una version anterior, la informacion de descripcion actualizada apropiada se puede entonces usar en lugar de la informacion de descripcion almacenada en el medio de distribucion 1100 para dicha version anterior.
En las realizaciones preferidas de la invencion, el medio de distribucion 1100 almacena una tabla de contenidos que puede ser, por ejemplo, un archivo XML. Dicha tabla de contenidos tiene una entrada para la version actual del juego (a saber, la version correspondiente al medio de distribucion 1100) y cero o mas entradas correspondientes a otras versiones del juego. Cada una de las entradas en la tabla de contenidos comprende una identificacion de los datos particulares en el medio de distribucion 1100 que es apropiada para la version correspondiente del juego. Por ejemplo, una entrada en la tabla de contenidos puede identificar: (i) que archivos de audio 1120 y/o archivos de video 1130 son apropiados para la version correspondiente del juego; (ii) que archivos de descripcion 1140 (y/o archivos de descripcion 1400 adicionales) son apropiados para la version correspondiente del juego; y (iii) que partes (1320, 1330) de un archivo de descripcion 1140 (y/o archivo de descripcion 1400 adicional) son apropiadas para la version correspondiente del juego.
Se apreciara que las entradas de la tabla de contenidos pueden contener informacion incremental, a saber, una entrada puede identificar los datos particulares en el medio de distribucion 1100 que son apropiados para la version correspondiente del juego pero que no son apropiados para una version anterior del juego correspondiente a otra entrada de la tabla de contenidos.
La aplicacion de software 1110, siendo consciente de su propia version del juego, usa la tabla de contenidos en el medio de distribucion 1100 para determinar que archivos/datos usar en el medio de distribucion 1100. En las realizaciones preferidas, ello ocurre en la etapa E1200 de la Figura 6 en el inicio del juego. En realizaciones preferidas, ello tambien ocurre en la etapa E1216 de la Figura 6 despues de que un medio de distribucion 1100 de reemplazo se hubiera insertado en la consola de juegos. Sin embargo, en la etapa E1216, la tabla de contenidos del medio de distribucion 1100 recientemente insertado puede no tener una entrada apropiada para la version del juego que actualmente se esta jugando, a saber, que indica que los datos que se almacenan en el medio de distribucion no son apropiados para (no se pueden procesar por) la version del juego que actualmente se esta jugando. Si ello ocurre, la aplicacion de software hace que un mensaje se visualice para el usuario a tal efecto, motivando al usuario a insertar un medio de distribucion 1100 apropiado para la version del juego que actualmente se esta jugando.
Se apreciara que, con el tiempo, el formato de los archivos de audioMdeo 1150 puede cambiar. Ello se puede deber, por ejemplo, a (i) un cambio en el algoritmo de compresion de datos usado para los datos de audio y/o video; (ii) un cambio en la frecuencia de muestreo de los datos de audio o la resolucion espacial de los datos de video y/o (iii) una alteracion en el formato del medio de distribucion (como, por ejemplo, moverse de un DVD de una sola capa a un DVD de doble capa). El resultado de ello es que el software de aplicacion 1110 del juego para una version del juego puede no ser capaz de interpretar los archivos de audioMdeo 1150 almacenados en un medio de distribucion 1100 para una version diferente del juego.
Por lo tanto, la presente realizacion dispone el software de aplicacion 1110 en una forma modular de modo que la funcionalidad para comprender y acceder a los archivos de audioMdeo 1150 (como, por ejemplo, algoritmos de descompresion de datos) se contiene en uno o mas modulos separados. Dichos modulos pueden ser, por ejemplo, DLL, con el medio de distribucion que almacena una DLL de descompresion de datos de audio y una DLL de descompresion de datos de video.
El uso de dicha disposicion modular (y, espedficamente, DLL) para asegurar la compatibilidad entre diferentes versiones del juego se ilustra, de forma esquematica, en el diagrama de flujo de la Figura 9.
En una etapa E1500, la consola de juegos se inicia con la aplicacion de software 1110 que se almacena en el medio de distribucion 1100 para la version A del juego.
En una etapa E1510, el jugador reemplaza el medio de distribucion 1100 para la version A del juego actualmente cargada en la consola de juegos por el medio de distribucion 1100 para una version B del juego diferente. En una etapa E1520, el jugador selecciona un archivo de audioMdeo 1150 que se almacena en el medio de distribucion 1100 actualmente cargado (para la version B del juego). Dichas dos etapas E1510 y E1520 siguen el metodo segun se ilustra en la Figura 6.
5
10
15
20
25
30
En una etapa E1530, la consola de juegos, bajo direccion del software de aplicacion 1110 que se ejecuta por la consola de juegos, determina el formato del archivo de audioMdeo 1150 seleccionado.
Si, en una etapa E1540, se determina que el formato del archivo de audioMdeo 1150 seleccionado se admite por el software de aplicacion 1110 que se ejecuta por la consola de juegos, el procesamiento continua en una etapa E1550 en la cual el juego se juega usando el archivo de audioMdeo 1150 seleccionado.
Sin embargo, si, en la etapa E1540, se determina que el formato del archivo de audioMdeo 1150 seleccionado no se admite por el software de aplicacion 1110 que se ejecuta por la consola de juegos, el procesamiento continua en una etapa E1560 en la cual el software de aplicacion 1110 que se ejecuta hace uso de los modulos (DLL) almacenados en el medio de distribucion 1100 para la version B del juego (en lugar de los que se han cargado en la memoria desde el medio de distribucion 1100 para la version A del juego) de modo que el formato del archivo de audioMdeo 1150 seleccionado se puede admitir. Ello se puede llevar a cabo en cualquiera de las maneras conocidas para cargar y usar software modular como, por ejemplo, DLL.
Ademas, segun la presente realizacion, es posible grabar en un medio de almacenamiento como, por ejemplo, la tarjeta de memoria 720, la entrada de audio de un jugador que esta jugando el juego. Entonces, es posible reproducir el audio grabado. Es usual reproducir dicho audio grabado en conjunto con el correspondiente archivo de audioMdeo 1150 que el jugador estaba cantando. Sin embargo, se apreciara que dicho archivo de audioMdeo 1150 se puede almacenar en un medio de distribucion 1100 que no se carga actualmente en la consola de juegos y que, por lo tanto, no es accesible. Por lo tanto, la presente realizacion almacena informacion en la tarjeta de memoria 720 junto al audio grabado que describe que medio de distribucion 1100 o que version del juego se requiere para el correcto archivo de audioMdeo 1150 que se reproducira en conjunto con el audio grabado del jugador. Dicha informacion puede ser, por ejemplo, un numero de version del juego o datos textuales que describen que medio de distribucion 1100 se requiere. Ello se puede usar como una indicacion visual para el jugador.
En la medida en que se implementen las realizaciones de la invencion descritas mas arriba, al menos en parte, usando un aparato de procesamiento de datos controlado por software, se apreciara que un programa informatico que provee dicho control de software, un medio de almacenamiento por el cual dicho programa informatico se almacena y un medio de transmision por el cual dicho programa informatico se transmite se conciben como aspectos de la presente invencion.
Claims (2)
- REIVINDICACIONES1. Un medio de almacenamiento de disco compacto de audio que lleva datos dispuestos como una o mas pistas de audio reproducibles como una senal de audio de salida cuando el medio de almacenamiento se inserta en5 un aparato de reproduccion de disco compacto de audio, existiendo un orden de reproduccion para los datos dentro de las pisas de audio, los datos comprenden datos de audio que tienen un rango dinamico potencial predeterminado y datos de descripcion asociados que comprenden datos de juego y datos de video almacenados como uno o mas bits menos significativos de muestras de audio que representan datos de audio simulados de modo que, si las muestras de audio simuladas se reproducen como audio de salida, el audio de salida tiene un rango dinamico mas 10 pequeno que dicho rango dinamico potencial predeterminado, el medio de almacenamiento lleva informacion de la tabla de contenidos que identifica una porcion deseada de los datos que se reproduciran como una senal de audio de salida por el aparato de reproduccion de disco compacto de audio, la porcion identificada no comprende los datos de descripcion, las pistas de audio comprenden datos de audio y al menos una de las pistas de audio ademas comprende los datos de descripcion que preceden, en el orden de reproduccion para dicha pista de audio, a los 15 datos de audio de dicha pista de audio, la informacion de la tabla de contenidos identifica una posicion de desplazamiento deseada en el orden de reproduccion para dicha pista de audio en la cual comenzara la reproduccion de dicha pista de audio por el aparato de reproduccion de disco compacto de audio, la posicion deseada es una posicion posterior a los datos de descripcion de dicha pista de audio.
- 2. Un medio de almacenamiento segun la reivindicacion 1, existiendo multiples pistas de audio y un orden de 20 reproduccion para las pistas de audio, solamente la primera pista de audio en el orden de reproduccion para laspistas de audio comprende datos de descripcion.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0420017.6A GB0420017D0 (en) | 2004-09-09 | 2004-09-09 | Data processing |
GB0420017 | 2004-09-09 | ||
GB0516807A GB2418042B (en) | 2004-09-09 | 2005-08-16 | Data processing using removable storage media carrying programs and associated data |
GB0516807 | 2005-08-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2640192T3 true ES2640192T3 (es) | 2017-11-02 |
Family
ID=33186726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES07021089.3T Active ES2640192T3 (es) | 2004-09-09 | 2005-09-08 | Procesamiento de datos |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1889645B1 (es) |
ES (1) | ES2640192T3 (es) |
GB (3) | GB0420017D0 (es) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954954B2 (en) | 2010-04-30 | 2015-02-10 | Blackberry Limited | Method and device for application installation to multiple memory components |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020137565A1 (en) * | 2001-03-09 | 2002-09-26 | Blanco Victor K. | Uniform media portal for a gaming system |
WO2004059509A1 (en) * | 2002-12-16 | 2004-07-15 | Columbia Data Products, Inc. | Initiation sequences for performing protected computer operations |
GB2386782B (en) * | 2002-03-22 | 2005-09-21 | Sony Uk Ltd | Material storage |
-
2004
- 2004-09-09 GB GBGB0420017.6A patent/GB0420017D0/en not_active Ceased
-
2005
- 2005-08-16 GB GB0611496A patent/GB2425867B/en not_active Expired - Fee Related
- 2005-08-16 GB GB0516807A patent/GB2418042B/en not_active Expired - Fee Related
- 2005-09-08 EP EP07021089.3A patent/EP1889645B1/en active Active
- 2005-09-08 ES ES07021089.3T patent/ES2640192T3/es active Active
Also Published As
Publication number | Publication date |
---|---|
GB0611496D0 (en) | 2006-07-19 |
GB0516807D0 (en) | 2005-09-21 |
EP1889645A3 (en) | 2010-01-27 |
GB2418042A (en) | 2006-03-15 |
EP1889645B1 (en) | 2017-07-19 |
GB2425867B (en) | 2007-05-02 |
EP1889645A2 (en) | 2008-02-20 |
GB2425867A (en) | 2006-11-08 |
GB2418042B (en) | 2006-11-29 |
GB0420017D0 (en) | 2004-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6643744B1 (en) | Method and apparatus for pre-fetching audio data | |
JP3306397B2 (ja) | エンタテインメント装置、画像生成方法および記憶媒体 | |
JP2004005567A (ja) | コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ | |
JP2007259888A (ja) | 音声処理装置、音声処理方法、ならびに、プログラム | |
KR100458395B1 (ko) | 오디오 메모리에 데이터를 프리캐싱하는 방법과 장치 | |
JP2006325207A (ja) | 音声処理 | |
US20090305782A1 (en) | Double render processing for handheld video game device | |
JP2011098205A (ja) | タイミング・オフセット許容型カラオケゲーム | |
JP3661167B2 (ja) | リフラクション・マッピングを実行する装置及び方法 | |
US7369665B1 (en) | Method and apparatus for mixing sound signals | |
US11200739B2 (en) | Virtual scene | |
JP5345780B2 (ja) | データ処理 | |
ES2640192T3 (es) | Procesamiento de datos | |
JP5351674B2 (ja) | ゲーム装置、ゲーム制御方法、ならびに、プログラム | |
JP2002304640A (ja) | 3次元画像処理方法、装置、3次元画像処理プログラム及びビデオゲーム装置 | |
JP2001149639A (ja) | 画像処理装置、画像生成方法および記憶媒体 | |
JP4880298B2 (ja) | プログラム、情報記憶媒体、及びデータ再生システム | |
JP4947762B2 (ja) | プログラム、情報記憶媒体およびゲームシステム | |
CN111757165B (zh) | 数据输出方法、数据处理方法、装置及设备 | |
WO2003003299A1 (fr) | Procede et systeme de reproduction/affichage a echelle reelle de donnees images | |
JP2005034499A (ja) | ゲームソフトウエア、及びゲーム装置 | |
JP2005341183A (ja) | 動画再生装置、動画再生方法、動画再生プログラム、および記憶媒体 |