Palette thomson 4096 Couleurs

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
z80¯\_(ツ)_/¯
Messages : 77
Inscription : 06 oct. 2020 13:15
Localisation : Bourgogne

Re: Palette thomson 4096 Couleurs

Message par z80¯\_(ツ)_/¯ »

Je viens d'intégrer le wu color quantizer. La sélection de palette 16 couleurs est bien meilleure qu'avec l'octree sur PC :

Image

Lorsque je passe l'image sur DCMOTO, les couleurs s'éclaircissent. J'ai pourtant essayé de reprendre la table de correspondance vue dans le code lua de grafx.

Code : Tout sélectionner

static int thomson_level_pc[16] = { 0, 100, 127, 142, 163, 179, 191, 203, 215, 223, 231, 239, 243, 247, 251, 255 };
Ce qui donne:

Image

Avec cette palette:

Image


Pour référence, le programme basic du post de __sam__ :

Image

Et sa palette associée :

Image
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Palette thomson 4096 Couleurs

Message par __sam__ »

Oui c'est la version BASIC de l'image avec la palette "dawnbringer16" ci-dessus. C'est une palette indépendante de l'image qui a une certaine cohérence. J'ai travaillé dessus là-bas.

L'encodage c'est un truc genre

Code : Tout sélectionner

((longueur-du-trait - 1)*16 + couleur-du-trait)*(couleur-fond ? -1 : 1)
Tu as bien deviné. C'est compact mais super super lent. Et encore dans sens vertical on bénéficie d'une longueur bien souvent plus grande que 1 et donc en avance par 2 ou 3 pixels en moyenne. Si on faisait ca horizontalement, la couleur change à chaque pixel et donc on ne fait que des sauts de 1 pixel en moyenne. C'est long, mais c'est ce que j'ai utilisé dans mes voeux de 2020.

Je trouve super l'image ci-dessus:
Image

Sauf que le noir n'est pas noir (mauvais gamma ?). Est-ce normal ? Moi je fais les octtree et autres dans l'espace sRGB linéaire pour annuler le gamma. On évite l'aspect "trop claire" de la palette. De même je réalise le tramage dans ce même espace pour que le mélange des couleurs soit fidèle. Bref en gros, l'image initiale et la palette thomson sont ramenés dans l'espace sRGB linéaire (utiliser les formules avec la puissance 2.4) avant d'appliquer la réduction de couleur ou les transformations.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
z80¯\_(ツ)_/¯
Messages : 77
Inscription : 06 oct. 2020 13:15
Localisation : Bourgogne

Re: Palette thomson 4096 Couleurs

Message par z80¯\_(ツ)_/¯ »

Avatar de l’utilisateur
z80¯\_(ツ)_/¯
Messages : 77
Inscription : 06 oct. 2020 13:15
Localisation : Bourgogne

Re: Palette thomson 4096 Couleurs

Message par z80¯\_(ツ)_/¯ »

Bonjour,

Un point d'avancement sur mon programme de conversion graphique Thomson.
On m'en avait déjà parlé, mais je n'avais pas tilté sur le fichier MAP thomson.
Je suis tombé un peu par hasard sur la spécification du format : http://collection.thomson.free.fr/code/ ... XI=0&XJ=13

Et j'ai commencé à implémenter l'enregistrement dans ce format. Il y encore des bugs mais ça commence à fonctionner.
Et surtout c'est très rapide par rapport à l'équivalent basic.



Avant de publier le code, je dois le rendre plus présentable.

Bonne journée.
Dernière modification par z80¯\_(ツ)_/¯ le 16 mai 2021 22:06, modifié 1 fois.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Palette thomson 4096 Couleurs

Message par __sam__ »

Le format MAP est un standard chez Thomson. Il était produit originellement par Colorpaint je crois, et depuis des extensions diverses et variées sont apparues (PPM, TOSNAP, etc) pour embarquer une palette ou une résolution propre aux machines de 2ème génération. C'est rapide à afficher en basic car c'est supporté par le basic de 2ème génération. Par contre avec le basic 1, on ne peut pas les afficher facilement et rapidement. L'extension TOSNAP est celle qui prédomine largement.

