(Delicate Arch Sunset, 180º Cinepan Panorama in Widescreen Mode)
Introducing Sagelight Cinepan Player
I am pleased to announce the Sagelight Cinepan Player, a free Windows program that uses the Sagelight Cinepan Perceptual algorithm to gently show amazing, high-resolution panoramas on your desktop, either as a standalone application or elegant screensaver.
For various reasons, I took a break from Sagelight Image Editor development and write the Sagelight Cinepan Player Application/Screensaver. It gave me a creative outlet and a nice break to re-energize for Sagelight development. The Cinepan Player, by itself, was a hefty (but discrete) project, and it allowed me to use a lot of technology and other techniques I developed for Sagelight Image Editor, such as multi-processing code, SSE4, CPU caching, and streamlined multi-threading (not always easy).
Panoramas have an incredible immersion quality (i.e. feels like you are there) to them, and a perceptual algorithm was developed to enhance this effect and to show panoramas as widescreen (when, even at 16×9, the tend to become very distorted on the edges).
Based on an algorithm I wrote a few years ago, my interest was recently renewed in the technology when I showed my previous work to a friend. In short I was astounded (described more below) because of how the technology in the last few years has made the idea of displaying slow moving panoramas corrected in real-time suddenly more compelling and realistic. On my high-contrast 16×9 monitor, it feels like I am looking through a window!
(see Enter Sagelight Cinepan Player below, for more information).
I spent the last 2-3 months working on a revamp of the Cinepan Algorithm, which is a perceptual algorithm (vs. QTVR, etc.) created to enhance the incredible immersion quality with panoramas.
Cinepan Player uses many of the algorithms I wrote for Sagelight Editor, working with multiple CPUs and SSE4 code to bilinearly resize and anti-alias the image in realtime, for each and every frame.
The code was written to multi-thread fluidly, using as little processor time as possible, while taking advantage of the multiple CPU, SSE4, and high-speed memory now in most computers – Cinepan play will still run with older computers, too (see various settings).
note to SSE2-only users: Cinepan Player runs on any computer with SSE2 or above. Please let me know of any problems – it’s sometimes hard to be absolutely sure ALL SSE4 instructions are out of the SSE2 code!
The result is an elegant presentation of immersive panoramas, slowly revealing themselves in the desktop in incredibly high resolution, and without the edges and “jaggies” typical of panoramas moving as slow speed.
Where to Download the Cinepan Player
Download both the CinepanPlayer.exe and CinepanPlayer,pkg file (either the high-resolution or low-resolution package) into any directory you choose and run it – the package will self-extract.
From there, you can turn it into a screensaver by simply copying CinepanPlayer.exe to c:\windows\system32\CinepanPlayer.scr (and then setting it as your screensaver in the Windows Control Panel).
Free, but based on Donations
I am giving Cinepan Player away for free, with no strings attached. I want the Cinepan Player to be an elegant screensaver-type program, and don’t want to put nag screens in it or prompt for donation in the runtime screen.
There is a current release set of 27 Cinepan Images, as well as 3 specialty image (I will make a separate blog post about that, as well).
I have hundreds lined up, but they take anywhere from 1-2 hours to process (due to various issues, as they need to be noise-reduced, color adjusted, and – in many cases – touched up due to visible seams, etc.)
Also, I have many plans for additions, including automatic downloading, wallpaper sets, your own Panoramas, and so-forth, as donations come in.
As with Sagelight Editor, the programming and Cinepan Image creation is very intense. It just took 2 1/2 months to revamp the first version I wrote a few years ago – it actually came out very well, so well, in fact, that it is hard to see the work behind it; the multi-cpu threading (which was very difficult to achieve), the real-time bilinear resizing, and so-forth. And that’s as it should be, because the more elegant the program come out, the more simple it looks!
There’s also the Bandwidth issue, as with a download package of 65 megabytes, my server costs will be high, and any donations will help there, too.
Donations Help Sagelight Image Editor (free version)
I have decided to give away a free version of Sagelight Image Editor – the standard version, without many of the Pro Features. To do this, I need some support, and I am giving away the Cinepan Player to help with the cause.
I will post more when I set up the website.
The following is from the main Help Web Page
See the help page at http://sagelighteditor.com/cinepanplayer – I will set up its own website soon, as donations come in.
An Introduction to Amazing, Immersive Panoramas
I’ve long been fascinated with panoramas. They are great as still images, and even better (in most cases) as moving images. As a 2-dimensional image, the panorama — when viewed through a panorama player that performs a lens correction on every frame, such as QTVR, Cinepan Player, and others — provides an immersion quality feeling just like you are there.
Add to that higher resolution than video, and a gently panning, smooth algorithm, and you have the Cinepan Player. I original developed some pieces of the Cinepan Player a long time ago, and my interest was recently renewed when I realized that the new technology in monitors and computers in the last few years made panoramas even more compelling and interesting.
With 16×9 high-contrast monitors, the feeling like you are really there is much stronger than before. I believe a lot of this has to do with mixing the art of the Still with that of Motion — the motion provides the 3-d experience, and the 2-d still provides the artistry. Much like an impresionist painting, which can draw you in (also with an immersion quality to it) even more than an actual picture, the elegant movement of a panorama can bring you in more than a video.
I’ve put a particular emphasis on non-360 degree videos (Cinepan Player works with both types), as there are 10 times (or more) many great non-360 degree panoramas than there are full-360-degree ones out there. This is discussed more below.
Higher Resolution than a Video
The reason panoramas can draw us in is two-fold. Not only do we have the artists view of the world with the still picture, leaving or imagination to fill in the gaps in our own way, but the panoramas provided with the Cinepan Player are much higher resolution than a video. I have provided two examples via Youtube, but the quality difference is really amazing.
The slow movement of the panorama with the artistry of the image itself provides an amazing you-are-there quality that has to be experienced.
Sagelight Cinepan Player
Sagelight Cinepan Player is the result of my fascination with showing art from other artists (as well as my own), and the idea of creating artistic works involving technology. In this case, it is the art of the still mixed with motion on your monitor, elegantly and slowly panning across the screen, showing breathtaking views as the panorama is slowly revealed.
Working on the Cinepan Player has been a great project over the last few months, and has allowed me to flex some programming muscle, as well as use many of the high-end (SSE4, multi-processor) code I developed for Sagelight.
The term “Cinepan”
The term Cinepan is short for “Cinematic Panorama”, which means a panorama that is automatically played back in a way that makes it look like a camera is moving, as opposed to a still photograph. That is to say, in terms of the Cinepan Player, the idea is to create a true cinematic experience, including high-resolution images and artistic presentation. The term “Cinepan” came from the term “Cinemagraph” (which is a seamlessly looping GIF with an aesthetic effect, usually (but not always) a clip from a movie — high-resolution cinemagraphs being one of my next projects and additions to the Cinepan Player). I decided the term “Cinepan” worked well as a description for the aesthetic display of a moving panorama.
Also embedded in the term “Cinepan” is the aesthetic (i.e. the artistic element) and the “art of the reveal”. In most panoramas, when displayed as a Cinepan (i.e. moving image on the screen), each frame reveals a new piece of the image that is an individual piece of artwork and describes itself in its own terms. This is why most panoramas are not 360-degrees, because there are almost always portions of a 360-degree image that wouldn’t work due to trash cans, wires, and such.
With just about all Cinepan panoramas, the feeling of being there is enhanced as each new frame reveals a new part of the image that focuses on that aspect of the scene. In a few 360-degree cases, there might be a part that doesn’t “self-describe”, but these are short-lived as the panorama rotates back into a more interesting part of the image.
(Main UI Screen, or Configuration Menu when run as a Screensaver)
Panorama images vs. Panoramic Images
A “Panoramic” image is one that shows a very wide angle of a scene, such as landscapes, canyons, city, and so-forth. Panoramic images are usually very wide and give more of a feeling the scene as it was taken.
The above image is both a panorama and a panoramic image (note how the shoreline is curved – this is what makes this image a panorama; it is not lens corrected, which allows the Cinepan Player to show it as if it was shot as a panning video camera).
A Panorama is similar to a panoramic image, except that it is “uncorrected”, and can often be much wider/longer than a panoramic image. A Panorama can be anywhere from 120-degrees to 360-degrees, much of the time impossible to view on the desktop without being distorted. This is why many panoramas have so many bends and curves in them, because they have not been run through a lens-correction process.
When a panoramic image is a panorama (i.e. not corrected for a flat perspective), we can also play it as a Cinepan Image.
In terms of programs like Quick-Time Virtual Reality player and other panorama viewers, as well as Sagelight Cinepan Player, this allows the Panorama display in real-time, with each and every frame corrected to the angle in which you’re viewing the image — that is, as you move the image, it is just like you’re turning your head, or a video camera is panning over a scene.
My Obsession with Moving Panoramas, the Cinepan Algorithm,and Cinepan Player vs. QTVR, etc.
One day (about 10 years ago), I decided to write an algorithm to correct panoramas. I was getting into Panorama photography (stitching together image after image), and thought it would be something nice to have in my code library, and was interested in the math involved. I set out to see what I could do with the algorithm and just generally play with it.
I particularly didn’t like the “jaggies” that would appear in sharper images, especially when you moved them slowly. I wanted to get a more aesthetic experience, rather than a manually controlled one.
One of the biggest reasons for wanting to explore panorama coding was because, as it turns out, most great panoramas are less than 360-degrees, and it was hard to view them in the QTVR or other manual setting.
I also wanted to explore showing them widescreen, which caused problems. The wider a panorama is viewed (i.e. the higher the overall viewing angle), the more the edges became very distorted. I didn’t like the idea of looking at an amazing panorama with a sweeping vista in a 3×4, or even 16×9 box. But, once I moved them wider, the edges distorted so heavily that the aesthetic experience definitely suffered.
Along the way, I tinkered with the algorithm and found a way to perceptually translate the image to help with the edge distortion, which also helped with the aliasing (i.e. jagged edges) problem. Also, at the time, the QTVR algorithm was still under patent (maybe it still is?), so moving to a perceptual algorithm allowed me to release the code.
Cinepan Player was written to work in real-time in high resolution screens, and without much of the aliasing that can occur with the QTVR (i.e. technically correct) algorithm. Correcting each frame takes a lot of CPU power, and to remove the aliasing requires even more. This can be difficult on high-resolution panoramas and/or monitors.
Slow-moving, Sweeping Images
Sagelight Cinepan was written to provide a very smooth, slow-moving image in an aesthetic atmosphere. With QTVR/other players, moving very slowly tends to increase the aliasing/jagged edges, which is why most images are not high-resolution (the higher the resolution of the image, the more jagged edges appear). Sagelight Cinepan was designed to show high-resolution images on high-resolution monitors with little or no jagged edges.
360º and non-360º Images
As it turns out, most panorama images are not 360-degrees. It’s a rare panorama that looks great in 360-degrees; there’s always a trash can, parking lot, or some other uninteresting part of the image that makes a 360-degree panorama less than artistic. Cinepan Player is designed around these images and plays them very smoothly for a great aesthetic effect.
Cinepan Player also plays 360-degree images, many of which are just great on their own, too! see 360-Degree Images in Cinepan Player
(Paris as seen from the Eiffel Tower)
Suddenly, Sagelight Cinepan (previously HD Panorama) More Relavent than Ever!
You may remember Sagelight Cinepan Player as “HD Panorama”. This was released a few years ago, but then my attention moved to Sagelight Image Editor.
Nasa and Disney Connection
A long time ago, I showed Nasa and Disney the panorama program with the Mars and Moon pictures I turned into panoramas (many 360-degree). They really liked them. Nasa had offered funding for the project, but then Google (who was financing this sector) said they’d have to derail some funds, so that offer was withdrawn for lack of funding. Google later offered to put this panoramas in the Google Moon and Google Mars programs.
Disney offered to put these panoramas on their DVD of Roving Mars, but only had a $40,000 budget for the entire DVD and couldn’t offer any support. They also offered high praise for the HD Panorama program and the Moon/Mars panoramas I showed them, but $40,000 was just too small of a budget to offer even the equipment I needed to make them for the DVD. I probably should have taken Disney up on the offer, but there were complications getting the DVD out, and I don’t know if they ever released Roving Mars on DVD anyway.
Enter Sagelight Cinepan Player
A few months ago, I was showing HD Panorama to a friend, and I suddenly realized that HD Panorama is more relevant than ever, and much more interesting now than it was before. There were so many compelling reasons (listed below), I sat down and turned it into Cinepan Player.
Here are the reasons that not only is Sagelight Cinepan Player more compelling and relevant now, but much more improved:
- 16×9 Monitor & Television Format. The very first thing I noticed when showing this to my friend is that the HD Panorama program was now on a 16×9 monitor and just looked tremendously better. Since the idea of the Panorama is a wide view, 16×9 worked perfectly. Also, the higher contrast of newer monitors and televisions just made it look that much better, crisp, and sharp
- Faster Processor Speed and Anti-Aliasing. At the time, even with multiple processors, it took a lot of CPU power to run the Panorama Program, and it couldn’t really anti-alias well when viewed at high resolution. You may noticed that if you take a QTVR image and make it full-screen, it typically doesn’t run in real-time (it’s slow). The real-time correction process in a panorama display uses a lot of CPU instructions. Now, with higher CPU speeds, performing a bilinear-resize on each and every frame is possible and does not make your computer hot!
- More Panoramas Available Now. When I wrote HD Panorama, panoramas were still fairly new and hard to find. Now, there are thousands of great panoramas people have created and can be included in Sagelight Cinepan Player.
- Graphic Design. Another thing I noticed when I showed HD Panorama to a friend was that something wasn’t right. The panoramas looked nice, but there was an aesthetic quality missing. In the original version, the borders and text were BIG. I guess times have changed, and moving to a thinner border, and a smaller and more aesthetic font made all the difference.
- Better Bandwidth on the Internet. When HD Panorama was first written, downloading packages of 50 Megs or more took much longer, and was also more expensive to host. Now, 50+ megs takes very little time and costs very little to host, making it easier to download all of the Cinepan Image files.
- Panoramas More Popular then Ever and Panorama Functions in Every Camera. Almost all cameras (including phones) come with a “Panorama Mode”. Now that panoramas are more popular than ever, more people are taking them and posting them with ease. Many come out at a professional level by hardly trying and with little or no post-processing. In the future, Cinepan Player can have an interface to allow you to put in your own panoramas (see Supporting Cinepan Player in the Sidebar).
- Sagelight Image Editor. I was able to use many of the routines I wrote for Sagelight image editor (not to mention the experience) to provide fast and accurate functionality, written in multi-processing SSE2 and SSE4 code; not something that was available at the time HD Panorama was written. This also allowed me to process each Panorama image in Sagelight Editor to work better in the Cinepan Player (i.e. noise reduction and other items, such as sharpening without creating noise).
(The Matterhorn, Swiss Alps)
Cinepan Player is Free, but Could use Some Support
I am happy to give Cinepan Player away for free. It is a great project to work on, and I am very please with the way it came out. Each panorama included in Cinepan Player is time-consuming, and I will do more if enough people like Cinepan Player.
Please consider supporting Cinepan Player. It is 100% free, but your donations will help keep it going and allow me to find and create more Cinepan Images, and also to make an interface to allow you to put in your own panoramas.
Please enjoy Cinepan Player!