Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
16th March 2015, 12:04 | #1961 | Link | |
Registered User
Join Date: Mar 2014
Posts: 308
|
Quote:
Deinterlacing is typically not suggested for animation because the problem to fix usually isn't interlacing, but telecine or duplicated frames or whatever.
__________________
Say no to AviSynth 2.5.8 and DirectShowSource! |
|
16th March 2015, 12:47 | #1962 | Link |
Registered User
Join Date: Feb 2014
Posts: 355
|
Here's a test clip, if anyone's the time or inclination to point me in the right direction: S1.E1-TestClip Thanks.
Last edited by LouieChuckyMerry; 21st April 2015 at 04:53. Reason: Rename |
16th March 2015, 13:30 | #1963 | Link |
Registered User
Join Date: Mar 2014
Posts: 308
|
Looks like telecine (you can tell from the clean-clean-clean-combed-combed pattern by stepping through each frame), so what you should do is inverse telecine (using TIVTC). There's some dot crawl though, which might need to be dealt with before applying IVTC.
__________________
Say no to AviSynth 2.5.8 and DirectShowSource! |
17th March 2015, 03:33 | #1964 | Link |
Registered User
Join Date: Feb 2014
Posts: 355
|
Thanks for your reply, colours. With MeGUI's preview window (thanks for the idea ;-) ) I see clean-clean-clean-clean-combed without a script. Using MeGUI's "Analyze" feature returns "Hybrid film/interlaced. Mostly film", and in the preview window, with the MeGUI generated script "tfm(order=0).tdecimate(hybrid=1)", every frame appears clean. However, the result of running this script looks not nearly as good, at least to my eyes, as the result of QTGMC with default settings. Seriously, there's significantly less noise, especially edge noise, with the QTGMC output.
Last edited by LouieChuckyMerry; 17th March 2015 at 03:48. Reason: Clarity |
17th March 2015, 05:07 | #1965 | Link |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,731
|
That's because QTGMC also denoises at the default settings. If necessary, you need to do that after the TFM-TDecimate part in your script.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
17th March 2015, 05:15 | #1966 | Link |
Registered User
Join Date: Mar 2011
Posts: 4,829
|
If you can apply IVTC and the output frame rate is a smooth 23.976fps, that'd generally be better than de-interlacing to 29.970fps. Having said that, I often use QTGMC in progressive mode to remove noise etc, and that'd sometimes be after applying IVTC. For example:
tfm(order=-1).tdecimate() QTGMC(InputType=1, EzDenoise=1) Or you could try appling IVTC and then de-interlacing with QTGMC to see how it looks, even though technically that's completely wrong. Sometimes though I find de-interlacing progressive video with QTGMC can clean it up a bit better (as opposed to QTGMC in progressive mode) despite all it's technical wrongness. tfm(order=-1).tdecimate() QTGMC() SelectEven() But having said that, I use QTGMC very regularly, often in progressive mode as a noise filter, but I don't find QTGMC to be especially good for animation. I don't know why, and I don't work with animation much myself anyway, but I had a play with your sample and couldn't get QTGMC to produce any oddness. I suspect it's because mostly, there's not two consecutive frames that are different. I tired QTGMC on a different source where every frame was different and it wasn't hard to find places where the output wasn't right when QTGMC was used (admittedly this was just a progressive source I had handy). Pic 1 original Pic 2 QTGMC deinterlacing Pic 3 QTGMC in progressive mode. It might give you an idea of what to look out for. For your source I think MeGUI's suggestion of applying ITVC would be best. That'll give you progressive 23.976fps and you could maybe try following that with QTGMC in progressive mode, but there's probably more applicable filters you could use instead. Maybe someone who works with animation regularly will be able to offer a better suggestion. http://avisynth.nl/index.php/Toon |
17th March 2015, 08:18 | #1967 | Link |
Registered User
Join Date: Mar 2014
Posts: 308
|
I actually frame-stepped it in mpv because simple diagnostics don't really require much more than a simple video player.
The reason you sometimes (actually, on your source, most of the time) see only one combed frame out of five is because animation tends to have repeated frames, so a frame that is "supposed" to be combed happens to not be, just because it's weaving two such repeated frames together. For this reason, it's best to check pans, as pans are usually as smooth as film allows (i.e. 24 fps).
__________________
Say no to AviSynth 2.5.8 and DirectShowSource! |
17th March 2015, 08:34 | #1968 | Link | ||
Registered User
Join Date: Feb 2014
Posts: 355
|
Quote:
Quote:
Given that you "had a play with your sample and couldn't get QTGMC to produce any oddness", and the results to my eyes were quite OK (and it makes deinterlacing-decombing-denoising a single-step process), could you recommend QTGMC settings, based on your experience, to get acceptable results? I realize that no set of eyes sees the same, but with your bag o' tricks I'm sure you'd pick a better (simpler) QTGMC starting point than I. I'm striving for final video bit rate ~1500 Kbps and final quality ~7 out of 10, where 1 is "Shrink To ~1500 Kbps Video Bit Rate With Zero Processing" and 10 is "Holy Buddha, I Didn't Know That Was Out In HD!". Any suggestions are welcome, and thanks. Last edited by LouieChuckyMerry; 17th March 2015 at 08:54. |
||
17th March 2015, 08:37 | #1969 | Link | |
Registered User
Join Date: Feb 2014
Posts: 355
|
Quote:
|
|
17th March 2015, 09:52 | #1970 | Link | |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,781
|
Quote:
To start from the end: Cartoons don't have continuous pans, based on the distributed frame rate; to achieve a target of about 24...30 fps, the original sequence of drawn pictures has to be duplicated several times. This lack of smooth pans makes spotting combed frames hard. Already because changes between frames only happen sporadically. Possibly not even really regularly, there are still scenes up to several seconds sometimes. And even when a change between cartoon frames happens, it is not "supposed" to always happen between two fields of a frame. So you may see either a combed frame, or you may see a change between two frames, when you look at the video frame-wise. If a norm conversion even happens with some field blending, then spotting combing will be even harder. Therefore it is recommended to watch not possibly combed frames, but instead bobbed fields. This kind of display is closer to the behavior of TV broadcasts and the temporal order of displayed fields as it used to be since TV was invented. In the times of analogue television, CRT TV sets displayed the video field-wise. The afterglow duration of the luminescent material in the CRT was in sync with the field display duration. Using fields as shortest time base was a valid technique to make conversions from cartoon frame rates to TV frame rates appear smoother. Today, with LCD TV sets in progressive display mode, with no "afterglow" but rather immediate response, there is no more need for interlacing, and because motion inter-/extrapolation would not work correctly due to a lack of continuous motion in cartoons, field optimization would not be any advantage anymore. Being able to see a combing is actually an undesired side effect of watching fields woven to a frame at the same time, instead of one after another. "You are not supposed to see that." Instead, you should see one field after another as whole frame. A "bob" filter tries to achieve that by interpolating each missing line in a field. Only spatial interpolation is not very satisfying, though. Smarter deinterlacers (or rather, bobbers), like QTGMC, try to use temporal information to enhance the spatial interpolation. But that works only when there is some regular temporal progress. A prerequisite which cartoons or telecined content don't fulfill. Last edited by LigH; 17th March 2015 at 09:59. |
|
17th March 2015, 13:52 | #1971 | Link | |||
Registered User
Join Date: Mar 2014
Posts: 308
|
Ho hum.
Quote:
Quote:
Quote:
—but this is bollocks, like I already said. The only requirement is that motion compensation between frames is effective, and duplicated content is the best-case scenario for motion compensation, simply because there is no motion at all!
__________________
Say no to AviSynth 2.5.8 and DirectShowSource! |
|||
17th March 2015, 15:11 | #1972 | Link | |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,781
|
Quote:
I remember another bad case of "computer assisted cartoons": F.A.K.K.2 (manually drawn "sprites" with a lower frame rate floating over smoothly moving CG background). Restoring norm conversions with such a material would reach the limits of automatic filters, I guess... Well, probably, but ... the hard case are the few fields where the content actually changes. Motion compensation will detect no motion in one temporal direction, and wide motion in the other temporal direction. The result may be such artefacts as you can see in hello_hello's sample pics 2 and 3 (ghosts of the roller skate wheels). Last edited by LigH; 17th March 2015 at 15:15. |
|
17th March 2015, 16:26 | #1973 | Link | ||
Registered User
Join Date: Mar 2014
Posts: 308
|
Quote:
Besides, weren't we discussing about detecting the type of source rather than whether deinterlacing would be effective? Quote:
1: Artificial motion vector coherence ("truemotion" in MVTools and QTGMC) theoretically improves optical flow estimation at the expense of worsening SAD/SATD metrics, but is disabled in QTGMC by default. 2: Cartoons generally don't have motion blur to conceal ghosting artifacts from imperfect motion compensation. 3: The motion vector search just came up with a bad MV and QTGMC's default threshold is too high to catch such bad MVs. 4: No deinterlacer is perfect (proof: pigeonhole principle), so if you feed a deinterlacer a progressive source don't expect it to spit out the source untouched. Very definitely not a reason: one of the adjacent frames is identical. (Also, Postimage is another of those pathologically bad image hosts and serves only thumbnails to hotlinks. Literally why.)
__________________
Say no to AviSynth 2.5.8 and DirectShowSource! |
||
18th March 2015, 00:00 | #1974 | Link |
Registered User
Join Date: Mar 2011
Posts: 4,829
|
Just my 2 cents towards the QTGMC/animation debate......
I don't work with animation much and I don't mess around with QTGMC's settings all that much so I'm far from an expert on either. I just see what I see. I had a bit more of a play with the clip from which I posted the earlier screenshots, and in sections where there were changes between each frame QTGMC generally had a negative effect where there was "motion" (similar to my previous screenshot). Where adjacent frames were identical (or in parts of the frame where nothing changed), QTGMC had no negative effect. In the third screenshot you can see what looks like "ghosting" between the two skaters where there's a "ghost" of the first skater's wheels. It's probably not what you'd normally call "ghosting" though, it's literally a leftover from the previous frame as that's where the wheels were in the previous frame. The same applies to the extra lines drawn on the ground. In the first screen shot there's one line under the first skater's left foot. In the third screenshot there's three. The line from the previous frame, the current frame, and the next frame. "truemotion=true" increased the artefacts a little when QTGMC was in either de-interlacing or progressive mode. On occasion, I've seen similar artefacts in "normal video", but I haven't noticed them very often. When I have, it's usually been where there's a large "flat" area in the frame, such as a shot of a plane moving quickly against a blue sky. I mostly use QTGMC in progressive mode these days for stabilising the picture and/or removing noise, but I'm sure I've seen similar artefacts when using QTGMC to de-interlace animation in the past. I haven't noticed any adverse effects using QTGMC on the OP's sample, but the most likely reason for that seems to me to be due to the fact most frames are repeated at least once. I don't have any other "interlaced" animation handy to play with. Anyone got some samples? Recently I used QTGMC (in progressive mode) to clean up an old Disney movie that contained fully animated sections. It did a great job on the film parts, but in the end I split the encoding job so as to only use it on the film sections because of the adverse effects on the animation. I tried other de-interlacing methods on the clip from which I posted the screenshots (Yadif, TDient etc). They all had a negative effect as you'd expect when de-interlacing progressive video, but it was the "burring" you'd expect, not the "ghosting" you see using QTGMC. I don't know why QTGMC tends not to be good with animation but in my experience it's not. Maybe there's a setting or two that could fix it with some adjustment but I've never played around myself because I rarely re-encode animation. (I'm not seeing thumbnails of the screenshots I uploaded in Firefox, I'm seeing the full sized images. I did just use the first image hosting site I found though as I don't normally use one. Doom9 is the only forum I post in, and possibly the only forum on the internet, where you can't upload images. Unless you want to add them as an attachment and wait a couple of days for moderator approval) Last edited by hello_hello; 18th March 2015 at 09:08. |
18th March 2015, 00:16 | #1975 | Link | |
Registered User
Join Date: Mar 2011
Posts: 4,829
|
Quote:
Maybe start a new thread for that one, and if you don't have any luck here, maybe try asking at the VideoHelp forum. Some of the regular posters there work with animation and would probably be able to offer some good advice. Or even try searching the existing threads there. The subject of animation seems to come up fairly regularly, but I usually don't pay any attention to those threads as it's not my thing. Last edited by hello_hello; 18th March 2015 at 00:31. |
|
18th March 2015, 06:10 | #1976 | Link | |
Registered User
Join Date: Feb 2014
Posts: 355
|
Thanks for the suggestions, hello_hello, VideoHelp has often been just that for me. Also, thanks again for your earlier ideas:
Quote:
A couple of last (ha ha ha...) questions about deinterlacing. You suggested I go with MeGUI's suggestion, which was "tfm(order=0).tdecimate(hybrid=1)", but then your suggested scripts had "tfm(order=-1).tdecimate()"; how did you come to that conclusion and is it really that important? Also, do you think that TIVTC+TDent(EDI) is worth the extra time? Finally, could you elaborate a bit on why it's better to output to 23.976fps than to 29.970fps, and is this true only for animation? Thanks. Last edited by LouieChuckyMerry; 18th March 2015 at 06:16. |
|
18th March 2015, 07:04 | #1977 | Link | ||
Registered User
Join Date: Mar 2011
Posts: 4,829
|
Quote:
QTGMC(InputType=1, Preset="Medium", EzDenoise=2) And if the noise removal results in colour banding try adding gradfun3() to the end of the script. You'll need the Dither package for that. http://forum.doom9.org/showthread.ph...59#post1386559 I do use SMDegrain myself, but mostly only on "clean" video. By "clean" I mean where the picture is nice and stable but where there might be excessive grain. When the underlying picture isn't "stable" or there's compression artefacts then I'd mostly use QTGMC in progressive mode instead. Quote:
"Film" converted to NTSC is originally 23.976fps converted to 29.970fps using telecine. Technically, applying inverse telecine (IVTC) probably isn't de-interlacing as such, but it usually falls under the "de-interlacing" category in most encoder GUIs. IVTC restores the original progressive frames (at 23.976fps). http://en.wikipedia.org/wiki/Three-two_pull_down I assume when MeGUI analysed the video it decided it was a hybrid. Partly "video" (29.970fps), but mostly "film" (originally 23.976fps). The "film" parts would have IVTC applied and the "video" parts are de-interlaced and converted from 29.970fps to 23.976fps by dropping frames and using frame blending. The latter isn't necessarily ideal but you get a constant 23.976fps. When I suggested IVTC earlier I just selected "Film" in MeGUI's de-interlacing section manually, and copied what was added to the script. That'd assume the entire thing was "film" (originally 23.976fps). Chances are it is entirely "film", in which case the result would be the same. Anyway, while you can de-interlace "film" it's usually better to apply IVTC to restore the original progressive frames rather than apply de-interlacing, which doesn't. A 3/2 pattern of clean/dirty frames (where there's constant motion) indicates IVTC should be applied. Deinterlacing telecined "film" results in a type of frame blending which doesn't look nice. For your sample, where most frames are repeated, you might get away with de-interlacing but I still think it'd be better to reverse the telecine process to output progressive 23.976fps instead. Hopefully all that makes sense..... It might be for animation. I'm not really sure to be honest. Is it actually all that slow (at least in comparison to QTGMC)? Last edited by hello_hello; 18th March 2015 at 09:54. |
||
18th March 2015, 18:21 | #1978 | Link | |
Registered User
Join Date: Jul 2010
Location: Germany
Posts: 357
|
Quote:
|
|
20th March 2015, 07:45 | #1979 | Link | |||
Registered User
Join Date: Feb 2014
Posts: 355
|
Quote:
Quote:
Quote:
|
|||
23rd March 2015, 06:54 | #1980 | Link | |
Registered User
Join Date: Mar 2011
Posts: 4,829
|
Quote:
If you're interested, there's some samples attached to this post from when I first started playing around with using QTGMC for noise removal. It was my 'torture test" noise removal but it's a good example of what I mean by QTGMC "stabilising" the picture. The other scripts I compared it to were FastDegrain and TemporalDegrain (I don't think I'd found SMDegrain at that stage) as well as some "standalone" Avisynth plugins. It's not a scientific comparison by any means as it was all with the default settings for each noise removal method, except for adjusting the amount of noise removal in QTGMC. Whether you think it denoised best or not, QTGMC fixed more of the picture "bobbing". It also cleaned up more of the "blemishes" in single frames. There's also some other samples in the first post which include the original video, and Selur used that to add some additional denoised samples here. It was all from a while ago when I first started getting a bit more serious about noise filtering and discovered QTGMC can denoise pretty well. There's definitely no "one size fits all" noise filtering and I still experiment with other noise removal methods a bit, but most of the time I end up using QTGMC. Last edited by hello_hello; 23rd March 2015 at 07:08. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|