Logicielsmoto.com
http://www.logicielsmoto.com/phpBB/

Convertion images & photos
http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=383
Page 8 sur 11

Auteur:  Samuel Devulder [ 25 Déc 2016, 19:24 ]
Sujet du message:  Re: Convertion images & photos

Samuel Devulder a écrit:
Portage de mon algo (efficace) de réduction de palette depuis perl vers lua (grafx2). Il est rapide et donne des résultats très corrects
Efficace, oui.. bon résultats, souvent oui. Mais parfois il y a de grosses catastrophes et il loupe des couleurs évidentes. Bref il est instable. Sur certaines images la palette est parfaite, mais en modifiant un chouïa les couleurs, le résultat est nettement moins bon. La qualité de la palette n'est pas proportionnel aux modifications (petites modifs en entrées, grosses modifs en sortie).

Aussi depuis ces dernier temps j'ai cherché et trouvé un algo de réduction de palette bien plus stable tout en restant simple. Il s'agit de l'algo Xiaolin Wu v2 (Xiaolin Wu 1992).
Code:
Greedy orthogonal bipartition of RGB space for variance minimization aided by inclusion-exclusion tricks.
Comme tous les algos de réduction, il loupe les couleurs extrêmes qui sont tirées vers les valeurs moyennes (le noir devient gris-sombre), mais je développe une technique utilisant l'enveloppe convexe et qui compense cet aspect. La mise au point n'est pas encore finie, mais j'espère que durant ces vacances de fin d'année j'aurais un peu de temps pour avoir un truc plus que correct (je veux un algo, simple, qui marche plutôt bien partout, mais surtout qui ne soit jamais complètement à coté de la plaque sur l'ensemble de mon corpus d'images).

... au fait, bon noël à tous :)

Auteur:  Prehisto [ 26 Déc 2016, 00:03 ]
Sujet du message:  Re: Convertion images & photos

Bon Noël à tous aussi :coucou: ... enfin ceux qui restent à l'écoute...

Assez fascinant d'assister à l'évolution de ton programme (presque) au pas-à-pas. Difficile d'en dire quelque chose, j'avoue être plutôt largué. Tout ça est devenu assez pointu. Mais j'imagine que la fidélité de la conversion d'une image est un challenge plus difficile à maîtriser qu'il y paraît. Il y aura (pas toujours, il faut l'espérer) des situations pour le moins exceptionnelles pour lesquelles l'algorithme ne répond pas exactement aux attentes. En espérant que tu n'auras pas à compléter avec trop de traitements particuliers.

Auteur:  Samuel Devulder [ 26 Déc 2016, 09:19 ]
Sujet du message:  Re: Convertion images & photos

Oui merci. C'est vrai que j'aimerais communiquer plus sur les résultats intermédiaires, mais le temps libre est devenu erratique laissant finalement pas grand chose pour préparer un bel article avec capture d'écran montrant les problèmes rencontrés. On va bien voir si les vacances changent un peu la donne.

Concernant les problèmes rencontrés, il y a toujours des solutions à ajouter. Solutions qui s'accumulent; mais au bout de quelque temps l'algo n'est plus qu'une collection de cas particuliers qui interfèrent mutuellement compliquant tout. On comprend alors qu'on a rien compris aux causes profondes de ces multiples cas particuliers car les bons algos sont simples.

Auteur:  Samuel Devulder [ 03 Jan 2017, 16:34 ]
Sujet du message:  Re: Convertion images & photos

Bon les vacances sont terminées.. aussi je livre ici la dernière version des plugin de conversion auquel j'ai abouti jusqu'à présent. On peut enfin produire une image pour
  • TO7 (8 couleurs fixes) avec ostro_to7.lua,
  • MO5 (16 couleurs fixes) avec ostro_mo5.lua), et
  • TO9 (16 couleurs parmi les 4096) avec ostro_to9.lua
tout ca en 320x200 avec conflit de couleur. On peut aussi convertir des images pour TO8 (16 couleurs parmi 4096 en 160x200 sans contraintes) avec ostro_to8.lua.

Pour vous faire une idée voici ce qu'on peut obtenir à partir de:
Fichier(s) joint(s):
Commentaire: Image originale
Untitled picture.jpg
Untitled picture.jpg [ 124.86 Kio | Vu 4163 fois ]

Pour TO9:
Fichier(s) joint(s):
Commentaire: Image pour TO9: 16couls parmi 4096, 320x200 avec contraintes
to9.gif
to9.gif [ 16.65 Kio | Vu 4163 fois ]


