Re: Call for informal discussion: APNG

Pavel Zlatovratskii <[email protected]> Wed, 20 Sep 2017 23:35:12 +0300
Newsgroups gmane.comp.graphics.png.general
Organization TB.Budget
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============0933040428700152539==
Content-Type: multipart/alternative;
 boundary="------------DF63399C56AC36CD61FA1000"

This is a multi-part message in MIME format.
--------------DF63399C56AC36CD61FA1000
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

FLIF is FLIF and PNG is PNG.

I don't like idea "X have feature Y, let's do the same" especially when=20
"same" done same way and X is also lossless. It became Not-Invented-Here=20
way... why people who want lossless animation with animation interlacing=20
couldn't use FLIF?

When I wrote about EXIF I often try to remind that PNG tEXt/iTXt is=20
better than EXIF way to save same data.

I don't think PNG could outperform FLIF in interlacing. Not without=20
breaking whole compatibility like "PNG 2.0". So why people should use=20
NewAPNG instead of FLIF?

I think NewAPNG should have features that absent in FLIF so people could=20
use FLIF for one purpose and NewAPNG for another. My wishes:

1) Support for big and endless streams for use with screencast and=20
title|subtitle overlay. I know absolutely no lossless overlay video=20
codec for now.

2) No "auto" fallback to PNG, but easy PNG/APNG extraction to allow=20
intentional fallback. I suppose with nowadays JS there should be no=20
problem to do such things right in browser if it will require only chunk=20
headers handling.

3) Reuse more than one previous frame and other way than same positions.=20
Something like 2D LZ77: "paste this part of frame N frames before into=20
current frame". This could increase compression especially for cases=20
like text moving on the screen or appear and disappear labels (animated=20
comics style).

