応用情報技術者試験 過去問 2010年(平成22年) 秋期 午後 問7
携帯電話への録音機能追加
A社は携帯電話メーカである。携帯電話をボイスレコーダとして使用できるよう,録音機能を追加することになった。
録音機能,及び関連するタスク,デバイス,メモリの関係
録音機能はほかの機能と並行的に動作する。録音された音声データは,携帯電話の不揮発性メモリに保存して,再生及び外部メディアへの取出しができる。また,録音中に録音時間及び音声データのメモリ残量(以下,録音詳細情報という)をLCDに表示する。
録音機能に関連するタスク,デバイス及びメモリの関係を図1に示す。

- オーディオデバイスは,マイクから入力された音声のアナログ信号をサンプリングし,PCM符号に変換して,録音データとしてサンプリング専用RAMに一時的に格納する。
- 録音データの音質は,音楽CD並み(サンプリング周波数44.1kHz,量子化ビット数16ビット,チャネル数2ch)とする。
- 1秒間の録音データを1ブロックとして格納する。1ブロック当たりのサイズはakバイトである。
- オーディオデバイスは,1秒間の録音データを格納した後,割込みを発生し,録音タスクにメッセージを送信する。
ソフトウェア構成
録音機能は,UIタスク及び録音タスクで構成され,タスク間の通信にはメッセージを使用する。各タスクの説明を表に示す。
タスク | 説明 | 優先度 |
---|---|---|
UI | ・利用者の操作によって,録音タスクに録音開始/停止のメッセージを送信する。 ・録音タスクからメッセージを受信すると,LCDに録音詳細情報を表示する。 |
高 |
録音 | ・オーディオデバイスを制御し,録音開始/停止を行う。 ・録音中は,次の①~③を繰り返す。 ① オーディオデバイスから送られたメッセージを受信すると,サンプリング専用RAMに格納されている録音データを音声データにエンコードする。エンコードは,次のオーディオデバイスの割込み発生までに完了する。 ② エンコードした音声データ及び録音詳細情報を不揮発性メモリに保存する。 ③ 録音詳細情報を表示するために,UIタスクにメッセージを送信する。 |
低 |
不揮発性メモリの構成
携帯電話の不揮発性メモリの構成を図2に示す。不揮発性メモリは,利用者設定領域と音声データ領域に分けられる。利用者設定領域には,携帯電話の着信音などの設定情報が格納されている。録音機能を追加するために,音声データのメモリ残量を追加する。一方,音声データ領域には音声データ及び録音時間を格納する。
これらの領域はUIタスク及び録音タスクからアクセスされるので,利用者設定領域セマフォ及び音声データ領域セマフォの二つのバイナリセマフォによって,排他制御を行う必要がある。

録音機能の検証
録音機能を実現するために,UIタスクでの録音詳細情報表示処理を図3のように,録音タスクでのエンコード処理を図4のようにそれぞれ設計した。録音タスクからUIタスクにメッセージを送信するタイミングについて,次の二つの場合を設定して実機で検証した。
- 図4中の(ア)で,録音タスクからUIタスクにメッセージを送信した場合
UIタスク及び録音タスクがともに動作しなくなった。 - 図4中の(イ)で,録音タスクからUIタスクにメッセージを送信した場合
録音タスクはb状態となり,UIタスクはc状態となった。
次に,UIタスクはdセマフォを取得できず,e状態となった。

