2012-04-11 3 views
2

모두!압축 도메인에서의 움직임 감지 (JPEG/Mpeg4/H264)

IP 카메라에서 비디오를 처리하고 압축 해제 된 비디오 분석에 기반한 동작 감지 알고리즘을 작성했습니다. 그러나 나는 정말로 더 빠른 무엇인가. 압축 도메인 분석에 대한 여러 논문을 찾았지만 구현을 찾지 못했습니다. 누군가 코드를 추천 해 줄 수 있습니까?

발견 재료 :
http://www.ist-live.org/intranet/school-of-informatics-university-of-bradford001-7/41410206.pdf/view
http://doc.rero.ch/lm.php?url=1000,43,4,20061128120121-NA/Bracamonte_Javier_-_A_Low_Complexity_Change_Detection_Algorithm_20061128.pdf

+0

비디오 스트림이나 JPEG 프레임에서 움직임을 감지하려고합니까? 압축 된 비디오 스트림의 P 및 B 프레임에서 모션을 감지하는 것은 그리 어렵지 않습니다. 압축되는 것은 프레임 간 변경뿐입니다. 일련의 JPEG 이미지는 각 프레임이 완전히 인트라 압축 되었기 때문에 다른 이야기입니다. JPEG 이미지의 주파수 도메인으로 작업하는 것은 쉽지 않지만 각 MCU의 프레임 간 절대적인 차이의 합을 확인할 수 있다고 가정합니다. 변경 사항의 합계와 위치는 동작을 경고합니다. – BitBank

+0

예, ip- 카메라의 비디오 스트림에서 움직임을 감지합니다. 비디오 스트림은 세 가지 인기있는 유형 중 하나 일 수 있습니다 : MJPEG (JPEG 이미지 시리즈, 그러나 완전히 압축 해제하지 않고도 이들 사이의 변경 사항을 감지 할 수 있음을 알고 있습니다), MPEG4 및 H.264. 주어진 스트림 유형에서 시작하는 것이 좋을 것입니다. – paft

답변

2

나는 H.264 비디오에 움직임을 감지했고, 나를 위해 프레임 크기는 정말 좋은 지표이었다.

./ffprobe -show_frames -pretty video.mp4 | grep 'size' | grep -o '[0-9]*' > sizes.txt

를 내 경우 나를 위해 (더 큰 I 프레임 의미없는 움직임, 모든 30 프레임 :

나는이 같은 프레임 크기를 수출합니다 (는 FFmpeg 프로젝트에서) ffprobe를 사용 I- 프레임이었습니다) 사이의 프레임 중 일부는 더 작은 크기였습니다.

저는 비디오 인코딩에 익숙하지 않으므로 이러한 것들이 인코딩 및 비디오 신호 유형에 크게 의존 할 것으로 생각됩니다. 그러나 시도하는 것이 빠르기 때문에 그럴 가치가 있습니다. 프레임 크기 내보내기 및 예 : Matlab.


편집 : 초당 프레임이 I-프레임이되도록이 더 나은 시간 분해능을 내 주면서 내가 비디오를 다시 인코딩 결국 . 필자가 테스트하지 않은 한 가지 아이디어는 비디오를 뒤집어서 같은 일을하는 것이 었습니다. 모션이 시작/끝날 때 더 정확한 추정을 제공해야합니다. 즉, 역방향 필터링을 통해 위상 지연을 제거하는 것과 같습니다.