JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ನಮ್ಮ ಡಿಜಿಟಲ್ ಜೀವನದಲ್ಲಿ JPEG ಚಿತ್ರಗಳು ಸರ್ವತ್ರವಾಗಿವೆ, ಆದರೆ ಈ ಅರಿವಿನ ಹೊದಿಕೆಯ ಹಿಂದೆ ಮಾನವನ ಕಣ್ಣಿಗೆ ಗ್ರಹಿಸಲಾಗದ ವಿವರಗಳನ್ನು ತೆಗೆದುಹಾಕುವ ಅಲ್ಗಾರಿದಮ್‌ಗಳಿವೆ. ಫಲಿತಾಂಶವು ಚಿಕ್ಕ ಫೈಲ್ ಗಾತ್ರದಲ್ಲಿ ಅತ್ಯಧಿಕ ದೃಶ್ಯ ಗುಣಮಟ್ಟವಾಗಿದೆ - ಆದರೆ ಅದು ಹೇಗೆ ನಿಖರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ? ನಮ್ಮ ಕಣ್ಣುಗಳು ನಿಖರವಾಗಿ ಏನನ್ನು ನೋಡುವುದಿಲ್ಲ ಎಂದು ನೋಡೋಣ!

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಸ್ನೇಹಿತರಿಗೆ ಫೋಟೋ ಕಳುಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಲಘುವಾಗಿ ತೆಗೆದುಕೊಳ್ಳುವುದು ಸುಲಭ ಮತ್ತು ಅವರು ಯಾವ ಸಾಧನ, ಬ್ರೌಸರ್ ಅಥವಾ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದಾರೆ ಎಂಬುದರ ಕುರಿತು ಚಿಂತಿಸಬೇಡಿ - ಆದರೆ ಅದು ಯಾವಾಗಲೂ ಅಲ್ಲ. 1980 ರ ದಶಕದ ಆರಂಭದ ವೇಳೆಗೆ, ಕಂಪ್ಯೂಟರ್‌ಗಳು ಡಿಜಿಟಲ್ ಚಿತ್ರಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು ಮತ್ತು ಪ್ರದರ್ಶಿಸಬಹುದು, ಆದರೆ ಇದನ್ನು ಮಾಡಲು ಉತ್ತಮ ಮಾರ್ಗದ ಬಗ್ಗೆ ಅನೇಕ ಸ್ಪರ್ಧಾತ್ಮಕ ವಿಚಾರಗಳು ಇದ್ದವು. ನೀವು ಚಿತ್ರವನ್ನು ಒಂದು ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಕಳುಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಮತ್ತು ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಭಾವಿಸುತ್ತೇವೆ.

ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ಪ್ರಪಂಚದಾದ್ಯಂತದ ತಜ್ಞರ ಸಮಿತಿಯನ್ನು 1986 ರಲ್ಲಿ "" ಎಂದು ಕರೆಯಲಾಯಿತು.ಛಾಯಾಗ್ರಹಣ ತಜ್ಞರ ಜಂಟಿ ಗುಂಪು» (ಜಂಟಿ ಫೋಟೋಗ್ರಾಫಿಕ್ ಎಕ್ಸ್ಪರ್ಟ್ಸ್ ಗ್ರೂಪ್, JPEG), ಇಂಟರ್ನ್ಯಾಷನಲ್ ಆರ್ಗನೈಸೇಶನ್ ಫಾರ್ ಸ್ಟ್ಯಾಂಡರ್ಡೈಸೇಶನ್ (ISO) ಮತ್ತು ಇಂಟರ್ನ್ಯಾಷನಲ್ ಎಲೆಕ್ಟ್ರೋಟೆಕ್ನಿಕಲ್ ಕಮಿಷನ್ (IEC) ನಡುವಿನ ಜಂಟಿ ಪ್ರಯತ್ನವಾಗಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ, ಜಿನೀವಾ, ಸ್ವಿಟ್ಜರ್ಲೆಂಡ್ನಲ್ಲಿ ಪ್ರಧಾನ ಕಚೇರಿಯನ್ನು ಹೊಂದಿರುವ ಎರಡು ಅಂತರರಾಷ್ಟ್ರೀಯ ಮಾನದಂಡಗಳ ಸಂಸ್ಥೆಗಳು.

JPEG ಎಂದು ಕರೆಯಲ್ಪಡುವ ಜನರ ಗುಂಪು 1992 ರಲ್ಲಿ JPEG ಡಿಜಿಟಲ್ ಇಮೇಜ್ ಕಂಪ್ರೆಷನ್ ಮಾನದಂಡವನ್ನು ರಚಿಸಿತು. ಇಂಟರ್ನೆಟ್ ಬಳಸಿದ ಯಾರಾದರೂ ಬಹುಶಃ JPEG ಎನ್ಕೋಡ್ ಮಾಡಿದ ಚಿತ್ರಗಳನ್ನು ಎದುರಿಸಿದ್ದಾರೆ. ಚಿತ್ರಗಳನ್ನು ಎನ್ಕೋಡ್ ಮಾಡಲು, ಕಳುಹಿಸಲು ಮತ್ತು ಸಂಗ್ರಹಿಸಲು ಇದು ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಮಾರ್ಗವಾಗಿದೆ. ವೆಬ್ ಪುಟಗಳಿಂದ ಇಮೇಲ್‌ನಿಂದ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮದವರೆಗೆ, JPEG ಅನ್ನು ದಿನಕ್ಕೆ ಶತಕೋಟಿ ಬಾರಿ ಬಳಸಲಾಗುತ್ತದೆ-ವಾಸ್ತವವಾಗಿ ಪ್ರತಿ ಬಾರಿ ನಾವು ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಚಿತ್ರವನ್ನು ವೀಕ್ಷಿಸುತ್ತೇವೆ ಅಥವಾ ಕಳುಹಿಸುತ್ತೇವೆ. JPEG ಇಲ್ಲದೆ, ವೆಬ್ ಕಡಿಮೆ ವರ್ಣರಂಜಿತವಾಗಿರುತ್ತದೆ, ನಿಧಾನವಾಗಿರುತ್ತದೆ ಮತ್ತು ಬಹುಶಃ ಕಡಿಮೆ ಬೆಕ್ಕಿನ ಚಿತ್ರಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ!

ಈ ಲೇಖನವು JPEG ಚಿತ್ರವನ್ನು ಹೇಗೆ ಡಿಕೋಡ್ ಮಾಡುವುದು ಎಂಬುದರ ಕುರಿತು. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಸಂಕುಚಿತ ಡೇಟಾವನ್ನು ಪರದೆಯ ಮೇಲೆ ಗೋಚರಿಸುವ ಚಿತ್ರವಾಗಿ ಪರಿವರ್ತಿಸಲು ಏನು ಬೇಕು. ಇದು ತಿಳಿದುಕೊಳ್ಳುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಏಕೆಂದರೆ ನಾವು ಪ್ರತಿದಿನ ಬಳಸುವ ತಂತ್ರಜ್ಞಾನವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮುಖ್ಯವಾಗಿದೆ, ಆದರೆ ಸಂಕೋಚನ ಮಟ್ಟವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ಮೂಲಕ, ನಾವು ಗ್ರಹಿಕೆ ಮತ್ತು ದೃಷ್ಟಿಯ ಬಗ್ಗೆ ಹೆಚ್ಚು ಕಲಿಯುತ್ತೇವೆ ಮತ್ತು ನಮ್ಮ ಕಣ್ಣುಗಳು ಯಾವ ವಿವರಗಳಿಗೆ ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮವಾಗಿರುತ್ತವೆ.

ಜೊತೆಗೆ, ಈ ರೀತಿಯಲ್ಲಿ ಚಿತ್ರಗಳೊಂದಿಗೆ ಆಟವಾಡುವುದು ತುಂಬಾ ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

JPEG ಒಳಗೆ ನೋಡುತ್ತಿರುವುದು

ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ, ಎಲ್ಲವನ್ನೂ ಬೈನರಿ ಸಂಖ್ಯೆಗಳ ಅನುಕ್ರಮವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ವಿಶಿಷ್ಟವಾಗಿ ಈ ಬಿಟ್‌ಗಳು, ಸೊನ್ನೆಗಳು ಮತ್ತು ಒಂದನ್ನು ಬೈಟ್‌ಗಳನ್ನು ಮಾಡಲು ಎಂಟು ಗುಂಪುಗಳಲ್ಲಿ ಗುಂಪು ಮಾಡಲಾಗುತ್ತದೆ. ನೀವು ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ JPEG ಚಿತ್ರವನ್ನು ತೆರೆದಾಗ, ಏನಾದರೂ (ಬ್ರೌಸರ್, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್, ಬೇರೆ ಯಾವುದೋ) ಬೈಟ್‌ಗಳನ್ನು ಡಿಕೋಡ್ ಮಾಡಬೇಕು, ಪ್ರದರ್ಶಿಸಬಹುದಾದ ಬಣ್ಣಗಳ ಪಟ್ಟಿಯಾಗಿ ಮೂಲ ಚಿತ್ರವನ್ನು ಮರುಸ್ಥಾಪಿಸಬೇಕು.

ನೀವು ಈ ಸಿಹಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದರೆ ಬೆಕ್ಕಿನ ಫೋಟೋ ಮತ್ತು ಅದನ್ನು ಪಠ್ಯ ಸಂಪಾದಕದಲ್ಲಿ ತೆರೆಯಿರಿ, ನೀವು ಅಸಂಬದ್ಧ ಅಕ್ಷರಗಳ ಗುಂಪನ್ನು ನೋಡುತ್ತೀರಿ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ಇಲ್ಲಿ ನಾನು ಫೈಲ್‌ನ ವಿಷಯಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ನೋಟ್‌ಪ್ಯಾಡ್ ++ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ, ಏಕೆಂದರೆ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ನೋಟ್‌ಪ್ಯಾಡ್‌ನಂತಹ ಸಾಮಾನ್ಯ ಪಠ್ಯ ಸಂಪಾದಕರು ಉಳಿಸಿದ ನಂತರ ಬೈನರಿ ಫೈಲ್ ಅನ್ನು ಭ್ರಷ್ಟಗೊಳಿಸುತ್ತಾರೆ ಮತ್ತು ಅದು ಇನ್ನು ಮುಂದೆ JPEG ಸ್ವರೂಪವನ್ನು ಪೂರೈಸುವುದಿಲ್ಲ.

