Tuesday, 5 June 2012

Tierischer Zungenkuss


Last weekend we spend a wonderful time in the Netherlands as guests with some new found friends.

While my fiancée spent her time looking at and for rabbits I made a few picture and this 3D video of our hosts' young calves.

Many thanks to Janneke !

Links

Angora konijnen van Janneke
Une Cerise au potager

Monday, 4 June 2012

Clive Barker's Imajica

Clive Barker is one the better known writers of fantasy, specifically of a subgenre that I would like to call body fantasy as it shares with body horror its preoccupation with the human body, not necessarily in a destructive or degenerative way though that is one part of it. Hence some of his work is commonly classified under horror.

Imajica

It's been a while now that I wanted to read some of his works so a couple of years ago I bought several of his novels, Galilee, Sacrament, and Imajica. As the story of Imajica seemed to be the most-accessible to me out of the three books I started reading it. But somehow I didn't get past page 30, maybe…

But about a month I have been in search for some book that would allow me to completely leave behind the reality the way Neil Gaiman's American Gods or The Tales of Mithgar have done lately. And my eyes fell on the 1991 novel by Clive Barker. So I picked it up again and started… again.

While it has little consequence in the book itself, its title - Imajica - is quite appropriate as the novel is a very imaginative tale of a man on the quest to find himself. To achieve this goal he goes to hardly imaginable lengths including leaving our world literally behind himself.

Trying to give an indication of what can be found in this book would inevitably spoil the pleasure in reading the novel as discovering the man and the places he travels with him made up a lot of the pleasure. Suffice to say that Barker gives an interesting interpretation of magicians of the Faustian kind. While some critics have called this novel an erotic one I rather feel that they mix up two very distinct ideas. Imajica is deeply rooted in what I have previously called body fantasy and as such features many graphic description of physical destruction, very strange body structures, and very human bodily actions and reactions. At the same time it is about love in all its forms. Most people are driven by different forms of love or, at least, desire. In this aspect the novel becomes a very romantic one.

As before it took a few dozen pages before I got hooked on the story but once hooked I found it difficult stopping to read. The last fifty pages I tried to read as fast as I could to get to the end of it, to understand, but in my haste I guess I missed something because I am left with many open questions, on why some things turned out the way they did, on why some people did the things they did, to what end. So I guess I'll have no choice to re-read at least the final hundred (out of about 840) pages, this time taking the time to let the words sink in properly. After all, the book felt like it provided the answers but that you need to read it carefully to grasp the meaning of it…

To summarize the reading experience, it's very worthwhile but will take some time to finish and understand it. Which makes it a very good book, I guess.

You can buy it at Amazon…

Jaime Heras' The Very Best 1990-2010

Jaime Heras

Jaime Heras is a self-taught musician from Murcia in Spain. He's making music for quite some time now so it was time for compilation collecting works from twenty years.

The Very Best 1990-2010

The Very Best features twenty tracks, more than the half of which were edited or remade. The music range extends between new age, modern classical and electronic ambient. Jaime Heras is the sole composer and performer of all music, safe for a handful of tracks on which PeerGynt LoboGris plays the guitar as a guest musician.

I must admit that I prefer his electronic ambient tracks much more than his (apparently) older new age songs.

Depending on your musical preferences you may share my point of view that this album is great as an introduction but likely to be replaced by the actual album releases (some of which I will present you in the future).

The music has been released by Free Ear Music under a Creative Commons license.

Download at the Internet Archive

Tuesday, 10 April 2012

Hackers and Alternatives

Today I want to share two links that in my mind have a lot in common.

Richard Stallman may have had a few lowbrow ideas - like the Free Software Song - but generally he's on the right track, I think...

In part thanks to him there's a strong connection between the ideas of open source and hacking which still leads a lot of people to think that open source applications are a security risk (and not fit for use in corporate business but that's another story).

Here's what Richard has to say about it:


(Source: On Hacking - Richard Stallman)

