video에 필터를 적용하는 경우
- 출장이 잦아서, 답변에 시간이 좀 걸릴 수도 있습니다. 양해 바랍니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
선생님 너무 좋은 강의 다시 한번 감사드립니다. 다름이 아니고, video에서 각각의 frame별로 filter를 처리하는 부분을 cuda도 구현하는 코드를 짠다고 가정할 때, 각 프레임은 W x H x C ( rbg) 의 차원을 가지고 있고 영상이기 때문에 영상은 W x H x C x T 의 차원을 가지고 있을 겁니다. 그렇다면, cudaMalloc3D나 cudaMemecpy3D 부분을 사용해서 각 frame을 처리하고 ( device ) 나머지는 for 문 ( host ) 으로 시간에 따라 frame을 device로 보내도록 구현하였습니다. 그런데 혹시 시간 부분 까지 device에서 처리할 수 있는 방법이 있는 지가 궁금합니다.
답변 1
1
안녕하세요.
이미지 처리, 비디오 처리 분야도 CUDA 에서 많이 다루는 문제입니다.
보통, cudaMalloc3D( ) 로 메모리 영역을 잡게 될 것인데, 말씀하신대로, W x H x C x T 까지 고려하면, 4개의 차원이 되어서, 좀 애매한 상황이 생길 수 있습니다.
제가 많이 사용하는 방법은, pixel 당 RGBA 로, 4바이트 integer 를 할당하면, 0xRRGGBBAA 또는 0xAABBGGRR 형태로 저장될 겁니다.
이렇게 하면, data type 을 바이트가 아니라, 4 바이트 integer 로 바꾸면서, C 차원을 생략해도 되어서,
W x H 짜리 2차원 이미지로 되고, T 차원까지 고려하면, 3차원이 되어서, cudaMalloc3D( ) 로 메모리 관리가 가능할 것입니다.
픽셀마다의 access 패턴으로 보아도, 이쪽이 속도가 빠를 겁니다.
RGB 만 쓰더라도, A에 해당하는 1 바이트를 버려도, integer 단위로 자료를 주고 받는게 빠르다는 점을 고려해야 할 겁니다.
감사합니다.🍀
섹션7에서 개념적 궁금증
0
3
0
26년2회 실기기출은 언제쯤...
0
20
2
이론 공부법 요약본 버전 업데이트 문의
0
17
2
코딩살구클럽 가입부탁드립니다
0
27
2
vs 디버그 옵션 설정
0
26
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
30
2
54강 양자화의 끝판왕, 터보퀀트 (예정) 강의 업로드
0
29
1
블로그에 학습 내용 올려도 되나요?
0
32
1
5-S 테스트 케이스 질문
0
34
2
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
54
2
코살 문제풀이 환경
0
48
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
43
1
추천 추가문제들
0
43
2
프로그래머스 코테 환경 관련해서 질문드립니다.
0
47
2
최댓값 구하기(서바이벌)에서 수식 구성에 대한 질문
0
41
2
자료 한번에 다운받기
0
30
1
해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.
0
41
2
균형 이진 트리 설명 시 높이 숫자
0
31
2
4-H 질문드립니다.
0
35
2
1-K 질문드립니다.
0
41
2
대기업 인적성 시험 질문
0
41
2
pitch값에 따른 alignement boundary(size) 질문
0
203
2
[Matrix Addition Problem] 1D를 사용하지 않는 이유가 뭔가요?
0
243
1
계산시간 비교
1
408
2