ವರ್ಡ್ ಪ್ರೊಸೆಸರ್‌ನಲ್ಲಿ ಚಿತ್ರವನ್ನು ತೆರೆಯುವುದು ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಗೊಂದಲಗೊಳಿಸುತ್ತದೆ, ನೀವು ನಿಮ್ಮ ಕಣ್ಣುಗಳನ್ನು ಉಜ್ಜಿದಾಗ ಮತ್ತು ಬಣ್ಣದ ಕಲೆಗಳನ್ನು ನೋಡಲು ಪ್ರಾರಂಭಿಸಿದಾಗ ನಿಮ್ಮ ಮೆದುಳನ್ನು ಗೊಂದಲಗೊಳಿಸುವಂತೆ!

ನೀವು ನೋಡುವ ಈ ತಾಣಗಳನ್ನು ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಫಾಸ್ಫೇನ್ಗಳು, ಮತ್ತು ಬೆಳಕಿನ ಪ್ರಚೋದನೆಯ ಅಥವಾ ಮನಸ್ಸಿನಿಂದ ಉತ್ಪತ್ತಿಯಾಗುವ ಭ್ರಮೆಯ ಫಲಿತಾಂಶವಲ್ಲ. ಆಪ್ಟಿಕ್ ನರಗಳಲ್ಲಿನ ಯಾವುದೇ ವಿದ್ಯುತ್ ಸಂಕೇತಗಳು ಬೆಳಕಿನ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ತಿಳಿಸುತ್ತವೆ ಎಂದು ನಿಮ್ಮ ಮೆದುಳು ಯೋಚಿಸುವುದರಿಂದ ಅವು ಸಂಭವಿಸುತ್ತವೆ. ಮೆದುಳು ಈ ಊಹೆಗಳನ್ನು ಮಾಡಬೇಕಾಗಿದೆ ಏಕೆಂದರೆ ಸಿಗ್ನಲ್ ಶಬ್ದ, ದೃಷ್ಟಿ ಅಥವಾ ಇನ್ನೇನಾದರೂ ಎಂಬುದನ್ನು ತಿಳಿಯಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ. ದೇಹದ ಎಲ್ಲಾ ನರಗಳು ಒಂದೇ ರೀತಿಯ ವಿದ್ಯುತ್ ಪ್ರಚೋದನೆಗಳನ್ನು ರವಾನಿಸುತ್ತವೆ. ನಿಮ್ಮ ಕಣ್ಣುಗಳಿಗೆ ಒತ್ತಡವನ್ನು ಅನ್ವಯಿಸುವ ಮೂಲಕ, ನೀವು ದೃಶ್ಯವಲ್ಲದ ಸಂಕೇತಗಳನ್ನು ಕಳುಹಿಸುತ್ತೀರಿ, ಆದರೆ ನಿಮ್ಮ ಮೆದುಳು ಅರ್ಥೈಸುವ ಕಣ್ಣಿನ ಗ್ರಾಹಕಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ - ಈ ಸಂದರ್ಭದಲ್ಲಿ, ತಪ್ಪಾಗಿ - ದೃಷ್ಟಿಗೋಚರವಾಗಿ. ನೀವು ಅಕ್ಷರಶಃ ಒತ್ತಡವನ್ನು ನೋಡಬಹುದು!

ಕಂಪ್ಯೂಟರ್‌ಗಳು ಮೆದುಳಿಗೆ ಹೇಗೆ ಹೋಲುತ್ತವೆ ಎಂಬುದರ ಕುರಿತು ಯೋಚಿಸುವುದು ತಮಾಷೆಯಾಗಿದೆ, ಆದರೆ ಡೇಟಾದ ಅರ್ಥವನ್ನು ವಿವರಿಸಲು ಇದು ಉಪಯುಕ್ತ ಸಾದೃಶ್ಯವಾಗಿದೆ - ದೇಹದ ಮೂಲಕ ನರಗಳ ಮೂಲಕ ಸಾಗಿಸಲ್ಪಟ್ಟಿದೆ ಅಥವಾ ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ - ಅದರ ವ್ಯಾಖ್ಯಾನವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಎಲ್ಲಾ ಬೈನರಿ ಡೇಟಾವು 0 ಸೆ ಮತ್ತು 1 ಸೆಗಳಿಂದ ಮಾಡಲ್ಪಟ್ಟಿದೆ, ಯಾವುದೇ ರೀತಿಯ ಮಾಹಿತಿಯನ್ನು ತಿಳಿಸುವ ಮೂಲ ಘಟಕಗಳು. ಫೈಲ್ ವಿಸ್ತರಣೆಗಳಂತಹ ಸುಳಿವುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳನ್ನು ಹೇಗೆ ಅರ್ಥೈಸಿಕೊಳ್ಳಬೇಕೆಂದು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಸಾಮಾನ್ಯವಾಗಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ. ಈಗ ನಾವು ಅವುಗಳನ್ನು ಪಠ್ಯವಾಗಿ ಅರ್ಥೈಸಲು ಒತ್ತಾಯಿಸುತ್ತೇವೆ, ಏಕೆಂದರೆ ಪಠ್ಯ ಸಂಪಾದಕರು ನಿರೀಕ್ಷಿಸುವುದು ಅದನ್ನೇ.

JPEG ಅನ್ನು ಡಿಕೋಡ್ ಮಾಡುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ನಾವು ಮೂಲ ಸಂಕೇತಗಳನ್ನು ಸ್ವತಃ ನೋಡಬೇಕು - ಬೈನರಿ ಡೇಟಾ. ಇದನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಎಡಿಟರ್ ಬಳಸಿ ಅಥವಾ ನೇರವಾಗಿ ಆನ್ ಮಾಡಬಹುದು ಮೂಲ ಲೇಖನ ವೆಬ್ ಪುಟ! ಒಂದು ಚಿತ್ರವಿದೆ, ಅದರ ಪಕ್ಕದಲ್ಲಿ ಪಠ್ಯ ಕ್ಷೇತ್ರದಲ್ಲಿ ಅದರ ಎಲ್ಲಾ ಬೈಟ್‌ಗಳು (ಹೆಡರ್ ಹೊರತುಪಡಿಸಿ), ದಶಮಾಂಶ ರೂಪದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗುತ್ತದೆ. ನೀವು ಅವುಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು, ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಮರು-ಎನ್ಕೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಹಾರಾಡುತ್ತ ಹೊಸ ಚಿತ್ರವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಈ ಸಂಪಾದಕದೊಂದಿಗೆ ಆಡುವ ಮೂಲಕ ನೀವು ಬಹಳಷ್ಟು ಕಲಿಯಬಹುದು. ಉದಾಹರಣೆಗೆ, ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಯಾವ ಕ್ರಮದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಎಂದು ನೀವು ಹೇಳಬಲ್ಲಿರಾ?

ಈ ಉದಾಹರಣೆಯ ವಿಚಿತ್ರವೆಂದರೆ ಕೆಲವು ಸಂಖ್ಯೆಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ಚಿತ್ರದ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ, ಆದರೆ, ಉದಾಹರಣೆಗೆ, ನೀವು ಮೊದಲ ಸಾಲಿನಲ್ಲಿ 17 ಸಂಖ್ಯೆಯನ್ನು 0 ನೊಂದಿಗೆ ಬದಲಾಯಿಸಿದರೆ, ಫೋಟೋ ಸಂಪೂರ್ಣವಾಗಿ ಹಾಳಾಗುತ್ತದೆ!

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

7 ರ ಸಾಲಿನಲ್ಲಿ 1988 ಅನ್ನು 254 ಸಂಖ್ಯೆಯೊಂದಿಗೆ ಬದಲಾಯಿಸುವಂತಹ ಇತರ ಬದಲಾವಣೆಗಳು ಬಣ್ಣವನ್ನು ಬದಲಾಯಿಸುತ್ತವೆ, ಆದರೆ ನಂತರದ ಪಿಕ್ಸೆಲ್‌ಗಳು ಮಾತ್ರ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಬಹುಶಃ ವಿಚಿತ್ರವಾದ ವಿಷಯವೆಂದರೆ ಕೆಲವು ಸಂಖ್ಯೆಗಳು ಬಣ್ಣವನ್ನು ಮಾತ್ರವಲ್ಲ, ಚಿತ್ರದ ಆಕಾರವನ್ನೂ ಸಹ ಬದಲಾಯಿಸುತ್ತವೆ. 70 ನೇ ಸಾಲಿನಲ್ಲಿ 12 ರಿಂದ 2 ಕ್ಕೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ನನ್ನ ಅರ್ಥವನ್ನು ನೋಡಲು ಚಿತ್ರದ ಮೇಲಿನ ಸಾಲನ್ನು ನೋಡಿ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಮತ್ತು ನೀವು ಯಾವುದೇ JPEG ಇಮೇಜ್ ಅನ್ನು ಬಳಸಿದರೂ, ಬೈಟ್‌ಗಳನ್ನು ಸಂಪಾದಿಸುವಾಗ ನೀವು ಯಾವಾಗಲೂ ಈ ನಿಗೂಢ ಚೆಸ್ ಮಾದರಿಗಳನ್ನು ಕಾಣಬಹುದು.

