我试图根据观察数据样本猜测哪种压缩方案正在编码 14 位图片。相同的算法(具有不同的参数)可能用于压缩有损和无损。
以下是 1624x1080 图片的无损版本的标头数据示例。观察:每个 ff01 包含 4 个 ff02 部分。在无损的情况下,每个 ff02 部分都有一个 ff03 部分。压缩数据的前 32 个字节,就在每个 ff03 标头之后显示 b'...' 下面:
ff01 0013af80 0
ff02 0004e390 0 8 000000
ff03 0004e390 0 020 0003
b'0000000000203ac9468260a5227468805f222b9394520c955401bb7b119bd223'
ff02 0004ee40 1 8 000000
ff03 0004ee40 0 020 0007
b'000000000020394f44420d500a990c6d4124091826b2a102225205b0dd3448da'
ff02 0004ee50 2 8 000000
ff03 0004ee50 0 020 0007
b'00000000002039474c4c62120251158e691d184643522002ba2625002a8a00d4'
ff02 0004ef60 3 8 000000
ff03 0004ef60 0 020 0007
b'00000000002038d30347c8722c369121109530a2dc85440004852e04acc1a200'
for lossy compression, each ff02 parts has 10 ff03 :
ff01 00084fe0 0
ff02 00020328 0 8 000000
ff03 00001918 0 020 0006
b'0000000000203ac318425ef6a542510989082c844a24481516268485b225d0a8'
ff03 00001538 0 020 0003
b'00ef1e8849731d5028b2248b391413212c401b04595d7d65018054ad899137a8'
ff03 000016b0 0 020 0006
b'67ac484c922e025e55034962865cc8168e0b2636db2efa9341cb403a227bea08'
ff03 00001610 0 020 0007
b'01fde185a0795dd7b0d0906d0400e2a1272113c64072af1a0423259919531043'
ff03 00003308 0 080 0005
b'575d1afb5a4fdb3999ac9249a7a724dcdbe6c7ac550a8849158fa42a0a8f3f05'
ff03 000037f8 0 080 0000
b'f65dfb9eddf5ebc65fda716792792f13236f93ab9d0da2a66fe4e37673ecc360'
ff03 00002a10 0 0b0 0004
b'fdc31c95bc733fbcea678e9bdaf96ce7cf19361939cffb935c924eceb35c9cd9'
ff03 00006878 0 0d0 0004
b'faff6f8ff667774f2f87aaf3efb70f0f971dfb93fa4e1ff1e5ddefc3d5aaf4e7'
ff03 00007688 0 0d0 0006
b'ffd370f971feb3d5fb7cf9bd5cbabc5e2f470f7f272ede5efe3cb4de5d3d387c'
ff03 00003408 1 100 0004
b'fffffe50e39d0b80fce7d0be73aa736749784ffef5cdb85765fe99f00e45c238'
ff02 00021928 1 8 000000
ff03 00001af0 0 020 0006
b'000000000020394b00104132249729a435ef6b9ef72443204463319422958ac5'
ff03 00001678 0 020 0005
b'0a6883f1002cd95ea0b644ff25597844d9312c0bcf70c05d7feb07285981cbda'
ff03 00001820 0 020 0006
b'00f93726075a4b4284883e90b12e9a22143f4408b91614214dea400001639382'
ff03 00001740 0 020 0003
b'002de326c64264414fb83118876cb201de47caa376ed291305ee4e1548d8ea64'
ff03 00003690 0 080 0006
b'95e725faa7c12e1993d7e39f3939e35f32d796553992e4cbe96c936536ef3abf'
ff03 00003ca8 0 080 0001
b'33b997a9dff5d57a73a59c7fa4a6d6f32c4d37114ba4fc6755d6f19c0ce76a4e'
ff03 00002d20 0 0b0 0007
b'edb3f1bcb3cb93ee79af1b7c4fbc4deb9e279fae7dd9f59c717533dd79c61834'
ff03 000066f0 0 0d0 0007
b'fffc9ff0d38df31e139d78de0707f0e4e2b85d0b4cb877543a5594dc93a73e6f'
ff03 00008188 0 0d0 0006
b'fff1fd3f43cbe77673be0eddbbbbe9febf97d5e47074e3272e539e926950a293'
ff03 00002f90 1 100 0001
b'fffff11fba78cff627067f8f7fe3f75d7ed9e08e4eff06200c825f8d7abf017f'
ff02 00021878 2 8 000000
ff03 00001ae0 0 020 0003
b'00000000002039450031e3050925ef6bdc42c52086731d22773282408eec6675'
ff03 000016a0 0 020 0001
b'0303a6926222416e0a16ef0f448cc9280244a838795211adef21410902410f44'
ff03 000017f8 0 020 0007
b'0f0847a34b510ea230507509694082b2500e44dc89620fd02f4a9000001676a0'
ff03 00001758 0 020 0007
b'2184092c1524802557c35145ec92e1ad7c278157ec7821524c2068288864c81b'
ff03 00003770 0 080 0000
b'76be79adf829cbc5249e46c6ee554cd61ae93395366d52b855f1727fa8603648'
ff03 00003ba8 0 080 0005
b'cf3ef79fd9f9c5c96f32f19cfce3ccaf5f9e671ecbc56cca052673f3dc438548'
ff03 00002cd8 0 0b0 0005
b'3ff85e2bdf1f0db3caf869d752ef971cb357bf5cf12d278f8f8df33bc5c08b29'
ff03 000072b0 0 0d0 0007
b'93fff0cffa3cbe37667d4de2e7fc77073789e273e7cdecdd72f454f387a2d39c'
ff03 000075f0 0 0d0 0002
b'ffff27f71753e8389ecf87d4e773f4868b924e1d0a53964ace3664c22d2ac14b'
ff03 00002f18 1 100 0007
b'fffffea1cc7fa7711cff0c38d383b85ff38712771fea4fe3a70fb9c705c27e56'
ff02 00021b18 3 8 000000
ff03 00001a28 0 020 0004
b'00000000002038d300018e0c284d871320c61443d8531a5a920944208ce410a8'
ff03 00001628 0 020 0003
b'101a7072049100699b0bf6f07111d1319234c4d1027a301a7b55040e947a7f13'
ff03 000017b0 0 020 0000
b'401a1c148c285383109a5a6a23f96255445880f6729d64256555a40de8070337'
ff03 00001710 0 020 0004
b'091016173981b2c822ac2d19824e284551db0c67f976cecc266924c287c3faae'
ff03 00003770 0 080 0006
b'db26f3691fb0d252f46721e37cf45f07a49f0c4eb24e7037a8f43323a7524909'
ff03 00003c60 0 080 0001
b'65bf936d8f21d725d395d6ab2b6948f2afe569c62308e9a734062c518b18d165'
ff03 00002d60 0 0b0 0001
b'dd5a5368dd995fae79362f4d62d6490a9b7ec9ce79269cee993d242b8bacda78'
ff03 00006f70 0 0d0 0004
b'ff37eddbd7b79efe3f79f0de5f9a9c39f8a759ce1be6e4f05b5dbcf299b2693e'
ff03 00007e50 0 0d0 0002
b'f3ff8e9f0f4efe1edf833f1757074d9dbf17bbacf9f83e2bc386f87a73f17b67'
ff03 00002d18 1 100 0005
b'fffff8d7e1efcddf2a704736fe73fe02725734e45f117f09738783386ce67baf'
它可以是小波(因为 10 个“ff03”子部分用于有损而不是 1 个用于无损)与 Rice 编码(没有像表一样的霍夫曼)?
亲切的问候
劳伦特 (lclevy@free.fr)