๐ง๐ปโ๐ป์ฉ์ด ์ ๋ฆฌ
Computer vision
Edge
Segmentation
huffman coding
run-length encoding
Transfer coding
DCT
Quantization
Thresholding
Zigzag scanning
DC
AC
Entropy coding
Decoding
์ด๋ฒ์๋ compression ์ค์์๋ lossy compression, ์ฆ ์์ค ์์ถ์ ๋ํด ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
ํด๋น ๊ณผ์ ์ ์ด์ด์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Transfer coding

block์ m x n์ ํฌ๊ธฐ์ ๋ํด์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
DCT๊ฐ์ง๊ณ ์ ๋ฒ์๋ 4 x 4๋ก ํ์๊ณ ,
8 x 8์ block์ผ๋ก ์งํํด๋ณด๊ฒ ์ต๋๋ค.
์ง๊ธ, 0 ~ 255 ์ฌ์ด์ ๊ฐ๋ค์ด ๋ค์ด๊ฐ ์์ต๋๋ค.
๋ค์์ ๊ณผ์ ์ ๋ด ์๋ค.
1. ๊ฐ pixel์ ๊ฐ์ 128์ ๋นผ์ค๋๋ค. (์ ์ฒ๋ฆฌ)

pixel์ ์ค๊ฐ๊ฐ์ธ 128์ ๋นผ์ฃผ์ด ๋ถํฌ์์ ์ค๊ฐ๊ฐ์ ๋นผ๋ฉด 0๊ธฐ์ค ๊ฐ์ผ๋ก ๋๋๊ฒ ๋ฉ๋๋ค.
์ด๊ฒ์ ๋ชฉ์ , ๋ถ์ผ์ ๋ฐ๋ผ ์กฐ๊ธ์ฉ ๋ฌ๋ผ์ง๋๋ค.
2. DCT

128์ ๋บ ๊ฐ์๋ค๊ฐ DCT๋ฅผ ๊ตฌํด์ค๋๋ค.
๊ฐ์ฅ ์ผ์ชฝ ์์ ๊ฐ์ด DC ์ฑ๋ถ์ผ๋ก, ํ๊ท ๊ณผ ๋น๋กํ ๊ฐ์ด๋ฉฐ ๋ฐ๊ธฐ์ ๋น์ทํ ๊ฐ์ ๋๋ค.
๊ทธ๋์ ๋ณํ๋์ ๋ํ๋ด๋ ๋๋จธ์ง AC ์ฑ๋ถ์ ๋นํด ํฐ ๊ฐ์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
๊ทธ๋์ ์ด๋ฌํ AC ๊ฐ์ ์ด๋ค ๋ณํ๋๋ค์ ๋ฝ์์ฃผ๋ ์ญํ ์ ํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค๋ฉด, X ๋ฐฉํฅ ๋ณํ๋์ ๋ฝ์๋ด๋ filter๋ก filtering์ ํ๋ ๊ฒ๊ณผ ๋ค๋ฅผ ๊ฒ ์๋ค๊ณ ๋ณด์์ต๋๋ค.
3. Quantization + Thresholding

