ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด

๋˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋Š” ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์— ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ณ  ์‹ถ์–ดํ•˜์ง€๋งŒ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์—ฌ์œ  ๊ณต๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ "๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๊ณ  ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—" ์•„๋ฌด๊ฒƒ๋„ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์œผ๋กœ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์•„๋ฌด๋„ ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์—๋Š” ํ…Œ๋ผ๋ฐ”์ดํŠธ๊ธ‰์˜ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉฐ ์ด ์–‘์€ ์ค„์–ด๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ผ๋งˆ๋‚˜ ๋…ํŠนํ•ฉ๋‹ˆ๊นŒ? ๊ฒฐ๊ตญ ๋ชจ๋“  ํŒŒ์ผ์€ ํŠน์ • ๊ธธ์ด์˜ ๋น„ํŠธ ์ง‘ํ•ฉ์ผ ๋ฟ์ด๋ฉฐ ์ƒˆ ํŒŒ์ผ์€ ์ด๋ฏธ ์ €์žฅ๋œ ํŒŒ์ผ๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์— ์ด๋ฏธ ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ์‹คํŒจ๋Š” ์•„๋‹ˆ์ง€๋งŒ ์ ์–ด๋„ ํšจ๊ณผ์ ์ธ ์ž‘์—…์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์ฐจ์ด๊ฐ€ ์ž‘๋‹ค๋ฉด ์กฐ๊ธˆ ์กฐ์ •ํ•˜๋ฉด ๋˜๋Š”๋ฐ...

ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด

TL;DR - JPEG ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋ ค๋Š” ๋‘ ๋ฒˆ์งธ ์‹œ๋„๊ฐ€ ์ด์ œ ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๋น„ํŠธ์™€ ์ฐจ์ด์— ๋Œ€ํ•˜์—ฌ

์™„์ „ํžˆ ๋ฌด์ž‘์œ„๋กœ ๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ์ทจํ•˜๋ฉด ํ‰๊ท ์ ์œผ๋กœ ํฌํ•จ๋œ ๋น„ํŠธ์˜ ์ ˆ๋ฐ˜์ด ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๊ฐ ์Œ('00, 01, 10, 11')์— ๋Œ€ํ•ด ๊ฐ€๋Šฅํ•œ ๋ ˆ์ด์•„์›ƒ ์ค‘ ์ •ํ™•ํžˆ ์ ˆ๋ฐ˜์€ ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ์—ฌ๊ธฐ์—์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฌผ๋ก  ๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€์„œ ํ•˜๋‚˜๋ฅผ ๋‘ ๋ฒˆ์งธ ํŒŒ์ผ์— ๋งž์ถ”๋ฉด ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ์žฌ์ฐฝ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธํƒ€ ์ธ์ฝ”๋”ฉ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋™์ผํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€๋Š” ์•Š์ง€๋งŒ ์šฐ๋ฆฌ ์—†์ด๋„ ์™„๋ฒฝํ•˜๊ฒŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋” ์ž‘์€ ์‹œํ€€์Šค๋ฅผ ๋” ํฐ ์‹œํ€€์Šค์— ์‚ฝ์ž…ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์— ๋ฌด๋ชจํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์žƒ์„ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ๋ฌด์—‡๊ณผ ๋ฌด์—‡ ์‚ฌ์ด์˜ ์ฐจ์ด๊ฐ€ ์—†์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ƒˆ ํŒŒ์ผ์€ ๋‹จ์ง€ ์ผ๋ จ์˜ ๋น„ํŠธ์ผ ๋ฟ์ด๋ฉฐ ์ž์ฒด์ ์œผ๋กœ๋Š” ์•„๋ฌด๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์—์„œ ์ฐจ์ด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ ๋„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋น„ํŠธ๋ฅผ ์ฐพ์•„์„œ ์‹ฌ๊ฐํ•œ ๊ฒฐ๊ณผ ์—†์ด ์†์‹ค์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  FS ์ž์ฒด์˜ ํŒŒ์ผ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ทธ ์•ˆ์— ์žˆ๋Š” ๋œ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋Š ๊ฒƒ์ด, ์–ด๋–ป๊ฒŒ?

