上記特許文献2にも言及されているように、グラフィックLSIおよびオーディオLSIといった2つのデバイスをCPUに直接接続した場合、これらの接続バスを構成するラインの本数分だけCPUの出力端子が必要になり、端子数の増大を招くという不都合がある。特許文献2では、画像処理装置の出力バスにLCDおよび音源LSIの双方を接続することで、このような不都合を解消している。しかしながら、同一のバスにて、音源LSIへのデータ転送のみならず表示画像の転送も行うため、水平ブランク期間でしか音源LSIへのデータ転送を行えないという時期的な制約が生じる。このような制約によって、音源LSIに転送すべきデータ量が大きい場合に、必要なデータを一括して転送できず、細切れに転送せざるを得ないといった状況が生じる。その結果、転送効率の低下や転送制御の複雑化といった新たな問題を招く。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、デバイス接続に必要なCPUの端子数を有効に削減することである。
また、本発明の別の目的は、デバイス制御の効率性を高め、そのアクセスに必要なCPUの占有時間を短縮することである。
また、本発明の別の目的は、オーディオLSIへのデータ転送に関して、転送効率の低下および転送制御の複雑化の抑制を図ることである。
さらに、本発明の別の目的は、画像および音声の同期再生に関する制御性の向上を図ることである。
かかる課題を解決するために、第1の発明は、CPUに第1のバスを介して接続されたグラフィックLSIを提供する。このグラフィックLSIは、第1の格納部と、第2の格納部と、グラフィック処理部と、転送回路とを有する。第1の格納部は、グラフィック系格納領域と、オーディオ系格納領域とを有する。グラフィック系格納領域は、グラフィックLSIに画像再生処理を行わせるグラフィック系実行情報の格納先となるアドレス範囲が予め割り当てられており、この割り当てられたアドレス範囲内でCPUによって指定された格納先アドレスに、CPUによって発行されたグラフィック系実行情報が格納される。オーディオ系格納領域は、オーディオLSIに行わせるオーディオ系実行情報の格納先となり、グラフィック系実行情報の格納先とは異なるアドレス範囲が予め割り当てられており、この割り当てられたアドレス範囲内でCPUによって指定された格納先アドレスに、CPUによって発行されたオーディオ系実行情報が格納される。第2の格納部は、表示画像を格納するために設けられた、第1の格納部とは異なる格納部である。グラフィック処理部は、第1の格納部におけるグラフィック系格納領域に格納されたグラフィック系実行情報に応じた画像再生処理を行い、この処理によって生成された表示画像を第2の格納部に書き込む。それとともに、グラフィック処理部は、第2の格納部より読み出された表示画像を、第1のバスとは異なる第2のバスを介して、出力装置に出力する。転送回路は、オーディオLSIにオーディオ系実行情報に応じた音声再生処理を行わせるために、CPUからの転送指示に応じて、第1の格納部におけるオーディオ系格納領域に格納されたオーディオ系実行情報を、第1のバスおよび第2のバスとは異なる第3のバスを介して、グラフィック処理部による表示画像の出力とは非同期で、オーディオLSIへ転送する。
ここで、第1の発明において、第1の格納部は、オーディオ系格納領域からオーディオLSIへオーディオ系実行情報が転送中であるか否かを示す転送フラグを格納する、CPUがアクセス可能なフラグ格納領域をさらに有していてもよい。この場合、転送回路は、オーディオ系格納領域からオーディオLSIへの転送が行われている場合には、転送フラグをオーディオ系実行情報が転送中であることを示すステータスに設定することによって、CPUによるオーディオ系格納領域へのアクセスを禁止する。また、転送回路は、オーディオ系格納領域からオーディオLSIへの転送が行われていない場合には、転送フラグをオーディオ系実行情報が転送中でないことを示すステータスに設定することによって、CPUによるオーディオ系格納領域へのアクセスを許可する。
第1の発明において、第1の格納部は、CPUによって発行され、オーディオ系実行情報の転送内容を指示する転送パラメータを格納する転送系格納領域をさらに有していてもよい。この場合、転送回路は、転送系格納領域に格納された転送パラメータに応じた転送内容で、オーディオ系実行情報の転送を実行する。この転送パラメータは、オーディオ系格納領域から読み出されるオーディオ系実行情報の転送サイズの指示を含んでいてもよい。
第2の発明は、CPUと、CPUに第1のバスを介して接続されたグラフィックLSIと、オーディオLSIとを有する統合システムで画像および音声を同期再生する同期再生方法を提供する。この同期再生方法は、グラフィックLSIに画像再生処理を行わせるグラフィック系実行情報の格納先として予め割り当てられたアドレス範囲内において、CPUが格納先アドレスの指定付きでグラフィック系実行情報を発行する第1のステップと、グラフィックLSI内の第1の格納部が有するグラフィック系格納領域内におけるCPUによって指定された格納先に、CPUによって発行されたグラフィック系実行情報を格納する第2のステップと、第1の格納部のグラフィック系格納領域に格納されたグラフィック系実行情報に応じた画像再生処理を行い、この処理によって生成された表示画像を、グラフィックLSI内における第1の格納部とは異なる第2の格納部に書き込む第3のステップと、第2の格納部より読み出された表示画像を、第1のバスとは異なる第2のバスを介して、出力装置に出力する第4のステップと、オーディオLSIに音声再生処理を行わせるオーディオ系実行情報の格納先として、グラフィック系実行情報の格納先とは異なる予め割り当てられたアドレス範囲内において、CPUが格納先アドレスの指定付きでオーディオ系実行情報を発行する第5のステップと、第1の格納部が有するオーディオ系格納領域内におけるCPUによって指定された格納先に、CPUによって発行されたオーディオ系実行情報を格納する第6のステップと、オーディオLSIにオーディオ系実行情報に応じた音声再生処理を行わせるために、CPUからの転送指示に応じて、オーディオ系格納領域に格納されたオーディオ系実行情報を、第1のバスおよび第2のバスとは異なる第3のバスを介して、グラフィック処理部による表示画像の出力とは非同期で、オーディオLSIへ転送する第7のステップとを有する。
ここで、第2の発明において、第1の格納部は、オーディオ系格納領域からオーディオLSIへオーディオ系実行情報が転送中であるか否かを示す転送フラグを格納する、CPUがアクセス可能なフラグ格納領域をさらに有していてもよい。この場合、第7のステップは、オーディオ系格納領域からオーディオLSIへの転送が行われている場合には、転送フラグをオーディオ系実行情報が転送中であることを示す第1のステータスに設定することによって、CPUによるオーディオ系格納領域へのアクセスを禁止するステップと、オーディオ系格納領域からオーディオLSIへの転送が行われていない場合には、転送フラグをオーディオ系実行情報が転送中でないことを示す第2のステータスに設定することによって、CPUによるオーディオ系格納領域へのアクセスを許可するステップとを有することが好ましい。
第2の発明において、第1の格納部は、CPUによって発行され、オーディオ系実行情報の転送内容を指示する転送パラメータを格納する転送系格納領域をさらに有していてもよい。この場合、第7のステップは、転送系格納領域に格納された転送パラメータに応じた転送内容で、オーディオ系実行情報の転送を実行するステップであることが好ましい。また、この転送パラメータは、オーディオ系格納領域から読み出されるオーディオ系実行情報の転送サイズの指示を含んでいてもよい。
第3の発明は、CPUに第1のバスを介して接続されたグラフィックLSIを提供する。このグラフィックLSIは、グラフィック系格納領域と、第1のオーディオ系格納領域と、第2のオーディオ系格納領域と、グラフィック処理部と、転送回路とを有する。グラフィック系格納領域は、グラフィックLSIに画像再生処理を行わせるグラフィック系実行情報の格納先となるアドレス範囲が予め割り当てられており、この割り当てられたアドレス範囲内でCPUによって指定された格納先アドレスに、CPUによって発行されたグラフィック系実行情報を格納する。第1のオーディオ系格納領域は、オーディオLSIに音声再生処理を行わせるオーディオ系実行情報の格納先として、グラフィック系実行情報の格納先とは異なるアドレス範囲が予め割り当てられており、この割り当てられたアドレス範囲内でCPUによって指定された格納先アドレスに、CPUによって発行されたオーディオ系実行情報を格納する。第2のオーディオ系格納領域は、アドレス範囲が予め割り当てられており、オーディオLSIから転送された読出情報を格納する。グラフィック処理部は、グラフィック系格納領域に格納されたグラフィック系実行情報に応じた画像再生処理を行う。転送回路は、CPUからの転送指示に応じて、第1のオーディオ系格納領域に格納されたオーディオ系実行情報を、第1のバスとは異なる第2のバスを介して、オーディオLSIへ転送し、または、オーディオLSIから読み出された読出情報を第2のバスを介して第2のオーディオ系格納領域へ転送する。
ここで、第3の発明において、CPUによって発行され、オーディオ系実行情報の転送内容を指示する転送パラメータが格納される転送系格納領域をさらに有していてもよい。この場合、転送回路は、転送系格納領域に格納された転送パラメータによって、書込転送が指示された場合には、第1のオーディオ系格納領域に格納されたオーディオ系実行情報をオーディオLSIへ転送する。また、転送回路は、転送系格納領域に格納された転送パラメータによって、読出転送が指示された場合には、オーディオLSIから読み出された読出情報を第2のオーディオ系格納領域へ転送する。
第3の発明において、第1のオーディオ系格納領域からオーディオLSIへオーディオ実行情報が転送中であるか否かを示す第1の転送フラグと、オーディオLSIから第2のオーディオ系格納領域へ読出情報が転送中であるか否かを示す第2の転送フラグとを格納する、CPUがアクセス可能なフラグ格納領域をさらに有していてもよい。この場合、転送回路は、第1のオーディオ系格納領域からオーディオLSIへの転送が行われている場合には、第1の転送フラグをオーディオ系実行情報が転送中であることを示すステータスに設定することによって、CPUによる第1のオーディオ系格納領域へのアクセスを禁止し、第1のオーディオ系格納領域からオーディオLSIへの転送が行われていない場合には、第1の転送フラグをオーディオ系実行情報が転送中でないことを示すステータスに設定することによって、CPUによる第1のオーディオ系格納領域へのアクセスを許可する。また、転送回路は、オーディオLSIから第2のオーディオ系格納領域への転送が行われている場合には、第2の転送フラグを読出情報が転送中であることを示すステータスに設定することによって、CPUによる第2のオーディオ系格納領域へのアクセスを禁止し、オーディオLSIから第2のオーディオ系格納領域への転送が行われていない場合には、第2の転送フラグを読出情報が転送中でないことを示すステータスに設定することによって、CPUによる第2のオーディオ系格納領域へのアクセスを許可する。
第4の発明は、CPUと、CPUに第1のバスを介して接続されたグラフィックLSIと、オーディオLSIとを有する統合システムで画像および音声を同期再生する同期再生方法を提供する。この同期再生方法は、グラフィックLSIに画像再生処理を行わせるグラフィック系実行情報の格納先として予め割り当てられたアドレス範囲内において、CPUが格納先アドレスの指定付きでグラフィック系実行情報を発行する第1のステップと、グラフィックLSIが有するグラフィック系格納領域内におけるCPUによって指定された格納先に、CPUによって発行されたグラフィック系実行情報を格納する第2のステップと、グラフィック系格納領域に格納されたグラフィック系実行情報に応じた画像再生処理を行う第3のステップと、オーディオLSIに音声再生処理を行わせるオーディオ系実行情報の格納先として、グラフィック系実行情報の格納先とは異なる予め割り当てられたアドレス範囲内において、CPUが格納先アドレスの指定付きでオーディオ系実行情報を発行する第4のステップと、グラフィックLSIが有する第1のオーディオ系格納領域内におけるCPUによって指定された格納先に、CPUによって発行されたオーディオ系実行情報を格納する第5のステップと、CPUによって書込転送が指示された場合、オーディオLSIにオーディオ系実行情報に応じた音声再生処理を行わせるために、第1のオーディオ系格納領域に格納されたオーディオ系実行情報を、第1のバスとは異なる第2のバスを介して、オーディオLSIへ転送する第6のステップと、CPUによって読出転送が指示された場合、オーディオLSIから読み出された読出情報を、第2のバスを介して、グラフィックLSIが有する第2のオーディオ系格納領域へ転送するとともに、CPUがアドレスを指定して第2のオーディオ系格納領域にアクセスする第7のステップとを有する。
ここで、第4の発明において、第1のオーディオ系格納領域からオーディオLSIへの転送が行われている場合には、CPUによる第1のオーディオ系格納領域へのアクセスを禁止するとともに、第1のオーディオ系格納領域からオーディオLSIへの転送が行われていない場合には、CPUによる第1のオーディオ系格納領域へのアクセスを許可する第8のステップと、オーディオLSIから第2のオーディオ系格納領域への転送が行われている場合には、CPUによる第2のオーディオ系格納領域へのアクセスを禁止するとともに、オーディオLSIから第2のオーディオ系格納領域への転送が行われていない場合には、CPUによる第2のオーディオ系格納領域へのアクセスを許可する第9のステップとをさらに有していてもよい。
第5の発明は、CPUと、CPUに第1のバスを介して接続されたグラフィックLSIと、オーディオLSIとを有する統合システムで画像および音声を同期再生する同期再生方法を提供する。この同期再生方法は、グラフィックLSIに画像再生処理を行わせるグラフィック系実行情報を、CPUが発行する第1のステップと、CPUによって発行されたグラフィック系実行情報を、第1のバスを介して、グラフィックLSIが有する格納部に格納する第2のステップと、グラフィックLSIが、格納部に格納されたグラフィック系実行情報に応じた画像処理を行う第3のステップと、オーディオLSIが音声再生コマンドを実行するのに必要な音声再生パラメータを、CPUが発行する第4のステップと、CPUによって発行された音声再生パラメータを、第1のバスを介して、格納部に格納する第5のステップと、CPUによって音声再生パラメータの転送開始が指示された場合、格納部に格納された音声再生パラメータを、第1のバスとは異なる第2のバスを介して、オーディオLSIへ転送することによって、オーディオLSI内に音声再生パラメータをセットする第6のステップと、オーディオLSIへの音声再生パラメータの転送が終了した後に、音声再生の開始を指示する音声再生コマンドを、CPUが発行する第7のステップと、CPUによって発行された音声再生コマンドを、第1のバスと、グラフィックLSIと、第2のバスとを介して、オーディオLSIへ転送することによって、先に転送された音声再生パラメータの指定に応じた音声再生処理をオーディオLSIに実行させる第8のステップとを有する。
第6の発明は、CPUと、CPUに第1のバスを介して接続されたグラフィックLSIと、オーディオLSIとを有する統合システムで画像および音声を同期再生する同期再生方法を提供する。この同期再生方法は、グラフィックLSIに画像再生処理を行わせるグラフィック系実行情報を、CPUが発行する第1のステップと、CPUによって発行されたグラフィック系実行情報を、第1のバスを介して、グラフィックLSIが有する格納部に格納する第2のステップと、グラフィックLSIが、格納部に格納されたグラフィック系実行情報に応じた画像処理を行う第3のステップと、オーディオLSIが音声再生コマンドを実行するのに必要な複数の音声再生パラメータを、CPUが時分割で発行する第4のステップと、CPUによって時分割で発行された複数の音声再生パラメータを、第1のバスを介して、格納部に随時格納する第5のステップと、CPUによって音声再生パラメータの転送開始が指示された場合、格納部に格納された複数の音声再生パラメータを、第1のバスとは異なる第2のバスを介して、オーディオLSIへ一括転送することによって、オーディオLSI内に音声再生パラメータをセットする第6のステップと、オーディオLSIへの音声再生パラメータの一括転送が終了した後に、音声再生の開始を指示する音声再生コマンドを、CPUが発行する第7のステップと、CPUによって発行された音声再生コマンドを、第1のバスと、グラフィックLSIと、第2のバスとを介して、オーディオLSIへ転送することによって、先に転送された音声再生パラメータの指定に応じた音声再生処理をオーディオLSIに実行させる第8のステップとを有する。
ここで、第5または第6の発明において、第8のステップは、CPUによって発行された音声再生コマンドを、第1のバスを介して、格納部に格納するステップと、CPUによって音声再生コマンドの転送開始が指示された場合、格納部に格納された音声再生コマンドを、第2のバスを介して、オーディオLSIへ転送するステップとを含んでいてもよい。
第1または第2の発明によれば、CPUによって発行されたオーディオ系実行情報は、グラフィックLSIを介して、オーディオLSIに転送される。したがって、オーディオLSIをCPUに直接接続しなくても、オーディオLSIにオーディオ系実行情報を転送できる。これにより、オーディオLSIを直接接続しない場合には、そのための接続に必要だった個数分だけCPUの端子数を削減することが可能になる。
また、第1または第2の発明によれば、オーディオLSIに転送すべきオーディオ系実行情報をグラフィックLSI側の第1のオーディオ系格納領域に一旦バッファリングしている。これにより、グラフィックLSIおよびオーディオLSIのデバイス制御の効率性を高めることができ、デバイスアクセスに必要なCPUの占有時間を短縮することが可能になる。特に、グラフィックLSIには、実行情報の種別(グラフィック系/オーディオ系)毎に、格納先となるレジスタのアドレス範囲が予め区分されている。したがって、オーディオLSIへの転送対象の特定は、CPUが格納先アドレスを指定するだけで足り、グラフィックLSI自体が実行情報の種別を把握・管理する必要がない。これにより、グラフィックLSIの構成を著しく複雑化させることなく、オーディオ系実行情報の転送機能を容易に実現できる。
また、第1または第2の発明によれば、グラフィック系実行情報およびオーディオ系実行情報の格納先を表示画像の格納先とは別個の格納部にしている。また、オーディオLSIにオーディオ系実行情報の転送するためのバスを、出力装置に表示画像を出力するバスとは別バス化している。さらに、オーディオLSIへのオーディオ系実行情報の転送は、グラフィック処理部による表示画像の出力とは非同期で行われる。これにより、オーディオ系実行情報の転送に関して、表示画像の走査に伴う時期的な制約から解消されるので、転送効率の低下を抑制でき、かつ、転送制御の簡略化を図ることができる。
第3または第4の発明によれば、書込転送と読出転送とでレジスタの格納先を予め区別しているので、CPUおよびオーディオLSI間で双方向のデータ転送(書込転送/読出転送)を効率的かつ高速に実行できる。
第5または第6の発明によれば、グラフィックLSIからオーディオLSIへの転送タイミングをCPUにて制御することにより、音声再生パラメータの発行を短期間に集中させる必要はなく、時間的な余裕がある中で比較負荷の少ないタイミングを見計らって適宜行うことができる。これにより、CPUにかかる負荷を分散させることができるので、画像および音声の同期再生に関して、CPUの制御性の向上を図ることが可能になる。
図1は、本実施形態にかかる画像および音声を同期再生する統合システムのブロック構成図である。この統合システムは、CPU1と、ROM2(ROM:Read Only Memory)と、グラフィックLSI3と、出力装置4と、ROM5と、オーディオLSI6と、出力装置7とから構成されている。CPU1およびグラフィックLSI3は、あるバスを介して接続されており、グラフィックLSI3およびオーディオLSI6は、別のバスを介して接続されている。本実施形態では、CPU1およびオーディオLSI6は直接的には接続されておらず、グラフィックLSIが介在した形態になっているので、CPU1とオーディオLSI6との間におけるデータ転送はグラフィックLSI3を介して行われる。
グラフィックLSI3は、CPUインターフェース31、レジスタ32、グラフィック処理部33、転送回路34およびコマンドインターフェース35から構成されている。また、グラフィック処理部33は、RAM33a(RAM:Random Access Memory)、転送回路33b、描画回路33cおよび表示回路33dで構成されている。上位に位置するCPU1は、グラフィックLSI3に対して、グラフィック系実行情報を発行する。グラフィック系実行情報には、画像再生コマンドと、このコマンドを実行するのに必要な画像再生パラメータとが存在する。画像再生パラメータには、例えば、外付けされたROM2のアドレス(転送元アドレス)の指定と、グラフィック処理部33の一部を構成するRAM33aのアドレス(転送先アドレス)の指定とが含まれる。CPU1によって発行されたグラフィック系実行情報は、CPUインターフェース31を介して、レジスタ32の所定領域に格納される。画像再生コマンドによって画像(動画/静止画の双方を含む)の再生が指示された場合、このコマンドに予め対応付けられた所定の格納先から画像再生パラメータが読み出され、このパラメータの指定に応じた画像再生処理が実行される。この処理の概略的な流れとして、まず、転送回路33bは、転送元メモリであるROM2から画像データ(例えばオブジェクト)を読み出し、これを転送先メモリであるRAM33aのワーク領域に転送する。つぎに、描画回路33cは、ワーク領域に格納された画像データを読み出し、これを用いた描画処理を行い、この処理によって生成された表示画像をRAM33aのフレームメモリ領域に書き込む。そして、表示回路33dは、フレームメモリ領域に格納された1フレーム分の表示画像を読み出し、グラフィックLSI3−出力装置4間のバスを介して、ディスプレイ等の出力装置4に出力・表示させる。
また、グラフィックLSI3は、CPU1とオーディオLSI6との間におけるデータ転送を仲介する機能を有している。CPU1は、このデータ転送を実行する転送回路34を制御するために、グラフィックLSI3に対して転送系実行情報を発行する。転送系実行情報には、転送コマンドと、このコマンドを実行するのに必要な転送パラメータとが存在する。転送パラメータには、例えば、転送対象となるデータのサイズ(転送サイズ)、転送レート(単位時間当たりの転送量)、転送方向(グラフィックLSI3から見た場合の書込転送/読出転送)および転送対象の格納先アドレス等が含まれる。CPU1によって発行された転送系実行情報は、CPUインターフェース31を介して、レジスタ32の所定領域に格納される。詳細については後述するが、転送コマンドによってデータ転送の開始が指示された場合、このコマンドに予め対応付けられた所定の格納先から転送パラメータが読み出され、このパラメータの指定に応じたデータ転送が実行される。なお、転送回路34への転送指示は、レジスタ32を用いたコマンド形式で行ってもよいが、転送回路34に制御信号を直接出力することで行ってもよい。
グラフィックLSI3によるオーディオLSI6へのデータ転送は、グラフィック処理部33による表示画像の出力とは非同期で行われる。ここで、「非同期」とは、表示画像を表示するための水平走査や垂直走査、或いは、これらの走査と同期して行われる、グラフィックLSI3および出力装置4間のバスを介したデータ転送とは、無関係に行われるということである。これを可能にするための前提として、グラフィックLSI3および出力装置4間のバスと、グラフィックLSI3およびオーディオLSI6間のバスとを別バス化する(異なるバスにする)必要がある。両者を単一バスにて共用すると、表示画像の転送中にはオーディオLSI6へのデータ転送ができないという時期的な制約が生じるからである。それとともに、オーディオLSI6に転送すべきデータ(オーディオ系実行情報)を格納する格納部(すなわちレジスタ32)と、出力装置4に転送すべきデータ(表示画像)を格納する格納部(すなわちRAM33a)とを分ける(異なる格納部にする)必要もある。両者を単一のメモリにて共用すると、表示画像の読み出し中はオーディオ系実行情報を読み出せないといった事態が生じ、上述した非同期性を損なうからである。このような構成にすることにより、従来技術として挙げた特許文献2で問題となるデータ転送に関する時期的な制約から解放される。その結果、オーディオLSI6に転送すべきオーディオ系実行情報のデータ量(転送量)が大きい場合でも、複雑な転送制御を行うことなく、必要なデータを迅速に一括転送することが可能になる。
オーディオLSI6は、コマンドインターフェース61、レジスタ62およびオーディオ処理部63から構成されている。また、オーディオ処理部63は、ROMインターフェース63a、信号処理回路63bおよびオーディオインターフェース63cで構成されている。上位に位置するCPU1は、グラフィックLSI3を介して、オーディオLSI6にオーディオ系実行情報を発行する。オーディオ系実行情報には、音声再生コマンドと、このコマンドを実行するのに必要な音声再生パラメータとが存在する。音声再生パラメータには、例えば、フレーズ番号の指定等が含まれる。CPU1によって発行されたオーディオ系実行情報は、グラフィックLSI3側のレジスタ32に一旦バッファリングされた後、転送回路34およびコマンドインターフェース35,61を経て、オーディオLSI6側のレジスタ62(格納先)に転送される。グラフィックLSI3から転送されてきた音声再生コマンドによって音声再生の開始が指示された場合、このコマンドに予め対応付けられた所定の格納先から音声再生パラメータが読み出され、このパラメータの指定に応じた音声再生処理が実行される。この処理の概略的な流れとしては、まず、外付けされたROM5に格納された音声データがROMインターフェース63aを介して信号処理回路63bに転送される。そして、信号処理回路63bによって信号処理された出力データが、オーディオインターフェース63cを介してスピーカ等の出力装置7に出力される。
図2は、グラフィックLSI3が備えるレジスタ32の格納領域を示す図である。レジスタ32は、固有のアドレスが割り当てられた単位領域の集合である。本実施形態では、格納すべき情報の種類に基づき、レジスタ32のアドレス空間が5つの領域A〜E(格納領域)に区分されている。
領域Aは、グラフィック系実行情報の格納先として、アドレス範囲が予め割り当てられたグラフィック系格納領域である。CPU1は、領域Aとして割り当てられたアドレス範囲内で格納先アドレスを指定した上で、グラフィック系実行情報を発行する。発行されたグラフィック系実行情報は、CPU1によって指定された格納先アドレスに格納される。そして、格納された実行情報を読み出すことで、これに基づいた画像再生処理がグラフィック処理部33によって行われる。
領域Bは、オーディオ系実行情報の格納先であり、グラフィック系実行情報の格納先とは異なるアドレス範囲が予め割り当てられたオーディオ系格納領域である。領域Bのサイズは固定的に設定されている。CPU1は、領域Bとして割り当てられたアドレス範囲内で格納先アドレスを指定した上で、オーディオ系実行情報を発行する。発行されたオーディオ系実行情報(オーディオLSI6のレジスタ62の格納先アドレスを含んでいてもよい)は、CPU1によって指定された格納先アドレスに格納される。この領域Bは、グラフィックLSI3からオーディオLSI6に向けたデータ転送(書込転送)用として使用される。この領域Bの格納内容は、音声再生処理を行わせるために、オーディオLSI6にこれから転送しようとする情報に相当する。このように、オーディオ系実行情報とグラフィック系実行情報とで格納先を区別しているので、グラフィックLSI3自体が実行情報の種別を把握・管理する必要がない。
領域Cは、オーディオLSI6より読み出された情報(以下、「読出情報」という)の格納先として、アドレス範囲が予め割り当てられたオーディオ系格納領域であり、そのサイズは固定的に設定されている。先の領域Bと異なり、この領域Cは、オーディオLSI6からグラフィックLSI3に向けたデータ転送(読出転送)のために用いられる。したがって、領域Cの格納内容は、CPU1がアクセスするために、オーディオLSI6側のレジスタ62から取得した読出情報(例えば、オーディオLSI6の動作状態を示す情報等)に相当する。このように、書込転送と読出転送とで格納先を予め区別する理由は、双方向のデータ転送(書込転送/読出転送)を効率的に行うためである。
領域Dは、転送系実行情報(特に転送パラメータ)の格納先として、アドレス範囲が予め割り当てられた転送系格納領域であり、そのサイズは固定的に設定されている。CPU1は、領域Dとして割り当てられた格納先アドレスを指定した上で、転送パラメータを発行する。発行された転送パラメータは、CPU1によって指定された格納先アドレス(すなわち領域D)に格納される。データ転送の開始指示がCPU1によって発行された場合、転送回路34は、領域Dに格納された転送パラメータを読み込んで、その指示に従ったデータ転送を実行する。すなわち、書込転送が指示された場合には、領域Bの格納内容が読み出される。ここで読み出される情報量は、領域Bのサイズの範囲内において可変であり、転送パラメータに含まれる転送サイズによって指示された情報が順次読み出される。そして、転送レートによって指示された単位時間当たりのデータ転送量でオーディオLSI6側に転送され、格納先アドレスとして指示された格納先(レジスタ62の一部)に格納される。このような転送パラメータの設定により、転送回路34は、様々な種類やサイズの応じたデータ(実行情報)の転送が実行することができる。一方、読出転送が指示された場合には、レジスタ62より転送されてきたデータがレジスタ32側の領域Cに格納される。それ以外の点については書込転送と同様である。
領域Eは、転送フラグFtrを格納するフラグ格納領域である。この転送フラグFtrは、レジスタ32の領域B,Cと、オーディオLSI6側のレジスタ62との間でデータ転送が実行中であるか否かを示しており、転送回路34によって適宜変更される。具体的には、転送回路34は、転送終了の場合には、転送フラグFtrのステータスを「0」にセットして、CPU1による領域B,Cへのアクセスを許可する一方、転送中の場合には、そのステータスを「1」にセットして、CPU1による領域B,Cへのアクセスを禁止する。領域Eにアクセス可能なCPU1は、例えばポーリング等の周知な手法で転送フラグFtrのステータスを随時モニタリングし、領域B,Cへのアクセスが許可されているか否かを判断する。これにより、CPU1は、グラフィックLSI3およびオーディオLSI6間の転送状態を転送フラグFtrの取得にて把握できる。なお、転送フラグFtrは、レジスタ32に格納する以外に、転送回路34およびCPU1の双方がアクセス可能なそれ以外の記憶手段に格納してもよい。さらに、詳細については後述するが、グラフィックLSI3およびオーディオLSI6間のデータ転送として、書込転送と読出転送という2種類のモードを用いる場合、それぞれのモードに関して、転送フラグを別個に用意することが好ましい。以下の説明では、書込転送フラグをFtr1とし、読出転送フラグをFtr2とする。
図3は、グラフィックLSI3およびオーディオLSI6の連係動作の一例を示す説明図である。図示したケースは、グラフィックLSI3のレジスタ32(領域B)からオーディオLSI6側のレジスタ62への書込転送を示している。書込転送は、典型的には、グラフィックLSI3による画像再生と、オーディオLSI6による音声再生とを同期させるケースにおいて発生する。説明を簡略化するために、初期状態では、グラフィックLSI3のレジスタ32およびオーディオLSI6側のレジスタ62には何ら実行情報が格納されていないものとする。
また、図4は、図3のステップ13(ステップ17)からステップ14(ステップ18)までの一連の手順における、グラフィックLSI3のレジスタ32(領域B,D,E)と、オーディオLSI6側のレジスタ62とに格納されているデータの状態図である。
まず、ステップ11において、CPU1は、グラフィックLSI3のレジスタ32に対して画像再生パラメータを設定する。CPU1によって発行された画像再生パラメータは、CPUインターフェース31を介してレジスタ32のグラフィック系格納領域Aに格納される。なお、画像再生の実行指示に先立ち、動画再生パラメータの発行・格納を複数回行ってもよい。
つぎに、ステップ12において、CPU1は、グラフィックLSI3のレジスタ32に対して音声再生パラメータを設定する。CPU1によって発行された音声再生パラメータは、CPUインターフェース31を介してレジスタ32のオーディオ系格納領域Bに格納される。なお、音声再生の実行指示に先立ち、音声再生パラメータの発行・格納を複数回行ってもよい。
ステップ13において、CPU1は、転送パラメータを発行した(図4のタイミングT1)後に、グラフィックLSI3にデータ転送の開始を指示する。この指示を受けた転送回路34は、転送系格納領域Dから転送パラメータを読み出して、その指示に従った(領域Bに格納された)音声再生パラメータの書込転送を開始する。転送対象は、転送パラメータに含まれる転送サイズにて指定され、この転送サイズ相当の情報が領域Bから読み出される。また、転送速度は、転送パラメータに含まれる転送レートにて指定され、この転送レート相当でデータ転送が実行される。なお、この点は後出する各データ転送であっても同様である。また、転送回路34は、この書込転送の開始に伴い、転送フラグ格納領域Eに格納されている書込転送フラグFtr1のステータスを「0」(転送終了)から「1」(転送中)に変更する(図4のタイミングT2)。この転送フラグFtr1のステータスが「1」の間は、CPU1によるオーディオ系格納領域Bへのアクセス(書き込み)が禁止される(図4のタイミングT3)。そして、書込転送の終了に伴い、転送回路34は、転送フラグFtr1のステータスを「1」(転送中)から「0」(転送終了)に変更する(図4のタイミングT4)。これによって、CPU1によるオーディオ系格納領域Bへのアクセスが許可される。CPU1は、ポーリング等によって転送フラグFtr1のステータスが「0」に戻ったことを検出し、音声再生パラメータの書込転送が終了したことを確認する(図4のタイミングT5・ステップ14)。
ステップ15において、CPU1は、音声再生パラメータの書込転送が終了したことを条件として、グラフィックLSI3のレジスタ32に対して音声再生コマンドを設定する。CPU1によって発行された音声再生コマンドは、CPUインターフェース31を介してレジスタ32のオーディオ系格納領域Bに格納される。
ステップ16において、CPU1は、グラフィックLSI3のレジスタ32に対して画像再生コマンドを設定する。CPU1によって発行された画像再生コマンドは、CPUインターフェース31を介してレジスタ32のグラフィック系格納領域Aに格納される。これによって、このコマンドに対応する画像再生パラメータがグラフィック系格納領域Aから読み出され、これに応じた画像処理がグラフィック処理部33において開始される。
ステップ17において、CPU1は、グラフィックLSI3にデータ転送の開始指示を発行する。この指示を受けた転送回路34は、転送系格納領域Dから転送パラメータを読み出して、その指示に従った(領域Bに格納された)音声再生コマンドの書込転送を開始する。また、転送回路34は、この書込転送の開始に伴い、転送フラグ格納領域Eに格納されている転送フラグFtr1のステータスを「0」(転送終了)から「1」(転送中)に変更する。転送された音声再生コマンドはオーディオLSI6側のレジスタ62に格納される。これによって、このコマンドに対応する音声再生パラメータがレジスタ62から読み出され、これに応じた音声再生処理がオーディオ処理部63において開始される。そして、この書込転送の終了に伴い、転送回路34は、転送フラグFtr1のステータスを「1」(転送中)から「0」(転送終了)に変更する。CPU1は、転送フラグFtr1のステータスが「0」に戻ったことを検出し、音声再生コマンドの書込転送が終了したことを確認する(ステップ18)。
以上のようなグラフィックLSI3およびオーディオLSI6の連係動作は、以下のような特徴を有している。
(1)オーディオLSI6への音声再生パラメータの転送が終了した後に、音声再生の開始を指示する音声再生コマンドをCPUが発行する点
一般に、オーディオLSI6にて曲やフレーズといった音声を再生するには、単に「再生」ボタン(トリガ)に相当するコマンドだけではなく、”その曲等を/どのトラックで/どの程度の音量で/どのような音響効果をかけて”といったパラメータも必要になる。音声再生時には、パラメータおよびコマンドがセットで取り扱われるので、単なる決め打ちではなく、例えば曲毎あるいはフレーズ毎に、パラメータを逐一制御する必要がある。したがって、コマンドの実行時点では、これに関するパラメータの転送(レジスタ62へのセット)が完了している必要がある。逆に、パラメータの転送完了前にコマンドが実行されると、このパラメータが反映されない音声再生が初期段階で生じてしまうといった不都合が生じるので、好ましくない。
(2)少なくとも、音声再生パラメータに関しては、CPU1による転送開始の指示を以て、グラフィックLSI3からオーディオLSI6への転送が開始される点
この点について、グラフィックLSI3およびオーディオLSI間の転送タイミングをCPU1が制御しないケースを比較例として挙げて対比説明する。図5は、比較例におけるパラメータ転送のタイミングチャートである。タイミングt1以前では曲Aが再生され、タイミングt3以降では曲Bが再生される。この場合、オーディオLSIのレジスタに対する曲Bのパラメータd1〜d4のセットは、曲A,Bが再生されていない期間t1〜t3にて行う必要がある。なぜなら、曲Aの再生中であるタイミングt1以前に、レジスタ中の曲Aのパラメータを曲Bのパラメータに変更してしまうと、それが再生中の曲Aに反映されてしまうからである。また、曲Bの再生を開始するタイミングt3以降に、曲Bのパラメータをセットすることの不都合については、上述したとおりである。
CPUは、内部カウンタや上述した書込転送等によって、曲Aの再生終了をモニタリングし、曲Aの再生が終了したタイミングt1の直後に、音声再生パラメータd1〜d4を発行する。発行されたパラメータd1〜d4は、CPUおよびグラフィックLSI間のバス(以下、「C−G間バス」という)を介してグラフィックLSIに転送・格納された後、グラフィックLSIおよびオーディオLSI間のバス(以下、「G−A間バス」という)を介してオーディオLSIに転送される。オーディオLSI内への転送は、曲Bの再生実行が指示されるタイミングt3までに完了していなければならない。そのため、パラメータd1〜d4を短期間(すなわち、ほぼt1〜t3の期間内)に発行しなければならず、CPUにかかる負荷が集中してしまう。
一方、図6は、本実施形態におけるパラメータ転送のタイミングチャートである。まず、タイミングt1以前において、CPU1は、曲Bの音声再生に必要な複数の音声再生パラメータd1〜d4を時分割で発行する。これらのパラメータd1〜d4は、C−G間バスを介して、グラフィックLSI3に随時格納される。そして、CPU1によって転送開始が指示されたタイミングt2において、グラフィックLSI3のレジスタ32に格納されたパラメータd1〜d4が、G−A間バスを介して、オーディオLSI6へ一括転送される。
このように、グラフィックLSI3からオーディオLSI6への転送タイミングをCPU1によって制御する場合には、パラメータd1〜d4をグラフィックLSI3のレジスタ32内に事前に(すなわち、タイミングt1以前に)ストックしておく。そのため、パラメータd1〜d4の発行を短期間に集中させる必要はなく、時間的な余裕がある中で比較的負荷の少ない状況を見計らって、時分割にて行うことができる。これにより、上述した比較例と比較して、CPU1にかかる負荷を分散させることが可能になる。その結果、画像および音声の同期再生に関して、CPU1の制御性の向上を図ることができる。
なお、一般に、音声再生のトリガとなるコマンドは、パラメータと比較してデータ量が小さい。そのため、コマンドに関しては、転送開始指示による転送タイミングの制御を省略しても構わない。
図7は、グラフィックLSI3およびオーディオLSI6の連係動作の別の一例を示す説明図である。図示したケースは、オーディオLSI6側のレジスタ62からグラフィックLSI3のレジスタ32(領域C)への読出転送を示している。読出転送は、例えば、オーディオLSI6による音声のフェードアウトの終了を待って、グラフィックLSI3による画像再生を開始させるケースにおいて発生する。説明を簡略化するために、初期状態では、オーディオLSI6にて音声のフェードアウトが実行されており、レジスタ62には、音声のフェードアウトの状態を示す情報、すなわち音声ステータスが格納されている。音声ステータスは、1ビットのオーディオ系実行情報(上述した読出情報に相当)であり、ステータス「0」はフェードアウトの終了を示し、ステータス「1」はフェードアウトの実行中を示す。
まず、ステップ21において、ステップ11と同様に、CPU1は、グラフィックLSI3のレジスタ32に対して画像再生パラメータを設定する。
つぎに、ステップ22において、CPU1は、転送パラメータを発行した後に、グラフィックLSI3にデータ転送の開始を指示する。この指示を受けた転送回路34は、転送系格納領域Dから転送パラメータを読み出して、その指示に従った(レジスタ62に格納された)音声ステータスの読出転送を開始する。また、転送回路34は、この読出転送の開始に伴い、転送フラグ格納領域Eに格納されている読出転送フラグFtr2のステータスを「0」(転送終了)から「1」(転送中)に変更する。この転送フラグFtr2のステータスが「1」の間は、CPU1によるオーディオ系格納領域Cへのアクセス(書き込み)が禁止される。また、転送回路34は、音声ステータスの書き込みを周期的に行い、領域Cの音声ステータスが「1」から「0」に変更された場合、つまり、オーディオLSI6にて実行中であった音声のフェードアウトが終了し、オーディオLSI6の音声ステータスが「0」となり、この音声ステータスが領域Cに読み込まれた場合、書き込みを終了する。なお、音声ステータスの転送中も、タイミングT3と同様に、CPU1は転送状態を随時監視する。そして、書込転送の終了に伴い、転送回路34は、転送フラグFtr2のステータスを「1」(転送中)から「0」(転送終了)に変更する。これによって、CPU1によるオーディオ系格納領域Cへのアクセスが許可される。CPU1は、ポーリング等によって転送フラグFtr2のステータスが「0」に戻ったことを検出し、音声再生パラメータの書込転送が終了したことを確認する(ステップ23)。
そして、ステップ24において、ステップ16と同様に、CPU1は、グラフィックLSI3のレジスタ32に対して画像再生コマンドを設定する。これによって、このコマンドに対応する画像再生パラメータがグラフィック系格納領域Aから読み出され、これに応じた画像処理がグラフィック処理部33において開始される。
このように、本実施形態によれば、CPU1によって発行されたオーディオ系実行情報(音声再生パラメータ/音声再生コマンド)は、グラフィックLSI3を介して、オーディオLSI6に転送される。これにより、オーディオLSI6をCPU1に直接接続しなくても、オーディオLSI6にオーディオ系実行情報を転送できる。したがって、オーディオLSI6を直接接続しない場合には、そのための接続に必要だった個数分だけCPU1の端子数(ピン数)を削減することが可能になる。なお、本発明は、グラフィックLSIを介したオーディオLSI6へのデータ転送プロセス自体に特徴があるので、CPU1とオーディオLSI6とをバス接続しないことを禁止するものではない(何らかの理由でバス接続してもよい)。
また、本実施形態によれば、オーディオLSI6に転送すべき情報、または、オーディオLSI6から転送された読出情報は、グラフィックLSI3側のレジスタ32の領域B,Cに一旦バッファリングされる。一般に、オーディオLSIは、グラフィックLSIと比べて低スループットのCPUインターフェイスを有することが多い。そのため、CPU(これは、グラフィックLSIが有する高スループットのCPUインターフェイスに接続されている)とってはアクセス効率が悪い。これに対して、本実施形態では、上記バッファリング機能をグラフィックLSI3に持たせることで、グラフィックLSI3およびオーディオLSI6のデバイス制御の効率性を高めることができ、デバイスアクセスに必要なCPUの占有時間を短縮することが可能になる。
また、本実施形態では、オーディオ系実行情報の格納先(すなわちオーディオ系格納領域B,C)として、オーディオ系実行情報の格納先(すなわちグラフィック系格納領域A)とは異なるアドレス範囲が予め割り当てられている。オーディオLSI6に転送すべき情報は、CPU1からのアドレス指定にて特定される。したがって、グラフィックLSI3にとっては、オーディオLSI6に転送すべき情報を個別に把握・管理する必要がない。また、オーディオ系格納領域B,Cは、CPU1およびオーディオLSI6間のデータ転送における単なるバッファなので、グラフィックLSI3が転送対象の内容(パラメータ/コマンドの種別)を把握・管理する必要もない。そのため、グラフィックLSI3の構成を著しく複雑化させることなく、CPU1およびオーディオLSI6間のデータ転送機能を容易に実現できる。
また、本実施形態によれば、グラフィック系実行情報およびオーディオ系実行情報の格納先を表示画像の格納先とは別個の格納部(すなわち、レジスタ32、RAM33a)としている。これにより、一方の格納部(例えばRAM33a)のアクセス状況に関わりなく、他方の格納部(例えばレジスタ32)のアクセスを行うことができる(アクセスの独立性)。また、オーディオLSI6にオーディオ系実行情報の転送するためのバスを、出力装置7に表示画像を出力するバスとは別バス化している。これにより、一方のバスでデータ転送中であるか否かに関わりなく他方のバスでのデータ転送が可能になる。さらに、オーディオLSI6へのオーディオ系実行情報の転送は、グラフィック処理部33による表示画像の出力とは非同期で行われる。これにより、オーディオ系実行情報の転送に関して、表示画像の走査に伴う時期的な制約から解放されるので、転送効率の低下を抑制でき、かつ、転送制御の簡略化を図ることができる。
さらに、本実施形態によれば、書込転送と読出転送とでレジスタ32の格納先を予め区別しているので、CPU1およびオーディオLSI6間で双方向のデータ転送(書込転送/読出転送)を効率的かつ高速に実行できる。
なお、上述した実施形態において、グラフィックLSI3およびオーディオLSI6は、機能的な観点から別ブロック化したものに過ぎず、本発明の本質に鑑みると、実際のハードウェア構成として、別個のチップであるかどうかは問題ではない。本発明は、両者が1チップ化された構成に対しても、当然に適用可能である。両者が1チップ化されている場合、すなわち、グラフィックLSI3として機能するチップがオーディオLSI6としても機能する場合、グラフィックLSI3およびオーディオLSI6間の接続バスが外部バスではなく内部バスになる点のみ異なるものの、それ以外はほぼ同様である。