「Appleのタイムラプスは非常に賢くシンプルだ」カメラアプリ開発者がiOS 8の新機能タイムラプスモードの仕組みを分析した結果が面白い。

シェアする

スポンサーリンク

 カメラアプリの開発者がiOS 8の新機能「タイムラプスモード」を分析した記事の抄訳です。詳細は以下から。


 Appleが先月リリースしたiOS 8のカメラアプリには「タイムラプスモード」という長い時間撮影したビデオをコンパクトにまとめる機能が搭載されていますが、このタイムラプスモードをカメラアプリの開発者Dan Provostさん解析した結果が面白かったので抄訳しました。


iOS-8-タイムプラスビデオ-Hero

沈んでゆく夕日。大通りのざわめき。花が開く瞬間。カメラアプリケーションに新しく追加されたタイムラプスモードで、様々なシーンをとらえましょう。動的に選択された間隔で写真を撮影しながら、iOS 8がすべてをこなします。こうしてできあがるのが、一定時間の間に連続した写真を高速で表示するビデオです。あなたはデバイスを撮りたいものに向けるだけ。スワイプでタイムラプスモードを選び、撮影ボタンをタップすれば、あなたが撮りたい間ずっとカメラが撮影を続けます。

[Apple – iOS 8 – 写真]


 この記事は既にカメラアプリ開発者の間で300RT、130Shareされているので読まれた方も多いと思いますが、

AppleはiOS 8からカメラアプリに「タイムラプスビデオ」機能を新しく加えた。この発表はストップモーション&タイムラプスアプリFrameographerの開発者の私とTomに(FrameographerがSherlock化してしまうのでは無いかという考えで*1)パニックをもたらした。しかし、幸いにも 今回のケースはそうはならないようだ。Appleのタイムラプスは機能やオプションが欠けている。それではここで問題です、iOS 8のタイムラプスモードはどのように動いていると思います?

Studio Neat Made an App from Studio Neat on Vimeo.

In iOS 8, Apple added a new feature to the built-in Camera app: Time-lapse. The announcement at WWDC earlier this year brought an initial wave of panic to Tom and I. As the makers of a stop motion and time-lapse app (Frameographer), we thought we had just been sherlocked. Fortunately, this doesn’t seem to be the case, as the time-lapse mode Apple introduced lacks any features or options. Which raises the question: how does the time-lapse mode actually work?

*1:AppleのSherlock(Spotlightの前身となるアプリ)はKarelia SoftwareのWatsonのアイデアをパクったというイザコザの例え(Wikipedia)。

として始まるこの記事はAppleが採用したタイムラプスモードのアルゴリズムを解説しています。

 iOS 8に実装されたタイムラプスモードは設定なしで簡単に使えますが、Danさんは

iOS8-Time-laps-mode-switch-toggle
iOS 8のカメラアプリに実装されたタイムラプスモードはトグルを回すだけで簡単に撮影ができます。
(略)
しかしこのタイムラプスモードは1秒間に何フレームキャプチャしているの?現実と比べてどのくらい高速化されているの?フレームレートは?これらの質問に答えを要求する!Appleは(サイトで)「動的に選択された間隔で写真を撮影しながら、iOS 8がすべてをこなします。」と主張しており、私はコレを最初に読んだ時、彼らがムービーの動きを監視し何かが変化した時のみスナップショットを撮影するという凄いことをやっていると思いました。しかしこの考えは深すぎて良い考えではなかった。タイムラプスビデオは滑らかなのが最も重要で「動的に選択された間隔」ではギクシャクしてしまいます。

In the Camera app, Time-lapse is a new mode you can toggle to (it’s located furthest to the left on the mode selector).(略)How many frames per second are being captured? How fast is the video being sped up relative to real time? What is the framerate of the resulting video? These questions demand answers! On Apple’s website, they claim that in time-lapse mode, “iOS 8 does all the work, snapping photos at dynamically selected intervals.” When I first read this, I thought they were doing something super fancy, like monitoring the frame for movement and only snapping a picture when something changes. On deeper reflection, this would be a bad idea. Time-lapse videos look best when they are buttery smooth, and dynamically selecting intervals in this fashion would create a jittery and jerky video.

と色々推測し、結果実際に多くのタイムラプスビデオを撮影し以下の様な法則を見つけたそうです。

ここでは私が行ったいくつかのテストの結果を見ることが出来ます(Google Doc) 。この結果、Appleのタイムラプスは非常にシンプルで賢い事がわかりました。Appleの「動的に選択された間隔」という意味は「撮影時間が倍になると、1秒間あたりのフレーム数を半分にし、速度を倍にする」という事で、複雑そうに聞こえますが、非常にに単純です。


