About graphic formats
As you know, there are a large number of different file types:
- Text (txt, ...)
- Software (EXE, DLL, BAT, COM, ...)
- Archives (ZIP, GZ, ARJ, RAR, ...)
- Graphic (BMP, JPEG, PNG, GIF, ...)
- Video (AVI, MPEG, MP4, MKV, ...)
- Sound (WAV, MP3, OGG, WMA, FLAC, APE, ...)
- Other
Graphic in turn are divided into vector (WMF, CDR, SVG, ...) and raster (BMP, JPEG, PNG, TIFF, RAW, ...).
But I would divide the raster into two groups:
- For storage and processing (RAW, BMP, HDR, TIFF, PSD, XCF and others)
- For publication (JPEG, GIF, PNG and others)
Formats for storage and processing store information with greater accuracy and reliability than formats for publication. They occupy a larger volume and, more often, have a simpler structure.
')
But the formats for publication are intended to show some feature with a minimum amount. For example:
Feature | Format |
---|
Transparency | GIF, PNG |
Animation | Gif |
Stereo effect | JPS (regular JPEG with two views in one file) |
Information about the time and place of shooting (EXIF data) | Jpeg |
Almost every format has certain advantages and disadvantages. Still, the leader in popularity due to support for 24-bit color and efficient compression is JPEG. To support transparency or other properties, it is necessary to use a system of several files (possibly in different formats).
Actually creating a graphic format that would have a modular architecture and support for various properties (preferably in several variants, such as lossy or lossless compression, a palette of a fixed size or True Color) is one of the most urgent tasks of our time!
About properties of graphic formats
I would like to name those that, in my opinion, are particularly important and necessary for publishing on the web:
- Large dynamic range;
- Stereo effect;
- Depth array;
- Multi-layer, multi-layer support;
- Panoramic properties;
- Variable pixel density;
- Ability to add explanatory text, hyperlinks, sounds, videos, images in the resulting image.
Consider these properties in more detail.
High dynamic range ( HDR ) is often used by photographers to transmit high-contrast scenes. However, images in HDR formats take up a lot of disk space. 10 years ago there were attempts to create HDR panoramas based on JPEG + illumination value for a square of 8x8 pixels (
fjpg format ). An example of a 3D panorama in this format is available
at . Unfortunately, the format did not become popular. Briefly touch on the problems and solutions. The change in illumination on real scenes can reach 1,000,000: 1, and formats like JPEG allow us to represent a dynamic range of about 1,000: 1. In addition, conventional monitors and TVs also can not display a very wide dynamic range (at least in statics). Alternatively, you can use the “human eye” algorithm when adjusting the brightness for a certain current area, respectively, what has more brightness will be white, and what has a low brightness compared to the current area will be very dark.
Here is a page with examples of dynamic brightness adjustment , although it works only in Google Chrome and is not related to HDR.
The stereo effect in images for viewing on a computer has become widespread recently due to the emergence of monitors with polarized screens and high frame rate monitors. Although for the simplest use there are enough anaglyph glasses, you will not see high-quality color reproduction with them. To create your own stereo photos fit
free application StereoPhoto Maker . This application contains publishing tools and a Java applet for viewing stereo images using a browser.
An array of depth would truly be a magical property of images if it were possible for its quick and relatively accurate calculation even at the shooting stage. In the meantime, it is built using a stereo pair of images. With the help of the depth array, you can easily select certain areas in the image, combine several images, superimposing them on each other. In addition, information about the distance to objects could be used to analyze the scenes, and indeed to recognize the objects themselves. This is just a well for research! Much has already been implemented in
Kinect controllers . Not bad builds a depth map program Triaxes StereoTracer. Unfortunately I do not know the free analogues. Using an array of depth could have achieved another interesting effect, already implemented by hardware in
Lytro . Depending on the position of the mouse cursor, find the current depth and make sharp (display normally) those areas whose depth is the same. The rest of the area to blur the stronger, the greater the difference in depth.
Support for multiple layers is in most formats for storing and processing data. In the same formats for publication, this option is completely absent, except for GIF-animation. At the same time, it is not such a useless thing! You can store in the form of layers of images taken in the conventional and infrared or ultraviolet spectrum. Or, for example, as in Google Maps or Yandex maps, to use maps for display in the form of images from space, diagrams, or a combination of them.

Many cameras have the ability to automatically glue
panoramas . Panoramic properties do not directly affect the content of the image, but the information that the image is a panorama (spherical, cylindrical or limited to certain angles) would be clearly not superfluous. Modern panorama viewers include Java applets, Flash plug-ins and HTML5 scripts. But it would be much better if the browser or viewer automatically displayed the image as a panoramic image. It is only necessary to embed this information into a file, just as the information about the location and parameters of the shooting is stored in EXIF ​​data in JPEGs. Then the viewer would show only a window inside which it would be possible to view (rotate, move) the panorama, and not show the entire image (so it is inconvenient to watch).
Variable pixel density .
I am developing a program that allows you to select different areas on the original image, assign them different quality and save the original image in a new format. The meaning of this development is to save the image so that the file size is minimal, but at the same time so that the specified details are available for viewing. For example, a 16 megapixel photo is 6 megabytes. This photo shows a car and two people. We want to reduce the size of the image, but then it becomes impossible to read the number of the car and identify the faces of people. Using the program, we select the faces and the number and indicate 100% quality for them, whereas for the rest of the image we significantly lower the quality. In the resulting image of 1.5 megabytes in size, we see the same picture, albeit in a somewhat worse quality, while the faces and the number of the car are visible the same as in the original image. Free beta version of the program can be obtained
from here .
Ability to add explanatory text, hyperlinks, sounds, videos, images in the resulting image .
Currently, this can be implemented using Flash technologies, Java applets and JavaScript. As an example, I can bring my application (http://habrahabr.ru/sandbox/64818/). In it, by the way, there is the possibility of dynamic brightness adjustment, mentioned above.
Dream
Now I would like to summarize and show how I see the future graphic format for publications on the web. The user enters the site, browses the page and sees on it the published image from some event. Wears polarization or shutter glasses for and enjoys stereo effect. Holds the mouse over the image and the dark places become lighter, and the details in the shadows are distinguishable when the cursor passes through these dark areas. Suddenly, the user is interested in something on the very edge of the image. By clicking the left mouse button, he smoothly pans the image, viewing the previously inaccessible area. Hmm, who is it standing there? We work with a zoom and on the background of small squares (due to a strong increase) we see our old friend in excellent quality. Direct the cursor directly at him and see the tooltip with his name and contacts, click on it with the mouse and go to the site, the company "Horns and hoofs."
In principle, everything described in the paragraph above can be implemented now, but not as a single graphic file in a format, but as an application. I hope that in the future there will be hardware and software systems that allow you to simplify and automate the creation of such images.
About cameras
Someone says that modern DSLRs are no longer needed, smartphones by megapixels are already
catching up and overtaking them ! In my opinion, the future is for cameras that will have the following interesting features:
I see the future of digital photography not only in new compression algorithms and increased resolution of images. In my opinion, the time has come to grow not only inland, but also in breadth, adding new qualities and opportunities. First of all, it is the convenience of viewing, adding textual information, links and other content. Well, physical qualities, such as HDR, variable pixel density, shooting in different ranges of IR and UV.
Opportunity | Where is it already implemented |
---|
Shooting with high dynamic range | Sony NEX-5N, NEX-7, SLT-A35, iPhone 5 and others |
Stereo | FujiFilm FinePix REAL 3D W1 |
Ability to automatically build an array of depth / td> Lytro (partially), Kinect controller |