ಸಂಪಾದಕರೊಂದಿಗೆ ಆಟವಾಡುವಾಗ, ಈ ಬೈಟ್‌ಗಳಿಂದ ಫೋಟೋವನ್ನು ಹೇಗೆ ಮರುಸೃಷ್ಟಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಕಷ್ಟ, ಏಕೆಂದರೆ JPEG ಕಂಪ್ರೆಷನ್ ಮೂರು ವಿಭಿನ್ನ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಹಂತಗಳಲ್ಲಿ ಅನುಕ್ರಮವಾಗಿ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ. ನಾವು ನೋಡುತ್ತಿರುವ ನಿಗೂಢ ನಡವಳಿಕೆಯನ್ನು ಬಹಿರಂಗಪಡಿಸಲು ನಾವು ಪ್ರತಿಯೊಂದನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಅಧ್ಯಯನ ಮಾಡುತ್ತೇವೆ.

JPEG ಸಂಕೋಚನದ ಮೂರು ಹಂತಗಳು:

  1. ಬಣ್ಣದ ಉಪಮಾದರಿ.
  2. ಡಿಸ್ಕ್ರೀಟ್ ಕೊಸೈನ್ ರೂಪಾಂತರ ಮತ್ತು ಮಾದರಿ.
  3. ಉದ್ದದ ಎನ್ಕೋಡಿಂಗ್ ಅನ್ನು ರನ್ ಮಾಡಿ, ಡೆಲ್ಟಾ и ಹಫ್ಮನ್

ಸಂಕೋಚನದ ಪರಿಮಾಣದ ಕಲ್ಪನೆಯನ್ನು ನಿಮಗೆ ನೀಡಲು, ಮೇಲಿನ ಚಿತ್ರವು 79 ಸಂಖ್ಯೆಗಳನ್ನು ಅಥವಾ ಸುಮಾರು 819 KB ಅನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ನಾವು ಅದನ್ನು ಸಂಕುಚಿತಗೊಳಿಸದೆ ಸಂಗ್ರಹಿಸಿದರೆ, ಪ್ರತಿ ಪಿಕ್ಸೆಲ್‌ಗೆ ಮೂರು ಸಂಖ್ಯೆಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ - ಕೆಂಪು, ಹಸಿರು ಮತ್ತು ನೀಲಿ ಘಟಕಗಳಿಗೆ. ಇದು 79 ಸಂಖ್ಯೆಗಳು ಅಥವಾ ಅಂದಾಜು. 917 ಕೆಬಿ JPEG ಸಂಕೋಚನದ ಪರಿಣಾಮವಾಗಿ, ಅಂತಿಮ ಫೈಲ್ ಅನ್ನು 700 ಪಟ್ಟು ಹೆಚ್ಚು ಕಡಿಮೆ ಮಾಡಲಾಗಿದೆ!

ವಾಸ್ತವವಾಗಿ, ಈ ಚಿತ್ರವನ್ನು ಹೆಚ್ಚು ಸಂಕುಚಿತಗೊಳಿಸಬಹುದು. ಕೆಳಗೆ ಎರಡು ಚಿತ್ರಗಳು ಅಕ್ಕಪಕ್ಕದಲ್ಲಿವೆ - ಬಲಭಾಗದಲ್ಲಿರುವ ಫೋಟೋವನ್ನು 16 KB ಗೆ ಸಂಕುಚಿತಗೊಳಿಸಲಾಗಿದೆ, ಅಂದರೆ, ಸಂಕ್ಷೇಪಿಸದ ಆವೃತ್ತಿಗಿಂತ 57 ಪಟ್ಟು ಚಿಕ್ಕದಾಗಿದೆ!

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ನೀವು ಹತ್ತಿರದಿಂದ ನೋಡಿದರೆ, ಈ ಚಿತ್ರಗಳು ಒಂದೇ ಆಗಿಲ್ಲ ಎಂದು ನೀವು ನೋಡುತ್ತೀರಿ. ಇವೆರಡೂ JPEG ಕಂಪ್ರೆಷನ್‌ನೊಂದಿಗಿನ ಚಿತ್ರಗಳಾಗಿವೆ, ಆದರೆ ಸರಿಯಾದದು ಪರಿಮಾಣದಲ್ಲಿ ತುಂಬಾ ಚಿಕ್ಕದಾಗಿದೆ. ಇದು ಸ್ವಲ್ಪ ಕೆಟ್ಟದಾಗಿ ಕಾಣುತ್ತದೆ (ಹಿನ್ನೆಲೆ ಬಣ್ಣದ ಚೌಕಗಳನ್ನು ನೋಡಿ). ಅದಕ್ಕಾಗಿಯೇ JPEG ಅನ್ನು ಲಾಸಿ ಕಂಪ್ರೆಷನ್ ಎಂದೂ ಕರೆಯುತ್ತಾರೆ; ಸಂಕೋಚನ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ಚಿತ್ರವು ಬದಲಾಗುತ್ತದೆ ಮತ್ತು ಕೆಲವು ವಿವರಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತದೆ.

1. ಬಣ್ಣದ ಉಪಮಾದರಿ

ಮೊದಲ ಹಂತದ ಸಂಕೋಚನವನ್ನು ಮಾತ್ರ ಅನ್ವಯಿಸಲಾದ ಚಿತ್ರ ಇಲ್ಲಿದೆ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
(ಇಂಟರಾಕ್ಟಿವ್ ಆವೃತ್ತಿ - ಇನ್ ಮೂಲ ಲೇಖನಗಳು). ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ತೆಗೆದುಹಾಕುವುದು ಎಲ್ಲಾ ಬಣ್ಣಗಳನ್ನು ನಾಶಪಡಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ನಿಖರವಾಗಿ ಆರು ಸಂಖ್ಯೆಗಳನ್ನು ತೆಗೆದುಹಾಕಿದರೆ, ಅದು ಚಿತ್ರದ ಮೇಲೆ ವಾಸ್ತವಿಕವಾಗಿ ಯಾವುದೇ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ.

ಈಗ ಸಂಖ್ಯೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸ್ವಲ್ಪ ಸುಲಭವಾಗಿದೆ. ಇದು ಬಹುತೇಕ ಸರಳವಾದ ಬಣ್ಣಗಳ ಪಟ್ಟಿಯಾಗಿದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿ ಬೈಟ್ ನಿಖರವಾಗಿ ಒಂದು ಪಿಕ್ಸೆಲ್ ಅನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ, ಆದರೆ ಅದೇ ಸಮಯದಲ್ಲಿ ಇದು ಸಂಕ್ಷೇಪಿಸದ ಚಿತ್ರದ ಅರ್ಧದಷ್ಟು ಗಾತ್ರವನ್ನು ಹೊಂದಿದೆ (ಇದು ಈ ಕಡಿಮೆ ಗಾತ್ರದಲ್ಲಿ ಸುಮಾರು 300 KB ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ). ಏಕೆ ಎಂದು ನೀವು ಊಹಿಸಬಲ್ಲಿರಾ?

ಈ ಸಂಖ್ಯೆಗಳು ಪ್ರಮಾಣಿತ ಕೆಂಪು, ಹಸಿರು ಮತ್ತು ನೀಲಿ ಘಟಕಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುವುದಿಲ್ಲ ಎಂದು ನೀವು ನೋಡಬಹುದು, ಏಕೆಂದರೆ ನಾವು ಎಲ್ಲಾ ಸಂಖ್ಯೆಗಳನ್ನು ಸೊನ್ನೆಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಿದರೆ, ನಾವು ಹಸಿರು ಚಿತ್ರವನ್ನು ಪಡೆಯುತ್ತೇವೆ (ಬಿಳಿಗಿಂತ ಹೆಚ್ಚಾಗಿ).

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಏಕೆಂದರೆ ಈ ಬೈಟ್‌ಗಳು Y (ಪ್ರಕಾಶಮಾನ)

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಸಿಬಿ (ಸಾಪೇಕ್ಷ ನೀಲಿ ಬಣ್ಣ),

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಮತ್ತು Cr (ಸಂಬಂಧಿ ಕೆಂಪು) ಚಿತ್ರಗಳು.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

