どうしてJPEGでドット絵を保存しちゃいけないの?

※この記事はドット絵 Advent Calendar 2021の5日目の記事となります。

adventar.org

他の方の記事も毎日更新されているのでぜひ毎日楽しんでください! 裏ドット絵 Advent Calendar 2021というのもあるみたいなので、こちらもぜひ!

adventar.org


どうもー! おはようございます、こんにちは、こんばんは、かめです。 初めての方ははじめまして! よろしくおねがいします。

さて、今年もアドベントカレンダーの時期がやってまいりましたね。 恒例の、という言葉を枕詞としたいところだったんですが、なんと2019年と2020年はドット絵のアドベントカレンダーは開催されてないという。 自分はどちらも参加させていただきました。 あのとき見ていただいた方、ありがとうございます。


さてさて、それでは本題を。

早速ですが、こんなシチュエーションを考えてみましょう。

ある日、ドット絵を最近始めたばっかりのJくんが質問をしてきました。

「最近Twitterでドット絵を探していたらJPEGを嫌っているツイートがたくさん見つかったんだ。 それにJPEGで保存されたドット絵botっていうアカウントがあって、どうやら揶揄してるみたい。 どうしてJPEGでドット絵を保存しちゃいけないの?」

ずっとドット絵を嗜んでいたPくんは自信満々に答えます。

JPEGで保存すると、きれいに打っていたドット絵もガビガビになって汚くなってしまうんだ。 だから、保存するときはドット絵ツールのファイルやビットマップやPNGなどで保存して、使うときにPNGやGIFなどで出力するのがいいんだよ。」

すると、Jくんはこう質問を続けました。

「ふーん、なるほど。それじゃあ、どうしてJPEGで保存すると汚くなってしまうの?」

そんなことを考えたことがなかったPくん。 いったいどう答えれば良いでしょうか。


聡明な皆様なら、もちろん答えられますよね。

JPEGというのは、非可逆圧縮の画像フォーマットです。 平たい言葉に直すと、元の画像に戻すことができないかわりに画像のサイズを小さくすることができる画像のフォーマットになります。 その圧縮がドット絵と相性が良くないため、汚い画像となってしまうわけなのです。

(ちなみに、JPEGの代わりに推奨されるやすいPNG可逆圧縮の画像フォーマットです。)

でも、JPEGって写真などの普通の画像では使われることが多いですよね。 なぜ、ドット絵では、相性が悪いのでしょうか。

今回の記事ではもう少し詳しく見ていくことにしましょう。

それは、JPEGの圧縮手段である、RGB->YCrCb変換(および色差情報の間引き)と離散コサイン変換(DCT変換)・ 量子化ビット数の低減がドット絵のような色数が少なくはっきりとした画像を圧縮するのが苦手だからなのです。

それぞれ見ていきましょう。

RGB->YCrCb変換というのは名前の通り、RGBという三原色から輝度Yと色情報のCb/Crに変換するというものです。 もちろん、ただの変化では3要素から3要素への変換なので色情報がここで抜けるわけではありません。

しかし、JPEGでは、人間の目の特性である色の変化を認知する能力が低いことを利用し、色差情報を2x2の4ピクセルごとに平均を取り(=間引き)、情報量を4分の1にしています。*1

もちろん、通常の写真での4ピクセルはあまり大きな変化はありません。 しかし、ドット絵はどうでしょうか。 1ピクセルごとに大きな意味を持つドット絵では、この平均をとる操作はかなり厳しいものがあります。

これが、JPEG圧縮がドット絵に向かない理由の1つになります。

つづいて、離散コサイン変換です。 離散コサイン変換と聞いて、頭にはてなが浮かんでくる人も多いのではないでしょうか。

離散コサイン変換はその名の通り離散的な信号をいくつかの余弦関数の組み合わせに変換すること。 もう少し簡単に言うと、数字の列をいくつかの波の集まりに変換することです。

気になる方のためにWikpediaのリンクも貼っておきます。 ja.wikipedia.org

JPEGの圧縮では、画像を8x8の小さな画像に分け、それぞれの画像を64段階の余弦関数に分解します。 この64段階の余弦関数は、周波数が低いものから高いものまであります。

