Oui c'est bien ce que je soupçonnais, tout dépend de la matrice de tramage. En pratique j'ai un un bol monstrueux que la matrice vac-8 marche bien avec le bug de AND3. D'autres matrices ne rendent pas aussi bien. Méga coup de bol. Et ca explique aussi pourquoi cette matrice 8x8 ne s'applique pas avec un motif sur 3 ligne (les deux périodes sont premières entre elles).__sam__ a écrit :Je crois que le truc se situe dans la matrice de tramage. Je vais y réfléchir et expérimenter. J'ai une petite idée en tête, et il faut voir si elle veut grandir.
Donc j'ai creusé mon idée pour crée une matrice void-and-cluster qui marche bien avec une période de 3. Il faut simplement qu'elle soit un multiple de 3 en hauteur et de largeur sensiblement identique pour avoir des macros-pixels carrés.
Au départ je suis parti sur cette matrice
Code : Tout sélectionner
<threshold map="test1">
<description>diag 3</description>
<levels width="3" height="3" divisor="4">
2 1 3
1 3 2
3 2 1
</levels>
</threshold>
Code : Tout sélectionner
<threshold map="test2">
<description>diag3 + bayer</description>
<levels width="6" height="6" divisor="13">
5 1 9 8 4 12
1 9 5 4 12 8
9 5 1 12 8 4
7 3 11 6 2 10
3 11 7 2 10 6
11 7 3 10 6 2
</levels>
</threshold>
Aussi j'ai réflechi à produire un void-and-cluster adapté aux lignes R V B. C'est à dire que sur chaque ligne de la matrice, la probabilité d'avoir une valeur n sur la ligne i est indépendant de i mod 3. Je veux dire par là que chaque nombre n apparait exactement 3 fois, sur des lignes toutes différentes modulo 3. Exprimé comme ca ca semble difficile de trouver de telles matrices. Cependant j'ai trouvé une méthode de construction qui satisfait cette contrainte tout en étant vraiment aléatoire.
L'idée est de partir de 3 matrices void-and-cluster 9x3 (9 colonnes, 3 lignes) différentes: A=(Aij) B=(Bij) C=(Cij). Ensuite on construit la matrice D=(Dij) où D1j = A1j D2j = B1j D3j = C1j, D4j = A2j D5j=B2j D6j =C2j, D7j=A3j D8j=B3j D9j=C3j
Code : Tout sélectionner
A1,1 .. A1,9
B1,1 .. B1,9
C1,1 .. C1,9
A2,1 .. A2,9
B2,1 .. B2,9
C2,1 .. C2,9
A3,1 .. A3,9
B3,1 .. B3,9
C3,1 .. C3,9
Code : Tout sélectionner
<threshold>
<description>void and cluster entremélé</description>
<levels width="9" height="9" divisor="28">
21 1 20 8 22 13 5 27 12
18 24 6 16 11 25 2 19 7
8 22 13 5 26 12 21 2 20
10 14 26 4 17 9 23 15 3
12 21 1 20 8 22 13 5 26
4 17 9 23 15 3 10 14 27
24 6 16 11 25 2 19 7 18
3 10 14 27 4 17 9 23 15
11 25 1 19 7 18 24 6 16
</levels>
</threshold>
Pour voir ce que ca donne, c'est ici: http://dl.free.fr/nFo5Eeco1
Code : Tout sélectionner
$ for i in *.mp4 *.flv; do echo; perl conv_sd.pl "$i"; done
Daft Hands - Harder, Better, Faster, Stronger.mp4 : 540x360 (4:3)
avg 266x200 frame length = 4676 bytes (96%) @ 225s
zoom = 0.95 -> 252x190 @ 10fps
0:03:44 (0.4x) v=1:0.977 a=(x+0)*1
Daft Punk - Harder Better Faster Stronger.mp4 : 640x360 (16:9)
avg 320x180 frame length = 12148 bytes (251%) @ 225s
zoom = 0.59 -> 188x106 @ 10fps
0:03:43 (0.4x) v=1:0.935 a=(x+0)*1
Eric Prydz - Call on me.mp4 : 640x360 (16:9)
avg 320x180 frame length = 13931 bytes (287%) @ 181s
zoom = 0.55 -> 176x99 @ 10fps
0:03:01 (0.4x) v=1:0.938 a=(x+0)*1
Eric Prydz - Pjanoo.mp4 : 640x358 (16:9)
avg 320x180 frame length = 11884 bytes (245%) @ 189s
zoom = 0.6 -> 190x107 @ 10fps
0:03:08 (0.4x) v=1:0.944 a=(x-29)*1
Indiana Jones Boulder Scene.mp4 : 640x278 (16:9)
avg 320x180 frame length = 4868 bytes (100%) @ 29s
zoom = 0.94 -> 302x170 @ 10fps
0:00:28 (0.5x) v=1:0.889 a=(x-24)*1
Junior Senior - Move Your Feet (Official music video, HD).mp4 : 450x360 (4:3)
avg 266x200 frame length = 10238 bytes (211%) @ 200s
zoom = 0.64 -> 170x128 @ 10fps
0:03:18 (0.4x) v=1:0.922 a=(x-15)*1
Kylie Minogue - Can't Get You Out Of My Head.mp4 : 554x360 (4:3)
avg 266x200 frame length = 12541 bytes (259%) @ 229s
zoom = 0.58 -> 154x116 @ 10fps
0:03:47 (0.4x) v=1:0.941 a=(x-88)*3
Kylie Minogue - Come Into My World [HD].mp4 : 640x360 (16:9)
avg 320x180 frame length = 15630 bytes (323%) @ 260s
zoom = 0.52 -> 166x93 @ 10fps
0:04:18 (0.4x) v=1:0.999 a=(x+0)*1
Kylie Minogue - In Your Eyes.mp4 : 626x360 (16:9)
avg 320x180 frame length = 12899 bytes (266%) @ 198s
zoom = 0.57 -> 183x103 @ 10fps
0:03:17 (0.4x) v=1:0.895 a=(x-92)*4
Kylie Minogue - Love At First Sight.mp4 : 496x360 (4:3)
avg 266x200 frame length = 10532 bytes (217%) @ 237s
zoom = 0.63 -> 168x126 @ 10fps
0:03:56 (0.4x) v=1:0.97 a=(x-84)*3
Kylie Minogue - Spinning Around.mp4 : 640x360 (16:9)
avg 320x180 frame length = 14709 bytes (304%) @ 211s
zoom = 0.54 -> 171x96 @ 10fps
0:03:31 (0.4x) v=1:0.936 a=(x-38)*1
Masoud feat. Aneym - No More (Music video))).mp4 : 640x360 (16:9)
avg 320x180 frame length = 4967 bytes (102%) @ 248s
zoom = 0.92 -> 295x165 @ 10fps
0:04:06 (0.4x) v=1:0.977 a=(x+0)*1
Michael Gray - The Weekend (Official Video).mp4 : 640x360 (16:9)
avg 320x180 frame length = 13961 bytes (288%) @ 192s
zoom = 0.55 -> 176x99 @ 10fps
0:03:10 (0.4x) v=1:0.954 a=(x-73)*2
Star Trek Genesis.mp4 : 480x360 (4:3)
avg 266x200 frame length = 4786 bytes (98%) @ 67s
zoom = 0.94 -> 251x188 @ 10fps
0:01:05 (0.4x) v=1:0.977 a=(x-123)*8
Star Wars A New Hope 1977 Trailer.mp4 : 640x360 (16:9)
avg 320x180 frame length = 10651 bytes (220%) @ 167s
zoom = 0.63 -> 201x113 @ 10fps
0:02:45 (0.4x) v=1:0.909 a=(x-12)*1
Star Wars Episode V - The Empire Strikes Back Trailer.mp4 : 540x360 (4:3)
avg 266x200 frame length = 5422 bytes (112%) @ 195s
zoom = 0.88 -> 234x176 @ 10fps
0:03:15 (0.4x) v=1:0.946 a=(x+0)*1
Star Wars- Return Of The Jedi Trailer (HD).mp4 : 640x360 (16:9)
avg 320x180 frame length = 6292 bytes (130%) @ 133s
zoom = 0.82 -> 262x147 @ 10fps
0:02:11 (0.4x) v=1:0.931 a=(x-12)*1
Star Wars The Force Awakens Special Extended Trailer.mp4 : 1280x720 (16:9)
avg 320x180 frame length = 5595 bytes (115%) @ 149s
zoom = 0.87 -> 278x156 @ 10fps
0:02:28 (0.4x) v=1:0.914 a=(x+0)*1
THE ABYSS - Trailer ( 1989 ).mp4 : 540x360 (4:3)
avg 266x200 frame length = 4713 bytes (97%) @ 175s
zoom = 0.95 -> 252x189 @ 10fps
0:02:57 (0.4x) v=1:0.937 a=(x+0)*1
Dire Straits - Sultans Of Swing.flv : 320x240 (4:3)
avg 266x200 frame length = 9004 bytes (186%) @ 268s
zoom = 0.68 -> 182x136 @ 10fps
0:04:26 (0.4x) v=1:0.945 a=(x-102)*5
Georges Brassens Bobino 1972 08 Les amours d'antan.flv : 318x240 (4:3)
avg 266x200 frame length = 7476 bytes (154%) @ 200s
zoom = 0.75 -> 200x150 @ 10fps
0:03:18 (0.4x) v=1:0.984 a=(x-1)*1
HollySiz - Come Back To Me [Clip Officiel].flv : 426x240 (16:9)
avg 320x180 frame length = 5653 bytes (116%) @ 179s
zoom = 0.87 -> 276x155 @ 10fps
0:02:58 (0.4x) v=1:0.892 a=(x+0)*1
Quant à la version AND3, ca mouline toujours depuis hier soir.. C'est lent.. mais les démos amiga sont à plus que 10fps, et c'est fort appréciable. Une fois fini je mettrais le lien pour comparaison: <ici> (ou dans un autre message, celui-ci est déjà très long!)
Etape suivante: fait un code C pour aller beaucoup plus vite. Le code C doit pouvoir être capable de générer une version SD noir et blanc, et couleurs compatible AND3 et une autre compatible MOD3.