JP2006067074A - 情報処理装置、音声再生システム、音声再生方法及びそのプログラム - Google Patents
情報処理装置、音声再生システム、音声再生方法及びそのプログラム Download PDFInfo
- Publication number
- JP2006067074A JP2006067074A JP2004245139A JP2004245139A JP2006067074A JP 2006067074 A JP2006067074 A JP 2006067074A JP 2004245139 A JP2004245139 A JP 2004245139A JP 2004245139 A JP2004245139 A JP 2004245139A JP 2006067074 A JP2006067074 A JP 2006067074A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- processing apparatus
- audio data
- effect
- program
- 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.)
- Pending
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Stereophonic System (AREA)
Abstract
【課題】
音声再生に係る処理負荷を各装置間で分散させながら連携動作することにより、総合的なマルチチャンネルサラウンドの再生環境を構築することができる情報処理装置、音声再生システム、音声再生方法及びそのプログラムを提供すること。
【解決手段】
情報処理装置1は、音声を入力すると、情報処理装置2がオーディオポスト処理プログラムを有しているか否かを確認し、有していない場合には、入力した音声とともに情報処理装置2へ当該オーディオポスト処理プログラムを送信する。そして、同一空間において例えば情報処理装置1はフロント側、情報処理装置2はサラウンド側のそれぞれのチャンネルの音声に対してオーディオポスト処理を分散して実行し、処理後の音声を両情報処理装置で同期させて再生する。
【選択図】 図14
音声再生に係る処理負荷を各装置間で分散させながら連携動作することにより、総合的なマルチチャンネルサラウンドの再生環境を構築することができる情報処理装置、音声再生システム、音声再生方法及びそのプログラムを提供すること。
【解決手段】
情報処理装置1は、音声を入力すると、情報処理装置2がオーディオポスト処理プログラムを有しているか否かを確認し、有していない場合には、入力した音声とともに情報処理装置2へ当該オーディオポスト処理プログラムを送信する。そして、同一空間において例えば情報処理装置1はフロント側、情報処理装置2はサラウンド側のそれぞれのチャンネルの音声に対してオーディオポスト処理を分散して実行し、処理後の音声を両情報処理装置で同期させて再生する。
【選択図】 図14
Description
本発明は、ネットワークに接続された複数の情報処理装置とともに音声を再生することが可能な情報処理装置、音声再生システム、音声再生方法及びそのプログラムに関する。
近年、AV(オーディオビジュアル)機器から再生される音声の臨場感を高めるために、複数台のスピーカを用意して、5.1chに代表される、いわゆるマルチチャンネル方式により音声を再生するシステムが実用化されている。
また、複数台の音声再生装置により音声を再生するシステムも考えられている。このような技術としては、例えば、複数台の音声再生装置をネットワークに接続して、音声の再生に必要な音声ファイルまたは音声ストリームを各音声再生装置へ送信し、各音声再生装置間で同期をとりながら一の装置として音声を再生するシステムがある(例えば、特許文献1参照)。
特開2003−9298号公報(図1等)
しかしながら、上記マルチチャンネル方式による音声再生システムにおいては、例えば前方と後方に複数のスピーカを設けて、前方に存在する一つの制御装置から各スピーカを制御しているため、音声再生に必要なプログラムを後方から能動的に実行することができず、例えばエフェクト処理等を行った場合に、上記制御装置の処理負荷が重くなっても処理を分散する手立てがない。
また、上記特許文献1に記載の技術においては、各音声再生装置(上記特許文献1における各音声出力サイト)がそれぞれ音声再生やエフェクト処理に必要なプログラムを有している必要があるため、例えば汎用のPC(Personal Computer)のように上記プログラムを有していない装置を複数台用意しても上記システムを実現することはできない。
以上のような事情に鑑み、本発明の目的は、音声再生に係る処理負荷を各装置間で分散させながら連携動作することにより、総合的なマルチチャンネルサラウンドの再生環境を構築することができる情報処理装置、音声再生システム、音声再生方法及びそのプログラムを提供することにある。
上記課題を解決するため、本発明の情報処理装置は、ネットワークを介して他の情報処理装置と接続された情報処理装置であって、音声データにエフェクト処理を施すためのエフェクトプログラムを記憶する記憶手段と、前記音声データを入力する入力手段と、前記入力された音声データを、当該情報処理装置及び前記他の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てる割り当て手段と、当該情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施すエフェクト処理手段と、前記他の情報処理装置に、当該他の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、当該割り当てられた音声データを送信する送信手段と、前記エフェクト処理手段によりエフェクト処理を施された音声データを、前記他の情報処理装置においてエフェクト処理を施された音声データと同期させて再生する再生手段とを具備する。
ここで上記エフェクト処理とは、音量調整、音色調整やパラメトリックイコライザ等の音質調整処理、残響音の付加処理、音像定位処理等をいう。
上記構成によれば、上記他の情報処理装置に音声データを送信して上記エフェクト処理を行わせることで、上記エフェクト処理に掛かる負荷を各情報処理装置で分散させながら、他の情報処理装置と協働してマルチチャンネルサラウンドの再生環境を効率よく構築することができる。
上記情報処理装置において、前記送信手段は、前記他の情報処理装置が前記エフェクトプログラムを有していない場合に、前記他の情報処理装置に対して前記エフェクトプログラムを送信し、前記他の情報処理装置は、前記送信された音声データに対して、前記送信されたエフェクトプログラムによってエフェクト処理を施すようにしてもよい。これにより、上記他の情報処理装置が上記エフェクトプログラムを有していない場合でも、当該エフェクトプログラムを送信することで他の情報処理装置に上記エフェクト処理を行わせることができるため、特別な機能を有する装置を用意しなくとも、上記他の情報処理装置として例えば汎用のコンピュータを用いて、複数台の装置によるマルチチャンネルサラウンドの再生環境を容易に構築することができる。
上記情報処理装置において、前記エフェクト処理手段は、前記エフェクト処理として少なくとも音質調整処理、残響音付加処理及び音像定位処理を施し、前記送信手段は、前記エフェクト処理を構成する各処理のうち少なくとも一の処理に必要なプログラムを送信するようにしてもよい。これにより、上記各処理を行うためのプログラムを上記他の情報処理装置が有していない場合でも、各プログラムをそれぞれ送信することで各処理を行わせることができるため、上記他の情報処理装置として、上記各処理に必要なプログラムを全く有していない装置は勿論、上記各プログラムのうち1つまたは2つしか有していない装置も採用することができ、マルチチャンネルサラウンドの再生環境をより柔軟に構築することができる。
なお、上記情報処理装置が上記他の情報処理装置に割り当てられた音声データに対して、上記各処理のうち少なくとも一の処理を施し、残りの処理を他の情報処理装置に施させるようにしても構わない。これにより、各情報処理装置の状態に応じて、各処理に掛かる負担を効率よく分散させることが可能となる。
上記情報処理装置及び他の情報処理装置は同一空間内に存在し、前記再生手段は、前記同一空間内の第1の方向から前記音声データを再生し、前記他の情報処理装置は、前記同一空間内の第2の方向から音声データを再生するようにしてもよい。これにより、上記同一空間において、当該空間の前方及び後方から、複数の情報処理装置を用いたマルチチャンネルサラウンドの再生環境の構築が可能となり、例えば大会議室におけるプレゼンテーションの場やパーティー会場における音楽の演奏等、様々な場面に適用することが可能となる。
上記情報処理装置は、前記入力された音声と同期した画像データを入力する手段と、前記入力された画像データを前記他の情報処理装置へ送信する手段と、前記入力された画像データを、前記エフェクト処理手段によりエフェクト処理を施された音声データ、前記他の情報処理装置においてエフェクト処理を施された音声データ及び前記送信された画像データと同期させて表示する手段とを更に具備していてもよい。これにより、上記音声データに加えて、それに同期した画像を表示することもできるため、上記マルチチャンネルサラウンドの再生環境を、例えばスクリーンを用いたプレゼンテーションや映画の上映、いわゆるフィルムコンサート等の場面にも適用することができる。
本発明の音声再生システムは、第1の情報処理装置と第2の情報処理装置がネットワークを介して接続されたシステムであって、前記第1の情報処理装置は、音声データにエフェクト処理を施すためのエフェクトプログラムを記憶する手段と、前記音声データを入力する手段と、前記入力された音声データを、当該第1の情報処理装置及び前記第2の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てる手段と、当該第1の情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施す手段と、前記第2の情報処理装置に、当該第2の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、前記割り当てられた音声データ及び前記エフェクトプログラムを送信する手段と、前記エフェクト処理を施された音声データを再生する手段とを有し、前記第2の情報処理装置は、前記送信された音声データ及びエフェクトプログラムを受信する手段と、前記受信された音声データに対して、前記受信されたエフェクトプログラムを用いてエフェクト処理を施す手段と、当該第2の情報処理装置において前記エフェクト処理を施された音声データを、前記第1の情報処理装置においてエフェクト処理を施された音声データと同期させて再生する手段とを有している。
また、本発明の音声再生方法は、ネットワークを介して他の情報処理装置と接続された情報処理装置が音声を再生する方法であって、音声データにエフェクト処理を施すためのエフェクトプログラムを記憶するステップと、前記音声データを入力するステップと、前記入力された音声データを、当該情報処理装置及び前記他の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てるステップと、当該情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施すステップと、前記他の情報処理装置に、当該他の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、当該割り当てられた音声データを送信するステップと、前記情報処理装置において前記エフェクト処理を施された音声データを、前記他の情報処理装置においてエフェクト処理を施された音声データと同期させて再生するステップとを具備する。
また、本発明のプログラムは、ネットワークを介して他の情報処理装置と接続された情報処理装置に、音声データにエフェクト処理を施すためのエフェクトプログラムを記憶するステップと、前記音声データを入力するステップと、前記入力された音声データを、当該情報処理装置及び前記他の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てるステップと、当該情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施すステップと、前記他の情報処理装置に、当該他の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、当該割り当てられた音声データを送信するステップと、前記情報処理装置において前記エフェクト処理を施された音声データを、前記他の情報処理装置においてエフェクト処理を施された音声データと同期させて再生するステップとを実行させるためのものである。
本発明によれば、音声再生に係る処理負荷を各装置間で分散させながら連携動作することにより、総合的なマルチチャンネルサラウンドの再生環境を構築することができる。
以下、本発明の実施の形態を図面に基づき説明する。
まず、本実施形態において前提となるネットワークシステムについて説明する。図1は、当該ネットワークシステムの一例を示し、ネットワーク9を介して複数の情報処理装置1、2、3、4が接続されたものである。情報処理装置1、2、3、4は、例えばPCや各種のAV機器、ポータブル機器等である。
情報処理装置1について示すと、情報処理装置1は、コンピュータ機能部として情報処理コントローラ11を備える。情報処理コントローラ11は、メインプロセッサ21−1、サブプロセッサ23−1,23−2,23−3、DMAC(ダイレクトメモリアクセスコントローラ)25−1及びDC(ディスクコントローラ)27−1を有する。
メインプロセッサ21−1は、サブプロセッサ23−1,23−2,23−3によるプログラム実行(データ処理)のスケジュール管理と、情報処理コントローラ11(情報処理装置1)の全般的な管理とを行う。ただし、メインプロセッサ21−1内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ21−1はサブプロセッサとしても機能することになる。メインプロセッサ21−1は、LS(ローカルストレージ)22−1を有する。
サブプロセッサは、1つでもよいが、望ましくは複数とする。本例は、複数の場合である。各サブプロセッサ23−1,23−2,23−3は、メインプロセッサ21−1の制御によって並列的かつ独立にプログラムを実行し、データを処理する。更に、場合によってメインプロセッサ21−1内のプログラムがサブプロセッサ23−1,23−2,23−3内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ21−1内で動作するプログラムである。各サブプロセッサ23−1,23−2,23−3も、LS(ローカルストレージ)24−1,24−2,24−3を有する。
DMAC25−1は、情報処理コントローラ11に接続されたDRAM(ダイナミックRAM)などからなるメインメモリ26−1に格納されているプログラム及びデータにアクセスするものであり、DC27−1は、情報処理コントローラ11に接続された外部記録部28−1,28−2にアクセスするものである。
外部記録部28−1,28−2は、固定ディスク(ハードディスク)でも、リムーバブルディスクでもよく、また、MO,CD±RW,DVD±RWなどの光ディスク、メモリディスク、SRAM(スタティックRAM)、ROMなど、各種のものを用いることができる。したがって、DC27−1は、ディスクコントローラと称するが、外部記録部コントローラである。図1の例のように、情報処理コントローラ11に対して外部記録部28を複数接続できるように、情報処理コントローラ11を構成することができる。
メインプロセッサ21−1、各サブプロセッサ23−1,23−2,23−3、DMAC25−1及びDC27−1は、バス29−1によって接続される。
情報処理コントローラ11には、当該の情報処理コントローラ11を備える情報処理装置1を、ネットワーク全体を通して一意的に識別できる識別子が、情報処理装置IDとして割り当てられる。
メインプロセッサ21−1及び各サブプロセッサ23−1,23−2,23−3に対しても同様に、それぞれを特定できる識別子が、メインプロセッサID及びサブプロセッサIDとして割り当てられる。
情報処理コントローラ11は、ワンチップIC(集積回路)として構成することが望ましい。他の情報処理装置2、3、4も、上記と同様に構成される。ここで、図1において親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
上述したように、1つの情報処理コントローラ内の各サブプロセッサ23は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ26内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ23からメインメモリ26へのアクセスは、以下のような手順によって行う。
図2(A)に示すように、メインメモリ26は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、F/Eビット、サブプロセッサID及びLSアドレス(ローカルストレージアドレス)を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。F/Eビットは、以下のように定義される。
F/Eビット=0は、サブプロセッサ23によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、F/Eビット=0は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に1に設定される。
F/Eビット=1は、当該メモリロケーションのデータがサブプロセッサ23によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ23によって読み出された後に0に設定される。また、F/Eビット=1は、当該メモリロケーションがデータ書き込み不可であることを示す。
更に、上記F/Eビット=0(読み出し不可/書き込み可)の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。F/Eビット=0のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ23は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ23のサブプロセッサID及びLSアドレスを書き込む。
その後、データ書き込み側のサブプロセッサ23によって、読み出し予約されたメモリロケーションにデータが書き込まれ、F/Eビット=1(読み出し可/書き込み不可)に設定されたとき、予め読み出し予約情報として追加セグメントに書き込まれたサブプロセッサID及びLSアドレスに読み出される。
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し/書き込みを制御することによって、前段階の処理を行うサブプロセッサ23が、処理済みのデータをメインメモリ26上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ23が前処理後のデータを読み出すことが可能となる。
図2(B)に示すように、各サブプロセッサ23内のLS24も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
サブプロセッサ23がメインメモリ26内のデータを自身のLS24のメモリロケーションに読み出すときには、対応するビジービットを1に設定して予約する。ビジービットが1であるメモリロケーションには、他のデータは格納することができない。LS24のメモリロケーションに読み出し後、ビジービットは0になり、任意の目的に使用できるようになる。
図2(A)に示すように、さらに、各情報処理コントローラと接続されたメインメモリ26には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ26内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ23に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ23は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。メインメモリ26は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
更に、メインメモリ26の排他的な制御を実現するために、図2(C)に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のSRAM等の比較的高速のメモリに格納され、DMAC25と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサID、サブプロセッサキー及びキーマスクが含まれる。
サブプロセッサ23がメインメモリ26を使用する際のプロセスは、以下の通りである。まず、サブプロセッサ23はDMAC25に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサIDと、使用要求先であるメインメモリ26のアドレスが含まれる。
DMAC25は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、DMAC25は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ26内の図2(A)に示したメモリロケーションに割り振られたアクセスキーとを比較して、2つのキーが一致した場合にのみ、上記のコマンドを実行する。
図2(C)に示したキー管理テーブル上のキーマスクは、その任意のビットが1になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが0または1になることができる。例えば、サブプロセッサキーが1010であるとする。通常、このサブプロセッサキーによって1010のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが0001に設定されている場合には、キーマスクのビットが1に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー1010によってアクセスキーが1010または1011のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
以上のようにして、メインメモリ26のサンドボックスの排他性が実現される。すなわち、1つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ26の所定アドレスにアクセスできるようになり、データを保護することができる。
例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第1のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第2のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的な処理を可能にする。
より具体的には、他の情報処理装置からのデータ→第1のサブプロセッサによる処理→第1のメインメモリ領域→第2のサブプロセッサによる処理→第2のメインメモリ領域、という手順で多段階処理が行われるときには、
第1のサブプロセッサのサブプロセッサキー:0100、
第1のメインメモリ領域のアクセスキー :0100、
第2のサブプロセッサのサブプロセッサキー:0101、
第2のメインメモリ領域のアクセスキー :0101
というような設定のままだと、第2のサブプロセッサは第1のメインメモリ領域にアクセスすることができない。そこで、第2のサブプロセッサのキーマスクを0001にすることにより、第2のサブプロセッサによる第1のメインメモリ領域へのアクセスを可能にすることができる。
第1のサブプロセッサのサブプロセッサキー:0100、
第1のメインメモリ領域のアクセスキー :0100、
第2のサブプロセッサのサブプロセッサキー:0101、
第2のメインメモリ領域のアクセスキー :0101
というような設定のままだと、第2のサブプロセッサは第1のメインメモリ領域にアクセスすることができない。そこで、第2のサブプロセッサのキーマスクを0001にすることにより、第2のサブプロセッサによる第1のメインメモリ領域へのアクセスを可能にすることができる。
図1のネットワークシステムでは、情報処理装置1、2、3、4間での分散処理のために、情報処理装置1、2、3、4間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、コマンド、プログラム及びデータを含むソフトウェアセルを生成し、ネットワーク9を介して他の情報処理装置に送信することによって、処理を分散することができる。
図3に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ID、送信先ID、応答先ID、セルインターフェース、DMAコマンド、プログラム及びデータによって構成される。
送信元IDには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレス及び当該情報処理装置の情報処理装置ID、更に、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ21及び各サブプロセッサ23の識別子(メインプロセッサID及びサブプロセッサID)が含まれる。
送信先ID及び応答先IDには、それぞれ、ソフトウェアセルの送信先である情報処理装置、及びソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルID、必要なサブプロセッサの情報、サンドボックスサイズ及び前回のソフトウェアセルIDから構成される。
グローバルIDは、ネットワーク全体を通して当該ソフトウェアセルを一意的に識別できるものであり、送信元ID及びソフトウェアセルの作成または送信の日時(日付及び時刻)に基づいて作成される。
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数を設定する。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ26内及びサブプロセッサ23のLS24内のメモリ量を設定する。前回のソフトウェアセルIDは、ストリーミングデータなどのシーケンシャルな実行を要求する1グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
ソフトウェアセルの実行セクションは、DMAコマンド、プログラム及びデータから構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサ23によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
更に、DMAコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、及びステータス返信コマンドが含まれる。
ロードコマンドは、メインメモリ26内の情報をサブプロセッサ23内のLS24にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサID及びLSアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ26内の所定領域のアドレスを示す。サブプロセッサID及びLSアドレスは、情報のロード先であるサブプロセッサ23の識別子及びLS24のアドレスを示す。
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサID及びプログラムカウンタを含む。サブプロセッサIDは、キック対象のサブプロセッサ23を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムIDによって、起動すべき機能プログラムを識別する。
ステータス要求コマンドは、送信先IDで示される情報処理装置の現在の動作状態(状況)に関する装置情報を、応答先IDで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図6に示す情報処理コントローラのメインメモリ26が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ26にロードされ、メインプロセッサ21により実行される。
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先IDで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
図4に、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。
情報処理装置IDは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のIDを示す。情報処理装置IDは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21によって、電源投入時の日時、情報処理装置のネットワークアドレス及び情報処理装置内の情報処理コントローラに含まれるサブプロセッサ23の数などに基づいて生成される。
情報処理装置種別IDには、当該情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、オーディオプレーヤや、ハードディスクレコーダ等である。また、情報処理装置種別IDは、音響再生、動画記録再生等の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別IDを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。
MS(マスター/スレーブ)ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが0に設定されている場合にはマスター装置として動作していることを示し、1に設定されている場合にはスレーブ装置として動作していることを示す。
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ21の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ21で現在動作している全てのプログラムについての、メインプロセッサ21での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるMIPSを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ23の数を表す。サブプロセッサIDは、当該の情報処理コントローラ内の各サブプロセッサ23を識別するための識別子である。
サブプロセッサステータスは、各サブプロセッサ23の状態を表すものであり、unused,reserved,busyなどの状態がある。unusedは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。reservedは、現在は使用されていないが、予約されている状態を示す。busyは、現在使用中であることを示す。
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがbusyである場合には、現在の使用率を示し、サブプロセッサステータスがreservedである場合には、後に使用される予定の推定使用率を示す。
サブプロセッサID、サブプロセッサステータス及びサブプロセッサ使用率は、1つのサブプロセッサ23に対して一組設定され、1つの情報処理コントローラ内のサブプロセッサ23に対応する組数が設定される。
メインメモリ総容量及びメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ26の総容量及び現在使用中の容量を表す。
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部28の数を表す。外部記録部IDは、当該の情報処理コントローラに接続されている外部記録部28を一意的に識別する情報である。外部記録部種別IDは、当該の外部記録部の種類(例えば、ハードディスク、CD±RW、DVD±RW、メモリディスク、SRAM、ROMなど)を表す。
外部記録部総容量及び外部記録部使用量は、それぞれ、外部記録部IDによって識別される外部記録部28の総容量及び現在使用中の容量を表す。
外部記録部ID、外部記録部種別ID、外部記録部総容量及び外部記録部使用量は、1つの外部記録部28に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部28の数の組数だけ設定される。すなわち、1つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部IDが割り当てられ、外部記録部種別ID、外部記録部総容量及び外部記録部使用量も別々に管理される。
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、以上のような構成のソフトウェアセルを生成し、ネットワーク9を介して他の情報処理装置及び当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、及び各装置内の情報処理コントローラは、それぞれ、上記の送信元ID、送信先ID及び応答先IDによって識別される。
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ21は、そのソフトウェアセルをメインメモリ26に格納する。さらに、送信先のメインプロセッサ21は、ソフトウェアセルを読み出し、それに含まれるDMAコマンドを処理する。具体的には、送信先のメインプロセッサ21は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサID及びLSアドレスで特定されるサブプロセッサ内のLS24の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
次に、メインプロセッサ21は、キックコマンドを、これに含まれるサブプロセッサIDで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。指示されたサブプロセッサは、そのキックコマンド及びプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ26に格納した後、実行を完了したことをメインプロセッサ21に通知する。
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ23に限定されるものではなく、メインプロセッサ21がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラム及びそのメインメモリ用プログラムによって処理されるデータを含み、DMAコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ26にメインメモリ用プログラム及びそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムIDなどの識別子、及びプログラムカウンタを含み、DMAコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ21に当該メインメモリ用プログラムを実行させる。
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ23にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。更に、各サブプロセッサ間ではDMA方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、1つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
ソフトウェアセルの使用による分散処理の結果、図5の上段に示すようにネットワーク9に接続されている複数の情報処理装置1、2、3、4は、図5の下段に示すように、仮想的な1台の情報処理装置7として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
図6に、個々の情報処理コントローラのメインメモリ26が記憶するソフトウェアの構成を示す。これらのソフトウェア(プログラム)は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部28に記録されているものである。各プログラムは、機能または特徴によって、制御プログラム、機能プログラム及びデバイスドライバにカテゴライズされる。
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ21が実行するもので、後述のMS(マスター/スレーブ)マネージャ及び能力交換プログラムを含む。
機能プログラムは、メインプロセッサ21が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
デバイスドライバは、情報処理コントローラ(情報処理装置)の入出力(送受信)用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラ毎に情報処理装置に応じたものが備えられる。
情報処理装置が物理的にネットワーク9に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク9に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ21は、制御プログラムに属する各プログラム、及びデバイスドライバに属する各プログラムを、メインメモリ26にロードする。
ロード手順としては、メインプロセッサ21は、まず、DC27に読み出し命令を実行させることによって、外部記録部28からプログラムを読み出し、次に、DMAC25に書き込み命令を実行させることによって、そのプログラムをメインメモリ26に書き込む。
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部28に記録されている必要はなく、いずれか1つの情報処理装置の外部記録部28に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図5の下段に示すように、仮想的な1台の情報処理装置7として機能プログラムを実行することができる。
また、前述したようにメインプロセッサ21によって処理される機能プログラムは、サブプロセッサ23によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ21が外部記録部28から機能プログラムを読み出し、メインメモリ26に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ26に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは1個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ26に書き込むことになる。メインメモリ26に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ23内のLS24に書き込まれ、メインプロセッサ21によって処理される機能プログラムと連携動作する。
図3のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムIDとして割り当てられる。機能プログラムIDは、機能プログラムの作成の段階で、作成日時や情報処理装置IDなどから決定される。
そしてサブプロセッサプログラムにもサブプロセッサプログラムIDが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムIDは、連携動作する相手となる機能プログラムの機能プログラムIDと関連性のある識別子、例えば機能プログラムIDを親番号とした上で最後尾に枝番号を付加させたもの等であることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムIDとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムIDを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個ある全てのサブプロセッサプログラムのサブプロセッサプログラムIDを記憶しておくことになる。
メインプロセッサ21は、自身が動作する情報処理装置の装置情報(動作状態に関する情報)を格納するための領域をメインメモリ26に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図4に示した情報処理装置ID以下の各情報である。
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ21は、マスター/スレーブマネージャ(以下、MSマネージャ)をメインメモリ26にロードし、実行する。
MSマネージャは、自身が動作する情報処理装置がネットワーク9に接続されていることを検知すると、同じネットワーク9に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク9に接続されているだけでなく、電気的・機能的にもネットワーク9に接続されていることを示す。また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
MSマネージャが同じネットワーク9に接続されている他の情報処理装置の存在を確認する方法を以下に示す。
MSマネージャは、DMAコマンドがステータス要求コマンドであり、送信元ID及び応答先IDが当該情報処理装置で、送信先IDを特定しないソフトウェアセルを生成して、当該情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば10分とされる。
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他の装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先IDで特定されるステータス要求コマンドを発行した情報処理装置に対して、DMAコマンドがステータス返信コマンドであり、かつデータとして自身(その他装置)の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報(情報処理装置ID、メインプロセッサに関する情報、サブプロセッサに関する情報など)及び当該他装置のMSステータスが含まれる。
ステータス要求コマンドを発行した情報処理装置のMSマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、MSステータス=0(マスター装置)を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるMSステータスを1に設定する。これによって、当該装置は、スレーブ装置となる。
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはMSステータス=0(マスター装置)を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるMSステータスを0に設定する。これによって、当該装置は、マスター装置となる。
すなわち、いずれの装置もネットワーク9に接続されていない状態、またはネットワーク9上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク9に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク9上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク9に接続されると、当該装置は自動的にスレーブ装置として設定される。
マスター装置及びスレーブ装置のいずれについても、MSマネージャは、定期的にステータス要求コマンドをネットワーク9上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク9に接続されている情報処理装置の主電源が遮断され、またはネットワーク9から情報処理装置が切り離されることにより、予め判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク9に新たな情報処理装置が接続された場合など、ネットワーク9の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
メインプロセッサ21は、MSマネージャから、ネットワーク9上の他装置の照会及び自装置のMSステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク9に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。他装置の装置情報の取得は、上述したように、DMAコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、DMAコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク9に接続されている全ての他装置(各スレーブ装置)の装置情報を格納するための領域を自装置のメインメモリ26に確保し、これら情報を他装置(スレーブ装置)の装置情報テーブルとして記録する。すなわち、マスター装置のメインメモリ26には、自装置を含むネットワーク9に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
一方、自装置がスレーブ装置である場合には、能力交換プログラムは、ネットワーク9に接続されている全ての他装置の装置情報、すなわちマスター装置及び自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ID及びMSステータスを、自装置のメインメモリ26に記録する。すなわち、スレーブ装置のメインメモリ26には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク9に接続されているマスター装置及び各スレーブ装置についての情報処理装置ID及びMSステータスが、別の装置情報テーブルとして記録される。
また、マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにMSマネージャから、新たにネットワーク9に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ26に記録する。
なお、MSマネージャ及び能力交換プログラムは、メインプロセッサ21で実行されることに限らず、いずれかのサブプロセッサ23で実行されてもよい。また、MSマネージャ及び能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにMSマネージャから、ネットワーク9に接続されている情報処理装置の主電源が遮断され、またはネットワーク9から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ26から削除する。
更に、このようにネットワーク9から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
具体的には、例えば、ネットワーク9から切断されていない情報処理装置は、それぞれ、自装置及び他装置の情報処理装置IDを数値に置き換えて、自装置の情報処理装置IDを他装置の情報処理装置IDと比較し、自装置の情報処理装置IDがネットワーク9から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、MSステータスを0に設定し、マスター装置として、上述したように、ネットワーク9に接続されている全ての他装置(各スレーブ装置)の装置情報を取得して、メインメモリ26に記録する。
図5の下段に示したようにネットワーク9に接続されている複数の情報処理装置1、2、3、4を仮想的な1台の情報処理装置7として動作させるためには、マスター装置がユーザの操作及びスレーブ装置の動作状態を把握する必要がある。
図7に、4台の情報処理装置が仮想的な1台の情報処理装置7として動作する様子を示す。情報処理装置1がマスター装置、情報処理装置2、3、4がスレーブ装置A、B、Cとして、動作しているものとする。
ユーザがネットワーク9に接続されている情報処理装置を操作した場合、操作対象がマスター装置1であれば、その操作情報は、マスター装置1において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置1に送信される。すなわち、ユーザの操作対象がマスター装置1とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置1において把握される。操作情報の送信は、例えば、DMAコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
そして、マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、上記の方法によって自装置の外部記録部28−1、28−2からメインメモリ26−1に機能プログラムをロードするが、他の情報処理装置(スレーブ装置)がマスター装置1に機能プログラムを送信してもよい。
機能プログラムには、その実行単位毎に必要となる、図4に示した各情報として表される情報処理装置種別ID、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件等の、装置に関する要求スペックが規定されている。
マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、予め能力交換プログラムによってメインメモリ26−1に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図4に示した情報処理装置ID以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリ及び外部記録部に関する情報である。
マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、ネットワーク9上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別IDに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。更に、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から1つの実行要求候補装置を特定して選択する。
実行要求するスレーブ装置が特定されたら、マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ11に含まれるメインメモリ26−1に記録されている当該スレーブ装置の装置情報テーブルを更新する。
更に、マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、DMAコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、機能プログラムに関する必要なサブプロセッサの情報及びサンドボックスサイズ(図3参照)を設定して、上記実行要求されるスレーブ装置に対して送信する。
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ21は、上記の方法によって自装置の外部記録部28からメインメモリ26に機能プログラムおよび当該機能プログラムと連携動作するサブプロセッサプログラムをロードする。
機能プログラムの実行を要求されたスレーブ装置の外部記録部28に、必要な機能プログラムまたは当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラムまたはサブプロセッサプログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
サブプロセッサプログラムについては、前述のロードコマンドおよびキックコマンドを利用して他の情報処理装置に実行させることもできる。
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ21は、終了通知をマスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
マスター装置1内の情報処理コントローラ11に含まれるメインプロセッサ21−1は、自装置及び他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置1が当該機能プログラムを実行する。
図7の例で、ユーザがスレーブ装置A(情報処理装置2)を操作し、当該操作に応じた機能プログラムを別のスレーブ装置B(情報処理装置3)が実行する場合について、図8を用いてその分散処理の例を説明する。
図8の例では、ユーザがスレーブ装置Aを操作することによって、スレーブ装置Aを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Aは、ステップ81で、その操作情報をマスター装置1に送信する。
マスター装置1は、ステップ72で、その操作情報を受信し、さらにステップ73に進んで、自装置のメインメモリ26−1に記録されている自装置及び他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Bが選択される場合である。
次に、マスター装置1は、ステップ74で、その選択したスレーブ装置Bに対して機能プログラムの実行を要求する。
スレーブ装置Bは、ステップ95で、その実行要求を受信し、さらにステップ96に進んで、実行要求された機能プログラムを実行する。
以上のように、ユーザは、1台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置1、2、3、4を仮想的な1台の情報処理装置7として動作させることができる。
次に、以上説明したネットワークシステムに、本発明を適用した場合の実施の形態について説明する。図9は、本実施形態におけるネットワークAVシステムの構成を示した図である。
同図に示すように、本実施形態におけるネットワークAVシステムは、情報処理装置1及び情報処理装置2で構成され、各情報処理装置はネットワーク9で接続されている。情報処理装置1及び情報処理装置2は、例えばパーティー会場等の同一空間10内において、当該空間10の前方及び後方の2箇所の位置に設置される。ネットワーク9は例えばイーサネット(登録商標)等のLAN(Local Area Network)であるが、無線でも有線でも構わない。接続される情報処理装置の数も2台に限定されるものではない。
情報処理装置1及び情報処理装置2は、それぞれ上述のメインプロセッサ、サブプロセッサを含む情報処理コントローラ11及び12をそれぞれ有し、上記DMAコマンド等によりソフトウェアセルを実行したり、各種データをやり取りしたりすることが可能である。よって、各機器には、それぞれを識別するための上記情報処理装置IDが付与されている。
図10は、上記情報処理装置1のハードウェア構成を示した図である。同図において、上記図1における情報処理装置1と同様の構成となる部分については、同一の符号を付し、説明を簡略化または省略する。
同図に示すように、情報処理コントローラ11のバス29−1に接続されたバス31−1には、音声入力部32−1、圧縮音声デコーダ33−1、オーディオポスト処理部34−1、操作入力部35−1及び音声出力部36−1が接続され、音声出力部36−1にはスピーカ装置37−1が接続されている。また、上記図1の外部記憶部28−1としてHDD(Hard Disk Drive)を適用し、外部記憶部28−2としてDVDやCD、MD等のディスクを適用している。
音声入力部32−1は、例えばBS及びCSの衛星放送や地上波放送等の放送、上記HDD28−1及び上記DVD、CD等のディスク28−2に含まれる音声信号を入力する。なお、上記放送から音声信号を入力する場合には、情報処理装置1は、アンテナやチューナ等、放送を受信するための機構を有する。なお、当該音声入力部32−1は、ハードウェアのみではなく、一部をソフトウェアで実現することも可能である。
圧縮音声デコーダ33−1は、上記音声信号が、デジタル放送における圧縮音声ストリームのように、圧縮されたデジタル音声信号の場合に、当該圧縮音声を復号化する。圧縮音声とは、MPEG(Moving Picture Experts Group) AAC(Advanced Audio Coding)、Dolby AC−3及びDTS(登録商標)等のフォーマットによりマルチチャンネルデコード処理されたノンリニアPCM(Pulse Code Modulation)方式の音声をいう。なお、当該圧縮音声デコーダ33−1は、ハードウェアではなくソフトウェアのみで実現しても構わない。
オーディオポスト処理部34−1は、上記復号化されたデジタル音声またはアナログ音声に対してオーディオポスト処理を施す。オーディオポスト処理とは、例えばデジタルシネマサウンドに代表されるオーディオエフェクト処理を指し、より具体的には、トーンの調整やパラメトリックイコライザ等による音質調整、リバーブによる残響音の付加、及び音像定位処理等が含まれる。これらのエフェクト処理の詳細については後述する。なお、当該オーディオポスト処理部34−1も、上記圧縮音声デコーダ33−1と同様、ハードウェアではなくソフトウェアのみで実現しても構わない。
操作入力部35−1は、例えばキーボード、マウス等で構成され、情報処理装置1に対するユーザの操作を入力するためのインターフェースとなる。
音声出力部36−1は、D/A(デジタル/アナログ)コンバータやアンプ等からなり、上記オーディオポスト処理部34−1により処理された音声データのうちデジタルデータをアナログデータへ変換し、増幅してスピーカ装置37−1に出力する。当該出力された音声データがスピーカ装置37−1から再生される。なお、スピーカ装置37−1は例えば3台設けられ、それぞれセンタースピーカ37−1a、レフトスピーカ37−1b、ライトスピーカ37−1cとして3方向からマルチチャンネルで音声を再生することが可能である。3台以上のスピーカ装置を有していても勿論構わない。
なお、図示しないが、情報処理装置2も上記情報処理装置1と同様のハードウェア構成及び機能を有する。上記図9において説明したように、情報処理装置1及び情報処理装置2は、例えば空間10内において、当該空間10の前方と後方の2箇所に設置される。各情報処理装置は単独でも音声を再生することが可能であるが、ネットワーク9に接続することにより、一つのサラウンド環境(例えば5.1chサラウンド)を構築することができる。この場合、例えば情報処理装置1が有する3台のスピーカ装置が空間10の前方の担当となり、それぞれセンタースピーカ、フロントレフトスピーカ及びフロントライトスピーカとして機能し、情報処理装置2が有する3台のスピーカ装置が空間10の後方の担当となり、それぞれサラウンドバックスピーカ、サラウンドレフトスピーカ、サラウンドライトスピーカとして機能する。5.1chサラウンドの場合、サラウンドバック信号は、サラウンドレフト信号とサラウンドライト信号から擬似的に生成され、サラウンドバックスピーカから出力される。また、0.1chで表されるサブウーファーは、情報処理装置1または情報処理装置2が別途有していても構わないが、フロントレフトスピーカ及びフロントライトスピーカに混合することも可能である。
図11は、情報処理装置1が有するソフトウェアの構成を示した図である。同図に示すように、情報処理装置1は、オーディオポスト処理プログラム40及び圧縮音声デコードプログラム44を有する。
オーディオポスト処理プログラム40は、上記オーディオポスト処理部34−1の処理を実行するためのプログラムであり、イコライザ処理プログラム41、リバーブ処理プログラム42及び3D処理プログラムの各プログラムで構成される。これらのプログラムは、例えばHDD28−1に記憶され、メインプロセッサ21−1またはいずれかのサブプロセッサ23により実行される。
イコライザ処理プログラム41は、トーンコントロールやパラメトリックイコライザ等の音質調整を行なうためのプログラムである。具体的には、音声データを周波数帯域毎に分割し、当該帯域毎にレベル(音量)を調整する。イコライザにはグラフィックイコライザとパラメトリックイコライザがあるが、グラフィックイコライザにおいては各帯域の中心周波数は規格により決められているのに対して、パラメトリックイコライザにおいては当該中心周波数及び帯域毎のカーブの山または谷の鋭さ(Q)を任意の値に設定できるため、より細かな音質調整が可能である。
リバーブ処理プログラム42は、音声データに残響音を付加するためのプログラムである。具体的には、ディレイタイムのランダムなディレイを多数発生させて、更にディレイタイムが長くなるほど音量を小さくする事によって残響音を付加する。ディレイとは、電気信号の変位を時間的に遅延させることで、スピーカから出力される音声を遅らせるエフェクト効果をいう。電気的な時間の流れを溜めておき、一定時間溜めた後に入力された順序で出力することで上記遅延を実現しており、上記ディレイタイムとはその溜める時間をいう。
3D処理プログラム43は、音像定位処理により音声を3次元的に表現するためのプログラムである。音像定位処理とは、音の発生位置を再現するエフェクト処理であり、特定の音源を自由に移動させ、聞き手に対して任意の方向から音を発生するような効果を作り出す。例えば、本実施形態においては、空間10内の前方に設置された情報処理装置1の各スピーカから再生される音声が後方から聞こえるように処理を行なったり、逆に情報処理装置2の各スピーカから再生される音声が前方から聞こえるように処理を行なったりする。具体的には、音声を再生させようとする位置から各スピーカのまでの距離、スピーカの音圧、音の速度等の要素から、上記音源の位置までに到達する音声の時間差を計算して、当該時間差をつけて音声を再生する等の処理を行う。
圧縮音声デコードプログラム44は、上記圧縮音声デコーダ33−1を動作させ、圧縮ストリームのデコードを実現するプログラムである。
なお、上記圧縮音声デコーダ部33−1及びオーディオポスト処理部34−1の機能をソフトウェアのみで実現する場合には、それらの機能も上記オーディオポスト処理プログラム40及び圧縮音声デコードプログラム44が有し、上記メインプロセッサ21−1または各サブプロセッサ23により実行されるようにすればよい。
また、これらのプログラムは、上述したソフトウェアセルを用いることにより各情報処理装置間でやり取りすることが可能である。従って、情報処理装置2が上記各プログラムの全てまたは一部を有していない場合には、情報処理装置1は、当該プログラムを上記ソフトウェアセルによって送信することにより、情報処理装置2に圧縮音声のデコード処理やオーディオポスト処理を実行させることができる。
また、各情報処理装置が上記オーディオポスト処理プログラム40を全て有している場合には、各情報処理装置がそれぞれ自らオーディオポスト処理を行うことが可能であるが、この場合、情報処理装置1が入力した音声データのうち情報処理装置2の再生に必要な分を情報処理装置2へ送信して、各情報処理装置が自装置で再生する分の音声データのオーディオポスト処理をそれぞれ行ってもよいし、また情報処理装置1が、情報処理装置2において再生される分の音声データのオーディオポスト処理も行い、処理後の音声データを情報処理装置2へ送信して再生させるようにしてもよい。
なお、これらのプログラムは、各情報処理装置へ送信された場合には、各情報処理装置のメインメモリにロードされ、メインプロセッサやいずれかのサブプロセッサ及びオーディオポスト処理部により実行される。
次に、本実施形態において情報処理装置1と情報処理装置2との間でやり取りされるソフトウェアセルについて説明する。
図12は、上記情報処理装置1が情報処理装置2に対して音声の再生を要求する場合に送信するソフトウェアセルの例を示した図である。同図に示すように、このソフトウェアセルにおいて、送信元IDは情報処理装置1の情報処理装置ID、送信先IDは情報処理装置2のID、応答先IDは情報処理装置1のIDである。
DMAコマンドとしては、音声再生要求コマンドを送信する。また、情報処理装置2が上記オーディオポスト処理プログラム40の全てまたはいずれかを有していない場合には、当該コマンドともに、サブプロセッサプログラムとして上記3つのオーディオポスト処理プログラム40の全てまたはいずれかを送信する。更に、データとして、音声再生に必要な音声データ、再生時の音量を指定した音量データ及びオーディオポスト処理で実現するためのエフェクトを指定したエフェクト指定データを送信する。エフェクト指定データには、音声を再生させる位置、当該再生位置から情報処理装置2の各スピーカまでの距離等のデータや、情報処理装置1と情報処理装置2とで同期をとって音声を再生するためのタイムスタンプデータ等が含まれる。
なお、情報処理装置1が、情報処理装置2で再生される音声に対するオーディオポスト処理も行う場合(オーディオポスト処理を分散しない場合)には、オーディオポスト処理プログラム40及びエフェクト指定データは送信せずに、オーディオポスト処理後の音声データ及び音量データのみを送信する。
また、このソフトウェアセルの送信以前に、上記情報処理装置1が情報処理装置2に上記音声再生要求コマンドを送信している場合には、セルインターフェース中、前回のソフトウェアセルIDとして、当該送信の際のソフトウェアセルのグローバルIDを送信する。
情報処理装置2が圧縮音声デコードプログラムを有していない場合には、上記サブプロセッサプログラムとして、上記オーディオポスト処理プログラム40に加えて、圧縮音声デコードプログラム44も送信するようにしても構わない。
図13は、情報処理装置2が、上記情報処理装置1が送信した上記音声再生要求コマンドに応答して音声を再生した場合に、情報処理装置1に対して送信するソフトウェアセルの例を示した図である。同図に示すように、このソフトウェアセルにおいて、送信元IDは情報処理装置2のID、送信先ID及び応答先IDは情報処理装置1のIDである。またDMAコマンドとして音声再生応答コマンドを送信して、音声再生を完了した旨を知らせる。更に、このソフトウェアセルの送信以前に、情報処理装置2が情報処理装置1に当該音声再生応答コマンドを送信している場合には、前回のソフトウェアセルIDとして、当該送信の際のソフトウェアセルのグローバルIDを送信する。
なお、図示しないが、情報処理装置1と情報処理装置2との間では上記ステータス要求コマンド及びステータス返信コマンドもソフトウェアセルにより送受信され、例えば情報処理装置1が情報処理装置2の装置情報や情報処理装置2が有しているプログラムに関する情報を取得したり、MSステータスの設定を行なったりすることが可能である。本実施形態においては、情報処理装置1がマスター装置、情報処理装置2がスレーブ装置として機能するものとする。
次に、以上のように構成された情報処理装置1及び情報処理装置2の動作について説明する。
図14は、情報処理装置1及び情報処理装置2において音声が再生される場合の情報処理装置1の動作の流れを示したフローチャートである。
同図に示すように、まず、情報処理装置1は、上記音声入力部32−1により、放送やDVD、CD等のディスク23−2またはHDD28−1から音声データを入力する(ステップ51)。そして、当該入力された音声データが圧縮音声ストリームである場合(ステップ52のYES)には、圧縮音声デコーダ33−1によりデコードする(ステップ53)。
上記入力された音声データが非圧縮のリニアPCMであった場合(ステップ52のNO)及び上記ステップ53によるデコードが完了した場合には、入力された音声データを、情報処理装置1と情報処理装置2で再生するためにそれぞれの装置へ割り当てる(ステップ54)。具体的には、入力された音声データを例えば空間10内の前方(フロント)から再生させる音声と後方(サラウンド)から再生させる音声に分割し、情報処理装置1がフロントの3チャンネルの担当、情報処理装置2がサラウンドの3チャンネルの担当として割り当てる。
次に、情報処理装置1は、上記ステップ54において割り当てた音声データに対して、各情報処理装置でオーディオポスト処理を分散して行うか否か、すなわち、情報処理装置2に対して割り当てた音声データに対して自らオーディオポスト処理を行うか、それとも情報処理装置2に行わせるかを決定する(ステップ55)。分散処理を行うか否かは、情報処理装置1及び情報処理装置2の潜在的な処理能力や処理時の実行状態等によって適宜決定するが、分散処理可能な場合には極力分散処理を行うようにする。
分散処理を行う場合(ステップ55のYES)には、情報処理装置2がオーディオポスト処理プログラム40を有しているか否かを確認する(ステップ58)。当該確認は、上述したステータス要求コマンド及びステータス返信コマンドの送受信によって行なわれる。
情報処理装置2がオーディオポスト処理プログラム40を有している場合(ステップ58のYES)には、上記情報処理装置2へ割り当てられた音声データ、音量データ及び上記エフェクト指定データを送信し、オーディオポスト処理を行わせる(ステップ60)。一方、情報処理装置2がオーディオポスト処理プログラム40を有していない場合(ステップ58のNO)には、上記音声データ、音量データ及びエフェクト指定データに加えて、オーディオポスト処理プログラム40を送信して、オーディオポスト処理を行わせる(ステップ59)。これらのデータ及びプログラムの送信は、上述したように、音声再生要求コマンドを含むソフトウェアセルによって行なわれる。
そして、情報処理装置1は、上記ステップ54において自装置の担当として割り当てた音声データに対してオーディオポスト処理を行い(ステップ61)、入力時の音声データに含まれるタイムスタンプデータを参照しながら、当該処理後の音声データを情報処理装置2においてオーディオポスト処理が行われた音声データと同期させて、音声出力部36−1からスピーカ装置37−1を介して再生する(ステップ62)。
なお、上記ステップ55においてオーディオポスト処理を分散させないと決定した場合には、自装置及び情報処理装置2に割り当てられた両方の音声データに対してオーディオポスト処理を行い(ステップ56)、オーディオポスト処理後の音声データのうち、情報処理装置2に割り当てられた分の音声データ及び音量データを送信して(ステップ57)、自装置においてオーディオポスト処理を行った音声データと同期させて再生する。
図15は、上記動作において、オーディオポスト処理を分散しない場合の音声データの流れを示した図である。
同図に示すように、音声入力部32−1が放送やディスク28−2、HDD28−1等から音声データ入力すると、当該音声が圧縮音声ストリームである場合には圧縮音声デコーダ33−1を介して、また非圧縮のリニアPCM音声である場合には非圧縮のまま、フロントとサラウンドのそれぞれ3つのチャンネルに分けて、オーディオポスト処理部34−1へ送られる。
オーディオポスト処理部34−1では、まず、それぞれイコライザ(パラメトリックイコライザ)に送られ、イコライザ処理プログラム41により、音質の調整を行なう。続いて、リバーブ処理プログラム42により残響音の付加を行い、更に3D処理プログラム43により音像定位処理を行う。この場合、リバーブ処理及び3D処理は、空間10の前方、すなわち情報処理装置1のスピーカから再生される音声を後方にも反映させ、また逆に後方の情報処理装置2のスピーカから再生される音声を前方にも反映させるように、フロント及びサラウンドの6つ全てのチャンネルを総合的に調整して処理を行う。
そして、オーディオポスト処理を経た音声データのうち、フロント側の3チャンネル分の音声データは情報処理装置1の音声出力部36−1へチャンネル毎に送られ、D/Aコンバータによりアナログ変換された後、各スピーカ37−1へ送られて再生される。一方、サラウンド側の3チャンネル分の音声データは、ネットワーク9を介して情報処理装置2の音声出力部へ送信され、D/Aコンバータを経て各スピーカに送られて再生される。
このように、同図においては、空間10内における音声再生処理をD/Aコンバータの直前で切り分けて、情報処理装置1は、情報処理装置2において再生される音声データに対してもオーディオポスト処理を行い、当該処理後の音声データを情報処理装置2へ送信している。この場合のオーディオポスト処理において、特にリバーブ処理及び3D処理は6チャンネル分の処理をまとめて行っているため、よりきめ細かな音響効果が得られる半面、情報処理装置1にとっては処理負荷の高いものとなっている。
そこで、これら2つの処理をフロント側及びサラウンド側で分散させて、サラウンド側のオーディオポスト処理を情報処理装置2に行わせることも可能である。図16は、その場合の音声データの流れを示した図である。
同図に示すように、リバーブ処理をフロントリバーブ処理とサラウンドリバーブ処理とで分けて、また3D処理も同様にフロント3D処理とサラウンド3D処理とで切り分けている。そして、当該切り分けに従い、オーディオポスト処理以降の処理を情報処理装置1と情報処理装置2とで切り分けて、圧縮音声デコーダ33−1でデコードされ、または非圧縮のリニアPCM音声のうち、サラウンド成分の音声データが情報処理装置2へ送信される。この際、上述したように、情報処理装置2がオーディオポスト処理プログラム40を有していない場合には、ソフトウェアセルを用いてオーディオポスト処理プログラム40も送信される。
そして、情報処理装置1においてフロント側の音声データに対するオーディオポスト処理が、また情報処理装置2においてサラウンド側の音声データに対するオーディオポスト処理がそれぞれ行われ、処理後の音声データが同期して各スピーカから再生される。
なお、情報処理装置2が上記3つのオーディオポスト処理プログラム40のうちいずれか1つまたは2つを有していない場合には、情報処理装置1は当該有していないプログラムを送信するようにしてもよい。そしてこの場合には、オーディオポスト処理のうちいずれか1つまたは2つを切り分けて、情報処理装置2に行わせるようにしても構わない。
このように、オーディオポスト処理をフロントとサラウンドで切り分けて、サラウンド分の処理を情報処理装置2に行わせることにより、オーディオポスト処理において情報処理装置1に掛かる負荷を大幅に軽減させることが可能となる。またそのようにしても、音響効果の面でも、上記図15にように6チャンネル分の処理をまとめて行う場合に比べると多少は劣るものの、空間10内の聞き手にとっては十分な音響効果が得られる。
以上説明したように、本実施形態によれば、音声再生、特にオーディオポスト処理に係る処理負荷を各情報処理装置間で分散させながら、各情報処理装置が連携動作することにより、総合的なマルチチャンネルサラウンドの再生環境を構築することができる。
また、オーディオポスト処理プログラム40を情報処理装置2が有していない場合には当該オーディオポスト処理プログラム40を送信することができるため、オーディオポスト処理に必要な特別な機能を有していない汎用的なコンピュータを用いてもマルチチャンネルサラウンドの再生環境を構築することができる。
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
上述の実施形態においては、空間10内に存在する情報処理装置の数は2台であったが、より多くの台数の情報処理装置により本発明を実施しても勿論構わない。
図17は、本発明を4台の情報処理装置で実現した場合のシステムの構成を示した図である。同図においては、情報処理装置1、情報処理装置2、情報処理装置3及び情報処理装置4が空間10内の前後左右に配置されている。各情報処理装置3及び4の基本的なハードウェア構成は上記図10の情報処理装置1と同様であり、それぞれ情報処理コントローラ13及び14を有している。
図18は、情報処理装置が4台の場合の音声データの流れを示した図である。同図に示すように、情報処理装置2がサラウンド側のオーディオポスト処理を担当するのは上記図16の場合と同様であるが、情報処理装置2の当該オーディオポスト処理後のサラウンド側の音声データは、情報処理装置2、情報処理装置3及び情報処理装置4の3方向に分割され、情報処理装置2の3台のスピーカがサラウンドバックの音声を、情報処理装置3の3台のスピーカがサラウンドレフトの音声を、そして情報処理装置4の3台のスピーカがサラウンドライトの音声をそれぞれ再生し、4台の情報処理装置によりマルチチャンネルサラウンド環境を構築している。この場合も、上記音声再生コマンドを含むソフトウェアセルが情報処理装置2から情報処理装置3及び情報処理装置4へ送信され、当該ソフトウェアセルに含まれるデータとしてオーディオポスト処理後の音声データ及び音量データが送信される。
このように、空間10の4方に4台の情報処理装置を設置することにより、より大きな音響効果をあげることができる。なお、情報処理装置3及び情報処理装置4にそれぞれのオーディオポスト処理を行わせるようにしても構わない。この際、情報処理装置3または情報処理装置4がオーディオポスト処理プログラム40を有していない場合には、情報処理装置2がそれぞれ送信してもよいし、情報処理装置1から情報処理装置2を通して転送するようにしてもよいし、また情報処理装置3または情報処理装置4のいずれかがオーディオポスト処理プログラム40を有している場合には有していない情報処理装置へ送信する等、必要に応じて、送信可能な情報処理装置が適宜送信するようにすればよい。
上述の実施形態においては、各情報処理装置は音声のみを再生していたが、各情報処理装置またはいずれかの情報処理装置は、音声と同期した映像または静止画像を表示するようにしても構わない。一台の情報処理装置のみが画像を表示する場合としては、例えば空間10内で映画を上映する場合や、いわゆるフィルムコンサートを行なうような場合が考えられる。また、例えばプレゼンテーションやアトラクションの会場において、4台の情報処理装置がそれぞれ画像を逐次切り替えて表示するようにしてもよい。
この場合、画像データの送受信も、上記ソフトウェアセルを用いて行われ、また圧縮画像デコードプログラムやその他画像処理に必要なプログラムを必要に応じて各情報処理装置間で送受信するようにしても構わない。またこの場合、各情報処理装置は、画像入力部、圧縮画像デコーダ、画像出力部等、画像の表示に必要なハードウェア及びその動作に必要なソフトウェア等(図示せず)を備える。
このように、いずれかの情報処理装置または各情報処理装置が音声に加えて画像も表示することで、より臨場感があり、また動的で興趣のある総合的なマルチチャンネルサラウンドの音声画像再生環境を容易に構築することができる。また、例えば上記情報処理装置1が他の全ての情報処理装置のためのオーディオポスト処理を行う場合に比べて、当該処理を各情報処理措置に分散することによって、処理能力に余裕が生じ、その分例えばより高品位な画像を表示するようなことも可能となる。
1、2、3、4…情報処理装置
32…音声入力部
33…圧縮音声デコーダ
34…オーディオポスト処理部
36…音声出力部
37…スピーカ装置
40…オーディオポスト処理プログラム
41…イコライザ処理プログラム
42…リバーブ処理プログラム
43…3D処理プログラム
44…圧縮音声デコードプログラム
32…音声入力部
33…圧縮音声デコーダ
34…オーディオポスト処理部
36…音声出力部
37…スピーカ装置
40…オーディオポスト処理プログラム
41…イコライザ処理プログラム
42…リバーブ処理プログラム
43…3D処理プログラム
44…圧縮音声デコードプログラム
Claims (8)
- ネットワークを介して他の情報処理装置と接続された情報処理装置であって、
音声データにエフェクト処理を施すためのエフェクトプログラムを記憶する記憶手段と、
前記音声データを入力する入力手段と、
前記入力された音声データを、当該情報処理装置及び前記他の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てる割り当て手段と、
当該情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施すエフェクト処理手段と、
前記他の情報処理装置に、当該他の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、当該割り当てられた音声データを送信する送信手段と、
前記エフェクト処理手段によりエフェクト処理を施された音声データを、前記他の情報処理装置においてエフェクト処理を施された音声データと同期させて再生する再生手段と
を具備することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記送信手段は、前記他の情報処理装置が前記エフェクトプログラムを有していない場合に、前記他の情報処理装置に対して前記エフェクトプログラムを送信し、
前記他の情報処理装置は、前記送信された音声データに対して、前記送信されたエフェクトプログラムによってエフェクト処理を施すことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記エフェクト処理手段は、前記エフェクト処理として少なくとも音質調整処理、残響音付加処理及び音像定位処理を施し、
前記送信手段は、前記エフェクト処理を構成する各処理のうち少なくとも一の処理に必要なプログラムを送信することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記情報処理装置及び他の情報処理装置は同一空間内に存在し、
前記再生手段は、前記同一空間内の第1の方向から前記音声データを再生し、
前記他の情報処理装置は、前記同一空間内の第2の方向から音声データを再生することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記入力された音声と同期した画像データを入力する手段と、
前記入力された画像データを前記他の情報処理装置へ送信する手段と、
前記入力された画像データを、前記エフェクト処理手段によりエフェクト処理を施された音声データ、前記他の情報処理装置においてエフェクト処理を施された音声データ及び前記送信された画像データと同期させて表示する手段と
を更に具備することを特徴とする情報処理装置。 - 第1の情報処理装置と第2の情報処理装置がネットワークを介して接続されたシステムであって、
前記第1の情報処理装置は、
音声データにエフェクト処理を施すためのエフェクトプログラムを記憶する手段と、
前記音声データを入力する手段と、
前記入力された音声データを、当該第1の情報処理装置及び前記第2の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てる手段と、
当該第1の情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施す手段と、
前記第2の情報処理装置に、当該第2の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、前記割り当てられた音声データ及び前記エフェクトプログラムを送信する手段と、
前記エフェクト処理を施された音声データを再生する手段とを有し、
前記第2の情報処理装置は、
前記送信された音声データ及びエフェクトプログラムを受信する手段と、
前記受信された音声データに対して、前記受信されたエフェクトプログラムを用いてエフェクト処理を施す手段と、
当該第2の情報処理装置において前記エフェクト処理を施された音声データを、前記第1の情報処理装置においてエフェクト処理を施された音声データと同期させて再生する手段とを有することを特徴とする音声再生システム。 - ネットワークを介して他の情報処理装置と接続された情報処理装置が音声を再生する方法であって、
音声データにエフェクト処理を施すためのエフェクトプログラムを記憶するステップと、
前記音声データを入力するステップと、
前記入力された音声データを、当該情報処理装置及び前記他の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てるステップと、
当該情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施すステップと、
前記他の情報処理装置に、当該他の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、当該割り当てられた音声データを送信するステップと、
前記情報処理装置において前記エフェクト処理を施された音声データを、前記他の情報処理装置においてエフェクト処理を施された音声データと同期させて再生するステップと
を具備することを特徴とする音声再生方法。 - ネットワークを介して他の情報処理装置と接続された情報処理装置に、
音声データにエフェクト処理を施すためのエフェクトプログラムを記憶するステップと、
前記音声データを入力するステップと、
前記入力された音声データを、当該情報処理装置及び前記他の情報処理装置において再生させるために、両情報処理装置にそれぞれ割り当てるステップと、
当該情報処理装置に対して割り当てられた音声データに、前記エフェクトプログラムを用いてエフェクト処理を施すステップと、
前記他の情報処理装置に、当該他の情報処理装置に割り当てられた前記音声データにエフェクト処理を施させるために、当該割り当てられた音声データを送信するステップと、
前記情報処理装置において前記エフェクト処理を施された音声データを、前記他の情報処理装置においてエフェクト処理を施された音声データと同期させて再生するステップと
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004245139A JP2006067074A (ja) | 2004-08-25 | 2004-08-25 | 情報処理装置、音声再生システム、音声再生方法及びそのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004245139A JP2006067074A (ja) | 2004-08-25 | 2004-08-25 | 情報処理装置、音声再生システム、音声再生方法及びそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006067074A true JP2006067074A (ja) | 2006-03-09 |
Family
ID=36113181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004245139A Pending JP2006067074A (ja) | 2004-08-25 | 2004-08-25 | 情報処理装置、音声再生システム、音声再生方法及びそのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006067074A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009219050A (ja) * | 2008-03-12 | 2009-09-24 | Canon Inc | 通信制御方法、通信システム及びコンピュータプログラム |
JP2010068536A (ja) * | 2009-11-16 | 2010-03-25 | Sony Corp | オーディオ信号伝送装置、オーディオ信号受信装置、オーディオ信号伝送方法及びプログラム |
JP2012504918A (ja) * | 2008-10-03 | 2012-02-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 分散型オーディオ及びビデオ処理 |
US10219091B2 (en) | 2016-07-18 | 2019-02-26 | Bose Corporation | Dynamically changing master audio playback device |
-
2004
- 2004-08-25 JP JP2004245139A patent/JP2006067074A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009219050A (ja) * | 2008-03-12 | 2009-09-24 | Canon Inc | 通信制御方法、通信システム及びコンピュータプログラム |
JP2012504918A (ja) * | 2008-10-03 | 2012-02-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 分散型オーディオ及びビデオ処理 |
JP2010068536A (ja) * | 2009-11-16 | 2010-03-25 | Sony Corp | オーディオ信号伝送装置、オーディオ信号受信装置、オーディオ信号伝送方法及びプログラム |
US10219091B2 (en) | 2016-07-18 | 2019-02-26 | Bose Corporation | Dynamically changing master audio playback device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7434154B2 (en) | Systems and methods for synchronizing media rendering | |
JP4552540B2 (ja) | コンテンツ記録装置、コンテンツ再生装置、コンテンツ記録方法、コンテンツ再生方法及びプログラム | |
CN104520924A (zh) | 指示游戏音频内容的基于对象的音频的编码和呈现 | |
JP6280215B2 (ja) | ビデオ会議端末、セカンダリストリームデータアクセス方法およびコンピュータ記憶媒体 | |
JP2005244576A (ja) | コンテンツ処理システム及びコンテンツ処理方法、並びにコンピュータ・プログラム | |
CN110191745B (zh) | 利用空间音频的游戏流式传输 | |
JP7024794B2 (ja) | オーディオシステム、オーディオ機器、及びオーディオ機器の制御方法 | |
JP2008505430A (ja) | データサポート上で音響データを記録、再生及び操作する方法 | |
JP2006067074A (ja) | 情報処理装置、音声再生システム、音声再生方法及びそのプログラム | |
JP7068480B2 (ja) | コンピュータプログラム、オーディオ再生装置及び方法 | |
JP2012145643A (ja) | オーディオデータ記録装置およびオーディオデータ記録・利用システム | |
JP2005234929A (ja) | サーバ装置、音響制御システム及び音響制御方法 | |
CN112887786B (zh) | 视频播放方法、装置及计算机可读介质 | |
JP2009087449A (ja) | 音声再生装置及び音声再生方法 | |
JP2005250822A (ja) | コンテンツ再生装置、コンテンツ記録装置、ネットワークシステム、およびコンテンツ記録・再生方法 | |
CN113905321A (zh) | 基于对象音频通道元数据和生成方法、设备及存储介质 | |
JP2007189418A (ja) | 情報処理装置および方法、並びにプログラム | |
JP6677343B2 (ja) | 操作装置、コマンド処理装置、及びコンテンツ再生システム | |
KR101487335B1 (ko) | 객체 미디어 교체가 가능한 멀티미디어 데이터 생성 방법및 장치 그리고 재구성 방법 및 장치 | |
JP2008217123A (ja) | 通信システム、端末装置、サーバ、端末装置の制御方法及びそのプログラム | |
US7555208B2 (en) | Recording/reproduction apparatus and method of recording/reproducing audio-visual data from a recording medium | |
JP2004040450A (ja) | 情報配信システム、情報処理装置および方法、再生装置および方法、記録媒体、並びにプログラム | |
KR20190081163A (ko) | 입체 음향 컨텐츠 저작 툴을 이용한 선택적 광고 제공 방법 및 이를 위한 어플리케이션 | |
JP5111422B2 (ja) | コンテンツ制作システム及びコンテンツ制作プログラム | |
CN110267074A (zh) | 在电影院中实时同步播放现场表演的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060424 |