(57)【要約】【課題】  音質改善方法およびシステムを提供する。【解決手段】  音質改善方法は、電子機器へのマイク入力信号および前記電子機器からのスピーカ出力信号を分析してソフトウェアの音質改善機能の要否を決定する段階、および、前記の決定されたソフトウェアの音質改善機能の要否に基づき、前記ソフトウェアの音質改善機能を活性化または非活性化する段階を含む。【選択図】      図３
2018019396.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実現される電子機器における音質改善方法を実行させるためのコンピュータプログラムであって、
前記音質改善方法は、
前記電子機器へのマイク入力信号および前記電子機器からのスピーカ出力信号を分析してソフトウェアの音質改善機能の要否を決定する段階、および
前記の決定されたソフトウェアの音質改善機能の要否に基づき、前記ソフトウェアの音質改善機能を活性化または非活性化する段階
を含む、コンピュータプログラム。
【請求項２】
前記ソフトウェアの音質改善機能は、ＡＥＣモジュール、ＮＳモジュール、およびＡＧＣモジュールを含み、
前記ソフトウェアの音質改善機能の要否を決定する段階では、前記ＡＥＣモジュール、前記ＮＳモジュール、および前記ＡＧＣモジュールのうち少なくとも１つのモジュールの要否を決定し、
前記ソフトウェアの音質改善機能を活性化または非活性化する段階では、前記の決定された少なくとも１つのモジュールの要否に基づき、前記少なくとも１つのモジュールを活性化または非活性化する、請求項１に記載のコンピュータプログラム。
【請求項３】
前記ソフトウェアの音質改善機能の要否を決定する段階は、
前記マイク入力信号および前記スピーカ出力信号を分析してエコー区間を決定する段階、
前記の決定されたエコー区間における平均エネルギーを算出する段階、および
前記の算出されたエコー区間における平均エネルギーと既定の第１閾値とを比較した結果を利用して、前記ソフトウェアの音質改善機能としてＡＥＣモジュールの要否を決定する段階
を含む、請求項１に記載のコンピュータプログラム。
【請求項４】
前記エコー区間を決定する段階では、
前記スピーカ出力信号の活性化区間において、前記マイク入力信号と前記スピーカ出力信号との相関度を分析することにより、前記エコー区間を決定する、請求項３に記載のコンピュータプログラム。
【請求項５】
前記ＡＥＣモジュールの要否を決定する段階では、前記マイク入力信号と前記スピーカ出力信号の間の遅延の連続性の有無を更に利用して、前記ＡＥＣモジュールの要否を決定し、
前記遅延の連続性は、前記マイク入力信号と前記スピーカ出力信号のそれぞれを既定の大きさのフレーム単位に分割したとき、前記フレーム単位ごとの遅延の値が同様に保たれることを意味する、請求項３に記載のコンピュータプログラム。
【請求項６】
前記ソフトウェアの音質改善機能の要否を決定する段階は、
前記マイク入力信号および前記スピーカ出力信号の全体区間から前記の決定されたエコー区間を除いた残りの区間のうち、前記マイク入力信号のエネルギーが前記マイク入力信号の平均エネルギーと既定の第１加重値との積よりも大きい区間を、ユーザ入力区間として決定する段階、
前記の決定されたユーザ入力区間における平均エネルギーを算出する段階、および
前記の算出されたユーザ入力区間における平均エネルギーが既定の範囲に属するかどうかを利用して、前記ソフトウェアの音質改善機能としてＡＧＣモジュールの要否を決定する段階
を更に含む、請求項３に記載のコンピュータプログラム。
【請求項７】
前記ソフトウェアの音質改善機能の要否を決定する段階は、
前記全体区間から前記の決定されたエコー区間および前記の決定されたユーザ入力区間を除いた残りの区間のうち、前記マイク入力信号のエネルギーが前記マイク入力信号の平均エネルギーと既定の第２加重値との積よりも小さい区間を、雑音区間として決定する段階、
前記の決定された雑音区間における平均エネルギーを算出する段階、および
前記の算出された雑音区間における平均エネルギーと既定の第２閾値とを比較した結果を利用して、前記ソフトウェアの音質改善機能としてＮＳモジュールの要否を決定する段階
を更に含む、請求項６に記載のコンピュータプログラム。
【請求項８】
電子機器における音質改善方法であって、
前記電子機器へのマイク入力信号および前記電子機器からのスピーカ出力信号を分析してソフトウェアの音質改善機能の要否を決定する段階、および
前記の決定されたソフトウェアの音質改善機能の要否に基づき、前記ソフトウェアの音質改善機能を活性化または非活性化する段階
を含む、音質改善方法。
【請求項９】
前記ソフトウェアの音質改善機能は、ＡＥＣモジュール、ＮＳモジュール、およびＡＧＣモジュールを含み、
前記ソフトウェアの音質改善機能の要否を決定する段階では、前記ＡＥＣモジュール、前記ＮＳモジュール、および前記ＡＧＣモジュールのうち少なくとも１つのモジュールの要否を決定し、
前記ソフトウェアの音質改善機能を活性化または非活性化する段階では、前記の決定された少なくとも１つのモジュールの要否に基づき、前記少なくとも１つのモジュールを活性化または非活性化する、請求項８に記載の音質改善方法。
【請求項１０】
前記ソフトウェアの音質改善機能の要否を決定する段階は、
前記マイク入力信号および前記スピーカ出力信号を分析してエコー区間を決定する段階、
前記の決定されたエコー区間における平均エネルギーを算出する段階、および
前記の算出されたエコー区間における平均エネルギーと既定の第１閾値とを比較した結果を利用して、前記ソフトウェアの音質改善機能としてＡＥＣモジュールの要否を決定する段階
を含む、請求項８に記載の音質改善方法。
【請求項１１】
前記ＡＥＣモジュールの要否を決定する段階では、
前記マイク入力信号と前記スピーカ出力信号の間の遅延の連続性の有無を更に利用して、前記ＡＥＣモジュールの要否を決定し、
前記遅延の連続性は、前記マイク入力信号と前記スピーカ出力信号のそれぞれを既定の大きさのフレーム単位に分割したとき、前記フレーム単位ごとの遅延の値が同様に保たれることを意味する、請求項１０に記載の音質改善方法。
【請求項１２】
前記ソフトウェアの音質改善機能の要否を決定する段階は、
前記マイク入力信号および前記スピーカ出力信号の全体区間から前記の決定されたエコー区間を除いた残りの区間のうち、前記マイク入力信号のエネルギーが前記マイク入力信号の平均エネルギーと既定の第１加重値との積よりも大きい区間を、ユーザ入力区間として決定する段階、
前記の決定されたユーザ入力区間における平均エネルギーを算出する段階、および
前記の算出されたユーザ入力区間における平均エネルギーが既定の範囲に属するかどうかを利用して、前記ソフトウェアの音質改善機能としてＡＧＣモジュールの要否を決定する段階
を更に含む、請求項１０に記載の音質改善方法。
【請求項１３】
前記ソフトウェアの音質改善機能の要否を決定する段階は、
前記全体区間から前記の決定されたエコー区間および前記の決定されたユーザ入力区間を除いた残りの区間のうち、前記マイク入力信号のエネルギーが前記マイク入力信号の平均エネルギーと既定の第２加重値との積よりも小さい区間を、雑音区間として決定する段階、
前記の決定された雑音区間における平均エネルギーを算出する段階、および
前記の算出された雑音区間における平均エネルギーと既定の第２閾値とを比較した結果を利用して、前記ソフトウェアの音質改善機能としてＮＳモジュールの要否を決定する段階
を更に含む、請求項１２に記載の音質改善方法。
【請求項１４】
電子機器であって、
コンピュータで読取可能な命令を格納するメモリ、および
前記コンピュータで読取可能な命令を実行するための少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
前記電子機器へのマイク入力信号および前記電子機器からのスピーカ出力信号を分析してソフトウェアの音質改善機能の要否を決定し、
前記の決定されたソフトウェアの音質改善機能の要否に基づき、前記ソフトウェアの音質改善機能を活性化または非活性化するものである、電子機器。
【請求項１５】
前記ソフトウェアの音質改善機能は、ＡＥＣモジュール、ＮＳモジュール、およびＡＧＣモジュールを含み、
前記少なくとも１つのプロセッサは、
前記ＡＥＣモジュール、前記ＮＳモジュール、および前記ＡＧＣモジュールのうち少なくとも１つのモジュールの要否を決定することにより、前記ソフトウェアの音質改善機能の要否を決定し、
前記の決定された少なくとも１つのモジュールの要否に基づき、前記少なくとも１つのモジュールを活性化または非活性化することにより、前記ソフトウェアの音質改善機能を活性化または非活性化するものである、請求項１４に記載の電子機器。
【請求項１６】
前記少なくとも１つのプロセッサは、前記ソフトウェアの音質改善機能の要否を決定するために、前記マイク入力信号および前記スピーカ出力信号を分析してエコー区間を決定し、
前記の決定されたエコー区間における平均エネルギーを算出し、
前記の算出されたエコー区間における平均エネルギーと既定の第１閾値とを比較した結果を利用して、前記ソフトウェアの音質改善機能としてＡＥＣモジュールの要否を決定するものである、請求項１４に記載の電子機器。
【請求項１７】
前記少なくとも１つのプロセッサは、前記ＡＥＣモジュールの要否を決定する際に、前記マイク入力信号と前記スピーカ出力信号の間の遅延の連続性の有無を更に利用して、前記ＡＥＣモジュールの要否を決定するものであり、
前記遅延の連続性は、前記マイク入力信号と前記スピーカ出力信号のそれぞれを既定の大きさのフレーム単位に分割したとき、前記フレーム単位ごとの遅延の値が同様に保たれることを意味する、請求項１６に記載の電子機器。
【請求項１８】
前記少なくとも１つのプロセッサは、前記ソフトウェアの音質改善機能の要否を決定するために、
前記マイク入力信号および前記スピーカ出力信号の全体区間から前記の決定されたエコー区間を除いた残りの区間のうち、前記マイク入力信号のエネルギーが前記マイク入力信号の平均エネルギーと既定の第１加重値との積よりも大きい区間を、ユーザ入力区間として決定し、
前記の決定されたユーザ入力区間における平均エネルギーを算出し、
前記の算出されたユーザ入力区間における平均エネルギーが既定の範囲に属するかどうかを利用して、前記ソフトウェアの音質改善機能としてＡＧＣモジュールの要否を決定するものである、請求項１６に記載の電子機器。
【請求項１９】
前記少なくとも１つのプロセッサは、前記ソフトウェアの音質改善機能の要否を決定するために、
前記全体区間から前記の決定されたエコー区間および前記の決定されたユーザ入力区間を除いた残りの区間のうち、前記マイク入力信号のエネルギーが前記マイク入力信号の平均エネルギーと既定の第２加重値との積よりも小さい区間を、雑音区間として決定し、
前記の決定された雑音区間における平均エネルギーを算出し、
前記の算出された雑音区間における平均エネルギーと既定の第２閾値とを比較した結果を利用して、前記ソフトウェアの音質改善機能としてＮＳモジュールの要否を決定するものである、請求項１８に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、音質改善方法、音質改善方法を実行させるためのコンピュータプログラム、および電子機器に関する。
【背景技術】
【０００２】
最近、様々な種類のマルチメディア機器が市販されており、マルチメディア機器をサポートするための様々なアプリケーションも開発されている。このような様々なアプリケーションのうち、マルチメディア機器に備えられているマイクから入ってくるオーディオ信号を利用するアプリケーションでは、音質改善（Ａｕｄｉｏ  Ｑｕａｌｉｔｙ  Ｅｎｈａｎｃｅｍｅｎｔ）機能が必須的に採用されている。それは、スピーカから出るエコーや周囲の雑音がユーザの音声入力に混ざってマイクに入ってくるからである。そのようなアプリケーションとして、例えば、電話やカラオケ、音声の録音や映像の録画、音声や音楽の認識のためのアプリケーションがある。
【０００３】
一方、最近のマルチメディア機器の中には、ハードウェア自体において音質改善機能を有するものがあり、ハードウェア自体において音質改善機能を有するマルチメディア機器の種類や数はますます増えている傾向にある。また、ソフトウェア的に音質改善機能を提供する必要があるアプリケーションも存在する。
【０００４】
音質改善機能は、マイクから入ってくる入力からエコーや雑音を取り除くため、ユーザの音声入力が損傷を受けるわけであり、音質改善機能が数回に渡って実行されると、損傷がそれだけ大きくなるという問題がある。したがって、ソフトウェアにおける音質改善機能を提供する必要があるアプリケーションの開発者は、ハードウェア自体において音質改善機能を有するマルチメディア機器を一つ一つ確認し、そのリストを生成および管理しなければならないという煩雑さを抱えている。また、ハードウェアの音質改善機能を有するマルチメディア機器にインストールされたアプリケーションにおいて、ソフトウェアの音質改善機能を提供しないために、その機能をオフ（ｏｆｆ）とするように管理しなければならないという煩雑さもある。
【０００５】
或いは、このような煩雑さを避けるために、ハードウェアの音質改善機能とソフトウェアの音質改善機能のいずれも機能することを放置する場合もあるが、上述したように、音質の損傷を受けることが避けられないという問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第WO/2015/065001号
【特許文献２】米国特許出願公開第2014／0019540A1号明細書
【特許文献３】米国特許出願公開第2013／0332543A1号明細書
【特許文献４】米国特許出願公開第2013／0260893A1号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
マイクの入力信号とスピーカの出力信号を分析してリアルタイムでソフトウェアの音質改善機能の要否を判断し、ソフトウェアの音質改善機能を選択的に活性化または非活性化することができる、音質改善方法およびシステムを提供する。
【課題を解決するための手段】
【０００８】
コンピュータによって実現される電子機器における音質改善方法を実行させるためのコンピュータプログラムであって、前記音質改善方法は、前記電子機器へのマイク入力信号および前記電子機器からのスピーカ出力信号を分析してソフトウェアの音質改善機能の要否を決定する段階、および前記の決定されたソフトウェアの音質改善機能の要否に基づき、ソフトウェアの音質改善機能を活性化または非活性化する段階を含む、コンピュータプログラムを提供する。
【０００９】
電子機器における音質改善方法であって、前記電子機器へのマイク入力信号および前記電子機器からのスピーカ出力信号を分析してソフトウェアの音質改善機能の要否を決定する段階、および前記の決定されたソフトウェアの音質改善機能の要否に基づき、ソフトウェアの音質改善機能を活性化または非活性化する段階を含む、音質改善方法を提供する。
【００１０】
電子機器であって、コンピュータで読取可能な命令（ｉｎｓｔｒｕｃｔｉｏｎｓ）を格納するメモリ、および前記コンピュータで読取可能な命令を実行するための少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、前記電子機器へのマイク入力信号および前記電子機器からのスピーカ出力信号を分析してソフトウェア音の質改善機能の要否を決定し、前記の決定されたソフトウェアの音質改善機能の要否に基づき、ソフトウェアの音質改善機能を活性化または非活性化する、電子機器を提供する。
【発明の効果】
【００１１】
マイクの入力信号とスピーカの出力信号を分析してリアルタイムでソフトウェアの音質改善機能の要否を判断し、ソフトウェアの音質改善機能を選択的に活性化または非活性化することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態における電子機器の内部構成の例を示した図である。
【図２】本発明の一実施形態における電子機器のプロセッサが含む構成要素の例を示したブロック図である。
【図３】本発明の一実施形態における電子機器が実行する音質改善方法の例を示したフローチャートである。
【図４】本発明の一実施形態において、ソフトウェアの音質改善機能の要否を決定するための方法の例を示したフローチャートである。
【図５】本発明の一実施形態において、ソフトウェアの音質改善機能を活性化する過程の例を示した図である。
【発明を実施するための形態】
【００１３】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１４】
本発明の実施形態に係る音質改善システムは、以下で説明される電子機器によって実現されて良く、本発明の実施形態に係る音質改善方法は、電子機器によって実行されて良い。例えば、電子機器には、本発明の一実施形態に係るコンピュータプログラムとして実現されるアプリケーションがインストールされて、駆動されて良く、電子機器は、駆動するアプリケーションの制御にしたがって、本発明の一実施形態に係る音質改善方法を実行して良い。
【００１５】
このような電子機器は、コンピュータ装置によって実現される固定端末や移動端末であって良い。例えば、電子機器は、スマートフォンや、携帯電話、ナビゲーション、コンピュータ、ノートパンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレット等のように、少なくとも１つのプロセッサと少なくとも１つのメモリ、更に、データを格納するための永久格納所を少なくとも含む装置であって良い。
【００１６】
図１は、本発明の一実施形態における電子機器の内部構成の例を示した図である。電子機器１００は、プロセッサ１１０や、バス１２０、メモリ１３０、通信モジュール１４０、入力／出力インタフェース１５０を含んで良い。
【００１７】
プロセッサ１１０は、基本的な算術や、ロジック、入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されて良い。例えば、命令は、メモリ１３０または通信モジュール１４０より、そしてバス１２０を介してプロセッサ１１０に提供されて良い。例えば、プロセッサ１１０は、メモリ１３０のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されて良い。
【００１８】
バス１２０は、電子機器１００の構成要素同士の通信やデータ送信を可能にする。例えば、バス１２０は、高速シリアルバス（Ｈｉｇｈ−ｓｐｅｅｄ  Ｓｅｒｉａｌ  Ｂｕｓ）、パラレルバス（Ｐａｒａｌｅｌｌ  Ｂｕｓ）、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、及び／又は、その他の好適な通信技術から構成されて良い。
【００１９】
メモリ１３０は、コンピュータで読取可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）や、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んで良い。ここで、ＲＯＭと永久大容量記憶装置は、メモリ１３０から分離され、別の永久記憶装置として電子機器１００に含まれても良い。また、メモリ１３０には、オペレーティングシステムや、少なくとも１つのプログラムコード（一例として、電気機器１００にインストールされ駆動されるブラウザや、特定のサービスを提供するために電子機器１００にインストールされたアプリケーション等のためのコード）が格納されて良い。このようなソフトウェア構成要素は、メモリ１３０とは別のコンピュータで読取可能な記録媒体からロードされても良い。このように別のコンピュータで読取可能な記録媒体は、フロッピー（登録商標）ドライブや、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカード等のコンピュータで読取可能な記録媒体を含んで良い。他の実施形態において、ソフトウェア構成要素は、コンピュータで読取可能な記録媒体ではなく、通信モジュール１４０を通じてメモリ１３０にロードされても良い。例えば、開発者や、アプリケーションのインストールファイルを配布するファイル配布システムがネットワーク１７０を介して提供するファイルによって電子機器１００にインストールされるコンピュータプログラム（一例として、上述したアプリケーション）がメモリ１３０にロードされて良い。
【００２０】
通信モジュール１４０は、電子機器１００をコンピュータネットワークに接続するためのコンピュータハードウェア構成要素であって良い。例えば、通信モジュール１４０は、電子機器１００がネットワークを介してネットワーク上の他の電子機器と通信するための機能を提供して良い。ここで、コンピュータネットワークを利用した通信方式には、特に限定されることはなく、コンピュータネットワークが含むことができる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけでなく、機器同士の近距離無線通信が含まれても良い。例えば、コンピュータネットワークは、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）や、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）など、インターネット等のネットワークのうち１つ以上の任意のネットワークを含んで良い。また、コンピュータネットワークは、バスネットワークや、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワーク等を含むネットワークトポロジのうち任意の１つ以上を含んで良いが、これらに限定されることはない。
【００２１】
入力／出力インタフェース１５０は、入力／出力装置１６０とのインタフェースのための手段であって良い。例えば、入力装置は、キーボードや、マウス、マイクロフォン（ｍｉｃｒｏｐｈｏｎｅ、以下「マイク」とする）等の装置を、出力装置は、ディスプレイやスピーカのような装置を含んで良い。他の例として、入力／出力インタフェース１５０は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であっても良い。実施形態によって、入力／出力装置１６０は、電子機器１００とは別の構成要素として、電子機器１００と通信するように構成されても良く、電子機器１００に含まれる１つの装置として構成されても良い。例えば、パーソナルコンピュータのように、マイクやスピーカが別の装置としてパーソナルコンピュータの本体に接続される実施形態がでも良く、スマートフォンのように、スマートフォン本体にマイクやスピーカが含まれる実施形態でも良い。
【００２２】
電子機器１００のプロセッサ１１０は、メモリ１３０にロードされたコンピュータプログラムの命令を処理するにあたり、キーボードやマウス、マイク、タッチスクリーン等の入力装置より電子機器１００に入力される各種の信号や情報を処理し、サービス画面やコンテンツ、オーディオ信号等の各種の信号や情報については、入力／出力インタフェース１５０を介してディスプレイやスピーカ等の出力装置より出力されるように電子機器１００を制御して良い。
【００２３】
また、他の実施形態において、電子機器１００は、図１の構成要素よりも多くの構成要素を含んでも良い。ところが、殆どの従来技術の構成要素を図に示す必要はない。例えば、電子機器１００は、上述した入力／出力装置１６０のうち少なくとも一部を含むように実現されても良く、トランシーバや、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種のセンサ、データベース等の他の構成要素を更に含んでも良い。より具体的な例として、電子機器１００がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器等の多様な構成要素が電子機器１００に更に含まれるように実現されても良い。
【００２４】
このような電子機器１００にインストールされたコンピュータプログラムは、電子機器１００においてソフトウェアの音質改善機能の要否を判断し、ソフトウェアの音質改善機能を選択的に活性化することができる。ここで、音質改善機能は、ＡＥＣ（Ａｃｏｕｓｔｉｃ  Ｅｃｈｏ  Ｃａｎｃｅｌｌａｔｉｏｎ）モジュールや、ＮＳ（Ｎｏｉｓｅ  Ｓｕｐｐｒｅｓｓｉｏｎ：ＮＳ）モジュール、ＡＧＣ（Ａｕｔｏｍａｔｉｃ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）モジュール等から構成されて良い。このような音質改善機能についての具体的な説明は、以下で更に詳しく説明する。
【００２５】
図２は、本発明の一実施形態における電子機器のプロセッサが含む構成要素の例を示したブロック図であり、図３は、本発明の一実施形態における電子機器が実行する音質改善方法の例を示したフローチャートである。上述したように、電子機器１００には、本実施形態に係る音質改善システムが実現されて良く、このために、電子機器１００のプロセッサ１１０は、図２に示すように、マイク信号処理部２１０、スピーカ信号処理部２２０、決定部２３０、および活性化部２４０を含んで良い。
【００２６】
ここで、プロセッサ１１０の構成要素は、電子機器１００にインストールされて駆動されるコンピュータプログラムのコード（又は、ブラウザやオペレーティングシステム）が提供する命令（ｉｎｓｔｒｕｃｔｉｏｎ）にしたがってプロセッサ１１０によって実行されるプロセッサ１１０の相異する機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であって良い。例えば、プロセッサ１１０がマイク信号を処理するために電子機器１００を制御するプロセッサ１１０の機能を表現したものとして、マイク信号処理部２１０が用いられて良い。
【００２７】
このようなプロセッサ１１０およびプロセッサ１１０の構成要素は、メモリ１３０の含むオペレーティングシステムのコードや少なくとも１つのプログラムのコードによる命令を実行するように実現されて良い。特に、プロセッサ１１０およびプロセッサ１１０の構成要素は、図３の音質改善方法が含む段階３１０〜３６０を実行するように電子機器１００を制御することができる。
【００２８】
段階３１０において、マイク信号処理部２１０は、電子機器１００のマイクから入力されるマイク入力信号を処理するように、電子機器１００を制御することができる。ここで、マイクは、電子機器１００に含まれる構成要素であっても良く、電子機器１００とはネットワーク（一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やブルートゥース（登録商標）等）を介して接続される別の装置であっても良い。
【００２９】
段階３２０において、スピーカ信号処理部２２０は、電子機器１００のスピーカから出力されるスピーカ出力信号を処理するように、電子機器１００を制御することができる。スピーカについても、マイクと同様に、電子機器１００に含まれる構成要素であっても良く、電子機器１００とネットワークを介して接続される別の装置であっても良い。
【００３０】
段階３３０において、決定部２３０は、電子機器１００へのマイク入力信号および電子機器１００からのスピーカ出力信号を分析して、ソフトウェアの音質改善機能の要否を決定することができる。ソフトウェアの音質改善機能の要否を決定するためのより具体的な方法については、以下で図４を参照しつつ詳しく説明する。
【００３１】
段階３４０において、決定部２３０は、段階３３０で決定されたソフトウェアの音質改善機能の要否に基づき、段階３５０または段階３６０が選択的に実行されるようにして良い。例えば、決定部２３０は、ソフトウェアの音質改善機能が必要であると決定された場合、活性化部２４０へ、ソフトウェアの音質改善機能を活性化するための命令を伝達することにより、に段階３５０が実行される。一方、決定部２３０は、ソフトウェアの音質改善機能が必要ないと決定された場合には、活性化部２４０へ、ソフトウェアの音質改善機能を非活性化するための命令を伝達することにより、段階３６０が実行される。
【００３２】
段階３５０において、活性化部２４０は、ソフトウェアの音質改善機能を活性化することができる。一例として、ソフトウェアの音質改善機能は、上述したように、ＡＥＣ（Ａｃｏｕｓｔｉｃ  Ｅｃｈｏ  Ｃａｎｃｅｌｌａｔｉｏｎ）モジュールや、ＮＳ（Ｎｏｉｓｅ  Ｓｕｐｐｒｅｓｓｉｏｎ：ＮＳ）モジュール、ＡＧＣ（Ａｕｔｏｍａｔｉｃ  Ｇａｉｎ  Ｃｏｎｔｒｏｌ）モジュールを含み、それぞれのモジュールはソフトウェア的に実現されて良い。この際、段階３３０では、ＡＥＣモジュールや、ＮＳモジュール、ＡＧＣモジュールそれぞれの要否が決定され、活性化部２４０は、段階３５０において決定された必要性に対応するモジュールを選択的に活性化することができる。
【００３３】
段階３６０において、活性化部２４０は、ソフトウェアの音質改善機能を非活性化することができる。例えば、ソフトウェアの音質改善機能が既に活性化されていて、段階３３０でソフトウェアの音質改善機能が必要ないと決定された場合、活性化部２４０は、段階３６０でソフトウェアの音質改善機能を非活性化することができる。上述したように、ＡＥＣモジュールや、ＮＳモジュール、ＡＧＣモジュールのそれぞれに対する活性化が可能であるのと同様に、ＡＥＣモジュールや、ＮＳモジュール、およびＡＧＣモジュールのそれぞれに対する非活性化も可能である。
【００３４】
このようなソフトウェアの音質改善機能の要否に関する決定と、ソフトウェアの音質改善機能の活性化または非活性化は、電子機器１００にインストールされたアプリケーションの目的に応じて、音質改善が求められる間に繰り返されて良い。例えば、段階３３０〜３６０は、終了命令が入力されるまで繰り返して実行されても良い。
【００３５】
図４は、本発明の一実施形態において、ソフトウェアの音質改善機能の要否を決定するための方法の例を示したフローチャートである。本実施形態において、図４の段階４１０〜４７０は、図３を参照しつつ説明した段階３３０に含まれて良い。以下では、マイク入力信号を「Ｙ」、スピーカ出力信号を「Ｘ」と称する。
【００３６】
段階４１０において、決定部２３０は、エコー（ｅｃｈｏ）区間を決定することができる。
【００３７】
決定部２３０は、Ｘの活性化区間において、ＹとＸの相互相関度分析によってエコー区間を決定することができる。Ｘの活性化区間を決定（Ｖｏｉｃｅ  Ａｃｔｉｖｉｔｙ  Ｄｅｔｅｃｔｉｏｎ：ＶＡＤ）するための方法は種々ある。例えば、Ｘの平均エネルギーよりも相対的に高い平均エネルギーをもつ区間を、Ｘの活性化区間として決定して良い。Ｘ、即ち、スピーカ出力信号の活性化区間を決定するために、公知の多様な活性化区間の決定方法のうちの１つが活用されて良い。
【００３８】
決定部２３０は、リアルタイム処理のために、ＸとＹを既定の大きさのフレーム単位であるＴの単位に分割して良い。この際、分割されたＸのエネルギーＥｘは、下記の数式（１）にて計算されて良い。
【００３９】
【数１】
2018019396.tif 000003
【００４０】
ここで、ｆは、分割されたフレームのインデックスを、Ｔは、既定の大きさのフレーム処理単位を、それぞれ意味して良い。例えば、処理単位Ｔとして１０ｍｓｅｃを設定し、サンプリングレートが１６，０００Ｈｚであると仮定すると、Ｘは１６０サンプルフレームに分割される。
【００４１】
ここで、Ｘの平均エネルギー
【００４２】
【数２】
2018019396.tif 000004
は、以下の数式（２）にて計算されて良い。
【００４３】
【数３】
2018019396.tif 000005
よりも大きければ、Ｘｆは活性化区間であると言える。
【００４４】
Ｘの活性化区間における相関度分析は、下記の数式（３）のように、ＹとＸの相互相関関数にて得られて良い。
【００４５】
【数４】
2018019396.tif 000006
ここで、ｄは、遅延を意味して良い。
【００４６】
遅延ｄは、負数または正数であって良く、ｄの範囲は、音響エコー遅延（ａｃｏｕｓｔｉｃ  ｅｃｈｏ  ｄｅｌａｙ）やシステム遅延（ｓｙｓｔｅｍ  ｄｅｌａｙ）を含んで良い。音響エコー遅延は、信号がスピーカ出力からマイクへ流入するまでの音響環境で発生する遅延を含んで良い。また、システム遅延は、装置バッファ遅延（ｄｅｖｉｃｅ  ｂｕｆｆｅｒ  ｄｅｌａｙ）のように、マイクに流入した信号が相関度分析端に伝達されるまでのハードウェア及びソフトウェアにおける全ての遅延を含んで良い。即ち、決定部２３０で信号を受信するまでの全ての遅延が、システム遅延に含まれて良い。
【００４７】
このような数式（３）を正規化すると、以下の数式（４）のように表現される。
【００４８】
【数５】
2018019396.tif 000007
Ｒ（ｄ）は、ＸとＹが類似するほど、大きい値を有する。
【００４９】
ここで、ＸとＹの２つの信号の相互相関度を分析した結果、Ｒ（ｄ）のうち最大値を有するインデックスのｄが、以下の数式（５）のように、ＸとＹ２つの信号の間の遅延（Ｄ）を意味する。
【００５０】
Ｄ＝ａｒｇｍａｘ（Ｒ（ｄ））・・・（５）
【００５１】
信号Ｙでのエコー区間は、Ｒ（Ｄ）によって決定されて良い。ＤがＸの活性化区間の間に同様の値で保たれるのであれば、エコー区間は、ｘ（ｎ）が活性化区間であり、Ｄが同様の値で保たれる場合、以下の数式（６）のように定義されて良い。
【００５２】
ｙ（ｎ＋Ｄ）・・・（６）
【００５３】
ｘ（ｎ）が非活性化区間であるか、または、Ｄが一定の値で保たれない場合には、数式（６）のｙ（ｎ＋Ｄ）は、非エコー区間を示す。
【００５４】
段階４２０において、決定部２３０は、ユーザ入力区間を決定することができる。
【００５５】
先ず、決定部２３０は、マイク入力信号およびスピーカ出力信号の全体区間からエコー区間を除いた、Ｙに対する活性化区間を決定することができる。
【００５６】
例えば、決定部２３０は、Ｙに対するエネルギー
【００５７】
【数６】
2018019396.tif 000008
よりも大きい場合、Ｙｆが活性化区間であると判断し、このような活性化区間をユーザ入力区間として決定することができる。ここで、Ｙに対する平均エネルギー
【００５８】
【数７】
2018019396.tif 000009
は、Ｙｆがユーザ入力区間である場合には以下の数式（７）のように、その他の場合には以下の数式（８）のように、それぞれ計算されて良い。例えば、αは、第１加重値として２．０のようにその値が予め設定されて良いが、これに限定されるものではない。上述したように、活性化区間の決定方法が本例示に限定されるものではない。
【００５９】
【数８】
2018019396.tif 000010
【００６０】
段階４３０において、決定部２３０は、雑音区間を決定することができる。
【００６１】
例えば、決定部２３０は、マイク入力信号およびスピーカ出力信号の全体区間からエコー区間とユーザ入力区間を除いた残りの区間のうち、Ｙｆのエネルギー
【００６２】
【数９】
2018019396.tif 000011
よりも小さい場合、Ｙｆを雑音区間として決定することができる。例えば、βは、第２加重値として１のようにその値が予め設定されて良い。ただし、雑音区間の決定方法や用いられた係数は、単に例示に過ぎず、これに限定されるものではない。
【００６３】
段階４４０において、決定部２３０は、エコー区間、ユーザ入力区間、及び雑音区間のそれぞれにおける平均エネルギーを測定することができる。
【００６４】
一例として、エコー区間における平均エネルギー
【００６５】
【数１０】
2018019396.tif 000012
は、Ｙｆがエコー区間である場合は以下の数式（９）のように計算され、その他の場合は以下の数式（１０）のように計算されて良い。
【００６６】
【数１１】
2018019396.tif 000013
【００６７】
また、ユーザ入力区間における平均エネルギー
【００６８】
【数１２】
2018019396.tif 000014
は、Ｙｆがユーザ入力区間である場合は以下の数式（１１）のように計算され、その他の場合は以下の数式（１２）のように計算されて良い。
【００６９】
【数１３】
2018019396.tif 000015
【００７０】
また、雑音区間における平均エネルギー
【００７１】
【数１４】
2018019396.tif 000016
は、Ｙｆが雑音区間である場合は以下の数式（１３）のように計算され、その他の場合は以下の数式（１４）のように計算されて良い。
【００７２】
【数１５】
2018019396.tif 000017
【００７３】
数式（９）、数式（１１）、および数式（１３）において平均エネルギーを求めるために用いられた係数０．９９と０．０１は一例に過ぎず、これに限定されるものではない。
【００７４】
ここで、エネルギーは、人間が感じる音の大きさの単位であるデシベル（ｄＢ＝１０ｌｏｇ（Ｅ／Ｔ））で表現されて良い。
【００７５】
段階４５０において、決定部２３０は、遅延Ｄとエコー区間における平均エネルギーのうち少なくとも１つを利用して、ＡＥＣモジュールの要否を決定することができる。例えば、決定部２３０は、段階４１０で決定されたＸとＹ２つの信号の間の遅延Ｄにより、ＡＥＣモジュールの要否を決定することができる。例えば、遅延Ｄがエコー区間の間に、連続するｋ個のフレーム（ｋは２以上の自然数であり、一例として、ｋは２）において同様の値で保たれなければ、２つの信号の相関度が低いと決定することができる。これで、ハードウェアＡＥＣが提供されているか、それとも、エコーが入ってこない環境であると判断することができる。実施形態によっては、ｋは３以上の値を有することもある。この場合、決定部２３０は、ＡＥＣモジュールが必要でないと判断することができる。また、決定部２３０は、段階４４０で決定されたエコー区間における平均エネルギー
【００７６】
【数１６】
2018019396.tif 000018
が既定の第１デシベル値（一例として、３０ｄＢ、第１閾値）よりも小さい場合、ハードウェアＡＥＣが提供されているか、それとも、エコーが入ってこない環境であると判断することができる。したがって、この場合にも、決定部２３０は、ＡＥＣモジュールが必要でないと判断することができる。このように、ＡＥＣモジュールが必要でないと判断されれば、決定部２３０は、ＡＥＣモジュールの非活性化を行うための信号を生成して、活性化部２４０に送信することができる。この場合、活性化部２４０は、段階３６０において、ＡＥＣモジュールを非活性化（ＡＥＣモジュールが活性化の状態である場合）することができる。
【００７７】
一方、決定部２３０は、遅延Ｄがｋ個の連続するフレームにおいて同様の値を有し、かつ、平均エネルギー
【００７８】
【数１７】
2018019396.tif 000019
が既定の第１デシベル値以上である場合は、ＡＥＣモジュールが必要な状況であると判断することができる。この場合、決定部２３０は、ＡＥＣモジュールを活性化するための信号を生成し、活性化部２４０は、生成された信号の伝達を受け、段階３５０において、ＡＥＣモジュールの活性化（ＡＥＣモジュールが非活性化の状態である場合）を行うことができる。
【００７９】
即ち、ＡＥＣモジュールの要否を決定する際に、マイク入力信号とスピーカ出力信号の間の遅延の連続性の有無や、エコー区間における平均エネルギーと既定の第１閾値との比較結果が利用される。
【００８０】
段階４６０において、決定部２３０は、雑音区間における平均エネルギーを利用して、ＮＳモジュールの要否を決定することができる。
【００８１】
例えば、決定部２３０は、段階４４０で決定された雑音区間における平均エネルギー
【００８２】
【数１８】
2018019396.tif 000020
が既定の第２デシベル値（一例として、２０ｄＢ、第２閾値）よりも小さい場合、ハードウェアＮＳが提供されているか、それとも、雑音が入ってこない環境であると判断することができる。この場合、決定部２３０は、ＮＳモジュールが必要でないと判断することができる。このように、ＮＳモジュールが必要でないと判断されれば、決定部２３０は、ＮＳモジュールの非活性化を行うための信号を生成して、活性化部２４０に送信することができる。この場合、活性化部２４０は、段階３６０において、ＮＳモジュールの非活性化（ＮＳモジュールが活性化の状態である場合）を行うことができる。
【００８３】
【数１９】
2018019396.tif 000021
が既定の第２デシベル値以上である場合、決定部２３０は、ＮＳモジュールが必要な状況であると判断することができる。この場合、決定部２３０は、ＮＳモジュールを活性化するための信号を生成し、活性化部２４０は、生成された信号にしたがい、段階３５０において、ＮＳモジュールを活性化（ＮＳモジュールが非活性化の状態である場合）することができる。
【００８４】
段階４７０において、決定部２３０は、ユーザ入力区間における平均エネルギーを利用して、ＡＧＣモジュールの要否を決定することができる。
【００８５】
例えば、決定部２３０は、段階４４０で決定されたユーザ入力区間における平均エネルギー
【００８６】
【数２０】
2018019396.tif 000022
が既定のデシベル範囲（一例として、５０ｄＢと６０ｄＢ）内の値である場合、ハードウェアＡＧＣが提供されているか、それとも、適切な音量のユーザ入力が入ってくる状況であると判断することができる。この場合、決定部２３０は、ＡＧＣモジュールが必要でないと判断することができる。このように、ＡＧＣモジュールが必要でないと判断されれば、決定部２３０は、ＡＧＣモジュールを非活性化するための信号を生成して、活性化部２４０に送信することができる。この場合、活性化部２４０は、段階３６０において、ＡＧＣモジュールを非活性化（ＡＧＣモジュールが活性化の状態である場合）することができる。
【００８７】
【数２１】
2018019396.tif 000023
が上述したデシベル範囲の外の値である場合、決定部２３０は、ＡＧＣモジュールが必要な状況であると判断することができる。ここで、決定部２３０は、ＡＧＣモジュールを活性化するための信号を生成し、活性化部２４０は、生成された信号にしたがい、段階３５０において、ＡＧＣモジュールを活性化（ＡＧＣモジュールが非活性化の状態である場合）することができる。
【００８８】
上述したｋ、第１デシベル値、第２デシベル値、およびデシベル範囲は、経験的に決定されても良く、電子機器１００にインストールされたアプリケーションの目的に応じて決定されても良い。ＡＥＣモジュールは、エコーの線形的特性を推定し、推定された線形特性のエコーを取り除くためのモジュールであって良く、ＮＳモジュールは、雑音レベルを推定し、推定された雑音を取り除くためのモジュールであって良い。また、ＡＧＣモジュールは、利得（ｇａｉｎ）を調節するためのモジュールであって良い。このようなＡＥＣモジュール、ＮＳモジュール、およびＡＧＣモジュールは、上述したアプリケーションにおいてソフトウェア的に実現されて含まれて良い。
【００８９】
図５は、本発明の一実施形態において、ソフトウェアの音質改善機能を活性化する過程の例を示した図である。電子機器１００は、上述した入力／出力装置１６０としてスピーカ５１０とマイク５２０を含んでも良く、スピーカ５１０およびマイク５２０と接続しても良い。出力信号にしたがって、スピーカ５１０から音が出力されることができる。この際、マイク５２０には、ユーザの音声のようなニア−エンドスピーチ（ｎｅａｒ−ｅｎｄ  ｓｐｅｅｃｈ）だけでなく、スピーカ５１０から出力された音に対するエコー（ｅｃｈｏ）や雑音（ｎｏｉｓｅ）が更に入力されることがある。
【００９０】
電子機器１００にインストールされたコンピュータプログラムは、スピーカ５１０の出力信号Ｘとマイク５２０の入力信号Ｙの入力を受けて分析を行い、分析結果に基づいてソフトウェアの音質改善機能の要否をリアルタイムで決定することができる。
【００９１】
相関度分析モジュール５３０と活性化区間決定モジュール５４０は、決定部２３０が上述した図３の段階３３０と図４の段階４１０〜４７０を実行できるようにするための命令を含む、コンピュータプログラムのコードによって実現されて良い。
【００９２】
相関度分析モジュール５３０の制御にしたがい、決定部２３０は、出力信号Ｘと入力信号Ｙの相関度を分析し、エコー区間を決定して良い。また、活性化区間決定モジュール５４０の制御にしたがい、決定部２３０は、入力信号Ｙを利用し、雑音区間とユーザ入力区間を決定して良い。
【００９３】
決定部２３０は、コンピュータプログラムの制御にしたがって生成された区間情報５５０を利用して、区間情報５５０における平均エネルギーを算出し、算出された平均エネルギーに基づいて上述したＡＥＣモジュール、ＮＳモジュール、およびＡＧＣモジュールのうち少なくとも１つに対する活性化の要否を決定することができる。活性化部２４０は、活性化が決定されたモジュールを活性化することにより、ハードウェアの音質改善機能と重複しないように、または、ハードウェアの音質改善機能が実行されている場合でも、より良い音質を得るために、音質改善機能をリアルタイムで活性化または非活性化することができる。
【００９４】
このように、本発明の実施形態によると、マイク入力信号とスピーカ出力信号を分析してリアルタイムでソフトウェアの音質改善機能の要否を判断し、ソフトウェアの音質改善機能を選択的に活性化または非活性化することができる。
【００９５】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、又は、ハードウェア構成要素とソフトウェア構成要素の組み合わせにより、実現されて良い。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、又は、命令を実行して応答することができる他の装置のように、１つ以上の汎用コンピュータ又は特殊な目的のコンピュータを利用して実現されて良い。処理装置は、オペレーティングシステム（ＯＳ）や前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行して良い。また、処理装置は、ソフトウェアの実行に応じて、データにアクセスし、データを格納、操作、処理、及び生成しても良い。理解の便宜のために、１つの処理装置が使用されるとして説明された場合もあるが、本発明の属する技術の分野における通常の知識を有する者にとって、処理装置が複数の処理要素（Processing Element）および／または複数の種類の処理要素を含み得ることは理解できるであろう。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサと、１つのコントローラを含んで良い。また、並列プロセッサのように、他の処理構成も可能である。
【００９６】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうち１つ以上の組み合わせを含んで良く、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置、または伝送される信号波に永久的または一時的に具現化されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【００９７】
実施形態に係る音質改善方法は、多様なコンピュータ手段によって実行可能なプログラム命令や、データファイル、データ構造等を単独でまたは組み合わせた形態として実現されて良く、また、該プログラム命令等がコンピュータで読取可能な媒体に記録されても良い。前記プログラム命令等は、実施形態のために特別に設計され構成されたものであっても良く、コンピュータソフトウェアの当業者に公知で使用可能なものであっても良い。コンピュータで読取可能な記録媒体の例には、ハードディスクや、フロッピー（登録商標）ディスク、磁気テープ等の磁気媒体、ＣＤ−ＲＯＭやＤＶＤ等の光記録媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）等の光磁気媒体、ＲＯＭや、ＲＡＭ、フラッシュメモリ等のように、プログラム命令等を格納して実行するように構成されたハードウェア装置が含まれる。プログラム命令等の例には、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタ等を使用してコンピュータによって実行される高級言語コードが含まれる。上述したハードウェア装置は、実施形態での動作を実行するため、１つ以上のソフトウェアモジュールとして動作するように構成されても良く、その逆にて構成されても良い。
【００９８】
以上のように、実施形態を、限定された実施例や図面に基づいて説明したが、本発明の属する技術の分野における通常の知識を有する者であれば、上述した記載内容から多様な修正や変更が可能であろう。例えば、説明された技術が、説明された方法とは異なる手順で実行されたり、及び／又は、説明されたシステムや、構造、装置、回路等の構成要素が、説明された方法とは異なる形態で結合又は組合されたり、他の構成要素や均等物に代替又は置換されたりとしても、適切な結果を達成することができる。
【００９９】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【０１００】
１００：電子機器
１１０：プロセッサ
１２０：バス
１３０：メモリ
１４０：通信モジュール
１５０：入力／出力インタフェース
１６０：入力／出力装置
【図１】
2018019396.tif 000024
【図２】
2018019396.tif 000025
【図３】
2018019396.tif 000026
【図４】
2018019396.tif 000027
【図５】
2018019396.tif 000028