From: Zach Bartels Date: 2010-02-16T04:30:06+09:00 Subject: Re: Theory behind proof of concept for automatic IVTC decimation Thanks for those two replies. That should set me on the right track. David: The reason 5 is an important number for me, is because I am performing an Inverse Telecine operation on DVD content. Telecining is a process by which 24fps film material is made suitable for NTSC broadcast television (30fps, or 60 fields per second). However I am dealing with a lot of Anime, which by nature of the industry, is actually Hybrid content. It contains both 24fps telecined content, and genuine 30fps content. How can you possibly display both at the same time within the same stream? Well due to the way TV works, by interlacing two fields of data, you can telecine the 24 fps content to a speed of 30fps content by field blending. There is a lot of math involved that I don't understand, but basically it involves blending the fields of two frames out of every set of 5. There is a top field and a bottom field to every image you see on TV. By blending these you can trick the viewer into seeing 24fps material as it was intended to be seen, even though its working inside a 30fps stream. Here is a link explaining it.. http://en.wikipedia.org/wiki/Telecine#3:2_pulldown What i am doing is reversing the process.. However because I am working with Hybrid video, it is not that simple. I actually have to take note of any 30FPS progressive sections, and treat them differently than the 24FPS Telecined sections that I will be decimating. As for the 24fps sections themselves, I need to examine 5 frames at a time, to mark a specific frame (and this is part of the proof of concept for what I am doing) that I believe is the duplicate which needs to be deleted from the stream. So I need to look at 5 values in the array at a time, comparing them against a master list of pattern matches, so I can tell the program what to do when it finds a match with one of the possible patterns. I also need to be able to tell it NOT to decimate any identified 30fps patterns it will come across, and potentially mark them so I can make an MKV timecodes file with their frame numbers later on... depends on how much I want to do within Yatta itself. That's why I need to work in 5 frame blocks with the arrays. Hope you understand better what I am aiming to do.. The reason I am going through all this is because no one has developed a tool that can reliably perform this operation, specifically on Hybrid Anime content, without producing errors. YATTA is used to perform a completely manual IVTC operation, with the user reviewing pattern matches and marking frames for decimation/postprocess deinterlacing/filtering and what have you. I want to try to automate the IVTC portion of this work. It is arguably the most time consuming and error prone part of working with YATTA. It can take a user between 5 - 10 hours to manually IVTC a 20 minute episode. More closer to 5 hours IF they are very experienced.