顯示具有 資訊隱藏 標籤的文章。 顯示所有文章
顯示具有 資訊隱藏 標籤的文章。 顯示所有文章

星期二, 8月 14, 2007

[jpeg]Huffmancode

姆哈哈哈~~

太久沒跟老闆見面

程式卡關之後就給它放在那邊

都快忘記自己怎麼寫的了

不過老闆禮拜二要討論啊

而且又看到老闆對在他的blog上面發表了兩篇Huffman table的東西

這下我如果說忘記了的話

一定會死的很難看

好不容易老闆要理我的說

怎麼可以放棄掉這個好機會

本來想說我程式只是卡關

沒想到之前寫的還是有問題

為什麼我多好多個huffmantable阿

一樣的JPEG用老師的程式就可以正常開

 我之前可以開只是剛好吧
 果然還是要多做實驗才行
 
 
昨天與程式奮鬥了一天

發現原來問題在我陣列的位置算錯啊

少算到table index 所佔到的那個BYTE

應該要改成這樣才對...

begH += (LiCount+17); //用來skip上面那行指令--> HuffmanTable(begH)
hLength -=(17 + LiCount);

唔...

雖然跟我想像會進行到的地方不太一樣

不過先找出問題也是好的

至少自己解決了XDD


加入書籤:MyShareHemiDemiDel.icio.usfurlGoogle BookmarksYahoo! My Webtechnorati

星期三, 6月 20, 2007

[final]課程回顧+分數

又到了期末算總帳的時候了

我覺得大家都po給自己的分數這招真是個大絕耶

本來想說隨隨便便給打個八十左右就好了

反正姊姊不擅長打分數這檔子事

付出多少就得到多少

對得起自己就好了

那個分數無異議啦

 沒想到大家都給自己偏低的分數耶

天ㄚ

大家都好認真的對自己打分數喔

原本我覺得應該會很高分的政瑋也給自己70耶

嘖!!我覺得他應該要比我高個5~10分的說

這樣我不就剛好及格邊緣了~囧

而且大家都有列自己的缺點耶

那我也仔細檢討一下好了
-----我是檢討分隔線-----
 好吧...我必須承認...
 我每個禮拜都有遲到...

  如果以這個來看我早就負分了啦XDD
 BLOG也都是老師盯了才寫
  雖然每次寫的都很長一篇...
  但是那個篇數太少了...
  而且都喇賽文衝字數的啦...


 根據一連串詭異的公式推出來之後
 我獲得的分數是46.25

-----我是檢討分隔線-----

我才不想承認這個不及格的分數咧(/‵′)/~ ╧╧

管他的

哪有人算那麼細的

我70好了啦 跟小狐貍學長ㄧ樣XDD

好了

喇賽的給自己打分數到此結束

接下來是認真的課程回顧+心得!!

----我是心得分隔線----
基本上

"資訊隱藏"這門課呢

跟我之後的研究有非常大的相關性

偶而這邊的東西會跟meeting搞混掉

我沒辦法像其他同學一樣

說出一個在這門課裡明確學習到的東西
(而且且那些東西在過去的網誌裡也都有講到了...重講一遍也很怪....)

但至少

有這門課

讓我對於未來的研究方向

不再只是個看不到卻沒有實體感

像是空氣一樣模糊的東西

經過這門課以後

對於未來的領域

應該可以圈出個範圍了

以上

就是我對這門課的感想...


加入書籤:MyShareHemiDemiDel.icio.usfurlGoogle BookmarksYahoo! My Webtechnorati

星期三, 6月 06, 2007

[JPEG]JPEG小簡介

各位鄉親阿

我又來啦咧了

沒錯!!

如同老師所預告的

我們在這個禮拜要進入 Information Hiding in JPEG的部份了

既然要談到在JPEG中藏資訊的方法

怎麼可以不知道JPEG是怎麼做的呢...

----以下所說的話 僅代表正cos一個人的立場 有錯的話...那也是正常的...反正我是學生嘛XDD----