ํ”ผํŒ… ๋ฐฉ๋ฒ•

์†์‹ค์ด ์žˆ๋Š” ์••์ถ• ํŒŒ์ผ์ด ๊ตฌ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋“  jpeg, mp3 ๋ฐ ๊ธฐํƒ€ ํŒŒ์ผ์—๋Š” ๋น„๋ก ์†์‹ค์ด ์žˆ๋Š” ์••์ถ•์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๋น„ํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์ธ์ฝ”๋”ฉ ๋‹จ๊ณ„์—์„œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ˆˆ์— ๋„์ง€ ์•Š๊ฒŒ ์ˆ˜์ •ํ•˜๋Š” ๊ณ ๊ธ‰ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋‹ค๋ฆฌ๋‹ค. ๊ณ ๊ธ‰ ๊ธฐ์ˆ ... ๋ˆˆ์— ๋„์ง€ ์•Š๋Š” ์ˆ˜์ •... ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ๋ถ€๋ถ„์œผ๋กœ... ๊ฑฐ์˜ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ์Šคํ…Œ๊ฐ€๋…ธ๊ทธ๋ž˜ํ”ผ!

์‹ค์ œ๋กœ ํ•˜๋‚˜์˜ ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ์ •๋ณด์— ์‚ฝ์ž…ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋…€์˜ ๋ฐฉ๋ฒ•์„ ์—ฐ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ ์ธ๊ฐ„์˜ ๊ฐ๊ฐ์— ์ผ์–ด๋‚œ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์— ๊นŠ์€ ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ๊ฐ€ ๊ฐˆ๋ผ์ง€๋Š” ๊ณณ์€ ๋น„๋ฐ€์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์ž„๋ฌด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ํ•ด๋ฅผ ๋ผ์น  ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋‹ค์‹œ ์žŠ์–ด๋ฒ„๋ฆด ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ์ˆ˜์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ธฐ์กด ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์™€ ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ ํ˜•์‹์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค๋ช…ํ•˜๊ณ  ๋ณด์—ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž์นผ ์†Œ๊ฐœ

์ •๋ง ์งœ๋ฉด ์„ธ์ƒ์—์„œ ๊ฐ€์žฅ ์••์ถ•ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์šฐ๋ฆฌ๋Š” JPEG ํŒŒ์ผ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋งŽ์€ ๋„๊ตฌ์™€ ๊ธฐ์กด ๋ฐฉ๋ฒ•์ด ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ง€๊ตฌ์ƒ์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ทธ๋ž˜ํ”ฝ ํ˜•์‹์ž…๋‹ˆ๋‹ค.

ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด

๊ทธ๋Ÿฌ๋‚˜ ๊ฐœ ์‚ฌ์œก์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ์ด ํ˜•์‹์˜ ํŒŒ์ผ์—์„œ ํ™œ๋™ ๋ถ„์•ผ๋ฅผ ์ œํ•œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๋„ํ•œ ์••์ถ•์œผ๋กœ ์ธํ•ด ๋‚˜ํƒ€๋‚˜๋Š” ๋‹จ์ƒ‰ ์‚ฌ๊ฐํ˜•์„ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์€ ์•„๋ฌด๋„ ์—†์œผ๋ฏ€๋กœ ์ด๋ฏธ ์••์ถ•๋œ ํŒŒ์ผ๋กœ๋งŒ ์ž‘์—…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋…น์Œ ๋ฐฉ์ง€. ๋ณด๋‹ค ๊ตฌ์ฒด์ ์œผ๋กœ, ๋ฐ์ดํ„ฐ ์†์‹ค์„ ๋‹ด๋‹นํ•˜๋Š” ์ž‘์—…(DCT ๋ฐ ์–‘์žํ™”) ํ›„์— ๋‚จ์•„ ์žˆ๋Š” ์ •์ˆ˜ ๊ณ„์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์ฝ”๋”ฉ ์ฒด๊ณ„์— ์™„๋ฒฝํ•˜๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(Bauman National Library์˜ wiki ๋•๋ถ„์—).
ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด

