• Nebyly nalezeny žádné výsledky

Compression of Temporal Video Data by Catmull-Rom Spline and Quadratic B´ezier Curve Fitting

N/A
N/A
Protected

Academic year: 2022

Podíl "Compression of Temporal Video Data by Catmull-Rom Spline and Quadratic B´ezier Curve Fitting"

Copied!
24
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

Home Page

Title Page

Contents

JJ II

J I

Page1of24

Go Back

Full Screen

Close

Quit

Compression of Temporal Video Data by Catmull-Rom Spline and Quadratic B´ezier

Curve Fitting

Murtaza Khan and Yoshio Ohno WSCG 2008

January 19, 2008

Ohno Lab

Graduate School of Science & Technology Keio University

(2)

Home Page

Title Page

Contents

JJ II

J I

Page2of24

Go Back

Full Screen

Close

Quit

Contents

? Catmull-Rom Spline

? Quadratic B´ezier Curve

? Approximation of Video Data

? Experiments & Results

? Summary

(3)

Home Page

Title Page

Contents

JJ II

J I

Page3of24

Go Back

Full Screen

Close

Quit

1. Catmull-Rom Spline (CRS)

Catmull-Rom Spline is a C1 continuous curve. Cardinal spline interpolates piecewise cubics for each segment.

A CRS segment is defined by four control points, i.e., Pj−1, Pj, Pj+1 and Pj+2.

The jth segment of Cardinal spline interpolates between two middle control points, i.e., Pj and Pj+1. The end control points, i.e., Pj−1 and Pj+2 are used to calculate the tangent of Pj and Pj+1.

15 20 25 30 35 40

8 10 12 14 16 18 20 22

Cardinal Spline Control Points

(4)

Home Page

Title Page

Contents

JJ II

J I

Page4of24

Go Back

Full Screen

Close

Quit

Catmull-Rom Spline

Qj(ti) =1

2[(−ti3+2ti2ti)Pj−1

+ [3ti35ti2+2]Pj

+ [−3ti3+4ti2+ti]Pj+1 + (−ti3ti2)Pj+2],

(1)

where ti is parameter of interpolation , 0 ≤ti1. In order to generate n points between Pj and Pj+1 inclusive, the parameter ti is divided into (n−1) intervals between 0 and 1 inclusive, and Qj(ti) is evaluated at n values of ti.

(5)

Home Page

Title Page

Contents

JJ II

J I

Page5of24

Go Back

Full Screen

Close

Quit

10 20 30 40 50 60 70

10 15 20 25 30 35 40 45 50

Catmull−Rom Spline Control Points

0

20

40

60

80

10 20 30 40 50

0 10 20 30 40

Catmull−Rom Spline Control Points

(6)

Home Page

Title Page

Contents

JJ II

J I

Page6of24

Go Back

Full Screen

Close

Quit

2. Quadratic B´ezier Curve (QBC)

Quadratic B´ezier curve (QBC) is a C0 continuous curve.

A QBC segment, is defined by three control points, i.e., P0, P1, and P2. P0 and P2are called end control points (ECP), while P1 called a middle control point (MCP).

To generate continuous QBC that interpolate k+1 points k curve segments are used. Equation of a QBC segment can be written as follows:

Q(ti) = (1−ti)2P0+2ti(1−ti)P1+ti2P2, (2) where ti is a parameter of interpolation , 0≤ti1. In order to generate n points between P0 and P2 inclusive, the parameter ti is divided into (n−1) intervals between 0 and 1 inclusive, and Q(ti) is evaluated at n values of ti.

275 280 285 290 295 300 305 310 315 320 325 140

150 160 170 180 190 200

Quadratic Bezier Curve Control Polygon End Control Points Middle Control Point P0

P1

P2

(7)

Home Page

Title Page

Contents

JJ II

J I

Page7of24

Go Back

Full Screen

Close

Quit

3. QBC Least Square Fitting

Middle control point (MCP) i.e., P1 of QBC is obtained by least square method.

Least square method gives the best value of MCP that minimizes the squared distance between the original and the fitted data. If there are m data points in a segment, and Oi and Q(ti) are values of original and approximated points respectively then we can write the least square equation as follows:

U =

m i=1

[OiQ(ti)]2. (3) Substituting the value of Q(ti) from Eq. (2) in Eq. (3) yields:

U =

m i=1

[pi−(1−ti)2P0+2ti(1−ti)P1+ti2P2]2. (4) Differentiating Eq. (4) partially with respect to P1 yields:

U

P1 =0. (5)

Solving Eq. (5) for P1 gives:

P1 = ∑mi=1

pi−(1−ti)2P0ti2P2

ni=12ti(1−ti) . (6)

(8)

Home Page

Title Page

Contents

JJ II

J I

Page8of24

Go Back

Full Screen

Close

Quit

10 20 30 40 50 60 70

10 15 20 25 30 35 40 45

50 Quadratic Bezier Curve

End Control Points Middle Control Points

10 20 30 40 50 60 70

10 20 30 40 50

0 10 20 30 40

Quadratic Bezier Curve End Control Points Middle Control Points

(9)

Home Page

