Aller au contenu

Plugger l'algorithme de vectorisation Kopf-Lischinski de Microsoft dans un émulateur


Déchet(s) recommandé(s)

Moi l'autre jour je me disait que si j'étais meilleur en programmation de jeu, j'essaierais de plugger l'algorythme de vectorisation Kopf-Lischinski de Microsoft dans un émulateur. Ça prendrait une sale machine pour rouler ça mais rien n'empêche que ça se produise. Des implémentations existent en plusieurs langages nottament en Python. Ça rejoins ton sujet, on pourrait profiter de nos télé HD avec des jeux qui ne le sont pas.

t0d0jJ7.png

http://research.microsoft.com/en-us/um/people/kopf/pixelart/

https://github.com/jerith/depixel

Après-ça, rien n'empêcherait de créer le même genre d'algorythme pour "vectoriser" le son (un peu comme un fast-fourier) et en améliorer la qualité drastiquement. C'est le défi de notre génération :)

  • J'aime! 3
Lien vers le commentaire
Partager sur d’autres sites

Moi l'autre jour je me disait que si j'étais meilleur en programmation de jeu, j'essaierais de plugger l'algorythme de vectorisation Kopf-Lischinski de Microsoft dans un émulateur. Ça prendrait une sale machine pour rouler ça mais rien n'empêche que ça se produise. Des implémentations existent en plusieurs langages nottament en Python. Ça rejoins ton sujet, on pourrait profiter de nos télé HD avec des jeux qui ne le sont pas.

t0d0jJ7.png

http://research.micr.../kopf/pixelart/

https://github.com/jerith/depixel

Après-ça, rien n'empêcherait de créer le même genre d'algorythme pour "vectoriser" le son (un peu comme un fast-fourier) et en améliorer la qualité drastiquement. C'est le défi de notre génération :)

En fait il y a déjà ce genre d'algorithmes de vectorisation dans la plupart des émulateurs. (en tk dans open emu j'en ai quelques uns)

Mais le problème avec ça c'est que ça part de la prémisse que les pixel sont laid, quand en réalité ce qui fait que les consoles 8 bits et 16 bits vieillissent si bien c'est que les sprites et la direction artistique a toute été fait en pixel à l'origine pour que ça paraisse bien justement à cette résolution. Les jeux du genre n'ont absolument pas besoin d'être vectorisés pour être regardables.

Super Mario World demeure un très beau jeu.

Le N64 et le playstation, c'est là que ça se gâte vraiment.

  • J'aime! 1
Lien vers le commentaire
Partager sur d’autres sites

En fait, aucun émulateur n'utilises le genre d'algorythme dont j'ai parlé. Tu confonds la vectorisation et le pixel scaling.

Je comprend ton point de vue sur la direction artistique basé sur le pixel mais je ne peux m'empêcher de penser que l'algorythme Kopf-Lischinski offre un résultat vraiment beau. Personellement, sur un gros écran, les coin de pixels me piquent les yeux.

J'ai moi aussi de mauvaises expériences avec le pixel scaling mais la vectorisation semble être une approche beaucoup plus prometteuse.

Original

mana_granpa_nearest_8x.png

Pixel Scaling (bicubic et hq4x)

mana_granpa_bicubic_8x.png

mana_granpa_hq4x_8x.png

Vectorisation

mana_granpa_ours_8x.png

La suite ici : http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/comparison_hq4x.html

Lien vers le commentaire
Partager sur d’autres sites

Il me semble que l'apparence du pixel + les défauts causés par les changements technologiques font partie du charme de l'entreprise, mais bon.

Je trouve que vectoriser le tout de la manière que John présente vient complètement changer l'apparence du jeu en tant que tel... et ça me plaît pas beaucoup. Nearest neighbour est le best, selon moi, tant qu'on respecte les rapports de grandeur entre le jeu original et le mode d'affichage. (Du 4:3, dans le cas de la SNES)

Lien vers le commentaire
Partager sur d’autres sites

Il me semble que l'apparence du pixel + les défauts causés par les changements technologiques font partie du charme de l'entreprise, mais bon.

Je trouve que vectoriser le tout de la manière que John présente vient complètement changer l'apparence du jeu en tant que tel... et ça me plaît pas beaucoup. Nearest neighbour est le best, selon moi, tant qu'on respecte les rapports de grandeur entre le jeu original et le mode d'affichage. (Du 4:3, dans le cas de la SNES)

NN c'est pour les transfos géométriques non? Donc totalement différent de la vectorisation?

Et pourquoi le FFT? C'est pas généralement utilisé pour le traitement de signal (oui l'image est un signal, mais on ne l'utilise pas pour "supprimer les valeurs aberrantes"?)

Je demande, ça doit bien faire 7-8 ans que j'ai pas touché à ça...

Lien vers le commentaire
Partager sur d’autres sites

NN c'est pour les transfos géométriques non? Donc totalement différent de la vectorisation?

Et pourquoi le FFT? C'est pas généralement utilisé pour le traitement de signal (oui l'image est un signal, mais on ne l'utilise pas pour "supprimer les valeurs aberrantes"?)

Je demande, ça doit bien faire 7-8 ans que j'ai pas touché à ça...

Je suis aller voir par curiosité il semblerait qu'on puisse utiliser la transformée pour faire du oversampling, et principalement pour convertir un signal analog en digital. L'oversampling c'est lorsqu'on double le nombre de fenêtre d'une donnée audio et video pour avoir une meilleur définition, en audio ça permet de s’assurer que le phénomène de l’antialiasing se produise dans des fréquences trop haute pour être entendu par l'oreille humaine.

  • J'aime! 1
