CN1256675C - 在音频存储器中预缓存数据的方法和装置 - Google Patents
在音频存储器中预缓存数据的方法和装置 Download PDFInfo
- Publication number
- CN1256675C CN1256675C CNB011209860A CN01120986A CN1256675C CN 1256675 C CN1256675 C CN 1256675C CN B011209860 A CNB011209860 A CN B011209860A CN 01120986 A CN01120986 A CN 01120986A CN 1256675 C CN1256675 C CN 1256675C
- Authority
- CN
- China
- Prior art keywords
- audio
- memory
- data
- video game
- access
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- 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/16—Sound input; Sound output
-
- 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/60—Methods for processing data by generating or executing the game program
- A63F2300/6063—Methods for processing data by generating or executing the game program for sound processing
Abstract
一种视频游戏系统包括一个音频数字信号处理器、一个主存储器和与主存储器分离并存储由音频数字信号处理器处理的音频相关数据的一个音频存储器。存储器存取电路读取存储在一个海量存储装置上的非音频相关数据,并将非音频相关数据写到音频存储器。非音频相关数据以后从音频存储器被读取并被写到主存储器。
Description
有关的专利申请
本专利申请请求以2000年8月23日提出的60/226,899号临时申请为优先权。
该专利申请涉及下述专利申请,其重点是本文中所描述的图形处理的各个不同方面。引述下述各专利申请,供参考。
●1999年10月28日提出的第60/161,915号临时申请及其相应的于1999年12月17日提出的第09/465,754号实用新型申请,其标题均为“3D电脑图形的顶点缓存”;
●2000年8月23日提出的第60/226,912号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-959),其标题均为“用于在图像系统中缓冲图像数据的方法和装置”;
●2000年8月23日提出的第60/226,889号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-958),其标题均为“图形管道标记同步”;
●2000年8月23日提出的第60/226,891号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-964),其标题均为“用于在图形系统中进行图像保真的方法和装置”;
●2000年8月23日提出的第60/226,910号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-910),其标题均为“具有重构像素格式隐埋式帧缓冲器的图像系统”;
●2000年6月2日提出的第09/585,329号实用申请,其标题是“可变的位场颜色编码”(律师文件号:723-749);
●2000年8月23日提出的第60/226,890号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-956),其标题均为“根据转换模式动态地重新配置隐藏的表面处理的顺序的方法和装置”;
●2000年8月23日提出的第60/226,915号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-973),其标题均为“用于在图像系统中提供非光写实的卡通画轮廓的方法和装置”;
●2000年8月23日提出的第60/227,032号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-954),其标题均为“用于在图像系统中提供改善的模糊效果的方法和装置”;
●2000年8月23日提出的第60/226,885号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-969),其标题均为“用于图像系统的控制器接口”;
●2000年8月23日提出的第60/227,033号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-955),其标题均为“用于图像系统中的纹理平分的方法和装置”;
●2000年8月23日提出的第60/226,913号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-965),其标题均为“Z纹理”;
●2000年8月23日提出的第60/227,031号临时申请,其标题是“图像系统中的应用程序接口”(律师文件号:723-880)
●2000年8月23日提出的第60/227,030号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-963),其标题均为“具有嵌入帧缓冲器与主存储器之间的复制转换的图像系统”;
●2000年8月23日提出的第60/226,886号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-970),其标题均为“存取共享资源的方法和装置”;
●2000年8月23日提出的第60/226,884号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-972),其标题均为“3D图像和音频协处理器的外部接口”;
●2000年8月23日提出的第60/226,894号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-974),其标题均为“具有增强的存储控制器的图像处理系统”;
●2000年8月23日提出的第60/226,914号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-966),其标题均为:“具有对轮廓动画的穿层硬件支持的低成本图像系统”;
●2000年8月23日提出的第60/227,006号临时申请及其相应的于__提出的第__号实用新型申请(律师文件号:723-953),其标题均为“低成本图像系统中的阴影映射”。
技术领域
本发明涉及一种存取音频存储器的方法和装置,更具体地说,涉及在视频游戏系统的音频存储器中预缓存非音频相关数据的方法和装置。
背景技术
我们中有很多人看过含有非常逼真的恐龙、外星人、动画玩具和其他奇异生物的影片。这些动画片都是通过电脑图形制作而成的。采用这些技术,电脑图像能手能够指定每个物体的具体模样及其外貌应该怎样随时间的推移而变化,然后,电脑塑造这些物体的模型并将它们显示在显示器(例如,电视机或电脑屏幕)上。电脑负责执行许多任务,以确保被显示图像的每个部分根据情景中每个物体的位置和方向(光看起来照射每个物体的方向、每个物体的表面结构和其他因素)而被着色和塑造的形状。
由于电脑图像生成很复杂,因此,电脑生成的三维图像几年前还主要局限于价格昂贵的专用飞行模拟器、高档(high-end)图形工作站和巨型计算机。公众看到的电影和费用昂贵的电视广告中由电脑系统生成的一些图像,但是,大多数人不会与生成图像的电脑进行实际的互动。随着可以使用相对便宜的3D图形平台(例如,现在个人电脑可用的任天堂64和各种3D图形卡),所有这些情况都已改变了。现在,可以在家里或办公室与相对便宜的电脑图形系统作令人兴奋的3D动画和模拟互动。
交互式3D电脑图形系统经常用于视频游戏。但是,“游戏经历”通常不只涉及视频内容。例如,几乎所有的游戏经历都涉及伴随视频内容的音频内容。这里所描述的音频系统能够使声音发射器被安置在三维空间中,并为一种产生生理声学的3D音效的有功效的装置提供一对扬声器。音频系统包括音频存储器(例如,用于存储声音取样、仪器波形表、声音踪迹等以及从海量存储装置(例如,DVD)读取的内容)。这些取样、波形表、踪迹等随后由音频数字信号处理器读出和处理,以产生游戏的声音内容。此内容被传递到主存储器,随后,从该主存储器读出该内容,以提供给一个译码器,并输出到扬声器。由于无需与试图访问主系统存储器的其他资源(例如,图形子系统)进行竞争,分离的音频存储器改进了音频处理电路对音频数据的存取。
如这里进一步所描述的那样,独立的音频存储器还提供了一种可能性:进一步增强了该系统有效地对所需访问的数据资源进行访问的能力。例如,DVD具有一个相对长的“等待时间”,即,响应于对数据的请求,DVD需要花费相当长的时间用于要返回的数据。所以,在需要数据前,可以预先取出来自DVD的动画数据和被压缩的图形数据等,从而可以快速地将数据提供到需要这些数据的元件。音频存储器可以用作该“预先取出的”非音频相关数据的高速缓冲存储器。于是,当(例如)转换(rendering)管道中需要数据时,采用DMA电路将数据传递到需要数据的主存储器。如果合适,可以对传递到主存储器的数据进行解压缩。
发明内容
这样,根据本发明的一个方面,视频游戏系统包括音频数字信号处理器、主存储器和与存储由音频数字信号处理器处理的音频相关数据的主存储器分离的音频存储器。存储器存取电路读取存储在海量存储装置上的非音频相关数据,并将非音频相关数据写入音频存储器。该非音频相关数据以后从音频存储器中读出,并被写入主存储器,而无须由音频数字信号处理器处理。
本发明的另一个方面是提供一种存取存储在海量存储装置上的非音频相关数据的方法,它包括:提供与主存储器分离的音频存储器,并在其内存储由音频数字信号处理器处理的音频相关数据。从海量存储装置中读取非音频相关数据,并将其写入音频存储器。该非音频相关数据以后从音频存储器中被读取并被写到主存储器,而无须由音频数字信号处理器进行处理。
根据本发明的还有一个方面,一种视频游戏机包括:大存储存取装置,用来存取大存储装置,所述大存储装置存储包含有视频游戏数据的视频游戏程序;执行所述视频游戏程序的视频游戏程序执行系统;主存储器;以及与所述主存储器隔开的音频存储器。音频数字信号处理器处理所述音频存储器中存储的与声音有关的视频游戏数据。存储器存取电路将从所述大存储器装置提供的与音频无关的视频游戏数据写入所述音频存储器,并且随后从所述音频存储器读取所述与音频无关的视频游戏数据,以及将所述读取的与音频无关的视频游戏数据提供到所述主存储器,用来由所述视频游戏程序执行系统进行处理。
根据本发明的还有一个方面,提供一种对视频游戏机进行预先高速缓存的方法,所述游戏机包括:大存储器存取装置,用于对存储有包含视频游戏数据的视频游戏程序的大存储装置进行访问;用于执行所述视频游戏程序的视频游戏程序执行系统;主存储器;与所述主存储器分开的音频存储器;以及音频数字信号处理器,用于处理所述音频存储器中存储的与音频有关的视频游戏。该方法包含:将从所述大存储装置提供的与音频无关的视频游戏数据写入所述音频存储器;以及随后从所述音频存储器读取非音的频视频游戏数据,并将所述非音频的视频游戏数据写入到所述主存储器,用于由所述视频游戏程序执行系统进行处理。
根据本发明的另一个方面,一种视频游戏机包括:大存储器存取装置,用来存取存储有包含视频游戏数据的视频游戏程序的大存储装置;执行所述视频游戏程序的视频游戏程序执行装置;主存储器;以及与所述主存储器分开并存储有音频相关视频游戏数据的音频存储器装置。音频数字信号处理装置处理所述音频存储器装置中存储的与音频有关的视频游戏数据的。写/读装置将从所述大存储器装置提供的与音频无关的视频游戏数据写入到所述音频存储器装置内,并且用来随后从所述音频存储器装置读出所述与音频无关的视频游戏数据,并将所述读出的与音频无关的视频游戏数据提供到所述主存储器,由所述视频游戏程序执行装置进行处理。
根据本发明的还有一个方面,一种视频游戏系统包括:音频数字信号处理器;主存储器;与所述主存储器分开并用来存储与音频有关的数据用于由所述音频数字信号处理器进行处理的音频存储器;大存储器装置;以及读取所述大存储器装置上存储的与音频无关的数据并且将所述与音频无关的数据写到所述音频存储器上,并且随后从所述音频存储器读取所述与音频无关的数据并且将所述与音频无关的数据写到所述主存储器上的电路。所述电路包括:存储第一存储器地址的第一存储器地址寄存器;存储第二存储器地址的第二存储器地址寄存器;存储块长的块长寄存器;以及用来变更所述第一存储器地址寄存器、第二存储器地址寄存器以及块长寄存器中存储的数据的寄存器变更电路。
根据本发明的另外一个方面,提供一种存取大存储器装置中存储的与音频无关的数据的方法,包含:提供与主存储器分开的并在其中存储与音频有关的数据用于由音频数字信号处理器进行处理的音频存储器。所述大存储器装置上存储的与音频无关的数据被读取并被写到所述音频存储器上。随后从所述音频存储器读取非音频数据,并将该非音频数据写到主存储器上。在所述音频存储器进行写入和读取包含:指定第一存储器地址;指定第二存储器地址;指定块长;以及变更所述第一存储器地址、第二存储器地址和块长。
附图说明
通过下文中结合附图对较佳实施例的详细描述,读者将会更好、更全面地理解本发明的各种特征与优点。图中,
图1是一例交互式电脑图像系统的整体视图;
图2是图1所示电脑图形系统的方框图;
图3是图2中所示图形与音频处理器的方框图;
图4是图3中所示的3D图形处理器的方框图;
图5是图4所示图形与音频处理器的示范逻辑流程图;
图6是图3中所示音频DSP 156、音频存储器接口158,以及音频接口与混频器160的更加详细的方框图;
图7A和7B分别示出了用于重现声音的数据流和控制流;
图8示出了音频DSP 156的处理步骤;
图9是图6中所示的存储控制器823的详细方框图;
图10A是图6中所示的音频存储器DMA 825的详细方框图;
图10B是图6中所示的DSP DMA 819的详细方框图;
图10C是图6中所示加速器821的详细方框图;以及
图11A和11B示出了另一例兼容结构。
具体实施方式
图1绘出的是一例交互式3D电脑图形系统50。可以使用系统50来进行具有有趣立体声的交互式3D视频游戏。它也可用于其他各种应用程序。
本例中,系统50能够交互式地实时处理三维空间中的数字表述或模型。系统50可以从任何任意的观察点来显示世界的一部分或所有的内容。例如,系统50可以响应于来自手持控制器52a、52b或其他输入装置的实时输入而交互式地改变观察点。这使游戏者能够通过世界内部或外部某人的眼睛来观察世界。系统50可以用于不要求实时3D交互式显示(例如,2D显示生成和/或非交互式显示)的应用程序,但是,可以非常迅速地使用显示高质量的3D图像的能力来创建很逼真、令人兴奋的游戏或其他的图像交互作用。
为了要使用系统50来进行视频游戏或用于其他应用目的,用户首先通过在主元件54与其彩色电视机56或其他显示装置之间连接一根电缆58。主元件54提供用于控制彩色电视机56的视频信号和音频信号。视频信号是控制在电视屏幕59上显示的图像的信号,而音频信号是通过电视立体声扩音器61L、61R的声音的回放。
用户还需要将主元件54连接到一个电源。电源可以是一种传统的交流(AC)适配器(未示出),它插入一个标准家庭墙壁插座内,并将住宅电流转换成适于供给主元件54而电压较低的直流信号。也可以使用电池。
用户可以使用手持控制器52a、52b来控制主元件54。例如,可以使用控制60来指定电视机56上显示的一个人物应该在三维(3D)空间内移动的方向(上或下,左或右,靠近或离开)。控制器60还为其他的应用提供输入(例如,菜单选择、指针/光标控制等)。控制器52可以有各种形式。本例中,所示的每个控制器都包括控制60(例如,操纵杆、按钮和/或方向开关)。控制器52可以通过电缆或以无线的方式经由电磁(例如,无线电或红外线)波连接到主元件54。
要播放如游戏之类的应用程序,用户须选择存储其想播放的视频游戏或其他应用程序的一个合适的存储介质62,并将该存储介质插入主元件54中的狭槽64。例如,存储介质62可以是一个特殊编码和/或加密的光盘和/或磁盘。用户可以操作电源开关66,打开主元件54,并使该主元件开始运行视频游戏或其他建立在存储介质62存储的软件基础上的其他应用程序。用户可以操作控制器52,以便向主元件54提供输入。例如,操作一个控制60,可以启动游戏或其他的应用程序。移动其他的控制60会使动画人物在不同的方向上移动或改变用户在3D空间中的观察点。根据存储在存储介质62内的特定软件,控制器52上的各种不同的控制60可以在不同的时间执行不同的功能。
整个系统的示范电子结构
图2示出的是系统50的示例元件的方框图。主要元件包括:
●主处理器(CPU)110,
●主存储器112,和
●图形与音频处理器114。
本例中,主处理器110(例如,一台改进的“IBM Power PC 750”)通过图形与音频处理器114从手持控制器52(和/或其他的输入装置)接收输入。主处理器110交互式地对用户输入作出响应,并执行由(例如)外部存储介质62通过海量存储存取装置106(例如,光盘驱动器)提供的视频游戏或其他程序。例如,在进行视频游戏时,除了各种交互式功能和控制功能外,主处理器110还能够进行冲突检测和动画处理。
本例中,主处理器110生成3D图形和音频命令,并将它们发送到图形与音频处理器114。图形与音频处理器114处理这些命令,在显示器59上生成有趣的视觉图像,并在立体声扬声器61R、61L或其他合适的发声装置上生成有趣的立体声。
示例系统50包括视频编码器120,该编码器从图形与音频处理器114接收图像信号并将这些图像信号转换成适于在标准显示装置(如,电脑显示器或家用彩色电视机56)上显示的模拟和/或数字视频信号。系统50还包括音频编译码器(压缩器/解压缩器)122,它压缩和解压缩数字化音频信号,并且可以按需要在数字的与模拟的音频信令格式之间转换。音频编译码器122能够通过缓冲器124接收音频输入,并将它们提供给用于处理(例如,与处理器生成和/或通过海量存储存取装置106的流动音频输出接收的其他音频信号混合)的图形与音频处理器114。该例中的图形与音频处理器114能够将音频相关信息存储在一个可执行音频任务的音频存储器126中。图形与音频处理器114将产生的音频输出信号提供给音频编译码器122,用于解压缩和转换成模拟信号(例如,通过缓冲放大器128L、128R),以便它们可由扬声器61L、61R重现。
图形与音频处理器114具有与系统50中各种附加装置交流的能力。例如,变形数字总线130可用于与海量存储存取装置106和/或其他部件进行交流。串行外围总线132可以与各种外围装置或其他装置交流。这些装置包括(例如):
●可编程只读存储器(PROM)和/或实时时钟(RTC)134,
●调制解调器136或其他网络接口(可能将系统50连接到诸如互联网或其他可下载或上传程序指令和/或数据的数字网络的电信网138),和
●按块擦除存储器140。
外部串联总线142可用于与附加的扩展存储器144(例如,存储卡)或其他装置交换数据。连接器可用于将各种装置连接到总线130、132、142上。
示例的图形与音频处理器
图3是一例图形与音频处理器114的方框图。一个例子中的图形与音频处理器114可以是一个单芯片的ASIC(专用集成电路)。本例中,图形与音频处理器114包括:
●处理器接口150,
●存储器接口/控制器152,
●3D图形处理器154,
●音频数字信号处理器(DSP)156,
●音频存储器接口158,
●音频接口和混频器1300,
●外围控制器162,和
●显示控制器164。
3D图形处理器154执行图形处理任务。音频数字信号处理器156执行音频处理任务。显示控制器164从主存储器112存取图像信息,并将其提供给视频编码器120,用于在显示装置56上显示。音频接口和混频器1300与音频编译码器122连接,也可以混合来自不同来源的音频信号(例如,来自海量存储存取装置106的流动音频信号、音频DSP 156的输出和通过音频多媒体译码器122接收的外部音频输入)。处理器接口150在主处理器110和图形与音频处理器114之间提供数据与控制接口连接。
存储器接口152在图形与音频处理器114和存储器112之间提供数据与控制接口。本例中,主处理器110通过是图形与音频处理器114的一部分的处
理器接口150和存储器接口152来访问主存储器112。外围控制器162在图形与音频处理器114和上述的各种外围装置之间提供数据与控制接口。音频存储器接口158提供与音频存储器126的接口连接。
示例图形管道
图4示出的是一个图形处理系统,它包括用作图3所示3D图形处理器154的更加详细的视图。3D图形处理器154包括一个命令处理器200和一个3D图形管道180。主处理器110将数据流(例如,图形命令流和显示清单)传递到命令处理器200。主处理器110有一个两级高速缓存器115,以使存储器的延迟为最小,它还有一个写入收集缓冲器111,用于以图形与音频处理器114为目标的未缓存的数据流。写入收集缓冲器111将部分高速缓冲存储器存储界收集到全部的高速缓冲存储器存储界内并将数据发送到图形与音频处理器114,一次一个高速缓冲存储器存储界,以便最大地使用总线。
命令处理器200从主处理器220接收显示命令,并对它们进行解析——通过存储控制器152对来自共享存储器112的显示命令进行处理所必须的所有附加数据。命令处理器200将一个顶点命令流提供给图形管道180,用于2D和/或3D处理和转换。图形管道180根据这些命令来生成图像。产生的图像信息可以被传递到主存储器112,用于由显示控制器/视频接口元件164(将管道180的帧缓冲器输出显示在显示器56上)存取。
图5是利用图形处理器154进行处理的方框逻辑流程图。主处理器110可以将图形命令流210、显示清单212和顶点阵列214存储在主存储器112中,并通过数据接口150,将指针传给命令处理器200。主处理器110将图形命令存储在其在主存储器110中分配的一个或多个图形先进先出(FIFO)缓冲器210中。命令处理器200:
●通过单片FIFO存储缓冲器216(接收和缓冲同步/流控制和负载平衡的图形命令)从主存储器112取出命令流,
●通过单片调用FIFO存储缓冲器218,从主存储器112取出显示清单212,以及,
●通过顶点高速缓存器220,从命令流和/或从主存储器112中的顶点阵列214取出顶点属性。
命令处理器200执行将属性类型转换成浮动点格式的命令处理操作200a,并将产生的全部顶点多边形数据传给图形管道180,用于转换/光栅化(rasterization)。可编程存储器仲裁电路130(见图4)对图形管道180、命令处理器200与显示控制器/视频接口元件164之间的共享主存储器112的存取进行仲裁。
图4示出的图形管道180可以包括:
●转换元300,
●设置/光栅器(rasterizer)402,
●纹理元件500,
●纹理环境元件600,和
●像素引擎700。
转换元件300执行各种2D与3D转换和其他操作300a(见图5)。转换元件300可以包括用于存储转换处理300a中所用的矩阵的一个或多个矩阵存储器300b。转换元件300将每个顶点的引入的几何形状从物体空间转换到屏幕空间;并转换输入的结构坐标,计算投影的结构坐标(300c)。转换元件300还可以执行多边形剪裁/摘采300d。在一个实施例中,也由转换元件300b执行的照明处理300e为多达8个独立的照明提供每个顶点的照明计算。转换元件300也能执行浮雕类型冲击(bump)映射效果的结构坐标生成(300c),以及多边形剪裁/摘采操作(300d)。
设置/光栅器400包括设置元件,它从转换元件300接收顶点数据,并将三角形设置信息发送给执行边缘光栅化、结构坐标光栅化和颜色光栅化的一个或多个光栅器元件(400b)。
纹理元件500(可以包括一个单片纹理存储器(TMEM)502)执行各种关于构造的任务,例如,包括:
●从主存储器112取得纹理504,
●纹理处理(500a),包括(例如)多纹理处理、后缓存纹理解压缩、纹理过滤、作浮雕、使用投影纹理的阴影与照明,以及具有α透明度与深度的BLIT。
●冲击映射处理,用于计算冲击映射、假结构和纹理平分效果(500b)的纹理坐标位移,以及,
●间接纹理处理(500c)。
纹理元件500将经过滤的结构值输出到纹理环境元件600,用于纹理环境处理(600a)。纹理环境元件600混合多边形和纹理颜色/α(第一位)/深度,并且还可以执行纹理模糊处理(600b),以实现基于逆向射程的模糊效果(inversedrange based fog effects)。纹理环境元件600可以提供多个阶段,来执行基于(例如)颜色/α(第一位调制)、作浮雕、信息的构造(detail texture)、结构交换(texture swapping)、夹住(clamping)和深度混合的其他各种有趣的环境相关功能。
像素引擎700执行深度(z)比较(700a)和像素混合(700b)。本例中,像素引擎700将数据存入嵌入(单片)帧缓冲存储器702。图形管道180可以包括一个或多个嵌入DRAM存储器702,以便在本地存储帧缓冲器和/或纹理信息。根据当前的转换模式,在图形管道180中较早的阶段执行Z比较700a’(例如,如果不要求α(第一位)混合,则可以更早执行z比较)。像素引擎700包括复制操作700c,定期将单片帧缓冲器702写到主存储器112的存储器部分113上,以便由显示/视频接口元件164存取。这个复制操作700c也可以用来将嵌入帧缓冲器702的内容复制到主存储器112中的纹理结构,以实现动态纹理结构合成的效果。在复制操作中,可以执行反混叠和其他过滤。图形管道180的帧缓冲器输出(最终存储在主存储器112中)是由显示/视频接口元件164读取的每个帧。显示控制器/视频接口164提供在显示器56上显示的数字RGB像素值。
示例音频系统
音频DSP 156执行音调调制和语音与效果数据的混合。音频DSP 156由用于存储音频取样的大数量(例如,16MB或更大)音频存储器126(辅助的RAM-ARAM)增大。音频信号通过音频编译码器122(包括一个数-模转换器)被发送到扬声器61L和61R。来自海量存储装置62流动(streaming)音频是重现游戏运行期间高保真度音频信号的一种有效的方法。
图6是图3中所示的音频DSP 156、音频存储器接口156,以及音频接口与混频器160的更加详细的方框图。取样速率转换器801以48kHz或32kHz取样流动音频(可能来自海量存储装置62),L/R音量控制803控制被取样的音频的左、右频道音量水平。流动音频完全绕过主存储器112,从而保存存储器和处理器的带宽。例如,在为海量存储装置62上的音频数据编码的情况下,以ADPCM格式,海量存储装置106自动将ADPCM数据译码成PCM取样(例如,16位),以提供给取样率转换器801。
DMA频道805使数据从主存储器112中的一个任意的位置传递到FIFO缓冲器807。混频器809混合取样率转换器801和FIFO缓冲器807的输出,结果被输出到音频编译码器112。音频编译码器122的取样率是(例如)48kHz,音频编译码器122可以是一个用于将立体的16位PCM转换成模拟信号的标准SigmaDelta编译码器。
DSP核心811具有一个100MHz指令时钟,并使用16位数据字和寻址。DSP核心811使用包括RAM区域(例如,8千字节)和ROM区域(例如,8千字节)的一个可对字进行寻址的数据存储器815。数据存储器815包括一个RAM区域(例如,8干字节)和一个ROM区域(例如,4千字节)。提供一个DSPDMA 819,将数据从主存储器112传送到DSP数据/指令RAM区域,或将数据从DSP数据/指令RAM区域传送到主存储器112,或者将数据从DSP数据/指令ROM区域传送到主存储器112。有两个存取指令存储器813:DSP DMA 819和DSP 811的请求器(requesters)。指令RAM区域可以由DSP DMA 819来读取/写入,并只可以由DSP 811读取。指令ROM区域只能由DSP811来读取。有三个存取数据存储器815:DSP DMA 819、数据总线1和数据总线2的请求器。提供的邮箱寄存器817,用于与主处理器110交流。邮箱寄存器817可以包括用于从主处理器110传达到DSP核心811的第一个邮箱寄存器和用于从DSP核心811传达到主处理器110的第二个邮箱寄存器。每个寄存器有(例如)32位宽。加速器821(而不是DSP核心811)可用于从音频存储器126读取和写入音频存储器126。为音频存储器126提供了一个存储控制器823,该存储控制器823可裁决DSP核心811与专用的DMA频道825(由主处理器110控制,用于音频存储器126与主存储器112之间进行数据处理)之间的音频存储器存取的请求。通常,音频存储器126与DSP数据存储器815之间的数据处理与DMA频道825相比具有优先权。译码器827为提供到那里的音频取样进行译码。音频存储器126主要用于音频相关数据的存储,它可以包括16MB的SDRAM(总共可扩展到48MB)。
为了有助于减少音频数据存储要求,可以使用各种压缩和解压缩方案。ADCPM是指适应的微分PCM。这个方案可用于压缩/解压缩由上述音频子系统生成的声音,并且可用于压缩/解压缩海量存储装置62上的声音。存在各种不同的ADPCM规则,由音频子系统生成的声音和海量存储装置62上的声音不必要使用相同的规则。译码器827提供对由音频子系统生成的声音数据的运行时间ADPCM解压缩,海量存储存取装置106提供对来自海量存储装置62的声音数据的运行时间ADPCM解压缩。一个8位PCM压缩/解压缩方案也可以运用于由音频子系统生成的声音数据。这样,译码器827还提供对8位PCM压缩的声音数据的运行时间的解压缩。当然,上述压缩/解压缩方案仅仅是描述性的,并非仅仅限于这种方案。
在系统初始化的过程中,一个运行时间的音频库被下载到音频DSP 156。音频DSP 156根据由主处理器110生成的一张命令清单中的命令,利用这个音频库来处理和混合语音。该命令清单存储在主存储器112中。音频DSP 156从主存储器收回命令,并根据下载到那里的运行时间的音频库来执行它们。图7A和7B分别示出了用于重现声音的数据流和控制流。如图7A所示,声音取样通过外围(I/O)控制器162从海量存储装置62读入主存储器112,并经由ARAMDMA 825从主存储器112读入音频存储器126。声音取样由DSP核心811经由加速器821来读取,DSP核心811处理/混合声音取样。经处理/混合的声音取样在主存储器112中得到缓冲,然后被传递到音频接口FIFO 807,用于经由音频编译码器122输出到扬声器61L、61R。如图7B所示,游戏应用程序最终指示对声音的需求。游戏应用程序调用音频系统(主处理器)运行时间的应用程序(生成音频DSP 156的一个命令清单)。在执行该命令清单的过程中,音频DSP 156收回合适的声音取样并按需求来处理它。#
音乐合成的数据流与控制流类似于图7A中所示的声音取样的数据流与控制流。来自海量存储装置62的指令波表经由主存储器112存储在音频存储器.126中。一旦收到由音频系统(主处理器)运行时间的应用程序生成的命令,音频DSP 156就收回必要的指令取样,处理与混合它们,并将结果存储在主存储器112中。该结果从那里被传递到音频接口FIFO 807,用于经由音频编译码器122输出到扬声器61L、61R。由音频系统(主处理器)运行时间的应用程序生成的命令被音乐乐谱驱动。该音乐乐谱从海量存储装置62被读入主存储器112,它根据游戏的要求来由音频系统(主处理器)运行时间的应用程序处理和程序化。
音频系统(主处理器)运行时间的应用程序也可以执行重放和混合音频磁道,以提供软件流。软件流允许同时重放一个或多个音频磁道,这提供了某种程度的交互性。例如,游戏可能从一个磁道逐渐转换入另一个磁道,以影响到玩者的情绪。一般而言,不同的音频磁道作为单独的声音取样在音频存储器126中得到缓冲。然后,音频DSP 156可能收回磁道并混合它们(就如它对其他任何语音所做的那样)。
音频系统允许将声音发射器安放在三维空间中。该实现依赖于以下各个特征:
●音量与镜头摇动控制
●节距调制(关于多普勒效应)
●初始时间延迟(左、右频道之间的相位转换)
●FIR过滤器(关于HRTF和环境效应)
这些特征一起为一种产生生理声学的三维音效的有功效的装置提供一对扬声器。
语音处理管道如图8所示:
1.由DSP 156从音频存储器126读取取样。
2.来自音频存储器126的ADPCM和8位PCM取样被译码,被译码的取样被提供到第一个取样率转换器。
3.来自音频存储器126的16位PCM取样被直接传到第一个取样率转换器。
4.该取样率转换器调节引入的取样的节距。
5.一个FIR过滤器将一个任选的用户定义的过滤器应用于这些取样。
6.一个音量滑道应用一个跨越取样的音量滑道,以求音量封套清晰度。
7.一个混频器以一个32kHz取样率(具有24位的精确度)来混合各个取样。
每个语音重复步骤1-7。当所有的语音已在混频缓冲器中被处理和累积时,会发生以下步骤:
1.Dolby环绕和基于主处理器的效果(例如,回响或齐声)被应用于混合的语音。
2.取样的精确度从24位被缩短至16位,数据被转换成音频编译码器122的输出的一个48kHz取样率,结果被输出到主存储器112。
图9是一幅音频存储控制器823的详细的方框图。音频存储控制器823执行以下功能:
●复位后,提供音频存储器初步定时生成,以稳定音频存储器(包括音频存储器模式设置);
●生成音频存储器更新周期;以及,
●接受DMA 825和加速器821的读/写要求,然后生成到音频存储器126的存取定时。
一个定时生成电路928生成存取定时。在此示范系统中,有两个存储装置构成音频存储器126。第一个存储装置是内部音频存储器926a并拥有一个8兆字节的最大尺寸。第二个存储装置是扩展音频存储器926b并拥有一个32兆字节的最大尺寸。内部音频存储器926a的地址始于0,扩展音频存储器926b的地址串联到内部音频存储器的结尾地址上。这样,内部音频存储器926a和扩展音频存储器926b的地址空间是联贯的,扩展音频存储器926b的起始地址取决于内部音频存储器926a的尺寸。内部音频存储器926a和扩展音频存储器926b的模式设置和更新周期是同时运行的。
复位后,音频存储控制器823初始化音频存储器126(如图9中的“ARAM初始化”934所代表的)。在初始化的过程中,控制器823掩盖对音频存储器126的任何存取;初始化之后,音频存储器126可自由存取。一个标记ARAM-NORM可以被设置为一个已经执行初始化的指示。如上所述,初始化包括音频存储器模式设置。以下设置可在一个音频存储模式寄存器中进行:
●脉冲长度(例如,2字节),
●寻址模式(例如,连续的),
●CAS等待时间(由主处理器110编程的2个或3个),以及
●写模式(脉冲读与脉冲写)。
音频存储控制器823同时初始化内部音频存储器926a和扩展音频存储器926b。在初始化结束之前,主处理器110为CAS等待时间编程。如果CAS等待时间不由主处理器110编程,则使用复位默认值CAS=3来存取音频存储器126。
初始化之后,音频存储控制器823确定内部音频存储器926a和扩展音频存储器926b的尺寸。
除了一个芯片选择信号外,内部音频存储器926a和扩展音频存储器926b分享同一个地址总线、数据总线和控制信号。在操作过程中,一个仲裁元件930为三个请求器生成存取定时:
●DMA 825.
●加速器821,和
●更新计算器932。
这些请求器中的优先权如下所述:
更新计算器932>加速器821>DMA 825
自动更新期是可编程的,音频存储控制器823同时将更新周期提供给内部音频存储器926a和扩展音频存储器926b。
以下的DSP编程位可用来掩盖DMA 825对音频存储器126的存取:
AMDM:Ara_M-Dma要求掩盖DSP地址:0Xffef
位 | 名称 | 类型 | 复位 | 描述 |
15...1 | R | 0x0 | 被保存 | |
0 | DMA要求掩盖 | R/W | 0x0 | 0:DMA要求ARAM未被掩盖1:DMA要求ARAM被掩盖 |
如果设置AMDM的位0,则对音频存储器126的存取专属于加速器821。
如果AMDM的位0很清楚,则发生以下程序。
通常,DMA 825经由多个(例如,16个)读/写命令来存取音频存储器126。如果加速器821这时需要存取音频存储器126,则音频存储控制器823确定两者是否都正在试图存取音频存储器126的相同的储藏库。如果是,则音频存储控制器823终止(预填充)DMA 825的存取并将存取传递给加速器821。加速器821结束后,音频存储控制器823将存取传递回DMA 825。DMA 825执行(首先激活)它其余的读/写命令。
如果加速器821和DMA 825正在存取不同的储藏库,则利用一个交叉存取储藏库存取方案来实现加速器821与DMA 825之间的存取转换方面的更好的性能。在这个方案中,音频存储控制器823不预填充(终止)DMA储藏库,而让它等候。然后,对音频存储器126的存取被传递到加速器821。加速器821完成它对音频存储器126的存取之后,音频存储控制器823执行(首先无须激活)DMA 825其余的读/写命令。
如果音频存储器126的存取跨越一个512字节的界线(不同的行),则音频存储控制器823预填充当前的行来停止存取,并激活下一个行来开始存取。这增加了读/写数据的周期数目。不适宜为DMA-存取-交叉-行或加速器-存取-交叉-行提供上述的交叉存取储藏库方案。
图10A中示出了音频存储器DMA 825的细节。音频存储器DMA 825包括分别用于定义主存储器起始地址、音频存储器起始地址和DMA传递的块长度与方向的三个寄存器900a-900c。主处理器110为这些寄存器编码。这些寄存器有32位宽,DMA传递方向由块长度寄存器的高单词的位指定,每方(即主存储器112,音频存储器126)的起始地址位于32字节界线,块长度是若干32字节。在DMA的传递过程中,这些寄存器由每次存储控制器块存取来修改。有一个数据缓冲器950建立在音频存储器DMA内的存储控制器尺寸(32字节),以跨接不相等的带宽存储器。
主存储器110到音频存储器126的操作流程包括以下步骤:
1.一个到块长度寄存器900c的低单词的写操作触发DMA 825,准备传递数据。
2.DMA 825将一个读要求发送给存储控制器152(图3),然后等候32字节数据来到DMA数据缓冲器950。
3.一旦32字节被移入数据缓冲器950,DMA 825就发送一个写要求给仲裁电路930(见图9)并等候传递。主存储器地址寄存器900a也通过地址增加电路960增加了32个。
4.如果允许DMA 825通过仲裁电路930对音频存储器126的存取,则一个写命令被发送到音频存储器126,数据开始一个字节接一个字节地从DMA数据缓冲器950移到音频存储器126,直到32个字节都被移走(缓冲器清空)。音频存储器地址通过音频地址增加电路962增加了32个,块长度通过块长度减少电路964减少了32个。
5.重复步骤2-4,直到块长度达到0。这时,DMA 825停止与控制逻辑954设置了一个标记,产生对主处理器110的一个中断。该中断是可掩盖的。频存储器126到主存储器110的操作流程包括以下步骤:
1.写到块长度寄存器的低单词触发DMA 825,准备传递数据。
2.DMA 825将一个读要求发送给仲裁电路930(见图9),然后等候32字节的数据。
3.如果允许DMA 825通过仲裁电路930对音频存储器126的存取,则一个读命令被发送到音频存储器126,数据开始一个字节接一个字节地从音频存储器126移到DMA数据缓冲器950,直到32个字节都被移入数据缓冲器。音频存储器地址寄存器900b中的音频存储器地址由音频地址增加电路962增加了32个。
4.一旦32字节数据被移入DMA数据缓冲器950,DMA825就发送一个写要求给存储控制器152。然后,该32字节数据从DMA数据缓冲器950移到存储控制器总线。此后,主存储器110的地址由主存储器地址增加电路960增加,块长度由时钟长度减少电路964减少。
5.重复步骤2-4,直到块长度达到0。这时,DMA 825停止与控制逻辑954设置了一个标记,产生对主处理器110的一个中断。该中断是可掩盖的。在每个32字节传递之前执行仲裁。存储控制器总线仲裁优先权如下所示:
AI DMA 805>DSP DMA 819>ARAM DMA 825
图10B是一幅示出DSP DMA 819的细节的方框图。如上所述,DSP DMA819发挥功能,将来自存储器112到DSP数据/指令RAM区域的数据或到主存储器112来自DSP数据/指令RAM区域的数据或来自DSP数据/指令ROM区域的数据传递到主存储器112。DSP DMA 819包括用于定义一个块长度、一个主存储器地址和一个DSP存储器地址的三个寄存器796a-796c。一个2x32字节的FIFO 792用于数据传递,一个64位数据总线提供FIFO 792与音频存储器126之间的高速数据传递,主存储器起始地址位于一个4字节界线,DSP起始地址位于一个2单词(32位)界线。块长度是若干个4字节。DSP DMA 819的一个控制寄存器包括指定DMA传递方向的第一个位和指定数据存储器或指令存储器是否包含于DMA传递中的第二个位。控制寄存器还包括一个用于经由控制逻辑790提供DSP DMA状况的DSP DMA占用位。当块长度寄存器中的块长度等于0时,一旦DSP DMA被激活和清除,就设置该占用位。
通过DSP 811写到块长度寄存器796a来激活DSP DMA 819。一旦DSP DMA819被激活,就要求存储控制器152同意对主存储器的存取。当同意存取时,开始数据传递。当继续传递数据时,地址改变电路798和799分别增加寄存器796b和796c中的主存储器112和DSP存储器的存取地址。当各块被传递时,根据块长度改变电路797来减少寄存器796a中的块长度。传递继续进行,直到块长度寄存器是0,DMA操作随后停止。数据调整和DSP存储器控制受到控制电路794的影响。
当数据从主存储器112传递到DSP存储器时,如果FIFO 792是满的,则DSP DMA 819将等候不满的FIFO,然后再从主存储器112充填。如果FIFO 792不是空的,则DMA将传递FIFO数据到DSP存储器,直到FIFO清空为止。当数据从DSP存储器传递到主存储器112时,如果FIFO 792是空的,则DSP DMA819将等候不空的FIFO,然后将FIFO的数据传递到主存储器112。如果FIFO不满,则DMA将从DSP存储器再充填,直到FIFO满为止。
示范的DSP DMA相关寄存器是:
DSMAH:DSp dma主存储器地址高DSP地址0xFFCE
位 | 名称 | 类型 | 复位 | 描述 |
15..10 | 其MSBs的6位 | R | 0x0 | 该寄存器用于指定从位31到位26的DSPDMA主存储器起始/当前地址,总是0 |
9..0 | 主存储器地址高单词 | R/W | 未定义 | 该寄存器用于指定从位25到位16的DSP |
DMA主存储器起始/当前地址 |
DSMAL:DSp dma主存储器地址低DSP地址0xFFCF
位 | 名称 | 类型 | 复位 | 描述 |
15..2 | 主存储器地址 | R/W | 未定义 | 该寄存器用于指定从位15到位2的DSPDMA主存储器起始/当前地址 |
1,0 | 其LSBs的2位 | R | 0x0 | 这个DMA的主存储器应该位于4字节界线 |
DSPA:DSp dma dsP存储器地址高DSP地址0xFFCD
位 | 名称 | 类型 | 复位 | 描述 |
15..1 | DSP存储器地址 | R/W | 未定义 | 该寄存器用于指定从位15到位1的DSP存储器起始/当前地址 |
0 | 其LSBs的1位 | R | 0x0 | DSP存储器地址应 |
该位于2单词界线 |
DSBL:DSp dma块长度DSP地址0xFFCB
位 | 名称 | 类型 | 复位 | 描述 |
15..2 | 块长度 | R/W | 0x0 | 该寄存器用于指定从位15到位2的DSPDMA传递长度 |
1,0 | 其LSBs的2位 | R | 0x0 | 传递长度是若干个4字节 |
DSCR:DSp dma控制寄存器DSP地址0xFFC9
位 | 名称 | 类型 | 复位 | 描述 |
15..3 | R | 0x0 | 被保存 | |
2 | DSP DMA占用 | R | 0x0 | 块长度计算器还不到0,DMA仍然被占用 |
1 | DSP来源/目标 | R/W | 0x0 | 涉及DMA的DSP存储器0:DSP数据存储器1:DSP指令存储器 |
0 | 转换方向 | R/W | 0x0 | 0:从主存储器到DSP存储器 |
1:从DSP存储器到主存储器 |
在示范系统中,指令RAM由四个256x64位同步单道双重端口SRAM构成,指令ROM由两个2048x16位同步单个端口ROM构成。指令RAM和指令ROM互相独立,因此,当为指令RAM执行一个读/写DMA操作时,DSP核心811可以存取指令ROM。此外,当DSP DMA 819写到指令RAM时,DSP核心811能够读取指令RAM。为了避免硬件冲突,同时进行的读/写的写、读地址应该是不同的。
数据RAM被组织成4页,每页的尺寸是1千单词。数据ROM被组织成具有2千单词尺寸的1页。一个数据RAM页由四个256x16位同步单道双重端口SRAM构成,数据ROM页由一个2048x16位同步单个端口ROM构成。每页独立于其他页,以便每页具有其自己的数据、地址总线和读、写控制信号连接到三个请求器。DSP总线1和2的数据输入/输出端口有16位宽,DSP DMA819的数据输入/输出端口有64位。在此安排中,可同时为三个请求器运行三页。
在这个示范系统中,每个SRAM页可以由一读或一写,或者由一读与一写来存取,但不能由两读或两写来存取。读可以是DSP总线1或2或DSP DMA读,写可以是DSP总线1或2或DSP DMA写。ROM页只能由一读来存取,读可以写一个DSP总线1或2读。DSP DMA 819不能读取数据ROM。如果一页正在由DSP DMA读取,则DSP 811仍然可以读取该页或读/写其他页。为了避免硬件冲突,DSP读与DMA写,或者DSP写与DMA读不应该发生在相同的地址位置。DSP 811不被允许读取DMA正在读取的那页,DSP不被允许写DMA正在写的那页。
图10C是一幅加速器821的方框图。如上所述,加速器821(而非DSP核心811)被用于从音频存储器126读取和写到音频存储器126。加速器821包括一个以下生成电路902的地址,该电路自动增加地址或生成用于下一个地址的一个围绕地址(循环寻址)的包。加速器821包括三个数据线904a-904c,它们在读操作中用作预先取出缓冲器,在写操作中用作写缓冲器。如下面将解释的,当DSP核心811的操作存取音频存储器126时,数据线904a-904c隐藏音频存储器126的存取等待时间。当DSP读取起始地址的数据时,或者当DSP将结尾地址写到数据线时,生成一个对DSP核心811的中断。
三个参数寄存器(当前地址、起始地址、结尾地址)906a-906c被用来定义音频存储器126的存储空间中的一个循环缓冲器。每个参数寄存器有27位宽,可以由音频DSP读/写。以下的地址生成电路902把“1”加到当前地址,以获得下一个地址。如果当前地址等同于结尾地址,那么,下一个地址就是起始地址。参数寄存器906a-906c用于从音频存储器126读取和写到音频存储器126。寄存器中的地址与数据之间的关系如下所示:
ACCAH:加速器aram当前地址高DSP地址:0xFFD8
位 | 名称 | 类型 | 复位 | 描述 |
15 | 方向 | R/W | 0x0 | 0:加速器读ARAM1:加速器写ARAM |
14...11 | R | 0x0 | 被保存 | |
10...0 | 当前地址高单词 | R/W | 0x0 | ARAM当前地址的位26到位16 |
ACCAL:加速器aram当前地址低DSP地址:0xFFD9
位 | 名称 | 类型 | 复位 | 描述 |
15...0 | 当前地址低单词 | R/W | 0x0 | ARAM当前地址的位15到位0 |
ACEAH:加速器aram结尾地址高DSP地址:0xFFD6
位 | 名称 | 类型 | 复位 | 描述 |
15...11 | R | 0x0 | 被保存 | |
10...0 | 结尾地址高单词 | R/W | 0x0 | ARAM结尾地址的位26到位16 |
ACEAL:加速器aram结尾地址低DSP地址:0xFFD7
位 | 名称 | 类型 | 复位 | 描述 |
15...0 | 结尾地址低单词 | R/W | 0x0 | ARAM结尾地址的位15到位0 |
ACSAH:加速器aram起始地址高DSP地址:0xFFD4
位 | 名称 | 类型 | 复位 | 描述 |
15...11 | R | 0x0 | 被保存 | |
10 | 起始地址 | R | 0x0 | ARAM起始地址的位 |
...0 | 高单词 | /W | 26到位16 |
ACSAL:加速器aram起始地址低DSP地址:0xFFD5
位 | 名称 | 类型 | 复位 | 描述 |
15...0 | 起始地址低单词 | R/W | 0x0 | ARAM起始地址的位15到位0 |
数据线904a-904c都有16位宽。对于读操作而言,数据线用作预取出缓冲器,其中,数据事先从音频存储器126被读取并在DSP核心811读取数据线时准备传递。对于写操作而言,数据线的功能是来自DSP核心811(将被写到音频存储器126)的数据的临时缓冲器。数据线904a-906c以一种FIFO的方式来形成,其输入/输出端口可由DSP核心811读/写。数据线中的数据的地址对应于当前地址及其随后的两个地址。
这里描述的音频子系统使声音发射器能够被放置在三维空间中,并为一种生成生理声学3D音效的有功效的装置提供一对扬声器。音频子系统包括一个音频存储器(例如,能够存储声音取样)、仪器波表、音频磁道和从海量存储装置(例如,DVD)读取的类似物。这些取样、波表、磁道等随后由一个音频数字信号处理器读出和处理,以产生游戏音频内容。该内容从随后读出它的地方被传递到一个主存储器,用于提供给一个译码器和输出到扬声器。通过避免与其他试图存取主系统存储器的资源(例如,图形子系统)争夺的需要,分离的音频存储器改进了音频处理电路对音频数据的存取。
如这里所描述的,一个音频存储器126提供了一个机会:进一步提高系统有效地为需要这种存取的那些资源提供数据存取的能力。例如,一个DVD具有相对高的“等待时间”,即,数据响应于对数据的一个要求而被返回要花相对长的时间。所以,在需要数据之前预先取出数据(例如,动画数据和来自DVD的被压缩的图形数据)是有用的,这样,数据可以迅速地被提供给需要数据的一个部分。音频存储器可以被用作此“预先取出的”非音频相关数据的一个高速缓冲存储器。然后,当需要非音频相关数据时,(例如)在转换管道中,DMA电路825被用于将数据传递到主存储器112,在那里需要它的部分可以获得它。如果合适的话,被传递到主存储器的数据可以被减压。
在示范系统中,音频存储器126没有一个与海量存储装置62的直接接口。这样,用于预缓存的非音频相关数据经由外围控制器162从海量存储装置62被读到主存储器112,然后经由ARAM DMA 825被写到音频存储器126。需要时,(例如)在转换管道中,非音频相关数据后来被读回主存储器112。当然,在其他的实施中,可以为音频存储器126提供一个与海量存储装置62的直接接口,非音频相关数据可能被“预缓存”在音频存储器126中,而不首先通过主存储器112。
运行时间的音频库包括一种资源管理算法,它监督音频DSP 156的资源使用情况并动态地、相应地限制语音分配。这防止了音频DSP 156超载(可能会导致音频输出被破坏)。更适宜的是,该资源管理算法假设最差情况存储器存取的等待时间,以进一步确保平稳、连续的音频。例如,可以支持64种语音,这取决于每种语音的混合与处理要求。
其他的示范性相兼容的实施
某些上述系统部分50的实施可以不只是上述的家庭视频游戏控制台配置。例如,可以运行图形应用程序或在一个平台(具有一种模拟系统50或与其相兼容的不同的配置)上为系统50编写的其他软件。如果其他平台能够成功地模拟、模仿和/或提供系统50的一些或所有的硬件和软件资源,那么,其他平台将能够成功地执行该软件。
作为一个例子,一个仿真器可以提供一个不同于系统50的硬件和/或软件配置(平台)的硬件和/或软件配置(平台)。仿真器系统可以包括模拟或模仿该系统(应用程序软件为它而编写)的一些或所有的硬件和/或软件部分的软件和/或硬件部分。例如,仿真器系统可以包括一台通用的数码电脑(例如,执行模拟系统50的硬件和/或固件的一个软件仿真器程序的一台个人电脑)。上述音频系统的DSP处理可以在一台个人电脑上被模拟。
一些通用的数码电脑(例如,IBM或MacIntosh个人电脑和兼容的)现在被装备了3D图形卡,这些卡提供了适应DirectX或其他标准3D图形命令APIs的3D图形管道。它们也可以被装备立体音响的声卡(提供基于一标准套声音命令的高质量的立体声)。这些运行仿真器软件的多媒体-硬件装备的个人电脑可以具有接近系统50的图形与声音性能的充分的性能。仿真器软件控制个人电脑平台上的硬件资源,以模仿家庭视频游戏控制台平台(游戏编程员为它编写了该游戏软件)的处理、3D图形、声音、外围能力与其他能力。
图11A示出了一个使用一个主机平台1201、一个仿真器部分1303和一个存储介质62上提供的一个游戏软件可执行二进位图像的示范总模拟过程。主机1201可以是一种通用的或有特殊用途的数字计算装置(例如,一台个人电脑、一个视频游戏控制台或具有足够的计算能力的任何其他平台)。仿真器1303可以是在主机平台1201上运行的软件和/或硬件,并将来自存储介质62的命令、数据和其他信息实时地转换成一种可由主机1201处理的形式。例如,仿真器1303从存储介质62取出“来源”二进位图像程序指令(用于系统50的执行)并将这些程序指令转换成一种可由主机1201执行或处理的目标格式。
作为一个例子,在所编写的软件用于在使用一个IBM PowerPC或其他特殊的处理器的一个平台上的执行操作和主机1201是一台使用一个不同的(例如,Intel)处理器的个人电脑的情况下,仿真器1303从存储介质62取出一个或一系列二进位图像程序指令,并将这些程序指令转换成一个或更多相等的Intel二进位图像程序指令。仿真器1303还取出和/或生成用于图像与音频处理器114的处理的图像命令与音频命令,并将这些命令转换成可由主机1201上存在的硬件和/或软件图形与音频处理资源处理的一种格式或多种格式。作为一个例子,仿真器1303可以将这些命令转换成可由主机1201的特殊图形和/或声音硬件处理的命令(例如,声音标准DirectX、OpenGL和/或声音APIs)。
上述用于提供视频游戏系统的一些或所有特征的一个仿真器1303也可以被提供一个图形用户接口(GUI),该图形用户接口使采用仿真器的游戏运行的各种选项和屏幕模式的选择简单化和自动化。在一个例子中,这种仿真器1303还可以包括与主机平台(软件原本为它设计)比较而言已提高的功能性。
图11B示出了适合使用仿真器1303的一个模拟主机系统1201。系统1201包括一个处理元件1203和一个系统存储器1205。一个系统总线1207将包括系统存储器1205的各种系统部分耦合到处理元件1203。系统总线1207可以是几种类型的总线结构(包括一个存储器总线或存储控制器、一个外围总线和使用各种总线构造中的任何总线构造的一个地方总线)中的任何总线结构。系统总线1207包括只读存储器(ROM)1252和随机存取存储器(RAM)1254。一个基本输入/输出系统(BIOS)1256被存储在ROM 1252中。该系统包含的基本程序帮助个人电脑系统1201内的各元件之间的信息转换(例如,在启动过程中)。系统1201还包括各种驱动器和有关的电脑可读介质。一个硬盘驱动器1209从一个(通常是固定的)硬磁盘1211读取并写到该硬磁盘。一个附加(可以任选)的驱动器1213从一个可移动的“软盘”或其他磁盘1215读取并写到该软盘或磁盘。一个光盘驱动器1217从一个可移动的光盘1219(例如,一个CD ROM或其他光介质)读取,并在某些配置中写到该光盘。硬盘驱动器1209和光盘驱动器1217分别通过一个硬盘驱动器接口1221和一个光驱动器接口1225连接到系统总线1207。这些驱动器及其有关的电脑可读介质为个人电脑系统1201提供电脑可读指令、数据结构、程序模数、游戏程序和其他数据的非易失性的存储。在其他的配置中,也可以使用其他类型的电脑可读介质。这些介质可以存储可由电脑(例如,盒式磁带、flash存储卡、数码影碟、Bernoulli盒式磁带、随机存取存储器(RAMs)、只读存储器(ROMs)等类似物)存取的数据。
包括仿真器1303的许多程序模数可以被存储在系统存储器1205的硬盘1211、可移动的磁盘1215、光盘1219和/或ROM 1252和/或RAM 1254上。这种程序模数可以包括一个提供图形和声音的操作系统、一个或多个应用程序、其他的程序模数、程序数据和游戏数据。用户可以通过输入装置(例如,一个键盘1227、指示装置1229、麦克风、操纵杆、游戏控制器、碟形卫星天线、扫描仪或类似物)来把命令和信息输入个人电脑系统1201。这些和其他的输入装置可以通过耦合到系统总线1207的一个串联端口接口1231来连接到处理元件1203,但可以由其他接口(例如,一个并联端口、游戏端口Fire电线总线或一个通用串行总线(USB))来连接。一个监视器1233或其他类型的显示装置也经由一个接口(例如,一个视频适配器1235)连接到系统总线1207。
系统1201也可以包括一个调制解调器1154或其他网络接口装置,用于在一个网络1152(例如,互联网)上建立通讯交流。调制解调器1154(可以是内部或外部的)经由串联端口接口1231连接到系统总线123。还可以提供一个网络接口1156,用于允许系统1201经由一个地方区域网络1158与一个远程计算装置1150(例如,另一个系统1201)进行通讯(或者,这种通讯可以经由宽区域网络1152或拨号(上网)或其他通讯装置等其他的通讯路径)。系统1201通常将包括其他的外围输出装置(例如,打印机和其他标准外围装置)。
在一个例子中,视频适配器1235可以包括一个3D图形管道芯片装置,它响应于基于一个标准3D图形应用程序编程员接口(例如,微软的DirectX 7.0或其他版本)发出的命令来提供快速3D图形转换。一套立体声扩音器1237也经由一个声音生成接口(例如,一张提供硬件与嵌入软件支持的传统“声卡”,用于根据由总线1207提供的声音命令来生成高质量的立体声)连接到系统总线1207。这些硬件能力允许系统1201提供充分的图形与声音速度性能来播放存储在存储介质62中的软件。
已结合当前被认为最实际的最佳实施例来描述本发明,但不言而喻,本发明并不局限于所揭示的实施例,相反意在包括所附权利要求的范围内的各种修改和相等的安排。
Claims (53)
1.一种视频游戏系统,其特征在于,它包含:
一个音频数字信号处理器;
一个主存储器;
一个与主存储器分开并存储了由音频数字信号处理器处理的音频相关数据的音频存储器;
一个海量存储装置;以及
存储器存取电路,用于读取存储在海量存储装置上的非音频相关数据,并将非音频相关数据写到音频存储器,随后,从音频存储器读取非音频相关数据并将非音频相关数据写到主存储器上。
2.如权利要求1所述的视频游戏系统,其特征在于,所述音频存储器包含存储元件和外存储元件。
3.如权利要求1所述的视频游戏系统,其特征在于,所述音频存储器包含SDRAM。
4.如权利要求1所述的视频游戏系统,其特征在于,所述非音频相关数据包含图形数据。
5.如权利要求1所述的视频游戏系统,其特征在于,所述非音频相关数据包含动画数据。
6.如权利要求1所述的视频游戏系统,其特征在于,其中,非音频相关数据包含被压缩的几何图形数据。
7.如权利要求1所述的视频游戏系统,其特征在于,它还包括:
音频存储控制器,用于仲裁对电路与音频数字信号处理器之间的音频存储器的存取。
8.如权利要求7所述的视频游戏系统,其特征在于,所述音频存储控制器提供的对音频数字信号处理器的存取优先权比对所述电路的存取优先权更高。
9.如权利要求7所述的视频游戏系统,其特征在于,所述电路音频存储控制器生成音频存储器更新周期。
10.如权利要求7所述的视频游戏系统,其特征在于,所述音频存储控制器提供音频存储器初始定时信号,以便在复位后使音频存储器稳定。
11.如权利要求1所述的视频游戏系统,其特征在于,所述电路还包括:缓冲器,用于存储从音频存储器读取的和被写入音频存储器的数据。
12.如权利要求1所述的视频游戏系统,其特征在于,所述存储器存取电路包括:
存储第一个存储器地址的第一存储器地址寄存器;
存储第二个存储器地址的第二存储器地址寄存器;
用于存储块长度的块长度寄存器;以及
寄存器改变电路,用于改变存储在第一存储器地址寄存器、第二存储器地址寄存器和块长度寄存器中的数据。
13.如权利要求1所述的视频游戏系统,其特征在于,所述第一存储器地址寄存器存储主存储器地址,而所述第二存储器地址寄存器存储音频存储器地址。
14.如权利要求1所述的视频游戏系统,其特征在于,所述电路还包括:
用于产生中断的控制逻辑。
15.如权利要求1所述的视频游戏系统,其特征在于,所述海量存储装置包括一个DVD。
16.如权利要求1所述的视频游戏系统,其特征在于,所述非音频相关数据以32字节为单位被读取和写入。
17.一种存取存储在海量存储装置上的非音频相关数据的方法,其特征在于,它包括:
提供一个与主存储器分离的音频存储器,并在其中存储由音频数字信号处理器处理的音频相关数据;
读取存储在所述海量存储装置上的非音频相关数据,并将非音频相关数据写入所述音频存储器;以及,
以后从所述音频存储器读取非音频数据,并将所述非音频数据写入主存储器。
18.如权利要求17所述的方法,其特征在于,所述音频存储器包括内、外存储元件。
19.如权利要求17所述的方法,其特征在于,所述音频存储器包括SDRAM。
20.如权利要求17所述的方法,其特征在于,所述非音频相关数据包含图形数据。
21.如权利要求17所述的方法,其特征在于,所述非音频相关数据包含动画数据。
22.如权利要求17所述的方法,其特征在于,所述非音频相关数据包含被压缩的几何图形数据。
23.如权利要求17所述的方法,其特征在于,所述海量存储装置包括一个DVD。
24.如权利要求17所述的方法,其特征在于,所述非音频相关数据以32字节为单位被读取和写入。
25.一种视频游戏机,其特征在于,它包含:
大存储存取装置,用来存取大存储装置,所述大存储装置存储包含有视频游戏数据的视频游戏程序;
执行所述视频游戏程序的视频游戏程序执行系统;
主存储器;
与所述主存储器隔开的音频存储器;
用来处理所述音频存储器中存储的与声音有关的视频游戏数据的音频数字处理器;以及
存储器存取电路,用来将从所述大存储器装置提供的与音频无关的视频游戏数据写入所述音频存储器,并且随后从所述音频存储器读取所述与音频无关的视频游戏数据,以及将所述读取的与音频无关的视频游戏数据提供到所述主存储器,用来由所述视频游戏程序执行系统进行处理。
26.如权利要求25所述的视频游戏机,其特征在于,所述大存储存取装置包含光盘存取装置。
27.如权利要求25所述的视频游戏机,其特征在于,所述存储器存取电路包含:
主存储器地址寄存器;
音频存储器地址寄存器;以及
块长寄存器;
其中,对所述音频存储器进行的写入和读取是按照所述主存储器地址寄存器、所述音频存储器地址寄存器和所述块长寄存器的内容来进行的。
28.如权利要求27所述的视频游戏机,其特征在于,所述主存储器地址寄存器、所述音频存储器地址寄存器和块长寄存器的地址是由所述音频游戏程序执行系统写入的。
29.如权利要求25所述的视频游戏机,其特征在于,所述与音频无关的数据包含图像数据。
30.如权利要求25所述的视频游戏机,其特征在于,所述与音频无关的数据包含动画数据。
31.如权利要求25所述的视频游戏机,其特征在于,所述与音频无关的数据包含经压缩的几何数据。
32.如权利要求25所述的视频游戏机,其特征在于,所述存储器存取电路提供直接存储器存取(DMA)信道。
33.如权利要求25所述的视频游戏机,其特征在于,所述音频存储器中存储的音频数据包含经压缩的音频数据。
34.如权利要求25所述的视频游戏机,其特征在于,所述音频存储器中存储的音频音频包含经压缩的仪器波表。
35.如权利要求25所述的视频游戏机,其特征在于,所述视频程序执行系统的运行时应用程序提供用于在所述音频存储器中存储的音频轨道的同时回放。
36.如权利要求25所述的视频游戏机,其特征在于,它还包含:
音频存储器模式寄存器,用于指定脉冲串长度、音频存储器寻址模式、等待时间、音频存储器存取模式中的一项或多项。
37.如权利要求25所述的视频游戏机,其特征在于,所述音频存储器的刷新周期是可编程的。
38.如权利要求25所述的视频游戏机,其特征在于,它还包含:仲裁电路,用来仲裁所述存储器存取电路和至少一个其它音频存储器读/写请求源之间的音频存储器读/写请求。
39.如权利要求38所述的视频游戏机,其特征在于,由所述存储器存取寄存器进行的对所述音频存储器的存取是可屏蔽的,以提供对所述其它音频存储器读/写源中的一个的专用音频存储器存取。
40.如权利要求38所述的视频游戏机,其特征在于,所述音频存储器是由所述存储器存取电路以及至少一个其它音频存储器读/写源采用交错的存储器库存取方案来存取的。
41.如权利要求25所述的视频游戏机,其特征在于,它还包含:
用于指定音频存储器存取方向的寄存器单元。
42.如权利要求25所述的视频游戏机,其特征在于,由所述存储器存取电路写入到所述音频存储器内的所述与音频无关的视频游戏数据是从所述大存储器装置通过所述主存储器提供到所述存储器存取电路的。
43.如权利要求25所述的视频游戏机,其特征在于,由所述存储器存取电路写入到所述音频存储器内的所述与音频无关的视频游戏数据是从所述大存储器装置提供到所述存储器存取电路的。
44.一种对视频游戏机进行预先高速缓存的方法,所述游戏机包含大存储器存取装置,用于对存储有包含视频游戏数据的视频游戏程序的大存储装置进行访问;用于执行所述视频游戏程序的视频游戏程序执行系统;主存储器;与所述主存储器分开的音频存储器;以及音频数字信号处理器,用于处理所述音频存储器中存储的与音频有关的视频游戏,其特征在于,所述方法包含:
将从所述大存储装置提供的与音频无关的视频游戏数据写入所述音频存储器;以及
随后从所述音频存储器读取所述与所述音频无关的视频游戏数据,并将所述非音频的视频游戏数据写入到所述主存储器,用于由所述视频游戏程序执行系统进行处理。
45.如权利要求44所述的方法,其特征在于,所述随后的读取包含:
指定主存储器起始地址、音频存储器起始地址,以及块长;以及
按照指定的主存储器起始地址、音频存储器起始地址和块长,从所述音频存储器读取所述非音频视频游戏数据,并将所述非音频的视频游戏数据写入到所述主存储器内。
46.如权利要求44所述的方法,其特征在于,所述非音频的视频游戏数据包含图像数据。
47.如权利要求44所述的方法,其特征在于,所述与音频无关的数据包含动画数据。
48.如权利要求44所述的方法,其特征在于,所述与音频无关的数据包含几何数据。
49.如权利要求44所述的方法,其特征在于,写入到所述音频存储器内的所述与音频无关的视频游戏数据是从所述大存储器装置通过所述主存储器提供的。
50.如权利要求44所述的方法,其特征在于,写入到所述音频存储器内的所述与音频无关的视频游戏数据是从所述大存储器装置提供的。
51.一种视频游戏机,其特征在于,它包含:
大存储器存取装置,用来存取存储有包含视频游戏数据的视频游戏程序的大存储装置;
执行所述视频游戏程序的视频游戏程序执行装置;
主存储器;
与所述主存储器分开并存储有音频相关视频游戏数据的音频存储器装置;
处理所述音频存储器装置中存储的与音频有关的视频游戏数据的音频数字信号处理装置;以及
写/读装置,用来将从所述大存储器装置提供的与音频无关的视频游戏数据写入到所述音频存储器装置内,并且用来随后从所述音频存储器装置读出所述与音频无关的视频游戏数据,并将所述读出的与音频无关的视频游戏数据提供到所述主存储器,由所述视频游戏程序执行装置进行处理。
52.一种视频游戏系统,其特征在于,它包含:
音频数字信号处理器;
主存储器;
与所述主存储器分开并用来存储与音频有关的数据用于由所述音频数字信号处理器进行处理的音频存储器;
大存储器装置;以及
读取所述大存储器装置上存储的与音频无关的数据并且将所述与音频无关的数据写到所述音频存储器上,并且随后从所述音频存储器读取所述与音频无关的数据并且将所述与音频无关的数据写到所述主存储器上的电路,
其中,所述电路包含:
存储第一存储器地址的第一存储器地址寄存器;
存储第二存储器地址的第二存储器地址寄存器;
存储块长的块长寄存器;以及
用来变更所述第一存储器地址寄存器、第二存储器地址寄存器以及块长寄存器中存储的数据的寄存器变更电路。
53.一种存取大存储器装置中存储的与音频无关的数据的方法,其特征在于,它包含:
提供与主存储器分开的并在其中存储与音频有关的数据用于由音频数字信号处理器进行处理的音频存储器;
读取所述大存储器装置上存储的与音频无关的数据,并将所述与音频无关的数据写到所述音频存储器上;以及
随后从所述音频存储器读取非音频数据,并将所述非音频数据写到所述主存储器上,
其中,在所述音频存储器进行写入和读取包含:
指定第一存储器地址;
指定第二存储器地址;
指定块长;以及
变更所述第一存储器地址、第二存储器地址和块长。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22689900P | 2000-08-23 | 2000-08-23 | |
US60/226,899 | 2000-08-23 | ||
US09/722,667 | 2000-11-28 | ||
US09/722,667 US6606689B1 (en) | 2000-08-23 | 2000-11-28 | Method and apparatus for pre-caching data in audio memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1342934A CN1342934A (zh) | 2002-04-03 |
CN1256675C true CN1256675C (zh) | 2006-05-17 |
Family
ID=26920967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011209860A Expired - Lifetime CN1256675C (zh) | 2000-08-23 | 2001-08-23 | 在音频存储器中预缓存数据的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6606689B1 (zh) |
EP (1) | EP1197250B1 (zh) |
KR (1) | KR100458395B1 (zh) |
CN (1) | CN1256675C (zh) |
AU (1) | AU785318B2 (zh) |
CA (1) | CA2355794C (zh) |
DE (1) | DE60118125T2 (zh) |
HK (1) | HK1045388B (zh) |
TW (1) | TWI232768B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001073563A1 (en) * | 2000-03-24 | 2001-10-04 | Dotrocket, Inc. | A system and method for increasing data packet transfer rate in a computer network |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
JP2002236607A (ja) * | 2001-02-13 | 2002-08-23 | Matsushita Electric Ind Co Ltd | 共有メモリ制御装置とマルチメディア処理システム |
US7330991B2 (en) * | 2003-05-15 | 2008-02-12 | Lsi Logic Corporation | Method and/or apparatus for paging to a dynamic memory array |
KR100694395B1 (ko) * | 2004-03-02 | 2007-03-12 | 엘지전자 주식회사 | 웨이브 테이블 기반의 미디 합성 방법 |
US7664167B2 (en) * | 2004-06-30 | 2010-02-16 | Silicon Laboratories | Method and apparatus for managing modem sample rates on a digital audio interface within a direct access arrangement circuit |
US7649929B2 (en) * | 2004-06-30 | 2010-01-19 | Silicon Laboratories | Method and apparatus for reducing modem command and status latency on a digital audio interface within a direct access arrangement circuit |
JP3908772B1 (ja) * | 2005-12-26 | 2007-04-25 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム装置の制御方法及びプログラム |
JP3962079B1 (ja) * | 2006-02-16 | 2007-08-22 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム装置の制御方法及びプログラム |
JP3977405B1 (ja) * | 2006-03-13 | 2007-09-19 | 株式会社コナミデジタルエンタテインメント | ゲーム音出力装置、ゲーム音制御方法、および、プログラム |
CN101024124B (zh) * | 2007-03-30 | 2011-08-03 | 北京金山软件有限公司 | 显示游戏角色状态的方法及装置 |
WO2008126392A1 (ja) * | 2007-04-11 | 2008-10-23 | Panasonic Corporation | 画像生成装置及び画像生成方法 |
EP2141693A4 (en) * | 2007-05-21 | 2011-11-02 | Panasonic Corp | ENCODER / DECODER OF SPEECH |
AU2008202315A1 (en) | 2007-06-14 | 2009-01-08 | Aristocrat Technologies Australia Pty Limited | A method of providing a player interface in a gaming system |
US8683135B2 (en) * | 2010-10-31 | 2014-03-25 | Apple Inc. | Prefetch instruction that ignores a cache hit |
US20120250877A1 (en) * | 2011-03-31 | 2012-10-04 | Taiyi Cheng | Method and system for processing audio signals in a central audio hub |
CN102360344B (zh) * | 2011-10-10 | 2014-03-12 | 西安交通大学 | 矩阵处理器及其指令集和嵌入式系统 |
US20160191650A1 (en) * | 2013-06-06 | 2016-06-30 | Yahoo Inc. | Method and system for dynamic content pre-caching |
GB2544474B (en) * | 2015-11-16 | 2020-02-26 | Advanced Risc Mach Ltd | Event triggered programmable prefetcher |
US11281493B2 (en) * | 2018-05-30 | 2022-03-22 | Texas Instruments Incorporated | Real-time context specific task manager for multi-core communication and control system |
Family Cites Families (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4425559A (en) | 1980-06-02 | 1984-01-10 | Atari, Inc. | Method and apparatus for generating line segments and polygonal areas on a raster-type display |
US4388620A (en) | 1981-01-05 | 1983-06-14 | Atari, Inc. | Method and apparatus for generating elliptical images on a raster-type video display |
US4570233A (en) | 1982-07-01 | 1986-02-11 | The Singer Company | Modular digital image generator |
US4725831A (en) | 1984-04-27 | 1988-02-16 | Xtar Corporation | High-speed video graphics system and method for generating solid polygons on a raster display |
US4658247A (en) | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
JPS62192878A (ja) | 1986-02-20 | 1987-08-24 | Nippon Gakki Seizo Kk | 多角形の塗りつぶし方法 |
US4862392A (en) | 1986-03-07 | 1989-08-29 | Star Technologies, Inc. | Geometry processor for graphics display system |
JPS62231380A (ja) | 1986-03-31 | 1987-10-09 | Namuko:Kk | 画像合成装置 |
US5504917A (en) | 1986-04-14 | 1996-04-02 | National Instruments Corporation | Method and apparatus for providing picture generation and control features in a graphical data flow environment |
US5170468A (en) | 1987-08-18 | 1992-12-08 | Hewlett-Packard Company | Graphics system with shadow ram update to the color map |
US4866637A (en) | 1987-10-30 | 1989-09-12 | International Business Machines Corporation | Pipelined lighting model processing system for a graphics workstation's shading function |
US4945500A (en) | 1987-11-04 | 1990-07-31 | Schlumberger Technologies, Inc. | Triangle processor for 3-D graphics display system |
US4901064A (en) | 1987-11-04 | 1990-02-13 | Schlumberger Technologies, Inc. | Normal vector shading for 3-D graphics display system |
CA1309198C (en) | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
US5136664A (en) | 1988-02-23 | 1992-08-04 | Bersack Bret B | Pixel rendering |
US5239654A (en) | 1989-11-17 | 1993-08-24 | Texas Instruments Incorporated | Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode |
BR9104307A (pt) | 1990-02-05 | 1992-08-04 | Ricoh Kk | Aparelho de video de animacao e memoria externa usada para ele |
US5801716A (en) | 1990-08-16 | 1998-09-01 | Canon Kabushiki Kaisha | Pipeline structures for full-color computer graphics |
JP2725915B2 (ja) | 1990-11-15 | 1998-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 三角形描画装置及び方法 |
US5774133A (en) | 1991-01-09 | 1998-06-30 | 3Dlabs Ltd. | Computer system with improved pixel processing capabilities |
US5421028A (en) | 1991-03-15 | 1995-05-30 | Hewlett-Packard Company | Processing commands and data in a common pipeline path in a high-speed computer graphics system |
US5261072A (en) * | 1991-10-31 | 1993-11-09 | Tandy Corporation | Compact disk data transfer system using cache memory |
CA2070934C (en) | 1992-06-10 | 1998-05-05 | Benny Chi Wah Lau | Graphics display system |
AU3058892A (en) | 1992-11-02 | 1994-05-24 | 3Do Company, The | Audio/video computer architecture |
US5392393A (en) | 1993-06-04 | 1995-02-21 | Sun Microsystems, Inc. | Architecture for a high performance three dimensional graphics accelerator |
US5553220A (en) * | 1993-09-07 | 1996-09-03 | Cirrus Logic, Inc. | Managing audio data using a graphics display controller |
CA2140850C (en) * | 1994-02-24 | 1999-09-21 | Howard Paul Katseff | Networked system for display of multimedia presentations |
DE69525556T2 (de) * | 1994-03-21 | 2002-09-12 | Avid Technology Inc | Gerät und Verfahren ausgeführt auf einem Rechner für Echtzeit Multimedia Datenübertragung in einer verteilten Rechneranordnung |
JP3240821B2 (ja) | 1994-04-22 | 2001-12-25 | 株式会社日立製作所 | 高機能画像メモリlsi及びそれを用いた表示装置 |
US5768626A (en) | 1994-06-24 | 1998-06-16 | Intel Corporation | Method and apparatus for servicing a plurality of FIFO's in a capture gate array |
US5984512A (en) | 1994-07-29 | 1999-11-16 | Discovision Associates | Method for storing video information |
WO1996008772A1 (en) | 1994-09-14 | 1996-03-21 | Micropolis Corporation | Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching |
US6002411A (en) | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
US5815166A (en) | 1995-03-24 | 1998-09-29 | 3Dlabs Inc., Ltd. | Graphics subsystem with slaveable rasterizer |
US5701444A (en) | 1995-03-24 | 1997-12-23 | 3Dlabs Inc. Ltd. | Three-dimensional graphics subsystem with enhanced support for graphical user interface |
US5805868A (en) | 1995-03-24 | 1998-09-08 | 3Dlabs Inc. Ltd. | Graphics subsystem with fast clear capability |
US5777629A (en) | 1995-03-24 | 1998-07-07 | 3Dlabs Inc. Ltd. | Graphics subsystem with smart direct-memory-access operation |
US5764243A (en) | 1995-03-24 | 1998-06-09 | 3Dlabs Inc. Ltd. | Rendering architecture with selectable processing of multi-pixel spans |
US5798770A (en) | 1995-03-24 | 1998-08-25 | 3Dlabs Inc. Ltd. | Graphics rendering system with reconfigurable pipeline sequence |
US5727192A (en) | 1995-03-24 | 1998-03-10 | 3Dlabs Inc. Ltd. | Serial rendering system with auto-synchronization on frame blanking |
US6025853A (en) | 1995-03-24 | 2000-02-15 | 3Dlabs Inc. Ltd. | Integrated graphics subsystem with message-passing architecture |
US5594854A (en) | 1995-03-24 | 1997-01-14 | 3Dlabs Inc. Ltd. | Graphics subsystem with coarse subpixel correction |
US5687357A (en) | 1995-04-14 | 1997-11-11 | Nvidia Corporation | Register array for utilizing burst mode transfer on local bus |
US5721947A (en) | 1995-05-15 | 1998-02-24 | Nvidia Corporation | Apparatus adapted to be joined between the system I/O bus and I/O devices which translates addresses furnished directly by an application program |
US5758182A (en) | 1995-05-15 | 1998-05-26 | Nvidia Corporation | DMA controller translates virtual I/O device address received directly from application program command to physical i/o device address of I/O device on device bus |
US5748983A (en) * | 1995-06-07 | 1998-05-05 | Advanced Micro Devices, Inc. | Computer system having a dedicated multimedia engine and multimedia memory having arbitration logic which grants main memory access to either the CPU or multimedia engine |
WO1996041279A1 (en) | 1995-06-07 | 1996-12-19 | Advanced Micro Devices, Inc. | Computer system having a dedicated multimedia engine including multimedia memory |
EP0797139B1 (en) | 1995-10-09 | 2003-06-18 | Nintendo Co., Limited | Three-dimensional image processing system |
US6331856B1 (en) * | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
JP3519199B2 (ja) | 1996-02-06 | 2004-04-12 | 株式会社ソニー・コンピュータエンタテインメント | 画像生成装置 |
US5813027A (en) | 1996-03-08 | 1998-09-22 | Vlsi Technology, Inc. | Method for storing and transferring wave table audio samples using a DSP cache, a link list structure, and compression |
US5949440A (en) | 1996-04-30 | 1999-09-07 | Hewlett Packard Compnay | Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware |
US5821949A (en) | 1996-07-01 | 1998-10-13 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator with direct data channels for improved performance |
US5874969A (en) | 1996-07-01 | 1999-02-23 | Sun Microsystems, Inc. | Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication |
KR100221028B1 (ko) * | 1996-07-23 | 1999-09-15 | 윤종용 | 그래픽 가속기 및 이를 이용한 메모리 프리패치 방법 |
US6028611A (en) | 1996-08-29 | 2000-02-22 | Apple Computer, Inc. | Modular digital image processing via an image processing chain |
JPH10137445A (ja) * | 1996-11-07 | 1998-05-26 | Sega Enterp Ltd | ゲーム装置、画像音響処理装置および記録媒体 |
KR100205072B1 (ko) * | 1996-12-05 | 1999-06-15 | 정선종 | 디스크 어레이 제어기에서의 vram 기판 패리티 엔진 |
US5940086A (en) | 1997-01-10 | 1999-08-17 | Hewlett Packard Company | System and method for dynamically allocating data among geometry accelerators in a computer graphics system |
US5949424A (en) | 1997-02-28 | 1999-09-07 | Silicon Graphics, Inc. | Method, system, and computer program product for bump mapping in tangent space |
US5977997A (en) | 1997-03-06 | 1999-11-02 | Lsi Logic Corporation | Single chip computer having integrated MPEG and graphical processors |
JP3681026B2 (ja) | 1997-03-27 | 2005-08-10 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および方法 |
US6057852A (en) | 1997-04-30 | 2000-05-02 | Hewlett-Packard Company | Graphics accelerator with constant color identifier |
US5969726A (en) | 1997-05-30 | 1999-10-19 | Hewlett-Packard Co. | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
US5920326A (en) | 1997-05-30 | 1999-07-06 | Hewlett Packard Company | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
JPH1153580A (ja) | 1997-07-31 | 1999-02-26 | Sony Corp | 3次元画像処理装置及びビデオ合成方法 |
US6037949A (en) | 1997-08-04 | 2000-03-14 | Pixar Animation Studios | Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation |
JPH1176614A (ja) | 1997-09-11 | 1999-03-23 | Sega Enterp Ltd | コンピュータゲーム装置 |
US6002409A (en) | 1997-10-29 | 1999-12-14 | Cirrus Logic, Inc. | Arbitration for shared graphics processing resources |
JPH11161819A (ja) | 1997-11-27 | 1999-06-18 | Sega Enterp Ltd | 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体 |
JPH11203500A (ja) | 1998-01-09 | 1999-07-30 | Sega Enterp Ltd | 画像処理装置及びそれに利用されるバンプマップデータを格納した記録媒体 |
JPH11226257A (ja) | 1998-02-16 | 1999-08-24 | Sony Computer Entertainment Inc | 携帯用電子機器及びエンタテインメントシステム並びに記録媒体 |
JPH11259678A (ja) | 1998-03-12 | 1999-09-24 | Sega Enterp Ltd | 画像表示装置及びそれによる画像表示方法 |
JP4061697B2 (ja) | 1998-03-12 | 2008-03-19 | 株式会社セガ | 画像表示方法及びそれを実行する画像表示装置 |
US6124868A (en) | 1998-03-24 | 2000-09-26 | Ati Technologies, Inc. | Method and apparatus for multiple co-processor utilization of a ring buffer |
US6023738A (en) | 1998-03-30 | 2000-02-08 | Nvidia Corporation | Method and apparatus for accelerating the transfer of graphical images |
US6226012B1 (en) | 1998-04-02 | 2001-05-01 | Nvidia Corporation | Method and apparatus for accelerating the rendering of graphical images |
US6092124A (en) | 1998-04-17 | 2000-07-18 | Nvidia Corporation | Method and apparatus for accelerating the rendering of images |
US6492991B1 (en) | 1998-08-28 | 2002-12-10 | Ati International Srl | Method and apparatus for controlling compressed Z information in a video graphics system |
GB2341068B (en) | 1998-07-31 | 2002-11-06 | Sony Uk Ltd | Caching in digital video processing apparatus |
JP2000066985A (ja) | 1998-08-20 | 2000-03-03 | Sony Computer Entertainment Inc | エンタテインメントシステム及びデータ供給方法、データ処理装置及び方法、並びにデータ記憶制御装置及び方法 |
JP4399910B2 (ja) | 1998-09-10 | 2010-01-20 | 株式会社セガ | ブレンディング処理を含む画像処理装置及びその方法 |
JP2000132704A (ja) | 1998-10-26 | 2000-05-12 | Sony Corp | 画像情報処理装置及び方法 |
JP3668019B2 (ja) | 1998-10-27 | 2005-07-06 | 株式会社ソニー・コンピュータエンタテインメント | 記録媒体、画像処理装置および画像処理方法 |
JP2000156875A (ja) | 1998-11-19 | 2000-06-06 | Sony Corp | 映像制作装置および映像表示システムおよびグラフィックス制作方法 |
JP4240343B2 (ja) | 1998-12-19 | 2009-03-18 | 株式会社セガ | 画像生成装置および画像生成方法 |
JP4395902B2 (ja) | 1999-01-19 | 2010-01-13 | 株式会社セガ | 画像処理方法及び、これを利用した画像処理装置 |
JP2000215325A (ja) | 1999-01-21 | 2000-08-04 | Sega Enterp Ltd | 画像処理方法および画像処理装置並びにプログラムを記録した記録媒体 |
US6181352B1 (en) | 1999-03-22 | 2001-01-30 | Nvidia Corporation | Graphics pipeline selectively providing multiple pixels or multiple textures |
US6173367B1 (en) | 1999-05-19 | 2001-01-09 | Ati Technologies, Inc. | Method and apparatus for accessing graphics cache memory |
US6807311B1 (en) | 1999-07-08 | 2004-10-19 | Ati International Srl | Method and apparatus for compressing and storing image data |
US6476811B1 (en) | 1999-09-01 | 2002-11-05 | Ati International, Srl | Method and apparatus for compressing parameter values for pixels in a display frame |
US6198488B1 (en) | 1999-12-06 | 2001-03-06 | Nvidia | Transform, lighting and rasterization system embodied on a single semiconductor platform |
-
2000
- 2000-11-28 US US09/722,667 patent/US6606689B1/en not_active Expired - Lifetime
-
2001
- 2001-08-09 AU AU57858/01A patent/AU785318B2/en not_active Expired
- 2001-08-17 CA CA002355794A patent/CA2355794C/en not_active Expired - Lifetime
- 2001-08-22 EP EP01307123A patent/EP1197250B1/en not_active Expired - Lifetime
- 2001-08-22 DE DE60118125T patent/DE60118125T2/de not_active Expired - Lifetime
- 2001-08-23 TW TW090120696A patent/TWI232768B/zh not_active IP Right Cessation
- 2001-08-23 KR KR10-2001-0050980A patent/KR100458395B1/ko not_active IP Right Cessation
- 2001-08-23 CN CNB011209860A patent/CN1256675C/zh not_active Expired - Lifetime
-
2002
- 2002-09-19 HK HK02106839.0A patent/HK1045388B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US6606689B1 (en) | 2003-08-12 |
AU5785801A (en) | 2002-02-28 |
TWI232768B (en) | 2005-05-21 |
HK1045388B (zh) | 2007-01-12 |
CA2355794A1 (en) | 2002-02-23 |
EP1197250A3 (en) | 2003-09-10 |
CA2355794C (en) | 2006-08-08 |
KR20020015974A (ko) | 2002-03-02 |
KR100458395B1 (ko) | 2004-11-26 |
AU785318B2 (en) | 2007-01-11 |
DE60118125D1 (de) | 2006-05-11 |
EP1197250B1 (en) | 2006-03-22 |
EP1197250A2 (en) | 2002-04-17 |
DE60118125T2 (de) | 2006-10-19 |
CN1342934A (zh) | 2002-04-03 |
HK1045388A1 (en) | 2002-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1256675C (zh) | 在音频存储器中预缓存数据的方法和装置 | |
JP3725524B2 (ja) | コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ | |
JP5025849B2 (ja) | オーディオ信号をプリフェッチするための方法および装置 | |
JP4808858B2 (ja) | グラフィクスパイプラインおよびそれの同期化方法 | |
JP4890638B2 (ja) | グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置 | |
CN1139021C (zh) | 娱乐设备以及控制手动控制器的方法 | |
CN1150472C (zh) | 电视游戏装置及其控制方法 | |
JP4719363B2 (ja) | 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム | |
CN1136517C (zh) | 图象数据处理方法、图象数据处理装置 | |
CN1099655C (zh) | 图像绘制装置及图像绘制方法 | |
CN1199352A (zh) | 命令输入方法和记录介质 | |
JP2002063595A (ja) | スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置 | |
CN1130275A (zh) | 产生图象数据的方法及其有关的记录介质 | |
CN1910619A (zh) | 三维视频游戏系统 | |
CN1173000A (zh) | 用于记录和信息处理的改进方法和装置及其记录介质 | |
JP2002236934A (ja) | グラフィックシステムにおいて改良されたフォグ効果を提供するための方法および装置 | |
JP4570766B2 (ja) | 音声信号をミキシングするための方法および装置 | |
CN1656518A (zh) | 三维图像处理程序、三维图像处理方法、以及视频游戏设备 | |
CN1295654C (zh) | 图象产生方法和装置 | |
CN1258746C (zh) | 图像处理方法 | |
CN1346478A (zh) | 执行透视变换的方法和装置 | |
JP4658397B2 (ja) | オーディオメモリ内のデータを予めキャッシュする方法及び装置 | |
JP5142419B2 (ja) | 共有リソースへのアクセス方法及び装置 | |
JP4698894B2 (ja) | グラフィックスシステムにおけるテクスチャタイリングのための方法、装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20060517 |