Archive for the 'Multimedia' Category

NVIDIA demonstrates DirectX 10 tessellation

Illustration courtesy of NVIDIA Corporation

I suppose everyone appreciates an innovative solution to a problem. And the problem for NVIDIA was this: how do you emulate Direct3D 11’s tessellation using only Direct3D 10 techniques?

NVIDIA showed that by using the then-newly introduced Geometry Shader and Instancing 2.0 in Direct3D 10, one could approminate the results generated by a Direct3D 11 tessellator. It’s a given that the technique required to accomplish it is quite complicated and the change in level of detail or tesellation rate is coarse and abrupt as you get closer or further away from the object, but it’s still impressive nevertheless to see it work on the tessellation-unaware Direct3D 10. They even have a working demo for you to see it in action.

You can also get to read the technical details of this technique.

Why the DX10/10.1 Radeon tessellator can’t support DX11 tessellation

Illustration courtesy of Emil Persson

No doubt a lot of owners of Radeon HD 2000 up to Radeon HD 4000 series of GPUs are wondering why their cards can’t support the seemingly identical feature called tessellation, which is a big part of the Direct3D 11 spec. Well, it seems like AMD has provided the answer itself.  According to the AMD technical paper Programming for Real-Time Tessellation on GPU the tessellator on the Radeon HD 2000/3000/4000 series is activated through AMD’s own tessellation API interface that works in-conjunction with Direct3D 9/10/10.1. This API however supports up to 15 times amplification, or levels of subdivision of the polygons. The more amplification, the smoother the tessellated polygonal object becomes, eventually becoming spherical.

Video by KhaMichel

The 15 times amplification limit on the AMD API isn’t likely to be arbitrarily set by the engineers at AMD; it probably reflects the maximum capability of the dedicated tessellator featured in the Radeon HD 2000/3000/4000 series. [Update: after this article was published AMD contacted Geeks3D.com and has confirmed that this is indeed a 15x hardware limitation as I have predicted] On the other hand, Direct3D 11 supports up to 64 levels of amplification. Since Direct3D (mostly) dropped cap bits starting from version 10, only Direct3D 11 cards can access all the new features in the Direct3D 11 API. The pre-5000 series cards simply do not meet the minimum amplification capability in the Direct3D 11 spec and therefore cannot use tessellation using this API.

On the other hand, it might be possible that AMD could extend its tessellation API to interface with Direct3D 11, and that remains an avenue to be explored.

P.S. While one might guess that 64x amplification is better than 15x, tessellation still needs to be used in moderation and carefully. As in the words of AMD:

The amplification rate is important because it provides guidelines for the coarse control mesh polygon budget with respect to the desired features in the super high-resolution mesh (also referred to as the “limit surface”). If we want to represent high-frequency features in our high-resolution surface (such as small bumps, warts, wrinkles and bevels), we need to make sure that the coarse mesh has enough polygons to generate positions for these features. Therefore, the higher the amplification rate, the lower the polygon count for our control cage can be.

JPEG XR: The (r)evolution of JPEG

Microsoft has been quite active in the digital photography arena lately. One of its most promising contributions to the digital photography industry is HD Photo (formerly Windows Media Photo), which is currently being considered by the JPEG committee to become a standardized image format like that of JPEG. Currently it is tentatively called JPEG XR.

Posterization Example

The main advantage of HD Photo over JPEG is that the former retains a far greater range of brightness and colors. Today’s digital cameras, especially digital single-lens reflex cameras (dSLRs), can capture far greater levels and range of brightness (bit depth and dynamic range) and colors (color gamut) than what is permitted to be saved by JPEG. Right now there are two main ways to overcome this: compress the ranges to fit within JPEG’s limitations, or use a file format known as RAW. The problem with the first method is that, while both the brightest and darkest details are retained, the subtle nuance between the two is lost. The implication of this is that when you try to fix an underexposed or overexposed image by adjusting the its levels and curves, steps in the brightness scale are more easily exaggerated and become visible, causing a phenomenal called posterization (see photo above). RAW on the other hand, while retaining all color and brightness information the camera has captured, requires post-processing in order to print and share over the Internet. In addition, RAW file formats are often proprietary and are not standardized between camera manufacturers, making compatibility troublesome. This is why you don’t see many photo kiosks accepting RAW files. HD Photo, if standardized and adopted, will bring the convenience of JPEG along with most (but not all) of the quality benefits of RAW.

