(57)【特許請求の範囲】
【請求項１】
ボリューム値指示部から入力されるボリューム値指示データを格納するＩ／Ｆレジスタと、前記ボリューム値指示部から前記Ｉ／Ｆレジスタへのデータの入力が終了したときに、前記Ｉ／Ｆレジスタに格納されているデータを取り込む制御レジスタと、前記制御レジスタへ前記Ｉ／Ｆレジスタに格納されているデータが取り込まれたときに起動し、一定時間後にタイムアウトするタイマーと、入力オーディオ信号のゼロクロスを検出するゼロクロス検出部と、前記ボリューム値指示部から前記Ｉ／Ｆレジスタへのデータ入力の始まりを検出するデータ入力検出部と、
前記タイマーの動作中に前記ゼロクロス検出部がゼロクロスを検出したとき、若しくは、前記タイマーの動作中に前記データ入力検出部が前記Ｉ／Ｆレジスタへの新たなデータ入力の始まりを検出したとき、または、前記タイマーの起動後に前記ゼロクロスの検出が行われず且つ前記データ入力の始まりが検出されずに前記タイマーがタイムアウトしたときの３つのすべての場合において、前記制御レジスタに取り込まれているデータに基づいて入力オーディオ信号に対する利得を設定する利得制御部と、前記利得制御部の利得設定に基づいて入力オーディオ信号を増幅する増幅部と、を備える利得可変装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オーディオ信号を増幅する増幅器の利得可変装置に関する。
【０００２】
【従来の技術】
図１は、従来の利得可変装置の構成図を示す。ボリューム値指示部１は、図示しないロータリエンコーダやプッシュ式ボリュームからのパルス信号等を受けてボリューム値指示データを生成してシリアル出力する。このボリューム値指示部１は、たとえばＣＰＵで構成される。前記ボリューム値指示データはシリアル／パラレル変換されてＩ／Ｆレジスタ２に格納され、ボリューム値指示データの入力が終了すると、制御レジスタ３に取り込まれる。この後、ゼロクロス検出部４が、入力オーディオ信号のゼロクロスを検出し、その検出信号を利得制御部５に出力すると利得制御部５は、制御レジスタ３に取り込まれているデータに基づいて増幅部６の利得を設定する。
【０００３】
上記の構成にて、ボリューム値指示部１からボリューム変更のためのボリューム値指示データが入力されると、入力オーディオ信号の波形がゼロクロスするのを待ち、入力オーディオ信号がゼロクロスした時に増幅部６の利得変更を行うことにより、出力信号の波形の崩れを防止している。
【０００４】
なお、制御レジスタ３にＩ／Ｆレジスタに格納されているデータが取り込まれたときに起動し、数１０ｍｓのタイムアウト時間が設定されているタイマー７が設けられている。このタイマーによって、制御レジスタ３にＩ／Ｆレジスタに格納されているデータが取り込まれてから時間監視が行われ、タイムアウトするまでに入力オーディオ信号のゼロクロスが検出されない場合は、時間切れとして制御レジスタ３に取り込まれているデータに基づく利得設定が行われる。ゼロクロス検出またはタイムアウトにより利得設定が行われると、このタイマーは停止する。
【０００５】
【発明が解決しようとする課題】
ボリューム値を高速で変化させる場合を想定する。ボリューム値指示部１からボリューム値指示データがＩ／Ｆレジスタ２に高速（具体的にはタイマー７のタイムアウト時間よりも短い時間間隔）で次々入力されると、制御レジスタ３はＩ／Ｆレジスタのデータを次々と取り込む。すると、タイマー７はタイムアウトする前に次々と起動を繰り返し、タイムアウトが順延される。よって、入力オーディオ信号のゼロクロスが検出されなければ、増幅部６の利得変更が実行されることなく、制御レジスタ３のデータが更新されていくだけとなるため、増幅部６の利得変化のステップが粗くなり、聴間上違和感が生じるという不都合があった。
【０００６】
本発明の目的は、ボリューム値を高速で変化させる時には利得変化ステップが粗くなるのを防止し、ボリューム値を低速で変化させる時には従来のゼロクロス検出により波形崩れを防止することのできる利得可変装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、上記の課題を解決するために、ボリューム値指示部から入力されるボリューム値指示データを格納するＩ／Ｆレジスタと、前記ボリューム値指示部から前記Ｉ／Ｆレジスタへのデータの入力が終了したときに、前記Ｉ／Ｆレジスタに格納されているデータを取り込む制御レジスタと、前記制御レジスタへ前記Ｉ／Ｆレジスタに格納されているデータが取り込まれたときに起動し、一定時間後にタイムアウトするタイマーと、入力オーディオ信号のゼロクロスを検出するゼロクロス検出部と、前記ボリューム値指示部から前記Ｉ／Ｆレジスタへのデータ入力の始まりを検出するデータ入力検出部と、
前記タイマーの動作中に前記ゼロクロス検出部がゼロクロスを検出したとき、若しくは、前記タイマーの動作中に前記データ入力検出部が前記Ｉ／Ｆレジスタへの新たなデータ入力の始まりを検出したとき、または、前記タイマーの起動後に前記ゼロクロスの検出が行われず且つ前記データ入力の始まりが検出されずに前記タイマーがタイムアウトしたときの３つのすべての場合において、前記制御レジスタに取り込まれているデータに基づいて入力オーディオ信号に対する利得を設定する利得制御部と、前記利得制御部の利得設定に基づいて入力オーディオ信号を増幅する増幅部と、を備えている。
【０００８】
本発明では、ボリューム値指示データがＩ／Ｆレジスタに入力される時を検出するデータ入力検出部を設け、タイマーが起動していればこのデータ入力検出部がＩ／Ｆレジスタへのボリューム値指示データ入力を検出した時においても利得変更を行う。このため、ボリューム値を高速で変化させる時に、入力オーディオ信号のゼロクロス検出やタイマーのタイムアウトが無くても、入力データごとに利得変更が実行される。したがって、ボリュームの変化ステップが粗くならない。また、ボリューム値を低速で変化させる時には、従来のゼロクロス機能が働いて、波形崩れを防止することができる。
【０００９】
【発明の実施の形態】
図２は、本発明の実施形態の利得可変装置の構成図である。
【００１０】
図１に示す従来の利得可変装置と相違する点は、データ入力検出部８を設けた点である。データ入力検出部８は、ボリューム値指示部１からボリューム値指示データがＩ／Ｆレジスタ２に入力されたことを検出し、データ入力検出信号として利得制御部５に出力する。
【００１１】
以上の構成で、利得制御部５が制御レジスタ３に取り込まれているデータに基づいて利得変更をするタイミングは次の３つとなる。
【００１２】
▲１▼タイマー７の動作中に、データ入力検出部８がＩ／Ｆレジスタ２へのボリューム値指示データの入力を検出した時。
【００１３】
▲２▼タイマー７の動作中に、ゼロクロス検出部４が入力オーディオ信号のゼロクロスを検出した時。
【００１４】
▲３▼タイマー７がタイムアウトした時。
【００１５】
次に、動作を説明する。
【００１６】
初期状態での各部は次のようになっている。
【００１７】
Ｄ（０）を初期ボリューム指示データとすると、
Ｉ／Ｆレジスタ２：  Ｄ（０）・・・（但し、シリアル／パラレル変換したデータ）
制御レジスタ３：    Ｄ（０）
ゼロクロス検出部４：タイマー７停止中につき、検出無効
増幅部６：          Ｄ（０）に対する利得Ａ〔Ｄ（０）〕
今、ボリューム値指示部１が、９段階のボリューム値指示データを、Ｄ（１）、Ｄ（２）、Ｄ（３）、・・・、Ｄ（９）の順に高速でＩ／Ｆレジスタ２に書き込むと仮定する。
【００１８】
Ｄ（ｎ）の書き込み終了時点で、各部は次のようになっている。
【００１９】
Ｉ／Ｆレジスタ２：  Ｄ（ｎ）・・・Ｄ（但し、シリアル／パラレル変換したデータ）
制御レジスタ３：    Ｄ（ｎ）
ゼロクロス検出部４：Ｄ（ｎ）に対する利得変更を行うためのゼロクロス待ち増幅部６：          Ｄ（ｎ−１）に対する利得Ａ〔Ｄ（ｎ−１）〕
ここで、Ｄ（ｎ＋１）の入力が始まると、データ入力検出部８は、データ入力検出信号を利得制御部５に出力する。利得制御部５は、Ｄ（ｎ）に対する入力オーディオ信号のゼロクロス検出を待たずに増幅部６の利得をＡ〔（Ｄ（ｎ）〕に設定する。
【００２０】
制御レジスタ３がＤ（ｎ＋１）を取り込み終了後、タイマーが起動し、ゼロクロス検出部４はＤ（ｎ＋１）に対する利得変更を行うためのゼロクロス待ちをする。
【００２１】
前記ボリューム値指示データが、Ｄ（１）、Ｄ（２）、Ｄ（３）、・・・、Ｄ（９）と進んで、 制御レジスタ３がＤ（９）を取り込み終了後は、ゼロクロス検出又はタイマー７のタイムアウトをもって、利得制御部５は増幅器６の利得をＡ〔Ｄ（９）〕に設定する。
【００２２】
上記の動作によって、仮に入力オーディオ信号が一度もゼロクロスしない場合でも、Ｄ（０）からＤ（８）までは、出力信号の波形崩れ防止効果が無い利得変更動作となるが、Ｄ（０）からＤ（８）全ての利得ステップ（ボリュームステップ）を経てＤ（９）の利得（ボリューム値）に到達する。
【００２３】
図３は以上の動作による利得および出力波形の変化を、従来の装置と対比して示している。
【００２４】
（ボリューム操作）
ボリューム操作が高速で行われ、タイマー７のタイムアウト時間Ｔよりも短い時間間隔で、ボリューム値指示データＤ（１），Ｄ（２），・・・，Ｄ（９）が入力される様子である。
【００２５】
（従来装置の波形）
Ｄ（１），Ｄ（２），Ｄ（３）に対しては、ゼロクロス検出やタイムアウトが無い為、利得変更は行われない。
【００２６】
Ｄ（４），Ｄ（５）に対しては、時間ｔ１，ｔ２にゼロクロスを検出し、利得がＡ〔Ｄ（４）〕，Ａ〔Ｄ（５）〕に変化する。ゼロクロス検出による利得変化の為、出力波形に崩れは生じない。
【００２７】
Ｄ（６），Ｄ（７），Ｄ（８）に対しては、ゼロクロス検出やタイムアウトが無い為、利得変更は行われない。
【００２８】
Ｄ（９）に対しては、時間ｔ３にタイマー７がタイムアウトし、利得がＡ〔Ｄ（９）〕に変化する。この変化は、ゼロクロス検出によらない利得変化であり、Ａ〔Ｄ（５）〕からＡ〔Ｄ（９）〕への粗い変化ステップの為、出力波形の崩れが大きく聴感上の違和感も大きい。
【００２９】
（本実施形態の波形）
Ｄ（１），Ｄ（２），Ｄ（３）に対しては、Ｄ（２），Ｄ（３），Ｄ（４）の入力を検出し、利得がＡ〔Ｄ（１）〕，Ａ〔Ｄ（２）〕，Ａ〔Ｄ（３）〕に変化する。ゼロクロス検出によらない利得変化であるが、変化ステップが小さい為、出力波形の崩れが小さく聴感上の違和感も小さい。
【００３０】
Ｄ（４），Ｄ（５）に対しては従来装置と同じく、時間ｔ１，ｔ２にゼロクロスを検出し、利得がＡ〔Ｄ（４）〕，Ａ〔Ｄ（５）〕に変化する。ゼロクロス検出による利得変化の為、出力波形に崩れは生じない。
【００３１】
Ｄ（６），Ｄ（７），Ｄ（８）に対しては、Ｄ（７），Ｄ（８），Ｄ（９）の入力を検出し、利得がＡ〔Ｄ（６）〕，Ａ〔Ｄ（７）〕，Ａ〔Ｄ（８）〕に変化する。ゼロクロス検出によらない利得変化であるが、変化ステップが小さい為、出力波形の崩れが小さく聴感上の違和感も小さい。
【００３２】
Ｄ（９）に対しては、時間ｔ３にタイマー７がタイムアウトし、利得がＡ〔Ｄ（９）〕に変化する。ゼロクロス検出によらない利得変化であるが、変化ステップが小さい為、出力波形の崩れが小さく聴感上の違和感も小さい。
【００３３】
以上のように、ボリューム値指示部１からのボリューム指示データがＩ／Ｆレジスタ２に高速で入力される場合（例えば、ボリューム操作手段としてロータリエンコーダが使用され、そのロータリエンコーダが高速で回転操作される場合）であっても全てのボリュームステップを経て利得変更が行われるため、その変化ステップが粗くなることはない。
【００３４】
ボリューム値指示データの入力が低速の時には、従来の装置と同様にゼロクロス検出またはタイマーのタイムアウトによって利得変更が行われる。
【００３５】
なお、ボリューム値指示データが高速で入力される場合は、一般に入力オーディオ信号が微小信号である場合が多いと考えられる。この理由は、微小信号時には大音量になる心配がないために、ユーザはロータリエンコーダを大信号時に比較して相対的に高速で回転させようとする心理状態となるからである。したがって、ボリューム値指示データが高速で入力される場合は、入力オーディオ信号が微小である場合が多く、ゼロクロス検出による波形崩れ防止効果が働かなくても聴感上の違和感はそれほど大きくはない。これに対し、入力オーディオ信号が比較的大きな場合には、大音量になる心配が生じるために、ユーザはボリュームを低速で変化させようという心理状況にある。また、入力オーディオ信号にオフセットが有る場合でも大きな信号は微小信号に比較してゼロクロスする確率が大きい。したがって、この場合にはゼロクロス検出によって利得変更される可能性が高くなるから聴感上の違和感が生じにくい。
【００３６】
このように、本実施形態の利得可変装置では、入力オーディオ信号のレベルの大小に係わらず、聴感上の違和感を抑えた利得変化を行うことが可能になる。
【００３７】
図４は、利得制御部５の動作を示すフローチャートである。
【００３８】
（ボリューム値指示データ入力検出）
データ入力検出部８がボリューム値指示データの入力を検出しているか判定する（ＳＴ１）、データ入力を検出している場合は、タイマー７が動作中かどうかを判定する（ＳＴ２）。タイマー７が動作中の場合は、利得制御部５は制御レジスタ３に基づく利得変更を行い（ＳＴ３）、タイマー７を停止して（ＳＴ４）、ボリューム値指示データの入力が終了するのを待つ（ＳＴ５）。また、ＳＴ２でタイマー７が動作中でない場合もボリューム値指示データの入力が終了するのを待つ（ＳＴ５）。
【００３９】
ＳＴ５でボリューム値指示データの入力が終了すると、Ｉ／Ｆレジスタ２のデータを制御レジスタ３に取り込み（ＳＴ６）、タイマー７を起動させる（ＳＴ７）。
【００４０】
（ゼロクロス検出）
ＳＴ１でデータ入力検出部８がボリューム値指示データの入力を検出していない場合は、ゼロクロス検出部４が入力オーディオ信号のゼロクロスを検出しているかを判定する（ＳＴ８）。ゼロクロスを検出している場合は、タイマー７が動作中か判定する（ＳＴ９）。タイマー７が動作中の場合は、利得制御部５は制御レジスタ３に基づく利得変更を行い（ＳＴ１０）、タイマー７を停止する（ＳＴ１１）。また、ＳＴ９でタイマー７が動作中でない場合は、ゼロクロス検出は無効で何も処理しない。
【００４１】
（タイマータイムアウト）
ＳＴ８でゼロクロス検出部４が入力オーディオ信号のゼロクロスを検出していない場合は、タイマー７がタイムアウトしているか判定する（ＳＴ１２）。タイムアウトしている場合は、制御レジスタ３に基づく利得変更を行い（ＳＴ１０）、タイマー７を停止する（ＳＴ１１）。また、ＳＴ１２でタイマー７がタイムアウトしていない場合は何も処理しない。
【００４２】
なお、入力オーディオ信号は、アナログオーディオ信号であってもよいしディジタルオーディオ信号であってもよい。
【００４３】
【発明の効果】
本発明によれば、ボリューム値を高速で変化させる時には、入力オーディオ信号のゼロクロス検出待ちをしないで利得変更が実行されるために、その変化ステップが粗くならず、また、ボリューム値を低速で変化させる時には従来のゼロクロス検出による波形崩れの防止効果が得られるという効果がある。
【図面の簡単な説明】
【図１】従来の利得可変装置の構成図
【図２】本発明の実施形態の利得可変装置の構成図
【図３】利得および出力波形の変化を示す図
【図４】利得制御部の概略の動作を示すフローチャート
【図１】
0003937898.tif 000002
【図２】
0003937898.tif 000003
【図３】
0003937898.tif 000004
【図４】
0003937898.tif 000005