(57)【要約】【課題】バッファでエラーが発生するのを防ぎ、レイテンシを小さくする。【解決手段】バッファで未出力なデータのデータ残量の第１閾値及びバッファへ転送するデータの第１転送量を最小値にし、バッファへ第１転送量のデータを転送してバッファからデータを出力させ、データ残量が第１閾値未満になると割り込み処理によって第１転送量のデータをバッファへ転送する。割り込みによる転送終了時のデータ残量が第１閾値未満の場合には、予め定められた値を第１閾値と第１転送量に加算してからバッファを初期化し、バッファへ第１転送量のデータを転送した後、バッファからデータを出力させる。割り込み処理による転送終了時のデータ残量が第１閾値以上の場合、第１閾値と第１転送量を記憶し、記憶しているファイルのデータを転送する場合には、記憶されている第１閾値と第１転送量を基にバッファへデータを転送する。【選択図】図２
2012155459.tif 000002
【特許請求の範囲】
【請求項１】
バッファと、
前記バッファで未出力なデータの残量の閾値および前記バッファへ転送するデータの転送量を設定する設定手段と、
前記閾値および前記転送量を記憶する設定値記憶手段と、
前記設定手段で設定された転送量のデータを前記バッファへ転送する第１転送手段と、
前記バッファに転送されたデータを前記バッファから読み出すバッファ制御手段と、
前記残量が前記設定手段で設定された閾値未満であると前記設定手段で設定された転送量のデータを前記バッファへ割り込み処理で転送する第２転送手段と
を有し、
前記第２転送手段で転送した後の前記残量が設定した前記閾値未満である場合、設定した前記閾値および前記転送量に予め定められた値を加算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記第１転送手段でデータを前記バッファへ転送させ且つ前記バッファ制御手段でデータをバッファから読み出し、
前記第２転送手段で転送した後の前記残量が設定した前記閾値以上である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、
データを記憶した記憶部に記憶されているデータを前記バッファに転送する場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定すること
を特徴とする情報処理装置。
【請求項２】
バッファと、
前記バッファで未出力なデータの残量の閾値および前記バッファからデータを記憶する記憶部へ転送するデータの転送量を予め定められた値に設定する設定手段と、
前記閾値および前記転送量を記憶する設定値記憶手段と、
前記バッファへデータを書き込むバッファ制御手段と、
前記バッファに書き込まれたデータを前記バッファから前記記憶部へ転送する第１転送手段と、
前記残量が前記設定手段で設定された閾値以上であると前記設定手段で設定された転送量のデータを前記バッファから割り込み処理で前記記憶部へ転送する第２転送手段と
を有し、
前記第２転送手段で転送した後の前記残量が設定した前記閾値以上である場合、設定した前記閾値および前記転送量に予め定められた値を加算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記バッファ制御手段でデータを前記バッファへ書き込み且つ前記第１転送手段でデータをバッファから前記記憶部へ転送し、
前記第２転送手段で転送した後の前記残量が設定した前記閾値未満である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、
前記バッファに書き込まれたデータを前記記憶部に転送して記憶させる場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定すること
を特徴とする情報処理装置。
【請求項３】
バッファと、
前記バッファで未出力なデータの残量の閾値および前記バッファへ転送するデータの転送量を予め定められた値に設定する設定手段と、
前記閾値および前記転送量を記憶する設定値記憶手段と、
前記設定手段で設定された転送量のデータを前記バッファへ転送する第１転送手段と、
前記バッファに転送されたデータを前記バッファから読み出すバッファ制御手段と、
前記残量が前記設定手段で設定された閾値未満であると前記設定手段で設定された転送量のデータを前記バッファへ割り込み処理で転送する第２転送手段と
を有し、
前記第２転送手段で転送した後の前記残量が設定した前記閾値以上である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、設定されている前記閾値および前記転送量から予め定められた値を減算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記第１転送手段でデータを前記バッファへ転送させ且つ前記バッファ制御手段でデータをバッファから読み出し、
データを記憶した記憶部に記憶されているデータを前記バッファに転送する場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定すること
を特徴とする情報処理装置。
【請求項４】
バッファと、
前記バッファで未出力なデータの残量の閾値および前記バッファからデータを記憶する記憶部へ転送するデータの転送量を予め定められた値に設定する設定手段と、
前記閾値および前記転送量を記憶する設定値記憶手段と、
前記バッファへデータを書き込むバッファ制御手段と、
前記バッファに書き込まれたデータを前記バッファから前記記憶部へ転送する第１転送手段と、
前記残量が前記設定手段で設定された閾値以上であると前記設定手段で設定された転送量のデータを前記バッファから割り込み処理で前記記憶部へ転送する第２転送手段と
を有し、
前記第２転送手段で転送した後の前記残量が設定した前記閾値未満である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、設定されている前記閾値および前記転送量から予め定められた値を減算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記バッファ制御手段でデータを前記バッファへ書き込み且つ前記第１転送手段でデータをバッファから前記記憶部へ転送し、
前記バッファに書き込まれたデータを前記記憶部に転送して記憶させる場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定すること
を特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファにアクセスする技術に関する。
【背景技術】
【０００２】
特許文献１には、バッファにおいてＦＩＦＯ（First In First Out）でデータの書き込みと読み出しを行う装置が開示されている。この装置においては、バッファに予め定められた量のデータが書き込まれ、データが書き込まれるとデータの読み出しが開始される。また、この装置においては、バッファの書き込みポインタと読み出しポインタとの差が予め定められた値となると、割り込みが発生してデータが新たにバッファに書き込まれる。なお、割り込みを発生させる時の書き込みポインタと読み出しポインタとの差は、割り込みが頻繁に発生して処理の効率が低下しないように設定される。この装置によれば、バッファが空にならないように書き込みと読み出しが行われるため、効率良くデータを読み書きすることができる。
【０００３】
また、特許文献２にも、バッファにおいてＦＩＦＯでデータの書き込みと読み出しを行う装置が開示されている。この装置においては、バッファの転送に係る閾値として２つの閾値が設定されており、第２の閾値が第１の閾値より大きい値となっている。また、データ転送の単位として、第１のバイト数と第２のバイト数が設定されており、第２のバイト数は、第１のバイト数より大きい値となっている。この装置においては、バッファに格納されているデータの数が第１の閾値より大きくなると、割り込みが発生して第１のバイト数での読み出しを行う。しかしながら、バスが空いていなかったり、他の処理が行われたりしている場合には、割り込みの処理が直ぐに行われず、バッファにデータが蓄積され続けていく。ここで、バッファに格納されているデータの数が第２の閾値を超えると、再び割り込みが発生する。第２の閾値を超えたことによる割り込みが発生した場合、読み出されるデータ量は、第１のバイト数より多くなるため、読み出した後のデータの残量が少なくなり、バッファオーバーランを防いでいる。
【０００４】
また、特許文献３には、バッファからの転送間隔を制御することにより、バッファオーバーランやバッファアンダーランを防ぐ装置が開示されている。この装置においては、バッファに格納されているデータ量が上限の閾値を上回ると、データの転送間隔を短くすることによりデータの転送間隔を短くし、バッファオーバーランを防いでいる。また、バッファに格納されているデータ量が下限の閾値を下回ると、データの転送間隔を長くすることによりデータの転送間隔を長くし、バッファアンダーランを防いでいる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２３４６９号公報
【特許文献２】特開２００１−２１６２５７号公報
【特許文献３】特開２００３−２４９９４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
さて、上記のようにバッファにおいてＦＩＦＯでデータの読み書きを行う技術は、ＰＣ（Personal Computer）などのコンピュータ装置において音楽の再生や録音を行う技術にも利用されている。例えば、ＰＣでオーディオデータを再生する場合には、ＣＰＵ（Central Processing Unit）またはＤＭＡＣ（Direct Memory Access Controller）からデータがバッファへ書き込まれ、書き込まれたデータが書き込まれた順番で出力されて再生される。また、外部の装置からオーディオデータを取得して録音する場合には、外部から入力されたオーディオデータがバッファへ書き込まれ、書き込まれたデータが順番に読み出されて記憶される。
【０００７】
ところで、このように音楽の再生や録音を行う場合には、再生の開始を指示してから実際に音楽の再生が開始されるまで、または録音の開始を指示してから実際に録音が開始されるまでに遅れ（レイテンシ）がある。例えば、オーディオデータの再生を開始する場合には、バッファにデータが書き込まれ、書き込まれたデータの量がある閾値に達すると、バッファからデータの出力が開始され、割り込みが発生して新たなデータが書き込まれる。このため、この閾値を小さくすれば、レイテンシは小さくなる。しかしながら、データを書き込むＣＰＵの処理能力やＣＰＵに掛かる負荷などによりバッファへのデータの書き込みが遅い場合、この閾値を小さくしすぎると、バッファへのデータの書き込みが間に合わなくなってバッファアンダーランのエラーが生じ、音の途切れが発生してしまう。
【０００８】
本発明は、上述した背景の下になされたものであり、バッファでエラーが発生するのを防ぎ、レイテンシを小さくする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため本発明は、バッファと、前記バッファで未出力なデータの残量の閾値および前記バッファへ転送するデータの転送量を設定する設定手段と、前記閾値および前記転送量を記憶する設定値記憶手段と、前記設定手段で設定された転送量のデータを前記バッファへ転送する第１転送手段と、前記バッファに転送されたデータを前記バッファから読み出すバッファ制御手段と、前記残量が前記設定手段で設定された閾値未満であると前記設定手段で設定された転送量のデータを前記バッファへ割り込み処理で転送する第２転送手段とを有し、前記第２転送手段で転送した後の前記残量が設定した前記閾値未満である場合、設定した前記閾値および前記転送量に予め定められた値を加算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記第１転送手段でデータを前記バッファへ転送させ且つ前記バッファ制御手段でデータをバッファから読み出し、前記第２転送手段で転送した後の前記残量が設定した前記閾値以上である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、データを記憶した記憶部に記憶されているデータを前記バッファに転送する場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定することを特徴とする情報処理装置を提供する。
【００１０】
また、本発明は、バッファと、前記バッファで未出力なデータの残量の閾値および前記バッファからデータを記憶する記憶部へ転送するデータの転送量を予め定められた値に設定する設定手段と、前記閾値および前記転送量を記憶する設定値記憶手段と、前記バッファへデータを書き込むバッファ制御手段と、前記バッファに書き込まれたデータを前記バッファから前記記憶部へ転送する第１転送手段と、前記残量が前記設定手段で設定された閾値以上であると前記設定手段で設定された転送量のデータを前記バッファから割り込み処理で前記記憶部へ転送する第２転送手段とを有し、前記第２転送手段で転送した後の前記残量が設定した前記閾値以上である場合、設定した前記閾値および前記転送量に予め定められた値を加算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記バッファ制御手段でデータを前記バッファへ書き込み且つ前記第１転送手段でデータをバッファから前記記憶部へ転送し、前記第２転送手段で転送した後の前記残量が設定した前記閾値未満である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、前記バッファに書き込まれたデータを前記記憶部に転送して記憶させる場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定することを特徴とする情報処理装置を提供する。
【００１１】
また、本発明は、バッファと、前記バッファで未出力なデータの残量の閾値および前記バッファへ転送するデータの転送量を予め定められた値に設定する設定手段と、前記閾値および前記転送量を記憶する設定値記憶手段と、前記設定手段で設定された転送量のデータを前記バッファへ転送する第１転送手段と、前記バッファに転送されたデータを前記バッファから読み出すバッファ制御手段と、前記残量が前記設定手段で設定された閾値未満であると前記設定手段で設定された転送量のデータを前記バッファへ割り込み処理で転送する第２転送手段とを有し、前記第２転送手段で転送した後の前記残量が設定した前記閾値以上である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、設定されている前記閾値および前記転送量から予め定められた値を減算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記第１転送手段でデータを前記バッファへ転送させ且つ前記バッファ制御手段でデータをバッファから読み出し、データを記憶した記憶部に記憶されているデータを前記バッファに転送する場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定することを特徴とする情報処理装置を提供する。
【００１２】
また、本発明は、バッファと、前記バッファで未出力なデータの残量の閾値および前記バッファからデータを記憶する記憶部へ転送するデータの転送量を予め定められた値に設定する設定手段と、前記閾値および前記転送量を記憶する設定値記憶手段と、前記バッファへデータを書き込むバッファ制御手段と、前記バッファに書き込まれたデータを前記バッファから前記記憶部へ転送する第１転送手段と、前記残量が前記設定手段で設定された閾値以上であると前記設定手段で設定された転送量のデータを前記バッファから割り込み処理で前記記憶部へ転送する第２転送手段とを有し、前記第２転送手段で転送した後の前記残量が設定した前記閾値未満である場合、設定した前記閾値および前記転送量を前記設定値記憶手段に記憶し、設定されている前記閾値および前記転送量から予め定められた値を減算した値に前記閾値および前記転送量を設定し、前記バッファを初期化して前記バッファ制御手段でデータを前記バッファへ書き込み且つ前記第１転送手段でデータをバッファから前記記憶部へ転送し、前記バッファに書き込まれたデータを前記記憶部に転送して記憶させる場合、前記閾値を前記設定値記憶手段に記憶した閾値に設定し、前記第２転送手段で転送するデータの転送量を前記設定値記憶手段に記憶した転送量に設定することを特徴とする情報処理装置を提供する。
【発明の効果】
【００１３】
本発明によれば、バッファでエラーが発生するのを防ぎ、レイテンシを小さくすることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る情報処理装置のハードウェアの構成を示したブロック図。
【図２】ＣＰＵ１０２が行う処理の流れを示したフローチャート。
【図３】再生メモリ１０８Ｃにおけるオーディオデータの残量の模式図。
【図４】ＣＰＵ１０２が行う処理の流れを示したフローチャート。
【図５】録音メモリ１０８Ｄにおけるオーディオデータの残量の模式図。
【図６】ＣＰＵ１０２が行う処理の流れを示したフローチャート。
【図７】ＣＰＵ１０２が行う処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１５】
［実施形態］
（実施形態のハードウェア構成）
図１は、本発明の実施形態に係る情報処理装置１のハードウェア構成を示したブロック図である。図１に示したように、情報処理装置１の各部はバス１０１に接続され、このバス１０１を介して各部間で各種データのやり取りを行う。なお、本実施形態においては、情報処理装置１は、所謂パーソナルコンピュータであり、オペレーティングシステム上で各種アプリケーションプログラムを実行する。
【００１６】
操作部１０６は、キーボードやマウス等、情報処理装置１を操作するための装置を備えている。情報処理装置１の操作者がキーボードやマウスを操作することにより、操作者から情報処理装置１に対する各種指示や情報の入力が行われる。表示部１０７は、表示装置として液晶ディスプレイを有しており、ＣＰＵ１０２の制御の下、情報処理装置１を操作するための各種メニュー画面やメッセージ等を表示する。なお、表示装置は液晶ディスプレイに限定されるものではなく、ＣＲＴ（Cathode Ray Tube）やＥＬ（electro-luminescence）ディスプレイ等、他の表示装置であってもよい。
【００１７】
オーディオインターフェース１０８は、音を表すオーディオ信号を他の装置から受け取り、情報処理装置１で生成されたオーディオ信号を他の装置へ出力するインターフェースである。入力端子１０８Ａは、オーディオ信号が入力される端子である。入力端子１０８Ａには、例えば、マイクロフォンや電子楽器などが接続され、接続された装置からオーディオ信号が入力される。出力端子１０８Ｂは、オーディオ信号が出力される端子であり、アンプまたはアンプを内蔵したスピーカなどが接続される。再生メモリ１０８Ｃは、オーディオデータを記憶するバッファとなるメモリである。再生メモリ１０８Ｃは、バス１０１を介してＣＰＵ１０２から供給されるデータを記憶し、記憶したデータをＤ／Ａコンバータ１０８Ｇへ出力する。録音メモリ１０８Ｄは、オーディオデータを記憶するバッファとなるメモリである。録音メモリ１０８Ｄは、Ａ／Ｄコンバータ１０８Ｈから供給されるデータを記憶するバッファとなるメモリであり、記憶したデータを記憶部１０５へ出力する。なお、再生メモリ１０８Ｃと録音メモリ１０８Ｄにおいては、データの書き込みと読み出しは、非同期のＦＩＦＯで行われる。
【００１８】
再生メモリ制御部１０８Ｅは、バッファとなる再生メモリ１０８Ｃを制御するバッファ制御手段であり、再生メモリ１０８Ｃにおいてデータを書き込むアドレスを示す書き込みポインタや、再生メモリ１０８Ｃにおいてデータを読み出すアドレスを示す読み出しポインタを管理する。また、再生メモリ制御部１０８Ｅは、再生メモリ１０８Ｃへのデータの書き込み開始／終了や再生メモリ１０８Ｃからのデータの読み出し開始／終了を制御する。また、再生メモリ制御部１０８Ｅは、再生メモリ１０８Ｃにおいて読み出されていないデータの残量（データ残量）を求め、求めた残量が定められた閾値（以下、第１閾値とする）未満であると割り込み処理を要求する割り込み要求（第１割り込み要求）を割り込みコントローラ１０９へ出力する。なお、この第１閾値は、ＣＰＵ１０２により設定される。
【００１９】
録音メモリ制御部１０８Ｆは、バッファとなる録音メモリ１０８Ｄを制御するバッファ制御手段であり、録音メモリ１０８Ｄにおいてデータを書き込むアドレスを示す書き込みポインタや、録音メモリ１０８Ｄにおいてデータを読み出すアドレスを示す読み出しポインタを管理する。また、録音メモリ制御部１０８Ｆは、録音メモリ１０８Ｄへのデータの書き込み開始／終了や録音メモリ１０８Ｄからのデータの読み出し開始／終了を制御する。また、録音メモリ制御部１０８Ｆは、録音メモリ１０８Ｄにおいて読み出されていないデータの残量を求め、求めた残量が定められた閾値（以下、第２閾値とする）以上であると割り込み要求（第２割り込み要求）を割り込みコントローラ１０９へ出力する。なお、この第２閾値は、ＣＰＵ１０２により設定される。
【００２０】
Ａ／Ｄコンバータ１０８Ｈは、アナログの信号をデジタルデータに変換する回路である。Ａ／Ｄコンバータ１０８Ｈは、入力端子１０８Ａから供給されるアナログのオーディオ信号をデジタルのオーディオデータに変換し、このオーディオデータを録音メモリ１０８Ｄへ出力する。Ｄ／Ａコンバータ１０８Ｇは、デジタルデータをアナログの信号に変換する回路である。Ｄ／Ａコンバータ１０８Ｇは、再生メモリ１０８Ｃから読み出されたオーディオデータをアナログのオーディオ信号に変換し、このオーディオ信号を出力端子１０８Ｂへ出力する。
【００２１】
記憶部１０５は、ハードディスクを具備しており、オペレーティングシステムの機能を実現させるプログラム（ＯＳプログラム）を記憶している。また、記憶部１０５は、複数のオーディオデータで構成されて楽曲を表すオーディオファイルや、オーディオファイルの記憶や再生を行うアプリケーションプログラム（以下、オーディオアプリと称する）を記憶している。
【００２２】
割り込みコントローラ１０９は、ＣＰＵ１０２に割り込み処理を実行させる割り込み信号を出力する回路である。割り込みコントローラ１０９は、再生メモリ制御部１０８Ｅや録音メモリ制御部１０８Ｆから出力された割り込み要求を取得する。割り込みコントローラ１０９は、第１割り込み要求を取得した場合には、第１割り込み要求に対応した第１割り込み信号をＣＰＵ１０２へ出力し、第２割り込み要求を取得した場合には、第２割り込み要求に対応した第２割り込み信号をＣＰＵ１０２へ出力する。
【００２３】
ＲＯＭ（Read Only Memory）１０３は、ＩＰＬ（Initial Program Loader）を記憶している。情報処理装置１の電源が入れられると、ＣＰＵ１０２はＲＯＭ１０３からＩＰＬを読み出して起動する。ＣＰＵ１０２によりＩＰＬが起動されると、ＯＳプログラムがＲＡＭ（Random Access Memory）１０４を作業エリアにして実行され、オペレーティングシステムの機能が実現する。なお、情報処理装置１においてオペレーティングシステムの機能が実現するとアプリケーションプログラムを実行することが可能となる。ＣＰＵ１０２によりオーディオアプリが実行されると、情報処理装置１においては、オーディオデータを記憶する機能（録音メモリ１０８Ｄに格納されたデータを記憶部１０５に記憶する機能）やオーディオデータの再生を行う機能（オーディオファイルのオーディオデータを再生メモリ１０８Ｃへ転送し、転送されたデータをＤ／Ａコンバータ１０８Ｇでアナログ信号に変換して出力する機能）が実現する。また、ＣＰＵ１０２によりオーディオアプリが実行されると、情報処理装置１においては、レイテンシを調整する機能が実現する。なお、本実施形態においては、一回の転送でオーディオファイルの全データを再生メモリ１０８Ｃへ転送するのではなく、決定した転送量で複数回に分けてオーディオデータを再生メモリ１０８Ｃへ転送する。また、オーディオデータを記憶する際にも、録音メモリ１０８Ｄに格納されたデータを一回の転送で記憶部１０５へ転送するのではなく、決定した転送量で複数回に分けて録音メモリ１０８Ｄから記憶部１０５へオーディオデータを転送する。
【００２４】
（実施形態の動作）
次に、オーディオアプリを実行した情報処理装置１の動作について説明する。なお、以下の説明においては、まず情報処理装置１がオーディオデータを再生する時の第１閾値および第１転送量を決定する動作について説明し、次に情報処理装置１がオーディオデータを記憶部１０５に記憶させる時の第２閾値および第２転送量を決定する動作について説明する。
【００２５】
図２は、情報処理装置１が再生時のレイテンシを調整する時の処理の流れを示したフローチャートである。また、図３は、再生メモリ１０８Ｃに記憶されたオーディオデータの残量を模式的に示した図である。なお、図３においては、矩形の枠の幅が再生メモリ１０８Ｃの容量を表しており、枠内においてハッチングの部分の幅が再生メモリ１０８Ｃにおいて読み出されていないオーディオデータの残量を表している。
【００２６】
まず、オーディオアプリが実行されている状態において、オーディオデータを再生する時のレイテンシの自動調整を指示する操作が操作部１０６において行われると、ＣＰＵ１０２は、第１閾値の値と、一回の割り込み処理で再生メモリ１０８Ｃへ転送するオーディオデータの転送量（第１転送量）を決定する（ステップＳＡ１）。ここで、第１閾値の値と第１転送量の値は、設定可能な予め定められた最小の値にされ、第１閾値と第１転送量は、同じ値にされる。ＣＰＵ１０２が、決定した第１閾値を再生メモリ制御部１０８Ｅへ通知すると（ステップＳＡ２）、再生メモリ制御部１０８Ｅは、図３（ａ）において破線で示したように第１閾値を通知された値に設定する。なお、この時点においては、再生メモリ１０８Ｃにおいては、読み出されていないオーディオデータが存在しないため、読み出されていないオーディオデータの残量は０であり、図３（ａ）の状態となっている。
【００２７】
次に、ＣＰＵ１０２は、ステップＳＡ２で決定した量のオーディオデータの転送を開始する（ステップＳＡ３）。なお、本実施形態では、転送されるオーディオデータは、無音を表すオーディオデータとなっているが、楽音を表すオーディオデータであってもよい。ＣＰＵ１０２からバス１０１を介して再生メモリ１０８Ｃへ転送されたオーディオデータは再生メモリ１０８Ｃに格納される。ステップＳＡ１で決定した量のオーディオデータの転送が終了すると、再生メモリ１０８Ｃに格納されているオーディオデータの残量は、図３（ｂ）に示した状態となる。なお、この時点では、再生メモリ１０８Ｃからのオーディオデータの読み出しは行われていないため、オーディオデータの残量は、この時点の第１閾値と同じ値となる。
【００２８】
ＣＰＵ１０２は、オーディオデータの転送が終了すると（ステップＳＡ４でＹＥＳ）、オーディオデータの読み出しを再生メモリ制御部１０８Ｅに指示する（ステップＳＡ５）。再生メモリ制御部１０８Ｅがこの指示を受けると、再生メモリ制御部１０８Ｅによって再生メモリ１０８Ｃが制御され、再生メモリ１０８Ｃからのオーディオデータの読み出しが開始される。なお、ここでのオーディオデータの読み出しは、ＦＩＦＯで行われる。
【００２９】
また、再生メモリ制御部１０８Ｅは、オーディオデータの読み出しを開始すると、オーディオデータが読み出される毎に書き込みポインタと読み出しポインタとの差からオーディオデータの残量を求める。再生メモリ制御部１０８Ｅは、求めた残量を監視し、残量が第１閾値未満になると、第１割り込み要求を割り込みコントローラ１０９へ出力する。
【００３０】
割り込みコントローラ１０９は、第１割り込み要求を取得すると、第１割り込み信号をＣＰＵ１０２へ出力する。ＣＰＵ１０２は、第１割り込み信号を取得すると（ステップＳＡ６でＹＥＳ）、ステップＳＡ１で決定した転送量のオーディオデータの転送を割り込み処理によって開始する（ステップＳＡ７）。ＣＰＵ１０２から転送されたオーディオデータは、再生メモリ１０８Ｃに書き込まれる。ＣＰＵ１０２は、割り込み処理によるオーディオデータの転送を終了すると（ステップＳＡ８でＹＥＳ）、再生メモリ１０８Ｃのオーディオデータの残量を再生メモリ制御部１０８Ｅに要求する（ステップＳＡ９）。再生メモリ制御部１０８Ｅは、この要求を受けると、再生メモリ１０８Ｃにおけるオーディオデータの残量を求め、求めた残量をＣＰＵ１０２へ通知する。
【００３１】
なお、オーディオデータの転送終了時におけるデータ残量は、ＣＰＵ１０２の処理能力やＣＰＵ１０２に掛かっている負荷、バス１０１の占有状態、第１割り込み要求が出力されてからオーディオデータの転送が開始されるまでに掛かる時間（所謂割り込みレイテンシ）などの影響により、図３（ｂ）のように第１閾値と等しくなる場合と、図３（ｃ）のように第１閾値未満になる場合と、図３（ｄ）のように第１閾値を超える場合とが生じえる。
例えば、データの書き込み速度が読み出し速度より速く、割り込みレイテンシも小さい場合、オーディオデータを読み出すより速くオーディオデータが書き込まれるため、第１転送量分のデータ転送が終了する時点では、第１閾値以上のデータが蓄積され、図３（ｂ）または図３（ｄ）の状態となる。この後、データの読み出しが進んでデータ残量が第１閾値未満となると、再び第１割り込み要求が出力され、オーディオデータが蓄積されてデータ残量が第１閾値を超えるため、バッファアンダーランが生じることがない。つまり、この時点の第１閾値と第１転送量の値は、バッファアンダーランを生じさせず、レイテンシ（再生の開始を指示してから実際に音楽の再生が開始されるまでの遅れ）を設定できる最小の状態にできる値である。
【００３２】
ＣＰＵ１０２は、この状態でオーディオデータを再生するために、ステップＳＡ１０でデータの残量が第１閾値以上であるか否か判断し、データの残量が第１閾値以上である場合には（ステップＳＡ１０でＹＥＳ）、ＣＰＵ１０２は、この時点で決定されている第１閾値と第１転送量を記憶する。この記憶した第１閾値は、記憶部１０５に記憶されているオーディオファイルを構成するオーディオデータを再生メモリ１０８Ｃへ転送する際に、再生メモリ制御部１０８Ｅに設定される。また、記憶部１０５に記憶されているオーディオファイルを構成するオーディオデータを再生メモリ１０８Ｃへ転送する際には、ＣＰＵ１０２は、一回の割り込み処理で転送する転送量を記憶部１０５に記憶した第１転送量とする。
【００３３】
一方、例えば、割り込みレイテンシが大きい場合、第１転送量のデータ転送が終了するまでに、第１閾値までデータが蓄積されず、図３（ｃ）の状態が生じえる。第１転送量のデータ転送が終了した時点で図３（ｃ）の状態となると、データ残量が第１閾値未満となっており、再生メモリ１０８Ｃへのオーディオデータの書き込みがオーディオデータの読み出しより遅いため、バッファアンダーランが生じてしまう。つまり、第１閾値が設定し得る最小値であるため、再生の指示を受け付けてからオーディオデータが読み出されてアナログ信号が出力されるまでの時間が短くレイテンシは小さくなるものの、オーディオデータの再生不良が生じることとなる。
【００３４】
ＣＰＵ１０２は、再生不良を生じないようにするため、ステップＳＡ１０でＮＯと判断すると、第１閾値と第１転送量に予め定められた値を加算する（ステップＳＡ１２）。次にＣＰＵ１０２は、再生メモリ１０８Ｃの初期化処理を行う（ステップＳＡ１３）。具体的には、ＣＰＵ１０２は、オーディオデータの読み出しの停止指示を再生メモリ制御部１０８Ｅへ送る。再生メモリ制御部１０８Ｅは、ＣＰＵ１０２から送られた指示を取得すると、オーディオデータの読み出しを停止する。また、ＣＰＵ１０２は、書き込みポインタと読み出しポインタの値を同じにする指示を再生メモリ制御部１０８Ｅへ送る。再生メモリ制御部１０８Ｅは、ＣＰＵ１０２から送られた指示を取得すると、書き込みポインタと読み出しポインタの値を同じにする。ＣＰＵ１０２は、ステップＳＡ１３の処理が終了すると処理の流れをステップＳＡ２に戻し、ステップＳＡ２以降の処理を再び実行する。そしてＣＰＵ１０２は、ステップＳＡ１０においてＹＥＳと判断されるまで処理を行う。
【００３５】
本実施形態においては、記憶部１０５に記憶されているオーディオファイルのオーディオデータを再生する場合には、記憶した第１閾値を設定し、オーディオデータを再生メモリ１０８Ｃへ転送し、再生メモリ１０８Ｃからオーディオデータを出力する。そして情報処理装置１においては、この第１閾値を基にして第１割り込み信号が出力される度に、記憶された第１転送量のデータが割り込み処理において再生メモリ１０８Ｃへ転送される。本実施形態によれば、再生の開始を指示してから実際に音楽の再生が開始されるまでのレイテンシを、バッファアンダーランが起きない範囲で小さくすることができる。
【００３６】
次に、情報処理装置１がオーディオデータを記憶する時（録音時）のレイテンシを調整する時の動作について説明する。図４は、情報処理装置１がオーディオデータ記憶時のレイテンシを調整する時の処理の流れを示したフローチャートである。
【００３７】
まず、オーディオアプリが実行されている状態において、オーディオデータ記憶時のレイテンシの自動調整を指示する操作が操作部１０６において行われると、ＣＰＵ１０２は、第２閾値の値と、一回の割り込み処理で録音メモリ１０８Ｄから記憶部１０５へ転送するオーディオデータの転送量（第２転送量）を決定する（ステップＳＢ１）。ここで、第２閾値の値と第２転送量の値は、設定可能な予め定められた最小の値にされ、第２閾値と第２転送量は、同じ値にされる。ＣＰＵ１０２が、決定した第２閾値を録音メモリ制御部１０８Ｆへ通知すると（ステップＳＢ２）、録音メモリ制御部１０８Ｆは、図５（ａ）において破線で示したように第２閾値を通知された値にする。なお、この時点においては、録音メモリ１０８Ｄにおいては、書き込まれたオーディオデータが存在しないため、書き込まれたオーディオデータの残量は０であり、図５（ａ）の状態となっている。
【００３８】
次に、ＣＰＵ１０２は、Ａ／Ｄコンバータ１０８Ｈから供給されるオーディオデータの録音メモリ１０８Ｄへの書き込みを録音メモリ制御部１０８Ｆへ指示する。なお、ここでは、入力端子１０８Ａに他の装置が接続されてなく、オーディオデータが無音を表すデータであってもよい。録音メモリ制御部１０８Ｆがこの指示を受けると、録音メモリ制御部１０８Ｆによって録音メモリ１０８Ｄが制御され、Ａ／Ｄコンバータ１０８Ｈから出力されたオーディオデータの録音メモリ１０８Ｄへの書き込みが開始される（ステップＳＢ３）。Ａ／Ｄコンバータ１０８Ｈから出力されたオーディオデータは録音メモリ１０８Ｄに格納される。録音メモリ制御部１０８Ｆは、オーディオデータが書き込まれる毎に書き込みポインタと読み出しポインタとの差からオーディオデータの残量を求める。
【００３９】
また、録音メモリ制御部１０８Ｆは、求めた残量を監視し、残量が第２閾値以上の値になると、第２割り込み要求を割り込みコントローラ１０９へ出力する。割り込みコントローラ１０９は、第２割り込み要求を取得すると、第２割り込み信号をＣＰＵ１０２へ出力する。ＣＰＵ１０２は、第２割り込み信号を取得すると（ステップＳＢ４でＹＥＳ）、オーディオデータの読み出しを録音メモリ制御部１０８Ｆに指示する（ステップＳＢ５）。録音メモリ制御部１０８Ｆがこの指示を受けると、録音メモリ制御部１０８Ｆによって録音メモリ１０８Ｄが制御され、録音メモリ１０８Ｄから第２転送量のオーディオデータの読み出しが開始される。読み出されたオーディオデータは記憶部１０５へ転送される。なお、この転送されたオーディオデータは記憶部１０５へ転送されるものの、記憶部１０５へ記憶されなくてもよい。
【００４０】
ＣＰＵ１０２は、読み出されたオーディオデータの量を監視し、第２転送量のデータが読み出されると（ステップＳＢ６でＹＥＳ）、録音メモリ１０８Ｄのオーディオデータの残量を録音メモリ制御部１０８Ｆに要求する（ステップＳＢ７）。録音メモリ制御部１０８Ｆは、この要求を受けると、録音メモリ１０８Ｄにおけるオーディオデータの残量を求め、求めた残量をＣＰＵ１０２へ通知する。
【００４１】
なお、ここで通知されたデータ残量は、ＣＰＵ１０２の処理能力やＣＰＵ１０２に掛かっている負荷、バス１０１の占有状態、第２割り込み要求が出力されてからオーディオデータの読み出しが開始されるまでに掛かる時間（割り込みレイテンシ）などの影響により、図５（ｃ）に示したように第２閾値未満になる場合と、図５（ｂ）のように第２閾値と等しくなる場合と、図５（ｄ）に示したように第２閾値を超える場合とが生じえる。
例えば、データの読み出し速度が書き込み速度より速く、割り込みレイテンシも小さい場合、オーディオデータを書き込むより速くオーディオデータが読み出されるため、第２転送量分の読み出しが終了する時点では図５（ｃ）の状態となる。この後、データの書き込みが進んでデータ残量が第２閾値を超えると、再び第２割り込み要求が出力され、オーディオデータが読み出されてデータ残量が第２閾値未満となるため、バッファオーバーランが生じることがない。つまり、この時点の第２閾値と第２転送量の値は、バッファオーバーランを生じさせず、レイテンシ（録音の開始を指示してから実際に録音が開始されるまでの遅れ）を設定できる最小の状態にできる値である。
【００４２】
ＣＰＵ１０２は、この状態でオーディオデータを記憶するために、ステップＳＢ８でデータの残量が第２閾値を超えているか否か判断し、データの残量が第２閾値未満の場合には（ステップＳＢ８でＹＥＳ）、ＣＰＵ１０２は、この時点で決定されている第２閾値と第２転送量を記憶する（ステップＳＢ９）。この記憶した第２閾値は、オーディオデータの記憶を行う際に、録音メモリ制御部１０８Ｆに設定される。また、録音メモリ１０８Ｄに格納されているオーディオデータを記憶部１０５へ転送する際には、ＣＰＵ１０２は、一回の割り込み処理で転送する転送量を記憶部１０５に記憶した第２転送量とする。
【００４３】
一方、例えば、割り込みレイテンシが大きい場合、第２転送量のデータ転送が終了するまでに、第２閾値未満までデータが読み出されず、図５（ｄ）の状態が生じえる。第２転送量のデータ転送が終了した時点で図５（ｄ）の状態となると、データ残量が第２閾値以上となっており、録音メモリ１０８Ｄからのオーディオデータの読み出しがオーディオデータの書き込みより遅いため、バッファオーバーランが生じてしまう。つまり、第２閾値が最小であるため、オーディオデータの記憶の指示を受け付けてからオーディオデータが読み出されて記憶部１０５に記憶されるまでの時間が短く、レイテンシは小さいものの、オーディオデータの記憶不良が生じることとなる。
【００４４】
ＣＰＵ１０２は、記憶不良を生じないようにするため、ステップＳＢ８でＮＯと判断すると、第２閾値と第２転送量に予め定められた値を加算する（ステップＳＢ１０）。次にＣＰＵ１０２は、録音メモリ１０８Ｄの初期化処理を行う（ステップＳＢ１１）。具体的には、ＣＰＵ１０２は、オーディオデータの読み出しの停止指示を録音メモリ制御部１０８Ｆへ送る。録音メモリ制御部１０８Ｆは、ステップＳＢ１１で送られた指示を取得すると、オーディオデータの読み出しを停止する。また、ＣＰＵ１０２は、書き込みポインタと読み出しポインタの値を同じにする指示を録音メモリ制御部１０８Ｆへ送る。録音メモリ制御部１０８Ｆは、ＣＰＵ１０２から送られた指示を取得すると、書き込みポインタと読み出しポインタの値を同じにする。ＣＰＵ１０２は、ステップＳＢ１１の処理が終了すると処理の流れをステップＳＢ２に戻し、ステップＳＢ２以降の処理を再び実行する。そしてＣＰＵ１０２は、ステップＳＢ８においてＹＥＳと判断されるまで処理を行う。
【００４５】
本実施形態においては、オーディオデータを記憶部１０５へ記憶させる操作が行われてオーディオデータを記憶する場合には、記憶した第２閾値を設定し、オーディオデータを録音メモリ１０８Ｄに書き込み、書き込まれたオーディオデータを録音メモリ１０８Ｄから記憶部１０５へ転送して記憶部１０５に記憶させる。そして、情報処理装置１においては、この第２閾値を基にして第２割り込み信号が出力される度に、記憶された第２転送量のデータが割り込み処理によって録音メモリ１０８Ｄから記憶部１０５へ転送されて記憶される。この動作によれば、オーディオデータの記憶の開始を指示してから実際にオーディオデータの記録が開始されるまでのレイテンシを、バッファオーバーランが起きない範囲で小さくすることができる。
【００４６】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよく、各変形例を組み合わせて実施してもよい。
【００４７】
上述した実施形態においては、ＣＰＵ１０２がバス１０１を介して再生メモリ１０８Ｃや録音メモリ１０８Ｄへアクセスしているが、ＣＰＵ１０２からＤＭＡＣを介して再生メモリ１０８Ｃや録音メモリ１０８Ｄへデータの書き込みや読み出しを行ってもよい。
【００４８】
上述した実施形態においては、オーディオアプリを実行するとオーディオデータの記憶と再生の両方の機能が実現するが、再生の機能だけが実現するようにしてもよく、また、オーディオデータの記憶の機能だけが実現するようにしてもよい。
【００４９】
上述した実施形態においては、ステップＳＡ１０でＮＯと判定される度に第１閾値および第２転送量を大きくしていき、第１閾値と第１転送量を決定するが、第１閾値と第１転送量を決定する際には、値を大きくする方法に限定されるものではない。図６は、本変形例に係る処理の流れを示したフローチャートである。なお図６の処理は、図２のフローチャートと比較して、ステップＳＡ２からステップＳＡ１０までの処理が同じである。本変形例においては、ステップＳＡ１で決定する閾値と転送量が上記実施形態と異なり、ステップＳＡ１０以降で、ステップＳＡ１４からステップＳＡ１６が設けられている点が異なっている。本変形例においては、ステップＳＡ１では、第１閾値の値と、一回の割り込み処理で再生メモリ１０８Ｃへ転送するオーディオデータの転送量（第１転送量）を、設定可能な予め定められた最大の値にする。また、ステップＳＡ１０でＹＥＳと判断されると、第１閾値と第１転送量を記憶し（ステップＳＡ１４）、第１閾値と第１転送量から予め定められた値を減算する（ステップＳＡ１５）。そして、ＣＰＵ１０２は、再生メモリ１０８Ｃの初期化処理を行い（ステップＳＡ１３）、処理の流れをステップＳＡ２へ戻す。そして、ＣＰＵ１０２は、オーディオファイルを構成するオーディオデータを再生メモリ１０８Ｃへ転送する際には、記憶した第１閾値を再生メモリ制御部１０８Ｅに設定し、一回の割り込み処理で転送する転送量を記憶部１０５に記憶した第１転送量とする。第１閾値と第１転送量を小さくしていくことにより、この変形例でも、レイテンシをバッファアンダーランが起きない範囲で小さくすることができる。
【００５０】
また、オーディオデータの記憶時においても、第２閾値と第２転送量を決定する際には、値を大きくする方法に限定されるものではない。図７は、本変形例に係る処理の流れを示したフローチャートである。なお図７の処理は、図４のフローチャートと比較して、ステップＳＢ２からステップＳＢ８までの処理が同じである。本変形例においては、ステップＳＢ１で決定する閾値と転送量が上記実施形態と異なり、ステップＳＢ８以降で、ステップＳＢ１２からステップＳＢ１４が設けられている点が異なっている。本変形例においては、第２閾値の値と、一回の割り込み処理で録音メモリ１０８Ｄから記憶部１０５へ転送するオーディオデータの転送量（第２転送量）を、設定可能な予め定められた最大の値にする。また、ステップＳＢ８でＹＥＳと判断されると、第２閾値と第２転送量を記憶し（ステップＳＢ１２）、第２閾値と第２転送量から予め定められた値を減算する（ステップＳＢ１３）。そして、ＣＰＵ１０２は、録音メモリ１０８Ｄの初期化処理を行い（ステップＳＢ１４）、処理の流れをステップＳＢ２へ戻す。そして、ＣＰＵ１０２は、録音を行う際には、記憶した第２閾値を録音メモリ制御部１０８Ｆに設定し、一回の割り込み処理で転送する転送量を記憶部１０５に記憶した第２転送量とする。第２閾値と第２転送量を小さくしていくことにより、この変形例でも、レイテンシをバッファオーバーランが起きない範囲で小さくすることができる。
【００５１】
上述した実施形態においては、オーディオデータを再生する場合、図４の処理を先に行って第２閾値と第２転送量を決定し、第１閾値を決定した第２閾値と同じ値とし、第１転送量を決定した第２転送量と同じ値としてもよい。また、上述した実施形態においては、オーディオデータを記録する場合、図２の処理を行って第１閾値と第１転送量を決定し、第２閾値を決定した第１閾値と同じ値とし、第２転送量を決定した第１転送量と同じ値としてもよい。
【００５２】
上述した実施形態においては、第１転送量は、図２の処理で記憶されると、オーディオファイルのオーディオデータを再生する際には変更されることがないが、第１転送量を変更できるようにしてもよい。具体的には、オーディオデータの再生時において、第１閾値に加えて第１閾値より小さい第３閾値を設け、第３閾値を再生メモリ制御部１０８Ｅに設定する。再生メモリ制御部１０８Ｅは、データの残量を求め、求めた残量が第３閾値未満であると割り込み処理を要求する割り込み要求（第３割り込み要求）を割り込みコントローラ１０９へ出力する。割り込みコントローラ１０９は、第３割り込み要求を取得すると、第３割り込み要求に対応した第３割り込み信号をＣＰＵ１０２へ出力する。ＣＰＵ１０２は、第３割り込み信号を取得すると、第１転送量に予め定められた値を加えた転送量を、一回の割り込み処理で再生メモリ１０８Ｃへ転送するオーディオデータの転送量とし、決定した転送量のオーディオデータの転送を開始する。
【００５３】
また、上述した実施形態においては、第２転送量は、図４の処理で記憶されると、オーディオデータを記憶する際には変更されることがないが、第２転送量を変更できるようにしてもよい。具体的には、オーディオデータの記憶時において、第２閾値に加えて第２閾値より大きい第４閾値を設け、第４閾値を録音メモリ制御部１０８Ｆに設定する。録音メモリ制御部１０８Ｆは、データの残量を求め、求めた残量が第４閾値以上であると割り込み処理を要求する割り込み要求（第４割り込み要求）を割り込みコントローラ１０９へ出力する。割り込みコントローラ１０９は、第４割り込み要求を取得すると、第４割り込み要求に対応した第４割り込み信号をＣＰＵ１０２へ出力する。ＣＰＵ１０２は、第４割り込み信号を取得すると、第２転送量に予め定められた値を加えた転送量を、一回の割り込み処理で録音メモリ１０８Ｄから読み出すオーディオデータの転送量とし、決定した転送量のオーディオデータの転送を開始する。
【００５４】
上述した実施形態においては、再生メモリ１０８Ｃと録音メモリ１０８Ｄが別々にもうけられているが、再生メモリ１０８Ｃと録音メモリ１０８Ｄを一体としてもよい。また、上述した実施形態においては、再生メモリ制御部１０８Ｅと録音メモリ制御部１０８Ｆが別々に設けられているが、再生メモリ制御部１０８Ｅと録音メモリ制御部１０８Ｆを一体としてもよい。
【００５５】
上述した実施形態においては、レイテンシの自動調整を指示する操作が操作部１０６において行われると、図に示したフローチャートの処理が行われるが、オーディオデータの再生中において、割り込み処理によるデータ転送終了時のデータ残量を監視し、この時のデータ残量が第１閾値以上であれば、第１閾値と第１転送量に予め定められた値を加算し、第１閾値と第１転送量を変更してもよい。また、オーディオデータの記憶中において、割り込み処理によるデータ転送終了時のデータ残量を監視し、この時のデータ残量が第２閾値以上であれば、第２閾値と第２転送量に予め定められた値を加算し、第２閾値と第２転送量を変更してもよい。
【００５６】
録音時のレイテンシを調整する場合、上述した実施形態では、ステップＳＢ３からステップＳＢ７の処理を行い、オーディオデータの残量をステップＳＢ８で判断しているが、ステップＳＢ８の前にステップＳＢ３からステップＳＢ７の処理を予め定められた回数繰り返し行い、繰り返しで得たオーディオデータの残量の平均値を求め、この平均値が第２閾値未満である場合にはステップＳＢ９の処理を行い、この平均値が第２閾値以上である場合には、ステップＳＢ１０へ処理の流れを移すようにしてもよい。また、このようにステップＳＢ３からステップＳＢ７の処理を繰り返し行う場合、繰り返しで得たオーディオデータの残量のうち最も大きい残量が第２閾値未満である場合にはステップＳＢ９の処理を行い、この残量が第２閾値以上である場合には、ステップＳＢ１０へ処理の流れを移すようにしてもよい。
【符号の説明】
【００５７】
１…情報処理装置、１０１…バス、１０２…ＣＰＵ、１０３…ＲＯＭ、１０４…ＲＡＭ、１０５…記憶部、１０６…操作部、１０７…表示部、１０８…オーディオインターフェース、１０８Ａ…入力端子、１０８Ｂ…出力端子、１０８Ｃ…再生メモリ、１０８Ｄ…録音メモリ、１０８Ｅ…再生メモリ制御部、１０８Ｆ…録音メモリ制御部、１０８Ｇ…Ｄ／Ａコンバータ、１０８Ｈ…Ａ／Ｄコンバータ、１０９…割り込みコントローラ
【図１】
2012155459.tif 000003
【図２】
2012155459.tif 000004
【図３】
2012155459.tif 000005
【図４】
2012155459.tif 000006
【図５】
2012155459.tif 000007
【図６】
2012155459.tif 000008
【図７】
2012155459.tif 000009