์ด Quantization์ ๊ฐ์ ๋ํด ๋๋๊ธฐ๋ฅผ ํ๊ณ ์์์ ๋ํด ๋ฐ์ฌ๋ฆผ์ ํ์ฌ ์ ์ ํน์ ์์ฐ์ํ ์ํค๋ ๊ณผ์ ์ ๋๋ค.
8 x 8 ํฌ๊ธฐ์ Quantization table์ ์ฃผ์ด์ง๋๋ค.
๋ด๊ฐ ์์ถํ๊ณ ์ ํ๋ Block์ ํฌ๊ธฐ์ ๊ฐ์ ํฌ๊ธฐ์ table์ด์ด์ผ ํ๊ณ , ์ด๋ฌํ table์ ๊ฐ์ง๊ณ ๋๋๊ธฐ๋ฅผ ํด์ผํฉ๋๋ค.
๊ฐ์ ํฌ๊ธฐ์ด๋ฏ๋ก ์ ํํ ๋์ผํ ์์น์ ๋ํด ๋๋๊ธฐ๋ฅผ ์งํํ ์ ์์ต๋๋ค.
์ฐ์ธก์ ๋ณด๋ฉด -415 / 16 ์ดํ ๋ฐ์ฌ๋ฆผ์ ํ์ฌ -26์ด ๋์ค๊ฒ ๋ฉ๋๋ค.
์ด๊ฒ์ ์ ํ ๊น์?
DCT ๊ฒฐ๊ณผ๊ฐ ์์ฒด๋ฅผ bitํ ์์ผ๋ ๋ฉ๋๋ค.
์๋ ์์๋ฅผ ๋ด ์๋ค.
์ฐ๋ฆฌ๊ฐ ์์ถ์ ํ๋ ๋ชฉ์ ์ ์ต๋ํ ์ ์ bit์ ์๋ก ์์ ์ซ์๋ค์ ์์ถ์ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ด์ฃ .
๊ทธ๋์ ์ต๋ํ bit ์๋ฅผ ์ค์ผ ์ ์๋ ๋ฐฉํฅ์ด์ด์ผ ํฉ๋๋ค.
๊ทธ ์ค ํ๋๊ฐ ๋ด๊ฐ ํํํ๊ณ ์ ํ๋ ์ซ์์ ๋ฒ์๋ฅผ ์ค์ด๋ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด,
8, 12, 100 ๊ฐ์ง์ ๊ฐ์ ํํํ๋ ค๋ฉด ๊ฐ๊ฐ 3bit, 4bitm 7bit๊ฐ ํ์ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด,
๋ด๊ฐ ํํํ๊ณ ์ํ๋ ๊ฐ์ ๋ฒ์๊ฐ ํฌ๋ฉด ํด์๋ก ๋ ๋ง์ด ํ์ํด์ง๋๋ค.
์ ์์ฒ๋ผ,
-415์์ 16์ผ๋ก ๋๋๊ณ ๋ฐ์ฌ๋ฆผํ์ฌ -26์ ๋ง๋ค์์ต๋๋ค.
415๋งํผ์ ๋ฒ์์ ๋ํด ์ด๋ ๊ฒ ๋๋๊ธฐ๋ฅผ ํด์ค์ผ๋ก์จ -26์ผ๋ก ๋ง๋ค์์ต๋๋ค.
์ด๋ ๊ฒ ๋๋ ์ฃผ๋ ๊ฒ ์์ฒด๊ฐ ํํ์ ๋ฒ์๋ฅผ ์ค์ฌ์ฃผ๋ฏ๋ก ์์ถ์ ๋์์ด ๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์์ฒญ ํฐ ์๋ก ๋๋๋ฉด ์ด๋จ๊น์?
์ด๊ฒ์ ๋น์ฐํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์์ถ๋ฅ ์ ์ข์ ์ ์์ง๋ง, ์๋ ๊ฐ์ผ๋ก ๋ณต์ํ ๋๋ฅผ ์๊ฐํ๋ฉด ์ข์ง ์์ต๋๋ค.
-415์์ 16์ ๋๋์ด -26์ผ๋ก ๋๋์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์๋์ ๊ฐ์ด ๋นํธ๋ก ๋ง๋ค์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ๋ค์ ๋์์ฌ ๋, -26์ผ๋ก ๋์์๋ค๊ณ ๋ณด๊ณ , table์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ํตํด -26 x 16์ ํตํด -416์ผ๋ก ๋์์์ต๋๋ค.
์ฌ๊ธฐ์ ์ค์ฐจ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ์ด๊ฒ์ด ์์ค์ด์ฃ .
์ฌ๊ธฐ์ ์ต์ ์ case๋ 15๊น์ง์ ์ค์ฐจ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๊ทธ๋์ ์์ค ์์ถ์ด๋ผ๊ณ ๋ถ๋ฅด๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ผ์๋ ์์ถ๋ฅ ์ ๋์ผ ์ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋๋๊ธฐ๋ฅผ ํด์ฃผ๊ณ , ๊ทธ๋ก ์ธํด ๋ฐ์ํ๋ ์ค์ฐจ๋ ๊ฐ์ํ๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค.
์ด์ DC ์ด์ธ์ ๋๋จธ์ง AC ๋ถ๋ถ์ ๋ณด๊ฒ ์ต๋๋ค.
๋๋๊ธฐ๋ก ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด, ์ผ์ชฝ ์์์ ์ค๋ฅธ์ชฝ ์๋๋ก ๊ฐ ์๋ก ๋๋ถ๋ถ 0์ ๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ ์ด์ DCT๋ฅผ ํต๊ณผํ ๊ฐ์ด ํฌ์ง ์๊ณ , DC์์ ๋ฉ์ด์ง ์๋ก ๊ฐ์ด ์์์ง๋๋ค.
๊ทธ๋ฆฌ๊ณ Quantization table์ ๋ณด๋ฉด, ์ฐ์ธก ํ๋จ์ผ๋ก ๊ฐ ์๋ก, DC์์ ๋ฉ์ด์ง ์๋ก ์ด๋ฏธ์ง๋ฅผ ๋ณต์ํจ์ ์์ด ๊ทธ๋ ๊ฒ ์ค์ํ ๊ฐ์ด ์๋๋, ๋๋๊ธฐ๋ฅผ ํฌ๊ฒ ํ์ฌ ๊ฐ์ ๋ฒ์๋ฅผ ๋ฎ์ถ์ด ์ค๋๋ค.
์ฆ, ํ์ ์๋ ๋ถ๋ถ์ ํฐ ๊ฐ์ ๋๋์ด 0์ผ๋ก ๋ง๋ค์ด ์์ถ๋ฅ ์ ๋์ ๋๋ค.
์ด๋ ๊ฒ 0์ด ๋ง์ด ๋์ค๊ฒ ๋๋ฉด,
์์์ ๋ฐฐ์ด ๊ฒ์ฒ๋ผ run-length ๋, ๊ฐ์ ์ซ์๊ฐ ๋ฐ๋ณตํด์ ๋ง์ด ๋์ค๋ฉด ์ ์ฅํ๊ธฐ๋ ์ฌ์์ง๋๋ค.
๊ทธ๋ฆฌ๊ณ 0์ ๋ง์ด ๋ฐ์ ์ํค๋ฉด 0์ ๊ฐ์๋ง ์ธ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ ์ bit์๋ก ํํ์ด ๊ฐ๋ฅํด์ง๋๋ค.
ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ ์ด์ ์ฐ์ง ์๊ฒ ๋ค๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์ ๋๋ค.
์ด 0์ ๊ฐ์ ์ด๋ค ๊ฐ์ ๊ณฑํด๋ 0์ด ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ค์ ์ฐ์ง ์๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ด image ๋ณต์์ ์์ด ํฌ๊ฒ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
๊ทธ๋์ ๊ทธ๊ฒ์ ๊ฐ์ํ๊ณ ๋ฒ๋ ค์ ์ฐ์ง ์๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ ๋ฎ์ ๊ฐ์ ๋ฌด์ํ๊ฒ ๋ค๋ ๊ฒ์ด์ฃ .
์ด Quantization table์ JPEG๋ฅผ ์ฐ๊ตฌํ๋ ์ฌ๋๋ค์ด ์ค๋ ์ฐ๊ตฌ๋ก ์คํ์ ์ผ๋ก ๋ง๋ค์ด๋ด์ด ์ ํ ๊ฐ์ด๋ฉฐ ๊ฐ์ด ๋ฐ๋์์ ์๋ ์์ต๋๋ค.
์ฐ์ฐ ์์ฒด๋ ๊ฐ๋จํ์ฃ .
์ด๊ฒ์ ๋ฒ์๋ฅผ ๋ฎ์ถฐ์ฃผ๊ณ ๋ ๋์๊ฐ 0์ผ๋ก ๋ง๋ค์ด ๋ฒ๋ ค ํํ ์ซ์ ๋ฒ์๋ฅผ ์ค์ด๋ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
์ด๋ ๊ฒ ํน์ ๋ถ๋ถ์๋ง ์ค์ํ ์ ๋ณด๊ฐ ๋ชฐ๋ฆฌ๊ฒ ํ ์ ์์ต๋๋ค.
๊ฑฐ์ ์ ๋ฐ ๋ถ๋ถ์ ๊ฑฐ์ ๋ ๋ฆฌ๊ฒ ๋๋ ๊ตฌ์กฐ์ ๋๋ค.
4. Zigzag scanning

