ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಮೊದಲ ಭಾಗ: ವೀಡಿಯೊ ಮತ್ತು ಚಿತ್ರಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಮೂಲಗಳು

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಏನು? ವೀಡಿಯೊ ಕೊಡೆಕ್ ಎನ್ನುವುದು ಡಿಜಿಟಲ್ ವೀಡಿಯೊವನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುವ ಮತ್ತು/ಅಥವಾ ಡಿಕಂಪ್ರೆಸ್ ಮಾಡುವ ಸಾಫ್ಟ್‌ವೇರ್/ಹಾರ್ಡ್‌ವೇರ್‌ನ ಒಂದು ಭಾಗವಾಗಿದೆ.

ಏನು? ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ ಮತ್ತು ಎರಡೂ ವಿಷಯದಲ್ಲಿ ಕೆಲವು ಮಿತಿಗಳ ಹೊರತಾಗಿಯೂ
ಮತ್ತು ಡೇಟಾ ಶೇಖರಣಾ ಸ್ಥಳದ ವಿಷಯದಲ್ಲಿ, ಮಾರುಕಟ್ಟೆಯು ಹೆಚ್ಚಿನ ಗುಣಮಟ್ಟದ ವೀಡಿಯೊವನ್ನು ಬಯಸುತ್ತದೆ. ಕಳೆದ ಪೋಸ್ಟ್‌ನಲ್ಲಿ ನಾವು 30x24 ರೆಸಲ್ಯೂಶನ್‌ನೊಂದಿಗೆ ಸೆಕೆಂಡಿಗೆ 480 ಫ್ರೇಮ್‌ಗಳು, ಪ್ರತಿ ಪಿಕ್ಸೆಲ್‌ಗೆ 240 ಬಿಟ್‌ಗಳಿಗೆ ಅಗತ್ಯವಾದ ಕನಿಷ್ಠವನ್ನು ಹೇಗೆ ಲೆಕ್ಕ ಹಾಕಿದ್ದೇವೆ ಎಂದು ನಿಮಗೆ ನೆನಪಿದೆಯೇ? ಸಂಕೋಚನವಿಲ್ಲದೆ ನಾವು 82,944 Mbit/s ಅನ್ನು ಸ್ವೀಕರಿಸಿದ್ದೇವೆ. ಟೆಲಿವಿಷನ್ ಪರದೆಗಳು ಮತ್ತು ಇಂಟರ್ನೆಟ್‌ಗೆ ಸಾಮಾನ್ಯವಾಗಿ HD/FullHD/4K ಅನ್ನು ರವಾನಿಸುವ ಏಕೈಕ ಮಾರ್ಗವೆಂದರೆ ಸಂಕೋಚನ. ಇದನ್ನು ಹೇಗೆ ಸಾಧಿಸಲಾಗುತ್ತದೆ? ಈಗ ಮುಖ್ಯ ವಿಧಾನಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ನೋಡೋಣ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

EDISON ಸಾಫ್ಟ್‌ವೇರ್‌ನ ಬೆಂಬಲದೊಂದಿಗೆ ಅನುವಾದವನ್ನು ಮಾಡಲಾಗಿದೆ.

ನಾವು ತೊಡಗಿಸಿಕೊಂಡಿದ್ದೇವೆ ವೀಡಿಯೊ ಕಣ್ಗಾವಲು ವ್ಯವಸ್ಥೆಗಳ ಏಕೀಕರಣಮತ್ತು ನಾವು ಮೈಕ್ರೋಟೊಮೊಗ್ರಾಫ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದ್ದೇವೆ.

ಕೊಡೆಕ್ ವಿರುದ್ಧ ಕಂಟೇನರ್

ಹೊಸಬರು ಮಾಡುವ ಸಾಮಾನ್ಯ ತಪ್ಪು ಡಿಜಿಟಲ್ ವೀಡಿಯೋ ಕೊಡೆಕ್ ಮತ್ತು ಡಿಜಿಟಲ್ ವೀಡಿಯೋ ಕಂಟೇನರ್ ಅನ್ನು ಗೊಂದಲಗೊಳಿಸುವುದು. ಕಂಟೇನರ್ ಒಂದು ನಿರ್ದಿಷ್ಟ ಸ್ವರೂಪವಾಗಿದೆ. ವೀಡಿಯೊ (ಮತ್ತು ಪ್ರಾಯಶಃ ಆಡಿಯೊ) ಮೆಟಾಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ಹೊದಿಕೆ. ಸಂಕುಚಿತ ವೀಡಿಯೊವನ್ನು ಕಂಟೇನರ್ ಪೇಲೋಡ್ ಎಂದು ಪರಿಗಣಿಸಬಹುದು.

ವಿಶಿಷ್ಟವಾಗಿ, ವೀಡಿಯೊ ಫೈಲ್‌ನ ವಿಸ್ತರಣೆಯು ಅದರ ಪ್ರಕಾರದ ಧಾರಕವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, video.mp4 ಫೈಲ್ ಬಹುಶಃ ಧಾರಕವಾಗಿದೆ MPEG-4 ಭಾಗ 14, ಮತ್ತು video.mkv ಹೆಸರಿನ ಫೈಲ್ ಹೆಚ್ಚಾಗಿ ಇರುತ್ತದೆ ಮ್ಯಾಟ್ರಿಯೋಷ್ಕಾ. ಕೊಡೆಕ್ ಮತ್ತು ಕಂಟೇನರ್ ಸ್ವರೂಪವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ನೀವು ಬಳಸಬಹುದು FFmpeg ಅಥವಾ ಮೀಡಿಯಾಇನ್ಫೋ.

ಇತಿಹಾಸದ ಸ್ವಲ್ಪ

ನಾವು ತಲುಪುವ ಮೊದಲು ಹೇಗೆ?, ಕೆಲವು ಹಳೆಯ ಕೊಡೆಕ್‌ಗಳನ್ನು ಸ್ವಲ್ಪ ಚೆನ್ನಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇತಿಹಾಸಕ್ಕೆ ಸ್ವಲ್ಪ ಧುಮುಕೋಣ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ H.261 1990 ರಲ್ಲಿ ಕಾಣಿಸಿಕೊಂಡಿತು (ತಾಂತ್ರಿಕವಾಗಿ - 1988 ರಲ್ಲಿ) ಮತ್ತು 64 Kbps ಡೇಟಾ ವರ್ಗಾವಣೆ ದರದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ರಚಿಸಲಾಗಿದೆ. ಇದು ಈಗಾಗಲೇ ಬಣ್ಣದ ಉಪಮಾದರಿ, ಮ್ಯಾಕ್ರೋಬ್ಲಾಕ್‌ಗಳು ಇತ್ಯಾದಿ ಕಲ್ಪನೆಗಳನ್ನು ಬಳಸಿದೆ. ವೀಡಿಯೊ ಕೊಡೆಕ್ ಮಾನದಂಡವನ್ನು 1995 ರಲ್ಲಿ ಪ್ರಕಟಿಸಲಾಯಿತು H.263, ಇದು 2001 ರವರೆಗೆ ಅಭಿವೃದ್ಧಿಗೊಂಡಿದೆ.

ಮೊದಲ ಆವೃತ್ತಿಯು 2003 ರಲ್ಲಿ ಪೂರ್ಣಗೊಂಡಿತು H.264 / AVC. ಅದೇ ವರ್ಷ, TrueMotion ತನ್ನ ಉಚಿತ ನಷ್ಟದ ವೀಡಿಯೊ ಕೊಡೆಕ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿತು VP3. ಗೂಗಲ್ ಕಂಪನಿಯನ್ನು 2008 ರಲ್ಲಿ ಖರೀದಿಸಿತು, ಬಿಡುಗಡೆ ಮಾಡಿತು VP8 ಅದೇ ವರ್ಷದಲ್ಲಿ. ಡಿಸೆಂಬರ್ 2012 ರಲ್ಲಿ, ಗೂಗಲ್ ಬಿಡುಗಡೆ ಮಾಡಿತು VP9, ಮತ್ತು ಇದು ಸುಮಾರು ¾ ಬ್ರೌಸರ್ ಮಾರುಕಟ್ಟೆಯಲ್ಲಿ (ಮೊಬೈಲ್ ಸಾಧನಗಳನ್ನು ಒಳಗೊಂಡಂತೆ) ಬೆಂಬಲಿತವಾಗಿದೆ.

