---
title: Lab Meeting Minutes 2023/10/20
tags: lab_meeting
---
> Outline
> [TOC]
---
# PERAL Lab Meeting
- 時間:112 年 10 月 20 日 20:00
- 地點:線上
- 線上會議連結 : [Online](https://meet.google.com/zfi-zmnc-qfw)
- 出席者:吳坤熹老師、謝萬霖、劉怡君、田蕙瑜、沈家正、梁宇騰、紀見如、劉冠伶、林大智(請假)、繆亭霄、蘇翊荃、陳嘉璐、陳品妤、陳姿綾、陳姿澖
- 會議主題:[Digital Image Steganography With Error Correction on Extracted Data (1)](https://docs.google.com/presentation/d/1BLKtmbW4zCN9wDGCB3Cyg-cqTSxphvin0s3TnJi8-b0/edit?usp=sharing)
- 主講者: 劉怡君
- 主記: 沈家正
## 會議內容
Citation: S. N. V. J. D. Kosuru, A. Pradhan, K. A. Basith, R. Sonar and G. Swain,
"Digital Image Steganography With Error Correction on Extracted Data," in IEEE Access, vol. 11, pp. 80945-80957, 2023, doi: 10.1109/ACCESS.2023.3300918.
Link: https://ieeexplore.ieee.org/document/10198401
### Quality Measurements for Steganography 怎麼衡量這隱寫術好不好
- Hiding Capacity(HC)
- 可以藏多少 bits / bytes 東西在裡面
- Impreceptibility
- 難以察覺,能不能被偵測到
- Security
- 別人有沒有辦法輕易的藏
- 作者結合 error corection
### Traditional Approaches for Image Steganography
#### LSB(Least Significant Bit) Substitution
- 比較沒改變那麼多,不容易被發現
- 藏太多在音訊裡還會造成 distortion
#### PVD(Pixel Value Differencing)
- 計算 pixel 的差異
- 在平滑的地方藏的話太明顯
- 在粗糙的地方藏,看起來就比較不會那麼明顯,可以多藏些
- RS Analysis 偵測不到,但可以用 PDH 的方式偵測到
### (12, 8) Hamming Code
- 原本的資料只有 8 個 bit,多了 4 個 redundant bit 變成 12 bits 的 data
- (n - k) 個 parity-check data 可以想成是 redundant(冗餘) 的 bits
- redundant bits 放在第 1 = $2^0$, 2 = $2^1$, 4 = $2^2$, 8 = $2^3$ 個位置
- redundant bits 算法就是一直 XOR
- R1 = N1 = N3 ⊕ N5 ⊕ N7 ⊕ N9 ⊕ N11
- R2 = N2 = N3 ⊕ N6 ⊕ N7 ⊕ N10 ⊕ N11
- R3 = N4 = N5 ⊕ N6 ⊕ N7 ⊕ N12
- R4 = N8 = N9 ⊕ N10 ⊕ N11 ⊕ N12
- [name=Solomon] : 讓沒修過錯誤更正碼的人說說看有沒有聽懂吧
- 舉例子
- For example, 'A' = 65, what will be the 12 bits?
- 65 = 0100 0001
- 0100 x000 x1xx
- 2109 8765 4321 (算位置用, 1=N1)
- ![](https://hackmd.io/_uploads/HkDINxgGa.png)
- R1 = 0
- R2 = 0
- R3 = 0
- R4 = 1
- 0100 1000 0100
- 可以容許幾個 bit 錯誤呢? Ans: 1-bit
- 假設 N12 出錯了
- 1100 0100 0100
- N(3, 8, 11, 12) 是 1
- 把這 4 個術用二進位表示
```
3 = 0011
8 = 1000
11 = 1011
12 = 1100
```
- 最低位 bit 都 XOR 起來 = R1;R2;R3;R4 以此類推
- 1⊕0⊕1⊕0 = 0
- 1⊕0⊕1⊕0 = 0
- 0⊕0⊕0⊕1 = 1
- 0⊕1⊕1⊕1 = 1
- 1100 = 12 是第 12 bit 有錯,能夠修正 1 個 bit 的資料
:::info
(12,8)-Hamming-Code, is able to correct 1-bit errors for each byte of payload.
(https://onlinedocs.microchip.com/oxy/GUID-7694A4AE-178D-4734-AF56-CA4FB2E35712-en-US-1/GUID-F7FBFB8E-52B0-4AA5-9832-FC24944FDDDD.html)
:::
#### MHC(Modified Hamming Code)
- 這篇 paper 修改了 hammer code 的某些細節
- R1 = D1 ⊕ D2 ⊕ D4 ⊕ D5 ⊕ D7
- R2 = D1 ⊕ D3 ⊕ D4 ⊕ D6 ⊕ D7
- R3 = D2 ⊕ D3 ⊕ D4 ⊕ D8
- R4 = D5 ⊕ D6 ⊕ D7 ⊕ D8
### Data Embedding Procedure(QVD + MHC)
#### Step 1
- 從 Pixel Block 得出 Quotient Block 和 LSB Block
- Pixel Block
::: info
Solomon: 它這個 pixel 是256色的,不是黑白的。
黑白的就只有1bit, 256色就是 8 bits.
:::
- Quotient Block
- 除以 2 的商
- LSB Block
- 除以 2 餘數
- Q: 為啥用 x?
- 只是想顯現出之後會有差異,在這一步和其他 3 個 pixel 做的事是一樣的
#### Step 2
- 8 bits data 拿去做 MHC Encoding
- MHC 出來的東西,3 個一組轉成 decimal
- (D8, D7, D6)=b1
- (D5, D4, D3)=b2
- (D2, D1, R4)=b3
#### Step 3a
- QVD = Quotient Value Difference
- 拿到 d1, d2, d3 之後拿去查表看在哪個區間,看 Lower Bound,得 LB1, LB2. LB3
- 例如說 d1 絕對值算出來是 11 的話拿到 LB 是 8
#### Step 3b
#### Step 3c
- floor 無條件捨去小數點;celling 無條件進位
#### Step 3d
- Q′m, Q′x1, Q′x2, Q′x3 當中是哪個當成最終要藏東西的地方 Q'x ,會有個競選的方法
- MSE
- P.32 示意圖
- 物理意義:距離平均最近的,比較不容易被發現
- 藍色線能想成是原本的 quotient pair (Qx, Q1), (Qx, Q2), (Qx, Q3),旁邊紫色點是我們藏完東西的 quotient pair (Q'x, Q'1), ...
- [name=Solomon] 好像這篇的目的跟 MSE 的也不太一樣,說看看你這邊想 minimized 的是什麼東西?
- 取其中一個會是一種 case,選 4 種 case 當中 MSE 最低的
#### Step 3e
- FOBP 發生, indicattor = 0 讓 reciever 知道說沒有用到 QVD,fallback 成 LSB Substitution 方案
#### Step 4
#### Step 5
- 組回 pixel block
### Data Extraction & Error Correction Procedure
因時間不足,下回分解
### Result
因時間不足,下回分解
---
### 建議&問題
1. [name=Louise] 4 個 pixel 為什麼有 8 bits?
Ans: [name=]
2. [name=August] P.9 index x 是不是代表這個 pixel 會拿來藏資料?
A: No. In P.13 you will see how Qx is used differently.
3. [name=Ashley] P.12 Why 3個bit一組?
A: 它這個方法的設計,一個byte藏3bits.
4. [name=Louise] P.18 0 是被歸類在偶數嗎?
A: 對。
5. [name=Ryan] P.3 作者加了 error detection & correction 有沒有增加到他前面列的這些quality 指標
A: 有,在 Result。
7. [name=Ryan] 作者的和其他隱寫術比起來是有優勢的嗎?
A: 他的主要貢獻就是比別人多加錯誤更正,其他好像沒啥改變,會變比較好也有點奇怪。
[name=Edgar] 2014 PVD論文已有 ceiling/floor. (https://www.researchgate.net/publication/263764539_Three-Directional_Data_Hiding_Method_for_Digital_Images)
8. [name=Yukino] P.9 只能用 1 byte 的 pixel,能不能用 3 或 4 bytes 的 pixel 來隱藏
A: RGB 圖片就會有 3 bytes,只是前面示範是用 1 byte 而已。3 bytes 就能放 9 bits 隱藏資料了。
9. [name=Selena] 我的收穫:學到資訊隱藏的方法
10. [name=Louise] (12,8)-hamming code 容許幾個 bit 的錯
A: 1 bit. (https://onlinedocs.microchip.com/oxy/GUID-7694A4AE-178D-4734-AF56-CA4FB2E35712-en-US-1/GUID-F7FBFB8E-52B0-4AA5-9832-FC24944FDDDD.html)
Phoebe: 下次找到 hamming distance 公式再來跟大家說。
Angela: 這二篇皆有講解如何計算 num of detected error
1. https://www.techtarget.com/whatis/definition/Hamming-code#:~:text=Hamming%20code%20can%20correct%20single,the%20number%20of%20data%20bits.
2. https://www.callibrity.com/blog/coding-theory-2-of-3
11. [name=Ellie] P.20 MSE 選小的意思?好處?
A: Imperceptible
12. [name=Jennifer] 一次可以藏進去的 bit 有多少
A:
13. [name=Jennifer] P.32
A: 先省略,弄更清楚再來講
14. [name=Jennifer] P.18 小括弧
15. [name=August] P.5 差異比較小能藏比較少 bit,差異大藏更多bit這樣嗎
A: 這篇在每個區間都固定藏 3 bit.
16. [name=August] (12,8)-hamming code loss 1 bit 時能 recover 回來,這篇的能 loss 幾個 bit 還能還原回來
17. [name=August] P.3 這三個 steganography 普遍的評估指標。有些是天生相衝突的。有做 error correction 的必要嗎?
A: good question to think.
18. [name=Ryan] 回應上一個問題。假想一個情境,social media 做 image compression 有機會用 error correction 拿回隱寫的資料
A: 的確社群網站他們壓縮有個目的是要避免讓人傳秘密資料
19. [name=Ashley] 上傳照片到社群軟體真的容易有資訊遺失嗎
A: 回歸到前面的兩個問題「ECC 到底是為了還原出甚麼資料」。
20. [name=Ashley] 塞了這些秘密資訊會不會讓圖片開不起來(動到他的格式)
A: 不會,這邊討論的地方都是塞在 pixel 裡面的 data 的部分。
21. [name=Miller] 到底藏在哪
A: 肉眼看不太出來,P.22 這 12 bits 都會是要藏的東西,之後會拿去藏在 pixel block
22. [name=Jiazheng] 怎樣的情況下真的會有人拿圖片去做 RS Analysis
[name=Solomon] Stuart Fox, "FBI: Russian Spies Hide Codes in Online Photos", MSNBC.com , 08 Sept. 2011.
23. [name=Angela] P.9 Quotient Block;用 block 為單位做的用意在哪?
[name=Phoebe] 用更大 block 直接提升 hiding capacity
[name=Solomon] 我覺得目的是讓它和neighbor不要差太多。改善的應是 imperceptibility. 至於 Hiding Capacity 是每個 pixel 藏3bits, 應該差不多。
24. [name=Angela] 幫補充 P.32
25. [name=Edgar] P.9 真的是 least significant bit 嗎。這樣置換會對色彩表現有很大影響吧
A: 對BMP圖片格式還沒更了解
26. [name=Edgar] P.9 X, 1, 2, 3 一定要順時針嗎
A: 覺得應該沒影響,只要其他 3 個位置有跟 x 做計算就好
27. [name=Edgar] P.15 m 計算的意義在哪
A: I don't know
28. [name=Edgar] P.17 一堆條件,floor/celling 他怎麼決定要用哪個的
A: 論文用的複雜且沒解釋
[name=Edgar] 2014 PVD論文已有 ceiling/floor. (https://www.researchgate.net/publication/263764539_Three-Directional_Data_Hiding_Method_for_Digital_Images) 跟這有沒有關
29. [name=Edgar] P.21 其他 case 怎麼就不試了;哪天有 sender 用非最小 MSE 來發送對 reciever 有何影響;P.20 這例子 Case 2, 3 兩個 MSE 都一樣小那怎麼選 Case 2
30. [name=Edgar] 建議:有個圖片範例,肉眼真的沒辦法看出有藏資料
31. [name=Solomon] P.20 2 cases 可用,fallback 也能有兩種方法,reciever 怎麼解
A: QVD/LSB 有 indicator 區分;2 cases 不知
32. [name=Solomon] P.17 幾數偶數做區分有道理嗎?
## 待追蹤事項
1. [name=]
## 臨時動議
1. 沒講完的下週繼續報。以後的人都往後順延,要修改報告次序
2. 交接 ms15 也要發文,也可以對兩份 SOP 合併之後 FB 發文說你改進什麼地方
3. 右邊冷氣遙控器,請廠商再處理。不該跟系辦講已經沒問題了
---
散會結束時間: 23:10