RGB ಅನ್ನು ಏಕೆ ಬಳಸಬಾರದು? ಎಲ್ಲಾ ನಂತರ, ಹೆಚ್ಚಿನ ಆಧುನಿಕ ಪರದೆಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ನಿಮ್ಮ ಮಾನಿಟರ್ ಪ್ರತಿ ಪಿಕ್ಸೆಲ್‌ಗೆ ವಿಭಿನ್ನ ತೀವ್ರತೆಗಳೊಂದಿಗೆ ಕೆಂಪು, ಹಸಿರು ಮತ್ತು ನೀಲಿ ಸೇರಿದಂತೆ ಯಾವುದೇ ಬಣ್ಣವನ್ನು ಪ್ರದರ್ಶಿಸಬಹುದು. ಈ ಮೂರನ್ನೂ ಪೂರ್ಣ ಹೊಳಪಿನಲ್ಲಿ ಆನ್ ಮಾಡುವ ಮೂಲಕ ಬಿಳಿ ಬಣ್ಣವನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಆಫ್ ಮಾಡುವ ಮೂಲಕ ಕಪ್ಪು ಬಣ್ಣವನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಇದು ಮಾನವನ ಕಣ್ಣು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದರಂತೆಯೇ ಇರುತ್ತದೆ. ನಮ್ಮ ಕಣ್ಣುಗಳಲ್ಲಿನ ಬಣ್ಣ ಗ್ರಾಹಕಗಳನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ "ಶಂಕುಗಳು“, ಮತ್ತು ಮೂರು ವಿಧಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ, ಪ್ರತಿಯೊಂದೂ ಕೆಂಪು, ಹಸಿರು ಅಥವಾ ನೀಲಿ ಬಣ್ಣಗಳಿಗೆ ಹೆಚ್ಚು ಸಂವೇದನಾಶೀಲವಾಗಿರುತ್ತದೆ [S- ಮಾದರಿಯ ಕೋನ್‌ಗಳು ನೇರಳೆ-ನೀಲಿಯಲ್ಲಿ ಸೂಕ್ಷ್ಮವಾಗಿರುತ್ತವೆ (ಇಂಗ್ಲಿಷ್ ಶಾರ್ಟ್ - ಶಾರ್ಟ್-ವೇವ್ ಸ್ಪೆಕ್ಟ್ರಮ್‌ನಿಂದ S), M -ಟೈಪ್ - ಹಸಿರು-ಹಳದಿಯಲ್ಲಿ (ಇಂಗ್ಲಿಷ್ ಮಾಧ್ಯಮದಿಂದ ಎಂ - ಮಧ್ಯಮ-ತರಂಗ), ಮತ್ತು ಎಲ್-ಟೈಪ್ - ಹಳದಿ-ಕೆಂಪು (ಇಂಗ್ಲಿಷ್ ಲಾಂಗ್ ನಿಂದ ಎಲ್ - ಲಾಂಗ್-ವೇವ್) ವರ್ಣಪಟಲದ ಭಾಗಗಳಲ್ಲಿ. ಈ ಮೂರು ವಿಧದ ಕೋನ್‌ಗಳ ಉಪಸ್ಥಿತಿಯು (ಮತ್ತು ರಾಡ್‌ಗಳು, ವರ್ಣಪಟಲದ ಪಚ್ಚೆ ಹಸಿರು ಭಾಗದಲ್ಲಿ ಸೂಕ್ಷ್ಮವಾಗಿರುತ್ತದೆ) ಒಬ್ಬ ವ್ಯಕ್ತಿಗೆ ಬಣ್ಣ ದೃಷ್ಟಿ ನೀಡುತ್ತದೆ. / ಅಂದಾಜು. ಅನುವಾದ.]. ಕೋಲುಗಳು, ನಮ್ಮ ದೃಷ್ಟಿಯಲ್ಲಿ ಮತ್ತೊಂದು ರೀತಿಯ ಫೋಟೊರೆಸೆಪ್ಟರ್, ಹೊಳಪಿನ ಬದಲಾವಣೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ಬಣ್ಣಕ್ಕೆ ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮವಾಗಿರುತ್ತದೆ. ನಮ್ಮ ಕಣ್ಣುಗಳು ಸುಮಾರು 120 ಮಿಲಿಯನ್ ರಾಡ್ಗಳನ್ನು ಮತ್ತು ಕೇವಲ 6 ಮಿಲಿಯನ್ ಕೋನ್ಗಳನ್ನು ಹೊಂದಿವೆ.

ಅದಕ್ಕಾಗಿಯೇ ನಮ್ಮ ಕಣ್ಣುಗಳು ಬಣ್ಣದಲ್ಲಿನ ಬದಲಾವಣೆಗಳಿಗಿಂತ ಹೊಳಪಿನ ಬದಲಾವಣೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವಲ್ಲಿ ಹೆಚ್ಚು ಉತ್ತಮವಾಗಿವೆ. ನೀವು ಹೊಳಪಿನಿಂದ ಬಣ್ಣವನ್ನು ಪ್ರತ್ಯೇಕಿಸಿದರೆ, ನೀವು ಸ್ವಲ್ಪ ಬಣ್ಣವನ್ನು ತೆಗೆದುಹಾಕಬಹುದು ಮತ್ತು ಯಾರೂ ಏನನ್ನೂ ಗಮನಿಸುವುದಿಲ್ಲ. ಕ್ರೋಮಾ ಸಬ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಎನ್ನುವುದು ಲುಮಿನನ್ಸ್ ಘಟಕಗಳಿಗಿಂತ ಕಡಿಮೆ ರೆಸಲ್ಯೂಶನ್‌ನಲ್ಲಿ ಚಿತ್ರದ ಬಣ್ಣದ ಘಟಕಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಪ್ರತಿ ಪಿಕ್ಸೆಲ್ ನಿಖರವಾಗಿ ಒಂದು Y ಘಟಕವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ನಾಲ್ಕು ಪಿಕ್ಸೆಲ್‌ಗಳ ಪ್ರತಿಯೊಂದು ಗುಂಪು ನಿಖರವಾಗಿ ಒಂದು Cb ಮತ್ತು ಒಂದು Cr ಘಟಕವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, ಚಿತ್ರವು ಮೂಲಕ್ಕಿಂತ ನಾಲ್ಕು ಪಟ್ಟು ಕಡಿಮೆ ಬಣ್ಣದ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ.

YCbCr ಬಣ್ಣದ ಜಾಗವನ್ನು JPEG ನಲ್ಲಿ ಮಾತ್ರ ಬಳಸಲಾಗುವುದಿಲ್ಲ. ಇದನ್ನು ಮೂಲತಃ ದೂರದರ್ಶನ ಕಾರ್ಯಕ್ರಮಗಳಿಗಾಗಿ 1938 ರಲ್ಲಿ ಕಂಡುಹಿಡಿಯಲಾಯಿತು. ಪ್ರತಿಯೊಬ್ಬರೂ ಬಣ್ಣದ ಟಿವಿ ಹೊಂದಿಲ್ಲ, ಆದ್ದರಿಂದ ಬಣ್ಣ ಮತ್ತು ಹೊಳಪನ್ನು ಪ್ರತ್ಯೇಕಿಸುವುದರಿಂದ ಎಲ್ಲರಿಗೂ ಒಂದೇ ಸಿಗ್ನಲ್ ಪಡೆಯಲು ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿತು ಮತ್ತು ಬಣ್ಣವಿಲ್ಲದ ಟಿವಿಗಳು ಕೇವಲ ಹೊಳಪಿನ ಅಂಶವನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತವೆ.

ಆದ್ದರಿಂದ ಸಂಪಾದಕದಿಂದ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ತೆಗೆದುಹಾಕುವುದು ಎಲ್ಲಾ ಬಣ್ಣಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಹಾಳುಮಾಡುತ್ತದೆ. ಘಟಕಗಳನ್ನು YYYY Cb Cr ರೂಪದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ (ವಾಸ್ತವವಾಗಿ, ಆ ಕ್ರಮದಲ್ಲಿ ಅಗತ್ಯವಿಲ್ಲ - ಶೇಖರಣಾ ಕ್ರಮವನ್ನು ಫೈಲ್ ಹೆಡರ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ). ಮೊದಲ ಸಂಖ್ಯೆಯನ್ನು ತೆಗೆದುಹಾಕುವುದರಿಂದ Cb ಯ ಮೊದಲ ಮೌಲ್ಯವನ್ನು Y, Cr ಅನ್ನು Cb ಎಂದು ಗ್ರಹಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ನೀವು ಚಿತ್ರದ ಎಲ್ಲಾ ಬಣ್ಣಗಳನ್ನು ಬದಲಾಯಿಸುವ ಡೊಮಿನೊ ಪರಿಣಾಮವನ್ನು ಹೊಂದಿರುತ್ತೀರಿ.

JPEG ವಿವರಣೆಯು YCbCr ಅನ್ನು ಬಳಸಲು ನಿಮ್ಮನ್ನು ಒತ್ತಾಯಿಸುವುದಿಲ್ಲ. ಆದರೆ ಹೆಚ್ಚಿನ ಫೈಲ್‌ಗಳು ಇದನ್ನು ಬಳಸುತ್ತವೆ ಏಕೆಂದರೆ ಇದು RGB ಗಿಂತ ಉತ್ತಮವಾದ ಡೌನ್‌ಸ್ಯಾಂಪಲ್ ಚಿತ್ರಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಆದರೆ ನೀವು ನನ್ನ ಮಾತನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕಾಗಿಲ್ಲ. RGB ಮತ್ತು YCbCr ಎರಡರಲ್ಲೂ ಪ್ರತಿಯೊಂದು ಘಟಕದ ಉಪ ಮಾದರಿ ಹೇಗಿರುತ್ತದೆ ಎಂಬುದನ್ನು ಕೆಳಗಿನ ಕೋಷ್ಟಕದಲ್ಲಿ ನಿಮಗಾಗಿ ನೋಡಿ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
(ಇಂಟರಾಕ್ಟಿವ್ ಆವೃತ್ತಿ - ಇನ್ ಮೂಲ ಲೇಖನಗಳು).

ನೀಲಿ ಬಣ್ಣವನ್ನು ತೆಗೆದುಹಾಕುವುದು ಕೆಂಪು ಅಥವಾ ಹಸಿರು ಬಣ್ಣದಂತೆ ಗಮನಾರ್ಹವಲ್ಲ. ನಿಮ್ಮ ಕಣ್ಣುಗಳಲ್ಲಿನ ಆರು ಮಿಲಿಯನ್ ಶಂಕುಗಳ ಕಾರಣದಿಂದಾಗಿ, ಸುಮಾರು 64% ಕೆಂಪು, 32% ಹಸಿರು ಮತ್ತು 2% ನೀಲಿ ಬಣ್ಣಕ್ಕೆ ಸಂವೇದನಾಶೀಲವಾಗಿರುತ್ತದೆ.

Y ಘಟಕದ ಡೌನ್‌ಸ್ಯಾಂಪ್ಲಿಂಗ್ (ಕೆಳಗಿನ ಎಡ) ಉತ್ತಮವಾಗಿ ಕಂಡುಬರುತ್ತದೆ. ಒಂದು ಸಣ್ಣ ಬದಲಾವಣೆ ಕೂಡ ಗಮನಾರ್ಹವಾಗಿದೆ.

RGB ಯಿಂದ YCbCr ಗೆ ಚಿತ್ರವನ್ನು ಪರಿವರ್ತಿಸುವುದರಿಂದ ಫೈಲ್ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದಿಲ್ಲ, ಆದರೆ ತೆಗೆದುಹಾಕಬಹುದಾದ ಕಡಿಮೆ ಗೋಚರ ವಿವರಗಳನ್ನು ಹುಡುಕಲು ಇದು ಸುಲಭವಾಗುತ್ತದೆ. ಎರಡನೇ ಹಂತದಲ್ಲಿ ನಷ್ಟದ ಸಂಕೋಚನ ಸಂಭವಿಸುತ್ತದೆ. ಇದು ಹೆಚ್ಚು ಸಂಕುಚಿತ ರೂಪದಲ್ಲಿ ಡೇಟಾವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುವ ಕಲ್ಪನೆಯನ್ನು ಆಧರಿಸಿದೆ.