AV1 ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಹೊಸ ಉಚಿತ ಮತ್ತು ಮುಕ್ತ ಮೂಲ ವೀಡಿಯೊ ಕೊಡೆಕ್ ಆಗಿದೆ ಮುಕ್ತ ಮಾಧ್ಯಮಕ್ಕಾಗಿ ಮೈತ್ರಿ (AOMedia), ಇದು ಅತ್ಯಂತ ಪ್ರಸಿದ್ಧ ಕಂಪನಿಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, ಉದಾಹರಣೆಗೆ: Google, Mozilla, Microsoft, Amazon, Netflix, AMD, ARM, NVidia, Intel ಮತ್ತು Cisco. ಕೊಡೆಕ್‌ನ ಮೊದಲ ಆವೃತ್ತಿ, 0.1.0 ಅನ್ನು ಏಪ್ರಿಲ್ 7, 2016 ರಂದು ಪ್ರಕಟಿಸಲಾಯಿತು.

AV1 ನ ಜನನ

2015 ರ ಆರಂಭದಲ್ಲಿ, ಗೂಗಲ್ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ VP10Xiph (ಇದು ಮೊಜಿಲ್ಲಾ ಒಡೆತನದಲ್ಲಿದೆ) ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ದಾಲಾ, ಮತ್ತು ಸಿಸ್ಕೋ ತನ್ನದೇ ಆದ ಉಚಿತ ವೀಡಿಯೊ ಕೊಡೆಕ್ ಅನ್ನು ಮಾಡಿದೆ ಥಾರ್.

ನಂತರ MPEG LA ಮೊದಲು ವಾರ್ಷಿಕ ಮಿತಿಗಳನ್ನು ಘೋಷಿಸಿತು ಎಚ್‌ಇವಿಸಿ (H.265) ಮತ್ತು H.8 ಗಿಂತ 264 ಪಟ್ಟು ಹೆಚ್ಚಿನ ಶುಲ್ಕ, ಆದರೆ ಅವರು ಶೀಘ್ರದಲ್ಲೇ ನಿಯಮಗಳನ್ನು ಮತ್ತೆ ಬದಲಾಯಿಸಿದರು:

ವಾರ್ಷಿಕ ಮಿತಿ ಇಲ್ಲ,
ವಿಷಯ ಶುಲ್ಕ (ಆದಾಯದ 0,5%) ಮತ್ತು
ಘಟಕದ ಶುಲ್ಕವು H.10 ಗಿಂತ ಸುಮಾರು 264 ಪಟ್ಟು ಹೆಚ್ಚಾಗಿದೆ.

ಮುಕ್ತ ಮಾಧ್ಯಮಕ್ಕಾಗಿ ಮೈತ್ರಿ ವಿವಿಧ ಕ್ಷೇತ್ರಗಳ ಕಂಪನಿಗಳಿಂದ ರಚಿಸಲಾಗಿದೆ: ಸಲಕರಣೆ ತಯಾರಕರು (ಇಂಟೆಲ್, ಎಎಮ್‌ಡಿ, ಎಆರ್‌ಎಂ, ಎನ್‌ವಿಡಿಯಾ, ಸಿಸ್ಕೋ), ವಿಷಯ ಪೂರೈಕೆದಾರರು (ಗೂಗಲ್, ನೆಟ್‌ಫ್ಲಿಕ್ಸ್, ಅಮೆಜಾನ್), ಬ್ರೌಸರ್ ರಚನೆಕಾರರು (ಗೂಗಲ್, ಮೊಜಿಲ್ಲಾ) ಮತ್ತು ಇತರರು.

ಕಂಪನಿಗಳು ಸಾಮಾನ್ಯ ಗುರಿಯನ್ನು ಹೊಂದಿದ್ದವು - ರಾಯಲ್ಟಿ-ಮುಕ್ತ ವೀಡಿಯೊ ಕೊಡೆಕ್. ನಂತರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ AV1 ಹೆಚ್ಚು ಸರಳವಾದ ಪೇಟೆಂಟ್ ಪರವಾನಗಿಯೊಂದಿಗೆ. ತಿಮೋತಿ ಬಿ. ಟೆರ್ರಿಬೆರಿ ಅವರು ಪ್ರಸ್ತುತ AV1 ಪರಿಕಲ್ಪನೆ ಮತ್ತು ಅದರ ಪರವಾನಗಿ ಮಾದರಿಯ ಮೂಲವಾದ ಅದ್ಭುತ ಪ್ರಸ್ತುತಿಯನ್ನು ನೀಡಿದರು.

ನೀವು ಬ್ರೌಸರ್ ಮೂಲಕ AV1 ಕೊಡೆಕ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸಬಹುದು ಎಂದು ತಿಳಿದರೆ ನಿಮಗೆ ಆಶ್ಚರ್ಯವಾಗುತ್ತದೆ (ಆಸಕ್ತರು ಇಲ್ಲಿಗೆ ಹೋಗಬಹುದು aomanalyzer.org).

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಯುನಿವರ್ಸಲ್ ಕೊಡೆಕ್

ಸಾರ್ವತ್ರಿಕ ವೀಡಿಯೊ ಕೊಡೆಕ್‌ನ ಆಧಾರವಾಗಿರುವ ಮುಖ್ಯ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ನೋಡೋಣ. ಈ ಪರಿಕಲ್ಪನೆಗಳಲ್ಲಿ ಹೆಚ್ಚಿನವು ಉಪಯುಕ್ತವಾಗಿವೆ ಮತ್ತು ಆಧುನಿಕ ಕೊಡೆಕ್‌ಗಳಲ್ಲಿ ಬಳಸಲ್ಪಡುತ್ತವೆ VP9, AV1 и ಎಚ್‌ಇವಿಸಿ. ವಿವರಿಸಿದ ಹಲವು ವಿಷಯಗಳನ್ನು ಸರಳೀಕರಿಸಲಾಗುವುದು ಎಂದು ನಾನು ನಿಮಗೆ ಎಚ್ಚರಿಸುತ್ತೇನೆ. ಕೆಲವೊಮ್ಮೆ ನೈಜ ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳನ್ನು (H.264 ನಂತೆ) ತಂತ್ರಜ್ಞಾನವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.

1 ನೇ ಹಂತ - ಚಿತ್ರವನ್ನು ವಿಭಜಿಸುವುದು

ಫ್ರೇಮ್ ಅನ್ನು ಹಲವಾರು ವಿಭಾಗಗಳು, ಉಪವಿಭಾಗಗಳು ಮತ್ತು ಅದರಾಚೆಗೆ ವಿಭಜಿಸುವುದು ಮೊದಲ ಹಂತವಾಗಿದೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಯಾವುದಕ್ಕಾಗಿ? ಹಲವು ಕಾರಣಗಳಿವೆ. ನಾವು ಚಿತ್ರವನ್ನು ವಿಭಜಿಸಿದಾಗ, ಸಣ್ಣ ಚಲಿಸುವ ಭಾಗಗಳಿಗೆ ಸಣ್ಣ ವಿಭಾಗಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ಚಲನೆಯ ವೆಕ್ಟರ್ ಅನ್ನು ಹೆಚ್ಚು ನಿಖರವಾಗಿ ಊಹಿಸಬಹುದು. ಸ್ಥಿರ ಹಿನ್ನೆಲೆಗಾಗಿ ನೀವು ದೊಡ್ಡ ವಿಭಾಗಗಳಿಗೆ ನಿಮ್ಮನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು.

ಕೋಡೆಕ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಈ ವಿಭಾಗಗಳನ್ನು ವಿಭಾಗಗಳಾಗಿ (ಅಥವಾ ಭಾಗಗಳು), ಮ್ಯಾಕ್ರೋಬ್ಲಾಕ್‌ಗಳು (ಅಥವಾ ಕೋಡಿಂಗ್ ಟ್ರೀ ಬ್ಲಾಕ್‌ಗಳು) ಮತ್ತು ಬಹು ಉಪವಿಭಾಗಗಳಾಗಿ ಸಂಘಟಿಸುತ್ತವೆ. ಈ ವಿಭಾಗಗಳ ಗರಿಷ್ಠ ಗಾತ್ರವು ಬದಲಾಗುತ್ತದೆ, HEVC ಇದನ್ನು 64x64 ಗೆ ಹೊಂದಿಸುತ್ತದೆ, ಆದರೆ AVC 16x16 ಅನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಉಪವಿಭಾಗಗಳನ್ನು 4x4 ಗಾತ್ರಗಳವರೆಗೆ ವಿಭಜಿಸಬಹುದು.

