[영상처리] YUV 플레이어 설치하기_가상현실 비디오 프로세싱 과제_02
YUV 플레이어 설치하기 / YUV파일 재생하기
11월에 장마처럼 쏟아지는 과제를 하면서 너무나도 기본적인 내용이지만 시작하는 누군가에게 또 도움이 되리라 포스팅합니다!
오늘 실습할 파일은 PeopleOnStreet_1280x720_30_Original.yuv 입니다.
(YUV파일에 대한 설명은 포스팅 하단에 넣어두었습니다.)
실습 파일은 아래 링크에서 다운받을 수 있습니다.
https://drive.google.com/file/d/1Bg_bhQY0XTnpt8SQQ-VOinNObUuZ0OK6/view?usp=sharing
1. 먼저 아래 사이트에 접속하여 무료 YUV 플레이어를 다운받습니다.
https://sourceforge.net/projects/raw-yuvplayer/
2. 다운받은 파일의 압축을 풀어줍니다. 너무나도 소박하고 단촐한 폴더 안에 yuvplayer.exe이 혼자 들어있습니다. 실행해봅시다!
3. 이 플레이어를 실행하면 아래와 같이 생긴 프로그램이 나타납니다. 이제 다 끝났습니다. 왼쪽 상단의 메뉴로 갑니다.
File - Open을 눌러 PeopleOnStreet_1280x720_30_Original.yuv 파일을 열어줍니다.
4. 불러오면 바로 아래처럼 영상이 재생됩니다. 프로그램 창 상단에 파일명 뒤에 이어서 프레임 수가 나타납니다. 이 파일은 30프레임으로 이루어져있어요.
5. 물론 불러오면 프로그램에서 알아서 영상 정보에 맞게 자동으로 실행이 되었지만, 조금 더 살펴보자면!
영상 정보에 맞춰 가로, 세로 (1280*720)의 크기를 바꾸기 위해서
Size의 메뉴 중 선택하거나 Custom에서 직접 설정할 수도 있습니다.
YUV파일은 Y(밝기), U(파랑), V(빨강)의 비율에 따라서 YUV 444, YUV 422, YUV 420, YUV 411 로 나뉩니다. (YUV파일은 포스팅 하단에 조금 더 자세히 설명)
실습파일은 YUV420이므로 이것을 체크해주시면 됩니다.
또 만약 Y(밝기)만 체크하는 경우 빛의 밝기를 나타내는 휘도만 나타나서 흑백으로 보이게 됩니다.
오늘 포스팅은 소박하지만 여기까지입니다..
이런 프로그램도 있구나 하고 살펴보시면 좋겠습니다.
+ YUV파일이란?
색의 삼원색을 생각하면, RGB(Red/Green/Blue)를 쉽게 떠올릴 수 있습니다. 이 3가지 색상을 조합하면 이미지에서 다양한 색을 표현할 수 있습니다. 다만! 영상을 처리할 때에도 RGB 방식을 사용했을때 문제점은 처리 용량이 엄청나게 커진다는 점입니다. 이 단점을 보완하는 것이 YUV 방식입니다.
YUV는 각각 빛의 밝고 어두움을 나타내는 Y (luma) , 색상(chroma)을 표현하는 파랑 U, 빨강 V를 의미합니다. 이 셋을 조합하여 색상을 표현합니다.
* 아래 이미지는 U값과 V값이 섞이면서 어떻게 색이 만들어지는지 보여줍니다. (Y = 0.5로 두었을때)
이 방식은 사람의 눈이 가진 특징을 바탕으로 만들어진 것인데요, 사람은 색깔(chroma)보다도 빛의 밝기(luma)에 민감하다고 합니다.
이점을 이용하여! Y : U : V 각각을 4 : 2 : 2 , 4 : 2 : 1 등으로 색상성분은 줄여서 표현하면, 처리 용량은 크게 줄이면서 화질에는 사람이 보기에 크게 떨어지지 않을 수 있는 것입니다.
아래 그림이 가장 저에게는 잘 와닿았었습니다. Y데이터는 오롯이 들어가고, U+V가 같은 비율로 들어가거나,
y는 그대로 u,v는 1/2씩 들어가거나, 1/4씩 들어가는 방식으로 처리용량을 줄이는 것입니다.
영상처리를 깊게 배울 날이 앞으로 없을 수도 있는데, AI은 당장 접점이 없는 강의지만 배우는 것이 많은 것 같습니다.
이미지를 저렇게 쪼갤 수도 있구나 놀랍기도 하고 무엇보다, 사람의 시각이 가진 약점같은 특징을 알고 압축 방식에 적용했다는 점이 정말 놀라웠어요. 한 분야를 잘하려면 그 분야만 깊이 가야하는 게 아닌 것 같습니다. 어떻게 이런 표현 방법을 생각해냈을까.. 정말 새로운 분야를 배우면서 감탄하는 것이 많네요.
'AI + 대학원' 카테고리의 다른 글
E_FAIL (0x80004005) 오류 해결 방법 / 버츄얼박스 가상머신 세션을 열 수 없습니다. (4) | 2022.03.26 |
---|---|
깃(Git)과 깃허브(github)란? 깃 구조부터 기본 용어 알기 # add commit push clone 커밋룰 (0) | 2022.01.28 |
[친절하게] 대학원 파견을 준비하는 분들에게 (0) | 2021.01.03 |
[AI] 가상 얼굴 이미지 합성사이트 모음 (5) | 2020.12.15 |
9월1주차 강의 / 키워드 모음 (0) | 2020.09.03 |