1.JPEG是一種針對相片影像而廣泛使用的一種失真壓縮標準方法。

 我們之前談的影像檔呢

 都是以RGB的方式來紀錄color值的

 可是JPEG這傢伙呢 卻是以YCbCr的方式來紀錄的喔

 根據我從維基百科抄下來的話
 RGB方式將所有的顏色資訊作同等的處理,雖然有最高的畫質,但由於RGB方式對傳輸頻寬
 和儲存空間的消耗太大,為節省頻寬,使用色差方式來傳送與紀錄分量視訊是現在的主流。

 色差在設計上利用了「人眼對明度較敏感,而對彩度較不敏感」的特性,
 將視訊中的色彩資訊加以削減,轉換公式如下:

 明度: Y = 0.299*R + 0.587*G + 0.114*B
 色差: Cb= 0.564*(B-Y) = -0.169*R - 0.331*G + 0.500*B
     Cr= 0.713*(R-Y) = 0.500*R - 0.419*G - 0.081*B

 所謂的「色差」即為顏色值與明度之間的差值。轉換過後的顏色資訊量被刪減了約一半,
 但由於人眼的特性,使得色差處理過後的影像與原始影像的差異很難被察覺。
 最終的色差資料與RGB資料相比節省了1/3的頻寬。

 嘖...
 我之前都覺得YCbCr和RGB一樣...
 不過就是座標軸轉換而已嘛...
 為什麼它會說節省頻寬咧...
 到底是哪裏被減掉啦...


 反正他換成YCbCr之後阿...
 因為人眼對這三個座標軸的強度感受不同阿
 就可以分開壓比較多或比較少...
 在Down Sampling那邊...
 四個取一個兩個取一個 取出來的量就不同啦...


2.8x8的陣列做處理 
 我不知道為什麼是8x8...
 他高興吧...

3.DCT轉換
 從空間域轉到頻率域...
 同上...我不知道為什麼...
 維基百科有關DCT的連結
在這...
 可是我知道DCT轉換這邊沒有失真...

4.量化
 我不會解釋這邊...
 可是這邊的目的也是降低資料的複雜度啦...以後比較好壓縮...
 我只會舉例
 像是16.1 16.2 16.3 16.5 16.8 16.75 16.9 17.1 16.2 17.25 17.33 17.54 這樣子的數列
 如果都取整數值作代表的話
 就會變成 16 16 16 16 16 16 16 16 17 16 17 16 17 17 17
 我們可以記成 16*5 + 17*1 + 16*1 + 17*3
 這樣傳輸的資料量就變少啦...
5.zig-zag
 把那個8x8的陣列變成一維陣列
6.huffmancoding
我想睡覺了啦...

寫blog超累的...

我有寫了一個JPEG Decoder 的半成品...

大家有空可以玩一下...

我下次再補其他的部份好了...


加入書籤:MyShareHemiDemiDel.icio.usfurlGoogle BookmarksYahoo! My Webtechnorati

星期四, 4月 12, 2007

[BCB]偽.GIF小程式

小黑

這就是我上次跟你說我被boss放大絕寫的程式

你可以不用看接下來的解說文

嗯...

各位IHC的鄉親大家好...

上週由於清明節的關係...

本站台公休一天...

因此本集特別推出"前情提要"

讓大家可以順利的收看本週節目..  

---我是前情提要分隔線----------

  week4的大家很開心的活在"如何判斷ㄧ張圖是亂的?"的世界裡面
  眾多(!?)的熱心村民寫了分別看位元平面的程式...
  因此村長覺得這是個邁向下一個階段的時機...
  提到了改index值的方法...

  見多識廣的村長...
  了解村民們完全沒那個能耐解讀GIF格式的天書...
  因此呢
  提出了一個偽.GIF的概念
  教導村民利用photoshop等的轉化劑
  將GIF轉成BMP.......
  

 //好吧...我承認我在喇賽= =
--正文開始--
這是不才小的我寫的偽.GIF小程式

發現bug的話
請不要用石頭丟我...(逃)


這是程式執行畫面
大家可以點那個file
打開圖片檔
裡面附上兩張經過photoshop轉成BMP的圖片
應該是dororo.bmp和hero.bmp
敬請享用...


打開圖片之後的樣子...

對了 我覺得scrollbox挺好用的
Scrollbox在additional裡面
大家可以參考看看