ಕಳೆದ ಲೇಖನದಿಂದ ಚೌಕಟ್ಟುಗಳ ಪ್ರಕಾರಗಳು ನಿಮಗೆ ನೆನಪಿದೆಯೇ?! ಅದೇ ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸಬಹುದು, ಆದ್ದರಿಂದ ನಾವು I- ತುಣುಕು, B- ಬ್ಲಾಕ್, P- ಮ್ಯಾಕ್ರೋಬ್ಲಾಕ್, ಇತ್ಯಾದಿಗಳನ್ನು ಹೊಂದಬಹುದು.

ಅಭ್ಯಾಸ ಮಾಡಲು ಬಯಸುವವರಿಗೆ, ಚಿತ್ರವನ್ನು ವಿಭಾಗಗಳು ಮತ್ತು ಉಪವಿಭಾಗಗಳಾಗಿ ಹೇಗೆ ವಿಂಗಡಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ವೀಕ್ಷಿಸಿ. ಇದನ್ನು ಮಾಡಲು, ಹಿಂದಿನ ಲೇಖನದಲ್ಲಿ ಈಗಾಗಲೇ ಉಲ್ಲೇಖಿಸಲಾದ ಒಂದನ್ನು ನೀವು ಬಳಸಬಹುದು. ಇಂಟೆಲ್ ವಿಡಿಯೋ ಪ್ರೊ ವಿಶ್ಲೇಷಕ (ಪಾವತಿಸಲಾದ, ಆದರೆ ಮೊದಲ 10 ಫ್ರೇಮ್‌ಗಳಿಗೆ ಸೀಮಿತವಾಗಿರುವ ಉಚಿತ ಪ್ರಯೋಗ ಆವೃತ್ತಿಯೊಂದಿಗೆ). ವಿಭಾಗಗಳನ್ನು ಇಲ್ಲಿ ವಿಶ್ಲೇಷಿಸಲಾಗಿದೆ VP9:

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

2 ನೇ ಹಂತ - ಮುನ್ಸೂಚನೆ

ನಾವು ವಿಭಾಗಗಳನ್ನು ಹೊಂದಿದ ನಂತರ, ನಾವು ಅವರಿಗೆ ಜ್ಯೋತಿಷ್ಯ ಮುನ್ಸೂಚನೆಗಳನ್ನು ಮಾಡಬಹುದು. ಫಾರ್ INTER ಮುನ್ಸೂಚನೆಗಳು ವರ್ಗಾವಣೆ ಮಾಡಬೇಕು ಚಲನೆಯ ವಾಹಕಗಳು ಮತ್ತು ಉಳಿದವು, ಮತ್ತು INTRA ಮುನ್ಸೂಚನೆಗಾಗಿ ಇದು ರವಾನೆಯಾಗುತ್ತದೆ ಮುನ್ಸೂಚನೆ ನಿರ್ದೇಶನ ಮತ್ತು ಉಳಿದ.

3 ನೇ ಹಂತ - ರೂಪಾಂತರ

ಒಮ್ಮೆ ನಾವು ಉಳಿದಿರುವ ಬ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿದ್ದರೆ (ಮುನ್ಸೂಚಿಸಲಾದ ವಿಭಾಗ → ನೈಜ ವಿಭಾಗ), ಒಟ್ಟಾರೆ ಗುಣಮಟ್ಟವನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವಾಗ ಯಾವ ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ತ್ಯಜಿಸಬಹುದು ಎಂದು ನಮಗೆ ತಿಳಿದಿರುವ ರೀತಿಯಲ್ಲಿ ಅದನ್ನು ಪರಿವರ್ತಿಸಲು ಸಾಧ್ಯವಿದೆ. ನಿಖರವಾದ ನಡವಳಿಕೆಯನ್ನು ಒದಗಿಸುವ ಕೆಲವು ರೂಪಾಂತರಗಳಿವೆ.

ಇತರ ವಿಧಾನಗಳಿದ್ದರೂ, ಅವುಗಳನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ನೋಡೋಣ. ಡಿಸ್ಕ್ರೀಟ್ ಕೊಸೈನ್ ರೂಪಾಂತರ (ಡಿಸಿಟಿ - ನಿಂದ ಡಿಸ್ಕ್ರೀಟ್ ಕೊಸೈನ್ ರೂಪಾಂತರ) DCT ಯ ಮುಖ್ಯ ಕಾರ್ಯಗಳು:

  • ಪಿಕ್ಸೆಲ್‌ಗಳ ಬ್ಲಾಕ್‌ಗಳನ್ನು ಆವರ್ತನ ಗುಣಾಂಕಗಳ ಸಮಾನ ಗಾತ್ರದ ಬ್ಲಾಕ್‌ಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
  • ಪ್ರಾದೇಶಿಕ ಪುನರುತ್ಪಾದನೆಯನ್ನು ತೊಡೆದುಹಾಕಲು ಸಹಾಯ ಮಾಡುವ ಶಕ್ತಿಯನ್ನು ಘನೀಕರಿಸುತ್ತದೆ.
  • ಹಿಮ್ಮುಖತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಫೆಬ್ರವರಿ 2, 2017 ಸಿಂಟ್ರಾ ಆರ್.ಜೆ. (ಸಿಂಟ್ರಾ, RJ) ಮತ್ತು ಬೇಯರ್ F.M. (ಬೇಯರ್ FM) ಕೇವಲ 14 ಸೇರ್ಪಡೆಗಳ ಅಗತ್ಯವಿರುವ ಇಮೇಜ್ ಕಂಪ್ರೆಷನ್‌ಗಾಗಿ DCT-ರೀತಿಯ ರೂಪಾಂತರದ ಕುರಿತು ಲೇಖನವನ್ನು ಪ್ರಕಟಿಸಿತು.

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

ಈ ಪಿಕ್ಸೆಲ್‌ಗಳ 8x8 ಬ್ಲಾಕ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ:

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಈ ಬ್ಲಾಕ್ ಅನ್ನು ಈ ಕೆಳಗಿನ 8 ರಿಂದ 8 ಪಿಕ್ಸೆಲ್ ಚಿತ್ರಕ್ಕೆ ಸಲ್ಲಿಸಲಾಗಿದೆ:

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಈ ಪಿಕ್ಸೆಲ್‌ಗಳ ಬ್ಲಾಕ್‌ಗೆ DCT ಅನ್ನು ಅನ್ವಯಿಸಿ ಮತ್ತು ಗುಣಾಂಕಗಳ 8x8 ಬ್ಲಾಕ್ ಅನ್ನು ಪಡೆಯಿರಿ:

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಮತ್ತು ನಾವು ಈ ಗುಣಾಂಕಗಳ ಬ್ಲಾಕ್ ಅನ್ನು ರೆಂಡರ್ ಮಾಡಿದರೆ, ನಾವು ಈ ಕೆಳಗಿನ ಚಿತ್ರವನ್ನು ಪಡೆಯುತ್ತೇವೆ:

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

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

ಗುಣಾಂಕಗಳ ಈ ಬ್ಲಾಕ್ ಆಸಕ್ತಿದಾಯಕ ಆಸ್ತಿಯನ್ನು ಹೊಂದಿದೆ: ಇದು ಕಡಿಮೆ-ಆವರ್ತನದಿಂದ ಹೆಚ್ಚಿನ ಆವರ್ತನ ಘಟಕಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಚಿತ್ರದಲ್ಲಿ, ಹೆಚ್ಚಿನ ಶಕ್ತಿಯು ಕಡಿಮೆ ಆವರ್ತನಗಳಲ್ಲಿ ಕೇಂದ್ರೀಕೃತವಾಗಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಚಿತ್ರವನ್ನು ಅದರ ಆವರ್ತನ ಘಟಕಗಳಾಗಿ ಪರಿವರ್ತಿಸಿದರೆ ಮತ್ತು ಹೆಚ್ಚಿನ ಆವರ್ತನ ಗುಣಾಂಕಗಳನ್ನು ತ್ಯಜಿಸಿದರೆ, ಹೆಚ್ಚಿನ ಚಿತ್ರದ ಗುಣಮಟ್ಟವನ್ನು ತ್ಯಾಗ ಮಾಡದೆಯೇ ಚಿತ್ರವನ್ನು ವಿವರಿಸಲು ಅಗತ್ಯವಿರುವ ಡೇಟಾವನ್ನು ನೀವು ಕಡಿಮೆ ಮಾಡಬಹುದು.

