たとえば、画像データを圧縮しつつ、並行して送信するような場合。
https://www.w3.org/TR/PNG-Chunks.html
PNG画像でIDATを複数に分けることができる理由がよくわからなかったけど、今わかった。
PNGのチャンクは先にデータの長さを記録する必要があるので、(前から順にファイルを書いていく場合)もし分割を許さない場合、エンコーダが用意するメモリの量が定まらないということだ。
もちろん、最後まで読んだ後でデータの長さのところだけ書き換えるというやりかたもできるけど、チャンクのまとまりごとに出力していくほうが便利なケースもあるだろう。
たとえば、画像データを圧縮しつつ、並行して送信するような場合。
No replies yet.