2. ಡಿಸ್ಕ್ರೀಟ್ ಕೊಸೈನ್ ರೂಪಾಂತರ ಮತ್ತು ಮಾದರಿ

ಈ ಮಟ್ಟದ ಸಂಕೋಚನವು ಬಹುಪಾಲು, JPEG ಎಲ್ಲದರ ಬಗ್ಗೆ. ಬಣ್ಣಗಳನ್ನು YCbCr ಗೆ ಪರಿವರ್ತಿಸಿದ ನಂತರ, ಘಟಕಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂಕುಚಿತಗೊಳಿಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ನಾವು ಕೇವಲ Y ಘಟಕದ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಬಹುದು ಮತ್ತು ಈ ಪದರವನ್ನು ಅನ್ವಯಿಸಿದ ನಂತರ Y ಘಟಕ ಬೈಟ್‌ಗಳು ಹೇಗೆ ಕಾಣುತ್ತವೆ ಎಂಬುದು ಇಲ್ಲಿದೆ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
(ಇಂಟರಾಕ್ಟಿವ್ ಆವೃತ್ತಿ - ಇನ್ ಮೂಲ ಲೇಖನಗಳು). ಸಂವಾದಾತ್ಮಕ ಆವೃತ್ತಿಯಲ್ಲಿ, ಪಿಕ್ಸೆಲ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವುದರಿಂದ ಸಂಪಾದಕವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಸಾಲಿಗೆ ಸ್ಕ್ರಾಲ್ ಮಾಡುತ್ತದೆ. ಅಂತ್ಯದಿಂದ ಸಂಖ್ಯೆಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಅಥವಾ ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಗೆ ಕೆಲವು ಸೊನ್ನೆಗಳನ್ನು ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಿ.

ಮೊದಲ ನೋಟದಲ್ಲಿ, ಇದು ತುಂಬಾ ಕೆಟ್ಟ ಸಂಕೋಚನದಂತೆ ಕಾಣುತ್ತದೆ. ಒಂದು ಚಿತ್ರದಲ್ಲಿ 100 ಪಿಕ್ಸೆಲ್‌ಗಳಿವೆ ಮತ್ತು ಅವುಗಳ ಹೊಳಪನ್ನು (Y- ಘಟಕಗಳು) ಪ್ರತಿನಿಧಿಸಲು 000 ಸಂಖ್ಯೆಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ - ಅದು ಏನನ್ನೂ ಸಂಕುಚಿತಗೊಳಿಸುವುದಕ್ಕಿಂತ ಕೆಟ್ಟದಾಗಿದೆ!

ಆದಾಗ್ಯೂ, ಈ ಸಂಖ್ಯೆಗಳಲ್ಲಿ ಹೆಚ್ಚಿನವು ಶೂನ್ಯ ಎಂದು ಗಮನಿಸಿ. ಇದಲ್ಲದೆ, ಸಾಲುಗಳ ಕೊನೆಯಲ್ಲಿ ಎಲ್ಲಾ ಸೊನ್ನೆಗಳನ್ನು ಚಿತ್ರವನ್ನು ಬದಲಾಯಿಸದೆಯೇ ತೆಗೆದುಹಾಕಬಹುದು. ಸುಮಾರು 26 ಸಂಖ್ಯೆಗಳು ಉಳಿದಿವೆ ಮತ್ತು ಇದು ಸುಮಾರು 000 ಪಟ್ಟು ಕಡಿಮೆಯಾಗಿದೆ!

ಈ ಮಟ್ಟವು ಚೆಸ್ ಮಾದರಿಗಳ ರಹಸ್ಯವನ್ನು ಒಳಗೊಂಡಿದೆ. ನಾವು ನೋಡಿದ ಇತರ ಪರಿಣಾಮಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಈ ಮಾದರಿಗಳ ನೋಟವು ಗ್ಲಿಚ್ ಅಲ್ಲ. ಅವರು ಇಡೀ ಚಿತ್ರದ ಬಿಲ್ಡಿಂಗ್ ಬ್ಲಾಕ್ಸ್. ಸಂಪಾದಕರ ಪ್ರತಿಯೊಂದು ಸಾಲು ನಿಖರವಾಗಿ 64 ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, 64 ವಿಶಿಷ್ಟ ಮಾದರಿಗಳ ತೀವ್ರತೆಗೆ ಅನುಗುಣವಾದ ಡಿಸ್ಕ್ರೀಟ್ ಕೊಸೈನ್ ರೂಪಾಂತರ (DCT) ಗುಣಾಂಕಗಳು.

ಕೊಸೈನ್ ಕಥಾವಸ್ತುವಿನ ಆಧಾರದ ಮೇಲೆ ಈ ಮಾದರಿಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ. ಅವುಗಳಲ್ಲಿ ಕೆಲವು ಹೇಗಿವೆ ಎಂಬುದು ಇಲ್ಲಿದೆ:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
8 ರಲ್ಲಿ 64 ಆಡ್ಸ್

ಎಲ್ಲಾ 64 ಮಾದರಿಗಳನ್ನು ತೋರಿಸುವ ಚಿತ್ರವು ಕೆಳಗೆ ಇದೆ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
(ಇಂಟರಾಕ್ಟಿವ್ ಆವೃತ್ತಿ - ಇನ್ ಮೂಲ ಲೇಖನಗಳು).

ಈ ಮಾದರಿಗಳು ನಿರ್ದಿಷ್ಟ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಹೊಂದಿವೆ ಏಕೆಂದರೆ ಅವುಗಳು 8x8 ಚಿತ್ರಗಳ ಆಧಾರವನ್ನು ರೂಪಿಸುತ್ತವೆ. ನಿಮಗೆ ರೇಖೀಯ ಬೀಜಗಣಿತದ ಪರಿಚಯವಿಲ್ಲದಿದ್ದರೆ, ಈ 8 ಮಾದರಿಗಳಿಂದ ಯಾವುದೇ 8x64 ಚಿತ್ರವನ್ನು ಮಾಡಬಹುದು ಎಂದರ್ಥ. DCT ಎನ್ನುವುದು ಚಿತ್ರಗಳನ್ನು 8x8 ಬ್ಲಾಕ್‌ಗಳಾಗಿ ವಿಭಜಿಸುವ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಪ್ರತಿ ಬ್ಲಾಕ್ ಅನ್ನು ಈ 64 ಗುಣಾಂಕಗಳ ಸಂಯೋಜನೆಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.

ಯಾವುದೇ ಚಿತ್ರವನ್ನು 64 ನಿರ್ದಿಷ್ಟ ಮಾದರಿಗಳಿಂದ ಸಂಯೋಜಿಸಬಹುದು ಎಂಬುದು ಮಾಯಾದಂತೆ ತೋರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಇದು ಭೂಮಿಯ ಮೇಲಿನ ಯಾವುದೇ ಸ್ಥಳವನ್ನು ಎರಡು ಸಂಖ್ಯೆಗಳಿಂದ ವಿವರಿಸಬಹುದು ಎಂದು ಹೇಳುವಂತೆಯೇ ಇದೆ - ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶ [ಅರ್ಧಗೋಳಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ / ಅಂದಾಜು. ಅನುವಾದ.]. ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಭೂಮಿಯ ಮೇಲ್ಮೈಯನ್ನು ಎರಡು ಆಯಾಮದ ಎಂದು ಭಾವಿಸುತ್ತೇವೆ, ಆದ್ದರಿಂದ ನಮಗೆ ಕೇವಲ ಎರಡು ಸಂಖ್ಯೆಗಳು ಬೇಕಾಗುತ್ತವೆ. 8x8 ಚಿತ್ರವು 64 ಆಯಾಮಗಳನ್ನು ಹೊಂದಿದೆ, ಆದ್ದರಿಂದ ನಮಗೆ 64 ಸಂಖ್ಯೆಗಳು ಬೇಕಾಗುತ್ತವೆ.

ಸಂಕೋಚನದ ವಿಷಯದಲ್ಲಿ ಇದು ನಮಗೆ ಹೇಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ ಎಂಬುದು ಇನ್ನೂ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ. 64x8 ಚಿತ್ರವನ್ನು ಪ್ರತಿನಿಧಿಸಲು ನಮಗೆ 8 ಸಂಖ್ಯೆಗಳ ಅಗತ್ಯವಿದ್ದರೆ, 64 ಬ್ರೈಟ್‌ನೆಸ್ ಘಟಕಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದಕ್ಕಿಂತ ಇದು ಏಕೆ ಉತ್ತಮವಾಗಿರುತ್ತದೆ? ನಾವು ಮೂರು RGB ಸಂಖ್ಯೆಗಳನ್ನು ಮೂರು YCbCr ಸಂಖ್ಯೆಗಳಾಗಿ ಪರಿವರ್ತಿಸಿದ ಅದೇ ಕಾರಣಕ್ಕಾಗಿ ನಾವು ಇದನ್ನು ಮಾಡುತ್ತೇವೆ: ಇದು ಸೂಕ್ಷ್ಮ ವಿವರಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

