HD-ifying Riven

Talk about The Starry Expanse Project (aka realRIVEN), Myst, Riven, or anything related.
tobr
Posts: 5
Joined: 30 Jan 2015, 13:54

HD-ifying Riven

Post by tobr »

This should be a good place to show something I've been working on for a while, in the spirit of Starry Expanse: an image upscaling algorithm tweaked specifically to bring out the best in Riven's 608×392 images.

Usually when you scale up images, the choice is pretty much whether you want a pixelated image or a blurry image. There are various algorithms that try to produce a sharper result by inferring additional details from the original image data. I've tried several of the commercially available products on Riven's images, and the results have never been very good - they tend to smooth out the fine single pixel details in the images, and make edges unnaturally smooth and sharp. Beyond the low resolution, Riven's images also present some unique challenges, such as the tiny palettes and heavy dithering. These artifacts get exaggerated when run through the standard upscaling algorithms.

My custom algorithm starts by removing the dithering. The upscaling itself errs on the side of producing a pixelated or noisy result but staying true to the originals, rather than losing important details or producing unnatural smoothness. I've attached some example images below - right click to view full size.
7_gsubelevshafted.400-2x.png
7_gsubelevshafted.400-2x.png (625.17 KiB) Viewed 22925 times
[/url]

319_tislandexterior.2400-2x.png
319_tislandexterior.2400-2x.png (563.02 KiB) Viewed 22925 times
[/url]

397_bislandcrater.5000-2x.png
397_bislandcrater.5000-2x.png (615.38 KiB) Viewed 22925 times
[/url]

21_rrebelvillage_rvw-2x.png
21_rrebelvillage_rvw-2x.png (569.6 KiB) Viewed 22925 times
[/url]

There seems to be a max limit on how much you can attach, so I'll add some side-by-side comparisons in the next post.
Last edited by tobr on 31 Jan 2015, 07:52, edited 2 times in total.
tobr
Posts: 5
Joined: 30 Jan 2015, 13:54

Re: HD-ifying Riven

Post by tobr »

Detailed comparisons with the originals:
comparison-A.png
comparison-A.png (78.62 KiB) Viewed 22924 times
comparison-B.png
comparison-B.png (83.36 KiB) Viewed 22924 times
comparison-C.png
comparison-C.png (103.51 KiB) Viewed 22924 times
comparison-D.png
comparison-D.png (100.47 KiB) Viewed 22924 times
User avatar
Yali
Posts: 82
Joined: 27 Jan 2015, 16:27

Re: HD-ifying Riven

Post by Yali »

Nice! What about using some of the high res Riven screenshots like here:

http://www.mystrevival.com/riven.html

I really want Cyan to get their SGI workstations decrypted so they can re-render all those shots on modern machines in full 1600 resolution.
Image
User avatar
nick
Starry Expanse Developer
Posts: 45
Joined: 21 Jan 2015, 22:18

Re: HD-ifying Riven

Post by nick »

Hey Tobr!

This is fantastic. As you can probably imagine, we spend a lot of time debating over small patches of pixels from the original images, trying to figure out shape, texture or purpose. A tool like this, that can upscale the images in that kind of quality, could potentially be very valuable to us.
User avatar
Gehn's Boot
Posts: 4
Joined: 30 Jan 2015, 23:32

Re: HD-ifying Riven

Post by Gehn's Boot »

There was a guy using a program called "Perfect Resize" a while back to upscale Riven stills as well. Both you guys' results are very impressive. I wonder, is there a way you could upscale the videos with the same quality?
Daikun
Posts: 58
Joined: 26 Jan 2015, 21:28

Re: HD-ifying Riven

Post by Daikun »

Hey Tobr, would you happen to have the original pre-upscaled images from your OP?
Ariatahn
Posts: 6
Joined: 26 Jan 2015, 12:47
Contact:

Re: HD-ifying Riven

Post by Ariatahn »

Hmm... makes me wonder if it would help with the text on the prison door opener:

Image
Dario
Posts: 30
Joined: 28 Jan 2015, 18:40

Re: HD-ifying Riven

Post by Dario »

This looks pretty good , will you create a patch or something like it, so you can actually play Riven with the upscaled graphics ?
tobr
Posts: 5
Joined: 30 Jan 2015, 13:54

Re: HD-ifying Riven

Post by tobr »

Yali wrote:Nice! What about using some of the high res Riven screenshots like here:
Since the algorithm is kind of tweaked to get something acceptable from very detailed, low res input, the results are not as impressive with higher res images.
nick wrote:Hey Tobr!

This is fantastic. As you can probably imagine, we spend a lot of time debating over small patches of pixels from the original images, trying to figure out shape, texture or purpose. A tool like this, that can upscale the images in that kind of quality, could potentially be very valuable to us.
I can see how it could be of use to you! As I'm sure you understand, I would caution against relying too much on the output as some form of "truth", as our brains do a lot smarter image processing for us when we try to interpret the original images. The exception is in low contrast areas with heavy dithering, where it can reveal nuances and structures that were obscured by the dither pattern before. Take this example, a crop from inside the schoolhouse:
comparison-dither.png
comparison-dither.png (177.69 KiB) Viewed 22804 times
You can clearly see the shape of the cracks in the wall and color variations that are quite indistinct in the original. (I'm getting back to you guys on the email, promise)
Ariatahn wrote:Hmm... makes me wonder if it would help with the text on the prison door opener:

Image
Now you're really at the limits of what can be expected from this! ;) I'm not sure this divulges anything you couldn't see before, but here goes:
cell-handle.png
cell-handle.png (132.32 KiB) Viewed 22804 times
Dario wrote:This looks pretty good , will you create a patch or something like it, so you can actually play Riven with the upscaled graphics ?
That would be awesome, but would be a pretty huge project (requiring expertise I don't have). I guess the most likely thing is to do it as a fork of Riven X or similar. Currently it takes some 10-15 seconds to process a single image, so it would probably take about 12 hours just to convert all the images in the game, and I'm not sure how to handle that as part of an install process! The algorithm is not optimized in any way though, and it's not out of the question that it would be possible to make it run in realtime. I'm also not sure what you would do about the video quality, as it would look even worse in comparison...

For kicks, here are some more examples. I kind of cherry picked the first ones I posted, so these might demonstrate some of the issues left to solve.
164_glakegehnevadmclsd.1700-2x.png
164_glakegehnevadmclsd.1700-2x.png (1.67 MiB) Viewed 22804 times
41_ooffice.32-2x.png
41_ooffice.32-2x.png (1.77 MiB) Viewed 22804 times
103_jisjungle.2150-2x.png
103_jisjungle.2150-2x.png (1.95 MiB) Viewed 22804 times
Gorobay
Posts: 7
Joined: 30 Jan 2015, 13:57

Re: HD-ifying Riven

Post by Gorobay »

That cell handle picture is tantalizingly close to readable. Could you HDify some screenshots of the video to get the text from different angles?
Post Reply