Lien vers le commentaire
Partager sur d’autres sites

Je suis aller voir par curiosité il semblerait qu'on puisse utiliser la transformée pour faire du oversampling, et principalement pour convertir un signal analog en digital. L'oversampling c'est lorsqu'on double le nombre de fenêtre d'une donnée audio et video pour avoir une meilleur définition, en audio ça permet de s’assurer que le phénomène de l’antialiasing se produise dans des fréquences trop haute pour être entendu par l'oreille humaine.

C'est bien ce que je me rappelais, mais en image le FFT (ou DFT ou tout FT), est-il utilisé pour la correction d'images? Genre: j'ai fait des transformations géométriques (disons un très gros agrandissement), qui est calculé par un autre algorithme, mais le FT passé dessus permettrait d'améliorer l'image en remplaçant les valeurs trop écartées (par exemple un point de l'image dont la couleur ne correspond pas à son entourage voit sa couleur modifiée pour y correspondre)? C'est un filtre pour les valeurs aberrantes dans un espace donné?

Si c'est le cas il n'y a aucun rapport avec la vectorisation, ça permet seulement d'améliorer le rendu visuel...

Lien vers le commentaire
Partager sur d’autres sites

C'est bien ce que je me rappelais, mais en image le FFT (ou DFT ou tout FT), est-il utilisé pour la correction d'images? Genre: j'ai fait des transformations géométriques (disons un très gros agrandissement), qui est calculé par un autre algorithme, mais le FT passé dessus permettrait d'améliorer l'image en remplaçant les valeurs trop écartées (par exemple un point de l'image dont la couleur ne correspond pas à son entourage voit sa couleur modifiée pour y correspondre)? C'est un filtre pour les valeurs aberrantes dans un espace donné?

Si c'est le cas il n'y a aucun rapport avec la vectorisation, ça permet seulement d'améliorer le rendu visuel...

Oui c'est sure qu'à la base ce n'est pas le même algo, celui de FFT est utilisé dans plusieurs domaines pour convertir des signaux, oversampler et surement d'autres. Un algorithme qui fait des approximation géométriques pour rendre une image moins carré si on veux, ne s'approcherait pas, par son utilité, de l'algo FFT. Le FFT est plus large il à une utilité dans plusieurs domaine alors que l'autre ne s'applique pas vraiment en audio.

  • J'aime! 1
Lien vers le commentaire
Partager sur d’autres sites

C'est bien ce que je me rappelais, mais en image le FFT (ou DFT ou tout FT), est-il utilisé pour la correction d'images? Genre: j'ai fait des transformations géométriques (disons un très gros agrandissement), qui est calculé par un autre algorithme, mais le FT passé dessus permettrait d'améliorer l'image en remplaçant les valeurs trop écartées (par exemple un point de l'image dont la couleur ne correspond pas à son entourage voit sa couleur modifiée pour y correspondre)? C'est un filtre pour les valeurs aberrantes dans un espace donné?

Si c'est le cas il n'y a aucun rapport avec la vectorisation, ça permet seulement d'améliorer le rendu visuel...

Dans le cours où je suis chargé de laboratoire on utilise le FFT pour corriger les images avec du bruit fréquentielle. Donc, du bruit qui reviens avec un pattern. On transforme l'image dans sa réponse fréquentielle, on passe un masque par dessus et après on fait l'opération inverse pour avoir une image avec moins de bruits (donc plus beau).

Et tu as raison, il y a aucun rapport avec la vectorisation. C'est une technique comme une autre pour améliorer le rendu de l'image.

EDIT: Si je me souviens bien, la NASA utilisait le FFT (ou un dérivé) pour améliorer le feed vidéo qu'ils recevaient à partir de l'espace puisqu'il y avait du bruit fréquentielle. Ceci faisait en sorte que la vidéo était pas mal plus sharp que le vrai feed qu'ils recevaient.

  • J'aime! 1
Lien vers le commentaire
Partager sur d’autres sites

Ok j'avoue que je n'aurais jamais du mettre les mots FFT et vectoriser dans la même phrase parce que ça n'a pas rapport. Je parlais d'améliorer le son 8bit avec un algorythme mais je manque de connaissance en audio et en math.

Lien vers le commentaire
Partager sur d’autres sites

Ok j'avoue que je n'aurais jamais du mettre les mots FFT et vectoriser dans la même phrase parce que ça n'a pas rapport. Je parlais d'améliorer le son 8bit avec un algorythme mais je manque de connaissance en audio et en math.

C'était pas du tout contre toi, seulement quand j'ai vu ces énoncés j'ai posé des questions. Mais le fond de ton affirmation est vraie: on a du pain sur la planche!

Vectoriser du son numérique, est-ce possible en pratique? Est-ce rendre le son numérique "analogique"?

Lien vers le commentaire
Partager sur d’autres sites

Ok j'avoue que je n'aurais jamais du mettre les mots FFT et vectoriser dans la même phrase parce que ça n'a pas rapport. Je parlais d'améliorer le son 8bit avec un algorythme mais je manque de connaissance en audio et en math.

Oh btw, ça s'écrit "Algorithme", avec un "i" et non un "y".

EDIT: Bon, Nouveau Projet m'a devancé, lol.

  • J'aime! 1
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Je veux revenir!
 Partager

×
×
  • Créer...