JP2006031607A - 情報処理装置および方法、並びに、プログラム - Google Patents
情報処理装置および方法、並びに、プログラム Download PDFInfo
- Publication number
- JP2006031607A JP2006031607A JP2004212987A JP2004212987A JP2006031607A JP 2006031607 A JP2006031607 A JP 2006031607A JP 2004212987 A JP2004212987 A JP 2004212987A JP 2004212987 A JP2004212987 A JP 2004212987A JP 2006031607 A JP2006031607 A JP 2006031607A
- Authority
- JP
- Japan
- Prior art keywords
- software
- function
- data
- data transfer
- 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
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】アプリケーション層を介さずに、カーネル層内でデータを転送することができるようにする。
【解決手段】 データ転送管理機構62は、記憶デバイスドライバ61と出力デバイスドライバ63とを管理する管理機能、それらをカーネル層内で接続する接続機能、および、接続された記憶デバイスドライバ61と出力デバイスドライバ63との間でデータを転送させるデータ転送機能を有している。このようなデータ転送管理機構62により、記憶部18から読み出されたデータは、アプリケーションソフトウエア51を介さずに、記憶デバイスドライバ61と出力デバイスドライバ63を含むカーネル層に属するソフトウエアを介して出力部17に転送される。本発明は、パーソナルコンピュータに適用可能である。
【選択図】図3
【解決手段】 データ転送管理機構62は、記憶デバイスドライバ61と出力デバイスドライバ63とを管理する管理機能、それらをカーネル層内で接続する接続機能、および、接続された記憶デバイスドライバ61と出力デバイスドライバ63との間でデータを転送させるデータ転送機能を有している。このようなデータ転送管理機構62により、記憶部18から読み出されたデータは、アプリケーションソフトウエア51を介さずに、記憶デバイスドライバ61と出力デバイスドライバ63を含むカーネル層に属するソフトウエアを介して出力部17に転送される。本発明は、パーソナルコンピュータに適用可能である。
【選択図】図3
Description
本発明は、情報処理装置および方法並びにプログラムに関し、特に、アプリケーション層を介さずにカーネル層内でデータを転送することができる情報処理装置および方法並びにプログラムに関する。
近年、情報処理装置は、音声や映像を再生する再生機能を有していることが多い。
この再生機能は、例えば、カーネル層に属するソフトウエアとアプリケーション層に属するソフトウエアとからなるシステム、即ち、組み込みソフトウエアのシステム(例えば、特許文献1参照)により実現される。
カーネル層に属するソフトウエアとは、全てのハードウエアリソースを使用できる動作モードで動作するソフトウエアであって、それらのハードウエアリソースを管理し、それらのうちの所定の幾つかのハードウエアリソース(制限されたハードウエアリソース)の機能やサービスを、アプリケーション層に属するソフトウエアに提供可能なソフトウエアを指す。例えば、OS(Operating System)、OSの基本機能を実装したカーネル、デバイスドライバ等が、カーネル層に属するソフトウエアである。
これに対して、アプリケーション層に属するソフトウエアとは、制限されたハードウエアリソースのみしか使用できない動作モードで動作するソフトウエアである。例えば、アプリケーションソフトウエア、ライブラリ、ミドルウエアソフトウエア等が、アプリケーション層に属するソフトウエアである。
なお、制限されたハードウエアリソースのみでソフトウエア(アプリケーション層に属するソフトウエア)を構築することによって、システム停止などにつながる不正な操作から全体を保護することが、制限されたハードウエアリソースのみしか使用できない動作モードの存在する意味である。
このような観点から、一般的には、カーネル層に属するソフトウエアが、ハードウエアリソースを直接制御する。これに対して、アプリケーション層に属するソフトウエアは、ハードウエアリソースを直接制御しない。即ち、制限されたハードウエアリソースの機能やサービスが、カーネル層に属するソフトウエアからアプリケーション層に属するソフトウエアに提供される形態を取る。
ところで、このような組み込みソフトウエアを利用した再生機能が実現される場合、再生対象となる音声データや映像データ(以下、まとめて再生データと称する)を、ハードディスク等から読み出して、サウンドカードやビデオカード等に転送する処理、即ち、データ転送処理が必要になる。
なお、以下、ハードディスク等のメモリ(ハードウエアリソース)をまとめて、ストレージと称する。また、サウンドカードやビデオカード等のハードウエアリソースをまとめて、音声映像処理ハードウエアと称する。
このデータ転送処理において、ストレージから再生データを入力する(読み出す)ソフトウエアが、例えば、カーネル層に属するストレージデバイスドライバである。また、音声映像処理ハードウエアに再生データを出力するソフトウエアが、例えば、カーネル層に属するサウンドドライバやビデオドライバである。なお、以下、サウンドドライバやビデオドライバをまとめて、音声映像処理ハードウエアデバイスドライバと称する。
特開平06−309251号公報
しかしながら、Linux のようなUNIX(登録商標) 系OS等を用いる従来の再生機能には、ストレージデバイスドライバにより読み出された再生データを、音声映像処理ハードウエアデバイスドライバに直接転送する手段や仕組みは存在しない。このため、転送処理が行われる場合、ストレージデバイスドライバにより読み出された再生データは、アプリケーション層に属するソフトウエアを中継させて、音声映像処理ハードウエアデバイスドライバに転送させる必要があるという課題があった。
この課題のため、コピーの回数が多くなるという問題が発生したり、また、アプリケーション層とカーネル層との間のデータ移動のオーバヘッドが発生し、その結果、ソフトウエアの負荷が大きくなるという問題が発生する。
以下、図1を参照して、この課題についてさらに説明する。即ち、図1は、従来の再生機能のレイヤ構成図を表している。
図1に示されるように、従来の再生機能のレイヤ構成は、アプリケーション層、カーネル層、および、ハードウエア層に区分される。
図1の例のハードウエア層には、再生データが記憶されているストレージ1と、サウンドカードやビデオカードで構成される音声映像処理ハードウエア5とが含まれている。
図1の例のカーネル層には、ストレージデバイスドライバ2と、音声映像処理ハードウエアデバイスドライバ4とが含まれている。なお、図示はしていないが、このカーネル層にはOSも含まれる。
図1の例のアプリケーション層には、例えば音声や映像の再生制御を行うアプリケーションソフトウエア3が含まれている。
ここで、この図1を参照して、従来の再生機能により実現されるデータ転送処理について説明する。
なお、図1において、実線の矢印は、再生データ等の転送対象のデータの流れを示している。これに対して、点線の矢印は、その他のデータ、例えば制御データ等の流れを示している。
データ転送処理とは、次の工程1乃至工程3の処理がその順番に連続して実行される処理を指す。
工程1の処理とは、再生データをストレージ1から読み出す処理を指す。工程1の処理は、カーネル層に属するストレージデバイスドライバ2により実行される。
工程2の処理とは、工程1の処理で読み出された再生データを、音声映像処理ハードウエアデバイスドライバ4に転送する処理を指す。
工程3の処理とは、工程2の処理で転送されてきた再生データを、音声映像処理ハードウエア5に転送する処理を指す。工程3の処理は、カーネル層に属する音声映像処理ハードウエアドライバ4により実行される。
このようなデータ転送処理のうちの工程2の処理が、上述した課題の発生要因となる処理である。
即ち、図1に示されるように、従来の再生機能には、工程1の処理でカーネル層に属するストレージドライバ2により読み出されたデータを、同じくカーネル層に属する音声映像処理ハードウエアデバイスドライバ4に転送する手段や仕組みは存在しない。
ただし、カーネル層に存在するデータをアプリケーション層にコピーすることや、あるいは、その逆方向にデータをコピーすること、即ち、アプリケーション層に存在するデータをカーネル層にコピーすることは、従来においても可能である。
従って、従来の転送処理で工程2の処理を実現するためには、結局、次のような工程2−1と工程2−2といった2工程の処理が必要になる。
工程2−1の処理とは、工程1の処理でストレージ1から読み出された再生データを、アプリケーションソフトウエア3内に確保されているバッファに転送して記憶させる処理を指す。
工程2−2の処理とは、アプリケーションソフトウエア3内のバッファに記憶された再生データを読み出して、音声映像処理ハードウエアデバイスドライバ4に転送する処理を指す。
工程2−1と工程2−2の処理は、アプリケーション層に属するアプリケーションソフトウエア3により実行される。即ち、従来のアプリケーションソフトウエア3は、バッファを確保する処理の他、データの連続転送の制御処理も実行している。このことが、上述した課題の発生要因である。
本発明は、このような状況に鑑みてなされたものであり、アプリケーション層を介さずにカーネル層内でデータを転送することができるようにするものである。
本発明の情報処理装置は、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段と、ソフトウエアを保持する保持手段と、保持手段に保持されたソフトウエアが有する機能に対応する処理を実行するソフトウエア実行手段とをハードウエアとして備え、保持手段は、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第1のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第2のソフトウエアと、第1のソフトウエアと第2のソフトウエアを管理する管理機能、第1のソフトウエアと第2のソフトウエアとを接続する接続機能、および、接続機能により接続された第1のソフトウエアと第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアとを保持し、ソフトウエア実行手段は、保持手段に保持されている第1のソフトウエア乃至第3のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行することで、提供手段から提供されたデータを、カーネル層に属する第1のソフトウエアと第2のソフトウエアとを介して、データ処理手段に転送させるようにすることができる。
第3のソフトウエアは、提供手段から提供されるデータの形態を、データ処理手段が処理可能な形態に変換させる変換機能をさらに有し、ソフトウエア実行手段は、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行する場合、接続機能に対応する処理として、変換機能を介して第1のソフトウエアと第2のソフトウエアとを接続する処理を実行し、さらに、変換機能に対応する処理を実行することで、提供手段から提供されたデータを、カーネル層に属する第1のソフトウエア、変換機能、および第2のソフトウエアを介して、データ処理手段に転送させるようにすることができる。
本発明の情報処理装置においては、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とがハードウエアとして設けられている。また、本発明の情報処理装置には、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第1のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第2のソフトウエアと、第1のソフトウエアと第2のソフトウエアを管理する管理機能、第1のソフトウエアと第2のソフトウエアとを接続する接続機能、および、接続機能により接続された第1のソフトウエアと第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアとが保持されている。これにより、第1のソフトウエア乃至第3のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれが実現されると、提供手段から提供されたデータが、カーネル層に属する第1のソフトウエアと第2のソフトウエアとを介して、データ処理手段に転送される。
本発明の情報処理方法は、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とをハードウエアとして備え、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第1のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第2のソフトウエアと、第1のソフトウエアと第2のソフトウエアを管理する管理機能、第1のソフトウエアと第2のソフトウエアとを接続する接続機能、および、接続機能により接続された第1のソフトウエアと第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアとを保持している情報処理装置の情報処理方法である。詳細には、本発明の情報処理方法は、第1のソフトウエア乃至第3のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行することで、提供手段から提供されたデータを、カーネル層に属する第1のソフトウエアと第2のソフトウエアとを介して、データ処理手段に転送させることを特徴とする。
本発明の情報処理方法においては、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とをハードウエアとして備え、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第1のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第2のソフトウエアと、第1のソフトウエアと第2のソフトウエアを管理する管理機能、第1のソフトウエアと第2のソフトウエアとを接続する接続機能、および、接続機能により接続された第1のソフトウエアと第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアとを保持している情報処理装置により処理が実行される。即ち、本発明の情報処理方法においては、第1のソフトウエア乃至第3のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理が実行され、その結果、提供手段から提供されたデータが、カーネル層に属する第1のソフトウエアと第2のソフトウエアとを介して、データ処理手段に転送される。
本発明のプログラムは、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とをハードウエアとして備えるデータ処理装置に対する制御を行うコンピュータに実行させるプログラムであって、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第1のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第2のソフトウエアと、第1のソフトウエアと第2のソフトウエアを管理する管理機能、第1のソフトウエアと第2のソフトウエアとを接続する接続機能、および、接続機能により接続された第1のソフトウエアと第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアとを含み、提供手段から提供されたデータを、カーネル層に属する第1のソフトウエアと第2のソフトウエアとを介して、データ処理手段に転送させることを目的のひとつとして、コンピュータに、第1のソフトウエア乃至第3のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理を実行させることを特徴とする。
本発明のプログラムにおいては、データを提供する提供手段と、提供手段から提供されたデータに対して所定の処理を施すデータ処理手段とを備えるデータ処理装置を制御するコンピュータにより実行される。詳細には、カーネル層に属するソフトウエアとして、提供手段を制御して、提供手段から提供されたデータを入力する入力機能を有する第1のソフトウエアと、データ処理手段を制御して、提供手段から提供されたデータをデータ処理手段に出力する出力機能を有する第2のソフトウエアと、第1のソフトウエアと第2のソフトウエアを管理する管理機能、第1のソフトウエアと第2のソフトウエアとを接続する接続機能、および、接続機能により接続された第1のソフトウエアと第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアとが含まれている。このため、提供手段から提供されたデータを、カーネル層に属する第1のソフトウエアと第2のソフトウエアとを介して、データ処理手段に転送させることを目的のひとつとして、第1のソフトウエア乃至第3のソフトウエアのそれぞれが有する、入力機能、出力機能、管理機能、接続機能、およびデータ転送機能のそれぞれに対応する処理がコンピュータにより実行される。
以上のごとく、本発明によれば、データの転送ができる。特に、アプリケーション層を介さずにカーネル層内でデータを転送することができる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
本発明によれば、情報処理装置が提供される。この情報処理装置(例えば、図2参照)は、データを提供する提供手段(例えば、図2乃至図4の記憶部18)と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段(例えば、図2乃至図4の出力部17であって、具体的には例えば図4のサウンドカード72−1,72−2)と、ソフトウエアを保持する保持手段(例えば、図2のROM12、RAM13、および記憶部18のうちの少なくとも1つ)と、前記保持手段に保持された前記ソフトウエアが有する機能に対応する処理を実行するソフトウエア実行手段(例えば、図2のCPU11)とをハードウエアとして備え、前記保持手段は、前記ソフトウエアのうちのカーネル層(例えば、図3と図4参照)に属するソフトウエアとして、前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第1のソフトウエア(例えば、図3の記憶デバイスドライバ61であって、後述する音声再生機能の実現の場合には、例えば図4の音声記憶デバイスドライバ61−A)と、前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第2のソフトウエア(例えば、図3の出力デバイスドライバ63であって、後述する音声再生機能の実現の場合には、例えば図4のサウンドドライバ63−A)と、前記第1のソフトウエアと前記第2のソフトウエアを管理する管理機能、前記第1のソフトウエアと前記第2のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第1のソフトウエアと前記第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエア(例えば、図3と図4のデータ転送管理機構62)とを保持し、前記ソフトウエア実行手段は、前記保持手段に保持されている前記第1のソフトウエア乃至前記第3のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行することで、前記提供手段から提供された前記データを、前記カーネル層に属する前記第1のソフトウエアと前記第2のソフトウエアとを介して、前記データ処理手段に転送させることを特徴とする。
この情報処理装置において、前記第3のソフトウエアは、前記提供手段から提供される前記データの形態を、前記データ処理手段が処理可能な形態に変換させる変換機能(例えば、図4の変換フィルタ71)をさらに有し、前記ソフトウエア実行手段は、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行する場合、前記接続機能に対応する処理として、前記変換機能を介して前記第1のソフトウエアと前記第2のソフトウエアとを接続する処理を実行し、さらに、前記変換機能に対応する処理を実行することで、前記提供手段(例えば、図4の記憶部18)から提供された前記データを、前記カーネル層に属する前記第1のソフトウエア、前記変換機能、および前記第3のソフトウエア(例えば、図4の音声記憶デバイスドライバ61−A、変換フィルタ、および、サウンドドライバ63−A)を介して、前記データ処理手段(例えば、図4のサウンドカード72−1,72−2のうちのいずれか一方)に転送させるようにすることができる。
本発明によれば、情報処理方法が提供される。この情報処理方法は、データを提供する提供手段(例えば、図2乃至図4の記憶部18)と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段(例えば、図2乃至図4の出力部17)とをハードウエアとして備え、カーネル層に属するソフトウエアとして、前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第1のソフトウエア(例えば、図3の記憶デバイスドライバ61であって、後述する音声再生機能の実現の場合には、例えば図4の音声記憶デバイスドライバ61−A)と、前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第2のソフトウエア(例えば、図3の出力デバイスドライバ63であって、後述する音声再生機能の実現の場合には、例えば図4のサウンドドライバ63−A)と、前記第1のソフトウエアと前記第2のソフトウエアを管理する管理機能、前記第1のソフトウエアと前記第2のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第1のソフトウエアと前記第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエア(例えば、図3と図4のデータ転送管理機構62)とを保持している情報処理装置の情報処理方法である。詳細には、この情報処理方法は、前記第1のソフトウエア乃至前記第3のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理(例えば、管理機能、接続機能、およびデータ転送機能に対応する処理とは、図7のデータ転送管理機構の処理に対応する)を実行することで、前記提供手段から提供された前記データを、前記カーネル層に属する前記第1のソフトウエアと前記第2のソフトウエアとを介して、前記データ処理手段に転送させることを特徴とする。
本発明によれば、プログラムが提供される。このプログラムは、データを提供する提供手段(例えば、図2乃至図4の記憶部18)と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段(例えば、図2乃至図4の出力部17であって、具体的には例えば図4のサウンドカード72−1,72−2)とをハードウエアとして備えるデータ処理装置に対する制御を行うコンピュータ(例えば、図2のCPUを備えるコンピュータ)に実行させるプログラムであって、カーネル層に属するソフトウエアとして、前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第1のソフトウエア(例えば、図3の記憶デバイスドライバ61であって、後述する音声再生機能の実現の場合には、例えば図4の音声記憶デバイスドライバ61−A)と、前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第2のソフトウエア(例えば、図3の出力デバイスドライバ63であって、後述する音声再生機能の実現の場合には、例えば図4のサウンドドライバ63−A)と、前記第1のソフトウエアと前記第2のソフトウエアを管理する管理機能、前記第1のソフトウエアと前記第2のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第1のソフトウエアと前記第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエア(例えば、図3と図4のデータ転送管理機構62)とを含み、前記提供手段から提供された前記データを、前記カーネル層に属する前記第1のソフトウエアと前記第2のソフトウエアとを介して、前記データ処理手段に転送させることを目的のひとつとして、前記コンピュータに、前記第1のソフトウエア乃至前記第3のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行させることを特徴とする。
以下、図面を参照して、本発明の情報処理装置の実施の形態について説明する。
図2は、本実施の形態の情報処理装置のハードウエア構成例を表している。
図2の情報処理装置において、CPU(Central Processing Unit)11は、ROM(Read Only Memory)12に記録されているプログラム、または記憶部18からRAM(Random Access Memory)13にロードされたプログラムに従って各種の処理を実行する。RAM13にはまた、CPU11が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU11は、例えば、汎用CPUや高機能なAV(Audio and Visual)機器に使用されるCPUとして構成され、動作するソフトウエアにて使用できるハードウエアリソース(メモリやマシン語等)を限定する「動作モード」を持つ。即ち、上述したように、CPU11は、全てのハードウエアリソースを使用できる動作モードと、制限されたハードウエアリソースのみしか使用できない動作モードの2つの動作モードを持つ。従って、CPU11は、プログラムのうちの上述したカーネル層に属するソフトウエアを実行する場合、全てのハードウエアリソースを使用できる動作モードで動作することになる。これに対して、CPU11は、プログラムのうちのアプリケーション層に属するソフトウエアを実行する場合、制限されたハードウエアリソースのみしか使用できない動作モードで動作することになる。
なお、CPU11が実行するプログラムの具体例、即ち、アプリケーション層に属するソフトウエアの具体例や、カーネル層に属するプログラムの具体例については、図3と図4を参照して後述する。
また、このように、実際には、CPU11がプログラムに従って処理を実行することになるが、以下、説明の簡略上、プログラムが処理を実行するとして、各プログラムの説明を行っていく。
CPU11、ROM12、およびRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インタフェース15も接続されている。
入出力インタフェース15には、入力部16、出力部17、記憶部18、および、通信部19が接続されている。
入力部16は、例えばキーボード、マウスなどの入力機器により構成され、ユーザの操作に対応する各種情報をCPU11等に入力する。
出力部17は、例えばサウンドカードやビデオカードで構成され、音声信号や映像信号を出力する。従って、出力部17の少なくとも一部として、例えば、上述した図1の音声映像処理ハードウエア5を採用することも可能である。さらに必要に応じて、サウンドカードから出力される音声信号に対応する音声を出力するスピーカや、ビデオカードから出力される映像信号に対応する映像を表示するディスプレイも出力部17に設けられる。
記憶部18は、例えばハードディスクなどで構成され、CPU11が実行するプログラム、および、再生データとなり得る映像データや音声データの他、各種情報を記憶する。従って、記憶部18として、例えば、上述した図1のストレージ1のうちの少なくとも一部を採用することも可能である。
通信部19は、例えばモデム、ターミナルアダプタなどより構成され、インターネットを含むネットワークを介して他の情報処理装置との通信処理を行う。
入出力インタフェース15にはまた、必要に応じてドライブ20が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体21が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部18にインストールされる。
以上、図2を参照して、本発明が適用される情報処理装置のハードウエア構成例について説明したが、次のようなデータ転送処理を実行可能な情報処理装置であれば、そのハードウエア構成については、図2の例に限定されない。即ち、本発明が適用される情報処理装置により実行されるデータ転送処理とは、アプリケーション層を介さずに、カーネル層内でデータを転送する、といった従来には存在しない新たなデータ転送処理である。
換言すると、本発明とは、結局、このような新たなデータ転送処理を実現可能とする手法を指し、その結果、この手法が適用された情報処理装置であれば皆、そのハードウエア構成等に特に限定されず、本発明の情報処理装置であると言える。
また、本発明の適用先は、情報処理装置が有する機能のうちの、データ転送処理を必要とする機能であればいずれの機能でもよい。例えば、データ転送処理を必要とする機能の一例として、上述した背景技術では再生機能について説明したが、この再生機能に対しても本発明を適用することができる。即ち、上述した新たなデータ転送処理を伴う再生機能が、本発明の再生機能であるといえる。
そこで、以下、図3を参照して、本発明の再生機能について説明する。即ち、図3は、本発明の再生機能のレイヤ構成図を表している。
なお、図3においても図1と同様に、実線の矢印は、再生データ等の転送対象のデータの流れを示している。これに対して、点線の矢印は、その他のデータ、例えば制御データ等の流れを示している。このことは、後述する図4についても同様とされる。
図3に示されるように、本発明の再生機能のレイヤ構成も、アプリケーション層、カーネル層、および、ハードウエア層に区分される。
図3の例のハードウエア層には、再生データが記憶されている記憶部18と、サウンドカードやビデオカードで構成される出力部17とが含まれている。即ち、上述したように、図3の記憶部18は図1のストレージ1に対応し、図3の出力部17は図1の音声映像処理ハードウエア5に対応する。
図3の例のカーネル層には、記憶デバイスドライバ61、データ転送管理機構62、および、出力デバイスドライバ63が含まれている。なお、図示はしていないが、このカーネル層にはOSも含まれる。
図3の記憶デバイスドライバ61は、上述した図1のストレージデバイスドライバ2に対応する。また、出力デバイスドライバ63は、上述した図1の音声映像処理ハードウエアデバイスドライバ4に対応する。
このような記憶デバイスドライバ61と出力デバイスドライバ63とに対して、データ転送管理機構62は、従来のカーネル層(図1参照)には存在しなかったソフトウエアであって、本発明者により新たに発明されたソフトウエアである。
このデータ転送管理機構62は、次の第1の機能乃至第3の機能を有する。
第1の機能とは、連続データを送受信できるドライバを管理する管理機能である。例えば図3の例では、点線矢印で示されるように、記憶デバイスドライバ61と出力デバイスドライバ63とのそれぞれを管理する管理機能が、第1の機能である。
第2の機能とは、第1の機能により管理されるドライバ間でのデータ転送のためのコネクションをカーネル層内で作成する接続機能である。即ち、データの転送元となるドライバと、データの転送先となるドライバとをカーネル層内で接続する接続機能であって、例えば図3の例では、再生データの転送元となる記憶デバイスドライバ61と、再生データの転送先となる出力デバイスドライバ63とをカーネル層内で接続する接続機能が、第2の機能である。
なお、第2の機能で実現される接続とは、ドライバ間の直接接続の他、カーネル層に属する他のソフトウエアを介する接続も含む広い概念の接続を指す。例えば図3の実線矢印に示されるように、記憶デバイスドライバ61と出力デバイスドライバ63とを直接接続する第1の接続機能の他、記憶デバイスドライバ61、データ転送管理機構62自身、および、出力デバイスドライバ63をその順番で接続する第2の接続機能も、この第2の機能に含まれる。
第3の機能とは、第2の機能により接続されたドライバ間で連続データを実際に転送させる転送機能を指す。即ち、データの転送元となるドライバから、データの転送先となるドライバに対して、連続データを実際に転送させる転送機能であって、例えば図3の例では、記憶デバイスドライバ61から出力デバイスドライバ63に対して再生データを実際に転送させる転送機能が、第3の機能である。具体的には例えば、第2の機能のうちの第1の接続機能が実現された場合には、再生データを、記憶デバイスドライバ61から出力デバイス63に直接転送させる一方、第2の機能のうちの第2の接続機能が実現された場合には、再生データを、記憶デバイスドライバ61からデータ転送管理機構62を介して出力デバイス63に転送させる機能が、第3の機能である。
換言すると、第3の機能に対応する処理とは、[発明が解決しようとする課題]で説明したデータ転送処理のうちの第2の工程の処理を指す。
ここで、図3の例の本発明のデータ転送処理について説明する。即ち、図3を参照して、本発明のデータ転送処理における第1の工程乃至第3の工程(以下、本発明の第1の工程乃至本発明の第3の工程と称する)について順次説明する。
本発明の第1の工程の処理とは、再生対象のファイル(以下、再生ファイルと称する)を構成する連続データを所定の単位毎に読み出す処理を指す。この第1の工程の処理は、記憶デバイスドライバ61により実行されることになる。
即ち、記憶デバイスドライバ61は、1回の第1の工程の処理で、再生ファイルの全てを読み出すのではなく、そのうちの一部分の部分データを読み出すことが多い。なお、1回の第1の工程の処理で、再生ファイルの全てが読み出される場合もあり得る。
従って、本発明の第2の工程の処理とは、1回の第1の工程の処理で読み出された部分データを、出力デバイスドライバ63まで転送させる処理を指す。この本発明の第2の工程の処理が、第2の機能に対応する処理として、データ転送管理機構62により実行されるのである。
また、本発明の第3の工程の処理とは、出力デバイスドライバ63に転送されてきた部分データを出力部17に転送させる処理を指す。この第3の工程の処理は、出力デバイスドライバ63により実行されることになる。
以上のような本発明の第1の工程乃至本発明の第3の工程の繰り返し処理により、再生ファイルを構成する各部分データが記憶部18から順次読み出されて、アプリケーション層を介することなく、カーネル層内を経由して出力部17に転送されていくのである。また、この間、記憶デバイスドライバ61の第1の工程の処理を管理したり、出力デバイスドライバ63の第3の工程の処理を管理する管理機能が、上述した第1の機能のうちの少なくとも一部の機能として、データ転送管理機構62に設けられているのである。
このように、本発明の再生機能においては、第1の機能乃至第3の機能を搭載したデータ転送管理機構62がカーネル層に含まれているので、データ転送処理はカーネル層内で完結する。これにより、アプリケーション層を介さずにカーネル層内でデータを転送することが可能になる。
従って、本発明の再生機能においても、図3に示されるように、アプリケーション層には、音声や映像の再生を制御するためのアプリケーションソフトウエア51が含まれているが、このアプリケーションソフトウエア51は、図1のアプリケーションソフトウエア3とは異なり、データ転送処理の第2の工程の処理を実行する必要はない。
即ち、従来においては、例えば図1のアプリケーションソフトウエア3が、データ転送処理のうちの第2の工程の処理を実行しており、このことが従来の課題の発生要因であった。
そこで、本発明においては、従来の課題を解決すべく、即ち、データ転送処理の全工程をカーネル層内で完結させるべく、上述した第1の機能乃至第3の機能を搭載したデータ転送管理機構62がカーネル層に設けられているのである。このため、アプリケーション層に属するアプリケーションソフトウエア51は、データ転送処理の実行には一切関知せず、単に、ユーザインタフェースの管理の他、データ転送管理機構62の処理タイミングの管理、即ち、データ転送処理の開始および終了のタイミングの管理を行えばよいのである。
さらに、図4を参照して、本発明の再生機能の一具体例として、音声を再生する音声再生機能について説明する。即ち、図4は、本発明の再生機能のうちの音声再生機能に特化した場合のレイヤ構成図を表している。
図4に示されるように、ハードウエア層には、本発明の音声再生機能を実現するために必要なハードウエアリソースとして、例えば、音声データが記憶されている記憶部18、サウンドカード72−1、サウンドカード72−2、およびスピーカ73が含まれている。サウンドカード72−1、サウンドカード72−2、およびスピーカ73は、出力部17の一構成要素とされている。
即ち、図4の例では、音声処理ハードウエアとして、2つのサウンドカード72−1およびサウンドカード72−2が設けられている。このため、再生時に実際に使用するサウンドカード(以下、再生先のサウンドカードと称する)として、サウンドカード72−1とサウンドカード72−2とのうちのいずれか一方が、後述する音声出力制御アプリケーションソフトウエア51−Aにより選択される。
サウンドカード72−1およびサウンドカード72−2のうちの再生先のサウンドカードとして選択された方が、サウンドドライバ63−Aから転送されてきた音声データに対して各種音声処理を施し、その結果得られる音声信号をスピーカ73に供給する。
スピーカ73は、再生先のサウンドカードから供給された音声信号に対応する音声を出力する。
また、図4のカーネル層には、本発明の音声再生機能を実現するために必要なソフトウエアとして、例えば、音声記憶デバイスドライバ61−A、データ転送管理機構62、および、サウンドドライバ63−Aが含まれている。
音声記憶デバイスドライバ61−Aは、後述する音声出力制御アプリケーションソフトウエア51−Aにより指定された音声ファイルを再生ファイルとして、その再生ファイルを所定の単位毎に記憶部18から順次読み出す。
即ち、音声記憶デバイスドライバ61−Aは、図3の記憶デバイスドライバ61が有する機能のうちの、音声データを読み出す機能を有する部分であると言える。或いは、音声記憶デバイスドライバ61−Aや図示せぬ映像記憶デバイスドライバ等、各種データを読み出す1以上のドライバの集合体が記憶デバイスドライバ61であると捉えてもよい。
サウンドドライバ63−Aは、音声記憶デバイスドライバ61−Aから転送されてきた再生データ(音声ファイルの部分データ)、より正確には、後述する変換フィルタ71を介して転送されてきた再生データを取得する。そして、サウンドドライバ63−Aは、その再生データを、サウンドカード72−1とサウンドカード72−2とのうちの再生先のサウンドカードとして選択された方に転送させる。
なお、サウンドドライバ63−Aは、図4の例では、サウンドカード72−1とサウンドカード72−2とを制御(操作)することになるが、図4の例に限定されず、任意の数の任意の種類のサウンドカードを制御することも可能である。即ち、出力部17には、サウンドカード72−1とサウンドカード72−2との他、任意の数の任意の種類のサウンドカードを設けることも可能である。
以上のことから、サウンドドライバ63−Aは、図3の出力デバイスドライバ63が有する機能のうちの、音声データをサウンドカードに転送させる機能を有する部分であると言える。或いは、サウンドドライバ63−Aや図示せぬビデオドライバ等、各種データを出力部17に転送させる1以上のドライバの集合体が出力デバイスドライバ63であると捉えてもよい。
このように、図4の例では、本発明の音声再生機能を実現するためのドライバとして、音声記憶デバイスドライバ61−Aとサウンドドライバ63−Aが設けられている。従って、本発明の音声再生機能が図4のレイヤ構成で実現される場合には、データ転送管理機構62の上述した第1の機能乃至第3の機能のそれぞれは、例えば次のような機能になる。
即ち、図4の例の音声再生機能を実現するための第1の機能とは、音声記憶デバイスドライバ61―Aとサウンドドライバ63―Aとのそれぞれを管理する管理機能を指す。
図4の例の音声再生機能を実現するための第2の機能とは、音声記憶デバイスドライバ61―Aとサウンドドライバ63―Aとをカーネル層内で接続する接続機能を指す。
ただし、記憶部18には、オリジナルの音声データが所定の圧縮符号化方式により圧縮符号化された結果得られる圧縮符号化音声データが記憶されていることが多い。なお、このような圧縮符号化方式としては、例えば、MPEG(Moving Picture Experts Group)-1 Audio Layer 3(以下、mp3と称する)などが知られている。
これに対して、サウンドカード72−1やサウンドカード72−2は、オリジナルの音声データに対する処理を実行できるが、圧縮符号化音声データのままではその処理を実行できないことが多い。
従って、音声記憶デバイスドライバ61−Aにより圧縮符号化音声データが記憶部18から読み出された場合、その圧縮符号化音声データは、サウンドカード72−1またはサウンドカード72−2に転送されるまでの間に伸張復号されて、オリジナルの音声データに変換されている必要がある。
このため、データ転送管理機構62には、圧縮符号化音声データをオリジナルの音声データに変換させる変換フィルタ71が設けられている。そして、データ転送管理機構62は、本発明の音声再生機能が実現される場合には、変換フィルタ71を機能させ(以下、機能させることを設定するとも称する)、第2の機能に対応する処理として、音声記憶デバイスドライバ61―A、変換フィルタ71、および、サウンドドライバ63―Aをその順番で接続する処理を実行するのである。
即ち、図4の例の音声再生機能を実現するための第2の機能とは、より正確には、音声記憶デバイスドライバ61―A、変換フィルタ71、および、サウンドドライバ63―Aをその順番で接続する接続機能を指す。
従って、図4の例の音声再生機能を実現するための第3の機能とは、音声記憶デバイスドライバ61−Aにより記憶部18から読み出された圧縮符号化音声データを変換フィルタ71に転送させ、さらに、その圧縮符号化音声データが変換フィルタ71によりオリジナルの音声データに変換されて出力されてきた場合、そのオリジナルの音声データをサウンドドライバ63−Aに転送させる転送機能を指す。
なおその他、図4の例の音声再生機能を実現するために、図3のアプリケーションソフトウエア51のうちの音声再生を制御するソフトウエアとして、音声出力制御アプリケーションソフトウエア51−A(以下、音声アプリ51−Aと略称する)が設けられている。
次に、図5乃至図10を参照して、このような図4のレイヤ構造で表される本発明の音声再生機能に対応する処理のうちの、音声アプリ51−A側の処理とデータ転送管理機構62側の処理とのそれぞれについて、その順番に個別に説明していく。
即ち、図5と図6のフローチャートは、音声アプリ51−Aの処理を表している。図7と図8のフローチャートは、データ転送管理機構62の処理を表している。図9と図10のアローチャートは、音声アプリ51−Aとデータ転送管理機構62との処理の関係を表している。
そこで、以下、図5と図6を参照して音声アプリ51−Aの処理を、図7と図8を参照してデータ転送管理機構62の処理を、それぞれ個別に説明するが、これらソフトウエアの相互の処理の関係は、図9または図10の対応するステップを参照することで、容易に理解することが可能である。
図5のステップS1において、図4の音声アプリ51−Aは、再生対象の音声ファイル即ち、再生ファイルを選択する。
ステップS2において、音声アプリ51−Aは、サウンドカード72−1とサウンドカード72−2の中から、再生先のサウンドカードを選択する。
ステップS3において、音声アプリ51−Aは、データ転送管理機構62に対して、ステップS1の処理で選択された再生ファイルとステップS2の処理で選択されたサウンドカードとを指定し、接続要求を行う。
すると、データ転送管理機構62は、上述した接続機能(第2の機能)に対応する処理を実行する。即ち、後述するように、データ転送管理機構62は、変換フィルタ71を介する音声記憶デバイスドライバ61−Aとサウンドドライバ63−Aとの接続を試み、接続に成功した場合には、接続要求に対する応答として「成功」の応答を音声アプリ51−Aに送信する一方、接続に失敗した場合には、接続要求に対する応答として「失敗」の応答を音声アプリ51−Aに送信する(図7と図9のステップS40乃至S47参照)。
この間、音声アプリ51−Aは、ステップS4において、接続要求に対する応答があったか否かを判定する判定処理を繰り返している。即ち、接続要求に対する応答が送信されてくるまでは、ステップS4において、NOであると判定されて、処理はステップS4に戻され、接続要求に対する応答があったか否かが再度判定される。
その後、接続要求に対する応答が送信されてくると、ステップS4において、YESであると判定されて、処理はステップS5に進む。
ステップS5において、音声アプリ51−Aは、接続要求に対する応答が「成功」という応答であるか否かを判定する。
「失敗」であるという応答がデータ転送管理機構62から音声アプリ51−Aに送信されてきた場合、ステップS5において、NOであると判定されて、処理はステップS6に進む。ステップS6において、音声アプリ51−Aは、所定のエラー処理を実行する。これにより、音声アプリ51−Aの処理は終了となる。
これに対して、「成功」であるという応答がデータ転送管理機構62から音声アプリ51−Aに送信されてきた場合、ステップS5において、YESであると判定されて、処理は図6のステップS7に進む。
ステップS7において、音声アプリ51−Aは、再生開始が指示されたか否かを判定する。
ステップS7の判定処理は特に限定されないが、ここでは例えば、図示せぬユーザが図2の入力部16を操作することで(例えば、再生ボタンを押下することで)再生指令を入力してきた場合、ステップS7において、再生開始が指示されたと判定されるとする。
なお、入力部16から入力される各種指令は、例えば、カーネル層に属する図示せぬ入力ドライバにより音声アプリ51−Aに供給される。
従って、再生指令が音声アプリ51−Aに供給されてくるまでの間は、ステップS7においてNOであると判定され、処理はステップS7に戻され、再生開始が指示されたか否かが再度判定されることになる。即ち、ステップS7の判定処理が繰り返されることになる。
その後、再生指令が音声アプリ51−Aに供給されてくると、ステップS7においてYESであると判定され、処理はステップS8に進む。
ステップS8において、音声アプリ51−Aは、データ転送管理機構62に対して開始要求を行う。
すると、後述するように、データ転送管理機構62は、データ転送処理の実行が可能か否かを判定する(図8のステップS48(YES)、S49参照)。データ転送管理機構62は、データ転送処理の実行が可能であると判定した場合には、開始要求に対する応答として「成功」の応答を音声アプリ51−Aに送信する(図8と図10のステップS49(YES)、S51参照)。これに対して、データ転送管理機構62は、データ転送処理の実行が不可能であると判定した場合には、開始要求に対する応答として「失敗」の応答を音声アプリ51−Aに送信する(図8のステップS49(NO)、S50参照)。
この間、音声アプリ51−Aは、ステップS9において、開始要求に対する応答があったか否かを判定する判定処理を繰り返している。即ち、開始要求に対する応答が送信されてくるまでは、ステップS9において、NOであると判定されて、処理はステップS9に戻され、開始要求に対する応答があったか否かが再度判定される。
その後、開始要求に対する応答が送信されてくると、ステップS9において、YESであると判定されて、処理はステップS10に進む。
ステップS10において、音声アプリ51−Aは、開始要求に対する応答が「成功」という応答であるか否かを判定する。
「失敗」であるという応答がデータ転送管理機構62から音声アプリ51−Aに送信されてきた場合、ステップS10において、NOであると判定されて、処理は図5のステップS6に進む。ステップS6において、音声アプリ51−Aは、所定のエラー処理を実行する。これにより、音声アプリ51−Aの処理は終了となる。
これに対して、「成功」であるという応答がデータ転送管理機構62から音声アプリ51−Aに送信されてきた場合、図6のステップS10において、YESであると判定されて、処理はステップS11に進む。
ステップS11において、音声アプリ51−Aは、再生停止が指示されたか否かを判定する。
ステップS11の判定処理は特に限定されないが、ここでは例えば、図示せぬユーザが図2の入力部16を操作することで(例えば、停止ボタンを押下することで)停止指令を入力してきた場合、ステップS11において、再生停止が指示されたと判定されるとする。
従って、停止指令が音声アプリ51−Aに供給されない限り、ステップS11において、再生停止がまだ指示されていないと判定され、処理はステップS12に進む。
ステップS12において、音声アプリ51Aは、データ転送管理機構62から音声記憶デバイスドライバ61−Aに対してデータ取得要求が発行されているか否かを判定する。
ここで、データ取得要求について説明する。
データ転送管理機構62は、開始要求に対する応答として「成功」という応答を音声アプリ51−Aに送信すると、上述したように、データ転送処理のうちの本発明の第2の工程の処理を実行する。即ち、データ転送管理機構62は、音声記憶デバイスドライバ61−Aにより読み出された部分データを、変換フィルタ71を介してサウンドドライバ63−Aに転送させる処理を実行する(図8と図10のステップS51、S52、および、S53乃至S57のループ参照)。
この場合、当然ながら、音声記憶デバイスドライバ61Aは、データ転送処理のうちの本発明の第1の工程の処理、即ち、記憶部18から部分データを読み出す処理を実行している必要がある。そこで、データ転送管理機構62は、この第1の工程の処理を管理する機能、即ち、上述した第1の機能のひとつとして、音声記憶デバイスドライバ61Aに対してデータ取得要求を発行する機能を有している。データ取得要求とは、記憶部18に記憶されている再生ファイルを、部分データ単位に取得する要求を指す。
従って、データ転送管理機構62は、データ転送処理を開始させる時点で、データ取得要求の発行を開始し(図8のステップS52参照)、その後、データ取得要求を発行し続け、データ転送処理を終了させる時点、即ち、再生ファイルの音声再生を終了させる時点で、データ取得要求の発行を終了する。
このため、データ取得要求の発行が終了された場合、音声アプリ51−Aもその処理を続行する必要が無いので、ステップS12において、NOであると判定し、その処理を終了させる。
これに対して、データ取得要求が発行されている場合、音声アプリ51−Aもその処理を続行する必要があるので、ステップS12において、YESであると判定し、その処理をステップS11に戻し、それ以降の処理を繰り返す。
即ち、ユーザから再生停止が指示されるか、或いは、音声ファイルの全ての再生が終了する等としてデータ取得要求の発行が終了されるまで、ステップS11とS12のループ処理が繰り返されて、音声アプリ51−Aの処理は待機することになる。
その後、例えばユーザから再生停止が指示されると、ステップS11において、再生停止が指示されたと判定され、処理はステップS13に進む。
ステップS13において、音声アプリ51−Aは、データ転送管理機構62に対して停止要求を行う。
すると、後述するように、データ転送管理機構62は、データ転送処理の通常終了が可能か否かを判定する(図8のステップS58参照)。そして、データ転送管理機構62は、データ転送処理の通常終了が可能であると判定した場合には、停止要求に対する応答として「成功」の応答を音声アプリ51−Aに送信して、例えば通常終了モードでその処理を終了させる(図8と図10のステップS58(YES)、S59参照)。これに対して、データ転送管理機構62は、データ転送処理の通常終了が不可能であると判定した場合には、停止要求に対する応答として「失敗」の応答を音声アプリ51−Aに送信し、例えば通常終了モードとは異なる特殊なモードでその処理を終了させる(図8のステップS58(NO)、S60参照)。
この間、音声アプリ51−Aは、ステップS14において、停止要求に対する応答があったか否かを判定する判定処理を繰り返している。即ち、停止要求に対する応答が送信されてくるまでは、ステップS14において、NOであると判定されて、処理はステップS14に戻され、停止要求に対する応答があったか否かが再度判定される。
その後、停止要求に対する応答が送信されてくると、ステップS14において、YESであると判定されて、処理はステップS15に進む。
ステップS15において、音声アプリ51−Aは、停止要求に対する応答が「成功」という応答であるか否かを判定する。
「失敗」であるという応答がデータ転送管理機構62から音声アプリ51−Aに送信されてきた場合、ステップS15において、NOであると判定されて、処理は図5のステップS6に進む。ステップS6において、音声アプリ51−Aは、所定のエラー処理を実行する。これにより、音声アプリ51−Aの処理は終了となる。
これに対して、「成功」であるという応答がデータ転送管理機構62から音声アプリ51−Aに送信されてきた場合、図6のステップS15において、YESであると判定されて、音声アプリ51−Aの処理は終了となる。即ち、エラー処理などは実行されずに、音声アプリ51−Aの処理は通常に終了することになる。
以上、図5と図6を参照して、本発明の音声再生機能を実現させる処理のうちの、音声アプリ51−A側の処理について説明した。
次に、図7と図8を参照して、データ転送管理機構62側の処理について説明する。
図7のステップS40において、データ転送管理機構62は、音声アプリ51−Aより接続要求がなされたか否かを判定する。
音声アプリ51−Aより接続要求がなされるまでの間、ステップS40において、NOであると判定されて、処理はステップS40に戻され、音声アプリ51−Aより接続要求がなされたか否かが再度判定される。即ち、ステップS40の判定処理が繰り返し実行される。
上述したように、図5と図9のステップS1乃至S3の処理の結果として、音声アプリ51−Aから接続要求がなされると、ステップS40において、YESであると判定されて、処理はステップS41に進む。
ステップS41において、データ転送管理機構62は、変換フィルタがあるか否かを判定する。
上述した図5と図9のステップS3の処理で音声アプリ51−Aにより指定された再生ファイル(圧縮符号化音声データ)に対応する変換フィルタが存在しない場合、即ち、図4の変換フィルタ71が対応する変換フィルタではない場合、ステップS41において、NOであると判定されて、処理はステップS42に進む。ステップS42において、データ転送管理機構62は、「失敗」の応答を音声アプリ51−Aに送信する。これにより、その処理は終了となる。
これに対して、上述した図5と図9のステップS3の処理で音声アプリ51−Aにより指定された再生ファイル(圧縮符号化音声データ)に対応する変換フィルタが存在する場合、即ち、図4の変換フィルタ71が対応する変換フィルタである場合、ステップS41において、YESであると判定されて、処理はステップS43に進む。ステップS43において、データ転送管理機構62は、変換フィルタ71を設定する。
ステップS44において、データ転送管理機構62は、音声記憶デバイスドライバ61−Aがファイルオープンできるか否かを判定する。
具体的には例えば、ステップS44において、データ転送管理機構62は、音声記憶デバイスドライバ61−Aに対してファイルオープンの要求を行い、その要求に対する応答に基づいて、音声記憶デバイスドライバ61−Aがファイルオープンできるか否かを判定する。
即ち、「失敗」の応答が音声記憶デバイスドライバ61−Aからデータ転送管理機構62に供給された場合、ステップS44において、NOであると判定されて、処理はステップS42に進む。ステップS42において、データ転送管理機構62は、「失敗」の応答を音声アプリ51−Aに送信する。これにより、その処理は終了となる。
これに対して、「成功」の応答が音声記憶デバイスドライバ61−Aからデータ転送管理機構62に供給された場合、ステップS44において、YESであると判定されて、処理はステップS45に進む
ステップS45において、データ転送管理機構62は、サウンドドライバ63−Aが図5と図9のステップS3の処理で指定されたサウンドカードをオープンできるか否かを判定する。
具体的には例えば、ステップS45において、データ転送管理機構62は、サウンドドライバ63−Aに対してサウンドカードオープンの要求を行い、その要求に対する応答に基づいて、サウンドドライバ63−Aが指定されたサウンドカードをオープンできるか否かを判定する。
即ち、「失敗」の応答がサウンドドライバ63−Aからデータ転送管理機構62に供給された場合、ステップS45において、NOであると判定されて、処理はステップS42に進む。ステップS42において、データ転送管理機構62は、「失敗」の応答を音声アプリ51−Aに送信する。これにより、その処理は終了となる。
これに対して、「成功」の応答がサウンドドライバ63−Aからデータ転送管理機構62に供給された場合、ステップS45において、YESであると判定されて、処理はステップS46に進む。
ステップS46において、データ転送管理機構62は、音声記憶デバイスドライバ61−A,変換フィルタ71、およびサウンドドライバ63−Aの経路で直接データ転送できるような設定を行うことで、音声記憶デバイスドライバ61−Aとサウンドドライバ63−Aとを接続する。
このように、ステップS43乃至S46までの一連の処理が、データ転送管理機構62の上述した第2の機能(接続機能)に対応する処理である。
ステップS46の処理が終了すると、処理はステップS47に進む。ステップS47において、データ転送管理機構62は、「成功」の応答を音声アプリ51−Aに送信する。
その後、処理は図8のステップS48に進む。ステップS48において、データ転送管理機構62は、音声アプリ51−Aより開始要求がなされたか否かを判定する。
音声アプリ51−Aより開始要求がなされるまでの間、ステップS48において、NOであると判定されて、処理はステップS48に戻され、音声アプリ51−Aより開始要求がなされたか否かが再度判定される。即ち、ステップS48の判定処理が繰り返し実行される。
上述したように、図6と図10のステップS7とS8の処理の結果として、音声アプリ51−Aから開始要求がなされると、ステップS48において、YESであると判定されて、処理はステップS49に進む。
ステップS49において、データ転送管理機構62は、再生可能な状態であるか否かを判定する。
ステップS49において、再生不可能な状態であると判定された場合、処理はステップS50に進む。ステップS50において、データ転送管理機構62は、「失敗」の応答を音声アプリ51−Aに送信し、その処理を終了させる。
これに対して、ステップS49において、再生可能な状態であると判定された場合、処理はステップS51に進む。ステップS51において、データ転送管理機構62は、「成功」の応答を音声アプリ51−Aに送信する。
ステップS52において、データ転送管理機構62は、音声記憶デバイスドライバ61−Aに対する上述したデータ取得要求の発行を開始する。
その後、データ転送管理機構62は、その処理を続行している間、データ取得要求の発行を継続する。これにより、データ転送処理のうちの上述した本発明の第1の工程の処理が、音声記憶デバイスドライバ61−Aにより実行されることになる。
ステップS53において、データ転送管理機構62は、データ取得要求の発行を終了するか否かを判定する。
なお、ここでは、例えば、再生ファイルの全ての再生が終了された場合、即ち、再生ファイルの全てに対するデータ転送処理が終了された場合、ステップS53において、データ取得要求の発行を終了すると判定されるとする。
従って、いまの時点では、再生ファイルが分割された各部分データのうちのいずれも、サウンドドライバ63−Aにまだ転送されていないので、ステップS53において、NOであると判定され、処理はステップS54に進むことになる。
ステップS54において、データ転送管理機構62は、音声記憶デバイスドライバ61−Aから供給されたデータの形態を、変換フィルタ71にて変換させる。
即ち、音声記憶デバイスドライバ61−Aから供給されたデータとは、記憶部18に記憶された再生ファイルのうちの、音声記憶デバイスドライバ61−Aにより読み出された部分データを指す。例えばいまの時点では、音声記憶デバイスドライバ61−Aから供給されたデータとは、再生ファイルのうちの最初の部分データ、即ち、音声の最初の部分に対応する部分データを指す。
また、音声記憶デバイスドライバ61−Aから供給された時点のデータの形態、即ち、変換フィルタ71による変換前のデータの形態とは、例えばmp3等の圧縮符号化音声データを指し、変換フィルタ71による変換後のデータの形態とは、オリジナルの音声データ(所定の個数のフレームデータ)を指す。
ステップS55において、データ転送管理機構62は、そのデータをサウンドドライバ63−Aに転送させる。
即ち、ステップS54とS55の処理が、データ転送処理のうちの上述した本発明の第2の工程の1回の処理に対応する。
従って、ステップS55の処理後、サウンドドライバ63―Aにより、データ転送処理のうちの上述した本発明の第3の工程の1回の処理が実行される。即ち、サウンドドライバ63Aは、変換フィルタ71から供給された部分データを、サウンドカード72−1とサウンドカード72−2のうちの、図5と図9のステップS3の処理で指定されたサウンドカードに転送させる。すると、そのサウンドカードは、転送データに対応する音声、即ち、サウンドドライバ63−Aから転送されてきた部分データに対応する音声をスピーカ73から順次出力させていく。
この間、ステップS56において、データ転送管理機構62は、音声アプリ51−Aからの停止要求があったか否かを判定する。
ステップS56において、音声アプリ51−Aからの停止要求がまだないと判定された場合、処理はステップS57に進む。
ステップS57において、データ転送管理機構62は、サウンドドライバ63−Aの管理制御処理(上述した第1の機能の一部の管理機能に対応する処理)を行うことで、サウンドカードでの転送データに対する処理が終了したか否かを判定する。
ステップS57の処理で言う転送データとは、ステップS55の処理でデータ転送管理機構62からサウンドドライバ63−Aに転送され、さらにその後、サウンドドライバ63−Aからサウンドカードに転送された部分データを指す。
ステップS57において、サウンドカードでの転送データに対する処理がまだ終了されていないと判定されると、処理はステップS56に戻されそれ以降の処理が繰り返される。即ち、サウンドカードでの転送データに対する処理が終了するまでの間、音声アプリ51−Aから停止要求がなされない限り、ステップS56とS57のループ処理が繰り返し実行される。
その後、サウンドカードでの転送データに対する処理が終了すると、ステップS57において、YESであると判定され、処理はステップS53に戻され、それ以降の処理が繰り返される。
即ち、ステップS53乃至S57のループ処理が繰り返されて、記憶部18に記憶されている再生ファイルから分割された各部分データのそれぞれが順次読み出され、アプリケーション層を介さずにカーネル層内を順次転送されていき、最終的にサウンドカードに順次転送されていく。そして、サウンドカードにより、各部分データに対応する音声がスピーカ73から順次出力されていく。
この間、音声アプリ51−Aから停止要求が特になされなかった場合、サウンドカードでの最後の部分データに対する処理が終了すると、ステップS57でYESであると判定され、さらに、ステップS53でYESであると判定されて、データ転送管理機構62の処理は終了となる。
これに対して、この間、図6と図10のステップS12の上述した処理の結果、音声アプリ51−Aから停止要求がなされると、次のステップS56において、YESであると判定されて、処理はステップS58に進む。
ステップS58において、データ転送管理機構62は、通常終了可能な状態であるか否かを判定する。
ステップS58において、通常終了可能な状態であると判定された場合、処理はステップS59に進む。ステップS59において、データ転送管理機構62は、「成功」の応答を音声アプリ51−Aに送信し、例えば通常終了モードでその処理を終了させる。
これに対して、ステップS58において、通常終了不可能な状態であると判定された場合、処理はステップS60に進む。ステップS60において、データ転送管理機構62は、「失敗」の応答を音声アプリ51−Aに送信し、例えば通常終了モードとは異なる特別なモードでその処理を終了させる。
以上、図5乃至図10を参照して、本発明の音声再生機能に対応する処理のうちの、音声アプリ51−A側の処理とデータ転送管理機構62側の処理とについて説明したが、その他の本発明の再生機能に対応する処理も基本的に同様の流れの処理となる。即ち、図3のアプリケーションソフトウエア51側の処理とデータ転送管理機構62側の処理のそれぞれも、図5乃至図10で説明した処理と基本的に同様の処理の流れとなる。
ところで、上述した一連の処理はソフトウエアにより実行されるが、そのソフトウエアを構成するプログラムは、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
このようなプログラムを含む記録媒体は、例えば、図2に示されるように、装置本体とは別にユーザにプログラムを提供するために配布される、磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、若しくは光磁気ディスク(MD(Mini-Disk)を含む)などよりなるリムーバブル記録媒体21により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供されるROM12や、ハードディスクを含む記憶部18などで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、上述した例では、再生機能を有する情報処理装置に本発明が適用されたが、上述したように、本発明は、その他、データを連続して転送する機能を有する情報処理装置、例えば記録機能を有する情報処理装置にも当然ながら適用することが可能である。
即ち、図3の記憶デバイスドライバ61と出力デバイスドライバ63の代わりに、別のドライバ等カーネル層に属するソフトウエアを用意し、用意されたソフトウエアを対象とするデータ転送管理機構62の上述した第1の機能乃至第3の機能を実現させれば、アプリケーション層を介さずに、カーネル層内でのデータ転送が可能になる。
その結果、次の第1乃至第3の効果を奏することが可能になる。即ち、第1の効果とは、データ転送(移動)の際のコピー回数が従来に比較して減る硬貨である。第2の効果とは、アプリケーション層に属するソフトウエアがデータ送受信に関知しないですむため、その構築が容易になる効果である。第3の効果とは、カーネル層に属するソフトウエア、即ち、カーネルやドライバによるデータ転送が行われることになるので、従来に比較して実行速度が向上する効果である。
11 CPU, 12 ROM, 13 RAM, 17 出力部, 18 記憶部, 20 ドライブ, 21 リムーバブル記録媒体, 61 記憶デバイスドライバ, 61−A音声記憶デバイスドライバ, 62 データ転送管理機構62 出力デバイスドライバ, 63−A サウンドドライバ, 71 変換フィルタ, 72−1,72−2 サウンドカード, 73 スピーカ
Claims (4)
- データを提供する提供手段と、
前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段と、
ソフトウエアを保持する保持手段と、
前記保持手段に保持された前記ソフトウエアが有する機能に対応する処理を実行するソフトウエア実行手段と
をハードウエアとして備え、
前記保持手段は、
前記ソフトウエアのうちのカーネル層に属するソフトウエアとして、
前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第1のソフトウエアと、
前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第2のソフトウエアと、
前記第1のソフトウエアと前記第2のソフトウエアとを管理する管理機能、前記第1のソフトウエアと前記第2のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第1のソフトウエアと前記第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアと
を保持し、
前記ソフトウエア実行手段は、
前記保持手段に保持されている前記第1のソフトウエア乃至前記第3のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行することで、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第1のソフトウエアと前記第2のソフトウエアとを介して、前記データ処理手段に転送させる
ことを特徴とする情報処理装置。 - 前記第3のソフトウエアは、前記提供手段から提供される前記データの形態を、前記データ処理手段が処理可能な形態に変換させる変換機能をさらに有し、
前記ソフトウエア実行手段は、
前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行する場合、前記接続機能に対応する処理として、前記変換機能を介して前記第1のソフトウエアと前記第2のソフトウエアとを接続する処理を実行し、さらに、前記変換機能に対応する処理を実行することで、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第1のソフトウエア、前記変換機能、および前記第2のソフトウエアを介して、前記データ処理手段に転送させる
ことを特徴とする請求項1に記載の情報処理装置。 - データを提供する提供手段と、
前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段と
をハードウエアとして備え、
カーネル層に属するソフトウエアとして、
前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第1のソフトウエアと、
前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第2のソフトウエアと、
前記第1のソフトウエアと前記第2のソフトウエアとを管理する管理機能、前記第1のソフトウエアと前記第2のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第1のソフトウエアと前記第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアと
を保持している情報処理装置の情報処理方法において、
前記第1のソフトウエア乃至前記第3のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行することで、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第1のソフトウエアと前記第2のソフトウエアとを介して、前記データ処理手段に転送させる
ことを特徴とする情報処理方法。 - データを提供する提供手段と、前記提供手段から提供された前記データに対して所定の処理を施すデータ処理手段とをハードウエアとして備えるデータ処理装置に対する制御を行うコンピュータに実行させるプログラムであって、
カーネル層に属するソフトウエアとして、
前記提供手段を制御して、前記提供手段から提供された前記データを入力する入力機能を有する第1のソフトウエアと、
前記データ処理手段を制御して、前記提供手段から提供された前記データを前記データ処理手段に出力する出力機能を有する第2のソフトウエアと、
前記第1のソフトウエアと前記第2のソフトウエアとを管理する管理機能、前記第1のソフトウエアと前記第2のソフトウエアとを接続する接続機能、および、前記接続機能により接続された前記第1のソフトウエアと前記第2のソフトウエアとの間でデータを転送させるデータ転送機能を有する第3のソフトウエアと
を含み、
前記提供手段から提供された前記データを、前記カーネル層に属する前記第1のソフトウエアと前記第2のソフトウエアとを介して、前記データ処理手段に転送させることを目的のひとつとして、
前記コンピュータに、前記第1のソフトウエア乃至前記第3のソフトウエアのそれぞれが有する、前記入力機能、前記出力機能、前記管理機能、前記接続機能、および前記データ転送機能のそれぞれに対応する処理を実行させる
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004212987A JP2006031607A (ja) | 2004-07-21 | 2004-07-21 | 情報処理装置および方法、並びに、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004212987A JP2006031607A (ja) | 2004-07-21 | 2004-07-21 | 情報処理装置および方法、並びに、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006031607A true JP2006031607A (ja) | 2006-02-02 |
Family
ID=35897839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004212987A Withdrawn JP2006031607A (ja) | 2004-07-21 | 2004-07-21 | 情報処理装置および方法、並びに、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006031607A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9001342B2 (en) | 2011-03-02 | 2015-04-07 | Seiko Epson Corporation | POS system, POS system control method, and recording media processing system |
-
2004
- 2004-07-21 JP JP2004212987A patent/JP2006031607A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9001342B2 (en) | 2011-03-02 | 2015-04-07 | Seiko Epson Corporation | POS system, POS system control method, and recording media processing system |
US9275385B2 (en) | 2011-03-02 | 2016-03-01 | Seiko Epson Corporation | POS terminal and POS terminal control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4772297B2 (ja) | メディアファウンデーションメディアプロセッサ | |
CN101512656A (zh) | 具有提前渲染队列的gpu时间线 | |
EP2061241A1 (en) | Method and device for playing video data of high bit rate format by player suitable to play video data of low bit rate format | |
JP2003303102A (ja) | 画像処理装置 | |
TWI259454B (en) | Information playback apparatus and information playback method | |
JP3921680B2 (ja) | 記録再生装置および方法、プログラム格納媒体、並びにプログラム | |
JP2006524407A (ja) | 動画データ及び付加データを記録した情報記録媒体、その再生装置及び方法 | |
TWI261185B (en) | Storage medium storing application data providing programming function, and apparatus and method for reproducing the application | |
JP4366821B2 (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2006031607A (ja) | 情報処理装置および方法、並びに、プログラム | |
EP1401206A2 (en) | Stream Data Processing Apparatus | |
US20090129756A1 (en) | Method and device to seamlessly reproduce contents using storage medium | |
JP4194588B2 (ja) | 再生装置及び再生方法 | |
JP2000089789A (ja) | 音声認識装置及び記録媒体 | |
US20030058560A1 (en) | Apparatus and method for processing content information capable of time-divisionally carrying out recording and reproducing operations | |
JP2001169238A (ja) | ノンリニア編集装置、ノンリニア編集方法、記録媒体、テスト方法 | |
JP2005278201A (ja) | データ転送装置およびデータ転送方法 | |
JP2003209799A (ja) | 画像処理装置および方法、並びにプログラム | |
JP2005276226A (ja) | データ転送装置およびデータ転送装置の制御方法 | |
JP2014053665A (ja) | 携帯端末および放送番組記憶システム | |
JP2004112779A (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: 20071002 |