IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

特許7314500プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム
<>
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図1
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図2
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図3
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図4
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図5
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図6
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図7
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図8
  • 特許-プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-18
(45)【発行日】2023-07-26
(54)【発明の名称】プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システム
(51)【国際特許分類】
   G06F 13/42 20060101AFI20230719BHJP
   H04R 3/00 20060101ALI20230719BHJP
   G06F 13/38 20060101ALI20230719BHJP
【FI】
G06F13/42 310
H04R3/00
G06F13/38 310A
【請求項の数】 13
(21)【出願番号】P 2018218177
(22)【出願日】2018-11-21
(65)【公開番号】P2020086755
(43)【公開日】2020-06-04
【審査請求日】2021-09-21
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000970
【氏名又は名称】弁理士法人 楓国際特許事務所
(72)【発明者】
【氏名】伊藤 孝
【審査官】田名網 忠雄
(56)【参考文献】
【文献】特開平11-289320(JP,A)
【文献】特開2016-051347(JP,A)
【文献】特開2005-278201(JP,A)
【文献】特開2001-237910(JP,A)
【文献】米国特許出願公開第2005/0009546(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/38-13/42
H04R 3/00
H04L 7/00
(57)【特許請求の範囲】
【請求項1】
帯域保証され、かつタイミング制約のある第1の方式で外部から転送された音信号を第1メモリに保持することと、
前記第1メモリに所定データ単位の前記音信号が保持された場合に、タイミング制約のない第2の方式で前記外部から通知を受信することにより、前記音信号を処理するためのホストプログラムが管理する第2メモリに対して、前記ホストプログラムが前記音信号を処理可能なように前記第1メモリに保持された前記音信号を転送することと、
を情報処理装置に実行させる、プログラム。
【請求項2】
前記所定データ単位が前記ホストプログラムで処理可能な最小単位のデータ量である、請求項1に記載のプログラム。
【請求項3】
前記音信号は、パケットデータとして前記外部から転送され、
前記パケットデータは、該パケットデータのデータ量を示す情報を含む、
請求項1または請求項2に記載のプログラム。
【請求項4】
前記音信号は、パケットデータとして前記外部から転送され、
前記パケットデータは、該パケットデータを識別するための識別番号を含む、
請求項1乃至請求項3のいずれか1項に記載のプログラム。
【請求項5】
当該パケットデータの先頭および末尾に同じ識別番号を含む場合、当該パケットデータの転送が完了したと判断する、
請求項4に記載のプログラム。
【請求項6】
帯域保証され、かつタイミング制約のある第1の方式で外部から転送された音信号を第1メモリに保持することと、
前記第1メモリに所定データ単位の前記音信号が保持された場合に、タイミング制約のない第2の方式で前記外部から通知を受信することにより、前記音信号を処理するためのホストプログラムが管理する第2メモリに対して、前記ホストプログラムが前記音信号を処理可能なように前記第1メモリに保持された前記音信号を転送することと、
を備えた情報処理方法。
【請求項7】
前記所定データ単位が前記ホストプログラムで処理可能な最小単位のデータ量である、請求項6に記載の情報処理方法。
【請求項8】
前記音信号は、パケットデータとして前記外部から転送され、
前記パケットデータは、該パケットデータのデータ量を示す情報を含む、
請求項6または請求項7に記載の情報処理方法。
【請求項9】
前記音信号は、パケットデータとして前記外部から転送され、
前記パケットデータは、該パケットデータを識別するための識別番号を含む、
請求項6乃至請求項8のいずれか1項に記載の情報処理方法。
【請求項10】
当該パケットデータの先頭および末尾に同じ識別番号を含む場合、当該パケットデータの転送が完了したと判断する、
請求項9に記載の情報処理方法。
【請求項11】
外部から転送される音信号を受信する通信インタフェースと、
前記音信号を保持する第1メモリと、
帯域保証され、かつタイミング制約のある第1の方式で前記通信インタフェースを介して前記音信号を受信し、前記第1メモリに保持することと、前記第1メモリに所定データ単位の前記音信号が保持された場合に、タイミング制約のない第2の方式で前記外部から通知を受信することにより、前記音信号を処理するためのホストプログラムが管理する第2メモリに対して、前記ホストプログラムが前記音信号を処理可能なように前記第1メモリに保持された前記音信号を転送することと、を実行する制御部と、
を備えた情報処理装置。
【請求項12】
音信号を送信するオーディオ通信インタフェースと、
帯域保証された第1の方式で前記オーディオ通信インタフェースを介して前記音信号を送信する処理と、所定データ単位の前記音信号を送信した場合に、タイミング制約のない第2の方式で通知を送信する処理と、を行なうインタフェース制御部と、
を備えたオーディオインタフェース。
【請求項13】
音信号を送信するオーディオ通信インタフェースと、帯域保証された第1の方式で前記オーディオ通信インタフェースを介して前記音信号を送信する処理と、所定データ単位の前記音信号を送信した場合に、タイミング制約のない第2の方式で通知を送信する処理と、を行なうインタフェース制御部と、を備えたオーディオインタフェースと、
前記オーディオインタフェースから転送される前記音信号を受信する通信インタフェースと、前記音信号を保持する第1メモリと、前記第1の方式で前記通信インタフェースを介して前記音信号を受信し、前記第1メモリに保持することと、前記第1メモリに前記所定データ単位の前記音信号が保持された場合に、前記第2の方式で前記オーディオインタフェースから前記通知を受信することにより、前記音信号を処理するためのホストプログラムが管理する第2メモリに対して、前記ホストプログラムが前記音信号を処理可能なように前記第1メモリに保持された前記音信号を転送することと、を実行する制御部と、を備えた情報処理装置と、
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、プログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システムに関する。
【背景技術】
【0002】
特許文献1乃至3には、パーソナルコンピュータ(以下、単にPCと言う。)におけるUSB(Universal Serial Bus)データ転送方式が開示されている。
【0003】
例えば、特許文献1、2には、帯域保証されたアイソクロナス方式で動画を転送し、バルク方式で静止画を転送することが記載されている。
【0004】
また、特許文献2には、アイソクロナス方式におけるサイクル時間を可変とする構成が記載されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2005-176233号公報
【文献】特開2009-060535号公報
【文献】特開2006-333142号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
アイソクロナス方式では、所定時間(例えば1msec)毎に、データ量の情報を含む通知がなされる。ドライバは、通知がなされた際に、転送済のデータ量が上位のアプリケーションプログラムで処理可能な所定データ量に達しているか否かを判断する。ドライバは、所定データ量に達していないと判断した場合には、次の通知まで待機する。この場合、音の処理を行なうアプリケーションプログラムでは、無視できない程度の遅延が生じる可能性がある。
【0007】
また、バルク方式またはインタラプト方式のようなタイミングに制約のない方式では、上位側のアプリケーションプログラムは、処理可能な所定データ量に達した時点で処理を行なうことができる。しかし、バルク方式およびインタラプト方式は、帯域保証されていない。データが途切れると、音の処理を行なうアプリケーションプログラムにとっては、重大な問題となる。
【0008】
そこで、この発明は、音の途切れを防止し、かつ遅延を低減するプログラム、情報処理方法、情報処理装置、オーディオインタフェース、および情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明のプログラムは、帯域保証され、かつタイミング制約のある第1の方式で外部から転送された音信号をメモリに保持することと、前記メモリに前記所定データ単位の音信号が保持された場合に、前記音信号を処理するための処理部に対して、前記メモリに保持された音信号を処理させることと、を情報処理装置に実行させる。
【発明の効果】
【0010】
この発明は、音の途切れを防止し、かつ遅延を低減することができる。
【図面の簡単な説明】
【0011】
図1】情報処理システム1の構成を示すブロック図である。
図2】PC11の構成を示すブロック図である。
図3】IO機器12の構成を示すブロック図である。
図4】PC11およびIO機器12の機能的構成を示すブロック図である。
図5】従来のオーディオインタフェース用ドライバの動作を示す概念図(比較例)である。
図6】本実施形態のオーディオインタフェース用ドライバ151の動作を示す概念図である。
図7】本実施形態のパケットデータの構造を示す図である。
図8】IO機器12の動作を示すフローチャートである。
図9】PC11の動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
図1は、情報処理システムの構成を示すブロック図である。情報処理システム1は、情報処理装置の一例であるPC11と、オーディオインタフェースの一例であるIO機器12と、を備えている。
【0013】
PC11およびIO機器12は、USB(Universal Serial Bus)、IEEE1394、LAN(Local Area Network)、またはMIDI(Musical Instrument Digital Interface)等の通信インタフェースを介して接続される。
【0014】
図2は、PC11の構成を示すブロック図である。PC11は、表示器101、ユーザインタフェース(I/F)102、CPU103、フラッシュメモリ104、RAM105、および通信インタフェース(I/F)106を備えている。これら構成は、バス115に接続されている。
【0015】
表示器101は、例えばLCD(Liquid Crystal Display)からなり、種々の情報を表示する。ユーザI/F102は、マウスまたはキーボード等からなり、ユーザの操作を受け付ける。ユーザI/F102は、表示器101とともに、GUI(Graphical User Interface)を構成する。
【0016】
CPU103は、制御部に対応する。CPU103は、記憶媒体であるフラッシュメモリ104に記憶されているプログラムをRAM105に読み出して、所定の機能を実現する。例えば、CPU103は、表示器101にユーザの操作を受け付けるための操作部の画像を表示し、ユーザI/F102を介して、当該操作部の画像に対する選択操作等を受け付けることで、GUIを実現する。
【0017】
また、CPU103は、音楽編集用のアプリケーションプログラムプログラム(以下、DAWと言う。)をフラッシュメモリ104から読み出して、これらプログラムに係るGUIを実現する。RAM105は、当該DAWのワークメモリとしても機能する。
【0018】
図3は、IO機器12の構成を示すブロック図である。IO機器12は、オーディオインタフェース(I/F)203、信号処理部204、通信インタフェース(I/F)205、CPU206、フラッシュメモリ207、およびRAM208を備えている。
【0019】
これら構成は、バスを介して接続されている。また、オーディオI/F203および信号処理部204は、音信号を伝送するための波形バスにも接続されている。
【0020】
CPU206は、IO機器12の動作を制御する、オーディオインタフェース用制御部である。CPU206は、記憶媒体であるフラッシュメモリ207に記憶された所定のプログラムをRAM208に読み出して実行することにより各種の動作を行なう。例えば、CPU206は、通信I/F205を介してPC11から受信した種々のコマンドに基づいて、オーディオI/F203における音信号の入出力、信号処理部204におけるミキシング処理、エフェクト処理の制御、またはパラメータの設定値の変更、等を行う。
【0021】
信号処理部204は、ミキシング処理またはエフェクト処理等の各種信号処理を行なうためのDSPから構成される。信号処理部204は、オーディオI/F203における入力端子を介して入力される音信号に、ミキシングまたはイコライジング等のエフェクト処理を施す。
【0022】
CPU206は、信号処理部204で信号処理された後の音信号を、オーディオI/F203における出力端子を介して出力する。または、CPU206は、信号処理部204で信号処理された後の音信号を、通信I/F205を介してPC11に出力する。
【0023】
CPU206は、信号処理部204で信号処理された後の音信号を、所定の通信規格に応じたパケットデータとしてPC11に送信する。
【0024】
図4は、PC11およびIO機器12の機能的構成を示すブロック図である。
【0025】
DAW51およびオーディオインタフェース用ドライバ151の機能的構成を示すブロック図である。この例では、通信インタフェース106および通信インタフェース205は、USB規格に準じたインタフェースである。
【0026】
CPU206は、機能的に、パケット処理部271およびワークメモリ272を備えている。ワークメモリ272は、RAM208により実現される。パケット処理部271は、DSP204で信号処理された後の音信号をワークメモリ272に保持する。パケット処理部271は、ワークメモリ272に保持した音信号を、所定のデータ量からなるパケットデータとして、通信インタフェース205を介して送信する。
【0027】
PC11のCPU103は、フラッシュメモリ104からプログラムを読み出して、DAW51およびオーディオインタフェース用ドライバ151を構成する。オーディオインタフェース用ドライバ151は、機能的に、制御部171およびASIO(Audio Stream Input Output)バッファ192を備えている。
【0028】
処理部191は、DAW51における主たる機能を実行するための機能部である。処理部191は、ASIOバッファ192に保持されている音信号を用いて種々の処理を行なう。例えば、処理部191は、ASIOバッファ192に保持されている音信号を読み出して、所定の信号処理を施す。また、処理部191は、信号処理後の音信号をIO機器12に送信する。
【0029】
オーディオインタフェース用ドライバ151は、PC11のOS(Operating System)に搭載されるデバイスドライバの一種である。オーディオインタフェース用ドライバ151は、この例では、USB規格に準じたドライバである。また、オーディオインタフェース用ドライバ151は、DAW51にデータを入出力するためのAPI(Application Programming Interface)として構成されている。
【0030】
DMAコントローラ107は、CPU103を介さずにDMAバッファ172にデータを送受信することができる。DMAコントローラ107は、通信インタフェース106から受信したデータをDMAバッファ172に保持する。DMAコントローラ107も、フラッシュメモリ104、またはDMAコントローラ107のハードウェアチップに内蔵された記憶媒体、あるいはその他の記憶媒体から動作用プログラムを読み出して、受信したデータをDMAバッファ172に保持する動作を行なう。
【0031】
図5は、比較例として、従来のオーディオインタフェース用ドライバの動作を示す概念図であり、図6は、本実施形態のオーディオインタフェース用ドライバ151の動作を示す概念図である。
【0032】
まず、図5を参照して、従来のオーディオインタフェース用ドライバの動作を説明する。図5の動作は、USBデバイスからホストであるPCのアプリケーションプログラムに対して、アイソクロナス方式でデータを転送する例を示す。アイソクロナス方式によるデータ転送では、ある程度の帯域が保証されているため、途切れることが許されないデータ(例えば音信号)の送受信に適した方式である。
【0033】
IO機器は、所定時間経過毎に、所定のデータ量からなるパケットデータをPCに送信する。例えば、アイソクロナス方式によるデータ転送では、USBデバイスは、125μsec経過毎に1つのパケットデータを送信する。アイソクロナス方式における1つのパケットデータのデータ量は可変(不定)である。一例として、パケットデータは、サンプリングレート44.1kHzの音信号6サンプル分のデータが含まれている。
【0034】
PCのDMAコントローラは、受信したパケットデータをDMAバッファに保持する。また、IO機器は、所定時間経過毎に、転送結果の通知を行なう。アイソクロナス方式によるデータ転送では、1msを1つのサイクルとしてデータ転送を行なう。したがって、アイソクロナス方式によるデータ転送では、1ms毎に、1サイクルで転送したパケットデータのデータ量を示す情報を含めて、通知を行なう。
【0035】
PCのオーディオインタフェース用ドライバは、IO機器から送信された通知に含まれるデータ量を示す情報を参照して、上位側のアプリケーションプログラム(DAW)で必要な最小単位のデータ量がワークメモリに保持されたか否かを判断する。
【0036】
DAWで必要な最小単位のデータ量は、例えば、64サンプルの音信号(1.33msec相当のデータ)である。上述の様に、アイソクロナスでは、1msを1サイクルとしてデータ転送を行なう。この時点では、DAWで必要な最小単位のデータ量である1.33msec相当のデータには達していない。したがって、この時点では、DAWでの処理は行なわれない。
【0037】
さらに1msec経過して、合計2msec経過すると、再びIO機器から通知が行なわれる。2msec経過した場合、DAWで必要な最小単位のデータ量である1.33msec相当のデータが既に転送されている。したがって、オーディオインタフェース用ドライバは、DAWで必要な最小単位のデータ量がDMAバッファに転送されたと判断し、DMAバッファのデータをASIOバッファに転送する。DAWは、当該ASIOバッファから音信号を読み出し、処理を行なう。
【0038】
従来の方式では、本来は、1.33msec経過した時点でDAWで必要な最小単位のデータ(64サンプルの音信号)がDMAバッファに転送済である。しかし、アイソクロナス方式によるデータ転送では、1msec毎に通知が行なわれるため、DAWの処理が行なわれるのは、1msecまたは2msec経過毎になる。
【0039】
次に、図6を参照して、本実施形態におけるオーディオインタフェース用ドライバ151の動作を説明する。本実施形態においても、IO機器12は、アイソクロナス方式でデータを転送する。
【0040】
IO機器12のパケット処理部271は、アイソクロナス方式に従って、所定時間(125μsec)経過毎に、所定のデータ量(例えば6サンプル分)のパケットデータをPC11に送信する。オーディオインタフェース用ドライバ151のDMAコントローラ107は、受信したデータをDMAバッファ172に保持する。
【0041】
図7は、本実施形態のパケットデータの構造を示す図である。本実施形態のパケットデータは、識別情報(以下、パケット番号と称する。)と、データ量を示す情報(以下、パケット長と称する。)と、音信号のデータと、を含む。パケット番号は、パケットの先頭および末尾に含まれている。
【0042】
制御部171は、DMAバッファ172に保持されている各パケットデータのパケット長を参照することで、現在、DMAバッファ172に保持されているデータ量を把握することができる。また、IO機器12のパケット処理部271は、各パケットデータのパケット長を参照することで、DAW51で必要な最小単位(64サンプル)のデータ量をPC11に転送したか否かを把握することができる。
【0043】
IO機器12のパケット処理部271は、DAW51で必要な最小単位(64サンプル)のデータ量を転送した場合、バルクまたはインタラプト方式で通知を行なう。バルクまたはインタラプト方式では、帯域保証はされていないが、通知のタイミングに制約はない。したがって、パケット処理部271は、64サンプルのデータ量を転送した時点で、PC11に対して通知を行なうことができる。
【0044】
オーディオインタフェース用ドライバ151の制御部171は、当該通知を受信すると、DMAバッファ172に保持されているデータをASIOバッファ192に転送する。これにより、DAW51の処理部191は、音信号の処理を行なうことができる。
【0045】
なお、オーディオインタフェース用ドライバ151の制御部171は、IO機器12から通知がなくとも、64サンプルのデータ量がDMAバッファ172に保持されていると判断した場合に、DMAバッファ172に保持されているデータをASIOバッファ192に転送してもよい。
【0046】
本実施形態においても、データ転送はアイソクロナス方式により行なわれる。一方で、通知は、バルクまたはインタラプト方式で行なわれる。したがって、処理部191は、64サンプルのデータ量が転送された時点で、音信号の処理を開始することができる。本実施形態のデータ転送では、1.33msec経過した時点で64サンプルの音信号が転送され、かつ1.33msec経過した時点で通知が行なわれる。したがって、処理部191は、1.33msec経過した時点で、処理を行なうことができる。
【0047】
この様に、本実施形態のオーディオインタフェース用ドライバ151は、帯域保証され、かつタイミング制約のある第1の方式(アイソクロナス方式)で外部から転送された音信号をDMAバッファ172に保持し、DMAバッファ172に所定データ単位(64サンプル)の音信号が保持された場合に、処理部191に対して音信号の処理をさせる。これにより、本実施形態のオーディオインタフェース用ドライバ151は、音が途切れることがなく、かつ遅延を低減することができる。
【0048】
なお、図7では、パケットデータにパケット長を含む例を示したが、本発明においてパケットデータにパケット長を含むことは必須ではない。本発明は、データ量を把握することができれば、どの様な手法を用いてもよい。例えば、DMAコントローラ107は、DMAバッファ172に対して、初期値として、全て0値を書き込んでおく。制御部171は、DMAバッファ172において、0値以外のデータが書き込まれている場合、データ転送がされていると判断する。制御部171は、0値以外のデータがDAW51で必要な最小単位(64サンプル)に達した時点で、ASIOバッファ192にデータを転送する。また、制御部171は、ASIOバッファ192にデータを転送した後、転送済のデータを0値に書き換える。これにより、制御部171は、データ量を把握することができる。
【0049】
次に、図8は、IO機器12の動作を示すフローチャートである。図9は、PC11の動作を示すフローチャートである。
【0050】
まず、IO機器12のパケット処理部271は、アイソクロナスで定めるパケットデータの送信タイミング(125μ)に到達したか否かを判断する(S11)。パケット処理部271は、送信タイミングであると判断した場合、図7に示した様に、データ量を記載したパケットデータを生成する(S12)。なお、上述した様に、アイソクロナス方式における1つのパケットデータのデータ量は可変であるため、送信タイミング毎のパケットデータのデータ量は変化する場合がある。
【0051】
次に、パケット処理部271は、アイソクロナス方式に従って、生成したパケットデータをPC11に送信する(S13)。一方、パケット処理部271は、送信タイミングでないと判断した場合、S12およびS13の処理をスルーする。
【0052】
次に、パケット処理部271は、動作を開始してから、または前回通知を送信した後から、64サンプル分のデータを送信したか否かを判断する(S14)。本実施形態において、DAW51において必要なデータ量は、64サンプルであるため、パケット処理部271は、64サンプル分のデータを送信したか否かを判断する。ただし、DAW51において必要なデータ量が異なる(例えば48サンプルである)場合には、パケット処理部271は、48サンプル分のデータを送信したか否かを判断する。
【0053】
パケット処理部271は、64サンプル分のデータを送信したと判断した場合、バルクまたはインタラプト方式で、PC11に通知を行なう(S15)。
【0054】
一方、図9に示す様に、PC11のDMAコントローラ107は、IO機器12からパケットデータを受信したか否かを判断する(S21)。DMAコントローラ107は、IO機器12からパケットデータを受信した場合、当該パケットデータをDMAバッファ172に保持する(S22)。IO機器12からパケットデータを受信していない場合、S22の処理はスルーされる。
【0055】
その後、オーディオインタフェース用ドライバ151の制御部171は、IO機器12から通知を受信したか否かを判断する(S23)。通知を受信していない場合、PC11は、S21の動作から繰り返す。
【0056】
制御部171は、IO機器12から通知を受信した場合、DMAコントローラ107によるDMAバッファ172への転送が完了するまで待機する(S24)。
【0057】
本実施形態のデータ転送では、データ転送自体はアイソクロナス方式により行なわれる。一方で、通知は、タイミング制約のないバルクまたはインタラプト方式により行なわれる。したがって、アイソクロナス方式によるデータ転送が完了していないタイミングで、通知が行なわれる可能性がある。
【0058】
そのため、制御部171は、IO機器12から通知を受信した場合、DMAコントローラ107によるDMAバッファ172への転送が完了するまで待機する。データ転送が完了しているか否かは、例えばパケットデータに含まれているパケット番号を参照することで行なわれる。図7に示した様に、パケットデータには、先頭および末尾にパケット番号が含まれている。制御部171は、DMAバッファ172に保持されているパケットデータにおいて、先頭および末尾に同じパケット番号が記載されている場合に、そのパケットデータについてDMAバッファ172へのデータ転送が完了したと判断することができる。
【0059】
制御部171は、DMAコントローラ107によるDMAバッファ172への転送が完了した場合に、パケット番号に応じて、必要なデータをASIOバッファ192に転送する(S25)。
【0060】
上述の様に、本実施形態では、データ転送および通知は、それぞれ異なる方式で行なわれる。つまり、データ転送は、通知に関わらず継続的に行なわれる。そのため、通知があった時点で、DMAバッファ172に64サンプルのデータだけ保持されているとは限らない。例えば、通知があった時点で、既に96サンプルのデータがDMAバッファ172に保持されている場合もある。この場合、次の通知は、さらに32サンプルのデータが転送された時点でなされる可能性がある。そこで、制御部171は、パケット番号を参照して、次の通知(さらに32サンプルのデータが転送された時点でなされる通知)があった場合に、パケット番号を参照して、必要なデータをASIOバッファ192に転送する。
【0061】
例えば、パケット番号1からパケット番号128までのデータが転送され、パケット番号128のデータが転送された時点で通知がなされた場合、制御部171は、パケット番号65からパケット番号128までのデータをASIOバッファ192に転送する。この様に、本実施形態のパケットデータは、パケット番号(識別情報)が含まれていることで、制御部171は、どのデータからどのデータまでをASIOバッファ192に転送すべきか、容易に判断することができる。
【0062】
なお、本発明で言う「プログラム」は、オーディオインタフェース用ドライバ151と、DMAコントローラ107を動作させるためのプログラムと、を含む。ただし、CPU103により実現されるオーディオインタフェース用ドライバ151が、パケットデータを受信してメモリ(RAM105)に保持してもよい。この場合も、オーディオインタフェース用ドライバ151は、帯域保証され、かつタイミング制約のある第1の方式で外部から転送された音信号をメモリに保持することと、メモリに所定データ単位の音信号が保持された場合に、音信号を処理するための処理部191に対して、メモリに保持された音信号を処理させること、をPC11に実行させる。
【0063】
最後に、本実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。さらに、本発明の範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0064】
1…情報処理システム
11…PC
12…IO機器
51…DAW
101…表示器
102…ユーザインタフェース
103…CPU
104…フラッシュメモリ
105…RAM
106…通信インタフェース
107…DMAコントローラ
115…バス
151…オーディオインタフェース用ドライバ
171…制御部
172…DMAバッファ
191…処理部
192…ASIOバッファ
204…DSP
205…通信インタフェース
206…CPU
207…フラッシュメモリ
208…RAM
271…パケット処理部
272…ワークメモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9