ಸಿಗ್ನಲ್ ಎಷ್ಟು ಬೇಗನೆ ಬದಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಆವರ್ತನವು ಸೂಚಿಸುತ್ತದೆ.

ಡಿಸಿಟಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಮೂಲ ಚಿತ್ರವನ್ನು ಅದರ ಆವರ್ತನಕ್ಕೆ (ಗುಣಾಂಕಗಳ ಬ್ಲಾಕ್) ಪರಿವರ್ತಿಸುವ ಮೂಲಕ ಪರೀಕ್ಷಾ ಸಂದರ್ಭದಲ್ಲಿ ಪಡೆದ ಜ್ಞಾನವನ್ನು ಅನ್ವಯಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ ಮತ್ತು ನಂತರ ಕನಿಷ್ಠ ಪ್ರಮುಖ ಗುಣಾಂಕಗಳ ಭಾಗವನ್ನು ತ್ಯಜಿಸಿ.

ಮೊದಲು ನಾವು ಅದನ್ನು ಆವರ್ತನ ಡೊಮೇನ್‌ಗೆ ಪರಿವರ್ತಿಸುತ್ತೇವೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಮುಂದೆ, ನಾವು ಗುಣಾಂಕಗಳ ಭಾಗವನ್ನು (67%) ತಿರಸ್ಕರಿಸುತ್ತೇವೆ, ಮುಖ್ಯವಾಗಿ ಕೆಳಗಿನ ಬಲ ಭಾಗ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಅಂತಿಮವಾಗಿ, ನಾವು ಈ ತಿರಸ್ಕರಿಸಿದ ಗುಣಾಂಕಗಳ ಬ್ಲಾಕ್‌ನಿಂದ ಚಿತ್ರವನ್ನು ಪುನರ್ನಿರ್ಮಿಸುತ್ತೇವೆ (ನೆನಪಿಡಿ, ಅದು ತಲೆಕೆಳಗಾದದ್ದಾಗಿರಬೇಕು) ಮತ್ತು ಅದನ್ನು ಮೂಲದೊಂದಿಗೆ ಹೋಲಿಸಿ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಇದು ಮೂಲ ಚಿತ್ರವನ್ನು ಹೋಲುತ್ತದೆ ಎಂದು ನಾವು ನೋಡುತ್ತೇವೆ, ಆದರೆ ಮೂಲದಿಂದ ಅನೇಕ ವ್ಯತ್ಯಾಸಗಳಿವೆ. ನಾವು 67,1875% ಅನ್ನು ಎಸೆದಿದ್ದೇವೆ ಮತ್ತು ಇನ್ನೂ ಮೂಲವನ್ನು ಹೋಲುವ ಏನನ್ನಾದರೂ ಪಡೆದುಕೊಂಡಿದ್ದೇವೆ. ಇನ್ನೂ ಉತ್ತಮ ಗುಣಮಟ್ಟದ ಚಿತ್ರವನ್ನು ಪಡೆಯಲು ಗುಣಾಂಕಗಳನ್ನು ಹೆಚ್ಚು ಚಿಂತನಶೀಲವಾಗಿ ತ್ಯಜಿಸಲು ಸಾಧ್ಯವಾಯಿತು, ಆದರೆ ಇದು ಮುಂದಿನ ವಿಷಯವಾಗಿದೆ.

ಪ್ರತಿಯೊಂದು ಗುಣಾಂಕವನ್ನು ಎಲ್ಲಾ ಪಿಕ್ಸೆಲ್‌ಗಳನ್ನು ಬಳಸಿ ಉತ್ಪಾದಿಸಲಾಗುತ್ತದೆ

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

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ನೀವು ಅದರ ಆಧಾರದ ಮೇಲೆ ಸರಳವಾದ ಚಿತ್ರ ರಚನೆಯನ್ನು ನೋಡುವ ಮೂಲಕ DCT ಅನ್ನು ದೃಶ್ಯೀಕರಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಪ್ರತಿ ಗುಣಾಂಕದ ತೂಕವನ್ನು ಬಳಸಿಕೊಂಡು ರಚಿಸಲಾದ ಚಿಹ್ನೆ A ಇಲ್ಲಿದೆ:

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

4 ನೇ ಹಂತ - ಪ್ರಮಾಣೀಕರಣ

ಹಿಂದಿನ ಹಂತದಲ್ಲಿ ನಾವು ಕೆಲವು ಗುಣಾಂಕಗಳನ್ನು ಹೊರಹಾಕಿದ ನಂತರ, ಕೊನೆಯ ಹಂತದಲ್ಲಿ (ರೂಪಾಂತರ) ನಾವು ವಿಶೇಷ ರೂಪದ ಪರಿಮಾಣವನ್ನು ನಿರ್ವಹಿಸುತ್ತೇವೆ. ಈ ಹಂತದಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಕಳೆದುಕೊಳ್ಳುವುದು ಸ್ವೀಕಾರಾರ್ಹ. ಅಥವಾ, ಹೆಚ್ಚು ಸರಳವಾಗಿ, ಸಂಕೋಚನವನ್ನು ಸಾಧಿಸಲು ನಾವು ಗುಣಾಂಕಗಳನ್ನು ಪ್ರಮಾಣೀಕರಿಸುತ್ತೇವೆ.

ಗುಣಾಂಕಗಳ ಬ್ಲಾಕ್ ಅನ್ನು ನೀವು ಹೇಗೆ ಪ್ರಮಾಣೀಕರಿಸಬಹುದು? ಸರಳವಾದ ವಿಧಾನಗಳಲ್ಲಿ ಒಂದು ಏಕರೂಪದ ಪ್ರಮಾಣೀಕರಣವಾಗಿದೆ, ನಾವು ಬ್ಲಾಕ್ ಅನ್ನು ತೆಗೆದುಕೊಂಡಾಗ, ಅದನ್ನು ಒಂದು ಮೌಲ್ಯದಿಂದ (10 ರಿಂದ) ಭಾಗಿಸಿ ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಪೂರ್ತಿಗೊಳಿಸಿ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ನಾವು ಈ ಗುಣಾಂಕಗಳ ಬ್ಲಾಕ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದೇ? ಹೌದು, ನಾವು ಭಾಗಿಸಿದ ಅದೇ ಮೌಲ್ಯದಿಂದ ಗುಣಿಸಬಹುದು.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಈ ವಿಧಾನವು ಉತ್ತಮವಲ್ಲ ಏಕೆಂದರೆ ಇದು ಪ್ರತಿ ಗುಣಾಂಕದ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ. ಒಂದೇ ಮೌಲ್ಯದ ಬದಲಿಗೆ ಕ್ವಾಂಟೈಜರ್‌ಗಳ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ಒಬ್ಬರು ಬಳಸಬಹುದು, ಮತ್ತು ಈ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಹೆಚ್ಚಿನ ಬಲಭಾಗದ ಕೆಳಭಾಗವನ್ನು ಮತ್ತು ಮೇಲಿನ ಎಡಭಾಗದ ಅಲ್ಪಸಂಖ್ಯಾತರನ್ನು ಪ್ರಮಾಣೀಕರಿಸುವ ಮೂಲಕ DCT ಆಸ್ತಿಯನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು.

ಹಂತ 5 - ಎಂಟ್ರೊಪಿ ಕೋಡಿಂಗ್