The other major improvement over JPEG is that it supports progressive and regional decoding. To give a practical example: when opening a 12 megapixel image, even though your screen is only capable of showing around 1-4 megapixels, what HD Photo can do is to extract and decode only the portions of the image data necessary to render the smaller image, rather than loading all the 12 megapixels into memory which are not all visible. When you only want to zoom in to and edit a 1 megapixel area of the image, it can also only load in that region of data only. It is this technology that allows Microsoft Live Labs Photosynth and Microsoft Research HD View to render gigantic images so smoothly without overwhelming system and bandwidth resources.

Continuous BurstHD Photo also brings along compression efficiency improvements over JPEG at the same time. According to Microsoft, “HD Photo offers compression with up to twice the efficiency of JPEG, with fewer damaging artifacts, resulting in higher-quality images that are one-half the file size.” This will give sports photographers a great alternative to RAW. A camera’s ability to capture fast sequences of action is limited by its buffer memory. The smaller the file size of each image, the more “action” that can be captured before the buffer fills up. JPEG’s smaller size is ideal for this type of photography, but at the cost of image quality; RAW on the other hand severely limits the number of shots that the buffer storage can accommodate. HD Photo offers the best of both worlds – high image quality approaching that of RAW with file sizes comparable to JPEG.

Like any standard, it takes time to become well accepted by the industry. However, you can start experiencing the benefits of HD Photo today with a Photoshop plugin (for Windows and Mac) that saves images directly to the new format. Also, Chuck Westfall from Canon recently gave us a hint on the possibility of including HD Photo in future cameras. While JPEG is likely to remain mainstream well into the foreseeable future, HD Photo, once standardized, will bring much needed improvements to photographers, scientific and medical imaging, and post-processing users alike.

If you would like a technical explanation of the capabilities of HD Photo, I recommend the blog written by Bill Crow, the Program Manager for HD Photo.

Sunset image courtesy of Ron Day. © Ron Day | Football images used under a Creative Commons license. (c) Sherry Elliott

Microsoft’s first “10-foot experience” product

Microsoft TV Photo Viewer

One of the lesser known Microsoft Hardware products is Microsoft TV Photo Viewer. It was released in late 2001 as a way to share photos on a TV screen. The product is simple with a floppy disk drive and it even comes with a remote control for the “10-foot experience”. The complementary software (now unavailable for download) creates photo albums that can be stored on 3.5″ floppy disks using JPEG compression format, which then are read on the product to be shown on the TV screen. The software makes it easy to crop, add captions and special effects to photos. Being a product that predates Windows Media Center, this product represents one of Microsoft’s first steps into the digital home entertainment industry.

ActiveWin.com has an archived review of the product and an interview with Adam Leader, the product manager of Microsoft TV Photo Viewer.

Microsoft product box shot reprinted with permission from Microsoft Corporation.

Windows Media delivers 720P and 5.1 in under 2Mbps

A scene from Elephants Dream

Ben Waggoner, Technology Evangelist at the Microsoft codec team, gave us a taste of 720P and 5.1 in just under 2Mbps using the latest Windows Media codecs. The computer-generated short film Elephants Dream was encoded using Windows Media Video 9 Advanced Profile and Windows Media Audio 10 Professional along with a script created by Alex Zambelli that allows fine-tuning of encoding parameters not available in the graphical interface of Windows Media Encoder 9 Series. The video is available for download at the Microsoft website.

Although it may not rival the sheer quality of a Blu-Ray or HD-DVD feature film, the video itself looked remarkably sharp with only a slight hint of macroblocking in the runaway scene and another scene near the ending. You’d have to focus your attention on such anomalies to notice them however. I was particularly impressed by how well the codec handled fine details such as power lines in the scenes even with so much action going on. The audio also sounded quite nice, and it’s a great chance to try out your surround sound setup. Being variable-bitrate, it’s not strictly 2Mbps throughout the entire film, but the resulting file size is close to what a constant-bitrate encoding at 2Mbps would be like.

A scene from Elephants Dream

The increased compression efficiency made possible with the script does come at a price however. You would need a more powerful processor to play the video than one without optimizations. Yet, in the age where processing power is cheap and buffering is not so acceptable it is perhaps an excellent tradeoff to make.

If you have time I recommend that you take a look at this video. You may not believe what you see (and hear).

Elephants Dream images used under a Creative Commons license. (c) copyright 2006, Blender Foundation / Netherlands Media Art Institute / http://www.elephantsdream.org