View Full Version : Wrong cover rendering about part showing text


elano
07-13-2013, 10:28 AM
Hello,

It's my first post here, so I don't know if my issue is at the right location. I'm a developer working on a project using ePub since one year.

My (big) concern today is about the quality of rendering of rasterized text in a cover. I have an image in PNG format (24-bit, so without alpha-channel) containing a background image and the title in foreground (when I say "foreground", it's about perception since there's not any layers anymore).

Well, this cover, embedded in an XHTML document, displays very well in the majority of ePub readers software (tried mainly under Windows 7), but not in some (and surprisingly the worst comes from the biggest software publishers), where the text (which is just pixels) is totally deteriorated (edge lace).

Here are my tests :
- Adobe Digital Editions : VERY BAD
- CoolReader : BAD
- FBReader : GOOD
- Sony Reader for PC : BAD
- Calibre's Reader : GOOD
- Sigil's Reader : GOOD
- EPUBReader for Firefox : GOOD
... etc.

For example, below is a snapshot showing what is displayed in Adobe Digital Editions (at left side) and what is displayed in FBReader (at right side). It's of course unacceptable at left side... But why ADE renders like this ? Pixels are pixels, and not any transformation is wanted.

It's like if ADE would apply some filters which, I guess, would be supposed to improve rendering, but here is simply a disaster. How to work around this (knowing I talk you about cover here, but I could have to manage others images with rasterized text above image elsewhere in the book, and knowing I've absolutely to do text stay pixels/rasterized, neither real HTML text nor vector in SVG format) ?

http://i.imgbox.com/acxuPmwz.png
Rendering of same image : Adobe Digital Editions at left, FBReader at right

Very annoying :eek: How to solve this issue ?

elano
07-14-2013, 08:36 AM
Ouch ! no reaction... Well, do you know an easy way to get in touch with the Adobe Support. I mean an email or direct chat, not a FAQ or FAQ-like forum like I see at http://www.adobe.com/fr/products/digital-editions/faq.html. The page about Adobe Digital Editions is at http://www.adobe.com/fr/products/digital-editions.html, but I don't see any technical support contact info. Do you have an idea ?