Fichiers joints:
Commentaire: Plugin de conversion au format image THOMSON (+ ZX-HIGHRES et ORIC) pour Grafx2.
converters.zip [33.51 Kio]
Téléchargé 184 fois

Auteur:  Samuel Devulder [ 03 Jan 2017, 16:40 ]
Sujet du message:  Re: Convertion images & photos

Sans oublier les autres machines....
Fichier(s) joint(s):
Commentaire: Pour to8 (16 couls/4096, 160x200 sans contraintes)...
to8.gif
to8.gif [ 14.13 Kio | Vu 4163 fois ]
Fichier(s) joint(s):
Commentaire: Pour mo5 (16 couls fixes, 320x200 avec color-clash)...
mo5.gif
mo5.gif [ 10.71 Kio | Vu 4163 fois ]
Fichier(s) joint(s):
Commentaire: Et ce bon vieux TO7 1ère génération avec seulement 8 couleurs et toujours le color-clash.
to7.gif
to7.gif [ 10.56 Kio | Vu 4163 fois ]
L'image ne rend pas spécialement bien pour le MO5 et le TO7, mais c'est pas mal quand même.

Auteur:  Samuel Devulder [ 03 Jan 2017, 16:46 ]
Sujet du message:  Re: Convertion images & photos

La preuve: celle ci rend bien sur MO5 et TO9
Fichier(s) joint(s):
Commentaire: Image source
33ttg8l.jpg
33ttg8l.jpg [ 28.97 Kio | Vu 4163 fois ]
Fichier(s) joint(s):
Commentaire: pour MO5...
mo5.gif
mo5.gif [ 13.11 Kio | Vu 4163 fois ]
Fichier(s) joint(s):
Commentaire: Pour TO7...
to7.gif
to7.gif [ 12.8 Kio | Vu 4163 fois ]

Auteur:  Prehisto [ 04 Jan 2017, 12:13 ]
Sujet du message:  Re: Convertion images & photos

Samuel Devulder a écrit:
La preuve: celle ci rend bien sur MO5 et TO9

Les couleurs sont plus vives, ça aide, et plus proches des couleurs de destination : le rendu dépend aussi du choix de l'image (encore et toujours ;) ). Je ne sais pas combien de temps tu y passes chaque jour, mais tu fais vraiment un travail d'horloger :good:

Auteur:  Samuel Devulder [ 04 Jan 2017, 20:50 ]
Sujet du message:  Re: Convertion images & photos

Apparemment d'après mes proches j'y passe trop de temps :D Il faut dire que verifier plusieurs centaines de photos avec un PC qui mets 3-4min par conversion prends du temps, vraiment beaucoup de temps d'attente. Du coup les gens pensent qu'on ne fait rien, mais c'est tout le contaire, pendant les attentes, on réflechit à une nouvelle formule si celle qu'on essaye s'avérait être mauvaise. Durant les vacances j'ai du essayer une 20aine de formules pour converger sur la solution actuelle je ne sais ne pas être optimale. Il y a des images sur lesquelles on pourrait faire mieux. C'est une quête sans fins. Mais j'aime bien reproduire de belles images :) Quoique là je vais peut-être faire un break. Il ne faut pas abuser des bonnes choses.

Auteur:  Prehisto [ 04 Jan 2017, 21:19 ]
Sujet du message:  Re: Convertion images & photos

Samuel Devulder a écrit:
Du coup les gens pensent qu'on ne fait rien

Je vois ce que tu veux dire ;)

Auteur:  Samuel Devulder [ 21 Mar 2017, 18:44 ]
Sujet du message:  Re: Convertion images & photos

Je viens de mettre à jour les outils de conversion ci-dessus après divers bugfix rencontrés dans la préparation des images pour la Forever 2017. J'en ai profitté pour faire dans le dossier "others" des dérivations pour convertir une image pour ORIC (240x200, mais les 6 premiers pixels sont noirs, 8 couls et clash 6x1) et ZX-HIRES (256x192, 8bright + 8dim sans mix entre les deux, clash 8x1).

Auteur:  PulkoMandy [ 21 Mar 2017, 22:01 ]
Sujet du message:  Re: Convertion images & photos

Du coup j'ai intégré ces scripts dans le dépot git de grafx2. Comme ça ils seront directement disponibles dans la prochaine version. J'essaierai de surveiller les évolutions et de les tenir à jour.