JPEG DCT ಅನ್ನು 8x8 ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸುವುದರಿಂದ ಈ ಹಂತದಲ್ಲಿ ಯಾವ ವಿವರಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ನೋಡುವುದು ಕಷ್ಟ. ಆದಾಗ್ಯೂ, ಇಡೀ ಚಿತ್ರಕ್ಕೆ ಅದನ್ನು ಅನ್ವಯಿಸಲು ಯಾರೂ ನಮ್ಮನ್ನು ನಿಷೇಧಿಸುವುದಿಲ್ಲ. ಇಡೀ ಚಿತ್ರಕ್ಕೆ ಅನ್ವಯಿಸಲಾದ Y ಘಟಕಕ್ಕಾಗಿ DCT ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಫೋಟೋಗೆ ವಾಸ್ತವಿಕವಾಗಿ ಯಾವುದೇ ಗಮನಾರ್ಹ ಬದಲಾವಣೆಗಳಿಲ್ಲದೆ 60 ಕ್ಕೂ ಹೆಚ್ಚು ಸಂಖ್ಯೆಗಳನ್ನು ಅಂತ್ಯದಿಂದ ತೆಗೆದುಹಾಕಬಹುದು.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಆದಾಗ್ಯೂ, ನಾವು ಮೊದಲ ಐದು ಸಂಖ್ಯೆಗಳನ್ನು ಶೂನ್ಯಗೊಳಿಸಿದರೆ, ವ್ಯತ್ಯಾಸವು ಸ್ಪಷ್ಟವಾಗಿರುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಆರಂಭದಲ್ಲಿನ ಸಂಖ್ಯೆಗಳು ಚಿತ್ರದಲ್ಲಿ ಕಡಿಮೆ ಆವರ್ತನ ಬದಲಾವಣೆಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ, ಇದು ನಮ್ಮ ಕಣ್ಣುಗಳು ಉತ್ತಮವಾಗಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಅಂತ್ಯದಲ್ಲಿರುವ ಸಂಖ್ಯೆಗಳು ಹೆಚ್ಚಿನ ಆವರ್ತನಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳನ್ನು ಸೂಚಿಸುತ್ತವೆ, ಅದು ಗಮನಿಸಲು ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿರುತ್ತದೆ. "ಕಣ್ಣು ಏನು ನೋಡುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ನೋಡಲು," ನಾವು ಮೊದಲ 5000 ಸಂಖ್ಯೆಗಳನ್ನು ಶೂನ್ಯಗೊಳಿಸುವ ಮೂಲಕ ಈ ಹೆಚ್ಚಿನ ಆವರ್ತನ ವಿವರಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಬಹುದು.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಪಿಕ್ಸೆಲ್‌ನಿಂದ ಪಿಕ್ಸೆಲ್‌ಗೆ ಹೆಚ್ಚಿನ ಬದಲಾವಣೆಯು ಸಂಭವಿಸುವ ಚಿತ್ರದ ಎಲ್ಲಾ ಪ್ರದೇಶಗಳನ್ನು ನಾವು ನೋಡುತ್ತೇವೆ. ಬೆಕ್ಕಿನ ಕಣ್ಣುಗಳು, ಅವನ ವಿಸ್ಕರ್ಸ್, ಟೆರ್ರಿ ಕಂಬಳಿ ಮತ್ತು ಕೆಳಗಿನ ಎಡ ಮೂಲೆಯಲ್ಲಿರುವ ನೆರಳುಗಳು ಎದ್ದು ಕಾಣುತ್ತವೆ. ಮೊದಲ 10 ಸಂಖ್ಯೆಗಳನ್ನು ಶೂನ್ಯಗೊಳಿಸುವ ಮೂಲಕ ನೀವು ಮುಂದೆ ಹೋಗಬಹುದು:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

20:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

40:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

60:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಸಂಕೋಚನ ಹಂತದಲ್ಲಿ ಈ ಹೆಚ್ಚಿನ ಆವರ್ತನ ವಿವರಗಳನ್ನು JPEG ಮೂಲಕ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ. ಬಣ್ಣಗಳನ್ನು ಡಿಸಿಟಿ ಗುಣಾಂಕಗಳಿಗೆ ಪರಿವರ್ತಿಸುವುದರಲ್ಲಿ ಯಾವುದೇ ನಷ್ಟವಿಲ್ಲ. ಮಾದರಿ ಹಂತದಲ್ಲಿ ನಷ್ಟ ಸಂಭವಿಸುತ್ತದೆ, ಅಲ್ಲಿ ಹೆಚ್ಚಿನ ಆವರ್ತನ ಅಥವಾ ಶೂನ್ಯದ ಸಮೀಪ ಮೌಲ್ಯಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ. ನೀವು JPEG ಉಳಿಸುವ ಗುಣಮಟ್ಟವನ್ನು ಕಡಿಮೆ ಮಾಡಿದಾಗ, ಪ್ರೋಗ್ರಾಂ ತೆಗೆದುಹಾಕಲಾದ ಮೌಲ್ಯಗಳ ಸಂಖ್ಯೆಗೆ ಮಿತಿಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ, ಇದು ಫೈಲ್ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಆದರೆ ಚಿತ್ರವನ್ನು ಹೆಚ್ಚು ಪಿಕ್ಸೆಲೇಟೆಡ್ ಮಾಡುತ್ತದೆ. ಅದಕ್ಕಾಗಿಯೇ ಮೊದಲ ವಿಭಾಗದಲ್ಲಿ 57 ಪಟ್ಟು ಚಿಕ್ಕದಾಗಿರುವ ಚಿತ್ರವು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ. ಪ್ರತಿ 8x8 ಬ್ಲಾಕ್ ಅನ್ನು ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಆವೃತ್ತಿಗೆ ಹೋಲಿಸಿದರೆ ಕಡಿಮೆ ಡಿಸಿಟಿ ಗುಣಾಂಕಗಳು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ.

ಚಿತ್ರಗಳ ಕ್ರಮೇಣ ಸ್ಟ್ರೀಮಿಂಗ್ನಂತಹ ತಂಪಾದ ಪರಿಣಾಮವನ್ನು ನೀವು ರಚಿಸಬಹುದು. ಹೆಚ್ಚು ಹೆಚ್ಚು ಗುಣಾಂಕಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದಂತೆ ಹೆಚ್ಚು ಹೆಚ್ಚು ವಿವರವಾದ ಚಿತ್ರವನ್ನು ನೀವು ಪ್ರದರ್ಶಿಸಬಹುದು.

ಇಲ್ಲಿ, ಕೇವಲ ವಿನೋದಕ್ಕಾಗಿ, ನೀವು ಕೇವಲ 24 ಸಂಖ್ಯೆಗಳನ್ನು ಬಳಸುತ್ತೀರಿ:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಅಥವಾ ಕೇವಲ 5000:

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ತುಂಬಾ ಮಸುಕು, ಆದರೆ ಹೇಗಾದರೂ ಗುರುತಿಸಬಹುದು!

3. ಉದ್ದದ ಎನ್ಕೋಡಿಂಗ್, ಡೆಲ್ಟಾ ಮತ್ತು ಹಫ್ಮನ್ ಅನ್ನು ರನ್ ಮಾಡಿ

ಇಲ್ಲಿಯವರೆಗೆ, ಸಂಕೋಚನದ ಎಲ್ಲಾ ಹಂತಗಳು ನಷ್ಟವಾಗಿವೆ. ಕೊನೆಯ ಹಂತ, ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ನಷ್ಟವಿಲ್ಲದೆ ಮುಂದುವರಿಯುತ್ತದೆ. ಇದು ಮಾಹಿತಿಯನ್ನು ಅಳಿಸುವುದಿಲ್ಲ, ಆದರೆ ಇದು ಫೈಲ್ ಗಾತ್ರವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

ಮಾಹಿತಿಯನ್ನು ಎಸೆಯದೆಯೇ ನೀವು ಏನನ್ನಾದರೂ ಸಂಕುಚಿತಗೊಳಿಸುವುದು ಹೇಗೆ? ಸರಳವಾದ ಕಪ್ಪು ಆಯತ 700 x 437 ಅನ್ನು ನಾವು ಹೇಗೆ ವಿವರಿಸುತ್ತೇವೆ ಎಂದು ಊಹಿಸಿ.

JPEG ಇದಕ್ಕಾಗಿ 5000 ಸಂಖ್ಯೆಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ ಉತ್ತಮ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಧಿಸಬಹುದು. ಅಂತಹ ಚಿತ್ರವನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಕಡಿಮೆ ಬೈಟ್‌ಗಳಲ್ಲಿ ವಿವರಿಸುವ ಎನ್‌ಕೋಡಿಂಗ್ ಸ್ಕೀಮ್ ಅನ್ನು ನೀವು ಊಹಿಸಬಲ್ಲಿರಾ?

ನಾನು ಬರಬಹುದಾದ ಕನಿಷ್ಠ ಸ್ಕೀಮ್ ನಾಲ್ಕನ್ನು ಬಳಸುತ್ತದೆ: ಮೂರು ಬಣ್ಣವನ್ನು ಪ್ರತಿನಿಧಿಸಲು ಮತ್ತು ನಾಲ್ಕನೆಯದು ಆ ಬಣ್ಣವು ಎಷ್ಟು ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಈ ಮಂದಗೊಳಿಸಿದ ರೀತಿಯಲ್ಲಿ ಪುನರಾವರ್ತಿತ ಮೌಲ್ಯಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಕಲ್ಪನೆಯನ್ನು ರನ್-ಲೆಂತ್ ಎನ್ಕೋಡಿಂಗ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಇದು ನಷ್ಟವಿಲ್ಲ ಏಕೆಂದರೆ ನಾವು ಎನ್ಕೋಡ್ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ಅದರ ಮೂಲ ರೂಪಕ್ಕೆ ಮರುಸ್ಥಾಪಿಸಬಹುದು.

