Libcamera ನ ಮೊದಲ ಬಿಡುಗಡೆ, Linux ನಲ್ಲಿ ಕ್ಯಾಮರಾ ಬೆಂಬಲಕ್ಕಾಗಿ ಒಂದು ಸ್ಟಾಕ್

ನಾಲ್ಕು ವರ್ಷಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ, ಲಿಬ್‌ಕ್ಯಾಮೆರಾ ಪ್ರಾಜೆಕ್ಟ್‌ನ (0.0.1) ಮೊದಲ ಬಿಡುಗಡೆಯನ್ನು ರಚಿಸಲಾಯಿತು, ಇದು ಲಿನಕ್ಸ್, ಆಂಡ್ರಾಯ್ಡ್ ಮತ್ತು ಕ್ರೋಮ್ಓಎಸ್‌ನಲ್ಲಿ ವೀಡಿಯೊ ಕ್ಯಾಮೆರಾಗಳು, ಕ್ಯಾಮೆರಾಗಳು ಮತ್ತು ಟಿವಿ ಟ್ಯೂನರ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಸಾಫ್ಟ್‌ವೇರ್ ಸ್ಟಾಕ್ ಅನ್ನು ನೀಡುತ್ತದೆ, ಇದು V4L2 API ಅಭಿವೃದ್ಧಿಯನ್ನು ಮುಂದುವರೆಸಿದೆ. ಮತ್ತು ಅಂತಿಮವಾಗಿ ಅದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಲೈಬ್ರರಿಯ API ಇನ್ನೂ ಬದಲಾಗುತ್ತಿರುವುದರಿಂದ ಮತ್ತು ಇನ್ನೂ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಿರವಾಗಿಲ್ಲದ ಕಾರಣ, ನಿರಂತರ ಅಭಿವೃದ್ಧಿ ಮಾದರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ವೈಯಕ್ತಿಕ ಬಿಡುಗಡೆಗಳನ್ನು ಶಾಖೆ ಮಾಡದೆಯೇ ಯೋಜನೆಯು ಇಲ್ಲಿಯವರೆಗೆ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಹೊಂದಾಣಿಕೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವ API ಬದಲಾವಣೆಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಮತ್ತು ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿ ಲೈಬ್ರರಿಗಳ ವಿತರಣೆಯನ್ನು ಸರಳಗೊಳಿಸಲು ವಿತರಣೆಗಳ ಅಗತ್ಯಕ್ಕೆ ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ, ABI ಮತ್ತು API ಬದಲಾವಣೆಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವ ನಿಯತಕಾಲಿಕವಾಗಿ ಬಿಡುಗಡೆಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ನಿರ್ಧಾರವನ್ನು ಈಗ ಮಾಡಲಾಗಿದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು C++ ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು LGPLv2.1 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ನ ಮಲ್ಟಿಮೀಡಿಯಾ ಉಪವ್ಯವಸ್ಥೆಗಳ ಡೆವಲಪರ್‌ಗಳು ಕೆಲವು ಕ್ಯಾಮೆರಾ ತಯಾರಕರು ಒಟ್ಟಾಗಿ ಸ್ಮಾರ್ಟ್‌ಫೋನ್‌ಗಳಿಗೆ ಕ್ಯಾಮೆರಾಗಳಿಗೆ ಲಿನಕ್ಸ್ ಬೆಂಬಲದೊಂದಿಗೆ ಮತ್ತು ಸ್ವಾಮ್ಯದ ಡ್ರೈವರ್‌ಗಳಿಗೆ ಜೋಡಿಸಲಾದ ಎಂಬೆಡೆಡ್ ಸಾಧನಗಳೊಂದಿಗೆ ಪರಿಸ್ಥಿತಿಯನ್ನು ಸಾಮಾನ್ಯಗೊಳಿಸಲು ಯೋಜನೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದ್ದಾರೆ. ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ನಲ್ಲಿ ಈಗಾಗಲೇ ಲಭ್ಯವಿರುವ API V4L2, ಸಾಂಪ್ರದಾಯಿಕ ಪ್ರತ್ಯೇಕ ವೆಬ್ ಕ್ಯಾಮೆರಾಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಒಂದು ಸಮಯದಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ ಮತ್ತು MCU ಕಾರ್ಯವನ್ನು CPU ನ ಭುಜದ ಮೇಲೆ ಚಲಿಸುವ ಇತ್ತೀಚಿನ ಪ್ರವೃತ್ತಿಗೆ ಸರಿಯಾಗಿ ಅಳವಡಿಸಲಾಗಿಲ್ಲ.

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

ಲಿಬ್‌ಕ್ಯಾಮೆರಾ ಲೈಬ್ರರಿ ನೀಡುವ ಸ್ಟಾಕ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಳಕೆದಾರ ಜಾಗದಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಾಫ್ಟ್‌ವೇರ್ ಪರಿಸರಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, V4L API, Gstreamer ಮತ್ತು Android ಕ್ಯಾಮರಾ HAL ಗಾಗಿ ಹೊಂದಾಣಿಕೆ ಲೇಯರ್‌ಗಳನ್ನು ಒದಗಿಸಲಾಗಿದೆ. ಸಲಕರಣೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಪ್ರತಿ ಕ್ಯಾಮರಾಕ್ಕೆ ನಿರ್ದಿಷ್ಟವಾದ ಸ್ವಾಮ್ಯದ ಘಟಕಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲಿ ರನ್ ಮಾಡುವ ಮತ್ತು IPC ಮೂಲಕ ಲೈಬ್ರರಿಯೊಂದಿಗೆ ಸಂವಹನ ಮಾಡುವ ಮಾಡ್ಯೂಲ್‌ಗಳಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಮಾಡ್ಯೂಲ್‌ಗಳು ಸಾಧನಕ್ಕೆ ನೇರ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ಮಧ್ಯಂತರ API ಮೂಲಕ ಉಪಕರಣಗಳನ್ನು ಪ್ರವೇಶಿಸುವುದಿಲ್ಲ, ಅದರ ಮೂಲಕ ವಿನಂತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ, ಫಿಲ್ಟರ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಕ್ಯಾಮರಾವನ್ನು ನಿಯಂತ್ರಿಸಲು ಅಗತ್ಯವಾದ ಕಾರ್ಯವನ್ನು ಪ್ರವೇಶಿಸಲು ಮಾತ್ರ ಸೀಮಿತವಾಗಿರುತ್ತದೆ.

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

ಮೂಲ: opennet.ru

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