JPEG ํŒŒ์ผ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์†์‹ค ์ตœ์ ํ™”(jpegtran)๊ฐ€ ์žˆ๊ณ  ์ตœ์ ํ™”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค."๋ฌด์†์‹ค', ์‹ค์ œ๋กœ ๋‹ค๋ฅธ ๊ฒƒ์— ๊ธฐ์—ฌํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์— ๊ด€์‹ฌ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ์œ  ๋””์Šคํฌ ๊ณต๊ฐ„์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ํ•œ ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ์ •๋ณด์— ์‚ฝ์ž…ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ๊ทธ๋Š” ์˜ค๋ž˜ ์ „์— ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ ํ™”ํ–ˆ๊ฑฐ๋‚˜ ํ’ˆ์งˆ ์ €ํ•˜๊ฐ€ ๋‘๋ ค์›Œ ์ด ์ž‘์—…์„ ์ „ํ˜€ ์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

F5

์ „์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ œํ’ˆ๊ตฐ์ด ์ด๋Ÿฌํ•œ ์กฐ๊ฑด์— ์ ํ•ฉํ•˜๋ฉฐ ์ด์— ์ต์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ข‹์€ ๋ฐœํ‘œ์—. ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋ฐœ์ „๋œ ๊ฒƒ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. F5 ์ธ๊ฐ„์˜ ๋ˆˆ์€ ๋ณ€ํ™”์— ๊ฐ€์žฅ ๋œ ๋ฏผ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ๊ธฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ณ„์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•˜๋Š” Andreas Westfeld์˜ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋งคํŠธ๋ฆญ์Šค ์ธ์ฝ”๋”ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ž„๋ฒ ๋”ฉ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋™์ผํ•œ ์–‘์˜ ์ •๋ณด๋ฅผ ์ž„๋ฒ ๋”ฉํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ž์ฒด๋Š” ํŠน์ • ์กฐ๊ฑด(์ฆ‰, ํ•ญ์ƒ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹˜)์—์„œ ๊ณ„์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’์„ 5์”ฉ ์ค„์ด๋Š” ๊ฒƒ์œผ๋กœ ์š”์•ฝ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด FXNUMX๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์ ์€ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ํ›„์˜ ๊ณ„์ˆ˜๋Š” JPEG ๊ฐ’์˜ ํ†ต๊ณ„์  ๋ถ„ํฌ๋กœ ์ธํ•ด ํ—ˆํ”„๋งŒ ์ธ์ฝ”๋”ฉ ํ›„ ๋” ์ ์€ ๋น„ํŠธ๋ฅผ ์ฐจ์ง€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ RLE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉํ•  ๋•Œ ์ƒˆ๋กœ์šด XNUMX์ด ์ด๋“์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ์ˆ˜์ •์€ ๋ฆฌ์†Œ์Šค์™€ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ๋น„๋ฐ€ ์œ ์ง€(๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ๋ฐฐ์—ด)๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜๊ณ  ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ์ด ์•„๋‹Œ ๋งŽ์€ ํŒŒ์ผ์„ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์š”์•ฝ๋ฉ๋‹ˆ๋‹ค. ๋…์ž๋Š” ๋ณ€๊ฒฝ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ๊ด€์‹ฌ์„ ๊ฐ€์งˆ ๊ฒƒ ๊ฐ™์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•˜์ด ํ…Œํฌ

์ด ์ ‘๊ทผ ๋ฐฉ์‹์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์ˆœ์ˆ˜ C๋กœ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์‹คํ–‰ ์†๋„์™€ ๋ฉ”๋ชจ๋ฆฌ ์ธก๋ฉด์—์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค(DCT ์ด์ „์—๋„ ์••์ถ• ์—†์ด ์ด๋Ÿฌํ•œ ๊ทธ๋ฆผ์˜ ๋ฌด๊ฒŒ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€ ์ƒ์ƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค). ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋‹ฌ์„ฑ libjpeg, PCRE ะธ ์ž‘์€๋””๋ฅด, ์šฐ๋ฆฌ๋Š” ๊ทธ๋“ค์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ 'make'์— ์˜ํ•ด ํ†ตํ•ฉ๋˜๋ฏ€๋กœ Windows ์‚ฌ์šฉ์ž๋Š” ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด Cygwin์„ ์ง์ ‘ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ Visual Studio ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์Šค์Šค๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌํ˜„์€ ์ฝ˜์†” ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ด€์‹ฌ ์žˆ๋Š” ๋ถ„๋“ค์€ Github ์ €์žฅ์†Œ์˜ ์ถ”๊ฐ€ ์ •๋ณด์—์„œ ํ›„์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งํฌ๋Š” ๊ฒŒ์‹œ๋ฌผ ๋์— ์ฒจ๋ถ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€?