The basic idea of hacking is thus to provide an alternative - whether useful or not is a secondary question. Secondary because you never know when someone else will take up your hack and make something useful out of it.

You can always try to find alternatives to some software yourself, by roaming sites like SourceForge, Google Code, CodePlex or many other open source software hosting facilities - or you let someone else do it for you.

Recently - as in today - I stumbled upon alternativeTo to give me alternatives. Maybe you'll try it too and get back to me with your opinion.

Monday, 9 April 2012

Engelteck-7

I wish this Italian artist would create more music as he had done on Jupiter back in 2009.

Simple yet no too much, instrumental but I don't miss the vocals anyways, pretty much old school in his approach to electronic body music.

Just have a listen and download it - it's free.

Saturday, 26 November 2011

Upscaling Video

Upscaling Video: What Is It

Upscaling is the technique to increase the image resolution without recourse to an actual source of higher definition. Any video sequence will be upscaled for display on a screen with higher resolution than the video itself. Upscaling a video to be encoded will give control over the automated upscaling done by the output devices (television sets or computer monitors). Unless a video has the exact resolution defined as standard for a given output device, the video will always be rescaled. Thus (proper) upscaling will increase the image quality on a high-definition screen while not reasonably change its quality on a standard-definition screen. Yet there is a downside: a higher resolution means more pixels per image that may or may not increase the bitrate required for optimal compression.
In short, the increase in quality generally (as in: for most people) does not justify the increase in file size and the additional time spent on preparing and doing the encoding. But you may think it interesting if you are watching low resolution video on a high definition screen.

Proposed Web Solutions

There are few solution proposed on the internet.
Robert Martens has written a whole guide, providing the necessary tools and a his own autoloaded AviSynth script SimpleSlugUpscale but it does little more than deinterlacing and resizing the image. But that it does well!
gyroshot.com - SimpleSlugUpscale

Meanwhile Jean Brünn has made a comparison of AviSynth resizers that are commonly used for upscaling videos. Winner in his little test was tritical's NNEDI filter. NNEDI apparently stands for something like neural network edge directed interpolation.
Upscaling in Avisynth – Comparison of Resizers
tritical's AviSynth Filters

Upscaling a Progressive Video

Here is my proposed solution for a video with progressive scan. Progressive scan is today often used on Blu-ray or PAL DVD video. Obviously not deinterlacing, that is reverting interlaced video to progressive scan, is required on this sort of material. Robert Martens' SimpleSlugUpscale and tritical's series of edge directed interpolation filters were created for deinterlacing and upscaling. But NNEDI3 has a special function that does just the upscaling of the image and that's what I'm going to use.

To give you the basic idea, here's an outline of my approach. AviSynth is a frameserver program acting as a non-linear video editor. It does not have a GUI but is controlled by scripts written in the AviSynth scripting language. It is inasmuch a frameserver that any program able to open AviSynth scripts will actually see an uncompressed AVI file. But reduce the workload on the computer VirtualDub can be used to actually create a real AVI file before continuing processing the video. To reduce the filesize a bit, I will use Lagarith for lossless video compression.
The AviSynth script will load the source video, do some pre-processing before converting it into the YV12 color space needed by most AviSynth filters like NNEDI or WarpSharp. NNEDI will do the major upscaling before cropping, sharpening, and resizing it. VirtualDub then will encode the script.

List of the Tools

