Steganography Schedule:(Changing)
<!--[if gte vml 1]><v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe"> <v:stroke joinstyle="miter" /> <v:path gradientshapeok="t" o:connecttype="rect" /> </v:shapetype><v:shape id="_x0000_s1030" type="#_x0000_t202" style='position:absolute; margin-left:345.6pt;margin-top:45pt;width:54pt;height:39pt;z-index:5' fillcolor="#0000b0"> <v:fill opacity="5898f" /> <v:textbox style='mso-next-textbox:#_x0000_s1030'> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <h4><span lang=EN-US style='color:#993366'>EncodeDecode<o:p></o:p></span></h4> </div> <![if !mso]></td> </tr> </table> <![endif]></v:textbox> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->Learning stack:
<!--[if gte vml 1]><v:line id="_x0000_s1032" style='position:absolute;left:0;text-align:left;z-index:7' from="261pt,56.9pt" to="333pt,88.1pt"> <v:stroke dashstyle="1 1" endarrow="block" /> </v:line><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shape id="_x0000_s1028" type="#_x0000_t202" style='position:absolute;left:0;text-align:left; margin-left:162pt;margin-top:41.3pt;width:99pt;height:23.4pt;text-indent:0; z-index:3' fillcolor="#0000b0"> <v:fill opacity="12452f" /> <v:textbox style='mso-next-textbox:#_x0000_s1028'> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US style='color:#993366'>Format of Picture<o:p></o:p></span></b></p> </div> <![if !mso]></td> </tr> </table> <![endif]></v:textbox> </v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:line id="_x0000_s1031" style='position:absolute;left:0;text-align:left;flip:y; z-index:6' from="261pt,25.7pt" to="351pt,52.8pt"> <v:stroke dashstyle="longDash" endarrow="block" /> </v:line><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:line id="_x0000_s1033" style='position:absolute;left:0;text-align:left;z-index:8' from="369pt,49.1pt" to="369pt,72.5pt" strokeweight="3pt"> <v:stroke endarrow="block" /> </v:line><![endif]--><!--[if !vml]--><!--[endif]-->+-----------------------+
| +-------------------+ |
| | GIF Signature | |
<!--[if gte vml 1]><v:line
id="_x0000_s1034" style='position:absolute;z-index:9' from="207pt,3.9pt" to="246.6pt,71.6pt"
strokeweight="6pt">
<v:stroke endarrow="block" />
</v:line><![endif]--><!--[if !vml]--><!--[endif]--> | +-------------------+ |
<!--[if gte vml 1]><v:shape
id="_x0000_s1029" type="#_x0000_t202" style='position:absolute;margin-left:336.6pt;
margin-top:1.4pt;width:90pt;height:54.6pt;z-index:4' fillcolor="#0000b0">
<v:fill opacity="39977f" />
<v:textbox style='mso-next-textbox:#_x0000_s1029'>
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<h4><span lang=EN-US style='color:#993366'>Graphics Interchange Format <o:p></o:p></span></h4>
<p class=MsoNormal><span lang=EN-US style='color:yellow'><o:p> </o:p></span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--> | +-------------------+ |
3.10 | | Screen Descriptor | |
| +-------------------+ |
<!--[if gte vml 1]><v:shape id="_x0000_s1027" type="#_x0000_t202" style='position:absolute;margin-left:210.6pt; margin-top:9.2pt;width:80.5pt;height:22.7pt;z-index:2' fillcolor="#0000b0"> <v:fill opacity="40632f" /> <v:textbox style='mso-next-textbox:#_x0000_s1027'> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span lang=EN-US style='color:#993366'>Cryptograph<o:p></o:p></span></b></p> </div> <![if !mso]></td> </tr> </table> <![endif]></v:textbox> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->3.10Pm | +-------------------+ |
| | Global Color Map | |
<!--[if gte vml 1]><v:line id="_x0000_s1035" style='position:absolute;z-index:10' from="255.6pt,1.4pt" to="381.6pt,71.6pt" strokeweight="6pt"> <v:stroke endarrow="block" /> </v:line><![endif]--><!--[if !vml]--><!--[endif]--> | +-------------------+ |
. . . . . .
| +-------------------+ | ---+
| | Image Descriptor | | |
<!--[if gte vml 1]><v:shape id="_x0000_s1026" type="#_x0000_t202" style='position:absolute;margin-left:381.6pt; margin-top:1.4pt;width:80.5pt;height:22.7pt;z-index:1' fillcolor="#0000b0"> <v:textbox style='mso-next-textbox:#_x0000_s1026' /> </v:shape><![endif]--><!--[if !vml]-->
<!--[endif]--><!--[if !mso]--> <!--[endif]--><!--[if !mso & !vml]--><!--[endif]--><!--[if !vml]-->
<!--[endif]--> <!--[if !mso]-->Steganography
<!--[endif]-->3.12 | +-------------------+ | |
| +-------------------+ | |
| | Local Color Map | | |- Repeated 1 to n times
| +-------------------+ | |
| +-------------------+ | |
| | Raster Data | | |
| +-------------------+ | ---+
. . . . . .
|- GIF Terminator -|
+-----------------------+
Week 1: March 5 - 11
Due this Week:
Note:
7 6 5 4 3 2 1 0 Byte #
+---------------+
|0 0 1 0 1 1 0 0| 1 ',' - Image separator character
+---------------+
| | 2 Start of image in pixels from the
+- Image Left -+ left side of the screen (LSB first)
| | 3
+---------------+
| | 4
+- Image Top -+ Start of image in pixels from the
| | 5 top of the screen (LSB first)
+---------------+
| | 6
+- Image Width -+ Width of the image in pixels (LSB first)
| | 7
+---------------+
| | 8
+- Image Height-+ Height of the image in pixels (LSB first)
| | 9
+-+-+-+-+-+-----+ M=0 - Use global color map, ignore 'pixel'
|M|I|0|0|0|pixel| 10 M=1 - Local color map follows, use 'pixel'
+-+-+-+-+-+-----+ I=0 - Image formatted in Sequential order
I=1 - Image formatted in Interlaced order
pixel+1 - # bits per pixel for this image
“Gosling: For me as a language designer, which I don't really count
> myself as these days, what "simple" really ended up meaning was could
> I expect J. Random Developer to hold the spec in his head. That
> definition says that, for instance, Java isn't -- and in fact a lot of
> these languages end up with a lot of corner cases, things that nobody
> really understands. Quiz any C developer about unsigned, and pretty
> soon you discover that almost no C developers actually understand what
> goes on with unsigned, what unsigned arithmetic is. Things like that
> made C complex. The language part of Java is, I think, pretty
> simple. The libraries you have to look up.”-http://darksleep.com/player/JavaAndUnsignedTypes.html
Bibliography:
http://www.seas.upenn.edu/~mmayer/lzw_gif/gif87.html
Ziv, J. and Lempel, A., A Universal Algorithm for Sequential Data Compression, IEEE Transactions on Information Theory, (May 1977).
Welch, T., A Technique for High-Performance Data Compression, Computer, (June 1984).
Nelson, M.R., LZW Data Compression, Dr. Dobb's Journal, (October 1989).
http://darksleep.com/player/JavaAndUnsignedTypes.html
3 7 7 7 7
6 8 0 0 0 0 4 2 3 0 0 0 0 0 3
3 4 3 3 4 0 0 0 3 4 6 4 8 0 0 4
2 9 9 0 0 4 3 2 7 0 0 8
6 8 2 0 0 9 4 0 0 0 0 7
2 0 2 0 0 0 8 4 0 0 0 7
0 2 0 0 0 0 0 0 0 7
8 0 7 0 0 0 0 0 0 0 7
9 0 2 6 0 0 0 0 0 0 7
3 0 0 9 6 0 0 0 4 0 0 6
6 0 0 6 4 0 0 0 2 0 0 3
4 0 0 2 7 0 0 0 5 3 0 8 5
8 0 8 7 0 0 0 7 5 9 4 0 4 6 4
7 0 0 5 7 0 0 0 9 0 0 0 0 0 0 0 7
9 0 0 7 0 0 2 4 4 0 0 0 0 0 0 4
7 0 0 4 0 0 6 7 0 0 0 0 0 6
2 0 2 6 0 0 4 4 8 0 0 0 5
7 8 9 3 0 0 3 8 0 0 9
5 3 3 2 8 0 0 3 0 0 8
4 0 0 2 9 0 0 7
0 0 0 4 0 0 5
4 0 4 0 0 6
3 8 4 0 0 6
7 7 5 3 8 3 0 0 5
9 0 0 0 0 0 6 5 0 0 7
4 2 0 0 0 0 0 8 3 2 0 2
6 2 6 0 0 0 0 2 0 0 6
7 2 0 0 0 6 4 0 4
3 0 0 0 4 5 3 8 4
5 8 0 0 8 6 4 8 3
5 9 0 0 0 8 9 6 6 2 4 4
5 5 3 0 0 9 5 3