20.09.2017 22:57, Soni L. =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
> FLIF has it, so I think it's a good idea for us to have it too.
>
> Due to the way normal APNG chunks work, it's *arguably* already=20
> supported - just deliberately use the "wrong" sequence numbers ;).
>
> https://wiki.mozilla.org/APNG_Specification#Chunk_Sequence_Numbers
>
> On 2017-09-20 04:15 PM, Pavel Zlatovratskii wrote:
>>
>> If we do new APNG we could do anything we want, but I don't think=20
>> global interlacing is good idea.
>>
>> It break too much compatibility and significantly increase difference=20
>> with current APNG (and so complexity of decoder).
>>
>> I think best way for "new APNG" (which definitely should get new=20
>> name) is be superset of current APNG (with different chunk names), so=20
>> at least some subset of NewAPNG could be converted to APNG files=20
>> without decoding image data, but just with chunk repacking.
>>
>>
>> 20.09.2017 20:18, Soni L. =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
>>> If we do get a new APNG, can we get full image interlacing?
>>>
>>> As you know, in APNG, you can do interlacing to make each frame=20
>>> visible faster at a lower resolution, but EACH FRAME ONLY. The idea=20
>>> with full interlacing is that you'd interlace IDAT and fdAT, such=20
>>> that you can quickly load the whole APNG animation (at a lower=20
>>> resolution), and slowly get it up to high-res by loading the=20
>>> following chunks.
>>>
>>> On 2017-09-20 12:30 PM, Pavel Zlatovratskii wrote:
>>>>
>>>> I don't think approval of APNG could be any use for now. It was=20
>>>> important in 2007 to motivate browsers (and other software) support=20
>>>> it. But today it is already have pretty wide support as you=20
>>>> describe, so I see no reason to not left it as Mozilla's=20
>>>> "side-standard".
>>>>
>>>> May be it's possible to design some new animation PNG based on APNG=20
>>>> and make it standard. Like SPDY and HTTP/2: Google design and=20
>>>> spread SPDY, but SDPY is now left as SPDY, not became HTTP2.0 nor=20
>>>> was approved by IETF HTTP WG.
>>>>
>>>> There is also a little problem with official APNG same as Mozilla=20
>>>> APNG: current decoders may not able to handle approved aCTL chunk=20
>>>> as it is supposed to handle private acTL chunk. So without any=20
>>>> benefit for aCTL it may be never spread.
>>>>
>>>> 15.09.2017 2:09, Chris Lilley =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
>>>>> My reason for re-opening discussion is the "implementation and=20
>>>>> testing" part. APNG has since become widespread. Compared to=20
>>>>> animated GIF, it offers 24bit (and 48bit!) colors rather than 256,=20
>>>>> and full transparency rather than binary opacity.
>>>>>
>>>>> Regardless of what we may think about the reduced capabilities=20
>>>>> relative to MNG, or the advisability of re-using an image type for=20
>>>>> animations, this is the current state of the world and it seems=20
>>>>> sub-optimal to me that the PNG specification and extensions=20
>>>>> documents continue to not reflect this. I would like therefore to=20
>>>>> kick off informal discussion, then a formal discussion period and=20
>>>>> (re)vote.
>>>>>
>>>>> APNG continues to be supported in Mozilla Firefox (and other apps=20
>>>>> using the Gecko rendering engine), starting from version 3, June 20=
08.
>>>>>
>>>>> APNG is supported by Safari (and other apps using the WebKit=20
>>>>> rendering engine) since version 8, October 2014.
>>>>>
>>>>> In addition, native apps on MacOS X and iOS use native support for=20
>>>>> APNG, since iOS 10 and OS X Yosemite, October 2014.
>>>>>
>>>>> APNG is now supported by Google Chrome (and other apps using the=20
>>>>> Blink rendering engine, such as Opera and Samsung Internet),=20
>>>>> starting from version 59, June 2017.
>>>>>
>>>>> Microsoft Edge does not support APNG, but MS Edge Devs stated that=20
>>>>> this is "under review". Meanwhile, APNG displays in Edge as the=20
>>>>> first frame, which is the expected fallback behavior.
>>>>>
>>>>> A starter document is attached to facilitate discussion.
>>>>>
>>>>> --=20
>>>>> Chris Lilley
>>>>> @svgeesus
>>>>> Technical Director @ W3C
>>>>> W3C Strategy Team, Core Web Design
>>>>> W3C Architecture & Technology Team, Core Web & Media
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------=
-----------
>>>>> Check out the vibrant tech community on one of the world's most
>>>>> engaging tech sites, Slashdot.org!http://sdm.link/slashdot
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> png-mng-misc mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/png-mng-misc
>>>>
>>>> --=20
>>>> Have a nice DOS.
>>>>
>>>> Pavel Zlatovratskiiscondo-JGs/[email protected];[email protected]
>>>>
>>>>
>>>> --------------------------------------------------------------------=
----------
>>>> Check out the vibrant tech community on one of the world's most
>>>> engaging tech sites, Slashdot.org!http://sdm.link/slashdot
>>>>
>>>>
>>>> _______________________________________________
>>>> png-mng-misc mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/png-mng-misc
>>>
>>>
>>>
>>> ---------------------------------------------------------------------=
---------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org!http://sdm.link/slashdot
>>>
>>>
>>> _______________________________________________
>>> png-mng-misc mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/png-mng-misc
>>
>> --=20
>> Have a nice DOS.
>>
>> Pavel Zlatovratskiiscondo-JGs/[email protected];[email protected]
>>
>>
>> ----------------------------------------------------------------------=
--------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org!http://sdm.link/slashdot
>>
>>
>> _______________________________________________
>> png-mng-misc mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/png-mng-misc
>
>
>
> -----------------------------------------------------------------------=
-------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>
>
> _______________________________________________
> png-mng-misc mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/png-mng-misc

--=20
Have a nice DOS.

Pavel Zlatovratskii scondo-JGs/[email protected]; [email protected]


--------------DF63399C56AC36CD61FA1000
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html>
  <head>
    <meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Ty=