その後、人間の目の特性である細かい変化を認知する能力が低いことを利用し、細かい変化である周波数が高い余弦関数を間引く*2ことで情報量を圧縮しています。

ここまで読んでもらった方はもうお気づきかもしれませんが、ドット絵は1ドットという単位で絵を作ってる以上、細かい変化を間引くことはかなり厳しい圧縮となっています。 これも、JPEGの圧縮がドット絵に向かない理由の1つになります。


JPEGでは、他にハフマン符号によるデータの圧縮なども行っていますが、こちらは影響はありません。 しかしながら、先に述べた2つの圧縮がドット絵にとって厳しいということは理解していただけたかと思います。*3

さて、もとの話に戻りましょうか。 もう、Jくんへの回答は答えられますよね。

JPEG非可逆圧縮の画像フォーマットであり、その圧縮方法は人間の色の変化と細かい変化が弱いという特性を活かした色差情報の間引きと高周波情報の間引きを行うことによって成り立っているが、それらはドット絵では必要な情報となっているため、間引かれてしまうと情報が失われて汚い画像となってしまうからだよ。」

と答えればおおよそ合っていると思います。*4

今後、皆様のJくんが現れたら、頭の片隅にでもこの記事を思い出していただければと思います。

終わりに

実は今回は途中までは今年作ったこちらをもっとくだけた感じで紹介する予定でした。

(こちらも読んでもらえると嬉しいです。PNGについても書いています。)

qiita.com

ただ、せっかくのアドベントカレンダー。 新しく記事を書かないともったいないということで、新規で記事を書くに至った次第です。

それでは皆様ここまで読んでいただきありがとうございました。 明日の記事も楽しみにしましょう!

参考文献

こちらのサイトがJPEGファイルについてわかりやすかったのでぜひどうぞ。

CGファイル概説 第6章 第1節

もうすこしくだけた感じのサイトはこちらになります。

JPEG の仕組み : kei@sodan

このサイトもとても参考にしました。

Image compression(2)

*1:圧縮率によって変わります

*2:これを量子化ビットの数の低減です

*3:かなり端折って説明したので、実際はもう少し難しいことを行っています。

*4:間違っていたらご指摘ください!

ボードゲーム『アーティチョークなんて大キライ!』

コロナで遊べる機会が本当になくなってしまい未プレイ・未やりこみのボードゲームが大量に自宅に鎮座し始めているので、 せめてもの救済としてブログを書いています。

2回目の今回は『アーティチョークなんて大キライ!』。ちょっと変わったデッキ構築が楽しめる、2人〜4人用ボードゲームです。

1回目はこちら。

sytkm.hatenablog.com

続きを読む

ボードゲーム『Jaipur』

コロナで遊べる機会が本当になくなってしまい未プレイ・未やりこみのボードゲームが大量に自宅に鎮座し始めているので、 せめてもの救済としてブログを書きます。

初めてのこの回は「Jaipur」。 ルールが簡単で短時間で楽しめる、2人専用ボードゲームです。

続きを読む

10/9 22:30-22:55 スペース「最近読んだラノベ(ラブコメ)について話す」スクリプト

はいどうも かめです。

一ヶ月ぶりくらいに話したくなったのでSpacesをやります。

世間では後半期、下期が始まっちゃいましたね。 何かを始める絶好の機会、皆さんは新しくなにか始めましたか?

自分は、やるつもりは最初はなかったんですけど、 縁あって目標を立ててフォロワーと相互監視をするっていうことをはじめました。 といっても難しい話ではなく、事前に立てた目標をやったかやってないかを毎日1回リプを送り合うっていう。

そのフォロワーも継続できないっていうことだったので、お願いしてやってもらいました。 どんなに簡単な制限でも、相手がいて相手も頑張ってるっていうことが重要みたいで、意外と続けられてます ぜひ続けられない皆さんはお近くのフォロワーを誘ってやってみてください。