ಕಪ್ಪು ಆಯತವನ್ನು ಹೊಂದಿರುವ JPEG ಫೈಲ್ 4 ಬೈಟ್‌ಗಳಿಗಿಂತ ದೊಡ್ಡದಾಗಿದೆ - DCT ಮಟ್ಟದಲ್ಲಿ, ಸಂಕೋಚನವನ್ನು 8x8 ಪಿಕ್ಸೆಲ್ ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ. ಆದ್ದರಿಂದ, ಕನಿಷ್ಠ, ನಮಗೆ ಪ್ರತಿ 64 ಪಿಕ್ಸೆಲ್‌ಗಳಿಗೆ ಒಂದು DCT ಗುಣಾಂಕ ಅಗತ್ಯವಿದೆ. ನಮಗೆ ಒಂದು ಅಗತ್ಯವಿದೆ ಏಕೆಂದರೆ ಒಂದು DCT ಗುಣಾಂಕವನ್ನು 63 ಸೊನ್ನೆಗಳ ನಂತರ ಸಂಗ್ರಹಿಸುವ ಬದಲು, ರನ್ ಉದ್ದದ ಎನ್‌ಕೋಡಿಂಗ್ ನಮಗೆ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು "ಇತರೆಲ್ಲ ಸೊನ್ನೆಗಳು" ಎಂದು ಸೂಚಿಸುತ್ತದೆ.

ಡೆಲ್ಟಾ ಎನ್‌ಕೋಡಿಂಗ್ ಒಂದು ತಂತ್ರವಾಗಿದ್ದು, ಇದರಲ್ಲಿ ಪ್ರತಿ ಬೈಟ್ ಸಂಪೂರ್ಣ ಮೌಲ್ಯಕ್ಕಿಂತ ಕೆಲವು ಮೌಲ್ಯದಿಂದ ವ್ಯತ್ಯಾಸವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, ಕೆಲವು ಬೈಟ್‌ಗಳನ್ನು ಸಂಪಾದಿಸುವುದು ಎಲ್ಲಾ ಇತರ ಪಿಕ್ಸೆಲ್‌ಗಳ ಬಣ್ಣವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಸಂಗ್ರಹಿಸುವ ಬದಲು

12 13 14 14 14 13 13 14

ನಾವು 12 ರಿಂದ ಪ್ರಾರಂಭಿಸಬಹುದು ಮತ್ತು ಮುಂದಿನ ಸಂಖ್ಯೆಯನ್ನು ಪಡೆಯಲು ನಾವು ಎಷ್ಟು ಸೇರಿಸಬೇಕು ಅಥವಾ ಕಳೆಯಬೇಕು ಎಂಬುದನ್ನು ಸರಳವಾಗಿ ಸೂಚಿಸಬಹುದು. ಮತ್ತು ಡೆಲ್ಟಾ ಕೋಡಿಂಗ್ನಲ್ಲಿನ ಈ ಅನುಕ್ರಮವು ರೂಪವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ:

12 1 1 0 0 -1 0 1

ಪರಿವರ್ತಿಸಲಾದ ಡೇಟಾವು ಮೂಲ ಡೇಟಾಕ್ಕಿಂತ ಚಿಕ್ಕದಾಗಿಲ್ಲ, ಆದರೆ ಅದನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುವುದು ಸುಲಭ. ರನ್ ಲೆಂತ್ ಎನ್‌ಕೋಡಿಂಗ್‌ಗೆ ಮೊದಲು ಡೆಲ್ಟಾ ಎನ್‌ಕೋಡಿಂಗ್ ಅನ್ನು ಅನ್ವಯಿಸುವುದು ನಷ್ಟವಿಲ್ಲದ ಸಂಕೋಚನವಾಗಿರುವಾಗ ಸಾಕಷ್ಟು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

8x8 ಬ್ಲಾಕ್‌ಗಳ ಹೊರಗೆ ಬಳಸಲಾಗುವ ಕೆಲವು ತಂತ್ರಗಳಲ್ಲಿ ಡೆಲ್ಟಾ ಕೋಡಿಂಗ್ ಒಂದಾಗಿದೆ. 64 DCT ಗುಣಾಂಕಗಳಲ್ಲಿ, ಒಂದು ಸ್ಥಿರ ತರಂಗ ಕ್ರಿಯೆ (ಘನ ಬಣ್ಣ) ಆಗಿದೆ. ಇದು ಲುಮಾ ಘಟಕಗಳಿಗೆ ಪ್ರತಿ ಬ್ಲಾಕ್‌ನ ಸರಾಸರಿ ಹೊಳಪನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಅಥವಾ ಸಿಬಿ ಘಟಕಗಳಿಗೆ ಸರಾಸರಿ ನೀಲಿ ಬಣ್ಣ, ಇತ್ಯಾದಿ. ಪ್ರತಿ DCT ಬ್ಲಾಕ್‌ನ ಮೊದಲ ಮೌಲ್ಯವನ್ನು DC ಮೌಲ್ಯ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಪ್ರತಿ DC ಮೌಲ್ಯವನ್ನು ಹಿಂದಿನ ಮೌಲ್ಯಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಡೆಲ್ಟಾ ಎನ್‌ಕೋಡ್ ಮಾಡಲಾಗಿದೆ. ಆದ್ದರಿಂದ, ಮೊದಲ ಬ್ಲಾಕ್ನ ಹೊಳಪನ್ನು ಬದಲಾಯಿಸುವುದು ಎಲ್ಲಾ ಬ್ಲಾಕ್ಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.

ಅಂತಿಮ ರಹಸ್ಯವು ಉಳಿದಿದೆ: ಏಕವಚನವನ್ನು ಬದಲಾಯಿಸುವುದು ಇಡೀ ಚಿತ್ರವನ್ನು ಹೇಗೆ ಹಾಳುಮಾಡುತ್ತದೆ? ಇಲ್ಲಿಯವರೆಗೆ, ಸಂಕೋಚನ ಮಟ್ಟಗಳು ಅಂತಹ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ಉತ್ತರವು JPEG ಹೆಡರ್‌ನಲ್ಲಿದೆ. ಮೊದಲ 500 ಬೈಟ್‌ಗಳು ಚಿತ್ರದ ಬಗ್ಗೆ ಮೆಟಾಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ - ಅಗಲ, ಎತ್ತರ, ಇತ್ಯಾದಿ, ಮತ್ತು ನಾವು ಅವರೊಂದಿಗೆ ಇನ್ನೂ ಕೆಲಸ ಮಾಡಿಲ್ಲ.

ಹೆಡರ್ ಇಲ್ಲದೆ JPEG ಅನ್ನು ಡಿಕೋಡ್ ಮಾಡಲು ಬಹುತೇಕ ಅಸಾಧ್ಯ (ಅಥವಾ ತುಂಬಾ ಕಷ್ಟ). ನಾನು ನಿಮಗೆ ಚಿತ್ರವನ್ನು ವಿವರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವಂತೆ ಕಾಣುತ್ತದೆ ಮತ್ತು ನನ್ನ ಅನಿಸಿಕೆಗಳನ್ನು ತಿಳಿಸಲು ನಾನು ಪದಗಳನ್ನು ಆವಿಷ್ಕರಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತಿದ್ದೇನೆ. ವಿವರಣೆಯು ಬಹುಶಃ ಸಾಕಷ್ಟು ಸಾಂದ್ರವಾಗಿರುತ್ತದೆ, ಏಕೆಂದರೆ ನಾನು ತಿಳಿಸಲು ಬಯಸುವ ಅರ್ಥದೊಂದಿಗೆ ಪದಗಳನ್ನು ನಾನು ಆವಿಷ್ಕರಿಸಬಹುದು, ಆದರೆ ಎಲ್ಲರಿಗೂ ಅವು ಅರ್ಥವಾಗುವುದಿಲ್ಲ.

ಇದು ಮೂರ್ಖ ಎಂದು ತೋರುತ್ತದೆ, ಆದರೆ ಅದು ನಿಖರವಾಗಿ ಏನಾಗುತ್ತದೆ. ಪ್ರತಿಯೊಂದು JPEG ಚಿತ್ರವು ಅದಕ್ಕೆ ನಿರ್ದಿಷ್ಟವಾದ ಕೋಡ್‌ಗಳೊಂದಿಗೆ ಸಂಕುಚಿತಗೊಂಡಿದೆ. ಕೋಡ್ ನಿಘಂಟನ್ನು ಹೆಡರ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ. ಈ ತಂತ್ರವನ್ನು ಹಫ್ಮನ್ ಕೋಡ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಶಬ್ದಕೋಶವನ್ನು ಹಫ್ಮನ್ ಟೇಬಲ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಹೆಡರ್ನಲ್ಲಿ, ಟೇಬಲ್ ಅನ್ನು ಎರಡು ಬೈಟ್ಗಳೊಂದಿಗೆ ಗುರುತಿಸಲಾಗಿದೆ - 255 ಮತ್ತು ನಂತರ 196. ಪ್ರತಿಯೊಂದು ಬಣ್ಣದ ಘಟಕವು ತನ್ನದೇ ಆದ ಟೇಬಲ್ ಅನ್ನು ಹೊಂದಬಹುದು.

ಕೋಷ್ಟಕಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳು ಯಾವುದೇ ಚಿತ್ರದ ಮೇಲೆ ಆಮೂಲಾಗ್ರವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ. 15 ನೇ ಸಾಲನ್ನು 1 ಕ್ಕೆ ಬದಲಾಯಿಸುವುದು ಉತ್ತಮ ಉದಾಹರಣೆಯಾಗಿದೆ.

JPEG ಸ್ವರೂಪವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಪ್ರತ್ಯೇಕ ಬಿಟ್‌ಗಳನ್ನು ಹೇಗೆ ಓದಬೇಕು ಎಂಬುದನ್ನು ಕೋಷ್ಟಕಗಳು ಸೂಚಿಸುವುದರಿಂದ ಇದು ಸಂಭವಿಸುತ್ತದೆ. ಇಲ್ಲಿಯವರೆಗೆ ನಾವು ದಶಮಾಂಶ ರೂಪದಲ್ಲಿ ಬೈನರಿ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ಮಾತ್ರ ಕೆಲಸ ಮಾಡಿದ್ದೇವೆ. ಆದರೆ ನೀವು ಸಂಖ್ಯೆ 1 ಅನ್ನು ಬೈಟ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲು ಬಯಸಿದರೆ, ಅದು 00000001 ನಂತೆ ಕಾಣುತ್ತದೆ ಎಂಬ ಅಂಶವನ್ನು ಇದು ನಮ್ಮಿಂದ ಮರೆಮಾಡುತ್ತದೆ, ಏಕೆಂದರೆ ಪ್ರತಿ ಬೈಟ್‌ನಲ್ಲಿ ನಿಖರವಾಗಿ ಎಂಟು ಬಿಟ್‌ಗಳು ಇರಬೇಕು, ಅವುಗಳಲ್ಲಿ ಒಂದು ಮಾತ್ರ ಅಗತ್ಯವಿದ್ದರೂ ಸಹ.