Dans mon outil UTOPIC tu as un algo de compression qui est relativement efficace, rapide et (j'espère) lisible: https://github.com/Samuel-DEVULDER/UToP ... n.lua#L135
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
z80¯\_(ツ)_/¯
Messages : 77
Inscription : 06 oct. 2020 13:15
Localisation : Bourgogne

Re: Palette thomson 4096 Couleurs

Message par z80¯\_(ツ)_/¯ »

Bonjour,

Une première version est disponible ici:
https://github.com/rodolphe74/teojpg
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Palette thomson 4096 Couleurs

Message par __sam__ »

Cool 8)
ImageImage
C'est marrant j'ai pas tout à fait le même résultat pour Kenny (moins de jaune dans l'anorak), et ca me semble moins fidèle:
Avec UToPic avec diffusion d'erreur (ostro_mo5)
Avec UToPic avec diffusion d'erreur (ostro_mo5)
kenny.gif (6.9 Kio) Consulté 3607 fois
Mais comme les couleurs de Kenny sont homogènes, pourquoi le pas faire aucune diffusion d'erreur ?
Avec UToPic sans diffusion d'erreur (none_mo5)
Avec UToPic sans diffusion d'erreur (none_mo5)
kenny2.gif (3.67 Kio) Consulté 3607 fois
Voire avec un tramage régulier
Avec UToPic et tramage régulier (bayer4_mo5)
Avec UToPic et tramage régulier (bayer4_mo5)
kenny3.gif (4.78 Kio) Consulté 3607 fois
Dernière modification par __sam__ le 21 mai 2021 11:06, modifié 1 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Palette thomson 4096 Couleurs

Message par __sam__ »

Et avec seulement les 8 couleurs du TO7/70 ca me semble même mieux qu'avec la palette du MO5 (ca bave moins):
UtoPic (ostro_to7)
UtoPic (ostro_to7)
kenny4.gif (5.48 Kio) Consulté 3602 fois
Source:
Image
Mais le fin du fin est clairement la diffusion d'erreur avec une palette modifiée pour MO6/TO8/9/9+:
UtoPic (ostro_to8)
UtoPic (ostro_to8)
kenny5.gif (8.88 Kio) Consulté 3602 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
DataPro
Messages : 2790
Inscription : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: Palette thomson 4096 Couleurs

Message par DataPro »

Je vais peut-être dire une bêtise, mais sur l'image de Kenny, je ne vois que 3 couleurs soit 5 avec le noir et le blanc... Le Thomson ne pourrait-il pas les afficher en plein ?
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Avatar de l’utilisateur
z80¯\_(ツ)_/¯
Messages : 77
Inscription : 06 oct. 2020 13:15
Localisation : Bourgogne

Re: Palette thomson 4096 Couleurs

Message par z80¯\_(ツ)_/¯ »

On peut limiter les effets de tramage en gardant les tons originaux sur cette image puisqu'elle ne contient pas beaucoup de couleurs.

Un fichier SNAPTO (palette 4096) couleurs chargé dans Grafx :

Image

(J'ai un peu modifié les settings de Grafx pour corriger le gamma).

Je voudrais bien tester UTOPIC mais je ne connais pas bien lua.
Il me semble qu'il est possible de le lancer dans un terminal, mais j'obtiens ceci:

Code : Tout sélectionner

$ lua ostro_to9.lua
lua: ostro_to9.lua:16: attempt to call global 'run' (a nil value)
stack traceback:
        ostro_to9.lua:16: in main chunk
        [C]: ?
Avatar de l’utilisateur
DataPro
Messages : 2790
Inscription : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: Palette thomson 4096 Couleurs

Message par DataPro »

Pour ce type d'image, je trouve cela plus réussi en effet.
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Palette thomson 4096 Couleurs

Message par __sam__ »

z80¯\_(ツ)_/¯ a écrit : 21 mai 2021 13:37 Je voudrais bien tester UTOPIC mais je ne connais pas bien lua.
Il me semble qu'il est possible de le lancer dans un terminal, mais j'obtiens ceci:

Code : Tout sélectionner

$ lua ostro_to9.lua
lua: ostro_to9.lua:16: attempt to call global 'run' (a nil value)
stack traceback:
        ostro_to9.lua:16: in main chunk
        [C]: ?
C'est parce que j'ai pas bien fait mon boulot et que les scripts que tu as datent de cette époque et ne sont pas rendus autonomes de GrafX2 :)

En fait le plus simple pour tester est dans GrafX2 de faire click-droit sur le bouton FX et naviguer et choisir ostro_to9 dans la liste directement. C'est la même procédure que pour PictOric:
Image

Dans tous les cas je trouve que ta palette colle super bien à l'image. Je sais pas pour quelle mystérieuse raison "none_to9" me fait ce truc tout moche avec le fond de cagoule de la mauvaise couleur:
kenny6.gif
kenny6.gif (5.67 Kio) Consulté 3552 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
z80¯\_(ツ)_/¯
Messages : 77
Inscription : 06 oct. 2020 13:15
Localisation : Bourgogne

Re: Palette thomson 4096 Couleurs

Message par z80¯\_(ツ)_/¯ »

Pour la palette, j'ai utilisé le "fast optimal color quantizer" de Xiaolin Wu. Il donne de bons resultats.
https://www.ece.mcmaster.ca/~xwu/

Merci pour les informations et les liens, j'ai de la lecture en perspective.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Palette thomson 4096 Couleurs

Message par __sam__ »

__sam__ a écrit : 21 mai 2021 21:23 Je sais pas pour quelle mystérieuse raison "none_to9" me fait ce truc tout moche avec le fond de cagoule de la mauvaise couleur
Je pense savoir. L'entrée est une image JPG et les à-plat de couleurs ne sont pas uniformes. Ca perturbe l'algo.
(c'est le même algo de WU que j'utilise et que j'ai porté en LUA.)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Répondre