(57)【要約】【課題】アプリケーション層を介さずに、カーネル層内でデータを転送することができるようにする。【解決手段】  データ転送管理機構６２は、記憶デバイスドライバ６１と出力デバイスドライバ６３とを管理する管理機能、それらをカーネル層内で接続する接続機能、および、接続された記憶デバイスドライバ６１と出力デバイスドライバ６３との間でデータを転送させるデータ転送機能を有している。このようなデータ転送管理機構６２により、記憶部１８から読み出されたデータは、アプリケーションソフトウエア５１を介さずに、記憶デバイスドライバ６１と出力デバイスドライバ６３を含むカーネル層に属するソフトウエアを介して出力部１７に転送される。本発明は、パーソナルコンピュータに適用可能である。【選択図】図３
2006031607.tif 000002
【特許請求の範囲】
【請求項１】
データを提供する提供手段と、
前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段と、
ソフトウエアを保持する保持手段と、
前記保持手段に保持された前記ソフトウエアが有する機能に対応する処理を実行するソフトウエア実行手段と
をハードウエアとして備え、
前記保持手段は、
前記ソフトウエアのうちのカーネル層に属するソフトウエアとして、
前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第１のソフトウエアと、
前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第２のソフトウエアと、
前記第１のソフトウエアと前記第２のソフトウエアとを管理する管理機能、前記第１のソフトウエアと前記第２のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第１のソフトウエアと前記第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアと
を保持し、
前記ソフトウエア実行手段は、
前記保持手段に保持されている前記第１のソフトウエア乃至前記第３のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行することで、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第１のソフトウエアと前記第２のソフトウエアとを介して、前記データ処理手段に転送させる
ことを特徴とする情報処理装置。
【請求項２】
前記第３のソフトウエアは、前記提供手段から提供される前記データの形態を、前記データ処理手段が処理可能な形態に変換させる変換機能をさらに有し、
前記ソフトウエア実行手段は、
前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行する場合、前記接続機能に対応する処理として、前記変換機能を介して前記第１のソフトウエアと前記第２のソフトウエアとを接続する処理を実行し、さらに、前記変換機能に対応する処理を実行することで、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第１のソフトウエア、前記変換機能、および前記第２のソフトウエアを介して、前記データ処理手段に転送させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
データを提供する提供手段と、
前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段と
をハードウエアとして備え、
カーネル層に属するソフトウエアとして、
前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第１のソフトウエアと、
前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第２のソフトウエアと、
前記第１のソフトウエアと前記第２のソフトウエアとを管理する管理機能、前記第１のソフトウエアと前記第２のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第１のソフトウエアと前記第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアと
を保持している情報処理装置の情報処理方法において、
前記第１のソフトウエア乃至前記第３のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行することで、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第１のソフトウエアと前記第２のソフトウエアとを介して、前記データ処理手段に転送させる
ことを特徴とする情報処理方法。
【請求項４】
データを提供する提供手段と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段とをハードウエアとして備えるデータ処理装置に対する制御を行うコンピュータに実行させるプログラムであって、
カーネル層に属するソフトウエアとして、
前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第１のソフトウエアと、
前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第２のソフトウエアと、
前記第１のソフトウエアと前記第２のソフトウエアとを管理する管理機能、前記第１のソフトウエアと前記第２のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第１のソフトウエアと前記第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアと
を含み、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第１のソフトウエアと前記第２のソフトウエアとを介して、前記データ処理手段に転送させることを目的のひとつとして、
前記コンピュータに、前記第１のソフトウエア乃至前記第３のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法並びにプログラムに関し、特に、アプリケーション層を介さずにカーネル層内でデータを転送することができる情報処理装置および方法並びにプログラムに関する。
【背景技術】
【０００２】
近年、情報処理装置は、音声や映像を再生する再生機能を有していることが多い。
【０００３】
この再生機能は、例えば、カーネル層に属するソフトウエアとアプリケーション層に属するソフトウエアとからなるシステム、即ち、組み込みソフトウエアのシステム（例えば、特許文献１参照）により実現される。
【０００４】
カーネル層に属するソフトウエアとは、全てのハードウエアリソースを使用できる動作モードで動作するソフトウエアであって、それらのハードウエアリソースを管理し、それらのうちの所定の幾つかのハードウエアリソース（制限されたハードウエアリソース）の機能やサービスを、アプリケーション層に属するソフトウエアに提供可能なソフトウエアを指す。例えば、OS（Operating System）、OSの基本機能を実装したカーネル、デバイスドライバ等が、カーネル層に属するソフトウエアである。
【０００５】
これに対して、アプリケーション層に属するソフトウエアとは、制限されたハードウエアリソースのみしか使用できない動作モードで動作するソフトウエアである。例えば、アプリケーションソフトウエア、ライブラリ、ミドルウエアソフトウエア等が、アプリケーション層に属するソフトウエアである。
【０００６】
なお、制限されたハードウエアリソースのみでソフトウエア（アプリケーション層に属するソフトウエア）を構築することによって、システム停止などにつながる不正な操作から全体を保護することが、制限されたハードウエアリソースのみしか使用できない動作モードの存在する意味である。
【０００７】
このような観点から、一般的には、カーネル層に属するソフトウエアが、ハードウエアリソースを直接制御する。これに対して、アプリケーション層に属するソフトウエアは、ハードウエアリソースを直接制御しない。即ち、制限されたハードウエアリソースの機能やサービスが、カーネル層に属するソフトウエアからアプリケーション層に属するソフトウエアに提供される形態を取る。
【０００８】
ところで、このような組み込みソフトウエアを利用した再生機能が実現される場合、再生対象となる音声データや映像データ（以下、まとめて再生データと称する）を、ハードディスク等から読み出して、サウンドカードやビデオカード等に転送する処理、即ち、データ転送処理が必要になる。
【０００９】
なお、以下、ハードディスク等のメモリ（ハードウエアリソース）をまとめて、ストレージと称する。また、サウンドカードやビデオカード等のハードウエアリソースをまとめて、音声映像処理ハードウエアと称する。
【００１０】
このデータ転送処理において、ストレージから再生データを入力する（読み出す）ソフトウエアが、例えば、カーネル層に属するストレージデバイスドライバである。また、音声映像処理ハードウエアに再生データを出力するソフトウエアが、例えば、カーネル層に属するサウンドドライバやビデオドライバである。なお、以下、サウンドドライバやビデオドライバをまとめて、音声映像処理ハードウエアデバイスドライバと称する。
【特許文献１】特開平０６−３０９２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、Linux のようなUNIX（登録商標） 系OS等を用いる従来の再生機能には、ストレージデバイスドライバにより読み出された再生データを、音声映像処理ハードウエアデバイスドライバに直接転送する手段や仕組みは存在しない。このため、転送処理が行われる場合、ストレージデバイスドライバにより読み出された再生データは、アプリケーション層に属するソフトウエアを中継させて、音声映像処理ハードウエアデバイスドライバに転送させる必要があるという課題があった。
【００１２】
この課題のため、コピーの回数が多くなるという問題が発生したり、また、アプリケーション層とカーネル層との間のデータ移動のオーバヘッドが発生し、その結果、ソフトウエアの負荷が大きくなるという問題が発生する。
【００１３】
以下、図１を参照して、この課題についてさらに説明する。即ち、図１は、従来の再生機能のレイヤ構成図を表している。
【００１４】
図１に示されるように、従来の再生機能のレイヤ構成は、アプリケーション層、カーネル層、および、ハードウエア層に区分される。
【００１５】
図１の例のハードウエア層には、再生データが記憶されているストレージ１と、サウンドカードやビデオカードで構成される音声映像処理ハードウエア５とが含まれている。
【００１６】
図１の例のカーネル層には、ストレージデバイスドライバ２と、音声映像処理ハードウエアデバイスドライバ４とが含まれている。なお、図示はしていないが、このカーネル層にはOSも含まれる。
【００１７】
図１の例のアプリケーション層には、例えば音声や映像の再生制御を行うアプリケーションソフトウエア３が含まれている。
【００１８】
ここで、この図１を参照して、従来の再生機能により実現されるデータ転送処理について説明する。
【００１９】
なお、図１において、実線の矢印は、再生データ等の転送対象のデータの流れを示している。これに対して、点線の矢印は、その他のデータ、例えば制御データ等の流れを示している。
【００２０】
データ転送処理とは、次の工程１乃至工程３の処理がその順番に連続して実行される処理を指す。
【００２１】
工程１の処理とは、再生データをストレージ１から読み出す処理を指す。工程１の処理は、カーネル層に属するストレージデバイスドライバ２により実行される。
【００２２】
工程２の処理とは、工程１の処理で読み出された再生データを、音声映像処理ハードウエアデバイスドライバ４に転送する処理を指す。
【００２３】
工程３の処理とは、工程２の処理で転送されてきた再生データを、音声映像処理ハードウエア５に転送する処理を指す。工程３の処理は、カーネル層に属する音声映像処理ハードウエアドライバ４により実行される。
【００２４】
このようなデータ転送処理のうちの工程２の処理が、上述した課題の発生要因となる処理である。
【００２５】
即ち、図１に示されるように、従来の再生機能には、工程１の処理でカーネル層に属するストレージドライバ２により読み出されたデータを、同じくカーネル層に属する音声映像処理ハードウエアデバイスドライバ４に転送する手段や仕組みは存在しない。
【００２６】
ただし、カーネル層に存在するデータをアプリケーション層にコピーすることや、あるいは、その逆方向にデータをコピーすること、即ち、アプリケーション層に存在するデータをカーネル層にコピーすることは、従来においても可能である。
【００２７】
従って、従来の転送処理で工程２の処理を実現するためには、結局、次のような工程２−１と工程２−２といった２工程の処理が必要になる。
【００２８】
工程２−１の処理とは、工程１の処理でストレージ１から読み出された再生データを、アプリケーションソフトウエア３内に確保されているバッファに転送して記憶させる処理を指す。
【００２９】
工程２−２の処理とは、アプリケーションソフトウエア３内のバッファに記憶された再生データを読み出して、音声映像処理ハードウエアデバイスドライバ４に転送する処理を指す。
【００３０】
工程２−１と工程２−２の処理は、アプリケーション層に属するアプリケーションソフトウエア３により実行される。即ち、従来のアプリケーションソフトウエア３は、バッファを確保する処理の他、データの連続転送の制御処理も実行している。このことが、上述した課題の発生要因である。
【００３１】
本発明は、このような状況に鑑みてなされたものであり、アプリケーション層を介さずにカーネル層内でデータを転送することができるようにするものである。
【課題を解決するための手段】
【００３２】
本発明の情報処理装置は、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段と、ソフトウエアを保持する保持手段と、保持手段に保持されたソフトウエアが有する機能に対応する処理を実行するソフトウエア実行手段とをハードウエアとして備え、保持手段は、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第１のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第２のソフトウエアと、第１のソフトウエアと第２のソフトウエアを管理する管理機能、第１のソフトウエアと第２のソフトウエアとを接続する接続機能、および、接続機能により接続された第１のソフトウエアと第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアとを保持し、ソフトウエア実行手段は、保持手段に保持されている第１のソフトウエア乃至第３のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行することで、提供手段から提供されたデータを、カーネル層に属する第１のソフトウエアと第２のソフトウエアとを介して、データ処理手段に転送させるようにすることができる。
【００３３】
第３のソフトウエアは、提供手段から提供されるデータの形態を、データ処理手段が処理可能な形態に変換させる変換機能をさらに有し、ソフトウエア実行手段は、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行する場合、接続機能に対応する処理として、変換機能を介して第１のソフトウエアと第２のソフトウエアとを接続する処理を実行し、さらに、変換機能に対応する処理を実行することで、提供手段から提供されたデータを、カーネル層に属する第１のソフトウエア、変換機能、および第２のソフトウエアを介して、データ処理手段に転送させるようにすることができる。
【００３４】
本発明の情報処理装置においては、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とがハードウエアとして設けられている。また、本発明の情報処理装置には、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第１のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第２のソフトウエアと、第１のソフトウエアと第２のソフトウエアを管理する管理機能、第１のソフトウエアと第２のソフトウエアとを接続する接続機能、および、接続機能により接続された第１のソフトウエアと第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアとが保持されている。これにより、第１のソフトウエア乃至第３のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれが実現されると、提供手段から提供されたデータが、カーネル層に属する第１のソフトウエアと第２のソフトウエアとを介して、データ処理手段に転送される。
【００３５】
本発明の情報処理方法は、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とをハードウエアとして備え、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第１のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第２のソフトウエアと、第１のソフトウエアと第２のソフトウエアを管理する管理機能、第１のソフトウエアと第２のソフトウエアとを接続する接続機能、および、接続機能により接続された第１のソフトウエアと第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアとを保持している情報処理装置の情報処理方法である。詳細には、本発明の情報処理方法は、第１のソフトウエア乃至第３のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行することで、提供手段から提供されたデータを、カーネル層に属する第１のソフトウエアと第２のソフトウエアとを介して、データ処理手段に転送させることを特徴とする。
【００３６】
本発明の情報処理方法においては、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とをハードウエアとして備え、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第１のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第２のソフトウエアと、第１のソフトウエアと第２のソフトウエアを管理する管理機能、第１のソフトウエアと第２のソフトウエアとを接続する接続機能、および、接続機能により接続された第１のソフトウエアと第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアとを保持している情報処理装置により処理が実行される。即ち、本発明の情報処理方法においては、第１のソフトウエア乃至第３のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理が実行され、その結果、提供手段から提供されたデータが、カーネル層に属する第１のソフトウエアと第２のソフトウエアとを介して、データ処理手段に転送される。
【００３７】
本発明のプログラムは、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とをハードウエアとして備えるデータ処理装置に対する制御を行うコンピュータに実行させるプログラムであって、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第１のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第２のソフトウエアと、第１のソフトウエアと第２のソフトウエアを管理する管理機能、第１のソフトウエアと第２のソフトウエアとを接続する接続機能、および、接続機能により接続された第１のソフトウエアと第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアとを含み、提供手段から提供されたデータを、カーネル層に属する第１のソフトウエアと第２のソフトウエアとを介して、データ処理手段に転送させることを目的のひとつとして、コンピュータに、第１のソフトウエア乃至第３のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行させることを特徴とする。
【００３８】
本発明のプログラムにおいては、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とを備えるデータ処理装置を制御するコンピュータにより実行される。詳細には、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第１のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第２のソフトウエアと、第１のソフトウエアと第２のソフトウエアを管理する管理機能、第１のソフトウエアと第２のソフトウエアとを接続する接続機能、および、接続機能により接続された第１のソフトウエアと第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエアとが含まれている。このため、提供手段から提供されたデータを、カーネル層に属する第１のソフトウエアと第２のソフトウエアとを介して、データ処理手段に転送させることを目的のひとつとして、第１のソフトウエア乃至第３のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理がコンピュータにより実行される。
【発明の効果】
【００３９】
以上のごとく、本発明によれば、データの転送ができる。特に、アプリケーション層を介さずにカーネル層内でデータを転送することができる。
【発明を実施するための最良の形態】
【００４０】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４１】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００４２】
本発明によれば、情報処理装置が提供される。この情報処理装置（例えば、図２参照）は、データを提供する提供手段（例えば、図２乃至図４の記憶部１８）と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段（例えば、図２乃至図４の出力部１７であって、具体的には例えば図４のサウンドカード７２−１，７２−２）と、ソフトウエアを保持する保持手段（例えば、図２のＲＯＭ１２、ＲＡＭ１３、および記憶部１８のうちの少なくとも１つ）と、前記保持手段に保持された前記ソフトウエアが有する機能に対応する処理を実行するソフトウエア実行手段（例えば、図２のＣＰＵ１１）とをハードウエアとして備え、前記保持手段は、前記ソフトウエアのうちのカーネル層（例えば、図３と図４参照）に属するソフトウエアとして、前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第１のソフトウエア（例えば、図３の記憶デバイスドライバ６１であって、後述する音声再生機能の実現の場合には、例えば図４の音声記憶デバイスドライバ６１−Ａ）と、前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第２のソフトウエア（例えば、図３の出力デバイスドライバ６３であって、後述する音声再生機能の実現の場合には、例えば図４のサウンドドライバ６３−Ａ）と、前記第１のソフトウエアと前記第２のソフトウエアを管理する管理機能、前記第１のソフトウエアと前記第２のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第１のソフトウエアと前記第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエア（例えば、図３と図４のデータ転送管理機構６２）とを保持し、前記ソフトウエア実行手段は、前記保持手段に保持されている前記第１のソフトウエア乃至前記第３のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行することで、前記提供手段から提供された前記データを、前記カーネル層に属する前記第１のソフトウエアと前記第２のソフトウエアとを介して、前記データ処理手段に転送させることを特徴とする。
【００４３】
この情報処理装置において、前記第３のソフトウエアは、前記提供手段から提供される前記データの形態を、前記データ処理手段が処理可能な形態に変換させる変換機能（例えば、図４の変換フィルタ７１）をさらに有し、前記ソフトウエア実行手段は、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行する場合、前記接続機能に対応する処理として、前記変換機能を介して前記第１のソフトウエアと前記第２のソフトウエアとを接続する処理を実行し、さらに、前記変換機能に対応する処理を実行することで、前記提供手段（例えば、図４の記憶部１８）から提供された前記データを、前記カーネル層に属する前記第１のソフトウエア、前記変換機能、および前記第３のソフトウエア（例えば、図４の音声記憶デバイスドライバ６１−Ａ、変換フィルタ、および、サウンドドライバ６３−Ａ）を介して、前記データ処理手段（例えば、図４のサウンドカード７２−１，７２−２のうちのいずれか一方）に転送させるようにすることができる。
【００４４】
本発明によれば、情報処理方法が提供される。この情報処理方法は、データを提供する提供手段（例えば、図２乃至図４の記憶部１８）と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段（例えば、図２乃至図４の出力部１７）とをハードウエアとして備え、カーネル層に属するソフトウエアとして、前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第１のソフトウエア（例えば、図３の記憶デバイスドライバ６１であって、後述する音声再生機能の実現の場合には、例えば図４の音声記憶デバイスドライバ６１−Ａ）と、前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第２のソフトウエア（例えば、図３の出力デバイスドライバ６３であって、後述する音声再生機能の実現の場合には、例えば図４のサウンドドライバ６３−Ａ）と、前記第１のソフトウエアと前記第２のソフトウエアを管理する管理機能、前記第１のソフトウエアと前記第２のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第１のソフトウエアと前記第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエア（例えば、図３と図４のデータ転送管理機構６２）とを保持している情報処理装置の情報処理方法である。詳細には、この情報処理方法は、前記第１のソフトウエア乃至前記第３のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理（例えば、管理機能、接続機能、およびデータ転送機能に対応する処理とは、図７のデータ転送管理機構の処理に対応する）を実行することで、前記提供手段から提供された前記データを、前記カーネル層に属する前記第１のソフトウエアと前記第２のソフトウエアとを介して、前記データ処理手段に転送させることを特徴とする。
【００４５】
本発明によれば、プログラムが提供される。このプログラムは、データを提供する提供手段（例えば、図２乃至図４の記憶部１８）と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段（例えば、図２乃至図４の出力部１７であって、具体的には例えば図４のサウンドカード７２−１，７２−２）とをハードウエアとして備えるデータ処理装置に対する制御を行うコンピュータ（例えば、図２のＣＰＵを備えるコンピュータ）に実行させるプログラムであって、カーネル層に属するソフトウエアとして、前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第１のソフトウエア（例えば、図３の記憶デバイスドライバ６１であって、後述する音声再生機能の実現の場合には、例えば図４の音声記憶デバイスドライバ６１−Ａ）と、前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第２のソフトウエア（例えば、図３の出力デバイスドライバ６３であって、後述する音声再生機能の実現の場合には、例えば図４のサウンドドライバ６３−Ａ）と、前記第１のソフトウエアと前記第２のソフトウエアを管理する管理機能、前記第１のソフトウエアと前記第２のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第１のソフトウエアと前記第２のソフトウエアとの間でデータを転送させるデータ転送機能を有する第３のソフトウエア（例えば、図３と図４のデータ転送管理機構６２）とを含み、前記提供手段から提供された前記データを、前記カーネル層に属する前記第１のソフトウエアと前記第２のソフトウエアとを介して、前記データ処理手段に転送させることを目的のひとつとして、前記コンピュータに、前記第１のソフトウエア乃至前記第３のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行させることを特徴とする。
【００４６】
以下、図面を参照して、本発明の情報処理装置の実施の形態について説明する。
【００４７】
図２は、本実施の形態の情報処理装置のハードウエア構成例を表している。
【００４８】
図２の情報処理装置において、CPU（Central Processing Unit）１１は、ROM（Read Only Memory）１２に記録されているプログラム、または記憶部１８からRAM（Random Access Memory）１３にロードされたプログラムに従って各種の処理を実行する。RAM１３にはまた、CPU１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００４９】
CPU１１は、例えば、汎用CPUや高機能なAV（Audio and Visual）機器に使用されるCPUとして構成され、動作するソフトウエアにて使用できるハードウエアリソース（メモリやマシン語等）を限定する「動作モード」を持つ。即ち、上述したように、CPU１１は、全てのハードウエアリソースを使用できる動作モードと、制限されたハードウエアリソースのみしか使用できない動作モードの２つの動作モードを持つ。従って、CPU１１は、プログラムのうちの上述したカーネル層に属するソフトウエアを実行する場合、全てのハードウエアリソースを使用できる動作モードで動作することになる。これに対して、CPU１１は、プログラムのうちのアプリケーション層に属するソフトウエアを実行する場合、制限されたハードウエアリソースのみしか使用できない動作モードで動作することになる。
【００５０】
なお、CPU１１が実行するプログラムの具体例、即ち、アプリケーション層に属するソフトウエアの具体例や、カーネル層に属するプログラムの具体例については、図３と図４を参照して後述する。
【００５１】
また、このように、実際には、CPU１１がプログラムに従って処理を実行することになるが、以下、説明の簡略上、プログラムが処理を実行するとして、各プログラムの説明を行っていく。
【００５２】
CPU１１、ROM１２、およびRAM１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インタフェース１５も接続されている。
【００５３】
入出力インタフェース１５には、入力部１６、出力部１７、記憶部１８、および、通信部１９が接続されている。
【００５４】
入力部１６は、例えばキーボード、マウスなどの入力機器により構成され、ユーザの操作に対応する各種情報をCPU１１等に入力する。
【００５５】
出力部１７は、例えばサウンドカードやビデオカードで構成され、音声信号や映像信号を出力する。従って、出力部１７の少なくとも一部として、例えば、上述した図１の音声映像処理ハードウエア５を採用することも可能である。さらに必要に応じて、サウンドカードから出力される音声信号に対応する音声を出力するスピーカや、ビデオカードから出力される映像信号に対応する映像を表示するディスプレイも出力部１７に設けられる。
【００５６】
記憶部１８は、例えばハードディスクなどで構成され、CPU１１が実行するプログラム、および、再生データとなり得る映像データや音声データの他、各種情報を記憶する。従って、記憶部１８として、例えば、上述した図１のストレージ１のうちの少なくとも一部を採用することも可能である。
【００５７】
通信部１９は、例えばモデム、ターミナルアダプタなどより構成され、インターネットを含むネットワークを介して他の情報処理装置との通信処理を行う。
【００５８】
入出力インタフェース１５にはまた、必要に応じてドライブ２０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１８にインストールされる。
【００５９】
以上、図２を参照して、本発明が適用される情報処理装置のハードウエア構成例について説明したが、次のようなデータ転送処理を実行可能な情報処理装置であれば、そのハードウエア構成については、図２の例に限定されない。即ち、本発明が適用される情報処理装置により実行されるデータ転送処理とは、アプリケーション層を介さずに、カーネル層内でデータを転送する、といった従来には存在しない新たなデータ転送処理である。
【００６０】
換言すると、本発明とは、結局、このような新たなデータ転送処理を実現可能とする手法を指し、その結果、この手法が適用された情報処理装置であれば皆、そのハードウエア構成等に特に限定されず、本発明の情報処理装置であると言える。
【００６１】
また、本発明の適用先は、情報処理装置が有する機能のうちの、データ転送処理を必要とする機能であればいずれの機能でもよい。例えば、データ転送処理を必要とする機能の一例として、上述した背景技術では再生機能について説明したが、この再生機能に対しても本発明を適用することができる。即ち、上述した新たなデータ転送処理を伴う再生機能が、本発明の再生機能であるといえる。
【００６２】
そこで、以下、図３を参照して、本発明の再生機能について説明する。即ち、図３は、本発明の再生機能のレイヤ構成図を表している。
【００６３】
なお、図３においても図１と同様に、実線の矢印は、再生データ等の転送対象のデータの流れを示している。これに対して、点線の矢印は、その他のデータ、例えば制御データ等の流れを示している。このことは、後述する図４についても同様とされる。
【００６４】
図３に示されるように、本発明の再生機能のレイヤ構成も、アプリケーション層、カーネル層、および、ハードウエア層に区分される。
【００６５】
図３の例のハードウエア層には、再生データが記憶されている記憶部１８と、サウンドカードやビデオカードで構成される出力部１７とが含まれている。即ち、上述したように、図３の記憶部１８は図１のストレージ１に対応し、図３の出力部１７は図１の音声映像処理ハードウエア５に対応する。
【００６６】
図３の例のカーネル層には、記憶デバイスドライバ６１、データ転送管理機構６２、および、出力デバイスドライバ６３が含まれている。なお、図示はしていないが、このカーネル層にはOSも含まれる。
【００６７】
図３の記憶デバイスドライバ６１は、上述した図１のストレージデバイスドライバ２に対応する。また、出力デバイスドライバ６３は、上述した図１の音声映像処理ハードウエアデバイスドライバ４に対応する。
【００６８】
このような記憶デバイスドライバ６１と出力デバイスドライバ６３とに対して、データ転送管理機構６２は、従来のカーネル層（図１参照）には存在しなかったソフトウエアであって、本発明者により新たに発明されたソフトウエアである。
【００６９】
このデータ転送管理機構６２は、次の第１の機能乃至第３の機能を有する。
【００７０】
第１の機能とは、連続データを送受信できるドライバを管理する管理機能である。例えば図３の例では、点線矢印で示されるように、記憶デバイスドライバ６１と出力デバイスドライバ６３とのそれぞれを管理する管理機能が、第１の機能である。
【００７１】
第２の機能とは、第１の機能により管理されるドライバ間でのデータ転送のためのコネクションをカーネル層内で作成する接続機能である。即ち、データの転送元となるドライバと、データの転送先となるドライバとをカーネル層内で接続する接続機能であって、例えば図３の例では、再生データの転送元となる記憶デバイスドライバ６１と、再生データの転送先となる出力デバイスドライバ６３とをカーネル層内で接続する接続機能が、第２の機能である。
【００７２】
なお、第２の機能で実現される接続とは、ドライバ間の直接接続の他、カーネル層に属する他のソフトウエアを介する接続も含む広い概念の接続を指す。例えば図３の実線矢印に示されるように、記憶デバイスドライバ６１と出力デバイスドライバ６３とを直接接続する第１の接続機能の他、記憶デバイスドライバ６１、データ転送管理機構６２自身、および、出力デバイスドライバ６３をその順番で接続する第２の接続機能も、この第２の機能に含まれる。
【００７３】
第３の機能とは、第２の機能により接続されたドライバ間で連続データを実際に転送させる転送機能を指す。即ち、データの転送元となるドライバから、データの転送先となるドライバに対して、連続データを実際に転送させる転送機能であって、例えば図３の例では、記憶デバイスドライバ６１から出力デバイスドライバ６３に対して再生データを実際に転送させる転送機能が、第３の機能である。具体的には例えば、第２の機能のうちの第１の接続機能が実現された場合には、再生データを、記憶デバイスドライバ６１から出力デバイス６３に直接転送させる一方、第２の機能のうちの第２の接続機能が実現された場合には、再生データを、記憶デバイスドライバ６１からデータ転送管理機構６２を介して出力デバイス６３に転送させる機能が、第３の機能である。
【００７４】
換言すると、第３の機能に対応する処理とは、［発明が解決しようとする課題］で説明したデータ転送処理のうちの第２の工程の処理を指す。
【００７５】
ここで、図３の例の本発明のデータ転送処理について説明する。即ち、図３を参照して、本発明のデータ転送処理における第１の工程乃至第３の工程（以下、本発明の第１の工程乃至本発明の第３の工程と称する）について順次説明する。
【００７６】
本発明の第１の工程の処理とは、再生対象のファイル（以下、再生ファイルと称する）を構成する連続データを所定の単位毎に読み出す処理を指す。この第１の工程の処理は、記憶デバイスドライバ６１により実行されることになる。
【００７７】
即ち、記憶デバイスドライバ６１は、１回の第１の工程の処理で、再生ファイルの全てを読み出すのではなく、そのうちの一部分の部分データを読み出すことが多い。なお、１回の第１の工程の処理で、再生ファイルの全てが読み出される場合もあり得る。
【００７８】
従って、本発明の第２の工程の処理とは、１回の第１の工程の処理で読み出された部分データを、出力デバイスドライバ６３まで転送させる処理を指す。この本発明の第２の工程の処理が、第２の機能に対応する処理として、データ転送管理機構６２により実行されるのである。
【００７９】
また、本発明の第３の工程の処理とは、出力デバイスドライバ６３に転送されてきた部分データを出力部１７に転送させる処理を指す。この第３の工程の処理は、出力デバイスドライバ６３により実行されることになる。
【００８０】
以上のような本発明の第１の工程乃至本発明の第３の工程の繰り返し処理により、再生ファイルを構成する各部分データが記憶部１８から順次読み出されて、アプリケーション層を介することなく、カーネル層内を経由して出力部１７に転送されていくのである。また、この間、記憶デバイスドライバ６１の第１の工程の処理を管理したり、出力デバイスドライバ６３の第３の工程の処理を管理する管理機能が、上述した第１の機能のうちの少なくとも一部の機能として、データ転送管理機構６２に設けられているのである。
【００８１】
このように、本発明の再生機能においては、第１の機能乃至第３の機能を搭載したデータ転送管理機構６２がカーネル層に含まれているので、データ転送処理はカーネル層内で完結する。これにより、アプリケーション層を介さずにカーネル層内でデータを転送することが可能になる。
【００８２】
従って、本発明の再生機能においても、図３に示されるように、アプリケーション層には、音声や映像の再生を制御するためのアプリケーションソフトウエア５１が含まれているが、このアプリケーションソフトウエア５１は、図１のアプリケーションソフトウエア３とは異なり、データ転送処理の第２の工程の処理を実行する必要はない。
【００８３】
即ち、従来においては、例えば図１のアプリケーションソフトウエア３が、データ転送処理のうちの第２の工程の処理を実行しており、このことが従来の課題の発生要因であった。
【００８４】
そこで、本発明においては、従来の課題を解決すべく、即ち、データ転送処理の全工程をカーネル層内で完結させるべく、上述した第１の機能乃至第３の機能を搭載したデータ転送管理機構６２がカーネル層に設けられているのである。このため、アプリケーション層に属するアプリケーションソフトウエア５１は、データ転送処理の実行には一切関知せず、単に、ユーザインタフェースの管理の他、データ転送管理機構６２の処理タイミングの管理、即ち、データ転送処理の開始および終了のタイミングの管理を行えばよいのである。
【００８５】
さらに、図４を参照して、本発明の再生機能の一具体例として、音声を再生する音声再生機能について説明する。即ち、図４は、本発明の再生機能のうちの音声再生機能に特化した場合のレイヤ構成図を表している。
【００８６】
図４に示されるように、ハードウエア層には、本発明の音声再生機能を実現するために必要なハードウエアリソースとして、例えば、音声データが記憶されている記憶部１８、サウンドカード７２−１、サウンドカード７２−２、およびスピーカ７３が含まれている。サウンドカード７２−１、サウンドカード７２−２、およびスピーカ７３は、出力部１７の一構成要素とされている。
【００８７】
即ち、図４の例では、音声処理ハードウエアとして、２つのサウンドカード７２−１およびサウンドカード７２−２が設けられている。このため、再生時に実際に使用するサウンドカード（以下、再生先のサウンドカードと称する）として、サウンドカード７２−１とサウンドカード７２−２とのうちのいずれか一方が、後述する音声出力制御アプリケーションソフトウエア５１−Ａにより選択される。
【００８８】
サウンドカード７２−１およびサウンドカード７２−２のうちの再生先のサウンドカードとして選択された方が、サウンドドライバ６３−Ａから転送されてきた音声データに対して各種音声処理を施し、その結果得られる音声信号をスピーカ７３に供給する。
【００８９】
スピーカ７３は、再生先のサウンドカードから供給された音声信号に対応する音声を出力する。
【００９０】
また、図４のカーネル層には、本発明の音声再生機能を実現するために必要なソフトウエアとして、例えば、音声記憶デバイスドライバ６１−Ａ、データ転送管理機構６２、および、サウンドドライバ６３−Ａが含まれている。
【００９１】
音声記憶デバイスドライバ６１−Ａは、後述する音声出力制御アプリケーションソフトウエア５１−Ａにより指定された音声ファイルを再生ファイルとして、その再生ファイルを所定の単位毎に記憶部１８から順次読み出す。
【００９２】
即ち、音声記憶デバイスドライバ６１−Ａは、図３の記憶デバイスドライバ６１が有する機能のうちの、音声データを読み出す機能を有する部分であると言える。或いは、音声記憶デバイスドライバ６１−Ａや図示せぬ映像記憶デバイスドライバ等、各種データを読み出す１以上のドライバの集合体が記憶デバイスドライバ６１であると捉えてもよい。
【００９３】
サウンドドライバ６３−Ａは、音声記憶デバイスドライバ６１−Ａから転送されてきた再生データ（音声ファイルの部分データ）、より正確には、後述する変換フィルタ７１を介して転送されてきた再生データを取得する。そして、サウンドドライバ６３−Ａは、その再生データを、サウンドカード７２−１とサウンドカード７２−２とのうちの再生先のサウンドカードとして選択された方に転送させる。
【００９４】
なお、サウンドドライバ６３−Ａは、図４の例では、サウンドカード７２−１とサウンドカード７２−２とを制御（操作）することになるが、図４の例に限定されず、任意の数の任意の種類のサウンドカードを制御することも可能である。即ち、出力部１７には、サウンドカード７２−１とサウンドカード７２−２との他、任意の数の任意の種類のサウンドカードを設けることも可能である。
【００９５】
以上のことから、サウンドドライバ６３−Ａは、図３の出力デバイスドライバ６３が有する機能のうちの、音声データをサウンドカードに転送させる機能を有する部分であると言える。或いは、サウンドドライバ６３−Ａや図示せぬビデオドライバ等、各種データを出力部１７に転送させる１以上のドライバの集合体が出力デバイスドライバ６３であると捉えてもよい。
【００９６】
このように、図４の例では、本発明の音声再生機能を実現するためのドライバとして、音声記憶デバイスドライバ６１−Ａとサウンドドライバ６３−Ａが設けられている。従って、本発明の音声再生機能が図４のレイヤ構成で実現される場合には、データ転送管理機構６２の上述した第１の機能乃至第３の機能のそれぞれは、例えば次のような機能になる。
【００９７】
即ち、図４の例の音声再生機能を実現するための第１の機能とは、音声記憶デバイスドライバ６１―Ａとサウンドドライバ６３―Ａとのそれぞれを管理する管理機能を指す。
【００９８】
図４の例の音声再生機能を実現するための第２の機能とは、音声記憶デバイスドライバ６１―Ａとサウンドドライバ６３―Ａとをカーネル層内で接続する接続機能を指す。
【００９９】
ただし、記憶部１８には、オリジナルの音声データが所定の圧縮符号化方式により圧縮符号化された結果得られる圧縮符号化音声データが記憶されていることが多い。なお、このような圧縮符号化方式としては、例えば、MPEG（Moving Picture Experts Group）-1 Audio Layer 3（以下、mp3と称する）などが知られている。
【０１００】
これに対して、サウンドカード７２−１やサウンドカード７２−２は、オリジナルの音声データに対する処理を実行できるが、圧縮符号化音声データのままではその処理を実行できないことが多い。
【０１０１】
従って、音声記憶デバイスドライバ６１−Ａにより圧縮符号化音声データが記憶部１８から読み出された場合、その圧縮符号化音声データは、サウンドカード７２−１またはサウンドカード７２−２に転送されるまでの間に伸張復号されて、オリジナルの音声データに変換されている必要がある。
【０１０２】
このため、データ転送管理機構６２には、圧縮符号化音声データをオリジナルの音声データに変換させる変換フィルタ７１が設けられている。そして、データ転送管理機構６２は、本発明の音声再生機能が実現される場合には、変換フィルタ７１を機能させ（以下、機能させることを設定するとも称する）、第２の機能に対応する処理として、音声記憶デバイスドライバ６１―Ａ、変換フィルタ７１、および、サウンドドライバ６３―Ａをその順番で接続する処理を実行するのである。
【０１０３】
即ち、図４の例の音声再生機能を実現するための第２の機能とは、より正確には、音声記憶デバイスドライバ６１―Ａ、変換フィルタ７１、および、サウンドドライバ６３―Ａをその順番で接続する接続機能を指す。
【０１０４】
従って、図４の例の音声再生機能を実現するための第３の機能とは、音声記憶デバイスドライバ６１−Ａにより記憶部１８から読み出された圧縮符号化音声データを変換フィルタ７１に転送させ、さらに、その圧縮符号化音声データが変換フィルタ７１によりオリジナルの音声データに変換されて出力されてきた場合、そのオリジナルの音声データをサウンドドライバ６３−Ａに転送させる転送機能を指す。
【０１０５】
なおその他、図４の例の音声再生機能を実現するために、図３のアプリケーションソフトウエア５１のうちの音声再生を制御するソフトウエアとして、音声出力制御アプリケーションソフトウエア５１−Ａ（以下、音声アプリ５１−Ａと略称する）が設けられている。
【０１０６】
次に、図５乃至図１０を参照して、このような図４のレイヤ構造で表される本発明の音声再生機能に対応する処理のうちの、音声アプリ５１−Ａ側の処理とデータ転送管理機構６２側の処理とのそれぞれについて、その順番に個別に説明していく。
【０１０７】
即ち、図５と図６のフローチャートは、音声アプリ５１−Ａの処理を表している。図７と図８のフローチャートは、データ転送管理機構６２の処理を表している。図９と図１０のアローチャートは、音声アプリ５１−Ａとデータ転送管理機構６２との処理の関係を表している。
【０１０８】
そこで、以下、図５と図６を参照して音声アプリ５１−Ａの処理を、図７と図８を参照してデータ転送管理機構６２の処理を、それぞれ個別に説明するが、これらソフトウエアの相互の処理の関係は、図９または図１０の対応するステップを参照することで、容易に理解することが可能である。
【０１０９】
図５のステップＳ１において、図４の音声アプリ５１−Ａは、再生対象の音声ファイル即ち、再生ファイルを選択する。
【０１１０】
ステップＳ２において、音声アプリ５１−Ａは、サウンドカード７２−１とサウンドカード７２−２の中から、再生先のサウンドカードを選択する。
【０１１１】
ステップＳ３において、音声アプリ５１−Ａは、データ転送管理機構６２に対して、ステップＳ１の処理で選択された再生ファイルとステップＳ２の処理で選択されたサウンドカードとを指定し、接続要求を行う。
【０１１２】
すると、データ転送管理機構６２は、上述した接続機能（第２の機能）に対応する処理を実行する。即ち、後述するように、データ転送管理機構６２は、変換フィルタ７１を介する音声記憶デバイスドライバ６１−Ａとサウンドドライバ６３−Ａとの接続を試み、接続に成功した場合には、接続要求に対する応答として「成功」の応答を音声アプリ５１−Ａに送信する一方、接続に失敗した場合には、接続要求に対する応答として「失敗」の応答を音声アプリ５１−Ａに送信する（図７と図９のステップＳ４０乃至Ｓ４７参照）。
【０１１３】
この間、音声アプリ５１−Ａは、ステップＳ４において、接続要求に対する応答があったか否かを判定する判定処理を繰り返している。即ち、接続要求に対する応答が送信されてくるまでは、ステップＳ４において、ＮＯであると判定されて、処理はステップＳ４に戻され、接続要求に対する応答があったか否かが再度判定される。
【０１１４】
その後、接続要求に対する応答が送信されてくると、ステップＳ４において、ＹＥＳであると判定されて、処理はステップＳ５に進む。
【０１１５】
ステップＳ５において、音声アプリ５１−Ａは、接続要求に対する応答が「成功」という応答であるか否かを判定する。
【０１１６】
「失敗」であるという応答がデータ転送管理機構６２から音声アプリ５１−Ａに送信されてきた場合、ステップＳ５において、ＮＯであると判定されて、処理はステップＳ６に進む。ステップＳ６において、音声アプリ５１−Ａは、所定のエラー処理を実行する。これにより、音声アプリ５１−Ａの処理は終了となる。
【０１１７】
これに対して、「成功」であるという応答がデータ転送管理機構６２から音声アプリ５１−Ａに送信されてきた場合、ステップＳ５において、ＹＥＳであると判定されて、処理は図６のステップＳ７に進む。
【０１１８】
ステップＳ７において、音声アプリ５１−Ａは、再生開始が指示されたか否かを判定する。
【０１１９】
ステップＳ７の判定処理は特に限定されないが、ここでは例えば、図示せぬユーザが図２の入力部１６を操作することで（例えば、再生ボタンを押下することで）再生指令を入力してきた場合、ステップＳ７において、再生開始が指示されたと判定されるとする。
【０１２０】
なお、入力部１６から入力される各種指令は、例えば、カーネル層に属する図示せぬ入力ドライバにより音声アプリ５１−Ａに供給される。
【０１２１】
従って、再生指令が音声アプリ５１−Ａに供給されてくるまでの間は、ステップＳ７においてＮＯであると判定され、処理はステップＳ７に戻され、再生開始が指示されたか否かが再度判定されることになる。即ち、ステップＳ７の判定処理が繰り返されることになる。
【０１２２】
その後、再生指令が音声アプリ５１−Ａに供給されてくると、ステップＳ７においてＹＥＳであると判定され、処理はステップＳ８に進む。
【０１２３】
ステップＳ８において、音声アプリ５１−Ａは、データ転送管理機構６２に対して開始要求を行う。
【０１２４】
すると、後述するように、データ転送管理機構６２は、データ転送処理の実行が可能か否かを判定する（図８のステップＳ４８（ＹＥＳ）、Ｓ４９参照）。データ転送管理機構６２は、データ転送処理の実行が可能であると判定した場合には、開始要求に対する応答として「成功」の応答を音声アプリ５１−Ａに送信する（図８と図１０のステップＳ４９（ＹＥＳ）、Ｓ５１参照）。これに対して、データ転送管理機構６２は、データ転送処理の実行が不可能であると判定した場合には、開始要求に対する応答として「失敗」の応答を音声アプリ５１−Ａに送信する（図８のステップＳ４９（ＮＯ）、Ｓ５０参照）。
【０１２５】
この間、音声アプリ５１−Ａは、ステップＳ９において、開始要求に対する応答があったか否かを判定する判定処理を繰り返している。即ち、開始要求に対する応答が送信されてくるまでは、ステップＳ９において、ＮＯであると判定されて、処理はステップＳ９に戻され、開始要求に対する応答があったか否かが再度判定される。
【０１２６】
その後、開始要求に対する応答が送信されてくると、ステップＳ９において、ＹＥＳであると判定されて、処理はステップＳ１０に進む。
【０１２７】
ステップＳ１０において、音声アプリ５１−Ａは、開始要求に対する応答が「成功」という応答であるか否かを判定する。
【０１２８】
「失敗」であるという応答がデータ転送管理機構６２から音声アプリ５１−Ａに送信されてきた場合、ステップＳ１０において、ＮＯであると判定されて、処理は図５のステップＳ６に進む。ステップＳ６において、音声アプリ５１−Ａは、所定のエラー処理を実行する。これにより、音声アプリ５１−Ａの処理は終了となる。
【０１２９】
これに対して、「成功」であるという応答がデータ転送管理機構６２から音声アプリ５１−Ａに送信されてきた場合、図６のステップＳ１０において、ＹＥＳであると判定されて、処理はステップＳ１１に進む。
【０１３０】
ステップＳ１１において、音声アプリ５１−Ａは、再生停止が指示されたか否かを判定する。
【０１３１】
ステップＳ１１の判定処理は特に限定されないが、ここでは例えば、図示せぬユーザが図２の入力部１６を操作することで（例えば、停止ボタンを押下することで）停止指令を入力してきた場合、ステップＳ１１において、再生停止が指示されたと判定されるとする。
【０１３２】
従って、停止指令が音声アプリ５１−Ａに供給されない限り、ステップＳ１１において、再生停止がまだ指示されていないと判定され、処理はステップＳ１２に進む。
【０１３３】
ステップＳ１２において、音声アプリ５１Ａは、データ転送管理機構６２から音声記憶デバイスドライバ６１−Ａに対してデータ取得要求が発行されているか否かを判定する。
【０１３４】
ここで、データ取得要求について説明する。
【０１３５】
データ転送管理機構６２は、開始要求に対する応答として「成功」という応答を音声アプリ５１−Ａに送信すると、上述したように、データ転送処理のうちの本発明の第２の工程の処理を実行する。即ち、データ転送管理機構６２は、音声記憶デバイスドライバ６１−Ａにより読み出された部分データを、変換フィルタ７１を介してサウンドドライバ６３−Ａに転送させる処理を実行する（図８と図１０のステップＳ５１、Ｓ５２、および、Ｓ５３乃至Ｓ５７のループ参照）。
【０１３６】
この場合、当然ながら、音声記憶デバイスドライバ６１Ａは、データ転送処理のうちの本発明の第１の工程の処理、即ち、記憶部１８から部分データを読み出す処理を実行している必要がある。そこで、データ転送管理機構６２は、この第１の工程の処理を管理する機能、即ち、上述した第１の機能のひとつとして、音声記憶デバイスドライバ６１Ａに対してデータ取得要求を発行する機能を有している。データ取得要求とは、記憶部１８に記憶されている再生ファイルを、部分データ単位に取得する要求を指す。
【０１３７】
従って、データ転送管理機構６２は、データ転送処理を開始させる時点で、データ取得要求の発行を開始し（図８のステップＳ５２参照）、その後、データ取得要求を発行し続け、データ転送処理を終了させる時点、即ち、再生ファイルの音声再生を終了させる時点で、データ取得要求の発行を終了する。
【０１３８】
このため、データ取得要求の発行が終了された場合、音声アプリ５１−Ａもその処理を続行する必要が無いので、ステップＳ１２において、ＮＯであると判定し、その処理を終了させる。
【０１３９】
これに対して、データ取得要求が発行されている場合、音声アプリ５１−Ａもその処理を続行する必要があるので、ステップＳ１２において、ＹＥＳであると判定し、その処理をステップＳ１１に戻し、それ以降の処理を繰り返す。
【０１４０】
即ち、ユーザから再生停止が指示されるか、或いは、音声ファイルの全ての再生が終了する等としてデータ取得要求の発行が終了されるまで、ステップＳ１１とＳ１２のループ処理が繰り返されて、音声アプリ５１−Ａの処理は待機することになる。
【０１４１】
その後、例えばユーザから再生停止が指示されると、ステップＳ１１において、再生停止が指示されたと判定され、処理はステップＳ１３に進む。
【０１４２】
ステップＳ１３において、音声アプリ５１−Ａは、データ転送管理機構６２に対して停止要求を行う。
【０１４３】
すると、後述するように、データ転送管理機構６２は、データ転送処理の通常終了が可能か否かを判定する（図８のステップＳ５８参照）。そして、データ転送管理機構６２は、データ転送処理の通常終了が可能であると判定した場合には、停止要求に対する応答として「成功」の応答を音声アプリ５１−Ａに送信して、例えば通常終了モードでその処理を終了させる（図８と図１０のステップＳ５８（ＹＥＳ）、Ｓ５９参照）。これに対して、データ転送管理機構６２は、データ転送処理の通常終了が不可能であると判定した場合には、停止要求に対する応答として「失敗」の応答を音声アプリ５１−Ａに送信し、例えば通常終了モードとは異なる特殊なモードでその処理を終了させる（図８のステップＳ５８（ＮＯ）、Ｓ６０参照）。
【０１４４】
この間、音声アプリ５１−Ａは、ステップＳ１４において、停止要求に対する応答があったか否かを判定する判定処理を繰り返している。即ち、停止要求に対する応答が送信されてくるまでは、ステップＳ１４において、ＮＯであると判定されて、処理はステップＳ１４に戻され、停止要求に対する応答があったか否かが再度判定される。
【０１４５】
その後、停止要求に対する応答が送信されてくると、ステップＳ１４において、ＹＥＳであると判定されて、処理はステップＳ１５に進む。
【０１４６】
ステップＳ１５において、音声アプリ５１−Ａは、停止要求に対する応答が「成功」という応答であるか否かを判定する。
【０１４７】
「失敗」であるという応答がデータ転送管理機構６２から音声アプリ５１−Ａに送信されてきた場合、ステップＳ１５において、ＮＯであると判定されて、処理は図５のステップＳ６に進む。ステップＳ６において、音声アプリ５１−Ａは、所定のエラー処理を実行する。これにより、音声アプリ５１−Ａの処理は終了となる。
【０１４８】
これに対して、「成功」であるという応答がデータ転送管理機構６２から音声アプリ５１−Ａに送信されてきた場合、図６のステップＳ１５において、ＹＥＳであると判定されて、音声アプリ５１−Ａの処理は終了となる。即ち、エラー処理などは実行されずに、音声アプリ５１−Ａの処理は通常に終了することになる。
【０１４９】
以上、図５と図６を参照して、本発明の音声再生機能を実現させる処理のうちの、音声アプリ５１−Ａ側の処理について説明した。
【０１５０】
次に、図７と図８を参照して、データ転送管理機構６２側の処理について説明する。
【０１５１】
図７のステップＳ４０において、データ転送管理機構６２は、音声アプリ５１−Ａより接続要求がなされたか否かを判定する。
【０１５２】
音声アプリ５１−Ａより接続要求がなされるまでの間、ステップＳ４０において、ＮＯであると判定されて、処理はステップＳ４０に戻され、音声アプリ５１−Ａより接続要求がなされたか否かが再度判定される。即ち、ステップＳ４０の判定処理が繰り返し実行される。
【０１５３】
上述したように、図５と図９のステップＳ１乃至Ｓ３の処理の結果として、音声アプリ５１−Ａから接続要求がなされると、ステップＳ４０において、ＹＥＳであると判定されて、処理はステップＳ４１に進む。
【０１５４】
ステップＳ４１において、データ転送管理機構６２は、変換フィルタがあるか否かを判定する。
【０１５５】
上述した図５と図９のステップＳ３の処理で音声アプリ５１−Ａにより指定された再生ファイル（圧縮符号化音声データ）に対応する変換フィルタが存在しない場合、即ち、図４の変換フィルタ７１が対応する変換フィルタではない場合、ステップＳ４１において、ＮＯであると判定されて、処理はステップＳ４２に進む。ステップＳ４２において、データ転送管理機構６２は、「失敗」の応答を音声アプリ５１−Ａに送信する。これにより、その処理は終了となる。
【０１５６】
これに対して、上述した図５と図９のステップＳ３の処理で音声アプリ５１−Ａにより指定された再生ファイル（圧縮符号化音声データ）に対応する変換フィルタが存在する場合、即ち、図４の変換フィルタ７１が対応する変換フィルタである場合、ステップＳ４１において、ＹＥＳであると判定されて、処理はステップＳ４３に進む。ステップＳ４３において、データ転送管理機構６２は、変換フィルタ７１を設定する。
【０１５７】
ステップＳ４４において、データ転送管理機構６２は、音声記憶デバイスドライバ６１−Ａがファイルオープンできるか否かを判定する。
【０１５８】
具体的には例えば、ステップＳ４４において、データ転送管理機構６２は、音声記憶デバイスドライバ６１−Ａに対してファイルオープンの要求を行い、その要求に対する応答に基づいて、音声記憶デバイスドライバ６１−Ａがファイルオープンできるか否かを判定する。
【０１５９】
即ち、「失敗」の応答が音声記憶デバイスドライバ６１−Ａからデータ転送管理機構６２に供給された場合、ステップＳ４４において、ＮＯであると判定されて、処理はステップＳ４２に進む。ステップＳ４２において、データ転送管理機構６２は、「失敗」の応答を音声アプリ５１−Ａに送信する。これにより、その処理は終了となる。
【０１６０】
これに対して、「成功」の応答が音声記憶デバイスドライバ６１−Ａからデータ転送管理機構６２に供給された場合、ステップＳ４４において、ＹＥＳであると判定されて、処理はステップＳ４５に進む
【０１６１】
ステップＳ４５において、データ転送管理機構６２は、サウンドドライバ６３−Ａが図５と図９のステップＳ３の処理で指定されたサウンドカードをオープンできるか否かを判定する。
【０１６２】
具体的には例えば、ステップＳ４５において、データ転送管理機構６２は、サウンドドライバ６３−Ａに対してサウンドカードオープンの要求を行い、その要求に対する応答に基づいて、サウンドドライバ６３−Ａが指定されたサウンドカードをオープンできるか否かを判定する。
【０１６３】
即ち、「失敗」の応答がサウンドドライバ６３−Ａからデータ転送管理機構６２に供給された場合、ステップＳ４５において、ＮＯであると判定されて、処理はステップＳ４２に進む。ステップＳ４２において、データ転送管理機構６２は、「失敗」の応答を音声アプリ５１−Ａに送信する。これにより、その処理は終了となる。
【０１６４】
これに対して、「成功」の応答がサウンドドライバ６３−Ａからデータ転送管理機構６２に供給された場合、ステップＳ４５において、ＹＥＳであると判定されて、処理はステップＳ４６に進む。
【０１６５】
ステップＳ４６において、データ転送管理機構６２は、音声記憶デバイスドライバ６１−Ａ，変換フィルタ７１、およびサウンドドライバ６３−Ａの経路で直接データ転送できるような設定を行うことで、音声記憶デバイスドライバ６１−Ａとサウンドドライバ６３−Ａとを接続する。
【０１６６】
このように、ステップＳ４３乃至Ｓ４６までの一連の処理が、データ転送管理機構６２の上述した第２の機能（接続機能）に対応する処理である。
【０１６７】
ステップＳ４６の処理が終了すると、処理はステップＳ４７に進む。ステップＳ４７において、データ転送管理機構６２は、「成功」の応答を音声アプリ５１−Ａに送信する。
【０１６８】
その後、処理は図８のステップＳ４８に進む。ステップＳ４８において、データ転送管理機構６２は、音声アプリ５１−Ａより開始要求がなされたか否かを判定する。
【０１６９】
音声アプリ５１−Ａより開始要求がなされるまでの間、ステップＳ４８において、ＮＯであると判定されて、処理はステップＳ４８に戻され、音声アプリ５１−Ａより開始要求がなされたか否かが再度判定される。即ち、ステップＳ４８の判定処理が繰り返し実行される。
【０１７０】
上述したように、図６と図１０のステップＳ７とＳ８の処理の結果として、音声アプリ５１−Ａから開始要求がなされると、ステップＳ４８において、ＹＥＳであると判定されて、処理はステップＳ４９に進む。
【０１７１】
ステップＳ４９において、データ転送管理機構６２は、再生可能な状態であるか否かを判定する。
【０１７２】
ステップＳ４９において、再生不可能な状態であると判定された場合、処理はステップＳ５０に進む。ステップＳ５０において、データ転送管理機構６２は、「失敗」の応答を音声アプリ５１−Ａに送信し、その処理を終了させる。
【０１７３】
これに対して、ステップＳ４９において、再生可能な状態であると判定された場合、処理はステップＳ５１に進む。ステップＳ５１において、データ転送管理機構６２は、「成功」の応答を音声アプリ５１−Ａに送信する。
【０１７４】
ステップＳ５２において、データ転送管理機構６２は、音声記憶デバイスドライバ６１−Ａに対する上述したデータ取得要求の発行を開始する。
【０１７５】
その後、データ転送管理機構６２は、その処理を続行している間、データ取得要求の発行を継続する。これにより、データ転送処理のうちの上述した本発明の第１の工程の処理が、音声記憶デバイスドライバ６１−Ａにより実行されることになる。
【０１７６】
ステップＳ５３において、データ転送管理機構６２は、データ取得要求の発行を終了するか否かを判定する。
【０１７７】
なお、ここでは、例えば、再生ファイルの全ての再生が終了された場合、即ち、再生ファイルの全てに対するデータ転送処理が終了された場合、ステップＳ５３において、データ取得要求の発行を終了すると判定されるとする。
【０１７８】
従って、いまの時点では、再生ファイルが分割された各部分データのうちのいずれも、サウンドドライバ６３−Ａにまだ転送されていないので、ステップＳ５３において、ＮＯであると判定され、処理はステップＳ５４に進むことになる。
【０１７９】
ステップＳ５４において、データ転送管理機構６２は、音声記憶デバイスドライバ６１−Ａから供給されたデータの形態を、変換フィルタ７１にて変換させる。
【０１８０】
即ち、音声記憶デバイスドライバ６１−Ａから供給されたデータとは、記憶部１８に記憶された再生ファイルのうちの、音声記憶デバイスドライバ６１−Ａにより読み出された部分データを指す。例えばいまの時点では、音声記憶デバイスドライバ６１−Ａから供給されたデータとは、再生ファイルのうちの最初の部分データ、即ち、音声の最初の部分に対応する部分データを指す。
【０１８１】
また、音声記憶デバイスドライバ６１−Ａから供給された時点のデータの形態、即ち、変換フィルタ７１による変換前のデータの形態とは、例えばmp3等の圧縮符号化音声データを指し、変換フィルタ７１による変換後のデータの形態とは、オリジナルの音声データ（所定の個数のフレームデータ）を指す。
【０１８２】
ステップＳ５５において、データ転送管理機構６２は、そのデータをサウンドドライバ６３−Ａに転送させる。
【０１８３】
即ち、ステップＳ５４とＳ５５の処理が、データ転送処理のうちの上述した本発明の第２の工程の１回の処理に対応する。
【０１８４】
従って、ステップＳ５５の処理後、サウンドドライバ６３―Ａにより、データ転送処理のうちの上述した本発明の第３の工程の１回の処理が実行される。即ち、サウンドドライバ６３Ａは、変換フィルタ７１から供給された部分データを、サウンドカード７２−１とサウンドカード７２−２のうちの、図５と図９のステップＳ３の処理で指定されたサウンドカードに転送させる。すると、そのサウンドカードは、転送データに対応する音声、即ち、サウンドドライバ６３−Ａから転送されてきた部分データに対応する音声をスピーカ７３から順次出力させていく。
【０１８５】
この間、ステップＳ５６において、データ転送管理機構６２は、音声アプリ５１−Ａからの停止要求があったか否かを判定する。
【０１８６】
ステップＳ５６において、音声アプリ５１−Ａからの停止要求がまだないと判定された場合、処理はステップＳ５７に進む。
【０１８７】
ステップＳ５７において、データ転送管理機構６２は、サウンドドライバ６３−Ａの管理制御処理（上述した第１の機能の一部の管理機能に対応する処理）を行うことで、サウンドカードでの転送データに対する処理が終了したか否かを判定する。
【０１８８】
ステップＳ５７の処理で言う転送データとは、ステップＳ５５の処理でデータ転送管理機構６２からサウンドドライバ６３−Ａに転送され、さらにその後、サウンドドライバ６３−Ａからサウンドカードに転送された部分データを指す。
【０１８９】
ステップＳ５７において、サウンドカードでの転送データに対する処理がまだ終了されていないと判定されると、処理はステップＳ５６に戻されそれ以降の処理が繰り返される。即ち、サウンドカードでの転送データに対する処理が終了するまでの間、音声アプリ５１−Ａから停止要求がなされない限り、ステップＳ５６とＳ５７のループ処理が繰り返し実行される。
【０１９０】
その後、サウンドカードでの転送データに対する処理が終了すると、ステップＳ５７において、ＹＥＳであると判定され、処理はステップＳ５３に戻され、それ以降の処理が繰り返される。
【０１９１】
即ち、ステップＳ５３乃至Ｓ５７のループ処理が繰り返されて、記憶部１８に記憶されている再生ファイルから分割された各部分データのそれぞれが順次読み出され、アプリケーション層を介さずにカーネル層内を順次転送されていき、最終的にサウンドカードに順次転送されていく。そして、サウンドカードにより、各部分データに対応する音声がスピーカ７３から順次出力されていく。
【０１９２】
この間、音声アプリ５１−Ａから停止要求が特になされなかった場合、サウンドカードでの最後の部分データに対する処理が終了すると、ステップＳ５７でＹＥＳであると判定され、さらに、ステップＳ５３でＹＥＳであると判定されて、データ転送管理機構６２の処理は終了となる。
【０１９３】
これに対して、この間、図６と図１０のステップＳ１２の上述した処理の結果、音声アプリ５１−Ａから停止要求がなされると、次のステップＳ５６において、ＹＥＳであると判定されて、処理はステップＳ５８に進む。
【０１９４】
ステップＳ５８において、データ転送管理機構６２は、通常終了可能な状態であるか否かを判定する。
【０１９５】
ステップＳ５８において、通常終了可能な状態であると判定された場合、処理はステップＳ５９に進む。ステップＳ５９において、データ転送管理機構６２は、「成功」の応答を音声アプリ５１−Ａに送信し、例えば通常終了モードでその処理を終了させる。
【０１９６】
これに対して、ステップＳ５８において、通常終了不可能な状態であると判定された場合、処理はステップＳ６０に進む。ステップＳ６０において、データ転送管理機構６２は、「失敗」の応答を音声アプリ５１−Ａに送信し、例えば通常終了モードとは異なる特別なモードでその処理を終了させる。
【０１９７】
以上、図５乃至図１０を参照して、本発明の音声再生機能に対応する処理のうちの、音声アプリ５１−Ａ側の処理とデータ転送管理機構６２側の処理とについて説明したが、その他の本発明の再生機能に対応する処理も基本的に同様の流れの処理となる。即ち、図３のアプリケーションソフトウエア５１側の処理とデータ転送管理機構６２側の処理のそれぞれも、図５乃至図１０で説明した処理と基本的に同様の処理の流れとなる。
【０１９８】
ところで、上述した一連の処理はソフトウエアにより実行されるが、そのソフトウエアを構成するプログラムは、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１９９】
このようなプログラムを含む記録媒体は、例えば、図２に示されるように、装置本体とは別にユーザにプログラムを提供するために配布される、磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、若しくは光磁気ディスク（ＭＤ（Mini-Disk）を含む）などよりなるリムーバブル記録媒体２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供されるROM１２や、ハードディスクを含む記憶部１８などで構成される。
【０２００】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０１】
また、上述した例では、再生機能を有する情報処理装置に本発明が適用されたが、上述したように、本発明は、その他、データを連続して転送する機能を有する情報処理装置、例えば記録機能を有する情報処理装置にも当然ながら適用することが可能である。
【０２０２】
即ち、図３の記憶デバイスドライバ６１と出力デバイスドライバ６３の代わりに、別のドライバ等カーネル層に属するソフトウエアを用意し、用意されたソフトウエアを対象とするデータ転送管理機構６２の上述した第１の機能乃至第３の機能を実現させれば、アプリケーション層を介さずに、カーネル層内でのデータ転送が可能になる。
【０２０３】
その結果、次の第１乃至第３の効果を奏することが可能になる。即ち、第１の効果とは、データ転送（移動）の際のコピー回数が従来に比較して減る硬貨である。第２の効果とは、アプリケーション層に属するソフトウエアがデータ送受信に関知しないですむため、その構築が容易になる効果である。第３の効果とは、カーネル層に属するソフトウエア、即ち、カーネルやドライバによるデータ転送が行われることになるので、従来に比較して実行速度が向上する効果である。
【図面の簡単な説明】
【０２０４】
【図１】従来の再生機能のレイヤ構成例を示す図である。
【図２】本発明が適用される情報処理装置のハードウエア構成例を示すブロック図である。
【図３】図２の情報処理装置に搭載される再生機能、即ち、本発明の再生機能のレイヤ構成例を示す図である。
【図４】図３のレイヤ構成で示される再生機能のうちの、音声再生機能のレイヤ構成例を示す図である。
【図５】図４のレイヤ構成で実現される本発明の音声再生機能に対応する処理のうちの、音声出力制御アプリケーションソフトウエア側の処理例を説明するフローチャートである。
【図６】図４のレイヤ構成で実現される本発明の音声再生機能に対応する処理のうちの、音声出力制御アプリケーションソフトウエア側の処理例を説明するフローチャートである。
【図７】図４のレイヤ構成で実現される本発明の音声再生機能に対応する処理のうちの、データ転送管理機構側の処理例を説明するフローチャートである。
【図８】図４のレイヤ構成で実現される本発明の音声再生機能に対応する処理のうちの、データ転送管理機構側の処理例を説明するフローチャートである。
【図９】音声出力制御アプリケーションソフトウエアとデータ転送管理機構との処理の関係のうちの、図５と図７の関係を説明するアローチャートである。
【図１０】音声出力制御アプリケーションソフトウエアとデータ転送管理機構との処理の関係のうちの、図６と図８の関係を説明するアローチャートである。
【符号の説明】
【０２０５】
１１  CPU，  １２  ROM，  １３  RAM，  １７  出力部，  １８  記憶部，  ２０  ドライブ，  ２１  リムーバブル記録媒体，  ６１  記憶デバイスドライバ，  ６１−Ａ音声記憶デバイスドライバ，  ６２  データ転送管理機構６２  出力デバイスドライバ，  ６３−Ａ  サウンドドライバ，  ７１  変換フィルタ，  ７２−１，７２−２  サウンドカード，  ７３  スピーカ
【図１】
2006031607.tif 000003
【図２】
2006031607.tif 000004
【図３】
2006031607.tif 000005
【図４】
2006031607.tif 000006
【図５】
2006031607.tif 000007
【図６】
2006031607.tif 000008
【図７】
2006031607.tif 000009
【図８】
2006031607.tif 000010
【図９】
2006031607.tif 000011
【図１０】
2006031607.tif 000012