์ฃผ์˜ํ•˜์—ฌ. ํŒจํ‚ค์ง•์— ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฏธ์ง€๋Š” ์ง€์ •๋œ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒ๋˜๋ฉด ํŒŒ์ผ์„ ๊ฒฝ๊ณ„ ๋‚ด์—์„œ ๋งˆ์Œ๋Œ€๋กœ ์ด๋™ํ•˜๊ณ , ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ , ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŒŒ์ผ ๋ฐ ์šด์˜ ์ฒด์ œ ๋“ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งค์šฐ ์ฃผ์˜ํ•ด์•ผ ํ•˜๋ฉฐ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ์ฆ‰๊ฐ์ ์ธ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ XNUMX๋น„ํŠธ์˜ ๊ฐ’๋„ ์†์‹ค๋˜๋ฉด ์ •๋ณด๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์™„๋ฃŒ๋˜๋ฉด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์‚ฌ์šฉ๋œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ์••์ถ• ํ’€๊ธฐ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ํŠน์ˆ˜ ์•„์นด์ด๋ธŒ ํŒŒ์ผ์„ ๋‚จ๊น๋‹ˆ๋‹ค. ๊ทธ ์ž์ฒด์˜ ๋ฌด๊ฒŒ๋Š” ์•ฝ XNUMXKB์ด๋ฉฐ ์ ์œ ๋œ ๋””์Šคํฌ ๊ณต๊ฐ„์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

'-a' ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ์šฉ๋Ÿ‰์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: './f5ar -a [๊ฒ€์ƒ‰ ํด๋”] [Perl ํ˜ธํ™˜ ์ •๊ทœ์‹]'. ํŒจํ‚น์€ './f5ar -p [๊ฒ€์ƒ‰ ํด๋”] [Perl ํ˜ธํ™˜ ์ •๊ทœ์‹] [ํŒจํ‚น ํŒŒ์ผ] [์•„์นด์ด๋ธŒ ์ด๋ฆ„]' ๋ช…๋ น์œผ๋กœ ์••์ถ•์„ ํ’€๊ณ , './f5ar -u [์•„์นด์ด๋ธŒ ํŒŒ์ผ] [๋ณต๊ตฌ๋œ ํŒŒ์ผ ์ด๋ฆ„]์œผ๋กœ ์••์ถ•์„ ํ‘ผ๋‹ค. ]' .

์ž‘์—… ์‹œ์—ฐ

์ด ๋ฐฉ๋ฒ•์˜ ํšจ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์„œ๋น„์Šค์—์„œ ์™„์ „ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋˜๋Š” 225์žฅ์˜ ๊ฐœ ์‚ฌ์ง„ ๋ชจ์Œ์„ ์—…๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. Unsplash ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์„œ์—์„œ ๋‘ ๋ฒˆ์งธ ๊ถŒ์˜ 45๋ฏธํ„ฐ์— ๋‹ฌํ•˜๋Š” ํฐ PDF๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ  ํฌ๋ˆ„ํƒ€.

์ˆœ์„œ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

$ du -sh knuth.pdf dogs/
44M knuth.pdf
633M dogs/

$ ./f5ar -p dogs/ .*jpg knuth.pdf dogs.f5ar
Reading compressing file... ok
Initializing the archive... ok
Analysing library capacity... done in 17.0s
Detected somewhat guaranteed capacity of 48439359 bytes
Detected possible capacity of upto 102618787 bytes
Compressing... done in 39.4s
Saving the archive... ok

