ブラック研究室へようこそ!

ブラック研究室。それは大学院生が放り込まれるかもしれない闇のアジト。在籍時代のエピソード・Web/アプリ開発の備忘録など。

Phase17 ぼくたちと、ちびっこ先生のブラック戦争(前編)

 

新たなメンバーも不本意ながら増え、新装開店した窓際の『動画像チーム』。

いつまでも、指導されない無法地帯に追いやられ、沈みゆく泥舟に乗り続けるわけにもいかない。

バカにされ続けてたまるか!

 

そう、これは、アプリコーダーでもある僕自身のプライドに賭けた、ちびっこ先生との全面戦争のエピソードだ。

 

最悪な研究環境

『動画像チーム』の研究環境は最悪だった。

僕とハッカーで作り上げた動画圧縮のシミュレーションのプログラムは、結果を弾き出すまでに、ものすごい時間がかかる。

Full-HDの画像たった1枚を圧縮するのに、6時間も掛かっていたのだ。

いろんな計算式を試そうとしても、1日1パターンが限界だった。

 

しかもですよ、例えば10秒間の動画を圧縮しようとすると、

6時間 ✕ 30枚(1秒あたりのフレーム数)✕ 10秒 = 1,800時間!!

75日間ずっとぶん回して、やっとできる有様…。(さすがにやってないけど)

 

犯人は、計算ソフトのMATLABだ。

(ろくにプログラムを書けなくても作れるできる代物。ライセンス料は非常に高額。)

うちの研究室では、なぜか金だけはあるようで、メンバー全員分のMATLABのライセンスを購入していて、皆それを使うのが当たり前となっていた。

 

こいつの計算スピードが非常に遅い!遅すぎるのだ。

これをなんとかしなければ、結果も出せず、バカにされた生活から脱出は不可能だ。

 

今こそ計算革命だ!

インタープリタ方式のMATLABでは計算スピードは限界があるため、コンパイル方式の言語に移植すれば解決できるのではないかと考えた。

※2つの違いについて:インタープリタ方式とコンパイル方式

 

アプリコーダーの威信に賭け、

僕は、爆速なシミュレーター実現のため、C言語での開発ミッションを遂行した!

 

 「ハフマン符号化」などの、実装の難易度が非常に高い部分は、以下の本のサンプルコードを参考に、ひたすら書いて書いて書きまくった。

この本は、圧縮のいろはが載っていて、目からウロコ状態。

詳解 圧縮処理プログラミング

詳解 圧縮処理プログラミング

 

 今まで僕とハッカーは独学でやっていたが、やっぱりこういう書籍はホントに為になる。このブラックラボにいて、一番勉強になったかもしれない。

 

爆速シミュレーターの完成だ!

 1週間かけ、僕はC言語でシミュレーターを完成させた。

 

回してみると、

なんと…なんとなんと!!

画像1枚の圧縮スピード:0.1秒!!

これなら、動画もカップ麺の待ち時間で処理できるではないか。 

まじで涙が出るほど早かった…。窓際チームに革命が起きた瞬間だった。

 

しかも、一部ファイルをアタッチメントのように取り替えることで、

試してみたい計算式へ柔軟に切り替えられるようにした。

拡張性は大事ですよね!

 

ちびっこ先生へ報告すると…

僕「Cでシミュレーター作り直しました!」

ちびっこ「ほう…コード書けるんすね…。見せてください。プ〜クスクスクス」

 

ちびっこ先生に、コードを見せたところ・・・。

 

ちびっこ「良いっすね。プ〜クスクスクス」

 

初めて褒められたわ。

そして、なにやらコード自体に興味津々のちびっこ先生。

 

ちびっこ「でも、ぼくの方がうまく作れますよ。プ〜クスクスクス」

は?なにそれ?

いやいや、そういうことじゃなくてさ…。

 

そうして、ちびっこ先生は、3日3晩自室に篭り、僕が作ったものを超えるシミュレーターを製作しだした。

なにそれ?何かおかしくね??

 

どうやら、ちびっこ先生の何か変なスイッチを押してしまったらしい。

 

シミュレーターを巡り、僕とちびっこ先生との全面戦争が始まった。

果たして、ちびっこ先生はどんなものを作り出し、どんな結末が待っているのか…?!

次回に続きます。

 

では、また!!!

 

 

過去のエピソード一覧>>>

【ブラック研究室】エピソード - ブラック研究室へようこそ!