エンベデッドシステムスペシャリスト 2009年 午後1 問03
ドライブレコーダに関する次の記述を読んで、設問1~3に答えよ。
交通事故が発生したときなどに、発生前後の画像などを記録する手段として、ドライブレコーダがある。B社は、カーナビゲーションシステムから位置情報を入力し、高画質の画像を記録できるドライブレコーダを開発することになった。ドライブレコーダへの要求仕様の概要を次に示す。
〔ドライブレコーダの構成〕
開発中のドライブレコーダの構成図を図1に示す。ドライブレコーダはシリアルチャネルを介して、カーナビゲーションシステムから0.1秒ごとに時刻情報と1メートル単位の位置情報を得ることができる。

〔画像処理とRAMへの記録〕
・CCDカメラでハイビジョン画質の画像を撮影する。
・撮影された画像の明るさに応じて、逆光でも夜間でも鮮明な画像が得られるように処理する。
・得られた画像は8Mビット/秒のビットレートのMPEG4形式にエンコードして、RAMに記録する。MPEG4形式へのエンコードは、0.5秒分の画像(以下、GOPという)ごとに行われる。
〔フラッシュメモリへの記録と管理〕
・加速度センサで異常な加速度を検出したとき、又はスイッチ部から書込み指示があったときに、フラッシュメモリに書き込むトリガが発生する。
・フラッシュメモリには、トリガから14秒分さかのぼったGOPの先頭から合計20秒分の画像を一つの画像ファイルとして記録する。一つの画像ファイルのサイズは20Mバイトとなる。フラッシュメモリへの画像ファイルの記録期間を図2に示す。
・MPUがRAMからMPEG4データを読み出す速度は10Mバイト/秒で、フラッシュメモリに書き込む速度は2.5Mバイト/秒である。MPUは、RAMからの読出し中とフラッシュメモリへの書込み中にはバスを占有してしまう。
・画像情報とは別に記録された管理情報で、記録された画像ファイルを管理する。
・管理情報は、位置情報、時刻情報、速度情報、加速度センサの値、トリガ情報及び画像ファイルの有効/無効を示すフラグからなる。フラッシュメモリの一つのブロックに、複数の管理情報が記録される。
設問1:ドライブレコーダの仕様について検討する。
設問1(1)
問題文を見るMPUがMPEG4データをRAMから読み出して、フラッシュメモリに書き込むのに必要な時間は、RAMからの読出し時間とフラッシュメモリへの書込み時間だけとする。
(a) RAMにある画像データから、図2の画像ファイルの記録期間のデータをフラッシュメモリに転送するのに必要な時間は何秒か。答えは小数第1位を四捨五入して、整数で求めよ。
(b) フラッシュメモリへの書込みを考えた場合、RAMには、一つの画像ファイル分の容量は必要ない。図2に示すように、トリガからさかのぼった記録期間の画像データをRAMに記録しておくには、何Mバイトの容量があればよいか。答えは小数第1位を四捨五入して、整数で求めよ。ここで、RAMのデータをフラッシュメモリに転送する速度は、RAMに画像データを記録する速度より高速である。
模範解答
(a):10
(b):15
解説
解答の導き方
(a)
図2の画像ファイルは20秒分で、本文には「一つの画像ファイルのサイズは20Mバイト」とあります。したがって、RAMから読み出し、フラッシュメモリへ書き込むデータ量は、それぞれ20Mバイトです。
RAMからの読出し時間は、読出し速度が10Mバイト/秒なので、
秒
です。
フラッシュメモリへの書込み時間は、書込み速度が2.5Mバイト/秒なので、
秒
です。
MPUはRAMからの読出し中とフラッシュメモリへの書込み中にバスを占有します。設問では必要な時間をこの二つの時間だけとするため、両方を足します。
秒
小数第1位を四捨五入しても、必要な時間は10秒です。
(b)
RAMに必要なのは、画像ファイル全体の20Mバイトではなく、トリガより前の画像を保持するための容量です。本文では、トリガから14秒分さかのぼったGOPの先頭から記録するとあります。
GOPは0.5秒分の画像です。14秒前の時点がGOPの途中にある場合でも、そのGOPの先頭から保持する必要があるため、最大でさらに0.5秒分を見込むと、保持する画像は14.5秒分になります。
画像のビットレートは8Mビット/秒です。1バイトは8ビットなので、RAMに記録される画像データの速度は1Mバイト/秒です。
Mバイト
さらに、データをフラッシュメモリへ転送する速度は、RAMに画像データを記録する速度より高速だと条件にあります。このため、転送中に新たに記録される画像データが蓄積し続けることを見込んで、一つの画像ファイル全体の容量をRAMに用意する必要はありません。
14.5Mバイトを小数第1位で四捨五入すると、必要な容量は15Mバイトです。
誤りやすいポイント
-
(a)で読出し時間と書込み時間を足し忘れる
MPUは読出し中と書込み中にバスを占有するため、設問の条件では、それぞれの時間を合計します。 -
(a)で画像の記録時間と転送時間を混同する
画像ファイルは20秒分ですが、転送時間はデータ量を読出し速度・書込み速度で割って求めます。 -
(b)で20MバイトをそのままRAM容量とする
20Mバイトは画像ファイル全体のサイズです。RAMに必要な容量は、トリガ前の画像を保持する期間とGOPの区切りを考えて求めます。 -
(b)で14秒分だけを計算する
14秒前の時点がGOPの途中にあることがあるため、GOPの先頭までの余分な時間も含めます。
FAQ
Q: なぜ(b)ではGOPの分だけ余裕を加えるのですか?
A: 記録開始位置を14秒前の時点そのものにできず、その時点を含むGOPの先頭から記録するためです。GOPは0.5秒分なので、最大で0.5秒分を加えます。
A: 記録開始位置を14秒前の時点そのものにできず、その時点を含むGOPの先頭から記録するためです。GOPは0.5秒分なので、最大で0.5秒分を加えます。
Q: なぜ(b)ではフラッシュメモリへの転送中のデータ量を別に足さないのですか?
A: 問題の条件で、転送速度はRAMへの記録速度より高速です。そのため、転送中に新たに記録されるデータを処理でき、容量の計算ではトリガ前に保持する画像データを基準にできます。
A: 問題の条件で、転送速度はRAMへの記録速度より高速です。そのため、転送中に新たに記録されるデータを処理でき、容量の計算ではトリガ前に保持する画像データを基準にできます。
Q: 8Mビット/秒をMバイト/秒に直すとき、なぜ8で割るのですか?
A: 1バイトは8ビットだからです。ビット単位のデータ量をバイト単位に直すには、8で割ります。
A: 1バイトは8ビットだからです。ビット単位のデータ量をバイト単位に直すには、8で割ります。
関連キーワード: GOP、ビットレート、バス占有、データ転送速度、リングバッファ
設問1(2)
問題文を見る3軸の加速度センサを用いて異常状態を検出する。加速度センサの出力はMPUに内蔵されたA/Dコンバータで変換して取り込む。取り込んだ加速度センサの出力パターンを解析して異常検出を行う。運行状況下での進行方向の加速度センサの出力例を、図3に示す。進行方向では、+は速度を増加する方向の加速度を示す。①は自動車が動き始めたときの出力例である。