์ด๊ฒ์ ๊ฒฐ๊ณผ์ ์ผ๋ก bitํ ์ํต๋๋ค.
์์ถ ๊ณผ์ ๋ํ 2์ฐจ์์ด ์๋ vector์ ํํ๋ก 1์ฐจ์์ผ๋ก ๋์ดํด์ผํฉ๋๋ค.
์ฐ๋ฆฌ๋ image ์ ๊ทผ์ ์์ด ๊ฐ๋ก scanning์ ๋ง์ด ํด์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ๋จ์ํ๋ฉฐ ํจ๊ณผ์ ์ธ zigzag scanning์ ์ฌ์ํ๊ฒ ๋ฉ๋๋ค.
0์ด ์ฌ๊ธฐ์ ์๋ฅผ ๋ค์ด 40๊ฐ๊ฐ ์๋ค๊ณ ๋ด ์๋ค.
๊ทธ๋ผ EOB๋ผ๋ ๊ฒ์ ์ฌ์ฉํด ์ด ๋ค๋ ๋ค 0์์ ๋ํ๋ด๋ ๊ฐ์ ๋ํ๋ ๋๋ค.
์ฐ๋ฆฌ๊ฐ scanning์ ํ ๋, ๋ ๋ถ๋ถ์ 0์ด ๋ง์ด ์์ ์๋ก ํจ๊ณผ์ ์ด๊ฒ ์ต๋๋ค.
๊ทธ๋ฌํ ๊ฒ์ ํ ์ ์๋ ๊ฒ์ด ์ด zigzag ์ ๋๋ค.
๋นจ๋ฆฌ 0๋ค์ ๋๋ฌํ๊ธฐ ์ํด์ zigzag๊ฐ ๊ฐ๋ก scanning๋ณด๋ค ํจ๊ณผ์ ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ zigzag๊ฐ EOB ์์์ 0์ ๊ฐ์๊ฐ ํจ์ฌ ๋ง์์ง ์ ์์ต๋๋ค.