Title Page

Contents

JJ II

J I

Page9of24

Go Back

Full Screen

Close

Quit

4. Video Data Compression

• Prevalent temporal video data compression methods are are called motion estimation (ME) or motion compensation (MC) methods.

• ME algorithms are based on temporal changes in intensities of sequence of frames.

• It is quite possible that there is change in intensities without actual motion e.g., camera movements or illumination conditions changes.

• We developed a method of lossy temporal video data compression using spline fitting.

• Spline based intensity approximation methods are more robust because they work in both situations i.e., changes in intensities with or without actual motion. Whereas conventional motion compensation methods based on block matching are dependent on actual motion of object (block) to find the matching block.

(10)

Home Page

Title Page

Contents

JJ II

J I

Page10of24

Go Back

Full Screen

Close

Quit

Video Data Compression

• Digital video data consists of sequence of frames (images) in temporal di- mension. Each frame consists of rectangle 2D array of pixels.

• Intensity or color values are associated with each pixel.

• Value of a pixel in a frame can be considered as a point in Euclidean space R1 or R3 for intensity and color respectively.

If a video consists of a sequence of M frames then for each pixel we have a set of values {p1,p2, . . . ,pM}, i.e., pj = Ij or pj = (Xj,Yj,Zj) , where 1 ≤ jM. I is intensity and XY Z can be pixel values in RGB, YCbCr or HSV color space.

(11)

Home Page

Title Page

Contents

JJ II

J I

Page11of24

Go Back

Full Screen

Close

Quit

10 20 30 40 50 60 70 80

205 210 215 220 225 230 235 240 245

Red Green Blue

RGB temporal variation of a pixel in 80 frames of a video.

(12)

Home Page

Title Page

Contents

JJ II

J I

Page12of24

Go Back

Full Screen

Close

Quit

5. Fitting Strategy

• Fitting process is applied to temporal data of each pixel individually. We have to approximate the M values of each pixel O={p1,p2, . . . ,pM}(orig- inal data) by spline fitting.

Input: (1) upper limit of error ξlmt, i.e., maximum allowed square distance between original and fitted data, e.g., ξlmt = 100 (2) initial breakpoint in- terval ∆, i.e., pixel after every ∆th frames is taken as an end control point, e.g.,∆=12 then set of initial keypixels K is K ={p1,p13,p25,p37, . . . ,pn}.

• The fitting process divides the data into segments based on keypixels. A segment is set of all points (pixels) between two consecutive keypixels, e.g., S1 ={p1,p2, . . . ,p13}, S2 ={p13,p14, . . . ,p25}.

(13)

Home Page

Title Page

Contents

JJ II

J I

Page13of24

Go Back

Full Screen

Close

Quit

6. Fitting Strategy

• Fitting process is applied to temporal data of each pixel individually. Color or luminance value of a pixel at frame i is pi, where 0 ≤ pi ≤ 255 and 1 ≤ in. We have to approximate the n values of each pixel O = {p1,p2, . . . ,pn} (original data) by spline fitting.

Input: (1) upper limit of error ξlmt, i.e., maximum allowed square dis- tance between original and fitted data, e.g., ξlmt =100 (2) initial keyframe interval ∆, i.e., pixel after every ∆th frames is taken as an end control point of CRS or QBC, e.g., ∆ = 12 then set of initial keypixels K is K ={p1,p13,p25,p37, . . . ,pn}.

• The fitting process divides the data into segments based on keypixels. A segment is set of all points (pixels) between two consecutive keypixels, e.g., S1 ={p1,p2, . . . ,p13}, S2 ={p13,p14, . . . ,p25}.

(14)

Home Page

Title Page

Contents

JJ II

J I

Page14of24

Go Back

Full Screen

Close

Quit

Fitting Strategy

Spline interpolation is performed for each segment and n interpolated val- ues (approximated data) Q ={q1,q2, . . . ,qn} are obtained.

• Then we compute the error, i.e., squared distance between each point of original data and its corresponding point on approximated data di2 = kpiqik2, 1 ≤ in. Among all error values we compute the maximum error ξmax =Max d12,d22, . . . ,dn2

. If ξmax is greater than ξlmt then we add a point (new keyframe) from original data in the set of keyframes where the error is maximum between original and approximated data.

• Due to addition of a new keyframe a segment is split and replaced by two new segments. For example if ξmax = d62 then segment S1 is split and a new keyframe 6 is inserted between keyframes 1 and 13 (K = {1,6,13,25,37, . . . ,n}) and two new segments {p1,p2, . . . ,p6} and {p6,p7, . . . ,p13} replace S1. The fitting process is repeated with new set of keyframes until ξmax is less than or equal to ξlmt for each segment.

(15)

Home Page

Title Page

Contents

JJ II

J I

Page15of24

Go Back

Full Screen

Close

Quit

1 10 20 30 40 50 60 70 80

220 222 224 226 228 230 232 234 236

Original Data Fitted Data Breakpoints

Catmull-Rom spline fitting to luminance values in 80 frames of a video, ξlmt =21, δ =79, PSNR=43.845-dB.

(16)

Home Page

Title Page

Contents

