読者です 読者をやめる 読者になる 読者になる

RICOH THETA Sの動画機能を4k相当に拡張する(waifu 2x で)

概要

RICOHのTHETA Sは1920 x 960 30FPS(29.97)のEquirectangular形式のmp4動画を作ることが出来ます。素晴らしい!

しかし、この動画をHMDやパノラマビューアーで見てみると、「動画の解像度やビットレートがもっと高かったらなあ」と思うときもあります。
そこで、今年話題になった良い感じの超解像ソフトであるwaifu 2x を使って、擬似的に4k動画を生成してみようという試みです。

結論から言うと、多少時間は掛かりますが思った以上の効果を発揮するので、お気に入りのTHETAで撮った動画はアップスケーリング版を作りたくなりそうです。

作り方

waifu2x-caffeが 2015/7のバージョンから実写にも対応しました(すごい)

機械学習を利用した画像の高品質拡大ツール「waifu2x-caffe」が実写にも対応 
http://www.forest.impress.co.jp/docs/news/20150702_709790.html

しかもGUI版であっても、フォルダ内の静止画を一括変換できます(かなりすごい)

なので、今回はwaifu2x-caffeを使います。

作り方としては ffmpegでthetaの動画を静止画連番に書き出して、waifu2x-caffeに突っ込んで3840x1920にして再度ffmpegで結合する という流れです。これだけで分かった人は結論まで読み飛ばして問題ありません。

以下、入力をinput.mp4として、最終出力をoutput.mp4とします。

1.動画を音声と静止画連番に分離

ffmpegを使います。

Zeranoe FFmpeg - Builds http://ffmpeg.zeranoe.com/builds/win64/static/
からffmpeg-20151227-git-baf4c48-win64-static.7zを使いました(最近のバージョンなら他でも良いと思います)

音声を分離

ffmpeg -i "input.mp4" -vn "output.wav"

静止画連番ファイルをなるべく高画質に出力 (ffmepgのデフォルトjpeg切り出し、画質悪い…)

ffmpeg -i "input.mp4" -f image2 -vcodec mjpeg -qscale 1 -qmin 1 -qmax 1 img_%07d.jpg

2.waifu2x-caffeで連番静止画を拡大

waifu2x-caffeはこちら github.com

windows用実行ファイルの直接リンクはこちら https://github.com/lltcggie/waifu2x-caffe/releases/download/1.1.1/waifu2x-caffe.zip

GUI版で行うなら f:id:izm_11:20151231101845j:plain

こんな感じです。フォルダ単位で指定するのと、photoモードを選ぶのが肝心ですね。
仮に今回は .\res\以下に img000000.pngからimg000001.png img000002.png…という連番pngを出力することにしましょう。

処理速度としてはMaxwellGeforce GTX860M で大体一枚あたり6秒くらいでした。
一分あたり10枚のpngが処理できる感じです。めっちゃ不安になるくらいGPUファンが回ります。

1時間で20秒分のフレームが処理できるので、丸一日回して8分くらいですね!

3.ffmpegで再結合

エイっと結合します。

ffmpeg -r 29.97 -i .\res\img_%07d.png -i output.wav -s 3840x1920 -vcodec libx264 -b:v 50M .\res\output.mp4

このままガバっと2.で出力した連番pngと1.で分離した音声を合わせて4k動画をH264で生成します。
このくらいの解像度とビットレートで、手元のNexus 5(Android 5.1)でハードウェアデコード付きで再生出来ることを確認しました。

エンコードオプションは、ビットレートや2passなどの改善の余地がありそうです。詳しい人教えてください

これも良いかも(60Mbpsくらい)

ffmpeg -r 29.97 -i .\les\img_%07d.png -i output.wav -vcodec libx264 -pix_fmt yuv420p -crf 14 -preset veryfast -tune zerolatency,film -movflags +faststart .\les\output.mp4

結果

THETAのサイト内、公式動画サンプルで試してみました。 theta360.com

大体、解像度が足りないところがキュービックリニアっぽく補完されます。

http://izm.totheist.net/archive/theta_img/sample1.JPG

鉄塔付近や、ボーダー柄の服などのjpegノイズがうまいこと消えています。すごい。 http://izm.totheist.net/archive/theta_img/sample2.JPG

japanese karate(以下URLはリコーのサンプル動画への直接リンク)は、なぜかビットレートが5Mbps以下なので https://theta360.com/ja/gallery/sample/videos_s_3.mp4

こんな風に低ビットレート起因のjpegノイズが消えます。べんり。 http://izm.totheist.net/archive/theta_img/sample3.JPG

まともに4kパノラマを作るなら、ハードウェアが安いので10万くらい、ソフトウェアが安いので3万くらいするので、theta sだけでアプコン出来るのはコストメリットも、撮影の手間も少なくて良い感じです。

結論

  • waifu2x-caffeの超解像はphotoモードを使うと実写画像にも効果がある事を追試した
  • waifu2x-caffeの超解像はEquirectangular形式の画像でも効果がある事を確認した
  • 4k相当のパノラマ動画を安価に作れる可能性が出てきた
  • 各種動画サイトで配布されているパノラマ動画が低画質な時も、この方法で画質を向上させられる可能性が出てきた

  • いろいろ追試中です。意外と動画で確認したら、画質改善の効果を確認しにくいかも。そして、もしかしてRGBモードで非フォトの方が効果が分かりやすいかも…

参考URL

waifu2xでアニメをアップコンバートする - unsuitanの日記

ffmpegの使い方:tech.ckme.co.jp

最後に

私事ですが、引越しと転職を最近しまして、それに伴う出費により、食糧事情が悪化しております。 なにとぞ下記URLのウィッシュリストからご支援頂けると、めちゃくちゃ豪華なスパゲティを食べられます('-' *)

www.amazon.co.jp