๋ง์ฝ, EOB ์์ 0์ ๊ฐ์๊ฐ 40๊ฐ ์ด๊ณ , ๋๋จธ์ง๋ 24๊ฐ๋ผ๊ณ ํ๋ค๋ฉด,
24๊ฐ๋ง bitํ ์ํค๋ฉด ๋์ธ ๊ฒ์ ๋๋ค.
์ด ์ 24๊ฐ๊ฐ ํจ์ฌ ์ ์ผ๋ zigzag scanning์ด ํจ์ฌ ํจ์จ์ ์์ ์ ์ ์๊ฒ ๋ฉ๋๋ค.
0์ ์ซ์๋ ๋์ผํ์ง๋ง, 0์ ์ฐ์ํ ๊ฐ์๋ฅผ ๋๋ฆด ์ ์๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค.
์ด๋ ๊ฒ ์์ถ๋ฅ ์ ์ฌ๋ฆด ์๊ฐ ์์ต๋๋ค.
DC
DC ๊ฐ์ ๋ฐ๊ธฐ ๊ฐ์ ๋น๋กํด์ ๋์ต๋๋ค.
๋ ๋ค ๊ฐ์ ๋ฐฐ๊ฒฝ์ ์ด๋ฏธ์ง์ด๋ฉด ๊ฐ ์ฐจ์ด๊ฐ ๊ฑฐ์ ๋์ง ์์ ๊ฒ์ ๋๋ค.

์์ถ ํ๋ ๊ฐ์ ๋ฒ์๋ฅผ ์ค์ด๋ฉด ์ค์ผ ์๋ก ์์ถ๋ฅ ์ด ์ข์์ง๋๋ค.
๊ทธ๋์ ์ด์ block ๋ผ๋ฆฌ ๊ฐ์ ๊ฒฝ์ฐ residual์ ์ ์ฉํ์ฌ ์์ ๋ฒ์๋ฅผ ์ค์ผ ์ ์์ผ๋, DC ๋ง์ ์ฐจ์ด๋ฅผ ํตํด residual์ ์ฌ์ฉํ์ฌ bitํ ์ํค๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์์ถ๋ฅ ์ ์ค์ด๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค.
์ธ์ ํ block ๊ฐ์, DC ๋ถ๋ถ์ ์ฐจ์ด๋ฅผ ๊ตฌํ๋ฉด ๊ฐ์ ๋ฎ์ ๊ฐ์ผ๋ก ๋ง์ด ๋ง๋ค์ด์ค ์ ์์ต๋๋ค.
์ด ์ฐจ์ด๋ฅผ ๊ตฌํ๋ part๊ฐ ์๊ณ , AC๋ ๋ฐ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ ๊ฒ ์๋๋ ์ฐจ์ด๋ฅผ ํ์ง ์๊ณ ,
๋ฐ๊ธฐ๋ฅผ ๊ณ์ฐํ๋ Part์ธ DC ๊ฐ๋ง ์ธ์ ํ block ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ตฌํด์ ๊ทธ ์ฐจ์ด๋ก ๋์จ ๊ฐ์ bitํ ์ํต๋๋ค.
์ผ์ชฝ block์ DC ๊ฐ์ -17๋ก ๊ฐ์ ํ๋ค๋ฉด,
-9์ ๋ํด์ ํ๋ ค๋ฉด 2๊ฐ์ table ์ด ํ์ํฉ๋๋ค.

