Canon is wrong!

Guido Vollbeding

Well-known member
Messages
128
Reaction score
0
Location
Halle / Saale, DE
Hi,

the claim of Canon and Nikon that Windows XP would destroy
the Exif Header by rotation is wrong!
It is really ironic to hear this statement from Canon, because
until today they dare to deliver their ZoomBrowser digital
camera software with a lossy rotation function. (Fortunately
there exist several third-party alternatives for Canon users.)

I don't have Windows XP, but I did check Windows ME in its
rotation behavior, and I guess it's basically the same in XP (at
least I hope XP is not worse than ME).
It was extensively discussed in the rec.photo.digital newsgroup
(search google for the thread "rotating jpeg images in windows
me"). Here are my findings:

http://groups.google.com/groups?q=windows+me+lossless+rotation&hl=de&rnum=1&selm=3B0D9E76.4281A759%40jpegclub.org

So, although they do some strange things regarding the
embedded thumbnail, the rotation is lossless, and the
essential Exif stuff is retained (although not properly
recognized by some software, for example the picky Fuji Exif
Viewer). I don't know what Canon and Nikon are using to view
the Exif data, but the program cPicture from Jürgen Eidt, for
example, does recognize all the Exif data including the
embedded thumbnail after ME rotation.

Regards,
Guido
 
I don't know anything about Canon, rotation, etc.

But I DO know that just because something works in ME does NOT mean that it will work at all in XP.

I believe the core code from ME traces back to the first win 3.
I think the core code in XP traces back to NT.

Your comparison and findings that Canon is wrong is just not valid.

Homer
Hi,

the claim of Canon and Nikon that Windows XP would destroy
the Exif Header by rotation is wrong!
It is really ironic to hear this statement from Canon, because
until today they dare to deliver their ZoomBrowser digital
camera software with a lossy rotation function. (Fortunately
there exist several third-party alternatives for Canon users.)

I don't have Windows XP, but I did check Windows ME in its
rotation behavior, and I guess it's basically the same in XP (at
least I hope XP is not worse than ME).
It was extensively discussed in the rec.photo.digital newsgroup
(search google for the thread "rotating jpeg images in windows
me"). Here are my findings:

http://groups.google.com/groups?q=windows+me+lossless+rotation&hl=de&rnum=1&selm=3B0D9E76.4281A759%40jpegclub.org

So, although they do some strange things regarding the
embedded thumbnail, the rotation is lossless, and the
essential Exif stuff is retained (although not properly
recognized by some software, for example the picky Fuji Exif
Viewer). I don't know what Canon and Nikon are using to view
the Exif data, but the program cPicture from Jürgen Eidt, for
example, does recognize all the Exif data including the
embedded thumbnail after ME rotation.

Regards,
Guido
 
I don't know anything about Canon, rotation, etc.

But I DO know that just because something works in ME does NOT mean
that it will work at all in XP.

I believe the core code from ME traces back to the first win 3.
I think the core code in XP traces back to NT.
That's correct; ME is the last in the line (it is to be hoped) from the Win 3.x, 95 and 98 stable. In contrast, XP traces its origins back to Win NT and 2000. These two streams of operating systems are based on entirely different core technologies and so it is not valid to deduce the behaviour of XP based upon knowledge of ME. Therefore Canon (& Nikon) may well be right (and frankly I'd be surprised if they're wrong) -- if I have an opportunity I will do some tests to find out!

Terry.
Your comparison and findings that Canon is wrong is just not valid.

Homer
Hi,

the claim of Canon and Nikon that Windows XP would destroy
the Exif Header by rotation is wrong!
It is really ironic to hear this statement from Canon, because
until today they dare to deliver their ZoomBrowser digital
camera software with a lossy rotation function. (Fortunately
there exist several third-party alternatives for Canon users.)

I don't have Windows XP, but I did check Windows ME in its
rotation behavior, and I guess it's basically the same in XP (at
least I hope XP is not worse than ME).
It was extensively discussed in the rec.photo.digital newsgroup
(search google for the thread "rotating jpeg images in windows
me"). Here are my findings:

http://groups.google.com/groups?q=windows+me+lossless+rotation&hl=de&rnum=1&selm=3B0D9E76.4281A759%40jpegclub.org

So, although they do some strange things regarding the
embedded thumbnail, the rotation is lossless, and the
essential Exif stuff is retained (although not properly
recognized by some software, for example the picky Fuji Exif
Viewer). I don't know what Canon and Nikon are using to view
the Exif data, but the program cPicture from Jürgen Eidt, for
example, does recognize all the Exif data including the
embedded thumbnail after ME rotation.

Regards,
Guido
 
But I DO know that just because something works in ME does NOT mean
that it will work at all in XP.
That's correct; ME is the last in the line (it is to be hoped) from
the Win 3.x, 95 and 98 stable. In contrast, XP traces its origins
back to Win NT and 2000. These two streams of operating systems
are based on entirely different core technologies and so it is not
valid to deduce the behaviour of XP based upon knowledge of ME.
Therefore Canon (& Nikon) may well be right (and frankly I'd be
surprised if they're wrong) -- if I have an opportunity I will do
some tests to find out!
OK, but Image Preview and JPEG rotation do not belong to the Windows core, so I don't think there are fundamental differences.
If you can test it I would be glad to hear about your results.

Try to rotate a JPEG with Image Preview and then try to look at the Exif info with a suitable program.

Regards,
Guido
 
Guido,

when I first installed XP on my system and went to rotate one of my images, XP itself had a pop up that stated that it is not recommended to rotate the image as this will degrade the quality. I also have ME on another partition and it doesn't have that pop-up. So, I think it's actually valid to assume that, since Microsoft even put this warning in to a coded pop-up, that in fact rotation is bad using the software built in to XP.
It's pretty simple though. Just use another program to rotate.

Jack
But I DO know that just because something works in ME does NOT mean
that it will work at all in XP.
That's correct; ME is the last in the line (it is to be hoped) from
the Win 3.x, 95 and 98 stable. In contrast, XP traces its origins
back to Win NT and 2000. These two streams of operating systems
are based on entirely different core technologies and so it is not
valid to deduce the behaviour of XP based upon knowledge of ME.
Therefore Canon (& Nikon) may well be right (and frankly I'd be
surprised if they're wrong) -- if I have an opportunity I will do
some tests to find out!
OK, but Image Preview and JPEG rotation do not belong to the
Windows core, so I don't think there are fundamental differences.
If you can test it I would be glad to hear about your results.
Try to rotate a JPEG with Image Preview and then try to look at the
Exif info with a suitable program.

Regards,
Guido
 
I'm not sure if we're talking about the same program here, but when I double-click a picture file (jpg) in WinXP it is previewed by Windows Picture and Fax Viewer. I have used this program to rotate a native CP995 picture which includes EXIF data (checked it with FotoAlbum from the FotoTime web site). After the rotations, the exif data was still there!
Jack
But I DO know that just because something works in ME does NOT mean
that it will work at all in XP.
That's correct; ME is the last in the line (it is to be hoped) from
the Win 3.x, 95 and 98 stable. In contrast, XP traces its origins
back to Win NT and 2000. These two streams of operating systems
are based on entirely different core technologies and so it is not
valid to deduce the behaviour of XP based upon knowledge of ME.
Therefore Canon (& Nikon) may well be right (and frankly I'd be
surprised if they're wrong) -- if I have an opportunity I will do
some tests to find out!
OK, but Image Preview and JPEG rotation do not belong to the
Windows core, so I don't think there are fundamental differences.
If you can test it I would be glad to hear about your results.
Try to rotate a JPEG with Image Preview and then try to look at the
Exif info with a suitable program.

Regards,
Guido
 
What am I missing here? How can XP, ME or any O/S rotate your .jpg. It can't. It runs a program (Picture Viewer in the case of XP), to do the work. My question is: why anyone would do this? If I was going to rotate (or do anything else to) an image I would use a good editor.

All this talk of XP destroying your pictures leads people to think that mearly copying a .jpg to XP is going to cause problems. Nothing could be farther from the truth. Your .jpg could care less what OS it's stored on.

As with anything (text, images, sound, movies), use a good editor and you won't have any problems.

RZ--RZ http://www.romeozulu.com/photos
 
Ya,

to be honest I don't know anything about the EXIF thing. I was just pointing out that Microsoft itself coded pop ups into the program stating that rotating a picture might cause loss of quality.
I'm not sure if we're talking about the same program here, but when
I double-click a picture file (jpg) in WinXP it is previewed by
Windows Picture and Fax Viewer. I have used this program to rotate
a native CP995 picture which includes EXIF data (checked it with
FotoAlbum from the FotoTime web site). After the rotations, the
exif data was still there!
 
Jack,

yes, I've heard about the pop-up thing. But I guess this would only show
when the image dimensions are not an even multiple of the JPEG block size,
because in this case the lossless rotation algorithm can't work perfectly.
In ME, you'd get 'stripes' at the edges, but the rotation would still be
lossless (turning back would recover the full original).

Regards,
Guido
 
I'm not sure if we're talking about the same program here, but when
I double-click a picture file (jpg) in WinXP it is previewed by
Windows Picture and Fax Viewer. I have used this program to rotate
a native CP995 picture which includes EXIF data (checked it with
FotoAlbum from the FotoTime web site). After the rotations, the
exif data was still there!
Whatever the XP Picture Viewer is doing when rotating, the Exif is not lost,
but somehow manipulated. I thought it would be the same hacks as
discovered with ME given in my initial post.
But it seems XP is doing some more strange things. I'll investigate that
as soon as I get my hands on an XP system...

Nevertheless, in my opinion at least Canon is not qualified to complain
about that as long as they do lossy rotation in their own (Zoombrowser)
software. Same with Fuji: Although they keep the Exif data, the image
rotation itself is lossy in their Exif Viewer.

Regards,
Guido
 
OK, but Image Preview and JPEG rotation do not belong to the
Windows core, so I don't think there are fundamental differences.
Guido, I haven't had time to investigate the details of how JPEG rotation is performed in either Windows ME or XP, however the differences between the two operating systems go far further than just the "core". In particular XP provides much greater support for multimedia (graphics, video, sound etc) and XP contains a new graphics library called GDI+, which has not shipped with any previous version of Windows (previous versions used the much simpler GDI, although GDI+ can be installed and will work on older versions of Windows). Thus the underlying graphics library in XP and ME are, in fact, entirely different.

But this is where the logic starts to unravel -- according to the GDI+ documentation it DOES support both the EXIF filetype and lossless JPEG rotation. If this is true, and assuming that Image Preview and JPEG rotation in XP uses the GDI+ library, then it would be expected that XP should preserve EXIF data and perform lossless rotation!!! Yet Canon and Nikon say that it does neither ... curious!

With regard to lossless rotation, the GDI+ documentation states:

GDI+ provides the following transformations that can be performed on JPEG images without loss of information:

Rotate 90 degrees
Rotate 180 degrees
Rotate 270 degrees
Flip horizontally
Flip vertically

and it adds

If the following conditions are met, then the transformation will proceed without loss of information:

The file used to construct the Image object is a JPEG file.
The width and height of the image are both multiples of 16.

If the width and height of the image are not both multiples of 16, GDI+ will do its best to preserve the image quality when you apply one of the rotation or flipping transformations shown in the preceding list.

With regard to EXIF metadata, the GDI+ documentation states:

GDI+ currently supports metadata for the TIFF, JPEG, Exif, and PNG file formats. The Exif format, which specifies how to store images captured by digital still cameras, is built on top of the TIFF and JPEG formats. Exif uses the TIFF format for uncompressed pixel data and the JPEG format for compressed pixel data.
If you can test it I would be glad to hear about your results.
Try to rotate a JPEG with Image Preview and then try to look at the
Exif info with a suitable program.
I will test this if I have time and opportunity -- all the PCs immediately available to me run Windows 98, ME, NT and 2000, but there is a laptop which runs XP that I may be able to get my hands on, however it won't be until later this week.

Terry.
 
Terry,

thank you very much for your interesting observations.
Where is the GDI+ documentation available?
I didn't expect this level of integration of the features in the
underlying graphics engine.
As the initial developer of the lossless JPEG rotation algorithm
(see http://jpegclub.org ) within the Independent JPEG Group
framework I welcome this kind of support in principle.
I'll also check out the details as soon as I get an XP system...

Kind regards,
Guido
 
RZ:

While you are correct in stating that the OS doesn't manipulate graphics images, Microsoft in their quest to BE ALL TO ALL, has linked all sorts of subroutines that are generally considered application code to the CORE code of XP. This is nothing new, since the original Windows product was ly an application that ran concurrent with DOS, and had pretensions of being an OS. While I could go on for hours about my pet peeve with Microsoft, this is neither the place nor the forum. Suffice it to say, they have integrated a number of applications with the CORE of NT, and call it XP. Of course it is not that simple, but then again, XP contains enough bugs so that we will eventually have a stable environment when we have XP5, build 29.
MDiamond
 
Terry,

I just found the GDI+ documentation on the Web:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/ucodecs_484l.asp

This part is titeled "Transforming a JPEG Image Without Loss of
Information",
and I can now see some details. Interesting, as said, I'll
investigate...
Guido, you were too fast for me! Yes, the GDI+ documentation is on the Microsoft Developer Network (MSDN) website and on the latest MSDN CD set. As you will have probably discovered by now, GDI+ has quite high-level functionality, including API for image interpolation, thumbnail creation, Exif metadata reading and writing, etc.
As the initial developer of the lossless JPEG rotation algorithm
(see http://jpegclub.org ) within the Independent JPEG Group
framework I welcome this kind of support in principle.
Ahhh, Guido -- I am afraid that I did not recognise your name in your original message -- my apologies. I have, in fact, visited your website several times recently to read about JPEG manipulation etc and download documentation and code snippets. The reason being that my eldest son is doing a college computing project that requires some simple JPEG processing -- rotation, thumbnail creation, etc, and I have been seeking out the best method for him to do this. Unfortunately he has to implement his project in Visual Basic and most of the existing code and libraries are geared towards C++ (especially GDI+ which has a class-based API). In addition to GDI+ and the information on your website I have been looking at the FreeImage library and various ActiveX controls, but at present I cannot decide on the best strategy -- do you have any suggestions?

Terry.
 
I don't disagree with that. I guess my point was that any one who is even remotely serious about DP should be using a photo editor. You get what you deserve if you let an OS (or it's default tools) do anything to your pictures. I think XP gets a bad wrap from people who think that even copying a .jpg to XP will degrade the quality.

RZ
RZ:
While you are correct in stating that the OS doesn't manipulate
graphics images, Microsoft in their quest to BE ALL TO ALL, has
linked all sorts of subroutines that are generally considered
application code to the CORE code of XP. This is nothing new,
since the original Windows product was ly an application that ran
concurrent with DOS, and had pretensions of being an OS. While I
could go on for hours about my pet peeve with Microsoft, this is
neither the place nor the forum. Suffice it to say, they have
integrated a number of applications with the CORE of NT, and call
it XP. Of course it is not that simple, but then again, XP
contains enough bugs so that we will eventually have a stable
environment when we have XP5, build 29.
MDiamond
--RZ http://www.romeozulu.com/photos
 
Unfortunately he has to implement his project in
Visual Basic and most of the existing code and libraries are geared
towards C++ (especially GDI+ which has a class-based API). In
addition to GDI+ and the information on your website I have been
looking at the FreeImage library and various ActiveX controls, but
at present I cannot decide on the best strategy -- do you have any
suggestions?
Terry,

yes, most code exists in C/C++. A very important aspect in programming for me is portability.

I like to use some tools especially under Linux, and this is also my main development platform when it comes to the basic algorithms (better commandline handling and scripting possibilities). I even plan to port my Jpegcrop application to Linux (X Window System with GTK+ library) someday...

But I have a tip for you regarding VB: Look at the Thumber software from Max Lyons ( http://tawba.tripod.com/thumber.htm ). He has managed to call the jpegtran tool as external executable from VB. Perhaps this is a useful strategy.

He also wrote the EXIFRead utility in VB, which I found great to use for my Exif investigations!

Kind regards,
Guido
 
But I have a tip for you regarding VB: Look at the Thumber
software from Max Lyons ( http://tawba.tripod.com/thumber.htm ). He
has managed to call the jpegtran tool as external executable from
VB. Perhaps this is a useful strategy.
I didn't know Max Lyon created software ... although it makes sense ... those blended exposures take forever to do by hand, and he has a few of them, all top-notch.
 
I just tried a rotation for the first time and didn't get the warning. Do you have all the latest updates? I do.

Also, all the EXIF info is still there. In XP it's actually very easy to look at this info. Just Right-Click on the file and go into Properties. Choose the "Summary" tab, then click the "Advance > > > " button.
I'm not sure if we're talking about the same program here, but when
I double-click a picture file (jpg) in WinXP it is previewed by
Windows Picture and Fax Viewer. I have used this program to rotate
a native CP995 picture which includes EXIF data (checked it with
FotoAlbum from the FotoTime web site). After the rotations, the
exif data was still there!
----Jonavin (Canon S30)
 
yes, most code exists in C/C++. A very important aspect in
programming for me is portability.
Yes, I agree -- C/C++ would be better, but unfortunately this project has to be VB.
But I have a tip for you regarding VB: Look at the Thumber
software from Max Lyons ( http://tawba.tripod.com/thumber.htm ). He
has managed to call the jpegtran tool as external executable from
VB. Perhaps this is a useful strategy.
He also wrote the EXIFRead utility in VB, which I found great to
use for my Exif investigations!
Thanks for the suggestions Guido. Something along these lines had crossed my mind, but I haven't had time to investigate the details yet. Presumably this approach would mean generating all the thumbnails as disk files and then reading these files into the VB application rather than having the external executable (such as jpegtran) return the image objects directly to the VB app for display or further processing?

I can see that I'm going to have an exciting Christmas evaluating all the possible methods of doing this!!!

Best regards,
Terry.
 

Keyboard shortcuts

Back
Top