ಒಮ್ಮೆ ನಾವು ಡೇಟಾವನ್ನು ಪ್ರಮಾಣೀಕರಿಸಿದ ನಂತರ (ಇಮೇಜ್ ಬ್ಲಾಕ್‌ಗಳು, ತುಣುಕುಗಳು, ಚೌಕಟ್ಟುಗಳು), ನಾವು ಅದನ್ನು ನಷ್ಟವಿಲ್ಲದೆ ಸಂಕುಚಿತಗೊಳಿಸಬಹುದು. ಡೇಟಾವನ್ನು ಕುಗ್ಗಿಸಲು ಹಲವು ಅಲ್ಗಾರಿದಮಿಕ್ ಮಾರ್ಗಗಳಿವೆ. ಅವುಗಳಲ್ಲಿ ಕೆಲವನ್ನು ನಾವು ತ್ವರಿತವಾಗಿ ನೋಡಲಿದ್ದೇವೆ, ಆಳವಾದ ತಿಳುವಳಿಕೆಗಾಗಿ ನೀವು ಪುಸ್ತಕವನ್ನು ಓದಬಹುದು ಅಂಡರ್ಸ್ಟ್ಯಾಂಡಿಂಗ್ ಕಂಪ್ರೆಷನ್: ಡೇಟಾ ಕಂಪ್ರೆಷನ್ ಫಾರ್ ಮಾಡರ್ನ್ ಡೆವಲಪರ್ಸ್ ("ಅಂಡರ್ಸ್ಟ್ಯಾಂಡಿಂಗ್ ಕಂಪ್ರೆಷನ್: ಆಧುನಿಕ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ಡೇಟಾ ಕಂಪ್ರೆಷನ್").

VLC ಬಳಸಿಕೊಂಡು ವೀಡಿಯೊ ಎನ್ಕೋಡಿಂಗ್

ನಾವು ಅಕ್ಷರಗಳ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ಹೇಳೋಣ: a, e, r и t. ಸ್ಟ್ರೀಮ್‌ನಲ್ಲಿ ಪ್ರತಿ ಅಕ್ಷರವು ಎಷ್ಟು ಬಾರಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ ಎಂಬುದರ ಸಂಭವನೀಯತೆಯನ್ನು (0 ರಿಂದ 1 ರವರೆಗೆ) ಈ ಕೋಷ್ಟಕದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ.

a e r t
ಸಂಭವನೀಯತೆ 0,3 0,3 0,2 0,2

ನಾವು ಅನನ್ಯ ಬೈನರಿ ಕೋಡ್‌ಗಳನ್ನು (ಆದ್ಯತೆ ಚಿಕ್ಕವುಗಳು) ಹೆಚ್ಚು ಸಾಧ್ಯತೆಗಳಿಗೆ ಮತ್ತು ದೊಡ್ಡ ಕೋಡ್‌ಗಳನ್ನು ಕಡಿಮೆ ಸಾಧ್ಯತೆಗಳಿಗೆ ನಿಯೋಜಿಸಬಹುದು.

a e r t
ಸಂಭವನೀಯತೆ 0,3 0,3 0,2 0,2
ಬೈನರಿ ಕೋಡ್ 0 10 110 1110

ನಾವು ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುತ್ತೇವೆ, ಪ್ರತಿ ಪಾತ್ರಕ್ಕಾಗಿ ನಾವು 8 ಬಿಟ್‌ಗಳನ್ನು ಖರ್ಚು ಮಾಡುತ್ತೇವೆ ಎಂದು ಭಾವಿಸುತ್ತೇವೆ. ಸಂಕೋಚನವಿಲ್ಲದೆ, ಪ್ರತಿ ಅಕ್ಷರಕ್ಕೆ 24 ಬಿಟ್‌ಗಳು ಬೇಕಾಗುತ್ತವೆ. ನೀವು ಪ್ರತಿ ಅಕ್ಷರವನ್ನು ಅದರ ಕೋಡ್‌ನೊಂದಿಗೆ ಬದಲಾಯಿಸಿದರೆ, ನೀವು ಉಳಿತಾಯವನ್ನು ಪಡೆಯುತ್ತೀರಿ!

ಪಾತ್ರವನ್ನು ಎನ್ಕೋಡ್ ಮಾಡುವುದು ಮೊದಲ ಹಂತವಾಗಿದೆ e, ಇದು 10 ಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ ಮತ್ತು ಎರಡನೇ ಅಕ್ಷರವಾಗಿದೆ a, ಇದನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಗಣಿತದ ರೀತಿಯಲ್ಲಿ ಅಲ್ಲ): [10][0], ಮತ್ತು ಅಂತಿಮವಾಗಿ ಮೂರನೇ ಅಕ್ಷರ t, ಇದು ನಮ್ಮ ಅಂತಿಮ ಸಂಕುಚಿತ ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಅನ್ನು [10][0][1110] ಗೆ ಸಮನಾಗಿರುತ್ತದೆ ಅಥವಾ 1001110, ಇದಕ್ಕೆ ಕೇವಲ 7 ಬಿಟ್‌ಗಳು (ಮೂಲಕ್ಕಿಂತ 3,4 ಪಟ್ಟು ಕಡಿಮೆ ಸ್ಥಳ) ಅಗತ್ಯವಿರುತ್ತದೆ.

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

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

ಅಂಕಗಣಿತದ ಕೋಡಿಂಗ್

ನಾವು ಅಕ್ಷರಗಳ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ಹೇಳೋಣ: a, e, r, s и t, ಮತ್ತು ಅವುಗಳ ಸಂಭವನೀಯತೆಯನ್ನು ಈ ಕೋಷ್ಟಕದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ.

a e r s t
ಸಂಭವನೀಯತೆ 0,3 0,3 0,15 0,05 0,2

ಈ ಕೋಷ್ಟಕವನ್ನು ಬಳಸಿಕೊಂಡು, ನಾವು ಎಲ್ಲಾ ಸಂಭಾವ್ಯ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರುವ ಶ್ರೇಣಿಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತೇವೆ, ದೊಡ್ಡ ಸಂಖ್ಯೆಯಿಂದ ವಿಂಗಡಿಸಲಾಗುತ್ತದೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಈಗ ನಾವು ಮೂರು ಅಕ್ಷರಗಳ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಎನ್ಕೋಡ್ ಮಾಡೋಣ: ತಿನ್ನಿರಿ.

ಮೊದಲು ಮೊದಲ ಅಕ್ಷರವನ್ನು ಆಯ್ಕೆಮಾಡಿ e, ಇದು 0,3 ರಿಂದ 0,6 ರವರೆಗಿನ ಉಪವರ್ಗದಲ್ಲಿದೆ (ಸೇರಿದಂತೆ ಅಲ್ಲ). ನಾವು ಈ ಉಪವರ್ಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಮೊದಲಿನಂತೆಯೇ ಮತ್ತೆ ಭಾಗಿಸುತ್ತೇವೆ, ಆದರೆ ಈ ಹೊಸ ಶ್ರೇಣಿಗಾಗಿ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ನಮ್ಮ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಕೋಡಿಂಗ್ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸೋಣ ತಿನ್ನಿರಿ. ಈಗ ಎರಡನೇ ಅಕ್ಷರವನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ a, ಇದು 0,3 ರಿಂದ 0,39 ರವರೆಗಿನ ಹೊಸ ಉಪವರ್ಗದಲ್ಲಿದೆ ಮತ್ತು ನಂತರ ನಮ್ಮ ಕೊನೆಯ ಅಕ್ಷರವನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ t ಮತ್ತು ಅದೇ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮತ್ತೊಮ್ಮೆ ಪುನರಾವರ್ತಿಸಿ, ನಾವು 0,354 ರಿಂದ 0,372 ರವರೆಗಿನ ಅಂತಿಮ ಉಪ-ಶ್ರೇಣಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ನಾವು 0,354 ರಿಂದ 0,372 ರವರೆಗಿನ ಕೊನೆಯ ಉಪವರ್ಗದಲ್ಲಿ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕಾಗಿದೆ. ನಾವು 0,36 ಅನ್ನು ಆಯ್ಕೆ ಮಾಡೋಣ (ಆದರೆ ನೀವು ಈ ಉಪವರ್ಗದಲ್ಲಿ ಬೇರೆ ಯಾವುದೇ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು). ಈ ಸಂಖ್ಯೆಯೊಂದಿಗೆ ಮಾತ್ರ ನಾವು ನಮ್ಮ ಮೂಲ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ನಮ್ಮ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಎನ್ಕೋಡ್ ಮಾಡಲು ನಾವು ವ್ಯಾಪ್ತಿಯೊಳಗೆ ರೇಖೆಯನ್ನು ಎಳೆಯುತ್ತಿದ್ದಂತೆಯೇ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

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