Auteur:  Samuel Devulder [ 21 Mar 2017, 22:25 ]
Sujet du message:  Re: Convertion images & photos

Cool merci. J'espère que je n'ai rien cassé. Je bosse encore sur les résultats en ZX avec le mode 8x1 (hires) de gasman, mais ca donne un résultat intéréssant.
Fichier(s) joint(s):
Commentaire: source
Image7.gif
Image7.gif [ 37.95 Kio | Vu 3957 fois ]
Fichier(s) joint(s):
Commentaire: ZX hires
Image7.png
Image7.png [ 9.08 Kio | Vu 3957 fois ]

Auteur:  Samuel Devulder [ 22 Mar 2017, 00:06 ]
Sujet du message:  Re: Convertion images & photos

J'ai ammélioré la conversion ZX :D

Fichiers joints:
Image7.png
Image7.png [ 9.4 Kio | Vu 3954 fois ]

Auteur:  Samuel Devulder [ 22 Mar 2017, 12:53 ]
Sujet du message:  Re: Convertion images & photos

Le flipping d'écran ZX est quand même très intéressant. Sur TO8 on peut le faire sans problème à moindre cout avec le gate-array d'affichage, mais ce n'est pas forcément utile car la palette est déjà riche. Par contre sur TO7 ca serait cool des couleurs supplémentaires.

Petit calcul: combien de temps faut-il au 6809 pour copier 16000 octets? Typiquement on aura une boucle déroulée constituée de
Code:
  PULS D,X,Y,DP
  PSHU D,X,Y,DP
  LEAU 14,U
soit 7 octets copiés en 2*(5+7)+5=29 cycles, soit 241k/sec. 16000 octets à copier se font alors en 66ms au mieux, soit 3 balayage d'écran. Pfff c'est lent :(

Pour pouvoir travailler en moins de 20ms et faire la compétition avec le canon à electron, il fait réduire par 3 la surface à recopier. Cela revient à travailler sur 57% d'un écran complet, soit 184x115.

Vérification: 184x115 occupent 5290 octets forme+fond. A 7 octets en 29cycles, ca donne 21.9ms. Ca colle. Mais il faurai affiner le calcul car 184/8 n'est pas un multiple de 7.

En fait 184/8 = 3*7 + 2, il faut donc faire
Code:
  PULS D,X,Y,DP
  PSHU D,X,Y,DP
  LEAU 14,U

  PULS D,X,Y,DP
  PSHU D,X,Y,DP
  LEAU 14,U

  PULS D,X,Y,DP
  PSHU D,X,Y,DP
  LEAU 12,U

  LDD ,S   ; 5
  STD ,U   ; 5
  LEAU 21,U
  LEAS 19,S
pour copier une ligne. Si je compte bien ca fait 3*29 + 20=107 cycles à répéter 115 fois = 12ms pour l'écran forme. On voit que ca ne va pas. A cause de l'écran fond il faurait que ce soit moins de 10ms.

Le mieux est sans doute de virer les LDD/STD et donc travailler en 168x103 car alors la copie prend (3*29+10)x103=9.9ms, soit 19.9ms pour RAMA + RAMB. On tient la VBL!

Maintenant 168x103 c'est quand même un vachement petit écran. Enfin l'analyse méritait d'être faite je pense pour fixer les limites du flipping sur TO7.

Auteur:  PulkoMandy [ 22 Mar 2017, 13:19 ]
Sujet du message:  Re: Convertion images & photos

Je ne sais pas si ça suffit de faire rentrer ça dans une VBL. Tu risques que l'affichage de certains pixels se fasse pendant que tu as écrit une des deux pages, mais pas encore l'autre. Il faudrait donc calculer où le (ou les) croisement entre le balayage écran et la copie se produisent, et entrelacer les deux frames en conséquence pour que ça ne se voie pas. Pas impossible, mais pas évident non plus :)

L'alternance de 2 images peut être intéressante aussi sur TO8, pas pour obtenir une palette plus large, mais pour avoir plus de couleurs à l'écran. Avec deux images à chacune une palette de 16 couleurs (toutes différentes), on obtient 256 couleurs à l'écran :cool:
Et comme les palettes peuvent être assez proches l'une de l'autre, ça clignotera pas tant que ça.

Il peut aussi être intéressant d'alterner une image en bitmap 16 et une en 40 colonnes, pour essayer de combiner les avantages des 2 modes.

Page 8 sur 11 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/