接著
點那個分析調色盤
(其實就是算他有幾個不同顏色...然後畫出來而已...)



在"原本的INDEX"那邊阿...
就會出現每個pixel對到第幾個顏色(顏色是從0開始編號喔!!)


接著點那個Index隨機+1
 喔 我是比較偷懶啦 我只有random0或1 來決定他要不要shift一個Index...
 所以出來的圖雜訊頗多的...
 應該是有個Edit讓你輸入你要嵌入的值這樣會比較有感覺...

改變後每Pixel對到的表格在這邊...


圖片就變成這副德性了...

對了對了

我覺得StringGrid也是個好物...
這樣我就可以不需要排版面排的那麼辛苦了...
他的位子在這邊...


--------
  嘖...有沒有人聽的懂我試圖表達的東西阿...
  我表達能力好弱...囧
  原來最困難的在表達....

加入書籤:MyShareHemiDemiDel.icio.usfurlGoogle BookmarksYahoo! My Webtechnorati

星期五, 4月 06, 2007

[知識]modulation v.s. modification

嘖...

英文是很重要滴!!

凶狠的阿梅與我
  硬是要拖一個共犯XDD
  明明人家只是在場而已...
那天在六樓遇到辛老師

就硬上拜託老師幫我們解答了...

(老師內心的OS:為什麼要問我...囧...)

modulationmodification 根據辛老師的意思是說
所謂的modulation
就是沒有改變的改變...
只是為了怕傳送的時候...
  因為介質之類的造成值的改變

所以所以就先調整它的值讓他不會因衰變而整個改變..

--以下是cosine嘗試用自己的方法講的--
從甲方傳到乙方的過程
  可以看成
  1.甲(原本的值"㊣"先moxxxxx變成"★")
          ↓
  2."★"在路上遇到干擾都很帥氣的維持差不多的樣子
          ↓
  3.乙(再把"★"demxxxx回"㊣")



modification 就是"改變" (1→0) ...

所以說...
A > B 經過modulation之後 還是 A' > B'...
A > B 經過modification 之後 有可能變成 B' > A'

應該是這樣吧...

  ◆◆◆◆◆◆◆◆辛老師課外小常識◆◆◆◆◆◆◆◆◆◆
  ◆                        ◆
  ◆   以前用來撥接用的那個modem阿     ◆
  ◆                        ◆
  ◆          就是            ◆
  ◆                        ◆
  ◆ Modulatordemodulator ◆
  ◆                        ◆
  ◆          的合體喔!         ◆
  ◆                        ◆
  ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


--

聽說老師的師傅可以隔山打牛...

不知道老師可不可以隔著牆壁把我打飛...XDD

加入書籤:MyShareHemiDemiDel.icio.usfurlGoogle BookmarksYahoo! My Webtechnorati

星期四, 3月 29, 2007

[資訊隱藏]3/22上課筆記&心得

我是3/29上課筆記+上個禮拜的心得

本篇依然是在3/29才po的= =
  其實我程式還沒寫完
  所以沒有圖
  之後在補一篇有的上來
上次(3/22)的課程討論到"Visual attack"和"如何判斷一張影像是亂的?"之後
其實我對Visual attack的和statistic attack之間的區別
還是有點模湖
我對於"如何判斷一張影像是亂的"還比較有想法
(其實我一直想到機率與統計裡面的標準差= =)
今天(3/29)跟小狐貍學長和鳥泰討論過後
我的想法跟鳥泰和小狐狸學長不太一樣
鳥泰是從灰階去看
然後去找在同一個範圍內灰階值一樣的給一樣的數字
 要封閉曲線喔
 如果同個灰階值但是不在同一個封閉曲線裡的話
 他的數字是不同的喔
我覺得跟之前蝌蚪學長教過的sobel比較像

而小狐貍學長的想法則是整張圖給個MASK
看在MASK中
黑色與白色出現的機率
在去做判斷
 學長目前也只有想到這邊

