Preface - Teasers - Enhanced Terminology - Reference - Encoding of DVD & Bluray Content - About Audio - Recovering The Camera Shots
Basic Primitives - Pulldown Primitives - Advanced Interpolations - Seen In The Wild, Repairing Video
decomb-x2 decombs at the same resolution as bob, but without bobbing.
+-----first stride----->+------2nd stride------> +-----final stride----->
import quasi pictures: (A+b___________________)(C+d___________________) .. (Y_________)(z_________) ...#pps [note 1]
NOTATION: #pps__#x2hps__(Ab)()(A§$ b)(A§b b)=#x2hps__#pps
\ \ \ \ \__________\___ weave
\ \ \__________________\___ interpolate-x2 - (look)(firstseen)(seen)(finalseen)
\__________\___ unweave
unweave: (A_________)(b_________)(C_________)(d_________) .. (Y_________)(z_________) ...#x2hps
interpolate-x2: (B=A§C_____)(b_________)(D=C§E_____)(d_________) .. (Z=Y§z_____)(z_________) ...#x2hps
weave: (B+b___________________)(D+d___________________) .. (Z+z___________________) ...#pps
Combing: none -- Judder: none -- Extra burden: 1 halfpic interpolation per stride -- Minor flaw: The final picture, only, is an interpolated blend of bobbed & combed.
[note 1] Regarding decoded source pictures versus camera images, the quality of the camera images has already been slightly lost due to 3 factors, 1: The camera encoding, if lossy, and 2: The interlacing of the scans to make quasi pictures (which, because the scans are from 2 differing times, induces motion vector & DCT distortions), and 3: The lossy nature of the source encoding. Those losses are unrecoverable no matter how video is processed and they are unrelated to this method.
decomb-x2-hr is a high resolution version of decomb-x2.
+-------first stride------->+--------2nd stride--------> +-------final stride------->
import quasi pictures: (A+b_______________________)(C+d_______________________) .. (Y+z_______________________) ...#pps [note 1]
NOTATION: #pps__#x2hps__(Ab)(A A§b A§$ b)(A ^§b A§$ b)(A ^§b A§b b)=#x4hps__#x2pps
\ \ \ \ \____________\___ weave
\ \ \_________________________________________\___ interpolate-x2 - (look)(firstseen)(seen)(finalseen)
\__________\___ unweave
unweave: (A___________)(b___________)(C___________)(d___________) .. (Y___________)(z___________) ...#x2hps
interpolate-x2: (A____)(a=A§b)(B=A§C)(b____)(C____)(c=b§d)(D=C§E)(d____) .. (Y____)(y=x§z)(Z=Y§z)(z____) ...#x4hps
weave: (A+a_________)(B+b_________)(C+c_________)(D+d_________) .. (Y+y_________)(Z+z_________) ...#x2pps
Combing: none -- Judder: none -- Extra burden: 2 halfpic interpolations per stride -- Minor flaw: The first & final pictures are interpolated blends of bobbed & combed.
[note 1] Regarding decoded source pictures versus camera images, the quality of the camera images has already been slightly lost due to 3 factors, 1: The camera encoding, if lossy, and 2: The interlacing of the scans to make quasi pictures (which, because the scans are from 2 differing times, induces motion vector & DCT distortions), and 3: The lossy nature of the source encoding. Those losses are unrecoverable no matter how video is processed and they are unrelated to this method.
cinema-at-30fps interpolate-x5 is an alternative to cinema-at-30'fps. Note: It is unknown whether interpolate-x5 is implemented in any existing video tool.
import pictures: (A_________________)(B_________________)(C_________________)(D_________________) ...24pps
NOTATION: [24pps__(A-D)(A A...§B B..§.C C.§..D D§...$)=30pps]30fps & 48KHz[x1.001]48KHz
\ \ \ \ \ \________________\___ downsample audio by x/1.001 only if pictures are
\ \ \ \_________\___ encode recovered from cinema-at-30'fps (see "About Audio")
\ \__________________________________\___ 4-5 interpolate-x5
\___ original pictures or pictures recovered from cinema-at-30'fps
: . . . . : . . . . : . . . . : . . . .
4-5 interpolate-x5: (A_____________)(1=A...§B______)(2=B..§.C______)(3=C.§..D______)(4=D§...$______) ...30pps
export frames: [A_____________][1_____________][2_____________][3_____________][4_____________] ...30fps
Transcode: yes -- PTSs: forced, PTS-of-N = PTS-of-0 + N x 3000, where 'N' is frame index [note 1] -- Combing: none -- Judder: none -- Extra burden: 24 picture interpolations per second.
[note 1] The timebase for DVDs & Blurays (i.e. MPEG2-TS) is 90000tps (ticks per second). When divided by 30fps, the result is 3000tpf (ticks per frame), so forced PTSs step by 3000.
Tip: Compare and contrast the next 3 notations regarding Combing and Judder and Extra burden, and compare with cinema-at-30'fps: Combing: 40% -- Judder: 80% @ 12 judders per second -- Extra burden: none.
cinema-at-30fps interpolate-x2 is an alternative to cinema-at-30'fps.
import pictures: (A_____________________)(B_____________________)(C_____________________)(D_____________________) ...24pps
NOTATION: [24pps__(A-D)(A B B§C C§D D)=30pps]30fps & 48KHz[x/1.001]48KHz
\ \ \ \ \ \_________________\___ downsample audio by x/1.001 only if pictures are
\ \ \ \_________\___ encode recovered from cinema-at-30'fps (see "About Audio")
\ \__________________\___ 4-5 interpolate-x2
\___ original pictures or pictures recovered from cinema-at-30'fps
: . : . : . : . : .
4-5 interpolate-x2: (A_____________________)(B_________)(B§C___________________)(C§D_______)(D_____________________) ...30pps
encode: [A______-20%______][B______+60%______][B§C_____-20%______][C§D_____+60%_____][D______-20%______] ...30fps
Transcode: yes -- PTSs: forced, PTS-of-N = PTS-of-0 + N x 3000, where 'N' is frame index [note 1] -- Combing: none -- Judder: 80% @ 12 judders per second [note 2] -- Extra burden: 12 picture interpolations per second.
[note 1] The timebase for DVDs & Blurays (i.e. MPEG2-TS) is 90000tps (ticks per second). When divided by 30fps, the result is 3000tpf (ticks per frame), so forced PTSs step by 3000.
[note 2] [A______-20%______] is 20% shorter than (A_____________________), [A______-20%______][B______+60%______] is 80% judder with 2 1 2 1 2 cadence.
cinema-at-30fps interpolate-x8 is an alternative to cinema-at-30'fps.
import pictures: (A_____________________)(B_____________________)(C_____________________)(D_____________________) ...24pps
NOTATION: [24pps__(A-D)(A A..§B B....§..C C..§....D D§..$)=30pps]30fps & 48KHz[x/1.001]48KHz
\ \ \ \ \ \_________________\___ downsample audio by x/1.001 only if pictures are
\ \ \ \_________\___ encode recovered from cinema-at-30'fps (see "About Audio")
\ \______________________________________\___ 4-5 interpolate-x8
\___ original pictures or pictures recovered from cinema-at-30'fps
: . . . : . . . . . . . : . . . . . . . : . . .
4-5 interpolate-x8: (A_______________)(4=A..§B____________)(8=B....§..C_____)(9=C..§....D________)(7=D§..$_________) ...30pps
encode: [A______+7%_______][4______-9%_______][8_______+7%_______][9______-9%_______][7______+7%_______] ...30fps
Transcode: yes -- PTSs: forced, PTS-of-N = PTS-of-0 + N x 3000, where 'N' is frame index [note 1] -- Combing: none -- Judder: 16% @ 12 judders per second [note 2] -- Extra burden: 60 picture interpolations per second.
[note 1] The timebase for DVDs & Blurays (i.e. MPEG2-TS) is 90000tps (ticks per second). When divided by 30fps, the result is 3000tpf (ticks per frame), so forced PTSs step by 3000.
[note 2] [A______+7%_______] is 7% longer than (A_______________), [A______+7%_______][4______-9%_______] is 16% judder with 6 7 6 7 6 cadence.
cinema-to-120fps interpolate-x16 is an alternative to cinema-at-30'fps.
import pictures: (A______________________________________________________________________________________________________________) ...24pps
NOTATION: [24pps__(A)(A A..§..§...§..§..$)=120pps]120fps & 48KHz[x/1.001]48KHz
\ \ \ \ \ \_________________\___ downsample audio by x/1.001 only if pictures are
\ \ \ \___________\___ encode recovered from cinema-at-30'fps (see "About Audio")
\ \______________________\___ interpolate-x16
\___ original pictures or pictures recovered from cinema-at-30'fps
: . . . . . . . . . . . . . . .
interpolate-x16: (A__________________)(8=A..§............$)(5=A.....§.........$_______)(6=A.........§.....$_)(9=A............§..$) ...120pps
encode: [A_______+7%_________][8_______+7%_________][5________-20%________][6________+7%_________][9________+7%_________] ...120fps
Transcode: yes -- PTSs: forced, PTS-of-N = PTS-of-A + N x 750, where 'N' is frame index [note 1] -- Combing: none -- Judder: 27% [note 2] @ 24 judders per second [note 3][note 4] -- Extra burden: 96 picture interpolations per second.
[note 1] The timebase for DVDs & Blurays (i.e. MPEG2-TS) is 90000tps (ticks per second). When divided by 120fps, the result is 750tpf (ticks per frame), so forced PTSs step by 750.
[note 2] [8_______+7%_________] is 7% longer than (8=A..§............$), [8_______+7%_________][5________-20%________] is 27% judder with 3 3 4 3 3 cadence.
[note 3] Judder rates above 17 judders per second are generally considered to be unnoticeable.
[note 4] Due to frame drops when going from 120fps to 60fps, judder on 60Hz TVs increases to 27% @ 12 judders per second but probably will be fairly unnoticeable.