์ฌ๊ธฐ์ -9์ด๋ category๊ฐ 4์์ ์ ์ ์์ต๋๋ค.
์ด category์ ๋ํด์ 101์ Bit ๊ฐ์ ์ด๋ค๊ณ ํ์๊ณ ,
์ด ๋ฒ์ ์์ ์๋ค๊ณ ์์ํ๋ ๊ฐ์ด 101์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , -9 ์์ฒด๋ฅผ ํ๊ธฐ๋ฅผ ํด์ผํ๋,
์ ๊ทธ๋ฆผ์ฒ๋ผ,
9๊ฐ 1001์ด๋, ๋ณด์๋ก ๋ฐ๊พธ์ด
-9๋ 0110์ผ๋ก ํ๊ธฐํฉ๋๋ค.
๊ทธ๋์ ํด๋น residual์ด 1010110์ผ๋ก ํ๊ธฐ๋ฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด category๋ ์ ๋ถ์ผ๊น์?
ํ์ฌ bitํ ์ํค๊ณ ์ ํ๋ ๊ฒ์ -9์ด๊ธด ํ์ง๋ง,
์ฐ๋ฆฌ๊ฐ ํ์ฌ ํํํ๊ณ ์ํ๋ DC ๊ฐ์ ๋ฒ์๋ฅผ ๋ชจ๋ฆ ๋๋ค.
0 ~ 255์ Pixel ๊ฐ์ด ์กด์ฌํ๋๋ฐ, ์ด๊ฒ์ 8๋นํธ ์์ ๋ค์ด๊ฐ๋๋ค.
DC ๊ฐ์ ๊ทธ๊ฒ๋ณด๋ค ๋ฒ์๊ฐ ๋ ์ปค์ง ์ ์์ต๋๋ค.
๊ทธ๋์ ๊ทธ ๋ฒ์๋ฅผ ์ต๋ํ ํฌ๊ฒ ์ก์๋ฌ์ผ ์ค๋ฅ์์ด ์งํ๋ ์ ์์ต๋๋ค.
์ต๋ํ ์๋ฌ๊ฐ ๋์ค์ง ์๊ฒ ํ๊ธฐ ์ํด์ ๋์ฌ ์ ์๋ ๋ชจ๋ ๊ฐ์ ๋ฒ์๋ฅผ ๋ค ํฌ๊ดํด์ผํฉ๋๋ค.
๊ทธ๋์ 8.17. table์ ๋ณด๋ฉด, ๊ฐ์ฅ ์๋ซ ๋ฒ์๋ ๊ฝค ํฐ ๊ฐ์ด ๋ฉ๋๋ค.
์ด๊ฒ์ 3๋ง๋๊น์ง ๊ฐ๋ ค๋ฉด 16์ ๊ณฑ๊น์ง๋ ๊ฐ ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ชจ๋ 16 ๋นํธ๋ก ์ก์๋๋ฉด ๋๋ฌด ๋นํจ์จ์ ์ด๋,
์ฌ๊ธฐ์ ์ ๋ฒ์ ๋ฐฐ์ด huffman์์,
์์ฃผ ๋์ค๋ case๋ ์ ์ Bit ์๋ฅผ ํ ๋นํ๋ ๊ฒ์ด์์ฃ .
์ด concept๊ณผ ๊ฐ์ ๊ฒ์ ๋๋ค.
์ฐ์ , ๋ฒ์๋ฅผ ์ต๋๋ก ์ก์ ์ค๋ฅ๊ฐ ๋์ค์ง ์๋๋ก ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๊ทธ๋ฐ๋ฐ ์ด ์ต๋ bit๋ฅผ ๋ค ์ฌ์ฉํ๋ฉด ๋๋ฌด ๋ญ๋น์ด๋,
์์ฃผ ๋์ค๋ 0 ~ 15 ์ฌ์ด์ ๊ฐ์ ๋ํด์ ๋นํธ๊ฐ ๋ค ์๊ฒ ๋์ด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋ฒ์์์ ๊ฐ์ด ์ปค์ง๋ฉด ์ปค์ง์ ๋ฐ๋ผ, ์ด category๋ฅผ ํํํ๋ bit ์๊ฐ ์ ์ ๋์ด๋ฉ๋๋ค.
์ด๊ฒ์ด huffman์ concept์ ๋๋ค.
์ด๊ฒ์ huffman์ ํ๊ธด ํ์ง๋ง, ๊ฐ ์์ฒด์ ๋ํ ๋น๋๋ณด๋ค๋, ๊ฐ์ด ์ด๋ค category์ ์ํ๋์ง๋ฅผ ๋จผ์ ์ง์ ์ ํฉ๋๋ค.
์ด ๋น๋์ ๋ฐ๋ผ category์ bit ์๋ฅผ ํํฉ๋๋ค.
๊ทธ๋์ -9๋ 1010110์ผ๋ก bit ์ด 7๊ฐ๋ก ํํํ ๊ฒ์ ๋๋ค.
AC