そんな自分が立てた目標というのはプランク/スクワットと、本を読むということ。 プランク/スクワットは、先日健康診断がありまして、詳細はいえないんですけどなんかやらないとまずいなと思った次第です。 そして、もうひとつは、本を読むということ。 今年の1月に立てた目標が負債を残さないっていう目標なんですけど、積ん読が増えてきてまして、それを解消するために毎日1冊以上読むってことをやっています。 まあ、積んでる本って言っても大部分を占めているのはラノベなので、1冊30分くらいですかね。

それで読んだラノベの話、していきます。

まずは「豚公爵に転生したから、今度は君に好きと言いたい」。

まあ、タイトルの通りなんですけど、ハマっていたゲームの豚公爵に転生する話です。悪役に転生するものって結構女性向けのものが多いんですよね。悪役令嬢系とか。 男性向けだと結構珍しい気がします。そういう感じなんですかね。 まあ、悪役が気持ちを改めるっていう昔からのあるいみ王道なんですけど、かなり面白い。 強いキャラクター(豚公爵)に転生するってこともあってか爽快感があるというか、俺TUEEEじゃないけど読み切って気持ちよくなれます。 アニメ化するってずっと言ってるんですが、しないのがちょっと恥ずかしい、、、作品だったりします

続いて、「ゴールデンタイム」。

これはアニメ化した作品かな。 とらドラの作者の作品。 ちょっと昔、2011年くらいの作品なんだけど、それだからかヒロインが全然今では見ない自己主張が強いタイプなのかな。 だからかもしれないけど、新鮮で楽しめた。 内容は大学の人間関係やサークル活動を中心とした話。自分はそういうの全くなかったんだけどね。(笑)

「恋人代行をはじめた俺、なぜか美少女の指名依頼が入ってくる」。

まあ、タイトル通り。レンカノの逆バージョンって言えばわかりやすいかも? 実入りがいいバイトとして教えてもらった主人公が、めっちゃデートする話。主人公はイケメン。 結構視点が入れ替わるから、読みづらい人は読みづらいかもしれない。 バッティングがはじまるのが2巻以降だからそれからのほうが面白いかも。1巻はホントに甘々だった。こういうの好きだからいいんだけどね。

「カノジョに浮気されていた俺が、小悪魔な後輩に懐かれています」。

これもタイトル通りかな。 登場人物は、同期(きれい)後輩(小悪魔)元カノ(普通)みたいな。 主人公が優柔不断感強く、ちょっとタラシ感あるのが嫌いな人は嫌いかも。 彼女じゃない人がずっと家に入り浸ってるからふざけんなってなる。というか「ふざけんな」ってなったよね。

「恋してるひまがあるならガチャ回せ!」。

ソシャゲをたしか23本だっけ?掛け持ちしてるゲーム廃人みたいな主人公と、同じゲームをやってるお嬢様のラブコメ。 これタイトル575だね。 ゲーム なんか一緒にいる友人みたいな人にゲーム用語を早口で語るところとか笑いながら読める。 こういう人近くにいたりするんじゃないかな。 2巻で終わってるし読みやすいかも。

「声優ラジオのウラオモテ」。

これ、結構話題になってたんだけど、かなり面白かった。 いや、どこで話題になってたんだ、って話だけども。 同級生ののギャルと根暗の二人が、裏で声優をやってるって話。 お互いにあまり好きじゃないタイプなんだけど、心の底では相手のことをわかっているし、表ではしっかり仲の良さを演じているっていうのもいい。 ギャルと根暗ってあってそれぞれ闇みたいなのを抱えているんだけど、それを解消?っていうのかな、いい方向に持っていこうとするところがめちゃくちゃアツい。 自分は声優ラジオを聞いたことないけど、こういうの読むと聞きたくなっちゃうな。 自分はあんまり百合を読まないけど、勝手にこの作品は百合だと思ってます。 本が今5巻まで出てるんだけど、巻を追うごとに更に面白くなってる。 先輩・後輩声優の話とか、炎上しちゃうんじゃないかってなるようなアニメの話とか。 ぜひ読んでみてほしい。

「恋愛する気がないので、隣の席の女友達と付き合うことにした」。