ಮೊದಲ ಶ್ರೇಣಿಯೊಂದಿಗೆ, ನಮ್ಮ ಸಂಖ್ಯೆಯು ಸ್ಲೈಸ್‌ಗೆ ಅನುರೂಪವಾಗಿದೆ ಎಂದು ನಾವು ಗಮನಿಸುತ್ತೇವೆ, ಆದ್ದರಿಂದ ಇದು ನಮ್ಮ ಮೊದಲ ಅಕ್ಷರವಾಗಿದೆ. ಈಗ ನಾವು ಮೊದಲಿನಂತೆಯೇ ಅದೇ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ ಈ ಉಪ-ಶ್ರೇಣಿಯನ್ನು ಮತ್ತೆ ವಿಭಜಿಸುತ್ತೇವೆ. 0,36 ಚಿಹ್ನೆಗೆ ಅನುರೂಪವಾಗಿದೆ ಎಂದು ಇಲ್ಲಿ ನೀವು ನೋಡಬಹುದು a, ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸಿದ ನಂತರ ನಾವು ಕೊನೆಯ ಪಾತ್ರಕ್ಕೆ ಬಂದಿದ್ದೇವೆ t (ನಮ್ಮ ಮೂಲ ಎನ್ಕೋಡ್ ಮಾಡಿದ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ರೂಪಿಸುವುದು ತಿನ್ನಿರಿ).

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

ಸಾಕಷ್ಟು ಸೊಗಸಾದ, ಅಲ್ಲವೇ? ಈ ಪರಿಹಾರವನ್ನು ಕಂಡುಹಿಡಿದವರು ಡ್ಯಾಮ್ ಸ್ಮಾರ್ಟ್ ಆಗಿದ್ದರು. ಕೆಲವು ವೀಡಿಯೊ ಕೊಡೆಕ್‌ಗಳು ಈ ತಂತ್ರವನ್ನು ಬಳಸುತ್ತವೆ (ಅಥವಾ ಕನಿಷ್ಠ ಅದನ್ನು ಆಯ್ಕೆಯಾಗಿ ನೀಡುತ್ತವೆ).

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

ಹಂತ 6 - ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಫಾರ್ಮ್ಯಾಟ್

ಇದೆಲ್ಲವನ್ನೂ ಮಾಡಿದ ನಂತರ, ನಿರ್ವಹಿಸಿದ ಹಂತಗಳ ಸಂದರ್ಭದಲ್ಲಿ ಸಂಕುಚಿತ ಚೌಕಟ್ಟುಗಳನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ. ಎನ್‌ಕೋಡರ್ ಮಾಡಿದ ನಿರ್ಧಾರಗಳ ಬಗ್ಗೆ ಡಿಕೋಡರ್‌ಗೆ ಸ್ಪಷ್ಟವಾಗಿ ತಿಳಿಸಬೇಕು. ಡಿಕೋಡರ್ ಎಲ್ಲಾ ಅಗತ್ಯ ಮಾಹಿತಿಯೊಂದಿಗೆ ಒದಗಿಸಬೇಕು: ಬಿಟ್ ಡೆಪ್ತ್, ಕಲರ್ ಸ್ಪೇಸ್, ​​ರೆಸಲ್ಯೂಶನ್, ಪ್ರಿಡಿಕ್ಷನ್ ಮಾಹಿತಿ (ಚಲನೆಯ ವೆಕ್ಟರ್‌ಗಳು, ಡೈರೆಕ್ಷನಲ್ ಇಂಟರ್ ಪ್ರಿಡಿಕ್ಷನ್), ಪ್ರೊಫೈಲ್, ಲೆವೆಲ್, ಫ್ರೇಮ್ ರೇಟ್, ಫ್ರೇಮ್ ಪ್ರಕಾರ, ಫ್ರೇಮ್ ಸಂಖ್ಯೆ ಮತ್ತು ಇನ್ನಷ್ಟು.

ನಾವು ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ನೋಡುತ್ತೇವೆ H.264. ಕನಿಷ್ಠ H.264 ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಅನ್ನು ರಚಿಸುವುದು ನಮ್ಮ ಮೊದಲ ಹಂತವಾಗಿದೆ (FFmpeg ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಎಲ್ಲಾ ಎನ್‌ಕೋಡಿಂಗ್ ಆಯ್ಕೆಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ SEI NAL - ಅದು ಏನೆಂದು ನಾವು ಸ್ವಲ್ಪ ಮುಂದೆ ಕಂಡುಹಿಡಿಯುತ್ತೇವೆ). ನಮ್ಮ ಸ್ವಂತ ರೆಪೊಸಿಟರಿ ಮತ್ತು FFmpeg ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ಇದನ್ನು ಮಾಡಬಹುದು.

./s/ffmpeg -i /files/i/minimal.png -pix_fmt yuv420p /files/v/minimal_yuv420.h264

ಈ ಆಜ್ಞೆಯು ಕಚ್ಚಾ ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ H.264 ಒಂದು ಚೌಕಟ್ಟಿನೊಂದಿಗೆ, 64×64 ರೆಸಲ್ಯೂಶನ್, ಬಣ್ಣದ ಸ್ಥಳದೊಂದಿಗೆ YUV420. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಕೆಳಗಿನ ಚಿತ್ರವನ್ನು ಫ್ರೇಮ್ ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

H.264 ಬಿಟ್‌ಸ್ಟ್ರೀಮ್

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಅವಾಕ್ (H.264) ಮಾಹಿತಿಯನ್ನು ಮ್ಯಾಕ್ರೋಫ್ರೇಮ್‌ಗಳಲ್ಲಿ (ನೆಟ್‌ವರ್ಕ್ ಅರ್ಥದಲ್ಲಿ) ಕಳುಹಿಸಲಾಗುವುದು ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ NAL (ಇದು ನೆಟ್‌ವರ್ಕ್ ಅಮೂರ್ತತೆಯ ಮಟ್ಟವಾಗಿದೆ). "ವೆಬ್-ಸ್ನೇಹಿ" ವೀಡಿಯೊ ಪ್ರಸ್ತುತಿಯನ್ನು ಒದಗಿಸುವುದು NAL ನ ಮುಖ್ಯ ಗುರಿಯಾಗಿದೆ. ಈ ಮಾನದಂಡವು ಟಿವಿಗಳಲ್ಲಿ (ಸ್ಟ್ರೀಮ್ ಆಧಾರಿತ), ಇಂಟರ್ನೆಟ್ (ಪ್ಯಾಕೆಟ್ ಆಧಾರಿತ) ಕೆಲಸ ಮಾಡಬೇಕು.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

NAL ಅಂಶಗಳ ಗಡಿಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮಾರ್ಕರ್ ಇದೆ. ಪ್ರತಿಯೊಂದು ಸಿಂಕ್ ಟೋಕನ್ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರುತ್ತದೆ 0x00 0x00 0x01, ಮೊದಲನೆಯದನ್ನು ಹೊರತುಪಡಿಸಿ, ಇದು ಸಮಾನವಾಗಿರುತ್ತದೆ 0x00 0x00 0x00 0x01. ನಾವು ಪ್ರಾರಂಭಿಸಿದರೆ ಹೆಕ್ಸ್ಡಂಪ್ ರಚಿಸಲಾದ H.264 ಬಿಟ್‌ಸ್ಟ್ರೀಮ್‌ಗಾಗಿ, ಫೈಲ್‌ನ ಆರಂಭದಲ್ಲಿ ನಾವು ಕನಿಷ್ಟ ಮೂರು NAL ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸುತ್ತೇವೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಹೇಳಿದಂತೆ, ಡಿಕೋಡರ್ ಚಿತ್ರದ ಡೇಟಾವನ್ನು ಮಾತ್ರ ತಿಳಿದಿರಬೇಕು, ಆದರೆ ವೀಡಿಯೊ, ಫ್ರೇಮ್, ಬಣ್ಣಗಳು, ಬಳಸಿದ ನಿಯತಾಂಕಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ವಿವರಗಳನ್ನು ಸಹ ತಿಳಿದಿರಬೇಕು. ಪ್ರತಿ NAL ನ ಮೊದಲ ಬೈಟ್ ಅದರ ವರ್ಗ ಮತ್ತು ಪ್ರಕಾರವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.