JJ II

J I

Page16of24

Go Back

Full Screen

Close

Quit

1 10 20 30 40 50 60 70 80

220 222 224 226 228 230 232 234 236

Original Data Fitted Data Breakpoints

Quadratic B´ezier curve fitting to luminance values in 80 frames of a video, ξlmt =21, δ =79, PSNR=45.115-dB.

(17)

Home Page

Title Page

Contents

JJ II

J I

Page17of24

Go Back

Full Screen

Close

Quit

7. Experiments and Results

Details of input video sequences.

Video Name Format Number of Bit-rate Frames

Salesman CIF 45 8-bpp

(luminance) 352×288

Foreman SIF 44 8-bpp

(luminance) 352×288

Darius SIF 44 24-bpp

(RGB) 352×288

Performance comparison of TSS, CRS and QBC.

Method Salesman Foreman

Name PSNR Bit-rate PSNR Bit-rate TSS 38.132 1.7768 35.875 2.7509 CRS 38.244 0.8574 35.589 2.0687 QBC 38.291 0.8578 35.812 2.2516

(18)

Home Page

Title Page

Contents

JJ II

J I

Page18of24

Go Back

Full Screen

Close

0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 Quit

31 32 33 34 35 36 37 38 39 40 41

Bit rate (bit/pixel)

PSNR (dB)

Catmull−Rom Spline Quadratic Bezier Curve

Rate-distortion curves of Catmull-Rom spline & Quadratic B´ezier curve, Salesman sequence.

(19)

Home Page

Title Page

Contents

JJ II

J I

Page19of24

Go Back

Full Screen

Close

1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.25 3.5 Quit

26 27.5 29 30.5 32 33.5 35 36.5 38 40

Bit rate (bit/pixel)

PSNR (dB)

Catmull−Rom Spline Quadratic Bezier Curve

Rate-distortion curves of Catmull-Rom spline & Quadratic B´ezier curve, Foreman sequence.

(20)

Home Page

Title Page

Contents

JJ II

J I

Page20of24

Go Back

Full Screen

Close

1 1.5 2 2.5 3 3.5 4 4.5 5 Quit

34 35 36 37 38 39 40 41 42 43

Bit rate (bit/pixel)

PSNR (dB)

Catmull−Rom Spline Quadratic Bezier Curve

Rate-distortion curves of Catmull-Rom spline & Quadratic B´ezier curve, Darius sequence.

(21)

Home Page

Title Page

Contents

JJ II

J I

Page21of24

Go Back

Full Screen

Close

Quit

30th frame of Salesman video sequence, ξlmt =100. Top: CRS approximated frame, 38.68-dB, 0.92991-bpp. Bottom: QBC approximated frame,

39.968-dB, 1.0796-bpp.

(22)

Home Page

Title Page

Contents

JJ II

J I

Page22of24

Go Back

Full Screen

Close

Quit

30th frame of Foreman video sequence, ξlmt =100. Top: CRS approximated frame, 37.591-dB, 2.401-bpp. Bottom: QBC approximated frame, 38.191- dB,

2.7374-bpp.

(23)

Home Page

Title Page

Contents

JJ II

J I

Page23of24

Go Back

Full Screen

Close

Quit

30th frame of Darius video sequence, ξlmt =100. Top: CRS approximated frame, 41.838-dB, 4.4234-bpp. Bottom: QBC approximated frame,

42.272-dB, 4.9813-bpp.

(24)

Home Page

Title Page

Contents

JJ II

J I

Page24of24

Go Back

Full Screen

Close

Quit

8. Conclusion & Future Work

? We presented a method of compression of temporal video data by Catmull- Rom Spline and Quadratic B´ezier Curve Fitting.

? Experimental results show that the proposed method yields very good results both in terms of objective and subjective quality measurement parameters, i.e.

bit-rate/PSNR and human visual acceptance, without causing any blocking ar- tifacts..

? Compression of spatial video data by spline/curve fitting is under investiga- tion.

THANKING YOU

Odkazy

Související dokumenty

Keywords: Video-based position estimation, automatic laser adjustment, compensation of positioning tolerances, precise welding, robust fitting, contour point

The trajectory and the true object appearance are be used in temporal resolution problem to create articial, more detailed, frames or in another words slow motion video of the

Methods based on so-called Maximum Likehood Estimation (MLE) are being tested, such as Multipath Estimation Delay Lock Loop (MEDLL), Fast Iterative

CVaR Q-learning: Using methods of recursive VaR-CVaR estimation, we for- mulate a Temporal Difference update equation, based on the improved CVaR Value Iteration, that finds the

• The temporal sub-problem consists of deciding when machines should carry out motion, drilling, level- ing and de-leveling operations, subject to temporal constraints arising

There are different methods for the estimation of the maternal component, including the ICA or PCA methods. The initial tests published in [RK3] and [RK9] investigated the efficacy

The general financial data are presented in the fourth chapter and the basic methods of financial analysis are firstly applied, i.e.. horizontal and vertical common-size

Regression analysis methods are often used in data mining, gaining popularity thanks to easily comprehensible results and the high-level nature of the algorithms.. The goal of such