Please log in.
Before you can vote, you need to register. Please log in or create an account.
Computer: Format
Features for JPG utilities   (+3)  [vote for, against]
Allow JPEGs to be manipulated without further data loss

From what I understand, a JPG file stores each 8x8 pixel block of picture data intependently. It would be nice to have a program which could perform certain manipulations on a JPG file and write out each 8x8-pixel block exactly as it was in the original file (avoiding file-size-growth which would result from rewriting the JPG with too high a quality setting and quality loss which would result from using too low a quality setting).

Functions I'd like to see supported: cropping off multiples of 8 pixels from any side, and rotation (I think the data munging required for rotation could be done losslessly). Additionally, for an image editor, I'd like the editor to keep for each unedited 8x8 pixel part of the picture the information required to rewrite that part of the picture exactly the same as it was in the original.

Does anyone know of any programs that do that?
-- supercat, Dec 20 2000

JPEG Wizard http://www.jpg.com/products/wizard.html
Rotates, mirrors, crops without loss. I haven't actually used this product, but the description seems close to what you describe. [jutta, Dec 20 2000]

The Independent JPEG Group http://www.ijg.org/
Their jpegtran program (included in jpegsrc.v6b.tar.gz) performs various lossless transformations of JPEG files by working directly on the compressed data. This is part of the standard JPEG package that includes libjpeg, cjpeg and djpeg. [Ed Avis, Oct 11 2002]

ditto
-- thumbwax, Dec 21 2000


What bad experiences have you had with JPEG? It's not the whizziest format around, but within its domain (lossy compression of photographic images), it does a pretty good job.
-- egnor, Dec 22 2000


A refinement I'd like to see with a jpeg editor would be the ability to change the amount of loss in different parts of an image. For instance if you've got a picture of a car, you could draw round the car and have that bit compressed without too much loss while the background is highly compressed. Ah, just checked out jutta's link and lo and behold the feature regional compression.
-- Gordon Comstock, Dec 22 2000


Gordon, Jutta: The JPEG wizard utility does precisely what you (and I) were looking for. It allows you to define up to 15 regions on a JPEG and adjust the sliders separately for each region. Additionally, it allows certain manipulations to be done to JPEGs losslessly (resizing, merging of JPG's, color adjustment, etc.) Way cool. And the best part of all is that the basic version that provides everything except automated batch processing is FREE.
-- supercat, Dec 27 2000


What I think would be preferrable, is for meta data to be stored inside JPEG files which define transformations to be performed on the image as it's displayed. This method would always preserve all of the original data while a variation could be stored as a few simple parameters such as brightness, contrast, gamma and so on. A viewer could also support multiple transformation on each image, for example, a photo of one's ancestors could viewed as:
* The original
* Optimzed for general appearance
* Optimzed for recognition of the people
* With names of the people superimposed
* Several cropped selections
* Several thumbnail sizes

Storing all of the transformations listed above as separate files would be a needless waste of space when the parameters required for them would probably be less than 1 KB.
-- Alvin, Nov 14 2011


I had a similar idea some time ago (so long in fact that I can't even find the forum posting).

As people have said, lossless cropping and mirroring already exists.
However, I've never seen any program which will allow the editing of a jpeg with minimal corruption. That's actually pretty desirable.

My proposal would be a program which would accept a jpeg and generate a lossless-format image from it (png, tiff, whatever). That can then be edited in any decent graphics package without additional data-loss. When you've finished, you'd give the new file back, and it would look for 8x8 blocks[1] which hadn't changed; these could be copied over from the original file.
This way you can use your favourite graphic package; there's no need to re-implement every conceivable editing tool.

[1] or 16x16 etc - there are various jpeg sub-types
-- Loris, Nov 14 2011



random, halfbakery