■5層目の読み出し

●入力画像を読み出すシーケンスを考える

 5層目の入力画素数は8×8ですが、パディングが施してあるので、図8-108のように10×10画素がメモリに蓄えてあります(入力パディングの幅は1)。同図のように3×3画素を取り出して係数と乗算します。各数字がその画素のメモリアドレスであり、網掛けの画素をBaseAddrと呼びます。


  図8-108 3×3画素の読み出しシーケンス


●BaseAddrにOffsetを足せば良い

 BaseAddrは図8-109の左のように遷移します。ほかの画素は同図右のようにBaseAddrにある決まった値(Offsetと呼ぶ)を加算すればそれぞれのアドレスが得られることが分かります。


  図8-109 読み出しアドレスの作り方


■5層目の書き込み

●出力画像の書き込み方は4層目とほぼ同じ

 5層目の出力は4層目と同じで8×8画素、それにパディングを施して10×10画素をRAMに書き込みます。4層目との違いは5層目はプーリングがあることであり、それによるタイミング合わせの部分が若干違います。詳しくはソースコード(8-10節)を参照してください。


■6層目の読み出し

●入力画像を読み出すシーケンスを考える

 6層目の入力は5層目と同じで8×8画素、それにパディングが施して10×10画素がメモリに蓄えてあります。したがってその読み出し方も5層目と同じになります。

■6層目の書き込み

●畳み込み最終層なのでパディングはなし

 6層目の出力は8×8画素ですが、それにプーリングを施して4×4画素となって出力されます。
 畳み込みの最終層なのでパディングはありません。図8−110のように16画素を順番に書き込みます。同図にある番号をm番地と呼ぶことにします


  図8-110 次の層は全結合なのでパディングはなし


 mは同図のように、m = 4V + H と表されます。ここでVとは縦方向4進カウンタ(VCO4)の値、Hは横方向4進カウンタ(HCO4)の値です。
 したがって図8-107のような回路で画像RAMの書き込みアドレスを生成できます。プーリングの間引きを鑑みてHCO8(0)=1という条件を加えてラッチします。


  図8-111 書き込みアドレス生成回路


最初のページへ


目次へ戻る