MotionPNG
あるところに、PNGを並べただけの映像ファイルがありました。FourCCは「MPNG」でした。MotionJPEGのFourCCである「MJPG」から推測するに「MotionPNG」でしょうか。このファイルはWindowsMediaPlayer(以降WMP)では開く事ができませんでした。
そこで、「ffdshow」のコーデックを使う事でWMPで開く事はできました。調べると「MPNG」は「CorePNG」と呼ばれるコーデックに対応しているようでした。CorePNGにはもう1つ「PNG1」というFourCCも使っているようです。
次に、「真空波動研SuperLite」を使ってコーデックを調べてみると「PNG images decoder」と表示されました。これがコーデック名かちょっと微妙ですけど。
次に、「VLC media player」を使ってこのファイルを開こうとするとffdshowを使わずともダイレクトに開く事ができました。コーデックは「MPNG」とあります。
次に、「FFMPEG」を使って別のコーデックに変換してみると正常に変換できました。こちらもffdshowは使っていません。コーデックは「png」とあります。
次に、「AviUtl」を使って開こうとしましたが、コーデックが見つからないという事でしたので、先程のffdshowを使って開きました。ですが、フレーム処理がおかしいのか色が崩れていきます。特にフレームの位置を戻そうとした時に色がおかしくなります。マシン環境によっては順方向の再生もおかしい時もあります。CorePNGに対応していないのかキーフレームなのか差分処理があるのかちょっとまだ不明ですけど。
とまー、このファイルの「MPNG」の「M」はMotionJPEGと同様に「Motion」なのか否か。MPNGは、APNGともMNGとも違うのか。そしてPNGファイルを並べただけのファイルは果たしてなんと呼ばれるファイルになるか。そしてテンでバラバラの上のような状況は一体全体どーゆー事なのか。結局「MPNG」だか「MotionPNG」だかの正体は?
・・・全くわからない。
そんな謎の「MPNG」を次のNautilusのバージョンアップで実装してみたいと思います。単にPNGで出力してAVIコンテナに載せるダケです。とりあえずFourCCは「MPNG」としてみます。試しに出力させると、上とほぼ同じような状況になります。
全フレームがPNGで圧縮されているという事は、
そうです、無劣化の可逆圧縮がココに誕生で御座います。
ただ圧縮率が悪く出力サイズがMotionJPEGの最大画質の4倍くらいになりますし、結構ハイスペックのマシンでないとFPSが下がる感じですので、個人的にはちょっと微妙な感じではあるんですけど、高画質を追い求める冒険者の方にとっては是非とも欲しいのでは無いかと思いまして実装に踏み切りました。ま、性能については今後ジョジョに改善させたいとは思っておりますが。
ちなみに、次のNautilusはMotionJPEGも改善されておりまして、環境にもよりますが、速度が20%くらいアップして、サイズが10%くらい小さくなる、そんな感じです。お楽しみに!
そこで、「ffdshow」のコーデックを使う事でWMPで開く事はできました。調べると「MPNG」は「CorePNG」と呼ばれるコーデックに対応しているようでした。CorePNGにはもう1つ「PNG1」というFourCCも使っているようです。
次に、「真空波動研SuperLite」を使ってコーデックを調べてみると「PNG images decoder」と表示されました。これがコーデック名かちょっと微妙ですけど。
次に、「VLC media player」を使ってこのファイルを開こうとするとffdshowを使わずともダイレクトに開く事ができました。コーデックは「MPNG」とあります。
次に、「FFMPEG」を使って別のコーデックに変換してみると正常に変換できました。こちらもffdshowは使っていません。コーデックは「png」とあります。
次に、「AviUtl」を使って開こうとしましたが、コーデックが見つからないという事でしたので、先程のffdshowを使って開きました。ですが、フレーム処理がおかしいのか色が崩れていきます。特にフレームの位置を戻そうとした時に色がおかしくなります。マシン環境によっては順方向の再生もおかしい時もあります。CorePNGに対応していないのかキーフレームなのか差分処理があるのかちょっとまだ不明ですけど。
とまー、このファイルの「MPNG」の「M」はMotionJPEGと同様に「Motion」なのか否か。MPNGは、APNGともMNGとも違うのか。そしてPNGファイルを並べただけのファイルは果たしてなんと呼ばれるファイルになるか。そしてテンでバラバラの上のような状況は一体全体どーゆー事なのか。結局「MPNG」だか「MotionPNG」だかの正体は?
・・・全くわからない。
そんな謎の「MPNG」を次のNautilusのバージョンアップで実装してみたいと思います。単にPNGで出力してAVIコンテナに載せるダケです。とりあえずFourCCは「MPNG」としてみます。試しに出力させると、上とほぼ同じような状況になります。
全フレームがPNGで圧縮されているという事は、
そうです、無劣化の可逆圧縮がココに誕生で御座います。
ただ圧縮率が悪く出力サイズがMotionJPEGの最大画質の4倍くらいになりますし、結構ハイスペックのマシンでないとFPSが下がる感じですので、個人的にはちょっと微妙な感じではあるんですけど、高画質を追い求める冒険者の方にとっては是非とも欲しいのでは無いかと思いまして実装に踏み切りました。ま、性能については今後ジョジョに改善させたいとは思っておりますが。
ちなみに、次のNautilusはMotionJPEGも改善されておりまして、環境にもよりますが、速度が20%くらいアップして、サイズが10%くらい小さくなる、そんな感じです。お楽しみに!