์ด์ AC๋ฅผ ๋ด ์๋ค.
-3์ ๋ํด์ ๋ฐ์ ธ๋ด ์๋ค.
AC๋ ๋ง์ฐฌ๊ฐ์ง๋ก, category๋ฅผ ์ฐพ์๊ฐ๋๋ค.
DC์ ๋ค๋ฅด๊ฒ category๊ฐ '/'๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
/ ์์ ์จ์ง๋ ์๋ ์ง๊ธ -3 ์์ 0์ด ๋ช ๊ฐ ์๋์ง๋ฅผ ์๋ฏธํ๋ ๊ฒ์ ๋๋ค.

๊ทธ๋์ -3 ์์ 0์ด ์์ผ๋ฏ๋ก, -9 ๋ฐ์ ์์ผ๋ฏ๋ก, / ์์๋ 0์ด ๋๊ณ ,
cateogry๋ 2์ด๋ฏ๋ก,
0/2๊ฐ ๋ฉ๋๋ค.

0/2 group์ด ์๋ฏธํ๋ ๊ฒ์ 01์ ๋๋ค.
๊ทธ๋์ 01์ ๊ฐ์ ธ์ค๊ณ ,
์ด๊ฒ์ group์ ๋ปํ๋ Bit์ด๊ณ ,
-3์ ๊ฐ๋ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
๊ทธ๋์ -3์ ์ต์ข ์ ์ผ๋ก 0100์ด ๋ฉ๋๋ค.
๋จผ์ group์ ๋ํ category๊ฐ ๋จผ์ ํ ๋น ๋๊ณ , ๊ทธ ๋ค์์ ํด๋น ์ซ์์ ๋ํ Bit๊ฐ ๋ค์ด๊ฐ๋๋ค.
์ฌ๊ธฐ์ bit๋ฅผ ๋ค์ ์ซ์๋ก ๋ณด๋ ๋ณตํธํ, ๋ณต์์ด ์ด๋ ต๊ณ ๋ณต์กํฉ๋๋ค.
์ฌ๊ธฐ์๋ ๋ค๋ฃจ์ง ์๊ฒ ์ต๋๋ค.
์ด๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฃผ ๋์ค๋ ๊ฒ์ ๋ํด์๋ ์ ์ bit, ๋ง์ด ๋์ค๋ ๋ฒ์์์๋ ํฐ bit๋ก ํํํ๋ concept์ ๋๋ค.
DC์ ๋ค๋ฅธ ๊ฒ์ ์์ 0์ด ๋ช ๋ฒ ๋์๋์ง๊น์ง ์ฒดํฌํฉ๋๋ค.
AC๋ 0์ด ์ค๊ฐ์ค๊ฐ์ ์กด์ฌํฉ๋๋ค.
๊ทธ๋์ 0์ ํ๋ํ๋ ๋ณด๋ ๊ฒ๋ณด๋ค 0์ด ๋ช ๋ฒ ๋ฐ์ํ๋์ง๊น์ง ๊ฐ์ด ๋ฌถ์ด์ ๋ณด๋ ๊ฒ์ด ์กฐ๊ธ ๋ ์ข๋ค๊ณ ํ๋จ๋ฉ๋๋ค.

