Encoding a JPEG file

Hi all

This is NOT a QNX specific question. It has to do with JPEG graphic images
which I know very little about.

What we’d like to do is encode information into a JPEG file, like an 8 byte
serial number. The serial number should NOT be visible. But if it does
alter the image in an inconspicuous way, that’s OK.

We’d like to be able to look at that picture later down the road and extract
that serial number from it. Is this possible?

I realize that if the image is piped through an image editor of any kind
then all bets are off.

You must have got a contract form Al-Qaeda Bill :wink:
This is one of ways bad guys use to communicate over internet. Yes what you
want is possible, although I don’t know any details.

– igor

“Bill Caroselli (Q-TPS)” <QTPS@EarthLink.net> wrote in message
news:aloeef$p1$1@inn.qnx.com

Hi all

This is NOT a QNX specific question. It has to do with JPEG graphic
images
which I know very little about.

What we’d like to do is encode information into a JPEG file, like an 8
byte
serial number. The serial number should NOT be visible. But if it does
alter the image in an inconspicuous way, that’s OK.

We’d like to be able to look at that picture later down the road and
extract
that serial number from it. Is this possible?

I realize that if the image is piped through an image editor of any kind
then all bets are off.

Igor Kovalenko <Igor.Kovalenko@motorola.com> wrote:

You must have got a contract form Al-Qaeda Bill > :wink:
This is one of ways bad guys use to communicate over internet. Yes what you
want is possible, although I don’t know any details.

It’s called “steganography” or “watermarking” (I guess depending on how much
information you want to transfer).

I’ve thought about doing this for watermarking purposes.

How much budget do you have for this Bill? :slight_smile:

Lossy encodings like JPEG could be problematic; non-lossy like GIF should
be dead simple to use the LSB of one of the colours.

What do you mean by “inconspicuous”? That’s just too vague; one suggestion
would be do alter the start colour of each line in some way that JPEG
encoding won’t alter it (significantly).

Cheers,
-RK


– igor

“Bill Caroselli (Q-TPS)” <> QTPS@EarthLink.net> > wrote in message
news:aloeef$p1$> 1@inn.qnx.com> …
Hi all

This is NOT a QNX specific question. It has to do with JPEG graphic
images
which I know very little about.

What we’d like to do is encode information into a JPEG file, like an 8
byte
serial number. The serial number should NOT be visible. But if it does
alter the image in an inconspicuous way, that’s OK.

We’d like to be able to look at that picture later down the road and
extract
that serial number from it. Is this possible?

I realize that if the image is piped through an image editor of any kind
then all bets are off.
\


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at www.parse.com.
Email my initials at parse dot com.

Well, I don’t know what photo editing programs are out there for QNX but this a
relatively simple task using Adobe Photoshop or Paint Shop Pro in Windows. You
might see what photo programs are out there for Qnx or Linux and that should do
the trick for you.

good luck
Shawn

“Bill Caroselli (Q-TPS)” wrote:

Hi all

This is NOT a QNX specific question. It has to do with JPEG graphic images
which I know very little about.

What we’d like to do is encode information into a JPEG file, like an 8 byte
serial number. The serial number should NOT be visible. But if it does
alter the image in an inconspicuous way, that’s OK.

We’d like to be able to look at that picture later down the road and extract
that serial number from it. Is this possible?

I realize that if the image is piped through an image editor of any kind
then all bets are off.

Robert Krten <nospam83@parse.com> wrote:

It’s called “steganography” or “watermarking” (I guess depending on how much
information you want to transfer).

There is a much simpler way than this. JPEG supports an additional data block known
as EXIF. My digital camera stores all the camera settings for a photo using an EXIF
information block. It should be VERY easy to extend a normal JPEG to include such
a data block as it does not require hiding/obfuscating any information in the image
data itself. I imagine a google search for JPEG and EXIF should provide the details
you need.

Cheers,
Camz.

camz@passageway.com wrote:

Robert Krten <> nospam83@parse.com> > wrote:
It’s called “steganography” or “watermarking” (I guess depending on how much
information you want to transfer).

There is a much simpler way than this. JPEG supports an additional data block known
as EXIF. My digital camera stores all the camera settings for a photo using an EXIF
information block. It should be VERY easy to extend a normal JPEG to include such
a data block as it does not require hiding/obfuscating any information in the image
data itself. I imagine a google search for JPEG and EXIF should provide the details
you need.

Yes, but the question then becomes, does he want the end-user to be able to “easily”
modify the watermark or not? Or even easily read the watermark?

Cheers,
-RK

Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at www.parse.com.
Email my initials at parse dot com.

Chuckle. No but I bet they pay better.

It has to do with a copyright infringement case. We know someone is
steeling our graphics. We want to confirm WHERE they are steeling it from.

