(57)【要約】【課題】音の途切れを防止し、かつ遅延を低減するプログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システムを提供する。【解決手段】本発明のプログラムは、帯域保証され、かつタイミング制約のある第１の方式で外部から転送された音信号をメモリに保持することと、前記メモリに前記所定データ単位の音信号が保持された場合に、前記音信号を処理するための処理部に対して、前記メモリに保持された音信号を処理させることと、を情報処理装置に実行させる。【選択図】図６
2020086755.tif 000002
【特許請求の範囲】
【請求項１】
帯域保証され、かつタイミング制約のある第１の方式で外部から転送された音信号をメモリに保持することと、
前記メモリに前記所定データ単位の音信号が保持された場合に、前記音信号を処理するための処理部に対して、前記メモリに保持された音信号を処理させることと、
を情報処理装置に実行させる、プログラム。
【請求項２】
前記メモリに前記所定データ単位の音信号が保持された場合に、タイミング制約のない第２の方式で通知を受信することにより、前記処理部に対して、前記メモリに保持された音信号を処理させること、
を情報処理装置に実行させる、請求項１に記載のプログラム。
【請求項３】
前記音信号は、パケットデータとして転送され、
前記パケットデータは、該パケットデータのデータ量を示す情報を含む、
請求項１または請求項２に記載のプログラム。
【請求項４】
前記音信号は、パケットデータとして転送され、
前記パケットデータは、該パケットデータを識別するための識別番号を含む、
請求項１乃至請求項３のいずれか１項に記載のプログラム。
【請求項５】
当該パケットデータの先頭および末尾に同じ識別番号を含む、
請求項４に記載のプログラム。
【請求項６】
帯域保証され、かつタイミング制約のある第１の方式で外部から転送された音信号をメモリに保持することと、
前記メモリに前記所定データ単位の音信号が保持された場合に、前記音信号を処理するための処理部に対して、前記メモリに保持された音信号を処理させることと、
を備えた情報処理方法。
【請求項７】
前記メモリに前記所定データ単位の音信号が保持された場合に、タイミング制約のない第２の方式で通知を受信することにより、前記処理部に対して、前記メモリに保持された音信号を処理させること、
を備えた請求項６に記載の情報処理方法。
【請求項８】
前記音信号は、パケットデータとして転送され、
前記パケットデータは、該パケットデータのデータ量を示す情報を含む、
請求項６または請求項７に記載の情報処理方法。
【請求項９】
前記音信号は、パケットデータとして転送され、
前記パケットデータは、該パケットデータを識別するための識別番号を含む、
請求項６乃至請求項８のいずれか１項に記載の情報処理方法。
【請求項１０】
当該パケットデータの先頭および末尾に同じ識別番号を含む、
請求項９に記載の情報処理方法。
【請求項１１】
外部から転送される音信号を受信する通信インタフェースと、
前記音信号を保持するメモリと、
帯域保証され、かつタイミング制約のある第１の方式で前記通信インタフェースを介して前記音信号を受信し、前記メモリに保持することと、前記メモリに前記所定データ単位の音信号が保持された場合に、前記音信号を処理するための処理部に対して、前記メモリに保持された音信号を処理させることと、を実行する制御部と、
を備えた情報処理装置。
【請求項１２】
音信号を送信するオーディオインタフェース側の通信インタフェースと、
帯域保証された第１の方式で前記オーディオインタフェース側の通信インタフェースを介して前記音信号を送信する処理と、所定データ単位の音信号を送信した場合に、タイミング制約のない第２の方式で通知を送信する処理と、を行なうオーディオインタフェース側制御部と、
を備えたオーディオインタフェース。
【請求項１３】
音信号を送信するオーディオインタフェース側の通信インタフェースと、帯域保証された第１の方式で前記オーディオインタフェース側の通信インタフェースを介して前記音信号を送信する処理を行なうオーディオインタフェース側制御部と、を備えたオーディオインタフェースと、
外部から転送される音信号を受信する通信インタフェースと、前記音信号を保持するメモリと、前記第１の方式で前記通信インタフェースを介して前記音信号を受信し、前記メモリに保持することと、前記メモリに前記所定データ単位の音信号が保持された場合に、前記音信号を処理するための処理部に対して、前記メモリに保持された音信号を処理させることと、を実行する制御部と、を備えた情報処理装置と、
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システムに関する。
【背景技術】
【０００２】
特許文献１乃至３には、パーソナルコンピュータ（以下、単にＰＣと言う。）におけるＵＳＢ（Universal Serial Bus）データ転送方式が開示されている。
【０００３】
例えば、特許文献１、２には、帯域保証されたアイソクロナス方式で動画を転送し、バルク方式で静止画を転送することが記載されている。
【０００４】
また、特許文献２には、アイソクロナス方式におけるサイクル時間を可変とする構成が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７６２３３号公報
【特許文献２】特開２００９−０６０５３５号公報
【特許文献３】特開２００６−３３３１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アイソクロナス方式では、所定時間（例えば１ｍｓｅｃ）毎に、データ量の情報を含む通知がなされる。ドライバは、通知がなされた際に、転送済のデータ量が上位のアプリケーションプログラムで処理可能な所定データ量に達しているか否かを判断する。ドライバは、所定データ量に達していないと判断した場合には、次の通知まで待機する。この場合、音の処理を行なうアプリケーションプログラムでは、無視できない程度の遅延が生じる可能性がある。
【０００７】
また、バルク方式またはインタラプト方式のようなタイミングに制約のない方式では、上位側のアプリケーションプログラムは、処理可能な所定データ量に達した時点で処理を行なうことができる。しかし、バルク方式およびインタラプト方式は、帯域保証されていない。データが途切れると、音の処理を行なうアプリケーションプログラムにとっては、重大な問題となる。
【０００８】
そこで、この発明は、音の途切れを防止し、かつ遅延を低減するプログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のプログラムは、帯域保証され、かつタイミング制約のある第１の方式で外部から転送された音信号をメモリに保持することと、前記メモリに前記所定データ単位の音信号が保持された場合に、前記音信号を処理するための処理部に対して、前記メモリに保持された音信号を処理させることと、を情報処理装置に実行させる。
【発明の効果】
【００１０】
この発明は、音の途切れを防止し、かつ遅延を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理システム１の構成を示すブロック図である。
【図２】ＰＣ１１の構成を示すブロック図である。
【図３】ＩＯ機器１２の構成を示すブロック図である。
【図４】ＰＣ１１およびＩＯ機器１２の機能的構成を示すブロック図である。
【図５】従来のオーディオインタフェース用ドライバの動作を示す概念図（比較例）である。
【図６】本実施形態のオーディオインタフェース用ドライバ１５１の動作を示す概念図である。
【図７】本実施形態のパケットデータの構造を示す図である。
【図８】ＩＯ機器１２の動作を示すフローチャートである。
【図９】ＰＣ１１の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
図１は、情報処理システムの構成を示すブロック図である。情報処理システム１は、情報処理装置の一例であるＰＣ１１と、オーディオインタフェースの一例であるＩＯ機器１２と、を備えている。
【００１３】
ＰＣ１１およびＩＯ機器１２は、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４、ＬＡＮ（Local Area Network）、またはＭＩＤＩ（Musical Instrument Digital Interface）等の通信インタフェースを介して接続される。
【００１４】
図２は、ＰＣ１１の構成を示すブロック図である。ＰＣ１１は、表示器１０１、ユーザインタフェース（Ｉ／Ｆ）１０２、ＣＰＵ１０３、フラッシュメモリ１０４、ＲＡＭ１０５、および通信インタフェース（Ｉ／Ｆ）１０６を備えている。これら構成は、バス１１５に接続されている。
【００１５】
表示器１０１は、例えばＬＣＤ（Liquid Crystal Display）からなり、種々の情報を表示する。ユーザＩ／Ｆ１０２は、マウスまたはキーボード等からなり、ユーザの操作を受け付ける。ユーザＩ／Ｆ１０２は、表示器１０１とともに、ＧＵＩ（Graphical User Interface）を構成する。
【００１６】
ＣＰＵ１０３は、制御部に対応する。ＣＰＵ１０３は、記憶媒体であるフラッシュメモリ１０４に記憶されているプログラムをＲＡＭ１０５に読み出して、所定の機能を実現する。例えば、ＣＰＵ１０３は、表示器１０１にユーザの操作を受け付けるための操作部の画像を表示し、ユーザＩ／Ｆ１０２を介して、当該操作部の画像に対する選択操作等を受け付けることで、ＧＵＩを実現する。
【００１７】
また、ＣＰＵ１０３は、音楽編集用のアプリケーションプログラムプログラム（以下、ＤＡＷと言う。）をフラッシュメモリ１０４から読み出して、これらプログラムに係るＧＵＩを実現する。ＲＡＭ１０５は、当該ＤＡＷのワークメモリとしても機能する。
【００１８】
図３は、ＩＯ機器１２の構成を示すブロック図である。ＩＯ機器１２は、オーディオインタフェース（Ｉ／Ｆ）２０３、信号処理部２０４、通信インタフェース（Ｉ／Ｆ）２０５、ＣＰＵ２０６、フラッシュメモリ２０７、およびＲＡＭ２０８を備えている。
【００１９】
これら構成は、バスを介して接続されている。また、オーディオＩ／Ｆ２０３および信号処理部２０４は、音信号を伝送するための波形バスにも接続されている。
【００２０】
ＣＰＵ２０６は、ＩＯ機器１２の動作を制御する、オーディオインタフェース用制御部である。ＣＰＵ２０６は、記憶媒体であるフラッシュメモリ２０７に記憶された所定のプログラムをＲＡＭ２０８に読み出して実行することにより各種の動作を行なう。例えば、ＣＰＵ２０６は、通信Ｉ／Ｆ２０５を介してＰＣ１１から受信した種々のコマンドに基づいて、オーディオＩ／Ｆ２０３における音信号の入出力、信号処理部２０４におけるミキシング処理、エフェクト処理の制御、またはパラメータの設定値の変更、等を行う。
【００２１】
信号処理部２０４は、ミキシング処理またはエフェクト処理等の各種信号処理を行なうためのＤＳＰから構成される。信号処理部２０４は、オーディオＩ／Ｆ２０３における入力端子を介して入力される音信号に、ミキシングまたはイコライジング等のエフェクト処理を施す。
【００２２】
ＣＰＵ２０６は、信号処理部２０４で信号処理された後の音信号を、オーディオＩ／Ｆ２０３における出力端子を介して出力する。または、ＣＰＵ２０６は、信号処理部２０４で信号処理された後の音信号を、通信Ｉ／Ｆ２０５を介してＰＣ１１に出力する。
【００２３】
ＣＰＵ２０６は、信号処理部２０４で信号処理された後の音信号を、所定の通信規格に応じたパケットデータとしてＰＣ１１に送信する。
【００２４】
図４は、ＰＣ１１およびＩＯ機器１２の機能的構成を示すブロック図である。
【００２５】
ＤＡＷ５１およびオーディオインタフェース用ドライバ１５１の機能的構成を示すブロック図である。この例では、通信インタフェース１０６および通信インタフェース２０５は、ＵＳＢ規格に準じたインタフェースである。
【００２６】
ＣＰＵ２０６は、機能的に、パケット処理部２７１およびワークメモリ２７２を備えている。ワークメモリ２７２は、ＲＡＭ２０８により実現される。パケット処理部２７１は、ＤＳＰ２０４で信号処理された後の音信号をワークメモリ２７２に保持する。パケット処理部２７１は、ワークメモリ２７２に保持した音信号を、所定のデータ量からなるパケットデータとして、通信インタフェース２０５を介して送信する。
【００２７】
ＰＣ１１のＣＰＵ１０３は、フラッシュメモリ１０４からプログラムを読み出して、ＤＡＷ５１およびオーディオインタフェース用ドライバ１５１を構成する。オーディオインタフェース用ドライバ１５１は、機能的に、制御部１７１およびＡＳＩＯ（Audio Stream Input Output）バッファ１９２を備えている。
【００２８】
処理部１９１は、ＤＡＷ５１における主たる機能を実行するための機能部である。処理部１９１は、ＡＳＩＯバッファ１９２に保持されている音信号を用いて種々の処理を行なう。例えば、処理部１９１は、ＡＳＩＯバッファ１９２に保持されている音信号を読み出して、所定の信号処理を施す。また、処理部１９１は、信号処理後の音信号をＩＯ機器１２に送信する。
【００２９】
オーディオインタフェース用ドライバ１５１は、ＰＣ１１のＯＳ（Operating System）に搭載されるデバイスドライバの一種である。オーディオインタフェース用ドライバ１５１は、この例では、ＵＳＢ規格に準じたドライバである。また、オーディオインタフェース用ドライバ１５１は、ＤＡＷ５１にデータを入出力するためのＡＰＩ（Application Programming Interface）として構成されている。
【００３０】
ＤＭＡコントローラ１０７は、ＣＰＵ１０３を介さずにＤＭＡバッファ１７２にデータを送受信することができる。ＤＭＡコントローラ１０７は、通信インタフェース１０６から受信したデータをＤＭＡバッファ１７２に保持する。ＤＭＡコントローラ１０７も、フラッシュメモリ１０４、またはＤＭＡコントローラ１０７のハードウェアチップに内蔵された記憶媒体、あるいはその他の記憶媒体から動作用プログラムを読み出して、受信したデータをＤＭＡバッファ１７２に保持する動作を行なう。
【００３１】
図５は、比較例として、従来のオーディオインタフェース用ドライバの動作を示す概念図であり、図６は、本実施形態のオーディオインタフェース用ドライバ１５１の動作を示す概念図である。
【００３２】
まず、図５を参照して、従来のオーディオインタフェース用ドライバの動作を説明する。図５の動作は、ＵＳＢデバイスからホストであるＰＣのアプリケーションプログラムに対して、アイソクロナス方式でデータを転送する例を示す。アイソクロナス方式によるデータ転送では、ある程度の帯域が保証されているため、途切れることが許されないデータ（例えば音信号）の送受信に適した方式である。
【００３３】
ＩＯ機器は、所定時間経過毎に、所定のデータ量からなるパケットデータをＰＣに送信する。例えば、アイソクロナス方式によるデータ転送では、ＵＳＢデバイスは、１２５μｓｅｃ経過毎に１つのパケットデータを送信する。アイソクロナス方式における１つのパケットデータのデータ量は可変（不定）である。一例として、パケットデータは、サンプリングレート４４．１ｋＨｚの音信号６サンプル分のデータが含まれている。
【００３４】
ＰＣのＤＭＡコントローラは、受信したパケットデータをＤＭＡバッファに保持する。また、ＩＯ機器は、所定時間経過毎に、転送結果の通知を行なう。アイソクロナス方式によるデータ転送では、１ｍｓを１つのサイクルとしてデータ転送を行なう。したがって、アイソクロナス方式によるデータ転送では、１ｍｓ毎に、１サイクルで転送したパケットデータのデータ量を示す情報を含めて、通知を行なう。
【００３５】
ＰＣのオーディオインタフェース用ドライバは、ＩＯ機器から送信された通知に含まれるデータ量を示す情報を参照して、上位側のアプリケーションプログラム（ＤＡＷ）で必要な最小単位のデータ量がワークメモリに保持されたか否かを判断する。
【００３６】
ＤＡＷで必要な最小単位のデータ量は、例えば、６４サンプルの音信号（１．３３ｍｓｅｃ相当のデータ）である。上述の様に、アイソクロナスでは、１ｍｓを１サイクルとしてデータ転送を行なう。この時点では、ＤＡＷで必要な最小単位のデータ量である１．３３ｍｓｅｃ相当のデータには達していない。したがって、この時点では、ＤＡＷでの処理は行なわれない。
【００３７】
さらに１ｍｓｅｃ経過して、合計２ｍｓｅｃ経過すると、再びＩＯ機器から通知が行なわれる。２ｍｓｅｃ経過した場合、ＤＡＷで必要な最小単位のデータ量である１．３３ｍｓｅｃ相当のデータが既に転送されている。したがって、オーディオインタフェース用ドライバは、ＤＡＷで必要な最小単位のデータ量がＤＭＡバッファに転送されたと判断し、ＤＭＡバッファのデータをＡＳＩＯバッファに転送する。ＤＡＷは、当該ＡＳＩＯバッファから音信号を読み出し、処理を行なう。
【００３８】
従来の方式では、本来は、１．３３ｍｓｅｃ経過した時点でＤＡＷで必要な最小単位のデータ（６４サンプルの音信号）がＤＭＡバッファに転送済である。しかし、アイソクロナス方式によるデータ転送では、１ｍｓｅｃ毎に通知が行なわれるため、ＤＡＷの処理が行なわれるのは、１ｍｓｅｃまたは２ｍｓｅｃ経過毎になる。
【００３９】
次に、図６を参照して、本実施形態におけるオーディオインタフェース用ドライバ１５１の動作を説明する。本実施形態においても、ＩＯ機器１２は、アイソクロナス方式でデータを転送する。
【００４０】
ＩＯ機器１２のパケット処理部２７１は、アイソクロナス方式に従って、所定時間（１２５μｓｅｃ）経過毎に、所定のデータ量（例えば６サンプル分）のパケットデータをＰＣ１１に送信する。オーディオインタフェース用ドライバ１５１のＤＭＡコントローラ１０７は、受信したデータをＤＭＡバッファ１７２に保持する。
【００４１】
図７は、本実施形態のパケットデータの構造を示す図である。本実施形態のパケットデータは、識別情報（以下、パケット番号と称する。）と、データ量を示す情報（以下、パケット長と称する。）と、音信号のデータと、を含む。パケット番号は、パケットの先頭および末尾に含まれている。
【００４２】
制御部１７１は、ＤＭＡバッファ１７２に保持されている各パケットデータのパケット長を参照することで、現在、ＤＭＡバッファ１７２に保持されているデータ量を把握することができる。また、ＩＯ機器１２のパケット処理部２７１は、各パケットデータのパケット長を参照することで、ＤＡＷ５１で必要な最小単位（６４サンプル）のデータ量をＰＣ１１に転送したか否かを把握することができる。
【００４３】
ＩＯ機器１２のパケット処理部２７１は、ＤＡＷ５１で必要な最小単位（６４サンプル）のデータ量を転送した場合、バルクまたはインタラプト方式で通知を行なう。バルクまたはインタラプト方式では、帯域保証はされていないが、通知のタイミングに制約はない。したがって、パケット処理部２７１は、６４サンプルのデータ量を転送した時点で、ＰＣ１１に対して通知を行なうことができる。
【００４４】
オーディオインタフェース用ドライバ１５１の制御部１７１は、当該通知を受信すると、ＤＭＡバッファ１７２に保持されているデータをＡＳＩＯバッファ１９２に転送する。これにより、ＤＡＷ５１の処理部１９１は、音信号の処理を行なうことができる。
【００４５】
なお、オーディオインタフェース用ドライバ１５１の制御部１７１は、ＩＯ機器１２から通知がなくとも、６４サンプルのデータ量がＤＭＡバッファ１７２に保持されていると判断した場合に、ＤＭＡバッファ１７２に保持されているデータをＡＳＩＯバッファ１９２に転送してもよい。
【００４６】
本実施形態においても、データ転送はアイソクロナス方式により行なわれる。一方で、通知は、バルクまたはインタラプト方式で行なわれる。したがって、処理部１９１は、６４サンプルのデータ量が転送された時点で、音信号の処理を開始することができる。本実施形態のデータ転送では、１．３３ｍｓｅｃ経過した時点で６４サンプルの音信号が転送され、かつ１．３３ｍｓｅｃ経過した時点で通知が行なわれる。したがって、処理部１９１は、１．３３ｍｓｅｃ経過した時点で、処理を行なうことができる。
【００４７】
この様に、本実施形態のオーディオインタフェース用ドライバ１５１は、帯域保証され、かつタイミング制約のある第１の方式（アイソクロナス方式）で外部から転送された音信号をＤＭＡバッファ１７２に保持し、ＤＭＡバッファ１７２に所定データ単位（６４サンプル）の音信号が保持された場合に、処理部１９１に対して音信号の処理をさせる。これにより、本実施形態のオーディオインタフェース用ドライバ１５１は、音が途切れることがなく、かつ遅延を低減することができる。
【００４８】
なお、図７では、パケットデータにパケット長を含む例を示したが、本発明においてパケットデータにパケット長を含むことは必須ではない。本発明は、データ量を把握することができれば、どの様な手法を用いてもよい。例えば、ＤＭＡコントローラ１０７は、ＤＭＡバッファ１７２に対して、初期値として、全て０値を書き込んでおく。制御部１７１は、ＤＭＡバッファ１７２において、０値以外のデータが書き込まれている場合、データ転送がされていると判断する。制御部１７１は、０値以外のデータがＤＡＷ５１で必要な最小単位（６４サンプル）に達した時点で、ＡＳＩＯバッファ１９２にデータを転送する。また、制御部１７１は、ＡＳＩＯバッファ１９２にデータを転送した後、転送済のデータを０値に書き換える。これにより、制御部１７１は、データ量を把握することができる。
【００４９】
次に、図８は、ＩＯ機器１２の動作を示すフローチャートである。図９は、ＰＣ１１の動作を示すフローチャートである。
【００５０】
まず、ＩＯ機器１２のパケット処理部２７１は、アイソクロナスで定めるパケットデータの送信タイミング（１２５μ）に到達したか否かを判断する（Ｓ１１）。パケット処理部２７１は、送信タイミングであると判断した場合、図７に示した様に、データ量を記載したパケットデータを生成する（Ｓ１２）。なお、上述した様に、アイソクロナス方式における１つのパケットデータのデータ量は可変であるため、送信タイミング毎のパケットデータのデータ量は変化する場合がある。
【００５１】
次に、パケット処理部２７１は、アイソクロナス方式に従って、生成したパケットデータをＰＣ１１に送信する（Ｓ１３）。一方、パケット処理部２７１は、送信タイミングでないと判断した場合、Ｓ１２およびＳ１３の処理をスルーする。
【００５２】
次に、パケット処理部２７１は、動作を開始してから、または前回通知を送信した後から、６４サンプル分のデータを送信したか否かを判断する（Ｓ１４）。本実施形態において、ＤＡＷ５１において必要なデータ量は、６４サンプルであるため、パケット処理部２７１は、６４サンプル分のデータを送信したか否かを判断する。ただし、ＤＡＷ５１において必要なデータ量が異なる（例えば４８サンプルである）場合には、パケット処理部２７１は、４８サンプル分のデータを送信したか否かを判断する。
【００５３】
パケット処理部２７１は、６４サンプル分のデータを送信したと判断した場合、バルクまたはインタラプト方式で、ＰＣ１１に通知を行なう（Ｓ１５）。
【００５４】
一方、図９に示す様に、ＰＣ１１のＤＭＡコントローラ１０７は、ＩＯ機器１２からパケットデータを受信したか否かを判断する（Ｓ２１）。ＤＭＡコントローラ１０７は、ＩＯ機器１２からパケットデータを受信した場合、当該パケットデータをＤＭＡバッファ１７２に保持する（Ｓ２２）。ＩＯ機器１２からパケットデータを受信していない場合、Ｓ２２の処理はスルーされる。
【００５５】
その後、オーディオインタフェース用ドライバ１５１の制御部１７１は、ＩＯ機器１２から通知を受信したか否かを判断する（Ｓ２３）。通知を受信していない場合、ＰＣ１１は、Ｓ２１の動作から繰り返す。
【００５６】
制御部１７１は、ＩＯ機器１２から通知を受信した場合、ＤＭＡコントローラ１０７によるＤＭＡバッファ１７２への転送が完了するまで待機する（Ｓ２４）。
【００５７】
本実施形態のデータ転送では、データ転送自体はアイソクロナス方式により行なわれる。一方で、通知は、タイミング制約のないバルクまたはインタラプト方式により行なわれる。したがって、アイソクロナス方式によるデータ転送が完了していないタイミングで、通知が行なわれる可能性がある。
【００５８】
そのため、制御部１７１は、ＩＯ機器１２から通知を受信した場合、ＤＭＡコントローラ１０７によるＤＭＡバッファ１７２への転送が完了するまで待機する。データ転送が完了しているか否かは、例えばパケットデータに含まれているパケット番号を参照することで行なわれる。図７に示した様に、パケットデータには、先頭および末尾にパケット番号が含まれている。制御部１７１は、ＤＭＡバッファ１７２に保持されているパケットデータにおいて、先頭および末尾に同じパケット番号が記載されている場合に、そのパケットデータについてＤＭＡバッファ１７２へのデータ転送が完了したと判断することができる。
【００５９】
制御部１７１は、ＤＭＡコントローラ１０７によるＤＭＡバッファ１７２への転送が完了した場合に、パケット番号に応じて、必要なデータをＡＳＩＯバッファ１９２に転送する（Ｓ２５）。
【００６０】
上述の様に、本実施形態では、データ転送および通知は、それぞれ異なる方式で行なわれる。つまり、データ転送は、通知に関わらず継続的に行なわれる。そのため、通知があった時点で、ＤＭＡバッファ１７２に６４サンプルのデータだけ保持されているとは限らない。例えば、通知があった時点で、既に９６サンプルのデータがＤＭＡバッファ１７２に保持されている場合もある。この場合、次の通知は、さらに３２サンプルのデータが転送された時点でなされる可能性がある。そこで、制御部１７１は、パケット番号を参照して、次の通知（さらに３２サンプルのデータが転送された時点でなされる通知）があった場合に、パケット番号を参照して、必要なデータをＡＳＩＯバッファ１９２に転送する。
【００６１】
例えば、パケット番号１からパケット番号１２８までのデータが転送され、パケット番号１２８のデータが転送された時点で通知がなされた場合、制御部１７１は、パケット番号６５からパケット番号１２８までのデータをＡＳＩＯバッファ１９２に転送する。この様に、本実施形態のパケットデータは、パケット番号（識別情報）が含まれていることで、制御部１７１は、どのデータからどのデータまでをＡＳＩＯバッファ１９２に転送すべきか、容易に判断することができる。
【００６２】
なお、本発明で言う「プログラム」は、オーディオインタフェース用ドライバ１５１と、ＤＭＡコントローラ１０７を動作させるためのプログラムと、を含む。ただし、ＣＰＵ１０３により実現されるオーディオインタフェース用ドライバ１５１が、パケットデータを受信してメモリ（ＲＡＭ１０５）に保持してもよい。この場合も、オーディオインタフェース用ドライバ１５１は、帯域保証され、かつタイミング制約のある第１の方式で外部から転送された音信号をメモリに保持することと、メモリに所定データ単位の音信号が保持された場合に、音信号を処理するための処理部１９１に対して、メモリに保持された音信号を処理させること、をＰＣ１１に実行させる。
【００６３】
最後に、本実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。さらに、本発明の範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６４】
１…情報処理システム
１１…ＰＣ
１２…ＩＯ機器
５１…ＤＡＷ
１０１…表示器
１０２…ユーザインタフェース
１０３…ＣＰＵ
１０４…フラッシュメモリ
１０５…ＲＡＭ
１０６…通信インタフェース
１０７…ＤＭＡコントローラ
１１５…バス
１５１…オーディオインタフェース用ドライバ
１７１…制御部
１７２…ＤＭＡバッファ
１９１…処理部
１９２…ＡＳＩＯバッファ
２０４…ＤＳＰ
２０５…通信インタフェース
２０６…ＣＰＵ
２０７…フラッシュメモリ
２０８…ＲＡＭ
２７１…パケット処理部
２７２…ワークメモリ
【図１】
2020086755.tif 000003
【図２】
2020086755.tif 000004
【図３】
2020086755.tif 000005
【図４】
2020086755.tif 000006
【図５】
2020086755.tif 000007
【図６】
2020086755.tif 000008
【図７】
2020086755.tif 000009
【図８】
2020086755.tif 000010
【図９】
2020086755.tif 000011