iOS-8-time-laps-real-time-and-frame-rate


Turns out, what Apple is doing is quite simple, and indeed, pretty clever. I ran several tests, shooting time-lapse videos for various durations. You can view a spreadsheet of all the tests I ran here.
What Apple means by “dynamically selected intervals” is they are doubling the speed of the time-lapse and taking half as many pictures per second as the recording duration doubles. Sounds complex, but it’s actually very simple.

この表(Google Doc)で注目すべきは青く色が付けられた行で撮影時間が倍々になっているのに、タイムラプスビデオの再生時間は同じ20秒で、”Frame Capture Rate”が半分になっている点です。

 図で解説すると以下の様に10分未満の場合は「1秒間に2フレーム(15倍速)」撮影し、10分以上になると先ほどの2フレームの1つを削除し「1秒間に1フレーム(30倍速)」に切り替えます、更に20~40分では2秒間中にある2フレームの1つを削除し「2秒間に1フレーム(60倍速)」というように”Frame Capture Rate”を切り替えていくとのことです(いわゆる「フレームの間引き」です)。


iOS8-Camera-app-Time-lapse-scheme

この手法なら効率的にフレームをキャプチャし蓄積することが出来、iPhoneの容量がいっぱいになる心配もありません。さらにこの方法で撮影されたビデオはSNSなどで共有するのに理想的な20~40秒の長さになり、フレームレートも標準的な30fpsとなります。


Because the app is being so efficient with frame capture and storage, you don’t need to worry about your phone capacity filling up.
The result of this method is that anything you shoot will generally end up being between 20 and 40 seconds long, an ideal shareable length.
Also worth mentioning, the resulting video is always 30 fps, the standard framerate for video.

 Danさんはこの実験の動画を公開しており、次の2つの動画はiPhone 6で橋を撮影したもので、どちらもiOS 8 カメラアプリのタイムラプスモードを使用し、1つ目が5分間撮影した時に出力された20秒(30fps)の動画、2つ目が40分撮影した時に出力された20秒(30fps)の動画で1つ目に比べて速く(8倍の速さで)船や車、特に雲が動いているのがわかると思います。おまけで10分20分撮影した動画も。

iOS 8 Time-lapse Test – 5 minute Recording Duration


iOS 8 Time-lapse Test – 5 minute Recording Duration from Studio Neat on Vimeo.


iOS 8 Time-lapse Test – 40 minute Recording Duration


iOS 8 Time-lapse Test – 40 minute Recording Duration from Studio Neat on Vimeo.


この結果、Danさんは

では、いつHyperlapseやFrameographerと対照的なiOS 8のタイムラプスモードを使うべきでしょうか?Appleのタイムラプスモードは流行りのものであり何のオプションも無く非常に簡単に使える。
よって三脚や無く急いでざっくりとしたタイムラプスビデオを撮影する際には1つの素晴らしい選択肢になると思います。


So, when would you use the Time-lapse mode in the built-in Camera app, as opposed to Hyperlapse or Frameographer?
In true Apple fashion, the Time-lapse mode is dead simple, with no options to mess with.
(略)It’s a great choice for quick and casual time-lapses, or for when the camera is not stabilized on a tripod.

と述べており、Danさん達が作っているFrameographerアプリは全てのフレームを撮影し、その後編集できるアプリなので凝った作品を作りたい場合はこちらの方がいいともコメントしています。

Frameographer 500円

Frameographer – Stop Motion & Time-Lapse
カテゴリ: 写真/ビデオ
価格: ¥500
リリース日: 2012/02/26


コメント

  1. Apple7743 より:

    不具合多いOSだけどカメラ周りはガチ

  2. Apple7743 より:

    確かにカメラは目に見えて良くなったと思う(元5ユーザー)

  3. Apple7743 より:

    >Because the app is being so efficient with frame capture and storage, you don’t need to worry about your phone capacity filling up. The result of this method is that anything you shoot will generally end up being between 20 and 40 seconds long, an ideal shareable length. Also worth mentioning, the resulting video is always 30 fps, the standard framerate for video.
    この仕組さらっと書かれてるけど、iPhoneのキャパシティ、メモリ、アプリの単純化、動画の扱いやすさを考えた凄いスキームだと思う…

  4. Apple7743 より:

    Sherlockとか時代を感じる…

  5. Apple7743 より:

    >>3
    ,なるほど、常に30fpsになるように、且つ20-40秒になるように出力されるんだね、撮影時間の参考になったわ