AviSynth 2.6.0 (still in alpha release)
AviSynth MT 2.6
VirtualDub 1.10.1 (experimental build)
If either version does not work or crash, use the stable releases 2.5.8 and 1.9.11, respectively. To install the MT package (adding multithreading capabilities to AviSynth) follow the instruction that come with the archive (in case you use the stable version of AviSynth you'll need the proper MT package).
Lagarith Lossless Video Codec 1.3.26
Next are the necessary filters that are not included in AviSynth:
DeDot and Checkmate are optional for the pre-processing in case you have older video transfers that may reduce rainbows, dots and dotcrawl.
nnedi3 and WarpSharp are doing most of the work, though the sharpening filter is optional, both in its use and in its choice.
Since sharpening the image may also increase some unwanted grain, I'll apply a denoiser, the VagueDenoiser.

The AviSynth Script

Turning on multithreading for the script must come as the first line:
SetMTmode(5,0)
After loading your video you may do the pre-processing (and you'll speed up multithreading):
SetMTmode(2)
Checkmate()
DeDot()
ConvertToYV12()

Next is NNEDI3. I have included most options even if I use on some the default so that I could have left them out.
nnedi3_rpow2(rfactor=4, nsize=3, nns=4, qual=2, etype=1, pscrn=4, threads=0, opt=0, fapprox=0)
Next I do the cropping. Why now and not before? It basically depends on the source material. Older transfers have often black bars all around that are relics of the scanning. They are not necessarily straight vertical and horizontal bars so it is better to see where they actually are. Modern digital video usually does not have that kind of bars unless it is letter- or pillar-boxed. In this case the cropping should be done before the upscaling.
Crop(1, 2, -3, -4)
The values will depend on your source video and is in the order 1=left, 2=top, 3=right and 4=bottom. They are always integers.
After that comes the sharpening and denoising. I have used the default setting on WarpSharp but actually you can pump it up quite high.
VagueDenoiser(threshold=2, method=1, nsteps=6, chromaT=2.0)
WarpSharp(depth=300, blur=100, bump=128)
VagueDenoiser(threshold=2, method=1, nsteps=6, chromaT=2.0)

Yes, I use the denoiser twice. Once to denoise the source material and then to smooth out side effects of the sharpener.
And finally the resizing to the target screen resolution.
Spline64Resize(960, 720)
But why use Spline64Resize, you might ask. Well, NNEDI only upscales to an enlargement factor that has a value between 2 and 1024 and has to be a power of 2. The target resizing is done by the internal resize filters of AviSynth and of those Spline64Resize appears to be the best. But so that it works best, I will enlarge the original image to something quite larger than my target resolution so that the resizing is actually a downscaling.
The script will be excruciatingly slow (about one frame each two-and-a-half seconds on my Windows XP with 3GB RAM on an Intel Duo at 3 GHz) but you'll have upscaled your video and improved sharpness a bit. Most usual sharpeners will fail, while sharpeners using warp technology can easily distort your image. You may increase speed by reducing NNEDI's enlargement factor rfactor to 2 and reduce WarpSharp's depth and blurring but you will most likely increase speed at the cost of increasing warping the image. Multithreading has increased the frame rate by maybe 60 per-cent.

Finalizing

After creating the script you will load it with VirtualDub. To limit any further conversion you will set in the Video menu the Color Depth to "Autoselect" for decompression and "Same as decompression format" for compression. And in Compression you chose Lagarith as your codec and configure it to "Use Multithreading" and "Prevent Upsampling When Decoding". The resulting video file will not play on most video players, including VLC or Media Player Classic, but still can be loaded into AviSynth using AviSource. If playback is an issue, try unchecking "Prevent Upsampling When Decoding" or use another codec (or no compression at all, though that will increase the filesize).

Conclusion

This script is definitely not for your everyday needs. Its speed is so slow that you have to think twice. In many situation you may want to leave out the sharpening effect or even just use a Spline resize (there exists nowadays a plugin for AviSynth that use 10 or even 12 sample points instead of the 8 used by Spline64Resize).
Above all this script is a play to see how far upscaling can be taken. If you know of a way to achieve an even better upscaling with improved sharpness while limiting or even removing any warp effect, let me know!

Saturday, 17 September 2011

Une Cerise au potager

As usual - long wait, no see…

But now for something completely different.

A long while ago I was asked to do a website. Since I am working, and maybe due to some lack of energy, it took me some time to get it done.

But now it's ready. It's a French website on breeding English and German Angoras rabbits. There is still something to do (and a website is never finished but ready to be published and polished and updated later on) but we felt okay to go public.

So here it is…

Un Cerise au potager .:. www.rosebrossut.fr

Website Mainpage Screenshot