我的想法其實是比較偏向學長的
但是我覺得學長好像沒有討論到太過亂的情況
像這樣子
01010101010101
10101010101010
01010101010101
10101010101010
01010101010101
10101010101010
01010101010101
10101010101010
01010101010101
10101010101010
其實我覺得這可能是每個人對"亂"的定義不同
像上面這種圖在學長眼中就很亂
可是我就覺得他很整齊
  有點像物極必反吧...
  亂到一個極致就會變整齊嗎(?!)
  (跟標準差好像有點關係...)

我現在想到的做法也只有
1.先把RGB裡面24bit先分別表示出來
 再去找規律
2.我想到的找規律做法如下
 針對每個不是邊的pixel而言
 對他周圍的八個點去做處理
  那個處理應該跟每個點的權重有關吧...

小黑不用點進來看

星期四, 3月 22, 2007

[上課筆記]3/15

好吧..

雖然我是3/21才寫的

可是我有試圖用3/15的角度寫這篇網誌喔...
--正文開始的分隔線--
今天的課程(3/15的課程紀錄)

延續了上個禮拜介紹的S-Tools
(S-Tools是用來藏資訊的軟體)
就像"有老鼠就會有貓"一樣
有用來隱藏information的軟體/技術
當然就會有相對的分析(破解)技術

在上個禮拜有提到S-Tools是用把資訊嵌入調色盤的LSB的作法達到藏資訊的效果的
所以老師今天給了一個之前寫來分析GIF調色盤的程式

這個程式可以將gif檔中調色盤的256色都讀出來
並且做分群
  因為上個禮拜有討論到透過簡單的分析排序之後
  S-Tools產生的嵌入資訊影像
  其色彩值可以看到非常明顯的分群效果...

其實今天的前兩節課大部分都是自己在摸索
ㄧ開始還不太會用
都是我做我的 王士華做王士華的 蕭肥做蕭肥的

都是遇到了問題互相討論過後
才漸漸比較有感覺...

像是王士華就有遇到用BMP的圖去藏資訊
結果產生出來的hiddendata不能另存為BMP的問題

原本我們都是藏圖片進去另一張圖片
結果我突然想到
乾脆來試試看藏txt檔好了
結果我就直接在桌面新增一個文字檔
直接改個檔名變成a.txt之後
就想要藏進去
我那時候還覺得奇怪
想說他該不會發現我這不是圖片之類的吧(真是阿呆一個...)

結果...
在最後一個小時的討論裡
學妹有提到他有藏文字檔的問題
我還想說我剛剛就不能藏...
只是沒打開打字存檔咩...
有檔案就有佔空間不是嗎...
結果...真的是我沒打字的關係...
嘖..不知道Windows怎麼用的
明明就有檔案在桌面上阿..
我按右鍵看內容
竟然還真的是0位元組
(S-Tools心中的OS: 0 bit是要藏三小啦)
在我隨便按個空白鍵之後

竟然還真的可以藏了

我這次是用這張圖


她的sort結果和reduce如下圖
用成gif動畫好累喔(點一下圖片應該就會動了吧...)




在我用photoshop藏入各種不同的檔案作測試之後,得到如下的結果





隱藏的物件原本的調色盤排序過的分群過的
1x1 pixel(Red)
1x2 pixel(Red)
1x3 pixel(RRR)


上面那段落落長的就先不要理他好了


先講我目前的想法好了...

Co 和Cr 這兩個值呢

1.跟被藏進去的圖片本身的顏色量似乎沒有太大的關係
2.跟被藏進去的資訊量有關的...
當我在像這樣的單純影像裡面

試圖藏入這張圖

雖然看起來還是差不多(像這樣子)

這時候她的調色盤顏色就比之前多了


排序一下


而且分群之後就很明顯變少(21種而已)


演算法還推不太出來啦...

額外收穫..

1.Photoshop果然是有理由賣錢的...

一樣是1 pixel的gif檔

photoshop就壓的比小畫家壓的小

2.原來阿梅跟我提過得那種把電影壓縮成圖片就是一種資訊隱藏阿...
 而且還是跟JPEG相關的...

3.我在學校做出來的hidden.gif
 不知道是不是換電腦的關係
 竟然變成很奇怪的雜訊
 沒辦法用繪圖軟體開
 也沒辦法預覽
 用S-Tools也開不起來
 可是用老師給的那個軟體竟然能夠成功開啟來...
 真詭異...