0, 0, -1์ 0์ ๋ฌด์กฐ๊ฑด ๋ฌถ์ด์ ํํํ๋ค๊ณ ํ์์ฃ .
๊ทธ๋ฆฌ๊ณ 0์ด ์ ๋์ค๋ ์ซ์๊น์ง ๊ธฐ๋ก์ ํฉ๋๋ค.
๊ทธ๋์ 0, 0, -1์ด ํ set์ ๋๋ค.
์ด๋ ๊ฒ ํ ๋ฒ์ bitํ๋ฅผ ์ํต๋๋ค.
์ฌ๊ธฐ์๋ -1์ด ์ด๋ค category์ ๋ค์ด๊ฐ์ผํ๋์ง๋ฅผ ๋ด์ผํฉ๋๋ค.
์ด ๊ฒฝ์ฐ category 1์ด๊ณ ,
0์ด ๋ ๋ฒ ๋ฐ์ํ์ผ๋ฏ๋ก, 2/1๋ก ์ด group์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๊ทธ๋์ ํ์์ ์ฐพ์์ ๋ณด๋ฉด 11011์ด๊ณ , -1์ ํํํ๋ฉด 0์ด ๋๋ฏ๋ก,
0, 0, -1์ 110110์ด ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง EOB๋ถํฐ ๋ง์ง๋ง๊น์ง ๋ค 0์์ ๋ํ๋ ๋๋ค.
์ฆ, "์ฌ๊ธฐ์๋ถํฐ 64๊น์ง ๋ค 0์ ๋๋ค."์ด๋ผ,
EOB๋ 1010์ผ๋ก Bit๋ฅผ ๋ํ๋ ๋๋ค.
๊ทธ๋ฆฌ๊ณ -26์ residual์ ๋ํด์ -9๋ก ๊ณ์ฐ์ด ๋ ํํ์ ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก 93 Bits๋ก ํํํ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก, 64๊ฐ์ pixels ๊ฐ์ ๋ํด์ 8 bits๊ฐ๊ฐ ์์ผ๋ฏ๋ก,
512 bits๊ฐ ์กด์ฌํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๊ฒ์ JPEG ๋ฐฉ๋ฒ์ ํตํด์ 92 bits๋ก ์ค์์ต๋๋ค.
์ด๋ ๊ฒ ๋ง์ด ์ค์ด๋ค๋ณด๋, ์์ค์ด ๋์ ๊ฐ์ด ๊ทธ๋๋ก ๋์์ค๊ธฐ๋ ์ด๋ ต์ต๋๋ค.
๊ทธ๋์ ์ด๋ฌํ ๋ถ๋ถ์์ ์์ฃผ ๋์ค๋ ๊ฒ์ ์ ์ bits ์๋ก, ์ ๊ฒ ๋์ค๋ ๊ฒ์ ๋ง์ bits ์๋ก ํํํ๋ huffman์ด ์ฌ์ฉ๋์๊ณ ,
AC ๋ถ๋ถ์์ 0์ด ๋ช ๋ฒ ๋ฐ์ํ๋์ง ์ค๊ฐ ์ค๊ฐ ์ฒดํฌํ๋ run-length๊น์ง ๊ฐ๋ ์ด ๋ค์ด๊ฐ ์์ต๋๋ค.
๊ทธ๋ฌ๋ Huffman๊ณผ run-length๋ ์์ค์ด ์ผ์ด๋์ง๋ ์์ต๋๋ค.

๊ทธ๋์ bitํ ์ํค๊ณ ์๋์ ๊ฐ์ผ๋ก ๋์์ค๋ ๋ถ๋ถ์์๋ loss๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ, 10์ง์๋ก ๋ฐ๋ ๋ค์์ ๋ค์ ๊ณฑํ๊ธฐ๋ฅผ ํตํด์ ์๋ ๊ฐ์ผ๋ก ๋์๊ฐ๋ ๋ถ๋ถ์์ loss๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฆ, quantization์์ ๋๋๊ธฐ ํ ๋ ๋ฐ์ํ๋ ๊ฒ์ ๋๋ค.
์ค์ ๋ก ๊ณฑํ๊ธฐ๋ก ๋์์์ ๋ ๋ค๋ฅผ ์ ์์ต๋๋ค.
DCT๋ฅผ ํด์คฌ์ผ๋, ๋ค์ inverse DCT๋ฅผ ํด์ฃผ๋ฉฐ,
์ฌ๊ธฐ์๋ ๋น์ฐํ Loss๋ ์ผ์ด๋์ง ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก 128์ ๋ํด์ฃผ๋ ๊ฒ์ผ๋ก ๋๋ฉ๋๋ค.
๊ทธ๋์ ์์ ๊ฐ์ before, after table์ ๋ณผ ์ ์์ต๋๋ค.

์์ถ ํ ๋ณต์ํ ์ฌ์ง์ ๋๋ค.
์์ ๊ฐ์ด ์ก์์ผ๋ก ๋ดค์ ๋๋ ํฌ๊ฒ ์ฐจ์ด๋ ์ ๋ณด์ ๋๋ค.

๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ๋นผ๊ธฐ๋ฅผ ํ์ ๋, noise๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค.
์ค์ ๋ก ์ด๋ฌํ ๊ฐ์ ๋ณํ๋ ์๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋์ Quantization์์ loss๊ฐ ๋ฐ์ํ๋ค๊ณ ํ์ต๋๋ค.
์ฌ๊ธฐ์ ๋๋๋ ๊ฐ์ ๋ ํฌ๊ฒ ํ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?

์์ ๊ฐ์ด ์ค์ฐจ๊ฐ ๋ ๋ง์ด ๋ฐ์ํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.

๋ ํฐ ์๋ก ๋๋ ์๋ก ๋ ๋ง์ ์ค์ฐจ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ์์ ๊ฐ์ด ๋ณผ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ Block ๋ณ๋ก ๋ง์ถฐ์ ์งํํ๊ณ ๋ค์ ๋ณต์ํ๋, ๋งค๋๋ฝ๊ฒ ์งํ๋ผ์ผ block ๋ค์ด image์์ ์ ๋ณด์ด๋๋ฐ,
๋ ํฐ ๊ฐ์ผ๋ก ๋๋ ๊ฒ๋ค์ block ๋ค์ด ๋ํ๋ ์์ต๋๋ค.
๋น์ฐํ๊ฒ๋,
๋ ํฐ ๊ฐ์ผ๋ก ๋๋ ์ค ์๋ก ๋ ๋ง์ด ๋ฌ๋ผ์ง ์๊ฐ ์๊ณ ,
16์ผ๋ก ๋๋ ์ฃผ๋ฉด 0 ~ 15์ ์ค์ฐจ์ด์ง๋ง 32๋ก ๋๋ ์ฃผ๋ฉด 0 ~ 31์ ์ค์ฐจ๊ฐ ์์ ๊ฒ์ ๋๋ค.
๋ง์ฝ 10๋ฐฐ๋ผ๋ฉด 160์ผ๋ก ๋๋์ด 0 ~ 159์ ์ค์ฐจ๊ฐ ์์ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ 0์ผ๋ก ๋๋ ์ซ์๊ฐ ๋ ๋ง์์ง๋๋ค.
0์ด ๋๋ฉด ๋ฐ์ดํฐ๊ฐ ์์ ๋ ๋ผ๊ฐ๋ ๊ฒ์ ๋๋ค.
์๋ฌด๋ฆฌ AC ๋ถ๋ถ์์ ์ค์ํ์ง ์์ ๋ถ๋ถ์ด ๋ง๋ค๊ณค ํ์ง๋ง,
๋จ๊ฒจ๋์ด์ผ ํ AC ๊ฐ๋ ๊ฐ์ด 0์ด ๋์ด๋ฒ๋ฆฌ๋ฏ๋ก ๋ณต์์ด ์ ๋ฉ๋๋ค.
ํฐ ๊ฐ์ผ๋ก ๋๋์ด์ค ์๋ก ๋ณต์ํ์ ๋ ์๊ณก์ด ์ปค์ง๋๋ค.
๊ทธ๋ผ์๋ ์์ถ๋ฅ ์ ์ข์์ง๋๋ค.
0์ ๊ฐ์๊ฐ ๋ง์์ง๊ณ ๊ฐ ์์ฒด์ ๋ฒ์๊ฐ ์์์ง๊ธฐ ๋๋ฌธ์ด์ฃ .
๊ทธ๋ ๊ฒ ๊ฐ์ ๋ฒ์๋ฅผ ์ขํ๊ณ 0์ ๋ฐ๋ณต๋ค์ ๋๋ ค์ ์์ถ๋ฅ ์ด ์ค์ด๋ญ๋๋ค.
๊ทธ๋ผ์๋ ๋ณต์๋ฅ ์ ๋จ์ด์ง๊ฒ ๋ฉ๋๋ค.
์์ถ๋ฅ ๊ณผ ๋ณต์๋ฅ ์ ์ต์ ์ point๋ฅผ ์ก์์ผํฉ๋๋ค.
๊ทธ๊ฒ์ด ์๊น ์ ์ฉ๋ Quantization table์ธ ๊ฒ์ด์ฃ .
'Artificial Intelligence > Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Computer Vision] Image Restoration - Wiener Filter(Adaptive Filtering) (1) | 2023.05.25 |
---|---|
[Computer Vision] Image Restoration - Salt and Pepper noise (0) | 2023.05.18 |
[Computer Vision] Objectives - JPEG Algorithm (0) | 2023.05.10 |
[Computer Vision] Objectives - Huffman Coding, Run-length Encoding (0) | 2023.05.10 |
[Computer Vision] Segmentation (1) | 2023.05.07 |