(57)【要約】  【課題】  メディア処理機能を実現するシステム間でのストリームデータ送受信において、バッファの使用効率を高めて、リソースを有効利用可能にする。  【解決手段】  ホストＣＰＵ２０とメディア処理プロセッサ３０との間で、ストリームデータの送受信を行う。通信路を構成する通信用メモリ領域は共有メモリ４０に確保される。キュー制御部３１は通信路の使用状況を監視し、未使用状態が所定期間継続したときキューの解放を要求する。キュー管理部２０２はキュー制御部３１からキューの解放を要求されたとき、共有メモリ４０における通信用メモリ領域の少なくとも一部を解放する。【選択図】  図１
2005136583.tif 000002
【特許請求の範囲】
【請求項１】
メディア処理プロセッサを含む複数のシステムを有し、これらのシステム間で、キュー構造を有する通信路を用いてストリームデータの送受信を行うメディア処理装置であって、
前記通信路を構成する通信用メモリ領域を確保するためのメモリと、
前記通信路の使用状況を監視し、未使用状態が所定期間継続したとき、キューの解放を要求するキュー制御部と、
前記キュー制御部からキューの解放を要求されたとき、前記メモリにおける通信用メモリ領域の少なくとも一部を、解放するキュー管理部とを備えた
ことを特徴とするメディア処理装置。
【請求項２】
請求項１において、
前記キュー制御部は、前記所定時間を、当該送受信の通信特性情報を用いて設定するものである
ことを特徴とするメディア処理装置。
【請求項３】
請求項１において、
前記ストリームデータのサイズと当該送受信の通信特性情報とを基にして、データ転送期間を予測する転送期間予測部を備え、
前記キュー制御部は、前記転送期間予測部によって予測されたデータ転送期間内において、キューの解放の要求を止めるものである
ことを特徴とするメディア処理装置。
【請求項４】
請求項１において、
前記キュー制御部は、キューの解放を要求する際に、解放せずに残すキューの個数を指示するものであり、
前記キュー管理部は、前記キュー制御部からキューの解放を要求されたとき、指示された個数のキューに相当する分以外の通信用メモリ領域を解放するものである
ことを特徴とするメディア処理装置。
【請求項５】
メディア処理を行うメディアモジュールを有するメディア処理プロセッサを含む，複数のシステムを有し、これらのシステム間で、キュー構造を有する通信路を用いてストリームデータの送受信を行うメディア処理装置であって、
前記通信路を構成する通信用メモリ領域を確保するためのメモリと、
前記メディアモジュールの内部状態に応じた通信路の使用の有無を表す通信路使用条件データベースと、
前記メディアモジュールの内部状態を監視し、前記通信路使用条件データベースを参照して、使用しない通信路があるか否かを判定し、使用しない通信路があると判定したとき、キューの解放を要求するキュー制御部と、
前記キュー制御部からキューの解放を要求されたとき、前記メモリにおける通信用メモリ領域の少なくとも一部を解放するキュー管理部とを備えた
ことを特徴とするメディア処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリームデータの送受信に関するものであり、特に、システム間の通信路を構成する通信路用メモリを効率的に利用可能にする技術に属する。
【背景技術】
【０００２】
従来、複数の通信路を用いてデータ送受信を行うシステムにおいて、通信路に用いるバッファを割当て、管理する方法として、通信路の初期化時に、プロトコル種別に応じて静的にリソース割当てを行うものがあった（例えば、特許文献１参照）。
【特許文献１】特開平５−２６８２９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の従来技術では、通信路の初期化時にプロトコル種別に応じて通信路の最適なバッファ数が獲得されてしまうため、実際にはデータの送受信が行われていないときでも、バッファが確保された状態となり、リソースの有効活用が妨げられる、という問題があった。
【０００４】
前記の問題に鑑み、本発明は、メディア処理機能を実現するシステム間でのストリームデータの送受信において、バッファの使用効率を高めて、リソースを有効利用可能にすることを課題とする。
【課題を解決するための手段】
【０００５】
前記の課題を解決するために、本発明は、通信路の使用状況を監視し、未使用期間が所定期間続いた場合に通信路のバッファを一時的に解放したり、またメディアモジュールの内部状態遷移を観察し、通信路を必要としない内部状態の場合に、通信路のバッファを一時的に解放するものである。
【０００６】
具体的には第１の発明は、メディア処理プロセッサを含む複数のシステムを有し、これらのシステム間で、キュー構造を有する通信路を用いてストリームデータの送受信を行うメディア処理装置として、前記通信路を構成する通信用メモリ領域を確保するためのメモリと、前記通信路の使用状況を監視し、未使用状態が所定期間継続したときキューの解放を要求するキュー制御部と、前記キュー制御部からキューの解放を要求されたとき、前記メモリにおける通信用メモリ領域の少なくとも一部を解放するキュー管理部とを備えたものである。
【０００７】
本発明によると、通信路の未使用状態が所定期間継続したとき、キュー制御部によってキューの解放が要求され、キュー管理部によって、メモリにおける通信用メモリ領域の少なくとも一部が解放される。すなわち、通信路の未使用状態が所定期間継続した場合は、ストリームデータの送受信が終了したものと考えられるので、このような場合に、通信用メモリ領域を解放する。これにより、メモリ資源を有効利用することができる。
【０００８】
前記第１の発明に係るメディア処理装置におけるキュー制御部は、前記所定時間を、当該送受信の通信特性情報を用いて設定するのが好ましい。
【０００９】
また、前記第１の発明に係るメディア処理装置は、前記ストリームデータのサイズと当該送受信の通信特性情報とを基にして、データ転送期間を予測する転送期間予測部を備え、前記キュー制御部は、前記転送期間予測部によって予測されたデータ転送期間内においてキューの解放の要求を止めるのが好ましい。これにより、通信路を断続的に使用する状況であっても、不必要なメモリの解放を行わないようにすることができる。
【００１０】
また、前記第１の発明に係るメディア処理装置において、前記キュー制御部は、キューの解放を要求する際に解放せずに残すキューの個数を指示するものであり、前記キュー管理部は、前記キュー制御部からキューの解放を要求されたとき、指示された個数のキューに相当する分以外の通信用メモリ領域を解放するのが好ましい。これにより、次にキューの生成要求があったときに、キューの生成を待たずにストリームデータの送信を開始できる。
【００１１】
また、第２の発明は、メディア処理を行うメディアモジュールを有するメディア処理プロセッサを含む複数のシステムを有し、これらのシステム間で、キュー構造を有する通信路を用いてストリームデータの送受信を行うメディア処理装置として、前記通信路を構成する通信用メモリ領域を確保するためのメモリと、前記メディアモジュールの内部状態に応じた通信路の使用の有無を表す通信路使用条件データベースと、前記メディアモジュールの内部状態を監視し、前記通信路使用条件データベースを参照して、使用しない通信路があるか否かを判定し、使用しない通信路があると判定したとき、キューの解放を要求するキュー制御部と、前記キュー制御部からキューの解放を要求されたとき、前記メモリにおける通信用メモリ領域の少なくとも一部を解放するキュー管理部とを備えたものである。
【００１２】
本発明によると、メディアモジュールの内部状態がキュー制御部によって監視され、キュー制御部は通信路使用条件データベースを参照して、通信路の使用／未使用を判定する。そして、使用しない通信路があると判定されたとき、キュー管理部によって、メモリにおける通信用メモリ領域の少なくとも一部が解放される。これにより、予め使用されないことが確定している通信路を解放することができるので、メモリ資源を有効利用することができる。
【発明の効果】
【００１３】
本発明によると、通信路の使用状態や、メディアモジュールの内部状態遷移に応じて、通信路を構成する通信用メモリ領域を、動的に解放することができる。これにより、バッファの使用効率が高まり、リソースを有効に活用することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００１５】
（第１の実施形態）
図１は本発明の第１の実施形態に係るメディア処理装置の構成の一例を示すブロック図である。図１において、太実線の矢印はストリームデータの流れを表し、実線の矢印は制御の流れを表す。またブロック矢印はバスを表す。
【００１６】
図１に示すメディア処理装置１０は、入力デバイス６０に受けた指示信号に従って、記録メディア６１に格納された音楽データをスピーカー６３によって再生したり、または、マイク６４に入力された音声情報を記録メディア６１に蓄積したりする。そして、メディア処理装置１０は、メディア処理を必要とする少なくとも１つのアプリケーション２０１を有するホストＣＰＵ２０と、ホストＣＰＵ２０上のアプリケーション２０１からの要求を受けてメディア処理を行う少なくとも１つのメディアモジュール３０１を有するメディア処理プロセッサ３０と、共有メモリ４０とを備えている。
【００１７】
システムとしてのホストＣＰＵ２０およびメディア処理プロセッサ３０は、システムバス５０を介して、ストリームデータの送受信を行う。このデータ送受信はキュー構造を有する通信路を用いて実行され、この通信路は、共有メモリ４０に確保された通信用メモリ領域によって構成される。すなわち共有メモリ４０は、メディア処理に必要なストリームデータの通信を行うための通信路用メモリプール４０１を有している。そして、図１のメディア処理装置１０は、通信路の動的な確保および解放が実施可能に構成されている。
【００１８】
メディア処理プロセッサ３０は、メディアモジュール３０１の他に、キュー構造を用いた通信路の使用状況を監視するキュー監視部３０２と、通信路の未使用期間を計測するタイマ部３０３と、キュー解放およびキュー確保を要求するキュー制御指示部３０４と、メディア処理毎の通信特性情報を用いてタイマ部３０３に計測時間を設定するメディアモジュール情報観測部３０５とを備えている。キュー監視部３０２、タイマ部３０３、キュー制御指示部３０４およびメディアモジュール情報観測部３０５によって、本発明に係るキュー制御部が構成されている。
【００１９】
ホストＣＰＵ２０は、アプリケーション２０１の他に、共有メモリ４０における通信用メモリ領域の解放および確保を管理するキュー管理部２０２を備えている。キュー管理部２０２は、キュー制御指示部３０４からキュー解放要求を受けたとき、通信路用キューを共有メモリ４０の通信路用メモリプール４０１に返却し、キュー制御指示部３０４からキュー確保要求を受けたとき、通信路用メモリプール４０１から通信用メモリ領域を確保する。
【００２０】
図１のメディア処理装置１０の動作を、具体的に説明する。アプリケーション２０１は、入力デバイス６０からオーディオ再生開始の信号を受けると（１）、メディアモジュール３０１に再生開始を指示する（２）。再生されるオーディオストリームデータは、アプリケーション２０１によって記録メディア６１から取得され、共有メモリ４０上の通信路にキューイングされる。メディアモジュール３０１はオーディオストリームデータを通信路からデキューして、メディア処理を施した後、スピーカー６３から出力する。
【００２１】
メディアモジュール３０１は、アプリケーション２０１から再生指示されたデータ形式を基にして、ストリームデータのビットレートを通信特性情報として求め、これをメディアモジュール情報観測部３０５に伝える（３）。メディアモジュール情報観測部３０５は伝えられたビットレートを用いて、タイマ部３０３に所定期間としての計測時間をセットする（４）。
【００２２】
キュー監視部３０２は通信路のキュー構造を監視し（５）、キューが未使用であるときはタイマ部３０３に計測開始を指示し、キューが使用されたときはタイマ部３０３に計測中止を指示する（６）。タイマ部３０３はキュー監視部３０２からの計測開始の指示を受けて計測を開始し、計測中止の指示を受けて計測を終了する。そして、計測中にメディアモジュール情報観測部３０５によって設定された計測時間を経過したとき、キュー制御指示部３０４に計測時間経過の通知を行う（７）。キュー制御指示部３０４は、タイマ部３０３から計測時間経過の通知を受けると、キュー管理部２０２にキュー解放を要求する（８）。すなわち、キュー制御部３１によって、通信路の未使用状態が所定期間継続したとき、キューの解放が要求される。
【００２３】
キュー管理部２０２は、キュー制御指示部３０４からキュー解放要求を受けたとき、共有メモリ４０の通信路用メモリプール４０１に該当キューの通信用メモリ領域を返却する（９）。また、キューの生成要求を受けたときは、共有メモリ４０の通信路用メモリプール４０１からキューの通信用メモリ領域を取得する（１０）。
【００２４】
以上のように本実施形態によると、通信路の使用状況を監視し、未使用期間を計測して、未使用状態が所定期間継続した場合、ストリームデータの送信が終了したと判断し、未使用のキューのメモリ領域を動的に解放する。これにより、通信途中においても他の用途にメモリ領域を割り当てることが可能となり、少ないメモリ資源を有効利用することができる。
【００２５】
図２は本実施形態における通信路の使用状況、タイマ部３０３の動作、およびメモリ使用量の時間的な推移の一例を示す図である。通信路が不要（Ｅｍｐｔｙ）になると（１）、タイマ部３０３は計測を開始し、計測開始から所定時間ｎが経過すると（２）、キューが解放され、メモリの使用量が減る。通信路が必要（Ｎｏｔ  Ｅｍｐｔｙ）になると（３）、タイマ部３０３は計測を終了し、キューが再生成される。このようにして、通信路の未使用期間にメモリ使用量を削減することができる。
【００２６】
なお、本実施形態において、キュー管理部２０２はホストＣＰＵ２０に設けられているものとしたが、メディア処理プロセッサ３０に設けてもよい。また、キュー制御部３１はメディア処理プロセッサ３０に設けられているものとしたが、ホストＣＰＵ２０に設けてもよい。
【００２７】
（第２の実施形態）
図３は本発明の第２の実施形態に係るメディア処理装置の構成の一例を示すブロック図である。図３では、図１と共通の構成要素には図１と同一の符号を付しており、ここではその詳細な説明を省略する。図３のメディア処理装置１０Ａでは、ホストＣＰＵ２０Ａが、さらに、ストリームデータの転送期間を予測する転送期間予測部としてのストリーム特性観測部２０３を備えている。ストリーム特性観測部２０３はストリームデータのサイズとビットレートとを基にして、データ転送期間を予測する。そしてキュー制御部３１Ａは、予測されたデータ転送期間内において、キューの解放の要求を止める。
【００２８】
図３のメディア処理装置１０Ａの動作を、具体的に説明する。アプリケーション２０１は、入力デバイス６０からオーディオ再生開始の信号を受けると（１）、メディアモジュール３０１に再生開始を指示する（２）。再生されるオーディオストリームデータは、アプリケーション２０１によって記録メディア６１から取得され、共有メモリ４０上の通信路にキューイングされる。メディアモジュール３０１はオーディオストリームデータを通信路からデキューして、メディア処理を施した後、スピーカー６３から出力する。
【００２９】
このとき、アプリケーション２０１は記録メディア６１から取得したオーディオストリームデータの送信データサイズをストリーム特性観測部２０３に伝える（３）。また、メディアモジュール３０１は、アプリケーション２０１から再生指示されたデータ形式を基にして、ストリームデータのビットレートを通信特性情報として求め、これをメディアモジュール情報観測部３０５に伝える（３）。メディアモジュール情報観測部３０５は伝えられたビットレートを用いて、タイマ部３０３に所定期間としての計測時間をセットするとともに、ストリーム特性観測部２０３にビットレートを伝える（４）。
【００３０】
ストリーム特性観測部２０３は、送信データのデータサイズとビットレートとから、ストリームデータがアプリケーション２０１からメディアモジュール３０１へ転送される転送期間の予測を行い、予測したデータ転送期間をキュー監視部３０２Ａに伝える（５）。
【００３１】
キュー監視部３０２Ａは通信路のキュー構造を監視し（５）、キューが未使用であり、かつ、ストリーム特性観測部２０３が予測したデータ転送期間外であるときは、タイマ部３０３に計測開始を指示し、キューが使用されたときはタイマ部３０３に計測中止を指示する（６）。タイマ部３０３はキュー監視部３０２からの計測開始の指示を受けて計測を開始し、計測中止の指示を受けて計測を終了する。そしてタイマ部３０３は、計測中にメディアモジュール情報観測部３０５によって設定された計測時間を経過したとき、キュー制御指示部３０４に計測時間経過の通知を行う（７）。キュー制御指示部３０４は、タイマ部３０３から計測時間経過の通知を受けると、キュー管理部２０２にキュー解放を要求する（８）。すなわち、キュー制御部３１Ａによって、予測されたデータ転送期間外において、通信路の未使用状態が所定期間継続したとき、キューの解放が要求される。
【００３２】
キュー管理部２０２は、キュー制御指示部３０４からキュー解放要求を受けたとき、共有メモリ４０の通信路用メモリプール４０１に該当キューの通信用メモリ領域を返却する（９）。また、キューの生成要求を受けたときは、共有メモリ４０の通信路用メモリプール４０１からキューのメモリ領域を取得する（１０）。
【００３３】
以上のように本実施形態によると、第１の実施形態の効果に加え、予測したデータ転送期間内においてキューの解放の要求を止めることにより、通信路を断続的に使用する状況であっても、ストリームデータ送信の終了を適切に判断できる。したがって、不必要なメモリの解放を行わないようにすることができる。
【００３４】
図４は本実施形態における通信路の使用状況、予測されたデータ転送期間、タイマ部３０３の動作、およびメモリ使用量の時間的な推移の一例を示す図である。通信路がＥｍｐｔｙになり、かつ予測ストリーム転送がＥｍｐｔｙである場合（１）、タイマ部３０３は計測を開始し、計測開始から所定時間ｎが経過すると（２）、キューが解放され、メモリの使用量が減る。通信路が必要（Ｎｏｔ  Ｅｍｐｔｙ）になると（３）、タイマ部３０３は計測を終了し、キューが再生成される。一方、通信路がＥｍｐｔｙとなったが、予測ストリーム転送がＮｏｔ  Ｅｍｐｔｙであった場合（４）、タイマ部３０３は計測を開始しない。このようにして、ストリームデータの送信中は通信路を確保し、ストリームデータの未送信期間にメモリ使用量を削減することができる。
【００３５】
なお、本実施形態において、キュー管理部２０２とストリーム特性観測部２０３はホストＣＰＵ２０Ａに設けられているものとしたが、メディア処理プロセッサ３０Ａに設けてもよい。また、キュー制御部３１Ａはメディア処理プロセッサ３０Ａに設けられているものとしたが、ホストＣＰＵ２０Ａに設けてもよい。
【００３６】
（第３の実施形態）
図５は本発明の第３の実施形態に係るメディア処理装置の構成の一例を示すブロック図である。図５では、図１と共通の構成要素には図１と同一の符号を付しており、ここではその詳細な説明を省略する。図５のメディア処理装置１０Ｂでは、キュー制御指示部３０４Ｂは、キューの解放を要求する際に、解放せずに残すキューの個数を指示する。そしてキュー管理部２０２Ｂは、キュー制御部３０４Ｂからキューの解放を要求されたとき、指示された個数のキューに相当する分以外の通信用メモリ領域を解放する。
【００３７】
図５のメディア処理装置１０Ｂの動作を、具体的に説明する。アプリケーション２０１は、入力デバイス６０からオーディオ再生開始の信号を受けると（１）、メディアモジュール３０１に再生開始を指示する（２）。再生されるオーディオストリームデータは、アプリケーション２０１によって記録メディア６１から取得され、共有メモリ４０上の通信路にキューイングされる。メディアモジュール３０１はオーディオストリームデータを通信路からデキューして、メディア処理を施した後、スピーカー６３から出力する。
【００３８】
このとき、メディアモジュール３０１は、ストリームデータのビットレートをメディアモジュール情報観測部３０５Ｂに伝える（３）。メディアモジュール情報観測部３０５Ｂは、伝えられたビットレートを用いて、タイマ部３０３に計測時間をセットするとともに、キュー制御指示部３０４Ｂにキュー取得間隔を伝える（４）。
【００３９】
キュー監視部３０２は通信路のキュー構造を監視し（５）、キューが未使用であるときはタイマ部３０３に計測開始を指示し、キューが使用されたときはタイマ部３０３に計測中止を指示する（６）。タイマ部３０３はキュー監視部３０２の計測開始の指示を受けて計測を開始し、計測中止の指示を受けて計測を終了する。そしてタイマ部３０３は、計測中にメディアモジュール情報観測部３０５Ｂによって設定された計測時間を経過したとき、キュー制御指示部３０４Ｂに計測時間経過の通知を行う（７）。キュー制御指示部３０４Ｂは、タイマ部３０３から計測時間経過の通知を受けると、キュー管理部２０２Ｂにキュー解放を要求する。このとき、キューの生成にかかる時間をメディアモジュール情報観測部３０５Ｂから受け取ったキュー取得間隔で除することによって得られる値を、最小キュー数として求め、この最小キュー数も併せてキュー管理部２０２Ｂに伝える（８）。すなわち、キュー制御部３１Ｂによって、キューの解放を要求する際に、解放せずに残すキューの個数が指示される。
【００４０】
キュー管理部２０２Ｂは、キュー制御指示部３０４Ｂからキュー解放要求を受けたとき、共有メモリ４０の通信路用メモリプール４０１に該当キューの最小キュー数を越える部分の通信用メモリ領域を返却する（９）。また、キューの生成要求を受けたときは、共有メモリ４０の通信路用メモリプール４０１からキューのメモリ領域を取得する（１０）。
【００４１】
以上のように本実施形態によると、第１の実施形態の効果に加え、キューの解放の際に、一部の通信用メモリ領域が残されるため、キューの生成要求があったときに、キューの生成を待たずにストリームデータの送信を開始できる。したがって、メモリの解放後のデータ送信開始に要する時間を削減できる。
【００４２】
図６は本実施形態における通信路の使用状況、タイマ部３０３の動作、およびメモリ使用量の時間的な推移の一例を示す図である。通信路がＥｍｐｔｙになると（１）、タイマ部３０３は計測を開始し、計測開始から所定時間ｎが経過すると（２）、一部のキューが解放され、メモリの使用量が減る。通信路が必要（Ｎｏｔ  Ｅｍｐｔｙ）になると（３）、タイマ部３０３は計測を終了し、キューの再生成が開始されると同時に、解放されなかったキューを利用してストリームデータの送信を行う。このように、通信路の未使用時に通信路の一部のキューを残して解放することによって、ストリームデータの未送信期間にメモリ使用量を削減し、また、ストリームデータの送信が突然開始された場合でも、直ちに通信を再開することができる。
【００４３】
なお、本実施形態において、キュー管理部２０２ＢはホストＣＰＵ２０Ｂに設けられているものとしたが、メディア処理プロセッサ３０Ｂに設けてもよい。また、キュー制御部３１Ｂはメディア処理プロセッサ３０Ｂに設けられているものとしたが、ホストＣＰＵ２０Ｂに設けてもよい。さらに、本実施形態を上述の第２の実施形態と組み合わせて実施してもよい。
【００４４】
（第４の実施形態）
図７は本発明の第４の実施形態に係るメディア処理装置の構成の一例を示すブロック図である。図７では、図１と共通の構成要素には図１と同一の符号を付しており、ここではその詳細な説明を省略する。図７のメディア処理装置１０Ｃでは、メディア処理プロセッサ３０Ｃが、メディアモジュール３０１の内部状態変化を観測するメディアモジュール情報観測部３０５Ｃと、メディアモジュール３０１の内部状態による通信路の使用条件を保持する通信路使用条件データベース３０６と、通信路使用条件データベース３０６の情報とメディアモジュール状態観測部３０５Ｃによって観測されたメディアモジュール３０１の内部状態とを用いて、キュー解放を判断し、指示するキュー制御指示部３０４Ｃとを備えている。キュー制御指示部３０４Ｃおよびメディアモジュール情報観測部３０５Ｃによって、本発明に係るキュー制御部３１Ｃが構成されている。通信路使用条件データベース３０６ではメディアモジュール３０１の内部状態に応じた各通信路の使用の有無が表されており、キュー制御部３１Ｃは、通信路使用条件データベース３０６を参照して使用しない通信路があるか否かを判定し、使用しない通信路があると判定したとき、キューの解放を要求する。
【００４５】
図７のメディア処理装置１０Ｃの動作を、具体的に説明する。アプリケーション２０１は、入力デバイス６０からオーディオ再生開始の信号を受けると（１）、メディアモジュール３０１に再生開始を指示する（２）。再生されるオーディオストリームデータは、アプリケーション２０１によって記録メディア６１から取得され、共有メモリ４０上の通信路にキューイングされる。メディアモジュール３０１はオーディオストリームデータを通信路からデキューして、メディア処理を施した後、スピーカー６３から出力する。
【００４６】
また、アプリケーション２０１は、入力デバイス６０から音声録音開始の信号を受けると（１）、メディアモジュール３０１に録音開始を指示する（２）。録音される音声ストリームデータは、メディアモジュール３０１によってマイク６４から取得され、メディア処理が施された後、共有メモリ４０上の通信路にキューイングされる。アプリケーション２０１は音声ストリームデータを通信路からデキューして記録メディア６１に書き込む。
【００４７】
メディアモジュール３０１は、オーディオ再生開始の指示を受けると、内部状態をオーディオ再生状態に遷移させ、音声録音開始の指示を受けると、内部状態を音声録音状態に遷移させる。そしてメディアモジュール３０１は、自身の内部状態の遷移をメディアモジュール情報観測部３０５Ｃに伝え（３）、メディアモジュール情報観測部３０５Ｃは、メディアモジュール３０１の内部状態遷移をキュー制御指示部３０４Ｃに伝える（４）。キュー制御指示部３０４Ｃは、受け取った内部状態を、通信路使用条件データベース３０６に保持された内部状態毎の使用通信路情報と比較し、使用しない通信路の解放と使用する通信路の生成をキュー管理部２０２に要求する（５）。
【００４８】
キュー管理部２０２は、キュー制御指示部３０４Ｃからキュー解放要求を受けたときは、共有メモリ４０上の通信路用メモリプール４０１に該当キューのメモリ領域を返却し（６）、キューの生成要求を受けたときは、共有メモリ４０上の通信路用プール４０１からキューのメモリ領域を取得する（７）。
【００４９】
以上のように本実施形態によると、メディアモジュールの内部状態遷移を監視し、データベースと比較して、その内部状態での通信路の使用／未使用を確定する。これにより、予め使用されないことが確定している通信路を解放することができるので、少ないメモリ資源を有効利用することができる。
【００５０】
図８は本実施形態におけるメディアモジュール内部状態、通信路１、通信路２の使用状況、およびメモリ使用量（ハッチを付した部分は通信路２用の使用量）の時間的な推移の一例を示す図である。図８では、メディアモジュール３０１の状態１では通信路は使用されず、状態２では通信路１のみが使用され、状態３では通信路２のみが使用されるものとしている。メディアモジュール３０１の内部状態が状態１の間は通信路１、通信路２とも解放されており、状態２になると通信路１が生成される。メディアモジュール３０１の内部状態が遷移して状態１になると、通信路１は解放され、状態３に遷移すると通信路２が生成される。このようにして、メディアモジュールの内部状態遷移に応じて通信路のメモリ使用量が削減される。
【００５１】
なお、本実施形態において、キュー管理部２０２はホストＣＰＵ２０に設けられているものとしたが、メディア処理プロセッサ３０Ｃに設けてもよい。また、キュー制御部３１Ｃおよび通信路使用条件データベース３０６はメディア処理プロセッサ３０Ｃに設けられているものとしたが、ホストＣＰＵ２０に設けてもよい。
【産業上の利用可能性】
【００５２】
本発明に係るメディア処理装置は、通信路を構成するバッファの使用効率が高く、リソースを有効に活用することができるので、例えば、より安価でより機能が豊富な音声再生記録装置を実現することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施形態に係るメディア処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるメモリ使用量削減の効果を示すグラフである。
【図３】本発明の第２の実施形態に係るメディア処理装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態におけるメモリ使用量削減の効果を示すグラフである。
【図５】本発明の第３の実施形態に係るメディア処理装置の構成を示すブロック図である。
【図６】本発明の第３の実施形態におけるメモリ使用量削減の効果を示すグラフである。
【図７】本発明の第４の実施形態に係るメディア処理装置の構成を示すブロック図である。
【図８】本発明の第４の実施形態におけるメモリ使用量削減の効果を示すグラフである。
【符号の説明】
【００５４】
１０，１０Ａ，１０Ｂ，１０Ｃ  メディア処理装置
２０，２０Ａ，２０Ｂ  ホストＣＰＵ（システム）
３０，３０Ａ，３０Ｂ，３０Ｃ  メディア処理プロセッサ（システム）
３１，３１Ａ，３１Ｂ，３１Ｃ  キュー制御部
４０  共有メモリ（メモリ）
５０  システムバス
２０２，２０２Ｂ  キュー管理部
２０３  ストリーム特性観測部（転送期間予測部）
３０２，３０２Ａ  キュー監視部
３０３  タイマ部
３０４，３０４Ｂ，３０４Ｃ  キュー制御指示部
３０５，３０５Ｂ，３０５Ｃ  メディアモジュール情報観測部
３０６  通信路使用条件データベース
【図１】
2005136583.tif 000003
【図２】
2005136583.tif 000004
【図３】
2005136583.tif 000005
【図４】
2005136583.tif 000006
【図５】
2005136583.tif 000007
【図６】
2005136583.tif 000008
【図７】
2005136583.tif 000009
【図８】
2005136583.tif 000010