Inter-frame Optimization in APNG

For our sample animation, we'll take 4 input frames, 150x150 each:
clock_input_01.png
clock_input_02.png
clock_input_03.png
clock_input_04.png
150x150
150x150
150x150
150x150
Then we'll use APNG Assembler to create our animation:

apngasm clock_apng.png clock_input_*.png 1 2 -z2 -i1000

clock_apng.png
clock_apng.png
150x150
Now let's see how subframes are stored in APNG, using borders to show their position and size:
clock_apng_part_01.png
clock_apng_part_02.png
clock_apng_part_03.png
clock_apng_part_04.png
150x150
73x58
73x66
89x30
Looking at frame data sizes in IDAT and fdAT chunks, it's clear that storing frame differences instead of full frames leads to significant savings in file size:
clock_tweakpng.png
In conclusion, inter frame optimization is possible with APNG format, and APNG Assembler can automatically calculate and store the difference between frames.