pe">
  </head>
  <body bgcolor=3D"#FFFFFF" text=3D"#000000">
    <p>FLIF is FLIF and PNG is PNG.</p>
    <p>I don't like idea "X have feature Y, let's do the same"
      especially when "same" done same way and X is also lossless. It
      became Not-Invented-Here way... why people who want lossless
      animation with animation interlacing couldn't use FLIF?<br>
    </p>
    <p>When I wrote about EXIF I often try to remind that PNG tEXt/iTXt
      is better than EXIF way to save same data.</p>
    <p>I don't think PNG could outperform FLIF in interlacing. Not
      without breaking whole compatibility like "PNG 2.0". So why people
      should use NewAPNG instead of FLIF? <br>
    </p>
    <p>I think NewAPNG should have features that absent in FLIF so
      people could use FLIF for one purpose and NewAPNG for another. My
      wishes: <br>
    </p>
    <p>1) Support for big and endless streams for use with screencast
      and title|subtitle overlay. I know absolutely no lossless overlay
      video codec for now.<br>
    </p>
    <p>2) No "auto" fallback to PNG, but easy PNG/APNG extraction to
      allow intentional fallback. I suppose with nowadays JS there
      should be no problem to do such things right in browser if it will
      require only chunk headers handling.<br>
    </p>
    3) Reuse more than one previous frame and other way than same
    positions. Something like 2D LZ77: "paste this part of frame N
    frames before into current frame". This could increase compression
    especially for cases like text moving on the screen or appear and
    disappear labels (animated comics style).<br>
    <br>
    <div class=3D"moz-cite-prefix">20.09.2017 22:57, Soni L. =D0=BF=D0=B8=
=D1=88=D0=B5=D1=82:<br>
    </div>
    <blockquote
      cite=3D"mid:34af0622-c0fd-2343-9aba-52ab7963168f-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
      type=3D"cite">
      <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DU=
TF-8">
      <tt>FLIF has it, so I think it's a good idea for us to have it
        too.<br>
        <br>
      </tt><tt>Due to the way normal APNG chunks work, it's *arguably*
        already supported - just deliberately use the "wrong" sequence
        numbers ;).<br>
        <br>
        <a moz-do-not-send=3D"true" class=3D"moz-txt-link-freetext"
href=3D"https://wiki.mozilla.org/APNG_Specification#Chunk_Sequence_Number=
s">https://wiki.mozilla.org/APNG_Specification#Chunk_Sequence_Numbers</a>=
<br>
      </tt><br>
      <div class=3D"moz-cite-prefix">On 2017-09-20 04:15 PM, Pavel
        Zlatovratskii wrote:<br>
      </div>
      <blockquote type=3D"cite"
        cite=3D"mid:b633f591-4d17-1ece-9811-821d7007b796-o+MxOtu4lMCHXe+LvDLADg@public.gmane.org">
        <meta content=3D"text/html; charset=3DUTF-8"
          http-equiv=3D"Content-Type">
        <p>If we do new APNG we could do anything we want, but I don't
          think global interlacing is good idea.</p>
        <p>It break too much compatibility and significantly increase
          difference with current APNG (and so complexity of decoder).</p=
>
        <p>I think best way for "new APNG" (which definitely should get
          new name) is be superset of current APNG (with different chunk
          names), so at least some subset of NewAPNG could be converted
          to APNG files without decoding image data, but just with chunk
          repacking.<br>
        </p>
        =C2=A0<br>
        <div class=3D"moz-cite-prefix">20.09.2017 20:18, Soni L. =D0=BF=D0=
=B8=D1=88=D0=B5=D1=82:<br>
        </div>
        <blockquote
          cite=3D"mid:d5597239-0e12-d71e-a6c1-d311caf70b11-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
          type=3D"cite">
          <meta http-equiv=3D"Content-Type" content=3D"text/html;
            charset=3DUTF-8">
          If we do get a new APNG, can we get full image interlacing?<br>
          <br>
          As you know, in APNG, you can do interlacing to make each
          frame visible faster at a lower resolution, but EACH FRAME
          ONLY. The idea with full interlacing is that you'd interlace
          IDAT and fdAT, such that you can quickly load the whole APNG
          animation (at a lower resolution), and slowly get it up to
          high-res by loading the following chunks.<br>
          <br>
          <div class=3D"moz-cite-prefix">On 2017-09-20 12:30 PM, Pavel
            Zlatovratskii wrote:<br>
          </div>
          <blockquote type=3D"cite"
            cite=3D"mid:ab199da1-004a-5f1c-843a-4f3dda06b755-o+MxOtu4lMCHXe+LvDLADg@public.gmane.org">
            <meta content=3D"text/html; charset=3DUTF-8"
              http-equiv=3D"Content-Type">
            <p>I don't think approval of APNG could be any use for now.
              It was important in 2007 to motivate browsers (and other
              software) support it. But today it is already have pretty
              wide support as you describe, so I see no reason to not
              left it as Mozilla's "side-standard". <br>
            </p>
            <p>May be it's possible to design some new animation PNG
              based on APNG and make it standard. Like SPDY and HTTP/2:
              Google design and spread SPDY, but SDPY is now left as
              SPDY, not became HTTP2.0 nor was approved by IETF HTTP WG.<=