NAL ಪ್ರಕಾರದ ಗುರುತಿಸುವಿಕೆ ವಿವರಣೆ
0 ಅಜ್ಞಾತ ಪ್ರಕಾರ
1 IDR ಇಲ್ಲದೆ ಎನ್ಕೋಡ್ ಮಾಡಲಾದ ಚಿತ್ರದ ತುಣುಕು
2 ಕೋಡೆಡ್ ಸ್ಲೈಸ್ ಡೇಟಾ ವಿಭಾಗ A
3 ಕೋಡೆಡ್ ಸ್ಲೈಸ್ ಡೇಟಾ ವಿಭಾಗ B
4 ಕೋಡೆಡ್ ಸ್ಲೈಸ್ ಡೇಟಾ ವಿಭಾಗ C
5 IDR ಚಿತ್ರದ ಎನ್‌ಕೋಡ್ ಮಾಡಿದ IDR ತುಣುಕು
6 SEI ವಿಸ್ತರಣೆಯ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿ
7 SPS ಅನುಕ್ರಮ ಪ್ಯಾರಾಮೀಟರ್ ಸೆಟ್
8 PPS ಇಮೇಜ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಸೆಟ್
9 ಪ್ರವೇಶ ವಿಭಜಕ
10 ಅನುಕ್ರಮದ ಅಂತ್ಯ
11 ಥ್ರೆಡ್ ಅಂತ್ಯ
... ...

ವಿಶಿಷ್ಟವಾಗಿ ಬಿಟ್‌ಸ್ಟ್ರೀಮ್‌ನ ಮೊದಲ NAL ಆಗಿದೆ ಎಸ್ಪಿಎಸ್. ಪ್ರೊಫೈಲ್, ಮಟ್ಟ, ರೆಸಲ್ಯೂಶನ್ ಇತ್ಯಾದಿಗಳಂತಹ ಸಾಮಾನ್ಯ ಎನ್‌ಕೋಡಿಂಗ್ ವೇರಿಯೇಬಲ್‌ಗಳ ಬಗ್ಗೆ ತಿಳಿಸಲು ಈ ರೀತಿಯ NAL ಕಾರಣವಾಗಿದೆ.

ನಾವು ಮೊದಲ ಸಿಂಕ್ ಮಾರ್ಕರ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರೆ, ಯಾವ NAL ಪ್ರಕಾರವು ಮೊದಲು ಎಂದು ಕಂಡುಹಿಡಿಯಲು ನಾವು ಮೊದಲ ಬೈಟ್ ಅನ್ನು ಡಿಕೋಡ್ ಮಾಡಬಹುದು.

ಉದಾಹರಣೆಗೆ, ಸಿಂಕ್ ಮಾರ್ಕರ್ ನಂತರ ಮೊದಲ ಬೈಟ್ ಆಗಿದೆ 01100111, ಅಲ್ಲಿ ಮೊದಲ ಬಿಟ್ (0) ಕ್ಷೇತ್ರದಲ್ಲಿ f ನಲ್ಲಿದೆorbidden_zero_bit. ಮುಂದಿನ 2 ಬಿಟ್‌ಗಳು (11) ಕ್ಷೇತ್ರವನ್ನು ನಮಗೆ ಹೇಳುತ್ತದೆ nal_ref_idc, ಇದು ಈ NAL ಒಂದು ಉಲ್ಲೇಖ ಕ್ಷೇತ್ರವಾಗಿದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಮತ್ತು ಉಳಿದ 5 ಬಿಟ್‌ಗಳು (00111) ಕ್ಷೇತ್ರವನ್ನು ನಮಗೆ ಹೇಳುತ್ತದೆ nal_unit_type, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಇದು SPS ಬ್ಲಾಕ್ ಆಗಿದೆ (7) NAL.

ಎರಡನೇ ಬೈಟ್ (ಬೈನರಿ=01100100, ಹೆಕ್ಸ್=0x64, ಡಿಸೆಂಬರ್=100) SPS ನಲ್ಲಿ NAL ಕ್ಷೇತ್ರವಾಗಿದೆ profile_idc, ಇದು ಎನ್ಕೋಡರ್ ಬಳಸಿದ ಪ್ರೊಫೈಲ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಸೀಮಿತವಾದ ಉನ್ನತ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಬಳಸಲಾಯಿತು (ಅಂದರೆ, ದ್ವಿಮುಖ ಬಿ-ವಿಭಾಗದ ಬೆಂಬಲವಿಲ್ಲದ ಉನ್ನತ ಪ್ರೊಫೈಲ್).

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ನೀವು ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ವಿವರಣೆಯನ್ನು ನೋಡಿದರೆ H.264 SPS NAL ಗಾಗಿ, ಪ್ಯಾರಾಮೀಟರ್ ಹೆಸರು, ವರ್ಗ ಮತ್ತು ವಿವರಣೆಗಾಗಿ ನಾವು ಅನೇಕ ಮೌಲ್ಯಗಳನ್ನು ಕಾಣಬಹುದು. ಉದಾಹರಣೆಗೆ, ಕ್ಷೇತ್ರಗಳನ್ನು ನೋಡೋಣ pic_width_in_mbs_minus_1 и pic_height_in_map_units_minus_1.

ಪ್ಯಾರಾಮೀಟರ್ ಹೆಸರು ವರ್ಗದಲ್ಲಿ ವಿವರಣೆ
pic_width_in_mbs_minus_1 0 ue(v)
pic_height_in_map_units_minus_1 0 ue(v)

ಈ ಕ್ಷೇತ್ರಗಳ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ನಾವು ಕೆಲವು ಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಿದರೆ, ನಾವು ನಿರ್ಣಯವನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಒಬ್ಬರು 1920 x 1080 ಅನ್ನು ಪ್ರತಿನಿಧಿಸಬಹುದು pic_width_in_mbs_minus_1 119 ಮೌಲ್ಯದೊಂದಿಗೆ ((119 + 1) * ಮ್ಯಾಕ್ರೋಬ್ಲಾಕ್_ಸೈಜ್ = 120 * 16 = 1920). ಮತ್ತೊಮ್ಮೆ, ಜಾಗವನ್ನು ಉಳಿಸಲು, 1920 ಅನ್ನು ಎನ್ಕೋಡಿಂಗ್ ಮಾಡುವ ಬದಲು, ನಾವು ಅದನ್ನು 119 ನೊಂದಿಗೆ ಮಾಡಿದ್ದೇವೆ.

ನಾವು ನಮ್ಮ ರಚಿಸಿದ ವೀಡಿಯೊವನ್ನು ಬೈನರಿ ರೂಪದಲ್ಲಿ ಪರಿಶೀಲಿಸುವುದನ್ನು ಮುಂದುವರಿಸಿದರೆ (ಉದಾಹರಣೆಗೆ: xxd -b -c 11 v/minimal_yuv420.h264), ನಂತರ ನೀವು ಕೊನೆಯ NAL ಗೆ ಹೋಗಬಹುದು, ಅದು ಫ್ರೇಮ್ ಆಗಿದೆ.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಇಲ್ಲಿ ನಾವು ಅದರ ಮೊದಲ 6 ಬೈಟ್ ಮೌಲ್ಯಗಳನ್ನು ನೋಡುತ್ತೇವೆ: 01100101 10001000 10000100 00000000 00100001 11111111. ಮೊದಲ ಬೈಟ್ NAL ಪ್ರಕಾರವನ್ನು ಸೂಚಿಸುತ್ತದೆ ಎಂದು ತಿಳಿದಿರುವುದರಿಂದ, ಈ ಸಂದರ್ಭದಲ್ಲಿ (00101) ಒಂದು IDR ತುಣುಕು (5), ಮತ್ತು ನಂತರ ನೀವು ಅದನ್ನು ಮತ್ತಷ್ಟು ಅನ್ವೇಷಿಸಬಹುದು:

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ನಿರ್ದಿಷ್ಟ ಮಾಹಿತಿಯನ್ನು ಬಳಸಿಕೊಂಡು, ತುಣುಕು ಪ್ರಕಾರವನ್ನು ಡಿಕೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ (ಸ್ಲೈಸ್_ಟೈಪ್) ಮತ್ತು ಫ್ರೇಮ್ ಸಂಖ್ಯೆ (ಫ್ರೇಮ್_ಸಂಖ್ಯೆ) ಇತರ ಪ್ರಮುಖ ಕ್ಷೇತ್ರಗಳ ನಡುವೆ.

