(57)【要約】【課題】視聴者に不連続な音量変化で不快感を与えないボリューム制御を実現するとともに、利用者の操作意図を反映したボリューム制御を可能にする。【解決手段】マイコン１０は、ロータリエンコーダ１１の回転角度（パルス数）だけでなく、回転速度に基づいて割り出した速度係数も考慮して累積パルス値（操作値）を決定する。また、目標値設定処理では、累積パルス値に基づいて目標値を更新するとき、ボリューム値が通常音量以上の場合には、目標値に加算する値の上限を３に制限して、過剰操作によるオーバーシュートを防止するとともに、誤操作に対応している。さらに、この目標値にボリューム値を収束（フェード）させるとき、非可聴域では速やかに大きなステップで収束させ、可聴域では音量が大きくなるほど１回の音量変化のステップ値を少なくすることによって、不自然な音量変化が起きないようにしている。【選択図】  図１
2004222077.tif 000002
【特許請求の範囲】
【請求項１】
利用者の操作量に応じた数のパルスを発生するエンコーダを用いて電子ボリュームの制御値を制御する方法であって、
エンコーダの操作速度に基づいて速度係数を割り出す速度検出手順と、
エンコーダが発生したパルス数と前記速度係数を乗算することによって操作値を算出する操作値算出手順と、
この操作値に基づいて目標値を増減させる手順であって、そのときの操作値の大きさに応じて設定されたステップ値を操作値から減算するとともに、そのときの制御値に応じて前記設定されたステップ値の上限を制限した値を目標値に加算する目標値設定手順と、
そのときの制御値の大きさおよび制御値と目標値との差に応じてフェードステップ値を決定し、このフェードステップ値で制御値を増減することにより、前記目標値に制御値を収束させてゆくフェード手順と、
を有する電子ボリューム制御方法。
【請求項２】
利用者の操作量に応じた数のパルスを発生するエンコーダと、
エンコーダの操作速度に基づいて速度係数を割り出す速度検出手順、
エンコーダが発生したパルス数と前記速度係数を乗算することによって操作値を算出する操作値算出手順、
この操作値に基づいて目標値を増減させる手順であって、そのときの操作値の大きさに応じて設定されたステップ値を操作値から減算するとともに、そのときの制御値に応じて前記設定されたステップ値の上限を制限した値を目標値に加算する目標値設定手順、および、
そのときの制御値の大きさおよび制御値と目標値との差に応じてフェードステップ値を決定し、このフェードステップ値で制御値を増減することにより、前記目標値に制御値を収束させてゆくフェード手順、
を実行する制御部と、
を備えた電子ボリューム制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、エンコーダによる電子ボリュームの制御方式の改良に関する。
【０００２】
【従来の技術】
従来のロータリエンコーダによる電子ボリューム制御回路は、ロータリエンコーダが発生したパルス数により電子ボリュームをリニアに制御していたため、出力されるオーディオ信号をミュート状態から通常音量へ上昇させたり、可聴音量からミュート状態へ消音させる操作性がよくないという問題点があった。
【０００３】
そこで、ロータリエンコーダの操作速度および現在の音量レベルに基づいて変化量を決定して音量制御するものが提案されている（たとえば特許文献１）。
【０００４】
【特許文献１】
特開２００１−２８５２５公報
【０００５】
【発明が解決しようとする課題】
しかし、上記先行技術では、決定された音量制御値をそのまま電子ボリュームに入力設定しているため、突然電子ボリュームの音量が変化して不連続で聞き苦しい音量変化になってしまうという問題点があった。また、操作速度を音量制御に反映すれば素早く音量を変化させることができる反面、不慣れな利用者が操作した場合には、音量調節が行き過ぎてしまう（オーバーシュート）という問題点もあった。
【０００６】
この発明の目的は、視聴者に不連続な音量変化で不快感を与えないボリューム制御を実現するとともに、利用者の操作意図を反映したボリューム制御を可能にすることにある。
【０００７】
【課題を解決するための手段】
この発明は、利用者の操作量に応じた数のパルスを発生するエンコーダを用いて電子ボリュームの制御値を制御する方法であって、
エンコーダの操作速度に基づいて速度係数を割り出す速度検出手順と、
エンコーダが発生したパルス数と前記速度係数を乗算することによって操作値を算出する操作値算出手順と、
この操作値に基づいて目標値を増減させる手順であって、そのときの操作値の大きさに応じて設定されたステップ値を操作値から減算するとともに、そのときの制御値に応じて前記設定されたステップ値の上限を制限した値を目標値に加算する目標値設定手順と、
そのときの制御値の大きさおよび制御値と目標値との差に応じてフェードステップ値を決定し、このフェードステップ値で制御値を増減することにより、前記目標値に制御値を収束させてゆくフェード手順と、
を有することを特徴とする。
【０００８】
また、この発明は、利用者の操作量に応じた数のパルスを発生するエンコーダと、
エンコーダの操作速度に基づいて速度係数を割り出す速度検出手順、エンコーダが発生したパルス数と前記速度係数を乗算することによって操作値を算出する操作値算出手順、この操作値に基づいて目標値を増減させる手順であって、そのときの操作値の大きさに応じて設定されたステップ値を操作値から減算するとともに、そのときの制御値に応じて前記設定されたステップ値の上限を制限した値を目標値に加算する目標値設定手順、および、そのときの制御値の大きさおよび制御値と目標値との差に応じてフェードステップ値を決定し、このフェードステップ値で制御値を増減することにより、前記目標値に制御値を収束させてゆくフェード手順、を実行する制御部と、
を備えたことを特徴とする。
【０００９】
≪作用≫
この発明では、利用者によるエンコーダの操作に応じて決定される「操作値」により音量制御の「目標値」を算出し、電子ボリュームの音量制御動作のパラメータ、すなわち出力信号の音量である「制御値」をこの「目標値」に収束させるように制御する。
【００１０】
上記速度検出手順および操作値算出手順によって、操作速度を操作値の決定に寄与させることができるため、素早く操作したときは、ゆっくり操作したときよりも同じ操作量でも操作値を大きくすることができ、また逆にゆっくり操作したときは、素早く操作したときよりも同じ操作量でも操作値を小さくすることができる。そのため、大きく音量を変化させたいときに素早く動かし、微妙に音量を調整したいときにはゆっくり動かすという利用者の操作態様を操作値に反映することができる。
【００１１】
また、上記目標値設定手順は、操作値に応じて設定されたステップ値を操作値から減算するとともに、ステップ値を目標値に加算することにより、操作値を目標値に反映させる。このとき、先に操作値から現在したステップ値をそのまま目標値に加算するとは限らず、このステップ値の上限をそのときの制御値に応じて制限する。すなわち、制御値の値が大きいときには操作値から減算したステップ値の大きさにかかわらず目標値に加算するステップ値を小さいものとする。これにより、制御値（音量）が大きいときには、利用者がエンコーダを速く大きく操作して操作値が大きくなってもそのすべてが目標値に反映されず、利用者の操作がスリップしているような態様で目標値の設定が行われる。これにより、オーバーシュートすることなく利用者の操作意図どおりに所望の制御値（音量）を設定できるようになる。
【００１２】
ここで、制御値に応じてステップ値の上限を制限する態様として以下のような音量エリアによる制御態様がある。利用者がよく利用する制御値である通常音量（たとえば−５０ｄＢ）より小さい場合には、上限を制限せずに操作値から減算したステップ値をそのまま目標値に加算し、通常音量域（たとえば−５０ｄＢ以上−１５ｄＢ未満）では、目標値に加算するステップ値の上限を緩やかに制限し、大音量域（たとえば−１５ｄＢ以上）では、上限を厳格に制限するようにする。このようにすることにより、利用者の操作に応じて、ミュート（非可聴）域から通常音量までは速やかに音量を上昇させることができるとともに、通常音量域では、操作による音量変化が過敏でなくなるため微妙な調整も可能になり、さらに、大音量域では、誤って大音響を出力してしまわないように操作に対する応答性を鈍くすることができる。このようにこの手順によれば、利用者の操作性と安全性を両立させることができる。
【００１３】
また、フェード手順では、フェードステップ値を設定するとき、目標値と制御値との差を考慮することにより、利用者の操作によって設定された目標値に速やかに追従させることができる。また、フェードステップ値を設定するとき、制御値の大きさを考慮することにより、非可聴域（たとえば−７０ｄＢ未満）では目標値と制御値との差に応じた大きなステップで制御することによって追従性をよくし、可聴域（たとえば−７０ｄＢ以上）では、その音量に応じて順次フェードステップ値を小さくしてゆくことにより、電子ボリュームに特有の不連続な音量変化による不自然さを目立たなくすることができる。このようにこの手順によれば、制御値（音量）の操作値に対する追従性と音量変化の自然さを両立させることができる。
【００１４】
以上のように、この発明によれば、利用者の操作性、特に非可聴域から音量を上げてゆくときの迅速さ、および、通常音量域での微妙な操作を可能にするとともに、大音量域での操作の安全性および可聴域における音量変化の滑らかさを実現することができる。
【００１５】
【発明の実施の形態】
図面を参照してこの発明の実施形態であるＡＶアンプのボリューム制御装置について説明する。
【００１６】
図１は、同ボリューム制御装置のブロック図である。ＡＶアンプ１のボリューム制御部には、図示のように、マイクロコンピュータ１０、ロータリエンコーダ１１、および、電子ボリュームＬＳＩ（以下、単に「電子ボリューム」という）１２が設けられている。マイクロコンピュータ１０は、ボリューム制御専用であってもよく、他の処理（たとえば表示制御など）と併用であってもよい。ロータリエンコーダ１１には、図示しない回転つまみが設けられており、利用者が回転つまみを回転させることにより、その回転方向、回転角度に応じたパルスがロータリエンコーダ１１から出力される。電子ボリューム１２は、アナログ回路であるＶＣＡを内蔵したハイブリッドＬＳＩであり、入力されたオーディオ信号をアッテネート（または増幅）して出力する。アッテネート量はマイクロコンピュータ１０から入力される音量制御のためのパラメータであるボリューム値（制御値）によって設定され、−９９．５ｄＢ〜０ｄＢまで２００ステップに制御することができる。
【００１７】
ロータリエンコーダ１１が操作され、パルスが発生すると（Ａ／Ｂのステータスが遷移すると）、そのパルスがマイクロコンピュータ１０に読み取られる。マイクロコンピュータ１０は、そのパルスのカウント値および回転速度に基づいて音量制御パラメータを決定する。そして、この音量制御パラメータを電子ボリューム１２に設定することにより、電子ボリューム１２から出力されるオーディオ信号の音量が制御される。
【００１８】
以下このマイクロコンピュータ１０が実行する処理動作について説明する。マイクロコンピュータ１０は、ロータリエンコーダ１１の回転を検出して累積パルス値（操作値）を算出するパルス処理動作（図２）、この累積パルス値に基づいて目標値を設定する目標値設定処理（図３）、および、音量制御パラメータ（制御値）を目標値に収束させるフェード処理（図４）を並列に実行している。これら３つの処理は、累積パルス値（操作値）、目標値、および、ボリューム値（制御値）を受け渡ししながらそれぞれ独立に動作している。
【００１９】
パルス処理動作においては、ロータリエンコーダ１１の回転角度（パルス数）だけでなく、回転速度に基づいて割り出した速度係数も考慮して累積パルス値（操作値）を決定する。具体的には、一定時間に発生したパルス数から回転速度を割り出し、この回転速度を１１段階の速度係数（１〜１１）に変換する。
【００２０】
また、目標値設定処理では、累積パルス値に基づいて目標値を更新する。基本的には累積パルス値を所定のステップ値ずつ累積パルス値から減算するとともに目標値に加算する処理動作を５０ｍｓごとに繰り返して累積パルス値を目標値に移動させるが、ボリューム値が通常音量（−５０ｄＢ）以上の場合には、１回の処理動作で目標値に加算する値の上限を３に制限する。したがって、このとき、累積パルス値から減算されたステップ値が３より大きかったときには、その差分だけスリップ（ズレ）が生じることになる。このスリップにより利用者の過剰操作によるオーバーシュートを防止している。また、ボリューム値が大音量域（−１５ｄＢ）以上の場合には、１回の処理動作で目標値に加算する値の上限を１に制限する。このスリップで、大音量時に誤った操作があっても急な音量増加を防止している。
【００２１】
また、フェード処理は、１０ｍｓごとに実行される処理である。すなわち、上記目標値設定処理が１回実行される間隔に５回実行される。この処理では、電子ボリューム１２を制御するボリューム値を目標値に追従させるが、この追従のために加算するフェードステップ値を、非可聴域（−７１ｄＢ以下）では目標値との差に応じて５ステップ、３ステップまたは１ステップとし、可聴域で通常音量以下（−７０ｄＢ〜−５１ｄＢ）では目標値との差に応じて３ステップまたは１ステップとし、通常音量（−５０ｄＢ）以上ではフェードステップ値を１ステップに制限している。このように音量が大きくなるほど、１回の音量変化のステップ値を少なくして不自然な音量変化が起きないようにしている。
【００２２】
以下、図２〜図４のフローチャートを参照して上記処理動作を詳細に説明する。
図２は、パルス処理動作を示す図である。ｓ１〜ｓ３で、ロータリエンコーダ１１のＡ／Ｂステータスが１サイクル分変化するまで待機する。ロータリエンコーダのＡ／Ｂステータスが１サイクル分変化すると（ｓ３）、ステータス変化の状態に基づいて回転方向を割り出し（ｓ４）、その割り出した回転方向を右回りステータス（ｓ５）または左回りステータス（ｓ６）として記憶する。
【００２３】
ここで、右回りステータスは音量増加を意味し、左回りステータスは音量減少を意味している。以下の説明では、右回り／左回りを区別なく説明しているが、右回りステータスの場合にはすべて正値の処理であって、最終的に音量（ボリューム値）が増加するように処理され、左回りステータスの場合には最終的に音量が減少するような処理が行われる。
【００２４】
ｓ７ではスピードサンプリングタイマが有効になっているかを判断する。スピードサンプリングタイマは、２００ｍｓでタイムアップするタイマであり、このタイマカウント期間中に何回エンコーダパルスが発生したかでパルスエンコーダの回転速度を求める。このタイマが無効状態のときにエンコーダパルスが検出されるとｓ９の動作でこのタイマがスタートして有効状態にされる。そして、タイムアップしたのち所定時間（３秒間）エンコーダパルスが検出されないと（この図２の処理が実行されないと）、無効状態に設定される。
【００２５】
スピードサンプリングタイマが無効の場合にはｓ９に進み、累積パルス値を記憶する累積パルスアキュムレータおよびロータリエンコーダが発生した（生の）パルス値を記憶するカウンタをリセット（１をセットする）するとともに、回転方向の（右回り／左回り）ステータスを保存して（ｓ９）、スピードサンプリングタイマをスタートさせ（ｓ１２）、目標値設定処理を呼び出して（ｓ１３）、待機動作（ｓ１〜ｓ３）にもどる。
【００２６】
一方、スピードサンプリングタイマが有効状態の場合には（ｓ７）、今回検出した回転方向が保存されている回転方向のステータスと同一であるかを判断する（ｓ８）。同一の場合にはｓ１０以下の動作に進み、同一でない場合、すなわちそれまでと逆に回された場合にはｓ９に進む。逆に回された場合には、それまでの方向の音量変化をキャンセルする操作であるとしてそれまでの累積パルス値を破棄し、タイマの無効状態からあらたにエンコーダパルスを検出した場合と同様に、累積パルスアキュムレータおよびカウンタをリセットするとともに、回転方向ステータスを保存して（ｓ９）、スピードサンプリングタイマをスタートさせ（ｓ１２）、目標値設定処理を呼び出して（ｓ１３）、待機動作（ｓ１〜ｓ３）にもどる。
【００２７】
また、スピードサンプリングタイマが有効の場合には、このタイマがタイムアップしているかを判断する（ｓ１０）。タイムアップしているときにはこのタイマが動作していたサンプリング時間にカウンタがカウントしたエンコーダパルス数を回転速度として換算して速度係数（１〜１１）を求め、この速度係数をカウントしたエンコーダパルス数に乗算した値を累積パルスアキュムレータに加算する（ｓ１１）。なおこのｓ１１の処理で生パルス数をカウントするカウンタはクリア・リセットされるが、累積パルスアキュムレータはリセットされず、累積パルス値が累積加算される。こののち、スピードサンプリングタイマを再スタートさせ（ｓ１２）、目標値設定処理を呼び出して（ｓ１３）、待機動作（ｓ１〜ｓ３）にもどる。
【００２８】
また、ｓ１０でスピードサンプリングタイマがタイムアップしていなかったときにはカウンタに１を加算して（ｓ１４）、目標値設定処理（図３）を呼び出して（ｓ１３）、待機動作（ｓ１〜ｓ３）にもどる。
【００２９】
図３は、目標値設定処理動作を示すフローチャートである。この目標値設定処理は、図２のパルス処理動作から呼び出しがあったとき、または、累積パルスアキュムレータの値が０でないときに実行される。また、この目標値設定処理では、図２のパルス処理動作で書き込まれている累積パルスアキュムレータの値および右／左回りステータスを参照する。
【００３０】
まずパルス処理動作から呼び出しがあったか（ｓ２０）、または、累積パルスアキュムレータの値が０でないか（ｓ２１）を判断する。いずれかの判断が肯定的であればｓ２２以下の動作にすすむ。両方の判断が否定的の場合には、この判断ルーチンで待機する。
【００３１】
動作がｓ２２以下に進んだ場合には、まず、累積パルスアキュムレータの内容（累積パルス値）を判断する（ｓ２２〜ｓ２４）。累積パルス値が７以上の場合には（ｓ２２）、目標値を変更するステップであるステップ値を７に設定する（ｓ２５）。累積パルス値７未満５以上の場合には（ｓ２３）、ステップ値を５に設定する（ｓ２６）。累積パルス値が５未満３以上の場合には（ｓ２４）、ステップ値を３に設定する（ｓ２７）。また、累積パルス値が３未満の場合には（ｓ２４）、ステップ値を１に設定する（ｓ２８）そして、この設定されたステップ値を累積パルスアキュムレータ（累積パルス値）から減算する（ｓ２９）。
【００３２】
次に、目標値を更新する処理に移行するが、まず、図２の処理で記憶されている回転方向ステータスをチェックする（ｓ３０）。右回りステータスすなわちボリュームアップ（音量増加）の制御をする場合には、ステップ値の上限を、現在のボリューム値に応じて制限する。すなわち、制御値の値が大きいときには操作値から減算したステップ値の大きさにかかわらず目標値に加算するステップ値を小さいものとする。これにより、制御値（音量）が大きいときには、利用者がエンコーダを速く大きく操作して操作値が大きくなってもそのすべてが目標値に反映されず、利用者の操作がスリップしているような態様で目標値の設定が行われる。これにより、オーバーシュートすることなく利用者の操作意図どおりに所望の制御値（音量）を設定できるようになる。
【００３３】
また、回転方向ステータスが、左回りステータスすなわちボリュームダウン（音量減少）の制御をする場合には、現在のボリューム値にかかわらず、上記ｓ２２〜ｓ２８で設定したステップ値をそのまま目標値に加算する（ｓ３９）。そしてフェード処理（図４）を呼び出す（ｓ４０）。
【００３４】
つぎに、右回りステータスの場合の処理を順次説明する。まず、現在のボリューム値を判断する（ｓ３３、ｓ３４）。ボリューム値が−５０ｄＢよりも小さい場合には（ｓ３３）、上記ｓ２２〜ｓ２８で設定したステップ値をそのまま目標値に加算する（ｓ３９）。そしてフェード処理を呼び出す（ｓ４０）。
【００３５】
一方、ボリューム値が−１５ｄＢよりも小さく−５０ｄＢ以上の場合には（ｓ３４）、設定されているステップ値を判断し（ｓ３７）、ステップ値が３よりも大きく設定されている場合には、このステップ値を３に書き換えたのちｓ３９に進む。一方、ステップ値が３以下の場合には、そのままｓ３９に進む。すなわち、ボリューム値の−５０ｄＢ〜−１５ｄＢの範囲は利用者が通常用いる通常音量域であるため、オーバーシュートしないように、累積パルス値から求めた（ｓ２５，ｓ２６，ｓ２７）ステップ値よりも目標値に加算するステップ値を小さくしている。
【００３６】
また、ボリューム値が−１５ｄＢ以上の場合にはステップ値を強制的に１に設定して（ｓ３６）、ｓ３９に進む。これは、ボリューム値が−１５ｄＢ以上の範囲は大音量域であるため、累積パルス値をそのまま目標値に反映させると音量が極端に大きくなってしまうおそれがあるため、誤操作を補償する目的でステップ値を強制的に１にしている。
【００３７】
図４は、フェード処理動作を示すフローチャートである。この動作は図３の動作で設定された目標値に電子ボリューム１２のボリューム値を追従させる処理である。まず、現在ミュート中であるかを判断する（ｓ５０）。ミュート中であればボリューム値の制御は行わない。ミュート中でない場合において、目標値設定処理動作から呼び出しがあったか（ｓ５１）、または、ボリューム値が目標値と不一致であるか、すなわちフェード処理がまだ残っているか（ｓ５３）を判断する。目標値設定処理動作から呼び出しがあった場合には図３の処理で新たに設定された目標値を取り込んで（ｓ５２）、ｓ５５以下の動作にすすむ。また、ｓ５３にてボリューム値が目標値と不一致であった場合にはそのままｓ５５以下の動作にすすむ。両方の判断が否定的の場合には、ｓ５０，ｓ５１，ｓ５３の一連の判断ルーチンのループで待機する。
【００３８】
ｓ５５では現在のボリューム値（制御値：音量）を判断する。現在のボリューム値が−７１ｄＢ以下の場合には、目標値との差が５ステップ以上の場合には（ｓ５６）、５ステップだけ電子ボリュームに対してボリューム値を増減し（ｓ５７）、目標値との差が３ステップ以上５ステップ未満の場合には（ｓ５９）、３ステップだけ電子ボリュームに対してボリューム値を増減し（ｓ６０）、目標値との差が３ステップ未満であれば（ｓ５９）、１ステップだけ電子ボリュームに対してボリューム値を増減する（ｓ６１）。
【００３９】
なお、この処理は１０ｍｓ毎に実行され、上記目標値設定処理よりも十分に細かく繰り返されるため、５ステップずつでも十分に大きなボリューム変化を実現することができる。
【００４０】
また、現在のボリューム値が−７０ｄＢ〜−５１ｄＢの場合には、目標値との差が３ステップ以上の場合には（ｓ５９）、３ステップだけ電子ボリュームに対してボリューム値を増減し（ｓ６０）、目標値との差が３ステップ未満であれば（ｓ５９）、１ステップだけ電子ボリュームに対してボリューム値を増減する（ｓ６１）。さらに、現在のボリューム値が−５０ｄＢ以上の場合には、目標値との差にかかわらず、１ステップだけ電子ボリュームに対してボリューム値を増減する（ｓ６１）。そして、この電子ボリューム１２に設定したボリューム値を現在値として記憶する（ｓ５８）。
【００４１】
このように、−７０ｄＢ未満の非可聴域では目標値とボリューム値との差を考慮した５ステップまでのフェードステップ値でボリューム値を制御することによって追従性をよくし、−７０ｄＢ以上の可聴域では、そのボリューム値に応じて順次フェードステップ値を小さくしてゆくことにより、電子ボリュームに特有の不連続な音量変化による不自然さを目立たなくすることができる。
【００４２】
【発明の効果】
以上のようにこの発明によれば、利用者の操作性、特に非可聴域から音量を上げてゆくときの迅速さ、および、通常音量域での微妙な操作を可能にするとともに、大音量域での操作の安全性および可聴域における音量変化の滑らかさを実現することができる。
【図面の簡単な説明】
【図１】この発明の実施形態であるボリューム制御装置の概略ブロック図
【図２】同ボリューム制御装置のパルス処理動作を示すフローチャート
【図３】同ボリューム制御装置の目標値設定動作を示すフローチャート
【図４】同ボリューム制御装置のフェード処理動作を示すフローチャート
【符号の説明】
１…ＡＶアンプ、１０…マイクロコンピュータ、１１…ロータリエンコーダ、１２…電子ボリュームＬＳＩ
【図１】
2004222077.tif 000003
【図２】
2004222077.tif 000004
【図３】
2004222077.tif 000005
【図４】
2004222077.tif 000006