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. |
17th May 2020, 00:21 | #221 | Link |
Registered User
Join Date: May 2020
Posts: 77
|
The whole reason I began using QTGMC in the first place -- the entire one -- is because I could call QTGMC, throw the entire file at it (with zero trimming) and what was output as a result was both substantially denoised and had all of the interlacing / 3:2 pulldown artifacts resolved. (I also got really nice horizontal AA, which is a nice feature).
Now, people here including PDR and H_H have pointed out that there's a substantial negative associated with QTGMC (well, more than one, but one big one in particular): It's destructive, and running a destructive filter over content that doesn't require a destructive filter is less-than-ideal. The reason I have been attracted to using QTGMC is because, at least with DS9, it has done a remarkable job of fixing what I don't like visually, while introducing relatively few problems that catch my personal eye. Is there a better filter that can reduce AA, reduce noise, and remove the artifacts of interlacing / 3:2 pulldown that are still baked into the DVD when they occur -- if I'm not using Trim to lock on to specific sections for processing? (I'm going to use trim and H_H's proposed method of treating CGI footage on Sacrifice of Angels, but that's a bigger project and I've got a move coming up, so probably not happening right away. I'm completely new to this kind of video editing, so.. slow going). In the meantime, I'm still exploring global approaches. |
17th May 2020, 01:32 | #222 | Link | |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,695
|
Quote:
|
|
17th May 2020, 01:34 | #223 | Link | ||
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
Quote:
And what in heaven's name is an "artifact of 3:2 pulldown"? Quote:
Last edited by videoh; 17th May 2020 at 01:37. |
||
17th May 2020, 01:51 | #224 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,695
|
24fps video or film exhibits "judder" to the human eye when the camera pans horizontally. The artifact is entirely made up in the brain and actually does not exist (it is a failure of our "persistence of vision").
Here is some 12 fps hand-held, hand-cranked silent film from 1929 that I transferred and which I left at the original frame rate. Since it is half the normal sound film rate, the judder is really bad. Watch the vertical edges of the buildings in the background and the pipe on the roof to understand what judder looks like: 1928 Backyard Kids Football in Oak Park, Illinois Repeating fields (or, less commonly, frames) so the material can be shown on 29.97 television simply makes this judder artifact even more pronounced. It would actually be interesting to take a 24p scene with a horizontal pan and show it on a display natively, and then show the same thing on the same display with 3:2 pulldown added. I've never done that, but I'm pretty sure it would show the "artifact of 3:2 pulldown" and that artifact would simply look like slightly worse judder. Last edited by johnmeyer; 17th May 2020 at 01:52. Reason: clarity |
17th May 2020, 02:16 | #225 | Link | |
Registered User
Join Date: May 2020
Posts: 77
|
PoisonDeathRay,
I tried several methods of interpolating up to 119.88 fps and then decimating back to 23.976. The best method I found was to use DaVinci. The smoothest motion I have produced thus far was expanding to 119.88 fps using optical flow, then decimating back down with "ChangeFPS(24000,1001) in AviSynth. That produced better motion smoothing in 23.976 fps than the following methods: 1). Using ChangeFPS in AviSynth to shift to 119.88 fps and then using my QTGMC repair method. 2). Using QTGMC to interpolate additional frames into the original video (it may have been a dumb idea, but I still tried it) and then trying different combinations of SelectOdd and SelectEven. I ran an entire set of tests where I played around with various methods of increasing and decreasing frame rates to muck around with fixing VFR issues. There are two ways to push DS9 to 119.88 fps using DaVinci Resolve Studio, and they produce different effects. A). You can use Nearest Neighbor and 119.88 fps output settings. This will duplicate the frames in the DVD source file and results in the vastly expanded file size. Each frame is repeated 5x or 4x. It takes 4 days to upscale 1x DS9 episode if we go this route. Not much fun. B). You can use Optical Flow and 119.88 fps output settings. This will result in hypersmoothed motion. If you choose Option #B and then use "ChangeFPS(24000,1001) in AviSynth, however, the final output is remarkably good. Please don't think that when I say it's "Remarkably good" that I mean you won't find major differences if you inspect frame to frame. I'm sure you will. But the overall judder and motion are remarkably reduced considering I'm interpolating 80% of the frames that AviSynth then used to generate its 23.976fps output. It's closer to the kind of quality I'm trying to achieve than anything else I've found. That doesn't mean I don't think there's better. It's just gotten me the closest. Btw: The reason I use the following QTGMC preset is because I found the specific Input Type sequence of 2 followed by 3 to be most helpful in terms of repairing the content I wanted to repair. Other preset tests (1,1, 1,2, 1, 3, 2,1, 2, 2, 3,1, 3,2, 3,3) did not yield the same level of improvement. But the rest of my QTGMC script? Quote:
Last edited by JoelHruska; 17th May 2020 at 17:50. |
|
17th May 2020, 02:28 | #227 | Link | |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
Quote:
Is that what JoelHruska means by 3:2 artifacts? The judder? If so, he won't lose it with QTGMC. Do you have any evidence that silent video is meant to be played at 12fps? Was it written on the film reel or did it have accompanying notes? To me the motion looks way too slow and it should be 16fps or more. |
|
17th May 2020, 02:35 | #228 | Link | |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,695
|
Quote:
However, I completely agree that you are in safe territory by saying that judder is only caused by telecine, because any simple Google search will turn up lots of sites which say exactly that. However, as my film sample shows, that is not true. Put another way, if you display any 24p, 25p, or even 30p (somewhat rare) material at its native rate, you will see judder, with or without added pulldown (i.e., telecine). Telecine just makes it worse. [edit]As is often the case, feeding the correct search parameters to Google will give you the correct answers. Use these search terms and see what you get: film 24p horizontal panning artifact First hit links to this page: https://www.red.com/red-101/camera-panning-speed which says this: Being able to control panning is important because moving too quickly can cause unpleasant visual artifacts. Objects or backgrounds may appear to flash across the screen in discrete jumps, for example, whenever the on-screen displacement is too great compared to the duration between frames. This is commonly referred to as strobing or "judder," and has happened since the early days of film.As I'm sure you know the Red Camera is an ultra-high end product used by pros, and things posted on this site are very professional and very credible. Last edited by johnmeyer; 17th May 2020 at 02:44. |
|
17th May 2020, 03:15 | #229 | Link | ||
Registered User
Join Date: May 2020
Posts: 77
|
Quote:
That's the project I started off doing. Even if I decide to extend the amount of work I put into it later, that's the project I'm going to complete first. That's the project I committed to finishing for my readers (and not incidentally, my boss). I have a deliverable I'm expected to complete on this project. So I'm working to complete it. Quote:
The strange thing of DS9 is that you can be watching a progressive CGI clip that suddenly has interlaced or 3:2 frames in it, but literally only 1-5 frames in a 90 second clip. You can DS9 and drop it into an upscaler without deinterlacing it at all, and what you get (except for the credits) will actually look really damn good, on the whole... but you'll get periodic horror-show frames, since the upscaler really loves to emphasize what an interlaced or 3:2 pulldown frame looks like. So it's those handful of bad frames that have to be fixed. So far, QTGMC is the filter I've found that's capable of fixing them, but that doesn't mean there aren't better solutions. I have been calling these occasional problem frames "artifacts" to myself as shorthand. I know that's not the proper term. Last edited by JoelHruska; 17th May 2020 at 03:20. |
||
17th May 2020, 08:27 | #230 | Link |
Registered User
Join Date: May 2020
Location: Canada
Posts: 49
|
Why is this such a big concern? If you're making avs script with trim on a per-episode basis, those only need to be created once and then can be shared with others. Same goes for override files. It's more work up front, for sure, but not really an impediment to creating scripts that other people can download and run to make their upscaled versions. Chir and I already have override files for the first 13 episodes.
|
17th May 2020, 17:48 | #231 | Link | |
Registered User
Join Date: May 2020
Posts: 77
|
Quote:
1). I have been concerned about the amount of time it takes to create each episode's scripting. My assumption -- at least as a person who is literally learning about this process from this thread for the first time -- is that it will take me considerably longer than it might take the other experts in the thread. 2). AviSynth and the various associated tools and front ends are not simple. The more details people have to modify in script files (for example, to point to their own paths), the higher the intrinsic difficulty. I realize that very few people will ever perform this kind of work, but the reason I started this project is because I was angry at the quality of the show on Netflix and Amazon Prime. I wanted people to be able to see it at something more fairly representative of the actual quality. So I'm hoping to create a project that is as approachable as possible, with as few dependencies and snags as possible. It may be possible to write sophisticated scripts or processing front-ends that get around this problem, but I do not know how to do it. |
|
17th May 2020, 18:12 | #232 | Link | |||
Registered User
Join Date: Mar 2011
Posts: 4,829
|
Time to reverse my position.....
Given poisondeathray posted a link to an interlaced section of an episode, I thought I'd give VFR encoding a try. I took the sample we've been playing with previously and appended the interlaced sample to the end of it. Then I ran an analysis pass with TIVTC to create the metrics files and had a look at the output. TFM breezed through the problematic credits at the start without requiring a tweak. I did have to set micmatching=0 to prevent a glitch in the interlaced section. It's smoother through the fades between shots than the methods I used previously. VFR straight out of Avisynth is probably the way to go. Edit: It turns out TFM's default de-interlacing sucks balls for the interlaced CGI parts (lots of aliasing). When I realised it didn't look anywhere near as good as my video card's de-interlacing, I switched it out for PP=5. Much better. New samples below. The script for the analysis pass: Quote:
Encoding script without filters: Quote:
Quote:
JoelHruska, VFR isn't that hard to do, and this may be as close to a one size fits all method as it gets, and for the samples I've created at least, it looks the best. Avisynth outputs the average frame rate and the timecodes are used to make it variable at the encoding stage. You create the scripts for the analysis pass, run them, and TIVTC creates the metrics files. When I'm doing that sort of thing I use MeGUI, as it has an analysis pass mode and it's easy to add a bunch of jobs to the job queue. The trick is to never open the analysis scripts after running them, otherwise the metrics files are over-written and you have to run them again. Then it's just a matter of adding the encoding scripts to the job queue. If you specify unique names for the files for each episode, you can develop a system to do it pretty efficiently. I added Trims to one of the encodes above to apply the same filtering as before. It's easy to do, but it's not vital. You do have to decode with repeat flags being honoured though or it won't work. Adding the timecodes to the x264 command line is done like this: --tcfile-in "D:\Timecodes.txt" PS. ChangeFPS(24000,1001) isn't the best way to decimate a 120fps source. It doesn't discriminate. TDecimate(mode=7, rate = 24.0/1.001) tries to make sure the decimated frames are always duplicates. Last edited by hello_hello; 18th May 2020 at 01:33. |
|||
17th May 2020, 18:19 | #233 | Link | |
Registered User
Join Date: Mar 2011
Posts: 4,829
|
Quote:
https://en.wikipedia.org/wiki/Screen_tearing If it is tearing, you're possibly the only one seeing it, but your brain isn't making it up. A player should reverse telecine for a progressive display just as it'd bob de-interlace (assuming hard-telecine), so you should end up with the same result as if it were progressive, with whole frames displaying for 2 refreshes and some for 3 on a 60Hz display. That's what causes the 24p/60Hz "judder". Personally I'm not that sensitive to it, plus even when the frame rate is a multiple of the refresh rate, at much the same panning speed, objects can still "jitter" across the screen. Film strobing or judder is something else again. I think that one relates to motion blur, or a lack of it, at certain low speeds of motion, so your brain can distinguish the discrete "steps" as objects move across the screen, but that's also probably about the same speed of motion where 24p/60Hz judder is noticeable. Last edited by hello_hello; 18th May 2020 at 01:49. |
|
18th May 2020, 01:56 | #234 | Link | |
Registered User
Join Date: Dec 2002
Location: Region 0
Posts: 1,436
|
Quote:
|
|
18th May 2020, 02:47 | #235 | Link | ||||
Registered User
Join Date: Jan 2015
Posts: 1,056
|
Quote:
However, the article on deinterlacing is not one of these edge cases. Quote:
Quote:
For pure deinterlacing, you've already seen my custom method with NNEDI3, TFM, and Interleave. But this is purely for deinterlacing. It doesn't do any kind of cleanup or denoising. For reducing general spatial noise, the best filter I've seen is TNLmeans, made by Tritical, the same author who gave us TFM. I can't give any advice on AA, as I've never much cared about it. My biggest complaint with QTGMC is that it warps the frames in a half-assed attempt at performing a shitty form of motion interpolation. This is literally spending more CPU cycles to get a wrong result on purpose, AND it gets in the way of decimating the film sections back down to 24 fps. Quote:
Now that you mention it, that does feel like something I might have been told once before and then forgotten. It sounds like you're talking about ordinary interlaced or "combed" frames. Those aren't artifacts, but they really don't like being resized.
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers. Last edited by Katie Boundary; 18th May 2020 at 06:12. |
||||
18th May 2020, 03:07 | #236 | Link |
Registered User
Join Date: Jan 2015
Posts: 1,056
|
By the way, is there a way for us to send entire 1-2 GB VOB files to each other? I'd like to see the source footage myself but I can't buy my own copies yet because my Coronabucks haven't arrived in the mail.
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers. |
18th May 2020, 08:45 | #238 | Link | |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
Quote:
tdeintted = QTGMC(FPSDivisor=2) tfm(clip2=tdeintted).tdecimate() That's from some included manual or other for TIVTC. |
|
18th May 2020, 08:53 | #239 | Link |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
If you use gmail at all, or other Google products, you should have access to your own Google Drive. I forget how large the files you can up/download. 5 GB, maybe? I hardly use it and I'm sure others know more about it.
|
18th May 2020, 09:12 | #240 | Link |
Registered User
Join Date: Mar 2011
Posts: 4,829
|
JoelHruska,
Katie doesn't use QTGMC, and I suspect her latest advice comes without the realisation it has a progressive mode. QTGMC bob de-interlaces with nnedi3 by default, the same method she uses to create an interlaced clip, although oddly enough, after declaring QTGMC to be horrible, she's posting in the QTGMC thread looking for advice on how to get it to work again. After bob de-interlacing with nnedi3, QTGMC applies various filters to reduce shimmering, denoise and sharpen etc. A process it gives you a fair amount of control over. Katie's method apparently involves de-interlacing, then maybe KLMeans for denoising, ignoring alaising, and running a bunch of unnamed filters in the correct order to produce a similar result. I'd like someone to tell me what motion-interpolation QTGMC does exactly, aside from interpolating the missing scanlines with nnedi3, which doesn't really qualify as the sort of motion interpolation people like johnmeyer and Katie accuse QTGMC of doing. I get what Katie is trying to do with her method, so in that respect I'm not sure why there's an IVTC vs de-interlacing argument going on about it, although it appears to be a hard way to produce a "not as good" a result as TFM can do on it's own in VFR mode, assuming a VFR output is desired. TFM is a field matcher and de-interlacer. For hybrid sources it field matches the telecined parts and de-interlaces the interlaced parts. It has a clip2 argument for taking pixels from a de-interlaced version of the clip to replace combed pixels instead of de-interlacing itself. The IVTC field matching process can sometimes result in combing when there's no perfect match (that could probably be caused by encoding artefacts amongst other things), in which case the newly created progressive frames need to be de-interlaced too. So for Katie's method every frame is bobbed to full height by nnedi3, TFM does it's thing and where there's combing it takes the pixels from the nnedi3 clip, the idea being that most of a progressive frame remains untouched and only the combed pixels are repaired, or TFM can be configured to use the entire frame from the nnedi3 clip when it detects combing, which would be the only time it could be accused of "bob deinterlacing" a telecined/progressive source. In Katie's case she's using two instances of TFM, while forcing them to use specific matches, so in theory each TFM instance produces a 29.97fps clip where the telecined parts are field matched, combing is repaired, but without decimating the duplicate frames that result, and the interlaced parts are (bob?) de-interlaced. The two TFM instances combine to produce a 59.94fps clip. In a perfect world you'd have film sections where the progressive frames repeat in patterns of two and three duplicate frames, and the interlaced sections are bob de-interlaced for 59.94fps. I guess the problem is, you can't just throw the same Katie method at every clip and expect a great result. If TFM is taking pixels to fix combing from a de-interlaced clip that has problems of it's own you could replace the combed sections with shimmering or additional aliasing, and I suspect even if the de-interlaced clip is clean, taking pixels from a second clip can still cause shimmering and aliasing if they don't match the rest of the frame exactly, so for the best result it pays to experiment. Even if the end result is perfect though, you've still got to decimate all the repeated frames in the film sections for a VFR, unless you want a 59.94fps clip, and given Katie consistently refers to doing just that, I'd be keen to learn how she does it. I suspect the biggest obstacle to IVTCing and de-interlacing DS9 with TFM, is it's default de-interlacing doesn't work well with the CGI and causes lots of aliasing. Until I experimented with VFR encoding though, I'd concentrated on taking the combed pixels from a de-interlaced clip and hadn't considered how TFM's de-interlacing looks. After changing it's de-interlacing method, TFM's own de-interlacing looks quite good, and I suspect Katie's method might look better without the de-interlaced clip if different TFM de-interlacing was used. I only tried PP=5 for an encode, but I did briefly try simple blend de-interlacing (pp=2), and for the CGI sections that seemed to work well too. Anyway, for DS9, based on my VFR examples, I wouldn't bother with any of that. Running an analysis pass, then letting TFM do it's thing using it's own de-interlacing (just not the default method) and outputting timecodes so the film sections are 23.976fps and the interlaced sections are 29.97fps has produced by far the best result of anything I've tried so far, without the need for a second deinterlaced clip and good enough not to require additional filtering to clean it up. Have a look at the samples I uploaded yesterday if you haven't already. Last edited by hello_hello; 18th May 2020 at 12:45. |
|
|