Jellby
07-14-2013, 02:09 PM
I guess ADE is doing some resizing (even if it's only to resize it back to the original). Resizing algorithms can be quick and dirty or smooth and slow (but never perfect), chances are ADE (and Adobe-based readers) is using a simple and fast one, which gives the results you see.

As for Adobe support, I can't help, sorry. There used to be a forum member who might know something more, though.

elano
07-14-2013, 03:27 PM
OK, thanks Jelby. About downscaling algorithm, it effectivelly sounds like its using a fast and poor one (like nearest neighbour) : a very weird decision (from a big publisher in the image processing field), but I guess it's more a political one rather than a technical one.

At this time, using ADE, Sony Reader for PC or CoolReader (maybe the same rendering engine ; ADE is using RMSDK), it's quite impossible to read image containing glyph, music notation, math symbols, etc.

I'll try to see on the ADE forum...

Jellby
07-14-2013, 03:42 PM
I'll try to see on the ADE forum...

I meant a member of this forum, not of the Adobe forums.

elano
07-14-2013, 07:21 PM
OK, understood (I read as the Adobe and Sony downscale : too fast) Well, awaiting ADE be improved (yes, they can!), I'll solve the issue by myself, providing an images close to the average readers definition - tell me if I'm wrong : 600*800px. So, my software has to resample every image on fly, using something like bicubic implementation (yes, independent dev should work at Adobe - lol)... Good evening.

Toxaris
07-15-2013, 03:12 AM
If it is for the cover, you could try wrapping the image in a SVG. I am told that the quality of the resize is better then.

mzmm
07-15-2013, 07:15 AM
i've found that image quality on ADE is notoriously poor, and agree with Jellby that this is likely due to the downscaling algorithm that ADE uses. i found a thread hidden away on an Adobe forum suggesting that best results are achieved by using 300dpi PNGs. however, i don't find that there is really a noticeable improvement in the image quality, and of course it greatly increases the size of the ebook if you have more than a few images.

here's the thread (http://forums.adobe.com/message/3960033) with a fairly long discussion about image quality on the Adobe forums

--edit

another way that i've found to maintain a slightly higher image quality in ADE is to set fixed image dimensions, but in most cases i find this not a useable solution because the image of course won't scale with a resize of the viewing area

HarryT
07-15-2013, 08:41 AM
Perhaps I'm just not fussy enough, but I don't see the left-hand image in the original post as "disastrous". Do you think it's bad enough to put someone off buying the book?

mzmm
07-15-2013, 01:09 PM
Perhaps I'm just not fussy enough, but I don't see the left-hand image in the original post as "disastrous". Do you think it's bad enough to put someone off buying the book?

more often than not, i've found that people do balk at the image quality in ADE, especially if they're also comparing it to an iPad, for example, or if they've edited the images themselves.

line art is where it's really apparent, though (see the link in my previous post)

SBT
07-15-2013, 04:50 PM
If it is for the cover, you could try wrapping the image in a SVG. I am told that the quality of the resize is better then.

...especially if you render the text bit inside the SVG as either SVG-text or as SVG paths.

elano
07-17-2013, 02:46 PM
Hello to every one of you. I've solved this issue last days, doing as I said : limiting the case where ADE (and equivalent) has to downscale... Of course, there will be always case where it will be wrong on scren, but now (doing my best) I'll can say it's the Adode fault (or strategy - I'm more inclined to think it's this second reason, since they have all the background and technical in-house capacity)... Well, I'll try to react to every of your posts below.

If it is for the cover, you could try wrapping the image in a SVG. I am told that the quality of the resize is better then.
I've taken a try with SVG and it's effectivelly a fabulous way (I'll keep it in mind for future projects), but not in my specific case... Because I absolutely need to keep text has being rasterized in bitmap (a matter of copyright). And image embeded in SVG in not att all vector. To have text being treated as vector, you need to write it in plan text in the SVG XML file, to do it be interpreted by the SVG rendering engine.

i've found that image quality on ADE is notoriously poor, and agree with Jellby that this is likely due to the downscaling algorithm that ADE uses. i found a thread hidden away on an Adobe forum suggesting that best results are achieved by using 300dpi PNGs. however, i don't find that there is really a noticeable improvement in the image quality, and of course it greatly increases the size of the ebook if you have more than a few images.

here's the thread (http://forums.adobe.com/message/3960033) with a fairly long discussion about image quality on the Adobe forums

--edit

another way that i've found to maintain a slightly higher image quality in ADE is to set fixed image dimensions, but in most cases i find this not a useable solution because the image of course won't scale with a resize of the viewing area
Happy to read it's the ADE fault since I've lost one week on this issue (oops)... I'll read this Adobe Form's thread for sure ; thanks for the link.

About fixed image size : yep, it's an option, but the majority of software-firmware reader downscale very well (even IE, if you directly reach the XHTML doc insite the ePub does better than ADE or Sony Reader for C)... So, I don't allow upscaling (to avoid blur), but still authorize downscale.

Talking about cover, what is very strange is that big definition is everywhere recommended (see Smashwords, Amazon, Barnes...), but - seing this ADE behavior - definitivelly not the right way when your cover contains a lot of rasterized text. In fact, it's what I did before to see this issue : my generated images were a big ones.

About the resolution (in dpi), it's a common mistake to think it has an influence on computer's screen... In reality, it has not any when pixels have fixed size. The resolution does only matter for printing (there're not any fixed pixel size on paper), faxing... All these output where the device can master the pixel size (then, the density). So, 600*800 in 96 dpi or 300 dpi are exactly the same. In PNG, the resolution (in dpi) is only an added metadata like an indication in case you have to print this image.

Perhaps I'm just not fussy enough, but I don't see the left-hand image in the original post as "disastrous". Do you think it's bad enough to put someone off buying the book?

Thanks a lot, it's reassuring to read this. Well, in my mind, yes, it's unacceptable... but I'm maybe a little bit perfectionist, it's not false :smack:

more often than not, i've found that people do balk at the image quality in ADE, especially if they're also comparing it to an iPad, for example, or if they've edited the images themselves.

line art is where it's really apparent, though (see the link in my previous post)

...especially if you render the text bit inside the SVG as either SVG-text or as SVG paths.

Again an interesting testimonial who reassure me. Thanks to you too. On my side, I do my possible to create quality (whatever be the time I spend), but when I see I can't go deeper, it's always good to know why. So, here a message to Adobe and Sony (since we're talking about ADE, but Sony Reader for PC is bad too) : please, change your downscale algorithm ! I think it's the good time to do it :)

Good evening and very thanks for all your feedbacks.

PS : long post, but I don't re-read... No time. Sorry for eventual typo...

Toxaris
07-17-2013, 04:44 PM
I've taken a try with SVG and it's effectivelly a fabulous way (I'll keep it in mind for future projects), but not in my specific case... Because I absolutely need to keep text has being rasterized in bitmap (a matter of copyright). And image embeded in SVG in not att all vector. To have text being treated as vector, you need to write it in plan text in the SVG XML file, to do it be interpreted by the SVG rendering engine.


Correct, an image wrapped in an SVG is not a real vector image. However, it appears that the rescaling is better than just a plain image. YMMV.

Jellby
07-18-2013, 04:20 AM
Of course, there will be always case where it will be wrong on scren, but now (doing my best) I'll can say it's the Adode fault (or strategy - I'm more inclined to think it's this second reason, since they have all the background and technical in-house capacity)...

I'd rather think it's a choice to keep it simple and easy for low-memory, low-power devices.

About the resolution (in dpi), it's a common mistake to think it has an influence on computer's screen... In reality, it has not any when pixels have fixed size.

That's perfectly true, but it wouldn't be the first time some software is found to respond in unexpected ways to changes in places it shouldn't care about ;)

elano
07-21-2013, 12:35 PM
However, it appears that the rescaling is better than just a plain image. YMMV.

Interesting ! I didn't thought about that. I take note ;)

I'd rather think it's a choice to keep it simple and easy for low-memory, low-power devices.

Yes, for firmware inside poor cadenced devices an where CPU cycles are to be preserved... but I think it would be a very strange strategy talking about computer (even the ones seven years back ago were powerful enough to handle decent downscaling at current/usual definition)... Or, they didn't take time to separate branches for different target (so, providing the same downscaling code inside their executables, their separated RMSDK engine, their firmwares if they produce ones, etc).

At least, they could provide a setting like a slider "quality<------>speed" or two check-boxes.