“Igor Kovalenko” <Igor.Kovalenko@motorola.com> wrote in message
news:aloka6$1ds$1@nntp.qnx.com

You must have got a contract form Al-Qaeda Bill > :wink:
This is one of ways bad guys use to communicate over internet. Yes what
you
want is possible, although I don’t know any details.

– igor

“Bill Caroselli (Q-TPS)” <> QTPS@EarthLink.net> > wrote in message
news:aloeef$p1$> 1@inn.qnx.com> …
Hi all

This is NOT a QNX specific question. It has to do with JPEG graphic
images
which I know very little about.

What we’d like to do is encode information into a JPEG file, like an 8
byte
serial number. The serial number should NOT be visible. But if it does
alter the image in an inconspicuous way, that’s OK.

We’d like to be able to look at that picture later down the road and
extract
that serial number from it. Is this possible?

I realize that if the image is piped through an image editor of any kind
then all bets are off.

\

“Robert Krten” <nospam83@parse.com> wrote in message
news:alqdu5$ea6$1@inn.qnx.com

camz@passageway.com > wrote:
Robert Krten <> nospam83@parse.com> > wrote:
It’s called “steganography” or “watermarking” (I guess depending on how
much
information you want to transfer).

There is a much simpler way than this. JPEG supports an additional data
block known
as EXIF. My digital camera stores all the camera settings for a photo
using an EXIF
information block. It should be VERY easy to extend a normal JPEG to
include such
a data block as it does not require hiding/obfuscating any information
in the image
data itself. I imagine a google search for JPEG and EXIF should provide
the details
you need.

Yes, but the question then becomes, does he want the end-user to be able
to “easily”
modify the watermark or not? Or even easily read the watermark?

And some programs will remove this extra data when saving the file.

Cheers,
-RK

Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at > www.parse.com> .
Email my initials at parse dot com.

See my other post from this morning.

By “inconspicuous” I mean I don’t want the person steeling our images to
know that they’re steeling something with a serial number in/on it.

I have software that will do what I think you mean by watermarking. That
won’t do. It is visible.

“Robert Krten” <nospam83@parse.com> wrote in message
news:alpu90$2of$2@inn.qnx.com

Igor Kovalenko <> Igor.Kovalenko@motorola.com> > wrote:
You must have got a contract form Al-Qaeda Bill > :wink:
This is one of ways bad guys use to communicate over internet. Yes what
you
want is possible, although I don’t know any details.

It’s called “steganography” or “watermarking” (I guess depending on how
much
information you want to transfer).

I’ve thought about doing this for watermarking purposes.

How much budget do you have for this Bill? > :slight_smile:

Lossy encodings like JPEG could be problematic; non-lossy like GIF should
be dead simple to use the LSB of one of the colours.

What do you mean by “inconspicuous”? That’s just too vague; one
suggestion
would be do alter the start colour of each line in some way that JPEG
encoding won’t alter it (significantly).

Cheers,
-RK


– igor

“Bill Caroselli (Q-TPS)” <> QTPS@EarthLink.net> > wrote in message
news:aloeef$p1$> 1@inn.qnx.com> …
Hi all

This is NOT a QNX specific question. It has to do with JPEG graphic
images
which I know very little about.

What we’d like to do is encode information into a JPEG file, like an 8
byte
serial number. The serial number should NOT be visible. But if it
does
alter the image in an inconspicuous way, that’s OK.

We’d like to be able to look at that picture later down the road and
extract
that serial number from it. Is this possible?

I realize that if the image is piped through an image editor of any
kind
then all bets are off.





\

Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Books, Video-based and Instructor-led
Training and Consulting at > www.parse.com> .
Email my initials at parse dot com.

Thanks. This sounds like it might work for now.

<camz@passageway.com> wrote in message news:alq9s0$b0k$1@inn.qnx.com

Robert Krten <> nospam83@parse.com> > wrote:
It’s called “steganography” or “watermarking” (I guess depending on how
much
information you want to transfer).

There is a much simpler way than this. JPEG supports an additional data
block known
as EXIF. My digital camera stores all the camera settings for a photo
using an EXIF
information block. It should be VERY easy to extend a normal JPEG to
include such
a data block as it does not require hiding/obfuscating any information in
the image
data itself. I imagine a google search for JPEG and EXIF should provide
the details
you need.

Cheers,
Camz.

The person we think is doing this isn’t real computer literate, which is why
I was willing to post this here.

“Robert Krten” <nospam83@parse.com> wrote in message
news:alqdu5$ea6$1@inn.qnx.com

camz@passageway.com > wrote:

Yes, but the question then becomes, does he want the end-user to be able
to “easily”
modify the watermark or not? Or even easily read the watermark?

Look at ‘application specific’ blocks. Usually starting at E8 → EF.

I use this to include an MD5 fingerprint in my images.

The format is described in the standard JPEG documentation.