VideoHelp Forum




+ Reply to Thread
Results 1 to 13 of 13
  1. Member
    Join Date
    Sep 2002
    Location
    Melbourne, Australia
    Search Comp PM
    I capture pal TV at 320x480 and 25 fps. What's the best method to deinterlace and resize to 320x240. I use the high vert res to preserve all fields during capture.

    I read about the inverse telecine method for ntsc which involves capturing at 29.97fps and then ivtc in virtual dub. This gives a non interlaced end result with all fields intact. Is there any such trick for pal capture?

    As of now i deinterlace and resize in virtualdub. Gives good results, but i'd like to know if it's possible to use ivtc and get better results i.e. preserve all fields and not average them like in the case of deinterlace.
    Quote Quote  
  2. PAL is a dream to deinterlace, especially for what you want to do: all that's necessary is to split the fields and throw one of them away.

    Load the standard (internal) VirtualDub deinterlacing filter and select Discard Field 1 (or Discard Field 2). That's it. The process is the same regardless of whether the source originated from film or tape.

    ... but surely you're capturing at 352x576 (PAL 1/2-D1) rather than 320x480, aren't you? Because 320x240 isn't a legal PAL VCD frame size -- it needs to be 352x288 when you're done with it, unless you're making a PAL DivX of course.
    Quote Quote  
  3. Member
    Join Date
    Aug 2001
    Location
    Dallas, Texas; U.S.A.
    Search Comp PM
    keithsebastian,

    First of all I would not recommend groyals' method of deinterlacing especially if you want smooth video, try blending instead. Second there is no way to IVTC a PAL video source, this is exclusively an NTSC procedure. There is however a way to have full frames in a PAL video stream, ie. 25 fps progressive, but the video source already has to be progressive. Also groyal was right about capturing at 320x576, not 320x480 which is NTSC.
    Quote Quote  
  4. Member
    Join Date
    Sep 2002
    Location
    Melbourne, Australia
    Search Comp PM
    Hey groyal - thanks for the info. But if i was to throw away one field, then i would capture at standard resolutions in the first place viz. 320x240 or 352x288 (PAL). It gives the same result with lesser effort. I'm trying to keep both fields.
    Quote Quote  
  5. Member
    Join Date
    Sep 2002
    Location
    Melbourne, Australia
    Search Comp PM
    I want to clarify whether case 1 is better'n case 2

    case1 : capture at double vertical resolution (any standard) then deinterlace and then resize to required (lower) vertical resolution.

    case2 : capture at lower vertical resolution (any standard) . No need to deinterlace as one field is permanently lost.
    Quote Quote  
  6. Member
    Join Date
    Aug 2001
    Location
    Dallas, Texas; U.S.A.
    Search Comp PM
    keithsebastian,

    1. What are you trying to convert to?

    2. Are you on AIM or MSN Messenger, and I can probably help you faster.

    -Epi
    Quote Quote  
  7. Member
    Join Date
    Sep 2002
    Location
    Melbourne, Australia
    Search Comp PM
    Epi -

    1. I'm capturing from pal tv to 320x480, resizing it to 320x240
    as mentioned in the previous post. AND encoding to VCD with
    320x240 video window centered in a 352x288 PAL std.frame.
    (i do this to compensate for tv cropping)

    2. No i'm not on any IM

    Thanks for the help.
    Quote Quote  
  8. Member
    Join Date
    Aug 2001
    Location
    Dallas, Texas; U.S.A.
    Search Comp PM
    keithsebastian,

    Try capturing at 480x576, to get a sharp capture which will result in a sharp VCD encode. You really don't have to worry about cropping especially if you are capturing from a TV Capture Card. It captures the whole picture especially more than what you see on your tv.

    Use this TMPGEnc template to to encode your VCD:
    =======================================
    object TMPEGConfigFile
    MPEG.Text = ''
    MPEG.WizardCategoryName = ''
    MPEG.WizardSubFormatName = ''
    MPEG.WizardCaption = ''
    MPEG.WizardDescription = ''
    MPEG.WizardTargetMedia = MPEGConfig_TargetMediaType_Unknown
    MPEG.WizardAutoCalcVideoBitRate = False
    MPEG.WizardAutoChooseList.EnableVideoSize = False
    MPEG.WizardAutoChooseList.VideoSize = <>
    MPEG.WizardAutoChooseList.EnableVideoGOP = False
    MPEG.WizardAutoChooseList.VideoGOP = <>
    MPEG.OutputStreamType = MPEG_OutputStreamType_System_VideoAudio
    MPEG.OutputStreamType_ReadOnly = False
    MPEG.Video.StreamType = MPEGVideoEncoder_StreamType_MPEG1
    MPEG.Video.StreamType_ReadOnly = True
    MPEG.Video.Width = 352
    MPEG.Video.Width_ReadOnly = True
    MPEG.Video.Height = 288
    MPEG.Video.Height_ReadOnly = True
    MPEG.Video.YUVFormat = 1
    MPEG.Video.YUVFormat_ReadOnly = False
    MPEG.Video.DC_prec = 0
    MPEG.Video.DC_prec_ReadOnly = False
    MPEG.Video.VideoEncodeMode = MPEGVideoEncoder_VideoEncodeMode_Progressive
    MPEG.Video.VideoEncodeMode_ReadOnly = False
    MPEG.Video.FrameRate = 3
    MPEG.Video.FrameRate_ReadOnly = True
    MPEG.Video.AspectRatio = 8
    MPEG.Video.AspectRatio_ReadOnly = True
    MPEG.Video.RateControlMode = MPEGVideoEncoder_RateControlMode_CBR
    MPEG.Video.RateControlMode_ReadOnly = True
    MPEG.Video.MaxBitRate = 0
    MPEG.Video.MaxBitRate_ReadOnly = False
    MPEG.Video.MinBitRate = 0
    MPEG.Video.MinBitRate_ReadOnly = False
    MPEG.Video.MinAvgBitRate = 0
    MPEG.Video.MinAvgBitRate_ReadOnly = False
    MPEG.Video.CBR_BitRate = 1150000
    MPEG.Video.VBR_MultipassVBRAlgorithm = MPEGVideoEncoder_MultipassVBRAlgorithm_MultipassCQ
    MPEG.Video.VBR_AvgBitRate = 1957000
    MPEG.Video.VBR_MaxBitRate = 2534000
    MPEG.Video.VBR_MinBitRate = 1163000
    MPEG.Video.VBR_MaxPassCount = 2
    MPEG.Video.VBR_Quality_P = 0
    MPEG.Video.VBR_Quality_B = 20
    MPEG.Video.VBR_EnablePadding = False
    MPEG.Video.MVBR_MaxBitRate = 3000000
    MPEG.Video.MVBR_MinBitRate = 0
    MPEG.Video.MVBR_Quality_P = 0
    MPEG.Video.MVBR_Quality_B = 20
    MPEG.Video.MVBR_EnablePadding = False
    MPEG.Video.AVBR_Quality = 50
    MPEG.Video.AVBR_MaxBitRate = 3000000
    MPEG.Video.AVBR_MinBitRate = 0
    MPEG.Video.AVBR_EnablePadding = False
    MPEG.Video.CQ_Quality = 50
    MPEG.Video.CQ_Quality_P = 0
    MPEG.Video.CQ_Quality_B = 20
    MPEG.Video.CQ_MaxBitRate = 3000000
    MPEG.Video.CQ_MinBitRate = 0
    MPEG.Video.CQ_EnablePadding = False
    MPEG.Video.VBVBufferSize = 0
    MPEG.Video.VBVBufferSize_ReadOnly = True
    MPEG.Video.GOP_SeqHeaderInterval = 1
    MPEG.Video.GOP_SeqHeaderInterval_ReadOnly = True
    MPEG.Video.GOP_I_FrameCount = 1
    MPEG.Video.GOP_I_FrameCount_ReadOnly = True
    MPEG.Video.GOP_P_FrameCount = 4
    MPEG.Video.GOP_P_FrameCount_ReadOnly = True
    MPEG.Video.GOP_B_FrameCount = 2
    MPEG.Video.GOP_B_FrameCount_ReadOnly = True
    MPEG.Video.GOP_BitStreamForEdit = False
    MPEG.Video.GOP_BitStreamForEdit_ReadOnly = False
    MPEG.Video.GOP_MaxFrameCount = 15
    MPEG.Video.GOP_MaxFrameCount_ReadOnly = True
    MPEG.Video.QuantizeMatrix_Intra_ReadOnly = False
    MPEG.Video.QuantizeMatrix_NonIntra_ReadOnly = False
    MPEG.Video.Profile = 4
    MPEG.Video.Profile_ReadOnly = False
    MPEG.Video.Level = 8
    MPEG.Video.Level_ReadOnly = False
    MPEG.Video.VideoFormat = 2
    MPEG.Video.VideoFormat_ReadOnly = False
    MPEG.Video.DisplayWidth = 0
    MPEG.Video.DisplayWidth_ReadOnly = False
    MPEG.Video.DisplayHeight = 0
    MPEG.Video.DisplayHeight_ReadOnly = False
    MPEG.Video.MotionSearchSpeed = MPEGVideoEncoder_MotionSearchSpeed_HighCQ
    MPEG.Video.MotionSearch_AlwaysHalfPel = True
    MPEG.Video.UseFloatDCT = False
    MPEG.Video.QuantizeMode = False
    MPEG.Video.QuantizeModeVal_Intra = 35
    MPEG.Video.QuantizeModeVal_NonIntra = 35
    MPEG.Video.YUVBasicYCbCr = False
    MPEG.Video.QuantizeMatrix_Intra = {
    081013161A1B1D22101016181B1D222513161A1B1D22222616 161A1B1D222528
    161A1B1D202328301A1B1D202328303A1A1B1D22262E38451B 1D23262E384553}
    MPEG.Video.QuantizeMatrix_NonIntra = {
    10111213141516171112131415161718121314151617181913 14151617181A1B
    14151617191A1B1C151617181A1B1C1E1617181A1B1C1E1F17 18191B1C1E1F21}
    MPEG.Audio.StreamType = MPEGAudioEncoder_StreamType_MPEG1_Layer2
    MPEG.Audio.StreamType_ReadOnly = True
    MPEG.Audio.SamplingFrequency = 44100
    MPEG.Audio.SamplingFrequency_ReadOnly = True
    MPEG.Audio.ChannelMode = 0
    MPEG.Audio.ChannelMode_ReadOnly = True
    MPEG.Audio.CantUseMono = False
    MPEG.Audio.BitRate = 224000
    MPEG.Audio.BitRate_ReadOnly = True
    MPEG.Audio.CalcCRC = False
    MPEG.Audio.CalcCRC_ReadOnly = False
    MPEG.Audio.OriginalFlag = False
    MPEG.Audio.OriginalFlag_ReadOnly = False
    MPEG.Audio.CopyrightFlag = False
    MPEG.Audio.CopyrightFlag_ReadOnly = False
    MPEG.Audio.PrivateFlag = False
    MPEG.Audio.PrivateFlag_ReadOnly = False
    MPEG.Audio.EmphasisType = 0
    MPEG.Audio.EmphasisType_ReadOnly = True
    MPEG.System.StreamType = MPEGSystemEncoder_StreamType_MPEG1_VideoCD
    MPEG.System.StreamType_ReadOnly = True
    MPEG.System.EnableCommentText = False
    MPEG.System.CommentText = ''
    end
    ========================================

    Make sure you go into settings under settings and double-click on Deinterlace and select "Even-Odd field (field, animation adaption 2)" This will automaticaly choose between which frames to encode to allow for the smoothest possible encode.

    -Epi
    Quote Quote  
  9. Originally Posted by Epi
    First of all I would not recommend groyals' method of deinterlacing especially if you want smooth video, try blending instead.
    And I wouldn't recommend relying on the revolutionary new Epi-VCD template to deinterlace your video, either. It's really just a matter of common sense.

    Deinterlacing methods can be divided into two types: frame-based methods, which are like wearing a band-aid to mask the symptoms of a disease, and field-based methods, which are like treating the disease itself. Blending is an example of a frame-based method. The two fields are smeared together to eliminate the combing artifact, but you end up producing a new artifact -- ghosting -- in its place.

    Contrary to what has been said, this does not result in smoother motion. If the two fields are significantly displaced (as they would be during a horizontal pan) the edges along the direction of motion are smeared causing the video to "jerk" as the camera moves from left to right. This is especially visible on NTSC film sources since twelve of the fields per second were interpolated to begin with. Essentially you're adding a smear to a smear and hoping they'll average out, but actually they reinforce each other, making the smear much more obvious.

    In field-based deinterlacing you attack the problem at its source. Each PAL field has a time displacement of 1/50 second relative to the previous field: each frame contains a pair of pictures from different moments in time. When you split the fields, each frame is half the original vertical size but contains the same amount of picture detail -- you just have one frame per field now (twice as many as you need) which is why you throw one of them away. Nothing gets smeared in the process, so the video is smooth and fluid in addition to being fully deinterlaced. You can then resize the frame vertically to bring it back to its original dimensions if you like.

    Originally Posted by keithsebastian
    But if i was to throw away one field, then i would capture at standard resolutions in the first place viz. 320x240 or 352x288 (PAL). It gives the same result with lesser effort. I'm trying to keep both fields.
    When you capture in full vertical resolution you're preserving both fields, but the fields themselves are only half a picture high. They're interlaced together to "stack" them for sequential display, but that doesn't change their vertical resolution -- there are only 288 lines of detail in a field whether you view them separately or together. This is why throwing one field away and line-doubling the other doesn't degrade picture quality, while smearing the two fields together (blending) certainly does.

    But if you can avoid the need to deinterlace by capturing at half vertical resolution to begin with, by all means do so. What's the point of capturing a field you don't need only to worry about getting rid of it afterwards? The vertical resolution is the same whether you capture one field or two -- don't let the fact there are two fields interleaved together fool you into thinking the picture has more than 288 lines of detail.
    Quote Quote  
  10. Member
    Join Date
    Aug 2001
    Location
    Dallas, Texas; U.S.A.
    Search Comp PM
    groyal,

    All the template does is lock the PAL VCD settings into TMPGEnc, it does not have anything to do with de-interlacing, and I'm not even trying to make an EpiVCD template (thats just ridiculous). You have to lock the frame rate or when you select the de-interlace that i suggested he use, it will change it to 50fps which is out of VCD standard. If you only encode the first (or second) field of every frame you will get jerky motion.

    -Epi
    Quote Quote  
  11. Member
    Join Date
    Sep 2002
    Location
    Melbourne, Australia
    Search Comp PM
    Persistence pays - I think I found the answer. I tried Donald Graft's smart deinterlacer for vdub. This one does deinterlacing
    based on motion detection i.e. only when interlace artifacts
    are present, and not all the time. Hence both fields are preserved
    when deinterlacing is not required like in low motion scenes.

    Groyal - U should give this a try. It's better than throwing away
    one field.

    Epi - Thanks for the template. One more question - Will disabling
    'detect scene change' give better results for high motion videos?
    As vcd bitrate is low i have a feeling that extra I frames that
    result from enabling this setting will only degrade overall quality.
    Quote Quote  
  12. Member
    Join Date
    Aug 2001
    Location
    Dallas, Texas; U.S.A.
    Search Comp PM
    If you turn on "detect scene change" you may not end up with a VCD Compliant MPEG. Sometimes this causes slowdowns in your videos especially when you fast forward or rewind.

    -Epi
    Quote Quote  
  13. I tried Donald Graft's smart deinterlacer for vdub. This one does deinterlacing based on motion detection i.e. only when interlace artifacts
    are present, and not all the time. Hence both fields are preserved
    when deinterlacing is not required like in low motion scenes.

    Groyal - U should give this a try. It's better than throwing away
    one field.
    I'm aware of it, thanks, but I wouldn't have need for it myself as I already know how to deinterlace.

    That being said, it's a fine filter, but it's still just a band-aid because it masks the symptom without treating the disease. At best it smears less of the picture by smudging only the areas where artifacts are present, but it smudges them nevertheless.

    I realize it's counterintuitive, but if you have two pictures stacked on top of each other to form an image, throwing one of them away reduces the height of the image but it doesn't change the vertical resolution. Two pictures are two pictures whether you arrange them side by side, top to bottom, or in tiny alternating strips. No matter how you arrange them, each picture has only 288 lines of detail. Throwing one of them away sacrifices nothing.

    If the differences between the pictures are significant, blending them together will cause some amount of ghosting no matter how carefully it's done. Even if you blur only the portions of the picture where the ghosting is the most obvious, the blurring artifact you're creating is as bad as the combing artifact you're trying to get rid of. It's inevitable.

    Now, I can tell you're not buying any of this, and that's okay. Remember this discussion a year or two from now when you're cringing at the sight of one of your earlier pieces wondering "man, what was I thinking when I made that?" :)
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!