うごイラと画像変換

2014/08/01

@tototoshi

自己紹介

担当

画像まわり

うごイラ

うごイラとは

百科事典より
        従来のgifアニメとは異なり、GIF形式、PNG形式、JPEG形式のイラストを正式にうごかすことができる。
        そのため高画質で色彩豊かなうごく作品を投稿、閲覧することができる。
    

うごイラとは

百科事典より
        今のところ投稿されたイラストの保存には対応していないが、下記のjavascriptを実行するとzip形式で保存できる。
        window.location.href = pixiv.context.ugokuIllustFullscreenData.src;
    

エンジニア向け説明

うごイラの仕組み

うごイラについてちょっと考えてみた | らんだむけんきゅうじょ

だいたいあってる (80点くらい)

なぜ GIF アニメではないのか?

うごイラ is not 動画

うごイラ is お絵描きの延長
目パチ 女の子 | 有佳♧ [pixiv]

(とはいえ GIF アニメもサポートしたいよね)

スマプリ完結記念に作ってたキュアハッピー対バッドエンドハッピー完成!どこまでも女子力が低い感じになっちゃったけど他の四人の... on Twitpic

うごイラの目標

ところで

Starting today, you can share and view animated GIFs on http://t.co/wJD8Fp317i, Android and iPhone. http://t.co/XBrAbOm4Ya

— Twitter Support (@Support) 2014, 6月 18

Twitter の GIF アニメ対応の特徴

GIF を mp4 に変換する

一方うごイラ

jpg を zip に固めて配信する。 アニメーション GIF もフレームをばらして jpg にする

どうやって実装されているのかと思ったら、Jpegがzipで固められていた。APNGとかMNGとかJNGとかのこと、時々でいいから思い出してください(´;ω;`) [pixiv] お知らせ - うごくイラスト『うごイラ』をリリース http://t.co/PZZjqAJBpz

— kusanoさん@がんばらない (@kusano_k) 2014, 6月 25
※ APNG 実は対応してるよ!

mjpegも <@kusano_k: …APNGとかMNGとかJNGとかのこと、時々でいいから思い出してください(´;ω;`)< [pixiv] お知らせ - うごくイラスト『うごイラ』をリリース http://t.co/NxO3XvuIz1

— Dan Kogai (@dankogai) 2014, 6月 25

@dankogai 忘れてました。APNGとかよりメジャーですねw

— kusanoさん@がんばらない (@kusano_k) 2014, 6月 25
※ それもちょっと考えた!

マジレスすると、静止画像から発展した動画フォーマットはいづれも時間方向圧縮が欠如しているので、Twitterのようにmp4化(厳密にはh.264化)してしまうのが正解に思える <@kusano_k

— Dan Kogai (@dankogai) 2014, 6月 25
※ せやな

MPEG系の時間圧縮ってのは時間軸の前後のコマで動きが少ない事を前提にしているので、アニメには効果が薄いんだよ。的外れ

— がちゃぴん先生bot (@kosaki55tea) 2014, 6月 25

@kosaki55tea アニメだと、むしろ、動き少なくないですか?

— えむば姫 (@m_bird) 2014, 6月 25

@kosaki55tea 背景動かないとか、動き補償とかあんまり効かない?

— 鯉江 (@koie) 2014, 6月 25
※ 各位、仲良く

@dankogai GIFの再生負荷の軽さは大きな魅力だと思います。まあ、ほとんど差分の無いFullHDの画像が複数枚含まれたzipはどうかと思いますが。

— kusanoさん@がんばらない (@kusano_k) 2014, 6月 25
※ GIFアニメ実際そんな軽くないんだよねえ。あと再生できない端末もあるし。

お騒がせしてすみません

振り返り

知ってた

うごイラの今後

まとめ

うごイラ、技術的には挑戦というより悪ノリって感じ

— Toshiyuki Takahashi (@tototoshi) 2014, 7月 2

補足1

@tkito そこは確かに劣化するのですが、動画にしたときの劣化に比べると微々たるものです。まあ普通の人はわからないレベルだと思います。

— Toshiyuki Takahashi (@tototoshi) 2014, 8月 1

補足2

@kusano_k あ、すみません…

— Toshiyuki Takahashi (@tototoshi) 2014, 8月 1

補足3

@kusano_k iPhone、Android向けに配信するのにリクエスト数を減らしたかったらです。

— Toshiyuki Takahashi (@tototoshi) 2014, 8月 1

@kusano_k Rangeリクエストはweb版のzip_playerがプログレッシブに再生するために使っています。アプリのほうは実装がまた違って一旦全部ダウンロードしてから展開して再生という実装になっています。

— Toshiyuki Takahashi (@tototoshi) 2014, 8月 2