Automatic Video Shot Detection from MPEG Bit Stream
Automatic Video Shot Detection from MPEG Bit Stream Jianping Fan Department of Computer Science University of North Carolina at Charlotte, NC 28223 jfan@uncc. edu http: //www. cs. uncc. edu/~jfan
Why we need video shots? a. Text Retrieval: Keyword Extraction Indexing Reverse File Indexing Document Storage
Why we need video shots? b. Database Query: Entity Extraction Indexing B-Tree Indexing Database Storage
Why we need video shots? c. Image Retrieval: Object Indexing Ontology Indexing Database Storage
Why we need video shots? MPEG Video Sequence Video shot frames
Why we need video shots? Story Unit in News Video Each story unit may consist of multiple connected video shots!
? ? ? Why we need video shots? Indexing Shot Indexing Video Shots in Storage
Video shot =? = keyword in video? ? ? ? Shot is used as basic unit for video indexing! Storage Database Networks Query Processing Server
1. Why we need shot detection? Potential Search on Video Shots: a. Give me some videos which consist of similar video shots! b. Give me all the videos which are related to this video shot!
2. Content Structure of Video Sequence Video shot frames Shot-Based Video Content Interpretation!
3. Coding Structure in MPEG Video sequence MPEG encoding GOP shot ?
Interesting Questions If you are leader of MPEG around 1994, how can you design new MPEG standards which can be used for video indexing?
New MPEG Standard with Video Shot Video sequence Video shot GOP GOP is Video Shot! frames
4. What’s mean of video shot? Why We Have Shots: (a) Human Editing; (b) Content Change & Camera Motion Shot Types: (a) Scene Cuts; (b) Fade in & Fade out; © Dissolves & Wipes
4. What’s mean of video shot? video a. Scene Cuts: Sudden change of video content or focus Shot 1 time
4. What’s mean of video shot? b. Fade: gradual transition between a screen and a constant image (fade out).
4. What’s mean of video shot? c. Dissolve: gradual transition from one screen to another, the first screen fade & the second one fade out.
4. What’s mean of video shot? Dissolve
4. What’s mean of video shot? d. Wipe: a line moves across the screen & new appears behind the line
4. What’s mean of video shot? Wipe
Conclusion: Why we have video shots? Video Sequence Video shot frames Big change between two continuous video frames!
How can we detect video shots? n n n Why we can define them as cuts, wipe, …. ? Because they are changed between neighboring video frames!!!! How can we measure the changes or similarities between the neighboring video frames? How can make decision on whether they are change or not?
5. How to detect video shot? Major Components for Shot Detection: a. Visual Representation of Video Frames: Color, Texture… b. Difference Calculation for Neighboring Video Frames c. Threshold for Decision Making: How Large is Enough?
5. How to detect video shot? How to measure statistical property of video frames? Color Histogram
5. How to detect video shot? How to measure statistical property of video frames? Color Histogram
5. How to detect video shot? How to measure statistical property of video frames? Texture Histogram
5. How to detect video shot?
5. How to detect video shot? How we can do this more efficient on MPEG videos? a. Easy but not smart MPEG videos MPEG Decoder Color Histogram Difference Scene Cut Frame Output Automatic Threshold Determination
Scene Cut
5. How to detect video shot? Effects on color histogram difference by scene cuts:
5. How to detect video shot? How to measure the change of video content? Color Histogram Difference
5. How to detect video shot? How we can select the threshold automatically? a. J. Fan, D. K. Y. Yau, W. G. Aref, A. Rezgui, ``Adaptive motioncompensated video coding scheme towards content-based bit rate allocation”, Journal of Electronic Imaging, vol. 9, no. 4, pp. 521 -533, 2000. This algorithm can adapt the thresholds to different videos. b. J. Fan, et al. , ``Class. View: Hierarchical video shot classification and retrieval”, IEEE Trans. on Multimedia, 2004. This algorithm can adapt thresholds to different video shots.
5. How to detect video shot? Relationships among continuous frames can defined as: scene cuts versus non-scene cuts 1 non-scene cut probability 0 T 1
5. How to detect video shot? How to obtain T automatically? Entropy for non-scene cut frames:
Interesting Questions What will happen on MPEG bit stream if the current video frame is a shot boundary? I B P How can we use such properties for shot detection?
5. How to detect video shot? b. Complex but smart approach If scene cuts happen on I frames in MPEG Video? GOP MPEG encoding How to calculate color histograms of I frames efficiently? Only decode DC coefficient!!!
5. How to detect video shot? b. Complex but smart approach What will happen on MPEG bit stream if there is a shot boundary? 4 Mb/s 1. 5 Mb/s high low Picture Quality
If content change happens on P frames in MPEG video? Most macroblocks can not find their correspondences!! Only decode the block coding types in P frames!!! Reference frame( I or P) Current P frame
If content change happens on B frames in MPEG video? Only decode the coding types in B frames!!!! Most macroblocks in B current frame can only be predicted by backward way!! Previous Reference Current B frame Future Reference
6. Shot Detection via Edge Extraction Edges indicate the content structure of video frames!
6. Shot Detection via Edge Extraction a. Easy but not smart MPEG videos MPEG Decoder Color Edge Detection Scene Cut Frame Output Automatic Threshold Determination
6. Shot Detection via Edge Extraction a. J. Fan, W. G. Aref, M. -S. Hacid and A. K. Elmagarmid, ``An automatic isotropic color edge detection technique”, Pattern Recognition Letters, vol. 22, pp. 1419 -1429, 2001. 1 2 1 1 0 -1 2 1 0 0 1 2 0 0 1 0 0 -1 -1 -2 -1 0 -2 -2 -1 1 -1 0 -1 1 0 -2 -1
6. Shot Detection via Edge Extraction b. complex but smart Only decode only part of MPEG videos 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 00000000 00000000 255 DCT What you find from this figure?
6. Shot Detection via Edge Extraction 1. Calculate the directional edge histogram Horizontal edges Vertical edges Northwest diagonal edges Northeast diagonal edges 2. Calculate the differences of the directional edge histogram 3. Threshold to obtain the scene cuts
7. Complex Shot Detection Effects on color histogram different by Fades & Dissolves
7. Complex Shot Detection n Wipe Modeling n Dissolve Modeling
8. Camera Motion Detection a. Zoom in
8. Camera Motion Detection b. Zoom out
8. Camera Motion Detection c. Left Pan
8. Camera Motion Detection d. Right Pan
Why We Need Keyframe Extraction?
Why We Need Keyframe Extraction?
Keyframe Extraction n What are keyframes? Different from others! How to measure the significance of video frames? How to make the decision?
9. Background Modeling for Shot Detection
9. Background Modeling for Shot Detection
9. Background Modeling for Shot Detection
9. Background Modeling for Shot Detection
9. Background Modeling for Shot Detection
9. Background Modeling for Shot Detection
10. Shot-Based Video Content Representation n Statistical Information (a) Color histogram & variance; (b) edge histogram & variance © motion histogram & variance; n Keyframe-Based Information (a) Color histogram; (b) edge histogram © motion histogram
11. Shot-Oriented Video Semantics Interpretation
Who cares?
12. Who works on this topic? 1. IBM research center 2. Intel 3. Microsoft Redmond & Beijing 4. Kodak at Rochester 5. HP at Polo Alto 6. Google 7. Yahoo!
12. Requirement If you are asked to work on video shot detection from compressed video stream, what you should know (basic requirement)? a. MPEG video coding standard: how to decode and read MPEG file b. Knowledge on video shot analysis: Color, motion, edge, fade, dissolve, … c. Skills on C++
Project Introduction n n Design a system for automatic shot detection from MPEG video streams Interface design: read in MPEG files and display shot boundaries, or even decision process!
- Slides: 65