LoiLoScope2のCUDAで遊びまくっている時に気が付いた不具合(?)みたいなもののメモ。HD動画をリサイズする際、以下の現象が発生していないか注意しておきましょうってお話。

うちの環境では「リサイズカスタム」を利用して特定の動画サイズを指定すると、画像が少しだけボケます。うちのPC環境(コーデック類やビデオカードの状態)に問題があるだけかもしれません・・・が、一応メモ書き。

気をつけていれば回避できますが、注意が足りないとボケボケ動画が出来上がります。

関連ページ

画像サンプル

ソース:地デジTSファイル・1440x1080・アスペクト比16:9

以下、ソース動画を「VirtualDubのLanczos法でリサイズしたもの」と、「LoiLoScope2でリサイズしたもの」を、LoiLoScope2のCUDAでエンコードして比較しています。
ぼやけた画像
▲動画の一部を200%拡大した図
1440x1080 → 854x480 にリサイズしたら、こんな感じにボヤけてしまった。
普通に動画再生してても、「アレ・・・ボケてるぞ?」って分かるレベル。

768x432
▲でも、1440x1080→768x432にリサイズした場合は、ボケていない。こんな感じでクッキリシャッキリ。Lanczos法とほぼ同じ画像が出来上がっています。

何が起きているんだ・・・?
と最初は不思議だったけど、色んなサイズで動画を作りまくって、ある程度の法則性が見つかった。

原因: 一部の動画サイズを指定すると、微妙にサイズが変わる。

「LoiLoScope2でリサイズするとボケてしまう」パターンでは、以下のような現象が発生していた。

Loiloのリサイズ
▲クリックで拡大
例えば1440x1080(16:9)な動画を854x480 にリサイズ指定すると。。。

正しいリサイズが反映されない
何故か856x482という不思議サイズで変換出力されている。

色空間の関係で16の倍数・8の倍数固定なのかな?と思いきや、「縦482pix」って4の倍数ですら無いので元の色空間YUV 4:2:0も関係無いし・・・謎だ。

縦方向のピクセル比0.5の倍数単位で縮小すればOKかも?

とりあえず、リサイズされないパターン・リサイズされちゃうパターンを色々集めていたら、元動画の縦方向に対し0.5の倍数で縮小すれば大丈夫なんじゃない?って仮説が立った。

地デジ素材を扱った際、リサイズでボヤけてしまった動画サイズ
 854x480 → 856x482
 720x404 → 720x406
 320x176 → 320x180
 このサイズを指定すると、指定どおりの大きさで動画出力されない。
 また画像がボケ気味になるので注意。
 (ウチの環境だけかもしんないけど)

地デジ素材を扱った際、正しく・美しくリサイズ出来た動画サイズ
 1280x720 / 960x540 / 640x360 あたり。一般的なサイズ。
 1280x720 (縦方向 150%縮小)
 960x540 (縦方向 200%縮小)
 640x360 (縦方向 250%縮小)
 640x480 (縦方向 250%縮小) 640x360の上下にレターボックスが入る
 320x180

勝手にリサイズされたけどボケが気にならなかったサイズ
 480x272 → 480x270 (縦方向 400%縮小) この現象は滅多に発生しない。心配無用
 720x480 → 720x540(縦方向 225%縮小)ただし上下にレターボックス追加された

仮説が成り立たなかった動画サイズ(キレイに仕上がった)
 512x384 (縦方向281.25%縮小) 上下にレターボックス追加
 512x288 (縦方向 375%縮小)
 824x464 (縦方向 232.76%縮小) 

0.5の倍数の仮説は外れた。854x480 / 720x404 720x480 がダメみたい。
あとのサイズは概ね大丈夫そうだ。

あとがき

とりあえず、ソース動画からリサイズ無しの場合は 640x480 / 720x480 / 720x404サイズで 問題発生しない事を確認。

うーむ。何故リサイズすると縦方向480pxと404pxで意図した結果が出ないのだろうか?
リサイズで「カスタム」を選択しない方が良いのだろうか?
ウチのPCに入っているコーデックの問題なんだろうか?

最近は1280x720か960x540でエンコードする事が殆どなので、854x480や720x480サイズが使えなくなっても別に痛くもなんとも無いけど、「DVDサイズの動画を作成したい場合、別サイズの動画から直接変換出来ない事がある」ってのもちょっと不便だな。今度コーデック類を整理してみよう。

 

関連ページ