br>
            </p>
            <p>There is also a little problem with official APNG same as
              Mozilla APNG: current decoders may not able to handle
              approved aCTL chunk as it is supposed to handle private
              acTL chunk. So without any benefit for aCTL it may be
              never spread.<br>
            </p>
            <div class=3D"moz-cite-prefix">15.09.2017 2:09, Chris Lilley
              =D0=BF=D0=B8=D1=88=D0=B5=D1=82:<br>
            </div>
            <blockquote
              cite=3D"mid:fa3adedb-5d2c-c892-4ae4-ef928270e542-Pl0VvzL1eo4@public.gmane.org"
              type=3D"cite">
              <meta http-equiv=3D"content-type" content=3D"text/html;
                charset=3DUTF-8">
              My reason for re-opening discussion is the "implementation
              and testing" part. APNG has since become widespread.
              Compared to animated GIF, it offers 24bit (and 48bit!)
              colors rather than 256, and full transparency rather than
              binary opacity.<br>
              <p>Regardless of what we may think about the reduced
                capabilities relative to MNG, or the advisability of
                re-using an image type for animations, this is the
                current state of the world and it seems sub-optimal to
                me that the PNG specification and extensions documents
                continue to not reflect this. I would like therefore to
                kick off informal discussion, then a formal discussion
                period and (re)vote.<br>
              </p>
              <p>APNG continues to be supported in Mozilla Firefox (and
                other apps using the Gecko rendering engine), starting
                from version 3, June 2008.</p>
              <p>APNG is supported by Safari (and other apps using the
                WebKit rendering engine) since version 8, October 2014.<b=
r>
              </p>
              <p>In addition, native apps on MacOS X and iOS use native
                support for APNG, since iOS 10 and OS X Yosemite,
                October 2014.</p>
              <p>APNG is now supported by Google Chrome (and other apps
                using the Blink rendering engine, such as Opera and
                Samsung Internet), starting from version 59, June 2017.</=
p>
              <p>Microsoft Edge does not support APNG, but MS Edge Devs
                stated that this is "under review". Meanwhile, APNG
                displays in Edge as the first frame, which is the
                expected fallback behavior.</p>
              <p>A starter document is attached to facilitate
                discussion.<br>
              </p>
              <pre class=3D"moz-signature" cols=3D"72">--=20
Chris Lilley
@svgeesus
Technical Director @ W3C
W3C Strategy Team, Core Web Design
W3C Architecture &amp; Technology Team, Core Web &amp; Media</pre>
              <br>
              <fieldset class=3D"mimeAttachmentHeader"></fieldset>
              <br>
              <pre wrap=3D"">--------------------------------------------=
----------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! <a class=3D"moz-txt-link-freetext" hre=
f=3D"http://sdm.link/slashdot" moz-do-not-send=3D"true">http://sdm.link/s=
lashdot</a></pre>
              <br>
              <fieldset class=3D"mimeAttachmentHeader"></fieldset>
              <br>
              <pre wrap=3D"">____________________________________________=
___
png-mng-misc mailing list
<a class=3D"moz-txt-link-abbreviated" href=3D"mailto:[email protected]=
ourceforge.net" moz-do-not-send=3D"true">[email protected]=
et</a>
<a class=3D"moz-txt-link-freetext" href=3D"https://lists.sourceforge.net/=
lists/listinfo/png-mng-misc" moz-do-not-send=3D"true">https://lists.sourc=
eforge.net/lists/listinfo/png-mng-misc</a>
</pre>
            </blockquote>
            <br>
            <pre class=3D"moz-signature" cols=3D"72">--=20
Have a nice DOS.

Pavel Zlatovratskii <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:=
scondo-JGs/[email protected]" moz-do-not-send=3D"true">scondo-JGs/[email protected]</a>; <a class=3D"=
moz-txt-link-abbreviated" href=3D"mailto:[email protected]" moz-do-not-sen=
d=3D"true">[email protected]</a>
</pre>
            <br>
            <fieldset class=3D"mimeAttachmentHeader"></fieldset>
            <br>
            <pre wrap=3D"">----------------------------------------------=