ಕೆಲವು ಕ್ಷೇತ್ರಗಳ ಮೌಲ್ಯಗಳನ್ನು ಪಡೆಯಲು (ue(v), me(v), se(v) ಅಥವಾ te(v)), ನಾವು ವಿಶೇಷ ಡಿಕೋಡರ್ ಅನ್ನು ಆಧರಿಸಿ ತುಣುಕನ್ನು ಡಿಕೋಡ್ ಮಾಡಬೇಕಾಗಿದೆ ಘಾತೀಯ ಗೊಲೊಂಬ್ ಕೋಡ್. ವೇರಿಯಬಲ್ ಮೌಲ್ಯಗಳನ್ನು ಎನ್ಕೋಡಿಂಗ್ ಮಾಡಲು ಈ ವಿಧಾನವು ತುಂಬಾ ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ, ವಿಶೇಷವಾಗಿ ಅನೇಕ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಗಳು ಇದ್ದಾಗ.

ಮೌಲ್ಯಗಳು ಸ್ಲೈಸ್_ಟೈಪ್ и ಫ್ರೇಮ್_ಸಂಖ್ಯೆ ಈ ವೀಡಿಯೊದ 7 (I-ತುಣುಕು) ಮತ್ತು 0 (ಮೊದಲ ಫ್ರೇಮ್).

ಸ್ವಲ್ಪ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪ್ರೋಟೋಕಾಲ್ ಎಂದು ಪರಿಗಣಿಸಬಹುದು. ನೀವು ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸಿದರೆ, ನೀವು ನಿರ್ದಿಷ್ಟತೆಯನ್ನು ಉಲ್ಲೇಖಿಸಬೇಕು ITU H.264. ಚಿತ್ರದ ಡೇಟಾ ಎಲ್ಲಿದೆ ಎಂಬುದನ್ನು ತೋರಿಸುವ ಮ್ಯಾಕ್ರೋ ರೇಖಾಚಿತ್ರ ಇಲ್ಲಿದೆ (ಯುವಿ ಸಂಕುಚಿತ ರೂಪದಲ್ಲಿ).

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಇತರ ಬಿಟ್‌ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ VP9, H.265 (ಎಚ್‌ಇವಿಸಿ) ಅಥವಾ ನಮ್ಮ ಹೊಸ ಅತ್ಯುತ್ತಮ ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಕೂಡ AV1. ಅವರೆಲ್ಲರೂ ಹೋಲುತ್ತಾರೆಯೇ? ಇಲ್ಲ, ಆದರೆ ಒಮ್ಮೆ ನೀವು ಕನಿಷ್ಟ ಒಂದನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡರೆ, ಉಳಿದವುಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ತುಂಬಾ ಸುಲಭ.

ಅಭ್ಯಾಸ ಮಾಡಲು ಬಯಸುವಿರಾ? H.264 ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಅನ್ವೇಷಿಸಿ

ನೀವು ಒಂದೇ ಫ್ರೇಮ್ ವೀಡಿಯೊವನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ಬಿಟ್‌ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲು MediaInfo ಅನ್ನು ಬಳಸಬಹುದು H.264. ವಾಸ್ತವವಾಗಿ, ಬಿಟ್ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸುವ ಮೂಲ ಕೋಡ್ ಅನ್ನು ನೋಡುವುದರಿಂದ ಏನೂ ನಿಮ್ಮನ್ನು ತಡೆಯುವುದಿಲ್ಲ H.264 (ಅವಾಕ್).

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಅಭ್ಯಾಸಕ್ಕಾಗಿ, ನೀವು ಇಂಟೆಲ್ ವೀಡಿಯೊ ಪ್ರೊ ವಿಶ್ಲೇಷಕವನ್ನು ಬಳಸಬಹುದು (ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಪಾವತಿಸಲಾಗಿದೆ ಎಂದು ನಾನು ಈಗಾಗಲೇ ಹೇಳಿದ್ದೇನೆ, ಆದರೆ 10 ಫ್ರೇಮ್‌ಗಳ ಮಿತಿಯೊಂದಿಗೆ ಉಚಿತ ಪ್ರಯೋಗ ಆವೃತ್ತಿ ಇದೆಯೇ?).

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಅವಲೋಕನ

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

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಹಿಂದೆ, 139p ಗುಣಮಟ್ಟ ಮತ್ತು 720 ಎಫ್‌ಪಿಎಸ್‌ನಲ್ಲಿ ಒಂದು ಗಂಟೆ ಅವಧಿಯ ವೀಡಿಯೊ ಫೈಲ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲು 30 GB ಡಿಸ್ಕ್ ಸ್ಥಳಾವಕಾಶದ ಅಗತ್ಯವಿದೆ ಎಂದು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲಾಗಿತ್ತು. ಈ ಲೇಖನದಲ್ಲಿ ಚರ್ಚಿಸಲಾದ ವಿಧಾನಗಳನ್ನು ನೀವು ಬಳಸಿದರೆ (ಇಂಟರ್-ಫ್ರೇಮ್ ಮತ್ತು ಆಂತರಿಕ ಮುನ್ನೋಟಗಳು, ರೂಪಾಂತರ, ಕ್ವಾಂಟೀಕರಣ, ಎಂಟ್ರೊಪಿ ಕೋಡಿಂಗ್, ಇತ್ಯಾದಿ), ನಂತರ ನೀವು ಸಾಧಿಸಬಹುದು (ನಾವು ಪ್ರತಿ ಪಿಕ್ಸೆಲ್‌ಗೆ 0,031 ಬಿಟ್‌ಗಳನ್ನು ಖರ್ಚು ಮಾಡುತ್ತೇವೆ ಎಂಬ ಅಂಶವನ್ನು ಆಧರಿಸಿ), ಸಾಕಷ್ಟು ವೀಡಿಯೊ ತೃಪ್ತಿದಾಯಕ ಗುಣಮಟ್ಟ, ಕೇವಲ 367,82 MB ಆಕ್ರಮಿಸಿಕೊಂಡಿದೆ, 139 GB ಮೆಮೊರಿ ಅಲ್ಲ.

H.265 ಹೇಗೆ H.264 ಗಿಂತ ಉತ್ತಮ ಸಂಕುಚಿತ ಅನುಪಾತವನ್ನು ಸಾಧಿಸುತ್ತದೆ?

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

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

ಎಚ್‌ಇವಿಸಿ ಗಿಂತ ಹೆಚ್ಚಿನ ವಿಭಾಗ (ಮತ್ತು ಉಪವಿಭಾಗ) ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿದೆ ಅವಾಕ್, ಹೆಚ್ಚಿನ ಆಂತರಿಕ ಭವಿಷ್ಯ ನಿರ್ದೇಶನಗಳು, ಸುಧಾರಿತ ಎಂಟ್ರೊಪಿ ಕೋಡಿಂಗ್, ಮತ್ತು ಇನ್ನಷ್ಟು. ಈ ಎಲ್ಲಾ ಸುಧಾರಣೆಗಳನ್ನು ಮಾಡಲಾಗಿದೆ H.265 ಗಿಂತ 50% ಹೆಚ್ಚು ಸಂಕುಚಿತಗೊಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ H.264.

ವೀಡಿಯೊ ಕೊಡೆಕ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಭಾಗ 2. ಏನು, ಏಕೆ, ಹೇಗೆ

ಮೊದಲ ಭಾಗ: ವೀಡಿಯೊ ಮತ್ತು ಚಿತ್ರಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಮೂಲಗಳು

ಮೂಲ: www.habr.com

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