意味がわからないけど、そういうこと。 田舎に引っ越してきた主人公が、周りが恋愛一色でつらいから、仮初の彼女を作る、みたいな。 隣の席の女友達もそういう恋愛で告白されるのにうんざんりしているから丁度いいみたい。なんじゃそりゃ。 もちろん女友達は学校で噂される美少女。鉄則だよね。

覇剣の皇姫アルティーナ」。

これは再読。 14巻で止まっているのがとても残念な作品。 作者はアニメ化された異世界魔王とか14歳とイラストレーターとかのむらさきゆきやさんだからいそがしいかもしれないけど。 これ読んでから、戦記物にハマってくらいの作品。 アルデラミンとかもこれきっかけで読んだよ。面白いね。 主人公が頭で解決するっていうところでとても脳汁がでるというか、気持ちよくなる感じ。 めちゃくちゃ面白いけど、めちゃくちゃ面白いところで終わるから進められれない。


一旦今日はここまでにしようかな。

実は、10/1からのニコカド祭っていうキャンペーンで大セールをやってるんだよね。 カドカワの漫画・ラノベ・文芸の電子書籍が半額以上のセールになるっていう。 毎年やってるんだよね。 ライトノベルレーベルって小さく見ても90%以上がカドカワ系列のレーベルだから、セール対象はかなりの割合。 お得。

でも、セールがあるってことはつまり・・・? 消化した感じはあるけど、そのセールで今年も100冊以上買ってるから、差し引きは・・・増えてるな・・・。

9/5 0:50-1:05 スペース「昨日観た映画について話す」スクリプト

昨日何もしなかったから、このままではマズいと思ったので映画を観に行ったんです。

アーヤと魔女とかぐや様Final。

まずはアーヤと魔女。 ダイアナ・ウィン・ジョーンズの同名作が原作。

ダイアナ・ウィン・ジョーンズって言われてもわからないかもしれないけどハウルの原作者でもある。

自分は大魔法使いクレストマンシーシリーズが大好き。 いろんな世界でクレストマンシーっていう役職の人が魔法に関連した事件を解決するっていう感じ。 問題解決って楽しいのよね。 昔に読んでそれっきりだからもう一回読んでみたい。

さて、本題のアーヤと魔女。

NHKで簡易版がテレビ放送されてたらしいけど自分は見てなかったので今回が初。

まあ、面白かったよね。 ストーリーはものすごく簡単に言うと、孤児院に孤児として住んでいたアーヤが自分の思い通りに過ごせる孤児院っていう環境からある魔女に引き取られることになったんだけど、こき使われるばかりで何もできないから、反撃を始めようとする、みたいな話。 すごく説明できてるようにみえるけど、wikipediaから内容ちょっと持ってきました。

ジブリ初の3Dアニメって触れ込みだけど、ジブリ見てるって感じはすごくあった気がする。

終わりまで満足して見ることができたかな。 かぐや様の3分の1くらいの人でだったけど、確実にこっちのほうが、、、

ぜひぜひ機会があったら見て。

もう一つ見たのはかぐや様。 前作も映画館で(笑) 原作は全部読んでます。

ストーリーは前作のオリジナル展開からもとに戻す感じで、ミコちゃんの加入、体育祭、文化祭を入れ込んでいた感じ。 まあ映画は往々にしてオリジナル展開を入れ込むものだからよくぞ戻したって感じなんだけど、、そもそも前回のが・・・

うーーーん、原作好きが見るものではなかったかな、、(あたりまえだけど) 原作がよかったところは表現できてたけど、それ以外が蛇足で蛇足で。見てて恥ずかしくなったところもあったり。 でも前作よりは良かった気がする。入り込めた部分もあったし。チープな部分はあったけど。

あと佐藤二朗さん。 自分は前回の映画を見て苦手だなと思ったんですが、Twitterで検索とかしたら高評価なので、自分が世界と合わないだけかもしれない。

主題歌はうっせえわのAdoさん。 事前にyoutubeとかで聞いていたんだけど、よかったね。 あと、エンドロールは良かったね。

まだまだ映画の前売り買ってあるし、コロナ下っていう環境で見に行きにくくあるけど、映画館で見るっていうのが家で見るとは違う体験なので積極的に観に行きたい。

締め