2024年 秋期 応用情報技術者試験 問7
スマートイヤホンに関する次の記述を読んで、設問に答えよ。
G社は、専用のアプリケーションプログラム(以下、アプリという)をインストールしたスマートフォン(以下、スマホという)とBluetoothで接続して、音楽などの音源再生機能、電話の通話機能、ノイズキャンセル機能、音声アシスト機能をもつスマートイヤホン(以下、Sイヤホンという)を開発している。
利用者はアプリを用いて、Sイヤホンの音源再生機能と通話機能の開始/停止の指示、及びノイズキャンセル機能と音声アシスト機能のオン/オフの設定を行うことができる。Sイヤホンを用いて通話するときには、音源再生機能及び音声アシスト機能は使用できない。
Sイヤホンは左右が独立しており、左耳に装着するイヤホン(以下、左イヤホンという)はスマホとペアリングする。右耳に装着するイヤホン(以下、右イヤホンという)とスマホとの通信は、左イヤホンが中継する。
Sイヤホンは専用のケースに入れると電源がオフとなり充電が行われ、専用のケースから取り出すと電源がオンになる。
スマホ及びSイヤホンの概要を図1に、Sイヤホンの機能を表1に示す。
機能名 | 概要 |
---|---|
音源再生機能 | ・スマホから送信された音源データを、Sイヤホンで音質補正して出力する。 |
音声アシスト機能 | ・左イヤホンでは、利用者が発した音声から、特定のキーワードを検出すると、続くフレーズをスマホへの指示として左イヤホンからスマホに送信し、スマホで解析して実行する。 ・利用者がスマホの操作で発信する、又は利用者のスマホに着信があると、Sイヤホンは、a及びbを停止して、通話開始を音声で知らせる。 |
通話機能 | ・Sイヤホンの、音声を出力するスピーカー及び音声を入力するマイクを使用して、音声データを入出力することで、利用者は通話することができる。 |
ノイズキャンセル機能 | ・マイクから入力されたSイヤホンの周囲の音(以下、環境音という)から、環境音を打ち消すデータを生成する。このデータをスピーカーの出力に合成して環境音を低減させる。 |
[Sイヤホンのハードウェア構成]
Sイヤホンは、左イヤホンと右イヤホンのそれぞれが、マイク及びスピーカーを接続した音声制御部、クロック部、通信部、それらを制御する制御部、及び電力部から成る。左イヤホンと右イヤホンとでハードウェア構成に違いはない。
左イヤホンのハードウェア構成を図2に、Sイヤホンの構成要素の機能概要を表2に示す。
構成要素名 | 構成要素の機能 |
---|---|
制御部 | ・表1に示す機能を実現するために、音声制御部、クロック部、通信部を制御する。 ・左イヤホンの場合は、マイクから入力された音声データを解析して、特定のキーワードを検出する。 ・機能の使用状況に応じて、クロックの供給の停止又は適切な周波数を決定して、クロック部に指示する。 |
音声制御部 | ・クロック部への指示は、0、0.5、1、1.5、又は2の値である。この値に、基準周波数を乗じた周波数のクロックが供給される。0のときは、クロックの供給が停止される。 ・クロックの供給が停止されると、その時点の状態を保持したまま停止する。クロックが再度供給されると停止したところから再開する。 ・2ミリ秒間隔でマイクから入力された音声をアナログデータに変換して、制御部に送信する。 ・5ミリ秒間隔で制御部からデジタルデータを受信し、スピーカーで音声を出力する。その際、制御部から受信したノイズキャンセルデータを合成する。 |
クロック部 | ・制御部の指示によって、指示された周波数のクロックの供給又は停止を行う。 ・停止したクロックの供給は、①特定のイベントによって再開する。このイベントを受けてから5ミリ秒後に、停止する直前の周波数でクロックの供給を再開する。 ・Bluetoothを用いてスマホと通信を行う。内部にクロックをもち、電源オン時に動作する。 |
通信部 | ・Sイヤホンの場合は、スマホとペアリングした後、右イヤホンとスマホとの通信を中継する。 ・スマホからのデータを受信すると、それを制御部に送信し、データを受信したことをクロック部に送信する。さらに、データが音源データ又は音声データの場合は、左右それぞれのイヤホン用のデータを取り出し、5ミリ秒間隔で制御部に送信する。 ・制御部から受信した音声データをスマホに送信する。 |
電力部 | ・充電可能な電池を内蔵しており、各部に電力を供給する。 |
[クロック部の動作]
制御部の実行時間はクロックの周波数に反比例する。一方、消費電力はクロックの周波数が高いほど大きくなる。Sイヤホンは電池駆動であるので、できる限り消費電力は小さくしたい。そこで、表3で示すように、機能の使用状況に応じてクロックの周波数を制御部の指示で適切に割り当てることとした。
使用状況 | 機能 | クロック部への周波数の指示 | |||
---|---|---|---|---|---|
音源再生 | 通話 | ノイズキャンセル | 音声アシスト | ||
待機時 | 0 | ||||
音源再生1 | ○ | ○ | c | ||
音源再生2 | ○ | ○ | d | ||
通話時 | ○ | △ | e |
[制御部のタスク]
制御部はリアルタイムOSを使用している。電源オン時にメインタスクが生成される。左イヤホンと右イヤホンとで機能が異なるので、メインタスクはそのイヤホンで必要となるタスクだけを生成する。メインタスクを含め、それぞれのタスクは重複しない固有の優先度が割り当てられる。リアルタイムOSのタスクの状態は、実行状態、実行可能状態、又は待ち状態のいずれかである。
制御部のタスク一覧を表4に示す。クロックの周波数が基準周波数に等しいとき、タスクの実行に要する時間は表4に示す実行時間となる。スピーカータスク、マイクタスク及び特定語検出タスクは起動周期内に処理が完了しなければならない。起動周期内に処理が完了しない場合、音飛びやノイズなどの不具合が発生する。
タスク名 | タスクの機能 | 起動周期¹⁾ | 実行時間²⁾ |
---|---|---|---|
メイン | ・ほかのタスクから通知を受けると、通知に応じた処理を行う。 ・機能の使用状況に応じて、適切なクロックの周波数を決定して、クロック部に指示する。ただし、クロックの供給の停止はアイドルタスクが行う。 | 0.05 | |
スピーカー | ・音源再生時、音源データに音質補正を行い音声制御部に送信する。 ・通話時、音声データを音質補正は行わず、音声制御部に送信する。 | 5 | 3.4 |
マイク | ・マイクから入力された音声データを処理する。 ・ノイズキャンセル機能の処理を行い、生成された環境音を打ち消すデータを音声制御部に送信する。 | 5 | 0.5 |
特定語検出 | ・マイクタスクから受けた音声データを解析して、特定のキーワードを検出する。 ・通信部からデータを受信すると、メインタスクに通知する。 ・ほかのタスクから通知を受けると、通信部に送信する。 | 2 | 1.0 |
通信 | 40 | 20 | |
アイドル | ・メインタスクから指示があると、クロック部にクロックの供給の停止を指示する。 | 0.05 |
注²⁾ 実行時間はクロックの周波数が基準周波数に等しいときの値である。単位はミリ秒である。
タスクの優先度は、通信タスクが最も高く、以下、メインタスク、fタスク、gタスク、hタスク、アイドルタスクの順である。
アイドルタスクは最も優先度が低いので、アイドルタスクが実行状態のとき、ほかのタスクの状態はiである。