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.
S(x) = a[3]*x^3 + a[2]*x^2 + a[1]*x + a[0] for x in [0,1]
S[y0;y1](x) = S[y1;y0](1-x)
S(x) = w0(x) * y0 + w1(x) * y1
y0 = S(0) = w0(0) * y0 + w1(0) * y1 => w0(0)=1, w1(0)=0 y1 = S(1) = w0(1) * y0 + w1(1) * y1 => w0(1)=0, w1(1)=1
w0(x)+w1(x)=1
S(x) = w0(1-x) * y1 + w1(1-x) * y0
w1(x) = w0(1-x) w0(x) = w1(1-x)
w1(x) = w0(1-x) -> w0[-x]
> eqn:={a0=y0, a3+a2+a1+a0=y1, 2*a2=0,6*a3+2*a2=0};
> solve(eqn,{a0,a1,a2,a3}); {a0 = y0, a2 = 0, a3 = 0, a1 = -y0 + y1}
> a0s:=y0; a1s:=-y0+y1; a2s:=0; a3s:=0; > S:=a3s*x^3 + a2s*x^2 + a1s*x + a0s; S:= (-y0 + y1) x + y0 > w0:=coeff(S,y0); w1:=coeff(S,y1); w0 := -x + 1 w1 := x
y[1](-k/2+1) = y0 y[1](-k/2+2) = y1 y[2](-k/2+2) = y1 ... y[k-2](k/2-1) = y(k-2) y[k-2](k/2-1) = y(k-2) y[k-1](k/2) = y(k-1)
Y_I(x) = g3*x^3 + g2*x^2 + g1*x + g0, for x in [-3,-2] Y_I(x) = f3*x^3 + f2*x^2 + f1*x + f0, for x in [-2,-1] Y_I(x) = e3*x^3 + e2*x^2 + e1*x + e0, for x in [-1,0] Y_I(x) = a3*x^3 + a2*x^2 + a1*x + a0, for x in [0,1] Y_I(x) = b3*x^3 + b2*x^2 + b1*x + b0, for x in [1,2] Y_I(x) = c3*x^3 + c2*x^2 + c1*x + c0, for x in [2,3] Y_I(x) = d3*x^3 + d2*x^2 + d1*x + d0, for x in [3,4]
> eqn:={ > y0 = -27*g3 + 9*g2 - 3*g1 + g0, > y1 = -8*g3 + 4*g2 - 2*g1 + g0, > y1 = -8*f3 + 4*f2 - 2*f1 + f0, > y2 = -f3 + f2 - f1 + f0, > y2 = -e3 + e2 - e1 + e0, > y3 = e0, > y3 = a0, > y4 = a3 + a2 + a1 + a0, > y4 = b3 + b2 + b1 + b0, > y5 = 8*b3 + 4*b2 + 2*b1 + b0, > y5 = 8*c3 + 4*c2 + 2*c1 + c0, > y6 = 27*c3 + 9*c2 + 3*c1 + c0, > y6 = 27*d3 + 9*d2 + 3*d1 + d0, > y7 = 64*d3 + 16*d2 + 4*d1 + d0, > 12*g3 - 4*g2 + g1 = 12*f3 - 4*f2 + f1, > 3*f3 - 2*f2 + f1 = 3*e3 - 2*e2 + e1, > e1 = a1, > 3*a3 + 2*a2 + a1 = 3*b3 + 2*b2 + b1, > 12*b3 + 4*b2 + b1 = 12*c3 + 4*c2 + c1, > 27*c3 + 6*c2 + c1 = 27*d3 + 6*d2 + d1, > -12*g3 + 2*g2 = -12*f3 + 2*f2, > -6*f3 + 2*f2 = -6*e3 + 2*e2, > 2*e2 = 2*a2, > 6*a3 + 2*a2 = 6*b3 + 2*b2, > 12*b3 + 2*b2 = 12*c3 + 2*c2, > 18*c3 + 2*c2 = 18*d3 + 2*d2, > -18*g3 + 2*g2 = 0, > 24*d3 + 2*d2 = 0};
> solution:=solve(eqn,{a0,a1,a2,a3,b0,b1,b2,b3,c0,c1,c2,c3,d0,d1,d2,d3,e0,e1,e2,e3,f0,f1,f2,f3,g0,g1,g2,g3}); > a0s:=subs(solution, a0); a1s:=subs(solution, a1); a2s:=subs(solution, a2); a3s:=subs(solution, a3); a0s := y3 2340 156 624 26 97 582 a1s := ---- y4 + ---- y6 - ---- y5 - ---- y7 - ---- y0 + ---- y1 2911 2911 2911 2911 2911 2911 2328 - ---- y2 - 3/2911 y3 2911 4050 270 1080 45 168 1008 a2s := ---- y4 + ---- y6 - ---- y5 - ---- y7 + ---- y0 - ---- y1 2911 2911 2911 2911 2911 2911 4032 6387 + ---- y2 - ---- y3 2911 2911 49 24 a3s := - -- y4 - 6/41 y6 + -- y5 + 1/41 y7 - 1/41 y0 + 6/41 y1 41 41 24 49 - -- y2 + -- y3 41 41 > w:= a3s*x^3 + a2s*x^2 + a1s*x + a0s; / 49 24 w := |- -- y4 - 6/41 y6 + -- y5 + 1/41 y7 - 1/41 y0 + 6/41 y1 \ 41 41 24 49 \ 3 /4050 270 1080 45 - -- y2 + -- y3| x + |---- y4 + ---- y6 - ---- y5 - ---- y7 41 41 / 2911円 2911 2911 2911 168 1008 4032 6387 \ 2 /2340 + ---- y0 - ---- y1 + ---- y2 - ---- y3| x + |---- y4 2911 2911 2911 2911 / 2911円 156 624 26 97 582 2328 + ---- y6 - ---- y5 - ---- y7 - ---- y0 + ---- y1 - ---- y2 2911 2911 2911 2911 2911 2911 \ - 3/2911 y3| x + y3 / > w0:=coeff(w,y0); w1:=coeff(w,y1); w2:=coeff(w,y2); w3:=coeff(w,y3); 3 168 2 97 w0 := - 1/41 x + ---- x - ---- x 2911 2911 3 1008 2 582 w1 := 6/41 x - ---- x + ---- x 2911 2911 24 3 4032 2 2328 w2 := - -- x + ---- x - ---- x 41 2911 2911 49 3 6387 2 w3 := -- x - ---- x - 3/2911 x + 1 41 2911 > w4:=coeff(w,y4); w5:=coeff(w,y5); w6:=coeff(w,y6); w7:=coeff(w,y7); 49 3 4050 2 2340 w4 := - -- x + ---- x + ---- x 41 2911 2911 24 3 1080 2 624 w5 := -- x - ---- x - ---- x 41 2911 2911 3 270 2 156 w6 := - 6/41 x + ---- x + ---- x 2911 2911 3 45 2 26 w7 := 1/41 x - ---- x - ---- x 2911 2911 > w0+w1+w2+w3+w4+w5+w6+w7; 1
From madshi:Great! yesgrey3 earlier reported that "Akima" splines may be interesting. I haven't been able to turn that documentation into a coefficient set that I could use for my resampling filters...
|
|