--------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! <a moz-do-not-send=3D"true" class=3D"m=
oz-txt-link-freetext" href=3D"http://sdm.link/slashdot">http://sdm.link/s=
lashdot</a></pre>
            <br>
            <fieldset class=3D"mimeAttachmentHeader"></fieldset>
            <br>
            <pre wrap=3D"">______________________________________________=
_
png-mng-misc mailing list
<a moz-do-not-send=3D"true" class=3D"moz-txt-link-abbreviated" href=3D"ma=
ilto:[email protected]">[email protected]=
et</a>
<a moz-do-not-send=3D"true" class=3D"moz-txt-link-freetext" href=3D"https=
://lists.sourceforge.net/lists/listinfo/png-mng-misc">https://lists.sourc=
eforge.net/lists/listinfo/png-mng-misc</a>
</pre>
          </blockquote>
          <br>
          <br>
          <fieldset class=3D"mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap=3D"">------------------------------------------------=
------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! <a class=3D"moz-txt-link-freetext" hre=
f=3D"http://sdm.link/slashdot" moz-do-not-send=3D"true">http://sdm.link/s=
lashdot</a></pre>
          <br>
          <fieldset class=3D"mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap=3D"">_______________________________________________
png-mng-misc mailing list
<a class=3D"moz-txt-link-abbreviated" href=3D"mailto:[email protected]=
ourceforge.net" moz-do-not-send=3D"true">[email protected]=
et</a>
<a class=3D"moz-txt-link-freetext" href=3D"https://lists.sourceforge.net/=
lists/listinfo/png-mng-misc" moz-do-not-send=3D"true">https://lists.sourc=
eforge.net/lists/listinfo/png-mng-misc</a>
</pre>
        </blockquote>
        <br>
        <pre class=3D"moz-signature" cols=3D"72">--=20
Have a nice DOS.

Pavel Zlatovratskii <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:=
scondo-JGs/[email protected]" moz-do-not-send=3D"true">scondo-JGs/[email protected]</a>; <a class=3D"=
moz-txt-link-abbreviated" href=3D"mailto:[email protected]" moz-do-not-sen=
d=3D"true">[email protected]</a>
</pre>
        <br>
        <fieldset class=3D"mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap=3D"">--------------------------------------------------=
----------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! <a moz-do-not-send=3D"true" class=3D"m=
oz-txt-link-freetext" href=3D"http://sdm.link/slashdot">http://sdm.link/s=
lashdot</a></pre>
        <br>
        <fieldset class=3D"mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap=3D"">_______________________________________________
png-mng-misc mailing list
<a moz-do-not-send=3D"true" class=3D"moz-txt-link-abbreviated" href=3D"ma=
ilto:[email protected]">[email protected]=
et</a>
<a moz-do-not-send=3D"true" class=3D"moz-txt-link-freetext" href=3D"https=
://lists.sourceforge.net/lists/listinfo/png-mng-misc">https://lists.sourc=
eforge.net/lists/listinfo/png-mng-misc</a>
</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class=3D"mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap=3D"">----------------------------------------------------=
--------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! <a class=3D"moz-txt-link-freetext" hre=
f=3D"http://sdm.link/slashdot">http://sdm.link/slashdot</a></pre>
      <br>
      <fieldset class=3D"mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap=3D"">_______________________________________________
png-mng-misc mailing list
<a class=3D"moz-txt-link-abbreviated" href=3D"mailto:[email protected]=
ourceforge.net">[email protected]</a>
<a class=3D"moz-txt-link-freetext" href=3D"https://lists.sourceforge.net/=
lists/listinfo/png-mng-misc">https://lists.sourceforge.net/lists/listinfo=
/png-mng-misc</a>
</pre>
    </blockquote>
    <br>
    <pre class=3D"moz-signature" cols=3D"72">--=20
Have a nice DOS.

Pavel Zlatovratskii <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:=
scondo-JGs/[email protected]">scondo-JGs/[email protected]</a>; <a class=3D"moz-txt-link-abbreviated"=
 href=3D"mailto:[email protected]">[email protected]</a>
</pre>
  </body>
</html>

--------------DF63399C56AC36CD61FA1000--


--===============0933040428700152539==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
--===============0933040428700152539==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
png-mng-misc mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/png-mng-misc

--===============0933040428700152539==--