$ ./f5ar -u dogs/dogs.f5ar knuth_unpacked.pdf
Initializing the archive... ok
Reading the archive file... ok
Filling the archive with files... done in 1.4s
Decompressing... done in 21.0s
Writing extracted data... ok

$ sha1sum knuth.pdf knuth_unpacked.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth.pdf
5bd1f496d2e45e382f33959eae5ab15da12cd666 knuth_unpacked.pdf

$ du -sh dogs/
551M dogs/

ํŒฌ๋“ค์„ ์œ„ํ•œ ์Šคํฌ๋ฆฐ์ƒท

ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด

์••์ถ•์„ ํ‘ผ ํŒŒ์ผ์€ ๊ณ„์†ํ•ด์„œ ์ฝ์„ ์ˆ˜ ์žˆ๊ณ  ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜๋“œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด

๋ณด์‹œ๋‹ค์‹œํ”ผ, ์›๋ž˜ 633 + 36 == 669MB์˜ ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ ๋ฐ์ดํ„ฐ์—์„œ ์šฐ๋ฆฌ๋Š” ๋” ์ฆ๊ฑฐ์šด 551์— ์ด๋ฅด๋ €์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด๋Š” ๊ณ„์ˆ˜ ๊ฐ’์˜ ๊ฐ์†Œ๋กœ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค. ํ›„์† ๋ฌด์†์‹ค ์••์ถ•: ํ•˜๋‚˜์”ฉ ์ค„์ด๋ฉด ์ตœ์ข… ํŒŒ์ผ์—์„œ ๋ช‡ ๋ฐ”์ดํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์ž˜๋ผ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ๋น„๋ก ๊ทนํžˆ ์ž‘์€ ๊ทœ๋ชจ์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ ์ฐธ์•„์•ผ ํ•  ๋ฐ์ดํ„ฐ ์†์‹ค์ž…๋‹ˆ๋‹ค.

๋‹คํ–‰ํžˆ๋„ ๋ˆˆ์—๋Š” ์ „ํ˜€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šคํฌ์ผ๋Ÿฌ ์•„๋ž˜์—์„œ(habrastorage๋Š” ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—) ๋…์ž๋Š” ์›๋ณธ์—์„œ ๋ณ€๊ฒฝ๋œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ฐ’์„ ๋นผ์„œ ์–ป์€ ์ฐจ์ด์™€ ๊ฐ•๋„๋ฅผ ๋ˆˆ์œผ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜์˜, ๋‚ด๋ถ€ ์ •๋ณด์™€ ํ•จ๊ป˜, ์ฐจ (์ƒ‰์ƒ์ด ํ๋ฆด์ˆ˜๋ก ๋ธ”๋ก์˜ ์ฐจ์ด๊ฐ€ ์ž‘์•„์ง‘๋‹ˆ๋‹ค).

๋Œ€์‹  ๊ฒฐ๋ก 

์ด๋Ÿฌํ•œ ๋ชจ๋“  ์–ด๋ ค์›€์„ ๊ณ ๋ คํ•˜๋ฉด ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ๊ตฌ์ž…ํ•˜๊ฑฐ๋‚˜ ๋ชจ๋“  ๊ฒƒ์„ ํด๋ผ์šฐ๋“œ์— ์—…๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ›จ์”ฌ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ ์ด๋ ‡๊ฒŒ ๋ฉ‹์ง„ ์‹œ๋Œ€์— ์‚ด๊ณ  ์žˆ๋‹ค๊ณ  ํ•ด๋„ ๋‚ด์ผ ์—ฌ์ „ํžˆ ์˜จ๋ผ์ธ์— ์ ‘์†ํ•˜์—ฌ ๋ชจ๋“  ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋”˜๊ฐ€์— ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ณด์žฅ์€ ์—†์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ƒ์ ์— ๊ฐ€์„œ ์ฒœ ํ…Œ๋ผ๋ฐ”์ดํŠธ ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์ถ”๊ฐ€๋กœ ๊ตฌ์ž…ํ•˜์„ธ์š”. ํ•˜์ง€๋งŒ ์–ธ์ œ๋“ ์ง€ ๊ธฐ์กด ์ฃผํƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-> GitHub์˜

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€