Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Pixeling > This is the Thread for everything NUFLI!
2009-07-19 23:30
DeeKay

Registered: Nov 2002
Posts: 362
This is the Thread for everything NUFLI!

The Era of NUFLI has begun - Bye Bye Interlace!

So what do you guys think? 8)

btw. Until Bitbreaker decides the converter is fit for release, you may send me your pictures and I'll put them through it. No, I won't fix the bugs for you (been doing that for over a hundred hours in the recent months! <:-), you gotta learn your way around the editor eventually if you want that extra edge of perfection - But I will offer some advice on different approaches how to combat teh blockiness or teh color lack, i even prepared some tutorials I will post here later! ;-)

Please do keep in mind that even in NUFLI, you still only have 3 colors horizontally in every char -with one fixed for 6 chars- (5 or 6 in the FLIbug, but that's for all 3 chars!). Considering that IFLI has a maximum of 6 colors in one char, it's quite surprising the pictures in the Slideshow come over so well, but apparently most people don't use IFLIs capabilities to the full extent - and then there's the horizontal PAL colorblur, which means many different colors don't actually make so much sense after all, since you can't distinguish all the colors so well anyway!
 
... 160 posts hidden. Click here to view all posts....
 
2009-07-22 11:21
Carrion

Registered: Feb 2009
Posts: 317
Algarbi:
Maybe it looks easy for the first sight (I also though it'll be easy to fix after the coversion) but belive me the limitations You have with NUFLIs (especialyy Sprite color in my opinion) makes it not so easy work.
Withou help from DK I'd probably stuck with some parts of my images.
Actually most of fixes in my pictures were done by our NUFLI master :)
2009-07-22 13:16
Carrion

Registered: Feb 2009
Posts: 317
OK So here's a example which I think maybe some people were thinking about:
Sorry for different saturations on images but you get the point.

one more saturated is original, second is straight convert without fixing.
enjoy ;)

2009-07-22 13:19
algorithm

Registered: May 2002
Posts: 702

Perceptual Brute force would solve the issue with color selection. The lower the perceptual error, the lower the visible error. Pixels of similar intensity/luma would share the same color freeing the color for a pixel that is different in brightness or luma
2009-07-22 13:31
DeeKay

Registered: Nov 2002
Posts: 362
Algo: Ofcourse we do have luma-weighting in there, do you think we're morons? <:-) the whole thing is computed in YUV, and colors with similar Y are the first to go...

Still, for some reason, the converter still does it sometimes. I think it's a special case in combination with spritecolors or sth...
2009-07-22 14:06
algorithm

Registered: May 2002
Posts: 702
Could just be a bug or how the routine works that is causing the problem.

A brute force routine based on hires with x expanded hires sprite underlay would be something as follows. Using this method. it should solve the problem

spritecol=0
inkcol=0
papercol=0

loop1:

compare inkcol to pixel1 and compare difference
compare papercol to pixel 1 and compare difference
use least different and plot to pixel1 buffer1
compare inkcol to pixel2 and compare difference
compare papercol to pixel 2 and compare difference
use least different and plot to pixel2 buffer1

compare inkcol to pixel1 and compare difference
compare spritecol to pixel 1 and compare difference
use least different and plot to pixel1 buffer2
compare inkcol to pixel2 and compare difference
compare spritecol to pixel 2 and compare difference
use least different and plot to pixel2 buffer2

compare buffer1 and buffer2 to original 2x1 section of c64 16 color image and plot the 2x1 block with least difference to the required area in buffer3

repeat till 8x8 block is complete

compare 8x8 pixel area in buffer3 with 8x8 section of c64 16 color image and note difference

increment papercolor and go to loop1 till papercolor=16
increment ink color and go to loop1 till ink color=16

use ink/paper color that is the least different to original c64 8x8 block and plot to buffer4.

repeat process till all 1000 chars are complete

compare entire image in buffer 4 to c64 16 color image and note error value

increment spritecol by 1 and go to loop1 till spritecol=16

use spritecolor that gives the least error value and then render the image

The above is a very basic example just from the top of my head. ofcourse optimisations can be 10fold. eg no need to have same paper/sprite color as you cant have paper and spritecol together etc etc



2009-07-22 15:17
Jetboy

Registered: Jul 2006
Posts: 213
Wouldnt taking into account all combinations of charcters, sprites and all possible color changes throughout entire image in case of NUFLI make computations long enough to take years for one picture?
2009-07-22 15:38
algorithm

Registered: May 2002
Posts: 702
Not at all. You would only need to work in smaller slices. eg 8x2 rather than 8x8 etc.

The above routine optimised would take a few seconds to complete. The MUCSU routine takes around 20 minutes on a 1.8ghz machine (Brute force) but that goes through every single multicolor sprite combination rather than mono 16.

Ofcourse if you want to involve sprite x shifting, multicolor/hires toggle for individual sprites in specific area's etc to minimize errors et then it would then take an extremely long time
2009-07-22 16:04
doynax
Account closed

Registered: Oct 2004
Posts: 212
Quote: Algo: Ofcourse we do have luma-weighting in there, do you think we're morons? <:-) the whole thing is computed in YUV, and colors with similar Y are the first to go...

Still, for some reason, the converter still does it sometimes. I think it's a special case in combination with spritecolors or sth...


Care you show us (well, me.. ;) the precise formula and coefficients you guys came up with for the RGB (pr0n) images?

I've experimented with fancy color matching methods taking the relative luminance of the channels and gamma correction into account, but no matter how I tweak it a straight RGB mean-square-error comparison always just seems to look better.

I'd love to have a way of automatically generating fades with anything remotely resembling the quality of hand-tweaked tables.
2009-07-22 16:46
Oswald

Registered: Apr 2002
Posts: 5017
p1 goes into HSB space (hue-saturation-brightness)The solution was peeked from Mirage - to give proper credit. then you build your own hue-brightness lookup table by hand, and dither into a gray table if you want to take away saturation.
2009-07-22 17:57
DeeKay

Registered: Nov 2002
Posts: 362
Actually the idea of using different colorspaces (YUV is rather popular, too) and then matching gradients is quite old... That's what the converter does as well when "prepping" a picture. Works quite nicely, let me post an example pic...

Algo: I should tell you from Bitbreaker that he already does what you do, only way more efficiently and sophisticated! ;-)
It's not like he coughed up that converter in one night, there was much much much trial and error involved, for the NUFLI version he even re-did the whole thing to make it colum-based (six picture sprite columns, one AFLI column (40th char), one flibug column) rather than line-based like before!

Depending on the picture, the converter now takes something like a few SECONDS to render it on one Core of my Quad 2.5 GHz G5!...

Conversion-progress:
--------------------
Processing normal colums: Pr0ncessing line #198 on colum 5
Processing colum 39: Pr0ncessing line #198
Processing fli bug: Pr0ncessing line #198 -1 -2 -2 -2
Maxerror per pixel: 255
Overall error: 0.43%
Erroneous pixels 2784
Writing 'train_v1_errormap.bmp'
Writing 'train_v1_result.bmp'
Writing 'train_v1 .nuf'
calc.time: 8.6370s

(This is Carrion's train!)
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 17 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Krill/Plush
Pajda/Faith Design
rambo/Therapy/ Resou..
Jetboy/Elysium
Mike
Andy/AEG
El Gato
Acidchild/Padua
Guests online: 84
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Musicians
1 Vincenzo  (9.8)
2 Rob Hubbard  (9.7)
3 Stinsen  (9.7)
4 Jeroen Tel  (9.6)
5 Linus  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.067 sec.