JP2001209553A - 記憶媒体、情報処理装置および方法 - Google Patents

記憶媒体、情報処理装置および方法

Info

Publication number
JP2001209553A
JP2001209553A JP2000325219A JP2000325219A JP2001209553A JP 2001209553 A JP2001209553 A JP 2001209553A JP 2000325219 A JP2000325219 A JP 2000325219A JP 2000325219 A JP2000325219 A JP 2000325219A JP 2001209553 A JP2001209553 A JP 2001209553A
Authority
JP
Japan
Prior art keywords
encoding
state
initialization
message
processing
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.)
Withdrawn
Application number
JP2000325219A
Other languages
English (en)
Inventor
Takeshi Iwazu
健 岩津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000325219A priority Critical patent/JP2001209553A/ja
Priority to EP06075008A priority patent/EP1645966A1/en
Priority to US09/869,658 priority patent/US6792476B1/en
Priority to PCT/JP2000/007549 priority patent/WO2001033372A1/ja
Priority to EP00970140A priority patent/EP1143341A4/en
Priority to CN008028540A priority patent/CN1218254C/zh
Publication of JP2001209553A publication Critical patent/JP2001209553A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【課題】 プログラムの処理の異常を迅速に回復するこ
とができるようにする。 【解決手段】 プロセスによる処理に異常が発生した場
合、イニシャライズ2ステートD、レディステートEの
第1のルートの初期化処理が行われ、それでも異常が回
復しない場合、ターミネート1ステートN、イニシャラ
イズ1ステートC、イニシャライズ2ステートD、レデ
ィステートEの第2のルートの初期化処理が行われ、そ
れでも異常が回復しない場合、ターミネート1ステート
N、ターミネート0ステートO、エグジットステートP
の第3のルートの初期化処理が行われる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記憶媒体、情報処
理装置および方法に関し、特に、より迅速に異常なステ
ートを回復することができるようにし、また、情報を処
理するために必要なハードウエアの変更または改良が容
易にできるようにした記憶媒体、情報処理装置および方
法に関する。
【0002】
【従来の技術】図1には、従来の音楽配信サービスシス
テムの配信側の装置を構成するエンコーダ10の機能的
構成例(エンコード処理用のプログラムの構成例)が示
されている。なお、この音楽配信サービスシステムの配
信側の装置は、このエンコーダ10の他、エンコーダ1
0におけるエンコード処理を制御する制御端末(図示せ
ず)、およびエンコードされる音楽データ(以下 PCM
(Pulse Code Modulation)非圧縮音楽データと称する)
をエンコーダ10に供給したり、エンコーダ10により
エンコードされた音楽データ(以下、PCM圧縮音楽デー
タと称する)を記憶し、音楽配信サービスの利用者(受
信側)に配信するサーバ(図示せず)から構成されてい
る。
【0003】エンコーダ10には、エンコード処理を制
御するための制御データが転送されるアラームLAN(ala
rm Local Area Network)との通信を制御するネットワ
ークカード、PCM非圧縮音楽データおよびPCM圧縮音楽デ
ータ(以下、これらを個々に区別する必要がない場合、
単に、音楽データと称する)が転送されるメディアムLA
N(medium LAN)との通信を制御するネットワークカー
ド、およびエンコード処理を実行するエンコードカード
などのハードウエアが設けられている。
【0004】図1に示すエンコード処理用のプログラム
は、制御データ入出力プロセス11、ネットワークカー
ドドライバプロセス12、メイン処理プロセス13、ネ
ットワークカードドライバプロセス14、およびエンコ
ードカードドライバプロセス15の5つのプロセス(図
中、実線の枠で示されている要素)から構成されてい
る。なお、プロセスは、実行可能な所定のプログラムで
構成され、データ領域(バッファやレジスタなど)を管
理し、各処理は、このプロセス単位で実行される。
【0005】制御データ入出力プロセス11は、メイン
処理プロセス13と通信を行う。制御データ入出力プロ
セス11は、ネットワークカードドライバプロセス12
を介して、制御端末から送信されてくる、エンコード処
理に関する各種コマンドを受信し、メイン処理プロセス
13に出力する。制御データ入出力プロセス11はま
た、メイン処理プロセス13から供給される、例えば、
エンコード処理が成功したことを示すメッセージやエン
コード処理が失敗したことを示すエラーメッセージなど
を、ネットワークカードドライバプロセス12を介して
制御端末に出力する。なお、以下において、制御データ
入出力プロセス11およびメイン処理プロセス13との
間で授受されるコマンドやエラーメッセージを、個々に
区別する必要がない場合、単に、制御データと称する。
【0006】メイン処理プロセス13は、ネットワーク
カードドライバプロセス14を介して、サーバ(図示せ
ず)から送信されてくる、例えば、PCM非圧縮音楽デー
タを受信し、エンコードカードドライバプロセス15を
介して、エンコードカードに供給する。メイン処理プロ
セス13はまた、エンコードカードドライバプロセス1
5を介してエンコードカードを制御し、制御データ入出
力プロセス11からの制御データに基づくエンコード処
理をエンコードカードに実行させる。この例の場合、エ
ンコードカードにおいて、サンプリング周波数が48KHz
であるMPEG(Moving Picture Experts Group)1layer
2に準拠したエンコード処理(以下、MPEG1対応エンコ
ード処理と称する)、またはサンプリング周波数が44.1
KHzであるATRAC(adaptive transform acoustic coding)
1(商標)の規格に準拠したエンコード処理(以下、AT
RAC1対応エンコード処理と称する)が実行される。
【0007】メイン処理プロセス13は、エンコード処
理を施して得られたPCM圧縮音楽データを、エンコード
カードドライバプロセス15を介して、エンコードカー
ドから受け取り、それを、ネットワークカードドライバ
プロセス14を介してサーバに供給する。
【0008】次に、制御データ入出力プロセス11およ
びメイン処理プロセス13について説明する。制御デー
タ入出力プロセス11は、制御部21、ネットワークカ
ード入力I/F(インターフェース)22、およびネットワ
ークカード出力I/F23の3つのプログラム(図中、点
線の枠で示されている要素)、並びにそれらを実行する
ために必要なデータ領域を有している。
【0009】ネットワークカード入力I/F22は、ネッ
トワークカードドライバプロセス12により受信された
制御端末からの制御データを受け取り、制御部21に出
力する。ネットワークカード出力I/F23は、制御部2
1を介して供給される、メイン処理プロセス13から
の、例えば、エラーメッセージを受け取り、ネットワー
クカードドライバプロセス12に出力する。
【0010】制御部21は、ネットワークカード入力I/
F22およびネットワークカード出力I/F23を制御する
とともに、メイン処理プロセス13の制御部31と通信
を行う。
【0011】次に、メイン処理プロセス13の構成につ
いて説明する。メイン処理プロセス13は、制御部3
1、ネットワークカード入出力I/F32、エンコードエ
ンジン入出力I/F33、エンコードエンジン入出力I/F3
4、エンコードエンジン35、エンコードカード入出力
I/F36、およびエンコードカード入出力I/F37の7つ
のプログラム(図中、点線の枠で示されている要素)、
並びにそれらを実行させるために必要なデータ領域を有
している。
【0012】ネットワークカード出力I/F32は、ネッ
トワークカードドライバプロセス14により受信された
PCM非圧縮音楽データを受け取り、制御部31に出力し
たり、制御部31を介して供給される、PCM圧縮音楽デ
ータを、ネットワークカードドライバプロセス14に出
力する。
【0013】エンコードエンジン入出力I/F33は、制
御部31を介して入力されたPCM非圧縮音楽データのう
ち、ATRAC1対応エンコード処理されるPCM非圧縮音楽デ
ータを受け取り、エンコードエンジン35に出力する。
エンコードエンジン入出力I/F33はまた、エンコード
エンジン35から入力されるATRAC1対応エンコード処
理されたPCM圧縮音楽データを、制御部31に出力す
る。
【0014】エンコードエンジン入出力I/F34は、制
御部31を介して入力されたPCM非圧縮音楽データのう
ち、MPEG1対応エンコード処理されるPCM非圧縮音楽デ
ータを受け取り、エンコードエンジン35に出力する。
エンコードエンジン入出力I/F34はまた、エンコード
エンジン35から入力されるMEPG1対応エンコード処理
が施されたPCM圧縮音楽データを、制御部31に出力す
る。
【0015】エンコードカード入出力I/F36は、制御
部31を介して入力されたPCM非圧縮音楽データのう
ち、ATRAC1対応エンコード処理されるPCM非圧縮音楽デ
ータを受け取り、エンコードカードドライバプロセス1
5に出力する。エンコードカード入出力I/F36はま
た、エンコードカードドライバプロセス15から入力さ
れるATRAC1対応エンコード処理されたPCM圧縮音楽デー
タを、制御部31に出力する。
【0016】エンコードカード入出力I/F37は、制御
部31を介して入力されたPCM非圧縮音楽データのう
ち、MPEG1対応エンコード処理されるPCM非圧縮音楽デ
ータを受け取り、エンコードカードドライバプロセス1
5に出力する。エンコードカード入出力I/F37はま
た、エンコードカードドライバプロセス15から入力さ
れるMEPG1対応エンコード処理が施されたPCM圧縮音楽
データを、制御部31に出力する。
【0017】エンコードエンジン35は、エンコードエ
ンジン入出力I/F33,34から供給されたPCM非圧縮音
楽データを、ソフトウェア的に、ATRAC1対応エンコー
ド処理、またはMPEG1対応エンコード処理し、得られた
PCM圧縮音楽データを、それぞれに戻す。
【0018】エンコーダ10は以上のように構成されて
いるが、制御データ入出力プロセス11乃至エンコード
カードドライバプロセス15を構成する各プログラム
は、エンコーダ10に設けられた、ネットワークカード
やエンコードカードなどの所定のハードウエアに依存し
て構築されている。
【0019】従って、例えばインターネット、デジタル
衛星放送、地上波デジタル放送等の伝送媒体に対応し
て、エンコーダ10に設けられているネットワークカー
ドやエンコードカードを変更したり、拡張したりする場
合、各プロセスを再構築する必要があり、時間および費
用がかかる課題があった。
【0020】また、例えば、エンコーダ10に設けられ
たハードウェアとしてのネットワークカードやエンコー
ドカードを制御するインターフェースプログラム(ネッ
トワークカード入力I/F22、ネットワークカード出力I
/F23、ネットワークカード入出力I/F32乃至エンコ
ードカード入出力I/F37)およびドライバプログラム
(ネットワークカードドライバプロセス12,14、お
よびエンコードカードドライバプロセス15を構成する
プログラム)は、通常、エンコーダ10の製造業者によ
り作成される。
【0021】
【発明が解決しようとする課題】しかしながら、エンコ
ーダ10の1つの部品としてのハードウエアの機能がよ
り高性能になると、部品としてのハードウェアを組み込
んでエンコーダ10を製造する製造業者が、部品として
のハードウェアのインターフェースプログラムやドライ
バプログラムを直接作成することは、非効率的となり、
ハードウエアの製造業者(部品の製造業者)が各プログ
ラムを作成し、ハードウエアとともにエンコーダ10の
製造業者に提供することが多くなる。
【0022】このような場合、エンコーダ10の製造業
者は、部品としてのハードウェアの詳細は判らなくなる
ため、それを制御する制御部21や制御部31の作成が
困難になり、ますます、ハードウェアの変更や拡張も困
難になる課題があった。
【0023】更に、上述のようにエンコーダ10は構成
されているが、プログラムの処理に異常が発生した場
合、プログラムの処理を一旦終了させるようにしている
ので、処理を再開させるのに時間がかかる課題があっ
た。
【0024】本発明はこのような状況に鑑みてなされた
ものであり、プログラムの処理の異常を迅速に回復する
ことができるようにし、また、ハードウェアの変更や拡
張が容易にできるようにするものである。
【0025】
【課題を解決するための手段】本発明のコンピュータ制
御可能なプログラムが記憶される記憶媒体は、プロセス
に異常が生じたとき、当該プロセスが、ハードウェアと
のデータの授受に用いられる第1のバッファを初期化す
る第1のパス、制御部とのデータの授受に用いられる第
2のバッファの開放し、第2のバッファの確保し、第2
のバッファの初期化し、および第1のバッファの初期化
する第2のパス、および第2のバッファの開放し、およ
び第1のバッファの開放する第3のパスのいずれかによ
り初期化される。
【0026】上記プロセスが第1のパスにより初期化さ
れた場合においても当該プロセスの異常が回復しないと
き、プロセスは第2のパスにより初期化されるようにす
ることができる。
【0027】上記プロセスが第2のパスにより初期化さ
れた場合においても当該プロセスの異常が回復しないと
き、プロセスは第3のパスにより初期化されるようにす
ることができる。
【0028】上記制御部からのメッセージのメッセージ
タイプが割り込み、メッセージナンバがQUITのとき、プ
ロセスは、第1のパスの初期化が実行されるようにする
ことができる。
【0029】上記制御部からのメッセージのメッセージ
タイプが割り込み、メッセージナンバがRESETのとき、
プロセスは、第2のパスの初期化が実行されるようにす
ることができる。
【0030】上記プロセスは、リプライステート、マネ
ージステート、センドステート、レシーブステート、レ
ディステートの各ステートをさらに備えるようにするこ
とができる。
【0031】本発明のコンピュータ制御可能なプログラ
ムが記憶される記憶媒体は、プロセスに異常が生じたと
き、当該プロセスが、プロセスが生成されるとき遷移す
る第1の初期化ステートを含む第1のパス、プロセスが
終了するとき遷移する第1の終了ステート、当該プロセ
スが生成されるとき遷移する第2の初期化ステート、並
びに第1の初期化ステートを含む第2のパス、および第
1の終了ステート、およびプロセスが終了するとき遷移
する第2の終了ステートを含む第3のパスのいずれかに
より初期化される。
【0032】本発明の情報処理装置は、プロセスに異常
が生じたとき、プロセスが生成されるとき遷移する第1
の初期化ステートを含む第1の初期化手段と、プロセス
が終了するとき遷移する第1の終了ステート、当該プロ
セスが生成されるとき遷移する第2の初期化ステート、
並びに第1の初期化ステートを含む第2の初期化手段
と、第1の終了ステート、およびプロセスが終了すると
き遷移する第2の終了ステートを含む第3の初期化手段
とを備える。
【0033】本発明の情報処理方法は、プロセスに異常
が生じたとき、プロセスが生成されるとき遷移する第1
の初期化ステートを含む第1の初期化ステップと、プロ
セスが終了するとき遷移する第1の終了ステート、当該
プロセスが生成されるとき遷移する第2の初期化ステー
ト、並びに第1の初期化ステートを含む第2の初期化ス
テップと、第1の終了ステート、およびプロセスが終了
するとき遷移する第2の終了ステートを含む第3の初期
化ステップとを備える。
【0034】従って、いずれの場合においても、プロセ
スの異常なステートを迅速に回復することが可能とな
る。
【0035】
【発明の実施の形態】図2は、本発明を適用した音楽配
信サービスシステムの配信側の構成例を示している。こ
の例の場合、例えば、100BASE-TXイーサネット(商標)
からなる、アラームLAN101およびメディアムLAN10
2が設けられている。アラームLAN101には、端末1
11およびエンコーダ112が接続され、メディアムLA
N102には、エンコーダ112およびサーバ113が
接続されている。
【0036】端末111は、エンコーダ112を制御す
るためのプログラムからなる制御プロセスWを有してお
り、その制御プロセスWに基づいて、アラームLAN10
1を介してエンコーダ112と通信して、エンコーダ1
12を制御し、所定のエンコード処理を実行させる。
【0037】エンコーダ112は、端末111により制
御され、サーバ113に保持されている、CD-DA(Compac
t Disc-Digital Audio)などのPCM非圧縮音楽データ
を、メディアムLAN102を介して受信し、ATRAC1また
はMPEG1audio layer3の規格に準拠したエンコード処
理を実行する。エンコーダ112はまた、エンコードし
て得られたPCM圧縮音楽データを、メディアムLAN102
を介して、サーバ113に、例えば、ファイル転送ベー
ス((ファイル転送プロトコル(ftp:file transfer pr
otocol))で転送する。
【0038】サーバ113は、PCM非圧縮音楽データを
記録し、それをエンコーダ112に供給したり、エンコ
ーダ112からのPCM圧縮音楽データを記録し、要求に
応じて、音楽配信サービスの利用者(受信側)に配信す
る。
【0039】このように、制御データが転送されるアラ
ームLAN101を、音楽データが転送されるメディアムL
AN102とは別に設けるようにすることで、エンコード
処理および音楽データの配信処理がより効率的に行われ
る。
【0040】図3は、エンコーダ112の構成例を示し
ている。CPU(Central ProcessingUnit)121は、ROM
(Read Only Memory)122又はハードディスク127
に記憶されている、例えば、エンコード処理用のプログ
ラムをRAM(Random AccessMemory)123に展開し、そ
れに従ってエンコード処理を実行する。RAM123に
は、CPU121が、例えば、エンコード処理を実行する
上において必要なデータなどが適宜記憶される。また、
RAM123には、必要なデータバッファ領域が確保され
る。
【0041】ネットワークカード124は、アラームLA
N101に接続され、アラームLAN101を介して、制御
データを受信したり、送信する。
【0042】ネットワークカード125は、メディアム
LAN102に接続され、メディアムLAN102を介して、
サーバ113から送信されてくるPCM非圧縮音楽データ
を受信したり、エンコードカード126によりエンコー
ドされたPCM圧縮音楽データを、サーバ113に送信す
る。
【0043】エンコードカード126は、ネットワーク
カード125により受信されたPCM非圧縮音楽データ
を、ATRAC1に準拠したエンコード処理(ATRAC1対応エ
ンコード処理)、またはMEPG1audio layer3に準拠し
たエンコード処理(MPEG1対応エンコード処理)する。
【0044】ハードディスク127は、CPU121が実
行するプログラムの他、ネットワークカード125によ
り受信されたPCM非圧縮音楽データや、エンコードカー
ド126によりエンコードされたPCM圧縮音楽データを
記憶する。
【0045】この例の場合、音楽データは、イーサネッ
ト(登録商標)であるメディアムLAN102上に転送さ
れるので、PCM非圧縮音楽データは、リアルタイムでエ
ンコードされない。サーバ113から供給されたPCM非
圧縮音楽データは、はじめに、ハードディスク127に
記憶され、所定のタイミングで、エンコードカード12
6に供給され、エンコードされる。その後、エンコード
されたPCM圧縮音楽データは、ハードディスク127に
記憶される。このように、ハードディスク127を一時
バッファとして利用することより、PCM非圧縮音楽デー
タは、適切にエンコードされる。
【0046】インターフェース128は、ネットワーク
カード124、ネットワークカード125、エンコード
カード126、ハードディスク127と、CPU121と
の間に配置され、インターフェース処理を実行する。
【0047】なお、CPU121、ROM122、RAM12
3、およびインターフェース128は、1つのマザーボ
ード120に実装されている。
【0048】この音楽配信サービスシステムは、リアル
タイムOS(Oprating System)に基づき制御される。リ
アルタイムOSは、複数のタスク(プロセス)を同時に動
作させることが可能なマルチタスクOSである。非リアル
タイムOSでは、所定の処理を実行している最中に、他の
イベント、すなわち外部からの要求が発生したとして
も、そのイベントハンドラが直ちには起動されない場合
がある。これに対してリアルタイムOSでは、予め設定さ
れた所定の時間内に、イベントハンドラが起動されるこ
とが保証されている。すなわち、図4に示されるよう
に、クロックにより定められた所定の時間(サバイバル
タイム)内において開始された処理は、そのサバイバル
タイム内において終了される。
【0049】図5は、リアルタイムOSの基本的な概念を
模式的に表している。各プロセスは、生成されると、動
作状態、待機状態、および動作可能状態の3つの状態の
いずれかに順次遷移するように管理される。各プロセス
は、フラグ管理され、動作状態から待機状態に遷移する
とき、フラグ待ちを指示するコマンドwaitFlagが発行さ
れ、待機状態から動作可能状態へと遷移するとき、フラ
グに値をセットするコマンドsetFlagが発行される。
【0050】同時に複数のプロセスが存在可能であり、
複数のプロセスのそれぞれには、優先順位が割り当てら
れる。リアルタイムOSにより、動作可能状態にあるプロ
セスの中で最も優先順位の高いプロセスに実行権が渡さ
れる。
【0051】リアルタイムOSでは、このようにイベント
の発生によって、動作状態にあるプロセスを高速に切り
換えることができるようになされている。
【0052】図6は、エンコーダ112の機能的構成例
(エンコード処理用のプログラムの構成例)を示してい
る。このエンコード処理用のプログラムは、カプセルマ
ネージャ151、エンコード制御アプリケーション15
2、およびメインアプリケーション153の3つのプロ
セス(実施可能なプログラムとそれを実行するために必
要なデータ領域を有している)の他、所定のプロセスが
ブロック化(カプセル化)された制御データ入出力カプ
セル154、音楽データ入出力カプセル155、および
エンコード処理カプセル156の3つのカプセル(図
中、2重線の枠で示されている要素)から構成されてい
る。なお、図中、実線の枠で示されている要素は、プロ
セスである。
【0053】カプセルマネージャ151は、メインアプ
リケーション153を介して、エンコード制御アプリケ
ーション152、制御データ入出力カプセル154、音
楽データ入出力カプセル155、およびエンコード処理
カプセル156を制御する。
【0054】エンコード制御アプリケーション152
は、メインアプリケーション153と通信して、例え
ば、カプセルマネージャ151からの指令を受信し、そ
れに基づいて制御データ入出力カプセル154を制御す
る。メインアプリケーション153は、カプセルマネー
ジャ151と直接通信し、カプセルマネージャ151か
らの指令に基づいて音楽データ入出力カプセル155お
よびエンコード処理カプセル156を制御する。
【0055】制御データ入出力カプセル154は、エン
コード制御マネージャ161により管理される。そのエ
ンコード制御マネージャ161は、エンコード制御アプ
リケーション152からの指令により、ネットワークカ
ード入力I/Fプロセス162(以下、ネットワークカー
ド入力I/Fと略称する。他のプロセスについても同様で
ある)、ネットワークカード出力I/F163、およびネ
ットワークカードドライバ(プロセス)164を生成し
たり、消去する。
【0056】ネットワークカード入力I/F162は、ネ
ットワークカード124、およびネットワークカードド
ライバ164を介して、端末111の制御プロセスWか
らの制御データ(コマンド)を受信し、エンコード制御
マネージャ161に出力する。ネットワークカード出力
I/F163は、エンコード制御アプリケーション152
とエンコード制御マネージャ161を介して、メインア
プリケーション153からの制御データ(メッセージ)
を受信し、ネットワークカードドライバ164に出力す
る。
【0057】ネットワークカードドライバ164は、ネ
ットワークカード124に対して入出力インターフェー
ス処理を実行し、アラームLAN101上に転送される制
御データ(コマンド)を受信し、ネットワークカード入
力I/F162に出力したり、ネットワークカード出力I/F
163から、制御データ(メッセージ)を受信し、ネッ
トワークカード124に出力する。
【0058】音楽データ入出力カプセル155は、デー
タ入出力マネージャ171により管理される。このデー
タ入出力マネージャ171は、メインアプリケーション
153からの指令により、ネットワークカード入出力I/
F172(プロセス)およびネットワークカードドライ
バ173(プロセス)を生成したり、消去する。
【0059】ネットワークカード入出力I/F172は、
ネットワークカード125とネットワークカードドライ
バ173を介して、サーバ113からPCM非圧縮音楽デ
ータを受信し、データ入出力マネージャ171に出力し
たり、データ入出力マネージャ171から、PCM圧縮音
楽データを受信し、ネットワークカードドライバ173
に出力する。
【0060】ネットワークカードドライバ173は、ネ
ットワークカード125に対して入出力インターフェー
ス処理を実行し、メディアムLAN102上に転送されたP
CM非圧縮音楽データを受信し、ネットワークカード出力
I/F172に出力する。ネットワークカードドライバ1
73はまた、ネットワークカード入出力I/F172か
ら、PCM圧縮音楽データを受信し、ネットワークカード
125に出力する。
【0061】エンコード処理カプセル156は、エンコ
ード処理マネージャ181により管理される。このエン
コード処理マネージャ181は、メインアプリケーショ
ン153からの指令により、エンコードエンジン入出力
I/F182、エンコードエンジン入出力I/F183、エン
コードエンジン184、エンコードカード入出力I/F1
85、エンコードカード入出力I/F186、およびエン
コードカードドライバ187(いずれもプロセス)を生
成したり、消去する。エンコード処理マネージャ181
はまた、ソフトウェア(エンコードエンジン184)に
よるエンコードと、ハードウェア(エンコードカード1
26)によるエンコードの識別処理、並びに、ATRAC1
対応エンコード処理とMPEG1対応エンコード処理の識別
処理を行う。
【0062】エンコードエンジン入出力I/F182は、
エンコード処理マネージャ181から、ATRAC1対応エ
ンコード処理されるPCM非圧縮音楽データを受信し、エ
ンコードエンジン184に出力する。エンコードエンジ
ン入出力I/F182はまた、エンコードエンジン184
から、ATRAC1対応エンコード処理されたPCM圧縮音楽デ
ータを受信し、エンコード処理マネージャ181に出力
する。
【0063】エンコードエンジン入出力I/F183は、
エンコード処理マネージャ181から、MPEG1対応エン
コード処理されるPCM非圧縮音楽データを受信し、エン
コードエンジン184に出力する。エンコードエンジン
入出力I/F183はまた、エンコードエンジン184か
ら、MEPG1対応エンコード処理されたPCM圧縮音楽デー
タを受信し、エンコード処理マネージャ181に出力す
る。
【0064】エンコードエンジン184は、ソフトウェ
アによるATRAC1対応エンコード処理、またはソフトウ
ェアによるMPEG1対応エンコード処理を、エンコードエ
ンジン入出力I/F182,183から供給された制御デ
ータに基づき実行する。
【0065】エンコードカード入出力I/F185は、エ
ンコード処理マネージャ181から、ATRAC1対応エン
コード処理されるPCM非圧縮音楽データを受信し、エン
コードカードドライバ187に出力する。エンコードカ
ード入出力I/F185はまた、エンコードカードドライ
バ187から、ATRAC1対応エンコード処理されたPCM圧
縮音楽データを受信し、エンコード処理マネージャ18
1に出力する。
【0066】エンコードカード入出力I/F186は、エ
ンコード処理マネージャ181から、MEPG1対応エンコ
ード処理されるPCM非圧縮音楽データを受信し、エンコ
ードカードドライバ187に出力する。エンコードカー
ド入出力I/F186はまた、エンコードカードドライバ
187から、MEPG1対応エンコード処理されたPCM圧縮
音楽データを受信し、エンコード処理マネージャ181
に出力する。
【0067】エンコードカードドライバ187は、エン
コードカード126に対して入出力インターフェース処
理を実行し、エンコードカード入出力I/F185,18
6から、PCM非圧縮音楽データを受信し、エンコードカ
ード126に出力したり、エンコードカード126か
ら、エンコード処理されたPCM圧縮音楽データを受信
し、エンコードカード入出力I/F185,186に出力
する。ハードウェアとしてのエンコードカード126
は、ATRAC1対応エンコード処理するとき、対応する機
能を有するものに取り替えられ、MPEG1対応エンコード
処理するとき、対応する機能を有するものに取り替えら
れる。
【0068】次に、図7のフローチャートを参照して、
ATRAC1対応エンコード処理を実行する場合における各
プロセスの全体的な処理について説明する。
【0069】なお、電源がオンされると、リアルタイム
OSがカプセルマネージャ151を生成すると共に、カ
プセルマネージャ151は、メインアプリケーション1
53に、音楽データ入出力カプセル155とエンコード
処理カプセル156を生成させるとともに、エンコード
制御アプリケーション152に、制御データ入出力カプ
セル154を生成させる。
【0070】端末111の制御プロセスWから、アラー
ムLAN101を介してエンコーダ112のネットワーク
カード124にATRAC1対応エンコード処理が指令され
ると、この指令は、制御データ入出力カプセル154の
ネットワークカードドライバ164からネットワークカ
ード入力I/F162を介してエンコード制御マネージャ
161に供給される。エンコード制御マネージャ161
は、この指令を受けると、ステップS1において、エン
コード制御アプリケーション152に対して、ATRAC1
対応エンコード処理の開始を要求する。
【0071】エンコード制御アプリケーション152
は、ステップS11において、エンコード制御マネージ
ャ161からの要求を受け取る。この要求には、エンコ
ードの種類とエンコードを実行する処理部を特定するコ
ード情報が含まれている。この例の場合、エンコードの
種類は、ATRAC1対応エンコード処理とされ、エンコー
ドの実行処理部は、ハードウェア(エンコードカード1
26)とされる。
【0072】エンコード制御アプリケーション152
は、エンコード制御マネージャ161からの要求を受け
取ると、ステップS12において、その要求に基づい
て、ATRAC1対応エンコード処理の許可をメインアプリ
ケーション153に要求する。
【0073】メインアプリケーション153は、ステッ
プS31において、エンコード制御アプリケーション1
52からの要求を受け取ると、その要求に対応する処理
を実行できるか否かを判定し、実行できない場合には、
その旨をエンコード制御アプリケーション152に応答
する。エンコード制御アプリケーション152は、この
応答結果を受信した場合、対応する応答を、さらにエン
コード制御マネージャ161に通知する。エンコード制
御マネージャ161は、この通知に対応する応答を、さ
らにエンコード制御マネージャ161、ネットワークカ
ード出力I/F163、ネットワークカードドライバ16
4、ネットワークカード124を介して、端末111の
制御プロセスWに通知する。
【0074】図7の例の場合、メインアプリケーション
153は、ATRAC1対応エンコード処理を実行できると
判定し、対応する許可応答を、ステップS32におい
て、エンコード制御アプリケーション152に通知す
る。
【0075】エンコード制御アプリケーション152
は、ステップS13において、メインアプリケーション
153からの許可応答を受信すると、ステップS14に
おいて、エンコード制御マネージャ161に、ATRAC1
対応エンコード処理の開始を示す応答を出力する。エン
コード制御マネージャ161は、この応答を、ステップ
S2において受信する。エンコード制御マネージャ16
1は、この応答に対応する通知を、上述したようにし
て、さらに制御プロセスWに通知する。
【0076】メインアプリケーション153は、ステッ
プS32において、ATRAC1対応エンコード処理の許可
応答をエンコード制御アプリケーション152に出力し
た後、ステップS33において、音楽データ入出力カプ
セル155のデータ入出力マネージャ171に、エンコ
ード処理の対象とされる基データの取得を要求する(基
データ取得要求を出力する)。この基データ取得要求に
は、その基データが記憶されている記憶部のアドレスの
他、取得するデータ量等も含まれている。
【0077】ステップS81において、データ入出力マ
ネージャ171は、メインアプリケーション153から
の要求を受け取ると、ステップS82において、その要
求に基づいて、エンコードする基データを、指定された
アドレスから取得する処理を実行する。
【0078】例えば、基データがハードディスク127
に記憶されている場合、データ入出力マネージャ171
は、ネットワークカード入出力I/F172、ネットワー
クカードドライバ173、ネットワークカード125を
介してハードディスク127にアクセスし、指定された
アドレスから、指定された量のPCM非圧縮音楽データを
取得する。
【0079】なお、データ入出力マネージャ171は、
基データが図示せぬCD-R等に記録されている場合には、
そこにアクセスし、基データを取得する。また、データ
入出力マネージャ171は、基データがサーバ113に
記録されている場合には、アラームLAN101を介して
サーバ113にアクセスし、ミディアムLAN102を介
してサーバ113から基データの転送を受ける。取得さ
れたPCM非圧縮音楽データは、RAM123のバッファ領域
に、一時的に格納される。
【0080】このようにして、PCM非圧縮音楽データが
取得されると、ステップS83において、データ入出力
マネージャ171は、メインアプリケーション153に
対して、基データが取得されたことを表す基データ取得
応答を送信する。
【0081】メインアプリケーション153は、ステッ
プS34において、データ入出力マネージャ171から
の基データ取得応答を受信すると、ステップS35にお
いて、エンコード処理マネージャ181にエンコード開
始を要求する。この要求には、エンコードの種類がATRA
C1対応エンコード処理であること、並びにエンコード
の実行処理部がエンコードカード126であることを表
す情報が含まれている。
【0082】エンコード処理マネージャ181は、ステ
ップS61において、メインアプリケーション153か
らのエンコード開始要求を受信すると、この要求に対応
する処理を実行できるか否かを判定し、実行できない場
合には、その旨を表す応答をメインアプリケーション1
53に出力する。図7の例の場合、エンコード処理マネ
ージャ181は、エンコードが実行できると判定し、ス
テップS62において、エンコードを開始することを表
す応答をメインアプリケーション153に出力する。
【0083】メインアプリケーション153は、エンコ
ード処理マネージャ181からのエンコード開始応答
を、ステップS36において受信する。これにより、メ
インアプリケーション153は、ステップS35の要求
に対応する処理が、エンコード処理マネージャ181に
おいて受け入れられたことを知ることができる。
【0084】エンコード処理マネージャ181は、ステ
ップS62において、メインアプリケーション153に
エンコード開始応答を出力した後、ステップS63にお
いてエンコード処理を実行させる。具体的には、エンコ
ード処理マネージャ181は、メインアプリケーション
153からのエンコード開始要求に基づいて、エンコー
ドカード入出力I/F185、エンコードカードドライバ
187を介してエンコードカード126に、ATRAC1対
応エンコード処理を要求する。この要求には、エンコー
ド対象とされるPCM非圧縮音楽データが保持されているR
AM123のバッファのアドレスが含まれている。エンコ
ードカード126は、この要求に基づいて、RAM123
のバッファ領域に記憶されているPCM非圧縮音楽データ
を読み出し、ATRAC1対応エンコード処理を実行する。
エンコードされたPCM圧縮音楽データは、RAM123のバ
ッファ領域に記憶される。
【0085】以上のようにして、エンコードが終了する
と、ステップS64において、エンコード処理マネージ
ャ181は、エンコードが終了したことを表すエンコー
ド終了通知を、メインアプリケーション153に出力す
る。
【0086】メインアプリケーション153は、ステッ
プS37において、エンコード処理マネージャ181が
出力したエンコード終了通知を受信すると、ステップS
38において、これに対応するエンコード終了応答を、
エンコード処理マネージャ181に通知する。
【0087】エンコード処理マネージャ181は、ステ
ップS65において、メインアプリケーション153よ
り出力されたエンコード終了応答を受信する。これによ
り、エンコード処理マネージャ181は、エンコード終
了が、メインアプリケーション153に通知されたこと
を確認することができる。
【0088】メインアプリケーション153は、ステッ
プS38において、エンコード処理マネージャ181に
エンコード終了応答を出力した後、ステップS39にお
いて、データ入出力マネージャ171に対して、エンコ
ードした結果生成されたPCM圧縮音楽データを保存する
ことを要求する生成データ保存要求を出力する。この要
求には、データを保存する媒体のアドレスが含まれてい
る。例えば、ハードディスク127に、このエンコード
後のPCM圧縮音楽データを保存する場合、ハードディス
ク127のアドレスが含まれている。
【0089】データ入出力マネージャ171は、ステッ
プS84において、メインアプリケーション153から
の生成データ保存要求を受け取ると、ステップS85に
おいて、その要求に基づいて、受信したデータを保存す
る処理を実行する。具体的には、データ入出力マネージ
ャ171は、例えば、ハードディスク127への保存が
要求された場合、ネットワークカード入出力I/F17
2、ネットワークカードドライブ173、ネットワーク
カード125を介して、ハードディスク127にアクセ
スし、指定されたアドレスにエンコードされたPCM圧縮
音楽データを記録させる。
【0090】保存先がCD-Rとして指定されている場合に
は、エンコード後のPCM圧縮音楽データは、CD-Rの指定
されたアドレスに保存される。また、保存先がサーバ1
13に指定されている場合、エンコード後のPCM圧縮音
楽データは、メディアムLAN102を介してサーバ11
3に供給され、保存される。
【0091】以上のようにして保存が完了したとき、ス
テップS86において、データ入出力マネージャ171
は、データが保存されたことを表す生成データ保存応答
を、メインアプリケーション153に出力する。
【0092】メインアプリケーション153は、ステッ
プS40において、データ入出力マネージャ171から
の生成データ保存応答を受信すると、ステップS41に
おいて、ATRAC1対応エンコード処理が終了したことを
表す終了通知を、エンコード制御アプリケーション15
2に出力する。
【0093】エンコード制御アプリケーション152
は、ステップS15において、メインアプリケーション
153からの通知を受信すると、ステップS16におい
て、エンコード制御マネージャ161に、ATRAC1対応
エンコード処理が終了したことを通知する。
【0094】エンコード処理マネージャ161は、ステ
ップS3において、エンコード制御アプリケーション1
52からの終了通知を受信すると、ステップS4におい
て、この通知に対応する応答を、エンコード制御アプリ
ケーション152に出力する。
【0095】エンコード制御アプリケーション152
は、ステップS17において、エンコード制御マネージ
ャ161からの応答を受信すると、ステップS18にお
いて、メインアプリケーション153に対してATRAC1
対応処理終了応答を送信する。
【0096】メインアプリケーション153は、ステッ
プS42において、エンコード制御アプリケーション1
52からの終了応答を受信する。
【0097】図8は、MPEG1対応エンコード処理が実行
される場合の処理を表している。図8のステップS10
1乃至ステップS142は、図7のATRAC1対応エンコ
ード処理を実行する場合における、ステップS1乃至ス
テップS42における処理と、基本的に同様の処理であ
る。ただし、エンコードの種類が、ATRAC1対応エンコ
ード処理ではなく、MPEG1対応エンコード処理とされて
いる点が異なる。従って、図7のステップS82に対応
する図8のステップS182における基データ取得処理
では、ATRAC1対応処理のフォーマットに基づくデータ
の送出量や送出タイミングが、MPEG1対応エンコード処
理のフォーマットに基づくものに変更される。
【0098】また、図7のステップS63のATRAC1対
応エンコード処理に対応する図8のステップS163に
おける処理では、ATRAC1対応エンコード処理ではな
く、MPEG1対応エンコード処理が実行される。当然のこ
とながら、ATRAC1とMPEG1とは、それぞれ異なるエン
コード方式であるため、エンコードのデータ量の単位、
送出タイミング、誤り訂正符号等も異なったものとな
る。
【0099】このことは、図7のステップS85に対応
する図8のステップS185における処理でも同様であ
る。
【0100】しかしながら、これらのエンコードの方式
が異なることに起因する異なる処理は、全てエンコード
処理カプセル156内のエンコード処理マネージャ15
1を中心とする各プロセスや、音楽データ入出力カプセ
ル155のデータ入出力マネージャ171を中心とする
各プロセスが実行する。従って、メインアプリケーショ
ン153、エンコード制御アプリケーション152等
は、ATRAC1対応エンコード処理とMPEG1対応エンコー
ド処理の違いを微細に認識している必要がない。
【0101】すなわち、メインアプリケーション153
から見て、音楽データ入出力カプセル155のデータ入
出力マネージャ171により実行されるデータ取得処理
および保存処理、並びにエンコード処理カプセル156
のエンコード処理マネージャ181により実行されるエ
ンコード処理は、その詳細が隠ぺいされる。
【0102】例えば、データ入出力マネージャ171
は、ハードディスク127からデータを取得する際、AT
A(AD(Advanced Technology) Attachment)コマンドを
用いるが、ネットワーク上のサーバ113からデータを
取得する際は、TCP/IP(Transmission Control Protoco
l/Internet Protocol)上のFTP(File Transfer Protoc
ol)、またはHTTP(Hyper Text Transport Protocol)
を用いる。
【0103】また、CD-Rからデータを取得する場合に
は、SCSI(Small Computer System Interface)インタ
ーフェースが用いられ、CD-Rを用いてデータが取得され
る場合、ATAPI(AT Attachment Packet Interface)が
用いられる。
【0104】また、エンコード処理は、ATRAC形式のエ
ンコードを高速に行う際、エンコードカードドライバ1
87のうち、ATRACエンコーダドライバを介して処理が
行われるが、MPEGフォーマットのエンコードを高速に行
う場合には、エンコードカードドライバ187のうち、
MPEGエンコーダドライバを介して処理が行われる。
【0105】このように、エンコード処理カプセル15
6の内部においては、様々なハードウェアドライバプロ
トコルを用いて処理が行われるが、メインアプリケーシ
ョン153は、データ取得要求、エンコード開始要求、
およびデータ保存要求という簡単な3つのシーケンスだ
けを有していれば良い。
【0106】従って、エンコード処理カプセル156や
音楽データ入出力カプセル155は、これらのプロトコ
ルやデータ取得方法を、メインアプリケーション153
に対して隠ぺいするものとなる。
【0107】結果的に、メインアプリケーション153
やエンコード制御アプリケーション152は、ただ単
に、エンコードの種類や、エンコードを実行する処理
が、ソフトウェアであるのかハードウェアであるのかを
識別するだけでよい。従って、メインアプリケーション
153やエンコード制御アプリケーション152は、基
本的に、エンコードの種類が変更されたり、拡張されて
も変更する必要がないか、変更するにしても、わずかで
済む。
【0108】エンコーダ112のエンコード処理用のプ
ログラムは、以上のように構成されるが、図6に示され
るプロセス(図中、実線の枠で示されている要素)のそ
れぞれは、図9に示す状態遷移図に従ってステート(状
態)を遷移し、所定の処理を実行する。
【0109】なお、この図9の各ステートは、図5にお
ける動作状態を構成するものである。
【0110】図9の状態遷移図におけるステートは、イ
グゼキュート(EXECUTE)、イニシャライズ0(INITIAL
IZE0)、イニシャライズ1(INITIALIZE1)、イニシ
ャライズ2(INITIALIZE2)、ターミネート1(TERMIN
ATE1)、ターミネート0(TERMINATE0)、エグジット
(EXIT)、レシーブ(RECEIVE)、リプライ(REPLY)、
マネージ(MANAGE)、センド(SEND)、およびレディ
(READY)の12種類のステートにより構成されてい
る。
【0111】次に、図9の状態遷移図の正常時における
場合の状態遷移について、図10のフローチャートを参
照して説明する。
【0112】電源がオンされ、リアルタイムOSが立ち上
げられてプロセスが生成されると、ステップS201に
おいて、プロセスは、イグゼキュートステート(EXECUT
E)Aとなる。
【0113】次に、ステップS202において、プロセ
スは、イニシャライズ0ステート(INITIALIZE0)Bに
遷移する。このイニシャライズ0ステート(INITIALIZE
0)Bにおいては、カプセル(モジュール)登録処理が
実行される。具体的には、主に、ハードウェアとのデー
タの授受に用いられる第1のバッファが確保され、さら
に、その第1のバッファが初期化され(例えば、0が埋
め込まれ)、デバイスがオープンになり、そしてデバイ
スが正常であるか否かがチェックされる。この処理は、
電源オン時に、1回だけ必要な処理である。
【0114】次に、ステップS203において、プロセ
スは、イニシャライズ0ステート(INITIALIZE0)Bか
らイニシャライズ1ステート(INITIALIZE1)Cに遷移
し、カプセル用のリソース確保処理を実行する。この処
理が実行されることより、主に、メインアプリケーショ
ン153との間のデータの授受に用いられる第2のバッ
ファが確保され、さらに、その第2のバッファが初期化
され、そしてレジスタが初期化される。
【0115】ステップS204において、プロセスは、
イニシャライズ1ステート(INITIALIZE1)Cから、イ
ニシャライズ2ステート(INITIALIZE2)Dに遷移し、
デバイスを含むカプセルの初期化処理を実行する。この
初期化処理が実行されることより、第1のバッファが再
び初期化される(このとき、確保処理は行われない)。
【0116】次に、ステップS205において、プロセ
スは、イニシャライズ2ステート(INITIALIZE2)Dか
らレディステート(READY)Eに遷移する。
【0117】ステップS205において、各プロセス
は、図9におけるステートE,F,G,H,I,J,
K,L,Mのいずれかのステートに遷移する。すなわ
ち、ステップS206において、各プロセスは、終了要
求の処理要求メッセージを受信したか否かを判定し、終
了要求以外の処理要求メッセージを受信した場合には、
ステップS205に戻り、対応するステートに遷移す
る。
【0118】ステートE乃至ステートMのいずれかのス
テートにあるプロセスは、ステップS206において、
終了要求の処理要求メッセージを受信したと判定した場
合、ステップS207に進み、ターミネート1ステート
(TERMINATE1)Nに遷移し、ここで、第2のバッファ
の開放処理が行われる。次に、ステップS208に進
み、プロセスは、ターミネート0ステート(TERMINATE
0)Oに遷移する。このステートにおいては、第1のバ
ッファが開放されるとともに、デバイスがクローズされ
る。
【0119】さらに、ステップS209に進み、プロセ
スは、エグジットステート(EXIT)Pに遷移し、リアル
タイムOSが終了され、電源がオフされた状態に移行す
る。
【0120】各プロセスは、他のプロセスと、プロセス
間通信用メッセージを授受し、所定のステートから、図
9において矢印で示される他のステートに遷移する。
【0121】図11は、このプロセス間通信用メッセー
ジのフォーマットを表している。プロセス間通信用メッ
セージは、図11(A)に示すように、ヘッダと拡張部
分からなり、それらには、FTP (File Transfer Protoco
l)のフォーマットで各データが記載されている。ヘッダ
の”unsigned short type;”には、図11(C)に示す
ように、メッセージタイプ(以下、MSGT(Message Type)
と記述する)、ファンクションタイプ(以下、FNCT(Fun
ction Type)と記述する)、メッセージナンバー(以
下、MSGN(Message number)と記述する)、そしてファン
クションナンバー(以下、FNCN( Function Number)と記
述する)が設けられている。
【0122】MSGTには、下記に示すように、要求するイ
ンタラプト、センド、レシーブ、またはリプライの各処
理に対応して割り当てられている00乃至11のデータ
が格納される。 <処理> <データ> インタラプト(INT (INTERRUPT)) 00B センド(SND (SEND)) 01B レシーブ(RCV (RECEIVE)) 10B リプライ(RPY (REPLY)) 11B
【0123】MSGNには、下記に示すように、要求する処
理に対応して割り当てられている所定のデータが格納さ
れる。 <処理> <データ> クウィト(QUT (QUIT)) 001B リセット(RST (RESET)) 010B ターミネート(TRM (TERMINATE)) 011B リクエスト(REQ (REQUEST)) 100B ノーティファイ(NTF (NOTIFY)) 101B リフューズ(RFS (REFUSE)) 110B アクノリッジメント(ACK(ACKNOWLEDGEMENT)) 111B
【0124】FNCTおよびFNCNには、要求する処理に対応
して、それぞれ下記の事項を示すデータが格納される。 <FNCT> <FNCN> エンコード ATRAC1対応エンコード処理 MPEG1対応エンコード処理 ファイル転送 put get
【0125】ヘッダの”pid_t src_pid”には、プロセ
ス間通信用メッセージの送り元(source)のプロセスのID
が、”pid_t dst_pid”には、送り先(destination)のプ
ロセスのIDが、それぞれ記載される。
【0126】プロセス間通信用メッセージの拡張部分に
は、例えば、エンコードされるPCM非圧縮音楽データが
格納されている場所(例えば、ハードディスク127の
メモリアドレス)や、エンコードされたPCM圧縮音楽デ
ータを格納する場所などが記載されている。
【0127】図12のプロセス間通信用メッセージは、
図11のプロセス間通信用メッセージのヘッダのみから
構成されている。
【0128】次に、図10のステップS205,S20
6における図9のステートE乃至ステートMの間におけ
る状態遷移を説明する。ここでは、端末111(制御プ
ロセスW)からの要求に基づいて、メインアプリケーシ
ョン153が、エンコード処理マネージャ181に、AT
RAC1対応エンコード処理を要求する場合を例として説
明する。
【0129】なお、各プロセスは、図13に示されるよ
うに、ステップS221において、処理待ちの状態か
ら、ステップS222に進み、所定の処理を実行し、そ
の処理が完了すると、再び、ステップS221の処理待
ちの状態に戻るようにプログラムされている。従って、
これから説明するステートの遷移は、各プロセスが規定
しているものであり、いずれの方向のステートに遷移す
るかがステートそのものに規定されているわけではな
い。換言すれば、各プロセスは、図9に矢印で示される
ルートに従って遷移することが予め規則付けられてい
る。
【0130】はじめに、メインアプリケーション153
の状態遷移を、図14のフローチャートを参照して説明
する。なお、メインアプリケーション153のステート
は、図10のステップS201乃至S205の処理で、
すでに、レディステート(READY)Eに遷移しているも
のとする。
【0131】ステップS311において、メインアプリ
ケーション153は、MSGTにSNDが、MSGNにREQが、FNCT
にエンコードを示すデータが、そしてFNCNにATRAC1対
応エンコード処理を示すデータが、それぞれ設定されて
いるヘッダを含むプロセス間通信用メッセージ(以下、
このようにMSGTにSNDが、そしてMSGNにREQが設定されて
いるプロセス間通信用メッセージを、(SND,REQ)メッ
セージと記載する。他のプロセス間通信用メッセージの
場合も同様とする)を、エンコード処理マネージャ18
1に送信し、レディステート(READY)Eからセンドス
テート(SEND)Jに遷移する。
【0132】なお、この(SND,REQ)メッセージのヘッ
ダには、送り元のメインアプリケーション153のIDが
設定された”pid_t src_pid”、および送り先であるエ
ンコード処理マネージャ181のIDが設定された”pid_
t dst_pid ”が含まれている。また(SND,REQ)メッセ
ージは、図11に示す構成を有しており、その拡張部分
には、エンコードされるPCM非圧縮音楽データが格納さ
れているハードディスク127のメモリアドレス、エン
コードされた後のPCM圧縮音楽データが格納されるハー
ドディスク127のメモリアドレスが記述されている。
【0133】また、図9において、括弧を付加して示す
メッセージは、受信メッセージを表し、括弧を付加しな
いメッセージは送信メッセージを表す。
【0134】メインアプリケーション153はまた、こ
のとき、内蔵するタイマーtをスタートさせる。
【0135】次に、ステップS312において、メイン
アプリケーション153は、ステップS311で送信し
た(SND,REQ)メッセージに応答するプロセス間通信用
メッセージ(MSGTにRPYが設定されているメッセージ
で、以下、このようなメッセージを(RPY,XXX)メッセ
ージと記述する)が、エンコード処理マネージャ181
から受信されるまで待機し、受信されたと判定した場
合、ステップS313に進む。なお、(RPY,XXX)メッ
セージは、図12に示した構成を有している。なお、
(RPY,XXX)メッセージは、図12に示した構成を有し
ている。すなわち、ヘッダのみから構成されている。
【0136】ステップS313において、メインアプリ
ケーション153は、ステップS312で受信されたと
判定された(RPY,XXX)メッセージが、(RPY,ACK)メ
ッセージ(MSGTにRPYが、MSGNにACKが、それぞれ設定さ
れているメッセージ)であるか否かを判定し、(RPY,A
CK)メッセージであると判定した場合、ステップS31
4に進む。この例の場合のように、エンコード処理が要
求されているとき、エンコード処理マネージャ181
は、エンコード処理が可能であるとき、(RPY,ACK)メ
ッセージをメインアプリケーション153に送信してく
る。
【0137】ステップS314において、メインアプリ
ケーション153は、センドステート(SEND)Jからマ
ネージステート(MANAGE)Kに遷移し、所定の処理を実
行する。ただし、いまの場合、メインアプリケーション
153は、特に処理を行わない。このマネージステート
(MANAGE)Kは、各プロセスに、必要に応じて所定の処
理を実行させることができるように用意されている。
【0138】次に、ステップS315において、メイン
アプリケーション153は、エンコード終了待ちの(RC
V,REQ)メッセージをエンコード処理マネージャ181
に送信して、マネージステート(MANAGE)Kからレシー
ブステート(RECEIVE)Lに遷移する。ステップS31
6において、メインアプリケーション153は、エンコ
ード処理マネージャ181から、エンコード終了待ちメ
ッセージの受領を通知する(SND,NTF)メッセージが受
信されるまで待機し、受信されたと判定した場合、ステ
ップS317に進む。
【0139】ステップS317において、メインアプリ
ケーション153は、レシーブステート(RECEIVE)L
からリプライステート(REPLY)Mに遷移し、ステップ
S316で受信したと判定された(SND,NTF)メッセー
ジに応答するための(RPY,NTF)メッセージをエンコー
ド処理マネージャ181に送信する。その後、ステップ
S318に進み、メインアプリケーション153は、リ
プライステート(REPLY)Mからレディステート(READ
Y)Eに遷移し、処理は終了する。
【0140】エンコード処理マネージャ181は、メイ
ンアプリケーション153からエンコード要求の(SN
D,REQ)メッセージを受信した場合、何らかの理由によ
りエンコードを実行することができないとき、エンコー
ド不可を通知する(RPY,NTF)メッセージを送信してく
る。そこで、この場合、ステップS313において、受
信された(RPY,XXX)メッセージが(RPY,ACK)メッセ
ージではないと判定され、ステップS314乃至ステッ
プS317の処理はスキップされ、ステップS318に
進み、メインアプリケーション153は、センドステー
ト(SEND)Jからレディステート(READY)Eに遷移
し、処理は終了する。
【0141】なお、メインアプリケーション153は、
センドステート(SEND)J、マネージステート(MANAG
E)K、およびレシーブステート(RECEIVE)Lでは、ス
テップS311でスタートさせたタイマーtの計測時間
が所定の時間を超えているか否かを判定し、超えていな
いと判定した場合、上述した処理を実行するが、タイマ
ーtの計測時間が所定の時間を超えていると判定した場
合(いわゆるタイムアウトの場合)、レディステート
(READY)Eに遷移し、処理を終了させる。
【0142】次に、この例の場合のエンコード処理マネ
ージャ181の状態遷移を、図15のフローチャートを
参照して説明する。ステップS321において、エンコ
ード処理マネージャ181は、エンコード要求待ちの
(RCV,REQ)メッセージをメインアプリケーション15
3に送信し、レディステート(READY)Eからレシーブ
ステート(RECEIVE)Fに遷移する。エンコード処理マ
ネージャ181はまた、このとき、内蔵するタイマーt
をスタートさせる。
【0143】ステップS322において、メインアプリ
ケーション153から送信されてきた、エンコードを要
求する(SND,REQ)メッセージ(図14のステップS3
11の処理で送信されたメッセージ)が受信されると、
エンコード処理マネージャ181は、ステップS323
において、いま要求されたエンコードが処理可能である
か否かを判定する。エンコードが処理可能である場合に
は、ステップS324に進み、エンコード処理マネージ
ャ181は、レシーブステート(RECEIVE)Fからリプ
ライステート(REPLY)Gに遷移する。
【0144】ステップS324において、エンコード処
理マネージャ181は、メインアプリケーション153
からのエンコード要求の(SND,REQ)メッセージに対応
するエンコード受付応答の(RPY,ACK)メッセージを、
メインアプリケーション153に送信する。そして、ス
テートは、マネージステート(MANAGE)Hに遷移する。
【0145】次に、ステップS325において、エンコ
ード処理マネージャ181は、マネージステート(MANA
GE)Hにおいて、エンコードカード入出力I/F185と
エンコードカードドライバ187を介してエンコードカ
ード126を制御し、要求されたATRAC1対応エンコー
ド処理を実行させる。
【0146】カプセルマネージャ151は、制御データ
入出力カプセル154、音楽データ入出力カプセル15
5、およびエンコード処理カプセル156の各カプセ
ル、またはそのカプセルのプロセスのそれぞれに対す
る、優先順位およびスケジュールアルゴリズムを決定す
る。
【0147】例えば、PCM非圧縮音楽データのエンコー
ドが開始されるとき、エンコード処理カプセル156に
は、制御データ入出力カプセル154および音楽データ
入出力カプセル155よりも高い優先順位が与えられ
る。また、ATRAC1対応エンコード処理が実行される場
合、エンコード処理カプセル156のエンコード処理マ
ネージャ181には、最も高い優先順位が与えられ、エ
ンコードエンジン入出力I/F182、エンコードエンジ
ン184、エンコードカード入出力I/F185、および
エンコードカードドライバ187には、それに継ぐ優先
順位が与えられ、そしてエンコードエンジン入出力I/F
183およびエンコードカード入出力I/F186には、
最も低い優先順位が与えられる。
【0148】つまり、ATRAC1対応エンコード処理が実
行される場合、ATRAC1対応エンコード処理に関する音
楽データの入出力を、エンコードエンジン184との間
でインターフェースするエンコードエンジン入出力I/F
182、およびATRAC1対応エンコード処理に関する音
楽データの入出力をエンコードカードドライバ187と
の間でインターフェースするエンコードカード入出力I/
F185の優先順位は、MPEG1対応エンコード処理に関
する音楽データの入出力をエンコードエンジン184と
の間でインターフェースするエンコードエンジン入出力
I/F183、およびMPEG1対応エンコード処理に関する
音楽データの入出力をエンコードカードドライバ187
との間でインターフェースするエンコードカード入出力
I/F186の優先順位に比べ、高く設定される。
【0149】さらに、ATRAC1対応エンコード処理が実
行される場合であっても、ソフトウェアによるエンコー
ドではなく、ハードウェアによるエンコードが指令され
ているとき、エンコードエンジン入出力I/F182より
エンコードカード入出力I/F185の方が、優先順位が
高く設定される。
【0150】カプセルマネージャ151は、上述したよ
うにして決定した、カプセルおよびプロセスの優先順位
を、エンコード制御アプリケーション152およびメイ
ンアプリケーション153を介して、制御データ入出力
カプセル154、音楽データ入出力カプセル155、お
よびエンコード処理カプセル156の各マネージャ(エ
ンコード制御マネージャ161、データ入出力マネージ
ャ171、およびエンコード処理マネージャ181)に
供給する。そして、各マネージャは、通知されたプロセ
スの優先順位に基づいて、プロセスを生成し、処理を実
行させる。
【0151】例えば、ATRAC1対応エンコード処理が実
行される場合、エンコード処理カプセル156のエンコ
ード処理マネージャ181は、エンコードエンジン入出
力I/F182、エンコードエンジン184、エンコード
カード入出力I/F185、およびエンコードカードドラ
イバ187を生成し、プロセス間通信用メッセージを供
給する。生成されたエンコードエンジン入出力I/F18
2、エンコードエンジン184、エンコードカード入出
力I/F185、およびエンコードカードドライバ187
は、供給されたプロセス間通信用メッセージを、通信可
能なプロセスと送受信し、エンコード処理を実行する。
これにより、この例の場合、プロセス間通信用プロセス
の拡張部分に設定されたアドレスに格納されているPCM
非圧縮音楽データがハードディスク127から読み出さ
れ、ATRAC1対応エンコード処理が施され、ハードディ
スク127の、プロセス間通信用プロセスの拡張部分に
設定されているアドレスに記憶される。
【0152】なお、図15の処理の例の場合、ATRAC1
対応エンコード処理をハードウェアにより実行するの
で、エンコードエンジン入出力I/F182,183、エ
ンコードエンジン184、およびエンコードカード入出
力I/F186は生成されない。これにより、それらに必
要なリソースを確保する必要がなく、そのリソースを他
の処理に利用することができる。
【0153】図15の説明に戻り、ステップS325に
おいて、エンコード処理が完了したとき、ステップS3
26において、エンコード処理マネージャ181は、マ
ネージステート(MANAGE)Hからセンドステート(SEN
D)Iに遷移し、エンコード終了を示す(SND,NTF)メ
ッセージをメインアプリケーション153に送信する。
【0154】ステップS327において、エンコード処
理マネージャ181は、メインアプリケーション153
から、送信された、エンコード終了待ち受領を通知する
(RPY,NTF)メッセージ(図14のステップS317の
処理で送信されたメッセージ)が受信されるまで待機
し、受信されたと判定した場合、ステップS328に進
み、センドステート(SEND)Iからレディステート(RE
ADY)Eに戻り、処理は終了する。
【0155】マネージステート(MANAGE)H、およびセ
ンドステート(SEND)Iにおいて、エンコード処理マネ
ージャ181は、ステップS321でスタートさせたタ
イマーtの計測時間が所定の時間を超えているか否かを
判定し、超えていないと判定した場合、上述したように
処理を実行するが、タイマーtの計測時間が所定の時間
を超えていると判定した場合、レディステート(READ
Y)Eに遷移し、処理を終了させる。
【0156】以上のように、各プロセスが、プロセス間
通信用メッセージの内容に基づいて、ステートを遷移す
るようにしたので、メインアプリケーション153が、
エンコードするデータが格納されている場所、エンコー
ドされたPCM圧縮音楽データが格納される場所、または
エンコード処理の種類をエンコード処理マネージャ18
1に通知するだけで、エンコード処理マネージャ181
に所定のエンコード処理を実行させることができる。す
なわち、メインアプリケーション153は、エンコード
処理カプセル156内のエンコード処理マネージャ18
1以外のプロセスを制御したり(例えば、データ処理や
バッファ処理を制御したり)、データ転送を制御する必
要がない。従って、例えば、エンコードカード126
が、より性能が高い他のエンコードカードと入れ替えら
れても、そのエンコードカードと、それに対応したエン
コード処理カプセル156がともに提供されれば、メイ
ンアプリケーション153は再構築する必要がなく、よ
り性能が高いエンコードカードをそのまま利用(制御)
することができる。
【0157】メインアプリケーション153と音楽デー
タ入出力カプセル155との間、並びに、エンコード制
御アプリケーション152と制御データ入出力カプセル
154との間においても、同様のことが言える。
【0158】なお、以上においては、エンコーダ112
が、ATRAC1対応エンコード処理およびMPEG1対応エン
コード処理を実行する場合を例として説明したが、MP
3、その他のフォーマットのエンコード処理やエフェク
ト機能などを実行させるようにすることもできる。
【0159】例えば、エンコーダ112は、ATRAC3(A
daptive Transform Acoustic Coding 3)(商標),MPE
G-2AAC(Advanced Audio Coding)(商標),ODesign M
usicCodec(商標),TwinVO(Transform-Domain Weight
ed Interleave Vector Ouantization)(商標),MS Au
dio(Microsoft Audio(WMA:Windows Media Audio))
(商標),Ogg Vorbis(商標)などのフォーマットのエ
ンコーダとすることも可能である。
【0160】次に、図16を参照して、ステートの異常
時の初期化処理について説明する。図16におけるステ
ートQは、図9におけるレディステート(READY)E、
レシーブステート(RECEIVE)F,L、リプライステー
ト(REPLY)G,M、マネージステート(MANAGE)H,
K、センドステート(SEND)I,Jに対応している。す
なわち、これらのいずれのステートからもインタラプト
(INTERRUPT)のメッセージが受信された場合の初期化
のルートとして、イニシャライズ2ステート(INITIALI
ZE2)D、およびレディステート(READY)Eの第1の
ルート、ターミネート1ステート(TERMINATE1)N、
イニシャライズ1ステート(INITIALIZE1)C、イニシ
ャライズ2ステート(INITIALIZE2)D、およびレディ
ステート(READY)Eの第2のルート、またはターミネ
ート1ステート(TERMINATE1)N、ターミネート0ス
テート(TERMINATE0)O、およびエグジットステート
(EXIT)Pの第3のルート、の3つのルートが用意され
ている。
【0161】図17は、この異常時における初期化処理
を説明するフローチャートである。この処理は、インタ
ラプトのメッセージを受信したとき、開始される。ステ
ップS351において、各プロセスは、インタラプトの
メッセージとして(INT,QUT)が受信されたか否かを判
定する。受信したインタラプトのメッセージが(INT,QU
T)であると判定された場合、ステップS352に進
み、プロセスは、イニシャライズ2ステート(INITIALI
ZE2)Dに遷移する。このステートにおいては、図10
のステップS204の処理における場合と同様に、第1
のバッファの初期化処理が行われる。その後、レディス
テート(READY)Eに遷移する。
【0162】このように、プロセスを終了せず(エグジ
ットステート(EXIT)Pに遷移せず)、第1のバッファ
の初期化のみを行い、レディステート(READY)Eに遷
移するようにすることより、例えば、一旦終了させてし
まったプロセスを、エンコード処理のために、再度、生
成することによるオーバヘッドの発生を、防止すること
ができる。
【0163】また、何らかの異常が起きた場合に、第1
のバッファの初期化を行うだけで、その異常が回復する
ことが期待される。この第1のパスの処理は、後述する
第2のパスより短い時間で完了することができるので、
より迅速に、異常な事態を回復させることが可能とな
る。
【0164】ステップS351において、インタラプト
を受けたメッセージが(INT,QUT)メッセージではない
と判定された場合、ステップS353に進み、プロセス
は、インタラプトを受けたメッセージが(INT,RST)メ
ッセージであるか否かを判定する。インタラプトを受け
たメッセージが(INT,RST)メッセージである場合に
は、ステップS354に進み、プロセスは、ターミネー
ト1ステート(TERMINATE1)Nに遷移する。このステ
ートでは、第2のバッファの開放処理が行われる。
【0165】次に、ステップS355に進み、プロセス
は、イニシャライズ1ステート(INITIALIZE1)Cに遷
移する。このステートにおいては、図10のステップS
203の処理における場合と同様に、第2のバッファの
確保、第2のバッファの初期化、並びにレジスタの初期
化処理が実行される。
【0166】次に、ステップS356に進み、プロセス
は、イニシャライズ2ステート(INITIALIZE2)Dに遷
移する。ここでは、ステップS352における場合と同
様に、第1のバッファの初期化処理が実行される。
【0167】その後、プロセスは、レディステート(RE
ADY)Eに遷移する。
【0168】このように、第2のパスの初期化処理にお
いては、第1のパスにおける初期化処理のステートを含
む、それ以外のステートの初期化処理が行われるため、
第1のパスの初期化処理を行う場合に比べて、より長い
時間がかかるが、より確実に、異常な事態を回復するこ
とが可能となる。
【0169】ステップS353において、インタラプト
を受けたメッセージが(INT,RST)メッセージではない
と判定された場合、そのメッセージは、結局(INT,TR
M)メッセージであるということになる。そこで、この
場合、ステップS357に進み、プロセスは、ターミネ
ート1ステート(TERMINATE1)Nに遷移する。そこ
で、ステップS354における場合と同様に、第2のバ
ッファの開放処理が行われる。次に、ステップS358
に進み、プロセスは、ターミネート0ステート(TERMIN
ATE0)Oに遷移する。このステートにおいては、第1
のバッファの開放処理が行われるとともに、デバイスを
クローズする処理が行われる。
【0170】そして、エグジットステート(EXIT)Pに
プロセスは遷移し、リアルタイムOSが終了され、電源オ
フの状態になる。
【0171】この第3のパスは、第1および第2のパス
の初期化処理では回復することができなかった場合に行
われる。この場合、リアルタイムOSが再起動され、各プ
ロセスが新たに再び生成される処理が行われることにな
るので、第1のパスまたは第2のパスの初期化処理に較
べ、より長い時間がかかるが、より確実に、異常事態を
回復することが可能となる。
【0172】上述した異常時における3つのパスの初期
化処理を時系列に沿って示すと、図18に示すようにな
る。
【0173】例えば、メインアプリケーション153
は、異常が発生した場合、ステップS411において
(INT,QUT)メッセージをエンコード処理マネージャ1
81に出力する。エンコード処理マネージャ181は、
この(INT,QUT)メッセージを受信すると、ステップS
421においてイニシャライズ2ステート(INITIALIZE
2)Dに遷移し、第1のバッファの初期化処理を実行す
る。ステップS422において、エンコード処理マネー
ジャ181は、レディステート(READY)Eに遷移す
る。エンコード処理マネージャ181は、この第1のパ
スの初期化処理により、異常が回復したか否かをステッ
プS423において、メインアプリケーション153に
通知する。
【0174】メインアプリケーション153は、第1の
パスの初期化処理により、異常が回復していない場合に
は、さらに、ステップS412において、(INT,RST)
メッセージをエンコード処理マネージャ181に出力す
る。エンコード処理マネージャ181は、メインアプリ
ケーション153から(INT,RST)メッセージを受信す
ると、ステップS424において、ターミネート1ステ
ート(TERMINATE1)Nに遷移し、第2のバッファの開
放処理を行う。次に、ステップS425において、エン
コード処理マネージャ181は、イニシャライズ1ステ
ート(INITIALIZE1)Cに遷移し、第2のバッファの確
保、第2のバッファの初期化、並びにレジスタの初期化
処理を実行する。
【0175】ステップS426において、エンコード処
理マネージャ181は、イニシャライズ2ステート(IN
ITIALIZE2)Dに遷移し、第1のバッファの初期化処理
を実行する。ステップS427において、エンコード処
理マネージャ181は、レディステート(READY)Eに
戻る。エンコード処理マネージャ181は、ステップS
428において、以上の第2のパスの初期化処理によ
り、異常が回復したか否かをメインアプリケーション1
53に通知する。
【0176】メインアプリケーション153は、以上の
第2のパスの初期化処理により、エンコード処理マネー
ジャ181の異常がまだ回復しないと判定した場合、ス
テップS413において、エンコード処理マネージャ1
81に対して(INT,TRM)メッセージを出力する。
【0177】エンコード処理マネージャ181は、メイ
ンアプリケーション153から(INT,TRM)メッセージ
を受信すると、ステップS429において、ターミネー
ト1ステート(TERMINATE1)Nに遷移し、第2のバッ
ファの開放処理を行う。ステップS430において、エ
ンコード処理マネージャ181は、さらに、ターミネー
ト0ステート(TERMINATE0)Oに遷移し、第1のバッ
ファの開放処理とデバイスクローズ処理を実行する。
【0178】ステップS431において、エンコード処
理マネージャ181は、レディステート(READY)Eに
遷移し、以上の第3のパスの初期化処理により、異常が
回復したか否かを、ステップS432において、メイン
アプリケーション153に通知する。
【0179】メインアプリケーション153は、以上の
第3のパスの初期化処理により、まだ異常が回復してい
ないと判定した場合、ステップS414において、リア
ルタイムOSに再起動を要求する。
【0180】リアルタイムOSは、ステップS401にお
いて、メインアプリケーション153からの要求に基づ
いて、再起動処理を実行する。
【0181】そして、ステップS402において、リア
ルタイムOSは、再起動後、再びエンコード処理マネージ
ャ181を生成する処理を実行する。これにより、上述
した図10のステップ201乃至S205の処理によ
り、イグゼキュートステート(EXECUTE)A、イニシャ
ライズ0ステート(INITIALIZE0)B、イニシャライズ
1ステート(INITIALIZE1)C、イニシャライズ2ステ
ート(INITIALIZE2)Dの各ステートを経て、レディス
テート(READY)Eに遷移する処理が実行される。
【0182】このように、3つのパスの初期化処理を設
け、より短い処理時間ですむパスから初期化処理を順次
行うようにしたので、より迅速に、異常を回復すること
が可能となる。
【0183】レシーブステート(RECEIVE)F,L、セ
ンドステート(SEND)I,J以外のステートにおいて
は、基本的にメッセージが受信できない状態となってい
る。従って、そのようなステートにおいて、例えば、異
常が発生し、そのステートにおける処理が完了できなく
なってしまったような場合、異常な事態を回復すること
ができなくなってしまうおそれがある。また、レシーブ
ステート(RECEIVE)F,L、並びにセンドステート(S
END)I,Jにおいても異常が発生し、所定のメッセー
ジを受信したとしても、他のステートに遷移できなくな
ってしまうような場合がある。このような異常な状態が
発生した場合にも、確実に、異常を回復することができ
るようにするために、各ステートには、上述したよう
に、インタラプトのメッセージを受け付けることができ
るようになされている。
【0184】以上のように、プロセス間通信用メッセー
ジのヘッダに、MSGT=INT(INTERRUPT)を設定することに
より、UNIX(登録商標)のSIGNALシステムコールの
ように、例外信号(非同期信号)により、プロセスのス
テートをイニシャライズステート(INITIALIZE)(イニ
シャライズステート(INITIALIZE)C,D)やターミネ
ートステート(TERMINATE)(ターミネートステート(T
ERMINATE)N,O)に遷移させることができる。その結
果、環境変数などを予め退避させておくことより、遷移
前のステートへ確実に戻ることが可能となる。
【0185】図19は、本発明を適用した音楽配信サー
ビスシステムの配信側の他の構成例を示している。な
お、図中、図2における場合と対応する部分について
は、同一の符号を付してあり、以下では、その説明は、
適宜省略する。
【0186】端末200は、アラームLAN101および
メディアムLAN102に接続されており、サーバ113
から、PCM非圧縮音楽データを受け取り、それをエンコ
ードして、サーバ113に供給する。すなわち、端末2
00は、図2に示す端末111の機能に加え、エンコー
ダ112の機能をさらに備えている。
【0187】図20は、端末200の構成例を表してい
る。この端末200は、例えばコンピュータで構成され
る。CPU511にはバス515を介して入出力インター
フェース516が接続されており、CPU511は、入出
力インターフェース516を介して、ユーザから、キー
ボード、マウスなどよりなる入力部518から指令が入
力されると、例えば、ROM512、ハードディスク51
4、またはドライブ520に装着される磁気ディスク5
31、光ディスク532、光磁気ディスク533、若し
くは半導体メモリ534などの記録媒体に格納されてい
るプログラムを、RAM513にロードして実行する。さ
らに、CPU511は、その処理結果を、例えば、入出力
インターフェース516を介して、LCDなどよりなる表
示部517に必要に応じて出力する。
【0188】なお、プログラムは、ハードディスク51
4やROM512に予め記憶しておき、端末200と一体
的にユーザに提供したり、磁気ディスク531、光ディ
スク532、光磁気ディスク533,半導体メモリ53
4等のパッケージメディアとして提供したり、衛星、ネ
ットワーク等から通信部519を介してハードディスク
514に提供することができる。
【0189】半導体メモリ534は、フラッシュメモリ
などの不揮発性メモリであることが望ましい。また、半
導体メモリ534を内蔵するパッケージメディアは、マ
イクロコンピュータを内蔵し半導体メモリ534に対す
る読み書きの認証が可能なものであることが望ましい。
例えば、メモリスティック(商標)、SDメモリーカード
(商標)、コンパクトフラッシュ(商標)、スマートメ
ディア(商標)、マルチメディアカード(商標)、マイ
クロドライブ(商標)、IDフォーマット(商標)、Thum
b Drive(商標)などとすることができる。
【0190】図21は、端末200のRAM513にロー
ドされ、CPU511により実行されるプログラムの構成
例を示している。この端末200には、図2の端末11
1の制御プロセスWの他、図6のエンコーダ112の音
楽データ入出力カプセル155およびエンコード処理カ
プセル156がさらに設けられている。端末200が、
このような構成を有することより、端末111と同様の
エンコード処理の実行が可能となる。
【0191】この場合においても、制御プロセスWに対
してデータ入出力マネージャ171が行う処理は、音楽
データ入出力カプセル155としてカプセル化されてお
り、同様に、エンコード処理マネージャ181が実行す
る処理は、エンコード処理カプセル156としてカプセ
ル化されている。
【0192】また、この場合においても、上述した状態
遷移図に対応して、異常時における初期化処理を含む各
種の処理が実行される。その処理は、上述した場合と基
本的に同様であるので、その説明は省略する。
【0193】なお、本明細書において、媒体により提供
されるプログラムを記述するステップは、記載された順
序に沿って時系列的に行われる処理はもちろん、必ずし
も時系列的に処理されなくとも、並列的あるいは個別に
実行される処理をも含むものである。
【0194】また、本明細書において、システムの用語
は、複数の装置、手段などより構成される全体的な装置
を意味するものとする。
【0195】
【発明の効果】本発明によれば、プロセスの異常なステ
ートを迅速に回復することが可能となる。
【図面の簡単な説明】
【図1】従来のエンコーダの機能的構成例を示すブロッ
ク図である。
【図2】本発明を適用した音楽配信サービスシステムの
構成例を示す図である。
【図3】図2のエンコーダの構成例を示す図である。
【図4】サバイバルタイムを説明する図である。
【図5】リアルタイムOSの原理を説明する図である。
【図6】図2のエンコーダの機能的構成例を示す図であ
る。
【図7】図6におけるプロセスのATRACエンコード処理
を説明する図である。
【図8】図6におけるプロセスのMPEGエンコード処理を
説明する図である。
【図9】図6のプロセスのステートの遷移を説明する図
である。
【図10】正常時における初期化処理を説明するフロー
チャートである。
【図11】プロセス間通信用メッセージの構成を説明す
る図である。
【図12】プロセス間通信用メッセージの他の構成を説
明する図である。
【図13】プロセスの処理を説明するフローチャートで
ある。
【図14】図6のメインアプリケーションの動作を説明
するフローチャートである。
【図15】図6のエンコード処理マネージャの動作を説
明するフローチャートである。
【図16】異常時の初期化処理時におけるプロセスのス
テートの遷移を説明する図である。
【図17】異常時の初期化処理を説明するフローチャー
トである。
【図18】異常時の初期化処理を説明するアローチャー
トである。
【図19】本発明を適用した音楽配信サービスシステム
の他の構成例を示す図である。
【図20】図19の端末の構成例を示すブロック図であ
る。
【図21】図19の端末の機能的構成例を示すブロック
図である。
【符号の説明】
101 アラームLAN, 102 メディアムLAN, 1
11 端末, 112エンコーダ, 113 サーバ,
121 CPU, 122 ROM, 123RAM, 12
4,125 ネットワークカード, 126 エンコー
ドカード,127 ハードディスク, 151 カプセ
ルマネージャ, 152 エンコード制御アプリケーシ
ョン, 153 メインアプリケーション, 154
制御データ入出力カプセル, 155 音楽データ入出
力カプセル, 156 エンコード処理カプセル, 1
61 エンコード制御マネージャ, 162 ネットワ
ークカード入力I/F, 163 ネットワークカード出
力I/F, 164 ネットワークカードドライバ, 1
71 データ入出力マネージャ, 172 ネットワー
クカード入出力I/F, 173 ネットワークカードド
ライバ, 181 エンコード処理マネージャ, 18
2,183 エンコードエンジン入出力I/F, 184
エンコードエンジン, 185 エンコードカード入
出力I/F,186 エンコードカード入出力I/F, 18
7 エンコードカードドライバ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 制御部とハードウエアとの間に位置し、
    上記制御部からのメッセージに基づいて上記ハードウエ
    アを制御するカプセル化されたプロセスを含むプログラ
    ムにおいて、 上記プロセスに異常が生じたとき、当該プロセスは、 上記ハードウェアとのデータの授受に用いられる第1の
    バッファを初期化する第1のパス、 上記制御部とのデータの授受に用いられる第2のバッフ
    ァの開放し、上記第2のバッファの確保し、上記第2の
    バッファの初期化し、および上記第1のバッファの初期
    化する第2のパス、 および上記第2のバッファの開放
    し、および上記第1のバッファの開放する第3のパスの
    いずれかにより初期化されるコンピュータ制御可能なプ
    ログラムが記憶される記憶媒体。
  2. 【請求項2】 請求項1において、 上記プロセスが上記第1のパスにより初期化された場合
    においても当該プロセスの異常が回復しないとき、 上記プロセスは上記第2のパスにより初期化されるコン
    ピュータ制御可能なプログラムが記憶される記憶媒体。
  3. 【請求項3】 請求項2において、 上記プロセスが上記第2のパスにより初期化された場合
    においても当該プロセスの異常が回復しないとき、 上記プロセスは上記第3のパスにより初期化されるコン
    ピュータ制御可能なプログラムが記憶される記憶媒体。
  4. 【請求項4】 請求項1において、 上記制御部からのメッセージのメッセージタイプが割り
    込み、メッセージナンバがQUITのとき、上記プロセス
    は、上記第1のパスの初期化が実行されるコンピュータ
    制御可能なプログラムが記憶される記憶媒体。
  5. 【請求項5】 請求項1において、 上記制御部からのメッセージのメッセージタイプが割り
    込み、メッセージナンバがRESETのとき、上記プロセス
    は、上記第2のパスの初期化が実行されるコンピュータ
    制御可能なプログラムが記憶される記憶媒体。
  6. 【請求項6】 請求項1において、 上記プロセスは、リプライステート、マネージステー
    ト、センドステート、レシーブステート、レディステー
    トの各ステートをさらに備えるコンピュータ制御可能な
    プログラムが記憶される記憶媒体。
  7. 【請求項7】 制御部とハードウエアとの間に位置し、
    上記制御部からのメッセージに基づいて上記ハードウエ
    アを制御するカプセル化されたプロセスを含むプログラ
    ムにおいて、上記プロセスに異常が生じたとき、当該プ
    ロセスは、 上記プロセスが生成されるとき遷移する第1の初期化ス
    テートを含む第1のパス、 上記プロセスが終了するとき遷移する第1の終了ステー
    ト、当該プロセスが生成されるとき遷移する第2の初期
    化ステート、並びに上記第1の初期化ステートを含む第
    2のパス、および上記第1の終了ステート、および上記
    プロセスが終了するとき遷移する第2の終了ステートを
    含む第3のパスのいずれかにより初期化されるコンピュ
    ータ制御可能なプログラムが記憶される記憶媒体。
  8. 【請求項8】 制御部とハードウエアとの間に位置し、
    上記制御部からのメッセージに基づいて上記ハードウエ
    アを制御するカプセル化されたプロセスを含むプログラ
    ムに基づき処理を行う情報処理装置において、 上記プロセスに異常が生じたとき、上記プロセスが生成
    されるとき遷移する第1の初期化ステートを含む第1の
    初期化手段と、 上記プロセスが終了するとき遷移する第1の終了ステー
    ト、当該プロセスが生成されるとき遷移する第2の初期
    化ステート、並びに上記第1の初期化ステートを含む第
    2の初期化手段と、 上記第1の終了ステート、および上記プロセスが終了す
    るとき遷移する第2の終了ステートを含む第3の初期化
    手段とを備える情報処理装置。
  9. 【請求項9】 制御部とハードウエアとの間に位置し、
    上記制御部からのメッセージに基づいて上記ハードウエ
    アを制御するカプセル化されたプロセスを含むプログラ
    ムに基づき処理を行う情報処理方法において、 上記プロセスに異常が生じたとき、上記プロセスが生成
    されるとき遷移する第1の初期化ステートを含む第1の
    初期化ステップと、 上記プロセスが終了するとき遷移する第1の終了ステー
    ト、当該プロセスが生成されるとき遷移する第2の初期
    化ステート、並びに上記第1の初期化ステートを含む第
    2の初期化ステップと、 上記第1の終了ステート、および上記プロセスが終了す
    るとき遷移する第2の終了ステートを含む第3の初期化
    ステップとを備える情報処理方法。
JP2000325219A 1999-10-29 2000-10-25 記憶媒体、情報処理装置および方法 Withdrawn JP2001209553A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000325219A JP2001209553A (ja) 1999-10-29 2000-10-25 記憶媒体、情報処理装置および方法
EP06075008A EP1645966A1 (en) 1999-10-29 2000-10-27 Storage medium, information processing apparatus, and method
US09/869,658 US6792476B1 (en) 1999-10-29 2000-10-27 Storage medium, and method and apparatus for information processing
PCT/JP2000/007549 WO2001033372A1 (fr) 1999-10-29 2000-10-27 Support de stockage et procede et dispositif de traitement d'informations
EP00970140A EP1143341A4 (en) 1999-10-29 2000-10-27 STORAGE MEDIUM AND METHOD AND DEVICE FOR PROCESSING INFORMATION
CN008028540A CN1218254C (zh) 1999-10-29 2000-10-27 信息处理设备和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP30867499 1999-10-29
JP11-308674 1999-10-29
JP2000325219A JP2001209553A (ja) 1999-10-29 2000-10-25 記憶媒体、情報処理装置および方法

Publications (1)

Publication Number Publication Date
JP2001209553A true JP2001209553A (ja) 2001-08-03

Family

ID=26565641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000325219A Withdrawn JP2001209553A (ja) 1999-10-29 2000-10-25 記憶媒体、情報処理装置および方法

Country Status (1)

Country Link
JP (1) JP2001209553A (ja)

Similar Documents

Publication Publication Date Title
US7080386B2 (en) Architecture with digital signal processor plug-ins for general purpose processor media frameworks
JP3774538B2 (ja) パーソナルコンピュータ回路、コンピュータシステム、及びその動作方法
CN100474281C (zh) 用于计算设备的低功耗数字音频解码/播放系统
JP2008512734A (ja) マルチメディアコンテンツ管理システム
US20060009981A1 (en) Resource saving preemption
JPH10283198A (ja) コンピュータ・オペレーティング・システムにおけるカーネル・モード動作のユーザ・モード・プロキシ
US20060282571A1 (en) Multimedia devices with enhanced functionality
CN106528133B (zh) 一种应用于多系统的设备请求处理方法及装置
JPH07287702A (ja) ディジタル信号プロセッサに関するタスク管理システム及び方法
JP2010288301A (ja) ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
US20160335126A1 (en) Deterministic real time business application processing in a service-oriented architecture
JP4199678B2 (ja) ハイバネーションを使用したクライアントコンピューターのオペレーティングシステムのネットワークブーティングのためのシステム及び方法
JP3001537B1 (ja) リモートコンピュータのブートシステムのブート方法
JP2001209553A (ja) 記憶媒体、情報処理装置および方法
JP2001202087A (ja) 記憶媒体、情報処理装置および方法
WO2001033372A1 (fr) Support de stockage et procede et dispositif de traitement d'informations
JP2004310615A (ja) プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム
WO2004099984A1 (ja) プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム
JP2003316585A (ja) 端末装置、プロセス監視方法、及びプログラム
JP2004272764A (ja) コンピュータシステムの機能拡張方法
JP2006524973A (ja) ポータブルデバイスにおけるカメラリソースを制御するシステム
JP2003348515A (ja) 映像システム、映像機器、ソフトウェアのインストール方法、この方法を実行するプログラム、及びこのプログラムを記憶した記録媒体
KR100962614B1 (ko) 저 레벨 계층을 고객 소프트웨어 프로그램에 개방하는메인 소프트웨어 프로그램과 저 레벨 계층을 구동하는무선통신 모듈
CN113542706B (zh) 跑步机的投屏方法、装置、设备及存储介质
JP2011048844A (ja) 非同期通信技術

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108