(a) ②のような出力例で、振幅が小さい場合は異常でないと判断するようにした。その理由を20字以内で述べよ。
(b) 後ろから衝突され、その後、停止したと考えられる波形は、③~⑥のうちのどれか。
(c) 障害物を発見して、ブレーキをかけたが衝突してしまったと考えられる波形は、③~⑥のうちのどれか。
模範解答
(a):・走行に伴う振動の影響を考慮したから
・通常の運転操作の範囲と判断したから
(b):⑤
(c):④
解説
解答の導き方
この設問では、加速度の符号と波形の現れる順序から、通常の走行による変化と衝突時の変化を区別します。問題文には、進行方向の「+」は速度を増加する方向の加速度を示すとあります。したがって、「−」は速度を低下させる方向の加速度を示します。
(a)
②は、負方向への変化や正方向への変化が小さく、図3の波形からも大きな衝撃を受けたとは読み取りにくい形です。自動車の走行中には振動が生じますし、通常の運転操作でも加速度は小さく変化します。そのため、振幅が小さい②のような変化をすべて異常と判定すると、通常の走行状態まで異常と誤認する可能性があります。走行に伴う振動や通常の運転操作の範囲を考慮し、小振幅の場合は異常としないと判断できます。
②は、負方向への変化や正方向への変化が小さく、図3の波形からも大きな衝撃を受けたとは読み取りにくい形です。自動車の走行中には振動が生じますし、通常の運転操作でも加速度は小さく変化します。そのため、振幅が小さい②のような変化をすべて異常と判定すると、通常の走行状態まで異常と誤認する可能性があります。走行に伴う振動や通常の運転操作の範囲を考慮し、小振幅の場合は異常としないと判断できます。
(b)
後ろから衝突された場合、衝撃によって自動車は進行方向へ押されるため、まず正方向の大きな加速度が現れると考えられます。その後、停止に至る過程では速度を低下させる負方向の加速度が現れます。図3の⑤は、正方向の鋭いピークの後に負方向の大きな谷が続いているため、この順序に合います。
後ろから衝突された場合、衝撃によって自動車は進行方向へ押されるため、まず正方向の大きな加速度が現れると考えられます。その後、停止に至る過程では速度を低下させる負方向の加速度が現れます。図3の⑤は、正方向の鋭いピークの後に負方向の大きな谷が続いているため、この順序に合います。
(c)
障害物を発見してブレーキをかけると、衝突より前に速度が低下するので、負方向の加速度が現れます。図3の④は、まず負方向の状態が続き、その後さらに負方向へ大きく変化してから0付近へ戻っています。先行する負方向の変化をブレーキによる減速、その後の大きな変化を衝突時の減速と考えられるため、④が該当します。
障害物を発見してブレーキをかけると、衝突より前に速度が低下するので、負方向の加速度が現れます。図3の④は、まず負方向の状態が続き、その後さらに負方向へ大きく変化してから0付近へ戻っています。先行する負方向の変化をブレーキによる減速、その後の大きな変化を衝突時の減速と考えられるため、④が該当します。
誤りやすいポイント
- 加速度の「+」「−」を、速度そのものが正か負かを示すものと取り違えないようにします。ここでは、進行方向に速度を増加させる加速度が「+」です。
- 衝突を示す波形を、振幅の大きさだけで選ばないようにします。衝突前のブレーキによる減速があるか、衝突直後に進行方向へ押される変化があるかなど、波形の順序も見ます。
- 加速度が0付近であることだけで、必ず停止しているとは判断できません。速度が一定の場合にも加速度は0になり得るため、波形の前後関係や設問の状況と合わせて判断します。
- ②のような小さな変化を、すべて異常とみなさないようにします。走行に伴う振動や通常の運転操作による変化も考慮します。
FAQ
Q: ④と⑤は、どこを見比べると区別しやすいですか。
A: 変化の順序と符号を見ます。④は負方向の変化が先に続くため、ブレーキをかけた後の衝突と考えられます。⑤は正方向の大きな変化が先に現れ、その後に負方向の変化が続くため、後ろから衝突された後に停止する状況と考えられます。
A: 変化の順序と符号を見ます。④は負方向の変化が先に続くため、ブレーキをかけた後の衝突と考えられます。⑤は正方向の大きな変化が先に現れ、その後に負方向の変化が続くため、後ろから衝突された後に停止する状況と考えられます。
Q: 加速度が0付近に戻ったら、停止したということですか。
A: 加速度が0付近というだけでは、停止とは限りません。速度が一定のときも加速度は0になります。設問のように衝突後に停止した状況を判断するときは、先行する減速や衝撃の波形も合わせて見ます。
A: 加速度が0付近というだけでは、停止とは限りません。速度が一定のときも加速度は0になります。設問のように衝突後に停止した状況を判断するときは、先行する減速や衝撃の波形も合わせて見ます。
Q: ②の小さな変化を異常としないのはなぜですか。
A: 走行中の振動や通常の運転操作でも、小さな加速度の変化は起こり得るためです。それらを異常と誤判定しないよう、小振幅の変化は異常ではないと判断します。
A: 走行中の振動や通常の運転操作でも、小さな加速度の変化は起こり得るためです。それらを異常と誤判定しないよう、小振幅の変化は異常ではないと判断します。
関連キーワード: 加速度センサ、加速度波形、衝突検知、異常検出、A/D変換
設問2:ドライブレコーダの設計について、(1)、(2)に答えよ。
設問2(1)
問題文を見る速度情報は、カーナビゲーションシステムからの0.1秒ごとの位置情報を利用して求めることにした。位置情報から速度情報を得る方法を、30字以内で述べよ。
模範解答
位置情報の差分の移動平均をとることで、速度を計算する。
解説
解答の導き方
速度情報を、一定時間ごとの位置情報の変化から求める方法を考えます。
本文には、カーナビゲーションシステムから「0.1秒ごとに時刻情報と1メートル単位の位置情報を得る」とあります。つまり、位置情報は一定の時間間隔で取得できるため、連続する位置情報の差から、その間に移動した距離を求められます。
その移動距離を0.1秒で割れば、各区間の速度を計算できます。ただし、位置情報は1メートル単位なので、区間ごとの位置の差にはばらつきが出ることがあります。そこで、位置情報の差分を複数区間にわたって平均する移動平均を使えば、ばらつきを抑えながら速度を求められます。
誤りやすいポイント
- 位置情報の値だけから速度を求めようとしないことが大切です。速度を求めるには、位置の変化量と時間間隔が必要です。
- 位置情報の差分を求めるだけでは速度になりません。差分が表す移動距離を、経過時間に対応させて速度を計算します。
- 移動平均をとる対象は、位置情報の差分です。位置情報そのものの平均をとることと混同しないようにしましょう。
FAQ
Q: なぜ複数区間の差分を平均するのですか?
A: 位置情報が1メートル単位であるため、短い時間ごとの差分だけでは変動が大きくなることがあります。移動平均を使うと、その変動をならせます。
A: 位置情報が1メートル単位であるため、短い時間ごとの差分だけでは変動が大きくなることがあります。移動平均を使うと、その変動をならせます。
Q: 位置情報を取得する時間間隔は、速度の計算にどう関係しますか?
A: 差分が表す移動距離を、位置情報を取得した時間間隔で割ることで、区間ごとの速度を求められます。
A: 差分が表す移動距離を、位置情報を取得した時間間隔で割ることで、区間ごとの速度を求められます。
関連キーワード: 位置情報、速度計算、差分、移動平均、サンプリング周期
設問2(2)
問題文を見るRAMに記録された画像データをフラッシュメモリに書き込む方法について検討する。
画像処理部はMPUを介さずに、画像データをRAMに直接書き込む。画像処理部から見たRAMの書込み領域はリングバッファ構成になっていて、画像データはRAMに連続して記録される。トリガが発生したときに、RAMに連続して記録されている画像データを、トリガの14秒前のGOPからMPUが読み出す。画像データ読出しのために、トリガが発生したときに書込みを行っているアドレス情報以外に必要な情報を、20字以内で述べよ。
模範解答
GOPが格納された先頭アドレス情報
解説
解答の導き方
画像処理部は画像データをRAMに連続して書き込み、書込み領域はリングバッファになっています。したがって、トリガ発生時の書込みアドレスから分かるのは、基本的にその時点でどこに書き込んでいるかです。
一方、読み出す画像データは、トリガ時点からではなく、「トリガの14秒前のGOP」から始まります。読み出しを始めるには、そのGOPがRAMのどこに格納されているかを特定しなければなりません。
よって、書込み中のアドレス情報に加えて必要なのは、読み出し開始対象となるGOPが格納された先頭アドレス情報です。
誤りやすいポイント
- トリガ発生時の書込みアドレスだけで、14秒前のデータの開始位置も分かると考えることです。書込み中の位置と読み出し開始位置は別です。
- 14秒前の時点からそのまま読み出すと考えることです。記録は、その時点を含むGOPの先頭から始まります。
- リングバッファのデータは物理アドレス上で折り返すことがあります。時間上の前後関係だけでなく、読み出しを始めるアドレスを把握する必要があります。
FAQ
Q: トリガ発生時の書込みアドレスは、何のために必要ですか?
A: トリガ発生時点で書込みが行われている位置を示し、記録対象データの終端側を把握するために必要です。
A: トリガ発生時点で書込みが行われている位置を示し、記録対象データの終端側を把握するために必要です。
Q: なぜ14秒前の位置ではなく、GOPの先頭アドレスが必要なのですか?
A: 問題文では、記録を「トリガの14秒前のGOPの先頭」から始めるためです。読み出し開始位置を、そのGOPの先頭に合わせます。
A: 問題文では、記録を「トリガの14秒前のGOPの先頭」から始めるためです。読み出し開始位置を、そのGOPの先頭に合わせます。
Q: リングバッファであることは、アドレス情報にどう関係しますか?
A: データがRAMの末尾から先頭へ折り返して格納されることがあるため、読み出し開始位置をアドレスで特定する必要があります。
A: データがRAMの末尾から先頭へ折り返して格納されることがあるため、読み出し開始位置をアドレスで特定する必要があります。
関連キーワード: リングバッファ、RAM、GOP、アドレス管理、データ読出し
設問3:画像の証拠能力向上について検討した。
画像の差分情報を記録するMPEG4では、事故が発生したときの証拠として不十分であるとの指摘があった。そこで、MPEG4の場合と同じ解像度の30フレーム/秒のモーションJPEG画像で記録することを検討したところ、MPEG4の場合に比べてデータ量が5倍に増加した。そこで、フラッシュメモリとRAMの容量を5倍に増やして対応することにした。その結果、画像処理部の処理速度はRAMへの書込みを含めて問題がないと判断されたが、フラッシュメモリやRAMには更に変更が必要である。フラッシュメモリでは、同時にアクセスするデータ幅を2倍にすることにした。
設問3(1)
問題文を見るフラッシュメモリにアクセスするデータ幅を2倍にするのは、何を考慮したからなのか。20字以内で述べよ。
模範解答
フラッシュメモリへの書込み速度
解説
解答の導き方
この設問では、フラッシュメモリのアクセス幅を2倍にする理由を考えます。ポイントは、記録できるデータの量ではなく、データを書き込む速さです。
-
問題文では、モーションJPEG画像のデータ量はMPEG4の場合の「5倍」とされています。したがって、同じ時間の画像を記録する場合、フラッシュメモリへ書き込むデータ量も5倍になります。
-
MPEG4のビットレートは「8Mビット/秒」なので、バイト単位に直すと「1Mバイト/秒」です。データ量が5倍になると、画像データの流入速度は「5Mバイト/秒」相当になります。
-
一方、MPUがフラッシュメモリに書き込む速度は「2.5Mバイト/秒」です。この速度のままでは、画像データの増加に対して書込みが追いつかず、データをRAMに蓄えても、フラッシュメモリへの書込みに時間がかかります。
-
フラッシュメモリの容量を5倍にすれば保存できる量は増えますが、書込み速度は速くなりません。そこで、同時にアクセスするデータ幅を2倍にして書込み速度を高める必要があります。つまり、考慮すべきなのは「フラッシュメモリへの書込み速度」です。
誤りやすいポイント
- フラッシュメモリの容量を増やすことと、書込み速度を高めることを混同しないようにします。容量を増やしても、単位時間当たりに書けるデータ量は自動的には増えません。
- RAMの容量を5倍にしても、フラッシュメモリへの書込み速度が遅ければ、書込みに時間がかかる問題は残ります。
- 画像データ量が5倍になることだけに注目せず、そのデータをフラッシュメモリに書き込む速度と比較することが大切です。
FAQ
Q: RAMの容量を5倍にすれば、フラッシュメモリへの書込み速度も上がりますか?
A: 上がりません。RAMの容量は一時的に保持できるデータ量に関係し、フラッシュメモリへの書込み速度とは別の性能です。
A: 上がりません。RAMの容量は一時的に保持できるデータ量に関係し、フラッシュメモリへの書込み速度とは別の性能です。
Q: なぜフラッシュメモリの容量を増やすだけでは不十分なのですか?
A: 容量を増やすと保存できる総量は増えますが、データを書き込む速さは変わらないためです。
A: 容量を増やすと保存できる総量は増えますが、データを書き込む速さは変わらないためです。
Q: この設問では、画像処理速度やRAMへの書込み速度が主な問題ですか?
A: 問題文では画像処理部の処理速度は問題ないと判断されています。設問が着目しているのは、増加した画像データをフラッシュメモリに書き込む速度です。
A: 問題文では画像処理部の処理速度は問題ないと判断されています。設問が着目しているのは、増加した画像データをフラッシュメモリに書き込む速度です。
関連キーワード: ビットレート、データ転送速度、書込み速度、データ幅、フラッシュメモリ
設問3(2)
問題文を見るRAMの容量を5倍にしても、フラッシュメモリへ書き込むときにまだ問題がある。その問題とは何か。30字以内で述べよ。
模範解答
フラッシュメモリへの書込みでバスに余裕がなくなる。
解説
解答の導き方
問題で問われているのは、RAMの容量を増やしても残る、フラッシュメモリへの書込み時の問題です。容量と、データを転送する速さは分けて考えます。
まず、モーションJPEGでは「MPEG4の場合に比べてデータ量が5倍」になります。元の画像ファイルは20Mバイトなので、同じ記録期間のファイルは100Mバイト相当になります。RAMの容量を5倍にすることは、このようなデータを格納するための容量を増やすことですが、バスを使った転送の速さを上げることではありません。
次に、本文には、MPUのRAM読出し速度が10Mバイト/秒、フラッシュメモリへの書込み速度が2.5Mバイト/秒とあります。フラッシュメモリの同時アクセスデータ幅を2倍にしても、書込み速度は2倍相当です。100Mバイトを書き込むには20秒かかり、同じ100MバイトをRAMから読み出すにも10秒かかります。
ここで重要なのは、本文に「MPUは、RAMからの読出し中とフラッシュメモリへの書込み中にはバスを占有してしまう」とある点です。一つの画像ファイルを記録するたびに、読出し10秒と書込み20秒の合わせて30秒間、MPUがバスを占有し続けることになります。その間、バスにつながるほかの処理はバスを使えず、記録期間の20秒よりも長く占有が続きます。問題となるのは、RAMの容量不足ではなく、フラッシュメモリへの書込みによってバスに余裕がなくなることです。
誤りやすいポイント
- RAMの容量を5倍にすれば、画像データの転送も5倍速くなると考えることです。容量の増加は、データを格納できる量を増やしますが、転送速度やバスの使用状況は変えません。
- フラッシュメモリのデータ幅を2倍にすれば、データ量が5倍になっても問題ないと考えることです。書込み速度が2倍相当になっても、MPUによるRAM読出しとフラッシュメモリへの書込みの両方がバスを使います。
- 問題をフラッシュメモリ単体の書込み速度だけで捉えることです。RAMからの読出しも含めてMPUがバスを占有する時間が長くなり、バス全体の余裕がなくなる点が重要です。
FAQ
Q: RAMの容量を増やしても、なぜ問題が残るのですか。
A: 格納できるデータ量は増えますが、MPUの読出しやフラッシュメモリへの書込みが使うバスの転送能力は増えないためです。
A: 格納できるデータ量は増えますが、MPUの読出しやフラッシュメモリへの書込みが使うバスの転送能力は増えないためです。
Q: データ幅を2倍にするのは無意味ですか。
A: いいえ。フラッシュメモリへの書込み速度を高める効果はあります。ただし、データ量の増加に加えてRAM読出しやRAM書込みもバスを使うので、バスに十分な余裕が残るとは限りません。
A: いいえ。フラッシュメモリへの書込み速度を高める効果はあります。ただし、データ量の増加に加えてRAM読出しやRAM書込みもバスを使うので、バスに十分な余裕が残るとは限りません。
Q: バスを占有する時間はどのくらいになりますか。
A: 100Mバイトの場合、RAMからの読出しに10秒、フラッシュメモリへの書込みに20秒かかるので、合わせて30秒です。この間、MPUがバスを占有するため、バスを使うほかの処理が待たされます。
A: 100Mバイトの場合、RAMからの読出しに10秒、フラッシュメモリへの書込みに20秒かかるので、合わせて30秒です。この間、MPUがバスを占有するため、バスを使うほかの処理が待たされます。
関連キーワード: 共有バス、バス占有、転送速度、メモリ帯域幅、データ幅