ನೀವು ಸಾಕಷ್ಟು ಸಣ್ಣ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿದ್ದರೆ ಇದು ಸಂಭಾವ್ಯವಾಗಿ ದೊಡ್ಡ ಜಾಗವನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತದೆ. ಹಫ್‌ಮನ್ ಕೋಡ್ ಒಂದು ತಂತ್ರವಾಗಿದ್ದು, ಪ್ರತಿ ಸಂಖ್ಯೆಯು ಎಂಟು ಬಿಟ್‌ಗಳನ್ನು ಆಕ್ರಮಿಸಬೇಕೆಂಬ ಈ ಅಗತ್ಯವನ್ನು ಸಡಿಲಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಇದರರ್ಥ ನೀವು ಎರಡು ಬೈಟ್‌ಗಳನ್ನು ನೋಡಿದರೆ:

234 115

ನಂತರ, ಹಫ್ಮನ್ ಕೋಷ್ಟಕವನ್ನು ಅವಲಂಬಿಸಿ, ಇವು ಮೂರು ಸಂಖ್ಯೆಗಳಾಗಿರಬಹುದು. ಅವುಗಳನ್ನು ಹೊರತೆಗೆಯಲು, ನೀವು ಮೊದಲು ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಬಿಟ್ಗಳಾಗಿ ವಿಭಜಿಸಬೇಕು:

11101010 01110011

ನಂತರ ಅವುಗಳನ್ನು ಹೇಗೆ ಗುಂಪು ಮಾಡುವುದು ಎಂದು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ನಾವು ಟೇಬಲ್ ಅನ್ನು ನೋಡುತ್ತೇವೆ. ಉದಾಹರಣೆಗೆ, ಇದು ಮೊದಲ ಆರು ಬಿಟ್‌ಗಳು, (111010), ಅಥವಾ ದಶಮಾಂಶದಲ್ಲಿ 58 ಆಗಿರಬಹುದು, ನಂತರ ಐದು ಬಿಟ್‌ಗಳು (10011), ಅಥವಾ 19, ಮತ್ತು ಅಂತಿಮವಾಗಿ ಕೊನೆಯ ನಾಲ್ಕು ಬಿಟ್‌ಗಳು (0011), ಅಥವಾ 3 ಆಗಿರಬಹುದು.

ಆದ್ದರಿಂದ, ಸಂಕೋಚನದ ಈ ಹಂತದಲ್ಲಿ ಬೈಟ್‌ಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ತುಂಬಾ ಕಷ್ಟ. ಬೈಟ್‌ಗಳು ತೋರುತ್ತಿರುವುದನ್ನು ಪ್ರತಿನಿಧಿಸುವುದಿಲ್ಲ. ಈ ಲೇಖನದಲ್ಲಿ ನಾನು ಮೇಜಿನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ವಿವರಗಳಿಗೆ ಹೋಗುವುದಿಲ್ಲ, ಆದರೆ ವಸ್ತುಗಳು ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಈ ಸಮಸ್ಯೆಯ ಕುರಿತು ಸಾಕು.

ಈ ಜ್ಞಾನದಿಂದ ನೀವು ಮಾಡಬಹುದಾದ ಒಂದು ಕುತೂಹಲಕಾರಿ ಟ್ರಿಕ್ ಎಂದರೆ JPEG ನಿಂದ ಹೆಡರ್ ಅನ್ನು ಬೇರ್ಪಡಿಸುವುದು ಮತ್ತು ಅದನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂಗ್ರಹಿಸುವುದು. ವಾಸ್ತವವಾಗಿ, ನೀವು ಮಾತ್ರ ಫೈಲ್ ಅನ್ನು ಓದಬಹುದು ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ. ಫೈಲ್‌ಗಳನ್ನು ಇನ್ನಷ್ಟು ಚಿಕ್ಕದಾಗಿಸಲು ಫೇಸ್‌ಬುಕ್ ಇದನ್ನು ಮಾಡುತ್ತದೆ.

ಇನ್ನೇನು ಮಾಡಬಹುದು ಹಫ್ಮನ್ ಟೇಬಲ್ ಅನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಬದಲಾಯಿಸುವುದು. ಇತರರಿಗೆ ಅದು ಮುರಿದ ಚಿತ್ರದಂತೆ ಕಾಣಿಸುತ್ತದೆ. ಮತ್ತು ಅದನ್ನು ಸರಿಪಡಿಸುವ ಮಾಂತ್ರಿಕ ಮಾರ್ಗವನ್ನು ನೀವು ಮಾತ್ರ ತಿಳಿಯುವಿರಿ.

ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳೋಣ: ಆದ್ದರಿಂದ JPEG ಅನ್ನು ಡಿಕೋಡ್ ಮಾಡಲು ಏನು ಬೇಕು? ಅಗತ್ಯ:

  1. ಹೆಡರ್‌ನಿಂದ ಹಫ್‌ಮನ್ ಟೇಬಲ್(ಗಳನ್ನು) ಹೊರತೆಗೆಯಿರಿ ಮತ್ತು ಬಿಟ್‌ಗಳನ್ನು ಡಿಕೋಡ್ ಮಾಡಿ.
  2. ವಿಲೋಮ ರನ್-ಉದ್ದ ಮತ್ತು ಡೆಲ್ಟಾ ಎನ್‌ಕೋಡಿಂಗ್ ಟ್ರಾನ್ಸ್‌ಫಾರ್ಮ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಪ್ರತಿ 8x8 ಬ್ಲಾಕ್‌ಗೆ ಪ್ರತಿ ಬಣ್ಣ ಮತ್ತು ಪ್ರಕಾಶಮಾನ ಘಟಕಕ್ಕೆ ಡಿಸ್ಕ್ರೀಟ್ ಕೊಸೈನ್ ರೂಪಾಂತರ ಗುಣಾಂಕಗಳನ್ನು ಹೊರತೆಗೆಯಿರಿ.
  3. ಪ್ರತಿ 8x8 ಬ್ಲಾಕ್‌ಗೆ ಪಿಕ್ಸೆಲ್ ಮೌಲ್ಯಗಳನ್ನು ಪಡೆಯಲು ಗುಣಾಂಕಗಳ ಆಧಾರದ ಮೇಲೆ ಕೊಸೈನ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸಿ.
  4. ಉಪವಿಭಾಗವನ್ನು ನಿರ್ವಹಿಸಿದರೆ ಬಣ್ಣದ ಘಟಕಗಳನ್ನು ಅಳೆಯಿರಿ (ಈ ಮಾಹಿತಿಯು ಹೆಡರ್‌ನಲ್ಲಿದೆ).
  5. ಪ್ರತಿ ಪಿಕ್ಸೆಲ್‌ಗೆ ಪರಿಣಾಮವಾಗಿ YCbCr ಮೌಲ್ಯಗಳನ್ನು RGB ಗೆ ಪರಿವರ್ತಿಸಿ.
  6. ಪರದೆಯ ಮೇಲೆ ಚಿತ್ರವನ್ನು ಪ್ರದರ್ಶಿಸಿ!

ಬೆಕ್ಕಿನೊಂದಿಗೆ ಫೋಟೋವನ್ನು ಸರಳವಾಗಿ ವೀಕ್ಷಿಸಲು ಗಂಭೀರ ಕೆಲಸ! ಆದಾಗ್ಯೂ, ನಾನು ಅದರ ಬಗ್ಗೆ ಇಷ್ಟಪಡುವ ವಿಷಯವೆಂದರೆ ಅದು ಮಾನವ-ಕೇಂದ್ರಿತ JPEG ತಂತ್ರಜ್ಞಾನವನ್ನು ತೋರಿಸುತ್ತದೆ. ಇದು ನಮ್ಮ ಗ್ರಹಿಕೆಯ ವಿಶಿಷ್ಟತೆಗಳನ್ನು ಆಧರಿಸಿದೆ, ಸಾಂಪ್ರದಾಯಿಕ ತಂತ್ರಜ್ಞಾನಗಳಿಗಿಂತ ಉತ್ತಮವಾದ ಸಂಕೋಚನವನ್ನು ಸಾಧಿಸಲು ನಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಮತ್ತು ಈಗ JPEG ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನಾವು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೇವೆ, ಈ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಇತರ ಪ್ರದೇಶಗಳಿಗೆ ಹೇಗೆ ವರ್ಗಾಯಿಸಬಹುದು ಎಂಬುದನ್ನು ನಾವು ಊಹಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ವೀಡಿಯೊದಲ್ಲಿ ಡೆಲ್ಟಾ ಎನ್‌ಕೋಡಿಂಗ್ ಫೈಲ್ ಗಾತ್ರದಲ್ಲಿ ಗಮನಾರ್ಹವಾದ ಕಡಿತವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಫ್ರೇಮ್‌ನಿಂದ ಫ್ರೇಮ್‌ಗೆ ಬದಲಾಗದ ಸಂಪೂರ್ಣ ಪ್ರದೇಶಗಳು (ಉದಾಹರಣೆಗೆ, ಹಿನ್ನೆಲೆ).

ಲೇಖನದಲ್ಲಿ ಬಳಸಲಾದ ಕೋಡ್, ತೆರೆದಿರುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮದೇ ಆದ ಚಿತ್ರಗಳನ್ನು ಹೇಗೆ ಬದಲಾಯಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ಸೂಚನೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