JP2002169596A - オーディオ信号をプリフェッチするための方法および装置 - Google Patents
オーディオ信号をプリフェッチするための方法および装置Info
- Publication number
- JP2002169596A JP2002169596A JP2000394136A JP2000394136A JP2002169596A JP 2002169596 A JP2002169596 A JP 2002169596A JP 2000394136 A JP2000394136 A JP 2000394136A JP 2000394136 A JP2000394136 A JP 2000394136A JP 2002169596 A JP2002169596 A JP 2002169596A
- Authority
- JP
- Japan
- Prior art keywords
- address
- audio
- memory
- data
- bit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000005236 sound signal Effects 0.000 title claims abstract description 17
- 230000015654 memory Effects 0.000 claims abstract description 217
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000008859 change Effects 0.000 abstract description 3
- 239000000872 buffer Substances 0.000 description 32
- 238000012546 transfer Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000006837 decompression Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000002156 mixing Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- QGBNWHBKVFAIJY-JTQLQIEISA-N (2S)-2-acetamido-4-methylsulfanyl-N-(3-methylsulfanylpropyl)butanamide Chemical compound CSCCCNC(=O)[C@H](CCSC)NC(C)=O QGBNWHBKVFAIJY-JTQLQIEISA-N 0.000 description 2
- 102100039341 Atrial natriuretic peptide receptor 2 Human genes 0.000 description 2
- 101000961040 Homo sapiens Atrial natriuretic peptide receptor 2 Proteins 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004049 embossing Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 241001342895 Chorus Species 0.000 description 1
- 241000086550 Dinosauria Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- A63F13/10—
-
- 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/45—Controlling the progress of the video game
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/54—Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Memory System (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
h:予め取り出すこと)することによって、オーディオ
信号プロセサがオーディオデータの読出しを継続でき、
したがって、原形を損なわずにオーディオの再生を提供
できる。 【解決手段】 オーディオシステムは、オーディオデー
タをストアするメモリ126と、そのオーディオデータ
を処理するオーディオ信号プロセサとを含む。アドレス
回路902はメモリをアドレスし、プリフェッチ記憶領
域904a−904cがそのアドレス回路によるアドレ
ス変更の間のメモリアクセスのレイテンシを隠すため
に、現在アドレスと1つ以上の後続アドレスとをストア
する。
Description
チ(pre-fetch:予め取り出しまたは取り込むこと)す
るための方法および装置に関し、特にたとえば、オーデ
ィオ信号プロセサによって使用するためにオーディオデ
ータをプリフェッチする方法および装置に関する。
アルな恐竜,エイリアン,生き生きとしたおもちゃおよ
び他の空想的な動物を含む映画をかつて見たことがあ
る。そのようなアニメーションはコンピュータグラフィ
クスによって可能とされた。そのような技術を用いて、
コンピュータグラフィクスのアーティストは、各オブジ
ェクトがどのように見えるべきかや時間の経過とともに
外見上どのように変化すべきかを特定し、コンピュータ
は、そのオブジェクトをモデル化してテレビジョンやコ
ンピュータスクリーンのようなディスプレイに表示す
る。コンピュータは、表示される映像の各部分を、場面
中の各オブジェクトの位置や向き,各オブジェクトを照
らすように見える照明の方向,各オブジェクトの表面テ
クスチャ,および他の要素に正確に基づいて、色付けし
また形作るために必要な多くのタスクを実行する。
あるので、ここ数年前のコンピュータによって生成され
た3次元(3D)グラフィクスは、ほとんど高価な特殊
なフライトシミュレータ,ハイエンドグラフィクスワー
クステーションおよびスーパーコンピュータに限られて
いた。大衆は映画や高価なテレビコマーシャルにおいて
これらのコンピュータシステムによって生成された映像
のいくつかを見たが、大部分の人はグラフィクスを生成
しているコンピュータに対して実際に相互作用をさせる
ことはできない。たとえば、Nintendo64(登録商標)や
今や利用可能であるパソコン用の種々の3Dグラフィク
スカードのような比較的安価な3Dグラフィクスプラッ
トフォームの利用によって、このすべてが変わった。今
や、家庭や会社の比較的安価なコンピュータグラフィク
スシステム上でエキサイティングな3Dアニメーション
やシミュレーションに対して相互作用を及ぼすことがで
きる。
ータグラフィクスシステムは、ビデオゲームをプレイす
るのにしばしば用いられる。しかしながら、「ゲームの
経験」はビデオコンテンツ以上のものを必要とする。た
とえば、ほとんどすべてのゲーム経験はビデオコンテン
ツを伴うオーディオコンテンツを含む。ここで説明され
るオーディオシステムは、音声エミッタ(放射器)を3
次元空間に置くことを可能にし、かつ1対のスピーカで
サイコアコースティック(psycho-acoustic)な3D音声
効果を発生する強力な手段を提供する。オーディオシス
テムは、DVDのような大容量記憶媒体から読み出され
た、たとえば音声サンプル,楽器波形テーブル,オーデ
ィオトラックおよびその他をストアするのに用いられる
オーディオメモリを含む。音声サンプル,波形テーブ
ル,音声トラック等は、順次読み出されてゲームオーデ
ィオコンテンツを生成するために、オーディオディジタ
ル信号プロセサによって処理される。このコンテンツは
主メモリへ転送され、そこからさらにデコーダに供給し
かつスピーカに出力するために読み出される。この分離
されたオーディオメモリによって、主システムメモリに
アクセスしようとしている他のリソース(たとえばグラ
フィクスサブシステム)と競争する必要性を回避して、
オーディオデータへのオーディオ処理回路のアクセスを
改善する。
る予め記録された音声波形(たとえば、ピアノのような
楽器について)のテーブルを参照する。典型的には、こ
れらの音声は、特別なフォーマット(たとえば、WAV
またはAIFF)のファイルとしてストアされる。音声
ファイルは図15に示すように、最初から最後まで再生
されるか、もしくは、図16に示すように、音声ファイ
ルがループ点をもっていて、停止されるまで、(たぶ
ん、エンベロープ圧縮(envelope reduction)で)特定
されるようにループする。このループ点を設けることに
よって、ファイルの一部が繰り返し再生されるので、音
声ファイルをより小さくすることができる。しかしなが
ら、音声ファイルのサイズを減じることができるもの
の、そのようなループは、そのループ点へジャンプして
戻る必要性のために、メモリをアドレスすることに問題
を生じる。一般に、メモリをアドレスすることは、デー
タ読出のための次のアドレスが現在アドレスをインクリ
メントすることによって得られるとき、最も効率的であ
る。しかしながら、ループ再生では、音声ファイルがス
トアされているメモリをアドレスするためのアドレスレ
ジスタがそのループ点へ1回以上リセットされることを
要する。次のファイルアドレスでデータを読み出すため
にアドレスレジスタをインクリメントすることは素早く
実行できるが、レジスタをリセットすることは長時間を
要するばかりでなく、先にループして戻った直前のアド
レスでのデータ出力とループして戻ったアドレスでのデ
ータ出力との間で結果的に遅れ(レイテンシ:latenc
y)期間を生じる。このことによって、結果的に、オー
ディオ出力に中断を生じさせ、逆にプレーヤのゲーム経
験に強い影響を与える。
オの原形が損なわれる可能性は、オーディオデータをプ
リフェッチすることによって最小化される。アドレスレ
ジスタがリセットされるときプリフェッチしたデータが
既に存在するので、オーディオ信号プロセサはその遅れ
(レイテンシ)期間中においてもデータ読出を継続する
ことができる。1つの実施例では、オーディオシステム
はオーディオファイルをストアするメモリと、そのオー
ディオファイルを処理するオーディオ信号プロセサとを
含む。アドレス回路がメモリをアドレスし、プリフェッ
チ記憶領域がそのアドレス回路のアドレス変更の間のメ
モリアクセスのレイテンシを隠すために、現在アドレス
および1つ以上の後続アドレスについてデータをストア
する。
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
ピュータグラフィクスシステム50の一例を示す。シス
テム50は対話型3Dビデオゲームをステレオ音声とと
もにプレイするのに用いられ得る。これはまた多様な他
のアプリケーションにも用いられ得る。
元世界のディジタル表現ないしモデルをインタラクティ
ブにかつリアルタイムに処理することができる。システ
ム50は、任意の視点から、その世界の一部または全部
を表示することができる。たとえば、システム50は、
手持ちコントローラ52aおよび52bまたは他の入力
デバイスからのリアルタイム入力に応答して、視点をイ
ンタラクティブに変化できる。このことによって、ゲー
ムプレーヤは、その世界内もしくは外の誰かの目を通し
てその世界を見ることができる。システム50は、リア
ルタイム3Dインタラクティブ表示を必要としないアプ
リケーション(たとえば2D表示の発生やおよび/また
はノンインタラクティブ表示)に使用できるが、高品質
の3D映像を非常に速く表示する能力は、非常にリアル
でエキサイティングなゲームプレイや他のグラフィクス
インタラクションを創造するのに使用され得る。
他のアプリケーションをプレイするために、ユーザはま
ず、主ユニット54を、カラーテレビ56または他の表
示装置に、両者の間にケーブル58を接続することによ
って、接続する。主ユニット54はカラーテレビ56を
制御するためのビデオ信号およびオーディオ信号を発生
する。ビデオ信号はテレビジョン画面59上に表示され
ている映像を制御するものであり、オーディオ信号はテ
レビのステレオスピーカ61Lおよび61Rを通して音
声として再生される。
ぐ必要がある。この電源は従来のACアダプタ(図示せ
ず)であってよく、そのACアダプタは家庭用の標準的
な壁ソケットに差し込まれ、家庭用電源を、主ユニット
54を駆動するのに適した低いDC電圧信号に変換す
る。他の実施例ではバッテリが用いられてもよい。
手持ちコントローラ52aおよび52bを用いる。コン
トロール60は、たとえば、3D世界内においてテレビ
56に表示されているキャラクタが移動すべき方向(上
または下、左または右、近づいてまたは遠ざかって)を
指示するために使用され得る。コントロール60は、ま
た他のアプリケーションのための入力(たとえばメニュ
ー選択,ポインタ/カーソル制御,その他)を与える。
コントローラ52は多様な形態をとり得る。この実施例
においては、図示されるコントローラ52は、各々ジョ
イスティック,押しボタンおよび/または方向スイッチ
のようなコントロール60を含む。コントローラ52
は、ケーブルによって、もしくは電磁波(たとえば電波
または赤外線)を介してワイヤレスで、主ユニット54
に接続され得る。
するために、ユーザはビデオゲームもしくはプレイした
いと思う他のアプリケーションをストアしている適宜の
記憶媒体62を選択し、その記憶媒体を主ユニット54
のスロット64に差し込む。記憶媒体62は、たとえ
ば、特別にエンコードされおよび/または記号化された
光学的ならびに/もしくは磁気的ディスクであってよ
い。ユーザは主ユニット54をオンするために電源スイ
ッチ66を操作し、主ユニットがその記憶媒体62にス
トアされているソフトウェアに基づいてビデオゲームも
しくは他のアプリケーションを実行し始めるようにす
る。ユーザは主ユニットに入力を与えるためにコントロ
ーラ52を操作する。たとえば、コントロール60を操
作することによってゲームもしくは他のアプリケーショ
ンをスタートさせる。他のコントロール60を動かすこ
とによって、動画キャラクタを異なる方向に移動させ、
または3D世界におけるユーザの視点を変化させる。記
憶媒体62にストアされている具体的なソフトウェアに
よって、コントローラ52上の種々のコントロール60
は異なる時間で異なる機能を達成することができる。
ク図であり、重要なコンポーネントは、 ・主プロセサ(CPU)110, ・主メモリ112,および ・グラフィクス/オーディオプロセサ114を含む。
(たとえばIBMパワーPC750の改良版)は、手持
ちコントローラ52(および/または他の入力デバイ
ス)からの入力をグラフィクス/オーディオプロセサ1
14を通して受ける。主プロセサ110はユーザ入力に
インタラクティブに応答し、光ディスクドライブのよう
な大容量記憶媒体アクセス装置106を介して、たとえ
ば外部記憶媒体62から供給されるビデオゲームもしく
は他のプログラムを実行する。一例として、ビデオゲー
ムプレイの状況では、主プロセサ110は、多様なイン
タラクティブ制御機能に加えて、衝突検出および動画処
理を実行する。
グラフィクス/オーディオコマンドを発生し、それらを
グラフィクス/オーディオプロセサ114に送る。グラ
フィクス/オーディオプロセサ114はこれらのコマン
ドを処理し、ディスプレイ59上での可視映像を生成
し、ステレオスピーカ61Rおよび61Lもしくは他の
適宜の音声発生デバイス上でのステレオ音声を生成す
る。
120を含み、このビデオエンコーダは、グラフィクス
/オーディオプロセサ114からの映像信号を受けて、
その映像信号をコンピュータモニタや家庭用テレビ56
のような標準的な表示装置上での表示に適したアナログ
および/またはディジタルビデオ信号に変換する。シス
テム100はまたオーディオコーデック(圧縮器/伸長
器)122を含み、このオーディオコーデックはディジ
タル化されたオーディオ信号を圧縮しかつ伸長するとと
もに、必要に応じてディジタルオーディオ信号のフォー
マットとアナログオーディオ信号のフォーマットとの間
で変換を行う。オーディオコーデック122はバッファ
124を介してオーディオ入力を受けることができ、処
理(たとえば、プロセサが生成したおよび/または大容
量記憶媒体アクセス装置106のストリームオーディオ
出力を介して受信した他のオーディオ信号とのミキシン
グ)するために、そのオーディオ入力をグラフィクス/
オーディオプロセサ114に与える。この実施例におけ
るグラフィクス/オーディオプロセサ114は、オーデ
ィオタスクに利用可能なオーディオメモリ126にオー
ディオ関連情報をストアすることができる。グラフィク
ス/オーディオプロセサ114は、結果的に得られるオ
ーディオ出力信号を、圧縮およびアナログ信号への変換
のために、オーディオコーデック122に与え、したが
ってそのオーディオ出力信号が(たとえばバッファアン
プ128Lおよび128Rを介して)スピーカ61Lお
よび61Rによって再生され得る。
はシステム100内に存在するであろう種々の付加的な
デバイスと通信する能力を有する。たとえば、パラレル
ディジタルバス130は大容量記憶媒体アクセス装置1
06および/または他のコンポーネントと通信するため
に用いられる。シリアル周辺バス132は多様な周辺機
器または、たとえば、 ・PROMおよび/またはRTC(リアルタイムクロッ
ク)134, ・モデム136もしくは他のネットワークインタフェー
ス(それはシステム100を、プログラム命令および/
またはデータがダウンロードもしくはアップロードされ
得るインターネットあるいは他のディジタルネットワー
クのようなテレコミュニケーションネットワーク138
に接続する),および ・フラッシュメモリ140を含む他のデバイスと通信す
る。別の外部シリアルバス142は、付加的な拡張メモ
リ144(たとえばメモリカード)もしくは他のデバイ
スと通信するために使用され得る。コネクタが種々のデ
バイスをバス130,132および142に接続するた
めに使用され得る。
4を示すブロック図である。或る実施例においては、グ
ラフィクス/オーディオプロセサ114はシングルチッ
プASICであってよい。この実施例においては、グラ
フィクス/オーディオプロセサ114は、 ・プロセサインタフェース150, ・メモリインタフェース/コントローラ152, ・3Dグラフィクスプロセサ154, ・オーディオディジタル信号プロセサ(DSP)15
6, ・オーディオメモリインタフェース158, ・オーディオインタフェース/ミキサ160, ・周辺コントローラ162,および ・表示コントローラ164を含む。
ィクス処理タスクを実行する。オーディオディジタル信
号プロセサ156はオーディオ処理タスクを実行する。
表示コントローラ164は主メモリ112からの映像情
報にアクセスし、表示装置102上での表示のためにそ
の映像情報をビデオエンコーダ120に与える。オーデ
ィオインタフェース/ミキサ160はオーディオコーデ
ック122をインタフェースし、また異なるソースから
のオーディオ(たとえば、大容量記憶媒体アクセス装置
106からのオーディオストリーム,オーディオDSP
156の出力,およびオーディオコーデック122を通
して受ける外部オーディオ入力)をミックスすることが
できる。プロセサインタフェース150は主プロセサ1
10およびグラフィクス/オーディオプロセサ114の
間のデータおよび制御インタフェースを提供する。
ス/オーディオプロセサ114とメモリ112との間の
データおよび制御インタフェースを提供する。この実施
例においては、主プロセサ110は、プロセサインタフ
ェース150およびグラフィクス/オーディオプロセサ
114の一部であるメモリインタフェース152を介し
て、主メモリ112にアクセスする。周辺コントローラ
162はグラフィクス/オーディオプロセサ114と上
で述べた種々の周辺機器との間のデータおよび制御イン
タフェースを提供する。オーディオメモリインタフェー
ス158はオーディオメモリ126とのインタフェース
を提供する。
細に示すグラフィクス処理システムを示す。この3Dグ
ラフィクスプロセサ154は、とりわけ、コマンドプロ
セサ200および3Dグラフィクスパイプライン180
を含む。主プロセサ110はデータストリーム(たとえ
ばグラフィクスコマンドストリームおよび表示リスト)
をコマンドプロセサ200に通信する。主プロセサ11
0はメモリレイテンシを最小化するために2レベルキャ
ッシュ112を有し、さらにまたグラフィクス/オーデ
ィオプロセサ114に向けられたキャッシュされていな
いデータストリームのための書込収集(write-gatherin
g)バッファ111を有する。この書込収集バッファ11
は部分キャッシュラインを全キャッシュラインに集め、
バスの最大使用時に、グラフィクス/オーディオプロセ
サ114からのデータを1つのキャッシュラインに送
る。
0からの表示コマンドを受け、それらを解剖し、メモリ
コントローラ152を介して共用メモリ112からのそ
のコマンドを処理するに必要な付加的なデータを入手す
る。コマンドプロセサ200は、2Dおよび/または3
D処理およびレンダリングのために、頂点コマンドのス
トリームをグラフィクスパイプライン180に与える。
グラフィクスパイプライン180はこれらのコマンドに
基づいて映像を生成する。結果として得られた映像情報
は、表示コントローラ/ビデオインタフェースユニット
164によるアクセスのために主メモリ120に転送さ
れ得て、この映像情報は表示装置156上にパイプライ
ン180のフレームバッファ出力を表示する。
て実行される処理を図解的に示すブロック論理フロー図
である。主プロセサ10は、グラフィクスコマンドスト
リーム210,表示リスト212および頂点アレイ21
4を主メモリ112にストアし、ポインタをバスインタ
フェース150を介してコマンドプロセサ200に送
る。主プロセサ110は主メモリ110内に割り付けら
れた1つ以上のグラフィクスFIFOバッファ210に
グラフィクスコマンドをストアする。このコマンドプロ
セサ200は、 ・同期/フロー制御および負荷バランスのためにグラフ
ィクスコマンドを受けかつバッファするオンチップFI
FOメモリバッファ216を介して主メモリ112から
のコマンドストリーム, ・オンチップコールFIFOメモリバッファ218を介
して主メモリ112からの表示リスト212,および ・コマンドストリームからおよび/または主メモリ11
2の頂点アレイ214からの頂点アトリビュートを頂点
キャッシュ220を介して取り込む。
作200aを実行し、そのコマンド処理動作200aは
アトリビュート形式を浮動小数点フォーマットに変換
し、結果的に得られた完全頂点ポリゴンデータをレンダ
リング/ラスタライゼーションのためにグラフィクスパ
イプライン180に与える。プログラマブルメモリ調停
回路130(グラフィクスメモリ要求調停回路:図4)
は、グラフィクスパイプライン180,コマンドプロセ
サ200および表示コントローラ/ビデオインタフェー
スユニット164の間での共用主メモリ112へのアク
セスを調停する。
が ・変換ユニット300, ・セットアップ/ラスタライザ400, ・テクスチャユニット500, ・テクスチャ環境ユニット600,および ・ピクセルエンジン700を含むことを示す。
D変換および他の動作300a(図5)を実行する。変
換ユニット300は変換処理300aに用いられるマト
リクスをストアするための1つ以上のマトリクスメモリ
300bを含む。変換ユニット300は、入来する頂点
毎のジオメトリをオブジェクト空間からスクリーン空間
へ変換し、そして入来するテクスチャ座標を変換しかつ
投影テクスチャ座標(300c)を計算する。変換ユニ
ット300はまたポリゴンクリッピング/カリング(cli
pping/culling)300dを実行する。変換ユニット30
0bによってまた達成される照明処理300eが、この
実施例では8つまでの独立した照明について、頂点毎に
照明計算を行う。変換ユニット300は、エンボス(emb
ossed)タイプのバンプマッピング効果およびポリゴンク
リッピング/カリング動作(300d)のために、テク
スチャ座標を発生する(300c)。
トアップユニットを含み、このセットアップユニット
は、変換ユニット300からの頂点データを受け、三角
形セットアップ情報を、エッジラスタライゼーション,
テクスチャ座標ラスタライゼーションおよびカラーラス
タライゼーションを実行する1つ以上のラスタライザユ
ニット(400b)に送る。
テクスチャメモリ(TMEM)502を含んでもよく、
たとえば、 ・主メモリ112からのテクスチャ504の抽出、 ・たとえばマルチテクスチャ処理,ポストキャッシュテ
クスチャ伸長,テクスチャフィルタリング,エンボシン
グ,投影テクスチャの使用を通しての陰影付け,および
アルファトランスパーレンシおよびデプスを用いるBL
ITを含むテクスチャ処理(500a)、 ・バンプマッピング,偽(psedo)テクスチャおよびテク
スチャタイル(tiling)効果(500b)のためのテクス
チャ座標置換を計算するバンプマップ処理、および ・間接テクスチャ処理(500c)を含むテクスチャリ
ングに関連する種々のタスクを実行する。
境処理(600a)のためにフィルタされたテクスチャ
値をテクスチャ環境ユニット600に出力する。テクス
チャ環境ユニット600は、ポリゴンおよびテクスチャ
カラー/アルファ/デプスをブレンドし、また逆レンジ
ベース(reverse range based)のフォグ効果を達成する
ために、テクスチャフォグ処理(600b)を実行す
る。テクスチャ環境ユニット600はたとえばカラー/
アルファ変調,エンボシング,詳細テクスチャ,テクス
チャスワッピング,クランピングおよびデプスブレンデ
ィングに基づく多様な他の環境関連機能を実行する多段
階を提供する。
較(700a)およびピクセルブレンディング(700
b)を実行する。この実施例では、ピクセルエンジン7
00はデータを埋め込み(オンチップ)フレームバッフ
ァメモリ702にストアする。グラフィクスパイプライ
ン180は、フレームバッファおよび/またはテクスチ
ャ情報をローカルにストアするために1つ以上の埋め込
みDRAMメモリ702を含む。z比較700aは、現
在有効なレンダリングモードに依存して、グラフィクス
パイプライン180におけるより早い段階で実行される
(たとえば、z比較は、もしアルファブレンディングが
要求されていないならば早くに実行され得る)。このピ
クセルエンジン700は表示コントローラ/ビデオイン
タフェースユニット164による主メモリ112へのア
クセスのために、オンチップフレームバッファ702を
周期的に書き込むコピー動作700cを含む。このコピ
ー動作700cはまた動的テクスチャ合成効果のため
に、埋め込みフレームバッファ702の内容を主メモリ
112中のテクスチャにコピーするために使用され得
る。アンチエイリアシング(anti-aliasing)および他の
フィルタリングがコピー動作中に実行され得る。最終的
に主メモリ112にストアされるグラフィクスパイプラ
イン180のフレームバッファ出力は、表示コントロー
ラ/ビデオインタフェースユニット164によってフレ
ーム毎に読み出される。表示コントローラ/ビデオイン
タフェース164は表示装置56上での表示のためにデ
ィジタルRGBピクセル値を与える。
と効果データとのミキシングを行う。オーディオDSP
156は、オーディオサンプルのようなオーディオ関連
情報をストアするために用いられ得る大容量(たとえば
16MBもしくはそれ以上)のオーディオメモリ126
(補助RAM−ARAM)によって増大される。オーデ
ィオはオーディオコーデック122を介してスピーカ6
1Lおよび61Rに送られ、そのオーディオコーデック
はD/A変換器を含む。大容量記憶媒体62からのオー
ディオストリームがゲーム実行中にハイファイオーディ
オを再生するために効率的な方法を提供する。
6,オーディオメモリインタフェース158およびオー
ディオインタフェース/ミキサ160をより詳細に示す
ブロック図である。サンプルレート変換器801は大容
量記憶媒体62からのものであろうオーディオストリー
ムを48kHzまたは32kHzでサンプリングし、L
/Rボリュームコントロール803はサンプルされたオ
ーディオの左および右チャネルのボリュームレベルを制
御する。オーディオストリームは完全に主メモリ112
をバイパスし、それによってメモリおよびプロセサバン
ド幅を保存する。大容量記憶媒体62のオーディオデー
タがたとえばADPCMフォーマットにエンコードされ
る場合、大容量記憶媒体アクセス装置106はADPC
MデータをPCMサンプル(たとえば16ビット)に自
動的にデコードしてサンプルレート変換器801に供給
する。
ネル805は主メモリ112中の任意の記憶位置からの
データのFIFOバッファ807への転送を可能にす
る。ミキサ809はサンプルレート変換器801の出力
とFIFOバッファ807の出力とをミックスし、その
結果がオーディオコーデック122に出力される。オー
ディオコーデック122のサンプルレートはたとえば4
8kHzであり、オーディオコーデック122はステレ
オ16ビットPCMをアナログ信号に変換するための標
準的なシグマデルタ(Sigma Delta)コーデックであって
よい。
ロックを有し、16ビットのデータワードとアドレスと
を用いる。DSPコア811は、RAM領域(たとえば
8kバイト)およびROM領域(たとえば8kバイト)
を含むワード(16ビット)アドレス可能命令メモリ8
13、およびRAM領域(たとえば8kバイト)および
ROM領域(たとえば4kバイト)を含むワードアドレ
ス可能データメモリ815を用いる。DSPDMA81
9は、主メモリ112とDSPデータ/命令RAM領域
との間でデータを転送し、またはDSPデータ/命令R
OM領域から主メモリ112へデータを転送するために
設けられる。命令メモリ813へのアクセスを要求する
2つのものがあり、それはDSPDMA819およびD
SP811である。命令RAM領域はDSPDMA81
9によって読み出され/書き込まれ、DSP811によ
っては読み出されるだけである。命令ROM領域はDS
P811によって読み出されるだけである。データメモ
リ815へのアクセスを要求する3つのものは、DSP
DMA819,データバス1およびデータバス2であ
る。メールボックスレジスタ817が主プロセサ110
との通信のために設けられる。このメールボックスレジ
スタ817は、主プロセサ110からDSPコア811
への通信のための第1メールボックスレジスタと、DS
Pコア811から主プロセサ110への通信のための第
2メールボックスレジスタとを含む。各々のレジスタは
たとえば32ビット幅である。オーディオメモリ126
から読み出しかつそこへ書き込むために、DSPコア8
11に代えて、アクセラレータ821が利用可能であ
る。オーディオメモリ126のためにメモリコントロー
ラ823が設けられ、とりわけ、オーディオメモリ12
6と主メモリ112との間のデータ授受のために、DS
Pコア811と主プロセサ110によって制御される専
用DMAチャネル825との間でオーディオメモリへの
アクセス要求を調停するように動作する。一般的に、オ
ーディオメモリ126とDSPデータメモリ815との
間のデータ授受はDMAチャネル825に対する優先権
を有する。デコーダ827はそこへ供給されるオーディ
オサンプルをデコードする。オーディオメモリ126は
一義的にはオーディオ関連データをストアするし、16
MBのSDRAM(合計48MBまでに拡張可能)を備
える。
けのために、種々の圧縮および伸長方法が利用され得
る。ADPCMは適応差分PCMと呼ばれる。この方法
は上で述べたオーディオシステムによって生成された音
声を圧縮/伸長し、大容量記憶媒体62上の音声を圧縮
/伸長するために使用され得る。種々のADPCMのア
ルゴリズムがあり、オーディオシステムによって生成さ
れた音声と大容量記憶媒体62上の音声とのために同じ
アルゴリズムが用いられる必要はない。デコーダ827
がオーディオシステムによって生成された音声データの
実行時ADPCM伸長を提供し、大容量記憶媒体アクセ
ス装置106が大容量記憶媒体62からの音声データの
実行時(runtime)ADPCM伸長を提供する。8ビット
PCM圧縮/伸長方法がオーディオシステムによって生
成された音声データのためにまた利用可能である。した
がって、デコーダ827がまた8ビットのPCM圧縮さ
れた音声データの実行時伸長を提供する。もちろん、上
で述べた圧縮/伸長方法は単なる一例であって、これに
限定されるものではない。
オライブラリがオーディオDSP156にダウンロード
される。このオーディオライブラリは、主プロセサ11
0によって作られるコマンドリストにあるコマンドに従
って音声を処理しかつミックスするために、オーディオ
DSP156によって使用される。コマンドリストは主
メモリ112にストアされる。オーディオDSP156
は主メモリ112からコマンドを引き出し、それをそこ
にダウンロードされた実行時オーディオライブラリに従
って実行する。
3次元空間内への配置を許容する。これは次のような特
徴、 ・ボリュームおよびパンニング制御, ・ピッチ変調(ドップラー効果), ・左および右チャネル間の位相シフトによる初期時間遅
延,および ・FIRフィルタ(HRTFおよび環境効果)によって
達成される。
下に説明する効果処理が一緒に、1対のスピーカでのサ
イコアコースティックな3次元音声効果を発生する強力
な手段を提供する。
の図7には次のようなステップが含まれる。
ってオーディオメモリ126からサンプルが読み出され
る。
のADPCMおよび8ビットPCMサンプルがデコーダ
827によってデコードされかつそのデコードされたサ
ンプルが第1サンプルレート変換器に供給される。
の16ビットPCMサンプルが第1サンプルレート変換
器に直接送られる。
サンプルのピッチを調節する。
のユーザ規定フィルタをサンプルに適用する。
ボリュームエンベロープ調音のためにサンプルにボリュ
ームランプを与える。
リングレートでかつ24ビットの精度でサンプルをミッ
クスする。
る。すべての音声が処理されかつミキサバッファに累算
されたとき、次のステップ1および2が生じる。
プロセサ(ホスト)ベースの効果(残響およびコーラス
のような)が、ミックスされた音声に与えられる。主プ
ロセサベースの効果を付与することは「音声信号をミキ
シングするための方法および装置」と題する同時係属中
の出願(特願2000−384942)に詳細に述べら
れていて、したがって、ここでは参照によってその内容
を取り入れる。
である。上で述べたように、アクセラレータ821は、
オーディオメモリ126を読み出しかつそこへ書き込む
ために、DSPコア811に代わって使用される。アク
セラレータ821は、アドレスを自動的に増加するかま
たは次のアクセスのためのラップアラウンドアドレス
(循環アドレス)を発生する後続アドレス発生回路90
2を含む。アクセラレータ821は3つのデータライン
904a−904cを含み、これらのデータラインは読
出動作中にプリフェッチバッファとして機能し、書込動
作中には書込バッファとして機能する。以下に説明する
ように、データライン904a−904cは、DSPコ
ア811の動作がオーディオメモリ126をアクセスす
るとき、オーディオメモリ126のアクセスのレイテン
シを隠す。DSPによって開始アドレスのデータが読み
出されたとき、またはDSPによって終了アドレスのデ
ータが書き込まれたとき、DSPコア811に対する割
込が発生される。
ス,開始アドレス,終了アドレス)906a−906c
が、オーディオメモリ126のメモリスペースにおける
循環バッファを規定するために使用される。各パラメー
タレジスタは27ビット幅でかつオーディオDSPによ
って読み出され/書き込まれ得る。後続アドレス発生回
路902は、次のアドレスを得るために、現在アドレス
に「1」を加える。この現在アドレスがもし終了アドレ
スと等しいとき、次のアドレスは開始アドレスとなる。
パラメータレジスタ906a−906cはオーディオメ
モリ126から読み出しかつそこへ書き込むために使用
される。アドレスとこのレジスタにおけるデータとの間
の関係は次の通りである。
6ビット幅である。読出動作のために、データラインは
プリフェッチデータバッファとして機能し、そこでは、
データがオーディオメモリ126から前もって読み出さ
れ、かつDSPコア811がそのデータラインを読み出
すときデータを手渡す用意ができている。書込動作のた
めのデータラインの機能は、DSPコア811からオー
ディオメモリ126に書き込まれるべきデータの一時的
なバッファである。データライン904a−904cは
FIFOの態様で形成され、それらの入力/出力ポート
はDSPコア811によって読出でき/書込できる。デ
ータラインにおけるデータのアドレスは現在アドレスお
よびその2つの後続アドレスに対応する。
3の詳細なブロック図である。オーディオメモリコント
ローラ823は次の機能を達成する。
化する(オーディオメモリモードの設定も含めて)ため
のオーディオメモリ初期タイミングを発生する; ・オーディオメモリのリフレッシュサイクルを発生す
る;および ・DMA825およびアクセラレータ821の読出/書
込要求を受け入れかつその後オーディオメモリ126へ
のアクセスタイミングを発生する。
ミングを発生する。この実施例のシステムにおいては、
オーディオメモリ126を構成する2つまでのメモリが
ある。第1のものは内部オーディオメモリ926aであ
り、8Mバイトの最大サイズを有する。第2のものは拡
張オーディオメモリ926bであり、32Mバイトの最
大サイズを有する。内部オーディオメモリ926aのア
ドレスは0からスタートし、拡張オーディオメモリ92
6bのアドレスは内部オーディオメモリの終了アドレス
に連続される。したがって、内部オーディオメモリ92
6aおよび外部オーディオメモリ926bのアドレスス
ペースは連続的であり、拡張オーディオメモリ926b
の開始アドレスは内部オーディオメモリ926aのサイ
ズに依存する。内部オーディオメモリ926aおよび拡
張オーディオメモリ926bのモード設定およびリフレ
ッシュサイクルが同時にアクティブとなる。
ーラ823はオーディオメモリ126を初期化する(図
9において「ARAM初期化」として表現されてい
る)。初期化中、コントローラ823はオーディオメモ
リ126へのアクセスをマスクし、初期化の後、オーデ
ィオメモリ126が自由にアクセス可能となる。フラグ
ARAM_NORMは初期化が実行されたことの表示と
してセットされる。上で述べたように、初期化はオーデ
ィオメモリのモード設定を含む。オーディオメモリモー
ドレジスタに以下の設定がなされる。
よってプログラムされる),および ・書込モード(バースト読出およびバースト書込)。
内部オーディオメモリ926aおよび拡張オーディオメ
モリ926bを同時に初期化する。主プロセサ110
は、初期化が終了する前に、CASレイテンシをプログ
ラムする。もしこのCASレイテンシが主プロセサ11
0によってプログラムされなければ、オーディオメモリ
126をアクセスするために、リセットのデフォルトC
AS=3が用いられる。
ラ823は内部オーディオメモリ926および拡張オー
ディオメモリ926bのサイズを判定する。
ィオメモリ926aおよび拡張オーディオメモリ926
bは同じアドレスバス,同じデータバスおよび同じ制御
信号を共有する。動作中、調停ユニット930が3つの
要求者 ・DMA825, ・アクセラレータ821,および ・リフレッシュカウンタ932、についてのアクセスタ
イミングを発生する。
りである。
ータ821>DMA825自動リフレッシュ期間はプロ
グラマブルであり、オーディオメモリコントローラ82
3が、内部オーディオメモリ926aおよび拡張オーデ
ィオメモリ926bへのリフレッシュサイクルを同時に
与える。
825によるオーディオメモリ126へのアクセスをマ
スクするために使用され得る。
ば、オーディオメモリ126へのアクセスがアクセラレ
ータ821に占有される。AMDMのビット0がクリア
されれば、次の処理が発生する。
えば、16)の読出/書込コマンドを介してオーディオ
メモリ126をアクセスする。もしアクセラレータ82
1がこの時間中にオーディオメモリ126をアクセスす
る必要があれば、オーディオメモリコントローラ823
はオーディオメモリ126の同じバンクを2つのものが
アクセスしようとしているかどうかを判断する。もしそ
うであれば、オーディオメモリコントローラ823は、
DMA825によるアクセスを終了(プリチャージ:pr
echarge)するとともに、アクセスをアクセラレータ8
21に移す。アクセラレータ821が終了した後、オー
ディオメモリコントローラ823はアクセスをDMA8
25に戻し、そしてDMA825は(まず、アクティブ
とし)その残りの読出/書込コマンドを実行する。
が異なるバンクをアクセスしているときには、アクセラ
レータ821およびDMA825の間におけるアクセス
転送のより良い性能を実現するために、インタリーブバ
ンクアクセス方法(interleaved bank access scheme)
が利用される。この方法では、オーディオメモリコント
ローラ823はDMAバンクをプリチャージ(終了)せ
ず、それを待機状態のままとする。オーディオメモリ1
26へのアクセスがその後アクセラレータ821に移さ
れる。アクセラレータ821がオーディオメモリ126
のそのアクセスを終了した後、オーディオメモリコント
ローラ823が(最初にアクティブする必要なしに)D
MA825の残りの読出/書込コマンドを実行する。
2バイトの境界(異なる行)を越えるとき、オーディオ
メモリコントローラ823は、アクセスを終了させるた
めに現在の行をプリチャージし、アクセスを開始させる
ために次の行をアクティブにする。このことによってデ
ータの読出/書込のサイクル数を増大させることができ
る。上述のインタリーブバンクアクセス方法は、好まし
くは、DMAによる行を越えてのアクセスまたはアクセ
ラレータによる行を越えてのアクセスについては適用さ
れない。
の3つのアドレスモード(4ビット,8ビットおよび1
6ビット)および書込動作のための1つのアドレスモー
ド(16ビット)を含む。異なる読出アドレスモードが
異なるフォーマット(たとえば、ADPCM,8ビット
PCM)の圧縮データを読み出しあるいは非圧縮データ
を読み出すために便利である。4ビット(ニブル:nibb
le)アドレスモードでは、データは「少しずつ(nibbl
e)」アドレスできる。各パラメータレジスタ(ビット
26からビット0)の最下位ビット(ビット0)の単位
はニブルであり、現在アドレスのb1,b0がデータラ
インのニブルを選択するために使用される。この実施例
のオーディオシステムのハードウェアはビット26から
ビット2までを用い、26ビットのオーディオメモリア
クセスアドレスとして「0」を連続させる。8ビット
(1バイト)アドレスモードはデータを「バイト」アド
レス可能である。各パラメータレジスタ(ビット26か
らビット0)の最下位ビット(ビット0)の単位はバイ
トであり、現在アドレスのビット0がデータラインのバ
イトを選択するために使用される。実施例のオーディオ
システムのハードウェアはビット25からビット1まで
を使用し、26ビットのオーディオメモリアクセスアド
レスとして「0」を連続させる。16ビット(1ワー
ド)アドレスモードでは、データは「ワード」アドレス
可能である。各パラメータレジスタ(26ビットから0
ビット)の最下位ビット(ビット0)の単位はワードで
あり、オーディオメモリにおけるデータがワード境界
(boundary)に割り当てられる。実施例のオーディオシ
ステムはビット24からビット0を使用し、26ビット
のオーディオメモリアクセスアドレスとして「0」を連
続させる。
およびオーディオDMA156の間のデータ変換は図1
7,図18および図19に示す通りである。
例示のために用いられたものであり、この発明はこれに
限定されるものではない。アドレスモードはDMAコア
811によってプログラマブルである。
10に示される。オーディオメモリDMA825は3つ
のレジスタ900a−900cを含み、それらのレジス
タは主メモリの開始アドレス,オーディオメモリの開始
アドレス,およびDMA転送のためのブロック長および
方向をそれぞれ規定するために使用される。主プロセサ
110がこれらのレジスタをプログラムする。レジスタ
は32ビット幅であり、DMA転送方向はブロック長レ
ジスタの上位ワードのビット15によって特定される。
各側(すなわち、主メモリ112,オーディオメモリ1
26)の開始アドレスは32バイト境界に配置され、ブ
ロック長は32バイトの倍数である。DMA転送の間、
これらのレジスタは各メモリコントローラブロックのア
クセスによって修正される。不均一なバンド幅のメモリ
に橋を架けるために、オーディオメモリDMAに組み込
まれた1つのメモリコントローラサイズ(32バイト)
データバッファ950がある。
への動作フローは次のステップを含む。
の下位ワードへの書込がデータを転送する用意ができて
いるDMA825をトリガする。
ローラ152(図3)へ読出要求を送り、次いで32バ
イトのデータがDMAデータバッファ950に来るのを
待つ。
バッファ950に移動すると、DMA825は調停回路
930(図9参照)へ書込要求を送り、そして転送を待
つ。主メモリアドレスレジスタ900aがまたアドレス
インクリメント回路960によって32だけ増加され
る。
A825がオーディオメモリ126へアクセスするのが
認められると、書込コマンドがオーディオメモリ126
へ送られるとともに、データが、32バイトが移動され
てしまう(バッファエンプティ)まで、DMAデータバ
ッファ950からオーディオメモリ126へバイト毎に
移動し始める。オーディオメモリアドレスがオーディオ
アドレスインクリメント回路962によって32だけ増
加され、ブロック長がブロック長ディクリメント回路9
64によって32だけ減少される。
が、ブロック長が0になるまで繰り返される。この時点
において、DMA825が停止し、制御ロジック954
はフラグをセットし、主プロセサ110に割込を発生す
る。この割込はマスカブル(maskable)である。
への動作フローは次のステップを含む。
ードへの書込がデータを転送する用意ができているDM
A825をトリガする。
0(図9)へ読出要求を送り、次いで32バイトのデー
タを待つ。
A825がオーディオメモリ126へアクセスするのが
認められると、読出コマンドがオーディオメモリ126
へ送られるとともに、データが、32バイトが移動され
てしまうまで、オーディオメモリ126からDMAデー
タバッファ950へバイト毎に移動し始める。オーディ
オメモリアドレスレジスタのオーディオメモリアドレス
がオーディオアドレスインクリメント回路962によっ
て32だけ増加される。
データバッファ950に移動すると、DMA825はメ
モリコントローラ152へ書込要求を送る。32バイト
のデータが次いで、DMAデータバッファ950からメ
モリコントローラバスに移動される。その後、主メモリ
110のアドレスが主メモリアドレスインクリメント回
路960によって増加されるとともに、ブロック長がブ
ロック長ディクリメント回路964によって32だけ減
少される。
が、ブロック長が0になるまで繰り返される。この時点
において、DMA825が停止し、制御ロジック954
はフラグをセットし、主プロセサ110に割込を発生す
る。この割込はマスカブルである。
る。メモリコントローラへのバス調停の優先順位は次の
ようである。
ARAMDMA825読出動作 DSPコア811がデータラインを読み出し始める前
に、開始および終了アドレス,現在アドレスの上位ワー
ド,および次いで現在アドレスの下位ワードが設定され
る。現在アドレスレジスタの下位ワードがDSPコア8
11によってロードされると、読出/書込動作モードが
現在アドレスレジスタの15ビットの上位ワードによっ
て設定される。読出モードが指定されると、3つのワー
ドのデータがオーディオメモリ126からデータライン
904a−904cに「プリフェッチ」される。このプ
リフェッチされたデータは現在アドレスおよび次に続く
2つのアドレスのためのデータに相当する。
からそのデータライン上にデータが利用できるようにな
るまで、典型的には、たとえば約10サイクルのレイテ
ンシがある。このレイテンシ期間中、アクセラレータ8
21は最初のデータが利用可能になるまで、DSPコア
811の動作を停止させる。レイテンシ期間中にまた、
パラメータレジスタ906a−906cへの読出および
書込が禁止される。
1つを読み出した後に1つだけインクリメントされる。
アクティブなデータラインの最後のデータが読み出され
ると、アクティブなデータラインが次のラインに切り換
えられ、1つのラインが今エンプティになったことを意
味する。後続アドレスのためのデータが次いでプリフェ
ッチされる。
によって読み出されていてかつアドレスが開始アドレス
に等しければ、DSPコア811に対して割込が発生さ
れる。この割込はDSPコア811によってマスカブル
(maskable)である。
び終了アドレス,現在アドレスの上位ワード,および次
いで現在アドレスの下位ワードがパラメータレジスタ9
06a−906cに設定される。現在アドレスレジスタ
の下位ワードがDSPコア811によってビット15=
1でロードされると、アクセラレータが書込動作モード
に設定される。データライン904a−904cにデー
タが利用できるようになると、アクセラレータ821は
そのラインのデータを、現在アドレスおよびそれに後続
するアドレスによって、データラインがエンプティにな
るまで、オーディオメモリ126にストアする。データ
ラインからのデータがオーディオメモリ126にストア
されかつ現在アドレスが終了アドレスに等しければ、ア
クセラレータ821はDSPコア811に対して割込を
発生する。この割込はDSPコア811によってマスカ
ブルである。書込動作中において、パラメータレジスタ
のどれかが読出/書込のためにアクセスされると、アク
セラレータ821は、データラインがエンプティになる
までDSPコアの動作を停止する。この実施例において
は、アクセラレータ821の書込モードは常に16ビッ
トである。
に、音声サンプルがループ点を有するときに有用であ
る。予め記録された音声サンプル(たとえばピアノのよ
うな楽器の音声)は、典型的には、特別なフォーマット
(たとえば、WAVまたはAIFF)のファイルとして
ストアされる。上で注目したように、音声サンプルは図
15に示すように最初から終わりまで再生される(「ワ
ンショット再生」)か、もしくは音声サンプルは、図1
6に示すように、サンプルが終了したとき位置がループ
位置まで「巻き戻される」ように「ループされる」かも
しれない」(おそらくエンベロープ圧縮で)。ループ再
生はサンプルの一部を繰り返し再生することがサンプル
のサイズを減じるという限りにおいて有利である。しか
しながら、メモリアドレス回路がループ位置の点に更新
される間、サンプルを含むオーディオファイルにおいて
先の点まで巻き戻すことはファイルをアクセスするのに
結果的に遅延を生じる。特に、メモリからのデータの読
出は、メモリが現在アドレスの単純なインクリメントに
よってアドレス可能なときに最も効率的である。しかし
ながら、ループ戻りは、メモリアドレス回路をループ位
置にリセットし、そしてそのループ戻しを1回以上行う
場合にはメモリアドレス回路をそのループ位置へ繰り返
しリセットする必要がある。次の順次のファイルアドレ
スでのデータを読み出すためにアドレスレジスタをイン
クリメントすることは素早く実行され得るが、これらの
レジスタをリセットすることは長時間を要し、そして最
後に予めループ戻ししたアドレスでのデータの出力とル
ープ戻しのアドレスでのデータの出力との間にレイテン
シ(遅延)期間を結果的に生じる。このことはオーディ
オ出力に中断を生じるとともに、原形を損なうことにな
り、減少した数の音声が再生される。これらのすべてが
逆にプレーヤのゲーム経験に強い衝撃を与える。オーデ
ィオメモリ126からのデータのプリフェッチは、上で
述べたように、オーディオ出力に原形が損なわれる可能
性を減じる。アドレスレジスタがリセットされるときに
はプリフェッチされたデータが既に存在するのであるか
ら、オーディオディジタル信号プロセサは、メモリアド
レスがループ戻しアドレスにリセットされるときのレイ
テンシ期間中でもデータの読出を継続することができ
る。
つのデータラインの使用は一例であり限定ではなく、こ
の発明は、読出/書込バッファとしてのデータラインの
どんな特別な数にも限定されない。一般的にいえば、デ
ータラインの数はオーディオファイルのループ再生中に
アドレスレジスタを再設定するに要するレイテンシをマ
スクするに十分な量のプリフェッチを可能にすれば足り
る。さらに、この発明が上ではループ再生に関連するレ
イテンシの期間において説明されたが、プリフェッチ技
術は、オーディオメモリからデータを読み出すための他
の動作に関連するレイテンシをマスクするためにも適用
できる。
のデータフローおよび制御フローをそれぞれ図解する。
図11に示すように、音声サンプルは大容量記憶媒体6
2から周辺(I/O)コントローラ162を介して主メ
モリ112に読み込まれ、かつその主メモリ112から
ARAMDMA825を介してオーディオメモリ126
に読み込まれる。音声サンプルはアクセラレータ821
を介してDSPコア811によって読み出され、このD
SPコア811はその音声サンプルを処理/ミックスす
る。処理/ミックスされた音声サンプルは、主メモリ1
12内にバッファされ、次いで、オーディオコーデック
122を介してのスピーカ61Lおよび61Rへの出力
のために、オーディオインタフェースFIFO807に
転送される。図12に示すように、ゲームアプリケーシ
ョンは音声の必要性を最終的に指令する。このゲームア
プリケーションはオーディオシステム(主プロセサ)実
行時アプリケーションへのコールをし、その実行時アプ
リケーションはオーディオDSP156のためのコマン
ドリストを発生する。このコマンドリストを実行する際
に、オーディオDSP156は適宜の音声サンプルを抽
出し、それを必要に応じて処理する。
は図11に示す音声サンプルについてのそれと同様であ
る。大容量記憶媒体62からの楽器波形テーブルが主メ
モリ112を介してオーディオメモリ126にストアさ
れる。オーディオDSP156は、オーディオシステム
(主プロセサ)実行時アプリケーションによって発生さ
れたコマンドを受け取ると、必要な楽器サンプルを抽出
し、それらを処理しかつミックスし、得られる結果を主
メモリ112にストアする。その後、その結果がオーデ
ィオコーデック122を介してのスピーカ61Lおよび
61Rへの出力のためにオーディオインタフェースFI
FO807に転送される。オーディオシステム(主プロ
セサ)実行時アプリケーションによって発生されたコマ
ンドは楽譜によって駆動され、その楽譜は大容量記憶媒
体62から主メモリ112に読み込まれ、そしてゲーム
のコマンドに従ってオーディオシステム(主プロセサ)
実行時アプリケーションによって処理されかつ順番に配
列される。
アプリケーションはまたソフトウェアストリームを提供
するためにオーディオトラックの再生およびミキシング
を管理する。ソフトウェアストリームは1つ以上のオー
ディオトラックの同時再生を許容し、或る程度の双方向
性(インタラクティビティ)を提供する。たとえばゲー
ムが、たとえば1つのトラックから他のトラックにフェ
ードインしてプレーヤの気分に影響を与える。一般的に
は、異なるオーディオトラックが個々の音声サンプルと
してオーディオメモリ126にバッファされる。オーデ
ィオDSP156はそしてトラックを引き出しそれらを
他の音声としてミックスする。
オDSP156のリソース使用法をモニタし、そしてそ
れに従って音声割付をダイナミックに制限するリソース
管理アルゴリズムを含む。このことによって、不正なオ
ーディオ出力が結果的に生じることになるオーディオD
SP156の過負荷を防止する。好ましくは、リソース
管理アルゴリズムはスムーズで連続的なオーディオを確
保するために、最悪値メモリアクセスレイテンシを想定
する。たとえば、各音声のミキシングおよび処理要求に
依存して、64までの音声が支持され得る。
ンソールの構成以外としても実現できる。たとえば、或
るものは、システム50をエミュレートする異なる構成
を有するプラットフォームもしくはそれと同等のものに
おいて、システム50のために書かれたグラフィクスア
プリケーションや他のソフトウェアを実行させることが
できる。もし、他のプラットフォームがシステム50の
いくつかのもしくはすべてのハードウェアおよびソフト
ウェアリソースをエミュレートしシミュレートしおよび
/または提供することができれば、その他のプラットフ
ォームはそのソフトウェアを成功裏に実行することがで
きる。
のハードウェアおよび/またはソフトウェア構成(プラ
ットフォーム)とは異なるハードウェアおよび/または
ソフトウェア構成(プラットフォーム)を提供できる。
そのエミュレータシステムは、それのためにアプリケー
ションソフトウェアが書かれているシステムのいくつか
のもしくはすべてのハードウェアおよび/またはソフト
ウェアコンポーネンツをエミュレートしもしくはシミュ
レートするソフトウェアおよび/またはハードウェアコ
ンポーネンツを含む。たとえば、エミュレータシステム
はパソコンのような汎用ディジタルコンピュータを含
み、それはシステム50のハードウェアおよび/または
ファームウェアをシミュレートするソフトウェアエミュ
レータプログラムを実行する。上述のオーディオシステ
ムのDSP処理がパソコンによってエミュレートされ得
る。
ばIBMやマッキントッシュのパソコンおよびそれらの
同等物)は、ダイレクトX(DirectX)または他の標準的
な3DグラフィクスコマンドAPIsに従った3Dグラ
フィクスパイプラインを提供する3Dグラフィクスカー
ドを備える。それらはまた、音声コマンドの標準的なセ
ットに基づいて高品質のステレオ音声を提供するステレ
オ音声カードを備える。エミュレータソフトウェアを実
行するそのようなマルチメディアのハードウェアを備え
るパソコンは、システム50のグラフィクスおよび音声
性能とほぼ等しい十分な性能を有する。エミュレータソ
フトウェアはパソコンプラットフォーム上のハードウェ
アリソースを制御して、それのためにゲームプログラマ
がゲームソフトウェアを書いた家庭用ビデオゲームコン
ソールプラットフォームの処理,3Dグラフィクス,音
声,周辺および他の能力をシミュレートする。
1,エミュレータコンポーネント1303および記憶媒
体62上のゲームソフトウェア実行可能バイナリ映像を
用いる全体のエミュレーション処理を図解する。ホスト
1201は、たとえばパソコン,ビデオゲームコンソー
ルあるいは十分な計算力を有する任意の他のプラットフ
ォームのような汎用または特定目的ディジタル計算装置
である。エミュレータ1303はそのホストプラットフ
ォーム1201上で走るソフトウェアおよび/またはハ
ードウェアであり、記憶媒体62からのコマンド,デー
タおよび他の情報のそのホスト1201によって実行可
能な形態へのリアルタイム変換を行う。たとえば、エミ
ュレータ1303は記憶媒体62からシステム50によ
って実行されるように意図された「ソース」であるバイ
ナリ映像プログラム命令を取り込み、これらのプログラ
ム命令をホスト1201によって実行されもしくは処理
され得るターゲットとなる形態に変換する。
PCまたは他の特定のプロセサを用いるプラットフォー
ム上での実行のために書かれかつホスト1201が異な
る(たとえばインテル)プロセサを用いるパソコンであ
る場合、エミュレータ1203は記憶媒体1305から
の1つのもしくは一連のバイナリ映像プログラム命令を
取り込み、これらのプログラム命令を1つまたはそれ以
上の同等のインテルのバイナリ映像プログラム命令に変
換する。エミュレータ1203はまたグラフィクス/オ
ーディオプロセサ114によって処理されるように意図
されたグラフィクスコマンドおよびオーディオコマンド
を取り込みかつ/あるいは生成し、そしてホスト120
1上で利用可能なハードウェアおよび/またはソフトウ
ェアグラフィクス/オーディオ処理リソースによって処
理され得る形態にこれらのコマンドを変換する。一例と
して、エミュレータ1303はホスト1201の特別な
グラフィクスおよび/または音声ハードウェア(たとえ
ば標準的なダイレクトX,オープンGLおよび/または
音声APIs)によって処理され得るコマンドにこれら
のコマンドを変換する。
かのもしくはすべての特徴を与えるために用いられるエ
ミュレータ1303は、また、エミュレータを使ってゲ
ームを走らせている種々のオプションおよびスクリーン
モードの選択を簡単化しもしくは自動化するグラフィッ
クユーザインタフェース(GUI)を備える。一例にお
いて、そのようなエミュレータ1303はさらにそのソ
フトウェアが本来的に目的とされたホストプラットフォ
ームに比べてより増強された機能性を含むこともでき
る。
適したエミュレーションホストシステム1201を図解
的に示す。このシステム1201は処理ユニット120
3およびシステムメモリ1205を含む。システムバス
1207がシステムメモリ1205を含む種々のシステ
ムコンポーネンツを処理ユニット1203に結合する。
システムバス1207は多様なバスアーキテクチャのい
ずれかを用いるメモリバスもしくはメモリコントロー
ラ,周辺バスおよびローカルバスを含むいくつかのタイ
プのバス構造の任意のものである。システムメモリ12
07はROM1252およびRAM1254を含む。起
動中においてのようにパソコンシステム1201中のエ
レメント(要素)間に情報を伝送する手助けをする基本
ルーチンを含む基本入力/出力システム(BIOS)1
256がROM1252中にストアされる。システム1
201はさらに種々のドライブおよび関連のコンピュー
タ読出可能な媒体を含む。ハードディスクドライブ12
09が(典型的には固定の)磁気ハードディスク121
1から読み出しそれへ書き込む。付加的な(たぶんオプ
ションとしての)磁気ディスクドライブ1213が着脱
可能な「フロッピィ」または他の磁気ディスク1251
から読み出しかつそれへ書き込む。光ディスクドライブ
1217はCD−ROMあるいは他の光学媒体のような
着脱自在な光ディスク1219から読み出しかつそれへ
書き込む。ハードディスクドライブ1209および光デ
ィスクドライブ1217は、ハードディスクドライブイ
ンタフェース1221および光ディスクドライブインタ
フェース1225によって、システムバス1207にそ
れぞれ接続される。これらのドライブおよびその関連す
るコンピュータ読出可能な媒体は、パソコンシステム1
201のためのコンピュータ読出可能な命令,データ構
造,プログラムモジュール,ゲームプログラムおよび他
のデータの不揮発性の記憶媒体を提供する。他の構成で
は、コンピュータによってアクセス可能なデータをスト
アすることができる他のタイプのコンピュータ読出可能
な媒体(たとえば磁気カセット,フラッシュメモリカー
ド,ディジタルビデオディスク,ベルヌーイカートリッ
ジ,RAM,ROMあるいはその他のもの)がまた使用
できる。
ラムモジュールがハードディスク1211,着脱可能な
磁気ディスク1215,光ディスク1219および/ま
たはシステムメモリ1205のROM1252および/
またはRAM1254にストアされ得る。このようなプ
ログラムモジュールはグラフィクス/音声APIs,1
つ以上のアプリケーションプログラム,他のプログラム
モジュール,プログラムデータおよびゲームデータを提
供するオペレーティングシステム(OS)を含む。ユー
ザは、キーボード1227,ポインティングデバイス1
229,マイクロフォン,ジョイスティック,ゲームコ
ントローラ,衛星アンテナ(satellite dish),スキャナ
あるいはその他のもののような入力デバイスを通して、
パソコンシステム1201にコマンドおよび情報を入力
することができる。これらのそして他の入力デバイス
は、システムバス1207に結合されたシリアルポート
インタフェース1231を通して処理ユニット1203
に接続され得るが、パラレルポート,ゲームポートファ
イヤワイヤバス(Fire Wire)もしくはユニバーサルシリ
アルバス(USB)のような他のインタフェースによっ
て接続されてもよい。モニタまたは他のタイプの表示デ
バイスがまたビデオアダプタ1235のようなインタフ
ェースを介してシステムバス1207に接続される。
インターネットのようなネットワーク1152を通して
の通信を確立するための他のネットワークインタフェー
ス手段を含む。内蔵もしくは外付けであってよいモデム
1154はシリアルポートインタフェース1231を介
してシステムバス123に接続される。システム120
1がローカルエリアネットワーク1158を介して遠隔
コンピュータ装置1150(たとえば他のシステム12
01)と通信するのを許容するために、ネットワークイ
ンタフェース1156がまた設けられてもよい(もしく
はそのような通信はダイヤルアップもしくは他の通信手
段のようなワイドエリアネットワーク1152もしくは
他の通信経路を介してもよい)。システム1201はプ
リンタのような周辺出力装置および他の標準的な周辺装
置を含む。
イクロソフト(Microsoft)のダイレクトX7.0、また
は他のバージョンのような標準的な3Dグラフィクスア
プリケーションプログラマインタフェースに基づいて発
行された3Dグラフィクスコマンドに応答して、高速の
3Dグラフィクスレンダリングを提供する3Dグラフィ
クスパイプラインチップセットを含んでもよい。1組の
スピーカ1237はまた、バス1207によって与えら
れる音声コマンドに基づいて高品質ステレオ音声を生成
するハードウェアおよび埋め込みソフトウェアを提供す
る従来の「音声カード」のような音声生成インタフェー
スを介して、システムバス1207に接続される。これ
らのハードウェア能力によって記憶媒体1305中にス
トアされているソフトウェアを再生するためにシステム
1201に十分なグラフィクスおよび音声の速度性能を
与えることができる。
かのもしくはすべての特徴を与えるために使用されるエ
ミュレータ1303は、また、そのエミュレータを用い
て実行しているゲームのための種々のオプションおよび
スクリーンモードの選択を単純化しもしくは自動化する
グラフィックユーザインタフェース(GUI)を備えて
もよい。一例として、そのようなエミュレータ1303
は本来的にそのソフトウェアを意図していたホストプラ
ットフォームに比べてより増強された機能性を含んでい
てもよい。
在考えられているものに関連してこの発明が説明された
が、この発明は開示された実施例に限定されるものでは
なく、逆に、特許請求の範囲内に含まれる種々の変形例
や等価的な構成をカバーするように意図されていること
を理解されたい。
クスシステムの実施例を示す全体図である。
システムのブロック図である。
ディオプロセサのブロック図である。
ロセサのブロック図である。
示的な論理フロー図である。
ーディオメモリインタフェース158およびオーディオ
インタフェース/ミキサ160をより詳細に示すブロッ
ク図である。
を示す。
である。
示す詳細ブロック図である。
す詳細ブロック図である。
び制御フローをそれぞれ示す図解図である。
び制御フローをそれぞれ示す図解図である。
解図である。
図解図である。
る。
ーディオメモリ,データライン,およびオーディオDS
Pのデータを示す図解図である。
ーディオメモリ,データライン,およびオーディオDS
Pのデータを示す図解図である。
オーディオメモリ,データライン,およびオーディオD
SPのデータを示す図解図である。
スシステム 54 …主ユニット 110 …主プロセサ 112 …主メモリ 114 …グラフィクス/オーディオプロセサ 126 …オーディオメモリ(ARAM) 156 …オーディオDSP 821 …アクセラレータ 823 …ARAMコントローラ 825 …ARAMDMA 902 …後続アドレス発生回路 904a−904c …データライン 906a−906c …パラメータレジスタ 926a …内部オーディオメモリ 926b …拡張オーディオメモリ
Claims (19)
- 【請求項1】音声サンプルをストアするメモリ、 音声サンプルを処理するためのオーディオ信号プロセ
サ、 第1アドレスから第2アドレスまでアドレスしかつ次い
でその第1アドレスと第2アドレスとの間の第3アドレ
スまで1回以上ループして戻るようにメモリをアドレス
して、音声サンプルを読み出すアドレス回路、および アドレス回路が第3アドレスへループして戻る間のメモ
リアクセスのレイテンシを隠すために、現在アドレスお
よび1つ以上の後続アドレスをストアするためのプリフ
ェッチ記憶領域を備える、オーディオシステム。 - 【請求項2】アドレス回路はメモリからオーディオデー
タを読み出すために複数の異なるアドレスモードで動作
可能である、請求項1記載のオーディオシステム。 - 【請求項3】アドレスモードの1つは4ビットアドレス
モードである、請求項2記載のオーディオシステム。 - 【請求項4】アドレスモードの1つは8ビットアドレス
モードである、請求項2記載のオーディオシステム。 - 【請求項5】アドレスモードの1つは16ビットアドレ
スモードである、請求項2記載のオーディオシステム。 - 【請求項6】アドレス回路は4ビットアドレスモード,
8ビットアドレスモードおよび16ビットアドレスモー
ドの1つで動作可能である、請求項2記載のオーディオ
システム。 - 【請求項7】アドレス回路は、開始アドレスレジスタ,
終了アドレスレジスタおよび現在アドレスレジスタを含
む、請求項1記載のオーディオシステム。 - 【請求項8】開始アドレスレジスタ,終了アドレスレジ
スタおよび現在アドレスレジスタはオーディオ信号プロ
セサによって読み出され/書き込まれ得る、請求項7記
載のオーディオシステム。 - 【請求項9】アドレス回路は、開始アドレスレジスタ,
終了アドレスレジスタおよび現在アドレスレジスタの内
容に基づいてメモリをアドレスするためのアドレスを発
生するアドレス発生回路をさらに含む、請求項7記載の
オーディオシステム。 - 【請求項10】プリフェッチ記憶領域はFIFOとして
動作する、請求項1記載のオーディオシステム。 - 【請求項11】プリフェッチ記憶領域は現在アドレス以
後の2つの次のアドレスについてプリフェッチデータを
ストアする、請求項1記載のオーディオシステム。 - 【請求項12】現在アドレスレジスタはメモリに対する
読出し/書込みアクセスを判断するビットを含む、請求
項1記載のオーディオシステム。 - 【請求項13】プリフェッチ記憶領域はFIFOとして
形成された複数のデータラインを含む、請求項1記載の
オーディオシステム。 - 【請求項14】プリフェッチ記憶領域は3つのデータラ
インである、請求項13記載のオーディオシステム。 - 【請求項15】オーディオ信号プロセサによって処理す
るためにメモリからオーディオサンプルを読み出すため
の方法であって、 オーディオサンプルを読み出すために、第1アドレスか
ら第2アドレスまでアドレスしかつ次いでその第1アド
レスと第2アドレスとの間の第3アドレスまで1回以上
ループして戻るようにメモリをアドレスし、そして第3
アドレスへループして戻る間にメモリアクセスのレイテ
ンシを隠すために現在アドレスおよび1つ以上の後続ア
ドレスをストアする、方法。 - 【請求項16】メモリは複数の異なるアドレスモードで
アドレスされる、請求項15記載の方法。 - 【請求項17】アドレスモードの1つは4ビットアドレ
スモードである、請求項15記載の方法。 - 【請求項18】アドレスモードの1つは8ビットアドレ
スモードである、請求項15記載の方法。 - 【請求項19】アドレスモードの1つは16ビットアド
レスモードである、請求項15記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/643984 | 2000-08-23 | ||
US09/643,984 US6643744B1 (en) | 2000-08-23 | 2000-08-23 | Method and apparatus for pre-fetching audio data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002169596A true JP2002169596A (ja) | 2002-06-14 |
JP5025849B2 JP5025849B2 (ja) | 2012-09-12 |
Family
ID=24582957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000394136A Expired - Lifetime JP5025849B2 (ja) | 2000-08-23 | 2000-12-26 | オーディオ信号をプリフェッチするための方法および装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6643744B1 (ja) |
JP (1) | JP5025849B2 (ja) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001028222A2 (en) * | 1999-10-12 | 2001-04-19 | Perception Digital Technology (Bvi) Limited | Digital multimedia jukebox |
US20050114136A1 (en) * | 2003-11-26 | 2005-05-26 | Hamalainen Matti S. | Manipulating wavetable data for wavetable based sound synthesis |
TWI252468B (en) * | 2004-02-13 | 2006-04-01 | Mediatek Inc | Wavetable synthesis system with memory management according to data importance and method of the same |
US8515741B2 (en) * | 2004-06-18 | 2013-08-20 | Broadcom Corporation | System (s), method (s) and apparatus for reducing on-chip memory requirements for audio decoding |
US7587310B2 (en) * | 2004-08-30 | 2009-09-08 | Lsi Corporation | Sound processor architecture using single port memory unit |
US7912728B2 (en) * | 2006-11-30 | 2011-03-22 | Broadcom Corporation | Method and system for handling the processing of bluetooth data during multi-path multi-rate audio processing |
US7934058B2 (en) * | 2006-12-14 | 2011-04-26 | Microsoft Corporation | Predictive caching of assets to improve level load time on a game console |
CN101681624A (zh) * | 2007-05-21 | 2010-03-24 | 松下电器产业株式会社 | 声音编码以及再生装置 |
US8266381B2 (en) * | 2008-02-01 | 2012-09-11 | International Business Machines Corporation | Varying an amount of data retrieved from memory based upon an instruction hint |
US8140771B2 (en) * | 2008-02-01 | 2012-03-20 | International Business Machines Corporation | Partial cache line storage-modifying operation based upon a hint |
US8255635B2 (en) * | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Claiming coherency ownership of a partial cache line of data |
US8250307B2 (en) | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Sourcing differing amounts of prefetch data in response to data prefetch requests |
US8595443B2 (en) * | 2008-02-01 | 2013-11-26 | International Business Machines Corporation | Varying a data prefetch size based upon data usage |
US8117401B2 (en) * | 2008-02-01 | 2012-02-14 | International Business Machines Corporation | Interconnect operation indicating acceptability of partial data delivery |
US8108619B2 (en) * | 2008-02-01 | 2012-01-31 | International Business Machines Corporation | Cache management for partial cache line operations |
US20090198910A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Ravi K | Data processing system, processor and method that support a touch of a partial cache line of data |
US8117390B2 (en) * | 2009-04-15 | 2012-02-14 | International Business Machines Corporation | Updating partial cache lines in a data processing system |
US8176254B2 (en) * | 2009-04-16 | 2012-05-08 | International Business Machines Corporation | Specifying an access hint for prefetching limited use data in a cache hierarchy |
US8140759B2 (en) * | 2009-04-16 | 2012-03-20 | International Business Machines Corporation | Specifying an access hint for prefetching partial cache block data in a cache hierarchy |
US9084058B2 (en) | 2011-12-29 | 2015-07-14 | Sonos, Inc. | Sound field calibration using listener localization |
US20130322551A1 (en) * | 2011-12-29 | 2013-12-05 | Jose M. Rodriguez | Memory Look Ahead Engine for Video Analytics |
US9225307B2 (en) | 2012-06-28 | 2015-12-29 | Sonos, Inc. | Modification of audio responsive to proximity detection |
US9690271B2 (en) | 2012-06-28 | 2017-06-27 | Sonos, Inc. | Speaker calibration |
US9706323B2 (en) | 2014-09-09 | 2017-07-11 | Sonos, Inc. | Playback device calibration |
US9106192B2 (en) | 2012-06-28 | 2015-08-11 | Sonos, Inc. | System and method for device playback calibration |
US9668049B2 (en) | 2012-06-28 | 2017-05-30 | Sonos, Inc. | Playback device calibration user interfaces |
US9690539B2 (en) | 2012-06-28 | 2017-06-27 | Sonos, Inc. | Speaker calibration user interface |
US9219460B2 (en) | 2014-03-17 | 2015-12-22 | Sonos, Inc. | Audio settings based on environment |
US9031244B2 (en) | 2012-06-29 | 2015-05-12 | Sonos, Inc. | Smart audio settings |
US8995687B2 (en) | 2012-08-01 | 2015-03-31 | Sonos, Inc. | Volume interactions for connected playback devices |
US9195432B2 (en) | 2013-02-26 | 2015-11-24 | Sonos, Inc. | Pre-caching of audio content |
US9285886B2 (en) | 2013-06-24 | 2016-03-15 | Sonos, Inc. | Intelligent amplifier activation |
US9298415B2 (en) | 2013-07-09 | 2016-03-29 | Sonos, Inc. | Systems and methods to provide play/pause content |
US9323404B2 (en) | 2013-09-30 | 2016-04-26 | Sonos, Inc. | Capacitive proximity sensor configuration including an antenna ground plane |
US9223353B2 (en) | 2013-09-30 | 2015-12-29 | Sonos, Inc. | Ambient light proximity sensing configuration |
US9122451B2 (en) | 2013-09-30 | 2015-09-01 | Sonos, Inc. | Capacitive proximity sensor configuration including a speaker grille |
US9264839B2 (en) | 2014-03-17 | 2016-02-16 | Sonos, Inc. | Playback device configuration based on proximity detection |
WO2015142230A1 (en) * | 2014-03-19 | 2015-09-24 | Telefonaktiebolaget L M Ericsson (Publ) | Enabling efficient pre-loading of data for a network client |
US10127006B2 (en) | 2014-09-09 | 2018-11-13 | Sonos, Inc. | Facilitating calibration of an audio playback device |
US9910634B2 (en) | 2014-09-09 | 2018-03-06 | Sonos, Inc. | Microphone calibration |
US9952825B2 (en) | 2014-09-09 | 2018-04-24 | Sonos, Inc. | Audio processing algorithms |
US9891881B2 (en) | 2014-09-09 | 2018-02-13 | Sonos, Inc. | Audio processing algorithm database |
WO2016172593A1 (en) | 2015-04-24 | 2016-10-27 | Sonos, Inc. | Playback device calibration user interfaces |
US10664224B2 (en) | 2015-04-24 | 2020-05-26 | Sonos, Inc. | Speaker calibration user interface |
US9538305B2 (en) | 2015-07-28 | 2017-01-03 | Sonos, Inc. | Calibration error conditions |
CN111314826B (zh) | 2015-09-17 | 2021-05-14 | 搜诺思公司 | 由计算设备执行的方法及相应计算机可读介质和计算设备 |
US9693165B2 (en) | 2015-09-17 | 2017-06-27 | Sonos, Inc. | Validation of audio calibration using multi-dimensional motion check |
US9743207B1 (en) | 2016-01-18 | 2017-08-22 | Sonos, Inc. | Calibration using multiple recording devices |
US10003899B2 (en) | 2016-01-25 | 2018-06-19 | Sonos, Inc. | Calibration with particular locations |
US11106423B2 (en) | 2016-01-25 | 2021-08-31 | Sonos, Inc. | Evaluating calibration of a playback device |
US9860662B2 (en) | 2016-04-01 | 2018-01-02 | Sonos, Inc. | Updating playback device configuration information based on calibration data |
US9864574B2 (en) | 2016-04-01 | 2018-01-09 | Sonos, Inc. | Playback device calibration based on representation spectral characteristics |
US9763018B1 (en) | 2016-04-12 | 2017-09-12 | Sonos, Inc. | Calibration of audio playback devices |
US9794710B1 (en) | 2016-07-15 | 2017-10-17 | Sonos, Inc. | Spatial audio correction |
US9860670B1 (en) | 2016-07-15 | 2018-01-02 | Sonos, Inc. | Spectral correction using spatial calibration |
US10372406B2 (en) | 2016-07-22 | 2019-08-06 | Sonos, Inc. | Calibration interface |
US10459684B2 (en) | 2016-08-05 | 2019-10-29 | Sonos, Inc. | Calibration of a playback device based on an estimated frequency response |
US11138960B2 (en) | 2017-02-14 | 2021-10-05 | Cinesamples, Inc. | System and method for a networked virtual musical instrument |
US11537264B2 (en) * | 2018-02-09 | 2022-12-27 | Sony Interactive Entertainment LLC | Methods and systems for providing shortcuts for fast load when moving between scenes in virtual reality |
US10802983B2 (en) * | 2018-05-31 | 2020-10-13 | Vmware, Inc. | Programmable block storage addressing using embedded virtual machines |
US11206484B2 (en) | 2018-08-28 | 2021-12-21 | Sonos, Inc. | Passive speaker authentication |
US10299061B1 (en) | 2018-08-28 | 2019-05-21 | Sonos, Inc. | Playback device calibration |
US10734965B1 (en) | 2019-08-12 | 2020-08-04 | Sonos, Inc. | Audio calibration of a portable playback device |
US12090403B1 (en) * | 2023-11-17 | 2024-09-17 | Build A Rocket Boy Games Ltd. | Audio signal generation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07302083A (ja) * | 1994-05-06 | 1995-11-14 | Yamaha Corp | 音声信号発生装置 |
JPH08106286A (ja) * | 1994-10-05 | 1996-04-23 | Kawai Musical Instr Mfg Co Ltd | 自動演奏装置 |
JPH11219175A (ja) * | 1998-01-30 | 1999-08-10 | Kawai Musical Instr Mfg Co Ltd | 自動演奏装置 |
JP2000221978A (ja) * | 1999-01-28 | 2000-08-11 | Roland Corp | 波形再生装置 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4951246A (en) * | 1989-08-08 | 1990-08-21 | Cray Research, Inc. | Nibble-mode dram solid state storage device |
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 |
US5342990A (en) | 1990-01-05 | 1994-08-30 | E-Mu Systems, Inc. | Digital sampling instrument employing cache-memory |
JPH04172533A (ja) * | 1990-11-07 | 1992-06-19 | Toshiba Corp | 電子計算機 |
JP2692384B2 (ja) * | 1990-12-29 | 1997-12-17 | 日本電気株式会社 | アドレス生成回路 |
JP3158370B2 (ja) | 1991-07-12 | 2001-04-23 | ソニー株式会社 | ディスクデータ再生装置 |
WO1994010641A1 (en) | 1992-11-02 | 1994-05-11 | The 3Do Company | Audio/video computer architecture |
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 |
DE69535330T2 (de) | 1994-09-14 | 2007-05-31 | Intel Corporation, Santa Clara | Caching-System mit Explitzer Folgeliste |
US5659698A (en) * | 1994-11-01 | 1997-08-19 | Motorola, Inc. | Method and apparatus for generating a circular buffer address in integrated circuit that performs multiple communications tasks |
US6002411A (en) | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
US5607356A (en) | 1995-05-10 | 1997-03-04 | Atari Corporation | Interactive game film |
WO1996041279A1 (en) | 1995-06-07 | 1996-12-19 | Advanced Micro Devices, Inc. | Computer system having a dedicated multimedia engine including multimedia memory |
US5753841A (en) | 1995-08-17 | 1998-05-19 | Advanced Micro Devices, Inc. | PC audio system with wavetable cache |
US5847304A (en) | 1995-08-17 | 1998-12-08 | Advanced Micro Devices, Inc. | PC audio system with frequency compensated wavetable data |
KR100371456B1 (ko) | 1995-10-09 | 2004-03-30 | 닌텐도가부시키가이샤 | 삼차원화상처리시스템 |
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 |
US5860076A (en) * | 1996-01-11 | 1999-01-12 | Alliance Semiconductor Corporation | 48-bit wide memory architecture addressing scheme reconfigurable for 8-bit, 16-bit and 32-bit data accesses |
JP3519199B2 (ja) | 1996-02-06 | 2004-04-12 | 株式会社ソニー・コンピュータエンタテインメント | 画像生成装置 |
TW332961B (en) | 1996-02-09 | 1998-06-01 | Sony Co Ltd | Recording media |
US5895469A (en) | 1996-03-08 | 1999-04-20 | Vlsi Technology, Inc. | System for reducing access times for retrieving audio samples and method therefor |
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 |
US5689080A (en) | 1996-03-25 | 1997-11-18 | Advanced Micro Devices, Inc. | Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory which minimizes audio infidelity due to wavetable data access latency |
US5763801A (en) | 1996-03-25 | 1998-06-09 | Advanced Micro Devices, Inc. | Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory |
US5809342A (en) | 1996-03-25 | 1998-09-15 | Advanced Micro Devices, Inc. | Computer system and method for generating delay-based audio effects in a wavetable music synthesizer which stores wavetable data in system memory |
KR100221028B1 (ko) | 1996-07-23 | 1999-09-15 | 윤종용 | 그래픽 가속기 및 이를 이용한 메모리 프리패치 방법 |
US6047365A (en) | 1996-09-17 | 2000-04-04 | Vlsi Technology, Inc. | Multiple entry wavetable address cache to reduce accesses over a PCI bus |
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 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および方法 |
US6138224A (en) | 1997-04-04 | 2000-10-24 | International Business Machines Corporation | Method for paging software wavetable synthesis samples |
JP3546341B2 (ja) | 1997-04-17 | 2004-07-28 | 株式会社日立製作所 | 多重ループ向けデータプリフェッチ方法およびプログラム生成方法 |
US5811706A (en) | 1997-05-27 | 1998-09-22 | Rockwell Semiconductor Systems, Inc. | Synthesizer system utilizing mass storage devices for real time, low latency access of musical instrument digital samples |
JP3384290B2 (ja) | 1997-07-25 | 2003-03-10 | ヤマハ株式会社 | 音源装置 |
US6016522A (en) | 1997-11-13 | 2000-01-18 | Creative Labs, Inc. | System for switching between buffers when receiving bursty audio by computing loop jump indicator plus loop start address for read operations in selected buffer |
US6124868A (en) | 1998-03-24 | 2000-09-26 | Ati Technologies, Inc. | Method and apparatus for multiple co-processor utilization of a ring buffer |
US6138183A (en) | 1998-05-06 | 2000-10-24 | Ess Technolgoy Inc. | Transparent direct memory access |
US6100461A (en) | 1998-06-10 | 2000-08-08 | Advanced Micro Devices, Inc. | Wavetable cache using simplified looping |
US6084170A (en) | 1999-09-08 | 2000-07-04 | Creative Technology Ltd. | Optimal looping for wavetable synthesis |
-
2000
- 2000-08-23 US US09/643,984 patent/US6643744B1/en not_active Expired - Lifetime
- 2000-12-26 JP JP2000394136A patent/JP5025849B2/ja not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07302083A (ja) * | 1994-05-06 | 1995-11-14 | Yamaha Corp | 音声信号発生装置 |
JPH08106286A (ja) * | 1994-10-05 | 1996-04-23 | Kawai Musical Instr Mfg Co Ltd | 自動演奏装置 |
JPH11219175A (ja) * | 1998-01-30 | 1999-08-10 | Kawai Musical Instr Mfg Co Ltd | 自動演奏装置 |
JP2000221978A (ja) * | 1999-01-28 | 2000-08-11 | Roland Corp | 波形再生装置 |
Also Published As
Publication number | Publication date |
---|---|
US6643744B1 (en) | 2003-11-04 |
JP5025849B2 (ja) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5025849B2 (ja) | オーディオ信号をプリフェッチするための方法および装置 | |
JP5149985B2 (ja) | 機能拡張型メモリコントローラを備えるグラフィックス処理システム | |
KR100458395B1 (ko) | 오디오 메모리에 데이터를 프리캐싱하는 방법과 장치 | |
JP4757406B2 (ja) | グラフィクスシステム | |
JP4808858B2 (ja) | グラフィクスパイプラインおよびそれの同期化方法 | |
JP4698893B2 (ja) | 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム | |
JP4680412B2 (ja) | 描画モードに基づいて隠面処理の順番を動的に再構成する方法および装置 | |
JP4890638B2 (ja) | グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置 | |
JP4719363B2 (ja) | 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム | |
JP4691273B2 (ja) | グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法 | |
JP4570766B2 (ja) | 音声信号をミキシングするための方法および装置 | |
JP2002063595A (ja) | スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置 | |
JP2001307128A (ja) | 画像描画方法、画像描画装置、記録媒体及びプログラム | |
JP4658397B2 (ja) | オーディオメモリ内のデータを予めキャッシュする方法及び装置 | |
JP2001149639A (ja) | 画像処理装置、画像生成方法および記憶媒体 | |
CA2371367A1 (en) | Method and apparatus for generating images | |
JP5020443B2 (ja) | 共有リソースへのアクセス方法及び装置 | |
JP5055470B2 (ja) | サウンドプロセッサ | |
Modes | GBA Reference |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100428 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110613 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110621 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20110916 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120515 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150629 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5025849 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |